From 1cbcb69697a8a472f942c5692bf3b2ff370f34e9 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Mon, 12 Oct 2020 16:25:30 +0300 Subject: [PATCH 01/49] Fixed schedule_jobs bug, where scheduled job is never deleted and monkey freezes indefinitelly. --- monkey/infection_monkey/control.py | 2 +- .../infection_monkey/post_breach/actions/schedule_jobs.py | 4 +++- .../post_breach/job_scheduling/windows_job_scheduling.py | 2 +- monkey/infection_monkey/post_breach/post_breach_handler.py | 7 ++++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/monkey/infection_monkey/control.py b/monkey/infection_monkey/control.py index 35922286f..32b639492 100644 --- a/monkey/infection_monkey/control.py +++ b/monkey/infection_monkey/control.py @@ -81,7 +81,7 @@ class ControlClient(object): if ControlClient.proxies: debug_message += " through proxies: %s" % ControlClient.proxies LOG.debug(debug_message) - requests.get("https://%s/api?action=is-up" % (server,), # noqa: DUO123 + requests.get(f"https://{server}/api?action=is-up", # noqa: DUO123 verify=False, proxies=ControlClient.proxies, timeout=TIMEOUT_IN_SECONDS) diff --git a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py index d6cdd2765..f7d8d8056 100644 --- a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py +++ b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py @@ -15,5 +15,7 @@ class ScheduleJobs(PBA): super(ScheduleJobs, self).__init__(name=POST_BREACH_JOB_SCHEDULING, linux_cmd=' '.join(linux_cmds), windows_cmd=windows_cmds) - + + def run(self): + super(ScheduleJobs, self).run() remove_scheduled_jobs() diff --git a/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py b/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py index 017203821..6fd888d67 100644 --- a/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py +++ b/monkey/infection_monkey/post_breach/job_scheduling/windows_job_scheduling.py @@ -5,7 +5,7 @@ SCHEDULED_TASK_COMMAND = r'C:\windows\system32\cmd.exe' def get_windows_commands_to_schedule_jobs(): - return f'schtasks /Create /SC monthly /TN {SCHEDULED_TASK_NAME} /TR {SCHEDULED_TASK_COMMAND}' + return f'schtasks /Create /SC monthly /F /TN {SCHEDULED_TASK_NAME} /TR {SCHEDULED_TASK_COMMAND}' def get_windows_commands_to_remove_scheduled_jobs(): diff --git a/monkey/infection_monkey/post_breach/post_breach_handler.py b/monkey/infection_monkey/post_breach/post_breach_handler.py index e20727ccf..888984551 100644 --- a/monkey/infection_monkey/post_breach/post_breach_handler.py +++ b/monkey/infection_monkey/post_breach/post_breach_handler.py @@ -25,9 +25,9 @@ class PostBreach(object): """ Executes all post breach actions. """ - pool = Pool(5) - pool.map(self.run_pba, self.pba_list) - LOG.info("All PBAs executed. Total {} executed.".format(len(self.pba_list))) + with Pool(5) as pool: + pool.map(self.run_pba, self.pba_list) + LOG.info("All PBAs executed. Total {} executed.".format(len(self.pba_list))) @staticmethod def config_to_pba_list() -> Sequence[PBA]: @@ -40,5 +40,6 @@ class PostBreach(object): try: LOG.debug("Executing PBA: '{}'".format(pba.name)) pba.run() + LOG.debug(f"Execution of {pba.name} finished") except Exception as e: LOG.error("PBA {} failed. Error info: {}".format(pba.name, e)) From 7abafb70e1f885794b6181d516c7c84afcf29a6c Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 9 Oct 2020 10:19:32 +0300 Subject: [PATCH 02/49] Fixed bad exception handling in version_update.py --- monkey/common/utils/exceptions.py | 4 ++++ monkey/monkey_island/cc/services/version_update.py | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/monkey/common/utils/exceptions.py b/monkey/common/utils/exceptions.py index fa026933c..5134ade0a 100644 --- a/monkey/common/utils/exceptions.py +++ b/monkey/common/utils/exceptions.py @@ -20,3 +20,7 @@ class CredentialsNotRequiredError(RegistrationNotNeededError): class AlreadyRegisteredError(RegistrationNotNeededError): """ Raise to indicate the reason why registration is not required """ + + +class NoInternetError(Exception): + """ Raise to indicate problems caused when no internet connection is present""" diff --git a/monkey/monkey_island/cc/services/version_update.py b/monkey/monkey_island/cc/services/version_update.py index ad1f81513..e4dea2b95 100644 --- a/monkey/monkey_island/cc/services/version_update.py +++ b/monkey/monkey_island/cc/services/version_update.py @@ -3,6 +3,7 @@ import logging import requests import monkey_island.cc.environment.environment_singleton as env_singleton +from common.utils.exceptions import NoInternetError from common.version import get_version __author__ = "itay.mizeretz" @@ -29,8 +30,8 @@ class VersionUpdateService: if VersionUpdateService.newer_version is None: try: VersionUpdateService.newer_version = VersionUpdateService._check_new_version() - except Exception: - logger.exception('Failed updating version number') + except NoInternetError: + logger.info('Failed updating version number') return VersionUpdateService.newer_version @@ -42,7 +43,11 @@ class VersionUpdateService: """ url = VersionUpdateService.VERSION_SERVER_CHECK_NEW_URL % (env_singleton.env.get_deployment(), get_version()) - reply = requests.get(url, timeout=15) + try: + reply = requests.get(url, timeout=7) + except requests.exceptions.RequestException: + logger.info("Can't get latest monkey version, probably no connection to the internet.") + raise NoInternetError res = reply.json().get('newer_version', None) From 0e68b07b15834dc5a45878e58b11e543f1584dd2 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Wed, 14 Oct 2020 17:45:22 +0300 Subject: [PATCH 03/49] Modified security hub feature to work with any deployment --- monkey/monkey_island/cc/services/reporting/aws_exporter.py | 5 +++-- monkey/monkey_island/cc/services/reporting/exporter_init.py | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/monkey/monkey_island/cc/services/reporting/aws_exporter.py b/monkey/monkey_island/cc/services/reporting/aws_exporter.py index 1ff69163e..1347775d0 100644 --- a/monkey/monkey_island/cc/services/reporting/aws_exporter.py +++ b/monkey/monkey_island/cc/services/reporting/aws_exporter.py @@ -6,13 +6,14 @@ import boto3 from botocore.exceptions import UnknownServiceError from common.cloud.aws.aws_instance import AwsInstance -from monkey_island.cc.environment import EnvironmentConfig from monkey_island.cc.services.reporting.exporter import Exporter __authors__ = ['maor.rayzin', 'shay.nehmad'] logger = logging.getLogger(__name__) +INFECTION_MONKEY_ARN = "324264561773:product/guardicore/aws-infection-monkey" + class AWSExporter(Exporter): @staticmethod @@ -68,7 +69,7 @@ class AWSExporter(Exporter): # azure and conficker are not relevant issues for an AWS env } - configured_product_arn = EnvironmentConfig.get_from_file().aws.get('sec_hub_product_arn', '') + configured_product_arn = INFECTION_MONKEY_ARN product_arn = 'arn:aws:securityhub:{region}:{arn}'.format(region=region, arn=configured_product_arn) instance_arn = 'arn:aws:ec2:' + str(region) + ':instance:{instance_id}' # Not suppressing error here on purpose. diff --git a/monkey/monkey_island/cc/services/reporting/exporter_init.py b/monkey/monkey_island/cc/services/reporting/exporter_init.py index f7f78714c..66413a064 100644 --- a/monkey/monkey_island/cc/services/reporting/exporter_init.py +++ b/monkey/monkey_island/cc/services/reporting/exporter_init.py @@ -1,6 +1,5 @@ import logging -import monkey_island.cc.environment.environment_singleton as env_singleton from monkey_island.cc.services.remote_run_aws import RemoteRunAwsService from monkey_island.cc.services.reporting.aws_exporter import AWSExporter from monkey_island.cc.services.reporting.report_exporter_manager import \ @@ -22,7 +21,7 @@ def try_add_aws_exporter_to_manager(manager): # noinspection PyBroadException try: RemoteRunAwsService.init() - if RemoteRunAwsService.is_running_on_aws() and ('aws' == env_singleton.env.get_deployment()): + if RemoteRunAwsService.is_running_on_aws(): manager.add_exporter_to_list(AWSExporter) except Exception: logger.error("Failed adding aws exporter to manager. Exception info:", exc_info=True) From d77819b2bb2208c6fcb56cfa9ecbc26032a96c63 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Thu, 15 Oct 2020 11:24:24 +0300 Subject: [PATCH 04/49] Added missing security hub setup step to documentation --- .../usage/integrations/aws-security-hub.md | 7 +++++++ .../security-hub-enable-accepting-findings.png | Bin 0 -> 148776 bytes 2 files changed, 7 insertions(+) create mode 100644 docs/static/images/usage/integrations/security-hub-enable-accepting-findings.png diff --git a/docs/content/usage/integrations/aws-security-hub.md b/docs/content/usage/integrations/aws-security-hub.md index c03b12ec1..f708165fe 100644 --- a/docs/content/usage/integrations/aws-security-hub.md +++ b/docs/content/usage/integrations/aws-security-hub.md @@ -23,6 +23,13 @@ If the correct permissions have been set on the AWS IAM role of the Monkey Islan Note that the integration is specifically between your Monkey Island and the security hub. The Infection Monkey is an free project and there is no centralised infrastructure. +### Enabling finding reception + +Before starting the scan, make sure that AWS Security Hub is accepting findings by enabling Infection Monkey + integration. Find **GuardiCore: AWS Infection Monkey** integration on the list and click on **Accept findings**. + +![Enabled integration](/images/usage/integrations/security-hub-enable-accepting-findings.png "Enabled integration") + ## Integration details The Infection Monkey reports the following types of issues to the AWS security hub: `Software and Configuration Checks/Vulnerabilities/CVE`. diff --git a/docs/static/images/usage/integrations/security-hub-enable-accepting-findings.png b/docs/static/images/usage/integrations/security-hub-enable-accepting-findings.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4d99b4b4247af3cdbf920741b6bb5b102d4aeb GIT binary patch literal 148776 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 g#lv{jZWbV-+T$-ok2?=rOz8P9q-Z3uxcY* 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%0A+2@jZk>*J1`~bJb)^0=*B-`7I|rj$I-ZJ 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%0Dm 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 literal 0 HcmV?d00001 From a77743137f5e03a00f5c047d5b34323a1ecbf5d4 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Thu, 15 Oct 2020 15:19:19 +0300 Subject: [PATCH 05/49] Refactored exception name to a more specific one --- monkey/common/utils/exceptions.py | 4 ++-- monkey/monkey_island/cc/services/version_update.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/monkey/common/utils/exceptions.py b/monkey/common/utils/exceptions.py index 5134ade0a..6b36402a0 100644 --- a/monkey/common/utils/exceptions.py +++ b/monkey/common/utils/exceptions.py @@ -22,5 +22,5 @@ class AlreadyRegisteredError(RegistrationNotNeededError): """ Raise to indicate the reason why registration is not required """ -class NoInternetError(Exception): - """ Raise to indicate problems caused when no internet connection is present""" +class VersionServerConnectionError(Exception): + """ Raise to indicate that connection to version update server failed """ diff --git a/monkey/monkey_island/cc/services/version_update.py b/monkey/monkey_island/cc/services/version_update.py index e4dea2b95..af47bf93a 100644 --- a/monkey/monkey_island/cc/services/version_update.py +++ b/monkey/monkey_island/cc/services/version_update.py @@ -3,7 +3,7 @@ import logging import requests import monkey_island.cc.environment.environment_singleton as env_singleton -from common.utils.exceptions import NoInternetError +from common.utils.exceptions import VersionServerConnectionError from common.version import get_version __author__ = "itay.mizeretz" @@ -30,7 +30,7 @@ class VersionUpdateService: if VersionUpdateService.newer_version is None: try: VersionUpdateService.newer_version = VersionUpdateService._check_new_version() - except NoInternetError: + except VersionServerConnectionError: logger.info('Failed updating version number') return VersionUpdateService.newer_version @@ -47,7 +47,7 @@ class VersionUpdateService: reply = requests.get(url, timeout=7) except requests.exceptions.RequestException: logger.info("Can't get latest monkey version, probably no connection to the internet.") - raise NoInternetError + raise VersionServerConnectionError res = reply.json().get('newer_version', None) From c6b7f4f0bebc67fc8452e7a44c0548242473a7b6 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 20 Oct 2020 10:12:10 +0300 Subject: [PATCH 06/49] Brought back and refactored run on AWS button. --- .../pages/RunMonkeyPage/AWSRunButton.js | 75 ++++++++++++ .../pages/RunMonkeyPage/AWSRunInstances.js | 108 ++++++++++++++++++ .../RunMonkeyPage}/AwsRunTable.js | 0 .../pages/RunMonkeyPage/RunOptions.js | 2 + .../monkey_island/cc/ui/src/styles/Main.scss | 1 + .../cc/ui/src/styles/components/Buttons.scss | 6 + 6 files changed, 192 insertions(+) create mode 100644 monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js create mode 100644 monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js rename monkey/monkey_island/cc/ui/src/components/{run-monkey => pages/RunMonkeyPage}/AwsRunTable.js (100%) create mode 100644 monkey/monkey_island/cc/ui/src/styles/components/Buttons.scss diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js new file mode 100644 index 000000000..f176ba0b5 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js @@ -0,0 +1,75 @@ +import React, {useEffect, useState} from 'react'; +import AuthComponent from '../../AuthComponent'; +import '../../../styles/components/RunOnIslandButton.scss'; +import {faCloud} from '@fortawesome/free-solid-svg-icons'; +import AWSRunInstances from './AWSRunInstances'; +import NextSelectionButton from '../../ui-components/inline-selection/NextSelectionButton'; +import {Alert, Button} from 'react-bootstrap'; + + +function AWSRunButton(props) { + + const authComponent = new AuthComponent({}); + + const [isOnAWS, setIsOnAWS] = useState(false); + const [AWSInstances, setAWSInstances] = useState([]); + const [awsMachineCollectionError, setAwsMachineCollectionError] = useState(''); + + useEffect(() => { + checkIsOnAWS(); + }, []); + + function checkIsOnAWS() { + authComponent.authFetch('/api/remote-monkey?action=list_aws') + .then(res => res.json()) + .then(res => { + let isAws = res['is_aws']; + + if (isAws) { + // On AWS! + // Checks if there was an error while collecting the aws machines. + let isErrorWhileCollectingAwsMachines = (res['error'] != null); + if (isErrorWhileCollectingAwsMachines) { + // There was an error. Finish loading, and display error message. + setIsOnAWS(true); + setAwsMachineCollectionError(res['error']); + } else { + // No error! Finish loading and display machines for user + setIsOnAWS(true); + setAWSInstances(res['instances']); + } + } + }); + } + + function getAWSButton() { + return { + props.setComponent(AWSRunInstances, + {AWSInstances: AWSInstances, setComponent: props.setComponent}) + }}/> + } + + function getErrorDisplay() { + return ( + Detected ability to run on different AWS instances. + To enable this feature, follow the   + and refresh the page. Error received while trying to list AWS instances: {awsMachineCollectionError} + ); + } + + let displayed = ''; + if (awsMachineCollectionError !== '') { + displayed = getErrorDisplay(); + } else if (isOnAWS) { + displayed = getAWSButton(); + } + return displayed; +} + +export default AWSRunButton; diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js new file mode 100644 index 000000000..4cc4f4e88 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js @@ -0,0 +1,108 @@ +import React, {useEffect, useState} from 'react'; +import {Button, Nav} from 'react-bootstrap'; + +import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; +import {faSync} from '@fortawesome/free-solid-svg-icons/faSync'; +import '../../../styles/components/RunOnIslandButton.scss'; +import {faInfoCircle} from '@fortawesome/free-solid-svg-icons/faInfoCircle'; +import AwsRunTable from './AwsRunTable'; +import AuthComponent from '../../AuthComponent'; + + +function AWSRunInstances(props) { + + const authComponent = new AuthComponent({}); + + let awsTable = null + let [allIPs, setAllIPs] = useState([]); + let [selectedIp, setSelectedIp] = useState(null); + let [AWSClicked, setAWSClicked] = useState(false); + + useEffect(() => { + getIps(); + }, [allIPs]); + + function getIps() { + this.authFetch('/api') + .then(res => res.json()) + .then(res => { + setAllIPs(res['ip_addresses']); + setSelectedIp(res['ip_addresses'][0]); + }); + } + + function runOnAws() { + setAWSClicked(true); + let instances = awsTable.state.selection.map(x => instanceIdToInstance(x)); + + authComponent.authFetch('/api/remote-monkey', + { + method: 'POST', + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({type: 'aws', instances: instances, island_ip: selectedIp}) + }).then(res => res.json()) + .then(res => { + let result = res['result']; + + // update existing state, not run-over + let prevRes = awsTable.state.result; + for (let key in result) { + if (result.hasOwnProperty(key)) { + prevRes[key] = result[key]; + } + } + awsTable.setState({ + result: prevRes, + selection: [], + selectAll: false + }); + setAWSClicked(false); + }); + } + + function instanceIdToInstance(instance_id) { + let instance = props.AWSInstances.find( + function (inst) { + return inst['instance_id'] === instance_id; + }); + + return {'instance_id': instance_id, 'os': instance['os']} + } + + return ( +
+ + { + allIPs.length > 1 ? + + :
+ } + (awsTable = r)} + /> +
+ +
+
+ ); +} + +export default AWSRunInstances; diff --git a/monkey/monkey_island/cc/ui/src/components/run-monkey/AwsRunTable.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js similarity index 100% rename from monkey/monkey_island/cc/ui/src/components/run-monkey/AwsRunTable.js rename to monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOptions.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOptions.js index a9fe1f8cf..e7c14c217 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOptions.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOptions.js @@ -7,6 +7,7 @@ import InlineSelection from '../../ui-components/inline-selection/InlineSelectio import {cloneDeep} from 'lodash'; import {faExpandArrowsAlt} from '@fortawesome/free-solid-svg-icons'; import RunOnIslandButton from './RunOnIslandButton'; +import AWSRunButton from './AWSRunButton'; function RunOptions(props) { @@ -61,6 +62,7 @@ function RunOptions(props) { setComponent(LocalManualRunOptions, {ips: ips, setComponent: setComponent}) }}/> + ); } diff --git a/monkey/monkey_island/cc/ui/src/styles/Main.scss b/monkey/monkey_island/cc/ui/src/styles/Main.scss index 616217e52..4e8419c82 100644 --- a/monkey/monkey_island/cc/ui/src/styles/Main.scss +++ b/monkey/monkey_island/cc/ui/src/styles/Main.scss @@ -17,6 +17,7 @@ @import 'components/inline-selection/BackButton'; @import 'components/inline-selection/CommandDisplay'; @import 'components/Icons'; +@import 'components/Buttons'; // Define custom elements after bootstrap import diff --git a/monkey/monkey_island/cc/ui/src/styles/components/Buttons.scss b/monkey/monkey_island/cc/ui/src/styles/components/Buttons.scss new file mode 100644 index 000000000..43bdc92fc --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/styles/components/Buttons.scss @@ -0,0 +1,6 @@ +a.inline-link { + position: relative; + top: -1px; + margin: 0; + padding: 0; +} From d4002fd7b54080596ca0fce4495f2829bd731ecf Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 20 Oct 2020 12:04:57 +0300 Subject: [PATCH 07/49] Added loading component to indicate that more buttons are loading. --- .../src/components/pages/RunMonkeyPage/AWSRunButton.js | 7 ++++++- .../cc/ui/src/components/ui-components/LoadingIcon.js | 9 +++++++++ .../monkey_island/cc/ui/src/styles/components/Icons.scss | 7 +++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 monkey/monkey_island/cc/ui/src/components/ui-components/LoadingIcon.js diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js index f176ba0b5..42f16c614 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js @@ -5,6 +5,7 @@ import {faCloud} from '@fortawesome/free-solid-svg-icons'; import AWSRunInstances from './AWSRunInstances'; import NextSelectionButton from '../../ui-components/inline-selection/NextSelectionButton'; import {Alert, Button} from 'react-bootstrap'; +import LoadingIcon from '../../ui-components/LoadingIcon'; function AWSRunButton(props) { @@ -14,6 +15,7 @@ function AWSRunButton(props) { const [isOnAWS, setIsOnAWS] = useState(false); const [AWSInstances, setAWSInstances] = useState([]); const [awsMachineCollectionError, setAwsMachineCollectionError] = useState(''); + const [componentLoading, setComponentLoading] = useState(true); useEffect(() => { checkIsOnAWS(); @@ -24,7 +26,7 @@ function AWSRunButton(props) { .then(res => res.json()) .then(res => { let isAws = res['is_aws']; - + setComponentLoading(false); if (isAws) { // On AWS! // Checks if there was an error while collecting the aws machines. @@ -64,6 +66,9 @@ function AWSRunButton(props) { } let displayed = ''; + if (componentLoading) { + displayed = LoadingIcon(); + } if (awsMachineCollectionError !== '') { displayed = getErrorDisplay(); } else if (isOnAWS) { diff --git a/monkey/monkey_island/cc/ui/src/components/ui-components/LoadingIcon.js b/monkey/monkey_island/cc/ui/src/components/ui-components/LoadingIcon.js new file mode 100644 index 000000000..465ec7044 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/ui-components/LoadingIcon.js @@ -0,0 +1,9 @@ +import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; +import {faSync} from '@fortawesome/free-solid-svg-icons'; +import React from 'react'; + +function LoadingIcon() { + return +} + +export default LoadingIcon; diff --git a/monkey/monkey_island/cc/ui/src/styles/components/Icons.scss b/monkey/monkey_island/cc/ui/src/styles/components/Icons.scss index ed75d8a9d..7f8eadf05 100644 --- a/monkey/monkey_island/cc/ui/src/styles/components/Icons.scss +++ b/monkey/monkey_island/cc/ui/src/styles/components/Icons.scss @@ -1,3 +1,10 @@ +.loading-icon { + color: $monkey-yellow; + font-size: 20px; + margin-left: 50%; + margin-right: 50%; +} + .spinning-icon { animation: spin-animation 0.5s infinite; display: inline-block; From 67f5962977b44b0b2dda4e9a419d700a2a1a7aef Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 20 Oct 2020 12:10:40 +0300 Subject: [PATCH 08/49] Changed webpack server to serve on all interfaces. Makes remote development easier. --- monkey/monkey_island/cc/ui/webpack.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/monkey/monkey_island/cc/ui/webpack.config.js b/monkey/monkey_island/cc/ui/webpack.config.js index 08c2a77f3..975e914ce 100644 --- a/monkey/monkey_island/cc/ui/webpack.config.js +++ b/monkey/monkey_island/cc/ui/webpack.config.js @@ -71,6 +71,7 @@ module.exports = { publicPath: '/' }, devServer: { + host: '0.0.0.0', proxy: { '/api': { target: 'https://localhost:5000', From 5da412e40cee03b656e0e9bfd0b1311f263cea09 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Wed, 21 Oct 2020 12:13:34 +0300 Subject: [PATCH 09/49] Fixed eslint to allow backticks syntax. --- monkey/monkey_island/cc/ui/.eslintrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monkey/monkey_island/cc/ui/.eslintrc b/monkey/monkey_island/cc/ui/.eslintrc index 2cd52bb98..afc7f2b7a 100644 --- a/monkey/monkey_island/cc/ui/.eslintrc +++ b/monkey/monkey_island/cc/ui/.eslintrc @@ -35,7 +35,8 @@ "comma-dangle": 1, "quotes": [ 1, - "single" + "single", + {"allowTemplateLiterals": true} ], "no-undef": 1, "global-strict": 0, From 46de8000c1acf9eec0bbd871c153cb67e6598975 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Wed, 21 Oct 2020 12:15:16 +0300 Subject: [PATCH 10/49] Fixed and moved AWS run components into a separate folder --- .../pages/RunMonkeyPage/AwsRunTable.js | 109 ---------------- .../RunOnAWS/AWSInstanceTable.js | 119 ++++++++++++++++++ .../{ => RunOnAWS}/AWSRunButton.js | 12 +- .../AWSRunOptions.js} | 43 ++++--- .../cc/ui/src/styles/pages/MonkeyRunPage.scss | 5 + 5 files changed, 156 insertions(+), 132 deletions(-) delete mode 100644 monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js create mode 100644 monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSInstanceTable.js rename monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/{ => RunOnAWS}/AWSRunButton.js (86%) rename monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/{AWSRunInstances.js => RunOnAWS/AWSRunOptions.js} (75%) diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js deleted file mode 100644 index 8c7ccf490..000000000 --- a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AwsRunTable.js +++ /dev/null @@ -1,109 +0,0 @@ -import React from 'react'; -import ReactTable from 'react-table' -import checkboxHOC from 'react-table/lib/hoc/selectTable'; - -const CheckboxTable = checkboxHOC(ReactTable); - -const columns = [ - { - Header: 'Machines', - columns: [ - {Header: 'Machine', accessor: 'name'}, - {Header: 'Instance ID', accessor: 'instance_id'}, - {Header: 'IP Address', accessor: 'ip_address'}, - {Header: 'OS', accessor: 'os'} - ] - } -]; - -const pageSize = 10; - -class AwsRunTableComponent extends React.Component { - constructor(props) { - super(props); - this.state = { - selection: [], - selectAll: false, - result: {} - } - } - - toggleSelection = (key) => { - // start off with the existing state - let selection = [...this.state.selection]; - const keyIndex = selection.indexOf(key); - // check to see if the key exists - if (keyIndex >= 0) { - // it does exist so we will remove it using destructing - selection = [ - ...selection.slice(0, keyIndex), - ...selection.slice(keyIndex + 1) - ]; - } else { - // it does not exist so add it - selection.push(key); - } - // update the state - this.setState({selection}); - }; - - isSelected = key => { - return this.state.selection.includes(key); - }; - - toggleAll = () => { - const selectAll = !this.state.selectAll; - const selection = []; - if (selectAll) { - // we need to get at the internals of ReactTable - const wrappedInstance = this.checkboxTable.getWrappedInstance(); - // the 'sortedData' property contains the currently accessible records based on the filter and sort - const currentRecords = wrappedInstance.getResolvedState().sortedData; - // we just push all the IDs onto the selection array - currentRecords.forEach(item => { - selection.push(item._original.instance_id); - }); - } - this.setState({selectAll, selection}); - }; - - getTrProps = (_, r) => { - let color = 'inherit'; - if (r) { - let instId = r.original.instance_id; - if (this.isSelected(instId)) { - color = '#ffed9f'; - } else if (Object.prototype.hasOwnProperty.call(this.state.result, instId)) { - color = this.state.result[instId] ? '#00f01b' : '#f00000' - } - } - - return { - style: {backgroundColor: color} - }; - }; - - render() { - return ( -
- (this.checkboxTable = r)} - keyField="instance_id" - columns={columns} - data={this.props.data} - showPagination={true} - defaultPageSize={pageSize} - className="-highlight" - selectType="checkbox" - toggleSelection={this.toggleSelection} - isSelected={this.isSelected} - toggleAll={this.toggleAll} - selectAll={this.state.selectAll} - getTrProps={this.getTrProps} - /> -
- ); - } -} - -export default AwsRunTableComponent; diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSInstanceTable.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSInstanceTable.js new file mode 100644 index 000000000..cf792f7b8 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSInstanceTable.js @@ -0,0 +1,119 @@ +import React, {useState} from 'react'; +import ReactTable from 'react-table' +import checkboxHOC from 'react-table/lib/hoc/selectTable'; +import PropTypes from 'prop-types'; + + +const CheckboxTable = checkboxHOC(ReactTable); + +const columns = [ + { + Header: 'Machines', + columns: [ + {Header: 'Machine', accessor: 'name'}, + {Header: 'Instance ID', accessor: 'instance_id'}, + {Header: 'IP Address', accessor: 'ip_address'}, + {Header: 'OS', accessor: 'os'} + ] + } +]; + +const pageSize = 10; + +function AWSInstanceTable(props) { + + const [allToggled, setAllToggled] = useState(false); + let checkboxTable = null; + + function toggleSelection(key) { + key = key.replace('select-', ''); + // start off with the existing state + let modifiedSelection = [...props.selection]; + const keyIndex = modifiedSelection.indexOf(key); + // check to see if the key exists + if (keyIndex >= 0) { + // it does exist so we will remove it using destructing + modifiedSelection = [ + ...modifiedSelection.slice(0, keyIndex), + ...modifiedSelection.slice(keyIndex + 1) + ]; + } else { + // it does not exist so add it + modifiedSelection.push(key); + } + // update the state + props.setSelection(modifiedSelection); + } + + function isSelected(key) { + return props.selection.includes(key); + } + + function toggleAll() { + const selectAll = !allToggled; + const selection = []; + if (selectAll) { + // we need to get at the internals of ReactTable + const wrappedInstance = checkboxTable.getWrappedInstance(); + // the 'sortedData' property contains the currently accessible records based on the filter and sort + const currentRecords = wrappedInstance.getResolvedState().sortedData; + // we just push all the IDs onto the selection array + currentRecords.forEach(item => { + selection.push(item._original.instance_id); + }); + } + setAllToggled(selectAll); + props.setSelection(selection); + } + + function getTrProps(_, r) { + let color = 'inherit'; + if (r) { + let instId = r.original.instance_id; + if (isSelected(instId)) { + color = '#ffed9f'; + } else if (Object.prototype.hasOwnProperty.call(props.results, instId)) { + color = props.results[instId] ? '#00f01b' : '#f00000' + } + } + + return { + style: {backgroundColor: color} + }; + } + + return ( +
+ (checkboxTable = r)} + keyField="instance_id" + columns={columns} + data={props.data} + showPagination={true} + defaultPageSize={pageSize} + className="-highlight" + selectType="checkbox" + toggleSelection={toggleSelection} + isSelected={isSelected} + toggleAll={toggleAll} + selectAll={allToggled} + getTrProps={getTrProps} + /> +
+ ); + +} + +AWSInstanceTable.propTypes = { + data: PropTypes.arrayOf(PropTypes.exact({ + instance_id: PropTypes.string, + name: PropTypes.string, + os: PropTypes.string, + ip_address: PropTypes.string + })), + results: PropTypes.arrayOf(PropTypes.string), + selection: PropTypes.arrayOf(PropTypes.string), + setSelection: PropTypes.func +} + +export default AWSInstanceTable; diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunButton.js similarity index 86% rename from monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js rename to monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunButton.js index 42f16c614..3903d2a8e 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunButton.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunButton.js @@ -1,11 +1,11 @@ import React, {useEffect, useState} from 'react'; -import AuthComponent from '../../AuthComponent'; -import '../../../styles/components/RunOnIslandButton.scss'; +import AuthComponent from '../../../AuthComponent'; +import '../../../../styles/components/RunOnIslandButton.scss'; import {faCloud} from '@fortawesome/free-solid-svg-icons'; -import AWSRunInstances from './AWSRunInstances'; -import NextSelectionButton from '../../ui-components/inline-selection/NextSelectionButton'; +import AWSRunOptions from './AWSRunOptions'; +import NextSelectionButton from '../../../ui-components/inline-selection/NextSelectionButton'; import {Alert, Button} from 'react-bootstrap'; -import LoadingIcon from '../../ui-components/LoadingIcon'; +import LoadingIcon from '../../../ui-components/LoadingIcon'; function AWSRunButton(props) { @@ -49,7 +49,7 @@ function AWSRunButton(props) { description={'Run on a chosen AWS instance in the cloud.'} icon={faCloud} onButtonClick={() => { - props.setComponent(AWSRunInstances, + props.setComponent(AWSRunOptions, {AWSInstances: AWSInstances, setComponent: props.setComponent}) }}/> } diff --git a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunOptions.js similarity index 75% rename from monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js rename to monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunOptions.js index 4cc4f4e88..4c75e0ae3 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/AWSRunInstances.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/RunMonkeyPage/RunOnAWS/AWSRunOptions.js @@ -3,27 +3,36 @@ import {Button, Nav} from 'react-bootstrap'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {faSync} from '@fortawesome/free-solid-svg-icons/faSync'; -import '../../../styles/components/RunOnIslandButton.scss'; import {faInfoCircle} from '@fortawesome/free-solid-svg-icons/faInfoCircle'; -import AwsRunTable from './AwsRunTable'; -import AuthComponent from '../../AuthComponent'; +import AwsRunTable from './AWSInstanceTable'; +import AuthComponent from '../../../AuthComponent'; +import InlineSelection from '../../../ui-components/inline-selection/InlineSelection'; -function AWSRunInstances(props) { +const AWSRunOptions = (props) => { + return InlineSelection(getContents, { + ...props, + onBackButtonClick: () => {props.setComponent()} + }) +} + + +const getContents = (props) => { const authComponent = new AuthComponent({}); - let awsTable = null let [allIPs, setAllIPs] = useState([]); let [selectedIp, setSelectedIp] = useState(null); let [AWSClicked, setAWSClicked] = useState(false); + let [runResults, setRunResults] = useState([]); + let [selectedInstances, setSelectedInstances] = useState([]); useEffect(() => { getIps(); - }, [allIPs]); + }, []); function getIps() { - this.authFetch('/api') + authComponent.authFetch('/api') .then(res => res.json()) .then(res => { setAllIPs(res['ip_addresses']); @@ -33,7 +42,7 @@ function AWSRunInstances(props) { function runOnAws() { setAWSClicked(true); - let instances = awsTable.state.selection.map(x => instanceIdToInstance(x)); + let instances = selectedInstances.map(x => instanceIdToInstance(x)); authComponent.authFetch('/api/remote-monkey', { @@ -45,17 +54,14 @@ function AWSRunInstances(props) { let result = res['result']; // update existing state, not run-over - let prevRes = awsTable.state.result; + let prevRes = result; for (let key in result) { if (result.hasOwnProperty(key)) { prevRes[key] = result[key]; } } - awsTable.setState({ - result: prevRes, - selection: [], - selectAll: false - }); + setRunResults(prevRes); + setSelectedInstances([]); setAWSClicked(false); }); } @@ -89,10 +95,13 @@ function AWSRunInstances(props) { } (awsTable = r)} + results={runResults} + selection={selectedInstances} + setSelection={setSelectedInstances} /> -
+
From f371a33e5b9604ce9ee9503b02c7452d468814d1 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Wed, 21 Oct 2020 15:18:04 +0300 Subject: [PATCH 13/49] Doc update in accordance to UI changes for AWS run button (screenshots updated, descriptions updated) --- .../integrations/aws-run-on-ec2-machine.md | 11 +++++------ .../monkey-island-aws-screenshot-1.png | Bin 52324 -> 73549 bytes .../monkey-island-aws-screenshot-2.png | Bin 45357 -> 99758 bytes 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/content/usage/integrations/aws-run-on-ec2-machine.md b/docs/content/usage/integrations/aws-run-on-ec2-machine.md index 0183dc241..e30a8b554 100644 --- a/docs/content/usage/integrations/aws-run-on-ec2-machine.md +++ b/docs/content/usage/integrations/aws-run-on-ec2-machine.md @@ -54,16 +54,15 @@ See [Amazon's documentation about working with SSM agents](https://docs.aws.amaz ### Running the monkey -When you run the monkey island on an AWS instance, the island detects it's running on AWS and present the following option in the _"Run Monkey"_ page, like so: +When you run the Monkey Island on an AWS instance, the island detects it's running on AWS and present the following option in the _"Run Monkey"_ page, like so: ![Running a Monkey on EC2 Instance](/images/usage/integrations/monkey-island-aws-screenshot-1.png "Running a Monkey on EC2 Instance") -And then you can choose one of the available instances as "patient zero" like so: +After you click on "AWS run" you can choose one of the available instances as "patient zero" like so: -1. Click on "Run on AWS" -2. Choose the relevant Network Interface -3. Select the machines you'd like to run the Monkey on -4. Click "Run on Selected Machines", and watch the monkey go! 🐒 +1. Choose the relevant Network Interface +2. Select the machines you'd like to run the Monkey on +3. Click "Run on Selected Machines", and watch the monkey go! 🐒 ![Running a Monkey on EC2 Instance](/images/usage/integrations/monkey-island-aws-screenshot-2.png "Running a Monkey on EC2 Instance") diff --git a/docs/static/images/usage/integrations/monkey-island-aws-screenshot-1.png b/docs/static/images/usage/integrations/monkey-island-aws-screenshot-1.png index 0b1af5fae5dd931dab9ad47d1224dcf3798e18b3..ba61e2b7c370e6360bdd9912cfdbda89072afaa7 100644 GIT binary patch literal 73549 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 X`$x3Q*~a;gX%g_=2X@s4d~@b^rQj$C literal 52324 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

@QnWt9@HIfW~{PV^0HBUJb$>zdT|4T4<5QS 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

a+!q-e^Z}&uV;r8 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 diff --git a/docs/static/images/usage/integrations/monkey-island-aws-screenshot-2.png b/docs/static/images/usage/integrations/monkey-island-aws-screenshot-2.png index f6442e82b5ba03194d15c0f6a479b7d8fa7a3c02..ad9f6ed813824d3347f5751156dad8832312eb31 100644 GIT binary patch literal 99758 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%0A7RpQ7_J0DKjqJoBE}vV2)SPteSts-beXfK$W|D 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

vEI}z_u|EPQq(3~3Qr5}b{IWs#48hKd0(B% zgGUxKmrP@PMQK$uq&BIC!&{u%5FpcvwR*St^>XQx4S0ninzS%LGEc;!pMfDlQOwbH zg@3=m&}8-#3f>dTi8*2Jy3ChQ!MPvfGsbfpjg)1bD^B~TqWNBHgO;Gg>uM`^sPZ=@ z=2AnYUK<4~tCC)6rX0u-tdv({K_26eGJFNtyO6b5)X0mJ4_Ha?}~9zWW!>?@Zd zI4;|NflCf|J^Rl>qN?I@hNXb;m&>LZBb+{&yO-RyvXb$Nw{X^0{Ta`!-e97OB>^~- zJT6LB_Kgdhk*`C^)`f=o9!&DuU2lS7JUKbh><29qjOE;UiD=Ue2A(ZQ3MUZD+)No; z>sHq{BZW}2I&KNBp2kGvPV7$BYlvz9$YFmQwNe_W#NHaU{{&k!rh+IFT%&WPN-Z3R12t?-SeTdMzRZeC=yj~!x^u3Su=pQBWmt~z{InJy9 z+Q57&S%WJ};hytF?-RvwGyyw&NlA&v_hACg_I$dhBt zfGJ$Pb)UmoP*D!%5E{z7;R(IB<9IKj}=w&mv)Rcg2b=eENX6(pRZ>Bbe%DtGv~cr>9FC( zv7Hzwh-Iz$_mNO_Ws7K1=zok=uVYkM>@uTiP4= zT{a|5=1r_xHxU^G4r2*)8dVjf+y%nQG^&1;T)R=44+%s=-0`Z%SM``okb0m!(6M^NAjqqc>8e)vgVB3=!WpOClEuprf zD0V1-y&HI+QY`fUj$ZM(ofI>1W;~)rw`-~=Z%jnkQ481E+5HL|rEb+rVIJ0Jwg1u4 zs<+`tl%{vrlDmMHGfv5}euY z-jdZ=FPhD`GveJz!yO@E_$D&=;Z$y86H z>HQTUrMo$~^*!BaBqHZ(kd|yU7&LZk5XtUlG?y`jm~>!gWDvUlb=xcHNoZoy)Owhk z2cI1^FWDj>e-EE=Awp)Ixn%Q?Is@yON~aVvLr-PaY3&)RQsU(2w42w=P0S_UC#1@s zhY8LWB)@!NL%o$%J%rN<`u_{&`}V!M|wnm3N`>fdJ>8l8)a3pJrx z4%W5_p&pwl^qD_8lt1@R_M7?cn!?WIq}h&ls(DbY!?DkgfEj`Z)z-3|IsjbrfGY~o zeu#ebjA$9oO!-rerzwh4r<}NC!SNrF=}eB`Xku7<*BH(l=w;1{0_Ijids7*Bu90JB zFC^B>ZI8>T@JRqPE#dbD1xqHYk}+k0^;|DXWSSXq{SMBq8_AfZN*P>A)O(9&15kywEq~%oO_iO(|v@ zG(R#oVm0cH-V(ir)>>y4B^(M2-Sczy z2jjnuK1zp$bF!uoe~Wt8uz<)AnfewiHN)a_!@#igBebrqs^oF^B~!9`p;H)#O=D9)t zjXTVo>c6=4rzNSnkLF^Gm}2q?tR9y!1l^BuIh?j-#;7zJAT;7Q3D!1Dh&q1ldPKkZ z5Nf)Uld?bMUsiooA^gIv@UL%fzGCOS;iVqax0x&azQ&(;g-ja2)rP)V?4++Hz5F|L zvWJ|-TFZ3Mv_3oTfD(4V;hLr5C|BR$L?H1vd4{9>FV3+%41wCMd!pa)qZ{!D{d!0$CAbi4G%6^@%gGBCy_Q$4%+5E&Iy{Z>@at?xS?y32Q9AsiAmh%vn3Ds4jcvdQsq8qKM* z9xSs=B_SUKBlrGrT3zERc6DC7Y<*Hli#0PDTu_8L;kTJjEl>UMn=h~RM?jy|Y0BeH zOuW%sX&xtRf{k-=_5P2rbF~|IUExdki7oJC={JDw6@F~cWxh;z0g}wVWn{vS4A=wj z)>08HgH?LB0zqT0QY9JOSkku~9p0t%HanhOCuD`pKiI6F^OB7ecVMT(}HN@h*$t2FG8J1rM2fTEOPpBqYz7G9Vnf5;A zq#aFG{Y*5pwJKxhy|hZx6MVG)b?ihn*aIp*Dj0dqR_(hq^ykoUQQtaKZ)=6^Jp!5; zEja2>{+;l;7)5pj1poY#sZoD-XR&KmE2G%O?CQr)3{P)lfPQ;0Fvq}G)c24)}{Jdx36hIKJG~G+K+Y7 zL&JeH2BBi13e2aGRkOPP*6~om-8+b0NNXrvIzLJ_wSxZeND zKd>&nEag5_hu$@WKv6^RgRl?W3KV`v$NRR+FClA;peJ^ z2PZYI`t!1JEh&Ouo_5^2k))BX4do4Nd&zk~Vx`lyW=EK@bZ(90@DrG8swMh;`PQU= zEG5iN?a@YQVQ;S}yhicXaIE)lS*Q4$32AY?)Bun~8eynmr2$IiH?VeA24j6!Tj_HR^Xb3b<$hC^3gTk_A!RlA(P6xvuOkot zH9Gpb5HNNSGm}KG0i`NK)%}B$B~6A!%stRD0+ONz`zB2L^F#l4V$-dz$5&q>k6wSM zuD+6vtiC4q>#BiJPt-X&oB|kz?6E`rSi#0zxAZ<|_7JTv@ZBrVRjVnp!w!caND1*e=ah+%n_wVFcE`5~WA zN|l@8bG)E&=O^!hcA2I$l%FYVOgfL&d^p(HuOXY+pB$l^U(>m4e}0K@{89R7ZQ5xA z73w7gW_%w+vnex{htStmW+)$o14H59YNbY#O{-G4OUUtIK1&XMmj%Sk6v!t3Ber+&Bk_U(S@?_s^L7HiG<$ry9|Wn>k63vwpta;syTuC-U#*kW0n$ zd1Z=u|9yn{-#?zn7(k?!2w2CRpP&Ev?UGg^1=63orUeFEi`}N`?#~vhY3###+5UF* z@NFysdIpqbL|8lj0DQAG8yx!G>_O1feJHn=&BxSIDwi5phVyNOYxD)Z4w3#`TeyQh zw6WgQ81z~OuaGU}D`e~JF%7P;&)ll_$W+tcC8nw1dSO2Ytj#Cge}2&9>$VqKpM2R? zoVEu5XTN@urVUL&>8+fFh?R&-PhHgcFSgW~G!@_mW5B`~g#YoJA}>^lsu3|b!~8l! zov$g*{|7ct3h4{8T6n6jpSn=Oh%j9SQOv%Tb1shx2KcQ-MtFC0Y zyx!gy3~e_rW+M~4h+NZ|5=>ST#n72Sdi~eQJbCB;g3vz_d#hLC9JySo+O2Z9R!{`43Y=??3v1tF);(S2I6Ko`s|pR z_V`SBpU&wUn@^byVn5F+&+Ofg%wG3X+}^c>DoQTUKVdMAgnsaRab277gfe`5TH&x9 zI@|Jy;|YX(2%fp)53pWuR0yWYs$|%Dxd9u*I{WFg)U?ZOz!rPdqQj_}onM8y*RVq8 znX=-O$C;J10lst%25wJS%ScZLBKGx?XXj)8 zT@l_espo@Pa4D-)W%&`tKxrk%lwGqP)&1SdtyTINGdVxE?7HuWhj4`PbIrLeQL0r; zY+)ky(9T{g&yGp&h?2BDhqA|dk5ijdT9+vepR6Q3A!T>G*l~}KY;&M_?q$q`RYh9g zsmKS-nrp27z^JRJy8RkfrPp0PM>*jc9rD7^hfNIz0rzR!lxRXt0WiXAF<6&8a@Kg% z)U1(PL&Vn|Pun4Ut7Mm|9vS8-mFh=7|AMAXMn?3-5e~v=xTg$oLYO3pMbjNAdc?xL2PR|oGQ#FNucA1m! z#59ci(%|BMULSolz$lPvY5)o|#bUD(9`*2O8Q`X3l ziDH-GsrWS7{El*%8`}1=m;@-7X9be}na2Z#j*H7P&vn(i3q>AVVt?IxS@$xt!jDn4 z_%G~BZ@hjVR>IRqvNwa&;>Si0buO{0s$`mzVb=zrbS9DVk)f9&}*< zs^TvLlcWRKML`X8XeWdB@A>GPysdpt(jSC%76RYKB!cW#NsjHX(jU$~z}<7?Q`4Wc zR}v;Mt|rMc_NizZ(b>X^@?>4V6lQcZv7^=f2CKARW7u+Qeiy>3DOJ~MCL z@oe-oWuIYHZi{zs4%7WyjPhwqV5<9r-x&|-7Ee{YH3LL=&D*ddxc0{ezTzrNXZ&Rs z15!6OMO)siGFnSRJ%!GXBr@Xd{OwDV_O0cfa2>PWq#Vd-Aq6&F`O>mFv+02x$h@G( z`}O;%9=L%&(6m%rY(XHZo+myUI>-2q+D~3xZN6uQe>lE^gmM^bDQr zO7A;0@95>~oh~DNyeDY?(H%4bjZj*3%fnzqpO$NKu|?}TJVnbtbC+Q9{CrU5bkyu@ zwUX$)1J-3@@jeIso?SG7&(^oGRt+=y*{(W`zTUpT6djdY|J^l@+nWPoz!ei)OGXAE z=`EnXz?DIFaVhRZvX@g!Me@lbY1MP-rZgq${v7u63Wr)7})Zlg_3;4nQ%d(1L6ESg^9 zbk`>aHszR57c;q_E203=n8GPOHFvTf>!>qrB|4Gsu9qWU=;qq6>ytG;gn!@xr{dCZ zzDvc=ci)VyrxrUN?GE`1+Byi)-pb{V_z-`qHF&QOXPF_{O@5N4KVCc9-xktt*V%jx z{^355hyL8XMJz{8!Efs1 z`FCRhA{1BU;f`KG!Ty5=|B%kggF(Iydrob^Tx#&d>Q8asvH8i-O5%A{w1Nj%ICDkM zo$HlG>bSOd>iHBbT}Ct(*NB$kQy5hp_)s3kpi_oSgq(f96Mc=~o_uKjv z8Ej=BNz(0?Hxhd$iIk*!Ztz2}TC4J1QXw6V(tXKKp>_3+(H-CZ>WOFp?Uw9WPialT zN$^*a$Jt9md1r6b>7bx8euwa zOW&TzE2p-SzNAfpE^#egn%0NQGT4d963c2fiys?jX~O!2JM*`jbEiXAeH@UFE6(Dk zgb_#q9aEW0gXIwpyajp%o6LyxqG(Iq7%98+Dk4^d1-5Im+p)bw)CiHo)y9UwU9@`@ zSe>Ao?bp4TkTT`&n}^!y(QA5Ubh}kT4kIC58^|8f5x}TB!VEKZXCNsHA|p^5Cp;pj zR zEF%-bP8dK1J@##=9qrJa*Mpp6>ypFG43zKgh#qQovIAA09#A{oqP+FR5LPEnFPzL5 zB}kNSzSai9LJVqpi;EGRg_S!WRU0&3%q6?T) zq{PhHv8mpW6-RzMlwoV0t-|Oa^HniHP_DIPp59GGxzlL;g}b=AJP)7p z0Ga6@;;b>;!6~L3Vt0Ji|)mlTk6JEiD*UVFQyhX}N@Me<>N$J>QmP&`M&FMG*LZ2es9efHQ7 z{V}-#`Jr^LbH@(p`g_+ZsWj^dgoz!EyDV$UvGDIq-8%NUt#F9sn!r)7;=SLqJ5}zP zlYmd#43jlg%lZ92*~Jr8)Y^CIQk1B+p@UF`sfEJN+KiNx1*-Ih7N0GxshYlnQEPYA zmsqY|F=}lc@ZzZjTE^b54$KLS<;uRf7kR`L!*c>V34_$o7`$%FcZfne33of`3h}*) zU9o*~#NQ~6LSb~ybIrcW^_+jpgY5myFlGXWoB+$RDK6wW!ulhxGh9Mn(%DO*`*$&I zX@LmeON6_ZZgqNh@U&kU49g4c4vbS*8dAB3BP$&_sj~W$O|id{WM~sXxSF=ir&25% zBB&!0lZ&Jlp7(t^=fF;P`8~cZlStnwcI^nu#HLcyx?JU7Y8Z#4kq0}E{s8&wN~5~m zDG#>xlV+%+bT_0A;4QQ~FS2^}WVO25nNiA3WcaHXN-U=#ZS~moHI5~CsFHG*_)$l? zId#TY&s)@7sJMJa&E_N!|>oqywh+umW9QXZJr$JLP`o_Kzx$E0Rq{h~pW6dz(l z&gV6A?Wa4}_#^1CBVSy~?)Spao7Nay*q{!hn7a6~aA3jv5G|`vc!1FnLbIwwk6%7P zeZ5q?BaziRMaTMr9gD#}v1#vqx~*G2-UkE&lSVvT`DG96%COMR8b_khxx-~Ugz$E@ zBP4^M503jYWAVK2YUAmeJMX7!u%MN?&Vg>Kbv2@)L1kj7=nF#ut=}Z*2gMvhX_xEQ zd{uU^O*B8gQfBmFAPz%1JTBObXXMYev+6$LRAMnADQ$tM4~r;8hSBqX>?-Rcwmgom zV?cSB5m^uHX-CRit}H*8G~YJi(#8-v!V-c{3{<^dwiUSid{~!Ht96xzl0Ux_R6yyL zYT_}h_UYi!>{G5j0Nk=;5c6NPHymIP^fq$(yAtG-&KW~dQPd{p|-CV8Fy?pEWDe$K{) zeQ`bldcM79(0JV&bQl*Gs6b82Iw6&(WRhn!}m;VJw<9=dT8ur{5r^!VUa65X5^&miX&)-Y|mavN6xp!%1>QoNXcvNQa|*V!c{!&{1n zlIJ}?9*Uai6;Xmu%yW-1zfJVAjiA=eeH6Y)@@E^K_X^bxY}c!GX2y-6Z^*BVt+MfN z=+&j$K5_Ry-X(l~G@MsF{!F!;dJ2b(Kle>G?X0xEOk>8DFeu%YwYRWPr8W|LC2|f|6e3H)+ZzZH>PnZSi`ue)2Uy4PN!NO z^b>T)WDgeRvvn%`@ZPW3_dtJ!pg0%uhP@NZr=z*HO$-N4EDzF~9-s9e+IU5aGs3#( zT8Ag7-fz@?=AFCPeRTDN$?+&`^H<+qek?2z$@p>C_W5v3sOFA2wQ2sO>@*2lIW*AE%aHl*%Op8ijng1t9A2L%#HMg_Td+cC#aS!5Er2`aHw5LRo1r#@LHP7$`ilvJg$)B& z+|C@4K@x^r5uY~m-5rOy%aXFEjD<(ZZdkT5j|xr2qw{z|+{K{EV)Rd4wTom0ApNSo ztLron#&4U~Pgsex)ouzhwgi#n3-8WUhETTRL$LIGBZc3m8=u4$p*EPxpX*Uyw~=Xk zCRu(vC{^_N9zx3#OSP5*VW+^|0*Te*_n}P$6a_@|^fKxdc@t!ENbcp(<31S6t`_WjC&l$Kruj(K~b)=?v_+Nm?#w4;>gf@=8x063s|X zx)NMkZpO^xHeCmFM*1&Fu%|Tx8iSZ7*8}dPbeIgRFiV*jI%mJ;*6l^MW-h*NcA9v) z$4qVYSR96Jy~GFMaXCvx^<@z&EPWBm7l}&>d>R7?Du(zpuDluZV~Tlvw>pa#3RW~G zUgIDIZra1{0Eam<<*YrVtX~L6dpQ_!8pO8Sga#dEsUt_HCb&0F&f4S|`GKn*g|h#v zyaguP7FJe(J^*L`@Q0}cm<80-=}E;7Z>T)m+&zfc9JGTxrH<*&zl&=jMH%bP*4WAc zArjjhlgwW|VAcM>NB3j*%)HcAZT*Ki%0p&VyVlLG)5(@5@6j!n0RqB%h7x{9Cua0# zR&2WN1N5S&f+W!C`L-1OwZf zR52G3eU?k>FP7DZ3U-ohmY*0{muKO|5+60b^U4vPp5U8*rK41}rMYm;;ci5p*iP-P zz0vMkRVF)$OO`6c=(|y%3u@_i zT2if!z^0*_Qz^OvK6)u^SZh)p@!1|(2S$U5eUQN5FlFmJ)LFgG*Hl)Gk#n&E*#1r8 zGiq8pXX|)YVZ0Hu&*n69*?Lz$JS5W4pEFZCl$V6fCQ7d3>KU^s2YjHt$Yt%{}|7ZSTwZ4@$!1BkA?kOcRGvvol?dJ8GEim>&-+ z$1!~J{lsTCF0taXh`5l_mMKDd2RaC>i-0~wJg9eOyclxhBJ0=HwH(Goe$~n<2{wow z)Hp_EaleP;lvz2giLUvP zKn54mYh{;`&bBXpcedHvBT>Og4IB>SQHjiYn$$*TW{h;T9ZOwrkB5ITzR?-7l}XN3 zp~k3cC|u_;9Ud9Ba>SUK7i3dXP_qUmKlZv5o`^qteaO1|X4=5T!^rt!0N}zCoG$b2 zI+Qw{yrc%ScJXb)O;l%*>Sm7$)m>>QQn#qhgsOyX+a(7eIM@+wRCWBiNGqSm}E zrZ0+ID07U$9TXFn+X2qn+S+L&l)cRD&c^Lxh@Hdrx~TrOG0^MieO|2LQ!&sHaXD$a zSzTZE_I$ob<8Zqzs~BGNLF5aVt2D~A-5K7;Cd!!CPos`44`q9;k^fb|?bBMKbT0u| zTK#}eLv(A9R;gGpI&HMBP=n(M0y#N(GKcktgpeGmgbXS4Er70dN#&L^^r2kU?)qG) zw-wsSM26xq8D89?!JFl9zW#06(KOLPkgCOA;F}@v!P@~RaBC@<40V7nJaGFZoJIX!1zRv&b5?FH^#Bf=*(Y!Mn9WyB;};6-U#PJ7 zN5O2v8Si4EzGs0Ge3hYan=-&k3+Z9MG4DEjm_)m3op;|Ku@IXKVXbAcf-vO4^=rmk zCkeLgLf>EWj5;iM&;P{@yBpaLsGCRbrQ6h^*TF!IEVCK(-6n_i{XrMA7nk)k^u zT=`R^S0}ygq_2zK5uZr?h?bUb^4M5_8VeqwCQpp5-O;B1Xzp^?z3=jDvkq2O1sm)u z6$2QoR1QcQoKB|%sjkO$=Y5g6sV)+CuA99`U#mZVSvJ{m)Lq^+R*i!-OUaZo8T$Il zd$O1?62w9AHAYJJyCNnhG?9e3?1zOP*JBA-)O_D8-J4gQ#37Yiqosv!Mo` znuz&E(q5s_f2h?U9Q=@nLQ6B!D|CZJHO9aNA`(yh1xFQWxG>KUQtIKKFYBrRa||!sU$Ih_Sq+PF^ah{?AOeRLIsfI<8}T055A@rRA*bEf zC!MB~Lon_z$QwiqD;Q4%K~C)-@S~ zG**srVbiUZ*ncx&099KPu;tK5G3B}xV^VotsXQ&QQ|C;<(Ypq}J!cwY^0}bLnu#;n zVVc5|Ykw6T*cSHVA}wj^Sv`wzIlNEL@C%48&xI0-8xqZ%&+1Ww_)?_kCU-b6g0s9| zLAu;5C~!=g&8*b|Db~vUj6;$z$wbL_3t!`i=>^iXB@e+DE-ujPErL0*ppYEQ%yW_y zvO~UK&PXRd=O1zXz~ARxRMOO12eEUWdO4*C6etZ@t<%`U>m0Q72`^B3nonwmx zaJ%Yt*g=kQZ&p{u4e|#fS1`{KKZAS!ak2#DIbbVUZEf~N^{>!r)>C*|u5ZGucx{wZ z7_zUgzz9uqN8BFP))!NC0R)8#@QY_A=#DQflzNHPB1?t^*-2f`@jIyC2S*pjq@t5Z*6>Sk!)p#cD>i36<+<1_FUHY$LX$kDl8}|V$elBuISVtO>yzF`U z3X}!t39C!vjXIc}U;5MEI|AO7Lf`ShbZp!M4kegE6B&(~0U;dU1g)tV+9k!!y$(km zSP72xWd$kXp73t(LHI!ECR@}r65t2 z+{jTGP30^ed>L`gr!fKcUONLQun3^eWvBh{r8@&pKmNg1ytV4yWw|BOnlv z_?xgH7G?cKH&6*#r`F?2^E*1BX@i{U-k=O+EL#mNA*>)?BKaar_+-z!x`2Y6wJIQw zercm=jUYcw-^wjM&Gx3EOja@(0Jl%*+qpgH3<0TgG{8=9HY8ZvaE`B`fz($XW`i#J zSORs250BjZ**66m8_uJ($`g&BhfUH)Gk8aDsf`A;*FBJO#|gB?w9wS;H`@kyxjL$u z(GZuGRstoH2V&M~D;VNWAYGT(yy^@@={I2c(vSLuDK1mfmlYphKwi`<9ZVfj`>P+n zZ!Vc{`v?nJL}6FKOq{OkXGRU7xb-Lz?A2aT8ufZ4ac36}*S9*IRlZJ*TRoVbJncb= z)ZV`C%4)J%1n>nSM9PSS9no7DPUFLtUk33lX{pt`_q!L zPh-{%1pfa;4)u*j6 zIT9V8)2)(4J2)9+%H&~T@SGOloTMQ4)#0f=%39TIFcbYm4(-m}MWc%sc_szz6xmmCBoO`ImnJdQEgUG@;%b>Ek zO|lwFjF%gZqq>a|B6CMZMciLKU`BFc2(63;m3mK6wx{Mn(G0`)_-hBxkoM??Ef|KR zScvFQJh}5QIz!HjbO+9m3Oyjg%kc6e2Ukzw%N0DkfS!3b`X%M0IB9}`-(h<2(mY-( zeJ}16erd4~typZftXx~{X$ogCg%NPfB1)Fw{Z_R|yA+`z`0;MM@wb0>m6| zMuDKWZ&1{Kj;(OeThk{#btpk}$t$EusG8<6pB=&i} z%B{o|ZxIh^X%c9uGT-jvXA-JOy|p|v4z#a>+Mmsm2uGYjr{fLi>v4-*{gCC3ev5dN zVBJLB2(`X}(Ct^y8VJ&Hp=7dk>CVj_@AvoHL2jJZ0P4A>A|&nMrPXCXfVJ!b=EGhp zVusdYLCxf-b0q^G+ro+jg4=oU`9bG&fcosivV@sLK?ziP$8+)6=#XaM4E{M%sjZL7 zN}!WtK17mo&suU~KM{3FkBFAfogF8%_SX)EJ0zjDfv0r#ANO}S@slf7Zd;4QfQ^zZ zZS%9Z_y>05V6n`ov%OjqZ_M6K4E)2+)og0Ud`tDMWd{!mn8NMtjUm}kuPC>}2Z>-1 zg|u!RZ6PwpGi2xEy}(iPaUy9o;sDV7`a9~iXPftYDYzlS$0qa2WcYB@=RQ2kaVMQ^ z2icmlZ0xo2IyoQMhH=jYxh*T*ChE`q87zAw%&vkumu0ut1!e8C>n_6?Jbk&fUfjS8 z5mE0XftK!X>AE%Rz}J0e;hi{%Mo*nlqEuF(22-&^6jt!50Tp_Me(@SJ@-n;@Q_7=8 zi4(q0%V)W>y1{{NN^6lLu7uRe_(@k%=g_e38pj+REB1~D!i)QFoVJX6^D^(*;GL%I z%yHY1P#Qod@a0Fuq*5S4|<{TY+*TCQrtGO8XB%z-X_}fYtf>B4{gRtPC>72&IkItf zc`u`6LPU^+l%?`Qoks#|gR|UPn;HWfm@^&*Jh7pHXPwnB@TYkr-Ok*DVUhO`i?=j>uOQTzf)F) z$b4KFuF$SzUz-@iu{NNJYg!}UJAF^eURw8uBiuun37{cNs&6OIS%o5?6NgU@XiqJL zt+=3?aiAC+fnZr0RnruG)gz|_U}Y9i2B^m18+aLlX+h;TkAN+)VzGR}C?EhsOY8S8 zbzWv9^dZ_IlWxnC*@vOtv-1^T-mu>c9%(>W;*Liv@47<3qT-A5pS<}g%m>oAx@DnS zHGe{s7QA?@XM;Pfu`tx>(McH%8DK}LX!DJtaq!dwXEeMK7&ioZH{jey@ z1$W9w-&&)T2yw`-X735JBV*!a!N>m8K0il}S)V4evPkbI_Zu%2HM-#QY%)-Cq76$` ziaQwCYMQO>!>5-;KoM2NWyKWSu>D)c~p1q0BP%PZ?c?Z7Z3UEq#s2s#`anUmuZqz7U>?t;WOXV z4yyv``aPnk{+h|EZ$dYjEZwOU#+L`v?UXlYgtChrPq|YgTU&0EHN!wBQ$Y4!+=>z2 z=+)=7-(NqvMNDf!x%@~4H_)?Ck?HrTXD3*sr8A7IaMADQe;y!IFym8I!m4Lh>wltW?HVaSeEo* z9kn;;I#$#jR2ew|ugd0v6jQwT$94?>1XV~B!AuQa$Wmjpd4$5Fj^& z&Ub#c6%<2}%!lM-st)_jq*MW%Z}EYuF(a4YcG&~-(ge@26R5~V&ExrU?q$3?@D9#N z3FPC!FpVt8=TuOcfsqR!c5+RgZ!4MKJBZt>K9bCOw-W|>q;XDVf5~Ha{qT_`m@U>( zW`6}yU*&+&dBAWGfyK{Yk%55beeSZBm$cXge06@w7h=YHP8u$qkLmAr+)Jhq2ALeL z3+)CQK?2#)?y0$&ukbN_PwpFon#i6iCPn*Uu2gSK%1(dsYrPO*hb!}QU@uYC8+7(J z2X`yta|{P-d$H5Ywr%=T&9o9eSRFSfI5|f0H!f;+ww#zFF<8TpX)c7gudB&Z1Gs1V z3OUhPT?_#2lc!>o>Wz$6JE={)Ljq18|KGPUn*m(OLImvQffdv3h($(eCS+TN90vbD z`IY0qpoq&nwlv zG^XkgwS}QMmr#6t(#FAav3GwGU+KfqoeqBZ^db22lK4kTGu=TP?Qp(D$~TLkuu;eFvSoO&aQ~C# z>e5->SHB5Qknx+N_T|#9r-+@WE3x=R7xElFvuU+rW3iF>7);G~@IyYfXW3ne7*nu` znaAX6!Afh+P7iB3gY(X?pjwKVw$@{_lNZK3^D3IUUdNk;jkllK$ex}!!OzwV;~?PR ziXKm*6qZ&f;+{uz=Q>FS6B&?#TcA5C>R2adNlZZhz=4>L@YCCovJ<|gA64H6SHu?_ zVRT3Z8}3WR4EpCQEjX!f*cguN_zMRErH*Nr0%n_D4auGo1yUsK>sq z;|#sPyFwZDApn6i>%zD*GfTvWUV^m_NWcpi#(g~dx(V@h=KJb^v1EBq73tt^ofB_6 zzSh3X(t}KAa^Q}ocuz9jvEMMirtougN;8DCwwL3tJxA8$W^-7Ig5=D4XxJUyt^3HYOJkBxG9f0Yh1|a5wbno;}$9>-=7HL z%Q#dV8sUU3>IXvHM7c>J39h!sk09MBG384IgJZY%hM@}~4wl7T15XDwq?7M7l0WC! zUbVdy%p@M=)a0Q^h3a|poFwY_=C?;htQ|$w>~lSSqe0AL>rTJt+qj8_wP}Z-S#-W< zx{rfwCy)gAa|s#mW|WR|X+@h9$}Km5D!;pr*Wh8&y)tK93Y;DLWtSeG-7ai}Da2o} zrS?!vgsk^iN6rCbOej6uvB+o$QVe%2i#44GooI&zoe? z8t0teAyK0G%*sL3y1v;sfFqRH?=D}92-i_&YR!?XtLkv}Zb7|I#*g}7k+;^1Yuirn zhHqU}%{hiEpePlfyYSi64ICDwxQ%W+V{=J5II8e5w@;H7!uhEkw+}NZ(u?j}a$g(n%Q+`N9z~$q zHzY`MK`?xTS>2tuliYr}38ZL|bFAvFMfEHGZf@ne%%EEFU!8lOFI>y5=5bmjtpoDc z@5Dkwdua^Q3KiDXz8-5l%G2;MqZGzAd(CJ=pwoqQa8}MBv9kWRcqOv0JnngzMRy|w zEkp|!h@jGBe_5<#?}Ss6E6a9EeplUq2*sduPfnax*YoMyc!TK?Nz#80Sbo;*3Ecn6 zI0jpGyI^)!pK*TR%wj_XI;mI#Jm`hue8WOQ7ZV@F)e1DWmDOK-C=EI~Uz8>rQ2O3W z#fN$Gi26SG^G~}@s*{~M%Q!ucDrT+t^lR4*R;Y~*=Ckdfn~2CSwKLsFW_tK85aHK~ z${_9{&n7o`si8p%7jax%(v1-GAq8~$(^|{FPV|?C?S!7=6fDTD#rS+a?EE~WVnqmMKM_v6rNOyatm{ZBKP?@zO3X~AP z`K_$kbv{dmyu_kJC*B~-dodZc{8^IYCzG4E`$i1-4=dp%$=y!okS31!Tf8pZbXd93 zHy>o~IIhfDa{6~h7oo0fsrej#qmi1+QoED&R=1EXpO+U4txgJ|8Xdnr-6Sc16{gyf zv+L|O{RS|z`hy8D>A+U`$D0r4@(;3C}FTP1=Ve|0*ZoF`K-nLZ@NZsX_;mBiE)wJU~kMPfjv zHCt1If6a@Nvp5n#ea>LAAr`OstX!)*+uuaA^1fqToKV7(_Bms;uJlUk(1{#0W#B?a zou}RqQp=)AWk_2$zJBQKg#Ll29rjJhlGRxuMF?)jwwK(*7H)w_;e zk>_={ntd|8q?+>p3EujeF2{pZq4XIEEVkz3m)>nN645Qix?qJtdt+PWb8@YNTCat*O zByNq*Sf=Hy1i%qYcYJEHlxls0}SNKXdC<+BH1-T{t|Kdv)%Z^R%Voz4R3qEA_2 zR9w`XB(ua|tcD7cNmSlf#DpuSu>Ri~w3%?QTPzA(Y!6LkWA_eglD}Dyq5E{tMOYtW z62l&d4fTgIqC(}@0k?&aKG3lH&w=xA?BHJe(j%#rzJMB3wETW^hQw>w_%EQ)|NEA6 zzrW+P9FG(M|Gq@4>2uC73KFZah=|D7mFA{;15Y}Q+BfX%?DoGAhP<<=l{W6*s&PP; z^ll6{lM!6SqKBX7uL~z7dic+#dF5(<0!YAj{2#r5zx{Ksj&vda{z>OoPa41s`Do#n zO5EXyFD%ArxxScv{@UU{)liUsnB={RhYU(BW*is&wt;C@0ur9xuuqDLovT4_|5GU$ zkahSD{e}MonEm}O{_RKnKjRAcfAXKh-QZomdE*-?E-a|{fA%W=t+!!qU0pt)j{!z# z+9Sg9@9EilEu#ZQm4DbV)>&^rB(htU&>_ts{tF^sa#9N)`fsKI8*qyZ51|Dr$WmaT zh8!8lHj`JszXf=K&-C!2cBY)Y|K%LdA`ijc$zsNmBU0RcU8Tn=_%x3H*+*@`y_`WA z*8BqvI{cZa@*{H5IC>uCVG15rxnvpH-t;2=pWCqhYM-_?veJ^1Ohj0(MGSMhG_dCw zx1s!@BPRacDjYkz3aipn|E&i%gBimIo=)#d>g1Hm+URVN{yQQeP*?e)uE<`^y!Y3X zqRO9U?sVzG9B0-Rc2M`(DG7= z72*&YAs0cB?@1b&C6D5|46r$&)ng3&HbjouEG44-Sc#Sr@ux&KoCCMKe|tTYl8#c* zx?J|o|AGK45D&(I=C*moy`M@7F)0C$5|=>bWWcRnIoxu#bW0!O{d_$^fFhF{w3+7Q)Wyq@gt4;8M zk#!Py$bus4>7PbV7{#;b0CLP}+}#4ksu*b4Z~*5`3*io;d-`RwAQCR{@%sL^9VRoddRL z6Ne9*2Nud@fI~#TxiEzCZVL)#rg%l8Jn#NxNfwcgEgH7T}7C5t{B?$RN%6 zyN4TaK(j`>K$W0wv|G2%REE}T#ORT9nSZ}X&W`6F#VMgpSvy<{eOJ!YFePfns0czC zxAB6CE^^y8p_F9`7#fU)>knQXeMIf4(1JkTu>A==)jH8v)~&#dn)vx7*ZUs`x{Yt4 zKU@LkEdrL$54u#V*q*b~j(BVRpDQUu!#~-W%52?{+tF#e;+IqVd2OzcACL!hA^BT} zC3cd*T5>V4#yNvsNhbRAyGf_da_Kynb3X|Q&e&PS*^^n)p zeP`$ShRWXOU^8QQGHh6n8Ox|PuPt`|9ETaoW4ci}r>=x~P@VdOBy8L7r{ze{&(Mr7 zvVZ}ZpoHJvrwKvK(V3#mRW7aH4NQPLG^NQ4uA(tk&i?6>Mn?eqTh3m2qao)9zc)s< zRIIMnCHf56O#E;GR({G!-g?y|k?TSa=|@ahKAoI1B1y3p`^kZkdIq?QL8SCjg_wRW z!^-yhv>JngL0swyz z%|^>M3a(+Odr3IF5l!zkA%jt3RN3yjwXPeo8I1>FZG$f>q%K+REU;00ePXv4jI&i8 zqq#v2S5Ee>v{e_PKe*J@K!zXT!0)V*|BCmn3iLzXpdZLP*v;XUk4oqo*MnV!K#q_q z@dPC*tS+H`?ky>3%C%f3K%UllK-Bby8CF9Fc$zYK({xf?k{U`oG075%rxXLTuV49& z$p+M$ONnKNvRTzUuaBuTb$5XfI*?!S*b`z#cKvH4yZ0luMZD=BdyS|<=IOEyu+c^z zIv47%Fpj^m24xz?$h-}TKd<=VzyOUUQPhf-n7h+q`-EJ?74Nft0JLY{Brvu|oz_SS zf%emN+}E_87B_IN5lo^oEpW=PQl$`PWDyXe>$2^SpiC!O_Z6sQyHa>kl% zCV_E<92RiGO=5b@W`HqPtRRa!&(&f10Zvcfu!DX>e=vpNeTP`kUSFNlPGJ<nfrAt7Swd{2&kB+pLq&jg-NF07v-s~b6dQP zg-GeF$nQYH=6Ww%!WRNUU);LsVd8C4_knpwQ>q&>o=xh|b2CacpQTwBM3Ppb#_cP$k-93NF5HT&HV2mq1Iw*E*roBPI$%(@o8 z7`qXLG9f2=kpuPtdN1;y>F3|1%r?FO#w@GKaF7+5E2>!yc{eqkfq6( zze1}0WLDDKbif&?yzs1zjduJT4g`IMP7n&~jKeSl0We(of(F>6&(icVDHD^u3akHV ztjwLQ_GtnEz)=!(th$&yu!#TV&(zm-e|DP^7H0k5K-XV$>EGl3y&UxK>7P}t%aut2 zm#pw)7TUi!h%YWKPLlo(Y2C6OkSDX{ne~%)uj((y5J28thx>B+-=?bFhJt@h!T*Nw z^uI|l1)IQCU>w9gpwz*>-T%k7O7Ug|bWnecf5{oK>1ySZy);h-+jn)bzp|ub@*1Hz zJQb<17f9Ir_>|iHJ6V{36Nd>i>x$&eL@F@D2@|KMsdMK4>k{CzbiJwXS&EW4;nO&I zedA}rNe%N0&0n9#PQ3{_onquZw?DbznVf>{tE#kA7tVuc%GDK zw9`pA-|c$`5xB7>zatiCt5*i`k zbj9RXi4P&nAygy1fwi-m<*pOGbZ8J;&-F$i-4g2>{WK^9F=#$~;o7u5Ea#*#Jd5{>~*pxd-2|TQ| z-)nNh%ehAH!u`2dUs<45SnF7xl#8hIWt1`&sRz?p0b|z)b89)ySsqu|U--S4P@EIarLYzmIk==tGKJf`13R%E@GaP@F%`2Q?ia)?f{Fe*CJeS4Q>w+sR$w4fER;{y$TG zkE2&5d@k$sLPNf@jv{)#Cw6fKoUf|g&JnP(LMZIkA`^c%NdWFbZ`iD~Ro4Xf8>~L@ zUWzIX z4~D;UwjJDi%)h=8@?YC0976$%8LmXN^$$0TzZ2`gRRDeXpW}bbU;F=f{{Qv%jizKv zJ+2u1mB9iOK0C1p5HwA~Ptghx?&Yd<|6nywA-(?Xhal>c(rR24QL>>fk@{Z?j2XB8qG39=S{9`|ehAUvK3&}H8{VRNLBTe29 zpPyRrxlewvmTo#O;HrXIow2lqDwBLac<}K#X;w?auVSUkza82NX=@=&FbtDp1gRMe zcWpLAFgEAs|6-+))r6^xDCz#ur34OAIhsIs?4Dcwk9?u??2+~@c>9UkRZ=^=kj0R;Xnyxsrk<;Q5 z67J(YL0$uS^5oQHS)%+9+7s)l-3MrSKDw@IZ){Kk1iwV`FYEj*2VSOktyhw0f-wbL z<>u4Kr>EAfqb;0mmU+YgcMB18-6eE})^sZ#A|;V(8qis^*!>66scFd~Oop&4=?k0; z$#Hk=NHvG8rlzc-Sc_rIT5oRlZE;yqH=mNhr_Rhuu;Wmx)=^TK-HSY89xhG_X^(=5 z#<#2M2)i)wxU0%&-;K=x;fuqz`l)TgIC*FzotkNG_p|XI*O!N!tD@z+#cJQIrO{&b z9xG0GPii^{lNa-5$x-`mvcaEy(L$rUYhXr%@Cs%)b)v07g?!N-@=?!1wtt0~9e;6V z=pLKmE&ofvprc9EFg6Z>!rL@x>V-Ga-94WtbQ0y>zV0iI&XA_;R{OCUp^^Q+}L?+uH;4HJez zxs5|34%>f-gTx)vC{pl-#6#F+?ngqTw{8En^WJ(yM<@y(OV#?qL13jk49a~7I`Jd9 z-J_4slouM-;uu;Cp}P^~H7#vh+{=lhndi1+=Ll8Xam#a9Cu?@^lUy;a4NhOPi2-D* zQItf?wo<(w!A6pN_DZ6Ht0a7f@*lMjxloINlW|&C@HM=vo(=CujSjd7c!R-?wlnN+sV<3o9j_qj}+`6qVD8^!3 zdZz<=E`89vA8^-*E(%x$(FCVe>(11%JZ9yC+%2OC9v+zN@Ye$#a=8L+tvfZf5N;`J zP+!!PydU9&6v)&TwsZKjC+*Q^20k;Au9qec{z{P9ZI(*CFC~*Y@{PK2<8ugTf~$f zfwr2Pn6ztq6R?6_?qh9LTOxBz}obHTSybu65n(I z*tbwKw3TO^K1GZYXC|U}vP^ zmHnY8V10H`VwSU9`LN(BC;Q#EQg7FFJ@RmA56Ah53d6U+M)u*N_sv>H>xOGOw84ui z36@k=;I}5mFc1e3g5aofhO;X5M2LK6)R^S*Mu*&im~vQ^MtjMWfinD|AIKGz2$E0p zG$Pl7KAAgn@;^0Po3WvoU9GV5bJy0F8p=^fHb36q^WX9$2mekL@aPzE5vy{fk{VT* zeqB{u`#pXpyUctaCF>Uj=*^rraKkc`5nKZ5u&0KEQU9H}h*Zbw7nRENE zzN8^$Xp89F;v?R$Si9OaUR|0Z^`y+CRpLmLHAPscgK)piya3HHn18mn#Q?Tg=fCSRTNt0s|_$8B$DTma76NY>Rn(3Q3t z+AlL|o!+wHP?STVjwlA;K2z8#l>x%=-D8}?JufaF_d&m}8s~^2@K@+p%)C?4yGtZMBO3sj?j?WtW z^t*8*=~>!UF;4Pw0&76xX~fZ48jNn|sQXL- z3rTXNhZ5pMCDg<8Zs>yj(~LAl&aMtkhWB?GY4iLqBj0!NQal7e_gaPhazJ>nJDX%-WeF zNgH~5Kma2j*5-~kg)110mRWALKOInd!SIH%hZExDPGB7ll8smrS<&3R&h6WsB;GI} z+TH|;9r9p~8i>XFi^y_jOYcvyy(V4-;r05ir9D1u!C%yaJH6R{7G7>3UOPjkd(ts=W_Y>S;d<5-T zn>JO!k?+%;{lLNP9;k84*HU59vz?{q@g@`I-dBDjZO&TY&R0i^qfWwS?JbO#!-S-u z;qD>>zD^BfY|p)mXn0yP0oik~%6Uulwx@AjQ}*CsN1iS0JLuxs!rfuV;@+LR{knhJ zx?p`io1`^D^te)|bx3Bf!;SbB&+F_nK>&3zR)xcJm6XWfw?dJcjE!({>B#Hoc!do<-P%shReQEnqI9N4V>n3tYP=KWnz8T~TrDGUoXY zfm2iI&kWu?-=)-8LUJnSefzZ*01*+6bAPApclF59{9{i8(LJ#!TFaakR&;xVJr|Dm z#v`}yPo{H--ruOkooQr<+K6w;i@L~2)W(!z_s7DUZ*t1*0@M>iPILUVhZ+=!~=;O|#pMUO2X;aou@hsSbSu<7woMSxj{kdad zWHcxT$H#d&&O+wxI0<oZ&?b2NIv6V-Vmyn#^ZHjA*uIEwLv_=JuU{MX)=JbARqNUh|zVV?Xk z;}yB=t#t;Gq=n$89W`D3o?{9H`R+IPAf3S5_4dpyz)H4u%4)zanCvV^z`+q?gPNcBoEo6+)C zd4O^376H?Qm&&gG54m8n*L`x<31<`2&o(pu!KP-bgRvny<+&@Jn6G?EB1GiT#L-zL z33edAim{wdzGaIaj`2J-92z*>)Vq*W@stW(8EDANp6)_v22ccYntRuOd@dju>rPW; zNl@-#INCF>vNtp&ly}SFsfF9l3-<@-`_`t3=ADr~4#C?2w&^Z2vu@LfjLC^yC`wS~ zS{NSph4^SJPHv9NrLn~EK~z_u3XTrZyH$o9O=h_Y93yCwBsZ0A>kdUBtVKK^H#S zet=Ovnu*Xw>|K_)E|+aw%}MFa4XDj1e=>`OgXPNuGgF=;vEWZwr-E=nfk1aZE9c zWe`OwXFRJ!apx%k%&G_XADpEz(!tP)feAD7^NCy!F=fc&vR{;X)z9x=c!UwbCL5?0 z0pV4`2C7(}hL3HGeTSZmc-U-Lwr%B_G-q?}6z*4{HITAS52P?zx|&(_pdK^{bTudd z-!N@tbg;y_q<)V4usK;&GNT^U{1}S&qq&0KeqgkwsJy(dxe3k}JJUz3)0LYrF; z!8fN}|6%($zUTFwNCF>X(i9rmX05U}tGk+pmJ-8Oa9wk+K2{}~jHzkA-*&mJp7BeR z*)3v?gIQ5tnaau2Hql7UmdR~zZmMD!OJ0nP1J@VS-zsQEkdyBfW`~}O1EpFG_3xt^ z>m36T{HEV|7`u(?Pvb*ie8Ja>ucE%&Rs=KG(AOFNm+hFg!QP* z+dH{MgK*{ETX0K+{PFstl0e55Z< zm_4ThUhtfriIGt*PR>F-ULN|`>t zu`$NkPDw|_19b?}{nvswo|w3pk2=kkQ>CF+!`6d%y=pwJuU&^t2J~BaAmT{Z(%ESG zWqlKmPk*65Tx6&8`3aZVPqcB8v^Hk>*uca(YbzN$mKb}@ueV*He7IzqDISz58ydOh z5qpx))=qGv8N@xYFrP<#N{UlWaBz8|J-HGd>w3;VBA4K0uQK7@-USU`iNLtIB45g6 zvjjoBKxlWriGt@OIF2Ngjk|RpRj?`n`?0vaBn;-d~+05)kZoyDGv_) zv2V<@wC)<5oo`;vF>7rvD9FZm-8VM&+9tZxoJe>c^Py=Bb6w22(-fY5ybYty_8zO8 zoBQu6TR~3Q#_Kj^QR}3PB!A}z03IQ|B;m7}Cq{M0i908HEHc;iA4B8g_%Tm*7Nj`N zfGZiC+?trfnd8yQPtc4Oe6ik-$fuvfreKPmA%k=`6he4btHQ37Z zEzKiI;f#tji+5uZ$t5D>#L+`v%|5j?P%Nqj5>0*Q<2K`nq5*km+}s{}x4-`2WcU+y zLB1J!;TsUqH*lQksSr18Y|aGP#;1JuAlTZZLC#U=TJgojj^9zrfAb_+Ee+ww!kHc; zC7H-lp193rN(;jth?`^M9;E|x-x*>U3@~@ayK45nBbLW#q^25uGx~^hV$eyFO8+7@ zhG`45pce>Focj8_f7oOGdJrW770;eo)h5B$9r+r( zcWwPZp0^V+f&*hoeaYu&?gjcK7CoF|3suo2-C1?8(CH=+kkK|tTYt!!N-}jP!fhlQR>FUHu9v0{CMmgTfO?ohha+l8rViCugKxLELNj5!af;AC}LO2j_l)sNh9rZ61Q z{uJuAA1sE4bPr$CxYQwXg80s#+g{6>Z{#k}4#ZKgSD}aFh^8rUpM{NgQrBC4&yFG? z?~e{hY7bMg+O-w{kyAwnJR@I;&VA@_Rjk5~&wfqGoRE$a#w(!==;&FLz-;W#7c@i{ zXy1M$YhGxj3y{I<`+WUP;E<5c)REk;4e$0-PA<35_mHS;-I3X&?rUoPv^J_;Suiq> zdoSUo$YE%LCxA}DZiEmvs$fuuGe?Ffi0;VDp_2Oe4&BKGgr?-jFnkpF>FibJJ(!AP z=lS~1+++wY<1k*1~#N#QcbVm!MBfcu; z`SI>z(E!-nRhfz#E%)$3=KJ;cnZS}J8eJyNHJ@mjvcm)Pg7xL~z6haqgy`*TxrcWz zGK~hGaGZFcKoX8ofAkl#%oi?JW_jL2M^#Y-s#&Dgzfjq$!an@w%6Xk>Y9&N(8`=-+ z&*yN-toovJ4Wr;Dpr7#ZaQ9DavwQi)Z$2QCET?|lm^ z8hXGN_e&3P?dai430>4)!t_8KsW*eWoLtekJwSGZ@b0aw6vdHP|Ig8*Z+5*C63y?> z-}4P5h+UN)zr&bfK2JQm}=dX>t2?mekW1tUzCnd9uJ8li9&eL2$L&bzM<-kXq5 zGo^HPIDwky;eAh^ANZ7F&XGwYl^&;LtzR#g1^qyO!D5@!k6@a(BtHm6dE@P-c4SPx z@&b~r5L)jcI0@BZV!CeaS8_3I!GUieR;LCZA#v)Q#3a4`Z6^*?1Irs{qfa{1Lxw!s`=^B=uF4fMv!90y1ea8;vPr{E;1k>q!ND1GQy!ldDMiA&)!4}y&@lw&lrFEzPQiN>Mk z0TYDKwar54%#D26VeI3Xl4@!Rt1Y{P?1$c)m+w~B!p0YPHw-v>k37BC_kQvkj03`e zVozJ+iyJ0CU_z+a)B_)LSI{xd>K3adC3bt?YB7IdUmNF&a5K?AZIXUrWXH<(ru5<5 zfIJ*TSip%YYlBUkw;Wp%%*e|9p5C^jKkMrhR7Y9}R*PpvyYlo%T=wdAOak+(8=i-> zejX|^7mADV-m5RPOP4}f>L8@fO812o&uYF485b`^P7wW|)QBKU@IB<;S3uV=BanPM z7(EnZM$64z_yRUa81MmAuBst!U;Uj!Yyc_wiWNt~JcdA)>Gv5>}kL?2k{+Y&@6jr)8fUJwC7@d)^>GT5ux$lZ7I6T>F_yIv-Hf|R71^8D@{9QwZ-``P)x_ik$Cv{XjW!-RN%<#+3=u$ z*oLvz?zr6erKhZz!BeKY&FUOy2_Tpi!# z&YO+c@9K7QqtP9dY*jKgBg50V(0*x5e?L?ej>FvV8v7_pD`PGFU?Ync6uqrW^WzOV zX}7WWl1nO3mYn&GK?DwazudHNG$O{@tU?l9R1ZpM-R(ZeC?iiN^CKEzza($?7SrfG zxA=<@nYSa+e5MwJwGkq}icw73@R@Lp-FUNc-fvp(NxVJVcp~_Z$#<6L4;SB@!Q@-bV_#v9!B4J8 zXBW_6Hl!>MZh4$3^3Xx9yOSVo{Y&@xa}Z3*k$tFcFHlS*M?#zYL&eHu+lO~k4NY9{ zLNN5KhGQds)T5=TVW7I4OnvNp(3nc)_-i2TNVTFYpgvcix2 z3>i6&W%@36fm}H1<=P&8NOpIbbdla}d!2MMKX>6vL9ceu%=9=M>m}eBby#%3 z)Y-b)6VpBjshT|QqZpe&TKRS9zlx0sBf-vGnyfEo0T|21vkY#NL<*mR*#11t8`Lk5CZDl`Q1f0UV9@K zAqvl}&9Z_5;@?I6ryNN=DQwbpF{0E=RpyjjOm4f@QXgev0`SSjtjnfmM3s-TNm|&JYm(+HdCi?qHorqTe4f`pI0VF+`8FikN z7P{ttnVZp(TtcX962GlEF4E&#NC3I&ZFFw0?Fz;4f-OW`bXM^$g;=|AfmdWH_W}YG z!RVZsX*f{*xD-}j>akVPF77X^|7fjd97xYl+!f*rdpU`W*-+(S(HCTb^|FfqSlN?1 zD7X3h&CWD#gF(~*`N0*s;cZAQ_pu2Xqwcgpc7CKUM5p)d-2d<~C#oH~r^v(WsUrKC z^--FhPYxWli*QUlfTYM<0i&k1?-BKlPXd`2zkq{$Dkv-}%$6y=T#PAO9s?*3`ibcz*Q%g(J~eAVrvB>f0A= zYzl^tZ}0Aqoyq1TjOG*2`)*EU=>PBLI{`fcK4x-(H<=%B$+^)ukQ}Os{%2=y?qG*x z_?+7wj>)Grn)0rPX zPnBc9KAn#QBwcRY)k`@T#`dKk(}g8+{`>cV$q#^|m6+l$vGdtq-+AjxEd8!|k`4 zp7?2C=KmHig~)ViCKw5vhQ(-VW{M=P$;n6%h$LMp#9}Dr)7j3L{3%_TmhFp{>@E32 zDOIw01;e~6T-gUlzBL8f-p=2?V;>9=wsT5$^RC1VFh7j6`Ik=J>re6P^%q&=?!$AN zYFFVk2DgkcytY%6_#;#i?OF*@uEGv17j>yc(`15Rdj<7Xo-KzTheBUJw;+S1@o#s> zRNUT2$=>3-WDc#&tt*ouW-?dS?Pfw=jlio7i%81Jc_=`8c2Ai%AAlU9M6ln-(61-H zHOF|}J4`h1qMoaGz5+M% z7EbJUhwG$iG)cKSBJ!=Nr*hhe>RVyx(m^o3}l1jNq* zU!h%%%%(G>n#bDByt1pxtSfi69R4+YIE3?^hEV zJ%5Qbwg8!+_T%D&nrynZr}sidO|V@A+kEi>U$%vO({ve3yN!3e0;6=>6aJ&O;H}MA z0X$C6)BmugAk)Xqp>*PRM9rJ(hC8Z=b>DQY{hcw2h1?R8m$A^jyCJm_GMNya%;UZ? zy*9s)Dt-Kk7AXhKI?gx6jgAco46-E?=c?g0zbU7#tkc1~)J4uxrc zr8J&rYIUh)=UQ{wAc$zu)&WE-vT*B0F_O4U!5R|19?V+nYnp7C44X?C6E{4-x32B$ zBRAx=nN(S{@y$pgu%*WKD6*lnO-)hsuuGgSTP~I216p@Kg`Y0k`EGrSOli}!AtK_a zyM3A{r=^w9+4;DRGX@jX+0}JW6ytihAZX~^Lvle(ATYyE7&^m6Scp6qa>4{1U{TvDBmaYrAEindKUyz5NgWuM7S@qMMUTY0k0Kc5&tZUS5lWD7HMED~ zKTV-4bRsAF2&NI)d#VMd6+5)L=kYpT!KR+4$f&crn2jdRONdg7GyWuZUo|pI@8@## z9mYqzH!MafSX6eT47)j5$ibL`mf@7Gj;%{MrrN8R^SgkjP`i2YPs3U&<6-N=Tgt7C19KLeB6YI0G5Gnc ztOJ!jf14l??!?eue@I~#Nb9YE z>~Snd)|k#rd9{6bKS zi~k(Vw=KTLQ8$`CGuJ;*>Ep-sn^(ZacjV8x+-yKTbJ>aT^ZLWYTDl>EX6vZvi9ICQZ4G?60rb(^rtsy=`Q5t&Q%Pq$7w@Hi=`4$o7gQ)$Vgu=kzzSR^w9zn*L6H`;$E61ntSPmDO^o0LMVL@+z ziIUGn!gICOOX;YA%yYZXf)XTAzedeu`cz{-^{MoJ;@`8zS2h%tUIK_$-%ql~BnZaG zgb0SeXU&SQY-bIR|FjEb1*4PX?*)n&0py>Hs{p4bf3Mo{kv051{OAn+b_3-YbrtLH z9e>)V+W-7^D_;K}s#R z>E(g^R3#Sox0QXY;%;inw{f)Cmq9}6Y*md`X?F{cv=2ssv<_2pK+(S=-xKNd#BX34 z%n^o#I6!ePQSVSy%XV=On%(Wo_$ocsWbUsQELhM*;ifXE_fvi@^ML&|#HPfdtYq-_ z{>djBZ&TFt`!}<*%Ms9|`53jlz3}2s<+lqo_KQZ!A~&@fNwcwK+i$I4YN{A9anhDe zfBw_|nPmNAG3tM0Iw?O*j9R>pw7i~>W-OC(ZOE=3BKEwrX8nTuIlN&h<3Ob@0=-VO z$b6z;?;vX0c0{$VaFf*bZab!Cp8?ibwmJlruUwk==>{bK+n;c9Ur0M36Ja1XbyK&b zCBOd)*TH0@m9EWODSsrsF3N44fU6;!Y3Q&g3H4uEy$&Ps^QF zc%vc(dz~e!H!H3$Kv=*>S5Iba0n_Qm@weA7Rj>tO~CVwKH#j?a1yG}xuz zvmga&mV)z1fkrwWZfq`gB2p@6Yu3KyGR`}iFevxcV+m1ry`1>_=7_(^*}`h(fyzGL zuVixJr8Y^qBL2*_)ms-ieWVWnR*GC7uyWkGmBdg#3T>EjQNXRQj-t@7#x8Ae`53=s zRH0d9(UO2QMOiZcy$ zG#VP1DILHX&k^y~$_X5OHC6`tEomQ>6C{fCwX6`%z{lS5hTKLR#)v49zcP#Yy?-!U zqDyurL=%*r^$RFA4el36H<4`R&)F|FhDVq--f{6mh7Y{vec56K^=G0{llGe6G3!-XCyf?He)Tdj| ztUQ+=N1(Eub^6xrGQt6^yS33ipX45WS}JPsIm&*qXLS+gAj*#aXAqcO%nP>${22V^ zbl-67zu&~#?qX0_EV(kgs2_~P-+_Z7Rp^0LGc^&KQR%19eSeXItrb!QH>8L^C{inw zv&0n=)h-d{iK_;lZ<<)EBrr<*&BVS5g1 zmx*yr!ou{=&pZ1jt4W1%tsX-fK}{jFWk zcCnILJ7Rb+!3x?2P>-0_Kk8YWZMoTKd5YTvU&B5($Xw5%z{zJECF7Wb8x4L6UAu4P zKhndq#J3*1I`sLdIt(0g)lZpYt{a(l*p55+E?Qp@Yc!K)t~?L1%2~#X5xwc8H@qGx zxY0i++#6fSsQuxPT!!HQ->}v0GaN7)E2yt`TRG@IEZM$m`$UoQ?5L*ZB zQ;3tof(JmUg2wCjGC(Ne2$>(G=|+TCyGeN#TL*8LwkV-36%J(t$K@SFh-ywTElsSw|#NR~(mscH%zYYh| zYoab+{kkr>|79d}wUer64oQPw!fHS*5a5*Vh;OYX;F&S3{e8*pm5m6W4K$^tqIXOK zxya67V+FEs$w4BXhl~cS>)7i2b}--RnTaF(W&KZ;mg_lGoAP@fza@m;>m#}I(2C4; zi%Vecc_-H$AHwxCg%WxO;camm;q7TM{Jf25JsoRS0BNRFziS$qd(yjvd(+Q)L};$u zG?Q69wtlgFwJ*n~FJb`lz<&3G!)LWfd1|Nf$(&h&u8_pJ=w}Vks!g9(7JCM4ei_9fsLX0ijPTTmith+So z%$71)Am90t@UH@U#-6s@G*Rp0BvB(D!=~W1 zD@zQ=7QWJ+4;*uA#bwcX zS9z|Je6@y$5sne-u4iq=o_x-};9v?e(t=zb?Tuo^ale_xy}ia2T*rb85quWsC`SOl@-?hEK z?zx1)=e(MkV2|&nv#p===frOP=jLfyn&li9#~gyzJU1qd1e3^1m}u+@oM5(Qsh&r@ zH=^)&MpTDntqwd;@?xMPWS6S#rNMz?*i^??5mKAruYF3Rfj?U|7=Uaw$NBulQ!i~F zocS;SsgNuFf?ZVLxcc4;+j$tcpPEMItp@!8%u{rVqVl3hd3$dTc+^^vuBdWd(BukA z`P>$E}*p2fh>F>)%0s}_J7 zadtj^wP<7;=ygYhn_7IAeK2?65xux$19;Wn*Lq1a)!)WH77>dmf#|a(sEf&5zTvhCP+4igmArW1EAr<7i`nW7F#cJDPaNq!j59DfHz+>T8lS!=$^K zL{S|}4BKS=v&~zhy@?>JKRd7ZF|!o)oDb}Lb|g(vdLcwC5sde#tLXyP&VWrd#5E2p zS6Ryvwh1K8-ax14y_|Iuxz>*I<7K~g7~HFDEO{{D(6cmjO5IW*yqn_7ba=P7v|xNd zTB`EdB4JH?1m<`Y+QQsje`y#6s|w~vY?Bgbs^w0XOs2!T)ENFr5ldfKe~=TomzfZd}t%T&El|#w~;}JET8Iat3q?7 zi?kFU*14Tube@?bR-Gpv*fm zqAE|M4=ElAvfycuSy(U@dH!o02t2sVXfTe*S5(h?*e%lwU)&ij{;ri&l&GAY40LE*yY0t|SS_!%RONtisLg3YO*ai;y>Af=ujBvH zfI5b;1=c0KIx*Bx`!$4G)9=$3k$|fbHNAvr_@g-cR~6gwV;9qukcxd%@6SO@?lMkj zOEWEAT(L7Wa=xMm?((_9Qu)yVj(v#v)|865)(?0`IbtFt5Po$1&2+{cA};Nbp~LjD z#68GpzkVA05D{?J--)^BGbU3?`zzgx!m_BZ?AncB?<%du-KqFa&;e-lJAHX-zX_}L z&M_kg0S^;X0C_uy;iX_-2G-_D5uMiq3^4S)gBg~BJa_Yw?ht&(U`|p{EhGK;{d{`7 z05r2YGb+_#;uto~%y;CV@#DvJ3Z}-lA4w?aN#~+1J zbQ+Jh@V#G@b;)SCQ*3gK)ql6=h?v{$0d*Hm1>OC0y>>eHa;f#%_cmJmMK2YGgH78PnIkK-Kd*;4UA8WPf0jfw-BIDYZ-1-#@9Jc#>Hd^JK_L$P{{Tk$ zr>g(Eh>Qv+J^gyK2p)>Lo{vxCOM3c)qITDv(HBAgs_W+F<{lJPML0bXA7#c}9oQ5& z{@)D{#eeH^{~7N2f7Z_bh#dX@S=A;tH#d?}7DXjL56O7P%{`uhB^-iBt>)%dBckcG zJz_kUdHNrrH`TO(cs9!@l8mG>iHxC<;VJ#O zRTg+|kbs>2$Kn+BzNY=3>Vh0??JI|{;gBI#$RH(Lhuoj$oOb{9VBds7AcOcy)gL8%g7f(d}aW0 z<_`YXS14wS1Lrq8&jiHP;L^KQxUS}f!6O1*PVIU%6@fL1%hHB5dva1oc(X>@w}0=h zH@2F=Lf@h-WCQvwqONK@@NfI5R>SKEy7jG0XhduwUi!m5u5+~i)05~gmI8@RcXVBQ z=3Ne(x*$C!5`z#e;I*PpEWrdmHdggP3d*tpGjT8zBGFw&ZVJ7(zA>ly>tqno{JiDCWAlVwVgCkNjV5dABoL%`p#R{8@8o z<;}ycB7;~dcy7GdkCCHOtgB*#fqp4F;>?p|ArVQz=MvXsW?>=Z^We#Wk4CA^Ftc#? z^3|(u&PV?3-ESy6ILl2hT73~GcF#9N5AS!@1gZNAkx+JG7_efEVj($}ccQ7$Qjp-o zuY1RP>Ld_83PGWO1*$h~wPM4z%5y>pinu>_o8Kd+wPjR)@!n--I@yYQVAdaDPWW^v zP`J;qtHE`fYABF`-(f$=G3gSUPS(q-UPQ~|4=ZPZQhMWY-3y&$o8|26>|(956hpPz z-z^x7pbIJRthmEr-~NvuuVkyUPBsSt_vsDz!Q1tKkzMh3e*iKxn|hN#lGFF~k2lIo zgV?qn&)*{WGfO0cusp1t28M?{Zijf7mdr&yt^)B5?)O8essk39gV-3Ef8*%jj5vE{ zOay$hkU&xCT=+u5gYr}coyr>!#(mf%tE_z$yzbP`!idL6=@hm$iYFO(?QBK zaa|Ie?Z$rv|NUP|;}RnaW?9AMyW0L|G>?-f3Q*0R@Xqo`8f$j|q_yJ!{fxu@UOfdTr6?bO43z^+(go%gei@Ig#)a zLDGc1)smBMv5fZIl78g<{w>ej6@Gbke2(c;`e5k8P`M9E?5i6d&6>Wn&E1<}FgGlI zTc)H@Ct6or`BOu(i^L_!Rf*Fw_Wbt`iM?x|;yu2q!N&$2%bU&|nFJ*v>gaoSUyaWO zxiW3-&UI~g>=G{K6;SddkfvokDuI=&PkBFXk)(A(erd0s-6LfrN*sl@fpZY6R_P8| zv35BG4rx+iQcC+{QQl_=SH3>kbiX@?l_;fuY~2Sb>wr&A^_B*j;dPLCPLt+N2R0n9V>upxzK+wDn& z$P)u0K2aAMNKbB!@>s^jbe|~MaZj^3_wckdWP!&Q5nJ;?h3Odxn7>Vik>+=Xof3x<)e zabKtOd@m37;@Grp%4V|1ONW{ctd&_(_-oRPX6)`1^&Y~}4J}iMA}3s6_*Z?4spM0t zr+!gZOElUlu6iX*aq8*YuKX(UUS*1h?qqV+Zi7Kp>vLx?=f?G5Au#ri3(S2y3uDW= z?sUW}8i-_=Y@UAq+I&P5Q7RH7ZUTm%!(pCOj*5|Efl2Gzp3A-k$QuB3o4gnN)w#b-NFQ{zDGJ%$#Rgp60YnP zWcoE$3?D8wl^{K}z(gI6ZFjXQOcq;wLt&Yi-g8jfZ7&f2l2`6JPZ9+Wv(2>V$+C2i z0jSJomO)L^o#L`~I@wRCRkxTl)p0sWY-HjQ5TYikwlM0ocs9p+fGCIlnvUYFEScO& z&I<<>6}XC6dfN7mN~C!ASaB>^-5|V_FU?v@TJbpsF^!$V)Xsm;WKdiy0$XZd88s2D zLr*p@ZhUGqYiG!_G+K5=6%ik!GoY=BsLe0TPwFAIfEgstz#41g<|s z#ji+a0v@9la#KOlq*C`y`XVj_!Cm>ia3sO&fdGcn6F#J+8oaWVVheGmvQ&&+PvNsI zwx6%v8_NwrUiMa!CVp)}M^V{JB4Sb}>Yh9+MDByd8bu}}(YZF|f-g!8n`(2fzY9um zGa2XmR0>9O52kVxGDf111^#}VkSvVT&Z3(cRgmNm`s`*_QiBx()E+*dnw1_ zg5vy4@OPiRw@gv;#Q$SdoGC}tZ zNaFGbfldq}i+ULAn@2(93&|^;UtesY4W?th{_x(^kA&w@IHv3eMUt+x(&X5;r?v@# zpH4UQ3V;=+NkjnkEuo^*Ai=Ow)!g9q#J8tx>AL*kqm4{cOH<#N@(bQUN{gKbmyiro z?q)tg*21sSJq&BM-G3Xs*jD0|TV{`Sh*ZVC%xBa#EJ<*WJwIPkbKy@xad*=W#B+nz zmdOs2kN;oQeRoh(UDt0=6i^Wng-5y%3P=?xN(ohp^p3P3QiMcm=ty~xq98@21_5aS z0s#aP@cZ+4BD?oU`Xi-7Cl>LFd`ko-CUIh%TNU!OG*zm-8~4rSBgSwys8+51 zqSwF|7OBGC>}dCI{4~TGG4>&c$@qSs=-4t$9T77YO{DK=jL`vSipu+|cp zs``elMiXa+lleY&>-V(8`8KFsg=e${SJ2jxH#on`<40JF1*-x!@CmA z&Z)t7N*P=#v`x~Sz2`AnY99!1pFuPQ5iHI%Ep88Le7EdZ$Lp*6mgU)n#sqm4NGEBZ z_NzIJnwQ~|8GFA79FCpC3QMCHjA-cMVeSxd>z$cXJ*uZJ(QMepX}xJwGBv{a-5cNL9`O|^ zoYXc+%*j|1ACzAmIWb`;$c0jk< zLP?*;Usacw6$;J&<#LYEWYt)d_J;V`l47kLZqZ|ZsZFLsYpZ?hle9qFHJXEPO-eiI`>&f?EqwVABy3gLOE^=t6Pz(qij) zh&vUZkSbHGF+p_(@6$b5=^9P*%*%1IZUNtuvF_S)zfrs*V}83*>4P>y!XSyOad_03 zJC}MvFhI2jE<0&Mjck&OR66!sT@|6bH+k>LDt>aqc4Bst4co@eW94#X4Yia91~Qb z7ZvWI&$7qLg~|yBA2fNfJt|H`KZL&ABVoSN58a^K3l4jh=ONOexTO?HqpT@-bI+zI z^#!y#B@inUyK4U?vU6lvD_WPKFJ)c@ViGQ0E`NHs4)!Jz? zYe|S&em&T-m+s}(o649N{3<*NW>doGKw}1$Q??oPl~}v?v?As6Ko}A%>BUo=wASS) zWOxv+&0O_BAx+j2eapt#gh#sKepc5~Vp^rl23Py;$}jL(;kCTs)ASM(sb1XL^D8D- zOui_V=^v)d7A|tNZzs-72qUbam=q3WP0{g&l-W`m!|n~Tb@UeFdfS3d@(fj62UyxwBnyXPH}_BJ51!84mGk#Mk7hT=*AQ9>im8Jl{YGzagad0>9+|zei5x>?vY8qk(EBMB$;h za-B3;Go(|AzwGRQSiK4Ms(F6LiFbwDjeNcs3q0X7)M9I20o06 z?Pi&(tBJ5xuMsxi+U%&!C3^-mV|KEPD9x?0q7MCxwC&KrC52>Qkc;moR` zTKkNNQ^IN_-#?v}+=jQG-b>fyxW|1(1fw&SYEva?jIb#^ux4f$z+rl3@*1HJ+}+_aOQTxS?sV@C7Lg4 z*4W18J1Q?c#J}(H8!9%<0UQs>kVN2v>e3<1ZJ}KDw+sy08<2~8?b~zi;{ZdJT3a)s z!G3J4)putJA2ZkeB-6KftvXd@!@+HD6hXYLU?Wv+3>?iNeuOsM$&}QYT_Rq7WKjgM zQ4-6G^$+4(75548{Jg#-x)Ev5TGQN#!7mG;ya!fojA1*S z!qs7v1)CJIT{+8 zL*Oe@+dBj+>A>Rq9mWi0Da^w2wIw!nj_S5+Lbhv<976trH%NFhh_MmV00#ldP&TEX zP@(<1fbIe(Z^~=rqFCi4Ur0eca-5@)cAnE2RgAdo%tWw+fga77d?@hATdFuc{%|4; z4T03>*P=%9IyHylUxYiVS9oLmU-der2iTqTq*>{{=lZLPX3~GEK4JZhjYM1;No4fM z$M!@km9r}pGI6nOtG^vCrK<-AqK2Gu_pE-k#hSs!e(j>xfBi*Z&qfrQzkK%~=n1Nu(% z^0z}P311KB_-r>EFfR6c)$Rs5;QP`>mApOJ&c`$(}&X)=UDBT7ZPM+SzeFWMc*qyQ+ekmxx^&PS<1q>+)4-5cFi)Zxt$ zuh#z&e7dVN<<7f&T6G4-%z5gH%zf;pXt^sUW(cqgEga0dCGL;5zWh)gvkrE>fD5Ef z$UW+XcMTl4)V_Q7Zfo}uD8X?)^d1?;=968(E}T>>A-saNC4iHC)d&!Ow9T!y1}l&x znScJdeD>>G1}V>_gjpB)`=UIA`H(6z4Akq%$hSSKNo&%|s;XAh zrZQB2G!+M6W&moxfb=y`-Bd|x0 zYQ5P8A3G+iIj&!T8l?V))Y6iCUb#K;=Bfzj$RBj=`##HspTFlOm8`K*8s~v^pZ9qN z)te9`t--u0JAeqNC-V7PvQsnKpFTXj+TBbAqBaE3u!h(X?sqTLVCuPzu`1*Tne7x#022nQ);S_h%%9$nGM6Hr-Ma|Yx{4;(4RLy?muw;)55zyL@9spi*4AA zwF6QLXHq3(sqlSx%e+KVE%3Hs>!>fR{C>f967;0`Fch|*t2$C7rApF zb$JCUMwczixrvLwy-#<1rFlGQGdB6Wf4D##m3nT16u7QIOKP_AR4!qR0SR5i{`HiE zJl*!NKVcBRsUI-lZ;%j`%L1|_i?d0=_?A zj|m8eoL&E`fLGrFfQu_+^2?8GJ+CDKv3GXqps(yeX}l2fI9!~*q$}~0so-bWCt!?j z@BlMh;kD}p-f^M3h8vH+18t22c+@}%HRlqvmFZDFf7=2EL;3AhCkl}K7rq!^%u067 zfr6(VlWo*FeK#sjN&#Th3dp!=aIk@X3l-T0@m?aMtege(Wk5rNfcF%*r=L=mGqTAQ z)9W}Mp@)0EQVZO=3)Brj@9$bE`7uZ*W$R>3^Zo0uPOpsm}y6+ zP*Bo3w_l-bQXG#Np}fb!?mDRN=Do6GF1~d=5uFofRgf?3YfqkYTji2XFwBc$UJ{w7U;o%&h7*8 zTtL+y<57)@Wxzm1o;wp&Yi9#CVnEBX0j@4Eqm11y2vG9NZ+!2rR0VN<|1+)Z&n0DF zGSw_lEW4f({a90aj>q>L@?o>c>V-P()l=1&TQyjk>vd z4n+O;*+?4R)BHXYq?M={eK>2~cp7(0UktPU#L{2N(BQ<(>h(fcq}2VqKH+I*Nffeb z{opaVB^}8nD<6&iOH%^sqCRadTjh8MBk6p;Yk$j!#SEMU$gGs-Cy`CLK z3~gd|M()8|thC&OAvyLj^QyES%W2{}8!hg;A+nEdX2&wAEDb%XKhU=bh&KHTnLbnp zhwtXNZEeOyW#Cr&9oo?a**Q&O-clwI>1I@+2)1ql&eg7of;HOLcx6;3yKO9ZULnA= zpi@ULZA$y6O!1YAq2NiSH7Caj6Sj7zf&ySShY;mA15eUol2FK&-6NF@%+pI-e)c1@ z^vp*NN(<%o^}_sLUsRCn-;P4l<1m=s-W3@6yJ2TeZiHBDgu+he(&%JY-hgTa(<@gy1;d zsDU06>ZsGN7sduGj){wF+HemUjU8?-N!)4g4|Uv)Gf+3TG7sP}TUNs)!{Jk-D8EBf*GZ0&_5M2_9J3F8M}?w+1jwsS)V4o z?*wyOL6UO{hD|?xbh>F4bvmiGTw!Dq-~=?M~e{YmfE zgl#7++7t5v6p_?X*_5AHH6)3Jlh}sM3~)h`MJMM2-J85Snrs{Qp3oCLzCpfc1v}XZ z&&37i?XV5?Ur!%outCoiuOE(7ZTecd@%;?U&^LO`gYVyFNc9`W1bs^&9Cb3GGR z=}%LwrbnCkwT?9+!y$G|#DS(r!*1!@em(=S%%fjSlO{J~5d5)2@oOZ73h7MGq*SYI zt72~Dk9{O8yMgK+zd}d5UFd^#sZV*;KkN8*bs?FJ@aS(V8udPGsYYURi&6;OFP`>O zk+!R^HG2|a+xrjotNjB9S4u`=^z+@#q^ti?DbXUVRO{mfvD#1gmlHqtBPL0oW=KE1 z9i2+opQ4)fGd=L$q$k2#Y1Hiv>?K)r0i`d}q;-@Vo#YnWZ*H#`774VP&d1$C<#R+1 z90^4v`VdNcqkf&odoEXq=RzVXJ$^6B2p3lizRYdm*LIlhwsFpiG{}Oila}gy-Dxe; z7Q6)Vo!2I-O@Q!rrTtQ6M*1r?Z`F}@MuLR?)4B=2{zKU@S>1sJfSUJu3n8`Ry0+&C zjrTe7K-6}bVT+8!J&ppw{;vaw>$ocSRsIDu*6qt7>xFfG$SLg&FF83AJvefR&<&$o zp7bV;66cS`1}Y4Sos35P8nuR&d!$Moae?~H_x-bG`gSUTrNTI#A4_qu z&2ucOjoXajxd~7HjbrC2+YW(aH`P;@iyZPTE4R{6>gBS8uP44#{0IDF z%T5{%>QtMeCXAJMH3YB5|(;x zb^pBvGbouO=q+G#HgBLhI4~sl`@oSLOY^sk3`^Io(JcP@n2(na@@&SBpvW6jYHxDj zLop`)R;p+sQpWI!oMgVR1ELTneBf0(6t*5W3*DHc9zTj(^lvjer4c^1XDu#{MMuO= zR*{6cZ6UzP>W7E?%PoV~H(#9;gflzJ`XHA*OZ$3V`1cQLFYWm~k$XD( z&=wU|O(^m*CJ=LE9bLJx_mMVia=Uc1C{gIkSgD)t<_8!p_yB!`x+ zKSh}-domiy&)sN#Y+IPN6X(%At6Usq7sRX^X0cb1bTSugzt?HJ8Ob|-=z4y6X2`#z zuzGxv7zhcEG2PWaaPaRY!P%6|)~3E-v2(g9gf0!t%gH4E=P_5EIW}(SdJTKI5doc!WI{qN{uTbvUj$_ujSE~gLtja zmIL3;0RH*UN->36P;u~aVJVw0@j=%?pKlSz=F$)sCO*erV-|6+Lvnkoh%GQLeK|RYy~@{! zp}B^n26GcjxnljApd8Q?*)0cwtd#Q>NB(({P+6RWT;CeF!A+N{%5V9rC`SzsMh6bH zAzx37I>E67+(2bjQx%RL32~O zG(`;h3*+4v_kb+wO6Q^;YSydS^<*-kx_jjur#W;AthO}q zbkg}K`+|7sH@pZZqgPP;5BKeya$B7X^|{wtAK+bnTMIUb8aQS~z*d#3|E3C_Q6f8X zy3~Sx?D*k=NQ6i|!mG}xp}-99!Ktq-{Q<0)48K`v>-nBg>Us&BC+#9xnjVF6M861m zZ>oG+EoNAETWK7;4l!iq^Bc>kL+nfh!Xc@ds=pFl0_d{cKN?lX@Z5|yHPR8j_vn)& zgN@XCG-?snNTnroJ8RybFTXM>B&@X&5;ebgNw4N)Bk={bu69~e0Yt{yO!h$!%T=&T zWByqD^;XOecJB>Ob4y0r2Vz3%#41k3t;R8xF{azMD{0Q@Zj$|P(50Li$7mKe#T^6a zuSIc5ru^GlI?$Jfl0CllG02zHc%-FK?v|Hk{t(zCI)D1I<>=p}Rk};v4pgD zEa2^bQ?$!@XpZ+<6y95ZWF_ppk*I#@2`;@PMvKj&>m=JRqHSl}YL#$^{74-1EQ<_!#fdhtC<5*7^SiB- zrautG)#55a^r{b*YZ5*GN>~T!@X>KCAu4us$^ESwVWpXMuySpLh^b0~kDiDto>q7G z1)YB&6sl~*Vqc(TZ`YH$aFh|=%$&zG(^WXjaTRLatkHP)A;B?Fo&H}_5r@}$z;^#D7?g5)R8cCf(U|EDsmfue!y4<$I^_S}jpfCC(9QB1Lr z&6%#3q4P7K74%asmp~k6kU)9P#B2R9=q@E_zvW0!B**~th3ahIwep6Y%V=HY%egOd z^Db`=%%7hiLBVu?cEkfmN`)<=`g7q!l*e~LyjPZ8!VgBRPr_50?}Das{*}uP;>G>p zSv%?g`%sX4KR_2eYux`XIs8oMUtIux|KH@9|NmAL@4s@|gC7Wj!Itmezuz@{My%Lt zMjWikRUQ8>>o=YZzRvRu_X(vhcO*<;Olmh>LBvwZD2~e8$YpUI94L~?} z05+X{mw1F{Y?SdVx77FQUjRTcYTS+QgJcFEsPi1$8P@Cenu3g#QR6x;Y5fEIt81JB zAAPo{8b?MMfb0K(<~Z-OnHJadj^Et-VSScdPOS;_N%x}NixGJe}C#C}1rHDZ~Jy()ni4rh~PmbH22Sc(;8j5_W@Sw3T_JaNXde zvXE&6L#6FEC1#NoiTZo}PRz`EHH<4Vj>6N^1ddAUiCN}@`mrwT#AZdKJbR#4-*Q{= zTts7uOCY8TC_cE0oKVmi+!kT5{p(aV&xvMqHGbxU-%qOLQ^7&bPRUgu7xna&g)q8v zAUfci1F^EuZ!0wm>Usz8nKtMU$LPkCC>pi3W)nBj>xQ*kt6sPqc4&O+-(iF@rp?xk zh6u4ewaZ$5b`8!2&y&f>Xfl}qncyyW*g zo#<5yx>MnS#;!75e{T35NmWngQm!l~CC1-Obx_vC*K@M3PaM^*h z*ct>o7_~6zr^A&-jPjKty-t#G0%Ixp*R@PerMx78x?NKN<0XG@@2BVo%wF@8T|>Q* z!XM3DwFYrEzhu>7(bR61XOv>Lg$$EalznB-_|K&@GeK?$7bwj)a7jAuB zWDd%S{RfCdfpitmP;&qIw;lMOhs!I4+4@SfW*8G`a>40T4qpqNAgX?IHTtU7G0I44 zyR2^4+}e8Uf|<4o>i+;t!Wl&#Oq-Z*1$feHrEIZ6`4Y{JKCV5g7+(t8mcjj4^<0_= zuaXBUqLv}Q2%VMzo&m?e$yeGBD_=S%-^k%_9dw>bhvsLBleRtv8kV1I)u~)L%;6T0 zME=UygB^V}!Pp+?qai0T+?Ai1>K>a{X}GO7qG$xYpqn^2=Cl}0);;yLv$t&UZRCK4 zK?Y6>ZL<>p+>pd9E)pxp>b0BWE}`H8u6*jxGG1C+frNImRTo&+Ge(v$B3)s>i!-l7 zaK33--3IL9R-1imEj(gB>xP&&zaH0FF9?7oT=K!>xB~SRavds<2a5}t@@0x*R!2wf zw%<80cM^#u4C-lZ`K(Z_p5pyp;uUF2?_Y2(kFWGj13MQD7UW5p$Fg|&Ph^hNtCx5} zL=|JBOR|n#JE=&Vys&th(+qm1D`P! z0%8`^^BZ5Wot8{{9==)uzAB&P_E;{}UA7Z|~Y$2dZ>v@X%%d@n~KzMxA#7!7G z5Kr5Mc{ac7=QzWuwSOm5n%=Tskt>r86)q<*lzSSrM-2yB65N&ZKjS+8bc|WP=n5C# z9h}?hdAG(aiOu+)7tdS;LkB8-b8uLIx$otFX%cw!-q!%IolODvwJ#bmn-V#UOgf2?UvYT z%$PR~QTj!kN<)BtW5%gGwqvM_yo6nII5)>yT?4$w)XadQ0SDp7r6jlo;sV()|J#EB ze*DK4kzf!#5KJ`455(jH)dUapd>lo<$DWb1jwrI*T!_$v$e@3n{bAqh)FbJ9pB(Z9 zi7Ykwi#Z*do7Fhbh(86M)P<(PP2t+GKQjO4D|nmOg$Lrsnq>o(KX$wvN6xYU62i}x pPWeTp{|4{_wfsl?p{e*Mr*e#>n5{Xi#W1;&C(7E7OBA1l{1>x74c7nw literal 45357 zcmd43cT`i|_AVSOU`IhfI!Y61BGL&+69g#&(u-0A={@u)MVeBjHv#EQdJiblg@BaM zBQ-!sLJuSa?&f{Zd(OFkeB=B6xc4_c#$fERce2)=Yt6ale4e@HN`#h%^7ShWS3n@p z^=B%I+91${J0Q?`<4fm&CpK#>Zoq}iU0YcmR58S~4%}R@kyDogfvRGz9>2Z_++TK4 zF?0ukXgSaR$)0I*Yyl6cJd_MPbe!LKKwi69gOuH@t)1L$ojuH6UILnY`}#~#PS@LP zlLU>WhGd=k3?Um_Z_z;*t6FYBTpL`GpGZ$A6I8b}RWb_Utk&^nbbOWc)R% z(RJ_pSy>Z!T5TEnE1ZRUnHP05WN$}me%^0WdYKg-#-b`1VfYq_DGmEWsBXkR*>rxC zBZ^WzM?FZvVo6T!}xQHOH~WMhK-Z=+wxb9gxc=bS99OKvVQ}^ zPg8&6hJ&#iE0MoBiPi5Fo2M$WMWoA-lp~UAY&1usga5E7)zVtPhhf@)J~AG`gE}rS zQ$+0ON*=jDJwhiv`pWh9=D+_ua40T0oo2oeaZw@mrW>O|PS!{(459lL^`~E?cu^z( z;#FWI`B_zZ)_H$MK8I%Hy>gGcn#GHGKJ2mSTGjcf-DKWGxT^UqpGND16k$G|_&J94 zTBV=x%$#SJe2dFtn3FR>IKcUBDo=r4Sgz(9H9Foz_xzpbuC0|27yS+fh)&PbPTmjP zf*XDfiWS~OXMV#zPYvkCM;L;0F&jVN`*wz;GABA*H4ib-*M(9unFn(mtn5& zmwk-+TBFmo)1|uZEl>l#Wj=?gW0cD^ezVh;^|hwwdF;&{_8bX1dCv#*pE%s>ZolY@ znWMW=en&;aYS*Seaor*iaX4J!QpBBQxM#|lJkMx?pPuYXCt#^ucl|eb^c`Z~qHxJ( zt#6BWCSb!ZSlX6A_xNXQt^<7=2YY;_6jW78$N^XTt0igb;TJu$k?3%51jZlXV%*n2 zt-*9f?$Oh%6P&T*0110F>+&N3-<<`Wv@6T32sS(Q$|Q=JxUUr3dh5Z(dbG z*r;Y{%+xvLa^Ie+)*}59<#({b>qRtOX|Yg{$o#d3ldi;F>>ND4nmSy$3h`EVPXsG0 z7)x(GEqY#Id^nxX^Km~^IcD82YK4~Wvk7s|LSrB%M1e7BdZucsH&toHzs4g$2}+Y-i%3gbMmur8CSI*n_ug++|N_g?b){aE^{o_ zx&u=rd|t|DuKYbCChpZ+74cTcFh@JRfS^*F1F8us@mcY0RV=GT+YT-*jf{rl3ioIPv8-XD z=287!4B?}+F!cB7J2Q#QPYD%pU-t?Vo;Od^hF<0$dHuqPTCAs zrx}$aus5j2mn?;B1fh~*2QIoYgT8_n?E_bm>%b8irAEA|bvauJJ5|R8E(2^Y2AwX2 zq36Qw0(Bmbp@`#^cWO>v)6^?2yWX}4oak+!pW1Bb6NHMN?6!@xCvgjhoUYa_l!57@ zd;C~u#F8pmf4>0lyt(gF>wWTba?QRCy?kk8ggq2Jfs_Gf-3f49Vc(IHkal|r9d*Aj zGT6V4k3XQc?_7&WuMyMaWbNaKp4D116wo}8ruJF4^eo)^ZC{NvKXGwbuG?yUzAU!k zinw42XXY=Fa4qo{Cw%sgB)PS#Wl}pYDO$|gTOMgX65K3p8{AGX-zZdZd~O)e&Ch`p zPw=gPHFj&7xynFR!rS~muMSM4mA0+dWLra*r1Y`W91m=|Mc-HmW)>F($eJg+Q#+UJ zYX5-NAhODSspZhkPA&cL+g3JX1TPqjCC(N(U5yO5{mGyPqq;G!VL4Nqcrc--uI;T@ z!I%+XeiTYjSYK=^b7H9O`a~x^czkqs+`ALfP10kl$-g|8Bx1iBX1)7}lEPC*CV1-(R4( zI=D1r4U&177+AG+ZrUfJc4=&QotkehU#3!MiHvUVrt(uI#Qb>zhy}Bh;e<;>Z(}U@|>1p$hvs{n4m-C*?W1hWuTA-W=PD zd3wr05+=G1k?Slj^0LIF>@(a-8Fw{I|C89%k$~jlQtFc1ul^rZNZ7$zVSQTJu^0bsnDb*u#l38C5gBhA0|(Bu z%{W`IU!010%~a|0imQk>mHu1_CgY6Qx3@SxB(RgJ)Kh;nsW$1-j@q)TgeS*bcZLsG z<_RY47%whpJwF&{=q(Q zFXKVb7BC3k#;#+KDLfhjP5q9Mp$ftDEpV=w+gFtKr8Vhl7AwJ|rGw8a#2>k*UZ`}T4ye3}jH#9Lc@k6)d#r@lur31+mL@MObn zG>c9u_7CklQ-$**rTgy6R*CTuW?74|CHwh@mX+6~iB4FPChaDZleM`+b}vY~Z~i@B z3^bE|mY8~|vy!%1A{oO*r4ubvEw&#wPE(Pk$tk>G#EQ=|v6_>aJJnIFHAsHOqF>1? z^)ndG9L`Dkbr&_TvYW5w_VG6?pe^Ru=`jSxhgx16cHw{3D3Ybmzcgqc_sO~7=h)A( zBv}noKz9{;K89x?f%Z{O`@GbfPlgguX(2u;-2zBwdhwFm-OsX;_nwC1Mz0sGRFAvU zsEelZqApXRkc@$wbqfsw29P&4mDvn)u@N#vr+G<1PW%s?Jo>uh$5)t68G2G|n;m=~Aqv1TwdXBz@)bX@n#8h-%w@By z_z&MD4=i2umkNf}0z>uCJN^5OL_;@Y3;ZFYS$<<(JFMKzT|+N$aB1F54^J62?;;f@ z>iN)bhbV!U7Z;g##@*bi=AxNeBW$#mvn>$nXEqcL)seC)-n2nW-4kK* zfu^Y+)_do$IetA+b;IJ87>q<2_Oo^=c$cqzztUQmSEUiQlMGIomM^*(q5Z~1$)oXP z{FMmaD&XGly0SyXmnD1-(c-7N(*mVW2j6EL70g&l4Ek1Uv*S5-PhK0q&|6&g+KJCz zm@SCB#Vu%xBu7(%jY$M`*P>@}ePQ-K;nUB;lURlixq5msxZ85B2ri}(S z)e+4e?$j?h7UsUsGa!R?=N>cW#mzCQHdbyff22)ZQb0>r@}|wVRC!i%#vr&2yw~fr zc8WAtGPnM+TXrH>c}4v_n^$vkB%xZcwGUJBY}boy{-c5ql*=0}Yyw}!-Yoi+7Y0XS|pcJ~tEdtQrRtep$_$6SCrQeI~jsi@M66|kzi^i?ha45XFe`+faX=})d#W%yL#>zW=PUS3nR=Pc$z&)&Q=@&5JpWqVigrC4dVNAc2| zCLed$Yv}S!_^=oAdzI8O-pXy>IkA2O`u+ELP+(!E05WvarRzG*$f1k)>cMu z)t@qqLF}`F`X~jB)~SQZ>3OLGSp!Dr_WPWMnUo~MUYwTcZ>IC|AH?#;!tyT1tLzd?|+30%VF~-iVBpzd;&0fuI`fDbI zW@E`6CIep4P4Sg9feX6p7$1)V4&rjFlh@hiU6%JaW*O(_9H3WNhYyxfd!t`)_qXgyFPaABSg*+A#N<+S}!Hd)I`;-pepR}}A zJRtGbDhBCa?WWN>*F&&sTNU=3$McF&15AE2Biq(v|Q1BXO;H-1p3Xgk^n}=8=ae4}B#t3$yu| z4hDtnrd%oB4j7k!|15%}9QVz)pQO!p;at(17ink!40AxYJZ+;)0W8(B=(=5pS3n%m zyY!5uD!vnud{qj6Fac9^Ub=7@0yX^=x%nlG;R68{*X*{6OZUXuF9!y{2kZ5(zv{;( z&|YZb{Zm&Jvj;AQ30p;5OZAu-YT}?9kR7X-9=D6i(Xm2(;L?e2`cSnOr|+C1yY3wD zJsl)kw{Mn+ZXU*$cQl;ZVd%d>@XzL{IiwfNS=@xbxV3L46Ss)>3SMVNWMoTd#BTYU zvq7ecVU_zL(7X>gx(f&ohJ(mU!YjuIiqFeZ{q(vsxpgEO58m2VCs+C&^V0>@1tUmT zsdmucK1l>9XS0nUD>Wz+_Nr;z(L?8}rjr$;kG5whEd##T&8K~!J*o?pLXdS(4IlJP zxCJlxef4f@pZv~p*|YgaTGerr>iEfzg8A2ub2@aDJ19$^)Ym4#85#q9{qrS-rHIYa z#-m?Z@cQ;CI_DGcW;fg2LPOjj!hB$&jjf7@$@j4(b3K}gL3Xcuz4jUvW-~5@T_t2` zCeqp`H+0wkPN~he0m+yyiOH}FYw9~6#|I#R7sV6zPQ}L#V6K`2Pg^J#tW5j+V2=uz z25076-2yE!%i>CJgSg%={GrWm^r2j#WRO$+TubHhKwRx0;d z{WW60`Hl}!bF}Ik#A{BaO9mKbeOzEF8EWICMSSHO^3D@K|AeTMG}0^SIl~n^(R^M) zQ_!6My+jhm#GTVzEz8KXzm2Clq>WoSHiCC=fO@{Ee6odkub69M+bCvpa14J*;<5jf zpxW5z!*Y(zS&SBHPWaCTQBomvaV_1*Z!+tbZ~8}b#$?CuB5Lz>S8Hq~ajFCx)gh!Cmr`pOW31l6+D`kwM?#v4hFdhKm2JMNVQ{;2ypZ-7`E5t^a=re z88y3iB?wWNZ1$0F)k)^qdV~%ltn6{1Ax~{a*?y+^J+%1Nm?US1pvo_sgJscqu%Fup zsY_H7w1}zXIt}h3)O(E}#m?8S%7a5p*sw}t&u!##Gu=5>FHza?Od;4N)OsYdzdPrZ z_UTlxTlVZ&-hz-{ZvXmTnF!0nxkE9B6Kg3AajP`zl=-7PeHE zwhNZ~;dxSZ*h@Kf{>hBa0ZR`jLlguaVQJILbmn5+T9ZslcIwSy^}MeomiVS~z_3oogw~FVR9|a*eA_wq{)3woO(Ub`{mb!G%7_mCN)s zla9TF|1<%~lEhaT?5;|Rj;DoZN;2hiDHW)qnv6l;6l+;ImXn3@cIX-jVOj9yv6YVn zQAY|(xlxYJremRx_FtwyK)L1NBQ_TxbI;Mak_0hB!K5gnvL)}2eRFBsIUW7BXXrbI zKCfe=@_(G{t&mkG~A$ShPL*fTv&lu%?wIj@dnqOl>q9>RK#*eq!!MoC&o-HkPgiW*SrKictc?KS;_yc z%>6q|rs`>fZ+;AOZxQdKOevvep;0M9mJFzP;i@-WAY6}I#XtuOJ)-vPQIK(+vyaH| zEHB(S+B|3@#Ykv4IRRn0@o0O}GIgsv*w9{&7bQDn9rKZO8;xR-z0Z~9k6=*8zTBE> zU$_FoXf(N=e%!2{QNCx$ko08q%yBox&=c>|nd-}`s`9mMHBTpg>F=WE{yj7A{xh9% z3RPyAo8{Y3WM2B-!DD3kF1lKFgVbvu8oFe>IdJH}8hx-AGg0BXd5`#g2z`Y- zzXJBw8Xjxw>!rp=S6ICc?G=9mds=_-R$`RfV-ZF-$pw+(pw>&;j-+)-xgRw;8eT2- zQt!*f?u;U|ssn%R9c@pK$1u;1Zu1ohuP?;a+HDdRon^Q=jWJb)4G<;&=gtv3OZI-9 z_)p^k?`ACS*3M>ImKWcPc-B_mS8^3BMI`OiG(v5Q;I097-|GUk%=;unZ{kD!5Yz21 zmUg!dmm6N3&<&q|*ERku_U7_J&Vlt%{#O4>QZQpTH+)PlZQO$NXrVk%IoH?UB&I+h z*=&ew8dH2VTED7-J!>|vQhDC4TAnl8ckD=tYUe6{Hk%N9DxJrAAI?*Rj4N6e^`hcX zM0!FWVUGho=oFtAU!|%U|FL_J;Sfg+M1f1u_N4>)dmY1vx&gw5qiWI{iaPP* zQIdgo7gj_2rlVx`R}WiOj@2sbB<18?TSK>yt)hpsEk1~;$@-0+r3p>VkP`x=xMs1U z#=TNpQ|Vi+$VxO2S{|F%yALL!>Xxn3M8%gZNm*C`QYv#_ELUEhPyMGWHkuwC#nW(zt zt4MlA-+A{3N;RPm5tpg*`+nM?_q)6nMz&`?1lEn}?dT%$^8WJyB11?vBat;}`&sud zp9h<}b)!rxLEpS3uTeeu*2}hlziv+LPSP`dVsh#&ebln>E3B(J;KJ!q%qU!>Ntd@7 zy&AfQL{NS?x7sJ!t4_Le5yU5P;d07zv$w9EC7J9sH0(pRt#L%_rOKu`KG?AooKvp~ z#KSc+}#1I|aRNeq<*krhW)$3pfmVpiQ&D)%fwpp@wU zAMIWI&+nKt2FMUMYba$7|71euCC+`37>tF8juNcF?QHDBj9gL40Q{VYEuc!&LN7~n$BE5K3x!h}k) zhncjdb6WS4Bnw$xct0vFXD?A(lR8@GvS4+`CM>FOiP0z~jt8N?dS7{jn*7MgN+eNU z`=oLE0l}F}0U+0pf$cTEMxTojehH}xO&KCqS*#nl%b|#`YI1#4k5qnIlq$sWUnGT( zZda*jK4!S9GMlS6+Mc9&5c;F^gAVcKwv{#`c^+fUOA_kcnMVGarrFk@kd{s(aO|b9 zdzRe$bNL$N5#DZ=&wsgnXACT9;_h6C8?mC4TcoW^3G^vE9CbNJgE4xXrIM)S&UFN# zEn>AOu5uQRW%^eyG_pZZ+8=MSfJKdE9*a&Qcqv^CZ!t6V)z9X<;K!oah2^mu$-|f0-016%yVD&!8~=e=I6Ztp&tv|IYhmFL!2Q!Yv1jc`hHJY ztZ1e-ryR9a%Ws5c{}Ks|!X24xj9v@%C6a#-wI0uIWhS}FfFDgd^NSr#h<@EKRm1pe zkLOxeadSnkoR27w%k}C0CXuuonSzd$*e_O(!i&&0myhV0 zb+gvVeirHbRZOr*h_dI9^(((GBXZvUxiY57S3woVS_+cwpKchl-XhjFTf{rqC z4hWf^5zJSLTtn(YYtFW*v^>21%+&q&U@jQ(s^146=D1MWJ2^{)tb|?nViv|v)1zh2 z>2_PRBgzSxzJ9wsJz=6>%P4cT(^RkHC6fDQvvuFz!=@Z%crT5}Y|oQM<@aM}-4mt9 z_A8()pYB*rud0xrMJg-n#3i>s3R*h zSKxi2v2(YtO38>cHHsFD+Uwo;__Zd?t;sTfI^FKf&VDNb_W!4uhNA>keR+gvl2FC^ zmRH4_&@(?@p0FtyMoqyq*P5zLxT_4+_YzXbsiU_!eJo3LP>{($Y;i0#mr7|WV%0N0 z=&6s&Dj@Rz5;;HdD~uc>VFu;GNsE`9V67ruJfcJG1nzdvE*y#;=UVDV?AGTumLnPY z9fsgaFpGo+q}>a@Q%MB(%Ty-p<*p3kg*TBF^rG2;KH5*qTuz&}H&Z`|zqbCm{JO_2 ziELbk+bp0z&T7cV>T~4vXv>W&#&#p}EcsltL6)b_IBV)piu<}aWvo&0xSRhT-zp79 zhA&}G-w{ZEd24!P#cP%XgyOztrMp8i%PFV{e5R#Q616?!LZ0op>C7CukaiZ3m9pN- z6@+n$J9*iRLIM^+_e_CBA`e@{^Z8LQuY8-maD_r}^rsIB+eVjadV}46q>s6mPF>F# z{xH4XyYq^hcjM57{4y`QQW*D@Pd$)2qenru7Mb+|LA?_9Cg)HC4K~cKF09Z!C}r)nV!rl9F#EVj#df1fRKoc{ zt+#7D;g=X+_Q9F&QU}(;RVOpK#S`5H3ni9oHSYJBBJ+pVWDTdUP|dTv-ep_ZWJO5y zG&H9i&@&j7V%_*v!lRE?RWN_Nef%;b&sRufxRW27l?tgS<^|;L&dLU=f(s0xJC?GD zx|yFx*8|SO{gb>nEqKd>uZ!mIMqfl{&Zr6zkB2+jUZ7hqRdynvWHXS$}S`%fc2=@C{4r=h!5_93dbz%p8h}KH_hK2IVU7@P6(I({t(uXW3 zPt^s7)80GFUtBqItkN=ngcBFGxsxy7}X?;?A8dT~_Gr0&-Jt)L;FIk4?N1cD! zHZ_s4pkV$@O-vp2f4qrCY)WRi1}A%tikm7P?(dh4?KG9VN;M&(fRd?QrwtAXaQJw< z*dF-ko&60|23b2|N22!Ge3e@=nkk~#s&QeBjq)g;xS`wU&ZZYk3$`3FPnL=^fl7OSBPc{GUZ*sBfBQwBM$=N;ul;8)xx!l64V+u2;+FfWdR6zg!6&$8wi@ZuC&q?!BxDPC23_zDsf~OEea72eS?_v#ed% zscc~3D06E5BaQEn3M;qy0*nE}>LSzT#&$Q!?9{S&Q@6^$;uUG$-T&9d-pn!&Vj;@~ zEOq1>D6nE0k%JQU@#%;McLwA=C=<8omLy|mLjK-dEO&=$PuO4#9>whA#oCYU1Kk~L zE&F%V*M@GsoMpKh=1U=J5Z`L9ZU1VJ5^N+g-or9lCRS`4Tq$O@qNBG}V3;fnUoW2#!w4;cH)z z#72&xu}&;<@}~5C`+in3?vobelGmv=HmWS>Cj^kX5~c{{=hUU^mweEdhkS2R-7&<+Nla& z0?L4N&U}P;vm9A&rTSOg>u3K3<-T+jttJdYWzI!~{ukOyYPGX&)|N*AMD@fz_fvS% zz3C`hkzCB0GTC4Fx-no3QHpEb9l8Y?j1c{yAq`Sv{U0y5>TuHr)JmSmEB`xk?T<=< zxB974Z;U~VF#x%!sJlu|u7W^jfD1DaEf5ao1#BIq`as%*cSW@8M?ha|CZ}R-xaQ|^ z%tn(#uAp>nVJ`L@=#N}1=$&h^KX4U2@eDsZ#X`%rVbbx zvCQBk18pe-FIdTGV|&qHC+;3k4Kz{*4DnU!+VXIL{gk5SFB>Zm$l*+CF2IXmc1s+` zXS-EAqTqcKXFw|KcRsx*B?u%4STG+WP(h@>cS9yyu$Y?F$n3<^t3D&}{%z!o-*^zn z-d$v8V2EJuSOj?9TEQ8m>`&zV*JCM85T5{G*-pNw zOo+JPxyI{?3e3;#ozi1bY88gtWR=nzhd5vTwY7_R&Mdg_VC2x8M0;WN;-QEOmX#j(<4*9jF$4YjiXd(Yzh;0U7dvs zU~5kSBWZpsBWK}aF97LfI4De@-1{IuvaI{gH@BfLL(bv_P4~T=_smg=7OR%?auz~> z`Tsr1X_~Pr8tZ<)p9|GV-Zm2JGrJs<&&+Xdin#&!%3oEQb7OUE3s|9K?q%fegkyRs zid)$rfk*$!+kkh0-YWqL#g_b*DiUHRMGO*SGh!*TFFmj)H!E4@KWAqSeF8IK>Yhf( zWcN~{8EAqj~kp_!NcocOb9h1nr`ilTITrsW)q z7KeQqW_*aq)Hu1iC(HgaI3qTh%l)RJZXt24Dd9zA60D^aSp{(LDjT=-GuPEZU(PbW}&+G+%!*)W%(Lh|pc@Dj zp18^J!=h@hl%Be#D!@R1u16pD4=aQnh<4il&bm>nKKRmM%#3S^GOESZQ~qh4cCpDX zF8Q4Ij-mZZu01VZRc9=7dQ*Jqrkg(duQhtMq_JYIhT<6OXp;@tmVy^6EHwaF&p5g+ z!b|b=_mo1@Y*jqm#ySAoM#(WsbU!NgcS0NS|7=jRP?OwKmmT@U(+rnmun>8kdRsbg2*85 zcrilD)+O1J?&ouvsih4eDP4EX4+^C^O3Ju$Uvc`&UD^lw#AH0_}YU_*cVutA{aU|;5sq|?_nHlbyiyj(s) zrT_Wdrq=b@-f`w~B|*azp6V`%=KT%q8{6f^?`K(xMDEy5{Jj_zSRgH_&!pver_0(ccv(uoy9OMR}2yySJxb z#n@-2I^sgM4NVAge*W3{h&vp<@jmULZw6ux9!t@+Zc}GuX2#>5;>O||C|c<{(^Nkw zkcx#T91*`h3)`oKbZgKao<*~N4}{}DfBCKu-L7Roj!Rn$PZI%_Rtnz`lLx3C_T99} z648@jycf@Sy1ctF|5gJv${tKA9TURS5-S5MD+VPjD{dXn7rPr8Hjoba#ZH^t4(g5h z?-l#rzjfpK8v!Fo^Z?Uq+_@cS?k-J$S(}i`-kXtOMOC0}D?H@R!_j^32=$2lBn<8AYt_E2oMmUP5a#aqbBIF9AB_ zFGhIL{nuo8a;k)5lQu)8BtvE98cU=r8z%I3(I^p0Dp*+KW0vVoRVO(pbiSy{^&yP_=PM*%-f(0 zUieg>O$+0l&D*lIZf1hg!AzGPl@-U^>4pW22h%}U%g9( zNk+eQ7ORe|!te^)UE00(ijQw&p?ry%50cR1G>_5&^f>7# zO!?`E#FqJ6BQ{nFx|~>;q5thA)4^Ds+{7bK;p7FTb8X3ihbVF)ir; z>gVNGzSdkq5#*XxzXMN$jmIeNd)9Usv;Ct!0IRvj`&qW?f9op$@?QYXU5lG>4BE-q z5dB{m@9~TBUY)CFdzwJi!ZE)o<~GY?F;G+#8`+oiwW%+cefof0daK)D3bFRetmMCe z*8h2^xCd-T`0oyi{S98zY@G-r$X^cg{eeE;B(%s>+8?|+sxfRYka?+QP< zV|puIPmx0TQI|bIP(JXd?<{ZzAvWc{-o7~qv<1NZj%uMydXo{UZxZ_23kya(4Lr11 zwN(t?-5^E(+%hM9IKaLZa=K8SNlYBsIi#_p{fv zkf%GqWP_akVqZIXU?A2IH0E>xE~xV?2;h9SXB;;vY~4fpHhj!7NL?mN*Y&%ntqxE6 zT2wU465nOeJK3`rP+~4dG{5XjO~^QF1f;0|w#XeOYC6E>Yazpa9`x#rnmqz?PmbC8 zj-^0k&NcSesIS;60NzAtt0oGg%Uv0%M1K#tWu|iw!iTh0Aedpg%zJ8un6)0xy2D8u`t8$A?x?TUg74nxI2t~-8>v+~Pd8{%2LUx&13K|6vAiou-+r=R zsRUp09FQ3Z1ijBUs#v;tRblQ(R&=chkWLvkp83981W?}*K z?#YNc;$B*f?bw4C;cqIUUC+HU29AYkaRaC&JJol8Tpy1^3KE!d>D;#dd{;aX~&?UZ+ z5G4iL!T-qr*b7*_N5DcYqHc=}3*?Fky=i)V1a&hr27(NL^t;`D@~T*m?@X}Vx21e{ z8Ki)L_yc5Vte9yL=#`Zuhynvsf(RLN+ zWEU_St-_!X$%|_adJhimW6M#SPBTd!e zkJp(2(u=B4u3y~?Rx>AzXx$g}eS&PEX%U+zWkOqgWOP!1J)0+xGtJNW#!haBuN{rg zZWlt3jL?lPu|3xFoDE0F5Ax8HJv5<$6F(cAGaPI@+cqusR4G~dapU;h$`BaeskH{J zY6))2OlNJA{cX?x*%^w$;$#~GM~AvFjBsX-tkZ4gwwTsN1G&YOo_4y(vH&mq`(O&M z_G7|gS8BB9T@`8irX|6rrlAPOe5sirRZ06jPjTMh`bYA2w^Af**2a z!;}vQxIo{Sz>aF-y6yd1tWp3xerD&@+6-iN8>9T&hZO!9`a&Rl*~y2fLWpaTha6AE zWV7f;S?`VpIt7-r1@B;Rv%=!dGxTaV zzACe}ojRdC&SkeZC&8JKM>WLkz?T}DgX2+6wca^6{~5w)2}O2R5v%h`DyCj0`MjXa z%k=5f#Ur-Xv;aGuN++{YbNTJhqr@GB%X95VUtp!r9gY2z*Rl%tkDp@#4{niMqb^cG zHsVuTE%c&)rPIT$Hbg=7?s#J9Kmk&l!iBKk?M@gk928H2+I@7(?(i3 zSuI%TvLTwiUZnQcDP6pz;UA5E>WvM~8i z`$85gHBS!(5a#78qwcu8JmZG^Q7N<8<7FM=a)HM2?C5aL-KBQ5sJ=)g{9eqxA$Wz5 z%CGGvCV%XA=dgRSzLMb7fwn3?^cEQMSoUlAc%f(_wX+pkQ$DBN+qW>KD!7S9b0gi? z71N-AmqnXo=?I=IM-R8pIe;H0vP6f#0^q)WGT8)P*9IAGNAie5QJ@Sn8+`cLGj`qy zVp~EXSrVK1{1L~!D`M?2Pdc!5Ma#+cs4eV=wL%J0VV4OrIv zUikgq@I1CT$FJ*G0l*19Lt1AzvBF+%u@`L&z1QNJj!~Y?HVN^$hEXO7KG?e5Lh zfob$6iy+UDvRfIOc}Q10W%hKlO|3Ig~yYW?%b~+!o z0p^O$WT>gXRh`6JL6z_{pXDxELE?m~zzjfU@oB;{j zIBd31Kp!PT>!kXr(KuTZ8Cv^lH}l9~G}~jK#(cy5StZ@wWmE;cx9ZF6>dDyg#?L|3&<8DDMQpPh1Q)_l=! z>p3v&bf@Z&^tOU+WYN7UsfjgP-+4)AH$b8gk$ti|?Xy+kyhzGkGq4D(#0pU1GY;*9 z{4jh)A0ouSF-3ssRd+C+0s6B{^xScfVp~j$l#k}x45bW8{O4?;O^j$^)qeW6o={qlx3%zn?ry;CvSjYIJCC_`w2dbx zLC2Sff~--<>{UjNiD+Z8-y(-UIZvC?TCSOFpuP`)RrVDkjUV+fed54AHF@k@qr$iiMeG*CD&WB2K8oy?P&8 zcslD^?b!+UHDFb?k+T3A8VeNdh!#72tuKm!syj}X~T8aRn9!hoRD++Ocmh<__^+?<4`bTTc4c1X1m zKOrEI5CX)$>*IQR^Wc8*5zOTLHjh6sx?6<{xzn(3?Ku9(l~munTT)D6jy&2V_?>KK z`N3vh$Hw|RF-zR2UQ2Ix1xx^jlk&xn=kt-=IO0~dS}mg z#b0Zh2ws(2ZsD|c6N5@3v&#j z{V0i|D8z2PsJnSF0d?;Mg_-vpb1igi73=XmXX(nB`ahLX z8=26d#y8q!C%1wK))0H~#7M|M7zk zC?WdS6tmp9n{tchCj+N3afSe+{<{~&%6nP<=s(|sFI?s`zNZpi z|H>)}C=(j_rDVyi0!jfm`#Z^zQUl_zFDD-$ZaPl+LW^;^jIWd4SZsy6k6jmnbjFw=!6YcULA=F(do zL*~beTi=6yH$}yRL)fZ+PS9x+oaG9%L(T}@88dCN!+~4|&Vq_=&*EZNRCU7kkE@mK zC(Uc_;X`4O)E)7UJePY1P7h;biIu1Jn%-N?fx8V*;?RsU+NK^jGWG+CNA5@R<(x7- zFQJKA{r6b^%>XNxZ4jFNdChd1q}9~>QMm9H)HlIjNp=8ni|h*<*?RhvKz1HBgtIN0oMaB?*d zaTiY=SmzP7y~W`)&!Gl-0@w`b<~2m688ZnB0muEBAdh=0prMIgZ?3yUCBI*qZgm-? z1A|KAz$$HgL5k!f1D!kT0t9s7i2A}MQjPllCK#s?ArTzn zvTYFxd=9wMC!p2_=WK3rZ*p)}*KXmPPUD#dG`DyyHAl!*x|1hKpl`p<8TAEPnYfHk{zCXl6FxATVw^MB~hOP{8s zLIO#>9#*J4(3QhkS88*p{CIBAW5%(=EDGamHb|&BIKKd>s?q+5Fo&9!>&X(NS{rk{>DezN`IZrbTH&A+0Xcql=VsG(S>eJKE zjREC?QJz1Ru5Z#ii~IE6C41|>ke=`a=KzNV92})%-?W`se-wQ@gWNJ5z*|h>;TWG; zP(TC#?6w4w_+-ERT#cgm`)bu^`96w~E%>pIIo=LpdWzsn`VKP#ACDhDC|UdMOF59T zAUpG=ZTY3v#nj`C$JrkXrow>@r*CV2wrG`BcF!W{;P^1>XzRrk>GV~y&lA8lLH6}C zDa}smv89XxmRojU5Y+b?;db0|d^y0&@gUQCo5)ILIQ7dmm)10+V!f2f$Zq~J_syxM z0Em=}!!I-A`Hjr!+KGvBBqI01xUYFgtQaDjHmx+sUTL0OEys56i+_2j3ZQROlU;C@ zEcG0)Tr57ZYooJ|&#zu|24Q-e&XXbAL0{wI*rV7`sDfkL0)N< zJc?R1B}nS1H|TiXI|6NU{p6#5tJTlEWVKDg0)7bOI&(@{SgUUX zQpki6eJ_v#Gnto^G^yP%dMZ10=U_{{>7FEbnznCtQ&jLO%G%B@TG^gjB7a}W_aFto zxjLPgb5!rfxq3^EibS&>V3c{tix|XPZndUd!+#itS#uG@k6OQc77Njf{W1fEs8Yes z1L9JXqoZ!b?D%1Yy+I-2 zj11BEi(2|~AcVau>F0M+c*L3~IYpeRElA9@BVFNwNzOn*M#ho4ILZ2cUEaszpSrzV z26$>XK!CE83O=K7CwxxXB3UzV1X*F~N*>in4@E^kuc|kZ;fo6Ne|}8r0JJ+UI&|d8 z*0YAZ-h=X~bhteATaTQ*;xH1JEk&~V2JxAj6td%^56@ta{3;A?YUy=bj;74b<#rp+ zl(VuRHaqUmfeB`t!=p1-yj1V-Z+%3Z`odPc(2kCo=d0LHSdg1Beo)4i(3rn2-f@dw zrtd@VMcHJYo=D^aY8tzzWvHSYyNDJ5VIU0P%GY}|3udJ|8@vk?MUcKPRt#;tcpt~V z+B{El@%2q9Y5a^vYd{LT1G)DME8bp;0U zI<47|10a;FivX|Z6S_u7{Y`?+`yZzh?zZ#ICuT1^31xY0^NQu`<-)JD93?F=Z`O-j zV%(k=AV1(CJ}lq%Kkear)TGALUUPSozw_W5vr2%MbWjVg1`z|@#h&zaN z{PE!&MJ<#y!9l7~-ukpBS2)@_E!CJO1mty3s2)4_6u6(Cg)G`|Gnly^>Izb-?c*)%LV@aqtZSt+~Z*YzK+Vt9v zdWj(ou=c*>tw3LeOJ^v;$u8;-{+1kSE0aimFw=D! zc(+XaS|Q`C(4R6favp~jDNg#mL5%R2pOSkk2`){csJ0++cCEZZ)9cmDaVw360Q{@v zZso<(jAN~rU&%S2e#QAkR;ByuHzM2fc6{Rp>}J_W@$_RP|IdC771InxH^}+v`}_5lZ0`6)Lc&kb`^)V6T@>-0R4^ z@Bm^EH_ZI<`nTT6jKh*1mam=Yi)yaG25U*NK}Ca7i2Ce6|Jph)QW3pfNPW!0+E;VE zlVl-MU7A=5B)j=f1C#KOswcSho9WghUsAfo{5}0elf1~mn1b64qWf(?zHFG#^HmTh-l`C+=85w=$zy7ffKAjK@U=W;{AHs+{)4A#3>>D{Z+$xOB z(K|8MOeN3EJ*G5A3r1t7t>L?(oc_U~QnNYJ2P**H)CE&>)c9mS#M>1JQ_H9lIS;V_ zoML)udo7EDQ^oQIi^`po&mOfO0~y&X=HN4@fltUWu)hFrSJwa5|MZDCUe2~q3feo^ z8LhDIXE;qp#t2yW$;WN4_otfd-q9egY1=^SaDZ9lk|Y`)`_Tn{9*1Z@wt9&aLdLeF8QOIOF?7LCQC)Bq5-q?Bb7b4;3qlwSJvWH%IcBKl;H zg7)c8f|(O%rnl+1X-Xb&MWNNft#R#`O-G+!&cem(`o}++$0n`}h%ru9C_4kbOxIJu z4+;5U18l*-=lX-ltJ9t2nU|ck)R$HP_je!gM$WUT9rzsFnmL)rkY6{$Y&D%4_ndRrC%m12dHCgxM)h(6lWQXw}>H@%`yCIFQR zfP{f823c2EEFLF)_ltO;tFi14F~_DwCXt)KSb-wXmwQ{N7zW72JBt9e%J;MD&m}H0 zLnpx5{QTD6oY(iaFBu_zIg4Mvy~fm$znTv}>8yi0ESQ_Dl4+6a><^tFU0*4JBEnv z9=3ok0u^lvz#Zim0v5%`>XmyxyU51dg&SV7+i#hufw<}SsT7l5jXJf>EW>kkX9&0t zIp8`cXHND>%|8BZ`^Hn*{V0eanWZ=o0DLJQoXn(Ii3KL}Bo^%&0Fwy5TVG140GAn7 zaGuQ2_GG%$HI8QJA-es`C$XI%`V3hY-ARu;38xkkIThdRVZTvH3jnZgAiwg;W_1Z7 z4GHb<-9QsoSE7L*P8hshlfd5qZB!^X?|p{AYjN&gB4iJN*&*Y&Ld_Ml84biMU5SkL zEl_s$g8clQ5ug>2S|M{ulK~SN14w`$ufx#F&e(B=Y~!TW|5m)TtU6fnMC0_~on@H- zL=^)EOz15oz2K6`Nt?P8Q2KvD2G!6sBI|;5&EfNa_PqCptK(TXKrfQ>#B7#Y+sBzN zhRIVOqsPA*#2veU7om87uJ}Ii&cSfK3NV8wR8fFv`+7R)a5HY5c!ZAIIjy=GwjOjW zgv3k&T^N2p34$~`q^Y$)w=Amc4?+VKYd!=mz?hE-^95MB88_GAZ_K*^+#Cm;7DpbW z%`WUT&OmKcgD~qYTV=536fb9mV?Z7*TO39C-0@%B4Ica()3w>P=?lPLJ~O^^26aY0vrG|bipx&ey| zs>FZo*BaVXUt^h;?Zx+b9nMKoI~mj~%S_=1>xmF?E~jgVqj@u}#%D3Ec(>);cbNd$ z+YB%uG7kW#hs!!9OmApmv=6ttMyZ0>oa=)_LjvD0ZWaVh_*_lANTJnOx*kb2NMH^h zGSiBG@gUY6(=m;tHu2VSJj_}>na}IMU(rME72S<}s4RtZ$9Im+eOOjuBW*8>Yt{Q( zq)v;&^rohu3VRfCfAI4KnkvO_tu8*f<*Y%9^(4Q?i^;H?A&;Td zr6fFn;M`rzs#UX#>&&X#dUX%Z;z|r#k2q?v?n-reHuFsS9@)p}Usfiz%iBQeHVb0B zBrD}AH(7cviWW)CYLT6MF73~H42?MED9Li;+1>TVRC&#WqJY=V^0L-^48U|23d-8= zWX2p0N*4$jfn@~){AYI7OWPd;=OFuC^@s*I0I#XDi6W13*yaijZ8}S~lv9yIeQd3X z5ywN37fS=$%rQ*SMz>nlJEP%8ofa~L8IrRT(SV@Co7J$-JUmeEGLGQT58TpmUT!rbKj_`Xz1K2;i32t&&dE-vkA4epuuv$B1hD<9&Sx)Z z^^^rFB+E{`i<3Pv{Cyy-lk|u}!8$Aq3aejg5ekfVd30VR*Kg{0BcgnKF;mQa;qCAJ zQPqvFek9F%!3sGq3`AHQuxxg6XJu6QJBmA8x%=>TT_!nj*U#}DedGCc^TpAyI$SYM zkhl@e%&}AI1l8pw(pl2kGvwz~KjQ_yfP&U31yGCb&;xZP;Oh(pi)A4w_03p#(a9If zsWTU=sC1r;-?;{SUEz53D*N|lC#{3eT)y+SW+z|qWWR;~tr_rjp61~f?cbZ7w3hqr z{Pn-z)VNM=hB|1kr73_EI3Bu}cwH_I8}SGX1|lmTKVyt*t$sHXfP1^;aq8F2DV=z4 z_}w-`duM!Kj*#!<2{>n_42)GxR3)--{apkgPYp-ERbfj=C$^BYN6U` zPl8O=3PI_)ChPpEzpFs^bRqm$uDp4B&G#tP_BVM~(vMFy$W83N& zIQl_D)h;->nUNRPn*g&EoNxR)N#Ry!#jxhbY7m6w8NGVd`|+!kyCTsSlDfx^MzB+@ z*$XJectegMLi24qG=Tsh{3Y#B2kKQGFYcphH8hL3v>Dea+r6(sa~ivK`4%tK3j1G} zM0kX>!h;SSHizk2&->}h-XBXY0e!31J#OS#Yzl5(==cd!m!{EGOJoNKj{5H{GF2p> z2JUa99{pyibl>+Ozx@r4rxEv}P+MO&GRs<-NQtG+2y4H`S^RII@N)ocF-vGD-%vWK zI*Wl>(!ajm_p3aJGM0taUMNjcG_A(jW<&=(ykbQeW-uixntmi+-K;#p$VmY3@P=4EcQV*9%wAKDmZsdhFK}Uc_{n z+W1+$t4;J-7Ku5cKB7ldrD3C)vMu?KIULe2es6s1h9r#nLnhB#C7RJPp@JBx(a=xpD!nYKv;+%h|qq zL-OThlbCoV8$`x#5&}_I%ptn&Wmli|j^8M4v|sCVnV4GCmp0&q3b{&SI?Va$RP{Og zbjul<-8BY_QIHo~@ty_7g3xnH(MxIzCF4nnvzw6Y$9-}kr6H{=j;{+jJ_3u zOtt}iXfF9p^~PY_h4j+QZj@4gpt;pq)Phx&BnN{t zcXR}@_`1q$QU^eC_v3$5)<+}WJ{hNEMe)QP0JqPIyK_HB!chZPTPaP4o*kN3 zZjL%#bxB9Of@`kEA&pN(mvB)e9cmLcRxPfd-5Xr1|6S$=6@0Vn%2xVE!|zxePVw25 z8z`ePylTa7QP1^+AWq1flH>l3BR?upBPDvB-7&eG1@&Si9mmgyAR#iSPFY2n$WXc# zUf145sn8qWzjwq|kRxz8xOK}~wBq}mwpOz$O;V?){dy?7O80yBK5D9xH;)YPyKv(h zXa?bSI#}-}f9Ks;NfogyLmcHB26L(aks5>BE30 zzMls(pDD+0WaZC#I?P!}H_Tq<7*ha^GurS|KKi9VBvY_kTHE_4RHH&V4GajK2GrYn4coEekV+hzdOLVnod_16r zSLET=^L^vZ>&@9A>)k6H$pyy3iS_j4-g>q|w&ZQ$%11@j6juh=7%}!1TKP>VSJ5Y+ zCb^t!_wf8e(AOuzJq~?O#S?E?3^T7WKy+t;%Ak}ck4&Jckk&3!RBy1NLbOXdpUTy0 z#pZOWI05CM>YgXMfoBIlzB7V?_Z~E=^_Y|)ZgPBp<>(2mzMk3$n2k-GQr$n%Fmvg4 zWt+IC3=#^hy##XOS-*J!t|_3K<$Z%)gcyD>2%~&cWv!|nmZ^MM4X6y?yz#wod!u;%om3kj;vk>-<--WvJJz5ensc4n^keK8 z9Uwm-Jl~z$*a9w{=VEi^NYgQ}lSss_KepD3$x^3+rIPydN0-$bxF0;Qk+#b>{(v5Q zOK8=x?+b6}up9uZD_5|vB6~Eb;4@qBn^hq9mpSsg^i$Bda@PwK=sHafK9 zT|FRONJy7m-+Mm$N#m+sp>nMYO7sGgESul?-~d=xJ0hHXM$77qbTRWykQ%Hv`JlQe zu=Wd)>yw|U*?n!ZfqSBKMb6zB0N|{vbz=FR zx4Q4HiwHH!<>ZSJ0SPqL`fL2)6Z>-mbWht~qA%U!E9b2g*Hq2Z$U4bA2Fk?$m$l1_)h)vzBk=azeI z!m*rVvNfZ}2W;JgKd5L5w6f@)Oowr`X8r!2F#gk_0z9K+r}&z{L%&+nrv5)&pXl+G z?WZq^E2Co{na#-l?o?F)Z*8f87p@GZNI$%_;4ZeKLnmlQIi>~3mSDya>)1RszZJp1 z_+&18Kv8xUh~9x@Lo&D2-X$OhAjlRGxX|!7FYb4DY-t1t<$oo21S**n=fr^22XTM< zFP`8>VIYeCGqa>+!}J%&(Bt8!^I8v<0KFS4c`cm&Upjv=40MiY5Na0B=$_xX>P+z$ zAF>*Fn5w~TwhvTnF{T-WgE5_Rf9bh${-m18l-hSvbKLQeJn{AZbWbgvfbw?c_D3%1 z;fhZ=)XcdkJ_A@Jx!3;IyjqH&S%c4Jv{2Jt3-gh7wZGE<(gu{~G+vMu zSnPaiJ2_yP6R4S9EQT;RBd(i+2}aWROMgDb`OA}w)rGK{rNrpoS{A?M9Jrw0N)ATQ zZ#{<^hy`Y_C@6$KdnQ!%YVd_?!G6LZiJ+r~rnBASvWN9Si&3X~FxuT+?8s-G*EHa)nBf#&0eM>;ZAdFh4|W`tj8_Kqo|iKE5Mh8JORfwQK!K{G8qt zeNU4NBi;ZkLw##CeF*lOK1LAkeDw6htBPS=jA+y^xj-<^!^o4xXyly zF;3QYZBD#>75`w&KrjUlj7gJGeCDK}ZH8XWJAapPw9y3li2KilI}^JWWTJ~O^&HUi zHp@HztDh&O`g(tKLoTt^MsKlX^5uYW5{aQDGo~)CmIjh@5rHI=!<(5O{|GCtDAv(C zJ;`)OJu%4i8UWJ=>~UV<&`mCEqmb(<{J21(Gpz$?-M=jqxa@uAChHb2+#*Pgh%x%E ziu|P)(>i6R#dC6=V|wQTH$z$t=tM;Ad#_4YTp|WkE^f_t5$W#8GG|FGQ;@k|DsGUb zegI?%B|cf?(*C(lzbSh+f$F?}_41QmR>dFm#68!pC*N*A*|gS82^hlS59Xtv6l9QJ zEA1cgw5;$i?KO701d7`Q3oji2R+*M|Lxk@QL^2vOZ{mi>>IG1yA}m_1AQyk$(3KXQ za=I&ZD0CF2azH#QA@_&5v)6bOOyrYrbiicN$mKlhO9_GCdd=#+G=Q70mSPUR(Vo6} z&TNpbFUvo|EH~E=d+TpOT~75C?K;V|eDG>AU|*sFeqM|+#|PU1B*I}e#U}UN;6R1I zrh_fDfUf0=5IEz$JcfLX;9E3zl5Ol|l!X;cv0}!KR{HtYtL-m?{JftpWn-3Rsm8sW z`ohYfWMIzz!N62!*aa13le^n{y{vQbxtQk!5F zNSL#@I`Tk!53>%G0;^WP7lDppqVF?)cqdgziXK?nh+Vyasr6GJ4y6zW(v}eqWGA@m zA7)>J4(G)VGdbTs{MJW2-pjtVh&L;h2w1B1gsxwuy%feYcGnENu}HmJ8Xt!zNH^?* z4nMc+K8@AhuJGQOjq$f2PB<`>3{$}m1{M^K;Gatx3Czd2+!Wn*Bh_A|5U0fhd$8YP zTr)0c(O?Ya4ra0d;foDqcD5A;^$uNVb!2I67KTtI($0M zku?T`M}B~Rd7Y>1jRpa6e^c4Ac)7-(!RSPds{-aj0j2YSquwzQ85IGMDQ3O`Lmn#j zVePh4=2q319Z65t>n72we9i|gK|aeNvK{H7Lbn14q-lI2de(ec3%R%PorH#yqW9F0 z!_-EC4a8g*i@LvTL^YZmWU05mq^-KyxH}ErWQrW@BR0U4v z%2Mv@r+7^FWZ~h)$RpN)-5+s=#?pCtYDkk|hU1=PoYhoDjEef^vbI!!+$3zD;}-Im z1U2jFf9&+m;%Q%PycYufC^kV_!pIaVphW^ z!V^QR>&#%v4D@JvDII3(!*kqKGZjHt87DzvItncONb3eB&fjw$HMtS<+EF3XNz{&# z0!#_x>lRH3fmT%+%c{kn}UB0f#a+DzQ8N(uFqMIa>9{VYs^8ws9~X+*3>P5R;11#C&n zIWleEw`m*miHeR*Sw4dZ+0)(8KyvZ&Ew{;n^=jX<6w?5N@^&@HqyAiCkv^1|+_FfU zb8DeAegD&o99h5R9V*{NH^CdLH$EIR6QkkYi3HlbuKI{pFD1+sr$~@-`H|gtRM6X! zz)hWi_V&ec_N}xg_Bqk8b6$Hf7JfWUR`{i_TFw)DQb^9JW6{JcoUB-;4?%Ev$at$^ zr$A_u*|+-R`gtJfyh(wiHzIH$95+7&Yery7EROL87R#NJG{`YJ<`=j3VNE&)elLH* z?6j67gKvWmYqLgZVq^{p^Kj(;0N4Y^m30D}k)+ z0d%nqG##QiQbtj`xe(spzvc)3*40Qw3j%wV(r)AD5m~X}HxbXW8gE(*+{^F*Z=;Jj zwh0xo#P$S*hBGbj#nAi}qCaK}+9{@9fv2)EwfOSC?0-n(k7SM#>!Qq-PQ1 z@_o$5>X)}*pDk%`SjrdyC_^kB=Vy#44qQz|m?3`ppolbCvj=;C@BFw2#+%E4}uHAGEjoGOpXl>%_YMI*)wr8?Jq=kW?$Phz+5|f z+?sBHQuqQY2U6ELiyhS)fCPbX{NX!|sUGc2I|eSUBrsZ{gl(vv7?o09G?r2{hB{a( zKANj9Mbcm9JHIH^fmhm7ChT4|(2}Z`IB1m<4`W!5CBSb67P;)FcNJJnj$m-R0jVA> zfji#{oPi9C?7r7_%5FoY_sh#1#_3~?suP^&aJ6mO#{b~TW#OZ7Y=4%;Y{ z%`!cp84qj|`&cM^MVX*tKtKIOZvxAQsu2f?rwfI0}I5-0OSU+f0aeLBIE%ztlZ1Q&}-d6W{>1cJA*Q zc6vN{=UQ#6LQ-PiW)69u*(`Z|i&F1~ZK@2|i!EV8G0e6FKC`KH;p}0z?>2PRcr&sY z?UA7PjZujINP>k=k1mcsj$CGyt-MWSG3UVqe!*YW#?4HusY*MoYz<}JwmYwwZY*jv z;JqUzj*FV%oa?3(&f8HK@UxNl@GO8)>7WzlqAct!ZN3=rIkj%M_&An6C1i5u4s#O@ z)U&xvN_F5|>C)+zQL5r%Ut3ge4yniH8BfqrB2sD9oN~cWHFGjD=7#|*r2FNVWS9i? zsn#5E4}Z`QTQQF7EMK8$A9b0nHtCgPdoSfU`JNXz#V%VKuMuX@1u}f*&QU!X$c`rG zcm3GO)!H_gp4H>L+m#E25gzk58Q%B-6Uf_h7@0H*mHl^W z(sd2DO~@$_Kw{GFj{6f#qFFM;+S~&TtyRN9pSW?QEPHVGw~3` zisBHXIwp=*iO)Eabv{|Pbxqo>UnqW zGG3$F``|e|_KK4lG0{5Y3+!!mmSXO`b<&v{J4NeOPyo6HfC7(_cdZ0R>2FEf_8?U!yjMM?J?lX6Xt||Qmj9}3-hdwR@6sTm)gYN&R?VA zCYazYfZGthE2Ph5o}5EiE||+@B9QWZ>yZ+Kr6%`wwEo+Md_=NggT=*RvGi#m<95ao zWyl-0DKc$*$<^6ON$3vac!ohwfggIa>Fgm8I$DNlT|KQQ`{vuIfP9 zJ6p;xD-o|b$eTgGfXaa63?IA!AkoX+y7?<~*(nSJvW}aZhs&XOQf(uYc3B5T_12)} z0Y9=+qSQ&r!-YfVGs4J?Xuft-r>5X+?&ujCLv3t;yokBMEa~X%V5>Ts@U^gMXU_7_ zwP4wCYr3$`$<`V3(5hLcp*5>dErmL6Ir`;PO6nY63};C$3u_%$Z4cVU9C#Z%P)Cd2 z5l%WFWTyteHhv~I=(X)zTl0Gt>(#%w!C?z+Z(nUex4FANze0M!EY47MQ`1^6u~uK* zIkMA$MtH+No1h9hOJUH)Rnd;i6z<#g!s_kJTdb>HYh%~x>_|3sWdq2VQzPLXWpv3O z1YzO(>m`7J-#Q!BtKW<=byEV4SCfY1Wv431baRw+Ifd)D($MmXkHxg{u54uD+o2JO zjnXaXrYQTbOme!K$1Tsr>y=KVC`jLIP^kN7qVo05g?O;4MBW3NmxlS}QpeH9<`GK^ z=n-vf4DJNtpu}F<=?oVJAhqa9+GQ2Z&iql{6c`7}ohNn9za@eG%gUYqWi{5SJ-M8d zQa8(s5%&L{%ItsLP=P-V=A(^>zvmp7P}DJW`CFx{Thr=CIZcfle-v|N^511g{ICf) zw`$c$r8B7tvf#6&z6vF3f(^HSR-4qx$t#BK0<4iwXD$AgNs0uPaW_UD37~#fy%a_Q3CHH1+cwM z-V}iqLh5;mkoUX2Id|R-2bF9S=2U4nr$m3wi=fod)`S*N=%z; zdE#&-^hD>pdVYSTF4_7-iFH#U)^pfH0(ShVje7+tk>cJ$6qKb|!{`IAYVp1kWfh3_ z1ezHp5c9jp%d^HWe--g;b>!w+L6v17tOH*6zW?FiH%p6`sGM>>{?3F; zDuF5Y@mCnzcXRJm51_amJL=MHe{zWE98A2LF|f+4w}gUv-IMMeDF1#fD;Gwy@B7|@ z>8KHO9;hdwvoe_DOMyxQR$%z1^S*D7?p7Z(Z-60S#Qc?fMSJ>ftr~2hE0@_#W5h?h z@(hMSkqI=8$h-R3(38Qu_M1r94?)r-s8LY!K)f}O~(P;=+Nw*)*8S! zpMwA$4-LGycU{+3DWgU<_JK_^A()>g$@&bz@(D6K)3>G5x{`NV+fqxK(RlcOWH z%5?$-Bzc*18&_2W9jgl9`kf`Kaiwb-jBZZ)ip&m{E+D{TI79Q758w#6~Dp1T&|oBpn3u%d}DPd=mh-8)`| zx>eO6lzZ3&j{}8R%A9)D{iK^~l*9G2kY2ycmGwti-N_#uBW&)NBo+lc3=_EW^={(K za(3$}T<2ig*K3WZ)7?4oFnE$%y47@(_0(FEBxw!hKB{Qp^CC`UvDa6J$I7JCL|ecq zE`k)UqeCE-zQ0iKrc`C--8Aozw~{!pQTN!4Dzp17p#M~b)Q>G_dpA@url`#DsX6(D z2ZzBGXSp3q$lFJV5ej!e{xFJ*fb+(38n+f3u1uL+JgIzj)V+0-vl=>#dXaT$yobq| z3(3QXSvGfCtxqj8k>jb7kg8PEDyU>%Tm4owJ7-ualvbgCwpSd^q#9}vXEbW8*str~ z*8j=a?6WwM^9V4p-^m2^zktS3F}HN0o8pZJp(Z_ye4tW*e}T0388P{WI>>+FqoFE0 zxp45_j!(R-?1lLO>L7CD_73SB#f=F4Z)j?Ky+iIx_AogoPL+w@&{8$4Kt*H^4-XPJ z8Vf!_f)wPkJQ-mG&|VLgC(xbi%9$qj23BL=&bK|tM`yn;kwO2CTA-(x;UxFAc?V-* zmDtVcO4TYo@sFu%^|*$^p7%O0;jq%RSly={uJ!@?IO+VS3@euqY!Z42W!>z??7#@g<7lW z>lz2#WyBhZe>PJeB>u$Ou+xW$xK*^b_5AqMC|ls|c?b?Dv-Y2Qe@CYm6l+3y>h~OC zrcgaooq9-4`8?sZ2S|fmrluqH$a2nOWq4K1)eLF=1;K0vq7|XMu=e)>#kQ7bln4ieH z7cMqe^@{l7qaMFFr2!j@^df1~QIQd3>C#AkwMgQ8=4SkJHbEJ+r(VV6UWQ%m18QF1 zoiE_7e4q)?sCO?yd-s;E=-w+yjN9uljgWe2bq0J*+#p_?r_|`_LMhqn!76K^q-&d=mHt4R%bzaSvP_Pm2F|K{ncCAPN_9OP|6ccHF zPO}1lb?9-S+>DOa*J_6AhkKaldD~|FFe)}d%~Q`=f-5oU@3M4P875SpIZR~E39RY! zc#lqse&ExC4(^wU9JYY*Kj;Q2;E$oVo}!lD5Ro3`h0vKHA9e3#)n$^|OUzM6iMSL% z`?g-!Pf9CH))s5Zy^YbWNK-t0jIU;+D`Kbdk=WH|?y$?8HF^p52@W-#6)!Mi_cl@n zPB%!h&#U1Z2*T7HZ$5RCHJ1_=7>q_VO8N#X4nDe&dw;0h^~~uD_%IEpOfRflX#-MQNI(Y5nlMev_k zMdgVBBk!lQmF6A>PL4g_le}RUyM(F(E{V|5J}Gz{SsP$V$y z?LSfAZ7%S;@--UT=}J>{Yx6S^o2SVnio!m;xoASCLO%LTrVLkUN;&v?J-V_TV^u=EVq&5TZ1b*mzr6(5T%6g+feBOmTF9+>kg zOqM9NvraO0{yaMCgy&?Z4#kk9`;@;aq9y zds<^7wJZ7~E=@&`@DuaPU5lQpyW4B=Ep*Lrh`K_YYXTCrZNr>g_sB%Nc_O0aP6fD149 zn~BQ{sF1l^#f4&PD%Z3+rcfv8CEbA2Y;iw|G_b&{JJ1`pHj;iS0q-eQ*b&Z)-1GKQ zo^u^1pyk)hJ+j;cjNPKywa)DGPV04c!>n~3H8Rx(0^@R&VY5A*Wsz0Sv+t@@LLQeD zyMbym50XCtXdA~NloSxS4ly+9UpKksm1S-HasG${6bKO2Q<8VGDO5nwMbcBET#3xBOZLWAKRf6{mDW88P z%!~8fddwpdk+dE|!19Pv(Lh2<%EwpQ8`aF$>=~r<*FUBKr$FpowWdiH*WsEz&9h!G z`uT?wNAd8ey|r3NK!~JHuhdO6wEwB?M(@Z{cDc`;;{!`)%*LmRDSqGx$HK?no!`bkoW4dcPO`$VM>T z3jhFU81Y~~E6?(Z*%XNwu`6bWk|^)bOTJ)VY7ofGGW*&yFc_~?mn+Fu9ub(+bNBfc z__sda!r0zKkxin6JVXk+a(Q?v*YiR|s>(C>PXy_-MouROuKCy_+xF*s{EvN8Bi15G zUIRDL4pxEwvC|2d$v2?=IpBC*TYQHS&SH{pY3>DEUsL8-L(hA~d#>hi9wbl6u8-JI zflg2tB-L9j;(>Uq-NwFy8c;LX+q*BWv1z+%P!@?amaJ-Ij`yisS&)!aK!f!G!i4N7CZprP43Xz)1Ptzd2BcO@0c_x!w}0+T#Sa3jjPl~mPLuALYo!jd zHGT1E0!|Jil->dIGE2*GE5j0DKvCsq}uR#&2 zSZm;cuWCSy=pxRT*RFgPM{Ef!yWzs7a=u*n*65Pd<>s$rES#5WvaB-`7yW~!n&p^P zr(ZOpQ*gDbcS&CgjFE~>Ik*lp+yxGzr0(cIR4;1LrQuD(jeZ-D@Gcbfvm`(izro0Qim@a?xa zxg(jfoi#r%$a&$cpKq!;eURF2$4l>&4G?=3I%TH6lJd{&T9riJhbq4SXuIj|T9LpT z@1B90&{maL^wW>tnlasF;%2kUphTkDFNX8Q!QW4Y#A>k4D1;%g}C4Msry^N>>*B z%+3vzON>c9yTPVnI5#iZQl>GQ({$jF=hiFXFa#_PHJBl#Z+Rfc;8XoTEV+;*-Ly*p z`!nywLZBXR%! z<)B~S@cUFWPWWUao=>6|3n}Ho=cs>l!qaW+2KXQ{LVi=d?4OgyG|3G@=uKGKy$$N( z1WCIvVL1VNp?2<^^l?DKs?5iLuUui``KpOG!P|zuIPhT@U=jBcMYe`B=bqu7I%B>R z*2%=VKmOh}FH>&eg*L;cqn^)BK?kC4jNJW69KE%lS?R!3Lh*p{#*YE#FHsi<*@X&! zTy`tj&<-M@`<{%h8>m+w1BcF_)Vu@@pXH|-ukIy@r0%iml<&SlKx+!XP;S)O6}tAo zw*i0xHffuYL`3PzWIo!n+8mpk1BV63EvCV(77)}%2KrUW1iFBm)qB_PIUELt&6=Xk z_ZrujJKW8WL|BE6jX$WDz)*H~D_~7$R@k@Z+eM8moadEG#aC7t)Yr=6dTH|CB?yS` z^Vz!1m;!+;kh47Cf~FbwXk__v%5Y(ls`oBKYv(SkJFEJHgjybVWO}AOCso?(ITLff z{E@kg!OTd6gnG|&oun#bu99z-f_&?O-JgplU6e$4{IY=c341Ypjm{NU15a_$n$AN! zO22Ek)HjO==HXsc{t{gH8xW}o(y%t_tp{bvHaA(itunC^`l9kLDh^+Bz*8U>!kniN zQVjqk2J)CZkMCc%oN}6|$^Od-E>2n?M1bq!f~ElZt-!PA@LPW9g?ochxM4tC^_9`z z>0HrkzI}P<#NGbGqy0^C3Tcq&=9ZtiBk@)@1AyZBlV|koq{n@73c1~*#jn>mc64tI zbp>s8a%00Gk`eI5#V#S_5Q41Y@7y(sNl9<*TYJV@=DX{+JjiSG@GRK{iyzIOUKWDe zwddHOSD_|ut79Soly@lqfMUhG`VrtNI_ZEI3J(1U-oGS4F+p>SW9PjiF^_*{zAsa< zU_qhJIB`UKbpi!7zzclg|1+Nwtg_oY=@B#;OIyqh2NUQfXAwnWE|k{s{ez#E4L%Q< zn**XA@=K$L$r?@rm?>~P>OYM2HXzBd45?$+9P*-AI%-tfC4qRadlc)%YYXw1AI-+e z(j6E3{@5OgXM|zispjSU<5U9#EFq^sX-~-~Lw;Mu&*9+x$qO{Z(Ff8XR-O~ceVAOmvwUa#Z4F{tYcBqmAi#6{@sE8N5YSwmS-F$lhZ?NDO3x1fREaK1}hs zDMiLFx+C~%&CN?dQLD*I&Je&o6og_Ape!GshUR3U!(&6vVCcxqxIZL0S(1I`AE+m* z>l&@9(U6l@ckN}#UcB_sV40lUa!Syw&g1C7Hvpv|7TLx|7i+Gr_P@$H^LVKD?~ltR zMz$GCp|LMzYq@TT&}fEHwh$9SD6%hO2}33_Cw|J z>vr$&@%?@O_IBp|IiJtxyw90A=lQy4BfvZ>Izj=o$ZOZYR>8|r8oDta6@-1PR(2fw zhgHeP*-fQsn?ag{CLWB*YP+?q;(q=2r_aSEwel>T8Wg|wPci8=jHZPlVd?HgpeODn zGP}P@QRvGLKF@0{^v@|g&>7DB+(;?GI1G~U$t2q%l8K^AR@No*;Ns&nk3Z1yG*bYANl6>;2lFAE}g9*Pk3Bn)sfiZlC6#}cAe9R7e!a|VZXU2s;J0E@dIK%gNA^eX2-l|56?m&Ol!&ES<3Whdn+>$+8S5%bFUCz`Al;l zm@&?jaHWeZ5G=GU3`oq_J?bR2alo>*#uU-)^4znBy4J+KX;XR{Y6fu3q5oOx>TkXZ zh~&3hfS&-{X;w027f5ivIhkbzbSRFed)T$X5X@H_X&Io46eEjWuxu3f27{gdI0!1; ziBjAJ`k1$`Ym=4L(F7X}1asQ!kWCs;{sKZt2XJB+!5wY;?86P~nVeivf0qR`GD-Pj z4FCiD4QN!QKt?F+u(r3k7gI+=x2W)xu^l>jz>N;VPH)%~HmF47v&I|e$C^!YMfyLR z7;5pCujz;#64tWr4Vx=e4siX|p?6;D7H++2VT#KCUUGZVWn0Z*d%;*ES=btS!EmnH z*_5qqjBEx*62#)@F^RU&i~6AL@=^}3bm#2wYv0luS}O=QYq+*3L0lf6y&9R0#HM;& z1ssoatdOq6CTd&iv5YgmH++0(UyQUahefUcUs;0K3LkjnGS}%`ET?8}D}*&TUH#Xz zo6qIlWk%p}d?Qv(^aA6P^X9p7fV%Z^-^_8RDu?Zw6zG>M++R9kjw&hQH*pP$qO-Vp zf;h5qUSM0m+hX@^IQS7dd+UX3Uy0i(D=?9K{s%j(ISvk35UdnG09yFNiD(=rs!=$Y zwP6v$0w(ZBYlF#$bnhMAn=LJ^W6XPoZ4K=q?s){eb~-Y&O4Ajds(MRibi_9E99CTh z!tn)c9qAg?pz$59?*DzHnoMuH<8*lDDS@rYQBGF2@xZjtnHdJ_$ezC^*kLKd?~Owm z29I7+GKk~UvG|aFVQC)8c(5~C6(paAf!`k;sxQ~wK@A_$y0JZOd7@TAwtkv=MQH4) z0uUuwvLQczJa$&azxbqjvb80mA!y6xQRAs+v3*kx0??0B2!j}PL$eCWHflG z7TnY#w(IxGe%zjwCqR)-=TlSpaQr=c7liOSCu~no&lK5bmbN)n$IP*L8r5Y&@ z;8^#+@Xj4k+;GO~7o#)@#IQhtT~Ltaa2*(3e?=-sz7)?g=WscELMtO|=a&04zT^v+ z+f6`80WEk(>P-ELKp&LMCW!<{JJ$lLI2;oCH;&$N^?$Bfr)IxYXFNu;#HBu>P2B~m z@+0--*m|p%6=0BuP8N{2_ii_fRiCi;PBycs+!TdGihCbWQ;;(%IBa;gw?(w>+t$A5 zyy7^nVuL=OV6`)X)QgUJq@jbpEp=#G*~SxR?muq+bu76hE7;+MKuZl{*iWC@waQ61Z`J&kz<*?0tMi`Il-&J)g{7DMva|YHA1H5&;v=O zCjn8O0g)u;%h`L+{qmv9NPxFh#rXu9ZP>P7&+CJv6%u*0FzvV!V_Q<1;89B{dR+TT z!3Q5`jXU85;{MtLOEm8nex>1oGL*Ke&lDlB21VrME2h4BgZ~V?<}Ef@p#`NzJDGX5 z6!Z@GtW%J3n58=2_^~I285cs_RKC}^h7eU#W7hgL&;WAM7l&bqW<8!EekpzV@Z1BV zyAwB!+GFz~?!N5xkcmxZGb^wvWP_OtC%mF8Zip0iKwCap5X8 z%3NbK-~15X6798L0Co1rj0WF_;gs#YQ6ZLhFW^j zTKYwH%!z&&_q$Mj-<$G_SREE*_Zujp3-~SCWE= z>>&?bq8Bc6REo(}%=LPQv9rS`4$kq$tip$Z$i-L%r{0LQ4G``8JeTIPR<=>E-xUUj zI(G#KgGT|tiyEuys@}bAg`VUg)X#HAx$o|5XaBI%xGeg0mDYAFmL+?Uh(0)TgbfL}1rM{)PO=U?FW-U81B%v<|jfhe+XZhuvU$||v< zb&BE@Qsh@0_jQ)bBK|(zDo*`|aJZaNxir;CD-sxZ&OBSyrs#lhd*B)E4;_p7%&k}+2gFbshxmT)vzEfC_S zM;wOh+ z&656}s`al=d%x*InSc)O#q^}8aWI#pP#bkBQn%;K?A{|=3Woj?{DJhb>^mUF)azKh z75M^v_GN%#_Pgl6J2XuC4|^LrBES*-flt6NLsO}I7R0a1WW=g6vN^|pDltjzfhB+P zhQ+<-qS9zZ=&$qT4*gEVFW6i{&tDH3`SSAedc1Wd&l23kg?+P(%XF};(LgNDteD+J z&MJ1uMfcf5d|(Pg88NKsJ<$ltpzn|PRxIt)BzyT8niPZ6Ww{_vAzmGC40TOci0mG; z!8s=dHk3%QyWdA0H0SF|4vllRx$S;|hxS ziZv}ciELK<=cJYGPNf9;LlQ{}QmchXcY~KS-Ap*KA9N`gJS&s=99F7^XmEf2^j1Yc z;F7x~54OI^?~aXteFA9ae6=Ta2~K(id7k`g-FVTGJzaehI#lZmT{*m_#`7K-JH+dcNJpKIY^jfZr z5Skv9R@!8LN#h6sS`Ma^!q%(D($xIsM*_wKd?n3!CGCFF$@K!0Ma^sd7$%T`DYfH~ z)b)owm9}6^X+Wez^g?lnifKLVV^an0HHb<@_kM$$sY-G+eocR^3qiRWyPP5Pge zZS|Uu<-0$9kwGio-eiR|=f+s+_HBV~HU67@Q#%aK4_`p?zw|tD+<4pN z#(-Q;WMYr&ban7!*)GadR}hZ;_K3E9{<+btKMR;5#pFy*;K)#*=C+`3IODICyZ=+faKv|5{ zW&X+2k;HQcU;Lc;owp7n8eXewW8R2MNFD&fO&b5Z2`O}7oGVQ56goc*CWc#0_~$B9 za(~Qp#Qqgu$LBS1pFqx8vODq6%<#aqmX!S8b;1oNl#vZJ4%085Rn7v8Z|@lg#m_3h z%Mg;|>%=e8;5ML5ob- zXlHXu_`Wyg$R*}kWv4#v)hUgm+RlQ~ptzK}6Ok#Kg^y^3wc{fKjXT6|D?{5aoIcKk zNtwOMG&23&Qe{7+XWUaCiVrmmu0d#DhX_c!T$xy%`x1nW4J3MU-!9=bXc_3Qe(nxcr#{_}7iZ5N-u)~)7lU^>Bo($?7A<#6&!W7I zADtqtSBm`Mu}WLRK`-Uvc63e6YD)`kD>Jw{``J#bAA((Co5#RQc=dj`8?qF{FF(;s zl-3L4=GtPf4bdm$GuvLTi@_y_2=Dra#Sz@mETuMMuuCoS*Ck#_>m@$(?fQ@^KVLzA zVu3u)y||LXqcsv33>KVW@9~}B8;}9U(jt{do#(eA2=erbpY<5%$`FyDCWM?l19fzB zOa(@;f|S6Vg58I_hiZh#{iR@He_FdL1NSrOp$w5F+IIN=02SsmO#lD@ From f9f70febfcc406a0dc8d4570512018cd039fa199 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 23 Oct 2020 12:30:38 +0300 Subject: [PATCH 14/49] Updated scenario / use case docs --- docs/content/usage/use-cases/attack.md | 44 ++++++++++++++ .../usage/use-cases/credential-leak.md | 12 ++-- docs/content/usage/use-cases/ids-test.md | 16 +++-- .../content/usage/use-cases/network-breach.md | 8 ++- .../usage/use-cases/network-segmentation.md | 24 ++++---- docs/content/usage/use-cases/other.md | 60 ++++++++++++++++--- docs/content/usage/use-cases/zero-trust.md | 43 +++++++++++++ 7 files changed, 172 insertions(+), 35 deletions(-) create mode 100644 docs/content/usage/use-cases/attack.md create mode 100644 docs/content/usage/use-cases/zero-trust.md diff --git a/docs/content/usage/use-cases/attack.md b/docs/content/usage/use-cases/attack.md new file mode 100644 index 000000000..88041aae4 --- /dev/null +++ b/docs/content/usage/use-cases/attack.md @@ -0,0 +1,44 @@ +--- +title: "ATT&CK techniques" +date: 2020-10-22T16:58:22+03:00 +draft: false +description: "Find issues related to Zero Trust Extended framework compliance." +weight: 1 +--- + +## Overview + +Infection Monkey can simulate a number of realistic ATT&CK techniques on the network automatically. This will help you +assess the capabilities of your defensive solutions and see which ATT&CK techniques go unnoticed and how to prevent +them. + +## Configuration + +- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want to scan. Keep in mind +that ATT&CK matrix configuration just changes the overall configuration by modifying related fields, thus you should +start by modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, +post breach actions and other configuration values will be already chosen based on the ATT&CK matrix and shouldn’t be +modified. +- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords +and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long +lists means longer scanning times. +- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and +allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific +network ranges in Scan target list. Scanning the local network is more realistic, but providing specific targets will +make the scanning process substantially faster. + +![ATT&CK matrix](/images/usage/scenarios/attack-matrix.png "ATT&CK matrix") + +## Suggested run mode + +You should run the Monkey on network machines with defensive solutions you want to test. + +A lot of ATT&CK techniques have a scope of a single node, so it’s important to manually run monkeys for better coverage. + +## Assessing results + +See the **ATT&CK report** to assess results of ATT&CK techniques used in your network. Each technique in the result +matrix is colour coated according to it’s status. Click on any technique to see more details about it and potential +mitigations. Keep in mind that each technique display contains a question mark symbol that will take you to the +official documentation of ATT&CK technique, where you can learn more about it. + diff --git a/docs/content/usage/use-cases/credential-leak.md b/docs/content/usage/use-cases/credential-leak.md index 498e1ff54..93c1a27c9 100644 --- a/docs/content/usage/use-cases/credential-leak.md +++ b/docs/content/usage/use-cases/credential-leak.md @@ -2,7 +2,7 @@ title: "Credential Leak" date: 2020-08-12T13:04:25+03:00 draft: false -description: "Assess the impact of successful phishing attack, insider threat, or other form of credentials leak." +description: "Assess the impact of a successful phishing attack, insider threat, or other form of credentials leak." weight: 4 --- @@ -16,8 +16,6 @@ where these credentials can be reused. ## Configuration -#### Important configuration values: - - **Exploits -> Credentials** After setting up the Island add the users’ **real** credentials (usernames and passwords) to the Monkey’s configuration (Don’t worry, this sensitive data is not accessible and is not distributed or used in any way other than being sent to the monkeys, and can be easily eliminated by resetting the Monkey Island’s configuration). @@ -26,11 +24,15 @@ For this to work, Monkey Island or initial Monkey needs to have access to SSH ke To make sure SSH keys were gathered successfully, refresh the page and check this configuration value after you run the Monkey (content of keys will not be displayed, it will appear as ``). +## Suggested run mode + To simulate the damage from a successful phishing attack using the Infection Monkey, choose machines in your network from potentially problematic group of machines, such as the laptop of one of your heavy email users or one of your strong IT users (think of people who are more likely to correspond with people outside of -your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu - and choosing “**Run on machine of your choice**”. +your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu +and choosing “**Run on machine of your choice**”. Since Infection Monkey is safe, feel free to run Monkeys as a +privileged user. Doing so will make sure that Monkey gathers credentials from a local machine. + ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") diff --git a/docs/content/usage/use-cases/ids-test.md b/docs/content/usage/use-cases/ids-test.md index 89b1bbfb3..2dfcda1cd 100644 --- a/docs/content/usage/use-cases/ids-test.md +++ b/docs/content/usage/use-cases/ids-test.md @@ -13,20 +13,18 @@ The Infection Monkey can help you verify that your security solutions are workin ## Configuration -#### Important configuration values: - -- **Monkey -> Post breach** Post breach actions simulate the actions an attacker would make on infected system. - To test something not present on the tool, you can provide your own file or command to be ran. +- **Monkey -> Post breach** simulate the actions an attacker would make on an infected system. +To test something not present on the tool, you can provide your own file or command to be run. The default configuration is good enough for many cases, but configuring testing scope and adding brute-force credentials is a good bet in any scenario. - -Running the Monkey on both the Island and on a few other machines in the network manually is also recommended, - as it increases coverage and propagation rates. - ![Post breach configuration](/images/usage/use-cases/ids-test.PNG "Post breach configuration") +## Suggested run mode +Running the Monkey on both the Island and on a few other machines in the network manually is also recommended, + as it increases coverage and propagation rates. + ## Assessing results After running the Monkey, follow the Monkeys’ actions on the Monkey Island’s infection map. @@ -40,7 +38,7 @@ Now you can match this activity from the Monkey timeline display to your interna If you see orange arrows, those incidents ought to be reported as scanning attempts (and possibly as segmentation violations). - The blue arrows indicate tunneling activity, usually used by attackers to infiltrate “protected” networks from the Internet. Perhaps someone is trying to bypass your firewall to gain access to a protected service in your network? - Check if your micro-segmentation / firewall solution identify or report anything. + Check if your micro-segmentation / firewall solution identifies or reports anything. While running this scenario, be on the lookout for the action that should arise: Did you get a phone call telling you about suspicious activity inside your network? Are events flowing diff --git a/docs/content/usage/use-cases/network-breach.md b/docs/content/usage/use-cases/network-breach.md index 46aee7228..e315e49ad 100644 --- a/docs/content/usage/use-cases/network-breach.md +++ b/docs/content/usage/use-cases/network-breach.md @@ -17,7 +17,6 @@ Infection Monkey will help you assess the impact of internal network breach, by ## Configuration -#### Important configuration values: - **Exploits -> Exploits** You can review the exploits Infection Monkey will be using. By default all safe exploiters are selected. - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords @@ -34,6 +33,13 @@ all post breach actions. These actions simulate attacker's behaviour after getti ![Exploiter selector](/images/usage/use-cases/network-breach.PNG "Exploiter selector") +## Suggested run mode + +To simulate a foreign device you could introduce the Island server to the network and run monkey from it. +Alternatively, for a malicious agent simulation, you should run monkey manually on a machine that’s already running in +the network. Combining both, as always, will give you the best coverage. + + ## Assessing results Check infection map and security report to see how far monkey managed to propagate in the network and which diff --git a/docs/content/usage/use-cases/network-segmentation.md b/docs/content/usage/use-cases/network-segmentation.md index 8b418c1b6..4cea4002c 100644 --- a/docs/content/usage/use-cases/network-segmentation.md +++ b/docs/content/usage/use-cases/network-segmentation.md @@ -2,18 +2,18 @@ title: "Network Segmentation" date: 2020-08-12T13:05:05+03:00 draft: false -description: "Test network segmentation policies for apps that need ringfencing or tiers that require microsegmentation." +description: "Test network segmentation policies for apps that need ring fencing or tiers that require microsegmentation." weight: 3 --- ## Overview -Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to - isolate workloads from one another and secure them individually, typically using policies. - A useful way to test the effectiveness of your segmentation is to ensure that your network segments are - properly separated, e,g, your Development is separated from your Production, your applications are separated from one - another etc. To security test is to verify that your network segmentation is configured properly. This way you make - sure that even if a certain attacker has breached your defenses, it can’t move laterally from point A to point B. +Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to +isolate workloads from one another and secure them individually, typically using policies. A useful way to test the +effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your +Development is separated from your Production, your applications are separated from one another etc. To test the +security is to verify that your network segmentation is configured properly. This way you make sure that even if a +certain attacker has breached your defenses, it can’t move laterally from point A to point B. [Segmentation is key](https://www.guardicore.com/use-cases/micro-segmentation/) to protecting your network, reducing the attack surface and minimizing the damage of a breach. The Monkey can help you test your segmentation settings with @@ -21,8 +21,6 @@ its cross-segment traffic testing feature. ## Configuration -#### Important configuration values: - - **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define subnets that should be segregated from each other. If any of provided networks can reach each other, you'll see it in security report. @@ -32,12 +30,14 @@ its cross-segment traffic testing feature. all post breach actions. These actions simulate attacker's behaviour after getting access to a new system, so they might trigger your defence solutions which will interrupt segmentation test. -Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar menu - and clicking on “**Run on machine of your choice**”. +## Suggested run mode + +Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar +menu and clicking on “**Run on machine of your choice**”. Alternatively, you could provide valid credentials and allow Monkey to propagate to relevant subnetworks by itself. Note that if Monkey can't communicate to the Island, it will - not be able to send scan results, so make sure all machines can reach the island. + not be able to send scan results, so make sure all machines can reach the island. ![How to configure network segmentation testing](/images/usage/scenarios/segmentation-config.png "How to configure network segmentation testing") diff --git a/docs/content/usage/use-cases/other.md b/docs/content/usage/use-cases/other.md index b709d8ba3..71fc0cac9 100644 --- a/docs/content/usage/use-cases/other.md +++ b/docs/content/usage/use-cases/other.md @@ -2,7 +2,7 @@ title: "Other" date: 2020-08-12T13:07:55+03:00 draft: false -description: "Tips and tricks about configuring monkey for your needs." +description: "Tips and tricks about configuring Monkeys for your needs." weight: 100 --- @@ -10,6 +10,57 @@ weight: 100 This page provides additional information about configuring monkeys, tips and tricks and creative usage scenarios. +## Custom behaviour + +If you want Monkey to run some kind of script or a tool after it breaches a machine, you can configure it in +**Configuration -> Monkey -> Post breach**. Just input commands you want executed in the corresponding fields. +You can also upload files and call them through commands you entered in command fields. + +## Speed and coverage + +There are some trivial ways to increase the coverage, for example you can **run the Monkey as a privileged user since +it’s safe**. To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. +The following configuration values have a significant impact on speed/coverage: +- **Credentials** - the more usernames and passwords you input, the longer it will take the Monkey to scan machines having +remote access services. Monkeys try to stay elusive and leave a low impact, thus brute forcing takes longer than with +loud conventional tools. +- **Network scope** - scanning large networks with a lot of propagations can become unwieldy. Instead, try to scan your +networks bit by bit with multiple runs. +- **Post breach actions** - you can disable most of these if you only care about propagation. +- **Internal -> TCP scanner** - you can trim the list of ports monkey tries to scan increasing performance even further. + +## Combining different scenarios + +Infection Monkey is not limited to the scenarios mentioned in this section, once you get the hang of configuring it, +you might come up with your own use case or test all of suggested scenarios at the same time! Whatever you do, +Security, ATT&CK and Zero Trust reports will be waiting for you! + +## Persistent scanning + +Use Monkey -> Persistent scanning configuration section to either have periodic scans or to increase reliability of +exploitations by running consecutive Infection Monkey scans. + +## Credentials + +Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale +passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s +configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old +passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the +configuration: + +![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") + + +## Check logged and monitored terminals + +To see the Monkey executing in real-time on your servers, add the **post-breach action** command: +`wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on +the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. +Let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored +inside your network. See below: + +![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.") + ## ATT&CK & Zero Trust scanning You can use **ATT&CK** configuration section to select which techniques you want to scan. Keep in mind that ATT&CK @@ -29,13 +80,6 @@ There's currently no way to configure monkey using Zero Trust framework, but reg - To increase propagation run monkey as root/administrator. This will ensure that monkey will gather credentials on current system and use them to move laterally. -- Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the configuration: - -![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") - -- To see the Monkey executing in real-time on your servers, add the **post-breach action** command: `wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored inside your network. See below: - -![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.") - If you're scanning a large network, consider narrowing the scope and scanning it bit by bit if scan times become too long. Lowering the amount of credentials, exploiters or post breach actions can also help to lower scanning times. diff --git a/docs/content/usage/use-cases/zero-trust.md b/docs/content/usage/use-cases/zero-trust.md new file mode 100644 index 000000000..8499f8adc --- /dev/null +++ b/docs/content/usage/use-cases/zero-trust.md @@ -0,0 +1,43 @@ +--- +title: "Zero Trust assessment" +date: 2020-10-22T16:58:09+03:00 +draft: false +description: "See where you are in your Zero Trust journey." +weight: 0 +--- + +## Overview + +Infection Monkey can help assess your network compliance with Zero Trust Extended framework by checking for various +violations of Zero Trust principles. + +## Configuration + +- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords +and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long +lists means longer scanning times. +- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and +allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific +network ranges in Scan target list. Scanning local network is more realistic, but providing specific targets will make +the scanning process substantially faster. +- **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define +subnets that should be segregated from each other. + +In general, other configuration value defaults should be good enough, but feel free to see the “Other” section +for tips and tricks about other features and in-depth configuration parameters you can use. + +![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") + +## Suggested run mode + +Running Monkey from the Island alone will give you reasonable results, but to increase the coverage for segmentation +and single node tests make sure to run monkey manually on various machines in the network. The more machines monkey +runs on, the better the coverage. + +## Assessing results + +See the results in the Zero Trust report section. “The Summary” section will give you an idea about which Zero Trust +pillars were tested, how many tests were done and test statuses. You can see more details below in the “Test Results” +section, where each test is sorted by pillars and principles it tests. To get even more details about what Monkey did, + go down to the “Findings” section and observe “Events” of different findings. “Events” will tell you what exactly + Infection Monkey did and when it was done, to make it easy to cross reference it with your defensive solutions. From 68b6efa8b654c70fa8ed69653009f6671e062a89 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 23 Oct 2020 17:46:23 +0300 Subject: [PATCH 15/49] Updated scenario docs once more, removed IDS/IPS test scenario. --- docs/content/usage/use-cases/attack.md | 44 +++++++-------- .../usage/use-cases/credential-leak.md | 15 ++---- docs/content/usage/use-cases/ids-test.md | 53 ------------------- .../content/usage/use-cases/network-breach.md | 10 ++-- .../usage/use-cases/network-segmentation.md | 18 +++---- docs/content/usage/use-cases/other.md | 35 ++---------- docs/content/usage/use-cases/zero-trust.md | 33 ++++++------ 7 files changed, 59 insertions(+), 149 deletions(-) delete mode 100644 docs/content/usage/use-cases/ids-test.md diff --git a/docs/content/usage/use-cases/attack.md b/docs/content/usage/use-cases/attack.md index 88041aae4..ee2e002c7 100644 --- a/docs/content/usage/use-cases/attack.md +++ b/docs/content/usage/use-cases/attack.md @@ -1,44 +1,38 @@ --- -title: "ATT&CK techniques" +title: "MITRE ATT&CK assessment" date: 2020-10-22T16:58:22+03:00 draft: false -description: "Find issues related to Zero Trust Extended framework compliance." -weight: 1 +description: "Assess your network security detection and prevention capabilities." +weight: 2 --- ## Overview -Infection Monkey can simulate a number of realistic ATT&CK techniques on the network automatically. This will help you -assess the capabilities of your defensive solutions and see which ATT&CK techniques go unnoticed and how to prevent -them. +Infection Monkey can simulate various [ATT&CK](https://attack.mitre.org/matrices/enterprise/) techniques on the network. +Use it to assess your security solutions’ detection and prevention capabilities. Infection Monkey will help you find +which ATT&CK techniques go unnoticed and will provide recommendations about preventing them. + ## Configuration -- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want to scan. Keep in mind -that ATT&CK matrix configuration just changes the overall configuration by modifying related fields, thus you should -start by modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, -post breach actions and other configuration values will be already chosen based on the ATT&CK matrix and shouldn’t be -modified. +- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want the Monkey to simulate. +Leave default settings for the full simulation. - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords -and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long -lists means longer scanning times. -- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and -allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific -network ranges in Scan target list. Scanning the local network is more realistic, but providing specific targets will -make the scanning process substantially faster. +and usernames, but feel free to adjust it according to the default passwords used in your network. Keep in mind that +long lists means longer scanning times. +- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in +the “Scan target list”. ![ATT&CK matrix](/images/usage/scenarios/attack-matrix.png "ATT&CK matrix") ## Suggested run mode -You should run the Monkey on network machines with defensive solutions you want to test. - -A lot of ATT&CK techniques have a scope of a single node, so it’s important to manually run monkeys for better coverage. +Run the Infection Monkey on as many machines in your environment as you can to get a better assessment. This can be easily +achieved by selecting the “Manual” run option and executing the command shown on different machines in your environment +manually or with your deployment tool. ## Assessing results -See the **ATT&CK report** to assess results of ATT&CK techniques used in your network. Each technique in the result -matrix is colour coated according to it’s status. Click on any technique to see more details about it and potential -mitigations. Keep in mind that each technique display contains a question mark symbol that will take you to the -official documentation of ATT&CK technique, where you can learn more about it. - +The **ATT&CK Report** shows the status of ATT&CK techniques simulations. Click on any technique to see more details +about it and potential mitigations. Keep in mind that each technique display contains a question mark symbol that +will take you to the official documentation of ATT&CK technique, where you can learn more about it. diff --git a/docs/content/usage/use-cases/credential-leak.md b/docs/content/usage/use-cases/credential-leak.md index 93c1a27c9..923335e34 100644 --- a/docs/content/usage/use-cases/credential-leak.md +++ b/docs/content/usage/use-cases/credential-leak.md @@ -1,9 +1,9 @@ --- -title: "Credential Leak" +title: "Credentials Leak" date: 2020-08-12T13:04:25+03:00 draft: false description: "Assess the impact of a successful phishing attack, insider threat, or other form of credentials leak." -weight: 4 +weight: 5 --- ## Overview @@ -26,17 +26,12 @@ To make sure SSH keys were gathered successfully, refresh the page and check thi ## Suggested run mode -To simulate the damage from a successful phishing attack using the Infection Monkey, choose machines in your network -from potentially problematic group of machines, such as the laptop of one of your heavy email users or -one of your strong IT users (think of people who are more likely to correspond with people outside of -your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu -and choosing “**Run on machine of your choice**”. Since Infection Monkey is safe, feel free to run Monkeys as a -privileged user. Doing so will make sure that Monkey gathers credentials from a local machine. - +Execute the Monkey on a chosen machine in your network using the “Manual” run option. +Run the Monkey as a privileged user to make sure it gathers as many credentials from the system as possible. ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") ## Assessing results -To assess the impact of leaked credentials see Security report. It's possible, that credential leak resulted in even +To assess the impact of leaked credentials see Security report. It's possible that credential leak resulted in even more leaked credentials, for that look into **Security report -> Stolen credentials**. diff --git a/docs/content/usage/use-cases/ids-test.md b/docs/content/usage/use-cases/ids-test.md deleted file mode 100644 index 2dfcda1cd..000000000 --- a/docs/content/usage/use-cases/ids-test.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "IDS/IPS Test" -date: 2020-08-12T13:07:47+03:00 -draft: false -description: "Test your network defence solutions." -weight: 5 ---- - -## Overview - -The Infection Monkey can help you verify that your security solutions are working the way you expected them to. - These may include your IR and SOC teams, your SIEM, your firewall, your endpoint security solution, and more. - -## Configuration - -- **Monkey -> Post breach** simulate the actions an attacker would make on an infected system. -To test something not present on the tool, you can provide your own file or command to be run. - -The default configuration is good enough for many cases, but configuring testing scope and adding brute-force - credentials is a good bet in any scenario. - -![Post breach configuration](/images/usage/use-cases/ids-test.PNG "Post breach configuration") - -## Suggested run mode -Running the Monkey on both the Island and on a few other machines in the network manually is also recommended, - as it increases coverage and propagation rates. - -## Assessing results - -After running the Monkey, follow the Monkeys’ actions on the Monkey Island’s infection map. - -Now you can match this activity from the Monkey timeline display to your internal SIEM and make sure your security - solutions are identifying and correctly alerting on different attacks. - -- The red arrows indicate successful exploitations. If you see red arrows, those incidents ought to be reported as - exploitation attempts, so check whether you are receiving alerts from your security systems as expected. -- The orange arrows indicate scanning activity, usually used by attackers to locate potential vulnerabilities. - If you see orange arrows, those incidents ought to be reported as scanning attempts (and possibly as segmentation violations). -- The blue arrows indicate tunneling activity, usually used by attackers to infiltrate “protected” networks from - the Internet. Perhaps someone is trying to bypass your firewall to gain access to a protected service in your network? - Check if your micro-segmentation / firewall solution identifies or reports anything. - -While running this scenario, be on the lookout for the action that should arise: - Did you get a phone call telling you about suspicious activity inside your network? Are events flowing - into your security events aggregators? Are you getting emails from your IR teams? - Is the endpoint protection software you installed on machines in the network reporting on anything? Are your - compliance scanners detecting anything wrong? - -Lastly, check Zero Trust and Mitre ATT&CK reports, to see which attacks can be executed on the network and how to - fix it. - - ![Map](/images/usage/use-cases/map-full-cropped.png "Map") - diff --git a/docs/content/usage/use-cases/network-breach.md b/docs/content/usage/use-cases/network-breach.md index e315e49ad..962878ea6 100644 --- a/docs/content/usage/use-cases/network-breach.md +++ b/docs/content/usage/use-cases/network-breach.md @@ -3,7 +3,7 @@ title: "Network Breach" date: 2020-08-12T13:04:55+03:00 draft: false description: "Simulate an internal network breach and assess the potential impact." -weight: 1 +weight: 3 --- ## Overview @@ -35,9 +35,11 @@ all post breach actions. These actions simulate attacker's behaviour after getti ## Suggested run mode -To simulate a foreign device you could introduce the Island server to the network and run monkey from it. -Alternatively, for a malicious agent simulation, you should run monkey manually on a machine that’s already running in -the network. Combining both, as always, will give you the best coverage. +Decide which machines you want to simulate a breach on and use the “Manual” run option to start Monkeys there. +Use high privileges to run the Monkey to simulate an attacker that was able to elevate its privileges. +You could also simulate an attack initiated from an unidentified machine connected to the network (a technician +laptop, 3rd party vendor machine, etc) by running the Monkey on a dedicated machine with an IP in the network you +wish to test. ## Assessing results diff --git a/docs/content/usage/use-cases/network-segmentation.md b/docs/content/usage/use-cases/network-segmentation.md index 4cea4002c..543b6e645 100644 --- a/docs/content/usage/use-cases/network-segmentation.md +++ b/docs/content/usage/use-cases/network-segmentation.md @@ -2,18 +2,18 @@ title: "Network Segmentation" date: 2020-08-12T13:05:05+03:00 draft: false -description: "Test network segmentation policies for apps that need ring fencing or tiers that require microsegmentation." -weight: 3 +description: "Verify your network is properly segmented." +weight: 4 --- ## Overview Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to -isolate workloads from one another and secure them individually, typically using policies. A useful way to test the -effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your -Development is separated from your Production, your applications are separated from one another etc. To test the -security is to verify that your network segmentation is configured properly. This way you make sure that even if a -certain attacker has breached your defenses, it can’t move laterally from point A to point B. +isolate workloads from one another and secure them individually, typically using policies. A useful way to test +the effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your +Development is separated from your Production, your applications are separated from one another etc. Use the +Infection Monkey to verify that your network segmentation is configured properly. This way you make sure that +even if a certain attacker has breached your defenses, it can’t move laterally between segments. [Segmentation is key](https://www.guardicore.com/use-cases/micro-segmentation/) to protecting your network, reducing the attack surface and minimizing the damage of a breach. The Monkey can help you test your segmentation settings with @@ -32,9 +32,7 @@ all post breach actions. These actions simulate attacker's behaviour after getti ## Suggested run mode -Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar -menu and clicking on “**Run on machine of your choice**”. - Alternatively, you could provide valid credentials and allow Monkey to propagate to relevant subnetworks by itself. +Execute Monkeys on machines in different subnetworks using the “Manual” run option. Note that if Monkey can't communicate to the Island, it will not be able to send scan results, so make sure all machines can reach the island. diff --git a/docs/content/usage/use-cases/other.md b/docs/content/usage/use-cases/other.md index 71fc0cac9..90c44a943 100644 --- a/docs/content/usage/use-cases/other.md +++ b/docs/content/usage/use-cases/other.md @@ -16,11 +16,11 @@ If you want Monkey to run some kind of script or a tool after it breaches a mach **Configuration -> Monkey -> Post breach**. Just input commands you want executed in the corresponding fields. You can also upload files and call them through commands you entered in command fields. -## Speed and coverage +## Accelerate the test -There are some trivial ways to increase the coverage, for example you can **run the Monkey as a privileged user since -it’s safe**. To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. -The following configuration values have a significant impact on speed/coverage: +To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. + +The following configuration values also have an impact on scanning speed: - **Credentials** - the more usernames and passwords you input, the longer it will take the Monkey to scan machines having remote access services. Monkeys try to stay elusive and leave a low impact, thus brute forcing takes longer than with loud conventional tools. @@ -37,7 +37,7 @@ Security, ATT&CK and Zero Trust reports will be waiting for you! ## Persistent scanning -Use Monkey -> Persistent scanning configuration section to either have periodic scans or to increase reliability of +Use **Monkey -> Persistent** scanning configuration section to either have periodic scans or to increase reliability of exploitations by running consecutive Infection Monkey scans. ## Credentials @@ -50,7 +50,6 @@ configuration: ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") - ## Check logged and monitored terminals To see the Monkey executing in real-time on your servers, add the **post-breach action** command: @@ -60,27 +59,3 @@ Let you follow the breach “live” alongside the infection map, and check whic inside your network. See below: ![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.") - -## ATT&CK & Zero Trust scanning - -You can use **ATT&CK** configuration section to select which techniques you want to scan. Keep in mind that ATT&CK - matrix configuration just changes the overall configuration by modifying related fields, thus you should start by - modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, - post breach actions and other configuration values will be already chosen based on ATT&CK matrix and shouldn't be - modified. - -There's currently no way to configure monkey using Zero Trust framework, but regardless of configuration options, - you'll always be able to see ATT&CK and Zero Trust reports. - -## Tips and tricks - -- Use **Monkey -> Persistent scanning** configuration section to either have periodic scans or to increase - reliability of exploitations. - -- To increase propagation run monkey as root/administrator. This will ensure that monkey will gather credentials - on current system and use them to move laterally. - - -- If you're scanning a large network, consider narrowing the scope and scanning it bit by bit if scan times become too - long. Lowering the amount of credentials, exploiters or post breach actions can also help to lower scanning times. - diff --git a/docs/content/usage/use-cases/zero-trust.md b/docs/content/usage/use-cases/zero-trust.md index 8499f8adc..de3e37d39 100644 --- a/docs/content/usage/use-cases/zero-trust.md +++ b/docs/content/usage/use-cases/zero-trust.md @@ -2,24 +2,22 @@ title: "Zero Trust assessment" date: 2020-10-22T16:58:09+03:00 draft: false -description: "See where you are in your Zero Trust journey." -weight: 0 +description: "See where you stand in your Zero Trust journey." +weight: 1 --- ## Overview -Infection Monkey can help assess your network compliance with Zero Trust Extended framework by checking for various -violations of Zero Trust principles. +Infection Monkey will help you assess your progress on your journey to achieve Zero Trust network. +The Infection Monkey will automatically assess your readiness across the different +[Zero Trust Extended Framework](https://www.forrester.com/report/The+Zero+Trust+eXtended+ZTX+Ecosystem/-/E-RES137210) principles. ## Configuration - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords -and usernames, but feel free to adjust it according to your native language and other factors. Keep in mind that long -lists means longer scanning times. -- **Network -> Scope** Make sure to properly configure the scope of the scan. You can select Local network scan and -allow Monkey to propagate until maximum Scan depth(hop count) is reached or you can fine tune it by providing specific -network ranges in Scan target list. Scanning local network is more realistic, but providing specific targets will make -the scanning process substantially faster. +and usernames, but feel free to adjust it according to the default passwords used in your network. +Keep in mind that long lists means longer scanning times. +- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in the “Scan target list”. - **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define subnets that should be segregated from each other. @@ -30,14 +28,15 @@ for tips and tricks about other features and in-depth configuration parameters y ## Suggested run mode -Running Monkey from the Island alone will give you reasonable results, but to increase the coverage for segmentation -and single node tests make sure to run monkey manually on various machines in the network. The more machines monkey -runs on, the better the coverage. +Run the Monkey on as many machines as you can. This can be easily achieved by selecting the “Manual” run option and +executing the command shown on different machines in your environment manually or with your deployment tool. +In addition, you can use any other run options you see fit. ## Assessing results See the results in the Zero Trust report section. “The Summary” section will give you an idea about which Zero Trust -pillars were tested, how many tests were done and test statuses. You can see more details below in the “Test Results” -section, where each test is sorted by pillars and principles it tests. To get even more details about what Monkey did, - go down to the “Findings” section and observe “Events” of different findings. “Events” will tell you what exactly - Infection Monkey did and when it was done, to make it easy to cross reference it with your defensive solutions. +pillars were tested, how many tests were done and test statuses. Specific tests are described in the “Test Results” +section. The “Findings” section shows details about the Monkey actions. Click on “Events” of different findings to +observe what exactly Infection Monkey did and when it was done. This should make it easy to cross reference events +with your security solutions and alerts/logs. + From 725c601e23afee17004b57c94afb4452801a1fe5 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 23 Oct 2020 17:46:39 +0300 Subject: [PATCH 16/49] Fixed a couple of broken links in the docs. --- docs/content/development/_index.md | 2 +- docs/content/usage/getting-started.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/development/_index.md b/docs/content/development/_index.md index deab32e6c..f4b2acc85 100644 --- a/docs/content/development/_index.md +++ b/docs/content/development/_index.md @@ -15,7 +15,7 @@ Want to help secure networks? That's great! Here's a few short links to help you get started. -* [Getting up and running](../setup-development-environment) - To help you get a working development setup. +* [Getting up and running](./setup-development-environment) - To help you get a working development setup. * [Contributing guidelines](https://github.com/guardicore/monkey/blob/master/CONTRIBUTING.md) - Some guidelines to help you submit. ## What are we looking for? diff --git a/docs/content/usage/getting-started.md b/docs/content/usage/getting-started.md index 63d2bbaec..958318552 100644 --- a/docs/content/usage/getting-started.md +++ b/docs/content/usage/getting-started.md @@ -15,7 +15,7 @@ After deploying the Monkey Island in your environment, navigate to `https:// Date: Fri, 23 Oct 2020 17:57:49 +0300 Subject: [PATCH 17/49] Added missing attack-matrix.png to the doc. hub --- .../images/usage/scenarios/attack-matrix.png | Bin 0 -> 161825 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/static/images/usage/scenarios/attack-matrix.png diff --git a/docs/static/images/usage/scenarios/attack-matrix.png b/docs/static/images/usage/scenarios/attack-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a040c1bd0f3a67392289c26b0f2622b1462d25 GIT binary patch literal 161825 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ʐ#qeprPxiRuWIzp|Ck?lAbuWp|XNR~k{r6hIa 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 TbPr{3{xtj3F1F}Xff@e=2Sl9J literal 0 HcmV?d00001 From a0dd69ee59b10aca0b5caed0ddae95ae9f3c0287 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 3 Nov 2020 17:44:08 +0200 Subject: [PATCH 18/49] Fixed list style so that link and description is on the same line --- docs/content/usage/configuration/_index.md | 2 +- docs/content/usage/integrations/_index.md | 2 +- docs/content/usage/use-cases/_index.md | 2 +- docs/themes/learn | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/content/usage/configuration/_index.md b/docs/content/usage/configuration/_index.md index f10d81ce1..0a3558805 100644 --- a/docs/content/usage/configuration/_index.md +++ b/docs/content/usage/configuration/_index.md @@ -17,4 +17,4 @@ This section of the documentation is incomplete and under active construction. See these documentation pages for information on each configuration value: -{{% children description=true %}} +{{% children description=true style="p"%}} diff --git a/docs/content/usage/integrations/_index.md b/docs/content/usage/integrations/_index.md index a7e2157f6..6f7dd52b1 100644 --- a/docs/content/usage/integrations/_index.md +++ b/docs/content/usage/integrations/_index.md @@ -11,4 +11,4 @@ pre: " " The Monkey likes working together. See these documentation pages for information on each integration the Monkey currently offers: -{{% children description=true %}} +{{% children description=true style="p"%}} diff --git a/docs/content/usage/use-cases/_index.md b/docs/content/usage/use-cases/_index.md index 389d5328a..836646100 100644 --- a/docs/content/usage/use-cases/_index.md +++ b/docs/content/usage/use-cases/_index.md @@ -18,4 +18,4 @@ No worries! The Monkey uses safe exploiters and does not cause any permanent sys ## Section contents -{{% children description=True %}} +{{% children description=True style="p"%}} diff --git a/docs/themes/learn b/docs/themes/learn index 4fdb70e36..045d78bc9 160000 --- a/docs/themes/learn +++ b/docs/themes/learn @@ -1 +1 @@ -Subproject commit 4fdb70e3639143076ce2cd7d5a69cc1df8e78caf +Subproject commit 045d78bc98540c9b96518df73c05fdb9d16507ba From 0848ba240f8c6d5811a4a70cc6609f951906f1d1 Mon Sep 17 00:00:00 2001 From: Shreya Date: Sat, 28 Nov 2020 22:44:15 +0530 Subject: [PATCH 19/49] Fix mongoengine version to 0.20.0 --- monkey/monkey_island/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monkey/monkey_island/requirements.txt b/monkey/monkey_island/requirements.txt index 7e7272a87..cef10fcb7 100644 --- a/monkey/monkey_island/requirements.txt +++ b/monkey/monkey_island/requirements.txt @@ -10,7 +10,7 @@ dpath>=2.0 flask>=1.1 ipaddress>=1.0.23 jsonschema==3.2.0 -mongoengine>=0.20 +mongoengine==0.20 mongomock==3.19.0 netifaces>=0.10.9 pycryptodome==3.9.8 From 70a899cc7dcf43989cbd745324a75ff473d0398e Mon Sep 17 00:00:00 2001 From: DeepSource Bot Date: Mon, 23 Nov 2020 07:35:14 +0000 Subject: [PATCH 20/49] Add .deepsource.toml --- docs/content/development/_index.md | 2 +- docs/content/usage/configuration/_index.md | 2 +- docs/content/usage/getting-started.md | 2 +- docs/content/usage/integrations/_index.md | 2 +- docs/content/usage/use-cases/_index.md | 2 +- docs/content/usage/use-cases/attack.md | 38 +++++++++++ .../usage/use-cases/credential-leak.md | 19 +++--- docs/content/usage/use-cases/ids-test.md | 55 --------------- .../content/usage/use-cases/network-breach.md | 12 +++- .../usage/use-cases/network-segmentation.md | 26 ++++---- docs/content/usage/use-cases/other.md | 63 ++++++++++++------ docs/content/usage/use-cases/zero-trust.md | 42 ++++++++++++ .../images/usage/scenarios/attack-matrix.png | Bin 0 -> 161825 bytes monkey/monkey_island/requirements.txt | 2 +- 14 files changed, 157 insertions(+), 110 deletions(-) create mode 100644 docs/content/usage/use-cases/attack.md delete mode 100644 docs/content/usage/use-cases/ids-test.md create mode 100644 docs/content/usage/use-cases/zero-trust.md create mode 100644 docs/static/images/usage/scenarios/attack-matrix.png diff --git a/docs/content/development/_index.md b/docs/content/development/_index.md index deab32e6c..f4b2acc85 100644 --- a/docs/content/development/_index.md +++ b/docs/content/development/_index.md @@ -15,7 +15,7 @@ Want to help secure networks? That's great! Here's a few short links to help you get started. -* [Getting up and running](../setup-development-environment) - To help you get a working development setup. +* [Getting up and running](./setup-development-environment) - To help you get a working development setup. * [Contributing guidelines](https://github.com/guardicore/monkey/blob/master/CONTRIBUTING.md) - Some guidelines to help you submit. ## What are we looking for? diff --git a/docs/content/usage/configuration/_index.md b/docs/content/usage/configuration/_index.md index f10d81ce1..0a3558805 100644 --- a/docs/content/usage/configuration/_index.md +++ b/docs/content/usage/configuration/_index.md @@ -17,4 +17,4 @@ This section of the documentation is incomplete and under active construction. See these documentation pages for information on each configuration value: -{{% children description=true %}} +{{% children description=true style="p"%}} diff --git a/docs/content/usage/getting-started.md b/docs/content/usage/getting-started.md index 63d2bbaec..958318552 100644 --- a/docs/content/usage/getting-started.md +++ b/docs/content/usage/getting-started.md @@ -15,7 +15,7 @@ After deploying the Monkey Island in your environment, navigate to `https:// " The Monkey likes working together. See these documentation pages for information on each integration the Monkey currently offers: -{{% children description=true %}} +{{% children description=true style="p"%}} diff --git a/docs/content/usage/use-cases/_index.md b/docs/content/usage/use-cases/_index.md index 389d5328a..836646100 100644 --- a/docs/content/usage/use-cases/_index.md +++ b/docs/content/usage/use-cases/_index.md @@ -18,4 +18,4 @@ No worries! The Monkey uses safe exploiters and does not cause any permanent sys ## Section contents -{{% children description=True %}} +{{% children description=True style="p"%}} diff --git a/docs/content/usage/use-cases/attack.md b/docs/content/usage/use-cases/attack.md new file mode 100644 index 000000000..ee2e002c7 --- /dev/null +++ b/docs/content/usage/use-cases/attack.md @@ -0,0 +1,38 @@ +--- +title: "MITRE ATT&CK assessment" +date: 2020-10-22T16:58:22+03:00 +draft: false +description: "Assess your network security detection and prevention capabilities." +weight: 2 +--- + +## Overview + +Infection Monkey can simulate various [ATT&CK](https://attack.mitre.org/matrices/enterprise/) techniques on the network. +Use it to assess your security solutions’ detection and prevention capabilities. Infection Monkey will help you find +which ATT&CK techniques go unnoticed and will provide recommendations about preventing them. + + +## Configuration + +- **ATT&CK matrix** You can use ATT&CK configuration section to select which techniques you want the Monkey to simulate. +Leave default settings for the full simulation. +- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords +and usernames, but feel free to adjust it according to the default passwords used in your network. Keep in mind that +long lists means longer scanning times. +- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in +the “Scan target list”. + +![ATT&CK matrix](/images/usage/scenarios/attack-matrix.png "ATT&CK matrix") + +## Suggested run mode + +Run the Infection Monkey on as many machines in your environment as you can to get a better assessment. This can be easily +achieved by selecting the “Manual” run option and executing the command shown on different machines in your environment +manually or with your deployment tool. + +## Assessing results + +The **ATT&CK Report** shows the status of ATT&CK techniques simulations. Click on any technique to see more details +about it and potential mitigations. Keep in mind that each technique display contains a question mark symbol that +will take you to the official documentation of ATT&CK technique, where you can learn more about it. diff --git a/docs/content/usage/use-cases/credential-leak.md b/docs/content/usage/use-cases/credential-leak.md index 498e1ff54..923335e34 100644 --- a/docs/content/usage/use-cases/credential-leak.md +++ b/docs/content/usage/use-cases/credential-leak.md @@ -1,9 +1,9 @@ --- -title: "Credential Leak" +title: "Credentials Leak" date: 2020-08-12T13:04:25+03:00 draft: false -description: "Assess the impact of successful phishing attack, insider threat, or other form of credentials leak." -weight: 4 +description: "Assess the impact of a successful phishing attack, insider threat, or other form of credentials leak." +weight: 5 --- ## Overview @@ -16,8 +16,6 @@ where these credentials can be reused. ## Configuration -#### Important configuration values: - - **Exploits -> Credentials** After setting up the Island add the users’ **real** credentials (usernames and passwords) to the Monkey’s configuration (Don’t worry, this sensitive data is not accessible and is not distributed or used in any way other than being sent to the monkeys, and can be easily eliminated by resetting the Monkey Island’s configuration). @@ -26,15 +24,14 @@ For this to work, Monkey Island or initial Monkey needs to have access to SSH ke To make sure SSH keys were gathered successfully, refresh the page and check this configuration value after you run the Monkey (content of keys will not be displayed, it will appear as ``). -To simulate the damage from a successful phishing attack using the Infection Monkey, choose machines in your network -from potentially problematic group of machines, such as the laptop of one of your heavy email users or -one of your strong IT users (think of people who are more likely to correspond with people outside of -your organization). Execute the Monkey on chosen machines by clicking on “**1. Run Monkey**” from the left sidebar menu - and choosing “**Run on machine of your choice**”. +## Suggested run mode + +Execute the Monkey on a chosen machine in your network using the “Manual” run option. +Run the Monkey as a privileged user to make sure it gathers as many credentials from the system as possible. ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") ## Assessing results -To assess the impact of leaked credentials see Security report. It's possible, that credential leak resulted in even +To assess the impact of leaked credentials see Security report. It's possible that credential leak resulted in even more leaked credentials, for that look into **Security report -> Stolen credentials**. diff --git a/docs/content/usage/use-cases/ids-test.md b/docs/content/usage/use-cases/ids-test.md deleted file mode 100644 index 89b1bbfb3..000000000 --- a/docs/content/usage/use-cases/ids-test.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "IDS/IPS Test" -date: 2020-08-12T13:07:47+03:00 -draft: false -description: "Test your network defence solutions." -weight: 5 ---- - -## Overview - -The Infection Monkey can help you verify that your security solutions are working the way you expected them to. - These may include your IR and SOC teams, your SIEM, your firewall, your endpoint security solution, and more. - -## Configuration - -#### Important configuration values: - -- **Monkey -> Post breach** Post breach actions simulate the actions an attacker would make on infected system. - To test something not present on the tool, you can provide your own file or command to be ran. - -The default configuration is good enough for many cases, but configuring testing scope and adding brute-force - credentials is a good bet in any scenario. - -Running the Monkey on both the Island and on a few other machines in the network manually is also recommended, - as it increases coverage and propagation rates. - - -![Post breach configuration](/images/usage/use-cases/ids-test.PNG "Post breach configuration") - -## Assessing results - -After running the Monkey, follow the Monkeys’ actions on the Monkey Island’s infection map. - -Now you can match this activity from the Monkey timeline display to your internal SIEM and make sure your security - solutions are identifying and correctly alerting on different attacks. - -- The red arrows indicate successful exploitations. If you see red arrows, those incidents ought to be reported as - exploitation attempts, so check whether you are receiving alerts from your security systems as expected. -- The orange arrows indicate scanning activity, usually used by attackers to locate potential vulnerabilities. - If you see orange arrows, those incidents ought to be reported as scanning attempts (and possibly as segmentation violations). -- The blue arrows indicate tunneling activity, usually used by attackers to infiltrate “protected” networks from - the Internet. Perhaps someone is trying to bypass your firewall to gain access to a protected service in your network? - Check if your micro-segmentation / firewall solution identify or report anything. - -While running this scenario, be on the lookout for the action that should arise: - Did you get a phone call telling you about suspicious activity inside your network? Are events flowing - into your security events aggregators? Are you getting emails from your IR teams? - Is the endpoint protection software you installed on machines in the network reporting on anything? Are your - compliance scanners detecting anything wrong? - -Lastly, check Zero Trust and Mitre ATT&CK reports, to see which attacks can be executed on the network and how to - fix it. - - ![Map](/images/usage/use-cases/map-full-cropped.png "Map") - diff --git a/docs/content/usage/use-cases/network-breach.md b/docs/content/usage/use-cases/network-breach.md index 46aee7228..962878ea6 100644 --- a/docs/content/usage/use-cases/network-breach.md +++ b/docs/content/usage/use-cases/network-breach.md @@ -3,7 +3,7 @@ title: "Network Breach" date: 2020-08-12T13:04:55+03:00 draft: false description: "Simulate an internal network breach and assess the potential impact." -weight: 1 +weight: 3 --- ## Overview @@ -17,7 +17,6 @@ Infection Monkey will help you assess the impact of internal network breach, by ## Configuration -#### Important configuration values: - **Exploits -> Exploits** You can review the exploits Infection Monkey will be using. By default all safe exploiters are selected. - **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords @@ -34,6 +33,15 @@ all post breach actions. These actions simulate attacker's behaviour after getti ![Exploiter selector](/images/usage/use-cases/network-breach.PNG "Exploiter selector") +## Suggested run mode + +Decide which machines you want to simulate a breach on and use the “Manual” run option to start Monkeys there. +Use high privileges to run the Monkey to simulate an attacker that was able to elevate its privileges. +You could also simulate an attack initiated from an unidentified machine connected to the network (a technician +laptop, 3rd party vendor machine, etc) by running the Monkey on a dedicated machine with an IP in the network you +wish to test. + + ## Assessing results Check infection map and security report to see how far monkey managed to propagate in the network and which diff --git a/docs/content/usage/use-cases/network-segmentation.md b/docs/content/usage/use-cases/network-segmentation.md index 8b418c1b6..543b6e645 100644 --- a/docs/content/usage/use-cases/network-segmentation.md +++ b/docs/content/usage/use-cases/network-segmentation.md @@ -2,18 +2,18 @@ title: "Network Segmentation" date: 2020-08-12T13:05:05+03:00 draft: false -description: "Test network segmentation policies for apps that need ringfencing or tiers that require microsegmentation." -weight: 3 +description: "Verify your network is properly segmented." +weight: 4 --- ## Overview -Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to - isolate workloads from one another and secure them individually, typically using policies. - A useful way to test the effectiveness of your segmentation is to ensure that your network segments are - properly separated, e,g, your Development is separated from your Production, your applications are separated from one - another etc. To security test is to verify that your network segmentation is configured properly. This way you make - sure that even if a certain attacker has breached your defenses, it can’t move laterally from point A to point B. +Segmentation is a method of creating secure zones in data centers and cloud deployments that allows companies to +isolate workloads from one another and secure them individually, typically using policies. A useful way to test +the effectiveness of your segmentation is to ensure that your network segments are properly separated, e,g, your +Development is separated from your Production, your applications are separated from one another etc. Use the +Infection Monkey to verify that your network segmentation is configured properly. This way you make sure that +even if a certain attacker has breached your defenses, it can’t move laterally between segments. [Segmentation is key](https://www.guardicore.com/use-cases/micro-segmentation/) to protecting your network, reducing the attack surface and minimizing the damage of a breach. The Monkey can help you test your segmentation settings with @@ -21,8 +21,6 @@ its cross-segment traffic testing feature. ## Configuration -#### Important configuration values: - - **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define subnets that should be segregated from each other. If any of provided networks can reach each other, you'll see it in security report. @@ -32,12 +30,12 @@ its cross-segment traffic testing feature. all post breach actions. These actions simulate attacker's behaviour after getting access to a new system, so they might trigger your defence solutions which will interrupt segmentation test. -Execute Monkeys on machines in different subnetworks manually, by choosing “**1. Run Monkey**” from the left sidebar menu - and clicking on “**Run on machine of your choice**”. - Alternatively, you could provide valid credentials and allow Monkey to propagate to relevant subnetworks by itself. +## Suggested run mode + +Execute Monkeys on machines in different subnetworks using the “Manual” run option. Note that if Monkey can't communicate to the Island, it will - not be able to send scan results, so make sure all machines can reach the island. + not be able to send scan results, so make sure all machines can reach the island. ![How to configure network segmentation testing](/images/usage/scenarios/segmentation-config.png "How to configure network segmentation testing") diff --git a/docs/content/usage/use-cases/other.md b/docs/content/usage/use-cases/other.md index b709d8ba3..90c44a943 100644 --- a/docs/content/usage/use-cases/other.md +++ b/docs/content/usage/use-cases/other.md @@ -2,7 +2,7 @@ title: "Other" date: 2020-08-12T13:07:55+03:00 draft: false -description: "Tips and tricks about configuring monkey for your needs." +description: "Tips and tricks about configuring Monkeys for your needs." weight: 100 --- @@ -10,33 +10,52 @@ weight: 100 This page provides additional information about configuring monkeys, tips and tricks and creative usage scenarios. -## ATT&CK & Zero Trust scanning +## Custom behaviour -You can use **ATT&CK** configuration section to select which techniques you want to scan. Keep in mind that ATT&CK - matrix configuration just changes the overall configuration by modifying related fields, thus you should start by - modifying and saving the matrix. After that you can change credentials and scope of the scan, but exploiters, - post breach actions and other configuration values will be already chosen based on ATT&CK matrix and shouldn't be - modified. - -There's currently no way to configure monkey using Zero Trust framework, but regardless of configuration options, - you'll always be able to see ATT&CK and Zero Trust reports. +If you want Monkey to run some kind of script or a tool after it breaches a machine, you can configure it in +**Configuration -> Monkey -> Post breach**. Just input commands you want executed in the corresponding fields. +You can also upload files and call them through commands you entered in command fields. -## Tips and tricks +## Accelerate the test -- Use **Monkey -> Persistent scanning** configuration section to either have periodic scans or to increase - reliability of exploitations. - -- To increase propagation run monkey as root/administrator. This will ensure that monkey will gather credentials - on current system and use them to move laterally. +To improve scanning speed you could **specify a subnet instead of scanning all of the local network**. -- Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the configuration: +The following configuration values also have an impact on scanning speed: +- **Credentials** - the more usernames and passwords you input, the longer it will take the Monkey to scan machines having +remote access services. Monkeys try to stay elusive and leave a low impact, thus brute forcing takes longer than with +loud conventional tools. +- **Network scope** - scanning large networks with a lot of propagations can become unwieldy. Instead, try to scan your +networks bit by bit with multiple runs. +- **Post breach actions** - you can disable most of these if you only care about propagation. +- **Internal -> TCP scanner** - you can trim the list of ports monkey tries to scan increasing performance even further. + +## Combining different scenarios + +Infection Monkey is not limited to the scenarios mentioned in this section, once you get the hang of configuring it, +you might come up with your own use case or test all of suggested scenarios at the same time! Whatever you do, +Security, ATT&CK and Zero Trust reports will be waiting for you! + +## Persistent scanning + +Use **Monkey -> Persistent** scanning configuration section to either have periodic scans or to increase reliability of +exploitations by running consecutive Infection Monkey scans. + +## Credentials + +Every network has its old “skeleton keys” that should have long been discarded. Configure the Monkey with old and stale +passwords, but make sure that they were really discarded using the Monkey. To add the old passwords, in the island’s +configuration, go to the “Exploit password list” under “Basic - Credentials” and use the “+” button to add the old +passwords to the configuration. For example, here we added a few extra passwords (and a username as well) to the +configuration: ![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") -- To see the Monkey executing in real-time on your servers, add the **post-breach action** command: `wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored inside your network. See below: +## Check logged and monitored terminals + +To see the Monkey executing in real-time on your servers, add the **post-breach action** command: +`wall “Infection Monkey was here”`. This post breach command will broadcast a message across all open terminals on +the servers the Monkey breached, to achieve the following: Let you know the Monkey ran successfully on the server. +Let you follow the breach “live” alongside the infection map, and check which terminals are logged and monitored +inside your network. See below: ![How to configure post breach commands](/images/usage/scenarios/pba-example.png "How to configure post breach commands.") - -- If you're scanning a large network, consider narrowing the scope and scanning it bit by bit if scan times become too - long. Lowering the amount of credentials, exploiters or post breach actions can also help to lower scanning times. - diff --git a/docs/content/usage/use-cases/zero-trust.md b/docs/content/usage/use-cases/zero-trust.md new file mode 100644 index 000000000..de3e37d39 --- /dev/null +++ b/docs/content/usage/use-cases/zero-trust.md @@ -0,0 +1,42 @@ +--- +title: "Zero Trust assessment" +date: 2020-10-22T16:58:09+03:00 +draft: false +description: "See where you stand in your Zero Trust journey." +weight: 1 +--- + +## Overview + +Infection Monkey will help you assess your progress on your journey to achieve Zero Trust network. +The Infection Monkey will automatically assess your readiness across the different +[Zero Trust Extended Framework](https://www.forrester.com/report/The+Zero+Trust+eXtended+ZTX+Ecosystem/-/E-RES137210) principles. + +## Configuration + +- **Exploits -> Credentials** This configuration value will be used for brute-forcing. We use most popular passwords +and usernames, but feel free to adjust it according to the default passwords used in your network. +Keep in mind that long lists means longer scanning times. +- **Network -> Scope** Disable “Local network scan” and instead provide specific network ranges in the “Scan target list”. +- **Network -> Network analysis -> Network segmentation testing** This configuration setting allows you to define +subnets that should be segregated from each other. + +In general, other configuration value defaults should be good enough, but feel free to see the “Other” section +for tips and tricks about other features and in-depth configuration parameters you can use. + +![Exploit password and user lists](/images/usage/scenarios/user-password-lists.png "Exploit password and user lists") + +## Suggested run mode + +Run the Monkey on as many machines as you can. This can be easily achieved by selecting the “Manual” run option and +executing the command shown on different machines in your environment manually or with your deployment tool. +In addition, you can use any other run options you see fit. + +## Assessing results + +See the results in the Zero Trust report section. “The Summary” section will give you an idea about which Zero Trust +pillars were tested, how many tests were done and test statuses. Specific tests are described in the “Test Results” +section. The “Findings” section shows details about the Monkey actions. Click on “Events” of different findings to +observe what exactly Infection Monkey did and when it was done. This should make it easy to cross reference events +with your security solutions and alerts/logs. + diff --git a/docs/static/images/usage/scenarios/attack-matrix.png b/docs/static/images/usage/scenarios/attack-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a040c1bd0f3a67392289c26b0f2622b1462d25 GIT binary patch literal 161825 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ʐ#qeprPxiRuWIzp|Ck?lAbuWp|XNR~k{r6hIa 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 TbPr{3{xtj3F1F}Xff@e=2Sl9J literal 0 HcmV?d00001 diff --git a/monkey/monkey_island/requirements.txt b/monkey/monkey_island/requirements.txt index 7e7272a87..cef10fcb7 100644 --- a/monkey/monkey_island/requirements.txt +++ b/monkey/monkey_island/requirements.txt @@ -10,7 +10,7 @@ dpath>=2.0 flask>=1.1 ipaddress>=1.0.23 jsonschema==3.2.0 -mongoengine>=0.20 +mongoengine==0.20 mongomock==3.19.0 netifaces>=0.10.9 pycryptodome==3.9.8 From 04e89411fbb80a8283c4ea0c4f0c4f4651a384ad Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 4 Dec 2020 15:44:40 +0200 Subject: [PATCH 21/49] SMB bugfixed to be able to exploit machine with smb v3, by not specifying preferred dialect for rpctransport --- monkey/infection_monkey/exploit/smbexec.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/monkey/infection_monkey/exploit/smbexec.py b/monkey/infection_monkey/exploit/smbexec.py index 153f64ac7..f3a7977a6 100644 --- a/monkey/infection_monkey/exploit/smbexec.py +++ b/monkey/infection_monkey/exploit/smbexec.py @@ -1,7 +1,6 @@ from logging import getLogger from impacket.dcerpc.v5 import scmr, transport -from impacket.smbconnection import SMB_DIALECT from common.utils.attack_utils import ScanStatus, UsageEnum from common.utils.exploit_enum import ExploitType @@ -121,8 +120,7 @@ class SmbExploiter(HostExploiter): for str_bind_format, port in SmbExploiter.KNOWN_PROTOCOLS.values(): rpctransport = transport.DCERPCTransportFactory(str_bind_format % (self.host.ip_addr,)) rpctransport.set_dport(port) - if hasattr(rpctransport, 'preferred_dialect'): - rpctransport.preferred_dialect(SMB_DIALECT) + rpctransport.setRemoteHost(self.host.ip_addr) if hasattr(rpctransport, 'set_credentials'): # This method exists only for selected protocol sequences. rpctransport.set_credentials(user, password, '', lm_hash, ntlm_hash, None) @@ -168,7 +166,7 @@ class SmbExploiter(HostExploiter): SmbExploiter.KNOWN_PROTOCOLS['445/SMB'][1])) return True - def set_vulnerable_port(self, host: VictimHost): + def set_vulnerable_port(self): if 'tcp-445' in self.host.services: self.vulnerable_port = "445" elif 'tcp-139' in self.host.services: From 55f4684e1e9f4375daa50ab19af4cbf644d35e24 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Fri, 4 Dec 2020 16:43:53 +0200 Subject: [PATCH 22/49] Fixed function call that had too many arguments in smbexec.py --- monkey/infection_monkey/exploit/smbexec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monkey/infection_monkey/exploit/smbexec.py b/monkey/infection_monkey/exploit/smbexec.py index f3a7977a6..c28887820 100644 --- a/monkey/infection_monkey/exploit/smbexec.py +++ b/monkey/infection_monkey/exploit/smbexec.py @@ -103,7 +103,7 @@ class SmbExploiter(HostExploiter): LOG.debug("Exploiter SmbExec is giving up...") return False - self.set_vulnerable_port(self.host) + self.set_vulnerable_port() # execute the remote dropper in case the path isn't final if remote_full_path.lower() != self._config.dropper_target_path_win_32.lower(): cmdline = DROPPER_CMDLINE_DETACHED_WINDOWS % {'dropper_path': remote_full_path} + \ From 5008b4eff061f9f7b6a461ced79e62af749a7d5e Mon Sep 17 00:00:00 2001 From: Shubhendra Singh Chauhan Date: Fri, 4 Dec 2020 23:06:56 +0530 Subject: [PATCH 24/49] Create .deepsource.toml --- .deepsource.toml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml new file mode 100644 index 000000000..2461cfb80 --- /dev/null +++ b/.deepsource.toml @@ -0,0 +1,14 @@ +version = 1 + +test_patterns = ["**/**_test.py"] + +[[analyzers]] +name = "python" +enabled = true +dependency_file_paths = [ + "monkey/monkey_island/requirements.txt", + "monkey/infection_monkey/requirements.txt" + ] + + [analyzers.meta] + runtime_version = "3.x.x" From 96d28b40afbb0b148b6af8e600e6c7d6e1bf0ac3 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 17:47:53 +0000 Subject: [PATCH 25/49] autofixe made using DeepSource --- monkey/infection_monkey/exploit/shellshock.py | 1 - monkey/infection_monkey/exploit/web_rce.py | 2 +- monkey/infection_monkey/network/network_scanner.py | 2 +- monkey/infection_monkey/network/tools.py | 2 +- .../windows_cred_collector/pypykatz_handler.py | 4 ++-- .../utils/plugins/pluginTests/BadImport.py | 2 -- monkey/monkey_island/cc/resources/monkey.py | 10 ++++------ .../monkey_island/cc/services/edge/displayed_edge.py | 2 +- .../cc/services/telemetry/processing/scan.py | 1 - 9 files changed, 10 insertions(+), 16 deletions(-) diff --git a/monkey/infection_monkey/exploit/shellshock.py b/monkey/infection_monkey/exploit/shellshock.py index f9548b6bf..edec8018e 100644 --- a/monkey/infection_monkey/exploit/shellshock.py +++ b/monkey/infection_monkey/exploit/shellshock.py @@ -228,7 +228,6 @@ class ShellShockExploiter(HostExploiter): Checks if which urls exist :return: Sequence of URLs to try and attack """ - import requests attack_path = 'http://' if is_https: attack_path = 'https://' diff --git a/monkey/infection_monkey/exploit/web_rce.py b/monkey/infection_monkey/exploit/web_rce.py index 0f489d0a6..f5db3e92f 100644 --- a/monkey/infection_monkey/exploit/web_rce.py +++ b/monkey/infection_monkey/exploit/web_rce.py @@ -56,7 +56,7 @@ class WebRCE(HostExploiter): Method that creates a dictionary of configuration values for exploit :return: configuration dict """ - exploit_config = dict() + exploit_config = {} # dropper: If true monkey will use dropper parameter that will detach monkey's process and try to copy # it's file to the default destination path. diff --git a/monkey/infection_monkey/network/network_scanner.py b/monkey/infection_monkey/network/network_scanner.py index 6abf409ad..95277b4b9 100644 --- a/monkey/infection_monkey/network/network_scanner.py +++ b/monkey/infection_monkey/network/network_scanner.py @@ -113,7 +113,7 @@ class NetworkScanner(object): :return: Victim or None if victim isn't alive """ LOG.debug("Scanning target address: %r", victim) - if any([scanner.is_host_alive(victim) for scanner in self.scanners]): + if any(scanner.is_host_alive(victim) for scanner in self.scanners): LOG.debug("Found potential target_ip: %r", victim) return victim else: diff --git a/monkey/infection_monkey/network/tools.py b/monkey/infection_monkey/network/tools.py index 049b30838..99b21d81c 100644 --- a/monkey/infection_monkey/network/tools.py +++ b/monkey/infection_monkey/network/tools.py @@ -139,7 +139,7 @@ def check_tcp_ports(ip, ports, timeout=DEFAULT_TIMEOUT, get_banner=False): timeout = int(round(timeout)) # clamp to integer, to avoid checking input sockets_to_try = possible_ports[:] connected_ports_sockets = [] - while (timeout >= 0) and len(sockets_to_try): + while (timeout >= 0) and sockets_to_try: sock_objects = [s[1] for s in sockets_to_try] _, writeable_sockets, _ = select.select(sock_objects, sock_objects, sock_objects, 0) diff --git a/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py b/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py index cba4c330a..35ff67678 100644 --- a/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py +++ b/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py @@ -67,8 +67,8 @@ def _get_windows_cred(pypykatz_cred: PypykatzCredential): def _hash_to_string(hash_: Any): - if type(hash_) == str: + if type(hash_) is str: return hash_ - if type(hash_) == bytes: + if type(hash_) is bytes: return binascii.hexlify(bytearray(hash_)).decode() raise Exception(f"Can't convert hash_ to string, unsupported hash_ type {type(hash_)}") diff --git a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py index d28a91a89..1377d75be 100644 --- a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py +++ b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py @@ -1,5 +1,3 @@ -from infection_monkey.utils.plugins.pluginTests.PluginTestClass import \ - TestPlugin # noqa: F401 class SomeDummyPlugin: diff --git a/monkey/monkey_island/cc/resources/monkey.py b/monkey/monkey_island/cc/resources/monkey.py index 0962e6dd5..cd570903d 100644 --- a/monkey/monkey_island/cc/resources/monkey.py +++ b/monkey/monkey_island/cc/resources/monkey.py @@ -87,20 +87,18 @@ class Monkey(flask_restful.Resource): parent = monkey_json.get('parent') parent_to_add = (monkey_json.get('guid'), None) # default values in case of manual run if parent and parent != monkey_json.get('guid'): # current parent is known - exploit_telem = [x for x in - mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}, - 'monkey_guid': {'$eq': parent}})] + 'monkey_guid': {'$eq': parent}})) if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) else: parent_to_add = (parent, None) elif (not parent or parent == monkey_json.get('guid')) and 'ip_addresses' in monkey_json: - exploit_telem = [x for x in - mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, - 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})] + 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})) if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) diff --git a/monkey/monkey_island/cc/services/edge/displayed_edge.py b/monkey/monkey_island/cc/services/edge/displayed_edge.py index f7a0664bf..9b9509ea6 100644 --- a/monkey/monkey_island/cc/services/edge/displayed_edge.py +++ b/monkey/monkey_island/cc/services/edge/displayed_edge.py @@ -63,7 +63,7 @@ class DisplayedEdgeService: @staticmethod def services_to_displayed_services(services, for_report=False): if for_report: - return [x for x in services] + return list(services) else: return [x + ": " + (services[x]['name'] if 'name' in services[x] else 'unknown') for x in services] diff --git a/monkey/monkey_island/cc/services/telemetry/processing/scan.py b/monkey/monkey_island/cc/services/telemetry/processing/scan.py index 43446126c..70675c995 100644 --- a/monkey/monkey_island/cc/services/telemetry/processing/scan.py +++ b/monkey/monkey_island/cc/services/telemetry/processing/scan.py @@ -1,6 +1,5 @@ from monkey_island.cc.database import mongo from monkey_island.cc.models import Monkey -from monkey_island.cc.services.edge.edge import EdgeService from monkey_island.cc.services.node import NodeService from monkey_island.cc.services.telemetry.processing.utils import \ get_edge_by_scan_or_exploit_telemetry From 079fa58d0a0c82076f6001ef4937a5364444e337 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 17:47:53 +0000 Subject: [PATCH 26/49] Autofixes made using DeepSource --- monkey/infection_monkey/exploit/shellshock.py | 1 - monkey/infection_monkey/exploit/web_rce.py | 2 +- monkey/infection_monkey/network/network_scanner.py | 2 +- monkey/infection_monkey/network/tools.py | 2 +- .../windows_cred_collector/pypykatz_handler.py | 4 ++-- .../utils/plugins/pluginTests/BadImport.py | 2 -- monkey/monkey_island/cc/resources/monkey.py | 10 ++++------ .../monkey_island/cc/services/edge/displayed_edge.py | 2 +- .../cc/services/telemetry/processing/scan.py | 1 - 9 files changed, 10 insertions(+), 16 deletions(-) diff --git a/monkey/infection_monkey/exploit/shellshock.py b/monkey/infection_monkey/exploit/shellshock.py index f9548b6bf..edec8018e 100644 --- a/monkey/infection_monkey/exploit/shellshock.py +++ b/monkey/infection_monkey/exploit/shellshock.py @@ -228,7 +228,6 @@ class ShellShockExploiter(HostExploiter): Checks if which urls exist :return: Sequence of URLs to try and attack """ - import requests attack_path = 'http://' if is_https: attack_path = 'https://' diff --git a/monkey/infection_monkey/exploit/web_rce.py b/monkey/infection_monkey/exploit/web_rce.py index 0f489d0a6..f5db3e92f 100644 --- a/monkey/infection_monkey/exploit/web_rce.py +++ b/monkey/infection_monkey/exploit/web_rce.py @@ -56,7 +56,7 @@ class WebRCE(HostExploiter): Method that creates a dictionary of configuration values for exploit :return: configuration dict """ - exploit_config = dict() + exploit_config = {} # dropper: If true monkey will use dropper parameter that will detach monkey's process and try to copy # it's file to the default destination path. diff --git a/monkey/infection_monkey/network/network_scanner.py b/monkey/infection_monkey/network/network_scanner.py index 6abf409ad..95277b4b9 100644 --- a/monkey/infection_monkey/network/network_scanner.py +++ b/monkey/infection_monkey/network/network_scanner.py @@ -113,7 +113,7 @@ class NetworkScanner(object): :return: Victim or None if victim isn't alive """ LOG.debug("Scanning target address: %r", victim) - if any([scanner.is_host_alive(victim) for scanner in self.scanners]): + if any(scanner.is_host_alive(victim) for scanner in self.scanners): LOG.debug("Found potential target_ip: %r", victim) return victim else: diff --git a/monkey/infection_monkey/network/tools.py b/monkey/infection_monkey/network/tools.py index 049b30838..99b21d81c 100644 --- a/monkey/infection_monkey/network/tools.py +++ b/monkey/infection_monkey/network/tools.py @@ -139,7 +139,7 @@ def check_tcp_ports(ip, ports, timeout=DEFAULT_TIMEOUT, get_banner=False): timeout = int(round(timeout)) # clamp to integer, to avoid checking input sockets_to_try = possible_ports[:] connected_ports_sockets = [] - while (timeout >= 0) and len(sockets_to_try): + while (timeout >= 0) and sockets_to_try: sock_objects = [s[1] for s in sockets_to_try] _, writeable_sockets, _ = select.select(sock_objects, sock_objects, sock_objects, 0) diff --git a/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py b/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py index cba4c330a..35ff67678 100644 --- a/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py +++ b/monkey/infection_monkey/system_info/windows_cred_collector/pypykatz_handler.py @@ -67,8 +67,8 @@ def _get_windows_cred(pypykatz_cred: PypykatzCredential): def _hash_to_string(hash_: Any): - if type(hash_) == str: + if type(hash_) is str: return hash_ - if type(hash_) == bytes: + if type(hash_) is bytes: return binascii.hexlify(bytearray(hash_)).decode() raise Exception(f"Can't convert hash_ to string, unsupported hash_ type {type(hash_)}") diff --git a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py index d28a91a89..1377d75be 100644 --- a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py +++ b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py @@ -1,5 +1,3 @@ -from infection_monkey.utils.plugins.pluginTests.PluginTestClass import \ - TestPlugin # noqa: F401 class SomeDummyPlugin: diff --git a/monkey/monkey_island/cc/resources/monkey.py b/monkey/monkey_island/cc/resources/monkey.py index 0962e6dd5..cd570903d 100644 --- a/monkey/monkey_island/cc/resources/monkey.py +++ b/monkey/monkey_island/cc/resources/monkey.py @@ -87,20 +87,18 @@ class Monkey(flask_restful.Resource): parent = monkey_json.get('parent') parent_to_add = (monkey_json.get('guid'), None) # default values in case of manual run if parent and parent != monkey_json.get('guid'): # current parent is known - exploit_telem = [x for x in - mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}, - 'monkey_guid': {'$eq': parent}})] + 'monkey_guid': {'$eq': parent}})) if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) else: parent_to_add = (parent, None) elif (not parent or parent == monkey_json.get('guid')) and 'ip_addresses' in monkey_json: - exploit_telem = [x for x in - mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, - 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})] + 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})) if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) diff --git a/monkey/monkey_island/cc/services/edge/displayed_edge.py b/monkey/monkey_island/cc/services/edge/displayed_edge.py index f7a0664bf..9b9509ea6 100644 --- a/monkey/monkey_island/cc/services/edge/displayed_edge.py +++ b/monkey/monkey_island/cc/services/edge/displayed_edge.py @@ -63,7 +63,7 @@ class DisplayedEdgeService: @staticmethod def services_to_displayed_services(services, for_report=False): if for_report: - return [x for x in services] + return list(services) else: return [x + ": " + (services[x]['name'] if 'name' in services[x] else 'unknown') for x in services] diff --git a/monkey/monkey_island/cc/services/telemetry/processing/scan.py b/monkey/monkey_island/cc/services/telemetry/processing/scan.py index 43446126c..70675c995 100644 --- a/monkey/monkey_island/cc/services/telemetry/processing/scan.py +++ b/monkey/monkey_island/cc/services/telemetry/processing/scan.py @@ -1,6 +1,5 @@ from monkey_island.cc.database import mongo from monkey_island.cc.models import Monkey -from monkey_island.cc.services.edge.edge import EdgeService from monkey_island.cc.services.node import NodeService from monkey_island.cc.services.telemetry.processing.utils import \ get_edge_by_scan_or_exploit_telemetry From 09d80e59a967676e0e3bd8c2dd5b290d35cf53ad Mon Sep 17 00:00:00 2001 From: shubhendra Date: Sat, 5 Dec 2020 01:32:45 +0530 Subject: [PATCH 27/49] Revert "Remove unused imports" This reverts commit 1c780a18fbea0414ef8f9c22c4265b547fc0668e. --- monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py index 1377d75be..d28a91a89 100644 --- a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py +++ b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py @@ -1,3 +1,5 @@ +from infection_monkey.utils.plugins.pluginTests.PluginTestClass import \ + TestPlugin # noqa: F401 class SomeDummyPlugin: From 9f48a54529a79756b96983f1c4ffba912a366377 Mon Sep 17 00:00:00 2001 From: Shubhendra Singh Chauhan Date: Sat, 5 Dec 2020 01:53:21 +0530 Subject: [PATCH 28/49] Update BadImport.py --- monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py index 1377d75be..d28a91a89 100644 --- a/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py +++ b/monkey/infection_monkey/utils/plugins/pluginTests/BadImport.py @@ -1,3 +1,5 @@ +from infection_monkey.utils.plugins.pluginTests.PluginTestClass import \ + TestPlugin # noqa: F401 class SomeDummyPlugin: From 32593b2105bc0dba7e6f7c3275faa946a4ae98c0 Mon Sep 17 00:00:00 2001 From: shubhendra Date: Sat, 5 Dec 2020 14:24:49 +0530 Subject: [PATCH 29/49] revert-Remove unnecessary use of comprehension --- monkey/monkey_island/cc/resources/monkey.py | 10 ++++++---- .../monkey_island/cc/services/edge/displayed_edge.py | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/monkey/monkey_island/cc/resources/monkey.py b/monkey/monkey_island/cc/resources/monkey.py index cd570903d..0962e6dd5 100644 --- a/monkey/monkey_island/cc/resources/monkey.py +++ b/monkey/monkey_island/cc/resources/monkey.py @@ -87,18 +87,20 @@ class Monkey(flask_restful.Resource): parent = monkey_json.get('parent') parent_to_add = (monkey_json.get('guid'), None) # default values in case of manual run if parent and parent != monkey_json.get('guid'): # current parent is known - exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = [x for x in + mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}, - 'monkey_guid': {'$eq': parent}})) + 'monkey_guid': {'$eq': parent}})] if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) else: parent_to_add = (parent, None) elif (not parent or parent == monkey_json.get('guid')) and 'ip_addresses' in monkey_json: - exploit_telem = list(mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, + exploit_telem = [x for x in + mongo.db.telemetry.find({'telem_category': {'$eq': 'exploit'}, 'data.result': {'$eq': True}, - 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})) + 'data.machine.ip_addr': {'$in': monkey_json['ip_addresses']}})] if 1 == len(exploit_telem): parent_to_add = (exploit_telem[0].get('monkey_guid'), exploit_telem[0].get('data').get('exploiter')) diff --git a/monkey/monkey_island/cc/services/edge/displayed_edge.py b/monkey/monkey_island/cc/services/edge/displayed_edge.py index 9b9509ea6..f7a0664bf 100644 --- a/monkey/monkey_island/cc/services/edge/displayed_edge.py +++ b/monkey/monkey_island/cc/services/edge/displayed_edge.py @@ -63,7 +63,7 @@ class DisplayedEdgeService: @staticmethod def services_to_displayed_services(services, for_report=False): if for_report: - return list(services) + return [x for x in services] else: return [x + ": " + (services[x]['name'] if 'name' in services[x] else 'unknown') for x in services] From 030b1c683e7c9d52c955903754af025794970670 Mon Sep 17 00:00:00 2001 From: Ace Pace Date: Mon, 7 Dec 2020 16:54:58 +0200 Subject: [PATCH 30/49] Monkey: Guard against exceptions while fingerprinting --- monkey/infection_monkey/monkey.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/monkey/infection_monkey/monkey.py b/monkey/infection_monkey/monkey.py index a15a06edf..3a19e40ac 100644 --- a/monkey/infection_monkey/monkey.py +++ b/monkey/infection_monkey/monkey.py @@ -170,7 +170,11 @@ class InfectionMonkey(object): for finger in self._fingerprint: LOG.info("Trying to get OS fingerprint from %r with module %s", machine, finger.__class__.__name__) - finger.get_host_fingerprint(machine) + try: + finger.get_host_fingerprint(machine) + except BaseException as exc: + LOG.error("Failed to run fingerprinter %s, exception %s" % finger.__class__.__name__, + str(exc)) ScanTelem(machine).send() From 330ad6540e16b74fcce7f7d29aed08eedef62771 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 08:45:49 -0500 Subject: [PATCH 31/49] Check if user is root before starting deploy_linux script If the user is root, we want to exit as soon as possible since any commands that the deployment script runs will be run as root. --- deployment_scripts/deploy_linux.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index d13478018..1f21fb758 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -23,6 +23,11 @@ log_message() { echo -e "DEPLOYMENT SCRIPT: $1" } +if is_root; then + log_message "Please don't run this script as root" + exit 1 +fi + config_branch=${2:-"develop"} config_url="https://raw.githubusercontent.com/guardicore/monkey/${config_branch}/deployment_scripts/config" @@ -62,11 +67,6 @@ ISLAND_BINARIES_PATH="$ISLAND_PATH/cc/binaries" INFECTION_MONKEY_DIR="$monkey_home/monkey/infection_monkey" MONKEY_BIN_DIR="$INFECTION_MONKEY_DIR/bin" -if is_root; then - log_message "Please don't run this script as root" - exit 1 -fi - HAS_SUDO=$(has_sudo) if [[ ! $HAS_SUDO ]]; then log_message "You need root permissions for some of this script operations. Quiting." From 6f0fffee078bd0e376346f742bff795362e36302 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 10:01:36 -0500 Subject: [PATCH 32/49] Fix hung timeout when checking for sudo in deploy_linux.sh --- deployment_scripts/deploy_linux.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index 1f21fb758..cea8d70a8 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -10,7 +10,7 @@ is_root() { has_sudo() { # 0 true, 1 false - timeout 1 sudo id && return 0 || return 1 + return $(sudo -nv > /dev/null 2>&1) } handle_error() { @@ -67,8 +67,7 @@ ISLAND_BINARIES_PATH="$ISLAND_PATH/cc/binaries" INFECTION_MONKEY_DIR="$monkey_home/monkey/infection_monkey" MONKEY_BIN_DIR="$INFECTION_MONKEY_DIR/bin" -HAS_SUDO=$(has_sudo) -if [[ ! $HAS_SUDO ]]; then +if ! has_sudo; then log_message "You need root permissions for some of this script operations. Quiting." exit 1 fi From 0238354bea6e06d91038b19d0cc56d1106ad3006 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 10:23:53 -0500 Subject: [PATCH 33/49] Give a more descriptive error message if deploy_linux.sh cannot use sudo --- deployment_scripts/deploy_linux.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index cea8d70a8..f11e126da 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -68,7 +68,8 @@ INFECTION_MONKEY_DIR="$monkey_home/monkey/infection_monkey" MONKEY_BIN_DIR="$INFECTION_MONKEY_DIR/bin" if ! has_sudo; then - log_message "You need root permissions for some of this script operations. Quiting." + log_message "You need root permissions for some of this script operations. \ +Run \`sudo -v\`, enter your password, and then re-run this script." exit 1 fi From 88c7a6a0f9a559c1e5eacd14d88beac64ac2430c Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Mon, 5 Oct 2020 10:24:37 +0300 Subject: [PATCH 34/49] Fixed linux deployment script config to point to proper repository --- deployment_scripts/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment_scripts/config b/deployment_scripts/config index bda54e390..2dbeaf442 100644 --- a/deployment_scripts/config +++ b/deployment_scripts/config @@ -10,7 +10,7 @@ get_latest_release() { sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value } -MONKEY_LATEST_RELEASE=$(get_latest_release "monkey/guardicore") +MONKEY_LATEST_RELEASE=$(get_latest_release "guardicore/monkey") # Monkey binaries LINUX_32_BINARY_NAME="monkey-linux-32" From b84d1f1708e2adff8139c13a7da958c4e08b8f69 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Mon, 5 Oct 2020 10:28:45 +0300 Subject: [PATCH 35/49] Fixed linux deployment script config syntax --- deployment_scripts/config | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deployment_scripts/config b/deployment_scripts/config index 2dbeaf442..5d645a28f 100644 --- a/deployment_scripts/config +++ b/deployment_scripts/config @@ -14,31 +14,31 @@ MONKEY_LATEST_RELEASE=$(get_latest_release "guardicore/monkey") # Monkey binaries LINUX_32_BINARY_NAME="monkey-linux-32" -LINUX_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/monkey-linux-32" +LINUX_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-32" export LINUX_32_BINARY_URL export LINUX_32_BINARY_NAME LINUX_64_BINARY_NAME="monkey-linux-64" -LINUX_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/monkey-linux-64" +LINUX_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-64" export LINUX_64_BINARY_URL export LINUX_64_BINARY_NAME WINDOWS_32_BINARY_NAME="monkey-windows-32.exe" -WINDOWS_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/monkey-windows-32.exe" +WINDOWS_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-32.exe" export WINDOWS_32_BINARY_URL export WINDOWS_32_BINARY_NAME WINDOWS_64_BINARY_NAME="monkey-windows-64.exe" -WINDOWS_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/monkey-windows-64.exe" +WINDOWS_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-64.exe" export WINDOWS_64_BINARY_URL export WINDOWS_64_BINARY_NAME # Other binaries for monkey -TRACEROUTE_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/traceroute64" +TRACEROUTE_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute64" export TRACEROUTE_64_BINARY_URL -TRACEROUTE_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/traceroute32" +TRACEROUTE_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute32" export TRACEROUTE_32_BINARY_URL -SAMBACRY_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/sc_monkey_runner64.so" +SAMBACRY_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner64.so" export SAMBACRY_64_BINARY_URL -SAMBACRY_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$($MONKEY_LATEST_RELEASE)/sc_monkey_runner32.so" +SAMBACRY_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner32.so" export SAMBACRY_32_BINARY_URL From c807104a3815bbf630ff3aa26615c680b56ff81a Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 12:25:41 -0500 Subject: [PATCH 36/49] Enable deployment_scripts/config to use wget or curl --- deployment_scripts/config | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/deployment_scripts/config b/deployment_scripts/config index 5d645a28f..f5e4e5d88 100644 --- a/deployment_scripts/config +++ b/deployment_scripts/config @@ -4,10 +4,22 @@ export MONKEY_FOLDER_NAME="infection_monkey" # Url of public git repository that contains monkey's source code export MONKEY_GIT_URL="https://github.com/guardicore/monkey" +exists() { + command -v "$1" >/dev/null 2>&1 +} + get_latest_release() { - curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub API - grep '"tag_name":' | # Get tag line - sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value + RELEASE_URL="https://api.github.com/repos/$1/releases/latest" + + if exists wget; then + RELEASE_INFO=$(wget --quiet -O - "$RELEASE_URL") # Get latest release from GitHub API + else + RELEASE_INFO=$(curl --silent "$RELEASE_URL") # Get latest release from GitHub API + fi + + echo "$RELEASE_INFO" | + grep '"tag_name":' | # Get tag line + sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value } MONKEY_LATEST_RELEASE=$(get_latest_release "guardicore/monkey") From 39da1299333d59204fd90c9348fae8ae74144d7c Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 12:38:04 -0500 Subject: [PATCH 37/49] Install python3-distutils in deploy_linux.sh --- deployment_scripts/deploy_linux.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index f11e126da..2dcccd02d 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -118,6 +118,9 @@ fi log_message "Installing build-essential" sudo apt install build-essential +log_message "Installing python3-distutils" +sudo apt install python3-distutils + log_message "Installing or updating pip" # shellcheck disable=SC2086 pip_url=https://bootstrap.pypa.io/get-pip.py From cdc65152d268f58fbbd40b6d9219f6e7b88138c6 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 12:39:07 -0500 Subject: [PATCH 38/49] Make create_certificate.sh executible when deploying on linux --- deployment_scripts/deploy_linux.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index 2dcccd02d..044e95bd2 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -174,6 +174,7 @@ sudo apt-get install openssl # Generate SSL certificate log_message "Generating certificate" +chmod u+x "${ISLAND_PATH}"/linux/create_certificate.sh "${ISLAND_PATH}"/linux/create_certificate.sh ${ISLAND_PATH}/cc # Update node From 66ac438fa263c85e80790d98c2e4f9a4cc03d885 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 13:50:33 -0500 Subject: [PATCH 39/49] Install libcurl4 in deploy_linux.sh --- deployment_scripts/deploy_linux.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index 044e95bd2..9c73cbe03 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -165,6 +165,9 @@ chmod a+x "$ISLAND_BINARIES_PATH/$LINUX_64_BINARY_NAME" # If a user haven't installed mongo manually check if we can install it with our script if ! exists mongod; then + log_message "Installing libcurl4" + sudo apt install libcurl4 + log_message "Installing MongoDB" "${ISLAND_PATH}"/linux/install_mongo.sh ${MONGO_PATH} || handle_error fi From ce40392c2bd9534769036fea5961441e3f5fc96b Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 14:25:14 -0500 Subject: [PATCH 40/49] Assume yes for `apt install` commands in deploy_linux.sh --- deployment_scripts/deploy_linux.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index 9c73cbe03..c037881c4 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -110,16 +110,16 @@ if [[ ${python_cmd} == "" ]]; then log_message "Python 3.7 command not found. Installing python 3.7." sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update - sudo apt install python3.7 python3.7-dev + sudo apt install -y python3.7 python3.7-dev log_message "Python 3.7 is now available with command 'python3.7'." python_cmd="python3.7" fi log_message "Installing build-essential" -sudo apt install build-essential +sudo apt install -y build-essential log_message "Installing python3-distutils" -sudo apt install python3-distutils +sudo apt install -y python3-distutils log_message "Installing or updating pip" # shellcheck disable=SC2086 @@ -137,7 +137,7 @@ requirements_island="$ISLAND_PATH/requirements.txt" ${python_cmd} -m pip install -r "${requirements_island}" --user --upgrade || handle_error log_message "Installing monkey requirements" -sudo apt-get install libffi-dev upx libssl-dev libc++1 +sudo apt install -y libffi-dev upx libssl-dev libc++1 requirements_monkey="$INFECTION_MONKEY_DIR/requirements.txt" ${python_cmd} -m pip install -r "${requirements_monkey}" --user --upgrade || handle_error @@ -166,13 +166,13 @@ chmod a+x "$ISLAND_BINARIES_PATH/$LINUX_64_BINARY_NAME" # If a user haven't installed mongo manually check if we can install it with our script if ! exists mongod; then log_message "Installing libcurl4" - sudo apt install libcurl4 + sudo apt install -y libcurl4 log_message "Installing MongoDB" "${ISLAND_PATH}"/linux/install_mongo.sh ${MONGO_PATH} || handle_error fi log_message "Installing openssl" -sudo apt-get install openssl +sudo apt install -y openssl # Generate SSL certificate log_message "Generating certificate" @@ -189,7 +189,7 @@ if ! exists npm; then else wget -q -O - $node_src | sudo -E bash - fi - sudo apt-get install -y nodejs + sudo apt install -y nodejs fi pushd "$ISLAND_PATH/cc/ui" || handle_error From 2111d2af697ae0276c9b1b5aeb17eab0a4498c25 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 14:40:20 -0500 Subject: [PATCH 41/49] Add instructions on how to run monkey_island after deploy_linux.sh --- deployment_scripts/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/deployment_scripts/README.md b/deployment_scripts/README.md index 16b150852..4ee91b5b4 100644 --- a/deployment_scripts/README.md +++ b/deployment_scripts/README.md @@ -39,6 +39,7 @@ Your user must have root permissions; however, don't run the script as root! ```sh wget https://raw.githubusercontent.com/guardicore/monkey/develop/deployment_scripts/deploy_linux.sh +chmod u+x ./deploy_linux.sh ``` This will download our deploy script. It's a good idea to read it quickly before executing it! @@ -52,4 +53,13 @@ After downloading that script, execute it in a shell. The first argument should - `./deploy_linux.sh "" "master"` (deploys master branch in script directory) - `./deploy_linux.sh "/home/user/new" "master"` (if directory "new" is not found creates it and clones master branch into it) -You may also pass in an optional third `false` parameter to disable downloading the latest agent binaries. \ No newline at end of file +You may also pass in an optional third `false` parameter to disable downloading the latest agent binaries. + +### Run on Linux + +After the `deploy_linux.sh` script completes, you can start the monkey island. + +```sh +cd infection_monkey/monkey +./monkey_island/linux/run.sh +``` From 5401cf2406f1ec29e356089795c852151a82e7b1 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 8 Dec 2020 18:53:19 -0500 Subject: [PATCH 42/49] Switch from `apt install` to `apt-get install` in deploy_linux.sh `apt-get` has a stable command-line interface, while `apt` does not. --- deployment_scripts/deploy_linux.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/deployment_scripts/deploy_linux.sh b/deployment_scripts/deploy_linux.sh index c037881c4..728e2f52d 100755 --- a/deployment_scripts/deploy_linux.sh +++ b/deployment_scripts/deploy_linux.sh @@ -110,16 +110,16 @@ if [[ ${python_cmd} == "" ]]; then log_message "Python 3.7 command not found. Installing python 3.7." sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update - sudo apt install -y python3.7 python3.7-dev + sudo apt-get install -y python3.7 python3.7-dev log_message "Python 3.7 is now available with command 'python3.7'." python_cmd="python3.7" fi log_message "Installing build-essential" -sudo apt install -y build-essential +sudo apt-get install -y build-essential log_message "Installing python3-distutils" -sudo apt install -y python3-distutils +sudo apt-get install -y python3-distutils log_message "Installing or updating pip" # shellcheck disable=SC2086 @@ -137,7 +137,7 @@ requirements_island="$ISLAND_PATH/requirements.txt" ${python_cmd} -m pip install -r "${requirements_island}" --user --upgrade || handle_error log_message "Installing monkey requirements" -sudo apt install -y libffi-dev upx libssl-dev libc++1 +sudo apt-get install -y libffi-dev upx libssl-dev libc++1 requirements_monkey="$INFECTION_MONKEY_DIR/requirements.txt" ${python_cmd} -m pip install -r "${requirements_monkey}" --user --upgrade || handle_error @@ -166,13 +166,13 @@ chmod a+x "$ISLAND_BINARIES_PATH/$LINUX_64_BINARY_NAME" # If a user haven't installed mongo manually check if we can install it with our script if ! exists mongod; then log_message "Installing libcurl4" - sudo apt install -y libcurl4 + sudo apt-get install -y libcurl4 log_message "Installing MongoDB" "${ISLAND_PATH}"/linux/install_mongo.sh ${MONGO_PATH} || handle_error fi log_message "Installing openssl" -sudo apt install -y openssl +sudo apt-get install -y openssl # Generate SSL certificate log_message "Generating certificate" @@ -189,7 +189,7 @@ if ! exists npm; then else wget -q -O - $node_src | sudo -E bash - fi - sudo apt install -y nodejs + sudo apt-get install -y nodejs fi pushd "$ISLAND_PATH/cc/ui" || handle_error From 61ebba274f4e211c52aad2224334e9ff61cd8cbe Mon Sep 17 00:00:00 2001 From: Shreya Date: Wed, 9 Dec 2020 21:45:30 +0530 Subject: [PATCH 43/49] =?UTF-8?q?Fix=20"Implement=20a=20new=20PBA=20?= =?UTF-8?q?=E2=80=94=20`ScheduleJobs`"=20Swimm=20unit,=20after=20changes?= =?UTF-8?q?=20in=20post=5Fbreach/actions/schedule=5Fjobs.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .swm/VW4rf3AxRslfT7lwaug7.swm | 53 +++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/.swm/VW4rf3AxRslfT7lwaug7.swm b/.swm/VW4rf3AxRslfT7lwaug7.swm index 65090e905..743079918 100644 --- a/.swm/VW4rf3AxRslfT7lwaug7.swm +++ b/.swm/VW4rf3AxRslfT7lwaug7.swm @@ -1,31 +1,48 @@ { "id": "VW4rf3AxRslfT7lwaug7", "name": "Implement a new PBA — `ScheduleJobs`", - "dod": "WW91JTIwc2hvdWxkJTIwaW1wbGVtZW50JTIwYSUyMG5ldyUyMFBCQSUyMGluJTIwTW9ua2V5JTIwd2hpY2glMjBzY2hlZHVsZXMlMjBqb2JzJTIwb24lMjB0aGUlMjBtYWNoaW5lLg==", - "description": "WW91JTIwbmVlZCUyMHRvJTIwaW1wbGVtZW50JTIwdGhlJTIwJTYwU2NoZWR1bGVKb2JzJTYwJTIwUEJBJTIwd2hpY2glMjBjcmVhdGVzJTIwc2NoZWR1bGVkJTIwam9icyUyMG9uJTIwdGhlJTIwbWFjaGluZS4lMjAlM0NiciUzRSUzQ2JyJTNFJTBBJTNDaW1nJTIwc3JjJTNEJTIyaHR0cHMlM0ElMkYlMkZtZWRpYS5naXBoeS5jb20lMkZtZWRpYSUyRmwwSzRtVkU1YjVXWjFzY3RXJTJGZ2lwaHkuZ2lmJTIyJTIwaGVpZ2h0JTNEMTc1JTNFJTNDYnIlM0UlM0NiciUzRSUwQVRoZSUyMGNvbW1hbmRzJTIwdGhhdCUyMGFkZCUyMHNjaGVkdWxlZCUyMGpvYnMlMjBmb3IlMjBXaW5kb3dzJTIwYW5kJTIwTGludXglMjBjYW4lMjBiZSUyMHJldHJpZXZlZCUyMGZyb20lMjAlNjBnZXRfY29tbWFuZHNfdG9fc2NoZWR1bGVfam9icyU2MCUyMCVFMiU4MCU5NCUyMG1ha2UlMjBzdXJlJTIweW91JTIwdW5kZXJzdGFuZCUyMGhvdyUyMHRvJTIwdXNlJTIwdGhpcyUyMGZ1bmN0aW9uJTIwY29ycmVjdGx5LiUwQSUwQSUyMyUyMyUyME1hbnVhbCUyMHRlc3QlMjAlMjAlMEFPbmNlJTIweW91JTIwdGhpbmslMjB5b3UncmUlMjBkb25lLi4uJTBBLSUyMFJ1biUyMHRoZSUyME1vbmtleSUyMElzbGFuZCUwQS0lMjBNYWtlJTIwc3VyZSUyMHRoZSUyMCUyMkpvYiUyMHNjaGVkdWxpbmclMjIlMjBQQkElMjBpcyUyMGVuYWJsZWQlMjBpbiUyMHRoZSUyMCUyMk1vbmtleSUyMiUyMHRhYiUyMGluJTIwdGhlJTIwY29uZmlndXJhdGlvbiUyMCVFMiU4MCU5NCUyMGZvciUyMHRoaXMlMjB0ZXN0JTJDJTIwZGlzYWJsZSUyMG5ldHdvcmslMjBzY2FubmluZyUyQyUyMGV4cGxvaXRpbmclMkMlMjBhbmQlMjBhbGwlMjBvdGhlciUyMFBCQXMlMEEtJTIwUnVuJTIwdGhlJTIwTW9ua2V5JTBBLSUyME1ha2UlMjBzdXJlJTIweW91JTIwc2VlJTIwdGhlJTIwUEJBJTIwd2l0aCUyMGl0cyUyMHJlc3VsdHMlMjBpbiUyMHRoZSUyMFNlY3VyaXR5JTIwcmVwb3J0JTIwYXMlMjB3ZWxsJTIwYXMlMjBpbiUyMHRoZSUyMEFUVCUyNkNLJTIwcmVwb3J0JTIwdW5kZXIlMjB0aGUlMjByZWxldmFudCUyME1JVFJFJTIwdGVjaG5pcXVlJTBBJTBBJTNDaW1nJTIwc3JjJTNEJTIyaHR0cHMlM0ElMkYlMkZmaXJlYmFzZXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20lMkZ2MCUyRmIlMkZzd2ltbWlvLWNvbnRlbnQlMkZvJTJGcmVwb3NpdG9yaWVzJTI1MkY2TmxiOTlOdFk1RmMzYlNkOHN1SCUyNTJGaW1nJTI1MkZmMGU1M2U2Yy05ZGJlLTQxZDgtOTQ1NC0yYjU3NjFjM2Y1M2EucG5nJTNGYWx0JTNEbWVkaWElMjZ0b2tlbiUzRDIxYWE0YmI4LTdlYmUtNGRhYi1hNzM5LWM3N2UwNTkxNDRkZCUyMiUyMGhlaWdodCUzRDQwMCUzRSUwQSUzQ2JyJTNFJTNDYnIlM0UlMEElM0NpbWclMjBzcmMlM0QlMjJodHRwcyUzQSUyRiUyRmZpcmViYXNlc3RvcmFnZS5nb29nbGVhcGlzLmNvbSUyRnYwJTJGYiUyRnN3aW1taW8tY29udGVudCUyRm8lMkZyZXBvc2l0b3JpZXMlMjUyRjZObGI5OU50WTVGYzNiU2Q4c3VIJTI1MkZpbWclMjUyRjUyODM4OWEwLTM1YzgtNDM4MC1iNmUyLTM1MzA2OGVkMDFlNC5wbmclM0ZhbHQlM0RtZWRpYSUyNnRva2VuJTNEMDg3NjdmNTUtODZlMi00ZjUxLThlY2YtMTNmZDZjYzI1YWQ1JTIyJTIwaGVpZ2h0JTNENDAwJTNF", - "summary": "TWFueSUyMG90aGVyJTIwUEJBcyUyMGFyZSUyMGFzJTIwc2ltcGxlJTIwYXMlMjB0aGlzJTIwb25lJTJDJTIwdXNpbmclMjBzaGVsbCUyMGNvbW1hbmRzJTIwb3IlMjBzY3JpcHRzJTIwJUUyJTgwJTk0JTIwc2VlJTIwJTYwVGltZXN0b21waW5nJTYwJTIwYW5kJTIwJTYwQWNjb3VudERpc2NvdmVyeSU2MC4lMjAlM0NiciUzRSUzQ2JyJTNFJTBBJTBBSG93ZXZlciUyQyUyMGZvciUyMGxlc3MlMjBzdHJhaWdodGZvcndhcmQlMjBvbmVzJTJDJTIweW91JTIwY2FuJTIwb3ZlcnJpZGUlMjBmdW5jdGlvbnMlMjBhbmQlMjBpbXBsZW1lbnQlMjBuZXclMjBjbGFzc2VzJTIwZGVwZW5kaW5nJTIwb24lMjB3aGF0JTIwaXMlMjByZXF1aXJlZCUyMCVFMiU4MCU5NCUyMHNlZSUyMCU2MFNpZ25lZFNjcmlwdFByb3h5RXhlY3V0aW9uJTYwJTIwYW5kJTIwJTYwTW9kaWZ5U2hlbGxTdGFydHVwRmlsZXMlNjAuJTNDYnIlM0UlM0NiciUzRSUwQSUwQVRoaXMlMjBQQkElMkMlMjBhbG9uZyUyMHdpdGglMjBhbGwlMjB0aGUlMjBvdGhlciUyMFBCQXMlMkMlMjB3aWxsJTIwcnVuJTIwb24lMjBhJTIwc3lzdGVtJTIwYWZ0ZXIlMjBpdCUyMGhhcyUyMGJlZW4lMjBicmVhY2hlZC4lMjBUaGUlMjBwdXJwb3NlJTIwb2YlMjB0aGlzJTIwY29kZSUyMGlzJTIwdG8lMjB0ZXN0JTIwd2hldGhlciUyMHRhcmdldCUyMHN5c3RlbXMlMjBhbGxvdyUyMGF0dGFja2VycyUyMHRvJTIwc2NoZWR1bGUlMjBqb2JzJTJDJTIwd2hpY2glMjB0aGV5JTIwY291bGQlMjB1c2UlMjB0byUyMHJ1biUyMG1hbGljaW91cyUyMGNvZGUlMjBhdCUyMHNvbWUlMjBzcGVjaWZpZWQlMjBkYXRlJTIwYW5kJTIwdGltZS4=", - "diff": "ZGlmZiUyMC0tZ2l0JTIwYSUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZzY2hlZHVsZV9qb2JzLnB5JTIwYiUyRm1vbmtleSUyRmluZmVjdGlvbl9tb25rZXklMkZwb3N0X2JyZWFjaCUyRmFjdGlvbnMlMkZzY2hlZHVsZV9qb2JzLnB5JTBBaW5kZXglMjBkNmNkZDI3Ni4uNzlhNzcyNGQlMjAxMDA2NDQlMEEtLS0lMjBhJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRnNjaGVkdWxlX2pvYnMucHklMEElMkIlMkIlMkIlMjBiJTJGbW9ua2V5JTJGaW5mZWN0aW9uX21vbmtleSUyRnBvc3RfYnJlYWNoJTJGYWN0aW9ucyUyRnNjaGVkdWxlX2pvYnMucHklMEElNDAlNDAlMjAtMTAlMkMxMCUyMCUyQjEwJTJDNSUyMCU0MCU0MCUyMGNsYXNzJTIwU2NoZWR1bGVKb2JzKFBCQSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMEElMjAlMjAlMjAlMjAlMjBkZWYlMjBfX2luaXRfXyhzZWxmKSUzQSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsaW51eF9jbWRzJTJDJTIwd2luZG93c19jbWRzJTIwJTNEJTIwZ2V0X2NvbW1hbmRzX3RvX3NjaGVkdWxlX2pvYnMoKSUwQS0lMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoU2NoZWR1bGVKb2JzJTJDJTIwc2VsZikuX19pbml0X18obmFtZSUzRFBPU1RfQlJFQUNIX0pPQl9TQ0hFRFVMSU5HJTJDJTBBLSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpbnV4X2NtZCUzRCclMjAnLmpvaW4obGludXhfY21kcyklMkMlMEEtJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2luZG93c19jbWQlM0R3aW5kb3dzX2NtZHMpJTBBLSUwQS0lMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZW1vdmVfc2NoZWR1bGVkX2pvYnMoKSUwQSUyQiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBhc3MlMEElMkIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjBTd2ltbWVyJTNBJTIwSU1QTEVNRU5UJTIwSEVSRSElMEE=", + "dod": "You should implement a new PBA in Monkey which schedules jobs on the machine.", + "description": "You need to implement the `ScheduleJobs` PBA which creates scheduled jobs on the machine.

\n

\nThe commands that add scheduled jobs for Windows and Linux can be retrieved from `get_commands_to_schedule_jobs` — make sure you understand how to use this function correctly.\n\n## Manual test \nOnce you think you're done...\n- Run the Monkey Island\n- Make sure the \"Job scheduling\" PBA is enabled in the \"Monkey\" tab in the configuration — for this test, disable network scanning, exploiting, and all other PBAs\n- Run the Monkey\n- Make sure you see the PBA with its results in the Security report as well as in the ATT&CK report under the relevant MITRE technique\n\n\n

\n", + "summary": "Many other PBAs are as simple as this one, using shell commands or scripts — see `Timestomping` and `AccountDiscovery`.

\n\nHowever, for less straightforward ones, you can override functions and implement new classes depending on what is required — see `SignedScriptProxyExecution` and `ModifyShellStartupFiles`.

\n\nThis PBA, along with all the other PBAs, will run on a system after it has been breached. The purpose of this code is to test whether target systems allow attackers to schedule jobs, which they could use to run malicious code at some specified date and time.", + "diff": "diff --git a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py\nindex d6cdd276..79a7724d 100644\n--- a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py\n+++ b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py\n@@ -10,11 +10,5 @@\n \"\"\"\n \n def __init__(self):\n- linux_cmds, windows_cmds = get_commands_to_schedule_jobs()\n+ pass\n-\n+ # Swimmer: IMPLEMENT HERE!\n- super(ScheduleJobs, self).__init__(name=POST_BREACH_JOB_SCHEDULING,\n- linux_cmd=' '.join(linux_cmds),\n- windows_cmd=windows_cmds)\n- \n- def run(self):\n- super(ScheduleJobs, self).run()\n", "tests": [], "hints": [ "Check out the `Timestomping` PBA to get an idea about the implementation.", "Don't forget to add code to remove the scheduled jobs!" ], - "files": { + "app_version": "0.2.8", + "file_version": "1.0.4", + "swimmPatch": { "monkey/infection_monkey/post_breach/actions/schedule_jobs.py": { - "index": [ - "d6cdd276..79a7724d", - "100644" - ], - "fileA": "monkey/infection_monkey/post_breach/actions/schedule_jobs.py", - "fileB": "monkey/infection_monkey/post_breach/actions/schedule_jobs.py", - "status": "MODIFIED", - "numLineDeletions": 7, - "numLineAdditions": 2, - "hunkContainers": [ - "JTdCJTIyaHVuayUyMiUzQSU3QiUyMmhlYWRlciUyMiUzQSUyMiU0MCU0MCUyMC0xMCUyQzEwJTIwJTJCMTAlMkM1JTIwJTQwJTQwJTIwY2xhc3MlMjBTY2hlZHVsZUpvYnMoUEJBKSUzQSUyMiUyQyUyMmNoYW5nZXMlMjIlM0ElNUIlN0IlMjJ0eXBlJTIyJTNBJTIyY29udGV4dCUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlNUMlMjIlNUMlMjIlNUMlMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExMCUyQyUyMmIlMjIlM0ExMCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJjb250ZXh0JTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTExJTJDJTIyYiUyMiUzQTExJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmNvbnRleHQlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExMiUyQyUyMmIlMjIlM0ExMiU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsaW51eF9jbWRzJTJDJTIwd2luZG93c19jbWRzJTIwJTNEJTIwZ2V0X2NvbW1hbmRzX3RvX3NjaGVkdWxlX2pvYnMoKSUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTEzJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE0JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHN1cGVyKFNjaGVkdWxlSm9icyUyQyUyMHNlbGYpLl9faW5pdF9fKG5hbWUlM0RQT1NUX0JSRUFDSF9KT0JfU0NIRURVTElORyUyQyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE1JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmRlbCUyMiUyQyUyMm1hcmslMjIlM0ElMjItJTIyJTJDJTIyZGF0YSUyMiUzQSUyMiUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxpbnV4X2NtZCUzRCclMjAnLmpvaW4obGludXhfY21kcyklMkMlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExNiU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aW5kb3dzX2NtZCUzRHdpbmRvd3NfY21kcyklMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExNyU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjIlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ExOCU3RCU3RCUyQyU3QiUyMnR5cGUlMjIlM0ElMjJkZWwlMjIlMkMlMjJtYXJrJTIyJTNBJTIyLSUyMiUyQyUyMmRhdGElMjIlM0ElMjIlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZW1vdmVfc2NoZWR1bGVkX2pvYnMoKSUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYSUyMiUzQTE5JTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmFkZCUyMiUyQyUyMm1hcmslMjIlM0ElMjIlMkIlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFzcyUyMiUyQyUyMmxpbmVOdW1iZXJzJTIyJTNBJTdCJTIyYiUyMiUzQTEzJTdEJTdEJTJDJTdCJTIydHlwZSUyMiUzQSUyMmFkZCUyMiUyQyUyMm1hcmslMjIlM0ElMjIlMkIlMjIlMkMlMjJkYXRhJTIyJTNBJTIyJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwU3dpbW1lciUzQSUyMElNUExFTUVOVCUyMEhFUkUhJTIyJTJDJTIybGluZU51bWJlcnMlMjIlM0ElN0IlMjJiJTIyJTNBMTQlN0QlN0QlNUQlMkMlMjJsaW5lTnVtYmVycyUyMiUzQSU3QiUyMmElMjIlM0ElN0IlMjJzdGFydExpbmUlMjIlM0ExMCUyQyUyMmxpbmVzQ291bnQlMjIlM0ExMCU3RCUyQyUyMmIlMjIlM0ElN0IlMjJzdGFydExpbmUlMjIlM0ExMCUyQyUyMmxpbmVzQ291bnQlMjIlM0E1JTdEJTdEJTdEJTdE" + "diffType": "MODIFIED", + "fileDiffHeader": "diff --git a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py\nindex d6cdd276..79a7724d 100644\n--- a/monkey/infection_monkey/post_breach/actions/schedule_jobs.py\n+++ b/monkey/infection_monkey/post_breach/actions/schedule_jobs.py", + "hunks": [ + { + "swimmHunkMetadata": { + "hunkComments": [] + }, + "hunkDiffLines": [ + "@@ -10,11 +10,5 @@", + " \"\"\"", + " ", + " def __init__(self):", + "- linux_cmds, windows_cmds = get_commands_to_schedule_jobs()", + "+ pass", + "-", + "+ # Swimmer: IMPLEMENT HERE!", + "- super(ScheduleJobs, self).__init__(name=POST_BREACH_JOB_SCHEDULING,", + "- linux_cmd=' '.join(linux_cmds),", + "- windows_cmd=windows_cmds)", + "- ", + "- def run(self):", + "- super(ScheduleJobs, self).run()" + ] + } ] } }, - "app_version": "0.1.90", - "file_version": "1.0.2" + "hunksOrder": [ + "monkey/infection_monkey/post_breach/actions/schedule_jobs.py_0" + ], + "last_commit_sha_for_swimm_patch": "44fd1ab69cfbab33cec638dcbbaa8831992a9a9f" } \ No newline at end of file From b78046e6f4d9e3db6b14e7b33d618946fad2a796 Mon Sep 17 00:00:00 2001 From: Shreya Date: Wed, 9 Dec 2020 23:18:01 +0530 Subject: [PATCH 44/49] Update Swimm in Travis --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 887b7cc67..d4c697efa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -98,7 +98,8 @@ script: # verify swimm - cd $TRAVIS_BUILD_DIR -- wget https://firebasestorage.googleapis.com/v0/b/swimmio.appspot.com/o/Release%2Fv018%2Fswimm-0.1.8-linux-executable\?alt\=media\&token\=e59c0a18-577f-4b77-bb3b-91b22c3d8b2a -O swimm +- wget "https://firebasestorage.googleapis.com/v0/b/swimmio.appspot.com/o/Release%2Fv029%2FSwimm_0.2.9_Setup.deb?alt=media&token=774ebd98-cb4e-4615-900c-aada224c1608" -O swimm +- sudo dpkg -i swimm - chmod +x ./swimm - ./swimm --version - ./swimm verify From 96e103ada5027ed64b993cd9df578761bbeac58d Mon Sep 17 00:00:00 2001 From: Shreya Date: Wed, 9 Dec 2020 23:44:38 +0530 Subject: [PATCH 45/49] Add Swimm dependencies to Travis --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index d4c697efa..3ae157d6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,6 +52,11 @@ install: # print hugo version (useful for debugging documentation build errors) - hugo version +# dependencies for swimm +- sudo apt-get update +- sudo apt-get -y install libappindicator3-1 +- sudo apt-get -y install libsecret-1-0 + before_script: # Set the server config to `testing`. This is required for for the UTs to pass. - pushd /home/travis/build/guardicore/monkey/monkey From 9783b577613f120eabe7bc33b3510bbca1a67fdb Mon Sep 17 00:00:00 2001 From: Shreya Date: Thu, 10 Dec 2020 00:18:56 +0530 Subject: [PATCH 46/49] Swimm changes in Travis --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ae157d6e..c1a19254b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,8 +106,8 @@ script: - wget "https://firebasestorage.googleapis.com/v0/b/swimmio.appspot.com/o/Release%2Fv029%2FSwimm_0.2.9_Setup.deb?alt=media&token=774ebd98-cb4e-4615-900c-aada224c1608" -O swimm - sudo dpkg -i swimm - chmod +x ./swimm -- ./swimm --version -- ./swimm verify +- swimm --version +- swimm verify after_success: # Upload code coverage results to codecov.io, see https://github.com/codecov/codecov-bash for more information From 77d23ca96946c5610b3a00c779f09506b7203210 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Wed, 9 Dec 2020 15:06:39 -0500 Subject: [PATCH 47/49] deployment_scripts/config: Consolidate exports --- deployment_scripts/config | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/deployment_scripts/config b/deployment_scripts/config index f5e4e5d88..cad04a01c 100644 --- a/deployment_scripts/config +++ b/deployment_scripts/config @@ -25,32 +25,21 @@ get_latest_release() { MONKEY_LATEST_RELEASE=$(get_latest_release "guardicore/monkey") # Monkey binaries -LINUX_32_BINARY_NAME="monkey-linux-32" -LINUX_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-32" -export LINUX_32_BINARY_URL -export LINUX_32_BINARY_NAME +export LINUX_32_BINARY_NAME="monkey-linux-32" +export LINUX_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-32" -LINUX_64_BINARY_NAME="monkey-linux-64" -LINUX_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-64" -export LINUX_64_BINARY_URL -export LINUX_64_BINARY_NAME +export LINUX_64_BINARY_NAME="monkey-linux-64" +export LINUX_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-linux-64" -WINDOWS_32_BINARY_NAME="monkey-windows-32.exe" -WINDOWS_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-32.exe" -export WINDOWS_32_BINARY_URL -export WINDOWS_32_BINARY_NAME +export WINDOWS_32_BINARY_NAME="monkey-windows-32.exe" +export WINDOWS_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-32.exe" -WINDOWS_64_BINARY_NAME="monkey-windows-64.exe" -WINDOWS_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-64.exe" -export WINDOWS_64_BINARY_URL -export WINDOWS_64_BINARY_NAME +export WINDOWS_64_BINARY_NAME="monkey-windows-64.exe" +export WINDOWS_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/monkey-windows-64.exe" # Other binaries for monkey -TRACEROUTE_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute64" -export TRACEROUTE_64_BINARY_URL -TRACEROUTE_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute32" -export TRACEROUTE_32_BINARY_URL -SAMBACRY_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner64.so" -export SAMBACRY_64_BINARY_URL -SAMBACRY_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner32.so" -export SAMBACRY_32_BINARY_URL +export TRACEROUTE_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute64" +export TRACEROUTE_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/traceroute32" + +export SAMBACRY_64_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner64.so" +export SAMBACRY_32_BINARY_URL="https://github.com/guardicore/monkey/releases/download/$MONKEY_LATEST_RELEASE/sc_monkey_runner32.so" From 50bec614946974b79c001473abcc7eacd7051589 Mon Sep 17 00:00:00 2001 From: Shreya Date: Thu, 10 Dec 2020 15:22:48 +0530 Subject: [PATCH 48/49] Update apt-get commands for Swimm in Travis --- .travis.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index c1a19254b..504263456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,11 +52,6 @@ install: # print hugo version (useful for debugging documentation build errors) - hugo version -# dependencies for swimm -- sudo apt-get update -- sudo apt-get -y install libappindicator3-1 -- sudo apt-get -y install libsecret-1-0 - before_script: # Set the server config to `testing`. This is required for for the UTs to pass. - pushd /home/travis/build/guardicore/monkey/monkey @@ -104,7 +99,7 @@ script: # verify swimm - cd $TRAVIS_BUILD_DIR - wget "https://firebasestorage.googleapis.com/v0/b/swimmio.appspot.com/o/Release%2Fv029%2FSwimm_0.2.9_Setup.deb?alt=media&token=774ebd98-cb4e-4615-900c-aada224c1608" -O swimm -- sudo dpkg -i swimm +- sudo dpkg -i swimm || (sudo apt-get update && sudo apt-get -f install) - chmod +x ./swimm - swimm --version - swimm verify From 866d62239f56b978ad3a7f4e1f180b0f7544d03f Mon Sep 17 00:00:00 2001 From: Shubhendra Singh Chauhan Date: Tue, 15 Dec 2020 17:53:17 +0530 Subject: [PATCH 49/49] Delete .deepsource.toml --- .deepsource.toml | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml deleted file mode 100644 index 2461cfb80..000000000 --- a/.deepsource.toml +++ /dev/null @@ -1,14 +0,0 @@ -version = 1 - -test_patterns = ["**/**_test.py"] - -[[analyzers]] -name = "python" -enabled = true -dependency_file_paths = [ - "monkey/monkey_island/requirements.txt", - "monkey/infection_monkey/requirements.txt" - ] - - [analyzers.meta] - runtime_version = "3.x.x"