From 9768a931ab3e7ab6a0eddeb755c8e73ffce5075b Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Mon, 17 Feb 2025 17:26:50 +0000 Subject: [PATCH 01/23] #3087 - TAP001/003 Added - **No tests or notebooks migrated** --- .../game/agent/scripted_agents/TAP001.py | 1081 +++++++++++++++++ .../game/agent/scripted_agents/TAP003.py | 461 +++++++ .../game/agent/scripted_agents/__init__.py | 19 +- .../agent/scripted_agents/abstract_tap.py | 305 ++++- 4 files changed, 1832 insertions(+), 34 deletions(-) create mode 100644 src/primaite/game/agent/scripted_agents/TAP001.py create mode 100644 src/primaite/game/agent/scripted_agents/TAP003.py diff --git a/src/primaite/game/agent/scripted_agents/TAP001.py b/src/primaite/game/agent/scripted_agents/TAP001.py new file mode 100644 index 00000000..d6634c8a --- /dev/null +++ b/src/primaite/game/agent/scripted_agents/TAP001.py @@ -0,0 +1,1081 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK + +import random +from enum import Enum, IntEnum +from typing import Dict, List, Literal, Optional, Tuple, Type, Union + +from gymnasium.core import ObsType +from prettytable import MARKDOWN, PrettyTable +from pydantic import Field, PositiveInt + +from primaite.game.agent.interface import RequestResponse +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.utils.validation.ip_protocol import IPProtocol, PROTOCOL_LOOKUP +from primaite.utils.validation.ipv4_address import IPV4Address, StrIP +from primaite.utils.validation.port import Port, PORT_LOOKUP + + +class MobileMalwareKillChainOptions(KillChainOptions): + """Model Validation for the TAP001's implementation of the mobile malware kill chain.""" + + class _ActivateOptions(KillChainStageOptions): + pass + + class _PropagateOptions(KillChainStageOptions): + scan_attempts: PositiveInt = 1 + """The amount of scan actions the tap001 is permitted to take until the PROPAGATE stage is considered failed.""" + repeat_scan: bool = False + """Optional boolean flag to control repeat scan behaviour after an the initial scan.""" + network_addresses: List[str] + """An ordered list which contains the network addresses for the propagate step to follow. + + At current, Agents have no way of probing the simulation for routing information (Such as traceroute) + + Therefore, to propagate through the an network, a list of each network address must be + be provided to the TAP001 agent. The TAP001 agent will scan each address in + the sequential order. + """ + + class _CommandAndControlOptions(KillChainStageOptions): + keep_alive_frequency: PositiveInt = 5 + """The frequency of ``keep_alives`` that the C2 Beacon will be configured to use.""" + masquerade_port: Port = 80 + """The port that the C2 Beacon will be configured to use.""" + masquerade_protocol: IPProtocol = "tcp" + """The protocol that the C2 Beacon will be configured to use.""" + c2_server_name: str = "" + """The hostname of the C2_Server that the C2 Beacon is intended to use.""" + c2_server_ip: StrIP + + class _PayloadOptions(KillChainStageOptions): + payload: Optional[str] = "ENCRYPT" + """The query used on payload kill chain step. Defaults to Encrypt.""" + exfiltrate: bool = True + """Boolean which indicates if TAP001 should exfiltrate the target database.db file.""" + corrupt: bool = True + """Boolean which indicates if TAP001 should launch the RansomwareScript.""" + exfiltration_folder_name: Optional[str] = None + """The folder used to store the database.db file after successful exfiltration.""" + target_username: str = "admin" + """The username used to login into a target node in order to perform file exfiltration.""" + target_password: str = "admin" + """The password used to login into a target node in order to perform file exfiltration.""" + continue_on_failed_exfil: bool = True + """Whether TAP001 should continue to encrypt if the exfiltration fails.""" + + ACTIVATE: _ActivateOptions = Field(default_factory=lambda: MobileMalwareKillChainOptions._ActivateOptions()) + PROPAGATE: _PropagateOptions = Field(default_factory=lambda: MobileMalwareKillChainOptions._PropagateOptions()) + COMMAND_AND_CONTROL: _CommandAndControlOptions = Field( + default_factory=lambda: MobileMalwareKillChainOptions._CommandAndControlOptions() + ) + PAYLOAD: _PayloadOptions = Field(default_factory=lambda: MobileMalwareKillChainOptions._PayloadOptions()) + + +class MobileMalwareKillChain(IntEnum): + """ + Enumeration representing different attack stages of the mobile malware kill chain. + + This enumeration defines the various stages in the mobile malware kill chain + can be in during its lifecycle in the simulation. + Each stage represents a specific phase in the attack process. + """ + + DOWNLOAD = 1 + "Malware is downloaded onto the tap001's starting client." + INSTALL = 2 + "The malware is activated which initiates it's malicious functions." + ACTIVATE = 3 + "The malware installs itself onto the terminal, attempting to gain persistence." + PROPAGATE = 4 + "The malware attempts to spread to other systems or networks, looking for vulnerable services." + COMMAND_AND_CONTROL = 5 + "The malware establishes a connection to an external command and control server." + PAYLOAD = 6 + "The malware performs its intended malicious activities, dependent on payload." + + # These Enums must be included in all kill chains. + # Due to limitations in Python and Enums, it is not possible to inherit these Enums from an base class. + + NOT_STARTED = 100 + "Indicates that the Kill Chain has not started." + SUCCEEDED = 200 + "Indicates that the kill chain has succeeded." + FAILED = 300 + "Indicates that the attack has failed." + + def initial_stage(self) -> "MobileMalwareKillChain": + """Returns the first stage in the kill chain. Used by Abstract TAP for TAP Agent Setup.""" + return self.DOWNLOAD + + +class PortStatus(Enum): + """ + Enumeration which represent TAP001's "Knowledge" of a port in the simulation. + + Used to by the Propagate kill chain stage to track the current understanding of the + simulation by the TAP001 agent. + + Additionally, also used to define failure and success clauses. + """ + + UNKNOWN = 0 + "Indicates that the status of the port is unknown." + OPEN = 1 + "Indicates that the port is open in the simulation." + CLOSED = 2 + "Indicates that the port is closed in the simulation." + + +class TAP001(AbstractTAP, discriminator="tap-001"): + """ + TAP001 | Mobile Malware -- Ransomware Variant. + + Currently, implements the ransomware variant Mobile Malware kill chain. + + This Threat Actor Profile (TAP) represents ransomware. + After gaining access to a host, the ransomware scans the + network to find the target database and then corrupts it. + + At current, TAP001's final stage (corruption) is limited to + database servers. + + Please see the TAP001-Kill-Chain-E2E.ipynb for more information. + """ + + class AgentSettingsSchema(AbstractTAP.AgentSettingsSchema): + """TODO.""" + + target_ips: Optional[List[StrIP]] = [] + default_target_ip: StrIP + kill_chain: MobileMalwareKillChainOptions # = Field(default_factory=lambda: MobileMalwareKillChainOptions()) + + class ConfigSchema(AbstractTAP.ConfigSchema): + """Config Schema for the TAP001 agent.""" + + type: Literal["tap-001"] = "tap-001" + agent_settings: "TAP001.AgentSettingsSchema" = Field(default_factory=lambda: TAP001.AgentSettingsSchema()) + + config: ConfigSchema # = Field(default_factory=lambda: TAP001.ConfigSchema()) + + selected_kill_chain: Type[MobileMalwareKillChain] = MobileMalwareKillChain + + last_scan_timestep: list[int] = [] + "Timesteps when the agent has performed scans. Used for reading agent action history" + last_scan_type: Optional[Literal["Ping", "Port"]] = None + "The type of scan that was previously performed." + scans_complete: int = 0 + "Number of scans completed" + networks_scanned: int = 0 + "Number of subnets that have been scanned" + permitted_attempts: int = 10 + "The permitted amount of scans allowed before the scan is considered to have failed" + c2_settings: dict = {} + "Dictionary containing all C2 stage relevant user settings." + payload_settings: dict = {} + "Dictionary containing all Payload stage relevant internal and user settings." + + chosen_application: str = "" + """The name of the agent's currently chosen application.""" + target_ip: Optional[IPV4Address] = None # TODO: make it not optional? + """The name (string) of TAP agent's target node. This attribute is initialised via _select_target_node.""" + + network_knowledge: Dict = {} + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.setup_agent() + + def _progress_kill_chain(self) -> None: + """Private Method used to progress the kill chain to the next stage.""" + if self.next_kill_chain_stage == MobileMalwareKillChain.PAYLOAD: # Covering final stage edge case. + self.current_kill_chain_stage = self.selected_kill_chain(self.current_kill_chain_stage + 1) + self.next_kill_chain_stage = self.selected_kill_chain.SUCCEEDED + else: + # Otherwise, set the current stage to the previous next and increment the next kill chain stage. + self.current_kill_chain_stage = self.next_kill_chain_stage + + if self.current_kill_chain_stage == self.selected_kill_chain.SUCCEEDED: + self.next_kill_chain_stage = self.selected_kill_chain.NOT_STARTED + else: + self.next_kill_chain_stage = self.selected_kill_chain(self.current_kill_chain_stage + 1) + + self.current_stage_progress = KillChainStageProgress.PENDING + + def setup_agent(self) -> None: + """Responsible for agent setup upon episode reset. + + Explicitly this method performs the following: + 1. Loads the inherited attribute 'selected_kill_chain' with the MobileMalwareKillChain + 2. Selects the starting node frm the given user TAP settings. + 3. Selects the target node frm the given user TAP settings. + 4. Sets the next execution timestep to the given user tap settings - The starting step. + 5. Sets the TAP's current host as the selected starting node. + 6. instantiates the required class attributes for performing the PROPAGATE step. + """ + # TAP Boilerplate Setup + self._setup_agent_kill_chain(MobileMalwareKillChain) + + # TAP001 Specific Setup + self._select_start_node() + self._select_target_ip() + self._set_next_execution_timestep(self.config.agent_settings.start_step) + self.current_host = self.starting_node + + # The permitted amount of scans allowed before the scan is considered to have failed. + self.permitted_attempts = self.config.agent_settings.kill_chain.PROPAGATE.scan_attempts + + # The current simulation knowledge. + self.network_knowledge: Dict = { + "target_found": False, # Used for the propagate step + # Using Enums rather than close open Set + # _scan_failure_handler clauses will assume that a target does not have a open port an action too early + # If we use "target_port" = False as the default value. + # As we need to perform to a Port Scan Before a target_port can be confirmed as either open or closed. + "target_port": PortStatus.UNKNOWN, + "target_ip": self.target_ip, + "next_scan_target": self.config.agent_settings.kill_chain.PROPAGATE.network_addresses[0], # Local Subnet + "live_hosts": {}, # Previous scan action results. + } + + # User supplied and internal C2 settings + self.c2_settings: Dict = { + "c2_server": self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.c2_server_name, + "c2_server_ip_address": self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.c2_server_ip, + "keep_alive_frequency": self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.keep_alive_frequency, + "masquerade_protocol": self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.masquerade_protocol, + "masquerade_port": self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.masquerade_port, + "beacon_configured": False, + } + # User supplied and internal Payload Stage Settings + self.payload_settings: Dict = { + "target_file_name": "database.db", + "target_folder_name": "database", + "exfiltration_folder_name": self.config.agent_settings.kill_chain.PAYLOAD.exfiltration_folder_name, + "target_ip_address": self.target_ip, + "target_username": self.config.agent_settings.kill_chain.PAYLOAD.target_username, + "target_password": self.config.agent_settings.kill_chain.PAYLOAD.target_password, + "corrupt": self.config.agent_settings.kill_chain.PAYLOAD.corrupt, + "exfiltrate": self.config.agent_settings.kill_chain.PAYLOAD.exfiltrate, + "continue_on_failed_exfil": self.config.agent_settings.kill_chain.PAYLOAD.continue_on_failed_exfil, + } + + def get_action(self, obs: ObsType, timestep: int) -> Tuple[str, Dict]: + """Follows the TAP001's Mobile Malware Kill Chain. + + Calls the next TAP001 Action Stage. Uses private methods to schedule kill chain stages. + See TAP001-Kill-Chain-E2E.ipynb for further information on the TAP001 agent. + + :param obs: Current observation for this agent. + :type obs: ObsType + :param timestep: The current simulation timestep, used for scheduling actions + :type timestep: int + :return: Action formatted in CAOS format + :rtype: Tuple[str, Dict] + """ + if timestep < self.next_execution_timestep or self.actions_concluded: + return "do-nothing", {} # bypasses self.chosen_action + + # self.current_timestep is currently the previous execution timestep + # So it can be used to index action history. + if not self._tap_return_handler(self.current_timestep): + # Propagate kill chain stage handles simulation failure independently. + # See _scan_setup_handler for more information. + if self.current_kill_chain_stage == MobileMalwareKillChain.PROPAGATE: + pass + elif ( + (self.current_kill_chain_stage == MobileMalwareKillChain.PAYLOAD) + and (self.current_stage_progress == KillChainStageProgress.IN_PROGRESS) + and (self.payload_settings["continue_on_failed_exfil"]) + ): + pass + else: + # Repeating the previously chosen action if the last action was unsuccessful. + self._set_next_execution_timestep(timestep + self.config.agent_settings.frequency) + self._tap_outcome_handler(MobileMalwareKillChain) + self.update_current_timestep(new_timestep=timestep) + self._set_next_execution_timestep(timestep + self.config.agent_settings.frequency) + return self.chosen_action + + self.update_current_timestep(new_timestep=timestep) + self._set_next_execution_timestep( + timestep + self.config.agent_settings.frequency + ) # Sets the next execution step. + + self._tap_outcome_handler(MobileMalwareKillChain) # Handles successes and failures + + # The kill chain is called in reverse order + # The kill chain sequence must be called in reverse order to ensure proper execution. + # Otherwise the guard clauses within these methods that check for the correct kill chain stage + # Will no longer function as intended and lead to multiple methods overwriting self.chosen_action + + self._payload() # Final kill chain stage + self._c2c() + self._propagate() + self._activate() + self._install() + self._download() + self._tap_start(MobileMalwareKillChain) # First kill chain stage + + return self.chosen_action + + def _download(self) -> None: + """Mobile Malware | Download Stage. + + First stage in the Mobile Malware Kill Chain. + Requires Two CAOS actions before progressing to the next kill chain stage. + + Performs the each action in the following order: + - Creates a folder called "downloads" via node-folder-create + - Creates a "malware_dropper.ps1" file via node-folder-create + + OBS Impact: + STARTING_HOST:FOLDERS:FOLDER:* + STARTING_HOST:FOLDERS:FOLDER:FILES:FILE:* + STARTING_HOST:num_file_creations + STARTING_HOST:num_file_deletions + """ + if self.current_kill_chain_stage == self.selected_kill_chain.DOWNLOAD: # No Probability on Download + # Execution flow _download kill chain stage + if self.current_stage_progress == KillChainStageProgress.PENDING: + self.current_host = self.starting_node + self.logger.info(f"TAP001 reached the {self.current_kill_chain_stage.name} stage") + self.logger.info( + f"The malware dropper is attempting to download onto {self.current_host}'s downloads folder!" + ) + self.chosen_action = "node-folder-create", { + "node_name": self.current_host, + "folder_name": "downloads", + } + self.current_stage_progress = KillChainStageProgress.IN_PROGRESS + # Execution flow for the second execution + elif self.current_stage_progress == KillChainStageProgress.IN_PROGRESS: + self.logger.info(f"The malware has entered {self.current_host}'s downloads folder!") + self.chosen_action = "node-file-create", { + "node_name": self.current_host, + "folder_name": "downloads", + "file_name": "malware_dropper.ps1", + "force": True, + } + self.current_stage_progress = KillChainStageProgress.FINISHED + # Progresses the kill chain after the second execution. + if self.current_stage_progress == KillChainStageProgress.FINISHED: + self._progress_kill_chain() + + def _install(self) -> None: + """Mobile Malware | Install Stage. + + Second stage in the Mobile Malware Kill Chain. + Accesses the previously created file "malware_dropper.ps1" via node-file-access + + Observation Space Impact(s): + + STARTING_HOST:FOLDERS:FOLDER:FILES:FILE:NUM_FILE_ACCESS + """ + if self.current_kill_chain_stage == self.selected_kill_chain.INSTALL: # No Probability on Install + self.logger.info(f"TAP001 reached the {self.current_kill_chain_stage.name} stage.") + self.logger.info(f"The malware is attempting to gain persistence on {self.target_ip}.") + self.current_host = self.starting_node + self.chosen_action = "node-file-access", { + "node_name": self.current_host, + "folder_name": "downloads", + "file_name": "malware_dropper.ps1", + } + # This stage only takes one action so there is no need for self.current_stage_progress + self._progress_kill_chain() + + def _activate(self) -> None: + """Mobile Malware | Activate Stage. + + First stage in the Mobile Malware Kill Chain. + Requires One CAOS action before progressing to the next kill chain stage. + + Installs RansomwareScript via node-application-install + + Observation Space Impact(s): + + STARTING_HOST:APPLICATIONS:APPLICATION:* + """ + if self.current_kill_chain_stage == self.selected_kill_chain.ACTIVATE: # No Probability on Activate + # Upon stage entry perform the following: + self.logger.info(f"TAP001 {self.config.ref} has reached the {self.current_kill_chain_stage.name} stage") + # Select the starting host + self.current_host = self.starting_node + + # Selecting the ransomware-script as the next application to install + self.chosen_application = "ransomware-script" + + self.current_stage_progress = KillChainStageProgress.FINISHED + + self.logger.info(f"Attempting to install {self.chosen_application} on {self.starting_node}") + + self.chosen_action = "node-application-install", { + "node_name": self.current_host, + "application_name": self.chosen_application, + } + self._progress_kill_chain() + + def _propagate(self) -> None: + """Mobile Malware | Propagate Stage. + + Fourth stage in the Insider kill chain. + Performs a trial using the given user PROPAGATE stage probability. + + This stage requires dynamic interaction within the simulation + and thus the amount of steps required to progress the stage + is dependent on the TAP's chosen target and starting node. + + Port Scan Action(s): + node-nmap-port-scan + node-nmap-ping-scan + node-network-service-recon + + Observation Space Impact(s): + + *:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* + STARTING_HOST:APPLICATIONS:APPLICATION:OPERATING_STATUS:operating_status + """ + if self.current_kill_chain_stage == self.selected_kill_chain.PROPAGATE: + # If the _propagate stage is already in progress: Continue. + if self.current_stage_progress == KillChainStageProgress.IN_PROGRESS: + self.current_stage_progress = self._scan_handler() + if self.current_stage_progress == KillChainStageProgress.FINISHED: + self._progress_kill_chain() + # Otherwise: Trial propagate stage probability and start the scan. + else: + if self._agent_trial_handler(self.config.agent_settings.kill_chain.PROPAGATE.probability): + if self.current_stage_progress == KillChainStageProgress.PENDING: + self.logger.info(f"TAP001 reached the {self.current_kill_chain_stage.name} stage") + self.current_host = self.starting_node + # Resets Propagate relevant attributes + # Prevents repeating kill chains from starting propagate with extra knowledge. + self._propagate_reset() + self.logger.info(f"Attempting to scan the network in order to locate {self.target_ip}!") + + self.chosen_action = "node-nmap-ping-scan", { + "source_node": self.current_host, + "target_ip_address": self.network_knowledge.get("next_scan_target"), + "show": False, + } + + self.scans_complete = 1 # Setting the scan count to one. + self.last_scan_timestep.append(self.current_timestep) # Appending the last_scan_timestep + self.last_scan_type = "Ping" # Setting the last_scan_type to Ping + self.current_stage_progress = KillChainStageProgress.IN_PROGRESS + else: + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + self.chosen_action = "do-nothing", {} + + def _c2c(self) -> None: + """Mobile Malware | Command and Control Stage. + + Fourth stage in the Insider kill chain. + The current implementation installs, configures and setups the C2 Suite via + the following CAOS actions which are this method calls in the order below: + + 1. Installs the C2 Beacon on the starting node. ``node-application-install`` + 2. Configures the C2 Beacon to the C2 Server using given TAP settings. ``configure-c2-beacon`` + 3. Establishes connection. ``node-application-execute```. + + For a in-depth explanation of the C2 Suite please refer to the ``C2-E2E-notebook``. + + Observation Space Impact(s): + STARTING_HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* + STARTING_HOST:APPLICATIONS:APPLICATION:OPERATING_STATUS:operating_status + """ + if self.current_kill_chain_stage == self.selected_kill_chain.COMMAND_AND_CONTROL: + self.chosen_application = "c2-beacon" + # Execution flow for the Command and Control stage: + if self.current_stage_progress == KillChainStageProgress.PENDING: + # Performing a probability check on the first C2 action. Similar to Propagate. This is performed once. + if self._agent_trial_handler(self.config.agent_settings.kill_chain.COMMAND_AND_CONTROL.probability): + self.logger.info(f"TAP001 reached the {self.current_kill_chain_stage.name} stage.") + self.logger.info("Attempting to install C2 Beacon on starting host.") + self.chosen_action = "node-application-install", { + "node_name": self.current_host, + "application_name": self.chosen_application, + } + self.current_stage_progress = KillChainStageProgress.IN_PROGRESS + self.c2_settings.update({"beacon_installed": False}) # For repeat kill chains. + else: + self.chosen_action = "do-nothing", {} + if not self.config.agent_settings.repeat_kill_chain_stages: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + + elif self.current_stage_progress == KillChainStageProgress.IN_PROGRESS: + if self.c2_settings.get("beacon_configured") == False: + self.logger.info("Attempting to configure C2 Beacon.") + + config = { + "c2_server_ip_address": self.c2_settings.get("c2_server_ip_address"), + "keep_alive_frequency": self.c2_settings.get("keep_alive_frequency"), + "masquerade_port": self.c2_settings.get("masquerade_port"), + "masquerade_protocol": self.c2_settings.get("masquerade_protocol"), + } + + self.chosen_action = "configure-c2-beacon", {"node_name": self.current_host, **config} + # Triggers the below else statement upon re-entering this method + self.c2_settings.update({"beacon_configured": True}) + else: + self.logger.info("Attempting to connect C2 Beacon to C2 Server.") + self.chosen_action = "node-application-execute", { + "node_name": self.current_host, + "application_name": self.chosen_application, + } + + self._progress_kill_chain() + + def _payload(self) -> None: + """Mobile Malware | Payload Stage. + + Fifth and final stage in the Mobile Malware Kill Chain. + Requires a single CAOS action before progressing to the next kill chain stage. + + Performs c2-server-ransomware-launch CAOS Action. + This causes the ransomware to send a malicious payload to the target + database to which causes database.db file to enter into a corrupted state. + + Observation Space Impact(s): + + TARGET_HOST:FOLDERS:FOLDER:FILES:FILE:* + STARTING_HOST:APPLICATIONS:APPLICATION:OPERATING_STATUS + """ + if self.current_kill_chain_stage == self.selected_kill_chain.PAYLOAD: + if self.current_stage_progress == KillChainStageProgress.IN_PROGRESS: + self.current_stage_progress = self._payload_handler() + + # Performing a probability trial on payload. + if self.current_stage_progress == KillChainStageProgress.PENDING: + if self._agent_trial_handler(self.config.agent_settings.kill_chain.PAYLOAD.probability): + self.logger.info(f"TAP001 reached the {self.current_kill_chain_stage.name} stage.") + self.current_host = self.c2_settings["c2_server"] + self.chosen_action = "c2-server-ransomware-configure", { + "node_name": self.current_host, + "server_ip_address": self.target_ip, + "payload": "ENCRYPT", + } + self.current_stage_progress = KillChainStageProgress.IN_PROGRESS + else: + self.chosen_action = "do-nothing", {} + if not self.config.agent_settings.repeat_kill_chain_stages: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + + if self.current_stage_progress == KillChainStageProgress.FINISHED: + self._progress_kill_chain() + + def _payload_handler(self) -> KillChainStageProgress: + """Private method which handles the payload kill chain stage. + + This method is responsible for setting the chosen_action attribute + to either encrypt, exfiltrate the target's database.db file dependent + on user given settings. + + Returns ``KillChainStageProgress.FINISHED`` if all actions have been completed + or ``KillChainStageProgress.IN_PROGRESS`` if further actions are required + to complete this stage. + + :rtype: KillChainStageProgress + """ + if self.payload_settings["exfiltrate"] == True: + self.chosen_action = "c2-server-data-exfiltrate", { + "node_name": self.current_host, + "target_file_name": self.payload_settings.get("target_file_name"), + "target_folder_name": self.payload_settings.get("target_folder_name"), + "exfiltration_folder_name": self.payload_settings.get("exfiltration_folder_name"), + "target_ip_address": self.payload_settings.get("target_ip_address"), + "username": self.payload_settings.get("target_username"), + "password": self.payload_settings.get("target_password"), + } + self.payload_settings.update({"exfiltrate": False}) + + if self.payload_settings["corrupt"]: + return KillChainStageProgress.IN_PROGRESS + + elif self.payload_settings["corrupt"]: + self.chosen_action = "c2-server-ransomware-launch", {"node_name": self.current_host} + self.payload_settings.update({"corrupt": False}) + + return KillChainStageProgress.FINISHED + + def _scan_handler(self) -> KillChainStageProgress: + """Private method which handles the propagate kill chain stage. + + This method handles the agent action response + + Returns the current KillChainStageProgress of the scan. + If this method returns .IN_PROGRESS then the method is called on the next timestep. + + If this method returns .FINISHED then the kill chain stage is progressed. + Refer to the _propagate method for further information regarding execution flow. + + :rtype: KillChainStageProgress. + """ + # Retrieving the previous scan action's results. + previous_scan_response = self._scan_setup_handler() + + # If the previous scan was unsuccessful we need to repeat the previous scan. + # So we can skip the scan action response handler + if previous_scan_response.status == "success": + # Setting scan_results as the previous scan action's .data attribute + scan_results = previous_scan_response.data + + # Updating self.network_knowledge with the previous scan. + self._scan_action_response_handler(scan_results) + + # Before continuing, checking for edge case errors. + if self._scan_failure_handler(): + # self.chosen_action would be the previous scan at this point + # Setting self.chosen action to do nothing in order to prevent TAP001 from performing + # from performing another despite having failed the kill chain. + self.chosen_action = "do-nothing", {} + self.logger.info(f"Thus TAP001 {self.config.ref} has failed the {self.current_kill_chain_stage.name}") + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + else: + self.logger.info(f"TAP001 has opted to reattempt the {self.current_kill_chain_stage.name} stage!") + # breaking out of _scan_handler early & resetting the PROPAGATE stage. + return KillChainStageProgress.PENDING + + # Setting the Next Scan Type. + next_scan_type = self._scan_logic_handler() + self._scan_action_handler(next_scan_type) + + # Final Clause - Returns either IN_PROGRESS or FINISHED. + return self._scan_progress_handler() + + def _scan_logic_handler(self) -> str: + """TAP001's private method responsible for controlling execution flow within the _scan_handler() method. + + This method is decides the next scan action to be taken by the TAP Agent dependent on the self.network_knowledge + attribute. The self.network_knowledge attribute is updated dynamically via _scan_action_response_handler() + + This method is carries out the following logic: + + 1. If the target is found; Port scan the target host. + + This to confirm that a valid target is present on the target host + before moving onto the next stage. + + 2. If the current network has not yet been Recon Scanned; Recon Scan all live hosts. + + If the current network has live hosts yet no protocol/port information has been identified, + then we need to perform a recon scan. + + 3. If the current network has been Recon Scanned; Ping Scan the next network address. + + If the current network has no currently identified live_hosts, then we must ping scan + the provided network address in order to locate some hosts to recon-scan. + + Additionally, if we have reached this clause without being caught by a previous statement then we can + move onto the next network address. + + Otherwise, If you reach the final else clause then a logic failure + has occurred somewhere before reaching this function. + + This logic is repeated until a valid target is found. + + rtype: str + """ + # If the target is found, then we only need to Port Scan the network to reach an exit condition. + # Intuitively doesn't make sense to perform another scan after the target has already been scanned, + # However, In the real world, you would perform an more aggressive scan (Port in this case) + # To identify other potential vulnerabilities on the target. + if self.network_knowledge.get("target_found") == True: + return "Port" + + # This assumes that NMAP's action response stays consistent. + if self.last_scan_type == "Ping": + # If we know that their are no suitable targets in the last_results + # then we scan skip Recon and Return Ping instead. + if self.network_knowledge.get("live_hosts") == []: + self.logger.info( + "As we didn't find any suitable hosts from the last scan - we have no need to perform a recon_scan." + ) + return "Ping" + else: + return "Recon" + + # Then the next network address needs to be scanned. + elif self.last_scan_type == "Recon": + return "Ping" + + # If we haven't caught a condition at this point then we're running into unexpected behaviour. + # Returning anything other than a ping type catches an else statement in _scan_action_handler. + else: + self.current_kill_chain_stage = MobileMalwareKillChain.FAILED + return "logic_handler_error" + + def _scan_progress_handler(self) -> KillChainStageProgress: + """TAP001 Private method used for handling success & continue cases. + + The target must be found via the simulation and a + valid database service must be installed and running on the target. + Otherwise, the scan will continue. + + :rtype: KillChainStageProgress. + """ + # Success Criteria: The Target is found and the target port is also found (Database Service at current) + if self.network_knowledge["target_found"]: + target_port = self.network_knowledge["target_port"] + if target_port == PortStatus.OPEN: + self.logger.info(f"TAP001 {self.config.ref} located the target and confirmed a valid database service!") + self.chosen_action = "do-nothing", {} # No need to perform another scan after this. + return KillChainStageProgress.FINISHED + else: + self.logger.info( + f"TAP001 {self.config.ref} located the target but not yet confirmed a valid database service." + ) + # No need to update scans_complete any further as we've located the target. + return KillChainStageProgress.IN_PROGRESS + else: + self.logger.info(f"TAP001 {self.config.ref} has not yet located the target. Scan continuing!") + # Updating the amount of scans completed. + self.scans_complete += 1 + return KillChainStageProgress.IN_PROGRESS + + def _scan_failure_handler(self) -> bool: + """TAP001 Private Method used for handling the _propagate failure edge cases. + + Returns a True if the scan entered into a failing edge case. + Otherwise returns False if no errors were encountered. + + :rtype: bool. + """ + # Simple boolean for keeping track if an edge case is encountered. + error_found = False + + # Edge Case: If the scan action finds the target but the target doesn't have a database running. + if self.network_knowledge.get("target_found"): + target_port = self.network_knowledge["target_port"] + if ( + target_port == PortStatus.CLOSED + ): # Only set to True if the target doesn't have a running database service. + self.logger.info( + f"TAP001 {self.config.ref} was able to locate {self.target_ip} - " + f"However, {self.target_ip} does not have a database service running." + ) + error_found = True + + # Edge Case: If the scan action has executed X times without finding the target. + # This edge case should be last incase of the elusive double edge-case. + # (Which would be caught first by this clause which would prevent valuable debugging logs) + if self.scans_complete >= self.permitted_attempts: + self.logger.info( + f"{self.config.ref} was unable to find {self.target_ip}" + f"within the permitted {self.permitted_attempts} scan attempts." + ) + error_found = True + + # Returning the boolean. + return error_found + + def _scan_setup_handler(self) -> RequestResponse: + """TAP001 Private method responsible for setting up the scan_return_handler on each call. + + Uses the self.last_scan_timestep list to index the self.history inherited attribute. + + Returns the results of the previous scan as an RequestResponse class object. + + :rtype RequestResponse. + """ + # Using the last_timestep variable as an Index for the last scan action. + # (This only pops the last_scan_timestep not the self.history attribute itself.) + previous_scan_action = self.history[self.last_scan_timestep.pop()] + + # Appending the current timestep to the last_scan_timestep. + self.last_scan_timestep.append(self.current_timestep) + + # Testing for do-nothing,{}'s present in the previous_action. + if previous_scan_action.action == "do-nothing": + self.logger.error("do-nothing Caught whilst in scan_handler.") + self.current_kill_chain_stage = MobileMalwareKillChain.FAILED + + # Abstract TAP handles these errors if the user set the repeat_kill_chain_stages option to false. + if previous_scan_action.response.status != "success": + self.logger.info( + f"The previous scan wasn't successful: {previous_scan_action.response.data} " + f"Re-attempting the previous scan!" + ) + + # Returning the request.response attribute in AgentActionHistory + return previous_scan_action.response + + def _scan_action_response_handler(self, scan_results: Union[Dict, list]) -> None: + """TAP001 Private method which handles any success criteria and sets the self.network_knowledge accordingly. + + This method is responsible for setting the self.network_knowledge attribute dependent on the + outcome of the previous scans in order to keep track of the current progress of the scan action. + + It's important to note that in the context of the narrative, the malware does not actually know the + ip address of the target_ip. + + The IP address of the target_ip should only ever be used to confirm that a valid-target is the target_ip + This way, users are able to configure a network with multiple databases, yet select specific target one. + + :param scan_results: The .data dictionary from the previous scan actions RequestResponse '.data' attribute. + :type scan_results: dict. + """ + # This should only ever get called after the target is already found + # Checks to see if the target has an active database_service running + # (Thus vulnerable to attack) + # At current, both there is no way to differentiate between database clients & database services. + # Thus we have to assume that the given target is a database service. + if self.network_knowledge.get("target_found"): + # TODO: Sometimes scan results doesn't contain data for target ip, this is unexpected, hence we added {} as + # default return to prevent crash. But we ought to figure out why this occurs. + for protocol, ports in scan_results.get(self.network_knowledge.get("target_ip"), {}).items(): + if protocol == "tcp": + for port in ports: + if port == PORT_LOOKUP["POSTGRES_SERVER"]: + self.logger.info(f"Found a valid target on {self.target_ip}!") + self.network_knowledge["target_port"] = PortStatus.OPEN + return # Exit out of the method, no further scans are required. + + # If we couldn't find a valid port, set the target_port to closed + # Return early. + self.network_knowledge["target_port"] = PortStatus.CLOSED + return + + # If we're reached this then we know the target wasn't found within the previous scan_results. + # Thus we can ignore the port/protocol results and convert scan_results into a list. + + # Covers both PORT and PING scans (Ping returns a List, Port returns a Dict) + if isinstance(scan_results.get("live_hosts"), list): + scan_results = scan_results.get("live_hosts") + else: + # Recon doesn't return "live_hosts" but a dict of hosts. + scan_results_list = [] + for hosts in scan_results: + scan_results_list.append(hosts) + scan_results = scan_results_list + + # Edge Case: No Returned Results. + if scan_results == []: + self.logger.info(f"Didn't find any suitable hosts from the last {self.last_scan_type} scan ") + else: # Else - Search through the host_list. + self.logger.info(f"Found {len(scan_results)} hosts in the previous scan: {scan_results}") + for host_ip in scan_results: + # Is the host the target? + if host_ip == self.network_knowledge.get("target_ip"): + # If the previous scan found the target then we don't need to scan another network + # We only need to port_scan the previous network address again. + # (Handled by _scan_progress_handler) + self.logger.info(f"Found {self.target_ip} the in previous scan!") + self.network_knowledge.update(target_found=True) + # We can return early without updating the lists as PORT scan is hard coded to use the target_ip. + return + else: + pass + + # Updating live_hosts with live_hosts list. + self.network_knowledge.update(live_hosts=scan_results) + + # Updating the next_scan target (Either a list of hosts, or the next network address.) + self._update_next_scan_target(scan_results) + + return + + # Perhaps could pass **kwargs and simplify the if ladder + def _scan_action_handler(self, scan_type: str) -> None: + """TAP001 Private method for handling the self._chosen_action attribute. + + The primary responsibility of this method is to set the self.chosen_action + to one of the following different scan agent actions dependent on the + given argument: + + Ping: node-nmap-ping-scan + Port: node-nmap-port-scan + Recon: node-network-service-recon + + :param scan_type: The .data dictionary from the previous Scan Actions RequestResponse '.data' attribute. + :type scan_type: str. + """ + if scan_type == "Ping": + self.chosen_action = "node-nmap-ping-scan", { + "source_node": self.current_host, + "target_ip_address": self.network_knowledge.get("next_scan_target"), + "show": False, + } + elif scan_type == "Port": + # As we only need to port scan the target, we can use the given target_ip. + self.network_knowledge["next_scan_target"] = self.network_knowledge.get("target_ip") + + self.chosen_action = "node-nmap-port-scan", { + "source_node": self.current_host, + "target_ip_address": self.network_knowledge.get("target_ip"), + "show": False, + } + elif scan_type == "Recon": + self.chosen_action = "node-network-service-recon", { + "source_node": self.current_host, + "target_ip_address": self.network_knowledge.get("next_scan_target"), + # Currently both database clients & servers run on POSTGRES_SERVER. + "target_port": PORT_LOOKUP["POSTGRES_SERVER"], # 5432 + "target_protocol": PROTOCOL_LOOKUP["TCP"], + "show": False, + } + else: + self.logger.error( + f"{self.config.ref}'s _scan_action_handler method encountered a unknown scan_type: {scan_type}" + ) + self.current_kill_chain_stage = MobileMalwareKillChain.FAILED + self.chosen_action = "do-nothing", {} + + # Updating the last_scan_type attribute. + self.logger.info(f"TAP001 {self.config.ref} has opted for a {scan_type} scan!") + self.last_scan_type = scan_type + return + + def _update_next_scan_target(self, scan_target: Union[list, str]) -> None: + """Updates network_knowledge.next_scan_type with the given argument dependent on the last_scan_type. + + If the last scan to be executed was a recon scan; then the next scan is updated + to be the next user given network address. (We move onto another network) + + otherwise, the live_hosts of the previous scan is selected. + + :param scan_target: The network address (str) or list of hosts (list) + to be used to update self.network_knowledge.next_scan_target + :type scan_target: str or list + """ + if self.last_scan_type == "Recon" or scan_target == []: # Covers None Edge cases. + # Edge Case: If the tap agent has ran out of networks to scan! + try: + # Tries to update the next_scan_target with the next network address + self.networks_scanned += 1 + # Now we need to move onto the next network address. + self.network_knowledge.update( + next_scan_target=self.config.agent_settings.kill_chain.PROPAGATE.network_addresses[ + self.networks_scanned + ] + ) + + except IndexError: + # Just In Case the last subnet has a valid target + # (We won't be scanning another network, so the index error is irrelevant) + if self.network_knowledge.get("target_found") == True: + pass + # Repeats from the start if repeat scan is enabled. + elif self.config.agent_settings.kill_chain.PROPAGATE.repeat_scan == True: + self.networks_scanned = 0 + self.logger.info(f"TAP001 {self.config.ref} couldn't find the target!") + self.logger.info(f"TAP001 {self.config.ref} will continue to scan the network!") + random_network_address = random.randint( + 0, len(self.config.agent_settings.kill_chain.PROPAGATE.network_addresses) - 1 + ) + self.network_knowledge.update( + next_scan_target=self.config.agent_settings.kill_chain.PROPAGATE.network_addresses[ + random_network_address + ] + ) + + else: + self.logger.info( + f"TAP001 {self.config.ref} ran out of networks to scan! Unable to find a valid target." + ) + + elif self.last_scan_type == "Ping": + # Now we need to recon scan the live_hosts so we set it as the next_scan_target. + self.network_knowledge.update(next_scan_target=scan_target) + + def _show_scan(self, markdown: bool = False) -> None: + """ + Prints a table of the current network knowledge of TAP001. + + :param markdown: Flag indicating if output should be in markdown format. + """ + network_knowledge_headers = [ + "Target Found", + "Target Port", + "Target IP", + # The scan will have already executed by the time. + # This method is called. + "Previous Scan Target", + "Previous Scan Results", + ] + network_knowledge_table = PrettyTable(network_knowledge_headers) + network_knowledge_table.title = f"TAP001 {self.config.ref}'s Current Network Knowledge" + if markdown: + network_knowledge_table.set_style(MARKDOWN) + network_knowledge_table.add_row( + [ + self.network_knowledge.get("target_found"), + self.network_knowledge.get("target_port"), + self.network_knowledge.get("target_ip"), + self.network_knowledge.get("next_scan_target"), + self.network_knowledge.get("live_hosts"), + ] + ) + print(network_knowledge_table) + + propagate_status_headers = [ + "Last Scan Timestep", + "Last Scan Type", + "Scans Complete", + "Networks Scanned", + "Permitted Scan Attempts", + ] + propagate_status_table = PrettyTable(propagate_status_headers) + propagate_status_table.title = f"TAP001 {self.config.ref}'s Propagate Stage Status" + if markdown: + propagate_status_table.set_style(MARKDOWN) + propagate_status_table.add_row( + [ + self.last_scan_timestep, + self.last_scan_type, + self.scans_complete, + self.networks_scanned, + self.permitted_attempts, + ] + ) + print(propagate_status_table) + + def _select_target_ip(self) -> None: + """ + Handles setting the target node behaviour of TAP type agents. + + If the user given tap_settings provides a target_ip list then the target node + is set to a random node given in the target_ip list. + Otherwise, the starting node is set to the 'default_target_node' option. + """ + if not self.config.agent_settings.target_ips: + self.target_ip = self.config.agent_settings.default_target_ip + else: + self.target_ip = random.choice(self.config.agent_settings.target_ips) + + def _propagate_reset(self) -> None: + """Resets the propagate relevant attributes back to their original values. + + This method is called to prevent the TAP001 agent from restarting + it's second kill chain execution with pre-existing network knowledge + """ + self.last_scan_timestep.clear() + "Clears the timesteps the last_scan timesteps." + self.last_scan_type = None + "Resets the type of scan that was performed most recently" + self.scans_complete = 0 + "Resets the number of scans completed" + self.networks_scanned = 0 + "Resets the number of subnets that have been scanned" + + self._network_knowledge_reset() + + def _network_knowledge_reset(self) -> None: + """Resets self.network_knowledge back to their starting values. + + This method is called to prevent the TAP001 agent from instantly + skipping past the Propagate Stage on it's second kill chain attempt. + (The target would have already been found in it's first run execution.) + """ + self.network_knowledge = { + "target_found": False, # Used for the propagate step + "target_port": PortStatus.UNKNOWN, + "target_ip": self.target_ip, + "next_scan_target": self.config.agent_settings.kill_chain.PROPAGATE.network_addresses[0], # Local Subnet + "live_hosts": {}, # Previous scan action results. + } diff --git a/src/primaite/game/agent/scripted_agents/TAP003.py b/src/primaite/game/agent/scripted_agents/TAP003.py new file mode 100644 index 00000000..099632a3 --- /dev/null +++ b/src/primaite/game/agent/scripted_agents/TAP003.py @@ -0,0 +1,461 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from enum import IntEnum +from typing import Dict, List, Literal, Optional, Tuple, Type + +from gymnasium.core import ObsType +from pydantic import Field + +from primaite.game.agent.actions.acl import RouterACLAddRuleAction +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) + + +class InsiderKillChainOptions(KillChainOptions): + """Model validation for TAP003's Kill Chain.""" + + class _PlanningOptions(KillChainStageOptions): + """...""" + + starting_network_knowledge: Dict # TODO: more specific schema here? + + class _AccessOptions(KillChainStageOptions): + pass + + class _ManipulationOptions(KillChainStageOptions): + account_changes: List[Dict] = [] # TODO: More specific schema here? + + class _ExploitOptions(KillChainStageOptions): + malicious_acls: List[RouterACLAddRuleAction.ConfigSchema] = [] + + PLANNING: _PlanningOptions = Field(default_factory=lambda: InsiderKillChainOptions._PlanningOptions()) + ACCESS: _AccessOptions = Field(default_factory=lambda: InsiderKillChainOptions._AccessOptions()) + MANIPULATION: _ManipulationOptions = Field(default_factory=lambda: InsiderKillChainOptions._ManipulationOptions()) + EXPLOIT: _ExploitOptions = Field(default_factory=lambda: InsiderKillChainOptions._ExploitOptions()) + + +class InsiderKillChain(IntEnum): + """ + Enumeration representing different attack stages of the vulnerability and backdoor creation kill chain. + + This kill chain is designed around the TAP003 - Malicious Insider Corporal Pearson. + Each stage represents a specific phase in the kill chain. + Please refer to the TAP003 notebook for the current version's implementation of this kill chain. + """ + + RECONNAISSANCE = 1 + "Represents TAP003 identifying sensitive systems, data and access control mechanisms" + PLANNING = 2 + "Represents TAP003 devising a plan to exploit their elevated privileges." + ACCESS = 3 + "Represents TAP003's using legitimate credentials to access the access control settings." + MANIPULATION = 4 + "Represents TAP003 altering ACLs, User & Group Attributes & other control mechanisms to grant unauthorised access" + EXPLOIT = 5 + "Represents TAP003 exploiting their insider knowledge and privilege to implement changes for sabotage." + EMBED = 6 + "Represents TAP003's additional changes to ensure continued access" + CONCEAL = 7 + "Represents TAP003's efforts in hiding their traces of malicious activities" + EXTRACT = 8 + "Represents TAP003 removing sensitive data from the organisation, either for personal gain or to inflict harm." + ERASE = 9 + "Represents TAP003 covering their tracks by removing any tools, reverting temporary changes and logging out" + + # These Enums must be included in all kill chains. + # Due to limitations in Python and Enums, it is not possible to inherit these Enums from an base class. + + NOT_STARTED = 100 + "Indicates that the Kill Chain has not started." + SUCCEEDED = 200 + "Indicates that the kill chain has succeeded." + FAILED = 300 + "Indicates that the attack has failed." + + def initial_stage(self) -> "InsiderKillChain": + """Returns the first stage in the kill chain. Used by Abstract TAP for TAP Agent Setup.""" + return self.RECONNAISSANCE + + +class TAP003(AbstractTAP, discriminator="tap-003"): + """ + TAP003 | Malicious Insider Corporal Pearson. + + Currently implements one kill chain: Backdoor & Vulnerability Creation. + This Threat Actor Profile (TAP) aims to introduce subtle cyber attack. + For example, the Backdoor & Vulnerability creation kill chain + creates DENY firewall rules which do not trigger NMNE. + Please see the TAP003-Kill-Chain-E2E.ipynb for more information. + """ + + class AgentSettingsSchema(AbstractTAP.AgentSettingsSchema): + """TODO.""" + + kill_chain: InsiderKillChainOptions # = Field(default_factory=lambda: MobileMalwareKillChainOptions()) + + class ConfigSchema(AbstractTAP.ConfigSchema): + """Config Schema for the TAP001 agent.""" + + type: Literal["tap-003"] = "tap-003" + agent_settings: "TAP003.AgentSettingsSchema" = Field(default_factory=lambda: TAP003.AgentSettingsSchema()) + + config: ConfigSchema + + selected_kill_chain: Type[InsiderKillChain] = InsiderKillChain + _current_acl: int = 0 + + network_knowledge: Dict = {} # TODO: more specific typing + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._change_password_target_host: str = "" + """If we have just sent a change password request over SSH, this variable keeps track of the hostname.""" + self._ssh_target_host: str = "" + """If we have just send a SSH_LOGIN request, keeps track of the hostname to which we are attempting to SSH.""" + self._next_account_change: Optional[Dict] = None + self._num_acls = len(self.config.agent_settings.kill_chain.EXPLOIT.malicious_acls) + + self.network_knowledge: dict = {"credentials": {}, "current_session": {}} + """Keep track of current network state based on responses after sending actions. Populated during PLANNING.""" + self.setup_agent() + + def _progress_kill_chain(self) -> None: + """Private Method used to progress the kill chain to the next stage.""" + if self.next_kill_chain_stage == self.selected_kill_chain.EXPLOIT: # Covering final stage edge case. + self.current_kill_chain_stage = self.selected_kill_chain(self.current_kill_chain_stage + 1) + self.next_kill_chain_stage = self.selected_kill_chain.SUCCEEDED + else: + # Otherwise, set the current stage to the previous next and increment the next kill chain stage. + self.current_kill_chain_stage = self.next_kill_chain_stage + + if self.current_kill_chain_stage == self.selected_kill_chain.SUCCEEDED: + self.next_kill_chain_stage = self.selected_kill_chain.NOT_STARTED + else: + self.next_kill_chain_stage = self.selected_kill_chain(self.current_kill_chain_stage + 1) + + self.current_stage_progress = KillChainStageProgress.PENDING + + def setup_agent(self) -> None: + """Responsible for agent setup upon episode reset. + + Explicitly this method performs the following: + 1. Loads the inherited attribute 'selected_kill_chain' with the InsiderKillChain + 2. Selects the starting node from the given user tap settings + 3. Selects the target node from the given user tap settings + 4. Sets the next execution timestep to the given user tap settings - start step + 5. Sets TAP's current host as the selected starting node. + """ + # TAP Boilerplate Setup + self._setup_agent_kill_chain(InsiderKillChain) + + # TAP003 Specific Setup + self._select_start_node() + self._set_next_execution_timestep(self.config.agent_settings.start_step) + self.current_host = self.starting_node + + def get_action(self, obs: ObsType, timestep: int) -> Tuple[str, Dict]: + """Follows the TAP003 Backdoor Vulnerability Kill Chain. + + Calls the next TAP003 Action Stage. Uses private methods to schedule kill chain stages. + See TAP003-Kill-Chain-E2E.ipynb for further information on the TAP003 agent. + + :param obs: Current observation for this agent. + :type obs: ObsType + :param timestep: The current simulation timestep, used for scheduling actions + :type timestep: int + :return: Action formatted in CAOS format + :rtype: Tuple[str, Dict] + """ + self._handle_login_response() + self._handle_change_password_response() + if timestep < self.next_execution_timestep or self.actions_concluded: + return "do-nothing", {} # bypasses self.chosen_action + + # self.current_timestep is currently the previous execution timestep + # So it can be used to index action history. + if not self._tap_return_handler(self.current_timestep): + # If the application is already installed, don't keep retrying - this is an acceptable fail + if self.current_kill_chain_stage == InsiderKillChain.PLANNING: + last_action = self.history[self.current_timestep].action + fail_reason = self.history[self.current_timestep].response.data["reason"] + if last_action == "node-application-install" and fail_reason == "already installed": + pass + else: + self.update_current_timestep(new_timestep=timestep) + self._set_next_execution_timestep(timestep + self.config.agent_settings.frequency) + self._tap_outcome_handler(InsiderKillChain) + return self.chosen_action + + self.update_current_timestep(new_timestep=timestep) + self._set_next_execution_timestep(timestep + self.config.agent_settings.frequency) + self._tap_outcome_handler(InsiderKillChain) # Handles successes and failures + + # The kill chain is called in reverse order + # The kill chain sequence must be called in reverse order to ensure proper execution. + + self._exploit() + self._manipulation() + self._access() + self._planning() + self._reconnaissance() + self._tap_start(InsiderKillChain) + + return self.chosen_action + + def _handle_login_response(self) -> None: + """If the last request was an SSH login attempt, update the current session in network knowledge.""" + if not self.history: + return + last_hist_item = self.history[-1] + if not last_hist_item.action == "node-session-remote-login" or last_hist_item.response.status != "success": + return + + self.network_knowledge["current_session"] = { + "hostname": self._ssh_target_host, + "ip_address": last_hist_item.response.data["ip_address"], + "username": last_hist_item.response.data["username"], + } + self.logger.debug( + f"Updating network knowledge. Logged in as {last_hist_item.response.data['username']} on " + f"{self._ssh_target_host}" + ) + + def _handle_change_password_response(self) -> None: + if not self.history: + return + last_hist_item = self.history[-1] + + # when sending remote change password command, this must get populated + if not self._change_password_target_host: + return + + if ( + last_hist_item.action == "node-send-remote-command" + and last_hist_item.parameters["command"][2] == "change_password" + and last_hist_item.response.status == "success" + ): + # changing password logs us out, so our current session needs to be cleared + self.network_knowledge["current_session"] = {} + + # update internal knowledge with the new password + ip = last_hist_item.parameters["remote_ip"] + username = last_hist_item.parameters["command"][3] + password = last_hist_item.parameters["command"][5] + hostname = self._change_password_target_host + self.network_knowledge["credentials"][hostname] = { + "ip_address": ip, + "username": username, + "password": password, + } + self.logger.debug(f"Updating network knowledge. Changed {username}'s password to {password} on {hostname}.") + self._change_password_target_host = "" + # local password change + elif last_hist_item.action == "node-accounts-change-password" and last_hist_item.response.status == "success": + self.network_knowledge["current_session"] = {} + username = last_hist_item.request[6] + password = last_hist_item.request[8] + hostname = last_hist_item.request[2] + self.network_knowledge["credentials"][hostname] = {"username": username, "password": password} + self.logger.debug(f"Updating network knowledge. Changed {username}'s password to {password} on {hostname}.") + self._change_password_target_host = "" + + def _reconnaissance(self) -> None: + """Insider Kill Chain | Reconnaissance Stage. + + First stage in the Insider kill chain. + + Sets the self.chosen attribute to the "do-nothing" CAOS action + and then calls the self._progress_kill_chain() method. + """ + if self.current_kill_chain_stage == self.selected_kill_chain.RECONNAISSANCE: + self.chosen_action = "do-nothing", {} + self._progress_kill_chain() + + def _planning(self) -> None: + """Insider Kill Chain | Planning Stage. + + Second stage in the Insider kill chain. + Performs a trial using the given user PLANNING stage probability. + + If the trial is successful then the agent populates its knowledgebase with information from the config. + + Otherwise, the stage is not progressed. Additionally, the agent's kill chain is set + to failure if the repeat_kill_chain_stages parameter is set to FALSE. + """ + if not self.current_kill_chain_stage == self.selected_kill_chain.PLANNING: + return + + if not self._agent_trial_handler(self.config.agent_settings.kill_chain.PLANNING.probability): + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + self.chosen_action = "do-nothing", {} + + else: + self.network_knowledge[ + "credentials" + ] = self.config.agent_settings.kill_chain.PLANNING.starting_network_knowledge["credentials"] + self.current_host = self.starting_node + self.logger.info("Resolving starting knoweldge.") + self._progress_kill_chain() + if self.current_stage_progress == KillChainStageProgress.PENDING: + self.logger.info(f"TAP003 reached the {self.current_kill_chain_stage.name}") + + def _access(self) -> None: + """Insider Kill Chain | Planning Stage. + + Third stage in the Insider kill chain. + Performs a trial using the given user ACCESS stage probability. + + This currently does nothing. + """ + if self.current_kill_chain_stage == self.selected_kill_chain.ACCESS: + if self._agent_trial_handler(self.config.agent_settings.kill_chain.ACCESS.probability): + self._progress_kill_chain() + self.chosen_action = "do-nothing", {} + else: + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + self.chosen_action = "do-nothing", {} + + def _manipulation(self) -> None: + """Insider Kill Chain | Manipulation Stage. + + Fourth stage in the Insider kill chain. + Performs a trial using the given user MANIPULATION stage probability. + + If the trial is successful, the agent will change passwords for accounts that will later be used to execute + malicious commands + + Otherwise if the stage is not progressed. Additionally, the agent's kill chain is set + to failure if the repeat_kill_chain_stages parameter is set to FALSE. + """ + if self.current_kill_chain_stage == self.selected_kill_chain.MANIPULATION: + if self._agent_trial_handler(self.config.agent_settings.kill_chain.MANIPULATION.probability): + self.logger.info(f"TAP003 reached the {self.current_kill_chain_stage.name}") + self.current_host = self.starting_node + account_changes = self.config.agent_settings.kill_chain.MANIPULATION.account_changes + if len(account_changes) > 0: + if not self._next_account_change: + self._next_account_change = account_changes.pop(0) + if self._next_account_change["host"] == self.current_host: + # do a local password change + self.chosen_action = "node-accounts-change-password", { + "node_name": self.current_host, + "username": self._next_account_change["username"], + "current_password": self.network_knowledge["credentials"][self.current_host]["password"], + "new_password": self._next_account_change["new_password"], + } + self.logger.info("Changing local password.") + self._next_account_change = account_changes.pop(0) + self._change_password_target_host = self.current_host + else: + # make sure we are logged in via ssh to remote node + hostname = self._next_account_change["host"] + if self.network_knowledge.get("current_session", {}).get("hostname") != hostname: + self._ssh_target_host = hostname + self.chosen_action = "node-session-remote-login", { + "node_name": self.starting_node, + "username": self.network_knowledge["credentials"][hostname]["username"], + "password": self.network_knowledge["credentials"][hostname]["password"], + "remote_ip": self.network_knowledge["credentials"][hostname]["ip_address"], + } + self.logger.info(f"Logging into {hostname} in order to change password.") + # once we know we are logged in, send a command to change password + else: + self.chosen_action = "node-send-remote-command", { + "node_name": self.starting_node, + "remote_ip": self.network_knowledge["credentials"][hostname]["ip_address"], + "command": [ + "service", + "user-manager", + "change_password", + self._next_account_change["username"], + self.network_knowledge["credentials"][hostname]["password"], + self._next_account_change["new_password"], + ], + } + self.logger.info(f"Changing password on remote node {hostname}") + self._next_account_change = account_changes.pop(0) + self._change_password_target_host = hostname + if len(account_changes) == 0: + self._next_account_change = None + self.logger.info("Finished changing passwords.") + self._progress_kill_chain() + + self.current_stage_progress = KillChainStageProgress.PENDING + else: + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + self.chosen_action = "do-nothing", {} + + def _exploit(self) -> None: + """Insider Kill Chain | Exploit Stage. + + Fifth stage in the Insider kill chain. + Performs a trial using the given user EXPLOIT stage probability. + + If the trial is successful then self.chosen_action attribute is set to the + "node-send-remote-command" CAOS action with the "ROUTER_ACL_ADDRULE" as it's chosen command. + + The impact of the ROUTER_ACL_ADDRULE is dependant on user given parameters. At current + the default impact of this stage is to block green agent traffic. An example of TAP003's + manipulation stage in action can be found in the TAP003 notebook. + + Otherwise if the stage is not progressed. Additionally, the agent's kill chain is set + to failure if the repeat_kill_chain_stages parameter is set to FALSE. + """ + if self.current_kill_chain_stage == self.selected_kill_chain.EXPLOIT: + if self.current_kill_chain_stage == KillChainStageProgress.PENDING: + # Perform the probability of success once upon entering the stage. + if not self._agent_trial_handler(self.config.agent_settings.kill_chain.EXPLOIT.probability): + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + self.chosen_action = "do-nothing", {} + return + self.current_kill_chain_stage = KillChainStageProgress.IN_PROGRESS + + self.config.agent_settings.kill_chain.EXPLOIT.malicious_acls = ( + self.config.agent_settings.kill_chain.EXPLOIT.malicious_acls + ) + self._num_acls = len(self.config.agent_settings.kill_chain.EXPLOIT.malicious_acls) + malicious_acl = self.config.agent_settings.kill_chain.EXPLOIT.malicious_acls[self._current_acl] + hostname = malicious_acl.target_router + + if self.network_knowledge.get("current_session", {}).get("hostname") != hostname: + self._ssh_target_host = hostname + self.chosen_action = "node-session-remote-login", { + "node_name": self.starting_node, + "username": self.network_knowledge["credentials"][hostname]["username"], + "password": self.network_knowledge["credentials"][hostname]["password"], + "remote_ip": self.network_knowledge["credentials"][hostname]["ip_address"], + } + self.logger.info(f"Logging into {hostname} in order to add ACL rules.") + # once we know we are logged in, send a command to change password + else: + self.chosen_action = "node-send-remote-command", { + "node_name": self.starting_node, + "remote_ip": self.network_knowledge["credentials"][hostname]["ip_address"], + "command": [ + "acl", + "add_rule", + malicious_acl.permission, + malicious_acl.protocol_name, + str(malicious_acl.src_ip), + str(malicious_acl.src_wildcard), + malicious_acl.src_port, + str(malicious_acl.dst_ip), + str(malicious_acl.dst_wildcard), + malicious_acl.dst_port, + malicious_acl.position, + ], + } + self.logger.info(f"Adding ACL rule to {hostname}") + self._current_acl = self._current_acl + 1 + + if self._current_acl == self._num_acls: + self._current_acl = 0 + self.logger.info("Finished adding ACL rules.") + self._progress_kill_chain() diff --git a/src/primaite/game/agent/scripted_agents/__init__.py b/src/primaite/game/agent/scripted_agents/__init__.py index 5a97d15b..90a99d01 100644 --- a/src/primaite/game/agent/scripted_agents/__init__.py +++ b/src/primaite/game/agent/scripted_agents/__init__.py @@ -1,6 +1,21 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK from primaite.game.agent import interface -from primaite.game.agent.scripted_agents import abstract_tap, data_manipulation_bot, probabilistic_agent, random_agent +from primaite.game.agent.scripted_agents import ( + abstract_tap, + data_manipulation_bot, + probabilistic_agent, + random_agent, + TAP001, + TAP003, +) -__all__ = ("abstract_tap", "data_manipulation_bot", "interface", "probabilistic_agent", "random_agent") +__all__ = ( + "abstract_tap", + "data_manipulation_bot", + "interface", + "probabilistic_agent", + "random_agent", + "TAP001", + "TAP003", +) diff --git a/src/primaite/game/agent/scripted_agents/abstract_tap.py b/src/primaite/game/agent/scripted_agents/abstract_tap.py index 679f69fa..dcdde3ce 100644 --- a/src/primaite/game/agent/scripted_agents/abstract_tap.py +++ b/src/primaite/game/agent/scripted_agents/abstract_tap.py @@ -1,49 +1,202 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK -from __future__ import annotations import random -from abc import ABC, abstractmethod -from typing import Dict, List, Optional, Tuple +from abc import abstractmethod +from enum import Enum, IntEnum +from typing import Dict, List, Optional, Tuple, Type -from gymnasium.core import ObsType -from pydantic import Field +from pydantic import BaseModel, ConfigDict, Field -from primaite.game.agent.scripted_agents.random_agent import PeriodicAgent - -__all__ = "AbstractTAPAgent" +from primaite.game.agent.interface import AbstractScriptedAgent +from primaite.game.science import simulate_trial -class AbstractTAPAgent(PeriodicAgent, ABC): - """Base class for TAP agents to inherit from.""" +# This class is required for abstract tap. The IntEnums in this class are repeated in other kill chains. +class BaseKillChain(IntEnum): + """A generic kill chain for abstract tap initialisation. - config: "AbstractTAPAgent.ConfigSchema" = Field(default_factory=lambda: AbstractTAPAgent.ConfigSchema()) - next_execution_timestep: int = 0 + The IntEnums in this class are repeated in other kill chains + As IntEnums cannot be directly extended by a inheritance. + """ - class AgentSettingsSchema(PeriodicAgent.AgentSettingsSchema, ABC): - """Schema for the `agent_settings` part of the agent config.""" + NOT_STARTED = 100 + "Indicates that the Kill Chain has not started." + SUCCEEDED = 200 + "Indicates that the kill chain has succeeded." + FAILED = 300 + "Indicates that the attack has failed." - possible_starting_nodes: List[str] = Field(default_factory=list) + # The original approach is to extend the base class during runtime via class methods. + # However, this approach drastically impacted the readability and complexity of the code + # So the decision was made to ignore the DRY Principle for kill chains. - class ConfigSchema(PeriodicAgent.ConfigSchema, ABC): - """Configuration schema for Abstract TAP agents.""" + @abstractmethod + def initial_stage(self) -> "BaseKillChain": + """Returns the first stage in the kill chain. Used for Abstract TAP Setup.""" + return self.NOT_STARTED - type: str = "abstract-tap" - agent_settings: AbstractTAPAgent.AgentSettingsSchema = Field( - default_factory=lambda: AbstractTAPAgent.AgentSettingsSchema() + +class KillChainStageProgress(Enum): + """Generic Progress Enums. Used by TAP Agents to keep track of kill chain stages that required multiple actions.""" + + PENDING = 0 + """Indicates that the current kill chain stage is yet to start.""" + IN_PROGRESS = 1 + """Indicates that the current kill chain stage is not yet completed.""" + FINISHED = 2 + """Indicates that the current kill chain stage stage has been completed.""" + + +class KillChainOptions(BaseModel): + """Base Class for Kill Chain Options. Inherited by all TAP Type Agents.""" + + model_config = ConfigDict(extra="forbid") + + +class KillChainStageOptions(BaseModel): + """Shared options for generic Kill Chain Stages.""" + + model_config = ConfigDict(extra="forbid") + probability: float = 1 + + +class AbstractTAP(AbstractScriptedAgent): + """Abstract class for Threat Actor Persona (TAP) Type Agents must inherit from. + + This abstract base class provides TAP agents an interface which provides + TAP type agents the necessary methods to execute kill chain(s) with + configurable parameters. + + TAP Actions are returned to the Request Manager as a Tuple + in CAOS format via the get_action method in line with other agents. + + Abstract TAP Class intends to provide each TAP the following: + + 1. Kill Chain Progression + + Kill Chains are IntEnums which define the different stages within a kill chain. + These stages are intended to be used across multiple ARCD environments. + + 2. Abstract Methods For Kill Chain Control Flow + + Abstract methods _progress_kill_chain & _setup_kill_chain + are intended to provide TAP type agent additional control + over execution flow in comparison to AbstractScriptedAgent. + + Usually these methods handle kill chain progression & success criteria. + + For more information about Abstract TAPs please refer + to the methods & attributes documentation directly. + + Additionally, Refer to a specific TAP for a more specific example. + """ + + class AgentSettingsSchema(AbstractScriptedAgent.AgentSettingsSchema): + """TODO.""" + + start_step: int = 5 + frequency: int = 5 + variance: int = 0 + repeat_kill_chain: bool = False + repeat_kill_chain_stages: bool = True + starting_nodes: Optional[List[str]] = [] + default_starting_node: str + kill_chain: KillChainOptions + + class ConfigSchema(AbstractScriptedAgent.ConfigSchema): + """Configuration schema applicable to all TAP agents.""" + + agent_settings: "AbstractTAP.AgentSettingsSchema" = Field( + default_factory=lambda: AbstractTAP.AgentSettingsSchema() ) - starting_node: Optional[str] = None + config: ConfigSchema = Field(default_factory=lambda: AbstractTAP.ConfigSchema()) + + selected_kill_chain: Type[BaseKillChain] + """A combination of TAP's base & default kill chain. Loaded dynamically during agent setup.""" + next_execution_timestep: int = 0 + """The next timestep in which the agent will attempt to progress the kill chain.""" + starting_node: str = "" + """The name (string) of TAP agent's starting node. This attribute is initialised via _self_select_starting_node.""" + + actions_concluded: bool = False + """Boolean value which indicates if a TAP Agent has completed it's attack for the episode.""" + + next_kill_chain_stage: BaseKillChain = BaseKillChain.NOT_STARTED + """The IntEnum of the next kill chain stage to be executed. + + This attribute is initialised via _tap_start. + Afterwards, this attribute is loaded dynamically via _progress_kill_chain. + """ + current_kill_chain_stage: BaseKillChain = BaseKillChain.NOT_STARTED + """The TAP agent's current kill chain. + + This attribute is used as a state to indicate the current progress in a kill chain. + """ + current_stage_progress: KillChainStageProgress = KillChainStageProgress.PENDING + """The TAP agent's current progress in a stage within a kill chain. + + This attribute is used as a state to indicate the current progress in a individual kill chain stage. + + Some TAP's require multiple actions to take place before moving onto the next stage in a kill chain. + This attribute is used to keep track of the current progress within an individual stage. + """ + chosen_action: Tuple[str, Dict] = "do-nothing", {} + """The next agent's chosen action. Returned in CAOS format at the end of each timestep.""" + + current_host: str = "" + """The name (str) of a TAP agent's currently selected host. + + This attribute is set dynamically during tap execution via _set_current_host. + """ + current_timestep: int = 0 + """The current timestep (int) of the game. + + This attribute is set to the "timestep" argument passed to get_action. + Mainly used to by kill chain stages for complex execution flow that is dependant on the simulation. + + Specifically, this attribute is used for indexing previous actions in the self.history inherited attribute. + + For more information please refer to AbstractAgent's "self.history" attribute + And for action responses see 'request.py' and the .data attribute. + + Lastly, a demonstration of the above capability can be found in the PROPAGATE step in the tap001-e2e notebook. + """ + + def update_current_timestep(self, new_timestep: int): + """Updates the current time_step attribute to the given timestep argument.""" + self.current_timestep = new_timestep @abstractmethod - def get_action(self, obs: ObsType, timestep: int = 0) -> Tuple[str, Dict]: - """Return an action to be taken in the environment.""" - return super().get_action(obs=obs, timestep=timestep) + def _progress_kill_chain(self): + """Private Abstract method which defines the default kill chain progression. - @abstractmethod - def setup_agent(self) -> None: - """Set up agent.""" + This abstract method intend to allow TAPs to control the logic flow of their kill chain. + In a majority of cases this method handles the success criteria and incrementing the current kill chain intenum. + + This method is abstract so TAPs can configure this behaviour for tap specific implementations. + """ pass + def _select_start_node(self) -> None: + """ + Handles setting the starting node behaviour of TAP type agents. + + If the user given tap_settings provides a starting_node list then the starting node + is set to a random node given in the starting_node list. + Otherwise, the starting node is set to the 'default_starting_node' option. + """ + # Catches empty starting nodes. + if not self.config.agent_settings.starting_nodes: + self.starting_node = self.config.agent_settings.default_starting_node + else: + self.starting_node = random.choice(self.config.agent_settings.starting_nodes) + + def _setup_agent_kill_chain(self, given_kill_chain: BaseKillChain) -> None: + """Sets the 'next_kill_chain_stage' TAP attribute via the public kill chain method 'initial_stage'.""" + self.selected_kill_chain = given_kill_chain + self.next_kill_chain_stage = self.selected_kill_chain.initial_stage(given_kill_chain) + def _set_next_execution_timestep(self, timestep: int) -> None: """Set the next execution timestep with a configured random variance. @@ -54,8 +207,96 @@ class AbstractTAPAgent(PeriodicAgent, ABC): ) self.next_execution_timestep = timestep + random_timestep_increment - def _select_start_node(self) -> None: - """Set the starting starting node of the agent to be a random node from this agent's action manager.""" - # we are assuming that every node in the node manager has a data manipulation application at idx 0 - self.starting_node = random.choice(self.config.agent_settings.possible_starting_nodes) - self.logger.debug(f"Selected starting node: {self.starting_node}") + def _agent_trial_handler(self, agent_probability_of_success: int) -> bool: + """Acts as a wrapper around simulate trial - Sets kill chain stage to failed if the relevant setting is set. + + :param agent_probability_of_success: The probability of the action success to be passed to simulate_trial. + :type agent_probability_of_success: int. + :rtype: Bool. + """ + if simulate_trial(agent_probability_of_success): + return True + else: + self.logger.info( + f"failed to reach kill chain stage {self.next_kill_chain_stage.name} due to probability of failure." + ) + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.logger.info(f"Thus {self.config.ref} has failed the kill chain") + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + return False + else: + self.logger.info(f"Retrying from stage {self.current_kill_chain_stage.name}.") + return False + + def _tap_outcome_handler(self, selected_kill_chain_class: BaseKillChain) -> None: + """ + Default TAP behaviour for base kill chain stages. + + Upon Success and failure: + TAPs will either repeat or re-attack dependant on the user given settings. + + :param tap_kill_chain: The TAP agent's currently selected kill chain. + :type tap_kill_chain: BaseKillChain + """ + if ( + self.current_kill_chain_stage == self.selected_kill_chain.SUCCEEDED + or self.current_kill_chain_stage == self.selected_kill_chain.FAILED + ): + if self.actions_concluded == True: # Prevents Further logging via a guard clause boolean + self.chosen_action = "do-nothing", {} + return + if self.current_kill_chain_stage == self.selected_kill_chain.SUCCEEDED: + self.logger.info(f"{self.config.ref} has successfully carried out the kill chain.") + if self.current_kill_chain_stage == self.selected_kill_chain.FAILED: + self.logger.info(f"{self.config.ref} has failed the Kill Chain.") + if self.config.agent_settings.repeat_kill_chain == True: + self.logger.info(f"{self.config.ref} has opted to re-attack!") + self.current_kill_chain_stage = BaseKillChain.NOT_STARTED + self.next_kill_chain_stage = selected_kill_chain_class.initial_stage(selected_kill_chain_class) + else: + self.logger.info(f"{self.config.ref} has opted to forgo any further attacks.") + self.actions_concluded = True # Guard Clause Bool + self.chosen_action = "do-nothing", {} + + def _tap_return_handler(self, timestep: int) -> bool: + # Intelligence | Use the request_response system to enable different behaviour + """ + Handles the request_manager's response query. Sets Kill Chain to false if failed. + + If the previous action failed due to the simulation state, + the kill chain is considered to have failed. + + Returns True if the previous action was successful. + Returns False if the previous action was any other state. + (Including Pending and Failure) + + :param timestep: The current primAITE game layer timestep. + :type timestep: int + :rtype bool + """ + if self.history[timestep].response.status != "success": + self.logger.info( + f"{self.config.ref} has failed to successfully carry out {self.current_kill_chain_stage.name}" + ) + self.logger.info(f"due to the simulation state: {self.history[timestep].response.data}") + if self.config.agent_settings.repeat_kill_chain_stages == False: + self.logger.info( + f"Thus {self.config.ref} has failed this kill chain attempt on {self.current_kill_chain_stage.name}" + ) + self.current_kill_chain_stage = self.selected_kill_chain.FAILED + else: + self.logger.info(f"Retrying from stage {self.current_kill_chain_stage.name}!") + return False + return True + + def _tap_start(self, tap_kill_chain: Type[BaseKillChain]) -> None: + """ + Sets the TAP Agent's beginning current/next kill chain stages. + + :param IntEnum tap_kill_chain: A currently selected kill chain. + """ + if self.current_kill_chain_stage == self.selected_kill_chain.NOT_STARTED: + self.current_kill_chain_stage = tap_kill_chain.initial_stage(tap_kill_chain) + self.next_kill_chain_stage = self.selected_kill_chain(self.current_kill_chain_stage + 1) + self.logger.info(f"{self.config.ref} has begun it's attack!") + self.chosen_action = "do-nothing", {} From a19ceada2c55b6931a9be3bb6b36bf6c16aefe8c Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Wed, 26 Feb 2025 19:31:43 +0000 Subject: [PATCH 02/23] Change ACL observation to 0-index and remove weird off-by-one offset --- .../agent/observations/acl_observation.py | 14 +++++-------- .../observations/test_acl_observations.py | 4 ++-- .../observations/test_firewall_observation.py | 20 +++++++++---------- .../observations/test_router_observation.py | 4 ++-- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/primaite/game/agent/observations/acl_observation.py b/src/primaite/game/agent/observations/acl_observation.py index b2f5e786..8a137629 100644 --- a/src/primaite/game/agent/observations/acl_observation.py +++ b/src/primaite/game/agent/observations/acl_observation.py @@ -65,8 +65,7 @@ class ACLObservation(AbstractObservation, discriminator="acl"): self.port_to_id: Dict[str, int] = {p: i + 2 for i, p in enumerate(port_list)} self.protocol_to_id: Dict[str, int] = {p: i + 2 for i, p in enumerate(protocol_list)} self.default_observation: Dict = { - i - + 1: { + i: { "position": i, "permission": 0, "source_ip_id": 0, @@ -94,12 +93,11 @@ class ACLObservation(AbstractObservation, discriminator="acl"): return self.default_observation obs = {} acl_items = dict(acl_state.items()) - i = 1 # don't show rule 0 for compatibility reasons. - while i < self.num_rules + 1: + for i in range(self.num_rules): rule_state = acl_items[i] if rule_state is None: obs[i] = { - "position": i - 1, + "position": i, "permission": 0, "source_ip_id": 0, "source_wildcard_id": 0, @@ -125,7 +123,7 @@ class ACLObservation(AbstractObservation, discriminator="acl"): protocol = rule_state["protocol"] protocol_id = self.protocol_to_id.get(protocol, 1) obs[i] = { - "position": i - 1, + "position": i, "permission": rule_state["action"], "source_ip_id": src_node_id, "source_wildcard_id": src_wildcard_id, @@ -135,7 +133,6 @@ class ACLObservation(AbstractObservation, discriminator="acl"): "dest_port_id": dst_port_id, "protocol_id": protocol_id, } - i += 1 return obs @property @@ -148,8 +145,7 @@ class ACLObservation(AbstractObservation, discriminator="acl"): """ return spaces.Dict( { - i - + 1: spaces.Dict( + i: spaces.Dict( { "position": spaces.Discrete(self.num_rules), "permission": spaces.Discrete(3), diff --git a/tests/integration_tests/game_layer/observations/test_acl_observations.py b/tests/integration_tests/game_layer/observations/test_acl_observations.py index 0a633b2d..c70c454d 100644 --- a/tests/integration_tests/game_layer/observations/test_acl_observations.py +++ b/tests/integration_tests/game_layer/observations/test_acl_observations.py @@ -47,7 +47,7 @@ def test_acl_observations(simulation): observation_space = acl_obs.observe(simulation.describe_state()) assert observation_space.get(1) is not None rule_obs = observation_space.get(1) # this is the ACL Rule added to allow NTP - assert rule_obs.get("position") == 0 # rule was put at position 1 (0 because counting from 1 instead of 1) + assert rule_obs.get("position") == 1 # rule was put at position 1 assert rule_obs.get("permission") == 1 # permit = 1 deny = 2 assert rule_obs.get("source_ip_id") == 1 # applies to all source nodes assert rule_obs.get("dest_ip_id") == 1 # applies to all destination nodes @@ -60,7 +60,7 @@ def test_acl_observations(simulation): observation_space = acl_obs.observe(simulation.describe_state()) assert observation_space.get(1) is not None rule_obs = observation_space.get(1) # this is the ACL Rule added to allow NTP - assert rule_obs.get("position") == 0 + assert rule_obs.get("position") == 1 assert rule_obs.get("permission") == 0 assert rule_obs.get("source_ip_id") == 0 assert rule_obs.get("dest_ip_id") == 0 diff --git a/tests/integration_tests/game_layer/observations/test_firewall_observation.py b/tests/integration_tests/game_layer/observations/test_firewall_observation.py index 874fa49e..431fff91 100644 --- a/tests/integration_tests/game_layer/observations/test_firewall_observation.py +++ b/tests/integration_tests/game_layer/observations/test_firewall_observation.py @@ -11,15 +11,15 @@ from primaite.utils.validation.port import PORT_LOOKUP def check_default_rules(acl_obs): assert len(acl_obs) == 7 - assert all(acl_obs[i]["position"] == i - 1 for i in range(1, 8)) - assert all(acl_obs[i]["permission"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["source_ip_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["source_wildcard_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["source_port_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["dest_ip_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["dest_wildcard_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["dest_port_id"] == 0 for i in range(1, 8)) - assert all(acl_obs[i]["protocol_id"] == 0 for i in range(1, 8)) + assert all(acl_obs[i]["position"] == i for i in range(7)) + assert all(acl_obs[i]["permission"] == 0 for i in range(7)) + assert all(acl_obs[i]["source_ip_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["source_wildcard_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["source_port_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["dest_ip_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["dest_wildcard_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["dest_port_id"] == 0 for i in range(7)) + assert all(acl_obs[i]["protocol_id"] == 0 for i in range(7)) def test_firewall_observation(): @@ -75,7 +75,7 @@ def test_firewall_observation(): observation = firewall_observation.observe(firewall.describe_state()) observed_rule = observation["ACL"]["INTERNAL"]["INBOUND"][5] - assert observed_rule["position"] == 4 + assert observed_rule["position"] == 5 assert observed_rule["permission"] == 2 assert observed_rule["source_ip_id"] == 2 assert observed_rule["source_wildcard_id"] == 3 diff --git a/tests/integration_tests/game_layer/observations/test_router_observation.py b/tests/integration_tests/game_layer/observations/test_router_observation.py index 495e102d..ddbbb655 100644 --- a/tests/integration_tests/game_layer/observations/test_router_observation.py +++ b/tests/integration_tests/game_layer/observations/test_router_observation.py @@ -53,7 +53,7 @@ def test_router_observation(): # Observe the state using the RouterObservation instance observed_output = router_observation.observe(router.describe_state()) observed_rule = observed_output["ACL"][5] - assert observed_rule["position"] == 4 + assert observed_rule["position"] == 5 assert observed_rule["permission"] == 2 assert observed_rule["source_ip_id"] == 2 assert observed_rule["source_wildcard_id"] == 3 @@ -77,7 +77,7 @@ def test_router_observation(): ) observed_output = router_observation.observe(router.describe_state()) observed_rule = observed_output["ACL"][2] - assert observed_rule["position"] == 1 + assert observed_rule["position"] == 2 assert observed_rule["permission"] == 1 assert observed_rule["source_ip_id"] == 1 assert observed_rule["source_wildcard_id"] == 1 From 3b4fb2d27fa7d90e71837058d820484c20541c30 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 14:03:18 +0000 Subject: [PATCH 03/23] #3087 Addressing docustring TODO's and a few minor spelling mistakes. --- .../game/agent/scripted_agents/TAP001.py | 7 +++---- .../game/agent/scripted_agents/TAP003.py | 16 ++++++++++------ .../game/agent/scripted_agents/abstract_tap.py | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/primaite/game/agent/scripted_agents/TAP001.py b/src/primaite/game/agent/scripted_agents/TAP001.py index d6634c8a..80f4af03 100644 --- a/src/primaite/game/agent/scripted_agents/TAP001.py +++ b/src/primaite/game/agent/scripted_agents/TAP001.py @@ -148,7 +148,7 @@ class TAP001(AbstractTAP, discriminator="tap-001"): """ class AgentSettingsSchema(AbstractTAP.AgentSettingsSchema): - """TODO.""" + """TAP001's AgentSettings schema (Expands upon the inherited AbstractTAP `AgentSettingsSchema`).""" target_ips: Optional[List[StrIP]] = [] default_target_ip: StrIP @@ -178,11 +178,10 @@ class TAP001(AbstractTAP, discriminator="tap-001"): "Dictionary containing all C2 stage relevant user settings." payload_settings: dict = {} "Dictionary containing all Payload stage relevant internal and user settings." - chosen_application: str = "" """The name of the agent's currently chosen application.""" - target_ip: Optional[IPV4Address] = None # TODO: make it not optional? - """The name (string) of TAP agent's target node. This attribute is initialised via _select_target_node.""" + target_ip: Optional[IPV4Address] = None + """TAP001's current target ip. This attribute is changed dynamically through out the kill chain.""" network_knowledge: Dict = {} diff --git a/src/primaite/game/agent/scripted_agents/TAP003.py b/src/primaite/game/agent/scripted_agents/TAP003.py index 099632a3..467c209a 100644 --- a/src/primaite/game/agent/scripted_agents/TAP003.py +++ b/src/primaite/game/agent/scripted_agents/TAP003.py @@ -18,17 +18,23 @@ class InsiderKillChainOptions(KillChainOptions): """Model validation for TAP003's Kill Chain.""" class _PlanningOptions(KillChainStageOptions): - """...""" + """Valid options for the `PLANNING` InsiderKillChain stage.""" starting_network_knowledge: Dict # TODO: more specific schema here? class _AccessOptions(KillChainStageOptions): + """Valid options for the `ACCESS` InsiderKillChain stage.""" + pass class _ManipulationOptions(KillChainStageOptions): + """Valid options for the `MANIPULATION` InsiderKillChain stage.""" + account_changes: List[Dict] = [] # TODO: More specific schema here? class _ExploitOptions(KillChainStageOptions): + """Valid options for the `EXPLOIT` InsiderKillChain stage.""" + malicious_acls: List[RouterACLAddRuleAction.ConfigSchema] = [] PLANNING: _PlanningOptions = Field(default_factory=lambda: InsiderKillChainOptions._PlanningOptions()) @@ -92,7 +98,7 @@ class TAP003(AbstractTAP, discriminator="tap-003"): """ class AgentSettingsSchema(AbstractTAP.AgentSettingsSchema): - """TODO.""" + """Agent Settings Schema that enforces TAP003's `kill_chain` config to use the InsiderKillChainOptions.""" kill_chain: InsiderKillChainOptions # = Field(default_factory=lambda: MobileMalwareKillChainOptions()) @@ -103,10 +109,8 @@ class TAP003(AbstractTAP, discriminator="tap-003"): agent_settings: "TAP003.AgentSettingsSchema" = Field(default_factory=lambda: TAP003.AgentSettingsSchema()) config: ConfigSchema - selected_kill_chain: Type[InsiderKillChain] = InsiderKillChain _current_acl: int = 0 - network_knowledge: Dict = {} # TODO: more specific typing def __init__(self, *args, **kwargs): @@ -280,7 +284,7 @@ class TAP003(AbstractTAP, discriminator="tap-003"): Second stage in the Insider kill chain. Performs a trial using the given user PLANNING stage probability. - If the trial is successful then the agent populates its knowledgebase with information from the config. + If the trial is successful then the agent populates its knowledge base with information from the config. Otherwise, the stage is not progressed. Additionally, the agent's kill chain is set to failure if the repeat_kill_chain_stages parameter is set to FALSE. @@ -298,7 +302,7 @@ class TAP003(AbstractTAP, discriminator="tap-003"): "credentials" ] = self.config.agent_settings.kill_chain.PLANNING.starting_network_knowledge["credentials"] self.current_host = self.starting_node - self.logger.info("Resolving starting knoweldge.") + self.logger.info("Resolving starting knowledge.") self._progress_kill_chain() if self.current_stage_progress == KillChainStageProgress.PENDING: self.logger.info(f"TAP003 reached the {self.current_kill_chain_stage.name}") diff --git a/src/primaite/game/agent/scripted_agents/abstract_tap.py b/src/primaite/game/agent/scripted_agents/abstract_tap.py index dcdde3ce..a7e2124f 100644 --- a/src/primaite/game/agent/scripted_agents/abstract_tap.py +++ b/src/primaite/game/agent/scripted_agents/abstract_tap.py @@ -92,7 +92,7 @@ class AbstractTAP(AbstractScriptedAgent): """ class AgentSettingsSchema(AbstractScriptedAgent.AgentSettingsSchema): - """TODO.""" + """Agent Settings Schema. Default settings applied for all threat actor profiles.""" start_step: int = 5 frequency: int = 5 From d8c8aa40a4f63307ef9cdae19a29f266f2dd1e43 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Mon, 10 Feb 2025 14:39:28 +0000 Subject: [PATCH 04/23] 3086 UC7 Migration - All YAMLS, tests and notebooks. A few lingering issues such as the OS-SCAN not working and agent logs not appearing. --- CHANGELOG.md | 10 + docs/Makefile | 2 +- docs/build-sphinx-docs-to-github-pages.sh | 2 +- docs/source/configuration/agents.rst | 3 +- .../nodes/common/common_node_attributes.rst | 33 + .../simulation/nodes/network_examples.rst | 12 +- .../configuration/simulation/nodes/router.rst | 6 +- .../how_to_guides/extensible_agents.rst | 6 +- .../source/how_to_guides/extensible_nodes.rst | 8 +- docs/source/request_system.rst | 2 + .../simulation_components/network/network.rst | 8 +- .../network/nodes/wireless_router.rst | 4 +- .../system/applications/c2_suite.rst | 2 +- .../applications/data_manipulation_bot.rst | 4 +- .../system/applications/database_client.rst | 2 +- .../system/applications/ransomware_script.rst | 2 +- .../system/applications/web_browser.rst | 2 +- .../system/services/database_service.rst | 2 +- .../system/services/dns_client.rst | 2 +- .../system/services/dns_server.rst | 2 +- .../system/services/ftp_client.rst | 2 +- .../system/services/ftp_server.rst | 2 +- .../system/services/ntp_client.rst | 2 +- .../system/services/ntp_server.rst | 2 +- .../system/services/terminal.rst | 131 +- .../system/services/web_server.rst | 2 +- .../simulation_components/system/software.rst | 2 +- .../config/_package_data/uc7_config.yaml | 3253 ++++++++++++++++ .../_package_data/uc7_config_tap003.yaml | 3303 +++++++++++++++++ .../TAP001_PC1.yaml | 43 + .../TAP001_PC2.yaml | 43 + .../TAP001_PC3.yaml | 43 + .../uc7_multiple_attack_variants/TAP003.yaml | 94 + .../schedule.yaml | 42 + .../uc7_config_no_red.yaml | 3210 ++++++++++++++++ src/primaite/game/agent/actions/node.py | 71 +- src/primaite/game/agent/actions/session.py | 13 +- src/primaite/game/agent/interface.py | 54 +- .../observations/file_system_observations.py | 53 +- .../agent/observations/host_observations.py | 46 +- .../agent/observations/nic_observations.py | 49 +- .../agent/observations/node_observations.py | 18 +- .../agent/observations/observation_manager.py | 9 +- .../game/agent/observations/observations.py | 36 +- .../observations/software_observation.py | 78 +- src/primaite/game/game.py | 26 +- ...ommand-and-Control-E2E-Demonstration.ipynb | 174 +- ...a-Manipulation-Customising-Red-Agent.ipynb | 56 +- .../Data-Manipulation-E2E-Demonstration.ipynb | 11 +- .../Getting-Information-Out-Of-PrimAITE.ipynb | 45 +- .../How-To-Use-Primaite-Dev-Mode.ipynb | 479 +++ .../notebooks/Requests-and-Responses.ipynb | 2 +- .../notebooks/Terminal-Processing.ipynb | 286 +- src/primaite/notebooks/UC7-E2E-Demo.ipynb | 1621 ++++++++ .../notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb | 1843 +++++++++ .../notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb | 1687 +++++++++ src/primaite/notebooks/UC7-Training.ipynb | 156 + .../notebooks/UC7-attack-variants.ipynb | 586 +++ .../notebooks/UC7-network_connectivity.ipynb | 1141 ++++++ .../uc7/blue_agent_action_and_obs.png | Bin 0 -> 1434611 bytes .../_package_data/uc7/uc7_network.png | Bin 0 -> 162485 bytes .../uc7/uc7_network_detailed.png | Bin 0 -> 623890 bytes .../uc7/uc7_network_detailed_svg.svg | 4 + .../uc7/uc7_tap001/uc7_tap001_activate.png | Bin 0 -> 1096235 bytes .../uc7/uc7_tap001/uc7_tap001_c2.png | Bin 0 -> 1172061 bytes .../uc7_tap001_download_install.png | Bin 0 -> 1093876 bytes .../uc7/uc7_tap001/uc7_tap001_main.png | Bin 0 -> 1406363 bytes .../uc7/uc7_tap001/uc7_tap001_payload.png | Bin 0 -> 1195203 bytes .../uc7/uc7_tap001/uc7_tap001_propagate_1.png | Bin 0 -> 1096276 bytes .../uc7/uc7_tap001/uc7_tap001_propagate_2.png | Bin 0 -> 1368149 bytes .../uc7/uc7_tap001/uc7_tap001_propagate_3.png | Bin 0 -> 1216513 bytes .../uc7/uc7_tap001/uc7_tap001_propagate_4.png | Bin 0 -> 1250401 bytes .../uc7/uc7_tap001_training_static_red.png | Bin 0 -> 71590 bytes .../uc7/uc7_tap003/uc7_tap003_main.png | Bin 0 -> 1393729 bytes .../uc7/uc7_tap003_training_static_red.png | Bin 0 -> 62378 bytes src/primaite/session/environment.py | 30 +- .../simulator/network/hardware/base.py | 22 +- .../network/hardware/nodes/host/host_node.py | 19 +- .../hardware/nodes/network/firewall.py | 2 +- .../network/hardware/nodes/network/router.py | 21 +- .../network/transmission/data_link_layer.py | 2 +- .../simulator/system/services/arp/arp.py | 3 +- .../system/services/terminal/terminal.py | 78 +- .../system/services/web_server/web_server.py | 55 +- .../configs/basic_switched_network.yaml | 26 +- .../configs/nodes_with_initial_files.yaml | 226 ++ .../e2e_integration_tests/test_uc7_agents.py | 173 + .../test_uc7_route_connectivity.py | 237 ++ .../test_uc7_services_and_applications.py | 338 ++ .../threat_actor_profiles/__init__.py | 1 + .../test_abstract_tap.py | 143 + .../test_kill_chain_methods.py | 69 + .../test_tap001_kill_chain_repeat.py | 109 + .../test_tap001_kill_chain_stages.py | 215 ++ .../test_tap001_propagate_stage.py | 140 + .../test_tap003_kill_chain_repeat.py | 101 + .../test_tap003_kill_chain_stages.py | 232 ++ .../test_tap003_multiple_rules.py | 201 + .../test_game_options_config.py | 41 +- .../test_node_file_system_config.py | 64 + .../threat_actor_profile_settings/__init__.py | 1 + .../test_kill_chain_settings.py | 23 + .../test_threat_actor_profile_settings.py | 35 + .../extensions/nodes/giga_switch.py | 2 +- .../actions/test_terminal_actions.py | 54 +- .../actions/test_user_account_actions.py | 176 + .../test_file_system_observations.py | 32 + .../observations/test_nic_observations.py | 27 +- .../observations/test_node_observations.py | 2 + .../observations/test_obs_data_capture.py | 28 + .../test_software_observations.py | 38 +- .../game_layer/test_RNG_seed.py | 22 + .../game_layer/test_actions.py | 10 +- .../network/test_capture_nmne.py | 22 + tests/integration_tests/system/test_arp.py | 19 +- .../_game/_agent/test_observations.py | 227 +- .../_system/_services/test_ftp_client.py | 2 +- .../_system/_services/test_terminal.py | 57 + 118 files changed, 21789 insertions(+), 368 deletions(-) create mode 100644 src/primaite/config/_package_data/uc7_config.yaml create mode 100644 src/primaite/config/_package_data/uc7_config_tap003.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/schedule.yaml create mode 100644 src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml create mode 100644 src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb create mode 100644 src/primaite/notebooks/UC7-E2E-Demo.ipynb create mode 100644 src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb create mode 100644 src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb create mode 100644 src/primaite/notebooks/UC7-Training.ipynb create mode 100644 src/primaite/notebooks/UC7-attack-variants.ipynb create mode 100644 src/primaite/notebooks/UC7-network_connectivity.ipynb create mode 100644 src/primaite/notebooks/_package_data/uc7/blue_agent_action_and_obs.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_network.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_network_detailed.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_activate.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_c2.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_download_install.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_main.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_payload.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_1.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_2.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_3.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_4.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap003/uc7_tap003_main.png create mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap003_training_static_red.png create mode 100644 tests/assets/configs/nodes_with_initial_files.yaml create mode 100644 tests/e2e_integration_tests/test_uc7_agents.py create mode 100644 tests/e2e_integration_tests/test_uc7_route_connectivity.py create mode 100644 tests/e2e_integration_tests/test_uc7_services_and_applications.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/__init__.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py create mode 100644 tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py create mode 100644 tests/integration_tests/configuration_file_parsing/test_node_file_system_config.py create mode 100644 tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/__init__.py create mode 100644 tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py create mode 100644 tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py create mode 100644 tests/integration_tests/game_layer/actions/test_user_account_actions.py create mode 100644 tests/integration_tests/game_layer/observations/test_obs_data_capture.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f87f54e..871b9923 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [4.0.0] = TBC ### Added +- Log observation space data by episode and step. +- Added `show_history` method to Agents, allowing you to view actions taken by an agent per step. By default, `do-nothing` actions are omitted. +- New ``node-send-local-command`` action implemented which grants agents the ability to execute commands locally. (Previously limited to remote only) +- Added ability to set the observation threshold for NMNE, file access and application executions ### Changed - Agents now follow a common configuration format, simplifying the configuration of agents and their extensibilty. @@ -24,6 +28,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated tests that don't use YAMLs to still use the new action and agent schemas - Nodes now use a config schema and are extensible, allowing for plugin support. - Node tests have been updated to use the new node config schemas when not using YAML files. +- ACLs are no longer applied to layer-2 traffic. +- Random number seed values are recorded in simulation/seed.log if the seed is set in the config file + or `generate_seed_value` is set to `true`. +- ARP .show() method will now include the port number associated with each entry. +- Added `services_requires_scan` and `applications_requires_scan` to agent observation space config to allow the agents to be able to see actual health states of services and applications without requiring scans (Default `True`, set to `False` to allow agents to see actual health state without scanning). +- Updated the `Terminal` class to provide response information when sending remote command execution. ### Fixed - DNS client no longer fails to check its cache if a DNS server address is missing. diff --git a/docs/Makefile b/docs/Makefile index 99e19d16..d0f9af01 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,4 +1,4 @@ -# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK # Minimal makefile for Sphinx documentation # You can set these variables from the command line, and also # from the environment for the first two. diff --git a/docs/build-sphinx-docs-to-github-pages.sh b/docs/build-sphinx-docs-to-github-pages.sh index 9e43a2b4..a180f168 100644 --- a/docs/build-sphinx-docs-to-github-pages.sh +++ b/docs/build-sphinx-docs-to-github-pages.sh @@ -1,4 +1,4 @@ -# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK #!/bin/bash set -x diff --git a/docs/source/configuration/agents.rst b/docs/source/configuration/agents.rst index dce8da3a..ee84aede 100644 --- a/docs/source/configuration/agents.rst +++ b/docs/source/configuration/agents.rst @@ -21,7 +21,7 @@ Agents can be scripted (deterministic and stochastic), or controlled by a reinfo team: GREEN type: probabilistic-agent observation_space: - type: UC2GreenObservation + type: UC2GreenObservation # TODO: what action_space: reward_function: reward_components: @@ -160,3 +160,4 @@ If ``True``, gymnasium flattening will be performed on the observation space bef ----------------- Agents will record their action log for each step. This is a summary of what the agent did, along with response information from requests within the simulation. +A summary of the actions taken by the agent can be viewed using the `show_history()` function. By default, this will display all actions taken apart from ``DONOTHING``. diff --git a/docs/source/configuration/simulation/nodes/common/common_node_attributes.rst b/docs/source/configuration/simulation/nodes/common/common_node_attributes.rst index 542b817b..e6d5da67 100644 --- a/docs/source/configuration/simulation/nodes/common/common_node_attributes.rst +++ b/docs/source/configuration/simulation/nodes/common/common_node_attributes.rst @@ -54,6 +54,39 @@ Optional. Default value is ``3``. The number of time steps required to occur in order for the node to cycle from ``ON`` to ``SHUTTING_DOWN`` and then finally ``OFF``. +``file_system`` +--------------- + +Optional. + +The file system of the node. This configuration allows nodes to be initialised with files and/or folders. + +The file system takes a list of folders and files. + +Example: + +.. code-block:: yaml + + simulation: + network: + nodes: + - hostname: client_1 + type: computer + ip_address: 192.168.10.11 + subnet_mask: 255.255.255.0 + default_gateway: 192.168.10.1 + file_system: + - empty_folder # example of an empty folder + - downloads: + - "test_1.txt" # files in the downloads folder + - "test_2.txt" + - root: + - passwords: # example of file with size and type + size: 69 # size in bytes + type: TXT # See FileType for list of available file types + +List of file types: :py:mod:`primaite.simulator.file_system.file_type.FileType` + ``users`` --------- diff --git a/docs/source/configuration/simulation/nodes/network_examples.rst b/docs/source/configuration/simulation/nodes/network_examples.rst index 4616139e..84ee4c60 100644 --- a/docs/source/configuration/simulation/nodes/network_examples.rst +++ b/docs/source/configuration/simulation/nodes/network_examples.rst @@ -1177,8 +1177,8 @@ ACLs permitting or denying traffic as per our configured ACL rules. some_tech_storage_srv = network.get_node_by_hostname("some_tech_storage_srv") some_tech_storage_srv.file_system.create_file(file_name="test.png") - pc_1_ftp_client: FTPClient = network.get_node_by_hostname("pc_1").software_manager.software["FTPClient"] - pc_2_ftp_client: FTPClient = network.get_node_by_hostname("pc_2").software_manager.software["FTPClient"] + pc_1_ftp_client: FTPClient = network.get_node_by_hostname("pc_1").software_manager.software["ftp-client"] + pc_2_ftp_client: FTPClient = network.get_node_by_hostname("pc_2").software_manager.software["ftp-client"] assert not pc_1_ftp_client.request_file( dest_ip_address=some_tech_storage_srv.network_interface[1].ip_address, @@ -1224,7 +1224,7 @@ ACLs permitting or denying traffic as per our configured ACL rules. web_server: Server = network.get_node_by_hostname("some_tech_web_srv") - web_ftp_client: FTPClient = web_server.software_manager.software["FTPClient"] + web_ftp_client: FTPClient = web_server.software_manager.software["ftp-client"] assert not web_ftp_client.request_file( dest_ip_address=some_tech_storage_srv.network_interface[1].ip_address, @@ -1269,7 +1269,7 @@ ACLs permitting or denying traffic as per our configured ACL rules. some_tech_storage_srv.file_system.create_file(file_name="test.png") some_tech_snr_dev_pc: Computer = network.get_node_by_hostname("some_tech_snr_dev_pc") - snr_dev_ftp_client: FTPClient = some_tech_snr_dev_pc.software_manager.software["FTPClient"] + snr_dev_ftp_client: FTPClient = some_tech_snr_dev_pc.software_manager.software["ftp-client"] assert snr_dev_ftp_client.request_file( dest_ip_address=some_tech_storage_srv.network_interface[1].ip_address, @@ -1294,7 +1294,7 @@ ACLs permitting or denying traffic as per our configured ACL rules. some_tech_storage_srv.file_system.create_file(file_name="test.png") some_tech_jnr_dev_pc: Computer = network.get_node_by_hostname("some_tech_jnr_dev_pc") - jnr_dev_ftp_client: FTPClient = some_tech_jnr_dev_pc.software_manager.software["FTPClient"] + jnr_dev_ftp_client: FTPClient = some_tech_jnr_dev_pc.software_manager.software["ftp-client"] assert not jnr_dev_ftp_client.request_file( dest_ip_address=some_tech_storage_srv.network_interface[1].ip_address, @@ -1337,7 +1337,7 @@ ACLs permitting or denying traffic as per our configured ACL rules. some_tech_storage_srv.file_system.create_file(file_name="test.png") some_tech_hr_pc: Computer = network.get_node_by_hostname("some_tech_hr_1") - hr_ftp_client: FTPClient = some_tech_hr_pc.software_manager.software["FTPClient"] + hr_ftp_client: FTPClient = some_tech_hr_pc.software_manager.software["ftp-client"] assert not hr_ftp_client.request_file( dest_ip_address=some_tech_storage_srv.network_interface[1].ip_address, diff --git a/docs/source/configuration/simulation/nodes/router.rst b/docs/source/configuration/simulation/nodes/router.rst index 4b41784c..ee278a98 100644 --- a/docs/source/configuration/simulation/nodes/router.rst +++ b/docs/source/configuration/simulation/nodes/router.rst @@ -74,7 +74,7 @@ The subnet mask setting for the port. ``acl`` ------- -Sets up the ACL rules for the router. +Sets up the ACL rules for the router to apply to layer-3 traffic. These are not applied to layer-2 traffic such as ARP. e.g. @@ -85,10 +85,6 @@ e.g. ... acl: 1: - action: PERMIT - src_port: ARP - dst_port: ARP - 2: action: PERMIT protocol: ICMP diff --git a/docs/source/how_to_guides/extensible_agents.rst b/docs/source/how_to_guides/extensible_agents.rst index 1d765417..3236c21a 100644 --- a/docs/source/how_to_guides/extensible_agents.rst +++ b/docs/source/how_to_guides/extensible_agents.rst @@ -46,17 +46,13 @@ The core features that should be implemented in any new agent are detailed below - ref: example_green_agent team: GREEN - type: ExampleAgent + type: example-agent action_space: action_map: 0: action: do-nothing options: {} - reward_function: - reward_components: - - type: dummy - agent_settings: start_step: 25 frequency: 20 diff --git a/docs/source/how_to_guides/extensible_nodes.rst b/docs/source/how_to_guides/extensible_nodes.rst index 043d0f06..18d64ca8 100644 --- a/docs/source/how_to_guides/extensible_nodes.rst +++ b/docs/source/how_to_guides/extensible_nodes.rst @@ -26,9 +26,9 @@ class Router(NetworkNode, identifier="router"): """ Represents a network router within the simulation, managing routing and forwarding of IP packets across network interfaces.""" SYSTEM_SOFTWARE: ClassVar[Dict] = { - "UserSessionManager": UserSessionManager, - "UserManager": UserManager, - "Terminal": Terminal, + "user-session-manager": UserSessionManager, + "user-manager": UserManager, + "terminal": Terminal, } network_interfaces: Dict[str, RouterInterface] = {} @@ -52,4 +52,4 @@ class Router(NetworkNode, identifier="router"): Changes to YAML file. ===================== -While effort has been made to ensure that nodes defined within configuration YAML files for use with PrimAITE 3.X remain compatible with PrimAITE v4+, it is encouraged to review for minor changes needed. +While effort has been made to ensure that nodes defined within configuration YAML files for use with PrimAITE 3.X remain compatible with PrimAITE v4+, it is encouraged to review for minor changes needed. diff --git a/docs/source/request_system.rst b/docs/source/request_system.rst index f0437705..93fc2a9f 100644 --- a/docs/source/request_system.rst +++ b/docs/source/request_system.rst @@ -2,6 +2,8 @@ © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +.. _request_system: + Request System ************** diff --git a/docs/source/simulation_components/network/network.rst b/docs/source/simulation_components/network/network.rst index 152b74b8..a6fe4070 100644 --- a/docs/source/simulation_components/network/network.rst +++ b/docs/source/simulation_components/network/network.rst @@ -97,19 +97,19 @@ we'll use the following Network that has a client, server, two switches, and a r network.connect(endpoint_a=switch_2.network_interface[1], endpoint_b=client_1.network_interface[1]) network.connect(endpoint_a=switch_1.network_interface[1], endpoint_b=server_1.network_interface[1]) -8. Add ACL rules on the Router to allow ARP and ICMP traffic. +8. Add an ACL rule on the Router to allow ICMP traffic. .. code-block:: python router_1.acl.add_rule( action=ACLAction.PERMIT, - src_port=Port["ARP"], - dst_port=Port["ARP"], + src_port=PORT_LOOKUP["ARP"], + dst_port=PORT_LOOKUP["ARP"], position=22 ) router_1.acl.add_rule( action=ACLAction.PERMIT, - protocol=IPProtocol["ICMP"], + protocol=PROTOCOL_LOOKUP["ICMP"], position=23 ) diff --git a/docs/source/simulation_components/network/nodes/wireless_router.rst b/docs/source/simulation_components/network/nodes/wireless_router.rst index d7207846..4078ffda 100644 --- a/docs/source/simulation_components/network/nodes/wireless_router.rst +++ b/docs/source/simulation_components/network/nodes/wireless_router.rst @@ -102,8 +102,8 @@ ICMP traffic, ensuring basic network connectivity and ping functionality. network.connect(pc_a.network_interface[1], router_1.router_interface) # Configure Router 1 ACLs - router_1.acl.add_rule(action=ACLAction.PERMIT, src_port=Port["ARP"], dst_port=Port["ARP"], position=22) - router_1.acl.add_rule(action=ACLAction.PERMIT, protocol=IPProtocol["ICMP"], position=23) + router_1.acl.add_rule(action=ACLAction.PERMIT, src_port=PORT_LOOKUP["ARP"], dst_port=PORT_LOOKUP["ARP"], position=22) + router_1.acl.add_rule(action=ACLAction.PERMIT, protocol=PROTOCOL_LOOKUP["ICMP"], position=23) # Configure PC B pc_b = Computer( diff --git a/docs/source/simulation_components/system/applications/c2_suite.rst b/docs/source/simulation_components/system/applications/c2_suite.rst index 34175fc3..c780485a 100644 --- a/docs/source/simulation_components/system/applications/c2_suite.rst +++ b/docs/source/simulation_components/system/applications/c2_suite.rst @@ -183,7 +183,7 @@ Python # Example command: Installing and configuring Ransomware: ransomware_installation_command = { "commands": [ - ["software_manager","application","install","RansomwareScript"], + ["software_manager","application","install","ransomware-script"], ], "username": "admin", "password": "admin", diff --git a/docs/source/simulation_components/system/applications/data_manipulation_bot.rst b/docs/source/simulation_components/system/applications/data_manipulation_bot.rst index 8e008504..3ddb8bca 100644 --- a/docs/source/simulation_components/system/applications/data_manipulation_bot.rst +++ b/docs/source/simulation_components/system/applications/data_manipulation_bot.rst @@ -77,7 +77,7 @@ Python network.connect(endpoint_b=client_1.network_interface[1], endpoint_a=switch_2.network_interface[1]) client_1.software_manager.install(DatabaseClient) client_1.software_manager.install(DataManipulationBot) - data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("DataManipulationBot") + data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("data-manipulation-bot") data_manipulation_bot.configure(server_ip_address=IPv4Address("192.168.1.14"), payload="DELETE") data_manipulation_bot.run() @@ -98,7 +98,7 @@ If not using the data manipulation bot manually, it needs to be used with a data type: red-database-corrupting-agent observation_space: - type: UC2RedObservation + type: uc2-red-observation #TODO what options: nodes: - node_name: client_1 diff --git a/docs/source/simulation_components/system/applications/database_client.rst b/docs/source/simulation_components/system/applications/database_client.rst index 7087dedf..472b504c 100644 --- a/docs/source/simulation_components/system/applications/database_client.rst +++ b/docs/source/simulation_components/system/applications/database_client.rst @@ -59,7 +59,7 @@ Python # install DatabaseClient client.software_manager.install(DatabaseClient) - database_client: DatabaseClient = client.software_manager.software.get("DatabaseClient") + database_client: DatabaseClient = client.software_manager.software.get("database-sclient") # Configure the DatabaseClient database_client.configure(server_ip_address=IPv4Address("192.168.0.1")) # address of the DatabaseService diff --git a/docs/source/simulation_components/system/applications/ransomware_script.rst b/docs/source/simulation_components/system/applications/ransomware_script.rst index 192618fc..a8975f32 100644 --- a/docs/source/simulation_components/system/applications/ransomware_script.rst +++ b/docs/source/simulation_components/system/applications/ransomware_script.rst @@ -62,7 +62,7 @@ Python network.connect(endpoint_b=client_1.network_interface[1], endpoint_a=switch_2.network_interface[1]) client_1.software_manager.install(DatabaseClient) client_1.software_manager.install(RansomwareScript) - RansomwareScript: RansomwareScript = client_1.software_manager.software.get("RansomwareScript") + RansomwareScript: RansomwareScript = client_1.software_manager.software.get("ransomware-script") RansomwareScript.configure(server_ip_address=IPv4Address("192.168.1.14")) RansomwareScript.execute() diff --git a/docs/source/simulation_components/system/applications/web_browser.rst b/docs/source/simulation_components/system/applications/web_browser.rst index c04e60af..659caa09 100644 --- a/docs/source/simulation_components/system/applications/web_browser.rst +++ b/docs/source/simulation_components/system/applications/web_browser.rst @@ -61,7 +61,7 @@ The :ref:`DNSClient` must be configured to use the :ref:`DNSServer`. The :ref:`D # Install WebBrowser on computer computer.software_manager.install(WebBrowser) - web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser") + web_browser: WebBrowser = computer.software_manager.software.get("web-browser") web_browser.run() # configure the WebBrowser diff --git a/docs/source/simulation_components/system/services/database_service.rst b/docs/source/simulation_components/system/services/database_service.rst index 961f2e45..c819a0f7 100644 --- a/docs/source/simulation_components/system/services/database_service.rst +++ b/docs/source/simulation_components/system/services/database_service.rst @@ -66,7 +66,7 @@ Python # Install DatabaseService on server server.software_manager.install(DatabaseService) - db_service: DatabaseService = server.software_manager.software.get("DatabaseService") + db_service: DatabaseService = server.software_manager.software.get("database-service") db_service.start() # configure DatabaseService diff --git a/docs/source/simulation_components/system/services/dns_client.rst b/docs/source/simulation_components/system/services/dns_client.rst index 17a1ed25..40762bfc 100644 --- a/docs/source/simulation_components/system/services/dns_client.rst +++ b/docs/source/simulation_components/system/services/dns_client.rst @@ -56,7 +56,7 @@ Python # Install DNSClient on server server.software_manager.install(DNSClient) - dns_client: DNSClient = server.software_manager.software.get("DNSClient") + dns_client: DNSClient = server.software_manager.software.get("dns-client") dns_client.start() # configure DatabaseService diff --git a/docs/source/simulation_components/system/services/dns_server.rst b/docs/source/simulation_components/system/services/dns_server.rst index 633221d5..ca0e3691 100644 --- a/docs/source/simulation_components/system/services/dns_server.rst +++ b/docs/source/simulation_components/system/services/dns_server.rst @@ -53,7 +53,7 @@ Python # Install DNSServer on server server.software_manager.install(DNSServer) - dns_server: DNSServer = server.software_manager.software.get("DNSServer") + dns_server: DNSServer = server.software_manager.software.get("dns-server") dns_server.start() # configure DatabaseService diff --git a/docs/source/simulation_components/system/services/ftp_client.rst b/docs/source/simulation_components/system/services/ftp_client.rst index d4375069..530b5aff 100644 --- a/docs/source/simulation_components/system/services/ftp_client.rst +++ b/docs/source/simulation_components/system/services/ftp_client.rst @@ -60,7 +60,7 @@ Python # Install FTPClient on server server.software_manager.install(FTPClient) - ftp_client: FTPClient = server.software_manager.software.get("FTPClient") + ftp_client: FTPClient = server.software_manager.software.get("ftp-client") ftp_client.start() diff --git a/docs/source/simulation_components/system/services/ftp_server.rst b/docs/source/simulation_components/system/services/ftp_server.rst index a5ad32fe..20dd6707 100644 --- a/docs/source/simulation_components/system/services/ftp_server.rst +++ b/docs/source/simulation_components/system/services/ftp_server.rst @@ -55,7 +55,7 @@ Python # Install FTPServer on server server.software_manager.install(FTPServer) - ftp_server: FTPServer = server.software_manager.software.get("FTPServer") + ftp_server: FTPServer = server.software_manager.software.get("ftp-server") ftp_server.start() ftp_server.server_password = "test" diff --git a/docs/source/simulation_components/system/services/ntp_client.rst b/docs/source/simulation_components/system/services/ntp_client.rst index 8c011cad..5406d9fc 100644 --- a/docs/source/simulation_components/system/services/ntp_client.rst +++ b/docs/source/simulation_components/system/services/ntp_client.rst @@ -53,7 +53,7 @@ Python # Install NTPClient on server server.software_manager.install(NTPClient) - ntp_client: NTPClient = server.software_manager.software.get("NTPClient") + ntp_client: NTPClient = server.software_manager.software.get("ntp-client") ntp_client.start() ntp_client.configure(ntp_server_ip_address=IPv4Address("192.168.0.10")) diff --git a/docs/source/simulation_components/system/services/ntp_server.rst b/docs/source/simulation_components/system/services/ntp_server.rst index c1d16d61..2c01dcaf 100644 --- a/docs/source/simulation_components/system/services/ntp_server.rst +++ b/docs/source/simulation_components/system/services/ntp_server.rst @@ -55,7 +55,7 @@ Python # Install NTPServer on server server.software_manager.install(NTPServer) - ntp_server: NTPServer = server.software_manager.software.get("NTPServer") + ntp_server: NTPServer = server.software_manager.software.get("ntp-server") ntp_server.start() diff --git a/docs/source/simulation_components/system/services/terminal.rst b/docs/source/simulation_components/system/services/terminal.rst index bc5cee48..5c9bad79 100644 --- a/docs/source/simulation_components/system/services/terminal.rst +++ b/docs/source/simulation_components/system/services/terminal.rst @@ -23,6 +23,14 @@ Key capabilities - Simulates common Terminal processes/commands. - Leverages the Service base class for install/uninstall, status tracking etc. +Usage +""""" + + - Pre-Installs on any `Node` component (with the exception of `Switches`). + - Terminal Clients connect, execute commands and disconnect from remote nodes. + - Ensures that users are logged in to the component before executing any commands. + - Service runs on SSH port 22 by default. + - Enables Agents to send commands both remotely and locally. Implementation """""""""""""" @@ -30,19 +38,112 @@ Implementation - Manages remote connections in a dictionary by session ID. - Processes commands, forwarding to the ``RequestManager`` or ``SessionManager`` where appropriate. - Extends Service class. - - A detailed guide on the implementation and functionality of the Terminal class can be found in the "Terminal-Processing" jupyter notebook. + +A detailed guide on the implementation and functionality of the Terminal class can be found in the "Terminal-Processing" jupyter notebook. + +Command Format +^^^^^^^^^^^^^^ + +Terminals implement their commands through leveraging the pre-existing :ref:`request_system`. + +Due to this Terminals will only accept commands passed within the ``RequestFormat``. + +:py:class:`primaite.game.interface.RequestFormat` + +For example, ``terminal`` command actions when used in ``yaml`` format are formatted as follows: + +.. code-block:: yaml + + command: + - "file_system" + - "create" + - "file" + - "downloads" + - "cat.png" + - "False + +This is then loaded from yaml into a dictionary containing the terminal command: + +.. code-block:: python + + {"command":["file_system", "create", "file", "downloads", "cat.png", "False"]} + +Which is then passed to the ``Terminals`` Request Manager to be executed. + +Game Layer Usage (Agents) +======================== + +The below code examples demonstrate how to use terminal related actions in yaml files. + +yaml +"""" + +``node-send-local-command`` +""""""""""""""""""""""""""" + +Agents can execute local commands without needing to perform a separate remote login action (``node-session-remote-login``). + +.. code-block:: yaml + + ... + ... + action: node-send-local-command + options: + node_id: 0 + username: admin + password: admin + command: # Example command - Creates a file called 'cat.png' in the downloads folder. + - "file_system" + - "create" + - "file" + - "downloads" + - "cat.png" + - "False" -Usage -""""" +``node-session-remote-login`` +""""""""""""""""" - - Pre-Installs on all ``Nodes`` (with the exception of ``Switches``). - - Terminal Clients connect, execute commands and disconnect from remote nodes. - - Ensures that users are logged in to the component before executing any commands. - - Service runs on SSH port 22 by default. +Agents are able to use the terminal to login into remote nodes via ``SSH`` which allows for agents to execute commands on remote hosts. + +.. code-block:: yaml + + ... + ... + action: node-session-remote-login + options: + node_id: 0 + username: admin + password: admin + remote_ip: 192.168.0.10 # Example Ip Address. (The remote host's IP that will be used by ssh) + + +``node-send-remote-command`` +"""""""""""""""""""""""""""" + +After remotely logging into another host, an agent can use the ``node-send-remote-command`` to execute commands across the network remotely. + +.. code-block:: yaml + + ... + ... + action: node-send-remote-command + options: + node_id: 0 + remote_ip: 192.168.0.10 + command: + - "file_system" + - "create" + - "file" + - "downloads" + - "cat.png" + - "False" + + + +Simulation Layer Usage +====================== -Usage -===== The below code examples demonstrate how to create a terminal, a remote terminal, and how to send a basic application install command to a remote node. @@ -65,7 +166,7 @@ Python operating_state=NodeOperatingState.ON, ) - terminal: Terminal = client.software_manager.software.get("Terminal") + terminal: Terminal = client.software_manager.software.get("terminal") Creating Remote Terminal Connection """"""""""""""""""""""""""""""""""" @@ -86,7 +187,7 @@ Creating Remote Terminal Connection node_b.power_on() network.connect(node_a.network_interface[1], node_b.network_interface[1]) - terminal_a: Terminal = node_a.software_manager.software.get("Terminal") + terminal_a: Terminal = node_a.software_manager.software.get("terminal") term_a_term_b_remote_connection: RemoteTerminalConnection = terminal_a.login(username="admin", password="Admin123!", ip_address="192.168.0.11") @@ -112,12 +213,12 @@ Executing a basic application install command node_b.power_on() network.connect(node_a.network_interface[1], node_b.network_interface[1]) - terminal_a: Terminal = node_a.software_manager.software.get("Terminal") + terminal_a: Terminal = node_a.software_manager.software.get("terminal") term_a_term_b_remote_connection: RemoteTerminalConnection = terminal_a.login(username="admin", password="Admin123!", ip_address="192.168.0.11") - term_a_term_b_remote_connection.execute(["software_manager", "application", "install", "RansomwareScript"]) + term_a_term_b_remote_connection.execute(["software_manager", "application", "install", "ransomware-script"]) @@ -140,7 +241,7 @@ Creating a folder on a remote node node_b.power_on() network.connect(node_a.network_interface[1], node_b.network_interface[1]) - terminal_a: Terminal = node_a.software_manager.software.get("Terminal") + terminal_a: Terminal = node_a.software_manager.software.get("terminal") term_a_term_b_remote_connection: RemoteTerminalConnection = terminal_a.login(username="admin", password="Admin123!", ip_address="192.168.0.11") @@ -167,7 +268,7 @@ Disconnect from Remote Node node_b.power_on() network.connect(node_a.network_interface[1], node_b.network_interface[1]) - terminal_a: Terminal = node_a.software_manager.software.get("Terminal") + terminal_a: Terminal = node_a.software_manager.software.get("terminal") term_a_term_b_remote_connection: RemoteTerminalConnection = terminal_a.login(username="admin", password="Admin123!", ip_address="192.168.0.11") diff --git a/docs/source/simulation_components/system/services/web_server.rst b/docs/source/simulation_components/system/services/web_server.rst index bce42791..9d7f4d2f 100644 --- a/docs/source/simulation_components/system/services/web_server.rst +++ b/docs/source/simulation_components/system/services/web_server.rst @@ -56,7 +56,7 @@ Python # Install WebServer on server server.software_manager.install(WebServer) - web_server: WebServer = server.software_manager.software.get("WebServer") + web_server: WebServer = server.software_manager.software.get("web-server") web_server.start() Via Configuration diff --git a/docs/source/simulation_components/system/software.rst b/docs/source/simulation_components/system/software.rst index d28815bb..c2f3066b 100644 --- a/docs/source/simulation_components/system/software.rst +++ b/docs/source/simulation_components/system/software.rst @@ -30,7 +30,7 @@ See :ref:`Node Start up and Shut down` node.software_manager.install(WebServer) - web_server: WebServer = node.software_manager.software.get("WebServer") + web_server: WebServer = node.software_manager.software.get("web-server") assert web_server.operating_state is ServiceOperatingState.RUNNING # service is immediately ran after install node.power_off() diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml new file mode 100644 index 00000000..2a665e46 --- /dev/null +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -0,0 +1,3253 @@ +########################################################## +# USE CASE 7 CONFIGURATION YAML FILE # +########################################################## + + +########################################## +# PrimAITE Game and Logging Settings # +########################################## + + +# PrimAITE I/O Settings # + +io_settings: + save_agent_actions: false + save_step_metadata: false + save_pcap_logs: false + save_sys_logs: True + # save_sys_logs: true + write_sys_log_to_terminal: false + + +# PrimAITE Game Settings # + +game: + max_episode_length: 128 + ports: + - FTP + - DNS + - HTTP + - NTP + - POSTGRES_SERVER + - SSH + protocols: + - ICMP + - TCP + - UDP + thresholds: + nmne: + high: 10 + medium: 5 + low: 0 + +############################################ +# PrimAITE Use Case 7 Simulation # +############################################ + +########################################## +# Configuration Variables (Yaml Anchors) # +########################################## + +# External Network Address List # + +DNS_SUBNET: &DNS_SUBNET 255.255.255.240 # | 8.8.8.0 / 28 +HOME_INTERNET_SUBNET: &HOME_INTERNET_SUBNET 255.255.255.252 # | 10.1.0.0 / 30 +REMOTE_INTERNET_SUBNET: &REMOTE_INTERNET_SUBNET 255.255.255.252 # | 10.1.10.0 / 30 +SOME_TECH_INTERNET_SUBNET: &ST_INTERNET_SUBNET 255.255.255.252 # | 10.1.100.0 / 30 +HOME_OFFICE_SUBNET: &HOME_SUBNET 255.255.255.0 # | 192.168.1.0 / 26 +REMOTE_SUBNET_DMZ: &REMOTE_SUBNET_DMZ 255.255.255.252 # | 192.168.10.0 / 30 +REMOTE_SUBNET: &REMOTE_SUBNET 255.255.255.240 # | 192.168.20.0 / 28 + +# SOME_TECH (ST) Network Address List # + +SOME_TECH_DMZ_SUBNET: &ST_DMZ_SUBNET 255.255.255.252 # | 192.168.100.0 / 30 +SOME_TECH_INTRANET_RT_CR_SUBNET: &ST_INTRA_CR_SUBNET 255.255.255.240 # | 192.168.150.0 / 28 +SOME_TECH_INTRANET_RT_DR_ONE_SUBNET: &ST_INTRA_DR_ONE_SUBNET 255.255.255.252 # | 192.168.160.0 / 30 +SOME_TECH_INTRANET_RT_DR_TWO_SUBNET: &ST_INTRA_DR_TWO_SUBNET 255.255.255.252 # | 192.168.170.0 / 30 +SOME_TECH_HEAD_OFFICE_SUBNET: &ST_HO_SUBNET 255.255.255.248 # | 192.168.200.0 / 29 +SOME_TECH_HUMAN_RESOURCES_SUBNET: &ST_HR_SUBNET 255.255.255.248 # | 192.168.210.0 / 29 +SOME_TECH_DATA_SUBNET: &ST_DATA_SUBNET 255.255.255.248 # | 192.168.220.0 / 29 +SOME_TECH_PROJECT_A_SUBNET: &ST_PROJ_A_SUBNET 255.255.255.248 # | 192.168.230.0 / 29 +SOME_TECH_PROJECT_B_SUBNET: &ST_PROJ_B_SUBNET 255.255.255.248 # | 192.168.240.0 / 29 +SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # | 192.168.250.0 / 29 + +# Host & Server Configurations # + +# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 +SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # + - type: web-server + +# ISP Public DNS | dns-server | ISP-PUB-SRV-DNS +PUBLIC_DNS_IP_ADDRESS: &PUBLIC_DNS_IP 8.8.8.8 +PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # + - type: dns-server + options: + domain_mapping: + some_tech.com: *ST_PUB_SRV_WEB_IP + +# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 +SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG + - type: ftp-server + +# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 +SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG + - type: database-service + options: + backup_server_ip: *ST_SRV_STORAGE_IP + - type: ftp-client + +# Default PC Configuration | Database Client & Web Server +PERSONAL_COMPUTER_DEFAULT_CONFIG: &PC_DEFAULT_CONFIG + - type: database-client + options: + db_server_ip: *ST_SRV_DB_IP + - type: web-browser + options: + target_url: http://some_tech.com + + +############################## +# Simulation Configuration # +############################## + +simulation: + defaults: + folder_scan_duration: 0 + folder_restore_duration: 3 + service_fix_duration: 2 + service_restart_duration: 2 + software_install_duration: 0 + node_start_up_duration: 3 + node_shut_down_duration: 3 + node_scan_duration: 8 + network: + nmne_config: + capture_nmne: true + nmne_capture_keywords: + - DELETE + - ENCRYPT + nodes: + ###################### + # HOME OFFICE SUBNET # + ###################### + - hostname: HOME-PUB-RT-DR + type: router + default_gateway: 10.1.0.1 + ports: + 1: + ip_address: 192.168.1.1 + subnet_mask: *HOME_SUBNET + 2: + ip_address: 10.1.0.2 + subnet_mask: *HOME_INTERNET_SUBNET + default_route: + next_hop_ip_address: 10.1.0.1 + acl: + 5: + action: PERMIT + + - hostname: HOME-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: HOME-PUB-PC-1 + type: computer + ip_address: 192.168.1.2 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-PC-2 + type: computer + ip_address: 192.168.1.3 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-SRV + type: server + ip_address: 192.168.1.4 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + + ###################### + # INTERNET SUBNET # + ###################### + - hostname: ISP-PUB-RT-BR + type: router + ports: + 1: + ip_address: 10.1.0.1 + subnet_mask: *HOME_INTERNET_SUBNET + 2: + ip_address: 8.8.8.1 + subnet_mask: *DNS_SUBNET + 3: + ip_address: 10.1.10.1 + subnet_mask: *REMOTE_INTERNET_SUBNET + 4: + ip_address: 10.1.100.1 + subnet_mask: *ST_INTERNET_SUBNET + routes: + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.0.2 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 8.8.8.8 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.10.2 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.10.2 + + default_route: + next_hop_ip_address: 10.1.100.2 # SOME_TECH Firewall + + acl: + 5: + action: PERMIT + + ################ + # DNS SUBNET # + ################ + - hostname: ISP-PUB-SRV-DNS + type: server + ip_address: 8.8.8.8 + subnet_mask: *DNS_SUBNET + default_gateway: 8.8.8.1 + services: + *PUBLIC_DNS_CONFIG + applications: + - type: c2-server # Represents the external internet. + options: + listen_on_ports: + - 80 + - 53 + - 21 + ######################## + # REMOTE SITE SUBNET # + ######################## + - hostname: REM-PUB-FW + type: firewall + ports: + external_port: # Public Internet facing + ip_address: 10.1.10.2 + subnet_mask: *REMOTE_INTERNET_SUBNET + internal_port: # Remote Site (DMZ Subnet) facing + ip_address: 192.168.10.1 + subnet_mask: *REMOTE_SUBNET_DMZ + routes: + - address: 192.168.20.0 # Remote Site Network + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 192.168.10.2 + default_route: + next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 1: + action: PERMIT + internal_outbound_acl: + 1: + action: PERMIT + dmz_inbound_acl: + 1: + action: PERMIT + dmz_outbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + + - hostname: REM-PUB-RT-DR + type: router + default_gateway: 192.168.10.1 + ports: + 1: + ip_address: 192.168.10.2 + subnet_mask: *REMOTE_SUBNET_DMZ + 2: + ip_address: 192.168.20.1 + subnet_mask: *REMOTE_SUBNET + default_route: + next_hop_ip_address: 192.168.10.1 + acl: + 5: + action: PERMIT + + - hostname: REM-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: REM-PUB-PC-1 + type: computer + ip_address: 192.168.20.2 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-PC-2 + type: computer + ip_address: 192.168.20.3 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-SRV + type: server + ip_address: 192.168.20.4 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + + + ######################## + # SOME_TECH DMZ SUBNET # + ######################## + + - hostname: ST-PUB-FW + type: firewall + ports: + external_port: # Public Internet Facing Port + ip_address: 10.1.100.2 + subnet_mask: *ST_INTERNET_SUBNET + internal_port: # SOME_TECH Intranet Port + ip_address: 192.168.150.1 + subnet_mask: *ST_INTRA_CR_SUBNET + dmz_port: # SOME_TECH Port Facing Port + ip_address: 192.168.100.1 + subnet_mask: *ST_DMZ_SUBNET + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 5: + action: PERMIT + internal_outbound_acl: + 5: + action: PERMIT + dmz_inbound_acl: + 5: + action: PERMIT + dmz_outbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + routes: + - address: 10.1.100.0 + subnet_mask: *ST_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.10.0 + subnet_mask: *REMOTE_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.0.0 + subnet_mask: *HOME_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 10.1.100.1 + + # - address: 192.168.150.0 + # subnet_mask: *ST_INTRA_CR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.160.0 + # subnet_mask: *ST_INTRA_DR_ONE_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.170.0 + # subnet_mask: *ST_INTRA_DR_TWO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.200.0 + # subnet_mask: *ST_HO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.210.0 + # subnet_mask: *ST_HR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.220.0 + # subnet_mask: *ST_DATA_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.230.0 + # subnet_mask: *ST_PROJ_A_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.240.0 + # subnet_mask: *ST_PROJ_B_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.250.0 + # subnet_mask: *ST_PROJ_C_SUBNET + # next_hop_ip_address: 192.168.150.2 + default_route: + #next_hop_ip_address: 10.1.100.1 + next_hop_ip_address: 192.168.150.2 + + - hostname: ST-DMZ-PUB-SRV-WEB + type: server + ip_address: *ST_PUB_SRV_WEB_IP + subnet_mask: *ST_DMZ_SUBNET + default_gateway: 192.168.100.1 + services: + *ST_SRV_WEB_CONFIG + + ############################# + # SOME_TECH INTRANET SUBNET # + ############################# + + - hostname: ST-INTRA-PRV-RT-CR + type: router + ports: + 1: + ip_address: 192.168.150.2 + subnet_mask: *ST_INTRA_CR_SUBNET + 2: + ip_address: 192.168.160.1 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 3: + ip_address: 192.168.170.1 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 4: + ip_address: 192.168.220.1 + subnet_mask: *ST_DATA_SUBNET + + routes: + - address: 192.168.200.0 + subnet_mask: *ST_HO_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.210.0 + subnet_mask: *ST_HR_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.230.0 + subnet_mask: *ST_PROJ_A_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.240.0 + subnet_mask: *ST_PROJ_B_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.250.0 + subnet_mask: *ST_PROJ_C_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + + default_route: + next_hop_ip_address: 192.168.150.1 # ST Public Firewall Internal Port + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-1 + type: router + ports: + 1: + ip_address: 192.168.160.2 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 2: + ip_address: 192.168.230.1 + subnet_mask: *ST_PROJ_A_SUBNET + 3: + ip_address: 192.168.240.1 + subnet_mask: *ST_PROJ_B_SUBNET + 4: + ip_address: 192.168.250.1 + subnet_mask: *ST_PROJ_C_SUBNET + default_route: + next_hop_ip_address: 192.168.160.1 # ST Intranet CR Router Port 2 + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-2 + type: router + default_gateway: 192.168.170.1 + ports: + 1: + ip_address: 192.168.170.2 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 2: + ip_address: 192.168.200.1 + subnet_mask: *ST_HO_SUBNET + 3: + ip_address: 192.168.210.1 + subnet_mask: *ST_HR_SUBNET + default_route: + next_hop_ip_address: 192.168.170.1 # ST Intranet CR Router Port 3 + acl: + 5: + action: PERMIT + + ################################ + # SOME_TECH HEAD OFFICE SUBNET # + ################################ + + - hostname: ST-HO-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HO-PRV-PC-1 + type: computer + ip_address: 192.168.200.2 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-2 + type: computer + ip_address: 192.168.200.3 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-3 + type: computer + ip_address: 192.168.200.4 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + #################################### + # SOME_TECH HUMAN RESOURCES SUBNET # + #################################### + + - hostname: ST-HR-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HR-PRV-PC-1 + type: computer + ip_address: 192.168.210.2 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-2 + type: computer + ip_address: 192.168.210.3 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-3 + type: computer + ip_address: 192.168.210.4 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ######################### + # SOME_TECH DATA SUBNET # + ######################### + + - hostname: ST-DATA-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-DATA-PRV-SRV-STORAGE + type: server + ip_address: *ST_SRV_STORAGE_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_STORAGE_CONFIG + + - hostname: ST-DATA-PRV-SRV-DB + type: server + ip_address: *ST_SRV_DB_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_DB_CONFIG + + ####################### + # SOME_TECH PROJECT A # + ####################### + + - hostname: ST-PROJ-A-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-A-PRV-PC-1 + type: computer + ip_address: 192.168.230.2 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-2 + type: computer + ip_address: 192.168.230.3 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-3 + type: computer + ip_address: 192.168.230.4 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT B # + ####################### + + - hostname: ST-PROJ-B-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-B-PRV-PC-1 + type: computer + ip_address: 192.168.240.2 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-2 + type: computer + ip_address: 192.168.240.3 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-3 + type: computer + ip_address: 192.168.240.4 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT C # + ####################### + + - hostname: ST-PROJ-C-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-C-PRV-PC-1 + type: computer + ip_address: 192.168.250.2 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-2 + type: computer + ip_address: 192.168.250.3 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-3 + type: computer + ip_address: 192.168.250.4 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + + ############################## + # Simulation Network Links # + ############################## + links: + + ############################ + # HOME OFFICE SUBNET LINKS # + ############################ + + # Home Switch (Port 1) --> Home Router (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 1 + + # Home Switch (Port 2) --> PC 1 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: HOME-PUB-PC-1 + endpoint_b_port: 1 + + # Home Switch (Port 3) --> PC 2 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: HOME-PUB-PC-2 + endpoint_b_port: 1 + + # Home Switch (Port 4) --> PC SRV (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: HOME-PUB-SRV + endpoint_b_port: 1 + + ################## + # Internet Links # + ################## + + # Internet Router (Port 1) --> Home Router (Port 2) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 2 + + # Internet Router (Port 2) --> DNS Server (Port 1) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 2 + endpoint_b_hostname: ISP-PUB-SRV-DNS + endpoint_b_port: 1 + + # Internet Router (Port 3) --> Remote Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-FW + endpoint_b_port: 1 + + #################### + # Remote DMZ Links # + #################### + + # Remote Firewall (Internal Port) --> Remote Site Router (Port 1) + - endpoint_a_hostname: REM-PUB-FW + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-RT-DR + endpoint_b_port: 1 + + #################### + # Remote Site Link # + #################### + + # Remote Site Router (Port 2) --> Remote Site Switch (Port 1) + - endpoint_a_hostname: REM-PUB-RT-DR + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-SW-AS + endpoint_b_port: 1 + + # Remote Site Switch (Port 2) --> Remote Site PC 1 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-PC-1 + endpoint_b_port: 1 + + # Remote Site Switch (Port 3) --> Remote Site PC 2 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-PC-2 + endpoint_b_port: 1 + + # Remote Site Switch (Port 4) --> Remote Site Server (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: REM-PUB-SRV + endpoint_b_port: 1 + + ####################### + # SOME_TECH DMZ Links # + ####################### + + # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 4 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 1 + + # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) + - endpoint_a_hostname: ST-PUB-FW + endpoint_a_port: 3 + endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_port: 1 + + ############################ + # SOME_TECH INTRANET Links # + ############################ + + # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 1 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 2 + + # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 2 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_port: 1 + + # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 3 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 1 + + # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 4 + endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_port: 1 + + + ############################### + # SOME_TECH HEAD OFFICE Links # + ############################### + + # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 2 + + # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_port: 1 + + + ################################### + # SOME_TECH HUMAN RESOURCES Links # + ################################### + + # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 3 + + # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_port: 1 + + ######################## + # SOME_TECH DATA Links # + ######################## + + # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_port: 1 + + # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) + + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT A Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT B Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT C Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_port: 1 + +################################## +# Use Case 7 Agent YAML Anchors # +################################## + +############################## +# Green Agent YAML Anchors # +############################## + +# Green Agent Reward Impacts Values # + +LOW_WEIGHT_IMPACT: &LOW_WEIGHT_IMPACT 0.2 +MEDIUM_WEIGHT_IMPACT: &MEDIUM_WEIGHT_IMPACT 0.5 +HIGH_WEIGHT_IMPACT: &HIGH_WEIGHT_IMPACT 0.95 + +LOW_WEIGHT_IMPACT_NEGATIVE: &LOW_WEIGHT_IMPACT_NEG -0.2 +MEDIUM_WEIGHT_IMPACT_NEGATIVE: &MEDIUM_WEIGHT_IMPACT_NEG -0.5 +HIGH_WEIGHT_IMPACT_NEGATIVE: &HIGH_WEIGHT_IMPACT_NEG -0.8 + +# Default Green Agent Action Space Configuration Anchor # + +DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # Ensures green agent activity through-out an episode + +################################################# +# Probabilistic Green Agent Config Yaml Anchors # +################################################# + +# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 + action_probabilities: + 0: 0.8 + 1: 0.2 + +# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 + action_probabilities: + 0: 0.6 + 1: 0.4 + +# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 + action_probabilities: + 0: 0.4 + 1: 0.6 + + +# System Green Agent Config UC7 Network Wide Yaml Anchor # + +# Lists the IP_Address of all hosts that contain DNS and NTP Service Clients +UC7_IP_LIST: &UC7_IP_LIST + # ====== Home Office ======== + - 192.168.1.2 # HOME-PUB-PC-1 | ip_id: 2 + - 192.168.1.3 # HOME-PUB-PC-2 | ip_id: 3 + - 192.168.1.4 # HOME-PUB-PC-SRV | ip_id: 4 + # ====== Remote Site ======== + - 192.168.20.2 # REM-PUB-PC-1 | ip_id: 5 + - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 + - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 + # ====== ST Public DMZ ======= + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + # ====== ST Head Office ======= + - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + # ===== ST Human Resources ====== + - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + # ====== ST DATA Servers ======= + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + # ====== ST Project A ======= + - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 + - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 + - 192.168.230.4 # PROJ-A-PRV-PC-3 | ip_id: 19 + # ====== ST Project B ======= + - 192.168.240.2 # PROJ-B-PRV-PC-1 | ip_id: 20 + - 192.168.240.3 # PROJ-B-PRV-PC-2 | ip_id: 21 + - 192.168.240.4 # PROJ-B-PRV-PC-3 | ip_id: 22 + # ====== ST Project C ======= + - 192.168.250.2 # PROJ-C-PRV-PC-1 | ip_id: 23 + - 192.168.250.3 # PROJ-C-PRV-PC-2 | ip_id: 24 + - 192.168.250.4 # PROJ-C-PRV-PC-3 | ip_id: 25 + +############################################ +# Use Case 7 Agent Configuration Section # +############################################ + +agents: + ####################################################### + # UC7 Green Agents Path of Life (POL) Configuration # + ####################################################### + + + #################################### + # Home Office Network POL Config # + #################################### + + # Home Office Green Agent Pattern Of Life + # ====================================== + # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: HOME_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-1"] + target_application: "database-client" + start_step: 4 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-2"] + target_application: "database-client" + start_step: 8 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + - ref: HOME_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + #################################### + # Remote Site Network POL Config # + #################################### + + # Remote Site Green Agent Pattern Of Life + # ====================================== + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: REMOTE_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-1"] + target_application: "database-client" + start_step: 12 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-2"] + target_application: "database-client" + start_step: 16 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + - ref: REMOTE_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + #################################### + # ST Project A Network POL Config # + #################################### + + # ST Project A Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + + - ref: PROJ_A-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + - ref: PROJ_A-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + #################################### + # ST Project B Network POL Config # + #################################### + + # ST Project B Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_B-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + - ref: PROJ_B-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + #################################### + # ST Project C Network POL Config # + #################################### + + # ST Project C Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_C-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + - ref: PROJ_C-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + ###################################### + # ST Head Office Network POL Config # + ###################################### + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: CEO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-1 + + - ref: CTO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-2 + + - ref: CFO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-3 + + ########################################## + # ST Human Resources Network POL Config # + ########################################## + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: SENIOR_HR + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-1 + + - ref: JUNIOR_HR-1 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-2 + + - ref: JUNIOR_HR-2 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-3 + + ########################## + # UC7 Red Agent Config # + ########################## + + - ref: attacker + team: RED + type: tap-001 + agent_settings: + start_step: 1 + frequency: 5 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_target_ip: *ST_SRV_DB_IP + default_starting_node: "ST-PROJ-A-PRV-PC-1" + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + starting_nodes: + kill_chain: + ACTIVATE: + probability: 1 + PROPAGATE: + probability: 1 + scan_attempts: 20 + repeat_scan: false + network_addresses: + - 192.168.230.0/29 # ST Project A + - 192.168.10.0/26 # Remote Site + - 192.168.20.0/30 # Remote DMZ + # - 192.168.240.0/29 # ST Project B + # - 192.168.250.0/29 # ST Project C + - 192.168.220.0/29 # ST Data (Contains Target) + COMMAND_AND_CONTROL: + probability: 1 + keep_alive_frequency: 5 + masquerade_port: HTTP + masquerade_protocol: TCP + c2_server_name: ISP-PUB-SRV-DNS + c2_server_ip: *PUBLIC_DNS_IP + PAYLOAD: + probability: 1 + exfiltrate: true + corrupt: true + exfiltration_folder_name: + target_username: admin + target_password: admin + continue_on_failed_exfil: True + + +########################### +# UC7 Blue Agent Config # +########################### + + - ref: defender + team: BLUE + type: proxy-agent + observation_space: + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 + - hostname: ST-PROJ-A-PRV-PC-1 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + - application_name: database-client + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 + - hostname: ST-PROJ-B-PRV-PC-2 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 + - hostname: ST-PROJ-C-PRV-PC-3 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # ST DATA Server Database + - hostname: ST-DATA-PRV-SRV-DB + folders: + - folder_name: database + files: + - file_name: database.db + routers: + - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 + num_ports: 5 + num_services: 2 + num_applications: 2 + num_folders: 2 + num_files: 1 + num_nics: 1 + ip_list: + # ip_list is indexed at 2: + # 0 reserved for padding to align with observations + # 1 reserved for ALL ips + *UC7_IP_LIST + wildcard_list: + - 0.0.0.1 # 0 + - 0.0.0.255 # 1 + - 0.0.255.255 # 2 + port_list: + # 0 is a padding placeholder + # 1 means ALL ports + - FTP # 2 + - DNS # 3 + - HTTP # 4 + - NTP # 5 + - POSTGRES_SERVER # 6 + - SSH # 7 + + protocol_list: + # 0 is padding placeholder + # 1 means ALL protocols + - ICMP # 2 + - TCP # 3 + - UDP # 4 + num_rules: 5 + include_num_access: true + include_nmne: true + monitored_traffic: + tcp: + - HTTP + - POSTGRES_SERVER + icmp: + - NONE + - type: links + label: LINKS + options: + link_references: + # HOME OFFICE SUBNET LINKS + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-RT-DR:eth-1 # 1 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-1:eth-1 # 2 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-2:eth-1 # 3 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-SRV:eth-1 # 4 + # Internet LINKS + - ISP-PUB-RT-BR:eth-1<->HOME-PUB-RT-DR:eth-2 # 5 + - ISP-PUB-RT-BR:eth-2<->ISP-PUB-SRV-DNS:eth-1 # 6 + - ISP-PUB-RT-BR:eth-3<->REM-PUB-FW:eth-1 # 7 + # Remote DMZ Links + - REM-PUB-FW:eth-2<->REM-PUB-RT-DR:eth-1 # 8 + # Remote Site Links + - REM-PUB-RT-DR:eth-2<->REM-PUB-SW-AS:eth-1 # 9 + - REM-PUB-SW-AS:eth-2<->REM-PUB-PC-1:eth-1 # 10 + - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 + - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 + # SOME_TECH DMZ + - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 + - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + # SOME_TECH Intranet + - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 + - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + # SOME_TECH Head Office + - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 + - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 + - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + # SOME_TECH Human Resources + - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 + - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 + - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + # SOME_TECH Data Links + - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + # SOME_TECH Project A Links + - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + # SOME_TECH Project B Links + - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 + - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 + - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + # SOME_TECH Project C Links + - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + action_space: + action_map: + 0: + action: do-nothing + options: {} + + # |======================================| + # | ST-PROJ-A-PRV-PC-1 | + # |======================================| + + # ST-PROJ-A-PRV-PC-1 | node-os-scan + 1: + action: node-os-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-shutdown + 2: + action: node-shutdown + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-startup + 3: + action: node-startup + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-reset + 4: + action: node-reset + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | host-nic-disable + 5: + action: host-nic-disable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | host-nic-enable + 6: + action: host-nic-enable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + 7: + action: node-application-close + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + 8: + action: node-application-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + 9: + action: node-application-fix + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + 10: + action: node-application-remove + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + 11: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + 12: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + 13: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + 14: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-B-PRV-PC-2 | + # |======================================| + + # ST-PROJ-B-PRV-PC-2 | node-os-scan + 15: + action: node-os-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-shutdown + 16: + action: node-shutdown + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-startup + 17: + action: node-startup + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-reset + 18: + action: node-reset + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | host-nic-disable + 19: + action: host-nic-disable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | host-nic-enable + 20: + action: host-nic-enable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + 21: + action: node-application-close + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + 22: + action: node-application-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + 23: + action: node-application-fix + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + 24: + action: node-application-remove + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + 25: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + 26: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + 27: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + 28: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-C-PRV-PC-3 | + # |======================================| + + # ST-PROJ-C-PRV-PC-3 | node-os-scan + 29: + action: node-os-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-shutdown + 30: + action: node-shutdown + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-startup + 31: + action: node-startup + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-reset + 32: + action: node-reset + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | host-nic-disable + 33: + action: host-nic-disable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | host-nic-enable + 34: + action: host-nic-enable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + 35: + action: node-application-close + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + 36: + action: node-application-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + 37: + action: node-application-fix + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + 38: + action: node-application-remove + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + 39: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + 40: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + 41: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + 42: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + + # |======================================| + # | ST-INTRA-PRV-RT-CR | + # |======================================| + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 43: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + 44: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 45: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + permission: DENY + src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + 46: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 47: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + permission: DENY + src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + 48: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + + # |======================================| + # | ST-DATA-PRV-SRV-DB | + # |======================================| + + # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + 49: + action: node-file-scan + options: + node_name: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + 50: + action: node-account-change-password + options: + node_name: ST-DATA-PRV-SRV-DB + username: admin # default account + current_password: admin # default password + new_password: thr33_alert_wolv3z # A more 'secure' password + + # |======================================| + # | ST-INTRA-PRV-RT-DR-1 | + # |======================================| + + # ST-INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + 51: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: SSH + dst_ip: ALL + dst_wildcard: 0.0.255.255 + dst_port: SSH + protocol_name: TCP + + # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + 52: + action: node-account-change-password + options: + node_name: ST-INTRA-PRV-RT-DR-1 + username: admin + current_password: admin + new_password: secure_password + + # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + 53: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + + # |======================================| + # | REM-PUB-RT-DR | + # |======================================| + + # REM-PUB-RT-DR | node-account-change-password + 54: + action: node-account-change-password + options: + node_name: REM-PUB-RT-DR + username: admin + current_password: admin + new_password: secure_password + + # REM-PUB-RT-DR | router-acl-remove-rule | Removes the given ACL at position 1 + 55: + action: router-acl-remove-rule + options: + target_router: REM-PUB-RT-DR + position: 1 + + reward_function: + reward_components: + - type: database-file-integrity + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # Home Site Green Agents (32 Green Agents each contributing 0.03125 of blue reward) + + # Blue Shared Reward | HOME_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-DB + + # Blue Shared Reward | HOME_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-WEB + + # Blue Shared Reward | HOME_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-DB + + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-WEB + + # Remote Site Green Agents + + # Blue Shared Reward | REMOTE_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-DB + + # Blue Shared Reward | REMOTE_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-WEB + + # Blue Shared Reward | REMOTE_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-DB + + # Blue Shared Reward | REMOTE_WORKER-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-WEB + + # ST Project A Green Agents + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-WEB + + # ST Project B Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Project C Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Head Office Green Agents (CEO/CFO/CTO) + + # Blue Shared Reward | CEO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CEO + + # Blue Shared Reward | CFO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CFO + + # Blue Shared Reward | CTO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CTO + + # ST Human Resources Green Agents + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: SENIOR_HR + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-1 + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-2 + + agent_settings: + flatten_obs: True + + + + # ####################################### + # # UC7 Network Wide System POL Config # + # ####################################### + + # # UC7 Network Wide System Pattern Of Life + # # ========================================== + # # 1. All NTP Clients perform periodic NTP Server transactions. + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: NTPClient Node Service Start doesn't start a 'Request' + + # # 1. All NTP Clients perform periodic NTP Server transactions. + + # - ref: SYSTEM-NTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # NTPClient + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: NTPClient + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: NTPClient + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: NTPClient + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: NTPClient + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + + # - ref: SYSTEM-FTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_FIX + # action_map: + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_FIX + # options: + # node_id: 0 + # service_id: 0 + # options: + # nodes: + # - node_name: ST-DATA-PRV-SRV-DB + # applications: + # - application_name: database-client + # ip_list: + # - *ST_SRV_DB_IP + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 4 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 4 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: Address issue where dns-clients can't be started directly via agents + # - ref: SYSTEM-DNS + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # dns-client + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-SRV + # services: + # - service_name: dns-client + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-SRV + # services: + # - service_name: dns-client + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: dns-client + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: dns-client + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: dns-client + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: dns-client + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: dns-client + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml new file mode 100644 index 00000000..f2d86236 --- /dev/null +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -0,0 +1,3303 @@ +########################################################## +# USE CASE 7 CONFIGURATION YAML FILE # +########################################################## + + +########################################## +# PrimAITE Game and Logging Settings # +########################################## + + +# PrimAITE I/O Settings # + +io_settings: + save_agent_actions: false + save_step_metadata: false + save_pcap_logs: false + save_sys_logs: True + # save_sys_logs: true + write_sys_log_to_terminal: false + + +# PrimAITE Game Settings # + +game: + max_episode_length: 128 + ports: + - FTP + - DNS + - HTTP + - NTP + - POSTGRES_SERVER + - SSH + protocols: + - ICMP + - TCP + - UDP + thresholds: + nmne: + high: 10 + medium: 5 + low: 0 + +############################################ +# PrimAITE Use Case 7 Simulation # +############################################ + +########################################## +# Configuration Variables (Yaml Anchors) # +########################################## + +# External Network Address List # + +DNS_SUBNET: &DNS_SUBNET 255.255.255.240 # | 8.8.8.0 / 28 +HOME_INTERNET_SUBNET: &HOME_INTERNET_SUBNET 255.255.255.252 # | 10.1.0.0 / 30 +REMOTE_INTERNET_SUBNET: &REMOTE_INTERNET_SUBNET 255.255.255.252 # | 10.1.10.0 / 30 +SOME_TECH_INTERNET_SUBNET: &ST_INTERNET_SUBNET 255.255.255.252 # | 10.1.100.0 / 30 +HOME_OFFICE_SUBNET: &HOME_SUBNET 255.255.255.0 # | 192.168.1.0 / 26 +REMOTE_SUBNET_DMZ: &REMOTE_SUBNET_DMZ 255.255.255.252 # | 192.168.10.0 / 30 +REMOTE_SUBNET: &REMOTE_SUBNET 255.255.255.240 # | 192.168.20.0 / 28 + +# SOME_TECH (ST) Network Address List # + +SOME_TECH_DMZ_SUBNET: &ST_DMZ_SUBNET 255.255.255.252 # | 192.168.100.0 / 30 +SOME_TECH_INTRANET_RT_CR_SUBNET: &ST_INTRA_CR_SUBNET 255.255.255.240 # | 192.168.150.0 / 28 +SOME_TECH_INTRANET_RT_DR_ONE_SUBNET: &ST_INTRA_DR_ONE_SUBNET 255.255.255.252 # | 192.168.160.0 / 30 +SOME_TECH_INTRANET_RT_DR_TWO_SUBNET: &ST_INTRA_DR_TWO_SUBNET 255.255.255.252 # | 192.168.170.0 / 30 +SOME_TECH_HEAD_OFFICE_SUBNET: &ST_HO_SUBNET 255.255.255.248 # | 192.168.200.0 / 29 +SOME_TECH_HUMAN_RESOURCES_SUBNET: &ST_HR_SUBNET 255.255.255.248 # | 192.168.210.0 / 29 +SOME_TECH_DATA_SUBNET: &ST_DATA_SUBNET 255.255.255.248 # | 192.168.220.0 / 29 +SOME_TECH_PROJECT_A_SUBNET: &ST_PROJ_A_SUBNET 255.255.255.248 # | 192.168.230.0 / 29 +SOME_TECH_PROJECT_B_SUBNET: &ST_PROJ_B_SUBNET 255.255.255.248 # | 192.168.240.0 / 29 +SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # | 192.168.250.0 / 29 + +# Host & Server Configurations # + +# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 +SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # + - type: web-server + +# ISP Public DNS | dns-server | ISP-PUB-SRV-DNS +PUBLIC_DNS_IP_ADDRESS: &PUBLIC_DNS_IP 8.8.8.8 +PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # + - type: dns-server + options: + domain_mapping: + some_tech.com: *ST_PUB_SRV_WEB_IP + +# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 +SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG + - type: ftp-server + +# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 +SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG + - type: database-service + options: + backup_server_ip: *ST_SRV_STORAGE_IP + - type: ftp-client + +# Default PC Configuration | Database Client & Web Server +PERSONAL_COMPUTER_DEFAULT_CONFIG: &PC_DEFAULT_CONFIG + - type: database-client + options: + db_server_ip: *ST_SRV_DB_IP + - type: web-browser + options: + target_url: http://some_tech.com + + +############################## +# Simulation Configuration # +############################## + +simulation: + defaults: + folder_scan_duration: 0 + folder_restore_duration: 3 + service_fix_duration: 2 + service_restart_duration: 2 + software_install_duration: 0 + node_start_up_duration: 3 + node_shut_down_duration: 3 + node_scan_duration: 8 + network: + nmne_config: + capture_nmne: true + nmne_capture_keywords: + - DELETE + - ENCRYPT + nodes: + ###################### + # HOME OFFICE SUBNET # + ###################### + - hostname: HOME-PUB-RT-DR + type: router + default_gateway: 10.1.0.1 + ports: + 1: + ip_address: 192.168.1.1 + subnet_mask: *HOME_SUBNET + 2: + ip_address: 10.1.0.2 + subnet_mask: *HOME_INTERNET_SUBNET + default_route: + next_hop_ip_address: 10.1.0.1 + acl: + 5: + action: PERMIT + + - hostname: HOME-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: HOME-PUB-PC-1 + type: computer + ip_address: 192.168.1.2 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-PC-2 + type: computer + ip_address: 192.168.1.3 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-SRV + type: server + ip_address: 192.168.1.4 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + + ###################### + # INTERNET SUBNET # + ###################### + - hostname: ISP-PUB-RT-BR + type: router + ports: + 1: + ip_address: 10.1.0.1 + subnet_mask: *HOME_INTERNET_SUBNET + 2: + ip_address: 8.8.8.1 + subnet_mask: *DNS_SUBNET + 3: + ip_address: 10.1.10.1 + subnet_mask: *REMOTE_INTERNET_SUBNET + 4: + ip_address: 10.1.100.1 + subnet_mask: *ST_INTERNET_SUBNET + routes: + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.0.2 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 8.8.8.8 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.10.2 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.10.2 + + default_route: + next_hop_ip_address: 10.1.100.2 # SOME_TECH Firewall + + acl: + 5: + action: PERMIT + + ################ + # DNS SUBNET # + ################ + - hostname: ISP-PUB-SRV-DNS + type: server + ip_address: 8.8.8.8 + subnet_mask: *DNS_SUBNET + default_gateway: 8.8.8.1 + services: + *PUBLIC_DNS_CONFIG + applications: + - type: c2-server # Represents the external internet. + options: + listen_on_ports: + - 80 + - 53 + - 21 + ######################## + # REMOTE SITE SUBNET # + ######################## + - hostname: REM-PUB-FW + type: firewall + ports: + external_port: # Public Internet facing + ip_address: 10.1.10.2 + subnet_mask: *REMOTE_INTERNET_SUBNET + internal_port: # Remote Site (DMZ Subnet) facing + ip_address: 192.168.10.1 + subnet_mask: *REMOTE_SUBNET_DMZ + routes: + - address: 192.168.20.0 # Remote Site Network + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 192.168.10.2 + default_route: + next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 1: + action: PERMIT + internal_outbound_acl: + 1: + action: PERMIT + dmz_inbound_acl: + 1: + action: PERMIT + dmz_outbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + + - hostname: REM-PUB-RT-DR + type: router + default_gateway: 192.168.10.1 + ports: + 1: + ip_address: 192.168.10.2 + subnet_mask: *REMOTE_SUBNET_DMZ + 2: + ip_address: 192.168.20.1 + subnet_mask: *REMOTE_SUBNET + default_route: + next_hop_ip_address: 192.168.10.1 + acl: + 5: + action: PERMIT + + - hostname: REM-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: REM-PUB-PC-1 + type: computer + ip_address: 192.168.20.2 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-PC-2 + type: computer + ip_address: 192.168.20.3 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-SRV + type: server + ip_address: 192.168.20.4 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + + + ######################## + # SOME_TECH DMZ SUBNET # + ######################## + + - hostname: ST-PUB-FW + type: firewall + ports: + external_port: # Public Internet Facing Port + ip_address: 10.1.100.2 + subnet_mask: *ST_INTERNET_SUBNET + internal_port: # SOME_TECH Intranet Port + ip_address: 192.168.150.1 + subnet_mask: *ST_INTRA_CR_SUBNET + dmz_port: # SOME_TECH Port Facing Port + ip_address: 192.168.100.1 + subnet_mask: *ST_DMZ_SUBNET + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 5: + action: PERMIT + internal_outbound_acl: + 5: + action: PERMIT + dmz_inbound_acl: + 5: + action: PERMIT + dmz_outbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + routes: + - address: 10.1.100.0 + subnet_mask: *ST_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.10.0 + subnet_mask: *REMOTE_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.0.0 + subnet_mask: *HOME_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 10.1.100.1 + + # - address: 192.168.150.0 + # subnet_mask: *ST_INTRA_CR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.160.0 + # subnet_mask: *ST_INTRA_DR_ONE_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.170.0 + # subnet_mask: *ST_INTRA_DR_TWO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.200.0 + # subnet_mask: *ST_HO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.210.0 + # subnet_mask: *ST_HR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.220.0 + # subnet_mask: *ST_DATA_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.230.0 + # subnet_mask: *ST_PROJ_A_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.240.0 + # subnet_mask: *ST_PROJ_B_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.250.0 + # subnet_mask: *ST_PROJ_C_SUBNET + # next_hop_ip_address: 192.168.150.2 + default_route: + #next_hop_ip_address: 10.1.100.1 + next_hop_ip_address: 192.168.150.2 + + - hostname: ST-DMZ-PUB-SRV-WEB + type: server + ip_address: *ST_PUB_SRV_WEB_IP + subnet_mask: *ST_DMZ_SUBNET + default_gateway: 192.168.100.1 + services: + *ST_SRV_WEB_CONFIG + + ############################# + # SOME_TECH INTRANET SUBNET # + ############################# + + - hostname: ST-INTRA-PRV-RT-CR + type: router + ports: + 1: + ip_address: 192.168.150.2 + subnet_mask: *ST_INTRA_CR_SUBNET + 2: + ip_address: 192.168.160.1 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 3: + ip_address: 192.168.170.1 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 4: + ip_address: 192.168.220.1 + subnet_mask: *ST_DATA_SUBNET + + routes: + - address: 192.168.200.0 + subnet_mask: *ST_HO_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.210.0 + subnet_mask: *ST_HR_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.230.0 + subnet_mask: *ST_PROJ_A_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.240.0 + subnet_mask: *ST_PROJ_B_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.250.0 + subnet_mask: *ST_PROJ_C_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + + default_route: + next_hop_ip_address: 192.168.150.1 # ST Public Firewall Internal Port + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-1 + type: router + ports: + 1: + ip_address: 192.168.160.2 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 2: + ip_address: 192.168.230.1 + subnet_mask: *ST_PROJ_A_SUBNET + 3: + ip_address: 192.168.240.1 + subnet_mask: *ST_PROJ_B_SUBNET + 4: + ip_address: 192.168.250.1 + subnet_mask: *ST_PROJ_C_SUBNET + default_route: + next_hop_ip_address: 192.168.160.1 # ST Intranet CR Router Port 2 + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-2 + type: router + default_gateway: 192.168.170.1 + ports: + 1: + ip_address: 192.168.170.2 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 2: + ip_address: 192.168.200.1 + subnet_mask: *ST_HO_SUBNET + 3: + ip_address: 192.168.210.1 + subnet_mask: *ST_HR_SUBNET + default_route: + next_hop_ip_address: 192.168.170.1 # ST Intranet CR Router Port 3 + acl: + 5: + action: PERMIT + + ################################ + # SOME_TECH HEAD OFFICE SUBNET # + ################################ + + - hostname: ST-HO-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HO-PRV-PC-1 + type: computer + ip_address: 192.168.200.2 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-2 + type: computer + ip_address: 192.168.200.3 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-3 + type: computer + ip_address: 192.168.200.4 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + #################################### + # SOME_TECH HUMAN RESOURCES SUBNET # + #################################### + + - hostname: ST-HR-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HR-PRV-PC-1 + type: computer + ip_address: 192.168.210.2 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-2 + type: computer + ip_address: 192.168.210.3 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-3 + type: computer + ip_address: 192.168.210.4 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ######################### + # SOME_TECH DATA SUBNET # + ######################### + + - hostname: ST-DATA-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-DATA-PRV-SRV-STORAGE + type: server + ip_address: *ST_SRV_STORAGE_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_STORAGE_CONFIG + + - hostname: ST-DATA-PRV-SRV-DB + type: server + ip_address: *ST_SRV_DB_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_DB_CONFIG + + ####################### + # SOME_TECH PROJECT A # + ####################### + + - hostname: ST-PROJ-A-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-A-PRV-PC-1 + type: computer + ip_address: 192.168.230.2 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-2 + type: computer + ip_address: 192.168.230.3 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-3 + type: computer + ip_address: 192.168.230.4 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT B # + ####################### + + - hostname: ST-PROJ-B-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-B-PRV-PC-1 + type: computer + ip_address: 192.168.240.2 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-2 + type: computer + ip_address: 192.168.240.3 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-3 + type: computer + ip_address: 192.168.240.4 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT C # + ####################### + + - hostname: ST-PROJ-C-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-C-PRV-PC-1 + type: computer + ip_address: 192.168.250.2 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-2 + type: computer + ip_address: 192.168.250.3 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-3 + type: computer + ip_address: 192.168.250.4 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + + ############################## + # Simulation Network Links # + ############################## + links: + + ############################ + # HOME OFFICE SUBNET LINKS # + ############################ + + # Home Switch (Port 1) --> Home Router (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 1 + + # Home Switch (Port 2) --> PC 1 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: HOME-PUB-PC-1 + endpoint_b_port: 1 + + # Home Switch (Port 3) --> PC 2 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: HOME-PUB-PC-2 + endpoint_b_port: 1 + + # Home Switch (Port 4) --> PC SRV (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: HOME-PUB-SRV + endpoint_b_port: 1 + + ################## + # Internet Links # + ################## + + # Internet Router (Port 1) --> Home Router (Port 2) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 2 + + # Internet Router (Port 2) --> DNS Server (Port 1) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 2 + endpoint_b_hostname: ISP-PUB-SRV-DNS + endpoint_b_port: 1 + + # Internet Router (Port 3) --> Remote Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-FW + endpoint_b_port: 1 + + #################### + # Remote DMZ Links # + #################### + + # Remote Firewall (Internal Port) --> Remote Site Router (Port 1) + - endpoint_a_hostname: REM-PUB-FW + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-RT-DR + endpoint_b_port: 1 + + #################### + # Remote Site Link # + #################### + + # Remote Site Router (Port 2) --> Remote Site Switch (Port 1) + - endpoint_a_hostname: REM-PUB-RT-DR + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-SW-AS + endpoint_b_port: 1 + + # Remote Site Switch (Port 2) --> Remote Site PC 1 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-PC-1 + endpoint_b_port: 1 + + # Remote Site Switch (Port 3) --> Remote Site PC 2 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-PC-2 + endpoint_b_port: 1 + + # Remote Site Switch (Port 4) --> Remote Site Server (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: REM-PUB-SRV + endpoint_b_port: 1 + + ####################### + # SOME_TECH DMZ Links # + ####################### + + # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 4 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 1 + + # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) + - endpoint_a_hostname: ST-PUB-FW + endpoint_a_port: 3 + endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_port: 1 + + ############################ + # SOME_TECH INTRANET Links # + ############################ + + # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 1 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 2 + + # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 2 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_port: 1 + + # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 3 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 1 + + # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 4 + endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_port: 1 + + + ############################### + # SOME_TECH HEAD OFFICE Links # + ############################### + + # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 2 + + # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_port: 1 + + + ################################### + # SOME_TECH HUMAN RESOURCES Links # + ################################### + + # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 3 + + # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_port: 1 + + ######################## + # SOME_TECH DATA Links # + ######################## + + # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_port: 1 + + # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) + + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT A Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT B Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT C Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_port: 1 + +################################## +# Use Case 7 Agent YAML Anchors # +################################## + +############################## +# Green Agent YAML Anchors # +############################## + +# Green Agent Reward Impacts Values # + +LOW_WEIGHT_IMPACT: &LOW_WEIGHT_IMPACT 0.2 +MEDIUM_WEIGHT_IMPACT: &MEDIUM_WEIGHT_IMPACT 0.5 +HIGH_WEIGHT_IMPACT: &HIGH_WEIGHT_IMPACT 0.95 + +LOW_WEIGHT_IMPACT_NEGATIVE: &LOW_WEIGHT_IMPACT_NEG -0.2 +MEDIUM_WEIGHT_IMPACT_NEGATIVE: &MEDIUM_WEIGHT_IMPACT_NEG -0.5 +HIGH_WEIGHT_IMPACT_NEGATIVE: &HIGH_WEIGHT_IMPACT_NEG -0.8 + +# Default Green Agent Action Space Configuration Anchor # + +DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # Ensures green agent activity through-out an episode + +################################################# +# Probabilistic Green Agent Config Yaml Anchors # +################################################# + +# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 + action_probabilities: + 0: 0.8 + 1: 0.2 + +# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 + action_probabilities: + 0: 0.6 + 1: 0.4 + +# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 + action_probabilities: + 0: 0.4 + 1: 0.6 + + +# System Green Agent Config UC7 Network Wide Yaml Anchor # + +# Lists the IP_Address of all hosts that contain DNS and NTP Service Clients +UC7_IP_LIST: &UC7_IP_LIST + # ====== Home Office ======== + - 192.168.1.2 # HOME-PUB-PC-1 | ip_id: 2 + - 192.168.1.3 # HOME-PUB-PC-2 | ip_id: 3 + - 192.168.1.4 # HOME-PUB-PC-SRV | ip_id: 4 + # ====== Remote Site ======== + - 192.168.20.2 # REM-PUB-PC-1 | ip_id: 5 + - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 + - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 + # ====== ST Public DMZ ======= + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + # ====== ST Head Office ======= + - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + # ===== ST Human Resources ====== + - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + # ====== ST DATA Servers ======= + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + # ====== ST Project A ======= + - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 + - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 + - 192.168.230.4 # PROJ-A-PRV-PC-3 | ip_id: 19 + # ====== ST Project B ======= + - 192.168.240.2 # PROJ-B-PRV-PC-1 | ip_id: 20 + - 192.168.240.3 # PROJ-B-PRV-PC-2 | ip_id: 21 + - 192.168.240.4 # PROJ-B-PRV-PC-3 | ip_id: 22 + # ====== ST Project C ======= + - 192.168.250.2 # PROJ-C-PRV-PC-1 | ip_id: 23 + - 192.168.250.3 # PROJ-C-PRV-PC-2 | ip_id: 24 + - 192.168.250.4 # PROJ-C-PRV-PC-3 | ip_id: 25 + +############################################ +# Use Case 7 Agent Configuration Section # +############################################ + +agents: + ####################################################### + # UC7 Green Agents Path of Life (POL) Configuration # + ####################################################### + + + #################################### + # Home Office Network POL Config # + #################################### + + # Home Office Green Agent Pattern Of Life + # ====================================== + # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: HOME_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-1"] + target_application: "database-client" + start_step: 4 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-2"] + target_application: "database-client" + start_step: 8 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + - ref: HOME_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + #################################### + # Remote Site Network POL Config # + #################################### + + # Remote Site Green Agent Pattern Of Life + # ====================================== + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: REMOTE_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-1"] + target_application: "database-client" + start_step: 12 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-2"] + target_application: "database-client" + start_step: 16 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + - ref: REMOTE_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + #################################### + # ST Project A Network POL Config # + #################################### + + # ST Project A Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + + - ref: PROJ_A-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + - ref: PROJ_A-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + #################################### + # ST Project B Network POL Config # + #################################### + + # ST Project B Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_B-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + - ref: PROJ_B-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + #################################### + # ST Project C Network POL Config # + #################################### + + # ST Project C Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_C-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + - ref: PROJ_C-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + ###################################### + # ST Head Office Network POL Config # + ###################################### + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: CEO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-1 + + - ref: CTO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-2 + + - ref: CFO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-3 + + ########################################## + # ST Human Resources Network POL Config # + ########################################## + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: SENIOR_HR + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-1 + + - ref: JUNIOR_HR-1 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-2 + + - ref: JUNIOR_HR-2 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-3 + + ########################## + # UC7 Red Agent Config # + ########################## + + - ref: attacker + team: RED + type: tap-003 + observation_space: {} + action_space: {} + agent_settings: + start_step: 1 + frequency: 3 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_starting_node: "ST-PROJ-A-PRV-PC-1" + starting_nodes: + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + kill_chain: + PLANNING: + probability: 1 + starting_network_knowledge: + credentials: + ST-PROJ-A-PRV-PC-1: + username: admin + password: admin + ST-PROJ-B-PRV-PC-2: + username: admin + password: admin + ST-PROJ-C-PRV-PC-3: + username: admin + password: admin + ST-INTRA-PRV-RT-DR-1: + ip_address: 192.168.230.1 + username: admin + password: admin + ST-INTRA-PRV-RT-CR: + ip_address: 192.168.160.1 + username: admin + password: admin + REM-PUB-RT-DR: + ip_address: 192.168.10.2 + username: admin + password: admin + ACCESS: + probability: 1 + MANIPULATION: + probability: 1 + account_changes: + - host: ST-INTRA-PRV-RT-DR-1 + ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 + action: change_password + username: admin + new_password: "red_pass" + - host: ST-INTRA-PRV-RT-CR + ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR + action: change_password + username: "admin" + new_password: "red_pass" + - host: REM-PUB-RT-DR + ip_address: 192.168.10.2 # REM-PUB-RT-DR + action: change_password + username: "admin" + new_password: "red_pass" + EXPLOIT: + probability: 1 + malicious_acls: + - target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_port: POSTGRES_SERVER + protocol_name: TCP + - target_router: ST-INTRA-PRV-RT-CR + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: HTTP + dst_port: HTTP + protocol_name: TCP + - target_router: REM-PUB-RT-DR + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: DNS + dst_port: DNS + protocol_name: TCP + +########################### +# UC7 Blue Agent Config # +########################### + + - ref: defender + team: BLUE + type: proxy-agent + observation_space: + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 + - hostname: ST-PROJ-A-PRV-PC-1 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + - application_name: database-client + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 + - hostname: ST-PROJ-B-PRV-PC-2 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 + - hostname: ST-PROJ-C-PRV-PC-3 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # ST DATA Server Database + - hostname: ST-DATA-PRV-SRV-DB + folders: + - folder_name: database + files: + - file_name: database.db + routers: + - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 + num_ports: 5 + num_services: 2 + num_applications: 2 + num_folders: 2 + num_files: 1 + num_nics: 1 + ip_list: + # ip_list is indexed at 2: + # 0 reserved for padding to align with observations + # 1 reserved for ALL ips + *UC7_IP_LIST + wildcard_list: + - 0.0.0.1 # 0 + - 0.0.0.255 # 1 + - 0.0.255.255 # 2 + port_list: + # 0 is a padding placeholder + # 1 means ALL ports + - FTP # 2 + - DNS # 3 + - HTTP # 4 + - NTP # 5 + - POSTGRES_SERVER # 6 + - SSH # 7 + + protocol_list: + # 0 is padding placeholder + # 1 means ALL protocols + - ICMP # 2 + - TCP # 3 + - UDP # 4 + num_rules: 5 + include_num_access: true + include_nmne: true + monitored_traffic: + tcp: + - HTTP + - POSTGRES_SERVER + icmp: + - NONE + - type: links + label: LINKS + options: + link_references: + # HOME OFFICE SUBNET LINKS + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-RT-DR:eth-1 # 1 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-1:eth-1 # 2 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-2:eth-1 # 3 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-SRV:eth-1 # 4 + # Internet LINKS + - ISP-PUB-RT-BR:eth-1<->HOME-PUB-RT-DR:eth-2 # 5 + - ISP-PUB-RT-BR:eth-2<->ISP-PUB-SRV-DNS:eth-1 # 6 + - ISP-PUB-RT-BR:eth-3<->REM-PUB-FW:eth-1 # 7 + # Remote DMZ Links + - REM-PUB-FW:eth-2<->REM-PUB-RT-DR:eth-1 # 8 + # Remote Site Links + - REM-PUB-RT-DR:eth-2<->REM-PUB-SW-AS:eth-1 # 9 + - REM-PUB-SW-AS:eth-2<->REM-PUB-PC-1:eth-1 # 10 + - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 + - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 + # SOME_TECH DMZ + - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 + - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + # SOME_TECH Intranet + - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 + - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + # SOME_TECH Head Office + - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 + - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 + - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + # SOME_TECH Human Resources + - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 + - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 + - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + # SOME_TECH Data Links + - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + # SOME_TECH Project A Links + - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + # SOME_TECH Project B Links + - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 + - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 + - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + # SOME_TECH Project C Links + - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + action_space: + action_map: + 0: + action: do-nothing + options: {} + + # |======================================| + # | ST-PROJ-A-PRV-PC-1 | + # |======================================| + + # ST-PROJ-A-PRV-PC-1 | node-os-scan + 1: + action: node-os-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-shutdown + 2: + action: node-shutdown + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-startup + 3: + action: node-startup + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-reset + 4: + action: node-reset + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | host-nic-disable + 5: + action: host-nic-disable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | host-nic-enable + 6: + action: host-nic-enable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + 7: + action: node-application-close + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + 8: + action: node-application-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + 9: + action: node-application-fix + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + 10: + action: node-application-remove + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + 11: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + 12: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + 13: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + 14: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-B-PRV-PC-2 | + # |======================================| + + # ST-PROJ-B-PRV-PC-2 | node-os-scan + 15: + action: node-os-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-shutdown + 16: + action: node-shutdown + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-startup + 17: + action: node-startup + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-reset + 18: + action: node-reset + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | host-nic-disable + 19: + action: host-nic-disable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | host-nic-enable + 20: + action: host-nic-enable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + 21: + action: node-application-close + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + 22: + action: node-application-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + 23: + action: node-application-fix + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + 24: + action: node-application-remove + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + 25: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + 26: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + 27: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + 28: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-C-PRV-PC-3 | + # |======================================| + + # ST-PROJ-C-PRV-PC-3 | node-os-scan + 29: + action: node-os-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-shutdown + 30: + action: node-shutdown + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-startup + 31: + action: node-startup + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-reset + 32: + action: node-reset + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | host-nic-disable + 33: + action: host-nic-disable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | host-nic-enable + 34: + action: host-nic-enable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + 35: + action: node-application-close + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + 36: + action: node-application-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + 37: + action: node-application-fix + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + 38: + action: node-application-remove + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + 39: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + 40: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + 41: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + 42: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + + # |======================================| + # | ST-INTRA-PRV-RT-CR | + # |======================================| + + # ST-INTRA-PRV-RT-CR | router-acl-addrule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 43: + action: router-acl-addrule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + 44: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + + # ST-INTRA-PRV-RT-CR | router-acl-addrule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 45: + action: router-acl-addrule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + permission: DENY + src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + 46: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + + # ST-INTRA-PRV-RT-CR | router-acl-addrule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 47: + action: router-acl-addrule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + permission: DENY + src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + 48: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + + # |======================================| + # | ST-DATA-PRV-SRV-DB | + # |======================================| + + # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + 49: + action: node-file-scan + options: + node_name: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + 50: + action: node-account-change-password + options: + node_name: ST-DATA-PRV-SRV-DB + username: admin # default account + current_password: admin # default password + new_password: thr33_alert_wolv3z # A more 'secure' password + + # |======================================| + # | ST-INTRA-PRV-RT-DR-1 | + # |======================================| + + # ST-INTRA-PRV-RT-DR-1 | router-acl-addrule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + 51: + action: router-acl-addrule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: SSH + dst_ip: ALL + dst_wildcard: 0.0.255.255 + dst_port: SSH + protocol_name: TCP + + # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + 52: + action: node-account-change-password + options: + node_name: ST-INTRA-PRV-RT-DR-1 + username: admin + current_password: admin + new_password: secure_password + + # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + 53: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + + # |======================================| + # | REM-PUB-RT-DR | + # |======================================| + + # REM-PUB-RT-DR | node-account-change-password + 54: + action: node-account-change-password + options: + node_name: REM-PUB-RT-DR + username: admin + current_password: admin + new_password: secure_password + + # REM-PUB-RT-DR | router-acl-remove-rule | Removes the given ACL at position 1 + 55: + action: router-acl-remove-rule + options: + target_router: REM-PUB-RT-DR + position: 1 + + reward_function: + reward_components: + - type: database-file-integrity + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # Home Site Green Agents (32 Green Agents each contributing 0.03125 of blue reward) + + # Blue Shared Reward | HOME_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-DB + + # Blue Shared Reward | HOME_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-WEB + + # Blue Shared Reward | HOME_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-DB + + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-WEB + + # Remote Site Green Agents + + # Blue Shared Reward | REMOTE_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-DB + + # Blue Shared Reward | REMOTE_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-WEB + + # Blue Shared Reward | REMOTE_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-DB + + # Blue Shared Reward | REMOTE_WORKER-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-WEB + + # ST Project A Green Agents + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-WEB + + # ST Project B Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Project C Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Head Office Green Agents (CEO/CFO/CTO) + + # Blue Shared Reward | CEO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CEO + + # Blue Shared Reward | CFO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CFO + + # Blue Shared Reward | CTO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CTO + + # ST Human Resources Green Agents + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: SENIOR_HR + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-1 + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-2 + + agent_settings: + flatten_obs: True + + + + # ####################################### + # # UC7 Network Wide System POL Config # + # ####################################### + + # # UC7 Network Wide System Pattern Of Life + # # ========================================== + # # 1. All NTP Clients perform periodic NTP Server transactions. + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: NTPClient Node Service Start doesn't start a 'Request' + + # # 1. All NTP Clients perform periodic NTP Server transactions. + + # - ref: SYSTEM-NTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # NTPClient + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: NTPClient + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: NTPClient + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: NTPClient + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: NTPClient + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + + # - ref: SYSTEM-FTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_FIX + # action_map: + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_FIX + # options: + # node_id: 0 + # service_id: 0 + # options: + # nodes: + # - node_name: ST-DATA-PRV-SRV-DB + # applications: + # - application_name: database-client + # ip_list: + # - *ST_SRV_DB_IP + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 4 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 4 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: Address issue where dns-clients can't be started directly via agents + # - ref: SYSTEM-DNS + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # dns-client + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-SRV + # services: + # - service_name: dns-client + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-SRV + # services: + # - service_name: dns-client + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: dns-client + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: dns-client + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: dns-client + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: dns-client + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: dns-client + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml new file mode 100644 index 00000000..a066eaa4 --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml @@ -0,0 +1,43 @@ +red: &red + - ref: attacker + team: RED + type: tap-001 + agent_settings: + start_step: 1 + frequency: 5 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_target_ip: 192.168.220.3 + default_starting_node: "ST-PROJ-C-PRV-PC-1" + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + starting_nodes: + kill_chain: + ACTIVATE: + probability: 1 + PROPAGATE: + probability: 1 + scan_attempts: 20 + repeat_scan: false + network_addresses: + - 192.168.230.0/29 # ST Project A + - 192.168.10.0/26 # Remote Site + - 192.168.20.0/30 # Remote DMZ + # - 192.168.240.0/29 # ST Project B + # - 192.168.250.0/29 # ST Project C + - 192.168.220.0/29 # ST Data (Contains Target) + COMMAND_AND_CONTROL: + probability: 1 + keep_alive_frequency: 5 + masquerade_port: HTTP + masquerade_protocol: TCP + c2_server_name: ISP-PUB-SRV-DNS + c2_server_ip: 8.8.8.8 + PAYLOAD: + probability: 1 + exfiltrate: true + corrupt: true + exfiltration_folder_name: + target_username: admin + target_password: admin + continue_on_failed_exfil: True diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml new file mode 100644 index 00000000..7256b154 --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml @@ -0,0 +1,43 @@ +red: &red + - ref: attacker + team: RED + type: tap-001 + agent_settings: + start_step: 1 + frequency: 5 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_target_ip: 192.168.220.3 + default_starting_node: "ST-PROJ-B-PRV-PC-2" + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + starting_nodes: + kill_chain: + ACTIVATE: + probability: 1 + PROPAGATE: + probability: 1 + scan_attempts: 20 + repeat_scan: false + network_addresses: + - 192.168.230.0/29 # ST Project A + - 192.168.10.0/26 # Remote Site + - 192.168.20.0/30 # Remote DMZ + # - 192.168.240.0/29 # ST Project B + # - 192.168.250.0/29 # ST Project C + - 192.168.220.0/29 # ST Data (Contains Target) + COMMAND_AND_CONTROL: + probability: 1 + keep_alive_frequency: 5 + masquerade_port: HTTP + masquerade_protocol: TCP + c2_server_name: ISP-PUB-SRV-DNS + c2_server_ip: 8.8.8.8 + PAYLOAD: + probability: 1 + exfiltrate: true + corrupt: true + exfiltration_folder_name: + target_username: admin + target_password: admin + continue_on_failed_exfil: True diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml new file mode 100644 index 00000000..162f4753 --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml @@ -0,0 +1,43 @@ +red: &red + - ref: attacker + team: RED + type: tap-001 + agent_settings: + start_step: 1 + frequency: 5 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_target_ip: 192.168.220.3 + default_starting_node: "ST-PROJ-C-PRV-PC-3" + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + starting_nodes: + kill_chain: + ACTIVATE: + probability: 1 + PROPAGATE: + probability: 1 + scan_attempts: 20 + repeat_scan: false + network_addresses: + - 192.168.230.0/29 # ST Project A + - 192.168.10.0/26 # Remote Site + - 192.168.20.0/30 # Remote DMZ + # - 192.168.240.0/29 # ST Project B + # - 192.168.250.0/29 # ST Project C + - 192.168.220.0/29 # ST Data (Contains Target) + COMMAND_AND_CONTROL: + probability: 1 + keep_alive_frequency: 5 + masquerade_port: HTTP + masquerade_protocol: TCP + c2_server_name: ISP-PUB-SRV-DNS + c2_server_ip: 8.8.8.8 + PAYLOAD: + probability: 1 + exfiltrate: true + corrupt: true + exfiltration_folder_name: + target_username: admin + target_password: admin + continue_on_failed_exfil: True diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml new file mode 100644 index 00000000..7dd3fd2e --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml @@ -0,0 +1,94 @@ +red: &red + - ref: attacker + team: RED + type: tap-003 + observation_space: {} + action_space: {} + agent_settings: + start_step: 1 + frequency: 3 + variance: 0 + repeat_kill_chain: false + repeat_kill_chain_stages: true + default_starting_node: "ST-PROJ-A-PRV-PC-1" + starting_nodes: + # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + kill_chain: + PLANNING: + probability: 1 + starting_network_knowledge: + credentials: + ST-PROJ-A-PRV-PC-1: + username: admin + password: admin + ST-PROJ-B-PRV-PC-2: + username: admin + password: admin + ST-PROJ-C-PRV-PC-3: + username: admin + password: admin + ST-INTRA-PRV-RT-DR-1: + ip_address: 192.168.230.1 + username: admin + password: admin + ST-INTRA-PRV-RT-CR: + ip_address: 192.168.160.1 + username: admin + password: admin + REM-PUB-RT-DR: + ip_address: 192.168.10.2 + username: admin + password: admin + ACCESS: + probability: 1 + MANIPULATION: + probability: 1 + account_changes: + - host: ST-INTRA-PRV-RT-DR-1 + ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 + action: change_password + username: admin + new_password: "red_pass" + - host: ST-INTRA-PRV-RT-CR + ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR + action: change_password + username: "admin" + new_password: "red_pass" + - host: REM-PUB-RT-DR + ip_address: 192.168.10.2 # REM-PUB-RT-DR + action: change_password + username: "admin" + new_password: "red_pass" + EXPLOIT: + probability: 1 + malicious_acls: + - target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_port: POSTGRES_SERVER + protocol_name: TCP + - target_router: ST-INTRA-PRV-RT-CR + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: HTTP + dst_port: HTTP + protocol_name: TCP + - target_router: REM-PUB-RT-DR + position: 1 + permission: DENY + src_ip: ALL + src_wildcard: 0.0.255.255 + dst_ip: ALL + dst_wildcard: 0.0.255.255 + src_port: DNS + dst_port: DNS + protocol_name: TCP diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/schedule.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/schedule.yaml new file mode 100644 index 00000000..e11c2fbf --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/schedule.yaml @@ -0,0 +1,42 @@ +base_scenario: uc7_config_no_red.yaml +schedule: + 0: + - TAP001_PC1.yaml + 1: + - TAP001_PC2.yaml + 2: + - TAP001_PC3.yaml + 3: + - TAP001_PC1.yaml + 4: + - TAP001_PC2.yaml + 5: + - TAP003.yaml + 6: + - TAP003.yaml + 7: + - TAP003.yaml + 8: + - TAP003.yaml + 9: + - TAP003.yaml + 10: + - TAP001_PC1.yaml + 11: + - TAP003.yaml + 12: + - TAP001_PC1.yaml + 13: + - TAP003.yaml + 14: + - TAP001_PC2.yaml + 15: + - TAP003.yaml + 16: + - TAP001_PC3.yaml + 17: + - TAP003.yaml + 18: + - TAP001_PC1.yaml + 19: + - TAP003.yaml diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml new file mode 100644 index 00000000..a55dae0e --- /dev/null +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -0,0 +1,3210 @@ +########################################################## +# USE CASE 7 CONFIGURATION YAML FILE # +########################################################## + + +########################################## +# PrimAITE Game and Logging Settings # +########################################## + + +# PrimAITE I/O Settings # + +io_settings: + save_agent_actions: True + save_step_metadata: True + save_pcap_logs: false + save_sys_logs: True + # save_sys_logs: true + write_sys_log_to_terminal: false + + +# PrimAITE Game Settings # + +game: + max_episode_length: 128 + ports: + - FTP + - DNS + - HTTP + - NTP + - POSTGRES_SERVER + - SSH + protocols: + - ICMP + - TCP + - UDP + thresholds: + nmne: + high: 10 + medium: 5 + low: 0 + +############################################ +# PrimAITE Use Case 7 Simulation # +############################################ + +########################################## +# Configuration Variables (Yaml Anchors) # +########################################## + +# External Network Address List # + +DNS_SUBNET: &DNS_SUBNET 255.255.255.240 # | 8.8.8.0 / 28 +HOME_INTERNET_SUBNET: &HOME_INTERNET_SUBNET 255.255.255.252 # | 10.1.0.0 / 30 +REMOTE_INTERNET_SUBNET: &REMOTE_INTERNET_SUBNET 255.255.255.252 # | 10.1.10.0 / 30 +SOME_TECH_INTERNET_SUBNET: &ST_INTERNET_SUBNET 255.255.255.252 # | 10.1.100.0 / 30 +HOME_OFFICE_SUBNET: &HOME_SUBNET 255.255.255.0 # | 192.168.1.0 / 26 +REMOTE_SUBNET_DMZ: &REMOTE_SUBNET_DMZ 255.255.255.252 # | 192.168.10.0 / 30 +REMOTE_SUBNET: &REMOTE_SUBNET 255.255.255.240 # | 192.168.20.0 / 28 + +# SOME_TECH (ST) Network Address List # + +SOME_TECH_DMZ_SUBNET: &ST_DMZ_SUBNET 255.255.255.252 # | 192.168.100.0 / 30 +SOME_TECH_INTRANET_RT_CR_SUBNET: &ST_INTRA_CR_SUBNET 255.255.255.240 # | 192.168.150.0 / 28 +SOME_TECH_INTRANET_RT_DR_ONE_SUBNET: &ST_INTRA_DR_ONE_SUBNET 255.255.255.252 # | 192.168.160.0 / 30 +SOME_TECH_INTRANET_RT_DR_TWO_SUBNET: &ST_INTRA_DR_TWO_SUBNET 255.255.255.252 # | 192.168.170.0 / 30 +SOME_TECH_HEAD_OFFICE_SUBNET: &ST_HO_SUBNET 255.255.255.248 # | 192.168.200.0 / 29 +SOME_TECH_HUMAN_RESOURCES_SUBNET: &ST_HR_SUBNET 255.255.255.248 # | 192.168.210.0 / 29 +SOME_TECH_DATA_SUBNET: &ST_DATA_SUBNET 255.255.255.248 # | 192.168.220.0 / 29 +SOME_TECH_PROJECT_A_SUBNET: &ST_PROJ_A_SUBNET 255.255.255.248 # | 192.168.230.0 / 29 +SOME_TECH_PROJECT_B_SUBNET: &ST_PROJ_B_SUBNET 255.255.255.248 # | 192.168.240.0 / 29 +SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # | 192.168.250.0 / 29 + +# Host & Server Configurations # + +# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 +SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # + - type: web-server + +# ISP Public DNS | dns-server | ISP-PUB-SRV-DNS +PUBLIC_DNS_IP_ADDRESS: &PUBLIC_DNS_IP 8.8.8.8 +PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # + - type: dns-server + options: + domain_mapping: + some_tech.com: *ST_PUB_SRV_WEB_IP + +# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 +SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG + - type: ftp-server + +# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 +SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG + - type: database-service + options: + backup_server_ip: *ST_SRV_STORAGE_IP + - type: ftp-client + +# Default PC Configuration | Database Client & Web Server +PERSONAL_COMPUTER_DEFAULT_CONFIG: &PC_DEFAULT_CONFIG + - type: database-client + options: + db_server_ip: *ST_SRV_DB_IP + - type: web-browser + options: + target_url: http://some_tech.com + + +############################## +# Simulation Configuration # +############################## + +simulation: + defaults: + folder_scan_duration: 0 + folder_restore_duration: 3 + service_fix_duration: 2 + service_restart_duration: 2 + software_install_duration: 0 + node_start_up_duration: 3 + node_shut_down_duration: 3 + node_scan_duration: 8 + network: + nmne_config: + capture_nmne: true + nmne_capture_keywords: + - DELETE + - ENCRYPT + nodes: + ###################### + # HOME OFFICE SUBNET # + ###################### + - hostname: HOME-PUB-RT-DR + type: router + default_gateway: 10.1.0.1 + ports: + 1: + ip_address: 192.168.1.1 + subnet_mask: *HOME_SUBNET + 2: + ip_address: 10.1.0.2 + subnet_mask: *HOME_INTERNET_SUBNET + default_route: + next_hop_ip_address: 10.1.0.1 + acl: + 5: + action: PERMIT + + - hostname: HOME-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: HOME-PUB-PC-1 + type: computer + ip_address: 192.168.1.2 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-PC-2 + type: computer + ip_address: 192.168.1.3 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: HOME-PUB-SRV + type: server + ip_address: 192.168.1.4 + default_gateway: 192.168.1.1 + dns_server: *PUBLIC_DNS_IP + + ###################### + # INTERNET SUBNET # + ###################### + - hostname: ISP-PUB-RT-BR + type: router + ports: + 1: + ip_address: 10.1.0.1 + subnet_mask: *HOME_INTERNET_SUBNET + 2: + ip_address: 8.8.8.1 + subnet_mask: *DNS_SUBNET + 3: + ip_address: 10.1.10.1 + subnet_mask: *REMOTE_INTERNET_SUBNET + 4: + ip_address: 10.1.100.1 + subnet_mask: *ST_INTERNET_SUBNET + routes: + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.0.2 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 8.8.8.8 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.10.2 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.10.2 + + default_route: + next_hop_ip_address: 10.1.100.2 # SOME_TECH Firewall + + acl: + 5: + action: PERMIT + + ################ + # DNS SUBNET # + ################ + - hostname: ISP-PUB-SRV-DNS + type: server + ip_address: 8.8.8.8 + subnet_mask: *DNS_SUBNET + default_gateway: 8.8.8.1 + services: + *PUBLIC_DNS_CONFIG + applications: + - type: c2-server # Represents the external internet. + options: + listen_on_ports: + - 80 + - 53 + - 21 + ######################## + # REMOTE SITE SUBNET # + ######################## + - hostname: REM-PUB-FW + type: firewall + ports: + external_port: # Public Internet facing + ip_address: 10.1.10.2 + subnet_mask: *REMOTE_INTERNET_SUBNET + internal_port: # Remote Site (DMZ Subnet) facing + ip_address: 192.168.10.1 + subnet_mask: *REMOTE_SUBNET_DMZ + routes: + - address: 192.168.20.0 # Remote Site Network + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 192.168.10.2 + default_route: + next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 1: + action: PERMIT + internal_outbound_acl: + 1: + action: PERMIT + dmz_inbound_acl: + 1: + action: PERMIT + dmz_outbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + external_inbound_acl: + 1: + action: PERMIT + + - hostname: REM-PUB-RT-DR + type: router + default_gateway: 192.168.10.1 + ports: + 1: + ip_address: 192.168.10.2 + subnet_mask: *REMOTE_SUBNET_DMZ + 2: + ip_address: 192.168.20.1 + subnet_mask: *REMOTE_SUBNET + default_route: + next_hop_ip_address: 192.168.10.1 + acl: + 5: + action: PERMIT + + - hostname: REM-PUB-SW-AS + type: switch + num_ports: 5 + + - hostname: REM-PUB-PC-1 + type: computer + ip_address: 192.168.20.2 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-PC-2 + type: computer + ip_address: 192.168.20.3 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: REM-PUB-SRV + type: server + ip_address: 192.168.20.4 + default_gateway: 192.168.20.1 + dns_server: *PUBLIC_DNS_IP + + + ######################## + # SOME_TECH DMZ SUBNET # + ######################## + + - hostname: ST-PUB-FW + type: firewall + ports: + external_port: # Public Internet Facing Port + ip_address: 10.1.100.2 + subnet_mask: *ST_INTERNET_SUBNET + internal_port: # SOME_TECH Intranet Port + ip_address: 192.168.150.1 + subnet_mask: *ST_INTRA_CR_SUBNET + dmz_port: # SOME_TECH Port Facing Port + ip_address: 192.168.100.1 + subnet_mask: *ST_DMZ_SUBNET + acl: # TODO: Expand on this (For now permit all) + internal_inbound_acl: + 5: + action: PERMIT + internal_outbound_acl: + 5: + action: PERMIT + dmz_inbound_acl: + 5: + action: PERMIT + dmz_outbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + external_inbound_acl: + 5: + action: PERMIT + routes: + - address: 10.1.100.0 + subnet_mask: *ST_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.10.0 + subnet_mask: *REMOTE_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 10.1.0.0 + subnet_mask: *HOME_INTERNET_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.1.0 + subnet_mask: *HOME_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.10.0 + subnet_mask: *REMOTE_SUBNET_DMZ + next_hop_ip_address: 10.1.100.1 + + - address: 192.168.20.0 + subnet_mask: *REMOTE_SUBNET + next_hop_ip_address: 10.1.100.1 + + - address: 8.8.8.0 + subnet_mask: *DNS_SUBNET + next_hop_ip_address: 10.1.100.1 + + # - address: 192.168.150.0 + # subnet_mask: *ST_INTRA_CR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.160.0 + # subnet_mask: *ST_INTRA_DR_ONE_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.170.0 + # subnet_mask: *ST_INTRA_DR_TWO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.200.0 + # subnet_mask: *ST_HO_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.210.0 + # subnet_mask: *ST_HR_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.220.0 + # subnet_mask: *ST_DATA_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.230.0 + # subnet_mask: *ST_PROJ_A_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.240.0 + # subnet_mask: *ST_PROJ_B_SUBNET + # next_hop_ip_address: 192.168.150.2 + # - address: 192.168.250.0 + # subnet_mask: *ST_PROJ_C_SUBNET + # next_hop_ip_address: 192.168.150.2 + default_route: + #next_hop_ip_address: 10.1.100.1 + next_hop_ip_address: 192.168.150.2 + + - hostname: ST-DMZ-PUB-SRV-WEB + type: server + ip_address: *ST_PUB_SRV_WEB_IP + subnet_mask: *ST_DMZ_SUBNET + default_gateway: 192.168.100.1 + services: + *ST_SRV_WEB_CONFIG + + ############################# + # SOME_TECH INTRANET SUBNET # + ############################# + + - hostname: ST-INTRA-PRV-RT-CR + type: router + ports: + 1: + ip_address: 192.168.150.2 + subnet_mask: *ST_INTRA_CR_SUBNET + 2: + ip_address: 192.168.160.1 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 3: + ip_address: 192.168.170.1 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 4: + ip_address: 192.168.220.1 + subnet_mask: *ST_DATA_SUBNET + + routes: + - address: 192.168.200.0 + subnet_mask: *ST_HO_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.210.0 + subnet_mask: *ST_HR_SUBNET + next_hop_ip_address: 192.168.170.2 # ST Intra Router Two + - address: 192.168.230.0 + subnet_mask: *ST_PROJ_A_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.240.0 + subnet_mask: *ST_PROJ_B_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + - address: 192.168.250.0 + subnet_mask: *ST_PROJ_C_SUBNET + next_hop_ip_address: 192.168.160.2 # ST Intra Router One + + default_route: + next_hop_ip_address: 192.168.150.1 # ST Public Firewall Internal Port + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-1 + type: router + ports: + 1: + ip_address: 192.168.160.2 + subnet_mask: *ST_INTRA_DR_ONE_SUBNET + 2: + ip_address: 192.168.230.1 + subnet_mask: *ST_PROJ_A_SUBNET + 3: + ip_address: 192.168.240.1 + subnet_mask: *ST_PROJ_B_SUBNET + 4: + ip_address: 192.168.250.1 + subnet_mask: *ST_PROJ_C_SUBNET + default_route: + next_hop_ip_address: 192.168.160.1 # ST Intranet CR Router Port 2 + acl: + 5: + action: PERMIT + + - hostname: ST-INTRA-PRV-RT-DR-2 + type: router + default_gateway: 192.168.170.1 + ports: + 1: + ip_address: 192.168.170.2 + subnet_mask: *ST_INTRA_DR_TWO_SUBNET + 2: + ip_address: 192.168.200.1 + subnet_mask: *ST_HO_SUBNET + 3: + ip_address: 192.168.210.1 + subnet_mask: *ST_HR_SUBNET + default_route: + next_hop_ip_address: 192.168.170.1 # ST Intranet CR Router Port 3 + acl: + 5: + action: PERMIT + + ################################ + # SOME_TECH HEAD OFFICE SUBNET # + ################################ + + - hostname: ST-HO-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HO-PRV-PC-1 + type: computer + ip_address: 192.168.200.2 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-2 + type: computer + ip_address: 192.168.200.3 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HO-PRV-PC-3 + type: computer + ip_address: 192.168.200.4 + default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + #################################### + # SOME_TECH HUMAN RESOURCES SUBNET # + #################################### + + - hostname: ST-HR-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-HR-PRV-PC-1 + type: computer + ip_address: 192.168.210.2 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-2 + type: computer + ip_address: 192.168.210.3 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-HR-PRV-PC-3 + type: computer + ip_address: 192.168.210.4 + default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ######################### + # SOME_TECH DATA SUBNET # + ######################### + + - hostname: ST-DATA-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-DATA-PRV-SRV-STORAGE + type: server + ip_address: *ST_SRV_STORAGE_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_STORAGE_CONFIG + + - hostname: ST-DATA-PRV-SRV-DB + type: server + ip_address: *ST_SRV_DB_IP + subnet_mask: *ST_DATA_SUBNET + default_gateway: 192.168.220.1 + dns_server: *PUBLIC_DNS_IP + services: + *ST_SRV_DB_CONFIG + + ####################### + # SOME_TECH PROJECT A # + ####################### + + - hostname: ST-PROJ-A-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-A-PRV-PC-1 + type: computer + ip_address: 192.168.230.2 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-2 + type: computer + ip_address: 192.168.230.3 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-A-PRV-PC-3 + type: computer + ip_address: 192.168.230.4 + default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT B # + ####################### + + - hostname: ST-PROJ-B-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-B-PRV-PC-1 + type: computer + ip_address: 192.168.240.2 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-2 + type: computer + ip_address: 192.168.240.3 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-B-PRV-PC-3 + type: computer + ip_address: 192.168.240.4 + default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + ####################### + # SOME_TECH PROJECT C # + ####################### + + - hostname: ST-PROJ-C-PRV-SW-AS + type: switch + num_ports: 5 + + - hostname: ST-PROJ-C-PRV-PC-1 + type: computer + ip_address: 192.168.250.2 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-2 + type: computer + ip_address: 192.168.250.3 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + - hostname: ST-PROJ-C-PRV-PC-3 + type: computer + ip_address: 192.168.250.4 + default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + dns_server: *PUBLIC_DNS_IP + applications: + *PC_DEFAULT_CONFIG + + + ############################## + # Simulation Network Links # + ############################## + links: + + ############################ + # HOME OFFICE SUBNET LINKS # + ############################ + + # Home Switch (Port 1) --> Home Router (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 1 + + # Home Switch (Port 2) --> PC 1 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: HOME-PUB-PC-1 + endpoint_b_port: 1 + + # Home Switch (Port 3) --> PC 2 (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: HOME-PUB-PC-2 + endpoint_b_port: 1 + + # Home Switch (Port 4) --> PC SRV (Port 1) + - endpoint_a_hostname: HOME-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: HOME-PUB-SRV + endpoint_b_port: 1 + + ################## + # Internet Links # + ################## + + # Internet Router (Port 1) --> Home Router (Port 2) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 1 + endpoint_b_hostname: HOME-PUB-RT-DR + endpoint_b_port: 2 + + # Internet Router (Port 2) --> DNS Server (Port 1) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 2 + endpoint_b_hostname: ISP-PUB-SRV-DNS + endpoint_b_port: 1 + + # Internet Router (Port 3) --> Remote Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-FW + endpoint_b_port: 1 + + #################### + # Remote DMZ Links # + #################### + + # Remote Firewall (Internal Port) --> Remote Site Router (Port 1) + - endpoint_a_hostname: REM-PUB-FW + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-RT-DR + endpoint_b_port: 1 + + #################### + # Remote Site Link # + #################### + + # Remote Site Router (Port 2) --> Remote Site Switch (Port 1) + - endpoint_a_hostname: REM-PUB-RT-DR + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-SW-AS + endpoint_b_port: 1 + + # Remote Site Switch (Port 2) --> Remote Site PC 1 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: REM-PUB-PC-1 + endpoint_b_port: 1 + + # Remote Site Switch (Port 3) --> Remote Site PC 2 (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: REM-PUB-PC-2 + endpoint_b_port: 1 + + # Remote Site Switch (Port 4) --> Remote Site Server (Port 1) + - endpoint_a_hostname: REM-PUB-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: REM-PUB-SRV + endpoint_b_port: 1 + + ####################### + # SOME_TECH DMZ Links # + ####################### + + # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) + - endpoint_a_hostname: ISP-PUB-RT-BR + endpoint_a_port: 4 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 1 + + # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) + - endpoint_a_hostname: ST-PUB-FW + endpoint_a_port: 3 + endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_port: 1 + + ############################ + # SOME_TECH INTRANET Links # + ############################ + + # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 1 + endpoint_b_hostname: ST-PUB-FW + endpoint_b_port: 2 + + # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 2 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_port: 1 + + # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 3 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 1 + + # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + endpoint_a_port: 4 + endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_port: 1 + + + ############################### + # SOME_TECH HEAD OFFICE Links # + ############################### + + # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 2 + + # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) + - endpoint_a_hostname: ST-HO-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_port: 1 + + + ################################### + # SOME_TECH HUMAN RESOURCES Links # + ################################### + + # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 1 + endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_port: 3 + + # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) + - endpoint_a_hostname: ST-HR-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_port: 1 + + ######################## + # SOME_TECH DATA Links # + ######################## + + # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_port: 1 + + # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) + + - endpoint_a_hostname: ST-DATA-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT A Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 + - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT B Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 + - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_port: 1 + + ############################# + # SOME_TECH PROJECT C Links # + ############################# + + # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) + - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 2 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 3 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_port: 1 + + # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 + - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_a_port: 4 + endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_port: 1 + +################################## +# Use Case 7 Agent YAML Anchors # +################################## + +############################## +# Green Agent YAML Anchors # +############################## + +# Green Agent Reward Impacts Values # + +LOW_WEIGHT_IMPACT: &LOW_WEIGHT_IMPACT 0.2 +MEDIUM_WEIGHT_IMPACT: &MEDIUM_WEIGHT_IMPACT 0.5 +HIGH_WEIGHT_IMPACT: &HIGH_WEIGHT_IMPACT 0.95 + +LOW_WEIGHT_IMPACT_NEGATIVE: &LOW_WEIGHT_IMPACT_NEG -0.2 +MEDIUM_WEIGHT_IMPACT_NEGATIVE: &MEDIUM_WEIGHT_IMPACT_NEG -0.5 +HIGH_WEIGHT_IMPACT_NEGATIVE: &HIGH_WEIGHT_IMPACT_NEG -0.8 + +# Default Green Agent Action Space Configuration Anchor # + +DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # Ensures green agent activity through-out an episode + +################################################# +# Probabilistic Green Agent Config Yaml Anchors # +################################################# + +# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 + action_probabilities: + 0: 0.8 + 1: 0.2 + +# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 + action_probabilities: + 0: 0.6 + 1: 0.4 + +# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 + action_probabilities: + 0: 0.4 + 1: 0.6 + + +# System Green Agent Config UC7 Network Wide Yaml Anchor # + +# Lists the IP_Address of all hosts that contain DNS and NTP Service Clients +UC7_IP_LIST: &UC7_IP_LIST + # ====== Home Office ======== + - 192.168.1.2 # HOME-PUB-PC-1 | ip_id: 2 + - 192.168.1.3 # HOME-PUB-PC-2 | ip_id: 3 + - 192.168.1.4 # HOME-PUB-PC-SRV | ip_id: 4 + # ====== Remote Site ======== + - 192.168.20.2 # REM-PUB-PC-1 | ip_id: 5 + - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 + - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 + # ====== ST Public DMZ ======= + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + # ====== ST Head Office ======= + - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + # ===== ST Human Resources ====== + - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + # ====== ST DATA Servers ======= + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + # ====== ST Project A ======= + - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 + - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 + - 192.168.230.4 # PROJ-A-PRV-PC-3 | ip_id: 19 + # ====== ST Project B ======= + - 192.168.240.2 # PROJ-B-PRV-PC-1 | ip_id: 20 + - 192.168.240.3 # PROJ-B-PRV-PC-2 | ip_id: 21 + - 192.168.240.4 # PROJ-B-PRV-PC-3 | ip_id: 22 + # ====== ST Project C ======= + - 192.168.250.2 # PROJ-C-PRV-PC-1 | ip_id: 23 + - 192.168.250.3 # PROJ-C-PRV-PC-2 | ip_id: 24 + - 192.168.250.4 # PROJ-C-PRV-PC-3 | ip_id: 25 + +############################################ +# Use Case 7 Agent Configuration Section # +############################################ + +agents: + ####################################################### + # UC7 Green Agents Path of Life (POL) Configuration # + ####################################################### + + + #################################### + # Home Office Network POL Config # + #################################### + + # Home Office Green Agent Pattern Of Life + # ====================================== + # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: HOME_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-1"] + target_application: "database-client" + start_step: 4 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-1 + + - ref: HOME_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["HOME-PUB-PC-2"] + target_application: "database-client" + start_step: 8 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + - ref: HOME_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: HOME-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: HOME-PUB-PC-2 + + #################################### + # Remote Site Network POL Config # + #################################### + + # Remote Site Green Agent Pattern Of Life + # ====================================== + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: REMOTE_WORKER-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-1"] + target_application: "database-client" + start_step: 12 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-1 + + - ref: REMOTE_WORKER-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["REM-PUB-PC-2"] + target_application: "database-client" + start_step: 16 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + - ref: REMOTE_WORKER-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: REM-PUB-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: REM-PUB-PC-2 + + #################################### + # ST Project A Network POL Config # + #################################### + + # ST Project A Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + + - ref: PROJ_A-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-1 + + - ref: PROJ_A-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-2 + + - ref: PROJ_A-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + - ref: PROJ_A-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-A-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-A-PRV-PC-3 + + #################################### + # ST Project B Network POL Config # + #################################### + + # ST Project B Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_B-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-1 + + - ref: PROJ_B-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-2 + + - ref: PROJ_B-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + - ref: PROJ_B-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-B-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-B-PRV-PC-3 + + #################################### + # ST Project C Network POL Config # + #################################### + + # ST Project C Green Agent Pattern Of Life + # ======================================== + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: PROJ_C-SENIOR-DEV-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-SENIOR-DEV-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-1 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_40 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-1 + + - ref: PROJ_C-JUNIOR-DEV-1-DB + team: GREEN + type: periodic-agent + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-1-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-2 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-2 + + - ref: PROJ_C-JUNIOR-DEV-2-DB + team: GREEN + type: periodic-agent + observation_space: {} + observation_space: {} + agent_settings: + possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + target_application: "database-client" + start_step: 1 + start_variance: 1 + max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + frequency: 4 + variance: 1 + reward_function: + reward_components: + - type: green-admin-database-unreachable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + - ref: PROJ_C-JUNIOR-DEV-2-WEB + team: GREEN + type: probabilistic-agent + observation_space: {} + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: web-browser + agent_settings: + <<: *GREEN_PROBABILISTIC_20 + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *LOW_WEIGHT_IMPACT + options: + node_hostname: ST-PROJ-C-PRV-PC-3 + + ###################################### + # ST Head Office Network POL Config # + ###################################### + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: CEO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-1 + + - ref: CTO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-2 + + - ref: CFO + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HO-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HO-PRV-PC-3 + + ########################################## + # ST Human Resources Network POL Config # + ########################################## + + # ST Head Office Green Agent Pattern Of Life + # ========================================== + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + + - ref: SENIOR_HR + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-1 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-1 + + - ref: JUNIOR_HR-1 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-2 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-2 + + - ref: JUNIOR_HR-2 + team: GREEN + type: probabilistic-agent + observation_space: {} + agent_settings: + <<: *GREEN_PROBABILISTIC_60 + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_name: ST-HR-PRV-PC-3 + application_name: web-browser + reward_function: + reward_components: + - type: webpage-unavailable-penalty + weight: *MEDIUM_WEIGHT_IMPACT + options: + node_hostname: ST-HR-PRV-PC-3 + + ########################## + # UC7 Red Agent Config # + ########################## + + - *red +########################### +# UC7 Blue Agent Config # +########################### + + - ref: defender + team: BLUE + type: proxy-agent + observation_space: + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 + - hostname: ST-PROJ-A-PRV-PC-1 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + - application_name: database-client + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 + - hostname: ST-PROJ-B-PRV-PC-2 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 + - hostname: ST-PROJ-C-PRV-PC-3 + services: + - service_name: ftp-client + applications: + - application_name: ransomware-script + folders: + - folder_name: downloads + files: + - file_name: malware_dropper.ps1 + - folder_name: exfiltration_folder + files: + - file_name: database.db + # ST DATA Server Database + - hostname: ST-DATA-PRV-SRV-DB + folders: + - folder_name: database + files: + - file_name: database.db + routers: + - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 + num_ports: 5 + num_services: 2 + num_applications: 2 + num_folders: 2 + num_files: 1 + num_nics: 1 + ip_list: + # ip_list is indexed at 2: + # 0 reserved for padding to align with observations + # 1 reserved for ALL ips + *UC7_IP_LIST + wildcard_list: + - 0.0.0.1 # 0 + - 0.0.0.255 # 1 + - 0.0.255.255 # 2 + port_list: + # 0 is a padding placeholder + # 1 means ALL ports + - FTP # 2 + - DNS # 3 + - HTTP # 4 + - NTP # 5 + - POSTGRES_SERVER # 6 + - SSH # 7 + + protocol_list: + # 0 is padding placeholder + # 1 means ALL protocols + - ICMP # 2 + - TCP # 3 + - UDP # 4 + num_rules: 5 + include_num_access: true + include_nmne: true + monitored_traffic: + tcp: + - HTTP + - POSTGRES_SERVER + icmp: + - NONE + - type: links + label: LINKS + options: + link_references: + # HOME OFFICE SUBNET LINKS + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-RT-DR:eth-1 # 1 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-1:eth-1 # 2 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-PC-2:eth-1 # 3 + - HOME-PUB-SW-AS:eth-1<->HOME-PUB-SRV:eth-1 # 4 + # Internet LINKS + - ISP-PUB-RT-BR:eth-1<->HOME-PUB-RT-DR:eth-2 # 5 + - ISP-PUB-RT-BR:eth-2<->ISP-PUB-SRV-DNS:eth-1 # 6 + - ISP-PUB-RT-BR:eth-3<->REM-PUB-FW:eth-1 # 7 + # Remote DMZ Links + - REM-PUB-FW:eth-2<->REM-PUB-RT-DR:eth-1 # 8 + # Remote Site Links + - REM-PUB-RT-DR:eth-2<->REM-PUB-SW-AS:eth-1 # 9 + - REM-PUB-SW-AS:eth-2<->REM-PUB-PC-1:eth-1 # 10 + - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 + - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 + # SOME_TECH DMZ + - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 + - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + # SOME_TECH Intranet + - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 + - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + # SOME_TECH Head Office + - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 + - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 + - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + # SOME_TECH Human Resources + - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 + - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 + - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + # SOME_TECH Data Links + - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + # SOME_TECH Project A Links + - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + # SOME_TECH Project B Links + - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 + - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 + - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + # SOME_TECH Project C Links + - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 + - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 + - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + action_space: + action_map: + 0: + action: do-nothing + options: {} + + # |======================================| + # | ST-PROJ-A-PRV-PC-1 | + # |======================================| + + # ST-PROJ-A-PRV-PC-1 | node-os-scan + 1: + action: node-os-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-shutdown + 2: + action: node-shutdown + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-startup + 3: + action: node-startup + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | node-reset + 4: + action: node-reset + options: + node_name: ST-PROJ-A-PRV-PC-1 + # ST-PROJ-A-PRV-PC-1 | host-nic-disable + 5: + action: host-nic-disable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | host-nic-enable + 6: + action: host-nic-enable + options: + node_name: ST-PROJ-A-PRV-PC-1 + nic_num: 0 + # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + 7: + action: node-application-close + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + 8: + action: node-application-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + 9: + action: node-application-fix + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + 10: + action: node-application-remove + options: + node_name: ST-PROJ-A-PRV-PC-1 + application_name: database-client + + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + 11: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + 12: + action: node-file-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + 13: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: downloads + + # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + 14: + action: node-folder-scan + options: + node_name: ST-PROJ-A-PRV-PC-1 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-B-PRV-PC-2 | + # |======================================| + + # ST-PROJ-B-PRV-PC-2 | node-os-scan + 15: + action: node-os-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-shutdown + 16: + action: node-shutdown + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-startup + 17: + action: node-startup + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | node-reset + 18: + action: node-reset + options: + node_name: ST-PROJ-B-PRV-PC-2 + + # ST-PROJ-B-PRV-PC-2 | host-nic-disable + 19: + action: host-nic-disable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | host-nic-enable + 20: + action: host-nic-enable + options: + node_name: ST-PROJ-B-PRV-PC-2 + nic_num: 0 + + # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + 21: + action: node-application-close + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + 22: + action: node-application-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + 23: + action: node-application-fix + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + 24: + action: node-application-remove + options: + node_name: ST-PROJ-B-PRV-PC-2 + application_name: database-client + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + 25: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + 26: + action: node-file-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + 27: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: downloads + + # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + 28: + action: node-folder-scan + options: + node_name: ST-PROJ-B-PRV-PC-2 + folder_name: exfiltration_folder + + # |======================================| + # | ST-PROJ-C-PRV-PC-3 | + # |======================================| + + # ST-PROJ-C-PRV-PC-3 | node-os-scan + 29: + action: node-os-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-shutdown + 30: + action: node-shutdown + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-startup + 31: + action: node-startup + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | node-reset + 32: + action: node-reset + options: + node_name: ST-PROJ-C-PRV-PC-3 + + # ST-PROJ-C-PRV-PC-3 | host-nic-disable + 33: + action: host-nic-disable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | host-nic-enable + 34: + action: host-nic-enable + options: + node_name: ST-PROJ-C-PRV-PC-3 + nic_num: 0 + + # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + 35: + action: node-application-close + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + 36: + action: node-application-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + 37: + action: node-application-fix + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + 38: + action: node-application-remove + options: + node_name: ST-PROJ-C-PRV-PC-3 + application_name: database-client + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + 39: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + file_name: malware_dropper.ps1 + + # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + 40: + action: node-file-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + file_name: database.db + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + 41: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: downloads + + # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + 42: + action: node-folder-scan + options: + node_name: ST-PROJ-C-PRV-PC-3 + folder_name: exfiltration_folder + + # |======================================| + # | ST-INTRA-PRV-RT-CR | + # |======================================| + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 43: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + 44: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 1 + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 45: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + permission: DENY + src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + 46: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 2 + + # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + 47: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + permission: DENY + src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_wildcard: 0.0.255.255 + src_port: POSTGRES_SERVER + dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_wildcard: 0.0.255.255 + dst_port: POSTGRES_SERVER + protocol_name: TCP + + # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + 48: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-CR + position: 3 + + # |======================================| + # | ST-DATA-PRV-SRV-DB | + # |======================================| + + # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + 49: + action: node-file-scan + options: + node_name: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + 50: + action: node-account-change-password + options: + node_name: ST-DATA-PRV-SRV-DB + username: admin # default account + current_password: admin # default password + new_password: thr33_alert_wolv3z # A more 'secure' password + + # |======================================| + # | ST-INTRA-PRV-RT-DR-1 | + # |======================================| + + # ST-INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + 51: + action: router-acl-add-rule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + permission: DENY + src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_wildcard: 0.0.255.255 + src_port: SSH + dst_ip: ALL + dst_wildcard: 0.0.255.255 + dst_port: SSH + protocol_name: TCP + + # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + 52: + action: node-account-change-password + options: + node_name: ST-INTRA-PRV-RT-DR-1 + username: admin + current_password: admin + new_password: secure_password + + # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + 53: + action: router-acl-remove-rule + options: + target_router: ST-INTRA-PRV-RT-DR-1 + position: 1 + + # |======================================| + # | REM-PUB-RT-DR | + # |======================================| + + # REM-PUB-RT-DR | node-account-change-password + 54: + action: node-account-change-password + options: + node_name: REM-PUB-RT-DR + username: admin + current_password: admin + new_password: secure_password + + # REM-PUB-RT-DR | router-acl-remove-rule | Removes the given ACL at position 1 + 55: + action: router-acl-remove-rule + options: + target_router: REM-PUB-RT-DR + position: 1 + + reward_function: + reward_components: + - type: database-file-integrity + weight: *HIGH_WEIGHT_IMPACT + options: + node_hostname: ST-DATA-PRV-SRV-DB + folder_name: database + file_name: database.db + + # Home Site Green Agents (32 Green Agents each contributing 0.03125 of blue reward) + + # Blue Shared Reward | HOME_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-DB + + # Blue Shared Reward | HOME_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-1-WEB + + # Blue Shared Reward | HOME_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-DB + + - type: shared-reward + weight: 0.03125 + options: + agent_name: HOME_WORKER-2-WEB + + # Remote Site Green Agents + + # Blue Shared Reward | REMOTE_WORKER-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-DB + + # Blue Shared Reward | REMOTE_WORKER-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-1-WEB + + # Blue Shared Reward | REMOTE_WORKER-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-DB + + # Blue Shared Reward | REMOTE_WORKER-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: REMOTE_WORKER-2-WEB + + # ST Project A Green Agents + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_A-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_A-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_A-JUNIOR-DEV-2-WEB + + # ST Project B Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Project C Green Agents + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-DB + + # Blue Shared Reward | PROJ_B-SENIOR-DEV-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-SENIOR-DEV-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-1-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-1-WEB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-DB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-DB + + # Blue Shared Reward | PROJ_B-JUNIOR-DEV-2-WEB + - type: shared-reward + weight: 0.03125 + options: + agent_name: PROJ_B-JUNIOR-DEV-2-WEB + + # ST Head Office Green Agents (CEO/CFO/CTO) + + # Blue Shared Reward | CEO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CEO + + # Blue Shared Reward | CFO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CFO + + # Blue Shared Reward | CTO + - type: shared-reward + weight: 0.03125 + options: + agent_name: CTO + + # ST Human Resources Green Agents + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: SENIOR_HR + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-1 + + # Blue Shared Reward | SENIOR_HR + - type: shared-reward + weight: 0.03125 + options: + agent_name: JUNIOR_HR-2 + + agent_settings: + flatten_obs: False + + + + # ####################################### + # # UC7 Network Wide System POL Config # + # ####################################### + + # # UC7 Network Wide System Pattern Of Life + # # ========================================== + # # 1. All NTP Clients perform periodic NTP Server transactions. + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: NTPClient Node Service Start doesn't start a 'Request' + + # # 1. All NTP Clients perform periodic NTP Server transactions. + + # - ref: SYSTEM-NTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # NTPClient + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: HOME-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: NTPClient + # - node_name: REM-PUB-SRV + # services: + # - service_name: NTPClient + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: NTPClient + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: NTPClient + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: NTPClient + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: NTPClient + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: NTPClient + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: NTPClient + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + + # - ref: SYSTEM-FTP + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_FIX + # action_map: + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_FIX + # options: + # node_id: 0 + # service_id: 0 + # options: + # nodes: + # - node_name: ST-DATA-PRV-SRV-DB + # applications: + # - application_name: database-client + # ip_list: + # - *ST_SRV_DB_IP + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 4 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 4 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY + + # # 3. All DNS Clients perform periodic DNS Server transactions. + + # # TODO: Address issue where dns-clients can't be started directly via agents + # - ref: SYSTEM-DNS + # team: GREEN + # type: probabilistic-agent + # observation_space: null + # action_space: + # action_list: + # - type: do-nothing + # - type: NODE_SERVICE_START + # action_map: + # # ====== Home Office ======== + # 0: + # action: do-nothing + # options: {} + # 1: + # action: NODE_SERVICE_START + # options: + # node_id: 0 # HOME-PUB-PC-1 + # service_id: 0 # dns-client + # 2: + # action: NODE_SERVICE_START + # options: + # node_id: 1 # HOME-PUB-PC-2 + # service_id: 0 + # 3: + # action: NODE_SERVICE_START + # options: + # node_id: 2 # HOME-PUB-PC-SRV + # service_id: 0 + # # ====== Remote Site ======== + # 4: + # action: NODE_SERVICE_START + # options: + # node_id: 3 # REM-PUB-PC-1 + # service_id: 0 + # 5: + # action: NODE_SERVICE_START + # options: + # node_id: 4 # REM-PUB-PC-2 + # service_id: 0 + # 6: + # action: NODE_SERVICE_START + # options: + # node_id: 5 # REM-PUB-SRV + # service_id: 0 + # # ====== ST Public DMZ ======= + # 7: + # action: NODE_SERVICE_START + # options: + # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # service_id: 0 + # # ====== ST Head Office ======= + # 8: + # action: NODE_SERVICE_START + # options: + # node_id: 7 # ST-HO-PRV-PC-1 + # service_id: 0 + # 9: + # action: NODE_SERVICE_START + # options: + # node_id: 8 # ST-HO-PRV-PC-2 + # service_id: 0 + # 10: + # action: NODE_SERVICE_START + # options: + # node_id: 9 # ST-HO-PRV-PC-3 + # service_id: 0 + # # ====== ST Human Resources ======= + # 11: + # action: NODE_SERVICE_START + # options: + # node_id: 10 # ST-HR-PRV-PC-1 + # service_id: 0 + # 12: + # action: NODE_SERVICE_START + # options: + # node_id: 11 # ST-HR-PRV-PC-2 + # service_id: 0 + # 13: + # action: NODE_SERVICE_START + # options: + # node_id: 12 # ST-HR-PRV-PC-3 + # service_id: 0 + # # ====== ST DATA Servers ======= + # 14: + # action: NODE_SERVICE_START + # options: + # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # service_id: 0 + # 15: + # action: NODE_SERVICE_START + # options: + # node_id: 14 # ST-DATA-PRV-SRV-DB + # service_id: 0 + # # ====== ST Project A ======= + # 16: + # action: NODE_SERVICE_START + # options: + # node_id: 15 # PROJ-A-PRV-PC-1 + # service_id: 0 + # 17: + # action: NODE_SERVICE_START + # options: + # node_id: 16 # PROJ-A-PRV-PC-2 + # service_id: 0 + # 18: + # action: NODE_SERVICE_START + # options: + # node_id: 17 # PROJ-A-PRV-PC-3 + # service_id: 0 + # # ====== ST Project B ======= + # 19: + # action: NODE_SERVICE_START + # options: + # node_id: 18 # PROJ-B-PRV-PC-1 + # service_id: 0 + # 20: + # action: NODE_SERVICE_START + # options: + # node_id: 19 # PROJ-B-PRV-PC-2 + # service_id: 0 + # 21: + # action: NODE_SERVICE_START + # options: + # node_id: 20 # PROJ-B-PRV-PC-3 + # service_id: 0 + # # ====== ST Project C ======= + # 22: + # action: NODE_SERVICE_START + # options: + # node_id: 21 # PROJ-C-PRV-PC-1 + # service_id: 0 + # 23: + # action: NODE_SERVICE_START + # options: + # node_id: 22 # PROJ-C-PRV-PC-2 + # service_id: 0 + # 24: + # action: NODE_SERVICE_START + # options: + # node_id: 23 # PROJ-C-PRV-PC-3 + # service_id: 0 + # options: + # nodes: + # # ====== Home Office ======== + # - node_name: HOME-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: HOME-PUB-SRV + # services: + # - service_name: dns-client + # # ====== Remote Site ======== + # - node_name: REM-PUB-PC-1 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-PC-2 + # services: + # - service_name: dns-client + # - node_name: REM-PUB-SRV + # services: + # - service_name: dns-client + # # ====== ST Public DMZ ======= + # - node_name: ST-DMZ-PUB-SRV-WEB + # services: + # - service_name: dns-client + # # ====== ST Head Office ======= + # - node_name: ST-HO-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HO-PRV-PC-3 + # services: + # - service_name: dns-client + # # ===== ST Human Resources ====== + # - node_name: ST-HR-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: ST-HR-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST DATA Servers ======= + # - node_name: ST-DATA-PRV-SRV-STORAGE + # services: + # - service_name: dns-client + # - node_name: ST-DATA-PRV-SRV-DB + # services: + # - service_name: dns-client + # # ====== ST Project A ======= + # - node_name: PROJ-A-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-A-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project B ======= + # - node_name: PROJ-B-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-B-PRV-PC-3 + # services: + # - service_name: dns-client + # # ====== ST Project C ======= + # - node_name: PROJ-C-PRV-PC-1 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-2 + # services: + # - service_name: dns-client + # - node_name: PROJ-C-PRV-PC-3 + # services: + # - service_name: dns-client + # ip_list: + # *UC7_IP_LIST + # max_folders_per_node: 1 + # max_files_per_folder: 1 + # max_services_per_node: 1 + # max_applications_per_node: 1 + # settings: + # start_step: 1 + # start_variance: 0 + # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS + # frequency: 1 + # variance: 0 + # reward_function: + # reward_components: + # - type: DUMMY diff --git a/src/primaite/game/agent/actions/node.py b/src/primaite/game/agent/actions/node.py index 19639c21..b1b6ec12 100644 --- a/src/primaite/game/agent/actions/node.py +++ b/src/primaite/game/agent/actions/node.py @@ -1,6 +1,6 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK from abc import ABC, abstractmethod -from typing import ClassVar, List, Optional, Union +from typing import ClassVar, List, Literal, Optional, Union from primaite.game.agent.actions.manager import AbstractAction from primaite.interface.request import RequestFormat @@ -153,8 +153,6 @@ class NodeNMAPPortScanAction(NodeNMAPAbstractAction, discriminator="node-nmap-po class NodeNetworkServiceReconAction(NodeNMAPAbstractAction, discriminator="node-network-service-recon"): """Action which performs an nmap network service recon (ping scan followed by port scan).""" - config: "NodeNetworkServiceReconAction.ConfigSchema" - class ConfigSchema(NodeNMAPAbstractAction.ConfigSchema): """Configuration schema for NodeNetworkServiceReconAction.""" @@ -179,3 +177,70 @@ class NodeNetworkServiceReconAction(NodeNMAPAbstractAction, discriminator="node- "show": config.show, }, ] + + +class NodeAccountsAddUserAction(AbstractAction, discriminator="node-account-add-user"): + class ConfigSchema(AbstractAction.ConfigSchema): + type: Literal["node-account-add-user"] = "node-account-add-user" + node_name: str + username: str + password: str + is_admin: bool + + @classmethod + @staticmethod + def form_request(config: ConfigSchema) -> RequestFormat: + return [ + "network", + "node", + config.node_name, + "service", + "user-manager", + "add_user", + config.username, + config.password, + config.is_admin, + ] + + +class NodeAccountsDisableUserAction(AbstractAction, discriminator="node-account-disable-user"): + class ConfigSchema(AbstractAction.ConfigSchema): + type: Literal["node-account-disable-user"] = "node-account-disable-user" + node_name: str + username: str + + @classmethod + @staticmethod + def form_request(config: ConfigSchema) -> RequestFormat: + return [ + "network", + "node", + config.node_name, + "service", + "user-manager", + "disable_user", + config.username, + ] + + +class NodeSendLocalCommandAction(AbstractAction, discriminator="node-send-local-command"): + class ConfigSchema(AbstractAction.ConfigSchema): + type: Literal["node-send-local-command"] = "node-send-local-command" + node_name: str + username: str + password: str + command: RequestFormat + + @staticmethod + def form_request(config: ConfigSchema) -> RequestFormat: + return [ + "network", + "node", + config.node_name, + "service", + "terminal", + "send_local_command", + config.username, + config.password, + {"command": config.command}, + ] diff --git a/src/primaite/game/agent/actions/session.py b/src/primaite/game/agent/actions/session.py index 58a8a555..63a45c5e 100644 --- a/src/primaite/game/agent/actions/session.py +++ b/src/primaite/game/agent/actions/session.py @@ -34,8 +34,6 @@ class NodeSessionAbstractAction(AbstractAction, ABC): class NodeSessionsRemoteLoginAction(NodeSessionAbstractAction, discriminator="node-session-remote-login"): """Action which performs a remote session login.""" - config: "NodeSessionsRemoteLoginAction.ConfigSchema" - class ConfigSchema(NodeSessionAbstractAction.ConfigSchema): """Configuration schema for NodeSessionsRemoteLoginAction.""" @@ -53,7 +51,7 @@ class NodeSessionsRemoteLoginAction(NodeSessionAbstractAction, discriminator="no config.node_name, "service", "terminal", - "node-session-remote-login", + "node_session_remote_login", config.username, config.password, config.remote_ip, @@ -63,8 +61,6 @@ class NodeSessionsRemoteLoginAction(NodeSessionAbstractAction, discriminator="no class NodeSessionsRemoteLogoutAction(NodeSessionAbstractAction, discriminator="node-session-remote-logoff"): """Action which performs a remote session logout.""" - config: "NodeSessionsRemoteLogoutAction.ConfigSchema" - class ConfigSchema(NodeSessionAbstractAction.ConfigSchema): """Configuration schema for NodeSessionsRemoteLogoutAction.""" @@ -78,14 +74,13 @@ class NodeSessionsRemoteLogoutAction(NodeSessionAbstractAction, discriminator="n return ["network", "node", config.node_name, "service", "terminal", config.verb, config.remote_ip] -class NodeAccountChangePasswordAction(NodeSessionAbstractAction, discriminator="node-account-change-password"): +class NodeAccountChangePasswordAction(AbstractAction, discriminator="node-account-change-password"): """Action which changes the password for a user.""" - config: "NodeAccountChangePasswordAction.ConfigSchema" - - class ConfigSchema(NodeSessionAbstractAction.ConfigSchema): + class ConfigSchema(AbstractAction.ConfigSchema): """Configuration schema for NodeAccountsChangePasswordAction.""" + node_name: str username: str current_password: str new_password: str diff --git a/src/primaite/game/agent/interface.py b/src/primaite/game/agent/interface.py index a55cd3ff..d06bd1d0 100644 --- a/src/primaite/game/agent/interface.py +++ b/src/primaite/game/agent/interface.py @@ -6,6 +6,7 @@ from abc import ABC, abstractmethod from typing import Any, ClassVar, Dict, List, Literal, Optional, Tuple, Type, TYPE_CHECKING from gymnasium.core import ActType, ObsType +from prettytable import PrettyTable from pydantic import BaseModel, ConfigDict, Field from primaite.game.agent.actions import ActionManager @@ -42,6 +43,9 @@ class AgentHistoryItem(BaseModel): reward_info: Dict[str, Any] = {} + observation: Optional[ObsType] = None + """The observation space data for this step.""" + class AbstractAgent(BaseModel, ABC): """Base class for scripted and RL agents.""" @@ -67,6 +71,9 @@ class AbstractAgent(BaseModel, ABC): default_factory=lambda: ObservationManager.ConfigSchema() ) reward_function: RewardFunction.ConfigSchema = Field(default_factory=lambda: RewardFunction.ConfigSchema()) + thresholds: Optional[Dict] = {} + # TODO: this is only relevant to some observations, need to refactor the way thresholds are dealt with (#3085) + """A dict containing the observation thresholds.""" config: ConfigSchema = Field(default_factory=lambda: AbstractAgent.ConfigSchema()) @@ -90,10 +97,42 @@ class AbstractAgent(BaseModel, ABC): def model_post_init(self, __context: Any) -> None: """Overwrite the default empty action, observation, and rewards with ones defined through the config.""" self.action_manager = ActionManager(config=self.config.action_space) + self.config.observation_space.options.thresholds = self.config.thresholds self.observation_manager = ObservationManager(config=self.config.observation_space) self.reward_function = RewardFunction(config=self.config.reward_function) return super().model_post_init(__context) + def add_agent_action(self, item: AgentHistoryItem, table: PrettyTable) -> PrettyTable: + """Update the given table with information from given AgentHistoryItem.""" + node, application = "unknown", "unknown" + if (node_id := item.parameters.get("node_id")) is not None: + node = self.action_manager.node_names[node_id] + if (application_id := item.parameters.get("application_id")) is not None: + application = self.action_manager.application_names[node_id][application_id] + if (application_name := item.parameters.get("application_name")) is not None: + application = application_name + table.add_row([item.timestep, item.action, node, application, item.response.status]) + return table + + def show_history(self, ignored_actions: Optional[list] = None): + """ + Print an agent action provided it's not the DONOTHING action. + + :param ignored_actions: OPTIONAL: List of actions to be ignored when displaying the history. + If not provided, defaults to ignore DONOTHING actions. + """ + if not ignored_actions: + ignored_actions = ["DONOTHING"] + table = PrettyTable() + table.field_names = ["Step", "Action", "Node", "Application", "Response"] + print(f"Actions for '{self.agent_name}':") + for item in self.history: + if item.action in ignored_actions: + pass + else: + table = self.add_agent_action(item=item, table=table) + print(table) + def update_observation(self, state: Dict) -> ObsType: """ Convert a state from the simulator into an observation for the agent using the observation space. @@ -140,12 +179,23 @@ class AbstractAgent(BaseModel, ABC): return request def process_action_response( - self, timestep: int, action: str, parameters: Dict[str, Any], request: RequestFormat, response: RequestResponse + self, + timestep: int, + action: str, + parameters: Dict[str, Any], + request: RequestFormat, + response: RequestResponse, + observation: ObsType, ) -> None: """Process the response from the most recent action.""" self.history.append( AgentHistoryItem( - timestep=timestep, action=action, parameters=parameters, request=request, response=response + timestep=timestep, + action=action, + parameters=parameters, + request=request, + response=response, + observation=observation, ) ) diff --git a/src/primaite/game/agent/observations/file_system_observations.py b/src/primaite/game/agent/observations/file_system_observations.py index ed9dcd8f..a9e3a9aa 100644 --- a/src/primaite/game/agent/observations/file_system_observations.py +++ b/src/primaite/game/agent/observations/file_system_observations.py @@ -26,7 +26,13 @@ class FileObservation(AbstractObservation, discriminator="file"): file_system_requires_scan: Optional[bool] = None """If True, the file must be scanned to update the health state. Tf False, the true state is always shown.""" - def __init__(self, where: WhereType, include_num_access: bool, file_system_requires_scan: bool) -> None: + def __init__( + self, + where: WhereType, + include_num_access: bool, + file_system_requires_scan: bool, + thresholds: Optional[Dict] = {}, + ) -> None: """ Initialise a file observation instance. @@ -48,10 +54,36 @@ class FileObservation(AbstractObservation, discriminator="file"): if self.include_num_access: self.default_observation["num_access"] = 0 - # TODO: allow these to be configured in yaml - self.high_threshold = 10 - self.med_threshold = 5 - self.low_threshold = 0 + if thresholds.get("file_access") is None: + self.low_file_access_threshold = 0 + self.med_file_access_threshold = 5 + self.high_file_access_threshold = 10 + else: + self._set_file_access_threshold( + thresholds=[ + thresholds.get("file_access")["low"], + thresholds.get("file_access")["medium"], + thresholds.get("file_access")["high"], + ] + ) + + def _set_file_access_threshold(self, thresholds: List[int]): + """ + Method that validates and then sets the file access threshold. + + :param: thresholds: The file access threshold to validate and set. + """ + if self._validate_thresholds( + thresholds=[ + thresholds[0], + thresholds[1], + thresholds[2], + ], + threshold_identifier="file_access", + ): + self.low_file_access_threshold = thresholds[0] + self.med_file_access_threshold = thresholds[1] + self.high_file_access_threshold = thresholds[2] def _categorise_num_access(self, num_access: int) -> int: """ @@ -60,11 +92,11 @@ class FileObservation(AbstractObservation, discriminator="file"): :param num_access: Number of file accesses. :return: Bin number corresponding to the number of accesses. """ - if num_access > self.high_threshold: + if num_access > self.high_file_access_threshold: return 3 - elif num_access > self.med_threshold: + elif num_access > self.med_file_access_threshold: return 2 - elif num_access > self.low_threshold: + elif num_access > self.low_file_access_threshold: return 1 return 0 @@ -122,6 +154,7 @@ class FileObservation(AbstractObservation, discriminator="file"): where=parent_where + ["files", config.file_name], include_num_access=config.include_num_access, file_system_requires_scan=config.file_system_requires_scan, + thresholds=config.thresholds, ) @@ -149,6 +182,7 @@ class FolderObservation(AbstractObservation, discriminator="folder"): num_files: int, include_num_access: bool, file_system_requires_scan: bool, + thresholds: Optional[Dict] = {}, ) -> None: """ Initialise a folder observation instance. @@ -177,6 +211,7 @@ class FolderObservation(AbstractObservation, discriminator="folder"): where=None, include_num_access=include_num_access, file_system_requires_scan=self.file_system_requires_scan, + thresholds=thresholds, ) ) while len(self.files) > num_files: @@ -253,6 +288,7 @@ class FolderObservation(AbstractObservation, discriminator="folder"): for file_config in config.files: file_config.include_num_access = config.include_num_access file_config.file_system_requires_scan = config.file_system_requires_scan + file_config.thresholds = config.thresholds files = [FileObservation.from_config(config=f, parent_where=where) for f in config.files] return cls( @@ -261,4 +297,5 @@ class FolderObservation(AbstractObservation, discriminator="folder"): num_files=config.num_files, include_num_access=config.include_num_access, file_system_requires_scan=config.file_system_requires_scan, + thresholds=config.thresholds, ) diff --git a/src/primaite/game/agent/observations/host_observations.py b/src/primaite/game/agent/observations/host_observations.py index 17bcb983..9b979063 100644 --- a/src/primaite/game/agent/observations/host_observations.py +++ b/src/primaite/game/agent/observations/host_observations.py @@ -54,7 +54,15 @@ class HostObservation(AbstractObservation, discriminator="host"): """ If True, files and folders must be scanned to update the health state. If False, true state is always shown. """ - include_users: Optional[bool] = None + services_requires_scan: Optional[bool] = None + """ + If True, services must be scanned to update the health state. If False, true state is always shown. + """ + applications_requires_scan: Optional[bool] = None + """ + If True, applications must be scanned to update the health state. If False, true state is always shown. + """ + include_users: Optional[bool] = True """If True, report user session information.""" def __init__( @@ -73,6 +81,8 @@ class HostObservation(AbstractObservation, discriminator="host"): monitored_traffic: Optional[Dict], include_num_access: bool, file_system_requires_scan: bool, + services_requires_scan: bool, + applications_requires_scan: bool, include_users: bool, ) -> None: """ @@ -108,6 +118,12 @@ class HostObservation(AbstractObservation, discriminator="host"): :param file_system_requires_scan: If True, the files and folders must be scanned to update the health state. If False, the true state is always shown. :type file_system_requires_scan: bool + :param services_requires_scan: If True, services must be scanned to update the health state. + If False, the true state is always shown. + :type services_requires_scan: bool + :param applications_requires_scan: If True, applications must be scanned to update the health state. + If False, the true state is always shown. + :type applications_requires_scan: bool :param include_users: If True, report user session information. :type include_users: bool """ @@ -121,7 +137,7 @@ class HostObservation(AbstractObservation, discriminator="host"): # Ensure lists have lengths equal to specified counts by truncating or padding self.services: List[ServiceObservation] = services while len(self.services) < num_services: - self.services.append(ServiceObservation(where=None)) + self.services.append(ServiceObservation(where=None, services_requires_scan=services_requires_scan)) while len(self.services) > num_services: truncated_service = self.services.pop() msg = f"Too many services in Node observation space for node. Truncating service {truncated_service.where}" @@ -129,7 +145,9 @@ class HostObservation(AbstractObservation, discriminator="host"): self.applications: List[ApplicationObservation] = applications while len(self.applications) < num_applications: - self.applications.append(ApplicationObservation(where=None)) + self.applications.append( + ApplicationObservation(where=None, applications_requires_scan=applications_requires_scan) + ) while len(self.applications) > num_applications: truncated_application = self.applications.pop() msg = f"Too many applications in Node observation space for node. Truncating {truncated_application.where}" @@ -153,7 +171,13 @@ class HostObservation(AbstractObservation, discriminator="host"): self.nics: List[NICObservation] = network_interfaces while len(self.nics) < num_nics: - self.nics.append(NICObservation(where=None, include_nmne=include_nmne, monitored_traffic=monitored_traffic)) + self.nics.append( + NICObservation( + where=None, + include_nmne=include_nmne, + monitored_traffic=monitored_traffic, + ) + ) while len(self.nics) > num_nics: truncated_nic = self.nics.pop() msg = f"Too many network_interfaces in Node observation space for node. Truncating {truncated_nic.where}" @@ -269,8 +293,15 @@ class HostObservation(AbstractObservation, discriminator="host"): folder_config.include_num_access = config.include_num_access folder_config.num_files = config.num_files folder_config.file_system_requires_scan = config.file_system_requires_scan + folder_config.thresholds = config.thresholds for nic_config in config.network_interfaces: nic_config.include_nmne = config.include_nmne + nic_config.thresholds = config.thresholds + for service_config in config.services: + service_config.services_requires_scan = config.services_requires_scan + for application_config in config.applications: + application_config.applications_requires_scan = config.applications_requires_scan + application_config.thresholds = config.thresholds services = [ServiceObservation.from_config(config=c, parent_where=where) for c in config.services] applications = [ApplicationObservation.from_config(config=c, parent_where=where) for c in config.applications] @@ -281,7 +312,10 @@ class HostObservation(AbstractObservation, discriminator="host"): count = 1 while len(nics) < config.num_nics: nic_config = NICObservation.ConfigSchema( - nic_num=count, include_nmne=config.include_nmne, monitored_traffic=config.monitored_traffic + nic_num=count, + include_nmne=config.include_nmne, + monitored_traffic=config.monitored_traffic, + thresholds=config.thresholds, ) nics.append(NICObservation.from_config(config=nic_config, parent_where=where)) count += 1 @@ -301,5 +335,7 @@ class HostObservation(AbstractObservation, discriminator="host"): monitored_traffic=config.monitored_traffic, include_num_access=config.include_num_access, file_system_requires_scan=config.file_system_requires_scan, + services_requires_scan=config.services_requires_scan, + applications_requires_scan=config.applications_requires_scan, include_users=config.include_users, ) diff --git a/src/primaite/game/agent/observations/nic_observations.py b/src/primaite/game/agent/observations/nic_observations.py index 1aa6470d..8faeb906 100644 --- a/src/primaite/game/agent/observations/nic_observations.py +++ b/src/primaite/game/agent/observations/nic_observations.py @@ -1,13 +1,14 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK from __future__ import annotations -from typing import Dict, List, Optional +from typing import ClassVar, Dict, List, Optional from gymnasium import spaces from gymnasium.core import ObsType from primaite.game.agent.observations.observations import AbstractObservation, WhereType from primaite.game.agent.utils import access_from_nested_dict, NOT_PRESENT_IN_STATE +from primaite.simulator.network.nmne import NMNEConfig from primaite.utils.validation.ip_protocol import IPProtocol from primaite.utils.validation.port import Port @@ -15,6 +16,9 @@ from primaite.utils.validation.port import Port class NICObservation(AbstractObservation, discriminator="network-interface"): """Status information about a network interface within the simulation environment.""" + capture_nmne: ClassVar[bool] = NMNEConfig().capture_nmne + "A Boolean specifying whether malicious network events should be captured." + class ConfigSchema(AbstractObservation.ConfigSchema): """Configuration schema for NICObservation.""" @@ -25,7 +29,13 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): monitored_traffic: Optional[Dict[IPProtocol, List[Port]]] = None """A dict containing which traffic types are to be included in the observation.""" - def __init__(self, where: WhereType, include_nmne: bool, monitored_traffic: Optional[Dict] = None) -> None: + def __init__( + self, + where: WhereType, + include_nmne: bool, + monitored_traffic: Optional[Dict] = None, + thresholds: Dict = {}, + ) -> None: """ Initialise a network interface observation instance. @@ -45,10 +55,18 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): self.nmne_inbound_last_step: int = 0 self.nmne_outbound_last_step: int = 0 - # TODO: allow these to be configured in yaml - self.high_nmne_threshold = 10 - self.med_nmne_threshold = 5 - self.low_nmne_threshold = 0 + if thresholds.get("nmne") is None: + self.low_nmne_threshold = 0 + self.med_nmne_threshold = 5 + self.high_nmne_threshold = 10 + else: + self._set_nmne_threshold( + thresholds=[ + thresholds.get("nmne")["low"], + thresholds.get("nmne")["medium"], + thresholds.get("nmne")["high"], + ] + ) self.monitored_traffic = monitored_traffic if self.monitored_traffic: @@ -105,6 +123,20 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): bandwidth_utilisation = traffic_value / nic_max_bandwidth return int(bandwidth_utilisation * 9) + 1 + def _set_nmne_threshold(self, thresholds: List[int]): + """ + Method that validates and then sets the NMNE threshold. + + :param: thresholds: The NMNE threshold to validate and set. + """ + if self._validate_thresholds( + thresholds=thresholds, + threshold_identifier="nmne", + ): + self.low_nmne_threshold = thresholds[0] + self.med_nmne_threshold = thresholds[1] + self.high_nmne_threshold = thresholds[2] + def observe(self, state: Dict) -> ObsType: """ Generate observation based on the current state of the simulation. @@ -116,7 +148,7 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): """ nic_state = access_from_nested_dict(state, self.where) - if nic_state is NOT_PRESENT_IN_STATE: + if nic_state is NOT_PRESENT_IN_STATE or self.where is None: return self.default_observation obs = {"nic_status": 1 if nic_state["enabled"] else 2} @@ -164,7 +196,7 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): for port in self.monitored_traffic[protocol]: obs["TRAFFIC"][protocol][port] = {"inbound": 0, "outbound": 0} - if self.include_nmne: + if self.capture_nmne and self.include_nmne: obs.update({"NMNE": {}}) direction_dict = nic_state["nmne"].get("direction", {}) inbound_keywords = direction_dict.get("inbound", {}).get("keywords", {}) @@ -224,6 +256,7 @@ class NICObservation(AbstractObservation, discriminator="network-interface"): where=parent_where + ["NICs", config.nic_num], include_nmne=config.include_nmne, monitored_traffic=config.monitored_traffic, + thresholds=config.thresholds, ) diff --git a/src/primaite/game/agent/observations/node_observations.py b/src/primaite/game/agent/observations/node_observations.py index 3a3283a2..260fac68 100644 --- a/src/primaite/game/agent/observations/node_observations.py +++ b/src/primaite/game/agent/observations/node_observations.py @@ -48,7 +48,13 @@ class NodesObservation(AbstractObservation, discriminator="nodes"): include_num_access: Optional[bool] = None """Flag to include the number of accesses.""" file_system_requires_scan: bool = True - """If True, the folder must be scanned to update the health state. Tf False, the true state is always shown.""" + """If True, the folder must be scanned to update the health state. If False, the true state is always shown.""" + services_requires_scan: bool = True + """If True, the services must be scanned to update the health state. + If False, the true state is always shown.""" + applications_requires_scan: bool = True + """If True, the applications must be scanned to update the health state. + If False, the true state is always shown.""" include_users: Optional[bool] = True """If True, report user session information.""" num_ports: Optional[int] = None @@ -196,8 +202,14 @@ class NodesObservation(AbstractObservation, discriminator="nodes"): host_config.include_num_access = config.include_num_access if host_config.file_system_requires_scan is None: host_config.file_system_requires_scan = config.file_system_requires_scan + if host_config.services_requires_scan is None: + host_config.services_requires_scan = config.services_requires_scan + if host_config.applications_requires_scan is None: + host_config.applications_requires_scan = config.applications_requires_scan if host_config.include_users is None: host_config.include_users = config.include_users + if not host_config.thresholds: + host_config.thresholds = config.thresholds for router_config in config.routers: if router_config.num_ports is None: @@ -214,6 +226,8 @@ class NodesObservation(AbstractObservation, discriminator="nodes"): router_config.num_rules = config.num_rules if router_config.include_users is None: router_config.include_users = config.include_users + if not router_config.thresholds: + router_config.thresholds = config.thresholds for firewall_config in config.firewalls: if firewall_config.ip_list is None: @@ -228,6 +242,8 @@ class NodesObservation(AbstractObservation, discriminator="nodes"): firewall_config.num_rules = config.num_rules if firewall_config.include_users is None: firewall_config.include_users = config.include_users + if not firewall_config.thresholds: + firewall_config.thresholds = config.thresholds hosts = [HostObservation.from_config(config=c, parent_where=where) for c in config.hosts] routers = [RouterObservation.from_config(config=c, parent_where=where) for c in config.routers] diff --git a/src/primaite/game/agent/observations/observation_manager.py b/src/primaite/game/agent/observations/observation_manager.py index 032435b8..e8cb18aa 100644 --- a/src/primaite/game/agent/observations/observation_manager.py +++ b/src/primaite/game/agent/observations/observation_manager.py @@ -114,7 +114,9 @@ class NestedObservation(AbstractObservation, discriminator="custom"): instances = dict() for component in config.components: obs_class = AbstractObservation._registry[component.type] - obs_instance = obs_class.from_config(config=obs_class.ConfigSchema(**component.options)) + obs_instance = obs_class.from_config( + config=obs_class.ConfigSchema(**component.options, thresholds=config.thresholds) + ) instances[component.label] = obs_instance return cls(components=instances) @@ -242,8 +244,5 @@ class ObservationManager(BaseModel): """ if config is None: return cls(NullObservation()) - obs_type = config["type"] - obs_class = AbstractObservation._registry[obs_type] - observation = obs_class.from_config(config=obs_class.ConfigSchema(**config["options"])) - obs_manager = cls(observation) + obs_manager = cls(config=config) return obs_manager diff --git a/src/primaite/game/agent/observations/observations.py b/src/primaite/game/agent/observations/observations.py index da81d2ad..8558b75c 100644 --- a/src/primaite/game/agent/observations/observations.py +++ b/src/primaite/game/agent/observations/observations.py @@ -1,7 +1,7 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK """Manages the observation space for the agent.""" from abc import ABC, abstractmethod -from typing import Any, Dict, Iterable, Optional, Type, Union +from typing import Any, Dict, Iterable, List, Optional, Type, Union from gymnasium import spaces from gymnasium.core import ObsType @@ -19,6 +19,9 @@ class AbstractObservation(ABC): class ConfigSchema(ABC, BaseModel): """Config schema for observations.""" + thresholds: Optional[Dict] = {} + """A dict containing the observation thresholds.""" + model_config = ConfigDict(extra="forbid") _registry: Dict[str, Type["AbstractObservation"]] = {} @@ -69,3 +72,34 @@ class AbstractObservation(ABC): def from_config(cls, config: ConfigSchema, parent_where: WhereType = []) -> "AbstractObservation": """Create this observation space component form a serialised format.""" return cls() + + def _validate_thresholds(self, thresholds: List[int] = None, threshold_identifier: Optional[str] = "") -> bool: + """ + Method that checks if the thresholds are non overlapping and in the correct (ascending) order. + + Pass in the thresholds from low to high e.g. + thresholds=[low_threshold, med_threshold, ..._threshold, high_threshold] + + Throws an error if the threshold is not valid + + :param: thresholds: List of thresholds in ascending order. + :type: List[int] + :param: threshold_identifier: The name of the threshold option. + :type: Optional[str] + + :returns: bool + """ + if thresholds is None or len(thresholds) < 2: + raise Exception(f"{threshold_identifier} thresholds are invalid {thresholds}") + for idx in range(1, len(thresholds)): + if not isinstance(thresholds[idx], int): + raise Exception(f"{threshold_identifier} threshold ({thresholds[idx]}) is not a valid int.") + if not isinstance(thresholds[idx - 1], int): + raise Exception(f"{threshold_identifier} threshold ({thresholds[idx]}) is not a valid int.") + + if thresholds[idx] <= thresholds[idx - 1]: + raise Exception( + f"{threshold_identifier} threshold ({thresholds[idx - 1]}) " + f"is greater than or equal to ({thresholds[idx]}.)" + ) + return True diff --git a/src/primaite/game/agent/observations/software_observation.py b/src/primaite/game/agent/observations/software_observation.py index 07ec1abf..dac6b362 100644 --- a/src/primaite/game/agent/observations/software_observation.py +++ b/src/primaite/game/agent/observations/software_observation.py @@ -1,7 +1,7 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK from __future__ import annotations -from typing import Dict +from typing import Dict, List, Optional from gymnasium import spaces from gymnasium.core import ObsType @@ -19,7 +19,10 @@ class ServiceObservation(AbstractObservation, discriminator="service"): service_name: str """Name of the service, used for querying simulation state dictionary""" - def __init__(self, where: WhereType) -> None: + services_requires_scan: Optional[bool] = None + """If True, services must be scanned to update the health state. If False, true state is always shown.""" + + def __init__(self, where: WhereType, services_requires_scan: bool) -> None: """ Initialise a service observation instance. @@ -28,6 +31,7 @@ class ServiceObservation(AbstractObservation, discriminator="service"): :type where: WhereType """ self.where = where + self.services_requires_scan = services_requires_scan self.default_observation = {"operating_status": 0, "health_status": 0} def observe(self, state: Dict) -> ObsType: @@ -44,7 +48,9 @@ class ServiceObservation(AbstractObservation, discriminator="service"): return self.default_observation return { "operating_status": service_state["operating_state"], - "health_status": service_state["health_state_visible"], + "health_status": service_state["health_state_visible"] + if self.services_requires_scan + else service_state["health_state_actual"], } @property @@ -70,7 +76,9 @@ class ServiceObservation(AbstractObservation, discriminator="service"): :return: Constructed service observation instance. :rtype: ServiceObservation """ - return cls(where=parent_where + ["services", config.service_name]) + return cls( + where=parent_where + ["services", config.service_name], services_requires_scan=config.services_requires_scan + ) class ApplicationObservation(AbstractObservation, discriminator="application"): @@ -82,7 +90,12 @@ class ApplicationObservation(AbstractObservation, discriminator="application"): application_name: str """Name of the application, used for querying simulation state dictionary""" - def __init__(self, where: WhereType) -> None: + applications_requires_scan: Optional[bool] = None + """ + If True, applications must be scanned to update the health state. If False, true state is always shown. + """ + + def __init__(self, where: WhereType, applications_requires_scan: bool, thresholds: Optional[Dict] = {}) -> None: """ Initialise an application observation instance. @@ -92,25 +105,52 @@ class ApplicationObservation(AbstractObservation, discriminator="application"): :type where: WhereType """ self.where = where + self.applications_requires_scan = applications_requires_scan self.default_observation = {"operating_status": 0, "health_status": 0, "num_executions": 0} - # TODO: allow these to be configured in yaml - self.high_threshold = 10 - self.med_threshold = 5 - self.low_threshold = 0 + if thresholds.get("app_executions") is None: + self.low_app_execution_threshold = 0 + self.med_app_execution_threshold = 5 + self.high_app_execution_threshold = 10 + else: + self._set_application_execution_thresholds( + thresholds=[ + thresholds.get("app_executions")["low"], + thresholds.get("app_executions")["medium"], + thresholds.get("app_executions")["high"], + ] + ) + + def _set_application_execution_thresholds(self, thresholds: List[int]): + """ + Method that validates and then sets the application execution threshold. + + :param: thresholds: The application execution threshold to validate and set. + """ + if self._validate_thresholds( + thresholds=[ + thresholds[0], + thresholds[1], + thresholds[2], + ], + threshold_identifier="app_executions", + ): + self.low_app_execution_threshold = thresholds[0] + self.med_app_execution_threshold = thresholds[1] + self.high_app_execution_threshold = thresholds[2] def _categorise_num_executions(self, num_executions: int) -> int: """ - Represent number of file accesses as a categorical variable. + Represent number of application executions as a categorical variable. - :param num_access: Number of file accesses. + :param num_access: Number of application executions. :return: Bin number corresponding to the number of accesses. """ - if num_executions > self.high_threshold: + if num_executions > self.high_app_execution_threshold: return 3 - elif num_executions > self.med_threshold: + elif num_executions > self.med_app_execution_threshold: return 2 - elif num_executions > self.low_threshold: + elif num_executions > self.low_app_execution_threshold: return 1 return 0 @@ -128,7 +168,9 @@ class ApplicationObservation(AbstractObservation, discriminator="application"): return self.default_observation return { "operating_status": application_state["operating_state"], - "health_status": application_state["health_state_visible"], + "health_status": application_state["health_state_visible"] + if self.applications_requires_scan + else application_state["health_state_actual"], "num_executions": self._categorise_num_executions(application_state["num_executions"]), } @@ -161,4 +203,8 @@ class ApplicationObservation(AbstractObservation, discriminator="application"): :return: Constructed application observation instance. :rtype: ApplicationObservation """ - return cls(where=parent_where + ["applications", config.application_name]) + return cls( + where=parent_where + ["applications", config.application_name], + applications_requires_scan=config.applications_requires_scan, + thresholds=config.thresholds, + ) diff --git a/src/primaite/game/game.py b/src/primaite/game/game.py index 1427776e..a3a790cc 100644 --- a/src/primaite/game/game.py +++ b/src/primaite/game/game.py @@ -7,12 +7,14 @@ from pydantic import BaseModel, ConfigDict from primaite import DEFAULT_BANDWIDTH, getLogger from primaite.game.agent.interface import AbstractAgent, ProxyAgent +from primaite.game.agent.observations import NICObservation from primaite.game.agent.rewards import SharedReward from primaite.game.science import graph_has_cycle, topological_sort from primaite.simulator import SIM_OUTPUT from primaite.simulator.network.creation import NetworkNodeAdder from primaite.simulator.network.hardware.base import NetworkInterface, Node, NodeOperatingState, UserManager from primaite.simulator.network.hardware.nodes.host.host_node import NIC +from primaite.simulator.network.hardware.nodes.network.firewall import Firewall # noqa: F401 from primaite.simulator.network.hardware.nodes.network.switch import Switch from primaite.simulator.network.hardware.nodes.network.wireless_router import WirelessRouter from primaite.simulator.network.nmne import NMNEConfig @@ -44,15 +46,15 @@ from primaite.utils.validation.port import Port, PORT_LOOKUP _LOGGER = getLogger(__name__) SERVICE_TYPES_MAPPING = { - "DNSClient": DNSClient, - "DNSServer": DNSServer, - "DatabaseService": DatabaseService, - "WebServer": WebServer, - "FTPClient": FTPClient, - "FTPServer": FTPServer, - "NTPClient": NTPClient, - "NTPServer": NTPServer, - "Terminal": Terminal, + "dns-client": DNSClient, + "dns-server": DNSServer, + "database-service": DatabaseService, + "web-server": WebServer, + "ftp-client": FTPClient, + "ftp-server": FTPServer, + "ntp-client": NTPClient, + "ntp-server": NTPServer, + "terminal": Terminal, } """List of available services that can be installed on nodes in the PrimAITE Simulation.""" @@ -68,6 +70,8 @@ class PrimaiteGameOptions(BaseModel): seed: int = None """Random number seed for RNGs.""" + generate_seed_value: bool = False + """Internally generated seed value.""" max_episode_length: int = 256 """Maximum number of episodes for the PrimAITE game.""" ports: List[Port] @@ -175,6 +179,7 @@ class PrimaiteGame: parameters=parameters, request=request, response=response, + observation=obs, ) def pre_timestep(self) -> None: @@ -263,6 +268,7 @@ class PrimaiteGame: node_sets_cfg = network_config.get("node_sets", []) # Set the NMNE capture config NetworkInterface.nmne_config = NMNEConfig(**network_config.get("nmne_config", {})) + NICObservation.capture_nmne = NMNEConfig(**network_config.get("nmne_config", {})).capture_nmne for node_cfg in nodes_cfg: n_type = node_cfg["type"] @@ -293,6 +299,7 @@ class PrimaiteGame: if "users" in node_cfg and new_node.software_manager.software.get("user-manager"): user_manager: UserManager = new_node.software_manager.software["user-manager"] # noqa + for user_cfg in node_cfg["users"]: user_manager.add_user(**user_cfg, bypass_can_perform_action=True) @@ -407,6 +414,7 @@ class PrimaiteGame: agents_cfg = cfg.get("agents", []) for agent_cfg in agents_cfg: + agent_cfg = {**agent_cfg, "thresholds": game.options.thresholds} new_agent = AbstractAgent.from_config(agent_cfg) game.agents[agent_cfg["ref"]] = new_agent if isinstance(new_agent, ProxyAgent): diff --git a/src/primaite/notebooks/Command-and-Control-E2E-Demonstration.ipynb b/src/primaite/notebooks/Command-and-Control-E2E-Demonstration.ipynb index ef4e75dd..52499ea6 100644 --- a/src/primaite/notebooks/Command-and-Control-E2E-Demonstration.ipynb +++ b/src/primaite/notebooks/Command-and-Control-E2E-Demonstration.ipynb @@ -50,40 +50,22 @@ "custom_c2_agent = \"\"\"\n", " - ref: CustomC2Agent\n", " team: RED\n", - " type: ProxyAgent\n", + " type: proxy-a.gent\n", "\n", " action_space:\n", - " options:\n", - " nodes:\n", - " - node_name: web_server\n", - " applications:\n", - " - application_name: C2Beacon\n", - " - node_name: client_1\n", - " applications:\n", - " - application_name: C2Server\n", - " max_folders_per_node: 1\n", - " max_files_per_folder: 1\n", - " max_services_per_node: 2\n", - " max_nics_per_node: 8\n", - " max_acl_rules: 10\n", - " ip_list:\n", - " - 192.168.1.21\n", - " - 192.168.1.14\n", - " wildcard_list:\n", - " - 0.0.0.1\n", " action_map:\n", " 0:\n", " action: do_nothing\n", " options: {}\n", " 1:\n", - " action: node_application_install\n", + " action: node-application-install\n", " options:\n", - " node_id: 0\n", - " application_name: C2Beacon\n", + " node_name: web_server\n", + " application_name: c2-beacon\n", " 2:\n", - " action: configure_c2_beacon\n", + " action: configure-c2-beacon\n", " options:\n", - " node_id: 0\n", + " node_name: web_server\n", " config:\n", " c2_server_ip_address: 192.168.10.21\n", " keep_alive_frequency:\n", @@ -92,10 +74,10 @@ " 3:\n", " action: node_application_execute\n", " options:\n", - " node_id: 0\n", - " application_id: 0\n", + " node_name: web_server\n", + " application_name: c2-beacon\n", " 4:\n", - " action: c2_server_terminal_command\n", + " action: c2-server-terminal-command\n", " options:\n", " node_id: 1\n", " ip_address:\n", @@ -111,14 +93,14 @@ " 5:\n", " action: c2-server-ransomware-configure\n", " options:\n", - " node_id: 1\n", + " node_name: client_1\n", " config:\n", " server_ip_address: 192.168.1.14\n", " payload: ENCRYPT\n", " 6:\n", - " action: c2_server_data_exfiltrate\n", + " action: c2-server-data-exfiltrate\n", " options:\n", - " node_id: 1\n", + " node_name: client_1\n", " target_file_name: \"database.db\"\n", " target_folder_name: \"database\"\n", " exfiltration_folder_name: \"spoils\"\n", @@ -128,31 +110,27 @@ " password: admin\n", "\n", " 7:\n", - " action: c2_server_ransomware_launch\n", + " action: c2-server-ransomware-launch\n", " options:\n", - " node_id: 1\n", + " node_name: client_1\n", " 8:\n", - " action: configure_c2_beacon\n", + " action: configure-c2-beacon\n", " options:\n", - " node_id: 0\n", + " node_name: web_server\n", " config:\n", " c2_server_ip_address: 192.168.10.21\n", " keep_alive_frequency: 10\n", " masquerade_protocol: TCP\n", " masquerade_port: DNS\n", " 9:\n", - " action: configure_c2_beacon\n", + " action: configure-c2-beacon\n", " options:\n", - " node_id: 0\n", + " node_name: web_server\n", " config:\n", " c2_server_ip_address: 192.168.10.22\n", " keep_alive_frequency:\n", " masquerade_protocol:\n", " masquerade_port:\n", - "\n", - " reward_function:\n", - " reward_components:\n", - " - type: DUMMY\n", "\"\"\"\n", "c2_agent_yaml = yaml.safe_load(custom_c2_agent)" ] @@ -225,7 +203,7 @@ " nodes: # Node List\n", " - node_name: web_server\n", " applications: \n", - " - application_name: C2Beacon\n", + " - application_name: c2-beacon\n", " ...\n", " ...\n", " action_map:\n", @@ -233,7 +211,7 @@ " action: node_application_install \n", " options:\n", " node_id: 0 # Index 0 at the node list.\n", - " application_name: C2Beacon\n", + " application_name: c2-beacon\n", "```" ] }, @@ -268,7 +246,7 @@ " action_map:\n", " ...\n", " 2:\n", - " action: configure_c2_beacon\n", + " action: configure-c2-beacon\n", " options:\n", " node_id: 0 # Node Index\n", " config: # Further information about these config options can be found at the bottom of this notebook.\n", @@ -286,7 +264,7 @@ "outputs": [], "source": [ "env.step(2)\n", - "c2_beacon: C2Beacon = web_server.software_manager.software[\"C2Beacon\"]\n", + "c2_beacon: C2Beacon = web_server.software_manager.software[\"c2-beacon\"]\n", "web_server.software_manager.show()\n", "c2_beacon.show()" ] @@ -307,13 +285,13 @@ " nodes: # Node List\n", " - node_name: web_server\n", " applications: \n", - " - application_name: C2Beacon\n", + " - application_name: c2-beacon\n", " ...\n", " ...\n", " action_map:\n", " ...\n", " 3:\n", - " action: node_application_execute\n", + " action: node-application-execute\n", " options:\n", " node_id: 0\n", " application_id: 0\n", @@ -374,11 +352,11 @@ " ...\n", " - node_name: client_1\n", " applications: \n", - " - application_name: C2Server\n", + " - application_name: c2-server\n", " ...\n", " action_map:\n", " 4:\n", - " action: C2_SERVER_TERMINAL_COMMAND\n", + " action: c2-server-terminal-command\n", " options:\n", " node_id: 1\n", " ip_address:\n", @@ -431,7 +409,7 @@ " ...\n", " - node_name: client_1\n", " applications: \n", - " - application_name: C2Server\n", + " - application_name: c2-server\n", " ...\n", " action_map:\n", " 5:\n", @@ -459,7 +437,7 @@ "metadata": {}, "outputs": [], "source": [ - "ransomware_script: RansomwareScript = web_server.software_manager.software[\"RansomwareScript\"]\n", + "ransomware_script: RansomwareScript = web_server.software_manager.software[\"ransomware-script\"]\n", "web_server.software_manager.show()\n", "ransomware_script.show()" ] @@ -483,11 +461,11 @@ " ...\n", " - node_name: client_1\n", " applications: \n", - " - application_name: C2Server\n", + " - application_name: c2-server\n", " ...\n", " action_map:\n", " 6:\n", - " action: c2_server_data_exfiltrate\n", + " action: c2-server-data-exfiltrate\n", " options:\n", " node_id: 1\n", " target_file_name: \"database.db\"\n", @@ -549,11 +527,11 @@ " ...\n", " - node_name: client_1\n", " applications: \n", - " - application_name: C2Server\n", + " - application_name: c2-server\n", " ...\n", " action_map:\n", " 7:\n", - " action: c2_server_ransomware_launch\n", + " action: c2-server-ransomware-launch\n", " options:\n", " node_id: 1\n", "```\n" @@ -598,20 +576,20 @@ "custom_blue_agent_yaml = \"\"\"\n", " - ref: defender\n", " team: BLUE\n", - " type: ProxyAgent\n", + " type: proxy-agent\n", "\n", " observation_space:\n", - " type: CUSTOM\n", + " type: custom\n", " options:\n", " components:\n", - " - type: NODES\n", + " - type: nodes\n", " label: NODES\n", " options:\n", " hosts:\n", " - hostname: web_server\n", " applications:\n", - " - application_name: C2Beacon\n", - " - application_name: RansomwareScript\n", + " - application_name: c2-beacon\n", + " - application_name: ransomware-script\n", " folders:\n", " - folder_name: exfiltration_folder\n", " files:\n", @@ -661,7 +639,7 @@ " - UDP\n", " num_rules: 10\n", "\n", - " - type: LINKS\n", + " - type: links\n", " label: LINKS\n", " options:\n", " link_references:\n", @@ -675,7 +653,7 @@ " - switch_2:eth-1<->client_1:eth-1\n", " - switch_2:eth-2<->client_2:eth-1\n", " - switch_2:eth-7<->security_suite:eth-2\n", - " - type: \"NONE\"\n", + " - type: \"none\"\n", " label: ICS\n", " options: {}\n", "\n", @@ -685,16 +663,16 @@ " action: do_nothing\n", " options: {}\n", " 1:\n", - " action: node_application_remove\n", + " action: node-application-remove\n", " options:\n", - " node_id: 0\n", + " node_name: web-server\n", " application_name: C2Beacon\n", " 2:\n", - " action: node_shutdown\n", + " action: node-shutdown\n", " options:\n", - " node_id: 0\n", + " node_name: web-server\n", " 3:\n", - " action: router_acl_add_rule\n", + " action: router-acl-add-rule\n", " options:\n", " target_router: router_1\n", " position: 1\n", @@ -707,36 +685,6 @@ " source_wildcard_id: 0\n", " dest_wildcard_id: 0\n", "\n", - "\n", - " options:\n", - " nodes:\n", - " - node_name: web_server\n", - " applications:\n", - " - application_name: C2Beacon\n", - "\n", - " - node_name: database_server\n", - " folders:\n", - " - folder_name: database\n", - " files:\n", - " - file_name: database.db\n", - " services:\n", - " - service_name: DatabaseService\n", - " - node_name: router_1\n", - "\n", - " max_folders_per_node: 2\n", - " max_files_per_folder: 2\n", - " max_services_per_node: 2\n", - " max_nics_per_node: 8\n", - " max_acl_rules: 10\n", - " ip_list:\n", - " - 192.168.10.21\n", - " - 192.168.1.12\n", - " wildcard_list:\n", - " - 0.0.0.1\n", - " reward_function:\n", - " reward_components:\n", - " - type: DUMMY\n", - "\n", " agent_settings:\n", " flatten_obs: False\n", "\"\"\"\n", @@ -875,7 +823,7 @@ "outputs": [], "source": [ "# Installing RansomwareScript via C2 Terminal Commands\n", - "ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"RansomwareScript\"]],\n", + "ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"ransomware-script\"]],\n", " \"username\": \"admin\",\n", " \"password\": \"admin\"}\n", "c2_server.send_command(C2Command.TERMINAL, command_options=ransomware_install_command)\n" @@ -1034,11 +982,11 @@ " web_server: Server = given_env.game.simulation.network.get_node_by_hostname(\"web_server\")\n", "\n", " client_1.software_manager.install(C2Server)\n", - " c2_server: C2Server = client_1.software_manager.software[\"C2Server\"]\n", + " c2_server: C2Server = client_1.software_manager.software[\"c2-server\"]\n", " c2_server.run()\n", "\n", " web_server.software_manager.install(C2Beacon)\n", - " c2_beacon: C2Beacon = web_server.software_manager.software[\"C2Beacon\"]\n", + " c2_beacon: C2Beacon = web_server.software_manager.software[\"c2-beacon\"]\n", " c2_beacon.configure(c2_server_ip_address=\"192.168.10.21\")\n", " c2_beacon.establish()\n", "\n", @@ -1132,11 +1080,11 @@ "outputs": [], "source": [ "# Attempting to install the C2 RansomwareScript\n", - "ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"RansomwareScript\"]],\n", + "ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"ransomware-script\"]],\n", " \"username\": \"admin\",\n", " \"password\": \"admin\"}\n", "\n", - "c2_server: C2Server = client_1.software_manager.software[\"C2Server\"]\n", + "c2_server: C2Server = client_1.software_manager.software[\"c2-server\"]\n", "c2_server.send_command(C2Command.TERMINAL, command_options=ransomware_install_command)" ] }, @@ -1220,11 +1168,11 @@ "outputs": [], "source": [ "# Attempting to install the C2 RansomwareScript\n", - "ransomware_install_command = {\"commands\":[\"software_manager\", \"application\", \"install\", \"RansomwareScript\"],\n", + "ransomware_install_command = {\"commands\":[\"software_manager\", \"application\", \"install\", \"ransomware-script\"],\n", " \"username\": \"admin\",\n", " \"password\": \"admin\"}\n", "\n", - "c2_server: C2Server = client_1.software_manager.software[\"C2Server\"]\n", + "c2_server: C2Server = client_1.software_manager.software[\"c2-server\"]\n", "c2_server.send_command(C2Command.TERMINAL, command_options=ransomware_install_command)" ] }, @@ -1345,7 +1293,7 @@ "metadata": {}, "outputs": [], "source": [ - "database_server: Server = blue_env.game.simulation.network.get_node_by_hostname(\"database_server\")\n", + "database_server: Server = blue_env.game.simulation.network.get_node_by_hostname(\"database-server\")\n", "database_server.software_manager.file_system.show(full=True)" ] }, @@ -1391,7 +1339,7 @@ "\n", "``` YAML\n", "...\n", - " action: configure_c2_beacon\n", + " action: configure-c2-beacon\n", " options:\n", " node_id: 0\n", " config:\n", @@ -1446,16 +1394,16 @@ "source": [ "web_server: Server = c2_config_env.game.simulation.network.get_node_by_hostname(\"web_server\")\n", "web_server.software_manager.install(C2Beacon)\n", - "c2_beacon: C2Beacon = web_server.software_manager.software[\"C2Beacon\"]\n", + "c2_beacon: C2Beacon = web_server.software_manager.software[\"c2-beacon\"]\n", "\n", "client_1: Computer = c2_config_env.game.simulation.network.get_node_by_hostname(\"client_1\")\n", "client_1.software_manager.install(C2Server)\n", - "c2_server_1: C2Server = client_1.software_manager.software[\"C2Server\"]\n", + "c2_server_1: C2Server = client_1.software_manager.software[\"c2-server\"]\n", "c2_server_1.run()\n", "\n", "client_2: Computer = c2_config_env.game.simulation.network.get_node_by_hostname(\"client_2\")\n", "client_2.software_manager.install(C2Server)\n", - "c2_server_2: C2Server = client_2.software_manager.software[\"C2Server\"]\n", + "c2_server_2: C2Server = client_2.software_manager.software[\"c2-server\"]\n", "c2_server_2.run()" ] }, @@ -1759,6 +1707,16 @@ "\n", "display_obs_diffs(tcp_c2_obs, udp_c2_obs, blue_config_env.game.step_counter)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "env.game.agents[\"CustomC2Agent\"].show_history()" + ] } ], "metadata": { diff --git a/src/primaite/notebooks/Data-Manipulation-Customising-Red-Agent.ipynb b/src/primaite/notebooks/Data-Manipulation-Customising-Red-Agent.ipynb index 756fc44f..2dbf750e 100644 --- a/src/primaite/notebooks/Data-Manipulation-Customising-Red-Agent.ipynb +++ b/src/primaite/notebooks/Data-Manipulation-Customising-Red-Agent.ipynb @@ -47,7 +47,7 @@ "source": [ "def make_cfg_have_flat_obs(cfg):\n", " for agent in cfg['agents']:\n", - " if agent['type'] == \"ProxyAgent\":\n", + " if agent['type'] == \"proxy-agent\":\n", " agent['agent_settings']['flatten_obs'] = False" ] }, @@ -76,9 +76,9 @@ " # parse the info dict form step output and write out what the red agent is doing\n", " red_info : AgentHistoryItem = info['agent_actions']['data_manipulation_attacker']\n", " red_action = red_info.action\n", - " if red_action == 'do_nothing':\n", + " if red_action == 'do-nothing':\n", " red_str = 'DO NOTHING'\n", - " elif red_action == 'node_application_execute':\n", + " elif red_action == 'node-application-execute':\n", " client = \"client 1\" if red_info.parameters['node_id'] == 0 else \"client 2\"\n", " red_str = f\"ATTACK from {client}\"\n", " return red_str" @@ -147,36 +147,14 @@ "```yaml\n", " - ref: data_manipulation_attacker # name of agent\n", " team: RED # not used, just for human reference\n", - " type: RedDatabaseCorruptingAgent # type of agent - this lets primaite know which agent class to use\n", + " type: red-database-corrupting-agent # type of agent - this lets primaite know which agent class to use\n", "\n", " # Since the agent does not need to react to what is happening in the environment, the observation space is empty.\n", " observation_space:\n", - " type: UC2RedObservation\n", + " type: uc2-red-observation # TODO: what\n", " options:\n", " nodes: {}\n", "\n", - " action_space:\n", - " \n", - " # The agent has access to the DataManipulationBoth on clients 1 and 2.\n", - " options:\n", - " nodes:\n", - " - node_name: client_1 # The network should have a node called client_1\n", - " applications:\n", - " - application_name: DataManipulationBot # The node client_1 should have DataManipulationBot configured on it\n", - " - node_name: client_2 # The network should have a node called client_2\n", - " applications:\n", - " - application_name: DataManipulationBot # The node client_2 should have DataManipulationBot configured on it\n", - "\n", - " # not important\n", - " max_folders_per_node: 1\n", - " max_files_per_folder: 1\n", - " max_services_per_node: 1\n", - "\n", - " # red agent does not need a reward function\n", - " reward_function:\n", - " reward_components:\n", - " - type: DUMMY\n", - "\n", " # These actions are passed to the RedDatabaseCorruptingAgent init method, they dictate the schedule of attacks\n", " agent_settings:\n", " start_settings:\n", @@ -211,15 +189,13 @@ " \n", " # \n", " applications:\n", - " - ref: data_manipulation_bot\n", - " type: DataManipulationBot\n", + " - type: data-manipulation-bot\n", " options:\n", " port_scan_p_of_success: 0.8 # Probability that port scan is successful\n", " data_manipulation_p_of_success: 0.8 # Probability that SQL attack is successful\n", " payload: \"DELETE\" # The SQL query which causes the attack (this has to be DELETE)\n", " server_ip: 192.168.1.14 # IP address of server hosting the database\n", - " - ref: client_1_database_client\n", - " type: DatabaseClient # Database client must be installed in order for DataManipulationBot to function\n", + " - type: database-client # Database client must be installed in order for DataManipulationBot to function\n", " options:\n", " db_server_ip: 192.168.1.14 # IP address of server hosting the database\n", "```" @@ -354,19 +330,16 @@ "# Make attack always succeed.\n", "change = yaml.safe_load(\"\"\"\n", " applications:\n", - " - ref: data_manipulation_bot\n", - " type: DataManipulationBot\n", + " - type: data-manipulation-bot\n", " options:\n", " port_scan_p_of_success: 1.0\n", " data_manipulation_p_of_success: 1.0\n", " payload: \"DELETE\"\n", " server_ip: 192.168.1.14\n", - " - ref: client_1_web_browser\n", - " type: WebBrowser\n", + " - type: web-browser\n", " options:\n", " target_url: http://arcd.com/users/\n", - " - ref: client_1_database_client\n", - " type: DatabaseClient\n", + " - type: database-client\n", " options:\n", " db_server_ip: 192.168.1.14\n", "\"\"\")\n", @@ -399,19 +372,16 @@ "# Make attack always fail.\n", "change = yaml.safe_load(\"\"\"\n", " applications:\n", - " - ref: data_manipulation_bot\n", - " type: DataManipulationBot\n", + " - type: data-manipulation-bot\n", " options:\n", " port_scan_p_of_success: 0.0\n", " data_manipulation_p_of_success: 0.0\n", " payload: \"DELETE\"\n", " server_ip: 192.168.1.14\n", - " - ref: client_1_web_browser\n", - " type: WebBrowser\n", + " - type: web-browser\n", " options:\n", " target_url: http://arcd.com/users/\n", - " - ref: client_1_database_client\n", - " type: DatabaseClient\n", + " - type: database-client\n", " options:\n", " db_server_ip: 192.168.1.14\n", "\"\"\")\n", diff --git a/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb b/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb index dbc6f0c1..2070e03c 100644 --- a/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb +++ b/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb @@ -684,6 +684,15 @@ " print(f\"step: {env.game.step_counter}, Red action: {info['agent_actions']['data_manipulation_attacker'].action}, Blue reward:{reward:.2f}\" )" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.agents[\"data_manipulation_attacker\"].show_history()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -717,7 +726,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/src/primaite/notebooks/Getting-Information-Out-Of-PrimAITE.ipynb b/src/primaite/notebooks/Getting-Information-Out-Of-PrimAITE.ipynb index f8691d7d..58573ac6 100644 --- a/src/primaite/notebooks/Getting-Information-Out-Of-PrimAITE.ipynb +++ b/src/primaite/notebooks/Getting-Information-Out-Of-PrimAITE.ipynb @@ -153,6 +153,49 @@ "PRIMAITE_CONFIG[\"developer_mode\"][\"enabled\"] = was_enabled\n", "PRIMAITE_CONFIG[\"developer_mode\"][\"output_sys_logs\"] = was_syslogs_enabled" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Viewing Agent history\n", + "\n", + "It's possible to view the actions carried out by an agent for a given training session using the `show_history()` method. By default, this will be all actions apart from DONOTHING actions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(data_manipulation_config_path(), 'r') as f:\n", + " cfg = yaml.safe_load(f)\n", + "\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "\n", + "# Run the training session to generate some resultant data.\n", + "for i in range(100):\n", + " env.step(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calling `.show_history()` should show us when the Data Manipulation used the `NODE_APPLICATION_EXECUTE` action." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "attacker = env.game.agents[\"data_manipulation_attacker\"]\n", + "\n", + "attacker.show_history()" + ] } ], "metadata": { @@ -171,7 +214,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.8" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb b/src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb new file mode 100644 index 00000000..8f8ec24b --- /dev/null +++ b/src/primaite/notebooks/How-To-Use-Primaite-Dev-Mode.ipynb @@ -0,0 +1,479 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PrimAITE Developer mode\n", + "\n", + "PrimAITE has built in developer tools.\n", + "\n", + "The dev-mode is designed to help make the development of PrimAITE easier.\n", + "\n", + "`NOTE: For the purposes of the notebook, the commands are preceeded by \"!\". When running the commands, run it without the \"!\".`\n", + "\n", + "To display the available dev-mode options, run the command below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode --help" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Save the current PRIMAITE_CONFIG to restore after the notebook runs\n", + "\n", + "from primaite import PRIMAITE_CONFIG\n", + "\n", + "temp_config = PRIMAITE_CONFIG.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dev mode options" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### enable\n", + "\n", + "Enables the dev mode for PrimAITE.\n", + "\n", + "This will enable the developer mode for PrimAITE.\n", + "\n", + "By default, when developer mode is enabled, session logs will be generated in the PRIMAITE_ROOT/sessions folder unless configured to be generated in another location." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode enable" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### disable\n", + "\n", + "Disables the dev mode for PrimAITE.\n", + "\n", + "This will disable the developer mode for PrimAITE." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode disable" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### show\n", + "\n", + "Shows if PrimAITE is running in dev mode or production mode.\n", + "\n", + "The command will also show the developer mode configuration." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode show" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### config\n", + "\n", + "Configure the PrimAITE developer mode" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --help" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### path\n", + "\n", + "Set the path where generated session files will be output.\n", + "\n", + "By default, this value will be in PRIMAITE_ROOT/sessions.\n", + "\n", + "To reset the path to default, run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config path -root\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config path --default" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --sys-log-level or -slevel\n", + "\n", + "Set the system log level.\n", + "\n", + "This will override the system log level in configurations and will make PrimAITE include the set log level and above.\n", + "\n", + "Available options are:\n", + "- `DEBUG`\n", + "- `INFO`\n", + "- `WARNING`\n", + "- `ERROR`\n", + "- `CRITICAL`\n", + "\n", + "Default value is `DEBUG`\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --sys-log-level DEBUG\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -slevel DEBUG" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --agent-log-level or -alevel\n", + "\n", + "Set the agent log level.\n", + "\n", + "This will override the agent log level in configurations and will make PrimAITE include the set log level and above.\n", + "\n", + "Available options are:\n", + "- `DEBUG`\n", + "- `INFO`\n", + "- `WARNING`\n", + "- `ERROR`\n", + "- `CRITICAL`\n", + "\n", + "Default value is `DEBUG`\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --agent-log-level DEBUG\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -alevel DEBUG" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --output-sys-logs or -sys\n", + "\n", + "If enabled, developer mode will output system logs.\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --output-sys-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To disable outputting sys logs:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --no-sys-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -nsys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --output-agent-logs or -agent\n", + "\n", + "If enabled, developer mode will output agent action logs.\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --output-agent-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -agent" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To disable outputting agent action logs:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --no-agent-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -nagent" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --output-pcap-logs or -pcap\n", + "\n", + "If enabled, developer mode will output PCAP logs.\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --output-pcap-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -pcap" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To disable outputting PCAP logs:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --no-pcap-logs\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -npcap" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### --output-to-terminal or -t\n", + "\n", + "If enabled, developer mode will output logs to the terminal.\n", + "\n", + "Example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --output-to-terminal\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -t" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To disable terminal outputs:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config --no-terminal\n", + "\n", + "# or\n", + "\n", + "!primaite dev-mode config -nt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Combining commands\n", + "\n", + "It is possible to combine commands to set the configuration.\n", + "\n", + "This saves having to enter multiple commands and allows for a much more efficient setting of PrimAITE developer mode configurations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example of setting system log level and enabling the system logging:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config -slevel WARNING -sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another example where the system log and agent action log levels are set and enabled and should be printed to terminal:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite dev-mode config -slevel ERROR -sys -alevel ERROR -agent -t" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Restore PRIMAITE_CONFIG\n", + "from primaite.utils.cli.primaite_config_utils import update_primaite_application_config\n", + "\n", + "\n", + "global PRIMAITE_CONFIG\n", + "PRIMAITE_CONFIG[\"developer_mode\"] = temp_config[\"developer_mode\"]\n", + "update_primaite_application_config(config=PRIMAITE_CONFIG)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/Requests-and-Responses.ipynb b/src/primaite/notebooks/Requests-and-Responses.ipynb index 83aed07c..9260b29d 100644 --- a/src/primaite/notebooks/Requests-and-Responses.ipynb +++ b/src/primaite/notebooks/Requests-and-Responses.ipynb @@ -114,7 +114,7 @@ "metadata": {}, "outputs": [], "source": [ - "print(f\"DNS Client state: {client.software_manager.software.get('DNSClient').operating_state.name}\")" + "print(f\"DNS Client state: {client.software_manager.software.get('dns-client').operating_state.name}\")" ] }, { diff --git a/src/primaite/notebooks/Terminal-Processing.ipynb b/src/primaite/notebooks/Terminal-Processing.ipynb index 9aa4e96a..7c94d432 100644 --- a/src/primaite/notebooks/Terminal-Processing.ipynb +++ b/src/primaite/notebooks/Terminal-Processing.ipynb @@ -9,6 +9,13 @@ "© Crown-owned copyright 2024, Defence Science and Technology Laboratory UK" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation Layer Implementation." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -67,9 +74,9 @@ "source": [ "network: Network = basic_network()\n", "computer_a: Computer = network.get_node_by_hostname(\"node_a\")\n", - "terminal_a: Terminal = computer_a.software_manager.software.get(\"Terminal\")\n", + "terminal_a: Terminal = computer_a.software_manager.software.get(\"terminal\")\n", "computer_b: Computer = network.get_node_by_hostname(\"node_b\")\n", - "terminal_b: Terminal = computer_b.software_manager.software.get(\"Terminal\")" + "terminal_b: Terminal = computer_b.software_manager.software.get(\"terminal\")" ] }, { @@ -121,7 +128,7 @@ "metadata": {}, "outputs": [], "source": [ - "term_a_term_b_remote_connection.execute([\"software_manager\", \"application\", \"install\", \"RansomwareScript\"])" + "term_a_term_b_remote_connection.execute([\"software_manager\", \"application\", \"install\", \"ransomware-script\"])" ] }, { @@ -169,6 +176,22 @@ "computer_b.file_system.show()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Information about the latest response when executing a remote command can be seen by calling the `last_response` attribute within `Terminal`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(terminal_a.last_response)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -207,6 +230,263 @@ "source": [ "computer_b.user_session_manager.show(include_historic=True, include_session_id=True)" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Game Layer Implementation\n", + "\n", + "This notebook section will detail the implementation of how the game layer utilises the terminal to support different agent actions.\n", + "\n", + "The ``Terminal`` is used in a variety of different ways in the game layer. Specifically, the terminal is leveraged to implement the following actions:\n", + "\n", + "\n", + "| Game Layer Action | Simulation Layer |\n", + "|-----------------------------------|--------------------------|\n", + "| ``node-send-local-command`` | Uses the given user credentials, creates a ``LocalTerminalSession`` and executes the given command and returns the ``RequestResponse``.\n", + "| ``node-session-remote-login`` | Uses the given user credentials and remote IP to create a ``RemoteTerminalSession``.\n", + "| ``node-send-remote-command`` | Uses the given remote IP to locate the correct ``RemoteTerminalSession``, executes the given command and returns the ``RequestsResponse``." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Game Layer Setup\n", + "\n", + "Similar to other notebooks, the next code cells create a custom proxy agent to demonstrate how these commands can be leveraged by agents in the ``UC2`` network environment.\n", + "\n", + "If you're unfamiliar with ``UC2`` then please refer to the [UC2-E2E-Demo notebook for further reference](./Data-Manipulation-E2E-Demonstration.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "from primaite.config.load import data_manipulation_config_path\n", + "from primaite.session.environment import PrimaiteGymEnv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "custom_terminal_agent = \"\"\"\n", + " - ref: CustomC2Agent\n", + " team: RED\n", + " type: proxy-agent\n", + " observation_space: null\n", + " action_space:\n", + " options:\n", + " nodes:\n", + " - node_name: client_1\n", + " max_folders_per_node: 1\n", + " max_files_per_folder: 1\n", + " max_services_per_node: 2\n", + " max_nics_per_node: 8\n", + " max_acl_rules: 10\n", + " ip_list:\n", + " - 192.168.1.21\n", + " - 192.168.1.14\n", + " wildcard_list:\n", + " - 0.0.0.1\n", + " action_map:\n", + " 0:\n", + " action: do-nothing\n", + " options: {}\n", + " 1:\n", + " action: node-send-local-command\n", + " options:\n", + " node_name: client_1\n", + " username: admin\n", + " password: admin\n", + " command:\n", + " - file_system\n", + " - create\n", + " - file\n", + " - downloads\n", + " - dog.png\n", + " - False\n", + " 2:\n", + " action: node-session-remote-login\n", + " options:\n", + " node_name: client_1\n", + " username: admin\n", + " password: admin\n", + " remote_ip: 192.168.10.22\n", + " 3:\n", + " action: node-send-remote-command\n", + " options:\n", + " node_name: client_1\n", + " remote_ip: 192.168.10.22\n", + " command:\n", + " - file_system\n", + " - create\n", + " - file\n", + " - downloads\n", + " - cat.png\n", + " - False\n", + "\"\"\"\n", + "custom_terminal_agent_yaml = yaml.safe_load(custom_terminal_agent)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(data_manipulation_config_path()) as f:\n", + " cfg = yaml.safe_load(f)\n", + " # removing all agents & adding the custom agent.\n", + " cfg['agents'] = {}\n", + " cfg['agents'] = custom_terminal_agent_yaml\n", + "\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "\n", + "client_1: Computer = env.game.simulation.network.get_node_by_hostname(\"client_1\")\n", + "client_2: Computer = env.game.simulation.network.get_node_by_hostname(\"client_2\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Terminal Action | ``node-send-local-command`` \n", + "\n", + "The yaml snippet below shows all the relevant agent options for this action:\n", + "\n", + "```yaml\n", + "\n", + " action_space:\n", + " action_list:\n", + " ...\n", + " - type: node-send-local-command\n", + " ...\n", + " options:\n", + " nodes: # Node List\n", + " - node_name: client_1\n", + " ...\n", + " ...\n", + " action_map:\n", + " 1:\n", + " action: node-send-local-command\n", + " options:\n", + " node_id: 0 # Index 0 at the node list.\n", + " username: admin\n", + " password: admin\n", + " command:\n", + " - file_system\n", + " - create\n", + " - file\n", + " - downloads\n", + " - dog.png\n", + " - False\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(1)\n", + "client_1.file_system.show(full=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Terminal Action | ``node-session-remote-login`` \n", + "\n", + "The yaml snippet below shows all the relevant agent options for this action:\n", + "\n", + "```yaml\n", + "\n", + " action_space:\n", + " action_list:\n", + " ...\n", + " - type: node-session-remote-login\n", + " ...\n", + " options:\n", + " nodes: # Node List\n", + " - node_name: client_1\n", + " ...\n", + " ...\n", + " action_map:\n", + " 2:\n", + " action: node-session-remote-login\n", + " options:\n", + " node_id: 0 # Index 0 at the node list.\n", + " username: admin\n", + " password: admin\n", + " remote_ip: 192.168.10.22 # client_2's ip address.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(2)\n", + "client_2.session_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Terminal Action | ``node-send-remote-command``\n", + "\n", + "The yaml snippet below shows all the relevant agent options for this action:\n", + "\n", + "```yaml\n", + "\n", + " action_space:\n", + " action_list:\n", + " ...\n", + " - type: node-send-remote-command\n", + " ...\n", + " options:\n", + " nodes: # Node List\n", + " - node_name: client_1\n", + " ...\n", + " ...\n", + " action_map:\n", + " 1:\n", + " action: node-send-remote-command\n", + " options:\n", + " node_id: 0 # Index 0 at the node list.\n", + " remote_ip: 192.168.10.22\n", + " commands:\n", + " - file_system\n", + " - create\n", + " - file\n", + " - downloads\n", + " - cat.png\n", + " - False\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(3)\n", + "client_2.file_system.show(full=True)" + ] } ], "metadata": { diff --git a/src/primaite/notebooks/UC7-E2E-Demo.ipynb b/src/primaite/notebooks/UC7-E2E-Demo.ipynb new file mode 100644 index 00000000..7baac66c --- /dev/null +++ b/src/primaite/notebooks/UC7-E2E-Demo.ipynb @@ -0,0 +1,1621 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# UC7 Demonstration\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK\n", + "\n", + "\n", + "UC7 is a cybersecurity scenario set in a generic medium sized organisation, where multiple LAN networks which interconnect via the 'internet' to represent a corporate WAN. Comprising of four major networks; `Home Office (HOME)`, `INTERNET (ISP)`, `REMOTE SITE (REMOTE)` and the larger main site `SOME_TECH`. Each network is comprised of routers, switches, computers and servers which green agents use to represent a more real-world accurate pattern of life.\n", + "\n", + "Intended to be a step-up from the [smaller network of UC2](./Data-Manipulation-E2E-Demonstration.ipynb), UC7 introduces two new potential attacks (TAPS) that the blue agent must defend against. \n", + "\n", + "_This notebook acts as the starting point for any users unfamiliar with UC7 and will also sign post to any other UC7 relevant notebooks for further information._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "from primaite.simulator.network.hardware.nodes.host.server import Server\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.simulator.system.services.dns.dns_server import DNSServer\n", + "from primaite.simulator.system.software import SoftwareHealthState\n", + "from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus\n", + "from primaite.simulator.network.hardware.nodes.network.switch import Switch\n", + "from primaite.simulator.system.applications.web_browser import WebBrowser\n", + "from primaite.simulator.network.container import Network\n", + "from primaite.simulator.system.services.service import ServiceOperatingState\n", + "from primaite.simulator.network.hardware.node_operating_state import NodeOperatingState\n", + "from primaite.simulator.system.services.database.database_service import DatabaseService\n", + "from primaite.simulator.system.applications.database_client import DatabaseClient\n", + "from primaite.simulator.network.hardware.nodes.network.firewall import Firewall\n", + "from primaite.game.game import PrimaiteGame\n", + "from primaite.simulator.sim_container import Simulation\n", + "import yaml\n", + "from pprint import pprint\n", + "from primaite.config.load import load, _EXAMPLE_CFG" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "use_case_7_config = load(_EXAMPLE_CFG/\"uc7_config.yaml\")\n", + "env = PrimaiteGymEnv(env_config=use_case_7_config)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Table of Contents\n", + "\n", + "- [Network Description](#network-description)\n", + " - [Home Office](#network--home-office)\n", + " - [Internet](#network--internet)\n", + " - [Remote Site](#network--remote-site)\n", + " - [ST DMZ](#network--some_tech-dmz)\n", + " - [ST Main Site](#network--some_tech-main-site)\n", + " - [ST Head Office](#network--some_tech-main-site--some_tech-head-office-st_ho)\n", + " - [ST Human Resources](#network--some_tech-main-site--some_tech-human-resources-st_hr)\n", + " - [ST Data](#network--some_tech-main-site--some_tech-data-st_data)\n", + " - [ST Project A](#network--some_tech-main-site--some_tech-project-a-st_proj_a)\n", + " - [ST Project B](#network--some_tech-main-site--some_tech-project-b-st_proj_b)\n", + " - [ST Project C](#network--some_tech-main-site--some_tech-project-c-st_proj_c)\n", + "- [Agents](#agent-description)\n", + " - [Green POL](#agents--green-pattern-of-life-pol)\n", + " - [DatabaseService](#agents--green-pattern-of-life-pol--database-service)\n", + " - [web-server](#agents--green-pattern-of-life-pol--web-server)\n", + " - [Red Agent](#agents--red-agent)\n", + " - [TAP001](#agents--red-agent--threat-actor-profile-001-tap001)\n", + " - [TAP003](#agents--red-agent--threat-actor-profile-003-tap003)\n", + " - [Blue Agent](#agents--blue-agent)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## NETWORK DESCRIPTION\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "uc7_network = env.game.simulation.network\n", + "uc7_network.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "| Default Computer Software |\n", + "|------------------|\n", + "| DNS Client (Service) | \n", + "| NTP Client (Service) | \n", + "| web-browser (Application) |\n", + "| database-client (Application) | " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "| Default Server Software |\n", + "|------------------|\n", + "| DNS Client (Service) | \n", + "| NTP Client (Service) | " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | HOME OFFICE \n", + "\n", + "The HOME OFFICE (HOME) network simulates a generic home office that consist of the following:\n", + "\n", + "- A main LAN with two computers (`HOME-PUB-PC-1`/`2`) and a server (`HOME-PUB-SRV`) using default configurations.\n", + "- A switch (`HOME-PUB-SW-AS`) which connects the above hosts.\n", + "- Lastly, a router (`HOME-PUB-RT-DR`) which connects the home office to the wider networks. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Home Office PC 1 (HOME-PUB-PC-1)\n", + "home_pub_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-PC-1\")\n", + "home_pub_pc_1.show()\n", + "home_pub_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Home Office Router (HOME-PUB-RT-DR)\n", + "home_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-RT-DR\")\n", + "home_pub_rt_dr.show_nic()\n", + "home_pub_rt_dr.show_open_ports()\n", + "home_pub_rt_dr.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | INTERNET (ISP)\n", + "\n", + "The internet (ISP) network intends to represent the internet. Currently, it's not feasible or possible for PrimAITE to simulate an internet service provider as well as the internet as a whole to a high degree of fidelity. Thus, in UC7, the \"internet\" refers to the following:\n", + "\n", + "- A router (`ISP-PUB-RT-BR`) which connects the all other UC7 LANS together. \n", + "- A server (`ISP-PUB-SRV-DNS`) which acts as the public DNS server that all PC's use. (Default IP of this host is *8.8.8.8*) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "isp_pub_rt_br: Router = env.game.simulation.network.get_node_by_hostname(\"ISP-PUB-RT-BR\")\n", + "isp_pub_rt_br.show_nic()\n", + "isp_pub_rt_br.show_open_ports()\n", + "isp_pub_rt_br.acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "isp_pub_srv_dns: Server = env.game.simulation.network.get_node_by_hostname(\"ISP-PUB-SRV-DNS\")\n", + "isp_pub_srv_dns.show_nic()\n", + "isp_pub_srv_dns_server: DNSServer = isp_pub_srv_dns.software_manager.software[\"dns-server\"]\n", + "isp_pub_srv_dns_server.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | REMOTE SITE \n", + "\n", + "The remote site (`REMOTE`) network is similar to the previously introduced `HOME` network but includes a firewall between the `ISP` and the `REMOTE` network:\n", + "\n", + "- A main LAN with two computers (`REM-PUB-PC-1`/`2`) and a server (`REM-PUB-SRV`) using default configurations.\n", + "- A switch (`REM-PUB-SW-AS`) which connects the above hosts.\n", + "- A router (`HOME-PUB-RT-DR`) which connects the home office to a firewall (`REM-PUB-FW`) which then connects back to the `INTERNET` network.\n", + "\n", + "By default the `REM-PUB-FW` will not block any traffic." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "rem_pub_fw: Firewall = uc7_network.get_node_by_hostname(hostname=\"REM-PUB-FW\")\n", + "rem_pub_fw.show_nic()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# By default all of the `REM_PUB_FW` acls are configured to permit all traffic\n", + "rem_pub_fw.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH DMZ (ST DMZ)\n", + "\n", + "The `ST_DMZ` network is a small but important segment which sits between the `INTERNET` network (and thus the `REMOTE` and `HOME` networks as well) and the wider `SOME_TECH` main site networks. Additionally, accessible through the `ST_DMZ` firewall (`ST-PUB-FW`)'s DMZ port is a server which hosts a `web-server` that is accessible to all hosts in the UC7 network." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST DMZ Public Firewall (Permits all traffic by default)\n", + "st_pub_fw: Firewall = uc7_network.get_node_by_hostname(hostname=\"ST-PUB-FW\")\n", + "st_pub_fw.show_nic()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST DMZ Public web-server\n", + "st_dmz_pub_srv_web: Server = uc7_network.get_node_by_hostname(hostname=\"ST-DMZ-PUB-SRV-WEB\")\n", + "st_dmz_pub_srv_web.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE\n", + "\n", + "SOME TECH's main site is comprised of 6 different networks:\n", + "\n", + "| ST Network | Purpose |\n", + "|------------|---------|\n", + "| `ST_HO` | Some Tech's Head Office. |\n", + "| `ST_HR` | Some Tech's Human Resourcing department |\n", + "| `ST_DATA` | Contains the ST database and backup server (FTP) |\n", + "| `ST_PROJ_A` | Development Network |\n", + "| `ST_PROJ_B` | Development Network |\n", + "| `ST_PROJ_C` | Development Network |\n", + "\n", + "In order for hosts to communicate between each network and the wider internet, the main site utilises three routers' `ST-INTRA-PRV-RT-DR-1`, `ST-INTRA-PRV-RT-DR-2` and `ST-INTRA-PRV-RT-CR`.\n", + "\n", + "The `ST-INTRA-PRV-RT-DR-1` router is responsible for routing all traffic from the `ST_PROJ_A`/`B`/`C` networks whereas the `ST-INTRA-PRV-RT-DR-2` router routes all traffic from the `ST_HO`/`HR` networks. Both of which then forward all traffic to the main `ST-INTRA-PRV-RT-CR` router. \n", + "\n", + "This central router connects to the `ST_DMZ` firewall (`ST-PUB-FW`) as well as any traffic that is headed to the `ST_DATA` (the ST database and database storage) network.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_cr: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr.route_table.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_dr_1: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-1\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_dr_2: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-2\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH HEAD OFFICE (ST_HO)\n", + "\n", + "The some tech head office (`ST_HO`) is a simple LAN containing three computers with the default PC configuration." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_head_office_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", + "st_head_office_private_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH HUMAN RESOURCES (ST_HR)\n", + "\n", + "Similarly, the some tech head human resources office (`ST_HR`) consisting of three default PC configurations computers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_human_resources_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST-HR-PRV-PC-2\")\n", + "st_human_resources_private_pc_2.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH DATA (ST_DATA)\n", + "\n", + "The `ST_DATA` networks contains two servers pivotal to the daily operation of SOME_TECH.\n", + "\n", + "| Server | Purpose |\n", + "|--------|---------|\n", + "| `ST-DATA-PRV-SRV-DB` | Hosts the `database-service` that all `database-client` are configured to use. | \n", + "| `ST-DATA-PRV-SRV-STORAGE`| Acts as a storage server for the `ST-DATA-PRV-SRV-DB`. |" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_data_private_server_database: Server = uc7_network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database_service: DatabaseService = st_data_private_server_database.software_manager.software[\"database-service\"]\n", + "st_data_private_server_database.software_manager.show()\n", + "st_data_private_server_database.software_manager.file_system.show(full=True)\n", + "st_data_private_server_database_service.backup_server_ip" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_data_private_server_storage: Server = uc7_network.get_node_by_hostname(\"ST-DATA-PRV-SRV-STORAGE\")\n", + "st_data_private_server_storage.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH PROJECT A (ST_PROJ_A)\n", + "\n", + "All of the `ST_PROJ_A`/`B`/`C` project networks contain three computers and a switch which connects to the `ST_INTRA-PRV-RT-DR-1` router (as described previously)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH PROJECT B (ST_PROJ_B)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_b_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-2\")\n", + "st_project_b_private_pc_2.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NETWORK | SOME_TECH MAIN SITE | SOME_TECH PROJECT C (ST_PROJ_C)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_c_private_pc_3: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-3\")\n", + "st_project_c_private_pc_3.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use Case 7 Agent Description / Demonstration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### AGENTS | Green Pattern of Life (*PoL*)\n", + "\n", + "The UC7 green pattern of life refers to the traffic and behaviour generated by the default `32` different green agents. For each host on the UC7 network, two green agents will attempt to execute the `web-browser` and `database-client` applications and receive a positive or negative reward dependant on whenever they are successful or not.\n", + "\n", + "The table below gives a summary of the different green agent behaviour split between the different UC7 networks.\n", + "\n", + "| **Network** |**Agent Host** | **Application** | **Behaviour Type** | **Probabilities** | **Start Step** | **Start Variance** | **Frequency** | **Variance** | **Reward Impact** |\n", + "|:-----------:|:-------:|:---------------:|:------------------:|:-----------------:|:--------------:|:------------------:|:-------------:|:------------:|:------------------:|\n", + "| `HOME SITE` |`HOME-PUB-PC-1`| `database-client`| *Periodic* | |**4** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `HOME SITE` |`HOME-PUB-PC-2`| `database-client`| *Periodic* | |**8** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `HOME SITE` |`HOME-PUB-PC-1`/`2`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", + "| `REMOTE SITE` |`REM-PUB-PC-1`| `database-client`| *Periodic* | |**12** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `REMOTE SITE` |`REM-PUB-PC-2`| `database-client`| *Periodic* | |**16** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `REMOTE SITE` |`REM-PUB-PC-1`/`2`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-1`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**HIGH** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-1`| `web-browser` | *Probabilistic* |**40%** | | | | |**LOW** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-2`/`3`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", + "| `ST HEAD OFFICE` |`ST-HO-PRV-PC-1`| `web-browser` | *Probabilistic* |**60%** | | | | |**HIGH** |\n", + "| `ST HEAD OFFICE` |`ST-HO-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**60%** | | | | |**MEDIUM** |\n", + "| `ST HUMAN RESOURCES` |`ST-HR-PRV-PC-1`| `web-browser` | *Probabilistic* |**60%** | | | | |**MEDIUM** |\n", + "| `ST HUMAN RESOURCES` |`ST-HR-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**60%** | | | | |**LOW** |\n", + "\n", + "\n", + "For the full details on each green agent then please click on the drop-down menu below:\n", + "\n", + "
\n", + " UC7 Green Agent Full Details\n", + "\n", + " **ID** | **PoL Type** | **Description of Activity** | **Agent Name** | **Source Node** | **Source App / Service** | **Destination Node** | **Destination App / Service** | **Transport Protocol** | **Application Protocol** | **Behaviour Type** | **Probabilities** | **Start Step** | **Start Variance** | **Max Executions** | **Frequency** | **Variance** | **Reward Impact** \n", + ":------:|:------------:|:---------------------------------------------------:|:-------------------:|:------------------:|:------------------------:|:-----------------------:|:-----------------------------:|:----------------------:|:------------------------:|:------------------:|:-----------------:|:--------------:|:------------------:|:------------------:|:-------------:|:------------:|:-----------------:\n", + " 1 | AGENT | Home Worker accessing Some Tech database | HOME_WORKER-1 | HOME-PUB-PC-1 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 4 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 2 | AGENT | Home Worker accessing Some Tech web pages | HOME_WORKER-1 | HOME-PUB-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 3 | AGENT | Home Worker accessing Some Tech database | HOME_WORKER-2 | HOME-PUB-PC-2 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 8 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 4 | AGENT | Home Worker accessing Some Tech web pages | HOME_WORKER-2 | HOME-PUB-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 5 | AGENT | Remote Worker accessing Some Tech database | REMOTE_WORKER-1 | REM-PUB-PC-1 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 12 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 6 | AGENT | Remote Worker accessing Some Tech web pages | REMOTE_WORKER-1 | REM-PUB-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 7 | AGENT | Remote Worker accessing Some Tech database | REMOTE_WORKER-2 | REM-PUB-PC-2 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 16 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 8 | AGENT | Remote Worker accessing Some Tech web pages | REMOTE_WORKER-2 | REM-PUB-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 9 | AGENT | Senior Developer accessing Some Tech database | PROJ_A-SENIOR_DEV | ST_PROJ_A-PRV-PC-1 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | HIGH \n", + " 10 | AGENT | Senior Developer accessing Some Tech web pages | PROJ_A-SENIOR_DEV | ST_PROJ_A-PRV-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 40% chance | | | | | | LOW \n", + " 11 | AGENT | Junior Developer accessing Some Tech database | PROJ_A-JUNIOR_DEV-1 | ST_PROJ_A-PRV-PC-2 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 12 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_A-JUNIOR_DEV-1 | ST_PROJ_A-PRV-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 13 | AGENT | Junior Developer accessing Some Tech database | PROJ_A-JUNIOR_DEV-2 | ST_PROJ_A-PRV-PC-3 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 14 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_A-JUNIOR_DEV-2 | ST_PROJ_A-PRV-PC-3 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 15 | AGENT | Senior Developer accessing Some Tech database | PROJ_B-SENIOR_DEV | ST_PROJ_B-PRV-PC-1 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | HIGH \n", + " 16 | AGENT | Senior Developer accessing Some Tech web pages | PROJ_B-SENIOR_DEV | ST_PROJ_B-PRV-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 40% chance | | | | | | LOW \n", + " 17 | AGENT | Junior Developer accessing Some Tech database | PROJ_B-JUNIOR_DEV-1 | ST_PROJ_B-PRV-PC-2 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 18 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_B-JUNIOR_DEV-1 | ST_PROJ_B-PRV-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 19 | AGENT | Junior Developer accessing Some Tech database | PROJ_B-JUNIOR_DEV-2 | ST_PROJ_B-PRV-PC-3 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 20 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_B-JUNIOR_DEV-2 | ST_PROJ_B-PRV-PC-3 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 21 | AGENT | Senior Developer accessing Some Tech database | PROJ_C-SENIOR_DEV | ST_PROJ_C-PRV-PC-1 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | HIGH \n", + " 22 | AGENT | Senior Developer accessing Some Tech web pages | PROJ_C-SENIOR_DEV | ST_PROJ_C-PRV-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 40% chance | | | | | | LOW \n", + " 23 | AGENT | Junior Developer accessing Some Tech database | PROJ_C-JUNIOR_DEV-1 | ST_PROJ_C-PRV-PC-2 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 24 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_C-JUNIOR_DEV-1 | ST_PROJ_C-PRV-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 25 | AGENT | Junior Developer accessing Some Tech database | PROJ_C-JUNIOR_DEV-2 | ST_PROJ_C-PRV-PC-3 | Database Client | ST_DATA-PRV-SRV-DB | Database Service | TCP | PostgreSQL | PERIODIC | | 1 | 1 | 1000 | 4 | 1 | MEDIUM \n", + " 26 | AGENT | Junior Developer accessing Some Tech web pages | PROJ_C-JUNIOR_DEV-2 | ST_PROJ_C-PRV-PC-3 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 20% chance | | | | | | LOW \n", + " 27 | AGENT | CEO accessing Some Tech web pages | CEO | ST_HO-PRV-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 60% chance | | | | | | HIGH \n", + " 28 | AGENT | CTO accessing Some Tech web pages | CTO | ST_HO-PRV-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 60% chance | | | | | | MEDIUM \n", + " 29 | AGENT | CFO accessing Some Tech web pages | CFO | ST_HO-PRV-PC-3 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 60% chance | | | | | | MEDIUM \n", + " 30 | AGENT | Senior HR accessing Some Tech web pages | SENIOR_HR | ST_HR-PRV-PC-1 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 60% chance | | | | | | MEDIUM \n", + " 31 | AGENT | Junior HR accessing Some Tech web pages | JUNIOR_HR-1 | ST_HR-PRV-PC-2 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | HTTPS | PROBABILISTIC | 60% chance | | | | | | LOW \n", + " 32 | AGENT | Junior HR accessing Some Tech web pages | JUNIOR_HR-2 | ST_HR-PRV-PC-3 | Web Browser | ST_DMZ-PUB-SRV-WEB | Web Server | TCP | \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### AGENTS | Green *PoL* | database-client Agents Demo\n", + "\n", + "The `database-client` green agents will attempt to use their host's `database-client` application to make a simple connection to the `database-service` on the `ST-DATA-PRV-SRV-DB` host (these connections have no direct impact to the `database-service` or the `database.db` file itself).\n", + "\n", + "Additionally, `database-client` green agents are *Periodic* meaning they will attempt to use the database based on game time-steps. Specifically, these agents will begin on the time-step given in their `start step` setting and will then will reattempt on each subsequence timestep based on the `Frequency` setting. These settings are then randomised using the remaining `Start Variance` and `Variance` options (also given in timesteps). These values are used to *±* their respective base settings to ensure the green agents achieve a moderate amount of domain randomisation in each PrimAITE episode.\n", + "\n", + "For example, take a *Periodic* green agent set with a `start_step` of 4 and a `frequency` of **4** with a `start_variance` and a `variance` of **4** will cause a green agent to make it's first action on timestep $4 \\pm 1$ and then any subsequent actions every $4 \\pm 1$ timesteps afterwards.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset() # Resetting the simulation\n", + "home_pub_pc_1_database_green_agent = env.game.agents.get(\"HOME_WORKER-1-DB\")\n", + "for time_step in range(10):\n", + " env.step(0)\n", + " if not home_pub_pc_1_database_green_agent.history[time_step].action == 'DONOTHING':\n", + " print(home_pub_pc_1_database_green_agent.history[time_step])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "home_pub_pc_1.sys_log.show(last_n=10)\n", + "st_data_private_server_database.sys_log.show(last_n=5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### AGENTS | Green *PoL* | web-browser Agents Demo\n", + "\n", + "Unlike the `database-client` green agents, the `web-browser` green agents are *probabilistic*. These agents are quite simple; on every timestep a probability roll is made to determine whenever the agent acts. On a successful outcome the agent will attempt to execute the `web-browser` application which will then attempt to connect to the `ST-DMZ-PUB-SRV-WEB` host (Some Tech's web-server). On a unsuccessful outcome then the green agent will simply perform not action on this timestep.\n", + "\n", + "For example, a `web-browser` green agent with a `20%` chance has a $\\frac{1}{5}$ chance of actioning it's host's `web-browser` to access the `ST-DMZ-PUB-SRV-WEB` web-server. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset() # Resetting the simulation\n", + "home_pub_pc_1_web_browser_green_agent = env.game.agents.get(\"HOME_WORKER-1-WEB\")\n", + "for time_step in range(10):\n", + " env.step(0)\n", + " if not home_pub_pc_1_web_browser_green_agent.history[time_step].action == 'DONOTHING':\n", + " print(home_pub_pc_1_web_browser_green_agent.history[time_step])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "home_pub_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-PC-1\")\n", + "home_pub_pc_1_web_browser_green_agent.logger.show()\n", + "home_pub_pc_1_web_browser: WebBrowser = home_pub_pc_1.software_manager.software[\"web-browser\"]\n", + "home_pub_pc_1_web_browser.sys_log.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### AGENTS | Red Agent\n", + "\n", + "For UC7, two new red agents have been developed which introduce a much more complex and realistic attacks in comparison to UC2's [data manipulation red agent](./Data-Manipulation-Customising-Red-Agent.ipynb) for the blue agent to defend against. These new red agents, or more commonly referred to `Threat Actor Profiles` (_TAPS_), utilise a series of different green, blue and red actions to simulate the different steps of a real-world attack.\n", + "\n", + "This notebook does not cover the red agents in much detail, hence it is highly recommended that readers should check out the respective TAP notebooks for a much more in-depth look at each TAP and their impacts.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### AGENTS | RED AGENT | Threat Actor Profile 001 (TAP001)\n", + "\n", + "This TAP aims to exfiltrate and then encrypt the `database.db` file on `ST-DATA-PRV-SRV-DB` host, whilst leaving the functionality of the database intact. Configured by default to start on the `ST-PROJ-A-PRV-PC-1` host, `TAP001` must first embed itself on the host, locate the target (`ST-DATA-PRV-SRV-DB`) through a series of NMAP scans, establish a connection to it's `C2Server` (`ISP-PUB-SRV-DNS` by default) and then finally attempt to exfiltrate and encrypt. \n", + "\n", + "If successful, the blue agent is configured to receive a serve negative reward and thus must prevent `TAP001` from ever reaching the target database. This could be through blocking it's connection to the target or it's `C2Server` via a carefully crafted ACL or perhaps through more a forceful approach such as shutting down the starting host.\n", + "\n", + "For more information on `TAP001` and it's impacts, [please refer to the TAP001 E2E notebook](./UC7-TAP001-Kill-Chain-E2E.ipynb) or for more blue agent involved demonstration refer to the [UC7 attack variants notebook](./UC7-attack-variants.ipynb) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# By default the `uc7_config.yaml` is setup to use TAP001\n", + "env.reset()\n", + "for _ in range(128):\n", + " env.step(action=0)\n", + "\n", + "uc7_tap001 = env.game.agents.get(\"attacker\")\n", + "uc7_tap001.logger.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# TAP001 starting host\n", + "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1.file_system.show(full=True)\n", + "isp_pub_srv_dns: Server = env.game.simulation.network.get_node_by_hostname(hostname=\"ISP-PUB-SRV-DNS\")\n", + "isp_pub_srv_dns.file_system.show(full=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Database Impact \n", + "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(hostname=\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database.file_system.show(full=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### AGENTS | RED AGENT | Threat Actor Profile 003 (TAP003)\n", + "\n", + "Unlike `TAP001` more traditional representation of a threat actor, `TAP003` represents a malicious insider which leverages it's pre-existing knowledge to covertly add malicious access control lists (ACLs) to three different routers each of which affecting green agent traffic in a different way causing the blue agent to receive negative rewards. Thus, the blue agent must learn to leverage it's ability to remove rules and change credentials throughout the network to rectify the impacts of `TA003` and re-establish green POL and prevent TAP003 from accessing additional routers.\n", + "\n", + "The table below is a brief summary of the malicious acls added by `TAP003`\n", + "\n", + "|Target Router | Impact |\n", + "|----------------------|--------|\n", + "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", + "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the web-server (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|\n", + "\n", + "Lastly, it's highly recommended that users refer to the [TAP003 E2E notebook](./UC7-TAP003-Kill-Chain-E2E.ipynb) for further information or for the [UC7 attack variants notebook](./UC7-attack-variants.ipynb) demonstration of TAP003 defence." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Loading up the TAP003 UC7 config variant\n", + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_actions'] = True # Saving syslogs\n", + "env = PrimaiteGymEnv(env_config=cfg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# By default the `uc7_config.yaml` is setup to use TAP001\n", + "env.reset()\n", + "for _ in range(128):\n", + " env.step(action=0)\n", + "\n", + "uc7_tap003 = env.game.agents.get(\"attacker\")\n", + "uc7_tap003.logger.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AGENTS | Blue Agent\n", + "\n", + "\n", + "\n", + "\n", + "In PrimAITE blue agent configuration is split into three separate sections, each responsible for a different part of the blue agent functionality.\n", + "\n", + "- `observation_space`\n", + "\n", + "The observation_space (or more commonly `OBS`) refers to the what simulation components the blue agent observes each `time_step`. A blue agent `OBS` can be configured to be as large the entire network or just an individual node. \n", + "\n", + "- `action_space`\n", + "\n", + "The action space configuration is used to set the actions available to the blue agent. The larger range of actions could be optimal for responding to a large set of different scenarios but could lead to longer training times. Crafting the perfect `action_space` is pivotal for creating an effective blue agent.\n", + "\n", + "- `reward_function`\n", + "\n", + "The `reward_function` section configures what type of reward (or penalisation) the blue agent will receive based on the current status of the simulation. A balanced and well crafted reward function is the path of success for any blue agent to learn what the best approach to scenario may be.\n", + "\n", + "\n", + "\n", + "_The remaining section of this notebook will cover the UC7 blue agent and the default aforementioned settings._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset() # Resetting the env\n", + "defender = env.game.agents.get(\"defender\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AGENTS | Blue Agent | Observation Space (OBS)\n", + "\n", + "## NETWORK DESCRIPTION\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "_(Click to enlarge)_\n", + "\n", + "Represented as a hierarchy (i.e the same way as a dictionary) the blue agent OBS is seperate into multiple sections.\n", + "\n", + "### Links\n", + "\n", + "The first section is Links, which is used to report the current network traffic load on every link in the network. Since the observation space is composed of categorical variables, the traffic values are converted from MBit/s to a category based on a percentage of the link's capacity.\n", + "\n", + "
Link Values Mapping\n", + "\n", + "|load observation|percent utilisation|\n", + "|--|--|\n", + "|0|exactly 0%|\n", + "|1|0-11%|\n", + "|2|11-22%|\n", + "|3|22-33%|\n", + "|4|33-44%|\n", + "|5|44-55%|\n", + "|6|55-66%|\n", + "|7|66-77%|\n", + "|8|77-88%|\n", + "|9|88-99%|\n", + "|10|exactly 100%|\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " Link List\n", + " \n", + "|Link number|Endpoint A|Endpoint B|\n", + "|---|---|---|\n", + "|1|HOME-PUB-SW-AS:eth-1|HOME-PUB-RT-DR:eth-1 |\n", + "|2|HOME-PUB-SW-AS:eth-1|HOME-PUB-PC-1:eth-1 |\n", + "|3|HOME-PUB-SW-AS:eth-1|HOME-PUB-PC-2:eth-1 |\n", + "|4|HOME-PUB-SW-AS:eth-1|HOME-PUB-SRV:eth-1 | \n", + "|5|ISP-PUB-RT-BR:eth-1|HOME-PUB-RT-DR:eth-2 |\n", + "|6|ISP-PUB-RT-BR:eth-2|ISP-PUB-SRV-DNS:eth-1 |\n", + "|7|ISP-PUB-RT-BR:eth-3|REM-PUB-FW:eth-1 |\n", + "|8|REM-PUB-FW:eth-2|REM-PUB-RT-DR:eth-1 |\n", + "|9|REM-PUB-RT-DR:eth-2|REM-PUB-SW-AS:eth-1 |\n", + "|10|REM-PUB-SW-AS:eth-2|REM-PUB-PC-1:eth-1 |\n", + "|11|REM-PUB-SW-AS:eth-3|REM-PUB-PC-2:eth-1 | \n", + "|12|REM-PUB-SW-AS:eth-4|REM-PUB-SRV:eth-1 |\n", + "|13|ISP-PUB-RT-BR:eth-4|ST-PUB-FW:eth-1 |\n", + "|14|ST-PUB-FW:eth-3|ST-DMZ-PUB-SRV-WEB:eth-1 |\n", + "|15|ST-INTRA-PRV-RT-CR:eth-1|ST-PUB-FW:eth-2 |\n", + "|16|ST-INTRA-PRV-RT-CR:eth-2|ST-INTRA-PRV-RT-DR-1:eth-1 |\n", + "|17|ST-INTRA-PRV-RT-CR:eth-3|ST-INTRA-PRV-RT-DR-2:eth-1 | \n", + "|18|ST-INTRA-PRV-RT-CR:eth-4|ST-DATA-PRV-SW-AS:eth-1 |\n", + "|19|ST-HO-PRV-SW-AS:eth-1|ST-INTRA-PRV-RT-DR-2:eth-2 |\n", + "|20|ST-HO-PRV-SW-AS:eth-2|ST-HO-PRV-PC-1:eth-1 |\n", + "|21|ST-HO-PRV-SW-AS:eth-3|ST-HO-PRV-PC-2:eth-1 |\n", + "|22|ST-HO-PRV-SW-AS:eth-4|ST-HO-PRV-PC-3:eth-1 |\n", + "|23|ST-HR-PRV-SW-AS:eth-1|ST-INTRA-PRV-RT-DR-2:eth-3 |\n", + "|24|ST-HR-PRV-SW-AS:eth-2|ST-HR-PRV-PC-1:eth-1 |\n", + "|25|ST-HR-PRV-SW-AS:eth-3|ST-HR-PRV-PC-2:eth-1 |\n", + "|26|ST-HR-PRV-SW-AS:eth-4|ST-HR-PRV-PC-3:eth-1 |\n", + "|27|ST-DATA-PRV-SW-AS:eth-2|ST-DATA-PRV-SRV-STORAGE:eth-1 |\n", + "|28|ST-DATA-PRV-SW-AS:eth-3|ST-DATA-PRV-SRV-DB:eth-1 | \n", + "|29|ST-INTRA-PRV-RT-DR-1:eth-2|ST-PROJ-A-PRV-SW-AS:eth-1 |\n", + "|30|ST-PROJ-A-PRV-SW-AS:eth2|ST-PROJ-A-PRV-PC-1:eth-1|\n", + "|31|ST-PROJ-A-PRV-SW-AS:eth3|ST-PROJ-A-PRV-PC-2:eth-1 |\n", + "|32|ST-PROJ-A-PRV-SW-AS:eth4|ST-PROJ-A-PRV-PC-3:eth-1 | \n", + "|33|ST-INTRA-PRV-RT-DR-1:eth-3|ST-PROJ-B-PRV-SW-AS:eth-1 |\n", + "|34|ST-PROJ-B-PRV-SW-AS:eth2|ST-PROJ-B-PRV-PC-1:eth-1 |\n", + "|35|ST-PROJ-B-PRV-SW-AS:eth3|ST-PROJ-B-PRV-PC-2:eth-1 |\n", + "|36|ST-PROJ-B-PRV-SW-AS:eth4|ST-PROJ-B-PRV-PC-3:eth-1 | \n", + "|37|ST-INTRA-PRV-RT-DR-1:eth-4|ST-PROJ-C-PRV-SW-AS:eth-1 |\n", + "|38|ST-PROJ-A-PRV-SW-AS:eth2|ST-PROJ-C-PRV-PC-1:eth-1 |\n", + "|39|ST-PROJ-A-PRV-SW-AS:eth3|ST-PROJ-C-PRV-PC-2:eth-1 |\n", + "|40|ST-PROJ-A-PRV-SW-AS:eth4|ST-PROJ-C-PRV-PC-3:eth-1 |\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below prints out how the above link list table appears in the blue agent observation space" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "\n", + "obs, reward, _,_,info = env.step(0)\n", + "for i,x in obs['LINKS'].items():\n", + " print(i, x)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### HOSTS\n", + "\n", + "By default the blue agent is monitoring `3` different computers and `1` server:\n", + "\n", + "|Host label|hostname| services | applications | folders | files |\n", + "|:--:|:--:|:--:|:--:|:--:|:--:|\n", + "|HOST1|ST-PROJ-A-PRV-PC-1 | ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST2|ST-PROJ-B-PRV-PC-2| ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST3|ST-PROJ-C-PRV-PC-3| ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST4|ST-DATA-PRV-SRV-DB||| database | database.db|\n", + "\n", + "\n", + "Each `time_step` these hosts report the following to the blue agent:\n", + "\n", + "- operating status \n", + "- number of file creations\n", + "- number of file deletions\n", + "- up to 4 installed services (operating status and health status)\n", + "- up to 2 installed applications (operating status, health status, and number of executions)\n", + "- up to 1 folder (health status)\n", + "- up to 1 file on the folders (health status and number of accesses)\n", + "- 1 network interface, including: \n", + " - operating status\n", + " - number of malicious network events detected\n", + " - amount of incoming and outgoing traffic on each protocol and port\n", + "\n", + "\n", + "\n", + "It's worth noting that for larger observation spaces, not every host will have the maximum number of files, folders, services, and applications configured for the observation space, so padding is used to ensure that the shape of each host observation is the same. The hosts appear in the order that they are defined in the config file." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "\n", + "obs, reward, _,_,info = env.step(0)\n", + "for node_id, node_obs in obs['NODES'].items():\n", + " if not \"ROUTER\" in node_id: # filter out router OBS for now\n", + " print(node_id)\n", + " pprint(node_obs)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For any readers unfamiliar with the different enumeration values in any of the obs output (i.e what the `0`,`1`,`2`,`3` values represent) then please refer to the following tables for reference:\n", + "\n", + "
Host operating state category table\n", + "\n", + "|value|meaning|\n", + "|-|-|\n", + "|0|UNUSED|\n", + "|1|ON|\n", + "|2|OFF|\n", + "|3|BOOTING|\n", + "|4|SHUTTING DOWN|\n", + "\n", + "
\n", + "\n", + "
No. file creations/deletions category table\n", + "\n", + "|value|meaning|\n", + "|-|-|\n", + "|0|0|\n", + "|1|1-5|\n", + "|2|6-10|\n", + "|3|>10|\n", + "\n", + "
\n", + "\n", + "
Service operating state category table\n", + "\n", + "|operating_state|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|RUNNING|\n", + "|2|STOPPED|\n", + "|3|PAUSED|\n", + "|4|DISABLED|\n", + "|5|INSTALLING|\n", + "|6|RESTARTING|\n", + "\n", + "
\n", + "\n", + "
Application operating state category table\n", + "\n", + "|operating_state|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|RUNNING|\n", + "|2|CLOSED|\n", + "|3|INSTALLING|\n", + "\n", + "
\n", + "\n", + "
Service/Application health state category table\n", + "\n", + "|health_state|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|GOOD|\n", + "|2|FIXING|\n", + "|3|COMPROMISED|\n", + "|4|OVERWHELMED|\n", + "\n", + "
\n", + "\n", + "
Application number of executions category table\n", + "\n", + "|num_executions label|meaning|\n", + "|-|-|\n", + "|0|0|\n", + "|1|1-5|\n", + "|2|6-10|\n", + "|3|>10|\n", + "\n", + "
\n", + "\n", + "
Folder/file health status table\n", + "\n", + "|health_status label|meaning|\n", + "|-|-|\n", + "|0|UNUSED|\n", + "|1|GOOD|\n", + "|2|COMPROMISED|\n", + "|3|CORRUPT|\n", + "|4|RESTORING|\n", + "|5|REPAIRING|\n", + "\n", + "
\n", + "\n", + "
File number of access category table\n", + "\n", + "|num_access label|meaning|\n", + "|-|-|\n", + "|0|0|\n", + "|1|1-5|\n", + "|2|6-10|\n", + "|3|>10|\n", + "\n", + "
\n", + "\n", + "
NICs' operating_status category table\n", + "\n", + "|operating_status|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|ENABLED|\n", + "|2|DISABLED|\n", + "\n", + "
\n", + "\n", + "
NIC monitored traffic utilisation category table \n", + "\n", + "|load observation|percent utilisation|\n", + "|--|--|\n", + "|0|exactly 0%|\n", + "|1|0-11%|\n", + "|2|11-22%|\n", + "|3|22-33%|\n", + "|4|33-44%|\n", + "|5|44-55%|\n", + "|6|55-66%|\n", + "|7|66-77%|\n", + "|8|77-88%|\n", + "|9|88-99%|\n", + "|10|exactly 100%|\n", + "\n", + "\n", + "
\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Routers and Firewalls\n", + "\n", + "In addition, the agent can observe the list of Access Control List rules present on routers and firewalls.\n", + "\n", + "Routers have one ACL and a list of network interfaces (ports)\n", + "\n", + "Firewalls have six ACLs and three ports (ports are Internal/External/DMZ, with an Inbound and Outbound ACL for each)\n", + "\n", + "by default, the UC7 agent is configured to observe `3` different routers:\n", + "\n", + "- `ST-INTRA-PRV-RT-CR`\n", + "- `ST-INTRA-PRV-RT-DR-1`\n", + "- `REM-PUB-RT-DR`\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Port operating status category table\n", + "\n", + "|operating_status|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|ENABLED|\n", + "|2|DISABLED|\n", + "\n", + "
\n", + "\n", + "
ACL Permission category table\n", + "\n", + "|permission|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|ALLOW|\n", + "|2|DENY|\n", + "\n", + "
\n", + "\n", + "\n", + "
ACL source/destination IP ID category table\n", + "\n", + "|IP ID|IP address| Associated node|\n", + "|--|--|--|\n", + "|0|UNUSED|\n", + "|1|ALL IPs|\n", + "|2|192.168.1.2 | HOME-PUB-PC-1 |\n", + "|3|192.168.1.3 | HOME-PUB-PC-2 |\n", + "|4|192.168.1.4 | HOME-PUB-PC-SRV |\n", + "|5|192.168.20.2 | REM-PUB-PC-1 |\n", + "|6|192.168.20.3 | REM-PUB-PC-2 |\n", + "|7|192.168.20.4 | REM-PUB-SRV |\n", + "|8|192.168.100.2| ST_PUB_SRV_WEB_IP |\n", + "|9|192.168.200.2 | ST-HO-PRV-PC-1 |\n", + "|10|192.168.200.3 | ST-HO-PRV-PC-2 |\n", + "|11|192.168.200.4 | ST-HO-PRV-PC-3 |\n", + "|12|192.168.210.2 | ST-HR-PRV-PC-1 |\n", + "|13|192.168.210.3 | ST-HR-PRV-PC-2 |\n", + "|14|192.168.210.4 | ST-HR-PRV-PC-3 |\n", + "|15|192.168.220.2 | ST-DATA-PRV-SRV-STORAGE | \n", + "|16|192.168.220.3 | ST-DATA-PRV-SRV-DB |\n", + "|17|192.168.230.2 | PROJ-A-PRV-PC-1 |\n", + "|18|192.168.230.3 | PROJ-A-PRV-PC-2 |\n", + "|19|192.168.230.4 | PROJ-A-PRV-PC-3 |\n", + "|20|192.168.240.2 | PROJ-B-PRV-PC-1 |\n", + "|21|192.168.240.3 | PROJ-B-PRV-PC-2 |\n", + "|22|192.168.240.4 | PROJ-B-PRV-PC-3 |\n", + "|23|192.168.250.2 | PROJ-C-PRV-PC-1 |\n", + "|24|192.168.250.3 | PROJ-C-PRV-PC-2 |\n", + "|25|192.168.250.4 | PROJ-C-PRV-PC-3 |\n", + "\n", + "
\n", + "\n", + "
ACL Rule IP Address Wildcard category table\n", + "\n", + "|wildcard|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|None|\n", + "|2|0.0.0.1|\n", + "|3|0.0.0.255|\n", + "|4|0.0.255.255|\n", + "
\n", + "\n", + "
ACL Rule Port category table\n", + "\n", + "|permission|label|used for|\n", + "|--|--|--|\n", + "|0|UNUSED|padding|\n", + "|1|ANY||\n", + "|2|21|FTP|\n", + "|3|53|DNS|\n", + "|4|80|HTTP|\n", + "|5|123|NTP|\n", + "|6|5432|POSTGRES SERVER|\n", + "|7|22|SSH|\n", + "\n", + "
\n", + "\n", + "
ACL Rule Protocol category table\n", + "\n", + "|permission|label|\n", + "|--|--|\n", + "|0|UNUSED|\n", + "|1|ANY|\n", + "|2|ICMP|\n", + "|3|TCP|\n", + "|4|UDP|\n", + "\n", + "
\n", + "\n", + "
Firewall ports \n", + "\n", + "|index|label|\n", + "|--|--|\n", + "|1|external|\n", + "|2|internal|\n", + "|3|DMZ|\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs, reward, _,_,info = env.step(0)\n", + "for node_id, node_obs in obs['NODES'].items():\n", + " if not \"HOST\" in node_id: # filter out hosts OBS and focus on ROUTER\n", + " print(node_id)\n", + " pprint(node_obs)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AGENTS | Blue Agent | Action Space" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "***\n", + "\n", + "#### `action_map`\n", + "\n", + "Numerically ordered, the `action_map` combines the options set out previously to define the actual details of what actions and the amount of actions that a blue agent can perform.\n", + "\n", + "For example, the snippet below details the first four actions the the default UC7 blue agent is setup with:\n", + "\n", + "```yaml\n", + " action_space:\n", + " action_list:\n", + " action_map: \n", + " 0:\n", + " action: DONOTHING\n", + " options: {}\n", + "\n", + " # |======================================|\n", + " # | ST-PROJ-A-PRV-PC-1 |\n", + " # |======================================|\n", + "\n", + " # ST-PROJ-A-PRV-PC-1 | NODE_OS_SCAN\n", + " 1:\n", + " action: NODE_OS_SCAN\n", + " options:\n", + " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", + " # ST-PROJ-A-PRV-PC-1 | NODE_SHUTDOWN\n", + " 2:\n", + " action: NODE_SHUTDOWN\n", + " options:\n", + " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", + " # ST-PROJ-A-PRV-PC-1 | NODE_STARTUP\n", + " 3:\n", + " action: NODE_STARTUP\n", + " options:\n", + " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", + "```\n", + "\n", + "Converting the yaml snippet below we end up with the following:\n", + "\n", + "|Action Num | Action Type | Options|\n", + "|:---------:|:-----------:|:------:|\n", + "|0|**DONOTHING**|*n/a*|\n", + "|1|**NODE_OS_SCAN**|*node_id: 0* \n", + "|2|**NODE_SHUTDOWN**|*node_id: 0* \n", + "|3|**NODE_STARTUP**|*node_id: 0* \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`0: DONOTHING`:\n", + "\n", + "The first action, `DONOTHING` is a default standard that all agents are setup to use by default in primAITE. Quite simply this action makes no impact to the simulation - literally does nothing. Although this obviously does not seem all that useful, in practice an agent with a small yet impactful actions (such as adding or removing ACL's rules) may find that performing no action may be better than risking a potentially detrimental one.\n", + "\n", + "Additionally, you may spotted the code snippet below dotted around this notebook and many others.\n", + "\n", + "```py\n", + " env.step(0)\n", + "```\n", + "\n", + "This code snippet is used to step forward in an PrimAITE episode and force the blue agent into performing no action which is very useful for demonstrating default simulation behaviour as well as the different impacts that the green and red agents have upon the environment.\n", + "\n", + "`1: NODE_OS_SCAN`:\n", + "\n", + "The first actual action that the blue agent can perform is scanning action. Throughout PrimAITE there are a variety of different scanning type actions (such as `NODE_OS_SCAN`, `NODE_APPLICATION_SCAN` or `NODE_FILE/FOLDER_SCAN`) which can be used to by the blue agent to gain a deeper understanding of the simulation state. Specifically, these actions will cause the blue agent's observations to update to the \"true\" `HEALTH_STATUS` of a simulation component. For example, if a red agent corrupts and alters the health status of a file, the blue agent's observation space will not reflect this until the agent performs a `NODE_FILE_SCAN` on the newly corrupted file. It's worth noting that blue agents can be configured to see the true `HEALTH_STATUS` of software and files without needing to scan in the yaml. Although this may make it easier for an train and create an effective blue agent it could be seen as reducing the fidelity of the simulation.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "env.step(0)\n", + "defender = env.game.rl_agents.get(\"defender\")\n", + "print(defender.history[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`1: NODE_OS_SCAN`:\n", + "\n", + "### TODO: Currently bugged OBS - Return after migration\n", + "\n", + "The first actual action that the blue agent can perform is scanning action. A variety of different scanning type actions (such as `NODE_APPLICATION_SCAN` or `NODE_FILE/FOLDER_SCAN`) which can be used to by the blue agent to gain a deeper understanding of the simulation state. Specifically, these actions will cause the blue agent's observations to update to the \"true\" `HEALTH_STATUS` of a simulation component. The `NODE_OS_SCAN` acts a combined version of all these scan type actions.\n", + "\n", + "For example, if a red agent corrupts and alters the health status of a file, the blue agent's observation space will not reflect this until the agent performs a `NODE_FILE_SCAN` on the newly corrupted file. It's worth noting that blue agents can be configured to see the true `HEALTH_STATUS` of software and files without needing to scan in the yaml. Although this may make it easier for an train and create an effective blue agent it could be seen as reducing the fidelity of the simulation.\n", + "\n", + "The code snippet below demonstrates an example where the blue agent uses the `NODE_OS_SCAN` action to reveal the true health status `ST-PROJ-A-PRV-PC-1`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs, reward, term, trunc, info = env.step(0)\n", + "print(f\"ftp-client (Prior Scan) OBS: {obs['NODES']['HOST0']['SERVICES'][1]}\")\n", + "print(f\"database-client (Prior Scan) OBS: {obs['NODES']['HOST0']['APPLICATIONS']}\")\n", + "obs_list = []" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1.software_manager.software[\"ftp-client\"].set_health_state(SoftwareHealthState.COMPROMISED)\n", + "st_project_a_private_pc_1.software_manager.software[\"database-client\"].set_health_state(SoftwareHealthState.COMPROMISED)\n", + "st_project_a_private_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(1)\n", + "for _ in range(10):\n", + " obs, reward, term, trunc, info = env.step(1)\n", + " obs_list.append(obs['NODES']['HOST0']['SERVICES'][1])\n", + " obs_list.append(obs['NODES']['HOST0']['APPLICATIONS'][2])\n", + "\n", + "obs, reward, term, trunc, info = env.step(0)\n", + "print(f\"ftp-client (Post Scan) OBS: {obs['NODES']['HOST0']['SERVICES']}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs['NODES']['HOST0']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`2: NODE_SHUTDOWN`:\n", + "\n", + "The next action available is the `NODE_SHUTDOWN` action. This action quite is quite simple in comparison and literally attempts to shut down the target host given in the `options` settings which is set to `ST-PROJ-A-PRV-PC-1`. Shutting a PC down affects the `operating_status` of the host machine which the following snippets demonstrate." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# `1` is equal to 'ON' in this case.\n", + "obs, reward, term, trunc, info = env.step(0)\n", + "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs, reward, term, trunc, info = env.step(2)\n", + "for _ in range(3):\n", + " env.step(0) # 3 second shut down time.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs, reward, term, trunc, info = env.step(0)\n", + "print(f\"ST-PROJ-A-PRV-PC-1's (post shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`3: NODE_STARTUP`:\n", + "\n", + "Luckily, the blue agent can use it's third action `NODE_STARTUP` has been configured to bring the `ST-PROJ-A-PRV-PC-1` back up and running. Although, with the a three timestep reboot time.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs, reward, term, trunc, info = env.step(3)\n", + "\n", + "for _ in range(3):\n", + " env.step(0) # 3 second reboot time.\n", + " \n", + "obs, reward, term, trunc, info = env.step(0)\n", + "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AGENTS | Blue Agent | Reward Components\n", + "\n", + "In order to add context to the observation, the blue agent can be configured with different reward components. For any readers unfamiliar with PrimAITE rewards then user guide contains a good introduction as this notebook section will only cover the UC7 blue agent setup.\n", + "\n", + "For `UC7`, the blue agent is setup to receive a negative reward when the `database.db` file integrity is affected (i.e enters into a `COMPROMISED` state):\n", + "\n", + "```yaml\n", + " reward_function:\n", + " reward_components:\n", + " - type: DATABASE_FILE_INTEGRITY\n", + " weight: *HIGH_WEIGHT_IMPACT\n", + " options: \n", + " node_hostname: ST-DATA-PRV-SRV-DB \n", + " folder_name: database\n", + " file_name: database.db\n", + "```\n", + "\n", + "The blue agent's remaining reward function is comprised of **32** different ``SHARED_REWARD`` components. These rewards will grant the blue agent a positive or negative reward based on the current reward of the **32** green agents. The next code snippets The code snippets below demonstrate how the blue agent's reward is affected by simulation state." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(len(defender.reward_function.reward_components)):\n", + " try:\n", + " print(f\"Simulation State Reward: {defender.reward_function.reward_components[i][0].location_in_state}\")\n", + " except:\n", + " print(f\"Green Agent Shared Reward: {defender.reward_function.reward_components[i][0].config.agent_name}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In a perfect episode, with no red agent interference, the blue agent can expect the following reward:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"].pop(32) # removing red agent\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.reset()\n", + "defender = env.game.rl_agents.get(\"defender\")\n", + "for _ in range(128):\n", + " env.step(0)\n", + "defender.reward_function.total_reward" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The below code snippet shows what you'd expect the defender's total reward to be after TAP001 is left unchallenged:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.reset()\n", + "defender = env.game.rl_agents.get(\"defender\")\n", + "for _ in range(128):\n", + " env.step(0)\n", + "print(f\"Successful TAP001 & Blue Agent Reward: {defender.reward_function.total_reward}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next is what you'd expect the defender's total reward to be after TAP003 is left unchallenged:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_actions'] = True # Saving syslogs\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.reset()\n", + "defender = env.game.rl_agents.get(\"defender\")\n", + "for _ in range(128):\n", + " env.step(0)\n", + "print(f\"Successful TAP003 & Blue Agent Reward: {defender.reward_function.total_reward}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lastly, if we completely block any green traffic and set the database.db to `COMPROMISED` we can simulate the potential worst case situation for the blue agent (based off the default `reward_components`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.reset()\n", + "defender = env.game.rl_agents.get(\"defender\")\n", + "\n", + "# Corrupting and Disabling the database-service\n", + "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database_file = st_data_private_server_database.file_system.get_file(folder_name=\"database\", file_name=\"database.db\")\n", + "st_data_private_server_database_file.health_status = FileSystemItemHealthStatus.COMPROMISED\n", + "st_data_private_server_database.software_manager.software[\"database-service\"].operating_state = ServiceOperatingState.DISABLED\n", + "\n", + "# Shutting down the web-server\n", + "\n", + "st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DMZ-PUB-SRV-WEB\")\n", + "st_dmz_pub_srv_web.software_manager.software[\"web-server\"].operating_state = ServiceOperatingState.DISABLED\n", + "\n", + "# Shutting down the DNSServer\n", + "\n", + "isp_pub_srv_dns_server: Server = env.game.simulation.network.get_node_by_hostname(\"ISP-PUB-SRV-DNS\")\n", + "isp_pub_srv_dns_server.software_manager.software[\"dns-server\"].operating_state = ServiceOperatingState.DISABLED\n", + "\n", + "for _ in range(128):\n", + " env.step(0)\n", + "print(f\"Worst Case Episode Blue Agent Reward: {defender.reward_function.total_reward}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb new file mode 100644 index 00000000..da7752fc --- /dev/null +++ b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb @@ -0,0 +1,1843 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mobile Malware Kill Chain - Ransomware Script Variant\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK\n", + "\n", + "**Threat Actor Profile (TAP):** 001
\n", + "**Kill Chain**: Mobile Malware - Ransomware Script Variant\n", + "\n", + "This notebook demonstrates TAP001 on the UC7 network infrastructure. In this scenario, a some_tech employee within the development project network plugs in his personal device. Whilst browsing, they encounter a ransomware virus which moves onto the host machine thus triggering the malware! \n", + "
\n", + "\n", + "This ransomware variant targets the database service's file directly, rather than the disrupting the database service, hence why in this scenario the data service still functions after becoming corrupted.\n", + "
\n", + "\n", + "The red attack intends to introduce realistic impacts to the observation space, such as files created/removed and applications installing mid-episode whilst still providing usable data for agent training." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Importing the necessary PrimAITE libraries\n", + "from primaite.session.environment import PrimaiteGymEnv\n", + "import yaml\n", + "from primaite.config.load import load, _EXAMPLE_CFG\n", + "from deepdiff.diff import DeepDiff" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility functions\n", + "\n", + "def display_obs_diffs(old, new, step_counter):\n", + " \"\"\"\n", + " Use DeepDiff to extract and display differences in old and new instances of\n", + " the observation space.\n", + "\n", + " :param old: observation space instance.\n", + " :param new: observation space instance.\n", + " :param step_counter: current step counter.\n", + " \"\"\"\n", + " print(\"\\nObservation space differences\")\n", + " print(\"-----------------------------\")\n", + " diff = DeepDiff(old, new)\n", + " print(f\"Step {step_counter}\")\n", + " for d,v in diff.get('values_changed', {}).items():\n", + " print(f\"{d}: {v['old_value']} -> {v['new_value']}\")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Sections:**\n", + "1. Notebook Intro\n", + "2. Notebook Setup\n", + "3. Initial States\n", + "4. Attack Trigger\n", + "5. Post Attack States\n", + "6. Configurations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Intro** | **TAP001 - Mobile Malware Kill Chain** \n", + "\n", + "The TAP001 kill chain is comprised of 6 different stages.
The table below describes the impact of the current TAP001 implementation as well as the attack stage order.\n", + "\n", + "_DOWNLOAD_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|1|Download|**Starting Host** HOST:num_file_creations: HOST:FOLDER:FILES:* |The employee encounters a malicious payload through web browsing on his mobile phone, often disguised as legitimate content.|\n", + "\n", + "_INSTALL_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|2|Install | **Starting Host** HOST:FOLDER:FILES:num_access:|The malware is activated, either by the employee opening the file or automatically upon download, initiating its malicious functions.|\n", + "\n", + "_ACTIVATE_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|3|Activate | **Starting Host** HOST:APPLICATION:operating_status|The malware installs itself on the terminal, often seeking to gain persistence by embedding itself into system processes or startup routines.|\n", + "\n", + "_PROPAGATE_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|4|Propagate| **Multiple Hosts** HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:*|The malware attempts to spread to other systems or networks, looking for vulnerable services.|\n", + "\n", + "_COMMAND_AND_CONTROL_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|5|Command and Control|**Starting Host** HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* HOST:APPLICATIONS:APPLICATION:*|The malware establishes a connection to an external command and control (C&C) server, receiving instructions and possibly exfiltrating data.|\n", + "\n", + "_PAYLOAD_\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|6A|Corruption| **Target Host** HOST:FOLDERS:FOLDER:FILES:FILE:num_access HOST:num_file_creations HOST:num_file_deletions HOST:FOLDERS:FOLDER:FILES:FILE:health_status | The attacker configures the ransomware script to target the IP address of the discovered database, then it performs its intended malicious activities, allowing it to corrupt the Database whilst leaving the database service operable|\n", + "|6B|Exfiltration| **Starting Host** HOST:FOLDER:FILES:FILE HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* HOST:APPLICATIONS:APPLICATION:* | The attacker remotely logins into the target host and exfiltrates the database.db file onto the starting host which then relays this file back to the C2 Server.|\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Notebook Setup** | **Network Configuration:**\n", + "\n", + "This notebook uses the same network setup as UC7. Please refer to the main [UC7-E2E-Demo notebook for further reference](./UC7-E2E-Demo.ipynb)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "

TAP001 Mobile Malware Kill Chain Demonstration - Ransomware Variant

\n", + "\n", + "_(Click to enlarge)_" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_actions'] = True # Saving attacker logs\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.game.simulation.network.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Setup** | Instantiating Relevant Simulation Objects\n", + "Simulation objects can be instantiated and called independently of agents via the environment.game.simulation (PrimAITE API).\n", + "\n", + "[Please refer to the main UC7 notebook for further details regarding agent implementations and the general UC7 scenario.](./example layout-E2E-Demo.ipynb)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset() # resetting the environment\n", + "# The TAP001 Agent\n", + "tap001 = env.game.agents.get(\"attacker\")\n", + "# A potential starting client\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "\n", + "# The database server which acts as the initial target of the ransomware kill-chain\n", + "database_server = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Prior To Attack** | Initial States:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first section of this notebook displays the relevant default Observation Space (OBS)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Initial State** | Starting Client:\n", + "The starting point of the ransomware infection. This is where the kill chain attack originates from." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host.show()\n", + "starting_host.file_system.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Initial State** | Database Server:\n", + "\n", + "TAP001 opts to attack the UC7 database server (`ST-DATA-PRV-SRV-DB`):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "database_server.software_manager.show()\n", + "database_server.file_system.show()\n", + "database_server.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Kill Chain** | Kill Chain Stage Demonstration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | NOT STARTED\n", + "\n", + "This stage indicates that the TAP001 hasn't begun it's kill chain. \n", + "TAP001 will begin the Mobile Malware Kill chain on the next execution step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset();\n", + "tap001 = env.game.agents.get(\"attacker\")\n", + "# The TAP001's Starting Client:\n", + "starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node)\n", + "# The TAP001's Database Server:\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.NOT_STARTED):\n", + " default_obs, _, _, _, _ = env.step(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | DOWNLOAD\n", + "\n", + "|Index|Action Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|1|DOWNLOAD|HOST:FOLDER:FILE:*|The `some_tech` employee encounters a malicious payload through web browsing on his mobile phone, often disguised as legitimate content.|\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + "

\n", + "\n", + "In this stage, TAP001 uses the **NODE_FOLDER_CREATE** and **NODE_FILE_CREATE** to create a file called ```\"malware_dropper.ps1\"``` within a ```\"Downloads\"``` folder.
\n", + "These actions are intended to simulate the malicious payload creating a ```ps1``` (A windows powershell script) malware dropper on the `SOME_TECH` employee's phone. \n", + "\n", + "Currently, PrimAITE cannot simulate hosts joining the simulation mid-episode thus we must treat `ST-PROJ-A-PRV-PC-1`'s as also including the employee's phone.
\n", + "From a narrative perspective, this could be explained as the employee plugging his phone into the `ST-PROJ-A-PRV-PC-1`.\n", + "\n", + "Additionally, it's worth noting that in the real world, malware droppers (small scripts or executables which download/install the malware after initially entering a host) use a variety of obfuscation methods to avoid detection.
For example, some malware droppers are concealed within legitimate files such as word document macros in order to trick a user into running the dropper.\n", + "\n", + "Currently, PrimAITE's simulation does not operate a high enough fidelity to faithfully represent these techniques and their impacts to warrant their inclusion. Thus the file has been named as ```\"malware_dropper\"``` to prevent any potential confusion." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.DOWNLOAD):\n", + " download_obs_impact, _, _, _, _ = env.step(0)\n", + "starting_host.file_system.show(full=True)\n", + "starting_host.file_system.show_num_files()\n", + "display_obs_diffs(default_obs, download_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | INSTALL\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|2|Install | HOST:FOLDER:FILES:num_access |The malware is activated, either by the employee opening the file or automatically upon download, initiating its malicious functions.|\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "In this stage, TAP001 uses the **NODE_FILE_ACCESS** to increase the number of accesses of the ```\"malware_dropper.ps1\"```.
\n", + "\n", + "These actions represent the employee executing malware dropper created in the previous stage. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.INSTALL):\n", + " install_obs_impact, _, _, _, _ = env.step(0)\n", + "\n", + "malware_file = starting_host.file_system.get_file(\"downloads\",\"malware_dropper.ps1\")\n", + "malware_file.show()\n", + "\n", + "display_obs_diffs(download_obs_impact, install_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | ACTIVATE\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|3|Activate | HOST:APPLICATION:operating_status |The malware installs itself on the terminal, often seeking to gain persistence by embedding itself into system processes or startup routines.|\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "In this stage, TAP001 uses the **NODE_APPLICATION_INSTALL** to install the ransomware application onto the starting host.
\n", + "\n", + "These actions represent the malware dropper successfully installing ransomware on the host machine. Similarly to the malware dropper, the ransomware currently implemented is intended to be a generic and OS agnostic ransomware which is not intended to represent any specific real world implementation. \n", + "\n", + "Please see the [Ransomware Notebook](./Ransomware-Kill-Chain-E2E.ipynb) for further information about the current implementation of the ransomware application.\n", + "\n", + "Future versions of PrimAITE intend to expand the capability of the ransomware application to more faithfully represent a real-world example; for example, a Trickbot variation such as Ryuk or Conti." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.ACTIVATE):\n", + " activate_obs_impact, _, _, _, _ = env.step(0)\n", + "starting_host.software_manager.show()\n", + "display_obs_diffs(install_obs_impact, activate_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | PROPAGATE\n", + "\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|4|Propagate|HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:*|The malware attempts to spread to other systems or networks, looking for vulnerable services.|\n", + "\n", + "In this stage, TAP001 uses **NODE_NMAP_PORT_SCAN**, **NODE_NMAP_PING_SCAN** and **NODE_NMAP_NETWORK_SERVICE_RECON** to scan the simulation in order to search for a valid database target.\n", + "\n", + "Unlike previous stages, the behaviour of this stage is dependant on the simulation and thus will perform differently dependant on the location of the target as well as the topology of the network. Specifically, the ```PROPAGATE``` stage uses three network enumeration actions and their action responses to populate its knowledge of the network.
\n", + "These actions represent the now infected `ST-PROJ-A-PRV-PC-1` searching the UC7 network for valid targets ransomware. \n", + "\n", + "For more information around how agent requests and responses work then the [request-response notebook can provide some useful insights](./Requests-and-Responses.ipynb).\n", + "\n", + "It's worth noting that the implementation of the ```PROPAGATE``` stage does not class routers and switches as valid targets and thus will not scan them.
\n", + "\n", + "_Currently, red agents have no way of probing the routing information of the simulation so must be provided the network addresses of the network.
See the mobile malware configuration option section of this notebook for further information_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Kill Chain** | PROPAGATE | Scan walkthrough\n", + "\n", + "The next juypter cells of this notebook will go through each individual CAOS action that the TAP001 leverages to reach the target host as well as the OBS each action impacts.\n", + "\n", + "This section uses the following ```PROPAGATE``` relevant TAP001 settings:\n", + "```yaml\n", + " kill chain:\n", + " PROPAGATE:\n", + " probability: 1\n", + " scan_attempts: 20\n", + " repeat_scan: false\n", + " network_addresses:\n", + " - 192.168.230.0/29 # ST Project A\n", + " - 192.168.10.0/26 # Remote Site\n", + " - 192.168.20.0/30 # Remote DMZ\n", + " # - 192.168.240.0/29 # ST Project B\n", + " # - 192.168.250.0/29 # ST Project C\n", + " - 192.168.220.0/29 # ST Data (Contains Target)\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "\n", + "def propagate_obs_and_show(tap001: TAP001, previous_obs, propagate_obs_impact, timestep):\n", + " tap001._show_scan()\n", + " display_obs_diffs(previous_obs, propagate_obs_impact, timestep)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Kill Chain** | PROPAGATE | ST-PROJ-A-PRV-PC-1\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Ping Scan\n", + "for _ in range(5):\n", + " PROJ_A_SITE_ping, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=activate_obs_impact, propagate_obs_impact=PROJ_A_SITE_ping, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Recon Scan\n", + "for _ in range(5):\n", + " PROJ_A_SITE_recon, *_ = env.step(0);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, PROJ_A_SITE_ping, PROJ_A_SITE_recon, env.game.step_counter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Kill Chain** | PROPAGATE | REMOTE SITE\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Ping Scan\n", + "for _ in range(5):\n", + " REMOTE_SITE_ping, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=activate_obs_impact, propagate_obs_impact=REMOTE_SITE_ping, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Recon Scan\n", + "for _ in range(5):\n", + " REMOTE_SITE_recon, *_ = env.step(0);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, REMOTE_SITE_ping, REMOTE_SITE_recon, env.game.step_counter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Kill Chain** | PROPAGATE | REMOTE DMZ\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Ping Scan\n", + "for _ in range(5):\n", + " REMOTE_DMZ_ping, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=REMOTE_SITE_recon, propagate_obs_impact=REMOTE_DMZ_ping, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Recon Scan\n", + "for _ in range(5):\n", + " REMOTE_DMZ_recon, *_ = env.step(0);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=REMOTE_DMZ_ping, propagate_obs_impact=REMOTE_DMZ_recon, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Kill Chain** | PROPAGATE | SOME_TECH DATA \n", + "\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Ping Scan\n", + "for _ in range(5):\n", + " ST_DATA_ping, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=REMOTE_DMZ_recon, propagate_obs_impact=ST_DATA_ping, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Recon Scan\n", + "for _ in range(5):\n", + " ST_DATA_recon, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "propagate_obs_and_show(tap001, previous_obs=ST_DATA_ping, propagate_obs_impact=ST_DATA_recon, timestep=env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for _ in range(5):\n", + " propagate_obs_impact, *_ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001._show_scan()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | COMMAND_AND_CONTROL\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|5|Command and Control| **Starting Host** HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* HOST:APPLICATIONS:APPLICATION:* |The malware establishes a connection to an external command and control (C&C) server, receiving instructions and possibly exfiltrating data.|\n", + "\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "\n", + "For further details please refer to the ``Command-and-Control-E2E-Demonstration`` notebook.\n", + "\n", + "_Note: The referenced notebook above uses the UC2 scenario for demonstration purposes, however all the OBS impacts and C2 suite functionality is equally applicable to UC7._\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.COMMAND_AND_CONTROL):\n", + " c_and_c_obs_impact, _, _, _, _ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "display_obs_diffs(propagate_obs_impact, c_and_c_obs_impact,env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | PAYLOAD - Corruption & Exfiltration\n", + "|Index|Attack Stage|OBS Impact|Narrative|\n", + "|-----|------------|----------|---------|\n", + "|6A|Corruption| **Target Host** HOST:FOLDERS:FOLDER:FILES:FILE:num_access HOST:num_file_creations HOST:num_file_deletions HOST:FOLDERS:FOLDER:FILES:FILE:health_status | The attacker configures the ransomware script to target the IP address of the discovered database, then it performs it's intended malicious activities, allowing it to corrupt the Database whilst leaving the database service operable|\n", + "|6B|Exfiltration| **Starting Host** HOST:FOLDER:FILES:FILE HOST:NICS:NIC:TRAFFIC:PROTOCOL:PORT:* HOST:APPLICATIONS:APPLICATION:* | The attacker remotely logins into the target host and exfiltrates the database.db file onto the starting host which then relays this file back to the C2 Server.|\n", + "\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap001.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap001.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap001.next_kill_chain_stage.name}\")\n", + "while(tap001.current_kill_chain_stage == MobileMalwareKillChain.PAYLOAD):\n", + " payload_obs_impact, _, _, _, _ = env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "target_host.file_system.show(full=True)\n", + "display_obs_diffs(c_and_c_obs_impact, payload_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use the blue agent's NODE_FILE_SCAN action to scan the database file:\n", + "\n", + "```yaml\n", + "# ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status)\n", + "49:\n", + " action: node-file-scan\n", + " options:\n", + " node_name: ST-DATA-PRV-SRV-DB\n", + " folder_name: database\n", + " file_name: database.db\n", + "```\n", + "\n", + "*You should notice a file `health_status` change to a value of 3*" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(0)\n", + "post_scan_payload_impact, _, _, _, _ = env.step(49) # \n", + "display_obs_diffs(payload_obs_impact, post_scan_payload_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "target_host.file_system.show(full=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also see that the database.db file was successfully exfiltrated." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c2_server = env.game.simulation.network.get_node_by_hostname(tap001.c2_settings['c2_server'])\n", + "starting_host.file_system.show(full=True)\n", + "c2_server.file_system.show(full=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Post Attack Impacts**\n", + "\n", + "Please refer to the [Ransomware E2E Notebook](./Ransomware-Kill-Chain-E2E.ipynb) for an in-depth look on the knock-on affects of the ransomware application." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Attack Configurations** | Threat Actor Profile Settings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All TAP's inherit the same general configurability shown in the following table:\n", + "\n", + "
TAP Agent Config Options \n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|start_step|The initial kill chain starting step.|Int|_Required_|\n", + "|frequency|The frequency of each kill chains starting steps.|Int|_Required_|\n", + "|variance| The timestep variance between frequency|Int|_Required_|\n", + "|repeat_kill_chain|Indicates whether the attack is repeated throughout the episode.|Bool|_Required_|\n", + "|repeat_kill_chain_stages|Indicates if the kill_chain stage should reset upon failure or retry.|Bool|_Required_|\n", + "|default_target_ip | The IP address of the target host |Str|_Required_|\n", + "|default_target_node|The Target Host|Str|_Required_|\n", + "|target_nodes|A list of Potential Target Hosts (database services) - Selected on per episode basis.|List|_Optional_|\n", + "|default_starting_node|The Starting Host|Str|_Required_|\n", + "|starting_nodes|A list of Potential Targets|List|_Optional_|\n", + "|kill_chain|TAP001 Specific Config (_See the next notebook section_)|Dict|_Required_|\n", + "|description|Free Text|Str|_Optional_|\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```yaml\n", + "\n", + " - ref: attacker\n", + " team: RED\n", + " type: TAP001\n", + " agent_settings:\n", + " start_step: 1\n", + " frequency: 3\n", + " variance: 0\n", + " repeat_kill_chain: false\n", + " repeat_kill_chain_stages: true\n", + " default_target_ip: *ST_SRV_DB_IP\n", + " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", + " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + " kill_chain:\n", + " ... # Next notebook section will cover this configuration option\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook assumes the reader is already familiar with the below `agent_settings` and won't provide any code snippet examples. \n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|start_step|The initial kill chain starting step.|Int|_Required_|\n", + "|frequency|The frequency of each kill chains starting steps.|Int|_Required_|\n", + "|variance| The timestep variance between frequency|Int|_Required_|\n", + "|repeat_kill_chain|Indicates whether the attack is repeated throughout the episode.|Bool|_Required_|\n", + "|repeat_kill_chain_stages|Indicates if the kill_chain stage should reset upon failure or retry.|Bool|_Required_|\n", + "|default_target_node|The Target Host|Str|_Required_|\n", + "|starting_nodes|A list of Potential Targets|List|_Optional_|\n", + "|kill_chain|_See the next notebook section_|Dict|_Required_||\n", + "\n", + "\n", + "If you're unfamiliar with the above then refer to the equivalent `agent_settings` section within the [TAP003 Kill Chain E2E Demonstration notebook](./TAP003-Kill-Chain-E2E.ipynb). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap001 = env.game.agents.get(\"attacker\")\n", + "for key,value in tap001.config.agent_settings:\n", + " if key == 'kill_chain':\n", + " pass\n", + " else:\n", + " print(f\"{key} : {value}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Attack Configurations** | Kill Chain Settings\n", + "\n", + "Additionally, TAP001's Mobile Malware Kill Chain comes with some extra configuration options. \n", + "\n", + "These options can be configured to customise the behaviour of certain stages. \n", + "\n", + "The YAML snippet below is the current default configuration of the mobile malware kill chain:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``` YAML\n", + " - ref: attacker\n", + " team: RED\n", + " type: TAP001\n", + " agent_settings:\n", + " kill_chain:\n", + " ACTIVATE:\n", + " probability: 1\n", + " PROPAGATE:\n", + " probability: 1\n", + " scan_attempts: 20\n", + " repeat_scan: false\n", + " network_addresses:\n", + " - 192.168.230.0/29 # ST Project A\n", + " - 192.168.10.0/26 # Remote Site\n", + " - 192.168.20.0/30 # Remote DMZ\n", + " # - 192.168.240.0/29 # ST Project B\n", + " # - 192.168.250.0/29 # ST Project C\n", + " - 192.168.220.0/29 # ST Data (Contains Target)\n", + " COMMAND_AND_CONTROL:\n", + " probability: 1\n", + " keep_alive_frequency: 5\n", + " masquerade_port: HTTP\n", + " masquerade_protocol: TCP\n", + " c2_server_name: ISP-PUB-SRV-DNS\n", + " c2_server_ip: *PUBLIC_DNS_IP\n", + " PAYLOAD:\n", + " probability: 1\n", + " exfiltrate: true\n", + " corrupt: true\n", + " exfiltration_folder_name:\n", + " target_username: admin\n", + " target_password: admin\n", + " continue_on_failed_exfil: True\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Mobile Malware Kill Chain | General Settings" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "TAP001's ``ACTIVATE``, ``PROPAGATE``, ``COMMAND_AND_CONTROL`` and ``PAYLOAD`` stages's probability of success can be configured.\n", + "\n", + "Similarly to other TAPs, the argument given to probability is the chance of action performing that stage of kill chain successfully. \n", + "The argument given is expected to be between **0** - **1**. \n", + "\n", + "_(With '1' equalling 100% chance of 'success')_\n", + "\n", + "It's important to note that the probabilities of success are calculated within the game layer meaning that if an TAP fails because of probability then the TAP will perform a ``DONOTHING`` action for that step. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```yaml\n", + " kill_chain:\n", + " ACTIVATE:\n", + " probability: 1\n", + " PROPAGATE:\n", + " probability: 1\n", + " COMMAND_AND_CONTROL:\n", + " probability: 1\n", + " PAYLOAD:\n", + " probability: 1\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Mobile Malware Kill Chain | Propagate Stage\n", + "\n", + "TAP001's propagate step leverages the NMAP application to scan the network. This kill chain stage is a considerably more complex than the other stages and thus has more configuration options.\n", + "\n", + "
Propagate Configuration Settings \n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Action Probability - This is only calculated on the initial scan.|int|_Required_|\n", + "|network_addresses|The network-addresses that are scanned during the propagate step. Scanned in the order they are defined.|list[str]|_Required_|\n", + "|scan_attempts|The amount of permitted scan attempts.|int|_Required_|\n", + "|repeat_scan|Should the scan repeat if the target is not found within the given network address|bool|_optional_|\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Probability**\n", + "\n", + "***\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Action Probability |Int|_Required_|\n", + "\n", + "Similarly, to every other stage, probability is the chance of success of TAP001 has to successfully perform the Propagate Stage.\n", + "\n", + "However, it's important to note that the **probability of success is only calculated once**. \n", + "\n", + "After the first scan is performed, the TAP agent will perform the rest of the stage without trialing probability." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Network Addresses**\n", + "\n", + "***\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|network_addresses|The network-addresses that are scanned during the propagate step. Scanned in the order they are defined.|list[str]|_Required_|\n", + "\n", + "At present, TAPs cannot probe the simulation for routing information.\n", + "\n", + "Therefore, to scan multiple networks, the ``PROPAGATE`` stage must be provided a list of each network address.\n", + "\n", + "These network's are scanned in sequential order.\n", + "\n", + "For example; this notebook is configured with the following ``PROPAGATE`` network_address setting.\n", + "\n", + "| Network Address | Use Case 7 Subnet Name |\n", + "|-----------------|-------------------------|\n", + "| 192.168.10.0/26 | REMOTE-SITE |\n", + "| 192.168.20.0/30 | REMOTE-DMZ |\n", + "| 192.168.220.0/29 | SOME_TECH_DATA |\n", + "\n", + "\n", + "Which when represented in the yaml config is as follows:\n", + "\n", + "```yaml\n", + " kill_chain:\n", + " PROPAGATE:\n", + " probability: 1\n", + " scan_attempts: 20\n", + " repeat_scan: false\n", + " network_addresses:\n", + " - 192.168.230.0/29 # ST Project A\n", + " - 192.168.10.0/26 # Remote Site\n", + " - 192.168.20.0/30 # Remote DMZ\n", + " # - 192.168.240.0/29 # ST Project B\n", + " # - 192.168.250.0/29 # ST Project C\n", + " - 192.168.220.0/29 # ST Data (Contains Target)\n", + "```\n", + "Which is loaded into the TAP001 agent as the following list:\n", + "```Python\n", + "[\"192.168.230.0/29\", \"192.168.10.0/26\", \"192.168.20.0/30\", \"192.168.220.0/29\"]\n", + "```\n", + "\n", + "As PrimAITE expands and TAP agents are provided more ways of probing the simulation, then the ```PROPAGATE``` stage will be able to perform independently thus no longer requiring the network_address configuration option. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Scan Attempts**\n", + "\n", + "***\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|scan_attempts|The amount of permitted scan attempts.|int|_Required_|\n", + "\n", + "Simply, the ``scan_attempts`` configuration option indicates how many SCAN actions ``PROPAGATE`` stage is permitted to perform before the kill chain is considered to have failed. \n", + "\n", + "The ``scan_attempts`` option should mainly be kept higher than the length of the list provided in the previous ``network_address`` option.\n", + "\n", + "Currently, this setting is mainly used in conjunction with next setting: ```repeat_scan```.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Repeat Scan**\n", + "\n", + "***\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|repeat_scan|Should the scan repeat if the target is not found within the given network address|bool|_optional_|\n", + "\n", + "This boolean flag controls whether the ```PROPAGATE``` stage should repeat if the target is not found within the given ```network_addresses```.\n", + "\n", + "This setting used in conjunction with the ```permitted_scan``` option allows the Red Agent to continue scanning even if the target is not found. \n", + "\n", + "The network addresses will be selected at random after the first sequential scan(s) of the given ```network_addresses``` for further domain randomisation. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Removing the target network address. (Thus the target will never be found)\n", + "network_addresses = [\"192.168.10.0/26\", \"192.168.20.0/30\"]\n", + "\n", + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain_stages'] = True\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PROPAGATE']['network_addresses'] = network_addresses\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PROPAGATE']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PROPAGATE']['scan_attempts'] = 30\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PROPAGATE']['repeat_scan'] = True\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range (256):\n", + " env.step(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "***\n", + "\n", + "[1] _PrimAITE does not actually enforce agent type (Red/Green/Blue) specific actions_\n", + "\n", + "_However, some actions such as ``APPLICATION_EXECUTE`` and ``NETWORK_RECON_SCAN`` require an understanding of the simulation that is beyond the blue agent's current observation and thus are not suitable for use by reinforcement algorithms._\n", + "\n", + "_These actions are usually only leveraged by Green or Red agents; hence why they are commonly referenced as such._\n", + "\n", + "***" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Mobile Malware Kill Chain | Command and Control Stage\n", + "\n", + "TAP001's Command and Control stage leverages the C2 beacon which has it's own set of configuration options. In the case of TAP001 some of these settings are already pre-defined based on other settings such as ``target_node``. The table below details the currently available options.\n", + "\n", + "
Command and Control Configuration Settings \n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|---------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|probability | Action Probability - This is only calculated once at this stage. |Int | _Required_ |\n", + "|c2_server | What host should the C2 Beacon attempt to connect to as the chosen C2 Server |Str | _Required_ |\n", + "|keep_alive_frequency | How often should the C2 Beacon confirm its connection in timesteps. Defaults to 5 |Int | _Optional_ |\n", + "|masquerade_port | What port should the C2 traffic use? Defaults to TCP. |Str | _Optional_ |\n", + "|masquerade_protocol | What protocol should the C2 traffic masquerade as? Defaults to HTTP. |Str | _Optional_ |\n", + "
\n", + "\n", + "For further information around the configuration of the C2 beacon please refer to the ``Command-&-Control-E2E-Demonstration`` last section on configurability." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " # Adding the C2 Server to a different node (REM-PUB-PC-1)\n", + " cfg['simulation']['network']['nodes'][10].update(\n", + " {\"applications\": [\n", + " {\"type\": \"database-client\", \"options\":{\"db_server_ip\":\"192.168.220.3\"}},\n", + " {\"type\": \"web-browser\", \"options\":{\"target_url\": \"http://some_tech.com\"}},\n", + " {\"type\": \"c2-server\", \"options\":{\"listen_on_ports\":[21]}}]\n", + " })\n", + "\n", + " # Configuring the C2 stage to use the REM-PUB-PC-1 as it's C2 Server and to use a different masquerade port.\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['COMMAND_AND_CONTROL'][\"c2_server_name\"] = \"REM-PUB-PC-1\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['COMMAND_AND_CONTROL'][\"c2_server_ip\"] = \"192.168.20.2\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['COMMAND_AND_CONTROL'][\"keep_alive_frequency\"] = 3\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['COMMAND_AND_CONTROL'][\"masquerade_port\"] = \"FTP\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['COMMAND_AND_CONTROL'][\"masquerade_protocol\"] = \"TCP\"\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "# TAP001 runs for exactly 110 timesteps using default TAP settings.\n", + "for _ in range(110):\n", + " env.step(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cells below use .show() methods to show that the configuration options have successfully altered the C2's suite configuration. For example the C2 beacon's remote connection is now ``REM-PUB-PC-1``'s ip address which is ``192.168.20.2``." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "c2_beacon = starting_host.software_manager.software[\"c2-beacon\"]\n", + "c2_beacon.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "c2_server_host = env.game.simulation.network.get_node_by_hostname('REM-PUB-PC-1')\n", + "c2_server = c2_server_host.software_manager.software[\"c2-server\"]\n", + "c2_server.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Mobile Malware Kill Chain | Payload Stage\n", + "\n", + "
Payload Settings \n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|---------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|probability | Action Probability - This is only calculated once at this stage. |Int | _Required_ |\n", + "|corrupt | Should TAP001 launch the ransomware script against the target database? |Boolean | _Required_ |\n", + "|exfiltrate | Should TAP001 exfiltrate the target database.db file? |Boolean | _Required_ |\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Probability**\n", + "\n", + "***\n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|---------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|probability | Action Probability - This is only calculated once at this stage. |Int | _Required_ |\n", + "\n", + "Similarly, to every other stage, probability is the chance of success of TAP001 has to successfully perform the Payload Stage.\n", + "\n", + "However, it's important to note that the **probability of success is only calculated once**. \n", + "\n", + "After the agent is successful once then the TAP agent will perform the rest of the stage without trialing any further." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Corrupt**\n", + "\n", + "***\n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|---------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|corrupt | Should TAP001 launch the ransomware script against the target database? |Boolean | _Required_ |\n", + "\n", + "This option is a boolean value which indicates if TAP001 should launch the ransomware script against the target database. \n", + "\n", + "By default this is enabled but if users wish to disable the ransomware attack for training purposes then this value can be set to ``False`` which will prevent the installed ``RansomwareScript`` from launching at the final step.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exfiltrate**\n", + "\n", + "***\n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|---------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|exfiltrate | Should TAP001 exfiltrate the target database.db file? |Boolean | _Required_ |\n", + "\n", + "\n", + "Similar to ``corrupt``, this option is a boolean value which indicates if TAP001 should attempt to exfiltrate the database.db file.\n", + "\n", + "By default this is enabled but if users wish to disable the exfiltration for training purposes then this value can be set to ``False`` which will prevent the TAP001 agent from attempting to exfiltrate the database.db file." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_If both ``exfiltrate`` and ``corrupt`` options are enabled then the TAP001 agent will exfiltrate the database.db and then launch the ``RansomwareScript`` against the target._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Yaml Example:\n", + "\n", + "```yaml\n", + " kill_chain:\n", + " PAYLOAD:\n", + " probability: 1\n", + " exfiltrate: true\n", + " corrupt: true\n", + " exfiltration_folder_name:\n", + " target_username: admin\n", + " target_password: admin\n", + " continue_on_failed_exfil: True\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following code cells demonstrate how ``corrupt`` and ``exfiltrate`` can be enabled/disabled and their effects on the environment. After each example the file systems of the target and starting hosts are displayed. If ``corrupt`` is enabled then the target database file will be encrypted and if the ``exfiltrate`` option is enabled then the target database.db will be present within the starting host's file system." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"corrupt\"] = True\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"exfiltrate\"] = False\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range(110):\n", + " env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show(full=True)\n", + "starting_host.file_system.show(full=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"corrupt\"] = False\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"exfiltrate\"] = True\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range(110):\n", + " env.step(0)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show(full=True)\n", + "starting_host.file_system.show(full=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"corrupt\"] = True\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"exfiltrate\"] = True\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range(110):\n", + " env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show(full=True)\n", + "starting_host.file_system.show(full=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Payload Stage | Exfiltration Settings\n", + "\n", + "If TAP001 is configured to exfiltrate the database.db file then the following configuration options are relevant.\n", + "\n", + "
Exfiltration Settings \n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|-------------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|exfiltration_folder_name | The folder used to store the database.db file. Defaults to ``exfiltration_folder`` |Str | _Optional_ |\n", + "|target_username | The username used to login into a target node. Defaults to ``admin`` |Str | _Required_ |\n", + "|target_password | The password used to login into a target node. Defaults to ``admin`` |Str | _Required_ |\n", + "|continue_on_failed_exfil | Indicates if the attacker should encrypt the target even if the exfiltration fails |Bool | _Required_ |\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**exfiltration_folder_name**\n", + "\n", + "***\n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|-------------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|exfiltration_folder_name | The folder used to store the database.db file. Defaults to ``exfiltration_folder``.|str | _Optional_ |\n", + "\n", + "Users are able to configure what folder the database.db is stored within after successful database exfiltration. For example, if this option was set to ``crown_jewels`` then the TAP001 agent would create a new folder on the starting node called ``crown_jewels`` and once the data-exfiltration is successful that folder will be populated with the ``database.db`` file from the target database. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"exfiltration_folder_name\"] = \"crown_jewels\"\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range(110):\n", + " env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show(full=True)\n", + "starting_host.file_system.show(full=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**target_username & target_password**\n", + "\n", + "***\n", + "\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|-------------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|target_username | The username used to login into a target node. Defaults to ``admin`` |Str | _required_ |\n", + "|target_password | The password used to login into a target node. Defaults to ``admin`` |Str | _required_ |\n", + "\n", + "These fields indicate what user credentials the TAP001 agent will use when attempting to exfiltrate the `database.db` file from the target." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating a new user for the TAP001 to use.\n", + "users = [{\n", + " \"username\": \"example_user\",\n", + " \"password\": \"example_pass\",\n", + " \"is_admin\": \"False\",\n", + "}]\n", + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['simulation']['network']['nodes'][28].update({\"users\":users}) # Adding this new user to the target\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"target_username\"] = \"example_user\" # Setting TAP001 to use the new user credentials.\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"target_password\"] = \"example_pass\"\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "for _ in range(110):\n", + " env.step(0)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.user_manager.show()\n", + "target_host.file_system.show()\n", + "tap001.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**continue_on_failed_exfil**\n", + "\n", + "***\n", + "|Option Field | Meaning |Expected Type |Required/Optional|\n", + "|-------------------------|------------------------------------------------------------------------------------|---------------|-----------------|\n", + "|continue_on_failed_exfil | Indicates if the attacker should encrypt the target even if the exfiltration fails |Bool | _Required_ |\n", + "\n", + "\n", + "This option will affect how the TAP001 agent responds to failing the exfiltration. If this option is set to `True` then the TAP001 agent will attempt the final attack against the database even if the `database.db` exfiltration attempt is unsuccessful. Likewise, if this option is set to `False` then the TAP001 agent will consider it's attack failed if it cannot complete the exfiltration.\n", + "\n", + "The code cells below demonstrate the differences by using the blue agent to change the user account details on the target database before the exfiltration occurs using action 50\n", + "\n", + "```yaml\n", + " # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account\n", + " 50:\n", + " action: node-account-change-password\n", + " options:\n", + " node_name: ST-DATA-PRV-SRV-DB\n", + " username: admin # default account\n", + " current_password: admin # default password\n", + " new_password: thr33_alert_wolv3z # A more 'secure' password\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we set the `continue_on_failed_exfil` to true we can see that the despite the exfiltration failing the `database.db` still ends up corrupted by the end of the attack." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"continue_on_failed_exfil\"] = True\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "\n", + "# Changing the target database credentials:\n", + "env.step(50)\n", + "\n", + "# Finishing the episode:\n", + "for _ in range(127):\n", + " env.step(0)\n", + " \n", + "tap001.logger.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# The exfiltration was not successful\n", + "starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node)\n", + "\n", + "starting_host.file_system.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Yet the target database.db is still corrupt.\n", + "\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Whereas now if we set `continue_on_failed_exfil` to false we can see that the attack failed and the database health status remains `GOOD`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PAYLOAD'][\"continue_on_failed_exfil\"] = False\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "\n", + "# Changing the target database credentials:\n", + "env.step(50)\n", + "\n", + "# Finishing the episode:\n", + "for _ in range(127):\n", + " env.step(0)\n", + " \n", + "tap001.logger.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# The exfiltration was not successful\n", + "starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node)\n", + "\n", + "starting_host.file_system.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# And the target database.db remains healthy.\n", + "\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host.file_system.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb new file mode 100644 index 00000000..365b01ed --- /dev/null +++ b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb @@ -0,0 +1,1687 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Backdoor & Vulnerability Creation Kill Chain\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK\n", + "\n", + "**Threat Actor Profile (TAP):** 003
\n", + "**Kill Chain**: Backdoor & Vulnerability Creation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook demonstrates a new UC7 Kill Chain which aims to represent a different style of attack in comparison to the mobile malware kill chain (TAP001).\n", + "Kill chains aim to represent a potential real world cyber attack. In this scenario an malicious `SOME_TECH` admin (TAP003) leverages his legitimate credentials and permissions to create purposeful backdoors, establish footholds and use other legitimate features in malicious ways.\n", + "
\n", + "\n", + "In this version - this scenario is limited in scope. TAP003 opts to alter user accounts and implement malicious ACL rule by using the ``terminal`` service to SSH into target routers. These ACLs block green traffic which trigger a negative reward.\n", + "
\n", + "\n", + "This kill chain intends to introduce a new UC7 attack which is both realistic but also dissimilar to other kill chains." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "# Importing the necessary primAITE libraries\n", + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite.simulator.system.applications.database_client import DatabaseClient\n", + "from primaite.simulator.system.services.dns.dns_client import DNSClient\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "from primaite.simulator.system.applications.web_browser import WebBrowser\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.config.load import load, _EXAMPLE_CFG\n", + "from pprint import pprint\n", + "from deepdiff.diff import DeepDiff\n", + "from prettytable import PrettyTable\n", + "import yaml" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility functions.\n", + "\n", + "def print_agent_actions_except_do_nothing(agent_name):\n", + " \"\"\"\n", + " Print an agent action provided it's not the DONOTHING action.\n", + "\n", + " :param agent_name: Name of agent (str).\n", + " \"\"\"\n", + " table = PrettyTable()\n", + " table.field_names = [\"Step\", \"Action\", \"Node\", \"Application\", \"Response\"]\n", + " print(f\"Episode: {env.episode_counter}, Actions for '{agent_name}':\")\n", + " for item in env.game.agents[agent_name].history:\n", + " if item.action != \"DONOTHING\":\n", + " node, application = 'unknown', 'unknown'\n", + " if (node_id := item.parameters.get('node_id')) is not None:\n", + " node = env.game.agents[agent_name].action_manager.node_names[node_id]\n", + " if (application_id := item.parameters.get('application_id')) is not None:\n", + " application = env.game.agents[agent_name].action_manager.application_names[node_id][application_id]\n", + " if (application_name := item.parameters.get('application_name')) is not None:\n", + " application = application_name\n", + " table.add_row([item.timestep, item.action, node, application, item.response.status])\n", + " print(table)\n", + " print(\"(Any DONOTHING actions are omitted)\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def display_obs_diffs(old, new, step_counter):\n", + " \"\"\"\n", + " Use DeepDiff to extract and display differences in old and new instances of\n", + " the observation space.\n", + "\n", + " :param old: observation space instance.\n", + " :param new: observation space instance.\n", + " :param step_counter: current step counter.\n", + " \"\"\"\n", + " print(\"\\nObservation space differences\")\n", + " print(\"-----------------------------\")\n", + " diff = DeepDiff(old, new)\n", + " print(f\"Step {step_counter}\")\n", + " for d,v in diff.get('values_changed', {}).items():\n", + " print(f\"{d}: {v['old_value']} -> {v['new_value']}\")\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Sections:**\n", + "1. Notebook Intro\n", + "2. Notebook Setup\n", + "3. Prior To Attack\n", + "4. Kill Chain Stage Demonstration\n", + "5. Attack Configurations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Intro** | **Backdoor & Vulnerability Creation Kill Chain Intro** \n", + "\n", + "TAP003's kill chain is comprised of a variety of blue actions which are leveraged in unusual ways. This includes introducing malicious ACL's which block green traffic and installing and execute green applications in order to simulate unusual green pattern of life. The rest of this notebook will go through each step in more detail whilst demonstrating the impacts that each step has on both observation and simulation behaviour.\n", + "\n", + "_Reconnaissance - DONOTHING CAOS Action_\n", + "\n", + "|Index | Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|-------------|-----------|\n", + "|1|Reconnaissance|*No Direct Impact*|TAP003 is passively investigating sensitive systems, data and access control mechanisms.|\n", + "\n", + "_Planning - DONOTHING CAOS Action_\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|2|Planning| **No current impact**|TAP003 is devising a plan to exploit their elevated privileges.|\n", + "\n", + " _Access - DONOTHING CAOS Action__\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|3|Access|**No current impact** |TAP003 uses their legitimate credentials to access the access control settings.|\n", + "\n", + " _Manipulation - HOST:SESSIONS_SEND_REMOTE_COMMAND -> HOST:ACCOUNTS:CHANGE:PASSWORD CAOS ACTION_\n", + " \n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|4|Manipulation| **Target Host(s)** HOST::SESSIONS:REMOTE |TAP003 exploits their insider knowledge/privilege to implement changes for sabotage.|\n", + "\n", + " _Exploit - FIREWALL:ACL:add_rule CAOS ACTION_\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|5|Exploit| **Target Host(s)** FIREWALL:ACL:INTERNAL/EXTERNAL:*|TAP003 exploits their insider knowledge/privilege to implement changes for sabotage.|\n", + "\n", + "_Only the initial five steps are represented in the this version of this kill-chain._
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Notebook Setup** | **Network Configuration:**\n", + "\n", + "This notebook uses the same network setup as UC7. \n", + "\n", + "Please refer to the main [UC7-E2E-Demo notebook for further reference](./UC7-E2E-Demo.ipynb)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "_(Click to enlarge)_" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + "env = PrimaiteGymEnv(env_config=cfg)\n", + "env.game.simulation.network.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Notebook Setup** | Instantiating Relevant Simulation Objects\n", + "The cell below sets up the relevant simulation and agent objects for the kill chain demonstration.\n", + "\n", + "\n", + "The following cell resets the environment, instantiates TAP003 and it's selected starting/target hosts." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "env.reset() # resetting the environment\n", + "# The TAP003 Agent\n", + "tap003 = env.game.agents['attacker']\n", + "tap003.logger.logger.setLevel(\"INFO\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Prior To Attack** | Initial States:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first section of this notebook displays the initial simulation state of TAP003's starting and target nodes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Initial State** | Starting Host:\n", + "TAP003's initial starting point.\n", + "\n", + "TAP003's starting host does not cause any MNE (Malicious Network Events) in it's current implementation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "# TAP003's Starting Client:\n", + "starting_host = env.game.simulation.network.get_node_by_hostname(tap003.starting_node)\n", + "print(f\"Starting host:\")\n", + "starting_host.show()\n", + "starting_host.software_manager.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Initial State** | Target Hosts\n", + "\n", + "TAP003's selected target hosts at current the only valid targets for TAP003 are Router/Firewall type nodes\n", + "\n", + "Code snippet below shows the default OBS of the target routers" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "# TAP003's target routers\n", + "\n", + "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\")\n", + "\n", + "st_intra_prv_rt_cr.acl.show()\n", + "st_intra_prv_rt_dr_1.acl.show()\n", + "rem_pub_rt_dr.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Kill Chain** | Kill Chain Stage Demonstration \n", + "\n", + "For the initial kill chain demonstration, TAP003 is configured with the following yaml snippet:\n", + "\n", + "```yaml\n", + " - ref: attacker\n", + " team: RED\n", + " type: tap-003\n", + " observation_space: {}\n", + " action_space: {}\n", + " agent_settings:\n", + " start_step: 1\n", + " frequency: 3\n", + " variance: 0\n", + " repeat_kill_chain: false\n", + " repeat_kill_chain_stages: true\n", + " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", + " starting_nodes:\n", + " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + " kill_chain:\n", + " PLANNING:\n", + " probability: 1\n", + " starting_network_knowledge:\n", + " credentials:\n", + " ST-PROJ-A-PRV-PC-1:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-B-PRV-PC-2:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-C-PRV-PC-3:\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-DR-1:\n", + " ip_address: 192.168.230.1\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-CR:\n", + " ip_address: 192.168.160.1\n", + " username: admin\n", + " password: admin\n", + " REM-PUB-RT-DR:\n", + " ip_address: 192.168.10.2\n", + " username: admin\n", + " password: admin\n", + " ACCESS:\n", + " probability: 1\n", + " MANIPULATION:\n", + " probability: 1\n", + " account_changes:\n", + " - host: ST-INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " action: change_password\n", + " username: admin\n", + " new_password: \"red_pass\"\n", + " - host: ST-INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + " - host: REM-PUB-RT-DR\n", + " ip_address: 192.168.10.2 # REM-PUB-RT-DR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + " EXPLOIT:\n", + " probability: 1\n", + " malicious_acls:\n", + " - target_router: ST-INTRA-PRV-RT-DR-1\n", + " position: 1\n", + " permission: DENY\n", + " src_ip: ALL\n", + " src_wildcard: 0.0.255.255\n", + " dst_ip: ALL\n", + " dst_wildcard: 0.0.255.255\n", + " src_port: POSTGRES_SERVER\n", + " dst_port: POSTGRES_SERVER\n", + " protocol_name_name: TCP\n", + " - target_router: ST-INTRA-PRV-RT-CR\n", + " position: 1\n", + " permission: DENY\n", + " src_ip: ALL\n", + " src_wildcard: 0.0.255.255\n", + " dst_ip: ALL\n", + " dst_wildcard: 0.0.255.255\n", + " src_port: HTTP\n", + " dst_port: HTTP\n", + " protocol_name_name: TCP\n", + " - target_router: REM-PUB-RT-DR\n", + " position: 1\n", + " permission: DENY\n", + " src_ip: ALL\n", + " src_wildcard: 0.0.255.255\n", + " dst_ip: ALL\n", + " dst_wildcard: 0.0.255.255\n", + " src_port: DNS\n", + " dst_port: DNS\n", + " protocol_name_name: TCP\n", + "\n", + "```\n", + "_Further information & guidance around configuring TAP003 can be found within the last section of this notebook._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | NOT STARTED\n", + "This is the default state of the TAP003 Agent. This stage indicates that the TAP003 agent has not begun it's kill chain.\n", + "If TAP003 is in this stage then on the next execution step the kill chain will begin." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003 = env.game.agents['attacker']\n", + "\n", + "\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.NOT_STARTED):\n", + " default_obs, _, _, _, _ = env.step(0)\n", + "starting_host.software_manager.show()\n", + "\n", + "env.step(0);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | RECONNAISSANCE\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|1|RECONNAISSANCE|*No Direct Impact*|TAP003 is identifying Sensitive systems, data and access control mechanisms in legitimate ways.|\n", + "\n", + "Currently, this stage in the kill chain is implemented via the 'DONOTHING' CAOS action." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.RECONNAISSANCE):\n", + " reconnaissance_obs_impact, _, _, _, _ = env.step(0)\n", + "\n", + "current_host = env.game.simulation.network.get_node_by_hostname(tap003.current_host)\n", + "current_host.software_manager.show()\n", + "display_obs_diffs(default_obs, reconnaissance_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | PLANNING\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|2|PLANNING| *No Direct Impact*| HOST:APPLICATION|TAP003 is devising a plan to exploit their elevated privileges.|\n", + "\n", + "Currently, the TAP003 agent does not perform any actions at this stage of the kill chain." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "pprint(\"---Starting Client State----\")\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.PLANNING):\n", + " planning_obs_impact, _, _, _, info = env.step(0);\n", + "current_host.software_manager.show()\n", + "display_obs_diffs(reconnaissance_obs_impact, planning_obs_impact, env.game.step_counter)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | ACCESS\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|3|Access|_DONOTHING CAOS Action_|TAP003 uses their legitimate credentials to access the access control settings.|\n", + "\n", + "Currently, at this point of the kill chain stage the TAP003 does not perform any simulations actions. Future versions of TAP003 aim to leverage more of the simulation to create and remove accounts at this stage." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "pprint(\"---Starting Client State----\")\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.ACCESS):\n", + " access_obs_impact, _, _, _, info = env.step(0)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Compare observation space before and after ACCESS stage.\n", + "display_obs_diffs(planning_obs_impact, access_obs_impact, env.game.step_counter)\n", + "\n", + "starting_host.software_manager.show()\n", + "print_agent_actions_except_do_nothing(tap003.config.ref)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | MANIPULATION\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|4|Manipulation| **Target Host(s)** HOST::SESSIONS:REMOTE |TAP003 exploits their insider knowledge/privilege to implement changes for sabotage.|\n", + "\n", + "In the ``MANIPULATION`` kill chain stage the TAP003 agent creates new and alters pre-existing user accounts based on user given settings. \n", + "\n", + "_For more information please refer to the later TAP003 customisation section of the notebook._" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "access_obs_impact, _, _, _, _ = env.step(0)\n", + "pprint(f\"Agent action: {info['agent_actions']['attacker']}\")\n", + "\n", + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "pprint(\"---Target Client State----\")\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.MANIPULATION):\n", + " manipulation_obs_impact, _, _, _, info = env.step(0)\n", + "\n", + "\n", + "# Example host\n", + "rem_pub_rt_dr.user_manager.show()\n", + "# rem_pub_rt_dr.user_session_manager.show()\n", + "\n", + "# Compare observation space before and after MANIPULATION stage.\n", + "display_obs_diffs(access_obs_impact, manipulation_obs_impact, env.game.step_counter)\n", + "print_agent_actions_except_do_nothing(tap003.config.ref)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Kill Chain** | EXPLOITATION\n", + "\n", + "|Index| Action Stage| OBS Impact | Narrative |\n", + "|-----|-------------|------------|-----------|\n", + "|5|EXPLOITATION| **Target Host(s)** ROUTER_ACL_ADDRULE |TAP003 exploiting their insider knowledge/privilege to implement changes for sabotage|\n", + "\n", + "In the final attack stage the TAP003 agent insert a malicious ACL rule(s) which blocks specific traffic, therefore triggering negative rewards for the green agents.\n", + "\n", + "The table below shows the impacts:\n", + "\n", + "|Target Router | Impact |\n", + "|----------------------|--------|\n", + "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", + "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|\n", + "\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n", + "\n", + "_(Click to enlarge)_" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "manipulation_obs_impact, _, _, _, _ = env.step(0)\n", + "pprint(f\"Agent action: {info['agent_actions']['attacker']}\")\n", + "\n", + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")\n", + "pprint(\"---Target Client State----\")\n", + "while(tap003.current_kill_chain_stage == InsiderKillChain.EXPLOIT):\n", + " exploit_obs_impact, _, _, _, info = env.step(0)\n", + " \n", + "st_intra_prv_rt_cr.acl.show()\n", + "st_intra_prv_rt_dr_1.acl.show()\n", + "rem_pub_rt_dr.acl.show()\n", + "\n", + "# Stepping once more to allow the malicious acl to appear in the simulation.\n", + "exploit_obs_impact, _, _, _, _ = env.step(0)\n", + "\n", + "# Compare observation space before and after MANIPULATION stage.\n", + "display_obs_diffs(manipulation_obs_impact, exploit_obs_impact, env.game.step_counter)\n", + "print_agent_actions_except_do_nothing(tap003.config.ref)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tap003.logger.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Demonstration of the ACL Rule blocking traffic\n", + "\n", + "As an example of the malicious ACL Rule affecting traffic across the network, attempting to query the database server (ST-DATA-PRV-SRV-DB) from any of the `ST_PROJECT_*` networks should fail because it is must route through the `ST-INTRA-PRV-RT-DR-1` router which TAP003 has configured to block all `POSTGRES_SERVER` traffic." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "affected_node = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "database_server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "\n", + "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "\n", + "database_client: DatabaseClient = affected_node.software_manager.software.get(\"database-client\")\n", + "st_intra_prv_rt_dr_1.acl.show()\n", + "\n", + "# should be False\n", + "print(database_client.query(sql=\"SELECT\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "However, ACL rules will not stop ICMP traffic, allowing us to still ping the target nodes as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# should be true\n", + "print(affected_node.ping(database_server.network_interface[1].ip_address))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, by default, TAP003 is configured to add two more ACLs on the UC7 network as shown in the table previously." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# This ACL blocks all web_server traffic from within the main `SOME_TECH` office. Thus leading to every SOME_TECH host unable to access the web-server\n", + "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr.acl.show()\n", + "\n", + "st_head_office_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", + "st_head_office_private_pc_1_web_browser: WebBrowser = st_head_office_private_pc_1.software_manager.software[\"web-browser\"]\n", + "st_head_office_private_pc_1_web_browser.get_webpage(url=\"http://some_tech.com\")\n", + "st_head_office_private_pc_1_web_browser.sys_log.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# This ACL blocks all DNS traffic from exiting the SOME_TECH remote site.\n", + "rem_pub_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(hostname=\"REM-PUB-PC-1\")\n", + "rem_pub_rt_dr = env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\")\n", + "dns_client: DNSClient = rem_pub_pc_1.software_manager.software[\"dns-client\"]\n", + "dns_client.dns_cache.clear()\n", + "dns_client.check_domain_exists(target_domain=\"some_tech.com\")\n", + "rem_pub_rt_dr.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Kill Chain Configurations** | Overview:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following sections cover the TAP003's settings & configurations. \n", + "Each section contains code cells which directly demonstrate each option and it's effect on TAP003." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Attack Configurations** | Threat Actor Profile (TAP) wide Agent Settings\n", + "\n", + " Threat Actor Profile Agent Settings \n", + "\n", + "
\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|start_step|The initial kill chain starting step.|Int|_Required_|\n", + "|frequency|The frequency of each kill chains starting steps.|Int|_Required_|\n", + "|variance| The timestep variance between frequency|Int|_Required_|\n", + "|repeat_kill_chain|Indicates whether the attack is repeated throughout the episode.|Bool|_Required_|\n", + "|repeat_kill_chain_stages|Indicates if the kill_chain stage should reset upon failure or retry.|Bool|_Required_|\n", + "|default_target_node|The Target Host|Str|_Required_|\n", + "|starting_nodes|A list of Potential Targets|List|_Optional_|\n", + "|kill_chain|_See the next notebook section_|Dict|_Required_||\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Example kill chain setting configuration_\n", + "```yaml\n", + " start_step: 1\n", + " frequency: 3\n", + " variance: 0\n", + " repeat_kill_chain: false\n", + " repeat_kill_chain_stages: true\n", + " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", + " starting_nodes:\n", + " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Attack Configurations** | Kill Chain Settings Overview\n", + "Currently, each kill chain stage has a probability of success option.\n", + "Additionally the manipulation kill stage offers an additional configuration of the malicious ACL.\n", + "\n", + " TAP003's Kill Chain Settings \n", + "\n", + "
\n", + "\n", + "Kill Chain Stage 1 - _PLANNING_\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Probability Of Success - The chance of successfully carrying out this stage in the kill_chain.|float|_Required_|\n", + "|starting_network_knowledge| User Account details | dict |_required_|\n", + "\n", + "Kill Chain Stage 2 - _ACCESS_\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Probability Of Success - The chance of successfully carrying out this stage in the kill_chain.|float|_Required_|\n", + "\n", + "Kill Chain Stage 3 - _MANIPULATION_\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Probability Of Success - The chance of successfully carrying out this stage in the kill_chain.|float|_Required_|\n", + "|account_changes| User Accounts hijacked - Must be the same targets as `malicious_acl` used in next kill chain stage | dict | _Required_|\n", + "\n", + "Kill Chain Stage 4 - _EXPLOIT_\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|malicious_acl|The configurable ACL that the TAP003 agent adds to the target node.|dict|_Required_|\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_An example of a kill chain setting configuration_ \n", + "```yaml\n", + " kill_chain:\n", + " PLANNING:\n", + " probability: 1\n", + " starting_network_knowledge:\n", + " credentials:\n", + " ST-PROJ-A-PRV-PC-1:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-B-PRV-PC-2:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-C-PRV-PC-3:\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-DR-1:\n", + " ip_address: 192.168.230.1\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-CR:\n", + " ip_address: 192.168.160.1\n", + " username: admin\n", + " password: admin\n", + " REM-PUB-RT-DR:\n", + " ip_address: 192.168.10.2\n", + " username: admin\n", + " password: admin\n", + " ACCESS:\n", + " probability: 1\n", + " MANIPULATION:\n", + " probability: 1\n", + " account_changes:\n", + " - host: ST-INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " action: change_password\n", + " username: admin\n", + " new_password: \"red_pass\"\n", + " - host: ST-INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + " - host: REM-PUB-RT-DR\n", + " ip_address: 192.168.10.2 # REM-PUB-RT-DR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + " EXPLOIT:\n", + " probability: 1\n", + " malicious_acls:\n", + " - target_router: ST-INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 \n", + " position: 1\n", + " permission: DENY\n", + " src_ip: ALL\n", + " src_wildcard_mask: 0.0.255.255\n", + " dst_ip: ALL\n", + " dst_wildcard_mask: 0.0.255.255\n", + " src_port: POSTGRES_SERVER\n", + " dst_port: POSTGRES_SERVER\n", + " protocol_name: TCP\n", + "\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### **Attack Configurations** | Configuration Examples \n", + "The following notebook section demonstrates a few potential examples of different TAP003 configurations and their expected behaviour within an episode." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "tap003 = env.game.agents['attacker']\n", + "for key,value in tap003.config.agent_settings:\n", + " if key == 'kill_chain':\n", + " pass\n", + " else:\n", + " print(f\"{key} : {value}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Start Step, Frequency & Variance\n", + "\n", + "In this section, the code cells below demonstrate the following options:\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|start_step|The initial kill chain starting step.|Int|_Required_|\n", + "|frequency|The frequency of each kill chains starting steps.|Str|_Required_|\n", + "|variance|The timestep variance between frequency.|Str|_Required_|\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below alters the start_step, frequency and variance to 20, 10 and 5 respectively.\n", + "Additionally, the probability of the kill chain stages are set to guarantee success. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['agents'][32]['agent_settings']['start_step'] = 20\n", + " cfg['agents'][32]['agent_settings']['frequency'] = 10\n", + " cfg['agents'][32]['agent_settings']['variance'] = 5\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['MANIPULATION']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['ACCESS']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['probability'] = 1\n", + "env = PrimaiteGymEnv(env_config = cfg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below demonstrates how the frequency & variance options affect TAP003's next execution step." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "tap003 = env.game.agents['attacker']\n", + "print(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | repeat_kill_chain & repeat_kill_chain_stages\n", + "\n", + "This section demonstrate how the different repeat options may affect a 100 step length episode.\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|repeat_kill_chain|Indicates whether the attack is repeated throughout the episode.|Str|_Required_|\n", + "|repeat_kill_chain_stages|Indicates if the kill_chain stage should reset upon failure or retry.|Str|_Required_|\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain_stages'] = False\n", + "env = PrimaiteGymEnv(env_config = cfg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = True\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain_stages'] = True\n", + "env = PrimaiteGymEnv(env_config = cfg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "while(env.game.step_counter != 100):\n", + " env.step(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | Starting Node\n", + "\n", + "The code cells below demonstrate how to configure TAP003's different options for selecting starting hosts.\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|default_starting_node|The default starting host.|Str|_Required_|\n", + "|starting_nodes|A list of potential targets|List|_Optional_|\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST-PROJ-A-PRV-PC-1\"\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "tap003 = env.game.agents[\"attacker\"]\n", + "print(f\"TA003's Selected Starting Host: {tap003.starting_node}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below demonstrates how starting node lists overrule the default start node options:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST-PROJ-A-PRV-PC-1\"\n", + " cfg[\"agents\"][32][\"agent_settings\"][\"starting_nodes\"] = [\"ST-PROJ-A-PRV-PC-1\",\"ST-PROJ-B-PRV-PC-2\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "env = PrimaiteGymEnv(env_config = cfg)\n", + "tap003 = env.game.agents[\"attacker\"]\n", + "print(f\"TA003's Selected Starting Host: {tap003.starting_node}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | probability\n", + "\n", + "The code cells below configure each kill chain's probability of success. \n", + "The cells also demonstrate how TAP003 handles failure within an episode.\n", + "\n", + "|Option Field|Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability | The chance of successfully carrying out this stage in the kill chain.|float|_Required_|\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below directly sets each probability of success to 0.25.
\n", + "Additionally the repeat kill chain and kill chain stage configuration options are set to false." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain_stages'] = False\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['probability'] = 0.25\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['ACCESS']['probability'] = 0.25\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['probability'] = 0.25\n", + "env = PrimaiteGymEnv(env_config = cfg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "while(env.game.step_counter != 100):\n", + " env.step(0)\n", + "tap003 = env.game.agents['attacker']\n", + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below performs the same episode but with the repeat_kill_chain and repeat_kill_chain_stages to true." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = True\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain_stages'] = True\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['MANIPULATION']['probability'] = 0.25\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['ACCESS']['probability'] = 0.25\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['probability'] = 0.25\n", + "env = PrimaiteGymEnv(env_config = cfg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "while(env.game.step_counter != 100):\n", + " env.step(0)\n", + "tap003 = env.game.agents['attacker']\n", + "pprint(\"---TAP003's Current State---\")\n", + "print(f\"Current Environment Step: {env.game.step_counter}\")\n", + "print(f\"Current Kill Chain Stage: {tap003.current_kill_chain_stage.name}\")\n", + "print(f\"Next Execution Step: {tap003.next_execution_timestep}\")\n", + "print(f\"Next Kill Chain Stage {tap003.next_kill_chain_stage.name}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | ACCESS - Starting Network Knowledge\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|-------------|-------|-------------|-----------------|\n", + "|probability |Action Probability - The chance of successfully carrying out this stage in the kill_chain.|str|_Required_|\n", + "|starting_network_knowledge|TAP003's starting knowledge. Used to login into the target accounts in the ``MANIPULATION`` stage.|dict|_Required_|" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``starting_network_knowledge``\n", + "\n", + "***\n", + "\n", + "The ``starting_network_knowledge`` options uses the following schema:\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|-------------|-------|-------------|-----------------|\n", + "|credentials|The credential knowledge does TAP003 starts the episode with.|dict|_Required_|\n", + "\n", + "```yaml\n", + " kill_chain:\n", + " PLANNING:\n", + " probability: 1\n", + " starting_network_knowledge:\n", + " credentials:\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``credentials``\n", + "\n", + "***\n", + "\n", + "The ``credentials`` options uses the following schema:\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|-------------|-------|-------------|-----------------|\n", + "|ip_address |The IP Address of the target host.|str|_Required_|\n", + "|username |A username of a valid user account. Defaults to ``Admin``.|str|_Optional_|\n", + "|password |The corresponding valid password of the given username. Defaults to ``Admin``.|str|_Optional_|\n", + "\n", + "These credentials will are used in the ``MANIPULATION`` kill chain stage to login into the target accounts. Therefore the ``credentials`` options needs contain the same hosts that the the ``ACCOUNT_CHANGES`` option\n", + "\n", + "```yaml\n", + "\n", + " kill_chain:\n", + " PLANNING:\n", + " probability: 1\n", + " starting_network_knowledge:\n", + " credentials:\n", + " ST-PROJ-A-PRV-PC-1:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-B-PRV-PC-2:\n", + " username: admin\n", + " password: admin\n", + " ST-PROJ-C-PRV-PC-3:\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-DR-1:\n", + " ip_address: 192.168.230.1\n", + " username: admin\n", + " password: admin\n", + " ST-INTRA-PRV-RT-CR:\n", + " ip_address: 192.168.160.1\n", + " username: admin\n", + " password: admin\n", + " REM-PUB-RT-DR:\n", + " ip_address: 192.168.10.2\n", + " username: admin\n", + " password: admin\n", + "\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "tap003 = env.game.agents['attacker']\n", + "# This while loop will run TAP003 until it hits TAP003 reaches ``ACCESS`` (Therefore passing PLANNING)\n", + "while(tap003.current_kill_chain_stage != InsiderKillChain.ACCESS):\n", + " env.step(0)\n", + "for account in tap003.network_knowledge['credentials']:\n", + " print(f\"----{account}---\")\n", + " for key in tap003.network_knowledge['credentials'][account]:\n", + " pprint(f\"{key}: {tap003.network_knowledge['credentials'][account][key]}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | Manipulation - Account Changes\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Action Probability - The chance of successfully carrying out this stage in the kill_chain.|str|_Required_|\n", + "|account_changes|List of dictionaries containing the target hostnames, ip and account configuration changes.|list[dict]|_Required_|\n", + "\n", + "```yaml\n", + " kill_chain:\n", + " MANIPULATION:\n", + " probability: 1\n", + " account_changes:\n", + " - host: ST-INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " action: change_password\n", + " username: admin\n", + " new_password: \"red_pass\"\n", + " - host: ST-INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + " - host: REM-PUB-RT-DR\n", + " ip_address: 192.168.10.2 # REM-PUB-RT-DR\n", + " action: change_password\n", + " username: \"admin\"\n", + " new_password: \"red_pass\"\n", + "\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``account_changes``\n", + "\n", + "***\n", + "\n", + "The ``account_changes`` options uses the following schema:\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|-------------|-------|-------------|-----------------|\n", + "|host|The hostname of the target host.|str|_Required_|\n", + "|ip_address|The IP Address of the target host.|str|_Required_|\n", + "|action|The user account manager action. Currently only ``change_password`` is available.|str|_Required_|\n", + "|username|The username of the account that TAP003 will target.|str|_Required_|\n", + "|new_password|The new password that TAP003 will set.|str|_Required_|\n", + "\n", + "_For further information around the simulation implementation of user sessions please consult the ``user_session_manager`` primAITE API documentation page within PrimAITE's user guide documentation._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | Manipulation - Sandbox \n", + "\n", + "The code cells below can be used as a sandbox to trial out different configuration options and their impact on the simulation. Additionally, if users wish to alter an account other than admin on this sandbox they can alter the ``new_users`` dictionary in the code cell below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# New ST-PROJ-B-PRV-PC-2 user account\n", + "user_username = \"example_user_1\"\n", + "user_password = \"example_pass_1\"\n", + "user_admin = \"False\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "new_users = {\"username\": user_username, \"password\": user_password, \"is_admin\": user_admin }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Changing the password\n", + "tap003_new_password = \"tap003_password\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "account_changes = [{\"host\":\"ST-PROJ-A-PRV-PC-2\", \"ip_address\": \"192.168.230.2\", \"user_name\": user_username, \"old_password\": user_password, \"new_password\": tap003_new_password}]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we update the UC7 config and implement the new user accounts and run through an episode." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + " cfg['simulation']['network']['nodes'][31].update({'users':[]})\n", + " cfg['simulation']['network']['nodes'][31]['users'].append(new_users)\n", + " cfg['agents'][32]['agent_settings']['start_step'] = 1\n", + " cfg['agents'][32]['agent_settings']['frequency'] = 3\n", + " cfg['agents'][32]['agent_settings']['variance'] = 0\n", + " starting_creds = {\"username\": \"admin\",\"password\":\"admin\", \"ip_address\":\"192.168.230.2\"} # Adding \"ST-PROJ-A-PRV-PC-2\" to TAP003's starting_network_knowledge\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['starting_network_knowledge']['credentials'].update({\"ST-PROJ-A-PRV-PC-2\": starting_creds})\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['MANIPULATION']['account_changes'] = account_changes\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "env.reset()\n", + "while(env.game.step_counter != 90): # 20 Red Actions (frequency of 3)\n", + " env.step(0)\n", + "tap003 = env.game.agents['attacker']\n", + "target_host = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-2\")\n", + "target_host.user_manager.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | Exploit - Malicious ACL\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|------------|-------|-------------|-----------------|\n", + "|probability|Action Probability - The chance of successfully carrying out this stage in the kill_chain.|str|_Required_|\n", + "|malicious_acls|The configurable ACL that the TAP003 agent adds to the target node.|dict|_Required_|\n", + "\n", + "The malicious ACL is configured identically to the other ACLs. except from the target router/firewall. \n", + "This option is set to the TAP003's configured target host automatically.\n", + "\n", + "TAP003 intends to leverage these ACL's for malicious purposes. The default configuration is to deny all traffic from and towards the 0.0.0.255 subnet. \n", + "The configurability of the malicious ACL will allow for future releases of TAP type agents itself to perform more complex attacks. Currently, the TAP003 aims to block green agent traffic." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "``malicious_acl``\n", + "\n", + "***\n", + "\n", + "The ``malicious_acl`` options uses the following schema:\n", + "\n", + "|Option Field |Meaning|Expected Type|Required/Optional|\n", + "|-------------|-------|-------------|-----------------|\n", + "|target_router|The hostname of target router.|str|_Required_|\n", + "|ip_address|The ip_address of target router.|str|_Required_|\n", + "|position|The position that the malicious ACL is placed.|str|_Required_|\n", + "|permission|The implicit action. Should the ACL ``DENY`` or ``PERMIT``.|str|_Required_|\n", + "|src_ip|The source IP address to be targeted by the ``ACL``.|str|_Required_|\n", + "|src_wildcard_mask|The wildcard mask for the source ip address.|str|_Required_|\n", + "|dst_ip|The destination IP address to be targeted by the ``ACL``.|str|_Required_|\n", + "|dst_wildcard_mask|The wildcard mask for the destination ip address.|str|_Required_|\n", + "|src_port|The source port to be targeted by the ``ACL``.|str|_Required_|\n", + "|dst_port|The destination port to be targeted by the ``ACL``.|str|_Required_|\n", + "|protocol_name|The transport layer protocol_name to be targeted.|str|_Required_|\n", + "\n", + "_For further information please consult the simulation ACL documentation within PrimAITE's Sphinx documentation._" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell below demonstrates the default ACL's added by TAP003:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['start_step'] = 1\n", + " cfg['agents'][32]['agent_settings']['frequency'] = 3 # Install action takes multiple timesteps.\n", + " cfg['agents'][32]['agent_settings']['variance'] = 0\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['MANIPULATION']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['ACCESS']['probability'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['probability'] = 1\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "while(env.game.step_counter != 70):\n", + " env.step(0)\n", + "tap003 = env.game.agents['attacker']\n", + "for key,value in tap003.config.agent_settings:\n", + " if key != 'kill_chain':\n", + " pass\n", + " else:\n", + " for kill_chain_setting_key in value:\n", + " if kill_chain_setting_key == 'EXPLOIT':\n", + " pprint(value[kill_chain_setting_key]['malicious_acls'][0])\n", + " pprint(value[kill_chain_setting_key]['malicious_acls'][1])\n", + " pprint(value[kill_chain_setting_key]['malicious_acls'][2])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_dr_1.acl.show()\n", + "\n", + "rem_pub_rt_dr = env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\")\n", + "rem_pub_rt_dr.acl.show()\n", + "\n", + "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Unlike the blue agent, TAP003 does not need to use it's action space options for indexing different options, meaning that ACL's are a lot easier to configure.\n", + "\n", + "The sandbox below can be used to try out different configuration options and their impact on the simulation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Attack Configurations** | kill_chain_settings | Exploit - Sandbox " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "metadata": {} + }, + "outputs": [], + "source": [ + "# please ensure that the source/dest ip_addresses are within the blue agent's observation space ip_list option.\n", + "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", + " cfg = yaml.safe_load(f)\n", + " cfg['agents'][32]['agent_settings']['repeat_kill_chain'] = False\n", + " cfg['agents'][32]['agent_settings']['start_step'] = 1\n", + " cfg['agents'][32]['agent_settings']['frequency'] = 3\n", + " cfg['agents'][32]['agent_settings']['variance'] = 0\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['position'] = 1\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['permission'] = \"DENY\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['src_ip'] = \"ALL\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['src_wildcard'] = '0.0.255.255'\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['dst_ip'] = 'ALL'\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['dst_wildcard'] = \"0.0.255.255\"\n", + " # Please refer to the ``PORT`` class in the primAITE API for more information around the different supported ports\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['src_port'] = 'POSTGRES_SERVER'\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['dst_port'] = \"POSTGRES_SERVER\"\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['EXPLOIT']['malicious_acls'][0]['protocol_name'] = 'ALL'\n", + "env = PrimaiteGymEnv(env_config = cfg)\n", + "while(env.game.step_counter != 50):\n", + " env.step(0)\n", + "tap003 = env.game.agents['attacker']\n", + "target_host = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "target_host.acl.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/UC7-Training.ipynb b/src/primaite/notebooks/UC7-Training.ipynb new file mode 100644 index 00000000..f15084ac --- /dev/null +++ b/src/primaite/notebooks/UC7-Training.ipynb @@ -0,0 +1,156 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "source": [ + "# Training an SB3 Agent\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK\n", + "\n", + "This notebook will demonstrate how to use primaite to create and train a PPO agent, using a pre-defined configuration file." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### First, we import the inital packages and read in our configuration file." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite import PRIMAITE_PATHS\n", + "from prettytable import PrettyTable\n", + "from deepdiff.diff import DeepDiff\n", + "from primaite.simulator.network.hardware.nodes.host.server import Server\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "\n", + "scenario_path = PRIMAITE_PATHS.user_config_path / \"example_config/uc7_config.yaml\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "gym = PrimaiteGymEnv(env_config=scenario_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from stable_baselines3 import PPO\n", + "\n", + "# EPISODE_LEN = 128\n", + "EPISODE_LEN = 128\n", + "NUM_EPISODES = 10\n", + "NO_STEPS = EPISODE_LEN * NUM_EPISODES\n", + "BATCH_SIZE = 32\n", + "LEARNING_RATE = 3e-4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = PPO('MlpPolicy', gym, learning_rate=LEARNING_RATE, n_steps=NO_STEPS, batch_size=BATCH_SIZE, verbose=0, tensorboard_log=\"./PPO_UC7/\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.learn(total_timesteps=NO_STEPS)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.save(\"PrimAITE-PPO-UC7-example-agent\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "eval_model = PPO(\"MlpPolicy\", gym)\n", + "eval_model = PPO.load(\"PrimAITE-PPO-UC7-example-agent\", gym)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from stable_baselines3.common.evaluation import evaluate_policy\n", + "\n", + "evaluate_policy(eval_model, gym, n_eval_episodes=1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/UC7-attack-variants.ipynb b/src/primaite/notebooks/UC7-attack-variants.ipynb new file mode 100644 index 00000000..01888134 --- /dev/null +++ b/src/primaite/notebooks/UC7-attack-variants.ipynb @@ -0,0 +1,586 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# UC7 with Attack Variability\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "source": [ + "This notebook demonstrates the PrimAITE environment with the UC7 network laydown and multiple attack personas. The first attack persona is TAP001 which performs a ransomware attack against the database. The other one is TAP003 which is able to maliciously add ACL rules that block green pattern of life.\n", + "\n", + "The environment switches between these two attacks on a pre-defined schedule which is defined in the schedule.yaml file of the scenario folder." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup and Imports" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite import PRIMAITE_PATHS\n", + "from prettytable import PrettyTable\n", + "from deepdiff.diff import DeepDiff\n", + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "from primaite.simulator.network.hardware.nodes.host.server import Server\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.simulator.system.services.dns.dns_server import DNSServer\n", + "from primaite.simulator.system.software import SoftwareHealthState\n", + "from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus\n", + "from primaite.simulator.network.hardware.nodes.network.switch import Switch\n", + "from primaite.simulator.system.applications.web_browser import WebBrowser\n", + "from primaite.simulator.network.container import Network\n", + "from primaite.simulator.system.services.service import ServiceOperatingState\n", + "from primaite.simulator.network.hardware.node_operating_state import NodeOperatingState\n", + "from primaite.simulator.system.services.database.database_service import DatabaseService\n", + "from primaite.simulator.system.applications.database_client import DatabaseClient\n", + "from primaite.simulator.network.hardware.nodes.network.firewall import Firewall\n", + "from primaite.game.game import PrimaiteGame\n", + "from primaite.simulator.sim_container import Simulation\n", + "from primaite.config.load import load, _EXAMPLE_CFG\n", + "from primaite.simulator.network.hardware.nodes.host.server import Server\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "\n", + "scenario_path = PRIMAITE_PATHS.user_config_path / \"example_config/uc7_multiple_attack_variants\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env = PrimaiteGymEnv(env_config=scenario_path)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Schedule\n", + "\n", + "Let's print the schedule so that we can see which attack we can expect on each episode.\n", + "\n", + "On episodes 0-4, the TAP001 agent will be used, and on episodes 5-9, the TAP003 agent will be used. Then, the environment will alternate between the two. Furthermore, the TAP001 agent will alternate between starting at `ST-PROJ-A-PRV-PC-1`, `ST-PROJ-B-PRV-PC-2`, `ST-PROJ-C-PRV-PC-3`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(scenario_path / \"schedule.yaml\",'r') as f:\n", + " print(f.read())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TAP001 attack\n", + "\n", + "Let's first demonstrate the TAP001 attack. We will let the environment run for 30 steps and print out the red agent's actions.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#utils\n", + "def run_green_and_red_pol(num_steps):\n", + " for i in range(num_steps): # perform steps\n", + " env.step(0)\n", + "\n", + "def print_agent_actions_except_do_nothing(agent_name):\n", + " \"\"\"Get the agent's action history, filter out DONOTHING actions, print relevant data in a table.\"\"\"\n", + " table = PrettyTable()\n", + " table.field_names = [\"Step\", \"Action\", \"Node\", \"Application\", \"Target IP\", \"Response\"]\n", + " print(f\"Episode: {env.episode_counter}, Actions for '{agent_name}':\")\n", + " for item in env.game.agents[agent_name].history:\n", + " if item.action == \"do-nothing\":\n", + " continue\n", + "\n", + " node, application, target_ip = \"N/A\", \"N/A\", \"N/A\",\n", + "\n", + " if item.action.startswith(\"node-map\"):\n", + " node = item.parameters['source-node']\n", + " application = \"nmap\"\n", + " target_ip = str(item.parameters['target_ip_address'])\n", + " target_ip = (target_ip[:25]+'...') if len(target_ip)>25 else target_ip # truncate long string\n", + "\n", + " elif item.action == \"router-acl-add-rule\":\n", + " node = item.parameters.get(\"router_name\")\n", + " elif item.action == \"node-send-remote-command\":\n", + " node = item.parameters.get(\"node_name\")\n", + " target_ip = item.parameters.get(\"remote_ip\")\n", + " application = item.parameters.get(\"command\")\n", + " elif item.action == \"node-session-remote-login\":\n", + " node = item.parameters.get(\"node_name\")\n", + " target_ip = item.parameters.get(\"remote_ip\")\n", + " application = \"user-manager\"\n", + " elif item.action.startswith(\"c2-server\"):\n", + " application = \"c2-server\"\n", + " node = item.parameters.get('node_name')\n", + " elif item.action == \"configure-c2-beacon\":\n", + " application = \"c2-beacon\"\n", + " node = item.parameters.get('node_name')\n", + "\n", + " else:\n", + " if (node_id := item.parameters.get('node_id')) is not None:\n", + " node = env.game.agents[agent_name].action_manager.node_names[node_id]\n", + " if (application_id := item.parameters.get('application_id')) is not None:\n", + " application = env.game.agents[agent_name].action_manager.application_names[node_id][application_id]\n", + " if (application_name := item.parameters.get('application_name')) is not None:\n", + " application = application_name\n", + "\n", + " table.add_row([item.timestep, item.action, node, application, target_ip, item.response.status])\n", + "\n", + " print(table)\n", + " print(\"(Any DONOTHING actions are omitted)\")\n", + "\n", + "def finish_episode_and_print_reward():\n", + " while env.game.step_counter < 128:\n", + " env.step(0)\n", + " print(f\"Total reward this episode: {env.agent.reward_function.total_reward:2f}\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run_green_and_red_pol(110)\n", + "print_agent_actions_except_do_nothing(\"attacker\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_data_prv_srv_db: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_prv_srv_db.file_system.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "finish_episode_and_print_reward()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TAP001 Prevention" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The blue agent should be able to prevent the ransomware attack by blocking the red agent's access to the database. Let's run the environment until the observation space shows symptoms of the attack starting.\n", + "\n", + "Because we are in episode index 1, the red agent will use `ST-PROJ-A-PRV-PC-1` to start the attack. On step 25, the red agent installs `RansomwareScript`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "obs, reward, term, trunc, info = env.step(0)\n", + "for i in range(25): # we know that the ransomware install happens at step 25\n", + " old = obs\n", + " obs, reward, term, trunc, info = env.step(0)\n", + " new = obs\n", + "\n", + "diff = DeepDiff(old,new)\n", + "print(f\"Step {env.game.step_counter}\") # it's step 26 now because the step counter is incremented after the step\n", + "for d,v in diff.get('values_changed', {}).items():\n", + " print(f\"{d}: {v['old_value']} -> {v['new_value']}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that on HOST0, application index 1 has gone from `operating_status` 0 to 3, meaning there wasn't an application before, but now there is an application in the `INSTALLING` state. The blue agent should be able to detect this and block the red agent's access to the database. Action 43 will block `ST-PROJ-A-PRV-PC-1` from sending POSTGRES traffic to the DB server.\n", + "\n", + "If this were a different episode, it could have been `ST-PROJ-B-PRV-PC-2` or `ST-PROJ-C-PRV-PC-3` that are affected, and a different defensive action would be required." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(43)\n", + "env.step(45)\n", + "env.step(47)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr.acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "finish_episode_and_print_reward()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_cr.acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now TAP001 is unable to locate the database!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print_agent_actions_except_do_nothing(\"attacker\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TAP003 attack\n", + "\n", + "Let's skip until episode 5 and demonstrate the TAP003 attack. We will let the environment run and print out the red agent's actions.\n", + "\n", + "By default, TAP003 will add the following rules:\n", + "\n", + "|Target Router | Impact |\n", + "|----------------------|--------|\n", + "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", + "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "while env.episode_counter < 5:\n", + " env.reset()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "run_green_and_red_pol(128)\n", + "print_agent_actions_except_do_nothing(\"attacker\")\n", + "obs, reward, term, trunc, info = env.step(0); # one more step so we can capture the value of `obs`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The agent selected to add ACL rules that will prevent green pattern of life by blocking a variety of different traffic. This has a negative impact on reward. Let's view the ACL list on the affected router." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that at indices 1-5, there are ACL rules that block all traffic. The blue agent can see this rule in the `ROUTERS` part of the observation space.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs['NODES']['ROUTER0']['ACL'][1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs['NODES']['ROUTER1']['ACL'][1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obs['NODES']['ROUTER2']['ACL'][1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preventing TAP003 attack\n", + "\n", + "The blue agent can prevent the red agent from adding ACL rules. TAP003 relies on connecting to the router via SSH, and sending remote ACL_ADDRULE requests. The blue agent can prevent this by pre-emptively changing the admin password on the affected routers or by blocking SSH traffic between the red agent's starting node and the target routers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "obs, reward, term, trunc, info = env.step(0)\n", + "old = obs\n", + "for i in range(128): \n", + " obs, reward, term, trunc, info = env.step(0)\n", + " new = obs\n", + "\n", + "diff = DeepDiff(old,new)\n", + "print(f\"Step {env.game.step_counter}\") # it's the next step now because the step counter is incremented after the step\n", + "for d,v in diff.get('values_changed', {}).items():\n", + " print(f\"{d}: {v['old_value']} -> {v['new_value']}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By printing the reward of each individual agent, we will see what green agents are affected the most. Of course, these green rewards count towards the blue reward so ultimately the blue agent should learn to remove the ACL rule." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "finish_episode_and_print_reward()\n", + "\n", + "for ag in env.game.agents.values():\n", + " print(ag.config.ref, ag.reward_function.total_reward)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The most effective option that the blue agent has against TAP003 is to prevent the red agent from ever adding the ACLs in the first place through blocking the SSH connection." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "env.step(51) # SSH Blocking ACL on ST-INRA-PRV-RT-R1\n", + "finish_episode_and_print_reward()\n", + "\n", + "for ag in env.game.agents.values():\n", + " print(ag.config.ref, ag.reward_function.total_reward)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, another option the blue agent can take is to change the passwords of the different target routers that TAP003 will attack through the `NODE_ACCOUNTS_CHANGE_PASSWORD` action." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "env.step(50) # NODE_ACCOUNTS_CHANGE_PASSWORD | st-intra-prv-rt-cr\n", + "env.step(52) # NODE_ACCOUNTS_CHANGE_PASSWORD | st-intra-prv-rt-dr-1\n", + "env.step(54) # NODE_ACCOUNTS_CHANGE_PASSWORD | rem-pub-rt-dr\n", + "finish_episode_and_print_reward()\n", + "\n", + "for ag in env.game.agents.values():\n", + " print(ag.config.ref, ag.reward_function.total_reward)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lastly, the blue agent can remedy the impacts of TAP003 through removing the malicious ACLs that TAP003 adds." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.reset()\n", + "\n", + "# Allow TAP003 to add it's malicious rules\n", + "for _ in range(45):\n", + " env.step(0)\n", + "\n", + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(44) # ROUTER_ACL_REMOVERULE | st-intra-prv-rt-cr\n", + "env.step(53) # ROUTER_ACL_REMOVERULE | st-intra-prv-rt-dr-1\n", + "env.step(55) # ROUTER_ACL_REMOVERULE | rem-pub-rt-dr" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "finish_episode_and_print_reward()\n", + "\n", + "for ag in env.game.agents.values():\n", + " print(ag.config.ref, ag.reward_function.total_reward)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/UC7-network_connectivity.ipynb b/src/primaite/notebooks/UC7-network_connectivity.ipynb new file mode 100644 index 00000000..356e23aa --- /dev/null +++ b/src/primaite/notebooks/UC7-network_connectivity.ipynb @@ -0,0 +1,1141 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# UC7 Demonstration\n", + "\n", + "© Crown-owned copyright 2025, Defence Science and Technology Laboratory UK\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Network Description\n", + "\n", + "

\n", + " \n", + " \"Image\"\n", + " \n", + " \n", + "

\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!primaite setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from primaite.session.environment import PrimaiteGymEnv\n", + "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", + "from primaite.simulator.network.hardware.nodes.host.server import Server\n", + "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.simulator.network.hardware.nodes.network.switch import Switch\n", + "from primaite.simulator.network.container import Network\n", + "from primaite.simulator.network.hardware.nodes.network.firewall import Firewall\n", + "from primaite.game.game import PrimaiteGame\n", + "from primaite.simulator.sim_container import Simulation\n", + "import yaml\n", + "from pprint import pprint\n", + "from primaite.config.load import load, _EXAMPLE_CFG" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "use_case_7_config = load(_EXAMPLE_CFG/\"uc7_config.yaml\")\n", + "env = PrimaiteGymEnv(env_config=use_case_7_config)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "uc7_network = env.game.simulation.network\n", + "uc7_network.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Home Office Subnet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "home_pub_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-PC-1\")\n", + "home_pub_pc_2: Computer = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-PC-2\")\n", + "home_pub_pc_srv: Server = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-SRV\")\n", + "home_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname(\"HOME-PUB-RT-DR\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME PC 1 --> HOME PC 2\n", + "home_pub_pc_1.ping(home_pub_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME PC 2 --> HOME SERVER\n", + "home_pub_pc_2.ping(home_pub_pc_srv.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME SERVER --> HOME ROUTER\n", + "home_pub_pc_srv.ping(home_pub_rt_dr.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Internet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "isp_pub_rt_br: Router = env.game.simulation.network.get_node_by_hostname(\"ISP-PUB-RT-BR\")\n", + "isp_pub_srv_dns: Server = env.game.simulation.network.get_node_by_hostname(\"ISP-PUB-SRV-DNS\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "home_pub_pc_1.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME ROUTER --> INTERNET ROUTER\n", + "home_pub_rt_dr.ping(isp_pub_rt_br.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "home_pub_rt_dr.route_table.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME ROUTER --> INTERNET ISP\n", + "home_pub_rt_dr.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# INTERNET ROUTER --> INTERNET DNS\n", + "isp_pub_rt_br.ping(target_ip_address=isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# HOME ROUTER --> INTERNET DNS\n", + "home_pub_rt_dr.ping(target_ip_address=isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# PC 1 --> INTERNET DNS\n", + "\n", + "home_pub_pc_1.ping(target_ip_address=isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "isp_pub_rt_br.show_nic()\n", + "isp_pub_rt_br.ping(\"192.168.1.2\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Remote Site Subnet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "network: Network = env.game.simulation.network\n", + "\n", + "\n", + "rem_pub_fw: Firewall = network.get_node_by_hostname(hostname=\"REM-PUB-FW\")\n", + "rem_pub_rt_dr: Router = network.get_node_by_hostname(hostname=\"REM-PUB-RT-DR\")\n", + "rem_pub_sw_as: Switch = network.get_node_by_hostname(hostname=\"REM-PUB-SW-AS\")\n", + "rem_pub_pc_1: Computer = network.get_node_by_hostname(hostname=\"REM-PUB-PC-1\")\n", + "rem_pub_pc_2: Computer = network.get_node_by_hostname(hostname=\"REM-PUB-PC-2\")\n", + "rem_pub_srv: Computer = network.get_node_by_hostname(hostname=\"REM-PUB-SRV\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote PC 1 --> Remote PC_2\n", + "\n", + "rem_pub_pc_1.ping(rem_pub_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote PC 2 --> Remote Server\n", + "\n", + "rem_pub_pc_2.ping(rem_pub_srv.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Server --> Remote Site Router\n", + "\n", + "rem_pub_srv.ping(rem_pub_rt_dr.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Site Router --> Remote Pub Firewall (Internal)\n", + "\n", + "rem_pub_rt_dr.ping(rem_pub_fw.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Site Router --> Remote Pub Firewall (External)\n", + "\n", + "rem_pub_rt_dr.ping(rem_pub_fw.network_interface[2].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Pub Firewall (external) --> Public Internet\n", + "\n", + "rem_pub_fw.ping(isp_pub_rt_br.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Site PC 1 --> Public DNS\n", + "\n", + "rem_pub_pc_1.ping(target_ip_address=isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Remote Site PC 1 --> Home Office PC 1\n", + "\n", + "rem_pub_pc_1.ping(target_ip_address=home_pub_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | SOME_TECH_DMZ" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_pub_fw: Firewall = network.get_node_by_hostname(hostname=\"ST-PUB-FW\")\n", + "st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname=\"ST-DMZ-PUB-SRV-WEB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Firewall --> Some Tech DMZ public web server\n", + "\n", + "st_pub_fw.ping(st_dmz_pub_srv_web.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Firewall --> Public DNS Server\n", + "\n", + "st_pub_fw.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech DMZ public web serv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Firewall --> Internet Router (Port 4)\n", + "\n", + "st_pub_fw.ping(isp_pub_rt_br.network_interface[4].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | SOME_TECH_INTRANET" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_dr_2: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-2\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Intranet Private Router CR --> Some Tech Public Firewall\n", + "\n", + "st_intra_prv_rt_cr.ping(st_pub_fw.network_interface[3].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Some Tech Intranet Router CR\n", + "\n", + "st_intra_prv_rt_dr_1.ping(st_intra_prv_rt_cr.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 2 --> Some Tech Intranet Router CR\n", + "\n", + "st_intra_prv_rt_dr_2.ping(st_intra_prv_rt_cr.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Some tech intranet router DR 2\n", + "\n", + "st_intra_prv_rt_dr_1.ping(st_intra_prv_rt_dr_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Some Tech Firewall (Internal Port)\n", + "\n", + "st_intra_prv_rt_dr_1.ping(st_pub_fw.network_interface[3].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Some Tech Firewall (DMZ Port)\n", + "\n", + "st_intra_prv_rt_dr_1.ping(st_pub_fw.network_interface[2].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Some Tech Firewall (External Port)\n", + "\n", + "st_intra_prv_rt_dr_1.ping(st_pub_fw.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Intranet Router DR 1 --> Some Tech DMZ web-server\n", + "\n", + "st_intra_prv_rt_dr_1.ping(target_ip_address=st_dmz_pub_srv_web.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Public Internet\n", + "\n", + "st_intra_prv_rt_dr_1.ping(isp_pub_rt_br.network_interface[3].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some tech intranet router DR 1 --> Public DNS \n", + "\n", + "st_intra_prv_rt_dr_1.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Intranet Router DR 1 --> Home Office PC 1\n", + "\n", + "st_intra_prv_rt_dr_1.ping(target_ip_address=home_pub_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Some Tech Intranet Router DR 1 --> Remote Site PC 1\n", + "\n", + "st_intra_prv_rt_dr_1.ping(target_ip_address=rem_pub_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Head Office" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_head_office_private_pc_1: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", + "st_head_office_private_pc_2: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-2\")\n", + "st_head_office_private_pc_3: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-3\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Home office PC 1 --> ST Home Office PC 2\n", + "\n", + "st_head_office_private_pc_1.ping(st_head_office_private_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Home office PC 3 --> ST Router DR 2 \n", + "\n", + "st_head_office_private_pc_1.ping(st_intra_prv_rt_dr_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Home office PC 1 --> Public DNS\n", + "\n", + "st_head_office_private_pc_1.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Human Resources" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_human_resources_private_pc_1: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-1\")\n", + "st_human_resources_private_pc_2: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-2\")\n", + "st_human_resources_private_pc_3: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-3\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Human Resources PC 1 --> ST Human Resources PC 2 \n", + "\n", + "st_human_resources_private_pc_1.ping(st_human_resources_private_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Human Resources PC 2 --> # ST Human Resources PC 3\n", + "\n", + "st_human_resources_private_pc_2.ping(st_human_resources_private_pc_3.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Human Resources PC 1 --> ST Intranet Router DR 2 \n", + "\n", + "st_human_resources_private_pc_1.ping(st_intra_prv_rt_dr_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Human Resources PC 1 --> Public DNS \n", + "\n", + "st_human_resources_private_pc_1.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Data (Database / Database Backup)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_data_private_server_database: Server = network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_storage: Server = network.get_node_by_hostname(\"ST-DATA-PRV-SRV-STORAGE\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Data Private Database --> ST Data Private Storage\n", + "\n", + "st_data_private_server_database.ping(st_data_private_server_storage.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Data Private Storage --> Public DNS\n", + "\n", + "st_data_private_server_storage.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Project A " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-2\")\n", + "st_project_a_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-3\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project A PC 1 --> ST Private Project A PC 2\n", + "\n", + "st_project_a_private_pc_1.ping(st_project_a_private_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project A PC 2 --> ST Private Project A PC 3\n", + "\n", + "st_project_a_private_pc_3.ping(st_project_a_private_pc_3.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project A PC 3 --> Public DNS\n", + "\n", + "st_project_a_private_pc_3.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project A PC 1 --> ST-INTRA-PRV-RT-CR\n", + "\n", + "st_project_a_private_pc_1.ping(st_intra_prv_rt_cr.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project A PC 1 --> ST-INTRA-PRV-RT-DR-2\n", + "\n", + "st_project_a_private_pc_1.ping(\"192.168.170.2\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Project B" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_b_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-1\")\n", + "st_project_b_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-2\")\n", + "st_project_b_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-3\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project B PC 1 --> ST Private Project B PC 2\n", + "\n", + "st_project_b_private_pc_1.ping(st_project_b_private_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project B PC 2 --> ST Private Project B PC 3\n", + "\n", + "st_project_b_private_pc_2.ping(st_project_b_private_pc_3.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project B PC 3 --> Public DNS\n", + "\n", + "st_project_b_private_pc_3.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Some Tech Project C" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_c_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-1\")\n", + "st_project_c_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-2\")\n", + "st_project_c_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-3\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project C PC 1 --> ST Private Project C PC 2\n", + "\n", + "st_project_c_private_pc_1.ping(st_project_c_private_pc_2.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project C PC 2 --> ST Private Project C PC 3\n", + "\n", + "st_project_c_private_pc_2.ping(st_project_c_private_pc_3.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# ST Private Project c PC 3 --> Public DNS\n", + "\n", + "st_project_c_private_pc_3.ping(isp_pub_srv_dns.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_c_private_pc_1.ping(st_project_b_private_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_b_private_pc_1.ping(st_project_a_private_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1.ping(st_head_office_private_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1.ping(st_human_resources_private_pc_1.network_interface[1].ip_address)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## UC7 Network | Applications & Services" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# DNS Server\n", + "\n", + "isp_pub_srv_dns.software_manager.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Web Server & Web Browser\n", + "\n", + "st_project_a_web_browser = st_project_a_private_pc_1.software_manager.software[\"web-browser\"]\n", + "st_project_a_web_browser.get_webpage()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_web_server = st_dmz_pub_srv_web.software_manager.software[\"web-server\"]\n", + "st_web_server.sys_log.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_database_client = st_project_a_private_pc_1.software_manager.software[\"database-client\"]\n", + "st_database_client.connect()\n", + "\n", + "st_database = st_data_private_server_database.software_manager.software[\"database-service\"]\n", + "st_database.sys_log.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_ftp_server = st_data_private_server_storage.software_manager.software[\"ftp-server\"]\n", + "\n", + "st_ftp_server.sys_log.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from primaite.simulator.system.services.dns.dns_client import DNSClient\n", + "home_pub_rt_dr.acl.show()\n", + "\n", + "home_pub_pc_1: Computer = network.get_node_by_hostname(\"HOME-PUB-PC-1\")\n", + "dns_client: DNSClient = home_pub_pc_1.software_manager.software[\"dns-client\"]\n", + "\n", + "dns_client.check_domain_exists(target_domain=\"some_tech.com\")\n", + "dns_client.dns_cache.get(\"some_tech.com\", None) is not None\n", + "len(dns_client.dns_cache) == 1\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# from primaite.simulator.system.applications.application import ApplicationOperatingState\n", + "# from primaite.simulator.system.applications.database_client import database-client\n", + "# from primaite.simulator.system.services.service import ServiceOperatingState\n", + "\n", + "# home_pub_pc_1_dns_client: dns-client = home_pub_pc_1.software_manager.software[\"dns-client\"]\n", + "# home_pub_pc_1_database_client: database-client = home_pub_pc_1.software_manager.software[\"database-client\"]\n", + "\n", + "\n", + "# home_pub_pc_1_dns_client.operating_state = ServiceOperatingState.PAUSED\n", + "# home_pub_pc_1_database_client.operating_state = ApplicationOperatingState.CLOSED" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for _ in range(80):\n", + " env.step(0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def print_agent_actions_except_do_nothing(agent_name):\n", + " print(f\"\\n{agent_name} actions this episode:\")\n", + " for item in env.game.agents[agent_name].history:\n", + " if item.action != \"DONOTHING\":\n", + " node, application = 'unknown', 'unknown'\n", + " if (node_id := item.parameters.get('node_id')) is not None:\n", + " node = env.game.agents[agent_name].action_manager.node_names[node_id]\n", + " if (application_id := item.parameters.get('application_id')) is not None:\n", + " application = env.game.agents[agent_name].action_manager.application_names[node_id][application_id]\n", + " print(f\"Step: {item.timestep}, action: {item.action}, {node}, {application}, response: {item.response.status}\")\n", + "\n", + "print_agent_actions_except_do_nothing(\"HOME_WORKER-1-DB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "green_agent = env.game.agents.get(\"HOME_WORKER-1-DB\")\n", + "green_agent.reward_function.total_reward" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print_agent_actions_except_do_nothing(\"HOME_WORKER-1-WEB\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "green_agent = env.game.agents.get(\"HOME_WORKER-1-WEB\")\n", + "green_agent.reward_function.total_reward" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "red_agent = env.game.agents.get(\"attacker\")\n", + "red_agent.logger.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_project_a_private_pc_1.file_system.show()\n", + "\n", + "# # st_project_a_private_pc_1.file_system.folders[\"exfiltration\"].show()\n", + "\n", + "# st_project_a_private_pc_1.software_manager.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "st_intra_prv_rt_cr.acl.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/primaite/notebooks/_package_data/uc7/blue_agent_action_and_obs.png b/src/primaite/notebooks/_package_data/uc7/blue_agent_action_and_obs.png new file mode 100644 index 0000000000000000000000000000000000000000..85d5537db0cbdd546c4f5b0bda8f0180073c027e GIT binary patch literal 1434611 zcmeFa&2r;N7A`hk*x|VLjquJ94sR=>XF&#jNRV9Wuexfcx=JIdySir6L5Y;aZc417 zSk+bi2KQy|-cR72pTZlzg--(KOC*w+1V{p4f~2~mTLd8jM1JR-@BHR}yL|uSfBi52 z$A9_T-~RSr-@ZA&`rF_Bmy^H!?SK6KKmSj3#)fBt`e z```Yr|8;Tk>*DF#{bV}++pF*_`R!HUJ7(ep|{WSY)GMx@z1+Tkpk3Q;$kCW%o z?9Uha_5BU~$M@)PcuK#~8&N0u^;^{WI~_Us{CPV5IKKVoWFh`O?6t#)4*&4aH#a}M zdlj6~@6*X2WBT8ZhqC@Ic|aOP29RTa6S2puj%9Hm&r(eqvXWJY&Km? zKI3a92k&Oj&x9_%N^)#Cp9@gL-+|UlT;zT>qfVk4r5GV5ozdQ~Jqsq0^rAZzn9_M^Eqt8=TPJJ6E zJ$*YHPsP*5bNu-B`^V|KKcXN1@voQv41YfT=gs?HT6}SWUP&J)pW9rDW9b+E^y#nv ze3(YT951-7hav@QNJv{W4Y$DFVCY`rw9e`=i_8CzWzKU z=?KsNB!tqj$Hmi>UitJZsjBJOY&x6M>*v`sopky_`st4`4!#P)QFI%1Nf+@uzyJvr zsTZ-%pNBaQ0(U*0FUBkv@uAi0o38SYV^TDWIZ365KkxFYvQR}`M&q9;LIbbECp{|g z>~}iJT@P6-9^{9M?@|OMbPgkL^%oEpKm(|GS-oy@OPOVjrX&ETk91SfgZPd9A0N4$ z>qqE*)YHV*C<70)^cRu%M=reriou!qhu#?tUmjz$2{?%tm&3(kJQwF^*?UE ze;B;+Z!W!Wtso5ZWy`V*M&ppKt8P6@TnJE8UWdHr9zbk%^4!gjsmBB$1OKB9jmg|< zU7Ler9d;YYIm4?3Q>fw#BAk(Hu)Ce$%kn&!HX87CKO?VP{bg^dW4R^V$jj#;1uG2KEc!v0SHH9_&sxOy6JexpmV73@**3gmIKN|m znM_93n<4f(9*BS9?=3E(x+#`5hVCu_^9sf(K9bl3731Ardl33w*y)fb-R(#0BRPcl zE{7=$h#yV98bLvetU(*gUKmGF4j^yo6Jvkq`om8bbQ3ohXK(0#LVhmJZs<1w{~x48 zQSeIQPX4KKEQ>{XYWxK)2qhm@2zL%8UUFxaX;<|iWN*0zLba|U4ti~Nb9RDDqoofZ zDh6C8IgJ$~0+q??`vZ!1M*Vis5dl>Se^P8qqC}ph9LuV0O}R02lmJXN+QOc( zAu6*3Ckl%$CKRMQVYm5dG8zd!Zp39aCbUB&`e6V>0gLGoRb_^ZJ5^;ujqU`CXHoyx z=w{aW`9Ei!>*2qCeEZ`c?^=Ffiri?6?i|}^t*{)x@S!JMf9j_AMIx1~0hkI=$|W^O z;eGt09!g}KtiBZKmExNfqZ|XE3Neup@2=m!9g=(+C4N~XbMRIILtz+1%Q%3bxef!n z%eM&(NNlTzL3q+Tr&x!3Fn}gglyFmEVCSiuz(Dm>D$@q;!JvWb&S^$F4_wO%sKl4+68x@v%Mkc>%5jwXl~Qliq7v3R4mZd#Swfw-gaWq? zfTaq(Jm`+l2cniz2zf^8kIbe(O0zDs^^mA!?FNroL7P#xLEr5JY{s;M-!Vlp6R;J| z-Pn?el#O}&{^shWC6a-NvZPe}>ZWymRe6TckRZIfA9wEWDHyXHeya;XGB;>PkZ&qu zbP+-JsB8@gI=fm17LHVub9NI^Q9uRv$`5nBJ;0aU<*ET+q@iShI8|K-i7?*_*m-Xf zsEiuD$NryEFFhVn_XC&H&*qEA*~9F4IK4=Zo~CIaQ5u_`^KLf#Oa;v1;P2zb;yah7 z48JU9bVy11j-N*-qA`O`=8P{Lc}=DGbU-MTHO?8`i^@29`B7v(eJR3iKmd97weA=2>EY$;&DX3-uToa z_egO;hx=28kSmvKg3+ijb> zQjV6CO!+x1nr+ZQEWREi+hUn$vQ_Qb>oO{Xdl3hV;O@4AwQIN&#q1A|=>*NI)y2}g zYaREnj4_u$%t#SL*`V$Vhbz}=hWU+KVcz`w)5&|f@YTijho7&`F0SEFrD03aAM@sF zz1|q{T@=#dYAZusjC2rkc9tb1M4^L{`;(OMv% zD6>1t)2G=*Ha^e(>{{(6QVvP#R;D>pYboR?$69Lkv7B}jiM|qq4`sm&3k3&Qa+P-B zm`gCQSD|bI0}|q5*{*G1P)@g51u$rC(;=pMW;AlLlAFMwZ~%6{V9-GEx7TEEvhMV0 z)r-HgRse~@#=#&YwXM;wW+(B?ERjPDY7WnQ;-RGQ%=11nYCjE;Zc#O+1X}Sa>MXA$ zsb`zhl@iFZ<5?49WY`bvVNF746>_0sTnd3vz1Lo9xodz^CNK&* zydpq2qpTi;x8MP4S8oW$jSGm>YQ}ZY*u*+BqrjqS(0KYFIazb1FgRoW#KABu*D+>R zVNFY(H_tQ8pDYD=k}HWA>{dGMIL|X_Qdli$CB&`r0FHbF6w~grx;|p98H5+pGwVIh zW6+rBg87l5k|nbS87;G~L1T%&5`?euLE|oyrjlSlpH|E*+kLdK0vI$mXxycwk5IrR z!Jt7w<1%5Om|}Pbj^~WJo*94hAR?Oe2K#bbiprS-%oX_Gs{O zcuJcq&A)#VFY)4BJlFJg*(E#H?B-6MTo$%=z!93%s7;EOgh5Nt2Ekx^RCY^eB?@3|botq*(@ z!R_|2B^BV2JerEJ$krOwj(lzODmMh0W=q9smkf&+^e)xLfur$Ty&ArF{Fdvrux`5# zZwW#z9(raKGLe;ZIc&!9faABS&a9$Xzm%e12%2uBH|Qf*yai)|!o~P4YMxhY_G{5I ztM!)tILqfedsFml+$lAqW%f3H3-sw|*+BT13!s2hk;SG2a1OTUw_8388XUj17pH7e z{Mn@VZHX{wp!gqb(QgIf-`w~u)6vwgIL2?&t?-J+Z`pA>fcR~0+9!pQ%|$IRVp54a z;8S)|EL^yw&7m-`&BH9;C88lqA@;n{f?+j9;*xj?Upr)MBB0aE7_ps}S5z#lV!RQd z=K2607YoA*Fv|Gq6$2dN#O%BwkTy>Z>e{KM%bRY~fZBA^?X&d;3&~QZS~lG_wjF?z zE|pMk9_(oO*}C}-=Kd(|PX}94sr4%;699~B4YeDePJmsqwu!Z`zvDLbA5o%gPj}ol zKIjTysAqgSsKi%b=sUOBw(;o%k)2P|PV8IJ;H5fx8(ig_b{Zon&?%%b(#%PTf&_G{4hY_j5#?6Nn2@?FzWjzDIGXmIAi` z5LDrY*oRAKv%4Hev^jyc04H&(gJ`YlT4?MkX8>T@@h8UOK1_!%VmmL<(2)+(74N(}4oC3@bmA>_Y9Mb&_Y&{2 zi}B8{f-t)4k8j0ZsmVJZU08g%A2+YPtn5=XP2{t|P}g1#>vm`DX;Z~SODarRB+9N= zZbeAT_*v|*cQ<=}9^Wlyb6TLgFY~YC5wCg{4;$=NXc_oD8s87UOld1Y#siR&9xuKN zov598J$#x>#WKDbPrr^Ale?k7CB4C$DEb1l;`Q={@^({ zYL?v|^fp8?`Odugo=}1mZ7a059s_$(6jt(z#Hri)HMD^1-V!tVZJ^7P(pTd6v%>*qvp|jdYc| z2o2d#VPKEsCI-^m*WM}#zhiGz%OBWNNSnZ*FwaWWuTZEt>Q{}Bk-jZwLxl=p(A?gt zfxVV@6Bv*+E=ITa3kHfA0KZas6OQeKH(5-vy^vv(b#KsYtO~>*{(#Fcun;Jd6)48Y zobzOSpZ1t+uqR{J#AWO(nYu)(j&@)MMGi1a;A)Ck8r@nKJtb2=LNU2q^LZXUB}yI{ zZ6rlTlDtyJT}|lCCN@%SVoLtr5{lf08xbx zQRK8#ZJ=7=%CtdA4s(exP;4>0BDX!Iz~c;IN#ak>vU(5MSu4<3Pbol_Y^^$>)RK$( zl?}>(HZG!hUU!V}DtAsTn6c1Hc3yHTW&)qjtg&K7D4M()mhwwDB!^Oygo)_uB^)Xx zknbhdMuS`Jdtn)uTMENc9;TKn0dqadQiT zHcH6-#ONUYB&cHYR~7UVua>)9nkXSsV|t_r>O~5L1dqmhaWkz4;D<=*v5xNby7X}4 zZeOU%jk|E|SEa7COfaL@>*!Zao^=Cze^<;~lpOi|r+?Fe&^UF!KYO9%AL zl0Gg!4o0k^+t+)3>!lT3am(V;Fj`?G))9g_rR0-Di@M7RCBH_vdTmmt>=D$%dRzJ& zWXCg{MvW3+D^|^ma)!aAq$Oq}AT$;RvtH1u0LNez)Etf>h=9odvC@>2^eSW+VVEWK zl!?+}AR7}5&>H)sl;V^OpJgCs+CxjfKz=n$@~QZ2IzPG9BDb~c$tl?F&fwxo_Vo6- z=okr5C>n~+aL`nWBY_zxym}~9KhkCmvc0a!L}i0Q9Fl@6aNJ%Q2^5?e17^9=AVnQg zi{g##cbq4cX0Pn=3H9`>t)qojmMsh8a(Kc)^Hj8{ueCZC@Fv(!LMt>xHq2ZOLy|JW zA;>@~6MzZa~or`ngNwXxj zE16!l&NgSF%j$tzcjHlKbZeAb^8*2J4^wP=Xv|vBe}+#vt!X8$ zJ14RbH()hk81Q8>{y4T1<8KxT=(~(EPu6u4P&BAtv3yWynIh!)70UqtsEiQD90Enp z&ImUF1wHA*)fDWJG+t5kP|Q`1^&kd)xR}6Jj*SNe`$0-MY zYG<_39J5VQlXAxMK9S}OuwK$0t8P?iEp_P)|h|mp?NpI+8xz>soV*#aX6gJq`njv%?_#+Z|3L2vSWZ-VLBJu3o$OQKK$di)0UNsB{odd zU6mV5v(<*+Mz$^_ItgS<`Z^9ToRT?3EyST5*peh*)sPK>+7=*>_?? zvsQ%{Ewxm?O7M?rgTsyV@Wr}HGiK-Tkw3Zcr>hV z0fZ)r-#izJC3&@a+E^0#RtLqdgg|Z`U_{hgI9j=BTS#J!X`u9gk=jbf^HajX4 z8$Nv|pgiBci2o@pS*D6)nOMi|GBL4aG;B`Rf-D8W*sS)E($+&%<%csVEgNEv1H_9fR4Xn)KSVLsZI8?yLP8f#tja2mzl9a3B2pLP|EMe4@`m@FOo9KjpTs%z)Kf?P-92U*X zxt~m@+My*+M=0;f-EexsF3{6tG@6d-6HP6)*?^sp?CZ&2bn-bBV^c1KUcVkbO{QWM z-;AeU$KsRu4cy0Qd_Vlc9lzpRspMy^F7D0gukUHoQ-~z^ZCDqD6ZZp*`&9iZR9OL> zwFdFcP(uRU0JXx7Rb?n3_`QLt>vTIYAJSbAcAN2 z!`WZHn@wkwi6G}Nb*#ht_(wgI&@3m@ZWavzl~aPoW#17bh%GcagcUtuif!YVOX?U7 z|8lHy6I3`^j8hvb;HEVm6&=(FmV*k)3QGSgK^0sz&G4tZOr$b$c$pe%pgPEP=Py}M zQ6f8IT><6LAXFGr_I(D05)`VnDUlGdP9BU$Z=^fod?M2pXUMF(keIpe^E!A`OOemV!+^Nv)+^TT@wLMQR_R zuu?vk_-%=f5UVsAq0mQ(NX5Z=aHS^Zz7X>@fY}=SD4wDM+DRNTflsSg6#wX@X(YCu z4v3S~R`KJ7wl|h|@ltju>_xb@lILt6GEWKjMWLL)<5w-<%;^eS2N7)v)P&Z(VDpS{`Z16!Vo_7*^I@ z0%-GHs~~{=eqXB*uC;ih6|i1{&0`bTWV-WY4U1I$6nV569buK9S&*OXmsoy{x)Ni}s<{7##l zM^#q}FIap@cm}oB&RQ1Y0Fv&OZw}g2fcDtcuIBURDsr`<~#ijk_O@^FEv!;J(&xwTrVtv( zTJCqegrciTZyyQ?)~FA-mD?Yyo14rZZhr{GUUFyj`RXsp9w)dC>7=+|LDmYSI!cCp z6V9%oz4kgAGb$mA^%UCpNJm#3t!2jw`!&H`YGmDw-M^9mleJ%>P=#CpX(r_vGV?&S zDMY0;M|mgJCOgNYNG1e6v(t(J$^ISMHW~s*^AZ_1wAB!mqzl&Hh}wKbn9drMlr2;W zjpDJVt?+T%pQwQw)VyNhYYp639x8tmgGnthx(a2KcIY=@l9c(0N#K{@*sqD7okn2I zPa`sQ!y47VQq7h518bD>aKNr9i*>M}Sno762|*n( z8)O;xFR9@jY*M2FTr@eULBnxlR%0N~n<$6|B{j+ff$EHR6_;QYY)0`8#~J{GC_5cQhK|-r zZ24{vmE&|hcDXs2aNHAmN?C{rJ6OhQyA_+INPw-E)Ziu1w67~kw)*f$NsXu%a*7Ah ztwdJqNpZA%zBoeNjwjvBb`2$&27X^SIKI(D&^H$+6qfKlyng-m>_SQArSWqyE%eO? zIV|)z8dPl%)qdB?o|$#}U2Wu*scR%K?Q)4hbilR)X&h0aAfoOWq!tUquQe~YeA7u~ z6`X=%J=OQR7#OU0hDFkA4#wfTtOk{J$;9FLZN*?^oq?QzQL6`eu4pc>=sTcDXG|M} z{nlK&ou;ug1Vxad~rm49FJz2qwV&p6^Xa?qV3GOl;Fi-!jq!y z-AIJrgn`)!K7&2LCv8n>RChbdoyT*vOU<2cXWBbljHsG+W88|RQix(w+!(9M4I+4z z=+lO6 zJe9c#uDuV!hS8I$jjCs~dYOSGN4esXw(k1_iUef+EKhH$O`>GX+k{899`!SjKGS7s zcc$b%U?~z_zQJWxw6BG<$yoZq#_ zqbrm)t8i`MNZI%qoHr@qOxTJzQr*3Bq-vDa*pXs-Rk3vLl{jLfp}OfCP2l~tj)t8r zgN{rM)S#oWwoTF@N2z3`VaL8!!8*VkiFKK0vqFMhdwcwzTe6@)NHE+lOIB;|O2_MF zBL(%u1lh0!eCLSeb=%*W2QHL|lJakmPBS*U%D?Wi%KI-A|$E7*^x{HgsmQh z*o}HjAa@g6G6uGqtt@vE$aNvKRAjfkPD03sPc&2G^!fHh{12fja=enSkyQ|MxG7=b z8fBMy%RMb;j~$aMjy!P@PAk;1_DrlABE04Rie#f|4~u3iHl3%tDhO1AvhSg}lNEix zXYTOjjGEgMb7iEcc;NJ83~Pr5*p5SHH9xJ2f|u@YbuvS0^!( zw5Ha;uQV$82)(JG0ot<{oHJ+wh0;k8)0e1|g(Qc2r)MPm#J zn2R}zDH<~`k(x_?p5?dsu=|4iB03yZMT29ix`#sAiK4Nrf;~0D?$TP@-cdkW3SQPv z(N;DUJkh?8Gd$#eGM%2yrn7n6CJ>g=mYU*Ehsy?bp6PzXxKMC_C3hVL_Li$nV4&*X z%3x5+fPyMufF7p?!T_C;s%w{_9cyU=d#6E(+Q2;+G;rOKG%aV{>C+C_3Sd~9%P=rA zC?sDpUWX>CmN`;84&2B>7N%r{eLuY>+W`+8{gathNaSg2|7h9w%Z6>pcajt?eMb@J zl~LxD)NQ>p%eoWc0*T!c=$sVER;SEdi9B-t?|Ar^!vG34Z$tO;)QUs;un=w5t=zEswr~I z2xaPf|H}xmcY?uNWXhT14;ei1Mv*>M_H=iePQB!bat8W>* z>Qo@&TP(CBR=)OXMKf%n2x`cIi{`p;Ko3bc2r@lYXDh7U3Cp$+DX&I$!iIJ}Uy*32 zFqd-RMvKDEF)kq9XKGz>8DB$CYgrOb?WX#_dGkKh&I0qdM5WA;6Uafbe#m`c22QZ8 zzFHbmX6vn&y;kenc)oiLx2_m-6in!WuJYreWXyw3hbxFH)^w69@WXG2<}(kf3hjZH zZSilRvTCHZ8TPt97*jU`uZIL#Erhfo5H_2&E>liT30~I}JdpdbeiE*Jx>su&2Z#sG ziUmbf!1dq(ax+Jwpb!Q7h@Wj0WgSF;?_QG;SBL_f##)F%uMeYFuae~`t>*Rbh0|}3 z;%_S(77{^lma(m7kcj#qPBv(OQ5zLg;YRZYbQBp}ztQBYF^)^9`_GrzB55+s%*riX zZnW0cv2+tR7iVwif1(ZL;_QZgI|cO9q9d_yY}}_J-d=C}SSdyES4O9-2#G4DVlnu>!xHnMUMNyiG%ZwuP8Nlg)p6StV#lT+klC*#skJC@JbwLE$4Ufd~FJTCW=oeT+ATCxO3Q<0yXep);4PmtyHBiOBuDb-6peKN_r_pUe_}J&CB=K)fkwK~J&Q_oa zRR%^56&Taan&EcS@eVvl8nZG#=y%(Fj{GPB>7Ki7ZecYV3~ z9<|QA`OxCcQ21>n@{}@Hk+jO|fSKQ2PyQN<43}v2)%Iez8;?4pTcgitxm!Yj0Krnx z!eKa#eN$+}b)jIZ(4!ta<;Uax9adM(txxy+rfBU!c#sl~x=P(Z8XNCH_AwKq9M^%Q zx+xxH1u$r?2MNkmk|)t153)=cD1;TfR&7VcF=Y96-;U~Ird&zu-XIUM%yn ze&cxyKMg0(+58WMr6@(Z#h44vPNE18rMU{i zADr9`rzbpc;b}4&O$FplvX%;%5URwX+{H)+qyQQErd@|ZkDUt@``c?n6P4sTJ8Y8&OpWh`={ zpdN*jmDQGW{Rj=6P)`#N!59k@s>Gyh6z!%evR6TP5s816v>v@PI1~TSJEP&t<9Ni% zQM|YuE@+U9sJ5U&Drx};Pf>{htIis7_IY?WS%}r7$OYF!%xt zI#JLTLg}e!!+ASVgch`U9H3l|0;n)b@RyD&Qp~7&+7WI1G|LMx`C)(1)@IzB02lO0 z0dlpXGno6=qu04TIUhuS^&iK>^WSG59{=6iaHF8;u0OuLC*Uc(vS!*D_!ipvhG-}0 zw-2vhzdaMb{2&hG+3A&a76;BXLk#+o_MP>VqGAK6VHNIByE{>_X1EvdupQ0O;$dPD z42kjxeyzF)a%Fb13T8ux5yMAXMI1}c_bWoHR-?K+OV{Fr1f#75WGNyad3;U=Z9An^ z=BKlqqy}T+vaFPo!=7m&4!^U)*0e5vK5fzNwHrj+x6XmD*sIq3ETI2NK#BqdV_gU) zQtU+U7^}tu+)_sGXgt}X{?~h)C6`YNo4zL1Q!C zL6mEp*U|bJZ|=dMf#Sbey2~d1&B=IIA^rwe&^aq$bOb3*X0-x^C%|_t+#D8R zLchdudTi$Dx9O^{1M*&^$&lwL$5!?~x)BnZ&lW>&pfqPA*JG`lXW~OJYeeBeMpey( zbDUu&#;1coR)&}q^AXl6dnn&UkXsL95lo$xCdJ^M&)&7CgiH0=H=vER`|J{sCAbZW zI5x#+mtS8^iWQT`)$*-B&hiCP^Vyf9=04PH^~>rwOBfFerb6VaYiCtTi0!z zwNm<=W$?U=o{`4;>|I(Ou|gTsco06jR6@Ga*qkyo*JsCOSS7)rK|Xt#Fi=dfiId@& zLm|5jOH}v3XD@Tz*$OnlXE*aFQ>&6@x04)7csd>4j;E)?yFbK%=aE)smKc+bi)YK{ zYq|p^y;?<9jkMW82MS~RRMwm^)g>f7udjYtpUG|QKdtEdT@Bb0YkxY1~);NusX=;cLAA1T#?*ac)x514^ho7&MkZp_(#-g8d*+ zvaxR62sH9QJF%NaGq)l!T{tt9TQvsul-BZJe{7vx<1l5ZRwkj+@Yq_UN~DUkb`tW@ zdPDIc%beW&bPx$DL7tuFROWBbrTr;|4r)o@SD?-s}f`{voG^I zG3$pQXnyKkDxz*HVLY+JC)T*bRgo~Di0IH`IXjuphu`T}=(^9d$@Ahx2ww3|!Dl^v zyA*#-pT^{<3rz|Qj5reMk~Ka*JfriI8!d8E@##YB+cGBR*`6x<5rPzUV~K>TS0jtU#}j;aKc3Lm~n{=tbQ@mn4|2HLLe9 zB8yOw^*An3&?EaHOi0CSkz>*=1aJVsM#l4y!8W=o%2+pykSMN@YjE%UZP!9%8TV?M1 z>ZWymr69bf-1pu6xO0CW3zzuPMg5T_U0sAX2sc1x$z;;553bJ;GL4k;G3!`u6@p6( z#ainqb0c&H_P*||q4W0oGM=?VI5|B?ocKYf(D=coV8s-l79yy4iVdwK_k-@zO377G z3SK&<5zPTg+jb(>M(*uL2xl(SA9dzv!n)IPCPka8r)i6v#?XYny539{=Lg}M)g+*= zM~62zA}#cig7v^)C~%VyRE>!5pcO%R!!p`Rvm$_I3RY@oXq~^m#v2r0tAc^hGA)(g zt=rNtC=os?JVaDM$fgR9owhU>l~I7X2HWt{!c#-~ZSjwYwg!Ys8CE!`i6Ld;4M72n zE?c3lWcRg-M_|+);~3B`C|mnWh4JWnRG>!x5r`B;Mn^=B8B($5y}1GPQL+U`9R9VmG>Dm5mcsHo2L5 zjPBpNa-0zMkX5w|&A}FypR4b}x8_TR80(EoHa1s};YJyw&A~xZ@rE>K+>(~%bV@@G zX&Glqk5}tK-6)h#E2#81@CRBkFstE;Q=IVKI~)yW+_tDVSLl4e*72ODc>$}-?|Zj$ z0#1wFDADpZf4Kc25M2w@Yv-xI{5>Wk;82>l&_YX(-|qhilUsY<-~3!b5ULjpuiftn z9118_EC>xjx`n`+!c`h)bJU|6XnN0-DVIZ~9rve9tB{EH);SLNQ|?t%o{XVp6czs>hnUoT%SeLKqm|y!%3_V3I7F+}Z4DU+3Kc|s zJ<-l^tk^?BPL}A0U?7MT@Wmn2O^g(DRz?bv*w)22vD5l+O5Z%L<`*+(jFP1QStDwP ziCC{4_K**&38Bn>8Ujh9P8qOR9T{B7Ey@jUu|zsUWs7F;aD=WgY|&q?tq#2&ntmY1 z8}mh>sL3~8ZrJvTr?vlQN`_yTfY4v2whx^$&eN^e(I4W4DudP^W**8j=mz*hW z$pgbcKJqwxGR#dy84Bq)tjivq8-Y-o+SI#rFIGk!@_g{gGQd?Jf-jdV+x<~$=_{`ffz zv@zROLk)7>L8Q0O1)X&0NNZlM?mL$)|FNESI09yr0O*5yxQOo!v~d7jtx}HyZ(%YU zB4B$^E7P$jC?&Bdz(z1`*%{`%YqV1EtB(S44KDS773Kfh#T!CCjE;}*vB0gxK91SV z{QUuH$Zi@}6eU1=PoToJ)ojwMN`EFPfz-zi$0nqR)<6h|F!`EAt~EBn7lVRrn0sfe z@Wd2kGtVy?Lrb9Ra@3(tn8tJO1GZcMOFcksvaui7rh-mSZtc}<0IG`x0s%neASQh6x?5aMa5g>X0qyt&Xd&9`aLWTn7Ilr%}K zNKh%q4h}zI*i8Hw4WW;*ng;x+6}brn(z!DV0Mye;R3FX{NvcU-1p%rG*`~_bM~bqN zU3nR8g?jRxs4HV&0(D&mw2^Kx#8(Mt8_amP?RPsOH=O>h;iHA(QfE8_mKhIMx*t{4$kh_!v(*^?^Vjzf$X`JT{q)}I&fwZOv-Rw*XB0NoA z1vx23(Jb!m9dA@DJ$r$pH3On4fZRzBmuD?nS4oCe*6yand97Iwra^1tf%vERum=gq z5*m~8fPiN3orvRE)c-ZQnRR~t&spbs_^%(|{`kkcRsfE^fjpX##hI8I0zKKB4~m=A zH2@V*RU*EyOKZSxe`XC5!P&$qp_qb{I%nLC9Q2hSd|ZwW&ZOV~OYS-hNL>m`SP~3W zBUYN&ZoZ z>&{WK#`;ITM|xZ1U!qL3@>V0-nETi4KDwW<`|gTOb<5o#Tb&k-thN{pl^%^n zQ07xMU~?{rw+P9eqw?9J!<9j`pT3$q!|W#y+BrhfR=E%k`8R{M<05 zkc}FGHbf@#?7)?V!5wixT$#T%mA%v_QmpgF3eg=37d7-t=w8lg#MwU0=C z#ZYVr*vy6$o~KIUH2fshVBzU>csrh+%6+KLX4Bc6ES$9zcddrJ@;%)k>~cVvl|z8& zo06K0dQ7%5rQ1I9F|2H@eZ@wlAV;faw1T!!Ia`>f`DM`q^DrI0yf8sYH#ZgU(BPWU z>`#6xDZBnS87&^^h$zIqpG>FP+GlICUj-pI{Fw^0SHn;bfNWld(uxLM%=4Aj!Pvv$ z%kxwagu0VfD+tU_iLsi&KoSBgt!NO@{j|0C`eWxoS+DT}Ww=#;oE0c)=w%jDL+L;V zrd*X!AKh0wQPak!)@Q?EkWeliN?it|*u)!3-*ax;7gI>P~vsb7nG^*f^sJ$DM#)!yH`%fi-cbZ(#NiL zbL)CTJ8#+q1`R6gs{jTD>kOu>Y6BeGi8e6WX5V8Nq$aq)9)($_X`>n9=E6Q(%Il9N4r(h&WDE6 z$-^`K%^g|wF$Km?h4P%-4W}pk#?xdpnu@6vCWj#98Ny|l&lbbQWF|gNyxc(u4EeRL zA!HgL{^bneGsnz(_J*Fq@zNs-T|l9a?INHhQ8A+gC7OatY-?uFjqHu44hn)2;te%M zxHc*&e-tanKy_YC%5h~}!wu!QtPR)7G;R=oWMwG#6K53mu`7&%LLarY8QsX9#7>-H zV`vP?5;g6+rhV>M?DO@_Z|5gBC#}n?Us{>mQJPXJYK&8(xK{ky5Wc2(o-LbH6L|ap zf)6JrFtkX!mu@neRv)uKGfJ#jczdnqT|UG2eFVj@4l>iLiZS9>su=Hdey>rCeN%wj zxD4x;Z{#d|g}zt=*TJ6mE6goo#YTxyDyj*ihmwfx;eC-UJltK20mB zdrGBtl#;9f6dhjj=7YlCKDG%cR3Fb7P^?KOHZT#aD!|ejgbL%c2_icx3X_WU0|nIG zAfl+bfr17^QFj(7@MXC!e2fm7a#S8;3>C0W+lk4t;Ltu6jUq_O+)zZTijSG_gnB9x z*g}jy@K(c9^L-9HVC8qQn;GMOYQ$=fBTBJpQ|d@{J9aVdbjo0q645haErL9n4q z7_iP$S0VKH;7&Yy<0^1_^r}TLm8vPVacNXpB9@F=^8J^mTPj}+ynl{~l*mF#`5DTw1~|PA zVzAq92Yo-FVW2ekiT;ZT1n%essJM(`$RsZFE7U>@Ca*89etCO#ajn3p`V@t@0!9{4 zYx(Q=hZL5vw08%PL6S3ScQQX&FMu%9?st2BC*c3`+p5xw!nUveuyIlik>6`~G9SZc zz#;tE1I`In3^8XtkZi->$>rs{w`V6eZ$G@R1%q;9hW)@`th`hVG8@`I44TMMMhC9d zI!yk%G^GiK6Kk6&n^c_!DWh6HPcO07EWOqzg#?u*ptVe>eT!mL)mkuUr#_f;KQYOBEI$MNm$eD>#ya8ipYz(dER-wU#s zVncLbm}E(`V{$F?O9rPH`nF+o>kfmdOUu~^86(Qa)Ct8cu>DE1I2>Ab>>x_HJj$VT z*VJlo-(MeXZ5)%Nuw?e%@a*Z^^5}F*l=ju1tXeaHa6gPI$9?P=TuYIWT0CGyrZpCu zK(i;BtAwDMO>+??BZ<8p&uQdAQ8XPqDT_MUXs;IRHJH%-&|c*R)+qjXz}m|a7XuCJ z4-O-;CYlu}9Ol_A;^wT3bXyY@n;@OnlfP)(%sHj=OvS!+`3gBKEgz$Mq4v;pZinbv zq>YTl0joWowB=)HKR6u9Kjj%q`S;mZvg=Z?0c-3^J>d7=Da+MO}U zT`v8g0uVA=!g8sB5`RFcjYxg~rq?b7O1y}?m3}AwFJHx-WLL;v%nsGH^c{V_Vt72j zXdBIu$<&1~8B!r-;fYI-Qq!=!fDS>5b9{D4ZLa-Z-&~RuHZlC>j_O-Y^zu=Mw3qgc=k<5aUOSH@yu`k+Wjn zOkzfL828h758p@HbYe{VNYIuNU!F(w)oeRTtkqY&1%+Vi$;>ufrm~%W2mAJ_@ku!u zdnW-&MpEke0X?8dbN6!f**Ku{XE20-retf8g0@uHgAw>5Bb z5Btsc&!T_*j5eYFGN)g%-Rc$%t=x@3dnpRK%x!-Xfm64-t{QCIwSux{1$%Nvn=1dP zV%UlJ8w*xU;-9!iR-}=YmV3RzUg!LY_^j5S$NYv#B?;7Ng2gjyL0%&vGvW~ z@9xJP+Hu!Zrc{#zXamLpbVVTg279>Esq;p8fFW8|#mTe|Md?8bwx{1xuZrmo8Ia3& zfWC?lesSJ8Cuy_&TJgeJ-`K3-u$KyzJ~-bXm$9`9wHj@8H-n7R$li>)we7K=4{?L5k{3H_g%!7uIn{w8M*kc8WYU*(kmP z5E}=I`kY+dEkWr9?dq^<14$Oli?Yy z(0n!{ldx0(5x+;Bmh<7~$De3c9BqNCoD;u0;%I304IB-;=i!s+IiRn5I{hL%^pl5p zdW1K-eW42v@8WH36csY=ZDj)$AAB`)4%`obbR8y7mrK5L{gU#mt&+i z7kDG~U&C&nYi34BnM*74Fvo>>5ySy*jiAdwCp>(ajK(j?9WjYs%x2TYavKjL)I(-0@~2fsWHM{(?zZZJNy{2=i-EjUQt#z{}#&c@RzEhV1g!`1Ka-`t0z zU!O*A?mFM+XCKEA;&8OahK1YY1LXsm3joEByQT~G`I#&6q49_oYw=? zH$D!2Y~qHKhZY~OK|o&^rOCSD{mxl(`&8}T&E^DXb4f-r!b~p|>IegX z3lt`{wxHQ1$q_9#LD<4;<>4i+Ll9Z%+Y14CH@p=#PL;yq;oSL{qJG2MSS5%=+-CvL z*a&n_UvQ29b$s8dYUzEVk^B+2;Dt# zH<6#5$2=^&h{Qi+7P8YhDNr&v6aUaVqv6YAT%sY^qIhvRTr9?OD&IIKgHC&Hho@AE zG7|In@WD(KXQE7GA(oN0R-#Gl)5(MQt2;WAMsnbqa4bXyrl@gB&Ra4~tBFcth%D9f zOB--|aNd--Oo(k9GwDb8)i4(iQfP{?!t$w>sZ~P*jim;}%mpluyZjoENUV{#Q~Xlbqc~w(c~)`?KCurDh^t7 zOI1^0TtztmmA>8eho3I!CT=c7rqdJhba8e=zlj2-TO`uFQtk9V|gP~82drWEp z#Po=&E1lbs{P$0-H~%>Q#sBv9{cqo&rk@|*UH;fY(?AA@+KMYq*OKpQbEX0>H&z>~ zhz&>?>jREW@FH}&?Sb;s@3R6@SA<&E27`3S?SL(nYRt58@IjXzg?Jh}(HzDF%jI)x zbw85lQB3Ny(r1!SMIorNAMX+6i8K@sQ@xQiUhk`AgJH=yma(H*Ee9s z(oDVrGqiJxYnZV!AT~B@VTJ^+ddv(4A?+>Z9%d-TdKj3=XDDldhD57+(7b-_rlRQw zSC}N4R}~HIK6n_4CVvp;T8f5bt9nIKWG|6jFdE;Z zJZCqhG#!pCGfAfXl)|VV^}}8-@FPF+!g0%I9=&(UsN|`cY9w%_f4mJ-F0$)jt+-kj zI0^GzV#hlq#OBl>Gkt@hI%ZtBVs^KQ?JnvTfk3bCx3RsmqN}>b+_p#iLh};u#B(=; z?wICtyqcnm)G&jtha8^@xQGp=s^lpD;hc&y1&Tx{D@}Iw5FVT zz4F1D;g3`C}iYcqf;iPe>0>Yw&c`qV{oDmc1YRkUMoMv)e8Oo=n7Cr*{6h(Ix-ctfqrwRL(z z&B#JQ+4>pJTf^J*mE;*H5%YW0)u^1XGScl%+b7gP4bcg&-5YeZv`PZ*iu=mou7-SZ zxB^XV^F(mAPV|TQ{gnd!h4VZIiGJ#%?0H%A3!)=*dp+=n!_0;s7jLvM9PuWVI{>JT#Z+`yigys!;R~OeGe!e=pxJD=;je&}u z#y3~%^)m|hA`ORZu>;IfTvHE~mfwNq+k|Ixn=lBo0un;qDOp5Wk)rZZB!+~whdhdA&&GPV(I9*r*FbT7?j>CxWekg58Xefkp zXwj-ot;910&J1~9kqy57*g7$273i7zQg8jlA&}) zO%X?pe5*V2FvKkN@~`+WSGBPnYR=m-JlgB0ctlWc|5?O_-Sz4f_aC`i@bhoR6KZBQR& zhM^Q^0lCxSgFNvUq*&tpPcq5VX!s;*DV}d%#QzlCvlQA2XjUi5xQu-@B$EostR<7$ zjkHWEM%vcn>a!ApRVFea_yj0V6XRYTJ2NMMRv{KD#H9=*4^mU^ZVZU75#JQciUMta zZR9KK0l3)JHpVm}Y5M?i5GQq4wr2PN`UI;6`vD!y^;B0Ov2}$FxouZc3_VLj0L1OH z<}-Byw$f<_HCC|xfJFzQdXPR25(%0aguj^XYI0HT&L^}<#;;UiNrM20q0-Fi`S(xa zC0?A1I~%AzRxtrv{=} zi&GPI`pm*BCV5Qi0=`<4{g&=Zza;}%6@E={IBLY6*yN%I#R_yJ4nW0F@*sg;4muDZHBv{=O2r^8%*x8Zo5wtcaQEy%%u>U6yA{931UmB@Dy`ZXC`SH%S`AE zI~z?&lKS0^E=2Vp-3`oLKe`*H9W`MUb5k+UG<)xEM5Gji9jn;g*eX5)byq?vh6rZU zycS4wEnbTsVz`z@-fCiwnK(6);~*eSOvPYKltI2KO2w!UZ-Qr3BfjHQOu(@z26#PH z#gHbxcB2suex5vvIL8*DDYB>(uP(!!GT)p1UQAPn!tHPq1Z)U zZVbF>Yp;VKw6~Gh4?-HGa0DTtO#j#1bcTV0tUPk}?=eOUVu3IcB8P{7|Z4uwAycEOH zl8S&`-+hX48aD_-Fn1LYlo{Ad-RA6(vgfMT;j)NYj#NnfnGV6C&HV^K__I6!6 zmFB|2wRVFcP9#b2N^dO9e2Ho()3`&$QLAZxy9BT8B4uOsD{0KIx3csTszww-cR!RB5M<>7*pzVdh78*)SXpD}* znu0Amgf@=Eu2ot6@;LlF7OOLRejeW~W@3TvzRbUlM|4nx7}J2G*hDDp27NaZyS1E) zgTId#i|@R7(D2J*Mu(Ijq-7l5Xna5XGF{NQ*>aNfc<~{Kf=0d`K24@#72k}fU&mr! z8Tx4P2HzO%`JTMSJihcoYp9%Ux z)h4gjx#r1yKKxF9hY$QL?%*YP^6P$<@&4O>zu)73SjX^}>FDYuS?LYFOh|Qwv?Yw3 z*u44y@Y(UsFnMPd+du~8+6Egai+_1^5$y>@lZgwAE}~)FZLx(sV_Q>rZVYfiUaWAk zZuR3%j>mj9;6#Uy3upn1Jp~1jOD>gr*6B47a}Sd4%SdX_kEg9-dI7WeNS!OtXt0|&JlDX z%QA1Wzs>a$>IW(41Fk4dtwlZCX6<&CSHV~aWG^=q;(P3j*BA>a5}hdDIY)FTV;B-G zp*!a)Pmu5Nlh1C_=7#eDQK*5967%#UCK&7;(9;t3wPII zAl@rj<2&xS$u%OCB1L^asX>t0T%e~WtYX3moUbN2&WN>T;Az0uH7mw6YjTmcb8Mek z$;(?LI;g1Io|{X6lX|qDcb)I^vybDbHL%lpX(Ktftrly`_guE098a#renvEaJb4yu z!)gj&!+>(`tI;~i9=;~HDIq^0+TBp|99%YvnS*D`XV3~Z+WovDV zZ`)c!H_tXxvKbtnbqS~8>rrHUFS0W**YPy)1YuX8;yT^4?y9ZNbWAsbIN|i+oWCJv@U->ZN2_jaXLg4^J)Fp^^Y26 zWx3?TZLa;PA0VrNBSU$%k5W9hv+h(vW;E%QGsvRlrl6FcL~&@kPl}CUa=B^DM7h|M z|EjKXQxuWrlTLJo)R|j zh~eT*W-7i%TuaccRfuH|vOr!+lrZxLI?1c+#H-gPh00DwJ@{2nTM8sfpwd7==|hXi`>?(8*6;8K=Sde=(#M^X8;aGGou*~j@qPJ z(=`1E1%)h;tWjz*QG7MNHiv#7md&(R_B3VTO83HDHfvBZf;~NKYwuZdZc8B@2yf5uQ$mx8v#Q@a_+>IL{+=m_N^+skQzz`M&w2R<6EYx?X;C z0P$G}53fmHXA6Q+E-jNic~&@iVB3{2?UO>TK(SPWgk5{K2?u zW*MC>)lQ_7;rk&c2vp4ywdG&Ozwjw4Sq#J+!=T^o$^Rzm(Iv&hPOd`Rg^vgct*RYh zgZyt^RpO?jkBV~M+q(tSbjKkX zO$)kFGe~0uYGc)u+mtf|AtTAfYYHRl37+KQP%n*)Bm1WCOajksMFR~o3dG|%g;t-T zcqh%eQb!UbMK0@9$is>xYCfn#Vd)x$jS63)AYjGG(pFP9S+fO-18JJJu9~xo9vNju zrg-^@M`702O_R$iL+p~?7*?t87fN-zWmPNgJn`)#Vqx7-AO$g$xzL{Kv@9Flfx?w) zbqoGO`dF&ztoC+TQzM?PM}x{wLJ%#AI`kyO!>E`Du^nK}&}cm^yd?3&%szo6<*OM> zQE6cC)AcMsmWQRhBzKnzU_5}x70zEDxCIUIF?Ft1(%)=!v#XLpw}86>C|5J!berN% zvDh9+uM*#kP;;6IXzG^Pf$X>VCgRIv)*%u0<2D%^>|B7YY?s3Fn+MxlumlXamXBP9 z0=N!hi7Mb6+?K@;I9Ox=Ttb}`4PfJR;b+Q2oRY2j&zG6lSb%=xmcQRFuRi?ax6@XR z9TVw&!*#as?``Qr+{o573YV07)TX#rQFvgQ;z}{C!EK+Ovq(?DPh2!CD9q4}*T)S_e^` zl%`+PIw_%_uAQruvTZq&=#2bCc?DPtdhDF2;A)5#LkEdM((A}~%h(|)k~moSNkk6Q zjw4HxQC`k_T@d7EuO+$3jWfz!^lFSV3XJ9Li&OsOSt=|`p0hzAQ7oZc7G?|fWn+88 zr_ThW=i3+YKM*u}Hgr1)kCeI1j^nva$m5c?QGO7Q;v7^ez0=`+`mUyp%x8i|R3Hwz zI|OK3{i-eeog7KqmwaZ80!DGf5Y91ZDErD42hEuTYpGOL+YN~_8f!j7Q{$wFb}9Tt z2{IPeqJdYGIc^a3;kEDZa;PlPkJ^JlU;bdIyXui>MUz2STgF;Lj^;%{J&rZ0w^ku8 zrFvv;VrA|vEyouAXzhi#=4TNDbOVsE$cFv4=cR?TUDT1OplMpAt@%OO3*^|ktpysp zdD67QHlP{M_{7(uXg}+Ou2a2jeimDT#vdFCXzZn9n}CKOc(|ITA7nwpW@Y~r4Kl~& zSSJ$I>M`T0qKU#RX7<-Q*@OF=C>oNj>Ote(_4~JC>ulGo6V1x%c2iE%VI|JAnDzq> zBQdO_*9-i}kGyc)^4U$=J7t9KZ9}YJ6I@ZrMfJD}PkQH6QQ!`))&))ytz7b{lEd(Z zYjvX@u6}?2<~|(#`ZRhYXPo;+=Qdei8OX$fr)e4-QNx|dS5tiA#rT^@t3NKDrW9xw zsXwEVP`eeG)h?y^gik%W8%|HAlLwJCe430#Q!y;TuZX@}t(YU0b%#J;Lw}WgUz)1n%t}?1y%Lri|1sO<;{D zW{WQOj~8lUq^?4fyYZ+qx+RG&D!b?`E<<|r00AJmB$p;R&BTFanj11urs~Ij{;sCspha4A^!&9~jM)8kc z>ISzJu;ZFiLS$c7c!Kw`p1Wlz0|n9S(H<#?D|!84$|99H_4+8*X8#=%NGq02)&{s5 zUz}-Dvjvyq2dQz1n+30{-ZdF5=YprmhV%TgQ6t$A5va|{j!+`_y4?9zG)j_Nby}SH zP`!TK>{TQ4DZ=JOVJdOSvudZu_q3gdsaTg`nO_#0+#&9h&Tr6cAtX=?R?}+Qbk4V~ zy;5zDv}K9`OD+sM>o5sK;8S-}s~~|?*Tv!B-Pj%UI^gOY^k}x_L6l)RoxkUlF?=N` zBWYI2_M{-n@^*i}SYmy`N-QzdvpgJCsEH)N>c%41AlVErVRw>iJBI za`v&ap-4bemw{D#W*HK*Y9$dmgSO2FNVguK=6;nnuZ+#4g%ZLoHI-5*wHw3v9m*&~ z#9po1col>@Nc~`A;U#5I#90(uw*EMtJ&nn^Cw{Xgx*W^|b=fBDDmaqHLp~v=BVr{L z_te55USMdyQE2t=!(G#XS|mkC;E){t)j7env0U zU;a)ig`5m+5{rym8{7|0=yC9mUO5zLhA=LvrYao%p5L#>X<#p5FZySp!41Y(I=C_w znePI-zB6x)fD}$`;IlQV$Bo72@Qsc!MTJ>v?ANRp*aFpYR&dy_L+>lu>{;Q{3$W<`57)LI=Vl4ke&c$PiGL= zkf=*IU`oo0L2m!Jrebg~3KQ9@s0t_0Z0^579o+o(=0m*O7zG42=u>WDKtKZjs0N}I z?XYU}kWfBQ)uvK%$W}HW5Z6686%c?t9s>etK%i&hpbiEE)P88`t{LI(NEs-Eu?DK` zwfkL1HfY(3^$Q~XbDIgH_Fuo7GE)mvx!UHXz z*A{MKBg>Y1-0G2`^=qb&BFn^U$sg&LWCZqypDup8xj1`6a`WcmgxV#%53gUpJ-eV^ zP&G$etW;(Mji3X|K1EtkZE=0OvWz}Z0 zQ_>RoM-P-d(7wr=(DZ;v+Ewn7j;PLh_9wAF9xp*Xg|BH30?t#fr}XnP%@DJrW0^XZ z$WR(o53y@^GRH z0k@u?$sc&|_#{8GOIx|_5TLsLB@I~9)x_=itIC80HzqZk>Y9Oq&Do=ad;m*mM;?~M)@e_wK4~Li>v`EimwG)Zb{XKs?Srr(ey+JeJEE<1l{*xr ztqiYR+UgH@IOHMH*1i_}AD}9AJ<{4VN{RhnnolWhmI@Y1+9BCjl3&>$?iHnkmaKOr>^+04GqGy6@S1|Y^u?4KmmrxwRaP5svVt`z`yO(d zyk7mDxj2$bDAlP*4mRo{(zTA370N{&Vs7ilqk8Des}KM9?W83&-JE`lORFzwUljM6 zbrTTfx7rQ>Z@u1VgWBgzMXdoefE)CI1EtLauE5TK#wgwK(5n3BxijJIA=sI>3TRz& zX%*~qYpj`SU36`;XqQEIsbo3v21M(fMqzE`9?=M}Ra|Bj5&_&=qL;N*IuV4W zohW^(u(E*@(rkMz|ET~Rru-vPy{nw~no-vZHcTi=Ym@VGdpnr@<;H1ukw)K5pfd5@DTM1H##W77`|KUYgi45@6t>LBuM`0jnsNV!%4m#eti3LR=ucU(a~M zW}}v~7L63P>zjCUse&8%p}1IQiA6ebT zo0~vo`TQp_qap1Gwe2S0e&j$#0gpsMAqw_9&bErO4x+%WrY0k<5CxXtdYt}VKir9u zMLTe!(V^fOR*lxcNYB>i^b?$ATCf=;qCSX|4H}@A;m8|k9ANNp_51rb_u=T*r_q~K zqa)sCK<#Mq)tE3R)M>lE0EdOMV{45yq?_QuhN490;_QYFoZ^yc_Dsw)jB9wr+v|-s zlu{IbWlMaR2Oj2ax;33VJQD}Hqw4kXJl-Qm#F;m)E7_n*hgEFQiQ1TN!g`kG%(k)J zfl@^xcOp~^z_4W;bn@>I+$Y52A;yb!eB!<=ULJZJApsa!q1EQ{id$l|Py0kK@ zkVsJB{83&lfK+q+sGQ3_pXz-rTLc~WuJBVQZnv^+U+uktVmnAB?C#xuCIf*I~5oyP>btUp}BYg521SA7Q!=d4e!AGMg=4C=^j^ z$%N8S;vi_JzNbAM&SujY#mOl{5%y2}Cp1D;>?<$+VB?s1`IS|2voR1!Z_sZKlpkib zd0{FC!?~fU_OHNtr7eF2S1SmC3_TuL;(9f40qn(RR<~BXp|-Uja6DbDq^rF*F1t7O z1|k9B(?#MiLgXEjV`9`jt{H@-eaHNu-);9zAlFuh_F-%L4ve5m zkJikd+NK2{BAM1iP)Wq0Z7NO`@ChMV^2iTEr=sX7BghHB+$-ogKe?fXPEVBXh+mIY zJAv;bNDWsb9C&R{`5~n&^s-`OIv9JcR*oPE31`xQ`kgK$b6NL2(pN&=RRY#ji9xMV zDTsQSW}MP;39$oFPL-DCcwR)}ANsQ_pCgxaa3=ntcSggP$FbOtS_Hhsi_77H3cN(A z7x{ja)d){5qfcg^hj){OSWPOa3Qvc6fmm|QkCV~jkB+8=qUQ@8=9aCSeIvNT6!Lf#|f%%!yG16=%s>i z32yeTsKOCEn@{)V!%r8j%b!oh7&x_bG@H}WR7}c+1Y61BLc{sp_2jRypf-Y^Xw*o? z_&OlDOehh(kmo4JR>oMlN8)kuB=+hS;L8GpxARsp#)p<@v5vQ=$!Ihs zlp5ij0$xCPK3fbIlbPV=;^i(t$AnsLDhfVLBBpz90RWg$b9|mdS}sDYTJ_#E#nTLK z6JW#lJk{W!R};Y$tE-R*Y^k<}7FMc({kAm{*CmjfJU~Iz9TMwa;T%lk#-Hmxjnu|@ z%jBTk_w2E=^5p*d>X(BNdx`r46?>D5Y_#T$6ZsmtQ z(~x^+y906rR+9dde6QtgI^%5iAPR@634nT~K2P*})zwcRFtf%^Z&`mb4LFQ*`V8*A z%)iF@8v(nqar_Y8Njn+nv~!_E*6<=ZDU&;xIDlm5HYx;N)&Vs(P8JF33oT0z=ImrX zAAYA_!D&CwCeMo(;pP_q6nxgxw@dNY^l9uscY#jma_DwaN^5+6!*=)$`pE4qdwI8{ zt&?qOGBc6UQZC=7XP8EI$gsze9nHWy)Ypl1UaHzCv0R8TMI9vpreM@n=S>e@JbTDU zBl|l0{3Q%o6^S~zPjebQknbgrKr=Ir4Bx5|el&5r*Tclsy6~4gdsd;i?sjU?D=_ow-8-;rx`an8`wz)7QLH^ z+<%;!hudF0)OJajNeOL?PnS7tt6_l3~tTG64(o zJ&g%LxfFvww`4NH-^?+|YrX^_Mi<8iDG(?02CESfmJ`0b4A==+#V>>wiS-Q$?ixYG z^`y1T*dD4ZYh>+P$+av2g(Q33OmhOqt+tkHNcWOr(JRzLY?+BmCc3ndsswq6B0;~V zaYmG_)Z)QJ0p_h%Od2_&*g`l5AZ%uQ&z@@}pGBG9fRe)E!`1K?=Gb-N{rvnk(ko8x zX@>UST4LDjV6q+-wZVcn)r5COigxivqaT*o5LK!&(|&c+I=@mP0Q;P2M^a0-0Yw;z z@G&IIm+8SiW=%2@Wp{vD;f01^wZ7KD3aJV)B}WJm-WT5$!&usH*}&dVR3Ww)Iz%lh!WI*f;Wjl6>q+a z_Q{@hD{P-^rHHUbAVNwd;?*y$^Y_$k-}BG4>Gyvq#SVYR%K2{^<;(7d=p=gFRNRp$YuE}2+U%Uc4K@&W17 zzNc;akAS2Yv2lbXb(2zHpHx@u8EtNceM~H2NXplWj+8xt8A!51atV^AAhD65#~QzA z26Bn?lwVomM}E|1fr7gpaUe-u2uul57s5q4WRI2>ZpbR`u3ugJ6uaxMKPrkLxemrA zX&}fZ?+ecW5NR~EJzE{iD?n1)2!H{AUS6~alS&k{8QHgcXbUmnYn5Xza)_(TACDCu zu2g&!$RV@4wSToCA&RZp3do2H%xf~_&fcTOjhJ)dfjm;W|o;_@=R~iqsYZUG#l%tFuiza3WD4mo8u2O&1cH4(s0HE18%!(p~qU=pmGX_a%|CS zIA=S`<=@?pJNNgo9uv6Ab@@XNkkk$6<{=iiOigsH>`~`q9&P zum!!2Ozyg_iQMefu%z?%w&x<>14ltlz6U;Fj^30iZoji!wh|&&4Yt)_ml(yy%asvM zxffyFovNmK6elAm%~ZVhwj7TL*(p-*(j{7%iFe5>LK;uENtFZ)qQ0I1Ws_L3mxNpy z`(%h#@Wmn3&5Rcy7hn|VBmr{qO>D<7oDu_$y?4?0Z4@m9$(kE>n2`0_VGlXCnjp&h zx!IUxo3FU>0zbP>z%-x6HM#K*WugTrBkSeHP)2{bd^YrY)YlzH03pg7lSXUm#wW7c z9#AX_KiLuj>i^3$AhPwt{cN2|s&u*;)g*KD40$OOA5#)0r~4dt_heo0a2g zlA5g?+i2`dy+hIve#>QDG7D5A>k<|^&z4tVVv*x9y39)Q5vlLG14?h73;OF&l-4v| z-FGg>s>aH?anUg7gc?eIseH!w(A9x}6a%xKP(usT!?de6o0Qmd*^){yeO^UM20`18 z`l98)Y$e`_DO{9RRt9<%pRY9^zfArb-ijTY;?X>xlc~^D&fh(K)jeM$TU{ewDHPU6 zNxBA@df=)xDzsQunvGTt5gY?$JDo9CYQB>d&;igWq>hX<$}ouCOZp1cmO`nMT@F-W z*YO%y0g(b1?`2BG7R;Ii&IHi3VY^kvXyZn4KeeDVxK($sa0kvK)U=s|q z)PvMU8+_sM5~DO#cOMJtTqvlchT3e}L5`bH$~U_h5TKUR$qHZqboX;mLKLBALbL*Z ziUM=9z&eODzAu}Qm31)gS&RxumzKdEaI!{jL<4J!{6umRg-P=B3an`lY+Bf25tnQf zvvB{b8KSKqa{sczIxgpt}SnvL6OAnV2v?RIE5610`BVG_S-oN#IYyZQ z*+@SIj^}M^L^$OcsTPs=p`eHrV;p7n90G4P$iYZf&}?C5_N!hbL`?5!YwtSW=Vu?s zQ7gn`QUleO_LOtVJvC)dE z!(n$bIvugb8~{_ojzV`jk~gVW2D;uZ6MQXXAexPN7F;vtGt}{@kx9YPR`i*$ClfW= zLNdabTUN-dAS)({%?6)YnN>~%5v-y5ur>B?t23 zCm&lU*Emf5LMtb$WOHJLD;r#y?48QOVdgZHq;AolXZho8X>(+NO}k6K$UbK1!oRPI$G~D>yR*j!UO#C3YM;~eo>^lih2Ex)GJ9)>li$YdL_)y zQLK3_c@wzH+1iG9%k;RKK@j+~(m@Dq@~V{nT&c+Os~aF|M~69em@$IhpnsM<5K$j# zO1fB6!%Vj{KspkPhPc$@Jx6_?^PFt8*q5%@UxD+y7yTt&lmB9NmkD_$q-qSuq0~r? zXr!U(fh9jzF&Y{AEuRCsAYzRy>3IQXu zsQ6@xd|Va;B5G1faCuo9%E5SSt^1grqM*=6bx}q+YGW83P>#^y+bBm{c;))$xAT*m zlh!3|4t=eLPSc30fC zouR%T4CHZCXSuHUt-o%Aq z|1Yx;iNP++S?y}Mm8xZ-nr}W_o&0!Fu_|^X0xl6=0v*W1m5aJ|7cO}~JuqUtVvt8V zS5kljC!I?}sQr%5i>cz!NIQ9qgiAKx-nT{Gh*EBWF03`CN9wK3HYW)Yqrh7YPtE=v zIu5&-R{P&UM#Xx-(=Xi*;02`smPD@q=6au;WF;(JL(79{_ryZdlT<*nZP*=YQN zKcgF!f2kbHk`rk%Oy7w&x?KJX$ZmRX&BG9SIZt$_%E{TlVidNO-BD>0=7UPMGz( zPY<1WbbZ%7`{nYtk$3j5PxI#%p3aJpt|`Hz%rH+EMbya+=Xclf0J`%yj>L9Ir;kOM z=jItmA0t|@MqLinsp@mU>!_|#*yqJ`XN~OEoC@0%5mofsma5XXsmk+<*C#)}yP?aT zzWbRXksie(-_uK7DZcq|Elx_*)ITpiEuVoS7X3~|{8bQocm4kD zkkp^JIV4!<`0MzGjvLeNyHk#Xu-ywf=}*?4b^E>cV9@hBLBA{h%dr;~T~SCw$CaN> z@?BI#>i626Y>Di628<_l>021)DktF1e%K)Em1n&=y+1vx% z3)&U8u+o)<5=!QD*g zrh{?pD{AMf=R3M#iTl&%=^>iy3b zmp8fxztTW%6G9G$5rvEU;=%X2-IH#x{~=_^O1cv8z5O}GUQ`CXtE+Z&;IWzXjjl{_^SX=h^Gi&(}Y$$f|APuMrVf%%+y2<9zei zR?=a;L3A>pVk-3~>*P1hb+ZD>mI{)X*aT1%PaiCxBI2*w#6PG%5;5@q4+KvX0ty1b zVj4HW6Dj%X@uVzaqZCwsK+P@spFLGjWTQ$16va0O3#io!>QL~+ly6!=QPz%Tdq-#E z`L~zZd^G+-Fu^g2KkpLJLY;a-Ftks4?Sb}3KCzVHTNM-z2PZxKkBfuwg#xqsQP!*u zAT;?-spI7$?$iJDc|IFY7Ds@Qmtg*DA3h#M5sl`Gt$>ax4ghsBH4JHzsyx#t2FnT< zzI}%t8ZAd(CMRQ24FeDz^$_r4he=Fy_BA!cdW10}?c3h#A^y>6Sj7oq_P-NDhU~I< zL*GDlMX4&V_&l0@qfFwb@nZh^I$4~&ei3(e{xu$iUKiQgShM~{oq zv+)LwhV7Tp^Mtxo$WNEOMR%vy?KVrzRP?XVJJ(-7{`2+Q$KT$57(Vg+1@iaD) zwi`;_P1qizm$nlz!pFQ00~EbIE^r|{i=RbE-wSW4j7&W!G1AXch!6YxI* zd@7Kp?PCW6HW?5#3HW+M9sQMj?G_9hq}=my(bm;-JJl6Rnp3cf3vqi5b}LpKO2Swu zJ3okR0|=3ddr)U!WQ-WwO4dl7;E>&;oJu31k4%Saj6{ zWX3G5c2J}dG8{<+XaW2y7@zil*GvnNBa9K!36*H4LkX?V$CjruK;szyYW+Ib<1TTa zC@(`#tdY1=UWGowUu_XOSgF(^v<>&T)+xN!r)JCQY_SMf)9i$X(p)hGeYpmC&pbq~ z13uF3pSioIMc1Fw=pWTAWdm1I7eKHHxee4TL#qW{sbdSGo04Y?_3{T>9Gq;ErFC_$ z&{+5DoA*C`I&I~6qyn>==|{A?g=_5^X^b0jMhd2n?)oAzs{Z<1gjdSfUg=aP-i+`! zaz@%1Lu~Y65893ix68ldD0TF8Iah86d=+waK7Vf0AN9@$<~O6_4oQiUqDe*oYp6>` zmpblgyM(CIA@a35z_f3FL6^8h1hOyI!a}aA zyTd+8zdQmZd{}*amRvR`VPR@GSGOymqK3LDj-j)946=evntZV1Mw@Aqj@2|p2c5=; zG69zen5LA|Ic1PN)4VpJ8LetIQN%(u?hJ-O6ar2FVsb=Rmfp?jwnhcm`P-r$k1i@3 z-rX_*T_ku^I5Y@Ou#39}xUQ89Xb(=%YU+{pbLU)+pz{NCh@}~HeFQ~1;801WyMt=y zERWD;%R3lG%~Sdb)Do}45UZlCLJ->Iz6)o`qh&a9&ZTnBKy?Xhh{MCSpsfR3=`ybl zdIUDmlUe`zXkj+6Fy(_yZ7RaL4cvmJ+N_!l+Rh`aA=b@etuS5SVylP%c>BxUjoe`o zfnCBB-`uq>ZYt-pM7*U_SwvA?od*}e1s?~W^)y;OP$6E?*bI~N%1oO9MQ%`8=c;)K zDtGFj22h>fWU+=LdDTKmoW2%e+8mJeP{+CgWEg#`n@JBr=FTD105Z~C)P}r$=7>_#IoA~TR`rYsdt*TO=h3}rN$NEskif)8=rg9^2dE#6zQvtvh*A8QhD+T?BUmb+IZX zkK!&@?xg&9h%L9_G;L^dX&86Z{Mv_a#L9^^V6&JY^0ZtVv-Y7Vn7&+msv>x;%>7aP% zlN!w=7`@);SyY<5+#ryB3XvAu}r#Vn#z-!0!jW7qMj4Lhp5ZMxGgS zlj>pn*q*~P;a?87uZdY_%!RbLCRc3^&XiZ1He|3+A9vcAqNmY>;{}dBXz^H*}pTLm0dE(Y2&vf(S#&4Ck#T&rvEb zzBbYra6p=viouRt7Wt|u6{ADE36W8a_>NOCs3BvJu}fJoz9CIa?lc#2aP_Lmz(GpPXL10)y9%}tb zyj0pDMk+MX z%hN3~(?VJorG=+4s;_3C7n$Z-G3Kn$p z7oiu}pGcs~KjjEGsw?wyYt9JOIY3)Gi?$F5)X~;u*Ty5Txw~nO+RYQ~#^8caWntQa zhyynrY$`1E2yH0siEL~}!kKW4602YSLx}%jK@~%eD)0tSuH2WAMAj5d!N3bd@hynYa=P{NO}@>iP$5Uch=v2AHFP zZD=IoZFw<6p{~`dDV>rG|4@D#N7y!uKaHoN@qGMybYcSM>E1hB9jx8%^WYy?m;Isool?3SnsS z$b<4@=N?;mi#9T2XF5}95A|NgNAM>$fFxuLe)-NKIfg-xV*`#?`MFjcDWIN{uLhn< zt_qybCI$}Jo4Nol3ydBQms}&@$qIJ{u);M#+-UjPgLF!dIUoZ~mD^l< zs2eBU#q6yl>mI)n3QeTl^GX0pw$%Yl)6rNfW4(d`r`T4X^-IR6S+OqiEOi*`Av}1t z)wP;xz8Ege1saWxCD{3}hq|5^ZuZU$RqKi2t`GdeaEF+X%@|~#rXDkHSn(ELyvg`S zuGE76N)jTi>tD}WS06MDUqvoNnEcPv*$lOSJDI=A$}+=%ZjkasOrNtJcd-K{ad zQUvo!vOiM_iYixzeV?{7GeW41>nGh;rHZ2zE7I?G%&W?0-N35NKC{jiwXd>E7w`U? zU%oaBPlDdS`)W;Sn~X9ppHCw%r8_XIHS2X#(#f#Ba8vjJuEJ|-JQ;~@HilF~8mO3z z1;8*re)!ZiqP2ZO%9P`adYtH%ImV`md@rW88SwGOds%P#yt_wdJzgx|^@u zXS31$WOg=s_(L3c8G``k4YlOY%`M4NYhQgr4`eMQhgT%8#R=4uM~mc6q-~u@NIIhs z)oVQ#A6lok*~2(O9^~F87?fO?FfHaSYfa-}I}dOu-uDM^5P=jWRHasM<#WoX5NRe! zI_yk_A>^$SvH%{f6P}xHNF_H{*vEA3d{2tu;`Ht`ZkoKk`K@(vrpf(EFR{#S%KO1+ zK(h_vj3XEz-Wsr=!NGE8JjKJ1WR9yeb1n!XJj!G$&1G_Q`^hz8MvIuW()Smm-tvPlnict1%9x8ubZ{AEGq~Al*2{yX%DH zU}xDKo62>&KIC1f52RJMLFWiidEyZv*K1O5m3Txw?A2DWT4oX8%m?t_NF{B{-bj#X zUVuE{bXLS0MKYc2^}AuL(5+qj2<lJbsYb`{`hx=YSW@_K!K~lJn1Y-OSR={ zaO;3S)Zymg))r`iutf2N4OsL_Pv(rgtv|ocm-26M*iLDb>znsKeL8D7Ju$YOi&WMf z-?K$j@5=1pMz+o!C-XFw6|N#7OeLD`mNU_chWL;ZLqgl?v+kF3K?puBM&l_Z5jHDZ zC{u(q38C4mGWydc#J_y-5Oyq^XY^7Zb4kj0^yMkujzQ$1#Ea|EQq+i&13-4ZJ#eF9 z{yKV?E`=#26&9Ukwo{N*-5ASIbv?_}SZwq|RK@7fYKR82=YU{2s>*{aW|5RgoWTA_ zDuwqnS=I8Iv#ZLQ5Rfd}im(R`P%Z}v39XTW6!@xteCV*c#Ll|e7g^Murug8((W6nk zhst<%{LXlyf3t?5m`ISIjZ$%#$9h;0#7WrX9#*!AjNcH9Y}WlF^l7ES>jy3P1OfV( z<@{%KKNGb_!sX-*lc*4>d-g;3f{qka`ZbCdQH&A#5g=V`XDepYS-R5nW{Y@VLH#ya z)B-g!SC=(|&_+SNK8B?{|FHZti_yX|ummU}Yvojc!pE?lyAM!;6;s8JOi|blT$B?t zMS3Ag?M%^@@l+z2C9tTe0LlXW9!<0E_JdA{|7Um9BT>M%Gk(-+#FfS#MN~>t978Hp zP6wE>ZJ~FzbtCJDsaOOJy!%lz5kMO2397n1?Dz+_k6o{d-9F=L(1uNnsRFf|kM8Jk zDrkR#DiRu%8|5`bKoXC;O#{7sAF0$1ShVyD_H?<7DvhDx)TB6- z^X?GDl|H>cjdIFZ)*y>iNz)&MY)d#?L|V6E*#t?&DCdiFyw_~OwWkysFwwCVs^cmJQIzC05c}$_HcA#|M*q<~ABc@JCq5iPWebV{OnP?NV-8F56 zUA}eAm2P^JDRY`5gRbz&?y%mf!R}BpWPp01-IyIzCgJL=EShb2+}V*m_ZXuegvUr6 zrt$%mASx#@*e@rsK4B#%F*4IT9BS9(BN_#voxKoNF!_3+fMFawotE7*lxH95JB^v_ zhS3Q-^LnB$^e@L0P{&|)+SfKK(Z5?lB`K;CPbWStE$k-I7W+y z+vz`|0fT;;yW_mJR1lR)u)Z;IStKlr&fP=E^Tpo7)DR@cC=dgEP|O!7(Ss5l z)QO~)u_V7g@$xMZfOivG>Wc)F=o}+~Ifc+R`r4{U3YJ{gs3#&6__1P88^x`u7(C=< z0%%*EsFaGq5y!KOqPe)u4%ihik76pslxa0>c|{U)M*(|H9m2}zC=jr-yc`2|Eno-b zWziu%1?-em%VrS04%qACxW(*(HfJ4?HD}hl;%Et8awE$)F-XtiS8o`w^BNfX*B1t< zK0s2y-s?w91;X!=!dfvPQM(8pve^J-A+`Y2Sv4YRsq{JjJ;#`2s8faX+xPD-KiyrP zzag#v=JJ&G<7>aax_WzlNqnY{@zzN2=Q*Jh2 z9Ii++<3Jm`%|;Ub?s|#aEY0dsGeM2`q&Tok+j8y@pwM#71}O8Enp0MbkzOwT{#{t) z-4tR;)Z`m?j*xO~yV^)zJUjYX^!>52+#rOjgv6+}?JP3IFhD|Uy|yzEEm5&1)jD3! zr!Px-fq1s8D>Q7Y_8UCXzMZh02C2`6 zv=Z%;k>{3~P+%{q*_O1rY?oPR3eY>7TZ`*}^@r`|3Y?;S*~%{ejyFP}S3Y^F^+_8E zTOZZ`JBg$?WWcreLD;bOsUL3Zw&e)v(PKY^(dW;ikt;4T7Ytg_6hgj3TewOg;xiA? zp&b~s{Sft@>$$T{b2g(5Qi8<|jSn^qc2ij>)v=M^NFME#vkCo~NjjEKB$Bh)X?N2$ zs2*>V4IUW!Mthg2ct~Ye6p^UqLLq0HOQzx@6HiYGjL$Azy_lx1ky=sQ>ahql8^(6} z`j%sa%KJXarK*4HPPVJL-Wi6e=hBTR&aTlp6E0ES2&vfNdH#Mr5y{reAKG#_OHAsC zk8A%5jxRnfY){9MFAc|?^Kkxd{CIQwF3BWD%oNzwUV8fpXEbcqEgi^oPwW$2kB#s4 z`W#py&Xl&ICPoRPanl!Xwytz%(Hlnox&+SUj~5y2L>uD@@^|$7N;>`J{)_kzzK>K@ z!^z+pWtZw{+Xfk2_b^a{4rafq*}`i}{0lBeW2~_C=WKL8nVqQ#1lZt(%a^1YElL5^ zpzQmYC&IdR(6?7LlD!u{ST8U2umcuEm&Lyh0NDC?|=Gq+Ja_EdgsJ0 znz!C{!4?G@=89(Ew%YHLKH#cpHWttTZqNrF)Fel?ysTBaV-fIJc>7{W#GR)Kk}a!% zl)g`^;Lf-ejs;v}U$dg?a4LjEYf626`X!Trb7>Rkkge4cZ{SO-u5#z{I}uMANZwVI zcCy3ScH6K7N?gs<`eA4*GxQ@s=FnHtl{O&IN<-<@M`8%K+nS)Z1Uq{q`3x??j{T=_J52ef ztdCSYg}t-_1kzSM7`!%UMwJ4Kx1@1#Oe!m;rj1jQm;_B}Rr&j%Y%L<_N&9w(6+|YQ zt0WuTjgaVIt1d>siicAVRm>N|wXqKl;+jUbnRHgBNvaSH9p*|7tY+r$Fir)3(SR9( ziZR`6)N+DDqeN@*OX_V9#kj|#PmrW_J2rNl!;`Y<6qoO?g^jltG5DhBkTx`fol1;( z*n#b-Sku8?V-#+)H6NJ0 z_~IxaiCK%I&>tWRQ?HUm3$c_|T$^FlXbs%uEUkrD+g3Ild>Fx5aa+xBBI<)U1^q*G zIaKTlHygF?G}w6hm(}?t)cyH&F6aJ%OqDn+oC;rSR3Y624=WVaJD2Bobl?ooPbzrC zoWi)gN4&k>xI!gG@lVEYG6-TGVwktl)ol9sLO##~)wNG(-x|76@jXS|k__d$K}wue zY}o0YU?vLdS(+Vt(xclEccc}VsQm!-+Aydypxc8opDy2eO2dlZq8W5Q6X!vnZ=Dxn zh~^k=6#|t0=&RsinGdvTY89je6;2@KmHC{h3cbB6^C5k!)XjdE`6zKU9oh|aTArME zSd`ecM;o_Q_g2+Qr$Za$M#)Gr?tg~83#zPqHnH*`nc6tmQfW3-ESV=kGK4DQCso3x z_xhOlRB;G_sF;xhpR19{?{0O;Bv;(w^gD`oU9T%yBqhp>r|U}8;YNhyH40Swq(8tm z-ynWi*;FiEd^PN@)@boU-+9XYrpM@i5R{p}PV@A-Cj-vC<#~7>MnXOI@Jd?>wYH|m zT%vVr;&Wc%P%TIg$J(V?rU#1jb>6Qa!gz;U7tPae5~v zEeJYN{PoC0hO~h&OE3&^G;E)Uk!twEZh)qnIvDb$vteM(V8A`#Bzx}Ckth09;F6_N zn2^<)_o$y{*zrVZiQ#iO%=2g3Q~|xpG_&rqC;p+2Ws2>G=i(oFXFU4yG!gSYMD||1 zxE?Kuv=;O=C2Gi3i_RQ+YyLWVm@dU?5=|VPjZD&8Uh~6rynLc_LONw)Y~{b0oAnvaN&RyATOrxn6uS<7>dfztV;-~ zhS|Y3T$<$fY+08OD#If~18tNFHl&~*MSlZB(*vwaaH*NTYq6WkaBBftI^5cPjxO}d zBKZV2cU^#!Z4+=T3>k2X{wiEH z(#_f7atenV9e}|J6=hw8By)`bjD{egq6 zvF{?5gws{j+GW?HZF&=I_8|%fstK6fF^bqK zuf5!?8`4EM&`#Ma_s)L!y7(*3-w4=EtSyyzC+Wka(^MN~(I`@$m)|l8$<8eX4f;$k z)mRN$Bvmf7EIqRGN;l}Fjhy8Jg)WC~C#94#s9)Y6?vl=zH(KPU@ooS=PUg=Of@#i$ zD%d*!zuH0osY3Jy@~r{ZEd zklljw5ziiRUn7fE2X30%1SS1e#U7~lSTlOLr(%upqfMpy{eZ){y6~4$q5*SA%|;`O zRNZdNYBxhZ=b{~q1-t}assdgDM+!B13BtDKS>Y;-BM7@}VTaN+>ljD+I?s*cfU#ar zCr7u9xnK2YC&vVvW@{%mO>bh9;MXi$StA?V%>89*aRnzl${N zNmqp3;^jyEy(H95jXZMX8Itk>7YmRnt~9F_o~Prn*wXtoVLd;Tu2&1AnvqeV!D znPTH8K8hHx5IX4y@pp(oDc`ZcrRmJ)?>mgt*^&25@|rI};OOFMX*@}t)rg?w1kMy; zCtwx7Q2IvKHk$HDK9q%QBTyPIlGV2WUCxrTIS z6pLA*9<>csBAm*9={@3CdLb(4Ds~#d?}5$%?wiT)xpR#a zvuHiDXe}?^F^*4As1r9Jro;2Xn-m0M-%Q~i7}nO4feVBBKrU=r{3KWp*Silvi>;P% z@n)kR35cxrtuoVobJx1K(HMZe&a_L&W>~Bu9*ME>A}iiO#0r6tsJa963NK9g*6V9M ztnfm^jV0%|H2?vyq{8Fv?RDH%K=?a5;&0W4?};m_qD&R$24SaA3tNC~ynM%?EyZUT zTv_AYxMI*C>}HlqEsLfuItVEAr3xXOFmWDqQ=@azqA!k3ZW}bY4S{_#MA_Utwb1SX zM+s^`!<)jOj<>)^`{Yi$ZEc@mjk0!%N|IX_zue*tV*9G_khbo8D`#{`nGn<=CQO*n z;yT1UY(*HllV*hxR=DkLa3cN@M6;M%r!sJd)$&#*;J}6SjL6iY^Hk5c4oHC1Clkv* z#bRR12V_8dxt!4d2}p`&{39f(o0N!sQeClS-rNia=4=DJ)^w!m2~0uK;Ff*x`oJ;i zG=C(h~AI7@K5(Af3D~JOec&azm2Ow5~?m+j*?23M3_5{OEx!aJap$R z%t}KlrJ!kx%CA&!Q)HO5ick#Zc{S`1y3n)?<@+p@OAZ5EPmwqhN;RdHJ4UXJSr`Df ziJ9gQ^C~TI)wY@D_WkJL4?$7Cj9U-$nJ8)$6Gj)0_x}pJ6i1xX3;i$uCVz)y!q}vV z^V1{?HfgcgT~9L5fNBlye4D0Gix5LRjEY5}*;ogy+`NEo2sj~JgJY~Y&@`M;V!-ck zjf7s_rbXoxrgB`3^a##&l*_+54=#cWj@u9bJdKtQG*6avn-I`k8h|_iemF{YgKPD48}^5b$;0_4Z#L)LXoiOYjdwwNVC1{*$DV*}+7bsZKDz^kAm zk`aqN^pN3*(_<-Kky}ojgq#&Q4=PZSH|Jobg)I0HD}`-jn@x|W5*nd5F!Q49a8(>T zA%n*5FE|XoIHbCnECMnFdSoSGNCGVZc==sy(lDBl4;;tzF&UtNRh_6ISvbswAwE3F zwojryGI2FQl+9(cG08u|z)!;*xunn48#k`W?SN?VE8sFRnbH`SF~}CxM(sYDQy|J4 zJB`kSPC(A;$uJnIKk32(>IzJ?C9?Iy{cN3Js&wWVRVp(K*jlR|M@r4)%p#Ky43CY@ zZ_dy&v58VlR@oi&RO1-!k|bDtry=)yXWp>QR-y))o-$b7Hm031o@(_xTOs?|>5D@Y zo9TJ3n{#y_75G(N=n0OHf%bSzUVnq?_svj_Qw;B?k$bm0fmY1{!uYla9 zz%a|T#(aD+=-B-T0o|RA3Vw{!6G3^=tzG_<5*1@{R zF$%YRS_XHv$I0A?hSwsSW}_gR_ROY*EylQ{`OU)pvLqSXHO!VWIV1tKSAUGA+1k@zgCuQ<*YNKGi|UG(dfrGL1M(Gs}WMxLw)d zp4Q?UWvT327O3&!juGPJZU~S|zJw69T=FH1NFs$$?mzh=ex^hHWP{p7g{b%BrwzP$ z!nZ&gYT;W37%5OOi_PH#$A9oA8d(y8xZh&>2wz%kv3~v(pCGGe8J=y~__3E7sEyYC z(DS0G8WB!R4OJP13qPQzQLp%gG)_tFuaE zQK;BaY&Q6q%{P=;<&Gf88Y1Dgp*&zzA@*M8?G%t>BP(wevd$G1Ihor#^6!bsaz(9_^`^ zZ61z0=i&U_`0?iUU7{VauT=_e2Gi2ejd;SS%Xnk`pf+pNGM>FYJ6)-25)`sSlXy@~ zg6v9ap`;lrE#(RRBpC;O`=NDui^J3}BrhekP$r9!&WRPSY}mH2AsHg@xEPJ6#%M;@E-+BwA+y;)m6;*_oQA)f%-sYn%VPRh08RcLkpPWE!N`=(S-w_R5}Qu zm9I+4wO~tQ`Yp%_UsPX&VuUYtXwhHOvp(0Hh~mG!i8BM9;lJz}y5|t$KrJ z)`&(LvK~6}a}`I=4E+|mF`JD>5FA<8t#FW5cw<3Ok_W$) zo3i&AwY@>$25Pa3*;rZ#5uzep4vlu zo-J&&YlDv4yH6LVcc-mu+Dtk{ohFQ`hC(07)Ka>{@Ptd?Tv!hVp*dPm6$a`Mge}$~ z2%GH_1iADrr3klRT3ye(e4aH3!lByh0#R#(NHT9JJnSSxIavNuL}#8y&FPPq6{})T7;uGf6K@*?M|rsNQP;Zb z#|z_XeW#OpV5mj)D$H{_SGoWP?sR6xQwJT4RM2r~bvwB~*e9FsX4NSg(HdLOg|)`q zOA)&0;|g4O1!F|}Vy=Xz;ffqO4!hX;mK~nHjT*u+-Svb!>Jtpze0g>15Ft2G87o8Z z253W#8fsCILE(K5T`u|tMi?Pc0LURI@35)Uw4<8v?>j7OCC;gEm4@U>9VqH8_Xw0b z#$=e?*{uVZHW8M!66pe#dkM;&>dEX5o*aPdc*HKBo~ucSQi`pR+Utod4C*rF5htfk zCmP$3Lj^iNVtAO{;VW68v+NiBdQSd@(y07(ygfPdG~jx*X_36HzvPC z{j}7`0pq^cy3oyJOt*UaNcE!HEmP2DTo7{)Y=<}bfw*TYC2YG$QNOGcIu-?2R9TO= z&#$A0W&HbpnU5!5a02~!b&hr{?UpHHX}eeY1|5i{1rl@%57U=N%Dsq!GJbV8f29MW zsWP%A_2!fT`8=C{qm!PdhvwR7Tk$I}sY6FeJl;Aq%> z89h%(iO_G8CNBmY2YFMWUg(|Qzkc}n_4J=l{r>M?f4*&ZuO1fv6Aweb7;cC`QrlDVF45eZm03^cDf1*+aJG9g@%uBi0^MXpU;-l*Yv@M`OC}X zfu5GQb3SpjSj@krPy0Nd@vq}^UPq7oAow=Kf!l}CjE`!kec&0hbb&$0`cItwW-@(z z!j%K;bMQP`KFPb`FQ#qC$FVY}&&P+d&k;}4vF`G1ob>$td@>Uow&FSde)r`+uV)v( zEZ;s~j{E=neEHXJJ!m&FY?gJ~?$~oXxxd(zx$hp+BsWg9_%%3MTUm=m_7V?O?JhxeNQ}T>} z*dJ`U8KYI+@aOms`JGz^=0W7}kf}21`sV#lpH5p&=T`c`!cn$(;#*{+Tv>VCNYVH< zaD9=ewxS8#WPg+^UnpcX)NI=5*{boh^1spIfqgAon*ZW7XshFxO)~nroQvRfxtRYk zF^WgzK{!ZJaid$J@M*$ko$cQ3pA4xGFzR&3d+QD``N1F2gGI7LqT}gbR#>|wt}rTl z4v7OARaANV{vDN^wC^s@-_U=AG+v(H(ceUD@-HQy|HkLY<5VBjjyaGW|3Hvr2CzAQ zn}_Jx^ifniKag8GS?mOX?B2DoknCv`HV0v5L-1PbO|8~(#eSD;5Rz6nXn%wD2weGm zz(SFBD#71bo#0n`vXS(L^*NWQ2oZZnA@-LC5R)Uivh=P3Zl^-roP` z!&MO7yc6b8=mm>%+{7`t8NGa&KYtr7DAr$0Uv(O7C8pLgvU)i^?bF+S7!2-5852tH zT%89O!No3h7ROx-l-N|t=dA+;8_(-5Y#5MLm8W`SNjoe~iEavOorzCNNoHvA_eU~F z1;(s>pDuq-&ZJl3b8)vh{XH3^FJ6ch5($I6(QIiqP2VMYV_%IWQ141#C8>H(x>e-` zC?(#fiTjRU>JHgidnHJ9S<$@o7oa1co)L}-L#l?(e;al10#0c&hr8;K8SaL-%m9Si8DE-DfY@<$ZRwOGdp zUk(%F0^$SKdKF{3$*3i)Sl|N6CE1tfGTG5bs{s%$LUPW}^SGcu9Q@y8x%`_69_DQ{ z@+Z%CkoQzHVN#>@E<(vB>5J?6G_H+dok!D3PK=3qL3>~%RHSpmpA;*TpExu5-~yMW zSRm~(OJ8Y&%OVvF4tn(y;}mAonWS1|{5XwZ_Y6CAR8lv5-sAt&UeiDFfu zvMQF$eG)}?OXe~EzJC6lb#=xpt#(kP*Ja{O5!W7^nEZds8m(x_C$OnG5ezorato!bsWz)- zgSPVsYsl?ovF4;HP1?d$y-AgCZ-2SFkwf#qK_u;3H+QXzn-#U4hLu~Zz9cE)6cqtR zwaMUYa5^CFBtDLW0_OsDr@&NYrW;cM=4|Q;%tK7MQ~EVv>ii}PH5{Ro#Y(1Y-!axh z|JMqPiOE(%^gPFyJEdI%#z=3`Ba)a$ZznZb2zKJnp+jDYLVVj=vhln%9%Ja-Kur7K~&w4mkkQ~jjTX}6lI9;@>vVo zU2@oEpP01|QzjK>fe^-G+Y^KcO)NMQ{)2EK>O?f-O_lugJ1TvqKr^#HlVm0R^Vj{|75%Z+Y(_y+` z7_mWM*EK@Xg_em_TYTxhE9g^Td-ru!p)G4CRML_PZy8-Z1$i zV{C2FR5nmwG!)Z$v}o0)VdB9?=W4J~qB;&|8#XI+m8_IdKa&SK|H^)$<5KjZRa3;w zReragOD~tN2vk)F^fjJt-YWQ)<&RKGn5`UfI@VkC#^jAZOSA;#a^wwQXi}1=)d*g6 z&~0%`uDTbVT1LE|yzp`5#F#-4w6q?)B+%N0Q-(ub+g zNO>9hOVCg|rtJzYT~L&YLt#lS6$j0-_f%ZuP7OF!sCZ+|p24lO9`qz>oULY`P#+=z zrD=Re#FAMFg2Ji_(EOdyg zURxJf?_YAU{=S<8yE|fkYs33 zfCD?ebzqY_-`PO&hV|JSgfr=!^~?N)HoZ98GR8sT^)O=`PDIpQnn0r_e@_NTs>zeI zn(-LQWQ3%6tMClT-Ni<%Y4$%hvZVv0?^b4Pv~^HJ8me(Y4RV5}A}XKnB%iN?y`(C3 z@=(0RF?FNk7I#)f1r`8Qlokk-XbZ!>W zKJQ6)PSU3Kq&r`)_*xNNyW5iv)g~D$uz^>Lmg|7g$l&b2bJo1x4n_#-<+vzX0*XBd z3`@vEt-mE5m3D|B3!=V9Aw+FlryY~LEvoViN8`{d`AvGFgNjcLg#og?Itr20_6UXG z__CUjV6m00&x}lWp%wGb1M0I9;1sfI1LqNi6tU8xD9VzalXxbq3jr<-go-!w9E9%t zQT-sKu`5Rq5~|F9?M+R6s6ICcLu?Q3ISAc}oZ3Mc2CL2VQ4^*#;jqVR#~@TQ@ikT0 z5EMdIRwZo?x!ycre`TLY&M%|I|Bb$XUEYu1{rUav#n+e1Uw&$_ZBOAqIz?Pk@i3pw zX@l?!@|FJlI$u(e3~i4(irVx?KLi(Eezs^8SU7kkFN3}@`R?==DVFB$^t#<9LPCCj z()DsTT0BmcWJG?Mk0;r;afIAG^;O!jbgD-=gU6^OHp_NXJm`~I(EPzp$gGE^1%p0w z=ejNSFE&OuzXkoreH*;kw;}9yPK>=@dwu35b-V#vDZHT(-k&hI%c64x99fhHs%T%1_%L#g=P*SW-WBE zsqu6kp^dY7YZY^Uc^bV^75&A-{N-ixuoRBw*~8bxUz4$@&!!jY>i%R{UE$q(9b-Yp zlh32CGvUpqtNO{e{roxhZ7l-|%`WHX>3BR7O#s4Qyc#`EXJQ@SOlE&g#58VxgEtlq z#7@KF#B+A2lUvB!VK}Zz|6M$hlP-Np{PH6|pp_Nt-=|CMWAsXVO5DeU{+^V%ix=X~ z#RHehF1Ir^bk@NPb8XRKgQBb}9}c5TWAH(PQgFcp;PWCvUJ# zF|K*KSd0V_i!Xc?TQq->D?|a!4_n{=NiZ1n`5zBO1^CqX+NPAFUhL*@BV8`DK~g<0!Yenmgk4h+K~dmAhb zHT5a;)dHg)w~6I2-4YVDh3CUxeka%aWi%u7#^86);sn+S=*9REp}-GL1gNQH(B=iK zr(T8$O4x=*BHor1HWcbwjmpwAX6iu7*LY#uF#a@~jb>Bw@6kd<>&!N|I#|2i7m0M; znNg;J6B`GrR=lB49dV65g5F3tTQTGDeTy4?3+t71C{X3xqI5`5N~15Pcx13y#D_C@ z*gSZduA2w&vgJG*D(FE#a~c~f=)i`BfGnD`2{sgTmAs+QC7pLMkkD*F2h>fs`yd3p z2VP+Lw;)DDSX@gMdABV#((TCQLLhtjR0w0JMk++OGkJspNAmGrSF6!13|5gXv3ex= zLijD(NCn#sZEA)jWDI`!&L}yaL62h(j)(cVRvd|NfgqZg!Gp;)g>&1)zyuq?7r$JyL{Yt1Me~27;R$L_FQ&HO>z1u>k~X~y6XYrrW;*_`RvgULisG9 zlh}=|$$qlC*JzdGCa(!@T80Gd(bm13((o2Y)(pdwpf@-nE6f>+gvyG8lY;|1S>etA zR=6gJ8~t>9kgn-52V|hBa+_-pb>pOdJg!bS5gldsCz{+Uh2{OjU@<9q97 z6an=2(O4^E?WWk3K~{O_h8b(*aq2MELwN9Pt7|pYd@)>_i{~3{xWQNIu>=>{dtwK{M$DyWK3mtnp0%z% z;H`>sA;RQ;p3Y{dHKek}!P($+Kow4BW)f1CvryxR4)(2bt8JCRL;9;mBNSisDl3Q_fP; zH01Qk+me|hEPk#t8nihusWJ0XL>dyA$P}Rt*#}{B(5GDljo@nI%1!rGsn#jQm-PD` z^Q!V$Z&3WY>v~aiw^)>qMc4GHSYfrj7iU?!c@Qt=EA`r^)uh zf#ClV5g;iWV&cZwm227J8nYZ6x` z_EF&GIQ*Kje3X3GgXy8>cpkz%5J^Y&JXBjQz*~Xe5n&rZzGl#-xytcP;G!G59dLHs zJvYT2HGEfo&rtFM^2=}Jx8l3$e0i%yZfoa0Re?n1ThR<$s3QT670sCA5Yx~#o|vlo zQkbHyqGvQN*IQP>S7W(kT?V0Sq#1K3Gz(Y67w*Pc!#^X?)3bJ_J>|V&hKf+nhb|k` znPUu)s5Rn1h{2K(?gM2C##>Jr7*O-GZ71ksW-Ao{AIbtT79g2^{GD4xR4xv_<7wgpr&AaJXj=m zimh;p!PRq-v{E6Xpd}kVv`%lchjC<|QxAQ}g$dJQ-f}AUkOw%F_4@-jh(L-Gs!}Vs zGCk!}h%^m_^#C-u8pDvcPRIgyv`%<#x*?Uh_rgBr3dL}7dUqOkS>E3K*19;; zSYrFt=fT6|;ejX?k&6TaH2S)nXA+K-{kb1>J2aNE@CXtBAwygrhK!Ru8zL>JBRu4) zO1?Kp^W~L^Cn?9Ws5wd6ec%yKQE^CtPRJ{73*npO(s~2_%Er)oYR0_MuNV~zz3Dl{ zrnYLp4+v4}y4MsN*q@ZmFQ<+xGhpAvYourlTf0G;w!l38(DTyl0jt`Kp()?Jp`4SN z_Xhk*JzrA>iq#daZ3MhcB=V@{X+@8zMvraZnE(&V>AV$hdRSNHh*nYpm-g<|VO70g zbsYTQ%xe@i;>>%Yxg9UVzhYs7C2gcQaVp24m82cY(KY#VU$HTy`nDee@uwvDl+8g<=64WOQR%oyd} zC$%uw*}^v*hs&=&TwbBtw5S`9*=j6LI#bdLFfT%bn_%2yOzLop{M$GKZ4MT=6*gdz zW3M5~p^WEj#7lk5Whdj&m#28M2hlhtUR;ls zq7IZWL3X}9prZ~{%wIcH< zM(&DPBvliqqCb*KDbVoxvbvFWO$g);4}}Ai%RxdyYos6rzUm(yI;<|SlkwAXxDVM_ zm!|mO!qKBqyobtocKjYjg&xfsGM+?&1a0(;!93Q(f*?)`7)Y?PO=SFrU}SYxgrk-% zgBIjP3DA#n`_~-e@R;RXkRc%}LN>rkVbv&JL@`F_Ie>JrovoNnXX#4Qn-~?`Xi>A} zm4thxIWCfbOwV8`&pj+Z%VKn?3@q_U$VypvBGHYF<@6vvac4e`JW<$o?%lvVkzPhp zJ5RJ_G&O`=mO!DVq9+URd(?2*?FXF@|8KYu9tZ-bNi?NYM}4rPP9q)*6b}p%W-y`2dxF;3+d&bq^5;QTGQjMM#mUCNSfcSV2O_9u~(hTVwr2{;jxsVV#bnzmq zAHnCXSe!sku<$~<3_qip(&bK7DW(k2OfmpCvJ#cc$#+3fJT0GRBkfdj)=3|Y z$%iueBQr&*Hv6{iJec&%32#OSlez1+b9-{7dx(z;X%@+sLI7 zbn|(Z=ws(SXCDR6ofg;+!P~)9YlU4CY8x2dJV^N{x=gca7PMAkiInU*X?kv0=Y&4J z`UuL&IhVTJrlH)-e!$F2E*GV&{obecDI+WmY05sRbY?nCEzIlZCh_+o91hwp9=t?T z$k8daD-TfGR&hMsY(5DLU^YANG{eRD)jBC9R}D3MZWX}uEP(Kb=oIgzBlmQ*jH-;G z`O_5G=J8T1{d%Du{a}9Ultn6}=?_A-C7_FHP4$~eWU0cNEx7zVo9yhwxwnm-otVqw z9YUFLD%vhxp6Ao&WvJ2dDdNmy7IU>Tqx;6@q(K<5g(rpj!#ej#=Qn3&bO1Wh;sX|T z`PMa8y6I7-%xR7c!onxJ!va%70Vm}|2B;U>joCqE60Xj_z0rmz0K0#19wUuwBae|P z%9RhO1W`GO!G1Z3^$9CEiIJJ);S@>5@f-4)Y`P$;oxKoNeuODYWf%uvvrLBa?8EA6 z%w#u=PB?(o(|w_be0N|=G;OmI0hZPzd&?(NI+jNtgq@Q?Tl>RiL0<U6+z z7w5&>_iD3?*28=@U&zQ}@p%8Qcpu?&3N!S-{5!7Sz;#H$#qDm2$hHI|9#=&M5XOvZ zD&KPvQ)@A~v*Iv<;|A#6X2dqB9;ii zy8$f%R@pgI)|zm~m?8Nj^HW|*bj%3#AR_^=N+|?3golaH3df2;?FF}{V(^fc5n92a z7z(G<@Ep~r#nBkN@J5DTp_{K) z2wRU3;5>{`zIJ$kBtoFqkJ$TxUnhmNVn8DAjX<~A07Yr}8dWL6+0(ZX=sBh^t8fy; z>+Sn@m!Iw~&)-la`{weLrfId`UtPUDzofsYlNUJqUvc{B-+05QHJ-`AWmhXxQGPTJ zOH}3uobtSkGT$KFWQYb`%$Q^WvDE^EJxe73c0&ZVeV{;WX$2$F@UtX?auQ76@G=bA zU36RTK?LgNysM5tY4ue}**-_0K>jfT6%ivW4{=mAl;TX{%Y%6u#Kp$i0-EM~{R zG6^iPv5N13rOuQox8Li)5;A6LoGLQST{4IAVX%3uC$3a(JYO8HP9x*Yh@Y8V5>jOk zau%ENw{^E#Rbx})+0OI%5@*(jPl_|Uw5#Y20SXSG*#PAyXz&)58|i8`8BM1fe+Z+` zpG8G4RU657K2*0+J!&9w{Q$M2{Xw?aMW)CGNZzg2VkaUuT34#;yq-^K1bEm+Y+cqB z;!RZ>)WnBfZ7il{&pY2c1^Sq1<9jm2j;K@}UP)Sc)N}}bHN#1j?*|GyYa|%hWYk3G zGO^A+C~d7LO@6bjF8?TttWq4ZRp!ksss-qsoX;9nz9zwZAY)!?lr|E!ew&@>okU$6 zUf|k$A#5B-`r+cnGa|N_&%R3+m-)_I7ni2>OC^1XF7CicDhyHWx}JmEIQMgdgk^El zQ~8cqmTB>{Y3Rd^)w{8pPhC$ZI$ZrKiLGLmZ#bNCNfoeZl;_{FHDS?qj!LY-gP?u4yn5LeYT2b8Uu?RIA#+++25L6pkx#mFBa`r7Pnu)|f`F!t; zl|hZpnQ)2n257|&&-3^5$&5A>xcs3lN7KYKpCtR#{|nYHJ}qod$24P>)QWZUzW|+L z_Anb&@lp>uon1 z8EZwm0t-5L^!!RX{pJ3P_z%91RFzZ)X$3)t8$%D*C%aVb+cxN73@5Egb|ZrzX1}W0 z!fPuVpdY3&!yz_4osI4%voke+0h`?LW;;@iZd~J9em1BJMm@E^S!_B>8<>1$Pdva4g^&dYctphf^UW zT2tyEQ;HL#?V{QQI>hPx75yUKznE6NSlWD7UB<~SZ(GhAP~v)^+6u&&&K)*FTdB+o zyBdYHm5+|b2I-Ze5}nmnX-9*G43foSx|kH!dT~+nM2Q+>@%Ir&KKa-v**R zNkl>3>Z$DuJHU6vbPe0!7Ul~h5@=*wN0)k@SdS&+Q6SXdNyDJB6OQ5G>pExDfq8v=jA0%>=O)zs`E@QQ2Blf0 z!Zh_-LyqVsc+8Q=tX-bp(E*kBPe?B@;V4eMiMQ7qbflyx{>k`F23^YIkMg$Qm`xvF z$p3jDS7<^L_31{%_iUUF+90{cDmLu&PSEYldX}cno%A>g(vm-Fry@OXi%QKq+{3YK>^4@>qQ}1;3s-$|u^P4RWJoR66fJ&yM1iCI-n=V#$`ufUPe)d#$r- zdi{`%UBw{;qGApq;d3>TX75#(W^%7D4Z6m+Nf>yhaUg8-HthCUj$PqbaZ+iWv6-Pgf@51nlTD+dR`1J1MO z=I5X2SEZfKM2SJIk=oKvb1E&7uFqk%Kc{z-zU+yA=wq3T{P0}-L+^}7U!EqS*H@(c z#f$6Fl1OnukCPinu3&WL&|CA@(Zh5pR+DJx=xk(?>hhW&crav0r>w_oWDM-)G<(no zQ_kR1Y`TWF2*}dW<{`J+voY+_(&{jhM~-M4Ehx)FASLkGd)Xx_%S2l=7@mMiTLHLm zKnjp!E#EQ6x0&+p3`ON>Km)0U*}(=On&kJ;Y^AS42$kWJp#c$)P3s&*e*;5oPD;)3c|L)Xl#I|bDJ^Fxo@V$qVV^k? zZ56Dl0gBzHRY2Kc*0tH1Kh$jvEv!-l`)zAb&QykTlLsh>x=(_a07N=(|bG!jXV0 zU8u}GWIiE5QQd-okEF-cZx=l z^1S?FQ%H7hv8mdhs>W*5A}J)HW$D43%N?r1HhkJwu^rYI@feDK3%)C}nHFsUDIX|w zIdnTIr8U04X?q#;-2}F(#7mE#KpDPzn-(WwcF3QPnH|Hg_o!RHkIadwgv%cQNdx^u zR3}wjtj9D^OAsgG*+WJeSquwNOu3AlJ|!38QFPHUDCxH<_CQ1A5q<;%+EAk3$0lNR z;V-2`0}g$fjYj6k>vmh}ZAs}f-B-X%;7FlHFG1MiJS$wmQ2hZb(*k;koJ*=Nv#BD@ zIMO5b+&B)9531fc#=9+I+k$$ulVf&Hv$d0(rdRf`se_ejL?fBX4yK=048~@|jV=0G z#_-G2=ygKT?Zf=#W%96`iw^%(n4Bhd=8NUi{Biy=n*BT%bWB_c`M=3>`Sqct$sS zCP?$E(erdBuK8v%`)eWyCw_x}P$0MoaUw?ACpVBsH%Nc0=%fTMt$Xq4-LeUGw?{R5 zw8d1vN25zfhS@pcC_choR}eZ$m+(f~B1*`2EI=91na|&UoXnpmL@4D@0#!I8oR{%T z@|rI};OJt0kchaCi5gikaE(dDn936>Mf=o>El<~z)-t)h0n;8edhJ`uwJHIHB)7Y% z<^*j-js2Ew6^p9Je+Q5!5COig&_ z^n`KoW}_boh-_h9;Y_=$=5|G<{pPN9aidXGd!1>Q7%ijFjur19V%#$lZT)Hi=8Nm~ zwH{V@4cs}utpNytB^4fTZ?EIF0>aT4UE zh<^mzEQaH$Jh6ITJGK&bjqZCZ6L26zFokA?;!};|Iv@d3pY$FY1u6&(fiDHPfVPr3 zq5l(*6x}OFNRns~^G~WPc6W-9*T(+5__)yw6yUX{BUNKy3X%rFT&wGMHv9PJ^^ePU zosU;<@Bj1RDu{00wcLi7TY(%9=MQ}my?7~a}BEyq*f0+CU(^*T~i~{6uQh;GY z>yr)x{jTdUV_p61-3@v{?}QU0AbEPsl<1O+-F) z-|_~2Nr}&8a`fz2C*(_=P=U$=#{d3R6h&x1U@M?_I+)pwYlsqpm#YTA?ottx^hWrS zQP*$EE;KDe`3*)?LmdWq!YTrmP^u|G+c7e$B6i!IRqR?clhnVP_BHInm&C`HwXlOoLPM$`3N(}fN zu2BoEyv@`yNZ~F_M!Rwz2+nq00U~BFAOPSJe)*$wQxyqHO`E!Tv^8K$rAJ%fVSEP* z>op5ljtSWf60$6Mv8WhM1!Q?w!Tg%72O@L&S8d-mDzP63qOzUC)8G`cNZ4d7K_Q3=|7`;(fAk7^5GFRlpyP#{m@+_ z>lC(8onTs}N?3&6z|5nwKU#6{|xQs!z5<6=5(a{7^-q>k$=5qpaR!@dOQs9xUE1*`=R4*%AKitpO`K3w+f?V>~MhLWjI zuf+B2wlN})y}w#L&sNBBSNh@*#b$b*>!w^CE+?WU1@99aAyHHZX*UnAn`P^SGYxzU zy6IS^Ry51f)n-qB4BMQ2UCT*L*NP^LsRyoTd@(NGY_!_ZbqwCalq%=|94Vxg@>vX4wz6|o zZ(3DaSw1vB^=!aPS_6qej#FS5=31jZz8JLZUIc-d9B+5{Q&q6E{f8@UCb5gii+fK9 zwH_tSYQ$;0A3(?o0BETPsm(U|X!XkK%wxHo59M~$vYk#zsHrAey`Ac@(TnX=$uIy~ zYtQxXcVGVVdUo;4^6m5Gxc|S;mw)}%YlRr`m{NUY%`}!H^s^#6>=_=vYIE1tp&|R< zhJicZFvjH! zM7cDAiGiHd!o&=)y<^1;H;2z$*98;T$Z`>(#DpHRV^51Z*3Yft6J!tdzGZi#e=jwm z9jQqgLeBT-C)Zdb!imG73Pye!6=NL5`RwmC8{{_LTcF-RROQy&lPVJx-X5)R!n~js z(5?wnDvaQyT>NHOVF-ZftXERh8TPU978}Z1HC8L=rK>tI$gtTe%uPcR0yRYjt6RL1 z2%p&APBY33t?Ehb1#%xXc%t#{rn^iEsu_~a#=Luqq0+hy-Q6^-5skFFX%96HtdLnj zR_sDH8+@DrFqB#4E+PmXFghQT4GC9lE$9!ygIP95*HUvW!Ifs2XH$`_sAtduVy}xD zFh{2zLmTvZ{4`j%)x1X;s|n-c%~pNxM2QJkJ=vk&vohnpc!5alRv!tG-5s>+34Iz3 zHEH{q4r}541M5+45gD$8kvQZg|OF3Y>;TSL)DYeCE~lQ zC$8=dP^!cBjHB#|IYUl6Qz5kU?O+reSzHknC$MR4o0U?m5sfs>J#^&sDn_GXbyyQO z8;zhovQAy$@GWmssAPx1q$8UuB@cL$L1phVYI}o_4%)GcDO_4`5u);44=zxg1mOC> zBDl%$BMi@Mltn^n2%cgwUyhd3`3n!3m1c5_NO%hv2Awp!)k2!FiLi8&-i1TnwY4Kn z)05i*)5VqfS2|QXwlX~SV_V>YKxDtJL~W?%fU~t8U`mUI!T@nYN;w+)Y*o@*n`@5R`Ya z5s}(Uz;{^IN}SU`IhtcCb)YC;*&|Ty7?WXk54jFtsu}IZz_L~%UBGfLLAg^sncXXt zLw+5P*iY1VHR)#1pNIrPZI{$%PEMUp{PXL485^&HA2B@4?(miJWMuoyFZ%VI6uHu< zdF{*mqN}HKo)?pO>zbf{0C$M==Eqyd|TuNpJhi8+~1CxD1F4$Twrady4MscO6>2dT ze*NVSZ8@CZn)@tz9zivD`udGp(UukZi!(^>e_WN`6!cltm&k=n1dYs&?Q zpLlX}VS9{+-i8ht!&B;TLg#UT>#$Z42Y8bVx(Zr;9=}e7ha2AztGMNSK3h&-(+5dk zzf2zJ;fXuv6Gw~1{9F38&+{4oIzH!h^vKVJZ$lioeHg`ClqX*$j(*@--gI<;4sLP$ z&1CxcgewQwQRaEHe3Ey=U;O21G>)BF`h0vS`yBB!9Wan@B=aZS(8XM2?r$zho zk7x6zFMr>>xj!A>JiYnw9;T7j*s^Y$e4%=73lVw6kGq}=+Y&H_N9P#(ZM{GK9hoYt z@{2Bd;xUUmg&hU9HMP@$Q>7bHaa0uX+i!C9`h4(CwcLsd_f*bjaj)2NBD&C{r2qin2Jj@840GR{QSq{0;r*`sV#lm*;o%H{ss?i>htKkx!@p#tk^a8V7+H z|3DDS257nFAtxBm@Ho=k>a7A*1CSl%7VHz7tHL@Z>{It{>|OYSN&FT!ACpC;K@BHCW z&j^0pICP}81TjcD$)P4CfGnD|_(0K2$yemis7gn+G#!~numrZ?h|0YsSCfQjj-ZWs zD1Is?QYHEim#4k6UeCssjz>Y8)Q(4xjw~otXpARi#C+P3woHcfy$H2#O=TsE5^~@9KvnZ^}7^IUvio$wgFyw%)#%()_ z1UKN7P8W-jh;HCdyw0aDOUg0Zh(A3z%Klx@g4g2H^ldB-196t{)!4iYf&P4gO8@?t z@{~7PNHe&MG7h{!DEMuOzVuOa>{8< zl#xkC0fxUXWU2NcBo6UrgxA0<(iH7ZyUT`xC5j%5csBKneZY)n=nBtgkT@2MADP8X zBs6d3RGE^=LZPEw35;Af!?qqIrl}#ZRus2-hOgC37#HT|*KdWi3ywr=4SKE*hLv^P zpx;H9s(aG#Ep*Ox;9Uwu`F|FDQ<#Bs1!viKF)1GKs;iwM?EXkZ1QJBKlv^+ayh|YN z^FRZ*!K~Ff_P{P{!vajbpXpCic>563yj9p~ySZZ(+;qE>6%ub~C6Gabs2(`wTdO7J zjL51NbLUIsj0R_eQ`(Yu4MhV>?IUdH2(PrVH?&? zUj->UTMJ{Jk3i%u`NQ&JiT8jbMAWQ|#CIsV33d-tbP+Xak}7zS+W1*gvdMnS30do! zBm8~3{GAHO+VV_#^^sl)mvBOVPd+4G2#FT#e%>ZNMV(2GwdY?K4_y6cwfAfZyrgu6 z7nNVrN9Qm_Sq_sK1{^9|f|tS`Pyr56vo_#RHs?bX>k?7jL3#^aO{*y)MvYk@UQ+j1 z(rGutB>F=@D)OX;z+7zO7a2v>_3kdj#5$Y&mYCQgRtAw<6PcVa;1X$zj8#NP>M&Pw zz)F&{d-UosF)kpEHkXQ7^=6}%1Bbf3kJURyOAzPNOAPirk08J-nWImjS`5O#9jt7t zuQG))F5h7b8_yn%fm=T^FJXXi+ze?-ERjbIBDp&qwC7Z;>0qznPBvTfxhwRy#Xp>1 z@>3tF+vbd6uHtj@@0($->w_^B6L8$7Kqi%Y#gJ|`g!z#fO0X{KAddRQ=Di;iLSWTi zzW!4OiorWN3Yw$fPM>V6DC=+(I4m<{#1}`wmA0tFQRoja$fRB+i>g|w(Q)m42>Ou~ ztuN>&IIC=2Gn|O}AWlL55QTL|zd`iWTM2R$JzGFqMw;sFFLyU`HwHj8$w%GXwJvT_ zT?kdAr9{%f7}@ghdD5Zwkm3ntsjD(<>}o<@r~|sVb(Dn~V9WY1ZheSpPral98)fL# zP&+NDu(s&93!^!mU~SQ9w;vuv<#-YvSrP_j;YES2Ma#G77m+d80gRxs3Okm{WFj^P zau4;x4CLNGbu;Qn1|O~?8S@elbyZQK6*mGnW^tgUAenliKZf{S3|~pVfuq)uET`vp zZ+|)~tbfA@d>GXB^ap8oRZ^Vi<{*b?ertm%v7mX3p1=qc7eh$Z;x z{LMeTZ(---)2Q|C`yYRO`)h_?#3D)COjC*V3t1d>YTJ4q7r>TxVS=VWXUgV_16o|< zC=jyVpG&QjAGb7g5R3Jx+0yV^ECSZl)a@lMf^t?Qd^81b9e%UhK`hp1?oP`d2eGUi z#A1D#K(Gn9tW}e?P5*zxF9r|LXCgqy78(pw&I5*YRp~t>7TK87Wqlgp$Mt$YL!L{l ztW(1!X=dDbN<~{3Ny+=iNfFI8EhR3Ywq)K9VzDluI|o#_F6ub*qFpECz$GRVE}%z} zBRVX-n|WcyAviK!kw}_vRX`n&!adHsaJ5zK$;=BYU`kZtkSGp0SezJ8Ieq&_FZ%TBC8D-eth2c^-Hcwo%%8uF7BpdWF@0Tv)uh-=3a4Y5 z)moO{per|;FkKT+xNeAXB4(|H!{iUUL@C@bmUL$>-0`dw>$74u=^jUZ0d=JrA>U^~|{SL=*>!M@K({oYMFb8w3cIq;QUdQqDkfp%Cg)t14TgR|LvdPTF`V&&D zkbulouj9-i3r(4jVt;H1N%eJ-y1?lL2pg_XS#U-2dCkwaA6lok&^$@C367A%Q&XAA ziUBG1hX!z)VB5f5)ukZY&&QS86omYcDPcKl;l!C5D_Grk1fax-~+}G;=nJ9fIymTjkzC z6Go%h9~zK*m~zXsabkYz9b6qxF7d3p$qp0g>**Bks?6n5HB?d17T6zlRK47FqiDv}HG>l(#B zqU$-+Xi`4Fk0VhEapvfbs@v_THJgh86-QqHmHvWZ5{g&YUXDha z9jBon!$Q`#Xp#jjT@|1ooFN(Jh73d5HHeS1P}a{9hU_iZZMAuqD=$Z(SaHm{SSJhY z=P_Y-^bnMX;7*im8_d+h;viiP>rCZw7+1jVYBU2)q6#VK6X+0Y><)~DlEddE%NqqFTdakoD7@*&wn zkt{c~^e{|StEcMNTAy~jiM#djgvggr{`L0d^WnFNToxjy~Fy2ER}j)to1xD z2Hxnx{|$bgO`d*#e4Iag|Mhv={e1Pe`Xwp0*idhdVM5mXb7`0IbD#|!CS+X%JT=|a z7h44D*D*+{q+nRpQ%P%_YSSGoOor17)^|Hh$oi1z`HDxJ0>1P?j>Cjj4imCIO(57T z?#Ws;QAm>hH@0(=`SXMrczTba)oR8tA?wqy_0Jgcyw*s8(cLJ z95>Coi8M84n2_~Zln)esx{Q;C4imCIE6y(^HoxBPm2!s(eOWH%e@rlM@`o_`{JBkk ztn>6&h4^~eiS?-oVpcf4dfAEfM6mY9F+(B6$*gYk86G`~iszlnc}T?~F8ccC?>{2w zTKyRwwH{9?$vZQ{c3D^4o!W4A5Ege$;E z)j-E7L%L4T|86NBwl0^ui>{*TA96!{t^Tn-pjz>K95SR4g+(C@N;<{e806cgLxxuQ zLshcvD7nGh7sO)yF8PKg0dHm82JBX#1+j|lTBO1$yiSNf^rVN>1x_bGm~fqA+vg!e zR`sL6ZQ9e-ep#|I%H<2&dI&F05Hh0YYydWoAVaq(?lNDrdC@IK6zEQj{Cy55MhIZ-eTnuJ zLh{eljpaN0#6%v)4{hF;XkR{e%Ag`UoqC*~cQt6I$aaWK&ai5W~|s{s9QhLQ4T z*OmaQxVA=^@cKY}985%PEB{+GVyGSS3m?~U==Fm>m=ndtXq(5v#uD;GJs!Qw; zPq8WJ9sJCq#r$>jI9g7~vtphD6N{$rm*3`B_va78*>u_qXLqxH9G+(lv0zeuEH<%d zfZ1%13tWfot~kJKNNl4e>GJq>I-Y!CyDbkb=kwWe`kFrYFn@WW(O;<(M~lV$Tl%!m z^Vv9c4*huE-^aGE_pd*8jHJ&*BW-@(z!j*&FO)R>be!u>H z`TIY=T=k=e|GWL?@2kf@x0+aF{X+FX7Q{QrM`=BeA7_!Oj7;;G^$P=3Iq9B{q1_zy zdG_y0){%04CDuSL`>-X)C&28%sF@&){BS6*6N@Z22 zVx!exVr7aB&9KcejOy-S42jbP_;m<*7s1#cj=Q9z1^}Jkzwpn zwM0y8+wX6EYB_W57e6)KwQ)t}DafF{&~o+x4^?GfPIlK_qp_68Al z6@X)OG1?+9gDJFeOs1nvX+@9F#xX!*Obbk5{PHw<6@eyah2}ydJbYdJH4(`l!N;Yk zyba28XQTVc>}>S#he$cRj4@YnJo!BOI-|S@DGY?3i}DcRMvfwPk!C+%7nGz{!fCzpwIuXmf;`M0kMZ4BUgHZAHxNuDzsVs z(6=f-wfdx8_oNCHk8(dsCyrQqqvux=)tCD(;y;>`u1*i=!JP!{n5q%$YN)*0JFe`% zyFN~ag4AI+WN(83R8x@3R||NNfz~E+G~GHmn#=Fxep4$9p*IG9sAPF?=9BSiv#_ zs=KFR`kTZmTZbZ5x%umK{aIZFUdLP)J*YoBSOl*LYK_cI#zj|b4xqTPSG(exQCdur zCI(!z!nmOL<67|p#9P9xg>R+0FxHJZ=zK3{-dlx0*325iOQpx79RIh1v@GN`A;H!4 zJ4k>c%-D(Y6SpFh)f=RP1VWhrTEz|%^0<68hBfOl2xSu^hJKw9LuwqEp1V@gp)yyY;KD)sq|J-zcMKaKvtq$q1?Ih<;}zn&GE1eFMKe*fsg>0I zy1Llye(LroH*_b$3hN73aT^qZs$=66*@?(`x+>jNI$qi0HV!j+Lr*lybAoA>T z#q|wL9M9Z^*CIrXqe=-b5$GAb)-V}@%t&F<$dT=yh7E?c0M@ELVxA!Xd9xQ*gLdcz zy%WBBUWgDK#ri@Z1*I>9hyLr(9WBXdT~p|&kri*~n>`iJ#N1rI%cf#hvI1%DeVdNH zwNf#qIT8x!CNekI1Bjk9v?=rCH`+oZj`F<*@5FvMutVV5;SC~A;ljlZ!i9DFb`waJC!kny4H=CQ&`t8A$68KNPMVkGE$TVS z^Gd9*3}E9MQ()Q2#>$a7XJg}B>aNQYLxhbM?MoRIi@&u-Ptv`rcWyn*XQHZFbmA=@ z@BbASah%f&{V)HHBO3U16w5sdB a&e||UeNJmp_bnspq^PS{aOqJCZM(i=HA=0zbD^kHoKf@I_(oh!-)pv`qy=HF`&)&Z^R_@T{C<7=V-1=d-CoCl4Ht z!c|tV^8WZADEo@5z8dF(KwH#P4HmSKk$@LaZ_!I9UG>u1gQ}M>AZJ1N3#)vPH43@n zIxc_xj~ekx{>K3P{!ZYEERS*VW_u^L^pDh<$Eq10s%FFp{#2kASV+w-T1EA&gQ~3o zKt15Q;nAm*qoLjW984RUlWA3gS0|TIx38}Q*2|}5aM#K?9XT`C=t?`lBTQz7A`wBG z#?w+4bICT$Hj=Dl28gbeZY-tqD^xHqA(fE_FNnTR@WLj2dU(@JDGvtB3Fa+>hf)q@ zlv1`*{Hm4m!rX7er5rFnOex2_|GJ4S-s^GQK`c1~Udrm=%uN@D5X*c*EFzsL)aL#Z zV&Z3tUuscRs<(-QW;#u|5b8boX#vMTL`n7jd^!d$WbFxUL^Ccy1cE0n<)#-OMaSPs7cVaylXi0m9!U`t?O)5Maj*sG(Sg()NHC&$lp*6> zQ(e)R`Mj-3#Bf}%i5+CoYH=xpUXPy!oVt4LDO)1r;*C~tDCj7_I?}VY@ipXEYt?%3 zv~^!t$NIoY)^z}Fc(kV%q_XT)pO{LRf}4S$hE8e-qb}o(^+O1bPRpD2FwRS_j!^Y- z&?FvIsUYu?S|}<0TPIFY3;}(Tlu6uvXr12TFqI|COF8x=+AwpvZFxjl-Poa$1=DtJ z(2cD@Ol|$EL(IbpiHLcE6vC{kAWnVuf*lYr1B`^#+ zX}+t4;qh7&+!R=@*qXaKSkeXsLOX`^823m!wulTVKAKb}w@TEGK>+Q@=6lfL5LAaH z&hcDZLc&rU*_teDaifhr_V&9mk>vb2eXUjjk^KNv} zB76v*HU-Kph+7UVGdiGr+O`LWh*d)$bgZ@p9b`mx)eyD$HzOde)swO=0-l=g&KFw* z>(^mTO_s96Mc{{C^qKE=c)9f<(eup!Uuxsypn#Qw0<2FH2sR!bRkS6YFy>@{!iK3(6u|LN0dOG9-U!Sbd=;fPjyR>Cd064}=`zqM#~2bnA- zX6YL;T(1&U_2p^rtkO!e~9Wt<2T9}bg0 zS>7hFZHgB9h#SuRCHgWhjJ>U^Z{YvgyAt>&s{F4kDvAi+D9Z775fEE)HAz8^wzS+( z+X{jlhBj>@ZBx>e7UU2_SXTuVZ#k-{;HuyWf(Qz`vK~Mc6%+vxg>ncB$PM!Uz0CVf z-b~&klQx-7q^_T}olG;w`~I%)?|3>Zd!Vj9TlBy+?$~|F);w@e#Oa|Lj)hPYmI%!_ z<`iMSX_EoT^(Oq8yJlr3E;51NDT?>s+|YrJT?OB-hA0M`1&$ z6i3GTop4cD1Q*6HsI}9F!hJ!S;@K=V6KI3rIIGNMk3|S0B`t}WWf5JBcBR;`@*iU{ zTLO|DY&?c81xsz<{$Z$`bdd8v%9u@h22s4zflWPHu)J8}aL6BQT4_odw#}HYFI-$loiL#CWVRb%yHI+=zP8qdY2IWjH z80UwU;U#~#4usycj7T0(|3I~t(V=&socXA+B!==1AU6OyPLNW~oP&tSEh6{)lv_$b z%i>1OXj<^%eC=q1)s1&4cX{vjp9#N_zw`C9!O#AgFyt2^&ct~PwGn7QQYkmr0RM2^ z%U}*sNNSh9X+1K##IcI%4p@Ar2zi0PU`Dl5q=HL~4g*65*GLDoqV|JVDUvec@K)d_ zStmxyPs;41euzjTCjaERF)B=Cf*I@QsVUZYFHFJF!)sHsfPq|0vO3BsgD5eREXGA4 z&@nTqA;4jHnb}SkB+ATWOkYtU76h|`7h*WMWb4m>|CcM zH#h8LM1WSVMiQFpJ{z{_Q|;&LxbdlewhY5UYi!u^DgBjUn2^s7)OtCtG2CKJz{2QK zx7W7<($Z+vn6s*_cg`HpFBNVgD>bDj{D*XarKV)TPh>`ZTQLFK4&f;c&_v}bMW%Sz z_kj2WGLM}0KZa_kEpX)(K~^mrGImZ+ZDP`j-47I#R%8|!NLsKdfQ6*VhP8iaylcOv z&lG_)mtky@dvx(xw2%gbMeM?sGaHdE!#m<}pYwB?mWu4mE zr!)bI^k3g+h2=dwj^g}&?i?o!31H6geVXHPz$}15*#~&kWGHeJ!ut3o`zNIv3{VGY zNcXsl9eEC~6Mm+lrYlD{CqHk@;IxzsSF%0Z)+gH?H_&PWRnBXF@>Q7n@5^M!!Kedz z{e{3IhrVz->bX1*UWeLUa)3@dfIq=_$( zhsWbClb)9AE}&0GzYHFpz7l#H<40^za9**%@EynMW}5vNiV zI=uP9-Ow*C$#>+q%a}v#@`13n$Xo`RZap*K{Rzvc+0O$N2zuugH-RwS^&dE76Mhy<}1lN zD~qyPeN?056oPe%ApDgzS-J~fxbKEqgW8FIQ!>z_^M}QF1Qet+>X4}xzyA`}+#cfW zu)Y-Z@&}2BxvwnpaI!+TJt+{xf2b;qd2lJ$4%dzL3Od?LBixCDWR;O-#_l8545De& zj}@dOj4Z7Y^^9QTDtv;iI9mqHJ&*bTY?6+99#!@l&UYY&F|?x#=TKiaxJg#)5=Vgj zP*DUd5MQ*8N5!_2Mr*Kv0y6VfD+Rk;&>+7l_nso}mmA`(76VO$MLB0d{kS;#aHz<1 zUXjaPALW8v%6|EkB2r!CgPKgw0FNuw9;*cG0BMmb4$6U@k6?%DHG3jf%TfEQZE<=6 zbu(ib{8*^Pau5RMU`GrNJzawlGfHzLu^)pVo>)7jeK}+bUa#{ZxjH8DAy0K(PmHt? zw3_BxxbFrjAx;Qg7v+Q>ecSWE`-E zASC601;iS14r(lg-(JY(KpM^HVNlt%q3oha3Xe?xj5u|n84lrUcunOwmf?R_z#L0* z|Ikukx6%Jen+q(+=HbH#3tf$e!Q?ku+u$#qp6yF#hB{Ma)>Ap}C02q`YR2M=R#h}s z!;6bI8hj)TSy!3H)4acm?`=|btU;O-B2<_hOy9G%5h}eJDi1_!EYdSrxxxt#1Wts( zS&jLb)N-hz12YQf^?_fRra`O&oMMfmF={6Qz)0E+lp~BXBZ=llFw`-Pc;&R8>XL+z z#fKiit#7JuW>#GKUCD82gBT!dlsL90+mq~IU6SR6cV6Pe%C;7uMSD;Vmg55F4!uQs zI6U_(K=}u^spxnp1jo`?#Y(EsK*9`ctb#re8>{Fq35b&yWQIF4+VkOqX9270`fEPz_xDpbh1ri(C#W&1yTfL9S_*N{PQ?0WTWGut5Fm3i1HtBO=!5S{abH z3^#m%^L07kp6@Ozr-H>Wp%-aAP~|k?2Hdd6EC$L{x4^sAPZA6DV1Sv3e9D$&v8;A! zj6mJ9DEmv8!KGKDu%_WI3S~?N3_4Bd0_fpgD~8cRFr&~6bY98^1P`*T1C2_hkL-r_&(jhN~RzuM!R41V~gv1Q~&L9%@=H?)h z9z%z|_6w6tyk;_@Oc+8|pBNIVFJea2TwKmPzMW!}bui z7%?_vJ~2^R9K-Y4Aa)4UygHP4Wtv-c;Gon6j`HoBSA~87BmsgN`N)ZQ*xk7Z$jC`2 zu6GPdCq+18fC&{FJR@3Hya{78LhkXR(qqItk-OBBO(&S}oq2j<$ZRc6tc#g~N=smT zY{uLp`mWVZp4N65qDh&NhWsMq_+n{S7!61x#p>obIy8$k-Ffmxwl$H~EtpJXV1H=m z3uEv)7`M?HNV9Us9;$RjL!tF8W2gzws4k+^Pj<i9DMDnOCdbN0Sy6bh&S6Xe%2-fYNTFqOd}E<2x*~7a1T!E zeOIHqCRFE2q-xVb_nA-y7uqeNYptPML=uGB&$cl02ztRz>cituT~3AOT|bTo)_3{J zyJF4vzzRies=kbdM49iQZE=f5THQi6iY2U5OsjhO48fca>dvbfz~L*`k}+}m@su@0 zD>xo@B=gZ%)fBAgRmv_N(^%!DdIXJGR~(~<;u!zHUWz&+hs8|5c2G9QAkyH7&)QEc znt2H=nQGH#V$md@H7llaSuz<*&DdqY<b8(Fi=VnlkoM3Bq5qiWO^gaQ}Jy^g@e%V5Q(h#R3N(C3VX zS_K`7IP#ZTi@0j8H?~C_L4JOUIL(!Wm5h|GceSW27@bm`AuC0}+d4I)z;KtkkQ5je zk^JQ;Fs!6i5h$~+gUH|u+F1reeT?_OX=56YIMBIgqv}4&bUckfsQZXMM=a)tER>Ds zBdC1OqA)WT^$^ppChXL*6x}5zphs z>$EWlJO5vP7nUL3CLh*7HA$4A7}L`7v>OcPJiXtmOpfxaC5HOkrx zhcMBVm0dihb(?Y~L=IMX)jWQN6Eo|BW3*@oO)#r=gEmo3OoI(sF;+9m@FUbW#N5yY zlR1G(5>*Z+q~w_FsMSWDEw%u{g#87$vbA4_f*BSL^HJjp2&{KNW#X@d$Q%@xl!=G6 zYrL$L-f9aL+zyO8p1Hp??6m!VbACoaV`iNf=s0?XPBjIbZm2J|g zZDfrbEuj+}i&YZ|>M3f#9S^56A4os-3>sn)>UB&C8M`R6JR+?_1uv$th~x(wY73B4 z9m1&}n&)pQB)y`f4@g9}I9ZQ5CftF-4DDE+n}>EjKxJ1WtV7N*0i$t-ND%i=WJ3&j zmQM!}hB6ag2f}1t--f>onDlB?Z+K%gKxni`*{wL7_#T6xRA#)R2TIsffM`ZChT<=z z8RLNcP(4$W`jZh zX|`DGFigOXm)6k|Qu3IiAXMki!lqbE78*$a^hFPi$FT&>tm%VeQCW$ID<8?o!EAyI zkfr*U^EHDwQIzpl{@l26O2dj1m(2Op1lexdGP3BzRKkOl-{4)TqC~AipK09Cmufz&M!7 z!Ir&AZzy`|IyK3fY_-CR3dlU>IDA{O>PeAfQy}%5sX$Sdg%u{AX|@X*J=iWFk#O^N=0 z0y!KbZ(B2yE|EhSZ&^b5e64$+oL|VY2RmK!kYx`x`i&aSeozyi5SIX`&=g_AXg_yQ z>~>aP?DUV8wKyoFa%IFNIlELp*GM zM;#9;PhfqC0oJC-05`S6AR-p)U657b1i*mh8ae4GZXg?ZBw7*Y!TN(`;DTD=(bf)+}LcD`5N2cXa6V|@(U4X;ymhRcPmI``8+H=(!0d7(tdX<8&X|t`A3*ukqSOBIvk9z z%g#|)3=k_CSwjAU>JMI}NXv+mT7jcvy%;G+DKnJ%AtP;=1C%Sr$b0+HeV1Uyf_iF; zHQwSuU>6f-a3TYb8oGC1o*`(eM0Cg$B_u~3^D zW%Y*^+(_SjEUQC1@~weBa!t{%kX{tSc-D{AvkBJ@#878I4Y&v~;l)H5&@l~Qa0xl_ zP1Nl9psP90{r7nF3JC*Bz zhJ>h412#MEjHRvS#jn=uu(amr5>YtU76h~6dh*W|CcMH`m85 z6ECXTtHZD(pB3OA9Jn$i>gLt4R7Q?lSE80cqcD`sHZAv~o4ny6f*$P^Fz9uS{E z=8@A@$WYz21+KgzaFnwlW#{zNCMK;$8WvMbT9H{`AZfwQ02Y!a8y5ee@vi-%K6?bx zU@9QSq5GAwO-ui|9bN`Qb~bspa=FL^&eH2D$^)?WbeDJ;luEN*0wVpo6;BLy&0Gg$ z(m?&oui3U&QLZ!F>&#(=Lfz#Qq(}P4d^uq{&ZWJHbZ>CB4UHah$YqE4&8}=mK@$C- z(3O)@-~^%K38BBPi3F*FGg=F#z={R?D0VhcoEX6~8mVu|3LZ`wsTHxi>#jao#e==3 zak=Aq=a;AD=8fu+97j7fIiX?QWQ*`8TOds-XOgS$cNop~MCgf>L|#@yBI<7ja3(B^ zW&xKV3(_>z^IX8uS0sz(qfUecPi*DBBjPz&A!Rh^W{)rK<0=`rsL-7WcAN)6 zF-wYT3527}4k6u1!(`dTQQmc43dLQ%posukd!;I@QuxcPx#oF&?!#(_RoL^(hMN;; zgUvX3BoT{fqydsdcM|bt(4^0alCbw61wI;61NE~Rf1EqXtX9cDu9QTVO$OT+mws1r z9BlOyHz*ZicG2`n`8nCL`y>4tkGsou=2&t@a=mNr`#?}eAcPAAhFWctoPDm_T^a_tM8*fJ>R_Pp+55JPGBOL;-nqbRvBL)897 zMAjDpdE8_)UutV#*25Px(7+3#qr&nY9!GJ0KX;C^Kyr@nFLPWDc%6l^5AdkTP~<2C zf|aBfvy##c2Jn&$=^l5nBhTS=!p~G@T{*%zUYB`bM(^Sw{qE|XX6|DeRZ`x!m^k6Q zTa(AqO&D*a`>`KE{&@%Tt^M1@PkVJtk(4 zNHg^qlxDOg3@#ctxWJKAmVzX2=t!T$^=iIQd~Y5g%Y>)V=E8sx0+VXEjNJR9&!Iu} zjujntDgud|-6D-9v{n)d7o`9LPfa;o?rT#HBO_tLVyyy!`-%{#5wJ<9Mv2T5@KXfg zudD~8yZQs}yFs@wu>3#+_@rcD5E7Vs1qB(6u!L~?Y%&x${~!e|+*cNPI9Xw6CdoVC zKU5XQJh+tO*}8;g(1fN&xD)p)Q%0H@17p?>~F(s_Zq)E)v5SD&Oael&G((RR zL59-qL4JtQ*mFWc3_9;681#d-p<-imq?&)W-NmrJ1qml7ubA-(Wj{9 zYcMBTX-^ojTmTSHtQ{d2MA$Q1z{nK5UiW(8ibdo@p6a@u7-=JDYoCBYN=U+k2>_^z za>9>tlxV=U9GB!vHvZ0O{OS5zYIDAEcO0N!Z zIsu%N!7(EjC_x)_+*q`UT2V)6qq<)fn*PZV6lF#d&5dBFV;b?wX+PCD<&fRO9>A?{3!=;{Ur}q?AO^@9C61$7UB}n{ zwB#m|l?+G&QUF>>6&h#-0~@QL55&eQ`bz>DsicM#s?<0ViI$fyEzV>EnDBi0kS@CR zS;64Wq6!aJcms%7-M!<)$tg&CY=n+_pIgA5MjqQIQ= z%1rlBCooAeIYZ~{i9fFg{d74l$c|yUjdm@D7ZV3G8L0`eWE-!F)diM-p-?;&8e@Y) zA+9_8tD>vRoUD+8jm(NfKA&MUB?PRLxGIc&f*t6Ecfhh;ChQSI|Ecy1kIH!+bAlz-Jn;hV?pb$DHFGCY)|+f}L$Q92?>z@j&V#0>t^k6J8Fn3X=td|f zU{t3Z)hA#wQu_sFV1lv%Qp%k-U6g6Ead@(6r45l&S?gX{8JI}<5GI7V9GBI1B5^IM)Z*@sKn8sF;h@!35<`;n0rLu zwc5$k+Ac#hDKpZLUt}ELYBV5?6sw!#=+t}Cbmz$%+15mAHefcZf&HPKFO0$KfTH%5 z$Iu!`vvS8Cs&qv|5k}8cL~a>FO?XCi5v6|G2Tho}lN+DNhb&N?X|-Far%z)RjjA(6 z=1b6lvWufk$71dkV{ZA2z~$1>Dj>5SDD#Rg9LWQ+W7U+B z4Co8`=YV3`Aw7kZc&l^9q;Zex#3D#a%`%JOPEO~BIwHvB+)*{silM-Ta<3zB@iJJk zDdI*uHIAWHL5Cua{H4|+uA1wOZ4pP1pPwR5b0uLVBcC5va1BDwJ*O_13!3e2$2|@%7C8{T}?8G0ri=XM( z{8|wFny4p}4P$<4A?ek%QC4wAD^*v>OVi88wDwZwr2&784nuRRzPJhh0>~(~vZ@*e znkFA)3RNEtsJ0T2U_fPpEVY*AIu3c)m_|I08?V#GAng2q`CXi_YqWe=1Jxu^R>m<6 zJsQ!;6j{_gLnL&7wfBw59V}&cl&0o}Aan%HQ|yS;gj~w?)%lI0--zsIAh|61hSYCV zv6~JAx>!V}$HGbrCd)MOBw-VD`ZCa$qrXO3d(pTzj;^fi;xVn;lrtf6u)?e6@iUy5 zStl-@cF+W~YBy*T)xrgPm!eKsYTmgag4ya80l@OVO;*v7)uy&1?wbEN{K}nFC&GVuN0!Q&m@Ws^w zK2kfRud4VqBhR*rVok*y$E7e*Zb3`HO1Tls)N~}})L=xNZI9e(& zKq1?8@?sRl95VICWXz5};+F&}LmJdb_?m2Gn{;X$S>r}aXdYv+Y9c{BMGd&);Z)`W z>8FiFLo7nQj!7Y77iE@5q;;s^#WWU?{9r?E0dlHCIQ2vG{0)VqSCsStiRcz5>oLcK zI}p-~0a@}`o|}huK0swxBdkNtF#)4-Cd3f;Ph>+3d6rKHJc2S4UI)TtUf+hl44Cw4 zRBw1=G(c#yNZGA8ocJDtpj2kOqX$aZRDftkGB@Qfq#5IY{ZKtql=_nqREvrUBqc@S?gMcq$zL;m<16Sd#J?zIZ5y>3sUsi zkZMJ5h^ht~@~_MySg>K8RSjkX)hX!x*S;HtIqyiVg1D-3YBGX!IeqPF-?|RRj$4)K z@w(Rk@LT^y5X(VVjnD`KbsIIBtW2Z$N@N)Ux0;sm`B; zO|h6PG?D=5iyj(}V+opB(+9_*vJw$jK9Z4x*#sFPUve3BiT?--Ol(|Wfr((%5fYV& zXNp8RShYKVW^}3B>xu0-QB>kCEQ5;c%xsUV*sF-}ngB|+V}v2w zZXfC3AxLxuYES*r*Gp9|G4!TH|385oj*+*mnMs$(p^UdIp?tp9Jy6asWZ8qAu6f9^ z2iyW%!`TmN;uGQ$02P`dY#41apeieNyNbLeM9|cK3w~E&c{=%P_+qMH?dW(=xk*HQ z8hSjd@SXV0aDMFUY;COuU9a9h@q0tjcYRC>t`C|6c{z)k<`A=Vgsap)5#xiP46c5P z46K+glv4x|)nZ?yd3758rHjAwU+F&@&D)Zc95yUv0P6A??BOaqYDK;efse-fH5|H&^ z!!mR$SdIg?14H#x`$-V={3PonSUA;bd!fHEhDj8m~NbHDHt7TBm&QC4FO9RD( zmJtaA>K~}qGCK4QlrtbTmc&rr0ptik#|cuZnR5^kxkcojpK?oCXj$N>8C45jTsTu* z%3a>O{qtYox54n6udxk&_K$)gzYuXI&Z9HhZEb4lT}Wm5JS;uZyTr57es?PyQeABM zN0?rb3O+G99E`8a&QVwl5Gxv4LjHs54_>86%ZQU&fum%-7%4|7GnD!vBW;)ilq<)` zd;8FRmte+%dTNU`-r`b_PrNp@3m8PiB(0;IHUNZ1LoQg1i$Wm0SDA^?2REr9zzM$X zbU~s_O~y24X*r_|E>ZVLbg}_}jWPvwUIO;MW1Pj|PHL*e0;-^tya_S$628@^>nVe? zPP8BP+h}6mO%@BasZmycXu*y2-N&*zv?Jdd=p)w@{R-(tF^p&ZSUsC??LZ852GoFy z5EEWZlmQ*n00x(k6W>JLp3}Lp;?$eLe%_!6KJ$|WzTe1t`q+Y4W*BTbE+DHNhQUrP zK#ckh)LiP)cd%2r4roY-3N>J}l*Lve~>DW39+@_DMpVD6)h8_9rK&_YK z8pEYT0SjWYn6x}vHRh~pYo0R)^h<@C$VyG=3I8FjV5uot@DmL5Gqe>muLAPuGhVjQ|(8QZ}+ybOlyZ1Qg9a*+v~rPo!I2Vm{#F7Yxbm1esHMEZ3r zo*3+!xemyrL3ks-X4_sxxz22_Glvxlb(d3+9_b(R<%H=tm-Z&oy}{WwGwXf2omD;Dgd*x5vJVg%1!Ml2CCH*Q9VmKwN3wW6>Qq?p)RwRQ z##dDXs--%`IONZ0DGuFsTd^2Nsx4cap!?nc|Aej6LibWq;SQNbOQf8cPJ1Z>`X7zv zM49V@dzPYR72XYPng?n#@_j1U~1hjHqQG_mFPJtVWoxW7u_<<9Vixf}yena4;`7)>^drBO~0%7(> zV40NBpzn>o?Aqm;NIjGtr$SKFk`h}2;wW=ONP5y>S$1)h_*g86Lfsh*uaaDUNVHP- zL}t?Uk>1x3t+4l(4L2#!2Ay&8h$1HONZ}*FBav_hPx>4!37Zhodq<0Ept_Oq%ef=X z^v4RKmX)l6V5C%Yd_lS@!2rgk-<2E(oBqTNN`>fMw0}~jPPXp;n7_t@@3NgamYk95 zy=)A+0&;uRV39+?L4O^SiIl#Oz(KY+;RvPT+l*kQG}K$xq0mu>T=JIxN6U<=r=+&>7b^H^Gr)jssVX2q_0o zb#$IC=sY8OY}8|bfo4<(FkmyIredi)v;NSAbSIlg#S1G_X`4d#TT zoRCO%lzQC(76!=Hk@f^KhM$)};=Vk@_<3ngDAnS}hlxgZ@xRvUF0Z8^&f?; zYD$Z8oH>vpCoa4HoW5>i@_h&Ib9%jFGhO2#)7PD@6O&COJUXG`v88n|{2Yo?57pr6 z=l6lLWf^|_MWGZ{>Y%V(z3|B(YE;ZzKyeFrD4SM+28t3~8^Iqy^a{UeL|97mb}+lb=bE74>zuyi zE}n7-UsJI_K>}Fk3CSWs+!VdG=t&$PR3z-AZk>1-o)&MDc$+ex;d~P`vX8FGBugGq z@JCtHVp*8z3zLB-+72h_e)1K6gy$TFaypfrM?veUEnW-h0UBxXWX!mL;;yA=gG3Js z!CUPD4xdw1Sl+|wE_A}OhA8@=XQwy|3PPS)SnfN`WN?w-29}U(4kA#;s?>muI#|@S zk}NGx5i7exprXY;kScWDDsQSA0`f6Y@sg|-8dgPFSyKU^s6q6{q93GONh;zMF{kLj zkPleeNl6kY@RdO34@7u3C)`2VqtY^--;X>I{v47%t6kKYScfkA!j zzD1;tvT@K-0yHZ8p5`cY6%d5oB%Ya#BgtEnKjJHvqg5l}y;vQdYLPZ{YYFZo3^&Rkz{_5_plshGmi?l;bF`!e2 zIJ#xNWYG>jWEVEPX2PRzy=*yP7a=_}S{spo;T zq?nX8{6nu$G^W(Mv$PIbDs2K{7f2P+(h80x(oo{zpe1HRN9co{LiHbDA|oH+kiu#M zRgzRqP^A&&c!!$qIO(rZHgpieQNzYD0*daMob^&wY&9q@DHA=P zz%c^g=?8Usq(wTsZhNL6$KlDQ^Z==wV*C1`AV&KNUz$Y=@RDjkB$#A<97YqiN-_xK zR{QC&D3h0vCgC7shr_AdS9;x%cS?;$Q$Vk~5w@}ujAf{mz#vygx&Sj4td-)fMELcw zeEtZRK8l4TF}MuMDY*!!Tw@g>1merI{clAtFpXi#Zk)b^6FU2wJ^1(gr51 zH^qp^f&~;T49!%TvMB@X0f?rJ@sXk)w;L+HQd|3`o)H=rxldSpC~ojLiu3!qbDYwm z1>axhxE#H&D&?gFo?Sb8wqT~q|auOufrJRWzM^t4=e0j=7gUsmkMqwj&<204%kv#97%=Cnby z$Q$m?ZlcD7oZZvu%FD+q8*vZhLWehBxEuP#CHamVcNudi@IB({DlEIW{_q2tyCJJX zxzpw7m0H?;+>r7CBXWDW3r7@Y^u|uG(3HR0FBD&h2a4&1r_tuZ6rGZYit9!Bk{+x= z;ocv8j)3qX^8Tz9!&52(i8v{QRWl~^TUkAmfKm`mMT4MIhbLvmMYXvL64%Ds*ikOB z5U3IGhfs}@H6mE22*O`k0AVu%iyy?4e&7>bS|kK~QZmprs!gUO$P`v0IiLXG^ZQS~?X zIhCmMSOgogOu}dlRwhCG3mKp_&(U&UrV_stc~2e6 zVl9}W)u;f1J{)>zIxl$Ou8%SU7B#R#tzgLUi2!zhv`CK$_kuM+bzmn&;Pyl#Eo!E| zpSGLKCQ!#Smcg%F6b^hWqfb%It1tEm=!RCJiIEj1>YZ3SLN|!8XINnw=JiVda&-*c zJGuP;wnm9VBW54}CCrxC2WB$Rn7X>oC_1eOT1{&WxbFr@A_+5A7x#EQ?om$UY=N~_ z>+>oRgVl$c(Uf2b7~YO!+F1?uFhp1wG9j(X`flx7rCoexTq z-@gSnXAMowh)$gN1OEj{)m=3&5WzkqvOBWfM*m0kEL}Z|yoe~BcC3}I%|$UCPo6i$iB*|+^9rTJnYIBZ%puI zw~5-6DIa~Lu~9PyeRq{A+ILN9u)Q()2q>I(*PKSGA2U^oo2ZK z^zg0~1M64`Cp4|`kd2F?a-xxB$fT0~8q1=A#4AUeM3aqyP)l14POmJJa$2`Y);Fj14jV2H5zu*iosRupmMX|eK&Q4JPu4UIu}y1|Mzovop%!77NW z8bv~$zIL^5-GqIP`q9WZ-$jD`x>C97mdc4BmV>SujwuCKoQ+o0vNDb0%bI&LHd^Zl zT{M`Jpi3sxQmR{Z<^yCdVAMxiim|(~I~=cBa1qHxWEPD(CMm%dpJ+B3%oYoD&?ngO z(mGl~+9afpi$ol%7H=Xv9!RdPC7u*QrU?WUCccDIlqsmEE=-y_K{=*h5!VKu0ZXnU;26}Qi!29CHnsfDrw#@a=ny%yo0o}? zHR<-|??&dUvL-u~`OB<*zmXSDoWxM25P{gKahEs^WkXhI;}+*3Yag(5K&KVjQQfz} zE+aV-QN#YFD*~+5An?_@2k20MlCHHKG|@na1rF-__DyDAWrKppA|4LP=@L=WM;(L} zha<>IgUAzxPzPZ#B*-$Zg4Ky~wwIbglgtf@#mWcdSvZapV7W$ayId}*NU+|yC@#XX z$!zfXh-jFE3_%KsQ?$Wwob@jNVl0%EfLIpm2}zIeXE4`tR>X$XKL%;G1lYe;o}A*+ zady(c=Q~qB3>^A?l9du{oa$7*QuH54NcacA5oRD$FVpma#IZT}8=`U1Cc;~8Q>#J5 zv(Y{JqHK%?Qzp!|1pg)t)ce;Ff~b0wAc!mLKIm7w`X=)Jid>X!`2It!39i467J(WK z$s$PT7QZP+H-Ip4?6$8l#4DnAUt<+T2}*#gI=?=G`6O`*55XjalnWcmnI=j{cXo=G zDT)a#BQgrqVNk7QRO!!)GzX@X-gw2H!8h888gx|>D1)sE`V+I(LFnVNwiLX@) zlR}XVW9z`e^pjMK3XKj;Lt5JvTTevh2J58>jmi2oK@+d~;VW&JIFzf)$ov1mS0qPhA{9a9ryUBvPUqxB@q5U?}cOT2j&`uRc6wr^vBY3gwD19-khkzg^47he6hC&2t zzD0-$>OabWj%ff>o>Zm)qi)S<{g_xVMwkOVFb>i49B4AL&T|kw2de+0pgXnj94JvK z6C8bb4t6Tl0UZocp#^MqbFJuIJ}p4)O-w6gB*6oDx0?FY3SI?VP)zB?f>)s-z`-gd zVwql@BSALh@hQ0pSN zxYXnI&uC+-GGb#+iXFM^K&_YK8pEyT1g#}@mr1LqRbwvXAW@9JG6(cag`3DqP3Z~$ zA-!X%DOvCn+3TsTn2&A8SEQnHl_FC-?0Z0b0x;f8O2kBaCquR47P#`rh?H!|*g46L z0^u=V0iHtjF=;hYoKs9%kyl_KX~D(;ws^~A(_h7(Jpw5(6%b?An?bY!wz&y?#%hbG z3Yx@xPVmVGzDkO5LP2UYC6%mOEG0SVWTh)ejrT(sdN0os_u+hmwz-=8;)nfU>J26 zqt~#&gH>yInts$8pIZ)|l&RZQj!cbPdus#@2l;bXg2rf^kVsUglEM*#VBjH@A?i`_M8Q1PcCLr}m{eB; z5IB)f^+0~zXrTrURjlx0qRfjUR)vevOUL18Zv?8&3qZMxr%ZW@&T({L>CY`pRFGZq~!(+-CCr$QZ5a(p}kC68k)UF8ptfX`U z*=vd(CO)sP5GsZ6<5D-+PZ8kh)p3l^b4JuCpGLyt1xyASa>riYzg8d zzkx`b3^+XAM)t*b9yb~8n%dfz1_yZ1e=+v+IEwT8xpSNal5>2Y=C~X{ zju*;4z@sKZk)zNF`D}QT=m;3n9b*gJjvOHjaODV}_Q)PPpk!c%ImKxiRoo-J(3LQx zoSebCslxIe{yQ=maxk!fq0hpX=7=ww9?0|Hb!e`J9H5)q!=K=|`MgpWkr&_X(q;3y z-34A(vGgDnHOYw%kH=jmJuTN=K%b6&S+OIJz6^RBoDwD zhC>1A@saifvPlsy?Z^e4i1G*|!b4$4hcZqbKR-e=nF>Oud*D2e!C*ychYoz=AMi|m zAp%O4GgS7)H%;Vj{}++rBEIkS{jKt(kpKXR^%cS==<|?#jx1v-;u1Zf5Do#=Z|uBi zE+mcU`mq@y?wKh1F_RLqp!yW`E>;<%J{6vsrjm$G3GKK^4RchdR2wZ=(1H(ON}v`# z-1~&{gO(&4`eXF^%33$0$BJ>n=~7e zr+94|7^3X!Jk7>kJ!p#%-e43Y17!)2U2F5(X^s#CNWt$D4>N)&^95^Vs1bLy619^x zNEcd7CMoxf_>Z!*#kM>FcsTe$zu)cg=DYLUMUH}080}AwCQG9Y|2ci#q=?oxIPN~D z*E^O*88mpv_Z9+sD2$aO{$e%U$53u*fO{zn5C-!kJS97Al#5uZT|&BoMx1#OGrph+ z!y&W=qAP{?jfMIk{-PPE!@)5MsQP|gh{AT~WBtQ!j~ofk2SxT~==h&4<~Ko;@MT$^KG^brea32x$` z7;y+5>R?Txf!Id3isDa1cc^r=42Sxt5+WjrY%F2u$nR;6LRSI7NKa?M7$<2{q93Ht z%{YS%x8a*e8Z||LcE#+AK{i4ZDoTyXzu1ARS~1cp#rJV6@lh=-*! zG-T#kPcaadg2>Hh902q|!)C<~TI=IQ7qDAP{bK-g>sN>Za))+8oFX`{pyUi&X0Y)JYC@)7!* z{zS@cKm(AmPvl2E4}IbXEs>Awj7A!ABPh*@hIoNT7yh5xBPPV-4uQhrJhU7-i10Az z*WLDfJR zCKtpZQRswPjFfLeFvfQEryKUq-WGUIRyRPSMV^UEgck%I zMi#ThW{2V#Y|unN8lX9o6BX$PcCdtG6(z8fEvr5qO)H8pebqJ$+ZfTeV06ifJ`AzY zo9y#E8+D7oRVBElQRJaTd<(BK)H^pN>h7H@Tm8De&7ggoT*x7U<&dj}ai`FV!|8r3 zwor5>@{GOB`cbO9Y806~M=)eaOEGpgb`OV>iS`mQOU7kf5^V8_W+QarTcBk4w?ITHP*0t&U66eq;Qn-cy1aB?vQ zx*n`EXVN2XXsTLP2T@BEpW+sp{+4{wCZ)P3KL9zJR(x`?sPitVs1|(MWi&=2YSZw_ zJtI|&DZd@)F^6;>^AD9-bk$>_GLw%vYStvgm*5X5vi|CQ5iLEha9Lj%l@_uv6Sh23 zc8^4_DQIq@R>)xPQe&l&oSTR|84P8a7Wq_FO2$RGE|XeaoP>gCBh&d9$kCNGZ&1)aIZ%9)>L+ys95RS9T;)a;SFnwhb>jKA^0M`_wW7=$( z!pDHnmVn#iu|XlaHLP=QuicIGxUz)4r(~r<_yHtZR9Wmt_6;48Byu1A-b3H;HoX)8 z0$*fvkibG^@Q4~AAir7-x<3?XAirvcZEwYYbjKCrmXQ(!ab;a^wR&< z4&#e4FXbYLu_D_k7vmVBFp+Cg3{~XM7J>@}xT^E&Bgln{m2PU44rXlSetcAvj&M`x zM{8P@&IdRzB^47|Mr1Uo!=PHr$h$ywun5Zem>NrBV4_6oEI`Hr9AiOB{h#2GP?dtU zDYuB+^HXjqVI~VCH6xF~sq;-?9W0%~sze^sA+Y|zujKD=B&`3B!WjaqJ>kp_bLA>i zx+d%>0`7Sj9B4R+fVg0xhvLIIbVg`!`!~RQ-^cMvB>hkSi)IW`bEZwgt=c&{>Bqz_V4Lx6*IGvn@3Q3iBOW0q1a zGPp$Db;*H*t8Ysh+G+~pJkwy40ph>}R6bO9#8pTa0o$AFd<1MzA?y_~k5N!z0o7zm zzC;adKFun~z^o75hwZW27)3hBfs5>KtDM^r=Fd z9XCtM=v+|`2TeifwV{(gyNa$t1X8^;6=21ZW<;q?L?44wBNkz?<%W>xp^m41aEb#d zI5dK4oCek@8LHI=Dnc>El0ah7F!%Crb?%PhqwK6?Y$p%2naoRDJoHe0`RR!H*I5FJ%E#t2LI~ zw}YN|px>tffKoC7afL^sRQ#k%Kp9O56s3OwL@Dz^bu)N^&fww7XXLe)9mh5W!5>`K{ev|pkl zPBVWhI&{fgMv!-PzIm-wv2kA}(w*}7F!F3Q?4xJFJsYA-=Fvzsjy@cE{5mgF-`A=M7-(06W6G*SwT+G=f6Gw77Y2>4C??z5*2vKKkK-#4nHZ+6;{ zzTNMNqmdeinyHI#OeU_rh`h@gtMLsNQTTcSBW4)&&Eb;O7sChSy_LodV%a;LTpXaP|^#h+;<^7EA{`cK&NlxrjUS3p?ke8QjbSDK-Yjr`k9)fJp zcovwICZP$fHmW*UmJo9XY@BU2%c>wWO~rBXrmXbp@TL>I(Iujuq8aID3D{^Tz=93t z+Y2Z~FR%8&M#YA)TqM{HUes8U?bk; zCo(N9G0|*>KXnwi@`}jKK|Q3C+!;wmuzPY9x^i*~$PQd2B2(M~T)tO$;4MH`MbJJA zUp?mC;lCB-M4* zyg;PJE0PC>+I72){!d!PZjtL(0oT=7J>UH@`N-faPR~wpk|wLv*1l3HA5;J>(tkPq z#9TR2&Na)qPGOs9745t5-r`{zC1E{fu}ZDbo7~5y)+iu<9C>;Z7#|p~OJB3Lj1RpU zHpro-(K+48T`%Q~cI4^K)N-)r;6#8(`DlJ+))SEqXc8lJ;ePbgrOth!+6e&g`*s6m zSfkAEqivP?zOjgR<$SwphBIW5qz6#zYh%mIic7yMIWBDw17nTqe#FsIa_8Ag9C+FA zblq-fi<~;epVdH39~-8jzsH7YwOTpERSQ&3!-~>s9E3$Hz)_CfY8uAGY}g^vRp<;< z+i_Lz$@?qm@S-sm>-ZlaykIBHSfsW?0p16Z9PiXq)-9 z+NE&-b;6?T6=Br_y&5%AG@wP1j729&r!^1&d3e=|fpUxl2--;o1PHRE3Y8L#u9PGgJk*z5rMC^#qQcbR%P z-Gxq=w*V9a)y_tf1-5UIs%R6&2eB7N;1<6%DbZ0Xlt7G$H4#`j0g9Kf=A`Xaq+`UB zm}5a>TYc11c-&rx*9DDU=I(J&+8u71C6d4d7fz50bQ~;{oM2EXZtu=Uw*>A0=-S!2 zog3X^AFVd1M0Sv1QmL3n#A$3{vX&vq(UlfNX$+#0YJCnW>*_G{QHK#|n<2p^Xg3CL z-0nal8gXoXl7|o`;0S^2)qdIA{x?)E!nC?)yz?x?6LKYUHa}={F zK9My-hqKx#zS>Sm8C7JYBy*+>f{|zWA4a_rE<%>r)_gQ%P<0W&+C;t@4LAv-MM`+n zS_N&$c4>`g98MxesK#Oz3I`l>qA3x4q1(j;o7;JV?HP*-6!84?TiUC@#xNN;i;tD1qtp(*Y?&9ZS7o|A%-w zL~Ei9F~@@X$NC`fYcG*xNHED0Nj#3gWT3R8gd>nu1=K!AfH43^yVe-fEab6Zm%>!y zDxeG~pHFYa?_J=Z$i&8MP!O9ehbPbJg{$^-m%x9-w15=pav8!C)v_g~AZ!WnUeKXv zPR?<79U~nj&iEW6d3Y4B6u{ak-BO+8667lU%b!4Jv?K&F?+h z*?rJR)7aD=c>_o0j0)1uTw}?ViIp)?L97tA0Y*ej3uom!eaj>wT?zjNpi;=GWn_aR zlfmn86qV#UJzqrZ&`MybF)(rVRX*T4PdR#?$aE`Maz6Ji&m)iA9xp+6?{St=A zSDTGT>f}jDnBcgAJQ*y~aKmn)4iZBs8SOO4WX+(_VvWcCHgpK1VG4Z#w#V%T;v=A$ z3xjXSb>#PR=QyPeU%pRsTn@-k6w*JYf8c|u@9Tb8*7)QF7qq;fSNEi>^5OfpHhg=w zb55H-*S^)O<--sEIjqD~{7J{Z*E6Nu`*QL%H>7?$rNOk8&kpVP;lJNJH*WaY zkG5^x{riFAvo}7w^rNoBoW0hM-M0Ji$#5FC>omkuT;>PvrH)ztb+XEL| zh(Anzd+d>2Z%;UV?9N^*_VjaKwsY;w7Nc9tpY!0MEeE>}IdY}@y6dl!{DJtF@WZLQ ze{PgqIbrC8K5f|VgikKM^o}E6nRhJPJ-6A@Up#t)dG&#h4tDva%lB{HbN%q~hyHWr z2=|#|r&jG~kc-_SpUp%g$^qGwXlbb%b{axoHO}y_pj`mQz z^|mcr)*p63udDHe(+8{QT7PQA>G|u|4S5y5;O|FM6u+S9$_JYK@xOILlVoT7vG9Q= z-kH}eN&WK2<)x!GFDuD=&gAUfwClw2kEDGaCwqU)@^qW~K$G_;$iJ;g`LK#+$(85+ z*Z5qMMJo<}(Rbu3OpU<0nL-YIhzw^qv!FhA8U9^1fzYIk` zefYwr%gY|!eCM$j`gHi%G89%e<hI-m_?qk5-ru0( zw0~?`JYvM9#uPV?XpdceLL2hZ=7E_q627e*gaVTE%<5w`slP$~B*S^OPK{ zg_BLwD~?S0*{-{Km_FP4-5axh_TG5+j0tzme4!4EbK z-!W_6nVb(#?s~EPr@t3GcRJ2Jw$D}nT0d>!sEgkC^6h31ReYI#QHio_-r23e@)mCt zt&>T7w?*BaPpKTe`nv`8LGzv)`ticOvtHi#_>tEa%>uIKZn zt!;k)?St36`t0x<<5!;eW%;#_y|kN1wj>jg4;~`}p{_7cHIlz4_k7b8?5h7I%C7VXxiyTtnt2B#&A- z09N5_R^h1D4EV{4?7i%%#QHZ6$n5gxiJfb{c)I{xazIm+w${|x(zc!WVd8c1L!X;nZ^9St7JPftLEEa6{XX3D+Ka0{`J|g^PQe2m=Zu)&vb2ru z?IzwfM<44a(-Pu>{qY{Ci>`yV|9Gi*$oIqKqTW+|e!`n9v@C<)9r`O%fy{;37W=^`P`M9c=zUcMs>yD1!fAzfik_n3j zHo2$4@>w5k*eqE9_K7EZE^CnV?0fOKsj~a?_Wb$jLBlWYG-iKQW!1?wyDoZa)J4-a zHb0zPd35!^*WGwaqqKP?>l1hEe{aJT-!16B_VGW69=a}W$W!CvPcQu7wH0rd4!-Qy zzgNARwfYX3WfO5RdE(VgrW{!M&wDzEhlC%}2UR@Us>;5jX?#|$B(5i z_mjsHUUls3F!9hMj`gz>TQy3YH*W9iJAR!tV0}W<&ztUfeZ%PkAG!Zga%#b(QwxfZ zth4Q&TW`*^**kw8G_3Tl1FkLK?fd7azYmyrcvi1@qaS^@^VEtj2VQxk75h%uyE&B# z(mLX{!a1@x*say%cc)eC{58Ah$uHV3?)&}dpGL2}t6t^U1@^U8SCdoktZm+B(XvCI zHEVxi)rwg!_b{bh-mb-@Glw4B^~X1TI<#KUdBKJIuj#VIde5T|UePf>{lAIpf1lst zZ2mW|oGN+fpPN5RORg;ZxAhwKMkFt>&S zhf0Bm>bke!Y57AXfia(w{z7XIP-{KKt5=xe^Esn!x5>^(&wxLF^19bv*?85Ic$cH^ zBT9l-H5N{s+u@yyU6J*xlfCvUqJ zP`LHSAvee#$50RM^2&;%ds^??w7Bs-OA0QfF46Cq7kzoF(z|WoO@o(fK9DBYZoO{< zf8(3gPZbYIu55k#KiggD*F)0pngENt)%NO=bh*a<2PldwTNl1e+yv>Lun$)?8&2E3 z|FOO@fqp6-?rUmlyFE`$t>`nP=|*LAB*Tdvz9@Kt{Z_cyZg;}_csb+8OOv+zP4*G< zHrHR;AgOHqw*Sh`=yoZ%3w`c>>dF4S8Z3Y1A!D5E;l!J*=s^6hm%qBMmv~6{;Tl+` z_}gBc)8zfm)p+>6_a51`&av^eevY3$9R2yZI~sfox@SpOiBw50IEUz_*&jb4*UC@& z9OzaT-$Px_-qubV+r0>{{D<2{c9A`__*%Mkg|~7%^MkjZ77qzOENl;g{NUw1x-}SQ zAM&GI9Qj0LlvDKDC(*7Rv-9eAIR*I0Ga-|^ukv8 z_c-kE;hL|%c}8}3euP#Ig|*)`Ztr8VGpa_y@%Z@Rm%J8Vf9r+b6y+xvem%VJYXjc* z;)V^9wp@mC?|)#~iIaDMnX+xlbj!}@c0K%k+2}(Z4W+HBuBd4Cr0o9uPw>CxAU1CW zAg6p-w+25BY&zo;5|*r=(`n69?J`%NIJ9$m$?HpG*J8hV{xzVeT3382N5?i$U6*9%b+(htY`H(EjwHxQMSC-sVZ5C|fAzQTxHWD7tKZf7uz6hc{{3tHHP5_8^cbxs>$Kfrj_9g6J zdhSBUwiWZ&JZH?ltW$%e>tFlkaoJ<}SFxzPs4Gs3cv-bVBi@zQ*z3b`sy0-uI|LPC>N3UBHg{9j@P*yMY|5u9ajEZ|M zn$~Q}%6;p%tXW>V!Mo41?xSg+TzJWf&MS5=%x-uR?s?=l|B&4gbI)FK&$IT*pQ>u$ zs#_{rFKa}oR-)ZF!Z}mwycyYbF*`voa?dnKQY167|TK5|R z%)a=7hx{Kb_f-Su$fa=WZT|x&W$MkH##m48_x-0oZ8T?UMYF414B}<4C;wqkoqg^u?JZHh^&5EKfa6OCE?Rcvx+z7A7Hkur zG2n-F*8$9yEc{dU!Q@47{J`GB35DRY_M89hm9pFR-%^kVORn5HWZACu;6yK*JMI?$ zpU7_3at~O{A6`BsKV$ijiv6vse&4cm`r=7vml!7f`L*NwH=lp_Xu}RGnm!YEI<0)n z*^+BdAL%lt|8Gb3Bn&uncu>lHvkC{D{ru%kZ=F0e-?64ov(;x#uDyKk%i|Wkv-R+A zOB+4EX3EZ)%{+w*Y)>@tE@*%6co{|FAq0tKY7po+_vMk z7AIGJ=h$OuJK?`C9qhSl$TQQMcn9C+XfDNx{}wKo4CGLLrw0}8p=H;j-~RY^{*Fr> zUp;4h`stjmE3?5V(yuzcWii5D+) zuR6Q_?eatI$a+k_W+&5_ zD{L#?Z}ru@NqwEoA^2-h_S4C&|9h?1tcxeC*tn%%gXJ5qHFS}_W#-*h044VR&B^iw z`ELU+P(s6c-|^eYx%VGvykO3ljKeQ&Sv6sh{m+lr?wWhzrmp8!H|#LY`Q^$h=MFnJ z^qYyF9$Nd*vXbpv|F?Ye7)z_F@(E)WHSYY!gT4Rp(X2Mz8z!Az;(yojYqebpieuTn z>@hM_c6;%n zBrU(QyyNhzQ@)z{=E+`nzyH6fhTN~7>uviXvG1Ja_pf`~`_{fKLr*2a`jlmC4-#2_ z1|WFsvG#=Rp4sL#De(vKR&Dzo*qWe>yDaRrf zq8kfdxk$EPl|AZhy>7~kS08Q@-{GEPkNt1|sol3d-SOzRvu>OGtMA&4cQ3bmwPM`S znYV4d-Tvo?f1f(1%g6@fP9EMeZU1X~$2d0^0qL}GN}{qQx{tVZH_Mjbg2|gMvbwk3 zWG(#hn$I3<_UxI(+p@p=*XcDI{ye*2|F|sBp*P#6{I^9je~`OYh2R+$-7@C$=@0{to!ob3z%}VtRNYT>)Ao87$n6%qhaZRc z1PA2zi)5lKUi^V>%i!}bhqZW5ZgGBW3m!n){wEu^u0QN>z2}=NJ$dDExcv#MF1kRz zgs+1DfBZN&+glncEyM+rJ+QjZe$*vbPW`@rXT?3qmB)WNa`x?!zkPh|^NA%_G=Ai| zxlMpfo;AK;-OLt^zI=AOwfli}8;@W9$o2ECdaeJ~&aU@%Juz?U#{Qk!J=&t{#PluT zq)hE};7rlx`wtG@@p#$#=6@{vVAQ0m7k%{Smno+f%}x37z>1l3uFhTe!eH0DO=YLv z`RAfq@9_s|A zvEcWeyPFR_GArq&eJ4%|Qrcziw2I@~-P@Cr_U&!r{W#sb-`4Cv(eCEAUo~Z$KPT|T z<1NQ_+I`>c%FEmp7UKGa<5s+M^z`;~E4zJp=2rLkoz2$#`{Ap5jQ{x1$t{ys{+V{F z(Z7$k*gom(nL|g)UfJHY(?w@RWj(r&zEeQH#>b! zm-{A+e?K99+ywAA_K(^$tn97XpA387{X2`>^ou9=@7lOv{P9n>UQ*U#{43iVlK=iR zq4@ZxJx-lnQ(C{lACTPePJW@w**`Y!C|h-U*yLwU_9N1I?5C0qSB^Lb|9`{0bN@I# z^X%?@8_47IfXCXhvE_`0Z)I(Z=53hq;*!%}CLX+O=}(8(6@%w8>*@t>q*U%He=qmQ&j3#kck8axi=M-!I(x$DQr# z-`sU2D-k_gCJt}0&&yKH?-e5;|BAsKaJj9 zwr1P?8!nr^qGXKex2B&BU$Vd1jvtP0Xnk(tkv}@G`Q<+gE(cHJhNCz4Zy^u$Cl_5) z3~SZ$_~f51xpB|&MNe$Ir1#pA7C(|@7=P}DJ;&#LKC8|2$&)8PG5i3)Y8>H_y4^YA z{@*|N-`+PCUzh*-r6^pV^t|YoSvMa#zUajCefir~-}lPSk7oE}tNY}l21$ACpKjFn z;HvE_pDr%B+|*&j#4V4%oV(?fd5?bj+x-WYbzNrdP%(7t=RK1v-+!R-M=^xVx@H(E}x%h%7Z>5Vq`OeGkICthqtGRa^erD;4)_v!7nef!d%Vzs- z_0hf+TaqjH+*Y=Kv$5^nLnmD2z44hYd#i3~zo5f{O|P}-vtiyO@8SLf+pj7cVL$ZX z!2$jMxpMd1gVV2Vf3V*RuPrdIy*~ccHg~M8^d5WS=A|8PpR<0)x%5Qd;R9C z|2)zDfmiTV-}@Bk@A>t;iR9H=Qc0Mx|MhjoS7uN6_a~n5#CuzKMbg@t3)rD*xgz>X;V93fSu3y!hdyJ>{1j0i^!@_iuWP>s@lD z?C9=)Ibf-?x4*cw;PtQCFCNzM9H{$i`gcD1%HQkHnS0`nQQr^m^+2Zy-!>d?dv$Z8 zj#o}8n*OelQA|~@fMn14)@BtDYPbq)?h^}_P3z_+?{wkfu76(E()He%k?|MMS^#ui zo4yLU-L@AF>raeCzbiMd7+bRWeOG2vThY+NtH#Z|>x~1AyPiHi&+7bX$C#`BwzmDi zZTBoIICu6~BjVfk958)-r%O9p`=|W3nXTZ)Z@Wxf)bZa#NA=(H@HgMh8&P~_bV@RD zEkA$!>bV;~IeKT07SB(uc<;zRcU1jh%v--BWzo%xHs=4>FllDmh7VXR^&mXU*7VjT ze;1tJcj5IP``d-}zJvc>bZn~cQTVrib@^{k4|?+L;`u$=q*Ok(YuAzaz{NHH_@(B| zn*z7_^v{exlR_L20O!Bpzs>eP{MJ27r#;rpHtn74wbL%W`qs@!;*G^!1^&*JZx#`I zd+%nrmo>NU`@A8fhTnbjIwq&o4OsCX$53Buc|TAgTW-r;S${|e@K-)5hfLy*rK`>s zHf`Fp0i?2f>}x-=J{62^^S}lkckPIK5mur#I9KtGJ3AU$%h|rkOW?GnPj9(bxUp_m zgOPvnfrSn0btd`Gii+gQ&P#U2P4|g-leTYxPH^?f9tkH`bs~OP`>_Y6JXG=f-{?ij zY2$zyT)wG&!35toRvd>fynpd)1H0e*K0IWj`VUp~_~<`F2T&)14ZiX}hHu~Z*hh}~ zt*VL^KAFg{F@_uAVqaG+qeN@fR5-KEw~zJmd6SLy-U9AwqXHVabUR4=-TrZJ5r20p z_@rBZzqVlgnTIM~+_~_2=03k@_jc*N@81UM$S`LAW`kq(R8RkJ-o&N73vPBveE}tn zj!kXyeuo?J#oiB3v}I?(HRShv!Xs~9*kTA=GUe&Fo)F#>ELXR4MCez2u+-!Gv&wbw zeOrfiE@@Lq9_8Xif1Vh%?z4^UsRgJQ0;@citn%b{;qIS(^{P2@dVt?>M`Gdb^>Z9w zJk`!|=ER{nbKd@%b62geF-z~?b?=&K&#pdobl>Xs9ajDH{pd#4ag&Fw zeXQZe1sfXt?QfZB+Xp|^d}_r#X>VlL8%9|13h$pM_Wk&A;V*RMpCt*1!Jqbh7M`Iq zd8{@6x%sni{yDW`=aDofiF0$>!55g7=~nSxy#o*0)=pY8t-YkkMlWmUjLUy zXKz1rXXg!R*#pa(uUp^c^#0<5A0NMU-WM;X4BgrK*`ZhMT0f^5Ni&~0K4|6Pr(ZdX zN&2L%xt$w#tg0Xx&c^Swd%x#nfaQgs9Q%FC>IdKWv-KS(e_h3y9b+iH})#+S+S3Z_EVKDCJkG)Hjd)BifG9Ac2BwB)l@VFfSj)Q z??unFl^4n^9|)G}>u2K|ZEHU9#Eu7(*BkR8THIT_v7fE=r&T8op6L1DM|(<1Y16E3 zqi?*d%h7K$n_c|U#wG8pdjFia^$(-7f9}}m$^|d|cH-pS$1RWFy!)M;&!2qTyXTu} zlXqC|7*z@D66aVRO>yCXxO8zl%`-#tNtGA!sy8WRe>pOLDH9LFw z&5>J39{1^=!Boud@xg|w_KPm5SAR&mCV#6e+ji)!w_O`Q8+gV1gVxLTFWK@du)ot^ zxN+*XC588t|NgZDJq(?8OgfS0&DU^QHkKW+eUc$FI9B>9fz?{Xy@KuYTsp_dm9M zVCcC<6PEA&=!FX=4{R{r{ae|b3$|Xi`HJH= z4469c;Gs5_!s`ySu|1a2qyD(wps|t?&mP*8d3x(e;T9)f)v)}xqK6;Jz7KA-$_$U$ zrG5Ehzg?EJyevZ~#COnU$)!TnsIZGD`?ip@~-n)%WGV#+oX(2j<*49klChx1Q@L z=_8qdY!2n=mUq-1VJ-G25r}tpWo3Qd@`N62cGX)(5;*}xuaiKp3*~HoyBft{QpYaS zXNZksXu`K4tHW_40{WsZwDT|+uXB{U7V4LCEYd~$C<~oe6(p(eU-Z|OH4Auvf9<;$)+V|=e0p5eoGfM#_57_ z?&+bisk;H-vvC_aHUY|sHkVpndTplN$U5LYDk$OawUOVBR3zo{FS~ju70=}9uGW{w zF*Zt1O=lWa`WP6dFYQVqwgp_vDeH(WpkyGCu#i;qP@hRJS1csZ-L=jME3V5FvWmW0ze?)1ry9vfOR4m%tVhP$Kx zG2#|+3vhLO26jL4^8kXF#g$ZFm34X7JaOTlGKKih$)!}$IWG~Yo4-#6~^&e?CvAWS5 z?kSe4S9l*!{yFr{H9_Y-0)|k+7#R{!FcSBZr0I-r^F++g&zAel8!1I=EL&P%E_6JV zyIIr$+_5;11S0G*P8o4^z=bbO(R!_Z zpZhEkMma0JiQn#(lPj6z-X=Vn+ZZV4uqhnv;4*mq`j@i)gz)282LBy^m;UgZIt?-a zRQqL^b`J}b6_TU$qTH&y69w$n2(@jlXJA`A4t8T`gnP$%G-updf2rm{V^W7jT|4ne zNoz8Agjshc--h~UBD4~Hn5)$+*iMRri9mm>eb)e*O+HcEvE6c{DqvfDcz^(cD$|dMa$;ol^|vGJ@WiCn`46Eq3RYlOrf}Z*V*$idCsMMI)Qq zEhQiiF>bD6tP10lsX|aM$?te4Kb3wdw{wX-`L-DwYtEH1+zM<_BIVX!awk|#K0j0& z`}rj%kg`QTiGb%?iqcl8%X)(G{P5MPws*zj>BSumS@$~l zwq-c&mnONduOr~|{mw**8yr*1wgXIIUb9)J#v`5L=`b5*Q4de!3_+tPuWbYOk}{)g zeKH~n&89doZOZPA(vTNsIpJ$kz#reY^-wUY<=Zh)gN zay*W1@lOF%zx)p67nbKc{pA#1+v6J@qrnn+`TtgU9{h((pbw-RxuPqh@qQd`>b^yW zYjxU>iQlVKp2%^7ihdsOnXV>cP1g!S3pYo1JZs=LQVR0gGn$THiK`OoL) zq&bhtEF<=oT(Ofv+pJR*2!^~{udzQ6`XvVjuQW6kYn%SH(BPb`{tm=>F@8@MH0m|R z;{sAzy^=eVcG8y{byo;SXYP`qx_MzK7z3Q--cY1+bpA$x)|_N0`-ol?Txpu!c+YcuKM20US|6cFo|u+n?K&{`eM3d>j0`REaQL)9l;iY z3zDS_CZ7Z`iz_$Q{hOEwN|84EZv1rG5h{E%@tfG3qX`=3(Qy``A7S0GP;W}~aMUkY z2(x`TeHkm-C@J$W!&N(T@->Chiut_IzZ^0}ZX_R4dL)D-C;A7Dchg~(-qk@BrhE&x zr`j@O20bfv-{y?q-hiDYELk=1SJ`MJjdo%L4s}u})l6x7&X(B?lMQeucy0S%_Qz#= zPz#_qSs1IoL8Y-u$yUJ*|E{&mnto$v+35!b_h!Y0Wx@}Rjhk6N`|TDls|J{LW@Pk; z+tx$XrRuRfxlW+^; zp_k<}Udv`)9d@KDF*v*n1^~3E8M=h)@DfsM z^Q?QS4{64(azYu{MuqE#i@l`3#l*m=8M1Gb}!|&X;)ZW@GKZFeR+86#SM(d{L>3a0XRZm zTUx7Io69XhwOiQZkXEk6^0U~jl^&-X89EPa_h${graomT1U09@5S3pI75Lj=4fuU0 zck$lS9;eG+?dL(_k$tQ<6^gwU(VRLsmXn0~i`MnVVzx}oe z^!+(K-;MQw(B1Q^fuioM#^wDTIJUn_`8YKQCNBE4Q6uof!}CUx2nt$farSOUYUy56 zFW~AVoET}SooJeM?R+s5J&=B(<37HJR{evf+pL^miNlUZet!sdrl8{8Av$o z+t_c7mUg>^nHFI$3frG5xBQ&#XH{#L&px?Isj;{3H=4!<9xPui-5-aNdoM!E!pL(; z5mBcrg39=Lvg!|}186eN#XKd2pxMIl4da>aWI^NpMY84e5l8BUu;-$O_2Q|i%?8q6 zG}8j^-0AA(he;4fC^-I+dwrhF{Z)h$n@_q;C!t*}SGmJQY3^=v!JF0URRC&@@F~T2 zpGs_1>dy)t1Xt*O&-@qG7lR-iw=eY}!AC_V=~+e}u4N;AOeM5^?1L~obFS^GrbBaT zk7&ETQ(x{}ZSzd@qsxCqj69drVFAx0wUFoxuY-LAq~_EXy;eXaZ%XOiFW@DxE{00I zT(zHn%_6~POz3lTyLt%a@kPdLoJ368{Y3mg-E1F=#^&G#8RyFgxnSuqL&5y(vlVsU zywavVFgEUem(qDfF5LAg(0FD#vHj$9tc74`h>Pz4ARJ-mo_ndEwvKf!G<w zCvC>k-{$;WzbmiDM{ePr^$Oo1prTWgab$Y6Xg}h%ak-H0q#xH*@dR6!5_gu($3`sQ zRiPleT(ZqAHXv2MU%J)MlV2l_m7jK+xnIoUaU|>)_3!=aJ_P$EY%v0{wYQ=W$f)~% zUP8B_s4~7R5&7M2It)9J29njMBeejvbwyipAj5GUYVoCObxP(|LrXU>&YW6M2slHj zdCt2v5~s@Oqmg~7eJx3H{8aenZ9H$ZOQ1nV{kcz4;&r!P%N!CpmT;%#mgmuQsj;p} zxjH%@1cYGFN|bfEAJip+w0@mNT;~R^iz@DWkCHD>94BH$+-)wvD!zG7?kwOAEu6?8DeB?vV;x z06Rk)x_*xVgB78(1>T4-sHQ!NneP>J3tDI5|^qj(}_0W865=XbY>2hT;E(Q6%^y{kI7 zGR6HWc#WL5`q_YsJGx(>RB|do{msItK*JuZqQ_4ndu;w50&UDyvi6%j|7ONH^Kb}f z-yI~8gTPWB_XHLwK|vlahLQsScWzb0bAP}6_g*^RN`=j#gG0|v!l-uKS5{)~Ghou@ zFzb%=OB#0@%eIu=-TYRg=-O$zj@!F4U0*slqaY$1U-t9um;Ye}*zrU!d8B8mWK_tO zyfs@*xX|B9S@$yQ>ekA0D#dQXAQ>gU~{{O3V^H z#NAh`xoN`X*Ue2`#uMCZ3f3o6s-a0SAon{NxBKx_{bKPr&-IDI&QDE=PW>)JQMxwd z8?)tJePsv)W(NiG0Ct-KUJFPTKJacaTQFv9O`9pO3zu*HOiC0?FF2qFNR`UxFnj3V zG59%8O3Cb(;W1-rJpC=JTE|O}O@_RP>HYfeG7h4XI8Jy>B&9|kQw%An@U`_NviSV? zu^uglwV?wqe(5!0Fe4u$%q7Y1@!5f2dDt5-R+lV{b8`+))Sjr|7++`!VSjvl(Wbc6 z;u|la*9*IvBq-dp46wj8qeaOS4 zO-Q#C)+`xfn$M`Mx&l9Bh%s^Xbd6Is9j4}j5u!DJZ1F=VH@o`T3GbH8-@qeDJk7?$ zlPf(-=i@((8wdHMe3Ao(leITASq@<{+2NIJDPdc#MxUV?OV{7PNY3O$DqCrD`e~=EW`3@A-m2-A8!|R;vZ;n6U%I z;|Hvv%8_fo_?J2oVb?)W9MOoFJW&F_O?BP8j{`0{H21U&@zZ%LXr^v6=sEYd~l-m4Jvjh4Tznf#lkY^zeDniZ-`vwhN zs)Drx)21%h0&&>_O5Bd$jD0oyw?Ri@{a%`^u0qQ(O$dt!&Ai{Jv(Np~NZiON%g%Ia zpv19ZUfP$^VHSf&KAxD2=h9EQDE=kBF~3_OzWxD|;8ETmh`lXQ*YNq_O#XL&3zi;E zBAl+#6x2uG2(Z43vsVKf=*?>uY(f9uUBBr@?;~t!`ZZ*?s3!5&bkn%(uY#FUn!v@F zeNmo6_NCeEskbA514aESUF}9HOa`{Eknl>;8fp3B_E>DLOKO5-!fvTuJJ8l+N_Qy5 zaO*C^*#zkFJ-4T2zKy_o*PsY95pgxXNpj?&-TFlGILXK3KV8P-wF}?$%LkjhF{x>N zwU92@!Y^}&LnPsBe1dCySR%EZ7eR%ag2lkuI7qkDR6NX zPds{{&^8d&UqzmSlvjxz+>5^r0LqPY$^!kJ%U6d|Dc?HL@iq@HAuN-9w+D9p23#2) zVmkp6d^lS1rV75ja_~zO_5OSrXvB;+$hXmF_zb2nnJoTXd{oZ4*lD(5hZ8tX&Ga%L zv>cT=$o?ZN@q%Va*-!xc<8dqLHGuAt%Ci0{?y-hKA>DjY?}E3YDCsTmvJzQV<@HfQ zDQma3T}NulhGh~yjX(Oy)is_9lt69sBUw$*h5X@X-1T+$>#_xagOfg0q4+TCtTo%$ zI*gn5-vKY?xw@FFz_~o&wR4-RYbv8)_(7fX&BW=N?8v6P+QuUrG?o)X6zx;#r=S5; zxku%dG-yp8_<%G7u;e+0>YEh0(Z3DgtS-Cgu3hPeMCnIEkq*;dB8HztzqtUQWkr_} zuI5BT)S(Med=h>wc6KF0_g4Cx!q@o-i+j}^4oh|9u0I)vEXMzOiq@e+nwtJl4+|uV zXO7S7@>uB;6p%OTso4n=P^wwt05y0jj>t>o(xo6oZ%&C)lMQ6 z%iop{tAzlQIyZJu=zUD*RPbF+vLQ`!rURp?=7#MeZ!*e+<-Hu&MxO=h7!Q`*Yq4yZ zn}?qIxRR?~k5sv$WzCrOe7yH#{>&DOKIZbFHa!n-rMy{8!n{d-@BIr5K4IJ;SOQ?{ z;y}5R-`pD5@sI=*JF;H5V9>{|;Z&#JYKabqXxLL~7qg7ez(cov`**g=cUCf+rK{4j#;z660FVzZYT7^wtdc)bOf5?G27BJ52*Dj-rSn}4sbO3&K zQbPL|Ncsp-*K3Wy3xmkg3Tp!ZO>U?3>(}dNFT2|FCnV@i;o-F`&f|7X2rpq0RNYZs{5hv@n}vDN`st|>%j^Z4UCUIubqXqEJxjUL zB&OixZ7z}W5>8sRHhxw5r-Kl?jdUjtbn7BapE~|aK;ADQ|Nck>AC^C2bsPTr+?Vmc z)a~#q#Z9-nBcDTg1A6$?pI`cXB!&^2&glI8k!lst?)v7cxwnsRu6LHxh?LAJuYMO$ z*pEyMNY}kkEU;Oluze3-9QG;lVRq$r7DM+FNwdctzwid~RgSN&ZjLK(%P+mt^v|{I z3ij<1x?diW~0&Uce>IpaPom&kuu@T_L<$N!v} zOWbbVKQv?8Q$9Mv`cK~{))NVlE?M&uJlF5DmUOuCnoHn{oeZB0?R8n1j7D}!2eI2a zhNXy~R=fvk%&=Cx&CP&vh`MD;DIfl!ZNR4$=TMVAd(Rl5mA>=hd%f@{FF_ z3yFc{+f(HXkP4Cw|q_D>-!v^pB=jV34XvD8Azv!|CqL3U_% zM!Yt|zsHE-k(!~SL7yRgwG~=APqQZ2c+|d0PQt3cM9O`=HBmzY6BZ6UD2#!N3F0Le zy30J=?jOKV>DQ=k>MbV`7H^N2cxLmCO%>nBfht;P_TREQS>_Akj-a%QoB6Ht?nMA zKR3U!-U%b#wIVJFZ=1>S6S*z|N(yV=BULnF!)98;Yj)CUZkvriP9Wmk(>DJofhRuT z%~XTXto@AhHuMqX7{*+TehzsNtAnz)A}6wx9*C{H$~{5jk+R0z5UrP_%f_Qcdc!X5 zStj>fz7df)MAZriFGH%3a9vFB=h07-A@2=qpOrDyQ%m$li0S9vy)HQ%bnvKc^J7oh z4XvXt3u)W_5l zQoZnjCXnO)xq`VW%E&VLowcSwO^?Z|wO-+4e1zxzNU#5)g$Rjeh}9a-$KCt9Uv2ro zM&YzYL+E(}PM^krcO%F-)UXWKEY&d9wBqcgHR5W({l|VivT@G0nR^`{_}H@5#jK|- zCZ7)T>gc-rLD>7V%JQ1t73Pq&vZDbMbqsNsU4m{KVEgL-tT$oH)BkY0Hp1{EJ2^ls zPpyI^sD&jaMN0YeE~wOY<%<*$n+x=c;M74TPTW4I2?DZZAI!{#{lC(xM3J z^Ja!htUH8)*|LqJFTOipq&nQ`CirxuV%v|OhOB__hR&yPN15JdnfkAu0IUsSF+1v_ouW}1 zQln4!o=>3&&DyVl!w?oRMmg+NgLm0d@HLBT6+1Z)8U?0 zO$E8{ilvxzk+RiWyE6yO)p4$hQpI%WmSG z=XbhtTW1gs9#Bt-Z)7kSW5fR>)C|^-mhTt6!&f<=Bfy%Rq4BU>_OthWwxf;PkGTfe z4sB2_ASKgT&z0hcz3HuGCacn6Pd$>7&x`0497m?T48>Tct7+V63&NQ-tk^>Jo$tRX>prAy|2r|1opSbV>Nd?(v-Gh~Eji0NhDxj1TlbGT+$aP~t+M+&f8 z-9HT=p3bg{T!4x#1!ySowo56bDVmUxj!!Zsnv_qFH=mGM{)wiIUv6-vOO$PRouUnetVW1CUK0$rQW3H!80Jp5qXLR;-!sHU}067 z{csBskLecCWfgjV7@NpW9f5f1!sWe@gj-nW*-a$mde)o2%nF5>MFO=h!rMx@y^(Cl zOW1yw`;>w31kA}E7Z`D3-Ow1W3$r%B$L5@D7P}o=R;tDp(U`#C0dc<;N%I8xXXvA| zsF~1xo3zFB=pBtxvVD;8=xWrV`6u5GhRc3{R;bd}7uh4G5dSZnul}02vpHU!4Br0y zPN;HYs62N~290@5R>}ZB|7;S0)u*wHR6}p!<(ZHNbaz{cu?pMs;mAZOO2m8KmtKWI zC=GUlSTcT14i38tV$SD}c**Gqeig#S)5Et{H7b5hWZ4VqOxs7Nj9)Y41N8Op2{!+r zufidU?oMOSE_wVTm3IvR0o823y+`POhk6vCdb6ULmi9z38HqE$00?*2($TZ`0AL?R z_Z=h)sG#t3$Kgi77w}C>?E*?>nqi)Em1HWLo6pJ?U)v$kGa`nyM;h9()01`L6mW$% zlEmG2DdCqN4(^zLlpi1oT!^sbd*SR7!qK|!?nqL$Id;;wilo!P&H765&VtvrCd1$g zSoalpI=AxAS}-hY7qa2f0g~!wydbKN+OT=-uMt|m=R6r5kS zcObooK@O%x^u6-WJw|e9H`sy2FwAs_Ynmp(Xqwv`$?SUyEIU%)#cgva070ZA^KSe5 z<1LU$hmNyuhjtnQ09AOjy>f(=>oiK;*K;4Jm2{L)VGd2$7M>qN0GyUL3{Q^T}&A zyGg#*{cb!eo>Rp3A@moNFebL%8xg$wN@?+nu8KHoDJ=9*MinSlY}z;0)2 zMTWje?M)HyE_?2zc10N!PEZwPdSbRo8U%h|DH zk}+Y)OCOX{1m&Ra~{dXM}ndgir+ z;=8g+L!x{o_9n`(+^X)gh^(gwv} zvu2>795C11`(ygdScF%qcfa^zi9pNtQRJyQXbuFcm1YZk?)Mdm$5bg8f8l{;U zuAlP9324N9`y@Cu`wj%(c8gYib#ShHyK{#kkjvG4MY!rKIh{Gu4EDRgY@W5-BsXkN z42(0%J$v>DaizHxvG_D*Jf*{|OdE^-HLk=c6Y1hq0s#eb1qEBsOHH6O}NiS52&{#x>wd*8%gV;p`nlX`f>HG)eEA$yG66!uud>l0hzUx>p$IXQwO zS_{ybBOO}{$LhaD(qZ&<{c*Zs zASnRF& zuURRic|L#B0g}>L=58x@KEsos#gGoq-;)w@06>%Gz5#1Iln|F^Ki+uUwC)KItyh_6 zHU1VMMO+~~Rl`!7t`|An)^I7Wy93TMzazi36!f=<j3s-D? z4|~##L!Aey*T>2JS5pisBFXg)l__~HX;%n3S<@jRa@ZH7$dkzrXF00@`JMY{47At$ zBRU6>AU8P161}Nb;c-C*tGECQk2SmbIpJ4)djPMC9N^@U|IGn9kOK2)4XDonbHAI; z;t`q;ux*gJPV&W2gPj2$^COY#zW;hm9y|)vm7izwr7dZ1{&Y`^t}`XF-`+Yeh5d0C zu2Eg(#lJ#sO99QC|D)VEfZY85v%LS$_wiiLP7JtC+dEJ~vvln!)FJ0sXDc!G8O21ML)PLH{ zn?{g{gSk#H?JtAj-vdPzT?aYT6*TKNMMRhC`td*m`fr&-ukCu$45yxs-cWs7p(c>X zwRi6uu?8?<7Eh!P;E~a1r04(lXZ+75gj4_njR64C%TW_gZgIi=>p=`32;F7)N1}kU z0_+i2l({f3Oefli$|Hd>M+m{cI#P4Hs4#vqZG>cFdVyuAv?dYX=7N;Iu9~4-k?~wg z`}1x3*u-smpL4uYfQqqF+K5Q*h4Q(=gl}l(6G#hrI?p9}Vom-h2o)6<4Nu+B*2aR! z+e7HYa(xSmJi~biB^Q$+-ubtL*(~;4(E=`XE%0wS`U%AAibD@q= zDiSmeZ8%8vxHFz4L7mW86nzT&5+3c$>zrK}9s#{+nGm}+1v0+H^v>(A)6zj4;nAC0 z%g_fGwROqV(kfq(N?D;`(l8F)XS2%ukVVs5{#O6xi?oV0?|{yWGb-Z4kHWW8Q-E5H z%DC@qg^5L^2^Yw7&Vlj^`LqjRA0wteiSEsAu?O073H)?E>0AE1sF~Q^S}Y<>NNj=x z<7rPtXHSALy%})yxk?6w)wj7TP{z}D9vyw=<`67boc>pnl1|>)-H72i5Iy184(pfF zEkeT2v^}M@SZ3N8)%X!ot^4rT!Xmf{MswuTJ#7%y z|A)ZL{N(Jj_() z{z`xc7u&7V|B~SUn;$1q@vb-y!o$J;dX4c3k18xzAxJV?fU5f(-08Y zs_ZHUHlJ~IGej|vrmwZ^Q0=USYX?HLoQPKucNzrb@Z}Tg{))fs-TMoOD6j&Aws=V# z7(2Q!Lh7{P9pS&G*x{;4mVWp;Io}Nsz%!Bj&~-c$t^Sw@%Z1c-Dqrd_{0^b57HbC9 z#uHh%yf(*SYNQ5-=@C5xW~{Dlu^eQp*r9IA48i&*Uwx5j6|&Jrf^-CH*v|g+jCQD9 z;9_AFfm#LABd+Erx!681FT9WT zBHQt2+z~DX@#jx6zHob;KyPi$dMSK`=4R)q?G1mmNPfqqH-ws6+pZ6%Hiv@^1CXZI zFsU(CVuEKcs-u?)QJx1UqxrD(NHqDp(H}XGUB=xDXmnhQJtl9P13ZZ1Knp+aFxkdG zdwQ22_9xiGIgp(B;hS%Rkz*uy60Zmqmj`G8{NRKHm}Y%nV-y9EXCp9gjo2bbC1_Z9 zWV5F{4H-px*R)}=j|AK2*dw$#YS>6_7VqGA10YPwv-m^6H>86YNp#)f998HIT9#yg?S$C4UxObN zhRswZCm{Wk|CoC`8M2NCunzgvqnW3H&W&`bir?KsPtd{sae9{Hw!^yz%MKT-OdW=l zIv>b4BbNO~|6R-?(tWmd!@<(#4JexEsU_&S#omHH_!O6O0B?)j=I9UDu8qf;FacQS z$Q+2bKZ0K9O@73RcwkB~sAidPqq(ha}4jQmX z1(aw*v`t7jAsakn(H zR|{I(%c66D5TkeyD~9s;yx$C%hO9|JJ6<2@Rr!=ghh%TzUHXa~hJZK9wa*7ZajHvP z7OLJ~PeJCFbIETG(FQ_^*6&ORGj+0?HJCuC;bQ^^sdvc}zK8(YpaG2$Vc<0%_eq@2jZe_WC3d8HH#s-z83;u$gS*F_`H^D}BVZ z>w{@+d8?58%+NINH@^DT=`n`wL)Z&TfYsaQT}Va|{*Ef=S7b!`*0FzBBL0r; zvyv@Mkff}&1J!3dgTnIP1PR{<-Kb7ZTVKmuNEih)tPISmr)y=pXc*NYZ(TP4J(|rY zA|gSO3Tp8Hg>Cmy*le5&2~_3Ekn)H>i@|d$W=$sp1Rp&;zMAD+WY6{>Y$qLX9LKz@ zi&W}0S6?8Q!I;o#O;8Dh1ZtWijd0koJ|s=D3+h2lr0TKaLR3^#`%2!g#F8tGciuo3 zt*n$W{TnV2uEXxR<$mZmr3YI!^uPl00_;BnKjl{d!8ScI^|3A=P}+_&@xj(PxGl%FUv8zM`Qu!s-wmrveLis50Jgqr0eaL_WSYaYOm&HTvaZ zs1beA^hRs2$bs_h^(htE&3Eh2EnFRYD{y{BuID1rZ!Q3*tw{0o2Yl_gSU~RaP=Ip( zQ|@A;cG**ka@a{If?6j!4+p>T$F&k+*fPU3FF7+*_VeKpwpZU} zfow$Jkxn2dLkF3);xfQtW>`f3q7e=vVXGqvRspIm0zItPxEfz|@M^%R8I4vX_c;y7 z6$%s~jkD&>FNZK0$YlBdN(QMoP$`M|5ZdP@MI0dEa%)nKjG8vPLQ(6zn)QdbkbJsE zHBErN<@gd(=j;QdX22Y2Zdj1?gtk&DL|EQdC5g^52axNZ4*RoKo|H+U#u3_%~H? z$wwMTfBF8cyVIdCv2GIt27U0&d7fq#KFkpRNwkndqc8&8+x^~rcXx`-1 z@NCP4XTle4dP|}7uVN7NywkR1h{cxbv*pMs7Ck$qg0UFOs_l(gLkokXi+Y-_*0S_R z8if+_o|K_a$~dyU6|UB;0Tg>pf~x*6-A4cneLdN$w(k{z93@gjc!_Wh`A6ENKOWie znbQfB9F@zUpLOGMpR2s6AJT|8e`LICse$p-!CgN{0t328BjEJB6^XI%;ss{&_85K* zADhq=1M$|^JhwemH<&#IdN7wKj5Q{T-L{}$Y`)=2y$iqt zLh@s5GFk@P0c8f3OeSd4*&Uujfgp8?Eq;oLpm-~5doz&OiDc63`zy12geMB6FY=+&o$q*j!q+$!pRmp(`)Fw6zkjp^ zsYqY@a4r^OGe0c3Vii$TR9*0S6-<96OX!h*f)6;VT*S0nPpFp!lPvYuifcC*WTtS>Tk6xe6mVaZPwKh7{+uY-T9R`ybOd|&L4JTJ3bDEj z$Uvbj!mDttCoNZf%ix6kGd!14o(|eA@9pc(wXB9WFbE2$u#hX&c+Z1*HCRa^U>N52 z_V1yUjqpoM1d^9sB`J%aWqKjMl)tN_^(}LmF!qg*aOa;GD#;r5hc4kCV1zfTP*irxS`GNVh z2QaRJ+U1e+x?TgA8!3YS0EljJM(RT%YzLf9{^#o%s3K(eh9c?Ky!Nj*bmS-*wIrz- zLv`JnwU!R_8)s@5Sii=Rt%R zwJGBPve`KY!{YgY)bb@DZo$#)CQN&@`8}@pp~wLw&-fE6V&WmX($_x8XoFP*ULuFE zhte7pKpr6ouxO#1GBPGW=6^&(osu4l#B?$b=!1*IIYHd#mY=6})<_I= zlXP+O-?hNAQ-2BI!5hN?(y&y_A$O!hrZgt-=YT=~&aX#>u3^77zqbdhy#6Y1&BpW{ zh@?xqSTs#FRO%+QY734m_7-~V9K6o&NX`3=~X=_MDRa@`gC)_1_R|#5MJxWVP|!;GxOgca=a*9T^njt8wN$Lhg!> zg_$K+21EjZ~ee%Tysr3GrJupvgWseS0bm=}e=y^Z3l3EpqJ6$ zz26qHDLj06_Q@*S!xN~HXGV5LK`L`+P5H@#*=!r{d7e2<&rxt$NkQ^}uTPvW8S$Z# zb-9$n+%)~-qGH!?#lG480xZQ zr(+h+?hJ;{KigW+48nniYC!ji!w1$txz(78=x5bj$K08>R8TV-&DNF2HMR{-^p?6w zAY%ZGtJQ(3#WU|r>E^!NWtIaFer9{K!m7#UYr>`*MCTTZgyt7bX4k%QV(;}khv9_v^7o>Xe*Rim$8F8xxA3enWyL@?>GS}x*L-8&+8GFefI6*RDv z9(q-0Vv>6d-so;`euHf)o)>7eHxc@pHxWPMQKJ3&-ikgbKXj2YKE9J$VI$0N5osG^fU4?7@Q z5<52A7x#%rQjrIZ%_!fF$)w@(W3BU1JOLYU3%W?r-ijwtJU$u$GOnapF-BNFkMw_z z`MLUAqT3i^5^{!!Gx$hPnG;GE@D5SrZE{-&wzgNwX=juj98S&eRB=JKw!pUGw>^JW z4y&C2hkYczC7aA+soe%zA2O;ES{7~HW-spKb@soQdbP8-Fi_?}*5}bArjuuNlOS2Y zzr0%P%Dac1HhC|0R!^24+^!`5CceE5!#-MIFc!f*2Y|GQdmw6xM{6b4>6vw@GbEmeWsC`l_#=jJd|FMQ8iF)WOa z#6$9PZam&i>vi#2ul;-#2MBII;?G)kdOlH_GCm1g+l|~TFDR*pOMxC!losd!x--f{ zM30er+ug%|8o&HmT&-zU+OOJ%L-2o!M;E)ti}C(rBCXfxenC1n^m_q0Y#^>B>! zh^MQd5{fgF_pUDy`lAXwlC$JXCc4aE_!9Z%@0v%&#l^2&zkWTb=~j=J`5+~tE_`R; zvZODs4C&rd!8Z$5ca0hF_~c0y%~7L{s={Y=S$Qu6f^gPB2i%FUi*&HZa#>$|4uP5B zJ)cRBItpfnQ1`RZ)fRpu=QEMReSm=Zd`LKj$0sa=ubY^dF6ca5@fLNN8#R3pPES)E zdVtTtw2fCWF>Fm%_j7Y|7w4))2~V}7@F0IP>_?*9J|ItqtR5KL^WY&z6Kt@ zM+Vv~i#kq(N(EWTVKPpA&IqQO>XbAIRu9>67UQr6wIG~{N^pQ;1sg0vm$B}FBnds{ z%<=Jb##G&I&ilxJ26CM9O==unU7AC3T$ji!PLMnL@!<;>^51F>Y`2xTIDBF5O#uOs zxgv%pi55T(1HE+`f6Utx>fh$8nJ=QbsqBnsv1^pfEkFt+;}zR`njdX+l9$n#!kUkt zQTdh1r-xu~rC(t$JnEuTNWgro8@ zeG7I~%x+MzX!wC30mxMjUx947tympMD{`_n>Egkf%Wsc?1r(;#vSjy1cX#8fPSBn6 z14#%rYO+eE1A?P;{tEe8ACdzEdG~%w zJ1?ZZt-bwnhC%5=Z@V7%x3h;mJ>G|kimsKan)z-fh~54|Hy%GR6v*x9F;MOH_%d3K z5;ig3I6()tLbEwNF5^aiD#sL`YgLgcL)${T03|Nbc~d0E!P2CRBmY|un4s1Odyyc0 zG&OzBC*Qs4SjBUQWO^?!D0Oypw0z5wz&msrFfk~+fBm$=tmF72ecG;bWR5*`Ka2qq=%bBq}9j z;r-KFFE$~P6{bJ*#k6`6W@s@K!5fDttIW0~C~0o@6w+>Qz&smHdZa{u27tZNgGcG| zwthI33kET$_Z;&Q!~3!$_Y(I(BoLie_tb$gI~twWn@aUz=xh%0i<_gjY%XYmA7-en zTP3E)$j0^c3#=9GR@jN9&ANQGjj?Ham`n85#~=o5*4=kKZuHM0H%u#YzgZpW z4_S3G$Y=1e$}<6qh?qr7(&L7hyXDHVX%tcI;@1uP`YS)Wg~d`2%k6q3efx$}jWYBL ztyxuWS7b-_Bc^TaH50Rv#Hmx4O-v4gRlDrquz8bhp^CxN6Jmxa$MC(oIw9t~g6X^Z zg(yBi@uSrqGe3EId{RB{9Tpt zeB;Op&B%%YpKaB5asPBD7l&5=vbS~Tf0i9eWt~8R>~*0B>I}? zz{tS$to$E+g03HDY>5w;ZpE(wXS*P=1sL&>~{TWqi=H|@7}z*XqBdd;$%NBh9c@hEU0&4vTRL#nH=%h2KEtu>O!sRu5 zL^`X6yzSl9ngc;gOWZA@O(lv4RcT(qL;5d(EfrSfzMk3DreKpO^~E!oCZlk@ zjzQdl)f&tfFNG_+pW+~xq*pMu^3rU7DP>o4?+1CeVBBbGqqc#IX)v8)?g4e~B7d(w z<&wl3y3FY3dC~pn#;Q-ksnCxXl)%XeKc3GS$(8ziI`eh*fiD5<>9j9y%4U7F6r@uc zKlO8HGXO2kA(1}1BF{@1F2$Z*P_|*JC+;FKcuJtpjeg|?qgIN+`xVh2Fup4XAw0eQlVIn1hha%3g<*`jr=O^8ntNa+KD26t9eV5IwoIQ8qbb}lyvy zIlc8Uca*gfXWE%R6;}q)AEaQH?{i&RulkA%5_SDiIBpKbtF~NA?eQWz;Mz0AJeKI0 z>NLChDQ1K_`XjCeM9yywa zd42Nkq>?$JXy>tyUMQ2Gjz>ojEmAlJPhBE4ewA{K?n?|>C&&-Dw~^w-qLeSz1|Q;; zQClPK5&Aww#xGQ;i}p0$u|`gVei4RbT6CuCw*ho; zxA~=i-{2r8+S~gC_(G3MN+@gDs8qqAK<6ptyRTKA#;9j980?L!ayYz4$tO6A0S+$a zjHcICPb6mBW!zl!z`}R)zSgE@2ovu~HYAjKm-Up>rftm~ob21!celT!aKR~oXY|?9 z(v(DmZ1a9IeuCr~ye#=fC0RUjFW>u=v{7#TfQ`&us>`LJ1O<9Kb* zXYoEjNHFz6`TI=oL|U5?b8N_(e5M+20&K-U@^vUFIoG4p? z-&e3;Tyvi6?1j&ujj;Eo-T+Lf2>x;t?FKz@dLs|N7HvGxh&WdM3^Ucy;IcyKD|Wj4 z#v*cscUfsAY{b#az9(Wb4||T;As=RLuE?n|JK4LG2z(NaDg@s)ViFw~1zuF;iQufs z>kgql)ThbaWBjtPD%;e=eus=!`jvUQA)my}!by+EpW2V!Oc=5K)^h2jS!3`OdCR-^ z%T~WE>=a3P#iMnE1nM}xeK38w@Dn1kO{u5JTp-9Y-S-~gKDqvc08V43J2#u1qht>; z-Ekz7q&*sh3$1zVKsrxntA8#H^Y%(4xmH!Z_tgR#Q=W6jPiT?c8W%Rxh*|6j&dTFV zI&tDf!R^{B*16zQ&LF-C-pbSperj+tpH8fv>Gse)2M2pql$_n5MH{~0>0O=t`ybBR z89F#LU0(Sy@IpJPM2pWSL41qXdgtI-s@6LRV^ubhML%x~K6Bd)P9}Wh5_obuZ*aXz z;1Rh_4KMXg0gN4F!zWuJkEH0TcWyO^jl8j7Zo+vKEQ#csJbtHR6BrEC^DzF4G1vHF z#4QA(%}4V)*VkQL0c3e+KYoy~^J81vQ>nuKASflf@q2UL>s0?2b8j6K_4mIG8>C2y zEGi(dlp>)tE48#Vf*>tODcudafOLs;ETNP%NW%)!jYyZ$uyikZpY`+k{_fxW{&?oO z=b3xv`G*;0ncY3_b6#=1uIoBx&@tFrZkDh$FJ(fo3_b5xi;lvzn^23d&Dt*Jpl6F1 z+xKqf&@JugISUj!%aBW0H&5K86=#);+hWB^2sGKPJR-TL!4qZpb3ob8l!jG6xQ4--mmiw#LG^(J>r&9(1G9Z=Y<>%*HZ0he1 zjg<^1PA&_1Pyb;-#8G_N_K^vA}chvGQu*#@#xu8UvF^eTzjw&vT>UP=chQf zV0(Z=4ku~~L#9gwnK)gep3(0>DpCcG>5t8~P*fOG9k{v+WUfsZZIFCX%koL@)mV9< zvi_F$pkLwf{5Q#;3U;3>v;QFmnZE*r6!1x;G8Tyq8B7A$V-K{>=HPsx82Kqrg89U zr9IV+N=C0WSiKk!b=vSCOlrV!!G>4B-qeo}di#M#y|n7C(Wj75(Bare_sBj4wacTv zT6Agft56=F8rtk@LN%iPW~=w8w9D|IE9}yb+;tfc5%;f8i%94l`EL8s-ERDy+5NL; z>yFsTU}SDlQPGM5myc%6wANXfB$}HAzeaX-CRlMxtCH45yx63j( zBwd<2Hcdq3*ISV;x^WSaSO3J=$UK4x1qFI^v?4FQmyP{3Ms<-mPVRa*aQnn%7VGTv zS1i`Hspa4*q;j>&Ji3Lq=A>=V880PL%3p0X-`@$@KiX7%DkN?cIQW-c+HTc}CtZYxIp z-55|K2s|DQGuwT`M(a@J;g!Y(${a_1$~iMJqbyw^6#C_qfp=QF`ziDAlzp}M>?F^aO0zCuCi=XWz&1h6%n#RL5J)uSBKR!+%cTBAGlQc)6y z4BYTNVKG)Np~Hl%RE*Ea1G~A8pbnDsJ)NAr9-7`NeDtN}^2=U7heBO}k`BtpPmRS*U^=eAb^DaNuz*56=3cPx zkyxQ217Xgqfjsp<=tk1|*NKSS`B(-+Q(SVVPvzI0;a6}JK_R^%nMVV)V0b_dr5eUz zNLXYX_zxF=?N6YQ{ob+5=)A>fk+0C*>#a=!N&mf4v$uI}ADUjnRhg5mqy$f)&=g)V z2RAXw`q)K@4HeD&Hg#dsnhqc9W)W^l){{_Wd2`KPg$0MQEp{Ge20a_Hcm2wWTrSk1 zz4L}AaMqc9bLSmebxLZ`0778$42O0pQCX2-yS%qZzs{mNhdAPnjvf*L05Lrx=l|)M1M+4 zzHjXP1SO(FNWwk?WSP$A*eECBxaAusQOb&zi66zKrda642>Zo&thWp!rMkmy2&dQH6QU* z{$};rZZ}c$D)8SJ{QN9NZhCC>z=zSlzhAU&Ss`xi6z5WDQ`e_>XQE<0_K6NbtyaNH zxPF}rb0Z01a)Z=d^Cg%)J~cKgK4QXnM|zVv(#lxDT{e0-qaakHEdSA5bLZWCM(%576{gR+~CF5mm$}VQMi7YlD@+;0n~IGyVQU? zEcwqP0w!$pK)1O_1`q7KcRYRJZLtwZCqz0vm(9|`Q*S9ZmD_w{zkaQi8L@=#;-ePD zW7vJHBt2jtv7DY0J=#k%_amKGO_UJ3FA_r1yWMGd5~Bu6i~K(gRQwd8KST?=|HmsD5t*Kd-3!BIwLOPxqXJW#gg!A0&mzhj4ktq2q7Bk( z9GBy~78#$_4F~`zyb=qA7rHT9b4U$5lTEMo6?j4&|55sN{;_;~jdn$WC51$}Q|mN~ zB>;>cCM_P}LRWTqWJu|w_&~j3&SBg+K}7CUc4oaHvgxcKpuCopuFIkx!zb(BSXWzH z6LXH4?T5ucxO`&4M7r-+amb{ zAL82m3we_qW!i4hf)X2TmzJ7M`e)=7dG{5l(&dBFYe+?>Zc!wzG(-s2H!P1@`;j!J z*K&aUe@n(43=-0@DT4tbgVTU5IygsSB175zvW zDNMnC3Hh>Z{;SUQlBA(*;Tx2^;_R8jI9YLjOx^Tt)Ax!4H}hd62K;V>*5KYh1<61X zh6}HHcCs6=-^05G0%pQ3vR^_^V(H0_Ob~*kG4&CNUPC4!jba=FTSULYu;w{b7(+qoo`Ri`2K4mOnJ4X#ws{W{1Vb-;-exQMg40J7{0%K>Kn|@W(X~ z{MQ{)FqL4#VtXwAV0#>&_?XF#YQN~BYTfOg%uZic_~2%wcY4(%?fV^E-*u0!R(j0U>Jz#0ft3RCJzV|pCSx)^V zLUF)m?hS*(lLM6?{9%KEXcKqA##`J3A zCfnp3b6Q++pnXufGqtj!3^>RvpH%U1fTA2cf8rI;4}~^@i2L!Qk@P^l_~9r@RP zRe3O6!HIrrZXOk!8jymUST1(7?hf5yRX$!h*_aREX7u!468DMH6pL&|+6+!Bn&xDM z;MZ_OyVtmGsnehqR9eqYwf$C57izNkZaTQOyV|%1EX8K&hZN$DNVgyXK_OKp`@iuk zZFv!#i~6XbXE({O__!@g9=Yer8?^V)I`EgigB4u|Rg_$2DmysC0B5)prD~s8e~Utk-_7UPdu)?FTnnlCAq?g0Z4F*ww7DivekZ9 zN5O;^I9ObM2Cad33g*{VXy{a6!L+J$zkP6e0GE}a^>jJzs0OW{?oZZYE*q`4!bbm8 zuPR{i3kb=UEkO7Q;U`S6AX(U(REcy}jL(wiRW2ZYxih<^`XdgnpZJEF^ngQ|+YAQuZH?B$Y&DxEnaUl5x zjaM`aNp7+uMry2}X-ghfx=P7O&8#L;x>ln}dZ=Q=BqdT8)qMpM4EBF(mVo z4K)Ko+12Y6ErH2egNzrw-VxL~6bw=jm;_*76RZJS z2d|;EFX;^d<(l<;jI(cvP2vGT_T&XPr-$;aeSCu?I3QILB$*)MDU5bUzqV#fI%Oyr ztmb^-9`x*#Si3)6M_FTBHZEy3K$iH$FM`Gp?X34%72l4&GQO*wHUj|_R6!N;(zAB}y*B=MN7dGu_!Zl!K~r}lY$c%Mqq zk+ynF@s%X>9K+1-1@Y(>!WNOlS8NDQaOM{Rr0{1d3_zo2PfDN{IL8ulSOz-G6?UnI z)BK=C+dTdbBkQ;ZR-l~h%l;Svxs!+SRR!_ycpwZ+lC^eW!1^t|%wi?$z#gdbTX{}n zgyc@JxmU@QV7E=Qv7#?tO>?8k6|2tGqz2X#^QpN1vnE050eJI3c|Mo*vabb$dc4hTRMS4$m0 z*3-4m(k(N2(-hL=*Y}`yHBUg_*)`(CR?TNI|L9v<_?;&OOrefZ$f>o-Wzm68CCjt?%PvX*x?hKx>DMXPX$a9)|=rKF* zeRLcIk58IYni5|ADCM?&Yltt*0|BVkLlvu}Z$xe<`K_%j@p>L!yC=BKD?5eGY5&P* z21P&)#u`C)Pt?1==Iju?J*Kp^_$B&xo1*kUCi^M7W!IFGiH%Dr>g%B=F_?0zJC!xv zCM)>__BY;pK1w(>ZvgZz^j+ZbP25NA*~Z*Wo4@B_CSVSing(8S=dK!<1=GgTuYtz_ zGVYWAR~Z)&A;7pz$p-x!J^{wmWH==@Z;oDmul+K;qcrhUo!sfCOXj5=SQV0X;%{JR z-Ge0*e7}Ju6hI&Vstysd3i^plldR0eh54HW@N;s^sHM_-k<^ixgGC6xgF%x zZS3Hkj^T{+?}+>=j<`73JG^aDWMCKLX9SdGV?TpDTk;|}zrEF_t#AKsWjhzp9!5~V zeSd`@0sP^_J4&!BQS9u9KsO@4w;2iviY1S8KPps{jMEyr<*>d=CYab5da-`~8*V=E z{rz=|y(N`5OFcCepmo=IkePCpb<8vhCgKWfdX5LNedcv7O~|<<9&`9JAymJ)sdE@O zZo?f-He_<7;PVergtET`6K+T*4mF(qKZCYc*g;#+HLEM{ov^`Oe@Cv452OSUi9hR> z;NFhvkSD(;Dy^wOHG&uQ(B>LC?jcD8ZZ-gr;AA3t;45q%H$Nql!v-|sOzi1lA`1P@ zFw>l_vvP}tg8gRx!mT1nmv*X|Rl>0c2!ns&^r0qvIt@FWpe)Z6w`&J0Glko(3^t-* zSS2lC78|E4#E^R*<|LOP8k$aB$t#Gk#Qa79K!7EjMkp*vz}BWW3RLDvs?FqNa$#W8 z1ZVV{w0lYosILP0-WMjSWFA6N8L)pokp=1EoP!Ia)It8y`HAHeERzT&9|C3ivMZ`L z@$UiMr03U(0LOX7TV^x2@j@~QfQioq-sHErjX$U=_8g6#oO1z~DBJPENYQ%WDA|6Q zLPe?D&R1#gkVF5iTH-?c#y~hucqm{>y~DB}!h-3s8%^TTQ_~nPt^fkq(|M+XFE6WZ zDv%st`&?^@hjpfNx8b(4jj1o&M*$?>({AP}_uYXkC>47~qUZqAiH7CYEdZy4`s0J-IK|0TEwUOE$O2J%q1d8W5P4GLF@pvo@a_hW~(~ zxgT3S5fqR2hA??4!AY8D&fvs1x^C9)t=?bNb4UVu zKl(sl3&GAf_vVPW2Cs6Er1RjDJa9)wp@LpR5hLRd)>nOX#AGct%#q4Cg_iN%U`lo{ zeKWr@hdR{;VP=m~+xoHAz`qtGKn@qM9ASSekZb$!Jz&e~tZ6q+gW7j?hjdK@RO`W} zS;FXhoWNTszp#+wjV)*b+S&WFFH$}uXXx3q&j4`Bv1pV!T7QtX8UbcW=nvv}9BIM2qZMpA*U8`m zz01cUPw{WOx_bjump4@h|E7Ky(hpz+p%^k6^EE$z{R1AB-E<9{wTUZK|D677SL zsfqbuWqlS4{%k#{#W$5I#R2!*@cAiHpLT@Y*-rzsmkpCQNv6O2db}rS%?a6Rq3J>%^l5N4L z1-ul$YBs3sYQ1&Z*}FyEy``vIqL1fPyQ(T~Umv*GXs zr5qbWoEuMz7!V}jxFm?{9Vt!K{d}4>qes_MnFHy|+!>8v%X8YdpI#9_A!So9w5XN^ zsvOQHhXs_7?%z50SYwBkIOnbW+&bbyjXiUn_PKukX6ZWf;nWjTmQ<1b zIRpnCIcB>Gln@OWIeL~ragw1>GJPPRxr%IyfZOMS!q@LfN5R#Y)%0B z;zG%ELsQv|mc6U>3*h(&qOt}!Z1s!HBg@w3RLD2dw@Eej(>lQ z$B4;5W*DWC@VIFYH^G$! z;YB0nQ~#O>k_=Ld#UkajiE)wj7vT)_ZNjafy;MJB z4H}J3mFB84-vxyE>}_FNd@QHE@&KV&m>)>TCgQ$6F!GqtGr-#$!LBftp ziduCTR}3w4(aybif}~b;FFQ?BjOx}^gG`>7fN%5%^JMUHuG&^fz6c*QE z0!XLC#CjZS1FQNz!k~1eqC2qX$LoU)dfaG`HxC zqy}=*CWgpQBK}EgoAeaM_p zf}5Vj_D{7yUrR*A`FR%5i+IiZXkaHRS^6sOq9|6CG(|0a=NIF}jNl?F#vNz>WtYX* zKw{zqw1kxB8-SIc5zQ!zSEC_hTEo#8vA;Pznade(2y|;r*}!B`{qo{GwH6%4FF&FL zI6HkW`&=96J7c?domGD=RxX?fyK>!`0(a{4>50-Ah&rYu(1|$`%`WhtyLI}sInTCu zRt}OWd{(_fUZJd7a3c;gTkB93qqo#4CbAaf;p;We^#*m0>Xhe_`q6Mo>O%R9h$}ygK*Lax%mE{>cw0UZ$0=vCQ5RfY)BDtxR#Gdxp@IJ1=r^=x#Q2oZ zMG|6VsxT#ZgT;>oYC$2t%1$AL(|fCAdLi&LOo;QhS&8DcKB*_Z#zy~7IS1}MO+wG9R7&BvG)|dB=u6`9L$SpBX-ZC zIN>+q?N2>*WHM`Q5*Hlb&DO=fiu)Y?CRkTzL-jSN%XJtjBlQ76?gx1xz%Z(@W!)<$ zkms*-HbYsU7CY{AJ7s{MDcFzeL7SakXK}7dq+6Xr#=K`d0QmO{1mT!PO@hyczUK#s zTy1u;;MAtKVpchBe<+^@U~EA?bMab=p9i+-MfCDZCwj`8y1jPHkd7(H=LKnY8{{bk z((=~1{iQ?#$Eh8-E|Ze5sb&+fq?Lt*Xcu#TnSaKyt$d*O|3KUZVA zg;MH_Li$zKQ>USDiMi$ffg+jjjb>iu5>ow8w{Kl*VPM_meCKA9kWhf2~s%Z~qt@bhIlRM`P zPCswyuI;`QF>m{$+GAY9>*^j$-DETF;_u_=DxGwC1D#{fVi0=QUP zINk=UMx%1+-m5{es6fO8xJ_Z@k2RCA9<_m<;#t}yD`WC z;I6IiuyxyIczBp{b8)vJPAKTmxxX(T3FiDmqV3szx;4F}om;&=Te7vTb~TN{@etF9 zUX$06$J`ZZN$Aezg$Gaz zn^5aFv!#v<nX_VCDaf6e`)n~O z`%jNFF3aqE&`XoYFlz@NBHv-59{^zQ=KJMk_{UjSpJgT4rnb{vbjfctES}47(@J6) zb64~jwOFHA3?c^oV2L*ls;5O47-mu>(wBcB&p#o9N3 z_$-1xF_MwQR^{KxLwikN9W!k-^`g14n)y(6?|u&t*KKPWr&EuYQI3MaW%V`>>A=x- zzGWup?U9QAru4}Z!Mm$>petcGY%DxrVob=C1PI%9SYV;)H@4>c7$6O%8N<@_0&pFg zI*SHTU8XX5(!1RLHjNmwT42|i($iD+a{LiGNl%$1ujBgbRQ|_Tw1j6NtLx{X-6Db!gC;(>~Gw(dJ=NO%rtKsU?ZJi9Tk;db3Wp;<{=E6}P zolh?_iUh8{z$t8WtmbeEebO=R2K-s%07*K9QG8x<`WF<1EV0wJ%G{q=SUsfKs@(ZF zE8D`r9lLw&?yR}f5yX9uk&C@1c+_d@fg18)5xw%Sjv;R6@vy1Y5}M0aVrSB6j=7PK zd#I$}h{Ix9o zwr}JRSX0dA?e#s~61)@x_tjf=3?!jVL6_;WSYXcOy#)q?#af)x%8SdCSX1l} zdo>&8Y3^;M!R=IZHpXwOFl?A}=B|1Tp-p$6qkQ?`^j7cCa=y?or!~(&SPMo(>Qij- zpHM2)+U;21dEfGvEsq?_EoL_+*!>xd_i|@N)T{$9^>vR54i#g)?VrYiG1(eTLJE8U zT_woL0GA#(^Kk&;)1QgvX{$k@nBTqZUO@%z(7GpvvMnsMFKF0{80!b$MS_c6M=`!W zaWuRZs&Ki&?j$c@Eg+Z}Hq8z1K6>z?huyZB{CwNle{x<)+>7=PnqEv6-0Yb)=4fUj zI@R(E`g(t_e+z@a?|1DsHuVwsX-zO!_Ev~oz4T%5W$#`c822Bwf<_~5@{i>=_nmE2Do?YxCU9zhNm1VJP9=Q5dDq+*d9TunEhtQz zN%%luKCl0sZw_wcg{T^NMTu!ouj|13!h-_EM1omRQjT8wK3cu#tQz8=$bt3Nn#L7< zCa6tWt`cM&*McnW>IsPXC0cEEH)A&VXIZ=!-OnFWA1Q)a{HRAO!$;cf@^|byamz`9 z(Vt+EtMOCP@p7z%=(rvUZ&3{-;jp_i=VhU-bN1l|>7%4jfpHC1F^aXu`^|?z?u_I) z1`W!bR%t{|SBqa6IRk_}I9V|!a8=cW;o-*(YSZ?p z!_^P}6_-q--??d1a;@8MWggsuhdwS5F*XjD#?PmR&s=3+J2oX#tH?NYKCoOwWWGlv804BQ2^4=fsC)NpG6B z)=K|}-YNEWF{oxXH5!YyYi=*pFIxr#=lGboN z^nCD^fN}ITxR5)L(Tk$L&mb|ql`lzvEF|1@PIR8%AfSECv0hl4>%?hNeEy)W9us}~ zQQ+#TMK=&iG;+Gs&f zwcqt&;~N939K?E4<@{Q>l^>h9D@Da>%e(A(W>A9|Ah=TBg_W}r8I{-nF#-~eh;fO6 z?7jB^&!@6G_&XE1wS}{9l-1+t0RxjMr^GZ24GJhES5qAOGIVWfq?3EOdyP4V#sVL< zH#Y&hg)R*8Y<6z;bfd~}Fegu%ZZ3&)N$2<;hpj<0uF9F~4l_p)*V4P=Q0=o>uU@Jx z<~eU^t2pveAGNsRc@dBO2L#A~;|VF8jmjsA744Phz!yIoT$^a#Hx*7+yE4;##x4JK z@5SzE=xlw=?3R^z%8{^-jB_aJ4mE4)FTW3@)c4GSVt)}raSkc&c87OESB^9rRl4IF zR;RumlTmYHP#{>@7%y5DHI{8R&SQb2b8U6?&ZqI!0^Qc=S9PUN3#K!q@8XOXp)NL_ z!7l3^0VpoC6aNkmfMun+Gfcx^VlItpC4U8hU!Lc|SQY9fo1m{4t}J1mL!R!CNdn zD*t{U+2n)3yOZ7gH`pg28}`0uo37x7`kz>(CYd3+Wyt65mvK_jF#`bSOyfbL8IsT| zBp3RW;I_@f$^HEy6^cug7Yf3Ubm)4BTUpEhV$$S2f4uo2`z!S=bSB5R3gq+UB5=I^FvjkIafWP1!UtB1s}l!fh6~JciaTM!X5|QRL>U8~6GbsnPnBr{mJ2gj2{( z?mR~ZIMfwILUNA~kntLn>mTMK?E4^@!^-zkkA=0v`G@$Q}R5EJGU6VvW0x%W1K%u+pW^NMgWxzusj6 zrz|Bi{a~tPenL|Bu{XJt&*6Tu?GqtX_lq_q9R0o)CHTj{)iY(!=S-6VPPynf1ILdbNAsO7wT81@$IVqli%gfrQ9(EwiOkt)bE7EM1wG+pqjABCz0S)ZIQ8kBx-O_UaH$iV8h#{Z}!#8U~31N@Z7Y^XO!73cDAq97xr?HH~UH)&j`k zTzbb+o#%?K#l!$~CI(}Itux=POu(cz)%lW3Lo{e&6w7`*hbWWNhCJRgGwd7aG%lHG z@T9`gtyLVzl(f-htsVi26j=Vd(DK7IDPy)P5GVV}F3-)Hz?ap9Pv>qsc2ajs;4+#p z_a${1^P~K_!7cIq~&OmNG@*-9R{DkNL+}hoy%f_|*uQcSmv#$QzS~h;jK>t@dL3S9|LC7TvNuXnb zgm~{cBPKtd{t+UATsml?FVFffo%m^KEX7V%82ddzNLOlH4(g?ahhvVRUw4%o zj$Rr&!)dRT;;lE((9&8ipzbvML-@2kyL)&2=!Mewrod=&*oAEuAewm|(djX1x=`SC zH*{);Pzk$;9f+J;$y)R@n?uC+jG%~%p&oqsl#sd&Tn&viDa_t-AA z=&Uo%oblkXDReDX66d`93DwXX6{>UP(aA?4oX~xNFWNX8&Khq?^vCE&Xgv?s7KN#I zr(~mg?cRu?##Nrowk4Bf373DMgnvz}at^LmUM=%NyFuMIIg=uJPi9G-&UozYLuT#n<2b?Qn9JiK43E$Pq1M{WayMNXX^`kF^`Qyi3WA~5bLI91m3DR6Pz(26z%#;;g3+0jlB$Fe zO}by@@A`9~jjR@9Y<20d2sT;mor3Q2J2%GV97BmP?Ls+SojAi&pd8UHvP43Z!<1jvjs{VVRHmzM^kL8 z$Cs21p;_*juiaU#BtTyA=EI;<$~QC35`vR+(zVop1E8;q)3}xB>`XmA2Z_zUOQR?p z1Z4|X$Kl{gYKzq#ZSno|kR{y=5$Ai*RT1}@K!?5KtKnnS*JxG*c;iGRk=aF>Y$b z9Rl?cwUbHRybtR6{Fgqh9rxeyFH|awxVgS~$`E<>?|D|9fZOclzLB9f0gZ>pHlnN&T_flqJZ;pmhruJ{y+OK3)g# zm;k!Nij4yicdCio?*lfIezE6+*>b57v&Q1x(H}3@IWG0%d$qy3Yu91411A@VAJQ;R zGlVwG*V>vHMJT0K?IyogAB8xv54+k;i@ca|VlofmPkl`UHoyi6BONij>8LsKypu45Si zLZmi+Jd$+4VX6Y%%@ukpxno{qhMu)QzN7!^`RNgdu-I2ewp}fmxe38#*Za7bX%!p} zlxxV5tPN6t-~ZgBvP4Dc{?d^R^BTq!v2@^l@e$9^6X8=MXSN)7yR(v5cil08n0C&? zekCIiQpEc9CLrK;j3+dd0b1!_2aqxutO_K^da8PGe9=%{T^;&auKf71<@G1whakws zdr}qJ49YL&P}CF}G)!n;`6w3HcOW>4qvF#=F=4Z#%1W`2>M@6_*Nek(l!N|ZS^6yP z&L{7=uzY|t)-w9Px(}mUAjIjLW8uzS^KXH-Ax9A=Q`g+wxe?yOgw^GC*vNqhE14?; zn%B>wrjVIrr{P~p9vzUj204Je=v1oo9ei`0f%2Ijh{IM>L)!h3w#Iv0LV z3D6t(8uzTi^9Xd}wI3_1<&lYpas>o&X&tw+gnVyP!Lepzi$!jY84Purh|O+$+Fb)> zh?5%@{*f*!oz{}3(GMZ_^u}H`&}38 zr(Y@Tf~{hEHc!ySuKW^cZjr!VoYabhN5_;;8}9*?V5wV|b}B|ll0a%<`A#EVD6Zbc zM~H7{7}6VSUOKNhQ2+3G1;Z%OBSai7Wv#R+%Ss#}Yz0y3=KII>9>fqJQKM!_VD^hS zS7=;bO~d^1Oq(r#!7MeKt;yWYMf*>9`RBUatLEOUVhyp!U zfM*8CP*x}QPyLiOZV4mZmvHBlMBmoUp-sW%t%jW2(e;2udQ&=bJ`WJaiS(S?|dCp58tjI5fw zZ~@@a?UpWf`K8L^0m4tiZuv*5ja<8UkiG}K_~yNuJn&Gfi8I&KC~Zo3ccnvergxS3 zG6+_WzLB%^&?Jx6$HH=!z~*Tgw;RtnD zEKW^0j)~pVO|>O*@Zkxhhguk%%B}r2pROp<-A!o@<*L`%r+hfQ_vN^Z(bgEN(_XI8 zq%q!0(c(8RcBj&|Yj`tc2G}YY&28eqdSL7Qb$ljDnSP&XFd>$kYWaWx^}^jqV%;O5 z{vCVkv5>M1zj;PWSwZqIUVww%H6+TP1;lB@%=fMVd>SjF?H>UAAJnok(2G$#TIQSp zJLAb}8&Y9oq%e8!nafVeS089B>z!jBMVL`3ERp{7;nuadOU@(K(4^K5aF;W1#fPKL z7P(TP^)Fjp_L@RH>yKH0zl+SS+zVHZJzJ>c$64c;*`Onxs4#^qTwL3wBF0T0#ZtfC zf0L?cHy_k5j|nfCoAnDxpTFnVd}EsP;?@1nRTW4ASQoUR&(irlOK!EI9%<`bgO|us zWsCEWibWphK(+OqXdZa?-ArjbpJ7=L2A+=WnQ7l9chbvzZhx+dI{@$Z6h->P zcII=@_*NO7CoY+yPZzCkwyhR}!SE^h>+nlm@1-~~sz)fI4sA(O-C;#Gqqav?tlT)A zhq>0>TME$YNwuYFhf3!+zrtjO*bs*lKEYwp^|^~$Ber_Dd0VmPa{9S|&d_blGpt;E zA~8^)D;V~aq9P@FNNFIO;`)g_6)IjG2RJckS2J-t?q17!!(vf$A2|zdd*SF!DCNM2rY!zl3hy!^He4PW?;}kU66#kxt+aK|yW#*0v+;T-qv1L*P@MSBnVZl5;7lr4H{B z1j`rXH!mRzJS)52GVxE6edA{>ostL6x~ix5oVLu~06rk8m(oH{3s9ERM_DAIyAsod zBIaOh{JC~67DK1%s->lD5b`79N`=0%^^u~tb(1wTEu8kgi;AOb4ZY~9+|g)2dBJM# z8FiL0vW>FrFH63Uhqd8fiuJeSbprF+71ia7-2q8bA?sZ*qQ2*Ekyy+)mF<W6Vtg(-O?kWICcKXN80&? z*n;A~oIq^wv8M((uVanl86WP5%|!GWZU_K z#FSZRC6KhxF18-D@O(Yfny&XBoq9jXVl|jO%JaDvqc^?YXAMTMJqMw>JE}n=A%+jdG!)n$Kpak%Z z3Ox9(fRnnwIZ<+vK6C$?T7a;RcH-Qv@7;4YPj<4(MZ%#LUYcx;mj`xV6lL{K2m0FsYi}EtN|VyN1JGt3Y>ynOX@vl)o z+?EMQU`6JXK4}fWsc*I3v7eh?;^<~UNVnAM{IM|&rX@4Qfs@*G+2#v?{@yMlb`OqL z@;5R#Xtf2T8!T}+;@vYEFx+(3t6z5sji04|kOM+Rob*eHgf?yV;et5!6>?)922F~} zZq&}KzjznZql)-<3YCGA9^gjWRqQQwe;PAF(#xSsyP@tvzU|*oDNaL!l~}@5VtV3- z>cc(Xy>AJ{=4Ynw0fE>hfLRKfAN7*b$?kgg5o?TRh*gv_d$ab*FDrMbI&uv#;v?B= zj#g+$jN?bW!zW2RBX_930e*pS_o-UX*4CL9S$p(8jjn1m(?ZRDX_AHGAA|}mqPmk~5GHYq4}57KTcpYi!|GOmi?n0Fs~lm!Y{XlB@a8~ zt7j`p@uNX1gV=KUlvd^{H1&TLiH<&rc*vtKJ>|3P1~z{coimBPe*bU&)|wojRr%#e z7*}fLp01VVCu=Il)3dV{M}H&!O?MG>7L0QAlH!2R@^v2pMlvZJTCKTk`pzFt2FD^_ zTfSvT?iUu}<9Ta7Lw_hNp@xmor9Hx$8>KLL@80VGplhfE9(l#Md&2N@u)p~nN~m$l zusRszOECOMZKA3A0yrB=ytEq_4t|Vw;{L+>w}$tm2do(Xoso{}2ma*8>lJ=xn8zfP z9Vx>NSuJWOgR@c)C3_rDU|DweHvqoXH660Hqg#pG9;APC<e5oAPkM_YeANL7HFPK)fvTaeG zpq+~i_Ty+s2uiotFJ+$CIsM}*!o5NMy62O|VmBCQxi4v>qooI^`K{7{(W#n}67e@+ ztJr~?GP@dXp*Oni;08!Ke;q}fr@1@P{;Td$pTk#!^GydgE5W?;`pJ3Imw>7kAxb3*&%UoMwHQG0^|) z$aXn#3tglQLJ64u0bk5Zmvh0yq#L-EDKH@>qnBLifL^1WM}ZGe_@7t&w0#6<{*h`a5WpK}RjRC%!@ns4ga1m6LyxnCEp8ewMrX#K+esQ<%3z=U;wqFVz8w$3uZyTKK8atx#H0@1=S?|3Gz}7%$ zNMkMM$R2>=lowC>Kg@diC{nOdmKpo(-GMGdk7+PM@vk=({$FpZ&keeVCtvqL%fw=h zcfv*S9@HVglQ9P(&yZHIJf(O)w-JEb-@`|08WkvM& z=L(7PVo8j+o4QIMz%8W%@bK%N19J@zaKO4cy)wxKPNnG#s)mLtz{;H7 zdD9E$90(GxF_LYAcjLta#C7o$?B6D!4=H{{$ZwbAA* zTeYA<$E^nW6>0*0o2ALoG59poI{~irQCRWLsnk{I3h&J!6RYo%UfffImXE<|60|+C z{9;errPK1tmImi=(pGHl66kI4d(XZBgR=``l1O+u4S07>{1={+fYm=U*33gDhXCvL zOts$z2|~AkO9>557uHkJA^KanK8QnMmOl-^daV+Cs`CBo(=?+C^nsh?*tPpV`841= z`x*O8Vvka3;4(cKD|j~ZpWpcEVm-uOyAfQA1qHlj!(n>{ zzP$X;J|9D{9AY1~ui(sKpX`*>h7Bq9y^=qYaGY|@{U4?ypcDOIloUqn7Ni2aSBYhS8(fo{ zX(4Zsq;}|?_3(eyp03os+Q+VdzTbP(?bQ1}TmS(aH_~hLWLPWC=Q z_hlfy)E2lES^_@-w8V`-aeAyI!hD^C9gJXcoQ_f`ksOjXX|TEf$B zfeliGW9oSV%J8(8*`2_5GW+4Zok@gq_iKy;Cj!5W0hG6$W22nJ-nH~-@lN_36>H^`M1ViL#t zf5ZRv|Dm5DGF2jcHU0CG27fm=>&f=rA;VzzGe7@>RY=kZ`~s-OW31oi)kk1DORxPB zIDbL#h9%;GsiTo9bG#jG88Ej|26mtpVPU!0@Fq`o0IVi}8OEJ|4b4;`!1g#2JZ&HU z?K(y53-Lj^!MdN`p@3sgr9Y%A=@w9tJrCqhWL3AW%TKPjRf)WMmRPi zY=6#xYSsy-Yf=m(#|X`>?N-g_2eF?|vWEN1xB{_r3oA>vEmTI_Ld7_j5n@zF#-$ zH=^NLeL$j?e;$$zmh{8WJAMMJq@?nQ6vC<Q55;XcCIVAFaHH>-hLg15C5Z!jc zxA-DRR6{?uW*;wF*vg&#k6Jg7qfvge8(J&%sGm+)10K!9ZNEDYBqc9BBAc`99%sG5 zm2~d4Xlit{^z-LK3!kCuwW~*28AMMvA}R<}5E}(>WXY>jJDvIq&amYBaOrVf9t>Zx zp8Z^EJu~!DPn_+=Xc(ZKPf^QlcG?N?;;w#$se*U;)~<44z3~EYCIPSfkHTltZ3Vw( zEb{Uag>|~qK0?sM5n;E(%P$EH1{Uf6MY7E}V*>io03$SY6+6ItbZDX^&1&Hb4P60g zT#a_3!e}Cz)}NkPcf`_PxM0t4Lp{*slK{eXY1e z{;E!+TRviPc$@+X20oBskyjArSBLN3|Ja! zb{1){Q@BDf-)7ig3ucmUkafriB<;l39za&WzL7WpkfWP@=hwj>V;$!He_mex7FbBL z=wByGg$8S4A+0(KLQcl8@R)71PW9W+a{ymI`5+2IAB-l& z<{)k$<8}rSZ@daDXoUpenYl9!3PUblycnh_^2t=$86gayy5A=!0(h0N29fep4Xddd533k<t^-f3~p4j8@tipnx)p0_3MEqiJ`Wh= ztzF?zJ9!eWQgFjFGR4&yH`H^@;x#3!*JCnSIf zj|M8{rknWfu&rr&Nr3Z|d5R1<@G1blc_E#DnF_rdrG$2e7_d(1)oDB#8bv>Ji6y~v z-6hc#&O8+$+7*wp7w@M`lznIMYfgk~OC@wfLdcHF%~hU-*0w&d_Tbsw6;2Z;x%pl! zWjjXaG3K7Fn(p@V924E{dk8u*zupkTO?j`sggF?MVtIfkJz$Om39Q~$@@feP60LX$=th)HGlsPpdU;O(cGEk0 zAlIByGeIHFu4IDmljx!J9W8=`mtXH}P5?L1uBY7XTH@jf7!^W-o&{@p{Gb{~#Z4~+ zv_XLzy3=FjK>Fgs_5g#Y@iXS2(e;SLyK-DL2KhY+>KwT#XVJsmq62YIAPpg&=p6OT zX91Q>L=SE292VRe^mXXKSsxMAR_T5dBV={C<03-QI^IZ`^H%YcA2+_eOQTs^9aE(F zyaF?qgvKV13txtEKE1PtF1{CFJ>)8>(&}BCv>#zjEVSmIK;j<=IE>{nK$N%-P(37Q zn1RAIKK};wzzZ*n!KTIz{HBXz5k^;_K5&I-u?3MNOsaNZ5+TvczGdF2{Amr$_|C4 zLyYDf2sQPPXr05GvuO8ExA{-HySsNN=}EhNpE@a>Z$&&JWG|avi70dqwJ~Y!IF}B( zOq_rW0dji1^MK6y<*Q>O4UzJ%#$bx0tmp6sW0KW+p#k4G^c>1f&rf!S>Sh}o)iMH% z;n!o&eV!AKmj@Pe|8Zyq0T&1SzIdC`c)eZr@;L_BgaX`%xR#>VlOXZK1Qeh9rxD*l z1`NTZM$R?fej>;+QaH8_CS3fpI9OuU9g>chV$%4;hhES;(b2)^fsKk)T$|V7e}~LN zd!n77!1JaNP)X9@zL(=}jSl|2OiyTumI^XYi zQUx&NFF2W26JR8OjsE$)|Fxcxj`XUVCkv#Vb zeGvejUy#0XMHmMZUSpjuQQ=V`Y{+kQeW_vSiGLlew*&bFaoEBpz!>qW;KKNbM1xzk zHm=ffS2C^u%!qS@ReG_|`DR?Z-sm~mTPV6uKfkt)t|>s z=O0;_s7x_}EW0WJ{rKpfIy#nEwn=~E0$TqfRph+SH$X0vyS{@MS{ zBa)+bW*1rE%2Vi)OWBMHDGB z0|glAUikCyE-k7FoUro6D`uFo+1}hbJawx=(wj^kSIU=MPE7Rtn z5qZS*!_(9A_Y+p%ER{nKJtz}%k}7KK43318)_(`_B0@lOhF_hHjSVo51D`&7_RjR= zCuux7lZG_jh>jx~X1@HjWE>B0W&k?iB5pXcl^n&Y(O zVK!U}Oy1j-t7^HOj*84XmJUQ?B#wDp*)5%Gz$LBBuNa;dWRbD4PqBdgeX zv}TmJpX-mWno5l@EX$2`zbT%8ZL0hZfSSn3Bf^08q;~v42;OGwr0a??09`U7J%4#O zvW}CgB$O{xK6+vF6;-}Z-FvFTRQ-><1NH-4ES%T1L6V%~yU>zw%+)!FHuSDX0-Upr zZQPpxXWLIe!kNh(dW*O7otN{+3LK0rHy0On8g>0g)5XuG z*Ypuh^FSTgmc;uY;yh@#`Dbs96mB{~7(7&5G&No7&h-;1pFatl?5OYl`L3GP=i0mZ zFb<6l>9fz9$ZZfwCfwZKmK>^Z)V3#I@Hv`moa80p1XleaiLVOz4wC*&9VLU#!5Ye8 zaXuXhyRTn;sY>+Y{<#UbXXu%)F@Og3H6QVq_TBYjhvmBf#Gg}q(oPdX6|ohN7%B7R zLNPu*{s zXes{1K99qzph)}H;KDByvJ~A{!dP`ATJnyK?d*04q9Wf<-`RI?o3{Wkm~1iRk zEd#UOU0}ULN-9L2Z`H;nRwXpcw7yS&S49r@$PXEN@hY*32YV|DctdQPs^cb$K7vnW zr!d$n1kvL9oGO8T>BVsDjKL1=+fnpp%?Fc_AAiSsjkS=~olbwTN?5_N#1IvCiyx3h~7l{5wU zsiWvMm<#ys$%*7ZOk=F}s*u{j&gNt2e zPB27E2bjgLiBsDH+G(RJb-ZLT zzHx>GirC z>ybO0>s1wdj1~rxq`o3ElQ^9C=o}@~N5@xm6-$^sc-{9W@N&mvKxQvzW8GmS&tZxf z>^nbwS)8q*v^T36z;_zCMG%Ap?(w32Xci~%X;<{>y?=|`r#;B*9&KS$a!fdaLqEb5 zbQQ65NYFmmCy$|~tXk<<dS4@8Mbg#0O+=peN&nA6ZZC&{;;N z4FqVYIZobY#h~~KuaQ%mYDl_W#rUOre(ww;$=-t+b@uH@szjhFXwNsivW_B;EQOXO zt5?3{=1c_cN%gQi3iHh;|B)B%$oWYgCX+VzgLq0FonTiKFEQK~$yBcX?2Km^Z{E3Q z{`j%x!6XIu6`i@!56|abx?Y)5Z^L0OAWq?SPA9je(s7uST}9gTWUP*#l^AWE>1j8g zUmBCQ9w=KvqOCq&3rNh^{nkg*W^&UpyXGAveGr2ufvAi6QS`nyuK|k7QJlL$?{2B{ z(XsneNO^&@pbJ+qZ1SIR{e{t!u+Li9l%XKl;ybjgL~bUh8*`LeF{a2#G}Npc(99MD%_{^}$FF?L2 z<-KDO+Y2{jC+fL+Tz;aEey2YEt}q?*k9P*?>FI(&sjn@tIS(LknXz-s zUA#-)<13}oIuJfHbzVFW!S4MnpOJ5HO`s#R9Gy%JdLRJ_l}0}9dR(ooIev_d2@$;a z&)JZmUi+IIlajJUy`K>QbiGRgZCK1%q_*tlaR`ngxIZvXkoinH+8daUB$(@< zDKOhM%_7`BG(bQ-@N3T901#nW14qcYXyl0K=igeMpBN4@;P?3ojLO|U`a-qC!bo~F z2a0clB!2Y5=+6?E^L|T0o5QhDOe=xQOmd^bb>ZUJV9BBVl0 zz80m=&pHH+?Y1UkkA;0K9_0xuSg=7K$5dCU{3{@Yd&Izbe$`G(~vXJ#Q z&#pWQLtmec7>{!X|8s8Quxi2&Czu{!O&V^1Q?KC_bGp=@*9MVsH(f+(Oh$6n!Ph-rBq;S$Q<>(dc& zt}QS2quzpE^Vxm%9T4?cs`VK|0vrN)z?#-__mRNR7Hh@}A5DJhQ~!ac_1DtaTS}m$ zPmDhj!R$i(!LPKWe^w)ObX@{xZhaw}uCnOeYk)R~s_{hMJD0GX?l6PLs_tHjpJKz+Ne?D6zsyy8I|QJ& zU|l@#cME?03(&Ow8oL02^gP^`s#_$arC<(iR$~AOF5JQMGWr?N1bFOzD z>P|7d&_=Wa|Dh2+1p@>sJXw**0fT8_u&-{k%yM2-)ke!ef7OxG9cvsLORcWiY~vz( zXTy?;x!Qba(uIb$`3OZs(-h*o{Y6qe3+N)G@iVkm+`O8a!BWRGANlsqYY~o1yjE4_ zw$n)t$DkRmk)iF5jchE(eYKHy9F3K=v}kUObsUw*J|k-OL$0$p>xXkwV^rL?Re!A0 zy)$Qgu}-<2k=>kFGE${hg=aY)Yp!~wS2N$ge_sn2e39*P!PxmPA3P)Fzb&VCDYx(q zJ>!=+XHDPrA@C^c_7?%qra8Yfh?aIy9I<&=JiR8}l9Sh&Umjvm_LHSM-z86K54%ZN zSm7D@Lp2Qz8v-U9%f-2X6qdU4ZR1AbO;>01%Q!yQuqf%#VVi7=s!o1N;WVT1s`-rS&;m}6c z&6>U7m$=_A-x&m|Z3cgS*?$EsPB~KngB!hJt~w#WlI3kYhM?wfnwcI|M~6dC=f(R` z5n_(kDF?)d>-KlEprtv-OG+wEo;Y#$B(MI>iUyPQv^s9G=N<8f zO{iDPiBqD>U?q76uy_(ubP~_;-~&G71SXHS@G|gF;?E9XFZdf|f!})$RLBMI_HIO# z+1F7Ma0k6FDYX(RWCwOBy`OroOtaSRoH*J$zD6Otyr%H(`V^U1`4z+F)q9-}o32Zw z$0)_7YW}cWX&7%CbKcdH&(!U-Xtvy`z$koOctpm{V4qBS;Unc8I|fL66SwKKVM)xSV?CM!O^vZS&FA>L%kgy_O#x2G8W5UMwweV8d{Z z@8&oyL*Umufyrt?``8NDt=aT0&BSJ-4d(CJ%;CM&Df*V^+F z-}z4Ut+eV7+LvAnskxAFtgRY|Y5T1(<#S4`dvRuEx#?p;b?a)+C37Z&x3UEsg-MZ% z>ys5f$({*}5OypaZE&{!UJtX*&o;|V&gY*`h+5>~9Dm$z7Da<7aV0i`# z!bW=B+}GN4ao0vRR%Q3a+9*~Ti@8j8*y>`I8?)p1vdh<*CLFsSb?`gS-yXlspKy;p zghK#u)CL7Pt+KTxqWBLKzAQd85nc7&I8NR`JJ(n{a1`|l9io|Hb6`iMwm=krb77}_ zj{n3eTx3j-tnQ%>J-r@1^IjWDtWU_mHb!nGFGaqb9a!}jB!r|3*`j&Mz;2)Ts@Ptp z3mwMDx$khCrYm%l8dim06Il^?DfRMj)N*qxUD)>ql8{5df)9Z2qIj8`Xlrp;Kzb~_ zw%z-tf1=dbzkL7l!6uiQF!_CPZj9bX+AMwIdj8LoEO}C_-g5kd*7E==)Oc37A!lp@~iG-E0z7}?(E}exR`CTf4Eh8 zxh}b*BeFg9BV*1B#dLY)He&-Xtdj!GzTH9ibLgLDO6LqG7`&fgusnhFNB2_`H_m`V z$Cc1v2x)_&MOQyQM{OYo`jc?jg!_z4OVD%fBhX&c9lob+Tmr_&$e zbr&q%uNag#MeV*)`!aXXW5t5qr^9sSm8ym?sgCs$hfU}0IU9ypmF|OrC4Pz1+QB`A z<>#GK_kI|iWRe{3Pgc7ogtpy~yM0W1d{Nu2e7$<_pzN0-3?XvyB;YLp{Hhnkt!#TV1C0uyQM#CO zrKG}4)$1!AdTExz7S=6FQE>5gN9a-9pF~W6gJ){ux4k>u%yrM$MO4C{J5;WW8~rsy zcse6Du8ENo9e0P(mKKj=LX_A=5a*NhkLK=!*VU}uD)WqK^1db_q9*NE-%=<~?#npZ z>H$}b|1!IBSoVopr?SP53k&2|@0W;raPC9fHh)``+BJH1j(nevnEbn0dY|SIPCqlO zKn6%}feg`d?&B9h38fg5Hishm#*_)65eLFOioiW$V9x%zOu#*Oj9l}xnyzGA)yjht zXUVF=c6kGq5r}W&IW-R!0k^{wejSmITh0aOM}$jlJSMd&CnG16-m&~#>nN}E*4WH} zk|19*#W>TPznEIia-aN0jAQxt$kWyVy){oOof^_7S`h5Dg%{lDI4PDL#Ovyt=w3y^ z;v=1~yJRjaA#knk%|Vul)_jWm7mfOmlA7F!BT&1$b z3S=R4$vR-EoY;jz-wxc@yhPl;I60`j4{$UU22hW(w?rG_hbiFd_dWWDJn)_OS@^$@ z4_CyxFcdQt=4d8A&bPX_NUT$seF)7x@7#dI&P+Fh_2te3<{$}1Ku+cco`m^>ZtR@n z5De4%5I1OC`7*bo@qup0)do>nChi1m{-Sxyv3*7*#~4NQ&&R#WR?2txh*mS0F$vXp zEy!;`urIgnlGk}&ca!=HZ@@y9ro2c@6Qczty0XrKTiXC#ujYl#Z_#IxLuaO4TX}qE zkpEKbqp?Jj(8RGxcPrbY*Soc_pHWr$2MCwu?8oSzb@Ja@jrS^0980@5Z@D;gCG}!E zU$D`c&I7zE(~Ao`qaGw+ot6$_#oztJfU5hM!N9FbA!5!ZZyiJyzGAvFDicVb5DphZn_YLJ%IrYN*_F+`v5%Bg!C-wB^~Qi(N1i+1Q`AsuturyRU{)ku ze~7J=GJAu$z+J_EEw3$U-{vMjiltG|!zLVj6Di%bAA4@O2Uvk{63%g@x_0|w44iUt zhUA>EKc1P>s?a{9MH-zscr^Rm#mw9rpmsH~jd%Dn`Yi74dotFW@8YOd)n(hr_ax(V zROrE^%E^1<4!=bzJBZkt3FcT%tLethtwoT4;trp~zm1 zUAG-BPt)BtH^mbFp_Sq;;zwCBzDgmR?FmjFyU)6aP zP3NQ4Tv`8gaklR@kp=W!2&z#Xx` z-Ti`%!Q_OQ~GD{pnEmqWFCpf*JIudD*&_ zSK7H&XPaQTCWO!0z8- zbokPdY4EVWoe5XmzbU-cq$nBhjSNV>T~g z?O2H17lAN{w!MUv(3KS(+X?F8)?E^Nbebq5r`3<0jRhLPU%RLnwrY`+=Nw4q4i0gGahEX8CkGX*Y8 z5Z#}ylZJ}DD-y(+_`}-nJADzPUq3I6B}4+kn~cXz%Qs+;MS!80QDha2aKv#O=>SG6 zfEPVo(Oq;^ur)5sju!D(evu_{2vxSYPezPiy{HO?6YwA%oQ4pdBu@~0r<^zgoIz=C zST6wtNKqI&oOloxw&Uy=n78Ukv1-RXtP@EY^8xVhhTk^qcT#HoZqVsR$y86qWQYT% z%NXxG>Yz;GeSs3ob98Z8Tpk{a6G1$Jij%&H{ntc0MI4IHNND|D4YIDw6f-@MhrIC~ zsD?<bF@vC!=c4H2L^JQoyX#?)x)@xZ3~(1 z#tv^8uE11G4ajSoLy1?%neUC!QVnv(LSHVLG$#yRAHDeezurU>b$x#xMBPia`h(iYdo0)jX&pi-{;fJUC*qPaLj9Y z*)<^-wXg&^ift_I0<0)~QvJ>!V~QKav94dz+n9GH14sK%V0rcmh{nN&Q5f{Dp*urP z0y_zllZV_7HBJwr3`=v^ws18bmj!2dXR==Gs{nZ{OrI6EYQ;^KyV#}B55<&eSbn=U znyC5(?k7LXw?TTJkRQupuINu-=gC#=rS+lq3a{cLD7ErEy!7hDa7}38tIF;^$)RGq zez{I;&Y?FpJ`Eo3F=qL3K7g5w|!bJg(Aai=-h=2vDz*6 zKHZD5RBY11yqGMrLrb6Ur@$Ta@LjD?LCIhH8V(}{YHhO1Ev7rw_PD52%=n3(HQ`hx z8>ibxk*1o6hU<6Kt67l9((O>tCF8Dh18U-~KnfTXaqH#jSKBaK74VzWUY!*VMzYoH zyrk|Xb8qOi^8-Cjw5B@=DPu~U7CkKafKI3ORDulJGubFiE06->i)0y`Y8-FQZU4k_ zI|%W)9(A_Rp)FPm-J?6xX-uxSa(&2qhn&wV*3l33&8)|zADy>N77di#)d#Z=CiD3k z`(RqV3ox79UP4So!M(h^i+SmL-IpiQG<0>*?v~q;D;N@Wn81=oEs#M>gMkSF~sd zHR*n7uTrE%iWJ(GBBxu;^a^WtNWD;y>2lqv@#aax=04wYT>K%S^AvBa6+H$^rdRzh zAFB2!E3b|1ubE_fHEla(mOEy$TEW?$|6%2(g)Hd$(v^GN@mMGE&ImnDEH8*{Qr(*% zYaXMe>k8=RyDby;LEtw}C4Uw=lqxTs7V9|L?D}rQzOrkv1m6)fFt|E;Ko@&T`CaN4 zr&Mgd-u6R_fRKJw4b!7Xt}k>zUPz(T2qzzTy5{KtH;n!UR10O~Q(kuTp8D~MODDx@ zy7$!Ojw*z-1iMV?zOF7Szp|z#g@8M32lNw)J`B(Mr4=)8z#XP9GKiuBI)&{<0$O?+ z7Cvxe-{^r}TmC`|HdLEo>6@ka=B}+Gw`$V;@&%BC@}!vuP4MRl)=82TjE9u`O2%kiVxoyK@e!9*v99dHz& z4z^{W;6kXAU!vndm!E$d7!nl|)CV;w*L80zz~z-kwWazzA5259iRAW=$8lOY(q^7B zUwad;dqkS)z3YwCFRjf%j%$U+Sos?BSB;Q$yMLRW|LXiVrYp_!ZfoI5x(OX~-HI&f zV|Lco&yCfizqB>Wc9~$u$tt$Lb8fbbbvTT=CZwYTn&KWeu&=C5-7&-nkbz){mdPQd z*01u>Hjy%e?^xuwvM&}I=5g4ps@ai-OeIUvil0fV3)!9#KL*^ivnrM^Mk%}mf&r-oalNTWpr$aPDh5%q9w<2z3<~2yZPJpD$H*2h~|)dOYm1Gau{i zq;Kr_Uo~ve2 z;^s%|$x6%j7C1h;KtYJnChrMt%eH9KX6X?fD6be*6|HZgq>)$@$}SW4E{zc61kF=N zi&GDeEx5o3VgMhDxCPmJz_ej+D$t1iHWAGJ$A*BjfH3F|U}?Xb3CkrmZpT=T3r_}pv%6yMbHS@xa{7%}|0$0j=hTBM7) z(VD#DJbkZc6Si@VukM^6C52cq)`uFfS~hJ12u+RpoIWz2^aILfzZNBSBt!*G8VV6& zf^-fI80N?=^^05`yfLTwtejjZMw|4D-}w7<9o5SAH{UEO_jkS+eRW3h$oOgU9uI{= z$DgMIrOk3ph9+I4j%RHjJ>Mg{!)^bv*EZ@zy8OXUvu=oq!v$)ID;GgJkAa-*YJz;!Azv+K4>H8Ipr#CdyLm|tkBWMpP*a= zB?<|vpZOJ^N5|kD!|cB-uDq}>6qCzi90dfp4tw@NC~;JKBztJ!)OqRQE0gb{D4&Pg zKpTRts?~kLw!v;8)tLHbyS1J?mS!I(<0b0*ANO-Q>X1icC4cBKU?k8@gBQAWFt{N; z#4e}+!EXhSJ|J7RiGwlEUP!HW=)5eQ=T{1_D-5K+Ah)bKnnA3Dx%_G{_4 zqXq^sP_(2|;yn4_=L#9U%0C7ziT7tDVlfac&W)}=QI$!T-_IGyX|?iGlG_37y9V}a zedidm=bn++hBTep-C}I3-y4(Uvb+&jOp_L&>(x=_H*jq6wQp*F^=MA9`uw>In1!};%2>fv^6G8WQ1?Uk_u`ODI>n$k{Ec=g1_elf};j2*X zPg*>lY*nds5#oO*pYH+a8p$Xbha|s;+Pqdfx3@eLOHO8v>wVgFvxYD6(o^1E&oSMz z%{CDrb=@B7hdMk%mxH5u^+wPOa=DoG>A_lC#k3{=nYA)2_wNdBMq_$VPDM;;%V_i zCa^L0tFM+9Ce5M3@T86oHv&C>)CTA~PG}1QdEx(Lx)7}@4(HEr#$Ikg_@8kHgjobk zz`{f#BD>*-TS-WyA&UZJqEUT;#;$M0!Q@*7NG>hVSXw`ym=gLGvpbw@qSV@UcE@3F zFx-*wf(Yk0kNrlYBR7OwY+4#YP8pek=PM3UrWi^g9=~|;BAH-g^Gs4w^6W;|vuF2Z z9Y-Ip8i&U0Kj(vt`O%FD5-Cwn)lLwJh=}lhIMx(nS-_@n#X{bBc(mzT?$Ck|eR>T7X}MrOU@D=CwG1?5p20GIX|l<0U)`(W{% z^vq06RyHOGvsUihYeFzv_>99q`d%f{4{JyO&L*xZ82lk}bXp z&vEea$PG`W`Xa{oao`y$rhP%2kO4pirGl+~AGnM|TB%ib`kBgZ6^tBhLoE;J8#F0> z^orLmT;W1cGJ5 zIbQj7J$TNMP#^Xfo!@T-8@%+)u^c*&<*SEcORcjNJ;5a%$;fNIhg4p0zrTcfU)Xm= zLrtc4bxMA4DTHBp@r#5n@109bU^bLWQc)r2t%1aCjIM%gxVA0JsDAd5_mM3e9mebp z-QDVt;e#+U(r0*n^sNf6uTpy?Jl!7^FZ0OE_P5MK;s^ z1xBDlg4gyCXeqLBKA-*RQugIbPbK9&N2w@mI0&e^sJ+5&egRUa){xFQ)->Id9r*n8 z)k{i!iwUx)eNH(`*AzANPwyVJL`Jv)>K-0caR=@Dj*6*|w(ru)?<{qL!^>0@=vV!RER1Q^fQ94v8!FN~s2m zH@=CR5$execubGl9juc`?_QP~5PHNsJhs-T>eQ)tar3}FBv4~oMeS|6C5&@kil-@0%TEgp^m)%RxvD!$wA#=Nf6wTfc)ujKk&+ah%TRl2 zq$~5&Z0%ic`B&}Dj!~usx^`I^8I3Z#EFX6JW-KIDZmfOFy--It`4cSUlv77voN?|L z)Q*-EOhG|Snq1372bBE1tIb}{mzclg(*x=4MC6`!Sm&`^dtt-+VG(^hsYE;&9)=ar z2BS0`(H(0ZRRtO@3ex*+K#UQ!60$*{vYen$-9bd2|3vc88>|-5q+9(!cf?58^}^b^ z8WM(*Ut=NCnZ!S&Ti(4#y#t>&kiR#7`*q8f_-R(3j+vQk&o!GU2}>=t1*`1tlG72= zFV7vSo_};Yij9?3&Zo86GiLvlRMQtM%3()4jMrrEh@bYBo|734mdLpLLN>d$KaMy%7dU-+FKCf$ zS+wPFaL2zQD%^d?ek8AflS4FX9-|-gk%ydC>wE^c7?QNnpG1MjEO(L9HTr1~P2Rd%EuA_e*sen%zlx@j}`>kngcAO<;_y z(`3g!-kIG_eMfrifi?1@8_D3bZh>ALe=qgk=7Dj!Yn}YJGWw0TI~}(FN;3I&aT^g8 z;vYTp7P22kyDgiMU<7Um+0CFp^S)P9ggK8ZvDZ*$YKfN-g?9-GRqWl0>f&7aOsWC6!jcI058R_X+OG!QY2nEsmN5(wNu2C9WK2^_rIR-<`kD8e! zOKD{$Ua}*+eq(&je&uX`bz)^9n~TeYjHEyXG`59*cR8I%EoZ0LAhQ;){k7Vj^cnW-nu4W|Fr2JCUQ(#Q1J ztlI4*DAgDljL_=tu^5EOV_*sUbZkX^u?DPwyhe>Q);Hqo_C=s zT8fsP^EKiy1ac4Qx_8Iw-7JC0GzIIj*6okOFShXgoZM}0WE95``?WnqL;r)tJ87K- zi@8#eR-FrF%gQ^swBzJHEU$%eDxXBP8WSwD9ZQ-9W&OMJEDb(nPrtmZL)O#X@%5u* zo|{~aQS671YCQ~{su?>o8L|g2NT$3u0(epx^n3aak+-Y_`q8Q?u6{(A?u%cBiP zIot7Gf&1Ty7bZ{c!&H$i9xqOY$Syw-$lx`@oEUl=`Je$RMIwtG$Naj4e&0E-1QG(5 zBBuwjir_faztpmr7R!<&&mnZ&#B0we#sHhhT6?4Iw|~2x>A{5F9E7qS%%$$bCv9cWvPK$L3i^Z?iphqwAINwpI zpg$}}z&QY|w+T^`1DyuB&ntZ;o{yvo5-?n zc256@2>6bdt}E9(D8H~!Lsix9)M>vnkDjZ%`q~vr~Hf|;z*(UrOrS5J%7N_^< zEQQt|o#@C6c>mr>5X?;ilW&9;?X7YU{v;ae;GWZI{yuDPEE+@S=cUd>{3sVBXwBdE z+$`Y6SI30By|$NE3Q0Oerndhk5yB?7@<_hjtZ`Xj{uR(30h^~}wIh}Vuxdekk?;7>;$p;4QCJ1Zo>Bn1>wMf0}T+<)Zvr;=ae%RX*xyp9NPXW0OR7T zS{b4>!1~|(C8StD1>_N+`T$gylb8F;ph^;TNy2Xih9Us^N(u3v*CK_1a*zBI-4>?=VW6+^Kt;-z#7ze> zB|ZJfm&r+^fVQ5Vy@2|h3te?B(xX*SaTK`T1Vh>MVVJ_Hr`8U}TUUd}S&|OyXo(8h z_KOE0&A6)h0zDo}=gkb!JL(+uvY(V*D#Y>wgq^{4RBGkKwG*`uegMSCJM#NjpMeVZ zQqbar?NrRT*8wy?`uL&A=YEPtWa{alt9$St?v{PK_%FU=9CDwb6D3JQybRzO?+mi* zin2E1)Og%?qHq!uT}R>C{@kHj9WU*#qvW+8iR|cvJH~t?*X?a{Y=>07N6M*Ux6y4iO{Q4#SPYn## z9kx!|aqDkB`z#22rj4g2o(2Zte>rnH<<=!T<}9OGhR@fxGL1k1vMX0I8O2{DzJP4T zK&*$GXzr4BJp7-ZZ3+NY?SG0`81yS0Aeql;rL$DL$-;BS;4IJbJ>K@$GoK^RyiO`} z==U>`3-~|T1$QFeYj+58o>-{Gr&J#~6$%*E4N#1t>>T1~3F*pzB+cf*KS3gAJAN?% z_5jey!9c7!2>%fYA~EZ%rO(8K{Zs6|7aw-Zop`R0wM7CLJ3#=I-nWSq=r?1b{I$$Y zVZjAj&+xs>_FoF&C{*B-gfGXkd0WBdU(|~P$ejl0^-f7mJq*n{l~!3?$%q;!ic&g6 z0+0sP?m{jJntbN)MFu4Fb6(t_(0bH8?Fnl8mn*zAwsLmq4h1wApu zBDKv6A_ydjJelCgjnxD)DNI6$G@30E3YIqiJPV)9Yp)rFTtX~}7@$r$v`HnjXBr&n zE^;u7jr`y^1^7hwz7N+lz=eVcoOJ8%;{Qs^95@p0G8rnQ=m?R4hKPt30}%}*?6K6w z`iyG*mfo0Mpk+@uKtByad;EUnsm@20FeRG;GV^vpe!e;&71Z;@#KdHJ9*~kE>)|mh zMW0XlOH`n(A9HokGC z+`(hD+p~DX+kb^4RPo^Y?CR?|dpp!QW6$xm%MgWX2SEO3?L5DdVhA(HomPY!5O-oT z1o`+FKw@Z(Hb$APU4k~jD-HV!)!p68zb!&>vWCiE*Wy+VUi#Zj`83+mK|e>%Ppf63 z%`2bEMB^LG0`@42co~uud;J_kVF+W(m|6!6&lzyZT6&_HJP9xGFk;ah((g3w?+cpz zcd~s3d%14udUL4aO6ZD777gy;`pnOUIhvNrVg-*~pO&E{A?w*o2jb;82VAT5;n-13 zPqCV~Uy_ZDjf9;bqyz?r$B~H3ADc9AUs%)1Q1f$!Pv2g3Hzv%@Rmgk`nya`j9m=x! z;`dU6f4p6Y5iUYF2a4qKTZ~(?NtYo3y>0qoi^pPKI~0N8ZTnfx9YqR=o$64WOrZ|jc z{O5nL=io2tL37`0I5dC{MgT!8bml38rdtM?)mcJw${#JA;WK z@&@TYz?@$G53zq!4k4)z7zWg%DneVhaFf6S+{7(wLL_Dm8nBXgkfm-(;r+D}grawm zaBMN}IsAWUcl_wT{9eHTx+q8J0)erz_aTu`8!Sk%4e0_qZMvC+`Oha1DR3N#E;Klg zL>>6g5f)Kom{b~fWEly8VWB${8H0gZ1aR`B-TwD+%OS^|H`e%{2Vx2Emx-Wz^Vs>P zr=MK_EE{pNYAVD+EfXRq>_|=G{LdP;a22)$xV-hq1T(BL zA$l82@}u`vce}*a6(V6;tpgz1^({YaTDyYu8Jk&~vx;mI7QuZWGf$eBe5*X60_}o0 zKGwg3hW{cE8Lhes#uW_KT!4pj0l1Zs4`)mwD%Ym%XF(eqe7OC>eozDka8)kY+krZB z_eRVJ5Sfp2bK9TRr);bPaGEG|d_{1F9z2Oyz~DZItgA5pMb$S*LT|a97phZZ^-_;J z+1h4)+XEGN{}Sl`77K}{sOLKg8!&?~3@HlS!J> zVR5Q^w#zKE4zeTsu(%gDmKsbR^k41W_fg~RJQmXZ^LKvm$6r?hxFS&+#nqfxD4`U; zI(1fdBwUB&kNHDnIVGgVz4=M@+xgd{kl%g8%%4K9)Otkk$mm~r(JJ7}xKg z-Xh$t2cuvOJ(fnU038~ju40dxV>MI_bCTbH4(r)>3G1i6md$BRv?T`wb0`|aSZdaj z-<LctDr<&=)mBOJZLVuEe_rpOl@;}bGY{M)@uee#NcC{`2y**2tW(q zNuqOtEaO5+n+KctggjchouCi? zl`d5$GBjcV-2lAIlTh~)C+9qCtG(?HMgAi`V4L2T$+*~jkXgB(p#dNqa8L}iWIjS= zy{0{cimkk%s6z`u@?nv_^sw*$koMm3Snuy2I3hbD*)tLiiR^V78D&KFDkEfNZ=!*c z%w$U>J2J8p*(-ZS_PQy1gx~e<)H$8c=X*|{-|zQ$_~Sk~?)!ef#x6kuR1z+ z^shJhKVC7tkeHP008UZ()fbl<&BRuzOCXAnsnUpm#sa30?02BAISE|gC?u#|8M{l; z1cbwAYs!Kj+3feX^u2(z=~aG_$3xkUR_cRfA=9D5L?NGR{5_VI+*YR>0TAxWkP#+< z62?ms(krz8#~1netSl!;(@6_7+68wP-%JIZ2o8Z7)1||Kz7Xho;voEbq|(=tC~gP> zsN=#%FMZE@e!5y2q$y5m4^~(%>YV;0pl7EBg^rC&qc}w^W2dKY0u2E&PljMVZ!LWryxvfi<9D!;ZqsPa_$ z(R~Nl|NB}0c#lbTl@(G%8<7d2ltNKj26TO%e7jlm5q>Xm7?IF!I4VoWOwO(p0VH%| zXlD84!(9oG`=FK@zCX}!$PRm55+LCUH2tlr!6 zrnfdOzBynCNG~d8^yyOMZ;aqj%d#2n6=7sVcUkUTcB<-A=-7F=iR3}5#J;OPP^9ns zDN&19zH=&M&URpV^tA^>ZfFWIv0Y9gL8IhC$2cg5zw5oakY0s$X|L-~j}a-A)~(YX%-@ zHfYlguEUx-Pp}u;4%`KkcXu!^cy8TpX8?jQ`{k%}ikZjJB5+cUJbK6ckKZ0S^#NFH zgec3mo8_x*3PSND5Zk1_pg0$nTnaFJEhG zYiDOC3&iOOw7}ta6FGh!N}vCDYXWj4S zZJg2+&;|P@jAHLG(u?UjPgOi6EmzJ)Cva5xhGaG=wIO zKu`RHuz=LB3-lij%vTyOf)!iTs1{FfE+u^OV6WW)FbhiCv@JtWYUX1Q2siV%L(EUb&+rN=Zqc7_Be zu(M&J_BB8hyG z%^=XmE94Qj5y z0mBU!=jU$$wDw{VC|jll`=7_evtE9Qz@IAA^wND+)dlbU_yj2R-W@ zork0aeQz&3?&FHMCEk0jpjRf3afXP|OotaP5IrsL>&*JWdaYNa1r_;@T9HX_^vkYT z-pZA<+2p-3)zqYbe`_9i@C@#~4(4Uhgv8GGU2gA@w}3IE6rrA1j8y*i-4U>5ZV9Tx zxmo&U8i-5oJfo0cW^HL1URQU?;?^yM5Gdk7K7fFPVjl?xAUt2iw5`AH$5C?+94~dbFylC0%Msbxq@Cs`+b6snIA}V6p zhR`Yh$y?$H;J`B^@L9)L4Hh&KNXo8HQ~DL*8l!zX5NBCax52$#GH@DK_|TiSTXiS5 zGQ9?UC>{0M@+OUd9Dd{lSwV1@n5G)K|5{G|lj{94z3B_UPL6R)&y5asxlqnRL?#C#9+Pg`vQ;4e;|GekQA@1t#q#MS?OJwQ9G>WX;06P9x__1I0CX>?JHcW5v}`?Y+GYZqHe zawx=&8F}Ari&5@!2iF(k|9R*_4PFaaC8#DQL9(scyHb$!A*Im(ay*#kYx?T z``A0TIxsRSV)EY56vRfpX}aA}a!eT8THG+?&TEIq->^R4$V%_xPb}=J^lRzT{w&-A zF+}y!aYquN`eV~x1*Bd;L%mYD8ow+Dh&OX-n)0unKHxb7Hfu5nRmcR4CM3Z0H57Y& zAr~CuoYVN)r@yjs4ylxhvy-O?kW`- z!6~vDVEKz(&z-2~TC?1f8C4EeACV_`&}VVf1D@)Kxg*<4svJ@jryJ_%U;;Yyij}c= zFsb8F$`G|*{qujF&?Csn6yF_a*YQ>Gx*LF`+oTjoPV+r=tsxN)Y6_wHn~{l7kvNT$ z3pN*0UlT}3PJfn5cAAGIS8FZSaU4jQB-F~kl%{LrLHZNn#AfRh3}FH%vQUX)E?4t=E`NdzZJ7igcBLRRRf zjz1IeOQxOY_a)lqUQ&%VrTec2=|4gz5VbmbN(WB|x9^2431C~P}zQbutXRbzp~t$iDF)pki&(6 zDtDc8i6RB`7mDfppz6D|LIa_JC*5~>fPadGCfNXw;1WA>3Bxx9`NSrL3nahX>=kHE zLEH2f+ZwvTUD_T%gq#z}A*FMriuqe*Z4&Z69a^H$$Q~ znHpsf20a$vK|}bs-T$D8{k3j?ygKy^jH}AY}te2A^ z0|<&x>J4fVn)Nzw1^e5{O{~2rGl*!RZdD^=*7VD!xxyK9_7|Lg^OM}k+T zJ2Tp|v$KC>k`_`BGrrlcOZFkR+pQ414pw;uCJ_B(c{i!uwEE@k{=9}i|4o7gfB{)g z?Nxl#(4kI)E=R(po%=EI^;?C-i9=l2Xi9Tu!mS;8hm)MV(v%YuR+w*EXMCQ4(3e`!J_XRQVHZvWgmtA$IRTDzZs_hf+gRJ%Zf`;h8r(CjUw{O3c z$liN)MLi7te3psXNVJMa4lU9~Jzs=dtk~aw8pDdQc#c2FEhc;7xL@0`JI-zVuR<&G z3%nH3mewS0vYwW*Hm>)QP872e{ZbkA4TF5oIjwK(Hn5`C;6|BPhPMZfV72Y&c!2)2 z{U^5>C+rsh0?C}dw4i5s>z0TzBv6SxV_LshwO^Ltj|7Ct2W-PO?ePMCJvb0Iv}YvH zUa=~9qI8Q{q}lbmIKhRA=Rkstvwnly11D;)&SctxRy(i#Q_+|@9u&sbvDQwX^{^_vQ8#&Rl0PlNjftOFzhM8MbTvLr@QElk zGB7~rhDk+<`WRomz-dE|#{=041w)=Z@tF;}d_`%{SUHqxJccK&Fb1wB45rmI0g#`4 z08Bfj{jGZOrl)6hh3e8Nj%|+m_y_{)*JSLSuRXLyU4|SZWxD$M51ZzK7-Qk<9Z4vA zn71Qe<-KQAAp;#)?A*XxEP*&o+R(?)^XmsFv{`h5YdP%>29xeZHB#iSqaTHkT(fsD+_3-FkSttt*JD zYkMTaV!>`3cB2k`{Auu3Z}9LJFe5hdR4RTri%)h9x`9&RI_6g=B-0qOQw z0lPks!Qcusl1JXH?tI0d;@zli7S9%C;GRwgJsbHTLvz!?HF@x`mv_s}&K-)4og2^F zJ*RnkeP9IAS(>rVrY9vjxC1pJ{AOe@C!SCHvIzG(t`@9wx1i6|>By`zd9 zZv6nu>DPehyFs}wH81ZYft>y2$~)e7(km+TIXOAEUWZwiC<}bXE&)V3o5YR{{j%@2 zJELK~NuVC6wQ4ND>p0+)G5OMy7<4?GT%-h_MFSES{@kT zWE>*N*Tmsd_eW#085RgYHIElrJ`1_3z`l9yEuzfKj0WP#$2arS8NPd*a(7D zId^%i`mQO|npRS|yf_9PG2V6t9=zm7qzm!CjL6S_L%4IZSk(`Dtib?!oUdm%?i}3s zsTlvVnS)sFZRK;Ah8`-dnT8%;`WVh^5TX{!3IYFA!SnvPiXFR%eQ1!QdS9?OC4D%%(Fj5I*?)`VN*u6@SY*qjJj1& zIP;-Ce1y*YzW#cRI?4vMah`dWDeQyoDoj~viZ)B&Sm?{$6m$4`g1k@TqXh_0+pW6dA=T_cxr&5!0B*R9Lg|vbf~7p26LY2#uQlCHiDLD z$(o0j2Ni~RgV|(jAagIod2vQa`Ax(0w>Fh~qOY>7(Uu{PLcP>Loe6!e_v2CK*)NJv zo8|Il!t6Znck@0Ts%o`OSc9ztS``XT5oR&ZfCDo-N51LhL$ zI8&LBko#?zo^ijcEVf;n@hPXz24x%0uKX12kdia7N|O9L&eeUVM*y3m);;@q-$I)% z91!klj^^jkpk=tBrX={moh~~!_X#=yI>fxGF4YWgSf2TNotqB-_aW;mBxGHg9(BuM zHaElI?~+^e9cOyZ&=sYNW4foG1E*$c^2$V^rf;t^>Pc78&72!8T|pmDV`oD$$^LN$R6_|;o38NKql2NzV29fId zrC>Ua9f2ula8jS_XB~DnD>p?4U>F0BGYzsfM{M=q&(9$$FH4t!hD$g+l~>PjnnZLh zgwC-8<@@CM4NshJ49YdGHV<=^+=7v|AaU@l`2-RcCB#%9@b+IJ>7RZ{?z>;&fgnlgv>fRm`tdiWdco5dho~Ju7J<>* z_hxZMt9SjgJi(eSa7$~k9N1_g`Dlq_z_J_p3hu~Ok?N{F4j9)OyqNpc-%;_Yr@A(I zSotWMw0P$jJ#d%Fm`%Ww(0V?IG;2W}DVv0FZ=A9!1PDBaya5v~4jxNy7$+zPR~N*G zMm@anIETE42hCQ$QPpk7c|rUq>kT{=1sEW}s858jd^Jz*~M{j|XU1JDtK`rWDu--El zZKHEhrAlWH7zJOlhOL4PE8Ghaq%q^df=jH3TRx(Xmk;w6Q!lO)qPN%MTbD1sJZkLn zlMB#~lu8lGLB8Ob+e1vuvsRM*h^!s}qw>(2%8nEO;ICWxUA-5wi<{osOMYODPsb2GbMqCV+%P7^$Y~}y+e1Ze=Q09yl_9E5-iBo*smXr#zIsvAzk;8a+hFw z_1Dwuptj;1+8PBaJh9$GJwAaVzc&O*<0CGk)`h3L(Fl3TbAopCHZdL}M0MX)A$f!J z8+4gL&DDlj5|o|M_Amy|UCDU1+Nb1Zzgy**&O}bdPMLA>#v7C6p@C#9s}vC2kVdVVf^#Cm0QQAfh+gDz>U=E1gn8f z<$0*X9jxp7EW(OkOXC0W)EHPO$O3R9lj(umi@-0*QBjRDSD57P@NzPnXLoykpwMi9 z-Z~MAi&Wo$aC{jeaQml6R8#rn?vLx?zP?d&7{On@ZTcLz=um!dF$a>PO!}7AEZDCl zWuKk!Z&1NaGslrD);-wYGhG@k=`3@xRc>SQKuXNSuA(3-nt%JVq#LO5q{5W+nwOQ8 z21kS!&kL@1t4*bZE9GhZX1#4n<_1jLv^QgCbf>rYRq%liuY2~Z-IUT&p^0L-h!6A+kN78hKsauQw^J?`#7D zL}I(@oK;`zXiZ^kjc=cBCLKiHAKp}qx(*-F12czkL^bfd!3+A!lQYd=`f>Zql`;1ko4z3W7`~% zb=cycn)XNC{srIrC6xaeuKmR(XEM6KTaeELT?ePi?-tzfx!1J$H`(@P`(=d9ieOy6&(_s<@x-BVk z?@hKpg~Z1^8a-{htYY-#FiF!M=)vw94&tzx z*(6vCxro3f7}J-?Z6&UZFm@XXqknHe<|}Qk;saNnr*DZ~CYQ zja6SC+cp42c1f7OYBx-b()^;mQ{Q#3j)#+Nf_uG7yr_34}KDKkoqJ9iP3&}{9^Df`R|t$n91plyB1UO5nw$+fUs zy`l(qs(7gwJ1sPm#M}pFIGEXd{o}hih=MCRir#2$@fMJq%*vgP-&J?%ZF-MX#1Xm# zS<0<~Pwc#`IljeuwmYBi0)y=Q3`T)q?vmzuPsOwop}h~jrO1Ze2n5o-xM#jG(C#f= zrZn`-^PIbE7zT5{PQw399rbCsP^cuQums1g1wX$H6?b<{Di)NJAgc(6JyKqaWkFO) zrERMfcv&Pn*!*Vx=(7EXLv?3*-}#nMk{rL}0~x<*UZ}kkLhVI6+ztavkZ|k%r-F%7 z_mcKF4=)Jp`Q-?np!h72y^>{UwydGO9>ml3`u#^l*Xih`m1Q+-eAa0izV18A@b%4b zswy%Xfvj4hQP@8}KOeMuB;OxEaD)>II*=P8?VuNY3R0#ci@B&zFvZ@rXp{CyC2PmS z2FRu@KHX58Vajbnn=1PTEoAJGt&;8G38vF+Bx;RY zZrQd(<4#fHu)+G!H<1QoB~mK!878lelQG{fri}R5c|aEh0V+u@F=wNqV4fvQa!~k} zEMDTf0@)i14x$G-DrT6G6x4Wlkg z_xpKKSb+o2EM2XEbBUCzn?yHn@KTwq;$0ZW6#Z`K z+S0*+$5-K(Uu19c&y(e-aNN5RO%ToVActE`rlf&1TD9TX*PEv<(62U znvk)1JA1GrQrM>NfnLul+_=5*$t2?@OHbLO-mQFkqQ+F=*VXKex#m7z#^6CIXo zP?15F$^2^J;gAO*n|U#LWWGTfh|Z46`P+6R`Iai@f4g*tj8_>8KLq19KhjSy*k)(* zW*S%}u(+k~kU0`rA5J6N#4eY!wMmYll#58(<3M>zKeU2`!usfgyJb-oAA14|u!(&w zfgHO60g|i29lmMw6cIZ+J`H{=y^v#v%?Q92JqtD*1EBAtDY>|T93NXWf|5{rHbcX@%Xlrm z#YkzP#Gn(W5I&7Pd+j*T@%s64bqX^SG>R_o^YPy{MzhAgVC3pkWg;=V63eFu1;b>S z@r^IAJX~plQ{B&DdHT4@zxZ`$>uS>Q+r-%)x!bJ3fm#JL^*2itBC!USKA6EH_zD&) zsTB4pRDH+I+njdF?;fok45Vo{3Wn{#HxBzWGmLFWBnHzSEJiCU&?3XN2E3A- z8z6O@3KOCedhNGYOxZLLK8fx@xUyI%+%(sD5(hd6YxvxTW~JFtQX7b%d7(w0+@O}JC04{Z93u>^+2!tNA#@+4idT!$CrN%Z0_EVr8aL1~E@9T?ogy{TwZe?^!vHITyhs z11<#i!NMVMH7Jg42nu#2xeq))yZZWxIhecwG zExGsW+{F;P z>v-GfNsdgw`BDHriV47fgE>g|2ZU6|_ja71xvLD}a_HicF{LbvxUIZZ8hU&= zDPQogBYFSTdL_R~yNL(TXrPNwW`vg|Or44ss^vwTEg#`SHAkay+Th`k=smIm%75j)R~Ft9qt}dSdds610|i&#XRPP5 z23Qq3xJ!8Aj^WSZGxaz?RdSFZj|o-AmMZCqq{|WK^o6vo*1?^p*iF%*YHohI@&_fO*7%I0u1v8Zvi6lxqMT)7feU&4|cezizEj z+#q(;Pr&?U@D+aD35w2wu3wUh()%Ke(=6*|hZkxNAu3P+om$QulN-$Y*f`Z3g|o5- z9gP6P$#-bx=!G7k7is{HZZ#CisjhH-ltt#D>-%MAQGxZD-s9xA%bvD`JC^yY_-z!V zW~~Xs`fSKzCdR0wtFlF6wEw?Zu!y7=^$91!G4Sufk(@p6Yr@Y;io&vaf0LDU7RoCP zkVLZqHdS=mCH&gQSrF;J#-fr%S$s`*u^xc)b8;V^+_WR7;^r4lSK|k0a9=xw$a85} zaG=mK>bf!rE-#l#%XI*N5C#O!pg7;xA`vd@2uG$LFYt0 zqU2Hl08vDraH)I5Qb6?lxG8Z&(g^jNOP$D3YNsF}jN~%>^c9tmG7#F2jwEwjTp~8R z^xMO9fEeck28a8sq?^dgz2gqPc5?3&`-%LqMO~KkEQX4*pC$}Z*#s8Ny0*m$c0z9U zZ1g$8=7atkY{{rX2^BqntfBAaOhZWp3Mj~M47 zr}xY@4|E?omA!OinS(lUs?Wjx(IJoGg>w;sOw=V{>|r3&ib^T|tL#4Mt=r4|C+DW< z;Ix2eyPDoz=CXXmJp1{zUeR*WMH)v3yE1=>6C?DmxLI?chL+ucM%&X))cAQOQ7&Fb zp(B)~)$aF}=3OF~sf35pSd1H5T!K6^q1={-n@cMW!ezhg`3VwihwLoJA2i{{rZu*- z*UO_-iBnxhn8TQ}m+R{it9HW6OR|a=#Wo5ZUu`_(^%%#|-df+ycw7?UJ%&%+Zypp^ ze*2n1%%11?<%ywIAcvhw+?vs^FWM=$DZk^MN+6OTz!=oC)7ZA+lYY={>+;xbrXfx( zgCcjLSfiNRDX3%V(-pzgo?4w-S5A}ja50p8A%`g0`{iONc38}v*w@rYu3qTohI_;c zmE^d^(JI47FJL5zpPgf1weRhF5sxatb!T;^^4whWG9*sna?me!9EQ&4CLler!XSz2 zBS(vzZLm%pCSb)Mv@sgPWM1E%IoRa!*RKGq8c+2Rx-+jLAl7EC@bgonk+w1$F&p&z zqLL~X>?Ncs2W<5FWtQ7Wq&Bk+H~Yr&P`Xsw8>0fkP45?mTr(X@?qBWW@6(RK@F13p zx4OS9@bzDuot`P;15fv9U~B0KS;5{u^ckxmuqcX5>=B-r^#l|i=4W1|xZ0jD{$199 zq!ng}OOZT=DOaX{tNi7@&u%D}>EuK2Koh3@WGX+dea6n^#MMYuGHwFa*>;jFMJuy_ z);?PUH8fUaQg(hGGlh?jd+rmw$96ltjOo+2r&p@Jv09A0-J=Ow3s2&{SyvEE_QBei zcy=hHgqV4l(%amL+Q&iTYboC_T>5GG8H!SHM`I6aoA9~ zki-g0v1|7|dMghN4B4^wXvRY2v%FWQ73W|^80a)H_n-5#(X4QHLam6XK6heEz1&f{ zP~BX3tl{FaGl`wBk4+*5Y4GODBoZ3hOL1_(JtmQSF5--~D)7atq&=05?A|%dv^9bQ zXZ6|t7QB2YPr#)u@Lv;#@9D(2FPKo*{txG~szY44^n}@QmiE+=*B<4dSBr-9X4SPbhFaKI+~V+dsH?J1Fo%c zx2&HgITghw5s2cNTwm#yT}&JBQ6ApmhJN>?&C)x9KiWa zEC9g*sXm;+7tP`)FY%K-3B~Z*pBEI@7VISBy=RmekbTHB-~*%2n--1Q4NlZh_D8C& zZ!upFV8Ln7PqFFAY3b|3!JO2`Hm80#i^uVWU445sTI0g!iO=~q%l47ZR!V1z$nP=l?F$-mM3x72mMxK@IC(q6t`g<# z?6g{T-ZDD-v9V#gl%0!Coug4nGT$vy&SGhMZ6V*P-v7ets-4mC(8uluth1|q-Vwf! z>jJndBU7}Smegm6*H_9F)x3JG=xG}}ofy5&-Jj3&u7L zM*S{!k-&0C48Kr>NDvk#H4c{TfMn!Ut7(PlW?pV&gx+~sW=7S6idDny>#MwMj8c~# zV8=6O+pdgkXNt3JgdQW~o!;(XWK<8k_)vYCud;73kkaIH-*RRN4UTmtMeYmMrR%Kb zK^99BbFwsz718!5+ddFAkD1-9Gp00v&#h?=uLzZ3#Y564Kwen*N@Iy|@#&=k) zoHb=WMP=2sYJVs5I)jacKgfecL3_P?j$R2?!cvr>HwPFsiWY6nVeHHLWhZ2VS>7|F${IgY)ypfav)Giza}{GxOR&yDhyAN#lZba|4*_2ct*={O zC)l6_jhTp+yZ9xnpCPbBK=c*HRa%R7xIR5frc+IkE8w5qW9ETQVbT!7%=vLReKv=( z*dODzVTRWpp8HQOz_s+Sw32(OjX%6d0td=JUza2IEF^KF2MdM=oIp8`0MML!ik={r zLd|cQ`!|ptIA>o#b+PI7_pdVQv!6FMy5ydxd*RJTe?k1g($^BK<_;?tSgp#8SQTd) z7P(^4LPZy^&TfQZTc;Qr(@DMJdtzZwwSCYEd3sx~e8(k2^H^@{m(tuK^RbMwNE{>^ z+nAa{g$4A3P>pPzMleH#mN{x^!DJ!e+UUd_Dcc)kYamVb*4=_mSy&VHYuGa$F zzz462i~^fksWB6-fQwaEj=nIW8eq~gyZbJ5NCM$NbZ2RI73n}S2bFKJQ2VK-5-0M! zKCpHY8?6?dkOq_#*o^2fy`3Z2@PrB_mQwGy%rKFl`RZqgZ#tnHftr8Ghonq<=4z?}MYSli?Wb~-^2f`Z<>aTiI_;Up%c3kl z%(-iWUg6khVtvTXf|xk=0fCn4XesAivp?%rp=m6_e=Z`aVv%5h3j51DB8Ka7a&mZE zd;AF;<7&JsGwr!zc6Vj&0j`DlJH!S9UpflGwN{?&%=UJh8A}R%?X!9R8NBj%{`T%O z*%ueGP2Shn;E=t!nuS%Ui9Z-OZ?)83%9lxMvv#n2pckfFY|9x)+Z@+0K1l+Gk>+cd1t zu24-wU^0QGyDrP0B9Wpv^hIW;h^ArTQ{q<%MGvH(t?d9fVn72w!gq!k?|E|UyMUZS zM_JG>{jOOB=-P}6hS?hefp5rb4X%!Shi;KoC8pq%oYUI<_wa!{n4LRt@iSfKD+@;bPJ|_vq5ktDBY!kn0@f>TtvsB zDN#3O8VG?9?$~oepL--UU=C>5UCyd240d$Rst;U;E8pW~2N-ZpSD!wY&2WZBHYXyf z3F%EqaGuq`1w;`gtcB5g>&7~g`Mx?BXFeYA4REe}bp6jj?m0HPG(PJ(^Bvr?HlNDn z&z;0_wXH3Lx!NT5NPK|(Kg0*tNPJLn=qdxFDwk@IVa#56`;`{eFRPKIulg2M!@lm_ zzT7cOzS;M`Y4t?pFEMx@WFvFsnG}-OlO#A+d}eN#$_@ zKGNLppJgX5p7Bs#x-xm|{LcQGfq3s#F)TZ75pb6Mm(H=^kUay<2C~y53Q%c`B#J*F zd!#rc->jWs4wRQA&O33w;sM6Fd@NtKW#TJRP__xp17#P^xl%|f!k|-~4MWni()DYy zCm?hR21t=AEe{gFoN1Z>yx?Hl;kVCgHR4ZE%XPj^3w-cA49);E)=`$Lj99dj>wwxc zecN7*?01{%WUC*TZVZ>z$kKYg(VpXa6b6TyH}tR1_c&a6;Y@bxv71}y{?$GUF+_6d zFfon!jNiQpxT=P5Vx}9c!F+OF)ZcuKG00_5uJw?Ti{U}niY}$i=25*Tu474(_X(Jv z%+=u^5=bqQB7>4a#Tmo>D%`ECa6gfKko=Sfyx&^J{Pq1i0(Rrl$_pR$xk7}PRgreK zA(Ak(9f^GS$;U;(%$3H5P9NkYH-E-1r%)b3d|4(4%y=L$7E=iX&?#uS8P|S}-OBS@ zj7S3OD!T-}(7Y~b1^z7djh2QpXqFx-wrlt_Mqdt6_r()&r05vRHi&;DsNJ%pe3M2m zs&kBWdlr;B3)P<z&8r#sYW$>VYn!K;qVd5fR1A&^uRPKu?lzGs|hXE4-o=+md(22Y$kU+PTylAzx#<-|g* z1K0S=SZuH97HYO8I09FNEsOWWofn^l?K^o`E%jT7g?wWkLW(%Tl&qmoKnE&Sc!+}Q z0^dEI6b=ust#{VK6>=Zmnn^^o#aztPb;-%~_&j;CqbzXz8TQgusCmJ#z0%Ro%nuPi zi;Dqy1q;mebd1luS}o7C5q9PAo+Lr#NWw^^moB1r18_x88}6nJ>i|-$FLEl^yBr$v z9bi=5bYk&=GuGqrILhB%#Fp%I9WMY_`$IfHcW_en0&L&NeVOGVC?2$>`)7i!=5i&u z&ivad875i48F-)2sn(AWw1(XQo6UNs>6|@?YM)Z$Zl36oua4v04JO=G`AYHTTrum7-^20QPx5b6sN zgNPQCo=$-`yBatSiP8&Xd`c=Nz|Wms+qYxe0S@YR6ZF`~Dyl-VEC}cka4}5S#U}C^ z(N{}A3s;~cAl?6{;|D@bWkPOs$?;tvcV|;*T)j9v;|YHF)}GP_j%_NIi?!9@^Z=vX;ab@;F)P4q3s$@v$yJpeCMytm@&;e(ie%-+F)U_L1KjO^#?-)`;?5 zJ@_K{u-bO{p?a4dvSKj52LE-zv?(GWi;-m-6h=-_a9+c67m-UN9ec`U$l%CmL(JWd zP{42X2FfmT3^R1JO(zGvK0))O)kL{3D-8%P_Kf~NEMlFabh`@Tmi3w(wX z>qwFW1RUG!V`x4`uJlTS86!61;N`j&I_F_PN`aXM)|H^jW`U-T~DcP zT6lchvhzJw?zQV|ohbL^L5eq^`$N57!(z~;kaAHzy>|~=@b=i9qS9Cix}1`JMGU%- z(kE{752Gv_t%;{AN0yiiZ}q4yV}fo|aeOD#wNrsmmJif9F5M8Vdh`y#D;|wt4sarS z#RxYrj9Kci8<2a9Z{;Rmq*mwvjcU8!W>9it{O|^DWXO>fg#~T&CM>ygOlb_NUYz>Q zU}EJJSU@8MQBY$$fB5uqTJmydbPQ4xW&1jQP@^64O&It-8~_>1jj#;#amWaf=ABOo z#O~-@Y9T4{n)+rSNlP+Y?a)?S9^l%U5l()>J zC3=T3h`OJ$6Ntm%cps7k(=@1xY$_TWz*2{UHNNkp$F*|tcwht+dWS6g9xae_Y$?qR zD7|K?I1xzgao@y4->$4Jw4n-UflefsGF;w1>|^!d>I)m9X>o8a^M5PfL23Yhdm3iG z65`=}(iL)9qEn&OP-1}dx4Ya0ma+Q~m21G`|2;61$PZ5J&%E&Yxk+qOP z#&I8^6gO1BJ-k{;fC1>SNS}x1(AjKvY7yTnhbb=#P~4U}p7dA@hD4u6f>oxYb`XCs z-vz#0EFzU8|90y@g|JfzN=Vu0ldz!OC9c-XC(pYBA=Z8D@hT|CoYuso@$xvzUm;gN zy8y6w1aP2kk;jenVo@JY|BPrZ#rT{eJe~4at2ouBCS$I&=mO-{F5x@{!*%4I(usdTTAZMEDPHe5hfLR!lX8kzh95mg|y! ze_eoF9(-J;sy*1I7}oPPqm|jx8mw)S353#dHTRgzPjDY+Sp<#_Ws#tedavU`0EXrhrHlP)05{l_0GaVVZP_N6hbVeu%m8+AD zClE3R*eHQuK=s_*pe3@Wq8(l7zq$hhNYe}NrVk}RV8@M$tAW|jI`K7NR}Qxl$!}=2 zgTljSP6=aDDCR-gu>~K$_-&fU*|+{o(ZZnTVi5b<-~uy*BR(&_q~p7iW&v>DXhIq8 z9CO7_NvCoV4(9K0lwsHw=M%MkU@la#!3uB~#g;UfNR9!+0AU6+gEhFTRDYjI3u>y7 z`8t5TMQTw6VhNIAAsLe?#0K`@_qSo5Ihp^1T0HJNu!JknEUo~Jzf%aAH*M{+#Edv_ zHs(Oo!1|5EWP?OKajLhfTt`R?)S}{C53fwOo`&T4n*BWJ5S#&jL*&}@eJ2XIw?OgE z6lUdB z56WESjSeS*4y2kY1T9OS)qM=YUWF0`iLPJ3m2;%!vkC!HL#D^!9Gqh*0#c{EftrNP zQHRW!(t9$Lfa?$s@sNHzD&^7g=<*)9>v?6lWiUpBvoS07XJvH!4qtB}yui+d2N4fp?ZY~Vm+_4h09xr~# zok*kzf=?D8iY2Ed=Dzky;?7;tw=T;Ds9PD@oOM~uB2qV76GY3H?yo_=iP`~7&9PiO z`;dnP-aI(zYH z(}3r7>$u#zh+HJ6dWIaBj4)~M;C{dGMhSUl6z%2uy-gsQr70BGf0|&hs@#-xudAUW zEy$aBi_6Z+%1UnkDGk5mXyB)iuIg%mO)Vct(z*+^K!Y%e@zobG^4_51aJcp-zs^DF zW0+KAwwlGyU-q`r7YDPq;@fvTfA6jCU=PFHcQ&h~fi>hnVyt7Y8}(Rz`ILJ2g=G!HV#3s@wB!0Jje*bYyf(Q?X&N=z@)VTvBF_2K^?dd83Q zLh6ql(iDWnN{0d(8hJq^6-VamMNM39I=&Vr>Jk4A7m-+j6imnsO=)%+i#0?V-i!UHmNUHm zBL_>uL%L{H-`rG`rICBE55@>#rv4R+C6J{l z2Y1#Ck_`xTm^tKe?#qaz2}|)3n%~vCd?#g?wBBm=V^nLdOugHhcuzpSq1jrDb$8EOzfzH$n1nk1r>F%tFUTDu zq1m<(?4oFK;O0YETrd9;vEMGP)=5~!r!M{uCm_$Fg0FH^s@3<$GckQ26Y$)6EpqT} zHOHdkImSGk_Av5jJz4^pA~sAwV>Z&RLqq0DyU)HFH1N|igpYy|nZEkxJ^sfR|G|8O zsN;F-*tMS@8;p^N9DZFr3&@P^!2e<+{8qNKA z#%hD19XU~CyifkW(%B%O{C>Xel&(W`hD3*q#k5(=q^3XUm1ycM`i1^DMKe$2zeNWFi9Iebq6l5bswNqGFscg1s1v`#LU%HshT zv44QD?cRTWn?LvE=LMNM8gLnZr-or+>V2WZO6THCp|H*$RzTAfd3NRy2AI+7FKrx zgzJRl8hEfsxhi@xtsN zB^?GR>E#3wHzQM>INaZVStz#Hoj^tX;I`;hxhYy3sIsAk})w?6p~1kQT8T# zkBnqXwg@4|-m|{f^YwlWuixkOe!oB8@9)2JGtN2B$GWb^{kq@pmqO0Qm1)pl$P_k2 zcJ*TFcrR?gdSOZynJ5GRd%JC9LHqrN(Gs?1xYF%m8c=Qx)iN|Vq96l7`ams9?G%l; zlEy-r-^;z%@~i*#isaHn28b18lytBEmKwoBB3mO3Zg`QW*fkKT4xis> zkW36>Aep#1)gIGw^*kd44wApE;D5YUGL*rxcAI<<;nLPNrxKktqRp&}X$RXPg>YBp zQHnSNk9GBGV{>~iifE+O+KCG{F*p5+WwmlS?}0XVM4)v;v8?S26jfM|(60r0N-)0Zjknh9Xxt9KXcec}}; zlD92-5f3zsx$_aPaX<+Orz~j7k5$P~#ww%7l1~#A&cF>_GoEVxo_8Fs*+LjkLhqsr(kSkZ@ku<+Fl z)BHKBV*Qjtw_Dg)@FG;)xi<2TJcdt}7bSe{A<_Nuw|^KB2? z9l`myX~~)=wzpvG=|141ifknkqp3^b9ILGRt#q;M!5zh=&Y-hCKcrddAB|{7z9X(q zP?=-iWR^DmshOi6fe2fHSZX%_T@DdaYOqeJ-91DimI!wVY+TAaJ>&w(?>HN73Fp4Z z{+cR3U?A=wz_Xhl1aI)Ypf#vSV}Re32#&ccO`<=Q0j@u_Q~(uf4k+`y0Aq=xJ-m<> z;~fUi97C+)T&hM^G;$${7io=vx**4>`)V)}fdN9jKtM)^8K&)l%=QiJPPP3xEx188 z$B9;t?enKS36Tfr_8wSxhVfWvC`wMa7Xn`lZj`gC=R`k*K<`2bn$u}H@LoDZb0+@78K~g68%yOW=y}(uN9&8k6$M0vAyh@kL|bK@%+5o7W$?wO@ewH z;Z;C^=Lwp(oLT&JgSpX@G6%*A>suF(sbL#Mhw-nP23cA4mD-!e6|j~Uf*7r3@f_tc zx&IUsv!vNZG-zrrLUms5s7&4knKP>e?Hv=x?-U|iU7(%sRf~KP3i9&vPz!$fb03)1 zhh$B9QkBC%P_v4IaFz^tnl!!Z%-ecJ`^$oV@@9Xzy z68LMO@capw^N7FwESg8pdsxu2|MCwIZh@J>g>h9slD+Sd2I+CPq1Ec5i~Gk?E!z4S zvB^6^uLza}d%}Pmy>3H;8UReid4UY42b_*Fg@+5nKT7p-aq9w)LXZ^fH`CeVn`adD z#Ao~ptUltT6DD^aHNuoe^i)DUCT@M=v%v+$*h|+5E-{6w5IRGBe)Kk^&8ePLjc&*3 z$F$3xvUX4`6Z#MKLhk=OJGi&Y`ZM-WHB~|!WI4^yz~=(M)+!~zqmFIW@;Y99MItAI zoXUW;iIqM(@z8c+kuKA`t8p{9nyR*g{o?NCq9%FJnB&Qy2SW9_0Q}VZm$gkdI3IEa z4$-Njk8# z+F1(`^Bq?*4M{Y`Xoi0CVSTj;n)pP@4^Rx68N@FUyY@k|>*TzTxY69Kz-;_+kJp0wMG`_Mfi`A|B|4S-VqkL^@+kSi(Hcy%Sm5U z<3oE9(&7`6cX)}*{j`ETgPHF2kgH)49)L&VWx%?Z)6^Q>mjdy7*Uw1gLZnrAsqT8T z8cs9j_CEQt_b&SiEWO$t3ms+;+}Wr+i|Y4A=>7O|8s1!J%lO~K0|q1@51?|nMSJk5wc?xhgP z88hn6XEn$K{(2j`Katuq6sEaLtF)p{hDD&?!IJM@4F{IR1-MMVgqnw&^$E)xiE8JU z--AiA9h~EL%4ID#5q~V52bJHWKkWi4EF=3FLrHF0>+%NDX}JquPJJ|jlt{VGAr+ss z8xv0!NjTq_1XOFe^lEV6I-3$w;ED+We%)G{CNLx;z8b1rEKIkm_(_DpVInj7x1$h3stO1a6X~KoUWm0GCuAa` zdBN8mzx4nJ z`Q>?LBG=#UfS2WmG-L%;C>`u>VtG+Bz`V~lW?S)ALpT*=TC-|k5Jx}*7Js;JtZD^bQ+%QaS;s8BVfew$g z1C!0uvg{-~WTMQ$I<*PnqI9XdALj+ml)%lg8-#KZ0#O_~ytQtW_341Av%An>v-ETV zYN2qOe`}tn_xdqR!D>9)zu_R{4_0qBpcyuBlUEc(%y&*paad7;X-?qr2|_7sk-TxE#|Q_}U{F6B18o?`tQPYO(&#HG zzj|ZPLN16GH7E8WK1+w>j3A9{r*(6ulg#l7dgrmjg`O#fS^hlqf=)LBTY8yH?e&Zl zgN@BrsT(bvMIC8H9~(&PiX6C{9M}ne-B=D0F|i_-gC~(OaFb!8LJp`F1>0EG$B#J0 zPd681IEQoZ`j9`tByJzAqwiJ&C$NZIW6s~pv9iGLJMtsMQI9ZFyYQ1D%I{<_(zIA&h%+41A2`fiYCrTD`j<7?F+8HR1%m z-8|oG%S}GRJU^(ADRWLCa8cH&zpgWn6HU9z?YZaN9Ez5tmcC2H6zWchVicE*ZD0`_ zJA7hK^qBDwfKO)k?(GTPVG@)qAO*VCzFOolSnq?ODOu%rBZ}Ho)}Rm_xn+L3aeq{M z^bMU=;@zS75_MNz;-axz0JoJ{t z!q45&U!0+y$~7c`)f6@{zI}HZ3yQpRd&(Rw;vVQQ&w%wJyR8LGPvCk5Ci`vcB7kCe z%KePN?HE0%u4jY0rbdoF2UN2n zp!~x8b;w51Y`7$k+AdB(e{&`G(U3=vz{|c{QgYW9OiSX%zk<2O;Wz?3I6YJ7FCj-? zS;zO*sLvLCnKF3Us7%T=5b5s?j-9{{QZvz2r0@#foq}FY@$?S0yW|U0jUEW37`Ui2 z7fY2yWjIbSPLa5UY+<@C>7?PMof~y&dMY_C6d#i@dQyzmA$0tEQz1qUML7fCkdU$@zYY>gP|0yoJ)9=+z;kb?1jx0ryG~ExvN2$4RbF$wcV5Q7*f%UW z^xro&T;~ELk-crBTFL}_y9Plj-<;726;q*jL>(YyfQg*K+a@Eb!fX}D>t{hYhbD%j z8VbE_tI!BN0`X>Hi{cFh(Xa=PKd=I}uYG2&o85t`Vv*cqB%f73RlY%y!!3%5@5K|h zfwYfpx$BltLD6GhVB~6fQv~nEWxu+iW`8!35GdMOp z2l>d{RiSztV0v)&W!|1xrIEVBHVWnC4Ob0Q+Xk`?m&HesIsi-|MW_>uNhiPRVeaKdl{$!%9gt z-RL__Zo=@TN85p%h~YW4d$7Yj`*MtKF*SL&Jp>w$u#TAiF?}EZGd85(-X62BEex?p zgOaeP-q_b8XTEaI>+;bzN(fvU{E>Y);LCNE2NlbHksRw8K5k^$S210em?(}xXnWgf zr1QU;8H_6;2B$A8(9{Yfxi7?T|o{BzY>u9{>a|g-KgR=90Kj%T{2nYo?{`BF^0$|y~x{Ki={9HnHbccaRph>HQY)L7waIEqW zx%nN^wLQ zDwZu!x%Noz1#(m-=GpLqCumLN5~{^kd5#U}i54tlcOPdI_V(FOG3pvRuMoECxgj!y}gLM2GMMzn1d zY|cvDN9b5|!mesDM}(BVsm&!WWN7B3yM2c>ZnY?mv}P3rV=?TiuiMq1bKy%57A8TW ziQTPQuROHLlh`qF7z+WN_3l1Uca-Ar?mScg)?r4k-)e&dUM-?iy2M`umH&SRunzv* z`y(L!XV0|LL9LXb5xJQyla8;A$JRibuLy>xYijo1?g0)4m=0-vyUBnsuIE#b{Ulj^ zNslgVnFt4qD=9Z< zV`8q`N)UBwyzPYkZXUZuhQx1&v|Cw+rurOy^hlp2>NSz3mcWVmf*q7=0S+ z!E19i^!Ec^Qd41>CiV2ZnMlYGHQuO*zrBb6tB4xwDqOf{gP>&j)wIkBERwVmIVRZO z;FG{2VI`%xW^*diR+`&j$%YL$UFzfvFmBAU?fx#7ESx31a9_`!s<54qj$@s$MBk=f z$yJ8aFg_08kFA1dJ&sQuoS3wA&JEWLxB(gY%ZKArqzP01s7}dzmud-;;1C_;{Z_%* zuenEgnQ3NA@9r4;E;MKUvdbZ&?(>}wlrf-wVj%n9Oy5Oh`tWDy!eII~kbI+3_*;<5 z>BBK*mMrbFQULk?=6P|p7VU9{C{5#SDZso)Tg!8`T{DC~%0olYl#*i{a2gJSpXe-c zV4lVg{J>s{*x$ksmEhZf)I-lxffwLuA9vL>gkfOdVkkM9(6Fj^yx?fhjr-Sj-hUbp z;J+QI5L`9emy<)8X#f4wcRunM-zbnJIx~2Mm z_JOnykMIQ)#)L}}r7P2fZ^WftfH_9RnOScuGnCZ`1_@)xhBGv&YW&1&7a7t^T+R7YkRfR2YA7&zGHf2DHNeI6T9Fb!NZ zRK>KV80@H;eZ0lT&T++0_G>rJkk8w6)VLj1`Fh(Ep&YRMzmf-JZBY!=;-Qc4m~pzS zOg@LYCaZaJM=uk%PYjj8-bveqS(;1zX zo@Xt*6D>F?sL(GY?aMQbUTSAOd^>=S{BQZTJ4R6X8Bw1Lp;-CiNr zDQkwsA!Zu4GfmlKD(-G;Gic1oqU0pO^+5YgV3@EU_JGlh^^+;vLcqu{zYiSrvn66< zk1xkU;6V5za%GL{CY+e#P5g}=BxUsv%PRwV95c!{;1b00;=--&_dO%3c}{|9ZcsbG zV;#_D5CiU%etDDArnFEv*4K1+QOUu+7KdSw*-xaL6h5nWJQDRXG$LfFf!8; z0znqSXQ}cNbKLH{104s}f{@&7W`PAG^Y~H>0Lt~HQnO`WnwtT~5X4}r=%HP}sJsb3 z9hZKo-3_8nxO6N#oa5GnsEyD#x>90BJZRrvZGWZb9rT1BaF?5(BDr!B9ZyqY*dV{2 zZ>GO)BQ`>?^oY3S0i+SDOa~EPF70- zl-TF5XhX0L77aT*ZpKkp~iBq$?zLU>R!Ss9>&P@Hd zNOZOUvsQU9ZryR@Os;&-`XI~f2qdJ<>(`I;UIDvvZ^8$hWgdjaH}&)as-RLs#+I}V z?>Or!v%{5W2D#u5M2cslNGQ`~o0sf>@C1O>J9m{SI|AxmEvkyb%mU~Ug^g$Rjv4Yw zz08$5w`a2-T42jL(O(xl@16aSfvU9V;}rJ-u*_k^Zmt2^B~qp76my<D0=?UtF?eVP?mA8urI-I(An`T^Ca1%dekO(I5JrAL7NFqTNau~pM1@8N zh4+ETdw`rQv0cPt2ZPx7)ebOc9DPwl!tDg$CZ4wd9e%eyq#yetjPzkw6BWzXh5@F& zXiiO3IAwV2VXth6^-6K6qTrd&A+I@O25(J%NpkRix(e{=Js_!LSMPEl`m74*R=QGu zLh<6aVNN|d?6vw8NQGE<5k*|0T!h@Q)0e12&NINluBHNz7S3bmGqbhZS;RCreH1!H z?eOGX*q_}vOezX~01@wSYMwv0P2s}yOwOw4M1-vg!wv$Jb@lL!^_B7iC+iH4^PH$%m8`@*_%`fyJ0@od7|OW!_-*uR%gE|PGN zJJVFC4CiM31t;^Bx0X);9skK7fhbrJtCX+o6{nf}jSQgpiO#vD^$Z2Rl3T`yF&ogX zi79QAXiUWDsTzm%A6$UVB@MZwQbYpGiz0o0(2M`ZY&ghYr1)KL{F{X40+L$=T8%NO zP#jK?8dbW?fTkw;)cfv)Y7AwxPZWW14|3Dv(fj>~Dbi#7cA6-8$}sX~hK`Tsne~G; zSuH2V5(TB=WK|uiMESbLlHX+zC?EAg?^Gf*C1rl8*xchi>(e~T2)Gb_@(KTKoEKz{ z=|6$B98O_%GEsJd1g@U9k|YUK>zEl{H;Di==`h!?4Bi3X`Is{gn^&9E>PH@<3tG#0 zk>j{>|8i>(FGg|^P+rT?s*xO8t}8i1{Q{h2yN?tu{niNpz|0qr^6!!mojI4*J5@gm zupV##5V83Vy5_bFwnVin=5~4bHfXF%q|qFv&0!5rPn_cqn@?gAi&lEGnmLz8<}H^T zfreSbWVUN>yEdb|{&NTT@=IfTuyp_5DZF8fgfplwN>rm@mBU<=3^si!8A>;#xK_K9 z(tx+271#tim^IuKgn7BT8{?U!{muSwv%mdiX%pX}w6lG}N`0=^v0d-=72>9S%0cCS_&jO^vn&6mc{(5l!UR9a!4V{m%a9VA4-!eSQ zM450_B|Qs2tsc|DpP-D0=yO>V3q}G%IuB zo&0@Z8<#mOe$`_Zbz^nfjDrDwi|H)$r=LT8he4&-`rTzGBmn9>8I*5<(#S?pKGOZx zr?j_XjvJSF2??#6yWo;Bt9qtxTb90g-xz363xXfF|3-uQr%D48;w<%Ib-{K4mit}E zS_LdG4jhNmX$y+|YIYoyp&#@d(%!v&5}-eoCa(>AdIbA2u$%n&tuI(%u24tjqJ<5m zIXXtdmzS#C;eN$W_`e-y&eucuFMQ`8bIi`DBs=1<4?g1RJ*wO*r=Qe%&nC6MT77DVHt%OQ4yT4!RZ-ht&h+%H*k7q_36c0B4qfN}tt5 z_<5<`O8JOOXY-b|sbGH}DVnB_hjNNbuWYg}V!`{>ohIY*a1db>>{m^E)rU@|VDjSi zNr;*^BN^3}aB%bgo7ad+Nx*fE{|X2dND!A_$=9`M^}^oJ;z!COXb1EMbydB9$FhGb z5%b0q@xY<(m7g?DK!^FF^^tw1lC8^+AQlK$=GZAVCWugx*UY=Of^0#?%pA*T)vNo) zSV#{qBgWnN03{~Hi=}xm)p=*lT-@+VuOX+?iXp>~o~bIVY#rI;p&4+cZ9d)no5d-z zy+IEO0+J~Vs8NqZy|mKPo8@IYzkYhxOjy+EER<3nV%JQ{OEpuK#F@vz&7(7g)prwY zg;TjKY{NX}8)Yc3Y{7;0!{R;mO<;~-z^u<06rduGj^r2mgZ)d-pE~QFiSGvJ@$2|a z=_Y1G6#~uB#COW{yitL+d=NSXco(b?kF+$ZG@M3coi&TeYZmAAS@j=X3I1b;k8-s- znhyf6F=FhdbQx5AWwb#A!}?96+kV2i8S${&72bm;5tGnN>Uf1r-v3WS+dh;-a|I%{ zfMWs!c$IL@C}*V_%e7h52wXQ>kOqHH7+I%%2(d@*zMqr@C)|oj3@_Oa6qvur62mc} zX9s6|6$#%#w!LzuFL(sWTp)BI#wXQ0gUmz(VG33YmtQeicD&|bRM;Py_wVAH>;sD# zq)l+axG**2@p4d4VmE!1h$p`-jFh*)Gw+wxY4yt_3gV>9m_``Aoq>*nr~FmBlb}6I zPvR;)=M0?Ht|Pj`#s)a*>wMS!Lu2OYwSLc5FXlyA>$aXEYAxvwGIkXe$!*gE(uv_MTdAPd?-S`k%9XxoJ_aL-v`A|Tq zZi$V!uo6=Bk6WCe_sKUbZn{I*2qoE<;B==F>pV`>K!oQ7dJuKHEr7teYH4h~A{N@f zBMyV?D+32I!{I@BmB@nm4I8P{zUxCNB)^?h+mJNOP8Tj#{}Q=Jhl*4m7d}TG3KVH| zn?>Wl@#YWWQ3qZhvw$o6~F*<{|^TKa}(JEZ-lJECg=k@8Xch=NRa2n}{s>BcQU z&%nRJ+*EcwE_4RnHE@csFI4dyi1(WT`MDE|kkX+|cWS{RIH*|cKGe>!J_qwjax{?m zJ%9TEq)QP()|zwlD4Vdyw#jG@$=Dn31ST~kU+%- zewnuK+8=JPo>ov7eoMb6_9^m#z6)(8uPXcblI!;%@fh6Ix zmFytE^(6mTTKFCJZ?mNX2j<%o7!As`fSeG&D#H!kF=1TRNd&CZ4D{+Lm zafgZGx;H{bAzFFLRkdUu6t0>0Tq9kLHD2L)&oH^jH$HO z6tFPN8xp`A&(i}P^AK(xc-)=Zp`QXK?<8g>E5v9su)^6OkLaC-!Zk73p$;%`k+>3? zdBkNGOfu7It>^Iu9P|YEcEncLyCa`-zGhQr+Xg1>cceN53fzxy@E5XnHf~*ijmd9& zeqM$_wY%3*Zj9{SAwJfVh8A#s6s$O2G)l-)J;tNrj!=dH+97p(RliXpf;OUJ*SM4@ z;;3750$Z($@PakEc?S8Le?Bj<<|Z$%H+Mg0C%Qliv{KbD-tMoqx5mDr_=mH{T*d72 z_0n0xq7n7GuZMlD{x^{TH`ayc)TW>&Mm#IFnWJ^i)rlE6m(*K}lsu4p)p&#!6XF*T zOrRcmIfO@NNG(fSooE2~F2p}tbGhNpQ6zc;D2to}q+kcPMlb zG@g!P?_zH30==kVNKM62W{~j?XWK|HjmaPCrcn_w@Z7#9dQF-pmGg&c6J;1zVkvTg zQ?r%3ctDpom@Ia90bB5`oJ3dc{PI6xkPzIZ>QlG=Uik?{;7fs}JTBmK3fEJm|5PDBP*#^7^m7nofydjUoB7T~XB?~oLZkpzRkag0m3$JHHw>iaCk{sL89UpX9U>#nqG zT<&}27=nN7WN7vN`~$qSFPIQAr?ZemPdekSBQ9HEdye>SM~)k4hV7I!l)MeO8!HI> zx5yB;i<>HQID|C@Kx&|*AMWkp@+u$UtCljzIoWY2(IBy5;>CF_KuSpd867#8(uoxy zm%094W@G%x&H~cREOIM`@+Nu^&404a zjv>qhc9FUup;H-N6s3{iIom*vneh4k7Wq!w(e~Xh2iI z`ayrnPwg(#@rh_6^+&z7;_ojnoYP+rEn{*q;=qJ7eIQj}PRrI=eTC6){BWVn7l=1= ztW!btYoL92H)Hqk&|lhK<4Fppae1RMW;) ztQL1Rverkx0s{p>UiTJgZ9S;zPB$^lgqN-A^8GjVj#wrFzOxI~y1=ZV5LS2ROn)ef zQF`o)rhz(RY9Ulr4etSBawN6|R(N5`j(DEag{TX&5;;_TT-=q-`qPgxPue!%`9`0_rMeVJ{CEaRv zH{2W0H8tH`3FEh-iK@UQI=E#%+FR{*Oxx^QsAub4=8LTe-zsxlnDXq8aB!sLyKJmt?K+P%HA(-uxOhnTiaictEPo1+Gt#Gj)sND5hOnK$6 zBjA`jUy-e>NshI7@vyotBH)c|1pSbSp>QSk!jhmxPx0W^-kz_2vn`#3nlI@z#U+|1IYMUiT10G-g#h7mc2nhez|{MHP?cB@JETm{Ghrp2Dr}x zijs5yE+d#7@Tb?(43OGQtZ7^H7gf>JlkK=(>rO<_DzyNZD*FaSZCkCTr?@m_YzS`t`}p7BMg}$%?006+Sp@;lR^Xz@{x_t% z8e$8QC(sbk{*=-|%GUnB;>d?7mym*(KjTF_jc)@psFmeseGk~U1++l2cab)*Lt5Z! zBQ}0G)r^ywKW=+F`57wf_3Kj7okzM>r*hja&rLlm4R%itXx*DK2n_5KKWvxp-Ixw4(h@4c3b$iQf!C_$I}Z(%_S zxvu^aE&*)kB%2zhJyw`@pY)0M8CV2IdA(KtYubeALUYr9&icdWLu4kH)?rWY=V;K?O zhApsuEPZa1DRDW&P@iCj&Gmt_`t-EUueeG<@0aOit5v`Fh!~6}85t!$G>}PlzeT4K zDa)Q*GCaZ4C4@a9`x$FRvr>13=xNid_%H%l?Sy9)*yX_7rQ;3X9GSW$4i(xmyt@b_ z-CHMZ@xogs@gMhB;k;(_1_~GXQxw`vw_*#mGpc5iE|#Fh)iRfLO$kN-&#k9Q=d-(T7Y4=}_-zfOR0L@qJA0xo2QE zu~_u+m-enHtJ-t^ivgC!cOB;L*n_G_l*U25m!zvMREml#&8>UtB> zAYXe4I&c50`RJdWfw`dv>xip3VkC@!(-lDE;?~L9A@P^%T(?cp{7-$nY6vN?CR}Q2 zVjn)~4SFY}!ouXzQ`}K14OkB{G zPL!+Rxu{=z8aa%G{BuLUhARxL&1k~=LMo|~+thQa<1|?Z=h^d!U%mH+p40=_D`yW3 zh#`a0MbrrNgWpN%Nq_|GotK>OY}YTOGQ~gj$|$k4bl|mH@6>~wh;}{6&SU{6@L-VF zlgs{(&AcftD#H^5+T5H``Bhz>qX9ayXh$Vn-M=QM#MYrv22R4J)jde zYT5Bj-P|J*?{mYSIrmpDK<_moGeUv6euxLKC@UueHzA1(5#Hzz%gK@X1+5x?ea9~* zr@PLuJ~P^w?)VGIdZ(;HfTiMk*G8Czh9(iNU~er3pwliQHfY9GJ{T3*26?1hRqW4Y z(_hS+%bF`k;)oB-F*Jbtb2z<8U^TVZFlt&nxqul?n>V%7+Z+AmEU3wUTe3c7-D+w6 zXCPnn_v~AXTN*~Z-rqUrMPjI&dJnBU{8bfc=~>O3gXgH^Xj1Go|C!Ws$cXPqp=58e zV)btNce(NgVhSwh*C6)4`W#Y-G3bs(rTh|JL*=MAc*i?v9ho02ihwG{%LGtucMj0`-=nRn%bEZD+VGzwZMSI=)v{4pKB@Kug3i>ShLz2s#(8jI5QG^ zGfQ%slWE^{QIg7h(5upI^K^Pc>^oaul!r+8Qg9V4F z!aQ24BTrIl;yb*QMSg8_9VJs>H^arLJcIUrU7|_!YtKY?b3~q1gC{r!oV8lgQ3kUU zvABbedT^94A){Q!c2x$Y!YM{5@SV7I?ZBU=`oI?vh-WEjIia}s zm^rg%ka8aQh(q3M@OTOx+P#JseB&+N-aJRhqzJodr8nsKKR0C-dyk?#g;hAsk#OUX zHxtq!vim-_#-EGwFe)9IG?(o(n$LPuI7Dl_C}mLM_r8dpL2A|@BVt{wEY_3SdgS?i z&EiYRBcpQyt<2~@JLx*)9QC!=7OAQO7 z!OWHuZ{YaFlh|0W@TWt2JqISI2?2A`Rge93zR45YL15v@kaX2p`+tNB2gc>Ew|auiBIOw8R5LaQQimZ zZej4MJ*p0cmFPsA5M;boDNe^SIaRdmJ9;EcA5k zI~>D#;3NsigU6xfQXuh{CKT{{S{F(Y;4P*^xC5fImt3U#5+u?eDbmqPoWFD_#WN9XFwnL&!jJ6{eV5hr-Y2uV^L~gUpl5 zVai@%^o%bD^@khr(s;G#8Rc$=#*Z|?SnK;7xhusM#@|1EDO`B@^RFp5@akhCe7&2T zf-hiOKq$QChIep>TEd6U`5VIcQ6)5#5*o|EpgQ#q#@A}8_eU+6u?ON}vE{(8M?cU>mJ8jx>-{s?O>E5**2!h$o zE*&9Qi+su{U?AWy!vGLfn9NI#$P<2~Ry<^to?p^gD(t_=bm$akJ9HaN&{A19?mf@+M@=Y9r5b_r0{Uj%ws>ELlFP;R(|K8ZWB^8OzGrA7R>#HPw ze{cbU#8BRH{_#AAvYKYPQl?$|hM=)yG%@~b!HvaHE^?7IT5|!TM2AIB2j4DwksCfA zxGbGnsWN$~?u)u@EVPYeqo@7pe+Cx-FRk%f@F$$)ZWS(jck;WYenjr0yrT(x6-z1^ zd9Ou$8VwCh>)MnhI~QCAn|#PQUl5((y!eTgB%H!wa=tO}k4O1)K_F*WIFdD6O3=V$ zUqcS`4{TQm4xBw~Ebwc)m$%JeXijTH@iQvD5tEmHN+;y3ROU3#1{q0vc}bdiIF$nD z)aBaot^~!F3~f3mH)cq}#_g&-gY|jLPhjbVwiXkC#O-n_`IfVb=Bl-Alf{%}x{&|l zL?4Mxr<&c=1Q8uIW-~sN-hC}0%X!!{`T6`*e=e!N#`%!<3M`+<>83Bx8kiEsob@&) z`M_cqdknwUB)oFI4bH%i5?61bo=||E(;xbg%R{w0$+RQZMe`*kmKSYoHS;FF>4}CI znV=l$=284-gr04WJc*_GxYsq1fU^v^Eo za9Te$t<=jgD4ZoKoq4xf`KTxs448H_*m>QzWS?WdEAt7WXHr$({PQl@hF#FYmxvF$ zz#G{Gml#zK#MF2!{2JKW-pPdGrgxr4G2-1grgk2DUTW1;J*P*kuGolqam@??%r?wg zNFrWbP=Hy@9?@4fRlN-z@2eRfjyM`*P!t?}Rctvhc)!B4Vz74)zuMX{QrO@`dI$~H zspD!0XeNuU@osR~MeHlGp!AMQ(}*8f9)B(whA{Ygn452W58;_p!2!B)%Ea@)1~`eV z>+3n0akmHsaDtDv&v$Ca52DRJClDRp#P!WQ4sBBordac%;*(o#H#sA`(T*)RH>yG_*1S2o_7JcA+y^GWiHEhCAive%vO zevp5w9^FDJZgGyLwf6(6_*T-q3cJ(^?9`dVe}3HqkKjEBxlwiuk1&MaAUJNDoNcLT z4n$B#WStPKp&rT-3e-Mr>O7trCYB`GNy7jqDADM#PZ#Plz8TxY(wXyKM?wUpL6eVe3j$apRS`vw?#*{-qH1y#;`24S3R4IJGWmc zv@M;V^YO&!{`)tbtN9HUw>9U6OI10mwhV7W^ScLvAVYWwHbI)!mFvAVo+cf!9HKj2 z&n8z|xHg3!fNI4Ky0d)*Zq4do$!fdcJ?Ji3I)oU=yTaXPq+&=PYCBQ9R?)4m`8vus zOhtF29_}i7?RjLe>3|>X@REt%qGCk0@{jvGyU%4mzT))l4Kj{+pRBoDiNROVeTPr#J&jW~p z0n~S@CHk7#QMHTD?LDIzty59Gdp3eZ+#+`?TvdTJ717wb-8B}>%%p<;zcs|-ZU zh}DPuW8L7wKAFv3i)(C@E?sVU|JJ>`PkC* zf^cBw=};bpP4UNG5Ys~vp$Jji7`Su~hjHIQrE@C%peQ(#>-StUQ#Xe8SIyylj||Dk z6WHF%`EIXl@=HfZ$%o!fH#Szepl6^U`U#1`f{WIxjt_@;S#FSu)-18TH1EI( zr`Y2|(}oAkd|L*XO|wghKK<<|y%_?#d@}RY`2#s%{Ark4i??rLMIb{q<%lA}i=a%^ zAS_dvNQjw5wpJ_$$3LFWW5*J&pejAPo4*PvYHtNCK4IZT2}A1vxV46V`fSZ?MvB3` z?VEkOiS$U|wH}_?_W)NRmrZbJxCP#IjGB6m>I-i`$@MA2IqUEY(TNMreWc(rtLYK# ze;Q8~Ifd3v8Sniu@-PQ#8W0ig34i`dgPtkKxx6YF?~J5zuamwXljtTR3k6p?Cw^1Y8Ku$=UY1Xfvw^P!}p) zS^*Rc*;|o-^}C3hod|_C2hQ2!1sh(lhMXr5638a--uiYl5*6x_O@j!xV5m$C4o=no zHz~Iytmj5m-fN+~;#He-gzC=L(u+w5sd7+4f1ig@k7h>Cu+?^7`g5uM`2;ZiB6w-X z#4Qf(V5@Pgd_S$9?&TDEk?AhU`Ne~+S66x*Fle0BU(ZW^Xrj5#D{g2XM}!`A#bsp; zLiPLRf;%Y-kb1t@t+w&GiBIO9zl6#%x(;TotBs~{IrH};X21Z(Eh28+X6QVs&0dxU zmUxP-den&nUnL2_DMmP-YEoj`$J4KxqU!L+sj(()_s>IM;B8-n#QVTR{XPtjjwN0| zRnB2gOxDNhNwAB(X3jAt)XrdeoomzolIbB@{`~9S~ z3k1$m@xfF4%1vbC8%z$iUCTJm6v6nI=e! z&-S+?=T?M-&*0hX@zuHxUEAQ+=BGlkdw&MfU=jC;LO-!`?o<81 zt5TP4)K5QV(MDr+pN9FCX;9{EF9$Upn3KZwWWIk2d6vY9jK7@{S7v5HT-dh{ggg6; zQwoNJ+AOxyF%LgMk>`6O?SpX8C{DM@`?Mpbh!01BI_d$bF{J}^SFgBSI4VvkFr-L$ zI~H!CmvThxW&X+o;tP?7rB#GHb_ zgg@Z{pY5DOp72jlDJBw`)do&k75LIL4n{^s`V`t9y884U#vt|>S8T?_Y<*gjDGQFq z0WZOvADFG*(^6u?R2BFe5_!fS|xdI>IE1wg@OEFI96;Qg~tMmPR3ujB^ zhLL{D8Q6@&5LE11IEtO8`~5wtO7#qiiDonUOD%MET*F;B(mK~&e?o`7m%9{IQ9k;n z&%V%403%w$z@nRXZJoXR`lFErpw`*%|G;Sg1%1WO+S&l#Y?Zw`T+#TWFFX6gX7w+R zQt%6|>=R!n93&`uRw+8{w7((V=_)fopgg7ejH1AWQxBqP$eo*?Q!B{FW;%Qz&$PJV zrQ2atIo*>GvXd$F-m(;>KFHV6wm@)a&BX;Sx+_%!H9<0hpUJ<0Pi!NuZ_oWRdGQQ4 z9NHem{Y&3iT>8ufciIS%OU73hlh(WE>RH!xHD>pH{=b+3#^mqbgkN#sBrTL2e0R+`%bR}KK1hx zc$XZbfZE`v%bW+^eD=H&q|xo|zU@cJX5y$Qh+n(FCDKW(OeG?|u+7h!w6xQ%Q}>-3 z7U~(R*OWHv{30t34JVKO;?``|mUM8sXK^AuV}q0J0?JAxAp6`UzPFta1zMnWh#lH& zw~&5SAk^S`PetPd)mowGTDC{&xp&X*8$RRyWO2u&;)26$m7fVV52j=ln+ayI`J3q7 z+|Vqd{K3Qb&qkJ3fo;0o7j?~Mur8}0-+E2Hxa-kB+B&qj&LMawW4d%g5Teibiq-bj z-exj|p_dDL8E3IYo2rGq{jJShmgfqd=@M-6D4n?9*Qc>Qgu9tKFjDNaYr-{a<-|=` z?GZnH6LJX9@UVb9v0$?-V-!~+o?}0|wcjf^wbm&5iR zovWn=LsO6fsDXqNpfHvjBpCbm;^{6lq?i zNJmenZh*K3 z%G`!Nn`8kHH!r?yHlUWqaP*R{Q1$1s=aMK0LAZ~b&;xw_WhZ+5xt}_!IlY@}5=YZK zOF(mBs-zc$>s^=mgcxMZF~hCA>j#%7!c3_QldHA>mZ)ZEniQTnr(C_&&tVDo>!C)E zo*onn_n9qg+3hRaGY`x2oWt550M+k}rJ)jb^PD-d@hCF#M`TgAkzTpfveYE;s^IkIkzPb;3g0E#K+z3jF3Az(nGB*|qMdlSZd;P=zZLdiY-wPQw>K&D2BERWDNu0(SE43xJn?bPEXTyoha+-_s9vtNX4n@O$I@tudFJ&!D zJ~K5=Zx0-<$!aK(Zd$Okut?U`c|;ICMU9?b$TNN8yS)9_?BHN2aditogkhQHi%UJp zhnFO&dv&(XWukH&5}e#}b4oZM59v%3`j^!ikOK*9%No7eCKcyLBvn8B&s1GIpRrhO z2h$k@dNT;=R-;C*hr|x)MD2$7SxjEUj*d;#h+8i*t_EaWGZx@j^?4gXGmn`Pfc2_&7td~A&*)~U z@=lBKHCwtHdS9q&Mnvdqer#pQ9(HG-yg4 z$(~I+V`_tSvDUe{>Z<0$U)Q5G0QvVN{>Uu@+?+Pp>i8tkJ!!U&kS=#0ivr&XHhD9Hjs&8#uQ+~&a z88)&W*cn3KvYXWmG|lPkTo~_R_ws9SbaZZgn0BkqPRvPh%ZRLh&_>?pF~_Z|${+k% z&#o=J2~Hwz!ft|&k3a2&KV+7r`qOT_ZdSt2fmj$zB3_dtApK zYC|V#7#DNPhWP*;h!vBN2-SVxB>{O+nn;oE-O}}vpk6fOH^xj25_^4&FUX+m^|}bq zu3oYpI&qEi{RIx4A_eg!LwT%$rOL%#k4%qZs+5XN-`Gpe*hc9L6f0M9=lFt@eC*{1 zv`+a5oM~+$NbH9lsVaMY&B(v7@aahoG~{&~O@8|liVIo_C>`0+-(2gm?z9|Gq5Eoa z_Ge}}$5^~xWVtxmQQi0+fQ|*xsp<3x4AIE((Y+Gs#qkHGvExb2CS(4~+ojwa`h$}a zJP1pnW`6P*LqOc@<||s+guas&jUb0%1Iw`#(*K+M@qixZbwwJA3{=uf6{|nF$QUjp z7oW|-`&SdQIZ9!Y{Jn-tgHUWBK0S{B)YPH(eoAsNBX={ZCl%eMN4eHc) zoPy5{PFtl`?Nv z=&bM;G#jvR-EtIwlJ`Ls&;m~LW zMye)VE-rDT44qc6bmHwXa*3EU5p(#JI9hM@dG`%dE)lGoAI}Eii1d|1sANzizJ9*i z8`TPMf<}qY`s#q6qa?@itIBO&k@!~BdOvzQWkXS`JP-F7wx!pZ4x~>E31hFKbr`*(Qz`&EDw zM7J4GTqs^wYn%D||KXJr%Jx8Dcb-N=6MLw!T!%5vHWXJPbb+*xm_2`m zgXOXb(1F<`QHThE+b}g5ag4>(#RS`7!hpMWT=l*L8C$AKkc^h>r}uq*#td;oI6&u} z$(JK;SKQ47b2zoIP-}Rh+_?FY0_qcUphRnzA4m6xg$IH)S}*-f`ZCsvRQ#lsO zkcK#G+e1Loj{W%860p$~$T+Rz+I z$CkEBr6skxe`%jm7Wcz*eq7$hCAu==#Xe1u2Buz|z>OqVZ!~6mvc4R|>V@TXMZ#R+ zzq0nP?1y47qgWM^^5J%idH+uRkeGK6M#cW-4_Z1l*X28}o7z$e7In;b+#;}8{ULYOa!Q2{o8yvQv$zrQAp^XGFd_QfF)pap+lDjzTW zI56%2<`$#tj(rc09nyaCe=x_Dz#NMu2|sJtCna|buIt{jzrvaR5h{Ls948(8u%qBs z6A)&N``~ON!A1ASWQ*p5$(Cu*lBE^O=-PGj3t7NxYLEpf$0sB_1s5V{P|#Za4WT!j z_lcV+wW(aaD)PtO|9x{-$RxTQg@_>pkS~08w`u#|R};_(cbOM%p=$sHZEURdBdSwy zC}tbtbFkSRs5x*;gyWC9|MeUKPSP^^GEGVS(gFlVE=-+}fC=~zMkM}x$F4sv_?ob5f)0t&i=eA}`zpUy$%LV^tA2n#4r=^S!^8UkL*4c)NH3PrV-jYCb(a zapaF%n?eRQa)o*(p3#+@IfCo3wiP^nogI-^7lLsX)hBn-{r${-zv6Twze$5uSkyW+ zw`DWceVrP}&4=Wv<2M#rbxaNer@Sy?`^R^*BU9gj-(YAJ9(kTn?&0WD@EvE3N*co- z0%LOU3dQeF{v)~t@RHx8MbGu_fyO+bIJva@1Vt@=|h_lxkJncs% zmfTc7#WeSNAZ;JbJ#hFBn(+6BpUH#q8qH%ntV$NJ1v9W&_xAw62M4IZW6mqaR07|S zG)uH{r;0fQ4{1+{tC2F5G~0B;@n7Hm_jPPT-TeW1?-@A%XhrT$$`t7MF~g?rhR8|k#dCB0 ztX7V-m(6|K@J{rPdQkmlb@`gtmYgP4d014sS#h3DwekbaZr2 z-CNzLIJJ)=OEXa8N)b=8tkRAx(t{Q2{j~?uN7-5=U5>0LNWH9m_zvsvQ(5<*+O+({ zFgd^fdU=jf1>bOxrR%@l5!I7Zu;r-jduGxBib?t^e63c!!pfmL8XhI|2dd0%MD--i zi~$NXJv!;N+Kv^2OZbp@GJB02siUc#y8k1l23-D?4+xC!ZUIRs3$iY^Ip3;mV_bZf z?jxWgdYKRIKqCOkcJ*t;7HPX?0!ycPe+vsE59929uj)V7)z59#IQF4!wCAM4EuSn6 zzl8*jeXGmKH!-*sY%8PZ)Wo5D!B&NOddWHe{1r&G$90`%iDTUz_I+IQD>{efa#|Je ziC4zIHqO7YkRZ6rZGPS2=$}*A%(~u=IScdu+~twSe8>fp^JyS_*a0MV2dG%zx`_;T zgH`qb4zh@dN0GbEJb4b)x?>;kvPZy9NMm&6fNQ~XC<5iepPV)n0k_t;e~S%_intx{ zHFnn%#|3G00`uIc)-vAK?RZ2Q6c=-N*}O!;D)7ut#&qk&;oKAG4*{^=Y#0B!VppK% z=d7nLO|W@Yp&_Rx_y~?9X2|^ z|4W1V3{2VdBW}O=W0U>0I{E~ zHl7&%eRZ*`&P(vo_ex9(SshXsi&-z0@|cC)kCI7&L0^(v4E#Bxnt!*>mZK zN;^K$w0mI+)|zb?%C1Bfc)oT#FLII-(ey3GX~Nc{&KzovWURu-*1te;`PxH36_Wa% z3SIg9eNr4kF*4ryhhka&#gVJzs%MsG>2pxEa^ZiH{++uqFs7JxH_?-v)ZYQoO zs5F&~@2r`tz3MM#`s#g6?M&UNACvW!PBO6|zoRa}PJ?$KxLCt(_F5m+H^{o#@`(-e z7#L+w;zJooh_sRHyq!?KJHQt5kGwR;wSI0?Qmwev>HoM?Mt_)<-%Jmm1|ppTxqFrW zAMYN;cmolA?iW-$9Tro}xG3cJjTTBHH62SFs|XSYBwP3jxA4nIyA4h}w4Y zUMhD=5fc+D?!N>Z*1fc}v^KWoAdU@15S_%aKES`5)h8w*(kbX{ljwnT;X&LZDh8T* zNqLeMRik&$St1=)p!inTIIMZ7wxuM(c8?ojLw&GfFG~~*2|shZRe!wzvS61# z$mp7~NpQke1bog2@bh?Nt<`TqP2*jKo^-CafBRR%*;dgJeh@&q4And7x7BK!4TftB z2pmNbTAGE(u+=3|I0l&~<6);7PQmOmk9}ydn*tc1NT?@i1QU4eZZT<(*+Xp7?z|Or zY_A|Vo~y0hO~U)FZ^d4n*owOQR{Q4Ww48tb*5Ol;YcuCTT`^rEyBd=pYxzp$Kc*_g zj~~G}A{&ZhPQ#P4DBgd7y%C1M5;k|FH4d~%vdB3)WA>OeuUPq(`~J>cYx^)^4Oa6m z7gFFGM=EJGtNs)ERa-diY{Peb`EpDwZrc;w<2s8kz{V@%!Bim5)dgJpm{Qy9!Hsd_ znf?%|xI&86HDkME);%!{SznFS75dAh{2^%*aUMNW@g*(6`P0?9sR8S1^e4ljvgVay zx(n2Dn5ca+)&s|RG4=}9>UGxkeqC=!vkTsd{niF0ayfr_Rsephj`(rwMGVaeW7t(M z#Mupc2&4c+|BQDC*l*<7E(G>caxTj zRv}g_SZ&dCZnX|d;+!YjxISR-Ob*w0pQShYL#p<-K<4)=s1P|7f=k}g8ROPG2Rjpc zfFns|ErJg#uX^xmu+RKEo-y&4T@UxQX*WSXoTHEzIX4N{zwUo2)Qh1!tMNupa%YxH z5rd@b6+Qk<=*KGn&WZkce7QrlJ5GZk=)EeT<7bR^S{_wuGf&a#*aUPCS!u&EUFu5hIN9Sl+1s!VG8t3Y!hp+6`+H90Z>~P@UuDKR z(C7%3<|oK_I10v$OD^GDnm3QTH!aoD54gNrN%D0aDO|2Zq-B$Q)gRHky+ z*RXy`3c&Qul8s0FeqMiX;=f*9Wjb?_O4{*SI3*MnA^3!x-KG48M~(qOYfqo$Xvmv5 zv*QTC_KiV=UeJSyM3+bmrZ@N?G>x3q5jKK2cU-ycO{j1-NR2@SVrn&axhD?-UM{=z z7#!*{XIPIW+A(y`PJ?o~MaMz#qRz>NhTa5u8j4zC_2qi|s5)Txn|;)+Y)IN~!FszU zFOd9GY%dSGwZhtDErpS;x(-_6wRd(N@!R`+$fan%;1QH@e)90*ZADiI_hGqIXr{o( z&5Td#|C$N@+*omIu*9;l>I^VL$l%wg^`FEs2%qJ`Jar9v|DKO4x0NXpyz4qbQWJn(WkJev(vaCX73%Z zZL420hMU$<9HPrxPr|N!Sci?^mh6aU~YNZsO- zugIkzTz)&#GDKgfI+Seg$6ZX&4PBz$$C{0+h`m59o%2^U>v5rap>YM4LkxhmTJmY0 z!a2gtFmx~lf^e#gl8f!%K&0Pkn>@U?4=Eh^QDPIrA6*O@iyr#G_|*hOrx;EDf-`2e+v!44Q0LK)}L9{zgn-`3QvrEXO=9Rm0Y85WaI)7j)~4+Kcc@t zvqESmE7hWGWlv>kaGi1S(-;p5Vn&A+N}c`RvZ9~=cNrAh((dP8UWe3}9d2tn=S|FB`_^9L+vBg;0oy^Jb+?{>mZF6%Qc_!@YV&y9O9t^_@CV;xM?D2P7R6 zCDXk^afD6c7QxA}&<+alW%F&z*iH!nVN+c1nrJI)@pfm$Y~}Q8DDLc3yqYrA+ppI) zOh+@cL+6Cxp7sc7>$>!KUh^?reWJWO;dvq3a9RB*^A3-Cd-nYP9!PX*N{(6EFAcur z(@j{I5#BqW`}~4yP6A|i(_`jNRHKlRainp=NXMuD2^0RxeSeQUrzQ;UNHI$|Ks;02 zibp3aKcuIP90|b@vRb)M+EE_TVC=4Krn}eArOIUOsvL_r*n@NNJ8%W5aqF%Hug=}m zjKz^1!Tv*1>pI)>JgE957-*iKz9b_lmix&-GRH){tp}@+>CpQ~L~Fa11p-Fqn zAQGP>Wk^y`H-1joLcvpotq9L#0_m<2huMj!B2b%n8?VY~26dycl2LjKarC0}Ui0)t zCBCGk?9c!WG8u7&gNM`s(ncN8L~|lXHwGbcE(}yST{|g)`mf-`3G+I>841VQ)bVoK z+X9eVjeaacg#2+LgpqI}ljEMTRId<~tt@M-qU2eB8RpDF+*RK{vE|qT_B)xp+Wdh?FS5s3@kh6_?mFwd;OY2g!d~-;* zQ+QqK;vtkntK{)&)5&j+lq7-+iSI0>96fDw{S58;RfjyJxZ3j5%aHcAHthhLu~9J) zEK1qEIa35>Lu+5xkSLTyupzewG0Fcm;kgQB?`&mz&1E68XWqt#?g^38N#Z_+a`-s( zJk?aiSguD%jKHkEL>pKcYgZyy_R>lFYkPPRa5x?L#wtC7<2yWn*z7K>Fkb-mr?+xs zrMp)i>!#bXav|ttHiMQP3P{Shz;f9yC58&wiU)arz`p#d@xBufdZkN|oo9KXX796v(;{L-)#kq*4^= zURMyK7_yK0{^vgW4dDt}-OMk-OPqFmzQ*_AbV?SXUseB& zeVuTe?HJ^3r>$R2!XdCw=F0Yfeuz%{xL|=+N<>L`{Tq$&8}fWieS{B1TG2|?;G4imU^H;J&p(xpbv4U}mi#pg)3GFQk)*;o_)WVe1LPk&z$HDJO?AK#o?XoHGt zPqz^%NjQueJvb5p?8jZ*+l2^5^bLVGl1t2vQ0;+3uLhODa>E@}_G3_Ma;(_6{9n}~ zzoX($G)SHKSABgWEGpwi9D285z?r}A_dg(K@jUeR(pS(KwH!tnC)ab-Am9D>mHy8w zqz8^v#Ip4SxM$kotdZA411qxkgQ_gepGH3Xjf zS#8pXaC^B#>(X~HPVnSCPH;_HDnuTT`@cUJswd~*V=KEw#X( zw4sQ`gnb86AosV7`6K`L=i#_hsZAFBJOBEhhyDGZzo)@{Uv(lLz&dnOK@Jl1Rw;`5#t_Iik!xl zliTcLF{G%B&hY(Jwzc|2%bzbj(OK5gUSVA9@#AZ^C}{8cEe#y=$$*cm##j89w6a6C2tmgrlWP;>^RDHGiTFLTzsZA9~iye(?&BI@~ouL1?tB{#} zn437S19_WQ9<@AWNEm5NGT<`~m;c3MsM786M10{DGB0ohtEfx(X2;n_k4cap@{C&$ zs{X2k|5!||Kfq-p+5?8{UN3AGmcdj)>V!}3$mS;o|2SIts)Z9H9Ti~RrnP8Ou>%(o zc3@e^fAt*JB&0jYI8yO9i#~-UOb~hGmD-5jJKIJ7V+nJ9q&XswB50n;R+{t2*Ri-3 zf{qK9cd3ZGVBSG4Yd(H;A5FaO;ZL!z7ade<}fr|N=TaAu;ZRjSZ z%=KhSu`bHBkgUWkv6||;SxVaH^dt-jmVYEiN)Yrs`{_BDX^yN@6uAvUA0qW^wN`6Q z*zTZey^@#NX^Hj(Wr=xIAA7o~{y?z|^qg4j@h5>6&2Gfno7o`Bd6~S&1_@H7-3fi% zhywu^W~c_x?)ClFqyH9pe*Ryye89yJ9KSJjKh&f)xPh|h860u3JcCeRK+wazT1u1b<~`=n5)#rd(kUU~+22DU`RgWHhe z&d^l7U%%r@uTZ!#CU%3o>DGq1;V&(K^~?hkugs0Lp1S+fc~zP-w|X4ACJKNz!@$5W z(_p6$hL>#~@BZphIDNh$V7&--80jjz)~0($e=GofrM7oogCYk1u{EA4Q?!MuEVlBV z2Py{cH)Q={8)T*pg^UVgafE&9(F-#8)kx+Iaeq8G5i!Sg<*WCc$YyuP=x>+ts$+M* z)`hx?IFL?II1y#(!s1Vq>@XGQom#?%;h<&ATm+!2U0y^ly8Ba}u=*GJMIEO7HN3}J zpT?8T!I)G_sC#$i1+rbFHsJTg;*UJrlDqSQS%nroFg@AQf%1hea$|jc zDK^ISlMJHe)9z-* z%b5?cG3k;XbCZe9wcYYfCXa+ILM8PEP7Rc;7X@`$W2aY33-KmBQgI6arNy{_yy@{< zaUkz)YsiruCpf}K0BNm|8#>XnRtIy?E&o@@vc3M|M zx$@Gi2fseEh;WbTwND`xYOSRKCixbIKd^d~ZW%o-dcC>XZHZQGz@lvXC-c1pLsK6@ z##>2LV9|qF+V)?8>Q{>Ph88Le9n$j5CsSESL2Uq{4K=>+PiD*Ls;k=TMX+s!(y~X) zJH%7;9k77inp}5<&1m?mxT0;=i0#)!=*H7Rkwx^A3Ac@^r{kTj;67ukH{ezlc4bag zVeR~IZOxH8dM7=n)9KrPAR@>8HoSP=}MDr1h%Smic?B$EHPaL3*WgfPkAFLE=(Cq zUa39hUwHp5QnlKmdMIHO3tC+-C1R!`) z|5cV&Rcr)7`>{z*Ku62R94GR|=Z?=x9_X_jA9yk| zphl8lBgy3y77EV=Wuf^k-&*Ca{^U9RKSTqiq=QIt*7b?-G{EphwxQ9Q4d9u5KWaNCgUc zV%PIFI?2J0I@r$Z=~C+Y23xbtm4e&=w9klRXZo;W@k@_`aRf~Rt072nbEv7N zB~O=gY|yWz9a)GEV#P`1Kb+i8WaV1Kb1juIe4z{(!cNk#W}EW%Ct~Fou7YHj3cvd~OMCu2Aae2L&j?p*n$)&n7myGkV>M zmLFH8Mv*9w+a$oKI#|e-%o#=C#l0 zU6Pu*_E=Z1biK=e+34zf}7INkN${sr9tjb+b zKxO4~VKCRg)V|hXYL4h0a+zsIcP-Il8LS3M)-d`3q+P%Ed&8&I zT>l6sKb4?&(DY+|Jd?w#`(vSLoPlrWsfpAr?i2Zvz4+Zv7QSXr<~W26)mpvZm+!wo zr@Xec_KBa=c6W7&yU5~4wO($s6xyN-|E><&zk2ud5_V8j3}M|w_7=IZ5x=f?r>_v~ zPX{X!C>HS}h%~BV1S~6VZ5|_Hu3Xtgx-fsw7tijEO4MgP;-4{TYW z@S80*8~8XwmEH|wh2~tW8Pe0odqJCF!7XqyQf+9^l9p4WyFD|*QA`8#zr1d5&$HxsSum_=L?(vWTa zES|W*vH3Nu_Jz4OJG56|&ZW9E`8Au5up`xNr{s|91+(P-FgXQ_oJh0|PD5o1N7EM4 zo!V9nIG5ga$5cwQ7ot4L_-s(k_<#%Kll!Dl4t3lGo(tCbSQ1-Paf$`>bF>?)SJ*7XO!jW%&FKaT zUOeAVw{xB12BBwnlUjn>do;d%bkii03nRBEzE5rj|D`#OXjA1W_ZF*KVIi8&5a-f7 zec172WgDdnN&Yo^9b5Aa#*C=vkOx+i73*pp=Q(4L{Go&YR}S}_vZrtRKh9VHL4s{n zq1uvO&6E|(Xs6`yiROeJzR{dz2Jiq8BFinSNHM5s&j0Kz9E%g5v^R(y@^zdp;bYU`M>%vW;>je!3Pp4Z7Twn) zE-W`&ELa!!_hUn+dc6AstVW>IO@UcJ&r=6ojB!((YyOvnF`h@)E@$5wS*k4e&ST-i zC@8N-_>^gRV27Pv(LKBT=9baZ6ArC;YH9u+bxXY$$@nEY^T9KTohq}2=F0+8asJQQdLzyR+JzFbu0!y&DBHL84WCrPg8gvp$ z^SIFK6;s7fF7FLrUQ{;TbaIm%M3D<Zv(AH2-U&xYH~t z*4I}Mz06w_IfBE5^EbB^f=xg-dX2 zcGyRy?3qrnrF*U9VHPP8P}h`m-Mbfq6)y%jLz3Ap9viFS?}u001L74sZuPj2Ix=7z zoO&(`*cyZxslq0e>4J;dw9;N&bBQ1R#FG>ky66FX^b-!hc7|(qDqocF`g`{UcKbDl zeMmZlDGq#SRo{zOP4)rqXmhpe;ZOYJ%Wk-O*Ib^WKY{-MSGamWCAs}{ zgKyv8RlS)vUYIaM7l_ zjxq!%?qnC(2~7f8jN!*8DmLcdAI;cZoOzMp7Zl0%T*3jf)nnqFy8&MOOSA$c0S|YaKRp~uL-@ZI{I9m2!443$1 zRp#rF(+{|XU3Ec`cQUnIvd6IJ@IiI50W4@DMHgQ`zj%A!$K}z-@5+B+rkA;&+e!S7 zJ0u{xD@ayj_#NLRK6tZv>oab6MshM+;qlrMD7$MnuS_OMdi*R&fIvZp&FHF6GTBAN z#0!|-HsjnuS?i|#`Q(d%6ttG0Br#b)$Y-U}Hx~otzrALvnQ8?C{g|{gZluB;DTP(% zEb9dd?^XEuEqr(p*bSIG*8}e)3GO1-AHR0V?{!=<_S*$syUKwp}sm%rDU zb>oVqAlbhZ1riq>;6D!`c+Jj(C);F<4D;3}ZYVGGL=T@Sr z(L6reEKc|g4@SH=bOK>%IRnUnxQ`wmxBjJB4-hqL_!Z}`*OArn6p8+1A~?UmLcUiU z82%6B_8BLjG_=`?&!s?}^YQUfp9WYtwbzCB%VTHXn(f+;RNF@@0)$O%Bo>-@HUJ4m zi+FE2uf^!l&`@=j$tP8=Uk*XHp5~biH-^a#C^keGu-2UIOsbq&@cpW>pJkCz0TT@| z$+;NlAZREr>%^I-Y-yxI44Rs!RfwXJIIdiu=D;Q=ED5 ze3K+Fzj#5b(Jr5K%$UhS;?eVuFO?|IXXN zGbq`oW$IsDk?>R6sVD$jXphoEc}9fNSu|HxY6B6Gzt{(*`=}K;sdL%QMlj%DJd7dp z>O0KP0Nq^LMUPpxtKqPCKj(3UL}P6z074(q{O8GiN-#QuaglZ_-6x-EvtmO6ld=Y^ zpnP#%wV(d<{KhkPaiDi|uZ>N-PpFEOe5!)X16pMNDQIjGrX%-Wnz@6tK!%a1QMe?B zu#+uQ!#2ZDslR$VUvV@7`V}}|(*S&)ktW6DnjpH_OX1t={03?szoP|pU>z+5G#AoV z0@y)|c^6HBBE#L2h7pXBkW@{9r=!=ry z_^K=g78kzKQD^fJqO#tSUnD%3s&jpL)O6!BGYG^I6T1O1;RgEyyQdx>pKq)9e2d=_ zdXiVH@A$z|d{6Qn?HnEN|B_7%N_p+f!iVqH7k%9+yMw?T%OEwJY%^+eyLYC&*<2zFa~Uwe__vq z%M*D)c>UR$Ws`@pp3m~5WF`t!j=9aD2m#;_HBR7KmK809wl!)OE?meaepu+qHJli- z;g}s}NT@TJC{v(u)YMeuJWAf&EHhT?J*WQ8KJGMEfIA^F=H}KOBe~l>_B7Pa|5)mr zj0`ZlzUfn*29c>7GRG$<&Y+ixelC&}!QW-#;N6SOuyXEu=&A&h97t5qF|>sVL9M%@ zoWB-5O>3pOw&aQFzxvQNl3=9xV94ysT{zvoxMX2YdHFV-aMhzXCZ=js{l=7%Ie8X* zd&nbqs|(r8l?$fT0bFKo;$B|WhWNgJIeX91g6nIT!bX^E$5qmJk@wi; zB8i0X9(&uO9sgrC76U+Ur4c$0N{ueUE~NQJq}y#b(Z{7Mk15^d`_g}gqzlL81yAGB zV4eciTek`r7e7?C#KM~BaozfGfc)&9jGno7?kBr0Zj(sSk{PrOiyxY*b3fBr{0VeG zxC~PjGq^M6w*nr<%_oE2ay-o{Bv^&LCJboEU~7o?^)mIN40Hn{ZEf;{Oj2W^EqycE zaVhcD+HspXl+HWdj)Lg&8a;K)kWlZ;jyOV%eYYfLb8J>MPZf&wgk-m5JU3VIPtEz7 zxE?=$xaCy3NEm2cwl^udd86UVuXu_qoa?`wm?uH}^%<#%VxNv4J>NOqJai;M*!_F( z+BK|g!OR(rl&%KjmI(tq9R3@HuG8Hb;OrZn*!=#?u8ez%HGW!4w0Gm%vNi|a2YZkL zKS;!~?&-Qt0LLCn=pH>!!1^1`f-9bI%3oE!r0Ca>BRDTVoT@$_RQ=|-9-{CZ=~znk z96#_-#v>2BcICyM*il9Y1=c?O{uKHZKnXJn-ir5t-@7(F7RhrQWl#RrybJffPX@7N z_3m)M=e&Q%lYAU85h`T{LjiWH!~}7;=u3uIcL7aq=wcoI{g!|J^#v&WpQ?6kWNY2s zR(?baXM&x5w)6WFLb&Rr8KT7^!d@e!^~O)Rz`O2on^LM6UL424-V(b9(2!YI8VX4+ z^S?122h}D`+ddkessLjWSui#FJ6hMUn&{GU2L$W4s9T`zyRqvq(4lIlKt=4-XA*E( zxoLK4ueWcCxbuMICzGOabWd2wbpnZLkG`N-UO~-;2*%>fw%kv1Nc&V}W#!53VT`Wd zTKSFcu))psU9uB}%8dVacLy95>vxxI+#dMVrx{o2$cdneKyD5ykk@24C&ep}GNG6# z`L&F3rV}ZaRTfpx^4T`UyAp@cm0hU>#zknQT@ziz&LVAGVjGKCEr|V+Xfi5kZ=G+0 zav6HtSHZ!lC_jRPdbtO%Mk%lOFH%cS5xMOTzG=Z~1Z7FX4boD)dOsxN=OS!kUK>Qo z(4r$Oxljq(`D(tQ%8B^+_#-)9B}4fS{ZmN0tQef>$*&;8Rk~L|7KrGOh?9R*hJrZZ zMimTTc|PL^RM^JDqRpdr$&xALHv&gR&GFV`p(wefxN30dd>nfXI(|n_t)^dbPTs1j zdoWbx-uR8gG6sG$F_{(7gp&L_w@99dLxkAH-O&_gKW4`F*FtQ2u3pmZ&Hl@;2L zIt!mApl5Vd#YDf)I1;#~P~Bvo`Li%HB4szez8X#j`W5V220xd4(F3=l3TkxOec_ak z2(YJ<7Nj&BjGH4Wt)o@7iHkdBt%OxjM|e@bppWsi>~p>Z#$=jT)H`?)yWF|CY+X4) z#PMmbY~Dnni1|y3_L}t%DK8O=!Dg8R7l-(JfQkqqRqbF<7cVBU)Lc^d(@WCDKdLW2xqRvSh|!t2Nfm>f%_~}=cPh+DLVzVT$n-3BxDf*Ir)Uw>zf--GEWY`L17EF#;X zSn4{AA`NGI@MJ<2JgHb(!E#0Um5 zz2Y&msok50fW%!P|7gU*AH&?2OC8nSgfrsz5Kj;cMA0jG(V@nlePv4^0@)}ANr7A~4GrMGHo+gSQW_|qz{>O;(Nn^79!EA|Lw;FzsqH<$NY@5`A( z)cH(2;G-0rAN!7#g+(d(+RO1|g3WR3sOu}CI1+iyxP-XN_R{l#Wq#dnf^p)mHCH+~ z=3jQr)hyQ@zvNuz0|t<}f%Rz$qO)LL(M-ELq2L?h!`rhX;tjpLU4q{y`x;|9c5sTp zuE;dh)9EA>6tj6nil~a}xzyB-t5LWv;XzLHgKXK)n5dMRo|f2bXE~&w{(3fli#@o;U%UJG9Lu zU~aTd&zc-sPxNET5s-L2(~{deo!Y;uLvml2(0L9$WrWPR%tYT7C|<4bPHzXN5^NFK0heNUF3-7 z!qnjD(JSVE-aSc`x%|G!|9Vq__xkFQ&@ARk(5 zj@Z6q@d1OvS~R0;KSy~J1BB7viMxmplCvlK^FLcB&Ueo&Ox$vvG%;Z{0vXiLZ8Nt% z+;4Ls`MolO+!2JNKJ1}ICOy0jQxt8Jcr`T9t^1NmNWK~y*f2(OY|dhee7>N;Zs)F&Z(6N(G- z=l~&i?B}MsG8D7<&Gp)W>h{5$9B<7%e?s~ZX(gLvU%PZ~aYZBr`&6H_vxcmGV zk=#Xxam%n8w;4Zgs6D*eYLS>Eu&oYkP`V@}mcG#uE0w@|DU2fA?YNh}a@h{NZCfmO zF@@ws^nm@^m`;L(=6R(ykdg(U=agjrTKAtOcvvcKwR*mo?J>nGQB^XsEdR57fSMVx z_#o~byQ#GT3dS*NXL0f`NJVRlTP`uDcBv%)9W_tlM_-~tOc0r?2zguO{k2%Il+1tN zzh35l`&sdwmIDfYiEs=xsr6~6zSA=CWRyy_Y?A_-6KzKfy>;!|W**!+|2B_nNC@Eg zdkEnV=c0pE--J0)j4Rndlq+^!Dc@CC@SQH#J~~-Y+H`R7pbYP{iA7X?uUdBF=8YD)WqYCWgPoznwVy(uNt)=ksK<>L@msUc(MsL3rc%%H&_MIrkOH2~z(B-6r zie|!8)@Fo~AGJ-}3vmp6p-OlXFQl{@8~dC`Gb={^6uXaiV#)NvENnt zJJZ(k{wC|;tPAP%0L8XN=zr_B?Me8$L=CdtVn;B;Dbctj-$#d}Cw83) zMF||kP#7F8)X`$^V!B5>g2@eTasl`AK=4mu%E&sH+mNlR6De^|_iUSNa;3afoi3jQ zzp!18d8xnH3{+Si(-(EoG0>a1-(Jv^9g{{p$r_Q;Bk`yvRnkOuckw~3++abD3;aF{ z7SXs=xmRs1QK;}Em{^K))g3m~yzGrFwR}$+on&_}rUZp4Wocx`#^&C|_2lCj?+y>w z%A7)xHZv#+lbZ3jV zZDS<+#~&M}>nOs^2B$P5SpaI+byN~(8+&pZcup;Xr=+UUQ50sGx-GF2#6gh&Aufkec+KYUlcbX=ZtO@3V|T)8oot8Un7>B|=AzJB3`l@R18JWXgf# zLu6nzM8jzosVH(3<8tS*IMsDBJ5sOANyHzHX@*3*m?dshrU`n}o*wmdtIzXA-#v}=7l8~w53#A?Dm zwR7i~3iBFFkEY$}DgsJcGudH7_7uCG#rZe3?DdmvtaSz@SpnnGxU0HB-!I|Eg&==l zSD;c1TvB~hs0J5K1s85{TOWOW`TUVDyU2@WC@{ku$5T!>=0EgBWp?cpSS|@c5o!~U zie5g`_U=hk1)9@~JQ|nludqkXccM5LMMyN_-0i`59mQt+$dckCbOhb+-j=P&HZ+N$ zAm=0_=VTPvCP&?W=82rkc(`MiMb*(sr@#~M8?n`^5<~9O0#6#BJCj7Li*}1GKiHc{ z$xtbI3U|M~II;dr+x?MKcX1IYmsyT05w>|;Xw|BP5A^?BD`coan9Idg3t^LJGSu-y zWYqnKqUAZb@1h8(ZELx1RT+e_u4CD{Z{nU2Th@$YOoU_m#WLA1Y(>>=-dy64QW+ZP zyqUSRBzLsfdO?2b&V{fnT|PUn@Xt&(m`iA`65BZR11nvLE{@&B$Bb&RJE{AZ4WI8J zJJXitlp;)ZB!cV+=1g1lDy&z+p4YDhkCIVKSH4CEMn*Cj1R#%k2(@?wb8NIb`@#Ri z*LQ$Z-M{~%qpZRygp5K$$Vl0aY(@48MRE|bBP%U??|Cwkm2m9YK$*ubvuq04oBw@! zp6~bfJpKOv|8=>Z>(o=7bKal(eXrN+e%x0Ud`Q&iSf|U6sslRRMzYp^26L@#a zNkR?y9rgqQ_E~n$2DY9TQJAwb)#XIk;Z(Z_%+#|4`}(2tvT@~!lk@y5%%<{{eACGA!p8_ss(KPMHBGuD@tnm=}m5v5q= zdzZa<6`4_qX<7(=>b_2N=PH-!l3%RuuNilb%{rmC1Et%+8}Cy!q-)7NTo>r^N8eb% zdYkDn3<-3>P*RRU2t#ygs@+HfALHlw&1-x{btH61EMv*@_$Xxpq_g0hx!qshuLSR7 zOC~V2k4T9T`ZOYZmbG~2iIpbc-tkxjZ$Is z?q5h37dKXDY;4rMPb2W035kvP)uw6Vq2LjI(K-gfE8hc?i~-9KHB1V3Dm0P@i?qMo z<3QUT?l9VG4JF&4!Cm)OuDTEs4i&RMr~j0L#4_(bpebqBp3!hPt;4UGM?^!j@Um0H zn^`kNk*9yPLNi`B%d*mR%e}TmwMYdgF`!7y5;S$o)qw5V=fM^)1nHnk;%Rck&$9%i zRna{7Tey*Y=X75y*xn=2YJEohWqB9|7i4KlxI2&)rFib?40wot#oC5#_|xLjivCmx z8CF8P)e;m_zQU>Cs4%r`GTB)sa#zY*9cvH;fa1*ds=h+B`{j2PTnI@O;z8xDEW*_K zg-d9APV1T0NG%RDTb)9f5ihFbLCWE%^}PEKFV^Q!y$XrdeNGv-`(WHNABo-TCRhqn zD!*Q8O^Na=3uJF1B-{mG%x6JP%7DarS<)+PaKmFTX}{S2+jow#-;P5tExs|jE;yX> zrbc;CG|%rZhx_N_^N;c6WS(^cA%R}(; z90##s^YN~Au~&8cVs}5FP0s!!bSSDzYQST*BFUabZ|E_2**f9C|o4^!vJOwxA;-Oz|d$e zlB@2g-mmUeJn@KK%P&+RxBn<5shFn1vIL3#HHa{m&+JPDMuTg8r0zRiYg@Wz9)~DM zeNo)fmUWr`Wlc@BpInEMSD`dou%1`s6 z;Qg9HOSKq`yYZmJJxf!0$*M6qpd*qRl*J&iZP&5_Y2hx?VZ+VfrRGJ;lV`X-c>g@~sDZJ6GXDQ}1+6bv~TQYI542KL;v(#F{`@?A6gG+)W zS5pam9KQYf{sC^iEGVV8dDeJSJOF8&-Yiu*Xv)$~O-~=Cx<6DF0@qj3sO&yETS&GFC4-mEp@SMZ_l%(qvOPoLPulBH0V_s7#KX>;8ah|1j-dIS=32M zydTzGpc{M%vDSULGLLGnhV;)idz!a{1C9Vk8`}2Ch8La;Z-zeQzvGxM3u%RkUq@BI z>vlFd(|!J~Y<@Ylm-M8G(s!98J+NDsN}(99dXf|oJ#qo%0~1VGkM;T2JjRM01ctu8 zLU<>B&t#aEW+}ssye@nEWcFNBo=x+qgYxRo?q<_NIY~#soRvl{Gm3?0wfEW+iTNm6 zg4{i#=8X4x%8aUsE;l4lJ^7^t@w49CJ4cOU4Mbl_+v2qOV*196Op`JSbT)DCmjYfIi18lejAbS&2lNE`vpm^MqyEF&)-wlmQZ#8Ab zY@Fmk{ZQ^HO6Dy3330mU<~0^7rHkN3vT6#vrK7)GY?5YVpWUK2L-EZ!u@%OpKpl`Qj& zjOJDy(c!cD>HV0sxonnQ`|naF0_J&(J0l}i!XC^^17k< zb^|&JR0~ZZjGQ~3AT-~br^i1Cd+k|oZzrD#%X{@8>m_tkkFLis>1*48mi1m(qy#9DT^Tx2JLS`zyqs z?|gXP1*!;7xY?%)4OPR!ydqy6PNel#S&h6lyG>e!!T16-LYZSP}hsyl}6=S@(>TC^Hsvc<_Xce z9J$TRkFI~rXLcpUNq}vHF(HLp(_frmM(VisT~j|7BEJ~Sp0Seb5#v;f6wzDsnrJVd zD>Jeu%~j*&=!JW#k;h}`U(_ws-B=&8gT7Lwu|9_0RdgAb>-xltgooJW?GFYr6vQpI z@I}+PP>){-O{qATry!76fUsq^aB9<}(#vwFCHtXq|Mwoa^!U06r!LOCE=ZZF3TQ%(#$Lj01@_j9=3>*xM1PtHY45ew0D=O7) z)AiHku+8|=#~;?(dA`EBRAaBB<5aqn5S;pAD>FNKbL!%#|5;SCD%Jj!y`HNarRoHbkEqKCB0XT88ffpRsLDp((mDU z$hG`1y%5Gb~5<13V7zT;2cPVRJ;QrA5>6;$_+b z1e3Dw^ahYpvZVLEQ<~Y?5?et{7CK}-*L;FBQGN`7A*~lb2FV@bDY;_Hs){YX33y9H z>gSf*o5f((&2V{C?S69|DbF6aw9R|U%Rj=WUetLaLQnQKb+tN&>|SEA*aktYU+DX4nFSDwwd!1K3Djetn$@>=V)uQ&O7~4`IcEb z^?+zhX=K?(YnR7z>sIEMf`y5n*UySwIeDAZ&_q#l;3aL5K#3G{9?)3F2O~z`4MYV7 z1`-XtPNz?59tI(XZyw=>!r3sL^!Ude>mnwDz2?~yxt>hcu)9teW}zBfcuMOH{S~J& zc)xvEZne?%koTKh=i`(5C?7OgDw@%(!>sTFIs@%*mUS7GaHB1px<~$98+=nIdJ~5! zwbII(wLK)eVGY?@>f19Rm+}L%&YCOz3&v#d=~c?uI8Thg56TA zpACj$o2_7P2F6-gx{yl?;ppSmNIKuw*hpN0T+`CJ*Y#Yzzo*qHl`^Lzzd(d{LXTs1 zKH-K{`?OatTlNW^0&U$Z%AQ@0%j1pdNE)B*7nBAmgLZ_8GsT8GMbL@3n)P6B!EK1> z%z9{qb8|4Z4dbvnjoxW~fv(8$;HhX=Yqsw?@n2@dIZ^%NC*2^cIR3w!mK9 z8kMUWe$y_>(}uAM!$@9~;vi4)Iid2X-6w}58M`;m+1m5&(tTDLznAONx~ia#6%kU) ze{>A#oIi=9L?9KR3gNQJ8>8gld(z(qxjIAW=|*XMvVCP>Woa4IUNpSDy}zAMKT~un zb$e_uutkAKB^uE_&f#Ms0J=LLayvYVKFxRa<>_5nPY7@l^8Yj}E2DxN92YD04~dY= zFPGxtgaJ!qJ-=9D7j62hNY1Z{EzK*5dU(C?%WQSDjYX^LTzuDAv+mixV|8Js=afDl zwDik-*bNrlj+6h$PzMcl8COkBv|6I-IRr z%<{SwniGTVTfe_;cG7ESt~mnt-JKF|;VQcOi>lWMgIC`N4o*y6g(1zc+OJOx8T4 zB-ds%oJVL9%*axgx)fQmfFq)*s~Zan^X`NW5SpA(S*AU0b3WM$F5E{m@6t$wWz)sg z%nrIW9C4m}FLs9*&8%MF-M(5vAqkL2)$9AjhPpSE3K;I;ED~bOTebs_%SXq0P?y@9 ze0Wc=*+e z*ewjEQ_r~HuWgx(d=g#2qmzG{ea@)TiWOy~eA4`}uO!$>2Z3xV(&v=uxBP5)HMIH;B>s*lE|tUsN3 z&|U6Sa@XrFXwtljjz0C{Sd;&Ad@Wnhmai)t8xv=6YWjy5aL+KnZHO=|yU)cfQFyCT zvn{KDy?r3Z1V)>4H8P%8I3?%%=Z{|2=DF3H+YKXWwC2U0`7uv)+!K~UxhXT6D-Qup zdJWj+xR9*-F|E`fO4_`>YbjwIXxnwP9Dk7#q?AJMQzv0)v#)-L4Vor|oERCS)ykz;B`GJREE>tNl#`;`mTN|~qq`06bV zw9c*AG3)^BXH@f>*4dcv3lgy(J+t+#Rq0FrsNHq%(;vq|2fVi?YYReY9?LugKV5Wf zoP#O|!4yJJ5TZKTACo5_d1WDOZR$YVj8H63SN<%2QVd2>Vx2Pap#1yURy}ze(d;s6 zQ-Xq_e6|H?$H2Os&DL=%g9HOxMm4|1sDZFI^Ny5~Yr94iJTj~Lp6?=k^gKCo9kK#aEMy*;pJJ$aqc02=@rvn~tl`uclFpl@i zLNcJVEek$7dKWsiDL*Mrce32DxVu1C?2d(jV1|Q{F{oK!)-fuF|K4i6AgwqY!q0x) zI#;{c@u1+b>KfQ>k{-D9!`Ei)eRSne-F8bt)TtkF4kP z1PrXELmn3Fx;RW9tF7m12tYRT@4LFcTXi_X#O2tZ;H5M*& z+jS1S-P)TtZ2fU(SkL6-gb(A$zIF$-T4Ls8C&KbJ-$e&2ceKXHx}OP^ z9xngJ`_<|+0&zwSBGHGFlYYP2RB%NkIPT{H6RGK8SL`zaIwfwz9adF6Y{^ILLw9s- zyJ~8!htf!1XA1gybCLH*6Dhf_t`f({2hnz6zIWnsoGfx4C5ernQ$?X3FJ4vXwB5-K z2N2f8!)#4yesFv6t%0t6bDqfkv8fXb(%-pu?0V|0AViLH3DFs6lkS5>N2L%>Y`1IM=@OeA$d;8kV)rD@nUE$nlj_AJPAT(A;Z+gFx%(7i za@PB&IY|@qBunz8K#B=?Mb#fI*vDorVW(_V;OvxWXV7+~V-Ku+Lyvz9h>nS&Q3|fX#YaV5tE{X{*StIyTjEm9Xf;>O z(la=a-946l{lt7md+wPh{G%3@mOD&V>b4)QjaImng!wzfP@lH-8nlmS(U zL&$w_G}J-!v(Uua@3roch!aaS(O|X9ph=xF&lTo1k8+cV5p=1DUr&94ScrYM^d)RxON)#|a`W-M!qd&r7BK|$Rj0DHE#EvB0R4!w>Urr{u@}+B z7LDp$vaQP?aKf-$W`4ftr6|5J#Ex#x{sFM&C$cWj?8j?s&Rr?H zj<;3>>`L}(DQ6Rn4wTkgSkmcUsRumFyLGQ2CYSR@B72hsp$Fh9mkW$ir_~M_mER4v zofm)z@YPlDdp zUCV}t-rEL8%5UcJ=M}%@rf;nl;;2RntKtMVAoB>9M^P2l#`3jzy zQ~XHN>WjSK{QYVZCi&efbvy2IaeT(FwX)S-9Z1a_D9DOPTb{D4I9)jgBqqN)VLR>Z z!Ag2T7J46tJs8qX7j>GBUkYX}qxNS@y#HAZb+hMGlsz7TG=`IwFoo31+4c)Of(|pFh3^ z@Icy;*B(LGR!2h4{~3GUStEjdR-YJMN%DqZzrV`37gF(PojkMaHa%pxd&e}0(IsA$ z`+vfTBn1Sv9t7tCb$q8Q|4N7=QJZUz5eum>)~>09Q~N|@M)3I8e^51Qvllgakt_)Y zc(+CYsMow7JOH7?Hk3gnTeY+$0?|-Yz~j_yD;E0Vw|ZJue5V@E2ExCcGc^&xw-|` zxK#yn%YSslv1661#}cI`8XGzR`PWF3azpA}BXi5YwJlWu(08KTP;+P;I{;)i*B9df zn@lpwZ!+%>iR5h z@a$w|d&q2lKhWElZ=^~j#PXXi<~L9s&s3&cgg?%A-7xtqpsIKZWu3EDwX1EeLCL*j zp_k(SHWxhHYYcZ{NS=1WkAS2i5X?$1t2N>sgEH>(DNNr`(>y9@LpFPa2E*1Uy4J}y zJMgvgza8VfW-Y=*&b^=2PkM`7yuhc2T6x#1eGbQ%`b^l)JAPP4ISQ(_lGE|MN|mf8 zr%sfgx^|568A-?9R#T@G-MN*6ed(^27#ruTyRqS6v~(|&+S?k?_ib4Y+-Ex8W0otI zj@k5+Q5*5-sn!iTRCK~%u8Vom#fYOvDvkX%f`khLw><>wMt0>w0rk+x6rd#e2t_=0 z-IOedpDkeNIH}ljn?OeOZ^-mua%>#BYDd~rC6l^)dU%iPtMq?A8j|IR{mQyvlKu7J zPxN80mUb?H|CwR|aEW_y4qk|bF^Xa3_VvVIc=XOt34{So?B;iuqr zl;4O}6l5kOIJu$CXk23Z?rTLgrd-3E{5el?XdzzC)XSkD-I>z!=Rg|>7#dlCA+S*J z$gLjrSMcMzaG@5L$tjjJB6m@*etCMxd8nZLv~HM)_&w}GEjMa)rkb@uULeBoE`^Mo@AN+_w5}ockvr+wchf#YgK=>a`7>qqV`Ex9^f&OVF2WH>n)+rN1~;-q4cB0%8)o1E-la)dNbxgYgECH09#pc-9ifzm(cQ%|%iX+yIhI zuc65s9ThcE{E3>6XC;k^{XCF>vsPnWC+?5JnI7mA7&)?6gka}3W zi(6|??V-X*Y7#=CR&XrZTgS_L?F`dv zuiuPO$jGU>FYM~Nq0i~pM$T`=+IkzfPDKzOY1?ObUU5jMGv9J%(xzUGFpU4@CZr-&G~FVVoxq~d{q zOT`<>(yDa%n^$Pf^xoWJlbf)w8&Lq%Cmn|Uk$Tj+&uq9v?YCF*WEeBHGYXno7j!4% z7WY+cOpvedwo7vwK`R9w?5=X+OtL)N%Fuc>F%oNhSAdU1AD#uC%clWddC9^{iJSPo zp?7G}`$>EsW$z3t(Gs|-g_K(g)kq~=SEQ`?pIwLte1v++xQ<5uPr!~C#&-*bgl2=c z+*xQAMZ>8G6ZP7VYoH(Ttf9?uMf``GhDW1zuHp0r7+(m3r3e@0(6lk@lXtv5Vem~> z?f}{Wvqc)}-L+wAm{H>-VnS$}W(V*XuP*55!uNv&zON7|T$o}pGbd!iUTP*R?LFN_uTfd)kntRA zH^PbMlspdX_OQ&-ecNx75!h#CWrey?aR}i}z7JhHglm0R5v7qNS8MnXg%5N5n@@+O z;e(S?A1sVs0bbSl;AK<;1GrNlwB5aN4=GN@KKpT{>HZ=onBBhUN3vvf44@9e9&2cA zKUeQus+Z(I*llG#GCO-gw@TsSQ@ihlfk@ zEbgyu?^;-0mf=E;eRaDjqmj-@NjqIrHyDl~(B2)vh>_X>FYN+5EwM@)CYn>H5IUaI z^X&>mLY*IwYfb!hSXZ+M#f(S&DMv}9O!A@EK7I6E7tKe!i5{`hjZCSun)eQ4VJi> ze%fYHOD_A-_`VYqC08fL$U9m+`c-Y()jw)Wj{Pm3_k)jii zy}?!w@gLX6h!BZAbPT2WBmDf$q&mezL`db2H}KP#m#QR$B}iupB4PCoI=bC8M!6#g zTbxy^O{;W*+p;qmVNwhgvz&RCZ8+|F?>#eEof}o;yt(wI{b_{+$Py%8bvS2XVL`eb z&%ZJ?If>ADp-U%aJ1t>Y{hcRK%Kg5KZ|uJQbQB#~ND~RCj13{9GA@7$BT8GYio0rY zQng_TiS5a9uVmEkH;FLiM#~`=7KTxd_1dp*zU#2MBmx;kGQ>-xL+=Y6(d=2`?6aA- zn=|?FHB8;4^7n^8@kRN>t&TPCmDkryL~bluaLK4H8>qaG;#3d4Alq670+l-c`UM?E zZ*Em$Iw>*MMbBzhM|&k)1pP~55;<_(&e+VFo)bu{n`1!C zf0N+9UTnqrK4PEcFbb&K{#>8%z6DZ@VA9|^K07fmAq9Uz|4+fN%!i=8A#T$CWkS?} zY}y-B#`mTLzcO{LG#Se}>O@#&TATaGvkkcn#XmzuD(t>VMmGxTlaOe3<{MaveBc%(K(X!iB9|41XLFbBUo}4t&PxIY_fvtvL<9C0V zgX9sd;4ip)*B04n)Rg*9mP}QN+PyI>7%-*DTbFXeg}!W;$rLbf)V280*4BpMPh5S- zZGT{}FI&0ceh^tXa*Q2aO=|8bjYr?I@5jBN`F~idZ#DaD^})a+`i4M=XX9+RvJ+h| z_9qx8>Q}fYGb#jjynW$<^B`vNJdU7_luQo(gB!PoDcm$}7?CFO_m8;iF}qaPvh3SV zvOHONWkPYQ(vf2UR$Sf^?lbYN&CoNgnvRw3mVY6geMFk}*>J2LllGEqUMfMssF?23 zM(Lmfl1paQ1A_IzsVl_b0sl)JCLp+l_lS@<-HP17T>1xHHYvNX<=t@7A#E&8+P0;R z#JxLlVM?ZEu@k=zOWgv-n|tR!!L}Cu906u@f>QYJv38@ z7kgN*wdVY@PMGw0yyaRw7?e8voJXecYfYHPWbey9o>4OYZUxd_6A5kNS>7M3A4VDU zn6zRrCwXO@AS4+31fF*$49A=d99oY;`MG+L6%nLCMEEPJF#RK{EO!mGR7xbKV)FE| z3{ngV=ZiJ&ddQZZ3W5fNqhYPbW!taC&(`W{@@r4VYzVzj60SIed-`;(-La_bz2K%^ z!u1p}9g3X5k?-tiHUkMw7c1N0Tq-+l!ri|i)93r$9_-9rQh2b5LEQCXsa4PUK|b^` zBG%h7a4LsoNB`d~+`oEy2Y3#;>9*^ZHJdU{_jl)%t}me-04A9wz|pG8bJ%i~YuEdY z&eBay%C~~#N|4cDi;6<9DGer1mz#%As>QnNd-n&YW%;l5>W>~v?d_b#)6g%E83|Hc~jK&J=-lAuc_$e?vX(ivfuKZ-hxAq;=o40p_=o@J zHjSEDs4$-F*EmuJn@0HX>`k(sS)o%x+x}ixo-TcUbO(m$&I$}&W@#cO=;n5F-`VIlpQ=6lcXO*DnFDiR6am z>}n*@T9?+$(3&l?N&W_(`_dZ<2yjk6-p9}@!v;>=z2(=SqqH%#;X#B=aQM4}lTNe- zG=p~M<5=UOmlwF8dqf`G;8eoBQI26Ff$2a zIei!QpSMGw&u;P<>0pS#wYJaDw-j^T`OeLdm%-o_VPIq+ny3`~(L%CFA2Qhcv@Y4@bY^=gKR>@=Wo_p(CtFA*+omkDzB&^q2*JF<&*^yjxD={ z6UAkIk=SfW!a>C#IQ5LX;yyVZNMQu}96t%}nKW}oYYAW0__$fC2r#NzZ;CmxD&az} z2bn(seEdr<>m@1@aE-=+L`Y$3c67}pUtdwMGVsoIZzAjI3Y_X!OuY(g`r&?^kkq&bT`IXsNH@V!QbURC69{vuAVF z@)WV#{?EN6Y{4e4QF@_R@ok&K1rjCPL93`Pj0gO)Py9_1-n=$W%d+r71QKfk2!9XC z`9IlwQGl;5o-fWs=&}9$9K+xYH{=c};wEQkkyyGC>#;=WXf)HZJ@M56`;Uu!3JtZv zTqm-LEj+jRi&FvT&lU7VqSX;nJo6I2BgAhJFe*7HkIV#PqYMI}=;zeA8+sne7NBp` zXJE9Tzgu$OwB%kpm4klMyC2{5`{ui>g9r8Fo1Ho(74h1l2HOVefzy|5EG$IrDg@SZ zWm;Vx_)Hr^l1CLBu|j=(^WhL6AaSfaPa53ei|v;)LKy%5Iiz#381X*J(4tA6;B@!mpR-34+-#>k8Z`cZN>a-T^Z^r_F}Nre4S60YIZXnB^kpu502 zFEREtm@4J3XDAD8`qy|CGAKFGt8E;Su{yan!( z&tle%v???6X-BH0Dm^`YH0a+PHoYfd{dNRCySaKX_f~F(l7Jhi7LVW2aqXAN-e44U z%nX0>K}WSeZ|h=nc={?3Z9iUv6C?8<*els^7iE#oPSMiU8!fhg6>lz*nzPdi(ElK# zepUKI$DB;BFEQ(m%k?*R+Xc5LKSw?J=-}dg8HZ<8-~IVu+h1~b+5@k4xAyU*dVK6? zd%Ish>o-c!4fRH`yfK~#Ycz}TYp|7cf&ms)3aiXluQXLu$k2bnF5qGC7I%!ZIqD@x zF%nCQ;lABDn#r&G2wBxkM@%|6LFziN0^K~KH7)z=uiECPxN2psuLo_}xe1JX$!96G z(o8996OvZwQg5Ey$}xR?Cq>2V;9mW%!Jf3s`>NODqPH9qT_IdD4CE*QN1J$k+g&c{ zt@(qR?9SvYd-5>N_FOCNQq8Zgr?nX!YVd8vpt!p9s>^&LBWdD4MIZWwo{_$h&{L&} z?<_`L`6+U_qsu&dZda0{_q7^FRmHHp@SVMfV!xWCuZK{-5m1%;t9y7UyaeAm(3MJN zKF*HLwj^18OhC;(+im>KjWm&`5SoozF!G;ccsYgNV&X1T!X)P!OwU~P+A3 zVsP<9Ao;aDsZa4kmFUF@rcAxqy2;kkU5Bom9E+T>r9&#$IWXD^p||(`a6;wyq`54( zQgRgd-H}Yq4_pdX`?5zmdY6{3`EBf;c+d-dfzircPQx-gIwsN06SdV-K4zgyRnNWV z_{*iZcS^MPriQ=d-H7J$30-`+8-F^8V>bGNJi7KI_C|3G&IS0rSaahxr4WNyzLjPun@eJH*Qy!ud=f>eyzW0ssK z;P)tx5Pp;=Ky>0#kRHh|x?`?Oqxew-?OG3)!i(fT2nd_0ZCC?Ja8w0uWI^WK zei5{|rJMC%?&9xn`&s;#U6f8L@{@xmN{Z58d}}AT!d=l_{c0wJTJlx3)=`g;&@-a< zn}40|Ig6O@FHj$``^hZ8poF8Qeo6T6Gzq2vQ^0X%W;a+8vTOP+4ke>^+U2T4k(X06 z$aZ#i)Rz_F3pgbKmyH)wKbbi!j<|W?iejjG?D+PbIiv47( z*7A;Gm(~LXvRCvh4zJaYO7iU(8B{VLo!huj&8NYdLkSbZsv$RXSSfNIz=x$oaPg4P zJ9VGCsR+OR9j{sNFP^ZQ2as|$oLf_5@%9bGk#eTRlO|oZQ5Ll=46zne!fD)*W&6Wu zsg&@;P|A%=BEbljG zBhTXJe-@2mqcQb|2ag<*OzV|#e<9x9?)68#MD&{w4`N-k4im}Uv~Wu7vQ{y zjGqYMi5pDvkm+Z1f8V+dgjFed5-J1tbNI$0Z@Lzzx`K7!jIqqO@gSa?3t|b{b$g8(ihy@nYokg29Xtt$l%YW=W;H7S z39l~)Jb5EO>L;Mp+KI$+%b3O*B$TzOK0`1y#+n77$A#1tx{x=9@x>WqNo-C0SrliO z14?u?JZ&K)P6Z2fvN?%+ht7z^+?i1rPXxZ(+g}gsfgbz9x<7yJ?I)@e@ZIqrDH?&l zbPsh12><)mRN{oOm^5I0RPD^?nX@1y|Dt6&!@)K+{gF_w8YNF0{l!mMSMdncS2aMP$_hxw*k2iR=sWMo1&(}ftxQ`P z9Od5;*WeaGVp16RoBMt>9(VrP_BGx~b9c9N?Q_Wov&F&%@Iivnp=U^tShk+=FBmvw zk;^0$2qJv4l>V1BlK)?=5zaCKe>vqyI{)b7`O2)2Rw(+ZN%6?R8GpM2XDpdKjNlF7 zUo76+Yhtv=!8C&;FKTIfkrJDa2{*jlhG`Y#c|qlxj%`OZ@u0@S9et;d*EAM0#Uvys zQ&LohaqH&a{u+P!6Fnj@NOgAGN+{>;TU@d4Tl|oG1q{hwPuZc|*-5eo;(^0glnmSG|!gKI6 z9uUCm6H0!q*TU)C6hj!~0gK6yVte$o0I}bFglAUfv$qG@&U7S3QHyk^BTG()A=;IH z=jm(;YKN*dT3XSq#_PI-`*;!M>n3ccAEVvxvhkNWM|Qx``fJ#4L73)4ErDkTqMHiW z2oo6b?1tU9oWiQhi*p1x-m}cbKxS>(f=ebzlm3Ue2LX8UBe?chUKc88_3A zr2g7K6h^%FMz+tWr>L>vSsm41h@66BR@`tsW2|f^W%h7CQe|9vy<)>5ouS>| zdRuDb6avB7b>+B>^5+Ey*EzFplB z;Y|EbR(;OUol>JcC?K(eBw$mTMiadm=N8mlcra$`yw~RAH+Zo+Pg`cOZc8XqcFpZY zXi!?|i$3I9APvtf2)n&H#!@jhRn79X7@^E_{e**^#AF=!h1r>nVFBLE8Na8tgIa-{Fm+lZ5 zgH*@8>U7E95nARn5e%nigL1c447bi}S>oY#$|T}{kD`Jo2cDU!CG?~M9vKqP7?yQ- zW=cKMooscr?#JqC0j?=|6m*Br#4EVh z0*>tTVbu4t;}w=(D;|ovg(~bN-|!KQv6blkXRh-U%TxEwGFPt>>$wUT=mk)&$-GhV z&^{HV{ZcmvVXIA=IKfm>l6u;0>$45ILc}Dr=!UKFoB?An!&1VF8D!SexLEx_yLc0m zat3T4Qn*>{?x)*3J3k69Y<8rkO7QPhyv{1DQHwL~e+s+K?6y}xHA69RjnKWmH*dff zKXMFmZO;)YYr(7pR3z%(pqb=69efZsy!ZYD9?z`*>5|{`8<_jZ%5ztVLmA1 z{z~Jz$=(@FXLZLpX;Cx>YLix7-*$3t9%`05>?Qqi!Q#Exe$ic;*{QKOUHyL1j=!?q zAj@F((-{x(4q@^{dI}5G{?1WzQZcidTicZ?2I=_}>114T|8*qc{(TP_>na|Hrie1S zUb8(N&X!tl?TS(o7l%QKr;YuvxFoH(q%gfHgaJqhuerxVOAb7v8yh*++RMkfcGekR z!&<;H5}c#RPrCAjP~5}PU5nn=T@{$=1FRXb6u#B8wV$S5MzH+o02&7%hrkCk_jdl) zCNUK2J$x;w@FJA;b|8T&&S!UMY&JLVjbI;T$X`+JJw9DvBKk8kS!9KOmC0Qe4`YhJ zAF&m>%|elO5h@j)fvUvWE$`n`E~I=?yq^@K11-GIX+NI6x2%M_Rj|{{E63@5&bpsd zjkL<^d{++(b%;kA`Uj?)MmUAKxTj4C*JFQQw*1N)RM@1?wV<-ay*>{;|5 z!G#5%0e#3c{|sLlPdhi)`>4ul06r+mVzy;{O@8(@2Rb%jlbH=_b}GeuEk;H@hxDD7`>;>!#}7!TVrVDjsm&KxY2$Ogjp&>>@jkwIhUMc;B3)ZT^xLU;a@m zQT)bFX{j45MQ9&?y!2=4bQ?c+DRQLg7yOUEAETpV^ygTNf#AXVaXFTQ5cE*JpRzm$ zYSUJ2?Y>^RkEfxb@z-zuI)2mKI2{HAgnjG7=58E1j*wTae#&Ots1LQ(E6$ISv$bW7eAc<-+n=4Szkm!)G3Y=_8zgz1Czy zHm=C_C1vNe-t87#%iRcWloRpn5aWRV1)0@wNHoP8_t{IE6v=86eA70_`Ci}YeB%2E zpIZ<7DCz0|U7S=W+6b{H4X}1~ZYIsgRpF995zJ!16dTA$Us<2)d7*#z9+wzQg!;GK zJ3*Tg6c~txF)b9*8HFNrnZ-TEiy`J3mU81c>C9eh8uMREvJ<`og&*RBCyF5L>(;q; zefEEsfWF7@pFjp#1gPEb9#Lr8%P~cqZiV4i7diH=jMljRGVnz((-7y0u*!hyG5*m3kPZfC_ofIXxpSvwutJW%<}YpK{ZZ z(`W&J`c56^G%fMhGgyL^%#Df!Vlw0x)HF%k-{w0&*qKb*dAhlxsw6sn+cHB1$4zPn zoaECQG&_MjZyp?D$A5a@*0TF{-ba!!YW>*?lR1OWi3ureM$46AwMBozm)}qM|Uou6$O0AXg^{gac1grEiN$om0jEswN04KkG9dE!FBN z_2H$%;76A9n-JqqvOl~h+-P`<#ZM>GLALBI$PuBF2zT#31Q~*W=P>6R z`|I=k&wm@3;Jm8Y)cuh#IfM^B#IpF-8X&P>A|2%0i z&M+Be<$!ot%Q%rPYX->~$@X;9Q+wxqPf*OP~+Kw%#@TgHAO5X>0qiCp;bTgn}E|gpoODn zZOxsPnaOTu*hUCyJ@|7E$GGppJ58|5>Y3uhSS!}NO8^NUbu}C$els5}R=&WqN+{q~ zWk`AL+(e;J{-A5Kkg)ryxsS>nuTR=^`f?TC0DavcW!kW_D-!(U3ENXc;VbESV{c8- zl37~lQ3KRWyP|dO;Xk&vw)3yBqtiHsUrovS@ez}g4!$}*y>jO)YAC7!KhRZZ zQj3OnN1enk-|mIYtnugfVO1L%M)aIFN8EmF%#huol-_&$&<-}UX+uXoetP*4AV1z? zg!=W2@R6P)+IImsVC*#ci$@cs%;HoXA|rTMCd+{?U!eU+4xWGn&hI3O-szuC0RLKM z4>8PvDo?n9^>+K2x7ZhrUS=xVRP6i+?L-f>m3&ZqC^$INha-_Q8NHrAh$b63`-9!&pB-)i(axHO+7RORs3R$))$7Zu%bbu{-m(A_S~Z~nBG77(I!-qpI=>K6f)qqHg~KZ!NN6E(d&s^ z*@`Yt$CUXUtN{J`)b>!R4PEh3$?3MucgI*VL9e(Q}EVQw{{^{A)q7(Fjavxh?FqDf-XcC#$drR^f6eEyW$!vrI@o(Y^*bO5f zkOkTFM>p|e4$RlNWA8FP24wY%h->EKKJh*|>!9D-P#~=f51yk(pYxBXI)pDG9v!V^ z0QH^1d;LW}enW8;+?T++&B5zj+oZR*!P1|IMIzcG-xz*PApQVB>GzUa4oBWQn z)I_(u_HV7YN3*JD+~vlmjnPkNvHtVz9K){x*1p4?zV-$u*lboZ0Z26Ne;JgAWBsZ4 z1MuCaICAwwXSlFHw|u+Gkg-5i>L92QolY^0K&xvD@bmM_zL~;@dd%*m-B~bYGjYsM z3{To%MZtZJrPpTJp6N_AqoMsZJS@GWj<9Qnt)J3~nli7BK;qTBjI{6C?}Tr0qQ zgB8CI@K*;G?R^nHgjKJAuWc2M{_Sl48Y6%kQ=6W^3xN>(cZ%R2m-HXM|DJ9fX-ek@ z;`hK+SBDN(2vgUz&!6wMA#@V#l(et$0EGT=<>sp zKyc-c(s0NO56#uhBMIrYlJuiP}FnJ`m-)RQ^Tyt)Rm%+GJ- zI6txU(Dgpp5TBSL2hlM}Ml*qu1?Ef(3#kp5H@gd}2xh)#%#oswH)!#rfD>4L@$$$K z3eD%an)GZLxxKjjXq1`aSg8097!`g8{^VWYm>wOz!^MKz_%6}ML<&~yoIdjX>w3(^ zrGc0`ZdR1Aiz4pT=bk1m99Nz2KX%|`OGX?ZJP4sySeJw=gM`tH<;VG}e0RQKGcLB= z0XZwFRe?k8LH*#^i|J(qtKlrFX}~!{k-qPiZ#DPs4^A{iMYE|ju{I7gHbXFd(7Z@T z2_x+v)4Jcep0AQ`&o?X#kZS!rpD66k7f5+qBTIows1@Ri6vo_<63jl%t2s>-hk(fA zmz!Wn)yNJ=pea<6dNCKU*rV~$4b!#+QiIT+oY)_*WH0Z0vhik?VM1S`c_56##XUE* zLDCDe@ytjP_lbWAKnxWbJ*M?9J<6wSPnH3phWQ214o_5dh{x{*)y&@1rMBSIF<9^(kLMQ;oF4N*} zZ)UvB&o3{=;@*s{862*X;f6V1_U2G=bMR{PM-Ha1WK5?gd;|2ZDfgIGY%c^Wj+VU9 z(IZ@B0Gf6>^gPtEb$D}a+_Nqq#+W`W2VbBTxx>Q3qE_v(Q(FJ^7{q{G2oXl6xYXh) z?&AH;V}Kw2{`H&Ia9@ge97oYFEE3|6>cuj(McCLbj z2F&ReiV)U4`L~W>N#NU=+2O%mj61;yEBbrkMr}<^BodB`1H215-w8hFU&&2iZ!)^v z!fd3`TOXXhYJO8Cb3lJG$v;=6{a`ZEpgE;3v^b5z8d;ZeHd%hHG$|td;sX`J8^6yo z2QFh&jK5{J;EpTKf!qq?4T9>q`omj7$BrQua2z&{d~z~eruy<%^f{;h)oQ$z_>`Yv z=0CW1+Ft|+B6+N)YI3b}O&qBeMqp7aB%wEU8;Xn%AX<5H*!uR=vFkJ6lD|K@AR-Gx zqN%_?@Sk%T7<}IJIA!}g2>pC*4CV4mVMf^i8ZW8(xZ&C;nZDS%!eez51r6aj*m@mz z#bci!_O*UCE)xgnnLgJ*Pr0T%VasgJz@_A~bV?I;km+{A_QIeJGW7J;T4-HW)K{!_6ts&vV4kwJ z>&zu~LavLKE}g16!g!Q8# z5u>4neH3Z9xwj{(hF1DE>nkUOn}+iXeU*AE2I8#Dhtr=SKQE1g?<1KBfBvhrvyFbb z$2e2n^6EcKxR)9u5^8IP$?ti@NoH;!1us1wSkjv{L+a@5{~d;Zs|DM)N?nLwgu$#W z_2$nrtK+qLScMx-R{63pT3pM%+9=<#?`1ev^9tuIPed#l86Qtc81PjcZPMWiz|1jrp7px8#wQz=X2L56MSRktdeir7ZPnH&E3(eaLRu9 zBDmw7434c_#G+y{@6m(D=#t}#gY$;q+OffLxi?aTo@bH+!) zAC<~vw<3KadF?!@gH|Q%plSH@Itz2 zTuA0C+DJ9E3K|Pf(r(6?0$B4(CNyS!w=DLgD~qBRLJI-X!d7MYFO^gKi_Tlfvj0QYQx$1YQswS<0JX z#5b{;of_yI0Dr%^e~`sWbdMTQoK|S}$XjUf%M!}YQ6|L(8usqRfBqP7h1dTQh~;HS zWup0l=`)4a><1(?W+K!xy>})f&GNJdP7xQT-XaksXP9|DR`-a8kl)9Japps!mrl(M zkL@P|#a35w13)lWsRU*n?_vC3r`#cZTby{b!N>c90NBCqiNav>aP-Tjbj1F)bH1v* zPiduM5=?E4Db#?z+UlnGM-byaPAH2L=aYLH#PSCo{XeD3Cx+u&3hnAdn;`!eIbjf0rcKI zBDpV;18qUne0?r6w-ee9wb}F9+c2{|s58fP^Di!d6y_VGT(6fhT*5CRbu@hR4?Q1m z*i@Y$c1S{-l-W(*sb;@bQWn0rxj0C6%M`Ljegm)9&B1@(boHr->)y+&LIYa_`+Eta zB)=j>;}}r(S*ulN>zli;Yj+yU=}--rceqigBX>b`aO^;KwA%ATX#T})ZTv{mcW2I= zky1DJy6|qx_`?$e-_T@N$Y`Z_7fznJgvhuH4DW7UTZ(;=HU+Hn;=p)Ez2wha+3tSa@_}eSX zkG71FMD9Mg_Q28J=qx}}zrNVzox&~7lZ!ZvHO+yB9QV`TzuFmpockBP|AH@`sQkw* zP|FaD2nI1d3PP?T%(2uwdNz7HgMMlGngR2wfyC4|Up=+6MoMjslFI26l+C+MB0Nh) z6>jUW$jeLU(5S?OwppB11w}ehf%i_s#qpXyA!*3~ORQPh_GWvim2QHX(%AiB9=7VI zP3nx=52kf(m9zy_Cs&?)aeH>^90Cm{)vpiTNV!sFH$XDup1yv9SuUo(*m{_CGc-;U z^OOG70{3Y}|l{~J7E?%_UZ29C>Svv2GtjlT1&PHU% z`x$ueI7jZ|VY(R1c=fGnr)7cHYGB1^b}3}%fMC>B-1F#bKKT)ciJT5;bdh@OyPYp* z>+4RB{uIC8qSI;>Zm)ej7JH|zTgVnTABgH2I|p+Ro<-7bCT zmay?sw~GMcik-bT3o>1ulHTfOR~zhAZHH0!03hd#KXe3@jgPD;1?x?A-MGYWp#@zS zp7`CHN7QjqWx{;8yr@*R#g0SsEp%FM;$Uyf0QI=IMS&2vR7i{hX<#n~Pff;A7QqChYHlElr_va&IwG(7P-?#XnRITDn zYS?HR?J~!hY&Zv$2Z4xb*Be@innrQR@9!W$%28 z``gyKqE*!kqu9h!dCSFtqI95FRyXlpI*VsbOBjr3v3OJ#&1iZUUxN*n4j`wE$kFfw ze03k32L^To#Gkj){iw%=#bb_3j+4PUAA~;60ulfX4q|71CO8Gy?B5UZvE%lLAx=Q} z@tDQXJp`h}WeIBRlaF%FUb_Hj^{Ok&%f`gzie(X62Dvg*NJ__8ip28*m>mWQB| z2X6AmmDta$c^i1Fyhyv%LRNnIEIAG9rA$933a_A(Ji?zvVltxh^YbtEeorg|2Z_X^ zTun?EbtIl01j83heC;hTgGQMaMAlkdzQ$DC0h*EsqzUaKZuQbIz2oV3*l`n zCy_xawm5Jp4^&>3E~cAT!^ONTHQ`R6erjqZD>P|xIS3GhS49n55U~07;{slIM?Tpw z-e?k$cCP=ir8=jFSGd-&CEe`DSb*K1Puy0~$`0s@4(u2DB8BuN9BRQG<3`t6^*A~NE!rnq7N1SXIJ@W-Ci4w&MUI7=-u z^l@T;eK#u-0YvZN82sk9zb{M)Ri8W|+%#@INx&pyAlPHOo6YxJS1WWUix+aGdu;o_ za2_89-a>G!z?PVj6d*T9@!nvVNxShDI^TbA0{2kbHkM!@2~huk}Up$!0B9|trgQ<6&1s^vxk>QAV9)?FUb9<;!KhU z`;8c?KbUx|QT2#C&U~hw;$5PC;)WADbd3`0Uy7{Y-m%>ni;*-T4H^-scMPwGq_5ES zgy(95AWkqah~`(O!GXV^{^$#@wOC)GaZnE>BD(Ug*ZNef6Ip72HhIoociu)J+>Z9% zAA>2`BSZwfbVwa#hRFsk^6RXu#DY$|#$Q8psG7 zk_q}8%Bx8+MNppaZ<8{d%B)ooC+PC)flmG-q%G**ysp>Cm zQ~-WJHF;(nL{s-dk7cW@nD}N}{od0|%hjWev2!Jt`VA7O2NEZ*6wQy-)1qQUVgb}b z?7P_Z;tH<&XK-`pi_~B^;23bQzKe$(DEE98BKAoM&k2NB>MVNuyxcr{jDWnB6aT`t zO8!%@H?uo$q*i1BQrCU4XdQ-yI!HBje=dj-QR0_A{{(`4az}>`iWHKiqE-k?H;Ql1 zK=o0FMbPP}ECOc>>=B=SY>J2w-HQd1(h zU6L`NnzXpNxy5@Zue)_E2Ee~`Iv<6O=&sVnpQd=62|%iF3^xxC4xtuDdmrvh&w?#9 zKGDe6KzeP36`kThhLTM6I;cb#pSy`@eM`Lgm^i(YXPKld_&mie!ZezkMNLpIf_YpT z#dtwXDdn>uqF$^JR6>%DoSEz0jXhyi>K+SM(^Jq(neEmzU}O=rsGWfm^188!U4HHJ>Y9!B-u)|l zmRe$#COZy*_8dP2Mf@3J$s&7spP2EVeJS5r86WeWqH=&to=*C(T}=aOD@S-?g|2HR z<{(Az<`JbkH{H6!OGL}P#<(Y5M__o~34U=`>BuZzIGD81EdyBia?%!KUuw%h%G)+T zaWzDBi+*}#Zy8G_UJS6p;oLUp?Oe17xA<|uvK7U;u%@%ERq0|Ywi!tVC#4$>Po{x= zmh|}JHnyS|!8RN4YS@|&vtmAR%IVC13b>J)({ulIjVh3Ff{y+$oI%ocbAPJ?G%C#C zhh)&FJ9zx%IWmVN1CCc#By@4Pth^moxsHn-#xIOJ+%}v|^xXYOKPKxyXwmB>tF4WF ztH4pl(4orgSq)C*ah;8k%5D_+pKc?ZmbOK8K8{f?v*WY9l1*wG#`0f`TZvYb^f3Ep z;s<$P5Y3w#$X%S90$2s?A4Og8lWXV7JwZuNlBW#=4^NMD%u+#M?sbE%unxiDO6Nzn zN|*7Uhu|9d&?8q_1L4D^tN7`U`lr+0h zys+15r&ARoJ7G4{Y;&O>%uG16atyEurSZE_T{L^M8`{CbFe0%iTQlzPyHcMOSaI`c z8r74A2I1HFrkdT0c%FObam1yEEIx`?`P-QjvkDyUoSm}7;~(~5>rPkIaewM<$&wUQYV$=la?*69m*w;iz5YiBm`hZsNU%DjQzkY@T zP!jc8Y6gu)KP3kZrHq>lMKJP_GFCsq!GO!t^rD!QUx2BQ>TG~H7qptcJeOv|eUpYW}2Jt=#*Gff+zqRUkX4R<5P9OTLi^{ z-a1`1HA$<1!na?(i1+3k_hC+aO3k^nE2nbj@Vvb@qK|W_?IE4!9~_=nL)uYiU|^as z7Xg5vO=C;TIRZ4B=-OxWOt3>R)jasFNcS}vbyo-} ztxHdDwoeyEjuIalWxXn@fq2LLsgyq1Za=Z4Z?NaP+J>q6R(82^d>F}W4!AldZaHl@ z41X9kIg6hX^YnFMm}-39Swt`*-iIOL)=7pLVjo*K6rODRNh0GVxIvmz!;z?Cc!W=n zA!v>r#}_+>cb+&6#-vGuaYnH?7w;yCK!hGu$<1OArZVbLxw>ZKwRRQf<6X)5_=#AO zE*^*VQaJ-lLA zj>up|B|?+mu2YV=0Wb}PK>M~G+4f0W1tT_wnVTlpi?}%TE493KnhY9&auqfpK{byV$JBj1MYK~4Qf!Yh|$D|F%lPUW?&NT>*%CZRq3rOj7`lfEQG^D zH$i8?7y=adb8(8pgd&NgOApaD&>tQF7SmHJCDzXXvn(x@Q?W3i?=GP1RtNA7NpY?> zgV~;)xa2>c{1`%>@h)H>?_;e)!4ty;6W9py22Ecg8l`31)9>8Zd3IRGUrn2MuwXg~ zrM%+&#g~J4cpMs~c5*6(4_>8;AbJ$$RJFR1rG>EJGs_Ff&*G61UDHHsH0*%l;~S8A z<*<2SntiFtVOE7<#y>yY!wA~tmwCjC@o7+|Y>CBfr;r1iXKSgci5>Ru=q(c=2dYQ` z1=Mei=K5>P{C?s$!g%VKBx=_QBIT!E(CKcXfA!CO0~C_fq9S!Ap_Q8Ntv;U?X?_e$ z7 z_==oHu+qX)a}eKQ%&e^{&LZ2g({BjS(*YqgOxDE#@uYGDYev`HvJcW_7w zEoaAToNLpguxS@F5ul5EZn+$WU0<xkSv zExPTqf4GH>1bT-_FcS~@7(zwn2aJQf0f@T^nlTCGeaJo$yd0|~y3c(jr>ufrZW!7- zExc|?-RK-1UOZ31hUb%=2 z;|UOzF_wQCLG)zNKHqpd{tPnLVe_61ZqnMy`&O_zoY z>vn#9y)gNi^n!v+eLR`S$w zd>2IMo1`M}U~_J4j^>$!+7qW~ZER@E_S9DrHcp1N&Ihy2RM~b`J)6E?;up#U4el`E z(=$_ZP32LE7ZGLGQ`koFC#Grbj}>fQW-^^0Z+x(`N-EVbDs{sD77?;s1zmW77!HGt zB6Pna?M=@9zKs5gg^z;8x*5%+T;N)0`dClJcC;OQ6eXP83~^reoR9ZGuQ$fvU{2Ex z40BSMOz?_gpIXFL$lh?ul^IMns_Kg%su;Jmg7jsuit5#QJYTU?;==UZ1!lpAUl5Ni zEW&(!Pt8K?25}BlPQ{Yo@+cowj$YzdJ7C6+H!?8AB1<;~`lobD3GYLT+8>)+xoXat zE-<%}0)7?V-5CZiG#;EMDL!xw4o%viz;5eiy~*a@49dyTw_LXsMyqFsX+49JcGs~& z83>)LaPI$G^yCdmq6QXg*=i%(#TjI#lMdY#9p+iwjAA9cj==%F4yd_Nj34Jb(WH zkO>l+yH{{wGg8{GV4UgAb3}IM%A)fSOQgQt!{E7wdmovvqo6ClvE%D=u8LL7qS98O z{b6TOI_vO|hvmIWR=pDt^oUbD-v9vPZULL7Dvrkpmq7frW@0q%2y;3VTOEngEmW(( zGzHGMJVrPJw`h3@pRfmm*oLaD5jHl>oI()|ygL_;_wqT1Jm@Uovw9i6VJLB_ljNDj z{7Iysutk{cFwk`nHcg)fTQBroh4}~ zOY-|ZVByye;6);J1RfhtfMI(Zt%bQ@zUGF}+9SBSy#pS2seKXo@$>+9ew)69(2Fyg zl2}alw6?Q0-y<$;Y<^8P$_DPu{>&UQAWUB0E3)O0Lr^r^My;&&Vj-mm=2lf64KI?x z2OpyU?_0KoVFo%)U=OdyfRkU@Ov5cGn8JWBUf%u$vuMcFl*zmiA z$?JY_bzS+!jB<8%etmdd)xdz$(a~|~^TWFTEdC$+Kt(*sgt&0EgS8!!eoU-&ISXSc zJ_#P-H#{Ghnbat@?5EQ?7jpv7miUi1(Aph#P_4z;-)0-fQaC2I-jBF<`syjZZ$4ko|H`;+GqU>Lc?5Z#1iZ7~ z3CZoeL&ualrI^Nk=1Qc3rfCM5|%l2 zZh*fBgGNxYDG8E*?!;CEN(8C%_(@w`74PQ&+COsZKi-bdI#F6Wq6*6J%i!O(zhEjF zW)vjA-#fT;BQPSM|CM_S%y75Z^8?q;1oq28&r=)jQ$d zPq8qyb}*+ka`)>6(SR(=EW=+Xur9JnqKgw$hBlqV4&ffzWr6+;6T{6P)Q~!Z^QCa@ zeb9Alcu|Egr&o-%O-3v-^gv!ntTwzv0_R}=|8ou$8O>_TpeY1)5g>V4Y13tg3lp;b zpK|mnCg27o%SH%;tzL@nTLZs8LfiN+Lr$Z)tVr%8fuWkB4PX%dGBlk_rzHe}6_dsD zX-FeBqrC416cYu(R?nk=$X?3*s=?&v$Zk%a7)|qUmQ!fI5*AeT@aq|2 z=nH4|SlSu9LQwMNh*;P494RFa*jE?5Ml60|t0=dZMCWkWT$PqU7t@}p`TLT=Wt7B? z#~Yc%yPug;F3)E*zyN_Y(~_^y7Ye60exFk0!X5$fb@gD`n_7ub_W2+8&nxzK%}$MO z4d7A}9rZhwg&0eIAbg1tiv!lZk9rwTZ%!Mka=CghXJMr3K2QX%9qeu8a(ntd6BEQ; zIs)<9jY{9;WZUKIWvgRLDx;tAx~^(-PyOns`k^j??m-2{S>g40L!$@J4(_za*lhcX zJJEI;!CT^_1eG-$pVpq9pqDp+4Q5V#*Go#bx1>^-zF{+}08Q+tmW!=Dm2zOS}%r z88eK@gnu-uZ&c(TesqR<3`$vUu^&(jVN4TTrEwLVN;cbxokCXvxE)OW`pgwSIX=$l z+3(`3{{6gGY~e0?P?1$J&%+6MW*Ja|#N&GVz6BsDV|SIn-M4 z#Zz}gPU#qdD`2CO)1pUZC9`$MeNymCfw1F)NZllUbDkRK<0v=8Bz$4 zX}%DkJ7{5i8dF@%XCYcqihH@V3^TV3)Ym8Rj)UNBzGW|k6(&hD+f7%aI5+6|Uwg&r z^BuXHdxaRf#(}xduOOjt5W(B=<%Np>1PP=Y>-~Y8sd{ku{}8>h?X8AXoF=e^Cl= zZ)Mj6#;5*vh{TGKTFj`cL!gd`5nBC5zxs~)KsHEVD$3H-ryusmM`D-N2IfiX!=Ka> zDPc;Xu4_}Z1N`wQ8vm!SV=HnLZg5nCpp9O$o7L39z{W{rIp2K1J=(hj#~EgX3*mk{ z-3v+!EV)-&Up##Y*p6PK`*l(3U4cF94G3YK1VcQUgN!o(bI80`iXWio0!hJ5g5wxB zGXr|*fH$1pJ56sDv1{?m-@xeM=Ru?S$CIeSwnzgn?ZchKqyG6dPy!7vXcM{LlWV}q z9QOo0vj%Pn;kaWIBsh0%ISyB>0db!hq|eOED4;=!$@N^cu!FmKx^<-l`_uQT-T2PV zHZ?!xGUO;Zm8PTK&Oi=@uS&^m!7u7Ndb>h*IkW zx1%K(N2hy4M(0<=1vsV98nbR+eaYOubp!4n#IEm=8vsSex4BiOCHgvw9tj4%{FNyB z^J@drwPR$7jv^23ibZnHf;2r5tGCPwQodU{VpE~5wwWs{5i%H3Rtt+P+4dJ2Ol|+H zPYLr9pB51pCU?c6G<9uX=sI*r*>x%M_bZ3t(;oAQAt~J)u$XMUy}WMicFN{Puh1>L zZ#Vzk+}u@3^h~(fg9*NJieE)hLh zvCo&x!1lOZ(Y2o(k_F zwdSo@$ZwkHxo?AkW$wMITED6=;w3lutz~yU*e$0HC(7D%bbvkTB}v_|1%gxQtFGoQ z?`n|`M)McKw8hnaqiP36oJ2fSt*0YQMT4VGfFOkwF))Yv1_2&CQ%wu1rDqNC$%YNXp$ zQ{CRzjIn`hy5-dlknL6%&&|)*UJ7Bjn)y;&j7A?114Ce_kv?ND-!J*Sw==HS@|uB%qSItA8c40xv-*6XUh0-@uJsWF(>p%#PH>>Ge+tX z@48gGYrIzuL^5^fWN3|lsRFoIAt2J2Y~B9oo{{VX7J9tJ}ErI(j?J6y`>rzs+UvJ(^(vP{zUT@7Z*dO`<^xdm`85IV0Kl5mMi5I4q@*KPn0)O z2TjY4o^SCGEKM2=Lc6sH)W7i_Ek%BpPJTlsn8G*a1A{OYll?s&TWsj7d>ZW;0_>XVy(F!*c+1<^;W` z2G|)YWm+ z+p7v@i)*zGnCOvp~$Ti`#Hp9a{FH$LbHeaYa^Yq^6!6uxr+Cj|Zq$&P%FM?`{uFCq%NSwyv_e`>E^q z*z3Dac7L0fy-4k?K6}o4JGjy_+)k0@;sv z21%F_Uc>x(^`_>8u*W6l5*Hrc%;?YSYDtCZvnjqcho$n5)43WKVS%5h*bZR(r$+l) z@f4=sBtBK>g?51cIYQafKJoyO$^X45SJJA*@LKeI1A>K+ZEYP60wxE5|EeY#lDhGgde0;cS?z60VxIIgb%98YmFh$14YaHN~@fn6u?B_X_YEkoA?a>S@ zV-M%CZdL)6vC3$^c(U>~;!E#}JHC3Pe>&2s*dBXr4B|5*9$?PIb-4aP^c=?jAXgKM zpxm5vBPjuY9<@(xYF|5 zJkE1~a5-BqE~r}#7&P4CKn@&9o#iQM2y1J6)jicj^4ZaThBmM&=iDLZqnVBLHz|wL z)61iy&Ro4EhWfn&Z6sJXRu!#YkvB=NX&VIok-!19pXrSta^T1JbFv4oav{-?rSjgl zg$&MU;*7yIdW$4~ckQE&oT9h51>nNPw@*l(K92vK*yZS8t131c2AV@*o}_Wv`^eoD zz{*L$>chcCs0seduA@Em>BNQSG>9ykKd&FsGr5f@a-|3Z$xX}N>v`LF&6z1rHkyV3B^PEXun$oVFBF%;LS3DHfRd3Ij# z+PXr4SG0gZx6XlOniLU}QrwK^(z<4>k}9KFcH!=SuJR47qj7&xmmv9u)8|C*@>Q?P z?0g{$`ZeH-?0%Te!#x!lQ%!Sp_^Xl1Xs=d2d*3`Lt^T#{6?Nh3*HH7hs_9W#TNri! z9?rKQzMh#9rRLD%-v~GNJS}QIvKyEU%*sM5&wEEj54uDfz@&nHS@|kbC-vc4?J;i} zKKb^;?RCcwcV>evQzDmVTp$8m$nGMEO@64@$ia}_<4#-HOj9)AL_ znCOYEeXk?3u9#OV&;^Z2IxsqwNn8tjB*p8bA972_{LSx#aIw?=-Y5g1QZnR(*Tirz zQAIDOvl4XF044g-a4S1IyX>A~(G1*wn=V7eHKnj&jG&1+=+8hkh%DU}=--U1xomJ3 z&6kK&zkB{r<;}=6Pj_NbV*%B!1?tehZHK{(q{RCyJ?|3u*pxjU-u!z1(RAz5tq+$i z45TkoaE&GDWAt0Zq^U37;dg(28hBP< zZq0izQ_v!hpeX$Y<$MaslI2Jxbz`jeZkV&EcB&~oYCaFPsus(Dnk}DU!J&@dA!|K9 zc1N*nrS57~+M0T(e*U9Z%yOBC?5*stLBXPjePN03;MTMdUv`f*=*2k;O#n2oQJ$4T z?7)@Ff_0(DDqiqzHOMZzEB_447~c03ORMx8@sUQUM|AH1Am1^vHr2i-zUy2t#jVwG ze{ina=TIlBm{&dd9TmUloDg;++ol2P{sxBdR=+k~URQ4!|r*XtXu+E})#D-TzD$^@HdKFqv+ zjllO+nDkALmDIp8jxPwA`$H9pW29rq+XR5k^SNE9sSIl7w7N{Il?bwTJE5hA+`VJ9uiamMF&-^aZ|21S*5$S_$OZp3gK&z(7YkK2wb)TS>6NfNwKd4pDqarE3( z{WkzeGK|s>0a()n%0-P4THgT>;cz{4FmSX8?yt=w%^m*q`aafjST*5 z5$f~KiOT?LoT)K?(7wCt_EW^0HuT>`Pm&WfTP^AnLVj-%8VMW?BD|UI0~&E4XH501 z8QYN(939AVWKv>{o`1+!z8|ajo_e^HCsz0U1u|E%vWq;fF$$rS#12f6H^LgP`GB_4 z=-#Yr>+D(SAM!O*q%`?u*C#jHre$=B31y4McSn{WMYUb;@$W7mC( zab|OKQ}@>U(1MZ7C?VJU{a=2f>t4opdq2o`?4EfJP9JT^j@>w_7Yt^?(=g1xy8GR$ z_11X6T?Bquk?!TmKuQo>v5}@)f<(Hv?8xz|hm~l_=FX5sd7qhlNK%pV5wGMC`6bvC2ZB$$D$qka6aRV?#6JC>igU>b{2qiU}SO&ezXT!O2SM<^)7q-EJY5VO zkJR+^hOa!({#MT8lDU#0W|0ML`ma4)#10w;!_90g0HDf+6uleuATE@i$rX2RN1bkf zYH{`?)&3;S5t%WJ!<&==>`b@p7}d6dt66fsIK(iTg*7C_WgThsm$`m%aowFYXdO`Ke}Bw@97Mdl#{F*Rt_mj9~*a>ceBI8l5YE zado=b^8Fo=25|Z+tifOusUg&WG{=0t6J29K?eVXE;ailCe)2Z4fL(ei@JgF(y;n%z zk$ucANmQhsQ}mGAe0Dy3I)8%OtiRIQv&0J%GFL8t?iUSuW%2C|ZJB*QR<>wx=GDZ3 zO`slZ^6_k7apIOX&%TT180>4v?c5*TjbOesJARlr^j%To$o}xKS$S>lmQh{63ZD_w z95ec&%yUQScjzT!*L1_}EXsVQ>6TS;&S>B6Wo&>#-y$<|=TWqnF7bN4anqy2{hdG2 zfb|R_U@)rc1I@N0k;KN#Ebr1g1?XQefUs%BO=PnQtXl*V)B8LExpu*TBZZ%boTPpS zI&Y5jeUB0(`#fJ10@%QYU2V*)%1H5*t7pCKow204S}$5nXBy{~4<vD0lE%JLVK2s8siK=ye^9{NIw^EnxOy_p+Db-Wljo*KQc4L zYBJ0$Oy9Ef1uKfFcP?%}dq7={~?Kk*&%QCFP;Ss{%faR|6d6Df0%J_W2iOwUg2`QF_ z{B3)-r(c*H*$Zw$v|t@Q+$@;{wgU!Gt?SH6qMLn2Wdurxe2uafNHJ?0i#8+|F$Zls znRl^kt+#)pmSexpbm~kB%>7E-0)LBcv!ZV6J{{{Hw5VQ=aTJy*>cVb>9A}ewMBh81kHDCj@HG_0S}Br^80gYC6y^v;zs5t?gtiL8qH&!>HdOWqk-GUfaPE z|7ykP0n;XO*22zsZ|<8Hv$9CjZsYt%iH|7~AQ(rCBL7!?#7YB$@yCT?{%psbh1z3A zhRRj)PU=ir;>(Su<{g+Gnc0K3UK0%NO)eC)UGjEJfj}f0#!5{F1PK@uJMhC26kv7i zf5jzvWa0gQ5#*|)lP903YU`vLtNI9L*ib^bv`7{Od^t88z*WWC#VSmeVQ4k=gRCIL zPQm@4fHwYdd>S_-XM}Kx3V)f+u)n< zT-rOyOriOQhl6T{t+tC(!A$8iiy|Iw_>U-!E$+AgWupfG@sXy2Zp3bey zB3(z@uPD?Fw7wkl5)d@l|GepzL-bBPpAS>;43qdeBG~1D|C@^4^vhLPm<}<*iSXDR0kNJXP9xwIt9N?yt=kX3rH~aH|XCkAYaNF z(u02LRe8aTr|>aP{xZ8F53^QPFTlR{zwumT+xweXa11br=T`_{W;{uaMY9fpRacRW z8gPznQ`8o6`?3PfuY=NzAtpoyX1HXiJqwv7<{u(v0Q*bQbews>`h{Tz8W#e+t(;dz zZR;uZ?J?PF>Mndn+s2D|1Y(CGg^Db|JIztxtWpDsEDxq6lfg5mFDfz>^eEb;*! z&^hfqPG10#G}o7Zi0&1LzUD2J@hTIC`wpYEm%>wlBu5S`U3+1G<_Yw(4l~+cY@cK_!=zz1i*jAX^P?-$uPsIX|9_9@{OOiuCN+uH-$fvC*m*HCU*UCtEJXP9Zc+5z{O$v3%nXnL0b8j+OcQm9vE<@jl7$$Hs)k}BYWcaMQowD z2!w))(&%t-T~)~!T>q_*wU8)MeM)$5p}-g_qI{Q?v33GLn0VTRx=1`XfE>(+w+b=Y z7zCBd{Cf^>?JxfX_uWF~%X@6sW2d1?7Fk-Z7j;%G+o=~l{Mfq>MB;BPwJ-ab6I_z{ zy#rgk$vHlg^A_I-I;`d;1Ljjce?*Wyw8A!K25YwAp2h5acpbL*=6&29_x>=a$I#@C zth!@{?~_3yhJH_6$RWrulYw0)zcC5hL^a{l^DoMC%bqZ1Pi$gaBHMn6nK|_>FavJd zl0FA!!2euDe;u~G=VD4|YcsPqpP!w+Pkia&pW7=#f<|eFJ%iZ6(d5guZYD9tna-EY zMGbm77vthD;VA0|;-S^v-+Ox%^z`&}R3zgFpM-+=9z2f+gBi2I;hl0kxX(#HH9hG{ zIUJEexBg0g6$Rv?{{w>?ZcJ9LR=?jN?+%d|x>ZduQ}8n6yHEb-0dn90)Du9>u4pMc)_>$!iE5+N~;iyx?s_`ZiEc38C2$qWfevXBy~7zeg9f5|-_ z2^_V!88}6M>rj8Af;4+!@;8YT8e~X#!wOGp(}i*MUNKGRzy!y2f>xz7$8mH*2OSM2 z+j1qE$4J3*9yn^~BskNaW5bYJK|*Jx%D3=}F@1}K!OZEhKX(B$mN_La8y7Xs{of$;IS($qJUmecrxTWlk?+yPn>k{{~*ET zbHD0x#KXw8$H&KWd+s{mgeClJL5;}{${INZh1XllFrL}~voa|kKX#Zm<9JS?J_xG~ zV#Zr%pnSL=b@7b2{M-S^E1@Se1Yqic^@Q^SFpN1JN)bi(e|fw&g$OZq* zvp0yF6@ZzVtdnB{8v^V^Fqg)mj8_m2!87$$x~-O6RU*`!w?6Wc0}ynookxU$*rASu z0%YgRw(MH}#Uoq5Z6$rBXrkXiB3umK9zx4UHEf`eU6f8|;Lg)OIn=mkv>Ls_K!=Y& z!d#w2vCSw49Q?II&BlirVwuOR5T?MUi@Nz(C5O$^65v^GaEA}Azs8s#-|Dys2oM3X zJd{-OJ{i2sil~h*_DZ;yS$<eB_i8i)P^de|2HMD`+VTaU&r#VU6>>b z#|YT@H-DD{-}8TI$ZSoneL!@}axCc%Sa0A?<$wChp*WC>-N5blSv}qaA2>2GDTVKPQ}D|O zK9UDjeQ}g~hW1ufd2dbre4()H76z>RnG;#)0*%lF0sHs-&#`kn#14Wz0I~?KN``L| zf+-O*8J|?>_t8D52#m`F!R18LuR!4)ywC7OVS5}2{C}TRpDJK|i;TeN!TRE$=Bcyf zZ>lci7^Jucm>3nj#7WNJ|MF-M7D`UN!pB45TGIoG{_P+?vRQsu%jxy=zy_8dgrFGu z%j`ceOJATARMWYCKU?uBjzlMkD?)|-Dnj4aJ!IVQLL>CXYkD5Iz?_9x+xDCJ9uYR| z!D23th{F46<{K+V|Btb+4y$VKwpQFKh$5jP(v6^?Al;yJN{6I~lt@W8C?JA#he3A= zNGaV2(g;YWNK1cnf#5r9Mq|NOE z!1CU0_IFFNiZ?0m@PGU0uwl&P|DU^>r=qG}nx2%D)Gz^X#rY!NkER36QMdI)9=aa1 zeaFC~vFpi4L@BzHr9&BWBh7?TC>3#`A- zB^jjp{f0l+r27pGhnT;^g>F0q6|OKKhqY9@pGtzrqB!Y=9hnaG$sgPrQQ^^N!;Wlq zn}Wv12{4iYJZq;acbZ8JrkY(r`6p_O7L^>ktCW_J@$&9xUP5Kef1XS@q`OEhB;j4O z$W`jm=f26?R1;&{g5teQD`y%C)jSxfhzP%P8eyp8`|7IF(eSd<;lF5FIPi{;WegPd zXlJi^C7f+o%z6Nj|4xiL6D6SBtL`FlQ(jaW|hzHA%FV`2llPiVZEB}m~R@LB*D z*ZSIZ1Ta4R7|@PgJw4PQQXL`ac_!($ckOxiblgrRte==(O84TUKLtDR3wp@3;riT^ z1Fe6#uAso`Z?-pI$8nE(`kq2PzrZba(9x7K6L)>flt>j_3g=&5NsJd3`)kUr0gS6^ z1L$uN+vM_AC4*!)LvcIlk!zBE)!qWWIRqY6If>YWp@}y2@?ohjlXUCR{c=Re7$2QK z9Nt^mC1u|?afKNI_*uyhjHqXI94QkBE1@H|N-y}Ljoj45#fVGQzI8n=XUCQgsD|@} z{IUlt@95PKZ zL<@*%t@e!D6Ng)e2V}B*E2^x|_582laV)JL%053oz;AwOxFF3U_$tZ27RF5g2R!sk zx5?G(y1{8UKCkT3aWiq8YUt0rz(`FVoe1ET8FAS)GpBr?mDM(M>2^n){dCl7LBjqG zl{dC9lrPBAJdM*2cAs|4_>dkuhORG3K zhKb)TYpSae^;cnl^%d8&1>d!9>BNs8HP&bB7Zw)Q4i+E0Q7cpZP7l6NDAS%V4yDR8 z*Q$~A_8DRol{3QXOR(wU5r)O~jozw$*!*xa<(w6i6>cx|{ZP67 zrB0A6fG`T!j$jiAL}lh`_`p}~TIyNd&CZJ87b14-BUYc z>Y_^+%eger+=@UQFN$>*XG@Le1Lhzh#H`KR%;Lz%nrS451fIp`Bis0U(X)Tp4BLY6B_x?K{YbLuB4y5GQ#^a^sBRMesI4;s)BKj`5a-Crh z&f-^hRT>it&MaohPdA#0P!SCzS!!yh|IWtF?x>WsA&21ra_SXSvtU}iJQxhROXR3$ zh4ddQ>4g=oHPsxD?c-WkW{UbY))lhjT0CXpHRTC;A!J!x%(}mwVY9p2N-HSZRusCj zwn8uJ5ip-aguzXmqx1I0a{(fD<_E*W(qLO6V=ZKMAXw^(C{Pz!9CYxVa83>1)-y#f z5lFc<%3cBu_(>GSR&f08(YWL zGh9Xb*D%DE2!2_h2;*r-@?b5&pQZabB(OD{e)#fM-X=mbgH)>#Cij4^p*EjNhicU3 zS|E^!EI~lO*(fD$dS8}$00eb6W|3QiB)QkA=-BVvxzs8j4rS4vQV1+#5UXLwh`UZJ znRLmwatv+4>no1Wgh(R30wFJ>Bv5hty+7FY8lx3bKC5qj$9c_1L`l z^~{98zD%_V=lEWx{%Feim4}AP>dVOGu!bkrV2ZtfpkPBb#?h&c+%M7LjW};qT#_j> zKA@!B9NC^td#C;*U_pNT1)E+#B0)2jb3RKc9Z=-6O-&9r)CU`7ld?VDyK zAW*v6LuxHv+Qk)mnSwDnMu_KO(ipxbMeGT8667?r;?e~O++POZaNSBrmzr3oS~HE6 zJAi`5`?+(i9^F0tcRY8rQe@n48VW*M`VDcZ8_(4B2xD>H1+*h$hDuKOEpiU2u?x)^ zA4VK9TH|?#Vm#B7GYM+|ExnD>yd0$TqY^Ndyw}TL*Txp2mO9jOuN4w-OQ>#QE+U-< zU@>>&^+;zk1SPVL3JQ)?y~Y$jVIkJZ6^~PaDL#}})i~RE?LUhmX>#R^d#!}q1};N; ztL=1`gFTcJ%BwEFxIjn)1erFcCsAamt|KzXj9F!FdX>j}ZHHeqqzA9@-n1Et?0+_f z+@dHFDK}HYXzIbFBbpxILzB{S88eTZO_rq1_(_<277%%oY>da9V-qX(1^S6UOeO{- z+A>$44t`|!nD@fKvy3Sax!O}2m0l(y($la*U&`!W|#U2)oh`5UUMM---cApg~sSV(MJSAVsl;y^dZ9*f#7Ozec>>3f;1yi zn;_lh8S>V7P-@#a_i(QeLB(1QS}JDPfeWz*1^%?2P-CtiZ$JJB&(q!sCbAUMm!3$i z8*^P_Plz};b>^$y<9e?XC?ay~h7otl)JU3thgR;{y>CD&oxeGK2TXvj9_> z6stJ{LG&1PC;Mu5vgQ{Br4%t2a?<+6YyW5y<>>#gjWO=D2IjEgC+2tE34-sXz2Heq zUDUoY>ElPgaAo0}*F1Fi8Hg8l_VCws`^9WxS64taZTH@bOpFgup_f;d_>W6bGvYHc zr-e8y&OVQo{%9q#GG3REb%r2hk>~*g$TkP!lsG~Heq-k&z!m;)$LWD9zi-TL ziN(YuaF#*yY*=Rwe9O~#0bAP-PEho|f6R4jUpw)SH9h)K1BuR~3C52r+v#wi7%#HI zvRGIZU0$f`X^mhvM|RcP-o#58JM}cuc-Q9J`&pC!9Hjn^IPQSR>3rur=n_;9tEKuj zD6vKT;ErV^)COvrm~PqhjmnN|5r}nK;3e@RukVQdwBvc$p9@3`+uI#P`xZ_+6xdPl zP!VS%q+3=?qLiVKpO)zvTGYD@T}T!Kd6g^KCTm&#${oFo548K`URq6c;-iA8<$O_D zK{il&0^OOLFR$EOMU#GaX{l?2)07nq%kH&zTfYkr6VX8n%d{32clLp(Cmnip>=wzZ zA#;HdeE)ndcWdnajEszh3A3SMaX_0GRJ)y=^NFVWjdHn-MB5i>khNmT3LRZ(AXQPL zEi4YN2FNcB6ytj94IOok9Ie@i~`mscLA% z06$RGcLZ5Mkax?{3`ZHcorcfFmFXu`0S}`cH@I;!bhc~np-gjYl-KuZqdQ(({%HFPLhZ&rW0RReR`%14$ zcgI^G45OA@&>TuZ2wJ%m{76z>US2axsuKr-wJ02M-go)G#K9xu$g(WCdH^XEACHBW59zdPItNF1RSnb~ z#Ey@Vn4w{cR07`vzquQ@v5+G*ujBQ!cWAp#+ruPF z%lWjFO&zWI$k>bS?=cY4z?0_QW%vsb<*z?@hP{Cn)8% zN$s$wTae$2i=>Qj?SowQckDYv#hYAkO4M-+>-8re?Jq+Ve5e_gyg_%#kk3MWNJY}4 zH_sp4OwR>?t1p8a)q1g0FS~P?KP)RQZAmsT$hh+F2Of7KP50-@0+x&rn4F+Qn^zE{ zIVAn$K{+7O0nFP>0dA76%lM-2^9zvO7d1hQmOPxCn!$fMB(PJjvEUfYHR8!nlj}S* zbiMb`wa8%2PE_fSdxJ+Jr63JcXtjXm>93h3nng*R+_mW*DY9uV*k zX;2EPgp)^PGg(w#R1%5n1>Z=H1|iK(loJ2PDBuxYlD!#ki(C&SMYV^_CWd~N1Ga2o)Km(@Tkd7o*xGN;T$+#sDVzDRB9n*HO&sQG^Irav_ zfZ#~wB*fA1{{CB~hjQgt(vqGYb8vxjbnpC^Pn1tExafbX6+99L?Svn5dZ?xMedznb zu%drogEu{4hxY$`rDx6q(2q+3kb0QlJ61T$90(%9vMM#^*Lw+~YRLMpl7Q?I{)H57 zS>*V%)0T^!C{MVAk>1!{A4tkHx;wH3C7#JTBjot_!ATtv%+t3d`L_o>i5@Bgp2zx8 zVXluGq-{zLY-qXsi<_IzjEs%vSwr-^CQ|2Oigi17r*ssEIe}SMuPh~144KH5&Yrhk z!DCJwzjy!GmWs#!G{{F(!~6{)6LiIwh^~iWf_ItLAckqH~{Q?lR)OV+ty2bP_Oeqp&YQmW{;ePt|pVLgC|^X9dy{J z6G}%R+dpo;SO8dSOVhd1b0|L?FX^iX&7JaH*4Ot>r>K}}RH4kgbgKl2GpA#728-(D zq>83W7~rz=nGij~!lRLz%`*x_J@Cdy6IQ%S)=n4&Y~*|+wJ%+3E;0wx%Ok2s0R()$ zK^hbjpo~4>@P-wYeh)N-2A$4))oxpHB~alP&QdF&p%no;zz`Dl$`i2)>K{dsUHV~A zQcm!3bIav==z7cjBCd5l7Qki0ZE+GJYp*y}@&_5&O#qR=3DKAAP$I(ykhugAqatUS zY7nQXab59+ki;T>*E(ZYR)eZ?V&zYRJUPxtcJ6Ypme2x%a&=7fD#AdG>537$CJH(% zFW{P;V?sSo^%01L=yqt>pgaF<5@NIX7LIHd#SxD-EDK*-QauFnL2&_cs(pARje8%q_-t|989N?+qGb zgNW(FTEfnNXj8k3MZco*rixT?7H%QUXC~3J6AU7+*~}2i4J3!y3PEb-u^q?Glci5DD=8+ zP&?6LyYn;_u^Gg&wqLrzKws-Y*x?A|aJE9x3S3De6z6XOqxD8~UVMqog7Ws4Ko=^Y z>MG5SGVRzR;qKA~r};>E@Xqu@WGxu6XTe(SYa~}zYR%8jYeq6#9YxjusV=;h08^7D zMJPy!Cg1a7!@i1xi0TUUg8FmUTTn@3eiL{mh^s*%SD%DLmM1r)Pt>|8Tb1$I$^361$-zTpU0ZUKs#d zZ1a`Swwa2t8TmuQS`NMs)J-*rxsjxrrBb=-Y#0Q`|4M=ScB~!0?;{xHXVt;0k}MT9 z?%PU#FOZnKcXz7lKGuFwHT#HN4PI!Nq{6UF!3x*UdXK^KRyak}Z~B zr-j*j0DtYH71lo*zsh5m+tbr($6G25Hf?XOz(|dc+YIEw{&vc6z)e$?ejf=RVGqVj zDJ~-#pr7B95QoToOq~aqyu`FU`Z|>xs?86bvU*p1y$oHV(;->=5tg!FC1448)EuCd zIg%qG6@5p1-P{j!>tZY?Ua>oz@>U9V0dD6cqT?PA2S3MRz}OlJd-prt0eSnK#0e zdNCpDy@0UaGj0b;G(1JxtC$#NT}pQy`yhJ$7``$--LflwCk1$Xf8*fm)xX()E3=9J zwO5NLYZo{NcpvpcVkHc9%$JY(MTu=f%Rw}#)c8xCL0|!5q)P5VrtoAcX5imuYL4pf zmRxrf&)X5sXKX_aWqZrs?=Qm(r^3*>Q)t>ffj2bVy>=B`$D2lwf&yvj<;L;4t>)>Q=F=WMw4(8UVFAk4gE0+ieZG%W{gx!a zx?uO4F8HuB(RoegG4S>Cf$><;Ze+}L|F@2msFw2vYw3OfxA5*tgT72>+c#>-9})Q4 zgOMgIzr`=!I3qLiR>%BaOo2?x)U>kH6{(MAaYHatwctH;-RkaS%o2f`-B0_RK)_oy zbBW8FuzkHBdPB%2903aUGws%HWbpP#_=5){>x02LD$kZj5Yv#^Jc`%T%rGH9CXP02 zD--<0VfWeoK9%;g2Xx3a6`Jgk^058t!|m@EUFkr8XTybB-e4MGq=GL`z<3pV(iB7Iw7892V zn+GfUuM@p0~7H-;PQa0!CFh?MSqP`UD{50YzUhKk2Aw-9J)2MFj1DW_RbvD!H#i zL6edH1*E+lG8*;Nf*G-U%?vr4!O!231ZsFFe=qwj*%JAG z316|wy_vC6mu6T1dShUN{VY4DucSs(gZNsJo}vZlh#vdeYe;VgOt>~y50h_n&0&f1 zm3TI@XqBKZt}?9C%FS1iGQKIeBDI^bm?u{%_wtOoX%OrO)DS#TXq;%-RSAf1G+sElR&ionSOTx2Y9CZm4`&(bVuRFIt@}zIsHd4c-#o4r1-1G zgXEY8Jm${M6<>RL!gzyCE@uNsopJyUwgG6t8?aba=xT!GS*jCIi#KuoYOW5E37VYG zP~MkFmf~bsPnmqDcSF>p_rm0F{{75%bmcY~V`9iPMSx1apQ&(E)zCP0K>&Hk$h~7V zEhQ@!4WJRm;jxJwOi_@aYEpWcU0*IiTw`Mdqc6T*uG!9pjd|vL`fkT4vg-_#38<_k zq@|B|WsvQ2{5A{<2_TPmY1!N-5moV*1NseEe(5qtZ$~D$#)a(i>jWgpBL5@FT7>SO znQMU0F)<342D{;v6ljlJZP6^QrKBfl_u2_l+-9Z)f z!ZEZHp^2|T_o8H7)j?21QgL+W*Xk4lLT5(oQ-$4{(!))ah#!b@lok|jKji^*j^vto z@L62zZR?Ge>xl5&O?sj-%i0yb$#V?T81Cvv?D0s@CgVA21P~=o9QC9b7)(nTvzAE*Q7&q4_|qz&n6m|F3f`n4hJR65(2quq8tNxKtKvw<>RJmQ%A z{)c0NC~ep3E+`!!%X7<}fQaZyA-zU7jyd28FY2Ds31u4UmlI zdpmtqj8!3_Mg9}cbOs7En&|HXkS4E8NkM_aaWiGvK7oYQSW(7}t>XeIU#vvul^iUj z@Fx6N85a?;2=mRoMMpI|`yPNMB{~?;x_laq#1=CAA;)l=zheso!9(p!A$9Z%v4G!2 z-iq0`FA?JVs>}1Rch+d);+-_XbORqCQnE5J968tgsdB^62@!n}0f@cmMw~0ciGAHGV*356oRQph(C~80}FkVf4fPxd6~-K=7b%o#6TzpK3Wr`0EHk!_OsCK=&oa>U$b6^W1j4t3(Dh*Zd7qo-CNtjrqdKaWTjRx3j` zoyW>j`$r3E3=d3v=9!}xf@1P<)%pQ&6=9}^@Y}-=#;-)>O3uT4RQ4iXB>Q&W_7{oUwv#wb^1+Vy|9ul$FuGY- zB;c}soUTW!ie7T}1crlb@q>t7K*2lou=H`D1N)T|>j~rfcce+dDe`wA_Lr9ck>lB) zf8+uu+#f>ajkYCX{d0qQ+lpaMXwWWoWk!#2<{`?*%KLl}I8!xc{ z9uv`%p&|)fkvpucN#So6x?qN{aRj4#pO0Gx^pw1~m1>T9O8JT&@u0Ws^c_>%=cCCE zlE?oq{lr_}8f0}~U?HNP(*&vlOo-O=Nwz1$bO7MO%OXn^eQKpPgy8C-?mEls`sp;j z9s7&jjRh6O*MKitYmWhE61cWcIH)^e{1J3$CkLV0ny5m0faSS{9#2ZtQFx)<7VIap zJo&A&0zncjtnU1e&PGWYFy;mN#46qKNiu6jSh!MO}THj@k5 zhYmR=d$yHp#HApEP=4^FWyUVc^<$ogcTX9j5 zxUjG%y9dq_M1NBD)@Dl?y#(P&^$ynY0*TLM1PV~@^%|%9(&s+}(qazTzS5^>L3V!n zz-(NFoHKJr39l#5d0^{#9u;Gz)Var0IAn7 z(5f2R)oVygiC34{%8Mg3q@L~fc>As&{VRx-uWsm9&*I~O5*9r|E4hJNsC=rgD$M1l zCuyTNZ5-7o3~twN5me`bzm-h(K_JEwoy{GGrILqnBG(6z5N2?L;p7@qnA<`^h~(5% z*EYm&wQ&oe+L`khJuGp8M)IgvSY5oK&LB@l4BX zk^|$0g9eY_oOr@ZNi}ve839D0uZk+{7h|p3gAjUISjzsY1vxpVRBNw&4pN;mIeSR# z&n>0X-bZsI`Ig$yx+92SI(h^LWw!lt8S!5IH2B=j3^6rL)7gz7vV7OoD-M90v(7ex z#W{&h0I9ahKvCx#?OM6H0kK$zO6^C=@?F~39ahHcMyg)*X9}$WVPi(gzV}>*!(;}P z8I=j~G9tcnNsFRm0bl*e!H-wI>ko`meoG~bvc(*$9M9hWD8249q_2#jeu$M?FQ3)d zfoKsUs0eoI{rjOVUj(#Ml8APwy_j59UcMb)1}Y8}fJeuC{wNU%ecXfFid^6QVM-}z?f|}V z6-NcaG^fbl#L09a3NJ`>BBIg9Z!W632tZ2Z-62u&-fbi_;-VA85B|V7)m4N)_&UU)6yPBJ5kir&y->@tIln z+XBAip14<+vJL~%QA-zvI=*aOy3C9)(<^kG#A9_rP;s?;n#%>@pstxiy00Oi{Q@CD zmG7;#lo~H2Np#BcZiEuq4qGt8n9c2$sy#{0aUaTu&{vgV0^oE?cgLiH$k_hYDAW9M zv{N_zI_KACRN0ayfIrKTgW5XultDI_mIUc3x1;{oj_B`Zz+r@ds`vOULH0}uD{MX0 zo+-LcU7;esx}CKp1Q`mdoDR~4ZP7jNt`+&(Zp`!cuzFt3#H8*mOaQVslwq1Ou#%Y* z4-WMMd8b(uZs~dy9$6^ihc*jNkd+U6#Maz3a$R&G=g~gBsIxIEv^HZ8C23gPA~Dgx zcb8fBAPbjLXxfgm9l^<3&kUPI#!WdYZ7J3BjJciSi2|a3SQO;ofN0tpwhEMr<5FU* z{G}(Gj>s|?qY1D(n}HG=-U$LyptC|{AiWjF#F9FHORdh#iCT7EcI3n;Q_e|9cgyM` zg8~%Bof-kMGiU(lx$Pz2&8UgQ1}0^DS9!eQW-CM%(t9r=p+RI2*aC?oTd;{e7Jq@^ zBixH<@EE{2viSw9XA)X?&rTr>EMS^0l)de zt(dF{53^R+K#$$hV-*pZF#d`Nc1V0dFpOJHxAltou_-As9%l6jZO}&81VG-@H8K*P z;jk1@3h15hz5~xaT`PA+uc`E370GAo*yg-Q$aceg!w6JLWCvmnB->sLWke4QA<6Wn z+AZ7}`a|B%;9w3{y(BjrphCl2rN55g6)+CVfoboh z_MYDGgKp&Zo=gE4U;W%Vi~V0Iz|r+3yNB8wEVo~4KtR0djaVc+9QWSfrN2bIrN<@w z)UWsuL5MPdqtlz2+dGfN9` z1)HTaNCnS9obOR=5T)qk&bsa9KZ}bbmA?y$xILRttPdGlE>UQ;PkvLs0>z%@-%__; z$@3uc6@t_Zcb<1VkH@c{@(Rc38s_24`#J>U3O06DJcT?0YzK1RTtWI%0>QAe(7kqE zf@mVhHH514V3rWgh$>N=Xbc~{JF;|AA0q#V6+ophL8Y7${C=H;IrdL<>t|2GZfcCY z-m?ASC3XhgXDs0WJ=@H7 z#+``!YMfUCtI7(tOSf`W_a?M}X~+z1do2j+eYq1j#2TXQ8k zz3C+xNSD^Y*@qr0`0HPMSU35uKh}x_I$dz1)!)Bs05U;_8n#+G%Ix7N=w?o1G)&(L z{)q@@zBjo166%AS!EXEG1;t8vC5T?1^V|ge4JPeM3ReZ^qH zp~3t&k2FMl&Z2!eUThnH%!eI8<}q`SkylwbhKBKo55118HEo5U07m(i)(4)ob-dNp zmc!Gp&*NTYoxeq}JEecF-QSVzG>*j|5Tla}P#x6>I^#k2Tp%(xW66Jv2V&10^}KUs z^y9w+;j5f#9ZK^3KCN~BX)|}lYd@v8e==_P$<*eygN9K%{en#OjSS5&qp;wi zA<~cz=N~y!r9~YrAd$4Jlz>%_7j9DZYhU|tBj46fI}$4-A0%)Z7#_$b^Ws`-QWcC| zBs3oAxXsdv1(hJG#}C?oTWv4R5;6~rqin31!dIY2ZeIU7abil`99!DN*$)1;U+e!~~AY`Bhw>BcYy&ANn)V$awhO`Pze}q>7 zf~&=F#+(3J9Ua$2K`z!C)3-^TdIyAjLnWC?b5%|o;bm;*?YX~r4J`V9t8uO0Ua_iL!+GmJ2gt*HB(K#UI@w45R zYtD2ZLn8@Li)1i53zfwH({2L#DCOV3H~}(`AsNOZeqfl*0E1)?7$g!i*T{370XICW z4tJTFaa<4U8V4*p>Vv$i@B9X~9p`86UlF*i^SP+w)m4NJGV*rH!5CYE^U2F?qZPM% zec_DIpJM`*+gOYG>+z8=_gI}2(FNkAzr$ZLu1mma>E+MqRETe)m}Gc(cRdyvXu$jR ztM$XjtaBi{sZ~WUV{+LrYiu!4nzXOEGbNr`9)>95H8*RA4YrPw=CCoZjh0VI=LG&1 zOkP1Pz7H^#=oD{rcgYYYYu|b^f47wm`)R}x|hN~9i7iB{U98jAhj-*kWJufMYz-M`*{j2!%AD?wx zwDv-;wWkbe`{orK`sGPTXd*XP{L($M)yV<}pH>&~fmkO{@Z&rQwuE9eU8!o7L~MEuX#FzO>7OYn}I=gQ?^-4%8V1)$DAFyzz&;ElX@J|syhFu<=;x$u)$Xfz1-4d$U^x6h z&YjtM)#3+niFm{xf-l&qV2@_!pFX;D6wc*_A~=SD;i5ZD;m-|1P+2}w-jlcN`^CD? zBq^I?aVzQsq+iPFTKmh_ATxMk7kQqJp0S^J)n*CGClwOi4yix)(#m9;NDqHW$dq6O z;IoF?@3ABt6sj0-r88Sss!pha8oPy@bxI((e~q2ZrG<8{sOu=CPYn}XBNzb~s9o*# zfCUb8Hi1LNS#UJ$yvGQx4^X%J7y;^>|3`{#>@|jyLm-_Q+uT6NR!#;1%!F_A^sTVB z8>63QJmlU!G+xrUSS64ZSh1b*Vbc6?GsjUekfZFRG#v z=+`DM;D4vWz9ptqfku`uW(2FY7pXNTeAQ^8gR#JGhq_J+N4APE8n6flEa&N&Y#vXSU^aP@}89wlG_kP8i_@kCIo1>mezy<^%sOMGhrb0?`Led>{LR`M?bBD8ye_#N@YK$?H4_~&Ww)&xHJ3kx7v4IdRf zg)QO+=)=C#aE5v2+RTuhm?Hh}JFy9nn;pBMVl!j_8`8$xeAIY+nopqFL$FuCV~hm3 z%99x^aJg+b3=J+(&1OCfwtpCf;0YHgU^5K2ZQ6%}$sv|G-&eTRyenQ#aQA<|In`Rg zTV81x_HWnH`%SLD1W#YaArpI zY&wq1JL?S0#2W$8Ie-)y#f)_zu7yMEZ(QkMO)vA?r~tMlcK z9Bh*Nxc{(@SZ9!=_f1F+wj!qEncK1m?fN(XzP?qA2TAu|EF}m?q&I$!N&{ zi5>B)zvUsK&mh-OE;fkpJO-ELb>DT5*NK#IBv;O!d;$CY36FdUS{Zk$u#ve|&TXcH zh2kKB`yM9vCD|m~yv2CG?*M2+kUgSlwlkuE6H&QHDVV}EbNAnq#;5|}jIUZs+&%K> za%k=#-|!`8CJO+o?Qz@@oh%=(U(Rk8i5LtJ>ui#NFg$;a(Arw8QxMO92OTAQ0%M1) zyAY|feX1(HdV2u5yK$ouZzXp(-s3*ga_->UHH~63y9P{}Gc9&$RLFA_{vV!$!kuiA zh0RvdOU6o+BHC*A=4&xJIEh{~Z0~bDO0c{O?>vVd`2i{X&XcT*5sv;ERH2e^#+)sU z%DcXDAzNVe3PpTJzFv|A{%GBR6uH>6#~1sr#xj{bN+==`fXP#pyH{Y`OExldk}6Q= zGbI-cvzS`YCcOcLC-2$5c?+c2E%y7VLhK%S5dt--#L0x03)eb}1v_WkvjnS-K~EXe z{TJ*dUu412nyff3<&O{I!b6#Di`s7%YRh`Gw?$O#8I(>(n;>v3bce_Fo&xi5yHgma zU;;vAEZ!eeCV9}_NOXc!{%b_$pV{uGxTVwK1Pl@4rbQmp*z6nia<;Rqa+ZU%4FA4$ z6u+zBXG$6#n4|Uz4 zPMbVD1GOV5dWx#oaP$T~m?t15?U{C`$9GmS^xe}ypu+jq2HZNRK<+ZQRku)8?@ls* zN=no~9x>(DY70{YBC+rRYVCxMxe$hZ@l|HIb8r{`!@Ozz?}w0wWDX45XtZK$qc+te{VN(r)wQtFRu zf%^L%$XnKaA=)*aHr-p91?{Qd&qZ=cp@9`B2O`RI&eQs|2xUbGSNy6k09l-G)g5gt z-r;@PYB%urXV2detVsgPB|;B<(j$dzr#VUObNY7mUINE#o1Q3vj)RX@Nw&*;mF{Qr zY+v)G|8WilU@WOnP-2>?>NhH7M>cvwvoup?>WHZ&j!@&7gQ!hz@*T-LQxP=$YoNKe$89Hn#eI73?Hnl9)yjH|RJm61Y=31k=t=KmHX-I5 zmm=WXv!0o`%-}-Z){?O1KM_eHDyh(2*OjHwS8kE*V)d%fsVkVE`_2gPwE(j5j@jv# zQCELIH%tBV3$CwE+wSwMS>0Z^5;b$i3O4I+-wNk168$=LZc9WVs2#w8v>px zn#iISM_0P8u+dq2I8Ola0xWq z7e0(0JP6m^UuhTuP0J+9d7~Q3T78xeYFml!w2ypiMc7C3Hck1>t|nV&C-?$b_to)@4bS zXxG_N^)~)aXio9Uu42Ld^x$&H@McPdwEDM&6=VIu9cRCxg-a{y!napW+n14pa8yVh zv<>MX#19a!0DsVeBCFSx}_OG`zy3 zbt6K{!KkU+I=%X-K*0saN3C2n>Ta4dD)N_(weRJ*2REyd+ z<=dQiGzOie#>u9Tsd&d979{yYvpmgtrKM^JT-A4I*&?Sdy7*d^q{lh80TRS@WX8^`YtI2GK2v z2;PH2e~yLob6?Z+wLT3pxx_W_+LF^io^Z(Z_D>bNMx4iegM$t_fK6<_kPFg}r}G6W zd^u+}HP8rJ&W|5l%IAw;J|kSoUaf_>wnLS>+x=O~e6TGgKs1n#eJ#x>C&#U;5=da{ z<=5q*eOhTTW*b7@iBk0>7kqIq+yW?R>JW8gU$&o?#yiPY+8t`9ck@_+^D(CT;8EoV zXm?8{uLmZODAa{Bqu0;g^(x;S0)mRS8^-_)GGGxN0@(NME;dmQ<{7x^YgC8|#ish3pb-2Us$5 zivD(cU@g*SUSA}%w?WYdXZo58qcW++(C4Hjjvqyz=EMHas|^O^!l z3QjYdeYj*{YaRTfI52hTa@0P_*0}CfK&y1k4P`&z-hSbFmDY7_%JkFF;&)cI&DBtc zZ~8B83eMp9+uYo75{@|2VcaPw*{QW#=)K7U!k<8%aJsiFG*i55PcIlD;lFuYru@5H zH!hm^4Q4rAob7whdgqQ9jKDtSOLiV(P}XkKfhA#Cq0{B0Lj}e&*SfILSEqL^s%#vb zAB3w(z9B^0jIQXFlPM3Q0=5^f!#YHyZ^3PF`Kjqji&Iw9*mf~X@Cd@rVEIu2!rBS$ zmsqDd@lR;HSkY6Y*Vce-n*=x5Mldeww)G;G(1=WjUT_GvP~%ZC19?ny%Z}^$Fb9A} zG9fMYDZs*8)AQu0=6(J&olTWRu?%fx8UzgwjZ#_#9L|KNX6X|AhkI-7k@Tb=890Vk z^AAQFh+G0q4nO`VlWgbR(kuls1#zib#=Qkihms8Kp|v#BQZ~twO~BPpNPyBFoc!tr zC{w67@;#w{Fr=S8nMHc(v6)#L`d62*#G-`jK85xz%7#~WV~oF9=5{^%p$!KfAS*n|`RqLAo12OS32XpCdk3=n`Yo#(k{ z6)s|MJ$~yC^GLo%gG!X<~=jH(ek%I2h~I zdd@u(M=t8dtT~xK0b2NiFtYg9jL62Q1&8!jp=teaw)4$fC7-jPEaKDQfXHhf4YmVp z-Rm?m5Cu7!V+I^MND=}$@(T|%!AGy(RJ2h~(&JUcg$F)r52W`zvw4)mGp{b~4TBs2 z+#&+g+8B2}r14}qOWPRke+V#X>HU$nCf+@`g^0grs%Hff(mawPHktpLhA=mpVF>d5 zP?T9tLu1iS|JWzmDW5Ws1-zM1IH?#@yoK!ZJSCViNNnQvK_5+2iDen=@S(+TV1Y(5G6nFn zk=6u+AaimW9I(2aVS6EtP6)Rd0quw$Qp=I_dxo8gNFjmRJtjyu9;!b)y+V;|KFT)$ znRNM;He+Gh>fM@792P+o`c;fF7)E8n3flSS8jA}v!+e#v5KT97z<7V?ZfN`nH5`@_ z$8tUFe%!)h_O;YZ9+y2kMCT1uZEMnIGhbxOGiZEF(sN||04pfD^|_FuFs(JSV*tvQ zE1<7BdE*=UASk?A#oMZ6F~U>@`wmdv_jh_y-==~w_%da5L@N@v@Q3dedjE%&f?I36 zfnjwoBmB~|cr9zAfbuL%EN<5+@=n!B`2*qkA+E|9^?YTOUYak@8Rx8JwAvryIU(4IrTa_!b$5G_S8D4T%nZq~Q>?tY zZwW0v?@_F9T zdF`X~sZT#f^PNSf8Pdxu!|8n#AY(%J^9N&m*IVHADnZOg`6l`W9}4iK?;-H;D+@uO;p0}XeR+FyWtHa20eqgNoCf;%v0@$4r372(hsuMRr zm7)L$#4-!040`^ZFM+YHDlm}d^cbSfRCAF(Hf?fItLP@l$Bdgp9RoelnD>5!Cz?g6 z?>fM7^!s$}Fju!GcBbvk=T#81Mdl_3_?VHFRe}*~Muu3ev-ZS-Z&d%l{iq5K;Kl5` zJeA&&*io&Aw}W%~9EN)$qzQ9)?|#d1+FcqosBBUmnuck>_31F~?RNQe(M+#vjCtP% zw~F7?1oeZMtFj#5ThvN(XDnyx_Oq&f*vS9a$t-sh1WW-v#(t=!XHi7;c$o=9DbSL^zC-|pL7#K(WK&Spc^9nIi*pao zrRZ&j%X2wcz;k^;xh;?lspPFM{=kI0-j$~9iJuYBr1Otq(Tm`driFGe`2Gp^am%nC+Wkb zo7|JZl8n~vDpq!vvsN9FLO(Z%b;NuyZ96}umvR*Fm-=z5#0RUh5pMf z-;F~SIY;&u;kNBqBHld%Ju5)lZmN5#ct3VttJ1BhZ>&;rVVi9n4IkA%VkKI zFa}L3Z^`liYHyAi#!ASUp$Rq{Lf@6!u@#>dR=eT4MrKhovf4^k-&#+*-#H2ld)G)X zxL)PB=w*AsYBRiv7_KbmmwNKVcaaID=rQese-aMYil0YMIFuvH6!i-K&0QeF=0(d3 zO1vD06VO+=5(M|hlD|&pTnO142Z{>TX znJj6YDUqIhORtYglwiMZVxX=kwvmd{i*vM`7Mrr!l457e1Fw;{wvgTDn# z`6WS*X_eC`2{57$uH_UKg3(lGj{Cs@Fs6vZThxzp&_vnZ;pWj^S3`U6 z0Qq9govzRIMKoLczbaq4x_pu0v#25Dz<1Hi%MVQK_cyd(aGVkrMOq+VnLj)HajZgR z$S&iqgYBJaN^!ZKpSS z!P2SJ2<41`fS61Up>~LMI*h~Ah{>sj_qUPfoS5`3u^u6Pjvny_mdX#RXDVJy;c-EU z`cZ6GF8ur5$zBT3Q$4mMLBQKO_RQDd+ce-Ki>5jj=g8sP94w{ZCn4V!N5D%ahk5*M zBk*nGJq@uI$hXZbdVhEZ-_{Tw1mD(-d|N$JKn1LHBx~=#>)Qfk(003Hc=sO#14Iyt zGL|SjoDL}%(8rbxxJzi@qU=2Fq%E9eDe1~0kb-eEs6 z9y9mgEe9{h*mW1LgKOY5&kGur@|b)Ovo-NBoyr z`3>0K11DznEEL!&|Btq}4$E@uzJ(PZ6)Z|nq@@%DHZ2V*At_SQN;lFVjUp=D9V*fx z-C)rT(xr4GJanFUqwaTa&-;Df@A|HDuKkDm+FN*@d);fzHRqUPj9I3u8?+4TxqUJB z0}lLGZ{+nogrqH|>o~>%00ZL-?m}zuKggSLd#yprRIRG==qoI@7$a531MJ=q!wC;X z_^qX|qFwe%fMWlb{(?|>PfyQ@!D5Su3#2^afFWSKyl0`^TDl)DR7E+O>k2%J3-y5!K)J{r)z(*9W&fc zsB@gsl<*}6Mg!7nYOa{_IrHE9K6s46CS?jd<};lXC#rcqC@XM= zC3#~DN|)I$Pbq{Q;dKGr3!KS$1ui^*0MctSyKOiUxr}h1JZVDOmVr?yVE$|gAX-V6 z&p}n)=^2)<2!V4b*(BP?v6_P$BVA~?IgSh=M~1M1)b$#$<6mb&>5gRtP!*yW()(n6 z_EQncEWT^5%Z|LOf5~L3*ET&g)APN#uCc8VK@!3f1ZHX=kn(tAVh2QfClzf6>T5Ps z*K&c-%RS%T2czqbvKSCJ8B9UrI0jMv1Cl|vzq{G?CDnR;aj-Wi_k8imvxK@yW@xA& zpT@1vaPt6eW>ER0Z=Un1F?o(ds0CP#ambKQxeHAoN1KV}#^s#`Jio zi-Y+LZvP#MkpitY&_VyB`>B>XP4e_M1r}=U=?P)C6OZspa8C5%w?f3HD1$c!qP_P@ z&%sz%r54bUf8Iy;_~BPy_2)|mX-<2x_8K6cdGrFvfgL^55uL3~J)^9-T^OPw*ukwe zpm+pflUPe(i!CtO$5O~-SU5JV?=V1225haX2hv-GFo#nTkrKkbyGu=`O0zTG=M01-lyxO`;mV z*93v76&fTN#)S|RcF%>=90Nt*-8;exgho?$c|8gw<&D||SEi2u9}JHfxKIQl-@<|h zCB8jW)${7OnwS$M9m9!8m~56u_*H#$I5=nm0i>4x&c+S>9t8K_k-_=zy#;Y_Pa0dz z)04gX6UJB8l2bW3)ooD$bF8gi%b$GUHC~tCpxV0I!!08i7LedP7txs_tD|IVxNGwx zI8nNq>VlxU48N`6N0wLom2W77owC+J=h+e*>sOLt^UbsuNt8z%uY=F8)1*n%apsPP) zX!HDfm=N5vsj-^C>QXhU9(sC4c{2E|mMSJ7+2K<72HddUnqG^NV=BN(tqG6(gt9kn z>r7W*%}EbQo)ZW|@8*%Eo;oz_tzi3wvH1>S0*k8Y^86pWGf_Ic9I>Mbit#2PfsUID1`RB4HVZ{z`Al0OSSr- z+XZHM_Txr@`)!D$F``s?2V(~mOBDMboE%}&D7z!!*>iG!2N|1CHib(idXqItqI2r8 zvd>0i1Oz89OM<{UKjP^iN2;+Nkq1-l=Au}NwFIoz9%zqy+Zmnn`oPLodaIe?$sgd{kH$`9`%LWFg~Pf|n} z!u3!eSltq)5QNNw`!>ZlS&A3)IL?qqJVq}4iI}6NQ%Me+s4N-e*mTS(!XlxtA@7k8 zoyNeyL>SCJq}~c#g=~}U%g#SfH)OOIX#-)@Z~wS#(~JDp$Mjsgq)RaCiHljYLP3V# z?17AzLDtnuxTX9__Ll$vn+zdDno@GP-GteG6MGvLZV5)?TyD9mc||6g2eE9;Ed2hh z3VEF4guF7}*CKkg8wH22fkf%Le6oWQxzel>!&R6HBoUT4Og%)9a8}WsbAK2x%PSCF zZa+U~IiW|zD+qWULay-+NsC-mEbP}ft~%YpJrovG2fkFQ(z_dj7WVPIuckJJyvD!> zV!04UHwTHnR}YX`&yAq;drA_W`-+0j_&KNCv+}iMrfD8uBmJ|4l{4xh6%?4RD-X zzvD*@!As@Z1p-xWhps7B=#~9|5M`}>zjNfSs>yE(E-4j1TIg z*alh*Xnm$^=)+g4ULO$eEV`I=e6Ve{ZD~XEp0D_DU*9#zUcx}foq49qj>e$8dN!pk zBQaAkT3STU9>5-XK*7$XXuSR$o@mQxSEvWYU$Sm+T#I4Nq^g&Mpa<5s`SnL z8N!Vy5sZnyi_JZnHdUcsx*oqUy? z;hq<518ofPkXLeJaEmQsrIuuuf~}9y;-!!`1Sm?Vc4OY)Kfl+66j|_ip%@roHjNR zvP1wG|J5R%a9{&mh7f!DE^r|HQ7y|T%us};$gXK*90wsJ+DbYT=LN9`s8SCb8zVGd z4Cbj=oJ6$}y97b4(@{l*%C*1uadqaWwdUV%{1}D^j`%Z_#+_JptiTVUZe?;X(8F5v zj^_m&t1xf4cUga6bRm-KgSx{lawN|ZF?ocgDUE{=a;1M@-7@sR0Zbal_gt_Ld^;>D zdP*7)Gp>CsNJhS9Tzv$Wu$MTXdX%61w%cJFe&KVuK@O~y_RiIpd^`0|U-}1qJGk{N z@b-nUrmEe;NfEp+BgdQnMdw0tA9eWU-&dt4W`H#%$$%{5&K|n02|P3>LB0E`=M!E< zG=;ftUTMrX{AcYLNYy}bnTXm0t}y&ag!cf}?T!88P~Gmn;8E z$DIcPC_LG3{gc(9w(|#UE0%bPh~0TH>x_w8%q0;Vr_=BMy$1l|Ktj5A6Iak%Dq%Y2 zEb;b^#x!%hc*|O%RbYYK`9HEsbnl()WBAr54#P=#i|7P;*iZMB+mmzeF1Iqipm6H? zeCF@T2Tc`^%MAfqlzI6gXX*Fn#M*fSTg-r*9B@;6&cOHM-Qm{uDx`$RB3^=4lNF{j z=(qEL;cit%n=E_u1z&Q9VI@hxZ_GgPJnuqSLZ3r(bup8|g(REk!0pU?bvB+qO)oI% z12%7F{@R{1^X%8z_isKO4M8ycBMK%?Azv-tbBpn)x2sdLLiIuao~<>QSZItihs$8> zX-XQ5ye#|cIOo?hY;R7Y-hkhTD)rG7m0EE{MNA#3v1sJGwG1FV>ZWV;J$gm=E*xL# z554Ut@W%^Fmrc|#F`4%OVU48s1=1v#jqQ;s^t+5S?C@c5s*Mu-u!U=W0o9{)&}137>`Y18yG(NK!civK81GPT?jF@fM3F) z1qho-JO&|TGk|i4fYwzSH_-4;p$7sCQUyLMVLXn-V@{+~X-SPNfBygL@&iS`tp;EZ zg@IxV^02O8TOo?h-z8Mi34Kcu{BQe@I#LZWk3N}$8kXV8Cj;X@V5MJ#ZE0*sI;N!D zg|^_C&m`pXp8$TaBbyoz)(_6W>F1&w*X954V+dYO#N5Z&qY6u%H@Jp@kQg_h6fXBHBNW*CI*(9@4zhkjh|3~xCDdYk2-dc|j?Z_^yy zF2B{yRX{%UI(SgUT%=2A|5sG^c!2C{#j-cK52$Al+>1KqSd4IYlSLqMwPb0IL|%7A zZB-HixoK<;2XmE2A&!9UEUHuT1MsgZ9P`0WS`>@g77(_19!8`sAD|b+i>Nt4Pz%7Av9+#T7^N2L))vhniBM*yM+bWR z&7kk$*t^z1mrxJ$XX92DIflUv1R3dJAmwz<&l+0U+~}Q?Z^vP%7FYhMI9VbNE-qdT zB>SoP+&u3(L^i7VRA4ELi+bjbEc2CH6y9*ta9^(g7(Eb;adhs+guq_UvL4UmNXm4y zBae275RGB02P>STh~s`tIM;$;J!mj85*>f82nDWjbZLFgAZZHx(0TGX!`$hlBEQvt zu6(j?)gu5@6K>!*=z-b`anrbYD}N)7-6*&@hO14!jPurNPnKH#9bLU2os!HAaNX(w zorCDEYOg_U{`5M2wRCgQokbd(n36?DnoNACmohK3WZN{soH7Dg z28RF1G5~>t``#(Iuvrs3PGZpDJ!DJ0^N@fYdlexY5>R_)zodgh@FgYkSQB+SoRTN| zh#fG(uI4^73>UL84$OD!DU6)^l$`#){7s(Y5M~$LYBskV!1*F>^z=>znVq6O{#y;j z{_Mx5)Vf&$X7rG#`Y!N+C7B9jlQ2W_)kom&G_7^mfiH|z(j?^f%{cm5^y1|rdiV)M zg9@HK0!8ABngNU?^VRE*bB3FppdjRF8w6Lnp7h0q^p59#{&6`x#ai(E#uc9;snQU- z-!b{L(7#FiRI*q9pJSa9Vq~~kvd;IGTrwEk6ScDO#&JV%)24HFm0ClmSd5(OE z1?IMgZw*BUbW2DpW8c4-z=hR$!hQZ|ZMvI?*=hpdn2trTDXH^gc#~MYfL#0a6MR;D zXbKP_BjAC+h>*g*DA*~@I)IJ8N?3$)mTFj9yy-J-s7>hU0H07?!(Ta zHMC#Xg=Sceab9EF_8o1F&u}hk#M_fQ^OS zXgJBs%hM+4n^MUH5OcK##iOx?HX6PuF9NwIGvZtv#W$R9F06E(myVB+TWKC)=|Uu! zs8V|zZwD2se_>n4JW3!U`Pt<3tovtqO@8N!5Uc&r9fOW7X-Z?5pAC3Z4{pjZ7}U|^ zknAMK!J+MPJ>^i>1~IF+lHQONeJXSrWw$hRo!4$55b28tAo!I^tuGOkE8f~bp-Fyx@jJsxH^dFpprq7# znn$O6aJS}dFhWC{x~}Y`$i_K7v-JzHmW*K1xHCBpI(=^R@<`<%u7}?ZbtzkYCl_-p z)r9PCwwL9B$r8ntrh%Q{02+Px81lXeuFHP3xy5l_y zHKGP&-Fq$r+r>eVMPC*3hX6NY6ceM&l2cf%PtVVcg%~NH-yB9j^?Ye*vWNC`^B?77 z;$=htpi`?(?Mw=e;)mJ$&z-@2$d;o%indz4)WUie1 z@e{0Lc|ng0{a`|x4gxXwk_!r;OL(IbfyJO)7Y%GMfbr;A-yCTrqSEs6!Swan=5QktTM*&IAHC+#mqrml_=v^;M0rUl~`s`Bu zJgJ=n!B2vZP*eL0S`&1FQS+uUR`A!qL(IO$SF{AZout8*6* zc;bVK&iI*a#=w9I`SWa}-=}~F(Ha%ABw(8Qj`#2mIW`8+y9D|!29PM_fxEoKOb6E@ z@>EAh+lBe}(LReLhcxn;`2Q*o#MwOTK%R9P8T$&vIfeu64JiN za|&u00eodrRX}HM*xNp9T#lpfEp!H{SSqQ303E==ricF*-dZfTHETD8pR?1)lb0@D zw5W7QS1=1OC}z2zcjhxxsi9yN)&$%~wKYCbo+1%#mu6?PeHg#VrX@UDXrdg&W1Ef) z*-D#AwKh?cAMU8M!{3B~&~ZjO^t|crncY_xUj=UT4i2IR#){7jAZB$8*(INFKiT@< z4WVs-3MUD&6qUCA@kKa8X|8GLD>9#-pSLDM^Hh|8PpC0-7&y?p!+Xn*N(U)c*-rCY zb}B@A@=$k>Uhkz0WSggU9S+G(ak?-trT)QX7 zJ=(Xyr(dagD__Iw34jHxI<>ydJf^~B+1X5NN#vKzAT`UVRKPGz4MS+ZsREFs&9Mb^ z`c4gGySc&GkJdv)9=nCh?`ZM}G4F&6J=lz+BL3?v16Y7pzWQ|M=j_=R$6%M;p}@NF z=b{})q**-n*4Ft$_M^8P*Si(-bm}hP;jv+ekvS$g@6SJ-Ty4t1*}w7x5eV`i_2>nI zxRXaW$@Lf^7Q8j!(1)ZgWOn-$KFKFTa9QZ&@s8y|T61DP2xiamm#0rrAxqSj`kz%T%Pjs!&NcWTAv za;jHNJcOvRW=!aOfg-E>{st&uhc@Z4F8LjmM2XK4UuU>7{~&h2q~q6;?IPJv^^d|a z5D6gXNr7T?{Q;Xi=W)2q>l-eqKlVTrWh$NdxK`3N`lKxym8F;A|9qeay+B1@+MN2r z_i&f>X%ITK<36`v9$EC|fNJRm7LV3R$ZX25z#R304A5_|FS9uTcSFH z@0sj27y$M?yAX->^WyyrY)!Gw(VX}Ln#V+#HHL;n$dGZNZFr;f2^wkqKrp{k9bXLK zk%9!{Pu^wcV4HY5#BCKE5FRWu5D>2@dui}Pcfv2wxs8AGMU>d&oHjP(W0GI!skk^f z8=(uvs$Ceh+@}-Jl6GM+zDv?m6DSSI35-;uz^Iq8&$=0x^C>^-b9iCpSYchefPyE} zhHs+AJt*zZ9?{GBAe}kgpS!Ppn`)FL4TVo?I^f{lOoNQ&l!#R z0-Bl6%#p)eejCTn-r0nq4?y8Eugyz&g;3Dy>un^Sx zVUbX4MdQ6_JVh9Dy(Zz5@DP&cIgAwWi6;i4vdqYwe+Wl`1L%>+Btw}Qp>B35zng(G z8KHnRpb$g`3KTX?a1dZid(R+6oZH7BYu?{`(4YNvC|5_!Aj?j1=9Z(qWIMf_Z0yYr z++gViXwoq9PlsgfPZ&CxP9|E*{_4*I_s2HLEG!d99S;;p#M`~{n$TXDC`(d$_S0?9 zL<&2ij9_Cu`RAz&i&I#84p-CtpGA|k^YMZ$ zwdd%_I9Y>pnog?{^4cXsk!)q)+FW0tu$w|3$O zrz`^Ank}xECFJiChA?w6FAat{ZFC|-!-Q1Svi(%86Tw3X9qRmC{8ayqBNnQ{51gLEk zaz!kjH+3T2xLIbD8Jw$O)X%pZp15x5M8a#A?}(h4o5PEKw)wS)2WHTzXy6v#Vu|Tm z;us(v*s$K{i}nFh#AN+(;E}m<)VLi`WZzy%5kld-fYBZ^Pq&2;oNKxWo*&Lo53LlAQrZeyRVf!0F6C zuyUBz1X~4jg%4^?4?HXf#TAw}ug%j#t+&k7XCD;x8Mb}amsm-9ieTmDD-}kLfkFxb ze+dhC0{k%gEsECh%YOv6XeY{sm$XHFMK*^u!tB%A>x%1j{C5lML% zY03>cokWni!YO<6<|e3Nn4YUkJ?hNBHBSs)n}*~BDT;}l<9(x;NoK$KC`fnlky%im zBpD}*?`4)xX`ga7Yi-WuV7Etm_%QU z`KN@)E_)+{vj*!$q&JTo8lM} zNGY!ZI(+(vmG+B^NVDy`F3^7m$=!>qy~GUO>piM;TdQ1lkzK0VU22|~8hpH`q_d<( z>ay11k20&eUY|1xZT;BS3gSIyI-w%SvB2m&fIlmz-&qxchg12R0@4VzFLugKtr56t zo}8O~zU_--y@W~97uGCtBnDh797Z2(tqUJjuyPbQUq*y4jy*j8uk&{d6^!^xH}unR zLUuum8p12+KiA=R30)YqV=pfsk}pvHBtIw`@tQ*B$us0s++PBx7%393sxyjQkDB=) zHBP;|XBo@>0)b3xSMDnxp2V^IUyI^h|m3(y+bkd)Ur;BDn-kZv&F9` z)w~5Zzk8GGLz2?58l2dhr8dppTeALml$q@u#0jm(&TKiY`Gy@=r$;nEI2w2B1ahU^ zF}1eHfpJs*TZ`FynJzZc@X17@Ek2umURvY@NJzo~hW-NS9m)$mKY{wc*NFlFh(lsE zw4WYB8Q+2^zu(N(rc2KYg>zHCLdWgu9&0ErSpjout_=~0hm4CfaeqCUrzhcXZ#w!5 zdEMQghlzwuYY=>Cdc)l!^Yf!fX@@8LKmkw@izml=)S6|$W5=^$)%t#ifDmXBmuOAE zO-hn#{fecMh&okY895ry4|Hf|#|Jbt%6>G8R8Si_Ns->3oU0>qlKRcpI;XZ!$z-k7 zoV~XY{y}jd9^69Fex}GxL9G`SvA%q(JGsSk!9rEOhxP&zD^N$VLY&isV&g)v^oyB4 z4$4=AoUv&A;S9uzXSk1H=!6VnXf{zcpWPH3zn*b>(T`B%H4x`NCP(^F=C6Dm8j4NZ zd-_ay?}v zKu21Lc1`<~w&?|o!$64eH-7ICO`#m^()OAG|6V$K`AI`FlYlhV!d-*SNUy1O7O*wl zS{M3xK&X!n$hfxj-!J}WbO;FBV!~&s1MQ6H<5cM8wBb^_bo(VI1Y{5BX*Bwi^4<~rk_xQgqn37D z4_iV>6Aic#e3}5*@sXk@XLqQr*Cb~9Kn^6dk`EDFDg%;rQjcZ#>XsYl z`zyYJPYx<#P>iueY@3Gatd*blaAc_!Gf^qc$0lcK@j;kpZ9yLeLb1euD58sZM3@CL zf4YSH{l49y)7Vmq?0kxc7@$Pj_@Uo*hny{j1MHoXt=fRKlFu0gZ%_6Hp3O=oOsKWO zO45j?k09O;hMJLQo16C21kTo4m#iM7HVs&*zT!Zl6!T;nPkJqx4%_>Zj2k7Es@P*? zTTYDpZ9u{$^M)3OW3KD# zAk-@rEvNMT|A#ezcI3o#BxVT6!hbbICo1A!Ch@?IKWohdaum7d)8E!dmz;!P3Xu&OfG7r4Bw;a~3a3$d@;e2dS*o zU~wi8n+MClswWvlZXrh$dZD8_E>MkkzLUH(3j@)DWh}HkgsvekK*z6X@TZpgQEj2P|7y@3$9#qipgfoEiv>m$(LxHG@B5^#AFxA}5Kq8Jd5;Ma zL92!i=2@tiB%eHg$$S?+00bS*0x*)|9Y~Jv@)W*2iSZh@eHYL9#3R=Vxl-?o19v}s zsDh8KYe0MmD0ZOm#os5%y>$dF|7Q_^92<>BmPP0T>P?~|{?k|rbM$)FL0g%hF}L7s7WFZap6o{@qdR;w$-Ofm{fZ##j_NyOO*!#!C;EHHmWNOxOI*8%22nT{P zuj2x|@4KbQ3~%~_V{HisYbn7~1;lKEdkp)>RKB(eZgR(ihynY{Vt; zxm)4XW_i4_iL0Q{qvo8$;$FcplD+teP2Em6*(oQNNObkr&4#IckAv23!FOak!YB9T zmv$#8rg{&%!gk5{8J7bb+-6+#Q)mudb4H6j}L)hljtSsek_bxmB{= z&R=ft_u6>oZvZr;+|+uSv`ge0kboi}70X*l41f{l+n+8~-LpG9+-p0$81}e{KT`1K z0exdAy$~75J*?I`#3Et@`paxH_P}}iM!6vRv*7IXC=5^1T^uNk>a9my)<=7rrUefj zK}T=Wp97>dPHu9k>zk=Pd&pGb8TF;Ns_5O7w5dIMy($>U951=uV&NLHezTfxn?Gu8 zG-TV=AnMnW8JU=5%$z2X;9onG-$?-YXP{ve7Nq#9^wIk( z52;;bs=MZrT-Nq-_2KdDC41&36@7R$|N<#zn(Lu**Qq}jac_6~09OUyV+*b~)) zfblLxi5!jc{zv@iMu;-M0LsLlMr-M*mN-DZeVRIvTF|Ht9FseTp-z9f=_wuz?Ewsa z-JV}{K-9jp^sUw&)?Syr*wKiIyc38c`~)bnZal3JZc^wuj{@f1lPhey2tP<8j)`hL5lQ7WSXRoG)RA0UKKw5 zIY+_YDz@7xggyfkH7BObU z>JZ!aW^3rx2U5cLY-)O2OQA$1l){-QNU&91Y$3hRYs*l*14BvA&aK1&*{iBF!)7u= zDJvLeZOCO;AM9klb_J6LWWH%!9TQ9+DP1fYOadIbOLW)oGRsvodUdi%@5i@~B8(~T z-ihe{D$5{JWC{fEt-erqoD7Rc8&?DVe+!&TxTm)fgB8%JMzTHcy$af2Dj4OK;XKVd zip;hq;7{RnKHT4&%xhu_f#FGNGB>}Y9KU&-wyJ&HW`vI6u{FM+WtL;Mc5lOONYk=Z zhuOK?{E^-nht>0<7@86} z>NXuBQFV&$_m4MY))r-E`1u|)yQ5BZYZ&GOoD?za+DHnKX~fM~bW|*<0>Wmq|duehACUsS{ih%b=M7d+Ej5%XZC73nTb00^c8~CA}g;jyId@Q%zwz# zmD4h^@cLT3<4j}UEMI;IJ_o|DQfU!~v9@np z3Rz+jde@b6ywr&qc-zuDh_TA9gof}!0;fJjfE(h?dZN?AfSghcLxpM3ft(d3un@ptN(zE#0v^Ii`Bp*TGiO; zHTCtN=tY(wu^s(QC&j7_)eyCwqMDiSpS^jzvldr|xF6@Q<7bT9k>!nif`fjR?TrYM zqph}{$@X*GE;@a?eg7kw%h3FlFNL`k)=UeU;_Z*{Wj3||mS|<}_yd{$b-bV5hIVFI zX=(rVt4XcHonFlLt9W&1+LyYr99?`2X%mASD@kPbO z_nLr`Wnr*b_SE?+)NNJkmQOI~IuX@ugnxj^xK`EqPsu60IWSgJ*Jby3Z*6B=j_Nvm zSAuQbW*=0XFCX5Y6B2*MQow3~7645&8ByQMlv+IVeDp$YL$qw#n#Tt)+u6J~f)3Gr z_d9Y%k^Nq06Cew0Xtfx417qLRY8iZB{5z|w<>F$vHOB?!(uNG}Jkor| z07peJyJB0(O3@n!G1c3|jtAS*lQ8Nl99Xo%WDehs&w^1+a=Avg3i;Q~6JAqYcA8^W zEY?q64nr$fP-SQ;bKX)pqG-Eh(maO*+_l#Ult;=GwYvl@%z5sO99xqhg|E_hKYq&O zt#s@1le)s(Jak4hXnHg5@;X|BKOu9Vif&abV%c=u8^`sV=7Sm?dCr%eOyyF5~$^ zES@+6kBEBRXH(>R-%eYBSc+RQk-2<<^>m<`L{D8adUS7!YjS5khZ(a|Hm?UeC*E-? zD#|#7{`LM^ieO7~nn`!n*-K2J&!3-~9)&oPH61v~r?kk~BLQ^~3lU-#qNUIM8wT?#Vf*UXKAETjSNv12<)*NRDeU=kUg|Tm_x^R zH?0S9T$cA^?Wn|JuYdMVh(~XMiQMDb?gLO>QY@EkE{`%J-a#sbbA_>Xc5Z$Kpy99{ z=yNV;nd2G(7lqP$Ja)|^y?>#>=;*;?>B(4Y@Ls<6_P=K;LIYR@;JoqS_(V%$Qm%NLEiT=DX2HB*hzrPJ~A3LaHkV?Hhn4+indjB>~iZYX_WqCH*k@)GPE zhe?Jr8Bj6`o;9lGykg}_UbNyAYofC~tscq$IXF?#-SxLw8E%x{MHj?k?wLBli&5~D z5!Gkn)JGU!-#Q+diTfQp;L8A9s(D7kxhHa9;%0srODyzy^s|8%vof31J&E5<4)!VOUZuZ6x zWn><-%&XmDcocJ{eS-qLH7Vc8d%+#RfV#Z01UI!TP7?!SqItLE{;HssBzQ7>ZEu2=*|Cu@%Z4ON+$ddWzU`fO zyQU)l*_K%v%^2I6QBB31{dDgu9=k1EqoFXhjz)~u-kNn>9b$U?)uISf(vU8Hy>LXj zea`UuG88NaSb-ZRZz-qk<5tGUZTH!9EX{5lI%gIbJOGz28P54NCq8j3RfgLZ7X3jq z^rwORK%&W#`mJ)Wf0{IE=Ox|2aN5m9!r(>qZO}?OQwi+eZC`RINZ)Af=^=TkPTu=D z!^-yEwEqUodhooe^KWG3_obfX2fnH{++m)@ZaW51xmK0F3tbd%56UD}O1Ea`$?LTW zP3Z7Xuiwb1epStEK1A8&&C&RsR6u$4a`k?Rv_5qKMu7(~tXGYMy^lf6I(>}g(``rt zZ*t$r(uEyQLnUeEt-+|KJ6k<;6`3Z8h))YiItfc6P^MqB%kSqFSt}bUy`BY%ap-9> z2caF9V8~u}pI&?b?Fy1`(6#5jQN2D^$e$w74)~+j)LL-uDpreY7+axif`H2x0E5Xt zzX=ig+=nozH5!ep9>Ogzk1T9((@vdrt#-gJ$oAK>}++z{6X#25qqWuhHW_Q8Krny!}Y~x(z03N&-S?eCF_rj z6R{iS{e6<+cGKN}wp96CVh-zg+h#jq3B=f)t^Wkzg=_j10xnnB=2tVyNGG^K(@ia1 z3$Wln7X0_Wil6lm7jMUGU%^dW_X5sbxE6NDE2x=Nw=th^6ow{p5N^`yU0$k-(?wQt+R_FT@{I&#L0wS#IK`AHM-un=%_W1}GMplJV&TuzZ z#c~5M10(f0)6mj{eQ;>D&P;6eS0;quZSD-4Y~lqE zKaJ!Bla+9L=VEd5D_}sOCF)*8l>K1E6YT&O=aC6Z(M8hQQZE$gDaG19$o0QkS>ik% z(UQno;w7%1gtc7LI@{q3#&^+7fnU%-QwSt3@Z8BmY%f0^fwSN+y;kTD6^Okk9{&fnk z1l9{4abGRf2r2_fP##1;y*0<_n_+Lvu=am>c&LQsH1WR;N^GJL`x6HG8SFsDn3{(2 zJ4PyaTvh7^6d(s-a^-#C6<1evg$**8r>xe$#^cqwf$V;3IuH~3TN9AS%b1&geg#J9 zH}ZVXdN|->-u7%&#!{gf`7L@^!85-M#!R#d$26>Q*W zG~$QXkjv>l=bK7GV2Mq8cSC(SOADuHX)gjFZ11_h&YbYj#l=+flp$n%vjU>U7RNuV ziGQ!6M<nG2E(KTWCb55hYA!uw9aPSpuadcg?qR2%CN zH%{ttNLjB4$@YbUhW3AJ3H?4A3SL6p)H8{w84s!|noZ5afD5skqi$NsQc+i7wwvW0 zL+e!c%)Ixw2`%HU7zG00s|nEf)#72h7{q-^!zLEy8*);qYVqz9Zg-QbP8-9WFE?*?1<3`$MB2{ur&b;Gfw_@k~D)FT6xRV~rkTmHc*3O_{h1|yBrdty}+PvjU zhK@yl9*xPOtAXr0jI~|Ha=m-w9i0OMs$uw{cPSoXqOJ=&xwy>ywji?E;fO%Yv7fm~ z1-#|2w(A;pKuRB^HmSYLx0Te~YY?4tVLiHDGr&=^`u^H$Z?Z5X{?CqW7N!g&_T^x3 zJl)Q!)3knI01kLS7%wJ7K{~^=*Q;83;G{EAIhxb(%<3>N%xdiJ?brmjgEp=v4SOl{ zIdlp0`9Si~{rBt#wucp$T}u~)9nrna4Yq7kjg;O!FAw&7%BLsRhD-PHw>!Q_PNtKO zO!#gNcieWVi`&nyVVx+*kK4$p=!@-Inw!_xtIbVto`)T1S$LS*5izB)IU>7RPs&Ey zRLxjLml8LuH6FFIpB&4{Np6N-J}eS9k2_2xksGDS$cmcIaO2JV7A?U)3WzO28iioj zO@&i{YT+0bw7*-DYyu!rx04IVb>2u&%;DKo?P@f#kMbv{vdRvW0retWZtM@G(64JP z^^`|C=pN3rpBYQmJEW}M>o?0=i+5D{lz--f%g$Pm4^!E-&rOn^t#m>rV$4`i+T!`G zKA-2Rzn&6%Rf}hTd6HM&JXqeTyJ<+}^d!0U%$2oviB?x_yQXYTBHQgd+qLbKR=e1F z3^G958Qq`qUTxk#8%y75H)$j|JLrOOl2XWoU_K?L3Wmz~DbrcQ!Il7|Z0ENTrOkX# zcN7c&Oo``|I^}9B)Kfu!sycTk%eO?`R8_&#d^<_xIkq5whL8EpMN>1|+Ffwsi`SWt zZ3^cPqfsLk?jH$c4bGQI951v;(CDuu!5SdVAR2%18N2P}y9b0d1>i369M5d*7R5El z8qx++q=Vg}Ihd(fi9P1XtGH;y>J>e9}vfQpQ18p9RV5C@Wnv~`5zTLto z@CS4AgT2vn!OG>a*Am>&mfU6X-Zze`><-`+^xi}eUwZ7~-D>9gs`cuYv_6DJ2tS0L z)?&20RYYUx-^UdX#D2*Kxm;#1}ygqJ6fF-y)-;a)i`!l`zZ^Ncl zAly5_&{96=%X9?g!N_m8$(s~1IByP{nKcWGxAVj&v}-()$S(uJ7r3MwOT$|kV5EyF z*(1Zg4|#NZj9_2je~LSb4Q9b8%F%MW*z>6>?!L_; zpAw(gDIrV7unU}qizbkr=q%D6evBFz7|;c5iq){4!f_)jfPpO1Ch?{ov_Ho`s^#%lissmm*vlR*V?>UW!gyUz^k$t2w& z<3B3G>6oj`jw*GfJEub?Q{77B4tk4aZPWjne{{B9b$c6WCGaj+bgB5LiNhdVC5xqw zRjpR^PbBJjvnp_0MBS@4CNyOZ`|}M9YAm-WBc@+;+dZW?ITPYU!bJbJsHmv+hmApl zB`prP7Sq$qBFWS1J|EeOFst$ND+1~H;|&ctZ)p1xh_Iem(vKE^d;SXTy7Kf z-2(!K$5rcq$S`k{3^)m5Q9`8J?*La38^aa2ieekvryAhoQqdsb4$Nwp9pfqzsDcp# zonOIvg=|+bjnkwcLvk?Kh8u6qv)pwlDoy*{id7fz<(as5M1q9w;T6;-YybGV48CN0 zc3oSs5;ao|P-ka3n<|SP*tD4=H;pwtd&V{AK|lOS@|-A2Keu7Q{2u3k`I|`iVKrWR zC*xFXxzt3+r` zwkEa$w3H~0_~IP%c!-5!6t?=woKg_uqYER4dX|yrtB? zRW@5(@4nm;Iw*R+UhVjR?_@S=e=uNBx3r9Fx02*GJScDn^Hq#DmtQhN#VsviA&Y9*YCX~Pcw zvz9iZ?mg4#*M*TAh=fv|2(FxUf|?WJIj}CmK`d`>QHX=>(_OEL@}bl6;=C(*@Yd1LDV`(JcKI{P{md5RsBxlE zm1`~Q9!l;?9uE6E>qm*Na2a>9T5~r3C)dkek_nZg!>-3{hiR=r#O5W!GTf6FQ;Z8X=DSh?&=!kqdW{!B0U(nM zPTR*8i%&7XFG3MrKTF&CJC@mTOoBWuTvj#qRhz4~lWG3- zuYG+C8405U3x!S%O_K_q8&|}*f_|G+)<<(#7$jM4>MPP1K*a==IWY&uBakf15Ipxw z%^>hytUKJ#6{!k)vwyQRgS4E1Zr-_AI_{f-QjcTdtpcS7oMP9()2iCvAf0*s^0ux% z6+HltQwsL3%bO;#MmbgH;m*_KIo8yZ)zuHxd!7tgmW{K7y*d2uByV-cs{HDD(0PqX zEmzjt<|TSn^4AB#+XHqxk8Q6EWA7>z+}Ma6DmIAN+uCW;1s0!&3zcN9b=QTXLU#}A z8FDUVM>sUBU!hto!tP_*07EQvs=yD|16mZ)ze_u%{l=z4N)UV9zj5{2262aih9q zSs>+;EsJ+hVx5K)OiS6B$~=SUbWw|%pO^L%8ffw_)z{@PMWlr9ndrMNW)P$UqkV=? zU$Pe(o0dt2=-7l~S@Sjl?L(K8{ru$@Yp<7$5VNCua<;%MSaLf^(6GmeY80 zG+qHKTMQ@Uk2msbor$^Zr0O=8BMP@KCZP~)7(qsKvBrd_`eb2bRP7J&p3w#ImGIcZ z%t++7{lqQ?Qzl)roDtZ9Ug4N4x-e|Dq0Y_bH*DcF>|1J8|Jru!QUDlVprbgVazS5I zSe>`CH1is%E4VQVgOXeL=v}-W)m^?{?;MI%W8`h-MjZOVV(h}<>FXpX87nXs{ugC$ z9aiPGt`93t0}BKd0SQSZrAu16TUzPvkVXs?M5LvpOS+|(B3%;@CXG^)MwoQ|p6S~A zoW1w)obUS9U+Y@R;(f3*oHn}0pN|C4})(tuk+?|t?y z!sn-nz7p_!dy#!@XEyweoFsL#V~EOm#CJAFVh)6|Z%lTw#cNTC5PUsR8kX$mGT+YP z533{U98@UVPrREFwq0B`++E=xjUC;d#t>;69z+}cabw`F=z&j?<|jmcsnz6>{E4s0{&Zi~PCeh0Qwrj=fxAk7 z%SGC|(j)C+0g5AU@&A{B5Xl7^*??`rHoj+XnBOr*!p zv#&PTcS<*j(uqk-NhNt}4pMkl>$$cX^ueu}U}b<)anp>9CrxNKHT}TB$ z3c+_Ltnh!r3d`5>y}wC7r8Coa6pz_R6fwb7arZeQxeEtwo3^k0q4Laa9A^ zWR*UQN~O3NJrq9Q-{+&hEQAJ!)gFDbYtUHW(G=!ZDOk0NNRHSb337U8!5A-6kFmH8 zEuXo6wuqRs5Vq_zJw9%d&?1tjvp{=q`%!&QzSF{I>|mZ+A#)I-(Gf`{YVBj|H8_no zXX3)W&bL-W)w-=WUrq?j!P{!Dtvr)hH_4gnsO1c2YPvKh4lJ^QlbhR2W1xp%|7puR!}0Zu4;A+HduCW>^XBq!f9XgI zg&$K^qFdbN+N7c6+qzB%99m{S<&Tj}xhB~d$8*Q5bVXr{|@Tfi2E^~|}; zt=}FCqi+m-eR;_gcsuNNW1l;Rwu&PZ`DHjgUc?7CgMm@{ss{fh(C1N<$VU?a#vL236?!&3 zk7;QvRt$NpZZhrGaB_c4sLIH0yHNKlztU&gEwqc-3$2?diSHh>FzW6nRWjI>?L-E2 zed^E$;kyb?3gwY99#^8Q>n*fsuHx$Ok>1(K_pAN*#dl?mzTO|4d5@9)_&nRqN_bWEiyL6pn7Jv4)+HxEGe$@5*wjs4O*VbZ`uR z>ZqE7X08m6k1dgBXmtIx44x_3R?7qpx6E~4OS!r>yU;JgpfkPZ-)X+uS!xrX``?h1za`1oG8o8oG znFR9yg(s{aJ&j58>Tejr6lo1I>;5PzHLN-);rUXh=`XMpeQ%ncdziTKtI2qYaS=}o z7j+DI=A=QL=bl|aJa_Hq59q1z_i*|9fqp3u&Jre&O!nft4dogtdae6Hj6qj^Cc zok3TwZ^V@eW(9tpS9tm~0LzOb=U}Fw8Ju8d*r@T2o%n%9-X*H6s!97H>{o8TBdXQ7 z6u>q^4}-qXLJdRcD?YXs&0|;@?VW?`?wbQ{6GbgVl2*)HwJOU?jZ6H-LWLHGlD8@* zF~h>|*)WAkvFeJ00^i3$)-m?}SQ74d()4nV&bAJFY{K|t;{ulqUIgw)Z4xoJ%_F*l zQr%BHwx3^`?dV;h5Ym$jC1-{%qaPh%S@Y(1H6;&&^W_wR>gwI73gS}BQImj*1NYFz zBVyzdM+Qo7bavwD^p#=Dti*I{RDoh|RgW+|5V2X@-l(V7PKHjqFIS605pWvT{3Fj= zM#4G;+ip=RV!kb6E#~=E^1F2ns9Y+hMz#_WdQ(i#pjt2MvP1Ic84s%zN*G^O7xg|L(e|h^`S>< zB$VzfvWLUdw#anOJ2pA0aXM6(1uG2u!b4!xrGCpOv?Dstnu0~pd$o+FXVNT~tjz-0fp2HH+&sj+ew9I&kVF(ka@kwADo^E$?gI(|^VdZ3PKTluIRy-&I}`ZSw#VHK z(Kq8t&AOa;KbQJdpM9bmz!DjSEU^A|T7Xg6$ES{Zci~*DnNkUl{<5xD98;=U>RTq; z7Ng0JYAsJ8Jo66Q*bH~uKX0CpXZOY$?X_i3-`rn*Ye5o0R{5rPV!rt0SFDuRnkQ%$ z>3r6k${~BL`$7q9vaARD*^TES>Mtwt&A#|%8Ykn~iH$+rFEMqG1AwrSK+$Ekk(K1T z=u-3e3y!6Qg~K=cLQI+f_d)rmo*a?9;o33MUOKwMJl*Z8&PeBzAL115liR4Jt>y0O zC?y-GNxI<)>299$s}!$42$d;{P^MNjFIlCWX6bcula6?d(U7o<}AQ#IQ=5vHxk zezCgqDXN@^)bQjEk9<1kA4lB>OgF4k-*b#Jwg?5@*iX^n%zdXBfd5)o5mWstj$-3h zZ$2`S{F8)YzjfL1sYiy+MEWja&zlc_aJ)^J>z0qx#ErA|e6M9^+JOL^*x{j(S(?(s)xqnMo~s|Xsvj*LiD%O> zTpA(f$Cw5TUJ1q}q-zBu&egH0Qs5QDDkOUol-XHWXsWNsfk!MNn>|_g7pBHEODoen zM4tln7UhXmO?e{`N=e)SB{Zn769#%wH(%hXS*x$1R*%mUHluF7Sv6kC!nHDDyC|t$ zFHU>Lt5l|A#K=^Sw2~QgFD_zUEfvc2??pWdrc8#`@=t@{?N_!5@n2WVA6Zyrz{bM6 z3DirpiIL{%Y~@Vvke0-2I?xlHm!dMeZ7|$>lUXMcgr(xEGYy2ohFFa4o)j9l!9}{V zwK^^k@oXd!ccg2w?v7pex@WH0!EIaLU#aLe%J_9V7Pp4I!50(zPxotgE-@2+4D=WO zkzFs)0ji!ssl}!pH_>(SdMGRQ^B-eiLqv0Qc`+Ro)+;e@d#Zi^n&O~>s5LNmti>z# z`)k2Hi>Tq5dT_#=?@8*I!nxiULtj2;ThtD}@0yB@q#a9BZ8sPaoOxhj3iRazpDFpF3u)gwi6x{K_@zjVu}jes;LIG zRkOi}#Hh(7sjBV2g7@SU`>%J zNdU{-;XJMTc|PG0G;QTAZ42%(^z9wV0s+EWOIGPjGxx!KZ=(pGe55WpQTx*z$Ir9$ z)OQWMR?53wTcwebRQH8n-O~tAl%ty$bMC=J(c^2-&GQxvm|Pv(7r!dd@g(P%vZLXj zSOBNYgWET0#BFD_Y;7MtW_M}c6Z)nXPp6o0cYE9{fWY0)O(qvM!rEiQ(v==@2$GbA zr67@_43d)5W6bl%^pltQ&qn4t;(*QpruGT-j#tk|d!0|SwNIMox2T(qGBj-&<O zVUop44DLuGwInnKzvkBT)dCT1pr!?8aF+vC4y63L&)1Yb5?&r(ueRg(kWCi<-H>-dV z)z$XRKTp+_Z4pM;34T9zg8vt@C@?OTVo?%s7qiF8jgvZ5aH?A3>YN$el>~wi2?lF* zF{(a7N@oy%XO+;uj@SqxQ2NDKj=AD>R%H`sY^Qwmts4EExwm$Rao{Gidv03LUvdH3 zZkhcQ8Hd^1nTR6zbYGkE>nzik-pL~e+;I1;9$=BoDLnV$zk=@keRPW|$nd?e(pG9o;#6%KIC>Yab){@AIL{(zChpKyy6LlHAuPwq92u}M?#xS#K@@g5ewy;ZIDT7ac+ z$GJjp#oe6^LyS!18#`QyviWN*aNi(r3}fQ=j?Cdkktvgywso+6f?iF1UwxltW~TYB%yq>HxDridDZxg(BpK14;07EXa zw40wXtDD$7;SLzM=}Yp~!Sz(~t2}15`{Y*iJ+GlBfqdcCKquQM_&j;MU6~roytVt~ zPGGyB-{;cDWbV)H3x_G8N@pTkt}MM>G!1F_FV^}osw<=AF<>~SU2G(w$ZcLDx-%!& zM`IzNS*R;DN-E%+JQkbm>TE!3G0s`Sab|J<{>p5J&>}6B6@@`~M9>V%(66rao~EJU znn?h+&q0$lwKVUT#9Da7+H_EiQ}1g zYCNZRd#0jo4-~?(7OzLlKb8wijyR?c^Ij{jozVS&5yOwAo#g9eoi@H6dnPTMT$EUI|G?ZF?tK_R(bx3rm;#-ACrA(bK18*K5r~Uw@+J=Plpg8*Zld zX8(1WJJ7oCVcj;rXnO!GnQ&~8=MnOK%0rwulB#^pYf|;ylJonex7r+Y0(TBrP8&Ge zAk2^0R>7iKkmEjV{L!R_<)s+1z%GrKwt}HpIZqhh#Y71XFO|lOzY}yj=*AtXKej-5 zzuMG2vyJCi{_a39@t`iF{$pg?c!iH`i65uUV%)8U?efA5ZbFy1?y3P2P+TwXW}5yp zJn=65vmrn;<03Cg(ON_`t3RHAnufi0!uP;-535$hGwu>mb~GpCw0)(r{q*DzB~K`E zSd;qM0pREGQf=tk*U>VN)@00FiEntH=IimY?C6lN>Lhw{)}(iU8$_%UsFkdB!9>dC z;e5@69<|cplUf_hv2f`Ks`>;NO4F~0+z#E|k8}rLB9cQJ2X=4;uF@(A@+-`BC&tr0 zBGS35askPp94hEEDMC;tKx$ckg+D}4dRw*hOKPR)U?)#pd5e#(6YEvG;jU=ovDnxZ zrqq`osyRZdc$O3-)dUF3+HU2Oa=N`D6PPYFp}g(z@IKBh?1;Rl=G?wK zyvcz@Woay6EFrMZ(?P%BR_%H!#7m2k}JxciNUYPslI`f2(x zy3B-}Y)2-8TAH9oL@YVQR-MQc%)JbR#%e3PyXW@lNu7l}7G$ zhpt{W^b~4!_jO4+v%+*pQYnk?S+HKiRm68Pg2vyeYHpPrQA}Cxw9_=ut~~sfiB(Qp ziC>P{KQS22#I*Igofx1kBDNGbmPUO%x*VCMk%e`ewFyEl{%C@e#xlN=wc{gNL*o3W zf49Q2Ov~37MnY$UFp3dXJ>9LI-aU0*ZT9vaBGrDSS(x4C9^nX5DgC>CaSzz&Urm$t zM9WEzGv(L!R{zL(cu=z{+!NumlQp*8E1ZrT`<(t?Y(X##nQd+)rb{$1x-n` z0lTEH@0SbO8>?bf%S7~Tx+lAfEK1zsYTef39{L^QYgfpV+zR#fI+_y}S9i|l2&jC< zxeEB^y*=8b3nZEWiWrYH_1}H9;w7y@j@tt={&1P`6*`81FBVJR=HKFw|2cM3RzMg* zWAC2Gk_mWU?I*N18m@g#t3^5*@;PkfZp_9-@uilu(c}*&fvTkveeNa}mJ?^Gg?A&F z^`OI=-S1Gtsek^Y(&vM(onZ4~MrI@C*IewVPkeunKcle-X`D#jZog<;a@|tf>r7AgFQZU; z23(!d%@K7T(wA;YZs&Tj7pt6}+aGV3?N3H_gpb!Vmy3L2@;+m``j*DXWO4684arD@nz@LCr*-Mpm=D}fH&w*bq30ZC zc>aiHp3~+s%%?Dk6m=!}MEt@dh0X_Kgfmi9bT@bK?$vf{`^H9h@iAKrGB-FE9gG>x zupV8LLPGf)Dm{j_s4?8(x@W=7Ub>r0OIUWXJ5-SOo)q_BOJR-E)99i+V>|}ZgDB@p z>u)&}6g-{R3c8+S0SlFD_O3OO{-=-R?S z6S-rbEn>2K*qT@J<8h^-UYuoPSuV=e`HB{<=bl%vQ^CUiuCZSn%?a14f#oEU?asHa zfhh!>Qm%iGfoA?O29icD#OBgS0+soj_8q!EXBFv$cWV&(cBgetqa%`8>laC4ceJfz z9omLVe#N#3mU4{}xB%)#;-y)HsYeHD>0v2_yTQ@BT8GJpO3$>7Tj@oU)^o2pef!0j zKFjFmIQTqfKEXbv^HHrNxrbNzTk@iKYLTTBr}B&6JV{*|mU}b1?gHwip}fvQasqOL zCyjIqtoA3n7omx7YR5<`%E+hd4TcsWOt#<5Z@d?_wQ9fi67#0bH#UByC5F}TPN|t- zL>qg)>PBa*Qd?z1T}&vb+%W>W!^QLwL)|i}vhQ5}?MCO|wl7}v8 zDBBXas2Yf?bm6Vc5M;aIj$BZl6mWPPeM@UX!($$IvJopg2BPObIc;uH_w?w+0MdzCK9|Y%wf5u zTR^^9tI~=8x%;{}qrNEs`?(Bdf^XvTTXKj!_|F*gciYO65}BHlW7z@n1sMeeiX&x~ zgfg9y;UVJwgZ^+D4n97WWT~5>s@mEXZdLK|+6!uDxDWEnwA8$$Uv?Lle5rTx_N$js zIZ?F^Eed^wh7Iy=7Cd)>48`G2euTkf)Qg)}om5iKK;N}z^c9ge>uH^i*^b+`m4xM| z@@)Y{vcaBXL5-cml@P~pgKE!p78*M1==pU*yNI9Y;|KK5%d}}mn#%y&`6ZBI(Ignu z+q~Cr@Xfq`wh=>r%s>}WE+m90RBA&SzjH~qC~RcGfWnn&+kno*x6!%-7LQUHsXBis z^yy^1W&utt$WUmLp!8XlZE^5~oHoXgLlLf!dK%pQSYo`69Xt{y#u(PF@ceec6O{@I z$YvthkeW^xuETUCK{{7BJiV5pz_)Kb^#1%3VBHT`uB^s71$Xb65rF%Mt72#`!3EEW zyO~-A98E}BEp3{4moBZoREht4I9fIYt%;jQPHxca3~R~_Umj38(yt#(eVKqV&r)8o znwvI{@ukwbvdl6%=p$%PN*93vW42f|yRT>P`Fpsc zdWIP3Q<>qnx!^vZ`fH|brvsTH#b;CktpFeIW5z;LQw!__xMb9BJY#3alh1iIW?|R> zU&pLHGAA~0e|vnABi<$O9a(~#M#3OdciflZcM24!PNWnC*F&9(u{f>?pCRoW1x*V9 z17`c?2BTSqto?WT?(dtMBgjtI=mD3ysVkR=B47Ih1kKNf+tKGsOwiCa8?|*= zsR)K4YKffNa7w&|TdSB98 z5l8>s1m;;7$gn+^BA{Dp=KWib^JJakBrNKuN8=pp%<^bvTWa81_=4JM82D5H5i}U9 zD&V}&4-NjN3n=ph$5&XvR(62p$`h~riq?t=u5eyIU1PG37gwjHSZRBb9@P_8TUXD(^q);f^&S7SEBpN92ii@Jq@tZkw>A|YtZP8Jam*fw2l|8nH z`HUV~7W$46XOzp|kr_4lG+1Kb4df0bhexP$6QB(XLd_GHNEy# z5c%aBIE2}Bxci$aXPlbr&=Yk|2n%L)7TkTM2>Q8i4y&}rI54_r%O}{(>=|scXFZ4o z(eCdR2KSabAf8;i^X7aHDCNK8Lzp`R3it5YgA;nQ(No1j9- ztV7N319!`t-rJT@AX2D(Z)ego1gj7MgXS3ZJmLT>G)b8e@ku7Y%`gIc!KSXAKDHjK z>#I*O9*p#qK^ma;8$XqeY`>xGbcS{X=9ldJT*>=iSDO`)rygxK(D9NtD{M{*A zBfTmo)26c)As|crJ%((n5nnnSk-r{)xy@js2+%{kTwbN9Cp63BZc87j)p9ovk&U74 zY{Go1{9wBkmMGx1NZAon_&zO^WXdFNQ2ZsjVr8VgW{su$0&4a6aGyQ2a?(wgzN5_0 zY~H*0RjiVGqO2?u94S(V6G%x&Xyn~A0HdICKP6<7K)MvMk}!F!WVKBYk=hDH!}naj z_?6cv&oSObvAuQ2#**|oZ>MNfJMfFvmR`1E#lL8xM7TiO&_#25E>PKwJish~d$!*F z$6vR@h7YqB(L`?@3f91I;6N2ucTMu=@e?&wl=%D4;5e_GdKvNQw*q#LBcIf3guY^R z*`KLH%J~QaYSF+O$*xA~0YXc)mu5;&)3@2b6PEULwOryegr=sMcKv3FVMl*q!@Y)j z$ArtHet22+6<%|(=Iz+Ri2mbKqY18L+Y?8yy4z7Yady(lJX&2)#gR z37>qX#nI?dLVQV*e7-HfxWDfYeZmup1es4pIdB)a4YTUJ4L3u(oDtvdZvOmGYq}*U z&D*Rx5@Y!n2UKNnby}t-(wWS>Vbq5F6jEXtlk6HTKWAF`K^@Y`uUG&`kBP@NVgB0( z<<%^`d5?@VcPOdDON z^ex1=ZH~nX;!1fVPFE{?6r$}tTsUO@(51EQYChElKs=nkErQ4` z@08P;(81hywkvbNE&7vhttV<@*w;5#YW$LmUnIgDqi7~O<{=K4Au?*QvgJU(`=7mo zxKxPzcm7e+^m;r?0}F&j z7$+{WdLCB%=|Zn$F#;eNM5JeCJFrG3-ZqwezBrcQ$K>?-C~G&!L*t+vq0>0UnRzR8)H=m+mh1KB|wp? zjQ9@ug>Op9;3xV|QNaRz0eb&`U^Ctc-}02Fg)OA6NGkg0%TxV>2qeGu6jix;zI(GC zffWv2=RDT>duEgMDVZ6eevick2ujW4a*%?@`5cE!)cW>~`?l9(KDyLudqpeMQc zdn&6}U&>c?8T#H+Vm*53X18-?PqStJul}O-jWzT3iH$|4;iA1u*t5(Yy4SQc@TJCD zm~htN7t5%OPe-9?(9@1(h6*A+Cy#2~wGeTaV!!65wuynrIH#v_UXD>PW)SSsM}{CJUGWDS2+k>t+*vQ`Nq z!!+}Wcvcq#KR5fLU&Cm{QOmcD&rpha)Fy12LVxYL3T|~bK}zryhmMMTlcSQKid;}e zQE1`vzgb`P7?msW#Sk@J1)%v?kHn_l^(uchFfnQh38vv}}tFl2(*zG)pHGmezl8>%_1BnwAK-+Vd_B`vC0<@cYJqTId6RFJ4U&@yrOj zCUS2#>|p2T{cU#lujlA*=-73oWHS&Fi816~!{u{o|2lQ=$S@?tR;S$+@8lbdNsR_r zL?`ze7-s`c3uffx+~bsjXSoc|a{qgu8a$hzvqbt!>@PBV_$D7#P8%2dFyYupQso@+ zy%i{W{2brTKHCLdh?bUW9WQWD9gH>A`yB%QySVsA$uUc#Oh~Z#-ZH6O!}(?hE4i1F z=TQSn9CKK!AU9mQ5#zC>Rf?#y9p^6jyNB9nmb~kFVKp z!Sg*%xcd^(MS^`};O0U?Py&7o3jo7E+$s+ZC!uqseG9?nE8PnRO6AkALO1*kO!YyD zYWM~F?LVhTk1o&{1o%3MUD|W78b#jMsTij6tJ&qkWwKLk|W$1kOfj+EFkYB$(C zo!FO&Om5h93f|oHV{M;ft$aa#fQ=1x{AJOM^$oe%Z)NG`k#}=$fj6v+w8OoeSBS*$ zH&mS>u!d)zq~gaWYoEcc5rN!a(l+485^<2^%~9+~@Tde9lHOYA^*Njfk0el9g%=|DySD>l$J!sW8ML#DIs~i|wyKTAb_pWwbrSySA zzuEACy+EMdQn03>bbRqz8&Xg}E_cZwn-6!tKLgFLU9@(Dwi@1Tib>%kA1Y6jC*8Nr z5(2}Dx9UvK;6-qMsVd*Vlpfy(PvO#vbWw8SuU=QIuPM{vcLi*t;-|m0yqB^{6!lUDuFs zCl}>&_rwu(zlYtG>|IoDXf-yMWyIcw_e7I^Nrk;4*Ue@1Q<*7tuB&0ZD|&LI7gi@= zu4PauW3p>Z6>-e7pT3bcIg|dftqE5^TTaE4U;cERIHP6qmj*{OCRxOKk)^d zF4u;dR61guFNN?uoGCe`ay2Aef1|-@Yc;CMU9g*>HYpb%WP!T6apHSOHe9UFnAI8N zN;*49;U)gj$6i4(iH>j+YX~;i8Jl`C>o1Z3?>n7N<_Fc&I!9K^22l1{C`PSp_QnYJ z+rVJ+lcU93TrADf3buEa+ad!AFM*51dOsh604oiAt^fTZ<@;ncK_A4QI1@v(-#vLgT_)n}384_Ap9Hs-9tM0aL5Z$1q0op(2EH^-~oxqa~NAow=BPP*&! zR%>@JIiz9kBo$ub5l_|QlSI=W`hGFhO9riW)PiM{-I+OPE{ z@9DkDA#+1-2BO-EM9jCle2)skpV!f+iQKfv-^}r58Ev!QP|P%}jmzJEewK<( z?U4&Z9>ZgHMO{TaTl@?T`J=UaK~j}7hxCGLU?Jo2O;za`bqbGfXIrJ z>~m}cm4ybpKKs`=8`ubRS&5?Jl)=Dezm%#DOO-*8F7&6D_ZML%kWT-v9n3)iQIZyJ zf*5x@^;Z)GHI)~}OS*3I9rtc2`t)?RXPQR6(JCM!b_umN++!Dwmo->F{;yc^kV6cH zQ+N;OPrCwC`nM_#=#RABoe}#*2Epb>D9^f>b(y z-1&7Y>o#GP#jDozlP!JHC$ttdU&1*=N55`!$o-Di3ur^rR~67SfS(tks6lO?1h#ESHiH+!3|5VX!qE zG)!N$rs_bwIdq9@RSR}b1rOK;7c=4ET($T-PsTypNI$>jD<0c*T-u@7n0+t6Q46aU z?LCtgp1c)ZxnCG5UMew6oEBu8`~B9uFv&3>wiDz(@K+8kqdD&>r(Q-g7EC&IN^Av0%@<`lTafR#gRFozu!J8sa_bI z9nvn7a?7v!ZFCi}(k>3%dgcu(&jV8vCFGTLbM@T7p`RRHTqR#io)6&Z7;*IAy>G3tTqZL=iUo|Vg!U1D<>GR?gijk+4*B@EFG31$!9xuUf8+J8l||YL$H~AviWP$ zEZ+8_;?nl0J*&WSk@y!U-?K0-r3I;V(fR#Nyb~*JKL$}&z0dbIt)B&zONq>S6h6l= zpl%f8mT%R6J$9TPLnr0dMLhApHtB)ZcWNdUzNB2T9kjW0@_dAplls*k_sQSKI@muD zF`j=x=Q?aASqR(u7we`LC7DJ2R;&##C3aO|Noz}s*<6HWiMSQK1XP<8S58>#cg5<# zW87$6KwCGL%Xul@zWyH8o3IwsEl{ub$>UJ;=5w#ZCbPGPz@L&hiJc~$+uaD$0&Z^5@g*+=nV;&x z8i+~Apu);R8wSxy>!|Ieq&@TFe($48UgMenBT&#>y;ps}m&RN?YLEO`+3vwfk#(t}&V(7*?J zEJ$v=V-XamBtw9HF#|xhE|b|{jceD)uWcijN1Dd?n#S>tw4(js@#U%`ZeV)$(OVRU z-6{zuCAbd9h0A-w%!i#3ESR4G9PF0LcIrqblX=IJDT571vND z3SQu=#LrXk_|A8LN&krV`ZK7YK!}M_1%ZSA8e~>nm_95ZaNf`*59iCZIp}L?5zSvE z^2Og|k@n- znJJhDbhGNnRh_L7^l$5#WQagdka)_69Ce2^AESAw{$u}TOrxgO;p>Yz$QE>(U%);`HQku5kuUTSD(_~Z}f2F(nl zHyYmrpPKY)l8E#DeK|o(quvi!JcR#u9rWKB3WHQ~6BL>i505fH=x!r@MbO?$X3+ka zYE$;$@3QfZXy7?%i3`_dz_EhrS(NgFi?}*9C%e<3vp`63GRXw}bponXD=vKHYjM=^ zr_fxQ2!t&CUvzp4m(y&XEc9ihRvO`X*)$w&mo#1#c#+QnlJBX0yMYG683n?E6bqpV zU&%AJe{YL{J*@~ahZofNTRUw(Q>6{_ReeuI)%OwrvyWl~EKp@g^s-hHW7Z>GuS0KhW>q zl2YN)S}jI#XcnD!q`Gf@gxL?BIt&~m*r#1q2Wh*O&>hF0pEbmp!3F+4!NR1dqUG{16n*yBBBT zCl51k!vqq0nJ6d1rf$QTc-UefH3&>y`Nj{&{gic6pHzA~Zabbc1q96*1kA8Zx+ z9m#!sI)w|uDOw2)J-pMGhe3}$@x%|S=+G^&78!3>EyDtux_RhYoc_E;uuOk@nV6l1 z!_CJA)X@~1)p&?PW`TIpy@0YCEhr470N4B2q4A#KmC+tDr`9_g&nXTm*YrMDy@=yw z5dAAqL>ro;pclk&XV7%5Fp&FdqeMhdk9OrYMGciK;*!uQV2~-1} zx^#DRMOOD(o0w2fuEGfEY?E%`t+5r4C^nyY z=O!RD{5Ckw%gK@P#ftv}D~rKzufuRgN_ao)I||hSppbjmdDgt`8rXd{bbwLg5~F+k zhmi`~_BVvU2`9@?)oe#`R9 zP0y$DZ-%()C-}U5wGx_R?`GIt|ClO?Zo%`PyTrI7(e@z^muY8i_6N&0?i;ICn%J0(fuhdqpxXUmNr`2neGXgs z1YWk>j}=*8OOCaK4Hq7Hf?}(5+x`&vIB>9+*5sjvHl5eO$$JKj2D-m<__!|(c3sQU zm=`)Z#F#D*6$4bFhSzBOuV-fxh02cszAtEM?V~u&QS2GDMVd99)oi=JLs(rmA{xMA z#-;WB}m4xoUm-6^Med>LMN}{J)l}Qu^bdQJ**uWyzu2H zQMtZalJjbK*P~Ik^{tgrE%o%lTae3K^9k{{X`lF;p)sFOLo!TN9P_}Y`To;ikI_;U z!0{a<<+6%=3%1cxk{sH}3i7KB7)OT~So(^eH>+)jN5=yV1-zBCI)gHqu=PdzwI2sD z?ZsK<{}#SW};Juri7_?|j)Xh!(?>Gt;_S*#%;gfSC#39zV{XdBB2G-EZWa>^KkDEIC`9($3Y z7q|6_QYi%pyRUAHSQnlRPhQ!tm|3P5we}zkJ#J`MW#Aaq{!lkJDJL}ecBTEtxclUd z-yBu@p`w(>qa#VW(cHud3QUrx+|6GPHegJP2lov&c&u;Zs9b|PnjyTmEDb#YxuXow zA`+IBZ{ufkLBJ^Io*v+vfX}5#pZGOx3S<97(ttJqxb6aF6)D2JT$5Y#lNC&PlSD^T zL=EqC?W$<|_3u;-9|=YrC$e&s)uVgUKvhApVir8fl8W@CL7Po?)~fJwpPQs*d@dMY zntOHg$bmnceZs4%W0dqF|M~4nH(}ouP!;v+QvR)!Him#K#%^l!KdOaf7i^184lnp7 zHZw?%@dx|Nc-rb~#&%Vf+#fdi1mw!vnt>mEi_J}FZFJSi7?<^(9*HO(v2ZQ4gmoRRWKgIVa5nWYc^Y=t^CG-I@gmf9jxk9m2@+|57_L`!yhl*R z%ya_(HhAP|pY)%#=sm@!iF zPcKhRHmG;VvxD{0-xHGG8EtYjT)1MHw z_Frd4@3NC}R1c>GhUL1Zy}8WsB}?GHL;W-F*!YkSxm-4PP$qtZEziwBAKg?S08BaR zvu%*8@}THJXVAr22i2bW%#3r7Agb-A{yZ2GG6;ILwF3D)4AfWjuJX@QW>E-^X{Ra} z($U?hSYH0V`e=D*X=!OT*8JnO6{(&9eknIIi$celX;q7{2YAoK5JN8*AKslnLmOu{ z@!JG|cVoU4y}ox2$Gbb|w3EC(cBL~N2vJvHr4`<2(OJ~cvWgCS@ATJsxuef-0!Jy0 znj{xt^Kcq)57aEIpnOh$$*Eq&qwUM;#y(k0v(f5{%pM|Yk@$^L^PX-K7dN?Hx?>=! z2C+NtWce-qjLF~wDWUFwkIOGFz53tH>~?ewyoD*CTXb z@^Xb;=mf)8fqE~gRWT`s6qG^ZccK8X=mrB{Br;T>azH? zPFZ}`JZdvs#pkO0K5xghB;RfQ2H(1V2)XDBig2HhNzqwQU$g$sps^Gx^!&Cccn>pm zN6;xS$X2*jrX)p`Um?tWGf9KE3q1Hz>CxCvE9+h%YQ{R?2P2s`D1_Ck_ijPEe;)n0 zf6XLH1uL*8GK>4`NNyJG4^rFz*15S3W8~^bM!)q4l>PmIc%(mOopvt|0)U!X=ZCNx zVHf@5u2?|3$)o^>;I$P7P`;E7L9_UGfpKw`IZfCNiH!jtwNpYq=b;0!G59=%Hzk3+@D*GQe@MR(qk^Fs5stFVgzbE6SQtw=jZ*!Q*Yo1d$ z;KO({Dv@)nRAq2ED`-9G^nO*m=0APxZ7hr?k7>6E2?>b}Tq&Uo{xl);)tbp|oDwrT z_ww6Klcs_ixd79?e|v_-h%RCi6f+WQ-p4v8 z*Z4H_-Uxr*wdW3#!0yn;&o8tX_*B8ZYjCTu%r8XUxRJWmuzG8G8zX2QgCWTp6#Pe8 zs;GiF*(-P{jr?gy{~cRwD$C$_pQy_0Z~h0$jq)}&SdC?$g-`oe4AxMUahO!CX1OF- z@9EE%in?*V%{C8*<99{vNf%jK=DdGNkig|h;NmbBnJ0)7SH~w!H$Ot%`1%h1TL`>g zc$+jX?lH3TwXL+s8F8dK2zl_dzTR~H^8SuEP0}M%Uuj}>Y3?JE6!)obZ>EkrpO`O} zap=8jTeO_waR1iJl$N;$Ed#!Qa^}d`9*HyOue#7wcuyrTH!LLHUM>L*PNzld1BM^O zr@Nx3gTjVD$$*csl|fM|7B0+8Ikx9i747!P71i+`)Ue zOz{i^u13)^D=l^?^5+Wjg~Hg9qaLpxQ+o9LHl}VEa{kg1^-Vs}$dMO>4n0J_P*w%51?Us*unMYtWfZ1C5Cs8lV0D$lvj?wmbiiwzrO}s{OV{ z1-Hsplrm95QVEfi4(S#YkXGpy5R?uBklu77DJ|V$(XD`#ARPiq=_c=7;QJo+e9yh- z_qq4}6Z1C6k zvOzS5|Jn+-&4ENkd)u}ZuSFJ6!SXV5iQPorJs%Za2Ns{UDl4JIvhjj~OJ~>}S@PSo zM^3jt2mI~~^4~B>X!OPIeuyUuDi&gPg45PG)0HfK$Z+%3qydZ4px<2>I@eB+cx$eg ztLXDfrDT0zY?GD?T*|~*g>c$@4PF$G0;ZRMIqaJ2_N5CAP)~?F75B9Oi81S!T1d$H zUVqaXEH*n+!^U}2-hEy&Gd*w=jNVD904Z>C^n;@McUtBpDO|WJ>|yvoV@VzT#R@o! zixp%2QDm_^v}S>@Gz)D!)B)kJVY-%?ia96pl+kImt~X$4Ae~~^Q>(Hshq3QjTrZXm z*~lIa7$Kl+3#5Q%XD96FV}c2fBjooBB+fKXl$-anrCXfBESNWe26GQ)_EOl-5%5;C zNma5tMZc~9XEUev(tEH{78f-JAM9HE7;o_HP@i?%jwXUD>XoB6iUQsDdNg~8He@+Y z=_k<*b|#!$in~op1W4SgLJ+9V=heU53Mh{v2vlh2XR@5RqR_VA5JZ|~=r3uZPjDs` zZ!IFC_E;z}V*%Ki5bHRX0W`xABge&0`L=#aou^RU;*^)qYnbPvbgwB{xPs%bkwVh| zHGFy}+jj3{T8R2Z{C4sg`u}JFWG#+kvu=6L<}J~Rod4p`9?KJe`r1DCH9S<_LDT+9 zD0BeTA_5e!wQ71yAb9q+C)da7l)DRR@AdqZ3OS~IMH4h@oE_-i7LJ&MGMTiHd@qoh z-HzhIC)u>*d8+EW&Ti73BKOtaA*9U#!b}v;Y*(@uwa5GmJ5IVb;)RE04&QmQI{i|{ zu~SoqT^&}ylVd_VzRgmWa>_uWZRERlI$nFg%w}6^6Q3AiRvBU8QdJG3t&t;wl#=%E zjUKT?@tZe4gcqCj$!KfGfzpx=lb?Yau680o%!CYjvum3@jx5qUtqt8Q84e%Z7RTkT zmxzw;ZHhTIf~nnJFaUA+{b~C$*>EOenwhio9=Xbr|EwmjROf4TC1TvWcvWywAnwXY z0pMmFP=@Z_uh0?M2JTy7+1Qt291@=PKP*yosM|B~El`?2^mLM}FM{K)E4^G~5Ut3O z$x&KRwYMVJFS=_t^Ns+(KM*kU$elI~apBcX&>?=Hr>7_3tUBxX^V^qzcf)%KP_${voLPCHucvz|V*ZZF)=TC$f%@u)_ErUiPgRO? zbFGAD{#l`4i{*yPteSm0U)<_@{|nJ0KtjsWWZ&|v*_bn%^uM;Frog=uDK(H1+)NU= zk?u9YH-gReJ8Mk~6CKkZ;}JuZoA-6dI0>jkH>Ui&KS24OS9?Xgs0l$71yhHxjOr^& zKE_qh(qbKn{|@4XRsix19@6_R`(OJUNzDp1O8FQ-*%{PF&k(0=mjU8kEMPcewn@ic zB&Z9M5u3q{oiBuSfLZ+fcgN8>k0iOF?b#8>p9UsZRNZ?^hAd9ciOvV1D~R)6E&ph; zE9R)zIwCtRX#w@S{mlTwb(Tm%_^yflb+qaN5v_{Qwn?TRw1K-ieC`j*W5cbbxYiXl z2!2g3nkDM*QwA~N>c8`OCWjOYJa={lk+);1S$&?ZJxJrWvr@!x{@hy+VMIgL zz()aT%W_)jzpV+C)U2jjLKBiO-bJ}KiF;gc3e@PP?-ekgF&(iA zhYVEn1lPIrhCm7y7_=M#!`N%WM#B?_w+H&uipkn6E#4VC#J3m1#rj@X9wkJAs*~-HgysOQ zD+-JfmkL_ims?iagDpxej$j$6J3kgFxC$+*s#mOT|Mqs*D3lC(wMs4Hvb8H!=jP^8 zU~uvGd4LAY>xT#lr<_7A@c8{A3*ipT#xCI!& z6RJWd>MuW6hAW{Eec`=%r$jN(n|o4BYoN~pV#?gywtimbu~o{D8Ymu@90|LpJL|f( z))DNAi`>&fKKH3dSF8YWY&?g;Nj~ZRr)olOu%<#$^WUN{@>3hAvKKNuN8}J3Yz)GQ z#<=E(Px&)Fc>0p7wjXsu;LxpXM0Ck{wF#f~G_LuZ_ntiW>0`JoF#hMS9loOYdJdEW z+S)7Xt;Qh6eGxXahZPp_TF#$KaBFEPJ*_eAl&2ACP>+Wc$E%TtsJ4}y_~RjjEsz&% zb6_#~2qVb8B(tG#iSDppB21GyD!!L~(R>i0R)J~d6*BbUci$@jCi)aSy+DYlg^3<= zfJZQiqJkTU#-n_dseI;a?_6e0DZi57_JQB2$vbYT8pBE;w*MVI!@vJD?5}S^sSSiN zw5R%bLwhRG2Vp`L1*j1Hq~qSpuE%589c3tB1Fp86BccxhoYEA11_oue9RU|~_YOwn zVE(};d|*|S4#3PyVT`;!?Jd3glJ4z2h3Ib~pnE?Qhj|+ZCz7xpM=4FBKH)#N^4#Y} zYIu^@~8L(1}as z0W=Qw-pBW@S$Iv(KQlDp|1V#246$l$eg)O^0$^xTsg0B5PU7TJ`$V7c+}F0A0W5r1 z`gfKCu74?HxFNKmQXy@q?>Gp>!bspV*PsLT(!u|emlj~QA(QLSqGeUirIwC8bq~ST z2XI7@l|J^z)`H1z|MN3qTREy!H5F=s15zKqn67xBU zp0H=SZiZS`(O2up2X-}SztDLpVxy;#d!Mt8aCGxbFYceWw#NhH{316wVazB>!ngP2~OO9rb~#@AYb{3NiI0FXrEl_p8V@F8)9GzMxi_@{8|= z`;iwZV*P&qi*S4=9$k^Cs+whXMB;~^V8Lopquo^j+pu?1u%)b3y%8DZ0Tfbqy}QTx z{TGabPwH_?y7N4jdC=x!48ySz$H5m>dVORm`QP;s{{trV<#@k@`!V#}Fvt30dc312 zREIX(+Yw_!a8Q}z7up(1ko~b($s5=ay;js3iPcw#qCQMP_xLawX042mJdZ8S^ITsd zK;w<&V;>oxQI7lCsDr14bVv#1s628^RV8l4jKKZac1|D_Nhc7X6Cw>ELci_UvRc8^ zW8*Q}y6Lb-4j(jEQPD9m;vM6NxB~`w&hWkTI9-0Cw~i*l+FMJq880GjPd1yVkEF+J z*Y|Jm|Drhv89h$R%gbv5cfbe^*4;2tK#I4Ih1IHTCt7NN&Ht=Y*~0{vy>4Uzx799F zhnX*ulaUD*X1zP7Zs0idW*Z%S-eKe6+?;`X5ZU>pcC@u>}i6T`Tbpp*t zy=UnZYjmHT5MZFbYNolO>%g4lmQ$(Uq}&ntJS=gT)p#(0i__pe`DJG{u;ZUhksT!b zB(t{+(7fQBJ)2<<;k<8gh<(`@!p0fq4rNWz9R?5te~^P%g|r!7LzU%*mz*v;5ni9y zYi3K9v39EN=fxm$+@EEjO+<7?ciI@GUq=cMc?M zm+8hXmV8xbQSm&%{#jX-jQGLj)tARS?m+xIid=i3p1P589B%?r;I^Y4!W_Ua`aaXU zl_R#z!<$)Vd<55;5Vq@u(Anf66z!|+b-qS-k0Y|_3fj0KV=njZ+&cMJ)jbFgHv>>0o5&^+KJ_6d1L&|6aVpju zTXo8X861l3SNe{^pdQ4?w@z&@RC6L-64CLdhzez)U4S|;0Fl?dH2>JyNeT3{Z|+@< zqw-Ka=HO*e#eqopAKd~#P9mX;@qRR9oyv(mTJsS zw7!J)F(a@e>HhSn0F3#Y*hz{EUE}$&uIG4HFVTlPUoX(r0*7aIL%}G{DR5kifQC&f z_=bK4cVQH>XOx0z?131O@5~1fiQ9*p3&`C(Ty8YcMdUr_cuHHW=*iZ5(w7Ff&N>;B z{dw{E)TNI9b;4IlpIl?yVfz8~0Dc?eM8_&c z{3kxw{|eH?qLeDcMe_0ndSM=j&8~zpSBF7d=SyzI~1_qzLMkE2B{b#V*XIXr2@2wZ{+VsYpqDiT__Q zWItxpl1SyCEF^Nfzo*N~t49Ta;StQ*Y>H9pXXbWlYS@U><#X*g6$34qma?7p+ni=X zMAWumuM=3{-317#cG36%t^+z-t6cen!0HX`w9qa(BN7j26`-o+NF=Uh0ErM+ahZA) zg%rknQ@)L-@7*qn2OOAPr&iAjcmPKxL7~p8F|lIBJ9Rlj$%agNKlyxh=d~Hz5A5^- zrBu|$+O7wbx@#OH8-B2;@M7_iV%)zeJmE`Ia2W^X2Pl&)ypykK&R)#iM2+i|qR1`A45sk^+m8oGeAoaB+ z*PrsUVp&Q~;v$7$qJT3sYxaiq&k{Cm!DF~D`<&lR&)xu)>+x&`nV<5F@xi1k+-KhV zwU>cGK3CKWu>WehJkEI{&me<%)h|lXP@s7KdY{N{{V=K3jod++Q6<5NjBkhY`j%XO zR4#i7ZHa8G&W2>yWpYRFeYxB*@i(2IVuFgeAcJTfC>G!A=8~eq4NgL7Ko;h>eRcQldcS}?-0O`5EuKDt?0P+s9{`PS!FC%n z0<#qoZ%8{0)h|a z(){YVVCIdS+rTbJS#0V@59wgz-FC2Sz-{$|xWYI3{Lu(6_uR>Zoz?VZ7@ONzTCZ{XDb4DX;^L>1x zFl*6(nd(j}E%7L?GL>*9be|d^JSSI?kMY_4oa^_%0x^b)9%(OxM0zrKHn642fyDur z|K7K|z~x;Ge#>0)y6D|GFn9fa{&HVqt%NyOf6{Q^KQUq2i#OoIz#otnT=&%j&6PV6jABS#-1;>IoR7WCi?7YDfx141|3|8(e>p=>|Jn*r*-VJe|1UU|7bebII#H$&v(;^;|=U+jVeBn;zoB zG1mX;?&DZw+(eb*C+o_-q~N;gwitTQcmZ6&;K`P_&%$oqW7^zfNOq2iTC<(u2 zKP|Z0sN%WK3#RjJOilgXl?+F+9&Cc+uzreBn5Tt07BL^r%vy+%YXHt^cBJU8Y^TU! z!#NO{F_Jt063vE9db6o3O_3}e1SQkA)_dRT$Cor1`Hr~e4|W$Bru4e5c3LBBBeh7( zZr?OV%o-vYlj~l;%ch)#$~9N<{0!4hJ?|vTiJ=fe42BQ{ymPI?InoHFvlJ+k5)~`3 z-$m|wD5E?Rv@=B-I+3wQh7VV0UO)|iw ze~R_%8t}5=1r6#2b#)$69|xH9qOgwGAB2c#6y7v5wES=-D$#7wpw(S_|9}{ph}6YE zn-1ea++RKdq0E$S;*bn>O98a;FO+DtL~__{@dB+QX4bvQWbA#x#tz-2|F&__<JUyo^VnZ1ScWZ*d(*zm5gR@EU7b(WS;wnbszt>%UuFAF|Y$T?{lOyTe!=*~AOeW{~ zh1juQIYrjW&wuju(Ej}S6G&oVUaIZnfJ|U=9keh2CqtWNm)|np%W-@Un;k#rE&P^V zw1(;yObDD4`cl$5BJg8K6!Dpt)M|V92_zfmpQxNPcms1e>o_q*%;IKR^l=X`pKyyS ztJJhA9RxJS8l$mT=$G$?@VU<`AxKNLO(1V0hN&KHxs>3p+aEvh1cp73A@c^0p43+ z9oGa#SdV0yz#otqvi?b_wxex%77xj`otiMI>I-JWFdAaP`;%q)fSfm3a&z}U0J%nrv|(`kiLe==Zv|8WR)(FWvzN8V9Hjs zV=-3T;^;F37|=Df(={3(Qo2crH>W>xgK?X^i{-#=)M$z(`bBO1lYB7a+@+u%Rv4mE0klgT z@6@Z7NU(T+0CO!E?)@`T1D zDdUvHt3%~(wyMG>`(r{P(WK|79az345FN!cdSDTcZ9gHM}P7KvF#y9h}O9q=ojvQ}nnz~@fV=M$SO2UBX3--At$Cvu? zA_-7C7pP)0Lt$D?z;Eo?BhU0Rcqva{$z|xCUnNn5cjLMFWGgJToD$Ov zqvLb&A3FLY>IoC3a-gdM2LN;;RRqxBCql(gNesHFd#kkt{%=YxoW!dxKjcA2P#q`g z{L7Bmj{F*Keq~U^4Ra$65R>VAnCr72soCT^m%8@oH%q~=DmKq|w`}MIA@zvxHJ=<1 z_sqTEN&$iD7h-{Jdur7Z9oW~HDB{%!x9_{tx&9MXqyBFC z%|F+ye0#9rnD7|Z73uUwa64?&FDRKuH7RK4PR`MbL}UpKJcacBh63(h?MbU$J!zo` z;YFa9@1~3gWr)zIPoxdNd+LKfWYf{-#*~C40Qn<@KgjpvA&}o3hpy_b;4YoBr!paV zU+_se;)~Z4CEzru{dh zX60pv%<|YuZfoo6Ca8$b1AY3giF6p8Dzm5k9$7TNT351YNI+M!nC$3o;g2hI%3(%t z7Jb9yU2`k?-L;5^xfvcGe(x_GiIX&T`T{N<+XYmKG;RIcb8CuE(cxh!!cR$ZcvGIU zpSwtJ5PNIvFfG0gnz~FJ|IUrKxKU)-Blq>xB^{NrwYKEvSk@ zxOQ!Xg0b*x1YkVTG;xV1Ffx|xo^P};%rQtJ$9$)v8eKmYCDlpvn)AU~8e>rs(c6D) zkOQde#EsRcoSzxZEml?EH!;s!WaM1G=JzCJ3Ghwo^Et5)7sY2K>*cB3)$r|fBv1EV zxG-`>I!kb2P?v?2enRKlP@GI>yiyk-XqRwsm4>&b=&h0WX}P4`14|`{9W#RH3`Qt@%h7 zjVwSx_0O%Rf#u4D3RyOn#KcA^*RsA%Xso1M`-yyUd0}Z}&{|MtF8l!%`i(n0j2N+vC`5r{wzc^}OUF zufBd>`{IR2iRCZ@OcKl=(1QLXB!M}{`{3pL1-M~@D;Fzd7hzV-_47`qP==J$Pu|o3r|?e|_wuD7K3tAszb2)zT8v z5B&>|;7hE;#MFJC^64@ISp2|ZI&h{9LXU;Qm0L7YoraT-jWM+DRpCrlhDf=v&!bCH z^*lAh7dci?x1}T5X)zIp5~;ZRinr1%Wn?7U7`*`l(wQ6I$;@aM=u3&y$UY+Y$+BXXK78MG{{a9N2N38mQi=G9$lrE8|Z8KJ#g@_0gE;*nTC-=}hBs4RqyX;}sK;-zz zqH(Y^ggthN9VYBOu`74dx}$#H;|`<=h(+I|8Ko29GcYV=XplLns=O30;4}d*6hcHT zar;#K;J`q34>zMUBkQBKXil3Q>~srcYDZ56Got${GFM@SK@Mw}^ViU4akvE%>WdCN zZrJ5XHkd$J4jpeyT% zHNV38BB76Y&5QjXF5aY53##FYh>a&8`*p{tU4fweaetEmDdQJ@%wfAJIbY#onNHB#hl9UKBlLTw zWMniEC-jVi6fg*(AG^D{lwMM516v7FDFaZJF8k_ky}_jR)K=Qf8?NQ3+G(Ia&b`pT zS1Qv92f#?WXU_CZ{&N+zN4>v`cmOI73RRIf`gk2Fn~U1^M&wFxL(9fGxn zd)Jd5Jow5?6u7XGSyozFt3yT1*k9(dIj^d_cAummZmcjSHfO{1@bvnkHkDh%`1l3Q z(wpP`lU6KdMGc8G)|gm5B?odB_hJ7n5M4aMD{4v(}z5Uh`r|!MXqHj z;jtf5?lD8;B3<~nr(mzg6bl5^w(f;T_Z7$AZ=eOgMu%7SHU{@nAUw7nWqmI$EZfP< z%q)I$My6e6rdYNmvpF9V;I>|v&=lypN}UyWI+{_s)A9cFBb{D@h(r}9fj~?cL`6pE zefK~VkgDQFYn@?{c3PIU+%VW&OU7BHyAYGxBU){kcQS{OuhQQvA~H@TD@(ewy$pVk zsZt>@;xsCq9uH4cxsZvw8g$X0RwbmzZ1P?Yehc(iperQ<7vnRPDTH=BRB)UIikif! z$}mLM=CD!0AUcxZH*BKB-gI$uBbL2Xm$%slWpM$&SD+gZ+yz zwl4&>D#H2lLKBIpky!iV;t)m>>PdcLLB_#Ss|aX#^4XX~sE{Tw5ttYp*(u@wIr{j^ z5u+zk=vV=#USeko$d|8+8*QTKWIES>hPGy-X1vH98#6n#a&U_l=T*^;KNg2+d(u># zwyQR*(t{TCQyGNkGrKB0i^9_w-%qV;K=ZGR&2~@TXNH8zEtY~(jH&KGk-CP4<>g?< zI5Jquut!=7S5@;b;W)fqId3rVQ5tEh#Mp^n7U}EhDVOP+L>Zp)JA>YcHmkpNvN~(~ zZq3^I6>RIMh-zUNqZ+`qgZ1-&1y?pPSPRi6In&EP7zG=W0~kjm$N|hdsWe-Ixjdkq zLloL{eUh&3Oj+$nq$ws?Zoe~4l`M}L8Z5C0k-bu$@>MY|GvTgwp`pLl{nv+O57vp zw?+KTK@Ez5Gpv47=v&>v<>4jQzKx};VToZ|P-rJcM!>$n6xv$Yf4}W=BKcm~TCb)7 zusq_*1=Sk1oPrAIfh#w&YAoURS7lA9Zff|pJCdIohi3Kc$gc!zRm90K)OaeXY{8=W zy*8K?k&3F^)~WsS^v!*edR<-Ra~joWB|KH%EVh?^winOLBvp*!R|2fTVqp=Zzy9@H zE~c^--0VJ&)EOJvd)F*An*g zl7psN7!Xss>JH@tu7$Nam&3F2c9Q(6HhfjQ##bUTy^a5pi_~4h)mDh*wqA!7>xSwS z2z@1KUS|-nMr;Y~KBUoO^+wXvwiYxIpsv^OZH^d8c5D&dATFxlxu#c-FRP(?>LH+B z<_K+jbrq5R1-epOetIQ=9jB#gdSvEO56^N0k!tKU+@UAzjN^^Ef4~v11JgbCwRi}g zjYs_W94qO$;0}d?7PXq?Q(2fr&>NgGCv>D$NQ?&aW@U_}tgP>;L7=6x-OMiD7D%Tx z*2dmmcnXu>iIr{_+o^`HGm2!fhQ8we1^{IdFwR^rpWmymu*^y zbku@Yx`6BE#u;V}{RQjd-X)hMr{(P>H{G3|4MG}8W!o>tmEU9$r=21hR_jRJ*`3SE zyK=s?f@RLxe7B8pIcB6vdATY)w$#F@&2gcf&oZLE{@AgFH&UIJWBH_?bkuo{q8%+yb!j5)n^mLRnCt|(j{;0X>%*tQd}=L{a0rvRj`rd$L8 z=y%pWhzwV|9dHKM96?SnoB@#`RhUh^uvNf|H{lOx?=xGw<6FY}A>nRoS-R@i-aOzm zb}BY@3Nv2Yxv|ZWhl$d4{w|(Xq2%P`bTJm%=jWGUpi#*;tI7j8@zCBM!n0xc^guzl zdX(P=FTfX~<0u9aVI4g$eGlZ@s88^p4bc7UWJ~_N_Ta5UGeAhIxyHfW%AMsL2D&+7llx45++3=>o3v&Cm>I)Mf{*%`ypsE=P%1BWhM@=dm(y zz)|3xZq-5?p*2=M@L=?57ZEO}u<-D!TcB}tslHD#?DyoNTU79oBq=Y*>Uf8uI5hxX zetBd=j^DttRLv9ka|8$a7JOCE5l1_B`csD=&zBal-*DZLA$~v`+?z9J4Rbd&o?^W1 zCJm-DL$kBV?azJsEb;yV&>Hi~dOU|rndJk^Y|5&(=GB^y4rJ!330iuV>qr)J&e=_Q9PlWEo4!Gu>+Lv|h!J-=({WrL8o1ovrW8)pp<=rWa(kU&aBtJd?)JzT z>5hbrkLeSNZW|$6gSFc+FBv*urery-$RMMj8Ya;$Xq~5spX?FNgD1kr;ihv|d5hWsob&n6 zVVvn!?$Bdqy0~^;=T)Xa1j(y~AqExClG2;I77@8U{7BB5q!l`-{=Z%dLKOq~wHH{J z4UPf`7&Lo|%|bV3-aU)f_@Q_l`_N1cqm=olTZ-sYxNWE1!54mKaDObOjl2u(~v&3#NX~OBZ?n z(p7i zR4j{76hc?T!^VcWG)O(|54z$b&=o&hTA@qM;B%D&o8=I<8<`2Tll`O{4NY_*5I&NO z)^b@pV=&R9n|+o#q4sRtb3D_*eq`U#Cpp*EwwvuFA;>VagY<>;?C zT=J&T?q^KYi;-W>whOqxqik9AT>|?tU66K;t`sC1o-4?`dTqqH5T8P@>Inhy19_`+ zo`FGd5j?p{eHJEo;d7u>68H6G2QmTP|3@c8u&h)~2SudSk}u?42L!6SfJJ z*H1J3jOXB3^|ik*fo#ekDkL+tCE4@A*QGAX9Kz7+}2pe9t+-#Lnjy>#vSj;5r zK}PqS=dLNdKAgino^G}L?z^vqqiGiQHcc|!!1=_T_+e8>^&eN1ZAJ1{Ukwr_P8mb5 z6&8o&g*CFbWzkhz-;+2|Z-8n)A=(z$z~eR^uv5_G8@_tgSOV|<2QF$K{c{JQWt{9`Pl-?-`%|GQlU1`;nPs~{q@Upvs^C43k;a$ujk0XJ3AE=5YB!c4qUJI`4>N8=)(WD3OJ1;5|>KeK2mzqvD z>PmMTULiqK>P1DKy0yid(iZ*)dqj8i?VySbo3RO>Xm3vQAcQ}Q&>3L*kgj-)?^fID(r{KOk}7hNuy{o8 z<=Z=3(?YTUa#!biTDIKT$uBOe)swU?XA%q7XFm5n{0vs_Los^H7W}u8uMroG z2-G=%1b;x3k{dME$J%pGJ33;k0)F@u2T9-iD^%QocF1V5FZ4ripnYE4M&>WK z5wsup8MN;|4oqv;zB4B97=<34E8LYDGqaN`6+pJ$mIcp{^fh%MfVB~iF~=oXseYMc#ndB(1;Ow!xh zh|tUu!cq3(E0mDjJIYjn(2J67fvVWA{hVX` zpK3o_21j&u9(9r8LSHa;YH3o9rJB$XZ-Z2BRJKox|Jt^G0RAm* z@!}y47%(y6*YnWFl@BBkK*Oo+ZIeS%o&D`r8d>9XS{f6>(-5+d=*|RtR^Ndg`cD2t zHcflThU^h`T-*%r$;JC)?~W{gYEF21&a>t)NhIfHR(Iu(auw={|ADrFgevv%ojt06 z(&QH&=#I+T#)6tu$SX`0z`(**S~0KXn^f`7E;?{4?$c@YGJAB|e$3DECo12`@#l}a zKnokC|JO#jja%zzl8mg*n-ijLZ}ITYuk&ELImh|M-%qo|U+u#C6VkXN4!r)-hY-6; zXp$%WwQV>G)CO%K+pyos6bCt?KVjaHi*@p4lpn|DAEU@9G$pta4zPt|d8pnrBP-L& zI1P!H_q|VrMv6S323vmaVdq6z2auKj*AmfwYobqRWa$&Uy!m747~je5;}@?QcizD+ zrVvt{U0Qk9>j|CAxCldq&XfOzW|B<*PiuQC{D)Jnsx!nN&RkK z1n)k{6};k~8%Rq>cyJrNyPpBzw^wWkDp_fbTDcQnNa4B=E4jt`WdA_jLb+})8#;{p z_f0}6P3d?OH=1OoJJlDk`SqQ}rG|~@s19A{FG;L_K9R>qgyW3I#ofb&9vr`J>Ncj{ zsUanqPBOBk#)3(LGs5_!+`>TQ21B0Q{2M-Je2E^`lz8ULBA;_L@3I z;-rACzfQTUj11VM6?6Dsxa-p?V=Cx4VeE4&C*Epg$MK?sz-Op43%t)6Uttt6!`X^9 zYd9@tL1wEren@3<$yAG>Iso*OY$#P(D(M`cM4+7z^V*D1{IB z2HNH#UZH0H8XrKZ4iEzh`{^j&b0vS2^K<9_Kg@$%^V&AL&gN@yk{%kLSz5$9zW;F zSOk{^)Xg>4jZnWP|5Cqx zVf&S6Bct?}*+V<|@_n>kBkI^|X-i9XYcfqamE!#&zBy4yWAyDBXt z?sjrMd$|hx1qK1fRVjOW!(Z$|3gUS%iJEw{0ew(UZ>YE++&gX?92}Mm{2U!W4Nui1 zYqR-rHj9CY>rbbXB?H1+bHovFT-_rmLr-Jn#~ElBN6IU_!q4$RlQ?>VE@Jg z;P(nz<n%(xEU=E}eE73blpt6)ORQ%slLL(7JQw)T0#`;c^V7up~0>-xpN z?|+29`1h@a1N)&C0{LC^H$he=k&VAbL`j7Mw1Zf%|A_dA;^Ovoo0AF`h>OS)h%rCD z&IVl$p-0R-)|5YnCC1Gv+YT^_%*%B3Y4Md%%FLgAhHt`@v8u%^ArzL_Go&a`t(x|k zLmH~sV0y&!-Xfiw{DG`8n)edVMi_NxfB$6}uFSl=2%Tz2oaO_#jk0nQCxP)FP^Xds>Nho;u`FmqtkTCkRY>X zq!RI>m2!g`ce`2;h}M?X9x$EDSjVH(>(OcVE(?VRF4Kmfd7-xINBg`3O&be)Jii0m z(qOU;gtG1fWm05Sm`8WX;!Ch6H<>Fm{H$~9?C z1q@vhR-R|-OIF(7s4=T5{K8#B8Bb)roA=jysVZJFC~>7` zMIG^XIfe@OlY=z9sQ)+c4swE!SU!S#VE@|N<60uCC%|GCxX+s{Z`ZN^g!W4*MId1B zE+j6aa5A^MSPvUonMRzikIQ(}ovMHEm=&|Y5=a!TuRuXX>Vt}!<1Bd@+*o%WJYWKr zU?4l^bwt8mkz0{64~WZ@C|1z2X&|Q~LovV)z zB-BO%_5b_VLa0?QAO|Tlik`yH4|vG!mE*5@u$K$m)4UZ*{J>ml@RuW$jW3I2O?|Y&u-(asXHI0%$sLg6`ON72H#i$*@q9FO`d8 zd*AVG@4(;QN9LPC$6J{+IkaZ9+DI?NLy;%I-kd}I+h2Xa z^gz5zj|BQdCd29}HLbfl^_15UY;YL*n9m%<2;=>gZ8#HO0!8%(8ULdjU_&a9@OGyd zi=9qjId~W!Zzuu#rDJD&iDd@o$v8oSuF!M>G_oHaHhtk3w1$6%qt3q`Tmj4~Nd=Q%{W7q8*`jrj~vCA_zoa8nu>e<_;LBuhcBuhG1|2 zM-lmSBy^;Ibyr+{?oKPB_Iw7)1zId5 z8BYSSjv?a4d53rE=z$s>`^BMiQK+0l#>}^`ad3E7biCPDmS>Uxa+~ur{!5o#$APOt zYy1J14rC2TKI4uk{M%aPy4kAYuBXQM0fV*}@iJ){c4~!W^1avGU4Xo_I4&fU9zydn zVEk@op_Uo)dQ5A)2a#@)Z*dUrx%nJ-o(dzIga(S%>fe>ZVg?5XkM$(<*n(a#7}~CH zt0eU#Ytb4r-^|jLyvbHXoY->^9bGGkJi}+aZ&=@J3PsQZ`Fmz_hZv~NkOC2={cIgb z|HL-AgbYtGu8i8G&3p-goT`aC`T!u6fn&eW7d;YG9J*W2(t|K{^Z^gSVJPR<62e-g zz>wdv3p_SrFjMHXbLeIBeJj{+!tRi8 z2`8cdc&r0BZ;^y6obb(l!i6-XSr{&^%1gMAD2bcwO5YYz$~uqvJ;YXIGRT2pdQrS) zk#R80x=p;7n#xTx^SeMzy*FE(J!LkNF=u*k*Vc=F{nH$V>+#_epx)F>(XFjfjroP$ zQk;G)id(Gli$3ExU0-yK`@zhsq7uO?n*NijLC@-d$C_+L6Qy;=N1gFbOY{%K|ZmofIC@x`j({x_aQ^7Pa^ALBIuM6~H z*7S;xuOcbqo~+kxzfSgF5dtO(f0*Py8%rjzdz}(4o13*MZ8dvTlt(S33}@^Q{<&%% z`?gLz)c5u?hETXcqI|4XHM+yXJ}NdcDD`(F4|TK+WU(P;*uTR0!}l_>)-s)t2Hk#> z?`kYv20B_$WZe7SMJ*{ybEooW_69?KSvhtfDgWb&%x%}@CZl6-isD`nC;k#mVQ6n= zd4(tCmD`*5V|#|&z{cI64!i9;W@_ftMVgFxl`TH2Cm9&=Zk|qie)?ls*o3K&)7yS7 zZaok<%`G4DwmT2Zp7y-Hm4{9=GWh3&KgcIsNK39~gc8&MoCbJz42)dk;5~ z@C^Tb3F&0TvhaAo>+8QREg3)Z5W|8p!L!Oio&rx1@kZ+Acz zVh4gR{(j;iWu`$Ao4ccO`ySZ+aJHBWTsH01p)OOkF_%?f)^~;H!Ay|z=HN&;)Xc6H zzoQUz{)CAg&ivZ`>vnpdmN`~ZTG|rHs;3W)mc6!fwV-~^*_l(y16Ep0iMO zZ&0gs%yM2_ei3Ywf9y5L8%;5k#6>ZewB+SfRgxl@-EJ>})Dd&E+cDqNk3KGWs_E{6OPN#r6JY(v%nx_teBTr~I zsW+u(cCUcIOdqNdN#b3vA0KG}S=iC*MUL_Ung2-6Pe<`RwCrK1l!iXsr2G4ssJ^Tm zzyu9}k(%wbq@!(!(gm`mP=v-g8=AFhu2^8Y0!+>^MSs#Yhd$G87t)Q};|$gsD%Pr} zVi)o=rd14PekEV?f(2@+y~Je#Iz7^PZlDY9J^L$IGU4#$N(RYvS}!UUUjw^x^Mw|Q ztLW<7jR6Z-x{p^7>^K;pR^mg!J4C9C~>9oD_c3JwsXc06FfwSRx=~YU*QfI za6}fMfg7v#_B$dKqNol|++M_KuXOe4B1g!;`(S8@-yRVE7rN<2gcPS8ruG4HD`Xg` zoOf+`&XbG#tI3vOLi?;9y*8cl`!W-p9R4$VKnvth z;fXm}*FiL)fT)a&l?E)xjl@lQ(xOvx7*(=LEN$$I*B-eDc%#Vr$a`#dp}%uH>04NK zt#KFCY;R6XpTYay#TQ=W1vUELz@%L3;|O7(GA@Eh1B_ri7G|o$I3%W)PP3zz8IBm$7^Nm&vf2Pd#$c0p*k`8Ax961?$gdF-L=dVp5?>_* z7&lWk3zP*6>>#$}yZ?7V1?lxBCv49JT?>Ftx@cfq3#*vIXOAKwUFg$P>EEkIH|gr-B@po8YxK(w z{GMb0)6PT!+!Bs^tMKpI5J~}*c#u>Ug};~2706HqUh{zI5?6FL2l^&TYqxW{OctO+ z)bx9g46X5Tsip>yR5?Lw!F%GcHBmLlUF>V7o@gqhsp@5UX(y_7kU1~8lz%O#WzH1N zX^6bKvyrsEULLDlyv^yVMDW;k(}(&;o*jy-3bNEh19 zK!)C!MGXC4#JzP?mRt8Ws`#j2ASr@?h;%A~lt?43v>>rTlfGseBb^Q z&9Reb!%wr4jyT=8<+kYOi~X0ck%vn%hQXBvIc-NgGI44~W&Tl;S%cv;K|rSIo??$= zcp0gTrA95Ma{HF;%DaYGK4B0%(5%VA3+LyuNJ!POD*0?=;0Rvy2@T-tba*kHrzJ&@ zU`p!qj6#a6>WF1~4KB6IihJ0I#aj1lFCg$jH-Vrv*skVjYDzT~KPG})9^AmWLGXhQ zCu{ZZK-M32Z&m6TFu;RU1%Y;nM+vAFj{ch$2&}}scSqy;I=dsYRoQUA} zpTp}9>nCKE2A$k?jTyZypg|O4GLB#1i*JSU*4q4ngC(qiulLix*1(qnf^ZQMOpF5? zFpLo(H^TrmOjXEMX`zYlI**G(aJ-+aNRy|qCwA;lgy{s06XVdie)g8Qn3E-B!B81I zY+YkhMmG)s$?@gH;ua_AHAh~cV=orden;2r!{0+2ZU*ZmSM;p;3Es zTPp@X2?*n=>_3WJ`RfFK0rtra8bTB@JQ3Qvq!A;1cJ?BTq%tX&`9I7lEQQ}jQ&BO! zIxpXOxnIH}ajr&nEGoK`jDUIz%J1<(l7n|hC!vOgJb;*yg?#hBT1YSIx3=>kc?$#l zPspC`J;lAS^QyTnNuvG#UV)1lA57>woOYxtgWUgx(WMJNaZ*MKQv?aN)^kJ!MbaYyuVZM^Hr(@bxFVsl+^UKAY z`uh8B50&qV;1hdPUD~B4zU3^^xwx^D%s@$UkW&BgO;=$qWdU@ZT{!p@n1AUI8vkjq zAhT2bHX+cR6sa0XVP?I$CRgRVWk~+txe(ewV@B!=Hcfd{tiuGcfq?;ir0GX5tUMT{ zVxX^&N$};c;fKw7>TdU*kZ48+CvLg zd@=I_pH{7lmW{S%xGG=9zBXTU-~-m46j#&A(?4&E zdI)SnUtQO$gJ}1(XI`9n=uMML%{?jsRS&*ms}|_v0)+Ukzz=Z;_67gHyle_8>y2i) zeXj99Y2n?oYA+f~)e0&k3k*Sk=z`QEO~6E*VLoJF+|C&7lc{3k9vvm8u5$>nT-a0g zYOAzT5WM=v*^draZ+^NNfU~xHtGm5tkWc*%;D>K={6~GJiBA#5b&sBotMVF^Hv7w( zC4eO&8_BhN03r#{09d8RmX*um9mSA4BI9D7!>J^HuA}A1M@ihLER5Fo`n^v3U2QuW zSVdV~`wtdgDvcmNNTofgYa&uN_kb3~W^YrF31}M})C`O#0$bqIO2aD%j_=O8PYc4{ zOldceE-sWxqaqF+V*jqUA^vE-+I+>!rK%Y$!|oisdsEJI#^{EQ)ZZzDKpVg?Av8_S2M#z;0#M#p(ngs+BX1-#?G-Nd&&q^#9OGbje=G0xy8aZ| zdCp;>E56o8#&X0h*zS3vqVWo{yKcH{S-*nOTtO@SS@$_JgbLF4GShEnJliwVSS$gU zCgNe7aD6+>XQqislf<;Pwe{xl??$tzC{ca2RpDf;R{uK--!S2(_ zL~kA}GX(^S(CF56kEmKE?B3#=Tkn9Al6KNi|A=-nrf>uy50mM~Ct??-kJM-djp)8b zVR11E_N73lDtlNwe#3EvWGVM$L$1BUGRE75^^(}8HS7^bp1w^E7aLM7>E^rdHpVfns3^gASNIqvqv(aw%)8n) zusOkgkntz0PBl3>M-3am;PuA!^NPo)yf&<9cX%ZMf!3^cAiPNaU9O0@V-X0BYQ zueS|XOeu^0VYl(CTP}{TKd!*t5u$bTy3l*EBPG=Rw%^gj^KGWa55Kqo&kn5?=fACX z`?GoU^xq>t48Tq$@bwPhMw}WdaB?}jFt?kRP} zZ&BeT?uyz${ff0~*gwHd_Yru46Oy9m1tfHvK0CHX%OdDu|2wRg@-nfIAL~UfW|Y0l%O&1oJ#421(B&7-Xf4y{wb(6XwQNJE;5gGk@353s z$hP;?qAf>jD4}S6zeIR#ZknzkMH3p8els?N?z1jiTbEy{59e3Mt8bBF4T5s8I5hu> zR_9rc8}@8=^-<5Ske13oq}gWO8Ad(daT9vQPCXE-h%1TpkE9#jyo>`A`I`F+{Nmgr zM(Yi+ah>jyoJ6ON?p;NYHP(A_Le zl?0pZweGCd)MrtF^8|4NW5%5-*SU)A7SflB^#uH%s^2+DeY=VdQ^djf1ts~H=i%^; zaBqmzN4Ng=z37XYN)X-%tF8eJ8QBb@`#i^86ajYCn;D(1exN`Zr zfGG3fHN}pKbAQ+03ZcibG(1l<^PsqJo71ejYFNLuPl94@dp9*ZrEsIK-`OOnL;c6* zJ8J!E2_<)OwxrfVjQps#CVKZ}J&UBi@i|(rD~4@tES}3e^$ls>&`G44|J4{J-^r66 z)3gc^4lymJN2))o;KZ9dJE(F}t&JV(y_;A6+ANP$@PM~vLKo2pYi^9#Y4*|zzpr0>(ySF+dp!TI z0Pi^xAce9MqcuYLXlS({x>@llCQP!6q2P%3l|gLoaa-f1FQCb-Hr!sfK<> zzD}#vUsx;!Tf;79{qx?jw-d@^yOiSWK*aKL1MkASiqx%K*UP@B3OFjc&Dwfw(4NkW zplnzi4SYo`S1e2i`4M!A^9mgH8_8wh22u*^{GOV zX7W2Fr+VZT%(GLFQn)K(bc@$nO+qezA4hKe+A&Ynzl=@UKS?Fnv9XRR_BeHoqkutmQ93VL8evSAQQELWzUU-wL1>~ocJr;l7nyyaU~dj|JPl@?3-hu+-hFi@f| z1u+w&J>)WpeDoK3e_GMV(sUN zA|sUelBR?~nqtIZ_1Od=V>|Ohzz9I6+hv@!n|Ph8*2#5WB+n?HEBkh_7^oyp6FoKw zjI6xtKKG^9ZW!{x7`6%)j&OzeuC|rujL+)pt6Y;ah#hqFOUBfYKB4_l$cbD)`JN&f-Ag4wrZi;N}-xFFLLJl_!~(XX1d{jK1t$Y zJ&UTb?)Q>H%2_?%W}9?EkmGtu6OT_I3V z>~0?)(^4A$mPKg=9g69LnT$*aS_bYKX=?dT&ntQ=@76bFXewA`q_@i{J7tIJXQ%M( z61ULNV91ea>6{AC7RG}-b9gx-FmM`ldH&NiP#lNXr5DhXJos%54Wg4X!I7;55eG}& zBj4HaH{QfSk;KO>H4HSNMAD@xinL15h$I4Q#?g4NToe>XLQ<&fYci@{W~@$V=fbd` z{05}b8sbPPxX*D>ZK<>QOvMV`D?X>E*3bk@_fSH-#ZZW^xyU4kaAKX3;#p99r%3uf zFfHp3ON*zij07D)RRAFX%=NvTo&JVdepc!kcE%!M5)q6Kp?3myZtfh`lfSb{`~?CgU4R=!wPjvj6+}Wukg(5v zRtEf(9w^glS0*tEeytRs!4z>{Hl;8|^4x{lD;Ne-R}V}`M}G~~HAM()! zMBwGGVANiHb>%;sWvq-I2rdFT!!lkc14C-nTI7PNJcH{^`E_5+O(TVD#MA zK7Ua z(=66#9oWAFDC06~P_y*1UE4ArY}AxBG7v4#$w@Ze4Cp+#VRo#NPyUq~0CFgp0>~j6 z-fMt2ZIWhC75|KU%!$ay!-4TqAq@b)+_;6X^{!qf(Z#~g!_hjUsrzE%k=_^=Cgdfz z!;rk>&5CVEypnM`&vGP(k#1+Y5`rNN4I2hIf{-!PB|L-owro~EA}kDzQtPy7P$2ma z;g!s%pjdQ>9sY=VsL2Z-U^LNquXx$T<*?fPxl+p2XG;INQ3Ab%?XQaVY{MBiHb}Jgdby8p@EklD_m?q z!Yve;U7D8^6PW@$wpxp3X43(fI6zGOAgvH)H_v?BK-xy1Kfb7_w_~af!G?XD{+A(2 zx&J(w2n`KkQJrJ%Jp_^&U`-!63A_h713T|0RxnC=oqn(7GM^EXfE_~CAvIDm=<~>* z;CsZH=e6FdZ-9Xm-SXZ8&5d8d(J3sxu%H|u4aOBj_-O2r(>Qc_V@owD1OUvawr`fR zl-ZrNb#tlaiX{l))~r{q^U3WVS~pOw6l`yoT9^;YM7Ry=6<6ih;X4*eJ0BMEkE^RK zk@c`AOl=z81lFlqDfz9PCCZZ0ta;Jtsc-iePZKfxn4iyyc>Y=PhUw5=X{QQbzn5{! z#vF}aMrGuOk_xAYnxXLxuCHD59rm`HWxXWze%E!y9|Zj~59fXRvte0y_g@L%fAkYU zIktliR)a)_RQoHmD)88Teia2#BYQGZ3~IU##UO;;(lB1$b>3@7$%xp8UlY{yiBq^A z6RA=*ZoKT{KRR}PzhRD#3)+nIB+WQMRDuI+OL6VT03)y;2sAo3p}NTiEHwjTV}k8j zApg)kZ|GzYoLz+`bu~b5pP@|Zo?fNHE?zc`><0FM^JARwv!X8&5LkI18{W0vp>D=SWxnXn=z-XP`<}`csi#_G(^Rh06J@woM59b1-omiYA88D$i=&tB z5&le(iBhL>W|Y`IysE<#3$s7pmgt0j=|V0Q{LK2Ss_3^r2&yW|b0%GM@Z1azL+;=1 zkpk(1Z(Y)5NBj6|uvDb9amgyw?j34`xMz(~-&lY24Y$Yb6W!KxVu6SAq7S?B@TBHCZ`|9TpO$Bs|n!X`j=Fp=~9~6IIO%18# zD^sf?pB)*))!$TR+O`K`8K($qb~81V*tII1OB&+%hk|$K&lOG*v8e0wb@uieD&0D# zh6S=}ca(!o?$f6eQ-VHu@E* zmd>H&Ss9Y+3q#G3Dg75*Z6!+V%gb|Aa?@`^6?&7h^wJcXL-{9o2&4ovA{f37E!c4W zbe|!Wj4Sky^!90T@z$j9Li4Ym+^*(}fC}2&;!W4hTGFjYVxB-i(oFEKgKM=@-8bY6 z`~~yqWqU|jU%slS5N}cRT#MtSKEVQH-`At@9>-28>4wcsD%UDWJck6$ z{P^kf8>d8GG{KTFD&FjlfokJ{NF2&-^&O01&SE`shJ?MQd!sZrIKFczaI4LI_w~48 z)#LPBP!G=HDC4Wk%4oZ3hzu+vx-cX81BOrIl<8*oq~>Nre{ce;7}r;o5~N~21|#7a z6$6XcwP19w_ATB^+skX$=1u0VP4mU4_w+G->)Q^$9{~AxK*~N12$#&WZhu;|BY@$D z_yL`yYm#5 P)LglKjH`anE%$ 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 `Ow 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%0A)pv&?TPsVz2%wCbBRds~elgQEv$0ZkjY-^sI>? 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

&ZxdBa(XzdbUR7J69N*p#8&Y4~?h!OeA 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

O4AHzRNnmd^((0dkS=r~ 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


<&f=%i^(Xc;%2#(>@qp+~NiuugzD1%Mq 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 literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg b/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg new file mode 100644 index 00000000..8df869e7 --- /dev/null +++ b/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg @@ -0,0 +1,4 @@ + + + +



ST_PROJ_A-
PRV-PC-1
ST_PROJ_A-...
SOME TECH PROJECT A (ST_PROJ_A)
SOME TECH PROJECT A (ST_PROJ_A)
192.168.240.0/29
192.168.240.0/29
3
3
2
2
1
1
9
9





ST_INTRA-PRV-
RT-DR-1
ST_INTRA-PRV-...
ST_INTRA-PRV-
RT-CR
ST_INTRA-PRV-...
ST_INTRA-PRV-
RT-DR-2
ST_INTRA-PRV-...
Port 1: 192.168.170.2
Port 1: 192.168.170.2
Port 3: 192.168.170.1
Port 3: 192.168.170.1


Port 2: 192.168.160.1
Port 2: 192.168.160.1
Port 1: 192.168.160.2
Port 1: 192.168.160.2
SOME_TECH HUMAN RESOURCES
(ST_HR)
SOME_TECH HUMAN RESOURCES...
ST_PROJ_C-
PRV-SW-AS
ST_PROJ_C-...
ST_PROJ_C-
PRV-PC-3
ST_PROJ_C-...
3
3
2
2
1
1
9
9
Port 1: 192.168.250.4
Port 1: 192.168.250.4
Port 4
Port 4
ST_PROJ_C-
PRV-PC-1
ST_PROJ_C-...
3
3
2
2
1
1
9
9
Port 1: 192.168.250.2
Port 1: 192.168.250.2
Port 2
Port 2
ST_PROJ_C-
PRV-PC-2
ST_PROJ_C-...
3
3
2
2
1
1
9
9
Port 1: 192.168.250.3
Port 1: 192.168.250.3
Port 3
Port 3
SOME TECH PROJECT C (ST_PROJ_C)
SOME TECH PROJECT C (ST_PROJ_C)
192.168.250.0/29
192.168.250.0/29
192.168.160.0/30
192.168.160.0/30
192.168.170.0/30
192.168.170.0/30
192.168.210.0/29
192.168.210.0/29




Port 4: 10.1.100.1
Port 4: 10.1.100.1
External Port: 10.1.100.2
External Port: 10.1.100.2
ST_HO-PRV-PC-2
ST_HO-PRV-PC-2
3
3
2
2
1
1
9
9
ST_HO-PRV-PC-1
ST_HO-PRV-PC-1
3
3
2
2
1
1
9
9
Port 2
Port 2
Port 1: 192.168.20.2
Port 1: 192.168.20.2
Port 3
Port 3
Port 1: 192.168.20.3
Port 1: 192.168.20.3
Port 4
Port 4
Port 1: 192.168.20.4
Port 1: 192.168.20.4
ST-PUB-FW
ST-PUB-FW
DMZ Port: 192.168.100.1
DMZ Port: 192.168.100.1
Port 1: 192.168.100.2
Port 1: 192.168.100.2
Internal Port: 192.168.150.1
Internal Port: 192.168.150.1
Port 1: 192.168.150.2 
Port 1: 192.168.150.2 
ST_HO-PRV-
SW-AS
ST_HO-PRV-...
ST_DATA-PRV-SRV-DB
ST_DATA-PRV-SRV-DB
7
7
9
9
3
3
6
6
Port 1: 192.168.220.3
Port 1: 192.168.220.3
Port 3
Port 3
Port 1: 192.168.220.2
Port 1: 192.168.220.2
Port 2
Port 2


ST_PROJ_B-
PRV-PC-2
ST_PROJ_B-...
3
3
2
2
1
1
9
9


ST_PROJ_B-
PRV-SW-AS
ST_PROJ_B-...
Port 1: 192.168.240.3
Port 1: 192.168.240.3
Port 3
Port 3

SOME_TECH DMZ (ST_DMZ)
SOME_TECH DMZ (ST_DMZ)
ST_DMZ-PUB-SRV-WEB
ST_DMZ-PUB-SRV-WEB
ST_DMZ-PUB-SRV-WEB
ST_DMZ-PUB-SRV-WEB
9
9
3
3
5
5
Port 1
Port 1
Port 2: 192.168.200.1
Port 2: 192.168.200.1
Port 1
Port 1
Port 3: 192.168.210.1
Port 3: 192.168.210.1
ST_HO-PRV-PC-1
ST_HO-PRV-PC-1
3
3
2
2
1
1
9
9
Port 2
Port 2
Port 1: 192.168.200.2
Port 1: 192.168.200.2
ST_HO-PRV-
SW-AS
ST_HO-PRV-...
ST_HO-PRV-PC-3
ST_HO-PRV-PC-3
3
3
2
2
1
1
9
9
Port 4
Port 4
Port 1: 192.168.200.4
Port 1: 192.168.200.4
SOME_TECH HEAD OFFICE
(ST_HO)
SOME_TECH HEAD OFFICE...
ST_HO-PRV-PC-2
ST_HO-PRV-PC-2
3
3
2
2
1
1
9
9
Port 3
Port 3
Port 1: 192.168.200.3
Port 1: 192.168.200.3
Port 4: 192.168.220.1
Port 4: 192.168.220.1
Port 1
Port 1
Port 1
Port 1
Port 4: 192.168.250.1
Port 4: 192.168.250.1
Port 2: 192.168.230.1
Port 2: 192.168.230.1
Port 1
Port 1
Port 1
Port 1
Port 3: 192.168.240.1 
Port 3: 192.168.240.1 
ST_PROJ_A-
PRV-SW-AS
ST_PROJ_A-...
ST_PROJ_A-
PRV-PC-2
ST_PROJ_A-...
3
3
2
2
1
1
9
9
ST_PROJ_A-
PRV-PC-3
ST_PROJ_A-...
3
3
2
2
1
1
9
9
Port 1: 192.168.230.2
Port 1: 192.168.230.2
Port 2
Port 2
Port 1: 192.168.230.3
Port 1: 192.168.230.3
Port 3
Port 3
Port 1: 192.168.230.4
Port 1: 192.168.230.4
Port 4
Port 4
SOME TECH PROJECT B
(ST_PROJ_ B)
SOME TECH PROJECT B...
ST_PROJ_B-
PRV-PC-1
ST_PROJ_B-...
3
3
2
2
1
1
9
9
Port 1: 192.168.240.2
Port 1: 192.168.240.2
Port 2
Port 2
Port 1: 192.168.240.4
Port 1: 192.168.240.4
Port 4
Port 4
ST_PROJ_B-
PRV-PC-3
ST_PROJ_B-...
3
3
2
2
1
1
9
9
ST_HO-PRV-PC-3
ST_HO-PRV-PC-3
3
3
2
2
1
1
9
9
SOME_TECH Main Site Network
SOME_TECH Main Site Network
SOME TECH DATA (ST_DATA)
SOME TECH DATA (ST_DATA)



HOME OFFICE (HOME)
HOME OFFICE (HOME)


HOME-PUB-PC-1
HOME-PUB-PC-1
3
3
2
2
1
1
9
9
192.168.1.0/26
192.168.1.0/26
HOME-PUB-PC-2
HOME-PUB-PC-2
3
3
2
2
1
1
9
9
HOME-PUB-SRV
HOME-PUB-SRV
3
3
9
9
HOME-PUB-
SW-AS
HOME-PUB-...
Port 1: 192.168.1.2/26
Port 1: 192.168.1.2/26
Port 2
Port 2
Port 1: 192.168.1.3/26
Port 1: 192.168.1.3/26
Port 3
Port 3
Port 1
Port 1
Port 1: 192.168.1.1
Port 1: 192.168.1.1
HOME-PUB-
RT-DR
HOME-PUB-...
ISP-PUB-RT-BR
ISP-PUB-RT-BR


ISP-PUB-
SRV-DNS
ISP-PUB-...
8.8.8.0/28
8.8.8.0/28
10.1.10.0/30
10.1.10.0/30
INTERNET (ISP)
INTERNET (ISP)
REM-PUB-FW
REM-PUB-FW
Port 1: 192.168.1.4/26
Port 1: 192.168.1.4/26
Port 4
Port 4
REM-PUB-RT-DR
REM-PUB-RT-DR


Port 3: 10.1.10.1
Port 3: 10.1.10.1
External Port: 10.1.10.1
External Port: 10.1.10.1
Port 2: 10.1.0.2
Port 2: 10.1.0.2
Port 1: 10.1.0.1
Port 1: 10.1.0.1
Internal Port: 192.168.10.1
Internal Port: 192.168.10.1
Port 1: 192.168.10.2
Port 1: 192.168.10.2
Port 1: 8.8.8.8
Port 1: 8.8.8.8
Port 2: 8.8.8.1
Port 2: 8.8.8.1
4
4
10
10


Remote Site (REMOTE)
Remote Site (REMOTE)
REM-PUB-PC-2
REM-PUB-PC-2
3
3
2
2
1
1
9
9
REM-PUB-PC-1
REM-PUB-PC-1
3
3
2
2
1
1
9
9
Port 2
Port 2
Port 1: 192.168.20.2
Port 1: 192.168.20.2
Port 3
Port 3
Port 1: 192.168.20.3
Port 1: 192.168.20.3
Port 3
Port 3
Port 2: 192.168.20.1
Port 2: 192.168.20.1
Port 1
Port 1
REM-PUB-
SW-AS
REM-PUB-...
REM-PUB-SRV
REM-PUB-SRV
3
3
9
9
Port 1: 192.168.20.4
Port 1: 192.168.20.4
Port 4
Port 4
192.168.10.0/30
192.168.10.0/30
192.168.10.0/30
192.168.10.0/30
192.168.250.0/29
192.168.250.0/29
ST_DATA-PRV-SW-AS
ST_DATA-PRV-SW-AS
ST-DATA-PRV-SRV-STORAGE
ST-DATA-PRV-SRV-STOR...
3
3
8
8
9
9
192.168.220.0/29
192.168.220.0/29
192.168.200.0/29
192.168.200.0/29
192.168.50.0/28
192.168.50.0/28
10.1.100.0/30
10.1.100.0/30
192.168.100.0/30
192.168.100.0/30
10.1.0.0/30
10.1.0.0/30
Node Software
Number Key
Node Software...
SERVICES
SERVICES
APPLICATIONS
APPLICATIONS
1
1
2
2
DatabaseClient
DatabaseClient
Webbrowser
Webbrowser
3
3
DNSClient
DNSClient
4
4
Web Server
Web Server
5
5
WebServer
WebServer
6
6
DatabaseService
DatabaseService
7
7
FTP Client
FTP Client
8
8
FTP Server
FTP Server
9
9
NTP Client
NTP Client
10
10
NTP Server
NTP Server

UC7 Detailed Network Diagram

UC7 Detailed Network Diagram
Node Type Colour Key
Node Type Colour Key
ROUTER
#CFE4FF
ROUTER...
SERVER
#CED4DB
SERVER...
FIREWALL
#FFD9D9
FIREWALL...
SWITCH
#FFF7A1
SWITCH...
COMPUTER
#E9E9E9
COMPUTER...
Text is not SVG - cannot display
diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_activate.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_activate.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f283e4833c80d8b81cee8e145a4f7f876c4275 GIT binary patch literal 1096235 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 UM%*3-y8w}rlz)}?^1bhW1O3}$asU7T literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_c2.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_c2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3f90db05cd573e3b6b9ce7757e28c4582ee81a GIT binary patch literal 1172061 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

D^MZf3iN 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%0Atp?i zZhahVMHt(YW`z+}xb1D!6@NvbS&Vp>8Mwo0d8-m|h=rheaf8m2J>#m*14vymv8I-{ z7%J5R(x-h-yYwFcNikyM6_V6V8pn7d&uDuy>|@1&NIe zJ<|9t5%7UO=(0e;T_12DNnHp`2~rorMLJ}UmKJWvD(u)|OiXpxZ#wKYX zNGIGV{`nmruj_SRT|D1W58{9E%aDx8&po=P>wBn4d-k} zx%`{kS?~5X(qjTwxh{X`0g}1_-9E$um#K}el|AbGnnx?2M*|(L4qIc)??BYZ0JdP* zlgVAzHIbXW8kTha-u7JNd*CR@$@jp=%+cFY#qIa9Wh)_a)nHpKc8O7knXQa)%Do7q z?o>6^qc|BkX{O?}x7Bz=$WD=ZmoCx9OuS285z=_NO{yheFc|3>P&SD*dr8QZu}_9* z1z#Le-OhLcasftxjuRkfU&VF|lLay0$a@!!-$v0=kgU03hY4A)8xE0kYY3vOpWBT| zw)u)1FYvSL1WfyBT$>yJP$pV{GO}K74Q2GR<+GtTL>mf3d27;WP2KoJR=Z=0Md44n zgn;`0QVob~{ct}oP9@bk-Hd9IIeLb?6pD{236s;y96vBTHab7P(_$eUI$dd}*!(-y zPjHd0h9MXy8L*rrwb_t+U0!ib55E^91Slq^Od}{h9AGtjp8qwuj#|t_LBvx$(vJGg z`p4h(Ps@bbP$kj`_3V3?YsPqLlzDanjs8UA0h7cuf-CT^u1% zlm}@G2B$k5L$5hF)095HpY~-MMRUMcYd3t&%5gJEO;?U>HTI?1A!!J|<+3iB1!|CW z2@9QP%j+<)$nh9mW+nNE)OXVXrFV}7{dFixYnra) z(A9x}6a%xFP(ugP!?dfnTdUi1*^){yecnV$#zEH~j6}zG|DiD-HZDQ z)s{l3lU=SH#IEBFumYk@zGjvi_3Zd!Q1JWV=xt1Sr*KO9GT2gMF?OLaT%55KHi*+` zP%*v)<0h2y%{~SMsO5CB0vG_@{T!4K zMd+yzt-zl`INdC;4h91fwe=a78>OzOp>2hU`=~q z)4~>uxTK?)h5KLKm;{o5TF)D8&eb6us3i9SFAq!*beF({JcCNR+bPpNwyVfn1_xyt z>M5mKa|#o;kZIyn2O-k{^GJHdhuKGDj;k8oqjvEo~l&!6Hq z$m$i_$Z?Pwkd5?X;CSAqL4;GJhH4Rs9}0?CGsaP7&mr)3gB*-x1I-p@W^=Bl0vp|E zy-0|d-m9&Z+YyJDOlqL|(w=fonH+sd*X4UI=QgmNT?4k3G*K|b?nZ158`Vp+6-BxV zQ$$RJT5PqV>T%fJj7~?aF$chuu%pnOj#N=JD+7IRmkGWOG7#;?JPWQF^C{~1s*y>- z(N^@SuqP8W+Cp-GF}JLcSwYrJ6x$6xvofol2qIX6=*(xavs)6maU@uSVKT1-QX!Bm zRRz@5h6)75xple>0p_h4O6d;<{4`jDHN4#u$KkY#w_Cy4r~XKvM%K`_%-?AcoMc@` znCACtPpx~_hdomrp>WF-Z=t0d>jYt+W2LMg4lh@U9CoP6pWUE(nH3vHaNl8(0(u555+vUeg2hnWY(K-Uz)jH)1t+vL`F+n;Ck z4Lwq{S=2G_K#}ww%z-NDJ_^npl617*r`913Y!)8ipI5MSdGWI%)pgA4ccflPg8DFJ z8uN1$Yu-rS1nzR;A%7-^IodKks%8)|5TW;@z0gmE(8jMS$+t+wlV9BcS$lPu6Neci z=neWO>w$>+NK?|qni^)hr2*2BU^K*~8Si;8@;T4RR*QY`3d4{D&e5CJOERTo0f={XQ9K-|M%!Czr`Yzj;yp$ox7SIhNeJzqXDEsg6G zUf}P(0ET`q9mDD%W!OeonyR`=I<}>?BTcf4H&dmHOY?8qOm(9ZOglcV2^h-Iw&(R~ z`TOi7-pS>Zx7k%UsN+M$hr8wDvLFyqlTv}p%i2&5#$#(e!t4|Ug+8i_Qp(Y}jVeRv z@Ruk@TX^O2>ethwtE0|2Z4P~@hE9`+s)9lngQ=D57hOF7{Xice7z7M06@swEDg?3K zAeIi;XCzHi5Y+q-H#DCHLD!YVO6Qg3axIZ22Z z1>RJkj?K6qg>Yl9c;sr0UaH@M&=0vlcM7HC5y zG}NIY1F=V|ke1xwPz^4T56HnO?`1tAImh2|Si&=S3HvJ!OB(b>(?w$)DEiy?2$Va< zWRTsztp}JYM!PkzB-s|?-5f0U5|lgDli6K5c~Mn7Vkb{$)a3ae!R6=k&;36y9==X* z{{63~@p-?qVSXLim$>r^+RR!iMki>Sis$}{#xMKhCyEP`<cJ|ayom) zuhEUl-&BsJ$%!->rtd_baIY+g&>%{^%l34dZsBJBct>d|F*1fpNprjIEYJ7L!E zKi~CMgUg%#$aN>tHaq&0mV+lZCsVH?dD?m*if zJ+~48&8qvM#hhNAUHts+S_A6(Bj49@p<_$SPGd#IURmN*C4losYX$avacQT@rnau`uFq%Fn4T+# zEk6{N_}$<{1Ob*T*$z@~VG!yH%!0+?@TAA~$9uhng34_Sr7ecMdjIpq<&EmWuQZU` zgpk8wMB(DTc<{Y$_oN%_e+U_}lCA}OZ-36P7qvm}>Z;uy2+~7ns%EekG?g>`lVvaZ z-QK>j7ytX%dh^r8Z^8GszkK@pdG`AB^YxD_vTB?7YedAAv#FKnIN$uWm2_Bd5S-Hd=jqD&oLonT@UKv6t>uz-q)ziJczApazYf&YIXc%l$c5C{g-xCx#} z$=8o3X$c#pp!x%9Zc+d2se&RKRUx1#zByPxtyWNnf+wbYvkHo`b~M{NIvdZwz0BsL z@fU&#jwSf>E)gx%sV4+O`=r+%D1VYCmN9&*g2Lh8q^JI|aS*;xU`9X6nAHJ` z%h8v~$yijw07OSU1iYAG5)++$MGdhYVaz1D%(c3HfkZXmm& zR25i!9?iZ{Ch^mFF@JrXEKXj(h&(jjrN5R+NgtVd8a+rl5Q8hQ*%uIN7z`SOod&76 zYJ)+t0p)PDmuyw%WEK5MmQRfZ^Tk`iUa(a?V>Af8GbXEfPj)k-ibU|3>b&r%b22)I zHnBfJqcYSEc6L)dt6^|5;79MjV`Yr+R1>&Xfz?54ooLuSX}2Y#i2?>jN)YwBCuoaM z(BiAEiO#7=ZZV%zx!mOsZ5jp(hf?&Ti1%pgqs8d;=^b_0%rfW1?~bRV$HnMbdjm(q z_RHvbLR~84rzgEdcc<6wHcQP^^smr6*Iz&W^Yz=u-`;*0KKv1U8@~VXG&Yi^8_L{G z*dDW+5Og9&_?XvWfTFj@1+GKCOej8afJp*6fcfE%U#FslD83=)|CjUmY&m_+9(rT!#J`8?n z;)WIU*#Mv}jut=GJT#WYmgXm)VAdt{r%1rZa*9%}WC-~6d@8yTg#Z_0O#fm0VFVSX z%Tnt?_Oi)D@eM8utvQ)LPlR8w`swr8v4|C&Sx#__?qF={t>v=iN0lHxCU-L4VjAIx z(xQ~aBU?w-hCPy!@62A9z>vE(9a~u6|#UUk(g|hR5*fxL^rsN*v85kKO z#uis^dM}_S)=1nbuR*XF%IYM^85|`Pl(;+`5paD1dRWZ zg7|NIt`vVGksbd)`~uC`a~87*(Yljd(j~4Cf$S2uu#oHO?y!&2FONV8AJ*D4kp@)2 zqORd=-L8O&9O@=HhR*6S$PzYL^1+N7Wu{FwR#OxmbQ&MZ1zaLvno>^ZltK1P^V)=F zG^*KD5ewD0GZ+R@2siRP{p>lHBk2499b#z)T^~V_3OH0!sqUcMIm;uoneq;rQS+330=2}e zFvO}Ts}O`Hx$nYR@@N^3oO7j|Gf-Ut8)EUW4QT5CSE|g*gC2nm^km+@K3bR!EKK!a zlbedLZUeWVs5YZ!gSPVsYlwC8SSw8z*w`u}0N(y`ca!X}h`=soif`^(7dN$YSt8z2 zsVt(XuFivt;DV2X&w3gyAE*$oY;1{&X~v{~FojZ2DbcV&CC0o8 zNm*`EWo%~RSmP&!w5v{JsdZSjELNbnP@T@3^qsQfX7Saw*LSDCkk-DrynX-cjj{t>n(z@7p>J;1 zs|M8!fgjUrO4^DVh|wWU>5PLh7LW)<7E0z(R;AO0pW^TJ2)$6ic16*IsiBSerCAX|Bnz1|`#d97l8pAKMXo*oPtzK57 zi{r+PbJ@6&st(ckaQmTkdJ7YpzJ(+1QhOEVVM;<*%1QQt7-?2ki6PO5u*EIe z6c=}85zAMRCd3yxQ*u-om#dN~&~lcN3ONq@I z8XdRTvnn#E;5b}`pM1~ffWsa3#5C1DC>Ee2c{DXckt??`tAek+52dR}8#gfA&~vcm z!wvS^piy?8D(`HNdeM2q0}eM-ow-I^o~b2Hq0`e=y$!M_HG~^dRCO!Ax}QmKB;)~8 zSJRK!#2{=JMdZk0dL$yW$n>wm@wsWU+p};3nr83A4eaEUF>HxrUuC$V;1P+H@(E~s z0=bnfQZX_&-JDcRhb7ucDkg|9luUEp9C?n3^5SbFjREc2#8eD+wLL;1IKI4QBv@?a0_S$GvY{1qM*;O&32+KoHGxx$5f2@On>Ids z2ts@Q$UO*Y$jT9ff>+Z1)o3Q>&HGS&>@5OZiYBBT=8_P}b4_SZSLWr`oDr&X zfVOrXZ6Oe-qOHrWjYnX!chelTnxN8>eexELt zkI}1-^d;gxCiM5T(pS6?cP<`yV#14C#FO)i$Bki|iNYpFgcA;(&N6;U5}=E?{925} zO5-8gDvU#J7T!LD7c!arWd4{4FDTgjVV!H9E*2vZf#C~zC|6v^vF>*n@Bbti4Ep?! z#`)_NEXhi5@M9uMu+ZdSSv<4)0r1)J0O6uD%gq_?+S5`p3(AE9G&;Oo4<}7#I||W5`*79 zju2QUpv!#0%EXmW;0GrHRM$Uf^8&gl8DNeEwxN-TH|51Ng}PR+riFi~zKtVnYsR0( zQ_*-n{yi!&f%8=F9j*@6Zufceu01)F&R7xC>E5@vMUj?CTdAz8-mv0e3>v6{yDD0K z-L>*y`AumVZF!p_h(SQ3`%(0j}`9ahtE zNv;C2S4>r~x^zfYlpznQkDYsLSi2C%}8Ag;Ci>_IxE#~hG` zrrK?;x#2xdx{G03Y1Tb{B@|kf^R-Ia>HwzcXso5NUO|CVY^%=tC1cdASQmK~7sh%B z51wtcQ&Y_s!=<@EqtUU1iJDK)=a1oL?@Uv*o)~U-;1`BF#Dr|dAp10K%(!O7TYT{* z;~%+F1JzSYLZo&5>sjmSgQDT<$b|@#|9Lu_p%!o_^H*6}<`~e`bytFkrrXcXLrTl_ zvl_T(sGbf`C+Bxc95vpWQmfs6T-_6tmV$~ZPC30btqZmJms|>p;?Iw1HL0soP)Ks2 z%Sn}Wi5u%MzfuPCDe`lrpr~?XrQfIR%(M_{>0@k~$oFDen+6|myqDBri9HcGGZyc~ z-lLNkz_RTs#jXdFK+W+ygnJ-Ti|l#G=2*mhHTWG7_9NqK25lPf8s7viy0O~qI?xZ2Z@>yVXP&BeeJCF#C$d3867A@S<6|9* zYirDV6G=YuP2%i94T7QfCcyi$I(FqZpITSuNPeWiWj#N6SXMS9&*RWVjS3Zdp}uD* z!@p)>gRO3)IB}XsgHPSws;EU%h7HQnw1U)bk;j^dLLno@uqgB=L+rcN7>81h`h><0 z(HaDhZk*!XbwYBmv+RyZ<=R~z@-E~DvZ`C7a|Eb7@raP?)v32yJfa@;5|AlgKytw9tcW+tWIEaFx5HSXTeX>kf5KfRy;Z&l-Qb%SFk&S z(&@0+?JsNF9Rzm)%8p@c+ZZgW(AquJ2dY`goKfC=R&roZcpb;TuRs1>qFT488&KeK zFi$p%(voet3fwy24^_B%xU~gZAPiA_X#*C$(vuM>l0U!Bm&xDazFSJ8T;II^>C;)u z>WQ)KTx7ED_?|7IdRt}(H?no^IGv{{t#BO)VJgwIx15PqG{lFT7!ul6opryQ3qtU5 zF&a;)?P#;Ig(^izkr0}_nna1JgkYE(oW$Mh;~{$v1_AL>A9G2{c=Y8d-i|@!p~Q>p z(Nffik^?|?zCEy`V*WaMm@b7WB^4H(<+f8us=7aTp^7^l4w%^TxA>(BGc>lVFhfnP zM=&GDUHI+>m~E}A@_IO}a}j#%*1KAlZ0A6_KgiY>YWt+(O4Z+Cf%ghLUN~!Sr zK?^=XfR4i@0NWaOZ4nO@R2J+>meZkl5ycpx9|6+EcD80Vouw;FZ(>+*lSM6%!<|)G z(+F)8$&?lI9M@N+^VtkRL21`MXHK*&J=AK zPo;co1SDpc)hE<9c=<6An$~aK?b$ zyON;~r+6Kjs3Zha8 z);BsX%Y|5w;01$9o}um0uVq*6$&Y2!g8k!=V_ zc;T0Si;^%gklG^(0K({m0_X>rl3Q~a!7=_m^lS!!Ju4(b-powp)j_f6+j>gt-~f;! z%nh+$ea(pE?O(h$+)*%JPZ`W=8?LqYh!|a}?Jn zKwgdkyArU2@-pZUp8|GDs^v3?UI*;%IBqe!pv_rFWX+lNt~pwQm)yjTMcHVT36Bzx zZ5Xig8fg00la6&*2M0bE1?;_k#8e>su0&XC1|(`1!9zA1pe)1&fR+yYdX_QCP^S{< zx9{Iwe!9Cne?waT&E+Z4pY8WoS8vZR=`ZqR=~ezK4jliDH?&&dSu&7$^=`F(wDl&a zEL#JalbsC`Lkv-xN5GwZEFh*_eb{3wqGpJ(%`&j(=ZDQ6f`^(gu>dCLTOY>7w>Hg9lAc zorH{)jN4`NSRD94432?c8u*2FR+)SPMR6m8TE2s+(o8K;R?Q0hq>Skrr+VW>ZLnmn z5?je$gqyfey4iejxFXGr15NDqR&ijSX7#9&z#%><4(!sloI3<4v|O_Rijt&kWy+3t z-K3|!_Q{W>jXOt3g|=O8Brjw!sqcxev4JC43yD#0+gYTGVSt3zdTnPSS|S9TKYzcT zPhXbw0`Y8BS7_K)?Li2lH_xD3S(@^`6ud9;f@+`FzHWP6r$lcL?FLU$COx=p$DKU9 zvZmN4+lh>8{l1;Bof@gnhO`##lauF`o={*fso9pazHFCEK|PSsC!srOBVp^K`hO>p z6o(AB_C5$3_C8g(L?_&md2{(~%Mr4p$9@Q-&!0sjS6pN+7__n}gkrXeQD5lL1`(fm zhz{*QqwR;N_gv4NZJM(gaafcga1%GGVa}$_hQV2siAmY9QQSx#?Ul0${h3QTR!=07 zv)O5Pvo^?$x5)+%41J@$OH@1c!rfd*@8JL`5T{s^7UYh?prbtG$x6mEN#oa}NxP z&%!A+Lm#rNxv}xxUY`R?#F>e$aKtEKG;a3d&DNFnEc%}N<7Ear(Z;xf{2e{Nl1_iQ z|04be|DIHpMR1!!24jzR2eM1`v~7(HMlX*e*@cp4+1-n+KQVYQW4HvDqxjC)`g1nA zpUlqW1OjaE!W+#bYP2i`z6rb^W4f^J)My`ES%S%1%fCbT&S*QZmLw6`vbiiKU zy#MLbX$zVut&F^;-A8V{>w+x{HVJP%S+zmNJ5%~-01e;ip@y z&Gtn?^-#ku;k8_nd{-iED(ml9?BFHA-tM4;_up2I-Zu z5}nspSw|yj&rhU1edl20Ukbp1%0J1vChks?K;!J$y1PW%$L4WbzLc=QR<2GP#Swz#eIRgO-v`3^GMyS|M# z7cuyv=#VzlgPmGRyTT4^PtBSR_8Oybo2~g!eV+G;YjR}?vXbm;hP`$NW6C76wU!`D zJeisy-E0W+BXe!MxdLC7+<#1|f|nJIqcxBUWpich6&KF@2SIpr6ck6np5ob7QMzyx zI4sj-#1}^aNlYh>LVtiPj9Vp(7UDz-aczcGqcw1sbLE+|4s-ll<|HjaKf$?SPJ}y% zQ_w#|m&4I-5IdZNZ--xqX*vbg`X^U_uS39Z&x<;+9aS?X&_MmQIDQHL8$q zf`=7~5`fF|J34TNOQz{FF{d!D5fE>$H?B}hQT&rF1ThaWEZXR5Hhp{{ALxPV+9$Mc z4c(}Cyc?ICY*4_%DmLu&PB0UN^(@VfJ?SyItQ45Y{Q%Y4FsL)=WDm-Gy5PmtFikvN z#i08+dNAnot@A<*(Hx_!f*ew-u7ZbUKG3QLjZr#*R8;13CM)#zuFQw@tyDKF%by!x z<|D;bcW5`zX+?74VNqh&9Bth4WT)Ep)N@OxLmL!E$w)Hpe}=sas!TOg)dT{y2g%gN z!Iny~sba}I36ddHZc^jDJ|;fZ96}%}X5_%q_L|M)3L$1*(10A7Gnr5I?MJY8EfPTCfk|g}(EQ`%RD0{~#zgf1T#(bx#JIdn@wr zJdA{T?BP|m6mo5KkGaBJaTA~O3WsVzdU*dgKa)t)fpHk2RL|~G_(xJ+oZg+1Iu>-K z`0J603~2*lmS7m-XxKgxBh~PS-2g>5bui>hWy8Rl!9VtZlkC|`N1o_cflKD_Piia0 zdsI)OPpEc0rGUinxdP_-^K>>tuQJW7yX=X7=wrEJ`{B9xhu#^FzC2CFL{^LJy?Ajw zS`uk3=xa*UkgFD*SvtMuucL?QQmiJ?#L?MEC%uzvewdDzPjpU5r|gUd5BgxT8GMrM zR?rp!St{Cm^f-_}%To&~jE-pARnmoe8;2*Lx>f)#9FPL!#q=F>rkW2;QTds52_e-m zJJ^Oxk^CMSuGLitp)x!&G|)zwU?UOqqv&s7XnKHk1uiwycP(~P8E!2=ONCpT&&j|I zYwHu->~#TFwoSZIW+(bLwEtl1`qwkj^{%GFvOJomVp3m7cq;|I&}i{+JN-v&{SXNM zM01S>XM@uLO|(A~Eb{bWG&^PgWjPmPi?R+=WnJ%80!~4cF>UN&It&?bgZ?UAHqtHF z;c^Ox8y$ebiI|fYlFUg~R-U6ATbYOTWAn`6hz%8u{IILMzN00X3d)RrpGi=8y78;k8*FPb*q#6+ne7GN9=+70~LD{7rP%~ z-$g75r>m^F_i*x3-%etdjs$G8)MRK0nNRD(Gt(U@Dp=|CZy0TQ6KwV&3J0nQnB38d z*lMr6+^ieYMmS7fR@ZVqd|mt%=Whh;CdQUZymKLfH~B&+5%HpI6q%e?Vml+2?80Ku zpwIM@!)nknsdAxZ>A{@Wx zPiNwqZzi+9CZf85-#|TtsGblfqEs}!fg-wLJwL!p>s}^M1_$u`{dzuqS(3`)h^O15 znmyWPvfrc8A|%61v5ALGk0y#3uMoP#5#sLBE}qF1O#ZB3OVy0nq11bK)uaZS^FMx?Lx982}|9`P%^5EXPaJB{G? zK<5DW&E)s&xkidvlwbs{<>foZ@d*lb)Jg0do|oRFAQ1azdK?(J1G%ti@snUZENX+r zgK>m+wp!Z7n~i=XAoAL`&P@BwUF+gTVF30z)1F{7$6}T7NTPGa%a>usAY$Az5>5ST z0j7Mb^|c;Wc%k9Okn`IbfB;xp;qmtNI&Lc<{GA=~_d{E>A+P$^jK3i4lxkrMu#K1R z7-VtEU{Eu-4c+=T2)ntZlFOnLgmw^6s7n<>IAP*E=%z;JWM-`rCi&Rpwn3BI5ZKp4 zl+Ddk3+*0ol%NI_yh#kIcnf^APxiFi*7gb3C~v2zB)N6*%Prm@wyzEkY3t56-tgQq z0wD2winGF1LQsX6Fl|DMs}S?B6=7&knw3Ua>9)7QiTFnl&0=ny%)lL1%UhLz0~gZM zB2$CTlRe`qAOTXJOf3HtgNdykkOA%Gazg(RkQB}MM@UjPX_7CBE%WAPIM8Ps;I*P7 zWlvxRk{Y+{gVzU+Nu?=_9(t_ti*1f2Ca<2C4SGTEgzp~VI$Cbkg}{_Wbs>CohwN_xqKIg>sKG}9%+f>IvAUzfgqc_FFgZ5l)8H{0$>QBSLcpnQi*~#qxbD2 z+DzQMw&Eg(c&zwnM#V>o95Um7|7t@bbT_aSkc-$U>q!zPfs&(CTSv>aF$)9WHZjv2 zVqT>ouG%)!+`b<@{2?gnmvQT1J`+Wag4$m^-v28U`!}7_3-vGmCVz)qDs7V{F3lxb zkWrWvreyWCdM{5(a{<*{imiIlXwx)m5n>1@q-IfQHr7EaH!olt0!|3m;20|oG!17= zFyME%Mna$5ra|SDrgChJ^a##&l*_+54=#cWj@u9bJdKtQG*6avn-I`K8i1Nb`T6KZ zb#vNfz@|z;3l#)6119I70Cxf+z zL<`f#K$Pu6xlOE`Sy{ zNNu*kx94$>#dbav+l3)~YDTpjPob1{(!|%qUa6&aavl=^y88~=FaY_knrMn>6pkbG zbRW~6=I_g2vXNAQ>FvjZ9Ptd7A*ssF+5rZ!Ci}|Ub9S-PjwJ74NxDZ zOe4NgP*#g?l%?W*36-hgAI0c#QuFadamxttYBvNZBws>^S|RxoMkJ9!DEFUy z5kJ$Se)2(WszT&@$)`2EdBV3q8l3Pg18h56Gr_{)1jm0cWQ{BdLELXJeS|M1wpc%Z zicgT$GYro*Z2Z{E4AjOhkfG;AQ4SGKObt~jvbLxh<0!yquddl3H?iA7<7zsyb{oCA zk|fdNmDP*LQ1xhQ2miT$`1D76-U`F=1TrzA(p_(ctp&_=$Geu!psc1qbFYs{GfO?Ud@Z#tEMZhMyrz7~S1W@FyOYbT0VYF$q09W^p3 zING}2w50?k@p>4o&MJ{bp=L+1+2G^e4NaNV?g)ac0Xy?C-6byG;Z1noDRm>(GkN9K zfyD5cqXVfpkYG2}G@Myot*Agyf?Kc45X6je;Z-@HZz#A8dOdy`aO&KYA#kkQVoRi5 zywM5{nO8HvqY*Pri+9|CldS6i+VE&k#a_7KxN{!P-;Ez{Zr`Qa5&K$Y;3gD^VqhD( z5lo~mI&54z+Y!Hr;50k({DGNFsa~QP^5%UBYgc(&q>|qqrp7!TiJ-sDGn?)VNvlL11 zz#OQO9-!dNCrJk*l6P3Q9{7)fCED#sk?K0;`+HKaBtd-c~0ukdeOi34OYM39m21rlHXe3D7M9;lJz}y5| zEw{ll^58IijVyWs6#!^Cv5Ebca2%+cneBcV~l=l&aXC`7Ir7i>;v6wGM z%jx`uvp6Nod}@JV(8+RGEu;(^2up0xnIRYwlUzEmU0XZSjJss>Rgwv5{!N>&t_*@{ zhsY%X<7xRkBT$GqCObuln`=}Wiw~6_Y*~!Ul0alPvO;Yrr*pHl9$fpYBN@oZtEZ5wpl-hH|_y*q7P(`M2c>NI6k6%_hNrdHA=h9_JB=Yp!%P#-NQ z3jbL?MUcngAzL+cFsktJDj>9gtzUAnrZ=!~9Om#isj`{>c zJ6~R(Iz$LgRL05>yaC!!p@v#iWKeqF!x}=O0FXma-eFUxXh%8W-*;F#CC;gEm4@Ud zI#ASG?hz<=jL9&+vs(u+Z6Yk466pe#dkM;&>dE{Lo*aOyc*HKBo~ucSQiiQawAT|^ zn4~rX`pn9y(+S!(>p30%*?(a^o z+ikUPEcp`o(=sCmwEJG`LN}8!-RkKh6(lLQOhKD=LCifc9p2;z;+~C^u<0UY{jyGI zSrlARW0ap@R3KIsNYE`jOkW-;_aX|) z_|@I~l@5re%E*}1n^Okl^KAZ&PI{V-#}mruQEKn&%b0$7(w|k5v#Z{D>-4j&EAq9X zl=|2zTUAOy#GcYlVv5eU4|h-9U~zT-_ov^#T|IvLc6Zj|SlghJR*ADs8t^>$enG3fphyUr6>Ppyj8PV_A?_hUfjr3S#4R#Kj?V z914i3?<5g26~yRqsuRQU)+LMioYJqdtl+#ttiQgSh zM~{oqv-Sp#hV7Tp^MsTL{kFv9#eicyF%{~C-ueCOho4_h|M}GK|Niyo+jjTrVevol zFw~3ThNwe0y_>K-M&7G~3e~ZU@|Y-pT;Mt^fa1XIG#=hgS3zO>d`tJ@_zxd6_)W(-L>iCyo}2`M2z8pXW3Fb$rh2=#d`;--bAF`!JgEQRTD`JY$wF zFbG-yiL>8KrjJj!a)5mfo=3~44#M88_d-66;dj5VsnTZWs z@f?4@`|_XHvx{GrZ=Wy6{r`Qw{Oh+Kv>O>V!@6zqh4O(cgy)d}#mR+D1f-_W(CL+0 zNm1%R&zqi-+V5d}QvAbmWd{}JwOA^8;<<}^g5m+#6~)tmlF2F_{$QP&XFYtG_&DRL zlv@NWvYzaza1r>Smwo0TdU5=D=615_I0t;?9B`xD1Hn4vZ0cE8nmeJxX(|Kc=g%j0Oa z8hu^PMew>@%>S5Z#Usfqg$cyDZ*x)?cVL545<(>>U79^>kcsa!5`6sMKVO9 z;!@A-nFoh>}ixX2VrhQaHsXAM(em@ze_d< zX)7GGzealmwtPNdAxS%#;P0$X@Jl_}NP5HgoGVm>h`pl_`^y7}=@C^~dRKvRHv9PJ z^^ePUosU;<@Bj1RDu{003G*oQfo2CSDvh=hQ)?MnwVa;z z>1{s@2KS?!38iPW8x=c37NJ-4r_Q z8>gitGqm{oBN-%RK)!7z{`cwf_w-D9B|aB-o73OZ4~Z9Ig+#)jXpVl?O;dM?-q=@T z2~@k%S4pbclWtUb0ZNJYY2v=+m)b*i)?O)6ZC11>Jx1QvR)G($OIF!1KHZqNRDC>Y zyQ6r1dN~ullWt|p64@+ph13%qL{bS68sS*w!oJnquFQA98XMO};sYAo^HzGx0@|sI znnZ*A5eai8*3rV3!^F6N_<*%u&6sX7Y6&X_xPWp=_vN`vr`{+v0K!E`&-r;C7Ziwt z|C=nAe>1_uyp2Ns6!{LxJ(W$EIJDknDA_c9aXp{LwK1&oXj;jMHc>BV5440z;@t2j z#mW>X&U8Mw#APWK$hyplue8BskqQO}z4{69*>T>m=*)8IMK&acsLV=0m8W8Lj|A#g z(Y1;G-P(teTTQ15JsSp^^t?Ql<+Kd)?0g`L(L%DWagg974{$JGbId*l2M;xy0ytQF zHR<25Z`Wi?!DSO}CCw^W<%PH{zC$U33QEK=nE<5ogBa393RB9Plz$m>P=^LBxjexl zyGJ=iq7rgKUYaOY6)LM{$=oMVw6|m)^Y82D-&t4Z%+hKHCGon?qMoC$iTpE=Ldcq;pPS0x`-lDxCJK|%&idUT_fV!gA<*9@c?vo$NmU9 zKR}1NGzMKC1x701dc2Go6^Hb+M=H+b+-h-@WuS~P(y^J8>Z#nGW@(046=fBI&?NU= z50~NS*hFW!)`o1pjLP57%JO4Cbp@4$aM%GF7J38PIygm@d3n$ynMbMb(XCO6mV5%6 zoD;!d6E3$<%8F_;YBp#)kFbW^ULI>!no_4NY}K1o`S$jgyPITa9yo}!UF+tqb#b$z zwo|imYt@&eMVz7{K&v(xoDEI~#GS;)kx<}V!0r^7tjx4yD!`mgRe^bkDSJxa0jADx z@=(JON?ELAy7nDoJ@kLAz?hh9B}C72jM-D#4lqV~iyl!zs-_AJN7h4`l6@?vwFDhB zr8c}%F6&*2+@`tsoEja+Q!2O8YSMF#oT-3#hnlb*vVXV&rp-`=a17EKCO6e~>uyeJ zjum+o)Ur17iLCI8>)Kdq9VW)b3KTbZ(m9;fUCpfuR<%rTDfFx%CuL0>>2B4!*&wQJ zD9Q!}{YF-xL5gxjc=fCW?Jha&vQNy~hbfbqvp@)AvF!;$geDf83I9R35H8VAomFMf zZ_kB_8`jjcC&dXITslBMZT#DBXVEVl9r0+~z#o#%qKAt&S{RP`0?(;Kx%rFT-IU2s zzoR1f&6*wq$B`C9IxU*4qv4{oYs%WJ*fnJzcK=;ddn%(g*OXENg~qwJs!+*a<7~@h z)Zv=;I&BW1+*solCn6ece(lMW+TdO$5+k@1s4aDQN4SR}`J#iNwvDFSR-i6NevO8I z1^Jz|<{*6HDF|slF@dQ($}dbycA$YoskVrkJg}U(b5W zQN8KTRbBSGCxhNF{gcGl%A(0^pt@)%rt@gg>P^GMgN@GRV53xZ9L_duM(9desi1zQ z2z36H{X)lO=tZNZh?%S6Zate`u3izysu1XFJl&#I@Gr|Bp_DLRIbwCJx9E*28h@5* z3CiUpH-Mo@X`WUgc+o+(#Vy(DUU+I5@qWpbw@ygoi&FiEBkQG_O=(_Z`k4yl>{T=7 z{Iez1Tr!I+Mfxxm8YwSLe+e3D$FyC^r3=bZaVRV)q~f4i_MVE1?5P2(3Kegx*)zD6 z)`OlTjkDG46Y4`Gpfru|h*&ZmLUB-mM48%2GVy*rlcd?K@ z3{>V=8yE{!kYs33fCD?ebzoCC-&sTQhV|JSgfrQkHE#sIWsHNw>tV(?oQQB;nn0r_ ze@_QU%E^-y-^ODo(-D&5t?KvRlZWChj;R|Rx7f2PGN|CWTq^wJdp-vo?yyGzN4F1(1?Wf~P0di`u3k{BixXps$2ODs!fU_ za%3?*5)oQt`d6X8-8A0qS-1gBv-jaf=de;SGB=$|mK%h|52_klA~;FK1QCXmY0jG? z&oNP6d~KvLpk14ois^t?&R2_2*rKRuBv!Ug#i$T(LS*C+-*GAiHDnAjb}4JdH>8Ql zokk-XbZ#EeKJQ6)PSPg#q&r`)_*xQOyW5iv)h0PBuz^>Lmg|7g$l&b2b5^|G4n_#7 z<+vzX0*XBd3@gY(t-mE5m3D|B3!=V9B1CRnryNUoTU6y~j>e%^^6T_O2NjJ7Xn-g z2qkakISB3fBljSru`5Rq5~}on%}q^xs6IOgLu?Q3ISB2E9OobmgVkpGs0lNgaMm%`E1!LuyF87UIu+*`rX+tk}S>L z>2NuriJI!e((Zt5lYk8$Lk5BBeb1@wh#zZ(bi?(&?B(f^Or~M<^|Y77$5`` z2AVmDn6*&BCdboxgf`CRtyRqZ$wL z^zOZuu^{8g=h4@h@Mg1B{p8zz{v7+Zh5?0om-F*PotA?{o}@I=`a&qqkkD=`L|)nZ|XF9;ro5m%Y~P(n}%PgvWjIEX-mibqF}qYvSQ zOeQ~hgKdg&&C|tV^f#FveBrCuqWMem^nCcs@8o*FjAn%182t8GoWME(y&OLx6!^i3 z05!D?+Pr{n>SdUqgl%Xf;!R0mO`)#UsGOL_TpdXD8ZT^X#-C=h(QHcoJxZu(oY@9f z2Wz+cB9X2=Gs-k@YU4oFiZ|4$Beu~;&>JadD`q^tZ*ik02CK}LSUr+_ zA^ZkyB!lgSHZ?;Mat6P8XOtYzpvSQX$HV+wYmP*?KoCvL;K7nLg>&1)zyuq?m%wF- zx&C21)?YJn{zSVFxx?TP)(i0bH+T=1FA-a8P zr6_HY=z+>o35ZdT=Cl95&zFDw)@$|3Q`2gR`y#MCG^T8r38rUZgd^yvqwV+ zlV<^)#BQu3`^oNJqg9ffye7CQ84|EZTlaD%hPOnrW*D9Xy}=1tVa`x!!HFMSbZYuJzOHLAs{L9FT^l+HJ0Rnnaw`kH^&sr(7iRlfnR@(2`fxZ2!zAWBzsV zAUq3tY21t=0GyA;S{iFR#V!r9%tJTKSR;?)!dMUC!LzM)YO48SxHK2fH`;K6uT*1+ z#8vdiaI-yKT*3}2RRZ}iRnEcPv*$lOYRMt2+8=MZP!s$$}VqDHeol^}tPga&W26Q!djN&)b z)^>qjFl(yL4p4`u7R+Lq0oC2-L{USoDYe@D$JKsdT51Xx@}uw|)4J2NYBW0>nM+Mk zT&jG^T56hwoLYICc$t+kM_BwqXEbPYVB#?IQbrn5naCBP4%r7`bI_+<1hwF5C2iG38fITpXBDj%iT^wld(TaIM-AUq+%uH^fa3C-IXe?#v5hMUYj<`My87Fzx zL|RZsc*u2?d~cBED=HIDQ;tkarT8$;{K8S_%V zVpJ^jrsou!+^PXTAVjI_UQ=vfe=;_|nmVrBfPEXUk)bh6?FL!e0`vGo&r7ohtZH+H zrh4~=a!zvI8}OUxc}E#2R#&*T7VtKa$fKI46+Na3J+^&k0z53M^H#p;VO^OcT1g6A z*1MC3W%Yv5aqxpPcPMI9jL-}9?RXjfH47UoX(PpnQ#l%~T({pTip`W!hT`Q%+1fxa zEa}@K-!l<~Le`66QRwZ3*fO#)?w%YZ3XLzlC4h9}H14jGj)R?La7-%K?)s2-AwQ5+ z-G=zi6E%%|u1>Gj;t}<*4Pwn|nMHsZZs5O>N*XMEo>)@6fCP0`XGOfB&i5+t`t2~5 z=vJ|wlTI;p{{$V z0aP=OIitM$q}ITm)H)8AUw^o~M73^FHz2d+Se|UAq!nOZgaS9gxW|}O;THL~aR%BP z4D?oM0~T5K8loKP_09XAKAp9!o>*eSL~3;_!XOvb+p;&fk*)K?h9R5IXYU!3KY~i5 z3Hh_r+4S*+lzq~J_P7|0r<4xZtTdrY5mF??IKkDwobQl52ZMlksgJqrWIX!v6mRw* z8pp(o>(Nrwff6Rj&bJ42)Pjon>*!&+6s9yz8jcuA+ixmUC5~7XcRCy}vE^^^OBH5l zYgZL|V1JXiNzNpX=HRHnX zRH5ae2IJDmT``NKYT{J%M^Y&z8eU&kH`1;NfrMqFE7RwUVGkUjLJkrV>X3pI_;Noy zbXZ?vC+DXXa34uyU6$g53rCMe@*Xnd+3|ZA6?!xsWITxk3EJoxgL!nrf*?)`7)Y?P zO=SFrU}RNRgrk-%gBIjP3DA$p_OAuR;W5j(AVacBm$RjFAYMcN>+_#|YdtU8hC#>R4b5TDpHA4i@j zY+LtkV4g@VBXQ0XZ5d4sA(s_UsF~==0Q?>evhMbSPKf_%E`$eyz-baiDY>W*w$y3F zV}asIVE633ktBGSYh4GX_dp?K47sa;09jwpG+a#J|`P0zuN43Nd z8B1L;)nLboxaeUcLHK**n+W%$W`9q+8eD=V22--p)4+0WD+~}H527iO8CjZZ1V256=k032C~%H`y{peUY}&olBY zgx8UEDmm+hCex%`oyqLiC`n|2;dd**~UBZNuc_1n5VIFg-fhlhBIx>eb{VjyUP zJZ88BohUc~Ij8uPac6u_qF*xYlLE5>=`8|;f2qCz zSguSirJ(E2vqB%c=sEi+c=oiwehA(Urdmtv>QLLj@D@SJN6}@PO|hU(i6v69>!j(q zVVx8D^y(uhC+l45YMX`%Gy4HEFNIu`wDxUU7$|PK!e|w`1PXKoR;5;tBWzOs^sVOvp=xUX@N#Miv0S#r8?3p$(posLd2=2+6twZW3+fcT}51HvGW~H z(K?j#v&)2K(Ybxjc(K@fm>LRpoElnhesEQ39+-$?x&z~0j+ve@%8r9zWu`}|(*es} zo)>T5%gruY5A)f4kwg}Y$NPW9`v{*?n4$jV-*Np0u0skgZg-PJwjm(#xGFM$Fy>TK z^`48ET8qh@HHQ%#H$d+;JI1$Xg=EN^8L7NFDE55kPM3fbVQz@c>T5 zg*P(%3hjKoMA&+S0Ow(}^0mVQBoP9=e#G7n{JKO~YX&6p-UxJ?4N#PpuThmEoIQ0L zfu3awGyFq|^xOCEE2n5O+#oPPQ@-q31| zXUX8QtCguJKbnUVR2B!E$$2?tzCpOj5DmJRG06gAss#vphDreJh6rr?K!KRj3R2uSQMX%r zNLtB!EB2vF1ePpj$G|cTEU~eQ?}4Stlu2hOF+ZOA@sKfH<5X`Psg0M+Ve&B8Ji3W1 zr5n!|hpW@bI5XmBW|o9Z*+VjmP5RraTP>@xDe-LP`Fx2p-Qkns%r5OJx=%s3-$TX4 z$c@&O>N>CIQyKvtwh>!bb%l6S)dn^3VOJZ2sj-$Kl&|p9YxNM}SwqS4U!B_mV%=84 zPKiDy+W4MKu_Y>%hgXtT9yJ|;U(In+)%$_M&T0t;HW`lSTqf4p2c@m`5|iI-tII#i zAgdIIY?XO)DX0fB=Eb43k+AjK>_qP*>f-PM*WL?Z<3Q367dM^}vBiA$UAnl;cNV(1 zG_5~T(ue5c4z#4g5Y?{hIk=5;KQ~BNmiG~TuxfB0B~vK-Rf^l_qy2I}Q9V&V4N2~2 zr`^q3B{%*jn?Tg^G~3@qrb^AtR8#4tOQx)vNrNpZFo{vn?64=)W#kmo)HCB0#jPHT zP_tpoxi$?!&dAC&2clN9Z)w>~BnHYCduOZ+96D#hB`O-A6+1l7-_IvA+EC!~hjucW zCZ_okvQPe3uzvArVS75J8MCBTj2pQI=oB-D*{F(7^q`f<(yOWtCFn)@h!Y#%?e*Dz zMC6&+3P&6hT8gq4Z?vvNrI-Qx4Wol?0%!Bb%Z#<6U4aE1JbHd5o&IwFMf?xnN2)4O z23Z9`hZ{o=yOUk2_HAqQFou&llHEunh}o}dw(y$D2Iz+=%y5W}PiLe1$?QzdU%)0e zyxC5oMmMf;tv;X7$21kzwS&I7=8_D*_`&M%0Ir(lV*m}{27TZ`#dL>bu?%R8(jAL{$HLne zOCs((Q!Z^-1tj@>S_OL!u5>J5%T(t@*Wy$NiB^<4$dvNLXfAnf(8LE*yB( zCRCG8$~iPP`bQ?3;%#qiOpeSw$r^e}#j^jcA=;Bf6y(iKZC}^{zH6py*ao*SHyV*Z zBilN<i+yXPbLOsS*6l6^;$!Y=q7l~k;trFp5M^{nfFgg zFEQaLPQ8h@*Bf*sr6~T%_)QvJ%HxlUw&0jeA79A-c_3G4LKF4rM#cARoDSL`xyC9s z?DS61?aX?Xrp}%8I0{mdKXRucHE)Yh06N)&6kOL-5UZ_{pF@j+K0kF{h#`h;D61g1 zFIQK=!xUT>bt-u~S6K?~OlHsbE(Iqlm`aUXYdi%n#q~fbcy?;FXruO6eKiHYo;fNe z+Mx{!qhwS%??2Cu;*}-_$y8#=mP&)IFFd=`Sv9?W$i}Yb5CTy#hmi2O8cDPF>Ps`( z;ts3du|-KvK?aMYM4IvB@(3H`;bw&7?gWaq!5XwR(utK#&EmygH};onws`R)%UBmW zrWB-weg;9g$*n;+=$;HXsB2&(g!a73mIASPofL2rpEL9Jndh9SS*zw3Z>VFniz+Nr z9*Jlq-oZ&Np~}Ufn#k=cTH}s^EvqFZk`FUf>)EM$|47h_(>u{+Dd~e(f!&;D5Bgxr8GMpWSI`y#St{B*l{UY14Dz2U@8>;7W)DWw-%tK!mZ8cWZ>qZrNJ#_q`sn< z?hWmX)VlultVIEwnr_STbef9URRC96$6J+vQxIiLOC!bMk^bu2Y3I^qDcyp-x2ABo z(U%aMP@m0JNHUi|mtM$olw&JLQ24Q})?&UKEvIwgn+uP-tUFyL=r{=y0bFoz0`6r} zKpEnkjGE)~d;%pY8KGw~T250u&G2o)K650>Di~D*6uVEWfU?89YqK?fsM;D@Sg8i~ z+t#3*sS4+&2v87pp8#bdq>W-7oi%LIOQ^*(QX3a7laF$5r**57``eq}4oB>P`@>8V zVA@@=HE*2QcM(g%=_+gPJ)FAGx09HqBLQ2wP?~$ld`g05COc6eu+r(@FxnKZxyHi} z&IYFg+Dzq4*y8EKXm-kE`EveBN3-mFWx=Ktg#*vEFe#XI z`|x$~SDe2Qu$vg0Iq^=~0V+B>g%T0(l#L>j^NNd2A=!n+rgDEOht;NKQbq1#C*t?~U$+smMDC$MEDUUvKh%JAje zv^XiVL;ifs>}YSt@8t5OQI;rMjJ*I(Lf;bV+9x~F%Vpxb`#%1L6 zDY+1jqKl3}NxxOH2MQvO@FN(|h7$cgHW71$zl;(MIP_^Y8kr+^?Y6jWN$E4)SHer+ zNWr0(AZ&4w6|P~Z{(zNf2|Yy4CDoUiRFPsF=@ENw90$k;)o&c*-4?NJfg9~)nVr*Y z?PRCvr9EuwU?qoWBvaYJ^wXNb*lf75MPJJpet8_;hzbUv&7DP zv3#08&R<5epXY*(i7O%hH(4(KzMcLfzGw7xIj669T0YbMDe=4U2&LcYg)(31qxxPN zYR4NABG$I#8B)f_#scJuD|I62c{(1?=w{CZX?`_&p3cNI-%MtIO$6b@Z}1Na1UDg0 z#7O(}28!s0#NR4ADZxwYUOsv^Y=YhGQOzE0G1c$U=n|4)c1}2okFeJjgf5{=cq45Q zB@{arpbY5D=kGsG=Fbx%lnN+;I-C*C%XlVv&6gl>bTL0jMBK+zjjR~B#-w6QnRBLwvd^{CAPh)X8Aw2`WW z%N9qIUlMiX*) zUV3zLAok2Uf}Ea#aH!)a!FpKK28##d2=APp&@SF=^dkY0FRUw_X}8tfuE@0C+_f%l z6pCuEGwlgRt0=T%#XE=?_l!hSzgmF#;%a@ZhZSA}d(Llb00LlXg~!|5>$t6e@OO5^ z->S`CQ&&_*nPHpp7lfTsEo=cc!}J`3X!^>ypqjx=YP=g)6&8fu+)~M9Q3^t7v-d+0N#PWUR*h<(ny6>$@z=06K z6q*%^Pd1LLfCNZ=(tBtWs39-}z9irR+Dhhx{v#kMx>t^nB+(+~pHx@u?vx>~wf%YV zajh9Bz-vWE%ErJ9BsGHBsq1$(`}pVekIQ$Rk5_N+|MTH0h;H7s?1q?Ifga{Fkyh8dy!?$CUD7mUY!RQ z!3Dju3o{9b3{TqqVfrV`W-U!K3Xs3a0EP{%PdW_ryQ;&qb@j7%H|Pbu6HbhPq5H|BAeul;pX&d>4~ES08E-?$P3bD+%r7$fZ!n@7>M+0)mJx6QB}WO`j+UWiQU$Wo$ohn#Jwdi@eM0+w^zespfM3Qf4xYqZ z+QsAjze2Iq^f|py|MKrRP=SL+&XwByM6w{mb}3BB>Zi_~Pdnv06pc2`NEa-ma6)Pp zg(hP?#6;f=*{*qRo(60~P4k&@@-)&j!GPc48nw_Sx0zXnM7T?n(YBlig0o#$fQT6k z2mrW*Kl#yxsfrY(x=r0Y+8VH>Qll;KFusF@^_l@J$As(#30W4s>aaD$AQ%uy2-y{| zh5e44N$fk`SX4Bp0nN1rAI3GVW@^B;+{Bw~}$v%Ivz3g`Y?F6KX3| zy9>)}i^b&2^q!w^SE+?WU3GWjeAyJeEX*UnAn`K?XnFc-v-E1u56wOKLYO|+5hHcKiuH~d=YeiE= za*YW>tLN?I>PRJ*STcvfKq#j0K+F~TV=`&v&>s`FyU5B{Kl~;H&u0#%m7-x}%3V`U zZ(mAA@=&4Hte)#Tm$Q3gHQqd)47D0gc(R~9lAt72AQKwzK(e4TjKeM&_ zNhgCH>!d==?5+&Mlb|;cEiG(-HT&TUuj>x4M3N0q!L9+u4P4RqqFub%Xf>njm>1lxhw0?ko|ANz@G21ayNPdZBa!wZM9AdTaI(dGMok7 z@M**B)&pl=<}YH5`F8EHDX4Xtrd;k%N&JQFA~2zu&L^2RrDU2Z(*f<981pqn%Yd3^ zpOyjSOWu-KDbwUr9fV8+)Q2h4A{C;Eu!t*GGeKD`zEPeEljo_7g*KR!v*+=`veQM; zJ`&FIThy?cJhwtxCdACu{ikIRvuAuhTX9LMTpGc|Ku(-6F#~MxSTn=T;WO8D!NfJP zTtp}_p~uYFQ=*RbbF26S*+aE&+1}{i%S>oTYLbSK^F8{>H9AB%aX3`L$WNnYjH5W8 z{k>*`+{Ake)N6>U-FkacWg^4dqZLk>7t{ipHDN}D5uBup-wZ1Z0nnZGT8cWuJ~rNB zL+MmwwSr!@suP0@o2|m^G&CVlQDm^XT7HfQjQI&9B4%C4C+w!Ht`97NoeV$1@XSP6q@;%6DHikPXgQs~@Q~TW zOl}bgZvn%glV!JBNHaDOmUhy+bjZ85cBE-~$+p0BacTag4pok=43GWT7Pur3*{`cm z8_GH0Y^?{F(xRX+K-`c~j@mw39wEiV6v~^8;oo7hZlxtNG z=OfKpNjF;c01QHXh+#-Ow8spk3PIRn6@swY9@*y(9+2uLZo$Fg>vZ<3dImNK!rUeS zL4-)MXem7GSnHIg!z;>+g>vz0T&*T9gq;tsKrOdYwJcQg-TRxpPv)Q6pmVu*m6L=>i|(!Cj(++kY6!JO7xkPQ>PRE z{5oI8#;fE*!$_|NdX*G-5`^ zq~4q|AfIRRZ*N~w=NFI6c85t}5B zVhR{|Lq=tlfQ+JevtUI77@}bD1xjce4hk?XJ7ltYBo($>D)n0mD244e^DiX&63_CZ z%CW3GRtD$t`|1@Zt9OQB8h)Q#n=#xolw*e&exqU-72`XB@Y(F+pVvPw-*rA-y}kd> zhpQmEdDmjPXiWfrj{gu^G;4Yuo=rv%R6dYmYbB0Sog_+UO)LJie5NgPFT~rQr?c7l zd^TUuYua(U{V*8ZkLY-AzSz}ya1pGrBd#rpv;j@bH8edGuz@$Bt-u|59h+pml3uaBdL|2#iOo8n_P3hrEJsoTkdj2{4)YCjwyOMg^%0%xXwqw~x- zR7Nw+)g7Fm`i2n=q$*b1sPTFZjCQ;$)M76D`pX~M$;5X2I^Hqr$HnON=^c4|q)e1^ z;&;c>5sjdI*51I;u>CT67MpI90K>AjFW!In<>&XObnNQwFSmE6KmVMF_f)u7^w;yw zo8SI>egB`I&cdH2gNwhr(+ARt)PAj8J6VAEiKjOgw#RtrZRn6OJf#jNbRHMD4r>*0 zfH%pYtDxoQ@#|E0xbY3Kid)X-v*q+Pdyw??%jAI`p15;9akN;>zhzJRJfHEe<8xj| zkNjNtHpGG3hf%ymdHPl2=m(zVO-Bdl;1R8}Y0>`ts~@-$&4E>bo(bm zs-BHH9Wwdd0S2k~vw(I+c|84#Fq-z1Dq*e`@FJ=x%TxxvvMkQ+`*&2P)xNtte?$Mf zzIp%C<@p``O}MxJqH0@lY^CQ6RzZPe65vn1VgF?2AlxI z^oXh}y{p=K{q%qH;M?fGe?0X6FPvO``tbGpGlCyG4lSuIK@5^kvZ%=fKnBfPexPWs zY8)Q(4< zg=9c7u^;xzw~otnpARKtC+P3=oHcfy$H2#G z=Twxm^~@8fvnY(p7^IUrio$qeFyw&F;kF%Rf*bHkr;Ei%L^tp!Ugy)7CFPh+#Ge`* z<^L{d!E5np`ZgAafjCR}YHVJHKz}horG9@*c_uen=BI%_Md-HrGkkW;t`(hGj)V(_ zV4K#cVlQt^TpFsPA_bY2;IYGHrgcVCIc2pb(#T|^0L|YQvgCXSiAB5_;SQKZnxfrl zciB*|MA3s0&&JKz2h3=OuJC*YiDkj~kr~`XLi1Kml`feq6e`-Kz$ELY+17)^G&LkT zMRBXA`C83{acORT{Z>e`;3SB3py&EvSXsvn`dx&nswWNKLgics-lb5a|7XxQr5QL| zaF&l3)8YZIy4oqi?vF%7kbtO=atnrlcLl_K5oiE6m^G(k56rSQEWyVZ?fwOV4%h^%@!cfLZ-XmB<-r7d~aP&AOVgH$wO z8##G3R2310;+guXXe5`wUP5U_k~V>OJ5H5j86# z@g0h8irvE$T|`ZaqzYcd89z%(Hr;PIC2MVSguhRhzf%EOJ2{hHeWX{yC7jUT(+`Ok zLZSt`U$lu&S!a@C?fKWm16ThU?LAupFDYH&MHScd(K$>}R>Ne50f)+l;H9(&RDwfP ztPMDn&G}Htx$#UKpq!OFJ!Dpx3D^BuOZ@$AuPxb-9R5(Wsz^^m5* z5_!}hlDpGEdrr-o4)z-EWV1D&y+VIm{KNSrKlPEiZO$0xGCn8&z8Ut~9gL}%fa5j^ zvP8Mp4C!V=m>-#@1YJ=Fanvt1@BNq(0;~4&^`APB4BpXEP#gt&`ea*0>B3RquuPK? zUmOKn+M*Ump+CSN6SqnhRkevm$F=t%=tox6UC>W(mf5&wI1%n3PC@?=g>^^2LG;uc z333!Y8$eq{n(FN@cQ?sy41j8ykGi>QUEE~45b8)viKK%zvgP6Pq(ki?Q5JH5E$hFy^&zG`)shNql%ZBb?X;xA*rH=EjOKKLu|=odes~a-<7s$g zNEqma7bUtD4d0?(B#FTeU<8#>*s)YP6R|mvd#E2~Aom8cn^8qF_;3};n3sU4tBw+_ zxDmiIivukM>C_YTF~sj;_)7K-95s$)IX%C7``hUq^~{PS1_pav4_{mVyZ`f-@yFKi z^p`)MzxLk8mQej-MPH=1bR5J&PtpA#mf)xJH~;j$g`JO2qt?6cfBg0BuNis~%Oq`c zO(n)JWN}ofZR2@d09)OK37P_(8JjN-C~=XcK*)H1HnmcH+|tlNEXJp1O2col2v}2H zw^z6b(pgF1qbPXe@SEKZVlh5*ds_B5h-Kv<7URo)QDN!b%nKt9!I7zoB%%3M1=R5<+~dp( zTU*th%)BrHra~nSiQxLL7V%AzXO#iS; zl)(*SNp(ZBCod6=E6X2y*t zqBuxAI{F#pl*X6XAV8=kg>xK~a!!hC)Aj=MinHY~=v!+(Y4g4Ss9&ptUjC~~mmlDo zGU3V`@7?5IqXaKhkwhi26HRKXfCS*hnxpq1q z#r*3{xf!Eq$3Lc!X55|RmY!O$(^?+$BAAjG8MY*ihhg+}xjjxt5rt*7D4BRZuEq|n zn2uszV#wKHY8g|bTO+hgGiRfiA!yIE)$ScMVKj>Qp#iyvDYr};r{>4);OcmCiD%tS zW|$0{B@4{wF=2P~5Tu7-Pn2vM%((Cn%mU(k4vG42+WNN^Bn^GI0U6!m|t%~s%b+|jB42yw{1|I z!d0CO9fD$fI(DUZ+{8UP+kO*w<3q0=l06j3azjfG!&H@es*b7kX~&zm8y`=Id`aFC zm(FNaHE{!$TaT-6|UpqwCf{R5vObba&w`t-+mj8Hqcy-V0=3=?|! zzc&w$zr6hS*Wl&bpNrrBcQL+-&&XTic*w$Wm=Ha_Ai%%~_rrv~UJn1cfAjUn`Te)$ z;PU+c27g5NXiF_q>5yyhFn%FRrCJwjJdcZkH@fhDgP&)Ur{5nR=MUe1eV%qdU;QnA zNro-f)SG3Pkn#R(+NJs&XhVky85aRhO*Qr97Qy&+43au27*_RE(i*4QR0j)_;nafl z-3}8nJ|ud+;t^+npZFlhVL~g12^pUz5UdyX|ZA&fqMZqpy*JpEN6zFKx-d}@N26;7{Oc49mcto?D! zP)KnytJ`9RM~$N5dFRPIq;e4#ef{(I9}#q|{tS;=kEfIrotb01j4N(WZCE=9%ey9U z$aNOK4zH&~%TT6Na-XLR8CM#qd7T%io)4sIpyQMwRVS!_Hxv&Wm&@KoS5x&5xgow* z{}>;TQ#>Ds3@JomSqOuY&Tuyx`L^khp;i7+ooqWwZZP)+u~@%LzM)RQ8yU9&yA^0b ztYf>DMB$WPCqy7>(j(CYRwqE1aFt`*=OIHz^&`Qp+tby4S-LXPxL$@gIvRJg^(+ZQRK%o9Gt9MTH@nFpuGGvCJDY=ozt<}TU<+ed&A^elAbrQ3V zgkS0KB;SczBY|v%VyG}dv|`ARd5Ixsx?miJmN6xNw8inWBtnu0>>rfYG9G#d_RPoD zl2|l?un9wk%yJ9l9;Vzf0j=mzr!(JoKV--mwaZW1M`l-evbByMGD{wKfqXDi+9@i* zB`W>_SkBFP(Je+4s7_4s`z%h35J2aBiRKkT@=w=|)jRvdL>|WvZQhq?UOs!upeANg z#kkTDpgDpE3Gn0iA-ylrj9F&WT{|SJ#}7Gk60m#B(Mv$BJy^C3f0eKS+bS^^V+WY{ z(ctWfc}M2TiFrQ`CfXn|gK2CvpdZdKQvU4P5@03Q)(8{s4#da7M8vl8zhyI4BB@|- z|8AFm&qQhde6f6*Kh9r9vrCG4_~==d#!b)pc|L#Tt>OMRSuX$P`u@?^<(!Cwr{(jE z-=)og7k~e*zW7Kl$OQx6a3QjTqJAqr^FnZc@vHCCrT7@1Nw37`;^{{8_w+;Jh5Ssx zMs)6c2ajvVcEd2B$F>IT>B4tlX3|UF0dnmigMS=ZRDCg_9LSUB-nR9sEq(=oxlw+F zLx7XD8Fo2PsAbd7=kM3^>C2K#H|i2RpQdf322dMq(B@U7x0*JxXsx=c4U*8PpXzd% zi|}{ImkZjcr%`KRI((8^3$xR`p3DdWpPkow$C*V{%q((*$)?UMGJ~>$G}v)wk>Xus zlWR;BE=fK3G>HFok z`PKdT!*Dj8_QKiStRIKxc|$CilpjqKi^8zYs$mS<+eHWV;{q3A!z&Ij9TFSqgmroR zIvr2Gu;ES)E$8#ua{8J*_%MHYq1j)V6Gw~1{9E?4&-2+ha}ND_-sGNdLmaq$7{%O< zxR2zT;^+sSk3mNUA^$FM{LN(g_=GD5yBk?_H~oJ7{qpyJe!1#L5C3=j&)-*%e{MCh z$oPfwfh>r4N*<;0Jbs*I$})1@W5zG+qHZ_u`W#2MtQ_59e4KcidgdfA-jXque~ASi zU4&tq{p=v@c20(@MWlk|>!_}_X;e@YF$<3P&S|TH@d+WIHAHJizMoy#yw$4M$M)#B1+34X9 zQTzNdMg#eH@_F=iM*9EEo*Wp>rjIY;=EzV?#GMJIbxNl7l;3!sj>p2zo(Y%rYV7$dObYTBGMA#HPd@SkO0p-_bt=dg*L`5)U zJF1pb7|#S(Axe|zx50JUK%Li2;K5o%!kmckgoU>c;e`cAelqiZ;>2QKLRu*LOLU%e z#;26wtDq3SBo|%xyHWyDx&M=3FzE9?tY!GebaVxitn>yyhM9BO!L@opx8m82xa!(V z@@4eNiTBPACAYMsH1tW(rvD~uvFr4Z`FFEEc9R|&hC`;$89*(5HZ=<)Uk$s-LG(N) z*UbxNr$!S>#85^p-cUPBOB7=#CC``N$)r)vpR`g8egS;aPm+X@q7eY=q`>66$^H0L zJZ*lW?nIz{(i^mS0o_2J1NbH*9wy%qpp;H074ohN(2lovt?OUUT2~(wAlK2#DBRZ1 z)7cDu9?dF}os7B%xfInjnhW|ee-S?A<6<5&u)1u7*Sp4rPO)2QBa5rWOs7p-CmbY_ezs zJ&unIvBfd@;YIR8--$0ooS?)Lktx-N^MKFY#}j1g6H9hPo0>040+SD3pe-5<_1vxr zaN(eR(l#XAJj5I_D+bKfz@EIly^iUVo4eN8jbhAwWKh!No_{1trxXl>X7DJ%kYn8p z28Bznq(nBIT4{{Za6P^1qxyJ-szGu~C6`4pQ8c|b(fumrwcCxO%ujA;PlT1$7v*<{ zNzw)Fm)#=^tG zB|_>8uN6#&ATu(UO%PFOW32O(z(a-nV6f)cllJzN>(7ty%+85EVmsKqPk5grZPuD0$oSu=6V24K?>TW zdGZ@=AreQ$UW0dHKOAQ3WGpd6-Xri&=w-otW*HJgUD_eAjk1P_Q@C)kgK**D^Q80n zb9qCZLb5sm#fmpkKsU*c9&0&;TU(UmE$cZZ=T%r=84TIRHzs@A$;ZkOI$z<$Zk$Wq zby;GFu+gA>srX6>pwZ1=eq?6*Ue-Ie9_BMqRV~W97LWJ;3Pl&nIlWN-^6ywt;yMV> z@_%UrA`>M~`(xiYvEvfz9Ym@zyL+wO|hXq-oH(Bp8BqZdc@ny8YX zAWy`3+QlK&O-#myDE~7H^k!w3URM~qglzjH>LZqRQ!Ws&xok8hVJ;OqR;awyO*z?M zd!yN3)y?uWDobX8OL#}Th=rwXG8l5`9f>-tT4#P6pIwN3E6sY!1IMFul@+YKKmG?Q zVB)H;#zlwFReYOdIU_#kT(ac_|+@rrMcgROF3YEm{N|pW{T-{LTvF+`*jDg6byK&s)MtT5Tk*1 zi9c6Nh()9`h1%SILQMQj@kaPeNqKi33WfeL|CDl4nsf zL(efVN00D58ksc0JWn(Bl*k0x+43n>d_sdTjiI7sunEQ4hP{Bf%+PZZ$RWZhZyL4x ztSxHBI1;7o0X7@tNNulh$(>klPtsB$1}Pk^u$=Q6uGm{ZT3T6>V$@&4hI?v-App9w zUVULY>8P-e8O3ZUoocLB(BoeVs+up~Y!zmws<*Ays?JVx2J0vT6rQ!U^d6J7Zmf0- zVOFy-Z*K}YYGjI|bN`wfw%R9seYyiH$eO{}Z18a?sVTEtN4pjZDnA~r`%!fK74KSD zK=34CaoPU0Vj2f~9UL7<#eoDPszw<}oU5y=Fe!*Og~3YLiz+jQ9Ic@UQhXtHkVSLi zQU<*qKMgo_ZtW>sBJJXhR&dDZnwg&r>qyVq#MgKn@3;deS=Rxy;nALovFXNIg%DE- zGjP)o)X+%{Vbo>3v3>}_(J6V;9>#g8)e*8@4w}S+Di!2iG7FW6|JI396hlCtq-7Gf zA6lokI80^9$)yr4lsGSnBer4YbldWXs=BdLS;N=bAO+rx1Hoz%oP%1^P81h)f5EKTUSU(B~=_;M=Y1e;5rSiqm}%(7OkwE zVCDy|LDiE;8_5(0B@}UEZooVSTR69YHnQn3lZ`B@h{_Y!guG^j)(+7~1wEl9msfM7 zEqR`O=*fyehUDG6(g9uhxqE2`BBdt|c=VpM_c^t_L6C zOxhwcr2J^ogw?B1I|j7bN%Ey^z6Tu+K~-4d9M82SBrL;`t;xccH`>@^Zx2oOjxibL zXNYwGL9b!??d<-K?vI1JUU%_&w*0d@??x9bmahybw;*mgw9M&%>S@~^93oZ?ebBMW z8g!5mRaHaO=HI*%Ps+FmcxtLUUv3eMUxzi-S;`6*0Zam4s_2>Tc6hn*A<^>{k2nMT zL>nIm1*{wtV0@ZDunxHmA|piVeU2_vY(aE0@{A!G{>XEQY*-oz2p-!MD?BZqXH+RB z-X6*E)22ko)p>9cT+nHyx2C9j36&)?W-z<`lOfIBj5?hGjU5=E5XheetRRh6-c>_a zREI+d!u`q+Vr7EOkG%~N-KwT}>xLYfo1%~^D`U+LJ(3<#VF}Vx)gLS6FH5FXG6R<75Lmi(Hz0wMt<*#{r_v!lP{ZF4xTMDYP z2u^NF6pkppHuyPP+>$MkeSPy=i)MF_$&zB0y&=u@s!&y5p7zdqJ$g{Nwi^t-`G?6MwCZpU5NW&*`=#Mnn6OJqqYf011=;h1&`P*nQxqVnnUzfGON!x0o z{V*8Zk4*THPQcDoFF#$zi7@fuF#VI~Z35G#XrYg|VLnmICEvR08%SFPKC(Z!)3OJ4 z_0^&Wqj5*~rCRe~JQ34F9gc-46P5^XfY{ITWWVXK4L$ZcpS~==2r(=FE%>hI@7mtp z1Na;)HbW@W;yJF#cjBArd@nb~Hm>*v>C5td06YiM$C+KhSjVSQj1$X$b;8Lj6#(<+ZC?}`YBSuMr*OytR#JrWx(%T~ZJn4|O zrHJT1)0&dL1*=WI)JpTZAtCVp>|F_b6V>)s{~&e8T~wgx;{j@GGD(vZWa&!TOIyIo z_Ck`jfwn1WNEa03NY6j1>YeC()*BFg4N1q4M9MOGI;c0o4Tg#W#ndnR`#calk) zOeawEr!+}3$(`?<`XuyT$OS7 z3OX59g2<9=NkVg9m3tYmGbwAoGQ12c`4bghMi37OKTzytG{_F*Gar?<#9-_IORau61~1>|0tc1r|kN!+NKOpE+$DC1oQIz5m32Em}8azWfhe^14t2Ih+n`~x;; z?+=mgXj3Zfl9kq?vWtmTL{GqClOoUs=nAe7Ns$6AF)|8_x3|t(RD$4E+@}=(54;~* zNd2=I5JDqi7c|BNBhauisUpBJzAfa2L|B=OYRnQfU2Q_5{zzi>o=Aj(YL)=C_8|H& zq?5`zF~yllA@36Uu21f#1kS3r)U&|`nJZPccg|=eduoK;AMD_Ivi8yJ4q*;J1kf*& zToj^sn#XE+3s(=ssK$V7-~z<>g^4hrqZ+`75;Ec&wFCxX-c7DgHYi4;aeP{V_a}Tm zK{<$8fk98?ziRFva0jvjM8JEh!5zqUsY&jDjT+mvUs5$9(tz0l(>v7lyrfKuNPKW@ zvg1UxTL#tJUwf-8tCryv=z>BHFB+r)6#HxEa8t4+t8 ztfV-caR#LN@>p3paj99N<`l`+GgRa{yBkMOf%x=JN3RzNj=>G3HE4>z%VZbx1=W zA}1{+1N{$ofTgA6pueGW;&hFL1Z)$4r#L_poU0g_!o%J#2*uqJMo#)4gEiC^I`fMW zQMRFsox@#~m^48h9Koaslm!ZsMraD4A<3Dc_767is;}we!jJ}205OK#FOO|fl*DZ9 z(&=nAytY!i$VPF8$61_@z?$JI^-w4kXS;Yr`g|+AFwiygtSFO)!W-!|8@DOWbJ#o% zJ8cxoE+=C>;$LRl3DsmSZb>8uhtvIM|m^N|A39vjB-7^ZApI=4fE&L;JRdoT2LZsh&#^hv!j3 zP??Yd2g?X?st4=@9I(S&&hSS=7C7i2P&8zKE&zH5tkP(RxjG!#rzQGg#HD%lQ|-*J zuO|e6mdn{MBz|7SR_llt%x3XXu&n*ufWO18Et zDV}4mCNVD+6mng>$*3c$bc6*&!sFtIk^+2QkYej)_Ml<{aOngQ&m>F_WB}P8T&2^(Ok89AeOdtTC znglIz@>-qO#&k1UBB4-B2e^%d`e{f(H`49Gnt577uXgQqc<9ce_z^#cbOE=uq@aV# z?m)8|sn>X)wL7h7Bx8}}33!y#6Zz#zPQH(Ut4 z2L>sAAlo^Zd_rie&o6V@9i{vyB5?4yT!kKIiTFXAtGF1+nW7h3-ELR8_+@#nLh|*< zo1t${u1G!xejppEi|{!>GR${$BT*E31dWmOJ)Yrk<`=+~^)MZ@$m%KJKMi@~(gLg9 zRZczRzmTw;G7#XOh8GnLOmP$zqJ@KXY;7#d?3bzU>&O^Xo|>LiFsR+YOqjQfu*0}< z6?sEp-P|ab!G9Z-E=<<3I>1M(E+mq86&;|7tdpT}Gw%<%kA4(e4wX`@_zRRsPBNk) zY`kFzIybovt#X5+O~?2KgQPSh68<$b(}7G`HQ=-hID#&MHUs3+MQ9@$1dTS~Xpu-XT@Qxu0EGeNqr37zOWcPF7)UvJ2J-~rCIjlL0+pC6k&V|{=5e8is4QKfwU47P*=p;DXV?_mQ(T4kBB{QEY{h9jq-*Ep>Chka zF3J;kI8IBq7C8&?eavta4shTEA9@S?1o>#l8u_37KY}AjpQ^V__Hn!-;?aiqLwcVJ zV@WH}f*`vi!7V-1km;qNh@Dp2m@kA1Ruz>tB|C-B1|)+B^#=SD=6%F=&0xD=lKfXD zzlL8JoWt-}gKNqUQVjjQ{01rF&yQ-_EoSnMxVqg4GB$h}{zg~e%K+_%bYS2`C$IJr z!(gve#vh>*gs}++bzWr>-&cvpQ@z25ZBN7<`|+cQ6zQVT zwIuo?)}WFmL#_tS1JJ5*Ns@iTKr{9)Pz%2#nKlrWaiMJ#q1Ow3d1Vr?j^HGyGuo3S z*(<7^2_O~Tq9dAegjIOhZure7su3TCnKePH-`ohd-rCLVoVd&`$#Lo3C?Km;DIv_0 zl2(3sFo~7SwkK6%NC>k#5xE1lNFEN2p7}Zdzu<=ybabo&9Egrp zsx%vnAG|V#V;x_h$DJm zMG{;zf?*hatfG>cb!e$NBN(V}IsNoBGy(TBDvt0tw!vlp0ZE)?oBGLpWK%+xW zAy6iVAE33ZlDsYZOG6f1l_3BYlSLdO5PBA2z64bZ5W-%heSBxWV>^}fs)m$-2^WWeCc7}k zO)!v!!kVx%X&h^yr_kx`=&T04d!yD!xU-{fZkwzI5Drko0>JU2a`Uus{ zab#)}?lX1g_i5~%kAeEGbo5`Ec*7XD4sz7q@)(lfF?eernF$_n>9QMz+8-H0O=J#LwzvKw%t6R3j1ygt*WoFoP4b?+SF+1S3D;s!a>tXF?oYa9TtnAQfp5 zP7ns~UPZ4V9Swm45UdU=X`D5H1W5LE!UDLaoS-Fv`~q~aiFmf)ae;2W&*T>(m4h}1_yjreJK{qW)XQtiEHDF z610|B{9Z+EL)R0b>V!e(`ALVBi9~*ATc^8La3ualM6Xj=}DN z22C9FOSMg0vDO>iCJrFKGEJQ1N{HlfdAZw4f3g6p>u^ z5*Sp{is+yqfr;{7G<6UZd|oP$z)&0GJz(0H3L*}gxN0WuKEiT5i9iT_1kMqS`5_}w z>dSuqjB8F;!n&&PmSpev+QH^-{ zW)FcZ3Ppg`-dL)X66U6hH%o^#5Kj_eC`L8(2sM&8vWPQ75Olm%+USQ|@d#bHskuP} z9p3XOZAuGXxkR+SYThXDMo>Tf#bv3dLi6H-ovDMz+-f+`HA1pX6(*@SnaE-Qmm@z$ z*n1K08AtA{j;CCGzKab{h4CqJojMDx6G z0V}Qm7vL+j`%{ncpMY1@{T#05n)&0lelK)GQwmPLz44vz%v2@qYsr(x*}2^(H27` zUpQ^nf|x~< zr|47lsfesqZlYT_Zz6Tm^x&-No0edXPei@z2BQ%jw3uLlOKa#B%BMdRPyPuxkl>6Y zl0eW8$l3x91=2<&p-=>bJ0H%-!N8$Yz`WZ$_!8eEG%z7&NCOkVsv#uGrzHpy$xH)u z?5i)ch7M`Nf9QuG@Z^yti{cQ56yW!uYtjuRD0oZuzh-t$@64=DZF?uhQMeXknEz0? zXq}>;@O3Kjk>twcGqbwJp@Mi?aT0%^$hqsZBvZ1Ddo`#?$M-I_A;myRL zh{{466KiWW>XDb%9N`Ah&OaC@HW89NWm$_$T}9Cp*({bm z`1C|S1PN52>fA3`UV;?7(Q}EuKmHnyo;6XJ(g4(JEPY}&!IA=3dr@!$pFv?3%n6`+&|w+S3R>fUNxa(8IDq+y?i0VmDNc~eMf(2YgReCns{q;E;*zq3ZQ2b^ z2_8XwD&P)VK^>RTD39bCvlX*?h5TCpw{%BULPw*%%^muYM37;cws+%KT8-$ZLx!K8 zNG;b4HX6)s;f8C-Zpj`Yx(Pw_MJaQRBGC|hLZy8YQ6CXpmC^VLI+=juIFx!B^dYfX z`5DHQ;bmB9ps4UNf`CByfnqPCL3SXY0jabl24e>(M}T}BZ>2uo0FOk79E8Pg0l8Nu zJ0L2wByh|ovtNDFFVcKN{FB9A*7utBE_@1oDyC+A9Ujl1Z0BG+fZkf>aiNE(6IQ%( z?BnDhB<~No${H#LIz8TB;}u@?6aGD~z>EIw>%zc4U~|UgQ8R;OQ7X&3L1O zIfkF@qv`Sq2FdBgDo>Z^?UV3;II=H55D|^qBurajgdGvmCTWZdM!>JD&z3c$O{xfR zjBg9c<3w0qk7~@4az+VUBF;zxpS`1664*?Xf@+okO`H&CMZk$E&Q1!Mm(X{8az7<- z*2eG=C>{3GEF!YKb4DZCQzPvDUwS3lQVEO@sj*)c{76kP+WRd_N~68-(hw+{<5KfHRw`xr4wR$PN&t+<|PDn&b`^ zV%O?$2eSo+(yHrup{!dh4Uiots@*ck-m38mbU`7B7Y)2ZMSvq|AQ9^Ds;LC(&*7LS z)bsyVVMv21fEXhU zCXa1CKc!=KcZo5Pq-y*craz8O3bcHmv%WNxgKtC-r%+c1Jm>J z`?XGvBb}NIGEqI*BJ{}?;pZKCgC!C5M2aFWlP(ebHw8Ej%A#q&!7M550FEq?B$|)7 z5EeMGRq0Y3R)`9Y2g8Uot`DU{bOc1WhuX81? z8qtnXeF7#9crjqtf+KH2TO59sSW6V93m8(+2hwCuD${s~XJ+i5g1VF1;R&?t-sEY} z>AHHIX2$C>zpmT{7m-wHf(7P55X{19(-BsO1fv%j3|t)SUE`%t%-a_*5x_^qq9i|Z zi9+No;2EmEgG2OC@gFkxC#R6&EA)BI;S1gULg1~zo$I6CTVpaP9TSl zpNQ~iKD{Z>Xg!K<8uEA_?4q7j7Z1<4`ldUi*iwahE^SMHRV@Z*m&z^RYK z_i`{BFqo7K0g;CANBF;w)q00YL_GQ-U4^95sTlp3i%7Z9Waz7V!cS>$22ld?BG{1x z4V%EeFZ;L&lGhAJCZzpEg#iM+6P`wX%36d4{^CBR_O}%<7Y_Ql zG7Fv_aQ=khHxe3ONtH>J)3*tttW&F2M>B3|k z8Lqav_#$BO1@r!p`{);u$)Qq;6@UF3Rr(nH8aknMlXkD*f@!*GfTpcT`d9utC^a3J zK~N1iWah$52)+UYd?DHn7{QHtfFme|%^aqbh|or|$u!yocBvt>5hf|o5(6vVXiq7@ z8x`68TzF`Qt;{{Zfj2px^OqIdy+2|4SAkLfh1Ncf!epzhAMRHvwx_rX@kLU7SrGY( zAmt+wFoR9E7C8&?eavta4shVn3FrgkCkQ7%*2w?t{}F;60pRO_<{Own*2fFveNIl+ zM}5zaHE3-v@iR8i1ZvQzjxuC(vi zfS(!ux;|H%V>el#uAVkZBH=Y|@k(L#kAw}JLUwmI;klUG-) z?u?Bq$RhX)f&QYj!s*GVW-MMq?ZE8s4S~HX*%Nd$I9X?64Jw_CK&}SP158ij*%S5+ zBjGE9ttnPw6dX3fw-TofL<6#lt%W#(Mw@Cw`PwnSI)am+Uk4Oysw8Q{UQzW-0Ot>N zB;}w^mWIUdQH^-{e4%1JJm_38H^QxVDqePuw`eE58wKQmiI@s1kC>E6nph$#JhGwB zQLVt;8Ul29c^u$V037=h5U2=gV9%84UaBd{jn zE*NE01`HbQGC`n6Yb`E0q&Qc!1P|)j1_~Y|Vt%T1R9cMaCQ$-a>gTJfAQK*mf%<5(0XVC@F+za{{mqX=JTLqQUh&jOrv{LmNn5zxDp>(k$;2KPNQ#^?b$$j9UV3NKM(6vY32My8) z`2>vOl%w(l3>1HhGB5$v0I}p=nK5D^WnjX^Avl1!6qglu0?_tKVNKYXG>$dUQ|LO3 z=&!;`?=`F$FDN0*{gTXghanxFy|V{*c8x+rmVcK8aaWs?H>-S3L=aB^L*qj>g<8#NG@^ zMJN{twZ;~@7OvW~;IxQ1xS&OB(D{*ADT3`mU(t9^fhba$6DM9(rA(gnOu4++q}0 zw?x@daZKgHAfL|>$cJbo9P&Q`K^9&?4J{&`Lb7$JJ_U~bWz`e+5%I8qm=9c4Rj>l9 zlw3Tji85&5wCu}+vAQ@$3&k}pa!Cf*$^2(ZWv1W~Z(*O~ zuf(^0`Nh@ZxJPkf5vh?H=iJgAQ3Kwxc#T?_e}i(1;p6)1CO> zB<}iKi;4nJszfwsUYH@fz)OKtq3)7inqS-3d7<~Jdl0R@PCAP330k2@r@Fs z1|6I<5@CcxMwAf0sD?O!kI1<)@D%ZFTPxcyaa+~fFN|&l>0N{n-a`rQNhmvEx-JHs zw4q8H0sK;e9+4ahXNH)c?2zQ@>Nu-7z07eGQSH6tb!qKv&?NaFiG!|03rNs`GXa&F z=PoK)0O+n!jd+$eUhRz$8)yH^?!wZ=o2A1Vh$o3K6r&n?gc?a4S;Uzk2s$t(H`g}{ z*L(aOX5&722YVL&r@)Mo_dH6Q(t=km5v{M9HwwHF)K6ycERk*GCs&dp9Te!2U|a$} zjqIb4EK`L^>P;rH7-Sz+w-Pvx+*!%RquRI0XF{Yw4xPIYp3|@fV^j~CXj`@D)QM`M z8EkMqE+e8=oLN`i$xj?8n&*WJSaHjOATJ6>-%*bR%(!c=nLiHAX{gGhAJA+--t>tt zv=|9Lr;@=OyoRp#kj5faUv-lp-`f-cRPs$fm*q)|RSZeazX8t(2#h{dLg|XgS4sp$ zZPtRBz{H7bFhdt4brXzGD@wZtgO2zV*yF0+HvruX*If|qY6R&rS$3tXuEB{va3-K= z)%nf4y6QIcs#^iXQqWbP;toO|Gubq0n+Ee0*)&w7YsjWq{Ra}yDlW&VRE1@Fiau4J zipW~!Cc1_5CQ>(zdDdovIX)5ft{aR-bkJgg1um_jTPUCYP(1l3v%rrp9 zzWPdE40+x^^g~eU%_B<|#UTtS!0$oVq#H`mElBpiW_C{R%&bmrdnd(FxE5oW|4_JS zy;8M5I_XD}E0fR6>Kca%;%UW6{DC6puG5lC$tDw8D8Ir-yVZLdf|eXP*pws|=go^Y zCf3$$)FUs?zf?o^1fre4c+Mk07m__?S&K_uMdemEI#bx~Eb+)9yfT229G9cBSuB0< z>4|;_5~x7cxnHup#P#Bho=f!o@z-$ltck*$CXqwLc}bc?wJe?ZY)kJcm6gcS`C%t7 zPlx_^9XQ5n*z$L9LU_>p9h^R+V%fD4mci%04JrItEu0QqS&7S8>?y^Dru<#ty^01( zPRq0a@gR1S2>vwqWCZ>_;hm%EP#KeaZb()bRnAX*Y$)>7NAbaeq@E9f2G5|Pb_*fl zB@`eV#M2YR{6vTk0%jGoQ?G1-oV8RUh)6*onmkR22eBvQ(XdmCa19DvOhS61u|OYG z6^25FkXk8{F11Tx6oW756^wzuZIT^V8-)q#BHF;glrVKL9A~-=Kn#7MA`nZ6c$CiI zH-peme2&GO0ICNamfkVfJwYSWU4+10?bczpZFb4mIo+}^!>#LUu!&80kXTr zC1t}t?0X6xL3}FU4qHJT7xQdMREGo`vlX*?{*DFZ-vYR$JE{^oDk}t$Y($*ZHd9y0m=~|AIDp% zYUCg+b_>Y8GVPYA(2~GWHK`V{ICQd_dr+>jhKhks&*Q#VqMz{Zc?Dkd_f(vN@%CNd zAFw%lf6&TQ4V23AGAu31yO>$2KUmfbQkQIo$p=f&LZqxnfu0x{4aPep!CF*;5M11+ z6#oz0A6iO5mZ3FDn#G7UO36m49Wl}jIY6m%3_sgP!xIt=lGBUT?J1G;vygoOf{19; zCSlqNBkVv3jf7p$7#ECy_j^8D=B`M9V|-iG8GjSin609jU4dIQRZ9Y!iBeF_5}=6_ z;;aZbF~2G(IW{3=UP9mX$^F!(_k(^LRknA|Xe4{8N|_lwS^H>qhZfLV{W)@kws0Yg zr+KWFw{Z19jOq-?22R8xl?ZB70~k?4Mtq}|!XQ+CT>%OMoY`E>9R%(`c7Q154rII3 zBzLe7yH+6)h@=6t1%}e9>v^H9oA+UGZL;G;wOa<+TQy#RE+{1NqCpx^5#UG~NQ64P z2y^48#%yHsTWvb#WF^JnlrtdJm&o!SMJ?)rQK{G^)WfJDT#!a|6{vL~zRwJu`^5Ws zTW`FSj;_Oi3E6c0l=kW{ETCumdp)~z08ta4Rps3O^=Ida+n<0%d`Mq!Bs;Xh?EqDE@#F0xVF;c*t{Bd}(;N<9=x#n~>oB7s2H%(J3Q8gl>AYc_6EoaeB49Cq3$ zlwD57dc?oXwvz%+5k8aw$ChGYn4H@{7c7#8tWw*-yxD297ABD=ikxQ#IzFmWWFB3psUESM8zczQkImbBr)lo1V?oqSJC^=OOGM_Yv7$?FZ4 zMAQ^13cXCaL~!5~;y9>_rV$6jq%?#$O{TWI^*7$C8su6kQjCLtjg;b`K!*IpF2)gi z%Z424zK>8ZB{A-xQW%^mtI=Lczy3$PAyGno4207H&iOg9q-_%KUudHXq4N?Kyi0m6 z^(M%{5x;LX8^H?Us{BG%;;Iqt8r3IY@_-iub}l&fCbY%Di-~q%#uA0;0^ZZR`K3^{ zO{33WG_bY9RpdZbbU|)&_>TrhbLPCO%GOu;U?a7|6KK)A8PuSyoO+$MXY5+k%QfM8 zC<{!5AgF~irz5Npf#^vbi{#>9@zGci1->&7UPZZn9Oe{yyqw#=s1Ku+&=YM+^y;A% zDfH$9Li^Q0XPh*mh)O&X_=xa`wcS}RjyWmm8N}c4s`(l2qGq6+vN`|nyZQ0JjNIpnq z^+eblcB8$I*Nfqc1XT_o=<>_$DdQv*A>nkv;Gn&Z$wcDEL~xMYoKTEXb~VFTL>+9E zHE48^P3Ba+(OHr$N$6Z=L$Xxq^SE%gfH)K;Dq-aYQwqQhL-HpWpsLht+ZCBQX7{n> z=lAVYxVauVtb0K(1ns`sl?k0k+*;b$d~n2QG(zaqC2lIil{!`rn4OYA!qKFyx*Ade=CZ>;Y% z?Ok}w_vQ=xIy|01gsPMKMA3Mxqhl!^T3U0_--BuD=#cn;$Hx2geO{aw+HDaKywCZh zdhe7(?42=4!~})b>iK87kxj+G1XQA}cRJU)Te{wykXsDpm;_MtNoH)|5e81H_ska( z^Nt$v-Uz!JY=H(St^rj|<2t$#>U`h}a0z4&4^2qduFlQG87m^>w-HpkLy0x8hbW)D zSiu$~KTQ&;3ZiCYq45}kqKq=n2LQeNPbvwP;=CQw zX}r_~3}55&CG+OVhwzm(3os-E>wI2*55n3aXK@Ijf?y}6b;85w+rr1hY*WG+t~5hK znJW{=Ns>nd{1G;_Xf`IYU=r{|ns8#u=PmvSjT{Ceo$}<7_j*AkXo8oZ3{X#sC!>Y} za-e0v9waa*0B?m0I7oh9jcNeqb`XX-R=Eaj@WFzo6=i8zj#!=!Ar~$Dg4m&J)_D`( z;Fphy2um^g1(&-@5>maKPP&OL$@n)h^P&&OuIOB^> zs7QlPRhwX#+yOq(|z309#8!8J5_QohbNTvrHD z01e>-=^%Xv`%cux6VT+x$ll4;WhvKzfOtuFEm?-9{H^^&UAfuazzT)Ul(0KgHWKvI z8zk(aAX(UH`Hu}Ul<;uC5;N>0w4qLc`}f--!yn<`!fG9HlEh6ArxD?Jhiu((;%mq0 zNpJ_|8jS%E9J#`aX)HKr|F_!{!6AYQ(h9qp}inBFjYG$YlhAml@m_t?)7}V!R8$~?>>tlAz<;Hiv?)uG*{p@`dcB@x%>a{zM0A)n z^@nUmR1C+QWB|oCJpcVHH-f6dP6l$F#P%`X!6?SQeTxK^@K z?M)H&!)&wxyrpQXfFlluDh;|>`FxjRR3!wNiRA=YhAw17B~$4fN=XO^6JA9<77%sX z$U1~3`G$43hk8?BpGGL4pkZhr&Xi6WKo3Bb>@m!0V);NwF$x3F&FX1@Xv&39O2X+# zM146;1B`6E5(GdgS>UsLQzqdNEXO@?avtA4zso=YGs7hIAK#9-Pb zLESm+lB$&UGF=joP@47fn^koWq854(EikYq5Y~ilLv3S?P*5tg#p#@E(gWseK1%aF z8iod?Ak9YMs{5o{gqW5_Hh;Q4l=(X1<5kRtW19pX80-krLU77|7Rbm~gB_P(S`zi7q>${uDxIK1q8Ff=(F}h1l1!wAP)au>&XuRy z{mNG4L>ka!FyirUhjUQ^>?ut~g83_4e5pA3)SmVNGEyXReOYN8yz{aEQ@;2(o6h{H z7bJ(IFZ+svD>uwXF85Rcg_$@%&X6E(f91@`K(UR|fi_@`4t}asf@U%RI4wo(=!e}c z=N;GJ9iD)f8p|yFU;SBx+g;cAz|v9t*wk@zd!ij!}0(FI^v2qc7XBXG1KAUobf+vTx(oGyHt5+(>$mk_q-f^$NlWu4}Pz!Slvs#<@@-q7SV&}vLF2MGJ}h!})g z!6e5)0+4u2J#;itaZ0pcl58!EJzKFgrMmew}vyiMAPr4rR&xyAI4ra3%~K zke*VK+zD@9^tJepgbzt+?fWpC&Q4?qz0N@Bmz}J!1y1kFcf)nix58uC+k2y27VwL zoz+GjrC!#JWVO+!vv6ep!LQD6IP(kO%6b#gY>TX(0{+vGH!dx(+Fj+;L;mXst0{Ba zh5L{Gf|oqSQCNr;4%V@=)7mDjEOqb`13UH3YvU^FU6j=pCM7FLQ!0ByVL{wT_u#*c zN*5;U$Z)UK1s4GeE|~X++(*ACOb(S&@cEaEq3Rx^-x+RjS{vj-wHWKvEXcHKvhR{ZKUx|L09k9j+?I|UAqawQ>o;99q zD{~KU;7yL_`DhBc_a{vGe1$@arxX{m2b%jbAAWjvdU|4_0S^jReheyRt+JC?q$6AW zC$j__P*>5Z$S|SVHqfP=Xh(C(z{VW4w!$cpx}ymq@;Hzq_U(?4;W)ZpXZ}~&R+?~^Xh?cPO;EV=GXmW z!m=Z>Fi}kskUlzGtJ3Bl_UaHz4Jld^!=VDfSfm0S`53OU;Y`pdg=|?-8>E;(-~u;V zVVWC&XB))4UoUjc!9}AiGV*LZ5$Da8Z0IYiOvX*Cxk7+42q<;;>gv=wMhUB zMj4eM1o;lCgb*ZX=4&lcc1MT~1nUs0fe`4?TFVC3(GpHTC6#oPNce37g%gsg(Zo(v zvJ8n;k{_elG(dP|m_`I*jW*et-e4muCoVaQG7T-p8@^u z8lC2Rg9(<6uA!;KT@dbS1Q|40cBQM%!JHZGcx0$!6=9!uiq(}%p;s;mAeMrz0{cG! zSDcw_nzT)W`O@3H0qRLLgf0@yiO?mnX|dE@sZ#Uw6n&~b6_K^d1sCDGiPTMF)`usU z;}Z?I_SuLEg%d1rX${@NFl36AQ#PVpaz+wKAm|GWjTK1*RCBZuN${*FXi*p3c|X=r z0nY&?^#ji^-trktQzhI!sU^g}RvhesCq zT_4wj->t-i6uEQUdqMu>-NOJ8$nP^6HW(uyL5e!ZI zfglNZpd_^pI-AAP2cN^}haiCpRGs@J%S(`gH+nA7_s3tu z(L>KIP3kyJB8OxveLj=JS^4aM1?Xa)SD}&ymBy?HW$BeIX$V@OZ6PQKTKfQ{0~#%U zi0JW+7KzA_2p;ybt_U#6r&ndAQss;V2nBM|`KUE78Ju+_$dKYXQRM?fIfJ*dL58si z4+qqAwNpB3g5nRUXb^tE5RKe1>R_x2*_jZ*!yGTd*VIevgx70(c)+cz~Wnknq*8V`V@zTGRIw z&;`W60`9S5&aYV8WmL5z5yx!B{gevhIRV~MxK%(-qoaEkXwbM@13Caj_(PDc9Ss)- zdWsOlv~@4^gKCvkXUb++|6un7?!Sg^0xK6Hl3RRRInV&98Ap+>2ri=1E{X`02(HR_ zeFc3E%Hhhl(kOL0gocDe!w&{<*yA(=a8{-$D!h!KC=kM+*vr5KG7a4XLSIC#UL~@C z(g?`M@fTB#D}=>v0lBJ>1yO_)I(*(qSdk4E{@ zET373kbFsFTrdKDU41c+H-)GT`BFuIqYcksAvYw#3Vc*!mefE>;F2BbjB_XlbohFk z6o!jLMhTiFHWTHbnj^rdQi!`4QBGxDnBQqva$G`4&4j+^llv(FvqpR$wCJd^xpPJs z@*8322m5!FowC4W$QICF{TXs)(GS8SVzJ)300MF$tVaPsRBYhtffyAcknLN581Mcg z4CrXy%`HSHl{mnN@8(2t@QMZaTrR8}XhCs^9COfceOcA03orvDN|^%*KP85v4dwt= z?U((Ch%8{X7^=kYvSk6X-$b=j1`%8}R)H=kr1YYJRj3GXv@0b-nO-%Kz-N!JnQ&yY zU2Qt%WF^Jn1T-Mkm)1hlR#LM>Z8IuW!r1a0#=Ja~7YR*e@bk(QD1;%t57oNx*CveD zH=~VCT1Us66boqC{$9`S9KfvRL|Euwh7a38cR*Y{t+>`9=pa#e=j=`$($I&7AZ}`yp#zHq)6M&~UJQJL&7@5Mu-Y*E>K$55@y_3O8whEp3_^>(~%F#LS zi2_xINt2!g#RQWk&=n|18liE3uK453+N=1pgdqi{0Ah?3m^`+9o-YX40w%GdswEd> z7O4_eanEVui1Y_2H4EsYaH`i6Dn{cJr3$OEGPP@RhpxuQGoDEC^cm2(AT>^(`$T&< zF^UmORnLwHeRf3n;ihNI=|M*c@J^Zr9BZ%ES7`|)6K}9W{(H6JomZ|68iweBbMv`7 zbZTN;YR7DNB0?q40n3;$cXOhH=90*E>v5H!z1FX4CC`cq3vm5R<;GvYDu>VQp>f`R zv-R|VIU0vh-Ag;ZDlK$m!jPz!47aBkhKeU*SmNh+0!=g+Ym zqxJ@vF#$b5BiHY36#QRJJ3O4Zg@f_$_PmOLaNG+SeJh!TpNsM zf?ybY80FWXz=L*c@G_7LRUOXAL=hpK5^XtfQl|P;IjjRHt1s(_)|S7zpgimqh^Bk2*66h}d4VM1NE|a0N z!=uX_V0Y%{6@$gghhaW93E-9BRPW#5Tj|&>*HLFR1r_APgLqj0bRn_R*?%upQyOlVe>d$#ihuz7FkRCmpR;4 zy957(Oq$abI`W;KBCE%N{_b&G^YWZFcuOQe2=5AyReNJxCE?{`70*xUbwg$dCPJ@l+f+Kl>s5)n^ zg`Bws&gcL=UpPUP+5!!bl%%)7D$SQOw?9H}DYt+X;%qH7O`-wq>W$kabbyxAnd?Tp zzKU`>*4V0G)B>+CGw2Zs8+^!-3s~j4BZZv{{e|u%3!o^%R0KVmr-oRlpoa&HO|>%> z0aR6K*+e8Hag$L;c)2NO1owmQXIy9C9N}yoC!}1#IIm|D5O~UJ`tz0 zLz)*I!NtF+U68)W1Nm;a4*F^so%jI~FQW(G@W1>rCsr@LAD4IxkIPl)ah8Z5B*LfY zg;uxQRW5#6o~w|2JMv~F)_k%U-%-+pO(`FipiDmU}bM8EQlL*r|{oKoeL)d74%n)s$=|sF+TJDko)LYYa)kA zDfs*qO1&P=L=}R3IEjT0@*$w7gM13V9Zr!)7B2 zGN??}GLH*A67xCAB?gb)z_M$ctqLQ)UZj}{b}uS_JSucD%;#4Pxo5)-scmlJU$P6uq*2<}tx zyU_CuHo<>q@_X1J2PbagjX9!chUtyaUIbr&OCXt-P(LSnJ^xXatSAIM4p)%_VVMzu zh!+99IU%!w-(4w*7MfTXkv^*X32&q?r~QfwoCRfzE<3Uol^}C3?o*2Y2f_fyp>s5N z6P36*)oY&FMhqf~bO#DQ??LsXi2Cqr0RZNIQb+Ovfeo%rI2YKy#^qn;-9tHJegz|7 z8K9a$t^>H2Y!;;w@>&q1Lk1*RoH%hJJWLs)Buc1~WD4_cC8}p@NMJT`90}P8-~s;; zwzlZDCj=e_et`G;4tP!T<(!kn(T49e?OnK~**nI+ufyXRMC3IRJQR3}kb1}u`NyQN z0`yT?i&lzofVj8F9Myv=j!%ep2}%W#_Q0=O)Nnx#!XelV1S$pijfQS5rkm00$jxAE z3bM`{KSA{t=;b^zcw)idR)QBHLlgYB*sU{6P#bhf4@LWa!d*o8lF3N?QG|UqF#@8w zfdxb-BO(b72KWWc0`4kp4MInm9FPTkQ`fErH`*&OLD9pJ1mJ`DJtV?dk8X6!S6WgC z<53r^c|d|gZRDh}NfMrfhM%FjUG#Ihwa8hBF_PgZ9N@r1W5^T0YyyoMW^a)^()^rw zV7~`9sJ~YqZzj%&(q=6jjJ%>VFd(`CIIBJZqt}t>K_XjRE>t+;N~;3W zOcV%>lIF;2nFbtZVHX6>Ul`35nwIG^N~zo%t}A%uPvvT92p>oXi9j&>D2_Q;`C5J- zlI==TE*Pn)MfrED!ZcB`ts?eF7ylaN#|h9PFbbswGAIsqgogw6zGz3r5_Sf^?KAu_ z5Tc0*ILQo`v8XQHL zC1m)@v^HdHW~jl3ZCRC=46Ka^S8(mi!q`Cc_ph7N-YjlhZi74k9>R_Ps^t;fY}Xe4 zxK6JpAvb{1kf@8t!&=}E*^j6Yk2#VXit~W#X&}Obppzk$$#OPKU1*(HQSDZ@xTI{L zKTK63AoCHYSAq?157hN*Nwy?e5MN8i%q7_D*m`w-_zZ&b`%VMs2t z_Hh&@TW$UDy(zYX4o6Ief1lv@3QjkO0gP!@z% z&=sSN#%}^c75HKS;nG^C3dp{}aHU0GE1wxtj4Qc5H~^3^!HAYVa1|woXt01W;Z@XQ z0V#ksauZ7Z8u6oHKp9l73M0E=&o}Cc-bUllKzIP1Siou|cH&jC=XbLA@6dZ->EN7p z9l90g>-2N)Q1MuX98LB%sLE(-vuL!+`FBEtViE2b^jkq;z-o#eJ^lW3a2gvnBy zA#9^e-w4qqZThI%OKUfQ#cY(_1g0y2dn)y`VMM=xZ+2RyB&mp2HY2q^Iap^{Js~GLgQ8)GcF% z`3dIuL<6eFG#XLMdVpehLo0&*~|h6Is@9E1c0 zp^gari0=^^meCOu$X5>#95Sb-=Xw7i)-Fs<7pLlFF|54uz;6&oa48FG!sx2gl1#}a6LQsl9j4zVI z1n`SatIR3^h3uIGCwPnJ5`BLdxfrOopvfGkMcj~7wKgg~z5V$CdgnuKep0pKlZi!* zcS%LG;L{?JF%rR>hF0zwu3}8-$3Z>jD4j?BAwCqSdNfpKvN1=tH3r3(RsEH75jB}t zsH(4msjM72fLfj&39Kn#ZlX%WVCJocN+YQ@5k@%-3bl0cM(G(hM2w4YT_)Le;an;( zPmQ;#F>jZU{-zV|Bu1!Yh#)mfArIn<1cV$3&!Z%JzUtkU%oS1<(5QApRS3tKBymGj zVwfzMXm>%6Q2{O&rDNL6kiv(6(3}9BTXawew1y`47CcW%WBD)Oo}xR&dmC9EfTKl) z#eSJto!a(J60{Frl^+%%vb9nGi1Z?}6$cgygGcZPeicd;ko$vy2IW@`=#&}ZkLI*u zJu8#Mv~{i3>Pb!63`QI5p1{B`pc$$b?J~DSs77X(v8>uDHRC9fFhOgow2LBID1xgp zRv$(!RH$@Q>U6-)q&z+%PDgY56e}ea6<$VAGzei(>}8}~pc?Qp^7)ubTcUrWL`)V? z#sU#z5(l}_-@MJ1@CZ_i0!HIiX}5sfE7NX?U?vG9RT~$8NS$}mYOZ(+tIXh4Jl*wi z-z(8i`1fEWtnZgX83OBHqvITNa=urgB*FkWAwJfv_XixC6&kAffisc_n z!6JG%6#I*Uq~Nc)D5g&ebVw@v1u3TDnyMh);38I&Xv!$%6$L#9Dq69&Nz)zv`++x= z?5NriG4+tVlzP#KsF(=`$=DVsPgaa$B{qVwj#?lXBZ+zTMF;~ln?tk_je-zFR*d)r zAv6+pL1SDn0)Aa3dyzIoO%(x-WGDli^&MeAM>S@N)FOdP#HmZ*net*fQPB}sK`86j~AvZGxzfs{UY(Y~#$@E91g*RAj^n#R&{k2`b}FM*dNzZI11c z1H9f15gps-3Vt|X3PP(5ohr?BGeJo+pwuj&kHV=Qim>Q%LzL*zT)80(q+rMhigD^+ zr=+V;8>q1Tr*O#*D>|yYGB6FPz#tr5ZEE4qAnt23Lw^p1KFB4|;Ddw@uv1lwSD0%f zFJOhEcBM_noGkuGVnC6vd?hOHdMU|`k#zfqgx5?MLQ&ITQ!}+B&fU2~{lDRs-#Qk}n3IIyU^2ZfC5~1QJ zO#({KB@mQe28fc^g{o)p1f0Rcw9oK+FAI!q3WPNSG=yl|dy#EiZTUNtWOhT&plWR# z6Gen3(CRhwb!0cVoJ!-E-&4NiS21Ci%Vxv=B@l6v`BTuLi{~;Tdsh}hR!J2bb1^~g zjC>IrI!Dh4XEsDw%!B4%^5uZ>YrIU2d4J@ky@-JwB?hrHM`2ko2PoN$(jlbkfgK$O zWJ%N$35@L3>ZWFZltu~oxek3T>D?^Fj?}*WO55AgpJ<=jC5}XD3~8o1zTr5gzX(6& zjMn&ui6~ee|A-ll`mR*buV3CdKs25R6q7SAbee1)sd6%Tx>RQJ=n zI`)0sn4H*d;K1U-g#3J)-jx)WG1eIRtX_@K*!kzgQN;V zRh^lMH+iR5jW> zJTCN5fv2dDJX^><2gp})C~jgvx=(s~Vxqx--o;wz%rC|t4s~rh@F&B`2>MK}BB$M6 zh)>|c5t-}};L@|g;V2^CM+i12(Azai^@8G&gSljZywCZ%LA}!mF_`e;Ritv0Uyg3X zI`A^^IHRXn2I8M|HwV)v5hqEDTFloGL0UyoOG#=8a|*Pyj6OL7&<$eBW-w*2Q2rZ} zBcL(I3*KGIUyc8-Atj>25B1W|Z#0uT5ZcFt4_h?Q|FCPZudCn%!ZltIe_>R+ZZVU8 z#8vD@seg@z>55D{lFu~@;ttU|`D3CLwC|#Ii$~KavFa&_RjNeZWPWY38~NprBT|fu z#_N)0CdRLl;zOb$nkSv|uO1Sj78ssx&chz)4=6;wVH~Mp{E} z*Mv7}^oF3~(6DHr_hp>UiG>riJ2GuwzJ5Xo1=?V#LlHGfFt*i3J%!ul zv3i`S(aVq;hf2FcO|yg(n25shRsqDpNW=*WmBR7vbaad1jsRUXC$}>hF7(l=gGx{b zF(&1Tc?6tB7bdG1k_=yI1e8W0Dv8%;pt8CSLmPD%{(Cb@aPi)a!W*+YP!F3p5X!1A z#egYq48SSohjK@@0vm+w*4JB_jm}X??U)TuAg376=ZRIt@&c#FkzHc7;c}32w-t-S zR2hfWZG$=ryje=RmO~Pm>DC_Yk;DW)k|=|^mZ&wS!)1?@>xB_I8;m$E%Ept zycb_){IH7IVWMA2B+E5M3qh36yOBI|W#>0!J5c$Wn{tAJwn{w~P$CM+F-kmPg-#_7 zRL>R8K!Y=j`(pIq#VF6Fxd9IBIHMwIwCZ9<58AqeScsbm#o<=87HPv&16&~Q9kbzh`m}3 z_{dH~KZR*}l$(SH@f%PlsdAR!Bl!5@vYez$9j=Gsl}?`=kb>Q@m<{`$gqNdeO|T*A zv4H$o8v=gSC6aUroHUWd(g-*mksU=Efut&+>NNt00T|x3(wL?p4+XmfrXs2UHX#3c z@=<*30)9neHU^!H+2mN=`3?`dYKE&6{ZB{>h>&ym%zxjY0h->Or}8vZTmY?yY=A) zrM1rQ+Q;56Ks$4#EmvYz`a~JC0@(U(B0^d?r@-O8O#;&8@UKHs3Vvz16BXQXI*;30 zT$<-_qgF)pgA4!1`%a>5O;_NxW}Usv?JUkmuW<}S?}C2So7(kRx$tR(&x;iz>9L`H zUjo^f*gr@joGX4OG>XFwi;)l{N>I{UNRUZygL{V@2lX3?3I=u6`H}3dx z*`-TIuQIIfGuN={sp+HA(lST3yCbcY(yT^j` zHC?`_-+98U7t-HN@BI3#*gtQ0W!9{BVr{kGsPm?El6C*3(!TRLmX(!lIWVQyoW8sM zd8~zb)6DOVH=Q~3%#Q4`IkC6BkUHv?Yhq%bx(ffN)vq-V9y;XM{z=jNd-wHv@<_w? z-h0ovW#hIM-w*rqpYHvpobI#s_%k(YOnc;p?B?)Gzux-v$Njc^v-p=`+vn^$jQ+Q2 zcJ|CghtB-*mdn2T>zACpJDp#0>e0rH$N#zW^LAajblFz=$B#E$m)vV|opaB4FN*$S zf4o)AX>Y!HudVgW88iMhe_P75%xzodT)XPG4+?)--hBQiKc+33+U(N&?u*-IXWyRG z_{fjnJOdy3s%xgy){V@Z7~gZoyYK$*_Mz|IzU$7+X@l0i9#^Bm(T=w^Pr2&q8ns*D z|9pRIY|Meioxi>#Hs-^-_=oW0*EDEV`}!}9e-zd}X!`n(Kk{bJn^*Yb)pZgNm5jdW zuNN~%|L2a@@D>*y`t`Y3W6?I_B+k)x!oV*^)ZDaU_@z;M=60R`%7?bq-;BQV;TO4y zJ=`y}pWHOzKxzBgpG-UWaWBK5t~{&@d$Lwh__vC! zZD)_~{knL3ohNd7o;J<0N4Gy}Y!~#6?H%nUs`&a{tEbT!xR1-qWz( zgPmJ_SgXOz59~+gE}PnM%l1{TcI$dm(wc`2NiBUhbJJbN2G?HL^60DkbMJrnsZ(1g zFCTjT>%(7KlHS{t{%-dZ^ODj(w*K;WXDmLRJR-1vw&_*$i!!ui_`QGL19mo3C=0<)qp-J|QQ>?3=U9!An^RR1n%**}g-PL)GKAZpD z;BVgUc;6pa-|$n5qHT-Xd_A`A!#~}d3-%@rKd+-}X%0a4Na> zH#1ulJ;-}D>}1-nT$j|?Hgd+hFJ6aMG`)@J!m%-Xvws<0bo;0a=KPcQ!1A5*o6 z%^!Jk!9NfE7@ytZ>6Ne7_e}hKUHr>E_f2{0&gmtVN51{`+pOH&CdkF+Ivb>>xwv%okMmx6?)B#JlZOv*cKu&w zhYl|xLrmK|#yWS-oNH>eseS#930y3AjMxubwHWdJg6xj3o;d%~ziT+G);YS9Uv57! zW7U{P?MnxY$o#s^?ApSYjqQES*_h<_o~!rJljEjNe!oGjf>9WlwZ2cO?`^`@EGxtoWt?e^B*7h5jtcj5d? ztLw*Zsk=R8^tQ!@i#yLvKKFN>ne`sHRQB_*js5DM-G5)5OMeeP=Z^oj(;1Y!-ikCTyoBS@Pis9x^u zt!ua4@X}nt5&m-Byq=$T-Q4CsJwNljJbLu#w@;t6%JV`1fnZo!$4xuixfB zKhK)JGkxa8fA$}2{?hjev$`+&tH;Y_joLmluX(cp>i)yq#nV5kH|zVKmu~-gZQ_Y{;`Oz3 zv(_f8n7eDbtw-&wqFMXK-L+uXzg7+IdT+BvuM|^Yzb;bh+)LS8Z{JHZK_TWDi?u>gmRP>o*_& z#qy8#bnW!-yKYTt+&oQ!n2sxtCT0A+`O~2(b*FDQ@pz-P_YT?o^48fcw%dN`$(0ZP z>ACXsTY7&#=%D%*T@3{H7_m(Wledytb-&?dOXYQlJ z9!jl!{D;Dg-2hte+<8rnX-RhyQ+DRWRL83NdFwvC`tIAFG@INk)M;2J8b{qvngYK zulc`c8ZKP@UC-OL?rhPdQ})?jn|2&+>@45dcS)9jbHSUg|w#^jrcxc z#rPwaE~M^i>KT4^&i3UCmo55vOv?05ZE7U{cI|<)dz&7(v~lL9izl-kf6tiO@5x(7 zEt=iX52Pv+lJvu2lHDr9yd8*^SYFGT}`g{?AY4)(m!WTWF1>Mbm95u zmoMmc`=}l-G#1t&_Sdqf&z&1Qd+yv6n>LnFpNd}~d?7u2{A`_Ap7uJ3zj#?E6ebEQ27 zjJ2O0nLYme;|qt*>~Z`|>B2)thJSkVtFe39rV7A)X65-67v7uqwkdA@f4}*xeB!j> zmp(sScI=Cdhu$jxbHd^UOS6^_JoDTBsUJW5$b>IW>|3{d=G(6WMubc(VTBSs6)B?@pN0^3cU|-OgV4?K#J)x$n0#RuDLaFa4~7esWGve`}C~+ zLh1ucY%?2@J6P~itN)J7Jkq-U+IO=%y>{f#merm^EBo)>^Tzq369=TFUHAFi`$o;X zbJqB>FYA`C`C?12hilet`sLu%3UD*ko)xVHOtk1M}0Y~9SM z-)y>c?$NC$f9gK=mu~e+U%YY1o?EwmRPNf+JgLN;)w+wo`OAn*VFB5P1}(7-Gs$oj~lmp=ZSYl+SlChXvY4h{*SwNRF31J8|$85 z`G4+}KYzG!a)Xa=Klxq4mNj!~)yru5FM zbm;FoO>?gO_N_)=O>Wlcku8fHW2_4Y|GA@}&WPG8R>pcSpY+6r7i;2s{mx4l$p&-tXD_TAf>x=lt)R>Ele-bXdFm{Jp1!FD{()NYlM{IIn-M zXa2&YFPXowuDDpXe(a_tp2_BhocYgzjnki8ckWE_^!1a^H_GjOqG-{}e{~x>W|*tji39m_e{X7y z%fFQM_h*0ax|C^hZF^+ZbGN)O`+vK-bt&Gpbms5pN{&Bo?Y|{2{o!R##3Z9#qwCFt zar~Neb-z~b!FR2hz3%j}jpyggwXZt#e!C;J>fiI#=aWmv-gstr{r6VYd(txY=VASN zjJx5{2^Vi^{;#@i+fCp5;OFJ*KKZ!c-l;##TsNmyedCnHo$G)6uyM%72M#<|Fh1j7 z57ciz<&pZGCf~d4&++#a*S>RL(^1J^&v(0e44!TL>8E>tnOML7sK1tWJTUBholDF6 zZ8zn%D1Lk1pbLK$>}lm;vTf}?6x)5irRUv6pC6i(fA8X-?|e3Su)Y?bNZH~#^qyn)r-%GId|xz4Qq4rr^I*Z61SmX(ii)`{9^UGabq9r zu{mMGg;R-j`fvKapiaLfA8lyy;Jt6odvN2j_}60Xx3vFb;4shTThn_lJJulP)=^78 zxcR{U@!M&gTQd@3(gqxP zZ_H>GGwJR*DL3Z4arWQ~jovMrd~9>}rXxE_-}`Vu$6og(wC&q#*w!=OE$=>K#HQ8d zI~vsAG0g}wcpPIC0SkHbV#&@s3D3j}vVUBrbmDO2X{Q5WFv~BY7g_ag>$K<75R$H$dG<~L( zH*T)c_`bEbo&MJR^$V`kJL`Y^;3E5;H3e6l`E5oU_m>lzjGejkz~Pul59Tah8n^7s z?{AE(y*_r)-j6oe|8mZ3b7st=FaEyl(!Sw)_J4kK?2=PQwm);j-q(IxHT^$7ZQq_V zwRfGS#%=qiBXauQhJ-C&{yOa9_bFc|-T24884cUbSocDsrq?#ObNn#RzRAb`n$Tq9 z?SG-Lz5CqagsmgLe>0)?+7~C?^1}AG;$Al;_kC>m@V^|1rzX7m*zN!Jj0E!jS@}_P zx4RT)@B94db;--$;+pcCU8|+7<|M7T*#4zDj~w1`(^p5nd;HCxu1oH_ugQhI6OXTL z{`Z=FALX}RHF{goy{C__``TG}@XV2C8cn`qXp4-R@7KS0u$zA5yzWajS$1~B_u;vY zZ#Qmz@$}-aFI_yhVYq2Z8P_sz<-)GxAIZpFz44!=CsJ!RDSKkdse+ObnSTx|>$o9i z>(pfjep%6b{mq@c!^P#Tuc=?We$sS|y1ET!=8rl(e^(=GeRretQ(uos zj=Kwm1oK*K9P(rUw?P> z^}C-xII-3(V}Cm8dE@ENj&!Iw?b-L2kG>)KVBL&^pENsR+j&HP>5<&~`rd!E)0_Wl z{^(~JO{bQOxMNYjyURbnKdJGm8%%A=Iwq}oqQ}mIr#Fpw=Ii<|)f?LDWSs_OD@WXY zbGr{(J~*Rz`&*Y5-)(=t`QInkKYd+|2Kf7JTr|qd1zNpcGwZtK)8(~h-@bY5q{QrP z<%bJSZd#sVyR_^6wx1=z1?x*N2klSE;LV1itpVl zjdk&AE83m4KKIp&4@{2DS-7Fa*Yoptwti`J zi}KXk-yHw_gDxvBF~{|NQhRnJJ;pTRki`UE^H+b>5;&7E|+$fDxb^ERA( zW6S>gUwq06`XMsB{~XcjZuw7%6xL(XpB*w8k-bKmcK z&H83`|E8B}PQQ`=CNX=uv}zQy^_RL6+CKN=4VkqzOnvnH6nEQ`3)|Oha6Tz!cD<=Z zzjSVU>dfI!?ihun&-WHA=-9Sx+ZTu5HuU(Qemx#K^vc2m*M0Ed=HI`b-T%P+`h>i% z%)X{6vdiB$=F}=Vc52JIasTZwX8A9TvXe4)E?7KpPsZ8e16kAC&0e1Q4cWOroD;bM&5&^dPa=@XJ^vdUa!w- zf23K0es$rPFYD@e?nY~TDdm=Y*|p^2;Ik+HUNNrY-Uj9!u|r);JL6rc z-Qz$0_47*~e>^s6?XXWrZd=y$;DXQhtXvm=yK_s&7E=@2?OOKdXZw#lb^4vu+N1CO zPwU1%U+RK)iV@5HSEnvst5$E_R&qn~=bse6=4koP>>>Z0{NdR#*WYmPng90e_?UiL z_KEK%AOGpKZlecx8h7@?<+~eYH%p%L=cz}RH*S|ccJtr?ZEDU~HSC{5`@fs;*{)%q zrYu}rKDg7%%Z6l5y|qv4Ssnh#Z}8iHu1l`bVAyrM*i$2YWgNaMIb}QgyMO;^L)-pc zx@7&|`S@4L%ne^n%2>AN)RDh-?;Vp^`pW6nN7~*r>~!wdk2+0#!`;kOIDSj(aj(1X zj%z!3S<{nA%VIzIv~=H$y)nsWn?2G%*Rt&`w~UHK(b2KvGy3tDn(^=P#+bARj{k)i zT`lvjd*+{fe!FWTc8?p&&;G0Lw-X=yZAUwtpS%HGJ8Svuhq4 zyR*rmT|KXDac-8U#l?ZEk9O%jvG;)7|LJlDt=DtMUT$sQuxnY*{`iY+N&9{GHORcj zkDK^tPhK#N?HZd~d*O;^8P80bhSsUe|6Thj*R=Tx+p~@D>~YuBVV}*~{r-=QcA_A6 za^~XQKR)t!?9^SuR}>CB)y28%!&L)Uciy14&G`GwUs*feYqzPz(Y^)a-=8uhtHtpB z4Yr>AuG!b~2OLcM;QY9{4=;;f(WB{v*OrXk8soUn{Pl|+YOX+J`0l@N{@46(9?N;Y z`|ih#bp{>2J_*H_tM|740mQaef7ZNk+o;WB+V+0p1KstTR}5dVzg@c@>;HRj?+wd; zJiq1*{oNT|x-^=;{>h`mV(;!XaLR;jHy_J5{Yv(UnhQ>E{qXMw8^`pTeDJ41wK~Ul z`#=2N>rSP27v6hU%?q_h<-}x7{cY8AsmnG`ou7N6%(!{h_>Ttt@W&fmUMp_ZxO0E6 zu0Oo(v$xcLh)TGw&eQmKaJmW$Ed?kr`MeJ-nu7>Z#c4P$wT*kb9nFa z^TpFIoZ7l?&pbmX^ME<)JH6X-!&h%^yeWCkqhEdXRpKpum*_H!YL9X^?9fd3!c%H4 ztv70Y?P+hka%95(YmrL*a^u1!H5;5-_HobBefvMXxO&a)oi3z(*W&z*wtZ{SD^CwT zx&N-kBVT)eZ>!pUUv7kaZ_Q1__r}DIw_W{ytp;CNuYIml%kFpnSZDa&Pv6+S-BbKh z_J*2?J753rf}YC;clh5sukHWI@?)Jt<-ZL1sKwwLc8(r*sm{=PZFc@)y5xE^W5bl@ zds?@ySNvj9&4o)!Fa7IKzvT%?aC;yg4RpiiS$?|8I`pna z8?D!!-dDE%*zs>3ZujE8fo~^|9?EUHE_u$)cMdzft+Z3(UtcEmPg=9>*;Be}&tHAx zk|*xL+uDMk?mZ&Jt5a$p>t37Nc(_@!({&pdbdxP-&g_qWanSrzT|Zs8kjwpl_TD=h z&hGseMvx&Pql6%sQKBS>7SS1=dAO-@B005*0P=_Yi92I-sRfY^|?O#v#)z`nL%(Tr!zeGAUC5kp^A@) zh$teMIdl6th@p1FygQ2{ohnbxU)HXhg$UlP>F4n1y?qt^jB7oV&c}RiG8v%y)vK7t z=fn3JtY@%KE0@(V3$^x9-)SZ&NR~HGNs|^vCBph{e|Rk7y5ASY4M%f0X$y#`yIFs=oY0IvY&KTJx5CC6{83n<^d5%yh=P*N_k0!qT1#YnT?2{-x>J*x0!D6;|0YbE928 z$u&0HPmHG@tW#$9rR*t?Bb#CBRTZ4`GTEUK9WI0jUNbRrf%#~;vyTPWINDpEblP|* zb7{8ptVmkjK|jLK=Lg@TL+}FrGpd2+1?nuVzKU%TBeqs8&j1D+g0Q)p#4GzZ<&}WR z0t!0-270=A{&J~`Hq#B@$r1 zI4#1ijSqVaqxo0Hzt&Q6#pS-yp-E!vHK)&_zA8anK1$kaKB;P%GCJ&{C06KJ=2hmD z<;86tk>fjz*SkMg){*yCl|52SuhQs&|LVI%#MF;0jlNSQ-3Nn(riEkCDq)p(aMuM7g6LgalbV}_6flkkJ1f#3lJNmoprIGAC&QJv zVizY;SZFOL-=7*Q?=4DSS*jO)7-pbf)_6LarHN%@F#c_F;ryT}NZm`jp8U=jev?0% z3t|kQ5mY?V2@R|BD;0@r*R-eJ*3+?-B9?ALz!FcLox27A3fwMV)gu@^=Ft28^3pY4 zt7`5mk1nUV*AwR!P{hVJ5vYhV1C&UiAy#M||IYIh(el^ojmqw#3CYu62~@;6(Cmk` zZqfS)BAU^)_E%&5GLMV%r#x3$9DdvsP>>8J?(0##DgZdVf$N?X=L4XU4NWuAHHUOM z?(JXbT;%&oYjj;-UyN*aK=Uv2lvvT7)lkC>TMd1uMz#)eV(ahDe}PCRFA4X zY-`H?1D->dfvW=G4iq)Kt8>c1mg7W{t8DFp(`*6HXvIWvGNpQzmQ~MmlN=p)o=#Z} zt&nBZDz!jsX6*|D;oiX?tR?i`ObaT{FBDm?eo}}Y4Pn!8Gh}sCVqxSbLGpZ@oKgHQ z`BM#Dk;Vi8!aq?R{}9~+&W+!9JKFwD!j@W<$SFE^X-$dH9chNT;nVD4v-|tZPp218 zm0UK#O?q%E&d{qM$8%kGL|v-~MQMoohJ9N4jn%-r-XGpPb~Z}Pkh#9nn{kmeEY@_s z1DRaCC2I%U@mGY_G}YS3vQ&;ah5H97CM(~9R2FKD(CPAz^BR(Gx6`7-CLU+w6Z7H3 z?X7(IbdIJ?BVq6QFqiL>{1gvGZRJF>i)YpBZ*&Rk9%%u()H=MoShqIU`(ITV*Ec_f zpEhtey=^e<_XthBX(mk@^M_MJNT=D3DWZ{Jyz|NgjZJ1C9Gx1qw@s5Urg_&#Sgx(S zO|*;4W0V^=%_2oEf1J;fB|va=Nr3e$KGeZM57Y88u}fpe@E$Y|SB*Q*x9M!32| zmGv}E!{2QcrBDt3I&GfBtQCl_P$0CI`{MoPnOZ^|c2z#RAzNJ7`RuM-%kg?TGtF-o zczkQfwKU5e`gg47A+)RD(u}_JZOgtwnV%KwdRxB__G*#w*#-r#=4PSJbb(B2z5kdZR#;ceq14teX5d1f}X#i!~8p?@RCiaMnSnz?H1oekz}?TWJsH0 zP`vR|q5cIqzkg?-&RncB4d>h2c%z7Z znuGx!&Q zU&Bp(&*gxB$WH$f#oketW-rT17pAsGsg=DT@*c*U>Z+}Eaki3E#5=Phm?}+~t>5Vp zNzXOdDkw*|(RVrTsi~nouUCK{9TBnR$hiq^;9bGea+$Usa3QnKZ8qf5c ze{zbe>dH6;|Ju8#N*TMI?X|j+X+h?ZgzN=zE0HFjZH=w%sf=)OwX#v#gVE@ASegBn zgRWDbWqaV2u2z-Wp@W~-U)&fSY|S!c7BM55V*p@}g2EVr9|u1>Mu7Rp-kF%`R5n5qlG3!P&*(D0d@? zeJ7HNOf;d@$1|Cba+>wQ%$)l=&$@ZoEVglNr;32BXVHRmZ^}VIndv!2?lzKM;*H{&Hm_XM0M(k&>P}7ocSe)G%c~qlvc510 z&OnsVOV6pN+;vj>)2{-)aBmFRUA%#sH=lXNzdS~NU~w_|EntR7wO_edM|l6j7Q8ci z%Q(YiX8L;_hriYC^eY$Dh+>f;W9_u$Bt5_j*VWDgZk%UyYvNVguOFvmhiL3#KG{{Z z6r7v>lK)smd~mbXXC~2OD9S@w!MjVzEO>u!K~{gd^Og=vemJ$Mh@B; zMD%Lc)~htP6Xr#V$Atn^tycr=IY9f#!(y9R58Lm>eCHfuI@NbA-g_-awNC6wNKTTt z(a+6=gNUC$V<)i!iu=Q)P3r5y3#W3+O!kzxz6!L7nj>jv>MIiqxAr!|U1_t-)11WD zCp>4dM?k0?^Hbuq&ru$vC>w3&ebsg^LC#&EyQdzP)_ISc*Id>vw;yn7vVPfnzfKL> zQjc}bYnM5;@$b8`@7>6Ha+W;rj}+m*U>pwP-(**?fg!Noy8NvD5O{1N-tSY|B_R7*5+EF6tC~?aH=Eyu_lusKMEEDe-NoH z1u}AXC(8~FG$8Vao%xXxsAlXeEY@FB^@LRt zQHe`;_HD|(KGL@fkI+hLyau+z!vyvE=mOToR#mAsH%DGZl-st{Z|8((XVl|S7QbV1 zjugH4rlj^tw^xLms7mo>aVOL67s@*4&}0(DZk?(`{r7KEhqLt~iPCnTOH`-kf>#oi%~%$A_N z^CH6S=Rt-zzhNA8sIrXb*qiJe54&(ergjxDsZ+b-=XEX!OHTJbCrkFx z)4X6cSD%&tol*7z98v9>VW9RTvzG78L{QECN=o=(8~{reMdP{V>#DzeX5e|K;jXvT);f-|MHk%I~js=C?C^?+FvPIbDINfP@liLu-ZD=d}XrxYx~twLh1F$wK$=*BtjeUXJQ78 zk=H-6Rs!TaI`=03n&HdsKoB=^Qn!c3Th)d3ZcqudoB{0S+(a#Gjh8;AzLol!nf2{) z8UF}jnz34XUqeE=aupZ)_ITLn7loH9f0995Js9Z|E_&~-A720uA!VJZEG#;mB)D+f zF+9iP7j~|YW@=0TD#X4c(F1#Go6@Mu_LaAN!P)1+I+c5)EbZ1#M$J}+FCu=<3m89i zV&&l9XHD`;b#Xf;t)@Jis{-%8a;T)`?tQPNs$S(Z{?&JCRfDE97Egl!A*-RYcf0%k z0E~-hzNay+V&Du;(9NpRocJM>av*-=yixH*c*^XjTzgxDSLEL;Xo^6Z;iaM5c3pZr zHA`N_o@v!Vj&8f_^i$JL!LcjfVQGDR6_(Kj`YU6Mk>wHmy>KFS&8!XFT+j91w6*KB z8%ehBRk3ZqHauyk{4gD66m-owaR{9-EWbzfesQXn`GWa$8igQC{>uy*K-uinx}G%65hJ3ND=E65(G#j6@|)OMh7t*kGd) zrkn2KU-1^1jw|4ldKf~8mvovqCV-gs_p`V3W-mHVC&7N*Qek3nzO2&-wr6+^uj_5J z%e6m9-PW@oeS+R4RV!O?X1%QR<9x};@>~>i;q*CQs58y8t&cq*CE&K@)ex4{vU)dn zkG?}i;7;Z#XqQb$<1O#m1!Bdn_J;Yv!mUBqv7&<=@vV*DU$|FZ)_J^7k8c$F^zaL< zQnIbM^LSo~X$K*Kq2phB_PKKp%ksF`QR}B3g^9^fGZuR4zAD>}_y5TkyTIJC7ZK$` z86Gvbx8}O>ariBtfPj*zX?l!LEpMX#yxVI+Vx`4q&2J<}NhYicX9_=ccAdSpgmN|~ zS~OX#iW%ZOpkJE2a>GY>w4nR(9|@#!b>j_J;1KQ8D2^_DzXGzPO*VFmvrTlqRK29g zM~K2Tmama9>$^b)NGD-|gh&Xvgn zl5q4J|Iv-Hutl*0P=OkbuaLw^TLl(BR+$HE0c#U`Tr1xYvhG!5n zJ^Aq~ZQ@2^yNjPP+s^CUhHnfwM#jX%q?wdDO{oJpX!vcXcA1Ettc7}j^;ATbkgM~9 z!j^;mWp?p1c~#1EoBJ|f94A`C-{@q7S&f$V+eRna)%02{bnDy2CfZiA<=K2MlMKYC z^7UE%%F<*UDSAmphC|L{V&_wYY7OA_k2-{ntH+^gWW)tj!muN{VgFV7dJ( zW4{hIYE&oD^1&V9Z~CcikZT;319eRh%C_J98{OhMqRp8Z`2vVKF>Zl*fz& z#7*t5#$hxxuQw1?(eyIFuTQXGKIWEG7!{%t5a;~-{0^~Bs(s_W5&NXX*7yNJvYM##~7J2lUvD!<&oJ9A#b z&}&JCiq|YGGl`-kI_kb$!#mSFxkx&0Vd1X))+%xh6|3{x=$4+V>A*9rJ{mOGTV zWCAa?K}?-`g|%g&jWygH$L&uh0SZV558277jFdR=oGu7cY;0_M|9Drf>9j6vr5nKR z$o^b=Lh)F0q-LU7zZK=zsa}R8p6+W}^ihM<8MZUR6VDyX`8k7Y$pci03oMTnRt;r- zl!2(d3MxmrOGc9Nb7I~rV3#wM$jEoEWW-TP$Ta7!Lb!rxeVWVLoU-2uRd-(dSFEHH zTV-ZuHf%VMB$G7mkbgU3xB#rV0oi1R^qy0GJ4D^nM+>x?=%JaG7I4;2+-RZEk*7JNP#^PfAh7U)IR#u9B zb(im!cd{Sd1VxF>g_o+z8bf(XoUaiqofPH()%9>o?4u4WhG9uI@M=6MW;BE#vd;k- zW!>HLKt;Llr<59xn@awc^_U*pGyp2xNUBu?RDHpsuh8_d)51@K?Ck7a?05th0fOz0 z8u{^EtNh{vP&!wXj4Ba*cKgkft)b7}tp~zlbbP3fh2YSJG%QJ0!=lx( zr4FAFas7aA3cP6*o$v&v4I2Yo_>eL!E#|jx&p?qE1HN6>QQBG1F2+qA-cWGVGNOnG zfg*3=A6Y0Cjz5s63*x2*^(gER(Sx7e-H>;jV8r1a%B6xxX7YR7e*8DwL14ewfUA;% z>UjkgAFL0?!T3g%Eq_k1sj@0p+Bai0-eJ@vK zN4At#(O+hQY}t2D@*a)6pTu(sZ|~}^@81;^6hfEIrBL`s>98mT+r^dOrjosG$lJr0 z_{59IIT|uxNiQHkXV~qARihNosjj9*5_7l2<05nZfu2x~cL_6us8Y*i@7Jbw4;7N| z2MOWFD?Io|UJwf#4iV%Eh)S=0LTtokNq{)z%TZNHWLEN)@iX-wfQ3ehkVjykC82sQ ziB6kVYD!S*2hp?BVtlL`KeO$@z8t$4=N~YM{_P_8ZG-!zNAZK4K}H;WH3RkoCYICO z1D7@8dVHYBQ1b^5^qQK}Iz{NRbhHL40$* zR;sVxX^q^G%hd9^eL}!?9y>twC2UogZFhNrLvr#dP1=+ny{Bp8a$n>>gu(7}O4q2l zLZlg<+}FI3glYWGzl|Sc3o;TJB1LW+aNRteJe(WaWNi26_`uaj(FVg#+|=1#_2c

{}g(tONny^j#H(DLI4@!jYAF)aQh%!t-Me&ZfXVt7E2cu^LRF8njS^ z@pG;{w>(%L2eVYiw(NKKDN3E#89P3C zy!==Js;`-{P9Iw$%@qGkbnv=6BHhQJEEMTi+bf9Q__<6u61e!P2E z5~!t@mWLFFr{lw>T`umNvFtnOx}i0Y?9tA&%OSlk(vZTc$@Y8g#u*%h*Ri10Y zb%ssDAb9tvsc?@MF&IxDqL?dHH-)@P8aD6k_$8X?Y@}X^SpXAuamR?o-wo|K-3Ris;VSz+!1k4 zJvIE`*0aRKbRaTNR8p$`mL9gAiau4uqsJI~tOtj#FCPgZjOS#Os zJ~yA>il=>(mGy)}zf^u>elR^dn?3&KL>fncs`67y+@tATdfg82R~&ykOxx;E3(v^9~! zMennDw`=CnJL_`};3(49Q|CnP>~0NIIF2-4 zzu9e5Hh4*3$jhBgMxG_Z0!zC5xc*WbU1>Z^~{x=Bl|qFLa(0pioXUP`*D< zu7*!U&6HoeU)gT>GLle>eKgbhJHL*RcgcY3katIw>%t_nkZG4&v$e4Ew8`qtpoYPUFx>HtY_e5uy8cwpTcPS~>=%xAOx~TeZ3V zidvasHPlB1$u3hQ=8 z%X@FFC!(wlK;xfc8GTAF*3Y+-VKIp*XCzq#T8jgY+}5Z8`o3PW4TR|dvabVBQ~^%s z?x~J#4Eg#pmOm9%015!F<`p@BUxVp?1V(heTvUXrx3TaG2+&{`7Z>v_%m{SS!XT!4 zG26$1Hj;3Y`!9CQsA4n`GdDRWInEi?nQPxYm~7KuDmXtn8B;J1$&yG_&M!I*6g*4d zrrzwFoN*sNA|mr9yPbhB_?UzOZorH2S3NB4!632H)pIIu>7Lk#zwGn)Tq1aPy7#3? zF!R$Yf%TCht?P-Ro~66v0=3)`8!kd(`gl2C!M-9ms1!zfK4YY4&a~Nw1nIC64Rlm> z3ED@^^?!#x^c93ieb?_+a%xLNERhzTpGSx}`3OTr0f)`ZsX~4UVrobIgQPK;ga6o@ zC6itaM0qHugEX(s#$d{)%jnzpTnq4jPE@a$Fe3Ck8D8p*ZI(nSz~i|FIbsrDU@+Qw zx7m2jTluz&YzKw5=BpMu=KIh2ES?&n6`AsR2Q>L|d^Ddzq^0Th-&S{{0{He#PI0oc zM=>kKStM-cLWL1NiQL=A&MJ-V#m}mh=#*V)PC7^b*`L))E(<@C%x(gCYgxPto=573 zERw#B8egeT*S3Z{%@u8IZ2D$CH&K!z--!sX5*>N+h8OSa!fD3dpE`%4VL4z3EK%1| z1%5{|Nw@C!oKG<~i1;*#i`vBTur5UjP7IPhi~}?)zv2y{$XyMKISXb#pO8fDcqj5N%8M`A7^q)aU z0@e?xhx=zvzwrrBeLD`eM~>Ey4G3;sKw+8d4^A!J8(}!|TUglnAQ-&6#`tsooMc1) ziqyi9SzzPxfnGmTCFccE{R-~!1&2WyhdW%523L~Ryo>LTND;l9P&dJ#TyqZ85s+kc zb8HMbx|9DkHlQGh?o3{PL4dIAw1*$#0Ka%}Z^LIq3mZYO(LKSJ!AH&n3x^uO4kD&U z(r8400p$Pp;s0sa{hb27mD===F4d<*4SzbV6iGMuYH(-1DxAl4KE=elrL0|iW~eqL zOk{))oVnrKZ_WzSE#Hu=9{qTxExMzl11Y6Ew#{!{6J?&fl^90l=&z~e{3xp^D@$Sg zU=FX>x=qw{a}j=Te`k5juD-;EK2T#K${@cnMdaSo_K59w%Z>NkEkArr>lE@>bzgqP zcrNntt2#d8ajA%&h+2o+&0b8_a^^Rb!$G{*vQD$bSkiL>6Lv^~ucYgC(#RJY z!gq8I_4AP%ROeSDuN0rCpX0JboCq${FymtXiixkrgv{iTieyHXg+2Hbd=bSXo1m^^K^$D9F@RjMVL|E`c}$~IR2h5N$Zxv^?j@sKy4=7e^BEAU+^ zN=_E_l>Vgs5@r&?)^4j?h^GWyUTsTg#Q@1kLK6l^`f|KG2uTkwWpJlCRD-l#->+an zn)#V{nFkOB@W=(A=JSIcF!o+^zCjusPSp{nTNxK+wr$&D+Bs9+YSgMxAx0+IaMoRJ zZ!)A@e=8??o&vw9nlY_zd)|}&^8kK*gzB_-Q-C}Zslpyl-ieGRQ36CW{Y^tXaU63hykuF?YAR?WFCy!JngEfNXpeWaLVqdw z-@u1^vR;+?0u*=BDz-{4(}}GLW?8pWEIrBnjkLIbX@1iaic0ZT6lS zT=+`DGZX*MKEDDr4xZ-;~m=#7;R@r{tB|s$av2}7EPqM!z zZXqpF(ctR!46%Bj!?JB%}AH8fv2AX$}8AE_i+ zV~wCEPTP91p+aG!rAo%4di}XMH22thScD_`>7vkjS-e6af7w`Wsqj5orRl003y@sH z>PwY7F_TpAl_V+KHc`PAJYj_G<(LHw;pqhj_e;ZnHYrH$`AeR;;X3wfk7`2r!L4Pz z<`q$8F7lfc@=-}OX6xL&YhP^@nlzyf4hr3NNfXH+E8HaLRKSdi6E4qrq-OuPa$pJl z`YEV75zjhzx?{CQ?Q9j?3}!FHuRH-gT_$0?UZuZ5|5=1<)FsJ#SJ{}m>4)p{C_Fgt z*=%dBcZ(uy930>E#AYFu+-i`cU@7r_24@Nvo*x;yZ>jM~211?-!k{!gVf0+VEHq0~XqG=f+?hbmB%HGc(3j^N$b$Mijx|9y~97jj(8*(N}Ic%~v7cm(*0bwQL$OxiBSSB5G+ z4u5g^&j9K=oi)xySje4eroaB`V9l|B0cFG138)(2rm#1POW?v~fy4N(T5HYP&oF!;a% zB*AxA%xAi@VH~f%TMAC08|AU3eZPJeL%6Z zJ3s|FHcCH$!WbYGd(;rbiH%9X)C!{&5Dhl%q{so}Cf(6PCBRv5^bUXjOD&*#byhbt z<@h{%BhBqk?F5Ex5}S0S460M#C*ZuPvrnK+vLCNE0g zwnD~ZV}9;dUCzSq$6OKXUuQEa-&>_lYjAQ^uSVUr|8l-vOi(Llduxq(ixKq(mKN}kinZ$?NzA)aWa%>*!KXm77gVI0FCGx8bwg8WK-AWh zFM3F9{l0vzwBH1f5w7uX=Bleg?h+2D#%xMmK&SI@Uc!7grx9hek<-hw8S$@@co-<1b)EeS9-jMOu ztOA_CJGGxR`X;3rADf#Kc*j6>6jUe~OQZM3ASLB=m-4qH*PoWi^f&o6eUK~TZdxcc z|2Kdupmqb5aEyyB?rl*8Ki@nEmCjV^uL3&ke_}P|7Zy}WJ~0M9RYJ>m(hA|SxbWOb-+@UiENEV*ZpWQ zcO}Jxue51Frn|DDNpisU8?8tHs)|&yVK9UgW3ghS4O-B`hqRYfE(M_0x`nItwJUde0{8UkL*YR?6(}N9x!%Sx*_qwkq(ZVmk-P?L)(gsQB z>9v#W6uly8kfIE2{Ct-n+a^HO%vTRLwb?_R=E(8=vh?>l4G)T*eT!=iEu^!abGj8k zbt9*&E}aaSGj~fRTEjWZJl*@3**5vc)ImBni;EejZ5cm>#8IaMW_WOr%DCa zT_gZcnN@iVi_ulFItB+K94~%~Yv}7=mXVQB*Vc}Ut-)W5Dag44DyEbUF@EMnSSp{5 z$0P@CIuf*x-vP2D#~H}E`1>rr;HGxd6fypD!7u|P^4&?$1#IPP3o=1Uexj(4Bfk-W zi7;e~P)ZuH@^IHY!*umtt+V*$y|M1{oVV(1N4@rw5Ca&bU>hhAzRN=!C%9rtG1#&Y zYy^Q&z;Pu2l?WX=rWGKYfS8tsI_MYU!Ufp|Jyg1RZ>iRyppOBs>u^MppA`b1~w=w0pdxV(|@mc@^G9e^co3W_4WRi zt=B#QD7)8>A}}beoS>_#s{uF_P~rA4~Z((!mPh{Djg-j``5g)BP3ACI9#Nl}c=Kofow=&pRSfJ|aWZAg5;#FDG z977ix$w7F9gR!uOz>@)zdmINFz4UqG=($)p zHHWKbfPzD^;bzFme3IqQn%Daut$A?5>1DTqyL$x^0WbSqvs;7SBJ=8X6be5|onWXq zv>!+-dLZO7%L@FRkc_u3kh3&dzQUZ@+dj0`)@eApklk_gka!P{jsPoey$7uL|LAi{ z9I%^bWo;cE{Hv+4(W`ypzAF!(oqTcV;^dcJTh58Ke7zFIOE;dvIx|$_4XZsY%Ru#^ z*Dqnmj?u3N&&tZmWU$g1r~%+f!mjHcu8tkGFx*rS0h`j}4XxZ-l12NU8qJvZ6 zrOoq7x=;n6CVX3+Fh#c{bU>Cp082xlo(+M@iHbmb;q=1nI!|Orw;;E&!3}7~p4PuS zR_Yym_)1XrbWm34Pcjp_jOsfdaC%$``1$zcK`w*#{H)~5yOqirfp|~knW9>QZXW|S z*e`JazOM#;1LKLVL&$UIJr)(emFCAF05((_3r(ATyM)hD-v9AdQnP%zujGxUj?Ru< zs`V-;QsggvOaZ`HfujYj;Ac;wrPq=jWEb#Uzn=y2lkyw_gyhy2-s75uSlCj3`X^gz z^_`tc*d-_DRsq7S<=Oc%VbJI8O#R6yZwO-d^r>T~3{yql9DppRab778h-(NP?E?Uo-ttencN2K0|CsLmCkJG68It9C=H}C@lIZ=*YLB%Jz5J8vQQ#pq z6+qA5!Az2=Gi0y*8R-yUPLDNP9zzg5+cKTUm7uV&IY9Fk15niM%VSNZpF>Ev184fn z@&S^r-z-8GsWfmMWZv7^a5Z50ca5Q&;33U06Qkg-0Z;ll9B|>ad)ZT5n6>=|@GCap zz~cvtA8+qQl(p$Lfg(q~vgF6P2y`(K{S*9D&2CF{Uj8?+WsOzx)+jync%Aw}$Kov5 zH!JjL$(xfn&;C#Yal`4+cHvpchWJj|jH4*wzY2gBEmt>{M?h3_tT7f^$T>`Q5A6K052kM)W zl9D>9MN?DLnn}k}VX9{WOnuUBtH19HOe6xjt0sZ{L=S#lQq|C4oaxSue)NcNYM`P> zf9cwiC=ek%BS6^P+v1f!@*OX10MYb&LU2;j;(N9h&)tu>2_RQno&K)mnM(Gr(p1ie z3l!yU^_+TewznvpR{XEC%+?rl0`!>yTjL4HYj`+mX|g3=TMks*_oSP#Kh}|Jfy8AV6&GC3OfLuOx|wVCX)8axf+*D#x01=jhs3 zNwMQ*MOFrJ_6EaZhUw|PV`h339VceN&Pc15nZ@wOAnsGiBJPFO5Oq)8-SL4LZMm75#;@+AY?<;zVE=JsNJL*yE~eNNq@Cz*F5 z;d%}l>Y}*5*+ixOt^E7ur`!n<#wQV;p0=$HgK%(?{fp(fqxd2Ln*pvth#y+T!A zTe$eZwOujGyy?U>!3L*OLiOeu9cKUbbaDD4Uc6dP$I8+MpjTz>F4&x_N?Tl+2ot|A zwCL2^zA%yCzwXXKE9?>jW+^3-!F~fAT}{%%KTgcAgMqnc&}X+DAH!MRvH59m?6l%1 zwsQqe(n#269*on4#Gv~lbcVXDfzDU3bMupYI~~x(`=06Y$`HN~pjzp0`^3Ul05h>$ zj1GnScimR+skA04X8=m-5*nef3Els3H38@xG&MCRHAy(6po*c7KVlZ9As{2cvdV&L z0bo$Ftx|KU}ACLNTwCpT!}Ng5+S zuENPE8-~I=Lm_{#zh_`TfXI_R8BQMi^>N=SvrV#3)C9J<*D;r~(YYXL0X!U!Wd{@0 z)jNJ+)cowJJ?JvZpyKo6etrjl5n|R%&7Upwf;gBui~-b~BS_T3ay59PoY> z+gcsO7~}5#pRUQa&!J=nJ=Bs7u_4Eo0G1G~6#xTbj9`ku5g=yIfwGbJRz#&hZRk<}734hDrpGF8L;gJ-z|ejG{rP^TIg+%R zrNO82_Dg3p-4Grg{+Gk%Y7$QOp#UCPUQtK&gwnC>zxecf_*QfoqM!~&x$7ChPyjeT zTo0(S?#WX(FqrFKOU@a=O_fl-9C++to}=gIEW+%Y8kgc6+NHxZ2&8~k^vto`2nJ;Z z#{D)BFy#W@*phBM?LqjUfBK0!sNndezjP{OXZ5pTu&|?Y3P<>x&1X$C*PP3Ut04q$JH}#ixDG(OkPRUwhz_AnckKMkCPb zW@`b!bRDnwG)1Key$iDMn=ko=V@dlr3S4k1rmMSKQBCbhOl)jP5ZpSP8|{#9gC&@2 zy{q2fbq(#)9lkQhU#EM0hyDz(nIa|eBUguwTYQu(a}H4u;tN93d3|wHow~|TB!Qh^ zh&QL;kT1_bMBO8M?TA?dQ-92dX+t_}KDPF_7S)NexI zen1XI4FJ>|698=r?|mUm;J4Num`8aS%6q$|W&@qP^8xL!)lnPJyDVrV;b_twpQ$G& z3<|OLK+_r>t)DOWbUU4}PBik}1sojyK#iS+1++vN%@mUpR-E4$+n9xHIrL5P9W?`0 z^CwOB`2QIR!cy;k$NC@elu!q~xXZ`Y;>mvHn|V51kqu^Do!#|9~Y5fWip|Rf^8eC9TXg zm!;5!dfSg}8|M8dfmnn7D}ewh2RfnoPpQcN-sgWqrn;sk6FL)_axE36K9PxRflMSh zg+b_e3j@g6{sOoxLyE~|+|(aa%n&?}3f}8SYvF|rK>WWalF)2g;sO7it|RXtL379= z4#WxnUpDQKSNQ*qP5Zw~^ElM}brt`em!>sT=$GFquTDFmM-s2`++_bj1G(M85KLdi zc4kM0lRNlv3&C3f8uPeHjx*t8GSzy9g@KCB>l9mmPiP9}MS>lwShQB&awvZPU^a>1 z>G>}ewc>HTR3`ZN7hSGGte~%6hBz3gUgf;NA5d<j;I=&Ko3({IYA zpJ%z&WKW+HdjXDc_8Lx{_d9i(_!~#rz&&yS(?;^fuU|vYSNrUFQ1hCd1rn-CUFU_` z1FjqA)=BLLDhjBplgJA@t)srz)5ecAJ46ayzigrxabQDw(-{a%ZEksgWxpiltzsB41 znTR`2_(j3OAd$?mDiS!SzKMXewp0ssXv$*;K(dED1$n=*h zZ1Bvp>-G$yo4*42?0&wxB`eMR^y_Pw^>%-o+A!=esPqNhUaDqz^|42vBRrb-x&wHpjkA^Z>G&p`y0wkj z-p&S)v0o2-S*jxM9}5XJ)cF!@>^5I9ac@cJYavr5pK^8NK}&wWZB>iKP^^xjWyo`O z1#QN-eg^Z{Rr=m}1|+0nBdUp?hNrzP+TF1Kl^L3Qa1n8FUK0SzOC zMdvxo%_z+HQzJf?Ta~|`;j@%U(7+>O!NY;jc*vSs@s+c@{^g%Sq@82?JGCwD|9)FafG%zu_cq?u+ z{?`08aQ0b)g!H$Xt}YcB9L{_@?$)!q#Eqm!D6d-qS8TI0(-n~cPf4QUhk9veQSTQ! z$06$$(B6OjGS1@NIGd;acNT@|UoQjz5FE3v!QyLk)Fq-}# zs~OU38q(|`(w=T_I7>ph*U~gOt4wsG#bPZV+|~EK8V_a~Efn5|LzdD&{a>TkQ=J(! zEa6K^&lN8%%oOx9nw0XjUSVXSSA1a>97O`x8fadJgt~1)Pvx&eDn$7sjO8_vQKI~u zgiXVv=a{7BoAOz3@i4=&Px7{(@iYGl&-EusB&V4my~D4P#>O7}MqanizBpv(V)eXI zuHgpKjV;b=dmw~_(E^;;s*@yqsjPbomzl-WV^m|Ld0q1BSfl5wa*m5VKrO+c5*|JB zVEZCmFpzPhlpUd*PZl*jE{JfbdlWgazO8#>Km7No(nAPy8DfmS+ycDTo__|6^{WM8;bSk&p!qVWr&Gt#8Fq+ALulG5*O($08`tcG1JzjFf}vV z)>oib3WlVUh-Kqru5p6;K}ynyNvyu&GQ>ovuuS6~e}@fS43cnn7mSUGx!^n1*3`6; z9s#2uBng1v*$*(79X%HP`(Rv``2hv+wyjs-Xv#F8k3Us?^re!9Fp%%7MNkABtzAC} zB<8m$40+zE6V3RRj0J8r>V!fdpGSRkKDK-C zk3KR#h$Qkkv3dwfL%p0BUA8W`Nf z!^4Y7Nm&?;dvDO0otl~of1t*A=fqR|k&wfu;I{&mxCQXYUDckh;9QT3gVHbHx$*Lv zpjR<7&ZKBOtBpQMDJl&fq6jTEP>}4Mv7$d=k zLe3s`L^U&5nEJ%vwKHLnSoJP|`B3GnCHiKC=|c$g zurapfjEp97kcGe#vxFOgo^=xe3pm0BxhRGi5b$!h!|`(oq+s~py68u!s*DWYl5c3u z=B;^?h;e1Pz2&Mg7>dsW)FbZ_mN}>n_MRT6NqkdWuf{7uJm^)|HH6=0Cz%k#^B7|Q0gayHVp|GSI;H;CERD7h{P?2#r!+%3wMTRltF!%DZ@e38(pU^>8g`TP zXQbs1#1Kf#RaiL0pwky6J~DHIVL6MBF=Q-%RnW4amoysPkPy{I)mIEBzQYzr`}j1P znnE~Yct)cbf?25ypoQdLZB@$Kp{dCBVcC;cC4px-O%v@I12i`z7XrmxCGj2`I|Ow~ zzMM%GivjuJ2ne7X3MB*`Q*|RhRWOW}8BuC%3wg`LgL%1Z4S za!b_CxkV+g9ol0gRqeT9W#97q%RxF6MydZ zD6bs%^$WzM@e;`UB*Qo-8tD&%%BMp@398w-uMi|&v*Au^*3s7P0B3%s>*-u?+_?AK zeyp(B1QF7fl|jVYs347OZVacax|pGLdzoKbosmf~mJ=QxTx>UlKTg#+$MYif{Lq`w~~9&$PaJ`BFK~ zdjdRV^hQIg-+pi>ki6b7Pj=V45;ztYPI>AK!zi9i4E728LAl^$k)}!)QQETXEFq;@ z%fa@F6$>IjEk&$4kz?4nU1;O^lhxrzkqSPMy!Z2Kw($+@zogqUH#bS*lPpJFYQ%UW zY^Xeqzh)?^p#i)>g;a1*=hKE88={cOJ(lD*&lzEgKF)r}D3agn**yibUWL=VjE_sk zAD0w_Q7mLc@!sBD(0m6&WW5LzI%!s3EGR{iC{uacr(PlceRuMue8m6K6 zMN((GT&|yoM>sD1uB~5J`r1S=Qa!OFVVRA^5X0V)dHUq)(!t51fVW>*b1KjK68wyF zNl_Y^gOm|VgOiZ(0BosC)#{*|bdROa+S%%PpKXNFtRUc7`H3GvcLH$F?7L31%C!7k zaYo4pNg>r`sMk)qt4&3i0RxkOqWstQ{&E#U@*mEIbv8dHBl*4jEuZXr2SVaB$?u2yp#i$G z^1Ju<9)@$9F))s3ULT!(v@OEGTVc)4ijg|0q2oFL{Or<2WPM#iW3RI3q~*n0T5>*t?BK^4P1PT% zy=?ZkIUPr@sJXaMq%UttzP$P5eCqPDLtm}0uR495%UqwDkB`qsQzn{I)2DsI#J%=O z_i#RLs5sP~irU-1Sv>TB9^xnA1#ArdWa`(IhaLk(@3>?Q#>e6z_9ABI+|CDlURY7E zVIVVR=FvVUsg(t?P{EP(dC^B3hU|47CNdUaZ><=-Q6f7(U*)MIc$4bnH>qm<5v!`@BavBm+9__+1J{OPY&5xUS$P`l^$`{>Z(hox;ZQBWh?=)*A%N(o282U68o}3U^WGaa!2sh9L{bkNdLj~lwI6L_NvxCr9MMr~ zU3~T|y4?mLlI;N;^skZ}I?fuVO<^{PFbuW%MU{(fug8Q3`f23~^u%%H}ioq?LiM1Izs z!KG+N=02$Oz%RPoz!(!9-T89b%_e?9qgTjuw0NQUX{Jrl;}1D)Ez<%sDlB^zb+qNIQ{f+Gx_(%mUH-JsIlT~bOT-SF-4exCPzf8T%nbY{*z`|Pv#b**cy zbuDw6J!M*6FBEMuEpA=RZEd~M5ZhMpz|Xy)+kS6IS{vcw?LmlQSrNe;H$4Yu_h`~V zwjMO~nqTM$?#sl$arwa|zaT+pHRifCMg>h6SA1O;9c6Wohd*@ep)tlN{K3!$L&2`& z&<77psNTgcu9$YN4eNo0P)kgtQ8BTox=(n}L@s2<0U;^`TX;LtXCpjO5g|R`>*pUT zc&nRH>(4L2g3F)teMRi<&p$&}hsZIwxW*vL3cQV7eb-@dXS+0of0q3Gh2d(YRJ-UG zk+AKe6;r!Z|Imm=r8eqNy9*5xUEXvO#cRXQ;)PT1ErS!#VycBv_l25};|2u@yqwT< z({bv9l~j9h`pd>I?7AkW1*Zdf+bsvKha0Kfz5Jh&oEH3I#N$lnQ34tyHk=hwZZCb> zF*-rYm7HCc#o>e}+ze}^#jz%oJ+s_r33f9(t-cZC373YUMw4~UrD0!qsf8Ba-y12w zCW;u4sfOx+U~G7o$i))7%tFsK^_{sMMt#d6K{~vN6Wj?eB?HbEob~6sUB!(GUCZR8 zqyvMQa=Pq6LlWqPi<>XYyrR$imTf)!LIsPl{(6t3WRso*_+?Br1XR9L+z*KF@TkKR zlB0cJdb-{i@8U$zB?r}pdH~~4>bXoux$1(b$8jxImE8lD-3lg>LCZmWvrnSl#`%R} zlp!=@@Dhxv_dMe-V=m-wmGOx)P^$%IR{1?4vUzWSV0e} zR-8T*JPNOkin5y^pvFKZHkV-xEVGQsMas<2>_)w>SoFTZ=dfFJ>&E;lwrZBs1GIFKB)Vo&icm8=!UgTwRf;|7#`JT}Pb!|-{ zMXucJMu~xiPfN#v0;=6oTDD9^b`Z$d14W#7GWr8-4G*Yg0=s$>g{TK>UpL({5=+)* zQmP+)C-!R6qx9q@rx}-X_Xl9?08FIZzY?~9w519TLRCrpF=-97lc9l%3Nkh}7BEc7 zF=4MN8YPlaVoWH9eR8!Kwb8$N6W?Np8l8yCoOTQsIVRX;-E6#KA=+N0@%{d13G6}K z`I58DFph}Vjzu#Pcij}zd>{O&H=UqhQ%IxrFkoLUF*J+1UKSx-+eC~jlhi*kLbols zAdT++>M-c*xHwf{uxP?Q(_Bz7W5w}h;yAEP5fc*!=Ze7p-kE3FVT@id2~1?)CTJ$l zy)A)63xC8Q#J@3vHzE0(PuY08e?PcuzpK+u62i-MGbQ~Ug?sP0VuP5GyDBljkud1E z@e7;gpsJ#Xi7XVAV;k8_@=)7wgAtXaH7UPaJ^K$Pbi#P9V@Xf1;z2Sli)f>%x8Z|w zu)=1%7K8de^gG8lGkbqYLjl+c8O^M(} zEfh6bMfc=Tp8|heLt`%|0h(<*Dq*K5GeGpi19&a$L2tdS+qCwT>$-0n7&)kDae1zW zd~mCn*)1}D+E^QQr#3J_PrBP;uR+~0(9>$vk&jc?1bzJ5@hon^M7uzNFi`XB%<+4~ z7t_YNjgprZ1yDG95PlOQ#1cXWHuB@s;XX1j8U#{9&Ue^^%ZhKh3p@$quohVlE2v_p zHSpsh>&n_-GE%r*7?Ek~NOJ5%BF3prEog7P;VkE|2~(MRH}bSJV&ho9(w)y?ZJ3OD zA_A7`)HM{dvspQ(5W%cybx4!vG-&qp)<%i3TgXUZRnOB)=TEh9nPgTlf~#Y|-k;y2~| zDp4{oN){6BnJ&Xc&HL#Kr7(;4a6)?*O941L!r8vtm$vo~3<(FZBhbWXTM8jUM3pji_`vWp@i`>t_e6*Jj49r4q5fSBSE3 z*?arEQ3YUy2Y3ja>mVsZ7ytAD2Qxk5-nLij+6}VJs46XayOG};%~P`0m319ksUeQB zxXiIP@*6Ya-LIWHrR2>F%y3Z(#~}euTJOd=|ssXyP(KF=&s5xL@qO8w@8G9@V{ID zzt8-wf@JuEv8iV?Dc{8ok}gIO<%wXli2YdMSG3zh8NnI7l{aSNq>X=GZ~Dqvc5>;hgfU#vzo z8Wn@&q|wILfhVbafZ0LJvs`u8;l6ZgyaoP^s`!J%DWmnK9k$Y9(ssz_T)u&*e?S!V zxlrc95)9@QVrkn(e3d?h?>Z;^H%lSyR^A8vA0&yP%$0+rx4<_4WFIjJ)c}9|b66m@ z=?#LGb4qO%QV>+qGyQb*HD^?*pBY3w9$GEwL#-Vx($;P~8hcaOtr{d}Ovq%LqWNKc%( zmj?a;zV?FWfj!uqQ`c1tsByvfP6WRx@ncaEbP$-)cOw3WXg~1Bi~3bhU2HISB|~X} z1&+O-*qhAZ9*FG6{_$1L-4coonbxmK&i};|o?>t5fMt?|2}ifmDyvZUDYg7$r8OO( zE{Wy-TK-*`JzY1A?)phVq^7~-=2>#^VdC=Ehz95%Q`AGbCKznIuK3~1=%5m@W+QvM zv&V8aTEyir4M1AeztYYK3xT4MYT+i(*eXm`SW=TB(e~SN&3};}9c&CcavyRFmmTlj zOwAXkhPDU;52!t&==}T~y}f)2!t9_n6~@!&6_@AL*=>23V}G1c!=36Z9iz!xhwm={ z9`I;ncvuMpLs$b*^|MbdoG6wY5#K5-tRVg#=YR3q<_O$65S{Kb(xY;K17s^*L;7)N zvg<7v@2^{(9D2`(I};(Fy(qh$nEB8nRjd&V_k2==o?`PlaTkcOiHWkQsi_OAOd*)D zVDP?Uc7G>I4428~oew@h73v5Xl4k|bBbn+ua!asXbIG;!_4Q*;sV)D-W&ePnwcYF+ z3oWiNfKv=%R0_jNbCEEe7sGi$w~arkG^(}yybeGQjgmIk|6*hx@c_aKXu2x^^v=Na$27vqt@1tFoN3@( z$aaXcaE1~M_H(Fs@N-yz@AfC~Yb>6Z+Ngu_AWAp}st^<*Rs;63#Q*|j?4>{ci_$?B zu6sp+1(yeTgs@12Ri}CfLb;G()cfXtvFm@4H@!$goLP{16hngO^Q_%cEKVpe&?E*% z_li*1?yrDbnSW<+7`sD`E}C0I@c^ex`OTZ$9r0llT@F>VV;ARd4hjjiF-BxMIdQq) zZ1Gh)1kP}8zmId_HWt||1Ya#%Bf`Cb6NO7eD=f>)8-#$iXkL1Up&Um34j+`_=x~hD zX~$naKE;BU;=5qb9o#59`cN!VR_eD#MMtVCdU`+YsdnzSuj=>PA=>u0QL_2A{;&S# zD_A7mYn2t3$`*XwGob%c?(#XIWhnz60=!14?Sw8o6jb23cSw0m4-&goU(z|~vLkI20C?`Fd>yCEdQX=bvf&{g_xX5<7qt5--60 zUznr&w|r5gYL2-H-V!*}8Fso?J)DB(P^Pxq^HSZxCX%@i{xR#Lovi)9 z;qY&;rK&4n0TNmpscQ(vfd2U5(6HbB23n7$rDa#2iAtnpWT3gYxq%ok?h}Ij6ZPib zTTugfWM=r&H5{)c?9HTW@RG_?rt;;$)Aj7cZ@BQGWLNn`Roy^x4bmuCpv59GuSC52 zcN)~dG-Sr{uifx!1_)+vwg&GRwbaT2_%aD1^4R=NZ(@bqB0ci^YBxQ~<>$BSr#;pl zlA3xBq=2!?LADD#yxvS#*_N61P%WATkUdI+OZqg={yzIp;#aX#3gp>ww9ZSg&JJ70 zx@GU1_RFiJC2C~t$1@XXZfS^ zJ%Fo?vz#WmZlwxsRWVo{bsiAW@P`5o*iazHT=&>C@RH^MjJ{Jq19$^;F2!8xvyK-q zbg>V`5O`@LFGa<1>3>FwFG;N|@8znOLsQ3c;oNa&RADd`QBEj4+W=nG8~ibpsKE+k zn$l6qFZ#8;tr|{DCApUHgu22*=^Hd4pT3C4w9se#uqfeJ(@?>z}Vi*7tOdEqhah&isZ zbU)os1=TAmVn!!SmFH3I9Ob6URO+Fxp4g&06pCHR`1DX3@Wv<)=haNF{BuDriT38U ziwL+!nYwg5Z{>@-)a@VFGmj_OxK!YK&h3!KvGmNCZ>c++Mxl<~kCnzP`FH}z?4AQ} z0xmA4l8@uh{9+SqYoj>~W)X`FlK^={Me8|gzp(3OY|SGOFcnbXeoeBhkSv<$aW*wa zMLkyNGobiGA;UtP^ zW9QTTAw}JGOx#UQ$-+CB*w6`wu-Ik{K^O1XOUXXbvw~tZ`Chl&iDV~Gn^(w#OyJQ} zO8jY9&59?uZa+omNb|>o2V5m>V%wY-yR+hAi?}Qzq~82JT%@KE_NDKFCfz{Id^j*d z>u@w*vuM15!GR;V#5#*G3DevFw%}f2WmH zU(8huYvZivmAfENfaqx+{J`f>0tLwXGi-)6pi7?7nCGAGw?QYaY>ET@4>Jy&9xu0m zqxuJjmP^sOqx##L+yPF;9FO6VgePVNJjB#A{__3^<1zbGVE z$T;-hl|_`YvD29%TijysDt(tFF?Z$s*@aDG?>`or?c=kYG#+kzH^C+O_{0Hg8p=GL z=glzIhF~0f)ECrkXd+NE??WBvx@1>qtU!7{OaM@w$WbgEzaixpd&#RmyC;S{)=iT| zM+ev(4MOxIMdmH?E>;z93^>)gi>1L#V_~HP0TI&i9RXinLSXY8jF)nOHJWXH5bci7 z$JN^1h&_{5=2<_>9jIH+;HE*__WP$^(Q!L=oX)Fcb7mS$25e>mD4$>BMj;OD zNIPkBKw^@fVK+!42o9nfu|1mkKoa2FPLm4&kM3|*LQ~@Ja?``zk?mDlkBk=A)nN-U z&V5fBmojY;ruxOi)|BZ~@pb5su6u)dcfx4`CK#SoJ%Xk((&cm#m;KJww(sfhT4`GF z6cdu3E5f`&IS%#)?QiUo=kE2jz2%V9*!}KJZ^qsol@e>Bm2en3#2)ani2sQ=DO@P* zJp;KZu@TwZI>8<;q+PYCFX~C9lN^5HzOU*b;7Ne}`38Lo^L1_*F=cdTXJ^dM97J>M zZHFQv#ee$v7XxDgF%Qg2#B)tL<*J*T=M>NdhmhQ^epJOui03(j2($%KEaYXSJ>7|AUhyED657@sIj*qk8m37j#Z-vGK=l-y#0A!)ke{t*!2t!$L` zSw%hchJfmN^I43`4o&K0XwM0*kwlqcDzTvusCsm7qQyK)Ph}Zn^wY%K^sWr)a@S_Wk$|?zCzNR?D~a(K zo#Q5muIRC$lJLimNw|PbRGMjwBpQ~#G_`9%9V=aLr~vYxVi6%ngmJmz!x04IQBDnR z?_(0iEp=|>uIT+J-ePjh@9TBZzMs{iC`(^N#Fljw`*-&qj2T!*W^cVO(K+=A1c*%8 zqmDqOEoB*HU%%4*^QRCAwalS5Rlshtmi0)@DMBRBYLWfKQ)mea%|(PJ+I!^V(_T$i<3IsuK7 zSN={HsR#6uHj~)=XzT$5f=hto=MUuwBI)Wk_M7Kw>DvT=UIR_3iKPN~YFxzDZ)gnO zet|tVev>f%q3JHOnb$mfKzo9%Y4;ZNRngFA(pD~bG!@E&#B?;qWMr8SJZWV63@!b-a0tQ8$G$@uJ zguO)((&g7QoyypG!T7k&k={+hr1I(GqavUC(v=D0@my17PcQ4!>-@jEuj9K|@6D2J zcYNAYOt#MU^RyJc|A2r4qeS5Xv%Kc@2L>|4l(jVrRu+~NkY4`bg+BVXSP9|rilj*f z#jmPj8PcIehFkp&c{OBqdwM2>@>gx9aZYX=7Re(%R(fT@jvGZ>8GZ)rl1(mT6yf_0 z9bPf~c*Sdx@e-<_m3*WAVUhTUBnU0GERJFjr;o%fDJcO=8}3L;$#iV0aShj7{+k9G zq_w#j8O_I1QPI)SN^ePEsb3a-RgMm|eU`c}?6T8cPLdjK3ivGjkt2m)PEbeF%48p~ zW;`+ZOpgrqx&0UnTlNM($EZ@$pZ^>5$l$({!pO~M5`qLW_zq8Pdm$v&`1SQqv!g7>^iSL| zq0~B6WT2Gu1?(fa89_DT^qe?uxID?kpu;mcD?9s(g3yn1BU|MI!+E>9>7-{ITH=J& zQrE4+&i*(PY)n;#096(+h8Qq!j6yKtO6rfAjwL1#QuRONV4^Vui&Ttpj-x~(kK(>Y z%vuA|)&5%{Y#+9+B&%+P>+8A?xN zARDYsxu8Q96;cuXR9BR_8Pf&xeVn5W51Xjo%n*%|+d$vz=-OUN-kdfVDVRlZfyz<4 zyIAUXP}K)vuDBz$cQ6G=wFCMoEYz#pR!;o!f2jh}3~@5fBW|Qsv-rlz{4AG{vO-Tu zyZ8R2&rFX(B8f;tW6fy$@U&n?NSMij9i73Bd?|aMkr@$YQ%2>k-jgX`MzcV*>+gs3 zOO^dHZNrWW(!&0~>nYE^HOc`wf%0CCXpvmA^mWQEhGL%Hj49Pb*a9?x1~`8pztCS+ zs!IdTV|P?WuH9g{o(4AzDa~RxcNd$ii{pUDh$r6kh(6R1q@HPYV;q^Iq_x!C043Uh zg^PV!1vy5W*`CCWT?t%-6&t`XdGSZLxMpgb3>mq^U(%ZSKBgWY(YnLDrg8-FJ9Y95 z8xlbxzlFk{@9>G{foxEg60FC+oEX^{all0V5*0-(mY^z}!ae^3$Hi!N-6+?g7Kf~@pAmRl(;27eCacltvQARrVO>OIUQY;DhU8nqf!L8 zH-CKk&z>uu0^l@k0o7ZAeiyOdYBKE72u&r=Y0w*cWuM@yj9@?qhWa)=bdZt&usIbk z;M!DyQmb7XzUC+K8n7lGXOEtJ;4wj`JwyTxIB=(s0etifz%#KYY>6C=4-Zt@ocP@z z^WA8*X~E;6<;#1lLT`Rc|L1JnWZ@yV1S~uVSaM3=1PSJ)0SF{ZmijxlL9bFa`18ib zyUzA@%!?^i1k&>A+-!1hn7zhy#UvDd*OyGLzqHFBqgRYhv0Ur|?AqynOQ*n-8r4o6 z%yJX=oC)OoE_-(@^cw0p8SH2G)ROPQc3rzyl^WP!d4+|UtEyT3KQ#4I<%JxTe%A@> zlv~E9I|lZ3rR(|=WnOm}3I5t9b%;A!-jVTeZYxcjl=P6CWT1Gab|}gJ&e}{Nb)x&M zv;BqV6<@jK)aXFHpMDwOpo2OqnfvklokeqnI&Y~IkaXG)K9gKo%WoTM4`Xn@OS{UVd>(TWDMNp=KJa-ENSR^dZQ)esMSZaC7e> z=a$K-?5nv3JDp088--fM;R<3G_Hj=wYply(*B$#jHMyC;xI7@^DR+LBo|5u$cW>uJ zQClVj0hRrD4Yl&zLT~oC?ZST#yj29L;E6>~M;jufdstYb)7~I3)f#iCwB0E)1b)a!p zv{mDUbwF}7I0Jh)rV``-ljtm&zSS9=NJwWQzU}gArBM3G0UF! zN!}e86g&5t?dupw34nS><0|ClrM6C>z4<4Q_b6BTy8nps4+qFP0iEolPVdSZmU(-g<(2$F;wW*{1 zP%9gMZ^%RU7Bhc?KXg|T*;^BzmTkUMwgofPzn>G;8A!ifU+-4E=(_QkhTD{<{B5)( zGl6LDmP#Gn6CAptbM)c1nE2jrjz8>nf#iKk7MjqI=$YEaZ0EgSAP!l-kBf`b19tJt z2%YUIL-AaGa>TtaeZHH6{A8(%w+T`njg#D)RBNGmhg=}vLmATvx*RoH^zs@dn3%ZE*!zPK5zEaH61z*U3x&S1c|&8rKx#Xt9o z^eH&>!-h*~XgNUP8PFLfL@;;29xIQ#J4+=~c*J|DT(yuOpymmPlXvLu%21|aX(*N< z=2lbzKj_VC9oU#Elvm6{CLyq0h%w6F3nG<~KG6M*1mh;XvS~Y9^8(XPmvb39>$N?E zqWTyZ`b-)e>0ipMKG}RaI#SBC;VYW-?Bs53-q)n_4qX(|JA*iyUBx zyPN*plKg2=q3Qb5yi3FT$166bIgZQO!#xrj5JZNA?@bn5jM7Izxlc-PB$Yi5 z5M^WMAg!)3ID0hHfX@_7j|@BMcBeSC~CFn)K!_9;AWSj!$ux#$Zmuy_fXU6D;#~j&2(IE=&${WE6)m%Dfon76$4WpcB?ml{ zNGvDIVzc_3M$2xT(#?hdF@Jc~n_2bbuUXaa4J>T0n%9d`XX~kfHIUOzZJEtLIN4a> zf7z2_nv0yZ($n;l4!>fvTh>abpZ%B3DR@x!+I}PC)`Z^H>KPQSXzSDP1aO;cDF_Jw z2^Pd#<-;`@wjRpPhumtK{T#R=>tFHOA+djURnaAi6v$2KkW7tye%(>XGh)9a$pdHh<_h4W2|3dDQ(V@x5EUL)N(=meO)|TkQN}r@?W=&fX6L5pheR zM^?7-GhY+Sj>hitoK;hWOz4CG? z#Bex1me%=hp^xiN^w?}h@=Kc}xa2|$af#E;oaM5NPdj42hcDiI_~f^ew6xC-S@hmo zzIC&4fE31{WFG>r{_|tch`7lFP)bWp5BBP@jM1QnFxY~i-N!(|II1Y3MUWQ3_J)?r*yi1NGs$}aTICSdlk>e|BaY(8>9{y5my4jv z)heS9TlT(}Sye^G*17q8GF+0s|QrleaBrQor$Jp-`B0^Pyr}E`!U3_r)mQ>2KmXZkC5zo0hbk#kIy@t%gp*Jvk)0~Z0j0AnEL<` z;kfDghsL<;@`kd_^*{tdt{sVwGYb%dT*SU>9^1zD{huEraX|)@qfw~i{1|CU3D36; zSAcPKvHS5C&c0_uPB(Nj1ap;Wo}_c|`fEo2daz3go{a6;$g;GlTwt@qst%Re7hZqz zXfVRkSG!9>>N0w3tVlyQtswjZ?u<{6iD$Lyfqt0KcE(`-b%Gn8CrSoU4Q3l#UjNp- zLOsB&lBHgyt?f0e{+A2z)OCzHQCWZ(fmU72=*y%-G`HlRSuI@%?T&eCA|e3=HNPMX zGxx3oJ1?cL61+NT9a+`uc2%ZDloT4CHZdXX;#vi?gzOj} z7HyvgdAJ>Fx6a@7dx1#|OmrGsVMWrEPKN9@+!vFQ-EV?#PEk(?uz4v*x3+ZA+tq2L z#mhG4JG4;ecLc*u0Ie;WN0|(A465^>kc!F9`D)bV{_C=TEL+VO&3^iW0~VeiaQ`L! z{TTXLMKv_B2z#o_Ma}r2aHCYa78&0fGSBHkUDB;Nymqaq!QQRkdqjq%8^JiqzTFji zSKtqVA;V6cIoQ+}aa_;SYn6T($1&Qf(D>d?M;~F(C>RhL%f8pwO++ip#9-|BBPF7V zSj|@P3nbQ072)|r*1qmlh!SGS<}M@y=w>i19|rnzdyax!JK5k!eo@`a<4m9;bZ4h6 zEP1a(WB0S=HQt)0KdZohuC``hdpfA{Nn)#=uI=w7lcrmr0OH>*hy0;g6*#h6hm

    Wu58< znz6I3Nk~MZuY*ETx*hKUc%N1QbJGx3lQijer5*w4NvR2z$*5EvR1)GsKJ122W@p^D zlMSeUqLEz>#$0uhhXFv8gx;*F<7uM*80(pldiGQw3cM&A`yBZ3q{I;(3!GQ1b%FC&(z}4B}r7&#aXd&ozX~fmi zQ^J+GKK_THM@N5@cdWpZ7ur!uuxIAVvugV^a{z@4A)V-O2mdO@7L*~d=c$lb5x%yy zYoAfkt+{Px`90jaho)qoA{I+cyt-)JywevO3J-6z2!-|bjG4rsFjJO?1*D}xJGuAZ z!E)@H5k|$XDS0vNU$u${S5%m(&lfjWpG0u*8MXA33;ILbtR1wxNh{S%(YSL?Mh|9p zCfvlt_+;C^#@AA48&vANZb$(>ve-=r*UUEYi--F7PVtxKocOY|^c9 z)ZArRdnotoP*_;gHSCCO)gRI3JV%+{X39`O^FJD%{Dw}aljS2L*gjF+`+AVKg1tqI;I6}SgYy%(Ug zB(3F74MIfDKNz*_QV`kV*H%)R@nE~>=~QbtaAfM1KF?zmh{Q@DBF`KWJt)#< z9Y*gNqjADvD$%LAug5kgS37PzOC+RT&mX+cjAEIfZN4zY{lSjh?RaBqS*c?h-5ZwX z+6_&$4<^EfuOQE`%6K~GJ`e*F+w|059nW@&h4p0qO(-=2EMTn-RSJ?WolG_jlft?vTgc1 zEKHbC8G7XxSkWf|1j}``GN0Fh$^wR4zx?p8DPH-%fuFRY#ap64NUW$++1Dsm@<$o| zmHHux`&kPl*_GNN6eDZD-O_a9B?IC~vqk&WL=F^$am!657bE-%^)>pGc5Bw*NPQA1 z=NEtgW{V|&wG%!9T<}!@Nz}wnx}7;kKtv=Qq-3&-xCgbkxsXhM9JHv+4pK(IA&}*)jrLq&R?D%9czmO0%D#eZ(Xj65&WV#b|{*L`_=u z3&Dw3hBkB3FcPh$vHQ3NP4w6`B#+N390Yo*_{T3z^EYVnrp`pldwUKp#C=)(`tw25FP-3UiQ<8=ma{USFz6!D<%TT?Y17{kA{#6g zqcVQTW@zXJVsB+2UfBmW{sYBr_l>3*^mlpL)z`Y7qqSPeE-WAF9Y^f7E0k1qbN30? zOHG(Mw7o4ADPH;t`2_i_mta!;JHqq${VU#vaB9NC50dB&%K1Ccey_jK)I+tg6N>va z50*K_(f5|zvYdc~65y8Imp9_1n71d2rzD&CIw>=122~_Y7fh^&MUaMfq0yw<`nAgV zuo8x)Eq4wnS>xd0claD;rJeU|%M?)NC%YlS@qw+nS-*pm&hndBk*{H9JHmOQ?k;V{ zvsULdbT@mqKSBh|KC?;CCxSPtQYl^}nNm+lfCdrSTO89_V;SAL%81-KoXeS@Ee#B= zvk!usU99j=HokgnvM-cSq9{1=^YIevhvtda#-qzqFR}}mwRKpPmgqZ)nY*~KT}O!&-ppvFvm5| zR~yaU8{v8Owy(34jm3WQL{)(M?SxP$`Dn(Xu8Zs)j{ZW zF65p46#vkP*SDs5;Iije>z$p3XP<|QO_@}7d3O}z^G|-g1;Fb92vjPQH;j+mV(tsm zE7Bwy8*C8C{UmdJfHXY|tb0J!SoV)8`Ugv|;mfQu8$yf{t5|9dJ}xnKC-^eCaXI`^ z6A$+M9rWg(ul=UzDh?orcM1tTjt#pA3!Z(t&L;#b5#)WGu4&EC#kj`JMvYk7WNumY zpyYkaK%~kKlC_@08@BelDrpYue62*iy5@;v7@l!%-T>=zyHo-0Vgz7K_eT!|hwJ<4N(o!%dD z5E#|{cKsnCB|J0TI}WyBih1yk@b=y2s46_K`3E*`8x3B(E;3wML(&T+Q!;?w2HV8Lu2=z0LhbN`$I2cMji-C*m+K%qvwXfL_Rv)~Enhnr0cL{B}iWalcBmHcf^yot^z^07}<*e-KwK{AMQ448O z8zYYiRLc8~PHo7cOD;ToUB~cstl*@iWoN`tJ1ipIHxUDEGjeb{oUZ0559JiNbdvdy z?NT7Ej`l|Mnr0Iq(JB`YCEV$u>^Q(LNli!RxqyH`tEaNta)T>%`NV6w`_9SgHFh#B@PnymwsG*Pb9mK+BE(wd# z)@{9dkMcCQwVx4D%2di|qtV@Kk9#eAltmP#lx1A)VO&UBFBB*JPlmr3OWzS_R*(Gr z`LpO~hV?)R<<3u((ydEcV*o+iIj1Kh1Vq&=wsH#ypy_S(i&9`h5B1R3 zBtFt3Q39S<))uwzO^l>j(hzF;`U(yX4#UMpG7G<1rRSI5NSnX4e6*}*?{Tl{W?B$w zQJsXyWJP&U`Q~Why`|g6lTV@KPC)#!^su*|{1)tvJ9)Yn{4Xc7=F{ZXdDSyCZRX?x z39`R*EAHFWYbVk1d`%8kR#v+Y@5PG_)zB4VW2*5IVj10{^*H_v!ml+wOJmnGi&DQ9 zPK`gkgD?(&kjsK?h=S;URM?@k*cAi~5ypge{O;>{jdzC0DX^sO6f#4(h<4=gN~bIo zO4-Y*la|X!L(+d3flr5c`PA`al-h+Tdhl=lML-gV9e>LNQKqV1`C8N_QTR7F3;_{x zIHI|78vuBdffbRq$9GxMW%w+vrwN{leYFJtvsO5j>)6zoV`=%w!GT_a<~A47 zV_({-3k~^PX?gbN%-SZXSw(|KFLqV@(B5a_%OTe%t8|FiQ-O1OZ0cy)xXM&<@=u-+F+2Z09nF{LG3)y7X+UH!w!uus>R zI%x$>WpR7@PBF*`B6E*?hC<+V13mS{|( zIOL*TM%6H(W-R6G0IM{qG^f6YlAZc0@d`{^cq^zjwVCO9JUGAHXDp-uH%TKf5x z!5BAK%qg^W&Ykb#_wi0rd4XA9lKmp#nDW^n|AS8MoVa^s)&>G10-J9pOH2aHV6W?( zd{k<^o$6l1UlITzn`Z4e6bkwHtr3r&p_ww(KzVAD4pgN)t}K*L&ClucBqOPz3>W18K@D|5ZzvE`EF+m`R;X^ph3 zZ0SdKb~$|?ukTOm&MGPa@|o;^%NncR*KM6puht?Ov)kyBkqk1y`#C7Y|CAV*lM|%L zU)p#%7Q^ZPa%)-G*wP0FRe+b&U+CIwqJG$M>P&j*E`ck?qBfaWfB;Jqu7<)r&SK4y zQa>2De-SmP4ECQaPd6e`8{(KMPygX_EAQ=1(!ovDp{!J|!wL(j5cRSC-bDBPr@4hQ~jA+6aNlqwLdd8S1}C18E=NNT=h9y1Afa6>8DU| z^oa^Z00!+4?OhzKo>B4V&+ngri7kotiykR+;t@wWG66Cu{5FEoKxJ?2v)WmEI?v@2 z+sd{`aNzVuyyu@3r)r{1J^u(V&$yD0Bsyqx{`l3g`G4wPZAqz-VMkvPvx~)67q@hZ z4IdG)Y*~pRG~b=zVnmX)S_70 z(24vbDeNj;&a^F-v#?-!{|9e)but^lr{q2Pb35roK;853jZ)LtQ!CNOZgUOpldZnr z_7TwX9UR!;+jBS-^dDd>P?J1qb1D1ii)L zO$7SxbqMY!EXDZK?cB|%MocVG1+1IU5NCFz1)0%lNJvJ0@D^GA^1qZFJ-PF} z_h$}IJ!UzXKP|locMC~)CQz;k7kR&RH}|balx;GL+;FwS+;zb$IoI?8XM?SbfLr#Q zTwLo7`6*LmMci9@=RF^aPfy&#GQ&)~GndQsKTF?7d^OR19(YzdRgv{0fgpYB=Gzb2 zt=v1uNjw*Hx`wfwaG9clDa&CFvp^K}UAFEA4T^PIjK209Pq>iT`|K&)XZBnRt21!s zsMj^`UX5uLc+S;TYHL6!;nt1ps5i=S% z$GHx|?l_cXW!>BTNv{Yv@;Y?`p6}aQo?yjLmWK~HlWv4XGe2^bqi5hLF!SOpCP&hn z1xV95=fGu4ls5A7GTSuWBtrx@!gLe^6@;76bfr3LW63MhLRt%2QO3E(FhhN$<5Eo+?D_FtXnzp6 zT_#+X@A07$ve1NEl{?#n9ujDt6$0R*P4qXfQB13dk4KrW)T>Rc6ZkIuZ~$@SbI;w_ zh5t2=;xsa)nMp>O+lwnJGD42zkIwe0(!~ zv{vyF=G4=n^R=4YKR$L`lN3iG0wpn4PG*(?%WjCraO6umx!AaQ<;BIS!jjh-uAaxg zOZf8;jCu8;8O@tFqG6KuW}tP6Yj%cEBxaopY}r{Ootly#+Fz zYeQu`Q-Ptnum#5wn|4El^`z!qwQ*&AQmnaJ9qtRr?dX;Wx86YGiZ}8Lr(ZWq0-J6( z4|09gG)8I}FG=29Dlvwgj?F%I`8n(%9rcU(qPBlfer~9r_WsJ=%(6XljHqW49yMnx zVk);j+yq5==64M>_nCAkmn!V?+6k$_!ks11gGYFuASX>8pz{@$xs273m)`j=shcEk z|I@$Lhy#FqXytMRllUCpi{w}<)tM?HN|0Tpeu97O}UU@ggU@F^)KIcj@M;8 zLwiW^*8AKprj7`vq=esmod(c%h!;$*mY)G(#yK1q`UTPf&!wa+PI%D+5rDzMMVbd-+C5CO(Z_P`&Jazq$thdECc#*3;J?kxTW2YlcZ8Cm7; zB-gLn>~_^9_jE>>Cm&WS26e3If4z!SRd_RSi+ij4C@bD74K%A!0boRs+&?_MJ&=}i z`cVCUgK}|9s4t>fD);Oo8nQWVU_!(GjRSD2fOlMSASd7$vWK@RZi2`jnCB%l8>H_zb;?h$` z|NGIF6*96L0zYU|_b+g~z=PE%g@2WL(f#=vq#CBpaPS*A%co$?4msOsB!QK6c1r*` z^>>9h9>1;nqgkz=d5rA{#@R*oNVkyKSC~@)g(&w?(y!LrbOdXINm*A$-15Q=nj6Cc4H`i* z`efOU6IGLo7&)#Y6oUdPc@#uV6n`O{=7+0>-Fg5`W&RyAQdl{fTbLaWhPOxTh!y5QAb>V&0IQV{gan(0q(Qm4)0Wd zXk*)tHV)@E3FgV{o*Knn3ye_|{>!$8l*#OGUJ{v=gT`v3hMr&AUlc=jOC&L&5wK5h z#l<=P12R}_1O%?lwr||^l%$NmG_~*k9a7^OKIQsp0OhPyigtyBiq$YdLA%Y6%BS)P;4asOS36fz6p%GIlk2 zz{YDF*mjcsJl3nB$i|h~8F`7`N{gFiNW)yGgqM%a&_qEyU?eHh3=B((WxP}wfVc20~hg-#t zta~Zdi_kVfqkhS<50TU}(0!%naG$q}daMV!s4O{xCN1A~UgLRtwe!Fkmio+aGQB?< zfOwJ}c_m3X$Nr8uRVX*BPqxwKt={9P)`v4jv9P?N>aeawrFAw@AuXW@zo+Eh@7H{urh zr6U@wlLF2Dv6G6QN1uyetdy`S(n%iw&9L;lS7>)nV~V}S5VHtTpdXy3{Uy;H!z*ys}_@n%nYjPso7jDs#fp=A7J7)KqH*AKnS`l=$r#FOuJ4 z>8@N4$l4=GiUl*!)aI)B$52^vEXU?h28?J7WFQOo)rQDHCbSdN=@LNHQ!1(dd9YW zfx;kLVsi5&lrH?CSmfX{z{=Au))8f-b?aCTrV-$B^pDjRG3^WD)J3)&fupQboeqaJ zO0uO^Q$Oy30Y@9F0YlZu=&0cLU#q-8)$7ll`5Dko{i(lri4Xpr!^X_OqAQDkgq;>V zRpsaCn0t85Z_+au4;n?eqP<6Ji57d3U0pUhcZ;_L>+qum;IEE8zOW@G6HBlIOn&Jw zgf3%-ZwOq!%p7+AeK#kzqmWKr)y~8I2qt+8N1kFX7~#`_T66}oVm|H#{)xV$DJEoCzOwX@WS$tUjAf>^Sc>nd3)<_Y0zo4 z>wM{dxd6L6t!_aRl6=eVv?8vDfg(bt!#T5)kbFW$UHqW>RTUmaIf*L6#C zK#)U;^r4ZEPRT<`2uMjc2nd3NbROxHE-7gN2`LE`B&9(bq(hMIy6gBn@Atj;{_g*9 z_S$Q&m~+fA#{kgVzY--;%kBGs`972&RZU+DYBbAcgGhBA3SpNum8Au`t4A3oKqdOU zh|AjjqQ_eob`Rn8U>;mt@yF{MknQlGVgBTt9w^g$nZ}x4IaG#sS@AJaNaJ|{`}rbPrjG4!BR}@!rK#+PmEtVk)TAUiphQCW+lrqI zBS;RWN9c7ltPqX0;M_%B>%1&aA>>Hq_GdN?7|mIUrG&+vtuK7P3RSrguUKZk%^Wp_6ivN@?{++_)}hudo1r%%nV==*?bYm?tjFNhZ>nA|~mA~z1)gE8XV znnl=_=~f6Zq@NsjzOQV*BgmH^3!#wN+Qr>AkZ^)d=u{#8?U%7s&>V)NLCc=E@3h>k;Jk8tX~uyGf&I-o)V z^qLd7xNJ1}ln>ekMA(^=e@unP%`y*|?vKb&`#YZt>0h&xgGU%7;sIjM{Xng-A)po= z#-~89ocQeh%^W5nJ(BVUBEh!Z`=bTUuiOrv3cnlr4TvQl?AE#-62FhYU&8M#Ml>=-on#|QDW3xwI7*%`Rz7aE+xbt@gaTHMeuIjQh|ncaJJmvuQC z5IfIOv<}h3;$p5>+*Ink5e;yT=tBx`{=OPwIz7j;G2wsj9UL3>4>4UQN(f=W8jFh6 z{6e|Ph-YU*nA&k5!I^>8>z1o+9}*t8fM&%J5Rt0Rx}P(h+}ERS;p}4HRd{RlBxSj# z{o+9&O6Dm2$F4kFNIQcj_Vatlr6jK=L?=yt{@9#;HJL_*#Xa>uA?JgP*Bi$^RAdCDxu{SuGQ7yabeUDr`BQc zn4~0^o4BJfF;Z;7EH*AS8xB6AlkY0q z5@((%4V=17g_Bce$ZnjOsH?W!Au=ai0ebU)7eY4p@BiNqffhFjff$zIr9@$gb5~&Z z-XGKZ^Jc8U|BB1%g-8iY{8AtT0#3!Mw~?2!r`UadZmM zuv-qC^#DB!8>%o3LSFA2wt6k!fYKZKBMhq-SIP;HITe9xzr5F>=TK_otAS9Z9h-ey z4xmbuCpSl*eKi1PN7tr6(uGq!fPcb3bkEx_KKJrobrT-%Zuoqt70`8IA#r9Bp zcDP=)N`XokR2rcoaV{+J$j&76c_k&9M#f~5S+KnU(cj-%)I|25#1%uTHdK%)8VH#h z(r9YXNnGg@j(ZXk8yAzn+K2|DlM{WDQvD2k&fNQf;NC5K@hdm)7x{0n-Ni&*Y1*`Hhe{sqs(~s-CY% z%@}C}{rRw3^Dq*Pd4lsA7Y+OtkT|2ev3CZN#U%|5_k)oFC>CfvfWejgjOI0vu)B}V zh_RXU$&SLR!oLx8eQe`v&C$}6yuVTA*O?KA`vl28ejM(6Web!`@{TdqB&f2fQ!7T8 zhgel#dyiXq~!Fq)xssL?53ffHyTQW9Z_QN-x0b$R-ewBNV0jBw(T zrdu^P{PBr~IKroU|3E){KYf9M_>}IMD9K&IkzBGMQkg`6t8S5t=SPqH#Z|EYu9`}? z_Y@&}?xQr@P9QnEgn~)!jY2;*$qqJzdKAhDWb;hBz(fVS^_GI92ceuT5JCwOk|1<; z#W|yct7uZ?w!B*Hz1L;`TlSItI9{*e?NbZ+4TTBK;{at>TrR6Bq$)QwH_> z{NhH{Q60S!fJYPOt3sxwzu+U!LQDS@(beVZtalIBnXS1h`!8IvtSW-RoFg|TSDPNa zx(@hX!i^^j8TShS#(dx_oQnqCi<07{?;z^nIu5|7(tZBxOQ60@u<*$Twd}kfZg+ro zhh)(fYQDGy<@=z&8(ck3qKcw}q9D8+s{x%Bo`^(<_u5JE!=Qn(a*ATyNlc11E4py*#;!fH@<7R+#&W8_CO3KO)SXjEw z2K$w_Q7M27)-3Uo@S|GbxapA1mv}t2`{1zb9262QZX!!#?=NG?Jg<23_sw$8g^LR5 zz|0ngJa4cMM}Cqw-W>UEi*z5|e(Nl027PwjG|wd3K3Qd4ZlBmAY67qVlUC?V>a210 z@ziMI`FJxkVN*dUDie@C@=;dk0107i9jmk*6p7WuvDxpRg))S-KD z1O|jo9HeuOo$^Txb6>1{Pw=e#1nM6!xN>UK^61n6>aAQfF?nnyhQ zH;^)Q$C*gaXilgR?m)J;sH|ej07Q`rj1=p=a_wC{_|t->ZMkVO8N< z#lyhAK~XAkP~9C3eRsI~KaG-d@y{iJ2#Ph3M(*^DlwVt4FDhTWBD>$52e_ytS*`NQ z(lAyK=0oXd%Aj-!Y9BHQMYlh;2OXrzXFkM{_2s=w_)5go$@3fd8=U<1XmD*w5GuZb z*!tVeZlxtQp1c7^5(aqitL*2$4LHEGyx-k85~(hZRCjX|F!DQJ1r1u??r+93D2&|U zYBv3l$%J1AKA3`nut~9pkTckOUt zAV!uYDz6EsTMUV;XUYJ-Um* zfTyDE&DHrBu&vj%pdiD}kV=#d^JZgbj|8>4;5pkc8Vop+Pme+PZA5r9RzxjMSxG6% z#4?n|t9YO60Qf6X5)0oW<3VjZTZ%MN#?>uOF2Y*040?Hd&DbGxwVGAAoE`pn3s}x= z{0FcsdXg38vP`Yuv1meax;vRy69=WGY!E__Ymre!I=VYS%S?+x{2l9aX8Spwn#lQQ%)7_`Hyf{e`^XDQ|4;}`&!?z{ZAQmk?4A3aYf9bkuJ zCr}c4fpFHGoMFH`RTXBH8=gYA)N?cQvdw`bW4W!NPp`-W$U@8BqXrGxL3t4&-JQ=k zr!-SKoej5(gu~RkM%hyh*r-^PgC+io@*; zEQfzxV%#b6E*-nH5-}epBIg%CUy((Ofux=@r8B(s-twR_;oDQ#^%7Z|;&}=+n+hPp zs$WdzBMnDfK*RzaOhc+Of!m8Unnrw@h{q-r*snf`6+2Lj3kU$hsu^|F%lQgsr|5FAtZo4QUKvE1uAY% zDj@q^Qp&XSsg;!Q?gt%nOR-orrGd-E7ooSCsXzfs7L=%2z|@4#jN#-1LDa_Zt*0V% zWCtPV9>E5rbocQ1=sXX4ST;K;U-C050s)eaZVu-81roK6l@H_lU9`I%u~4;65&2^% z1UW9}+itY}TO9)BI61}bc)q@?#k1{?S51n|pdGAZ3iO1cp!y@@ZmRMBmblt`;Mo?} zO+iXVRzIn*q82%ul79T1_JK=3)pF++7%VRR3XM6+?(^}Xp&?VUdQHNmS1WB^20$p2 zCHmljt94Z>Cy*ZmTZspm9Yj7<+Z$r@J*l2$7547zPE@S-!Sz_FOnV9z+c4w@+~ZS^qXap zGi$XJ2f^`_VN}r@pHThO6W=Dd8g!WMNk)HAA2SBbi=)31+>FVCJ%gn@31sJ%!sjcT zA|!wydee6UKxus{^ntpW3>MW>{#Ql6fJ0LD$XL7n}&-K@8hYuuZ0)fHU1W#2}RV@kkrE!|o z!c2VB(P&elpU99`m7IgRY(b00pc0UM;vE@XcmfveB?=)Bf2w5!nLt_=MUjN2;^_sS(ui zj*>CC*I~X{?{{d~LA%zu9$a32qnJH9v{ZiQpR|ecu<8Wx=yorPRbLRZym^!+g(MX~ zmT5qL`j9j{+#Dd~Ym0@TeKH=XFyeo&M;E*5Di3Mv6|g@W`d zT+aD;T({oCiA}aU_=%DgaNbf1*J$xt zs4?o_Bny7_^`z!8GW_h}VY5>Br^0{sd=4o!FR4Mp1@@pX&KVQ@qOQTy5}GSd1EsU- zIAFd&N=z&C0Wbv7p^B#b za}I6%rk^%TUiSzHpI*EfBw0YpW!}5@6lmTbZwnCQ2SGd`eDrd1AdroJc>F01Af{wSuYzPZ-f>lTYxcHgsw9B4Y1mPp24&WL>Z*9>63Qo;$H&)hS6wZ z>V#e^kTXvBbT-B5xLEJS_9mE6!jz}uJQH$`cuv9bNCgS`9I7rGg#+a;4*B`~Rc?J) z6ZMQxWYY7E1qCBW=F3aMkt|uzGrK_#5^oSyUe+gB?}HJRkzYuK5F`H(cLgdpM935u z1=-JK1)&McJ_ntI=x0D;<2Ubs1h0JwM7JHt6d9{Dk#yL!_7ljimbml zxn*OD{I;^)gKEzpeK8{)f{3}41LnV}-&2WZbvg(m@?`!Cse0`;EZ-&SvN~)%0NDw- z_mA&2Z|-sG%YsIP$HMZGFMk*cfnRqZ%0%V%H4?tP{{%xaY_zS3VTpZOsT0d|ziRzHtzBoTvJ?dtNZK!Bh6$>}c zXmmui^1VoO_CCI~-&Ohbfwkh=Kh8>!1s5F;qNbirp&I2(N3ZzB$hn8_585!Kv%yRq zZ;_BtBM2*{*z~AG3_oupQjbKAAEZz90U`J0@=;OA>QFoNp2^?bj`F#c8)%Ntow}d4 z%o(*^o}WE#7}a(g*wtE?S@14>f{Hju;&I+l=a9xBFYRPG zAktob%2&UrD2qFJWJ(#2&~dXL^+AQ`34B_75kv|>gKrCRMOzFl7C2>UPyk`U{E*CR zR0xwr5DEeXPL8QA@Q_@{p{l%g^K0Ftevz3^#@ZbzR(!sD5|cSn>QEwXq=>Xah2-t| z;DA5SX>&>L0-906PDsBj8(Ix26YAvKcS^}B_5+X||9cMNM-js5(7 zOG_hw29HaYe0VdBHzM()8R)EAch-om1H&wa7g;*}9VS!4J;(RPfvi%jws~&PZb*_i z(x%@MiYC<2cv+1YLSAsa44taBx&z85k$^=_)X>K0iUQiJnatjGPRoOdx1bI~+_yna z7n9}FZz{h@Q6PkFXTKh>og3VN?7U`n5XXaAwnw9a|C!<*WH=r!#GX-nQ~TZp`Sk9$ zkMV_wE0L3wwA|q1Zg`5~iCNN)?Vt0uZEiG^aC$ei_V{C2bNc%~yWJ35ctojlNyfSp zt0m?OuaEe8qU@h*Y+C{LHVkrAB+(7DblX}rFY=Qp2BAqyDQ;uxH@>o3L(z6F-m13h zqdJWhKbicouvDrLN^qmduD%~*^9jY`iHE>&#(w0zh19F!~K!ecou2KJZXK^Jq zB;F;NizWAWquO zcp4xVKZ7vyQqfTn5hZ@SU3EKO1=BPlV#n+H$pX}U)@V2a(U>uV0-&cop#{d?JD-mB z+6hKMAw3ga=iF)hNtUQpNYrIuDGCViqq3nWbUq$%)Ecxp@k#TC7@A+|&e5Q_f+j;0 zxFqnv99V~71d}sR&2&D&xLKyX?f#-p6!D<;c5hJY;^#|!fdAxlw)^WqHZ26O{=tgX zKREVS-nWh<^u z+4k;al|_Pu6C`a^ch9s5m0(Oa>C4ri0*lgvmR?W`-lEGA8rvmBRXpZS#R9 z3M?_(@i}t2*WzMe($&Qb5-d%m@>owNDdoDq9R!v0w#b0^BYR;a}IWu${k6s7^Q{Ok+*~tD$xs{E4b0SUL*njm0 z{`e3vK!rS4kHCJ%H5z&521a!6Zh$)XHCWYc3OlAGOwR z_QC|~3Z5O0k~_o{tsRPzYr2R6!5rn4!mzM;&7e$JD!j5p}hu8viukj%sUCHFr>=T)%7sw2PysV0gu_R z*Wh=6tb5}jp~BE`jg98x^?`vI1Aq{vsEH^2Y`gJdxAHP^LOu5Vg=)86)p?u0IcmGV zwo#{^<<9S{u+m8VSlz`bV!oXWP&dCTXv!Lw^vt{OK?(ehn!xFDwQg3S>FNr6- zI7n5HID+oD?0+99uuJYK%O(l^E;^BiMfb3>UwhTuK;X~vddbo8TIuVVQ!t84G{lPr z95DbHV1@&ghpnMpbZsrI_r}B|$`Bg!0Cgw)Dxk5`gh)FXn~L1)AQ!26&a>M(Qb{V=KZXETP|r7_D> ziv<%B^U2BRK(L93Dju|Y9oubYhvrL*_P*XZ}Pg*^2#vzeTlt`+mtNDD2y*~%*l@n1GC8cwfQeBM}y z6<_06*SsDIOfx9_ff3-H=}P2#adkN0A*!f6bA>ZX3s!U3I`Q96hN8TDa2bXPSuHYn zs*eh`2QJtiZMC0%ays{Qbs47AZo=B}!m%#)ziN}C@=JC@nXL6TN ze;+OBp(ASUJd65rJPIAXc4O{yRAL+0= zd3dxEnMha_Af)}>UED`oWtG;ySZ`oQ^hpnIv|Z$jPxr?>R{RY_NaH{b0U^%~sF#pp z%?aRnc^7OHunM@ZN5({1A)ciA-E!=6G%!;B*$d*Kqp_tgWc-kvtkPcYma5AyRt&D( z6=ka}Mwh}AEN#ZCdiWrWD?{idxZVUsyuA*lCfcX6KmTcpqyb>;G_XG5D-3IqF_iEJ zMV|eK*)2<4T1_5rEiO;yQF3924<0*I@jnT_SK5i0-HMX?i=wj;J3#&81~`*9Q|f;5 z{wVhL2A*wAE1V{f12pV8zZ}B>79#hwFHioMXnBkp{T`1^#ctH6Y+uitg_m8v;jjz=h(7L<>=TYG@6Cdg4Iot;y(aw3H(~0BzietMeoo%jTBq?!z)d#jF&3bLH(F5XT?{_80~f_pApU zipy&HBLf`~gb9KNl{Wsm`VlFe=R|MR-k{{NZr`mLJYiqg*enwgF>>5>!xK39Eb-$H@hI6p&+_;j zf&&NMs8Ivd?p!U0r)s=9ExfxaW4GOF0^LHYH+<3AXV~T6vHfk-yv#dSYj6GLjKtGL z?0N97_kGJN8eKbvUDqqQa;mHE);`}4bsgjBf8cV=G{bOHXSSTezmj+P{132xOOd>2 zlPsWHr!Lva&o!frzBsqw-wwJVU${a@*BVs467TmpE7BUb)s^f=GXihVNDB^^%@n}Y z5+3FxKMYDWEbZKsYA^p4AX?{DzF=k7$ni;&Zn#zr_YG0d9JyHl^lv>n-byhuHohV52LqQc%PJ0W@ZIqgfzSW~keqw&3$i+VntjRQZW$ zidkH?`#RQQb*$)Ie&S}(i?ap$&5J6@Zo6-BpVmexirSc7R*s$YTNv-xELfqY1Td5P zV0_#|L91B#dVonsW54zCcFEOk>(?%YbYJB?zY287xkir~z+_RfitRk63v$iJ>pWAInN<0h2dC`B_0eCxbs(Qfj zWE={fRYh*oSJ?tIoZrysuoB-yCfB23k6xMuLuDoq8Mm^U{(MpMCO2vK5Ex(ZHrm?I z>F9|&)S0Sv;17?dxuwF)9CllpM2$9Uam5>C!J;c<`|r`A(v6D14=yv!8aDDGH%?|= z4zj(6wz8a`LZI|TrdU#nX)-^li!WBfWmRXWNbLsGl*j61ZeAx9aJHk-#p?}oijO{~ z#DM)EmOyB}(R5(L_xu~zZC|`h|2sK>YjB7rf=FwWpgb3a1Y!~hgE1;u zo&vvt-&AzRzQ+OMdo7Tk7N6DDG^g??v!1wbi-b{JEI>cBV}LWtHprS1qAli4w^Lo< zDXBE~>$afM{dd-v5<|lTFoqNOTpPpgj7AF{F#;p?Xfi*)#&Te+zKMSzv7D%`SC83K zQcVK(KIS`0Czo5e$z%;GEU_&Q7`GGv^!rg;)6^a~Eb<*@>NG(2KuLA=2v*7>1Bv2$ zkoAR8-z%u0_1XK1hgV{A=liwP_zNh7BK|cCBX6>F6!Nnazqq+?cREEGLxjI@OS-d> zyD&>*nOD%_kP2h8XCjjyBBcR2|2ep$9nSTJ(}d)&TXf^sZe0L2V9 zTVs&wj#av_zu60w90KGLIX;_#A8iSUPZ$s;4pZ(4B@isr2`x6HqS+v5yf$*130_2t za_{I|C-oZJ8sDv7mTXnSR}kPzsM&lI6-PJS3@qGSC->}bhhMPyF1vS)7nY(I-ypnY z+&-uF$=tWQvyY38n8m%bQQA{w@&<#BMostYz{@H`!V_WEnzqnB?{)BLYw?~`xOQ2! z<$I74Ax7NW3_(S9pz=M^|9~Vn+$tL-_gM(0ymTN3W*$~9V>dn&UWKtN_6Y|uz5P7L zC|fjZql`L+X2zRVAzC5k&JN9!ncyr?T9Z-?z|Wq`zo*PCEtM-B=0M_|YDsyWIJj2l z;}};gXcP1(tJU#ilCtFa6T1L)zg{4_7jrWA+QbVqW0Zg;b?)}|iw;UI1{OZEK@keT zPv%PBXq_mz^lVd$W2?6ZtUa9;Y>6Y}m7QURn&YgjI$!OENVgSI&s`#3aeYh%xLYnT zps>Dp1V}wu1-ypFyeShPz22Dj-Ypo;SE$#2={>3{G<>$-FLVSdteY3VD~lMd5Qw`? z=-R5-3HQ(ulTWZ}if)c{e(J&f?rLfK9vV=`E=CS2k7yTaMvATQW?vZ_C_>rBu9s%l zL0o1x#;OqVXtz1Ref#+h595c4BwgdjfS~he&Zp+abpB&!xPc@}Zi5`giB#ZEBwFG5 z5_y?IXAUNfonO{_(Is(WKyrQRtP3Zx;5!n&S-tmecoRs?AJ_R_(oehp@~o|K2%l(K zxp=*AD)eHK8$0a2^_lF(|qrH5Q0S%AqPOyB_e`qK)L1f%>I(FkMDRno25M!qcX zKaH+)ZWF_xcKuHI)YF7gN1pX1`VjY1%m`Gt#yl6C_Di*G5Skh;pQOq*+TZtpH5Q|7t~1;kxBy znw=l&wHz(9Q8(l0a`FrqdWf%oc!^dRTojH%rxyO9!Sv93cev31D%dN_w{Ds1)_cB( zMRTq<$#n&&oJx?Hym)ih*^QSKQe|R@w>WKI>BjbbpWW6p5g&eCVisUDnZn?fF`oa?V;MG;;;Z!!E z7j52d&;1(QT$lN>NAPdSVogq0dTm8BRQtAZ=@ZT38fJdLj?R{2?aN;R_@j6P73?(K9hVvX0b=l$lUAQ-ZF!3=<;89;UO7-7y27? zV(ja^G!E@x1CZklHT(r^$a%QuNaa39cK_Y!RKmCDGf2GTT44}@CX0q}^+x=xG}+~_ z0NR4-HCj)^a*j8KgMq_CDjv!H!c{ zXfMBRyUcP{GkSJgAWYP;z?hjnV~%xjorTd~yd`hLY6 zI}OAxHuCf={Oog;P@|s5knq!N9{urVSyfeh-OB}Neto%dApxKg5c;)`(99dD!B}DFELSe*qRuAc>Md-JC6*k*=al5 z%nd}!Isy}p7PMmJqUui(U(<5V-*BG0Zk|Bc+vQj5teZ2by!@@%q$3vpbiv<0c@$I- zQ{G{nTag?V>!DIgcVnP_2*r~TO^sWR#(jcDb06;v^`^Y6rsj&5yPMz|{hiO-`Onwx zHj*(V{?v?N_S(?>bbdZyOpnE&}Lg%vXcpe`e@%Dq! zXMxJ6QzjW@7`q#&&@JFD`nG*@#@!O(qf9#R#;yvZQ5QIwIND~`bo4VYFa|^@AN7uJ zynQC{kZOEbITg196Y;Id#L{8q+RIEg`VJq~LQ<-rt7y>L5>tr05pm1=_H z9C#miyrO;O&PH~t@`ijx;-gwP1Xi2cdvmeC33Fu>@VV7}d{K=5UB?oE#|u2ydaquI zI-}Fwe4gZEOdcrtPGkukvGQ#o*l&Fya2j0dy!d^1?cEX@+-weDrO$0@RAG$hZ<Q?mQP;^%f9FyGBGb_a($j?a23^;Di zr|f9+nQgt5GUiQ<^slCEvT`4uNA201^MYQu@+5ISN6i(Fc^?vZ5(vFDogW)pAvt-F zlAOnEb8p@80WZAK{$4TWU9EmK31^9cYl7Cpur~A0)iI`)&QEFfDB;-R*Odd)zg?SDsBUGN{I&@W zh^H0G;6ZWtr;!9b#J=IGutep@ Zkq<%|%E$>ZtY>T!fh^e5R;}vup;ZZpjyFSWP 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 literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_download_install.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_download_install.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7a5f2098b8d94cb2a0531dcbf8784a9326e307 GIT binary patch literal 1093876 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
  1. ^3b47 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»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 literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_main.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_main.png new file mode 100644 index 0000000000000000000000000000000000000000..4d86d0a7a92f47fe7daaedd562c2025754e20da5 GIT binary patch literal 1406363 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

    lHu?5%DJ^oc5-O-F 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 G3tK(mTW7LEpJ(! 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

    BU>(RLM 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

    S~wXY@FDhSr;rF)y`GQ5ZQ|wH_ z`=&L`5wK?E+pprmP()vw&%P6#9>;Zf~nFH?dGFxgO%)JYJ3Ek5)j1wV=Nt|HpVqb;a!)FdqH+M9mV???Iff-uMD@QX zXN1%1rXB(-f_ReXXOn=Y#Fxi$B5Vu4*P6K0ypQ6l?7!PCkQ`m^86ltV;umZ`FqH^& z3)ND#`yWZ%xKllc(CTIm51;w^wZc-#c?*Q%&9tpo zxT?&|c6%MlPUH9aOX4)SwI_Z(*kW^v@hUD`YigM1PQ}5eWU08SWmScJxY^{XW&b9z5#9A7A%9WCbf>qWJC zLPs1Obnd_1*yNVqGWowv@Nypv_22t*3`?CtuSS!(N%0OAkl4g>d7HFoc#rKzCz(1w1@IIMCX5@?Y0Ls1=CG(adU1FIKNUGey z{uxQo`sNKj8m|g2jVg};i>bXZ%VBg#IFF$eI|kO%$HE1+yIFMNaMZu|Zv)5jLi;xN zx^9BA1lZI-r&6n^I zJ!E`i{~&wHM|?BTltw2U!U6%v+soQ}A2f}nIGMR_VYY(8p-#V7qxr?tIi5Y%4dAkC z__Y4V{D_I|$Br1Kh;e+h;^&6Sy+DmQeVO5ciw9#@QHsmn9*e6V(j*~V@p2Eg5h?O{ z??jV7Z<^UTMsioiH2!vIqE`ZZnL0^(CGkV&^D#05sDPUO^SwYh3QncV@(e9uUaJ>1 zZtKNQUQy&)^Bmt$aVpu-Q9nG(S^ub+7H{3}2KtEh0L^;6ExK#P_C&D`6PIZ}TCdtL zbFH*-KZwGv{VpFaXq{Zz3(h86?&lhGY;69gd-7JrKi!iZ$e4D(F*U=@81X(7*jakW zL!EP@jRyN68|Xe_<32Y-m_@&UDd?d3OzJi$J3_FC<&ey`v<=s-sS4n&MW!D$k+nSp zQMpZUge_Z{CKB`{yl>PoAsXFAbPrGNaoTm78Qk0+R4l=&rj?xPu6Zn!uYF8eJ-}3$`1duk+#M?`1TIp6f-2~ zqNrk^d_IlGT6?^X+3n!d4SdJoj_nCzgw4{1TjD`Q*Rpdl*;O}P_%`Qlrk_E(K+N>e zW!BCgLeA6ws+A`}R5rSkfSCmd4dCKzqQ+9vEl3Dxwnv;G3MjI~;0s*>HUwHLOUYB9 z@17JA1yNozo$Nr?cW(6)w7|tXehngCEpw136${5uKvmRX6OEO#?w-ZamXc>$Bb7~E z*Na#g4`%UHF`LQ@$|OmG-Esm7lsF4@594LJJuMc5xWb2>K#$tAr>zMviObddZJ}J0s!C zf;coQAnR!Cl!mYGsVB=kV%}3$S2s~lVpc9+OZDjGp3tRpnRm-&a8M&BiBlyBie)r? zxY>j+{QFZ7;)~ZnGM_!b33_#Gn_{55OW`5|Qh{YgU8bvfozuYZ!N&5T?n|oB%&9I; zoO+>#Nr`%yzT=RDM&qVQr}bcM>{Hp;hY_H`2p}-yOEH_o($mqJIsJyGrzMj|F74HA zrO{#kkFK|li*oDUhXp|g7-ay7p@%$@lF~J#NP{#e-3@|t4c&rLqJV^ybVw)?gOr3K zEg>M?9q%5_^Zowb=Z*8{`N%!{-uK#TuXU|!U2CZO-b>J4qVPYGJNH5`m&J+RxS`3} zgS{HkgL^OK=mHpWCVijQ7v`-fY-bo6_7yg+IP%)D$Bm6xjB4rDe0KqRrQ`Bz@Xv#8 zozEL;J{l44XoWn2`Ysn9HEw^`NG}{Jsyp=VLceFrJ6_lGT5Xo6 z(Z)nfr2uA{{>GmHZ1cD>swmU5dKeiMlIh$!-UQd>J{S+fBjL?O0NOb*E$9Jz<+qnP z`_g?-TvtAUHoK7vfQ-byK^IJAm!=NUBh7zo%^neu#@uIkY@nJ-x9Z-Kt#EM#1`dr! z%e4gT=h5|)>Q{HXq+azGc*w~PBr;jJw0#R7k@-sYrg6I86HzsMIqIiFie9T|bBY6A z_gO2+KK}J=7<%OBDUj3JHI$#lpaK}8Os-%fQ@6PjkER)VFh*hR^xeH?AVwg>C#mc0 znBoJ@3EwWV2TRKUj7e(gPNS%B<;uz57)kAx3S>HM~u342dG!lRR=?FfiLUu87t ztIU;q3RaJqwYip+U-Kq)bgMQ;ah9~Lnz(vnn@+KNg=U%zfuY(hWMlvEgGL3-Es@7ORoThuq%DjTs zHP_}_;?Jvu7Cx-%+=kO5>DR`|pFc*zZZk(xl}qa{YVk-L$?SGU`Z9&^M0I7;BXZ3k zyYG0)qjEme_MUVeqz@|el_T~%XGHy>fWVL5mT7-y&#^5D z!UQ+x=Rb<;SFtY!inR_7;v;`=2%ekjH+-ZZ9+sV1&9zE|%rVxr73IXl5~a~{gmoOk zAHv(mVjM_)4DawF=TB7M>cApnKBMkXMXC|5&$N7UfAKc1;wP^Kw!jgs6XPull%DV! z1wZ7M@(tdO+(rc}MX{7SaAHE;X+d}+tB+x2!Sg%v7tg0Wdgj!RF( zd8YZXI85KBsBme8SH`1q*B5A1?@hDh{dAZ+)4K!;PBEv48!^})cKigsvq5B40di8b z|Grpz|57Hx@#|;2(Pl{t#YKWUcS3GJf`Xpm&?BLli9%li`zwOWLQ%}7l%OMjNf-T|gKxRxZ%FrqjO;2R#)v=Do)&0Zo?PR?( z->LdDS}Z>FuE;+wSUO*%EVAhNnBHvR7~lpsKmh3q+L#(WWBO46Wu(@BmP1VLlsDNa z2+u3L{U!JYL>3dp?{<=FzvxIBJ?Xxpa#gh9;=(ozJVV;)UA!>rKdbAV#Myqt61*{4 zzbx(|32(>hNypnIqs%^r!AXv01KZYy8k;f@AgqX2d5%-=r(Je~O*Ljtrt|}ohGnGK zEuUt)z}(FU82y-Op!mi4vLq|*r*mQfg%Ikp65555E+FrT+`SZ#j-ZF(VWDAYn2F-~ zbAO;p;64G*2}6-Xf^IWYcEwwF7eE2?PnQaYjCfE?#VCn(%tkouxG#r&_g}W%RO2a zeM@;OzHsS6L9gDS!Kn|hw~Ib}h;H)Qu$w;Sc?!FMbp{DbM);PQsB|vps2ycJh_*Tq z3&}XLbEcF2s$jG)M-X@V6xXN~2`(jR`x!!{yw z^7pn*yfqC=7Oi`AT4;HhIHW&qMnEg=TX`lHNrIpVHe-pn=${)&i0-(;rJI10)>g%X z4SpWB%>sLbavAY$Ipg|q>2*t|xixvBwub4=^PaS(J_<^9c4Eml+!OVMX?gJl!*ucQ zxbKR6e7mqC%BDlT1Ls$4qlB6HegzkoQN3Kl0W%YR&J@B6yF^sQiYLzU)B5mvAp!4Gg`dJ`XH zXL>u^wwd!j6Dalh(E%f&N-4h;=Dkfej#&MBZ}rSi_Aj_s|AJT{AM~b1UIGe$s2Gdd zo2k`bnmYF)BVLff0tDz6edVs)Dj&@#u&W;YUXaDKdN+X!HcPyY)y)0(LXQx@yh0Y zxsFcV=I!Y4k$DWx7(I*`%M{)&Iag9%?sdsysF8H;$QZB5y2d=h|!purvk+zI^M!H)T~C4aN_Z7*1cR z-6rAqcZLp>YdoQl%E!kym=@e$*If z&v5+-;{(zcQWS88DjB^n$k3PFP}B40_1-(a%CETIgZPe8zpZ5d&t%a`OW`3pajmFv z@bBL@9{nqcaI@)`=AY@Gieug=OsKyRh?d~%fo2(%>hhoueq#SfHt!*Y2yOMvt%4R;RIri}8NCX-Vt4L*#>2#`C~>}x+z^Bh zl{eSQ^*{e(H?N4IJMEIvqQ8S~QY$eK+!2UDz9PzvNu8wvbC;h?S{&0NY&P4j0$6{*E4IP$ zZs(IF0AF>87{Z7YB2J^`5Y_YeD3tTySqRD7EL^izXk&KtjPG#Nr@3GD#f^jTAsJOE zd%y;H%@hU!ws0Tg*%KAXU+S6%@XD59<(9x1R-;@b0}6Y#1;9-QZoEHdvi&fhn5c~6 zFAQOFp+cTrF~M2z_N%8a?UNcTQISw$q8J-ft_C)1M;B2r4$zBNdvQYov@XLiBSlp& zhyof()w6|M8C24FnYCbP6)hkz->p*}o&m#3C#)$JZU!$BLD-RDu(>wTzu`a|k^tGx+16Ky(0(7t-Rf%g+!$nHXwWZQiiSQJP?OIwbokX{8I|iB576uPkk- zm`Saq#t{;d2qMil0hfC@Bnid=Q5lR*-Mim*z8xr8yfgnc)Z}CM+Gi6q4GexBq5+Wt zckn+JkrPoc`f96wHwm*Lrw@?1<42|^0;Csf6{@9oZkE4Ws_^f9WjMhlWu-V_b#DO+ z+!%~E;Gkq(FVApBtza*YanwjhORm8>Katbk!wo(jXA$SME99bDKaSW)Xhu_O5LMPI{>}$RS9_MrYI3wQd z$^YR3Tt7Nq3W>Za@bKaC=-VddC7{(HcnC4B$4a~0yUS+qNde_|!DhF4wvnaBbix9J z)(2_LZes!U)9VFut+5pP(j(p4tvXbIAc@LN3q=nOV5dP+9ysl2n1l+7F2D0Hj~~NC zUV_BLDuwZaTFS|?bCJ!4DOh_VViaU^D`e!Db=<&0;z^;TP!vu4DI{r*g!Mh?a6ZOb z$Cj5bU#h#hR;H%}7Xee?#q`x0);qli8lFO(8n^FKzqU;XM}s-Hd?6iva5q-cvWq=h zxEr&;(M7yx$<1`cPZi-?Q0$-Jq7Q~vUMj=Lg22O{`HTm&Ij-UIb{vu>?68JQ>A~Fq zye-nb@{N0dVvan97!3oUk#%rgO^v#xC3EVlSDADV7;wNkgA>7#q({ndA*P%rzj9iM zQDaU1BmiWBgOE?s^ro2gQPWumgN~qVe&0ifRWJdH#X>_lUm=0kqaBYG)|&(-VrwoB zWbX--e!h6w`huLax&TDEiT;bnEbk&gUeWN$8zo*vhOYwoTZ zYeV5Oz$2WrGdu=wpa?=!pgLQX=-|{*7h#yWED~KgS!V)juX+MDH*w}!6HB1a#(8{p zEi(9RldZcV%8TsI^YCYoJtfbzc0L8VIoXIU6^?rRejYlTmCKGmYVxO3;A76rbr3l# z7edgC_v_Fl<^UESq_XzDygWW5Bcn*GP&I5MzrBoV>JGLm30eo`VgyLf??G%h5`=Y= z_<4T$?+F8xk*dn=H}HpUjFS;i9ybHnJz!0bueaRHz~GSIe&lPJcs1p$qN4$Krl2Fk zWwC38NlT>tt>2i)fGZfZ7R5etNKF@V&DG);P^w5KJyPGv=*~{0N@&f>IF&{**!(V}YnaZXzNC<{SkV_2TG%&6C%U$5)`qq3_B~T5+-fY!5DQaQ3G7T^A)eFVd_t zrc3$;4wUgXJMy@1Cywf&$eGk9&owK(qyaw(_%pX*I3u)4hUo%FoDcDAndd}Rf!!ah%h8M zVdZ4W#2Dl76W00KbSY}yFrVlJPg9>ise%ey86BT2I{meqmk3oA;}kB!GVY4>=5Ozk zfqy@vp2rA|AQ)v$afC3vC+m>1L}5^@LU9`-XZ zbOIJoET<*6k$8D=MwLz4Uiqr@oRhSTZxF7qpdndM5Gt?VC=X~CSzb^|oKj|tS2f$1 zPq6zfC_W|M*|+57V89JH%@rQ8;1Yc9pI@W6m09s{i=DOXfGczP-2CkMc1wTDgnk#-wg&s0^mqfi9z^^KVPc zc0em$?AP8R#Q-swQF~tnXcVnUR7J6l*(;lz(U7)@k2SXJpy@P5zF03$XyVQEyMj>pp1zsLSaYiBY6WG1gPN4_juOvBW(0URT?hQ7EU z@U`@C=kR`Ewz<86yaos?(}R!Y68k?VZ1qQp?R-a6*=j`OdJ?Vpi<)BgC;VUhW@MMaZwp_1*eHPA3D#mEFOAhy=50H1gy zD6RRhP5b;XPgO5Y;W9DfuEbakY>$}GLebk@K9wa zL4+vZt|G*KN0Ty1q{8pv~d0Fe(1+Sey7 zKzb|_#Bg$KDX=NATY1Cil1oZTvIF}z!Ab_yz7>LD*J2%&%`n0_>o-1D zKXXGCG$ysop}UD&g4Hq-kvX6DJkQ^Ft6yw?CHxBn#oqz}shB2@zcPO7lP~XUQCEH; zEcYujvryOhndkEHnuCLq$1xRjwiKU{OvQ~t)eZ)dBm)s{Jv z;0!a%w@q9VGK3i>)H_jPNmCE6w6B&joeR2YeK}I#?OQ;(OpiUhfi9r(7dhGEbF=hXFfx-hRMEnF`|16u_3vp_)C&Jbn_)aIP!+-9162HFlzkG9mRtp^KQ z{m&?sDS2_y5nWuWIJbc1Qw5_f(dQ?7eCdo?{cn9EU%p4_T0tbYuQr?m-Rr(@tIhmb zC*g)Oj3iq|WI~COWm4}juzz(ti*Hgvb+;=hxgFlP(v(X?^FQ;M8x!oFXI8OD`a-x& zD88?5Wr#9;5<^kQVFUcc(Fb_@Ugz2t5XJWItKE^~)ULq)pmdO%ne3}6zB7Dc- zo(GVZvQ>MuhE)ns^d9+rhCohP zM(UCD^*Cn6Hh1*X2=*6_(eA+m^{kml{Bwptfay7 z0|&N%1?h;V=2t_b9>3&-haYb`0tjt$3gHHB^C`$86LJyzgIoP7GA}9}(c~?6hX_Hj z$dF;8rvqh}Hg zR^#?Lnm8`7f=oTtGO{Q=ulGj#P*dZDbZWsTdgL&FCJ6iULoqgd?`OHOa-Kp$0nnip z#r^x|6v5z&NhKUXzAW=`G46J;_kjazR>5UnF%fUa%VKG2;NdV9t!N2RxPP@jS!NY^ z`g?^%x1-2&(!#A6-oDW@X|-6!04~+?!jBC@y1?f@Fa=qB{A-vwxh7IqN{7|h!_d6r zYlDqp);wblkY(V9S8VXr^}@LB8Wp|TSSRRgQNIA?nP{<7Tr8Li<9|Y?fkV=Y_BCk; z{tgciY=82qB!o%P@T3`4E%PW0D!k6XD%w#8B4US3*I06p(!0SK!Xke?VyydKq|X4F z)FpW2C6bVDGXAlQJSVwij2Fu7C;C$Iq|C0CO>b(u@{^k*On;S=Vz*|Ftdona%VD_*50QlK$${I}G=GQ? z90)-iFv6s$u~9hFP}7r>T<3LRZ>$Eg zl(I#i3nt6%WD;uhtbM9K2j~=AvQ|~4Z zT{1=QPxat97=qwf?}$DTiV4_e0!l@#9^&C@BamJ>9AH+83=n4NsNLVjq}{$&**jVZRpRww+VoJN&taBNR_(BYw`PYaEGDA;cQ?arGTAw$-9gI(3F=+ zsMWK^m;E~PZc7j)A)WcEb|{B^EPmYdwLtrT zA7J*`n0+|_s6y#@9az|4s>^jCd7@`sy!jPmMcQf>Z*EzSya39wBs-OvEiVpoK~%mN z^`HsBNa%1WBcKhYhwn;gfp%I2G8%gRDI@8zrn`W&C&+C^YA3=-5 z#XqUdbqXkIKP~}U(2ljsoG=F}T0u9YQU3r1Bb?c22fSZkIh<5RvuOYVzy<&722Am8 zaD!#!PGL{;1x0GJ*VSfUV(8$zE=F#Zfkior`@Beou&4rXd&Gj64di?03sC!7I&i38UVp`0Bef@WmH;G3C86GV z3qXQI1Q9na|7~m@41C(4zWbWT+y)q#YM5W?CYT4J0LD8$514HW49pPs6+GCOeAq=4 zX5VzY(Wt#Uv6UqcGMY@vgmaCCTO=05wqe_QgE+PK_obYbP*3Mzz1uXK!f;6F&i*h96WL{O;T@35cFeS7v5ELMMjG zYk=f;VD+-b2ntV5OYac6zDhCJ4_=k3OWbWNup5=Ic9M^noIK2w+Xf3~SNd&TT^cBm z6qT0touu|FTZDgv5aovcx!oooN119HJ!|;id27sUx&kwM;M&v-Xar)HpSq1ntD+b% zJDyyGYj5@uWY`&KNn4(AOfH#RCqh(Fh69u;rTktzJ=&bkejM*$0>~jdxZ1NPH&aWS zofDwKF_a0XN`e%c?wq_xO}2W~uI(Kw4UcPw;pxa%&L=YewL=n^9ipalPI)%| zWztNj+M+!SPxY4@8Gu10ta$zCfbu&$7Z>;^45$vi{D7SRzb1J7JJ}(!;g;9NFgh&z zk&NUTR!--&j7IKo2cE?2*#o})z>{>4%n5~HZc0^SA`;V1`%6V;_DxS2`_&_HJF!z< zlCQDiz-Rs<%DV~NROr7+Y7KP?JQ|avW+AF`>#lK++C$hKNCQ!%464YH0E^fDC&zML z6bUOOyNr+o8kP$Rvs%i^1UgTiX!`gFw}Mf=;H1B}e)D3}MOVV_;G{R`Pke919DxoL zX&g^MFhFIPY>lGF#8knGT-%*ipR)+i`uhx{U?L{vRMmh~3pBNJ%Z)#woCxoLoE#ID zV-Uy3rg>f6*1)oNQj&shTw6AtULu4DClUfm-pAA3#fv}0c^5zP74J}>VSd8EcBJSx zuK#qnwaXkhDZ={7uQhLPV)FS&TmnkuV_e{IWwZYIs<4(}K+@ry8$EkLlG^;@2pr6t zZOU=o=c8L`qyF)IiK8m_Z{c9m|3+fW9>+8}5y#<0!<{JndXl97a+IT$<_dk1V9D<= z_^$?)1sDr9V9V>rzxAJD7Er6Sv+e*5S8hvuNFw!}Pge@e6*IL8sPl&cwC>>mH6sJ# z2pnvN9$Y^J^WIS7j2=7;khItr-IxR%{i8>ZiW(YzP2ovffc<_~*8`$}0mxh*3?WnA zy!&XG2_692gA=;qX_PS`ayicqE+z#uoBswX?wE{tI~8Gs>HU~E>2{Ellgp~481lkY zMqT+qWi;|NENmPH+=2qWf_(`CbqBx`U1rFJ(Zl4dB8B8%b#?==*>-ib7(hg6!E1-D z_xEFdUZy{~@+l-yb)Vf*|2kH|&s@{oi3Lx7IJyD>0Raq?aV{+KFL!mxBW2Zr#=3b+NFZd!dm%0srX&;mBeyp2-EiP#m;Q}@|2CC7rfuJvI)nOPYX#IdZ(*%n zBQ1JY%n$-h2=lSop>6hhGtQ#Bk5e!?CPP;-nHuTV;A!LKUFmAO=g>5GUY8J z%f+2j=LQlv9 zpbaec@k(u2yi9-jB9B3IRCSFTCU0bXIl#vN=ao0wi9R}FT&E#-1J(a=omnHMizH7& z_BmIBF{hCN^z{*_#$!69ry~Eq8J9{PVC^Gmm$RLjLe?u zi>o>eJe*&l*WpYM45sneIXMm3HaL080AXLno44=w75DqiVoEl}`>B(_)AJQQ`&@f+ z_ucOc1YiDdt)Ls=uf= zT%X>Lxr%Q#=C`>OoEdNuSOfeGUx?Dvd!Rg!#UBR6CW8TwN-lWn#SMWdSO?ABjIey_?CeNiiNw7bc8F3{2BPI0wRpNj`CC4{W?=lLnuGP zMads3^{FZb1agmYEfgW%4Wz&?30?=LTznwq&5-aH!Q8ubdJ8rbykRzAoW$tAF{-wS z3GHpG8a&JmCI6r2N`s+w@uNkz5Xg3w+ZKvK0pLRdQaX5CqBldYT8Z4&McgCPH=7d4eOo|Salmg{|uDF7ob||=I3%;_zHFb3r zR8&+zX3n|_q7xw(q8UzFmy3*hgrEJU=e5+{Hyy0q-@HB1)t^~S%-s~>+2;CJVmZPq zz>;0d!e`{HdC%teO+xjEdp{`EI~C4$cVkQOd1s22SYHYEAJU>>`l#5qs09P^;Qlmg z%?c2EuJ$3EfR`}3zIPX^oW!<(%}^I>+yPyXnRhcS&;=@)k!ndRKT60CR)!d<8z5U` zgbe{I(S5OTYGOkyqMx^Bj3g`k&o)XsVkndoZ@bsOZirLM@f~->EIcnDKIkTrP>kt{~;~^6nFuFjDTpSe$hH zT7KahK!@sctvmLv+=)@yFPt1$WbwC9`f}83j#p(h>VO!yvC3T^Zs5K^WHmEx1p|1o!MxktZ9( zV2YD7I&mAS;sl)K)H-m83*-mW0h5}ej`W?Tm%J@!le2aB$Qcnv(~2(2MJ!{n(dR&l zuKG`hqoLZL%5KfCg*kN-t$8UFZqyvIY`39khl4~(lB&F={)fi)ABto;oO_e{SQH)1 zGUIg*<0(VOYNc0;8m8N}B8m2Q&QI<#45XcXPWGy}&$kFCG8KP7h zA|o7kwmD&s}G=1X?H|8PL{u^TL3Lv|2HtT8cfD;sx)JAXgC)fNk#J}+@EXMgj} zeevN;(U{%TMtBlJ)NB1M9tq2LKw8au!2NFq$_6s!P8u(Z4f2+@#7CwXt2JZIS1xuG zLWrumlu^(^o@_->3GU#q>zjty>rQPWXyJ3qmlpsnd`=>u7PAv`>Qo=$He0`^483~X$W{z&=_41JET03>< z&>XcF`fvy`a3dz4zSlhb0q5S7LM~5PsL2=r)u$gqyl08#({5VVRXy)-X;Zor8bC`r zAzK^Tmnf@39s=+r$iF4JMPfT&(f?X4SmB>(CqtPA9U-1F2%F`7kMGs(Er}440v-5xX7){$)$jw+mk5bKINKj@1yuf{lm>HMO}<&+ z38KM?SbAFEyo9bp9NE^^|C=ubTp{YVf3^-qSp?96_$SgLtLrx^BAlnK-4N==Wp_`+ zjnhI6{a-rNkFPY8y%9^Fnc920PM#^&E%JqNF@-#bevL`-@KNH)fdQ-Z{DZj+FstT6 zaj~nN-=gMnXtmU4^PcMeq^W#N8p>e_KPBeENctoUjzZhC{#M;rUGHx}ARp_!ip09E zZn0cfw@xU**xLW~uHYb@=QdAnJ)5vM4C6BIsAzF8f6l(iCg~Rw;d!~G{K{ya+MeAS zX`u!C;n>_HH0sFjwiL~leyW!7QpZ6=RRlp&@PPAZ?g_X2rgCKF;h#Tcs=s$Aw>0WE zCEkFF`yDDlApyyz=Ubauw6A+(_$0wJMhsT%P-`sjkf&c`LzL~e+f%k0xj3w5bab!G zRQA1cU?Z66oBjAsXdscUu6%t=AMAfQve!Y;JhL1yXJO4e$}lJZ{lT?$Eay{inxyuy zaV`z-Hw*3gsVh~==DVzVQ#9cYxS))eaE}nq5koy$^oGu1IO=?YVL@{NVK0ZGC@X$h z*ycJJ4@D9B&@Os;CVzEqu98aTbMWZY@`*KBxY+%2TcPps-td!qydB)?#u_?pzPl&F z0Ed|X@V1fX3IV`jzF((R45r`$O=1-IAPx3(1PkMww4Z+xR|F%79rGXt-db@wWoJYd z9J`^7n=kZTj(>0rk*bk8?tZ-p65YzzEpHy~;Tme0iZ0v~HN){23k=9KT)YhFTGG9z zQ-(F~*|IXLV$w(&m3li@RN^7pJG8G%X>1XRdd+WQ%ptc%uJw1=Fe@RW1f}uyH`QZ8 z;k07_ZGVZD2azxIUw?Em9IJ^c^*NgLI1E1;`YV2{FBY!Y25s`Jm-vz^{)BZ67_#EhB2a(G^dddLQ z^eF_OW~G#xZ=OaEj0~Y`boOA{^9&dM4zY-CC{eR#B-7Iq+egR1gNa`9fw*$ZIhTsX z@6!)X4g-nPh6!8ePW!c5NB5jp#s_ClhUFqj^aCKaUuYm-7@nt#K0ZZ3ln5Ntg0KSqlnfc8>Nz{LwQo)2WY zaRK+{4A!^jsq;30vq7?)?NLES&fo2#{|i-T4f`-On2rMV645S0G`qZd!gwJ}hc~S(b{BF@w?!4-yeEFotzTqfLm= zqxN7sIUMf(YRepX8Lt!c_uDBkIc)HD7fKT@Z zLq&}rq!IIe5JxG%Mv`?Z;hYBu9=0sLOs5)Q_LW~F1~tZG9*V}TPi@Ig@GN$@++o>v zLMP&=Qp$h_KtM4;_KU9DYWk?t^zDI9acURAUj7?F>Oqdp!ff#N_0bo!ZZw3cj-W(_ zj(T(E&>C;f9xfFo%naddFVpK0+GmGrNk z)A_HEJns&&i$a<{2?Gw$eiVB098-TqwC^qeR&k$0!koRgXn$WipSwisL)C^dOEg}M zIam!qXuH-1eK5!uFy)nHRXeZJ%r$TXi%anX{WB||-7J@s{mJ5tV*4h?{rm6c=jX%Z z;#{OZb74QTgp3eRnqdgppTSW2K>0AVfUK-B(Fo-EuWhl^mXC%(>*uR@H4EMVsaS&S zV2~}TQ4F4~n^yiGp0Wm!=T%p&uE#<}(S><}sH=clbG$)oV7V(#2CcdgV0KMzypxOt z>Wu2C!X=I|6ZA&pvI8C4B*YqyDLW$5@{tVsw7BB>tmuglD4vW`V1Lf#KI;oGbJ-Sj zcr`vu{wRt-5(_?qj6K4npWH54M4<1iz$)Bjoks9H^qa}A76Gee-K!Wc>NelrSQTyy z)Gz)?3JhC}1YkyfM1{icFY5199PV8vL_7WR4_hTypq5wJqmA|W75{N@Zx6MN0~44eX3Pots({_S^Q{o7GbTqWaa@w442nXS6M~OpKon_+V#0c80l_a~d6vx}4;+sTh&qbI)}E{Xtz;z@ z*z%CDh5N7xsLgUJI2-*Ur}fB|9vgheV0a@OGZ)3>LRo>G+?2d@C-; z8JSeyxsr&9w3@UtXL`9A4}!0obhchSSmZq0x(^KMyTsXgiXkIjGdP36DX7FUKxzg1 zq+GNfKHdFyb6w!27j)Xcul&FECkQ%J8k(C~pn0Zn_4*{=c1e7{b0?HRpC`-G9du`n zfHnx;jcm7X_f;pv=)_fJsG$MWH?`rsVM0g@% zin}+x`|4aR)+AMS~UUc&)nALw!poSKdj{fqr+A_8-*j?a~bo zD04Beao!QQnxETjC*bzThY;Mk+)6|ssh=hF$Aou-M!`j~h92HU(2SW6dJW&0c+cUk z4!Bw+{51%*)j2+GVoPTl{2wFjPv~`9)7UmRi)A>F4(Rv}sDRBTA7TVt2>d#X0 z=W1e@ZNQ#dH8HkjpYRzQ$0opo``(bw8vyv3u3dH)Mz0<5Asm{3fL=38&*jMJj$ zGYbfz&BjD6|BHPagO*cC$s50qQkWD(9Q=a6rLA8+|21IJJre(}oyNp+XHsJW#@{x?o$6v3(2=A1GFL1i^-ESO3RpDo60}|rZ@ef~7sfup! zzi2&t-Z&NQODy#^k(a4_t2aZyeg#l_TvoQ)t}c^$5`l4~JAK*^EL<7}DPh&X<)hDT z+jn^A!0mNYm?DktwvmShmCw_O(9+D`-|?vQiT(B(my6EuSdVv?eUC{O4Q9J`U4r|N z9@Zf>$q}0@VBY(7gWZgG=!XFjcEWqrTMVVpIod|4)!H$WwJiFt75P0$pkWTOL1Cv$ zMmGqzP&}NanZlF~F+@+=z4|dKXN?G@w%nE(KhY}vnYtJH>~IEa3^7JnB`0C_9-Nl? z##LJ)<0|r9lZreJM_sQ=8oJW@g1*YtTfn3DkdyzUT6A~#l_~3P6kC)1bluc(E!FaJ zL3bbTBA_1qV6XuwXTDAAPMmYcr9aW6IqELWBhWz6Yhic+#@_YYae&ck9?^MD6E!`> z1nt-_d!yzGv-Y0WDdW_{Q*g1 z>ahErRhtJrDSU8=@on^2E%;AcOKZU*z3IZ2L6O7H4%!B)sk5tYm8qy%{sYw-bkWL4lu=TpSFRK zfX4RgvcO+#^?(tPSq`v)d6?ngfY@GNX;-`Ld<3;yWVJw6~TECAfvrQaSI*%aF5EIV?&CcR86E*8wx5anKNT!!p1?+xCmU9aTPE&-| zEQrCBC!ZZ3<+g!Pw|2ZeznqXpp;bPOwTb6;61zr#`VXgPm{qGsg27EyxOy461$_G z!hs40)11NP!hX;rbE|L_L|b8yr26mt0n1YkU;F=_-j5-pOo1nl+;B-@4VH0EiP}A5 z2wS)~nw_=lGkO?S|1SIl?|#~l6Siv)>_A#)n~bpZ+|=0kcAEk9YV*mDFxW=VSP$W( z6XE&!cSGT)L4xwrUa#p5`KDe&hN^a=Sa}I|-cNrTNqc4Lh3c)!Tg`Iktz7w8&LP|J zx^X%b6i3oxDSxbzc^bxK*34&){u*u7seB)!LI&AA|6smI$!=1K-at41k?=8&@@lEu z@>aTEel<_30K+5i&fx}lvC#ZC-Aoz@gGZKEuU9PewE@~Q&Q z{Su&XS<%ZiUDv0AO)3^B3UP7BT>zln0^gKJ>cDPT8MW=7i;DaupLb0*;yMeRgl+Y@ zx`+y?uneYT4{ttBLTLD#(j(`Mi(GqQ^&*tgbbdb^Nzb)>18~bY88*q?g11NuziwZ} z+_sXyl6PPx%9SF|oAjbEmXDe2`&*tmdFS+FSxorZJ@`XAQIRi*gdy&QF9{JZ+C+}3 zercMgbkC2eeznfARol?ub3V7rI4+acDM0V`RBQ;f)&i(K;g!bt9)Q|gLv6b84trpi z@AN?ns@D1^u{lr5-l89B)dRA?z_vZ)wxO&9z7$>VF7b9ddq?tP@gachU528y4$5W4drZ?2w(1${^m z{C(|>d)qr0y4xK5Weux+DX}fHCKD?o#=acN45HFMQVGF@*kFM7L4zk@jGs1=QXqf ze1aS7Bnfr1=n;*gsOoDX$h#w8(uGBuf(fus=rbao=CP;HGoYB1*R zA&zajWJ4!D*kAwjP!&FZuuYNg{lTdEtG!iov_W))Lu(FQmfV+tcYrA|SwFkUFY0~h zU?B2>A4D=!#e-jJ*^l4H@I2npb{dI`8bdZ1mJy{#ab?QU#!R7_aJyALHvAwzgI`2I z@58)302dkzssNL-yY9l1sa!yxdsz>5hYAW}%YXxkiA<0vcVdJ#UeKomX7;A zDZji!O3#uZMSm@ggo&!!Ej+xfUarlj%qt=auv$r16k#*h6^XolYS z^#f2~`cc)k0E5YZQvWVxZtZU@c`rA_uRqRuC@i^J? zCs;nSM2ss7Cwqq31MP;Ehnpi265fkRPsZ_`h8Yy)m5)eNUGAvq)`xN*QWkFV)juYz z_X_!`=SqU>q)#+nvnJ5>b_1v1WhX_`DP71!lf~wz()Zf*4bPv>DJMs6Y`#vQ9O}xk zA>?XM2hnmB2Lu(KI0_t)drEt5wVN8YUTcavts`KSnk zl*QpnR@-W245Cr(h{DCU_WW3yXufbHtkq%99+UNc{z-yt*)xVQc{~a8abv)QqT$Z0 zm;szF$LXe2FquPsyrA>6?64>xFFzC&MXxWxi_|%7pwTMLWUcVhEw22oP<&~s!0wJ|9P(HM8Laf3EsLn)B@aRM!nDtP@V`1(zqs$O#|Xs!Th}0 zhoYhfY~DELEWtuR>>pQK?ZoOz5LZiIF_M$>k7cK7@RR!XVv%9Lt^A%qHwn#{hUg|{ zzy6OTgs!r2XyV2b)K$S`z#c!|vs`<_{s(jR=N55jqd9xeWR?#ecqOjy-6j1^x!{Chvn16k5v4!OC0gGXngnW!2w@-+^lPh>t!(( zd>21e{HR)-*W$*8&`#idhoi$J;39b0!6?9ohGO15N4OQtabKNk%`KB|cvIVM&me`wii-wK%YZ!dp{PW*_o(I^QVn@$_zRT<0bO*=u! z?B~7M+Y^VsSqabWY#YiL4y507yMC4K2x z$AtzKOIqeU7t0L-Wfc=D4*sgLo1DG<@q~hm zZu*ly(1f{k9D9Lq@{c<5-JHB%y&?aczhZXh^RrhV5zz}doT4j)Rz@($<71y7p0+?w z7IU-@*M)8$4*0jKimGP3q1#4bm@>b@=s}%1SPx`y9noV0T`DOEF#-+*?bV*-By~DF zuflOgBjE*;yG6Ov(o}x*CJtr5R)4)ju5)(4OD$2^W?8BfR{ycumEtkm2X18e^*stW zCAiu@9;X)RB7m}{>7N;FPP zS2{aY;1xN^^GW1^-51SP`Eqgw<%HhyQ-7*240Rv3z3B9l(f&T2c{AKy%ww8S)h3W` zJUH=*E=w(_Lg#zg@qD~T{LvUybG4|$7I-LPZDn{Uj9OJ|;ta1|mjn{Wf$|O5AkY#A zzdFqKswqglz*5r5xIMJn8e6Z5EJ_=-eDWo7R(GAP;D+1&%ikL|Ah;8b)G;fb#&g0P{C6W)OSB zYG?N;Q@MeXzQb&5wt;~`QB_s)x8B~JPH=182p+}omM`ut2L^$%jP;vAS_E=eNp##F zh&h)wU%q(ZKEc20Hs$IuoT8?w^oq+T`0_vWj9(urklhJ|03gwsY>U+L`}M!{g&;zX zxXgzm)z(?knXkB=e_TGy@r`fFagj0UGAdHFn+?b$%Xz`}qs&w-)M_AKg51=oNIiCg zoHxu8&BkWxk;F$SiyB zky*$L36(-wS;^jek8By0y}2Hz`h2eM_jg^_?fUC|-Z|&>dOjb|$Mdlt_eZpc@sexp z8QT7^!9q)Vh{az6zj|un#9v7)2=oq(4_+sRdduXJo-kg&++>CSFfz0#@pZS{7}x#YG~k8y;L6YqR` zlsX$Gnzit*p!zg#K6F87)7gskrns8nT%)@nO?}<;lnv+s1$+%WSClyi)bX*7hCopM z@2jKG%tC20!P$D1F`CmGMr^z&-#LG&LBxfaD+66f_w88kP>0hIZ3mbDPRtb)~( z07hZ5b3Q=J`?Ffs<%iHksb`{MRUPiK_=ZH^746_!iB$UP7jm z-;nnk8)pm7?kYEsg(6Bvy=uH*t{S2dC$W( zQuw-|-_hiuqbl-@dW8Fdg6HtDvX-a+%%LQ;w@P8QhhN;sB(MAVYqmL>v=q0>{VTqZ zaFE@esWUWn_#W<|uJQTvGf7B)CdhWT7L0#3S}Jv*(oQ>mXP!bIhRtDcBF~QwP6e2% z-D*JfAcMY#__0F(C6og?l8f{09UMNdg%1V?U*WrJ@}F9OQ&T5>2}rd-I{mgonE~FX zO_zq@uwM+?J9GFF$qrg)f4b7m$tm+$U?Lf`OSLOqX>i*KqN>!1Xx%(JdhE-sun3E~ z>^|nmdN!k&y)Kgnzi&G@=;5xh6~<%@ipV`o%1TpIVNY_rK1?$eNw-ia&}j6Hca1IK zy@vZ5WBptNItM8px=?BJ^n6yB6;(W1NsHY37-TTKJU<{Oq{Z=Tr%HFE&EaACHsaeRX=Y&{q~4nF~;wX15y1i;`2pBIXUXT zhuqVtu9P~n8yz$Z>(+2eNpv!g-4J54U#)u7Hq!TAFVuF=NV6PcXK!Q5QmoEBnX?K& z9}g>c$hbUa-<*E=f-m6Ofhg4D9qth<uR?C(PO2?*-aQCi1C^VG)}=-=~GT z`bW)5)R130F&KyvF)fmR?XLXW_OekT@5aXZ5}jGc>`e3LddlW}FXNehsBKfR(z{aD zmqh!P$HzN#oSQ}2@~v$ZLA&vb(Y}y`mPnz%v=(IW?jGlm4^#n8dDz0I#Nh<5Tqx#8f1QIoFg=r(EECaxmli9CdJ^K(Pr^l%W;N`;t=@_V znxxg2`7y;ozyI)F!*a@c&yDrNL~+fDE`cbfVHR7T^W5*=o=KRKFuY+ zpHE@GA-7K)P)4~=963@U_CTrVfHmv;Z~Abn=cTpteJ}KQtd48@Y|^dAq*{-EvVMxi zYq!<2&-q7Kuw3MsyAxY}J};}jKz2&(0fG*!3Tp7uuWnlxEED4!XXH9Q&gu-?+}mgB z@W-!YSZli6{raz`!9n^$ED4tMa)qe^lDdV(Nxqc!@lI#9duo5Ohuim`$o6_=h3*Vu zO}g08c+yGl*`1ocumHVKt2M@T-}o-8QH%&qJMZ7))udor`zy*3XlTY70LDnSM z(nLOQFnH3SR?){aBukfJ!S_p&_Ee$3eun4I+jlFaeVz%aCul05RX9J#7I|2V-NkF@LZ;syaKd-Ry%|oxl@l>Zc)CS94a07Kl z9R(T%{UiNX4c->mr#2!Gq`H`aoOty^^WMZ(NgPMz^boE4=L^~;sl%HS0XI14?aAxq z6#NbEl2e5I{5s10q|)ZZXns^!)m39{#qjaM^Uqx(AS{RMxjm9=N2R<_mL*vpyuAB9 zMNB3D=@igJb2uP3a-D?E8&VaOmgZ1-T7~Zq&uk%{RAGe^!(Y8N7B4{Cl01Fpu9s{Y z$!&gYVeYHd<1$0MSc$Fl-5c()^E)kUjyV5md9p3MR*Z)|M46H2(Imo$uWtwlX`!CG z<~NDFBh$wKeC;zHnmqgUYd^39v&+iPkCXi=LY9Kp^=Jv6pyhxMkT+QthQd_UZ#+iG zOYp%dwuwf6LES-Z?pXF=%${Z3<|SjEzkwj`da(Kk5Cf1^uc;8P4`hK3AxgBm@N+!I zPIlr=B$pq^GFG~-Z2sQx?Q!b1{G$j!j-s151xD98{w3}DMy$u7Z~i*L{5<9we3??@ zE~3wf2ts)apS7ir0@_ZQ1J=rRg6Avzi=b7eCUdavHVa%dDB%%~W5!1VV2F@Hl7vIr zvkR9q&2fMpk`YdTYw*A|&?HqTIj}IOjI*AkrNCf`WUJXg-)2Kce$>nC8rf4I)-q5% zoo3e&7DJzc3av)3{Og@!WwWRuA-ajT*_U(<_;cbsf`qmr&{=dwGmJ!di&N$QEbAnt zxZl9^9mq}m_81`c%KG1P@RYR$(^CaA&Fz-;vxlxRz6`;lXsY5X&ON21pfAVVhf-?#GeMgCfK0OvigT2k+Puo2=vaJrB&k5VHZdJgNlMvG2E_|-<>bt7D>J;h^`Rt_towPtq1I!~1f~C(v`d{xIID%e2VC`V zEIs&5y~KQ_Cz7*(ZrHgL%#+M{JKy7hW zB+Wai_#}k4V!dGHp-8#)nA3aWj<#KA=O0mO^FHwUvAHDWV~mcT5;3u6Msw{)BE~1& zETKT=m$G=V$kTC+@^-2INCEd1g~1PvmSAn;7qS$IK6!OCTSy~0cfbg1`kxLCFW?Sj zBDHVKd01IvJh#G24+*gh%iu5X)^JF0T53{FI|*G7r6V3xAs(>e1u;zT70~f-7``v&oToGO ze%R{KXNPn*r; ztR|XVA9}BMQ_s4Gm-nHeEo1)3RUz35_qn9?cJ2=r1qg+@`h~{mVT*ukLb&OH8GpyO z*N;@AF?LmzGT+lehC*+|K4&&d%v$5!MfF<%>I%|M#8}xPg<@;FHE3J1LGtCM*-2c( zp7zT6&-afEU7b8~E?d5Ma3dzx5&9Xt>5@Po&_ZuyO+=6^Z6jRFs1_$|4>;Uu$WAFS zA+oj;oXcZLg=PD;ri)5yZsmpkfqJGsD1@!v$fagq0~Y0n!<6L1`}f+&yK-(vFfN#o zq_;7J5aoWIi0z&1^>_WigHk|Z$ZeKqO`6Zgr&l<(=*%UiKUc+Yv{gMA_>`^lo}%+b zljVOb&~QKdf$bWqp~IbX6r%m+6rb;C4^}(e?{O4kY0yY*Ai6R(8`CN|J2xEb#t)Z& zXe)d2vAq9!W@-1K;U?;aHPq*yVyD1@yM}6G7Z zdMTGmbulLnwbek!nV%XlMJ-rrQc`?|wO49;ukk|iM0B!q z@K}maeWL}1w=%V-1Ggk};pE=V)+-F-`Y@8OJ?&kT=B9%zIispG9=o%4yLM!en4({z z@d<;*zEJxA=$12?dh}t4JZti?jJ5w^Z7dpVp?{1Pd=*bOVB4hxyHGKCU|Wi6g&Wx{ z(2;HvO`CHSMP4akQx%=zV(8A)XJWQ(!kD$H;Fik2JR}mWn|AiX^ZM7^DqLq@NNVbG z6$c@TmJk~m7esSQw+ha1*wV{sZLcIS7V!$FxqaB>C@saT#_i8`_DBc=^c$13)JK=C zpKU+9E>+xVj^F~;C=8>$Dpb>?Tc0XdWdKXrY?D%AAOu;1U`h+>p%l;nWFTefSwV*mWU8wu8k>C-0S>Cl`H*Wzpm-xuTSh2E- zimBnY!*1!u&>;tV+P>>{nm8Am82;WcNNFrMzb*mD6gID@1g+BQwFr)9&rOJ!S$$T> zZxy%}Z>u}jYsr7uL>7HuD5bNrQqeUWzT52d4wZ(xO$Tg_vE$I#`fk)1!2l$dQJ}40yN!??I{QR(G8D* zOgrq)4zJ^506N`4Ulr7=Sm~;<(ONDP%-B|et08Zi$b0i6B8n^>gUEDKi!a=Ld+Nm9 z69Ks@Ir~g)N56C=pUXVGOjgT1?DcDEd%IS7>x4L4y~aF_MRQ~brKVlPtD4-*^lo&r z^Yi;A^eBmt+^pc_hugSTh#)P0b~~mcS)%N3zoh73CP_^cg)#NtnV=CV6wb+r|2E+j)Bd)kHc~M z#JW`6}ik5)F67>2^b zteYTw5(BzRL-XEz*LaKZWDG7U--9}nRMVRc@vQsSQubq#cf{{|-_VjjOKva>M;+{Q zer-`_{<(6?%1@8Oopp$qTqc;dylkM*V?nEXp19Gy^Dbk?iNO9siuljwk4AmS9~NAz z8R)SQ_`rX`G4*C@R_)FBGnL8WD+;%sEJ#UkMmI~IFnquBg%V#EDV6;*G+<4X(0|>x z1%+iNx(_;JIt-W(Ful@+!AMt~dS|45jq>8(a=nWQ3VM`Y79nXw42XF!bv`0@0%8AE zU)O5K;8764*)D`9c*+iuKwo$+e)!1pzHuRB5SJwdq)`pQ@Z_7t)_Hg%v0AHiIIrAF zM7DY>@T>(m2J)Z!=NPZm8u}pzV;3q!>I+R|8<2TcO@QY6F&Uiq`|^piBLf5GQal6% zgwH{9_Yor;!FDI9l;2-4wkDS=YVZv|!J7f4iU`OHXHR~ZyWG83I|fx(8th@?_Ms%i zva(Rx>@7k_goefYdIspd2TPQ)Rrm`D#fE*Xxigl#5Mtl==~f@-Y%e;w;8e(S_WD=~ zd5-}CwdfQrw3Xst3mqHypAj)wef9>PJJTI1#|}3)kQvM6e05X>MrQFp@+HUjdsVM6R^pe-LK#MkIrKYOJ5)3_zFGf5xJ>u( zt%6f;5QHy5|J6(n%2}|3;UakdEb7>weP1(Cc?!RZb7($+sVU{G_mr!`HxKvm6A~cs zAv&bg$fLi3Ryt#K39rB10I%}%F>|qDfUzn4I+&x)#{W$0gdE!ASZ=U$G(66Tmy>KXK{O^G#;mX8i^}gIyt95al3g#?d+8KpzvyhZRL`SvlUh!aGG%@I#F63l;vB7a;-@o+IXmnrgAkV%M@TfZ2vc$tpFudWLO z(aKN2X;MFva@IUSi2H8@*j35p$Rwr!_2l_5=l=l+wtf8%lP=&RK<>eURrqF%8dVz0 zH(tP>=S(S#KYDp4Ab$+xrIURtat`H@t9kqBQw)Ioy_@y=iuX!@yfw)sbt=YqJ~*Z= z9M1)7&VH$hWUs}qNwP#5>x0aD`cu#r^)U%JW0{*^iX1OGsij9OKn0^n+3BExnoyK( zb)}xMd(bRJ0}oar(ne$8=;aUX``rVEfPu9OgBs@d*V>Pfl11n?1~Gw(i9?~%q(H_Bw)wc!?RM?Jsa9(vm43*@GlqsX%c+ zz~gia9$CjWMrJNH@ip4KS@*1MolgWsVi+^#@-!V~*VO+&t@6GH9dz+7+ob^v&JB?? z5GRReS9r&BMf*Owj$`O-JlZv!N4v)nw^DV~&M)$$^KpB!R8sp)3##b$j)ZuK!pDii z@_dJpTwpAio!JQyjQs$7NK=Lhz{s+Ti{qe2wF-)NWFdRvJ@cQ0mMoJv9?|4(sl83% z%RqHJ>zX$lZOz%x^%;N&}&K_4o@xMw1 zw5E8PL|xlfk$y3BV9RM;$@6aOo$;a6AKuF?T%vPw2_Gp$T?D>;#UfLt@T`nzG#|== zqSmAoGk{q-@$K@iv)grH^w|Km258hp<}S*Q@Hn>6GMpmo%g7Ca=JraO4Jt53_A0_cQU0!urctKgzLRMm! zguGvZ&ezc%Wa{5XTsKyHjCy=%uVq*X=WoTS=(um>~ZT3bjjVZjGk!k-Lemneu&<*(1s*I_8JL#P8{tXMJje zhRz&7Vhh-;Ij^-ni1VN zZ;OAE%R$**8PzOu<936!jh<6TbS_Xp*wshy1W*9q z1B{P_IYKRF+D+Lx`e_fuwD(o*xH%&81+~KfO}>Myqxs0Ayv)OIa_2cO8vW)D&OB>( z<7gtQjyt^ez2ycib|qZ2vT$b4UisWYanq5253F7+0Ug!d=k6S=#YnPAma zgASqG;qbE3FV<>6VJq$Z{g2Zb&DSvTpsvDs4wSQk1D)&<%0O%Zi87JjJpYMNvN9^>LG#uMHi(tl1 z%Nwu0h-K36d5K5N%PaRS`UFDD{P~k4kPE2n-lgLqsh_p%dw-jpl_$=QXNo|}-8_*? z^3Pf$CE8*6&W2s3QM~W+uzy{A`Cz*!k?F~qWsMY%UmyI)vIxoxs2@CdV3U8lxw)AX zMOgaBc-jXOt&#sRx3e90DpyY3;~Je!`1Eqkue zdiL60M`Hw3vY6Ba^RWH=@=JQ|iIq^pB|6=qEX7~N7fQ$uq0;Hy_NjA1Dlp_TlgP`{ z6JnI8v?r|&pSBp=2O#Y*zxGS&!D!CJ|8y7MI!u8PO7Nd3f4#I(ktHV0c=VdfeUre8 zn{>hn@_wn8<+Z}LptFIs?KFkAmk0lJAdR+;KjiqXPr^zvq37n!GsJ}Z_Uq=|2Bo@& zL2kpN-F{9LK$z#@qOph$I#`U(ISn?JND{4jFxYKbn2bc}qp=&D$u-@HKH0U-*UA6Ru$uUe7lfXTtlgW_Wb)r z(Qn%$;4UHhP9Ru){`eivLwn(GE>ji0Mc_dq8@GQlUjaE~4U)Qg<=f~vA~~paXZ|z5 z!+StJy^oxN2urPW_w&Ou*&DJ7Hv`WHH=tG|G?XgF9wmhG=uV4G@9BQ{SUCsKMam?$e{rEenH^)j@h7?T^6_fY>r(I?( zX+|4WOhY^g9#C3C#A%cD9bJzQno_U#EJ8I^s&XnI-}CTUnKK`f!lqtvl&?Lr#QaDa zE>^nv7ZKG)B>V{+E;E?C@;z2_r-$~)--ru8mGe(ERUsbd7KUDfd(!wh3*<7ry}fNR zrrcayEsPY*JW#|E;jJZSK?p{+|E14l*njmg;3|L%!|CSU*UkBI;vN=2X#_NjPyMNi z!6S)2?@pwrr|%Ye7|MDRWNh9fulZC2`gm^bvaGKmW<`?;t8 z#OntkUeAZPjn5c%1%=x|^w*|~*8*DE{AN;W#sG;|>`~z0CHUog6U1l!SIg9QelH_Xlrtxc#eOoLQj{Rxyqt%R9%W}{`ZqN-B^utWs4&lbW*6{_K>{DG zc(+e^uY>6xz7%S2_B_k82(VBfRiVv=cZ+QA2xd`Jnwy)a&d$zKKjZlxai=lj^rwR* zGorD$QoIjDMJ&fRVc zw|tz=JKZ6ArCc!vSPt*H`A!9V;lqJ9S{^1Z;sPnUJ(*;yV&M}Hb~9~xj%U^6MIGrCHMMNO z%L~JPi-Rr8rjh~8cuxH{OaAaU{6BXlosT*`yvm<7Wz6v_x$()e`JQ;l4S~0V)t19tB>)yE?mlzRNO!8o<#wxLOP_Fu+esAeiF(FPH-3aPeac z0Cg(SNn2YRb=0&`>z3~EyWQcS=JVkuz4Jr%4DwjX<#Pu52PbE)1s?7&_U(rl?nkp9 z0;t*wlcQWE^{Q=KTLAq<1y5qQd(DzLwKY> zM|0%bR*>$C=g((cJ=}N46)!NJ!K3Sxw3|-0Y90M_Tpg6bU~LUDiz#4JUc^Mr5iobq zSNdSRJ27CO+~w(zS&Ex&1>*rtvIo>KwXFrvFSGm}{pB7Dz*>vQ#3PEtWf@<9vR8s- z@)&~$Q{Y_;U_z4~vS~-vYtRh2yg&5|xt|o|Ayl*XIMX;>s<1aD8)hBa9tdr|H9X*Q z_|e7oR>o&0MAT|T1*Y)mwr$P5J<3xq?BHXb>wnijWH#A)>&VIz7OIx_ocq>8?BM5+ zMm)|xv;&}F2J&y~l^d7#V^-7*cPZbG1Xd!t*EYhRvdZjzwcdq>rDZ6O9FVY|kI)IQ zHB|xUcIAVG!Tybw-CgJP6r#hymM_JZVl9|UQsi+rUL75w2#&V%AMAYT92ijH!FnGi zja|K^)*ANZNV0WC=gy%C7gy_nJ>|OL?L)~q<&B5R&^Gzb9dAG0!+2FebVrVEZp``-54w*5{oMden{0HH798M)cDI4@N5&tC{xkf z3rL0OoHsJXe%*ClsTGD8z)e4$or;NX0cJmSi>=XQ=fwnM!@qO=y6;o~o^?l>Vo0Kkrt}UDW)+zxT(Xz5zWdVfVByyK!7q;#KsTi?)~c}n zZ!e&;$i}bn6hJo{%_RG*6+d1RL^b?-W^w17yP%8HNU2S>al8N1RMoGFNaU1|J&NP^Nci%75y)zZwURJ;46CS>YNeW_CqR+;;873hPRnEzETPim+|B1gd=V6Y zA%1oQz#c2)74$Dd?Z&gD3 zSW7WX8Q-&+s_O(#!tJ$sSAW*>3f6z1g2KFCz;kTWr*Pi@Mq1pFS_-MszMn=qz^&)a=EHNrH_&k@ul_ve$A`T+mnf^X z)UD|a;@REZRuA$cCdNsh@JQIl3zWubKVTt^dh9wyuUQx}k}PqOOHcGG|-d0 zp(w)zCi2=evc-OK+NQB-7({WI=*VZ$(ORwg4NotNmGLUKwtbH)-|Yz^Yo3szus3&erY z{u*t3#~kW6S_21HK$S?z*eJen8K5zmYU2K2|IjXQ+zwe<{c3V85;ChHzBzec8qf08 zanYPMA+ZK$%5+zIF>agWoK9aBky4M8&0;}*eplnY$VV~O2?n~D^J_5lCg;6c_15Z5 z+M;(Tw3ult;6M3?=xv6K-%Kj*BOT&J!u71S*0TK&fmThHs(~x~9l}|}k5~lY4^>&# zXbL(1fg)sCKIwF{(Y8V?R7-S0ImlhDm}{gTojdKDm98!NHIVP~uvc50A$hsXyyf)W z>*T|tHAhREmFCIqzM_g5oFB|F7ti%GHKAk6?LT9vNT}mdQ2@!r76)w>zdwl=fV2<@ z0(z(x+;@Z#?*3X4auXuU1Df4+;hCUjVj(Vt3`V}HQDsuOfck0pG?=uKzwjOLXioK3 zF$rzu(0SJncZOLL-ZPgXX)C22h?Hu+9_fTLKiN~CEwi0zl6^BC=s3FYmRL%Wqiw^d za1CltSUui#cTwR~?wC?eL4r5}RQWwAVsI8IX`gSpPe zDg~Jbgm?Fv`2F5k*q$!sD1C>z+ZT4{slqMS=X;Y={&uQdIuKu198NQe+;DX?v$QC1*WeRW?+1r|q%zkN9Wn|^nFZ)z8g{Gfo$|osS z5LUXTpg>qu%v!7%#BHul9OO-U!dPF{FRo^$d!Jg^Du^VN(pW!Dfm-ocaVk@>PjH~c zX@T@-$J#ts543(*K6;q*l`-(!>fa4=94&_Mz<*fS0N+==dbR~2XeoGCn zNxS+wq9zbYqKall0k8^@BC`TQmMIUu8pP{17Q_OBqU(d;yMgc?dHuwXe*Q=jJ;iEz zatv$PXEX*OOF-0s%JtHRKije?xxjBv!Edi+T~{$u@b}F?Q6NA?dofcm6Ej8JCIWN! zh4inQNVHS>6#hLm@Le>Y=79X#4S${k>qz}4W7+xJNq*VFN1F{6gJwtWeU-ls*Bna@ zGV^i~PxkI>l^j0H?sAJ|prg=m!3CEcHu2E8weoh^zP*`tbhvjx^pg12+Dix9+J>)~ zrAfh?9+i@L9z*UQzF6k3UtZ_9xkqCdH;PhPa8)6vgm4aub8!)IgWk#DQ~UwlGfp)sQvrZ)Psfjmg$A2iEiYy5h9uT9~5ya zxi#kGgb3MGN8itU*=-NG344mdwN!ayd-m`rb_eRvg>mUAkG)<4| zM_*E&o2AJ%Onmwvn%?dViI%h^C!0u_w|z94i`-or=a^oxgsEwuy?`}5n$lsJ>5tX# zRw=_d-(_nQl#wa8c6yfP)#e3>kl9Ig_9gN7&3dGS5LX+nxO-Sa<1e*CTGZ_Z#PKF=TQQ3CTTe~I=tks0%Sn)bV) z?zmIixc-<}MS^a!McHgn`@KP@0{f3e=Quh+cZ0+Rl+1%J8sKiiBfMv?ipBcaFZO8| z7*>>gf3_3PaFp@`JZ%|vdjdj)ZwyGu3_lX%+d#7dTulWJ`;7`%?HQ82t;=Pdp@FF; zfp_mXQlNgA`cHFXM-Csx@|jiUUd9C)vi>+pg!1&PBnBkmjMCCOyX!xuLXZ%MtX*~zF70!&HMIS&wpMWv1bwV;nKUOcdty= zW9Z)4TT@ZBRlnJ*ZRBAq-7gL5YoX+C#@VN!ipu4>4%pg1gg}IzMs?Q<$oie1uoC79 zbkpj?11WM`dnPywjhXRymXhz3@REvLB+YI;M z<_Vi&*y|@k=rVhfKd< zZ$RL&GuDwBFA;y3Y3LdHF)Q0(cs^TVSNLUtyVOwBnKm-*BnSI8WaB52_ip}8Pb`OY zUE=f)_elDvOqVcCi_y;ccW;o}L3BA7eJK8O)R5xDfzi5mr zTi0K^IBvfq7W+l)L!kO%$g<_=i$>g?FP1|I(%u7Ny$s_!9E_~pZ$#bpt?gw96;69? zqq4HH0<|!>u0R+WXsN{fhrL5sXUrtR`({E;5TOED2yrUs-=4dw>E3`M;~gb)DQ#8s zi9wsz`SLm0Sk1o-L3Wn4@GB@I&*NG#ji30HGsCn=BhgB~TjDmYqm^f0Zhvasc&cu> zUi_VjFWwc05H*+6WZPnV;R(pPNhM$sM9j`|#e={W==Va-!6nm-JHqC`ys-!m9c~jZY zawOd~Pf@Yy*h+apl=E5^QgCjO#n&MmwHK9cA3oSxhe_FrMDJV;`6WJR)iIgiBqnr& z4g=wMIt)%Fod5>fnlEm^fZ^FQ+q^|1%*RfijsdiNVR4WB?G?!@Zg5vz_^{71)#{|b7~C$(tEvR z@zI-P=NumW;*Y9joBH`18RheY2V$ei_hR=!8tw>+Xn^;P&3_ z@M5>)4-fK(#g5cLb8S3tPz5E^fLAgGsRDj;Z;&K63~DHmUalr8d5=4UUCMPk>3PZ{ zo1RQfWYm%kZ7C#*z5)DtnsRZg-kj$+IDlEMjDCCKP-MwU9lZ&FRQG9=mXI(Cn_q29 zId(x==F8^ck}P&u``toA+GN}BZ%HnkVGR~9_lUy8hKEVd$Q zSTBIKS8B6wP3w8?2fHymodX+RRO$s2PatU{DA}yWWw_#&^z+^Nyd%)AU6WcM5RT48 zqlu$b;Ih`_%*6{~ShcK4q~4?GuD_!f=GDmc@cSGaP5zJ8j}~iR?n=i9*^-lZvm?#Jg-dw+h_)BG7Dm1B%Y~ za4H$i%D>?>&w*vYN7hbU&5B*plC@D|8jYfFZ|wSbkH{{3MA?03a5r)HL7r{iqG7C0 zsa!z_imXSPZS*kKLTE#JI83GMaYtfp;dq0{_-ixGexfiRw(m0qn>_%@YwB#jJk-d$~NIejn|FZ|&8LnWO;U0&zh8$^~% zpAz1Lys_xrTiso4O&)@QnA4RC?+s;|7iR($%V*4LKczK5Z^`*5K zm6x7t1*SCITx@`G$+vkRvZSV(zkGa}9oxcyR&uB1v;inPJ+zq~yD8lHRpvAh8N)&~!os5SyN?Sm{DS-eneX&BL-+?uE72yi ze^cf;1e<5&gCLzeQxJSoednAk4wf%*Y)AL0Na#&fp{OByIS$A7lNC<2HQ~@?cxU=F zKpUn$nD%-hDQ6)tTdd+nb_q~VguxLZ7#(`xJP`j zq>_#+j>8ulBaVM)i!@9gfL1pT7hK^|frm_EkCK-Cup=ac^jtUt$2UF(7Bv}t*4U({IXv!WuNDJ3KH0f+ zFPoLDJ@t7It{%zFPun$ZKlkhS#O{d(DWKWU7O`V+C1vne@)7k*L^?YbuU@Hsq!LYs z-+E@w%18b2){ltXqyob=(jGydwof%7;w_8Im+cGPRh#YO3|ISdbw^ppI`paOh)AyZ zZ#(&zR#L1QAJbWGuTW=yAZl(US~kmW3vt71#THal=}o9-j+71TSSXRqc=bvSJod9M z-!x9^1=-6)x3;$%ySry1C0F*8J>TpNE?ugKyjUsrt4o_P)9|3g%H97hQg>w~ie09A zV}s*JMDF)7HNz74j*X!rMS|TpasJt5^aV(Kr8>8nX1vi&7=AL8w)~YVn zUpV>mk9V0j9C109z{5;A&J4CQQ$!f}1N7)IEs8+E#eNtcDxZJkmt#Dan+v0YOfXg+ zUcp^6fykiipS{C-o5}9{z9!%e=6%qw&!95SK84m*3?09aSnHV@O#HU{iv}dvf_M(u zf3&3Me=QmfS21(Aqa_?3g{iST)~lZI`OIoR=lCh8i2dJ2F4U{RszbSK$;wAk75O-c z{ACqLYE=D;Eg$BZ*bEboE@I;Kp-b&V&dCe5_7ASlOLB1n(&ne^2g<1!!^D)$AAEx^8s`ne58dm-!Y*MQe#$>iwl_9vHp$7I zlRx|FzU2m&({KLDST(*9g`uLyhQ1VZMBwcZ5SLK~Mk8&cZ8Ww2x~S7wyl zy$)!f?j0(0@NCFdP4Zwve_!=&s~>PlqKkTPOlPhx%c>ctT{pj^J;x|U#P=w5lm$yv zt2PH;4}zG&6=Lb&Z%TLlFWL!FecK_u0@8Xh-JzBLTGErHvFTW0oC>wfnHo?7vP{nS zr!RTziy3`SRSGZL;DWnPSi5ZISSp2G4`&q0lo~O=WWJso^NU5vU!lag<}@K9gT)g$ zG4xxV=`=XkdTRgC&>5y7~1@{e#!w4S{oNk^XqfFkL0^DsDz88k?F8Y@KdY z^fzZzaxdGiUZ=L4GhhW^D!NBA9BRgSPZ5|5PxA9`qa`orhZ1cXoV0T5(6oNe+owhAA~Yoi1mUDP{gnkZiA5pzx?#S<4F zZ@ITqm-iI!^<2>ea$tNPRS6N|0?o989tT3-AR7SzeD7ZrMg@z-N1}X>gQundsv1>+ zOA5vBoV4*Q-F1Xin;(!9#RGfz=sGoU8N>Qahm8aLJ-TX<@9~hv70Rg*Rq$s$q$I$9 z?>fHKt*fJh2?__J`(q!Ueh}k(<`S&vqmD1kA|;doM%hn|i;#v=I?hkz516s8o+>o> zBLfg39UV4E!*{*Wg2`+Iu2Vy708{v!jUU090D@p}qn#6~n>C9mM``Jz=2xR7;dMsv zWE2fY%_}s7sm{xT)L3PQ@EQHxRZUpahuIxdKzEHjKL?&a3h@G-a=XH2`2zIlHbv18 zM`?fszO*|RBZXn*&=0a2`S|K)Zsn2%ew21hY%Isi z`sBc_iGePPDz`>d>Aw_{$8X^*8xb0fWxmQP?+XpO_$|=s+G+tbMA7CB?isQ%;M^Q| z*#Ey9fR=oMFz=6A}EMZ4ZsAfX1GQvXt*93nu`|4urfYO1i$~k zocI|yQJ-54>JcshCG!_kZot^%L~FJR!T@gX+xti-9I}9+%G3}^%>z?bj-NDLE^VS~AX>hWz3yX`d0jCgeukWONFY~1U z^1b_>LF(lT)-P*DhkHgg2Bx7Hkeqk??zIXf%AyY{U^vsxdbd{jlkSYs)0dZ+E=btF z;HuU6Pc1;ho@-rzOh02vrE8_^O~0#QVH%rF*` z8wN|7jEP&8Z}eTib}e#iCzRYHS4P@n$K9*u$KIO`{Z$j%&9zHUhIr2yg**@W#=y6N zXHA$}0mpT`YDya)Nckhc2q3Zn#V2oG;E3>~qz7tTlK&TJ`SXPc1Tc<5Ogt+HBgAd^ zxjy3W4+#;%%vH9S7tw4E;_-L=-z9Cy8;m3U_~a(n>gPVhq*RviIcs`@0s|QTJ7U%T zzyNrTRlGNtZ(?EJqSWqWXmD-Jyij+G@%5^~?}3;yS_N?rjkvJ7se(>NU0q#+egO_S zCQf*zYPPTw5CQ*QNy@C;+!uh}68=8nQph(Jb0=au4CB`_o$!O}H0$}gN3DxORU3wU zO-$oh85h^XQ%C!F8w6T(4Ez#fsbMb}+Ak&XdjSeCkO&J4tGKz9*Z09J9aqGFNyDv> z*;)=kjOuwH#N-vtYA2x1G-22c{Mz9cHgIQx>>L_-;j$w7mGwc)OkP)AMMME}s+6vi z{rM6qkd|{@KY{Q81?W~nldWwoEDB1ken6b&q(SUXD6n-$J8iq8#y@nKiYO80tm zbn;zyY+)W%*r&(i(ng(Be8i_f7jcF%ngs;F<0U^cMg7L}Z_y=%6Mx@xQ36)k87Xux z5Y{2Djg;s7E3Ok0QScsL>X*X*HfjKWFT0wife)ll-Wi;pfpoP&Yoi!wmxz&gn-hPI zMwY1%Xr0H)8{`Cb*9t)pdnEifNFg4PkC)+Wd<5VAEw>s3IA!L;81@%X_}_(W$ztP3 zrN3xb;{(fNa9|C&2e0v-QTz3mQM^>(iYVmhdl82qNr)e@N+|j(q^T!+EBHHBE2R5E zLVo-itpDP1Wn3gBaPGc}XAq@34( zOJ<61wFtGxKtSYm8@-HsS?Gn!eY;!5Hd8p5k&*jrV`;FvJI-#lB~mq-y%8Uw0>d$X z7hI;KS~CdV_EmyEl@yHbc4?c=RFCfptSnD~>`!C%n`AEhh_lvO_uN=#aVIoZ((vIc zP--M@K?nh2pa%LP5&GX9s+I?8ytop>cbWyeBs!tQK493)A^-d&1jAY`ifIe4{~9+e z3nrloD9Ni_Yr9Mzgg8UY#kYP0&1Bp!n*kTvB8b$@vhSTPXZD1};*0d4$J@Urve#M$ zpc>L3DSz2jtMZMTKZZWPWqS(oo_k^0bK$gt)jFl~F6UB$ddCXyetFWjGgKMO zz;auAe|~XOP{c~eT_S$E4vKNxbuP5o!DNSbq}Tjlh9s;02GhB}#FkZsgSrwdL+$gW z5hcWOzav#H%v5KZ^5fXF%>M6hbY=zvk2~xl(d-p4+qntGv)!n!S~pYht$S+;Q6Ga6 z2nO6JkWgoM^6EP~h5Bjb3l1?*=Rm_rmo|6Tu2lqcznWOBcz~RRH<9w&{$(ocTuEEu zxp0P|*c(d&ufx~M?90IS)bE_I0>*gi7RYxV2s@E=?AkxV%F6*^gE29}h!2ofT(9Be zTk84_W4>d6idsL5r=DpW{CHtKPgY(yem~&Cbhnm_Mi5oOKFerJ%uI8vp4(#7nZ2bT zdkkw*F}P6nnf`4})(O{)Qtlh^rwW~zTOzN-1>OxcPigZQu2-!mrMuo0p8VLS|8M#L zrqG>oA=vSM{>%s>Xq4a5qVUNxxOe}I+uAuv2-7DPNG9f22U31nZ@45>Q?XY@=U$=PmQaY}oClCe<+a$7i`z`_58Mh(e5-nC6cHhX*AbL5c@smY; z%g;El2iPF+CAY30)>t7EY$wS909J*;3R4G=+s_8E$9K0>rT*E4bPC~X@~L<(Wbnj9qMq0*)x;+TRKuCnkPjWsDE(e2I#Jo~S=3;Q``nf3S9@#R9_`7>{nNZyeH{T_vXHhoOHQ z4PuWLm%i;}-Q8n(6qY5>Y@gp4p{|u+BQ00Q5NoHao=K+N>IBl*^&$Nn49POP+t>up zLmkC;vHW{{K2SK4H|epLSu}dqbgbf+|8O$8%}v}k-YwEnE6TpH6k_eH);|j(RV8sm z3o+<6o8+MuzNm3)ydi2N%CdKNFJPb7`yJl9+1V=qz=X#?%yrYh+14UN+}E zG1XtoGN9w1eyL>#LE6{TqoS)D54ItVi(?%rAt67e20>AvYhL=MabRm)Ky(*mQw)^C zn2Zc`Ytc=P2-TEizis^b%)l&teW6zkDs@a$k)w>Y?huo@%cGtmeK%2ZspOH~o(0X9 zcdDXTCF7r?Uy8C6uDNf1t3ba!aCJ#;i|3wog(-5<)`Y&Gnh3b=*5P&93llcZf5&`C zydD_}P~baHtKuWstJ1|-?pAnv&pp5#pCD~*gq%@~x2(J-9MCEe1;bworVaoFYuOoc zSKwafC<~^``BO(fu{K6yy^Yn{SC~P&+>&a9+zF^armF&=%)TO6Mxi3GYli!xBi@^l zw*zlR_%%~R1U~OvChL3hpXS4xczHoW2DcFwy~dT=7Y%t|(!BT>c#KFKl+CnnNF52@ z61HAZz3}(xQ2s$z?GULA9FuWV+Q11CCpudBB+p=vVukB?ZxJ+cAS*nTwOOe{8npg4 zK_uT5*w6Jn23_1=A*x>!Qh?Qwbz~RkYRc3esLgE z8x)WZ=@O7`kZxG>(%bj_-fyk7*Pp$|*kk>9o`Lrj=XJ)6W6pWZmormg94r(X+Y~WB z;c3VW{MCc*ST3XuoV!CreftJCbjDkZYL#Y0&z!wNgd5S$^^SJ}#T9%9+bW<%hriKD5 zul9s`(w}gW>o4COM#)=TQ0u`Tv_f8zBiOoUDPkC=1W)52vl3{vK=@}Su^+-5qT~4m zIspi>ex5we4Lm;zG!YWF@5mZe3!{M(fIRUY1KekB$Es=z!>(1hOh)Ysv&Q5c8;1!` z(CLk$Ls=*BpoMsn5?{2zby`Z_(bC@iUb)dfz9buJ&g&B(@RkGgCQk|1!XhFX`CqWO zy#eUPt(6qPFwHY4?9e1&UMSQLP`0M9@0ZLcSvvb0Gu^2&goc3K*C$e`p3XZ!LY#RTG#o0)h5aPxa3TEXxV$@RZr!&Y)jzv(9b$FqLGNeb`5pk^~f*`k#& zLAD=-V@hHD>WlK5TS3`YMu(WM!ewQwQ<$h#GltL8dZvoI3C`@~8C)4MM6G$T;OKZE z+E?u#cO+mAo65}#=25zjBwP#T@p{aIsqolnBXSu|T-$VRwodYIODR zE142g?RFUK1?5;PCB#w0t<|4zg0B-!RYbe=XEo8|VRW_)zStV@`>%fYCJQi5oBi-} zLSWK^+sZ@kqjnrT$L%tCGrUFOle42mZdO(ZH15pE&PJ+4_b5auv40`{y#5C()LHgK zVwa&=V$1Jg9LcO*4c}xQy#)N}MvUTR5I@xD z#8fDob`qKFT>D@dQ)Knl6RjV>EZ3^wCtms!fDsf%y*C(kMJOikIgh{F{w=Z`qT&}Z zkoSszl(>eHIPX#W6(!3ZIN!5ldtQN$FqVv(7lsrV2L9$bB$R%RE*iC?f&~PKo1bcG zCb%g!W$qN3>*F zFb>n71wjEd-43?M2R$Psg9dc7o^#A08r``J8b1Jx=(bW+{Pxa1cmT{3AN*>mSj-;zZ3m3oPR+I|^ixGN8@N7_=Mh3o(8Rn+wCAp7*bRgdFVV ze4IioxS3BN*(Vr|NN6P*8a58R#`C&26H1hPLlza!umJ;cWCv*kdG_J)(?Wihs4!^A z-|qlXiyk5Nua5<;M5+T`4HXsY8#ivOOZpp={6r*Y0Mo)Hl+?QjFM6ODbbAB76TwN` zf&`#;I3+uq&i5nEH8epa10z}<8%h0y$t3w}%3eJ*6=cV07m9UD4>OlYz zM3VqoBF`kq<#`VVEPPpPPzG7_dnAG22T^d7tNs?s4+j(ZLz2I4%^paK$;+Z# zUdYn6U6!^-ZG1KKY}F#ka7IlAli|W3$d;V5pfMrEwu29AiU>rjMu1a!=yU~tFZ&vt z`6D*OG2tOvk}`>ij8?-lM|O$S-DYxexQb+)+=em1 zYNZ2TLZ(1-7C{GLy3mlgHjlO_IwSm!B%YNa>b}9JzZo2A3BA$gTd2baSMqyulE zQ0CVtL#carn4g=UwooGN-|8M7vWFII`Y&~lhP?F;O7?q^{;GQfV}Fr-iFxL)y1xa( z=%$gaMoke)-6N)l#r9Mf;9Q8he-2N3J0Y2ix=8%5x(BiDDMzx9`Y&~lNR&T0atJIS z@Go_bI3Nv~*b1Kzb&te>fU*qXo*(Ej#B!~N9Zr$jOM&{RCOF-}aX9po2sAi8Oi5kv zpUy)_C|8*v2^CCC?5nPusLgE#f7%X2EVIC|diB2E6~=M(35ACiJo@@O7H!lfBtuk4 zkRXm82~30Q^OPPkL{Skus1rdT&-@hfSATTMn^XAxgf*pc9_|-TQxc8_-QkvX?(7&$ zM5TG+4b-CJz-3^2@ZJfKNW;}HGB4y!!=wZ=a&}1lw{@d~ z-_^+eKQz+-e|j_(O93lSk+(RFGB=w*hStvfUu=^ido+RJ!Ns#)u%r^gQ4+YQ(+R?@ zo|{&+0f8elwxuoD>7Nyc=I7^AkdwSd*8y{^+1v91>bU5@;iSkK(>de?k*zHBzk}RJ zVE3T;h&ENjp4)pHBrAxh&9`LOg7cuz1U1RdqRhza5g?FDD+%a%V9h5o&IkQ92N8x0 zah65t@IUW8^C#xg#iR$|oO?TXYn5(jV6!@qU=L++5{_OOYI0yydaz`{XL?2lE|56|D zmHiv!krWXTal|FRhQ0@yc#`!|IT8{^#10Z~Xz3&05rpr)bhl~$#lHeaDN^`AfTDd< zkn94w8{#F0>XP0=&4M9_ILW%W$90I2@6UxT@&cyi{rc4MG$N+c`gQ(_X;4tXH*l_K z!CP^sCMoaT*Aai~Et7d3cKda=fDn{D^VdhFaU6wBt)-A^dftTv=tdZ{SgV% zmT+8~&)~_R1|dQ6AwVZPH&;$Da~j=M6dtUGZ4Q@s3EgP^coY8o_Mz=2>a?Q6_=VG- zx-HUza?5?NkSz?q-#y#;IS96cms&IWUzPJG(zn3-;4D~NU#;VXI?I3fo;#a@7;rc2 z8vGCm-Af}{iF)oEScS6}q<3B6`DpIp{^SS*{ZR|&lBcBb5c56EL=#y}nTziv;RkbrKJAII1|XbxI5{SB(LrXhPQ?BTl$DZ(NQ zU75mpyK_7PTQ#pH1PM4yZ?jO~mlj?D2bhAX(CRiTtY+kmP%C7kfpY!p_(+L-p%!BE zU!Q7hjpekIFA!3E6*)w{qe4EM>T-G#-g}eVCL8k(mm(0`#4FMi=yw+DxkT162yVgV z$;j*|l?6}W69&31%)xqtmlA5~PzFMt6k80Y9iUS3ti0tmD>Q(m=ii){kKEs!OVjaG zSq(PS^K1!(_=Ad+L2QBCQ_5=Ui_?x-Z{OfW!u@l(auFA_|qs1{;)!^hvt-y%e|a_N&$N7TokN4!4tz#b{l zFOVDowQz2dREr8W1?JeAwToHp#EaDaO z9n3#~@InH^Mpy_!b|K9)k|5a4=gn>Uvwu_zivi3t0UVN29@KlW4PXn^p2vA|HcH2H zR!4Iu*t8S-P&5NFDi*^8e!xtgLDzw>TXTme9%?3q5ml7=BTte&29sH^o=2vE?xXoC zvDOY|9zV0*#&mN(3*p??c+$LbH?0s%m;CBkm!_U*605Y_!^Z{E}VbuSHPY@^x=LKtME^NT+$>aibM6j0Hx@oY%1SWpeBS9VgJ&bwH zLZiR7d>t_p4oU<4<7x&kFU9?zoC%@-9&KW_3o+n<$(ejCmVYl6#`DU33mZXK_XZ*{ zQ77v!N`r~<8*x)Y5Vtx^32JH>9ulC#1MBc_93QrIJ+jyJ&fkrTh38t-icFy@N8Ior zbMrS?h+2mfm}6?EE1n;$;6W+colPe&MSHCwW0Q!}*I6F?*IZ6dzcoi;~fU z(86n8ubqRg+cmY|l_)E)Y=Dbc?~=NOT6a%GGU`a-Km7@nYTw-xwE^{L`DuiWN_Yqh z3xkmFgweRw1=k0#AL}!sr;*St0=R+umn`sxnFlft>Jo?L1>Ng&tD(eLUR|9YSdN0A z$gP3#A`9~rymdL!b8bhP=TBV@cDFACb0*Qh_kp=s5h1~sf z^1mQrkxJU@B?RVQmj#ioX93vmeE)9J|JuoMy#U2y*Ug%_#SnMB`Xa2=9qKy`NCigf z`@8h00r0_iAjf={6Y)auVP+1EW{muuwHcNMaw87cT*UF{oogOf$ll>@3M5Ty-We$|vN$;!z;A&{RtoYCVoFF4Ef{;< zV94J*HUQL5GwY|)A?k|T^#4FskA(0;#puP(Xo`&*d4pltS{nX)T4GZ7m4hq`DNTZ4Qob= zM_QD(HB;(+t6X?rj~$&i9FN(Yq*dDF-I))1(x1E}^}g-M?lRp~8h6Fd%L7IUp|M>j zeiTDCF(!2G_8p*eO>iR$)T^O&FNLPX1TPi=?$|K4N-6BN+9z0vC;%iB5jWF!(VzTN z)`ZQfJ>^M$)x_#u!h$tavb?nnxhN`od$1&chts6|XxU9WrYS<2MOarhrr0FAywnRr z|7-WQZo~s970!VUTh+^~e2a_yt<%j|EnZYa1D*@edvvC&G5%Hi-H6NRz)O^4PzcfI zBw1kk#Qs^UM)jr{rB$8%esc%#I{-HfTQW|5AmsPk?UgFmlYiF|;KR0_( z?6)T0D(5XBDS_oegx>Y zPKJ3Aj`V{?f$JzC^&NziTk7?X=oI(_iDxQS=3b1a)x|49YV1&&_Vn6f0*d3@x|V2{r%x>$edjgvYG%N8VZg)(NG@! zCHTBYp`>gNkzxKyIHX?p{g9 zCeS+jdaUgtwa_wDFWoLl>wqvc)sOj_Q62GAs`1FQvBN z_jCGXd^nBObhGdA^`1FI&MUlLu9Y~n@eVb{hZ;b_kMmUlm|hy~o~3NadnY>5|GpP= zgj+G&T?{&WNE&Q-JF*c>qUS!C^40qWtvWI9(oQb{2SKo@gs)SX58sUjJDp+Q`yrTJ zyZO9!`U&w4%|47(^1m7~C?U;Sf=|iysy9d}#<)i0?1+A&xba64ydj2{IzRH2BQAqJ z7?8#3u;B%H+SHug&6p)oG_tNihMNAyau(FW?vduSBgO+d*Hqi}4|+Ohc@D{Y`XFVr zQ@>9~{y(5asX$+npD5E375G9qiroo37D1$X!j?UzCo9F8p4G~pnC8z;w1^w&h|T$e z`|Fcg#b-O8k?6;o=Wq8Cqh zN#-B%PApLop9!o`bkavCbl(6a>u!Rqt9=^Q{Vg;AlUlvdHx|rxC^}5+A|k-`ToR+o^xh0T(jymyZHHUaK~$zV)S;21U+{BFX%^_N6TQET)8?tM#n zJLklQUWkSFt4K3v!r5!|(Gxy+1i01FdpI~O^;q6pIIm%+mMTXcp$;M^tn4&8-E2GD zrRC3RwE!u1%D9?m1%G?>T1bF#^K1wzz(|6B7N`d06%@2hDwQ=f;#)Hc{itCS(w7g_ zRY95bgMw~8CaPTcGB~-Ea>|$8YSeuQGZKP052&&_r%ks@mZjOOr=vVm+p8lrDHf+UbMaO zSFyy|EHYH>tVD&Mf_F1>a!4H9!amZx-gqSx+R3xM%+i*PKl+fZR>ZY^;JN7`vAa6D zk!i>*+d?TMX_s@Am``o194UaZEmQLON=u^+1-?)^~fM|2DX- zHgsFm)R&N>BYK6|YW@+pUk>uFSzGf1xthbm%Tx2BWkdd-Td?CMJ~rZr-R{44{&1;- zorY?*BaVuH&;(y)XPqj;a230W88K{ z4}z#U)m9-ttkyMchIB1}I#ueauBW6setbfhD&Ex2`lDuMvy->I!Far40e32_!qXD$ zWMz+r^7`cooT}{At*_;2ttp6jbEaj!lxa|*exZRkHLaMAi7}~K)Tzg!#R!?^S;rg~ zcSHPY2%?@+zs01k#gcaS)0jyJHTzU*Dd$0D1=1)~AZM z=1;Jn8Rxy#@&OgKr<~Jh5h@1rdxi(%IjboeC zEPdkUP!UYZEioLSoRY^oqzkcf@J&|)q6iQ9^{thPnx!$a6DO_9Yt+h+aMOLGw^lk2bRUrSy8_54*#6R!SmH`L=zJwy4BX_1+nbj5-{B2x2m)Emz1ih%s)}Tuz*Y zL{h2?{RJ`iNRL+K zvKa2xc6i3A8pore-5d2q(W{mS1yE;XvF+<1He#1|#>{397h?~oh=bcJR+q~H(jj|X zxaw`aCX#%h^+@k;bY2*p;)%PO({^9J#f)Ux;cA7Cdl7xR{jTnai+nHJ%Ga8P*oKKU80w#GQvz|(<3 z2Wd`hX60f>cr${VOyZbkn0Ygg097Js~6r2mB!=l`!6Xpl-RIVmzedS=P+f zdTm(>dR9cR9X^1PS*9XlPl@`rOLMJ^p`l@544vWlimqmVX_L%I9X&Ktp zE@VUyp6tKgPn`?kdE{ji@}F_0q&UnjArb)?{67=jsN4XOm&o9)s9UHK9LazW)3U4O zMtDuXJqZ8Jcv2d2MS(#qjyw?dn~c>4`B541r%mLi&3nSpR&$GydhU|B$2)m?vFQ(@ zc=jKvl)bd3NoHEZPkg8sLi)H|X_W5^eS-$oGuh*k?fz7sju4qSEc)TOO2u0Fg0vmag@itUyD#x`nGt@5%WU4D=Cy}SfdekP+;)ctOPhMiV>vOm zPsUGMiXE1NUK7XO+nCTirD2S-l)dyVK0=-H@MJ-bpv&=~_VPyCM~~EDEB-0W1&7_y z?n>*WdUBD!iT((p_|pMt1_R7rQOnhbtNHfZyREmp%|XH-=>wJ6o>iDC&*EqoRr%)O(g|mR8?LG;Tajz#m%&}jNketdA z*_;fNZ@3KrHtqVXS#{8&-R88PQEu1`IX>!@s}BUOI!t014y_(uiK`NhLj%$ST1FnI zG5z;DNzNXKHyj)s2QJBOZ;(x%cy(?)v06jLcW28Dv5hQ#XqGp@;VqI)_SF z8LOmxVv!wtgUdChze1Q;>lu|aXx{zjGXQEzA0(0&akqVQeF7N9(D4~%=8-Y<<`Oyr zEKwx#8^}Ugwm|@Nc{yS@LE6P6ZO3#dFm6JoMfrL{v8?GtLfhx9GvY$T zx#nWFt$X#(X5HaxNQy#gQ~7{KfyP+1i_4I9@4W@v-p3m=kenL+IoUzbXQ)+cUGs#D zHcckvN|tgfScBptV^t|5hG}IDE1@K&-`aJXrGdQWc(`bz>v*>{-{n}Uzv>{<@wiV} z$tiS2_T9x+f2vp#`r=Xc73%|Qr>bn{9hLoGV-6_?+XFML0eq5urTO}DLld9tvYm@Z zEaigq+U1Y;+FM#LVh~Ke$2CDs3I-e^iAQ<7$=-nCQP;{q8UTYv^!GX%AwHM6J5kmx z)crk*EO&CatOA`wsH8lIPfH)OrlHR}wbJMB`EyTS9${%Tu^ExM8pAF_V>9%Ps|5OW z>U0q3C*LV(#h_{;!dItYJlTlIIOh4G)6~FN9r#|mv1M|^EW(W4)ar`n)Y#hT;VB(+ zx3Ld>HoNoqPjFz_&4ww6e>mh;+N^&I|3~6=>5Sp9>C+-f4W2_|mF=w_0;6nP!`!S- z!Nlt3@7avTc(9c;_=cLW8AA<_dK3@`;z-8WTkjRpCpw-N#c@o5B<|HZ8HG@FW@hkE zS^`5>!sd>FcASa%ymo*@mTa873YW;6X9v8wRqWR9j=wpqHE&YIeisifjVsue<@V}u zAAI`EsA?sYG^YAUe%Ajcsnp4OKsLV5*fcQ^X63gI=|3wVN+c6fbgN``uB_xVRqMZ9 z3k>3jcN^5jK+>^owIcH3_+%O5|`Pcx`_xB?06MT5t_tjTMmucbEo za}?5Cj=l@A=>PiJn~krIS1=ICoIjH5La%EwEG}eSG{5nIqcK3P{g&b5$E4?o?C*WE zT%pZvDi9-z3YM(6dWXg#;0|q0g;n0mB&W*lM*bFVj?vIt12Xm?BrX%`AqjndanZM6 z)Zi)_V}Weo5%7Kmq*`u15tLg@ErDjYZcT6Qj)j2aGCa;5xWdu2bMa1Si@@%-?Lw^O z^i+m|LT(21u~M#)q!rrIJNlIt|FSp0Q0;KSgT?aam)`8a{1!>hy^kKzbX8qd^e3-3 zn*Atz)!pZ>R92hm6&4P?)--C6T)OkxSXk52exm-G0?UhprB4NV>5+9HS{Mto^VPec z6?R(}XT{yV@!9tN>;PqVEV-EshfkQcKhH=-(nYaJXdIb_d&FBd0YCep&tQOGf{Q7} zz0q;q#)RXx;R@X>n-!MTJHf5-G(#4zs{>GMP`@`YGa{<&TrH)s2!hE!d)^mw7tVf8 zRC^@}a~-?5@}y$Cd1OFyO~rja`)yskqkQqp@oI_P^8GYPOv}=C_wTz_hK;Rt?ka@k z(RB<$u?2VR)n2)7RqxOCc4J%mGn|XIYh%v1qH4_;>>NVrb%~I-mQHAEy@@NSZux!p z#IHJf^W?X6b`QRJsf%YkjRwdvL&3_%%QQ5TRk%<|&n(b*;H_qMzF*QBIa1Yf1*Om* z!uG|WDfUndA|)abDaBx+sQo5&&0bwSZhqHRS2sn`@ii-vVz@o|G3Zadu&bt1OU6Ov za(qFH0~#R#M79D-G6`b_Qys>vLfsfw??^>7&WnDS{oc;y;7`2fJ(0tI^bk+YE+q@o zyu;>KOP)o7)AVPm_`v=+ZVwIj2P!EJ(f(mgv+XRWB{e36y(w$zubV&Bxi`Cq(dO`~ zwq0{r&bHF?XJA}(9yaXnPMdvZ7Ke8iYFD3#a{qxP{y}r33Zx*|08h8&&6#sLc`Jr! z)#vsp?jFE0^H9(?iW6n*iRkVWb4#zP*;v%X-X^UDzsJX=T$CODdGz zcr}f?%{OS2vAVQ*%6c1M#h=8_F8nKo0r|t|1MWyt+StH37K-@oD^SKD*0U(>hjqHc z(fOqSlIzJxB0%kl&(276ymflDJKC>TGW)83qBTWo=D6laWDGneQHQ(-hvp8I0J3g2 zzWY-{3lLFrhNe)Qs&k>CGUbV!Pc(J!ns! zeJDPEA@)G{rn=I`stiZ-2*;1WmkNNEF*r59j*_N)9NZcPKB#23q891%~Y)o!>R)@mUF2e7KplHR%kYsF7Ts+ z*kFzjTe9I@px~TebAfWQKB`T}o!OXvZBJ#Mb+>JU7o%)_b~>$J8I^`!z6F!V^WSC@ z^iB_h>N}&Us*R0}LH$pJ>G{%>mQfH0I)OHV$YQl)cBSC5Uc7q!#&!GocAHM9#oF~@ z2&Pvp4jtYdkFcxR_sh23Xcqkjb2CrpwhyN5+L)tdW+$S?5yfQe^3ydjri|gV(`C9Z zh&;x4XUHJ6cD6m=pcc(;yY{le@%(JM6QyjZEQA=^i+{-XgEwS$ydWpPd9c*IUpggB zEK@P6;UIx1i@68-jq_7)u$-2e4M)-fdUKyq(bLlM^4hb2u5jCsvXOKwnY>Q?1>Mv zgGh&@pmMn5UJE_Y+I`YE7_6fZ+7jI_f(hGQt7N4bJXCufcfaDx?K1Cw!WbE2U%hqQ z*%={dG=Zv58$HkXy(dq?D))Ren_AN1H?G%=w0XOC@`b3R#cHi2Oz_0Y#W%Bwf5I$e zWMr9MxKdV!a>D39^$ zcb7Txvs>#`mK_hsbFhbwYcK0Afpat<>L>YaW+(L44KgmD`s#uA&&arvv=TtL+SL4f zOUcR`Tfo@1PjmLF%ObU5!CJKnZ4A~qMi$|VN`^(YwP-4@`ku(Ja}{0e&lI}I`SVjn za%*0rH=9xay;*Q4=)#{A=;^kLh>m1aa=cwAr46JN3r1=CO<^(Cb5J4j{1 zNN=xGe%4%DmV4{T;)?idmrlW7ON{lN8}zv=#B=fbq0YpR2yv8Mt_ArC!}lXJUecfM5+Xj#lCxtr$qx|rxrgLU{2_Nh zZ1ew8eSnHR-gEwkA)tO6xBjGLjD}a#-#DK+J;KuP8ZUqs^L@UaC;Je~l;6m6d z6y4Fwqp$H>H78iymOV24dMQy?N87eNlEhjO84{kO8uq}#oe>XqT%I`VRn+I4MIex? zT=OLRK!!#3=#HQpkO}e10M-wsBD9>VZ(Ebv%8_g7a?cne8j(0?WdH^$?! zQ0&~Le29(?FM*YYT;_jY9QKAUIIp^z-78(;+=y{G?iZ9`^|6h04_EB=5uFd5nK zk19A_@V6&;ah@*Uh6|mmDtU|}>8ehhvwBwbV@aLXs-Hze+L$%=T$zK0P1N#X8ow@Y zr_npc2)ZC$EPlEQznc@(@zTc^?qm(b*8W)S!Pf}XzslQtDX;Pw2j@}EX_(3GVBNv4 zhs$wRrBw%Kze@@C&wn_Vy{M9vCA>KP<^t$e*r@bSPam`lmr0%5`4>F{EC(uWF!&Z4 zE+mIfYIa>NQ@J9^WDLSWh0Q#%687Y>ZMQ`H3?@tR=cTj1>zz&qX2q-|E18j6884TS=5bhHggW0l6 zGP0PQm5G@yl41xF0kv3Fvh?{yw|*_!P+~US63N4M%!lqeBE;hFNPv@MK$%YhYz7p0 z12WCb@Hk%|sh8N|ki_d*BXat4wPI$*va^V5<#>+2broN|*WgVq-*K;MapDSlwg&yk za&gSE-Tn+B0h@jVkt-bfm97wIbsU37HSM!IR&YR{l^ts1bkIZu0_KkY1Hot$2nig_ ztyR-@9&e?|@2)p~!XVl|+RU#b^?15wl9?5Ex_Oga*yp@%U-VM&=I(v!VUvf|-kR@wDyg@zurqF=jg3z62Yq?HsMc zWtJ%)QyUgtVn$y_m{KLs@rwEe=GY8=lvoC>(cC(HU9 z?_SiYb%wOZASg7&)rCnW@(qPT)aoigAAQX2B+NWAcT)<&}~d7pgc4O*)MqI^V%q z_PTpFQ?EUL%n~s1x#*6aTii-JM69CG_sv#S+>HS*(MxbHw`PrB9YnNHXT4Xq<5Esd z7?r=D){{)*;m;5I+v7%(ef-7l+`TyZI-ziJka;`4OZ&xWUw+A*bE_*MQB^TjIZfrzv(mIiMBndJ&dlwcUtT{VL^ zrk2gA$;`}8u3Mao-(>rs?rwarA!WCYUlXW%dQvh^=lSmBZGGB-)Jk%+#>GI+9zo|8&HKsh1E<@w9fL?-)swCd={6=ez3Lee9WlU8? zMR90S5%!5H-k`nV>E=f3M)#0@T8F|JRtSP6XUh;8Ro*?_^Qh#pO3y-P&MR5$mAHD? z=|aamG4rcCZGkETvzc8f#%VW9h}c0|b*)spIJLSa;CE&gDqkv5MnG3Q%42)HtAnMi zYoNcMlEaRrQ}P4k^BWP~atnF0Z>;>}iG;Ov5zzXJa1HCxqTSi1rxSgw; z%dAa@@qtxj>v0xh6jzx=kQ!;)iNy16hz~t|MyoEz)f`N!7w+D1vulQFiGRPIYoPi_ zTsNC#N{BY z>-~&xIE_zLDWb!%=lgT|i`_FsG%8n}j?BAMnEUhW3ffLr%yMSP><2jnWBpKWv_egS=XZ~DOY zKw7d)xl!WBa#aMdq0URm7t-&r;yN&pDs_C-$;-0FQ6teDVay_|UvnE^x$f03=X4cJ zaw_)^$J1^aU=Ht^&Lt3U-5pK_az|k8AVFCKKR|>|e3JXvMGAT5H`g|UNV{@!_l+S% z-OD*ZSxHGUZ_yC{AIZ;k6CSN!v3NtH%Rb~j=}cf`4dCu5w;QN4>BQzZ=pZ1mG5ol) zIV$jEcQ(>)IWLi{fgnJ^y^w$JIRTS(X3@ZV&e;8}swD;^p&?@rUJan`o6BGovLCey zLF|fr-7F=73bpm=5GCmQ)g4opDih+ZZX*$=osc45*2&l3oeDsQ{&EjPTH%Y+i$tGy zh?qSXK1Ola7Z!PV6Co+Ii4N|A5w-JEftrAm?oW4#t_#T^6Mb?#SKUiRKA13HKt7ibANvZx&Jmr3?`WZaU_>VM57`zTh8EgZ^9 z*$D>5N{$_!oFH>IW03WmKEK(IQu9x-v1M40`Vi^_eMg~}a*u9UX#=hDCu#M8o#_H6 zQ5M(kCA)?0l#Hd3oE+!eAAgb_dJD&~yl6%JF-G`DAmf;B5wqs6CuZ^^!-L^?uj_^~ zTZ@3cQyb@|w93h#cK;GgS_^tyU*6(ET8@mIb&rhYb%1b(=Nl3dI%27bM_p=)sMCkE zle+TnG_phy`xDVunU;R+awgQ+?2-{*8pzJmGeyD%QvXD@E3U9iXWciNet%6i@IGTz zXbWtE?^mQMuHK>;A+~)^UZ!&^BhYqb(kI7dF&leSPWZeV=W>CzRcZ@PCok2C3IFL2 zh63HwgNXaA!U15M2wip9kT7CZI(!kq1mo;z>e?&;l&@=lr*u@WcG`A-t`CTv@Y!YG z{wbHJk9ec*K4>P}CbRe9;X4bw8EFG+yZUOYon#%h#@{8{prQrOYU`gL#wbL$ge3!}H-=%v!^wK#e@KP0mU# z#89;*zf{gL5YXc5D4f236nXMPi!EUs=!a*)+qQgQF)c2o7~L76E*!mfF73876^@MY zPG^B#yUeTTHP?lnG^z5z6_Y~7YYOE9MSkk;!!GYW#AfWL!V&Hahn zJ=ACNS9(6iq^?@`J@Jdr)J`y*oZ%cUoYrl#J@1!BtuuYZtw$m{ry;z0`a`_X{(6MZr5I0iOEw2q7J_^!K_^5@?$hAa1`ogRP$_H+06eUmN zpGm{)a*j)QI5*el$lh*!v_F^dY@%`>KqmPskZZ_+@uDW9h}(AaX1gBsL_XlQLK=NX; zrsk}j5Ef**?{699J9c}4^8Eq+i{k_Zw5TXbqk&H{?R(+_B@Lkx(SuVxCv7r;W3O~$ z`n2{2&tG8`BHMALvnYi$f=isozR^)cI|Q1u4nJoiG-WZo0TOTPE^|5AOxXBUhn3dR z3g@P3#H>c$|Ip=7P7N}F`h6LX9Xa)_lCOPO&=}Z+wwk71mp0WWV!!D!dRU4^;xH^o z&Qcl{zI>;kzH_MLxT3jw-8xU#)3VvKLt}nF?j}34zN%9G-p)u4RmJ?r zLk&#Zc~T=*dEQtD_vw7sOs5)5b&Es?O)IX&dq!nal&(|P@9;8|3fMz7L6V=CHKk8S z{GRQiBCRaBLM&l4jSsQ9br{mbq_3lgh$@D|=Tc%=PnwUZ^t0`n)0BGeofqSg+kc_` zz7kCbv%!cj^C#rxSYG|#oNd)9LrfEJN1yK??nt>#lyp$dJi%3zM-1eQ8sW{pM7-re zM@$^EGy-j!uI(-{nv)2sXmClzd#dtl9%G0~jdRtK21S&f&fr2RFvbk#wO-)uM8BQu zko};OLz{cbvIA`$KwJ|b?%rU+wasXFV zv~A8T78f>fh97Sl=y(=)bygDXsJzs(Q7fOJi>elDbJ$snfUGFSyFA;+R#FpNymK30 z)eo;0DjZva|P24ZNHj|T{9y(g9~J~mvUPz!6VqN zzXSN4gvF4+lW%^eABOiMwdLy`a6Ibs(?67sBzbmyU&5vhvw3du=WWzpm&TZ9?74sc zexl2SHMA!%u3w*U9C|A#RLuOcC(y9BR6*aJ)FcH{z{i z04`v{!!7%gJ*!w?=8V+k+mWFTB4s}Qbr2d39H~1qv>hoHfL7W({J>0X-TN3K$!&Ao zqiw#xm0gzI;Mi}S;hWDiPCXQ!of5*-F|d-b4#wMf$>pA@0DitONst`#Uv^Y(9+({_ zS;qy~_U-mGW6#lH&XGH88{XR?G&&TG9a$-g*xpmyEDS~B$`BPZGdDM7D4+d?pF`*z zmzU_lz&&)F=#zbF<52j?f9Np$na+~BO%Q^Fm(3+4sJ3Xic>6%$FZH7b|8{7)bXVPe zld6L>4Ud&q+s5gU*kU+C5fR6;{#2RFR9QRA@BAk(=*cZQgqh8imdmq@k0vkMEd{uQ zc8)uA+UuA%lKYGE26OZ%yE8D_gR}CPXeP^Jv#Y#CZ78~3zkpYDz`433y(@C83Sx2l z9cg`gTh`%4gwVuQm<<)`q44-invxGKPxOEM>ODI9NvBOgvKBbNpIDBe>5g!GQ87=$ zl%Tq6TCu`j_VexK>=;H?a>|ixtU1k3*2`AwWfBAhDp{7D*j1bg=953Ra0!BAJ1zO5 z%7MOlcPe(`2JGs9KE7vdt-jcnpDgt}ha80Yd-T}78O|JSCY;6&SKjZj;4VpfyztaC zH*I8>Vw8norLo>&{k7cnt^r9>p{)xCGcW40b?<0gJtVrblR~7&=`&WE_4G5O108ee zQ_r8=W{kI13L$-h$7a??v#oeN?&J44e{P+Kg3j>HaXT@MTU?6Ze#USy_QaD8Z7kTW z6!rI5g6nF^dtQH*x$$YM!`7f-6SkD`ys`ItWlee?N@;OxeNCc`bs?PLz%VUa6>#zD6bpDe{?68nN&JGKJ6%p>iY4Nq;_ZH>fssI1j1xyh5=( z%>}$%Jtk4od=BoBglGjGo+DS>M--lR_jTFzXw~Gg98%oOn1C}mqUSe6;q}aMr%Hr{ zSBA1@g8-N@`EtHaLxAu>M3v3~(W8eEYb;U5gz2}Up2ycFOW7<3v-Dg`&JVJ5W?yl5 zmmEV7yvnLS{;H3GuBXcM)U@kCkI9FZ?5~PlsFsgMfxb(FTF28ri%ftxp+c`CmNL?M zr~ax35zX4Tb;NeOI^X=s%>p_8(O}{Z?be)PB=~b(UG<~KrL&{o6?c!n*OmD;#OBJq z>5`GMX2f-p^x1sG*{v00lI%RnwUqN;AhuB*y(XelGuAPzwTjN|45poS=^TG{v*O{! z3z>SeZcfYLCL^k>>|4AQ!jDuoRufL?E`KVm-R9}>Fl`t%+n5%Wb9=0km^c%+7H(0d zK4o&a732)Av9Y#8p%W!w{suW#=Tu90Z1($dbw;ytTlCGUhwfqB8L8&X>=1w4U|RGf zBPk}!^stUt@9^n`4L%kM>};#Q^bwSfMg%hH3^DMAj zOoz++c1C;{u)3}L)r(JlM;{#UHYgz z41A180Ztc`Vjz_2OD>+o)f$IW0?B!s%E!@7-tTWBVu$vuezn-}!CI z3Xtbk#rWTsZx+TVKSj zRHV;VY!3<@?D8wB78*QmdqF@uji%`4s8A*AYm58fEAJ1egPr~HX2+G98ZBt(-R zqn}Z~wYh#SB&CzH?$Uz0rI7gZRo>SUBU5srcd!+=%o2n!1he=j_=$VE@K?Dpi(lMi0 z56`QVZ`FNo5P$w2=fPxCLJLF1(TC5n54bnbG>-aIEaq=0i|}FLzM}edMC{DyFmBHc zykBVlt;Sj$=MlliQ5!+N);E^)`p`F~$>nnaJN||?$uq$CR8N~>P%PvwTwp4!u7-?Z zLyrwLhICkKL3JX{w?a_&!@Lm(+3}jSzVMHe>YDkR|5MBe>O$>yh88xy9{OknVM(w7 zg~&waBY32(=0*4qP}>{CSODiCmS808NIeh>YfB=_HRjM zN#!~@u-m%;TxD^3jMbd@ZH>deN}=&8i%yea{_)OA^cKhI_WO-5=dhYl1vlBdmINa! zM^+EheB?%A)}dwZy?|5wXh_;W9Um+EN8(8w#$InYCYe8zHp``8l9)F}xNigQ`=sWJ zK2+1(^A;Vgzxky_JIjj0T`-CHMiLpRUeYsBde=ZV&#so2isD|ZtaCxsb&9Waqa{ns2R<{20T|h4e&ZzTN`s2kF zCo^RcUzOPOyb!g7LlM>s{&Rj%|}X^OVX zjK*0$L#6}EelV=?=QjtS=rTQt@iGvAZQrdhhU1q%Ajbvy^wYN0JmuZ13djm>k!p|$FUB!d-6GlGxCmi4uY0YRa#ujvDhtNM}p=jQg(D5w9!Rd8)l^cEZ5epbK z3xn3Td;>myEXh18(rFOHPNqb3u#nWDcB^b5kks$dWiFQ%Dz;NpV!-n{Q> zW36AT7EHh+bLDUo%6#>=<{x{7H;dQUv{gslZ~tN36sR}<-jbe$B38AW<$u4N^=Kb< z+idNA-mtDu_KI2~NSyKEtP|3EwCrs1+PX8iP|7M;!>kp1;6iRUW%Gs1w2nxnf=2K7 z7fJesdv3C<9E2>%1ojhZ!1kLK4pjX{5;i%Y#SHH}vqy>a>%jteEW%W#{6Cg<)eBg+ zs2R%rn%t_ZUpsK9-k3;?Xl}aCNBtt+U@G|DK~?Dz$MIY)ZCWpdU#H%4(+@OdpX@g9 zJFc0x=`tJjALZw-dB)~zcUI+73$rAx%VZ^!Q+DkyW!ymiJ_<=l%*Gk72N?O{?Smg;O~X z7Jjwr4gJM}0jDRtc{+JqC+YlgqPmTS#T+7E$QM5}T5u#+5o6@t1DNM<#X8&|gw^rB zt`X<)D}AYUBU83^jB=Gj{P4%~Q%m(9g8KM`1H<;Q@gmqpyK5O#{j2RP{)PTCy^mRPa=!O60wd6H4o{v7J~#3vghXs6$#6LB zh@Y7v;nH?bH|_d%cMmcZ3iT|5V(M3y{KU0uT*k1t%KI-wlf)!J(bM_ozpr}x`WDnh zS5sZ212C(oOQ)P*P96}&bWn|#1V0@H5^!fC&=-8XusUXWF(YLYS+id}KNL%SGTq@8 zRnH9YQSzRo8Ez}-em-7+w#ou4JJ@R_o;T!`{d!z&`gF-Rw=fDvq}7$-d=%Wj`k`%E zQmb;@>!QxTwE(CNfBUD=+~}`u4eQq@>-?>}rJ|n07PMvRIN0U=H~YOSWYA<3iwY5; z>UdK_7>AaJMTKjis49NKk3&f}=v^g1SW8bECX^7pCqvSENFPDW4~97@11 zo}Rt)TMVJh;R8;juMODP51oeH-f{ep{e889x~j4@{p>W&d7r$%pw6nx>tD>MRW>xs zwN*z)ME31R#XQ>Cm6%?%iQ9n{&1c@)2?>utEkL}8+ky`%$Qy7P67t zYFrHF=U>$809nnR><3eMNyP!lyUGu>ZhcD;n#ZwfNC>+65DzUkfB%&#XX}JijmJ#UEr#?H9I#JJ!F47l74YHE9ASQb14_AJNk<vi!hF?){I8aw?zfT4Qvmx7s1lJ0O*J(Nk$U^*%YQ{ zh}ZW|6QL@%?%&tn+EK_4uJIOiA%gg6D_`*qXmTnAG8gXY%6HyGen!9N6}1pGaS5ZY zx~%p^L#P)lg|*$+ca|hxBnIBA{fQl{P{`4YrO^2GB-@VTA2h+v0*z$~ibCG3 z8>LqMiz-y702vj{T^pnPL@;*PEv1ITkt*w_fuEu&+yz5K+WWiJRyZBKwGoeIC+PTx zfJuApu@o&Ryz)WET=1*m{N_SDpH+I+DGa@HJ0yFS#7%E^J@GB7@kZV%Lf(v zj9mJcB@t4T`0hptpLg^P`&pD;~81+HZk#_J&nXH%dBOjQ2}d#eWthnoZ8}@!E2-@WuoyDRm(d|FS6u| z`=s`@x7K`{OJduXhV%;CuWy-74j-IjmeB63f)=6`>x0(L{^+gJnhC?5iT%*gMmy)K zRRH<3W2O8xw;W8F4_=HUNqzQQmMos@X460V-r7Ah75>b(&1ON^r{~3zQC59nsvE7^ zqHwWWz*Spy^Jc?3777@83~x)rh~PRO?L~71yx7-MJaPmi$wcI6`!x7!mhjZ~V&RYL zoyqy%u52ggIw^&5w7^;RqPm6&D(^Z!HZ%&HCqb@!;h>^T>5b;&mdLyN=G7uHg z9WYkibYnP)bs$y+i~6y?yC&C_z~&=_sP2d(W%D=gy)rk;B$5lneA`(~c=a#`-wbjG z$Mz?%-Pf!^fMC6}^ICf@x0>;a;}X9s3ho&3WCS-376%Cf+yxxb=h@n}dqUyJ=B#?@ zn8DduZI)o|ddM*-I1a`v{JSLlv=_-ZCsUmmn#gkF3y=}q{k9KVzy0txZ zo>!%%vlcL@FvKVbirLynZce4brsLrpGX9inCh-cJVUe^5hkoS$jw~_)`ce{W;z2Chq3<)kb!FI!X%?`>PYBfaQpfX1Co%lGr~bT?3YOSIX#CwzS*Ew`R^+LAdowOe&sLbu8< z<#ro4SveZM%~K+ME}+81GbO6>b<#|&?bA+uY`a)o~rfac|zXsa8WiHZ#qj zLvXF^p)DnVA2V_v^OvNLiX;^UXA1rGG32w&on_W(6`Gd-Gl>`EeRJ*|Io~|qSXJ+U zlp}7D6>0ltJOkCQRoGkQLiz%LJ@|~0y-!ZQ#e#RP9S--nE;3WTZD?&v}G!OWq|HTBp(zI>iSMLGi>S4}AL|_iA%(}`1qwyAaIk7n?nS0H8Y(S=d zt=0@B(4C~9Z|QW0t)Qf6S3-YFuqmdpSv-`^U}AbKA>$t$n|W2=7i(c6oh;lK=!3tF{R?K%T;{xYzQ zsj=pgwrJS-y;AL9s=L6e#n^aR5QwG7o`HUGj4X!-ca0c5jWap4&$x?>$w+)Kvfhq-c5)TytiXbn|nI)X3yZi9!O&GpK z-(nOF%)z;^4LJReyu`~$;Z+m&LH)&sKE9HKJv z-do~JzXZ((`P$j6D;%C`DF;5lW4eOj^YZK*!nS77E0PF+e4CgH+9K$aDBM@gr_ECb zIz2d*q&2c$M?rjO37XUdCjRWRpi$S*FH-5euG;jU7~;^x;7luyu0mIRjZNKi^^*iy{>42a#On{)`G z;BZq@zW*hR0Jv@V@dt)bG=~oxQH+iO4T5DIZRqF^o?ODY15Xvw8&k_PZkyy!#ucVYGu%F5#)M} zgGZap3k1S2qF-Qty<9D#M~@ykbvV7UBVEuaA(_fyt3IZs&XDKtU)5BnJ6DQsAZR} zQ+a>t`8gE4znWxOuxb2&h(mee^Ka&@%w~CAmfyIYig5Ll{FeeAH*Q-u8y)>*`%w5O z_KM-boL$A>_o??N_^FrN@c(eS4u{hm1T|;IWjI9k_G&-_yBSqJkMMLTYU$PM@FIiUfKYG< zApw$5Q*PxMLV|h4q}u+3V5Gj2)q=2|8JZe=g0NTMxBnJ?gB($1mjn3>5sG(K*5n+9_(>@FaSU8DNz(-wmUzED8#8mV(@p)bP; za6vhNYDg!*fY_>w{09H12->87m*-6IWBS1eM_w11hKTv~0j>HwmXl!+6IADweu89z zKEy$1c&r>4c1+(ZBvfPv!8|@)X~KR&3x)vmd5hB@dMN15Nir_5@oW5tyVekF4GB3t zT!7Vx1Y%0Q@2(+e1RksHj)(nO3qWHC?07?J*d!}fJN{P=m?fD@L_reC8D z!VJh)?$DP5(30JP$b)MJ2$})1fgb38{eKQ~2l`@SHB@ELKFjFF}l@MTHyTB+JPK?I;NrV1)HQps; znvR84c4^|-L9hgpKzh^4U8N1~LbPf)5a!-AIKf2QjI;%vO@NGbV-?V;1nn$7=qKnM zP(l1iN^(K~}8p{a?NGG1j*GbE#zijo=KOkUP`UW_!k}7gXwReBmDxfq~(#@(j z;0(Qhz9c9Bu4o21=wfGVovNT&IcDS6OS6hWP;NE^a!pRt_f?wj_H%eoJz@A1WV^Fi z?*po3m*TU2W9rxHmm68g8y4gc5^n`-ZQ%D6SqYt*Ut%(TUn6h)O_eU$99Umo zPL25RGJ^ly&&&#iXI-uKZVO-Q7lIDjx44Hj(gB^-{qZ35%Ggcpb+8hK(p;E<*>_B5 zF(qvLkiKHX<&t&y7jESoR*6+opN7(3p^nc|9AGqC>@M?PG+{X<-)Q*UIrw8JQ0{0= zk)M6|^1Huxf6x`>ok9sJS}1bq1cHzXY>fVfbmkSCcvWP}7WbW{Lwra6uA4_PIIn5* zDe+}FwA*Cz$q|}84Z>(N*7Aaan~!p2)0fPs<^?Ez!aoFFlyuNZrcA4*__1Xtk6B8A zZ)D0faLC7x(o0+IpZvUoD+w_YOa76zKE}~b7XT_Ux3}i2gs$1mSAgVd*9zU_%K1f^ zOGlMKBZ#-Qwi66{L4qf9?CUW_&n!iQK8&E>Ccw6PIO5AJcq>wJ>{V0zM$+TA^Y-IN z5A4@}R!&CcRH-3pOK-P~L787&l!FCfcItw8HhpHsKXi~1v-bkOb<25s#sBKyL1y4a zrxPeWTmm9{C4EdEvob;se=YHX1JdJ&6bS6SuX=tO6cm=uCk*vanXchT@0*u{S(CpZ z%qBkbhL@RXQS0_r1gmL}21cJB5b2TNy@42m5zs9&_FU+Tq16Pb6&>rni4DR1$fNn^ zxvd{R#-S%?y1N;HTTq%~+SsJcUAi=`rcVAM?B@cXNi`#91yY$uO z)h$jMmW#)~I za;`HrJ~Y@tMrjPvz&e{u5G_?=t&KaYd9t_w!A^k;t|0DTx~(Ar-TmN*SFCirohPsg zy+3B02;cWU__I@s$y-w!O%d>T3=;QhS_ zDClaN1j!mn{O2GbB>J*vm`d5USGJ3f>Y0yAa(k~fiGcY%P*`vLd1;spa5^N)OSnx~ zEINQ(sV`ry<2!Q1m~B3D8` zk+h2+TbolZ*@5QPx|H;dbZe-@bm2NuJ>8%}z*hBfpiqE!hxL|u9q{*hTI2$?eq(#3 zEX!Z?<7_D=d#EN|a%xk!NRa5*RvtgCKIZ;WkYDIfEUo(X&?Zfg!nV@ynL)KGZa}^CnmTiHNVYd(&bm zTyzIUAVB4Dy;1=3WBi=;<_WtSv>nb$K5_m)HY{**QN$_N#8cTEsk}N8=S6I?*gTGC z3H-XgzFwApS3$YP5c#=6X!DU5`n=wX^eE-pGuaJwyCOr*AoA$iCKH#G!Po&?3twF4 z+vpKrgTyk2xz}W0h?PqcyZ6haXU^Kxoov$F_qInn|98x`o1%F&54Gt;Z z>?fp@fblNR4oJ(&&Wy)hG1Hs7`{Wq5l}kZ4?YjRZG`k4?%OEUxD z1!Xm6m#72!$vRfz#_lzga*MJk#=}c(O)B?!G#Y`FQNmp#NM5OY^5iV#pNS<5U|1~+ z^ag*Fro_1(eFA8qGE;<;U^q{M42)s2A@wn%AQ*ZwNm7z&$nO8E6sHd{vg3hL95~th zFHi$)X=s?HG~sy1--i?b3)EUbD=nfqrwAzQn4gzVJOXTlVKj_POom{c$1W`{8UTke z%wFRr)m@+ggz-aeLSqd~CmC>(K=A;Y44_9tA{pN`V-K&NK(}`gkeO$9he6zXX>e)5V_baLBKNs~nW3K>IAP*+`1_Yr%TwwIMI5Mo_QAqX!^FK{FKUj1Ue=I~!=Wt%x)8_%nE z9q8AUPVqBnrPX;Z6hAq`Pz)~6=}i{N9WCgU!LmkV4-|d`y?!FZ_O=Fi(3qH4Famgv zgJ^LZO$$YTIR0SIy=>KZV{3c+I#EC61laQIRK$`&>Q=k*YFzcr(5C`%`vMVE{kPxl zyeVt91UL^}EiFL}?@qd0cKC9JLBuAKNoSx>sit{%I*Q+qyHlwKWk-&PJ^c0fyzX~R z#)$pm5^V8lDj7F-n#lkQlky$&Y2ts0(1M8V6ln<>`B%0-<52 zxu*m{$d5#ztMpd|A0*9FoC&xdE{o~zPCvMXb5K}u4$E3ms5<#AnjcNo)!yF~SEP3xGiXJO#!SR0OeJ1%#WGA<)SF`UI_wc=W z$!4<=;&<&}%uY4akt@J~1yR%&;|G#J>WgkCPY|a1p*EB^TOFxT1Dkabic{@j{wzr) zSMA~6^3YkyFJEaXIM{ne=&__8=3dI3R7Tk^t($R|xGJ?@IVja?+G>#{B}DMMCUm^A zd+K8Bc!tsO{7|@7=4W8TraKr@cR=x^K?K}YZu-i1zaNnMV=BtA25of?wW5~@R-}ex zR=o{?wmAuTB4>q@!yq&GsNVS#lErn@4&l)xbzbpu7)&8J(3_1W!0lXs0;+O9;d8gG zMN6-&&&p?m@qzd0t2Eq77Wj_&6?2K)8Ie}~!Dz++361@Ac2yT%(3p&)=yeoWzmXPl zw+YITmEZ(B=9K=KiM%F;r@Csa-{!(B*N0y0?0$E>a0yUre1G4kqv)z^P_80zXNWo7 zDU7|sNICWMzC9PU*!<^u1(YBzNM}WMMNU&&zPbmM6;$3jyOQR5J1Q@R-iefh;_%#}{#h2-WS@i(8b8n?2M zQ1MHlg(DZYwMjkyX#*m}R*Rp~b!a5tb7%@Di|lRO?>!N5b9#F0<509GP}ExjjD?=3 zVUE1aMQs@mW=hni-wnKqgBA%;9rT4>l=vfzpd%IM0A`-7X@ThL)>Y!1T#w#3b;Q8C z#6+!IyCjdEQ(Nzk4i64DA8w^K>0s8m5G}lnUM>cHwY$6a1L`3LqOP+)0jqwahs&$w zP3EQ-r9tmvqh7eRX*#TNsJi}%ZHnslLqlzKZJIFDw!lcEMLs_CT{ut0LD`dX20M4r zzcaEffs-#5Qz6*nzQvQX?OyGU;MEmwnVX6fchVm2p)!iAm58OgXV4vu9^~W;7^Nfl zy?fhWEGwUha}u_I(;$Fg_!Lnks6L54w{Of4(0p2uk4t}Yg4uvduYmf*31VVMBR~UW zz2v&zXCB--y5NhBZfbwZVuY4mNnxdVBw%1x?^U$H!sasXuof_#MwjD&-L-$*GL-8o zNkQxlk?qfLvxhzeel;yd|1p6r`0k&#Ww?`GILEqo(h~7n&qYK*R5U}@&%=af_p#a+ zRJlJ-_@)d{{;LmC@A=UC1JfjzKe0K4MfN!W4=(XQY9(pBETxRaXi$J*gyOoD{}JV| zBPj0_uosxOuQJ%W*fy@3UA`^bI zuK(GD{zSUizy-etAF3a3`6r0#py#N-$RNqotM5sWlx*1g`g$f@<{7yDKj2b?amock z;*k$5c*8e2e4saB7XY}MeRc71f(*FkOXA~D!s9Z4VO$glQHAEpM@Yt_f}{>d0s3uM zh>#+in^X{wV-$DO)b0h;fnncai5I1^rU%@Ptu>L4DDrlReInwy2<8||&| z$}ixW*?d|O0$;~B*^>Zb9jWtL@^G%AtG(^6h>2llLt=1@Y=>V$VlF$*>@&=-v)QWW z9;r;#BOuHV;%{O`J>-9z!c pGhDNi3gtWJFOyw;qxbdb#6LdV3u009yeGgv4HaEwtm3VQ{{xE~?C1ah literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_1.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1b6b6a1d06526d633e95da67501b98483a1f2745 GIT binary patch literal 1096276 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%0AiUu%5!Qu;)&^8{Wc5fYY`0YE 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

  2. !=Sk{1ve71brzmH7aeylK4s5Y4_0l z&5I5I&VIYoS4DUURC_WnK>`0_Dvn*}6i8@(etT%w=|MSfA-bHJxnYM{+e`VeKfqj3 z)*3c2=r9g+T-$3?^3`LLL8jORW{R(s&HxF*BY<+-0D74&GRWV5DK~04D7hm+^dvz~%rk_>%_oA2SN`5pVu|8N1g zR%dU4%_PgR<=_sWzy4eVe*L9#gWci5eTg-cn+70y7TCpBP-M$Fgho^da&tpKp5U{nR-!PmLYcNOW=9ItmnSbQvF!hDgP$J0|obAIZT|xMt`!51(s}} z|JCZbwjNLe+PWPMN#AOn#?l@|7-xR%X=8f?_wBfFN9`8c{XF{&G1m9-KDx?t!AQb- z(Ru5dG}O5E9o~&9Q02UW3kL*kmi& z9hOE5^AXO$rJq{`8hA{Xzwp!ps}4Jx*$+N4``KNL1dq25V5GM zDMZ+wu*7jFugqLtV!TF*^8T02n1HRfgueUcrjp84eSr#lUsC5nJH zs{YA3T!|1~^$6&1J-R4d*qywk7}7dcI=_>PDDbFW^qdOT=|0i+PNT#tS;!|(N*-Ql zI#>m-!4I0eOS#VBYwjIIOCol$5@&>qHs4vVD~^?Dr!j4PIifdd}Pwxs%i1qlo6 z3GDvF$4F0uF~cku@RrSux+a8;H3sqo=BGrbO_zG#f09nwn(|KU4m{Gnsb98Q+BdK| zFVLL&)?h8K>R0M8E zo`j}kig|q9n|gQn{<^5B4v2eK19w*AL5NRV9>xp+uEQO@`(Axn2vBd|+ad*Iqh}cD zj@M=ysecgf7=aoYHTtgE+==LQY5M`4Pcl-wPjJ7ggw7&ivqO`?AuT>{$FWb^A#JgN zV+5aeyXep*A56IQ1kme5ol82vUUhC_4L%B1EIA+6C9iP-aZt8Zd&)m%JZ`{LFUFMj z?`~YCRE{&YuMYp0tx4IW-wpVlf!;wxsYqv*j7#I*oMUCV$J}fF;o|6-Op}JNTrUhj zB_BbvX66(1Ztm8-t0mjev9DR?m6uu5#`LPp!(X0SRpG-pPun2NzI{U@8XtoCT9?z( zduQXo5ET!2a^HnyD$~u}c{QZ3W7r&#DWQ!%Nqyt zQO?<448Kjukxeg8@W+)Q^C7XWEI;LhQVBpJjo_Q znxM*mz4RlQk(@U6zFtMBSXR0FB9=+a7w2C%Eq;)#dNF-mE($#k+X_H!@yU!sxpn+C@=yRTU6%%E4l zPy2w*n*j!POrYHt)6w9t4E@FVpslU$ZxNdtzx_7{!sYW+TcWZ#T<+wh%T^@V9R?Jy z9y%CVhE5%G$qy)R+`AcM*1sdM96a(~6=eWuEVLg3c(As@+fGIVZlTbIl`}WimWrik z>U{ERR)&XODP>NfvmxD4TXx-S8Y)t%6SGHtJp|D+U=`jg8MLjTi9e`V^EqV~Ho$#- zI4~QKK%SZV&C;`81ggd2yM`lM3a^2Sh4JUA&?Af14VdoBzi4oMQD5RU4Q1(2J;%|q zhsY@2Lwu-87m&-XrYXM3-~1&o@7xW!E)HuU7G0j2o3lah7|{cijOy>*_Isw^sjm4xZ1cgXvJ+T>}WLE(fBuH~l_Dz!AT z6*{2hk;&W3L&;1xwhN>w`TBo@PychPIS9p-QRSQUm(Rj9ChKHEg+_mP0um0JuiIqJ z{lz9y)=~&I6H>PqQ7u_;L4>a)v}Q!$Pj9MxcTH~eyeQr??VMop(Q?DLqRXQ@t=xD; zw+4`heJQiif*e|gsI zh$upNw0z34aYJ*_o6}eLI@RJ3V;8WRbbI1XTir?D!Rja zb_`HtgOp~`ppCMf(_DxFKj#)h%FYI( z>r?0M##~_t+1fzoz&UsFly8&t*kO&ce_1$?p^PvSoI*-3%f*hJ{;hJj5!)XfHCK(W50zL;v0t}akSB+qZoEFfxBlra$h5jXBy833Re5!&?@i#A#zFKxL zoq3=iwvlV6_Ash~tayI3!dQf5+V}mz!IsYEE+cE9HbU}eh)gs4pQlg;7YbV~ka!@Z z)3n?8`PC8{fEawCT!(ghmT1jAf1=Ky*RTFJH^m$S&6Cb;D|vV2!8|eLC`l{WY$)%I z1)Z*FjWF?XdFiHIVw79T+bh`#D1_pDz$}qpJr9N$WQR6By%n<46O66JO{g=U4TWP60F zy@(xx$~ukyq~r5h87z#}Op~}~VH6&mY~7ceouFU#bYOZ2`zUOK1lBX9xsvpw<4(wZ zQ|bWvVHC%EP9<&7jTds6GQA2?^HT@tpoJvzLJUJOea2cu>brBom)~<{UIK%5rO%&A z&z!hg8B10&LiOjX8{IH0ONDlizZRBto4l+PXl}*RUgI&xzdTl-k`d%NLF3Y-0Lf}1 z?+9@OtV!#_eS2u2>BM}F>iKR_qlZ9~@iQXvt3TrfKs~->>sTWCDO)2=5$%jruJ&;L z8*(P(R$vPJz%ECD7(>BA9#D|}jijmI0FdNEGd?GYm$HgXp$nF!2&6>bO7cEWq z0mRxgOs_pA*bL}aM8-^&9y^X6Y~Pp*p$!jMEg6`*e-sxql0;kJIPwFT@!SQ2-FDjdb5Z*7DiOfnWsQe<^sLf(BLAFmKM91DGzUPvbGPpJxg3zYWz$WY61YJasV(X+ZGpa@aIlK{k zy31iw5)2Ad0_*7*AEBy?_~KCTpaTv;K1wEZ;ZxU?N=fD;S>O?Jz9gB?7~Kt#$tfYW z0lm5vvj2;V=+p6`8K@<;o*0h-BWL&yI97vtl_zc&GCU{KIk==p9Ago24}}uj_YWN- z-s3i+BzGJYCaBejwDi-#9~P}H%(j=0^)ky&TZR{h@D!b14OW@<4@XoGrMIws#Ip7I zispG_lm{9!zOxNc34ZVzqt!FRVpZ88V%qT781$9we{^FII*L3rRyyoGwEQh;1(%yk zP;5v-Y}EWj2R>Oni(6n#fhch|26Wnzj;p`-Gk!ho3H8Q@3SFI>u5&gPg_w`28`mK9 z7kmBmCViJKq)_E&&2`SUZbHF-PdVB%+UuLAFY?UIuFT|FInO}wS}o>9iW))S{g7)9 zRjAe0`YL!)DOREEd;A<&`V@$Bn!(%Iu%RJ`u+x5p)w0(Jl`$PdhpJGQy5B@MiQo$mSh+|d^ z`w`58ZJ5DNHM)W79N6aETs$0tMV=J<6SDv8Rc&_?)m$%dv-z2NLbqbNYp~Wy0HZ2H zf`3t_8`^_^CL?xbQSv&Rpvk6~Q}Sp*ky6*6Q2tYA-2sts9F}vKE_i~pZZ*@{nSEqT z;X~|vb=)=vIQ;05fm+xTHszRXv4@6bySf>nV(zr#kCZ6QustfI zRV%|wvjYaYOls-!A43HXuUPa})!~VLYntF8DJf6>xD^kI#@KUuMNKcha7KQ4#riP) z8-I&in0TtmRYqKdLBys{{HyUBNnm*z0z*jOm$hRwb^~bvK-0t=O;=v5EDEghVyB?{85k}VM+jL9^RTEy#E=)X&acJ&*`?XuHJFx*Td-Oa80oJ(GP@mqcf=eKU4ZbjRm%XM>=9Lvby{Q+A zghr3ugD93b%7w9(0r*C4FW!k7s>%K1G3dKP6Gf z=Q*-lYbtyFPxU4#9hZz!2~r2+SpzQrB?-q!Igd3w^Mb7*i?xo(7va0)XA(7T3NYeE z%KWCXQB>g6X%uxknY8o6nt1TUP{`zLjjnYbZOpAyc{iPpQw)%Vl|w>~=~k4L?WIay zHYHz5`Isq7NNR~Z8EDwU6un@541`CMhc`{bp6H~kMy>nN@2yr^`&(>mMPpY^|ZKcZfAtH;NQ zqKvPBaGmghd#alrThA1Pc2aQy%>dE$XI_>5`)h@3G%WJI4D5Z%@HB74!PlHzu!OoKKek^A}B3G!CoW;>VOPtJrP z9jK_Zqkf7R+_wvxEh?J@n(~rXKc32fM%qtjcJ%G8M&9vT zy$TAeyzw))LE;F=h1HWfa_dj0h=ENzSCWC1)8Axqzublc1i-~+x3Gc3c#ET_-Vdin zU#h&j_ct{xaUWA}7)v-~$z&*gpN+Yrdh&fXuvb-unH9LQ-BzDsQ(9j{b14_LlN>Fs@% z`o(n3G20?=t+qK_E3m@Sq8>_em|A(~B{Gkns4fPBTQ!^u@6TX*Tf?YnHw}P9%LgmJ znip)AS~5!w`6WL6`?Q_OXC{z@DypO#N;cF4n*es2wDL?G2VOI{aP9EqKAC%M>+wB99)Im>b4fI>QN_U{+dlt3q3`Y@6>lNHc{VWm0`?(X zL*x|vO~=fK+LIvsZQZ2kn0hXsgD;bF6z)0VkAS9%Z5(5~G?p>KxkmFC@}k|{`hCX= z&^2Tdwf4RALhJXzL(&>^e%edUfsfl8fN*UH0&qWAeP~j}ZYr6mMiLuimKJyC;xK;<>%}^CeXsuL7FyRUUgR zr*-PQu)tL4yAF77mCV7b(=KtiHQA0%6^p2QS?-#N|;*IT&rPKXr^-Sx{*Xcn==MVAh4!(pg=DAF8Qa4lj> zNDx~URJ5bXEG2sl`4!?9H%9xqC2}A_DXen_e^0sT`bSJHVo_fuA^_;LBEU+>u9C}~ z$-PIklK}MUIN+Tsax&0v2LiC13MaDSB3N^ElNm!n_`zTq+is!1l!=OHF@z2YmcPUD)BSxi#ZUCU6 zNzCqH;3uwO+;}PqShlM|v1uxy@u00T_DV4$JximNa|jdC5!7p0>X2z%TnDtp-ExQt@67v4=ZWe#Y{T$G8qCIzO-`g`tn$?MspYZK(Uz z+k|_(zics#zd_9N)m}R?8M6BU==xVf#x%zJTxCP5KR07hqc_H`bgax~{8MK+`<%kUGaaZ+$ndvKXbx;#>!>4*P?1;m2HuF7z9gH>i&MH`S_{sNcw=P#Ap7DTUaJA5}!&z5PO zhyp}NMZd@1x$wi6zjrTpX#A^vK=)}I@XU>vZ<_M9BC@^!G<3Zpdfdm#6SPz`jb=v9 z%rG`(Mz5tyJMjbUmvqN+AFUY`e)_<0VB@6n{xc>hcC)%!Vf@Y?cg8Yu&6+ey#yKat zHGr^m2{hQ_?Xvva^-)zOmG|-AkglMM0KvIs7F*F`Z|3yM+$5r>D}`3a!aMkux8pF>Dq?M}IN4T8O9 zUFt;Q{-+S7={zkWtm(o}UZsU|0290iI0-v$9V#8LLko)){VxTketns_1sVkTmhzJ8(Vs3E zo%$mH2ny!|Q5U){r+{X+0q?DYI>b5AkX0U8P~DR!N_0k%OL<#`_ul?SVwID@7_t}l zNwuB}+Py{t&o_Qw+iWkm@$w|bm%3!^U=J6>r0}QZQ*p9L!i8fjuU%gB5tco-=DYZ> z+T&xx4GQYsFNfG=2iL)3E5E4)_n_04`@Di<-Q9YR88t*iHA0agKv4JtSR*7s&FmCr zC*61M9+{LLAVBIs&ogd0#pGjwWwL7Ib)BVOVUiDcuY<`)9c*gs0UsfnD0NWN0DHNB zm2$9)q*IrgP`-6+Li+5hmp8vS+M`Cl7znc3k3BA$X;G4D^%v#1d9bt^J4SXWp|UI4 zfOjmrVt3D8yH~^MntR8SaCGQ$gjvBy0GXFG(R0ky>%IT4a4$x~$Zn3hA<~1jbcJU2o4etHt^m z-}2?+lVuLn1WiqcMu*neS#(V!k@ur$;vzWzN7|-BFlG!)FavKD_=MPWPpH4?O@q%O z^(<@W0R$4LSuVPE6QZ~qlc=~+&;W*J_bBXyaX{C?>r%S7TaRw|8#ukXA_)aMaME%< zdYLZq**{zW9Th%akyPPU9)EL@wZV?9OD+H$42V46O3%*1ed~I*@U!cE$|3bZaF=Su z-Fl;ivPBf~*k1T1Ob@X21HRZOy()guZLMkr_s<+#32r+KA_UxyuSU4D{5Y{gs;oP+ z3VA+-%*NbrRr=L|3_0AxVgnz?1~%rO5MzMbOp~?eTcca(#aqlqd*c!n>{pa!hFgoL z#~8sL-8?iOBYtv2&0OkE4z~K@>yRV}2kUr9abEpyXm6jubke!n%fC~rSPRs){|q97 zxwh8tkxdc|RS$aHdJ{nN&Ze|`XeczAEf4GQR~w?6qX z>>n7a`$Vyoe<5?6?diJ)3NQWl6CVcl;Ex-!(`GB`^o>ML`5bDNo34iJzTe{ccBssT z+t>6C8`$%=ItoDmv4Ps6?ppwHh2lqlH5k^7^tsOf!TR6s1;w=820)5~B?BBDC&d2v zd(X7|O!Jzbfo;uGxILCZ6riftXGNyds}D5~|5yOhjWlhFnQn2rv2wL{xCKXKWuw!E!n+8p^r_ZnH|^irta$p zCAWs1Z68!LW{v}d`HkXPj$(~sZSMK`gziPIa11?hhY#xbI7IW#T0V6q*6-0DhH);E@BlK-xHFfdu71K-JzAVQk8$w@S|6xIyGUXFet-`|A1*{P|)- zr9*tR2tke23yTl{E=N&YXf08KR4fptb-CdiOin50K$$o^zf^Zenp1sYt4OSlxZl6^ za6H>7Y-3s$eRgI*YN^U$*Bu6ijK5=G?+N5521;!mYKcDBWT5K_q*@!JTbRavI-RcY z3wx>#2J!Vq=}6(Xev%|yENBz=_n)KF{oKL_fH&D!nwYk-19U=T$Kt753_Z|~#Q3&$ zgVkV@DlV%Ah=`QzagTa#f)`%yU?0-g*Vjn`^mn`UoNW{BuqP|t6E9NEGrI?nHtWc- z_+Y5Pah2R710Y^qo=9HJWSbgW%>YdCIpk1f;yxjusL)K-86BX7UFOM%{WPLa5 ze12V0@4S{`abp`;-#-2ZtZQcWD^Q+Oc5Jp|%47_S_Wpat{iwH_`9}!#(Q-4rCt+3k zsgFthnOC8W%d&&k*~;2Ss#Xe;P+bKvq&yZn2zOJNK>N&<>(n{N!`yn}V^#JaYb!1| z3;g8Z|87qc!=jn-*puVWt|+%pQV@=?Rq)=)=nV0p!!h;PxQtIr&35&J0(_wKy$BS;de*MjvnxgI#VuoL7^D)e4Ztj&` zi&YTYAJJAh)_;1=35vP|Mecucp4n&N2y!_7t^Ki?{t~2-F`IAU{PMrT$S;=qB?~>GxWkh@w2l-t!v>1Xf?Da&J_2o?ylAR? zEiW0b4Ky9}6Yz^xU^}*LQL4a3LZAaM>CT6TL=BNXY#k}8sZsBR0y>iU67pcv8Qb28 z;~I!m8dLDwN?Q*NTE6VRTxgU*)u;?z!6%Y(*MMKD=&kH7<(=`E2Y}=f%MmqkMjS_# zzZbOA;85Z&+hc_pCePXVls%n9)V(~6n%$|hDsK3tgDq5`>`e1bm z^5JtG`6_LURcj==E1eOujcWqlD)BNdb;12mi(j&`vI-FV+NcXlhXqP%+$!qSOE&Rq z9G1gX`;jd9!0d>Pq;%=j1MdlhlCWZy<{wn&oMJ(U+f z67Qs=qw~qWxf-I+LTSs(D~a zAF_KFW`_yx27MU^T=ew=-v{gFe2d6m-&xQ#9#by$UBJ@I{ReLb4QW)R;sY}h*b$jn8aW(|3f4kwiKvWml$vAz^bEyAUer#`? z3VE+Bk8L1{YiUcnHy8<%`({e0_wAXyb6gu@(VuztgW_*@`JHj=45Abo?2MW7T49xw z8;-YiMEwR7?nF)O4Vd~paSa=gTaJtcw+~$sNn8Bg`CPVYJii+k$>;dkCE`LFY^%;Z zYzT6s+*^^_rzlx1#^8m7QKUP)n|wJpXsuq z>*o-cy6aJ77YyagD|`eLP=FBg6FUZ*DC`F_7GN7@317>PY%Kbaq0 z5HWo!*XuT|$|%=GmESA-S>4*&I+|$Qw!b~)KS@Rwj=#UwB%5erP_&shLcjV~H;HYX@Ly<4+l)MtH5S?L6D%02fY<&OqXsCJ@)KMnGBNu9SMPJjnyG3h*}CPE%H@Z98REkGg{+IrEx3CG1MjQ1dW=&>k;ISGdL8vlvQ z^8THBgLPI@?|&x?8~^%g6^m0^SivB)KU@?mvEP;WiML9%)(oox+a}~T1h)N}`=ED& zVSt?FCZ*_-g~>;rh$Z2%&*Avj9v-M zjG3&O*KAA*M!wS?CcoO@>A$lrc1xQM1_gy(M{Rtm0=IhVZN9&;%2V(HrVIraLczfv z6=;J))%Ns$*usilm*2fqoNc_jdikf&w%Z@9t+MD)krs4rc(obFqT_Oe9Key(5;DD z(yXiCI?7UXZ>}?+(&t1Dy2^gJ56)-Ic zHi4c7*}aBEQ|F$tas^dB1A2SgZ9hif#nz%QFm}McZnV7&P7S)PkzqP9&T7*nM6I#XqM0@0=zPV<^u0VgyA$KPnwu)rWm4`C3|@;WkzUjan4Mxb zM}(n1dB_Fj^=70eu3wUIPSEFD@c2v)jR2>67z2BHN+=(NJ5{Sydke!YLpbb*&*j3J zXM(9=S#vWlu!Sk+o?zr`^xF2gCvA+aW}8T!DBD#$wHiW94Ug-&^7OXoIAt0TC~4%` zSQ;T#1jcE9+L$)qU*cDofS=pkjOzWNiakI%hj*7e$+u~FH3|>b=d@%xd9G2EhiLBi z8f3o~GVwcso1LvCohLAXf+` zSK82e3~SBylbc&wmz(WH^f|jDWNdzR<4;C>Pd5I0sOJDFs3J%C0t*1Sg&pYivzu9}JH809+F~ zf&GrCxfhDNMWdVyp7|{uX72#n%C<=&XkG!{<_AIFsxnAaA~5)#p5QQ{jX@J1po#8Q zEpHyuvDYf^EBkKFcSRD_aKx&ROR8I2`5$h5sf;#E#rEq`w?D_<=s^W`Jbk#%4;n<- z4?zv#cKit~gf(2|$tqAV!dy#iitT&rf6oVuv7H4~@o8R0&LJ>z8 zGc!-dvdcZt+{G0Pz5Zc@lrK6hMZo&JRy;{i?W}J^yj4_x^5q*(%{M()U?Jvev1UD<=ET9@Y(Hw0+8m1ZwH)rFHb3arka)hk zCw%8R4)ZYhRKV}9;)NbrwBvdAelBLj_UKeECSONsJI3o1L|vphFzJxoXw#*era(l1 zu**QtZV@^s3|pzdfG$x~Ck`IkI5O1M&YW(uQ|eXVh1HG>E5yl3`)}U;YFF zU95R!Kl3g6^b#=T@%Clx-pv0Esw-Z9S`%JOd@Ve$w3aw||4DW=XkiJ29&SbV_WUA{{`7^0xX&ttqOhhY zRX>y+DA2cw58MJE2OhL0K^Gj5PKO7}#Sc0%A--7_;2a2h+y^ZTe}k4^hD_UK`Zr2R z)x5vjyo&?ojW33{l(U0JPY*aXk(B|0Dz-FW`@}4I5Bc26AM1NX$sw zrw|YKA2$Tv!Za-8sa4(JZ7pwcqGDehEJ#D5x<%T-nk_+cAns{xMq3uyI(N?Gg*IhmusoTzsCC|~q6Y#^h-w#OLj z+U15KyGC=zg!?j`tme|MMTLR=j9_aI>{vxR48X6%5bx~B(Zt{m5!63CgSwf;lD%H~ zfU2+&(lc=T_U9<#Z!emdStE^WAQ&-rHnF88PQI)froVyS`lWwNO8#4oOL@^50jcU$p`wfNBUJgyu{~Kz>ipzGYJmn{a9VZ&oW#uX&6Vbo_vutK zm&m6+szxXaf?j0mP%-KET|m3}XWIz2oK^=C_w*^kV*v z)gTn38hN(`sZ-|Nq>3*NFZ_h?#zmIP#| z=FR4%`YZyu5ZU|5jANT!FUr%`T*`%nI3|5m)X_j1IKnfFnfp$>C~tYyu5JNmu5kg2%0MC-YBG<_{oW#(EHFu`PAS!l1q#6i#*!m`sl zffLmoNMxTKv}rdZ$bV_$_bEao;7eQMW(0^TC82G=QNrn4Q~kmhx8R3{2f;AYt!jl# zvun{xACHSEORuqPu0ffS1S|GG#~l2)Zg*W(L=?4N7PGg=RX5HMM1~P%;#bzg7bACD!@q!EUu=GJ+6cAtnX0#^yPTtUH>Xz*xX3~2Gby}3T5`}36rpfVP+hmNVc}o z%i}Yb6kU1Wbuc2{5xQcEDn4Abi%r^Dt6#fb!Lrpv@qhd%JG+Lolf`aX;iVb&5jD6* zxfeh5iMu=vAH z#?8(^uwA@Gib8>_1NUE_QqtpujOTu_1*lG2N7r9?K^zz*#84;k|3?RN^~?j1;y}I) ziL!%D-`^~%o1PAkR^`>2ZV_SMxl(@1)O#RPcgVAFCz+M3RW!)g4N_VESG@FzS=0z5 zKQ~7O$^CxQ`Uvv`>5w}eFts*V3=zf5u;w#~{nQ5gJF=Vw{|-FJf77gh#JPPcxT@}%dI;MaHWO=rmK?2>UTt1N!)`;2 z24_woAb~sPuYMn1#vq3Bi4BglF%+X^ud4SJydG=KCHuD1IE65{Xqh;hWn!aT@iZgk zodM!$XFvY(o+s_w1s=Edr@h=ra{DvKNITF}@Ip6uBq;9oU(t5gfzb44CQQ{%`BptF zq*kzAuBV-=Qk$e^}hvwcev=loDV8XZU^m~r9}L}Yc~i@SI4 zmPT{6f}l$Rrv4QlHIPA7URIi^>ZwG%!bx!jK`;}DMt(g9x!HMT$Yk2RCAea_6pL1} zY29b;)qcsz6ik2+7`jXh8Hf?L$9CyL-Hc2}NSZtSEl6wg(}Ws@;?JrBC<RAiXW)*W!-Ve|BJo1j;dzO@YC@=^OoyxUPk!DT}x=cj7+0#*0u%zc?92mH zh>Cr%TOS5ha<`v_`a6oKxxzx!;EhI!sm1r?`U62@B| z+h^Kn6Iy;*lGu^BeW^fmn~58H%}cTQ z`2MvTm2feeQVzA|6EWgjY9g~M_@ythuNMi0thw3El_$nLEB*Rj=S%mPu}D+QVbe3{ zg=o}3&0TTzf^Q!lLMe*gdB#pAtwLeFGPmW4?$0^Q4&M+3iP$ zk^)7J%4AI$oMK&w5CR8+l5l#e^*XiBlp>z_ZUY$}z?I280O-DZi}5}pD7w_RSZ z2mC~9yZfuMqrc$A-3^Qtqq}4C@an`m?XU_*d7`9{nEsTPn`W+S>uJI;P_?*e!zDK5 z#@^GGTv(C=-O_D+c8u`QlK8{aEB(*DPJpS(C9&8mer(+BWvP#5VYWKr18B7VIPl4| zIm;>s6d)b$V~|2M(b|=N57K1{Zts7bXOq=7^0HDsN-W}tyP5~x**lNttm)1Tr!J3y zv?%47NnHjuNw2?}62Vu>(*HBgnr19{M27 zVq*3j>W3x7i!Ots{c^p#?PW(>N}ww0k!(%1})Kma3cUBP~DEcRsei3z;8fHbvBT(x+^8wEDC-Bit8Yc;Gdi}p>X1{XO_ zuypqGU0d$5@8tr&os76DDr94xqLfRP{H$E+T8)iiRkUb`YvDdB-9B)pZp@LX)*^mc zozm&`Z`-N)g_T_4@%Qox{FO|N<_QXxFh{BviCJq@Wp$2k&*yA&`5uF6{*R<@f# zaX&*mt(d+Qc9He>@|OpSImQLzyPAecc+7R=`tK*Sr(S#(5w=jn$1uNGbWc53N_@n*ef9bI zBQB1EH+lrK9VMvLa+AAPBX4X=K%e3^O)tH^7;e+Vi>Uq{+bWDoP)lqb*pVk-h~nur zR4Vp_TWNZI6u@=?UR$v7LBp!%^x+y@ddO3EBPc2AOdxY#%xko9aSVjmJJTW!dEP=b$P z8%q|OcD6}1*{x=6%AdqY>*y*see2fgajK)Sb&e(9W94^-yvA}!?oW*+ zG&Q(t$1A#=4`95L9c5QLra@E&j;aXH)r?(%`%Ajhx3*no3sk+MY$FzXP)Ei@I!boM zksfwNshvTWq@TN(X4bU;P44F!?>H|{!vO85$!QL{(OXpYQBWVZu$I|tT_lQ@anrJw ztS1Xy8eAOnqvi^Ea-5rO`XJq+p^>#xe^FX*{;BmPGdM8tR_ z{GRk3n|&OPLcKTN<$dnk$6TA)j^5%88@|OT{*lKQ$d@-;)yfQ;xz9PMMsd69IcDt#Jl|4>Vp z3FPTDV%kkEaAqztWjm4Z>?S?5eOCk@69aA4?I2`b<4?z5;il(PAS~_D68my?;1k(m zxCd5y-w-+X2^kMtrg-Fya-JOeL)Po`Y`-2#`E{!&+pNm~opA^?k!p6GK z4Q{@FimCDcu+AhtE^eB{_`ct&s55@zZC|dVlAQQqdiuRI$>uTVKsn`|#cB@NIuBx3 zb0*w2vAxeKdsFW=O}K4eH)qYb?!ETB+6K!$R~G5sK-A+d7JT#iTm2$Svu#LU;%a|4 zw;7J5Eu&W^e3YcN{j5*-n7`a%aHJj;0WmjMe&Mx2f|mSsMpWyB-MdgO`+$N?lg?@@ zp-0aKmBN)tPFbs!HIib*T?ZNMKA$qlBUwQLrLjYssO{@pSns*I!W@fNRWOxKKCfgX zh*Q&WR?~iDI8ef2OYxr5X5iUW9uul|7yCw?*Qi1FOgAm9y@8`A_eL|v=Q=ht%?5u6 z_(ri%bY%~;Oc<7*d1}_<2M%qHK7%t0tsZS_?wduOaz2b(jJc$6fxY7G>=#-t1w*-m z@@boOgG8stQ39zjp;>6ic5XD$-rhs|laT5{#5GIQ;B|@0t;WTzA`}g)+m#77CbBp8 z2Al3}NjUlN77I~)a~W8a*j`(rGe+Y5P{DPQ{k2nLizf!!32@qv7IW1_go@!yl3{0x z<|ORKj}q6puP{O1DGc2Z>vVfbdeXWl zU(TCCa*&jn+9m%(zy&2q5W-u_%J#pGI;ditu7{@97`!X_Vz8w8*P5p>qwRqIU-6?_VsLwUs^+4kEb4`d(O-h zgNgX|UuU7SVq@s=z1`8wK1ZB5a~(^j7Kj3M(Hh0;ZeNpykIfN$xpng{ zOh>D`N1^nDy-ZS+H`h+v-tj7wDn1=lbT02EJ;%)*bI*?VqC8Ac54^pZpYGu?-+pbq z@@Xr4P))I!*EC^DAOE~n8$IPx5nhjrKlc6C%hm*Xqf`#}NayUwuCfLsGN3jgAx>?Ie}Vn?m7FYJm%5Wo7|?ItNUnqVkrl1 zAJLo~JvZQ)DCC+pv*LBBq$s@L0;Th=J^kHxAb+dWqIzAFvZ}$ac2%?2=5fvnT{~hp z_k~$+Jn9TtDyn-&(#1vzOWf4%-s~H7SK@Cf7~M2~4c>FX{&#oW8rvhQg4fwl#2CBL zTc=-{LU?%&!(|KFm-*O;MsGoWmkZvUB9((s#q~g8C*3of;Y~qHGG+sF37~D6>)>2; zi~LPB=?hJ^PA8^|EymuPghQ%G^PG7X&x<@pw=1ba+mXD(H7|>n3NOsgMwWX`w7I5k zc4*EWbXwsQps{x?fY4{t`jN0>CQ4ZPA4K`hM)KZMudIbUPD*W>ibPd2p~ejG1K{7u6qWLD+8-ZV$Ofo`PjXnzl1)*|6k za-Mjh8_tb>Qte_qqm_^D9@B*+=ogvVx>nX5BLgoY%cj&><4JS>Wtg0=yR zl3l*d4KqhhGM_#09lWJq`c?>FdS5=}1*-5Ap< zXRDmaDxroQ>t<-Xt&YZrKnlq>pWaQBf+qQKblHA3N#MMrR0BVRTLDU|eS2;|Iq&J%YshZV8$;}{ z#;BaKSKyvhO=9cg|sywy2%|DeFtgrU+DXwsvp8CtBHeLH@>M}WcR|4WxzSRV^87nB2PUAW3S^i=ZqTN+&e#hp zEgs9n=@M+&;5`}_qa>)+voepNxZ;)*~rvYNI7WgLF;rh>wgD zGAOd;w7-oa4R_y|H}5tG6GKgv*cr=Iy22>Aw5jvTq6ZE4(9bgP{rH~ZElaheb0hEF&NXu2fnx5n}69} zJbD$7prdm{n&v^?wVH(kG4dz0&{^3p*cGh2+>0buLtO)p7oF=j zW|4_kR8bc;A$B~+LMbw`c;ic#LEx#r3L)@82V5wlX_wGJLiQe8>zNK_S^U;yjLS2< zvgDG}&B)QG>k6~MbOK5W=O(}*D8xDoDTlOtW8TLPOWn%8o#D@L7fp4Z1N&mA4cx8l zX^nTaU@+eF{liN#l@L!2WS9^CU>M`(yf!e>op$6#Oe}Byy`*zhYnzZ$e$qS&nSRVn znE?Gag&oc4cQlW21aY1e>WObC#oUN@oaT$ME;^W(sATHxfYCFA!6}jU#FuW3R)jXSKFW1l!P&vf5lKHWwC^l({xBOCGb=0vaVsK?a5I0snaHyI@K}5&k9s%5~BCJX^&4oji7vZAG0PU&j4tChXK! zQ-GAm*i5-soQA;Psne%LnjN;U0W+o%7i=QZMS00P`#0qn0j+KZbVl{_`_ODI128mb zVCK1sBjbw*k=81j&>;s-%X>af_%!x1KGj-S$w-WHZp8%2h$^#!CvTZ(Jp+0LF2>j> zP}D%P%|2s@nimL!VxL1RPB)?vi!DOh1!Ws!KX_XEUw}uA!~+Hwe{%{WYeSlHS2{%b zN}U6$_QS`W)n))AIlnd?YPh*^#+!Q5KQ@6c(}71Y0jpD7f8$uMw9`OkgFSRQX(Kv-f zYA;;IfwVOL4Mb=KpwW7VyWzLa!`-ODZHSCw40%&?D-$<{TG@~sw>li8%aIn>xytwFe>a?9F&B~f4cCV|dY8*(B zHshw6(zFyn`@gZmKeiwU-#lR>6JvZ(L^i>))WF36N-sxX$yK1fd4cOH?Em z*f+%Z#e^W1^uLJxFJk}8vH#`R|B7P5{~w5AFf!aXoz-EAGc-C^ zpPZV43^*=13a>57YB-88w?f3Tf?$?FcPn4UVNj&h;=ByHO5re3r^Ou!xu7p)ryTR& zIY9|g51-hzswu%?Ihy@d0nvLeU4z5q;fg~v9ef#n>Le9%EFOcK(w<^{^yOwbA?@~R zlZPn5VZ**cM++r^FhPPEr2YLs6w@%Gp~i4>9>4kk7InE@xJm^%@m0KS5e0S?(eMU) zpuzF)ItMciEYtp)F$-N5{3Z--hD+v;eTJwUME@0F|KAf}JWE58)tN@}$1I=3Q(n6A z$)Df*a;SJAi=ZdeMabQ_5!C+iqnv?39LzZt%P5^70g{r66$F)~LnfN`SH9+dW?mS;Ik7p9ud4Q>eP2KBLkVh77-cwy0lc=sY{P|q9a99->q#w zvJxpP63XREHOW770d$ieiSl0lgFf-ldw@AqNUF?8@}k9I(G(WxtQEugmgcLa67pvzC-6%C=$ zxl@WP7u`-YIXU@7vUEcy$v+OJC$z%6!<%dIH*hN{f?xM&9g*2FOyDZQ_^0tj81eTX zEwARoDYuu9nKZ4R7el3CS?bBB?au@6zJcKjY9&WGkvT*Ho>GMX$+o2gtSQ`9W=hV2 z*sz5ey=Q zkXxV}KlzALbsr;|^{dJWZa?@kOHFwcnVWYLriW)ZU(f(e{kR1lz@*+ny)drYeJ*CR z^I%NP*3Fc#A#f9=&=TK+y*y!!31fiQ&|;3i>;}O- z2&k?95wi*Icrumas25T$SHK79IJ>LO%;oD(U`W5=1#dp=SAPw|FN z_zf}aD3px@NSLo)j=kG`JzQkLOg(4vLM&w>DLNaaedZD&t%ZI8&m|xm=0mWDr1Z8^ ze}Y2lIuJ(C)A$$;#NM=X45vpH3eFc9v8nfo=Exu*tB-yy$6!@*03e0S5$>5B@YuSK zM%Hj4A_NdC3vES^R<``6K6*VMS#2Kw1c@5!RaI4PahF+6Hws}jr(P=*I|f1-5BYcy zL$~}gEJh{7>)ei{hl_}-^0Zt}4RQjVRgEb??9U0X0~M;GwX={fHJ1zp5pi)7mL2!> zRrFb8+4f7}Vg#$mIH(v6e&7)jR+!$nTOG)x8xF>ND&ak7S|W*)$Dk}mt}39YqD$Tg zoLI^AkFt=ZpN0F^Uw9UN{13=HHh?9Ha7o+`VZe?_or63= zYL!{Hs37^C^_&hWO57u5Jq1{pCnGFuCUI9Bj&=V2=ZiQZ6w=Q`vIA5KP74J|1I;7T z*-WMBXfHkj1SZcD@VO#1iVWxFeb;K43P2it)2BdL6RnoRcRF8?PdiYFvhmt%o_prQn%?Hkg^`LivlJog zKH+faP%V%g1=Mh?wZPuw?qpKJD^NIFo0};k2%`@LB+OsA(NIhk)41J=&CtxVu0+O(rJt9Q z6e}3=rZ|P;=o!QeY`I9xjV-rT{LP9}KTj}iXO#RA-U2AXN zz72wGTan!5Jj?C_7Camc^K&cT>N1C?yE8|g%Aa1Ax8FEK(c}1XX1Fu9nyYB~nDY~Z zBw0|)TvvvCu03AKZHbemFk!G2r}Z#X|AjrF4EI(o$&c*;_A~pN={YM3s2tL?OQ2N& zZ!RhSR%`Z3=(65sy8D~EcKQgA!kTK|s0$(V(MybJ1*3-(%4~-*UgSLHpKM2}pO7=+%S5VB8hlrvVnu-_KCas0++arVT0ND^ z9_L5?o0Zu}z~~X_(0#VM`0(Mw`c%*W!h(c9RW@RHa40^~&?jc&Vu+BC>e-SrRXX#r zTC6>yTVLuz>wpR_?h4W4I@~GnMz1%YX-zEN;K9_p75Tc)Iz2v1AJ&pa3mz;5&8{WI zJ4IOpdd~KJg)u7?g0cDBg}NKB<$sb!1gj)MArVUmJ*2~Iy5sEN6|_8Xo0zr)eIA?Y z1L2~iKG%hYR){RU@zJsNoQEk^&tR-UO_YdzR4F+2wFnM>-%j~qbiQO=j`7QVggCv} z5_W79WD7_9A5KEfJ*Ie9xlat~#YpuY*}ODqlYg$mbtA*=UfrrMHHR9r^SKLMcm|CH zVSmmb{y{SVg!LwkqZoVJflpkr$qI)+qYs3~oVHL2O3_hFiX<%#b7aC1 z3yXv6*g5XC!8PH9dj2nvQ)A9MdA&%i@IvtD2?Bp*>gcu~Vi)F2#z|M|vLRyE2&4=r zI|*)9?JxOGNa-sJV)tz7wd~8Dyn8C|^ngJa$e!~3MEWV9zVEfYv>e8VA;XM8qoOt; z&U!BH(y{d_3?JP0#ZpjkTKkOMsKR$Yp8;kct7jtQlQl>-l-*^WBNvH)qRKFs@FoW% zgHA)5w29vhs9cKi*n)8V?O1;%aSatHN`txKy2O|W9Y=-l{D$@bp>HUF1N1>e+v@q7 z#Bi^wy+E+L)b%YFPQBW~(08L--XDMvO*-2?BqXroVyW^yfIF37^f>^AY%GjSwfjIO zR1GmH`JS-HFGyLIr#i2Iw9%euO9;%r7XYb9LA(Z-gHG1%G7SL_;&)}a#EImpRmJxs zw91I;J6g8!g&WxDukXOF4uhlF|4{G*vfllO;XoM_zhe>8AVW=UtfKISSLQQE;{vA{ z4V7defS=%H((?yFfq+47g9e=KdLRtoxK2p|)z2v9zI45N{)YwLNc%SL>n5acm~TtC z5(*9Z9?YXeDp4208vT&!*NFr$hmlbZB>EA@G z_T5>XeV7D5YH`7{WuS+L@1H2FL>6?N8_k+<+-0hu3Ps6hW`19^6ED-IK0L#!yP)@$-;qfm?=YHY59g`xGaqCXh%?2 zjwEfVJd3N;?a_8gX&-c;664WOJ4WD7P3?7b#|ebn!%rOu)W)wQ!JxGn63b9YSwd~? zi!ms%h%k6~NCD*pWnOrj3)2}0u5duH-EaY(eL>DMLyGr4kF9A zAu~is>+y|BJy)|MK>^d{7zsCIg!)D%xVt;u=9J=cO_hf8@@Hbc?e(q<3})^<;pu>hC4+RECsC<~^-`&UUm@WpWp`0oJoGVwFS}_K`Hfj+7PcE2{YJM#p|`+=$Dltw|GuOV zWH#)Ud80od5p4&A7Q&91-vJx}nBLejkO}EOkv1U$N8C;4nC;KTSP%~30uFKdc(3Je7RJ4* zKw@JoT_h1!V%AaZ+tVh~<+Nxc21THU3(o|1kT!0o=14FqMfLIg@yCjA&+cUQtnUg> zxf8t2RrQ@mkTLTy3zRED4AXoz4QN#z1ejEhR^$-e_#6W;b{&|$m)4qb>mdal89UY+6bqc#a{^{U0Kq6~|y-)E$=&Te&QKyzWuQ3DA9Dy!Z&9JMfR;zu%#Y z%!{7sd`t(%hb=m{Q-^yA{w!3|ynmfhB#1=5RDlmjmYRj_jk=TKA!7S)%o^(G!nDiG zy9>rG+t#M0lw^kU>9XadJX;%MnZ}iSTy|Gp+JhJoJBM+9zeP5ZO7I5w;dkR59?*iw zyYI_JCnHv(hIIJO=qEe6z<%tZwgPhGPqf7OKobZ2lYU?>Xx!Wv^8%dIMH2o$u=fX| zn12PkNlqYU51ong4+k7OEHvx7+$dt%RshI(B{Vg5kV!g>J&rr+#l{B>q&HqbGSN1) zNPBGrIooD>wA8-?<_CzNXAJn6z9fLB+E*RmU0;4C5C=dh3@p_+IaUF2r2C$Oul6OL z!HtXl8^F471j!Ul4lzEW(k)(6QD4B8^@=w~1q9$3DD7>^{x_Dn45Vd<26TlW1YA&9 zPlh94^fwa>~p49WH#Fqr8ZQ2p%~Fr|j$+kLVwO`!0Xb4)E*vVWl*P zH3Q3G45KCxLk4h|jJP2#pA5%kv4BefvtnsR_nm!y-lzNkFj&aJm(@Hy+K$iK2c75< z0Shyi{sRFUhOpN@g@x~wV~994FnekpkSEi^k}#f^gMOn+1pH1wIoWTS23myiF*+OP zJ6yk_`*$@=jQ<^=_)T2kb{G2!08UK;MIg}kln!*L3wFOrC|7@rNUG7>{L*bF*O z*SdcH>enqakf*s^!x0|15mG7QcGw=cD=#5Rt?2CHLp&HF1#$}$uKoQ!)eiw;Na7l@ z@_D$Ie^W@v4h(a^VQngR^x?j^8JJ|YU8nQ^7V$;#oa@+_v2mg}lMr{jJgn_KztvBa z{&p&%pAyguT0XAyqp2Hhz&Xha9VY&w1+IAfdjJST^AA@yDSUOc4H(3t&~+a!So8PY zm=WUQxjeym0p=O6^N2%kXIusE4h-Yo-aVuS)4gDPu|Qgz$pAd;8W0&BCr8`&v*M>u z1{uQe_$cz#X_gz`IsVtvzJhzo6kBU5X6)a-IjNcnt;|w54&uwO*S(M3fo9y>ABdpc z{ddO6cVsg!z;5_;^jQ!}xe11NhWYs)_S&z9rE8UU;29tjir~O@lE8$fBi74-*$f91 zWT2cTzPDp>IJ!v(dXFl=@@KoOhI6%Rnm^=)>W=rV4MQqNUS zT1W+F1B?w%=J!TMGJ>avem&o6507U9lIKSpEVv=H(!G{h~ke6lGB29CMjOVmm@KG5u3UYeE`X|eK zKd(NM+7)>CSQM{;%tw5gwhkCwuDO&pRGH>BW8vi?WWXry?2t$qM=BXIr963-jGIfV zFq_i1Jr>NsVNHMW0NdV!y0_AG(c_`Ej*gD4Z&kU?EG_-#g`UOlkWJs&BvBmEpj7!~ z{P76h0YTk+Bn<2QcJ%9-MOtlN!CdvjLq|po-q&Zw6GE8kwMkRS>p6VlI_sht>&mVI z-poTrx|Fb6D1iZ1;MjZbr+@1QIrv^LUxtPeAL-c~=46C_ILkhscm|!p#3)s=cE!0! z3`Fl!OusfJY+N7q{;UAc9cTqXJi9i|WB^L_^|A2z!Wn^TA@g>&iJqLd{Ehh-MbC`M z*Gjwoi9x{X351?`%|*}Sp$XyiVewT|1!wqcsfEnfeDs#w zwQ+RP2axF{g!>Tuq^khS=DgO^-Er@0r0x2iEhP&>6%VNP7Ewk}eg@ypp0l%$qt}aJ zZoyUec|RTDBG%`S!}qQE0!0op*`D=+3qH;-#h}ZCE4U&ku`3(q#yu^=(1E5!KS5f2 zpnjr5)5dB)B=^tFN}RbbeD|9nE1vV98#bqlH=})xR5VTPPV43z)OX)@%Jz5egV4iT zLjvO;O!kwcK7%ZzE#nmjMd2G@AxJ1e7WN{mJM^B2&#mXC%kGLxlq9FpnCi2uAboD4a%P&Lx0Eqf=ACoLB3l(_&JRF z@@+Yl*rCNKJ~C|YT&DoKA7jbL|9B8BAz()>?%m&;}$=K*N@wR-2X12#_u2O zFFNJyr+41ld4Ij{{^L>o2L*hA8fnL_QkhS8ro~Xbnd&RB9}-4=x*8~emf9S2wggN2 zVaGuBTeoPKDUP@)s3GNnMiKI&9&nv1k$3g~si_D6e;h|LvW z@SN9S_ro(d-o&?q=zqNZ1W&29Llk~EiIAjEDgqKh(qxUL7k#L?ir5b;A_N_K7iUXi zqHce#N%9ZEGdMl%0J;)M`+ekyVWYaY1DA<1IElbH9pGy$i*cIi5jlbAAlKq#YVMO# zoq%=`MJ4KBS$X2`dg#r{o+Jm|2qT!kjJL$4bfd5BiXN^CL`^DN5@XD(8p!>hC37_X z+vzLyo6%6g4njd&M+59}F(PfZC8N9ZUSl&13~}dU_n`|5omT_7w^iv(az&Q6f93*Q zM8O!~aSk)YuBwiJjU+1vukJW9vJX_Bhpr8bw2F8wp7+6F$N(djqF%Ds6lEER$TxDA zo30fvb!bMHzd{uccyM0(#*g80$fO~X8fka zGN|<1!1sIzZ=5A-H=~En{q{ZMeFa%rnnO@&{Yr(vpItT80pkiMTTYi*hMI4>+WwdO zc-DwG8)kzcG1_rs_^=S@LLLpK`~H<9)DWAYR(=>Xzo!89;7=3O;IKRtw)XXiVRz=q zqyTi|e&5SK^G;+w-WrFhZ}0feQosbvDA=66svWqqem~zwZs>wz=_Sq6u0=Me_8S(| zlP(hp)7r0?m+qaf8leZp6x}X@wbFQ}gNeega`143ot%&kbAU)0d zhvh$VLyOOFof|i9yt}kn6?kOun5DV-fiJ+|J&T&PYCoC!k8QDmLiywn1pU+zHL3Cq zA1j2455R5=)pIS)n)Nmq&=Hihc9^T(_wWo9+aI1oRI0n6UWJ8T=D+d>V>6Ets6#6T z(ta`C$!#Gq?&XQLs-)XcDznwc_*eERXmQDZPA=90cirz+cGbjOT)J*Hy_&m zTeyMwr$YP(8sOACQPE_9#ELnU{W5UcEOHtKit@|<33@C-SY?FfkWg;W5d0ARug}0` z*Z`amOxI-codQh5-Kr1NAcV}J98`cnryF^|BT>G+e>?yWjR!2v@k9ertl6LGN9}|W z4zTIFAa@2rzlc99($Po-*cqwMVL$PoLCKPg=eqC{!7FEvT4{S|33^Ov-uA7AI9al- z8mNnwFvSfNyjQAe+O1t(rVU-RU{vprc*t8pl4Kny@mnxK{I*g*liGee9LC zIglcfLH(wJ7Sv6&E22rOmV|Tuaj(ak`1HH{3pl+^K3kP7FeVjYwbhGmA3YI*805*! z`*yfFaJoP_5-aR@b|3$!rxeIG+T&8MNa64oflmcg`F7tr50I$Co$>#d{ zSJ>1a|DgiKjHIkn^;+2^-nqR<5Pw-OOaI^zwmoqYf~B&R*kA{G%N}MBY*&*^7^T zcR>z^Hymgkx94d^!MgxiOd0y3O4*Pi80RIecL{(m)d=5@y5jTv*~E&O8=g9oat486 z8}ty26tW3{;CeR{pCa`|%j6+X5Ebwb>>+O-BN!yinAn3)cmTnWum~f_QX*svYy=m4 z6__WW-E&Zu?Xb*P1VKrur^Vi5>?g^PTZJQsPWW}c{eRLX8cEig(K>>x=21X0w2**` zRF@*+n(==_EafFc(7*rW0O^VkKprRrM>c{3{JRhFFTIP$9y@s2_7^&~wzr=^jMJ_z zwh|X?fFaWvM8GpYMjXA}NhkSts6A{*QqsVemfMwwGB<-yWiD@GXBZ6wkZ5OBrOD(! zpa9#E2C!xdgHBKf>(9ESH3}zKC2~**W+Fii`HzNN2=tNERO7gS`kf}a6kw=C{yzN6 zX#s}$Kl4l%!A*OVDP(R$12QHzgmDFh%t%6COJwV@Kau9?h2Vyxw#*wkG!FEPSHn;L zneK^0_2U4zokQOQg!G>x$nxhe0lQlZ!Ot7wxFqBhb##xyks~Eiz%;ICw!^Db{+)xr z=v**g>Buu&_hEXPvoO{xR?QITk7p3z*VO(8H~-LN9wII%TSV9cOn*429|DgWTK%f` zLL{Ii;?9IPUoIa#NHWE#se;;OJON6gJXko1h9w=ukCgz}L74 zH1WeB>>vMIriiE1B3v3L^ji8)QpMj3>(fvR_8@!ke}uQIs4B+R+pAwPorcb@np6eU zI9%pNXrmUMa)S%6Uls`&LWLU6U+4?_!PT1m$$YpRH5ZF^9`j&JNyj(IZgb)wYljh8 zYdaqfywALoTcr@6CkHv07nxF#CeNQNn?xO*+WJPbTIIfOboUJ|3h=!g?LUGtDVmI4 zuo_Me>FuHyFWz-u3-A#~C?m;h@X~)sQeBX+@an?$R;K&p&2Hz7`TtvR$SVg^S(=-r zJJZMyd>t2{`;;!$(_T;%EEXD=iqOBL=kQNp{GD+LD(6wOV&p4ZY`@X)ebUS?8w*sE z!PW?Y{Y)14l}L?fpuh5)|Aem^xGq~}2?SghA~QGR0&9EjE=)6-D#=1M?*Eh@aT1Xj zQXny=2nu%%hj6>e3FN{0C75(rmH0 zvrlI7Ldk+yPIjKc75tt;q$gBB9tSB-D{_hqr*Yl{%`fA!l+upCayoWnNG8}iijiHTK+fsg&acj5X`PFE(a@fsQS3kl!?S~dXJ^I z^;bekkv(q5l!&1-Ges9FH&yVZ4^ex+OS(xZ;LFIMe{qRb#Is9PUAXgPt2ZH*AV_-KJc_?T~OtgsaNJo;dpha0Qg8^28N z8&MZNs*brdYH(?oQ_Q&!kma{78SLdL-1X%IC_GC24%A>y1p5G!-(74u1qwVOzu+Ty z5zB}V@>d6@PB>tJj`}yR!EuHA=GP^jQdkla9;d(}EmF#H4K(x;IIO%qwp}q3$s)BYhDm9S9iI1_7;J&@O6pc)M!3IcIWpf3~bm8Cy!d({)5fq$uA_|=-rpx*#$ zknt_#(a^t5chn?+Hf_8A0R%ks6}V~PAwm*E=~%2k-8K6jv-AGyW_KPmohnz;zgm}b z>M^uuf_(qs_(5&_jk&c*YrMp2}tD#A3b%bizo_Kn2R07+NmFjbA(ix7Li=zAB zJrhFTIq+Pr;keAczdudAPI=3t}B3%}zRH=$)1kaEQ>uz_Mj7W~Gfx<(}Z@nHECWg|E zvRylsF_kKor#XD%ia34VhOJDL^W>{8R7}%B*XOyr_wZ0Fn&M!~mH`NOaE=pX&~LDw zpaNphxe}pzqC9MN3kau3@(o1Cf4>CKIL?F?u;{3GDeY%B7LGPnhnGJQ3db`a#}#1UjwcL1w2- zMWDyV@LwH@m@DCYC%2Y#wsSs-SaB9xc4vk`+OTzW$XKn%%xuwIqvCc)Ug;soUv+G6 zZ$HC{9ghpd(3F1liuX7I?%)$kWK3uCW3#gJJiZO`NNx;K4AYdYNVjQlZfXW}du(qG zW6QSPAZ_+#|K{G5qE$CGhnZ3Ou_jdQsf3ZJpesED{&lL!zMI%Vp|!<{lJM@HoJYJi z15@)Intlf3&051FK}!BJx$7=E3-}mmKboy^3g$-Y;49{ENx#fz=%ng@0Jj6w^$j3ccCHC;YoMTxSJMu`t9^y)rh6m11}nh16oR=BFr*p z_EnI6fAFb{AwQkzzoM;Lf{30z_BfC@$p)P%GJ=m{Hr&0u_eT=X?TKzv(TVWc)_6Vv z)2;j-P_bh2ZHFVyKb1?V*;@6~m$=mJYRxwaF%M3*i(La-tDoRuA0o~NaboM5t~7>H zsIVBM!WeodEO++o2nUR1a7yT~HjAE{dn7av)`Mqoec_cHt4x{uri86>N1DzN3h@oo zjnyVB=9;XVNU3vsXk2Dy=Be_ofxeDett}#q<5Z{Yf&281pT_hT$J0hSELYXDO>O%& ziX=zf3$M%#M7yIiQbG>~xy=<%&EDCVPxxFhZ!ip#JL+eyJ;XDxaA84zSY4p0IAXne zV_&ypsPKG6#x*Ui{vn&trKP&zJfTeqq1pSxRU_Kc^*#rK1cG8eTjg!a-dviY4^m<} z0`yS-sDYSP)?eml}cJHb?bv)uuU5psCfuU)SNLd5=ITHI^AHCu(D;&zR z{rWC0V)lZM&x9_pd&Xa*R3QANl86XtTiLoqDgsj_o-4- z>DCh;G--Ms&0b>UnPH^HOV_p`@Xp44A+n%zKMLA!HfW*YlG1IB3YB$F z3skv6H^b2nQ4JPNb1}s%-93IGoSoI39htKo9o81snk6<&f-_0@m=Vj>=Ane$uBVkG z%v`y;LOjsCtInE3RUNm!S$v$?z^c;Qr>#VvJ(}B}yKVd-$a4Uu^HA@lE~VRC@5I0e zz0>NRyxpcXPf^32Wd$M#Dhl&De}0fK%#9kP4`NmHFIir5u&y~z;9rx!akp%1DGej(zAB#q z`R)1GQewN=?Xyemw1Sp-SAxT)VM6^jb)e*yVU&B%2rZvsXF$NU=1wBoz50B<2>TUY zg`;+Fh81`%e`CfUhqu=(G}uYJiS?(_on}H69r!~FKrUb02fY5gg;n_g^HqH`22(~% zx4oE<7$qijdeE8uy+!s(8Lpr&T!n0(StZS!(HS|nb+^8hLh`>2b+QE=hb7%@OQ!1z z*<8h6-*=$~-G=#NRuyJnmygDDXrnBdp7((OHmG7m`9m%$t42o{MSV_knvqXLS*oz! z`}=+Jex2GbRwrJRjkIZBP5bipK4<4Fn^c%Tx5G9xntD0$@qLGNcL*VEZ($1Olr^VR zc)iusSg)P%`gGQC;Z&;M4JDB;WsTRbU0dXiSl=33<(;|_>9ZwTWcuQ01^C-mW)wYq zYaiCer|ZA4*X#(U;34m~x&(4^*0v44;cq%CzI=EK`&DbJtvOxPdaIu^qf`4sob61{ zo%zbpz2sYm4qUA7%;L=b;Kcg56*4*lp1dNopnvGM0g0BN!gCja1x9@MnqHlse6rahdC{2nS)8LVs z4V?UqpMT)DP!)dbvN@yVDRr4pVoR7tUtufhlDq3%N$|mV|5@tsrDtguzg^MfJ~q0` z8qkIs+4Zm{CIwoi28@hpxJUSqXzpeR%D9oB)SwtH;kIUcqjxV43%Ycp&Zlgpk~>$p zyvy~2Ygjt8!8#!vMz{)j78?)j$2uVlxX?p(WRx{G*JD8R?m63`_g=g(DYEbDiQ;fV z30Z&IC+k?(X1>)j7$Q2^SLeC<*vukeravRZG4D{jLPr@)DiC@b_oc95SM1d5zrBz!GD_6u>T}wKM`=~iMvL|k(S5a0ZXG6}{*9_j1g~_!qBabJ_3f#eva<3G&kS*IS7ELrAr?%@7EBKHWskegmUr=~b*kuQrff!* zVY+(QpF~^fSm3`meAGeUx>^!+RnGz+6Hq#!VU;oyvt7`gWnx3!YRMiIw!Lb&8K50w znd03sY0VBJmxP)`#-f~d`8Vj8DJ)yi>E0@^GcxI2d@#>HmoG4IcWmZm#{}E`d?;JF z^!~O-!Ft*}jMB!)QB{4>R#cE!El6vK?$je|&^c|nMKCNBATByvw*BJHLQ0-~YYkO| z_Q^h&O1-hPRaV(b5i+X1>asFab(vb%(mnp9{J^6dS42dXd#2{nBtwpscTvk&%?Qpf z#g$RV$uOp?U(GsREHtQbFmG_{NQP<4piA`1T*26E#u!sk)#IZ@BkoP+s}rDZ^kLPr zbo`-AVxY?ntM@|*%QXv6c^G4Mx=sw7rr2(pOi&1qUhd}~9S)Riw1Vjij1bToha`*%g}lD(w*T)Le|SYx)N7Ik8EefY;qtnHa?U-D3o9!CVMyS z!qN9|UPymCp#QC=vq$9;&-PMdv3r-c=R8OpGiP<)?y@g_e#lfng(zX(h|Vy=ePv(0 zxG&Z{&qiT2-@3@}^5<*{qR1A6)6fc#f8JN_>TFnAU?b7kH*R9kDgCIq0}2ZZ$3IS$ zXyjAv^;s$(2D_^#xS2{< zKGy-~%VlgX_d2fhs!8~E4U~^`u3wX7q|-V3`D?rs!n;M&*J*k!vl@&wS-IItHJ$ehBEMlU~g^pAD@BR`RUL7;3+7P0y`1Xa}?#5I8>Abn>m7dPh1G{#+ zzA+1T^~{KKq<}8v!p@7=A{!J(+dH|NO7da2+hgJ7u$C5>E7Ny!EnfZn#eg@=qQc>UV2`{o#Ms1 z@W0r5?|7`=?+?6`mUi}trtFo-uHLAqD0@eVgzQb)*(D<~A}cF<-e@2zA=wmJS=rgY zbKR-#SL^HZ`1Skm_x|Ut+wJwbu5+F1%;!0WB4(=Z<}uFwNk&uD=SI1pAj@cSW4gSR zDp(`~EQz_vwG@=2%gfX)8zPv-8nzL7Ia7(DjU*ho_wCLO^@QhBzYxWBGd{mahik1T zw=G-N5x`4de1dObhb4``ehJU{<3=GiiItuYteVL{Ke$1O(OK6OZt*wPdgrgPsy8}f zmdI|D(egf0O!u@g94TXny*7Jj{YXk&o`_NY+-qRt8-cj#`i3?J?>Z*M1U0hJ?))v4 zm9{$oKaoZ$U|#3Xe^#yk>5GZ1&XMI1Uub24!MsX?-3N@CNsaTS6pUuOMJ5}*G%7A| z)wS6(q}k9J;!^!{%dLycbK1e@>Ky!!NmQLqtGsTILxTN0MLZZn&Lc=LCOQgW?`P^x zkg$UWvJS5gR?RrC)~;nqe4O)Uy#ix_|FcLzZp>XqvQ{i=zLhootx{gnV$v}f0V!bjei@XXx{lN!(bD(_WKl_Q`>q` z2&$h{Hc)ld^+pe-ANCr!u}gK8h$?m0iujUP<3dN>RuhBV(brAlY&9BdP}!fW>OB9h zdsjYuF=5KGMzKpTAusiW?=g$D7j)<9sy`? zNDE_W0X-)6!b79lum%iA1kAjjUCMRw4IRg$>OLJbk=Ok_=RC`YdaNVox328eW&Y*ZvCEe!+{x9!Wn01=VU*WQ$ z8_o{Vqz724Vh4TxY=nX;3<}R~mU21v!9yDgsyMqmhDZQs?_>A20g~yIIThs}g)ISRG z)bXSXBDs@3yW47RQ%3o1$i1t1jlo6o)NJ|OL^+oh9xz>9)iP8LPJ>|hc~(SA^BbV4 z6!$eHg|J|X%WZK=PvOlS0| zc3IeH;sA=qF!j{8lDJJx@d5RugN3qATil-GC^7Z6g&az3Vn5f-fIAH)0m(SwfTAt#q_yYLs0q zlk=W~w@7+({;sBveZmI|{B!FkUxlA~3Bn1&a@JxGFVFIYWls+s%09h{QgmAHJRG5u z+m4(;>YSlGRpjkoBHwt4N~`}B&WrP`fx*WWH?OVQbaB+@+4OYha8sZo{R)xs804vE zUC|t2I#;<{$$D-~lMe@P5@~qHxb}D}*Jy%ur_Vu?kz*dwFk{n=&gT)O3T z;V=_;U=^je_`RIDVpU_9er(M&nXS8(G(I}I{t|Q~huLaMLQ`*fOb{;&HrMG)kZ=@z zJhn~eO{gnx?|cCD79lj6pYj{hHZ`vRUf* z8%OCO!q@CrG2`tNV**`lxlGz$z6yzn&-T8eJEGs(vhZviOg zByI6#%bB3zk+Q_1n5dI34wF;Tw{TL2ujS8IRB&0pDd6w&ugco2BQgeNQlB4(XU>AD zX70!*132FfosX}aUd1;cmOeqj;V774*)Dp1CWz{iLye%28E!5 zhHrDwQcKd$)kZ&ga#6rcq#(15-6E;tK+`4NB%_vT>+YaESt)duJ>4DkI+Df*GT1VA z*FT68H0x4NvKeK=ah;j&GJ;blj}nrgaeJfg6w)y!(w!x4KnvoHEBp$BWgE z*K*C)*ctg~!n`ll8?|9*n=;oyG;Oht#KbDZDmSBqMF=Ezn;>B^HX(7IP=S2)i+a&_ zB_n8Nz&GfXt=O!D`H zRu&HCY%;L5;nF-OQczDV!EM#^X2)>D+@w1Q-&h!-xHpkcWVAm{Et;GDx-=_zzuQ;S znQOfrNbS%aC*7(g{pnJlMMc*I>u&+tiH2?-t`9Gh0&zzh&UOfLfi&KxbQ2Lm%nxOQ z)~1{w(3+4(5=2tqOnwJ0wo*jUR(SUE{@k(C#n;?>P9yiEGaX8Aej=0DCZJ2d^NBNf zYsdTn(ArP-f@63pl&-X`Sr!919qAJ+q=121PPD+pP|(ASaXQ5sNLV#;`4!?-d}dVV z5Zi%=&|lf?y%8L%RwD>XWbpmQ3Os$M0Y$$mEra2PhrE+GDms?ZlDYZAaU^Mc~V0-Sf#AW({)R&Y(08g< z%YXYz7c#J=mylEZPNivuF-ZFB!BDIJpGv=EUcXW4LJ%1)*q)nOxALU%U8;C!O&#uT zb?K*b1`fUoSDYl0+iQ^ryijgNE<@5J2;Jk|{vQyJKCOi>We6l~_{I)+#$`a>rhd=i zK3>GVe84aR?xmP-;8`zQkzpbKpwsMdan@mI3zL(+y+D?HWkORx8}M#cb?b(nKYD9C9ZYls`eS(Jv_!yqqxw zxykBxQegGsO?^KEPd7Sz5VqobhA#-v$V8p6aHZ`I=6D(Sjli3G#2}`CQ~VEI#y?pB zZ*cIimOf*YPQzd9#Z(S%5bf=xgB?Dz|0WWJ+JLe7S_;b@X}lUZ8)vM>IBeneK9B zS%<<|wvsR+w>@W@nO#|xlXt@quka^Nm~XD9+RDqzt9qW^6{FL?zNJSW)-42@FW}G;2HKW$)xX#I`T0=_4y_aGyJ<5PjNsyqfyHVI~A>FusN) zT;Stm4V6O>GFr?U>Kbm8)_4s zXf#M<7f!4|`Ycyf3cUAdX5i5>DR>nn6$$OeCxfnuO8n)WG*mq90_Q z!s4IFsf);5Nh&K5OnbCUCn|IOuX^a!ZTOx9^#IIx!1IkREQP1$lQb<1!`)_Rc@!2j zwh!dV_FDEr%+VD10wWm3G`|aBEXW*pcWnTNoKn~fvt#_VEJYrpnqZ&W;u{oTODT<0 zBSIMfdzq+>f%m@ghR^IwC*R_=-uHbFlYqvOuI*eAyU-gFR@dK9^|?PqJuhQ}ASlcJ z`d4dyq85n4e&9yk#O{+&goS8%KLd7WGs$NV1=&ND;vhufUc>@Uo^sG)h=AOCz%XQ8 z-mai>_=*Y3GhaRBzu=MnTI zPZ0s^Ju^p2yOrhi=&1!#9}O*OL*T(PP1HBGe81-3elQP*HS@JMK_L)+e^1Ha;Tc3v z_T-!ZLN@gn;`e3<_C_}KcT%Aryw<`wjiqOGx$%UJ6jFqLcyOUw_1sMs*!tyBI)I1% zM6S>iaAWx0F*;QV=< zh)dVO$8n9lobd5J64*_$UicBjmf!za%#H}0J@=1+$Dqv`1+4-K!s3mMuA!!>4Z2;Fxi?cFA7@=l`-F+vG{|`P1x}HdO69(>=`%P<+`AZ;xKVz z-Nu3sWs>i&CvDS)yyU0k6};g1JikE_4ndu&e5ZwagG5~RC1V_=9s}(e_iFde+mu?Dg>%j8F#msD@%(Oib_RWmYW~iVw}JkC_Z+br%5) zh7vlm4qQHIw*urrI}ZTH37?7Nfi#i_sYxE+|r4%~jhly0lfBU|~$Q+Y_H z=dYd)Qi0jN_uhem6q|yJ>T7HqgtZap&wwatQG{FDF%Rtri{Hka(E+C%fB~zE?@Df` zg7A|j^w$-am#@_&v4>ByKDQs)Buolg&{fA%IK5*-BNYti0nJaa?ZvY?&kVbdbhiLt zA3A%66e8o?VcTZAO7#cA`PckB3oM%kHg^<-yp34BRjdEBQ6Nw7?2;y1?TRhx)G2mJxb;|jACLfn#T9htH|u4E^%hlF?Ek)AzWJ`U@JDCmbt{M7 zckZ}ce^%4YVRGh@-*$;BNm5yc;D$SI2iK>5S5u@O=8SsW;3iy1&33$0p&upQ8Jj5a z;>;)_qJ*kFXj`tnLd}6aTLKby-HF9&282|ZTr5x(hsXU zZ*9@)H#MaJ;T>9xbakdL6EyrHShN6y9_p2o66iPzGCNxX4;Z>Y?1_^?!M^-Y0^5WqU9 zER@aT=UiY??CzQ!WYs(34R*xAtPLP$-gLnAwNoo2U6k63ToeROMSq-9od@L9;wMqU z4SZ%-0D19lcNnX(?s;^p9cDp$0MMWq<{@bpTv;B}2-@z9+N$ry>Ee^X%mIKS*DiNU z>BSTFCOYi);F2B8;S3RxANC2CD29^PR<>?}R8sqqxr1r(yvPt{qZ&;v5- z&Q6MstnOfsn>Xbj@Lv8LyyIzi@QaT3mGtCIMl&%+EK1+xzVmi;9duM8WC+f0&E|UK z%d`3P1=v93ydyUv2WjSqHor1@C+ky~zoV3@C%fCp1|@>whWm_~1i3G6(o5MH0`cJiY$YN_w|gA+6Jvar2&4K# zm0(HQ#2JJ3Fsr6dwf_^5Tj9C@=y65Jc|Z=C*F=!C@Blpd{n0Jo*MYzL10WEx8PF!) z+=WXec{mSi9tdk73C0!&)yB~e`8cS9t#`KEhDHwcfo2suG?b`3)@^+Z?>uu&-vqWuS4iJc!~xO9?nV1E-EU@ zgi`f(2sGYC(yhpoo}P@1EF^m0lx_^H9j!uX|~ z2fWb>vAn~L5_NYa1osl0q9NiK+W(VdNVWPiMWI-f%i`19`b-lY=@1d&bQpWRk#P?P zkA_XB4;OTuqvX+*X8)q}Dz}RS@Ax{!CnR`4vk&pDx?{hln;692=YtSySw+AZ$?RVC z#?S8UkqQG3=c0juPMx|{g}|LryekIQjfCP=%xx(B%FpCzb&+3ds~dYREn0JbM_TXQXmfpyS%dYEF3~bu6!_?laT0kz@`mdFJ!bV)!R66Z`57 z*mM(kCZQ1kb`ZozXbs`j*)*8Hk(q#7&})>0XZYR-zjimC*ROETt>MR_;bMAvA0HpO zlL=siLXCS@(Fr)(RU4?^et0+wMM_s=*6;p_jSwgXIQA!B*B-p$stCk#>k_H(=Ji z&ki`>JOiZiQ^<*?GC@-qDhjpBhgelo_aVN%5M-eMtuC2uCkI=)c22$TSiYL}J#o?V zXm<=y>nkx99ko@9+Mw!)Siv_e0NOX9o)_B!TNi)-;5gW6$KlC?{Y=bl_B_CrJ(PR9>0G@IKBl^Ikj%3Kk+9LYd_p3p{)KtBx$YcNa?=-S;x<^6P2AN;$ ziG~Xuz$Kn=f$-WI`ul?P`R~cKXg8Z?jzRTaw5z@kNH5OA2kRb$1#vrp}k$3Um zVu(duzHWb{Ic8rCaPWGQQwniPTadP~hxj3p8=V;ymNoEy6{T7Tz~Ws{OH9{e@38iP44v^8o2)D^Miv>vwG;urAUZzY zy%lF?RnmYfsNYk5;8)4r^9(j2oN03$0R(~z6 z{98Qpmk2!Ut;Z2qXmH4R9T3|~0e()klu#$wGhBFN%iS~eHRmGup9}3ag937pmquFxkHHgPp&Z%X#(po%(}7=F1!Z_lwB=Zpx5m=j?)z(CbREQ5zQNfR z_g)Hzl2lI9Zw-&#hge~a&>4d30PE_;XF?S5v1CM^|0@CWjpmE#YG!zmmrOMTX1pm|L!iZ-4MdSv%h4n?G08|2h-@GbRTxE)1+KcR{ZE(5|^iqxx zvh5Z8d5TqBUn@J@YL_%^>?CD;SNL(Ve5^uY1XNb7ShfCk%4-1@P$qJ6ogjvXA7H%| z^d_(6aCYnWH*6uG$iAaMB!<1$(63Q$M>@Ub5y7t+yoBMyu?c`vq~fL~ofam)Jlo{B zd0}#4zKwq%wI(bqOxu+Yj38}+ZG?aJm03&Gz6a*LAr#{`b%%~XwJ#?c0DYhR6;<;a zq5J?PLyZFg@-bL}JnI01ggce?T|9X00A)4X!9j>WX+K`8*zxwvDfjugnIGQtwZC}N z>`zTQOa1wbHR4n=*e_nZXu1#>w29y>RwjeL?cX^lC1uvV((zbdUh={B&LZ0eRCmhgKIt9ZwtxzPy&#> zfN>cqNn$_=|a@u;SL=w4f<-dx6S69VGm+6R$iyza}ii?e9>9u8> zK}9&P@@cbpZ6oF<TJ=B!r=Uz7l0+DhvdP%%;ZDhoT<@nNN}gL&(92b0;rUEG9!m?0bF)Y8)fd1ZcDa z4bz#%lTY;FppvTU&6}sS?-ZS8QfHecO`MuTv>nY%oto(hAt-kUjFY`Eghss(LXCl&@!-HaXv|D-L|SHuYg^ZV+u2tkN$)_Kh?`Imf zrMlle6tpsmQ%SoR8=p8oq5qx!U3mI?E;#D-ZTvD?7m{B%JO6&(d}xj-(y9yHXE9q) zBsDc8K7^~iQlJ3zZ+6KPXIJNOw3lO5C6A@I4t?d5EG%pj0gaJGG$0dcJyODmHx4cY z+eG%#+?{W7nlUy3yfR8fJ(D4FBR)fQlwjRoIogZMIeset;ACH&acrJSGIFmWrJ&H~ zKiw47*_P)y(=ksv8t4uG%M?`|s^xKVoEnYw*VG*JoH$2}Ah@r@mRC_^sTa2i3GfrAm0>u;&M6vK2h8#R@+gA0h+P0N zEy$uPM0n%Zj2%S`lOC_zoEfc@C#2Bk1GQ z*yh0L>1lrfi;G6@p_L@yu@2FlVy=R#@Y{sJ@3%vRTx+cwI!uUH83_sFI)l8ais&z& zUntGh z__vEcngYTmASe6)W^elt1f^u3RGv&leUfaF>G`<4p}c#EhR@nz6Rv!zL`x(^GK8i5 zYhMfU5q_V0HwuaA0V?%lF@RN?T}?%L5yIsZhe|A@Tz^}5{mo9qo^3VKYF&fT--2mh z@5J$)oK}O)N>BoUv>}XYAqO=3iDU25j_L!Qq&hOw6t-wJt0cesmfXY$u3z6IHidk6 zC(od7>3;lc9-ySwBw6&q57(ph^lsNqwgwI!wiB~}8PD#(t&~F6mr)V;V{I@hIaTmk z+9lkC2Z&40HPI0SfR+3V)3_K&)nWBFnqCZ_SkoVXzPxW03i2q!&#- z+@O$X%X1KXSknq_e%Kdjf^fo*SN(>Vk?7?uj<+x`KY)LEcR+`yrwgwEl$PnAS+qQS z+106`2j^v42%{k@NgTOX^74iUMnUDhxhrf43Az2yE;qs5kOP zzEs=7{3L|psRG?&!MlN0hJ^t6-wyVI612|aUbT^yGNaYjzSa{?KonZ$n*LE4`WwlNQj;DFtRM^EbAYAb`Nlea_8R$^nTBe3_Dj+s;|I`gRkM2 z%r=u^@i=vw*r7Z@2zWfrhIT=Px9A=HNmxXNUvA5i>41_eDlkLZ;u>Kb%F9ka&F#lB zlTrX1_}Yc)*GM$sJ_!Vb4Fu|}P{*_%0_%IAj@8f!l?TH#42@iXC=a8ubCe@PVPKdI zBLILAa&R1a-roE}F5nNm8GyoG8-KhINV6FBGJ)_&J!R~|h#$leuEiRF*g9Y4TNnyh zPUE(`Ab~r7Nb~>p>Me8D1p%J0f^ctZ?&Cn%W~(+Em;2wg=z}D6<6h{DctAoKvz$K= z3%=8{9G)p0dh9qR(&pR_cgl6NsWF9^G9&%6NgoNAG#6l2!IGXz=r4R{6MO)8Py!Tk zf@oh|q9-v4`AaaVwTIga@2*@ANXjiJJq!c5B*1*@ChyluU8ZyFAlt79+TZR4Mk@l6 z;7Q9ym=O4VmClzS$Q7A0G?zE*etQFr_ISv`!@IM zw>c*bT??Q#;&xA4zEhPv?0B)o!tW2``&-Zt=M*6JkrHopnUFx|BvGUf2TAofQD|Rn z&+eaTKQ+QX-4m_@!l5MgwC!I$ebI$vq)SCvDYdx*TS_=!~mdMdZ9Oic5f8 z7<+b4SSCy^!+Vv(9mSI3;)RUNDmYsUAt=o?f%I}QblAQ}BDnWZaT$9Kt0frPCquNJ zT_sKeeT+~wyPaR1&h4r1-6_2Ug5kBM^LCWV)KQJXkZtomIWVtfVg{+|hU#^89WdOg zb?H_<82ynagQ$@+26K~&VS;1b*_3;JRH&E$iEt>i*h^s#6}_W3z(GEDfPf7!C-sZE zZUpPWT=+Yiq8~#0k+szV%GYBi1%|7k=~ugK&JIuaC3*rl)`L;}B|uI)qD1HP)$E50 zv*?j^f3>S~HQ2N+Wm-!;B0VsKdyZok1Ylgmv4vU7bpDIW8-0zBJ{s0P-NBweJCfP% z!eYw7eA1tD2Xq`+_e2k*xyf{IR57$+?syWL;L_OGc(rQ}AXNy^g}=QmgcMOh`)B*z z{@WdOivEjJrC1bS6}7mrYAKT)sSe;;&(hM;jj`XNluL=<|DHMUR;W4& zhIET@`^>iCVo8{f7dw>2*mA?t%mSsnAMji#BBoH=3<-G`;MQVg0AGenxVu2`Fhf~g z`W{_XfH3~(JT13D`W!tbAhN_?)C6NyxU2bdKS+-fIV{Ez@q z->UtP*FfQ+)BF^uu2UbGskzS`MH*zI@YtJrXi$NGC~j~ZN~kFZ=vDTtkM}Yc=4Uz( z3$5L@*ZdQyhE_kR-?OFO<~I<#tMb9D{#(Z%gCciVm(DVs@wv&UoHwNMe%H6r0{|ow z5N>9osBeMcEDBKpUXN}=OMl=0rrJ~xZfPrKm7v;S;Gzda+Qb1oA>H69bgy;inbXQ!pW}KX15Fnoro|H|p9ZI23={OI!4xdPWhz0ZVDnmt zOKyWMtxJ3R1BmXHo6pc;KpYLo_c2a1*n7&Ol$a#!LsBtd$ks8dW}EAyd6h10bAwh{ z7dHy@gd(lRs+!IU0V^bZ-P9Zb_~PXp%zny_gv5Ulu0zAMnL03}1Z5 zv)w-vX4;yo2gP|~1aZW(gqBj?bd#Y50wmb5`em=B9$Q3YQcE$WP*U2<)(OnM z|IDjBACPU8>s(6ct}JtY4z?AE*(VQK-U|=6_;BP=Zm1Nhp=+AFE!@}Fr}OD;OqNR2 zsgUh}Oks{5gsDhHPB55A7$v&ZJ`aC>v57-Z!x1|6{1zXIxenj?%9$J)jw`?a8~yN& zCcy%{w!#bc`-LXeY+d`iO3^4%lpTdyMD;8`GAO|=xXNOS5^*2BPkBJ>p|FrblNLhF z#Fb<}XB+-<7(4TwS4I3f?$`!E-saY=DKHp9)zx2rwtVKtV9& zuAYLRGN;dygL!WNUL9_LO|2~k_z5e2Y+a>~oj-Pa7^(M=x&8}D7i*tT9yC3N8UW9%sBFRq$O&)n?llpE;1; z)E;a%cn2)|kK5$my?a-*mhs_c(djBrZ2)!*j4{CqPUtQ*7PV$S)JvGtVb=J41(W&o zxP{s7KH}3l->?8myjDhVotFFX9yn0+L_QX@qR4IJ`T=eYk2wnn2w+RlxMJekD~<8I zzMsOcKRDlpCHzznf^uV!dKus3M2Wlb+D$$&Ke%;gPF6A*i^5A7DX?udG!{gL$@IiP z(;hOgPk$~r`-#v5hw=AtbL~Rg0tN0u`E7aQ+`IT!E=E}sT);l>)==nosRS&|PMe0L zuLT3A-x_$R%O+wi?LWU=j6of3?bEG`7@BLbpp@yJ`mL-@lewc|m24R=pWGmkda7c> zjz`fq0F5~QaZr35_x@_nXkgpRCxxyxe*=U6o^aye?~t)QnF<$gUGX!mzN_cR1Gy;U&r(7&wV0a!TY(y?^+f2a)z zYNGNx}-L1V!o$rS5D6-E|AG9YEZE##vMH+%M^RA(1pyT z>%oO0)c}}aAT<84`9b6j8HuoGt##prSaZKRe znQa^N+cb((%i<=eP|z(S=QfC4GluI=j?V5+R+_4kR6Rdus+77Ig*e7(0-YtHi&ztx zc^u$3yEQJ&cF-?SegoTw+Ek!eKtTCY4|MaFQwU)A+qh*ycDu__jkD#r0wv`KgW5SU z*&m6kcHg#!&Q~v?0V3tX7taNy%X>I*W2YaQmNE@Ta5yl*c=zP!m>4E&Bkn&ztiQ_# z%nxEbu#UPvtYf6K2S}fkoF@`yHDpfF*rH-CFWmp0vUM_Q>}gr<|s1>LF|-Xt56PVkT6-!a)cvQv&9$fLo=$ z8gnzhMJ7IdiVYuv3YJoEaibGX!fMn|XaJ_O&3hnF{PO=2MS^@`kH8N~epzV98Qqst%B@*o zeB$xV`-hk9xyZ2b(B?I3)-bPGw~qhKD=q)DEt$=0;?%^b&RrCHyoF5NOJcqL%Ywr) zvdhV23OG;gObS}I#d!^Pp;2_!>6o0?Nv;Gn<0gy2pG&7r5+|vvuWyh5j8}}_}_O0_hLPn`rRV|FIHTbjSj&;65 z)N%3Yf4eYCFGwaPrL1v0^3GpaaPLF&)8?#dl-CmN)bV7iuA@L>x$v?n?VXAVVDX9} z-q@>WZ0vL*>~u`hSYc7MA0-V9P4Pn|XOr^l8-F1N=4C%FS31!;w}ymPtS*xjbLJXQ zPc*3#=lXDcTUbX4qt4|DUZBys8szFgYpl)C{ZJ9#p%I1|7jhNTZnJ~#RqLG8lLAag zDPv_#v3;3-|8o2)+;)c+^x!bdb*|Mw3m{8087|~P{bW4y=XqB#o;WUeiKzFucoFo% z<$EoxX(GgPA>F$~3hv2U%2a43x<}eRmj;xBDolpmSAMy=fU+2LelPvVXs#s=i)H z=`;X^_t6o6`o2^8H$OP{uOy{RQO$BDG@`sht`O-o3K|Cp@&$Mv+$#XHmMQID(7?;J zvSIjYF-WoPfRQjl4tWxAB%b*2e?uq(^E{YD)ZxFD?hm5tXF51v0+vfr$34Tm-xIw* z$0&QOS}&NFMPR$l?p1ZF90O0+M)eI0xTAA7d3~_^B|-^7ZGs&w#PPVG<#u#ztm=o4 z>)cqRyCpEv5p%SdQ#r>GTHrs&vJ7L_#OCAoZv=`~Ph`5M=Sxk9_U9AE#|8WOk18^A zw_bj+!2~KL{9N5;hVq?I`CZbpRWxxjcV(STXj#?&TjINSGsC-kv|nOu7|3&xQo5$Z z6&^b=+9f`ES5l&zetxr5>xi$4kan7YSyh<0$=rBdamf5w)CdK6otjz2mhQg6L3Yi_ z@kA%#V2E+?kG$FieN#N$eSLkO2;17)mew8M9t$$1XM(?WCt2?>^jXk!Vj5l=jo<$w++C#5xbn)=; z@IPp#+YimLlEC7Wba0rvtuxzBk$+p&C@aF=uorQ=U!r>B_%6Dz0{-CE&B}yq`WF`W z3I;0K3f{#=g4U7CXt7eJzV8SCSYE&;Q6T}q&-&&L7!rr%+0ycHa&BIjA6md)Efk`M z38PyekX=S=G|}H+QhkgOn#r7Le`xml4m59b$eLU)D&uT2ZtWzEjoJKkj6W{Dv;3aW zg3Ko$g|TJg3IU)Cj)!YJTFvXQFjHmU^Qda-{k5czbVEvycoZfBHEeq$_&-I5w?mZ8 zO^Q8h_uf;%xy^TTva{P!dt3;LrPvRk+&I#ses-Fj#GoSEO}Q}l>@U)H{Wck`F>KPQ z;3B$~6D~APUtZ`P{OHwV|K3?C`NK`%GVxw$B}WR)=Jcj|Q6Vp=aUAop3l}cHMc^Ht z$jBE?Z@d_br0~?_wQJW*0DD@D&<%_aFCTsgmji%|GUKG{+~m(>E!E#!DX|$=sDjzT zj}?xE>rItk2pi3t(JqmoiJ-G2i|Fg=xeY<314vOL6ze76_{8HQ&q+A$lXyVcP$Cn* z2!!BGpgvO^ZY4VFcd+~?Q8HR_0i`$ocz{1ql=CXs7IoMXpherF`HOeRe`U{BOLl`3 zbM>n>RdauWTY6Yl$dkX43-^ZaY$gW808LT>mB@D(39Jjpv2u@c2%EIGpiTE zVOjo=w<-@2&7bYwB1yX?(P^%)0|7y{of6_Q%Ifqr4Xsurzwq@cbS^BQIP8&)2X{l8 z(7G?Big{bv*x2M(EB*t*IRiRQLQ+z4Y<#@%V~KZoR+dd#h>g&OdJz8-W%DzV-E>wj z@4*6PGJ8%4T3>QOIp0W|;{5&jL1a5XEK;^p zUW=B@&vl6cPE5-m8MavFONM(QZB>C>K(>%+Idjm{Tu(cFdsophmLPm=CUjozfI2zX ziHV7Nm<^`mr*3%%a*uAdM8rk1-dR{D?=Omq8FVBL3vcnd0c@6SU^H9E5q5qE7vATq zs;$)*U$Y_LEH`n{dOxFc7$W{zsgUjqEl^^J49C142D1?tnOoIZk5*JAcL!IEmuVIi z9B6t>v;Xcn1f&4|6&(Z&8-g)~ftMQz*%BJVRM|^Oh2+C9S%MeZl#m>YEl^q$jzy|t z><-Mu_d<#`J(iE3@YauPMHFt^kkLvVZ`Z#?ov(#-#gKz>_8~=+WSEHhauWzl{0(3D zQY`8lpj!&V5KyHSU=g&zJ9h)FAv>8+konx)Xz4Lt5PsAc;U`88T-lqDb#{JMuf<`q zC;P)qO6!H0nhn`5-YsB{njm03T%iu=D16DjeOt(FIPiTAcZcC}8$e;J@Gvyg;|3F6 z=A?j0`^$RB#kQkV4j-UmSng{$o7|{xUZVX94a8W$c$deVr!yY_8s>o4Uy0GZAvgEz(B``Ekv0(^)huO&p{w$!ZOxUmQpMu7*u^{KYG07#EBz16nw z3zQ0MSA}zoW|YyQ<$Zv!T>bN@{jdo_4}&c1`|)q|H_B_kEzRk=2{P=Rr{n(YgnW@z zmi0SYLSs1_VCG3XOyg!_L>`uOz<&KKeOo)b4#BpmlMf-Fkp!9BqCI|UTl*68=S_!V zbH)CFAORPrg_p0{!73Hn5}T{r8Lqege64qt`i+urN?#kAtDB(8NYD;4@&VNpRH&&s zzF`8Kp(zR^$SNu-*5V>u!RLxJ-9gB$m@D)X&D}>CENa=9ZoYkIkb%BBbb0|(z@aci>s4kU`6DeFaBOfzAKPTz10Ebn6 z(ue)@|7(@7D9$!aw$aB64$-zi^1>BlIxMIC+$oW%bF|Q4VK}F4jve4e^6Xsc>FMlz zwcn0WlMg_<{`>W-O^2wm#hjBaGE-oT)E{QqFBB_SgM>a7dGZRl37ysKbY0c-qfO$I zfS+)+YS_~fx^}l6YGi=yedtQcaG>FwH~&YkBifMEy3LpSVFMfwpZ0T9E`rP;`kDG- zya|bX14h|@MkBy1#=|I%7DaV3SIB6YU)y`Hzu`iNdkXXnbo_jc{y$Kx2W!DO*p9%< zxsy1Ulmd1*@|#||a^xwo3%m{%7DOZIGa)Rj6BT4hT?-RRmjRzZJ3+fhzdVLH-g%TTYi;6)!8FDan0F&tf2_)GQj|%vi*(oq_ z?Y|u!=W=3+#Gew|JHVP94Cq_v%MUZm83>zkVbLBQ%!#7eUv&-vR{(+_fC3s$fJxAS z3pWhHun1KKKzDWz2!V6GLs;eGn$xB_nwpw%Nk!CX-hrOJzVaipr3*@%b^AEGvaHS! z?u0=Q=`}@-g_$ z+hL3dt!BK`donFL&()aTav+-{hn0LN>q7P+o)eJ;{=Mx>eZDghh;(60K0N1o#2pmnUOQkoh|_2#>X~6Z z)#(?WpD&6aqY#1b*lV}(P+zdk-o233sv4~@mRQ(v>m%n#W&p&H)Z(R-mT0Z+2AAId zt-y6mO`@|3Fx$JsX_-8I!43!Zo(v=x?hd(jO-uS47Jz>4)^?TVXD6Be1I@Hq;uhg~ z{AGg-QgBqPbw-%@%ty3>iM&4OMz=R_ZlG#3Em3^o!>uT~124?ixlysVyuy$JD=-Lu z1$C~@NeoAeF^dt)MyBRqTpYBGS1j z#rNyX0Ybs_;|SJ)bHTc%n(N0W!1-PYNC4(A?TPK{ce?`}Jcg7nh_}Tl|KrCq_6>SW z@a1vYR`Tzf_BgnA_~}$32r1+4y-O8RvcM?f#{>u(?|?+OM+QR5l6PVKyC#}}z62Uv zRLFLRVmd$T`q_3S&aMozZA)dIeZV|nyMwUIQv%GhHz&YpRo{^3L|UCkD-=2BaoF$p z*Q-Ckxp@HW5*%X)tpnpjuYbLI8d|rBx_lAaQvyuWCk2@P?dlU(8fcnT^vpb`DAhbW z=IsmYq%!06YhT3Q%bkv6;O7V#N-1FEq0$aG4Ki)j7{0Vq0i+I)`oTp7XP*w~J6lHH z)7#6W`KGy0MBo-x3Eu5wTOD9ZrCXo2hI1vO;VuC}EMHoyn37;IR zso4}L`yBN`%Ff9NN6tPJ=?n}EP@OQA!~7}6C&j**G8SU4O2jSLBBBydH+%EL^qgMM zgc*00_Xu~mjlIylFXPM=exAnX_m`GnsbAm63ua8*@+Z46HW&jN5G-|q>vX`KzIci` za0GA{f_xn7-L^7w>ZV=_U!rRgx(bNFD`v49vzy0A1H2QFILr+MD3mR56`>w*3*Jy7!d?@4|pN@5{OgbXy7 z-@hlhp|NYB-5`~)=8VepS)Sw31^!jZ?$`!Df25H!H8K>I)!xN?!^^h-^{NaH-v$1U z_Q=PQs^;d03S#=&?SidaT&>!KZC{IqNE`-MSj%>VbcrnQb_7n>By&G@W`x!l(TWu- zs%mR_r)gS}POsc+lzEnQzDF{=JFrcSsdCio6X?8HGgC4Q!(l8047aRtV}-Cn1%?s6 zMuRj)U%DS~DWsn|ItEbU#zQ<(pnMyiyAxJt{pBUlA{&(NDhq4_s>e*g`CS?}Pp9Gf z)VV%`UtZbYpuf6;6%?;72_L@w!Cw~p?N?v(LT^p5rw|Do8(>Fuyf(czlIyecrvEC% zDI)0hr+`)UfUP+b^X0!-RZ3u0X~`60i>?CT@bm}I?~`vD>*e~KHz{6OND=kVpG~g% zvcRr&n=s&D|M|0hRf`I8+USJMx+DMjv)`!}->W#_Iw-|)LQqe)mz0u6HIuMq6NbHh zVjAeiMWpjA)C1cQVLxzBO>>#dlXS!MJA1&%Xz^3`wR}@v4Hj(rWlZ~{KMP2)P%XGa zR}axaqcwuJ>LUv_%kPn#Aw+^%9~@xI?yivf=j)!#7xm2@kFRnlB>VRaJ~xqcuJnFS z-biWcHC^A6&Ri)sXs}7jU)0=p_9q6VNxuFQKSmB6Jp+z)1#W%B#g?vf<`jqI1-~G`sEp=npI2B{QP9i z#sFmj;-YeLBg{0nZ#Vom%O?d%rNkNCf%z4~2{_^Xlic^8SVRSBUye@;o4F+_jSdrq z#*oL#`%YfS+7=5~Jt~G9g|gZ6_a3KYw|BdWPhrr{jIg zH|uMlTk(I8m%QmsgXu2u6Lm0zD*`M7zrvwOj5%G9i4sC~C*pJZw^mheRTrH)27>pW zcs*>$>2y@FYGMnEVaiU(VIK&kiiE?x+$*tEhv5)9+(QCbOSBqN^wM^s@$@rF|Ea5+ z&y7U^xBnAADjnoP7I{%o+B2y*N;QS?M&hGrTRA#dqAhTE)6|J%ut@u}DP7t%Q zvVs(@cyDD_SJytWeEwV*3RWe+D5cMGl4KBFR=OU>gApWuW+JaBcuue# zAExDBGP1IrTG#*%iUN8;R;>>l>&uaI@IPoLF_2wETy%?_#TN;>sGUmX*jCe#j(ZA| z2U)cR{qtvs%$vUzoxN<{YG({auoM`<|AT2qgiO1a=A;BV73Ot(HSL(sq|Nr_O8`ui zJ_vx`|9asSkRaU;k^i9ld5eF&a9(;#rTr*hG!@te4pRy^O#h4BC2G!K#%iXklEl_f`e#qyNpC2K~&sxkeTvI=#MH(=pPu zvssnmFJ`Bzre@lr{y9}-CB-``_#}(z7ySP@tEA|PcWmJMulU8Lf4}a98K)}ix$&yu zZqa}L@T6ji4o@dqI;SZqj;hi<=Nq?G2D=NvG=LSe;$i~k&t@Xvm-r9nVfS^ zsrJZemFqP~ELC@G0EgM&%BQ0k-EkCfSzPfBZufPcQ{+>g07!wk(409sjDHd?0EMD5 zL&;Qe{mjWbky7k;Jn|QW|NYAKqYA0prWJB$o6SHd>;s`7QFeeCBeegl#4n;e&NWm2=(9>rX`&nnLFU(csc%nM;S9Nm&j6cO>o+~G1BtnWv??tdJ{ z(Idcq?!rg0DL%q){IbxGyTHJ&OgKRp$a0Q@ho@-de^_Eb5u}H+Je+&xx;MhuprS%v z!DpfluyUxNCU}nf+9d$eo7BoH76RJlwJfnC^n~aD+?*TqN9RR--DO*Hk~y}UDz(Oy zjS2vAvuyNTdz4-!0#%?E0tkl+ZS`j4@8;y>;JfG0FAUQU1G26d;EJ>edU`2mARPf^ z#;wb2i$*pw?QB!(vIY!!$5j&c+p&px0^1$Gd>H9Rg`&8LMwY$O{!eqiIAX)YeAm(bb%a=KU zdlC?CTn9J)&K1g*+U1FhpiqV%3aL@m8%HIeZ)toJnOe?Frvz|+8VOEf_3vy^HO#x1 zNW)YHC=b$OC*-d=$;WxiLt?Tt6k6r~^Qba`Wx&eo&H+22%9H7802_TLBvl-MZYq02Y`I ziq52L9>0G58b+_`ghBch&9~PxFi`!JA9FD{DK#)QE2GiAR)g=f?>*VxK37EzoAZ}) zhl@I;ju(~!*7>p8$+>wbrVhN6d}kry$14A_0rV^9Cn#*GZHm1+ZdT3_WR!eu_M@4f zp2W5X4cT{}mh1=UzF$2%jIviGYr9$M6hXrQjde!mV2J0N*w-;a`6CY>x!$Che=X1# zhmfVEn$Ma5Vprz0F-R0mAAstlaPuyFZ6x3f&ag zUY6F`E_A$d}fW{ z;PYkG1i+`Ma#C8_xR2C!=xSFFB{Lm>mNJsp45J-dzO#-0W5L#o2bS7>dg!w^ICP z*-R<~8bkYBs!`fqovgSfNjeKT2ozZ))hej&nNL&~TIy{$Dh`s<=fo?l z-b6QlKL62SjhO#3p#RnV{2snp*Q-8-&q@9gl$ zsol-sgJV`cvwJTve!~LrtQSt?9@QgpD^sn0GkS|c1!ux%(?o=U_SL zYFw^vN~xhmJ1x)!b!QZ)X$th&!I_rH+&ujtd8F@NSu$lWRapwn^qkTNlwoOfCf*?D zm1L?xqG5h(4}w*}gzB@YX=(C;E`5JFZOpG2%)qBC*Id>?7*}GTaNfDj%_kyjN5+Re zFYd0h@|l#^(43ll;d;v_qUg~Dd0!%yvb$0&QyW_NgskG>tLIA|oz^~Im3;rgZr8h| zK}Q<=_?ldD^LLT06ci9B)ucql(c7Vm@~2o2fO{z!<_S;Khrc<9Dh;4yTKj(9VH<>j zETS>a-T8446Mp%N{oyPPqKrp9H;GVRc?F7XAuhV7eE!a5>w}47Gidov8T%(6X?Ik+ zIQdj2bj5n^@?pCbtnNyrbDqnr$KWP9g7ph7ok#Ok-<5+%?;&wZbl_P4`R0?~^#x(Y z02!$h8=qb}AWGAQG=kG&J*g<(p?fg9z+Fp^8;IB^R=C=rHJ zr!iH(w#bU^FSNz}${MaoRTP+mhSt3}%@5V6KW3QwX(_aT~R$m9eN|~79OBt1<@1_=sM?_=rCY_%rOO?WCIL0|2ZfF#+U)9 z3>>z9v)7G+>UC~qG>*}im8RsMoz^!&phR`ch6sDR^Gqg>VYLB|?zKXtvkLoGB#gPL z6*suDb8d8SNJ{2cno29Ym>;J!U~we)NZqDMs(?i97cQifEZtNACN?>=({t6OH=y00 zCd@+H1;`!a{NyIklp}SlGcz+~nmbt??mi6&Q2|9(p*Uc%s{(+N^IRLD8mAt5YPYj! zP93iuRnTc)vc>u86v(ptpg_!68Rd0uX$Aaar2*86DQRC`x0HOlI+!=#7BTbztiYENy4 zr>F>OScXL2tBPeP@EazB_O=U+dPJ`;74%_%J@BBGPGT#AL$1MwkVZ$W8} z3AFI`%NMhOadnz1G~l!NYaV{z3K6db6v8yb~_hMR$rd+;Rx zhwG@&91Q`YwPD@!GO78i1udV^t7{5V2O+oXt?%7~vOQNx&)tcj!8#@XZJFdIp zx3MZb4TUn|6S2KZ{*SG_0Cj@fhIyOU4YBjiCeN?0RW26_z8SaBK_3p+)MFlI89uY9 zW0Rz(rA0L#b+bcN5Z2UG0!5{`_Gn{Oenbc&i)?QN>y`W zW)ipF$Z|gAj? zs-B@CGyzINRki8Mnqb+|qL4XOm5C;fY@>YPRRE_AFR7uIcjlU-JN9c!e}YZ@*srr3 zoZp!ix5Y8Gi@%V8Ix3yB_jv`Qhi}q^oiB3h2@n-s)jBsAAYAv*Vbs7be!N5FB6&huP#2Ls6atAf}a0>gwVji`QIQ3Y~hW)1Lv&6ilC%N1;k}G z^dVXWKB=wiYB8#$M^p$dg-_6^In7j z%JBYhhuU#GR&UPF=}rQTv77TGj$^Lie+|Cd=;C8C&gIVTA! zQbZ|`q@ZLd$)SMy=eE1g>AL55FZXmm{15lV52f6-_L^(WJjeLkMQ~qY=0R78CwHmW zS_kt=HDxnZT@s^AhLK4bMf2wQ}+kj+$fIttrj8BQ*Bl*lzq-nrS^4qON z?-kknisgznNqa+X;Lw5d`xLr2Locz0lKck}&yYl)3qv6`V^0R^&mp7CVK%sc&Muhz zV~gHv8u_+)D$YhOI@|+JEr0(Pgq+)J3)8~=z*rRk*#8^VQOBSFaigtai}Ru~K}Z2& z$0X?h!)3&~i!Vx=UQ%628nVY0^z%862#kG$w#7v6)Oa6uG62P!k#{?6P>vfcmA0qR8N5ae=#NdjqKXXFO< z)VDwFBrayRiFmp#=zBOU0Q|?Aub=`{QQo}>BJC~xcaQ#&K=fq+i_^8M3q$gW$HCwS zh?i;WK3zMR5Ll=p8WbPE`)G4JoicJkppjN5Ux4IL{QNzxaKLe4sSzgy18U!+U3|;L z+1dFb%#Z)Gg-n2ujgD(ED7eW|r{$CbUXSehD>UNJuX5Sl_y(mYbtH{9zHPtk-o5*xmKJWz&T&z3-z)dE@yOyfxi+U7iZ)_YOGf^vTPuP$RPlpd z?B9A!|K3*$tI+ZFzc8+y5Sn0iz6vI}Nxr|Sb_KH+rA&qo z9@@L>EqF{@w|TF8feDLK&`0{0i(J2XXvt@;_P@9!;4slSCW$W}lNfrC53S|UYWJ60 z%YX9@)T3Sj+=ax6tSYa6PSE_#5&%3oWsfGk7t66uFYs?U{(cDn9?VLr=p}rQh5TTf zJd7|UAtOwGwaff>5A*#+w1I(uL&f5Y<&3-+_FWl&uK?y=UzC(=+q^G&5r4qq;-Em| zu|pyWx2XbGr#>Z<+}EF9wO0s+0?)NLQbqRem%zemDBABsfEb%cEbZ(NDhS-vxOqSn2Q);hPX2|H5I`s&Mzv$O~s-4|I20m=_)e3K)VD?*&6lGWNaD(Wjnx0~FR!3&ap6w@cE~S$_v}ET!rOq)ZEY@y zpcViMl(oxdag#JZeOos(jOg!yZ$-XQB`bK<(-&h-)Mwl3XxB$g$XXN_WY&=A+(h-y zFy8*4Y^J>8=Cc~+z~d?E20>ncqx7P(^10kg`M{=i;>I9xLEEW$Hmb@rX1Lw^?CK;d z%M0EK)4>he*FEl&Tc&={t^fn4mF*c#+7B6i^vY>|!^MiGRrPELK&;WLD z>b~kfg!te8AfpPW?5u5X#-FdoTZnK4hQF~^zzp~Q215eT1vfvOr6(9(~#a~$PbW_qmT?` z+4FrQr|sts#p6(rqH3=QNv`A!IK3ZkugdW$gB1A{DYq!a!_=_1++8-L4JvToXz7{D zpv|(IChn)IfwcbW8w=a+^r?^plj|`CmfFxH>Sh9)=66+`6oBjJ?~5RFm}AUkNdf^t zxN-HV?nc}jyD`$N%Fj>NR{#@?>?myhbMn(S5S}4uSlLDmxd86K_Va%}bw7U;{SVZK z0AW_r?gj9fw(n@*g@$Vv*^{Ju^5<(t^0J3d!nVg2+LFxC-GCPK$l19d!{2gHw2}e|IPHY>${ZcnIBVgFbIrtAOvm+( z&Q@-PHpuriJ-ufD(*W9>F*GFM zmiNmpei7CbKaxHB`GvT$ACP;mUp4n9aplN>=gUW?1DJYZ>?|orl+@2>0009M&NDWCqQf+bz#>k9yhefs^sa5j(8(p#3o7j@8NZuNHE+zWe? zdQ*br(!bV*=RXR-k2M3vYq!laMv{#1&lf3keb+92%}Y^iq$ha?b3Ylm3KPAtP3iOf zTitsV*qe{nY%NH1E;gb+@XJt{*vEt-asOg;Y-h+&<+lAp`iL@%x%T zKU5@_LPi)4x28rx9LWUfb>N!RuCI4ps5;Wi`$sQ;`92VZh$8hCb$Q}xK&;fqpPb+?K&_VF0(lgdXI62*B91JB>jG}smc6it|(Q#_=;>QCSK{}kH) zDKt`r4NC9I|0%S;RiXX=r^G%f`8cf3eVbkC?HKMEjSqp5Az}08HU9KZx^HlSPdKER zjMj%z1uR>u$2!wARD_93%cG|4$$IZ!&pfWNt~2pxi_W}m;{l9E4!Hi%;fE*VPm90w zCSE_9Sumc;+IXKeiyb(CvZG=EkJ`b%Zp5fBe?W2sE3n2@)?il_^g4y_O?ZC z8)mW2I8@ZwqVj>HTk<9Rj$OHiL_Kq(pzGt|n$uGDq;}G18sm7fzL0Xw-J?Z)wab zn>uKnbylbpJ;|6RJ9w9ZdI-=$--|Cc$8RVEN-TWNU`2VIZ18yG_~ss3AUs!Y;>^k? zYx^5f1LT1m;HJvP=X*Lm1o!1}gZvoOJAbP$56J_0cH7(`5!uh(5@&v}y|kKF z8c90nd`l@lx%mkA?FE{W5$*EZ4v_ye3i_zYdTsQ)`U8h{m7<1E)^s5b{)hGg#&?#J zVab=8QbtaTAZXU*$*QnZ-))FmWR~`_fo!~DIt9!^Y9#XeNdV*E7XTUUM@3wf2wT5u zsq7=bvsoKJ41BmRJA}=(+r`h=lqxQje*$tzHx90Sya)GclO>G8Aa-TZIIhaR*QMA1+GkA$JIr@xnI9B>wghHfTr9x3XQa) zeYc%lx{;%+$;O|Ey%(`hiu;5XmW4CcbvQW&8kt=YEbqXA``JCOfeQV;DceETH5(z3 z>PYu2wLz)bf>~6OT7r~twxYoi`;u?L+WEH~x_IXK)XwdPD-+q1Au%^EJnwkEaiPp% znD$+%aN#!~f(}nd+5gl{AwAl_S4kddn|;EC)XCvF+}gE0u!J^no{9Ux>@e*^Aj%a| zcpm%R1j7`TC&ybIdBM|2+VR3}R*~fEa6#Fa>CUeBtjtAJUCT8>Z4X3vGND^gV!+Ma z?Vyy2{_aENa?KJJSP#C*%O&p`SnJ2y${MV*tM+Iao)wS_8Q^j0H+zZbM-fpbXAjpA zcdm@9b7Z;>h>T3#w+av;?t{qa)C*GL1DQ97j3UWzdwVR*MxI;s1uT%TmAP=EM?oT= z4)3I4VKxBz!WAD1!S}zgGwPMc3Iq3D0e4Qs-GJf7prA0#3EWMx282I2--@q+{g8*) z{oMy*(Wz6oBKvpdK{WiSOy}0R6NYEXPBxkt5pDt?bb~Pd1Nz>%xwmfsn6;9=#OJ0X zwAO8ZVbK!b)7Mu9))jbkOG&M?*?@4kePpKffr-Kt=BchXD zw>-DBVssR}tdt}latO2Z=?$s^E#L59k9Fhcn)C<;OYV~%+R8c4gw-i)z%*H$6I*=3 z9aw}jOhSQf55UGrh`Re=o-5jyO>54E^}9Zl@>~-VD(J#H9jWc4z*Gv{_|AfWTbn;` z?*qi#qM;%!1J+*KGIW=fK%Dy@c4WFh^ybJYcSp-ynQ-OzA!*c5-K5so2kkBpYVO}7 z)afJDk*XM=I7Yf;he}3M>y?Ne#|Lf?8x_z-)H+Gv^JQW5BNeeCFDUtrdvrh6-DII@ zR;dEMHXhW6_@pGQY~nPp_RJwi18RA1GhDZA(N*DWarb&ajCn!)S}Qy1 z{WHoRcN;D5Rrys?>n0rKl&=+}<*lDb#nT!Pdw6y=XOW~G6P10J_8N1a)1)G+ByMKh zhFs>-p^VP6le1X}-$s zlN4ewRwjGrxqM(>epnoBLykqcT8lB``AUD?Sq7mp}z;d~m0cZ09p_Vp)#vrc` zDDLK`r+PqbGh~;q>FVG4hT!@NV1{XXySQNn=QK15DJUn5UDk> zh7fkv4MKK%>*VQ8cd~{@5!E|?{>~&St2GP4&)(}LHl&447Oqx9&^MzhYy?Bk>BZvZ zc*1Z}h(%+uEL|{-sD72|)BCme7X9`)vC*^YCOy|p_8Iv4PGhL8aZ|qool|K6NDFv} z4q_S4BeXF$qw$B#)f&n?s4Q+8nLB-G^KS%VpZ)cvqO=Ff4BB*2V{uC0GQ%!s$4`j1pEHHQ?C9CSbq0&YfHgj^EAT zQk$OK$TMa)*T-Ab>VO+Hih>zvTJO>J@u`dDN$w_VSh{lDeXCwxFL0;XNEGDkBT-M5 z=aE@v!J=NGw7nOJ4Ux>69gQF79Ga4=pK2uMC}7!rhT)E94G5?Ok@=~73xPJ ze^S0fWUHAom*bEd%X)8?M|xVdk#|(Ka9e~M8EtJB_)&|UfpV(KzD-7NqU$!|*uOiO z0Cc9b51Xrst>TUa(aeA2>q6djU+Q5as_D!;>;v&-0{DJ)$uV{h<0ajHxZo4%*_wjc zo!d~n4_4Y5^M)gn=t7`PJw17{9r;I}wFXuqn6ZJwfKKw`FwM?2LkzN5DdW;t#G<8&s1E9xI5x84h}3r zP}^K`BeP(t%1d{1kx(o>qoz?A+sD4#xRKWX?G@)Czm~$~s;cOYT3y&9%a9+|_wGaJ zH#xq!9&r*#b`1q?b_QcsnM4DCmDjwVStIgRg9IMxe(N{ZH+sD5px>FEl0DxDP;y^l z9fjmqa?W;LCiW6G3G9K=Qfs$&vk39K^rA<*jqmZ@IA0HpX!2_WVf1m2l`rxfeuN+X z#DM}75*du>)4+-L`5xzLj+pLK0Db+f`$lNcnHXRy4RgL8!(yz=r(hrez4x0LhTyhf zFGSv>%*NCboZ?Ol#!GRuOWV(;G@};A46Ngdl2x=UpKe3>eXbzYN)XT7C`zR})BzJ^T)G4G)p>#NkJ zU{vzxQJyFui3vb7_;$)HU1wdVU+H2{LHRXz0N}SGl>Gq=yQB^{O_w&QVw!j*E-laW zTQ@gRFe{ZLq)iTW%hJBBeVP(HvWp)ZyK0EUf-B$OgqVf~i6Yz!hpDZ)gb#U6wKy#I zhvpfv-T7*Q`LfgK6gqu>!pUmw*}dIcYl8^x<%%nx)G!7GjPd^Ze^X)xzy@W?qc>c$mouvJDh}@?d)vLeQ?@w*uVM@;y$iX`zT!I|8*z1ZSH2m8%nPtZrV#JU?EI@4Y+GG;qDn;L z$S(S^ZSX|4#0SAw9AN!_!NVDQi#({L6f5T=qX)Gy8|v#h{!2(DY=Fy>_|td(FY%lK zETU_1N#u7`FLM~uu) z@2|zC0}tZR!u7x^sgW4>In`3@0F)eh-6^KGI-Qz{>=|$h%Kg4Sr%oTP9&-eBlxPM| z((A%ad_*caY-kt7Et*!L2w0|*g6% zA(OZrp6KFpRQy6cESJlWoE6a$qzC5T{)Q$TE2qCjZFEM4tkAU6cud6(y3v!PolrFIH@QMR?$esZA)S9lM;j!N$^FxhVgt z7?xYFWW4>S3nSfPOD#Bm)35bKlz!WM=Ns^#V0{A%kPr_@sL=0px2!u7+T-`~ybaVYg{Ow^@Y25Q4M-%;19J=!yJVacM$N%TW0|Hhpm(4^8e4YvV6}Bp)|C zu(4-nVQBuO7qAuJ)>aXEQk!h6J|I(d_#n{uEM@L@s-ynT2OzK)K7z2%9U8_4+VBLIIDTpDo4121$dRm->D&LXe0 z`8lH;z)leR_Do|4Ty5To(3xrgL|}J^>~SEww3PbW|VuRH>%bq z(jC4&kvC7MSC>B%C+1+f)Wc_Xti@rtp&lmawFD*mambseoHHDaMIy=&Ai6GI844Ia z3GjM_nwze22Fp@J_Y?j8CU5SCEwFX8o=}5vb_B_RHCl5N&sw_Oss->26n=nSAT-q9 zzr3-|)KJ`Tw1$-WlEcau|Lh#O&AY41W3!Fy$m7{(VUo~%@Ex$?nJsw=xGjtU1+$UP zX!D>&$@0r*Oevm5z!B##k@m7n*$5RRoQq#+7U|8v9+!eIof=4PX$k{IWyqy#ab}-+ z83lJb=0K+-oXJyQ!<>)*M+I$>+)wkPEg=Z2Izi17AwqosMHD6skiTW}+d=^1&lhx zaYST6xY~5=PYL!DkV}VfE`5A$W-ur~W1E8%MDVIdY8MP5?mh_0G%~RM+NHRBDoWqE z?b70*vlLn#t_{Fe#To}xLk~_8Je4S!rGYnD?CVs|r$2fDfF*1gk_8zB38l4}tNYsf z70xdsTqJ-E@`(A&jmrw70%@y=-EV1E1W~?H0y|&vAC=d;AKZMot=-;hKIW-JpeJz6 ze-Kal=DJZ9Lqg?-ylZc8h}AuSi~m(V7B+sWL)lBP6(5M}B1 zi)&O1qi2Y*0y0WdYLT;# z0NOx#@RzhEgU!pXGjQtzVZ^rNnJq3lRD2Y8WCokC>jl}KJk*;%d2aQh?CeC5FM#Nw>9Pkp0(`OXA3 zn%#qU=@v+b9T+4sG_1cY8(@6g?Gg}X?XIvnAYH^(@@d?zeAa?ixO^fEX;s)8ssPfk z%m>AuG=A=Kq8y0D?B81Oe`Do+9YLT?ZEIB}esP)V+7k$hOBW3vg`|4qDT){BuegFb ze-ZF26ah^ZU6jJ#1|)a}9d`uKx0IeE)Z;vwx>hNdeajdQE5ucuP>H@a-v=B(aTGX5 zvZ(c2SE*W)AAilz$;)*G{WX|%$8L70-l0p!!t6+8egeab_d%wRjjU6c{7T8kT62Bj zNr?2Om>{CXMMixo4{0B9j`A{`C|_Gz0@`8D%FV@WT&z2=9K9tsN}D%?2$log=>hy} zx$~RT_TEk5iZz9U8#At$E?sLgZ(iX@?TPaB4aS|!^VUyCQr0Ai>+=YSZ08PY>atDY zg#m_gPcUb>t*D8MQ4N}UwqX=j8n<|Y@O>6ZHHbzVDkp>rwObs`48=Ysw}X359?bd7<%=Ja+(b@< z9F^7aUVY~LTg2uAB29GRK?ej+5YDBtBwy7^%zxIRzZvc4dU80PRm#nJRPv;BJpNYgFBm}cVcfvJ%8o%P4W!i;bZkP-E5V$s zu5UxtJ0ZE%M)rKqI{wA|+TfHv6{q*$cyJGXKt_*GA#u_{9;aVA!Rr|_|HG^L!(W3> z{M)l8a~2$jZUh(WX3MM5Cn&q&z+`*4b zn~F{v4@TZ|Wq%k+<#oUry4z+{ZLaks%-_4n*&0sWpJErpnHW}k+DbV=N|M@95^Rl* zCBL7mV^R_&Gj+u>1CnmeyV=Br#9e1%Rjf}Pj?_!hkW#DPDN()S=i9E{r4O)0OKeXrc=|1JuLmPOMsAL&iF^h4EL^kzmobHgpRAWQ_>HT5 zUSwxq^ARX|UW>=AJB8_{cbW)zGL49vjCj*A4kRITqtwMCrMe?;l8rwXRW4>mZ?iO^ z{9yVZWhU>L#1%1%kq=QimZE;S8Zsj2rPwoOiYkei=Z|l0S}cG&6XLntUnJ1`T{()J znu#~?S{cJ3Rc}{1R*{Sk`;|{3c>{IO3`$qe_{(g7B<*&Qy08CM=0EhyGY-&6!Cl1W zW;*|5b~caiH9Cg{{HUGc_Dt%D_ERt>jGfr6%fzXcDk&zb!CxGT#A4CKmel4_ERol~b^n`H|V zAghA2?tMzu(D{zvwFrdY%l#nY!YdWF=KXL<_l}C^rDDTZO-3EJqgGAIYCk)QyH+Yp z&_|L7LODaN!ngT;`Dr#|?)CDou9Msantp@Bs|hI{d9|MbMST3bA4oOHxol7d8D zM_@WVMXm*udPxIg-DTG!K^wryM36X9!N=sqJH@M4EVt=ujuL+^V%`$}5MhrkUmb~Q z%hW3ZpKFkc7_x^MNv6omLsTFVl63vG9$d)MNjwQm!O!JEe+sD~=wlvSKA+8SRJp%@ zPM(S~gKXS?o9mrnEpGLC%onoq5xzx4F`&xIK74 zpz{5YdFz>Yc6a<-g(w&i?(Pyu`#tmg^-uDurG2<+PE+9uE*xM|+23&GM5B~AD0f&Bx&n^D?TyL3C1g z!B8Kv%*xU6YUN?#Ryv=ue%LaNZQW5%*|(437Oy6V%6g^*n9ZeJK3Tn-l14n_xPFR& zlI!BtD-aWy4WdeB9*(QNq)oIEx|Y7+DdxU3g>cp7(MDP&^N%Mhgbpbgt*J8%BmuhG zQ7@o!lg~D+cx0HgP$G^Ha)Tvo9$BApt!ff??-FJCWP!rlc*$e)<-}1`Zy8-OGx)?3 z2IF!$2cv={WecPrk(wFiYDd097ZGqleML40BvoAMUW@PB;@#6#g}gF~N;ieql=EvF z6#aIVWft^xag{kz-A=|jaUKJ=nD*A-T368zuE0Z*Zk@_X=c5=Z6*&CZG$M-0w(sn8 zPh79Q!n=~+uE_O~3aBy=oU$nkARSj>)K&0pVDR}s(V_nGZ8nU~>)iSdSa>Z1I^5OT zk8XM0di88|)k%@&1S8gZOmfwLqNA_jHf}L^{j-6r``eAm&KWbvrFP&owE6w6B!Fjb zvs%l0^VPL=z8Db}|vgrI4AU<&i-VAYKUBLIf&=~qkQ zbj|zT-@HeJi;-IiuUJ!rK{d)zjfAz&@)cDvG!Vwsymj~0H4(W-TS`DLfOKoW~+rR}HuVC`2YDuB}OJ&W3o$`Z2INg-}%` zIXJZf19h3A7$u(w8G)qUEhZ_+$iMA^L})Cy=UrbW079#&_7I0$;HgnhwwrcT$NIgA z8xB2Y5%meg_0bm=N^zgTk%^6_wOIX<(6EDfJ|WFIlc8JbNLVM$8H#8Kg_96I>@Ej^ zja7s{vx_GKf}Eh)tn|olJ9l)jKz~B`+<67p(-azI&f`y2_$<6RbHXoZath%fM?SS$ z`&rAtq`1~ocqA&Eil6cR+fTYam`Y=v3FA9M4^MXOc%k%5b&4*-{b_Z|4_A}qKHl*h z08~2e>hKGxY1>TE;ANiH!xKObX!c4{O-|Y9(6)Gv+z|!uXO->4ngQ&0cIbnj(H3#XA#&pKn?mq zCjJW$FlBZ{ZbNypF>8o6j>fz5LL^dknQaLwl1rCsQcyr&<>(s*JrUQg`(OkH&|#&q zKE^Yvuy?80c)*d;R5>M5k^O8VWyZ@Q)3~~6jDFM=SQQZV;1IC^;~ho?{7S3LNUJji)=7UWoZISMsn&SM7E~?zSYq7v! ztj;vRYFB(jVn)qtE;M7(d~?-_mPcpUe8sv*mKU0ajxjsU5(4E&3`9bAI|!<#XrK!vm@B*d4D~UvySB57+1`?b)%&b=%!s1N z02k{jbt8(-z^-s&&g@h&A!O4KiAlnYF=`-ZeLF)U~e6t%vdUE@yzP7Zm&>q<)XON zaoOM;M3d}Y2khQUMs`6FemjR>rMj^QdRreLHBJ`r6l_POeQD`yV&v72j1%<4w!bCD zJ~NoQOBwx%C!1fatJTZ#%P>Q0y1me1-jgm>12p8l1{>ADC6E5Ri1%796B|ps_o%Y; z_#0aq3I~mdw*Xrv))07LA0;%HP@V59y}7sw=*Q|ZqWy%vjmwkCK1NglBa|yt_%?)6 zU7EPsk{A4@Ue3fa_efQ~ss{d=fja_dH}w4tT?_f^lt3hQo7YAI0&3*IQ(;~+`;TJs zJ{XqtnGZX5T|-7n_D&4+w86EK(7hD*M_&4W$`d2i1npFOdy3L9_|VOF`K@BT*2ZV= zv9Bj$ALH_^I!pn#2%0XlEqr4bVwK`*=e*;)5ZtPxem5p2?uL08F)Oa(iJSP#U$TVe zWKZ}Xaw$46u*@)hSb#(4T`gn;kYe~Nbz`eVB`+yFlAsPqGzI$1-$|GHhw_{_`0 zJ%Dm}-6fNn-STF4MxU{c8xb;$u@sjGgqnTm{?c)1vU6r0Nk``1UK5*DRCWVIJbQD zeTv%o9>60Ma2dEWx<9q(MvzjEo-lTgaYn;y2|+UQFl2P<*HTv(AtaNmd3BVe=kn(+ zgiI4syQvkGHV(b3!mgcYc_z}GD_O9rm?nFWOE4Qz%oV5P^ME}8}RL4qNpvC44F;JW!bu$pIm)R_U^ zg?HlTMn+=MT{=Hf!qmqZgAqnHJruMv^kh5wmUXuARfVEVjD@5RhEsoZ!4Fh$51X?0 z)+QQLO&x*|j>|b+`B0jm#l*Q{AV|MNWu3}zfuVQMcw@e5!Mn(Hk|>eXEeIk*@?sf` zbW$tE&CB(WQ!J`ION}?0P>#H*VUz#648fmIujRL2+f?ywSPxG2TONx<1;3Nx;{2{9 zMuj7M!c~S-^g)M2+=grEJ*#8OPS~?ANAjMr^YWy0(e%eGL^V_3SfgWzgxVJ48P`=| z)xqt9#LeXb8Gg#9-@KFP2CnbWbaSkz=x{(#O? zI$y*vplHCTLC@vqtA1O+PYTJ)Po=G2QCgd42kLlk?Ps+?R>{~vB*%CF($20Kx$jS7 zZqEV-H^b2q;wHh`B}!Z>^|2!FH7%{*s=`P#!*;-lgTj6WviIGf`I0_CD)sYo|3i=7 z&`M;Sh>W-yUfOG$`|d=P8P!=S$S*#*tA}KQ&J@;St$&lf_oA*iz%3M5w!Pr~6%8=V z7TKzp+3#PW{Q0dYhIwwZx z0h9k2eNv@g(TSjDq1>_nRvBym>-`H3i=IIUQ9QM8YR(N7D{oFAO)c$QelgsYqSjjX zP^sZ0xuDlQs#G@-&U7RRZZ17JSmnKr^WM-(o=^2wt@4J9!Z6TXt91P$;>!03{jG_o zFCO|Hb}s{8#nMI$^+f99$ta6>oqfE@%cuH7*6DArVK0+?USNx^9Mv$ug9e*&dORZ! z-Rl^+r6`C`;&P>>Azapx5eZ^2RI{FeWbTu@H>=h@X5XB#%5t|eAbYnqqq&KX_gv~> zmT<9Ia#j2!zZU2AS89Y7 z_NnegG$|P($-yGgAwosS;k>9ZHX3c6_3nZ}N+5%N2{x zm1{EfS47Z<%7=h&`|aZ+!o3Pk>O}<%YuskZhxI3fT#=OduXA%{A&h!SIdXmtDdiH) zoaNq}iIEqcBB-DWO35vw*MZVJE#@Ys?b)_r!IpEO6gxF?xG6djXYU36^b}+C1Q z@9O2eBB~Z7LkGg7)n#Upyy-bm9LMh@6Q0a?O&r#?$zR@vS}RYfHl0)C_;}p!k}LS{ z(HsEt;ji;u(9b~WfK||fWMpkxiO(vMBBf2_yka!IleYjV`Uwevc4P$qZ}V&9`)WQ_lXL9uS(ZdB+b(%V?}SI!@rgOTm(%V)w&ah zR_gYtbxuAJCrhP$vYnDP!`0B8jz9Iy{`+?{UbX@X_%Tf*&&BAxm+sF>e@%72Hn{9T zrFfD6d7G*e<&k<{p-R>w?xUI@RiWAu3jC?<-V@Y;A`1rVVEu2@yhEU2W1^)xIP3JZ zB3htf77qrlhO_(*KuK7z9h-lHrdQOehI;eVv zWt(JMfSlM6`D>fV$ zeai?#`)gA;PXNMouhUq)PKc}3<@_E2fAn4Bz8w~?_9e5k|2tyfFC+ohxYg1JFuF`{ z{OOFoL<@~>G!1&MdBBRDdI*aB-kT#Vtj6nONg=u4XQA#I$%DI+!`=MOTkDHOQC7=G z7=_u7l<4xZqB(uQb7V3fWcTCvDCx&GUuDrAdo9$qu;&CVIP6mrCvlQFl`XgAck!p< z@eCs>HCTNyOwQ!ZGnePvT^-jBCTAtTJKL<55ChwKhTt`T#u=cheaJ4oLqgq^W_zzt z&z6^KBk?LVbDdE|u(c^3W{h#6m5orzsbra$)4?tGfckzyVS(hmrf?mpDgnRjJ8|Pk z%fhl86{josCkpNhx86WRMZ+3})aXZ${vO&(*4L08ih{vyqevQ-MCX!<|BqkE+<|9& zyAuU)wZ0<9AD7mo%G{)SYYU+E(BoRiooq#KnNe+9)F19=+EKi@Hi-h5UE3-3crK)m zYB#qAv;ws5fCG5q^POkaL>L_|-RcbQ;VX#sIIBAX{WXa+RLQgv!;K*=;@|rLLs^IE z>OC3M4rKlSiGcONR6>X6D84B$ zRegjw2gvyujRn$e@Y|1C7~~kAk9B;{iNx{|i(dU49PyBRT6wQksUEHu?E$v69^vmqO>_f2M03oDtvd4={&u!F0zO%bFBSo z5s1F?WkgOt*)=8PC_y)x9PaL4Zqwle1$&~&R0G;{WMI>1wXezFM8gl7CzrR143uvT zpLa2kiuwI6ir<9;FaPR=Al#Wl5FYo+hD~8Ikyf=usvh<&3gA;XJf!!vfB*0I`8sqc zX@i3RFwCcqJ|++J14gOAK%~_p*Q`m`Mr~tlDd7CQodw-%30`Yf9{iK{81<@zmj>}# zOmak+E`8}en`bU9Z#`92K^R>cl_5BH+r@)0>w^unK%?8s^ctp4Z) z_;G}u9ffs0dV2Qv8lNvC1BmFnzS56QDqjHiKf(x1W=i4Q520`R(o5C2=>80&DldUs zpR3J{M2n26__5K#>GfUqK^v}8qp{i>xlKdtEt0sYQOlr>B3EKQ5t38ORo1vHOq(1l z(vlog!N|D9!GdkR6M$WiQ5h{E@Y}YxHX!oQK5yd>Y#e(LAS!O?(4~gf|Fi0r=@&lY z9iSO#V|^Yq6MJ_5Ctn&KYIU+4*OB4-#&rfRO}CK z_hvW3FLoXh5yN+`7!FZ1K{g|ToB$S^9~3DoZy@nUX>wh zc#k^|PZrMEzQuH^^Tj{S1vCPUv|tDfD!5!^viL{4FoHvp9_oGsSaC>ax1;k{bN9< zbrL$=dcrjaG z#RX{%##_5F%fZ5UsXJZo9D1gja;5G2P{YL*-I8rpN<__my)-^9bao1sYq6qPAUo3A zDZ`fL$051G37e$&&K)qnJ_5){x5#V0|L9#X+lDhz@`fI`hCFCwI%k+Y`Q7f#@W>I- z#+{NPuY~bo_1Sf^cy@L*-rHy777y%q-CdD%eIoQiMAhn7(b>=tuf0vCI(=ea8@f}L zd4=(I0VY+Z{3$a9op&;?`rKdFL(vWVR*lhBgnN*3BNJLLeTP6Qw!bjK&_8o3a9%{j&nzJ?mrrB}Lm%3j1v;6=+sP2V*jR8@bgrf)y?{S3H3e zg{+SjITy6#fnnLcY+F?%98}kiRj+&+!kM-laBmN zw$kE*_8AVsYSEfE7xh`gdA#+|%5q3{9%DLMhi8+2olf9I?}MpjLk68e7#a z_Apt>lZqqMF-jIa=+KgsESxB~-YiaBn=-->ddnIqm89Q_a~bBY9e3!j$_|jm5>d|M zoySEcF*+Y~L{1tSt~K%MxN( z?ZrUtl%~^M<)d#>*v;qh8w&%GWj1yTlYM;1MH93A2s!Q#zX-E&I=Neo)rLcuYc_CF zN%~=cxeT)hc*QMh{0hu$r6 z`aipRPoQo*J1vMxSh+pk7&R{5-}TUmGA_oC8T5!wwi9$!a7mRMRgFR`dK9kbiQ|;M zR6V?RvSG&4rNt|O-FT`kO+KRwT@bn1vk+||J-9L7##36a6kzn)slsu4AnRiHDQelS zf~saWJ4RR93PJTm0Z~K!1=B!JSDW&Uo?fnUZ{f^)XM z=5PX0OQ%3xJD)@h@*4U4NOM4a08`_OO94kc>0Boks)#Z5mcNZfWKG)s2N$c@a`i>z z_nBXdy$3c5l*`Z);b=AG^9|bxY|Jss-RDYOCUmV;ImsG$+m1JUU=H=$P#3MI)+*y~ z$Q0s@*I7|s8gLCS56z6K4Je|m5T^e44LX>pX5VRne+Z_1Li8 z-X)*-hTn#Td`M0H#6CN-2V=Z?mpk$Ho6oF6PW{pmA8pplhKJb$HlH;2mMmi(np*Wt zH*;4D#I+gc@ekP5e^_rAodFLcURQz>TKtthLs>e&kD944Q{{S(T`4gBB-0P~oppLW z_0@K?7}V5DMi-c-*@_DA4L)`SjvTpiO;L6w;p1)FS?f!ZTI0Ej2P@{EO5oBF*f08>(3JZDEp()9ejsrW}QffRRE|`V$tcWZh`O4gB zb|o__m@~(1`m?q5%~}yYV-jd@j9+-; zoY?HWeZ#NSvfih5G8y-kkB;aRWBA2-uJ~lZQ0bR7Jl`GZrC5xGN}{0jueaASI)-2L zFqyd@YDZu0J3EEFY*O8KYPVP+c%`>m_G!k`M`U;@bkUp*n3#@j$bHKk`ZUCM1s3qK6vx$)CMOpvxUUt?mjbVF@l_xiC+Xjbx z)z}}%Go52;;d7H3;fc}8v-2ctu+NwaDmE^l)_iqGmaG(dQYaTB4rd+kP-$NCV`G_@ zeSjJ~z{;5%+3;#0X=wS4ml4;omD%ubaPS{Pz*k1y%ItgPtgAHBa)Ln-~LNG?s|8;`7g+IXeTdkKjl%HM*H#D5O+$n+xN zn}>>9>>qmMbXC;pe&21VFvbBA0=56RF>1KE$ogsNsW?%n$7!j~a+`Zw!*P3p8-UKiw#;yfT<=K@`VEqcyn$%zFCb(Wo{ANeaidsm+d)`KzfIVF77;8R)&8yxHi&fddRspG*t#<^QC9J9y97d`I z^W<6P?7y@GeETtrBNKr1N}S5BhreC92JYWnge($>X+!!7hL+F548|TvPrcjh*@}>V z`;5wd%SCA4yXAG*E{r$5u36SDIMdy>qE;ts{p))hyNOrDj-z42g(gMy5$;}RW3;%d z#VmSayRFv@XZv1^=H4k=?BU5`^RQi*?h_?AVfY8CqzGD5n@cmZHSKh{cWgPU5lxV1 z_ta|l)EWL678fm>PE-<0c9~QKS8&`N8*c5&!vr17%oD$AmFa3R)Vn}tNhsG7ZQKeM zehoWWcRbxlohvZ9swgY2wBdInmyC6fsSRx5^$^KgT^2^X>7yHGgA52$Ea2~R5G(-8 z&+Dt?51v$8WSoyjt8oAZE|EFOut?&pm9|VUrp$S@y_*=fk*6A96)Q2;w_-=cn-j~=gin)dbwtWE+e8FMj+1G>)M`829|FmAZu1eWJ80}}5FL%GFBIA&5s8^q@Nw{v) zje2w2c{6D?Xt{EaV8n-vlE;X8;XCIx(&o_Ar|}L70=rV=IOyYP1?D*bT1i3syQ(#o)y{V0$}u`OBSI z>4bGP#0Qf zE9XRr81V{m`O%EYFYVgV8{Jneo&rk75jft8I2AH}sQV$E`% zF5=dEiI2T>c&q4t5jV!-9ZPIn30Wp`P@6GI;U0S{FugzaBLHrdgQQKbrHM_zHeXsk zBox|9jRf*ml*sdm)E@cu*|pR7~7kIlq`%` zUN(zocICnS8-C0>oRq>|Uo=Q?N&al~_-Z_s!g5;&Ck_s5}4xrM7EOMeNDk~)Ee zIhiSXXR0F&uW_G>tPPM@9N-)>}`JEP3$zh01Zjg2A z(`Ygx0Of~)w}-9P9oRS{p9 zQe~xNJt$im5Uv#c?2a*9UepxxqB^;`o|Iq_w=Si>X3~{re`EQ{taLh2&1S%9zIe35 zeQ1iVC0L88Dw^W!PL~7B?u-3gUi_aa9ln0xuof4J7y6tm=JYx0H~=QeZ5DpFcW9?P zS??4O-z2_k3EwW=u*4ceF|A7Yo?mRUWY*)Q!9N#ovV5b;UXik)?@Py7@9!`-gbhXV zE?DOwpMAsWT%N*92^eoAIJKE@C3uTs*_`d}X{Blxy{)BGidufxt~LbzQ+>0Oeei*V z=C>a@N?gYZWJk*EmeG@aEuqx$flkumqUrMD8Z4gT%MWQv?dcJRc51+4S-0ln{q-`J ziBF$PRDM(Qwn#=WQ?sEG^x)VJJ(%;G9z+7d31get3LDn#GB_A?fTU*FiB%OYb@V#~2-xPur6oe%`c12?)m-@~vjAU#_O?X6> zN)3F+v*u>`SBNh@V!hu-50)yEE%pQBZ)2^#$M}K46M(2h^RnbO))oWMxXdyq0Ul%l zmIvUlhCA?BTqkRA%-6L8lhM?pi+~txWpzJ-Y}(V(wr%;{Fi|)ArJatoZ`!RN7x2zn zHTb;2PGK?J@3`TKwn&OENW7Z@VsoT3ZuQghKe9~Myacb8Z~qM_`1dXSpT0iPZ^wID zeqQaI!>MWshXR=Rf@k{60KV&!`QV%yJRxWg~~DVZ_8T`go!e`iuNV_UqD1c zPdPXTKbYE~xTcRZ;I+a0)cz4Z-TYI)X|nl)ts5%R50N2dxgeJPgFuOmf?1A7s_?u| z&YSD2vv1fp`H`_Wq+U3oe=^PrhDv|5Xjd!`#84ywC;74%bdaJ#RYY{YZ1@qTp+m@} zAt^+vbnHL?+h>?Nzz(=06+Q#A&^DNMV}{ac2*7GYIL|mY2x7%JkTK9=7@0bgS36rv z%~zKaVHh397X07bEZd@^Sxsyl@RX6)`9}PIw7qp$)N9u^Od24FN(my08|hL30SQ4m1p$d6rAxq} zTM3m=B&0z=a_DYRLFw)grD5oFh;NO1@B4X<@1Ixi_xtuA93E_7W`5Uot!u4wo#(me zkN#&lK1b6HTb=tGeP^8USVdC zT#zilIi03Fdwi_7bCKzdY|^9fuNZ;m;#aOKwUd~t&Vt7s9<#K{cm&ix7H$p8j}blW zT7{9X1CvKP{0Z=pIH{>GbLtj7dJfAh?g@%s$xH0>U|w_9sxR}tWYfdF6_8rnU#(lq zN#mIzEK8mO+9wzPF%Y;>Fw!`4NQHP>F^;btZ8BPBBdJ$@CEcHOchdX#TW4*-w@=S6 zTpMt2=N$x&DyJ&^7h~cD^q8ux9(e@+@S4?7fni4ua%mvF!+2X1Bp+2E=G2|yZ~csRev;vyd){50p6AtRdW0- zi|{JwNlo3%pLbNhF2aAsN9-OhUhp02Q}8cq!c*K$1Cts|4b+&M1yC*wggPb@5s-=D z;Qrp1D~SZ~7kVvGgLwtsf1X}Z*;(j2&$@sau%0+y+4xWlFDi2XzRSLTP z2Uj(TuT8)y$dgY)>U%(kS@$vLK@pPu-cY5Z8C5pz?Z?SWqb7=J&T1uZEDcFz((u^;c^PtI1&sVflvs+)N0xuyHGZ2>xd~n+vJWZRtkni z_Kq39Eb%m)QoNJ~tzccRk+HA+a0`B%t85kAn3nRr4|9O%FACFyk$LXMk{vbgI@SFz zliNz+_%gtLbiD#k-gk(I%pe$5k4n5@8&Aw*YWnC?-CH+Z2(NA)d)9QnxiHuT%)AZ@ z-A~Y3a_XK$L!&(zBpnk>84wll^fyBFqN4 z>JPp*B1I3k)C#+jLJC7YDH%!{;s{T-x^p0^`uyo9UFYcdr-9$>I8_B2UGkVl;&a*t zbD;3o=u8xTnm;OHb9QL}<+xOCGpYg6ubTL@wmH{<7p?hqN;wZ;DLjEaAFZ87D8N;> zXM}M0%E)=U zCXm{fxDCV}UnYJ&0aJ81bp=gYB5qW3YnRL9SOCYEbKqi6PPtCG?TSF*71KROL%p&& zFw+BbNVZMg$X$Uc5dt!1PBEX?8F=udf>1cPO+!CN7YV41y-#SsvmUW0ec+3O2Z!YM zzI=lIUXzQU;?8+~yaD7YC=2WpPNP01J7e{VA5@Zdi-UvDP<_#z!NvJ&9B{wRRZy*1M*f$CHrl21TCsH3F%s* z^qMleWaTNiaIoB{A3W?{-K`c&M>1f;=n}UDZgoyxl^mUr6Z;J~{=9j`MzGDt1qZHn zSFGkFTZNQ;hht}|&>{5@q!aNpM+yy$_`J$P9u zzVgMTbDzayCpy{OW+PqmzR!|;ks=EM%0Ux#a`9ikzi0pV-WDq*hD6E9h*B*1J01uk zBlxU`k}oLT{@_npf3P9HYqiuwHDTE0=kWC8SX~{Abmbm%UvT#yr&hk z278E^$A?O=3D2GKUWs6sz$|sCWxpJ7l=F$ZwC2Q?VyWGv={GB_tXl1{-Tc3#`DAwm+==oAFZ8NYCl)W-Gn_Og*4)t`e9 zP)BU5ttqqQ6%!tQKHdr*bro1Flt66P)PHkb@d@}~WSg``NjCcH&39EXih!o(vv@dP z3L(9X7yRb!(zMpbSW1;!^2Cn=^vjMnJA^v>!RC(>QB|Sib+9g-07?^10;_SVk3wQm zb8V@Iy6QhwsDs3W&q3y`Od4y$@SCCGe?Mj%ylrR!8w(3PF4N&BOa$@`)x9_#ln+ zKXK+2)q_hyPPus?qBoG~5@IVZvkjfnG;eN!xHE{<41VGoO7FF2`24PF{>}7@59dqa zZ*B;xj@%}eiM6rNlr_8DK9^l&)_9v>5gRXmJ{ei2_=5}Wf6|gnQ9OHKgg&g*VDYY2 zJ-x)wyqe{m^*Fyy)hRUGu0pYHaMC^_&U-FoBka<-gf|_nZ&pKw<=kck7}>REXU{wt zR^J~)WHtJplr#$=Y6~wgP4Fl_PW3BflC|&-7-r>`th7@+*q}|1-_dmTHk_Pj@jfsl zjOADRUQQh0(D9jQxktk_Oe9&Xd1of^4ed)J7hitjPQ{oTlAw|0ba+Z-RLto=p^}|!@5{BYdEgP9bV6KF# zgNhRke*K?fg{7D9EUe(tE*tXH3vvLydlm3~b#HIO3nLMKp~pDHv|?o~%r2wmvKvn} z;t(um!794Bty$CJ5?JbftDH-8^wtyvTa4{*PtQjEoVon^1sw3svB|G&H_NK{t@Lq> z^hq6non6H>8T7;z!<9veVK|HN3pLm4zEM0P3jPa0J5!h<&efB254I-1Cx(@m_rx=x zCy#7Q^v~S%I@n_v|BeQ!6?icZfJ^9@3IydY8}_{f^md5nj*YY)0lj{RAGxi1E}30|^TUBMObTzm`2~VH z{ta>UaG)6~bqcduzj~W}?6$-7m!MlfZ$r{Md4c+FEU?msbZJpDrgdq|jP4R#Y9kD| zRia0G62MjsB|f7R$ES$ZyuD^*Kr(Gr(QCVO3-alKNN)tL$p;S~W`dVzB`*U~kzE;0 zspJ7RQo1-jf|??5yRS%m)|>Ba3^6sb8Uv=Xt*3jtmu-EyK`J2y*4(08*R}CEc(?Xn zG>cE!L6268nHHP2Gem*sJhj&kuvC3IXM(HXPPzPa$ms;78`yanKR;uV;Cd@DXCoeW z_li#gDYgnZjjcl3Pdxy~>&Qah!fJB@YE*}L0ClR#tp70sp|Z{7&J07R=y44(rJG?R zIB|{;Vrsrkv_!H!O%dk`E(g1eD7N6m@#9vmdV<0Aj=r3B$Co9E&S6x!TeHPi3}g*^ zyUgB~Y}X!YXJEqp{Ph&kBc;T7X0{rdE?qZzifL%Pg2_oy&*$QJf4}H~+bfl z!kl;h^d_gexKzM~U6sa>n$noPV1J)4kD*mSI9G-4^G&BG+F$Btj;BQzT(SyOifkYA zQjcu5$EQypSNHc%(R)3x#t#nn=+%3$!Qsr(mG*ptDOA(2UIe+DaQgnBS%JG9{l5>hKXT)Xsfsn6?t)lutO5SF<6w5_lT+28 zhnQPir7$he4mfuwX}owbL<`5e|G zK!h-wseyYVZz-(b4Qjwv&Bmm20P6Gupd`N>f02fJt4i1l5VSnnG^9r5H$P%IK-wp6 z=C?SiPdI*qe0&J>g|C@#;X=r~=$lQjn0=${x|1e!^=0phVN~D9jN`NEc;9Lh7h(z+ zq`R!KwOE2gPm1o;1KJX|6iR)0t#~aF$-e6s#)#%AafB9&=gTpA7Had&X8}Z*-PP42 zFI!FXIi(yl2pCX3Klw8H&7{%^&s{^!_%mSr%~Y#x1DvB_T^JQ(vl}>VB6p{+5j{cI{CJYX)==S;pnBvMbKXlYMQoI>C2lVWZ@ju``gyhu zuGCFgf!*_rxs%C$#Y*ZQ`lAQTlW$%RR3Ulk1;l6?9;0W(Bf}@H<*Ra26aClN+saxw ztLH%q+Yd2tMsRER7@O8eRG0k_Y1ZMUb6>`O0A$I9N3b<4Gz(*dwDxXeYN>FF^+zYI&@cIOb*hm2M^I3= z>W=Dg-H|aBJ&TTd*pHJ+)kl1G!PQicZVIK4e&n(P&{|m%$Kk-0~%4Unx!M^g$?o0 z9c@YcU=x&`W9%^#NT@8CWF60x7Z)-f-Z_XV<_Z>ANPEL@;;z+fLM!WU*N)hakJP%7 zhZlT0XOQ)C6<3}vK)Hs%^?BB=6X9`WBBxvMSbEL=y9?v=>{tHvi;P}7`izfEvI;sc zv)*1kLvh*d@oO?YbD8{y<~{B=@NgM9wKwKGE?y)mv12+;mY5OUenco(^77ye1tshH zCRgMwix=nXW0_`VS-P^*iNbE*Bg_cVNYw*MGijIu83|K?01TeYD=-ql+>@h&9JkZ5j`rvYmY;} zz4qx&ffdsn&HPXuXT83Ws=F3$UHA)DX67#NI$Nls961??#?P2A$=CAf5V-}Iznw5d zoDnb)%BiX6&?&1BOZFtYqZ%l=idYmnnC*>ku%nYU!lt4Hfok#>N7IDNBk-Z8FE>8gz#Q_|Bimo(K7zx zfM>T~!T|1jt>WWaO$PQgFwU<0mW}i(aU>#%I)R6)_?G)Fcn5?C8Dp+&gC=}hP<>>z z6ZA($cl*o}TrE1)wUn?sm=Wrx=>=?NYAKamf@7RUR8uekpe)T9KDS-1y_L+=P@)r8 zJ~q22EHV(DMNa^R+)Fsgen)F$1U}`NfGZq()LyPv8?p(gYhNY!6V(c5WMrIt8Zc!Q z5OC=ueyCG^yP^I&2f%eHE@}h+Wd56sVRaE+FhJ$V=i`K}qqyBUS9`Seb|o<7VVWZ`|s8I8uG3=jTKv>S3Yy4kO3J=D8{_SptAA}cw0 z$dyvp&6kMtwoXf{<_1am*WI5&=Q?Y?)!bBn+|L+3$u+sj#kL=cVd$VT@3}|Fug`Ye z^?@^(x~8Zo!lU_cqjt-3+KiP~a=-jY?daUchyo9jf?mVD_7pfB96FItmc}<~FYe

    A?$lz(IjwvuDf}xHfR!VW~!6MZ5xVS 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 literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_4.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_4.png new file mode 100644 index 0000000000000000000000000000000000000000..01cddf5cbb8991c205688b860daf964d3232c0b2 GIT binary patch literal 1250401 zcmeFa%W~Vu7A<&s&>c5!#ErP49^B|j4;)cvKn5Os4)t=`=eTSgNw&*pQbCE7#41YE zp=g&~KhV)1(7)0BC;cD&7rhhME0IWK5+DhH2~w(xDiMST5V`i=Yd`b_yK`=9^EfB9eN$p5kYU;i)q-~aS{@$>QD{_p?yfBXOb z_TT@X|9yG(>+<3I?Q}Nz+pF*-{_R!Z-Orzwufo$;L2x#k+$04B@PUHs)wM}IwE-G2Q2B>1Oy68z`4KR$e-j~3^A zn=GEE^u(g)C$BEvS^jvM#D~X|Z_^t-|B0T`b9~sRvw~OQ*(>jeP8a`%C*$epZZUeG z7gK)jC*6zV=T1039ku>B{_Ee9_sg$8;!8h{==(+2Jsv%a=kf8RuYV#w_u>1`i_z2l zFZ1zaMrV${^DXoS(Vx(fAMuglFpNL_Zh3sw0}PN{ zk#-U5{4~mW5V-5fVmX0Wh(BGuzR4>8JRv=^T#!(D`13BWD$7)_%V_*FL1^H0_@sLU zo`X&&zUvW-#hv_c@m-3bgwA2)t^NYS0B8U;FRRy$Zz;8`y%`C>@jcyC?@s(i|BsGb zFZ3gHKk8}XYm|WpTKcn|_(v|i0*c{@_=nyZkDl)%vFp*ug<;itsrD_x4|+PjYG1oy7eq^A^5=;eeMCoW+%_x{FwSo08-EW#fC;? zZndt>!Lbgz4dk5R)q*Kh#dxx4-NZy*T6^u$iEpNvsKk9K zz&l2Z8}^q;b)~%-Vy}~-_$T__;v%ZWv#c?6cL|tRFizo-*uJS4@Alin(D%Ylhdk-- zpvOLvLx}GZe;3cqfcWwBn-LVW$QrbN z$rb%3;Qy19D2iQ4+{r&xj-|0EPmR8y1)=1_3gOP7#2I%cOS`HEA$!X$81{7)anNtG zo3j&K8ZCVQQ8C~$)|mygRW}D^6sL?=-yc%Avo~l59T88Z=qJUtBueC2%CWTC)|4AV zM+v~Bqb=+i8=^89I8jt|Ii(=o5xdO~)A3mFaU(7hr7G0q4w2}G0T2Z&CP!4288Yrv zl?gSv6D*$e2EX>M=ADoKIq6)E{`K?QpZ|E*@&i-kMq6}?(`5vAEo`5)LNtBj=0x-cE?W1$B1r@q#+e!SA?204j|g%|0T{D&l$^@l%;DMdf0R;tt&K zRZ^y|n44*=OtBSYl$cV2cY(YeuY%0DDy!fJCc*Ezw+w-AryMU*zf$UrT2#WiJa1MH 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

    44(N~|LVVb}_6=6EaKhDRp zjn6I*w;6v$EXBsVjFQ72t*aZU9Av(34*&eGaA%0xnZaqKT{dbQ#+h#+dvz;8u$#mU zu%7aKCV2M26@;B1e-9|D-5zgE(M3G{)?^J`OUv|pk4=c?pZn8If(YK6<3oZRKFKkO zm|xBjB==vK>SV)4ztl@!Aqc1V+H2gb*Dn4AC9ypm?sToUwPQ* zu`f@tQ0;5J81^#Ir_OAh+AzdoQ@rWMjnV0MTM|pHhHQOlcv5w&f5rs|jInm<76&+E z4ab+tPl{0>4Iww%etYY5tsxAH{g24Wg0<{Ai2EF@%(C=9KTEgy`E7c-jNA*lf?Bb) zPJua$@^4L>n_vk5z1vJTjYiprw>!zO)g2ueu~0X6TBJPBS#Vi zuIRdhq;foUK=tnZcdA)E81HmZc6#sda)=Z-G$^C%o%!_Q5qr?hX33Se_8ssCN$bM( z5q=!)yK2uXN-4|dm9RIior_adJ7XIwI8*&Z=-SF`jrKz3w|<$hMW;S&ucI-mj&!I_ zvN`mnl5e!V6$XiXD-@r9uh24f#8kAqXARLnWg1VG+p>@G%EQ)Lo6^qsoN3B88Uy>x zYD@&hBchq-JqAayT4GTLx`r%4#Z~V)J~;ogAg>4@$t{Xy@-g(VNya4Z<9epGHkU17stCg)2JhO7F)BnU@fr)P6G_34(q^y%x-3FC44U z$@w!*TUT}+`4MJb4R6S4!7dKGt0sLh8A@@9m`^|5tRoY;(UiOP4@UcPAE8Q+S*z$n z&!^n;sNpU!yWH?rrchDh*zU93n~|yqrK5L&TX~c;i9i@45Z?D@?@RqEg|!Md84

    y?NXi!Ks?T+^sZgm?yJaP*>wPR&6DZ|H z%byLmPdNG+{QsCraMBcGm9q~?o)NxDIj=&Q&qgX4OHiS+TA}lp+;ypJz<|d|!+gL)TN{=}H-c(b-=?K&|G@`D(ohzEx1*~W@oj}O{Ye|EW(0;Y?MQ!SN#Ub8pD z%;)2#v2{{5jnEk}i?I*cM2Ac;{3 z0Y(NPo1Vwf%ETDsRR79T5F65seSl3_1_$@_-9>*X=?4BR#+Sv4RBAviVR`1Ss{|jZ zjv^rTe`vZ6frtrk)QEPObXYO5H$M%y;xq7&_9zm}f%zk0SEnFFFAe&Z`5iuU^E6;# zzS}odV@?O*tj%z}i^XSu=Q?7BpNtp~tbxePIDpoOfTzc%}75gWGx}Rc^fC}EHpoLDSst-%IpwRj^0n^{! z(;vSEKltMjYe=80bP{I2Ym0%h+39)X=Z6tCB`-V12^lqG|!LvU7 z{h`ba2&a{)_D%epenGB!7auAaH;D?OcM6e=yLa#A(2o1{=S{ge0ObvJYtv0-0$y&| zN>(!;5vGG107m>@YIz9%Oal|x-?fao#BD;04GGXzWqkeb_AU6uO?Inyup#um1Vhq$ z>*oHCbBz4x4}g2rKc3`YO9qd)E(-53ma?gm0B!MQWo5d+W(@=n%+Pn2HR*C|17C0h zR+rCqL2A3oEZ-vWkTs;~re#;C7|U8_-t4m$NQ~Pp)Vke+r~mSI0u?oekSf(~53>)W6&X92m?% zt^CMb=brQWlz6>PfvdanGA7d9-Q7;(*4BO*3AYl;y{oQvW-roQTyf6{;6GW(YnM|m I-hTN10WY&u6#xJL literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb6ca68174f82b3ec12a6fdfe353ed6b963643a GIT binary patch literal 71590 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 z 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 z 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
      c4IVqlbXPWPkP8T{e_xAbbTuDk~( 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 Union[None, int]: +def set_random_seed(seed: int, generate_seed_value: bool) -> Union[None, int]: """ Set random number generators. + If seed is None or -1 and generate_seed_value is True randomly generate a + seed value. + If seed is > -1 and generate_seed_value is True ignore the latter and use + the provide seed value. + :param seed: int + :param generate_seed_value: bool + :return: None or the int representing the seed used. """ if seed is None or seed == -1: - return None + if generate_seed_value: + rng = np.random.default_rng() + # 2**32-1 is highest value for python RNG seed. + seed = int(rng.integers(low=0, high=2**32 - 1)) + else: + return None elif seed < -1: raise ValueError("Invalid random number seed") # Seed python RNG @@ -50,6 +62,13 @@ def set_random_seed(seed: int) -> Union[None, int]: return seed +def log_seed_value(seed: int): + """Log the selected seed value to file.""" + path = SIM_OUTPUT.path / "seed.log" + with open(path, "w") as file: + file.write(f"Seed value = {seed}") + + class PrimaiteGymEnv(gymnasium.Env): """ Thin wrapper env to provide agents with a gymnasium API. @@ -65,7 +84,8 @@ class PrimaiteGymEnv(gymnasium.Env): """Object that returns a config corresponding to the current episode.""" self.seed = self.episode_scheduler(0).get("game", {}).get("seed") """Get RNG seed from config file. NB: Must be before game instantiation.""" - self.seed = set_random_seed(self.seed) + self.generate_seed_value = self.episode_scheduler(0).get("game", {}).get("generate_seed_value") + self.seed = set_random_seed(self.seed, self.generate_seed_value) self.io = PrimaiteIO.from_config(self.episode_scheduler(0).get("io_settings", {})) """Handles IO for the environment. This produces sys logs, agent logs, etc.""" self.game: PrimaiteGame = PrimaiteGame.from_config(self.episode_scheduler(0)) @@ -79,6 +99,8 @@ class PrimaiteGymEnv(gymnasium.Env): _LOGGER.info(f"PrimaiteGymEnv RNG seed = {self.seed}") + log_seed_value(self.seed) + def action_masks(self) -> np.ndarray: """ Return the action mask for the agent. @@ -146,7 +168,7 @@ class PrimaiteGymEnv(gymnasium.Env): f"avg. reward: {self.agent.reward_function.total_reward}" ) if seed is not None: - set_random_seed(seed) + set_random_seed(seed, self.generate_seed_value) self.total_reward_per_episode[self.episode_counter] = self.agent.reward_function.total_reward if self.io.settings.save_agent_actions: diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index 8653359a..50a7d2a4 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -864,7 +864,21 @@ class UserManager(Service, discriminator="user-manager"): """ rm = super()._init_request_manager() - # todo add doc about requeest schemas + # todo add doc about request schemas + rm.add_request( + "add_user", + RequestType( + func=lambda request, context: RequestResponse.from_bool( + self.add_user(username=request[0], password=request[1], is_admin=request[2]) + ) + ), + ) + rm.add_request( + "disable_user", + RequestType( + func=lambda request, context: RequestResponse.from_bool(self.disable_user(username=request[0])) + ), + ) rm.add_request( "change_password", RequestType( @@ -1572,7 +1586,7 @@ class Node(SimComponent, ABC): operating_state: Any = None - users: Any = None # Temporary to appease "extra=forbid" + users: List[Dict] = [] # Temporary to appease "extra=forbid" config: ConfigSchema = Field(default_factory=lambda: Node.ConfigSchema()) """Configuration items within Node""" @@ -1638,6 +1652,8 @@ class Node(SimComponent, ABC): self._install_system_software() self.session_manager.node = self self.session_manager.software_manager = self.software_manager + for user in self.config.users: + self.user_manager.add_user(**user, bypass_can_perform_action=True) @property def user_manager(self) -> Optional[UserManager]: @@ -1769,7 +1785,7 @@ class Node(SimComponent, ABC): """ application_name = request[0] if self.software_manager.software.get(application_name): - self.sys_log.warning(f"Can't install {application_name}. It's already installed.") + self.sys_log.info(f"Can't install {application_name}. It's already installed.") return RequestResponse(status="success", data={"reason": "already installed"}) application_class = Application._registry[application_name] self.software_manager.install(application_class) diff --git a/src/primaite/simulator/network/hardware/nodes/host/host_node.py b/src/primaite/simulator/network/hardware/nodes/host/host_node.py index 76d9167c..86ac790c 100644 --- a/src/primaite/simulator/network/hardware/nodes/host/host_node.py +++ b/src/primaite/simulator/network/hardware/nodes/host/host_node.py @@ -2,11 +2,12 @@ from __future__ import annotations from ipaddress import IPv4Address -from typing import Any, ClassVar, Dict, Literal, Optional +from typing import Any, ClassVar, Dict, List, Literal, Optional from pydantic import Field from primaite import getLogger +from primaite.simulator.file_system.file_type import FileType from primaite.simulator.network.hardware.base import ( IPWiredNetworkInterface, Link, @@ -313,7 +314,7 @@ class HostNode(Node, discriminator="host-node"): """ SYSTEM_SOFTWARE: ClassVar[Dict] = { - "HostARP": HostARP, + "host-arp": HostARP, "icmp": ICMP, "dns-client": DNSClient, "ntp-client": NTPClient, @@ -339,7 +340,7 @@ class HostNode(Node, discriminator="host-node"): ip_address: IPV4Address services: Any = None # temporarily unset to appease extra="forbid" applications: Any = None # temporarily unset to appease extra="forbid" - folders: Any = None # temporarily unset to appease extra="forbid" + folders: List[Dict] = {} # temporarily unset to appease extra="forbid" network_interfaces: Any = None # temporarily unset to appease extra="forbid" config: ConfigSchema = Field(default_factory=lambda: HostNode.ConfigSchema()) @@ -348,6 +349,18 @@ class HostNode(Node, discriminator="host-node"): super().__init__(**kwargs) self.connect_nic(NIC(ip_address=kwargs["config"].ip_address, subnet_mask=kwargs["config"].subnet_mask)) + for folder in self.config.folders: + # handle empty foler defined by just a string + self.file_system.create_folder(folder["folder_name"]) + + for file in folder.get("files", []): + self.file_system.create_file( + folder_name=folder["folder_name"], + file_name=file["file_name"], + size=file.get("size", 0), + file_type=FileType[file.get("type", "UNKNOWN").upper()], + ) + @property def nmap(self) -> Optional[NMAP]: """ diff --git a/src/primaite/simulator/network/hardware/nodes/network/firewall.py b/src/primaite/simulator/network/hardware/nodes/network/firewall.py index 2cbc23d2..c872b8b3 100644 --- a/src/primaite/simulator/network/hardware/nodes/network/firewall.py +++ b/src/primaite/simulator/network/hardware/nodes/network/firewall.py @@ -49,7 +49,7 @@ class Firewall(Router, discriminator="firewall"): Example: >>> from primaite.simulator.network.transmission.network_layer import IPProtocol - >>> from primaite.simulator.network.transmission.transport_layer import Port + >>> from primaite.utils.validation.port import Port >>> firewall = Firewall(hostname="Firewall1") >>> firewall.configure_internal_port(ip_address="192.168.1.1", subnet_mask="255.255.255.0") >>> firewall.configure_external_port(ip_address="10.0.0.1", subnet_mask="255.255.255.0") diff --git a/src/primaite/simulator/network/hardware/nodes/network/router.py b/src/primaite/simulator/network/hardware/nodes/network/router.py index 3b35600b..47ee3169 100644 --- a/src/primaite/simulator/network/hardware/nodes/network/router.py +++ b/src/primaite/simulator/network/hardware/nodes/network/router.py @@ -467,6 +467,7 @@ class AccessControlList(SimComponent): """Check if a packet with the given properties is permitted through the ACL.""" permitted = False rule: ACLRule = None + for _rule in self._acl: if not _rule: continue @@ -1215,9 +1216,9 @@ class Router(NetworkNode, discriminator="router"): config: ConfigSchema = Field(default_factory=lambda: Router.ConfigSchema()) SYSTEM_SOFTWARE: ClassVar[Dict] = { - "UserSessionManager": UserSessionManager, - "UserManager": UserManager, - "Terminal": Terminal, + "user-session-manager": UserSessionManager, + "user-manager": UserManager, + "terminal": Terminal, } network_interfaces: Dict[str, RouterInterface] = {} @@ -1385,6 +1386,12 @@ class Router(NetworkNode, discriminator="router"): return False + def subject_to_acl(self, frame: Frame) -> bool: + """Check that frame is subject to ACL rules.""" + if frame.ip.protocol == "udp" and frame.is_arp: + return False + return True + def receive_frame(self, frame: Frame, from_network_interface: RouterInterface): """ Processes an incoming frame received on one of the router's interfaces. @@ -1398,8 +1405,12 @@ class Router(NetworkNode, discriminator="router"): if self.operating_state != NodeOperatingState.ON: return - # Check if it's permitted - permitted, rule = self.acl.is_permitted(frame) + if self.subject_to_acl(frame=frame): + # Check if it's permitted + permitted, rule = self.acl.is_permitted(frame) + else: + permitted = True + rule = None if not permitted: at_port = self._get_port_of_nic(from_network_interface) diff --git a/src/primaite/simulator/network/transmission/data_link_layer.py b/src/primaite/simulator/network/transmission/data_link_layer.py index e7c2a124..a07194a4 100644 --- a/src/primaite/simulator/network/transmission/data_link_layer.py +++ b/src/primaite/simulator/network/transmission/data_link_layer.py @@ -163,7 +163,7 @@ class Frame(BaseModel): """ Checks if the Frame is an ARP (Address Resolution Protocol) packet. - This is determined by checking if the destination port of the TCP header is equal to the ARP port. + This is determined by checking if the destination and source port of the UDP header is equal to the ARP port. :return: True if the Frame is an ARP packet, otherwise False. """ diff --git a/src/primaite/simulator/system/services/arp/arp.py b/src/primaite/simulator/system/services/arp/arp.py index b0630d5d..c6b687ce 100644 --- a/src/primaite/simulator/system/services/arp/arp.py +++ b/src/primaite/simulator/system/services/arp/arp.py @@ -55,7 +55,7 @@ class ARP(Service, discriminator="arp"): :param markdown: If True, format the output as Markdown. Otherwise, use plain text. """ - table = PrettyTable(["IP Address", "MAC Address", "Via"]) + table = PrettyTable(["IP Address", "MAC Address", "Via", "Port"]) if markdown: table.set_style(MARKDOWN) table.align = "l" @@ -66,6 +66,7 @@ class ARP(Service, discriminator="arp"): str(ip), arp.mac_address, self.software_manager.node.network_interfaces[arp.network_interface_uuid].mac_address, + self.software_manager.node.network_interfaces[arp.network_interface_uuid].port_num, ] ) print(table) diff --git a/src/primaite/simulator/system/services/terminal/terminal.py b/src/primaite/simulator/system/services/terminal/terminal.py index 2ce7d176..112f6abc 100644 --- a/src/primaite/simulator/system/services/terminal/terminal.py +++ b/src/primaite/simulator/system/services/terminal/terminal.py @@ -142,12 +142,20 @@ class Terminal(Service, discriminator="terminal"): _client_connection_requests: Dict[str, Optional[Union[str, TerminalClientConnection]]] = {} """Dictionary of connect requests made to remote nodes.""" + _last_response: Optional[RequestResponse] = None + """Last response received from RequestManager, for returning remote RequestResponse.""" + def __init__(self, **kwargs): kwargs["name"] = "terminal" kwargs["port"] = PORT_LOOKUP["SSH"] kwargs["protocol"] = PROTOCOL_LOOKUP["TCP"] super().__init__(**kwargs) + @property + def last_response(self) -> Optional[RequestResponse]: + """Public version of _last_response attribute.""" + return self._last_response + def describe_state(self) -> Dict: """ Produce a dictionary describing the current state of this object. @@ -186,7 +194,7 @@ class Terminal(Service, discriminator="terminal"): return RequestResponse(status="failure", data={}) rm.add_request( - "node-session-remote-login", + "node_session_remote_login", request_type=RequestType(func=_remote_login), ) @@ -209,28 +217,45 @@ class Terminal(Service, discriminator="terminal"): command: str = request[1]["command"] remote_connection = self._get_connection_from_ip(ip_address=ip_address) if remote_connection: - outcome = remote_connection.execute(command) - if outcome: - return RequestResponse( - status="success", - data={}, - ) - else: - return RequestResponse( - status="failure", - data={}, - ) + remote_connection.execute(command) + return self.last_response if not None else RequestResponse(status="failure", data={}) + return RequestResponse( + status="failure", + data={"reason": "Failed to execute command."}, + ) rm.add_request( "send_remote_command", request_type=RequestType(func=remote_execute_request), ) + def local_execute_request(request: RequestFormat, context: Dict) -> RequestResponse: + """Executes a command using a local terminal session.""" + command: str = request[2]["command"] + local_connection = self._process_local_login(username=request[0], password=request[1]) + if local_connection: + outcome = local_connection.execute(command) + if outcome: + return RequestResponse( + status="success", + data={"reason": outcome}, + ) + return RequestResponse( + status="success", + data={"reason": "Local Terminal failed to resolve command. Potentially invalid credentials?"}, + ) + + rm.add_request( + "send_local_command", + request_type=RequestType(func=local_execute_request), + ) + return rm def execute(self, command: List[Any]) -> Optional[RequestResponse]: """Execute a passed ssh command via the request manager.""" - return self.parent.apply_request(command) + self._last_response = self.parent.apply_request(command) + return self._last_response def _get_connection_from_ip(self, ip_address: IPv4Address) -> Optional[RemoteTerminalConnection]: """Find Remote Terminal Connection from a given IP.""" @@ -409,6 +434,8 @@ class Terminal(Service, discriminator="terminal"): """ source_ip = kwargs["frame"].ip.src_ip_address self.sys_log.info(f"{self.name}: Received payload: {payload}. Source: {source_ip}") + self._last_response = None # Clear last response + if isinstance(payload, SSHPacket): if payload.transport_message == SSHTransportMessage.SSH_MSG_USERAUTH_REQUEST: # validate & add connection @@ -457,6 +484,9 @@ class Terminal(Service, discriminator="terminal"): session_id=session_id, source_ip=source_ip, ) + self._last_response: RequestResponse = RequestResponse( + status="success", data={"reason": "Login Successful"} + ) elif payload.transport_message == SSHTransportMessage.SSH_MSG_SERVICE_REQUEST: # Requesting a command to be executed @@ -468,12 +498,32 @@ class Terminal(Service, discriminator="terminal"): payload.connection_uuid ) remote_session.last_active_step = self.software_manager.node.user_session_manager.current_timestep - self.execute(command) + self._last_response: RequestResponse = self.execute(command) + + if self._last_response.status == "success": + transport_message = SSHTransportMessage.SSH_MSG_SERVICE_SUCCESS + else: + transport_message = SSHTransportMessage.SSH_MSG_SERVICE_FAILED + + payload: SSHPacket = SSHPacket( + payload=self._last_response, + transport_message=transport_message, + connection_message=SSHConnectionMessage.SSH_MSG_CHANNEL_DATA, + ) + self.software_manager.send_payload_to_session_manager( + payload=payload, dest_port=self.port, session_id=session_id + ) return True else: self.sys_log.error( f"{self.name}: Connection UUID:{payload.connection_uuid} is not valid. Rejecting Command." ) + elif ( + payload.transport_message == SSHTransportMessage.SSH_MSG_SERVICE_SUCCESS + or SSHTransportMessage.SSH_MSG_SERVICE_FAILED + ): + # Likely receiving command ack from remote. + self._last_response = payload.payload if isinstance(payload, dict) and payload.get("type"): if payload["type"] == "disconnect": diff --git a/src/primaite/simulator/system/services/web_server/web_server.py b/src/primaite/simulator/system/services/web_server/web_server.py index 2eddefc1..3f8760c4 100644 --- a/src/primaite/simulator/system/services/web_server/web_server.py +++ b/src/primaite/simulator/system/services/web_server/web_server.py @@ -117,37 +117,44 @@ class WebServer(Service, discriminator="web-server"): :type: payload: HttpRequestPacket """ response = HttpResponsePacket(status_code=HttpStatusCode.NOT_FOUND, payload=payload) - try: - parsed_url = urlparse(payload.request_url) - path = parsed_url.path.strip("/") - if len(path) < 1: + parsed_url = urlparse(payload.request_url) + path = parsed_url.path.strip("/") if parsed_url and parsed_url.path else "" + + if len(path) < 1: + # query succeeded + response.status_code = HttpStatusCode.OK + + if path.startswith("users"): + # get data from DatabaseServer + # get all users + if not self._establish_db_connection(): + # unable to create a db connection + response.status_code = HttpStatusCode.INTERNAL_SERVER_ERROR + return response + + if self.db_connection.query("SELECT"): # query succeeded + self.set_health_state(SoftwareHealthState.GOOD) response.status_code = HttpStatusCode.OK + else: + self.set_health_state(SoftwareHealthState.COMPROMISED) + return response - if path.startswith("users"): - # get data from DatabaseServer - # get all users - if not self.db_connection: - self._establish_db_connection() - - if self.db_connection.query("SELECT"): - # query succeeded - self.set_health_state(SoftwareHealthState.GOOD) - response.status_code = HttpStatusCode.OK - else: - self.set_health_state(SoftwareHealthState.COMPROMISED) - - return response - except Exception: # TODO: refactor this. Likely to cause silent bugs. (ADO ticket #2345 ) - # something went wrong on the server - response.status_code = HttpStatusCode.INTERNAL_SERVER_ERROR - return response - - def _establish_db_connection(self) -> None: + def _establish_db_connection(self) -> bool: """Establish a connection to db.""" + # if active db connection, return true + if self.db_connection: + return True + + # otherwise, try to create db connection db_client = self.software_manager.software.get("database-client") + + if db_client is None: + return False # database client not installed + self.db_connection: DatabaseClientConnection = db_client.get_new_connection() + return self.db_connection is not None def send( self, diff --git a/tests/assets/configs/basic_switched_network.yaml b/tests/assets/configs/basic_switched_network.yaml index c9ac5f8d..7ffe4c08 100644 --- a/tests/assets/configs/basic_switched_network.yaml +++ b/tests/assets/configs/basic_switched_network.yaml @@ -25,7 +25,19 @@ game: - ICMP - TCP - UDP - + thresholds: + nmne: + high: 100 + medium: 25 + low: 5 + file_access: + high: 10 + medium: 5 + low: 2 + app_executions: + high: 5 + medium: 3 + low: 2 agents: - ref: client_2_green_user team: GREEN @@ -64,10 +76,16 @@ agents: options: hosts: - hostname: client_1 + applications: + - application_name: WebBrowser + folders: + - folder_name: root + files: + - file_name: "test.txt" - hostname: client_2 - hostname: client_3 num_services: 1 - num_applications: 0 + num_applications: 1 num_folders: 1 num_files: 1 num_nics: 2 @@ -182,6 +200,10 @@ simulation: options: ntp_server_ip: 192.168.1.10 - type: ntp-server + folders: + - folder_name: root + files: + - file_name: test.txt - hostname: client_2 type: computer ip_address: 192.168.10.22 diff --git a/tests/assets/configs/nodes_with_initial_files.yaml b/tests/assets/configs/nodes_with_initial_files.yaml new file mode 100644 index 00000000..d4c6406b --- /dev/null +++ b/tests/assets/configs/nodes_with_initial_files.yaml @@ -0,0 +1,226 @@ +# Basic Switched network +# +# -------------- -------------- -------------- +# | client_1 |------| switch_1 |------| client_2 | +# -------------- -------------- -------------- +# +io_settings: + save_step_metadata: false + save_pcap_logs: true + save_sys_logs: true + sys_log_level: WARNING + agent_log_level: INFO + save_agent_logs: true + write_agent_log_to_terminal: True + + +game: + max_episode_length: 256 + ports: + - ARP + - DNS + - HTTP + - POSTGRES_SERVER + protocols: + - ICMP + - TCP + - UDP + +agents: + - ref: client_2_green_user + team: GREEN + type: periodic-agent + action_space: + action_map: + 0: + action: do-nothing + options: {} + 1: + action: node-application-execute + options: + node_id: 0 + application_id: 0 + + agent_settings: + possible_start_nodes: [client_2,] + target_application: web-browser + start_step: 5 + frequency: 4 + variance: 3 + + + + - ref: defender + team: BLUE + type: proxy-agent + + observation_space: + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + - hostname: client_1 + - hostname: client_2 + - hostname: client_3 + num_services: 1 + num_applications: 0 + num_folders: 1 + num_files: 1 + num_nics: 2 + include_num_access: false + monitored_traffic: + icmp: + - NONE + tcp: + - DNS + include_nmne: false + routers: + - hostname: router_1 + num_ports: 0 + ip_list: + - 192.168.10.21 + - 192.168.10.22 + - 192.168.10.23 + wildcard_list: + - 0.0.0.1 + port_list: + - 80 + - 5432 + protocol_list: + - ICMP + - TCP + - UDP + num_rules: 10 + + - type: links + label: LINKS + options: + link_references: + - switch_1:eth-1<->client_1:eth-1 + - switch_1:eth-2<->client_2:eth-1 + - type: none + label: ICS + options: {} + + action_space: + action_map: + 0: + action: do-nothing + options: {} + + reward_function: + reward_components: + - type: database-file-integrity + weight: 0.5 + options: + node_hostname: database_server + folder_name: database + file_name: database.db + + - type: web-server-404-penalty + weight: 0.5 + options: + node_hostname: web_server + service_name: web_server_web_service + + + agent_settings: + flatten_obs: true + +simulation: + network: + nodes: + + - type: switch + hostname: switch_1 + num_ports: 8 + + - hostname: client_1 + type: computer + ip_address: 192.168.10.21 + subnet_mask: 255.255.255.0 + default_gateway: 192.168.10.1 + dns_server: 192.168.1.10 + applications: + - type: ransomware-script + - type: web-browser + options: + target_url: http://arcd.com/users/ + - type: database-client + options: + db_server_ip: 192.168.1.10 + server_password: arcd + - type: data-manipulation-bot + options: + port_scan_p_of_success: 0.8 + data_manipulation_p_of_success: 0.8 + payload: "DELETE" + server_ip: 192.168.1.21 + server_password: arcd + - type: dos-bot + options: + target_ip_address: 192.168.10.21 + payload: SPOOF DATA + port_scan_p_of_success: 0.8 + services: + - type: dns-client + options: + dns_server: 192.168.1.10 + - type: dns-server + options: + domain_mapping: + arcd.com: 192.168.1.10 + - type: database-service + options: + backup_server_ip: 192.168.1.10 + - type: web-server + - type: ftp-server + options: + server_password: arcd + - type: ntp-client + options: + ntp_server_ip: 192.168.1.10 + - type: ntp-server + - hostname: client_2 + type: computer + ip_address: 192.168.10.22 + subnet_mask: 255.255.255.0 + default_gateway: 192.168.10.1 + dns_server: 192.168.1.10 + folders: + - folder_name: empty_folder + - folder_name: downloads + files: + - file_name: "test.txt" + - file_name: "another_file.pwtwoti" + - folder_name: root + files: + - file_name: passwords + size: 663 + type: TXT + # pre installed services and applications + - hostname: client_3 + type: computer + ip_address: 192.168.10.23 + subnet_mask: 255.255.255.0 + default_gateway: 192.168.10.1 + dns_server: 192.168.1.10 + start_up_duration: 0 + shut_down_duration: 0 + operating_state: "OFF" + # pre installed services and applications + + links: + - endpoint_a_hostname: switch_1 + endpoint_a_port: 1 + endpoint_b_hostname: client_1 + endpoint_b_port: 1 + bandwidth: 200 + - endpoint_a_hostname: switch_1 + endpoint_a_port: 2 + endpoint_b_hostname: client_2 + endpoint_b_port: 1 + bandwidth: 200 diff --git a/tests/e2e_integration_tests/test_uc7_agents.py b/tests/e2e_integration_tests/test_uc7_agents.py new file mode 100644 index 00000000..8c597dc7 --- /dev/null +++ b/tests/e2e_integration_tests/test_uc7_agents.py @@ -0,0 +1,173 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK + +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG, load +from primaite.game.game import PrimaiteGame +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.file_system.file import File +from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus +from primaite.simulator.network.container import Network +from primaite.simulator.network.hardware.nodes.host.computer import Computer +from primaite.simulator.network.hardware.nodes.host.server import Server +from primaite.simulator.network.hardware.nodes.network.firewall import Firewall +from primaite.simulator.system.applications.application import ApplicationOperatingState +from primaite.simulator.system.applications.database_client import DatabaseClient +from primaite.simulator.system.applications.red_applications.c2.c2_beacon import C2Beacon +from primaite.simulator.system.applications.red_applications.ransomware_script import RansomwareScript +from primaite.simulator.system.applications.web_browser import WebBrowser +from primaite.simulator.system.services.database.database_service import DatabaseService +from primaite.simulator.system.services.dns.dns_client import DNSClient +from primaite.simulator.system.services.dns.dns_server import DNSServer +from primaite.simulator.system.services.ftp.ftp_client import FTPClient +from primaite.simulator.system.services.ftp.ftp_server import FTPServer +from primaite.simulator.system.services.ntp.ntp_client import NTPClient +from primaite.simulator.system.services.ntp.ntp_server import NTPServer +from primaite.simulator.system.services.service import ServiceOperatingState +from primaite.simulator.system.software import SoftwareHealthState + +CONFIG_FILE = _EXAMPLE_CFG / "uc7_config.yaml" + + +@pytest.fixture(scope="function") +def uc7_environment() -> PrimaiteGymEnv: + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def assert_agent_reward(env: PrimaiteGymEnv, agent_name: str, positive: bool): + """Asserts that a given agent has a reward that is below/above or equal to 0 dependant on arguments.""" + agent_reward = env.game.agents[agent_name].reward_function.total_reward + if agent_name == "defender": + return # ignore blue agent + if positive is True: + assert agent_reward >= 0 # Asserts that no agents are below a total reward of 0 + elif positive is False: + assert agent_reward <= 0 # Asserts that no agents are above a total reward of 0 + else: + print("Invalid 'positive' argument.") + + +def test_green_agent_positive_reward(uc7_environment): + """Confirms that the UC7 Green Agents receive a positive reward (Default Behaviour).""" + env: PrimaiteGymEnv = uc7_environment + + # Performing no changes to the environment. Default Behaviour + + # Stepping 60 times in the environment + for _ in range(60): + env.step(0) + + for agent in env.game.agents: + assert_agent_reward(env=env, agent_name=env.game.agents[agent].config.ref, positive=True) + + +def test_green_agent_negative_reward(uc7_environment): + """Confirms that the UC7 Green Agents receive a negative reward. (Disabled web-server and database-service)""" + + env: PrimaiteGymEnv = uc7_environment + + # Purposefully disabling the following services: + + # 1. Disabling the web-server + st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname("ST-DMZ-PUB-SRV-WEB") + st_web_server = st_dmz_pub_srv_web.software_manager.software["web-server"] + st_web_server.operating_state = ServiceOperatingState.DISABLED + assert st_web_server.operating_state == ServiceOperatingState.DISABLED + + # 2. Disabling the DatabaseServer + st_data_database_server: Server = env.game.simulation.network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + database_service: DatabaseService = st_data_database_server.software_manager.software["database-service"] + database_service.operating_state = ServiceOperatingState.DISABLED + assert database_service.operating_state == ServiceOperatingState.DISABLED + + # Stepping 100 times in the environment + for _ in range(100): + env.step(0) + + for agent in env.game.agents: + assert_agent_reward(env=env, agent_name=env.game.agents[agent].config.ref, positive=False) + + +def test_tap001_default_behaviour(uc7_environment): + """Confirms that the TAP001 expected simulation impacts works as expected in the UC7 environment.""" + env: PrimaiteGymEnv = uc7_environment + env.reset() + network = env.game.simulation.network + + # Running for 128 episodes + for _ in range(128): + env.step(0) + + some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + + # Asserting that the `malware_dropper.ps1` was created. + + malware_dropper_file: File = some_tech_proj_a_pc_1.file_system.get_file("downloads", "malware_dropper.ps1") + assert malware_dropper_file.health_status == FileSystemItemHealthStatus.GOOD + + # Asserting that the `RansomwareScript` launched successfully. + + ransomware_script: RansomwareScript = some_tech_proj_a_pc_1.software_manager.software["ransomware-script"] + assert ransomware_script.health_state_actual == SoftwareHealthState.GOOD + assert ransomware_script.operating_state == ApplicationOperatingState.RUNNING + + # Asserting that the `C2Beacon` connected to the `C2Server`. + + c2_beacon: C2Beacon = some_tech_proj_a_pc_1.software_manager.software["c2-beacon"] + assert c2_beacon.health_state_actual == SoftwareHealthState.GOOD + assert c2_beacon.operating_state == ApplicationOperatingState.RUNNING + assert c2_beacon.c2_connection_active == True + + # Asserting that the target database was successfully corrupted. + some_tech_data_server_database: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + database_file: File = some_tech_data_server_database.file_system.get_file( + folder_name="database", file_name="database.db" + ) + assert database_file.health_status == FileSystemItemHealthStatus.CORRUPT + + +def test_tap003_default_behaviour(uc7_environment): + """Confirms that the TAP003 expected simulation impacts works as expected in the UC7 environment.""" + from primaite.simulator.network.hardware.nodes.network.router import ACLAction, Router + from primaite.simulator.network.transmission.network_layer import IPPacket, IPProtocol + from primaite.utils.validation.port import PORT_LOOKUP + + def uc7_environment_tap003() -> PrimaiteGymEnv: + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["agents"][32]["agent_settings"]["starting_nodes"] = ["ST-PROJ-A-PRV-PC-1"] + cfg["agents"][32]["agent_settings"]["default_starting_node"] = "ST-PROJ-A-PRV-PC-1" + env = PrimaiteGymEnv(env_config=cfg) + return env + + env: PrimaiteGymEnv = uc7_environment_tap003() + env.reset() + # Running for 128 episodes + for _ in range(128): + env.step(0) + network = env.game.simulation.network + + # Asserting that a malicious ACL has been added to ST-INTRA-PRV-RT-DR-1 + st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname="ST-INTRA-PRV-RT-DR-1") + assert st_intra_prv_rt_dr_1.acl.acl[1].action == ACLAction.DENY + assert st_intra_prv_rt_dr_1.acl.acl[1].protocol == "tcp" + assert st_intra_prv_rt_dr_1.acl.acl[1].src_port == PORT_LOOKUP.get("POSTGRES_SERVER") + assert st_intra_prv_rt_dr_1.acl.acl[1].dst_port == PORT_LOOKUP.get("POSTGRES_SERVER") + + # Asserting that a malicious ACL has been added to ST-INTRA-PRV-RT-CR + st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname="ST-INTRA-PRV-RT-CR") + assert st_intra_prv_rt_cr.acl.acl[1].action == ACLAction.DENY + assert st_intra_prv_rt_cr.acl.acl[1].protocol == "tcp" + assert st_intra_prv_rt_cr.acl.acl[1].src_port == PORT_LOOKUP.get("HTTP") + assert st_intra_prv_rt_cr.acl.acl[1].dst_port == PORT_LOOKUP.get("HTTP") + + # Asserting that a malicious ACL has been added to REM-PUB-RT-DR + rem_pub_rt_dr: Router = network.get_node_by_hostname(hostname="REM-PUB-RT-DR") + assert rem_pub_rt_dr.acl.acl[1].action == ACLAction.DENY + assert rem_pub_rt_dr.acl.acl[1].protocol == "tcp" + assert rem_pub_rt_dr.acl.acl[1].src_port == PORT_LOOKUP.get("DNS") + assert rem_pub_rt_dr.acl.acl[1].dst_port == PORT_LOOKUP.get("DNS") diff --git a/tests/e2e_integration_tests/test_uc7_route_connectivity.py b/tests/e2e_integration_tests/test_uc7_route_connectivity.py new file mode 100644 index 00000000..25350c4b --- /dev/null +++ b/tests/e2e_integration_tests/test_uc7_route_connectivity.py @@ -0,0 +1,237 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.game import PrimaiteGame +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.network.container import Network +from primaite.simulator.network.hardware.nodes.host.computer import Computer +from primaite.simulator.network.hardware.nodes.host.server import Server +from primaite.simulator.network.hardware.nodes.network.firewall import Firewall +from primaite.simulator.network.hardware.nodes.network.router import Router +from primaite.simulator.network.hardware.nodes.network.switch import Switch + +CONFIG_FILE = _EXAMPLE_CFG / "uc7_config.yaml" + + +@pytest.fixture(scope="function") +def uc7_network() -> Network: + with open(file=CONFIG_FILE, mode="r") as f: + cfg = yaml.safe_load(stream=f) + + game = PrimaiteGame.from_config(cfg=cfg) + return game.simulation.network + + +def test_ping_home_office(uc7_network): + """Asserts that all home_pub_* can ping each-other and the public dns (isp_pub_srv_dns)""" + network = uc7_network + home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + home_pub_pc_2: Computer = network.get_node_by_hostname("HOME-PUB-PC-2") + home_pub_pc_srv: Server = network.get_node_by_hostname("HOME-PUB-SRV") + home_pub_rt_dr: Router = network.get_node_by_hostname("HOME-PUB-RT-DR") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + assert home_pub_pc_1.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + def ping_all_home_office(host): + assert host.ping(home_pub_pc_1.network_interface[1].ip_address) + assert host.ping(home_pub_pc_2.network_interface[1].ip_address) + assert host.ping(home_pub_pc_srv.network_interface[1].ip_address) + assert host.ping(home_pub_rt_dr.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_home_office(home_pub_pc_1) + ping_all_home_office(home_pub_pc_2) + ping_all_home_office(home_pub_pc_srv) + ping_all_home_office(isp_pub_srv_dns) + + +def test_ping_remote_site(uc7_network): + """Asserts that all remote_pub_* hosts can ping each-other and the public dns server (isp_pub_srv_dns)""" + network = uc7_network + rem_pub_fw: Firewall = network.get_node_by_hostname(hostname="REM-PUB-FW") + rem_pub_rt_dr: Router = network.get_node_by_hostname(hostname="REM-PUB-RT-DR") + rem_pub_pc_1: Computer = network.get_node_by_hostname(hostname="REM-PUB-PC-1") + rem_pub_pc_2: Computer = network.get_node_by_hostname(hostname="REM-PUB-PC-2") + rem_pub_srv: Computer = network.get_node_by_hostname(hostname="REM-PUB-SRV") + + def ping_all_remote_site(host): + assert host.ping(rem_pub_fw.network_interface[1].ip_address) + assert host.ping(rem_pub_rt_dr.network_interface[1].ip_address) + assert host.ping(rem_pub_pc_1.network_interface[1].ip_address) + assert host.ping(rem_pub_pc_2.network_interface[1].ip_address) + assert host.ping(rem_pub_srv.network_interface[1].ip_address) + + ping_all_remote_site(host=rem_pub_fw) + ping_all_remote_site(host=rem_pub_rt_dr) + ping_all_remote_site(host=rem_pub_pc_1) + ping_all_remote_site(host=rem_pub_pc_2) + ping_all_remote_site(host=rem_pub_srv) + + +def test_ping_some_tech_dmz(uc7_network): + """Asserts that the st_dmz_pub_srv_web and the st_public_firewall can ping each other and remote site and home office.""" + network = uc7_network + st_pub_fw: Firewall = network.get_node_by_hostname(hostname="ST-PUB-FW") + st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname="ST-DMZ-PUB-SRV-WEB") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + + def ping_all_some_tech_dmz(host): + assert host.ping(st_dmz_pub_srv_web.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_dmz(host=st_pub_fw) + ping_all_some_tech_dmz(host=isp_pub_srv_dns) + ping_all_some_tech_dmz(host=home_pub_pc_1) + + +def test_ping_some_tech_head_office(uc7_network): + """Asserts that all the some_tech_* PCs can ping each other and the public dns""" + network = uc7_network + st_home_office_private_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") + st_home_office_private_pc_2: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-2") + st_home_office_private_pc_3: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-3") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_head_office(host): + assert host.ping(st_home_office_private_pc_1.network_interface[1].ip_address) + assert host.ping(st_home_office_private_pc_2.network_interface[1].ip_address) + assert host.ping(st_home_office_private_pc_3.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_head_office(host=st_home_office_private_pc_1) + ping_all_some_tech_head_office(host=st_home_office_private_pc_2) + ping_all_some_tech_head_office(host=st_home_office_private_pc_3) + + +def test_ping_some_tech_hr(uc7_network): + """Assert that all some_tech_hr_* PCs can ping each other and the public dns""" + network = uc7_network + some_tech_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") + some_tech_hr_pc_2: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-2") + some_tech_hr_pc_3: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-3") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_hr(host): + assert host.ping(some_tech_hr_pc_1.network_interface[1].ip_address) + assert host.ping(some_tech_hr_pc_2.network_interface[1].ip_address) + assert host.ping(some_tech_hr_pc_3.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_hr(some_tech_hr_pc_1) + ping_all_some_tech_hr(some_tech_hr_pc_2) + ping_all_some_tech_hr(some_tech_hr_pc_3) + + +def test_some_tech_data_hr(uc7_network): + """Assert that all some_tech_data_* servers can ping each other and the public dns.""" + network = uc7_network + some_tech_data_server_storage: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") + some_tech_data_server_database: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_hr(host): + assert host.ping(some_tech_data_server_storage.network_interface[1].ip_address) + assert host.ping(some_tech_data_server_database.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_hr(some_tech_data_server_storage) + ping_all_some_tech_hr(some_tech_data_server_database) + + +def test_some_tech_project_a(uc7_network): + """Asserts that all some_tech project A's PCs can ping each other and the public dns.""" + network = uc7_network + some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + some_tech_proj_a_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-2") + some_tech_proj_a_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-3") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_proj_a(host): + assert host.ping(some_tech_proj_a_pc_1.network_interface[1].ip_address) + assert host.ping(some_tech_proj_a_pc_2.network_interface[1].ip_address) + assert host.ping(some_tech_proj_a_pc_3.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_proj_a(some_tech_proj_a_pc_1) + ping_all_some_tech_proj_a(some_tech_proj_a_pc_2) + ping_all_some_tech_proj_a(some_tech_proj_a_pc_3) + + +def test_some_tech_project_b(uc7_network): + """Asserts that all some_tech_project_b PC's can ping each other and the public dps.""" + network = uc7_network + some_tech_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") + some_tech_proj_b_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-2") + some_tech_proj_b_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-3") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_proj_b(host): + assert host.ping(some_tech_proj_b_pc_1.network_interface[1].ip_address) + assert host.ping(some_tech_proj_b_pc_2.network_interface[1].ip_address) + assert host.ping(some_tech_proj_b_pc_3.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_proj_b(some_tech_proj_b_pc_1) + ping_all_some_tech_proj_b(some_tech_proj_b_pc_2) + ping_all_some_tech_proj_b(some_tech_proj_b_pc_3) + + +def test_some_tech_project_a(uc7_network): + """Asserts that all some_tech_project_c PC's can ping each other and the public dps.""" + network = uc7_network + some_tech_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") + some_tech_proj_c_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-2") + some_tech_proj_c_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-3") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + def ping_all_some_tech_proj_c(host): + assert host.ping(some_tech_proj_c_pc_1.network_interface[1].ip_address) + assert host.ping(some_tech_proj_c_pc_2.network_interface[1].ip_address) + assert host.ping(some_tech_proj_c_pc_3.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + + ping_all_some_tech_proj_c(some_tech_proj_c_pc_1) + ping_all_some_tech_proj_c(some_tech_proj_c_pc_2) + ping_all_some_tech_proj_c(some_tech_proj_c_pc_3) + + +def test_ping_all_networks(uc7_network): + """Asserts that one machine from each network is able to ping all others.""" + network = uc7_network + home_office_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + remote_office_pc_1: Computer = network.get_node_by_hostname("REM-PUB-PC-1") + st_head_office_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") + st_human_resources_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") + st_data_storage_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") + st_data_database_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") + st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") + + def ping_network_wide(host): + assert host.ping(home_office_pc_1.network_interface[1].ip_address) + assert host.ping(isp_pub_srv_dns.network_interface[1].ip_address) + assert host.ping(remote_office_pc_1.network_interface[1].ip_address) + assert host.ping(st_head_office_pc_1.network_interface[1].ip_address) + assert host.ping(st_human_resources_pc_1.network_interface[1].ip_address) + assert host.ping(st_data_storage_server.network_interface[1].ip_address) + assert host.ping(st_data_database_server.network_interface[1].ip_address) + assert host.ping(st_proj_a_pc_1.network_interface[1].ip_address) + assert host.ping(st_proj_b_pc_1.network_interface[1].ip_address) + assert host.ping(st_proj_c_pc_1.network_interface[1].ip_address) + + ping_network_wide(host=home_office_pc_1) + ping_network_wide(host=isp_pub_srv_dns) + ping_network_wide(host=remote_office_pc_1) + ping_network_wide(host=st_head_office_pc_1) + ping_network_wide(host=st_human_resources_pc_1) + ping_network_wide(host=st_data_storage_server) + ping_network_wide(host=st_data_database_server) + ping_network_wide(host=st_proj_a_pc_1) + ping_network_wide(host=st_proj_b_pc_1) + ping_network_wide(host=st_proj_c_pc_1) diff --git a/tests/e2e_integration_tests/test_uc7_services_and_applications.py b/tests/e2e_integration_tests/test_uc7_services_and_applications.py new file mode 100644 index 00000000..6514627c --- /dev/null +++ b/tests/e2e_integration_tests/test_uc7_services_and_applications.py @@ -0,0 +1,338 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK + +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.game import PrimaiteGame +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.network.container import Network +from primaite.simulator.network.hardware.nodes.host.computer import Computer +from primaite.simulator.network.hardware.nodes.host.server import Server +from primaite.simulator.system.applications.application import ApplicationOperatingState +from primaite.simulator.system.applications.database_client import DatabaseClient +from primaite.simulator.system.applications.web_browser import WebBrowser +from primaite.simulator.system.services.database.database_service import DatabaseService +from primaite.simulator.system.services.dns.dns_client import DNSClient +from primaite.simulator.system.services.dns.dns_server import DNSServer +from primaite.simulator.system.services.ftp.ftp_client import FTPClient +from primaite.simulator.system.services.ftp.ftp_server import FTPServer +from primaite.simulator.system.services.ntp.ntp_client import NTPClient +from primaite.simulator.system.services.ntp.ntp_server import NTPServer +from primaite.simulator.system.services.service import ServiceOperatingState +from primaite.simulator.system.software import SoftwareHealthState + +CONFIG_FILE = _EXAMPLE_CFG / "uc7_config.yaml" + + +@pytest.fixture(scope="function") +def uc7_network() -> Network: + with open(file=CONFIG_FILE, mode="r") as f: + cfg = yaml.safe_load(stream=f) + + game = PrimaiteGame.from_config(cfg=cfg) + return game.simulation.network + + +def assert_ntp_client(host): + """Confirms that the ntp_client service is present and functioning.""" + ntp_client: NTPClient = host.software_manager.software["ntp-client"] + assert ntp_client is not None + assert ntp_client.operating_state == ServiceOperatingState.RUNNING + assert ntp_client.health_state_actual == SoftwareHealthState.GOOD + + +def assert_dns_client(host): + """Confirms that the dns_client service is present and functioning.""" + dns_client: DNSClient = host.software_manager.software["dns-client"] + assert dns_client is not None + assert dns_client.operating_state == ServiceOperatingState.RUNNING + assert dns_client.health_state_actual == SoftwareHealthState.GOOD + + +def assert_web_browser(host: Computer): + """Asserts that the web_browser application is present and functioning.""" + web_browser: WebBrowser = host.software_manager.software["web-browser"] + assert web_browser is not None + assert web_browser.operating_state == ApplicationOperatingState.RUNNING + assert web_browser.health_state_actual == SoftwareHealthState.GOOD + + +def assert_database_client(host: Computer): + """Asserts that the database_client application is present and functioning.""" + database_client = host.software_manager.software["database-client"] + assert database_client is not None + assert database_client.operating_state == ApplicationOperatingState.RUNNING + assert database_client.health_state_actual == SoftwareHealthState.GOOD + + +def test_home_office_software(uc7_network): + """Asserts that each host in the home_office network contains the expected software.""" + network: Network = uc7_network + home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + home_pub_pc_2: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + home_pub_srv: Server = network.get_node_by_hostname("HOME-PUB-SRV") + + # Home Office PC 1 + assert_web_browser(home_pub_pc_1) + assert_database_client(home_pub_pc_1) + assert_dns_client(home_pub_pc_1) + assert_ntp_client(home_pub_pc_1) + + # Home Office PC 2 + assert_web_browser(home_pub_pc_2) + assert_database_client(home_pub_pc_2) + assert_dns_client(home_pub_pc_2) + assert_ntp_client(home_pub_pc_2) + + # Home Office Server + assert_dns_client(home_pub_srv) + assert_ntp_client(home_pub_srv) + + +def test_internet_dns_server(uc7_network): + """Asserts that `ISP-PUB-SRV-DNS` host's DNSServer application is operating and functioning as expected.""" + network: Network = uc7_network + isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") + + # Confirming that the DNSServer is up and running: + + dns_server: DNSServer = isp_pub_srv_dns.software_manager.software["dns-server"] + assert dns_server is not None + assert dns_server.operating_state == ServiceOperatingState.RUNNING + assert dns_server.health_state_actual == SoftwareHealthState.GOOD + + # Confirming that the DNSServer is performing as expected by performing a request from a client + + home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + dns_client: DNSClient = home_pub_pc_1.software_manager.software["dns-client"] + + assert dns_client.check_domain_exists(target_domain="some_tech.com") + assert dns_client.dns_cache.get("some_tech.com", None) is not None + assert len(dns_client.dns_cache) == 1 + + +def test_remote_office_software(uc7_network): + """Asserts that each host on the remote_office network has the expected services & applications which are operating as expected.""" + network = uc7_network + rem_pub_pc_1: Computer = network.get_node_by_hostname(hostname="REM-PUB-PC-1") + rem_pub_pc_2: Computer = network.get_node_by_hostname(hostname="REM-PUB-PC-2") + rem_pub_srv: Server = network.get_node_by_hostname(hostname="REM-PUB-SRV") + + # Remote Site PC 1 + assert_web_browser(rem_pub_pc_1) + assert_database_client(rem_pub_pc_1) + assert_dns_client(rem_pub_pc_1) + assert_ntp_client(rem_pub_pc_1) + + # Remote Site PC 2 + assert_web_browser(rem_pub_pc_2) + assert_database_client(rem_pub_pc_2) + assert_dns_client(rem_pub_pc_2) + assert_ntp_client(rem_pub_pc_2) + + # Remote Site Server + assert_dns_client(rem_pub_srv) + assert_ntp_client(rem_pub_srv) + + +def test_dmz_web_server(uc7_network): + """Asserts that the DMZ WebServer functions as expected""" + network: Network = uc7_network + st_dmz_pub_srv_web: Server = network.get_node_by_hostname("ST-DMZ-PUB-SRV-WEB") + + # Asserting the ST Web Server is working as expected + st_web_server = st_dmz_pub_srv_web.software_manager.software["web-server"] + assert st_web_server is not None + assert st_web_server.operating_state == ServiceOperatingState.RUNNING + assert st_web_server.health_state_actual == SoftwareHealthState.GOOD + + # Asserting that WebBrowser can actually connect to the WebServer + + # SOME TECH Human Resources --> DMZ Web Server + st_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") + st_hr_pc_1_web_browser: WebBrowser = st_hr_pc_1.software_manager.software["web-browser"] + assert st_hr_pc_1_web_browser.get_webpage("http://some_tech.com") + + # Remote Site --> DMZ Web Server + rem_pub_pc_1: Computer = network.get_node_by_hostname("REM-PUB-PC-1") + rem_pub_pc_1_web_browser: WebBrowser = rem_pub_pc_1.software_manager.software["web-browser"] + assert rem_pub_pc_1_web_browser.get_webpage("http://some_tech.com") + + # Home Office --> DMZ Web Server + home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") + home_pub_pc_1_web_browser: WebBrowser = home_pub_pc_1.software_manager.software["web-browser"] + assert home_pub_pc_1_web_browser.get_webpage("http://some_tech.com") + + +def test_tech_head_office_software(uc7_network): + """Asserts that each host on the some_tech_head_office network has the expected services & applications which are operating as expected.""" + network: Network = uc7_network + + st_head_office_private_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") + st_head_office_private_pc_2: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-2") + st_head_office_private_pc_3: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-3") + + # ST Head Office One + + assert_web_browser(st_head_office_private_pc_1) + assert_database_client(st_head_office_private_pc_1) + assert_dns_client(st_head_office_private_pc_1) + assert_ntp_client(st_head_office_private_pc_1) + + # ST Head Office Two + + assert_web_browser(st_head_office_private_pc_2) + assert_database_client(st_head_office_private_pc_2) + assert_dns_client(st_head_office_private_pc_2) + assert_ntp_client(st_head_office_private_pc_2) + + # ST Head Office Three + + assert_web_browser(st_head_office_private_pc_3) + assert_database_client(st_head_office_private_pc_3) + assert_dns_client(st_head_office_private_pc_3) + assert_ntp_client(st_head_office_private_pc_3) + + +def test_tech_human_resources_office_software(uc7_network): + """Asserts that each host on the some_tech human_resources network has the expected services & applications which are operating as expected.""" + network: Network = uc7_network + + st_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") + st_hr_pc_2: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-2") + st_hr_pc_3: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-3") + + # ST Human Resource PC 1 + + assert_web_browser(st_hr_pc_1) + assert_database_client(st_hr_pc_1) + assert_dns_client(st_hr_pc_1) + assert_ntp_client(st_hr_pc_1) + + # ST Human Resource PC 2 + + assert_web_browser(st_hr_pc_2) + assert_database_client(st_hr_pc_2) + assert_dns_client(st_hr_pc_2) + assert_ntp_client(st_hr_pc_2) + + # ST Human Resource PC 3 + + assert_web_browser(st_hr_pc_3) + assert_database_client(st_hr_pc_3) + assert_dns_client(st_hr_pc_3) + assert_ntp_client(st_hr_pc_3) + + +def test_tech_data_software(uc7_network): + """Asserts the database and database storage servers on the some_tech data network are operating as expected.""" + network: Network = uc7_network + st_data_database_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + st_data_database_storage: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + + # Asserting that the database_service is working as expected + database_service: DatabaseService = st_data_database_server.software_manager.software["database-service"] + + assert database_service is not None + assert database_service.operating_state == ServiceOperatingState.RUNNING + assert database_service.health_state_actual == SoftwareHealthState.GOOD + + # Asserting that the database_client can connect to the database + database_client: DatabaseClient = st_proj_a_pc_1.software_manager.software["database-client"] + + assert database_client.server_ip_address is not None + assert database_client.server_ip_address == st_data_database_server.network_interface[1].ip_address + assert database_client.connect() + + # Asserting that the database storage works as expected. + assert database_service.backup_server_ip == st_data_database_storage.network_interface[1].ip_address + assert database_service.backup_database() + + +def test_tech_proj_a_software(uc7_network): + """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" + network: Network = uc7_network + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + st_proj_a_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-2") + st_proj_a_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-3") + + # ST Project A - PC 1 + + assert_web_browser(st_proj_a_pc_1) + assert_database_client(st_proj_a_pc_1) + assert_dns_client(st_proj_a_pc_1) + assert_ntp_client(st_proj_a_pc_1) + + # ST Project A - PC 2 + + assert_web_browser(st_proj_a_pc_2) + assert_database_client(st_proj_a_pc_2) + assert_dns_client(st_proj_a_pc_2) + assert_ntp_client(st_proj_a_pc_2) + + # ST Project A - PC 3 + + assert_web_browser(st_proj_a_pc_3) + assert_database_client(st_proj_a_pc_3) + assert_dns_client(st_proj_a_pc_3) + assert_ntp_client(st_proj_a_pc_3) + + +def test_tech_proj_b_software(uc7_network): + """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" + network: Network = uc7_network + st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") + st_proj_b_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-2") + st_proj_b_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-3") + + # ST Project B - PC 1 + + assert_web_browser(st_proj_b_pc_1) + assert_database_client(st_proj_b_pc_1) + assert_dns_client(st_proj_b_pc_1) + assert_ntp_client(st_proj_b_pc_1) + + # ST Project B - PC2 + + assert_web_browser(st_proj_b_pc_2) + assert_database_client(st_proj_b_pc_2) + assert_dns_client(st_proj_b_pc_2) + assert_ntp_client(st_proj_b_pc_2) + + # ST Project B - PC3 + + assert_web_browser(st_proj_b_pc_3) + assert_database_client(st_proj_b_pc_3) + assert_dns_client(st_proj_b_pc_3) + assert_ntp_client(st_proj_b_pc_3) + + +def test_tech_proj_c_software(uc7_network): + """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" + network: Network = uc7_network + st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") + st_proj_c_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-2") + st_proj_c_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-3") + + # ST Project C - PC 1 + + assert_web_browser(st_proj_c_pc_1) + assert_database_client(st_proj_c_pc_1) + assert_dns_client(st_proj_c_pc_1) + assert_ntp_client(st_proj_c_pc_1) + + # ST Project C - PC2 + + assert_web_browser(st_proj_c_pc_2) + assert_database_client(st_proj_c_pc_2) + assert_dns_client(st_proj_c_pc_2) + assert_ntp_client(st_proj_c_pc_2) + + # ST Project C - PC3 + + assert_web_browser(st_proj_c_pc_3) + assert_database_client(st_proj_c_pc_3) + assert_dns_client(st_proj_c_pc_3) + assert_ntp_client(st_proj_c_pc_3) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/__init__.py b/tests/e2e_integration_tests/threat_actor_profiles/__init__.py new file mode 100644 index 00000000..836b79af --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/__init__.py @@ -0,0 +1 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py new file mode 100644 index 00000000..0135a4fb --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py @@ -0,0 +1,143 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv + + +def uc7_tap001_env() -> PrimaiteGymEnv: + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + + for a in cfg["agents"]: + if a["ref"] == "attacker": + tap_cfg = a + + tap_cfg["agent_settings"]["start_step"] = 1 + tap_cfg["agent_settings"]["frequency"] = 5 + tap_cfg["agent_settings"]["variance"] = 0 + + env = PrimaiteGymEnv(env_config=cfg) + + return env + + +def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: + """Setups the UC7 TAP003 Game with the following settings: + + start_step = Start on Step 1 + frequency = Attack Every 5 Steps + + Each PyTest will define the rest of the TAP & Kill Chain settings via **Kwargs + """ + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", "r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + + for a in cfg["agents"]: + if a["ref"] == "attacker": + tap_cfg = a + + tap_cfg["agent_settings"]["start_step"] = 1 + tap_cfg["agent_settings"]["frequency"] = 5 + tap_cfg["agent_settings"]["variance"] = 0 + + if "repeat_kill_chain" in kwargs: + tap_cfg["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + if "repeat_kill_chain_stages" in kwargs: + tap_cfg["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] + if "planning_probability" in kwargs: + tap_cfg["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs["planning_probability"] + if "custom_kill_chain" in kwargs: + tap_cfg["agent_settings"]["kill_chain"] = kwargs["custom_kill_chain"] + if "starting_nodes" in kwargs: + tap_cfg["agent_settings"]["starting_nodes"] = kwargs["starting_nodes"] + if "target_nodes" in kwargs: + tap_cfg["agent_settings"]["target_nodes"] = kwargs["target_nodes"] + + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap001_setup(): + """Tests abstract TAP's following methods: + 1. _setup_kill_chain + 2. _setup_agent_kill_chain + 3. _setup_tap_applications + """ + env = uc7_tap001_env() # Using TAP001 for PyTests. + tap: TAP001 = env.game.agents["attacker"] + + # check the kill chain loaded correctly + assert tap.selected_kill_chain is MobileMalwareKillChain + assert tap.selected_kill_chain.FAILED == BaseKillChain.FAILED + assert tap.selected_kill_chain.SUCCEEDED == BaseKillChain.SUCCEEDED + assert tap.selected_kill_chain.NOT_STARTED == BaseKillChain.NOT_STARTED + + if sn := tap.config.agent_settings.default_starting_node: + assert tap.starting_node == sn + else: + assert tap.starting_node in tap.config.agent_settings.starting_nodes + + if ti := tap.config.agent_settings.default_target_ip: + assert tap.target_ip == ti + else: + assert tap.target_ip in tap.config.agent_settings.target_ips + + assert tap.next_execution_timestep == tap.config.agent_settings.start_step + + assert tap.current_host == tap.starting_node + + +def test_abstract_tap_select_start_node(): + """Tests that Abstract TAP's _select_start_node""" + env = uc7_tap003_env(repeat_kill_chain=True, repeat_kill_chain_stages=True) # Using TAP003 for PyTests. + tap: TAP003 = env.game.agents["attacker"] + + assert tap.starting_node == "ST-PROJ-A-PRV-PC-1" + assert tap.current_host == tap.starting_node + + +def test_outcome_handler(): + """Tests Abstract Tap's outcome handler concludes the episode when the kill chain fails.""" + env = uc7_tap003_env(repeat_kill_chain=False, repeat_kill_chain_stages=False) # Using TAP003 for PyTests. + tap: TAP003 = env.game.agents["attacker"] + tap.current_kill_chain_stage = BaseKillChain.FAILED + + for _ in range(6): + env.step(0) + assert tap.actions_concluded == True + + +def test_abstract_tap_kill_chain_repeat(): + """Tests that the kill chain repeats from the beginning upon failure.""" + env = uc7_tap003_env(repeat_kill_chain=True, repeat_kill_chain_stages=False) # Using TAP003 for PyTests. + tap: TAP003 = env.game.agents["attacker"] + for _ in range(15): + env.step(0) # Steps directly to the Access Stage + assert tap.current_kill_chain_stage == InsiderKillChain.ACCESS + tap.current_kill_chain_stage = BaseKillChain.FAILED + for _ in range(5): + env.step(0) # Steps to manipulation - but failure causes the kill chain to restart. + assert tap.actions_concluded == False + assert tap.current_kill_chain_stage == InsiderKillChain.RECONNAISSANCE + + """Tests that kill chain stages repeat when expected""" + env = uc7_tap003_env( + repeat_kill_chain=True, repeat_kill_chain_stages=True, planning_probability=0 + ) # Using TAP003 for PyTests. + tap: TAP003 = env.game.agents["attacker"] + tap.current_kill_chain_stage = InsiderKillChain.PLANNING + for _ in range(15): + env.step(0) # Attempts to progress past the PLANNING stage multiple times. + assert tap.actions_concluded == False + assert tap.current_kill_chain_stage == InsiderKillChain.PLANNING diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py new file mode 100644 index 00000000..66279e6c --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py @@ -0,0 +1,69 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) + + +def uc7_tap003_env() -> PrimaiteGymEnv: + """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def uc7_tap001_env() -> PrimaiteGymEnv: + """Setup the UC7 TAP001 Game with the start_step & frequency set to 1 & 2 respectively. Probabilities are set to 1""" + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap003_insider_kill_chain_load(): + """Tests that tap003's insider kill chain is successfully loaded into the tap.selected_kill_chain attribute.""" + env = uc7_tap003_env() # Using TAP003 for PyTests. + tap: TAP003 = env.game.agents["attacker"] + # Asserting that the Base Kill Chain intEnum stages are loaded + assert BaseKillChain.FAILED in [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.SUCCEEDED in [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.NOT_STARTED in [enums for enums in tap.selected_kill_chain] + # Asserting that the Insider Kill Chain intenum stages are loaded. + assert len(InsiderKillChain.__members__) == len(tap.selected_kill_chain.__members__) + + +def test_tap001_mobile_malware_kill_chain_load(): + """Tests that tap001's mobile malware is successfully loaded into the tap.selected_kill_chain attribute.""" + env = uc7_tap001_env() # Using TAP003 for PyTests. + tap: TAP001 = env.game.agents["attacker"] + # Asserting that the Base Kill Chain intEnum stages are loaded. + assert BaseKillChain.FAILED in [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.SUCCEEDED in [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.NOT_STARTED in [enums for enums in tap.selected_kill_chain] + # Asserting that the Insider Kill Chain intEnum stages are loaded. + assert len(MobileMalwareKillChain.__members__) == len(tap.selected_kill_chain.__members__) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py new file mode 100644 index 00000000..ec3ee1bf --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py @@ -0,0 +1,109 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) + + +def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: + """Setups the UC7 tap001 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] + cfg["agents"][32]["agent_settings"]["kill_chain"]["PROPAGATE"]["probability"] = kwargs["propagate_probability"] + cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["probability"] = kwargs["payload_probability"] + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap001_repeating_kill_chain(): + """Tests to check that tap001 repeats it's kill chain after success""" + env = uc7_tap001_env( + repeat_kill_chain=True, + repeat_kill_chain_stages=True, + payload_probability=1, + propagate_probability=1, + ) + tap001: TAP001 = env.game.agents["attacker"] + # Looping for 50 timesteps - As the agent is set to execute an action every 2 timesteps + # This is the equivalent of the agent taking 20 actions. + for _ in range(50): # This for loop should never actually fully complete. + if tap001.current_kill_chain_stage == BaseKillChain.SUCCEEDED: + break + env.step(0) + + # Catches if the above for loop fully completes. + # This test uses a probability of 1 for all stages and a variance of 2 timesteps + # Thus the for loop above should never fail. + # If this occurs then there is an error somewhere in either: + # 1. The TAP Logic + # 2. Failing Agent Actions are causing the TAP to fail. (See tap_return_handler). + if tap001.current_kill_chain_stage != BaseKillChain.SUCCEEDED: + pytest.fail("Attacker Never Reached SUCCEEDED - Please evaluate current TAP Logic.") + + # Stepping twice for the succeeded logic to kick in: + env.step(0) + env.step(0) + env.step(0) + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.DOWNLOAD.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.INSTALL.name + + +def test_tap001_repeating_kill_chain_stages(): + """Tests to check that tap001 repeats it's kill chain after failing a kill chain stage.""" + env = uc7_tap001_env( + repeat_kill_chain=True, + repeat_kill_chain_stages=True, + payload_probability=1, + propagate_probability=0, + # Probability 0 = Will never be able to perform the access stage and progress to Manipulation. + ) + tap001: TAP001 = env.game.agents["attacker"] + env.step(0) # Skipping not started + env.step(0) # Successful on the first stage + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.DOWNLOAD.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.INSTALL.name + env.step(0) # Successful progression to the second stage + env.step(0) + env.step(0) + env.step(0) + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.INSTALL.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.ACTIVATE.name + env.step(0) # Successful progression to the third stage + env.step(0) + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.ACTIVATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + env.step(0) # Successful progression to the Fourth stage + env.step(0) + env.step(0) + env.step(0) + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + env.step(0) # FAILURE -- Unsuccessful progression to the Fourth stage + env.step(0) + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + assert tap001.current_stage_progress == KillChainStageProgress.PENDING diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py new file mode 100644 index 00000000..17fe9b25 --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py @@ -0,0 +1,215 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus +from primaite.simulator.system.applications.red_applications.c2.c2_beacon import C2Beacon +from primaite.simulator.system.services.database.database_service import DatabaseService + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? +REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? +KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' +DATA_EXFIL = True # Data exfiltration on the payload stage is enabled. + + +def uc7_tap001_env() -> PrimaiteGymEnv: + """Setups the UC7 tap001 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][32]["agent_settings"]["kill_chain"]["PROPAGATE"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["exfiltrate"] = DATA_EXFIL + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap001_kill_chain_stage_DOWNLOAD(): + """Tests that the DOWNLOAD Mobile Malware step works as expected and the expected impacts are made in the simulation.""" + + # Instantiating the relevant simulation/game objects: + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) + assert tap001.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + # Frequency is set to two steps + env.step(0) + env.step(0) + + env.step(0) + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.DOWNLOAD.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.INSTALL.name + assert tap001.current_stage_progress == KillChainStageProgress.IN_PROGRESS + + # Creating the "downloads" folder + env.step(0) + env.step(0) + + assert starting_host.software_manager.file_system.get_folder(folder_name="downloads") + assert starting_host.software_manager.file_system.get_file(folder_name="downloads", file_name="malware_dropper.ps1") + + # Testing that the num_file_increase works + + assert starting_host.file_system.num_file_creations == 1 + + +def test_tap001_kill_chain_stage_INSTALL(): + """Tests that the INSTALL Mobile Malware step works as expected and the expected impacts are made in the simulation.""" + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + # The tap001's Starting Client: + starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) + + # Skipping directly to the activate stage + for _ in range(6): + env.step(0) + + # Testing that tap001 Enters into the expected kill chain stages + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.INSTALL.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.ACTIVATE.name + + env.step(0) # Allows the agent action to resolve. + env.step(0) + + ransomware_dropper_file = starting_host.software_manager.file_system.get_file( + folder_name="downloads", file_name="malware_dropper.ps1" + ) + assert ransomware_dropper_file.num_access == 1 + + +def test_tap001_kill_chain_stage_ACTIVATE(): + """Tests that the ACTIVATE Mobile Malware step works as expected and the current impacts are made in the simulation.""" + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + # The tap001's Starting Client: + starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) + + # Skipping directly to the activate stage + for _ in range(8): + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.ACTIVATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + + # Installing ransomware-script Application + env.step(0) + env.step(0) + + # Installing NMAP Application + env.step(0) + env.step(0) + + # These asserts will fail if the applications are not present in the software_manager + assert starting_host.software_manager.software["ransomware-script"] + assert starting_host.software_manager.software["nmap"] + + +def test_tap001_kill_chain_stage_PROPAGATE(): + """Tests that the ACTIVATE Mobile Malware step works as expected and the current impacts are made in the simulation.""" + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + + for _ in range(12): + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + + # Specific Stage by Stage Propagate Testing is done in test_tap001_propagate. + fail_safe_var = 0 + while tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE: + env.step(0) + assert tap001.current_stage_progress == KillChainStageProgress.IN_PROGRESS + fail_safe_var += 1 + if fail_safe_var == 100: + pytest.fail("Fail Safe Variable was hit! -- Propagate step is running indefinitely") + + +def test_tap001_kill_chain_stage_COMMAND_AND_CONTROL(): + """Tests that the Command And Control Mobile Malware step works as expected and the current impacts are made in the simulation.""" + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + fail_safe_var = 0 + + for _ in range(28): + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.PAYLOAD.name + + while tap001.current_kill_chain_stage == MobileMalwareKillChain.COMMAND_AND_CONTROL: + env.step(0) + fail_safe_var += 1 + env.game.simulation.network.airspace.show() + if fail_safe_var == 100: + pytest.fail(reason="Fail Safe Variable was hit! -- Propagate step is running indefinitely") + + starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) + + c2_beacon: C2Beacon = starting_host.software_manager.software["c2-beacon"] + + assert c2_beacon.c2_connection_active is True + + +def test_tap001_kill_chain_stage_PAYLOAD(): + """Tests that the PAYLOAD Mobile Malware step works as expected and the current impacts are made in the simulation.""" + + env = uc7_tap001_env() + tap001: TAP001 = env.game.agents["attacker"] + + # The tap001's Target Database + target_host = env.game.simulation.network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + db_server_service: DatabaseService = target_host.software_manager.software.get("database-service") + + # Green agent status requests are tested within the ransomware application tests. + # See test_ransomware_disrupts_green_agent_connection for further reference. + assert db_server_service.db_file.health_status is FileSystemItemHealthStatus.GOOD + + fail_safe_var = 0 + while tap001.current_kill_chain_stage != MobileMalwareKillChain.PAYLOAD: + env.step(0) + fail_safe_var += 1 + if fail_safe_var == 100: + pytest.fail(reason="Fail Safe Variable was hit! -- a step is running indefinitely") + + for _ in range(12): + env.step(0) + + assert db_server_service.db_file.health_status is FileSystemItemHealthStatus.CORRUPT + + # Asserting we've managed to the database.db file onto the starting node & server + starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) + c2_host = env.game.simulation.network.get_node_by_hostname(tap001.c2_settings["c2_server"]) + + assert starting_host.file_system.access_file(folder_name="exfiltration_folder", file_name="database.db") + assert c2_host.file_system.access_file(folder_name="exfiltration_folder", file_name="database.db") diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py new file mode 100644 index 00000000..13b849c9 --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py @@ -0,0 +1,140 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus +from primaite.simulator.system.applications.red_applications.c2.c2_beacon import C2Beacon +from primaite.simulator.system.services.database.database_service import DatabaseService + +# Defining generic tap constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? +REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? +KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' + + +def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: + """Setups the UC7 tap001 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + agent_cfg = cfg["agents"][32]["agent_settings"] + agent_cfg["start_step"] = START_STEP + agent_cfg["frequency"] = FREQUENCY + agent_cfg["variance"] = VARIANCE + agent_cfg["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES + agent_cfg["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES + agent_cfg["kill_chain"]["PAYLOAD"]["probability"] = KILL_CHAIN_PROBABILITY + agent_cfg["kill_chain"]["PROPAGATE"]["probability"] = KILL_CHAIN_PROBABILITY + agent_cfg["kill_chain"]["PROPAGATE"]["scan_attempts"] = kwargs["scan_attempts"] + agent_cfg["kill_chain"]["PAYLOAD"]["payload"] = kwargs["payload"] + agent_cfg["kill_chain"]["PROPAGATE"]["network_addresses"] = kwargs["network_addresses"] + if "repeat_scan" in kwargs: + agent_cfg["kill_chain"]["PROPAGATE"]["repeat_scan"] = kwargs["repeat_scan"] + if "starting_nodes" in kwargs: + agent_cfg["starting_nodes"] = kwargs["starting_nodes"] + agent_cfg["default_starting_node"] = kwargs["starting_nodes"][0] + if "target_ips" in kwargs: + agent_cfg["target_ips"] = kwargs["target_ips"] + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap001_kill_chain_stage_PROPAGATE_default(): + """Tests that the PROPAGATE Mobile Malware step works as expected and the current impacts are made in the simulation.""" + payload = "ENCRYPT" + scan_attempts = 10 + network_addresses = [ + "192.168.230.0/29", + "192.168.10.0/26", + "192.168.20.0/30", + "192.168.240.0/29", + "192.168.220.0/29", + ] + env = uc7_tap001_env(payload=payload, scan_attempts=scan_attempts, network_addresses=network_addresses) + tap001: TAP001 = env.game.agents["attacker"] + + # First Kill Chain Stages + for _ in range(12): + env.step(0) + + # Assert that we're about to enter into the propagate stage. + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + + # Move into the propagate stage. + while tap001.current_kill_chain_stage == MobileMalwareKillChain.PROPAGATE: + env.step(0) + + # Assert that we've successfully moved into the command and control stage. + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.PAYLOAD.name + + +def test_tap001_kill_chain_stage_PROPAGATE_different_starting_node(): + """Tests that the PROPAGATE Mobile Malware step works as expected and the current impacts are made in the simulation from a different starting node.""" + payload = "ENCRYPT" + scan_attempts = 10 + network_addresses = [ + "192.168.230.0/29", + "192.168.10.0/26", + "192.168.20.0/30", + "192.168.240.0/29", + "192.168.220.0/29", + ] + starting_nodes = ["ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + + env = uc7_tap001_env( + payload=payload, scan_attempts=scan_attempts, network_addresses=network_addresses, starting_nodes=starting_nodes + ) + + tap001: TAP001 = env.game.agents["attacker"] + + for _ in range(12): + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.PROPAGATE.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + + # Specific Stage by Stage Propagate Testing is done in test_tap001_propagate. + while tap001.current_kill_chain_stage == MobileMalwareKillChain.PROPAGATE: + env.step(0) + + assert tap001.current_kill_chain_stage.name == MobileMalwareKillChain.COMMAND_AND_CONTROL.name + assert tap001.next_kill_chain_stage.name == MobileMalwareKillChain.PAYLOAD.name + + +def test_tap001_kill_chain_stage_PROPAGATE_repeat_scan(): + """Tests that the PROPAGATE Mobile Malware step will fail when the target is unable to be located.""" + payload = "ENCRYPT" + scan_attempts = 20 + repeat_scan = True + network_addresses = ["192.168.1.0/24", "192.168.0.0/28", "100.64.0.0/30", "172.168.0.0/28"] + env = uc7_tap001_env( + payload=payload, scan_attempts=scan_attempts, network_addresses=network_addresses, repeat_scan=repeat_scan + ) + for _ in range(12): + env.step(0) + + tap001: TAP001 = env.game.agents["attacker"] + + while tap001.current_kill_chain_stage == MobileMalwareKillChain.PROPAGATE: + env.step(0) + + # As the given network_address does not contain the target, we should failed because the maximum amount of scan attempts has been reached + assert tap001.scans_complete == 20 + assert tap001.current_kill_chain_stage == MobileMalwareKillChain.FAILED diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py new file mode 100644 index 00000000..42b33a7e --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py @@ -0,0 +1,101 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) + + +def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: + """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] + cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = kwargs[ + "manipulation_probability" + ] + cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = kwargs["access_probability"] + cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs["planning_probability"] + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap003_repeating_kill_chain(): + """Tests to check that TAP003 repeats it's kill chain after success""" + env = uc7_tap003_env( + repeat_kill_chain=True, + repeat_kill_chain_stages=True, + manipulation_probability=1, + access_probability=1, + planning_probability=1, + ) + tap003: TAP003 = env.game.agents["attacker"] + for _ in range(40): # This for loop should never actually fully complete. + if tap003.current_kill_chain_stage == BaseKillChain.SUCCEEDED: + break + env.step(0) + + # Catches if the above for loop fully completes. + # This test uses a probability of 1 for all stages and a variance of 2 timesteps + # Thus the for loop above should never fail. + # If this occurs then there is an error somewhere in either: + # 1. The TAP Logic + # 2. Failing Agent Actions are causing the TAP to fail. (See tap_return_handler). + if tap003.current_kill_chain_stage != BaseKillChain.SUCCEEDED: + pytest.fail("Attacker Never Reached SUCCEEDED - Please evaluate current TAP Logic.") + + # Stepping twice for the succeeded logic to kick in: + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + + +def test_tap003_repeating_kill_chain_stages(): + """Tests to check that TAP003 repeats it's kill chain after failing a kill chain stage.""" + env = uc7_tap003_env( + repeat_kill_chain=True, + repeat_kill_chain_stages=True, + manipulation_probability=1, + # Probability 0 = Will never be able to perform the access stage and progress to Manipulation. + access_probability=0, + planning_probability=1, + ) + tap003: TAP003 = env.game.agents["attacker"] + env.step(0) # Skipping not started + env.step(0) # Successful on the first stage + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + env.step(0) # Successful progression to the second stage + env.step(0) + assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name + env.step(0) # Successfully moved onto access. + env.step(0) + assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name + env.step(0) # Failure to progress past the third stage. + env.step(0) + assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py new file mode 100644 index 00000000..e9410ee4 --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py @@ -0,0 +1,232 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.network.hardware.nodes.network.router import ACLAction + +# Defining constants. + +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? +REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? +KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' + + +def uc7_tap003_env() -> PrimaiteGymEnv: + """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][32]["agent_settings"]["kill_chain"]["EXPLOIT"]["probability"] = KILL_CHAIN_PROBABILITY + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def environment_step(i: int, env: PrimaiteGymEnv) -> PrimaiteGymEnv: + """Carries out i (given parameter) steps in the environment..""" + for x in range(i): + env.step(0) + return env + + +def test_tap003_kill_chain_stage_reconnaissance(): + """Tests the successful/failed handlers in the reconnaissance stage in the Insider Kill Chain InsiderKillChain""" + + # Instantiating the relevant simulation/game objects: + env = uc7_tap003_env() + tap003: TAP003 = env.game.agents["attacker"] + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + # Frequency is set to two steps + env = environment_step(i=2, env=env) + + # Testing that TAP003 Enters into the expected kill chain stages + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + + +def test_tap003_kill_chain_stage_planning(): + """Tests the successful/failed handlers in the planning stage in the Insider Kill Chain (TAP003)""" + env = uc7_tap003_env() + tap003: TAP003 = env.game.agents["attacker"] + + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + env = environment_step(i=2, env=env) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + + env = environment_step(i=2, env=env) + + # Testing that TAP003 Enters into the expected kill chain stages + assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name + + env = environment_step(i=2, env=env) + + # Testing that the stage successfully impacted the simulation - User is logged in + # TODO: Add an assert for this. + + +def test_tap003_kill_chain_stage_access(): + """Tests the successful/failed handlers in the access stage in the InsiderKillChain""" + env = uc7_tap003_env() + tap003: TAP003 = env.game.agents["attacker"] + + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + env = environment_step(i=2, env=env) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + + env = environment_step(i=2, env=env) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name + + env = environment_step(i=2, env=env) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name + + env = environment_step(i=2, env=env) + + +def test_tap003_kill_chain_stage_manipulation(): + """Tests the successful/failed handlers in the manipulation stage in the InsiderKillChain""" + + env = uc7_tap003_env() + env.reset() + tap003: TAP003 = env.game.agents["attacker"] + + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name + + # Testing that the stage successfully impacted the simulation - Accounts Altered + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") + assert st_intra_prv_rt_dr_1.user_manager.admins["admin"].password == "red_pass" + + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + assert st_intra_prv_rt_cr.user_manager.admins["admin"].password == "red_pass" + + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") + assert rem_pub_rt_dr.user_manager.admins["admin"].password == "red_pass" + + +def test_tap003_kill_chain_stage_exploit(): + """Tests the successful/failed handlers in the exploit stage in the InsiderKillChain""" + + env = uc7_tap003_env() + tap003: TAP003 = env.game.agents["attacker"] + # The TAP003's Target Router/Firewall + st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") + st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name + + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name + assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name + + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + env.step(0) + + assert tap003.current_kill_chain_stage.name == InsiderKillChain.EXPLOIT.name + + # Testing that the stage successfully impacted the simulation - Malicious ACL Added: + for _ in range(32): + env.step(0) + + # Tests that the ACL has been added and that the action is deny. + st_intra_prv_rt_dr_1_acl_list = st_intra_prv_rt_dr_1.acl + assert st_intra_prv_rt_dr_1_acl_list.acl[1].action != None + assert st_intra_prv_rt_dr_1_acl_list.acl[1].action == ACLAction.DENY + + st_intra_prv_rt_cr_acl_list = st_intra_prv_rt_cr.acl + assert st_intra_prv_rt_cr_acl_list.acl[1].action != None + assert st_intra_prv_rt_cr_acl_list.acl[1].action == ACLAction.DENY + + rem_pub_rt_dr_acl_list = rem_pub_rt_dr.acl + assert rem_pub_rt_dr_acl_list.acl[1].action != None + assert rem_pub_rt_dr_acl_list.acl[1].action == ACLAction.DENY diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py new file mode 100644 index 00000000..036b6769 --- /dev/null +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py @@ -0,0 +1,201 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from typing import Protocol + +import pytest +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.abstract_tap import ( + AbstractTAP, + BaseKillChain, + KillChainOptions, + KillChainStageOptions, + KillChainStageProgress, +) +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator.network.hardware.nodes.network.router import ACLAction, Router +from primaite.utils.validation.ip_protocol import PROTOCOL_LOOKUP +from primaite.utils.validation.ipv4_address import IPV4Address +from primaite.utils.validation.port import PORT_LOOKUP + +# Defining constants. +ATTACK_AGENT_INDEX = 32 +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? +REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? +KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' +RULES = [ + { + "target_router": "ST-INTRA-PRV-RT-DR-1", + "position": 1, + "permission": "DENY", + "src_ip": "192.168.220.3", + "src_wildcard": "NONE", + "dst_ip": "192.168.220.3", + "dst_wildcard": "NONE", + "src_port": "ALL", + "dst_port": "ALL", + "protocol_name": "ALL", + }, + { + "target_router": "ST-INTRA-PRV-RT-DR-2", + "position": 5, + "permission": "DENY", + "src_ip": "192.168.220.3", + "src_wildcard": "NONE", + "dst_ip": "ALL", + "dst_wildcard": "NONE", + "src_port": "ALL", + "dst_port": "ALL", + "protocol_name": "ALL", + }, + { + "target_router": "ST-INTRA-PRV-RT-CR", + "position": 6, + "permission": "PERMIT", + "src_ip": "192.168.220.3", + "src_wildcard": "NONE", + "dst_ip": "ALL", + "dst_wildcard": "NONE", + "src_port": "ALL", + "dst_port": "ALL", + "protocol_name": "ALL", + }, + { + "target_router": "REM-PUB-RT-DR", + "position": 3, + "permission": "PERMIT", + "src_ip": "192.168.220.3", + "src_wildcard": "0.0.0.1", + "dst_ip": "192.168.220.3", + "dst_wildcard": "0.0.0.1", + "src_port": "FTP", + "dst_port": "FTP", + "protocol_name": "TCP", + }, + # +] + + +def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: + """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["io_settings"]["save_sys_logs"] = False + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = kwargs[ + "repeat_kill_chain_stages" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = kwargs[ + "manipulation_probability" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = kwargs[ + "access_probability" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs[ + "planning_probability" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["EXPLOIT"]["malicious_acls"] = RULES + # Adding the new test target to TAP003's starting knowledge: + new_target_dict = { + "ST-INTRA-PRV-RT-DR-2": { + "ip_address": "192.168.170.2", + "username": "admin", + "password": "admin", + } + } + new_target_manipulation = { + "host": "ST-INTRA-PRV-RT-DR-2", + "ip_address": "192.168.170.2", + "action": "change_password", + "username": "admin", + "new_password": "red_pass", + } + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"]["starting_network_knowledge"][ + "credentials" + ].update(new_target_dict) + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["MANIPULATION"]["account_changes"].append( + new_target_manipulation + ) + env = PrimaiteGymEnv(env_config=cfg) + return env + + +def test_tap003_cycling_rules(): + """Tests to check that TAP003 repeats it's kill chain after success""" + + env = uc7_tap003_env( + repeat_kill_chain=True, + repeat_kill_chain_stages=True, + manipulation_probability=1, + access_probability=1, + planning_probability=1, + ) + tap003: TAP003 = env.game.agents["attacker"] + + def wait_until_attack(): + for _ in range(120): + # check if the agent has executed and therefore moved onto the next rule index + env.step(0) + if tap003.history[-1].action == "node-send-remote-command": + if tap003.history[-1].parameters["command"][0] == "acl": + return + pytest.fail("While testing the cycling of TAP003 rules, the agent unexpectedly didn't execute its attack.") + + wait_until_attack() + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") + assert (rule_0 := target_node.acl.acl[1]) is not None + assert rule_0.action == ACLAction.DENY + assert rule_0.protocol == None + assert rule_0.src_ip_address == IPV4Address("192.168.220.3") + assert rule_0.src_wildcard_mask == None + assert rule_0.dst_ip_address == IPV4Address("192.168.220.3") + assert rule_0.dst_wildcard_mask == None + assert rule_0.src_port == None + assert rule_0.dst_port == None + + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-2") + wait_until_attack() + assert (rule_1 := target_node.acl.acl[5]) is not None + assert rule_1.action == ACLAction.DENY + assert rule_1.protocol == None + assert rule_1.src_ip_address == IPV4Address("192.168.220.3") + assert rule_1.src_wildcard_mask == None + assert rule_1.dst_ip_address == None + assert rule_1.dst_wildcard_mask == None + assert rule_1.src_port == None + assert rule_1.dst_port == None + + wait_until_attack() + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + assert (rule_2 := target_node.acl.acl[6]) is not None + assert rule_2.action == ACLAction.PERMIT + assert rule_2.protocol == None + assert rule_2.src_ip_address == IPV4Address("192.168.220.3") + assert rule_2.src_wildcard_mask == None # default + assert rule_2.dst_ip_address == None + assert rule_2.dst_wildcard_mask == None # default + assert rule_2.src_port == None + assert rule_2.dst_port == None + + wait_until_attack() + target_node: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") + assert (rule_3 := target_node.acl.acl[3]) is not None + assert rule_3.action == ACLAction.PERMIT + assert rule_3.protocol == PROTOCOL_LOOKUP["TCP"] + assert rule_3.src_ip_address == IPV4Address("192.168.220.3") + assert rule_3.src_wildcard_mask == IPV4Address("0.0.0.1") + assert rule_3.dst_ip_address == IPV4Address("192.168.220.3") + assert rule_3.dst_wildcard_mask == IPV4Address("0.0.0.1") + assert rule_3.src_port == PORT_LOOKUP["FTP"] + assert rule_3.dst_port == PORT_LOOKUP["FTP"] + + # If we've gotten this fair then we can pass the test :) + pass diff --git a/tests/integration_tests/configuration_file_parsing/test_game_options_config.py b/tests/integration_tests/configuration_file_parsing/test_game_options_config.py index 4153adc0..627fc53b 100644 --- a/tests/integration_tests/configuration_file_parsing/test_game_options_config.py +++ b/tests/integration_tests/configuration_file_parsing/test_game_options_config.py @@ -8,7 +8,7 @@ from primaite.config.load import data_manipulation_config_path from primaite.game.game import PrimaiteGame from tests import TEST_ASSETS_ROOT -BASIC_CONFIG = TEST_ASSETS_ROOT / "configs/basic_switched_network.yaml" +BASIC_SWITCHED_NETWORK_CONFIG = TEST_ASSETS_ROOT / "configs/basic_switched_network.yaml" def load_config(config_path: Union[str, Path]) -> PrimaiteGame: @@ -24,3 +24,42 @@ def test_thresholds(): game = load_config(data_manipulation_config_path()) assert game.options.thresholds is not None + + +def test_nmne_threshold(): + """Test that the NMNE thresholds are properly loaded in by observation.""" + game = load_config(BASIC_SWITCHED_NETWORK_CONFIG) + + assert game.options.thresholds["nmne"] is not None + + # get NIC observation + nic_obs = game.agents["defender"].observation_manager.obs.components["NODES"].hosts[0].nics[0] + assert nic_obs.low_nmne_threshold == 5 + assert nic_obs.med_nmne_threshold == 25 + assert nic_obs.high_nmne_threshold == 100 + + +def test_file_access_threshold(): + """Test that the NMNE thresholds are properly loaded in by observation.""" + game = load_config(BASIC_SWITCHED_NETWORK_CONFIG) + + assert game.options.thresholds["file_access"] is not None + + # get file observation + file_obs = game.agents["defender"].observation_manager.obs.components["NODES"].hosts[0].folders[0].files[0] + assert file_obs.low_file_access_threshold == 2 + assert file_obs.med_file_access_threshold == 5 + assert file_obs.high_file_access_threshold == 10 + + +def test_app_executions_threshold(): + """Test that the NMNE thresholds are properly loaded in by observation.""" + game = load_config(BASIC_SWITCHED_NETWORK_CONFIG) + + assert game.options.thresholds["app_executions"] is not None + + # get application observation + app_obs = game.agents["defender"].observation_manager.obs.components["NODES"].hosts[0].applications[0] + assert app_obs.low_app_execution_threshold == 2 + assert app_obs.med_app_execution_threshold == 3 + assert app_obs.high_app_execution_threshold == 5 diff --git a/tests/integration_tests/configuration_file_parsing/test_node_file_system_config.py b/tests/integration_tests/configuration_file_parsing/test_node_file_system_config.py new file mode 100644 index 00000000..f4f96a7a --- /dev/null +++ b/tests/integration_tests/configuration_file_parsing/test_node_file_system_config.py @@ -0,0 +1,64 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from pathlib import Path +from typing import Union + +import yaml + +from primaite.game.game import PrimaiteGame +from primaite.simulator.file_system.file_type import FileType +from tests import TEST_ASSETS_ROOT + +BASIC_CONFIG = TEST_ASSETS_ROOT / "configs/nodes_with_initial_files.yaml" + + +def load_config(config_path: Union[str, Path]) -> PrimaiteGame: + """Returns a PrimaiteGame object which loads the contents of a given yaml path.""" + with open(config_path, "r") as f: + cfg = yaml.safe_load(f) + + return PrimaiteGame.from_config(cfg) + + +def test_node_file_system_from_config(): + """Test that the appropriate files are instantiated in nodes when loaded from config.""" + game = load_config(BASIC_CONFIG) + + client_1 = game.simulation.network.get_node_by_hostname("client_1") + + assert client_1.software_manager.software.get("database-service") # database service should be installed + assert client_1.file_system.get_file(folder_name="database", file_name="database.db") # database files should exist + + assert client_1.software_manager.software.get("web-server") # web server should be installed + assert client_1.file_system.get_file(folder_name="primaite", file_name="index.html") # web files should exist + + client_2 = game.simulation.network.get_node_by_hostname("client_2") + + # database service should not be installed + assert client_2.software_manager.software.get("database-service") is None + # database files should not exist + assert client_2.file_system.get_file(folder_name="database", file_name="database.db") is None + + # web server should not be installed + assert client_2.software_manager.software.get("web-server") is None + # web files should not exist + assert client_2.file_system.get_file(folder_name="primaite", file_name="index.html") is None + + empty_folder = client_2.file_system.get_folder(folder_name="empty_folder") + assert empty_folder + assert len(empty_folder.files) == 0 # should have no files + + password_file = client_2.file_system.get_file(folder_name="root", file_name="passwords.txt") + assert password_file # should exist + assert password_file.file_type is FileType.TXT + assert password_file.size == 663 + + downloads_folder = client_2.file_system.get_folder(folder_name="downloads") + assert downloads_folder # downloads folder should exist + + test_txt = downloads_folder.get_file(file_name="test.txt") + assert test_txt # test.txt should exist + assert test_txt.file_type is FileType.TXT + + unknown_file_type = downloads_folder.get_file(file_name="another_file.pwtwoti") + assert unknown_file_type # unknown_file_type should exist + assert unknown_file_type.file_type is FileType.UNKNOWN diff --git a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/__init__.py b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/__init__.py new file mode 100644 index 00000000..836b79af --- /dev/null +++ b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/__init__.py @@ -0,0 +1 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK diff --git a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py new file mode 100644 index 00000000..3f7f6eca --- /dev/null +++ b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py @@ -0,0 +1,23 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from pathlib import Path +from typing import Union + +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.TAP003 import TAP003 +from primaite.game.game import PrimaiteGame + + +def test_tap003_kill_chain_settings_load_config(): + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = 0.5 + cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = 0.5 + cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = 0.5 + game = PrimaiteGame.from_config(cfg) + tap: TAP003 = game.agents["attacker"] + kill_chain = tap.config.agent_settings.kill_chain + assert kill_chain.MANIPULATION.probability == 0.5 + assert kill_chain.ACCESS.probability == 0.5 + assert kill_chain.PLANNING.probability == 0.5 diff --git a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py new file mode 100644 index 00000000..139ca154 --- /dev/null +++ b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py @@ -0,0 +1,35 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from pathlib import Path +from typing import Union + +import yaml + +from primaite.config.load import _EXAMPLE_CFG +from primaite.game.agent.scripted_agents.TAP003 import TAP003 +from primaite.game.game import PrimaiteGame + + +def test_threat_actor_profile_load_config(): + """Test to check that threat actor profiles are able to be loaded.""" + with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: + cfg = yaml.safe_load(uc7_config) + + game = PrimaiteGame.from_config(cfg) + # tap003 is found and loaded TODO: Once tuple digestion is implemented, change to hardcoded 'tap003' test. + assert "attacker" in game.agents + assert isinstance(game.agents["attacker"], TAP003) + agent: TAP003 = game.agents["attacker"] + assert agent.config.agent_settings.start_step == 1 + assert agent.config.agent_settings.frequency == 3 + assert agent.config.agent_settings.variance == 0 + assert not agent.config.agent_settings.repeat_kill_chain + assert agent.config.agent_settings.repeat_kill_chain_stages + assert agent.config.agent_settings.default_starting_node == "ST-PROJ-A-PRV-PC-1" + assert not agent.config.agent_settings.starting_nodes + assert agent.config.agent_settings.kill_chain.PLANNING.probability == 1 + assert len(agent.config.agent_settings.kill_chain.PLANNING.starting_network_knowledge["credentials"]) == 6 + assert agent.config.agent_settings.kill_chain.ACCESS.probability == 1 + assert agent.config.agent_settings.kill_chain.MANIPULATION.probability == 1 + assert len(agent.config.agent_settings.kill_chain.MANIPULATION.account_changes) == 3 + assert agent.config.agent_settings.kill_chain.EXPLOIT.probability == 1 + assert len(agent.config.agent_settings.kill_chain.EXPLOIT.malicious_acls) == 3 diff --git a/tests/integration_tests/extensions/nodes/giga_switch.py b/tests/integration_tests/extensions/nodes/giga_switch.py index d9599618..5c202ed2 100644 --- a/tests/integration_tests/extensions/nodes/giga_switch.py +++ b/tests/integration_tests/extensions/nodes/giga_switch.py @@ -49,7 +49,7 @@ class GigaSwitch(NetworkNode, discriminator="gigaswitch"): if markdown: table.set_style(MARKDOWN) table.align = "l" - table.title = f"{self.hostname} Switch Ports" + table.title = f"{self.config.hostname} Switch Ports" for port_num, port in self.network_interface.items(): table.add_row([port_num, port.mac_address, port.speed, "Enabled" if port.enabled else "Disabled"]) print(table) diff --git a/tests/integration_tests/game_layer/actions/test_terminal_actions.py b/tests/integration_tests/game_layer/actions/test_terminal_actions.py index c39d8263..3ee97fb7 100644 --- a/tests/integration_tests/game_layer/actions/test_terminal_actions.py +++ b/tests/integration_tests/game_layer/actions/test_terminal_actions.py @@ -106,7 +106,6 @@ def test_remote_login_change_password(game_and_agent_fixture: Tuple[PrimaiteGame "username": "user123", "current_password": "password", "new_password": "different_password", - "remote_ip": str(server_1.network_interface[1].ip_address), }, ) agent.store_action(action) @@ -146,7 +145,6 @@ def test_change_password_logs_out_user(game_and_agent_fixture: Tuple[PrimaiteGam "username": "user123", "current_password": "password", "new_password": "different_password", - "remote_ip": str(server_1.network_interface[1].ip_address), }, ) agent.store_action(action) @@ -166,3 +164,55 @@ def test_change_password_logs_out_user(game_and_agent_fixture: Tuple[PrimaiteGam assert server_1.file_system.get_folder("folder123") is None assert server_1.file_system.get_file("folder123", "doggo.pdf") is None + + +def test_local_terminal(game_and_agent_fixture: Tuple[PrimaiteGame, ProxyAgent]): + game, agent = game_and_agent_fixture + + client_1 = game.simulation.network.get_node_by_hostname("client_1") + # create a new user account on server_1 that will be logged into remotely + client_1_usm: UserManager = client_1.software_manager.software["user-manager"] + client_1_usm.add_user("user123", "password", is_admin=True) + + action = ( + "node-send-local-command", + { + "node_name": "client_1", + "username": "user123", + "password": "password", + "command": ["file_system", "create", "file", "folder123", "doggo.pdf", False], + }, + ) + agent.store_action(action) + game.step() + + assert client_1.file_system.get_folder("folder123") + assert client_1.file_system.get_file("folder123", "doggo.pdf") + + # Change password + action = ( + "node-account-change-password", + { + "node_name": "client_1", + "username": "user123", + "current_password": "password", + "new_password": "different_password", + }, + ) + agent.store_action(action) + game.step() + + action = ( + "node-send-local-command", + { + "node_name": "client_1", + "username": "user123", + "password": "password", + "command": ["file_system", "create", "file", "folder123", "cat.pdf", False], + }, + ) + agent.store_action(action) + game.step() + + assert client_1.file_system.get_file("folder123", "cat.pdf") is None + client_1.session_manager.show() diff --git a/tests/integration_tests/game_layer/actions/test_user_account_actions.py b/tests/integration_tests/game_layer/actions/test_user_account_actions.py new file mode 100644 index 00000000..340a093a --- /dev/null +++ b/tests/integration_tests/game_layer/actions/test_user_account_actions.py @@ -0,0 +1,176 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import pytest + +from primaite.simulator.network.hardware.nodes.host.computer import Computer +from primaite.simulator.network.hardware.nodes.network.router import ACLAction +from primaite.utils.validation.port import Port, PORT_LOOKUP + + +@pytest.fixture +def game_and_agent_fixture(game_and_agent): + """Create a game with a simple agent that can be controlled by the tests.""" + game, agent = game_and_agent + + client_1: Computer = game.simulation.network.get_node_by_hostname("client_1") + client_1.start_up_duration = 3 + + return (game, agent) + + +def test_user_account_add_user_action(game_and_agent_fixture): + """Tests the add user account action.""" + game, agent = game_and_agent_fixture + client_1 = game.simulation.network.get_node_by_hostname("client_1") + + assert len(client_1.user_manager.users) == 1 # admin is created by default + assert len(client_1.user_manager.admins) == 1 + + # add admin account + action = ( + "node-account-add-user", + {"node_name": "client_1", "username": "admin_2", "password": "e-tronic-boogaloo", "is_admin": True}, + ) + agent.store_action(action) + game.step() + + assert len(client_1.user_manager.users) == 2 # new user added + assert len(client_1.user_manager.admins) == 2 + + # add non admin account + action = ( + "node-account-add-user", + {"node_name": "client_1", "username": "leeroy.jenkins", "password": "no_plan_needed", "is_admin": False}, + ) + agent.store_action(action) + game.step() + + assert len(client_1.user_manager.users) == 3 # new user added + assert len(client_1.user_manager.admins) == 2 + + +def test_user_account_disable_user_action(game_and_agent_fixture): + """Tests the disable user account action.""" + game, agent = game_and_agent_fixture + client_1 = game.simulation.network.get_node_by_hostname("client_1") + + client_1.user_manager.add_user(username="test", password="password", is_admin=True) + assert len(client_1.user_manager.users) == 2 # new user added + assert len(client_1.user_manager.admins) == 2 + + test_user = client_1.user_manager.users.get("test") + assert test_user + assert test_user.disabled is not True + + # disable test account + action = ( + "node-account-disable-user", + { + "node_name": "client_1", + "username": "test", + }, + ) + agent.store_action(action) + game.step() + assert test_user.disabled + + +def test_user_account_change_password_action(game_and_agent_fixture): + """Tests the change password user account action.""" + game, agent = game_and_agent_fixture + client_1 = game.simulation.network.get_node_by_hostname("client_1") + + client_1.user_manager.add_user(username="test", password="password", is_admin=True) + + test_user = client_1.user_manager.users.get("test") + assert test_user.password == "password" + + # change account password + action = ( + "node-account-change-password", + {"node_name": "client_1", "username": "test", "current_password": "password", "new_password": "2Hard_2_Hack"}, + ) + agent.store_action(action) + game.step() + + assert test_user.password == "2Hard_2_Hack" + + +def test_user_account_create_terminal_action(game_and_agent_fixture): + """Tests that agents can use the terminal to create new users.""" + game, agent = game_and_agent_fixture + + router = game.simulation.network.get_node_by_hostname("router") + router.acl.add_rule(action=ACLAction.PERMIT, src_port=PORT_LOOKUP["SSH"], dst_port=PORT_LOOKUP["SSH"], position=4) + + server_1 = game.simulation.network.get_node_by_hostname("server_1") + server_1_usm = server_1.software_manager.software["user-manager"] + server_1_usm.add_user("user123", "password", is_admin=True) + + action = ( + "node-session-remote-login", + { + "node_name": "client_1", + "username": "user123", + "password": "password", + "remote_ip": str(server_1.network_interface[1].ip_address), + }, + ) + agent.store_action(action) + game.step() + assert agent.history[-1].response.status == "success" + + # Create a new user account via terminal. + action = ( + "node-send-remote-command", + { + "node_name": "client_1", + "remote_ip": str(server_1.network_interface[1].ip_address), + "command": ["service", "user-manager", "add_user", "new_user", "new_pass", True], + }, + ) + agent.store_action(action) + game.step() + new_user = server_1.user_manager.users.get("new_user") + assert new_user + assert new_user.password == "new_pass" + assert new_user.disabled is not True + + +def test_user_account_disable_terminal_action(game_and_agent_fixture): + """Tests that agents can use the terminal to disable users.""" + game, agent = game_and_agent_fixture + router = game.simulation.network.get_node_by_hostname("router") + router.acl.add_rule(action=ACLAction.PERMIT, src_port=PORT_LOOKUP["SSH"], dst_port=PORT_LOOKUP["SSH"], position=4) + + server_1 = game.simulation.network.get_node_by_hostname("server_1") + server_1_usm = server_1.software_manager.software["user-manager"] + server_1_usm.add_user("user123", "password", is_admin=True) + + action = ( + "node-session-remote-login", + { + "node_name": "client_1", + "username": "user123", + "password": "password", + "remote_ip": str(server_1.network_interface[1].ip_address), + }, + ) + agent.store_action(action) + game.step() + assert agent.history[-1].response.status == "success" + + # Disable a user via terminal + action = ( + "node-send-remote-command", + { + "node_name": "client_1", + "remote_ip": str(server_1.network_interface[1].ip_address), + "command": ["service", "user-manager", "disable_user", "user123"], + }, + ) + agent.store_action(action) + game.step() + + new_user = server_1.user_manager.users.get("user123") + assert new_user + assert new_user.disabled is True diff --git a/tests/integration_tests/game_layer/observations/test_file_system_observations.py b/tests/integration_tests/game_layer/observations/test_file_system_observations.py index 7323461c..722fd294 100644 --- a/tests/integration_tests/game_layer/observations/test_file_system_observations.py +++ b/tests/integration_tests/game_layer/observations/test_file_system_observations.py @@ -44,6 +44,38 @@ def test_file_observation(simulation): assert observation_state.get("health_status") == 3 # corrupted +def test_config_file_access_categories(simulation): + pc: Computer = simulation.network.get_node_by_hostname("client_1") + file_obs = FileObservation( + where=["network", "nodes", pc.config.hostname, "file_system", "folders", "root", "files", "dog.png"], + include_num_access=False, + file_system_requires_scan=True, + thresholds={"file_access": {"low": 3, "medium": 6, "high": 9}}, + ) + + assert file_obs.high_file_access_threshold == 9 + assert file_obs.med_file_access_threshold == 6 + assert file_obs.low_file_access_threshold == 3 + + with pytest.raises(Exception): + # should throw an error + FileObservation( + where=["network", "nodes", pc.config.hostname, "file_system", "folders", "root", "files", "dog.png"], + include_num_access=False, + file_system_requires_scan=True, + thresholds={"file_access": {"low": 9, "medium": 6, "high": 9}}, + ) + + with pytest.raises(Exception): + # should throw an error + FileObservation( + where=["network", "nodes", pc.config.hostname, "file_system", "folders", "root", "files", "dog.png"], + include_num_access=False, + file_system_requires_scan=True, + thresholds={"file_access": {"low": 3, "medium": 9, "high": 9}}, + ) + + def test_folder_observation(simulation): """Test the folder observation.""" pc: Computer = simulation.network.get_node_by_hostname("client_1") diff --git a/tests/integration_tests/game_layer/observations/test_nic_observations.py b/tests/integration_tests/game_layer/observations/test_nic_observations.py index b5e5ca81..30eccb06 100644 --- a/tests/integration_tests/game_layer/observations/test_nic_observations.py +++ b/tests/integration_tests/game_layer/observations/test_nic_observations.py @@ -77,6 +77,14 @@ def test_nic(simulation): nic_obs = NICObservation(where=["network", "nodes", pc.config.hostname, "NICs", 1], include_nmne=True) + # The Simulation object created by the fixture also creates the + # NICObservation class with the NICObservation.capture_nmnme class variable + # set to False. Under normal (non-test) circumstances this class variable + # is set from a config file such as data_manipulation.yaml. So although + # capture_nmne is set to True in the NetworkInterface class it's still False + # in the NICObservation class so we set it now. + nic_obs.capture_nmne = True + # Set the NMNE configuration to capture DELETE/ENCRYPT queries as MNEs nmne_config = { "capture_nmne": True, # Enable the capture of MNEs @@ -115,14 +123,11 @@ def test_nic_categories(simulation): assert nic_obs.low_nmne_threshold == 0 # default -@pytest.mark.skip(reason="Feature not implemented yet") def test_config_nic_categories(simulation): pc: Computer = simulation.network.get_node_by_hostname("client_1") nic_obs = NICObservation( - where=["network", "nodes", pc.hostname, "NICs", 1], - low_nmne_threshold=3, - med_nmne_threshold=6, - high_nmne_threshold=9, + where=["network", "nodes", pc.config.hostname, "NICs", 1], + thresholds={"nmne": {"low": 3, "medium": 6, "high": 9}}, include_nmne=True, ) @@ -133,20 +138,16 @@ def test_config_nic_categories(simulation): with pytest.raises(Exception): # should throw an error NICObservation( - where=["network", "nodes", pc.hostname, "NICs", 1], - low_nmne_threshold=9, - med_nmne_threshold=6, - high_nmne_threshold=9, + where=["network", "nodes", pc.config.hostname, "NICs", 1], + thresholds={"nmne": {"low": 9, "medium": 6, "high": 9}}, include_nmne=True, ) with pytest.raises(Exception): # should throw an error NICObservation( - where=["network", "nodes", pc.hostname, "NICs", 1], - low_nmne_threshold=3, - med_nmne_threshold=9, - high_nmne_threshold=9, + where=["network", "nodes", pc.config.hostname, "NICs", 1], + thresholds={"nmne": {"low": 3, "medium": 9, "high": 9}}, include_nmne=True, ) diff --git a/tests/integration_tests/game_layer/observations/test_node_observations.py b/tests/integration_tests/game_layer/observations/test_node_observations.py index 09eb3fe4..aef60bc2 100644 --- a/tests/integration_tests/game_layer/observations/test_node_observations.py +++ b/tests/integration_tests/game_layer/observations/test_node_observations.py @@ -39,6 +39,8 @@ def test_host_observation(simulation): folders=[], network_interfaces=[], file_system_requires_scan=True, + services_requires_scan=True, + applications_requires_scan=True, include_users=False, ) diff --git a/tests/integration_tests/game_layer/observations/test_obs_data_capture.py b/tests/integration_tests/game_layer/observations/test_obs_data_capture.py new file mode 100644 index 00000000..f0143281 --- /dev/null +++ b/tests/integration_tests/game_layer/observations/test_obs_data_capture.py @@ -0,0 +1,28 @@ +# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import json + +from primaite.session.environment import PrimaiteGymEnv +from primaite.session.io import PrimaiteIO +from tests import TEST_ASSETS_ROOT + +DATA_MANIPULATION_CONFIG = TEST_ASSETS_ROOT / "configs" / "data_manipulation.yaml" + + +def test_obs_data_in_log_file(): + """Create a log file of AgentHistoryItems and check observation data is + included. Assumes that data_manipulation.yaml has an agent labelled + 'defender' with a non-null observation space. + The log file will be in: + primaite/VERSION/sessions/YYYY-MM-DD/HH-MM-SS/agent_actions + """ + env = PrimaiteGymEnv(DATA_MANIPULATION_CONFIG) + env.reset() + for _ in range(10): + env.step(0) + env.reset() + io = PrimaiteIO() + path = io.generate_agent_actions_save_path(episode=1) + with open(path, "r") as f: + j = json.load(f) + + assert type(j["0"]["defender"]["observation"]) == dict diff --git a/tests/integration_tests/game_layer/observations/test_software_observations.py b/tests/integration_tests/game_layer/observations/test_software_observations.py index 28cdaf01..1ebff10c 100644 --- a/tests/integration_tests/game_layer/observations/test_software_observations.py +++ b/tests/integration_tests/game_layer/observations/test_software_observations.py @@ -29,7 +29,9 @@ def test_service_observation(simulation): ntp_server = pc.software_manager.software.get("ntp-server") assert ntp_server - service_obs = ServiceObservation(where=["network", "nodes", pc.config.hostname, "services", "ntp-server"]) + service_obs = ServiceObservation( + where=["network", "nodes", pc.config.hostname, "services", "ntp-server"], services_requires_scan=True + ) assert service_obs.space["operating_status"] == spaces.Discrete(7) assert service_obs.space["health_status"] == spaces.Discrete(5) @@ -54,7 +56,9 @@ def test_application_observation(simulation): web_browser: WebBrowser = pc.software_manager.software.get("web-browser") assert web_browser - app_obs = ApplicationObservation(where=["network", "nodes", pc.config.hostname, "applications", "web-browser"]) + app_obs = ApplicationObservation( + where=["network", "nodes", pc.config.hostname, "applications", "web-browser"], applications_requires_scan=True + ) web_browser.close() observation_state = app_obs.observe(simulation.describe_state()) @@ -69,3 +73,33 @@ def test_application_observation(simulation): assert observation_state.get("health_status") == 1 assert observation_state.get("operating_status") == 1 # running assert observation_state.get("num_executions") == 1 + + +def test_application_executions_categories(simulation): + pc: Computer = simulation.network.get_node_by_hostname("client_1") + + app_obs = ApplicationObservation( + where=["network", "nodes", pc.config.hostname, "applications", "WebBrowser"], + applications_requires_scan=False, + thresholds={"app_executions": {"low": 3, "medium": 6, "high": 9}}, + ) + + assert app_obs.high_app_execution_threshold == 9 + assert app_obs.med_app_execution_threshold == 6 + assert app_obs.low_app_execution_threshold == 3 + + with pytest.raises(Exception): + # should throw an error + ApplicationObservation( + where=["network", "nodes", pc.config.hostname, "applications", "WebBrowser"], + applications_requires_scan=False, + thresholds={"app_executions": {"low": 9, "medium": 6, "high": 9}}, + ) + + with pytest.raises(Exception): + # should throw an error + ApplicationObservation( + where=["network", "nodes", pc.config.hostname, "applications", "WebBrowser"], + applications_requires_scan=False, + thresholds={"app_executions": {"low": 3, "medium": 9, "high": 9}}, + ) diff --git a/tests/integration_tests/game_layer/test_RNG_seed.py b/tests/integration_tests/game_layer/test_RNG_seed.py index 45fa445d..2b80e153 100644 --- a/tests/integration_tests/game_layer/test_RNG_seed.py +++ b/tests/integration_tests/game_layer/test_RNG_seed.py @@ -7,6 +7,7 @@ import yaml from primaite.config.load import data_manipulation_config_path from primaite.game.agent.interface import AgentHistoryItem from primaite.session.environment import PrimaiteGymEnv +from primaite.simulator import SIM_OUTPUT @pytest.fixture() @@ -33,6 +34,11 @@ def test_rng_seed_set(create_env): assert a == b + # Check that seed log file was created. + path = SIM_OUTPUT.path / "seed.log" + with open(path, "r") as file: + assert file + def test_rng_seed_unset(create_env): """Test with no RNG seed.""" @@ -48,3 +54,19 @@ def test_rng_seed_unset(create_env): b = [item.timestep for item in env.game.agents["client_2_green_user"].history if item.action != "do-nothing"] assert a != b + + +def test_for_generated_seed(): + """ + Show that setting generate_seed_value to true producess a valid seed. + """ + with open(data_manipulation_config_path(), "r") as f: + cfg = yaml.safe_load(f) + + cfg["game"]["generate_seed_value"] = True + PrimaiteGymEnv(env_config=cfg) + path = SIM_OUTPUT.path / "seed.log" + with open(path, "r") as file: + data = file.read() + + assert data.split(" ")[3] != None diff --git a/tests/integration_tests/game_layer/test_actions.py b/tests/integration_tests/game_layer/test_actions.py index 03b94ab7..59bee385 100644 --- a/tests/integration_tests/game_layer/test_actions.py +++ b/tests/integration_tests/game_layer/test_actions.py @@ -22,6 +22,7 @@ from primaite.game.game import PrimaiteGame from primaite.session.environment import PrimaiteGymEnv from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus from primaite.simulator.network.hardware.nodes.network.firewall import Firewall +from primaite.simulator.network.hardware.nodes.network.router import Router from primaite.simulator.system.applications.application import ApplicationOperatingState from primaite.simulator.system.applications.web_browser import WebBrowser from primaite.simulator.system.software import SoftwareHealthState @@ -107,7 +108,7 @@ def test_router_acl_addrule_integration(game_and_agent: Tuple[PrimaiteGame, Prox """ Test that the RouterACLAddRuleAction can form a request and that it is accepted by the simulation. - The acl starts off with 4 rules, and we add a rule, and check that the acl now has 5 rules. + The ACL starts off with 4 rules, and we add a rule, and check that the ACL now has 5 rules. """ game, agent = game_and_agent @@ -164,11 +165,9 @@ def test_router_acl_addrule_integration(game_and_agent: Tuple[PrimaiteGame, Prox }, ) agent.store_action(action) - print(agent.most_recent_action) game.step() - print(agent.most_recent_action) + # 5: Check that the ACL now has 6 rules, but that server_1 can still ping server_2 - print(router.acl.show()) assert router.acl.num_rules == 6 assert server_1.ping("10.0.2.3") # Can ping server_2 @@ -180,7 +179,8 @@ def test_router_acl_removerule_integration(game_and_agent: Tuple[PrimaiteGame, P # 1: Check that http traffic is going across the network nicely. client_1 = game.simulation.network.get_node_by_hostname("client_1") server_1 = game.simulation.network.get_node_by_hostname("server_1") - router = game.simulation.network.get_node_by_hostname("router") + router: Router = game.simulation.network.get_node_by_hostname("router") + assert router.acl.num_rules == 4 browser: WebBrowser = client_1.software_manager.software.get("web-browser") browser.run() diff --git a/tests/integration_tests/network/test_capture_nmne.py b/tests/integration_tests/network/test_capture_nmne.py index ea7fbc99..80e7c3b3 100644 --- a/tests/integration_tests/network/test_capture_nmne.py +++ b/tests/integration_tests/network/test_capture_nmne.py @@ -1,5 +1,11 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +from itertools import product + +import yaml + +from primaite.config.load import data_manipulation_config_path from primaite.game.agent.observations.nic_observations import NICObservation +from primaite.session.environment import PrimaiteGymEnv from primaite.simulator.network.container import Network from primaite.simulator.network.hardware.nodes.host.host_node import NIC from primaite.simulator.network.hardware.nodes.host.server import Server @@ -277,3 +283,19 @@ def test_capture_nmne_observations(uc2_network: Network): assert web_nic_obs["outbound"] == expected_nmne assert db_nic_obs["inbound"] == expected_nmne uc2_network.apply_timestep(timestep=0) + + +def test_nmne_parameter_settings(): + """ + Check that the four permutations of the values of capture_nmne and + include_nmne work as expected. + """ + + with open(data_manipulation_config_path(), "r") as f: + cfg = yaml.safe_load(f) + + DEFENDER = 3 + for capture, include in product([True, False], [True, False]): + cfg["simulation"]["network"]["nmne_config"]["capture_nmne"] = capture + cfg["agents"][DEFENDER]["observation_space"]["options"]["components"][0]["options"]["include_nmne"] = include + PrimaiteGymEnv(env_config=cfg) diff --git a/tests/integration_tests/system/test_arp.py b/tests/integration_tests/system/test_arp.py index 055d58c6..85fa3abd 100644 --- a/tests/integration_tests/system/test_arp.py +++ b/tests/integration_tests/system/test_arp.py @@ -1,6 +1,7 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK -from primaite.simulator.network.hardware.nodes.network.router import RouterARP +from primaite.simulator.network.hardware.nodes.network.router import ACLAction, Router, RouterARP from primaite.simulator.system.services.arp.arp import ARP +from primaite.utils.validation.port import PORT_LOOKUP from tests.integration_tests.network.test_routing import multi_hop_network @@ -48,3 +49,19 @@ def test_arp_fails_for_network_address_between_routers(multi_hop_network): actual_result = router_1_arp.get_arp_cache_mac_address(router_1.network_interface[1].ip_network.network_address) assert actual_result == expected_result + + +def test_arp_not_affected_by_acl(multi_hop_network): + pc_a = multi_hop_network.get_node_by_hostname("pc_a") + router_1: Router = multi_hop_network.get_node_by_hostname("router_1") + + # Add explicit rule to block ARP traffic. This shouldn't actually stop ARP traffic + # as it operates a different layer within the network. + router_1.acl.add_rule(action=ACLAction.DENY, src_port=PORT_LOOKUP["ARP"], dst_port=PORT_LOOKUP["ARP"], position=23) + + pc_a_arp: ARP = pc_a.software_manager.arp + + expected_result = router_1.network_interface[2].mac_address + actual_result = pc_a_arp.get_arp_cache_mac_address(router_1.network_interface[2].ip_address) + + assert actual_result == expected_result diff --git a/tests/unit_tests/_primaite/_game/_agent/test_observations.py b/tests/unit_tests/_primaite/_game/_agent/test_observations.py index 5d5921a9..3df6ca0a 100644 --- a/tests/unit_tests/_primaite/_game/_agent/test_observations.py +++ b/tests/unit_tests/_primaite/_game/_agent/test_observations.py @@ -1,10 +1,11 @@ # © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK +import json from typing import List import pytest import yaml -from primaite.game.agent.observations import ObservationManager +from primaite.game.agent.observations import ApplicationObservation, ObservationManager, ServiceObservation from primaite.game.agent.observations.file_system_observations import FileObservation, FolderObservation from primaite.game.agent.observations.host_observations import HostObservation @@ -136,3 +137,227 @@ class TestFileSystemRequiresScan: [], files=[], num_files=0, include_num_access=False, file_system_requires_scan=True ) assert obs_requiring_scan.observe(folder_state)["health_status"] == 1 + + +class TestServicesRequiresScan: + @pytest.mark.parametrize( + ("yaml_option_string", "expected_val"), + ( + ("services_requires_scan: true", True), + ("services_requires_scan: false", False), + (" ", True), + ), + ) + def test_obs_config(self, yaml_option_string, expected_val): + """Check that the default behaviour is to set service_requires_scan to True.""" + obs_cfg_yaml = f""" + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + - hostname: domain_controller + - hostname: web_server + services: + - service_name: web-server + - service_name: dns-client + - hostname: database_server + folders: + - folder_name: database + files: + - file_name: database.db + - hostname: backup_server + services: + - service_name: ftp-server + - hostname: security_suite + - hostname: client_1 + - hostname: client_2 + num_services: 3 + num_applications: 0 + num_folders: 1 + num_files: 1 + num_nics: 2 + include_num_access: false + {yaml_option_string} + include_nmne: true + monitored_traffic: + icmp: + - NONE + tcp: + - DNS + routers: + - hostname: router_1 + num_ports: 0 + ip_list: + - 192.168.1.10 + - 192.168.1.12 + - 192.168.1.14 + - 192.168.1.16 + - 192.168.1.110 + - 192.168.10.21 + - 192.168.10.22 + - 192.168.10.110 + wildcard_list: + - 0.0.0.1 + port_list: + - 80 + - 5432 + protocol_list: + - ICMP + - TCP + - UDP + num_rules: 10 + + - type: links + label: LINKS + options: + link_references: + - router_1:eth-1<->switch_1:eth-8 + - router_1:eth-2<->switch_2:eth-8 + - switch_1:eth-1<->domain_controller:eth-1 + - switch_1:eth-2<->web_server:eth-1 + - switch_1:eth-3<->database_server:eth-1 + - switch_1:eth-4<->backup_server:eth-1 + - switch_1:eth-7<->security_suite:eth-1 + - switch_2:eth-1<->client_1:eth-1 + - switch_2:eth-2<->client_2:eth-1 + - switch_2:eth-7<->security_suite:eth-2 + - type: none + label: ICS + options: {{}} + + """ + + cfg = yaml.safe_load(obs_cfg_yaml) + manager = ObservationManager.from_config(cfg) + + hosts: List[HostObservation] = manager.obs.components["NODES"].hosts + for i, host in enumerate(hosts): + services: List[ServiceObservation] = host.services + for j, service in enumerate(services): + val = service.services_requires_scan + print(f"host {i} service {j} {val}") + assert val == expected_val # Make sure services require scan by default + + def test_services_requires_scan(self): + state = {"health_state_actual": 3, "health_state_visible": 1, "operating_state": 1} + + obs_requiring_scan = ServiceObservation([], services_requires_scan=True) + assert obs_requiring_scan.observe(state)["health_status"] == 1 # should be visible value + + obs_not_requiring_scan = ServiceObservation([], services_requires_scan=False) + assert obs_not_requiring_scan.observe(state)["health_status"] == 3 # should be actual value + + +class TestApplicationsRequiresScan: + @pytest.mark.parametrize( + ("yaml_option_string", "expected_val"), + ( + ("applications_requires_scan: true", True), + ("applications_requires_scan: false", False), + (" ", True), + ), + ) + def test_obs_config(self, yaml_option_string, expected_val): + """Check that the default behaviour is to set applications_requires_scan to True.""" + obs_cfg_yaml = f""" + type: custom + options: + components: + - type: nodes + label: NODES + options: + hosts: + - hostname: domain_controller + - hostname: web_server + - hostname: database_server + folders: + - folder_name: database + files: + - file_name: database.db + - hostname: backup_server + - hostname: security_suite + - hostname: client_1 + applications: + - application_name: web-browser + - hostname: client_2 + applications: + - application_name: web-browser + - application_name: database-client + num_services: 0 + num_applications: 3 + num_folders: 1 + num_files: 1 + num_nics: 2 + include_num_access: false + {yaml_option_string} + include_nmne: true + monitored_traffic: + icmp: + - NONE + tcp: + - DNS + routers: + - hostname: router_1 + num_ports: 0 + ip_list: + - 192.168.1.10 + - 192.168.1.12 + - 192.168.1.14 + - 192.168.1.16 + - 192.168.1.110 + - 192.168.10.21 + - 192.168.10.22 + - 192.168.10.110 + wildcard_list: + - 0.0.0.1 + port_list: + - 80 + - 5432 + protocol_list: + - ICMP + - TCP + - UDP + num_rules: 10 + + - type: links + label: LINKS + options: + link_references: + - router_1:eth-1<->switch_1:eth-8 + - router_1:eth-2<->switch_2:eth-8 + - switch_1:eth-1<->domain_controller:eth-1 + - switch_1:eth-2<->web_server:eth-1 + - switch_1:eth-3<->database_server:eth-1 + - switch_1:eth-4<->backup_server:eth-1 + - switch_1:eth-7<->security_suite:eth-1 + - switch_2:eth-1<->client_1:eth-1 + - switch_2:eth-2<->client_2:eth-1 + - switch_2:eth-7<->security_suite:eth-2 + - type: none + label: ICS + options: {{}} + + """ + + cfg = yaml.safe_load(obs_cfg_yaml) + manager = ObservationManager.from_config(cfg) + + hosts: List[HostObservation] = manager.obs.components["NODES"].hosts + for i, host in enumerate(hosts): + services: List[ServiceObservation] = host.services + for j, service in enumerate(services): + val = service.services_requires_scan + print(f"host {i} service {j} {val}") + assert val == expected_val # Make sure applications require scan by default + + def test_applications_requires_scan(self): + state = {"health_state_actual": 3, "health_state_visible": 1, "operating_state": 1, "num_executions": 1} + + obs_requiring_scan = ApplicationObservation([], applications_requires_scan=True) + assert obs_requiring_scan.observe(state)["health_status"] == 1 # should be visible value + + obs_not_requiring_scan = ApplicationObservation([], applications_requires_scan=False) + assert obs_not_requiring_scan.observe(state)["health_status"] == 3 # should be actual value diff --git a/tests/unit_tests/_primaite/_simulator/_system/_services/test_ftp_client.py b/tests/unit_tests/_primaite/_simulator/_system/_services/test_ftp_client.py index 91369f6c..81e05467 100644 --- a/tests/unit_tests/_primaite/_simulator/_system/_services/test_ftp_client.py +++ b/tests/unit_tests/_primaite/_simulator/_system/_services/test_ftp_client.py @@ -73,7 +73,7 @@ def test_ftp_should_not_process_commands_if_service_not_running(ftp_client): assert ftp_client_service._process_ftp_command(payload=payload).status_code is FTPStatusCode.ERROR -def test_ftp_tries_to_senf_file__that_does_not_exist(ftp_client): +def test_ftp_tries_to_send_file__that_does_not_exist(ftp_client): """Method send_file should return false if no file to send.""" assert ftp_client.file_system.get_file(folder_name="root", file_name="test.txt") is None diff --git a/tests/unit_tests/_primaite/_simulator/_system/_services/test_terminal.py b/tests/unit_tests/_primaite/_simulator/_system/_services/test_terminal.py index 32fcae9a..3b2377e9 100644 --- a/tests/unit_tests/_primaite/_simulator/_system/_services/test_terminal.py +++ b/tests/unit_tests/_primaite/_simulator/_system/_services/test_terminal.py @@ -6,6 +6,7 @@ import pytest from primaite.game.agent.interface import ProxyAgent from primaite.game.game import PrimaiteGame +from primaite.interface.request import RequestResponse from primaite.simulator.network.container import Network from primaite.simulator.network.hardware.nodes.host.computer import Computer from primaite.simulator.network.hardware.nodes.host.server import Server @@ -442,3 +443,59 @@ def test_terminal_connection_timeout(basic_network): assert len(computer_b.user_session_manager.remote_sessions) == 0 assert not remote_connection.is_active + + +def test_terminal_last_response_updates(basic_network): + """Test that the _last_response within Terminal correctly updates.""" + network: Network = basic_network + computer_a: Computer = network.get_node_by_hostname("node_a") + terminal_a: Terminal = computer_a.software_manager.software.get("terminal") + computer_b: Computer = network.get_node_by_hostname("node_b") + + assert terminal_a.last_response is None + + remote_connection = terminal_a.login(username="admin", password="admin", ip_address="192.168.0.11") + + # Last response should be a successful logon + assert terminal_a.last_response == RequestResponse(status="success", data={"reason": "Login Successful"}) + + remote_connection.execute(command=["software_manager", "application", "install", "ransomware-script"]) + + # Last response should now update following successful install + assert terminal_a.last_response == RequestResponse(status="success", data={}) + + remote_connection.execute(command=["software_manager", "application", "install", "ransomware-script"]) + + # Last response should now update to success, but with supplied reason. + assert terminal_a.last_response == RequestResponse(status="success", data={"reason": "already installed"}) + + remote_connection.execute(command=["file_system", "create", "file", "folder123", "doggo.pdf", False]) + + # Check file was created. + assert computer_b.file_system.access_file(folder_name="folder123", file_name="doggo.pdf") + + # Last response should be confirmation of file creation. + assert terminal_a.last_response == RequestResponse( + status="success", + data={"file_name": "doggo.pdf", "folder_name": "folder123", "file_type": "PDF", "file_size": 102400}, + ) + + remote_connection.execute( + command=[ + "service", + "ftp-client", + "send", + { + "dest_ip_address": "192.168.0.2", + "src_folder": "folder123", + "src_file_name": "cat.pdf", + "dest_folder": "root", + "dest_file_name": "cat.pdf", + }, + ] + ) + + assert terminal_a.last_response == RequestResponse( + status="failure", + data={"reason": "Unable to locate given file on local file system. Perhaps given options are invalid?"}, + ) From 80be1d54182065bcfc0570c2562615c65af5c7ad Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Tue, 25 Feb 2025 15:37:57 +0000 Subject: [PATCH 05/23] #2483- Slight updates to UC7 config and e2e notebook --- .../config/_package_data/uc7_config.yaml | 6 +- src/primaite/notebooks/UC7-E2E-Demo.ipynb | 112 +++++++++--------- 2 files changed, 60 insertions(+), 58 deletions(-) diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index 2a665e46..8581a339 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -14,8 +14,8 @@ io_settings: save_agent_actions: false save_step_metadata: false save_pcap_logs: false - save_sys_logs: True - # save_sys_logs: true + save_sys_logs: false + save_agent_logs: false write_sys_log_to_terminal: false @@ -1924,6 +1924,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: @@ -1937,6 +1938,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: diff --git a/src/primaite/notebooks/UC7-E2E-Demo.ipynb b/src/primaite/notebooks/UC7-E2E-Demo.ipynb index 7baac66c..87f715e7 100644 --- a/src/primaite/notebooks/UC7-E2E-Demo.ipynb +++ b/src/primaite/notebooks/UC7-E2E-Demo.ipynb @@ -60,6 +60,11 @@ "outputs": [], "source": [ "use_case_7_config = load(_EXAMPLE_CFG/\"uc7_config.yaml\")\n", + "with open(file=_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_actions'] = True # Saving agent actions\n", + " cfg['io_settings']['save_agent_logs'] = True # Save agent logs\n", "env = PrimaiteGymEnv(env_config=use_case_7_config)" ] }, @@ -569,8 +574,8 @@ "metadata": {}, "outputs": [], "source": [ - "home_pub_pc_1.sys_log.show(last_n=10)\n", - "st_data_private_server_database.sys_log.show(last_n=5)" + "home_pub_pc_1.software_manager.software[\"database-client\"].sys_log.show(last_n=10)\n", + "st_data_private_server_database.software_manager.software[\"database-service\"].sys_log.show(last_n=5)" ] }, { @@ -642,7 +647,7 @@ "source": [ "# By default the `uc7_config.yaml` is setup to use TAP001\n", "env.reset()\n", - "for _ in range(128):\n", + "for _ in range(80):\n", " env.step(action=0)\n", "\n", "uc7_tap001 = env.game.agents.get(\"attacker\")\n", @@ -712,7 +717,8 @@ " cfg = yaml.safe_load(uc7_config)\n", " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", - " cfg['io_settings']['save_agent_actions'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_logs'] = True # Saving agent logs\n", + "\n", "env = PrimaiteGymEnv(env_config=cfg)" ] }, @@ -813,7 +819,7 @@ "\n", "_(Click to enlarge)_\n", "\n", - "Represented as a hierarchy (i.e the same way as a dictionary) the blue agent OBS is seperate into multiple sections.\n", + "Represented as a hierarchy (i.e the same way as a dictionary) the blue agent OBS is separate into multiple sections.\n", "\n", "### Links\n", "\n", @@ -917,9 +923,9 @@ "\n", "|Host label|hostname| services | applications | folders | files |\n", "|:--:|:--:|:--:|:--:|:--:|:--:|\n", - "|HOST1|ST-PROJ-A-PRV-PC-1 | ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", - "|HOST2|ST-PROJ-B-PRV-PC-2| ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", - "|HOST3|ST-PROJ-C-PRV-PC-3| ftp-client | RansomwareScript | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST1|ST-PROJ-A-PRV-PC-1 | ftp-client | ransomware_script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST2|ST-PROJ-B-PRV-PC-2| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST3|ST-PROJ-C-PRV-PC-3| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", "|HOST4|ST-DATA-PRV-SRV-DB||| database | database.db|\n", "\n", "\n", @@ -1249,31 +1255,30 @@ "\n", "```yaml\n", " action_space:\n", - " action_list:\n", - " action_map: \n", + " action_map:\n", " 0:\n", - " action: DONOTHING\n", - " options: {}\n", + " action: do-nothing\n", + " options: {}\n", "\n", - " # |======================================|\n", - " # | ST-PROJ-A-PRV-PC-1 |\n", - " # |======================================|\n", + " # |======================================|\n", + " # | ST-PROJ-A-PRV-PC-1 |\n", + " # |======================================|\n", "\n", - " # ST-PROJ-A-PRV-PC-1 | NODE_OS_SCAN\n", - " 1:\n", - " action: NODE_OS_SCAN\n", - " options:\n", - " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", - " # ST-PROJ-A-PRV-PC-1 | NODE_SHUTDOWN\n", - " 2:\n", - " action: NODE_SHUTDOWN\n", - " options:\n", - " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", - " # ST-PROJ-A-PRV-PC-1 | NODE_STARTUP\n", - " 3:\n", - " action: NODE_STARTUP\n", - " options:\n", - " node_id: 0 # ST-PROJ-A-PRV-PC-1\n", + " # ST-PROJ-A-PRV-PC-1 | node-os-scan\n", + " 1:\n", + " action: node-os-scan\n", + " options:\n", + " node_name: ST-PROJ-A-PRV-PC-1\n", + " # ST-PROJ-A-PRV-PC-1 | node-shutdown\n", + " 2:\n", + " action: node-shutdown\n", + " options:\n", + " node_name: ST-PROJ-A-PRV-PC-1\n", + " # ST-PROJ-A-PRV-PC-1 | node-startup\n", + " 3:\n", + " action: node-startup\n", + " options:\n", + " node_name: ST-PROJ-A-PRV-PC-1\n", "```\n", "\n", "Converting the yaml snippet below we end up with the following:\n", @@ -1281,9 +1286,9 @@ "|Action Num | Action Type | Options|\n", "|:---------:|:-----------:|:------:|\n", "|0|**DONOTHING**|*n/a*|\n", - "|1|**NODE_OS_SCAN**|*node_id: 0* \n", - "|2|**NODE_SHUTDOWN**|*node_id: 0* \n", - "|3|**NODE_STARTUP**|*node_id: 0* \n" + "|1|**NODE_OS_SCAN**|*node_name: ST-PROJ-A-PRV-PC-1*|\n", + "|2|**NODE_SHUTDOWN**|*node_name: ST-PROJ-A-PRV-PC-1*|\n", + "|3|**NODE_STARTUP**|*node_name: ST-PROJ-A-PRV-PC-1*|\n" ] }, { @@ -1300,11 +1305,7 @@ " env.step(0)\n", "```\n", "\n", - "This code snippet is used to step forward in an PrimAITE episode and force the blue agent into performing no action which is very useful for demonstrating default simulation behaviour as well as the different impacts that the green and red agents have upon the environment.\n", - "\n", - "`1: NODE_OS_SCAN`:\n", - "\n", - "The first actual action that the blue agent can perform is scanning action. Throughout PrimAITE there are a variety of different scanning type actions (such as `NODE_OS_SCAN`, `NODE_APPLICATION_SCAN` or `NODE_FILE/FOLDER_SCAN`) which can be used to by the blue agent to gain a deeper understanding of the simulation state. Specifically, these actions will cause the blue agent's observations to update to the \"true\" `HEALTH_STATUS` of a simulation component. For example, if a red agent corrupts and alters the health status of a file, the blue agent's observation space will not reflect this until the agent performs a `NODE_FILE_SCAN` on the newly corrupted file. It's worth noting that blue agents can be configured to see the true `HEALTH_STATUS` of software and files without needing to scan in the yaml. Although this may make it easier for an train and create an effective blue agent it could be seen as reducing the fidelity of the simulation.\n" + "This code snippet is used to step forward in an PrimAITE episode and force the blue agent into performing no action which is very useful for demonstrating default simulation behaviour as well as the different impacts that the green and red agents have upon the environment." ] }, { @@ -1341,9 +1342,9 @@ "outputs": [], "source": [ "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ftp-client (Prior Scan) OBS: {obs['NODES']['HOST0']['SERVICES'][1]}\")\n", - "print(f\"database-client (Prior Scan) OBS: {obs['NODES']['HOST0']['APPLICATIONS']}\")\n", - "obs_list = []" + "print(defender.history[1])\n", + "print(f\"ftp-client (Prior Scan) OBS: {defender.observation_manager.current_observation['NODES']['HOST0']['SERVICES'][1]}\")\n", + "print(f\"database-client (Prior Scan) OBS: {defender.observation_manager.current_observation['NODES']['HOST0']['APPLICATIONS'][2]}\")" ] }, { @@ -1359,19 +1360,10 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "env.step(1)\n", - "for _ in range(10):\n", - " obs, reward, term, trunc, info = env.step(1)\n", - " obs_list.append(obs['NODES']['HOST0']['SERVICES'][1])\n", - " obs_list.append(obs['NODES']['HOST0']['APPLICATIONS'][2])\n", - "\n", - "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ftp-client (Post Scan) OBS: {obs['NODES']['HOST0']['SERVICES']}\")" + "Set by the `node_scan_duration` option in the simulation `defaults` section, it takes **8** timesteps before the results of `node-os-scan` impact the blue agent's observation space." ] }, { @@ -1380,7 +1372,14 @@ "metadata": {}, "outputs": [], "source": [ - "obs['NODES']['HOST0']" + "env.step(1)\n", + "print(defender.history[2])\n", + "for _ in range(7):\n", + " obs, reward, term, trunc, info = env.step(0)\n", + "\n", + "print(f\"Current Simulation Time Step: {env.game.step_counter}\")\n", + "print(f\"ftp-client (Post Scan) OBS: {defender.observation_manager.current_observation['NODES']['HOST0']['SERVICES'][1]}\")\n", + "print(f\"database-client (Post Scan) OBS: {defender.observation_manager.current_observation['NODES']['HOST0']['APPLICATIONS'][2]}\")" ] }, { @@ -1400,7 +1399,7 @@ "source": [ "# `1` is equal to 'ON' in this case.\n", "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1421,7 +1420,7 @@ "outputs": [], "source": [ "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (post shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST-PROJ-A-PRV-PC-1's (post shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1445,7 +1444,7 @@ " env.step(0) # 3 second reboot time.\n", " \n", "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {obs['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1550,6 +1549,7 @@ " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", " cfg['io_settings']['save_agent_actions'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_logs'] = True # Saving agent logs\n", "env = PrimaiteGymEnv(env_config=cfg)\n", "env.reset()\n", "defender = env.game.rl_agents.get(\"defender\")\n", From f6a6c3dde586e8c4c1fa006043b6a550c0e360e9 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Tue, 25 Feb 2025 16:56:46 +0000 Subject: [PATCH 06/23] #2483 Addressed inconsistent naming schema. Now all some tech networks will be referenced using a underscore. E.g "ST-PROJ-A-PRV-PC-1" has now been changed to "ST_PROJ-A-PRV-PC-1". --- .../config/_package_data/uc7_config.yaml | 754 ++++++++--------- .../_package_data/uc7_config_tap003.yaml | 776 +++++++++--------- .../TAP001_PC1.yaml | 4 +- .../TAP001_PC2.yaml | 4 +- .../TAP001_PC3.yaml | 4 +- .../uc7_multiple_attack_variants/TAP003.yaml | 26 +- .../uc7_config_no_red.yaml | 750 ++++++++--------- src/primaite/notebooks/UC7-E2E-Demo.ipynb | 184 ++--- .../notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb | 52 +- .../notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb | 110 +-- .../notebooks/UC7-attack-variants.ipynb | 40 +- .../notebooks/UC7-network_connectivity.ipynb | 48 +- .../uc7/uc7_network_detailed_svg.svg | 2 +- .../e2e_integration_tests/test_uc7_agents.py | 20 +- .../test_uc7_route_connectivity.py | 52 +- .../test_uc7_services_and_applications.py | 40 +- .../test_abstract_tap.py | 2 +- .../test_tap001_kill_chain_stages.py | 2 +- .../test_tap001_propagate_stage.py | 2 +- .../test_tap003_kill_chain_stages.py | 8 +- .../test_tap003_multiple_rules.py | 16 +- .../test_threat_actor_profile_settings.py | 2 +- 22 files changed, 1449 insertions(+), 1449 deletions(-) diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index 8581a339..85b67bc6 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -73,7 +73,7 @@ SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # # Host & Server Configurations # -# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +# ST Public Web Server | web-server | ST_DMZ-PUB-SRV-WEB SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # - type: web-server @@ -86,12 +86,12 @@ PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # domain_mapping: some_tech.com: *ST_PUB_SRV_WEB_IP -# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +# ST Private Storage Server | ftp-server | ST_DATA-PRV-SRV-STORAGE SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG - type: ftp-server -# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +# ST Private Database Server | database-client & ftp-client | ST_DATA-PRV-SRV-DB SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG - type: database-service @@ -319,7 +319,7 @@ simulation: # SOME_TECH DMZ SUBNET # ######################## - - hostname: ST-PUB-FW + - hostname: ST_PUB-FW type: firewall ports: external_port: # Public Internet Facing Port @@ -410,7 +410,7 @@ simulation: #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - - hostname: ST-DMZ-PUB-SRV-WEB + - hostname: ST_DMZ-PUB-SRV-WEB type: server ip_address: *ST_PUB_SRV_WEB_IP subnet_mask: *ST_DMZ_SUBNET @@ -422,7 +422,7 @@ simulation: # SOME_TECH INTRANET SUBNET # ############################# - - hostname: ST-INTRA-PRV-RT-CR + - hostname: ST_INTRA-PRV-RT-CR type: router ports: 1: @@ -461,7 +461,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-1 + - hostname: ST_INTRA-PRV-RT-DR-1 type: router ports: 1: @@ -482,7 +482,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-2 + - hostname: ST_INTRA-PRV-RT-DR-2 type: router default_gateway: 192.168.170.1 ports: @@ -505,30 +505,30 @@ simulation: # SOME_TECH HEAD OFFICE SUBNET # ################################ - - hostname: ST-HO-PRV-SW-AS + - hostname: ST_HO-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HO-PRV-PC-1 + - hostname: ST_HO-PRV-PC-1 type: computer ip_address: 192.168.200.2 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-2 + - hostname: ST_HO-PRV-PC-2 type: computer ip_address: 192.168.200.3 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-3 + - hostname: ST_HO-PRV-PC-3 type: computer ip_address: 192.168.200.4 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -537,30 +537,30 @@ simulation: # SOME_TECH HUMAN RESOURCES SUBNET # #################################### - - hostname: ST-HR-PRV-SW-AS + - hostname: ST_HR-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HR-PRV-PC-1 + - hostname: ST_HR-PRV-PC-1 type: computer ip_address: 192.168.210.2 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-2 + - hostname: ST_HR-PRV-PC-2 type: computer ip_address: 192.168.210.3 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-3 + - hostname: ST_HR-PRV-PC-3 type: computer ip_address: 192.168.210.4 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -569,11 +569,11 @@ simulation: # SOME_TECH DATA SUBNET # ######################### - - hostname: ST-DATA-PRV-SW-AS + - hostname: ST_DATA-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-DATA-PRV-SRV-STORAGE + - hostname: ST_DATA-PRV-SRV-STORAGE type: server ip_address: *ST_SRV_STORAGE_IP subnet_mask: *ST_DATA_SUBNET @@ -582,7 +582,7 @@ simulation: services: *ST_SRV_STORAGE_CONFIG - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB type: server ip_address: *ST_SRV_DB_IP subnet_mask: *ST_DATA_SUBNET @@ -595,30 +595,30 @@ simulation: # SOME_TECH PROJECT A # ####################### - - hostname: ST-PROJ-A-PRV-SW-AS + - hostname: ST_PROJ-A-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 type: computer ip_address: 192.168.230.2 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-2 + - hostname: ST_PROJ-A-PRV-PC-2 type: computer ip_address: 192.168.230.3 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-3 + - hostname: ST_PROJ-A-PRV-PC-3 type: computer ip_address: 192.168.230.4 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -627,30 +627,30 @@ simulation: # SOME_TECH PROJECT B # ####################### - - hostname: ST-PROJ-B-PRV-SW-AS + - hostname: ST_PROJ-B-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-B-PRV-PC-1 + - hostname: ST_PROJ-B-PRV-PC-1 type: computer ip_address: 192.168.240.2 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 type: computer ip_address: 192.168.240.3 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-3 + - hostname: ST_PROJ-B-PRV-PC-3 type: computer ip_address: 192.168.240.4 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -659,30 +659,30 @@ simulation: # SOME_TECH PROJECT C # ####################### - - hostname: ST-PROJ-C-PRV-SW-AS + - hostname: ST_PROJ-C-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-C-PRV-PC-1 + - hostname: ST_PROJ-C-PRV-PC-1 type: computer ip_address: 192.168.250.2 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-2 + - hostname: ST_PROJ-C-PRV-PC-2 type: computer ip_address: 192.168.250.3 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 type: computer ip_address: 192.168.250.4 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -788,13 +788,13 @@ simulation: # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) - endpoint_a_hostname: ISP-PUB-RT-BR endpoint_a_port: 4 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 1 # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) - - endpoint_a_hostname: ST-PUB-FW + - endpoint_a_hostname: ST_PUB-FW endpoint_a_port: 3 - endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_hostname: ST_DMZ-PUB-SRV-WEB endpoint_b_port: 1 ############################ @@ -802,27 +802,27 @@ simulation: ############################ # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 1 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 2 # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 2 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_b_port: 1 # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 3 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 1 # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 4 - endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_hostname: ST_DATA-PRV-SW-AS endpoint_b_port: 1 @@ -831,27 +831,27 @@ simulation: ############################### # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 2 # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_hostname: ST_HO-PRV-PC-1 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_hostname: ST_HO-PRV-PC-2 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_hostname: ST_HO-PRV-PC-3 endpoint_b_port: 1 @@ -860,27 +860,27 @@ simulation: ################################### # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 3 # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_hostname: ST_HR-PRV-PC-1 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_hostname: ST_HR-PRV-PC-2 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_hostname: ST_HR-PRV-PC-3 endpoint_b_port: 1 ######################## @@ -888,16 +888,16 @@ simulation: ######################## # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_hostname: ST_DATA-PRV-SRV-STORAGE endpoint_b_port: 1 # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_hostname: ST_DATA-PRV-SRV-DB endpoint_b_port: 1 ############################# @@ -905,27 +905,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-A-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -933,27 +933,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-B-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -961,27 +961,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-C-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-3 endpoint_b_port: 1 ################################## @@ -1042,18 +1042,18 @@ UC7_IP_LIST: &UC7_IP_LIST - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 # ====== ST Public DMZ ======= - - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST_DMZ-PUB-SRV-WEB) | ip_id: 8 # ====== ST Head Office ======= - - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 - - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 - - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + - 192.168.200.2 # ST_HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST_HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST_HO-PRV-PC-3 | ip_id: 11 # ===== ST Human Resources ====== - - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 - - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 - - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + - 192.168.210.2 # ST_HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST_HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST_HR-PRV-PC-3 | ip_id: 14 # ====== ST DATA Servers ======= - - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 - - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST_DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST_DATA-PRV-SRV-DB) | ip_id: 16 # ====== ST Project A ======= - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 @@ -1083,8 +1083,8 @@ agents: # Home Office Green Agent Pattern Of Life # ====================================== - # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Home workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: HOME_WORKER-1-DB team: GREEN @@ -1177,8 +1177,8 @@ agents: # Remote Site Green Agent Pattern Of Life # ====================================== - # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: REMOTE_WORKER-1-DB team: GREEN @@ -1272,10 +1272,10 @@ agents: # ST Project A Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_A-SENIOR-DEV-DB @@ -1284,7 +1284,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1296,7 +1296,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-SENIOR-DEV-WEB team: GREEN @@ -1310,7 +1310,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1319,7 +1319,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-JUNIOR-DEV-1-DB team: GREEN @@ -1327,7 +1327,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1339,7 +1339,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-1-WEB team: GREEN @@ -1353,7 +1353,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-2 + node_name: ST_PROJ-A-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1362,7 +1362,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-2-DB team: GREEN @@ -1370,7 +1370,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1382,7 +1382,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 - ref: PROJ_A-JUNIOR-DEV-2-WEB team: GREEN @@ -1396,7 +1396,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-3 + node_name: ST_PROJ-A-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1405,7 +1405,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 #################################### # ST Project B Network POL Config # @@ -1413,10 +1413,10 @@ agents: # ST Project B Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_B-SENIOR-DEV-DB team: GREEN @@ -1424,7 +1424,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1436,7 +1436,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-SENIOR-DEV-WEB team: GREEN @@ -1450,7 +1450,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-1 + node_name: ST_PROJ-B-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1459,14 +1459,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1478,7 +1478,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-1-WEB team: GREEN @@ -1492,7 +1492,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1501,14 +1501,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-2-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1520,7 +1520,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 - ref: PROJ_B-JUNIOR-DEV-2-WEB team: GREEN @@ -1534,7 +1534,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-3 + node_name: ST_PROJ-B-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1543,7 +1543,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 #################################### # ST Project C Network POL Config # @@ -1551,10 +1551,10 @@ agents: # ST Project C Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_C-SENIOR-DEV-DB team: GREEN @@ -1562,7 +1562,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1574,7 +1574,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-SENIOR-DEV-WEB team: GREEN @@ -1588,7 +1588,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-1 + node_name: ST_PROJ-C-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1597,14 +1597,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1616,7 +1616,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-1-WEB team: GREEN @@ -1630,7 +1630,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-2 + node_name: ST_PROJ-C-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1639,7 +1639,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-2-DB team: GREEN @@ -1647,7 +1647,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1659,7 +1659,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 - ref: PROJ_C-JUNIOR-DEV-2-WEB team: GREEN @@ -1673,7 +1673,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1682,7 +1682,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 ###################################### # ST Head Office Network POL Config # @@ -1690,9 +1690,9 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: CEO team: GREEN @@ -1708,14 +1708,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-1 + node_name: ST_HO-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-1 + node_hostname: ST_HO-PRV-PC-1 - ref: CTO team: GREEN @@ -1731,14 +1731,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-2 + node_name: ST_HO-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-2 + node_hostname: ST_HO-PRV-PC-2 - ref: CFO team: GREEN @@ -1754,14 +1754,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-3 + node_name: ST_HO-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-3 + node_hostname: ST_HO-PRV-PC-3 ########################################## # ST Human Resources Network POL Config # @@ -1769,8 +1769,8 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: SENIOR_HR team: GREEN @@ -1786,14 +1786,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-1 + node_name: ST_HR-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-1 + node_hostname: ST_HR-PRV-PC-1 - ref: JUNIOR_HR-1 team: GREEN @@ -1809,14 +1809,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-2 + node_name: ST_HR-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-2 + node_hostname: ST_HR-PRV-PC-2 - ref: JUNIOR_HR-2 team: GREEN @@ -1832,14 +1832,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-3 + node_name: ST_HR-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-3 + node_hostname: ST_HR-PRV-PC-3 ########################## # UC7 Red Agent Config # @@ -1855,8 +1855,8 @@ agents: repeat_kill_chain: false repeat_kill_chain_stages: true default_target_ip: *ST_SRV_DB_IP - default_starting_node: "ST-PROJ-A-PRV-PC-1" - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + default_starting_node: "ST_PROJ-A-PRV-PC-1" + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: @@ -1904,8 +1904,8 @@ agents: label: NODES options: hosts: - # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 - - hostname: ST-PROJ-A-PRV-PC-1 + # TAP001 Potential Starting Note | ST_PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 services: - service_name: ftp-client applications: @@ -1918,8 +1918,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 - - hostname: ST-PROJ-B-PRV-PC-2 + # TAP001 Potential Starting Note | ST_PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 services: - service_name: ftp-client applications: @@ -1932,8 +1932,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 - - hostname: ST-PROJ-C-PRV-PC-3 + # TAP001 Potential Starting Note | ST_PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 services: - service_name: ftp-client applications: @@ -1947,14 +1947,14 @@ agents: files: - file_name: database.db # ST DATA Server Database - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB folders: - folder_name: database files: - file_name: database.db routers: - - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 - - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: ST_INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST_INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 num_ports: 5 num_services: 2 @@ -2017,41 +2017,41 @@ agents: - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 # SOME_TECH DMZ - - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 - - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + - ISP-PUB-RT-BR:eth-4<->ST_PUB-FW:eth-1 # 13 + - ST_PUB-FW:eth-3<->ST_DMZ-PUB-SRV-WEB:eth-1 # 14 # SOME_TECH Intranet - - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 - - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 - - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 - - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + - ST_INTRA-PRV-RT-CR:eth-1<->ST_PUB-FW:eth-2 # 15 + - ST_INTRA-PRV-RT-CR:eth-2<->ST_INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST_INTRA-PRV-RT-CR:eth-3<->ST_INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST_INTRA-PRV-RT-CR:eth-4<->ST_DATA-PRV-SW-AS:eth-1 # 18 # SOME_TECH Head Office - - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 - - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 - - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 - - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + - ST_HO-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST_HO-PRV-SW-AS:eth-2<->ST_HO-PRV-PC-1:eth-1 # 20 + - ST_HO-PRV-SW-AS:eth-3<->ST_HO-PRV-PC-2:eth-1 # 21 + - ST_HO-PRV-SW-AS:eth-4<->ST_HO-PRV-PC-3:eth-1 # 22 # SOME_TECH Human Resources - - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 - - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 - - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 - - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + - ST_HR-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST_HR-PRV-SW-AS:eth-2<->ST_HR-PRV-PC-1:eth-1 # 24 + - ST_HR-PRV-SW-AS:eth-3<->ST_HR-PRV-PC-2:eth-1 # 25 + - ST_HR-PRV-SW-AS:eth-4<->ST_HR-PRV-PC-3:eth-1 # 26 # SOME_TECH Data Links - - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 - - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + - ST_DATA-PRV-SW-AS:eth-2<->ST_DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST_DATA-PRV-SW-AS:eth-3<->ST_DATA-PRV-SRV-DB:eth-1 # 28 # SOME_TECH Project A Links - - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + - ST_INTRA-PRV-RT-DR-1:eth-2<->ST_PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-A-PRV-PC-1:eth-1 # 31 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-A-PRV-PC-2:eth-1 # 32 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-A-PRV-PC-3:eth-1 # 33 # SOME_TECH Project B Links - - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 - - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 - - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 - - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + - ST_INTRA-PRV-RT-DR-1:eth-3<->ST_PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST_PROJ-B-PRV-SW-AS:eth2<->ST_PROJ-B-PRV-PC-1:eth-1 # 35 + - ST_PROJ-B-PRV-SW-AS:eth3<->ST_PROJ-B-PRV-PC-2:eth-1 # 36 + - ST_PROJ-B-PRV-SW-AS:eth4<->ST_PROJ-B-PRV-PC-3:eth-1 # 37 # SOME_TECH Project C Links - - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + - ST_INTRA-PRV-RT-DR-1:eth-4<->ST_PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-C-PRV-PC-1:eth-1 # 39 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-C-PRV-PC-2:eth-1 # 40 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-C-PRV-PC-3:eth-1 # 41 action_space: action_map: 0: @@ -2059,402 +2059,402 @@ agents: options: {} # |======================================| - # | ST-PROJ-A-PRV-PC-1 | + # | ST_PROJ-A-PRV-PC-1 | # |======================================| - # ST-PROJ-A-PRV-PC-1 | node-os-scan + # ST_PROJ-A-PRV-PC-1 | node-os-scan 1: action: node-os-scan options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-shutdown + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-shutdown 2: action: node-shutdown options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-startup + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-startup 3: action: node-startup options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-reset + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-reset 4: action: node-reset options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | host-nic-disable + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | host-nic-disable 5: action: host-nic-disable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | host-nic-enable + # ST_PROJ-A-PRV-PC-1 | host-nic-enable 6: action: host-nic-enable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-close | database-client 7: action: node-application-close options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-scan | database-client 8: action: node-application-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-fix | database-client 9: action: node-application-fix options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-remove | database-client 10: action: node-application-remove options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 11: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db 12: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ 13: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ 14: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-B-PRV-PC-2 | + # | ST_PROJ-B-PRV-PC-2 | # |======================================| - # ST-PROJ-B-PRV-PC-2 | node-os-scan + # ST_PROJ-B-PRV-PC-2 | node-os-scan 15: action: node-os-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-shutdown + # ST_PROJ-B-PRV-PC-2 | node-shutdown 16: action: node-shutdown options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-startup + # ST_PROJ-B-PRV-PC-2 | node-startup 17: action: node-startup options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-reset + # ST_PROJ-B-PRV-PC-2 | node-reset 18: action: node-reset options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | host-nic-disable + # ST_PROJ-B-PRV-PC-2 | host-nic-disable 19: action: host-nic-disable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | host-nic-enable + # ST_PROJ-B-PRV-PC-2 | host-nic-enable 20: action: host-nic-enable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-close | database-client 21: action: node-application-close options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-scan | database-client 22: action: node-application-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-fix | database-client 23: action: node-application-fix options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-remove | database-client 24: action: node-application-remove options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 25: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db 26: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ 27: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ 28: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-C-PRV-PC-3 | + # | ST_PROJ-C-PRV-PC-3 | # |======================================| - # ST-PROJ-C-PRV-PC-3 | node-os-scan + # ST_PROJ-C-PRV-PC-3 | node-os-scan 29: action: node-os-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-shutdown + # ST_PROJ-C-PRV-PC-3 | node-shutdown 30: action: node-shutdown options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-startup + # ST_PROJ-C-PRV-PC-3 | node-startup 31: action: node-startup options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-reset + # ST_PROJ-C-PRV-PC-3 | node-reset 32: action: node-reset options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | host-nic-disable + # ST_PROJ-C-PRV-PC-3 | host-nic-disable 33: action: host-nic-disable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | host-nic-enable + # ST_PROJ-C-PRV-PC-3 | host-nic-enable 34: action: host-nic-enable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-close | database-client 35: action: node-application-close options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-scan | database-client 36: action: node-application-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-fix | database-client 37: action: node-application-fix options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-remove | database-client 38: action: node-application-remove options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 39: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db 40: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ 41: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ 42: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder # |======================================| - # | ST-INTRA-PRV-RT-CR | + # | ST_INTRA-PRV-RT-CR | # |======================================| - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST_PROJ-A-PRV-PC-1 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 43: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 44: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST_PROJ-B-PRV-PC-2 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 45: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 permission: DENY - src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_ip: 192.168.240.3 # (ST_PROJ-B-PRV-PC-2) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 46: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST_PROJ-C-PRV-PC-3 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 47: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 permission: DENY - src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_ip: 192.168.250.4 # (ST_PROJ-C-PRV-PC-3) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 48: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 # |======================================| - # | ST-DATA-PRV-SRV-DB | + # | ST_DATA-PRV-SRV-DB | # |======================================| - # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + # ST_DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) 49: action: node-file-scan options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db - # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + # ST_DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account 50: action: node-account-change-password options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB username: admin # default account current_password: admin # default password new_password: thr33_alert_wolv3z # A more 'secure' password # |======================================| - # | ST-INTRA-PRV-RT-DR-1 | + # | ST_INTRA-PRV-RT-DR-1 | # |======================================| - # ST-INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + # ST_INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST_INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) 51: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: SSH dst_ip: ALL @@ -2462,20 +2462,20 @@ agents: dst_port: SSH protocol_name: TCP - # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + # ST_INTRA-PRV-RT-DR-1 | node-account-change-password 52: action: node-account-change-password options: - node_name: ST-INTRA-PRV-RT-DR-1 + node_name: ST_INTRA-PRV-RT-DR-1 username: admin current_password: admin new_password: secure_password - # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + # ST_INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 53: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 # |======================================| @@ -2503,7 +2503,7 @@ agents: - type: database-file-integrity weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-DATA-PRV-SRV-DB + node_hostname: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db @@ -2724,7 +2724,7 @@ agents: # # UC7 Network Wide System Pattern Of Life # # ========================================== # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # # 3. All DNS Clients perform periodic DNS Server transactions. # # TODO: NTPClient Node Service Start doesn't start a 'Request' @@ -2779,50 +2779,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -2895,34 +2895,34 @@ agents: # services: # - service_name: NTPClient # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: NTPClient # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: NTPClient # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: NTPClient # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: NTPClient - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: NTPClient # # ====== ST Project A ======= @@ -2971,7 +2971,7 @@ agents: # reward_components: # - type: DUMMY - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # - ref: SYSTEM-FTP # team: GREEN @@ -2992,7 +2992,7 @@ agents: # service_id: 0 # options: # nodes: - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # applications: # - application_name: database-client # ip_list: @@ -3062,50 +3062,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -3178,34 +3178,34 @@ agents: # services: # - service_name: dns-client # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: dns-client # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: dns-client # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: dns-client # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: dns-client - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: dns-client # # ====== ST Project A ======= diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml index f2d86236..dc5c62a9 100644 --- a/src/primaite/config/_package_data/uc7_config_tap003.yaml +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -73,7 +73,7 @@ SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # # Host & Server Configurations # -# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +# ST Public Web Server | web-server | ST_DMZ-PUB-SRV-WEB SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # - type: web-server @@ -86,12 +86,12 @@ PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # domain_mapping: some_tech.com: *ST_PUB_SRV_WEB_IP -# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +# ST Private Storage Server | ftp-server | ST_DATA-PRV-SRV-STORAGE SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG - type: ftp-server -# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +# ST Private Database Server | database-client & ftp-client | ST_DATA-PRV-SRV-DB SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG - type: database-service @@ -319,7 +319,7 @@ simulation: # SOME_TECH DMZ SUBNET # ######################## - - hostname: ST-PUB-FW + - hostname: ST_PUB-FW type: firewall ports: external_port: # Public Internet Facing Port @@ -410,7 +410,7 @@ simulation: #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - - hostname: ST-DMZ-PUB-SRV-WEB + - hostname: ST_DMZ-PUB-SRV-WEB type: server ip_address: *ST_PUB_SRV_WEB_IP subnet_mask: *ST_DMZ_SUBNET @@ -422,7 +422,7 @@ simulation: # SOME_TECH INTRANET SUBNET # ############################# - - hostname: ST-INTRA-PRV-RT-CR + - hostname: ST_INTRA-PRV-RT-CR type: router ports: 1: @@ -461,7 +461,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-1 + - hostname: ST_INTRA-PRV-RT-DR-1 type: router ports: 1: @@ -482,7 +482,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-2 + - hostname: ST_INTRA-PRV-RT-DR-2 type: router default_gateway: 192.168.170.1 ports: @@ -505,30 +505,30 @@ simulation: # SOME_TECH HEAD OFFICE SUBNET # ################################ - - hostname: ST-HO-PRV-SW-AS + - hostname: ST_HO-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HO-PRV-PC-1 + - hostname: ST_HO-PRV-PC-1 type: computer ip_address: 192.168.200.2 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-2 + - hostname: ST_HO-PRV-PC-2 type: computer ip_address: 192.168.200.3 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-3 + - hostname: ST_HO-PRV-PC-3 type: computer ip_address: 192.168.200.4 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -537,30 +537,30 @@ simulation: # SOME_TECH HUMAN RESOURCES SUBNET # #################################### - - hostname: ST-HR-PRV-SW-AS + - hostname: ST_HR-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HR-PRV-PC-1 + - hostname: ST_HR-PRV-PC-1 type: computer ip_address: 192.168.210.2 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-2 + - hostname: ST_HR-PRV-PC-2 type: computer ip_address: 192.168.210.3 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-3 + - hostname: ST_HR-PRV-PC-3 type: computer ip_address: 192.168.210.4 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -569,11 +569,11 @@ simulation: # SOME_TECH DATA SUBNET # ######################### - - hostname: ST-DATA-PRV-SW-AS + - hostname: ST_DATA-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-DATA-PRV-SRV-STORAGE + - hostname: ST_DATA-PRV-SRV-STORAGE type: server ip_address: *ST_SRV_STORAGE_IP subnet_mask: *ST_DATA_SUBNET @@ -582,7 +582,7 @@ simulation: services: *ST_SRV_STORAGE_CONFIG - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB type: server ip_address: *ST_SRV_DB_IP subnet_mask: *ST_DATA_SUBNET @@ -595,30 +595,30 @@ simulation: # SOME_TECH PROJECT A # ####################### - - hostname: ST-PROJ-A-PRV-SW-AS + - hostname: ST_PROJ-A-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 type: computer ip_address: 192.168.230.2 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-2 + - hostname: ST_PROJ-A-PRV-PC-2 type: computer ip_address: 192.168.230.3 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-3 + - hostname: ST_PROJ-A-PRV-PC-3 type: computer ip_address: 192.168.230.4 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -627,30 +627,30 @@ simulation: # SOME_TECH PROJECT B # ####################### - - hostname: ST-PROJ-B-PRV-SW-AS + - hostname: ST_PROJ-B-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-B-PRV-PC-1 + - hostname: ST_PROJ-B-PRV-PC-1 type: computer ip_address: 192.168.240.2 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 type: computer ip_address: 192.168.240.3 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-3 + - hostname: ST_PROJ-B-PRV-PC-3 type: computer ip_address: 192.168.240.4 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -659,30 +659,30 @@ simulation: # SOME_TECH PROJECT C # ####################### - - hostname: ST-PROJ-C-PRV-SW-AS + - hostname: ST_PROJ-C-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-C-PRV-PC-1 + - hostname: ST_PROJ-C-PRV-PC-1 type: computer ip_address: 192.168.250.2 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-2 + - hostname: ST_PROJ-C-PRV-PC-2 type: computer ip_address: 192.168.250.3 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 type: computer ip_address: 192.168.250.4 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -788,13 +788,13 @@ simulation: # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) - endpoint_a_hostname: ISP-PUB-RT-BR endpoint_a_port: 4 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 1 # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) - - endpoint_a_hostname: ST-PUB-FW + - endpoint_a_hostname: ST_PUB-FW endpoint_a_port: 3 - endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_hostname: ST_DMZ-PUB-SRV-WEB endpoint_b_port: 1 ############################ @@ -802,27 +802,27 @@ simulation: ############################ # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 1 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 2 # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 2 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_b_port: 1 # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 3 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 1 # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 4 - endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_hostname: ST_DATA-PRV-SW-AS endpoint_b_port: 1 @@ -831,27 +831,27 @@ simulation: ############################### # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 2 # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_hostname: ST_HO-PRV-PC-1 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_hostname: ST_HO-PRV-PC-2 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_hostname: ST_HO-PRV-PC-3 endpoint_b_port: 1 @@ -860,27 +860,27 @@ simulation: ################################### # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 3 # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_hostname: ST_HR-PRV-PC-1 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_hostname: ST_HR-PRV-PC-2 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_hostname: ST_HR-PRV-PC-3 endpoint_b_port: 1 ######################## @@ -888,16 +888,16 @@ simulation: ######################## # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_hostname: ST_DATA-PRV-SRV-STORAGE endpoint_b_port: 1 # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_hostname: ST_DATA-PRV-SRV-DB endpoint_b_port: 1 ############################# @@ -905,27 +905,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-A-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -933,27 +933,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-B-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -961,27 +961,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-C-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-3 endpoint_b_port: 1 ################################## @@ -1042,18 +1042,18 @@ UC7_IP_LIST: &UC7_IP_LIST - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 # ====== ST Public DMZ ======= - - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST_DMZ-PUB-SRV-WEB) | ip_id: 8 # ====== ST Head Office ======= - - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 - - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 - - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + - 192.168.200.2 # ST_HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST_HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST_HO-PRV-PC-3 | ip_id: 11 # ===== ST Human Resources ====== - - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 - - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 - - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + - 192.168.210.2 # ST_HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST_HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST_HR-PRV-PC-3 | ip_id: 14 # ====== ST DATA Servers ======= - - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 - - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST_DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST_DATA-PRV-SRV-DB) | ip_id: 16 # ====== ST Project A ======= - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 @@ -1083,8 +1083,8 @@ agents: # Home Office Green Agent Pattern Of Life # ====================================== - # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Home workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: HOME_WORKER-1-DB team: GREEN @@ -1177,8 +1177,8 @@ agents: # Remote Site Green Agent Pattern Of Life # ====================================== - # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: REMOTE_WORKER-1-DB team: GREEN @@ -1272,10 +1272,10 @@ agents: # ST Project A Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_A-SENIOR-DEV-DB @@ -1284,7 +1284,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1296,7 +1296,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-SENIOR-DEV-WEB team: GREEN @@ -1310,7 +1310,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1319,7 +1319,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-JUNIOR-DEV-1-DB team: GREEN @@ -1327,7 +1327,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1339,7 +1339,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-1-WEB team: GREEN @@ -1353,7 +1353,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-2 + node_name: ST_PROJ-A-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1362,7 +1362,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-2-DB team: GREEN @@ -1370,7 +1370,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1382,7 +1382,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 - ref: PROJ_A-JUNIOR-DEV-2-WEB team: GREEN @@ -1396,7 +1396,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-3 + node_name: ST_PROJ-A-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1405,7 +1405,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 #################################### # ST Project B Network POL Config # @@ -1413,10 +1413,10 @@ agents: # ST Project B Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_B-SENIOR-DEV-DB team: GREEN @@ -1424,7 +1424,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1436,7 +1436,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-SENIOR-DEV-WEB team: GREEN @@ -1450,7 +1450,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-1 + node_name: ST_PROJ-B-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1459,14 +1459,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1478,7 +1478,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-1-WEB team: GREEN @@ -1492,7 +1492,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1501,14 +1501,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-2-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1520,7 +1520,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 - ref: PROJ_B-JUNIOR-DEV-2-WEB team: GREEN @@ -1534,7 +1534,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-3 + node_name: ST_PROJ-B-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1543,7 +1543,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 #################################### # ST Project C Network POL Config # @@ -1551,10 +1551,10 @@ agents: # ST Project C Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_C-SENIOR-DEV-DB team: GREEN @@ -1562,7 +1562,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1574,7 +1574,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-SENIOR-DEV-WEB team: GREEN @@ -1588,7 +1588,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-1 + node_name: ST_PROJ-C-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1597,14 +1597,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1616,7 +1616,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-1-WEB team: GREEN @@ -1630,7 +1630,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-2 + node_name: ST_PROJ-C-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1639,7 +1639,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-2-DB team: GREEN @@ -1647,7 +1647,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1659,7 +1659,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 - ref: PROJ_C-JUNIOR-DEV-2-WEB team: GREEN @@ -1673,7 +1673,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1682,7 +1682,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 ###################################### # ST Head Office Network POL Config # @@ -1690,9 +1690,9 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: CEO team: GREEN @@ -1708,14 +1708,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-1 + node_name: ST_HO-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-1 + node_hostname: ST_HO-PRV-PC-1 - ref: CTO team: GREEN @@ -1731,14 +1731,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-2 + node_name: ST_HO-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-2 + node_hostname: ST_HO-PRV-PC-2 - ref: CFO team: GREEN @@ -1754,14 +1754,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-3 + node_name: ST_HO-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-3 + node_hostname: ST_HO-PRV-PC-3 ########################################## # ST Human Resources Network POL Config # @@ -1769,8 +1769,8 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: SENIOR_HR team: GREEN @@ -1786,14 +1786,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-1 + node_name: ST_HR-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-1 + node_hostname: ST_HR-PRV-PC-1 - ref: JUNIOR_HR-1 team: GREEN @@ -1809,14 +1809,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-2 + node_name: ST_HR-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-2 + node_hostname: ST_HR-PRV-PC-2 - ref: JUNIOR_HR-2 team: GREEN @@ -1832,14 +1832,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-3 + node_name: ST_HR-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-3 + node_hostname: ST_HR-PRV-PC-3 ########################## # UC7 Red Agent Config # @@ -1856,28 +1856,28 @@ agents: variance: 0 repeat_kill_chain: false repeat_kill_chain_stages: true - default_starting_node: "ST-PROJ-A-PRV-PC-1" + default_starting_node: "ST_PROJ-A-PRV-PC-1" starting_nodes: - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] kill_chain: PLANNING: probability: 1 starting_network_knowledge: credentials: - ST-PROJ-A-PRV-PC-1: + ST_PROJ-A-PRV-PC-1: username: admin password: admin - ST-PROJ-B-PRV-PC-2: + ST_PROJ-B-PRV-PC-2: username: admin password: admin - ST-PROJ-C-PRV-PC-3: + ST_PROJ-C-PRV-PC-3: username: admin password: admin - ST-INTRA-PRV-RT-DR-1: + ST_INTRA-PRV-RT-DR-1: ip_address: 192.168.230.1 username: admin password: admin - ST-INTRA-PRV-RT-CR: + ST_INTRA-PRV-RT-CR: ip_address: 192.168.160.1 username: admin password: admin @@ -1890,13 +1890,13 @@ agents: MANIPULATION: probability: 1 account_changes: - - host: ST-INTRA-PRV-RT-DR-1 - ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 + - host: ST_INTRA-PRV-RT-DR-1 + ip_address: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 action: change_password username: admin new_password: "red_pass" - - host: ST-INTRA-PRV-RT-CR - ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR + - host: ST_INTRA-PRV-RT-CR + ip_address: 192.168.160.1 # ST_INTRA-PRV-RT-CR action: change_password username: "admin" new_password: "red_pass" @@ -1908,7 +1908,7 @@ agents: EXPLOIT: probability: 1 malicious_acls: - - target_router: ST-INTRA-PRV-RT-DR-1 + - target_router: ST_INTRA-PRV-RT-DR-1 position: 1 permission: DENY src_ip: ALL @@ -1918,7 +1918,7 @@ agents: src_port: POSTGRES_SERVER dst_port: POSTGRES_SERVER protocol_name: TCP - - target_router: ST-INTRA-PRV-RT-CR + - target_router: ST_INTRA-PRV-RT-CR position: 1 permission: DENY src_ip: ALL @@ -1954,8 +1954,8 @@ agents: label: NODES options: hosts: - # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 - - hostname: ST-PROJ-A-PRV-PC-1 + # TAP001 Potential Starting Note | ST_PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 services: - service_name: ftp-client applications: @@ -1968,8 +1968,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 - - hostname: ST-PROJ-B-PRV-PC-2 + # TAP001 Potential Starting Note | ST_PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 services: - service_name: ftp-client applications: @@ -1981,8 +1981,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 - - hostname: ST-PROJ-C-PRV-PC-3 + # TAP001 Potential Starting Note | ST_PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 services: - service_name: ftp-client applications: @@ -1995,14 +1995,14 @@ agents: files: - file_name: database.db # ST DATA Server Database - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB folders: - folder_name: database files: - file_name: database.db routers: - - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 - - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: ST_INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST_INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 num_ports: 5 num_services: 2 @@ -2065,41 +2065,41 @@ agents: - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 # SOME_TECH DMZ - - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 - - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + - ISP-PUB-RT-BR:eth-4<->ST_PUB-FW:eth-1 # 13 + - ST_PUB-FW:eth-3<->ST_DMZ-PUB-SRV-WEB:eth-1 # 14 # SOME_TECH Intranet - - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 - - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 - - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 - - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + - ST_INTRA-PRV-RT-CR:eth-1<->ST_PUB-FW:eth-2 # 15 + - ST_INTRA-PRV-RT-CR:eth-2<->ST_INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST_INTRA-PRV-RT-CR:eth-3<->ST_INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST_INTRA-PRV-RT-CR:eth-4<->ST_DATA-PRV-SW-AS:eth-1 # 18 # SOME_TECH Head Office - - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 - - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 - - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 - - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + - ST_HO-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST_HO-PRV-SW-AS:eth-2<->ST_HO-PRV-PC-1:eth-1 # 20 + - ST_HO-PRV-SW-AS:eth-3<->ST_HO-PRV-PC-2:eth-1 # 21 + - ST_HO-PRV-SW-AS:eth-4<->ST_HO-PRV-PC-3:eth-1 # 22 # SOME_TECH Human Resources - - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 - - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 - - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 - - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + - ST_HR-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST_HR-PRV-SW-AS:eth-2<->ST_HR-PRV-PC-1:eth-1 # 24 + - ST_HR-PRV-SW-AS:eth-3<->ST_HR-PRV-PC-2:eth-1 # 25 + - ST_HR-PRV-SW-AS:eth-4<->ST_HR-PRV-PC-3:eth-1 # 26 # SOME_TECH Data Links - - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 - - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + - ST_DATA-PRV-SW-AS:eth-2<->ST_DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST_DATA-PRV-SW-AS:eth-3<->ST_DATA-PRV-SRV-DB:eth-1 # 28 # SOME_TECH Project A Links - - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + - ST_INTRA-PRV-RT-DR-1:eth-2<->ST_PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-A-PRV-PC-1:eth-1 # 31 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-A-PRV-PC-2:eth-1 # 32 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-A-PRV-PC-3:eth-1 # 33 # SOME_TECH Project B Links - - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 - - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 - - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 - - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + - ST_INTRA-PRV-RT-DR-1:eth-3<->ST_PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST_PROJ-B-PRV-SW-AS:eth2<->ST_PROJ-B-PRV-PC-1:eth-1 # 35 + - ST_PROJ-B-PRV-SW-AS:eth3<->ST_PROJ-B-PRV-PC-2:eth-1 # 36 + - ST_PROJ-B-PRV-SW-AS:eth4<->ST_PROJ-B-PRV-PC-3:eth-1 # 37 # SOME_TECH Project C Links - - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + - ST_INTRA-PRV-RT-DR-1:eth-4<->ST_PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-C-PRV-PC-1:eth-1 # 39 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-C-PRV-PC-2:eth-1 # 40 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-C-PRV-PC-3:eth-1 # 41 action_space: action_map: 0: @@ -2107,402 +2107,402 @@ agents: options: {} # |======================================| - # | ST-PROJ-A-PRV-PC-1 | + # | ST_PROJ-A-PRV-PC-1 | # |======================================| - # ST-PROJ-A-PRV-PC-1 | node-os-scan + # ST_PROJ-A-PRV-PC-1 | node-os-scan 1: action: node-os-scan options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-shutdown + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-shutdown 2: action: node-shutdown options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-startup + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-startup 3: action: node-startup options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-reset + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-reset 4: action: node-reset options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | host-nic-disable + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | host-nic-disable 5: action: host-nic-disable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | host-nic-enable + # ST_PROJ-A-PRV-PC-1 | host-nic-enable 6: action: host-nic-enable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-close | database-client 7: action: node-application-close options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-scan | database-client 8: action: node-application-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-fix | database-client 9: action: node-application-fix options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-remove | database-client 10: action: node-application-remove options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 11: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db 12: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ 13: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ 14: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-B-PRV-PC-2 | + # | ST_PROJ-B-PRV-PC-2 | # |======================================| - # ST-PROJ-B-PRV-PC-2 | node-os-scan + # ST_PROJ-B-PRV-PC-2 | node-os-scan 15: action: node-os-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-shutdown + # ST_PROJ-B-PRV-PC-2 | node-shutdown 16: action: node-shutdown options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-startup + # ST_PROJ-B-PRV-PC-2 | node-startup 17: action: node-startup options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-reset + # ST_PROJ-B-PRV-PC-2 | node-reset 18: action: node-reset options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | host-nic-disable + # ST_PROJ-B-PRV-PC-2 | host-nic-disable 19: action: host-nic-disable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | host-nic-enable + # ST_PROJ-B-PRV-PC-2 | host-nic-enable 20: action: host-nic-enable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-close | database-client 21: action: node-application-close options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-scan | database-client 22: action: node-application-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-fix | database-client 23: action: node-application-fix options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-remove | database-client 24: action: node-application-remove options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 25: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db 26: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ 27: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ 28: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-C-PRV-PC-3 | + # | ST_PROJ-C-PRV-PC-3 | # |======================================| - # ST-PROJ-C-PRV-PC-3 | node-os-scan + # ST_PROJ-C-PRV-PC-3 | node-os-scan 29: action: node-os-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-shutdown + # ST_PROJ-C-PRV-PC-3 | node-shutdown 30: action: node-shutdown options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-startup + # ST_PROJ-C-PRV-PC-3 | node-startup 31: action: node-startup options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-reset + # ST_PROJ-C-PRV-PC-3 | node-reset 32: action: node-reset options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | host-nic-disable + # ST_PROJ-C-PRV-PC-3 | host-nic-disable 33: action: host-nic-disable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | host-nic-enable + # ST_PROJ-C-PRV-PC-3 | host-nic-enable 34: action: host-nic-enable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-close | database-client 35: action: node-application-close options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-scan | database-client 36: action: node-application-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-fix | database-client 37: action: node-application-fix options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-remove | database-client 38: action: node-application-remove options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 39: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db 40: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ 41: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ 42: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder # |======================================| - # | ST-INTRA-PRV-RT-CR | + # | ST_INTRA-PRV-RT-CR | # |======================================| - # ST-INTRA-PRV-RT-CR | router-acl-addrule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-addrule | P2: ST_PROJ-A-PRV-PC-1 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 43: action: router-acl-addrule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 44: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 - # ST-INTRA-PRV-RT-CR | router-acl-addrule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-addrule | P3: ST_PROJ-B-PRV-PC-2 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 45: action: router-acl-addrule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 permission: DENY - src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_ip: 192.168.240.3 # (ST_PROJ-B-PRV-PC-2) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 46: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 - # ST-INTRA-PRV-RT-CR | router-acl-addrule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-addrule | P4: ST_PROJ-C-PRV-PC-3 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 47: action: router-acl-addrule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 permission: DENY - src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_ip: 192.168.250.4 # (ST_PROJ-C-PRV-PC-3) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 48: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 # |======================================| - # | ST-DATA-PRV-SRV-DB | + # | ST_DATA-PRV-SRV-DB | # |======================================| - # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + # ST_DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) 49: action: node-file-scan options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db - # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + # ST_DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account 50: action: node-account-change-password options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB username: admin # default account current_password: admin # default password new_password: thr33_alert_wolv3z # A more 'secure' password # |======================================| - # | ST-INTRA-PRV-RT-DR-1 | + # | ST_INTRA-PRV-RT-DR-1 | # |======================================| - # ST-INTRA-PRV-RT-DR-1 | router-acl-addrule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + # ST_INTRA-PRV-RT-DR-1 | router-acl-addrule | P1: ST_INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) 51: action: router-acl-addrule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: SSH dst_ip: ALL @@ -2510,20 +2510,20 @@ agents: dst_port: SSH protocol_name: TCP - # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + # ST_INTRA-PRV-RT-DR-1 | node-account-change-password 52: action: node-account-change-password options: - node_name: ST-INTRA-PRV-RT-DR-1 + node_name: ST_INTRA-PRV-RT-DR-1 username: admin current_password: admin new_password: secure_password - # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + # ST_INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 53: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 # |======================================| @@ -2551,7 +2551,7 @@ agents: - type: database-file-integrity weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-DATA-PRV-SRV-DB + node_hostname: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db @@ -2772,7 +2772,7 @@ agents: # # UC7 Network Wide System Pattern Of Life # # ========================================== # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # # 3. All DNS Clients perform periodic DNS Server transactions. # # TODO: NTPClient Node Service Start doesn't start a 'Request' @@ -2827,50 +2827,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -2943,34 +2943,34 @@ agents: # services: # - service_name: NTPClient # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: NTPClient # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: NTPClient # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: NTPClient # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: NTPClient - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: NTPClient # # ====== ST Project A ======= @@ -3019,7 +3019,7 @@ agents: # reward_components: # - type: DUMMY - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # - ref: SYSTEM-FTP # team: GREEN @@ -3040,7 +3040,7 @@ agents: # service_id: 0 # options: # nodes: - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # applications: # - application_name: database-client # ip_list: @@ -3110,50 +3110,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -3226,34 +3226,34 @@ agents: # services: # - service_name: dns-client # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: dns-client # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: dns-client # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: dns-client # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: dns-client - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: dns-client # # ====== ST Project A ======= diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml index a066eaa4..e4a76f84 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml @@ -9,8 +9,8 @@ red: &red repeat_kill_chain: false repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 - default_starting_node: "ST-PROJ-C-PRV-PC-1" - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + default_starting_node: "ST_PROJ-C-PRV-PC-1" + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml index 7256b154..bdf1ceb0 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml @@ -9,8 +9,8 @@ red: &red repeat_kill_chain: false repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 - default_starting_node: "ST-PROJ-B-PRV-PC-2" - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + default_starting_node: "ST_PROJ-B-PRV-PC-2" + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml index 162f4753..b65ae4d8 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml @@ -9,8 +9,8 @@ red: &red repeat_kill_chain: false repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 - default_starting_node: "ST-PROJ-C-PRV-PC-3" - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + default_starting_node: "ST_PROJ-C-PRV-PC-3" + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml index 7dd3fd2e..aae7e9b4 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP003.yaml @@ -10,28 +10,28 @@ red: &red variance: 0 repeat_kill_chain: false repeat_kill_chain_stages: true - default_starting_node: "ST-PROJ-A-PRV-PC-1" + default_starting_node: "ST_PROJ-A-PRV-PC-1" starting_nodes: - # starting_nodes: ["ST-PROJ-A-PRV-PC-1", "ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] kill_chain: PLANNING: probability: 1 starting_network_knowledge: credentials: - ST-PROJ-A-PRV-PC-1: + ST_PROJ-A-PRV-PC-1: username: admin password: admin - ST-PROJ-B-PRV-PC-2: + ST_PROJ-B-PRV-PC-2: username: admin password: admin - ST-PROJ-C-PRV-PC-3: + ST_PROJ-C-PRV-PC-3: username: admin password: admin - ST-INTRA-PRV-RT-DR-1: + ST_INTRA-PRV-RT-DR-1: ip_address: 192.168.230.1 username: admin password: admin - ST-INTRA-PRV-RT-CR: + ST_INTRA-PRV-RT-CR: ip_address: 192.168.160.1 username: admin password: admin @@ -44,13 +44,13 @@ red: &red MANIPULATION: probability: 1 account_changes: - - host: ST-INTRA-PRV-RT-DR-1 - ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 + - host: ST_INTRA-PRV-RT-DR-1 + ip_address: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 action: change_password username: admin new_password: "red_pass" - - host: ST-INTRA-PRV-RT-CR - ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR + - host: ST_INTRA-PRV-RT-CR + ip_address: 192.168.160.1 # ST_INTRA-PRV-RT-CR action: change_password username: "admin" new_password: "red_pass" @@ -62,7 +62,7 @@ red: &red EXPLOIT: probability: 1 malicious_acls: - - target_router: ST-INTRA-PRV-RT-DR-1 + - target_router: ST_INTRA-PRV-RT-DR-1 position: 1 permission: DENY src_ip: ALL @@ -72,7 +72,7 @@ red: &red src_port: POSTGRES_SERVER dst_port: POSTGRES_SERVER protocol_name: TCP - - target_router: ST-INTRA-PRV-RT-CR + - target_router: ST_INTRA-PRV-RT-CR position: 1 permission: DENY src_ip: ALL diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml index a55dae0e..1d245f85 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -73,7 +73,7 @@ SOME_TECH_PROJECT_C_SUBNET: &ST_PROJ_C_SUBNET 255.255.255.248 # # Host & Server Configurations # -# ST Public Web Server | web-server | ST-DMZ-PUB-SRV-WEB +# ST Public Web Server | web-server | ST_DMZ-PUB-SRV-WEB SOME_TECH_PUBLIC_SERVER_WEB_IP_ADDRESS: &ST_PUB_SRV_WEB_IP 192.168.100.2 SOME_TECH_PUBLIC_SERVER_WEB_CONFIG: &ST_SRV_WEB_CONFIG # - type: web-server @@ -86,12 +86,12 @@ PUBLIC_DNS_CONFIG: &PUBLIC_DNS_CONFIG # domain_mapping: some_tech.com: *ST_PUB_SRV_WEB_IP -# ST Private Storage Server | ftp-server | ST-DATA-PRV-SRV-STORAGE +# ST Private Storage Server | ftp-server | ST_DATA-PRV-SRV-STORAGE SOME_TECH_PRIVATE_SERVER_STORAGE_IP: &ST_SRV_STORAGE_IP 192.168.220.2 SOME_TECH_PRIVATE_SERVER_STORAGE_CONFIG: &ST_SRV_STORAGE_CONFIG - type: ftp-server -# ST Private Database Server | database-client & ftp-client | ST-DATA-PRV-SRV-DB +# ST Private Database Server | database-client & ftp-client | ST_DATA-PRV-SRV-DB SOME_TECH_PRIVATE_SERVER_DATABASE_IP: &ST_SRV_DB_IP 192.168.220.3 SOME_TECH_PRIVATE_SERVER_DATABASE_CONFIG: &ST_SRV_DB_CONFIG - type: database-service @@ -319,7 +319,7 @@ simulation: # SOME_TECH DMZ SUBNET # ######################## - - hostname: ST-PUB-FW + - hostname: ST_PUB-FW type: firewall ports: external_port: # Public Internet Facing Port @@ -410,7 +410,7 @@ simulation: #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - - hostname: ST-DMZ-PUB-SRV-WEB + - hostname: ST_DMZ-PUB-SRV-WEB type: server ip_address: *ST_PUB_SRV_WEB_IP subnet_mask: *ST_DMZ_SUBNET @@ -422,7 +422,7 @@ simulation: # SOME_TECH INTRANET SUBNET # ############################# - - hostname: ST-INTRA-PRV-RT-CR + - hostname: ST_INTRA-PRV-RT-CR type: router ports: 1: @@ -461,7 +461,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-1 + - hostname: ST_INTRA-PRV-RT-DR-1 type: router ports: 1: @@ -482,7 +482,7 @@ simulation: 5: action: PERMIT - - hostname: ST-INTRA-PRV-RT-DR-2 + - hostname: ST_INTRA-PRV-RT-DR-2 type: router default_gateway: 192.168.170.1 ports: @@ -505,30 +505,30 @@ simulation: # SOME_TECH HEAD OFFICE SUBNET # ################################ - - hostname: ST-HO-PRV-SW-AS + - hostname: ST_HO-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HO-PRV-PC-1 + - hostname: ST_HO-PRV-PC-1 type: computer ip_address: 192.168.200.2 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-2 + - hostname: ST_HO-PRV-PC-2 type: computer ip_address: 192.168.200.3 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HO-PRV-PC-3 + - hostname: ST_HO-PRV-PC-3 type: computer ip_address: 192.168.200.4 - default_gateway: 192.168.200.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.200.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -537,30 +537,30 @@ simulation: # SOME_TECH HUMAN RESOURCES SUBNET # #################################### - - hostname: ST-HR-PRV-SW-AS + - hostname: ST_HR-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-HR-PRV-PC-1 + - hostname: ST_HR-PRV-PC-1 type: computer ip_address: 192.168.210.2 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-2 + - hostname: ST_HR-PRV-PC-2 type: computer ip_address: 192.168.210.3 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-HR-PRV-PC-3 + - hostname: ST_HR-PRV-PC-3 type: computer ip_address: 192.168.210.4 - default_gateway: 192.168.210.1 # ST-INTRA-PRV-RT-DR-2 (Port 2) + default_gateway: 192.168.210.1 # ST_INTRA-PRV-RT-DR-2 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -569,11 +569,11 @@ simulation: # SOME_TECH DATA SUBNET # ######################### - - hostname: ST-DATA-PRV-SW-AS + - hostname: ST_DATA-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-DATA-PRV-SRV-STORAGE + - hostname: ST_DATA-PRV-SRV-STORAGE type: server ip_address: *ST_SRV_STORAGE_IP subnet_mask: *ST_DATA_SUBNET @@ -582,7 +582,7 @@ simulation: services: *ST_SRV_STORAGE_CONFIG - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB type: server ip_address: *ST_SRV_DB_IP subnet_mask: *ST_DATA_SUBNET @@ -595,30 +595,30 @@ simulation: # SOME_TECH PROJECT A # ####################### - - hostname: ST-PROJ-A-PRV-SW-AS + - hostname: ST_PROJ-A-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 type: computer ip_address: 192.168.230.2 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-2 + - hostname: ST_PROJ-A-PRV-PC-2 type: computer ip_address: 192.168.230.3 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-A-PRV-PC-3 + - hostname: ST_PROJ-A-PRV-PC-3 type: computer ip_address: 192.168.230.4 - default_gateway: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1 (Port 2) + default_gateway: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1 (Port 2) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -627,30 +627,30 @@ simulation: # SOME_TECH PROJECT B # ####################### - - hostname: ST-PROJ-B-PRV-SW-AS + - hostname: ST_PROJ-B-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-B-PRV-PC-1 + - hostname: ST_PROJ-B-PRV-PC-1 type: computer ip_address: 192.168.240.2 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 type: computer ip_address: 192.168.240.3 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-B-PRV-PC-3 + - hostname: ST_PROJ-B-PRV-PC-3 type: computer ip_address: 192.168.240.4 - default_gateway: 192.168.240.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.240.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -659,30 +659,30 @@ simulation: # SOME_TECH PROJECT C # ####################### - - hostname: ST-PROJ-C-PRV-SW-AS + - hostname: ST_PROJ-C-PRV-SW-AS type: switch num_ports: 5 - - hostname: ST-PROJ-C-PRV-PC-1 + - hostname: ST_PROJ-C-PRV-PC-1 type: computer ip_address: 192.168.250.2 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-2 + - hostname: ST_PROJ-C-PRV-PC-2 type: computer ip_address: 192.168.250.3 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG - - hostname: ST-PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 type: computer ip_address: 192.168.250.4 - default_gateway: 192.168.250.1 # ST-INTRA-PRV-RT-DR-1 (Port 3) + default_gateway: 192.168.250.1 # ST_INTRA-PRV-RT-DR-1 (Port 3) dns_server: *PUBLIC_DNS_IP applications: *PC_DEFAULT_CONFIG @@ -788,13 +788,13 @@ simulation: # Internet Router (Port 4) --> Some Tech DMZ Firewall (External Port) - endpoint_a_hostname: ISP-PUB-RT-BR endpoint_a_port: 4 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 1 # Some Tech DMZ Firewall (DMZ Port) --> Some Tech Web Server (Port 1) - - endpoint_a_hostname: ST-PUB-FW + - endpoint_a_hostname: ST_PUB-FW endpoint_a_port: 3 - endpoint_b_hostname: ST-DMZ-PUB-SRV-WEB + endpoint_b_hostname: ST_DMZ-PUB-SRV-WEB endpoint_b_port: 1 ############################ @@ -802,27 +802,27 @@ simulation: ############################ # Some Tech Intranet CR Router (Port 1) --> Some Tech DMZ Firewall (Internal Port) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 1 - endpoint_b_hostname: ST-PUB-FW + endpoint_b_hostname: ST_PUB-FW endpoint_b_port: 2 # Some Tech Intranet CR Router (Port 2) --> Some Tech Intranet DR Router 1 (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 2 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-1 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_b_port: 1 # Some Tech Intranet CR Router (Port 3) --> Some Tech Intranet DR Router 2 (Port 2) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 3 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 1 # Some Tech Intranet Private Router CR (Port 4) --> Some Tech Data Private Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-CR + - endpoint_a_hostname: ST_INTRA-PRV-RT-CR endpoint_a_port: 4 - endpoint_b_hostname: ST-DATA-PRV-SW-AS + endpoint_b_hostname: ST_DATA-PRV-SW-AS endpoint_b_port: 1 @@ -831,27 +831,27 @@ simulation: ############################### # Some Tech Head Office Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 2) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 2 # Some Tech Head Office Switch (Port 2) --> Some Tech Head Office PC 1 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HO-PRV-PC-1 + endpoint_b_hostname: ST_HO-PRV-PC-1 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 3) --> Some Tech Head Office PC 2 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HO-PRV-PC-2 + endpoint_b_hostname: ST_HO-PRV-PC-2 endpoint_b_port: 1 # Some Tech Head Office Switch (Port 4) --> Some Tech Head Office PC 3 (Port 1) - - endpoint_a_hostname: ST-HO-PRV-SW-AS + - endpoint_a_hostname: ST_HO-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HO-PRV-PC-3 + endpoint_b_hostname: ST_HO-PRV-PC-3 endpoint_b_port: 1 @@ -860,27 +860,27 @@ simulation: ################################### # Some Tech Human Resources Switch (Port 1) --> Some Tech Intranet Private Router DR 2 (Port 3) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 1 - endpoint_b_hostname: ST-INTRA-PRV-RT-DR-2 + endpoint_b_hostname: ST_INTRA-PRV-RT-DR-2 endpoint_b_port: 3 # Some Tech Human Resources Switch (Port 2) --> Some Tech Human Resources PC 1 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-HR-PRV-PC-1 + endpoint_b_hostname: ST_HR-PRV-PC-1 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 3) --> Some Tech Human Resources PC 2 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-HR-PRV-PC-2 + endpoint_b_hostname: ST_HR-PRV-PC-2 endpoint_b_port: 1 # Some Tech Human Resources Switch (Port 4) --> Some Tech Human Resources PC 3 (Port 1) - - endpoint_a_hostname: ST-HR-PRV-SW-AS + - endpoint_a_hostname: ST_HR-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-HR-PRV-PC-3 + endpoint_b_hostname: ST_HR-PRV-PC-3 endpoint_b_port: 1 ######################## @@ -888,16 +888,16 @@ simulation: ######################## # Some Tech Data Switch (Port 2) --> Some Tech Data Private Storage Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-DATA-PRV-SRV-STORAGE + endpoint_b_hostname: ST_DATA-PRV-SRV-STORAGE endpoint_b_port: 1 # Some Tech Data Switch (Port 3) --> Some Tech Data Private Database Server (Port 1) - - endpoint_a_hostname: ST-DATA-PRV-SW-AS + - endpoint_a_hostname: ST_DATA-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-DATA-PRV-SRV-DB + endpoint_b_hostname: ST_DATA-PRV-SRV-DB endpoint_b_port: 1 ############################# @@ -905,27 +905,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 2) --> Some Tech Private Project A Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-A-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 2) --> Some Tech Project A PC 1 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 3) --> Some Tech Project A PC 2 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project A Switch (Port 4) --> Some Tech Project A PC 3 - - endpoint_a_hostname: ST-PROJ-A-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-A-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-A-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-A-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -933,27 +933,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 3) --> Some Tech Private Project B Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-B-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 2) --> Some Tech Project B PC 1 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 3) --> Some Tech Project B PC 2 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project B Switch (Port 4) --> Some Tech Project B PC 3 - - endpoint_a_hostname: ST-PROJ-B-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-B-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-B-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-B-PRV-PC-3 endpoint_b_port: 1 ############################# @@ -961,27 +961,27 @@ simulation: ############################# # Some Tech Intranet Private Router DR 1 (Port 4) --> Some Tech Private Project C Switch (Port 1) - - endpoint_a_hostname: ST-INTRA-PRV-RT-DR-1 + - endpoint_a_hostname: ST_INTRA-PRV-RT-DR-1 endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-SW-AS + endpoint_b_hostname: ST_PROJ-C-PRV-SW-AS endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 2) --> Some Tech Project C PC 1 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 2 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-1 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-1 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 3) --> Some Tech Project C PC 2 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 3 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-2 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-2 endpoint_b_port: 1 # Some Tech Private Project C Switch (Port 4) --> Some Tech Project C PC 3 - - endpoint_a_hostname: ST-PROJ-C-PRV-SW-AS + - endpoint_a_hostname: ST_PROJ-C-PRV-SW-AS endpoint_a_port: 4 - endpoint_b_hostname: ST-PROJ-C-PRV-PC-3 + endpoint_b_hostname: ST_PROJ-C-PRV-PC-3 endpoint_b_port: 1 ################################## @@ -1042,18 +1042,18 @@ UC7_IP_LIST: &UC7_IP_LIST - 192.168.20.3 # REM-PUB-PC-2 | ip_id: 6 - 192.168.20.4 # REM-PUB-SRV | ip_id: 7 # ====== ST Public DMZ ======= - - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST-DMZ-PUB-SRV-WEB) | ip_id: 8 + - *ST_PUB_SRV_WEB_IP # 192.168.100.2 (ST_DMZ-PUB-SRV-WEB) | ip_id: 8 # ====== ST Head Office ======= - - 192.168.200.2 # ST-HO-PRV-PC-1 | ip_id: 9 - - 192.168.200.3 # ST-HO-PRV-PC-2 | ip_id: 10 - - 192.168.200.4 # ST-HO-PRV-PC-3 | ip_id: 11 + - 192.168.200.2 # ST_HO-PRV-PC-1 | ip_id: 9 + - 192.168.200.3 # ST_HO-PRV-PC-2 | ip_id: 10 + - 192.168.200.4 # ST_HO-PRV-PC-3 | ip_id: 11 # ===== ST Human Resources ====== - - 192.168.210.2 # ST-HR-PRV-PC-1 | ip_id: 12 - - 192.168.210.3 # ST-HR-PRV-PC-2 | ip_id: 13 - - 192.168.210.4 # ST-HR-PRV-PC-3 | ip_id: 14 + - 192.168.210.2 # ST_HR-PRV-PC-1 | ip_id: 12 + - 192.168.210.3 # ST_HR-PRV-PC-2 | ip_id: 13 + - 192.168.210.4 # ST_HR-PRV-PC-3 | ip_id: 14 # ====== ST DATA Servers ======= - - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST-DATA-PRV-SRV-STORAGE) | ip_id: 15 - - *ST_SRV_DB_IP # 192.168.220.3 (ST-DATA-PRV-SRV-DB) | ip_id: 16 + - *ST_SRV_STORAGE_IP # 192.168.220.2 (ST_DATA-PRV-SRV-STORAGE) | ip_id: 15 + - *ST_SRV_DB_IP # 192.168.220.3 (ST_DATA-PRV-SRV-DB) | ip_id: 16 # ====== ST Project A ======= - 192.168.230.2 # PROJ-A-PRV-PC-1 | ip_id: 17 - 192.168.230.3 # PROJ-A-PRV-PC-2 | ip_id: 18 @@ -1083,8 +1083,8 @@ agents: # Home Office Green Agent Pattern Of Life # ====================================== - # 1. Three Home workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Home workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Home workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Home workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: HOME_WORKER-1-DB team: GREEN @@ -1177,8 +1177,8 @@ agents: # Remote Site Green Agent Pattern Of Life # ====================================== - # 1. Three Remote workers accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. Three Remote workers accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. Three Remote workers accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: REMOTE_WORKER-1-DB team: GREEN @@ -1272,10 +1272,10 @@ agents: # ST Project A Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_A-SENIOR-DEV-DB @@ -1284,7 +1284,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1296,7 +1296,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-SENIOR-DEV-WEB team: GREEN @@ -1310,7 +1310,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1319,7 +1319,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-1 + node_hostname: ST_PROJ-A-PRV-PC-1 - ref: PROJ_A-JUNIOR-DEV-1-DB team: GREEN @@ -1327,7 +1327,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1339,7 +1339,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-1-WEB team: GREEN @@ -1353,7 +1353,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-2 + node_name: ST_PROJ-A-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1362,7 +1362,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-2 + node_hostname: ST_PROJ-A-PRV-PC-2 - ref: PROJ_A-JUNIOR-DEV-2-DB team: GREEN @@ -1370,7 +1370,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-A-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1382,7 +1382,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 - ref: PROJ_A-JUNIOR-DEV-2-WEB team: GREEN @@ -1396,7 +1396,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-A-PRV-PC-3 + node_name: ST_PROJ-A-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1405,7 +1405,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-A-PRV-PC-3 + node_hostname: ST_PROJ-A-PRV-PC-3 #################################### # ST Project B Network POL Config # @@ -1413,10 +1413,10 @@ agents: # ST Project B Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_B-SENIOR-DEV-DB team: GREEN @@ -1424,7 +1424,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1436,7 +1436,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-SENIOR-DEV-WEB team: GREEN @@ -1450,7 +1450,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-1 + node_name: ST_PROJ-B-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1459,14 +1459,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-1 + node_hostname: ST_PROJ-B-PRV-PC-1 - ref: PROJ_B-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1478,7 +1478,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-1-WEB team: GREEN @@ -1492,7 +1492,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1501,14 +1501,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-2 + node_hostname: ST_PROJ-B-PRV-PC-2 - ref: PROJ_B-JUNIOR-DEV-2-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-B-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-B-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1520,7 +1520,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 - ref: PROJ_B-JUNIOR-DEV-2-WEB team: GREEN @@ -1534,7 +1534,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-B-PRV-PC-3 + node_name: ST_PROJ-B-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1543,7 +1543,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-B-PRV-PC-3 + node_hostname: ST_PROJ-B-PRV-PC-3 #################################### # ST Project C Network POL Config # @@ -1551,10 +1551,10 @@ agents: # ST Project C Green Agent Pattern Of Life # ======================================== - # 1. A Senior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST-DATA-PRV-SRV-DB) - # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A Senior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 2. A Senior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. Two Junior Developer accessing the SOME_TECH Private Database (ST_DATA-PRV-SRV-DB) + # 4. Two Junior Developer accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: PROJ_C-SENIOR-DEV-DB team: GREEN @@ -1562,7 +1562,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-1"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1574,7 +1574,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-SENIOR-DEV-WEB team: GREEN @@ -1588,7 +1588,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-1 + node_name: ST_PROJ-C-PRV-PC-1 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_40 @@ -1597,14 +1597,14 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-1 + node_hostname: ST_PROJ-C-PRV-PC-1 - ref: PROJ_C-JUNIOR-DEV-1-DB team: GREEN type: periodic-agent observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-2"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-2"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1616,7 +1616,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-1-WEB team: GREEN @@ -1630,7 +1630,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-2 + node_name: ST_PROJ-C-PRV-PC-2 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1639,7 +1639,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-2 + node_hostname: ST_PROJ-C-PRV-PC-2 - ref: PROJ_C-JUNIOR-DEV-2-DB team: GREEN @@ -1647,7 +1647,7 @@ agents: observation_space: {} observation_space: {} agent_settings: - possible_start_nodes: ["ST-PROJ-C-PRV-PC-3"] + possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" start_step: 1 start_variance: 1 @@ -1659,7 +1659,7 @@ agents: - type: green-admin-database-unreachable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 - ref: PROJ_C-JUNIOR-DEV-2-WEB team: GREEN @@ -1673,7 +1673,7 @@ agents: 1: action: node-application-execute options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: web-browser agent_settings: <<: *GREEN_PROBABILISTIC_20 @@ -1682,7 +1682,7 @@ agents: - type: webpage-unavailable-penalty weight: *LOW_WEIGHT_IMPACT options: - node_hostname: ST-PROJ-C-PRV-PC-3 + node_hostname: ST_PROJ-C-PRV-PC-3 ###################################### # ST Head Office Network POL Config # @@ -1690,9 +1690,9 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. The ST CEO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. The ST CTO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 3. The ST CFO accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. The ST CEO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. The ST CTO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 3. The ST CFO accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: CEO team: GREEN @@ -1708,14 +1708,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-1 + node_name: ST_HO-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-1 + node_hostname: ST_HO-PRV-PC-1 - ref: CTO team: GREEN @@ -1731,14 +1731,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-2 + node_name: ST_HO-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-2 + node_hostname: ST_HO-PRV-PC-2 - ref: CFO team: GREEN @@ -1754,14 +1754,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HO-PRV-PC-3 + node_name: ST_HO-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HO-PRV-PC-3 + node_hostname: ST_HO-PRV-PC-3 ########################################## # ST Human Resources Network POL Config # @@ -1769,8 +1769,8 @@ agents: # ST Head Office Green Agent Pattern Of Life # ========================================== - # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) - # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST-DMZ-PUB-SRV-WEB) + # 1. A senior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) + # 2. Two junior HR staff accessing the SOME_TECH Public web-server (ST_DMZ-PUB-SRV-WEB) - ref: SENIOR_HR team: GREEN @@ -1786,14 +1786,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-1 + node_name: ST_HR-PRV-PC-1 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-1 + node_hostname: ST_HR-PRV-PC-1 - ref: JUNIOR_HR-1 team: GREEN @@ -1809,14 +1809,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-2 + node_name: ST_HR-PRV-PC-2 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-2 + node_hostname: ST_HR-PRV-PC-2 - ref: JUNIOR_HR-2 team: GREEN @@ -1832,14 +1832,14 @@ agents: 1: action: node-application-execute options: - node_name: ST-HR-PRV-PC-3 + node_name: ST_HR-PRV-PC-3 application_name: web-browser reward_function: reward_components: - type: webpage-unavailable-penalty weight: *MEDIUM_WEIGHT_IMPACT options: - node_hostname: ST-HR-PRV-PC-3 + node_hostname: ST_HR-PRV-PC-3 ########################## # UC7 Red Agent Config # @@ -1861,8 +1861,8 @@ agents: label: NODES options: hosts: - # TAP001 Potential Starting Note | ST-PROJ-A-PRV-PC-1 - - hostname: ST-PROJ-A-PRV-PC-1 + # TAP001 Potential Starting Note | ST_PROJ-A-PRV-PC-1 + - hostname: ST_PROJ-A-PRV-PC-1 services: - service_name: ftp-client applications: @@ -1875,8 +1875,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-B-PRV-PC-2 - - hostname: ST-PROJ-B-PRV-PC-2 + # TAP001 Potential Starting Note | ST_PROJ-B-PRV-PC-2 + - hostname: ST_PROJ-B-PRV-PC-2 services: - service_name: ftp-client applications: @@ -1888,8 +1888,8 @@ agents: - folder_name: exfiltration_folder files: - file_name: database.db - # TAP001 Potential Starting Note | ST-PROJ-C-PRV-PC-3 - - hostname: ST-PROJ-C-PRV-PC-3 + # TAP001 Potential Starting Note | ST_PROJ-C-PRV-PC-3 + - hostname: ST_PROJ-C-PRV-PC-3 services: - service_name: ftp-client applications: @@ -1902,14 +1902,14 @@ agents: files: - file_name: database.db # ST DATA Server Database - - hostname: ST-DATA-PRV-SRV-DB + - hostname: ST_DATA-PRV-SRV-DB folders: - folder_name: database files: - file_name: database.db routers: - - hostname: ST-INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 - - hostname: ST-INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 + - hostname: ST_INTRA-PRV-RT-CR # TAP003 Malicious ACL Target | ROUTER0 + - hostname: ST_INTRA-PRV-RT-DR-1 # TAP003 Malicious ACL Target | ROUTER1 - hostname: REM-PUB-RT-DR # TAP003 Malicious ACL Target | ROUTER2 num_ports: 5 num_services: 2 @@ -1972,41 +1972,41 @@ agents: - REM-PUB-SW-AS:eth-3<->REM-PUB-PC-2:eth-1 # 11 - REM-PUB-SW-AS:eth-4<->REM-PUB-SRV:eth-1 # 12 # SOME_TECH DMZ - - ISP-PUB-RT-BR:eth-4<->ST-PUB-FW:eth-1 # 13 - - ST-PUB-FW:eth-3<->ST-DMZ-PUB-SRV-WEB:eth-1 # 14 + - ISP-PUB-RT-BR:eth-4<->ST_PUB-FW:eth-1 # 13 + - ST_PUB-FW:eth-3<->ST_DMZ-PUB-SRV-WEB:eth-1 # 14 # SOME_TECH Intranet - - ST-INTRA-PRV-RT-CR:eth-1<->ST-PUB-FW:eth-2 # 15 - - ST-INTRA-PRV-RT-CR:eth-2<->ST-INTRA-PRV-RT-DR-1:eth-1 # 16 - - ST-INTRA-PRV-RT-CR:eth-3<->ST-INTRA-PRV-RT-DR-2:eth-1 # 17 - - ST-INTRA-PRV-RT-CR:eth-4<->ST-DATA-PRV-SW-AS:eth-1 # 18 + - ST_INTRA-PRV-RT-CR:eth-1<->ST_PUB-FW:eth-2 # 15 + - ST_INTRA-PRV-RT-CR:eth-2<->ST_INTRA-PRV-RT-DR-1:eth-1 # 16 + - ST_INTRA-PRV-RT-CR:eth-3<->ST_INTRA-PRV-RT-DR-2:eth-1 # 17 + - ST_INTRA-PRV-RT-CR:eth-4<->ST_DATA-PRV-SW-AS:eth-1 # 18 # SOME_TECH Head Office - - ST-HO-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-2 # 19 - - ST-HO-PRV-SW-AS:eth-2<->ST-HO-PRV-PC-1:eth-1 # 20 - - ST-HO-PRV-SW-AS:eth-3<->ST-HO-PRV-PC-2:eth-1 # 21 - - ST-HO-PRV-SW-AS:eth-4<->ST-HO-PRV-PC-3:eth-1 # 22 + - ST_HO-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-2 # 19 + - ST_HO-PRV-SW-AS:eth-2<->ST_HO-PRV-PC-1:eth-1 # 20 + - ST_HO-PRV-SW-AS:eth-3<->ST_HO-PRV-PC-2:eth-1 # 21 + - ST_HO-PRV-SW-AS:eth-4<->ST_HO-PRV-PC-3:eth-1 # 22 # SOME_TECH Human Resources - - ST-HR-PRV-SW-AS:eth-1<->ST-INTRA-PRV-RT-DR-2:eth-3 # 23 - - ST-HR-PRV-SW-AS:eth-2<->ST-HR-PRV-PC-1:eth-1 # 24 - - ST-HR-PRV-SW-AS:eth-3<->ST-HR-PRV-PC-2:eth-1 # 25 - - ST-HR-PRV-SW-AS:eth-4<->ST-HR-PRV-PC-3:eth-1 # 26 + - ST_HR-PRV-SW-AS:eth-1<->ST_INTRA-PRV-RT-DR-2:eth-3 # 23 + - ST_HR-PRV-SW-AS:eth-2<->ST_HR-PRV-PC-1:eth-1 # 24 + - ST_HR-PRV-SW-AS:eth-3<->ST_HR-PRV-PC-2:eth-1 # 25 + - ST_HR-PRV-SW-AS:eth-4<->ST_HR-PRV-PC-3:eth-1 # 26 # SOME_TECH Data Links - - ST-DATA-PRV-SW-AS:eth-2<->ST-DATA-PRV-SRV-STORAGE:eth-1 # 27 - - ST-DATA-PRV-SW-AS:eth-3<->ST-DATA-PRV-SRV-DB:eth-1 # 28 + - ST_DATA-PRV-SW-AS:eth-2<->ST_DATA-PRV-SRV-STORAGE:eth-1 # 27 + - ST_DATA-PRV-SW-AS:eth-3<->ST_DATA-PRV-SRV-DB:eth-1 # 28 # SOME_TECH Project A Links - - ST-INTRA-PRV-RT-DR-1:eth-2<->ST-PROJ-A-PRV-SW-AS:eth-1 # 29 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-A-PRV-PC-1:eth-1 # 31 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-A-PRV-PC-2:eth-1 # 32 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-A-PRV-PC-3:eth-1 # 33 + - ST_INTRA-PRV-RT-DR-1:eth-2<->ST_PROJ-A-PRV-SW-AS:eth-1 # 29 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-A-PRV-PC-1:eth-1 # 31 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-A-PRV-PC-2:eth-1 # 32 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-A-PRV-PC-3:eth-1 # 33 # SOME_TECH Project B Links - - ST-INTRA-PRV-RT-DR-1:eth-3<->ST-PROJ-B-PRV-SW-AS:eth-1 # 34 - - ST-PROJ-B-PRV-SW-AS:eth2<->ST-PROJ-B-PRV-PC-1:eth-1 # 35 - - ST-PROJ-B-PRV-SW-AS:eth3<->ST-PROJ-B-PRV-PC-2:eth-1 # 36 - - ST-PROJ-B-PRV-SW-AS:eth4<->ST-PROJ-B-PRV-PC-3:eth-1 # 37 + - ST_INTRA-PRV-RT-DR-1:eth-3<->ST_PROJ-B-PRV-SW-AS:eth-1 # 34 + - ST_PROJ-B-PRV-SW-AS:eth2<->ST_PROJ-B-PRV-PC-1:eth-1 # 35 + - ST_PROJ-B-PRV-SW-AS:eth3<->ST_PROJ-B-PRV-PC-2:eth-1 # 36 + - ST_PROJ-B-PRV-SW-AS:eth4<->ST_PROJ-B-PRV-PC-3:eth-1 # 37 # SOME_TECH Project C Links - - ST-INTRA-PRV-RT-DR-1:eth-4<->ST-PROJ-C-PRV-SW-AS:eth-1 # 38 - - ST-PROJ-A-PRV-SW-AS:eth2<->ST-PROJ-C-PRV-PC-1:eth-1 # 39 - - ST-PROJ-A-PRV-SW-AS:eth3<->ST-PROJ-C-PRV-PC-2:eth-1 # 40 - - ST-PROJ-A-PRV-SW-AS:eth4<->ST-PROJ-C-PRV-PC-3:eth-1 # 41 + - ST_INTRA-PRV-RT-DR-1:eth-4<->ST_PROJ-C-PRV-SW-AS:eth-1 # 38 + - ST_PROJ-A-PRV-SW-AS:eth2<->ST_PROJ-C-PRV-PC-1:eth-1 # 39 + - ST_PROJ-A-PRV-SW-AS:eth3<->ST_PROJ-C-PRV-PC-2:eth-1 # 40 + - ST_PROJ-A-PRV-SW-AS:eth4<->ST_PROJ-C-PRV-PC-3:eth-1 # 41 action_space: action_map: 0: @@ -2014,402 +2014,402 @@ agents: options: {} # |======================================| - # | ST-PROJ-A-PRV-PC-1 | + # | ST_PROJ-A-PRV-PC-1 | # |======================================| - # ST-PROJ-A-PRV-PC-1 | node-os-scan + # ST_PROJ-A-PRV-PC-1 | node-os-scan 1: action: node-os-scan options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-shutdown + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-shutdown 2: action: node-shutdown options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-startup + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-startup 3: action: node-startup options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | node-reset + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | node-reset 4: action: node-reset options: - node_name: ST-PROJ-A-PRV-PC-1 - # ST-PROJ-A-PRV-PC-1 | host-nic-disable + node_name: ST_PROJ-A-PRV-PC-1 + # ST_PROJ-A-PRV-PC-1 | host-nic-disable 5: action: host-nic-disable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | host-nic-enable + # ST_PROJ-A-PRV-PC-1 | host-nic-enable 6: action: host-nic-enable options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 nic_num: 0 - # ST-PROJ-A-PRV-PC-1 | node-application-close | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-close | database-client 7: action: node-application-close options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-scan | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-scan | database-client 8: action: node-application-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-fix | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-fix | database-client 9: action: node-application-fix options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-application-remove | database-client + # ST_PROJ-A-PRV-PC-1 | node-application-remove | database-client 10: action: node-application-remove options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 application_name: database-client - # ST-PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-A-PRV-PC-1 | node-file-scan | downloads/malware_dropper.ps1 11: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-A-PRV-PC-1 | node-file-scan | exfiltration_folder/database.db 12: action: node-file-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | downloads/ 13: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: downloads - # ST-PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-A-PRV-PC-1 | node-folder-scan | exfiltration_folder/ 14: action: node-folder-scan options: - node_name: ST-PROJ-A-PRV-PC-1 + node_name: ST_PROJ-A-PRV-PC-1 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-B-PRV-PC-2 | + # | ST_PROJ-B-PRV-PC-2 | # |======================================| - # ST-PROJ-B-PRV-PC-2 | node-os-scan + # ST_PROJ-B-PRV-PC-2 | node-os-scan 15: action: node-os-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-shutdown + # ST_PROJ-B-PRV-PC-2 | node-shutdown 16: action: node-shutdown options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-startup + # ST_PROJ-B-PRV-PC-2 | node-startup 17: action: node-startup options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | node-reset + # ST_PROJ-B-PRV-PC-2 | node-reset 18: action: node-reset options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 - # ST-PROJ-B-PRV-PC-2 | host-nic-disable + # ST_PROJ-B-PRV-PC-2 | host-nic-disable 19: action: host-nic-disable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | host-nic-enable + # ST_PROJ-B-PRV-PC-2 | host-nic-enable 20: action: host-nic-enable options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 nic_num: 0 - # ST-PROJ-B-PRV-PC-2 | node-application-close | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-close | database-client 21: action: node-application-close options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-scan | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-scan | database-client 22: action: node-application-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-fix | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-fix | database-client 23: action: node-application-fix options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-application-remove | database-client + # ST_PROJ-B-PRV-PC-2 | node-application-remove | database-client 24: action: node-application-remove options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 application_name: database-client - # ST-PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-B-PRV-PC-2 | node-file-scan | downloads/malware_dropper.ps1 25: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-B-PRV-PC-2 | node-file-scan | exfiltration_folder/database.db 26: action: node-file-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | downloads/ 27: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: downloads - # ST-PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-B-PRV-PC-2 | node-folder-scan | exfiltration_folder/ 28: action: node-folder-scan options: - node_name: ST-PROJ-B-PRV-PC-2 + node_name: ST_PROJ-B-PRV-PC-2 folder_name: exfiltration_folder # |======================================| - # | ST-PROJ-C-PRV-PC-3 | + # | ST_PROJ-C-PRV-PC-3 | # |======================================| - # ST-PROJ-C-PRV-PC-3 | node-os-scan + # ST_PROJ-C-PRV-PC-3 | node-os-scan 29: action: node-os-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-shutdown + # ST_PROJ-C-PRV-PC-3 | node-shutdown 30: action: node-shutdown options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-startup + # ST_PROJ-C-PRV-PC-3 | node-startup 31: action: node-startup options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | node-reset + # ST_PROJ-C-PRV-PC-3 | node-reset 32: action: node-reset options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 - # ST-PROJ-C-PRV-PC-3 | host-nic-disable + # ST_PROJ-C-PRV-PC-3 | host-nic-disable 33: action: host-nic-disable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | host-nic-enable + # ST_PROJ-C-PRV-PC-3 | host-nic-enable 34: action: host-nic-enable options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 nic_num: 0 - # ST-PROJ-C-PRV-PC-3 | node-application-close | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-close | database-client 35: action: node-application-close options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-scan | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-scan | database-client 36: action: node-application-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-fix | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-fix | database-client 37: action: node-application-fix options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-application-remove | database-client + # ST_PROJ-C-PRV-PC-3 | node-application-remove | database-client 38: action: node-application-remove options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 application_name: database-client - # ST-PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 + # ST_PROJ-C-PRV-PC-3 | node-file-scan | downloads/malware_dropper.ps1 39: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads file_name: malware_dropper.ps1 - # ST-PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db + # ST_PROJ-C-PRV-PC-3 | node-file-scan | exfiltration_folder/database.db 40: action: node-file-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder file_name: database.db - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | downloads/ 41: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: downloads - # ST-PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ + # ST_PROJ-C-PRV-PC-3 | node-folder-scan | exfiltration_folder/ 42: action: node-folder-scan options: - node_name: ST-PROJ-C-PRV-PC-3 + node_name: ST_PROJ-C-PRV-PC-3 folder_name: exfiltration_folder # |======================================| - # | ST-INTRA-PRV-RT-CR | + # | ST_INTRA-PRV-RT-CR | # |======================================| - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST-PROJ-A-PRV-PC-1 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P2: ST_PROJ-A-PRV-PC-1 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 43: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 1 44: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 1 - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST-PROJ-B-PRV-PC-2 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P3: ST_PROJ-B-PRV-PC-2 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 45: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 permission: DENY - src_ip: 192.168.240.3 # (ST-PROJ-B-PRV-PC-2) + src_ip: 192.168.240.3 # (ST_PROJ-B-PRV-PC-2) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 2 46: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 2 - # ST-INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST-PROJ-C-PRV-PC-3 !==> ST-DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) + # ST_INTRA-PRV-RT-CR | router-acl-add-rule | P4: ST_PROJ-C-PRV-PC-3 !==> ST_DATA-PRV-SRV-DB (TCP:POSTGRES_SERVER) 47: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 permission: DENY - src_ip: 192.168.250.4 # (ST-PROJ-C-PRV-PC-3) + src_ip: 192.168.250.4 # (ST_PROJ-C-PRV-PC-3) src_wildcard: 0.0.255.255 src_port: POSTGRES_SERVER - dst_ip: 192.168.220.3 # (ST-DATA-PRV-SRV-DB) + dst_ip: 192.168.220.3 # (ST_DATA-PRV-SRV-DB) dst_wildcard: 0.0.255.255 dst_port: POSTGRES_SERVER protocol_name: TCP - # ST-INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 + # ST_INTRA-PRV-RT-CR | REMOVE_ACL_ADDRULE | Removes a given ACL at position 3 48: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-CR + target_router: ST_INTRA-PRV-RT-CR position: 3 # |======================================| - # | ST-DATA-PRV-SRV-DB | + # | ST_DATA-PRV-SRV-DB | # |======================================| - # ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) + # ST_DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status) 49: action: node-file-scan options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db - # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account + # ST_DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account 50: action: node-account-change-password options: - node_name: ST-DATA-PRV-SRV-DB + node_name: ST_DATA-PRV-SRV-DB username: admin # default account current_password: admin # default password new_password: thr33_alert_wolv3z # A more 'secure' password # |======================================| - # | ST-INTRA-PRV-RT-DR-1 | + # | ST_INTRA-PRV-RT-DR-1 | # |======================================| - # ST-INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST-INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) + # ST_INTRA-PRV-RT-DR-1 | router-acl-add-rule | P1: ST_INTRA-PRV-RT-DR-1 !==> ANY (TCP:SSH) 51: action: router-acl-add-rule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 permission: DENY - src_ip: 192.168.230.2 # (ST-PROJ-A-PRV-PC-1) + src_ip: 192.168.230.2 # (ST_PROJ-A-PRV-PC-1) src_wildcard: 0.0.255.255 src_port: SSH dst_ip: ALL @@ -2417,20 +2417,20 @@ agents: dst_port: SSH protocol_name: TCP - # ST-INTRA-PRV-RT-DR-1 | node-account-change-password + # ST_INTRA-PRV-RT-DR-1 | node-account-change-password 52: action: node-account-change-password options: - node_name: ST-INTRA-PRV-RT-DR-1 + node_name: ST_INTRA-PRV-RT-DR-1 username: admin current_password: admin new_password: secure_password - # ST-INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 + # ST_INTRA-PRV-RT-DR-1 | router-acl-remove-rule | Removes the given ACL at position 1 53: action: router-acl-remove-rule options: - target_router: ST-INTRA-PRV-RT-DR-1 + target_router: ST_INTRA-PRV-RT-DR-1 position: 1 # |======================================| @@ -2458,7 +2458,7 @@ agents: - type: database-file-integrity weight: *HIGH_WEIGHT_IMPACT options: - node_hostname: ST-DATA-PRV-SRV-DB + node_hostname: ST_DATA-PRV-SRV-DB folder_name: database file_name: database.db @@ -2679,7 +2679,7 @@ agents: # # UC7 Network Wide System Pattern Of Life # # ========================================== # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # # 3. All DNS Clients perform periodic DNS Server transactions. # # TODO: NTPClient Node Service Start doesn't start a 'Request' @@ -2734,50 +2734,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -2850,34 +2850,34 @@ agents: # services: # - service_name: NTPClient # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: NTPClient # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: NTPClient # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: NTPClient - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: NTPClient # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: NTPClient - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: NTPClient # # ====== ST Project A ======= @@ -2926,7 +2926,7 @@ agents: # reward_components: # - type: DUMMY - # # 2. Periodic Database (ST-DATA-PRV-SRV-DB) FTP backups (ST-DATA-PRV-SRV-STORAGE) + # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) # - ref: SYSTEM-FTP # team: GREEN @@ -2947,7 +2947,7 @@ agents: # service_id: 0 # options: # nodes: - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # applications: # - application_name: database-client # ip_list: @@ -3017,50 +3017,50 @@ agents: # 7: # action: NODE_SERVICE_START # options: - # node_id: 6 # ST-DMZ-PUB-SRV-WEB + # node_id: 6 # ST_DMZ-PUB-SRV-WEB # service_id: 0 # # ====== ST Head Office ======= # 8: # action: NODE_SERVICE_START # options: - # node_id: 7 # ST-HO-PRV-PC-1 + # node_id: 7 # ST_HO-PRV-PC-1 # service_id: 0 # 9: # action: NODE_SERVICE_START # options: - # node_id: 8 # ST-HO-PRV-PC-2 + # node_id: 8 # ST_HO-PRV-PC-2 # service_id: 0 # 10: # action: NODE_SERVICE_START # options: - # node_id: 9 # ST-HO-PRV-PC-3 + # node_id: 9 # ST_HO-PRV-PC-3 # service_id: 0 # # ====== ST Human Resources ======= # 11: # action: NODE_SERVICE_START # options: - # node_id: 10 # ST-HR-PRV-PC-1 + # node_id: 10 # ST_HR-PRV-PC-1 # service_id: 0 # 12: # action: NODE_SERVICE_START # options: - # node_id: 11 # ST-HR-PRV-PC-2 + # node_id: 11 # ST_HR-PRV-PC-2 # service_id: 0 # 13: # action: NODE_SERVICE_START # options: - # node_id: 12 # ST-HR-PRV-PC-3 + # node_id: 12 # ST_HR-PRV-PC-3 # service_id: 0 # # ====== ST DATA Servers ======= # 14: # action: NODE_SERVICE_START # options: - # node_id: 13 # ST-DATA-PRV-SRV-STORAGE + # node_id: 13 # ST_DATA-PRV-SRV-STORAGE # service_id: 0 # 15: # action: NODE_SERVICE_START # options: - # node_id: 14 # ST-DATA-PRV-SRV-DB + # node_id: 14 # ST_DATA-PRV-SRV-DB # service_id: 0 # # ====== ST Project A ======= # 16: @@ -3133,34 +3133,34 @@ agents: # services: # - service_name: dns-client # # ====== ST Public DMZ ======= - # - node_name: ST-DMZ-PUB-SRV-WEB + # - node_name: ST_DMZ-PUB-SRV-WEB # services: # - service_name: dns-client # # ====== ST Head Office ======= - # - node_name: ST-HO-PRV-PC-1 + # - node_name: ST_HO-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-2 + # - node_name: ST_HO-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HO-PRV-PC-3 + # - node_name: ST_HO-PRV-PC-3 # services: # - service_name: dns-client # # ===== ST Human Resources ====== - # - node_name: ST-HR-PRV-PC-1 + # - node_name: ST_HR-PRV-PC-1 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-2 + # - node_name: ST_HR-PRV-PC-2 # services: # - service_name: dns-client - # - node_name: ST-HR-PRV-PC-3 + # - node_name: ST_HR-PRV-PC-3 # services: # - service_name: dns-client # # ====== ST DATA Servers ======= - # - node_name: ST-DATA-PRV-SRV-STORAGE + # - node_name: ST_DATA-PRV-SRV-STORAGE # services: # - service_name: dns-client - # - node_name: ST-DATA-PRV-SRV-DB + # - node_name: ST_DATA-PRV-SRV-DB # services: # - service_name: dns-client # # ====== ST Project A ======= diff --git a/src/primaite/notebooks/UC7-E2E-Demo.ipynb b/src/primaite/notebooks/UC7-E2E-Demo.ipynb index 87f715e7..3ed8a281 100644 --- a/src/primaite/notebooks/UC7-E2E-Demo.ipynb +++ b/src/primaite/notebooks/UC7-E2E-Demo.ipynb @@ -269,7 +269,7 @@ "outputs": [], "source": [ "# ST DMZ Public Firewall (Permits all traffic by default)\n", - "st_pub_fw: Firewall = uc7_network.get_node_by_hostname(hostname=\"ST-PUB-FW\")\n", + "st_pub_fw: Firewall = uc7_network.get_node_by_hostname(hostname=\"ST_PUB-FW\")\n", "st_pub_fw.show_nic()" ] }, @@ -280,7 +280,7 @@ "outputs": [], "source": [ "# ST DMZ Public web-server\n", - "st_dmz_pub_srv_web: Server = uc7_network.get_node_by_hostname(hostname=\"ST-DMZ-PUB-SRV-WEB\")\n", + "st_dmz_pub_srv_web: Server = uc7_network.get_node_by_hostname(hostname=\"ST_DMZ-PUB-SRV-WEB\")\n", "st_dmz_pub_srv_web.software_manager.show()" ] }, @@ -301,9 +301,9 @@ "| `ST_PROJ_B` | Development Network |\n", "| `ST_PROJ_C` | Development Network |\n", "\n", - "In order for hosts to communicate between each network and the wider internet, the main site utilises three routers' `ST-INTRA-PRV-RT-DR-1`, `ST-INTRA-PRV-RT-DR-2` and `ST-INTRA-PRV-RT-CR`.\n", + "In order for hosts to communicate between each network and the wider internet, the main site utilises three routers' `ST_INTRA-PRV-RT-DR-1`, `ST_INTRA-PRV-RT-DR-2` and `ST_INTRA-PRV-RT-CR`.\n", "\n", - "The `ST-INTRA-PRV-RT-DR-1` router is responsible for routing all traffic from the `ST_PROJ_A`/`B`/`C` networks whereas the `ST-INTRA-PRV-RT-DR-2` router routes all traffic from the `ST_HO`/`HR` networks. Both of which then forward all traffic to the main `ST-INTRA-PRV-RT-CR` router. \n", + "The `ST_INTRA-PRV-RT-DR-1` router is responsible for routing all traffic from the `ST_PROJ_A`/`B`/`C` networks whereas the `ST_INTRA-PRV-RT-DR-2` router routes all traffic from the `ST_HO`/`HR` networks. Both of which then forward all traffic to the main `ST_INTRA-PRV-RT-CR` router. \n", "\n", "This central router connects to the `ST_DMZ` firewall (`ST-PUB-FW`) as well as any traffic that is headed to the `ST_DATA` (the ST database and database storage) network.\n" ] @@ -314,7 +314,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_cr: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr: Router = uc7_network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-CR\")\n", "st_intra_prv_rt_cr.route_table.show()" ] }, @@ -324,7 +324,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_dr_1: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-1\")" + "st_intra_prv_rt_dr_1: Router = uc7_network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-DR-1\")" ] }, { @@ -333,7 +333,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_dr_2: Router = uc7_network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-2\")" + "st_intra_prv_rt_dr_2: Router = uc7_network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-DR-2\")" ] }, { @@ -351,7 +351,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_head_office_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", + "st_head_office_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST_HO-PRV-PC-1\")\n", "st_head_office_private_pc_1.software_manager.show()" ] }, @@ -370,7 +370,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_human_resources_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST-HR-PRV-PC-2\")\n", + "st_human_resources_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST_HR-PRV-PC-2\")\n", "st_human_resources_private_pc_2.software_manager.show()" ] }, @@ -384,8 +384,8 @@ "\n", "| Server | Purpose |\n", "|--------|---------|\n", - "| `ST-DATA-PRV-SRV-DB` | Hosts the `database-service` that all `database-client` are configured to use. | \n", - "| `ST-DATA-PRV-SRV-STORAGE`| Acts as a storage server for the `ST-DATA-PRV-SRV-DB`. |" + "| `ST_DATA-PRV-SRV-DB` | Hosts the `database-service` that all `database-client` are configured to use. | \n", + "| `ST_DATA-PRV-SRV-STORAGE`| Acts as a storage server for the `ST_DATA-PRV-SRV-DB`. |" ] }, { @@ -394,7 +394,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_data_private_server_database: Server = uc7_network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database: Server = uc7_network.get_node_by_hostname(\"ST_DATA-PRV-SRV-DB\")\n", "st_data_private_server_database_service: DatabaseService = st_data_private_server_database.software_manager.software[\"database-service\"]\n", "st_data_private_server_database.software_manager.show()\n", "st_data_private_server_database.software_manager.file_system.show(full=True)\n", @@ -407,7 +407,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_data_private_server_storage: Server = uc7_network.get_node_by_hostname(\"ST-DATA-PRV-SRV-STORAGE\")\n", + "st_data_private_server_storage: Server = uc7_network.get_node_by_hostname(\"ST_DATA-PRV-SRV-STORAGE\")\n", "st_data_private_server_storage.software_manager.show()" ] }, @@ -426,7 +426,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_a_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1: Computer = uc7_network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-1\")\n", "st_project_a_private_pc_1.software_manager.show()" ] }, @@ -443,7 +443,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_b_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-2\")\n", + "st_project_b_private_pc_2: Computer = uc7_network.get_node_by_hostname(\"ST_PROJ-B-PRV-PC-2\")\n", "st_project_b_private_pc_2.software_manager.show()" ] }, @@ -460,7 +460,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_c_private_pc_3: Computer = uc7_network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-3\")\n", + "st_project_c_private_pc_3: Computer = uc7_network.get_node_by_hostname(\"ST_PROJ-C-PRV-PC-3\")\n", "st_project_c_private_pc_3.software_manager.show()" ] }, @@ -489,14 +489,14 @@ "| `REMOTE SITE` |`REM-PUB-PC-1`| `database-client`| *Periodic* | |**12** |**1** |**4** |**1** |**MEDIUM** |\n", "| `REMOTE SITE` |`REM-PUB-PC-2`| `database-client`| *Periodic* | |**16** |**1** |**4** |**1** |**MEDIUM** |\n", "| `REMOTE SITE` |`REM-PUB-PC-1`/`2`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", - "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-1`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**HIGH** |\n", - "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-1`| `web-browser` | *Probabilistic* |**40%** | | | | |**LOW** |\n", - "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-2`/`3`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**MEDIUM** |\n", - "| `ST PROJECT A`/`B`/`C` |`ST-PROJ-*-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST_PROJ-*-PRV-PC-1`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**HIGH** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST_PROJ-*-PRV-PC-1`| `web-browser` | *Probabilistic* |**40%** | | | | |**LOW** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST_PROJ-*-PRV-PC-2`/`3`| `database-client`| *Periodic* | |**1** |**1** |**4** |**1** |**MEDIUM** |\n", + "| `ST PROJECT A`/`B`/`C` |`ST_PROJ-*-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**20%** | | | | |**LOW** |\n", "| `ST HEAD OFFICE` |`ST-HO-PRV-PC-1`| `web-browser` | *Probabilistic* |**60%** | | | | |**HIGH** |\n", "| `ST HEAD OFFICE` |`ST-HO-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**60%** | | | | |**MEDIUM** |\n", - "| `ST HUMAN RESOURCES` |`ST-HR-PRV-PC-1`| `web-browser` | *Probabilistic* |**60%** | | | | |**MEDIUM** |\n", - "| `ST HUMAN RESOURCES` |`ST-HR-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**60%** | | | | |**LOW** |\n", + "| `ST HUMAN RESOURCES` |`ST_HR-PRV-PC-1`| `web-browser` | *Probabilistic* |**60%** | | | | |**MEDIUM** |\n", + "| `ST HUMAN RESOURCES` |`ST_HR-PRV-PC-2`/`3`| `web-browser` | *Probabilistic* |**60%** | | | | |**LOW** |\n", "\n", "\n", "For the full details on each green agent then please click on the drop-down menu below:\n", @@ -547,7 +547,7 @@ "source": [ "#### AGENTS | Green *PoL* | database-client Agents Demo\n", "\n", - "The `database-client` green agents will attempt to use their host's `database-client` application to make a simple connection to the `database-service` on the `ST-DATA-PRV-SRV-DB` host (these connections have no direct impact to the `database-service` or the `database.db` file itself).\n", + "The `database-client` green agents will attempt to use their host's `database-client` application to make a simple connection to the `database-service` on the `ST_DATA-PRV-SRV-DB` host (these connections have no direct impact to the `database-service` or the `database.db` file itself).\n", "\n", "Additionally, `database-client` green agents are *Periodic* meaning they will attempt to use the database based on game time-steps. Specifically, these agents will begin on the time-step given in their `start step` setting and will then will reattempt on each subsequence timestep based on the `Frequency` setting. These settings are then randomised using the remaining `Start Variance` and `Variance` options (also given in timesteps). These values are used to *±* their respective base settings to ensure the green agents achieve a moderate amount of domain randomisation in each PrimAITE episode.\n", "\n", @@ -632,7 +632,7 @@ "source": [ "### AGENTS | RED AGENT | Threat Actor Profile 001 (TAP001)\n", "\n", - "This TAP aims to exfiltrate and then encrypt the `database.db` file on `ST-DATA-PRV-SRV-DB` host, whilst leaving the functionality of the database intact. Configured by default to start on the `ST-PROJ-A-PRV-PC-1` host, `TAP001` must first embed itself on the host, locate the target (`ST-DATA-PRV-SRV-DB`) through a series of NMAP scans, establish a connection to it's `C2Server` (`ISP-PUB-SRV-DNS` by default) and then finally attempt to exfiltrate and encrypt. \n", + "This TAP aims to exfiltrate and then encrypt the `database.db` file on `ST_DATA-PRV-SRV-DB` host, whilst leaving the functionality of the database intact. Configured by default to start on the `ST_PROJ-A-PRV-PC-1` host, `TAP001` must first embed itself on the host, locate the target (`ST_DATA-PRV-SRV-DB`) through a series of NMAP scans, establish a connection to it's `C2Server` (`ISP-PUB-SRV-DNS` by default) and then finally attempt to exfiltrate and encrypt. \n", "\n", "If successful, the blue agent is configured to receive a serve negative reward and thus must prevent `TAP001` from ever reaching the target database. This could be through blocking it's connection to the target or it's `C2Server` via a carefully crafted ACL or perhaps through more a forceful approach such as shutting down the starting host.\n", "\n", @@ -661,7 +661,7 @@ "outputs": [], "source": [ "# TAP001 starting host\n", - "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-1\")\n", "st_project_a_private_pc_1.software_manager.show()" ] }, @@ -683,7 +683,7 @@ "outputs": [], "source": [ "# Database Impact \n", - "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(hostname=\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(hostname=\"ST_DATA-PRV-SRV-DB\")\n", "st_data_private_server_database.file_system.show(full=True)" ] }, @@ -699,8 +699,8 @@ "\n", "|Target Router | Impact |\n", "|----------------------|--------|\n", - "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", - "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the web-server (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`ST_INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST_INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST_DATA-PRV-SRV-DB`).|\n", + "|`ST_INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST_INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the web-server (`ST-DMZ-PUB-SRV-WEB`)|\n", "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|\n", "\n", "Lastly, it's highly recommended that users refer to the [TAP003 E2E notebook](./UC7-TAP003-Kill-Chain-E2E.ipynb) for further information or for the [UC7 attack variants notebook](./UC7-attack-variants.ipynb) demonstration of TAP003 defence." @@ -743,7 +743,7 @@ "metadata": {}, "outputs": [], "source": [ - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()" + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\").acl.show()" ] }, { @@ -752,7 +752,7 @@ "metadata": {}, "outputs": [], "source": [ - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()" + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\").acl.show()" ] }, { @@ -861,34 +861,34 @@ "|10|REM-PUB-SW-AS:eth-2|REM-PUB-PC-1:eth-1 |\n", "|11|REM-PUB-SW-AS:eth-3|REM-PUB-PC-2:eth-1 | \n", "|12|REM-PUB-SW-AS:eth-4|REM-PUB-SRV:eth-1 |\n", - "|13|ISP-PUB-RT-BR:eth-4|ST-PUB-FW:eth-1 |\n", - "|14|ST-PUB-FW:eth-3|ST-DMZ-PUB-SRV-WEB:eth-1 |\n", - "|15|ST-INTRA-PRV-RT-CR:eth-1|ST-PUB-FW:eth-2 |\n", - "|16|ST-INTRA-PRV-RT-CR:eth-2|ST-INTRA-PRV-RT-DR-1:eth-1 |\n", - "|17|ST-INTRA-PRV-RT-CR:eth-3|ST-INTRA-PRV-RT-DR-2:eth-1 | \n", - "|18|ST-INTRA-PRV-RT-CR:eth-4|ST-DATA-PRV-SW-AS:eth-1 |\n", - "|19|ST-HO-PRV-SW-AS:eth-1|ST-INTRA-PRV-RT-DR-2:eth-2 |\n", - "|20|ST-HO-PRV-SW-AS:eth-2|ST-HO-PRV-PC-1:eth-1 |\n", - "|21|ST-HO-PRV-SW-AS:eth-3|ST-HO-PRV-PC-2:eth-1 |\n", - "|22|ST-HO-PRV-SW-AS:eth-4|ST-HO-PRV-PC-3:eth-1 |\n", - "|23|ST-HR-PRV-SW-AS:eth-1|ST-INTRA-PRV-RT-DR-2:eth-3 |\n", - "|24|ST-HR-PRV-SW-AS:eth-2|ST-HR-PRV-PC-1:eth-1 |\n", - "|25|ST-HR-PRV-SW-AS:eth-3|ST-HR-PRV-PC-2:eth-1 |\n", - "|26|ST-HR-PRV-SW-AS:eth-4|ST-HR-PRV-PC-3:eth-1 |\n", - "|27|ST-DATA-PRV-SW-AS:eth-2|ST-DATA-PRV-SRV-STORAGE:eth-1 |\n", - "|28|ST-DATA-PRV-SW-AS:eth-3|ST-DATA-PRV-SRV-DB:eth-1 | \n", - "|29|ST-INTRA-PRV-RT-DR-1:eth-2|ST-PROJ-A-PRV-SW-AS:eth-1 |\n", - "|30|ST-PROJ-A-PRV-SW-AS:eth2|ST-PROJ-A-PRV-PC-1:eth-1|\n", - "|31|ST-PROJ-A-PRV-SW-AS:eth3|ST-PROJ-A-PRV-PC-2:eth-1 |\n", - "|32|ST-PROJ-A-PRV-SW-AS:eth4|ST-PROJ-A-PRV-PC-3:eth-1 | \n", - "|33|ST-INTRA-PRV-RT-DR-1:eth-3|ST-PROJ-B-PRV-SW-AS:eth-1 |\n", - "|34|ST-PROJ-B-PRV-SW-AS:eth2|ST-PROJ-B-PRV-PC-1:eth-1 |\n", - "|35|ST-PROJ-B-PRV-SW-AS:eth3|ST-PROJ-B-PRV-PC-2:eth-1 |\n", - "|36|ST-PROJ-B-PRV-SW-AS:eth4|ST-PROJ-B-PRV-PC-3:eth-1 | \n", - "|37|ST-INTRA-PRV-RT-DR-1:eth-4|ST-PROJ-C-PRV-SW-AS:eth-1 |\n", - "|38|ST-PROJ-A-PRV-SW-AS:eth2|ST-PROJ-C-PRV-PC-1:eth-1 |\n", - "|39|ST-PROJ-A-PRV-SW-AS:eth3|ST-PROJ-C-PRV-PC-2:eth-1 |\n", - "|40|ST-PROJ-A-PRV-SW-AS:eth4|ST-PROJ-C-PRV-PC-3:eth-1 |\n", + "|13|ISP-PUB-RT-BR:eth-4|ST_PUB-FW:eth-1 |\n", + "|14|ST_PUB-FW:eth-3|ST_DMZ-PUB-SRV-WEB:eth-1 |\n", + "|15|ST_INTRA-PRV-RT-CR:eth-1|ST_PUB-FW:eth-2 |\n", + "|16|ST_INTRA-PRV-RT-CR:eth-2|ST_INTRA-PRV-RT-DR-1:eth-1 |\n", + "|17|ST_INTRA-PRV-RT-CR:eth-3|ST_INTRA-PRV-RT-DR-2:eth-1 | \n", + "|18|ST_INTRA-PRV-RT-CR:eth-4|ST_DATA-PRV-SW-AS:eth-1 |\n", + "|19|ST_HO-PRV-SW-AS:eth-1|ST_INTRA-PRV-RT-DR-2:eth-2 |\n", + "|20|ST_HO-PRV-SW-AS:eth-2|ST_HO-PRV-PC-1:eth-1 |\n", + "|21|ST_HO-PRV-SW-AS:eth-3|ST_HO-PRV-PC-2:eth-1 |\n", + "|22|ST_HO-PRV-SW-AS:eth-4|ST_HO-PRV-PC-3:eth-1 |\n", + "|23|ST_HR-PRV-SW-AS:eth-1|ST_INTRA-PRV-RT-DR-2:eth-3 |\n", + "|24|ST_HR-PRV-SW-AS:eth-2|ST_HR-PRV-PC-1:eth-1 |\n", + "|25|ST_HR-PRV-SW-AS:eth-3|ST_HR-PRV-PC-2:eth-1 |\n", + "|26|ST_HR-PRV-SW-AS:eth-4|ST_HR-PRV-PC-3:eth-1 |\n", + "|27|ST_DATA-PRV-SW-AS:eth-2|ST_DATA-PRV-SRV-STORAGE:eth-1 |\n", + "|28|ST_DATA-PRV-SW-AS:eth-3|ST_DATA-PRV-SRV-DB:eth-1 | \n", + "|29|ST_INTRA-PRV-RT-DR-1:eth-2|ST_PROJ-A-PRV-SW-AS:eth-1 |\n", + "|30|ST_PROJ-A-PRV-SW-AS:eth2|ST_PROJ-A-PRV-PC-1:eth-1|\n", + "|31|ST_PROJ-A-PRV-SW-AS:eth3|ST_PROJ-A-PRV-PC-2:eth-1 |\n", + "|32|ST_PROJ-A-PRV-SW-AS:eth4|ST_PROJ-A-PRV-PC-3:eth-1 | \n", + "|33|ST_INTRA-PRV-RT-DR-1:eth-3|ST_PROJ-B-PRV-SW-AS:eth-1 |\n", + "|34|ST_PROJ-B-PRV-SW-AS:eth2|ST_PROJ-B-PRV-PC-1:eth-1 |\n", + "|35|ST_PROJ-B-PRV-SW-AS:eth3|ST_PROJ-B-PRV-PC-2:eth-1 |\n", + "|36|ST_PROJ-B-PRV-SW-AS:eth4|ST_PROJ-B-PRV-PC-3:eth-1 | \n", + "|37|ST_INTRA-PRV-RT-DR-1:eth-4|ST_PROJ-C-PRV-SW-AS:eth-1 |\n", + "|38|ST_PROJ-A-PRV-SW-AS:eth2|ST_PROJ-C-PRV-PC-1:eth-1 |\n", + "|39|ST_PROJ-A-PRV-SW-AS:eth3|ST_PROJ-C-PRV-PC-2:eth-1 |\n", + "|40|ST_PROJ-A-PRV-SW-AS:eth4|ST_PROJ-C-PRV-PC-3:eth-1 |\n", "\n", "" ] @@ -923,10 +923,10 @@ "\n", "|Host label|hostname| services | applications | folders | files |\n", "|:--:|:--:|:--:|:--:|:--:|:--:|\n", - "|HOST1|ST-PROJ-A-PRV-PC-1 | ftp-client | ransomware_script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", - "|HOST2|ST-PROJ-B-PRV-PC-2| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", - "|HOST3|ST-PROJ-C-PRV-PC-3| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", - "|HOST4|ST-DATA-PRV-SRV-DB||| database | database.db|\n", + "|HOST1|ST_PROJ-A-PRV-PC-1 | ftp-client | ransomware_script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST2|ST_PROJ-B-PRV-PC-2| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST3|ST_PROJ-C-PRV-PC-3| ftp-client | ransomware-script, database-client | downloads, exfiltration_folder | malware_dropper.ps1, database.db |\n", + "|HOST4|ST_DATA-PRV-SRV-DB||| database | database.db|\n", "\n", "\n", "Each `time_step` these hosts report the following to the blue agent:\n", @@ -1109,8 +1109,8 @@ "\n", "by default, the UC7 agent is configured to observe `3` different routers:\n", "\n", - "- `ST-INTRA-PRV-RT-CR`\n", - "- `ST-INTRA-PRV-RT-DR-1`\n", + "- `ST_INTRA-PRV-RT-CR`\n", + "- `ST_INTRA-PRV-RT-DR-1`\n", "- `REM-PUB-RT-DR`\n" ] }, @@ -1152,14 +1152,14 @@ "|6|192.168.20.3 | REM-PUB-PC-2 |\n", "|7|192.168.20.4 | REM-PUB-SRV |\n", "|8|192.168.100.2| ST_PUB_SRV_WEB_IP |\n", - "|9|192.168.200.2 | ST-HO-PRV-PC-1 |\n", - "|10|192.168.200.3 | ST-HO-PRV-PC-2 |\n", - "|11|192.168.200.4 | ST-HO-PRV-PC-3 |\n", - "|12|192.168.210.2 | ST-HR-PRV-PC-1 |\n", - "|13|192.168.210.3 | ST-HR-PRV-PC-2 |\n", - "|14|192.168.210.4 | ST-HR-PRV-PC-3 |\n", - "|15|192.168.220.2 | ST-DATA-PRV-SRV-STORAGE | \n", - "|16|192.168.220.3 | ST-DATA-PRV-SRV-DB |\n", + "|9|192.168.200.2 | ST_HO-PRV-PC-1 |\n", + "|10|192.168.200.3 | ST_HO-PRV-PC-2 |\n", + "|11|192.168.200.4 | ST_HO-PRV-PC-3 |\n", + "|12|192.168.210.2 | ST_HR-PRV-PC-1 |\n", + "|13|192.168.210.3 | ST_HR-PRV-PC-2 |\n", + "|14|192.168.210.4 | ST_HR-PRV-PC-3 |\n", + "|15|192.168.220.2 | ST_DATA-PRV-SRV-STORAGE | \n", + "|16|192.168.220.3 | ST_DATA-PRV-SRV-DB |\n", "|17|192.168.230.2 | PROJ-A-PRV-PC-1 |\n", "|18|192.168.230.3 | PROJ-A-PRV-PC-2 |\n", "|19|192.168.230.4 | PROJ-A-PRV-PC-3 |\n", @@ -1261,24 +1261,24 @@ " options: {}\n", "\n", " # |======================================|\n", - " # | ST-PROJ-A-PRV-PC-1 |\n", + " # | ST_PROJ-A-PRV-PC-1 |\n", " # |======================================|\n", "\n", - " # ST-PROJ-A-PRV-PC-1 | node-os-scan\n", + " # ST_PROJ-A-PRV-PC-1 | node-os-scan\n", " 1:\n", " action: node-os-scan\n", " options:\n", - " node_name: ST-PROJ-A-PRV-PC-1\n", - " # ST-PROJ-A-PRV-PC-1 | node-shutdown\n", + " node_name: ST_PROJ-A-PRV-PC-1\n", + " # ST_PROJ-A-PRV-PC-1 | node-shutdown\n", " 2:\n", " action: node-shutdown\n", " options:\n", - " node_name: ST-PROJ-A-PRV-PC-1\n", - " # ST-PROJ-A-PRV-PC-1 | node-startup\n", + " node_name: ST_PROJ-A-PRV-PC-1\n", + " # ST_PROJ-A-PRV-PC-1 | node-startup\n", " 3:\n", " action: node-startup\n", " options:\n", - " node_name: ST-PROJ-A-PRV-PC-1\n", + " node_name: ST_PROJ-A-PRV-PC-1\n", "```\n", "\n", "Converting the yaml snippet below we end up with the following:\n", @@ -1286,9 +1286,9 @@ "|Action Num | Action Type | Options|\n", "|:---------:|:-----------:|:------:|\n", "|0|**DONOTHING**|*n/a*|\n", - "|1|**NODE_OS_SCAN**|*node_name: ST-PROJ-A-PRV-PC-1*|\n", - "|2|**NODE_SHUTDOWN**|*node_name: ST-PROJ-A-PRV-PC-1*|\n", - "|3|**NODE_STARTUP**|*node_name: ST-PROJ-A-PRV-PC-1*|\n" + "|1|**NODE_OS_SCAN**|*node_name: ST_PROJ-A-PRV-PC-1*|\n", + "|2|**NODE_SHUTDOWN**|*node_name: ST_PROJ-A-PRV-PC-1*|\n", + "|3|**NODE_STARTUP**|*node_name: ST_PROJ-A-PRV-PC-1*|\n" ] }, { @@ -1332,7 +1332,7 @@ "\n", "For example, if a red agent corrupts and alters the health status of a file, the blue agent's observation space will not reflect this until the agent performs a `NODE_FILE_SCAN` on the newly corrupted file. It's worth noting that blue agents can be configured to see the true `HEALTH_STATUS` of software and files without needing to scan in the yaml. Although this may make it easier for an train and create an effective blue agent it could be seen as reducing the fidelity of the simulation.\n", "\n", - "The code snippet below demonstrates an example where the blue agent uses the `NODE_OS_SCAN` action to reveal the true health status `ST-PROJ-A-PRV-PC-1`." + "The code snippet below demonstrates an example where the blue agent uses the `NODE_OS_SCAN` action to reveal the true health status `ST_PROJ-A-PRV-PC-1`." ] }, { @@ -1353,7 +1353,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-1\")\n", "st_project_a_private_pc_1.software_manager.software[\"ftp-client\"].set_health_state(SoftwareHealthState.COMPROMISED)\n", "st_project_a_private_pc_1.software_manager.software[\"database-client\"].set_health_state(SoftwareHealthState.COMPROMISED)\n", "st_project_a_private_pc_1.software_manager.show()" @@ -1388,7 +1388,7 @@ "source": [ "`2: NODE_SHUTDOWN`:\n", "\n", - "The next action available is the `NODE_SHUTDOWN` action. This action quite is quite simple in comparison and literally attempts to shut down the target host given in the `options` settings which is set to `ST-PROJ-A-PRV-PC-1`. Shutting a PC down affects the `operating_status` of the host machine which the following snippets demonstrate." + "The next action available is the `NODE_SHUTDOWN` action. This action quite is quite simple in comparison and literally attempts to shut down the target host given in the `options` settings which is set to `ST_PROJ-A-PRV-PC-1`. Shutting a PC down affects the `operating_status` of the host machine which the following snippets demonstrate." ] }, { @@ -1399,7 +1399,7 @@ "source": [ "# `1` is equal to 'ON' in this case.\n", "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST_PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1420,7 +1420,7 @@ "outputs": [], "source": [ "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (post shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST_PROJ-A-PRV-PC-1's (post shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1429,7 +1429,7 @@ "source": [ "`3: NODE_STARTUP`:\n", "\n", - "Luckily, the blue agent can use it's third action `NODE_STARTUP` has been configured to bring the `ST-PROJ-A-PRV-PC-1` back up and running. Although, with the a three timestep reboot time.\n" + "Luckily, the blue agent can use it's third action `NODE_STARTUP` has been configured to bring the `ST_PROJ-A-PRV-PC-1` back up and running. Although, with the a three timestep reboot time.\n" ] }, { @@ -1444,7 +1444,7 @@ " env.step(0) # 3 second reboot time.\n", " \n", "obs, reward, term, trunc, info = env.step(0)\n", - "print(f\"ST-PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" + "print(f\"ST_PROJ-A-PRV-PC-1's (prior shutdown) operating state: {defender.observation_manager.current_observation['NODES']['HOST0']['operating_status']}\")" ] }, { @@ -1463,7 +1463,7 @@ " - type: DATABASE_FILE_INTEGRITY\n", " weight: *HIGH_WEIGHT_IMPACT\n", " options: \n", - " node_hostname: ST-DATA-PRV-SRV-DB \n", + " node_hostname: ST_DATA-PRV-SRV-DB \n", " folder_name: database\n", " file_name: database.db\n", "```\n", @@ -1576,14 +1576,14 @@ "defender = env.game.rl_agents.get(\"defender\")\n", "\n", "# Corrupting and Disabling the database-service\n", - "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_private_server_database: Server = env.game.simulation.network.get_node_by_hostname(\"ST_DATA-PRV-SRV-DB\")\n", "st_data_private_server_database_file = st_data_private_server_database.file_system.get_file(folder_name=\"database\", file_name=\"database.db\")\n", "st_data_private_server_database_file.health_status = FileSystemItemHealthStatus.COMPROMISED\n", "st_data_private_server_database.software_manager.software[\"database-service\"].operating_state = ServiceOperatingState.DISABLED\n", "\n", "# Shutting down the web-server\n", "\n", - "st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DMZ-PUB-SRV-WEB\")\n", + "st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname(\"ST_DMZ-PUB-SRV-WEB\")\n", "st_dmz_pub_srv_web.software_manager.software[\"web-server\"].operating_state = ServiceOperatingState.DISABLED\n", "\n", "# Shutting down the DNSServer\n", diff --git a/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb index da7752fc..f015830b 100644 --- a/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb +++ b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb @@ -187,10 +187,10 @@ "# The TAP001 Agent\n", "tap001 = env.game.agents.get(\"attacker\")\n", "# A potential starting client\n", - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", "\n", "# The database server which acts as the initial target of the ransomware kill-chain\n", - "database_server = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')" + "database_server = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')" ] }, { @@ -240,7 +240,7 @@ "source": [ "#### **Initial State** | Database Server:\n", "\n", - "TAP001 opts to attack the UC7 database server (`ST-DATA-PRV-SRV-DB`):" + "TAP001 opts to attack the UC7 database server (`ST_DATA-PRV-SRV-DB`):" ] }, { @@ -282,7 +282,7 @@ "# The TAP001's Starting Client:\n", "starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node)\n", "# The TAP001's Database Server:\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')" + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')" ] }, { @@ -318,8 +318,8 @@ "In this stage, TAP001 uses the **NODE_FOLDER_CREATE** and **NODE_FILE_CREATE** to create a file called ```\"malware_dropper.ps1\"``` within a ```\"Downloads\"``` folder.
      \n", "These actions are intended to simulate the malicious payload creating a ```ps1``` (A windows powershell script) malware dropper on the `SOME_TECH` employee's phone. \n", "\n", - "Currently, PrimAITE cannot simulate hosts joining the simulation mid-episode thus we must treat `ST-PROJ-A-PRV-PC-1`'s as also including the employee's phone.
      \n", - "From a narrative perspective, this could be explained as the employee plugging his phone into the `ST-PROJ-A-PRV-PC-1`.\n", + "Currently, PrimAITE cannot simulate hosts joining the simulation mid-episode thus we must treat `ST_PROJ-A-PRV-PC-1`'s as also including the employee's phone.
      \n", + "From a narrative perspective, this could be explained as the employee plugging his phone into the `ST_PROJ-A-PRV-PC-1`.\n", "\n", "Additionally, it's worth noting that in the real world, malware droppers (small scripts or executables which download/install the malware after initially entering a host) use a variety of obfuscation methods to avoid detection.
      For example, some malware droppers are concealed within legitimate files such as word document macros in order to trick a user into running the dropper.\n", "\n", @@ -465,7 +465,7 @@ "In this stage, TAP001 uses **NODE_NMAP_PORT_SCAN**, **NODE_NMAP_PING_SCAN** and **NODE_NMAP_NETWORK_SERVICE_RECON** to scan the simulation in order to search for a valid database target.\n", "\n", "Unlike previous stages, the behaviour of this stage is dependant on the simulation and thus will perform differently dependant on the location of the target as well as the topology of the network. Specifically, the ```PROPAGATE``` stage uses three network enumeration actions and their action responses to populate its knowledge of the network.
      \n", - "These actions represent the now infected `ST-PROJ-A-PRV-PC-1` searching the UC7 network for valid targets ransomware. \n", + "These actions represent the now infected `ST_PROJ-A-PRV-PC-1` searching the UC7 network for valid targets ransomware. \n", "\n", "For more information around how agent requests and responses work then the [request-response notebook can provide some useful insights](./Requests-and-Responses.ipynb).\n", "\n", @@ -528,7 +528,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### **Kill Chain** | PROPAGATE | ST-PROJ-A-PRV-PC-1\n", + "#### **Kill Chain** | PROPAGATE | ST_PROJ-A-PRV-PC-1\n", "\n", "

      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 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_payload.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_payload.png index c0c2c39db6a3dbf1f56fd0deb9f110ee03197859..bf9f07aea4ff3f5a4f676d704b54cda87751a63c 100644 GIT binary patch delta 69946 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 delta 69991 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 Of9fha%IIr%p8OB1kK)z< diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png deleted file mode 100644 index 9bb6ca68174f82b3ec12a6fdfe353ed6b963643a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71590 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 z 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 Date: Wed, 26 Feb 2025 16:59:35 +0000 Subject: [PATCH 11/23] #2925 Responding to a few more pr comments (general notebook clean up and improvement). --- .../notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb | 46 +++++++++++++++---- src/primaite/notebooks/UC7-Training.ipynb | 9 ---- .../notebooks/UC7-network_connectivity.ipynb | 25 ++-------- 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb index 8ec96da4..983890e7 100644 --- a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb +++ b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb @@ -66,26 +66,51 @@ "# Utility functions.\n", "\n", "def print_agent_actions_except_do_nothing(agent_name):\n", - " \"\"\"\n", - " Print an agent action provided it's not the DONOTHING action.\n", - "\n", - " :param agent_name: Name of agent (str).\n", - " \"\"\"\n", + " \"\"\"Get the agent's action history, filter out `do-nothing` actions, print relevant data in a table.\"\"\"\n", " table = PrettyTable()\n", - " table.field_names = [\"Step\", \"Action\", \"Node\", \"Application\", \"Response\"]\n", + " table.field_names = [\"Step\", \"Action\", \"Node\", \"Application\", \"Target IP\", \"Response\"]\n", " print(f\"Episode: {env.episode_counter}, Actions for '{agent_name}':\")\n", " for item in env.game.agents[agent_name].history:\n", - " if item.action != \"DONOTHING\":\n", - " node, application = 'unknown', 'unknown'\n", + " if item.action == \"do-nothing\":\n", + " continue\n", + "\n", + " node, application, target_ip = \"N/A\", \"N/A\", \"N/A\",\n", + "\n", + " if item.action.startswith(\"node-nmap\"):\n", + " node = item.parameters['source_node']\n", + " application = \"nmap\"\n", + " target_ip = str(item.parameters['target_ip_address'])\n", + " target_ip = (target_ip[:25]+'...') if len(target_ip)>25 else target_ip # truncate long string\n", + "\n", + " elif item.action == \"router-acl-add-rule\":\n", + " node = item.parameters.get(\"router_name\")\n", + " elif item.action == \"node-send-remote-command\":\n", + " node = item.parameters.get(\"node_name\")\n", + " target_ip = item.parameters.get(\"remote_ip\")\n", + " application = item.parameters.get(\"command\")\n", + " elif item.action == \"node-session-remote-login\":\n", + " node = item.parameters.get(\"node_name\")\n", + " target_ip = item.parameters.get(\"remote_ip\")\n", + " application = \"user-manager\"\n", + " elif item.action.startswith(\"c2-server\"):\n", + " application = \"c2-server\"\n", + " node = item.parameters.get('node_name')\n", + " elif item.action == \"configure-c2-beacon\":\n", + " application = \"c2-beacon\"\n", + " node = item.parameters.get('node_name')\n", + "\n", + " else:\n", " if (node_id := item.parameters.get('node_id')) is not None:\n", " node = env.game.agents[agent_name].action_manager.node_names[node_id]\n", " if (application_id := item.parameters.get('application_id')) is not None:\n", " application = env.game.agents[agent_name].action_manager.application_names[node_id][application_id]\n", " if (application_name := item.parameters.get('application_name')) is not None:\n", " application = application_name\n", - " table.add_row([item.timestep, item.action, node, application, item.response.status])\n", + "\n", + " table.add_row([item.timestep, item.action, node, application, target_ip, item.response.status])\n", + "\n", " print(table)\n", - " print(\"(Any DONOTHING actions are omitted)\")\n" + " print(\"(Any do-nothing actions are omitted)\")\n" ] }, { @@ -202,6 +227,7 @@ "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as uc7_config:\n", " cfg = yaml.safe_load(uc7_config)\n", " cfg[\"agents\"][33][\"agent_settings\"][\"flatten_obs\"] = False\n", + " cfg['io_settings']['save_agent_logs'] = True\n", " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", "env = PrimaiteGymEnv(env_config=cfg)\n", "env.game.simulation.network.show()" diff --git a/src/primaite/notebooks/UC7-Training.ipynb b/src/primaite/notebooks/UC7-Training.ipynb index f15084ac..ddaa6844 100644 --- a/src/primaite/notebooks/UC7-Training.ipynb +++ b/src/primaite/notebooks/UC7-Training.ipynb @@ -49,15 +49,6 @@ "scenario_path = PRIMAITE_PATHS.user_config_path / \"example_config/uc7_config.yaml\"" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!primaite setup" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/src/primaite/notebooks/UC7-network_connectivity.ipynb b/src/primaite/notebooks/UC7-network_connectivity.ipynb index 1a2415ac..8aef5465 100644 --- a/src/primaite/notebooks/UC7-network_connectivity.ipynb +++ b/src/primaite/notebooks/UC7-network_connectivity.ipynb @@ -58,8 +58,11 @@ "metadata": {}, "outputs": [], "source": [ - "use_case_7_config = load(_EXAMPLE_CFG/\"uc7_config.yaml\")\n", - "env = PrimaiteGymEnv(env_config=use_case_7_config)" + "with open(file=_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", + " cfg = yaml.safe_load(uc7_config)\n", + " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", + " cfg['io_settings']['save_agent_logs'] = True # Save agent logs\n", + "env = PrimaiteGymEnv(env_config=cfg)" ] }, { @@ -998,24 +1001,6 @@ "env.step(0)" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# from primaite.simulator.system.applications.application import ApplicationOperatingState\n", - "# from primaite.simulator.system.applications.database_client import database-client\n", - "# from primaite.simulator.system.services.service import ServiceOperatingState\n", - "\n", - "# home_pub_pc_1_dns_client: dns-client = home_pub_pc_1.software_manager.software[\"dns-client\"]\n", - "# home_pub_pc_1_database_client: database-client = home_pub_pc_1.software_manager.software[\"database-client\"]\n", - "\n", - "\n", - "# home_pub_pc_1_dns_client.operating_state = ServiceOperatingState.PAUSED\n", - "# home_pub_pc_1_database_client.operating_state = ApplicationOperatingState.CLOSED" - ] - }, { "cell_type": "code", "execution_count": null, From 26625409659844295275c9b1124cf3948040ccb6 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 10:03:05 +0000 Subject: [PATCH 12/23] Reviewing PR comments - #2925 !612 --- src/primaite/config/_package_data/uc7_config.yaml | 4 ++-- src/primaite/config/_package_data/uc7_config_tap003.yaml | 4 ++-- .../uc7_multiple_attack_variants/uc7_config_no_red.yaml | 4 ++-- .../simulator/network/hardware/nodes/host/host_node.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index b848e852..f5d4ac54 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -252,7 +252,7 @@ simulation: next_hop_ip_address: 192.168.10.2 default_route: next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 1: action: PERMIT @@ -331,7 +331,7 @@ simulation: dmz_port: # SOME_TECH Port Facing Port ip_address: 192.168.100.1 subnet_mask: *ST_DMZ_SUBNET - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 5: action: PERMIT diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml index 79004e3c..9ac6e1ab 100644 --- a/src/primaite/config/_package_data/uc7_config_tap003.yaml +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -253,7 +253,7 @@ simulation: next_hop_ip_address: 192.168.10.2 default_route: next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 1: action: PERMIT @@ -332,7 +332,7 @@ simulation: dmz_port: # SOME_TECH Port Facing Port ip_address: 192.168.100.1 subnet_mask: *ST_DMZ_SUBNET - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 5: action: PERMIT diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml index 79080547..4a49175b 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -252,7 +252,7 @@ simulation: next_hop_ip_address: 192.168.10.2 default_route: next_hop_ip_address: 10.1.10.1 # Forward to internet router port 3 - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 1: action: PERMIT @@ -331,7 +331,7 @@ simulation: dmz_port: # SOME_TECH Port Facing Port ip_address: 192.168.100.1 subnet_mask: *ST_DMZ_SUBNET - acl: # TODO: Expand on this (For now permit all) + acl: internal_inbound_acl: 5: action: PERMIT diff --git a/src/primaite/simulator/network/hardware/nodes/host/host_node.py b/src/primaite/simulator/network/hardware/nodes/host/host_node.py index fcd0eb80..700bc384 100644 --- a/src/primaite/simulator/network/hardware/nodes/host/host_node.py +++ b/src/primaite/simulator/network/hardware/nodes/host/host_node.py @@ -350,7 +350,7 @@ class HostNode(Node, discriminator="host-node"): self.connect_nic(NIC(ip_address=kwargs["config"].ip_address, subnet_mask=kwargs["config"].subnet_mask)) for folder in self.config.folders: - # handle empty foler defined by just a string + # handle empty folder defined by just a string self.file_system.create_folder(folder["folder_name"]) for file in folder.get("files", []): From 5cc885f6e9bc209b8c35d780d97b19ca79f56dcb Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 13:36:45 +0000 Subject: [PATCH 13/23] #2925 PR TAP Test comments. --- .../threat_actor_profiles/test_abstract_tap.py | 14 +++++++------- .../test_kill_chain_methods.py | 16 +++++++++------- .../test_tap001_kill_chain_repeat.py | 8 ++++---- .../test_tap001_kill_chain_stages.py | 9 ++------- 4 files changed, 22 insertions(+), 25 deletions(-) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py index 2fcc33a8..a5ed5e1b 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py @@ -19,9 +19,9 @@ def uc7_tap001_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) - for a in cfg["agents"]: - if a["ref"] == "attacker": - tap_cfg = a + for agents in cfg["agents"]: + if agents["ref"] == "attacker": + tap_cfg = agents tap_cfg["agent_settings"]["start_step"] = 1 tap_cfg["agent_settings"]["frequency"] = 5 @@ -43,9 +43,9 @@ def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", "r") as uc7_config: cfg = yaml.safe_load(uc7_config) - for a in cfg["agents"]: - if a["ref"] == "attacker": - tap_cfg = a + for agents in cfg["agents"]: + if agents["ref"] == "attacker": + tap_cfg = agents tap_cfg["agent_settings"]["start_step"] = 1 tap_cfg["agent_settings"]["frequency"] = 5 @@ -112,7 +112,7 @@ def test_outcome_handler(): env = uc7_tap003_env(repeat_kill_chain=False, repeat_kill_chain_stages=False) # Using TAP003 for PyTests. tap: TAP003 = env.game.agents["attacker"] tap.current_kill_chain_stage = BaseKillChain.FAILED - + # 6 Iterations as the attacker frequency is set to 5. Therefore, after 6 timesteps we expect the agent to realise it's failed the kill chain. for _ in range(6): env.step(0) assert tap.actions_concluded == True diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py index 66279e6c..fe179d0b 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py @@ -22,7 +22,7 @@ VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next t def uc7_tap003_env() -> PrimaiteGymEnv: - """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + """Setups the UC7 TAP003 Game with a 1 timestep start_step, frequency of 2 and probabilities set to 1 as well""" with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False @@ -50,9 +50,10 @@ def test_tap003_insider_kill_chain_load(): env = uc7_tap003_env() # Using TAP003 for PyTests. tap: TAP003 = env.game.agents["attacker"] # Asserting that the Base Kill Chain intEnum stages are loaded - assert BaseKillChain.FAILED in [enums for enums in tap.selected_kill_chain] - assert BaseKillChain.SUCCEEDED in [enums for enums in tap.selected_kill_chain] - assert BaseKillChain.NOT_STARTED in [enums for enums in tap.selected_kill_chain] + kill_chain_enums = [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.FAILED in kill_chain_enums + assert BaseKillChain.SUCCEEDED in kill_chain_enums + assert BaseKillChain.NOT_STARTED in kill_chain_enums # Asserting that the Insider Kill Chain intenum stages are loaded. assert len(InsiderKillChain.__members__) == len(tap.selected_kill_chain.__members__) @@ -62,8 +63,9 @@ def test_tap001_mobile_malware_kill_chain_load(): env = uc7_tap001_env() # Using TAP003 for PyTests. tap: TAP001 = env.game.agents["attacker"] # Asserting that the Base Kill Chain intEnum stages are loaded. - assert BaseKillChain.FAILED in [enums for enums in tap.selected_kill_chain] - assert BaseKillChain.SUCCEEDED in [enums for enums in tap.selected_kill_chain] - assert BaseKillChain.NOT_STARTED in [enums for enums in tap.selected_kill_chain] + kill_chain_enums = [enums for enums in tap.selected_kill_chain] + assert BaseKillChain.FAILED in kill_chain_enums + assert BaseKillChain.SUCCEEDED in kill_chain_enums + assert BaseKillChain.NOT_STARTED in kill_chain_enums # Asserting that the Insider Kill Chain intEnum stages are loaded. assert len(MobileMalwareKillChain.__members__) == len(tap.selected_kill_chain.__members__) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py index ec3ee1bf..29d258e3 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py @@ -22,7 +22,7 @@ VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next t def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: - """Setups the UC7 tap001 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + """Setups the UC7 tap001 game with a 1 timestep start_step, frequency of 2 and probabilities set to 1 as well""" with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False @@ -47,15 +47,15 @@ def test_tap001_repeating_kill_chain(): ) tap001: TAP001 = env.game.agents["attacker"] # Looping for 50 timesteps - As the agent is set to execute an action every 2 timesteps - # This is the equivalent of the agent taking 20 actions. + # This is the equivalent of the agent taking 25 actions. for _ in range(50): # This for loop should never actually fully complete. if tap001.current_kill_chain_stage == BaseKillChain.SUCCEEDED: break env.step(0) # Catches if the above for loop fully completes. - # This test uses a probability of 1 for all stages and a variance of 2 timesteps - # Thus the for loop above should never fail. + # This test uses a probability of 1 for all stages and a frequency of 2 timesteps + # Thus the for loop above should never complete it's full 50 iterations. # If this occurs then there is an error somewhere in either: # 1. The TAP Logic # 2. Failing Agent Actions are causing the TAP to fail. (See tap_return_handler). diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py index e20e02bb..5a423bab 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py @@ -19,12 +19,6 @@ from primaite.simulator.system.services.database.database_service import Databas # Defining constants. -START_STEP = 1 # The starting step of the agent. -FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). -VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) - -# Defining constants. - START_STEP = 1 # The starting step of the agent. FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) @@ -60,7 +54,8 @@ def test_tap001_kill_chain_stage_DOWNLOAD(): starting_host = env.game.simulation.network.get_node_by_hostname(tap001.starting_node) assert tap001.current_kill_chain_stage == BaseKillChain.NOT_STARTED - # Frequency is set to two steps + # Frequency is set to two steps so we need to step through the environment a couple of times + # In order for TAP001 to move onto the next kill chain stage. env.step(0) env.step(0) From 72a06ea001342a265e7ae59720d64776e7c620bf Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 13:45:50 +0000 Subject: [PATCH 14/23] #2925 Further clean up to tap kill chain repeat test. --- .../threat_actor_profiles/test_tap001_kill_chain_repeat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py index 29d258e3..9a3277a1 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py @@ -62,7 +62,7 @@ def test_tap001_repeating_kill_chain(): if tap001.current_kill_chain_stage != BaseKillChain.SUCCEEDED: pytest.fail("Attacker Never Reached SUCCEEDED - Please evaluate current TAP Logic.") - # Stepping twice for the succeeded logic to kick in: + # Stepping four timesteps (2 TAP001 steps) for the succeeded logic to kick in: env.step(0) env.step(0) env.step(0) From 6a0d28bf5feda833b414d877fd762d9827201d62 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 14:11:27 +0000 Subject: [PATCH 15/23] #2825 Updated all tests to use a constants rather than a magic num. --- .../test_kill_chain_methods.py | 13 ++++---- .../test_tap001_kill_chain_repeat.py | 21 ++++++++----- .../test_tap001_kill_chain_stages.py | 21 ++++++++----- .../test_tap001_propagate_stage.py | 9 +++--- .../test_tap003_kill_chain_repeat.py | 25 +++++++++------ .../test_tap003_kill_chain_stages.py | 31 ++++++++++++------- .../test_kill_chain_settings.py | 8 +++-- 7 files changed, 80 insertions(+), 48 deletions(-) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py index fe179d0b..4e19c17f 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py @@ -19,6 +19,7 @@ from primaite.session.environment import PrimaiteGymEnv START_STEP = 1 # The starting step of the agent. FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +ATTACK_AGENT_INDEX = 32 def uc7_tap003_env() -> PrimaiteGymEnv: @@ -26,9 +27,9 @@ def uc7_tap003_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE env = PrimaiteGymEnv(env_config=cfg) return env @@ -38,9 +39,9 @@ def uc7_tap001_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py index 9a3277a1..2fd9d871 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py @@ -19,6 +19,7 @@ from primaite.session.environment import PrimaiteGymEnv START_STEP = 1 # The starting step of the agent. FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +ATTACK_AGENT_INDEX = 32 def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: @@ -26,13 +27,19 @@ def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE - cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] - cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] - cfg["agents"][32]["agent_settings"]["kill_chain"]["PROPAGATE"]["probability"] = kwargs["propagate_probability"] - cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["probability"] = kwargs["payload_probability"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = kwargs[ + "repeat_kill_chain_stages" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PROPAGATE"]["probability"] = kwargs[ + "propagate_probability" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PAYLOAD"]["probability"] = kwargs[ + "payload_probability" + ] env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py index 5a423bab..7590afaa 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py @@ -26,6 +26,7 @@ REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/ REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' DATA_EXFIL = True # Data exfiltration on the payload stage is enabled. +ATTACK_AGENT_INDEX = 32 def uc7_tap001_env() -> PrimaiteGymEnv: @@ -33,14 +34,18 @@ def uc7_tap001_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE - cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES - cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES - cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["probability"] = KILL_CHAIN_PROBABILITY - cfg["agents"][32]["agent_settings"]["kill_chain"]["PROPAGATE"]["probability"] = KILL_CHAIN_PROBABILITY - cfg["agents"][32]["agent_settings"]["kill_chain"]["PAYLOAD"]["exfiltrate"] = DATA_EXFIL + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PAYLOAD"][ + "probability" + ] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PROPAGATE"][ + "probability" + ] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PAYLOAD"]["exfiltrate"] = DATA_EXFIL env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py index 03961352..f8310db2 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py @@ -24,7 +24,8 @@ FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next at VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? -KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' +KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success's. +ATTACK_AGENT_INDEX = 32 def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: @@ -32,7 +33,7 @@ def uc7_tap001_env(**kwargs) -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - agent_cfg = cfg["agents"][32]["agent_settings"] + agent_cfg = cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"] agent_cfg["start_step"] = START_STEP agent_cfg["frequency"] = FREQUENCY agent_cfg["variance"] = VARIANCE @@ -135,6 +136,6 @@ def test_tap001_kill_chain_stage_PROPAGATE_repeat_scan(): while tap001.current_kill_chain_stage == MobileMalwareKillChain.PROPAGATE: env.step(0) - # As the given network_address does not contain the target, we should failed because the maximum amount of scan attempts has been reached - assert tap001.scans_complete == 20 + # As the given network_address does not contain the target, we should fail because the maximum amount of scan attempts has been reached + assert tap001.scans_complete == scan_attempts assert tap001.current_kill_chain_stage == MobileMalwareKillChain.FAILED diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py index 42b33a7e..2ce62ad6 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py @@ -19,23 +19,30 @@ from primaite.session.environment import PrimaiteGymEnv START_STEP = 1 # The starting step of the agent. FREQUENCY = 2 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +ATTACK_AGENT_INDEX = 32 def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: - """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + """Setups the UC7 TAP003 Game with a 1 timestep start_step, frequency of 2 and probabilities set to 1 as well""" with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE - cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] - cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] - cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = kwargs[ + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = kwargs[ + "repeat_kill_chain_stages" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = kwargs[ "manipulation_probability" ] - cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = kwargs["access_probability"] - cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs["planning_probability"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = kwargs[ + "access_probability" + ] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs[ + "planning_probability" + ] env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py index 32e2449c..9130ebf2 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py @@ -23,22 +23,31 @@ VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next t REPEAT_KILL_CHAIN = False # Should the TAP repeat the kill chain after success/failure? REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous stage on failure? KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' +ATTACK_AGENT_INDEX = 32 def uc7_tap003_env() -> PrimaiteGymEnv: - """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + """Setups the UC7 TAP003 Game with a 1 timestep start_step, frequency of 2 and probabilities set to 1 as well""" with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False - cfg["agents"][32]["agent_settings"]["start_step"] = START_STEP - cfg["agents"][32]["agent_settings"]["frequency"] = FREQUENCY - cfg["agents"][32]["agent_settings"]["variance"] = VARIANCE - cfg["agents"][32]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES - cfg["agents"][32]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES - cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = KILL_CHAIN_PROBABILITY - cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = KILL_CHAIN_PROBABILITY - cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = KILL_CHAIN_PROBABILITY - cfg["agents"][32]["agent_settings"]["kill_chain"]["EXPLOIT"]["probability"] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = REPEAT_KILL_CHAIN_STAGES + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["MANIPULATION"][ + "probability" + ] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["ACCESS"][ + "probability" + ] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"][ + "probability" + ] = KILL_CHAIN_PROBABILITY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["EXPLOIT"][ + "probability" + ] = KILL_CHAIN_PROBABILITY env = PrimaiteGymEnv(env_config=cfg) return env @@ -215,7 +224,7 @@ def test_tap003_kill_chain_stage_exploit(): assert tap003.current_kill_chain_stage.name == InsiderKillChain.EXPLOIT.name # Testing that the stage successfully impacted the simulation - Malicious ACL Added: - for _ in range(32): + for _ in range(ATTACK_AGENT_INDEX): env.step(0) # Tests that the ACL has been added and that the action is deny. diff --git a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py index 3f7f6eca..59fd9d86 100644 --- a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py +++ b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_kill_chain_settings.py @@ -8,13 +8,15 @@ from primaite.config.load import _EXAMPLE_CFG from primaite.game.agent.scripted_agents.TAP003 import TAP003 from primaite.game.game import PrimaiteGame +ATTACK_AGENT_INDEX = 32 + def test_tap003_kill_chain_settings_load_config(): with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) - cfg["agents"][32]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = 0.5 - cfg["agents"][32]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = 0.5 - cfg["agents"][32]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = 0.5 + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["MANIPULATION"]["probability"] = 0.5 + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["ACCESS"]["probability"] = 0.5 + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = 0.5 game = PrimaiteGame.from_config(cfg) tap: TAP003 = game.agents["attacker"] kill_chain = tap.config.agent_settings.kill_chain From 36aecdea37e0d2a151bad4a5eeba9e8e511bcba8 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Thu, 27 Feb 2025 14:54:10 +0000 Subject: [PATCH 16/23] #2925 Updating more tests based on PR comments. (Mainly clean-up and improving comment clarity) --- .../e2e_integration_tests/test_uc7_agents.py | 7 ++- .../test_tap003_kill_chain_repeat.py | 2 +- .../test_tap003_kill_chain_stages.py | 52 ++++--------------- .../test_tap003_multiple_rules.py | 6 ++- 4 files changed, 19 insertions(+), 48 deletions(-) diff --git a/tests/e2e_integration_tests/test_uc7_agents.py b/tests/e2e_integration_tests/test_uc7_agents.py index 7bdba714..d54bf6d2 100644 --- a/tests/e2e_integration_tests/test_uc7_agents.py +++ b/tests/e2e_integration_tests/test_uc7_agents.py @@ -28,6 +28,7 @@ from primaite.simulator.system.services.service import ServiceOperatingState from primaite.simulator.system.software import SoftwareHealthState CONFIG_FILE = _EXAMPLE_CFG / "uc7_config.yaml" +ATTACK_AGENT_INDEX = 32 @pytest.fixture(scope="function") @@ -47,8 +48,6 @@ def assert_agent_reward(env: PrimaiteGymEnv, agent_name: str, positive: bool): assert agent_reward >= 0 # Asserts that no agents are below a total reward of 0 elif positive is False: assert agent_reward <= 0 # Asserts that no agents are above a total reward of 0 - else: - print("Invalid 'positive' argument.") def test_green_agent_positive_reward(uc7_environment): @@ -139,8 +138,8 @@ def test_tap003_default_behaviour(uc7_environment): def uc7_environment_tap003() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) - cfg["agents"][32]["agent_settings"]["starting_nodes"] = ["ST_PROJ-A-PRV-PC-1"] - cfg["agents"][32]["agent_settings"]["default_starting_node"] = "ST_PROJ-A-PRV-PC-1" + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["starting_nodes"] = ["ST_PROJ-A-PRV-PC-1"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["default_starting_node"] = "ST_PROJ-A-PRV-PC-1" env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py index 2ce62ad6..04ccd656 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py @@ -85,7 +85,7 @@ def test_tap003_repeating_kill_chain_stages(): repeat_kill_chain=True, repeat_kill_chain_stages=True, manipulation_probability=1, - # Probability 0 = Will never be able to perform the access stage and progress to Manipulation. + # access_probability 0 = Will never be able to perform the access stage and progress to Manipulation. access_probability=0, planning_probability=1, ) diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py index 9130ebf2..c475af8b 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py @@ -120,8 +120,6 @@ def test_tap003_kill_chain_stage_access(): assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name - env = environment_step(i=2, env=env) - def test_tap003_kill_chain_stage_manipulation(): """Tests the successful/failed handlers in the manipulation stage in the InsiderKillChain""" @@ -132,51 +130,35 @@ def test_tap003_kill_chain_stage_manipulation(): assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name # Testing that the stage successfully impacted the simulation - Accounts Altered - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) + env = environment_step(i=5, env=env) st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") assert st_intra_prv_rt_dr_1.user_manager.admins["admin"].password == "red_pass" - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) + env = environment_step(i=5, env=env) st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") assert st_intra_prv_rt_cr.user_manager.admins["admin"].password == "red_pass" - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) + env = environment_step(i=5, env=env) rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") assert rem_pub_rt_dr.user_manager.admins["admin"].password == "red_pass" @@ -192,34 +174,22 @@ def test_tap003_kill_chain_stage_exploit(): rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.RECONNAISSANCE.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.PLANNING.name - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.PLANNING.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.ACCESS.name - env.step(0) - env.step(0) + env = environment_step(i=2, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) - env.step(0) + env = environment_step(i=9, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.EXPLOIT.name diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py index 77b3ce75..b7b767e0 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py @@ -82,7 +82,7 @@ RULES = [ def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: - """Setups the UC7 TAP003 Game with the start_step & frequency set to 1 with probabilities set to 1 as well""" + """Setups the UC7 TAP003 Game with a 1 timestep start_step, frequency of 2 and probabilities set to 1 as well""" with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False @@ -141,6 +141,9 @@ def test_tap003_cycling_rules(): tap003: TAP003 = env.game.agents["attacker"] def wait_until_attack(): + # 120 environment steps to ensure that TAP003 reaches manipulate. + # If this loop finishes 120 iterations before the test finishes then TAP003 is struggling to + # reach or finish the manipulation kill chain stage correctly. for _ in range(120): # check if the agent has executed and therefore moved onto the next rule index env.step(0) @@ -198,4 +201,3 @@ def test_tap003_cycling_rules(): assert rule_3.dst_port == PORT_LOOKUP["FTP"] # If we've gotten this fair then we can pass the test :) - pass From 908dbe4722343eaab121ce9347613ee542c74848 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Fri, 28 Feb 2025 12:55:57 +0000 Subject: [PATCH 17/23] fix show history --- src/primaite/game/agent/interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/primaite/game/agent/interface.py b/src/primaite/game/agent/interface.py index a6e9739f..b9a7fcc8 100644 --- a/src/primaite/game/agent/interface.py +++ b/src/primaite/game/agent/interface.py @@ -124,8 +124,8 @@ class AbstractAgent(BaseModel, ABC): pass else: # format dict by putting each key-value entry on a separate line and putting a blank line on the end. - param_string = "\n".join([*[f"{k}: {v:.30}" for k, v in item.parameters.items()], ""]) - data_string = "\n".join([*[f"{k}: {v:.30}" for k, v in item.response.data], ""]) + param_string = "\n".join([*[f"{k}: {str(v):.80}" for k, v in item.parameters.items()], ""]) + data_string = "\n".join([*[f"{k}: {str(v):.80}" for k, v in item.response.data.items()], ""]) table.add_row([item.timestep, item.action, param_string, item.response.status, data_string]) print(table) From f532b5e0dafc6ec3abdad663c2fa0091a767fd14 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Fri, 28 Feb 2025 14:27:07 +0000 Subject: [PATCH 18/23] #2925 Fixed TAP003 error and failing tests. --- .../game/agent/scripted_agents/TAP003.py | 23 +++++---- .../notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb | 1 + .../notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb | 3 +- .../test_abstract_tap.py | 47 +++++++++---------- .../test_kill_chain_methods.py | 4 +- .../test_tap001_kill_chain_repeat.py | 4 +- .../test_tap001_kill_chain_stages.py | 4 +- .../test_tap001_propagate_stage.py | 4 +- .../test_tap003_kill_chain_repeat.py | 4 +- .../test_tap003_kill_chain_stages.py | 25 ++++++---- .../test_tap003_multiple_rules.py | 4 +- 11 files changed, 67 insertions(+), 56 deletions(-) diff --git a/src/primaite/game/agent/scripted_agents/TAP003.py b/src/primaite/game/agent/scripted_agents/TAP003.py index 467c209a..b329f3e1 100644 --- a/src/primaite/game/agent/scripted_agents/TAP003.py +++ b/src/primaite/game/agent/scripted_agents/TAP003.py @@ -257,7 +257,7 @@ class TAP003(AbstractTAP, discriminator="tap-003"): self.logger.debug(f"Updating network knowledge. Changed {username}'s password to {password} on {hostname}.") self._change_password_target_host = "" # local password change - elif last_hist_item.action == "node-accounts-change-password" and last_hist_item.response.status == "success": + elif last_hist_item.action == "node-account-change-password" and last_hist_item.response.status == "success": self.network_knowledge["current_session"] = {} username = last_hist_item.request[6] password = last_hist_item.request[8] @@ -338,15 +338,17 @@ class TAP003(AbstractTAP, discriminator="tap-003"): """ if self.current_kill_chain_stage == self.selected_kill_chain.MANIPULATION: if self._agent_trial_handler(self.config.agent_settings.kill_chain.MANIPULATION.probability): - self.logger.info(f"TAP003 reached the {self.current_kill_chain_stage.name}") + if self.current_stage_progress == KillChainStageProgress.PENDING: + self.logger.info(f"TAP003 reached the {self.current_kill_chain_stage.name}.") + self.current_stage_progress = KillChainStageProgress.IN_PROGRESS self.current_host = self.starting_node account_changes = self.config.agent_settings.kill_chain.MANIPULATION.account_changes - if len(account_changes) > 0: + if len(account_changes) > 0 or self._next_account_change: if not self._next_account_change: self._next_account_change = account_changes.pop(0) if self._next_account_change["host"] == self.current_host: # do a local password change - self.chosen_action = "node-accounts-change-password", { + self.chosen_action = "node-account-change-password", { "node_name": self.current_host, "username": self._next_account_change["username"], "current_password": self.network_knowledge["credentials"][self.current_host]["password"], @@ -382,14 +384,15 @@ class TAP003(AbstractTAP, discriminator="tap-003"): ], } self.logger.info(f"Changing password on remote node {hostname}") - self._next_account_change = account_changes.pop(0) + try: + self._next_account_change = account_changes.pop(0) + except IndexError: + self.logger.info("No further account changes required.") + self._next_account_change = None self._change_password_target_host = hostname - if len(account_changes) == 0: - self._next_account_change = None - self.logger.info("Finished changing passwords.") + if not self._next_account_change: + self.logger.info("Manipulation complete. Progressing to exploit...") self._progress_kill_chain() - - self.current_stage_progress = KillChainStageProgress.PENDING else: if self.config.agent_settings.repeat_kill_chain_stages == False: self.current_kill_chain_stage = self.selected_kill_chain.FAILED diff --git a/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb index f015830b..5ea67af3 100644 --- a/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb +++ b/src/primaite/notebooks/UC7-TAP001-Kill-Chain-E2E.ipynb @@ -38,6 +38,7 @@ "# Importing the necessary PrimAITE libraries\n", "from primaite.session.environment import PrimaiteGymEnv\n", "import yaml\n", + "from primaite.game.agent.scripted_agents.TAP001 import TAP001, MobileMalwareKillChain\n", "from primaite.config.load import load, _EXAMPLE_CFG\n", "from deepdiff.diff import DeepDiff" ] diff --git a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb index 983890e7..306e070a 100644 --- a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb +++ b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb @@ -50,6 +50,7 @@ "from primaite.simulator.network.hardware.nodes.host.computer import Computer\n", "from primaite.simulator.system.applications.web_browser import WebBrowser\n", "from primaite.simulator.network.hardware.nodes.network.router import Router\n", + "from primaite.game.agent.scripted_agents.TAP003 import TAP003, InsiderKillChain, InsiderKillChainOptions\n", "from primaite.config.load import load, _EXAMPLE_CFG\n", "from pprint import pprint\n", "from deepdiff.diff import DeepDiff\n", @@ -1503,7 +1504,7 @@ "metadata": {}, "outputs": [], "source": [ - "account_changes = [{\"host\":\"ST_PROJ-A-PRV-PC-2\", \"ip_address\": \"192.168.230.2\", \"user_name\": user_username, \"old_password\": user_password, \"new_password\": tap003_new_password}]" + "account_changes = [{\"host\":\"ST_PROJ-A-PRV-PC-2\", \"ip_address\": \"192.168.230.2\", \"username\": user_username, \"old_password\": user_password, \"new_password\": tap003_new_password}]" ] }, { diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py index a5ed5e1b..cecfa880 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py @@ -10,22 +10,22 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv +START_STEP = 1 # The starting step of the agent. +FREQUENCY = 5 # The frequency of kill chain stage progression (E.g it's next attempt at "attacking"). +VARIANCE = 0 # The timestep variance between kill chain progression (E.g Next timestep = Frequency +/- variance) +ATTACK_AGENT_INDEX = 32 + def uc7_tap001_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) - - for agents in cfg["agents"]: - if agents["ref"] == "attacker": - tap_cfg = agents - - tap_cfg["agent_settings"]["start_step"] = 1 - tap_cfg["agent_settings"]["frequency"] = 5 - tap_cfg["agent_settings"]["variance"] = 0 + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE env = PrimaiteGymEnv(env_config=cfg) @@ -42,27 +42,26 @@ def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: """ with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", "r") as uc7_config: cfg = yaml.safe_load(uc7_config) - - for agents in cfg["agents"]: - if agents["ref"] == "attacker": - tap_cfg = agents - - tap_cfg["agent_settings"]["start_step"] = 1 - tap_cfg["agent_settings"]["frequency"] = 5 - tap_cfg["agent_settings"]["variance"] = 0 + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE if "repeat_kill_chain" in kwargs: - tap_cfg["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain"] = kwargs["repeat_kill_chain"] if "repeat_kill_chain_stages" in kwargs: - tap_cfg["agent_settings"]["repeat_kill_chain_stages"] = kwargs["repeat_kill_chain_stages"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["repeat_kill_chain_stages"] = kwargs[ + "repeat_kill_chain_stages" + ] if "planning_probability" in kwargs: - tap_cfg["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs["planning_probability"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["PLANNING"]["probability"] = kwargs[ + "planning_probability" + ] if "custom_kill_chain" in kwargs: - tap_cfg["agent_settings"]["kill_chain"] = kwargs["custom_kill_chain"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"] = kwargs["custom_kill_chain"] if "starting_nodes" in kwargs: - tap_cfg["agent_settings"]["starting_nodes"] = kwargs["starting_nodes"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["starting_nodes"] = kwargs["starting_nodes"] if "target_nodes" in kwargs: - tap_cfg["agent_settings"]["target_nodes"] = kwargs["target_nodes"] + cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["target_nodes"] = kwargs["target_nodes"] env = PrimaiteGymEnv(env_config=cfg) return env diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py index 4e19c17f..e9a40e45 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_kill_chain_methods.py @@ -10,8 +10,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv # Defining constants. diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py index 2fd9d871..94832ed0 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_repeat.py @@ -10,8 +10,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv # Defining constants. diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py index 7590afaa..851910d1 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py @@ -10,8 +10,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus from primaite.simulator.system.applications.red_applications.c2.c2_beacon import C2Beacon diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py index f8310db2..24fbaa23 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py @@ -10,8 +10,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv from primaite.simulator.file_system.file_system_item_abc import FileSystemItemHealthStatus from primaite.simulator.system.applications.red_applications.c2.c2_beacon import C2Beacon diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py index 04ccd656..7df846b1 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_repeat.py @@ -10,8 +10,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv # Defining constants. diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py index c475af8b..bea4ed26 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py @@ -10,10 +10,10 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv -from primaite.simulator.network.hardware.nodes.network.router import ACLAction +from primaite.simulator.network.hardware.nodes.network.firewall import Firewall +from primaite.simulator.network.hardware.nodes.network.router import ACLAction, Router # Defining constants. @@ -31,6 +31,7 @@ def uc7_tap003_env() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) cfg["io_settings"]["save_sys_logs"] = False + cfg["io_settings"]["save_agent_logs"] = True cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["start_step"] = START_STEP cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["frequency"] = FREQUENCY cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["variance"] = VARIANCE @@ -94,8 +95,13 @@ def test_tap003_kill_chain_stage_planning(): env = environment_step(i=2, env=env) - # Testing that the stage successfully impacted the simulation - User is logged in - # TODO: Add an assert for this. + # Testing that the stage successful - TAP003 has loaded it's starting network knowledge into it's network knowledge. + + # At this point TAP003 will parse it's starting network knowledge config into it's a private attribute (`network_knowledge`) + assert ( + tap003.network_knowledge["credentials"] + == tap003.config.agent_settings.kill_chain.PLANNING.starting_network_knowledge["credentials"] + ) def test_tap003_kill_chain_stage_access(): @@ -123,9 +129,7 @@ def test_tap003_kill_chain_stage_access(): def test_tap003_kill_chain_stage_manipulation(): """Tests the successful/failed handlers in the manipulation stage in the InsiderKillChain""" - env = uc7_tap003_env() - env.reset() tap003: TAP003 = env.game.agents["attacker"] assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED @@ -152,10 +156,12 @@ def test_tap003_kill_chain_stage_manipulation(): # Testing that the stage successfully impacted the simulation - Accounts Altered env = environment_step(i=5, env=env) st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") + assert tap003.current_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name assert st_intra_prv_rt_dr_1.user_manager.admins["admin"].password == "red_pass" env = environment_step(i=5, env=env) st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") + assert tap003.current_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name assert st_intra_prv_rt_cr.user_manager.admins["admin"].password == "red_pass" env = environment_step(i=5, env=env) @@ -172,6 +178,7 @@ def test_tap003_kill_chain_stage_exploit(): st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") + assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED env = environment_step(i=2, env=env) @@ -189,12 +196,12 @@ def test_tap003_kill_chain_stage_exploit(): assert tap003.current_kill_chain_stage.name == InsiderKillChain.ACCESS.name assert tap003.next_kill_chain_stage.name == InsiderKillChain.MANIPULATION.name - env = environment_step(i=9, env=env) + env = environment_step(i=16, env=env) assert tap003.current_kill_chain_stage.name == InsiderKillChain.EXPLOIT.name # Testing that the stage successfully impacted the simulation - Malicious ACL Added: - for _ in range(ATTACK_AGENT_INDEX): + for _ in range(14): env.step(0) # Tests that the ACL has been added and that the action is deny. diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py index b7b767e0..0db318a7 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py @@ -12,8 +12,8 @@ from primaite.game.agent.scripted_agents.abstract_tap import ( KillChainStageOptions, KillChainStageProgress, ) -from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain -from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain +from primaite.game.agent.scripted_agents.TAP001 import MobileMalwareKillChain, TAP001 +from primaite.game.agent.scripted_agents.TAP003 import InsiderKillChain, TAP003 from primaite.session.environment import PrimaiteGymEnv from primaite.simulator.network.hardware.nodes.network.router import ACLAction, Router from primaite.utils.validation.ip_protocol import PROTOCOL_LOOKUP From 7f3d166de0cfd998c06b229aa95fdc9bcf730b80 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Fri, 28 Feb 2025 14:37:01 +0000 Subject: [PATCH 19/23] #2925 Replace try catch logic with a more elegant solution. --- src/primaite/game/agent/scripted_agents/TAP003.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/primaite/game/agent/scripted_agents/TAP003.py b/src/primaite/game/agent/scripted_agents/TAP003.py index b329f3e1..1dcebe07 100644 --- a/src/primaite/game/agent/scripted_agents/TAP003.py +++ b/src/primaite/game/agent/scripted_agents/TAP003.py @@ -384,11 +384,11 @@ class TAP003(AbstractTAP, discriminator="tap-003"): ], } self.logger.info(f"Changing password on remote node {hostname}") - try: - self._next_account_change = account_changes.pop(0) - except IndexError: + if len(account_changes) == 0: self.logger.info("No further account changes required.") self._next_account_change = None + else: + self._next_account_change = account_changes.pop(0) self._change_password_target_host = hostname if not self._next_account_change: self.logger.info("Manipulation complete. Progressing to exploit...") From f3cc4e8409125a344a9755bf43595e6666d7a651 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Fri, 28 Feb 2025 15:12:00 +0000 Subject: [PATCH 20/23] Fix red scan not happening --- src/primaite/simulator/network/hardware/base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index 2b5f4d70..8e1c0072 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -2038,10 +2038,10 @@ class Node(SimComponent, ABC): # scan file system self.file_system.scan(instant_scan=True) - if self.config.red_scan_countdown > 0: - self.config.red_scan_countdown -= 1 + if self.red_scan_countdown > 0: + self.red_scan_countdown -= 1 - if self.config.red_scan_countdown == 0: + if self.red_scan_countdown == 0: # scan processes for process_id in self.processes: self.processes[process_id].reveal_to_red() From be51d039c27cf733c8676c820996d12277eedab9 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Fri, 28 Feb 2025 15:35:48 +0000 Subject: [PATCH 21/23] Moved `red_scan_countdown` into node class attributes. ( --- src/primaite/simulator/network/hardware/base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index 8e1c0072..2adb9ff5 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -1534,6 +1534,9 @@ class Node(SimComponent, ABC): _registry: ClassVar[Dict[str, Type["Node"]]] = {} """Registry of application types. Automatically populated when subclasses are defined.""" + red_scan_countdown: int = 0 + "Time steps until reveal to red scan is complete." + node_scan_countdown: int = 0 "Time steps until scan is complete" @@ -1573,9 +1576,6 @@ class Node(SimComponent, ABC): node_scan_duration: int = 10 "How many timesteps until the whole node is scanned. Default 10 time steps." - red_scan_countdown: int = 0 - "Time steps until reveal to red scan is complete." - dns_server: Optional[IPv4Address] = None "List of IP addresses of DNS servers used for name resolution." From 7b928696f63809cb17505e175ba5e575fcf69fbd Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Fri, 28 Feb 2025 15:39:06 +0000 Subject: [PATCH 22/23] #2725 Remove borked reload --- .../Data-Manipulation-E2E-Demonstration.ipynb | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb b/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb index 562f0f91..e7da2d15 100644 --- a/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb +++ b/src/primaite/notebooks/Data-Manipulation-E2E-Demonstration.ipynb @@ -380,18 +380,6 @@ "!primaite setup" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, { "cell_type": "code", "execution_count": null, @@ -712,7 +700,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": ".venv", "language": "python", "name": "python3" }, @@ -726,7 +714,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.11" + "version": "3.10.12" } }, "nbformat": 4, From 83c9a90c0a22cdcad5288a97d8360ac7aaa82200 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Fri, 28 Feb 2025 17:59:58 +0000 Subject: [PATCH 23/23] #20925 fixing failing notebook pipeline. --- src/primaite/notebooks/UC7-attack-variants.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/primaite/notebooks/UC7-attack-variants.ipynb b/src/primaite/notebooks/UC7-attack-variants.ipynb index 02ab2a99..14742796 100644 --- a/src/primaite/notebooks/UC7-attack-variants.ipynb +++ b/src/primaite/notebooks/UC7-attack-variants.ipynb @@ -564,9 +564,9 @@ ], "metadata": { "kernelspec": { - "display_name": "milpac_venv", + "display_name": ".venv", "language": "python", - "name": "milpac_venv" + "name": "python3" }, "language_info": { "codemirror_mode": {

      \n", " \n", @@ -884,11 +884,11 @@ "We can use the blue agent's NODE_FILE_SCAN action to scan the database file:\n", "\n", "```yaml\n", - "# ST-DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status)\n", + "# ST_DATA-PRV-SRV-DB | node-file-scan | Scans the database.db file (health status)\n", "49:\n", " action: node-file-scan\n", " options:\n", - " node_name: ST-DATA-PRV-SRV-DB\n", + " node_name: ST_DATA-PRV-SRV-DB\n", " folder_name: database\n", " file_name: database.db\n", "```\n", @@ -1001,8 +1001,8 @@ " repeat_kill_chain: false\n", " repeat_kill_chain_stages: true\n", " default_target_ip: *ST_SRV_DB_IP\n", - " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", - " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + " default_starting_node: \"ST_PROJ-A-PRV-PC-1\"\n", + " # starting_nodes: [\"ST_PROJ-A-PRV-PC-1\", \"ST_PROJ-B-PRV-PC-2\", \"ST_PROJ-C-PRV-PC-3\"]\n", " kill_chain:\n", " ... # Next notebook section will cover this configuration option\n", "\n", @@ -1364,7 +1364,7 @@ "metadata": {}, "outputs": [], "source": [ - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", "c2_beacon = starting_host.software_manager.software[\"c2-beacon\"]\n", "c2_beacon.show()" ] @@ -1507,8 +1507,8 @@ "metadata": {}, "outputs": [], "source": [ - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show(full=True)\n", "starting_host.file_system.show(full=True)" ] @@ -1535,8 +1535,8 @@ "metadata": {}, "outputs": [], "source": [ - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show(full=True)\n", "starting_host.file_system.show(full=True)" ] @@ -1563,8 +1563,8 @@ "metadata": {}, "outputs": [], "source": [ - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show(full=True)\n", "starting_host.file_system.show(full=True)" ] @@ -1625,8 +1625,8 @@ "metadata": {}, "outputs": [], "source": [ - "starting_host = env.game.simulation.network.get_node_by_hostname('ST-PROJ-A-PRV-PC-1')\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "starting_host = env.game.simulation.network.get_node_by_hostname('ST_PROJ-A-PRV-PC-1')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show(full=True)\n", "starting_host.file_system.show(full=True)" ] @@ -1676,7 +1676,7 @@ "metadata": {}, "outputs": [], "source": [ - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.user_manager.show()\n", "target_host.file_system.show()\n", "tap001.logger.show()" @@ -1699,11 +1699,11 @@ "The code cells below demonstrate the differences by using the blue agent to change the user account details on the target database before the exfiltration occurs using action 50\n", "\n", "```yaml\n", - " # ST-DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account\n", + " # ST_DATA-PRV-SRV-DB | node-account-change-password | Changes the password of a user account\n", " 50:\n", " action: node-account-change-password\n", " options:\n", - " node_name: ST-DATA-PRV-SRV-DB\n", + " node_name: ST_DATA-PRV-SRV-DB\n", " username: admin # default account\n", " current_password: admin # default password\n", " new_password: thr33_alert_wolv3z # A more 'secure' password\n", @@ -1760,7 +1760,7 @@ "source": [ "# Yet the target database.db is still corrupt.\n", "\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show()" ] }, @@ -1814,7 +1814,7 @@ "source": [ "# And the target database.db remains healthy.\n", "\n", - "target_host = env.game.simulation.network.get_node_by_hostname('ST-DATA-PRV-SRV-DB')\n", + "target_host = env.game.simulation.network.get_node_by_hostname('ST_DATA-PRV-SRV-DB')\n", "target_host.file_system.show()" ] } diff --git a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb index 365b01ed..8ec96da4 100644 --- a/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb +++ b/src/primaite/notebooks/UC7-TAP003-Kill-Chain-E2E.ipynb @@ -292,8 +292,8 @@ "source": [ "# TAP003's target routers\n", "\n", - "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", - "st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\")\n", "rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\")\n", "\n", "st_intra_prv_rt_cr.acl.show()\n", @@ -321,28 +321,28 @@ " variance: 0\n", " repeat_kill_chain: false\n", " repeat_kill_chain_stages: true\n", - " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", + " default_starting_node: \"ST_PROJ-A-PRV-PC-1\"\n", " starting_nodes:\n", - " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + " # starting_nodes: [\"ST_PROJ-A-PRV-PC-1\", \"ST_PROJ-B-PRV-PC-2\", \"ST_PROJ-C-PRV-PC-3\"]\n", " kill_chain:\n", " PLANNING:\n", " probability: 1\n", " starting_network_knowledge:\n", " credentials:\n", - " ST-PROJ-A-PRV-PC-1:\n", + " ST_PROJ-A-PRV-PC-1:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-B-PRV-PC-2:\n", + " ST_PROJ-B-PRV-PC-2:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-C-PRV-PC-3:\n", + " ST_PROJ-C-PRV-PC-3:\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-DR-1:\n", + " ST_INTRA-PRV-RT-DR-1:\n", " ip_address: 192.168.230.1\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-CR:\n", + " ST_INTRA-PRV-RT-CR:\n", " ip_address: 192.168.160.1\n", " username: admin\n", " password: admin\n", @@ -355,13 +355,13 @@ " MANIPULATION:\n", " probability: 1\n", " account_changes:\n", - " - host: ST-INTRA-PRV-RT-DR-1\n", - " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " - host: ST_INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1\n", " action: change_password\n", " username: admin\n", " new_password: \"red_pass\"\n", - " - host: ST-INTRA-PRV-RT-CR\n", - " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " - host: ST_INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST_INTRA-PRV-RT-CR\n", " action: change_password\n", " username: \"admin\"\n", " new_password: \"red_pass\"\n", @@ -373,7 +373,7 @@ " EXPLOIT:\n", " probability: 1\n", " malicious_acls:\n", - " - target_router: ST-INTRA-PRV-RT-DR-1\n", + " - target_router: ST_INTRA-PRV-RT-DR-1\n", " position: 1\n", " permission: DENY\n", " src_ip: ALL\n", @@ -383,7 +383,7 @@ " src_port: POSTGRES_SERVER\n", " dst_port: POSTGRES_SERVER\n", " protocol_name_name: TCP\n", - " - target_router: ST-INTRA-PRV-RT-CR\n", + " - target_router: ST_INTRA-PRV-RT-CR\n", " position: 1\n", " permission: DENY\n", " src_ip: ALL\n", @@ -654,8 +654,8 @@ "\n", "|Target Router | Impact |\n", "|----------------------|--------|\n", - "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", - "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`ST_INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST_INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST_DATA-PRV-SRV-DB`).|\n", + "|`ST_INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST_INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST_DMZ-PUB-SRV-WEB`)|\n", "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|\n", "\n", "\n", @@ -716,7 +716,7 @@ "source": [ "#### Demonstration of the ACL Rule blocking traffic\n", "\n", - "As an example of the malicious ACL Rule affecting traffic across the network, attempting to query the database server (ST-DATA-PRV-SRV-DB) from any of the `ST_PROJECT_*` networks should fail because it is must route through the `ST-INTRA-PRV-RT-DR-1` router which TAP003 has configured to block all `POSTGRES_SERVER` traffic." + "As an example of the malicious ACL Rule affecting traffic across the network, attempting to query the database server (ST_DATA-PRV-SRV-DB) from any of the `ST_PROJECT_*` networks should fail because it is must route through the `ST_INTRA-PRV-RT-DR-1` router which TAP003 has configured to block all `POSTGRES_SERVER` traffic." ] }, { @@ -725,10 +725,10 @@ "metadata": {}, "outputs": [], "source": [ - "affected_node = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", - "database_server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "affected_node = env.game.simulation.network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-1\")\n", + "database_server = env.game.simulation.network.get_node_by_hostname(\"ST_DATA-PRV-SRV-DB\")\n", "\n", - "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\")\n", "\n", "database_client: DatabaseClient = affected_node.software_manager.software.get(\"database-client\")\n", "st_intra_prv_rt_dr_1.acl.show()\n", @@ -768,10 +768,10 @@ "outputs": [], "source": [ "# This ACL blocks all web_server traffic from within the main `SOME_TECH` office. Thus leading to every SOME_TECH host unable to access the web-server\n", - "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\")\n", "st_intra_prv_rt_cr.acl.show()\n", "\n", - "st_head_office_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", + "st_head_office_private_pc_1: Computer = env.game.simulation.network.get_node_by_hostname(\"ST_HO-PRV-PC-1\")\n", "st_head_office_private_pc_1_web_browser: WebBrowser = st_head_office_private_pc_1.software_manager.software[\"web-browser\"]\n", "st_head_office_private_pc_1_web_browser.get_webpage(url=\"http://some_tech.com\")\n", "st_head_office_private_pc_1_web_browser.sys_log.show()" @@ -842,9 +842,9 @@ " variance: 0\n", " repeat_kill_chain: false\n", " repeat_kill_chain_stages: true\n", - " default_starting_node: \"ST-PROJ-A-PRV-PC-1\"\n", + " default_starting_node: \"ST_PROJ-A-PRV-PC-1\"\n", " starting_nodes:\n", - " # starting_nodes: [\"ST-PROJ-A-PRV-PC-1\", \"ST-PROJ-B-PRV-PC-2\", \"ST-PROJ-C-PRV-PC-3\"]\n", + " # starting_nodes: [\"ST_PROJ-A-PRV-PC-1\", \"ST_PROJ-B-PRV-PC-2\", \"ST_PROJ-C-PRV-PC-3\"]\n", "```" ] }, @@ -900,20 +900,20 @@ " probability: 1\n", " starting_network_knowledge:\n", " credentials:\n", - " ST-PROJ-A-PRV-PC-1:\n", + " ST_PROJ-A-PRV-PC-1:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-B-PRV-PC-2:\n", + " ST_PROJ-B-PRV-PC-2:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-C-PRV-PC-3:\n", + " ST_PROJ-C-PRV-PC-3:\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-DR-1:\n", + " ST_INTRA-PRV-RT-DR-1:\n", " ip_address: 192.168.230.1\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-CR:\n", + " ST_INTRA-PRV-RT-CR:\n", " ip_address: 192.168.160.1\n", " username: admin\n", " password: admin\n", @@ -926,13 +926,13 @@ " MANIPULATION:\n", " probability: 1\n", " account_changes:\n", - " - host: ST-INTRA-PRV-RT-DR-1\n", - " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " - host: ST_INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1\n", " action: change_password\n", " username: admin\n", " new_password: \"red_pass\"\n", - " - host: ST-INTRA-PRV-RT-CR\n", - " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " - host: ST_INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST_INTRA-PRV-RT-CR\n", " action: change_password\n", " username: \"admin\"\n", " new_password: \"red_pass\"\n", @@ -944,7 +944,7 @@ " EXPLOIT:\n", " probability: 1\n", " malicious_acls:\n", - " - target_router: ST-INTRA-PRV-RT-DR-1\n", + " - target_router: ST_INTRA-PRV-RT-DR-1\n", " ip_address: 192.168.230.1 \n", " position: 1\n", " permission: DENY\n", @@ -1131,7 +1131,7 @@ "source": [ "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", " cfg = yaml.safe_load(f)\n", - " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST-PROJ-A-PRV-PC-1\"\n", + " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST_PROJ-A-PRV-PC-1\"\n", "env = PrimaiteGymEnv(env_config = cfg)\n", "tap003 = env.game.agents[\"attacker\"]\n", "print(f\"TA003's Selected Starting Host: {tap003.starting_node}\")" @@ -1154,8 +1154,8 @@ "source": [ "with open(_EXAMPLE_CFG/\"uc7_config_tap003.yaml\", mode=\"r\") as f:\n", " cfg = yaml.safe_load(f)\n", - " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST-PROJ-A-PRV-PC-1\"\n", - " cfg[\"agents\"][32][\"agent_settings\"][\"starting_nodes\"] = [\"ST-PROJ-A-PRV-PC-1\",\"ST-PROJ-B-PRV-PC-2\"]" + " cfg[\"agents\"][32][\"agent_settings\"][\"default_starting_node\"] = \"ST_PROJ-A-PRV-PC-1\"\n", + " cfg[\"agents\"][32][\"agent_settings\"][\"starting_nodes\"] = [\"ST_PROJ-A-PRV-PC-1\",\"ST_PROJ-B-PRV-PC-2\"]" ] }, { @@ -1333,20 +1333,20 @@ " probability: 1\n", " starting_network_knowledge:\n", " credentials:\n", - " ST-PROJ-A-PRV-PC-1:\n", + " ST_PROJ-A-PRV-PC-1:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-B-PRV-PC-2:\n", + " ST_PROJ-B-PRV-PC-2:\n", " username: admin\n", " password: admin\n", - " ST-PROJ-C-PRV-PC-3:\n", + " ST_PROJ-C-PRV-PC-3:\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-DR-1:\n", + " ST_INTRA-PRV-RT-DR-1:\n", " ip_address: 192.168.230.1\n", " username: admin\n", " password: admin\n", - " ST-INTRA-PRV-RT-CR:\n", + " ST_INTRA-PRV-RT-CR:\n", " ip_address: 192.168.160.1\n", " username: admin\n", " password: admin\n", @@ -1391,13 +1391,13 @@ " MANIPULATION:\n", " probability: 1\n", " account_changes:\n", - " - host: ST-INTRA-PRV-RT-DR-1\n", - " ip_address: 192.168.230.1 # ST-INTRA-PRV-RT-DR-1\n", + " - host: ST_INTRA-PRV-RT-DR-1\n", + " ip_address: 192.168.230.1 # ST_INTRA-PRV-RT-DR-1\n", " action: change_password\n", " username: admin\n", " new_password: \"red_pass\"\n", - " - host: ST-INTRA-PRV-RT-CR\n", - " ip_address: 192.168.160.1 # ST-INTRA-PRV-RT-CR\n", + " - host: ST_INTRA-PRV-RT-CR\n", + " ip_address: 192.168.160.1 # ST_INTRA-PRV-RT-CR\n", " action: change_password\n", " username: \"admin\"\n", " new_password: \"red_pass\"\n", @@ -1446,7 +1446,7 @@ "metadata": {}, "outputs": [], "source": [ - "# New ST-PROJ-B-PRV-PC-2 user account\n", + "# New ST_PROJ-B-PRV-PC-2 user account\n", "user_username = \"example_user_1\"\n", "user_password = \"example_pass_1\"\n", "user_admin = \"False\"" @@ -1477,7 +1477,7 @@ "metadata": {}, "outputs": [], "source": [ - "account_changes = [{\"host\":\"ST-PROJ-A-PRV-PC-2\", \"ip_address\": \"192.168.230.2\", \"user_name\": user_username, \"old_password\": user_password, \"new_password\": tap003_new_password}]" + "account_changes = [{\"host\":\"ST_PROJ-A-PRV-PC-2\", \"ip_address\": \"192.168.230.2\", \"user_name\": user_username, \"old_password\": user_password, \"new_password\": tap003_new_password}]" ] }, { @@ -1501,15 +1501,15 @@ " cfg['agents'][32]['agent_settings']['start_step'] = 1\n", " cfg['agents'][32]['agent_settings']['frequency'] = 3\n", " cfg['agents'][32]['agent_settings']['variance'] = 0\n", - " starting_creds = {\"username\": \"admin\",\"password\":\"admin\", \"ip_address\":\"192.168.230.2\"} # Adding \"ST-PROJ-A-PRV-PC-2\" to TAP003's starting_network_knowledge\n", - " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['starting_network_knowledge']['credentials'].update({\"ST-PROJ-A-PRV-PC-2\": starting_creds})\n", + " starting_creds = {\"username\": \"admin\",\"password\":\"admin\", \"ip_address\":\"192.168.230.2\"} # Adding \"ST_PROJ-A-PRV-PC-2\" to TAP003's starting_network_knowledge\n", + " cfg['agents'][32]['agent_settings']['kill_chain']['PLANNING']['starting_network_knowledge']['credentials'].update({\"ST_PROJ-A-PRV-PC-2\": starting_creds})\n", " cfg['agents'][32]['agent_settings']['kill_chain']['MANIPULATION']['account_changes'] = account_changes\n", "env = PrimaiteGymEnv(env_config = cfg)\n", "env.reset()\n", "while(env.game.step_counter != 90): # 20 Red Actions (frequency of 3)\n", " env.step(0)\n", "tap003 = env.game.agents['attacker']\n", - "target_host = env.game.simulation.network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-2\")\n", + "target_host = env.game.simulation.network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-2\")\n", "target_host.user_manager.show()\n" ] }, @@ -1603,13 +1603,13 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_dr_1 = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\")\n", "st_intra_prv_rt_dr_1.acl.show()\n", "\n", "rem_pub_rt_dr = env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\")\n", "rem_pub_rt_dr.acl.show()\n", "\n", - "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\")\n", "st_intra_prv_rt_cr.acl.show()" ] }, @@ -1658,7 +1658,7 @@ "while(env.game.step_counter != 50):\n", " env.step(0)\n", "tap003 = env.game.agents['attacker']\n", - "target_host = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\")\n", + "target_host = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\")\n", "target_host.acl.show()" ] } diff --git a/src/primaite/notebooks/UC7-attack-variants.ipynb b/src/primaite/notebooks/UC7-attack-variants.ipynb index 01888134..90245197 100644 --- a/src/primaite/notebooks/UC7-attack-variants.ipynb +++ b/src/primaite/notebooks/UC7-attack-variants.ipynb @@ -91,7 +91,7 @@ "\n", "Let's print the schedule so that we can see which attack we can expect on each episode.\n", "\n", - "On episodes 0-4, the TAP001 agent will be used, and on episodes 5-9, the TAP003 agent will be used. Then, the environment will alternate between the two. Furthermore, the TAP001 agent will alternate between starting at `ST-PROJ-A-PRV-PC-1`, `ST-PROJ-B-PRV-PC-2`, `ST-PROJ-C-PRV-PC-3`." + "On episodes 0-4, the TAP001 agent will be used, and on episodes 5-9, the TAP003 agent will be used. Then, the environment will alternate between the two. Furthermore, the TAP001 agent will alternate between starting at `ST_PROJ-A-PRV-PC-1`, `ST_PROJ-B-PRV-PC-2`, `ST_PROJ-C-PRV-PC-3`." ] }, { @@ -125,7 +125,7 @@ " env.step(0)\n", "\n", "def print_agent_actions_except_do_nothing(agent_name):\n", - " \"\"\"Get the agent's action history, filter out DONOTHING actions, print relevant data in a table.\"\"\"\n", + " \"\"\"Get the agent's action history, filter out `do-nothing` actions, print relevant data in a table.\"\"\"\n", " table = PrettyTable()\n", " table.field_names = [\"Step\", \"Action\", \"Node\", \"Application\", \"Target IP\", \"Response\"]\n", " print(f\"Episode: {env.episode_counter}, Actions for '{agent_name}':\")\n", @@ -135,8 +135,8 @@ "\n", " node, application, target_ip = \"N/A\", \"N/A\", \"N/A\",\n", "\n", - " if item.action.startswith(\"node-map\"):\n", - " node = item.parameters['source-node']\n", + " if item.action.startswith(\"node-nmap\"):\n", + " node = item.parameters['source_node']\n", " application = \"nmap\"\n", " target_ip = str(item.parameters['target_ip_address'])\n", " target_ip = (target_ip[:25]+'...') if len(target_ip)>25 else target_ip # truncate long string\n", @@ -194,7 +194,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_data_prv_srv_db: Server = env.game.simulation.network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", + "st_data_prv_srv_db: Server = env.game.simulation.network.get_node_by_hostname(\"ST_DATA-PRV-SRV-DB\")\n", "st_data_prv_srv_db.file_system.show()" ] }, @@ -268,7 +268,7 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\")\n", "st_intra_prv_rt_cr.acl.show()" ] }, @@ -318,8 +318,8 @@ "\n", "|Target Router | Impact |\n", "|----------------------|--------|\n", - "|`ST-INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST-INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST-DATA-PRV-SRV-DB`).|\n", - "|`ST-INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST-INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST-DMZ-PUB-SRV-WEB`)|\n", + "|`ST_INTRA-PRV-RT-DR-1`| Blocks all `POSTGRES_SERVER` that arrives at the `ST_INTRA-PRV-RT-DR-1` router. This rule will prevent all ST_PROJ_* hosts from accessing the database (`ST_DATA-PRV-SRV-DB`).|\n", + "|`ST_INTRA-PRV-RT-CR`| Blocks all `HTTP` traffic that arrives at the`ST_INTRA-PRV-RT-CR` router. This rule will prevent all SOME_TECH hosts from accessing the webserver (`ST-DMZ-PUB-SRV-WEB`)|\n", "|`REM-PUB-RT-DR`| Blocks all `DNS` traffic that arrives at the `REM-PUB-RT-DR` router. This rule prevents any remote site works from accessing the DNS Server (`ISP-PUB-SRV-DNS`).|" ] }, @@ -357,7 +357,7 @@ "metadata": {}, "outputs": [], "source": [ - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()" + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\").acl.show()" ] }, { @@ -366,7 +366,7 @@ "metadata": {}, "outputs": [], "source": [ - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()" + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\").acl.show()" ] }, { @@ -494,8 +494,8 @@ "outputs": [], "source": [ "env.reset()\n", - "env.step(50) # NODE_ACCOUNTS_CHANGE_PASSWORD | st-intra-prv-rt-cr\n", - "env.step(52) # NODE_ACCOUNTS_CHANGE_PASSWORD | st-intra-prv-rt-dr-1\n", + "env.step(50) # NODE_ACCOUNTS_CHANGE_PASSWORD | ST_INTRA-prv-rt-cr\n", + "env.step(52) # NODE_ACCOUNTS_CHANGE_PASSWORD | ST_INTRA-prv-rt-dr-1\n", "env.step(54) # NODE_ACCOUNTS_CHANGE_PASSWORD | rem-pub-rt-dr\n", "finish_episode_and_print_reward()\n", "\n", @@ -522,8 +522,8 @@ "for _ in range(45):\n", " env.step(0)\n", "\n", - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()\n", - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\").acl.show()\n", "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show()" ] }, @@ -533,8 +533,8 @@ "metadata": {}, "outputs": [], "source": [ - "env.step(44) # ROUTER_ACL_REMOVERULE | st-intra-prv-rt-cr\n", - "env.step(53) # ROUTER_ACL_REMOVERULE | st-intra-prv-rt-dr-1\n", + "env.step(44) # ROUTER_ACL_REMOVERULE | ST_INTRA-prv-rt-cr\n", + "env.step(53) # ROUTER_ACL_REMOVERULE | ST_INTRA-prv-rt-dr-1\n", "env.step(55) # ROUTER_ACL_REMOVERULE | rem-pub-rt-dr" ] }, @@ -544,8 +544,8 @@ "metadata": {}, "outputs": [], "source": [ - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-CR\").acl.show()\n", - "env.game.simulation.network.get_node_by_hostname(\"ST-INTRA-PRV-RT-DR-1\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-CR\").acl.show()\n", + "env.game.simulation.network.get_node_by_hostname(\"ST_INTRA-PRV-RT-DR-1\").acl.show()\n", "env.game.simulation.network.get_node_by_hostname(\"REM-PUB-RT-DR\").acl.show()\n" ] }, @@ -564,9 +564,9 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "milpac_venv", "language": "python", - "name": "python3" + "name": "milpac_venv" }, "language_info": { "codemirror_mode": { diff --git a/src/primaite/notebooks/UC7-network_connectivity.ipynb b/src/primaite/notebooks/UC7-network_connectivity.ipynb index 356e23aa..1a2415ac 100644 --- a/src/primaite/notebooks/UC7-network_connectivity.ipynb +++ b/src/primaite/notebooks/UC7-network_connectivity.ipynb @@ -342,8 +342,8 @@ "metadata": {}, "outputs": [], "source": [ - "st_pub_fw: Firewall = network.get_node_by_hostname(hostname=\"ST-PUB-FW\")\n", - "st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname=\"ST-DMZ-PUB-SRV-WEB\")" + "st_pub_fw: Firewall = network.get_node_by_hostname(hostname=\"ST_PUB-FW\")\n", + "st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname=\"ST_DMZ-PUB-SRV-WEB\")" ] }, { @@ -408,9 +408,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-CR\")\n", - "st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-1\")\n", - "st_intra_prv_rt_dr_2: Router = network.get_node_by_hostname(hostname=\"ST-INTRA-PRV-RT-DR-2\")" + "st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-CR\")\n", + "st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-DR-1\")\n", + "st_intra_prv_rt_dr_2: Router = network.get_node_by_hostname(hostname=\"ST_INTRA-PRV-RT-DR-2\")" ] }, { @@ -558,9 +558,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_head_office_private_pc_1: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-1\")\n", - "st_head_office_private_pc_2: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-2\")\n", - "st_head_office_private_pc_3: Computer = network.get_node_by_hostname(\"ST-HO-PRV-PC-3\")" + "st_head_office_private_pc_1: Computer = network.get_node_by_hostname(\"ST_HO-PRV-PC-1\")\n", + "st_head_office_private_pc_2: Computer = network.get_node_by_hostname(\"ST_HO-PRV-PC-2\")\n", + "st_head_office_private_pc_3: Computer = network.get_node_by_hostname(\"ST_HO-PRV-PC-3\")" ] }, { @@ -609,9 +609,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_human_resources_private_pc_1: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-1\")\n", - "st_human_resources_private_pc_2: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-2\")\n", - "st_human_resources_private_pc_3: Computer = network.get_node_by_hostname(\"ST-HR-PRV-PC-3\")" + "st_human_resources_private_pc_1: Computer = network.get_node_by_hostname(\"ST_HR-PRV-PC-1\")\n", + "st_human_resources_private_pc_2: Computer = network.get_node_by_hostname(\"ST_HR-PRV-PC-2\")\n", + "st_human_resources_private_pc_3: Computer = network.get_node_by_hostname(\"ST_HR-PRV-PC-3\")" ] }, { @@ -671,8 +671,8 @@ "metadata": {}, "outputs": [], "source": [ - "st_data_private_server_database: Server = network.get_node_by_hostname(\"ST-DATA-PRV-SRV-DB\")\n", - "st_data_private_server_storage: Server = network.get_node_by_hostname(\"ST-DATA-PRV-SRV-STORAGE\")" + "st_data_private_server_database: Server = network.get_node_by_hostname(\"ST_DATA-PRV-SRV-DB\")\n", + "st_data_private_server_storage: Server = network.get_node_by_hostname(\"ST_DATA-PRV-SRV-STORAGE\")" ] }, { @@ -710,9 +710,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_a_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-1\")\n", - "st_project_a_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-2\")\n", - "st_project_a_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-A-PRV-PC-3\")" + "st_project_a_private_pc_1: Computer = network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-1\")\n", + "st_project_a_private_pc_2: Computer = network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-2\")\n", + "st_project_a_private_pc_3: Computer = network.get_node_by_hostname(\"ST_PROJ-A-PRV-PC-3\")" ] }, { @@ -754,7 +754,7 @@ "metadata": {}, "outputs": [], "source": [ - "# ST Private Project A PC 1 --> ST-INTRA-PRV-RT-CR\n", + "# ST Private Project A PC 1 --> ST_INTRA-PRV-RT-CR\n", "\n", "st_project_a_private_pc_1.ping(st_intra_prv_rt_cr.network_interface[1].ip_address)" ] @@ -765,7 +765,7 @@ "metadata": {}, "outputs": [], "source": [ - "# ST Private Project A PC 1 --> ST-INTRA-PRV-RT-DR-2\n", + "# ST Private Project A PC 1 --> ST_INTRA-PRV-RT-DR-2\n", "\n", "st_project_a_private_pc_1.ping(\"192.168.170.2\")" ] @@ -783,9 +783,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_b_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-1\")\n", - "st_project_b_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-2\")\n", - "st_project_b_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-B-PRV-PC-3\")" + "st_project_b_private_pc_1: Computer = network.get_node_by_hostname(\"ST_PROJ-B-PRV-PC-1\")\n", + "st_project_b_private_pc_2: Computer = network.get_node_by_hostname(\"ST_PROJ-B-PRV-PC-2\")\n", + "st_project_b_private_pc_3: Computer = network.get_node_by_hostname(\"ST_PROJ-B-PRV-PC-3\")" ] }, { @@ -834,9 +834,9 @@ "metadata": {}, "outputs": [], "source": [ - "st_project_c_private_pc_1: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-1\")\n", - "st_project_c_private_pc_2: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-2\")\n", - "st_project_c_private_pc_3: Computer = network.get_node_by_hostname(\"ST-PROJ-C-PRV-PC-3\")" + "st_project_c_private_pc_1: Computer = network.get_node_by_hostname(\"ST_PROJ-C-PRV-PC-1\")\n", + "st_project_c_private_pc_2: Computer = network.get_node_by_hostname(\"ST_PROJ-C-PRV-PC-2\")\n", + "st_project_c_private_pc_3: Computer = network.get_node_by_hostname(\"ST_PROJ-C-PRV-PC-3\")" ] }, { diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg b/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg index 8df869e7..dfa8cb3c 100644 --- a/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg +++ b/src/primaite/notebooks/_package_data/uc7/uc7_network_detailed_svg.svg @@ -1,4 +1,4 @@ -



      ST_PROJ_A-
      PRV-PC-1
      ST_PROJ_A-...
      SOME TECH PROJECT A (ST_PROJ_A)
      SOME TECH PROJECT A (ST_PROJ_A)
      192.168.240.0/29
      192.168.240.0/29
      3
      3
      2
      2
      1
      1
      9
      9





      ST_INTRA-PRV-
      RT-DR-1
      ST_INTRA-PRV-...
      ST_INTRA-PRV-
      RT-CR
      ST_INTRA-PRV-...
      ST_INTRA-PRV-
      RT-DR-2
      ST_INTRA-PRV-...
      Port 1: 192.168.170.2
      Port 1: 192.168.170.2
      Port 3: 192.168.170.1
      Port 3: 192.168.170.1


      Port 2: 192.168.160.1
      Port 2: 192.168.160.1
      Port 1: 192.168.160.2
      Port 1: 192.168.160.2
      SOME_TECH HUMAN RESOURCES
      (ST_HR)
      SOME_TECH HUMAN RESOURCES...
      ST_PROJ_C-
      PRV-SW-AS
      ST_PROJ_C-...
      ST_PROJ_C-
      PRV-PC-3
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.4
      Port 1: 192.168.250.4
      Port 4
      Port 4
      ST_PROJ_C-
      PRV-PC-1
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.2
      Port 1: 192.168.250.2
      Port 2
      Port 2
      ST_PROJ_C-
      PRV-PC-2
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.3
      Port 1: 192.168.250.3
      Port 3
      Port 3
      SOME TECH PROJECT C (ST_PROJ_C)
      SOME TECH PROJECT C (ST_PROJ_C)
      192.168.250.0/29
      192.168.250.0/29
      192.168.160.0/30
      192.168.160.0/30
      192.168.170.0/30
      192.168.170.0/30
      192.168.210.0/29
      192.168.210.0/29




      Port 4: 10.1.100.1
      Port 4: 10.1.100.1
      External Port: 10.1.100.2
      External Port: 10.1.100.2
      ST_HO-PRV-PC-2
      ST_HO-PRV-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      ST_HO-PRV-PC-1
      ST_HO-PRV-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.20.2
      Port 1: 192.168.20.2
      Port 3
      Port 3
      Port 1: 192.168.20.3
      Port 1: 192.168.20.3
      Port 4
      Port 4
      Port 1: 192.168.20.4
      Port 1: 192.168.20.4
      ST-PUB-FW
      ST-PUB-FW
      DMZ Port: 192.168.100.1
      DMZ Port: 192.168.100.1
      Port 1: 192.168.100.2
      Port 1: 192.168.100.2
      Internal Port: 192.168.150.1
      Internal Port: 192.168.150.1
      Port 1: 192.168.150.2 
      Port 1: 192.168.150.2 
      ST_HO-PRV-
      SW-AS
      ST_HO-PRV-...
      ST_DATA-PRV-SRV-DB
      ST_DATA-PRV-SRV-DB
      7
      7
      9
      9
      3
      3
      6
      6
      Port 1: 192.168.220.3
      Port 1: 192.168.220.3
      Port 3
      Port 3
      Port 1: 192.168.220.2
      Port 1: 192.168.220.2
      Port 2
      Port 2


      ST_PROJ_B-
      PRV-PC-2
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9


      ST_PROJ_B-
      PRV-SW-AS
      ST_PROJ_B-...
      Port 1: 192.168.240.3
      Port 1: 192.168.240.3
      Port 3
      Port 3

      SOME_TECH DMZ (ST_DMZ)
      SOME_TECH DMZ (ST_DMZ)
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      9
      9
      3
      3
      5
      5
      Port 1
      Port 1
      Port 2: 192.168.200.1
      Port 2: 192.168.200.1
      Port 1
      Port 1
      Port 3: 192.168.210.1
      Port 3: 192.168.210.1
      ST_HO-PRV-PC-1
      ST_HO-PRV-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.200.2
      Port 1: 192.168.200.2
      ST_HO-PRV-
      SW-AS
      ST_HO-PRV-...
      ST_HO-PRV-PC-3
      ST_HO-PRV-PC-3
      3
      3
      2
      2
      1
      1
      9
      9
      Port 4
      Port 4
      Port 1: 192.168.200.4
      Port 1: 192.168.200.4
      SOME_TECH HEAD OFFICE
      (ST_HO)
      SOME_TECH HEAD OFFICE...
      ST_HO-PRV-PC-2
      ST_HO-PRV-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      Port 3
      Port 3
      Port 1: 192.168.200.3
      Port 1: 192.168.200.3
      Port 4: 192.168.220.1
      Port 4: 192.168.220.1
      Port 1
      Port 1
      Port 1
      Port 1
      Port 4: 192.168.250.1
      Port 4: 192.168.250.1
      Port 2: 192.168.230.1
      Port 2: 192.168.230.1
      Port 1
      Port 1
      Port 1
      Port 1
      Port 3: 192.168.240.1 
      Port 3: 192.168.240.1 
      ST_PROJ_A-
      PRV-SW-AS
      ST_PROJ_A-...
      ST_PROJ_A-
      PRV-PC-2
      ST_PROJ_A-...
      3
      3
      2
      2
      1
      1
      9
      9
      ST_PROJ_A-
      PRV-PC-3
      ST_PROJ_A-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.230.2
      Port 1: 192.168.230.2
      Port 2
      Port 2
      Port 1: 192.168.230.3
      Port 1: 192.168.230.3
      Port 3
      Port 3
      Port 1: 192.168.230.4
      Port 1: 192.168.230.4
      Port 4
      Port 4
      SOME TECH PROJECT B
      (ST_PROJ_ B)
      SOME TECH PROJECT B...
      ST_PROJ_B-
      PRV-PC-1
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.240.2
      Port 1: 192.168.240.2
      Port 2
      Port 2
      Port 1: 192.168.240.4
      Port 1: 192.168.240.4
      Port 4
      Port 4
      ST_PROJ_B-
      PRV-PC-3
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9
      ST_HO-PRV-PC-3
      ST_HO-PRV-PC-3
      3
      3
      2
      2
      1
      1
      9
      9
      SOME_TECH Main Site Network
      SOME_TECH Main Site Network
      SOME TECH DATA (ST_DATA)
      SOME TECH DATA (ST_DATA)



      HOME OFFICE (HOME)
      HOME OFFICE (HOME)


      HOME-PUB-PC-1
      HOME-PUB-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      192.168.1.0/26
      192.168.1.0/26
      HOME-PUB-PC-2
      HOME-PUB-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      HOME-PUB-SRV
      HOME-PUB-SRV
      3
      3
      9
      9
      HOME-PUB-
      SW-AS
      HOME-PUB-...
      Port 1: 192.168.1.2/26
      Port 1: 192.168.1.2/26
      Port 2
      Port 2
      Port 1: 192.168.1.3/26
      Port 1: 192.168.1.3/26
      Port 3
      Port 3
      Port 1
      Port 1
      Port 1: 192.168.1.1
      Port 1: 192.168.1.1
      HOME-PUB-
      RT-DR
      HOME-PUB-...
      ISP-PUB-RT-BR
      ISP-PUB-RT-BR


      ISP-PUB-
      SRV-DNS
      ISP-PUB-...
      8.8.8.0/28
      8.8.8.0/28
      10.1.10.0/30
      10.1.10.0/30
      INTERNET (ISP)
      INTERNET (ISP)
      REM-PUB-FW
      REM-PUB-FW
      Port 1: 192.168.1.4/26
      Port 1: 192.168.1.4/26
      Port 4
      Port 4
      REM-PUB-RT-DR
      REM-PUB-RT-DR


      Port 3: 10.1.10.1
      Port 3: 10.1.10.1
      External Port: 10.1.10.1
      External Port: 10.1.10.1
      Port 2: 10.1.0.2
      Port 2: 10.1.0.2
      Port 1: 10.1.0.1
      Port 1: 10.1.0.1
      Internal Port: 192.168.10.1
      Internal Port: 192.168.10.1
      Port 1: 192.168.10.2
      Port 1: 192.168.10.2
      Port 1: 8.8.8.8
      Port 1: 8.8.8.8
      Port 2: 8.8.8.1
      Port 2: 8.8.8.1
      4
      4
      10
      10


      Remote Site (REMOTE)
      Remote Site (REMOTE)
      REM-PUB-PC-2
      REM-PUB-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      REM-PUB-PC-1
      REM-PUB-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.20.2
      Port 1: 192.168.20.2
      Port 3
      Port 3
      Port 1: 192.168.20.3
      Port 1: 192.168.20.3
      Port 3
      Port 3
      Port 2: 192.168.20.1
      Port 2: 192.168.20.1
      Port 1
      Port 1
      REM-PUB-
      SW-AS
      REM-PUB-...
      REM-PUB-SRV
      REM-PUB-SRV
      3
      3
      9
      9
      Port 1: 192.168.20.4
      Port 1: 192.168.20.4
      Port 4
      Port 4
      192.168.10.0/30
      192.168.10.0/30
      192.168.10.0/30
      192.168.10.0/30
      192.168.250.0/29
      192.168.250.0/29
      ST_DATA-PRV-SW-AS
      ST_DATA-PRV-SW-AS
      ST-DATA-PRV-SRV-STORAGE
      ST-DATA-PRV-SRV-STOR...
      3
      3
      8
      8
      9
      9
      192.168.220.0/29
      192.168.220.0/29
      192.168.200.0/29
      192.168.200.0/29
      192.168.50.0/28
      192.168.50.0/28
      10.1.100.0/30
      10.1.100.0/30
      192.168.100.0/30
      192.168.100.0/30
      10.1.0.0/30
      10.1.0.0/30
      Node Software
      Number Key
      Node Software...
      SERVICES
      SERVICES
      APPLICATIONS
      APPLICATIONS
      1
      1
      2
      2
      DatabaseClient
      DatabaseClient
      Webbrowser
      Webbrowser
      3
      3
      DNSClient
      DNSClient
      4
      4
      Web Server
      Web Server
      5
      5
      WebServer
      WebServer
      6
      6
      DatabaseService
      DatabaseService
      7
      7
      FTP Client
      FTP Client
      8
      8
      FTP Server
      FTP Server
      9
      9
      NTP Client
      NTP Client
      10
      10
      NTP Server
      NTP Server

      UC7 Detailed Network Diagram

      UC7 Detailed Network Diagram
      Node Type Colour Key
      Node Type Colour Key
      ROUTER
      #CFE4FF
      ROUTER...
      SERVER
      #CED4DB
      SERVER...
      FIREWALL
      #FFD9D9
      FIREWALL...
      SWITCH
      #FFF7A1
      SWITCH...
      COMPUTER
      #E9E9E9
      COMPUTER...
      Text is not SVG - cannot display
      +



      ST_PROJ_A-
      PRV-PC-1
      ST_PROJ_A-...
      SOME TECH PROJECT A (ST_PROJ_A)
      SOME TECH PROJECT A (ST_PROJ_A)
      192.168.240.0/29
      192.168.240.0/29
      3
      3
      2
      2
      1
      1
      9
      9





      ST_INTRA-PRV-
      RT-DR-1
      ST_INTRA-PRV-...
      ST_INTRA-PRV-
      RT-CR
      ST_INTRA-PRV-...
      ST_INTRA-PRV-
      RT-DR-2
      ST_INTRA-PRV-...
      Port 1: 192.168.170.2
      Port 1: 192.168.170.2
      Port 3: 192.168.170.1
      Port 3: 192.168.170.1


      Port 2: 192.168.160.1
      Port 2: 192.168.160.1
      Port 1: 192.168.160.2
      Port 1: 192.168.160.2
      SOME_TECH HUMAN RESOURCES
      (ST_HR)
      SOME_TECH HUMAN RESOURCES...
      ST_PROJ_C-
      PRV-SW-AS
      ST_PROJ_C-...
      ST_PROJ_C-
      PRV-PC-3
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.4
      Port 1: 192.168.250.4
      Port 4
      Port 4
      ST_PROJ_C-
      PRV-PC-1
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.2
      Port 1: 192.168.250.2
      Port 2
      Port 2
      ST_PROJ_C-
      PRV-PC-2
      ST_PROJ_C-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.250.3
      Port 1: 192.168.250.3
      Port 3
      Port 3
      SOME TECH PROJECT C (ST_PROJ_C)
      SOME TECH PROJECT C (ST_PROJ_C)
      192.168.250.0/29
      192.168.250.0/29
      192.168.160.0/30
      192.168.160.0/30
      192.168.170.0/30
      192.168.170.0/30
      192.168.210.0/29
      192.168.210.0/29




      Port 4: 10.1.100.1
      Port 4: 10.1.100.1
      External Port: 10.1.100.2
      External Port: 10.1.100.2
      ST_HO-PRV-PC-2
      ST_HO-PRV-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      ST_HO-PRV-PC-1
      ST_HO-PRV-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.20.2
      Port 1: 192.168.20.2
      Port 3
      Port 3
      Port 1: 192.168.20.3
      Port 1: 192.168.20.3
      Port 4
      Port 4
      Port 1: 192.168.20.4
      Port 1: 192.168.20.4
      ST_PUB-FW
      ST_PUB-FW
      DMZ Port: 192.168.100.1
      DMZ Port: 192.168.100.1
      Port 1: 192.168.100.2
      Port 1: 192.168.100.2
      Internal Port: 192.168.150.1
      Internal Port: 192.168.150.1
      Port 1: 192.168.150.2 
      Port 1: 192.168.150.2 
      ST_HO-PRV-
      SW-AS
      ST_HO-PRV-...
      ST_DATA-PRV-SRV-DB
      ST_DATA-PRV-SRV-DB
      7
      7
      9
      9
      3
      3
      6
      6
      Port 1: 192.168.220.3
      Port 1: 192.168.220.3
      Port 3
      Port 3
      Port 1: 192.168.220.2
      Port 1: 192.168.220.2
      Port 2
      Port 2


      ST_PROJ_B-
      PRV-PC-2
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9


      ST_PROJ_B-
      PRV-SW-AS
      ST_PROJ_B-...
      Port 1: 192.168.240.3
      Port 1: 192.168.240.3
      Port 3
      Port 3

      SOME_TECH DMZ (ST_DMZ)
      SOME_TECH DMZ (ST_DMZ)
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      ST_DMZ-PUB-SRV-WEB
      9
      9
      3
      3
      5
      5
      Port 1
      Port 1
      Port 2: 192.168.200.1
      Port 2: 192.168.200.1
      Port 1
      Port 1
      Port 3: 192.168.210.1
      Port 3: 192.168.210.1
      ST_HO-PRV-PC-1
      ST_HO-PRV-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.200.2
      Port 1: 192.168.200.2
      ST_HO-PRV-
      SW-AS
      ST_HO-PRV-...
      ST_HO-PRV-PC-3
      ST_HO-PRV-PC-3
      3
      3
      2
      2
      1
      1
      9
      9
      Port 4
      Port 4
      Port 1: 192.168.200.4
      Port 1: 192.168.200.4
      SOME_TECH HEAD OFFICE
      (ST_HO)
      SOME_TECH HEAD OFFICE...
      ST_HO-PRV-PC-2
      ST_HO-PRV-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      Port 3
      Port 3
      Port 1: 192.168.200.3
      Port 1: 192.168.200.3
      Port 4: 192.168.220.1
      Port 4: 192.168.220.1
      Port 1
      Port 1
      Port 1
      Port 1
      Port 4: 192.168.250.1
      Port 4: 192.168.250.1
      Port 2: 192.168.230.1
      Port 2: 192.168.230.1
      Port 1
      Port 1
      Port 1
      Port 1
      Port 3: 192.168.240.1 
      Port 3: 192.168.240.1 
      ST_PROJ_A-
      PRV-SW-AS
      ST_PROJ_A-...
      ST_PROJ_A-
      PRV-PC-2
      ST_PROJ_A-...
      3
      3
      2
      2
      1
      1
      9
      9
      ST_PROJ_A-
      PRV-PC-3
      ST_PROJ_A-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.230.2
      Port 1: 192.168.230.2
      Port 2
      Port 2
      Port 1: 192.168.230.3
      Port 1: 192.168.230.3
      Port 3
      Port 3
      Port 1: 192.168.230.4
      Port 1: 192.168.230.4
      Port 4
      Port 4
      SOME TECH PROJECT B
      (ST_PROJ_ B)
      SOME TECH PROJECT B...
      ST_PROJ_B-
      PRV-PC-1
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9
      Port 1: 192.168.240.2
      Port 1: 192.168.240.2
      Port 2
      Port 2
      Port 1: 192.168.240.4
      Port 1: 192.168.240.4
      Port 4
      Port 4
      ST_PROJ_B-
      PRV-PC-3
      ST_PROJ_B-...
      3
      3
      2
      2
      1
      1
      9
      9
      ST_HO-PRV-PC-3
      ST_HO-PRV-PC-3
      3
      3
      2
      2
      1
      1
      9
      9
      SOME_TECH Main Site Network
      SOME_TECH Main Site Network
      SOME TECH DATA (ST_DATA)
      SOME TECH DATA (ST_DATA)



      HOME OFFICE (HOME)
      HOME OFFICE (HOME)


      HOME-PUB-PC-1
      HOME-PUB-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      192.168.1.0/26
      192.168.1.0/26
      HOME-PUB-PC-2
      HOME-PUB-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      HOME-PUB-SRV
      HOME-PUB-SRV
      3
      3
      9
      9
      HOME-PUB-
      SW-AS
      HOME-PUB-...
      Port 1: 192.168.1.2/26
      Port 1: 192.168.1.2/26
      Port 2
      Port 2
      Port 1: 192.168.1.3/26
      Port 1: 192.168.1.3/26
      Port 3
      Port 3
      Port 1
      Port 1
      Port 1: 192.168.1.1
      Port 1: 192.168.1.1
      HOME-PUB-
      RT-DR
      HOME-PUB-...
      ISP-PUB-RT-BR
      ISP-PUB-RT-BR


      ISP-PUB-
      SRV-DNS
      ISP-PUB-...
      8.8.8.0/28
      8.8.8.0/28
      10.1.10.0/30
      10.1.10.0/30
      INTERNET (ISP)
      INTERNET (ISP)
      REM-PUB-FW
      REM-PUB-FW
      Port 1: 192.168.1.4/26
      Port 1: 192.168.1.4/26
      Port 4
      Port 4
      REM-PUB-RT-DR
      REM-PUB-RT-DR


      Port 3: 10.1.10.1
      Port 3: 10.1.10.1
      External Port: 10.1.10.1
      External Port: 10.1.10.1
      Port 2: 10.1.0.2
      Port 2: 10.1.0.2
      Port 1: 10.1.0.1
      Port 1: 10.1.0.1
      Internal Port: 192.168.10.1
      Internal Port: 192.168.10.1
      Port 1: 192.168.10.2
      Port 1: 192.168.10.2
      Port 1: 8.8.8.8
      Port 1: 8.8.8.8
      Port 2: 8.8.8.1
      Port 2: 8.8.8.1
      4
      4
      10
      10


      Remote Site (REMOTE)
      Remote Site (REMOTE)
      REM-PUB-PC-2
      REM-PUB-PC-2
      3
      3
      2
      2
      1
      1
      9
      9
      REM-PUB-PC-1
      REM-PUB-PC-1
      3
      3
      2
      2
      1
      1
      9
      9
      Port 2
      Port 2
      Port 1: 192.168.20.2
      Port 1: 192.168.20.2
      Port 3
      Port 3
      Port 1: 192.168.20.3
      Port 1: 192.168.20.3
      Port 3
      Port 3
      Port 2: 192.168.20.1
      Port 2: 192.168.20.1
      Port 1
      Port 1
      REM-PUB-
      SW-AS
      REM-PUB-...
      REM-PUB-SRV
      REM-PUB-SRV
      3
      3
      9
      9
      Port 1: 192.168.20.4
      Port 1: 192.168.20.4
      Port 4
      Port 4
      192.168.10.0/30
      192.168.10.0/30
      192.168.10.0/30
      192.168.10.0/30
      192.168.250.0/29
      192.168.250.0/29
      ST_DATA-PRV-SW-AS
      ST_DATA-PRV-SW-AS
      ST_DATA-PRV-SRV-STORAGE
      ST_DATA-PRV-SRV-STOR...
      3
      3
      8
      8
      9
      9
      192.168.220.0/29
      192.168.220.0/29
      192.168.200.0/29
      192.168.200.0/29
      192.168.50.0/28
      192.168.50.0/28
      10.1.100.0/30
      10.1.100.0/30
      192.168.100.0/30
      192.168.100.0/30
      10.1.0.0/30
      10.1.0.0/30
      Node Software
      Number Key
      Node Software...
      SERVICES
      SERVICES
      APPLICATIONS
      APPLICATIONS
      1
      1
      2
      2
      DatabaseClient
      DatabaseClient
      Webbrowser
      Webbrowser
      3
      3
      DNSClient
      DNSClient
      4
      4
      Web Server
      Web Server
      5
      5
      WebServer
      WebServer
      6
      6
      DatabaseService
      DatabaseService
      7
      7
      FTP Client
      FTP Client
      8
      8
      FTP Server
      FTP Server
      9
      9
      NTP Client
      NTP Client
      10
      10
      NTP Server
      NTP Server

      UC7 Detailed Network Diagram

      UC7 Detailed Network Diagram
      Node Type Colour Key
      Node Type Colour Key
      ROUTER
      #CFE4FF
      ROUTER...
      SERVER
      #CED4DB
      SERVER...
      FIREWALL
      #FFD9D9
      FIREWALL...
      SWITCH
      #FFF7A1
      SWITCH...
      COMPUTER
      #E9E9E9
      COMPUTER...
      Text is not SVG - cannot display
      diff --git a/tests/e2e_integration_tests/test_uc7_agents.py b/tests/e2e_integration_tests/test_uc7_agents.py index 8c597dc7..7bdba714 100644 --- a/tests/e2e_integration_tests/test_uc7_agents.py +++ b/tests/e2e_integration_tests/test_uc7_agents.py @@ -73,13 +73,13 @@ def test_green_agent_negative_reward(uc7_environment): # Purposefully disabling the following services: # 1. Disabling the web-server - st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname("ST-DMZ-PUB-SRV-WEB") + st_dmz_pub_srv_web: Server = env.game.simulation.network.get_node_by_hostname("ST_DMZ-PUB-SRV-WEB") st_web_server = st_dmz_pub_srv_web.software_manager.software["web-server"] st_web_server.operating_state = ServiceOperatingState.DISABLED assert st_web_server.operating_state == ServiceOperatingState.DISABLED # 2. Disabling the DatabaseServer - st_data_database_server: Server = env.game.simulation.network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + st_data_database_server: Server = env.game.simulation.network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") database_service: DatabaseService = st_data_database_server.software_manager.software["database-service"] database_service.operating_state = ServiceOperatingState.DISABLED assert database_service.operating_state == ServiceOperatingState.DISABLED @@ -102,7 +102,7 @@ def test_tap001_default_behaviour(uc7_environment): for _ in range(128): env.step(0) - some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-1") # Asserting that the `malware_dropper.ps1` was created. @@ -123,7 +123,7 @@ def test_tap001_default_behaviour(uc7_environment): assert c2_beacon.c2_connection_active == True # Asserting that the target database was successfully corrupted. - some_tech_data_server_database: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + some_tech_data_server_database: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") database_file: File = some_tech_data_server_database.file_system.get_file( folder_name="database", file_name="database.db" ) @@ -139,8 +139,8 @@ def test_tap003_default_behaviour(uc7_environment): def uc7_environment_tap003() -> PrimaiteGymEnv: with open(_EXAMPLE_CFG / "uc7_config_tap003.yaml", mode="r") as uc7_config: cfg = yaml.safe_load(uc7_config) - cfg["agents"][32]["agent_settings"]["starting_nodes"] = ["ST-PROJ-A-PRV-PC-1"] - cfg["agents"][32]["agent_settings"]["default_starting_node"] = "ST-PROJ-A-PRV-PC-1" + cfg["agents"][32]["agent_settings"]["starting_nodes"] = ["ST_PROJ-A-PRV-PC-1"] + cfg["agents"][32]["agent_settings"]["default_starting_node"] = "ST_PROJ-A-PRV-PC-1" env = PrimaiteGymEnv(env_config=cfg) return env @@ -151,15 +151,15 @@ def test_tap003_default_behaviour(uc7_environment): env.step(0) network = env.game.simulation.network - # Asserting that a malicious ACL has been added to ST-INTRA-PRV-RT-DR-1 - st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname="ST-INTRA-PRV-RT-DR-1") + # Asserting that a malicious ACL has been added to ST_INTRA-PRV-RT-DR-1 + st_intra_prv_rt_dr_1: Router = network.get_node_by_hostname(hostname="ST_INTRA-PRV-RT-DR-1") assert st_intra_prv_rt_dr_1.acl.acl[1].action == ACLAction.DENY assert st_intra_prv_rt_dr_1.acl.acl[1].protocol == "tcp" assert st_intra_prv_rt_dr_1.acl.acl[1].src_port == PORT_LOOKUP.get("POSTGRES_SERVER") assert st_intra_prv_rt_dr_1.acl.acl[1].dst_port == PORT_LOOKUP.get("POSTGRES_SERVER") - # Asserting that a malicious ACL has been added to ST-INTRA-PRV-RT-CR - st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname="ST-INTRA-PRV-RT-CR") + # Asserting that a malicious ACL has been added to ST_INTRA-PRV-RT-CR + st_intra_prv_rt_cr: Router = network.get_node_by_hostname(hostname="ST_INTRA-PRV-RT-CR") assert st_intra_prv_rt_cr.acl.acl[1].action == ACLAction.DENY assert st_intra_prv_rt_cr.acl.acl[1].protocol == "tcp" assert st_intra_prv_rt_cr.acl.acl[1].src_port == PORT_LOOKUP.get("HTTP") diff --git a/tests/e2e_integration_tests/test_uc7_route_connectivity.py b/tests/e2e_integration_tests/test_uc7_route_connectivity.py index 25350c4b..af5f3cd2 100644 --- a/tests/e2e_integration_tests/test_uc7_route_connectivity.py +++ b/tests/e2e_integration_tests/test_uc7_route_connectivity.py @@ -74,8 +74,8 @@ def test_ping_remote_site(uc7_network): def test_ping_some_tech_dmz(uc7_network): """Asserts that the st_dmz_pub_srv_web and the st_public_firewall can ping each other and remote site and home office.""" network = uc7_network - st_pub_fw: Firewall = network.get_node_by_hostname(hostname="ST-PUB-FW") - st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname="ST-DMZ-PUB-SRV-WEB") + st_pub_fw: Firewall = network.get_node_by_hostname(hostname="ST_PUB-FW") + st_dmz_pub_srv_web: Server = network.get_node_by_hostname(hostname="ST_DMZ-PUB-SRV-WEB") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") home_pub_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") @@ -91,9 +91,9 @@ def test_ping_some_tech_dmz(uc7_network): def test_ping_some_tech_head_office(uc7_network): """Asserts that all the some_tech_* PCs can ping each other and the public dns""" network = uc7_network - st_home_office_private_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") - st_home_office_private_pc_2: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-2") - st_home_office_private_pc_3: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-3") + st_home_office_private_pc_1: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-1") + st_home_office_private_pc_2: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-2") + st_home_office_private_pc_3: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-3") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_head_office(host): @@ -110,9 +110,9 @@ def test_ping_some_tech_head_office(uc7_network): def test_ping_some_tech_hr(uc7_network): """Assert that all some_tech_hr_* PCs can ping each other and the public dns""" network = uc7_network - some_tech_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") - some_tech_hr_pc_2: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-2") - some_tech_hr_pc_3: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-3") + some_tech_hr_pc_1: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-1") + some_tech_hr_pc_2: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-2") + some_tech_hr_pc_3: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-3") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_hr(host): @@ -129,8 +129,8 @@ def test_ping_some_tech_hr(uc7_network): def test_some_tech_data_hr(uc7_network): """Assert that all some_tech_data_* servers can ping each other and the public dns.""" network = uc7_network - some_tech_data_server_storage: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") - some_tech_data_server_database: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + some_tech_data_server_storage: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-STORAGE") + some_tech_data_server_database: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_hr(host): @@ -145,9 +145,9 @@ def test_some_tech_data_hr(uc7_network): def test_some_tech_project_a(uc7_network): """Asserts that all some_tech project A's PCs can ping each other and the public dns.""" network = uc7_network - some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") - some_tech_proj_a_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-2") - some_tech_proj_a_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-3") + some_tech_proj_a_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-1") + some_tech_proj_a_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-2") + some_tech_proj_a_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-3") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_proj_a(host): @@ -164,9 +164,9 @@ def test_some_tech_project_a(uc7_network): def test_some_tech_project_b(uc7_network): """Asserts that all some_tech_project_b PC's can ping each other and the public dps.""" network = uc7_network - some_tech_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") - some_tech_proj_b_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-2") - some_tech_proj_b_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-3") + some_tech_proj_b_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-1") + some_tech_proj_b_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-2") + some_tech_proj_b_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-3") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_proj_b(host): @@ -183,9 +183,9 @@ def test_some_tech_project_b(uc7_network): def test_some_tech_project_a(uc7_network): """Asserts that all some_tech_project_c PC's can ping each other and the public dps.""" network = uc7_network - some_tech_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") - some_tech_proj_c_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-2") - some_tech_proj_c_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-3") + some_tech_proj_c_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-1") + some_tech_proj_c_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-2") + some_tech_proj_c_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-3") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") def ping_all_some_tech_proj_c(host): @@ -205,13 +205,13 @@ def test_ping_all_networks(uc7_network): home_office_pc_1: Computer = network.get_node_by_hostname("HOME-PUB-PC-1") isp_pub_srv_dns: Server = network.get_node_by_hostname("ISP-PUB-SRV-DNS") remote_office_pc_1: Computer = network.get_node_by_hostname("REM-PUB-PC-1") - st_head_office_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") - st_human_resources_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") - st_data_storage_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") - st_data_database_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") - st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") - st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") - st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") + st_head_office_pc_1: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-1") + st_human_resources_pc_1: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-1") + st_data_storage_server: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-STORAGE") + st_data_database_server: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-1") + st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-1") + st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-1") def ping_network_wide(host): assert host.ping(home_office_pc_1.network_interface[1].ip_address) diff --git a/tests/e2e_integration_tests/test_uc7_services_and_applications.py b/tests/e2e_integration_tests/test_uc7_services_and_applications.py index 6514627c..0bcfcfca 100644 --- a/tests/e2e_integration_tests/test_uc7_services_and_applications.py +++ b/tests/e2e_integration_tests/test_uc7_services_and_applications.py @@ -139,7 +139,7 @@ def test_remote_office_software(uc7_network): def test_dmz_web_server(uc7_network): """Asserts that the DMZ WebServer functions as expected""" network: Network = uc7_network - st_dmz_pub_srv_web: Server = network.get_node_by_hostname("ST-DMZ-PUB-SRV-WEB") + st_dmz_pub_srv_web: Server = network.get_node_by_hostname("ST_DMZ-PUB-SRV-WEB") # Asserting the ST Web Server is working as expected st_web_server = st_dmz_pub_srv_web.software_manager.software["web-server"] @@ -150,7 +150,7 @@ def test_dmz_web_server(uc7_network): # Asserting that WebBrowser can actually connect to the WebServer # SOME TECH Human Resources --> DMZ Web Server - st_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") + st_hr_pc_1: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-1") st_hr_pc_1_web_browser: WebBrowser = st_hr_pc_1.software_manager.software["web-browser"] assert st_hr_pc_1_web_browser.get_webpage("http://some_tech.com") @@ -169,9 +169,9 @@ def test_tech_head_office_software(uc7_network): """Asserts that each host on the some_tech_head_office network has the expected services & applications which are operating as expected.""" network: Network = uc7_network - st_head_office_private_pc_1: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-1") - st_head_office_private_pc_2: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-2") - st_head_office_private_pc_3: Computer = network.get_node_by_hostname("ST-HO-PRV-PC-3") + st_head_office_private_pc_1: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-1") + st_head_office_private_pc_2: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-2") + st_head_office_private_pc_3: Computer = network.get_node_by_hostname("ST_HO-PRV-PC-3") # ST Head Office One @@ -199,9 +199,9 @@ def test_tech_human_resources_office_software(uc7_network): """Asserts that each host on the some_tech human_resources network has the expected services & applications which are operating as expected.""" network: Network = uc7_network - st_hr_pc_1: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-1") - st_hr_pc_2: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-2") - st_hr_pc_3: Computer = network.get_node_by_hostname("ST-HR-PRV-PC-3") + st_hr_pc_1: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-1") + st_hr_pc_2: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-2") + st_hr_pc_3: Computer = network.get_node_by_hostname("ST_HR-PRV-PC-3") # ST Human Resource PC 1 @@ -228,9 +228,9 @@ def test_tech_human_resources_office_software(uc7_network): def test_tech_data_software(uc7_network): """Asserts the database and database storage servers on the some_tech data network are operating as expected.""" network: Network = uc7_network - st_data_database_server: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") - st_data_database_storage: Server = network.get_node_by_hostname("ST-DATA-PRV-SRV-STORAGE") - st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") + st_data_database_server: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") + st_data_database_storage: Server = network.get_node_by_hostname("ST_DATA-PRV-SRV-STORAGE") + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-1") # Asserting that the database_service is working as expected database_service: DatabaseService = st_data_database_server.software_manager.software["database-service"] @@ -254,9 +254,9 @@ def test_tech_data_software(uc7_network): def test_tech_proj_a_software(uc7_network): """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" network: Network = uc7_network - st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-1") - st_proj_a_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-2") - st_proj_a_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-A-PRV-PC-3") + st_proj_a_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-1") + st_proj_a_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-2") + st_proj_a_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-A-PRV-PC-3") # ST Project A - PC 1 @@ -283,9 +283,9 @@ def test_tech_proj_a_software(uc7_network): def test_tech_proj_b_software(uc7_network): """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" network: Network = uc7_network - st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-1") - st_proj_b_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-2") - st_proj_b_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-B-PRV-PC-3") + st_proj_b_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-1") + st_proj_b_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-2") + st_proj_b_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-B-PRV-PC-3") # ST Project B - PC 1 @@ -312,9 +312,9 @@ def test_tech_proj_b_software(uc7_network): def test_tech_proj_c_software(uc7_network): """Asserts that each host on the some_tech project A network has the expected services & applications which are operating as expected.""" network: Network = uc7_network - st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-1") - st_proj_c_pc_2: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-2") - st_proj_c_pc_3: Computer = network.get_node_by_hostname("ST-PROJ-C-PRV-PC-3") + st_proj_c_pc_1: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-1") + st_proj_c_pc_2: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-2") + st_proj_c_pc_3: Computer = network.get_node_by_hostname("ST_PROJ-C-PRV-PC-3") # ST Project C - PC 1 diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py index 0135a4fb..2fcc33a8 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_abstract_tap.py @@ -103,7 +103,7 @@ def test_abstract_tap_select_start_node(): env = uc7_tap003_env(repeat_kill_chain=True, repeat_kill_chain_stages=True) # Using TAP003 for PyTests. tap: TAP003 = env.game.agents["attacker"] - assert tap.starting_node == "ST-PROJ-A-PRV-PC-1" + assert tap.starting_node == "ST_PROJ-A-PRV-PC-1" assert tap.current_host == tap.starting_node diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py index 17fe9b25..e20e02bb 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_kill_chain_stages.py @@ -188,7 +188,7 @@ def test_tap001_kill_chain_stage_PAYLOAD(): tap001: TAP001 = env.game.agents["attacker"] # The tap001's Target Database - target_host = env.game.simulation.network.get_node_by_hostname("ST-DATA-PRV-SRV-DB") + target_host = env.game.simulation.network.get_node_by_hostname("ST_DATA-PRV-SRV-DB") db_server_service: DatabaseService = target_host.software_manager.software.get("database-service") # Green agent status requests are tested within the ransomware application tests. diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py index 13b849c9..03961352 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap001_propagate_stage.py @@ -96,7 +96,7 @@ def test_tap001_kill_chain_stage_PROPAGATE_different_starting_node(): "192.168.240.0/29", "192.168.220.0/29", ] - starting_nodes = ["ST-PROJ-B-PRV-PC-2", "ST-PROJ-C-PRV-PC-3"] + starting_nodes = ["ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] env = uc7_tap001_env( payload=payload, scan_attempts=scan_attempts, network_addresses=network_addresses, starting_nodes=starting_nodes diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py index e9410ee4..32e2449c 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_kill_chain_stages.py @@ -152,7 +152,7 @@ def test_tap003_kill_chain_stage_manipulation(): env.step(0) env.step(0) env.step(0) - st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") + st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") assert st_intra_prv_rt_dr_1.user_manager.admins["admin"].password == "red_pass" env.step(0) @@ -160,7 +160,7 @@ def test_tap003_kill_chain_stage_manipulation(): env.step(0) env.step(0) env.step(0) - st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") assert st_intra_prv_rt_cr.user_manager.admins["admin"].password == "red_pass" env.step(0) @@ -178,8 +178,8 @@ def test_tap003_kill_chain_stage_exploit(): env = uc7_tap003_env() tap003: TAP003 = env.game.agents["attacker"] # The TAP003's Target Router/Firewall - st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") - st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + st_intra_prv_rt_dr_1: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") + st_intra_prv_rt_cr: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") rem_pub_rt_dr: Router = env.game.simulation.network.get_node_by_hostname("REM-PUB-RT-DR") assert tap003.current_kill_chain_stage == BaseKillChain.NOT_STARTED diff --git a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py index 036b6769..77b3ce75 100644 --- a/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py +++ b/tests/e2e_integration_tests/threat_actor_profiles/test_tap003_multiple_rules.py @@ -30,7 +30,7 @@ REPEAT_KILL_CHAIN_STAGES = False # Should the TAP restart from it's previous st KILL_CHAIN_PROBABILITY = 1 # Blank probability for agent 'success' RULES = [ { - "target_router": "ST-INTRA-PRV-RT-DR-1", + "target_router": "ST_INTRA-PRV-RT-DR-1", "position": 1, "permission": "DENY", "src_ip": "192.168.220.3", @@ -42,7 +42,7 @@ RULES = [ "protocol_name": "ALL", }, { - "target_router": "ST-INTRA-PRV-RT-DR-2", + "target_router": "ST_INTRA-PRV-RT-DR-2", "position": 5, "permission": "DENY", "src_ip": "192.168.220.3", @@ -54,7 +54,7 @@ RULES = [ "protocol_name": "ALL", }, { - "target_router": "ST-INTRA-PRV-RT-CR", + "target_router": "ST_INTRA-PRV-RT-CR", "position": 6, "permission": "PERMIT", "src_ip": "192.168.220.3", @@ -105,14 +105,14 @@ def uc7_tap003_env(**kwargs) -> PrimaiteGymEnv: cfg["agents"][ATTACK_AGENT_INDEX]["agent_settings"]["kill_chain"]["EXPLOIT"]["malicious_acls"] = RULES # Adding the new test target to TAP003's starting knowledge: new_target_dict = { - "ST-INTRA-PRV-RT-DR-2": { + "ST_INTRA-PRV-RT-DR-2": { "ip_address": "192.168.170.2", "username": "admin", "password": "admin", } } new_target_manipulation = { - "host": "ST-INTRA-PRV-RT-DR-2", + "host": "ST_INTRA-PRV-RT-DR-2", "ip_address": "192.168.170.2", "action": "change_password", "username": "admin", @@ -150,7 +150,7 @@ def test_tap003_cycling_rules(): pytest.fail("While testing the cycling of TAP003 rules, the agent unexpectedly didn't execute its attack.") wait_until_attack() - target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-1") + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-1") assert (rule_0 := target_node.acl.acl[1]) is not None assert rule_0.action == ACLAction.DENY assert rule_0.protocol == None @@ -161,7 +161,7 @@ def test_tap003_cycling_rules(): assert rule_0.src_port == None assert rule_0.dst_port == None - target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-DR-2") + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-DR-2") wait_until_attack() assert (rule_1 := target_node.acl.acl[5]) is not None assert rule_1.action == ACLAction.DENY @@ -174,7 +174,7 @@ def test_tap003_cycling_rules(): assert rule_1.dst_port == None wait_until_attack() - target_node: Router = env.game.simulation.network.get_node_by_hostname("ST-INTRA-PRV-RT-CR") + target_node: Router = env.game.simulation.network.get_node_by_hostname("ST_INTRA-PRV-RT-CR") assert (rule_2 := target_node.acl.acl[6]) is not None assert rule_2.action == ACLAction.PERMIT assert rule_2.protocol == None diff --git a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py index 139ca154..03216865 100644 --- a/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py +++ b/tests/integration_tests/configuration_file_parsing/threat_actor_profile_settings/test_threat_actor_profile_settings.py @@ -24,7 +24,7 @@ def test_threat_actor_profile_load_config(): assert agent.config.agent_settings.variance == 0 assert not agent.config.agent_settings.repeat_kill_chain assert agent.config.agent_settings.repeat_kill_chain_stages - assert agent.config.agent_settings.default_starting_node == "ST-PROJ-A-PRV-PC-1" + assert agent.config.agent_settings.default_starting_node == "ST_PROJ-A-PRV-PC-1" assert not agent.config.agent_settings.starting_nodes assert agent.config.agent_settings.kill_chain.PLANNING.probability == 1 assert len(agent.config.agent_settings.kill_chain.PLANNING.starting_network_knowledge["credentials"]) == 6 From d8b52012f5e5a184899a7c3e62aefa8dc4e79217 Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Tue, 25 Feb 2025 17:30:28 +0000 Subject: [PATCH 07/23] #2925 Addressing PR comments. General config clean up and typos. --- .../config/_package_data/uc7_config.yaml | 30 ------------------ .../_package_data/uc7_config_tap003.yaml | 28 ---------------- .../TAP001_PC1.yaml | 3 -- .../TAP001_PC2.yaml | 5 +-- .../TAP001_PC3.yaml | 5 +-- .../uc7_config_no_red.yaml | 29 ----------------- .../uc7/uc7_tap001/uc7_tap001_payload.png | Bin 1195203 -> 1217341 bytes 7 files changed, 2 insertions(+), 98 deletions(-) diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index 85b67bc6..9e051fa5 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -379,35 +379,7 @@ simulation: subnet_mask: *DNS_SUBNET next_hop_ip_address: 10.1.100.1 - # - address: 192.168.150.0 - # subnet_mask: *ST_INTRA_CR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.160.0 - # subnet_mask: *ST_INTRA_DR_ONE_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.170.0 - # subnet_mask: *ST_INTRA_DR_TWO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.200.0 - # subnet_mask: *ST_HO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.210.0 - # subnet_mask: *ST_HR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.220.0 - # subnet_mask: *ST_DATA_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.230.0 - # subnet_mask: *ST_PROJ_A_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.240.0 - # subnet_mask: *ST_PROJ_B_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.250.0 - # subnet_mask: *ST_PROJ_C_SUBNET - # next_hop_ip_address: 192.168.150.2 default_route: - #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - hostname: ST_DMZ-PUB-SRV-WEB @@ -1869,8 +1841,6 @@ agents: - 192.168.230.0/29 # ST Project A - 192.168.10.0/26 # Remote Site - 192.168.20.0/30 # Remote DMZ - # - 192.168.240.0/29 # ST Project B - # - 192.168.250.0/29 # ST Project C - 192.168.220.0/29 # ST Data (Contains Target) COMMAND_AND_CONTROL: probability: 1 diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml index dc5c62a9..3bc24ea3 100644 --- a/src/primaite/config/_package_data/uc7_config_tap003.yaml +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -379,35 +379,7 @@ simulation: subnet_mask: *DNS_SUBNET next_hop_ip_address: 10.1.100.1 - # - address: 192.168.150.0 - # subnet_mask: *ST_INTRA_CR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.160.0 - # subnet_mask: *ST_INTRA_DR_ONE_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.170.0 - # subnet_mask: *ST_INTRA_DR_TWO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.200.0 - # subnet_mask: *ST_HO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.210.0 - # subnet_mask: *ST_HR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.220.0 - # subnet_mask: *ST_DATA_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.230.0 - # subnet_mask: *ST_PROJ_A_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.240.0 - # subnet_mask: *ST_PROJ_B_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.250.0 - # subnet_mask: *ST_PROJ_C_SUBNET - # next_hop_ip_address: 192.168.150.2 default_route: - #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - hostname: ST_DMZ-PUB-SRV-WEB diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml index e4a76f84..721cec6e 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC1.yaml @@ -10,7 +10,6 @@ red: &red repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 default_starting_node: "ST_PROJ-C-PRV-PC-1" - # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: @@ -23,8 +22,6 @@ red: &red - 192.168.230.0/29 # ST Project A - 192.168.10.0/26 # Remote Site - 192.168.20.0/30 # Remote DMZ - # - 192.168.240.0/29 # ST Project B - # - 192.168.250.0/29 # ST Project C - 192.168.220.0/29 # ST Data (Contains Target) COMMAND_AND_CONTROL: probability: 1 diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml index bdf1ceb0..382a2d40 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC2.yaml @@ -10,7 +10,6 @@ red: &red repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 default_starting_node: "ST_PROJ-B-PRV-PC-2" - # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: @@ -20,11 +19,9 @@ red: &red scan_attempts: 20 repeat_scan: false network_addresses: - - 192.168.230.0/29 # ST Project A + - 192.168.240.0/29 # ST Project B - 192.168.10.0/26 # Remote Site - 192.168.20.0/30 # Remote DMZ - # - 192.168.240.0/29 # ST Project B - # - 192.168.250.0/29 # ST Project C - 192.168.220.0/29 # ST Data (Contains Target) COMMAND_AND_CONTROL: probability: 1 diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml index b65ae4d8..ad418b32 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/TAP001_PC3.yaml @@ -10,7 +10,6 @@ red: &red repeat_kill_chain_stages: true default_target_ip: 192.168.220.3 default_starting_node: "ST_PROJ-C-PRV-PC-3" - # starting_nodes: ["ST_PROJ-A-PRV-PC-1", "ST_PROJ-B-PRV-PC-2", "ST_PROJ-C-PRV-PC-3"] starting_nodes: kill_chain: ACTIVATE: @@ -20,11 +19,9 @@ red: &red scan_attempts: 20 repeat_scan: false network_addresses: - - 192.168.230.0/29 # ST Project A + - 192.168.250.0/29 # ST Project C - 192.168.10.0/26 # Remote Site - 192.168.20.0/30 # Remote DMZ - # - 192.168.240.0/29 # ST Project B - # - 192.168.250.0/29 # ST Project C - 192.168.220.0/29 # ST Data (Contains Target) COMMAND_AND_CONTROL: probability: 1 diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml index 1d245f85..49ed614e 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -378,36 +378,7 @@ simulation: - address: 8.8.8.0 subnet_mask: *DNS_SUBNET next_hop_ip_address: 10.1.100.1 - - # - address: 192.168.150.0 - # subnet_mask: *ST_INTRA_CR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.160.0 - # subnet_mask: *ST_INTRA_DR_ONE_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.170.0 - # subnet_mask: *ST_INTRA_DR_TWO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.200.0 - # subnet_mask: *ST_HO_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.210.0 - # subnet_mask: *ST_HR_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.220.0 - # subnet_mask: *ST_DATA_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.230.0 - # subnet_mask: *ST_PROJ_A_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.240.0 - # subnet_mask: *ST_PROJ_B_SUBNET - # next_hop_ip_address: 192.168.150.2 - # - address: 192.168.250.0 - # subnet_mask: *ST_PROJ_C_SUBNET - # next_hop_ip_address: 192.168.150.2 default_route: - #next_hop_ip_address: 10.1.100.1 next_hop_ip_address: 192.168.150.2 - hostname: ST_DMZ-PUB-SRV-WEB diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_payload.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_payload.png index ffd89300e4110ae37e21cda2cfe313e8aac5b430..c0c2c39db6a3dbf1f56fd0deb9f110ee03197859 100644 GIT binary patch delta 72492 zcmbrl2|U!@`!}9_WH2Zigt1n#jeSWNYqDi2do-5pYf%{MAkiQuMT!z-$vU>8Y-35u zzGsUlYocubGwQy-_kBOz-{<#x{$8&sX3m^*o$Fl7`+Z&K)9_vUMa~(VIC()@B2t3| zDQzMlD7UQ||AF7d|XArWmEUk^})$GMhC6YtQ8VL`MQM;2R zKdCvKtU{>-{^yL~rX+Avk}-?o$318u_?TvLM!YyTMJ-_+N%klRUq3@HhhKK4WKRCT z%b9$70gC@XO?EiR5`w=lPVSoQHFb*M`J8N-0{=V;d~v0fx)A>XNybW$EGK(Sju&r$ zu;H0F$bY_xe^E~ciEgVTBeYeLn{ED-1@F~HaTw28N^uUa;zLPI*eapeg|oVti)f!w zHWYin^!~VnWUse<^S>{Cx=(fp=4o_ zkO6PY{rMv=foF21K#(J)@e*MaL5F|40Dgj&7LhD|P9!;S$AMZ?Q(Rn5JlT%x#P3HZ zuP~j(hu)@uz~n^5#ijoIk(St(Ak~%P`Jvw}gZF+4F-R^fb)c4)mz31h{O>CytMEZ! z^8dEL?-eDH{A!RrS=>YlPoN)&r8>^X#wq$<2s0LA}o zCwP@J)U=F$U*Z3zs?ZGxAO1lqSrVS-6PfsbIS26q3RH-#~>voD}Y1_AjJa( zB-O!h5~324GIBCjljOhJ_rH8C`5}k?KMed| zM&kDu0CDSI9Oz$^&lGO(Pt*Rd3;b^kyQ`X-6~8P@uJBLG{x2&S!zBNAJHQt+QgZ+g zP20EY|1$GAaN7TmX8n8J;SpNoq?M&ew*6lg*2Vu1ts6&}I7!*Ai>HUt1mT~DQ?lVd z1X0r9hl&|l@P;)E%>?dil%iz6_c0zP2E%_IBtG;Cn8V>3r7k|Sp8_H(B`P8RAE%c7 zyHkVUFNOS1^p}(TGxY9@LO@@qoH_D0$GbR4!HPGyM+w0PCsL{tKHR2cVfejp^_w6k z{V|d$x!!(XB{XDG|34B;;?BXJ%Kv+U`TaRaCfil~@4Zj*r+@!Fzx>MrcnLFV&k&%;6`lKhTF zky%#muQMa1q$TkgwiH5m9xO%h?>;Jt_Ftnlq zIa6>@$^yuUhsINI;`5y;ihsX7y9}s0et83O1b@bfqVhM>uv1Cw&odGFYo31*xI|GkW=E%fU6i+1Ek@bxYX z)cA{~kVE*OT=HzZxF-ek{(AV(88XEq5|X0Gzn`zPlqApr30vS*`l%1$dBP~D{(T)1 zki~mBk~!>Wu|GG$Coe6El>JZ4{s$0~k&qIV!tVpG-yIU(`!WR|9+p6H3LoS_QHJM< zqTv0H%pwxVf6BZ+-!F*t7d^?#ivqJa3C!ZZZ{k%qRAc`@sWlDGs%xCXO9YWiCcmRb z{(|TDdM66CKlk<@bAeOKNK1YsQ{L4YxeWCqnF_fA*XEpva{ZD@Je@-tUL$XFV zwX8IW!u)0W-;oIsQb57K)1pZG3!C`8v~rTaU?Yi{{64fNC%)GIC+zvDdt5q&A|Ehp z@xKD>zu784)_%K7|0_Tt@s)+6jL7r;_l`Z&AGcz54Nq z6BLK}{#eQ(!11!1pO2m2Wls-VM^87j11UuQb5YX4uu4jbO8;{m(S0I(hyp1pi=V)g z9io&Mm5?I&^1rOzb(rk%f3|7oXXoo6injmFillAwliX1DFWdY(Ec>a}pQelP`8OVH zCqc)NnnuH{KE~A$iGu1>uMxuX8+ti1yvp_;%1}Wvuo5)h z(IfZY{H2En?evEU58u-RJ?xL%*8}NIJY6q+AL%_B{DTMv1cA1X9_ZnZF+cUNKaTMv z1B4K$!C>)ghW{vIf9_IU2B3`p%(HNo0Vo6f{SRgA53Vw00Ls{3J(O4KdpEF z6Sl7mKq33Xe;Nju1Hbs4fd(J*jbVcH0S&&^m=Qrp++YA&`D38MzV#9;qZn7;k=r{E z&X~b+$SL#u`Wp#fFTkk#Fuq|WS(V>5H17}^>z82&h8r=to6s9PY)zXog0h-HTCXpj z&01lS){e6TaDmV80hg(L6DkWqk*vTl)7^=h{o1}|97Ou$zr%t!yy1Cu&k$Xu` zZ+$9#QTa*r!qqr{e3O-?)=7UbLD_l%Pe0mZm1$IwlO$e69( z4w%vPNWxPhmF{e3#yw0P4KE%2dJm_yW{jv=i09_=#LHoH&s~uq?)FT$q@&^Z%U~lF z>H9_0KnNmO0G1+}sjjgk;x!-xW!HVPrHWO5`R*MLB=i8}h~@!g<8#_rNlqdzU``F& z*wAZ$%^kM!lSWM^U-B6hoI0B|}Cco=HFong$9Y90cal?6YFTU3} z5aWAl$Md`=WU8&*k|nNPgKZw7w#q_U@FC^QO$R;7~2&3rXs%o1M~eFG$K1Ilq35hifTCkTe zns2r;xo%u$_SAILW_F^N0IG~cz$~zlpGF$5>uw#*pnYby-Y$r}GjPXGnx`>>Kx8m7 zcw#s{%XfzDTQQ2O zM1@1hM}>t6ckkZKHGZPs+4Y)anRj$}@}U!7yn1_k%e*GkoI=4Oe7lN~dz~NqL&+$d zKX#;b9yiW;Y0-}3$PL_+JWDTKQOSd{N5x@P4^Tn{4#2a{Lebhm!XO4LH~a{k&Cr^p zgpGdUiJ+!$i=i&+fQ97NExp8S&25eEDaUi2x_fP7F{A3OF4jvE!d5aZcR?kFMIL?m zRpdy5X0JoY^18hu|E4#w$n6d%P5R7f|OtHPD|A`P@5;3p_I^jYH_9OE*HvKMBG#u`&5D zR)m`0^X(68d!r&Y+hgw^>t25UNJq18=|u1f!-;Dft)s~4Yc7~YU&m@8Ye@w(_JZup z5pl=`1F$D?gubtbn_C$%XKeBlQtxEb3Rm$qS@uS2=#^pe2LH@Q#WmvhwLnJL3` zawclD43)bMLzvTYPom}*7GgCh`voTU+AO^ zX@_>VmX@@c&7E`2Ije8Ntn;_WmM0oYhXfloAQ)9&5a<>2Is>AF4#1i3BPmEczq#Emm4@f;(@p`jA^hKy~W*5$do5 zVcH-+s$kWtAJnq1B_mwuVb*V8Mh1~vD~fv9qAvI36`;s*Ar~ys@@&spdRD|q_C`#e zqz!bs1GY<(Z57uD5;YnZb3uK}=as3vYs9d5nR8Z6PZ z6_45#%^%<2V)T`+d>3#@s65&(+#=jBlo*w8Tx;Q@yWPhsJ|a#DL!ot*=K%Rj$}Akh zMMy2Q@{Ueh)rP)S%yB&9Seslt&-3?PF5 zavTDOm^g1#&&q>Ak%uFfkwn~_AQh5dA=R0dQiX?|yu7@;%%Pq2$yjtjQ;Du^b=-~J zol1%_yAS0(LG^=O^?HWFM5xX?G{S^*?2!FqFTsUNk;9oIlhXQu5y*<+5M9L&AHOL* zaDeB4j=HLex-Qsg7n8HI^Mj8cKc=&r5E^f?W2D;#`20qxFZ?K~$#s6?0bgBr&8=D@ z_}C{--{V0gDP4~_3M69N7r83`UixAfw3YTAlPthpvh<`SeoYJELv2dILvXB5T9#v- zZz=z9es;+({IlzQ_AA|fIt=H@yxGczA)ZbCpRQQ_ey15)5{x)8$f zH?KH2qgH*zI#9I7iw_R-5CiN7$+bDWj6Ek^SOC>u?qh4>T-G~Myg+p^1x*Gw_NV{hMisBho7EP zPTX5-{$OE&12Lt??}NNIpKM7m5ytm~N)_bsM)iG(a~?Ywl*#~!C7-Rt_vEaXcu#3g zX0mV0_r_H^Vh-2<)BMN`Y^X7}(Jak-s##vcIQi=db8p7OMIjxuRV%r|d3oGu?WB*4 z#Xt?ADx#D@4v_Pyg?V}237Yx2xx~k})JKhnmgdgZ(m%7+H~9>y5T|szRw)9V@LPB3 z1}Cr6Kh)&>UXSM>oENf^dZ#N}tGn!S_fWd{r4yK@q{AEMR_0HCNkyDDG_G5^%kGlz zjgaIwt99lCelAY_5*hiHbNsnoL@8sLCBXw5#T_gMj9*gkdK}nPPO#{jgz~*UfRdHX z4*fU~<_u9kj#5_-y4KMc%QAe(G+uDh*)j||*u;Y5AM%gt1Lof$2oOpKBRXb~t`E~V z2Sk-l#JsmJx%@%}%kS>bYjckjIqp1>v)Oozw{h|PTBuX2Yc`_Q^lY!6HgAQ0iVue{(^sUXC-2+0 zt>P;yTGC$kxID7$9eow|C%kuFq4~ZPIi{)&*14HmSa?O9_&_zHtbz4O$H@!N>(}q9 zt%XAer73WTD4WJ)p@y85=D-rd{&+=GqD3*`buyJ0uR?@o=3VFDT%^YZort7KB< zws=s?r-C6|U@hJKpl2=$w<=@?`eZHTz8|W$0K)Y4HB~wu93%Ncf02;#spr=>7CS$M z4ZaLVhb&9iW;p)%`bmC0(f#b8jqU3Ej>&f4X8?74T;?$$6?%^*0YNc2%STN{&I7}d z@`rZ)V@!Da2xQ=^SDY#AA1l~_*i!k+(F!ceZ#2hq^gj)WA##B{s&%iL_xllBoH7sU zicvU}w#34V9(abuel~dIAj0Ox32c)U>T^S(f@D>XoG0v$EzI7fR$d^f6Q$B;J^spz5bD%k1FiZPxf1W z5T10~^W-EYKv*|a%#e=^GL?6MUT9!a z-#$OJ-eY{ZFWHw-{(4z) z%WWWM!r~rU+uHi*%GGBep_ph-+`;-sNQA1SQ?7!N%FWX^Ds*k`={I>Q)#_q7&Ghu5 ztvEGGV_hha{6^hT7eTt><-wIhC!!nT#5{J`)C(Eod3S3TtK&N5rl9lvMVVK$x4l{! z<55`X!+Rdp$Di4)HO%f}06ragD^}*x5``S z@*HpP650WNR6x#8+9WrajGa^EnE{?3!-IORCpcs43uUBKQ9+T|56VYRFMjRTAfTJW z-*vvIEtkqRiP%o}?QFF$@ltZR?s8L=YjxDoj7YP>67Vu%oQ3fzchEAKwSTXv z-^S=wV+>x@I_6gJJvr|zKAFu|DMkM6P?$HZV9>3AP)ECl@Tev0nkxkjQG1xyB!Nzf zl98g5p%=_Xg4W)cSX*b<2~Q4#leG*MB%HUkT~ey|J*{=r|2E%sEW^>eOe*1w;|*dj z&0?6mkD`f%9WVr{r=0glTnAHePUMG+WX(Bx6Ja&GZdhos>q`j> zm^OLXF*I?yH8}%=YAs6ESBT9q$kfkJyeh+mYIT*&-HeY;m*ZgM&;Vv&AJkz)6Vrjq zjm zooMXxRvfFy`!k5eXxoz~Yll*|jH05p)6!E)E_dgc!B3PNGa_6jx)b}q3=}tfEoXNP zvPnbKjz&?j)Ln2axKRAMm4_LQ;o9Ewc&*oBo6n6nGxaRqSjDq@IN19}w=lIL!BrH_bF{U_3=ygA@0|Y4aL>neCB0QM_!F zlzytd&V-2{sdvF0K4)}rc<$9C*m{$Y6-?u@hmTy#A4Ii08p%R|@Feb==KF>|)U~OP& za#tHK`rQLni`!O8nDyJn`VXn-SSxLe=j4x>ukYnzKUn;B^C~TbRJYZwmE?Z7C)+98RZQllaj(k2i`P{PG$vCL zA1c3VlScIv6HCIDSWbrbT`*e0Q_;4wChBB6hEpaY<^gSY#}Ha$s#q7q&cJ#5`KvzO zbv?Mw{$Gx~D@&D-@D!HPx9ax$U#0gzEJ8&AI~YDWL97?bLbI%Avy;0Ig#tswX!^6 z`-88N`nexXno4GP-KDz1mG{ZF*}m(+s~Z_jo48sVsNz8@Ga( z^>N+k+KRUWqNqwauZK36ic+yd8*1xx@N>sj=hy(^jaPAZ7jYjfX&QVvX&P_}qKZ&< z?6}i4?_-LiyeypA?`5VPi$g@)%%h_RzNtCJxJxFikm!jhDiX$IdAX65U0PQitxXha zCJOlwjaeQ;6EUwbpy)`D=M9)?ODQm;isMkea=wtBSC@UAEjUnVbwER~g_L?mMA;G# zhkq>V*7wD;YcmB<3hAfc!KZ37DP#UZu`;ISzL%x>FZ6YN{nVZ3JKL$5bSz{FaU#&Y zzwdqyO7vlKgC-pAl&%U;yneMa2iTK3FciVgGi3JR(AJ~XfZ|jozs@+j&*j4X8Od9D z05Y2R(o%itO0uEKVI;c0HT)MDw9;i112Gi?(^dp7QTEoWenk~aN%^>{qau2EL}x;u z2+IeR3o>I`bp(oO zDT$o)qaa7nMy4R>*hD+j#a()i-Icn04!@$qbo%Jmxh^U9p|Z1Aw0SF9Yvtq4nCbgs zyZx3mdIC0`@p@-~8h_!*jNosBQs7kG)Y=xxn>>}(1cbQjngqWqa~I5p$x4d(K*r z(b$ua;PDS?sD2)t08qD99(ra^uIDbp%TRX4J=IjoZf|+Cw!%lIY!a5#Bw>KGDGnJo zug<8Yz5>hVW-LL6(c0lcMJf-6zj|5nH0I6s?GuEjkKI5A|*WQBsmclBwQkJvAe;&!p$q#l6;@31W~B)$Wu1J4W`VrP>O6P4=G`BeTJc)j;#Lu~FF26=4_Tt00~qJSdjJkdP50|p zdba!IV~y)?)If~f?k6%3|2}8seOt6Y?VfUQwXv@UW^trS>e^Rli{}@~=-H)?*`nH> zW=;}j4O@jlqe_)87tk{Ye~g7F7OK;J)}9mWT6Lc>P?`%>Hb;a4Qgs0`K?|rq59)Oh zTiF5f?>vTwgQlnf7H5|2Fa+oPVnHHk5&m`)R zuLNvJWWVVQ!~j!Inv*%?#RDoBktR$W896oOjy$OtUzTP|Ow$W}XT6=5y75}pcJ_CQTPWeoiuQhBk&Cc> zULBEo35hBOygE%1ZPv4IT%~#oeVY1!4Vseu37=p0mbp4XyRM+X18Ug=IK1qIm;~QiE#cl4#n^$;#elk!m zKxMuDqK@vqmiO#gc217qd`}*W|K|awHAbM*W8j3J5q$K7OqM|Za)nITC*K*yFyuy)^YI2h5F}P<%FNfrHu(lxcJSL&&a4NcV*Rw&Y zSPV=Rd#4h~1R6AewEbD6+Lf?0GGcN%saa-C3htaBxXbVgQrgLo4Rd+Cxlg~AUFr@v z`kgvKCIm!15zd>?<*-uh_vsvn?93@CDGnd1Uw9te0hQE;?=gD*uP-ldxw~xs=*@{t zCCCA$j%7az^mat89&;Y+m7e}_WMIHqo4A4{gENbbOI3J)8Yug$c;=-N(kj!w{tv}q z#CTF6=ai`J%k;vUMFmoH0vW+cDsXjLX4rm{eRQizgLB6khX4)z5YvYmz(%@3Y5tfb zCEWf;lC+pIN%DJPXbtr6H3=hZP)UHqso>Wb+A!A6*0;*Kwx_0H*FNT#I(O5Fy+d4T zewRoX=b9U{5*;$KHE0*BxjBZJW}5f;T@E-(@;|;D&%zejPBDr)oad3`cVM|O0nGQe zwa*Hhv$qkGWc{9kO%&p`gt@QXc^;z*H@3nmyt{Mq8{-!3Mm?>n-+q6XVLRA%$b9VU z%Vjn8uk{#;o`MZiBulOj~)`<9GOa6`JSvd7BM06W0j?jJ`Q&mf=lL@F125&9YiNivpXHy z&^V6Dig^NaKeV&ueIodi=#zzy6rDNPuzptFo8jMLJ8CrqpsGjKwQB#1bPw0O2 zEYu-fw-z!03iG|Ngi!YdOp_mck|3fnN`0=j-{x!Q5@y_miD>CGz0jM&JWXb;)N}PH zlD~AO(cRKuMxw>AK`66q=w){D5g*Qz>L+LzI^5QAr&&rawR3n@_L&$(#f+!&rRm`Y z8fA_aeLgBpUE~_kW8__f$?Vq8zV-2qFD&*-30!PkXo!JXtMat@Ys{$i&ur*k8vZsB)VD=L{LIjjSUq6o2gB4!+i|aE2e?9KCIZ2 zWFtt-*~m@YR&tZZyMd8_Pxi|k5w@CGkKJDR{=)_{@~a%4?|1WEezkyJUwOt-a`6>8 zyOgt`zWc|moGi>~)yHC^poW*OK~GWCeicHs#F&Pl$|R>G$>_A7B@@M}bdm)%#&TNe zR|8rSj=K89B(^vX2V_%1;LHM;H_Pr-r>5glXQCaxzp@abx0qj$95x#%(I_eSGGXSc zmeB4=mtgr#SElLI&Z7tg(TvS^Z&F2NWIxXDRNv*AyvtLrP1NE`Sl=Km@~#K(Lj*9K!g<<8}QKV$A*aAQ4t1qU7@} zvQUrkg|p<*3VY4)6>h>!mi605#kwZh?s+K2d&DJL2&uP>=pG7m_&gVRvwwXsMxgX1 znXM*^8P-cTS;*iDhMiN=@$56Z8wFC^AAfO^X1in8HgrgRZ=u4E%1-ARB>FknE{%`@ zZsPIU8I-l_rG9F*NGD`qxN7GWaabe55$1gU%5k)IOkOCImP~BYat0pqPN zx=%@1Ah@FzEkicVT=nNFUT*eIdkN!Cv^>HHTbyX&k7Kj0h^aJt4nu~IV}1o;XD6eS zqaNNwp9V3rMWU{9?3RC)1|eAR-b$+9C*~EG_`0fNXox4iY68pQ+;;nT55aSMGa}(R z4H1^*K3rj>t4n8UW_B*{MglRxEA7E?zzc4Jx<(i@Hb@7BRZr;2rADA$WAtdy+HxUA zV_&YGb-}qGT8;4Q86>k|9It*mt@fbW;^^x2>XS5tAIAngO1r!*rR~UH6f3&ci^&8g z_=jr|g~XIq`*d)hQ+U=E%Jst=?b@UPDl%?P(&f}x+RZp)n?5-*G%^cyk^6|Xx~sE& z>ha^pCMG7gH@z={HYbP*n8^LGfb&o41*Hx1i8CWjpx2rMMe=jj9b5W#{m!=`)`#s! zR$Rq~2S#tyv@woP+GXt3Y?rjBUvi&ui*Y-cRULnxExI~hv(w5*pgVMBs`Q3li;fWb z^`V>@<&pU&Vlb_D_siPaURouasZ*=phD$SC_zDR&*!&&El$V(2me|i2YH3b7xP9Ym zb=ba8eEZOsh-X7LW8fz&SdM{vkp~d}db+pe|2;y|( z0#~1Z8rw*8?NLo3-*C4VOw1~824LjaEv9ptLN2xT$&X{J{WXM?rvq`ry*dnaD{bUD zozJ@tV?b297Js#9cPHB_C(xA+Ieq*@@I*hu(#IWxC*bl>s_ZvG|HuwlvLi(?NPUez zbIz(XHJn-gTsC_olvehrOe?OsS^?ZD$#5Ei%TL7=%@#X)dCq)O-c6!Fae zG$?C?i1%BI(J|EB6{w!f%hC&}6%tyaIJS$#jjD;l~JR^2EDWl>tvva zV_EmGRV^~A@dFL_qw~!-y>BEweNq`mNQ_~v;LnKd`-lC z876dte#_vM zWb&y)fTJGW_lY^P?!{Cd6t9+xNd(DH0VU%+JwgvYXC!eq*Dx=^Vi*qzWovN&l#TQG3u?=F$hSk62ndNm+2!(T-9NkLfg zS5;Tv1p=c;R|zQpa+M(P?iu_}TWnp`Mr)7P$lED0_kd?as6Si!@lBX&7pLmllpZw$7mwU8^JVerK4h}`iSwx13F{y2*2qWm{4Phf<0`9>)z)b2kyEE244_MD zzn{98#E!cq$8zS{VfM8S?n`)WzYo|DmL1df{5+;#KeZ4%5#=}ih0vYk`}VP(SglI* zP59LIecQ<)(H1UUA>|dy6u@@G`Qz`&bV)j8^a?g#b?SKF(A#TbWUA4SdF{rx`SDDb z@oRCc86gV21(sSZdYSscn(;pI!;d6bp&s`Y6V$MqQTZ6*r}I}0lut)P2Q@%BCG#0W zFd#;U?(S!WX;)a#9>Tx{*PcEnzk#VZZ`g`8;JfnNJSHg9NSBhK#; zjuMhoHm|*NUwML3s4qD)IJKIQBPV{i?C0X0(a_d4T*+b~#(9+Yg!Q$1zP7%-UM@$1 zjQiXlO;8hYQXRa_r2KSyUyyg@%$wE69EkH*cTuy}KHLRCUn0)#y%qUEMKABse}8&d za3`hNV6#-FqJeQ3|554drTMED8Q%^#y|K|`!|XA-7ghy*jrHp<5_?oqVt*}UkX<2U zv+%3=x&WqyPkGC2ZPu@gc>3M;lk*Oun9aQ%oT$Q{oIA%bLAI;>^z}&5DlctEH`UO% ztub3dtmB()gz1$rNuvA1LePYbdV5^F7F1Tf;`yf+<2huRpAdgu(>P$`P7CqoaWbm( zZWFA@GRz+>(Fk|EPP}wm(*B?{m*tOmHLMrrW6NAuwk1L`(DJ4N;b@;oR>>$5t<~!_ z_|~`l3M&c+Wvl%TP~?cpswWG&b^&_uoQpKA5|J%@6kE8R#UwK}0Ct$!UO zY-9bz{oYpXH zZ^IDU`95Jf6_?!nL5WAJivbOhSEEDn-{_5$A<i(-ngS?wY?KGb4Ugx7L|8%?Rn&0mVZssLR;b;I&x|x$r#P_I9@h;2@u`$=YqFdzwCt8FXqfa_d=QEy` zpFW=}t>=3D^M%($n0L_PuNGFCVb4Y&#~aYZk{sl-yOi)_mw{VJ*WvB>yj0DlaTez- z+`a6@*PGvXP&YGqDM?970-OhxbL*#B!@Yq)90!Tgq*f+S`N?4zzO+>nVzM)^Y(8LHL$tC#gP;E>QSNj!!+O`L05CL z=KN?4VXa%1!^Yp=zo(~1Jww4i3)~1F5}(d*o-@lc zvBx$UVGznB^eSfZN%fJ@iiWvIQ5c5X9>NL7V9)x@j(-`FW_e~=5o7Ck)+{+?HLigO z)8tF&&5&`o(2RM$eMiCH#qm1Swqf`(=quk}TY2HFk8*`0Z&ol?33M*rbmKra5-+P7 zf~+C|Ztxg=V7;|V`=uD2x8~8!9inTSE+?hA{mD%Mv<+F3;vUc6NW>;0FjcIErg3E- zb+L2Pv9@MsOrFsr`L8A|z1$MbxV~6bX5VyUghOW_LqI^l#L6oDdF~Wr|FZf*X?1n$#1CCFvuz9uY{rAW zHI&4JBKqtvEhy}Cw9>VGSoWG}8Gr-x>YSYB?=5biH!;Ec#`vv&$3Ia#g zdsbi2t@ij{tB%#hLexAMcYp&FhCWr|a~aN(f%H=)N=j@;s$)!s(Y5*nrY!ALEmea) z+LD6^RJh@L+qK!#dud$PKTF(|b~Rg!=l=|vMmv##y)Ls+cszI?>VY|gY!sI3giLh6j7!zzzA-H9={UUoGQ?gw<+`Uad~3Yip*e>QiE_K^ zeiNXkP!b${8PlCE|6&+>eyeIvOGEaHg4%jq1LNbIDn?C(&uTe0N(b6ngb%_eP2Ehc zwn1+RXCfoFx-;BZ%0lNaKYidLT?HJTx13hdq``Ai?U$Mk)M5sE`RN+4b=ap)%$%`G0HsfS;zh0 zA97m5ZNu&(>iW2wsf!KR%MHc`*hERx^sahEG)LWoOD+BdpuFnkNMt^7-J{>TTJakF z<1eVIM@wD1>CzA~Z)BPelJnF994fW&U@ldsXSeILgYxCOA&kM^+un)!M>>N)2aTH zbMKf=8p2+jcgudpl^fmsrOgxZMD}qccM-UcCLQF!&uicZD!aB3Kb8Y ze0&}nIF~qEF4UJBWm{@)pj!0i3AD8zvk}$ODa37c{YyCmmUQ#z%I5(A_3Ufbfio#z zdy7I+LcX`pO}m&BHw`kNW9}CMV*t8aEmt!OIE*mmGop$l?&1vcCazEC!*+v5nvAO$ zjg}(zY&j)QI)zon8;g`xpWoZ{7G3HoJF1B#maDOzym0YzS5-)IuU!N42}=w)JUrWf z$Lydo4d^+sfO!4JZE@x8Y~H5UX@Mjz>=mo;6hq#FkJTSPe)!Q=X~f#6RUqMz-NRRV zN0I0lzLO<^#mk$^4U8EyvgTN&z3nx>?Uj~p-?yi(4hw@o6PIGJW=Po9sYcCcpf9y9QsA3Uq&6!qCIQRBy+exO9sI9GUW2Z_JWbquNJ7pGDThUe?O{Zvi z47K6R{TmLL_4!`X!$9(1H-GUD!U$ZH-^4=T?^zT3b&yqV z(o8;TUvKM87!sg|i=c6GaZhf1zNOcmDle_NIb+JEKBm^tPo1LjlCHmm4%}aDZlXF@ z1lkp|l<*J%y@aw<1j>2Ku%=`)ppyr6a%&QEsS@O?0l}$q>Tdx%dh_DD=gV3+JT)pz zDhe(7&R~h8>qi>;-Lq4&8dw^d`aQAfm>-6@9?48(abJ+>0zMs85rxp5_1L00y%}aoWo+sUic=zdR#0*(#IN?M zcgfk&-BV2b;>yxk+e^(iFZ)*woN4g9doAm1H2quS!6aKb@1;5U$cjBsM#9OrNRvuS zI5asCN-KW-%j|aA=J`YC)Giu$0on_Lr9$-F%1V5io25KR zb-k^nceBd}vgt9gI^Z^|^Skgfp$^0}r~7$SrGRQ{hwZG~!uS;wv-EC6)d}gQp7btJ zm5W2Uol=}l_bp+kdlCz-&%NsGD^m{s@vc6Mf~DrF^0TllD=4Y{t5-%vzVgRY28KtM zGb3t6u7Yx+{;N6u7Yad}N+~ zZ@q2lShl!R6Kq?GgC%T?V=&Jod`DqpSk{k1k1lA|faxy^gsLDRApR#woD05vRN3l` z!ye~sP-V6dS{po^kgSwJdfedvB{?W;(ncPyj_VeD`dnYG#-Sv%S!CaJD{Sox)~ z@?*i+C#~vQTp}78^@rfhy&D=IdHa`Qe@LZaayNwvK%L~#nw^!S7 zQ_fqMown-7;Bnc798L;qvIP+BrvqsNT44+tJus$WXRuZYw95hG#W5Ki=sd!ppWM2J zep04rjMg?8X9Lf)vYkL{*9LVdK-4wrufbQlkS8obD;7L_;?C`u37z1+3%C_VuIXia zdwaHpg)?|We;+b$h3Y?<)Fr4|q0Jbgmvpxoy5|lrh3eLE-j9bsi{e8B}vh(%V>X`5*f--~@B$ zmT7I1Hny-h1HhSC0_k~U*mLjzj`sc85o~l#QP7NVneSFaA|~lD;||_Ru91mxQUFa> z_jWa$s$pnDrXrE7Rgm@xMzje?<~Gtv)6jMtV>Mf zC_L3rj#=FDGbODcz9Pm~Iww(oxZ#uA=2jxStDER-e_0@4vb!*#z zs34=XFo4Jaf+8VKsu!qP?Ro3Ktj4CrMnxcZ;j_U?>X=L z`~G>J@yE>GYp;E;d);we*FshDYI|3T5swg!$XsVtQdv?8B%)3HcWo057M#M6#~sE|k9Lwz%JY-Iy}Czs$k53!Gt;H= zxA+CqnM2Ijn#br`%-P}Uf>rVhpGNIl?Dyw>9eH+9Y>&1xniW(IGO0n9Z(GaMW}dSH zK0~y!K@BaxP0oL4%6d8-TMn#SZ8Ob#dxWfL&iwqstZ7wI8Tb87Tm14{`}tXh;6yAprxB8@Nn2DRvDG!prJHdi%I zEL&D)GH-OMhR3w0bj4!WOQQ|JqhZVT#n2b#8r+_CHev%uMwO>;t^OL042Eto@H91P zODX}Yv&Uvu9t%f-*J<;?<}y&EQ&Bl1QFD)xBoC%WlwbI3;3rAh*8-2aT8>=B`Lv?) zqSmbMTw_x4Y$?u+IX^VDQj{8M&$g9PNz}yW8h0bJ#YH~e{cIvTJlycKwnUUNXjV)0 zof`be`jD_@0AQBLz5qbGR2#|py))KsG0QjdTglFX_n8fdcf7a@(mP7OajZ(#2g!W1 zBxh-gnP4;$v^qTs+aobzG=TGZF-m`oT2$|1Acf6W5jXOVxe~dF0*(ej31w?k#&2p} zfD((k0#>>CTbb`IhB2@g5B1B${6$C!CM;}U->P~)beptq)>{mkFmHapSuuL;`%Jcb zMcqTK7uh^sehbpIJJF!~9;%iE8~KiX%1K9fH6TK6Ls z(xI9ANi^YC#CE3%_5Nj$*%P#5rKtCN9fKo!!AlZ{Rc_%)yjiP?;mZ6i4C{8kSNLx9 z{?0Y&NMR>{xJIT}2Bi$Yese{mbBdaG_N^Dgc`ZBt^08dqM8P#r0IEgA?T=Y zV`BL;m4Q>nuAdo5rp)LcJM$pKQ$ntK+EiRP5BJ89GCiNjva#$Xq_Owg@X@nT+FKnA zgxE>uJ`gyE)#@?76t)=?K)dLVy{gTj7#7a2d-A&?>9#B9 zL{kV`)_8sDj=(s6U}X!J`a6;_cc)ojtZafaE<9$kA(k5nnlR-c0sF|t$ZD7cBOM{b zZV0(9m@)1ep$8VIrx4O~a&oc-WZKjs+*7`Fqlq!ra#Ce8ub3ebPt z+k+Scz?d=Mg-OFGI!T)msIP-qtlPrRfaT~poxmk})A=CfhV&kywCW&}b0sVL$78*O zH?$ehvD*yvf%DV@Cxhz@0LG$c+>x6as4CuRbrSvg*1%Plh9Wwz9hta$BUa@0v642m z&PJ=B0Z*;W`ccXd`9l=blC#%u)i~&VI(o;FYi%(K5d&NHq8KD@;9>8Ro&+Kct>&m6 z;2s1)w%$fcXX6Oy&oLW=V5T>Y!yTNC;}M0-Q|ixr)4XTOFQYI7B`!{6vK13e$}LM9 zhodcs1$p$Ht<8yuH=Vh+)QnM7d7LNB)-mo}@#S~XN&SH6Pbb|p;D zzm`^QLL+m03pV=nU)bh=_V)G^1HSrEsMNQeN^cQX2N+E)cf7HB3eV($lt`mOqP5=XKK0Rl0_a4d@4a+C4v?-HCw^WmhkC(CxaFE;hHW!s+PV2|&9IO~)CD1}! zW;QYgbwlCMOS3_LLX{WVdVx|sMeJ2pl5MhqmDVP`!4K#^v%NUAXd+P2AJYVRO$A;V zBkCQ=?`_bXAy23ORpm*b-`!s{g6zL%lOQc{cF!$ zPHFy6qz`2qI0S^2rzz7%xw=1ZNGDj;Kdu&H255{T^%)voo_A5sQqoFM2iew@@)NxI@R;g*&E6o=6~V^$uF@(v zNM?r|SzZFT(SQ>~eM?Eq1e5-Ypn4w_&o)CJxE8ORAvULVgKp{hPmRN#jRS^F7FLaA zro%j1;~p2#(-~q@mlc^h5j}cO^k57|<0|5n)f^s|{E{%nIh)ojN-9@!B_e-caiB<* z1?`VH_5%Q=hHXtYgO?TmtG$tsKznvb1o>XV&e2^kG-*jv>n{M+8?$lw-$ot~g<$mZ z%D`d>%-gCK`*NxD87BP74fG-yn$?}jT1s9PoPJ!7x{a*gK)k-I1cU!XfaEy^+{*}5l z5mrXz5u3s5aKGGlW78T?pY5!)4SGzM-xTyFG(d|2(42UYviO&=SZFoyUV~#;MjgP| zbKDWw|9EB7>4Dk&lkwBY@IsMmke>2>q?)IM_;wrXa-H^PY~0jFK?XMXuESRC{TGw# z(~uVBP5rWm0xG;bOvzWhTvNQ(F_zAB4GvR25mp3@*9N>aIE6B!!|{7kzm{T)o{c5? z!0l>NuZ*9VV)2~7CiI; z2tz;Fb{XI1M$4~Zh(>YI@{-%Eg}eV74na;S?0XqE8B7dG*~K0&+eJ_m;!^%O?W?gb z_$i+ld77&4{qUCj>V_8uA%?homT2%#6|QB^iGPLu^MO z9`Qc^^tP7Z`;2$@(F7KO&rYx61>V5B`G0EC0WvQi4CrFB#z&m+L&-p9<20pUGGx=6 zLhxJBzJSVtRTNGmC145SwYYz$l5fIa)%_CykO7flc zF8Xy80)hM7MHr1SA&;15i2;4hjwt^8)8+dh*+u1_&$*KcCO|KIfk+LtTO}ZsFkqn@ zF#?u>KY+tJ!ViEEBbk{cI&6YqpR5|W$EAV2VI_))z}8U0FC~74y0Sp8yT^i=Rs4h!Y$=eeQaV^;~Oh5|U zp0rU~y?_}+;K%4~Bey^P0GbmFSiqrR_V;iG z34FM(CJx>t{xuF1C=5F*h9%scUJIB{(39O1-;p=TK7QNp<@ z-AZT!J&RE2G+h2KlyM?;Q{CxEPnF|x+$Uqb6HpJd`8&LcFw0tdJCs`V1J82)p^l9$x0QWW1>O;*$tiRGJ%d<3C=yEKb59dcZ zuD8ghnQ;%lo2Z7zy<_SQ+DAg@T?@AKi|+tD;V51xzE3=KwjJ@`1)ygQ_&5wOV3`m0 z>`JcVE5#rrE55(Bejj~%YCh=HQ$;vjEQ!B6@ySNsSWo8OOr+Om`W|CEYnmR z6LivU9FZBQDrR3^pZ`QgU&~>PPHS7=y;r!wHuaoK5u&dcWy@05yj##Gy`dwIr%l(I z?rt($Nl3AvHd-g_c`y?S?`^WaW`C#qQ}S92kBPL-_>~{(&gaLYr6lf=Cr1e?*@txL%asvVwK32pgg|ZmmhYuSk z--RT;CQD?RU^b>F6+#rJ^u|Oy<%D~6HRTG*g`_Gw!l0F|%5ytyw4UU) z1Fa4GcImGk6YxMS?`1OzW62 z-0O(~a58cIA(Ark89hk9PPB&u4?y716id2HCG3OX{*xp3=`b?_|8I7jtA( z=?O9yv=MwS!zv)=zWnaz5V5m}P}S^Exy>=!Q3~L3Sv1!Oifx8hCljiml~Nw3!`8FH z@qlNf)^RTDNr_C(o^94wNwrD6u3zH43}P}|8hat#9>V(8JJ@&%S{hT1=#UD zyUjr23l&n4vc%U_YWxd>4(u?6>bdo_e{xt#Mh<_ViDWx2!Cf6Nq+{~f1Q4|r_ zjel#U8eo4vtuU5+1@f!YeL1K~Mj&Q0CSEF-*&O~pxwXfB{r8JIOkpPGZ0!yF#MZk$p?0cPcP!RTXYEr1_#yD z)ybV#27-lL*4|q3ME}kks_vblHRJ>kGEn!?h>(+id~x~*#nUhC5l_R zB|^6fQ>KDm>5)F^E!G+$Fvx!2$*7o~@yXr9W=YJkMofNNWB=_7etnxyt4Pt>9M#7N zjeM?hzk+3XBl?Bgt&#i1Yyb2OzU&<|ovs{5O4R0r8T39cp9sS(CPRsWg=#CWtX_G7dVI&e?|CJ+N zX5@~PK$sBpM^${!&-%8Wsd?yC4#zQK8E|6|BAq(e+SGj8&t)ky+#uq`|0#={pqkti zK`Goel2`C&y_mDw+A>j=dgAh51jxA85}Z zaWI3nrTa*9M~%kzz{{%_R3P7a9*Cu);^6N*0xPtnvR8W)8;OGDk#?65>^V#2HuZc9U zYQIcSNon1gi(`#wd(MTj_?;cnKm_kgUgJ26S{B@Y8EJxAby> zD4M+60vS_q8u+lM)SFd>5BUz{b32DB{qKzXAm1~c?fl%+Y{_8lGTdmE=IdL40$XFk zfgAl!F>WHoW*#IgNsjI)Vchx+%mD<)!`C$XF zwg{?X5TwfUfvcmtZ)b5m03YyFajN-2Sc>WG_nVSnKtX@w(yJQVbMJ1%a@8B<{hu6h zmKF~iTNhx9AAjz(;LL&`n~YWOOR5tXszSPClP%HT{9v_Urfm~IUJbIVc`jad?3uN+ z{Wpj2KZ=^5Y*8=x1H**94npZ6bDR*kP(kt&*xh&FHDL~Zm8Y?#0hX`OL00u=`bW!F zHN->-;~}KfP_hg7=5gw@mQ8K+B~aspVW(or)0xP zcJ09)c%gL0UdtmBwAi@+y2f_Xoi3>(JS2W1!sQ~`yVuW~7u@heq6O^X4RB%m$1=(0 zh{sx5a>~le0|n}=E1)6uJkVrLU^124FJ4m%st5^hZah!We-x@Bp1Lwrl>JZHxi{jE z+jFlGlf84MND`u0Nn#O+TRDGl%53Xobo8Or!Y)z%_)iWO|1MZBC!DAohrKg?xB@I0 zBt)VG8y|v-bhuk#pKRK>4M{!%sJk58w z)}J?6HxYE*GHwKc7tN!BK4!ei*0NS^BDauXsa4BrkXPO|Y`7YJp+%4Me;L^=o)gkQ z2rnfb^mL3DuY9BD^E2v=^4-8o05?3P2)NXCM1Q%1OJmfWIJjeA9sJ^(rMATuJ)e_1 zl3((OV<$nsKr{uO(i;fdt!TI{ue?uP=iE^wpg1qF5e_3^o2f1%7W-8=L{M=@Z1#dm z=h=ba`oljjCq?q^lde{ed@f^@sb2tlNLa{(%|pWM&6|3ra-N#QlEV;9iQ zJVnjm%Hw%_Tl?se`L#$UR@Gb}owYJ>{@BDjX&IcEaO!Yhsj#ETZcK=&qSM-eCHSR5 zy_{BxW<lfC{zttz7$f6lphbIU-=LoT3IV(kIVY~MT|or)1$vFc&Y>7? zqLkn|ibOCcwU7Qn6bwvtZSs?qEW>K_vB(#DlMbb; zVZSwZX!3&ei-D_U*3$@xK-l-lBe zreK@25jF5gJ|H;3mkl72%mCh# zoo7yol-08y^W1IQSK>H48t(ooq%9eZND%2A)cba*iN*KEAtu0$Mus?m9@&2y;Qy2V zK>tdB7*M0_Q5iaX18%pfPsWj)r3I=pEE=^DQ<|$zm@uH)?PMfNWvu8~_a3IUnxAsi zM1Dh;-*u*Jq9t%spU?P1QPDdNo$|-p+KIazEyMKA>5rRd7llz5S->-0*04UkY50@D z@HTj)lLb1a2q3^E@Bg4zgN+dIrac6UY|2EP$TwY*LXre$p01);?~LOI>s$%Y8Kbj} zqG4iuS}}TSq^Z?&|U=KbU7F&E44@8ciE)Qca74Z6XfG(@wVyQTSg zn7Q)*0rlYY4q`0c-CF`n>ZiaL7E%TqNYs~~%q^r;;KLAlA|yY=C=*ol&5unIdQT$P zgxaK9FWILFb(tK-c>c{wKd=cTIt3_Agya@lzj0dbW6MT)bZIlCH=J;C zyf3zK)c9yH=HL>R{BgUTI@q#^wN7u$M84)v_!l$TK&N-z4ZQrz>PgP0t*|y4xDDui z$_s!2_^UEBa5z|$)afA=l`=)o1#*4BO`BCGSm&JR79pE+D)wLBLX%w87XL#g>gpB(CqM2z-VR}Tdk-{7{*6|X^PIvUeflheea|XS!7E+{{I*dDp9CsS zpr9rX2hW7vI${lg*E^mMpNx^gw*LQ7arW0ZL3iHDDvR_^hhYhYDOY!~Y@xDY{nb`j zJWNUe{|*bj|4Y?Z22r3(>6x_-0Rb;za@r2>`^A-w(F9nfX!4VuOw_XQ@8cU2|B~8T z$6T*JEPP*_RkK;IbKk)K?a|R}qz)mW=|^-MS@mjhO@4j77?YxaSZ~^RNiq(ZalA>0 z${NPLrFa-9)0Bq}<0}k#h?EZ2Kt5#9f9>u9wEuf<;of`z& zJ!olmgL;uz<>>@?W6Vq#Pgh2j<6@t2q-cCqw`w3kp9NolN?@gl+DH6tvTFd09_{)q z@s9Y}vT7=cv}q7KeT2|TzLIRnFf_#AoE%nLCugHW@CGZ^7JXZvQBL2-W&}uKv>m50 zJ^{^)msrTKn4`z{!0Q85j%FZK)A>@D&HJDA9SLAh@*iIJ3J^#?V#o(FPHjJv`Aamd ziM5~WLTCFC_)`h3Oh5|zM@<0K<& zg;r6PUibx{fVQt7%eVDO_sw^HH-uW-^hsw}FtF|FD@f+0l}2Za>RNl6=xZ+;joDqv~kc2d~ z1@^!R2b!Lsz9bWeuz+Pxx|C!H`5&z`RsZ!sA1f(_(--fcf(Mc~)jCCAfE zvDTBO7sg?Yy_L>4_5Fdrba}0va=5rcM%O1cRBictyHqkS!sDr@wHg~t7#Jz9jPDSP zbobj#lXd6~wESp&CqzvQT+?H4F-e8#>aX~A7Se_q!8MQ1ud2`Z%6)akrU`#Vz#Lej zzy=7A1r~vJk6%=@%{}Ll=9FsBt7{!o^hH~?N;u1{wmZm7#(V}cY+jSH{o3- z(4anXuqLU(St-a%ODa&$y6GJEgFT&vX_#)>a-f>2nh7(XbdMcfSy@!utT2274aw8g zf1|zx=71BdLWj&icM-ymFtz&`yVrNb@f{@Zvi)?#eYk(;0>zr(H303kUOZF3m}ZEe zpx{2Dlu-|@D!8!In2q}}GgR&tmU;9e*PKs= zjCW-HM5#%r@)5zefBa2BX=z`9 ze2H+DY7^_+cVNb;$H7q^g?qItpp_Rn>ITNK6`{^o+gf` zrO?yOy%oO&0Dx9cIf?^d-)L}r&?L_qyhOK`eI{yNy;325V*r-t+wTw50OK(;$Q>lp zF+gOKx$U#r%QYc*V`d@c;zXZZ!1&b9fbH2I{eYllKKjKxvG3@@X zWF1>|{%2LEjkxPkR7Lfcz<^Z*fX#9~WU+N6Y?LX2GupL4>wAOV4Q-pL>5+R^;qD`if9so;j?D<~D5G9VMk7S0_D9ZC(l+*juB0c*F zjm&z}_Ksg&JpJW;tw&f9ijI%J$r@S)0u>z63`Hzr3{($WqfU3qv-m6U3bQO~RXF|Q z5R&ivYm~j&Q0T<3PqJQZPCj&6db}tv=GCU7FknSmMw|-Mu5q!J{m}Ykrv7BZ(Poj) z&nhCn(tuiX0?qifL`T3p(K{eCf zz-z9mIkK5G5(M?pp;W|cNloBAG+FO>9oGErRrT5-m-Dw1KkYN|L^B!Bt;LlLUK^d)(R54T~7sPk!OC0nU}d zx4eWO1NxEvCi0@|$9X)dgk##EC-pN5?eU8A4saF%U{bI=?dv|kQV624VVJq3Ri@f% z5P=WkT6VE+RSc+_GTxWIA%n)ePGw;-*ep|)jc0eD+c{&mdB)e8NHyaKX#zb>2jQJx z^Xpu7XN6+%);ln>uSVHszk(5NYH62WPM26OBS2!%gstyAt##px2uj=Q5-xAcd1W(8qphGo zNJ&NY0~!<=1r=)yR$4`^=GK^b_l4;9%qnuMdOhQjekLKX$X)FA?{!oFl(+wi8ofBj zki7T?VqOZ5Yeq!i>U>`ctf`UAW$K|m@4%V@b+bpyyN>CPdSO>-uOU&s_KligyIw|s z3d!sIztx7fX==vI*whvZrnHr$1(I=h&!t^%{0k!#4}zZ;@Po^}-~J5&=#y|i-(2qc zxw!_)bxDZ$GlciFuQ#^7#h!X30Hk@zSSK3GL4oqwxxyNNssw)yd}|G&gTCj1k59-( z`Ha%6JG`UdMiXz0zcLt#g1vk-0SCt)@pu&4T>7~VSok;kDK;+qXkcUe`7cI~?|~mn zNppk`*l(EEn3j8TThsPd%e%Jc>I&1flF*vMjX^*h1*X7I^naQUPw#`>;~94+HM$Y} z;UmmEE5cDV05(z`2UgQ#3Et`7=KesyiX;p;q6aFK*YLl9@k1XUfQA{E{HFv2Z?Q>p zG{T*tw|w{JTXB0*IiT)}@yQYd?_d^Ol3HAbpa%`Cj-~sC5swd;Xu{9l)YyL8e-~Sy z*4Mwxjc`;M;dN>y0cUI+-}#y$`OgX#l%+!e=R)uztKgqUO%M$wy&>@xQ5J)^^>WNr z^=d7*XaZ0v5p@iX23Ze2m$n=+7KV<`K>By)icw^9w*A3zEX2PJqg+lh5DKrN?qHy z7kAF&E=;$8a;+#(G2>o6TLiSoJV%3KuE~@09+Ef8-wO3t-*%ytwC546UuIF~yp7`~(ME({GP${rf4IG*twSQ?zr zI4}3zc`xoaAIfj_O9Bw(%)1U3-(U2~ed$qw7#D}bw8qS4I<+orymv;#6+Z#zD?{7f zm8x_FE2~K&PwXQBI<>KXDAe+ZD0_2uKra#*_CQ|Ax4?`P#t5%ws&y{cPo-BIlh55JRAyd z0y)C(XVlyrpcNPW3OSOc7CaB5&EVl6)ONbwjU?Il) zG#?~Ua zD7rFMVLK&u+{kM=)B`x*=7WWr4-Nn7Tbd^G4Tza|&9;PFeorV_v^;8FgXZm5Ti!*8 z(oXuYT&9A9b~_*ybBo;t+Uj`(xWHoPfQlpY)tBXycyOcDpNo7pK=!2a&Kc)6j+pi6 zL#)K4slaJeS1Af}1&FP2kuge(L=kD*fpW>8Yozw;fPXXw$o&Rly{16?{o(5^LsmY- zCCg5a<48{n{kyXus{SLn;vB`t@n4$E0z|=*hcqcKQ14 za9e>9P6ziDx_qk%e8rql{P2Igq`WQ((5XyD;sYf^65z_@apWt}px8(9!QTp)B!ouY z9~o}fz9K@#+u?J2A;5cT4d!*ZO?nIHAD1_oBgV9J$f5b{_ViuHl-UIDp?KC(%frY%L#hIdTbwBQl_1f68yuYFIBd-o9M z`|W|LF4yU@I}^bZcP-g5fqmo~*hgS#bp29(Fm7wvpAjI{TRVn=?+ZAD~Bm+Q?vJOuqCpf7Y8PWA`F&ubh{6aAI&mbE2$vU&NJh0?2XhrmdtEyxL%d zhV|WYm69GRw0Cr%DBzj+3ST>f7~DK7^mO-}c}$vDH7G?{Q@z{D`GV3`b;p(oX5T?#JE5v9XPWvO+s@eK>fPO;{O5xp`@O@Vf24v zeiTzixXAo(KWegwzt)c z{`9UpO~?kkbT{)la8@0c4X6ySwl5Z*DL*RISFE7rt2v{Xc9|x-!|V;ahd9OP)4<7k z8%Y87DhiClpSFny7Y$*|G=gn0Fogwg@?3*d$nOh$kG4;FA z%ECl;fAT!7=yH}%*-T!oQXp{GO`K_SQ8ueTc#8~o=xsLKe-Qe4rS)dqql=S*ig23@<0)t~N-*aV+fVI)yVg)xsuz<#} zy?x_N8YHt7C84cIYt+_IU@HR-E&&6o@@m3fHmL;EsR}RM^OJE{uF7kjsi4a3J6%P6 zMyH>h=v>tAs?N?2(Y91G{#rk&n;RX=RfyDcGnIaLmRW$jh)YENSxL@Wzqu}baaJ)_ zY-_(^R<=5~6OEc%3vGFJcDCb>Ykrby*FmuiEk%Af;HrO+EmN~A8>zT&3^{&#|GCI( z|5OrUg|$(?`kp{L7x-STO+0UWGAs4WqjNE2H>muj@nW_${ly~s_^hd*)Y&A+)VkC8 zK-AE1=&eH?RWzcCEL#+x0mo;CbW102i$~OReP)YC?=vcpVsp1G?(ZLf1B-N?E164x z^%^7<)4Kbdc2_2=OMO3O+z)l+GT%0YiW#T3ud?Rl1ZqXuAf@NObqC(C9ZJv(q=sh? z_Y7ay&C4I}H*4{eb0z9)DLDM>?s^&TcPx{yzG#zGRT)g^u9ADk?bj{eh9HlugF0=S zNE#Z{SuO*W2t9Ra4F0(29Q{^`pc7tk+~iu7f$ z`aSuo$nY5+>ta2@PQ>2eX$(R|;YCJ{`-Cbyi%I6GSM8U?k6Vg?FX?Rrm$*Wp`fUrr zL;m4bXJgKfa{=l~uaBGC_H6Oxh2S$k<>W>*O7wfBSe94a-jZ^AO{RdO6wUjnz+~ZG z5DW|tD;gVTuYsr+2|=#v-)`;lh@Ol0M({_yKbERC5 zvo{DfvV%?N^=DF2$qtg5FI$WZec`Y+t-#8&K~B9cuZdT!Bn|R?#MqlagdnX@1ek%n z^|4_pcw_h8Pe=pvz1sBz*S&b3ZXMaTAQF_K8t}4N(}7d4$4pdiF(s`sQ~n-ya#e zVy`1H2yftV;R=nvS^aBNGKg-%NRKQWCAjK#N9T*BEk_ScQ)5AHacfi$ltM^?hdo?} z0S)fg&m~PCgng0zUfNN7_+()9$9OZI#2GzCHZ_?+h83G0WI!{-GU>9kb51~ruPz$n z_(D_kH&i8Hk!#=`_A$Rmd(2Af)@=ZErRx_ZgcVKX>3Jgz1B1& zBKgf-jlj3N&O|Ttn3}}q?@sX5j67S|6+<%Lw%8VB9lP}0gNNA6lns@ulF9}F$yLOw4Z6x*!VLF4%=e{ z>5Ua>iD-hAXNgXQifjZ#XTEQ{XtZezgbE63*M@KL+oXiSd031&Qgll_hfd=Wr%D$# zqt+=9n4_IPkLH*OBpBvEn1SGW{I+pdJ<$Iiml0v0L_IR+7xBxaI-#yGd^Of`ZUK!>6r_T<5m6~+S`4VwPCEM0(0|4$_ zEnWKnrMC~hkIC-?YQ&yzd5oGwT20&~ z6qkPFpv`OANUqCnn#Wz0rTaCXdrt{Q$GBPeTV{in7Wm~olXoX(_E5earDV%gE%izde&p>S-c0<%_nRZvmIono7D1_IPJIowB&J(bp5kL>ph8$0sh7hQ z25^E-#{~4iEdlr1STvm|@fMBoyh>4l-=|!)ox*;dh~>dztLI!odU1C_I^TV&nsaBt z{HqUZ2zn*fQGM%B8y{-(vnYo747XF;>cmfXRnKkSiK|E88J@nFrK-rbv_;O38^UXb z;R`(|IU~>w?Ixo>=vK;&MjTlETr4(dfV?{Y>@YqqZ6jg2mom(gEjuo2`%;IWFtbmB z%4g_8P$mj)Uh1+wI)HiO+vVrybXUMfN}%Qu2BwbB=t%Dd|40LqI#qt#*Y*} z8E8y8@ykCr4?X`lS%zQIqx~u-$`A|tlrVD65Tg>vyp7u_l9M=ICzi2I%60>nA8wS+ z!sE8LWV(ZryYow&oaUY5!yqcSk?fOv!;h-#TQOz3nZH5TFfXZ6+1WAT@uOF_z;AA6 zn%=&i0e@F}*G=K1He^hn|sy!IBEVw5S=$d;^%sv{SzoMGl2O_gK@#0z_D)dEw zkSx%W-CZWIsq}--o%saVy_QSQ5tethycg(>#%e<+V`V@)$>)}cgkB1pJBk%7 zm~!Wcc4RtAPrV6R6N_EuvulrX>esZXn!hOsgoijtjdHsM<-!F@X5S#Xo~{2quddUj zOrgRQb4K&xmvUg_vs17$%@`OX{Uyl2r`E+zd&HtBCL zi)Ac-Pd+ypt8%=GWY#snA3(xGmP;kJ2* zDF_G!{d_reX!CpX&hR9kvfEl;zgyjO$90GAgV}TG>Nd8d-$9U>(5v;E*}CG$#?0HP zB3^%!SS#XtyBZG{Tee%Vlhr&?+S=kzRhN{r$3~p$D)$*(z?d- z;)Y$l&E}7^8b>1Y6UI`TY^`xLCYrjMJd)m};Ehet{Thk3raNP194biWiEi|~7;C&)-mY*#;Jnjz**?2 za5Ip?PO}1Ahr*@EUkspIXNgs85VthEPp3mjJDURV4%lw>l{p?*die;MZo%VUa|gNB zftY%T%RKSMuHxh9NmcPi(DI(1P~Ag5zV-;=4eF!`^iGjHuCiuE}c25UWrM$4`5|7rMWRg}z? zt|VTwE*{${uT%nF!{#-byhkysE&5S^s!~(}sqM4+n$G2-JsdgqU0b7`XnC)KtWXjd zD83|bt|udeLPj$58bqCY%nmw?Y_hc9Tpy)kMx~{1W9VMDs+C$amzp*>$t(}Gze3Bu zabSMBiC-&{;kp?f9{{`*#iIwci|)rC5U8ZcQKzT<_e7AIv~aS?ZoI$AXsaxUYQsr3 z^9Y*2u~EFrvWSrjslj(+H;R$W3Fb%}$R`BqTgSkHpOpDV4t896zNKb&85`*TcK_C4 z#<79S=`ly@%i1LgW6Y7;XYA2H-JS#jA>q;RuL@W;3u^r4W95pB#M}L7V3=cgg^4#U z@6VN}*HexLMbPjMw3Q{K-HT;Wj@j99=oa1aUVv-P(YU!vgz7%QhxuU0FtISmUS~kJ zW2T&-de|HZPGhaOtU)X^xAf}+RhCF13wbZG@Cz_saNuJqB}K?FNw7~`87t*WiK6!W z@EKhn{W~pf4FX*28=ND#ZA+jc?=rUEc@yPaEM@Cb&HZT}sWI$`2<`b;Y#KLyvG}{K znaY422wbu?QdZ$(6CVQT^&Jvc_{_My^6>bR#OZR*gk+fgi8eH+s&XJAGbo5`vYyr~ zaVB&WM$5l_kFo+mc|C}}j$;(3T-D+c&x@5BGLE>BO&#Fjy%Zd4-T|ETX+|_~**HGl zgiYFk)YF*+sbjy~Z^2{CaWxkk^KJUk8ZApp8jH6D@Hj1@j0q+bUbEsNxNtB?^B>`h zg(QSm!_*c`nFDvJ-bk5XhKrm#xzzM3HhX6hK*51RoU#dq3!*?b{26xC8gwdP)H7wO zGwBwGSU&fjIp7hQNJ9Mi5t)}K{>$p&%e{>^n~bu7(p7FvH*g7Zm_XTMatj=;g_MqU zKDm4cqJq!xiH`{K3-oj8n)-+Af?Hq~b)p0Rm6+i8RCbWa7|WXd8otpc6ZrDBtXJ(( zV;F_?;&bL@G^T2(Ju;!iXq^Ntk9%7{B>I zupACNu)+3b(XYP*|0}-T3tsGo8JNs*cp7-WBH52TP-yuXTU;FAjQ**GNYQ{=NKOEP zoj@Xk0T`a|)}2)}TE28ePrkf0N@~d-z;$qZ48hNR=V^aTMuVe-*#toy1{C9P|6Pnj zAepx-5{k=6Wr+{H&A^|!^T~dbz+;Yd5-$Be-rhTq%QxyDZ>Utt8zCy2q7a3Uk-cR^ z2$7kQc-wSSGLk*s*(D>{JG+F85VBW^?7a!!bLZXjeV*q#{`&rYe|$a__qgusI@h_* zd7aler-(!fas3Ej)jzE25Bq@wFt)fDR7f>?V124JNJhYK z{R6Ph;xj|BEx>S+z6mG!5iK5M(1mehAXs7#0iW;RWuPB-2>ro@01I4w@CS{^a=Ktk z_yVJDk<^(Gdj6ks*at>3iA~DvOR)65@C9P`Vlh76C;~)y>JX+r2B4`&*akro6zCg| z;o@e}w~al9EBipgC<|rXyah_u+OHY6C&{Yn>BXB-FaZWAN~ZwRY4BbOYY1J^Q#B+` z93*rCt-jd8w#Xhr?^kui_K?kx?6C&$Fl+^U>M$NSqYor3#E}o_2>->n(P;_zK%#N5 z7&rQX)aRU_w4D|UvB*`EFBZG+# zjtya6hpuO~775C~p~K_5$EW|(>UE>5mwCnc7F{pAry&bb>SYwSMXDn<>gt1Qh7TP8 z<55foq^mknf{w{ZhTw&SFAS;$F6L*HpF3V3JlZ9k@U^2Mcx%h0ZEwsKJZ%46&f#a% zpA)u&TJZy zTMd}{K0^0Ko*h8Y89D@lcf#XK+TT41N(OsJ|y}3bNH8;l*goz!bSNhEO!}^mf-sH@=B@`aZhW;VUAcu5a+>_ zSOU<^P&uH$#_JUF_iY%$7azgvyF2mfdHix^MPm6k%XAtMnX!r=A!*KBzP7v3S5F3f zF@3WLq2ls61Er^;s_@QGRr4i4OVJlQG2K>EV=OEzq|qt1r0`)k>wU@}rE~RBn_boS zQx%rKk)d4>>>zMq`Mhw@Ge3>gofGB!1p_g{yMXNhiEM9uaSGYwoMY?XYG(s z!i0TL554&mmD5lTchE%W)GZ}MwJv|Wf&e)fB zu&eQA8#)q0RO|M)hrT)n>Ww(qjPy8spiHTm{uY+eDyt}iV+HwxsQKK#Lw$?v9{$=#_6<5|g?6{^59#f<>o*lZ|L_*JKS*TBL zx>^Xmu>4y=fn^}A(L9&Q#Z%T}8x-RN3aJoR5$FgUs;0y*Nx^Y%BHDlF9_OmB-qb(3L&a{}?WR!Yo6Tz_+UuSAqSPUJC-`ZEM zWhZ_iq#zgBD&2{uE-rZ@5H(tNlIn11t1j+G1qnSu=@>?DB2f($#A5>9*E8RDuSXU> z9lI7-o+I*loIzZ{4Um+uWO-bQm*-@wFJXXY{}9yPwQc6&~KGi z-mdub+c6ibszHZ-(4lUjq!&%Lq)S6sn{b@PTV1S|*V@P?p|K`Z&GVj+Idvi8CvRen zaCMEIs3}oP8!ZY1o^2CG;`WO4FJ9m@l93g0snjj6tkk1EcP=?EPxbEMdcF+o8F3K# zvlJ2Gcs;iX8f;XaLwMXdisje&v7h1OQsF(x(nWxLnA1XKQFGoGOff(d9h6d?u)ibP zliHAU?oFbVX2#t%OLk0gV`&2>K#Mq^*H3NWEX&#?57Ijqt|ot1cOY4 z#Syt;kN3_W_=vx49k8Y;h|4bV3$o;{+5Le`XBL~pss56xQS|Of9h%@TP4R8S=pwD3 zg~{t)$}Q%ZrN zLW|+NF5eT^6fedQH5Bx}v^z%SdauQtD~jSa&p1RgN0!p8;sHa5w`ab*2dd|fsaz0V z4cDW`RS~xGNIXC*KF-^v=d3NfZ*-5<8?Q(f@yNC_PXo9T`mv-%ie)kQ_&YW48`&1L z?uk1SW|Z64qfm|URhxEg`o^#Ps_}u!ZYupOo$0B~dd#pe@0%%TF81CQgDC9VXy?Ts z8iLB$nHUd_*LQVvE<+v#m|%J{O?DL+%mQHF7%uEqRxBmq zrnXBEc9&p&A+eNCyLLotcD#QX8+eavoKakC!Sf^?m{SLCPjW}X{N`S{EQ^L9VPh^` ze67RHd;R+8@Ih0l=mR>BrApn79BH-2300FY@l8XwtUE!5QqPE3S!RC#vHN%+yU-VZ zSTVg-rgQie`vgxs!uS$<3=R@p_Uj)Z^f=*aP(v-N)nfPk6^VHioK( zMr6+)+4G0=K(CeGPK2n(UjynE+Iw-NS&NrBP7+AjO=fFTruJ0|2MJn$kq0ymz)@oAnUhMzkt|Q-8dm5jgM8Iv2AFd-o`xfb zFaqc)bej$?@I1gT)DCMF!a@6~A1?d==}K`Rmx7Gie~rci1f+m$guYS@dk1StSS*Rl zXdyX!6}8lAPDp*Igyq?I5!NCH9)_ye#ytUU^jWOro_N`Lih^VDT$;GNMiOSyfDovD z9n7RDB3#nFADzW*ek0+${9pC|SuuvAgkGUAh;U@D+hdBpt?+NE_ z^8*7+_ep3g>>Z|Kcdvv0jS4T5r-yYz&$n;EUg`}bhnmsJpdUf$4L)q4;#~007q_A; z{*FcqY+kU4N#7Wfyw8RYt{h3qCj}u2C%lOZKq2Q*IjN6$0p54A<>!9_9pd;SE8nkz z;59pH6eys}lQ*rrhQE#io-=R;cmFf&&S|dz7?~wGeY_jIcIizWzbxz*S;Ni-s(k}D z7)I{Z&zJ`H$Y#2gF9G0|9&bdpk9JSuFT%*e=gLF|ymm*uZt%0iW8q94Wv27+1sqKx z>9*JLznc+ri2{a_D`OXjZUnDP2Hb;s5*oyn2{oS6B7!uBpu~LQ@Gl@%f%!|4Jz9VC zkTAOLgkf2KH$BvhMd=#ioCwatVcZYB2|sr z&4B_K$wkm&FIrM z^`AT}3f=_7Z4APtf4r^za<$m1eas}*O1brZbEIg$lkEB2u zo+9j-6cY;b9$rpBfH?@0vCqi)D?_!QTUaT~v&f|2=T|kJzgmJxYVe^RXF?^}ocy9b zev*!&vk=4tk6|j=T5Pv z*2kZ2&GywO!cq4gqn7m#fx_iBk+2g_O+AFfhY&~+l*e)ChT>+M;4Jp3K{x*CJ4`-? zF#Bhoad)HY5Hx^<7yO*zIm1^`kf%eRH9p zQMrxNCNXz`&zd_;=me+UVx6A`elaA_#ZCOm6y*)uRfq93eC6YJ3<&?3XRr~^hL;@O z{|Y(=f~l#gq@p5p!z7iL-(*lBV^*T%jrLsAEnp%-MRSBY}sG_|F^actUdttq(v_XG0MW|@=M~>T1Yqvz)Fe0 zdAE?z9k~EX!x5L>LLzgp1gBR+B1fsK8~44dOZ((}1P=E_#DLq&1LV}JAD7cWLWR8i z`2J41(dN<^bOB=q*!#uZ6|a+?)iC`hetqfv3F~rPncbJE9Om*Le+>la1^Dr**wK4e zCE(}uY)9Xmfg?f{BdnxE2wPO_gkto*R2<}l-|Jm!W66R)A7@%Ffve4w{o5!O4hEUI zuQv{h?yndI6h?4QWMs`vkRm4!i7*-XQzB7;K+6z*K}zY-goj_M(W5BkAx1tImi~oe z>@*HnOTtb!d%$xB-q1_cb_g#5XW_n@@MsBL_>vFoxY1e?PGr121ir^lA&u}1{9v%R_elkh9vxJISBVlKwL_eaa zae`<21-zIy!f;fwXmTlm=%;$=RtxcAPvpOD&}s}RmndC0T=(Y6$y<1;;??ID(=nnt|v(w1DD;} zxbg2;oV!_NuH{cpR&F}O&6 zF)jiCuq25eC6=QwVg^m_LwK!DfNK3K`YyzQqR@50CT{#&z7pRr579KZOinU>S_)mu zhvbZUct!is5(ahfaLV>axZseu{1+0`M!cO%SeOLAV6JVg#ed;Xn5*OZioW&dJfZf1 zy7%b|eHn|u{$U5~F5>hB0jKGjwyBgD>rlv5kZp|@(rwiTN-@A#5?kx@oX{L4x9=)9 z4%0!xN`ZnLfM(^7)+S2&kA|x$g?xH;EET8RK_Y?7^yaI*6<4=;)yBA{!q{i>(c@s` z_p^cy8ARuJ73QE~fI3^gNpqeQ^6E2(*b0x4OxpVv`#2ct02yWhrf?*HEE8{%_<>l< zDx^KYnekFB)sQJCNx97Ad_IkOj{crX&!hMr>B)J&n&gO*@_t7YCG1|x^Sln>-|{l& z&Mhlsh=7*As$&d2r1)bNKfidkFg*(=0k>ipm5>Ye+GbmpuAoJYZ{X236=L+@(5vx|(2OE#S%B{Qhz?-&-a=;a7i=FAvYtN)I)V~yA z&W)&4kof{vTIhdK9hcy(5)pzL4JKjqQogSSjlQ0t9^axj0Wv}$7vx&!ru5z*?jrK* zWIq#Q1U@w@vmXI^B-7n1#ZR3CdJ??2!)U^ciCiVQD;lw#`yIxfoOPf(=n!nsGw&r{ z{SKUeKSRQcTLKHTMl%*mVSvg%WzaW&bmw3Hevc5pFPQV8e$}V{ey9lpD?25*OGiT;C!#CsxuV47CloMhi$*UMV}kO|nA4JXfCtVJypmgh{T zC~l9@czED(Yy9J6PQc?-*%aeZn{R;fG5yE?16&Ua^S`wvk^ikRdA{)SSNGY7ch6(> z%VT(D(@RdOj`PkI2gyu#ZLX5%=C4iLiPkW%44}HCmvB*-Kmy)=1b<2pCV^)8Kov`% z?p+>vhCcM;()y&G2SgP#oq(P8P)_QfDTOK;1pI>#)Y7+{JaqCr73tZ&+t`;x$0e!U zP9^@AfJKxTT)tx;_UeBW{CPMhdflH!u(XT@VE03p+*T{QHSVr|U6@vv(#R%2Zc%0!n!` zRl7Jhd`qZ`Y2Lr+3@pl`7pqDDY(Wk_Zl))zKzGVcF*<`zj%JZWK9123PxR1kdt%-Mu32;Tkiua42(-*=yN*1#Q+nfzduo*Kz0Z| zN9f@-atIR|8-vggATcasV`Cv-Jzwvj#{EvWnJd`FF)Xz?#{-!&by0Jus_Mx zD$CLpX!`ahwXvw*!SeBL`R2*7%59oplJPipA(t7miusovPeLoQ1I{6Qjc@njISP3a z8Yfc|n1IdHdRD*myzAUr#rMsWR-FEmLP>pZTv6Li*ZJb0%VZTTFrs6aw3=Wk82Flm{tox2nwCdG}9Kp zeGY0+k*1kL*siv#$T`M0div08Ii939?0b~I+O=f-8OO@?U|zp9PVmvKzIBtTjTfD6 zK|(Gj5j>Mys`S?$%^mW8_JW@L%J%BeMP}0igi*F==;3AmH}T6qedKj&#w>C37Xa(V z-E(S%l_}wMGr-aqD*4aF5*eFwk%W?r4LM$BxJ@W|WBClv}& zwpFn<)ymOay7?xVH~-W>$SN7NJq%%qH{=1p0x;>CC*nHBjS~e|vJP-A-itkDdIP$)7;nF0!kO zwN6qL<|9J4%TIK>pkWp#*rL^HCmDcjfX=Pgewc+&5d%x_`h$%D`{GOEo%GsDr+4OR zM38ZC>0wuAQrA`4i=@y-1fiNV)bIY>l$iXSx8khgG`xk+S%hRsR?+mm}Y3`QFUJ;E>A()-_OD!V#4imp;*^+#eVxV-_|2O zpt6jg%byPDO|BbFdV7CGrub}nn4fNenLg)Dkq&$5^T>9=D@wgr#+e3*Wph2x!`5cc zu=ZNh7|HO8wYkz#kyb>LJpKoS;Q=;0aU`56=bn*F3du?94*92NsSI&PFKc9A2VJ_X zx~bs3)^ac1Oa13g{JP1_UKcIvJ>lBxFw~pct+zBHpM9p>=DpuxD%H>+BQcz&BA4n?gWxTtN7OrJ-A0Ou9?Jz{xj$Pay->Svq>W?jSK@eH zkFgtUd~cutJ6|ctTbX&dJa^}W=6CE>YDwvW|DzF|KxZm34t4`L60*H;&CBl z1O=~ga$8~2unq3D-7JVf$}%Yv=YbqKkW$r?{U9aiMsX4k*Cb)6vmIqUC<&ukfnR6N zwye)y4^ZfJNzaVVoHgh>!ysNjOt!7(I@_DEXURXN_84VjR3l1|&z_u-apjLEDLuhI z$dVebr2)A>0J=!Va*Z*H%Tcmxw(Ms)wV4GG`ANn3<`sarCXcmt;uY{4)FjrGm7~UR zCnaqhuDSss+ZyH)FwB{HO3Z3N9vC#PR^!zufg*g^^`B;|`j#LC$0(V{2ad34U;j+W z&dub;v&hI`p+oH}S{5Ex>*aBzM2YQ0jQsoHw0l2lbJ~R7v3Ve*mEN zVT3Mir))qGaBAk~)IiU?qFC!MK&?d1{U8tmj@_Rz*++Prl7O<()dW4o!ln0wbRGKAd{%~vHMMvDolk7(MIpbQaLYh- zosNu5M9;1#?bgX01%0%u1Js$QtSqQ(e&Uc~-0YlwT42+C({UMi=*=0y)BCW(m`Y+DK^rp0~}aIaPC(Z*2`*VoR1P1|33-Y29N5x)n2Slz_9x zra6Qlvi^w0IhB#~T%mKTmIMB)ySw^U9LEO#;0kctUsg2>F;=x7Gy~|aa~nPA9&E4c z`JOA6^gw#k<;!fc`8;jC=HV^bj=9NxN`EWXY_NQo-Lo!`!%Cnlgx|7~08?+CUV1@( z*=TN{Wa-l}+Ik>IWTu_bM|KKVt5T4Zl<$b(UfiTmhsIv}?D+-*E6-V>&QUhQeH_YtH7ryw zUsLNa91x~qrAZLt5id>j07n zw)MevQMULeJ8O=*IyF_wmOq8Y*u-blN}rZ$@?5s7ni9%tM>sX93`5L2qt2Ui4&Y3eK+Fl561~Kkp1B7ssIFVknu?4f-605_UOr z3jgoNoXE+4)8Bpui3OHDIiEKE0ksL_-6~k7%EJB?Q)0d=I;n1*=nWQ z?&V_e-@TPRzL?_MyvRnbiSfXVwf36hBt|m#^@p+N89@Zkl833|_2hF>nLHwu&0Hvc zsLjax6qpD^T;114#P+Nl+AkrHfHep}V3&mR!A>lXt=x%gJSp#O&sk&==hyjai5LyL zuSbr@CzvZnwTV0WYZYt=L7GB+Am5N%S+6hgc47W3#V=!_(AV?D3OnPa9`7r%>E=4I z3D2OttaDvKub_X@>c+HDKI*|;zq#vieYP}zTsUzENIt74ND(ds4z2$Pasm1;MwiAt z3boNfBQ9$;qDfrgav+G*9`1eer96;!k?hi|n4+1jmo{jj5ULVEALW2NZal^)bbXvd zS1?t|%#2n*)u`X9IHJzmyI}fxQVi(>ylF{H zkf6eOF~=}g!A;7%-fBMf6Z*70n$+_p&4)uK_|meoanKScEh8fw>N8JVlsJkZM0sFz zIoOl?cD^rzCsSiEnz0S_+SupImjf+}2OT6?b$F=^X}FtL2)4gd6xT903!H{@GKI`z zhNNghfnO8}gUXO1WJ%mX_#PXie3+;%0`5rG1;f+VBA7cS0u{JFbLe4JI#C}dI`Ki3 z_inLWcTD1d84ZW(JEFy9y+Y;j_9wIc1g<2GEm)n3vb%jWi1yT29r8!9a&Gl7v3lZQ z(!L-1&-XODD87Or42IE*e!!l>kDl5SVQR$0y+Dh>GzIVt-7T6 zPCqvbhO;Yt?oKhWO-wGC(X#no-cTR*XGz{}_(^Kl`r_jS z7&>$=e+3FcvfX)B=?nJi9!4>a7m|;Cz1kFAORjU!bwPQllQ zpv_DArXr4WoP-X6f|hc3?%ZjU^Ce=Xe#jC2Ty(%#CcSoEzCR(>P{pk8P1*IEt1>h5 zeso6le};E8hDz7^%6lW`KfFD^o3K~k@;>6890181DQ#);Z^oF3cu?qU#C zo7+>@9`F|BW$ zeK{*Q?>w_xA_U7b$_I|rV>rXj_VEIY4B7PpD&||PPgt!h{ zCO5W)9_TO{ao02oqkmlg1f_qpZvb|5BPpB<)Y^vJz{+a3>NUr#@+Zwac_WKol7AgM zR&Nj_#9}4*r1*6{?p+v|YKCLaFaBjS;;m#-3DIIBOEWVWi8=uW*h;5K1_PddMuYZ4 zj!<3`MIpShbyE^5mIH5Y|Du)Ok*3x91bwx->p3;_<_;P8Qpy$J-6JMn(RQPHI0vsl zH5#Sc&+X*NsY1_Xzbgdhd!}LUuTxM6r;Ke{#VFgSXkq%G$Ze35)LuRATQ?XFl_NyDrjSV-k@Ul(`ieMjXLnQHG1~Ct z^`Xla<6lGS`m`?(Hy8Ja3CvVg%`D_6G$^Ge%#}uZs}Y-FtvYQ}>W*;<^B1n+yya6Jsi@&jGZup!h$?QZ+* zH^Z*HyMM+-ni?lNj6Y9x=4r+7w!cxP?Opt?ru)l54pThxo7*_$EO(N@toG)@kgIX8 z$R6vop8K83ttI(%;YNp4dU2!eUqLutokwwN!aMKZ+|m$PetFT&W_?ig8dB-D_|qqi zT61lRx&MO0tIk$l*E!bq_jlgYR%tnJ($V8e=SUclyT;jw$+Aq)nu|D!TR;bKL*frrI|qdAiu$%Z)H3_A;bMAszYiA$e_gUGH^ z@2~2UW3~Fb+=cNzF+{x^o8x&lGk3MzrZbmT>jJWVS`2LO%ouu2Hm3AeL;UoKwUiZB)myf%D1|7#Xe+4~a zksoO3wM~takQTShNY5W~Xbe`=ccZtHdKt`&?74QuNYXA5f7o&89s7DMQ-xS1gq}@I z57LB(&hl|s1onw84~(x@;expGVu# zeF;0@xgY92pL`j@qUxCg4Bw7nf0gnAj@H^&5#xl8UB6+^So zBlOENeYwjh$_B-i+NRA!vg45_?`g*;&dl&OX zQo2&MtYkh|={~g*MB^lC0xdMDR}(u7*Ql>aIc%?HCuh8uqqcY`k$S9x>xtXL?=mqj zPEc)pJj@zzq31UMZ z82s1m3`*cu?OHG!cg^7>LO#f5_~2wNM*Nm&vou#l*mYf3YjNXO*Pe^MW1OYyw_9mM zSlu98i-5dvG%x#Vv|OMrl#D9imY}U8Mn?Qhkeyd`_Oxzvt-$J~CRf$aVm&6ZAnKpS zS6WnyC<~-TdF3`?+&#M2n|&kSyRR2YWfTlQ**00>Nu>lcjG1gL>gp%zH-@LHXcj77 z1~xcI3mW@glOCUlR7VsQyWRz9dJ`*;rCDSVmCp;yzq%52Q%moUL%2`8UHxZbooW9b z>Y#uGca!6nbcc<%6L!CAml^v9UbvQZA+#wPw>JyH%ddO0kH#`BvRAK&W7R(y1c`9y zV5hz(y6XN>WA^4BkP@G86)5~Qmfu=Lf#vbh^}Zo3xN>vPZPM;nKw298@AGj-R|dGg zBvF`k7RqcX$6sNyTp`RSYMTwQm+;X#nGEQi&WOwrpJkgDWM#psxhpFq(n(5fZOo;& z-v?sav`|Q~a$7b1@xTHhI_YI!{CS-e!V{n(o%%W1kt9HKaGsU`);; zfFl1vP+Uad*S1MXAtj;C=&kQAP3#?s65dV~O=idT4Gs^Fd4fP~vfQOzGXU zKv5f-USPQPn<9O0n1{_-ONASL?rjEHR(zrHYz%%mGSbhK-+75rqtBQ{Pe8zE?c1BK zqR*43uNfMx`*S?Zt;mXhMs)nogQg>RD;XmL2?^B|1}JxCeFy$$>i(HU9BZL{A#L%K z{@xUo6E9V$EWzlKM-WlNO`!&@ob~zg4(*vPOTP`-Od>!NI#^M*uK?@ z=jbqswdbBKoJ-);yOJL7BB!B{z|pz4^C;i^cAwJxGjWKbmhMhSr!{TVHp;u-y@sYM z{Ko+gSjlTcR~d4uk%OvUF@Pl9D<^v6BkPTxG+iT!Tfynl0ID1R*jblP^*pRbHL(SH zHt>x5)mwbhFs|$)>glGitGmfa(o5m{-JALl+cB*|4 zq@{CmIx($p|>3N;3JaIQx2r&PA)s zmxZi^VicJ^3^t=lmHhI%yN=GzJvrYA&+3k1v$-A^73=Ty^%-g!caDhcX$_qf5$5Tv z1mAJ{vw}JsvkMc$qW7 zQp(%ujl@5~u^3^7cA*>;6yyMF8w{b;9#be+qi1L&;~=GC?MdWkyW0MRhJ`ATxG`JT z=}o!g_ALLWA=7FC3#=!~NEnqF>E;on=YA$qy!eb3H1;UnUEaY2ONW?fCeB+{nO+de{B zA1OG?lpR1F@uJBJM@`Nk@S>)&>$whtK%!y7@SdK7$lf0cMxofZoL@KD4xL6uj;HlG z4rfF(`*=bb7D^5CLZ=Z4Et|0jb_#*QV_jgF@w5C06inLA{qmyVVds_K(Is~5k)78} zO`0VoeFML%?6!O+*3de9zZo~YLc)q<7Z>U1LZWVBX!Xpc{OMlProf8{mO^){+}3*Y zR)$w3WexLKL@Cr6MaL(xMVmY=;i#2J| zA-*k*N1)=@GuOEg<#<;m?36!^fUZPp?aWoDoCu%BL&f5)`a3HfUE$F@`6gP3nyNa1 zrDKmlVmCJIP|K4ggCBRiUs+iFnYp&P5h9%-kP&z7OCOD9l)b>l{a*8WOz-Z-ujJ+~ zoz#jWciz7v(sCJg&--0VIR*`j6blC*t`BCq%>7wTkWU39PwCXsvpYqtzLl;2&Fw)M zO>yGUY~nYN5ykse!o7}9eYri^UFL8n_L?N^-p0Nd@9}3Azj^G;h<8h-afcQ8xsfx3 z>?mq{^V4JMeH5535LLtP)6cB% zWz1l`G+T-_=OVpDx#~7M;&0r>UYtaCVG&vBXy5b^QJ^UxFnLKNd%sQgA4wLHDZE^P zLgRZ5Vl@M7(L%I?JEJAP0xgOx{IYH(mcK2$yBgcN^A?J16-Ho^ zRxD(W!u@ur!(A$`0Tr>Z^Fz9&*vaZy2*M=+boaCC@8*XG&`HA4-V8skLCHwgdp&-egyVWW>9FkLXjjeeTI6Gx;DAb3{IKfWaX z8pB(3=G;cj(LB()`dD6!!j(C_P!A8_*bzDc?eZg<>HP2exk>*f1@vjNUcMZLy73)i z-ZhmqOoUKu-i8dG_n$A$BmKrsb&i@kugG8gFv=A`WKLu1A-Yk00caS&bvX9VhN(yE z*^!f+0+ojbq&GA(6sNnJnoJYe<>xE9rwYDIrpi|d&WFQ+Vp`$5JRk(n@!HNW+Wh$O z!cUa)k@cvTJSg>Y;f!+1lV^dQ7D@)z>kTJ4>(zW{9zMTY`76+N1KDLnbmnt?R_BR# zmnfYlGx9U`=A1qrwC#BiB-P4tEst$%%Pd{>?B-NU5u3=7I9Vu(VZ) zluJ3(;rDwsdQJ1p+L@dm{Bi2ttsxU?qJo6X^&{L#SD(bwUkYX zI@Y;E{i`$i$@4XSd0JXpUH$|-+(48gcc(k`6gW5o`kPD**Q4;c&ZyMvllnN)Zqa#y zxb9Ny?7-CFTKT_B6|^SoGL`8&8RVaI+ibYlRX}c4Y_R&U7fybo)+Uay*&q?U-!IQc zA=-~>teP=)bJD~&>7Xl8R_7xv<7DhizvkM94Z}&d8j|*h`OO*KBCg{XoY%gHL~aEM z+bS;9k0;<}PxIHfJW_M7D0lpFVd>}hw57@E?56H>e2u?#Ea@+-4eL7yuHUn8Y5r~1 zpR)CsjBmJVl+<~BZBsq8I}T z3pMt1W-H5PoZ4mE?P>^n4a;V=YldZ_a#<@9IoW?~)J-*!i^C=X8DwrP7Dy4Odoe;_yYZ2u0zudnQVMj`(1ad1I zR*4sBE|lhfi$wMyR9-?Q+Vz@xYc#Vm?UN78XRroet-qWPEB%=IsDgP# z$#rhhFTp&?KVmK6rk22|^F1>z^M59l^L{KfWtJj0h$D!P4LtV2imcrY(a5|xh>5bj zeJfc^`bZcJWXpA~zjs-W45D?Z=gHbtOOY9;-MzZ1m$KcY_JjYrnD^)b|9?bNCe(s? z(>O}#ISPL}liH=Pp{dhuu$tfMQu6ASY654wYA*`nK|ScZH8rgNTh|57d+{Lmy@g}F?%yxYxlMR8@=&4h-y__da(;_U)I(i}AtZL4qw)W&N*jbtPu8$v>pH608MnTS6s8KFn}i zgg-xVLhuov9UG!H7LVRu!HJI106IX_}C={znO!Y4h`p;%?G%K6rc1 zjO;d*>TiQx$AWwX>lLVo*Ps~xHJ|j|yLa_{-ba5j-52hM4k@Z?h#KQynIn#)sO`ip z>57%zZFVZdz`-Xw7QGf<&&nT~kRcg-Xx}{3o3;+Ed1o(Y*I$#SVLdlJW#mJqTwvr& zmHdWL3M=q+D@dfMrBE4ZLrk@=jrtRdgpUXE*HKHNklyqgon#Lhwnr-!_SqFCJKG=2 z<|6^qxIA4I$0&}h@LUi|omDH2>`c3+&&R9X;fXEvk&8s#F|7Ja`+bL+)}qvx zX6=antnC*oLG1`KHh%{i0reuGiPw*$5(^$OpVP<+9}f}{j*wmlRIsvmfMFIsOnKN% zO^=%Q3QwYBD)nmRT3>j9tfTVvuJ82#masAxA?gkj^-(CAbR4%nUn>85_ctHwW+*t( z6S%|HRk{K+POmNBr-$)D%+8~85TH) z$LqG;jAXFW7Q+4iGf5}IrSFIb=?t_>vRyb#oFv6DVZpQfy8*Ei+4Ngo$nxorrng>+ zV-%ff7waD{^LU@tyf^^1?u)agH^l4hg*v!Eo|iMRdqRZhR7mKFi^8K1sHmzmz* zce&SzVo8`g3F8v`FStVwBrmk|AX<4a@+V3c*m8mT@=J|>{%^eFhDqvQUxNN-oFfAI zLC`q4{+-I(Q4r+fT_KCEE9v?|&?ATa@KGX})kjF{Y$BQqpPpT*4Yj0RHR|dMj)kik z{j7dIGMbnRsrE&+_OtH&t=-+J3Q?gigw)*DmZ9m`cwzq%7{r+VJQvSz+ZW>m^%X+_i`Ay|Qdc0e^_KG^?;B|2LC6WU; z{%khbwKn*y4_UCEc-Ylr#%uM3OY!&iTWR_E=`4$)A@6R)4NKDQ&0~=fa;}NS?HlO< z6RtaD(A2P*+WF_kFXLu;&ScxpLVoP0_6tXeBdv&U=0x4&4p5gtLE|nFdv)Kei;0J- z&#$#{38;?wnkGaj6(u0n#l3mRZU;40;ui?n(EAAOekeSfzLO*WN`YHKdURqFMdW7O zTnDTf5d+)uo#ls6w-<=4c!JA_{6`M)8RCn->D?B7eB$>%ksL8=@TE!oiNKVUaL@Cn zl||53NdC|jog#&Q6#O8{&t3ym6ykkL~9M_&e)l&XM!7-Cg-x zI`Q60m1#?C??|b`!KA#A_vuJhXnu=8lgmPfg_EE1vS#nw?#aQjVrJK)r_c9{(5pST zY87ynYZjO?J2P7$QINTN&(_agKWbarSW1}TyW0~5#F{I*^-;E7g>5MP7XNvE+azYT z=J6&DhURrowbLnKzAU`kxGi4+cIRF!w02r?qKs(sIAA{7I0N} zJEB))F0z$dXU156_d#$LP7SHSy#Ix&>`l<#fKj}I9PHNr-Yg#CzT)eS_1ZMnqZPn< z)#Mm_9?dG7lWVixjp*fHnzs6lt{-ln|G)d~&4e7vF_hSt| z>#0_({kKAo`UqO+F*#Td*{}3ir2mEW%FKN4_U(`dv~LV4IR&N|2Mrz-L*uivLxoAB zln0@(*ps+~TjS%MZoJLze|k+5w0@Q^)}8B8Kjp4Z%y--Xc~^Y$x#im$1){!eDn&!e z7_{!4(VHj7-qmyEwXdXS$EX-NIIz&TW;pOCc2_`e!pwQEb4aD``X|;~vk8*h>w$jG zPy(oH-Dk5huL`1rWvK)~bz|p4Os2S;mqsb73#W@M49sE-LG!A6PXuxbScxS+rxAE+ z(0}l7hB<@4)Q@ES9k#;f)*Rdtl+2wfWDs3(eE;>%_UuK$Q&fhtb=>0vc4`(@pyjL? zb=w<*Q&_YRZs)vmZnqC^t7Et>dwUnfpbn)lXa>?tD$HiGVn$CL9i8E%ZeyhF>(HIw zl2^pjWq${1wOS`OZtnb)RCkJ?*A2X>dUW>}t!hy-Z!^cQG3qDo*~!zue7tV31yvVO zD^231hvt61gLmOy(#kU*8UfM=L*>q0$n`Vhhb2o57PhWlMJq<02v8Er4HAYEK9-mZ z$_o}bDplnMHOlb0f8ke@q7B4`i0%02?6$H#{VEeyXwjV_<(4$9^PrJQac0pR`AsiF z`ynsjA(z|CQ|}OZl5J56{sBvFiRZCTq?%=jw|zO6g%+UWTq=Pi6pt{O8W2Ht7m1yr z_J-OxkO;PhGK+`UL^k)PmG8MsCU^OA?zr(wW0S~UPwI6qyRJ+a_?=kR{dvCDnA68j z;uQ(Uq}*>7^TNy>`<>#=-JFvbuGO~o7VnfbR4&-(8vEKc`UdJvtY)6&&C~a`hr{o- zL1n`HN<3Ddv$bY1dusd4SzSb;o4&2Ihd8^#s6A6H@#NP^w-$ax1E&zix~SogNpa+)=jhbGv2rIS~pDy6@=uFc~d zhu!&@Z?5iO)qbuBjjw!ERSIi6!lPfdVW@>|V%N~tqd3pA^pTY&cG_-~K|GfGBL_|F z{21^wix7K`*Y8i(%|R&F&%MUWnlioY>x4DiZ)AZ<{5)TBmVMrzHfeU}`zZsjNN9Q~ zZm%wB*%qZmiRj1gv;}2ca9ptoWN9!yc!!*?)Z=0CgFso`x)P7~95?$NMIHkD zrdLAQGrNCI3G?eJh3>Ad7rW29fy0rHNsYOe6ZGTu&E!b>HU3RD<`vG$wN;)OHN-NH zy=w|8S|CS?M7$>TGgcP_6ze#wWd8X^oA2HR<~gWwCCphE#tW#IwYt-|8>`(?jbid5m8x&(7bA7~4H)-f z4uv4Wxew}WwKRY*76ny*L;8!6E_>_6_w%V?^erl9Ti9Lg`Oa)VD|DxCv0CeE>J#ps zi9{p0sN>Ae(NZhfUA~dH`Z1ePW96IqMR0H5tPWd4c@3WJ0c@CMNfU?a`j9L4c=@ub zn$}F&haO{J4r-STGG*V!GeWUCU40K!f4)&OiUcWDt-_`i4q9piV!Sz^UrZnC1&mTMIWnv__b;!NDFYiMW1i6Yvn^z*n)CR8oxTawYseTX5Q_?Noc>*bdAhVl!&vtJ)iLSliKph z520L0S-2O}W=a3;M%Y+n?U6sCL=~zeH(=YuZVP>sbcpp$BovBNXj`i8O&505jRLw zjw~o6TWSv%yA(QR2OQqETa;A9TMvd|kq)B*TC#b`;kiqR*%4yi6Ngs-jImOjUa;-y zp2$&Nz1pF*@=3S$se1)xwwqt>R` z*01>S)Y3o>_ck!pbA1pOdL>FKZQ@K^)Wx{)P{}BPRu*yYxb*(3=|qp`c*A(8XsH3F z^pK&%yJsIT3vA-o^@|IULqJ4_LMlH;dy87IF)U%N(e%F$e#)R9S@ZZ=bW*-lK!8?z zhFHTSj)0K|gx_8#gDZyVv43l2kxa^<5w~K(E$^DK4r&D&I4tb?g%atLmeYT4{9$UYTn4P^1wSocqN%5oIeOOc&2$zKXkzDMh0?`~Yq zda;G&gfkR=bkQY0Sn56pQ4XE^U2SCj7hK+Dd^uI5 z;b{}6qfqP08~@z31n%VCz^iQX>ILOHv+5khuI1vxmF;`;2rko7r{5G9aY0>jl&|fZ z9^mwMm<7gzxtoA5zvfTg!7V<&-OcyZIVM#u z_e!@z@06H}jfB(S=q1!SIg~tOLT0R?(mUGLG0e0<2MlFeuU+W`t&XGyWH~#0Q|tq$ zSmn#K_UfHwgq+feHs~`~>47X`Zj{Me@&jmgGwG*uL;WCiO(NF9ownT>z#d5N zrHq|YKmg*&`;LB%Ivn8JwD;!Si~og7QRmAt5o$_H*L>PlF28x*Xc`XDKv5yEhv4r>MLZYZlS-_1oV9`|=Anyi>gMmb^Q}*9VQATim`f*qgqUPnY?j zo8W1+o#OoPE*z#=2N#{Jp{1RlW2)Pe;Z)XA+*F$$so`&K-%dMNizqA?ER!`Ilc#a= z04J8Bapi!garZoPjb{+_CA+rA_eiWEYFSH4u>4xyco#^&DzW=Q3geyj3u^i8VwFF% z0gMmWqx(B)ub1wF@X3sX9lCO(V{fMSEyv5m@KfFMsC4XM4LghO@c#kF9b~kV| zH|DQI>1jz@hR|J9Ife#zruhp~9gH9hMof}_ahH9p#P1-<9=#>hd1uy+A*qrtba&tN zYs-*Q-LiI9LmIP^%stK00D@4&fy1KKep*nnRha)Ve&^95Ise(1Xv=+ z5%(DgE+M0d$_P?3>>XSbV&v|im4)XiJrE#75q-zw0lxk+lNm5dgd7!uh#(Y3(n5jM zIa}Y8_L7u~7b;?q24R`GzR+O&f(!uQ9zmd}Fg;*Py8Yr7;S*9~OGBwM&q1|Yh|)3i z=OXk!q4GBWco=NmyytmVqE7s}<= z`dCVoU$K=&YU!zr)(GeJ^<#WLs$GI!;E_gs&eBvf1cQD_lO zX?x*@T=o}V_puA}K0gMZyML-?W)qk#lFa<%%Grz~+M@aKnD}16S+2iTQ~%*oQPl!f zo|R)}SM2j-x%}i5e(?lI)PI+yj`KW(%@Px76NRYnMgaN^Nv$rfXB=EA8hg6}%6O zP>JcVG3R~C*sEUfp#yz7hU^cH8jgUsHD=0)$^EXCK48LWV*2QmvGrJn zjNf)+vWs?3OH+`;^E$K=l;?nzb(i znkbMfWi5n@=2cWKmV%9%;K90p1Erm17_m2atV8VqC<2OJTt_1=qu8iIpRW=ib^aif zVD+L}EE+=w#!U3`JYZ*n-$X$W@bTmIzOjbu2fnK-OzX@c#}p&yKq!rPPeu+yPK}_3 zfZ+XNpPFPPQ4D!VFL;^DO;G&S0K|C5`x8i$LGp}k8nZNhqdsBj3MCyZvn?HZ_rBqq z#X|2!ZyOK40T6}1y@y*ii10sf<;5xVYko z??%|dRE(@i|Jci)5A*u+`&DyfcY35ehHNK!(zB62J?i;w%zb;zB7oNTYJPcVk-^W3 zzVxm)JIZt|8^c;@reEd0HrRf513Upm2AnA_H*Rm!p)$FAKbo|)VZO2>=%KK06qL;C zNiqi++$3H=aMNIcVM38b>Y#1AH&l(!^BmboKyhkwSa!O9g=X*^?#<0GomB>?lKXz! zghE*A)GnJJz05vIxm{n(0#KUJ%}$f3V3C*cS{c+6XZ5pDK`k^<@w6#4*6pujYZ8_{ z+edAhBdv%7U8R8pn8a?$$>U+AabyJ~kC6#72j4}=_qA8WSmg;S)EI)_U_!4 z&H7O|_NoZGAmmZPt_o;uWI{-zL|LAAYc1%-$gT-ygHNcmv^7EDO-;R5b4cDErKWE} zV+UzM7$qkOv@&aNV=W;PVW!a@3MdWxF%dKfYUb`z8iFTg)Kq6O2NRi%5Dxo?#W z(AygKCTa>Qj+7Zp)I~%px5qCLk1v@aiL1zr>6hZ4`J*^jHC{GFO!g2WG=twTGQr+}XWsVVzcYonCQQ zJ9(`Hbx^ssSqd6g?Au$8QHooBP4lvtjoY*W6dLRoJ!_TF%^6=YxqH~PcJ74ge$)K; z!yS6Nrr+ZWJM@x$ilwuUULTAcK)F_?{)TM5tj^fn!?~5`(86A)toiqq0+pEFJR+KW zm7^o~D;uBs7LN@5{Kw66+IiyhH#!gdY;`?Ttb9s~ExtzN??79TLq`jbcYkE;>8<8y zN3HEVr~}%0`TdJB7{A%{h25UI@cKO`_Ri#@s^J!eFHx7Ho2Ez-5}EHoPzxU@`;TQ*M&>i4}SeEmnvneGT~Kva}w|*)^Fi{>Iqul`1=n()p(3{V%H*$ z?%4Vdt{#{b6s&Er-E>%JfasZnX~naS6@anI#mc+09GSuCoj0^+GQ4u6sNN=Ha# z9C{z_OY9)n}Y9- zpH20_KzFsMWt^y0gEtgyUsPQ(bH{uH)5her_Ej=(FTP6D%(Q$#C2n)K03E#f#v)y6 zXHvu`sA>9wxgtb@Ruoqz*_7L2wX7i@A`fHE2DACG$1#_%eHHonMa+V2Ih7MN)gz*nT_1|0xN;Gg z*W7O!CHPy>qf_mGA7IqB+ZHSsO#>#z$?Pa*#Cv;La<}yJLizg56t!ADgwLJR!*a5C zXB;Rn3GaBO7uBF5zpbvHCVzQ2u_tz;rwB zoIxGXz?MdmsS)x%j)&z&{G+-u>j;z>d7mSwBt{c{ZY3hu-xgR4A;5g-5;AS`la6*U z8d@UE+xB0Ju*aEny8;WMa$ng9umI@jltDZ~;3bLqS}T8Fa*_yq9H=~lVq4nfXfHwn z82%mOj4@D}vP7Z67kiOjV^ZTv{+=z7IWf+gxnjGqw5c&|Pogl+Li))eTt=D24Li6o zNv$S9%x7h~!A}aBBZALkHXUEaR!IPHsk3Y11hF>)U19 ztTevUWiMO!3M4D zeG$9ec^J$sj$)gpc`}m)%4E4L2UYN;yuUaE1O#5C{j5`=m-=%q_>`HjgJ>4qNAos0pM3Idv0m?4S3KlhUH-YPYHIGSE=gUj^aa{njNrNLKTzE~z#^aKKjUKu zePO5R4+h(!<6vsgV_jh=f9V_&(F29gX>YMT)X3=gI|<7_ zdF3-ST__uITmtuWoXz!{BXRGoGLP9sD?Jr}!~?v-n^WXykrT=9?_p)VH*>xfkf%TH zI;DV!GDPwvGOcQ*AI{epUNmBZ2GVy%w~5b~`-HSm%g7*E94!f(TlrV>DH&Kq{P!o$ zdmQ#^<$5fN^|m{?wp=#VonLLHyU865@>_Na&34a&wy2WVwF3eWN5T%5=kVf151z#@ z-Y(ixz@j_rKSdf2JCM4G25WKru?nrSa#GM<`-~9bQQZ9w-H^9>tISxG$PC_H@@6~J zOk{_OF<+V4jano2&if7Eb|5xWy7^Q%y*q-{m>_J(nuC#5rLN;L( zXd&;pJU;$Y_7mp?6U3LxHy;fDIbh7OFFI78Ue0VqFC_|9xC`!;Lm0vxAYvi*(#Z`t zBOTL(2sfHM1Xb%EUT66@!9gL;MQ{&qJ=W!z3P}Yme(aev``~7B zih>^X2fmppiK+^_?P&Hk!Ik(4I1%bw^1?rjI`o;$usAMFU*kjGN5$H^GnANzI9F>A z?Gb|Mgur}8G2i>4XAL-b|JU9D0W!k7GMnk%3j;MlkD>^S)AsJQ+j8w1x#5~RJy#1? z67O}M5Y!5N|8dVMw#+Uu)c(_toZHs!OWJBqY@9K`oCX&g6h${DlNxURL3xacVGS+O z&N;N@Cl_Zfwp#Y>SZitL_aBvd-yiYbDpcIgAJu+i_lQx_-=zI0Kd5&#%`H61W5-e? zeP>sbR-Qo&0<|d%i%J6Gz?!w#-aAY3*U9f9KAvl@5H8kDGb9d`SVd*-KO3sDurqr! zf+=P~AR$0;Q263i4w-HgbLt<$SnD>a7T8CI9TB^eQ_@ivj2xO9jsV_OzS+5Yi#3qE zxFTlT8FC3R+WK{WYdo!cA!5bs&iu`(;2qRYjgs&x+!n83o%h@=4|M}cUc)cAt-hwQ zc}W#?^BEp&VNGqVB>lNbd8SG*bJe_L0TBM~GNi>6Mj9ePt?%r;klg*MczK@Q^x<%U zay+;O=wgNjzRufmW65;=TJ0x9-5h6ZOzRb_*QX*32tu_URB2{MS&HGhYieY@BBLe) z6OlcKt2gFYXA}c3du?cBe|R^xO-$nRC5TtRo!+!j5sEK!HkV9{T3`S86snG4ww7M^ z5CMhAUCx&4Pvt&=mXW=gyn(-3K7#E{i<#_jvd@zQwL2LE&v+?>HF#B*EIj?n6r~&n z2FwozDqq_Shg>bn;>F1@X>)#q$VT{FeU49m~k=@3>`W%V=y;=H;v&0kc1UBPDGX3w+OVJ(Cj`E%dl zs}}T@FG>2Vp^D_FCWa1VZJZPEr-aLQZ?WIU(-V~eZlg?%SCZFAQJGJFy9v9ep@Tyd ztvrW)XH6Hfq7*{u)|%#U`L zMVL#5e7eBrl>^8)$n}^4>j00}RQ-)6e8r26P(T=6e?A5Xdu`;9_QNDRo>3j!*Sw;b z!Qx#Wq}JxF_5~M{D?Xj)c~vvd;ZU@-sP@Z+JbsF)y5DnaPau1^)9 z;Ep4}2W(GIoj)HyI?uF!nJg8ol&FMOgDGjZ28tbVyO`V6xWq%oUX_SUA1~#xq66iX zg9*m|s~^|OlYK_Yqd3RiGnRlCdds>k1FVn>h4-8ANiQ~nU}3yG`LN0dtPhgNnDGq` z`3Fzf6M)L{$5_s21tY+*)^p=OCB#=?p-0O6cquCoEYWAKR0w=#Vw#0{$$`)|R|+J! zt!m8z&V)rZ&q0v3hW->~h7X|~Q%n8x*JNR!*`%ZM*&&FO%W5RJrXFm#<>_`C`~g1< z4=Gkb<4iEA?KyJ+8gN14$`Yc)(6b{9tb>~)N%Vb7YED$9 zpwnwpVDAev%6BkWE`WZ(o~SxkY6!qQiky3v{$J3`1Hh9Iy@wFF$n+O**l%<+*O_fk z%de5ye0}!;OO!d~qt)fgJ`$ez+?PiytJgs)FHGL*;`5K=drSV8IrJxGsABo%E#lY@ zn`(T3tR!7Vuxm+~hbv$N+7sCte{a#3z-7%@|IG6Yv%ovIAc^%M`-Nf2RW9YGXT$*= z;Cb$Wl5g<0rUxo_U0iN04;~1Wdu@C%`Ev7CJJp}z*_j+FrEmu$Dx>tp>ijYwrq_v$anhl|OjC+i-LA7GtuP-WyXF(~h(I=;eof&YNkO9s7+mdIkmt z9T}{b&rZSI_U2nmwD>J}lh_7{au^`${ZVM#D+$TV(}x9pEM@KL-=_4KZd>dnlKCC5 zB$1WfNJYWC{$nLQZ)~4&HaAA|$Pq`ubyv|cB2w&dV|Jn8X!4B51kyThtj42)R>t=l zD)VtU+tk0%vIiP+t&yXnW+J|iFhjd%JZ!DT$iCfWLZ8-3pU+4F3{3Nr<>@m@#lDFFUQn%CaHupR*j%Ioj&hU*%@`@0i zd-oL+fjY9MzuzEa_xHH`!d5?F@7m-lH5*A|FM(2ufKI9ePFKXvo%|Na;y$MM285zR z0^kv!%;&0rF!C{0$8ZuuO3bf@f_XzJU|#QmE%sUmU>8fqmHF}eh6#Lpa)ng|EU06) zuN^YE-4O79i2q>VuV8-D=^PnO^*XLKq!55RgJ|2U;kk3I1((XhEmDxs~eR&f0-1P8BOtBwX}>9F1mzv_uP{?4msV8Ga~N^pq*wyGWqQ9e9x>oYaEaI}>F{-Y}5Xdu0Zxyy~9 zh0?*P^+$y5G+^F@iF>CDr4zFO=Yh)Cmv}PlA>Zn3(9a#)3ZFPH`vv zdq22xjBEd`b?^dh|7Pri(t@Rv!f6WeXTeAKm*)2o;0!(mBfC{qnenjBIP~_~Jn7%% za?2N(!HNDzQm~}f0csmti9@Hs!XNbfMtDkJm^NQUf1=)JJI~m;UJpA*;3=ucI`d6>Spgt2tiIEz#@?0YnTgxQ9yvf*$>*4|9R=u&zux z;21K3>K?t9aQP*tak*#?!)yH3scJm1CSpm(v|lq#%Fqv2nyv>(F*ct>iSif}=~8iO z7F38om7Q_4|vt<9(7P>P!-xjyyjV%qi= zV?V}()3wO7wqiv_1?R|X0HQP13mO$+U>t=z!g=t+3hPHSVfwZyRuC-O=$|CL7a}SBV78R!y*nCYTE5Xa!)==1g|Idrwo+r)J%n%=QGzS*k z3ql=9uF`9zyi)=2#%{Er2V{%By)P!-Mh$q&7ghBK!F$nw*&F}f=U@&)_|xO5cdu(R zXl`9S>qZ^86KO3In_SA#7NlVu_-7ZzsI%2Z;nkUDN|~* zwqw-f3+eVY3TV%J!wB;VwK3QLL6*1|&bW|G`Z#C^>yUUCg<2&!z{a1@7BcPW{aTcW zoporr`;FAcDyqexC}vPyTj)(&okNGpUXNe%Q~%O!uc1}N?jay|t}i&Td;u)3>}DZY z&<~CZW`ni8_S{ukZh=VW;MTnNI}smGX{H5#h#&jszQ>>6_dG_uX7#Me<~l)QpTt(` zs&BSaqPiJ6cy-)J?RlYbrM}xYJF8%xhhwL!cnvEY26em=B9dHx#gK(oK_gkjJ@Uvt=W-Kn?xP%^ zPoLTBLPDoTxsek_N%u$ha5@ZQ_3`L<&1h`2Z}vn({j^O0Dc8-^mJ)GbFlPR^is0w? z8u&QH9wx!g(el)|*Zebo-S5V4p=T(`s5sPfQY2W&L)W7rfXr#V5o8aD7bzn0vZdh{ zEB(k$N4u={<@KDe^2x%}%dnk5|Ski70H%BS^4d*yg*Oqf*wqg=y{i8fG$mj~7PSxXF zq62zWU}IT({D4QEts}>f8pV1;22(FFRlHj`EY!qqHNk*o_wS!c;T!C-F-HYD zTLn9dY7eVN>$gz&n1qbfahi@@=#NgT3cKewcC8jPXZ^^ASw0#n&9MB(&g1hddnqF| zBqJE4jRqe%Pc=tTJfIL@ENO38S|rlhIN9NQ7f1ivu0!c}`-LchP4nSpBJ=Pc9-Y|k zt0Lx!8m}3rOo3m*H<;pgPe?3FZV0Q6yx*zdO0Tw5JJx1gdJ)xhQ7yLag@kkqyFBeY zk0x|(jbss~P#Gqp2!?Cn|6B3G_ADtW=@l=4U=FpuPplgzF!6al7mq`oJcwLgXgO@H z4g=|qpl4DbMzbw_J`y!g- znIEu3r)9;wyuL{RZhg?6bf=*f9Zb7F$#bRafIvqCNEU z9@NZp8nfR{$|(ie56W%?#=hx555jUOZu?dL5J19~^wu<6;$^C?QuZ$qjK$OtzgdAV z=O#$S9A2lH7n=`#tz^->E+PHWW~MFC?&Fg)hMx3j^X5pVR#hD&d~lG)uHa4Ev2w(N zt>Aha0<`YnBse_Zs<2M{^x z0*=T+f4=?^;NaN7TYnqWZxm94nNkY96m?}PJIy<2FV! ztn_XNa-0jh0+MAL?|yQ&Ti`vW9CyD?>1`Vl^A?mC|*g4=d>&&fF`qF_Z8akW&8b9@3V5heDJeQzKrzS`3 z;ypHYii2N%Knc-6;pt8nU!wvEfo=Yo;O0}+ozZ70d8vKL_r0NEz}U`Zn{Poy3COAz z7CI&TDXHG(bPF#_x$ha4TIsE;Mh7{uwj$7%4>r!wnEZ+pKy1@L9M-_SS{xgn z5ih)9Jg`xGX2T${62#!06K!B3E#bB;U{?z_Q6pvT1uVVL`=6wjS7*Qi;eBlMo39;7 z4dDvTdnscu;(H%`JN*axPbqdj5U@^2NXW2K8|b-S^nG>Y(PWt2w^**Y#4B%~1yfP+ zU1#-j9;qp3ar9gnHe}^B@v2e?91N1C`f@QwZD`J)(Qi|GtFPF|qOLBEshl7d`9DX$6nRK;9y zH1k`zL9CyTp0Z8i-OfOlxaN2YJ}xSQp(|1MS}6u|dZ-0@IP%CbQtvI5Q<|a#g;#$% z)fOV;hrF9ye{D>_C<`dh9!7#TbhudS9-A-dv78feb5!Wp2*yrFUxFY0r;3myMMNI` z1!R&#Wgv#`?Z)xU?3562Di>tfaHE%T{w%iJT<@Q%~w#0i2lnB_bI5fj1dHf5deASk|Pl{~Oam|R7}&&(g(m~h zVES9Gb)P#nn-J42P!}HA6D#4G0kmy##60A(`!0$)b7az6Cu&B3;;6mo-LP{^cA_t& zzkf^#SZijD(5(@%j%jLt7mOga3dKs92+3u{SN#!n7nvL`wT|!x;=idkl!jWA@?1Gb z|13mR{T9B;271ffs?mZYy)KoJL%d z`S{AR3DdA|xfNIJn`PxpH7^N-qlpRWjddCLWUzz6J?6dYbUVJF$RW<+scH7u9GT-X zm8S`*pOC(U8;zh{EeugACb=F` zvWhEPs^h)zd@;)Mh|;haan~ozeB=fN+7>ldfeBBV%3TXwUK&}&W-_P@elHpTqxcyJ zb5}-y)6lN~NsPbeodu7-5u59HeK+2HAiHK@PtQh$Ibatz8m!vLNws9ifLkKko2`mL zFG(vcB}79&!EiJ35<2ADw>X}-)jxNIWZlN7#tJB;-9C%4vK28n*5136GYMWs&wujd z1)v0w$@H8>9e?!x?PJZQNd?~RF7mnP5Wo8`cM=olr&?n2qd#y;O@znx35jQpfh4rP zW%>L5PT`!(%Ys{Pi#k_ak@6~-r~wjXI}MJ%kWbQronI~}kO zt_@S!)Czc=gJ$@reBb0K;FFS;LjY)JfCAIL-&-bU15n_rv2bbb-@{NDj=P?s)_@y1 z1@kQiDKcjc!_6yVBY^1)!2X-N3La;@BLq_u2S8T9QYNuCZ&`xn$t52Ll;DnCib%NI zXRao}=v^~2_`&&?H{m7z+rtr zI4|JrCB*R?lR!AhHlC>;1B2zHdK@?LzrdSV7`0&f3LY!YcmDM>(4b-y%VMIye`gke zc`QdaCFW5`TTEFY&!^X~nc0u*T{b`e`8|7R@2f&L)*t{KG0D>&@Sp3CgJTKmeH{NN zbdjFqmG61H+k8_dLsNV@Rv6P;=C@ql-@91cF#3BdlpI=-#X@0+r-*m9BbE-DK)mZW b)gS291!Y|Bp2GSG@J~fiQ=#a_-6#JAE?8M( delta 67544 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%0A}5u+?X5 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 From da60833abd29aef02fa07098bfdbbb4003bdca26 Mon Sep 17 00:00:00 2001 From: Marek Wolan Date: Wed, 26 Feb 2025 14:07:14 +0000 Subject: [PATCH 08/23] Fix os scan action --- src/primaite/game/agent/actions/node.py | 13 ++++++++----- src/primaite/simulator/network/hardware/base.py | 16 ++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/primaite/game/agent/actions/node.py b/src/primaite/game/agent/actions/node.py index b1b6ec12..5b62957a 100644 --- a/src/primaite/game/agent/actions/node.py +++ b/src/primaite/game/agent/actions/node.py @@ -37,15 +37,18 @@ class NodeAbstractAction(AbstractAction, ABC): return ["network", "node", config.node_name, config.verb] -class NodeOSScanAction(NodeAbstractAction, discriminator="node-os-scan"): +class NodeOSScanAction(AbstractAction, discriminator="node-os-scan"): """Action which scans a node's OS.""" - config: "NodeOSScanAction.ConfigSchema" + class ConfigSchema(AbstractAction.ConfigSchema, ABC): + """Base Configuration schema for Node actions.""" - class ConfigSchema(NodeAbstractAction.ConfigSchema): - """Configuration schema for NodeOSScanAction.""" + node_name: str - verb: ClassVar[str] = "scan" + @classmethod + def form_request(cls, config: ConfigSchema) -> RequestFormat: + """Return the action formatted as a request which can be ingested by the PrimAITE simulation.""" + return ["network", "node", config.node_name, "os", "scan"] class NodeShutdownAction(NodeAbstractAction, discriminator="node-shutdown"): diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index 9cc39848..2b5f4d70 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -1534,6 +1534,9 @@ class Node(SimComponent, ABC): _registry: ClassVar[Dict[str, Type["Node"]]] = {} """Registry of application types. Automatically populated when subclasses are defined.""" + node_scan_countdown: int = 0 + "Time steps until scan is complete" + # TODO: this should not be set for abstract classes. _discriminator: ClassVar[str] """discriminator for this particular class, used for printing and logging. Each subclass redefines this.""" @@ -1570,9 +1573,6 @@ class Node(SimComponent, ABC): node_scan_duration: int = 10 "How many timesteps until the whole node is scanned. Default 10 time steps." - node_scan_countdown: int = 0 - "Time steps until scan is complete" - red_scan_countdown: int = 0 "Time steps until reveal to red scan is complete." @@ -2019,10 +2019,10 @@ class Node(SimComponent, ABC): # time steps which require the node to be on if self.operating_state == NodeOperatingState.ON: # node scanning - if self.config.node_scan_countdown > 0: - self.config.node_scan_countdown -= 1 + if self.node_scan_countdown > 0: + self.node_scan_countdown -= 1 - if self.config.node_scan_countdown == 0: + if self.node_scan_countdown == 0: # scan everything! for process_id in self.processes: self.processes[process_id].scan() @@ -2098,7 +2098,7 @@ class Node(SimComponent, ABC): to the red agent. """ - self.config.node_scan_countdown = self.config.node_scan_duration + self.node_scan_countdown = self.config.node_scan_duration return True def reveal_to_red(self) -> bool: @@ -2114,7 +2114,7 @@ class Node(SimComponent, ABC): `revealed_to_red` to `True`. """ - self.config.red_scan_countdown = self.config.node_scan_duration + self.red_scan_countdown = self.config.node_scan_duration return True def power_on(self) -> bool: From 43d58a7ca6393a6e069da2436a45f8c938dc409b Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Wed, 26 Feb 2025 15:13:01 +0000 Subject: [PATCH 09/23] #2925 General Config fixes and `node-os-scan` bug fix implemented in the UC7-E2E-Demo notebook. --- .../config/_package_data/uc7_config.yaml | 15 +++----------- .../_package_data/uc7_config_tap003.yaml | 20 +++++++------------ .../uc7_config_no_red.yaml | 17 +++++----------- src/primaite/notebooks/UC7-E2E-Demo.ipynb | 6 ++---- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index 9e051fa5..2af492cf 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -268,7 +268,7 @@ simulation: external_inbound_acl: 1: action: PERMIT - external_inbound_acl: + external_outbound_acl: 1: action: PERMIT @@ -347,7 +347,7 @@ simulation: external_inbound_acl: 5: action: PERMIT - external_inbound_acl: + external_outbound_acl: 5: action: PERMIT routes: @@ -995,7 +995,7 @@ PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 1: 0.4 # Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # -PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 +PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 1: 0.6 @@ -1062,7 +1062,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["HOME-PUB-PC-1"] target_application: "database-client" @@ -1156,7 +1155,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-1"] target_application: "database-client" @@ -1199,7 +1197,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-2"] target_application: "database-client" @@ -1254,7 +1251,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" @@ -1297,7 +1293,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" @@ -1340,7 +1335,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" @@ -1394,7 +1388,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" @@ -1532,7 +1525,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" @@ -1617,7 +1609,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml index 3bc24ea3..3f7aec14 100644 --- a/src/primaite/config/_package_data/uc7_config_tap003.yaml +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -14,7 +14,8 @@ io_settings: save_agent_actions: false save_step_metadata: false save_pcap_logs: false - save_sys_logs: True + save_sys_logs: false + save_agent_logs: false # save_sys_logs: true write_sys_log_to_terminal: false @@ -268,7 +269,7 @@ simulation: external_inbound_acl: 1: action: PERMIT - external_inbound_acl: + external_outbound_acl: 1: action: PERMIT @@ -347,7 +348,7 @@ simulation: external_inbound_acl: 5: action: PERMIT - external_inbound_acl: + external_outbound_acl: 5: action: PERMIT routes: @@ -995,7 +996,7 @@ PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 1: 0.4 # Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # -PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 +PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 1: 0.6 @@ -1062,7 +1063,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["HOME-PUB-PC-1"] target_application: "database-client" @@ -1156,7 +1156,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-1"] target_application: "database-client" @@ -1199,7 +1198,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-2"] target_application: "database-client" @@ -1254,7 +1252,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" @@ -1297,7 +1294,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" @@ -1340,7 +1336,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" @@ -1394,7 +1389,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" @@ -1532,7 +1526,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" @@ -1617,7 +1610,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" @@ -1946,6 +1938,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: @@ -1959,6 +1952,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml index 49ed614e..b5a2a3f5 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -268,7 +268,7 @@ simulation: external_inbound_acl: 1: action: PERMIT - external_inbound_acl: + external_outbound_acl: 1: action: PERMIT @@ -347,7 +347,7 @@ simulation: external_inbound_acl: 5: action: PERMIT - external_inbound_acl: + external_outbound_acl: 5: action: PERMIT routes: @@ -994,7 +994,7 @@ PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 1: 0.4 # Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # -PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 +PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 1: 0.6 @@ -1061,7 +1061,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["HOME-PUB-PC-1"] target_application: "database-client" @@ -1155,7 +1154,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-1"] target_application: "database-client" @@ -1198,7 +1196,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["REM-PUB-PC-2"] target_application: "database-client" @@ -1253,7 +1250,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-1"] target_application: "database-client" @@ -1296,7 +1292,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-2"] target_application: "database-client" @@ -1339,7 +1334,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-A-PRV-PC-3"] target_application: "database-client" @@ -1393,7 +1387,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-B-PRV-PC-1"] target_application: "database-client" @@ -1531,7 +1524,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-1"] target_application: "database-client" @@ -1616,7 +1608,6 @@ agents: team: GREEN type: periodic-agent observation_space: {} - observation_space: {} agent_settings: possible_start_nodes: ["ST_PROJ-C-PRV-PC-3"] target_application: "database-client" @@ -1852,6 +1843,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: @@ -1865,6 +1857,7 @@ agents: - service_name: ftp-client applications: - application_name: ransomware-script + - application_name: database-client folders: - folder_name: downloads files: diff --git a/src/primaite/notebooks/UC7-E2E-Demo.ipynb b/src/primaite/notebooks/UC7-E2E-Demo.ipynb index 3ed8a281..a1cbdd22 100644 --- a/src/primaite/notebooks/UC7-E2E-Demo.ipynb +++ b/src/primaite/notebooks/UC7-E2E-Demo.ipynb @@ -63,7 +63,6 @@ "with open(file=_EXAMPLE_CFG/\"uc7_config.yaml\", mode=\"r\") as uc7_config:\n", " cfg = yaml.safe_load(uc7_config)\n", " cfg['io_settings']['save_sys_logs'] = True # Saving syslogs\n", - " cfg['io_settings']['save_agent_actions'] = True # Saving agent actions\n", " cfg['io_settings']['save_agent_logs'] = True # Save agent logs\n", "env = PrimaiteGymEnv(env_config=use_case_7_config)" ] @@ -1326,8 +1325,6 @@ "source": [ "`1: NODE_OS_SCAN`:\n", "\n", - "### TODO: Currently bugged OBS - Return after migration\n", - "\n", "The first actual action that the blue agent can perform is scanning action. A variety of different scanning type actions (such as `NODE_APPLICATION_SCAN` or `NODE_FILE/FOLDER_SCAN`) which can be used to by the blue agent to gain a deeper understanding of the simulation state. Specifically, these actions will cause the blue agent's observations to update to the \"true\" `HEALTH_STATUS` of a simulation component. The `NODE_OS_SCAN` acts a combined version of all these scan type actions.\n", "\n", "For example, if a red agent corrupts and alters the health status of a file, the blue agent's observation space will not reflect this until the agent performs a `NODE_FILE_SCAN` on the newly corrupted file. It's worth noting that blue agents can be configured to see the true `HEALTH_STATUS` of software and files without needing to scan in the yaml. Although this may make it easier for an train and create an effective blue agent it could be seen as reducing the fidelity of the simulation.\n", @@ -1372,9 +1369,10 @@ "metadata": {}, "outputs": [], "source": [ + "print(f'Node OS Scan time step duration: {cfg[\"simulation\"][\"defaults\"][\"node_scan_duration\"]}')\n", "env.step(1)\n", "print(defender.history[2])\n", - "for _ in range(7):\n", + "for _ in range(9):\n", " obs, reward, term, trunc, info = env.step(0)\n", "\n", "print(f\"Current Simulation Time Step: {env.game.step_counter}\")\n", From eec73deae71858b516e5440edf102071225a7f3c Mon Sep 17 00:00:00 2001 From: Archer Bowen Date: Wed, 26 Feb 2025 15:52:50 +0000 Subject: [PATCH 10/23] #2925 Responding to PR comments. --- .../config/_package_data/uc7_config.yaml | 545 +----------------- .../_package_data/uc7_config_tap003.yaml | 545 +----------------- .../uc7_config_no_red.yaml | 545 +----------------- .../notebooks/UC7-attack-variants.ipynb | 2 +- .../uc7/uc7_tap001/uc7_tap001_c2.png | Bin 1172061 -> 1172091 bytes .../uc7/uc7_tap001/uc7_tap001_payload.png | Bin 1217341 -> 1217440 bytes .../uc7/uc7_tap001_training_static_red.png | Bin 71590 -> 0 bytes .../uc7/uc7_tap003_training_static_red.png | Bin 62378 -> 0 bytes 8 files changed, 10 insertions(+), 1627 deletions(-) delete mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap001_training_static_red.png delete mode 100644 src/primaite/notebooks/_package_data/uc7/uc7_tap003_training_static_red.png diff --git a/src/primaite/config/_package_data/uc7_config.yaml b/src/primaite/config/_package_data/uc7_config.yaml index 2af492cf..b848e852 100644 --- a/src/primaite/config/_package_data/uc7_config.yaml +++ b/src/primaite/config/_package_data/uc7_config.yaml @@ -982,19 +982,19 @@ DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # E # Probabilistic Green Agent Config Yaml Anchors # ################################################# -# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +# Probabilistic Green Agent | 20% node-application-execute | 80% do-nothing # PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 action_probabilities: 0: 0.8 1: 0.2 -# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +# Probabilistic Green Agent | 40% node-application-execute | 60% do-nothing # PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 action_probabilities: 0: 0.6 1: 0.4 -# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +# Probabilistic Green Agent | 60% node-application-execute | 40% do-nothing # PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 @@ -2675,542 +2675,3 @@ agents: agent_settings: flatten_obs: True - - - - # ####################################### - # # UC7 Network Wide System POL Config # - # ####################################### - - # # UC7 Network Wide System Pattern Of Life - # # ========================================== - # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: NTPClient Node Service Start doesn't start a 'Request' - - # # 1. All NTP Clients perform periodic NTP Server transactions. - - # - ref: SYSTEM-NTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # NTPClient - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: NTPClient - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: NTPClient - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: NTPClient - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: NTPClient - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - - # - ref: SYSTEM-FTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_FIX - # action_map: - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_FIX - # options: - # node_id: 0 - # service_id: 0 - # options: - # nodes: - # - node_name: ST_DATA-PRV-SRV-DB - # applications: - # - application_name: database-client - # ip_list: - # - *ST_SRV_DB_IP - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 4 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 4 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: Address issue where dns-clients can't be started directly via agents - # - ref: SYSTEM-DNS - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # dns-client - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-SRV - # services: - # - service_name: dns-client - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-SRV - # services: - # - service_name: dns-client - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: dns-client - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: dns-client - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: dns-client - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: dns-client - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: dns-client - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY diff --git a/src/primaite/config/_package_data/uc7_config_tap003.yaml b/src/primaite/config/_package_data/uc7_config_tap003.yaml index 3f7aec14..79004e3c 100644 --- a/src/primaite/config/_package_data/uc7_config_tap003.yaml +++ b/src/primaite/config/_package_data/uc7_config_tap003.yaml @@ -983,19 +983,19 @@ DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # E # Probabilistic Green Agent Config Yaml Anchors # ################################################# -# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +# Probabilistic Green Agent | 20% node-application-execute | 80% do-nothing # PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 action_probabilities: 0: 0.8 1: 0.2 -# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +# Probabilistic Green Agent | 40% node-application-execute | 60% do-nothing # PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 action_probabilities: 0: 0.6 1: 0.4 -# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +# Probabilistic Green Agent | 60% node-application-execute | 40% do-nothing # PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 @@ -2728,542 +2728,3 @@ agents: agent_settings: flatten_obs: True - - - - # ####################################### - # # UC7 Network Wide System POL Config # - # ####################################### - - # # UC7 Network Wide System Pattern Of Life - # # ========================================== - # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: NTPClient Node Service Start doesn't start a 'Request' - - # # 1. All NTP Clients perform periodic NTP Server transactions. - - # - ref: SYSTEM-NTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # NTPClient - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: NTPClient - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: NTPClient - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: NTPClient - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: NTPClient - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - - # - ref: SYSTEM-FTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_FIX - # action_map: - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_FIX - # options: - # node_id: 0 - # service_id: 0 - # options: - # nodes: - # - node_name: ST_DATA-PRV-SRV-DB - # applications: - # - application_name: database-client - # ip_list: - # - *ST_SRV_DB_IP - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 4 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 4 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: Address issue where dns-clients can't be started directly via agents - # - ref: SYSTEM-DNS - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # dns-client - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-SRV - # services: - # - service_name: dns-client - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-SRV - # services: - # - service_name: dns-client - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: dns-client - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: dns-client - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: dns-client - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: dns-client - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: dns-client - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY diff --git a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml index b5a2a3f5..79080547 100644 --- a/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml +++ b/src/primaite/config/_package_data/uc7_multiple_attack_variants/uc7_config_no_red.yaml @@ -981,19 +981,19 @@ DEFAULT_GREEN_AGENT_MAX_EXECUTIONS: &DEFAULT_GREEN_AGENT_MAX_EXECUTIONS 1000 # E # Probabilistic Green Agent Config Yaml Anchors # ################################################# -# Probabilistic Green Agent | 20% NODE_APPLICATION_EXECUTE | 80% do-nothing # +# Probabilistic Green Agent | 20% node-application-execute | 80% do-nothing # PROBABILISTIC_CONFIG_20_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_20 action_probabilities: 0: 0.8 1: 0.2 -# Probabilistic Green Agent | 40% NODE_APPLICATION_EXECUTE | 60% do-nothing # +# Probabilistic Green Agent | 40% node-application-execute | 60% do-nothing # PROBABILISTIC_CONFIG_40_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_40 action_probabilities: 0: 0.6 1: 0.4 -# Probabilistic Green Agent | 60% NODE_APPLICATION_EXECUTE | 40% do-nothing # +# Probabilistic Green Agent | 60% node-application-execute | 40% do-nothing # PROBABILISTIC_CONFIG_60_PERCENTAGE_PROBABILITY: &GREEN_PROBABILISTIC_60 action_probabilities: 0: 0.4 @@ -2633,542 +2633,3 @@ agents: agent_settings: flatten_obs: False - - - - # ####################################### - # # UC7 Network Wide System POL Config # - # ####################################### - - # # UC7 Network Wide System Pattern Of Life - # # ========================================== - # # 1. All NTP Clients perform periodic NTP Server transactions. - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: NTPClient Node Service Start doesn't start a 'Request' - - # # 1. All NTP Clients perform periodic NTP Server transactions. - - # - ref: SYSTEM-NTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # NTPClient - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: HOME-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: NTPClient - # - node_name: REM-PUB-SRV - # services: - # - service_name: NTPClient - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: NTPClient - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: NTPClient - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: NTPClient - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: NTPClient - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: NTPClient - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: NTPClient - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 2. Periodic Database (ST_DATA-PRV-SRV-DB) FTP backups (ST_DATA-PRV-SRV-STORAGE) - - # - ref: SYSTEM-FTP - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_FIX - # action_map: - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_FIX - # options: - # node_id: 0 - # service_id: 0 - # options: - # nodes: - # - node_name: ST_DATA-PRV-SRV-DB - # applications: - # - application_name: database-client - # ip_list: - # - *ST_SRV_DB_IP - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 4 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 4 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY - - # # 3. All DNS Clients perform periodic DNS Server transactions. - - # # TODO: Address issue where dns-clients can't be started directly via agents - # - ref: SYSTEM-DNS - # team: GREEN - # type: probabilistic-agent - # observation_space: null - # action_space: - # action_list: - # - type: do-nothing - # - type: NODE_SERVICE_START - # action_map: - # # ====== Home Office ======== - # 0: - # action: do-nothing - # options: {} - # 1: - # action: NODE_SERVICE_START - # options: - # node_id: 0 # HOME-PUB-PC-1 - # service_id: 0 # dns-client - # 2: - # action: NODE_SERVICE_START - # options: - # node_id: 1 # HOME-PUB-PC-2 - # service_id: 0 - # 3: - # action: NODE_SERVICE_START - # options: - # node_id: 2 # HOME-PUB-PC-SRV - # service_id: 0 - # # ====== Remote Site ======== - # 4: - # action: NODE_SERVICE_START - # options: - # node_id: 3 # REM-PUB-PC-1 - # service_id: 0 - # 5: - # action: NODE_SERVICE_START - # options: - # node_id: 4 # REM-PUB-PC-2 - # service_id: 0 - # 6: - # action: NODE_SERVICE_START - # options: - # node_id: 5 # REM-PUB-SRV - # service_id: 0 - # # ====== ST Public DMZ ======= - # 7: - # action: NODE_SERVICE_START - # options: - # node_id: 6 # ST_DMZ-PUB-SRV-WEB - # service_id: 0 - # # ====== ST Head Office ======= - # 8: - # action: NODE_SERVICE_START - # options: - # node_id: 7 # ST_HO-PRV-PC-1 - # service_id: 0 - # 9: - # action: NODE_SERVICE_START - # options: - # node_id: 8 # ST_HO-PRV-PC-2 - # service_id: 0 - # 10: - # action: NODE_SERVICE_START - # options: - # node_id: 9 # ST_HO-PRV-PC-3 - # service_id: 0 - # # ====== ST Human Resources ======= - # 11: - # action: NODE_SERVICE_START - # options: - # node_id: 10 # ST_HR-PRV-PC-1 - # service_id: 0 - # 12: - # action: NODE_SERVICE_START - # options: - # node_id: 11 # ST_HR-PRV-PC-2 - # service_id: 0 - # 13: - # action: NODE_SERVICE_START - # options: - # node_id: 12 # ST_HR-PRV-PC-3 - # service_id: 0 - # # ====== ST DATA Servers ======= - # 14: - # action: NODE_SERVICE_START - # options: - # node_id: 13 # ST_DATA-PRV-SRV-STORAGE - # service_id: 0 - # 15: - # action: NODE_SERVICE_START - # options: - # node_id: 14 # ST_DATA-PRV-SRV-DB - # service_id: 0 - # # ====== ST Project A ======= - # 16: - # action: NODE_SERVICE_START - # options: - # node_id: 15 # PROJ-A-PRV-PC-1 - # service_id: 0 - # 17: - # action: NODE_SERVICE_START - # options: - # node_id: 16 # PROJ-A-PRV-PC-2 - # service_id: 0 - # 18: - # action: NODE_SERVICE_START - # options: - # node_id: 17 # PROJ-A-PRV-PC-3 - # service_id: 0 - # # ====== ST Project B ======= - # 19: - # action: NODE_SERVICE_START - # options: - # node_id: 18 # PROJ-B-PRV-PC-1 - # service_id: 0 - # 20: - # action: NODE_SERVICE_START - # options: - # node_id: 19 # PROJ-B-PRV-PC-2 - # service_id: 0 - # 21: - # action: NODE_SERVICE_START - # options: - # node_id: 20 # PROJ-B-PRV-PC-3 - # service_id: 0 - # # ====== ST Project C ======= - # 22: - # action: NODE_SERVICE_START - # options: - # node_id: 21 # PROJ-C-PRV-PC-1 - # service_id: 0 - # 23: - # action: NODE_SERVICE_START - # options: - # node_id: 22 # PROJ-C-PRV-PC-2 - # service_id: 0 - # 24: - # action: NODE_SERVICE_START - # options: - # node_id: 23 # PROJ-C-PRV-PC-3 - # service_id: 0 - # options: - # nodes: - # # ====== Home Office ======== - # - node_name: HOME-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: HOME-PUB-SRV - # services: - # - service_name: dns-client - # # ====== Remote Site ======== - # - node_name: REM-PUB-PC-1 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-PC-2 - # services: - # - service_name: dns-client - # - node_name: REM-PUB-SRV - # services: - # - service_name: dns-client - # # ====== ST Public DMZ ======= - # - node_name: ST_DMZ-PUB-SRV-WEB - # services: - # - service_name: dns-client - # # ====== ST Head Office ======= - # - node_name: ST_HO-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HO-PRV-PC-3 - # services: - # - service_name: dns-client - # # ===== ST Human Resources ====== - # - node_name: ST_HR-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: ST_HR-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST DATA Servers ======= - # - node_name: ST_DATA-PRV-SRV-STORAGE - # services: - # - service_name: dns-client - # - node_name: ST_DATA-PRV-SRV-DB - # services: - # - service_name: dns-client - # # ====== ST Project A ======= - # - node_name: PROJ-A-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-A-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project B ======= - # - node_name: PROJ-B-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-B-PRV-PC-3 - # services: - # - service_name: dns-client - # # ====== ST Project C ======= - # - node_name: PROJ-C-PRV-PC-1 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-2 - # services: - # - service_name: dns-client - # - node_name: PROJ-C-PRV-PC-3 - # services: - # - service_name: dns-client - # ip_list: - # *UC7_IP_LIST - # max_folders_per_node: 1 - # max_files_per_folder: 1 - # max_services_per_node: 1 - # max_applications_per_node: 1 - # settings: - # start_step: 1 - # start_variance: 0 - # max_executions: *DEFAULT_GREEN_AGENT_MAX_EXECUTIONS - # frequency: 1 - # variance: 0 - # reward_function: - # reward_components: - # - type: DUMMY diff --git a/src/primaite/notebooks/UC7-attack-variants.ipynb b/src/primaite/notebooks/UC7-attack-variants.ipynb index 90245197..02ab2a99 100644 --- a/src/primaite/notebooks/UC7-attack-variants.ipynb +++ b/src/primaite/notebooks/UC7-attack-variants.ipynb @@ -169,7 +169,7 @@ " table.add_row([item.timestep, item.action, node, application, target_ip, item.response.status])\n", "\n", " print(table)\n", - " print(\"(Any DONOTHING actions are omitted)\")\n", + " print(\"(Any do-nothing actions are omitted)\")\n", "\n", "def finish_episode_and_print_reward():\n", " while env.game.step_counter < 128:\n", diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_c2.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_c2.png index 4a3f90db05cd573e3b6b9ce7757e28c4582ee81a..b8ab98e62994119bb3c2f0884e68c1b6a448bdcc 100644 GIT binary patch delta 24032 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 R0T}qZqH$e47k4-C{{Zjc!W#ep delta 23980 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

    d>oV_Dcx9dbu16tAJd@YiYpxjW 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%0Dt=4RPSaOOupz9yt_o<_al?l~vs! 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 literal 0 HcmV?d00001 diff --git a/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_3.png b/src/primaite/notebooks/_package_data/uc7/uc7_tap001/uc7_tap001_propagate_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1f00d3a8ce7198e0306052085b66eb6625178d6a GIT binary patch literal 1216513 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