From b311c62123151a84bbfb0bf2609ceb8bed2392ac Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 23 Jun 2026 15:31:36 +0200 Subject: [PATCH 01/43] Refactor STAC helper functions: add `query_modelID_asset_url` and improve flexibility with `catalog_url` and `collection_id` parameters. --- src/eo_processing/utils/stac_helper.py | 43 +++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/eo_processing/utils/stac_helper.py b/src/eo_processing/utils/stac_helper.py index 638e46d..e88e2f3 100644 --- a/src/eo_processing/utils/stac_helper.py +++ b/src/eo_processing/utils/stac_helper.py @@ -1,22 +1,51 @@ import pystac_client -def get_stac_collection_url(collection_id): - """Fetches the url of the STAC collection with the given collection_id. And returns None if not found.""" - client = pystac_client.Client.open("https://catalogue.weed.apex.esa.int/") +def get_stac_collection_url(collection_id: str, catalog_url: str = "https://catalogue.weed.apex.esa.int/") -> str: + """ + Fetches the URL of a STAC (SpatioTemporal Asset Catalog) collection based on the provided + collection ID and catalog URL. + + This function utilizes the pystac_client library to interact with a STAC catalog and extract + the URL of a specific collection by its ID. If the collection cannot be found, the function + returns None. + + :param collection_id (str): The unique identifier of the STAC collection to retrieve. + :param catalog_url (str): The URL of the STAC catalog to query. Defaults to + 'https://catalogue.weed.apex.esa.int/'. + + :return: The URL (as a string) of the requested STAC collection if found, or None if the + collection does not exist in the catalog. + """ + client = pystac_client.Client.open(catalog_url) try: return client.get_collection(collection_id).self_href except: return None +def query_modelID_asset_url(model_id: str, + catalog_url: str ="https://catalogue.weed.apex.esa.int/", + collection_id: str ="model-STAC-v2") -> str: + """ + Queries the URL of a specific asset for a given modelID from a STAC catalog. + + This function connects to the specified STAC catalog URL and searches for metadata + associated with the given modelID and collectionID using CQL2 filters. It returns + the URL of the asset identified as `model_valid_geometry`. + + :param model_id: (str) The unique identifier of the model to search for. + :param catalog_url: (str) [Optional] The URL of the STAC catalog to query. + Defaults to "https://catalogue.weed.apex.esa.int/". + :param collection_id: (str) [Optional] The ID of the collection in the STAC catalog + to search within. Defaults to "model-STAC-v2". -def query_asset_url(model_id): - """Use model-id to get the parquet asset link""" - client = pystac_client.Client.open("https://catalogue.weed.apex.esa.int/") + :return: (str) The URL of the asset associated with the searched model ID. + """ + client = pystac_client.Client.open(catalog_url) search = client.search( limit=20, - collections=["model-STAC-v2"], + collections=[collection_id], filter={"op": "=", "args": [{"property": "properties.modelID"}, model_id]}, filter_lang="cql2-json", ) From 8263bde30a47870b38e461dd59705de6a3f53a59 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 23 Jun 2026 15:32:12 +0200 Subject: [PATCH 02/43] Enhance `init_connection` to support client credentials auth via `WEED_storage` and refactor `get_credentials` to allow VAULT token-based authentication. --- src/eo_processing/utils/helper.py | 84 +++++++++++++++++++----------- src/eo_processing/utils/storage.py | 57 +++++++++++++++----- 2 files changed, 100 insertions(+), 41 deletions(-) diff --git a/src/eo_processing/utils/helper.py b/src/eo_processing/utils/helper.py index 7d00904..8e6e94b 100644 --- a/src/eo_processing/utils/helper.py +++ b/src/eo_processing/utils/helper.py @@ -13,7 +13,7 @@ from datetime import datetime import json from ast import literal_eval -from typing import Union, Dict, List, TYPE_CHECKING +from typing import Union, Dict, List, TYPE_CHECKING, Optional try: import importlib.resources as importlib_resources except: @@ -21,40 +21,66 @@ if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format + from eo_processing.utils.storage import WEED_storage -def init_connection(provider: str) -> openeo.Connection : +def init_connection(provider: str, storage: Optional[WEED_storage]=None) -> openeo.Connection : """ - Initializes a connection to the specified OpenEO backend provider and - authenticates the connection using OpenID Connect. Supports connections - to Terrascope, Development, CDSE, CDSE-Staging, and a standard OpenEO - entry point. - - :param provider: The name of the OpenEO backend provider. Supported values - are 'terrascope', 'development', 'cdse', 'cdse-staging', - or other for default OpenEO connection. - :return: An authenticated OpenEO connection to the specified provider. - - :raises ValueError: If the provider specified does not match the supported - categories and a backend-specific connection setup is - unavailable. + + Initializes a connection to an OpenEO backend based on the specified provider. Supports + two modes of authentication: OpenID Connect and client credentials when a storage object + is provided. Each provider corresponds to a specific backend URL. + + :param provider: (str) The name of the OpenEO backend provider. Supported values include: + - 'terrascope': Connects to the VITO backend. + - 'development': Connects to the VITO development backend. + - 'cdse': Connects to the Copernicus Data Space Ecosystem backend. + - 'cdse-staging': Connects to the staging environment of the Copernicus Data Space + Ecosystem backend. + - 'cdse-staging-waw4-1': Connects to the staging WAW4-1 instance. + If an unsupported provider is specified and no storage is provided, a connection is + established with the default "https://openeo.cloud" entry point. + + :param storage: (Optional[WEED_storage]) An optional storage object containing + service account credentials necessary for client credentials authentication. When + provided, attempts to authenticate using the storage's `CLIENT_ID` and `CLIENT_SECRET`. + Supported providers with this authentication mode include: + - 'cdse' + - 'cdse-staging' + - 'cdse-staging-waw4-1' + + :return: An instance of `openeo.Connection` representing the connection to the selected + backend. """ - if provider == 'terrascope': - connection = openeo.connect("https://openeo.vito.be").authenticate_oidc() - elif provider == 'development': - connection = openeo.connect("https://openeo-dev.vito.be").authenticate_oidc() - elif provider == 'cdse': - connection = openeo.connect(url="openeo.dataspace.copernicus.eu").authenticate_oidc() - elif provider == 'cdse-staging': - connection = openeo.connect(url='openeo-staging.dataspace.copernicus.eu').authenticate_oidc() - elif provider == 'cdse-staging-waw4-1': - connection = openeo.connect(url='https://openeo.stag.waw4-1.openeo-int.v1.dataspace.copernicus.eu').authenticate_oidc() + if storage is None: + if provider == 'terrascope': + url = 'https://openeo.vito.be' + elif provider == 'development': + url = 'https://openeo-dev.vito.be' + elif provider == 'cdse': + url = 'https://openeo.dataspace.copernicus.eu' + elif provider == 'cdse-staging': + url = 'https://openeo-staging.dataspace.copernicus.eu' + elif provider == 'cdse-staging-waw4-1': + url = 'https://openeo.stag.waw4-1.openeo-int.v1.dataspace.copernicus.eu' + else: + print('currently no specific connections to backends like creodias and sentinelhub are setup.') + print('use standard entry point') + url = 'https://openeo.cloud' + connection = openeo.connect(url).authenticate_oidc() else: - print('currently no specific connections to backends like creodias and sentinelhub are setup.') - print('use standard entry point') - connection = openeo.connect("https://openeo.cloud").authenticate_oidc() + if provider == 'cdse': + url = 'https://openeo.dataspace.copernicus.eu' + elif provider == 'cdse-staging': + url = 'https://openeo-staging.dataspace.copernicus.eu' + elif provider == 'cdse-staging-waw4-1': + url = 'https://openeo.stag.waw4-1.openeo-int.v1.dataspace.copernicus.eu' + else: + raise ValueError('currently no other backends are setup for WEED service account. Choose from cdse, cdse-staging, cdse-staging-waw4-1.') + connection = openeo.connect(url=url).authenticate_oidc_client_credentials( + client_id=storage.service_account['CLIENT_ID'], + client_secret=storage.service_account['CLIENT_SECRET']) return connection - def location_visu(aoi_object: openEO_bbox_format | gpd.GeoDataFrame, zoom: bool = False, region: str = 'EU', label: bool = True) -> None: """ diff --git a/src/eo_processing/utils/storage.py b/src/eo_processing/utils/storage.py index 65977c6..d9c4942 100644 --- a/src/eo_processing/utils/storage.py +++ b/src/eo_processing/utils/storage.py @@ -1588,7 +1588,7 @@ def __init__(self, username: str = 'buchhornm', S3 bucket and ML Flow uri. It also initializes necessary credentials and configurations for using Google Drive and S3 storage services. - :param username: A username string used for accessing credentials. + :param username: A username string used for accessing credentials. NOTE use "VAULT_TOKEN" to use token saved in environment variable. :param gdrive_entry_point: The entry point ID of the Google Drive folder. :param s3_bucket: The name of the S3 bucket to be used. :param stac_env: The environment name for the STAC catalog. @@ -1609,6 +1609,7 @@ def __init__(self, username: str = 'buchhornm', self._set_gdrive_credentials(gdrive_entry_point=gdrive_entry_point) self._set_stac_credentials(stac_env=stac_env) self._set_mlflow_credentials() + self._set_service_account() def _get_credentials(self): """warper to get the credentials.""" @@ -1665,6 +1666,17 @@ def _set_s3_credentials(self, bucket: str) -> None: self.s3_client.close() self._init_boto3() + def _set_service_account(self) -> None: + """ + Sets the service account based on provided credentials. + + This method retrieves the service account information from the + credentials dictionary and assigns it to the service_account attribute. + + :return: None + """ + self.service_account = string_to_dict(self.credentials['weed-service-account']) + def _set_sql_credentials(self) -> None: """ Sets SQL credentials for the database connection. @@ -1766,23 +1778,44 @@ def _set_stac_credentials(self, stac_env: str) -> None: def get_credentials(user :str ) -> Dict[str, str]: """ - Retrieves WEED access credentials from Terrascope VAULT using LDAP authentication. + Gets the credentials of a specified user from the Terrascope VAULT. - This method prompts the user to enter their password for Terrascope VAULT, authenticates - with the VAULT using LDAP, and fetches credentials from the WEED KV storage path. + This function prompts the user to enter their password and then + authenticates with the Terrascope VAULT service using the LDAP method. + Once authenticated, it attempts to retrieve the secret for the TAP apps + under the WEED path from the Vault. If unsuccessful, an exception is raised. - :return: credentials as a dictionary + Parameters: + :param user: (str) The username of the account to authenticate against the VAULT. NOTE use "VAULT_TOKEN" to use token saved in environment variable. + + Returns: + :returns: Dictionary containing the retrieved secret credentials. + + Raises: + :raises Exception: If the credentials cannot be retrieved (e.g., not connected + to the VITO VPN or authentication failure). """ - password_prompt = 'Please enter your password for the Terrascope VAULT: ' - service_account_password = getpass(prompt=password_prompt) + # first a check if username is "VAULT_TOKEN" + if user == "VAULT_TOKEN": + # we run the auth via token from environment variable + # check if TOKEN is set + vault_token = os.environ.get('VAULT_TOKEN') + if vault_token is None: + raise Exception('VAULT_TOKEN environment variable is not set. Please set it and try again. Or use a different username.') + else: + password_prompt = 'Please enter your password for the Terrascope VAULT: ' + service_account_password = getpass(prompt=password_prompt) try: client = hvac.Client(url='https://vault.vgt.vito.be') - client.auth.ldap.login( - username=user, - password=service_account_password, - mount_point='ldap' - ) + if user == "VAULT_TOKEN": + client.token = vault_token + else: + client.auth.ldap.login( + username=user, + password=service_account_password, + mount_point='ldap' + ) secret_version_response = client.secrets.kv.v2.read_secret_version(mount_point='kv', path='TAP/apps/WEED', raise_on_deleted_version=True) From 43dd983435bdb7b26bb1b811166035faa1277577 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 23 Jun 2026 22:35:38 +0200 Subject: [PATCH 03/43] Add support for `get_NOBSperc` flag for calculating observation percentage and refactor job options and preprocessing functions for enhanced flexibility. --- README.md | 18 +++- src/eo_processing/config/settings.py | 126 +++++++++++----------- src/eo_processing/openeo/preprocessing.py | 47 ++++++-- src/eo_processing/openeo/processing.py | 88 ++++++++++----- 4 files changed, 178 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 651ba1b..e43e9d9 100644 --- a/README.md +++ b/README.md @@ -81,12 +81,20 @@ SLC_masking_algo: str = 'mask_scl_dilation' Masking method for Sentinel-2 optical data ('satio', 'mask_scl_dilation', None) Note: if set to None, no masking is applied and the S2 L2A data is used as is. -apply_cloud_mask : bool = True +apply_cloud_mask: bool = True if True, the Sentinel-2 or PlanetScope data is masked for clouds (based on Sentinel-2 QA band). - If False, no masking is applied but the mask band is still created and added to the cube. - Note: no effect when 'mask_scl_dilation' parameter is set to None. - -append : bool = True + If False, no masking is applied but the mask band is still created and added to the cube. (Note: the cloud + mask band is removed from the feature cube as soon the time domain is aggregated.) + Note: no effect when 'mask_scl_dilation' parameter is set to None. + +get_NOBSperc: bool = False + if True, the number of observations per pixel is calculated and added to the feature cube. + Note: this flag is only relevant for Sentinel-2 data as well as the 'band' NOBSperc is only added + to cubes with time domain aggregation. + Note: 'apply_cloud_mask' has to set to 'True' AND 'SLC_masking_algo' has to be 'mask_scl_dilation' + for this flag to work. + +append: bool = True if the VI's are appended to the reflectance/radar time series cube OR replace them S2_scaling: list = [0, 10000, 0, 1.0] diff --git a/src/eo_processing/config/settings.py b/src/eo_processing/config/settings.py index e9a0312..995e86e 100644 --- a/src/eo_processing/config/settings.py +++ b/src/eo_processing/config/settings.py @@ -20,6 +20,7 @@ S2_MAX_CLOUD_COVER: int = 95 MASKING_ALGO: str = 'mask_scl_dilation' APPLY_CLOUD_MASK: bool = True +GET_NOBS: bool = False S2_TILEID_LIST: Optional[List[str]] = None SKIP_CHECK_S1: bool = False SKIP_CHECK_S2: bool = False @@ -68,7 +69,7 @@ # --------------------------------------------------- # Job options for OpenEO -OPENEO_EXTRACT_JOB_OPTIONS: Dict[str, str] = { +OPENEO_EXTRACT_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "4G", "driver-memoryOverhead": "8G", "driver-cores": 2, @@ -80,7 +81,7 @@ "stac-version":"1.1" } -OPENEO_EXTRACT_CREO_JOB_OPTIONS: Dict[str, str] = { +OPENEO_EXTRACT_CREO_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "4G", "driver-memoryOverhead": "2G", "driver-cores": 1, @@ -91,7 +92,7 @@ "max-executors": 200 } -OPENEO_EXTRACT_CDSE_JOB_OPTIONS: Dict[str, str] = { +OPENEO_EXTRACT_CDSE_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "8G", "driver-memoryOverhead": "5G", "driver-cores": 1, @@ -103,7 +104,7 @@ "logging-threshold": "info" } -OPENEO_INFERENCE_CDSE_JOB_OPTIONS: Dict[str, str] = { +OPENEO_INFERENCE_CDSE_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "1000m", "driver-memoryOverhead": "1000m", "driver-cores": 1, @@ -118,7 +119,7 @@ ] } -OPENEO_POINTEXTRACTION_CDSE_JOB_OPTIONS: Dict[str, str] = { +OPENEO_POINTEXTRACTION_CDSE_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "4G", "driver-memoryOverhead": "2G", "driver-cores": 1, @@ -130,7 +131,7 @@ "logging-threshold": "info" } -OPENEO_CUBEEXTRACTION_CDSE_JOB_OPTIONS: Dict[str, str] = { +OPENEO_CUBEEXTRACTION_CDSE_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { "driver-memory": "4G", "driver-memoryOverhead": "4G", "driver-cores": 1, @@ -168,7 +169,7 @@ 'S1_collection': "SENTINEL1_GRD" } -def _get_default_job_options() -> Dict[str, str]: +def _get_default_job_options() -> Dict[str, Union[str, int, float, List]]: """ Retrieves the default job options for OpenEO extract operations. @@ -181,7 +182,7 @@ def _get_default_job_options() -> Dict[str, str]: """ return OPENEO_EXTRACT_JOB_OPTIONS.copy() -def get_job_options(provider: str = None, task: str = 'raw_extraction') -> Dict[str, str]: +def get_job_options(provider: str = None, task: str = 'raw_extraction') -> Dict[str, Union[str, int, float, List]]: """ Retrieve job options based on the specified provider and task. @@ -288,6 +289,7 @@ def get_standard_processing_options(provider: str, task: str = 'raw_extraction') "skip_check_S1": SKIP_CHECK_S1, "skip_check_S2": SKIP_CHECK_S2, "apply_cloud_mask": APPLY_CLOUD_MASK, + "get_NOBSperc": GET_NOBS, "openeo_chunk_size": CHUNK_SIZE, } elif (task == 'feature_generation') or (task == 'vi_generation'): @@ -307,6 +309,7 @@ def get_standard_processing_options(provider: str, task: str = 'raw_extraction') "skip_check_S1": SKIP_CHECK_S1, "skip_check_S2": SKIP_CHECK_S2, "apply_cloud_mask": APPLY_CLOUD_MASK, + "get_NOBSperc": GET_NOBS, "optical_vi_list" : VI_LIST, "radar_vi_list" : RADAR_LIST, "S2_scaling" : S2_SCALING, @@ -325,62 +328,57 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR S1_temporal_reducer: str = S1_TEMPORAL_REDUCER, slc_masking: Optional[str] = MASKING_ALGO, S2_bands: List[str] = S2_BANDS, s2_tileid_list: Optional[List[str]] = S2_TILEID_LIST, skip_check_S1: bool = SKIP_CHECK_S1, skip_check_S2: bool = SKIP_CHECK_S2, - apply_cloud_mask: bool = APPLY_CLOUD_MASK, S2_max_cloud_cover: int = S2_MAX_CLOUD_COVER, + apply_cloud_mask: bool = APPLY_CLOUD_MASK, get_NOBSperc: bool = GET_NOBS, + S2_max_cloud_cover: int = S2_MAX_CLOUD_COVER, optical_vi_list: List[str] = VI_LIST, radar_vi_list: List[str] = RADAR_LIST, S2_scaling: List[int | float] = S2_SCALING, S1_db_rescale: bool = True, append: bool = True) -> Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]: """ - Generate a dictionary of advanced options for processing satellite imagery. - - This function validates input parameters and prepares a dictionary of options - required for processing satellite imagery data. Validation is applied for - various parameters to ensure that the provided values conform to the expected - formats or constraints. The function checks for valid values for key options - like satellite orbit direction, target coordinate reference system (CRS), - resolution, and others before constructing the dictionary. - - :param provider: The provider of satellite data. - :param s1_orbitdirection: Direction of Sentinel-1 pass, can be 'ASCENDING', - 'DESCENDING' or None. - :param target_crs: An integer representing the target coordinate reference - system (CRS). - :param resolution: The spatial resolution of the output in integer or float - format. - :param ts_interpolation: Boolean indicating whether to apply linear time-series - interpolation. - :param ts_interval: Interval for time series aggregation (temporal binning). Accepted values - are 'day', 'week', 'dekad', 'month', 'season', 'year', or - None. - :param S2_temporal_reducer: Method for reducing temporal data for Sentinel-2. - Valid options include 'median', 'mean', 'max', - 'min', 'first', 'last', 'product', 'sd', 'sum', - or 'variance'. - :param S1_temporal_reducer: Method for reducing temporal data for Sentinel-1. - Valid options include 'median', 'mean', 'max', - 'min', 'first', 'last', 'product', 'sd', 'sum', - or 'variance'. - :param slc_masking: Masking approach to be applied. Valid options are - 'mask_scl_dilation', 'satio', or None. - :param S2_bands: List of selected Sentinel-2 reflectance bands. - :param s2_tileid_list: Optional list of Sentinel-2 tiles for processing. Can - be None if tiles are not specified. - :param skip_check_S1: Boolean indicating whether to skip validation checks - for Sentinel-1 data. - :param skip_check_S2: Boolean indicating whether to skip validation checks - for Sentinel-2 data. - :param apply_cloud_mask: Boolean indicating whether to apply cloud masking or to add it as own band. - :param S2_max_cloud_cover: Maximum allowable cloud cover percentage for - Sentinel-2 data. Acceptable values are integers - between 0 and 100. - :param optical_vi_list: List of selected vegetation indices for optical data. - :param radar_vi_list: List of selected vegetation indices for radar data. - :param S2_scaling: List of scaling factors to be applied to Sentinel-2 data. - :param S1_db_rescale: Boolean controlling whether Sentinel-1 data must be - rescaled in decibels. - :param append: Boolean indicating whether to append the VI's to the reflectance cube or to replace them. - :param openeo_chunk_size: Chunk size for OpenEO processing. - - :return: A dictionary containing all validated options as key-value pairs. + Constructs a dictionary of advanced processing options for remote sensing data. + + This function validates input parameters and generates an options dictionary + tailored for processing remote sensing datasets, including Sentinel-1 and + Sentinel-2 data. It handles settings like temporal reducers, orbit directions, + spatial resolutions, and others. Input validation ensures proper parameter + types and value ranges. + + :param provider: (str) The data provider identifier. + :param s1_orbitdirection: (Optional[str]) The orbit direction for Sentinel-1 + data, can be 'ASCENDING', 'DESCENDING', or None. + :param target_crs: (Optional[int]) Target coordinate reference system code. + :param resolution: (int or float) Spatial resolution for the output data. + :param ts_interpolation: (bool) Whether to enable time-series interpolation. + :param ts_interval: (Optional[str]) Time-series interval, allowed values: + 'day', 'week', 'dekad', 'month', 'season', 'year', or None. + :param S2_temporal_reducer: (str) Temporal reducer applied to Sentinel-2 data, + permitted values: 'median', 'mean', 'max', 'min', 'first', 'last', + 'product', 'sd', 'sum', 'variance'. + :param openeo_chunk_size: (int) Chunk size for OpenEO processing. + :param S1_temporal_reducer: (str) Temporal reducer applied to Sentinel-1 data, + permitted values: 'median', 'mean', 'max', 'min', 'first', 'last', + 'product', 'sd', 'sum', 'variance'. + :param slc_masking: (Optional[str]) Masking algorithm for SLC, either + 'mask_scl_dilation', 'satio', or None. + :param S2_bands: (List[str]) List of Sentinel-2 reflectance bands to include. + :param s2_tileid_list: (Optional[List[str]]) List of Sentinel-2 tile IDs to + process, or None. + :param skip_check_S1: (bool) Whether to skip checking for Sentinel-1 data. + :param skip_check_S2: (bool) Whether to skip checking for Sentinel-2 data. + :param apply_cloud_mask: (bool) Whether to apply a cloud mask to Sentinel-2 + data. + :param get_NOBSperc: (bool) Whether to calculate the percentage of observations. + :param S2_max_cloud_cover: (int) Maximum cloud cover percentage allowed + for Sentinel-2 scenes (0-100 inclusive). + :param optical_vi_list: (List[str]) List of vegetation indices to calculate + for optical data. + :param radar_vi_list: (List[str]) List of indices to calculate for radar data. + :param S2_scaling: (List[int or float]) List of scaling factors for Sentinel-2 data. + :param S1_db_rescale: (bool) Whether to rescale Sentinel-1 data to decibels. + :param append: (bool) Whether to append new processing options to an existing + configuration dictionary. + + :return: (Dict[str, Union[str, bool, int or float, List[str], List[int or float]]]) + A dictionary containing all validated and formatted processing options. """ if s1_orbitdirection not in ['ASCENDING', 'DESCENDING', None]: @@ -448,6 +446,13 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR if type(apply_cloud_mask) != bool: raise ValueError(f'parameter for apply_cloud_mask must be an boolean.') + if type(get_NOBSperc) != bool: + raise ValueError(f'parameter for get_NOBSperc must be an boolean.') + + if (get_NOBSperc == True) and ((apply_cloud_mask == False) or (slc_masking != 'mask_scl_dilation')): + raise ValueError(f'parameter for get_NOBSperc can be only set to True if apply_cloud_mask is set to True ' + f'AND slc_masking is set to mask_scl_dilation.') + proc_opt = { "provider": provider, "s1_orbitdirection": s1_orbitdirection, @@ -464,6 +469,7 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR "skip_check_S1": skip_check_S1, "skip_check_S2": skip_check_S2, "apply_cloud_mask": apply_cloud_mask, + "get_NOBSperc": get_NOBSperc, "optical_vi_list": optical_vi_list, "radar_vi_list": radar_vi_list, "S2_scaling": S2_scaling, diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index 8195331..82cde8c 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -1,5 +1,6 @@ from __future__ import annotations import openeo +from openeo import DataCube from openeo.processes import array_create, if_, is_nodata, power, array_contains from openeo.rest.datacube import DataCube @@ -8,7 +9,7 @@ catalogue_check_CDSE_S1, catalogue_check_CDSE_S2) from eo_processing.config.settings import S2_BANDS, PLANET_BANDS, CHUNK_SIZE -from typing import Optional, Dict, Union, List, TYPE_CHECKING +from typing import Optional, Dict, Union, List, TYPE_CHECKING, Tuple if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format @@ -29,11 +30,15 @@ def ts_datacube_extraction( resolution, ts_interval, time_interpolation, SLC_masking_algo, s1_orbitdirection, S2_bands) :return: DataCube """ - # get the Sentinel-2 datacube as starting point - bands = extract_S2_datacube(connection, bbox, start, end, - S2_collection=S2_collection, - **processing_options) + # Note: for cubes with a time dimension, no nobs_perc band can be attached + get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + if get_NOBSperc: + processing_options["get_NOBSperc"] = False + # get the Sentinel-2 datacube as starting point + bands: DataCube = extract_S2_datacube(connection, bbox, start, end, + S2_collection=S2_collection, + **processing_options) # add the Sentinel-1 data if S1_collection is not None: bands = bands.merge_cubes(extract_S1_datacube(connection, bbox, start, end, @@ -170,7 +175,8 @@ def extract_S1_datacube( def extract_S2_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str='SENTINEL2_L2A', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) \ + -> tuple[DataCube, DataCube | None] | DataCube: """ extract the Sentinel-2 data for requested time period and preprocess the data :param connection: active openEO connection object @@ -179,7 +185,7 @@ def extract_S2_datacube( :param end: str, End date for requested input data (yyyy-mm-dd) :param S2_collection: (str, optional): Collection name for S2 data :param processing_options: (dict, optional), processing options for preprocessing routine (provider, target_crs, - resolution, ts_interval, time_interpolation, SLC_masking_algo, S2_bands) + resolution, ts_interval, time_interpolation, SLC_masking_algo, S2_bands, apply_cloud_mask, getNOBSperc) :return: DataCube """ # evaluate additional processing_options @@ -203,6 +209,7 @@ def extract_S2_datacube( max_cloud_max: int = processing_options.get("S2_max_cloud_cover", 95) chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) s2_tileid_list: Optional[List[str]] = processing_options.get("s2_tileid_list", None) + get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) # check if the masking parameter is valid if masking not in ['satio', 'mask_scl_dilation', None]: @@ -240,6 +247,9 @@ def extract_S2_datacube( else: bands = bands.resample_spatial(resolution=target_res) + # for the NOBSperc to work we need to init the cube as None + nobs_perc_band = None + # apply cloud masking if masking == 'mask_scl_dilation': # we have to load the SCL mask as an extra cube to get it correctly working @@ -271,8 +281,22 @@ def extract_S2_datacube( ).rename_labels("bands", ["S2-CLOUD-MASK"]) if apply_mask: + if get_NOBSperc: + # get temporal count of valid pixels before masking + tobs = sub_collection.count_time().rename_labels("bands", ["tobs"]).convert_data_type('float32') + + # apply the cloud mask to the reference data bands = bands.mask(scl_dilated_mask) # here I do trust the automatic resampling of the mask + + if get_NOBSperc: + # get temporal count after applying cloud mask = nobs + nobs = bands.count_time().rename_labels("bands", ["nobs"]).convert_data_type('float32') + # make sure TOBS is in right projection/resolution + tobs = tobs.resample_cube_spatial(target=nobs, method="near") + # calculate nobs_perc + nobs_perc_band = nobs.divide(tobs).multiply(100.).rename_labels("bands", ["nobs_perc"]) else: + scl_dilated_mask = scl_dilated_mask.resample_cube_spatial(target=bands, method="near") bands = bands.merge_cubes(scl_dilated_mask) elif masking == 'satio': # Apply satio-based mask @@ -287,6 +311,7 @@ def extract_S2_datacube( if apply_mask: bands = bands.mask(mask) # masks are automatically resampled/warped else: + mask = mask.resample_cube_spatial(target=bands, method="near") bands = bands.merge_cubes(mask) # time aggregation if wished @@ -299,8 +324,12 @@ def extract_S2_datacube( process="array_interpolate_linear") # forcing 16bit --> UInt16 bands = bands.linear_scale_range(0, 65534, 0, 65534) - - return bands + + # the return is tricky since we have to be backwards compatible and still get nobs_perc working + if get_NOBSperc: + return bands, nobs_perc_band + else: + return bands def extract_planet_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 48da2f6..b12ffd1 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -11,7 +11,7 @@ from eo_processing.config.settings import VI_LIST, RADAR_LIST, S2_SCALING, \ PLANET_VI_LIST, PLANET_SCALING, CHUNK_SIZE -from typing import Optional, Dict, Union, List, Literal, TYPE_CHECKING +from typing import Optional, Dict, Union, List, TYPE_CHECKING if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format @@ -29,12 +29,12 @@ def optical_indices( """ # evaluate additional processing_options if collection == 'SENTINEL2_L2A': - vi_list = processing_options.get("optical_vi_list", VI_LIST) + vi_list: List = processing_options.get("optical_vi_list", VI_LIST) input_scaling = processing_options.get("S2_scaling", S2_SCALING) append = processing_options.get("append", True) platform = 'Sentinel-2A' elif collection == 'PlanetScope': - vi_list = processing_options.get("optical_vi_list", PLANET_VI_LIST) + vi_list: List = processing_options.get("optical_vi_list", PLANET_VI_LIST) input_scaling = processing_options.get("planet_scaling", PLANET_SCALING) append = processing_options.get("append", True) platform = 'PlanetScope' @@ -52,7 +52,6 @@ def optical_indices( # TODO: convert the datacube back to int16 - using the output scaling functionality tested in one # of the example notebooks - return vi_cube def radar_indices( @@ -65,7 +64,7 @@ def radar_indices( :return: VI datacube merged of input_cube and vi results """ # evaluate additional processing_options - vi_list = processing_options.get("radar_vi_list", RADAR_LIST) + vi_list: List = processing_options.get("radar_vi_list", RADAR_LIST) db_rescaling = processing_options.get("S1_db_rescale", True) append = processing_options.get("append", True) chunk_size = processing_options.get("openeo_chunk_size", CHUNK_SIZE) @@ -80,14 +79,11 @@ def radar_indices( (20. * x[1].log(base=10)) - 83.]) ) - # calculate VI's if append: vi_cube = append_indices(datacube=input_cube, indices=vi_list, platform=platform) else: vi_cube = compute_indices(datacube=input_cube, indices=vi_list, platform=platform, append=False) - - return vi_cube def generate_S1_indices( @@ -128,9 +124,14 @@ def generate_S2_indices( resolution, ts_interval, time_interpolation, SLC_masking_algo, optical_vi_list, S2_scaling, append, S2_bands) :return: DataCube """ - # get the S2 input data pre-processed - input_cube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) + # Note: for cubes with a time dimension, no nobs_perc band can be attached + get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + if get_NOBSperc: + processing_options["get_NOBSperc"] = False + + # get the Sentinel-2 datacube as starting point + input_cube: DataCube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) # call the VI generator result_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) @@ -138,7 +139,7 @@ def generate_S2_indices( def generate_indices_master_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, - S2_collection: str ='SENTINEL2_L2A', S1_collection: str ='SENTINEL1_GRD', + S2_collection: str ='SENTINEL2_L2A', S1_collection: Optional[str] ='SENTINEL1_GRD', **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: """ Warper to extract a full data cube of preprocessed data @@ -153,9 +154,10 @@ def generate_indices_master_cube( S2_scaling, append, S2_bands, radar_vi_list, S1_db_rescale) :return: DataCube """ - # get the S2 indices + # get S2 indices cube - no nobs_perc band needed indices_cube = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) + # merge the S1 indices if S1_collection is not None: indices_cube = indices_cube.merge_cubes(generate_S1_indices(connection, bbox, start, end, @@ -233,8 +235,6 @@ def calculate_features_cube(input_data: DataCube, chunk_size: int = CHUNK_SIZE) for band in input_data.metadata.band_names for stat in ["p2", "p5", "p25", "median", "p75", "p95", "p98", "mean", "sd", "sum", "iqr", "iqr0595"] ] - #rename 'S2-CLOUD-MASK_sum' - new_band_names = ['valid_obs' if x == 'S2-CLOUD-MASK_sum' else x for x in new_band_names] features_cube = features_cube.rename_labels('bands', new_band_names) @@ -244,7 +244,7 @@ def calculate_features_cube(input_data: DataCube, chunk_size: int = CHUNK_SIZE) band not in ['S2REP_sd', 'S2REP_sum', 'S2REP_iqr', 'S2REP_iqr0595' , 'VV_sum', 'VH_sum', 'VHVVD_sum', 'S2-CLOUD-MASK_p2', 'S2-CLOUD-MASK_p5', 'S2-CLOUD-MASK_p25', 'S2-CLOUD-MASK_median', 'S2-CLOUD-MASK_p75','S2-CLOUD-MASK_p95', 'S2-CLOUD-MASK_p98', 'S2-CLOUD-MASK_mean', - 'S2-CLOUD-MASK_sd','S2-CLOUD-MASK_iqr','S2-CLOUD-MASK_iqr0595']] + 'S2-CLOUD-MASK_sd','S2-CLOUD-MASK_iqr','S2-CLOUD-MASK_iqr0595', 'S2-CLOUD-MASK_sum']] features_cube = features_cube.filter_bands(bands=bands_keep) @@ -267,7 +267,7 @@ def generate_S1_feature_cube( """ chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - # get the reflectance and VI time series cube + # get the natural values and VI time series cube input_data = generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, **processing_options) # get features @@ -291,14 +291,28 @@ def generate_S2_feature_cube( :return: DataCube with only features """ chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - # get the reflectance and VI time series cube - input_data = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) + + get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + # feature cubes have no time dimension, so we can add the nobs_perc band to the cube + if get_NOBSperc: + # get the reflectance and VI time series cube PLUS NOBS_perc + input_cube, nobs_perc_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) + # call the VI generator + indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) + else: + # get the reflectance and VI time series cube + indices_cube = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) + # get features - features_cube = calculate_features_cube(input_data, chunk_size=chunk_size) + features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) - return features_cube + # add the nobs_perc_band to the cube if needed + if get_NOBSperc: + features_cube = features_cube.merge_cubes(nobs_perc_band) + return features_cube def generate_planet_feature_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, @@ -344,11 +358,32 @@ def generate_master_feature_cube( :return: DataCube with only features """ chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - # get the reflectance and VI time series cube - input_data = generate_indices_master_cube(connection, bbox, start, end, S2_collection=S2_collection, - S1_collection=S1_collection, **processing_options) + + ### create the full master indices cube + get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + # feature cubes have no time dimension, so we can add the nobs_perc band to the cube + if get_NOBSperc: + # get the reflectance and VI time series cube PLUS NOBS_perc + input_cube, nobs_perc_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) + # call the VI generator + indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) + else: + # get the reflectance and VI time series cube + indices_cube = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) + + # merge the S1 indices + if S1_collection is not None: + indices_cube = indices_cube.merge_cubes(generate_S1_indices(connection, bbox, start, end, + S1_collection=S1_collection, + **processing_options)) # get features - features_cube = calculate_features_cube(input_data, chunk_size=chunk_size) + features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) + + # add the nobs_perc_band to the cube if needed + if get_NOBSperc: + features_cube = features_cube.merge_cubes(nobs_perc_band) return features_cube @@ -471,4 +506,3 @@ def generate_nonEO_feature_cube( base_cube = base_cube.merge_cubes(nonEO_feature_cube) return base_cube - From 9af8565e23119a3831188a63389c2b0c695c582d Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 23 Jun 2026 22:39:05 +0200 Subject: [PATCH 04/43] Remove unused `DataCube` import from `preprocessing.py` --- src/eo_processing/openeo/preprocessing.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index 82cde8c..b3e6ecd 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -1,6 +1,5 @@ from __future__ import annotations import openeo -from openeo import DataCube from openeo.processes import array_create, if_, is_nodata, power, array_contains from openeo.rest.datacube import DataCube From b1385a3316951a68a45a61513b735685a73fa8ae Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 23 Jun 2026 22:50:50 +0200 Subject: [PATCH 05/43] Handle `None` check for `nobs_perc_band` before merging cubes in `get_NOBSperc` logic --- src/eo_processing/openeo/processing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index b12ffd1..a7de283 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -310,7 +310,8 @@ def generate_S2_feature_cube( # add the nobs_perc_band to the cube if needed if get_NOBSperc: - features_cube = features_cube.merge_cubes(nobs_perc_band) + if nobs_perc_band is not None: + features_cube = features_cube.merge_cubes(nobs_perc_band) return features_cube @@ -383,7 +384,8 @@ def generate_master_feature_cube( # add the nobs_perc_band to the cube if needed if get_NOBSperc: - features_cube = features_cube.merge_cubes(nobs_perc_band) + if nobs_perc_band is not None: + features_cube = features_cube.merge_cubes(nobs_perc_band) return features_cube From dfeed7505053e2127f83b26747501a19585059e8 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 24 Jun 2026 09:23:09 +0200 Subject: [PATCH 06/43] Add test notebook for generating master feature cube without nobs --- notebooks/test_nobs.ipynb | 300 ++++++++++++++++++++++ src/eo_processing/openeo/preprocessing.py | 4 +- 2 files changed, 302 insertions(+), 2 deletions(-) create mode 100644 notebooks/test_nobs.ipynb diff --git a/notebooks/test_nobs.ipynb b/notebooks/test_nobs.ipynb new file mode 100644 index 0000000..8cba5d7 --- /dev/null +++ b/notebooks/test_nobs.ipynb @@ -0,0 +1,300 @@ +{ + "cells": [ + { + "cell_type": "code", + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2026-06-23T22:09:22.700092100Z", + "start_time": "2026-06-23T22:09:20.875678800Z" + } + }, + "source": [ + "from eo_processing.utils.helper import init_connection\n", + "from eo_processing.openeo.processing import generate_master_feature_cube\n", + "from eo_processing.config.settings import get_advanced_options, get_job_options, get_collection_options" + ], + "outputs": [], + "execution_count": 1 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T22:09:24.176749300Z", + "start_time": "2026-06-23T22:09:24.152892500Z" + } + }, + "cell_type": "code", + "source": [ + "# the time context is given by start and end date\n", + "year = 2021\n", + "start = f'{year}-01-01'\n", + "end = f'{year+1}-01-01' # the end is always exclusive\n", + "\n", + "# the space context is defined as a bounding box dictionary with south,west,north,east and crs\n", + "# we take as example the AOI of Slovakia Devin_Lake (wetlands)\n", + "AOI = {'east': 4838000, 'south': 2818000, 'west': 4831000, 'north': 2825000, 'crs': 'EPSG:3035'}" + ], + "id": "1c319454e1c292f1", + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T22:09:25.371391200Z", + "start_time": "2026-06-23T22:09:25.345114800Z" + } + }, + "cell_type": "code", + "source": [ + "processing_options = get_advanced_options(provider='cdse', skip_check_S1=True, skip_check_S2=True)\n", + "job_options = get_job_options(provider='cdse', task='feature_generation')\n", + "collection_options = get_collection_options(provider='cdse')" + ], + "id": "fa16159203be2475", + "outputs": [], + "execution_count": 3 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T22:09:27.363213300Z", + "start_time": "2026-06-23T22:09:26.287070300Z" + } + }, + "cell_type": "code", + "source": "con = init_connection(provider='cdse')", + "id": "d06f89bea20dce40", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + } + ], + "execution_count": 4 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T21:17:35.207239500Z", + "start_time": "2026-06-23T21:17:33.023082800Z" + } + }, + "cell_type": "code", + "source": [ + "# get master cube without nobs\n", + "data = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" + ], + "id": "fc107ebf279499cf", + "outputs": [], + "execution_count": 10 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T21:27:22.013036900Z", + "start_time": "2026-06-23T21:17:37.252058Z" + } + }, + "cell_type": "code", + "source": "data.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features.tif', title='feature without nobs', job_options=job_options)", + "id": "f0b7c0577d597daf", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-26062321173845d9b5377e8ef820d82f': send 'start'\n", + "0:00:03 Job 'j-26062321173845d9b5377e8ef820d82f': created (progress 0%)\n", + "0:00:08 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", + "0:00:14 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", + "0:00:22 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", + "0:00:33 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", + "0:00:45 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:01:00 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:01:20 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:01:44 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:02:14 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:02:51 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:03:38 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:04:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:05:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:06:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:07:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", + "0:08:38 Job 'j-26062321173845d9b5377e8ef820d82f': finished (progress 100%)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 11 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T22:09:37.261575300Z", + "start_time": "2026-06-23T22:09:34.805352700Z" + } + }, + "cell_type": "code", + "source": [ + "# now we run same with nobs_perc band\n", + "processing_options.update({'get_NOBSperc': True})\n", + "data2 = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" + ], + "id": "95a0e6270cf65cc3", + "outputs": [], + "execution_count": 5 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T23:36:01.401723400Z", + "start_time": "2026-06-23T23:36:01.377605400Z" + } + }, + "cell_type": "code", + "source": [ + "# update job_opions due to OOM when creating nobs_perc band\n", + "job_options.update({\"executor-memory\": \"5G\",\n", + " \"executor-memoryOverhead\": \"5G\",\n", + " \"python-memory\": \"5G\",})\n" + ], + "id": "2d0d439dc158f659", + "outputs": [], + "execution_count": 17 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-23T23:45:55.414297500Z", + "start_time": "2026-06-23T23:36:04.533643100Z" + } + }, + "cell_type": "code", + "source": "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_with_nobs.tif', title='feature with nobs', job_options=job_options)", + "id": "b522dd0e9b4adaa5", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-26062323360549caa78483dd83602d5e': send 'start'\n", + "0:00:02 Job 'j-26062323360549caa78483dd83602d5e': created (progress 0%)\n", + "0:00:08 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:00:14 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:00:22 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:00:32 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:00:45 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:01:00 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", + "0:01:20 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:01:44 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:02:14 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:02:51 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:03:38 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:04:36 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:05:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:06:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:07:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", + "0:08:38 Job 'j-26062323360549caa78483dd83602d5e': finished (progress 100%)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 18 + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "", + "id": "bcb5d1b835c659eb" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index b3e6ecd..c52f5de 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -107,7 +107,7 @@ def extract_S1_datacube( # fix no-VH-data issue properties.update({"polarisation": lambda pol: pol == "VV&VH"}) - + # Load collection bands = connection.load_collection(S1_collection, bands=['VH', 'VV'], @@ -289,7 +289,7 @@ def extract_S2_datacube( if get_NOBSperc: # get temporal count after applying cloud mask = nobs - nobs = bands.count_time().rename_labels("bands", ["nobs"]).convert_data_type('float32') + nobs = bands.filter_bands(S2_bands[0]).count_time().rename_labels("bands", ["nobs"]).convert_data_type('float32') # make sure TOBS is in right projection/resolution tobs = tobs.resample_cube_spatial(target=nobs, method="near") # calculate nobs_perc From 383ef1eacb9d817a198d0482d116441a0e91cee1 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 24 Jun 2026 10:01:58 +0200 Subject: [PATCH 07/43] Ensure automatic resampling when merging cubes in masking logic --- src/eo_processing/openeo/preprocessing.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index c52f5de..dbc27a4 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -107,7 +107,7 @@ def extract_S1_datacube( # fix no-VH-data issue properties.update({"polarisation": lambda pol: pol == "VV&VH"}) - + # Load collection bands = connection.load_collection(S1_collection, bands=['VH', 'VV'], @@ -295,8 +295,7 @@ def extract_S2_datacube( # calculate nobs_perc nobs_perc_band = nobs.divide(tobs).multiply(100.).rename_labels("bands", ["nobs_perc"]) else: - scl_dilated_mask = scl_dilated_mask.resample_cube_spatial(target=bands, method="near") - bands = bands.merge_cubes(scl_dilated_mask) + bands = bands.merge_cubes(scl_dilated_mask) #cubes are automatically resampled if needed elif masking == 'satio': # Apply satio-based mask mask = scl_mask_erode_dilate( @@ -310,8 +309,7 @@ def extract_S2_datacube( if apply_mask: bands = bands.mask(mask) # masks are automatically resampled/warped else: - mask = mask.resample_cube_spatial(target=bands, method="near") - bands = bands.merge_cubes(mask) + bands = bands.merge_cubes(mask) #cubes are automatically resampled if needed # time aggregation if wished if ts_interval is not None: From 47b8127204df43512500f03523b4051ddad54908 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Thu, 25 Jun 2026 17:24:17 +0200 Subject: [PATCH 08/43] Replace `get_NOBSperc` functionality with `get_NVBT` as input data quality indicator across settings, processing logic, and docs. Refactor type annotations for consistency. Update test notebook to include example usage. --- README.md | 14 +- notebooks/test_nobs.ipynb | 426 +++++++++++++--------- src/eo_processing/config/settings.py | 118 +++--- src/eo_processing/openeo/preprocessing.py | 48 +-- src/eo_processing/openeo/processing.py | 66 ++-- 5 files changed, 372 insertions(+), 300 deletions(-) diff --git a/README.md b/README.md index e43e9d9..c7c117b 100644 --- a/README.md +++ b/README.md @@ -87,12 +87,14 @@ apply_cloud_mask: bool = True mask band is removed from the feature cube as soon the time domain is aggregated.) Note: no effect when 'mask_scl_dilation' parameter is set to None. -get_NOBSperc: bool = False - if True, the number of observations per pixel is calculated and added to the feature cube. - Note: this flag is only relevant for Sentinel-2 data as well as the 'band' NOBSperc is only added - to cubes with time domain aggregation. - Note: 'apply_cloud_mask' has to set to 'True' AND 'SLC_masking_algo' has to be 'mask_scl_dilation' - for this flag to work. +get_NVBT: bool = False + Number of Valid Binned Timesteps: Specifies the count of valid timesteps after temporal binning. + This can be used as an input data quality indicator. + if True, NVBT is calculated for optical data after cloud masking and temporal aggregation + (if both were activated) but without linear interpolation (if activated). + Note: this flag is only relevant for Sentinel-2 data as well as the 'band' S2_NVBT is only added + to cubes with removed time domain (feature cubes). + Note: algorithm is applied even when cloud masking was deactivated or temporal aggregation was skipped. append: bool = True if the VI's are appended to the reflectance/radar time series cube OR replace them diff --git a/notebooks/test_nobs.ipynb b/notebooks/test_nobs.ipynb index 8cba5d7..4d66cac 100644 --- a/notebooks/test_nobs.ipynb +++ b/notebooks/test_nobs.ipynb @@ -1,72 +1,176 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "d46e36dcd1f7a0ef", + "metadata": {}, + "source": [ + "# example how to generate a feature cube based on EO data (Sentinel-1 and Sentinel-2) for a 20x20km tile\n", + "this tests include the generation of the feature cube with and without NVBT band. The NVBT band is a measure of the number of valid input data timesteps after cloud masking and the internal temporal binning.\n", + "The NVBT band can be useful for identifying areas with high or low levels of observation, which can be important for a variety of applications, such as monitoring changes in land use or assessing the quality of data in a given area." + ] + }, { "cell_type": "code", + "execution_count": 1, "id": "initial_id", "metadata": { - "collapsed": true, "ExecuteTime": { - "end_time": "2026-06-23T22:09:22.700092100Z", - "start_time": "2026-06-23T22:09:20.875678800Z" + "end_time": "2026-06-25T11:47:04.463781400Z", + "start_time": "2026-06-25T11:47:02.536443Z" } }, + "outputs": [], "source": [ "from eo_processing.utils.helper import init_connection\n", "from eo_processing.openeo.processing import generate_master_feature_cube\n", "from eo_processing.config.settings import get_advanced_options, get_job_options, get_collection_options" - ], - "outputs": [], - "execution_count": 1 + ] }, { + "cell_type": "markdown", + "id": "c9abe4dec39f3145", + "metadata": {}, + "source": [ + "#### declare space and time" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1c319454e1c292f1", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T22:09:24.176749300Z", - "start_time": "2026-06-23T22:09:24.152892500Z" + "end_time": "2026-06-25T11:47:06.344180Z", + "start_time": "2026-06-25T11:47:06.317179500Z" } }, - "cell_type": "code", + "outputs": [], "source": [ "# the time context is given by start and end date\n", - "year = 2021\n", + "year = 2024\n", "start = f'{year}-01-01'\n", "end = f'{year+1}-01-01' # the end is always exclusive\n", "\n", "# the space context is defined as a bounding box dictionary with south,west,north,east and crs\n", - "# we take as example the AOI of Slovakia Devin_Lake (wetlands)\n", - "AOI = {'east': 4838000, 'south': 2818000, 'west': 4831000, 'north': 2825000, 'crs': 'EPSG:3035'}" - ], - "id": "1c319454e1c292f1", - "outputs": [], - "execution_count": 2 + "# we take as example an 20x20km tile in EU LAEA grid around Vienna\n", + "AOI = {'east': 4800000, 'south': 2820000, 'west': 4780000, 'north': 2840000, 'crs': 3035}" + ] + }, + { + "cell_type": "markdown", + "id": "39fc1ee260fa1492", + "metadata": {}, + "source": [ + "### get processing_options for the eo_processing functions, collection_options and job_options" + ] }, { + "cell_type": "code", + "execution_count": 3, + "id": "fa16159203be2475", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T22:09:25.371391200Z", - "start_time": "2026-06-23T22:09:25.345114800Z" + "end_time": "2026-06-25T11:47:09.467340900Z", + "start_time": "2026-06-25T11:47:09.446211500Z" } }, - "cell_type": "code", + "outputs": [], "source": [ "processing_options = get_advanced_options(provider='cdse', skip_check_S1=True, skip_check_S2=True)\n", "job_options = get_job_options(provider='cdse', task='feature_generation')\n", - "collection_options = get_collection_options(provider='cdse')" + "collection_options = get_collection_options(provider='cdse')\n", + "processing_options.update({'openeo_chunk_size': 64})" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "72616c9c-4583-4132-a38c-23988aeb8434", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'provider': 'cdse',\n", + " 's1_orbitdirection': 'DESCENDING',\n", + " 'target_crs': 3035,\n", + " 'resolution': 10.0,\n", + " 'time_interpolation': False,\n", + " 'ts_interval': 'dekad',\n", + " 'S2_temporal_reducer': 'median',\n", + " 'S1_temporal_reducer': 'mean',\n", + " 'SLC_masking_algo': 'mask_scl_dilation',\n", + " 'S2_max_cloud_cover': 95,\n", + " 'S2_bands': ['B02',\n", + " 'B03',\n", + " 'B04',\n", + " 'B05',\n", + " 'B06',\n", + " 'B07',\n", + " 'B08',\n", + " 'B8A',\n", + " 'B11',\n", + " 'B12'],\n", + " 's2_tileid_list': None,\n", + " 'skip_check_S1': True,\n", + " 'skip_check_S2': True,\n", + " 'apply_cloud_mask': True,\n", + " 'get_NVBT': False,\n", + " 'optical_vi_list': ['ABDI1',\n", + " 'ABDI2',\n", + " 'AWEInsh',\n", + " 'AVI',\n", + " 'BLFEI',\n", + " 'CIRE',\n", + " 'EVI',\n", + " 'IRECI',\n", + " 'MBWI',\n", + " 'MNDWI',\n", + " 'MNDVI',\n", + " 'NDMI',\n", + " 'NDVI',\n", + " 'NDVIMNDWI',\n", + " 'NDWI',\n", + " 'NMDI',\n", + " 'NIRv',\n", + " 'S2WI',\n", + " 'S2REP',\n", + " 'WRI'],\n", + " 'radar_vi_list': ['VHVVD', 'VHVVR', 'DpRVIVV'],\n", + " 'S2_scaling': [0, 10000, 0, 1.0],\n", + " 'S1_db_rescale': True,\n", + " 'append': True,\n", + " 'openeo_chunk_size': 64}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } ], - "id": "fa16159203be2475", - "outputs": [], - "execution_count": 3 + "source": [ + "processing_options" + ] }, { + "cell_type": "markdown", + "id": "a05d287923cf93eb", + "metadata": {}, + "source": [ + "### establish connection to openEO" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d06f89bea20dce40", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T22:09:27.363213300Z", - "start_time": "2026-06-23T22:09:26.287070300Z" + "end_time": "2026-06-25T11:47:13.166230700Z", + "start_time": "2026-06-25T11:47:12.129969200Z" } }, - "cell_type": "code", - "source": "con = init_connection(provider='cdse')", - "id": "d06f89bea20dce40", "outputs": [ { "name": "stdout", @@ -76,223 +180,199 @@ ] } ], - "execution_count": 4 + "source": [ + "con = init_connection(provider='cdse')" + ] + }, + { + "cell_type": "markdown", + "id": "adcab1031cc5e6c2", + "metadata": {}, + "source": [ + "### run the feature cube generation WITHOUT NVBT band" + ] }, { + "cell_type": "code", + "execution_count": 6, + "id": "f32c4461ec4331a5", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T21:17:35.207239500Z", - "start_time": "2026-06-23T21:17:33.023082800Z" + "end_time": "2026-06-25T11:47:37.935574300Z", + "start_time": "2026-06-25T11:47:37.918830900Z" } }, + "outputs": [], + "source": [ + "# update job_options due toBerts setting from last inference runs\n", + "# ToDO: optimize the job settings for feature_cube_generation_with_nobs & feature_cube_generation and put in settings + add correct task to 'get_job_options'\n", + "job_options.update({\n", + " \"driver-memory\": \"8G\",\n", + " \"driver-memoryOverhead\": \"4G\",\n", + " \"executor-memory\": \"8G\",\n", + " \"executor-memoryOverhead\": \"3g\",\n", + " \"max-executors\": 10,\n", + " \"python-memory\": \"disable\",\n", + " \"allow_empty_cubes\": True,\n", + " \"soft-errors\": True})\n", + " # \"soft-errors\": 0.05})" + ] + }, + { "cell_type": "code", + "execution_count": 7, + "id": "fc107ebf279499cf", + "metadata": { + "ExecuteTime": { + "end_time": "2026-06-25T11:47:42.510403800Z", + "start_time": "2026-06-25T11:47:39.261915600Z" + } + }, + "outputs": [], "source": [ "# get master cube without nobs\n", "data = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" - ], - "id": "fc107ebf279499cf", - "outputs": [], - "execution_count": 10 + ] }, { + "cell_type": "code", + "execution_count": null, + "id": "f0b7c0577d597daf", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T21:27:22.013036900Z", - "start_time": "2026-06-23T21:17:37.252058Z" + "start_time": "2026-06-25T11:47:44.779193900Z" } }, - "cell_type": "code", - "source": "data.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features.tif', title='feature without nobs', job_options=job_options)", - "id": "f0b7c0577d597daf", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0:00:00 Job 'j-26062321173845d9b5377e8ef820d82f': send 'start'\n", - "0:00:03 Job 'j-26062321173845d9b5377e8ef820d82f': created (progress 0%)\n", - "0:00:08 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", - "0:00:14 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", - "0:00:22 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", - "0:00:33 Job 'j-26062321173845d9b5377e8ef820d82f': queued (progress 0%)\n", - "0:00:45 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:01:00 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:01:20 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:01:44 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:02:14 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:02:51 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:03:38 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:04:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:05:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:06:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:07:37 Job 'j-26062321173845d9b5377e8ef820d82f': running (progress N/A)\n", - "0:08:38 Job 'j-26062321173845d9b5377e8ef820d82f': finished (progress 100%)\n" + "0:00:00 Job 'j-260625132115419ba785da40021c22e7': send 'start'\n", + "0:00:05 Job 'j-260625132115419ba785da40021c22e7': created (progress 0%)\n", + "0:00:10 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", + "0:00:17 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", + "0:00:25 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", + "0:00:35 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", + "0:00:47 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", + "0:01:02 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n" ] - }, - { - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " " - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" } ], - "execution_count": 11 + "source": [ + "data.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_v2.tif', title='feature without nobs (20x20km)', job_options=job_options)" + ] }, { + "cell_type": "markdown", + "id": "3f775e9b75ec1382", + "metadata": {}, + "source": [ + "## run with activated NVBT generation" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "95a0e6270cf65cc3", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T22:09:37.261575300Z", - "start_time": "2026-06-23T22:09:34.805352700Z" + "end_time": "2026-06-25T11:04:52.435450200Z", + "start_time": "2026-06-25T11:04:50.919941400Z" } }, - "cell_type": "code", + "outputs": [], "source": [ "# now we run same with nobs_perc band\n", - "processing_options.update({'get_NOBSperc': True})\n", + "processing_options.update({'get_NVBT': True})\n", "data2 = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" - ], - "id": "95a0e6270cf65cc3", - "outputs": [], - "execution_count": 5 + ] }, { + "cell_type": "code", + "execution_count": 6, + "id": "2d0d439dc158f659", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T23:36:01.401723400Z", - "start_time": "2026-06-23T23:36:01.377605400Z" + "end_time": "2026-06-24T11:27:46.882259200Z", + "start_time": "2026-06-24T11:27:46.870182500Z" } }, - "cell_type": "code", - "source": [ - "# update job_opions due to OOM when creating nobs_perc band\n", - "job_options.update({\"executor-memory\": \"5G\",\n", - " \"executor-memoryOverhead\": \"5G\",\n", - " \"python-memory\": \"5G\",})\n" - ], - "id": "2d0d439dc158f659", "outputs": [], - "execution_count": 17 + "source": [ + "# update job_options due to OOM when creating nobs_perc band\n", + "# ToDO: optimize the job settings for feature_cube_generation_with_nobs & feature_cube_generation and put in settings + add correct task to 'get_job_options'\n", + "job_options.update({\n", + " \"driver-memory\": \"4g\",\n", + " \"driver-memoryOverhead\": \"4g\",\n", + " \"executor-memory\": \"14g\",\n", + " \"executor-memoryOverhead\": \"10g\",\n", + " \"max-executors\": 10,\n", + " \"python-memory\": \"disable\",})\n" + ] }, { + "cell_type": "code", + "execution_count": null, + "id": "b522dd0e9b4adaa5", "metadata": { "ExecuteTime": { - "end_time": "2026-06-23T23:45:55.414297500Z", - "start_time": "2026-06-23T23:36:04.533643100Z" + "end_time": "2026-06-25T11:25:41.930978300Z", + "start_time": "2026-06-25T11:04:57.262779500Z" } }, - "cell_type": "code", - "source": "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_with_nobs.tif', title='feature with nobs', job_options=job_options)", - "id": "b522dd0e9b4adaa5", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0:00:00 Job 'j-26062323360549caa78483dd83602d5e': send 'start'\n", - "0:00:02 Job 'j-26062323360549caa78483dd83602d5e': created (progress 0%)\n", - "0:00:08 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:00:14 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:00:22 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:00:32 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:00:45 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:01:00 Job 'j-26062323360549caa78483dd83602d5e': queued (progress 0%)\n", - "0:01:20 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:01:44 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:02:14 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:02:51 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:03:38 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:04:36 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:05:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:06:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:07:37 Job 'j-26062323360549caa78483dd83602d5e': running (progress N/A)\n", - "0:08:38 Job 'j-26062323360549caa78483dd83602d5e': finished (progress 100%)\n" + "0:00:00 Job 'j-2606251209214537a5b84140ae0d5972': send 'start'\n", + "0:00:03 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:00:09 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:00:15 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:00:23 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:00:33 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:00:46 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", + "0:01:01 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:01:20 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:01:44 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:02:14 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:02:51 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:03:38 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", + "0:04:37 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n" ] - }, - { - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " " - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" } ], - "execution_count": 18 + "source": [ + "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_with_nobs_v2.tif', title='feature with nobs (20x20km)', job_options=job_options)" + ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, - "source": "", - "id": "bcb5d1b835c659eb" + "id": "bcb5d1b835c659eb", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "weed", "language": "python", - "name": "python3" + "name": "weed" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.14.3" } }, "nbformat": 4, diff --git a/src/eo_processing/config/settings.py b/src/eo_processing/config/settings.py index 995e86e..993a6e5 100644 --- a/src/eo_processing/config/settings.py +++ b/src/eo_processing/config/settings.py @@ -1,5 +1,5 @@ from __future__ import annotations -from typing import List, Optional, Dict, Union, TYPE_CHECKING +from typing import List, Optional, Dict, Union, TYPE_CHECKING, Any if TYPE_CHECKING: from eo_processing.config.data_formats import storage_option_format @@ -14,13 +14,13 @@ # --------------------------------------------------- # standard processing options S1/S2 TARGET_CRS: int = 3035 # can be all known EPSG codes -TARGET_RESOLUTION: float = 10. +TARGET_RESOLUTION: float|int = 10. S1_ORBITDIRECTION: str = 'DESCENDING' S2_BANDS: List[str] = ["B02", "B03", "B04", "B05", "B06", "B07", "B08", "B8A", "B11", "B12"] S2_MAX_CLOUD_COVER: int = 95 MASKING_ALGO: str = 'mask_scl_dilation' APPLY_CLOUD_MASK: bool = True -GET_NOBS: bool = False +GET_NVBT: bool = False S2_TILEID_LIST: Optional[List[str]] = None SKIP_CHECK_S1: bool = False SKIP_CHECK_S2: bool = False @@ -53,19 +53,19 @@ RADAR_LIST: List[str] = ['VHVVD', 'VHVVR', 'DpRVIVV'] -S2_SCALING: List = [0, 10000, 0, 1.0] +S2_SCALING: List[Union[int, float]] = [0, 10000, 0, 1.0] # --------------------------------------------------- # Planet Processing options PLANET_MASKING_ALGO: str = 'mask_udm_dilation' PLANET_BANDS: List[str] = ["B01", "B02", "B03", "B04", "B05", "B06", "B07", "B08"] # Same for UDM2 and Spectral bands -PLANET_RESOLUTION: float = 3.0 +PLANET_RESOLUTION: float|int = 3.0 PLANET_VI_LIST: List[str] = ['NDVI', 'AVI', 'CIRE', 'NIRv', 'NDWI' ] -PLANET_SCALING: List = [0, 10000, 0, 1.0] +PLANET_SCALING: List[Union[int, float]] = [0, 10000, 0, 1.0] # --------------------------------------------------- # Job options for OpenEO @@ -250,7 +250,8 @@ def get_collection_options(provider: str) -> Dict[str, str]: else: raise ValueError(f'Provider `{provider}` not known.') -def get_standard_processing_options(provider: str, task: str = 'raw_extraction') -> dict: +def get_standard_processing_options(provider: str, task: str = 'raw_extraction') \ + -> Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]: """ Generate standard processing options based on the provider and specified task. @@ -289,7 +290,7 @@ def get_standard_processing_options(provider: str, task: str = 'raw_extraction') "skip_check_S1": SKIP_CHECK_S1, "skip_check_S2": SKIP_CHECK_S2, "apply_cloud_mask": APPLY_CLOUD_MASK, - "get_NOBSperc": GET_NOBS, + "get_NVBT": False, # NVBT is only added for feature cubes without time domain "openeo_chunk_size": CHUNK_SIZE, } elif (task == 'feature_generation') or (task == 'vi_generation'): @@ -309,7 +310,7 @@ def get_standard_processing_options(provider: str, task: str = 'raw_extraction') "skip_check_S1": SKIP_CHECK_S1, "skip_check_S2": SKIP_CHECK_S2, "apply_cloud_mask": APPLY_CLOUD_MASK, - "get_NOBSperc": GET_NOBS, + "get_NVBT": GET_NVBT, "optical_vi_list" : VI_LIST, "radar_vi_list" : RADAR_LIST, "S2_scaling" : S2_SCALING, @@ -317,6 +318,8 @@ def get_standard_processing_options(provider: str, task: str = 'raw_extraction') "append" : True, "openeo_chunk_size": CHUNK_SIZE, } + if task == 'vi_generation': + proc_opt['get_NVBT'] = False # NVBT is only added for feature cubes without time domain else: raise ValueError(f'Task `{task}` not known.') return proc_opt @@ -328,57 +331,50 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR S1_temporal_reducer: str = S1_TEMPORAL_REDUCER, slc_masking: Optional[str] = MASKING_ALGO, S2_bands: List[str] = S2_BANDS, s2_tileid_list: Optional[List[str]] = S2_TILEID_LIST, skip_check_S1: bool = SKIP_CHECK_S1, skip_check_S2: bool = SKIP_CHECK_S2, - apply_cloud_mask: bool = APPLY_CLOUD_MASK, get_NOBSperc: bool = GET_NOBS, + apply_cloud_mask: bool = APPLY_CLOUD_MASK, get_NVBT: bool = GET_NVBT, S2_max_cloud_cover: int = S2_MAX_CLOUD_COVER, optical_vi_list: List[str] = VI_LIST, radar_vi_list: List[str] = RADAR_LIST, S2_scaling: List[int | float] = S2_SCALING, S1_db_rescale: bool = True, - append: bool = True) -> Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]: + append: bool = True) \ + -> Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]: """ - Constructs a dictionary of advanced processing options for remote sensing data. - - This function validates input parameters and generates an options dictionary - tailored for processing remote sensing datasets, including Sentinel-1 and - Sentinel-2 data. It handles settings like temporal reducers, orbit directions, - spatial resolutions, and others. Input validation ensures proper parameter - types and value ranges. - - :param provider: (str) The data provider identifier. - :param s1_orbitdirection: (Optional[str]) The orbit direction for Sentinel-1 - data, can be 'ASCENDING', 'DESCENDING', or None. - :param target_crs: (Optional[int]) Target coordinate reference system code. - :param resolution: (int or float) Spatial resolution for the output data. + Generates a comprehensive dictionary of advanced processing options for satellite data workflows. + This function validates the provided parameters and ensures that the inputs comply with the + accepted formats and values. It returns a dictionary containing key-value pairs suitable for + configuring advanced processing tasks. + + :param provider: (str) The provider for the data processing task. + :param s1_orbitdirection: (Optional[str]) The direction of Sentinel-1 orbit. Acceptable values + are 'ASCENDING', 'DESCENDING', or None. + :param target_crs: (Optional[int]) The target coordinate reference system (CRS) as an integer value. + :param resolution: (int | float) The spatial resolution of the data. :param ts_interpolation: (bool) Whether to enable time-series interpolation. - :param ts_interval: (Optional[str]) Time-series interval, allowed values: - 'day', 'week', 'dekad', 'month', 'season', 'year', or None. - :param S2_temporal_reducer: (str) Temporal reducer applied to Sentinel-2 data, - permitted values: 'median', 'mean', 'max', 'min', 'first', 'last', - 'product', 'sd', 'sum', 'variance'. - :param openeo_chunk_size: (int) Chunk size for OpenEO processing. - :param S1_temporal_reducer: (str) Temporal reducer applied to Sentinel-1 data, - permitted values: 'median', 'mean', 'max', 'min', 'first', 'last', - 'product', 'sd', 'sum', 'variance'. - :param slc_masking: (Optional[str]) Masking algorithm for SLC, either - 'mask_scl_dilation', 'satio', or None. + :param ts_interval: (Optional[str]) The time-series interval. Acceptable values are 'day', + 'week', 'dekad', 'month', 'season', 'year', or None. + :param S2_temporal_reducer: (str) Temporal reducer function for Sentinel-2 data. Supported + values include 'median', 'mean', 'max', 'min', 'first', 'last', 'product', 'sd', 'sum', + and 'variance'. + :param openeo_chunk_size: (int) The OpenEO chunk size for processing data. + :param S1_temporal_reducer: (str) Temporal reducer function for Sentinel-1 data. Supported + values include 'median', 'mean', 'max', 'min', 'first', 'last', 'product', 'sd', 'sum', + and 'variance'. + :param slc_masking: (Optional[str]) Masking algorithm for Sentinel-1 SLC data. Acceptable + values are 'mask_scl_dilation', 'satio', or None. :param S2_bands: (List[str]) List of Sentinel-2 reflectance bands to include. - :param s2_tileid_list: (Optional[List[str]]) List of Sentinel-2 tile IDs to - process, or None. - :param skip_check_S1: (bool) Whether to skip checking for Sentinel-1 data. - :param skip_check_S2: (bool) Whether to skip checking for Sentinel-2 data. - :param apply_cloud_mask: (bool) Whether to apply a cloud mask to Sentinel-2 - data. - :param get_NOBSperc: (bool) Whether to calculate the percentage of observations. - :param S2_max_cloud_cover: (int) Maximum cloud cover percentage allowed - for Sentinel-2 scenes (0-100 inclusive). - :param optical_vi_list: (List[str]) List of vegetation indices to calculate - for optical data. - :param radar_vi_list: (List[str]) List of indices to calculate for radar data. - :param S2_scaling: (List[int or float]) List of scaling factors for Sentinel-2 data. - :param S1_db_rescale: (bool) Whether to rescale Sentinel-1 data to decibels. - :param append: (bool) Whether to append new processing options to an existing - configuration dictionary. - - :return: (Dict[str, Union[str, bool, int or float, List[str], List[int or float]]]) - A dictionary containing all validated and formatted processing options. + :param s2_tileid_list: (Optional[List[str]]) List of specific Sentinel-2 tile IDs to process, or None. + :param skip_check_S1: (bool) Toggles whether to skip quality checks for Sentinel-1 data. + :param skip_check_S2: (bool) Toggles whether to skip quality checks for Sentinel-2 data. + :param apply_cloud_mask: (bool) Whether to apply cloud masking to the data. + :param get_NVBT: (bool) Whether to generate the input data quality indicator (NVBT) for the data. + :param S2_max_cloud_cover: (int) Maximum allowed cloud cover percentage for Sentinel-2 + data. Must be between 0 and 100. + :param optical_vi_list: (List[str]) List of optical vegetation indices to include in the workflow. + :param radar_vi_list: (List[str]) List of radar vegetation indices to include in the workflow. + :param S2_scaling: (List[int | float]) Scaling factors for Sentinel-2 data processing. + :param S1_db_rescale: (bool) Whether to apply dB rescaling to Sentinel-1 data. + :param append: (bool) Whether to append additional configuration options. + :return: Dictionary containing the validated processing options. Each key corresponds to a + configurable parameter, and the values reflect the input parameter values or defaults. """ if s1_orbitdirection not in ['ASCENDING', 'DESCENDING', None]: @@ -446,12 +442,8 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR if type(apply_cloud_mask) != bool: raise ValueError(f'parameter for apply_cloud_mask must be an boolean.') - if type(get_NOBSperc) != bool: - raise ValueError(f'parameter for get_NOBSperc must be an boolean.') - - if (get_NOBSperc == True) and ((apply_cloud_mask == False) or (slc_masking != 'mask_scl_dilation')): - raise ValueError(f'parameter for get_NOBSperc can be only set to True if apply_cloud_mask is set to True ' - f'AND slc_masking is set to mask_scl_dilation.') + if type(get_NVBT) != bool: + raise ValueError(f'parameter for get_NVBT must be an boolean.') proc_opt = { "provider": provider, @@ -469,7 +461,7 @@ def get_advanced_options(provider: str, s1_orbitdirection: Optional[str] = S1_OR "skip_check_S1": skip_check_S1, "skip_check_S2": skip_check_S2, "apply_cloud_mask": apply_cloud_mask, - "get_NOBSperc": get_NOBSperc, + "get_NVBT": get_NVBT, "optical_vi_list": optical_vi_list, "radar_vi_list": radar_vi_list, "S2_scaling": S2_scaling, @@ -510,9 +502,9 @@ def generate_storage_options(workspace_export: bool = False, #just some checks to avoid missing parameters if workspace_export and not S3_prefix: - raise print("You want to export the openEO results to S3, please specify the S3_prefix parameter.") + raise ValueError("You want to export the openEO results to S3, please specify the S3_prefix parameter.") if workspace_export and not storage: - raise print("A storage object has to be defined to specify the export_workspace name " + raise ValueError("A storage object has to be defined to specify the export_workspace name " "and/or allow local_file_copy.") return storage_options diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index dbc27a4..e72ec1f 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -8,7 +8,8 @@ catalogue_check_CDSE_S1, catalogue_check_CDSE_S2) from eo_processing.config.settings import S2_BANDS, PLANET_BANDS, CHUNK_SIZE -from typing import Optional, Dict, Union, List, TYPE_CHECKING, Tuple +from typing import Optional, Dict, Union, List, TYPE_CHECKING, Any, Tuple + if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format @@ -16,7 +17,7 @@ def ts_datacube_extraction( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str ='SENTINEL2_L2A', S1_collection: Optional[str] ='SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]) -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -29,13 +30,13 @@ def ts_datacube_extraction( resolution, ts_interval, time_interpolation, SLC_masking_algo, s1_orbitdirection, S2_bands) :return: DataCube """ - # Note: for cubes with a time dimension, no nobs_perc band can be attached - get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) - if get_NOBSperc: - processing_options["get_NOBSperc"] = False + # Note: for cubes with a time dimension, no S2_NVBT band can be attached + get_NVBT:bool = processing_options.get("get_NVBT", False) + if get_NVBT: + processing_options["get_NVBT"] = False # get the Sentinel-2 datacube as starting point - bands: DataCube = extract_S2_datacube(connection, bbox, start, end, + bands = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) # add the Sentinel-1 data @@ -53,7 +54,7 @@ def ts_datacube_extraction( def extract_S1_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S1_collection: str = 'SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]) -> DataCube: """ extract the Sentinel-1 data for requested time period and preprocess the data :param connection: active openEO connection object @@ -106,7 +107,7 @@ def extract_S1_datacube( properties = {} # fix no-VH-data issue - properties.update({"polarisation": lambda pol: pol == "VV&VH"}) + properties.update({"sar:polarizations": lambda pol: pol == ["VV", "VH"]}) # Load collection bands = connection.load_collection(S1_collection, @@ -174,8 +175,8 @@ def extract_S1_datacube( def extract_S2_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str='SENTINEL2_L2A', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) \ - -> tuple[DataCube, DataCube | None] | DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> Union[DataCube, Tuple[DataCube, Optional[DataCube]]]: """ extract the Sentinel-2 data for requested time period and preprocess the data :param connection: active openEO connection object @@ -208,7 +209,7 @@ def extract_S2_datacube( max_cloud_max: int = processing_options.get("S2_max_cloud_cover", 95) chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) s2_tileid_list: Optional[List[str]] = processing_options.get("s2_tileid_list", None) - get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + get_NVBT: bool = processing_options.get("get_NVBT", False) # check if the masking parameter is valid if masking not in ['satio', 'mask_scl_dilation', None]: @@ -246,9 +247,6 @@ def extract_S2_datacube( else: bands = bands.resample_spatial(resolution=target_res) - # for the NOBSperc to work we need to init the cube as None - nobs_perc_band = None - # apply cloud masking if masking == 'mask_scl_dilation': # we have to load the SCL mask as an extra cube to get it correctly working @@ -280,20 +278,8 @@ def extract_S2_datacube( ).rename_labels("bands", ["S2-CLOUD-MASK"]) if apply_mask: - if get_NOBSperc: - # get temporal count of valid pixels before masking - tobs = sub_collection.count_time().rename_labels("bands", ["tobs"]).convert_data_type('float32') - # apply the cloud mask to the reference data bands = bands.mask(scl_dilated_mask) # here I do trust the automatic resampling of the mask - - if get_NOBSperc: - # get temporal count after applying cloud mask = nobs - nobs = bands.filter_bands(S2_bands[0]).count_time().rename_labels("bands", ["nobs"]).convert_data_type('float32') - # make sure TOBS is in right projection/resolution - tobs = tobs.resample_cube_spatial(target=nobs, method="near") - # calculate nobs_perc - nobs_perc_band = nobs.divide(tobs).multiply(100.).rename_labels("bands", ["nobs_perc"]) else: bands = bands.merge_cubes(scl_dilated_mask) #cubes are automatically resampled if needed elif masking == 'satio': @@ -315,6 +301,10 @@ def extract_S2_datacube( if ts_interval is not None: bands = bands.aggregate_temporal_period(period=ts_interval, reducer=ts_reducer) + # here we have to add the calculation of the NVBT (Number of Valid Binned Timesteps) + if get_NVBT: + nvbt_band = bands.filter_bands(S2_bands[0]).count_time().rename_labels("bands", ["S2-NVBT"]) + # Linearly interpolate missing values if wished if ts_interpolation: bands = bands.apply_dimension(dimension="t", @@ -323,8 +313,8 @@ def extract_S2_datacube( bands = bands.linear_scale_range(0, 65534, 0, 65534) # the return is tricky since we have to be backwards compatible and still get nobs_perc working - if get_NOBSperc: - return bands, nobs_perc_band + if get_NVBT: + return bands, nvbt_band else: return bands diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index a7de283..89c9adc 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -18,7 +18,8 @@ def optical_indices( input_cube: DataCube, collection: str ='SENTINEL2_L2A', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """creates vegetation indices times series cube from given datacube of optical EO data. Currently Sentinel-2 and PlanetScope are supported @@ -56,7 +57,8 @@ def optical_indices( def radar_indices( input_cube: DataCube, - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """creates radar indices times series cube from given datacube of radar EO data :param input_cube: openEO DataCube @@ -89,7 +91,8 @@ def radar_indices( def generate_S1_indices( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S1_collection: str ='SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -112,7 +115,8 @@ def generate_S1_indices( def generate_S2_indices( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str ='SENTINEL2_L2A', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -124,13 +128,13 @@ def generate_S2_indices( resolution, ts_interval, time_interpolation, SLC_masking_algo, optical_vi_list, S2_scaling, append, S2_bands) :return: DataCube """ - # Note: for cubes with a time dimension, no nobs_perc band can be attached - get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) - if get_NOBSperc: - processing_options["get_NOBSperc"] = False + # Note: for cubes with a time dimension, no s2-nvbt band can be attached + get_NVBT: bool = processing_options.get("get_NVBT", False) + if get_NVBT: + processing_options["get_NVBT"] = False # get the Sentinel-2 datacube as starting point - input_cube: DataCube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + input_cube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) # call the VI generator result_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) @@ -140,7 +144,8 @@ def generate_S2_indices( def generate_indices_master_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str ='SENTINEL2_L2A', S1_collection: Optional[str] ='SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -168,7 +173,8 @@ def generate_indices_master_cube( def generate_indices_planet_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, planet_collection: str = 'PlanetScope', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed PlanetScope data :param connection: active openEO connection object @@ -253,7 +259,8 @@ def calculate_features_cube(input_data: DataCube, chunk_size: int = CHUNK_SIZE) def generate_S1_feature_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S1_collection: str ='SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -278,7 +285,8 @@ def generate_S1_feature_cube( def generate_S2_feature_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str ='SENTINEL2_L2A', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -292,11 +300,11 @@ def generate_S2_feature_cube( """ chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) - # feature cubes have no time dimension, so we can add the nobs_perc band to the cube - if get_NOBSperc: + get_NVBT: bool = processing_options.get("get_NVBT", False) + # feature cubes have no time dimension, so we can add the s2-nvbt band to the cube + if get_NVBT: # get the reflectance and VI time series cube PLUS NOBS_perc - input_cube, nobs_perc_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + input_cube, nvbt_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) # call the VI generator indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) @@ -309,16 +317,16 @@ def generate_S2_feature_cube( features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) # add the nobs_perc_band to the cube if needed - if get_NOBSperc: - if nobs_perc_band is not None: - features_cube = features_cube.merge_cubes(nobs_perc_band) + if get_NVBT: + features_cube = features_cube.merge_cubes(nvbt_band) return features_cube def generate_planet_feature_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, planet_collection: str ='PlanetScope', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed Planet data :param connection: active openEO connection object @@ -344,7 +352,8 @@ def generate_planet_feature_cube( def generate_master_feature_cube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S2_collection: str ='SENTINEL2_L2A', S1_collection: str ='SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]])\ + -> DataCube: """ Warper to extract a full data cube of preprocessed data :param connection: active openEO connection object @@ -361,12 +370,12 @@ def generate_master_feature_cube( chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) ### create the full master indices cube - get_NOBSperc: bool = processing_options.get("get_NOBSperc", False) + get_NVBT: bool = processing_options.get("get_NVBT", False) # feature cubes have no time dimension, so we can add the nobs_perc band to the cube - if get_NOBSperc: + if get_NVBT: # get the reflectance and VI time series cube PLUS NOBS_perc - input_cube, nobs_perc_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) + input_cube, nvbt_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) # call the VI generator indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) else: @@ -383,9 +392,8 @@ def generate_master_feature_cube( features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) # add the nobs_perc_band to the cube if needed - if get_NOBSperc: - if nobs_perc_band is not None: - features_cube = features_cube.merge_cubes(nobs_perc_band) + if get_NVBT: + features_cube = features_cube.merge_cubes(nvbt_band) return features_cube From ad7324c4e484a6c9a8a5f1900ee3e740fa144479 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Thu, 25 Jun 2026 22:20:33 +0200 Subject: [PATCH 09/43] Update Sentinel-1 test resource JSON files: Replace `polarisation` with `sar:polarizations` and modify `VV&VH` to an array format `["VV", "VH"]` for consistency. --- tests/resources/cube_extraction/extract_S1_basic.json | 7 +++++-- tests/resources/cube_extraction/extract_S1_custom_crs.json | 7 +++++-- .../resources/cube_extraction/extract_S1_integration.json | 7 +++++-- .../cube_extraction/extract_S1_temporal_aggregation.json | 7 +++++-- .../ts_datacube_extraction_S1_interpolation.json | 7 +++++-- .../ts_datacube_extraction_S2_with_masking.json | 7 +++++-- .../cube_extraction/ts_datacube_extraction_combined.json | 7 +++++-- .../ts_datacube_extraction_combined_custom_crs.json | 7 +++++-- .../ts_datacube_extraction_combined_integration.json | 7 +++++-- .../cube_generation/generate_S1_feature_cube.json | 7 +++++-- .../generate_S1_feature_cube_integration.json | 7 +++++-- ...nerate_master_feature_cube_with_catboost_inference.json | 7 +++++-- ...r_feature_cube_with_catboost_inference_integration.json | 7 +++++-- 13 files changed, 65 insertions(+), 26 deletions(-) diff --git a/tests/resources/cube_extraction/extract_S1_basic.json b/tests/resources/cube_extraction/extract_S1_basic.json index 73c6eff..54c9667 100644 --- a/tests/resources/cube_extraction/extract_S1_basic.json +++ b/tests/resources/cube_extraction/extract_S1_basic.json @@ -12,7 +12,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -20,7 +20,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_custom_crs.json b/tests/resources/cube_extraction/extract_S1_custom_crs.json index b5e8f7d..1a91f09 100644 --- a/tests/resources/cube_extraction/extract_S1_custom_crs.json +++ b/tests/resources/cube_extraction/extract_S1_custom_crs.json @@ -12,7 +12,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -20,7 +20,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_integration.json b/tests/resources/cube_extraction/extract_S1_integration.json index 286d570..a795c57 100644 --- a/tests/resources/cube_extraction/extract_S1_integration.json +++ b/tests/resources/cube_extraction/extract_S1_integration.json @@ -16,7 +16,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -24,7 +24,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json b/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json index aa0ab2d..8eee23e 100644 --- a/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json +++ b/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json @@ -12,7 +12,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -20,7 +20,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json b/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json index 7212dc1..ae48e1a 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json @@ -141,7 +141,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -149,7 +149,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json b/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json index cad2077..08f8ab9 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json @@ -197,7 +197,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -205,7 +205,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined.json index bbfae6a..cade7c5 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined.json @@ -97,7 +97,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -105,7 +105,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json index c19956b..1d899d0 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json @@ -97,7 +97,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -105,7 +105,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json index 852acef..ca2202d 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json @@ -101,7 +101,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -109,7 +109,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_generation/generate_S1_feature_cube.json b/tests/resources/cube_generation/generate_S1_feature_cube.json index 3704b40..7bcf2b3 100644 --- a/tests/resources/cube_generation/generate_S1_feature_cube.json +++ b/tests/resources/cube_generation/generate_S1_feature_cube.json @@ -12,7 +12,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -20,7 +20,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_generation/generate_S1_feature_cube_integration.json b/tests/resources/cube_generation/generate_S1_feature_cube_integration.json index d6014e7..b828e13 100644 --- a/tests/resources/cube_generation/generate_S1_feature_cube_integration.json +++ b/tests/resources/cube_generation/generate_S1_feature_cube_integration.json @@ -16,7 +16,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -24,7 +24,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json index d04e877..f8f9cdc 100644 --- a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json +++ b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json @@ -1277,7 +1277,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -1285,7 +1285,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } diff --git a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json index cafa0c0..ac7b9e4 100644 --- a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json +++ b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json @@ -848,7 +848,7 @@ }, "id": "SENTINEL1_GRD", "properties": { - "polarisation": { + "sar:polarizations": { "process_graph": { "eq1": { "process_id": "eq", @@ -856,7 +856,10 @@ "x": { "from_parameter": "value" }, - "y": "VV&VH" + "y": [ + "VV", + "VH" + ], }, "result": true } From ec0773ec4d3c7db53079bdf2da6e6ac51a23c04f Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Thu, 25 Jun 2026 22:23:23 +0200 Subject: [PATCH 10/43] Fix malformed JSON in test resources: Correct trailing commas in `["VV", "VH"]` arrays across cube extraction and generation JSON files. --- tests/resources/cube_extraction/extract_S1_basic.json | 2 +- tests/resources/cube_extraction/extract_S1_custom_crs.json | 2 +- tests/resources/cube_extraction/extract_S1_integration.json | 2 +- .../cube_extraction/extract_S1_temporal_aggregation.json | 2 +- .../ts_datacube_extraction_S1_interpolation.json | 2 +- .../cube_extraction/ts_datacube_extraction_S2_with_masking.json | 2 +- .../cube_extraction/ts_datacube_extraction_combined.json | 2 +- .../ts_datacube_extraction_combined_custom_crs.json | 2 +- .../ts_datacube_extraction_combined_integration.json | 2 +- tests/resources/cube_generation/generate_S1_feature_cube.json | 2 +- .../cube_generation/generate_S1_feature_cube_integration.json | 2 +- .../generate_master_feature_cube_with_catboost_inference.json | 2 +- ...master_feature_cube_with_catboost_inference_integration.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/resources/cube_extraction/extract_S1_basic.json b/tests/resources/cube_extraction/extract_S1_basic.json index 54c9667..982f76d 100644 --- a/tests/resources/cube_extraction/extract_S1_basic.json +++ b/tests/resources/cube_extraction/extract_S1_basic.json @@ -23,7 +23,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_custom_crs.json b/tests/resources/cube_extraction/extract_S1_custom_crs.json index 1a91f09..e4a6439 100644 --- a/tests/resources/cube_extraction/extract_S1_custom_crs.json +++ b/tests/resources/cube_extraction/extract_S1_custom_crs.json @@ -23,7 +23,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_integration.json b/tests/resources/cube_extraction/extract_S1_integration.json index a795c57..58b67db 100644 --- a/tests/resources/cube_extraction/extract_S1_integration.json +++ b/tests/resources/cube_extraction/extract_S1_integration.json @@ -27,7 +27,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json b/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json index 8eee23e..051d65f 100644 --- a/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json +++ b/tests/resources/cube_extraction/extract_S1_temporal_aggregation.json @@ -23,7 +23,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json b/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json index ae48e1a..bdba700 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_S1_interpolation.json @@ -152,7 +152,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json b/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json index 08f8ab9..a034d61 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_S2_with_masking.json @@ -208,7 +208,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined.json index cade7c5..aa1f895 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined.json @@ -108,7 +108,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json index 1d899d0..9e53791 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined_custom_crs.json @@ -108,7 +108,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json b/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json index ca2202d..6bf449c 100644 --- a/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json +++ b/tests/resources/cube_extraction/ts_datacube_extraction_combined_integration.json @@ -112,7 +112,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_generation/generate_S1_feature_cube.json b/tests/resources/cube_generation/generate_S1_feature_cube.json index 7bcf2b3..e2aed54 100644 --- a/tests/resources/cube_generation/generate_S1_feature_cube.json +++ b/tests/resources/cube_generation/generate_S1_feature_cube.json @@ -23,7 +23,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_generation/generate_S1_feature_cube_integration.json b/tests/resources/cube_generation/generate_S1_feature_cube_integration.json index b828e13..1536b1d 100644 --- a/tests/resources/cube_generation/generate_S1_feature_cube_integration.json +++ b/tests/resources/cube_generation/generate_S1_feature_cube_integration.json @@ -27,7 +27,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json index f8f9cdc..5e5d61f 100644 --- a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json +++ b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json @@ -1288,7 +1288,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } diff --git a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json index ac7b9e4..862ee3b 100644 --- a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json +++ b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference_integration.json @@ -859,7 +859,7 @@ "y": [ "VV", "VH" - ], + ] }, "result": true } From 30cf071fdbafbd13a0c620452898b7a29abc9655 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 30 Jun 2026 11:25:35 +0200 Subject: [PATCH 11/43] Update test notebook to reflect 10x10km tile example: Adjust bounding box, update descriptions, and integrate changes to processing and job options (e.g., memory adjustments, `skip_check_S1` flag, and NVBT calculation placement). --- notebooks/test_nobs.ipynb | 270 ++++------------------ src/eo_processing/openeo/preprocessing.py | 2 + 2 files changed, 49 insertions(+), 223 deletions(-) diff --git a/notebooks/test_nobs.ipynb b/notebooks/test_nobs.ipynb index 4d66cac..f8f023a 100644 --- a/notebooks/test_nobs.ipynb +++ b/notebooks/test_nobs.ipynb @@ -5,27 +5,22 @@ "id": "d46e36dcd1f7a0ef", "metadata": {}, "source": [ - "# example how to generate a feature cube based on EO data (Sentinel-1 and Sentinel-2) for a 20x20km tile\n", + "# example how to generate a feature cube based on EO data (Sentinel-1 and Sentinel-2) for a 10x10km tile\n", "this tests include the generation of the feature cube with and without NVBT band. The NVBT band is a measure of the number of valid input data timesteps after cloud masking and the internal temporal binning.\n", "The NVBT band can be useful for identifying areas with high or low levels of observation, which can be important for a variety of applications, such as monitoring changes in land use or assessing the quality of data in a given area." ] }, { "cell_type": "code", - "execution_count": 1, "id": "initial_id", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:04.463781400Z", - "start_time": "2026-06-25T11:47:02.536443Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ "from eo_processing.utils.helper import init_connection\n", "from eo_processing.openeo.processing import generate_master_feature_cube\n", "from eo_processing.config.settings import get_advanced_options, get_job_options, get_collection_options" - ] + ], + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -37,15 +32,8 @@ }, { "cell_type": "code", - "execution_count": 2, "id": "1c319454e1c292f1", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:06.344180Z", - "start_time": "2026-06-25T11:47:06.317179500Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ "# the time context is given by start and end date\n", "year = 2024\n", @@ -53,9 +41,11 @@ "end = f'{year+1}-01-01' # the end is always exclusive\n", "\n", "# the space context is defined as a bounding box dictionary with south,west,north,east and crs\n", - "# we take as example an 20x20km tile in EU LAEA grid around Vienna\n", - "AOI = {'east': 4800000, 'south': 2820000, 'west': 4780000, 'north': 2840000, 'crs': 3035}" - ] + "# we take as example an 10x10km tile in EU LAEA grid around Vienna\n", + "AOI = {'west': 4780000, 'east': 4790000, 'south': 2830000, 'north': 2840000, 'crs': 3035}" + ], + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -67,91 +57,26 @@ }, { "cell_type": "code", - "execution_count": 3, "id": "fa16159203be2475", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:09.467340900Z", - "start_time": "2026-06-25T11:47:09.446211500Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ - "processing_options = get_advanced_options(provider='cdse', skip_check_S1=True, skip_check_S2=True)\n", + "processing_options = get_advanced_options(provider='cdse', skip_check_S1=False, skip_check_S2=True)\n", "job_options = get_job_options(provider='cdse', task='feature_generation')\n", "collection_options = get_collection_options(provider='cdse')\n", "processing_options.update({'openeo_chunk_size': 64})" - ] + ], + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "execution_count": 4, "id": "72616c9c-4583-4132-a38c-23988aeb8434", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'provider': 'cdse',\n", - " 's1_orbitdirection': 'DESCENDING',\n", - " 'target_crs': 3035,\n", - " 'resolution': 10.0,\n", - " 'time_interpolation': False,\n", - " 'ts_interval': 'dekad',\n", - " 'S2_temporal_reducer': 'median',\n", - " 'S1_temporal_reducer': 'mean',\n", - " 'SLC_masking_algo': 'mask_scl_dilation',\n", - " 'S2_max_cloud_cover': 95,\n", - " 'S2_bands': ['B02',\n", - " 'B03',\n", - " 'B04',\n", - " 'B05',\n", - " 'B06',\n", - " 'B07',\n", - " 'B08',\n", - " 'B8A',\n", - " 'B11',\n", - " 'B12'],\n", - " 's2_tileid_list': None,\n", - " 'skip_check_S1': True,\n", - " 'skip_check_S2': True,\n", - " 'apply_cloud_mask': True,\n", - " 'get_NVBT': False,\n", - " 'optical_vi_list': ['ABDI1',\n", - " 'ABDI2',\n", - " 'AWEInsh',\n", - " 'AVI',\n", - " 'BLFEI',\n", - " 'CIRE',\n", - " 'EVI',\n", - " 'IRECI',\n", - " 'MBWI',\n", - " 'MNDWI',\n", - " 'MNDVI',\n", - " 'NDMI',\n", - " 'NDVI',\n", - " 'NDVIMNDWI',\n", - " 'NDWI',\n", - " 'NMDI',\n", - " 'NIRv',\n", - " 'S2WI',\n", - " 'S2REP',\n", - " 'WRI'],\n", - " 'radar_vi_list': ['VHVVD', 'VHVVR', 'DpRVIVV'],\n", - " 'S2_scaling': [0, 10000, 0, 1.0],\n", - " 'S1_db_rescale': True,\n", - " 'append': True,\n", - " 'openeo_chunk_size': 64}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ "processing_options" - ] + ], + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -163,26 +88,13 @@ }, { "cell_type": "code", - "execution_count": 5, "id": "d06f89bea20dce40", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:13.166230700Z", - "start_time": "2026-06-25T11:47:12.129969200Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Authenticated using refresh token.\n" - ] - } - ], + "metadata": {}, "source": [ "con = init_connection(provider='cdse')" - ] + ], + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -194,74 +106,42 @@ }, { "cell_type": "code", - "execution_count": 6, "id": "f32c4461ec4331a5", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:37.935574300Z", - "start_time": "2026-06-25T11:47:37.918830900Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ "# update job_options due toBerts setting from last inference runs\n", "# ToDO: optimize the job settings for feature_cube_generation_with_nobs & feature_cube_generation and put in settings + add correct task to 'get_job_options'\n", "job_options.update({\n", - " \"driver-memory\": \"8G\",\n", + " \"driver-memory\": \"4G\",\n", " \"driver-memoryOverhead\": \"4G\",\n", - " \"executor-memory\": \"8G\",\n", + " \"executor-memory\": \"5G\",\n", " \"executor-memoryOverhead\": \"3g\",\n", " \"max-executors\": 10,\n", " \"python-memory\": \"disable\",\n", " \"allow_empty_cubes\": True,\n", - " \"soft-errors\": True})\n", - " # \"soft-errors\": 0.05})" - ] + " \"soft-errors\": 0.05})" + ], + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "execution_count": 7, "id": "fc107ebf279499cf", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:47:42.510403800Z", - "start_time": "2026-06-25T11:47:39.261915600Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ "# get master cube without nobs\n", "data = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" - ] + ], + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "execution_count": null, "id": "f0b7c0577d597daf", - "metadata": { - "ExecuteTime": { - "start_time": "2026-06-25T11:47:44.779193900Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0:00:00 Job 'j-260625132115419ba785da40021c22e7': send 'start'\n", - "0:00:05 Job 'j-260625132115419ba785da40021c22e7': created (progress 0%)\n", - "0:00:10 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", - "0:00:17 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", - "0:00:25 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", - "0:00:35 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", - "0:00:47 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n", - "0:01:02 Job 'j-260625132115419ba785da40021c22e7': queued (progress 0%)\n" - ] - } - ], - "source": [ - "data.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_v2.tif', title='feature without nobs (20x20km)', job_options=job_options)" - ] + "metadata": {}, + "source": "data.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_v5.tif', title='feature without nobs (10x10km)', job_options=job_options)", + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", @@ -273,87 +153,31 @@ }, { "cell_type": "code", - "execution_count": 6, "id": "95a0e6270cf65cc3", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:04:52.435450200Z", - "start_time": "2026-06-25T11:04:50.919941400Z" - } - }, - "outputs": [], + "metadata": {}, "source": [ "# now we run same with nobs_perc band\n", "processing_options.update({'get_NVBT': True})\n", "data2 = generate_master_feature_cube(con, AOI, start, end, **collection_options, **processing_options)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "2d0d439dc158f659", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-24T11:27:46.882259200Z", - "start_time": "2026-06-24T11:27:46.870182500Z" - } - }, + ], "outputs": [], - "source": [ - "# update job_options due to OOM when creating nobs_perc band\n", - "# ToDO: optimize the job settings for feature_cube_generation_with_nobs & feature_cube_generation and put in settings + add correct task to 'get_job_options'\n", - "job_options.update({\n", - " \"driver-memory\": \"4g\",\n", - " \"driver-memoryOverhead\": \"4g\",\n", - " \"executor-memory\": \"14g\",\n", - " \"executor-memoryOverhead\": \"10g\",\n", - " \"max-executors\": 10,\n", - " \"python-memory\": \"disable\",})\n" - ] + "execution_count": null }, { "cell_type": "code", - "execution_count": null, "id": "b522dd0e9b4adaa5", - "metadata": { - "ExecuteTime": { - "end_time": "2026-06-25T11:25:41.930978300Z", - "start_time": "2026-06-25T11:04:57.262779500Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0:00:00 Job 'j-2606251209214537a5b84140ae0d5972': send 'start'\n", - "0:00:03 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:00:09 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:00:15 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:00:23 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:00:33 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:00:46 Job 'j-2606251209214537a5b84140ae0d5972': queued (progress 0%)\n", - "0:01:01 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:01:20 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:01:44 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:02:14 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:02:51 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:03:38 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n", - "0:04:37 Job 'j-2606251209214537a5b84140ae0d5972': running (progress N/A)\n" - ] - } - ], - "source": [ - "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_with_nobs_v2.tif', title='feature with nobs (20x20km)', job_options=job_options)" - ] + "metadata": {}, + "source": "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_with_nobs_v5.tif', title='feature with nobs (10x10km)', job_options=job_options)", + "outputs": [], + "execution_count": null }, { "cell_type": "code", - "execution_count": null, "id": "bcb5d1b835c659eb", "metadata": {}, + "source": [], "outputs": [], - "source": [] + "execution_count": null } ], "metadata": { diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index e72ec1f..de9cad7 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -302,6 +302,8 @@ def extract_S2_datacube( bands = bands.aggregate_temporal_period(period=ts_interval, reducer=ts_reducer) # here we have to add the calculation of the NVBT (Number of Valid Binned Timesteps) + # Note: we want to create the NVBT here before any possible linear interpolation is done + # therefore, the integration has to be this ugly and not only in the final warper functions if get_NVBT: nvbt_band = bands.filter_bands(S2_bands[0]).count_time().rename_labels("bands", ["S2-NVBT"]) From ab0b85ebfcd2c6e23c92bf0068dfc7083222d144 Mon Sep 17 00:00:00 2001 From: deroob Date: Tue, 30 Jun 2026 11:51:46 +0200 Subject: [PATCH 12/43] fix for new openeo filenaming of timeseries.parquet --- src/eo_processing/utils/jobmanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index bbfa96a..86437a5 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -289,7 +289,7 @@ def on_job_done(self, job: openeo.BatchJob, row: pd.Series) -> None: if file_ext in ['netcdf','gtiff']: results.download_files(job_dir, include_stac_metadata=False) else : - results.download_file(job_dir / f"{title}.{file_ext}", name=f"timeseries.{file_ext}") + results.download_file(job_dir / f"{title}.{file_ext}") with open(metadata_path, "w", encoding='utf8') as f: From 0c591067b56920447ebce8d7d028791f9e3b81a0 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Tue, 30 Jun 2026 11:58:24 +0200 Subject: [PATCH 13/43] Fix formatting inconsistencies in function arguments across `extract_S2_datacube` and `generate_S1_indices` calls. --- src/eo_processing/openeo/processing.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 89c9adc..13a8856 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -134,8 +134,7 @@ def generate_S2_indices( processing_options["get_NVBT"] = False # get the Sentinel-2 datacube as starting point - input_cube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) + input_cube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) # call the VI generator result_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) @@ -275,8 +274,7 @@ def generate_S1_feature_cube( chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) # get the natural values and VI time series cube - input_data = generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, - **processing_options) + input_data = generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, **processing_options) # get features features_cube = calculate_features_cube(input_data, chunk_size=chunk_size) @@ -305,7 +303,7 @@ def generate_S2_feature_cube( if get_NVBT: # get the reflectance and VI time series cube PLUS NOBS_perc input_cube, nvbt_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) + **processing_options) # call the VI generator indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) else: From 8efcefd3d56d76260f3c4c7906db1ad25eb957d3 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 1 Jul 2026 10:44:22 +0200 Subject: [PATCH 14/43] Add authentication checks for Vault token and LDAP login in `storage.py` --- src/eo_processing/utils/storage.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/eo_processing/utils/storage.py b/src/eo_processing/utils/storage.py index d9c4942..e7d5ed9 100644 --- a/src/eo_processing/utils/storage.py +++ b/src/eo_processing/utils/storage.py @@ -1810,19 +1810,25 @@ def get_credentials(user :str ) -> Dict[str, str]: client = hvac.Client(url='https://vault.vgt.vito.be') if user == "VAULT_TOKEN": client.token = vault_token + if not client.is_authenticated(): + raise Exception('Your token is expired. Please re-authenticate.') else: client.auth.ldap.login( username=user, password=service_account_password, mount_point='ldap' ) + + if not client.is_authenticated(): + raise Exception('Your credentials are invalid. Please re-authenticate.') + secret_version_response = client.secrets.kv.v2.read_secret_version(mount_point='kv', path='TAP/apps/WEED', raise_on_deleted_version=True) client.logout() except: raise Exception('Could not retrieve WEED credentials from Terrascope VAULT. ' - 'Are you connected to the VITO VPN?') + 'Are you connected to the VITO VPN? Check your password or renew your token!') return secret_version_response['data']['data'] def read_credential_file(file_path: str = '~/.sonata_credentials') -> Dict[str, str]: From 9d6fd72ed948fc009b162592e312ad99dee902a3 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 1 Jul 2026 11:30:12 +0200 Subject: [PATCH 15/43] changed `SENDER_EMAIL` contant in `messaging.py` to avoid blocking email transfer. --- src/eo_processing/utils/messaging.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/eo_processing/utils/messaging.py b/src/eo_processing/utils/messaging.py index 7391179..76574c0 100644 --- a/src/eo_processing/utils/messaging.py +++ b/src/eo_processing/utils/messaging.py @@ -6,8 +6,7 @@ # Constants SMTP_SERVER = 'mail.vgt.vito.be' SENDER_NAME = 'WEED openEO processing cluster' -SENDER_EMAIL = 'esa.weed.project@vito.be' - +SENDER_EMAIL = 'esa.weed.project@vgt.vito.be' def format_email_address(name_email_pair: Tuple[str, str]) -> str: """ From 6cc70d7baddae88f173900eb9f24877c6ef91062 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 1 Jul 2026 13:22:58 +0200 Subject: [PATCH 16/43] Update test notebook: implemented the final WEED EO datacube at full size --- notebooks/test_nobs.ipynb | 277 +++++++++++++++++++++++++++++++++++--- 1 file changed, 255 insertions(+), 22 deletions(-) diff --git a/notebooks/test_nobs.ipynb b/notebooks/test_nobs.ipynb index f8f023a..817bc82 100644 --- a/notebooks/test_nobs.ipynb +++ b/notebooks/test_nobs.ipynb @@ -13,14 +13,19 @@ { "cell_type": "code", "id": "initial_id", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:10:45.301457300Z", + "start_time": "2026-07-01T10:10:43.592557200Z" + } + }, "source": [ "from eo_processing.utils.helper import init_connection\n", "from eo_processing.openeo.processing import generate_master_feature_cube\n", "from eo_processing.config.settings import get_advanced_options, get_job_options, get_collection_options" ], "outputs": [], - "execution_count": null + "execution_count": 1 }, { "cell_type": "markdown", @@ -33,7 +38,12 @@ { "cell_type": "code", "id": "1c319454e1c292f1", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:10:48.565131400Z", + "start_time": "2026-07-01T10:10:48.548481800Z" + } + }, "source": [ "# the time context is given by start and end date\n", "year = 2024\n", @@ -45,7 +55,7 @@ "AOI = {'west': 4780000, 'east': 4790000, 'south': 2830000, 'north': 2840000, 'crs': 3035}" ], "outputs": [], - "execution_count": null + "execution_count": 2 }, { "cell_type": "markdown", @@ -58,7 +68,12 @@ { "cell_type": "code", "id": "fa16159203be2475", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:11:06.858284600Z", + "start_time": "2026-07-01T10:11:06.842773300Z" + } + }, "source": [ "processing_options = get_advanced_options(provider='cdse', skip_check_S1=False, skip_check_S2=True)\n", "job_options = get_job_options(provider='cdse', task='feature_generation')\n", @@ -66,17 +81,82 @@ "processing_options.update({'openeo_chunk_size': 64})" ], "outputs": [], - "execution_count": null + "execution_count": 3 }, { "cell_type": "code", "id": "72616c9c-4583-4132-a38c-23988aeb8434", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:11:08.354813700Z", + "start_time": "2026-07-01T10:11:08.305942900Z" + } + }, "source": [ "processing_options" ], - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/plain": [ + "{'provider': 'cdse',\n", + " 's1_orbitdirection': 'DESCENDING',\n", + " 'target_crs': 3035,\n", + " 'resolution': 10.0,\n", + " 'time_interpolation': False,\n", + " 'ts_interval': 'dekad',\n", + " 'S2_temporal_reducer': 'median',\n", + " 'S1_temporal_reducer': 'mean',\n", + " 'SLC_masking_algo': 'mask_scl_dilation',\n", + " 'S2_max_cloud_cover': 95,\n", + " 'S2_bands': ['B02',\n", + " 'B03',\n", + " 'B04',\n", + " 'B05',\n", + " 'B06',\n", + " 'B07',\n", + " 'B08',\n", + " 'B8A',\n", + " 'B11',\n", + " 'B12'],\n", + " 's2_tileid_list': None,\n", + " 'skip_check_S1': False,\n", + " 'skip_check_S2': True,\n", + " 'apply_cloud_mask': True,\n", + " 'get_NVBT': False,\n", + " 'optical_vi_list': ['ABDI1',\n", + " 'ABDI2',\n", + " 'AWEInsh',\n", + " 'AVI',\n", + " 'BLFEI',\n", + " 'CIRE',\n", + " 'EVI',\n", + " 'IRECI',\n", + " 'MBWI',\n", + " 'MNDWI',\n", + " 'MNDVI',\n", + " 'NDMI',\n", + " 'NDVI',\n", + " 'NDVIMNDWI',\n", + " 'NDWI',\n", + " 'NMDI',\n", + " 'NIRv',\n", + " 'S2WI',\n", + " 'S2REP',\n", + " 'WRI'],\n", + " 'radar_vi_list': ['VHVVD', 'VHVVR', 'DpRVIVV'],\n", + " 'S2_scaling': [0, 10000, 0, 1.0],\n", + " 'S1_db_rescale': True,\n", + " 'append': True,\n", + " 'openeo_chunk_size': 64}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 4 }, { "cell_type": "markdown", @@ -89,12 +169,23 @@ { "cell_type": "code", "id": "d06f89bea20dce40", - "metadata": {}, - "source": [ - "con = init_connection(provider='cdse')" + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:11:15.268379200Z", + "start_time": "2026-07-01T10:11:14.743118500Z" + } + }, + "source": "con = init_connection(provider='cdse-staging-waw4-1')", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Authenticated using refresh token.\n" + ] + } ], - "outputs": [], - "execution_count": null + "execution_count": 5 }, { "cell_type": "markdown", @@ -107,7 +198,12 @@ { "cell_type": "code", "id": "f32c4461ec4331a5", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:11:21.277193500Z", + "start_time": "2026-07-01T10:11:21.260122500Z" + } + }, "source": [ "# update job_options due toBerts setting from last inference runs\n", "# ToDO: optimize the job settings for feature_cube_generation_with_nobs & feature_cube_generation and put in settings + add correct task to 'get_job_options'\n", @@ -122,7 +218,7 @@ " \"soft-errors\": 0.05})" ], "outputs": [], - "execution_count": null + "execution_count": 6 }, { "cell_type": "code", @@ -164,20 +260,157 @@ "execution_count": null }, { - "cell_type": "code", - "id": "b522dd0e9b4adaa5", "metadata": {}, - "source": "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_with_nobs_v5.tif', title='feature with nobs (10x10km)', job_options=job_options)", + "cell_type": "code", "outputs": [], - "execution_count": null + "execution_count": null, + "source": "data2.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\features_cube_with_nobs_v5.tif', title='feature with nobs (10x10km)', job_options=job_options)", + "id": "b522dd0e9b4adaa5" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## now we run this 10x10km test in a bigger context - we generate the full EO feature cube with NVBT band\n", + "Note: since the new ECDC version and alphaEarth STACs are not complete THIS loading has to be tested later" + ], + "id": "3684f8b64901068a" }, { "cell_type": "code", "id": "bcb5d1b835c659eb", + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:12:04.872738900Z", + "start_time": "2026-07-01T10:11:27.488000800Z" + } + }, + "source": [ + "from habitat_mapping.openeo.feature_cubes import create_EOfeature_cube_WEED_V1\n", + "processing_options.update(target_crs = 3035)\n", + "processing_options.update({'get_NVBT': True})\n", + "processing_options.update({'openeo_chunk_size': 16})\n", + "job_options.update({\"allow_empty_cubes\": True})\n", + "job_options.update({\n", + " \"driver-memory\": \"4G\",\n", + " \"driver-memoryOverhead\": \"4G\",\n", + " \"executor-memory\": \"5G\",\n", + " \"executor-memoryOverhead\": \"3G\",\n", + " \"max-executors\": 10,\n", + " \"python-memory\": \"disable\",\n", + " \"soft-errors\": 0.05,\n", + "})\n", + "data3 = create_EOfeature_cube_WEED_V1(con, AOI, start, end, collection_options, processing_options)" + ], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Deriving band listing from unordered `item_assets`\n", + "The specified bands ['precipitation-flux', 'temperature-mean'] in `load_stac` are not a subset of the bands [] found in the STAC metadata (unknown bands: ['precipitation-flux', 'temperature-mean']). Working with specified bands as is.\n" + ] + } + ], + "execution_count": 7 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-01T10:42:53.609735700Z", + "start_time": "2026-07-01T10:12:16.483423100Z" + } + }, + "cell_type": "code", + "source": "data3.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\eo_feature_cube_beta2.tif', title='eo_feature cube (10x10km)', job_options=job_options)", + "id": "641442d062a77b1e", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0:00:00 Job 'j-2607011012174934aeec7870e2685f99': send 'start'\n", + "0:00:07 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:00:13 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:00:19 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:00:27 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:00:37 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:00:50 Job 'j-2607011012174934aeec7870e2685f99': queued (progress 0%)\n", + "0:01:05 Job 'j-2607011012174934aeec7870e2685f99': running (progress 8.9%)\n", + "0:01:24 Job 'j-2607011012174934aeec7870e2685f99': running (progress 11.5%)\n", + "0:01:48 Job 'j-2607011012174934aeec7870e2685f99': running (progress 14.5%)\n", + "0:02:19 Job 'j-2607011012174934aeec7870e2685f99': running (progress 18.0%)\n", + "0:02:56 Job 'j-2607011012174934aeec7870e2685f99': running (progress 22.0%)\n", + "0:03:43 Job 'j-2607011012174934aeec7870e2685f99': running (progress 26.5%)\n", + "0:04:41 Job 'j-2607011012174934aeec7870e2685f99': running (progress 31.4%)\n", + "0:05:41 Job 'j-2607011012174934aeec7870e2685f99': running (progress 35.8%)\n", + "0:06:41 Job 'j-2607011012174934aeec7870e2685f99': running (progress 39.7%)\n", + "0:07:42 Job 'j-2607011012174934aeec7870e2685f99': running (progress 43.1%)\n", + "0:08:42 Job 'j-2607011012174934aeec7870e2685f99': running (progress 46.2%)\n", + "0:09:42 Job 'j-2607011012174934aeec7870e2685f99': running (progress 49.0%)\n", + "0:10:43 Job 'j-2607011012174934aeec7870e2685f99': running (progress 51.5%)\n", + "0:11:43 Job 'j-2607011012174934aeec7870e2685f99': running (progress 53.7%)\n", + "0:12:43 Job 'j-2607011012174934aeec7870e2685f99': running (progress 55.8%)\n", + "0:13:44 Job 'j-2607011012174934aeec7870e2685f99': running (progress 57.7%)\n", + "0:14:44 Job 'j-2607011012174934aeec7870e2685f99': running (progress 59.4%)\n", + "0:15:44 Job 'j-2607011012174934aeec7870e2685f99': running (progress 61.0%)\n", + "0:16:44 Job 'j-2607011012174934aeec7870e2685f99': running (progress 62.4%)\n", + "0:17:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 63.8%)\n", + "0:18:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 65.1%)\n", + "0:19:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 66.3%)\n", + "0:20:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 67.4%)\n", + "0:21:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 68.4%)\n", + "0:22:45 Job 'j-2607011012174934aeec7870e2685f99': running (progress 69.4%)\n", + "0:23:46 Job 'j-2607011012174934aeec7870e2685f99': running (progress 70.3%)\n", + "0:24:46 Job 'j-2607011012174934aeec7870e2685f99': running (progress 71.1%)\n", + "0:25:46 Job 'j-2607011012174934aeec7870e2685f99': running (progress 72.0%)\n", + "0:26:47 Job 'j-2607011012174934aeec7870e2685f99': running (progress 72.7%)\n", + "0:27:47 Job 'j-2607011012174934aeec7870e2685f99': running (progress 73.5%)\n", + "0:28:49 Job 'j-2607011012174934aeec7870e2685f99': running (progress 74.2%)\n", + "0:29:50 Job 'j-2607011012174934aeec7870e2685f99': finished (progress 100%)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 8 + }, + { "metadata": {}, - "source": [], + "cell_type": "code", "outputs": [], - "execution_count": null + "execution_count": null, + "source": "", + "id": "b7fe80d4f70e9b87" } ], "metadata": { From 92c5e190a67e9284581aa0247a5e6213aa7aaf0f Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 1 Jul 2026 16:27:25 +0200 Subject: [PATCH 17/43] Add `purge_jobs` utility to cancel queued/running openEO jobs --- src/eo_processing/utils/helper.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/eo_processing/utils/helper.py b/src/eo_processing/utils/helper.py index 8e6e94b..e731c63 100644 --- a/src/eo_processing/utils/helper.py +++ b/src/eo_processing/utils/helper.py @@ -81,6 +81,21 @@ def init_connection(provider: str, storage: Optional[WEED_storage]=None) -> open client_secret=storage.service_account['CLIENT_SECRET']) return connection +def purge_jobs(conn: openeo.Connection) -> None: + """ + Purges all jobs from the given openEO connection. + + :param conn: The openEO connection object. + """ + jobs = conn.list_jobs(limit=1000) + + for job_metadata in jobs: + if job_metadata.get("status", None) in ["queued", "running", "queued_for_start"]: + job = conn.job(job_metadata["id"]) + print(f"Cancelling job {job.job_id} with status {job.status()}") + job.stop() + print("All jobs purged if needed.") + def location_visu(aoi_object: openEO_bbox_format | gpd.GeoDataFrame, zoom: bool = False, region: str = 'EU', label: bool = True) -> None: """ From 359bc2e706a5816e4eac001a0926f2818f167258 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Thu, 2 Jul 2026 10:04:03 +0200 Subject: [PATCH 18/43] Update test notebook to introduce WEED EO datacube generation for 20x20km tiles: Adjust comments, connection initialization, file paths, job options, and processing example --- notebooks/test_nobs.ipynb | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/notebooks/test_nobs.ipynb b/notebooks/test_nobs.ipynb index 817bc82..eae896e 100644 --- a/notebooks/test_nobs.ipynb +++ b/notebooks/test_nobs.ipynb @@ -5,7 +5,7 @@ "id": "d46e36dcd1f7a0ef", "metadata": {}, "source": [ - "# example how to generate a feature cube based on EO data (Sentinel-1 and Sentinel-2) for a 10x10km tile\n", + "# example how to generate the WEED standard feature cube based on EO data (Sentinel-1 and Sentinel-2)\n", "this tests include the generation of the feature cube with and without NVBT band. The NVBT band is a measure of the number of valid input data timesteps after cloud masking and the internal temporal binning.\n", "The NVBT band can be useful for identifying areas with high or low levels of observation, which can be important for a variety of applications, such as monitoring changes in land use or assessing the quality of data in a given area." ] @@ -175,7 +175,7 @@ "start_time": "2026-07-01T10:11:14.743118500Z" } }, - "source": "con = init_connection(provider='cdse-staging-waw4-1')", + "source": "con = init_connection(provider='cdse')", "outputs": [ { "name": "stdout", @@ -322,7 +322,7 @@ } }, "cell_type": "code", - "source": "data3.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\eo_feature_cube_beta2.tif', title='eo_feature cube (10x10km)', job_options=job_options)", + "source": "data3.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\eo_feature_cube_beta2_10x10.tif', title='eo_feature cube (10x10km)', job_options=job_options)", "id": "641442d062a77b1e", "outputs": [ { @@ -404,13 +404,36 @@ ], "execution_count": 8 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## now upscale the the final 20x20km tiles", + "id": "3d9134ce13226561" + }, { "metadata": {}, "cell_type": "code", "outputs": [], "execution_count": null, - "source": "", + "source": [ + "# we take as example an 20x20km tile in EU LAEA grid around Vienna\n", + "AOI = {'west': 4780000, 'east': 4800000, 'south': 2820000, 'north': 2840000, 'crs': 3035}\n", + "# increasing driver memory\n", + "job_options.update({\n", + " \"driver-memory\": \"10G\",\n", + " \"driver-memoryOverhead\": \"4G\",\n", + "})\n", + "data4 = create_EOfeature_cube_WEED_V1(con, AOI, start, end, collection_options, processing_options)" + ], "id": "b7fe80d4f70e9b87" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "data4.execute_batch(r'C:\\Users\\buchhorm\\Downloads\\test_cube\\eo_feature_cube_beta2_20x20.tif', title='eo_feature cube (20x20km)', job_options=job_options)", + "id": "a2be83f50c1aa7d0" } ], "metadata": { From 8fa8d422bd9f78175cf4804e18d8a1d588efb545 Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 8 Jul 2026 12:19:36 +0200 Subject: [PATCH 19/43] Replace `get_NOBSperc` functionality with enhanced `get_NVBT` processing: adjust docs, refactor type annotations, update logic across datacube extraction, feature generation, and merging processes. Adding the NVBT band also to Sentinel-1. --- README.md | 6 +- src/eo_processing/openeo/preprocessing.py | 27 +++++++-- src/eo_processing/openeo/processing.py | 72 +++++++++++------------ 3 files changed, 60 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index c7c117b..e450921 100644 --- a/README.md +++ b/README.md @@ -90,10 +90,10 @@ apply_cloud_mask: bool = True get_NVBT: bool = False Number of Valid Binned Timesteps: Specifies the count of valid timesteps after temporal binning. This can be used as an input data quality indicator. - if True, NVBT is calculated for optical data after cloud masking and temporal aggregation + if True, NVBT is calculated for optical data after cloud masking and temporal binning and radar data after + sar_backscatter correction and temporal binning. (if both were activated) but without linear interpolation (if activated). - Note: this flag is only relevant for Sentinel-2 data as well as the 'band' S2_NVBT is only added - to cubes with removed time domain (feature cubes). + Note: 'band' S1_NVBT and/or S2_NVBT is only added to cubes with removed time domain (feature cubes). Note: algorithm is applied even when cloud masking was deactivated or temporal aggregation was skipped. append: bool = True diff --git a/src/eo_processing/openeo/preprocessing.py b/src/eo_processing/openeo/preprocessing.py index de9cad7..5970748 100644 --- a/src/eo_processing/openeo/preprocessing.py +++ b/src/eo_processing/openeo/preprocessing.py @@ -30,7 +30,7 @@ def ts_datacube_extraction( resolution, ts_interval, time_interpolation, SLC_masking_algo, s1_orbitdirection, S2_bands) :return: DataCube """ - # Note: for cubes with a time dimension, no S2_NVBT band can be attached + # Note: for cubes with a time dimension, no S1_NVBT or S2_NVBT band can be attached get_NVBT:bool = processing_options.get("get_NVBT", False) if get_NVBT: processing_options["get_NVBT"] = False @@ -54,7 +54,8 @@ def ts_datacube_extraction( def extract_S1_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, S1_collection: str = 'SENTINEL1_GRD', - **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]) -> DataCube: + **processing_options: Dict[str, Union[str, int, float, bool, List[str], List[Union[int, float]], None]]) \ + -> Union[DataCube, Tuple[DataCube, Optional[DataCube]]]: """ extract the Sentinel-1 data for requested time period and preprocess the data :param connection: active openEO connection object @@ -76,7 +77,6 @@ def extract_S1_datacube( if processing_options.get('skip_check_S1', False): catalogue_check = False - isCreo = "creo" in processing_options.get("provider", "").lower() orbit_direction: Optional[str] = processing_options.get('s1_orbitdirection', None) target_crs: Optional[str] = processing_options.get("target_crs", None) target_res: float = processing_options.get("resolution", 10.) @@ -84,7 +84,9 @@ def extract_S1_datacube( ts_reducer: str = processing_options.get("S1_temporal_reducer", "mean") ts_interpolation: bool = processing_options.get("time_interpolation", False) chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) + get_NVBT: bool = processing_options.get("get_NVBT", False) + # set the correct DEM for SAR backscatter correction based on platform if ("creo" in processing_options.get("provider", "").lower()) or \ (processing_options.get("provider", "").lower() == "terrascope") or \ (processing_options.get("provider", "").lower() == "development") or \ @@ -143,11 +145,19 @@ def extract_S1_datacube( if ts_interval is not None: bands = bands.aggregate_temporal_period(period=ts_interval, reducer=ts_reducer) + # here we have to add the calculation of the NVBT (Number of Valid Binned Timesteps) + # Note: we want to create the NVBT here before any possible linear interpolation is done + # therefore, the integration has to be this ugly and not only in the final warper functions + if get_NVBT: + nvbt_band = bands.filter_bands(bands.metadata.band_names[0]).count_time().rename_labels("bands", + ["S1-NVBT"]) + nvbt_band = nvbt_band.apply(lambda x: if_(x.is_nodata(), 0, x)) + # Linearly interpolate missing values if wished if ts_interpolation: bands = bands.apply_dimension(dimension="t", process="array_interpolate_linear") - # Scale to Uint16 range + # Scale to Uint16 range from dB to natural values if check_flag: # for CREO, rescaling also replaces nodata introduced by orfeo # with a low value @@ -170,7 +180,11 @@ def extract_S1_datacube( # Force a linear scale removing values not expected bands = bands.linear_scale_range(1, 65534, 1, 65534) - return bands + # the return is tricky since we have to be backwards compatible and still get NVBT calculation working + if get_NVBT: + return bands, nvbt_band + else: + return bands def extract_S2_datacube( connection: openeo.Connection, bbox: Optional[openEO_bbox_format], start: str, end: str, @@ -306,6 +320,7 @@ def extract_S2_datacube( # therefore, the integration has to be this ugly and not only in the final warper functions if get_NVBT: nvbt_band = bands.filter_bands(S2_bands[0]).count_time().rename_labels("bands", ["S2-NVBT"]) + nvbt_band = nvbt_band.apply(lambda x: if_(x.is_nodata(), 0, x)) # Linearly interpolate missing values if wished if ts_interpolation: @@ -314,7 +329,7 @@ def extract_S2_datacube( # forcing 16bit --> UInt16 bands = bands.linear_scale_range(0, 65534, 0, 65534) - # the return is tricky since we have to be backwards compatible and still get nobs_perc working + # the return is tricky since we have to be backwards compatible and still get NVBT calculation working if get_NVBT: return bands, nvbt_band else: diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 13a8856..00eec03 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -69,7 +69,6 @@ def radar_indices( vi_list: List = processing_options.get("radar_vi_list", RADAR_LIST) db_rescaling = processing_options.get("S1_db_rescale", True) append = processing_options.get("append", True) - chunk_size = processing_options.get("openeo_chunk_size", CHUNK_SIZE) platform = "sentinel1" # convert input DataCube into float (db) @@ -86,6 +85,9 @@ def radar_indices( vi_cube = append_indices(datacube=input_cube, indices=vi_list, platform=platform) else: vi_cube = compute_indices(datacube=input_cube, indices=vi_list, platform=platform, append=False) + + # TODO: convert the datacube back to int16 - using the output scaling functionality tested in one + # of the example notebooks return vi_cube def generate_S1_indices( @@ -104,6 +106,11 @@ def generate_S1_indices( resolution, ts_interval, time_interpolation, s1_orbitdirection, radar_vi_list, S1_db_rescale, append) :return: DataCube """ + # Note: for cubes with a time dimension, no s1-nvbt band can be attached + get_NVBT: bool = processing_options.get("get_NVBT", False) + if get_NVBT: + processing_options["get_NVBT"] = False + # get the S1 input data pre-processed input_cube = extract_S1_datacube(connection, bbox, start, end, S1_collection=S1_collection, **processing_options) @@ -135,6 +142,7 @@ def generate_S2_indices( # get the Sentinel-2 datacube as starting point input_cube = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) + # call the VI generator result_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) @@ -158,11 +166,11 @@ def generate_indices_master_cube( S2_scaling, append, S2_bands, radar_vi_list, S1_db_rescale) :return: DataCube """ - # get S2 indices cube - no nobs_perc band needed + # get S2 indices cube - no NVBT band needed indices_cube = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) - # merge the S1 indices + # merge the S1 indices (the called warper makes sure no NVBT band is generated) if S1_collection is not None: indices_cube = indices_cube.merge_cubes(generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, @@ -273,10 +281,23 @@ def generate_S1_feature_cube( """ chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - # get the natural values and VI time series cube - input_data = generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, **processing_options) + get_NVBT: bool = processing_options.get("get_NVBT", False) + # feature cubes have no time dimension, so we can add the s1-nvbt band to the cube + if get_NVBT: + # get the sigma-naught and VI time series cube PLUS the S1-NVBT band + input_cube, nvbt_band = extract_S1_datacube(connection, bbox, start, end, S1_collection=S1_collection, + **processing_options) + # call the VI generator + indices_cube = radar_indices(input_cube, **processing_options) + else: + indices_cube = generate_S1_indices(connection, bbox, start, end, S1_collection=S1_collection, + **processing_options) # get features - features_cube = calculate_features_cube(input_data, chunk_size=chunk_size) + features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) + + # add the S1-NVBT band to cube if needed + if get_NVBT: + features_cube = features_cube.merge_cubes(nvbt_band) return features_cube @@ -301,7 +322,7 @@ def generate_S2_feature_cube( get_NVBT: bool = processing_options.get("get_NVBT", False) # feature cubes have no time dimension, so we can add the s2-nvbt band to the cube if get_NVBT: - # get the reflectance and VI time series cube PLUS NOBS_perc + # get the reflectance and VI time series cube PLUS S2-NVBT band input_cube, nvbt_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, **processing_options) # call the VI generator @@ -314,7 +335,7 @@ def generate_S2_feature_cube( # get features features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) - # add the nobs_perc_band to the cube if needed + # add the S2-NVBT band to the cube if needed if get_NVBT: features_cube = features_cube.merge_cubes(nvbt_band) @@ -365,35 +386,14 @@ def generate_master_feature_cube( S2_scaling, append, S2_bands, radar_vi_list, S1_db_rescale) :return: DataCube with only features """ - chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - - ### create the full master indices cube - get_NVBT: bool = processing_options.get("get_NVBT", False) - # feature cubes have no time dimension, so we can add the nobs_perc band to the cube - if get_NVBT: - # get the reflectance and VI time series cube PLUS NOBS_perc - input_cube, nvbt_band = extract_S2_datacube(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) - # call the VI generator - indices_cube = optical_indices(input_cube, collection=S2_collection, **processing_options) - else: - # get the reflectance and VI time series cube - indices_cube = generate_S2_indices(connection, bbox, start, end, S2_collection=S2_collection, - **processing_options) - - # merge the S1 indices + # optimized pipeline were we run the feature generation per sensor and only merge in the end + feature_cube = generate_S2_feature_cube(connection, bbox, start, end, S2_collection=S2_collection, + **processing_options) if S1_collection is not None: - indices_cube = indices_cube.merge_cubes(generate_S1_indices(connection, bbox, start, end, - S1_collection=S1_collection, - **processing_options)) - # get features - features_cube = calculate_features_cube(indices_cube, chunk_size=chunk_size) - - # add the nobs_perc_band to the cube if needed - if get_NVBT: - features_cube = features_cube.merge_cubes(nvbt_band) - - return features_cube + feature_cube = feature_cube.merge_cubes(generate_S1_feature_cube(connection, bbox, start, end, + S1_collection=S1_collection, + **processing_options)) + return feature_cube def create_collections_list_from_bands(input_bands : List[str]): """ From 356d4971b2f7c6936448194fb2fa1f994f71261f Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 8 Jul 2026 15:31:20 +0200 Subject: [PATCH 20/43] Refactor catalogue check functions: add `messages` and `stop_processing` parameters, enhance Sentinel-1/Sentinel-2 availability checks, and standardize parameter handling and output logic. --- src/eo_processing/utils/catalogue_check.py | 210 ++++++++++++++------- 1 file changed, 140 insertions(+), 70 deletions(-) diff --git a/src/eo_processing/utils/catalogue_check.py b/src/eo_processing/utils/catalogue_check.py index 0f0962e..b609f10 100644 --- a/src/eo_processing/utils/catalogue_check.py +++ b/src/eo_processing/utils/catalogue_check.py @@ -2,7 +2,7 @@ import requests import json import pandas as pd -from eo_processing.utils.geoprocessing import reproj_bbox_to_ll +from eo_processing.utils.geoprocessing import reproj_bbox_to_ll, bbox_of_PointsFeatureCollection import geojson from typing import TYPE_CHECKING import pystac_client @@ -10,22 +10,30 @@ if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format -def catalogue_check_S1(orbit_direction: str, start: str, end: str, bbox: openEO_bbox_format) -> str | None: +def catalogue_check_S1(orbit_direction: str, start: str, end: str, bbox: openEO_bbox_format, + messages: bool=True, stop_processing: bool=True) -> str | None: """ - Checks the availability of Sentinel-1 images based on the specified orbit direction, date range, - and bounding box. Validates the amount of data available against a predefined minimum threshold. - - :param orbit_direction: The direction of the orbit, either 'ASCENDING' or 'DESCENDING'. If not - specified, the function will check data for both orbit directions. Must comply with the - specified format. - :param start: The start date of the desired time range in ISO 8601 date format (YYYY-MM-DD) or 'YYYY-MM-DDThh:mm:ss.SSZ'.. - :param end: The end date of the desired time range in ISO 8601 date format (YYYY-MM-DD) or 'YYYY-MM-DDThh:mm:ss.SSZ'.. - :param bbox: The bounding box of the area of interest in openEO_bbox_format. It will be reprojected - to a latitude and longitude format for API queries. - :return: Returns the specified orbit direction if sufficient Sentinel-1 images for the given - direction are available. Returns `None` if the checks for both orbit directions combined are - sufficient or if orbit direction was not specified. Raises an error if the amount of data - does not meet the threshold. + Checks the availability of Sentinel-1 imagery within a specified spatiotemporal extent and orbit + direction constraints in the given catalog. + + This function determines if the number of Sentinel-1 images available in a specified bounding + box and temporal range meets an expected threshold. It supports restricting results based on + an orbit direction and provides summary messages or raises exceptions if conditions are not met. + + :param orbit_direction: (str) The orbit direction for filtering imagery. Must be 'ASCENDING' + or 'DESCENDING'. If None, both directions are checked. + :param start: (str) The start date of the query in ISO 8601 format. Time is appended as 'T00:00:00.00Z' + if not provided. + :param end: (str) The end date of the query in ISO 8601 format. Time is appended as 'T00:00:00.00Z' + if not provided. + :param bbox: (openEO_bbox_format) A bounding box specifying the geographic extent of the query + in the format supported by OpenEO. + :param messages: (bool) If True, print messages summarizing the results. Default is True. + :param stop_processing: (bool) If True, raises a ValueError when the imagery availability criteria + are not met. Default is True. + + :return: The specific orbit direction ('ASCENDING' or 'DESCENDING') if enough images are found + for that orbit direction, otherwise None. """ #standard settigns for amount of expected files per day #quickfix on dates that are in date format @@ -52,31 +60,41 @@ def catalogue_check_S1(orbit_direction: str, start: str, end: str, bbox: openEO_ json_data = json.loads(results.text) if len(json_data["value"]) < MIN_VALUE_S1*percentage*temp_extent_days: - print(f'Not enough S1 images with orbit {orbit_direction}. \n' + \ - f'Found {len(json_data["value"])} images.') - else: return orbit_direction + if messages: + print(f'Not enough S1 images with orbit {orbit_direction}. \n' + \ + f'Found {len(json_data["value"])} images.') + else: + if messages: + print(f'Found {len(json_data["value"])} images with orbit direction {orbit_direction}.') + return orbit_direction #use both orbits #check with both directions. nbr_files = count_amount_of_files('S1', latlon_box, start, end) if nbr_files < MIN_VALUE_S1*percentage*temp_extent_days: - raise ValueError(f'not enough S1 without orbit direction selection. \n'+ \ - f'Found {nbr_files} images.') + if stop_processing: + raise ValueError(f'not enough S1 without orbit direction selection. \n'+ \ + f'Found {nbr_files} images.') + if messages: + print(f'Found {nbr_files} images with orbit direction BOTH.') return None -def catalogue_check_S2(start: str, end: str, bbox: openEO_bbox_format) -> None: +def catalogue_check_S2(start: str, end: str, bbox: openEO_bbox_format, + messages: bool=True, stop_processing: bool=True) -> None: """ - Check the availability of Sentinel-2 (S2) satellite images for a given time period - and bounding box. The function calculates the expected minimum number of images - and raises a ValueError if the actual count is insufficient. - - :param start: The start date of the time period, in the format 'YYYY-MM-DD' or 'YYYY-MM-DDThh:mm:ss.SSZ'. - :param end: The end date of the time period, in the format 'YYYY-MM-DD'or 'YYYY-MM-DDThh:mm:ss.SSZ'.. - :param bbox: The bounding box defining the spatial extent, must be in openEO - bounding box format. - :return: None - :raises ValueError: If the number of available Sentinel-2 images is less than the - required minimum threshold. + Checks the availability of Sentinel-2 (S2) satellite images within a given time range and bounding box. + The function determines if the number of available images meets the minimum threshold based on the temporal + extent and year-specific conditions. If the threshold is not met, it raises an error or optionally prints + the count of found images. + + :param start: (str) The start date of the search range in ISO 8601 format. + :param end: (str) The end date of the search range in ISO 8601 format. + :param bbox: (openEO_bbox_format) The bounding box in a geographical coordinate system. + :param messages: (bool) Optional flag to print a message with the number of found images. Default is True. + :param stop_processing: (bool) Optional flag to raise an exception if the number of images is below the threshold. + Default is True. + + :raises ValueError: If the number of Sentinel-2 images does not meet the minimum threshold and stop_processing is True. """ MIN_VALUE_S2 = 1./5. percentage = 0.8 @@ -95,7 +113,10 @@ def catalogue_check_S2(start: str, end: str, bbox: openEO_bbox_format) -> None: nbr_files = count_amount_of_files('S2', latlon_box, start, end) if nbr_files < MIN_VALUE_S2*percentage*temp_extent_days: - raise ValueError(f'not enough S2 images. Found {nbr_files} images.') + if stop_processing: + raise ValueError(f'not enough S2 images. Found {nbr_files} images.') + if messages: + print(f'Found {nbr_files} S2 images.') mece_sequence = [[[9], [15], [21], [27], [34], [40], [49], [54], [57], [62], [69], [73], [82]], [[86], [89], [93], [99], [102], [110], [113], [117], [122], [126], [130], [135], [138]], @@ -132,24 +153,30 @@ def count_amount_of_files(sentinel: str, latlon_box: geojson.Feature, start: str json_data = json.loads(results.text) return len(json_data["value"]) -def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: openEO_bbox_format) -> str | None: +def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: openEO_bbox_format, + messages: bool=True, stop_processing: bool=True) -> str | None: """ - Executes a query to the Copernicus Data Space Ecosystem (CDSE) Sentinel-1 catalogue - to verify the availability of Sentinel-1 imagery over a specified temporal extent - and spatial bounding box. The function evaluates whether sufficient Sentinel-1 - images exist based on certain thresholds and optionally filters by orbit direction. - - :param orbit_direction: Direction of the orbit for filtering results. Can be - 'ASCENDING', 'DESCENDING', or None for both. If provided, it must be one of these values. - :param start: Start date of the query temporal extent in ISO 8601 format - (YYYY-MM-DD). Time will default to "T00:00:00.00Z" if not specified. - :param end: End date of the query temporal extent in ISO 8601 format - (YYYY-MM-DD). Time will default to "T00:00:00.00Z" if not specified. - :param bbox: Spatial bounding box for the query in openEO_bbox_format. Used to - define the region of interest. - - :return: The orbit direction if sufficient Sentinel-1 images are available for - the specified orbit, else None. + Checks the availability of Sentinel-1 satellite images for a given temporal and spatial extent + and optionally filters them by orbit direction. If the specified criteria are not met, the + function can optionally raise errors or display messages. VErsion to use with CDSE and pySTAC. + + :param orbit_direction: str. The orbit direction to filter on. Acceptable values are + 'ASCENDING' or 'DESCENDING'. If None, both directions are considered. + :param start: str. Start date for the temporal extent in ISO 8601 format (e.g., 'YYYY-MM-DD'). + :param end: str. End date for the temporal extent in ISO 8601 format (e.g., 'YYYY-MM-DD'). + :param bbox: openEO_bbox_format. Bounding box defining the spatial extent of the search region + in openEO format. + :param messages: bool (default=True). Whether to print messages about the results of the search. + :param stop_processing: bool (default=True). Whether to raise an error if the number of images + found does not meet the required criteria. + + :return: str | None. The orbit direction that satisfies the criteria if applicable. Returns + None if no specific orbit direction was found to meet the requirements or if no orbit + direction was specified. + + :raises ValueError: If `orbit_direction` is not one of the acceptable values ('ASCENDING' or + 'DESCENDING'), or if not enough Sentinel-1 images are found to meet the + required criteria when `stop_processing` is True. """ #quickfix on dates that are in date format if not 'Z' in start: @@ -184,7 +211,7 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op datetime=f"{start}/{end}", fields=["id", "properties.datetime"], query={"sat:orbit_state": {"eq": f"{orbit_direction.lower()}"}, - #"sar:polarizations": {"eq": "VV&VH"}, + "sar:polarizations": {"eq": ["VV", "VH"]}, }, ) @@ -200,9 +227,15 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op nbr_files = df['date'].nunique() if nbr_files < MIN_VALUE_S1*percentage*temp_extent_days: - print(f'Not enough S1 images with orbit {orbit_direction}. \n' + \ - f'Found {nbr_files} images.') - else: return orbit_direction + if messages: + print(f'Not enough S1 images with orbit {orbit_direction}. \n' + \ + f'Found {nbr_files} images.') + # jump back to check with BOTH orbits + pass + else: + if messages: + print(f'Found {nbr_files} images with orbit direction {orbit_direction}.') + return orbit_direction #use both orbits -> check with both directions. search = client.search( @@ -210,7 +243,7 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op bbox=list(latlon_box.bounds), datetime=f"{start}/{end}", fields=["id", "properties.datetime"], - #query={"sar:polarizations": {"eq": "VV&VH"} }, + query={"sar:polarizations": {"eq": ["VV", "VH"]} }, ) # get the dates of all found matches @@ -225,23 +258,34 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op nbr_files = df['date'].nunique() if nbr_files < MIN_VALUE_S1*percentage*temp_extent_days: - raise ValueError(f'not enough S1 without orbit direction selection. \n'+ \ - f'Found {nbr_files} images.') + if stop_processing: + raise ValueError(f'not enough S1 without orbit direction selection. \n'+ \ + f'Found {nbr_files} images.') + if messages: + print(f'Found {nbr_files} images with orbit direction BOTH.') return None -def catalogue_check_CDSE_S2(start: str, end: str, bbox: openEO_bbox_format) -> None: +def catalogue_check_CDSE_S2(start: str, end: str, bbox: openEO_bbox_format, + messages: bool=True, stop_processing: bool=True) -> None: """ - Checks the availability of Sentinel-2 images from the Copernicus Data Space Ecosystem STAC - API within a specified temporal and spatial extent. Validates whether the minimum required - observation density is met based on temporal extent duration and predefined thresholds. - - :param start: The start date of the temporal extent in ISO 8601 format (e.g., "YYYY-MM-DD"). - :param end: The end date of the temporal extent in ISO 8601 format (e.g., "YYYY-MM-DD"). - :param bbox: A bounding box defining the spatial extent in openEO_bbox_format. - - :raises ValueError: If the number of Sentinel-2 images found does not meet the minimum - required observation density for the specified bounding box and temporal extent. + Checks the availability of Sentinel-2 images for a specified temporal and spatial extent + using the Copernicus Data Space Ecosystem STAC API. + + This function evaluates whether the available number of Sentinel-2 (S2) images falls + below a minimum threshold for an expected observation frequency based on the specified + temporal extent and spatial bounding box. The function can optionally stop further processing + if the images are insufficient or print a message about the number of images found. + + :param start: (str) The start date of the temporal extent in "YYYY-MM-DD" format. + :param end: (str) The end date of the temporal extent in "YYYY-MM-DD" format. + :param bbox: (openEO_bbox_format) The spatial bounding box in an openEO-compatible format. + :param messages: (bool) A flag to indicate whether to print the number of images found. Defaults to True. + :param stop_processing: (bool) A flag to indicate whether to raise an error and halt processing if + the number of images is insufficient. Defaults to True. + + :raises ValueError: If the number of available S2 images is less than the required threshold and + `stop_processing` is set to True. """ #quickfix on dates that are in date format if not 'Z' in start: @@ -289,4 +333,30 @@ def catalogue_check_CDSE_S2(start: str, end: str, bbox: openEO_bbox_format) -> N # run the test if nbr_files < MIN_VALUE_S2*percentage*temp_extent_days: - raise ValueError(f'not enough S2 images. Found {nbr_files} images.') + if stop_processing: + raise ValueError(f'not enough S2 images. Found {nbr_files} images.') + if messages: + print(f'Found {nbr_files} S2 images.') + +def catalogue_check_CDSE_S1_FeatureCollection(points_geometry: geojson.FeatureCollection, start_orbit: str, + start: str, end: str) -> str | None: + """ + Checks the availability of satellite data within a defined geometry and time range. + + This function takes a geography feature collection and a time range, then determines + satellite data availability by performing an orbit check. It calculates a bounding + box from the given feature collection to perform the check. + + :param points_geometry: (geojson.FeatureCollection) The geometry as a feature + collection used to define the spatial extent. + :param start_orbit: (str) The starting orbit identifier for the data query. + :param start: (str) The start of the time range for the data query in ISO 8601 format. + :param end: (str) The end of the time range for the data query in ISO 8601 format. + + :return: Returns a string containing the result of the orbit check if data is available. + Returns None if no data is found or the check fails. + """ + # need openEO BBOX for orbit check + bbox = bbox_of_PointsFeatureCollection(points_geometry) + # now we run the orbit check and give result back + return catalogue_check_CDSE_S1(start_orbit, start, end, bbox, messages=False, stop_processing=False) From 058a694304fc15635705c45f948bc3b2b55f40ae Mon Sep 17 00:00:00 2001 From: deroob Date: Thu, 9 Jul 2026 11:21:45 +0200 Subject: [PATCH 21/43] fix for test --- ..._feature_cube_with_catboost_inference.json | 1506 +++++++++-------- 1 file changed, 839 insertions(+), 667 deletions(-) diff --git a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json index 5e5d61f..9b0212f 100644 --- a/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json +++ b/tests/resources/cube_generation/generate_master_feature_cube_with_catboost_inference.json @@ -1265,688 +1265,162 @@ ] } }, - "loadcollection2": { - "process_id": "load_collection", - "arguments": { - "bands": [ - "VH", - "VV" - ], - "featureflags": { - "tilesize": 128 - }, - "id": "SENTINEL1_GRD", - "properties": { - "sar:polarizations": { - "process_graph": { - "eq1": { - "process_id": "eq", - "arguments": { - "x": { - "from_parameter": "value" - }, - "y": [ - "VV", - "VH" - ] - }, - "result": true - } - } - } - }, - "spatial_extent": { - "east": 4880000, - "south": 2898000, - "west": 4878000, - "north": 2900000, - "crs": "EPSG:3035" - }, - "temporal_extent": [ - "2021-01-01", - "2022-01-01" - ] - } - }, - "sarbackscatter1": { - "process_id": "sar_backscatter", - "arguments": { - "coefficient": "sigma0-ellipsoid", - "contributing_area": false, - "data": { - "from_node": "loadcollection2" - }, - "elevation_model": null, - "ellipsoid_incidence_angle": false, - "local_incidence_angle": false, - "mask": false, - "noise_removal": true, - "options": { - "implementation_version": "2", - "tile_size": 128, - "otb_memory": 1024, - "debug": false, - "elev_geoid": "/opt/openeo-vito-aux-data/egm96.tif" - } - } - }, - "resamplespatial2": { - "process_id": "resample_spatial", - "arguments": { - "align": "upper-left", - "data": { - "from_node": "sarbackscatter1" - }, - "method": "near", - "projection": null, - "resolution": 10.0 - } - }, "applydimension2": { "process_id": "apply_dimension", "arguments": { + "context": { + "parallel": true, + "TileSize": 128 + }, "data": { - "from_node": "resamplespatial2" + "from_node": "renamelabels1" }, - "dimension": "bands", + "dimension": "t", "process": { "process_graph": { - "arrayelement10": { - "process_id": "array_element", + "quantiles1": { + "process_id": "quantiles", "arguments": { "data": { "from_parameter": "data" }, - "index": 0 - } - }, - "log1": { - "process_id": "log", - "arguments": { - "base": 10, - "x": { - "from_node": "arrayelement10" - } + "probabilities": [ + 0.02, + 0.05, + 0.25, + 0.5, + 0.75, + 0.95, + 0.98 + ] } }, - "multiply14": { - "process_id": "multiply", + "mean1": { + "process_id": "mean", "arguments": { - "x": 10.0, - "y": { - "from_node": "log1" + "data": { + "from_parameter": "data" } } }, - "add23": { - "process_id": "add", - "arguments": { - "x": { - "from_node": "multiply14" - }, - "y": 83.0 - } - }, - "divide23": { - "process_id": "divide", - "arguments": { - "x": { - "from_node": "add23" - }, - "y": 20.0 - } - }, - "power2": { - "process_id": "power", + "sd1": { + "process_id": "sd", "arguments": { - "base": 10, - "p": { - "from_node": "divide23" + "data": { + "from_parameter": "data" } } }, - "arrayelement11": { - "process_id": "array_element", + "sum1": { + "process_id": "sum", "arguments": { "data": { "from_parameter": "data" - }, - "index": 0 - } - }, - "isnodata1": { - "process_id": "is_nodata", - "arguments": { - "x": { - "from_node": "arrayelement11" } } }, - "if1": { - "process_id": "if", + "quantiles2": { + "process_id": "quantiles", "arguments": { - "accept": 1, - "reject": { - "from_node": "power2" + "data": { + "from_parameter": "data" }, - "value": { - "from_node": "isnodata1" - } + "probabilities": [ + 0.75 + ] } }, - "arrayelement12": { - "process_id": "array_element", + "quantiles3": { + "process_id": "quantiles", "arguments": { "data": { "from_parameter": "data" }, - "index": 1 + "probabilities": [ + 0.25 + ] } }, - "log2": { - "process_id": "log", + "subtract31": { + "process_id": "subtract", "arguments": { - "base": 10, "x": { - "from_node": "arrayelement12" - } - } - }, - "multiply15": { - "process_id": "multiply", - "arguments": { - "x": 10.0, + "from_node": "quantiles2" + }, "y": { - "from_node": "log2" + "from_node": "quantiles3" } } }, - "add24": { - "process_id": "add", - "arguments": { - "x": { - "from_node": "multiply15" - }, - "y": 83.0 - } - }, - "divide24": { - "process_id": "divide", + "quantiles4": { + "process_id": "quantiles", "arguments": { - "x": { - "from_node": "add24" + "data": { + "from_parameter": "data" }, - "y": 20.0 - } - }, - "power3": { - "process_id": "power", - "arguments": { - "base": 10, - "p": { - "from_node": "divide24" - } + "probabilities": [ + 0.95 + ] } }, - "arrayelement13": { - "process_id": "array_element", + "quantiles5": { + "process_id": "quantiles", "arguments": { "data": { "from_parameter": "data" }, - "index": 1 + "probabilities": [ + 0.05 + ] } }, - "isnodata2": { - "process_id": "is_nodata", + "subtract32": { + "process_id": "subtract", "arguments": { "x": { - "from_node": "arrayelement13" + "from_node": "quantiles4" + }, + "y": { + "from_node": "quantiles5" } } }, - "if2": { - "process_id": "if", + "arrayconcat1": { + "process_id": "array_concat", "arguments": { - "accept": 1, - "reject": { - "from_node": "power3" + "array1": { + "from_node": "quantiles1" }, - "value": { - "from_node": "isnodata2" - } - } - }, - "arraycreate1": { - "process_id": "array_create", - "arguments": { - "data": [ + "array2": [ { - "from_node": "if1" + "from_node": "mean1" }, { - "from_node": "if2" - } - ] - }, - "result": true - } - } - } - } - }, - "apply3": { - "process_id": "apply", - "arguments": { - "data": { - "from_node": "applydimension2" - }, - "process": { - "process_graph": { - "linearscalerange3": { - "process_id": "linear_scale_range", - "arguments": { - "inputMax": 65534, - "inputMin": 1, - "outputMax": 65534, - "outputMin": 1, - "x": { - "from_parameter": "x" - } - }, - "result": true - } - } - } - } - }, - "applydimension3": { - "process_id": "apply_dimension", - "arguments": { - "data": { - "from_node": "apply3" - }, - "dimension": "bands", - "process": { - "process_graph": { - "arrayelement14": { - "process_id": "array_element", - "arguments": { - "data": { - "from_parameter": "data" - }, - "index": 0 - } - }, - "log3": { - "process_id": "log", - "arguments": { - "base": 10, - "x": { - "from_node": "arrayelement14" - } - } - }, - "multiply16": { - "process_id": "multiply", - "arguments": { - "x": 20.0, - "y": { - "from_node": "log3" - } - } - }, - "subtract31": { - "process_id": "subtract", - "arguments": { - "x": { - "from_node": "multiply16" - }, - "y": 83.0 - } - }, - "arrayelement15": { - "process_id": "array_element", - "arguments": { - "data": { - "from_parameter": "data" - }, - "index": 1 - } - }, - "log4": { - "process_id": "log", - "arguments": { - "base": 10, - "x": { - "from_node": "arrayelement15" - } - } - }, - "multiply17": { - "process_id": "multiply", - "arguments": { - "x": 20.0, - "y": { - "from_node": "log4" - } - } - }, - "subtract32": { - "process_id": "subtract", - "arguments": { - "x": { - "from_node": "multiply17" - }, - "y": 83.0 - } - }, - "arraycreate2": { - "process_id": "array_create", - "arguments": { - "data": [ - { - "from_node": "subtract31" + "from_node": "sd1" }, { - "from_node": "subtract32" - } - ] - }, - "result": true - } - } - } - } - }, - "applydimension4": { - "process_id": "apply_dimension", - "arguments": { - "data": { - "from_node": "applydimension3" - }, - "dimension": "bands", - "process": { - "process_graph": { - "arrayelement16": { - "process_id": "array_element", - "arguments": { - "data": { - "from_parameter": "data" - }, - "index": 0 - } - }, - "arrayelement17": { - "process_id": "array_element", - "arguments": { - "data": { - "from_parameter": "data" - }, - "index": 1 - } - }, - "subtract33": { - "process_id": "subtract", - "arguments": { - "x": { - "from_node": "arrayelement16" - }, - "y": { - "from_node": "arrayelement17" - } - } - }, - "divide25": { - "process_id": "divide", - "arguments": { - "x": { - "from_node": "arrayelement16" - }, - "y": { - "from_node": "arrayelement17" - } - } - }, - "multiply18": { - "process_id": "multiply", - "arguments": { - "x": 4.0, - "y": { - "from_node": "arrayelement16" - } - } - }, - "add25": { - "process_id": "add", - "arguments": { - "x": { - "from_node": "arrayelement17" - }, - "y": { - "from_node": "arrayelement16" - } - } - }, - "divide26": { - "process_id": "divide", - "arguments": { - "x": { - "from_node": "multiply18" - }, - "y": { - "from_node": "add25" - } - } - }, - "arraymodify2": { - "process_id": "array_modify", - "arguments": { - "data": { - "from_parameter": "data" - }, - "index": 2, - "values": [ - { - "from_node": "subtract33" + "from_node": "sum1" }, { - "from_node": "divide25" + "from_node": "subtract31" }, { - "from_node": "divide26" + "from_node": "subtract32" } ] }, "result": true } } - } + }, + "target_dimension": "bands" } }, "renamelabels2": { "process_id": "rename_labels", "arguments": { "data": { - "from_node": "applydimension4" - }, - "dimension": "bands", - "target": [ - "VH", - "VV", - "VHVVD", - "VHVVR", - "DpRVIVV" - ] - } - }, - "mergecubes1": { - "process_id": "merge_cubes", - "arguments": { - "cube1": { - "from_node": "renamelabels1" - }, - "cube2": { - "from_node": "renamelabels2" - } - } - }, - "applydimension5": { - "process_id": "apply_dimension", - "arguments": { - "context": { - "parallel": true, - "TileSize": 128 - }, - "data": { - "from_node": "mergecubes1" - }, - "dimension": "t", - "process": { - "process_graph": { - "quantiles1": { - "process_id": "quantiles", - "arguments": { - "data": { - "from_parameter": "data" - }, - "probabilities": [ - 0.02, - 0.05, - 0.25, - 0.5, - 0.75, - 0.95, - 0.98 - ] - } - }, - "mean1": { - "process_id": "mean", - "arguments": { - "data": { - "from_parameter": "data" - } - } - }, - "sd1": { - "process_id": "sd", - "arguments": { - "data": { - "from_parameter": "data" - } - } - }, - "sum1": { - "process_id": "sum", - "arguments": { - "data": { - "from_parameter": "data" - } - } - }, - "quantiles2": { - "process_id": "quantiles", - "arguments": { - "data": { - "from_parameter": "data" - }, - "probabilities": [ - 0.75 - ] - } - }, - "quantiles3": { - "process_id": "quantiles", - "arguments": { - "data": { - "from_parameter": "data" - }, - "probabilities": [ - 0.25 - ] - } - }, - "subtract34": { - "process_id": "subtract", - "arguments": { - "x": { - "from_node": "quantiles2" - }, - "y": { - "from_node": "quantiles3" - } - } - }, - "quantiles4": { - "process_id": "quantiles", - "arguments": { - "data": { - "from_parameter": "data" - }, - "probabilities": [ - 0.95 - ] - } - }, - "quantiles5": { - "process_id": "quantiles", - "arguments": { - "data": { - "from_parameter": "data" - }, - "probabilities": [ - 0.05 - ] - } - }, - "subtract35": { - "process_id": "subtract", - "arguments": { - "x": { - "from_node": "quantiles4" - }, - "y": { - "from_node": "quantiles5" - } - } - }, - "arrayconcat1": { - "process_id": "array_concat", - "arguments": { - "array1": { - "from_node": "quantiles1" - }, - "array2": [ - { - "from_node": "mean1" - }, - { - "from_node": "sd1" - }, - { - "from_node": "sum1" - }, - { - "from_node": "subtract34" - }, - { - "from_node": "subtract35" - } - ] - }, - "result": true - } - } - }, - "target_dimension": "bands" - } - }, - "renamelabels3": { - "process_id": "rename_labels", - "arguments": { - "data": { - "from_node": "applydimension5" + "from_node": "applydimension2" }, "dimension": "bands", "target": [ @@ -2309,67 +1783,7 @@ "WRI_sd", "WRI_sum", "WRI_iqr", - "WRI_iqr0595", - "VH_p2", - "VH_p5", - "VH_p25", - "VH_median", - "VH_p75", - "VH_p95", - "VH_p98", - "VH_mean", - "VH_sd", - "VH_sum", - "VH_iqr", - "VH_iqr0595", - "VV_p2", - "VV_p5", - "VV_p25", - "VV_median", - "VV_p75", - "VV_p95", - "VV_p98", - "VV_mean", - "VV_sd", - "VV_sum", - "VV_iqr", - "VV_iqr0595", - "VHVVD_p2", - "VHVVD_p5", - "VHVVD_p25", - "VHVVD_median", - "VHVVD_p75", - "VHVVD_p95", - "VHVVD_p98", - "VHVVD_mean", - "VHVVD_sd", - "VHVVD_sum", - "VHVVD_iqr", - "VHVVD_iqr0595", - "VHVVR_p2", - "VHVVR_p5", - "VHVVR_p25", - "VHVVR_median", - "VHVVR_p75", - "VHVVR_p95", - "VHVVR_p98", - "VHVVR_mean", - "VHVVR_sd", - "VHVVR_sum", - "VHVVR_iqr", - "VHVVR_iqr0595", - "DpRVIVV_p2", - "DpRVIVV_p5", - "DpRVIVV_p25", - "DpRVIVV_median", - "DpRVIVV_p75", - "DpRVIVV_p95", - "DpRVIVV_p98", - "DpRVIVV_mean", - "DpRVIVV_sd", - "DpRVIVV_sum", - "DpRVIVV_iqr", - "DpRVIVV_iqr0595" + "WRI_iqr0595" ] } }, @@ -2732,7 +2146,754 @@ "WRI_sd", "WRI_sum", "WRI_iqr", - "WRI_iqr0595", + "WRI_iqr0595" + ], + "data": { + "from_node": "renamelabels2" + } + } + }, + "loadcollection2": { + "process_id": "load_collection", + "arguments": { + "bands": [ + "VH", + "VV" + ], + "featureflags": { + "tilesize": 128 + }, + "id": "SENTINEL1_GRD", + "properties": { + "sar:polarizations": { + "process_graph": { + "eq1": { + "process_id": "eq", + "arguments": { + "x": { + "from_parameter": "value" + }, + "y": [ + "VV", + "VH" + ] + }, + "result": true + } + } + } + }, + "spatial_extent": { + "east": 4880000, + "south": 2898000, + "west": 4878000, + "north": 2900000, + "crs": "EPSG:3035" + }, + "temporal_extent": [ + "2021-01-01", + "2022-01-01" + ] + } + }, + "sarbackscatter1": { + "process_id": "sar_backscatter", + "arguments": { + "coefficient": "sigma0-ellipsoid", + "contributing_area": false, + "data": { + "from_node": "loadcollection2" + }, + "elevation_model": null, + "ellipsoid_incidence_angle": false, + "local_incidence_angle": false, + "mask": false, + "noise_removal": true, + "options": { + "implementation_version": "2", + "tile_size": 128, + "otb_memory": 1024, + "debug": false, + "elev_geoid": "/opt/openeo-vito-aux-data/egm96.tif" + } + } + }, + "resamplespatial2": { + "process_id": "resample_spatial", + "arguments": { + "align": "upper-left", + "data": { + "from_node": "sarbackscatter1" + }, + "method": "near", + "projection": null, + "resolution": 10.0 + } + }, + "applydimension3": { + "process_id": "apply_dimension", + "arguments": { + "data": { + "from_node": "resamplespatial2" + }, + "dimension": "bands", + "process": { + "process_graph": { + "arrayelement10": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 0 + } + }, + "log1": { + "process_id": "log", + "arguments": { + "base": 10, + "x": { + "from_node": "arrayelement10" + } + } + }, + "multiply14": { + "process_id": "multiply", + "arguments": { + "x": 10.0, + "y": { + "from_node": "log1" + } + } + }, + "add23": { + "process_id": "add", + "arguments": { + "x": { + "from_node": "multiply14" + }, + "y": 83.0 + } + }, + "divide23": { + "process_id": "divide", + "arguments": { + "x": { + "from_node": "add23" + }, + "y": 20.0 + } + }, + "power2": { + "process_id": "power", + "arguments": { + "base": 10, + "p": { + "from_node": "divide23" + } + } + }, + "arrayelement11": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 0 + } + }, + "isnodata1": { + "process_id": "is_nodata", + "arguments": { + "x": { + "from_node": "arrayelement11" + } + } + }, + "if1": { + "process_id": "if", + "arguments": { + "accept": 1, + "reject": { + "from_node": "power2" + }, + "value": { + "from_node": "isnodata1" + } + } + }, + "arrayelement12": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 1 + } + }, + "log2": { + "process_id": "log", + "arguments": { + "base": 10, + "x": { + "from_node": "arrayelement12" + } + } + }, + "multiply15": { + "process_id": "multiply", + "arguments": { + "x": 10.0, + "y": { + "from_node": "log2" + } + } + }, + "add24": { + "process_id": "add", + "arguments": { + "x": { + "from_node": "multiply15" + }, + "y": 83.0 + } + }, + "divide24": { + "process_id": "divide", + "arguments": { + "x": { + "from_node": "add24" + }, + "y": 20.0 + } + }, + "power3": { + "process_id": "power", + "arguments": { + "base": 10, + "p": { + "from_node": "divide24" + } + } + }, + "arrayelement13": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 1 + } + }, + "isnodata2": { + "process_id": "is_nodata", + "arguments": { + "x": { + "from_node": "arrayelement13" + } + } + }, + "if2": { + "process_id": "if", + "arguments": { + "accept": 1, + "reject": { + "from_node": "power3" + }, + "value": { + "from_node": "isnodata2" + } + } + }, + "arraycreate1": { + "process_id": "array_create", + "arguments": { + "data": [ + { + "from_node": "if1" + }, + { + "from_node": "if2" + } + ] + }, + "result": true + } + } + } + } + }, + "apply3": { + "process_id": "apply", + "arguments": { + "data": { + "from_node": "applydimension3" + }, + "process": { + "process_graph": { + "linearscalerange3": { + "process_id": "linear_scale_range", + "arguments": { + "inputMax": 65534, + "inputMin": 1, + "outputMax": 65534, + "outputMin": 1, + "x": { + "from_parameter": "x" + } + }, + "result": true + } + } + } + } + }, + "applydimension4": { + "process_id": "apply_dimension", + "arguments": { + "data": { + "from_node": "apply3" + }, + "dimension": "bands", + "process": { + "process_graph": { + "arrayelement14": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 0 + } + }, + "log3": { + "process_id": "log", + "arguments": { + "base": 10, + "x": { + "from_node": "arrayelement14" + } + } + }, + "multiply16": { + "process_id": "multiply", + "arguments": { + "x": 20.0, + "y": { + "from_node": "log3" + } + } + }, + "subtract33": { + "process_id": "subtract", + "arguments": { + "x": { + "from_node": "multiply16" + }, + "y": 83.0 + } + }, + "arrayelement15": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 1 + } + }, + "log4": { + "process_id": "log", + "arguments": { + "base": 10, + "x": { + "from_node": "arrayelement15" + } + } + }, + "multiply17": { + "process_id": "multiply", + "arguments": { + "x": 20.0, + "y": { + "from_node": "log4" + } + } + }, + "subtract34": { + "process_id": "subtract", + "arguments": { + "x": { + "from_node": "multiply17" + }, + "y": 83.0 + } + }, + "arraycreate2": { + "process_id": "array_create", + "arguments": { + "data": [ + { + "from_node": "subtract33" + }, + { + "from_node": "subtract34" + } + ] + }, + "result": true + } + } + } + } + }, + "applydimension5": { + "process_id": "apply_dimension", + "arguments": { + "data": { + "from_node": "applydimension4" + }, + "dimension": "bands", + "process": { + "process_graph": { + "arrayelement16": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 0 + } + }, + "arrayelement17": { + "process_id": "array_element", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 1 + } + }, + "subtract35": { + "process_id": "subtract", + "arguments": { + "x": { + "from_node": "arrayelement16" + }, + "y": { + "from_node": "arrayelement17" + } + } + }, + "divide25": { + "process_id": "divide", + "arguments": { + "x": { + "from_node": "arrayelement16" + }, + "y": { + "from_node": "arrayelement17" + } + } + }, + "multiply18": { + "process_id": "multiply", + "arguments": { + "x": 4.0, + "y": { + "from_node": "arrayelement16" + } + } + }, + "add25": { + "process_id": "add", + "arguments": { + "x": { + "from_node": "arrayelement17" + }, + "y": { + "from_node": "arrayelement16" + } + } + }, + "divide26": { + "process_id": "divide", + "arguments": { + "x": { + "from_node": "multiply18" + }, + "y": { + "from_node": "add25" + } + } + }, + "arraymodify2": { + "process_id": "array_modify", + "arguments": { + "data": { + "from_parameter": "data" + }, + "index": 2, + "values": [ + { + "from_node": "subtract35" + }, + { + "from_node": "divide25" + }, + { + "from_node": "divide26" + } + ] + }, + "result": true + } + } + } + } + }, + "renamelabels3": { + "process_id": "rename_labels", + "arguments": { + "data": { + "from_node": "applydimension5" + }, + "dimension": "bands", + "target": [ + "VH", + "VV", + "VHVVD", + "VHVVR", + "DpRVIVV" + ] + } + }, + "applydimension6": { + "process_id": "apply_dimension", + "arguments": { + "context": { + "parallel": true, + "TileSize": 128 + }, + "data": { + "from_node": "renamelabels3" + }, + "dimension": "t", + "process": { + "process_graph": { + "quantiles6": { + "process_id": "quantiles", + "arguments": { + "data": { + "from_parameter": "data" + }, + "probabilities": [ + 0.02, + 0.05, + 0.25, + 0.5, + 0.75, + 0.95, + 0.98 + ] + } + }, + "mean2": { + "process_id": "mean", + "arguments": { + "data": { + "from_parameter": "data" + } + } + }, + "sd2": { + "process_id": "sd", + "arguments": { + "data": { + "from_parameter": "data" + } + } + }, + "sum2": { + "process_id": "sum", + "arguments": { + "data": { + "from_parameter": "data" + } + } + }, + "quantiles7": { + "process_id": "quantiles", + "arguments": { + "data": { + "from_parameter": "data" + }, + "probabilities": [ + 0.75 + ] + } + }, + "quantiles8": { + "process_id": "quantiles", + "arguments": { + "data": { + "from_parameter": "data" + }, + "probabilities": [ + 0.25 + ] + } + }, + "subtract36": { + "process_id": "subtract", + "arguments": { + "x": { + "from_node": "quantiles7" + }, + "y": { + "from_node": "quantiles8" + } + } + }, + "quantiles9": { + "process_id": "quantiles", + "arguments": { + "data": { + "from_parameter": "data" + }, + "probabilities": [ + 0.95 + ] + } + }, + "quantiles10": { + "process_id": "quantiles", + "arguments": { + "data": { + "from_parameter": "data" + }, + "probabilities": [ + 0.05 + ] + } + }, + "subtract37": { + "process_id": "subtract", + "arguments": { + "x": { + "from_node": "quantiles9" + }, + "y": { + "from_node": "quantiles10" + } + } + }, + "arrayconcat2": { + "process_id": "array_concat", + "arguments": { + "array1": { + "from_node": "quantiles6" + }, + "array2": [ + { + "from_node": "mean2" + }, + { + "from_node": "sd2" + }, + { + "from_node": "sum2" + }, + { + "from_node": "subtract36" + }, + { + "from_node": "subtract37" + } + ] + }, + "result": true + } + } + }, + "target_dimension": "bands" + } + }, + "renamelabels4": { + "process_id": "rename_labels", + "arguments": { + "data": { + "from_node": "applydimension6" + }, + "dimension": "bands", + "target": [ + "VH_p2", + "VH_p5", + "VH_p25", + "VH_median", + "VH_p75", + "VH_p95", + "VH_p98", + "VH_mean", + "VH_sd", + "VH_sum", + "VH_iqr", + "VH_iqr0595", + "VV_p2", + "VV_p5", + "VV_p25", + "VV_median", + "VV_p75", + "VV_p95", + "VV_p98", + "VV_mean", + "VV_sd", + "VV_sum", + "VV_iqr", + "VV_iqr0595", + "VHVVD_p2", + "VHVVD_p5", + "VHVVD_p25", + "VHVVD_median", + "VHVVD_p75", + "VHVVD_p95", + "VHVVD_p98", + "VHVVD_mean", + "VHVVD_sd", + "VHVVD_sum", + "VHVVD_iqr", + "VHVVD_iqr0595", + "VHVVR_p2", + "VHVVR_p5", + "VHVVR_p25", + "VHVVR_median", + "VHVVR_p75", + "VHVVR_p95", + "VHVVR_p98", + "VHVVR_mean", + "VHVVR_sd", + "VHVVR_sum", + "VHVVR_iqr", + "VHVVR_iqr0595", + "DpRVIVV_p2", + "DpRVIVV_p5", + "DpRVIVV_p25", + "DpRVIVV_median", + "DpRVIVV_p75", + "DpRVIVV_p95", + "DpRVIVV_p98", + "DpRVIVV_mean", + "DpRVIVV_sd", + "DpRVIVV_sum", + "DpRVIVV_iqr", + "DpRVIVV_iqr0595" + ] + } + }, + "filterbands2": { + "process_id": "filter_bands", + "arguments": { + "bands": [ "VH_p2", "VH_p5", "VH_p25", @@ -2792,7 +2953,18 @@ "DpRVIVV_iqr0595" ], "data": { - "from_node": "renamelabels3" + "from_node": "renamelabels4" + } + } + }, + "mergecubes1": { + "process_id": "merge_cubes", + "arguments": { + "cube1": { + "from_node": "filterbands1" + }, + "cube2": { + "from_node": "filterbands2" } } }, @@ -2861,7 +3033,7 @@ "process_id": "merge_cubes", "arguments": { "cube1": { - "from_node": "filterbands1" + "from_node": "mergecubes1" }, "cube2": { "from_node": "filterbbox1" @@ -2921,7 +3093,7 @@ } } }, - "applydimension6": { + "applydimension7": { "process_id": "apply_dimension", "arguments": { "data": { @@ -2953,7 +3125,7 @@ "process_id": "apply", "arguments": { "data": { - "from_node": "applydimension6" + "from_node": "applydimension7" }, "process": { "process_graph": { From 6fa4c09e624b2359b477fe5e0b99eb83c0d547ba Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Thu, 9 Jul 2026 14:46:45 +0200 Subject: [PATCH 22/43] Fix missing geometries in job DataFrame: handle rows without valid polygons using bbox-based geometry generation, update export-related attributes based on storage options, and ensure proper handling of S3 paths and workspaces. --- src/eo_processing/utils/jobmanager.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index bbfa96a..bb083e1 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -1,6 +1,7 @@ from __future__ import annotations import os import json +import geojson import logging import geopandas as gpd from threading import Thread, active_count @@ -27,7 +28,8 @@ import openeo import warnings from eo_processing.utils.helper import string_to_dict -from eo_processing.utils.geoprocessing import create_feature_extraction_processing_grid, get_point_number +from eo_processing.utils.geoprocessing import (create_feature_extraction_processing_grid, get_point_number, + bbox_of_PointsFeatureCollection, reproj_bbox_to_ll) from eo_processing.utils.mgrs import gridID_2_epsg if TYPE_CHECKING: @@ -959,8 +961,14 @@ def create_job_dataframe(gdf: Union[gpd.GeoDataFrame, List], year: int, file_nam # merge in the needed Polygons and convert to GeoDataFrame job_df = pd.merge(df, gdf_grid[['tile_name', 'geometry']], left_on='name', right_on='tile_name', how='left') - # remove row which have no polygon assigned due to fact that this grid is not in openEO processing extent - job_df = job_df.dropna(subset=["geometry"]) + # we have to fix rows which did not get a valid geometry + missing_geometry_row = job_df[job_df['geometry'].isna()].index + #print(missing_geometry_row) + for row in missing_geometry_row: + job_df.at[row, 'geometry'] = reproj_bbox_to_ll(bbox_of_PointsFeatureCollection(geojson.loads(job_df.loc[row, 'FeatureCollection']))) + job_df.at[row, 'tile_name'] = job_df.loc[row, 'name'] + #job_df = job_df.dropna(subset=["geometry"]) + # convert to GeoPandas GeoDataFrame job_df = gpd.GeoDataFrame(job_df, geometry='geometry') job_df.reset_index(inplace=True) @@ -970,8 +978,17 @@ def create_job_dataframe(gdf: Union[gpd.GeoDataFrame, List], year: int, file_nam job_df['end_date'] = ( pd.to_datetime(job_df['end_date'], format='%Y-%m-%d') - pd.Timedelta(seconds=1)).dt.strftime( '%Y-%m-%dT%H:%M:%SZ') - job_df['export_workspace'] = None - job_df['s3_prefix'] = None + # set the s3_prefix which is needed for the path to S3 storage relative to bucket if we export + if storage_options: + job_df['s3_prefix'] = storage_options.get('S3_prefix', None) + if storage_options.get('WEED_storage', None): + job_df['export_workspace'] = storage_options['WEED_storage'].get_export_workspace() + else: + job_df['export_workspace'] = None + else: + job_df['s3_prefix'] = None + job_df['export_workspace'] = None + job_df['organization_id'] = organization_id job_df['s2_tileid_list'] = None From fdcf5d710674fffaeb8a2e1d0670eeb42bfdb6f3 Mon Sep 17 00:00:00 2001 From: deroob Date: Thu, 9 Jul 2026 14:53:43 +0200 Subject: [PATCH 23/43] small update in sql storage object functions. --- src/eo_processing/utils/storage.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/eo_processing/utils/storage.py b/src/eo_processing/utils/storage.py index e7d5ed9..740dd57 100644 --- a/src/eo_processing/utils/storage.py +++ b/src/eo_processing/utils/storage.py @@ -760,6 +760,9 @@ def __init__(self, sql_credentials: Optional[sql_credentials_format] = None): #at the moment we initialize with hadoop false. Not sure if it's need to have? self.hadoop = False + def get_info(self): + return self.sql_credentials['host'], self.sql_credentials['port'], self.sql_credentials['dbname'], self.sql_credentials['schema'], self.sql_credentials['password'] + def create_connection(self) -> psycopg.Connection: """ Establishes a connection to a PostgreSQL database using the provided credentials. @@ -975,7 +978,7 @@ def QueryItems(self, table: str, lcolumns: List[str]) -> List[tuple]: return lresults - def StatusUpdateTiles(self, table: str, tileid: int, lcolumns: List[str], lmsg: List[str]) -> bool: + def StatusUpdateTiles(self, table: str, PK: tuple(str, int), lcolumns: List[str], lmsg: List[str]) -> bool: """ Updates specific columns in a particular database table for a given tile ID with new values. @@ -986,7 +989,7 @@ def StatusUpdateTiles(self, table: str, tileid: int, lcolumns: List[str], lmsg: database connection cleanup. :param table: The name of the database table to be updated. - :param tileid: The identifier of the tile for which data is to be updated. + :param PK: The identifier for which data is to be updated. :param lcolumns: A list of column names that need to be updated. :param lmsg: A list of new values corresponding to the specified columns. :return: True if the update operation completes successfully, otherwise False. @@ -1002,8 +1005,8 @@ def StatusUpdateTiles(self, table: str, tileid: int, lcolumns: List[str], lmsg: # prepare UPDATE statement print('** update the tile status...') for i in range(0, len(lcolumns)): - sql_statement = "UPDATE %s SET %s = %%s WHERE tile_id = %%s;" % (table, lcolumns[i]) - cur.execute(sql_statement, (lmsg[i], tileid)) + sql_statement = 'UPDATE %s SET "%s" = %%s WHERE (mgrsid10, year) = %%s;' % (table, lcolumns[i]) + cur.execute(sql_statement, (lmsg[i], PK)) # commit transactions conn.commit() From 7fcf952165091bae85bfe993773387a700554e6a Mon Sep 17 00:00:00 2001 From: buchhornm Date: Sat, 11 Jul 2026 11:40:31 +0200 Subject: [PATCH 24/43] Add retry logic with exponential backoff to handle exceptions in STAC search --- src/eo_processing/utils/catalogue_check.py | 38 ++++++++++++++++++---- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/src/eo_processing/utils/catalogue_check.py b/src/eo_processing/utils/catalogue_check.py index b609f10..4ada37a 100644 --- a/src/eo_processing/utils/catalogue_check.py +++ b/src/eo_processing/utils/catalogue_check.py @@ -6,6 +6,7 @@ import geojson from typing import TYPE_CHECKING import pystac_client +import time if TYPE_CHECKING: from eo_processing.config.data_formats import openEO_bbox_format @@ -217,8 +218,17 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op # get the dates of all found matches results = [] - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) + + for attempt in range(3): + try: + for item in search.items_as_dicts(): + results.append(item['properties']['datetime']) + break + except Exception as e: + if attempt < 2: + time.sleep(2 ** attempt) # exponential backoff: 1s, 2s + else: + raise e # count the number of unique dates on which we have observations (resolved tile overlap) df = pd.DataFrame(results, columns=['date']) @@ -248,8 +258,16 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op # get the dates of all found matches results = [] - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) + for attempt in range(3): + try: + for item in search.items_as_dicts(): + results.append(item['properties']['datetime']) + break + except Exception as e: + if attempt < 2: + time.sleep(2 ** attempt) # exponential backoff: 1s, 2s + else: + raise e # count the number of unique dates on which we have observations (resolved tile overlap) df = pd.DataFrame(results, columns=['date']) @@ -322,8 +340,16 @@ def catalogue_check_CDSE_S2(start: str, end: str, bbox: openEO_bbox_format, # get the dates of all found matches results = [] - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) + for attempt in range(3): + try: + for item in search.items_as_dicts(): + results.append(item['properties']['datetime']) + break + except Exception as e: + if attempt < 2: + time.sleep(2 ** attempt) # exponential backoff: 1s, 2s + else: + raise e # count the number of unique dates on which we have observations (resolved tile overlap) df = pd.DataFrame(results, columns=['date']) From 01b993a248339228cdcd30a4d04e2ed969911e1a Mon Sep 17 00:00:00 2001 From: buchhornm Date: Sat, 11 Jul 2026 11:40:38 +0200 Subject: [PATCH 25/43] Update `jobmanager.py` to use `file_prefix` instead of `title` for generating job metadata paths --- src/eo_processing/utils/jobmanager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index 9e74897..5d62c0d 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -259,7 +259,10 @@ def on_job_done(self, job: openeo.BatchJob, row: pd.Series) -> None: job_metadata = job.describe() job_dir = self.get_job_dir(job.job_id) - title = os.path.splitext(job_metadata['title'])[0] + #title = os.path.splitext(job_metadata['title'])[0] + + title = row["file_prefix"] + file_ext = job_metadata['process']['process_graph']['saveresult1']['arguments']['format'].lower() metadata_path = self.get_job_metadata_path(job.job_id,title) job_graph_path = self.get_job_graph_path(job.job_id,title) From 4823af3cafc6119df63369ff1ec48a0709ae3427 Mon Sep 17 00:00:00 2001 From: buchhornm Date: Mon, 13 Jul 2026 09:08:51 +0200 Subject: [PATCH 26/43] Refactor `jobmanager.py` to use `file_prefix` from `row` instead of `title` for job metadata and error log path generation --- src/eo_processing/utils/jobmanager.py | 36 +++++++++++---------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index 5d62c0d..5ab128d 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -121,25 +121,19 @@ def download_job_too_long(self, job: openeo.BatchJob, row: pd.Series) -> bool: return True else: return False - def check_finished(self, job: openeo.BatchJob) -> bool: + def check_finished(self, job: openeo.BatchJob, row: pd.Series) -> bool: """ - Check if the metadata file for a given job already exists in the filesystem, - indicating whether the job has been completed. - - This function extracts the job's metadata and determines the file path for - the associated metadata file. It then checks if this file path exists, which - would suggest that the job has been processed and the metadata has been saved. - - :param job: The job object whose completion status needs to be verified. It - must provide a 'describe' method that returns a dictionary - containing job metadata, including the job's title. - :return: A boolean value where `True` indicates that the job metadata file - exists, and thus the job is finished. `False` signifies that the - metadata file is not found, indicating that the job might not be - complete. + Determines if a batch job is finished by checking the existence of its metadata. + + :param job: The batch job for which the status needs to be checked. + :param row: A pandas Series containing job-related information, including the + file_prefix used to identify the metadata file. + :return: True if the job's metadata file exists, indicating the job is finished; + False otherwise. """ - job_metadata = job.describe() - title = os.path.splitext(job_metadata['title'])[0] + #job_metadata = job.describe() + #title = os.path.splitext(job_metadata['title'])[0] + title = row["file_prefix"] metadata_path = self.get_job_metadata_path(job.job_id, title) return os.path.exists(metadata_path) @@ -225,7 +219,8 @@ def on_job_error(self, job: openeo.BatchJob, row: pd.Series) -> Union[str, bool] """ error_logs = job.logs(level="error") job_metadata = job.describe_job() - title = os.path.splitext(job_metadata['title'])[0] + #title = os.path.splitext(job_metadata['title'])[0] + title = row["file_prefix"] error_log_path = self.get_error_log_path(job.job_id,title) job_graph_path = self.get_job_graph_path(job.job_id,title) @@ -285,10 +280,9 @@ def on_job_done(self, job: openeo.BatchJob, row: pd.Series) -> None: else : s3_client = self.storage_options["WEED_storage"].get_s3_client() bucket_name= self.storage_options["WEED_storage"].get_s3_bucket_name() - s3_client.download_file(bucket_name, os.path.join(S3_prefix,f"timeseries.{file_ext}"), + s3_client.download_file(bucket_name, os.path.join(S3_prefix,f"{title}.{file_ext}"), job_dir / f"{title}.{file_ext}") - if not self.storage_options.get('workspace_export', False): #fix prefix problem for non netcdf or GTiff files if file_ext in ['netcdf','gtiff']: @@ -375,7 +369,7 @@ def _track_statuses(self, job_db: JobDatabaseInterface, stats: Optional[Dict] = new_status = "downloading" if previous_status == "downloading": - if not self.check_finished(the_job): + if not self.check_finished(the_job, active.loc[i]): new_status = "downloading" if previous_status != "error" and new_status == "error": From c08f4ac47ce1bd004c83b6c8754960cd14b81db7 Mon Sep 17 00:00:00 2001 From: deroob Date: Tue, 14 Jul 2026 11:15:18 +0200 Subject: [PATCH 27/43] update in sql storage object functions. --- src/eo_processing/utils/storage.py | 72 ++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/src/eo_processing/utils/storage.py b/src/eo_processing/utils/storage.py index 740dd57..7730214 100644 --- a/src/eo_processing/utils/storage.py +++ b/src/eo_processing/utils/storage.py @@ -2,6 +2,7 @@ import os import boto3 +import pandas as pd from botocore.exceptions import ClientError from getpass import getpass import geopandas as gpd @@ -978,6 +979,77 @@ def QueryItems(self, table: str, lcolumns: List[str]) -> List[tuple]: return lresults + def AddColumns(self, table: str, column_names: lst(str)) -> None: + """ + Adds a new column to a specified table in the database. The method dynamically constructs + an SQL ALTER TABLE statement to add the column with the specified name, ensuring + compatibility with the existing table structure. If the column already exists, the query + does not raise an error. + + Args: + table (str): The name of the table to which the column should be added. + column_names (str): The names of the new columns. + + Returns: + None + """ + + sql_statement = f"""ALTER TABLE {table} + {',\n'.join([f'ADD COLUMN IF NOT EXISTS "{col.lower()}" numeric' for col in column_names])};""" + + self.GenericQueryWithOUTResult(sql_statement) + + def UploadTrainingPointData(self, table: str, df: pd.DataFrame, column_names: List[str]) -> None: + """ + Uploads data to the specified database table by adding missing columns, handling existing + data updates, and inserting new data points in bulk or individually. + + This method performs the following steps: + 1. Checks and ensures all necessary columns in the table. + 2. Identifies whether existing data points need to be updated or if new points need to be + inserted. + 3. Performs a bulk data insert for new data points if any. + 4. Updates rows individually for existing data points. + + Parameters: + table: str + The name of the database table where the data should be uploaded. + df: pd.DataFrame + A pandas DataFrame containing the data to be uploaded. + column_names: List[str] + A list of column names that need to be added to the table if they do not exist. + + Raises: + None + + Returns: + None + """ + + #First check if all columns are in the table + self.AddColumns(table, column_names) + + #First check which points are new and which are not + sql_statement = f"""SELECT mgrsid10, year + FROM {table}""" + + available_keys = self.GenericQueryWithResult(sql_statement) + + #split according to PK available are not + bulk_df = df[~df.set_index(['MGRSid10', 'year']).index.isin(available_keys)] + line_df = df[df.set_index(['MGRSid10', 'year']).index.isin(available_keys)] + + if len(bulk_df) != 0: + #upload bulk + data = ReadFaker(bulk_df) + self.BulkInsert(table, data, tuple([column.lower() for column in df.columns])) + + for index, row in line_df.iterrows(): + #upload line + self.StatusUpdateTiles(table, (row['MGRSid10'], row['year']), + tuple([column.lower() for column in column_names]), + row[column_names].to_list()) + def StatusUpdateTiles(self, table: str, PK: tuple(str, int), lcolumns: List[str], lmsg: List[str]) -> bool: """ Updates specific columns in a particular database table for a given tile ID with new values. From fb84ddc1193fe12d24defe15bff52b7776b4548e Mon Sep 17 00:00:00 2001 From: buchhornm Date: Wed, 15 Jul 2026 09:40:23 +0200 Subject: [PATCH 28/43] Refactor `catalogue_check.py` to introduce `query_retry` function for reusable retry logic with exponential backoff, replacing inline retry implementations. --- src/eo_processing/utils/catalogue_check.py | 74 +++++++++++----------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/src/eo_processing/utils/catalogue_check.py b/src/eo_processing/utils/catalogue_check.py index 4ada37a..2561fd9 100644 --- a/src/eo_processing/utils/catalogue_check.py +++ b/src/eo_processing/utils/catalogue_check.py @@ -217,21 +217,11 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op ) # get the dates of all found matches - results = [] - - for attempt in range(3): - try: - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) - break - except Exception as e: - if attempt < 2: - time.sleep(2 ** attempt) # exponential backoff: 1s, 2s - else: - raise e + results_single = [] + query_retry(search, results_single) # count the number of unique dates on which we have observations (resolved tile overlap) - df = pd.DataFrame(results, columns=['date']) + df = pd.DataFrame(results_single, columns=['date']) df['date'] = pd.to_datetime(df['date']) df['date'] = df['date'].apply(lambda x: x.date()) nbr_files = df['date'].nunique() @@ -246,8 +236,8 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op if messages: print(f'Found {nbr_files} images with orbit direction {orbit_direction}.') return orbit_direction - #use both orbits -> check with both directions. + #use both orbits -> check with both directions. search = client.search( collections=['sentinel-1-grd'], bbox=list(latlon_box.bounds), @@ -257,20 +247,11 @@ def catalogue_check_CDSE_S1(orbit_direction: str, start: str, end: str, bbox: op ) # get the dates of all found matches - results = [] - for attempt in range(3): - try: - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) - break - except Exception as e: - if attempt < 2: - time.sleep(2 ** attempt) # exponential backoff: 1s, 2s - else: - raise e + results_both = [] + query_retry(search, results_both) # count the number of unique dates on which we have observations (resolved tile overlap) - df = pd.DataFrame(results, columns=['date']) + df = pd.DataFrame(results_both, columns=['date']) df['date'] = pd.to_datetime(df['date']) df['date'] = df['date'].apply(lambda x: x.date()) nbr_files = df['date'].nunique() @@ -340,16 +321,7 @@ def catalogue_check_CDSE_S2(start: str, end: str, bbox: openEO_bbox_format, # get the dates of all found matches results = [] - for attempt in range(3): - try: - for item in search.items_as_dicts(): - results.append(item['properties']['datetime']) - break - except Exception as e: - if attempt < 2: - time.sleep(2 ** attempt) # exponential backoff: 1s, 2s - else: - raise e + query_retry(search, results) # count the number of unique dates on which we have observations (resolved tile overlap) df = pd.DataFrame(results, columns=['date']) @@ -386,3 +358,33 @@ def catalogue_check_CDSE_S1_FeatureCollection(points_geometry: geojson.FeatureCo bbox = bbox_of_PointsFeatureCollection(points_geometry) # now we run the orbit check and give result back return catalogue_check_CDSE_S1(start_orbit, start, end, bbox, messages=False, stop_processing=False) + + +def query_retry(search: pystac_client.ItemSearch, results: list, base_waiting_time: int = 20, + max_attempts: int = 3) -> list: + """ + Retries a query multiple times with exponential backoff in case of failure. + + This function performs a query using the provided pystac_client.ItemSearch object, + attempting to collect datetime properties from each item's dictionary representation. + It will retry the query up to a maximum configured number of attempts, applying an + exponential backoff between retries. If the maximum number of attempts is reached + and the query still fails, it will raise the exception encountered. + + :param search: A pystac_client.ItemSearch object used to perform the item query. + :param results: A list where the datetimes from the queried items will be appended. + :param base_waiting_time: Initial waiting time in seconds for exponential backoff. + Default is 20 seconds. + :param max_attempts: Maximum number of retry attempts. Default is 3. + :return: A list containing the datetime properties of items retrieved from the query. + """ + for attempt in range(max_attempts): + try: + for item in search.items_as_dicts(): + results.append(item['properties']['datetime']) + except Exception as e: + if attempt < (max_attempts - 1): + time.sleep(base_waiting_time * (attempt+1)) # 20s, 40s, 60s... + else: + raise e + return results \ No newline at end of file From 752269ed81cef2f9eed520527428cc8173a719bc Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Wed, 15 Jul 2026 10:47:36 +0200 Subject: [PATCH 29/43] Proactively refresh bearer token during job start to ensure thread consistency. --- src/eo_processing/utils/jobmanager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index 9e74897..4b75d89 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -502,6 +502,8 @@ def _launch_job(self, start_job, df, i, backend_name, stats: Optional[Dict] = No # start job if not yet done by callback try: job_con = job.connection + # Proactively refresh bearer token (because task in thread will not be able to do that) + self._refresh_bearer_token(connection=job_con) task = _JobStartTask( root_url=job_con.root_url, bearer_token=job_con.auth.bearer if isinstance(job_con.auth, BearerAuth) else None, From 1013ecd16ccf7891a50ad6464209d1156a513c95 Mon Sep 17 00:00:00 2001 From: deroob Date: Wed, 15 Jul 2026 15:09:28 +0200 Subject: [PATCH 30/43] update on nonEO_feature_cube, to also allow external stac's. --- src/eo_processing/openeo/processing.py | 11 ++++++----- src/eo_processing/utils/jobmanager.py | 7 +++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 00eec03..19d389c 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -443,17 +443,17 @@ def generate_nonEO_feature_cube( **processing_options: Dict[str, Union[str, bool, int | float, List[str], List[int | float]]]) -> DataCube: """ Warper to generate the data cube of all nonEO data based on a collections list of the form [(collection, [band1, band2, ...])]""" - temporal_extent = [start, end] - temporal_extent = None chunk_size: int = processing_options.get("openeo_chunk_size", CHUNK_SIZE) - for collection, bands, reproj, year in collections_list: + for collection, bands, reproj, year, stac_url in collections_list: #first need to distinguish between STAC and collection #we assume that they will allways be an url type of link in contrary with a collections which should just be a name - if temporal_extent: + if year: temporal_extent = [f"{year}-01-01T00:00:00Z", f"{year}-12-31T23:59:59Z"] - STAC_url = get_stac_collection_url(collection) + else: + temporal_extent = None + STAC_url = get_stac_collection_url(collection, stac_url) isSTAC = STAC_url is not None #secondly we know there are some specific case of reprojection EG DEM should be bilinear iso near @@ -469,6 +469,7 @@ def generate_nonEO_feature_cube( if bands == []: bands = metadata_from_stac(STAC_url).band_names #to be checked does the temporal filtering work on eg WERN + if nonEO_feature_cube = connection.load_stac(STAC_url, bands=bands, temporal_extent=temporal_extent diff --git a/src/eo_processing/utils/jobmanager.py b/src/eo_processing/utils/jobmanager.py index e816a32..086c10b 100644 --- a/src/eo_processing/utils/jobmanager.py +++ b/src/eo_processing/utils/jobmanager.py @@ -782,6 +782,7 @@ def create_job_dataframe(gdf: Union[gpd.GeoDataFrame, List], year: int, file_nam discriminator: Optional[str] = None, target_crs: Optional[int] = None, version: Optional[str] = None, model_ID: Optional[str] = None, + nonEO_file: Optional[str] = None, storage_options: Optional[storage_option_format] = None, organization_id : Optional[int] = None, path_global_grid: Optional[str] = None, feature_bbox: Optional[Tuple[float, float, float, float]] = None) -> gpd.GeoDataFrame: @@ -817,11 +818,11 @@ def create_job_dataframe(gdf: Union[gpd.GeoDataFrame, List], year: int, file_nam if isinstance(gdf, gpd.GeoDataFrame): # we are preparing a inference or post-processing actions columns = ['name', 'tileID', 'target_epsg', 'bbox', 'file_prefix', 'start_date', 'end_date','export_workspace', - 's3_prefix', 'organization_id', 's2_tileid_list'] + 's3_prefix', 'organization_id', 's2_tileid_list','nonEO_file'] dtypes = {'name': 'string', 'tileID': 'string', 'target_epsg': 'UInt16', 'file_prefix': 'string', 'start_date': 'string', 'end_date': 'string', 's3_prefix': 'string', 'geometry': 'geometry', 'bbox': 'string', 'organization_id':'UInt16','s2_tileid_list':'string', - 'export_workspace':'string'} + 'export_workspace':'string','nonEO_file' : 'string'} job_df = gdf.copy() @@ -862,6 +863,8 @@ def create_job_dataframe(gdf: Union[gpd.GeoDataFrame, List], year: int, file_nam job_df['s3_prefix'] = None job_df['export_workspace'] = None + # set no EO list Should be later replaced by an extraction method straight out of the model metadata. + job_df['nonEO_file'] = nonEO_file # a fix since the "name" column has to be unique job_df['tileID'] = job_df[tile_col].copy() if discriminator: From e904b92b5c78a9997091de716d9ab0a5c17ef08a Mon Sep 17 00:00:00 2001 From: deroob Date: Wed, 15 Jul 2026 15:15:11 +0200 Subject: [PATCH 31/43] bug fix --- src/eo_processing/openeo/processing.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 19d389c..7b0ed32 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -469,7 +469,6 @@ def generate_nonEO_feature_cube( if bands == []: bands = metadata_from_stac(STAC_url).band_names #to be checked does the temporal filtering work on eg WERN - if nonEO_feature_cube = connection.load_stac(STAC_url, bands=bands, temporal_extent=temporal_extent From fb72990217d7ce09cba5f63befe0a6bb3231c6c0 Mon Sep 17 00:00:00 2001 From: deroob Date: Wed, 15 Jul 2026 19:29:43 +0200 Subject: [PATCH 32/43] bug fix for running feature cube --- src/eo_processing/openeo/processing.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/eo_processing/openeo/processing.py b/src/eo_processing/openeo/processing.py index 7b0ed32..30811da 100644 --- a/src/eo_processing/openeo/processing.py +++ b/src/eo_processing/openeo/processing.py @@ -1,6 +1,7 @@ from __future__ import annotations import itertools import openeo +import numpy as np from openeo.rest.datacube import DataCube from openeo.extra.spectral_indices import append_indices, compute_indices from openeo.processes import array_create, ProcessBuilder, array_concat, subtract @@ -449,8 +450,8 @@ def generate_nonEO_feature_cube( for collection, bands, reproj, year, stac_url in collections_list: #first need to distinguish between STAC and collection #we assume that they will allways be an url type of link in contrary with a collections which should just be a name - if year: - temporal_extent = [f"{year}-01-01T00:00:00Z", f"{year}-12-31T23:59:59Z"] + if not np.isnan(year): + temporal_extent = [f"{int(year)}-01-01T00:00:00Z", f"{int(year)}-12-31T23:59:59Z"] else: temporal_extent = None STAC_url = get_stac_collection_url(collection, stac_url) From 8405fc14fc9cab07c1ec72eb750d689edb13eb41 Mon Sep 17 00:00:00 2001 From: deroob Date: Fri, 17 Jul 2026 12:30:04 +0200 Subject: [PATCH 33/43] getting HRVPP_COLLECTION in settings --- src/eo_processing/config/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/eo_processing/config/settings.py b/src/eo_processing/config/settings.py index 993a6e5..12f11a1 100644 --- a/src/eo_processing/config/settings.py +++ b/src/eo_processing/config/settings.py @@ -66,7 +66,7 @@ 'NDWI' ] PLANET_SCALING: List[Union[int, float]] = [0, 10000, 0, 1.0] - +HRVPP_COLLECTION: str = 'copernicus_r_utm-wgs84_10_m_hrvpp-vpp_p_2017-now_v01_direct' #special case with 2 seasons iso 1 year # --------------------------------------------------- # Job options for OpenEO OPENEO_EXTRACT_JOB_OPTIONS: Dict[str, Union[str, int, float, List]] = { From 1ecf03bf8ea5ea8f6624d9e97cdef532bdc9ca3d Mon Sep 17 00:00:00 2001 From: "Dr. Marcel Buchhorn" Date: Sun, 19 Jul 2026 07:29:06 +0200 Subject: [PATCH 34/43] Refactor high-resolution Sentinel-2 grid processing: update file paths, switch to EPSG:4326, adjust KML parsing logic, and remove unused UTM filtering. Add global 120x120km UTM tiling grid generation script. --- scripts/global_120x120km_UTM_tiling-grid.py | 120 ++++++++++++++++++ ...tiling_grids_2_high_res_Sentinel2_tiles.py | 20 +-- .../ECDC_global_120x120km_grid_v1.gpkg | Bin 0 -> 5931008 bytes 3 files changed, 130 insertions(+), 10 deletions(-) create mode 100644 scripts/global_120x120km_UTM_tiling-grid.py create mode 100644 src/eo_processing/resources/ECDC_global_120x120km_grid_v1.gpkg diff --git a/scripts/global_120x120km_UTM_tiling-grid.py b/scripts/global_120x120km_UTM_tiling-grid.py new file mode 100644 index 0000000..b692e37 --- /dev/null +++ b/scripts/global_120x120km_UTM_tiling-grid.py @@ -0,0 +1,120 @@ +""" +this script generates a global 120x120km tiling grid in UTM. + +""" + + +''' +STEPS +1. load the UTM zones gpkg +2. load the global land masses gpkg +3. loop over the 120 UTM zones + a. load the full 120x120 km grid depending on the hemisphere and change the epsg to the UTM zone + b. load a copy of the UTM zone polygon and warp to correct epsg + c. select the grid cells intersecting the UTM zone polygon and delete non-needed + d. load a copy of the land masses polygon and warp to correct epsg + e. select the grid cells intersecting the land masses and dlete non-needed ones + f. run over the remaining 120x120km tiles and add the naming as well as + add the openEO bbox dict using the bounds of the polygon (plus add the bounds in WGS84) + g. convert the geodataframe back to EPSG:4326 and save it to a new gpkg +4. combine all UTM zones into one gpkg and clean up the metadata +5. save the final global processing grid in the package ressources + +''' + +import geopandas as gpd +import pandas as pd +import math +from eo_processing.utils.mgrs import UTM_2_grid20id +import os + +# standard paths +path_grid_n = os.path.normpath(r'C:\Users\buchhorm\Downloads\120x120km_grid\basic_120x120km_grid_nothern_no-crs_v2.gpkg') +path_grid_s = os.path.normpath(r'C:\Users\buchhorm\Downloads\120x120km_grid\basic_120x120km_grid_southern_no-crs_v2.gpkg') +path_land = os.path.normpath(r'C:\Users\buchhorm\Downloads\120x120km_grid\land_sea_mask_20kmbuffered_EPSG4326_v2.gpkg') +path_utm = os.path.normpath(r'C:\Users\buchhorm\Downloads\120x120km_grid\UTM_zones_high-res_EPSG4326.gpkg') + +# load UTM zones +gdf_utm = gpd.read_file(path_utm) + +# loop over all UTM zones +lZones = gdf_utm.name.unique().tolist() +lFiles = [] + +for UTMzone in lZones: + print(f'processing zone: {UTMzone}') + # get the UTM zone polygon and the EPSG + if UTMzone[-1] == 'N': + epsg = 32600 + int(UTMzone[:2]) + else: + epsg = 32700 + int(UTMzone[:2]) + + gdf_zone = gdf_utm[gdf_utm.name == UTMzone].copy() + + path_out = os.path.normpath( + r'C:\Users\buchhorm\Downloads\120x120km_grid\results\UTM_zone_{0}.gpkg'.format( + epsg)) + os.makedirs(os.path.dirname(path_out), exist_ok=True) + + if not os.path.exists(path_out): + # get the land masses + gdf_land = gpd.read_file(path_land) + gdf_land = gdf_land.clip(gdf_zone) + gdf_land = gdf_land.dissolve() + + # bring all to correct epsg + gdf_zone = gdf_zone.to_crs(epsg=epsg) + gdf_land = gdf_land.to_crs(epsg=epsg) + + # short cut if the gdf_land is empty + if gdf_land.empty: + continue + + # now we load the basic 120x120km grid and set the crs to the correct epsg + if UTMzone[-1] == 'N': + gdf_grid = gpd.read_file(path_grid_n).set_crs(epsg=epsg, allow_override=True) + else: + gdf_grid = gpd.read_file(path_grid_s).set_crs(epsg=epsg, allow_override=True) + + # select grid cells which are intersecting with utm zone + gdf_grid = gdf_grid[gdf_grid.intersects(gdf_zone.union_all(method='coverage'))] + + # intersecting + gdf_grid = gdf_grid[gdf_grid.intersects(gdf_land.union_all(method='coverage'))] + + # add the bbox dict for openEO + gdf_grid['bbox_dict'] = gdf_grid.apply( + lambda row: { + 'west': math.floor(row.geometry.bounds[0] / 100) * 100., + 'south': math.floor(row.geometry.bounds[1] / 100) * 100., + 'east': math.ceil(row.geometry.bounds[2] / 100) * 100., + 'north': math.ceil(row.geometry.bounds[3] / 100) * 100., + 'crs': epsg + }, axis=1 + ) + + # save to disk + + + gdf_grid[['left', 'top', 'right', 'bottom', 'row_index','col_index', 'bbox_dict', 'geometry']].to_file( + path_out) + else: + # load + gdf_grid = gpd.read_file(path_out) + gdf_zone = gdf_zone.to_crs(epsg=epsg) + gdf_grid = gdf_grid.clip(gdf_zone) + gdf_grid.to_file(path_out) + + lFiles.append(path_out) + + +# load all geopackages which were produced and convert to EPSG:4326 and merge them into one GeoDataFrame +result = gpd.GeoDataFrame(columns=['left', 'top', 'right', 'bottom', 'row_index','col_index', 'bbox_dict', 'geometry'], geometry='geometry', crs='EPSG:4326') + +for file in lFiles: + gdf_tmp = gpd.read_file(file) + gdf_tmp = gdf_tmp.to_crs(epsg=4326) + result = pd.concat([result, gdf_tmp], ignore_index=True) + +# save final result to disk +result.to_file(os.path.normpath(r'C:\Users\buchhorm\Downloads\120x120km_grid\ECDC_global_120x120km_grid.gpkg')) diff --git a/scripts/laea_tiling_grids_2_high_res_Sentinel2_tiles.py b/scripts/laea_tiling_grids_2_high_res_Sentinel2_tiles.py index eb6500a..4444e26 100644 --- a/scripts/laea_tiling_grids_2_high_res_Sentinel2_tiles.py +++ b/scripts/laea_tiling_grids_2_high_res_Sentinel2_tiles.py @@ -28,17 +28,17 @@ def get_epsg(tile_id): return target_EPSG # filter to tiles in UTM zones needed for pan EU -df2 = pd.read_csv(r'C:\Users\buchhorm\Downloads\new_grids\utm_codes_europe.csv') -df2['utm'] = df2['ZONE'].astype(str) + df2['ROW_'] -lNeeded = df2['utm'].tolist() +#df2 = pd.read_csv(r'C:\Users\buchhorm\Downloads\new_grids\utm_codes_europe.csv') +#df2['utm'] = df2['ZONE'].astype(str) + df2['ROW_'] +#lNeeded = df2['utm'].tolist() ## Start read out everything we need with beautiful soup from Sentinel-2 KML -xml_file = r'C:\Users\buchhorm\Downloads\new_grids\Sentinel2_tiles.kml' -soup = bs.BeautifulSoup(open(xml_file), 'xml') +xml_file = r'C:\Users\buchhorm\Downloads\120x120km_grid\S2_tiles.kml' +soup = bs.BeautifulSoup(open(xml_file), 'html.parser') #find all VRTRasterBands in the soup -tiles = soup.findAll('description') +tiles = soup.find_all('description') data = [] @@ -57,8 +57,8 @@ def get_epsg(tile_id): cols = [ele.text.strip() for ele in cols] if cols[0] == 'TILE_ID': data1 = cols[1] if cols[0] == 'UTM_WKT': data2 = cols[1] - if data1[:3] in lNeeded: - data.append((data1, data2, get_epsg(data1))) + + data.append((data1, data2, get_epsg(data1))) df = pd.DataFrame(data, columns=['tile_id', 'geometry', 'epsg']) data = None @@ -80,10 +80,10 @@ def get_epsg(tile_id): # add extra points in 250m intervall gdf['geometry'] = gdf['geometry'].apply(lambda x: x.segmentize(250)) - gdf2 = gdf.to_crs(epsg=3035) + gdf2 = gdf.to_crs(epsg=4326) list_results.append(gdf2) result = gpd.GeoDataFrame(pd.concat(list_results, ignore_index=True), crs=list_results[0].crs) # write out -result.to_file(r'C:\Users\buchhorm\Downloads\new_grids\Sentinel2_tiling_grid_EU_high_res_EPSG3035.gpkg', driver='GPKG') +result.to_file(r'C:\Users\buchhorm\Downloads\120x120km_grid\Sentinel2_tiling_grid_high_res_EPSG4326.gpkg', driver='GPKG') diff --git a/src/eo_processing/resources/ECDC_global_120x120km_grid_v1.gpkg b/src/eo_processing/resources/ECDC_global_120x120km_grid_v1.gpkg new file mode 100644 index 0000000000000000000000000000000000000000..45f7762b09257b00dfc7302c137d289e0679a6ff GIT binary patch literal 5931008 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 &!hgRP!q;Sh{_kFs*W6h4(R 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

_mhyx1|)(f@PpIY=xZm_PQ-HhM) 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 z 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

;UENrgT41Y%)$AhJ;1@CmEs`# zq#_Peyd0=HRpcsnO!IQ!Awt~e{>`^bFF0phl|c#0;X--jg@X_f4))&rFbC(0_5cTm zR*FMB-#f_5fvQtQdU#Cpa^N9C+~=-)a+Je`^2iGZAs`&=z4u`bP9GlN;Lu8Oi1)ou z_Hv-=RFNJY)4Uvbh!FSO>z*9tz@xt=205Rj<@TBLIm)u@dCtuntmnBWPQ-p$VK?L0Q>$V@{^nNxA)v? zd5Og2MhfxHgPYeBl>{R(&%L#tnW+EX+RXmmqBtV;-(yVGx0&AOl~4OunU@b92{CH4)H$5IYAEF z?^Jd2k;ALZQyriGti_r88B9xzTiR}fxTltNO_XRZT3$E^0pVcptqpSU+*|AO2ZvUQ zL%i-i+slDTB~y~0w%%~U#-D~7OiOUkb|b_*24yJGT(rD!5CXzMW;;dUjGa4!$?Xp= ztrUlNALA@9hm+!V!IWg);2(z6&KznmEx|$CjS%w~l%Yg((elDU2nYu|-wXSLGlL0m zsAs+xWpa)Sa$ribd(qsHe^@^xJ9SNP&~_ulJcjSwQKGqMdEp=ggoB;$g*iAgm;eWd zmiC9@_`8^6y&R}IQ<9(Gz5dLp6NhA{t_cp>ZiJY}&<;?7a=2)D;UENrgPre%IXE+z z00)Owii6DeB7d0a0fOK4L?}_&EOyR7@piGMQ#T+~rA=DR7mI#NVgB&o4&=6A+{y-sMZM^L1 zUTycPHVDDta*>z`RcG%#KpE%z z^BZMaUN{H=;b7124RdfJlmG{ZmTsS=nSQFqe~&R$#U#$F#gqgG3IXe_7OgMtD;y9) z8Rz@+8)aHvI0ymZV9)Ojb8sS*00)OwibK>-NxSghV@y>siSuePCBcD0*!|~6-&^)z zv+C@<2Porwe}1D(%L@k~ARO%ZyT{~lwiibK8h#t**{qCyFx06YU>bUi?7_ z2n{=KhW)`A31SXDe{g7}{6WUe=zj0hyc{rvSKGE%S?(KSDTLEBiv0s2lmS!Qt>rT< zLj1vU2>U~tgU=u8;SjB(oa*JkP=*N{QO_$)_ydKobB)>Mq^qi`v)8JkjB!=_hn5$A z5CTHO#t&hCa7M&{KRC2f{vh!~g%DOrb{a9b*r_{z(a;jB_Y1_^$Q$ zryo+CJseug%bSq%Im9pR`5ZyNbWfbf9mizSbN=|gB(wfs)6VOcTivq0@$&~&n|#^D}ombK~k+7{K>bMUmhv`^t6G%SZ;`*cs{&D}m-ukmq+ z;`_E<4wr7Tu3vDM?8-!5Cxh0y5mKP2}KseZQO2QnROl*LI z<29N?bWTacVM{LuOu@xFZCafBd~XWTc=F=Lgb>Q$qV3l58BdUQVL61`MVf6J%(KA}2$ zc_PX%9?&&AsgcQ*iO(H{LyPr}ldqOigg0 z5RIoGZcGTF44B$(EuZlOX&075xLu?<`1*%>I7IEDm6rplD@-8e#Vbv4pb&QId=JV< zs%ihw^5PFdKxjx-sI)lf5AF&{V7zc>rTjtGy(52U>E(baI%S2a2@d-GYax^YQ`@cO zGc7{=!Ey-tgNK99AL`){`9ljY2U5BW_4JP%g`40&A>t(652B3o{rQbDE#JhRn49S> zG28NpPSLuyj9&-JI{wZA%OAs$x>`yg3R1tN9y0-~INM)dnGyasC{?;iBb* zgAfo7_Pn_;hxB=KKEHHM=hJ>!60iUJ?=hyTnDk-j9s~+ucfY=uUHe>{>g>G-DC2y8 ze#1q}3kM+}9PIhMVGhoTw7LDEzWd%HfAHU9OjR+7^J+0A(Jm+itWnP$_~0|GtF!kW zpp5hV`HeCyFC2t`aIok1hB-JV(grvMumAh+F{Y}RL>>rJ5*#R$g{AU6DC2y8 zexppw3kM+}9Bh6t%)!Zc1voggQXC{d82Lk&;J8H!i%<~pK7IBf0ZKxjjiF#*?3aG(&7wB0Bp&eH8f%S*cu zPY@cGL%3a}Ir!Q|JshI(qJx(Mp$#UnbciVl4io~GUN1x$ahB$y<%NR~5Dqq;40CWI zq(J}R&`S9O>;J#s|M!1>&d&dog!rZ8WIXrQZoTu5>o3`++T6aZ`jKuY%9h0VNMi3v zbQI!bxfToVdac#*bwVi19_w}e(k7j@t2QXp^5U0rj8~w^V1Mo5;OVdH z;}G@N{(FoceCUSSjvcEFCInAvqY!pJ+ivulE_134LMY?pHtio;Ui?7_2n~BuTi74c zC$)L{YnN84pNiN23%&k;DZJVa$1ci!t~G^l8sb!hPzD!mx0cVe2=NEYA?y!n4nBWy z&T;f{i2R|qm&1q)pPBGbhiZcf98t|HO^jO$+$I0e_Cu=`ga9V$ZGS2JO z{-Nc?AB2F=u;&o{Xgm-{P!4R%BHyKAGZ3)@z0#vKkMoV4*LCT zA(X*I+pXm@EkgXkatQlFnuE_D>fsRiga01mF-=dr__1TEP0KjG|NL(Y@(=rN-|Q<+ zaL{&ZA(V07pXQ?FGoBzE?0L>%4$cY1x#L>**2t7U$a+r1VRvu4cP>A=f?M4~rH|uty<)vMSCkPG8A>1y~9DMzx<261GQM>5jFzqee-1{oix`zh^zEzW5=^o9`0jfJyWVn3CW?Az!x?jX@)|dH>GA%D0q@NTHwton&qqrIIfIrmJKa{j| z?*H4oX{)>zo0@;M*@kB8n!eTKmB!CD`u+aD|EY=oZ(Ogmk1}ujXb`6g#=TQoGVPS= z>^(}}`?V;bjWY5MJAC)-nKhlNvzK*gd1)DPuau0U_Fk!Q9N}ab0`rV|?v;w- zDfvdmlZU{RW^sH?iUCs-{RD*yHa=u8Vbgg9l##DV*&Y8Q$O{4CAaR7{5RN0#9DH#^ zJsir!U4LWu|JC&Kz8AXKwnMK!e7~LKyP-V~I```R1{;o=O}rNhah}tRN0+VNd&fE< zlyN>Qzfq>;rT>g){;DC1mPe#1q}3kM+}9PBx^VGikYY<(P@Qv-CoUmWij+9&7_n8YO%n3C`Z3IXf1 z+iraK#Lm^(`ysJ=-G#>toL4?5d#(}6w7hT-0>Z)GToL5p-guaMJg@KOipU@O20367 z{WYc}I8X>!x?hIF(kCvSwCl2gSq>=E^1?v~WP0!7@-PRdC(6yirIqrBc)!rzK@OP2 z(1R%n4io~G91Z zV-6kv-oak=izx{X+HNg`GWt=?Mav5ZAs`&=coF2__JFzL+xo_fh(m>!16>y;5!Yf$ zf&+zsrQ=tW(T{2_T3$E^flQQJTps3-9xpup;L=L<57D^@r_ZS=_uiw7DZ8r>yrk`- z&Nu6Olqn1>gea`%0lIwV%}ZP_qeO9eIId6I?ThQ3`>=d=m;HYK-*0>({(JTQ7YIl% zILO-z63EPGG^2m{?$z1TlDW_)(F;Xz2^> z>CwR`snj{|BzKhL-mR4C4P;d{nmz0rMHOHyS_py?+3okE-v zukA(|{>^WcX?gK?Y4JkCatQmo<`Uk`_<-S_u$py~2znfSmX!GS`&e?8kl8QC_? zNy}#lh(FkNANGfIyZ1zauGggeAzC$-q2`JIh2iFZ@Sl)3xxe>Kay0c;aU6Ted9}Ik zNy(23Exc&Gy;MdEp^U?^^*PpBUf!gfYb|fmo@*U^lbH>xnT$s6mR%P3zPBif=Y_*C zFNeRsedifh6v??cv59l`d@%PtDHH-09*PjkxLibY(elDU2nYvzPfC!3d-F$tL*V<~ zqG*4waM;hw;fp`Dd}(bjIr=KjdtCO*E4lAU(ROPglySL;=Az|=gAfo7_MVh52j`^6 z+#Fn5x@8wh{wLxv)XRaOt8?rRlQ+GW`<@hSw-!Pf5uoOx<%NR~5DpUO755Hva85W3 zaByg84#n|4${}733`$fP6S%@N(bH3i_pR+l8Idi&QKsda+|XG#2o1|2JmRG}_#(V| zI7B1fU@r#-V_q%64LlMYD1_7G#ZH6}%7_d!CoP{LApT$@{;)qdV|u_J99k)Vi1tyo zl(A^@y!m;pHnse!#fIkVHhZ>NP1A>)+}rr}M%NcynSXJ^#SIq7h7tX_-*;pS2vC{6TUxat8ROaO5RI?U-6LN`?q*)^_v+|OF$ zzpt07W72(hwY#$2l#vG05`IV_9`gIZ3D-2edg@4X(CCXUzHyf-gA$a(h4RP?2O-ep zhR)NA7Zmmhawv1YUVotKRB`-6Cu|z?#t4IHUJg7&=!(-0 ze(#aDMwoL-Hk`A*XO%$-%HcwJ3e0de%;Lu8OkbWuhhl9Kvs5({bSFv5c6;BK|nC9icLxi>&{L*zBo*HiM{NP{b znTjfd5|qP*^2iGZAs`$MU15rf!W^70uL2w#S}6`PLyb60_Hv-=RFSKhFwM(>hX`>$ zlfLg0<#3@q^1?v~2nV^vsi-*2A^n}2r++AOXr(yF%q-$C$;*MNQ$?<3!Za@j9wNm3 zO!~f0lmnOY$O{J{ARG>k?nMoANS}M)hu&`NQT@4F)o6TBR#I#pz~3`YVRJ7%w%QowcB_G|a)-(H{GU zXTIms(*98x?++UnJQW736?POp!1p!GS{9-K5KcF>U1#W`wYt zc@@7=mXg1rvk(vtcK#Xm2WLhV;1JmVAI(4Q`F}aS|Chc0`S&)wy}`wKi~rlF|Gz8D zK|sc_?oisKDm#v$yuwsZkH)#|y|(3F z*>Mng^vU=x<5&~hix-CDUbknC{nQip);Eqtan7;c_KGP~k**n2vs@ZETzH5O{qwJj zuRiza&8xEG8p?r9dE|wIjAO#Vj$^?%r`+k8100-DKh6$Uk%Ylao z(LZn9{ha6rr@99k(3aop>_*O;nPMY?88^K#%J zLiEo%Ux;$xQXYBXAOwVi9mm2PoSr$r!J(Dn5XHT+Z%ytsK7C#)?mdnB-{Yo!M3=k% z(m~>0ns}B&fwT+l=LjRD`v+ZK?zNWwAk!KOOM>@Wd-{W7yOphH?;f4IXY;1@#IL1e*9JJjC(TSi8C7O$t7Y@=N2nX9AggK=9 z1D`)Qv{D?TKZrO?3vwX!fBj{r51+qbWHw|^aL{%mL|jXJfD+9`%L@k~ARKI58|ILX zYkeFXS}6_^*G3$U^l~^L_6Jh`M{V46*@DRvzHa-iy@{zuJwbh}0SjmRz$B{*oi5n{c7_m2{k!$r#r z2O%IF?7B*rgR@c);NZ|oagcSDh{IuC4mZWGkktRHyAImr^qS$>C87ieZ8t)!7oZF! znv0ef4njaU*madK2WO=qz`>!F;vnlP5r;#)9O%+X{h!>V|CjU2hG&zu*7-XA_VHG27c9&W$?;<~q-vHstxAFBxqPyrkmLS#LQB zba#TyLxj2>a@d;7meeH{P=fOPs{b(Uvp4Dz=*UY`nE!S(u{^$@rZBwVTAuzO#+PUa zd=OI@FSyR~a-a{xq)u^e1k(~71BH0VZxSddLkYj(LV4tcgAiz9mk$cV3$AV|CGHq} z92{D@VU}TdQ2Dm1#UG~S4)FgK?{=(urPj`dv=GV&_;sQ>C2v#r zvSG^x_`wZZp2W3hi*k8A0e-ZR@f0rya?hA_VeK)w1AGbri-jtLP)5M7xoG)J>Rve5 z06)yZ30Y(R^l_*sz>heb?B#IF@?&RCk~`b`$9wVSp1(eKfUoV=LMS8P*IcxGCUq|y zY=9r+;D)RL4i2qUJB>HCp5*0l^7HNIbsSyC;l_XNmOH@Lc9+HQ5JDLNzviOlg@X_f z4mQ9Kb8te|+#Fn5nnM)eNB-cy(E0eY+SK;lzuI8Z?c3g(JHV$9cJqD_LKy+S=Az|= zgAfo7Hoy;aa6;Aq2ZvUQL$sk&IGo`1hl!mU&RIRU+Hh9mLz4<~2l(1fJp7~x5ORibF`;z{37fR1~Y4_X#zP6hW*AYS)0l(&= z<%NR~5DqrL4|7Nd_?~{UzKv6nKOAp46y)b`zWM3>wjVqyFaPgbBYd;-Rw=u$v>v%|fvcB8v^M1Z{jJY~ih7y$DRQAGKOFtQt-57zq#4~vd zdPITUspD$G8*MAnpZ0j-nM||rZ?x@gH`?ac%)=iN9H=@b^(fwd=rdEs7)=K7ceN>C0L$|Elv1b|>T`HZ~qKHCcCM1#0l_%JxIbhGFk@3Wl?hQvM@ zYEBLB*sT8r?`$*1V3`*K4-s1UMaND1Z#TxUUVsvmgN5?Q3kCro7*1Sn3d8$sE7Ipb z_&7MUG>5`?pY0qk2WBKxk(mjmc{%V9A*L@VLy6`>dE|wI5D*SB=_w5Fvn_WfG68>Z zXr(wr`)pel?3CA{VY|HiPE8s&Zq=x9!*Jv&^>RL|Ln={@75&= zEG($a_qGlkmV--{e`|6l11R+C4j0(TJwX9NC}Wb#Z(5I*&$J5}LTxf2ygSC3-o~xN zw`<3cLMS5% z#BY>Q9(nP1@pO6HvbJ7W9QJo-y*%LWPOC`0XG!{$oIaTD&`H@XyJRIuuFdnlf109hf|!=I zI|`DuU0MibbQ0QbEiW8|fN-$8i^3e7_3;1)hgOP%>@JGFe}DM@#+JRXQSD~-{T1XF zB!YXISf|);=l^k^C42l*X?EIi^a<=!x)?yZJ=G$Gyj)}wzd%%67zp*ibb_0 zd*z=0QwXz3b0LH>=C%9=i`G1&$GouY~aA;|Fi01zhhk_snJ^8?tL`SLZ z)RAO!l9MoAoG8_|9|tm^ZEY&!_EHI?DeKEG?s+?{`O!=(-WAdml7{>VG&;(aGyZ@BUB^IjQen(p_WROA3N;GC;gygshbw43zdcznz43VR+*NU_-p&lHF757 zcKhd*6$Z~_EOh3Rv2S|LWGwQ&ld@Av%0|p8lXoI_w$yg^ayaUcu6M6Hdz`_9_m5co z#G3+}kYv`Pv(YE*_Uvrsc&e zg@Dl5=6F+96pTg-oq0yg!IQdnY1R2=%psG)uif6up=SQY7n%#lnbZETIL*cPeRNm{F1*L^S4#mz_i@7-zd%y9_a45|z>C|@ea(KSm9<5KlU|iOu zS6}+}mxdkpG?GbgQjzx$!Hip=mId!F(4#l=Z~pwQkU zTUY&bcCl%B$SLz56~9LaW%KjbmiM16olC47Wm;bP?9Sguk&N^bW#PMw+?F46@buY5 z-mxog7xCD&ZIA;^d+vl{5O#mE({UGe6AlQ$;m01my1rV`Bg+A0T3$E^0pZa8#hSA4T&K{Pj|Vt7 zv{D>0-}u&c406DvH`|(gAg31thn&~eOvCD<$y9R zFC2t`aM57Y+!)VZTF9ys^Qbx@9?_Ov?)gAs`&uj9gF_{>C>m z5Y+1r4y_ai`;BkI+V&2Iy|YW-RDJF#2XuaU(KvJC?H_MG^w3VG=#piVubkW^*-ujF z))m`){QRUY=JC6)YkQp|gtGSQ7xrI%Sf?xplxcb4(CXI6A6l$6<>B$d+3S(p9h~!* zG=*|IS~RR}7o>neQ^tR??$Z_>P1X?C8z=;-!$0V8?OdUN5EKSny!guPT6N4)K$(^o z3Sz%d*zD&8<>8y}oSh!IDLAN76ry>K#ME0k6zaA?5Ei$O=N9X3JE8OJeR~_i=ERt( zCm>n~WyIJzhSu^DJxNS0a|;_&hvydQnA$V9s4u3D<`!+e92$PUVbG5+jWd|^z`e^Z z?J%KdcDj(@Kp|j#7|*#7LfQNg*S&e$bO3Lzsgz8piJ6W&H^-`nLwx?G^X5D`%kP{e>r_w58K95RT2fObGZ z#4wT-0TmOX7%=0gs5pi(jv~e}F$y$ePKctQBuB=8V8k?z{=cVgeNXSRPu;q%|8LEE zK1XIP-@5PA-d+21c2(`#b*k!?+VlTs_W$F3baB29b}XEpbgvxu?ZfrE1(%oHy6?!{ z4vhEJEW|m?f!FMK*s@D20t!*tzaMQ``a^?mQ7=VhS{}U=W;b{%`+k`!_Q$k^zbJt( zXF}R9i)~EnzSo*nr%4yxwBIY0UzG)sDYCa_A=*7~^TM?)z=1+kmip%N8?X4fEaE_A zS{@ug037z&H7NGSw1vMYe=lhzIM|rheXljEPLp=-H?`4MYfFR36v=^wX!qkommWUp zl8S&rR5otI_xHA0Um9_sGA$1dAOH?~4VYEzk7)}8^sareoCDtiZrcXN&|F6Pdw2UEXB{7NXs6 zH*S7qcW|H(l}%Z)xYPEJ6h|DWOv{4<2!O*LH>ZmIF>NNvlPji`v=SUL=hiHB-)qgP z)1>Jyp8x8cn~H+S6v=^wX!r6b*DZVmi4zJ@S=alY8hGxXiXskFrscr_1i+!gi$Sq} zIj2ypPp3#ZOS%`%N!N6J(jTHi)@gQ{xb4)@Z@?d{5S6i$(f*<3Gd(0|nEt`< z42{2^Rh%$)!K ztC;`0?{DVvYX_U3d!pdt-c>yh4sNeMGJltFn*Stdx2RZ$r z~uRYMofvGB1nIp1A(qeN$$=@FU2Xr6zvs!lk6l(0kVlMze*apC%9tnM)-h2z`7T=R=CUtH+rz|UX#4QXVG%!{!Q zKe*N3iqh`ESQzQo# zA}k#*k^|S5`J2kLJUD;=IGFi`pM!{)JsbqBL_ZnsaQ+p||A#o=NAo*Z-um4iD}obW z`#P`trxn4|2ktv}!G@l}zzx+c)=ugbpZ~K^%Mo|>_bMu^JJe0=(> ziT~&s{B7FGL7lFxh?Hr0yov5T!~Xi9iP*O0?XT0~J1qM?9Q}2X^Eju>{J#isZP;HA zc5-OA>c{(5UyUVOYtn^_|2(N@dC!2R#QJL%BCH)+4LJ4o4=Vx+QCaE9jR$V4>=|e- zS{@ug035o_PZbsWIfyT@vU8BMv|kp5J5j;GeUEX_{hFIzn1{I5nzZq{9?jOj6a+LS z#({-scli!8cbv1SBA^hJyAC2s9Th4-Oyz4rSFrQHh^J^0PIEKcoe%1P8=1 zAqV$8#zS5>>XGNJf0ZoZDSG-o%@f9fI?I@__jkveAPP$ zG#4!o4j=#yC0l0|mHIjSqT`&>f>we9*1baxhdA5C3kzHHTzO?hK$A{i{K(jblY0a- zCB}h;X!qM4);)0j#)^PKRQA{{$1YegwMU@2XnAk|0dOeZX-QF;pTjRY&MA`~)W;av z{sHS+AqV$8#tbcJ67!=pCB}h;Xt&OTQW@hM%|*+D0|ggW@t%N_= zbuITj#tbcJ67!=pCB}h;2utTdsf=-s=Az}n0R+Io#B+WQB0}+S5VSOhV!NK>zQ_2m z`ZKS5YHLNX#ZKjK`}eH8lIvj=VR@T`l2FIrsYAP=jJeP9<&OI3cc}tkvQnla&XM|iag(X7uh^%KWG2IA)Oqa zt~&Mee~;@G(3F@zun=LrYq?N}${1g0E?OQOKmZ&NMHHp|97JT`;UH*fe<-qf(!Nd( z9MWmh(g_cAp0~bdKvQBIScrDNZ8=bg${1g0E?OQOKmZ&}9OdO8BLfcyK`X(*<_G&Y zIdDj)%dR=5|Fi9n=o!V8F%H^pEktEee4*k^Ee{SL01hUO@^cW8L3R$3R)T}gi}iML z;E>+l=7Sa=(BPH(UJRlTF~&jLt%azJ@rCB1<-q|2z`?{(ehwls@Nf{c5*%zksF#xi zhjg0srynN|Pa^`NDKQQ#L|E%>yPy!2F}~1Tv^+R~063U9%FiJgM>+b*Tya#G2kGhL zz#*L`z4?y=R*s+0BMK2?99W2U^ZinY${1g0E?OQOKmZ&}9OdUAA_I><2wDk$u-^v- zP7WN>^-?fRiE+?&YauFQe4)8$d2j#$a4>O{pM!`DJRAhA1P8=X$Q7qjS?>S)AN~G6 zOqBipFO@?3Jj&^p47uns4An*)bKeDjYtSbi&vD!tan+m;_rOCfL}d&HpKCSj#r9ug z&#P6Y<>8mTp9%dEQC*S$3&mP7idj`UhP7X|=wchL7O;_Dm5xi7qOoO^j z`UKYaNcTZYqIXLo^MPdhVqJ5g(d-+R8dO6UffBxfz&G*di9Ym(cJS7Ve*5J#Z z8~ND$ihx42d)0G0zD(RC+nkB<4pWQzQo#qTMlWRConU)6!5C8`=&+&5*k-LY3 zpp|GBcAu2{K4(^)CNV!6nIbu`5Mk*&D3v|>mwERc^+C_bAE->rg98YFgPG@eImpP} z!$HtWaIpKN%Dw(Tlb9ckOpzQ|h_G}XlpN}=ENuB+RSgF!)AHZ|0^nfgIercza?j2| z(n@f!`=pNWa-d1fk4C0Q4lG1iIuA+?FAm$>`H0to$RDUo%Yy?5fPwfq z-6u8N%Yh~_KN^`LIj|66={zVoaGjgKsZ7g*0|qO4rZUDCI&RYPAb>au(Y1-Ay!m2B9OYO~l2K=ZgFQ>?Fee8N z=`@M?QJNCtz(Rzj^Pp75_(F5h^56gh;9%k?KL-&R*mmLKkRy%?*HMN#IdDj)Nz9MZ zlo$sVA}pN;r834Bnv0eP2M_=U6G!N0z?Owr$_|#Pl7T zFuP*cX>(WX+BYFYWi9SoQS>F0+_|v)iH<*1M9Q>0Q1u@dCeSb~LyQn@L>4Z=jmUDU zWq~;oXhq_92@NbACQRz=nc5Q03jQnp;XLp$&hx;_*Ay3x`*%gq#Ac5dHhg?uySw`a z50`dmcYCvbH7`9p51fUkZ0NpwZxo^s3x8srf=YCGyyQVG!tBGq?x}RC|0Rp_E<7(; zoYRhb)z=!yP|(UQ(`St+szhAAu8*B z(mSh{zu7;~T(mqmfB-lgc2z2!_Qo;AV&|@Hp)L-BR)Rwq$G{){;Owa;Jh^bw!MEes zTk8*Zr>-CKdB6SvO^I>Pc55Lj`{}@==iYEg|3Gum^56gh;4oxykoJE+SS)s|dN>GL z2@dxALH9l9XZ~Z@<3nz%2)?u&3cq;zr$vkV1vDkbLEEi`sO+h#7O8Pd`URScmIntA z0Ea_AoR#)}KUgewta>;IS_uyJ`$6|T=V#w_+uE78R0Q8z4zJhS>B;eh{Q{a2r}5UCH(@;MazQ&2!I3PnY91=!6Ff(csK}J2@dxALH9l9?Z1Bh{3U;?;lK!n zro=dCyLF^OWfT9otn%}F`v#hemIntA00$G%dHaXV#6EUzj-!8&v=SWb_k+he`-jvm z3+lDK3ExrLh?c<^O^I<}A;QuT9F@)MwP46S?fV9rikydujvj`U!3PCAB>DRRPu#y4%BY0OdC0Ps$AzFcG#Tk~b7*op%5SAjKW`4q zW_~NP(kgp=17#W<#ydH1?vt`9AI_N`+pu48>r)2CCsr&pa;NnJ zmQEQM&BiE1Wt^3buQRcC>B5SD%CtN>#`5jL0Rq#jwExltIc3T|K;YEEa08Vgs5zv= zM0tbX{*{N5obQ<~N>@Dmranz3T)cba!cKpue^aP-UY84p&D}k?|KXu~{{Vld5-O+v zvpnVD@9=c^d$XBKO8oai7bFwlE`RqVz)O(gO5=pLiGo9q=#X$$omJ%d-!#q1A$n-r zJr4oDZ1!F2yZlfdPzjZj3;zh^!2txoq3NBe692`}$$e)o3<8#R_Y$PF)3a+YoggsO zoR!X+vxYnXoR&E;L=PFavd$x3o$oPv7y=0|Sh45BUU^vm zyZ7H#9vvo0<C^wp*%Q%063U)5d9oP#>>M&&`NMH z{e1q?lbjq{ufF``HQ&|r54`?_*Sk15L=P>8=nj;hx^C-?VV_E^H2{=W6RFKhgg=Qu@2D#-7Y$TNCq z-v`gNe{TFoiw^#(Jh~5n%6Z6xmdE?RNep-&=6o;j`;aF!Wq%*J&i8^}F3a3xjDw6~ z_j9u9tRl}ZqG?XQj2>DJJlFn-mcu)20S79fa>C^wp*%Q%063U)t^6Fs2}RjCNLt!2 zi?NOoa>!g{tU0jitRh1Wn&#vXJ+vGcm*}{K%E^U)g!1430^nfIbMkW#6HE^WK`X%l z>lh)2%ss}M!{zn{-hJ1$A9}){%7ZUosLH-y>(oYD8=k$OJlf1fA#Q5A+A5hs+pEZi!bvmheGqwqM3R#Es^=i&pjP4!uVYP z4)vV0{!oPRJLC{uV;t)rSoQNKe45^TYkAP|s0Xv3ldA2e5I4(TYN1jIm6MB>2L})U z2ea?p&mp<*-NixB(j3Bl?;!{GJ;oQ>s#pHFcKf-1E)N#g>yrJPRBbnfcrGfHQHkcF z<-q|2z`>kj(&%l8p5lxG6&~{UZ=LPBbfXW$f zYI$$~0dO#Jl%Io$3_KhJt%N@yj>1`xznb~K`wnAvB?o?dfAP9Y%7bH{USPJg^OK9% z`}pph!#jU*QF*|J6yir5*V^_;B~<>eTk`G*_bh06v`>7GfwyA5$MCjKx$`D_`;?my z^!o_E#|Zmt_Z`N6v{gT~YQXwGUtS)x{Kq-ws3w{gZrdrO}T|uPzVH*?L*_bFH-96yoNlt1MJ1 zp>lH3^56gh;9&MC`8kM{M-K-5E+Ki5jzO(C9R z#dbg?R8B5h9vnab9L#=iF9*4U*~3B5N^r1o?G8>3OjT_8__2$QoR1}`Ka9$Lu9dc% zLOjQc%BVzh(emH`0^nfwd;2*g7it~-gQS(-^y^U?N zpKGP#F%Hc4 zMh|VinETqRmyRD>vZXvaWR=Q!UVxTIBnN*$zS#JKH(xAI?y?*l>sq<|A9D``RBV`SYN%t>w`nt5i<7{3DbH2M_=U;}3ogNq=y0$l(tmhh|O= ztU9a6DGW_>a)=&U4&2wS=P^`HxcnoO2L})U2a`AVa}YBak3R@niFT1$_g=Q0lLM>H zDsp~9)0`Zlhn55P`|EiOl@l)i2<5>61i-<}_xv2h493Gj&`NN~ta~qO>g2$xvx=O$ z(KIKA=%MAnbM5u~kID&`e}wYj00Q7(=6ik)$@!kET?ks5Lzp)Y+eH&62UeX`C^wp*%Q%063Vuxu1i`1bh5J&`NN?{37Jg*vWxa zXBD|LOw*hkqKB3P*Pr$JGL@4H{|M#50R+IoK4zhF+~s19@1 z<9jW;kCDowO_8=d>NJu2_Gntn zA6O`QXzg0C?8;I5EbJR>Y*czikB#L4l~6gkXnAk|0dO$;82uc?&b;g#B&`I8%=etj z-1iu>>Z~I7?a?$Rhv=c@kbdLYr{C_-H>f@4*zY#JUmj2im6Hqq2<5>61i-=UWAt-K z?qhVsF`35W{vIT4<68GU#;iK4$bEY>&B-BpXgTow&&_YwZ!`IW@_tAOH>~Z|>)i+{fth2SH17D6(;Fd*^t;s3HERhv=SV`xEABZZcYxYI;+T|xoDb`L-f#c z;Q62ZF6sQpJ0F)v_eW7V;qs4A9vnab98BKa&p~8@JsbqB1PA2JLk?}799VT$kw<^h zG$)7Xq2<8yKfkEzJi6ZI^5`-uDkoh25z2!D2!Mmhn|nFPOt6Q8pq1cYzbD<*$$?d8 z6`9JTX-*E&L(75rLY)t!a>C^wp*%Q%063Vuxt~KaZ|>+PC9MPp`#tF{P7X&6zo*}t zIpqPnb}petL!F#o=y8xj91rw5DwXrR04kp3kMXvq-VO+hl zlLME8X#$sqS@oDdXuBvxcvMCu*VuKoFXmigj=$6L$eV)$Xc!LOyt#veV;vg zd!?GxZk@_&SG%>``CtF}dQ0j)UuQ}F?d^pM3O^fvt z+HMLld86|$R8F{B9vnab9L&0spM%J>csPjBB{6Pb{#^*?zw+1A0PtSi_dCz9T`Z^W zV=wNK{d^~#=b#Yh`&33HXISMIPF-aV&(iXEFUX7Fy_md+_r1uOe)jj0D=!lIC+=`{ zeBa5cbL!3`i)dQRKegQy;(Y(UjxWA+?db;kUuo?9>-S9|27fwEp>lH4@)-hn|0W;g zfBz!Gk-Z({$_It*z=?}Z^dBm9~zEYDfzWeD76FdHUVDR0#ci;HnqC?`xw{V^kJq){krIB2^m#C(tbPLj$ASIdI~2!Mmhi}^W-Opk|yprzYI zc%M|rVLvAaR-LIEei};CVjQ&H6k@(deRcGpkpN7)37zb@Pg_!Tr-$_zA;c9ts00D3?c`-i+k?HYp5VR5;kQWO%?Ca#f zs&neWsR&JranN>Ch?5~bpP_QX)$-r~0^nfsVqOk%=HlTXXeBrxFIL#3PAi=MS2va4 zw0_;XKh^mrudd7j{C@u5uW8QndtLrh1kf9FbM^+4>;&Mnc70|a_*QwaSN?Q!P&m)2 zi}eQcf4F+_^KW2RlsyrTLOkS-yN9WS%KyI8H|CH$Esx#+hu)z#Fo)iGdjrRzcaB+9 zu0!v_Ua`cZ4;;RLhUHo==@aUpjvY(!>{hLBO zVxF@lDxq@vzm~^)hNt5_o740C?>V^}(&g`--H>S;4V5`Lu{Aq%P|-gjuAJ47$ zv1ZV7I11{af4$gu{-A)S#XMTuO`$@#zDcwmIIYgIk{+gZ~y^t7&SI1Eb(&? zU+#K12wK{s3&XrUICOV%IMr5tyG7T&e9DXE!GS-#y>Q>Ag94fs2fR z4-9BpjDxnDLd*wJ8I@=*S{@ug031wy(9a>6A9VPGq?O=+{9x!02Rb=0C}%Lv;GCw# zIB2^m#2EmUQHkcF<-q|2zyWc8x{IHKIPoI8KgevV=8*oC?f>`R=gbqrIhnfQr0$bA$IT4Pdrzrj2Ijb@G}jCa z_xCOMUDWQyd#LWHI7Ya)lk3v1n5u&RIL4^*b*!2txo!9?bM4kFg{a1gW- z?GurC$iaV~GfiTU9ho9Iun=MC`mog98YFgNe-j9Fmc_%O3=- z1P4UsA%_v(c0rSvWQa_W99W33^nFd_z77mcFlv%DB&gzo|^ig98YFgIV|Xb4adxJNzNn`hUp5eV;R{N|U(G8<`?G zun=MC`YS(#7eHm9|Wz0KOn9RISg_34?nIuXW?d?hsi2G zcyFuut;P%u4sE>hnQ5O6jnDsCD0*n)q@zaOSpSBxLxa)7uDJ5HdvJ}7RYK)QepR~Q zjgO(smZv--+KKhU@7~9!XBGI@|4YOj4VHsr{lC<+u2o>y{|7rculHJAE7)rfB-n0FgI0L;OCJ1e$n9%l2(F)-4`>+$$?d86?>NL+Vjz6g9Do8dhZ59~|7X@!yvOkCz8jLgnPbKSFtM00D3~?$MyI(9c2a6!rLnpq1cY_r)CI z9|Wxg2fHt3ppyfu&MGoLO4FPiqKB5l>O1%O=H~~Jc~B}R7yc2- zg98YF1G1%sMScz<1M2YyK`X%_+!qs`|M&a;|M0c_I{sn&cHdh|SNXnhNykSXuZZ%K zuMe-c?WYBU;^Q|9F`4_-VdK)5K3XG0WuN!zyZyEn5Dtw;9)!xYJUkNlTEsCXU+axy zG7T?w4V@#N%ayMU;~4k7wX7;lVtz6*MaFY1#ANQK)qgqfx`!%ilA6|Tey2#~RHo&@ z0R+IoF`S1hWCzTc!We&5O8 zRHo&@0R+IoLC?t#Z z*DSPT$Ic&||K^b3ZF>ncg{X|<^~{%coY7`QMWjs2g81i-<> zF@6qWWcF|nv=aV+I40yU#>rvcjVt!My1F7*XF1IHbidC|D;XSxWHAofZY@M*9IrJO zEe{SL01hUO@pBL(vxkGAmEeFlCggCmlfxl@8UEsf&r}4BZM!)1n+wd+EKP}V&~|Gf zDq}FDxoCNC00D3?ag3isGLCVz3qdQv0dY*oVYHLON7p=iK+DB79O_*7RQ7dmZFjzf zMYtrTSF3rB~t?kxARL1y1 zbJ6nP00Q7(;wV1{5gB+m2wDja$Pb1bj&yS1kWQ0U9QjE0b#E3TtamIt3Q-y33(ZB# zg98YFgNdWO9AsqR;UH)wIAGm7Z;k!`^;3DxYS))v{+s>(kJou1|L))S|NlBN1OM4tpgsJ-+a4I|F!W)HE7mWt z5aUE07tsIDeD0geYInj%hj#u=Wm+EX0r3;sgNdKK?ZNTgprbwH`ff0sZ=c}hK$95y zM5f4ofrSW5#|5;T`4;}BGA$1dAOH>~e)4k=5rG{qT^w@6Peph!zqbAUQ=RW6|J38B z&-=V0XlX{?fJnuy|hVM?1)0yzREPTH~P>qOt)qZeKb9O2$vT z=ffAjtB90odAyNRjtt|ulP{Q6Q0yJIO2rPv>~Tz~SOwJMR)LN0-S-%O^3IIKJAYim z;hp!E?zaEghXphx)=stEoWD_s%GUpJ-`lQ-63s=+g98YF!;}Y?6qNWmh#iU^4uV#K zgN^Uq_ZWY-_VCXJzh4o2Vqf+5w~X7qr0Zb;O^I&pwbJ6nP00Q7J zX>F>Y)XzceQ1oyRv=SU_eDA);xNiGd!&|;r!=doK$%9Y(XlOuFVjMIq=65JWWnAA) za8caA0R+GStG)$gehy+K*TX^3N^r38{bXnVaQpoyO&PVSBG}#b5AWTz>6%%ihXyny z#zEVyg{X|{yPAuZ2L})U2ea<&3lHl=DIe2Q<;_r2M_=U zlQ;Ks5Sd^P2SF>r0eSO~!#FPon#4SDWQyd#LWHIB!L*y}+WbvrS{@ug031x-+|NN| zf;}7rtpo@AUG0fp4m62VnaC8$frSW5&tGUa=QsRKWm+B_KmZ&}-rUbYWP&{$1g!*z z@VnZ~{{L2~{I>PJsk^n#Kl5543$UT_JB?m%_B zgPCP{dxugnZ^+&|$T_L*9SXv)tZ}N^Db7>XI5E}};y*R&aq6%hV%D7xlUSHjaz@E4 ztd;2Uuy}fxa5jOtc0rLhdX)2LYqukMEcJXvTM(`$*8eH>`mf6)|KDl@f1cs>XSyb5 zhmlLl(T;`a^m-OZ{~fvQ=p8y9SmV!Brsd(!@MOGQGh6oivzY&R{8@N?!k_Ke^3%N> zXcA|Kktvb`3lWx{1(E~5e&%l~)AHZ|0^nd~%YF`G{^#K!XeBscwj4%*)4UvL5+^>9 zDUt&V5tg3q&~DC#_?ybKJUD;=IGEY8mxG-Dc{m7K2@c^`MQBya{@+^G|F$&Vr28Ig z9x6fT-1^0>ZL#@23q=n@voI2I|Cc_Qfy%kBPRrvvR_v3*`!xIHyx*}Fi=AKgO*+2k zEzYq|EZ~HSe$g~1hv=c@!2MtPL<=e>T>cTtg98YFgV`tN=OA`|c{m7K z+N0Cq_q^b6hLZ!U&MI>27fo|=h#p!F-2bId^r3RX>Z)gp2U?@eN%Q9lJQ{dm=|=zBp5QQ6B! z4R8L~5C~gNRHo%Y;MDwZ#6vt&koNX)GDh+AaAFsk=1^efxhuo=>H`-L0T&bD`MHP{5)YRg5nea~p62xr zn#ABeGKE}1|6n1)(-Av4Frw#gD%0}d00Q7()|31k#0rUrgP@i0k8nR}`2GKOsf$u# z?SDi4cj~=v&i=nU@0Qy0Yh8)Q|M7pb^Q&7r-^Z2qTneJ={qJ6vt=V~a@Ylb!xTWLR z;qe(43q=pZdSe`$y|vAEhweH&;5igjLglmeJapi5W1!5Ir#$+tGtUeA@0s@p1^)e7 zWxuH3D)aPP1)2R?)!REc@X$0?@qht;9QWy}VUcOh{+o7F=%}m8j+^?_L~~(z z%7X(4fWv94XBGJOYn6%a60wPa0slW}4>Y5IwZ-m;EzO zprR5gCl~$^%7X(4fCGB*0{?!kQqePK=OAe%IAr!~RlDzVX4P56dpdodeH>#U+RfkW zkEx7G_?uiQKmZ&}#?H?{ zceh(EHx0oN)O^C=U)G01hV8 zAiF%BVzh z(emJcelgQ46!_0Ul(~8P{#_h$^ot>f23`(qy1QQcV)pOFwA~b9d%wa$r4r3W%Yy^@ z#Z0eI;6De^v6A89kfUD=In;M@;1wQhx+8C&n*Dn*Z8wG3-l>dAG#4!o4(Jy%y+VQi z9K_7Rer#W@i$jinG2~Fs%Yj|mV<(-P{d+NOH-*@lGESlr%|*+D1Nud9F#V#xe@OO= zE)F^R#gIc?Cx=6~1McPE$bh>z2wI7L z5*cvZ9Te{WzaZ80`zBvB{;1LVhN~L9Qh#~9r|Ldj=P&uU=FP8t1sO@5AHS4;Gp^ zdFjKu;UT~3q!6Q#r@nflbjP1ZMA;51)AEQ@QWqZ{rlV39o-@mzt}GK5^4Q_Z@tIav z&o-?tCS6&ly1i+Z*+6_@K};AnWx?T3j0hrIWLi!eu7wC<)05Lz^nbDj1eIy|5CjN> zAm;pKNs%`%S0;AcWCtN}>2}#A{4NI`k-5h?8;D))_pHm0JMoE0(?$f5EfRz_TniDz znOFAQ>(uErAgD~shaf;81aaP~RIwk#FWR6aaV0>62}*#-T;!Y!#4-0=_vV}fMg);9 z5`;FK8}TSa5FdAapzR%9YCuq#mJdOIKnP-Xt)RpYLY#H!@d$w{0V4bs10XUtIcEb= z-+IIjmp=Q>f=`AAku4I0He3r4#JpP{yKcqinv5uwY55QY2!tSJb)Hq~2O$>mJRk(F z1c=Nces$(5=lr}pXJ<*9US87S!H4b`9z?cC5G+Jm@7s=rLIkm?!H%luH8El+s_FR4rR4(GVx*x}ES%HhC*aO8fviXBY}5GF@j zr#f?&vu+uzJL|aR?%vr)PZpx#{LMjOwl$nesGML}p7J3G5C}npqo;SWFNXsUh#aG5 z8eK#ir$?NrJYw)Or(_>JX$TGHZw?AnMkN{y%TqoC0Rkb2aP;(pNRFNkkC3<$9${9& z>s0UL1aX)G(YxEE?4u_Qq2c_^L4nGsM1x^@%7-98AOsPPo_-KwILPi1xkk^>BU=9= z5KBK;kbU%|AvB!7IVdpwLnRsv%TqoC0Rkb2aP;(p5W|57gus>X2$L7BQ@x`T#PP}_ zPTTk8?4u_Qq2c_^L4nGsM1x^@%7-98AOsPPo_-KwJn(=JxDp_2VziY75g$ESch<4X zvc0m8o-9Pe`J1EVC6+3cP&vV{Jmo_WAOH~I=;`N>96eoKgrJq+5GF=v=T+}uIN-~O zSQNpkvx;0BrfE@PR4y1q4^#Mu(US|vS6U8KLgnPbKSFtM003aXva|o3RJoGuaR&h_ zfdTXXbd&tDRFf3etai)mR{Nk@C8;iTcdD~}(;u3A-FR!Gj~af`;Db6v`DG|%|IMyl z-HF(mZ+Gs&(M)wl=f79ity2|j`l7*ZZ4Rjl>hE;HdCQLcqQ}ZH&HvSQbglSIm4zOt zRo>z0BWndsTHMjKo)Dt4lW*Cp)9$0c=yBf2o64F&IhAR7L|u9Jg!{{Cy}6{+zyDMO z6Be7}17YXx=+d)_N{37>MQ>6J3VS*!(2x&StVyM2RRwd#7Oi=y@{1lcH0C^S*+K)# zyM6F{WvxI9Q5jKctF=7r2ZbiPjWHBTqFZ)^fu~HFKJCO#-P$E7l$jkf=0e@cQ>L0i zIVhBzJF~i@rBENfkdAzz?FEP4l!w5?MV-#43R^GC>{niwGfkISv z(IXip+BdX3d;#`@MX7%SZY-555Yc*psHWvuA3#T14D0uBT2BLZdL!clXDrNAoCe0M z*Y8{lQ5k7yYqfl)4ZsIVOT7*dv)=LUb68(ef3MWL>=S-t{}+vWZ)f9XFLY(c5AN&= z4`rjizu&q>do*bn@8Vc!mzUS|oY$aX)Gtzq%Gjk1u56!bhc-iHS{`m)=jh@;8-f z`7mC@92+iS=Gfk3gJX{EO3XUjd&yZvB}1lm3HOa66}|X3*3SQH%t2E=z}b`yfhCmz z`y!6dht7Vy@h3WFV&|Goy8>KZ7cq({^YM7Z&Y3 z(V>O;Q;gU9TMF@Lg%zbibM1IdLt;&tg@{T=Csaly{7q$A9uyF*fI_K1cN!b79o7p( z3F}SLw08A=P9JFe;l=BZ$6&U>cIU0{pTFJTDw_wl)SG+4g%9lzAJkarPg|!38}HvC zcv%TiSxNDAx88ST^I+K9yRZEdlvA0OM|a+!(-L&&^+u#h)86h}Y-F}R;ONesyS{DA zhUKLaw1m!13I)AqwJ*Ww%L>zgwHqGoKl@QdfrV(5wwlV$$~$0a)6va?an0Ynb2yY! znU=@f2L-S&6ukQzlN210YYqzG(7vye0%H&w#37xA#99Ii5tSagsf+=QrlRFR0rqDG z_)`BaPcdp|4{!vkM2kR&FJ06RDH5xbK^F_j+J4Q#3zV!GThc{JoLKb3|s6!%J&5((|sZ7g*0=fxMFtZ^q1rZ%( zryzQiM3)(^#n<08wa(P(H~AlUI<7Cf88PA zZz|LBc*pSZOo&ig=zYgx+|T}wMRQ2JV{<@I?P`1!=Al4?7!=Tu7zGw0Dn0nq>L;H4 z=&scWk@%a+v^*#vM9PE+rT#CG#E6%jf+?rvT~j)! zDtKYhs=gHs+5{YwV(*THMvh427tS?OcygS{`o=BNoCtGh%sz ze9=VhyK@BjIYz87yzS=nU>dT{&fRV}v-b`^<+llFXpF*ZwovK1lAT)|**4HZR7NV= zYAp}@K>^{dq2LW~lN21`Z4L_Igs-cU0y`KQz_}b>XN&?1(MmmmqcZk(+BdX3d;#`@ z1^TqoLa#4~jw-t^2vmu7j6OZ|g)%1v8lvarG&Dv*zk4l2Wkjj1*7BLQ0ADZ^yuOg6 z;P8bU6iV>Pcd4LI^N}sP-TII98`isSRdD!CeVR#rT-kt_>6`2NE` zrXKAWj5zdxRds|AmDSGca^bMKy9fMDWm+D6dW)gq_}*;h65Re1WwgbbcC=_GKIYEe zsb?}lnS7DdJ0il z;Z+Mq&mY}B;y`6u9vnab9Gc#lD(ULwAkMt>U=Xkp7{aq(&?t%phMHl5HK#=!9%xAn z0}Ih?Jq%D8Co=p^Wm+B>03b71ly>oA5Pe^E41$%WP>TKLuKoY7*PQ+TKf3>axOf}M z###O3x`mH4s0t1q+Wd&`FH8qr?|*9Gxqm8(H%=Cs{^I$s&bg^5xVgoVe@F`<(jWZo z{^$MkqIAIDRHo(eHaff*;BBfdGtn$IUYTF*zSo*nrAcQz zy}r|NQwsx{67xzHBCN*8o^{%j^{WC3QQ2vED@uExQW$ZdGA$1dAOH@#wOdl+_sYWL zIS7t)wWOu}vLy6Nbk^>Btyy)NbW>&b2cJEvAfPER4lG2wFZ}VQ+XjLIg{Z8_9MtUNHQ@51@prc)>epCC@={aFDbT9L%&d zzj}zbf1pXzCm!GZF|FpC~?BvhhKNJXB2@YmrnqTd{*P2zQNh2m)`trG@odcQ@9OD?R-FoH_AFk9H>mog98YF!;Y^kDe>=*DG)nWJsbqB1P8M}CcoN!uQjVqlit2R zJ*-LNeFB;iGL2@Ym^On$ZdUTbz;ttW0fb@cG6pw*GD9{b#s!f5=AabTe*N0xLioRbb#zqs<9 ziNk7ysEqxn9v`$k2w=QGfN#bN?*zv&UN~mExyFlPj2DME`-jgzy6uEZ4yy|OWoNQi zK7IY8Z&nmUJYpO;MY*tY-4k6V6()qJ?E94q{x)J{L4uQ(&k(>A$BY-=DUR#`tv@*C zIFeSvA242olN|TG*6hOhYH0#rX^aC4(P^~ZRL1c{`-hf?Kfn_}!*KBWgM)+1A99SF zp+5|8`UAUgnza587cG0cPnReph;d*c!rG(o^!uL}S`|=;$~c~AE?OQOKmZ)fxasF0 zMgr>(4i1u5!XM1kKfk)alLJj@XuneIw&wJ9r}XL)(9{?Q-FUPRm640KTgzuW0qw$Y z@VAR32S>Ze#UX4L{hSL$3HCucN7s6{2?E-OB*gy1fa@h9eX|MH$KjhnX@k-g3wR#@VIUtW12mSuF z5S2}Sf6ch7(wzg%Ny}#lz#mK;<@W~>8F>6b&`NMX9EC(s;{3n=t@-~k&iBF4f*(51 zzw?X@7tBrvPhNBMJ6GSJ=Kt^8LB7r|udZ8lT~YK!J%y-@aZcUYc}vHPsEU+ndAtwI z|M5P|{NMXNWQ3CaedL<|hwamSuQi8Ma$tx;Q(}I}LbO}QB~-@oU31a$-~a;PVB$GH z2Qe~xIEZXX!Y?uZ4>`E+wSKW+tFHqpE^8Uj6E)+HDRD*4;AofPv|Q z;`tyJ+PeFW-|cw7LBVCuF8;%oku^e8c5%Ve>HM|_2G5*!<>f)ssz{lZM?ZDIjbU87 z-?K}K{fYau*sN(eIQpry=exaPJAS+GweEJ!j)yI4TosvgPV-tDH|BQ>XiCf8;^2tEvJDQCauOao;{%zgwWWXnAk|0dUy&OYCFx_Sc2UgCSfT1TF0k#kRk8-)lW! z^TM?)z=0;MShDEnM?NbHXiAI&3(@Y89rswdb7fUPAu7A*ru|;2{HiR_T(mqmfB-n` zvujZ7|7NW)xwF;5LDEWaFkh|ZSG(`Eer)K{!zVSW3TRS`CjFl|b4_VLQ(_!gh;~=q z@N(M~5@;@39vnab z9QHhANwI$)TA|pe>ER$~B{-O!X!+Idd#&GU-2BS!;6RfW95HIi=0(K;O^I<}A==&l zj)xAMc6e1lAu7A&iZ41hc(^#wT(mqmfB-n`adWEJzYQz%VN&e#W>>oqv=SV`-B=he z-1k~DrB9O>H_((A2Nt5;IzFH>t}kdVS{@ug02~lS6#MT%l#zkQADr7-?fL;0_d*Wt zd##zWiA=Jo9-0#45EZgPmW~gojOz=UiKi#{+mn}W=oB!;7vsP}%m*&{`)&&_M1GJ$RCeHN9iO^uW2Y!TNM%|c`9Wj`L8Ij! zK}n8158@;@%fXd57gqTsG;37AFQ<;_r2M_=U zEPa>wH$KSaY!3%PE5X6+f5@*s!pnhOJNw6R8@|7{&HB=KJjp^FOmsg;yKi~xrNuYC zP!jnAm1%i!z<2=;X1wsOqd3M3hd&hN7%xJ9INZyDCb55{DKURwA;QxAAURA~vbfXs zj}%87s7%X)0||00br1TkopHyw zX+7fYlZ76;<=6!)ruGOQQ53*uWb2l z;K30GD%0}d00Q7pa8gk0U;j`4vMqDjPih z`F$4^9Tah(GA$1dAOH@?0u=k#|K-d+d;65M5*+OMzxzICR-Gns-cM6v99W33^!%R6 zE-$%t-;ui=7;&I7Ee{SL01hS(;_as#c@W3AC21u%*!6$+ea@^pP2#+tro=d~5Mk;0 zJ(d0Y(Uzq@H0Ty_pfW8F4j=#yCJ*A}AZPX-f5?#s3CC~uea@^pP2#+tro=d~5Mk;0 zJ(Z=t`TWK!zAlS6P??qo2M_=UlLzs0NajHt{vc^3{K2mOyYF*m)oBt#HJTFRz(Rzj z<1;E_{Knr@rscr_1i-=MLHryC;c2m z%lB}|kuMH8{J|O5GIjZ$HR-ME*MFR<-7U(W$2e%awGfptkE*$7d2j#$a4`L(mxFBi z9u9(5qJKcXIOK4GlLJ$i_3ZlIYu~)IbmgaIQ7SyfLEEi`sEm13%|*+D0|U(ENyPMxGjZ)z;4lG1i?^q|I5S1~Hs<~)+Z~y^t zF#V*TL$aTAaS*f;9FQ*#IUMKYz|>_k`ooDQ_da%6Nt6nYanN>aAu3}YRddnu-~a;P zVCMgR4k81Zy2V43yY&vc#H!Jy=GypxBfsODq|j1bJ6nP z00Q7(=Kp>UVn*xXAZR800rUTm!&oPWx^_ueF9p+-7zb^)7NRmHoi!IN4-Oyz4rc!E z=a8KLyV`}ImEeH+zghopiYxxa{eS-}>;ERQ`u#sC_~qG7zhua@gYBmns@-0HWd1Hy z-Q)2b3r+7lXUGZV-2)w;Q5l25?eExB_obt&0xHw;@Jr19;g@Fq@AXR=sbz1UGFy`H zOS}H>zSsDPTUTFt!j4tJ+&dp@cht#MLF0Y4oOsZ-Uco>A@xtbNX7`SBV4=FzOE=Cs zr*|;4{>&?%np`79WxMQr{73!1>lF;T{JD{jwXTYkX?aBUJvWEzIYFzS$iMzyByJ$F z931OfMV`EMkzN0H-)sETw3UN8wW^9tYB}Q09-oiz70{GeKc($H;kB>xx=*YMC`4rg zH&nM+JE>QoxoCNC00D65-g8!wfBnBm?8EYK5VW*E6xsEE_r1o=?p%56cP*;|n)LL6 z`_5gkp=Ur-VjNhAb|3NN?5j48s|qMYWoJGRH}1peZp9EJV9owiVAub{dyRQ4NzHz-?%l7s>4g?> zZEMoT>v}X>|56aplo$sVqTNUAFmuN_$5#auqO$kv?smbcuLgnUqUFH>1i+!JIwXGM~!yl|kKi@d?`sqD`fTqMaun_H@`*rhe=N?-X zP>9L~-*(7|uX+c8=Az}n0R+IIWb3RV|N4I>5u9uNU(!l&u8Xf9eF96$gZu!>ORU;mdY10H`6JE0RC?E3!< zCkLkVX%dHeniAu{LbO}Q2UN!O19~o?xW1sdXnAk|0dO#Jl%GR#9mUm83R>D9iV;VJ9Hu!rFr`nEm=B{V zF%B$5SUT@TWn5p-T(mqmfB-m{{GgwM$as1DLC{KYz&c9E;S?targYi0vwy6+vascQ zRXyYJBnxpc(fuHmy*O-h=ObPV0{*5lEsuOL#tYCeQEqO^Nvf3lWy?2WfYD>*S`-_o?APWm+B_KmZ)fc;V+DdO!~cF}iAhD6;GSCwn>2 zB=(OqCB}h;2ut^ag<_XZGimN{(~1>+xdbS z;I*{bhqp#Hc;&tqgJ{AKd%--@^4iP#KimF@o`DvkGDe#^iq`UY!RRINf=w^!f5D>N z+g9Ov!D0@Qc)^IOksVxK%gKShNR#NpG$qD?g$PSKE|oFbOmI=K!2txo!Ss@T4x-(A zI0#w^4mL}Aj*|le8=WX(n~ibc`(y*xLR7{mOLqWT9vslr!NEk6ehwl&@^BE{LV^Rn z$|=F==ePaV+WK$Hp4qjR$kYOM2EFW1ssB6sUyCNrmMp4+^j!6wEQDUJ4?Nx6Rc-L7>vDwG_Fbkb=DP zyoLfR&I3CNLwKMm)oSY=usBUkTd!jTKB2t@_nkxQ-&WFNVTJm3EpWzK_GURU&s zHF;8|^m&Tkm;0QXcl_7A0-6%@0&TYzqB1VVXf9eF96$gZ%sPsngIF2xaLBQa5=L}& zoE(_ar%CfKIQ8>?kLwk!E5$gl5MjM){ewbO#`OiwMazQ&2!MlGNAYtID+3-5f|hO< z;W|plA>YY?DSevMYW@SA=dDNZZr7D!99W2U)6XeHWn5p-T(mqmfB-m{brdfLxiaA4 zAZR5xWWI}8p6BGi$p~GRlNg#3rJ~(D>^{TN{4V;QjjVtX0Z-h&`1G3KnumdMA6TrhFcjcJ{^p6G3m+c3_YY7;B~;FxX)I59gc8_3 zhET$soazs#M0a2tOV*eo`^l+cVA)u3s0l2u+q!SnLPSBVBIg4<&fLj?4=Kb+gPv4S zIZqd6dCG$WPS6DhOf^dV_e_iVLv{=zb)dV9QVb#K`g{DQZvn_#zMXi-HK*g!J&B(u zzS4c2@0brM#A9DCoqgB(E^rtsp>p~@%Tpfj7+#KdY);4Z`g-y^1DC6d2BBYa2{Im` zt2Y%GYFwQ)XAQll&0~OpN~oMzSf290006*%L&QtFcrhf0M+XMM zN>d0=#|6a=aS1 zy5>KF0+moXsc3mnfc>CQTIxj*%MUvG1A!=EJ@SKvn9?*CK2Vbv>(On)@YBSUhO-YI zWfAiMj?8?>-<+c8DGZhK91WJIJnY7~7#P{jxftG&J!4=DgCoEx@Z`lx!aQka|Nq<+ zZvFeR@h6SmZ@8wx8}(nTx2*1ybsoz9OWtj@Z>TjdHTQpF;Kv)`{jA|=UGqlv{c7u! zrPFIBSKbpDNR%fm@HbCjIJj^7;e%#W22?`jJi&qGDUUaT9T|8dW=DqijW|y5alDaC zvvf}~i}6K9n7NiWwbpQ8)mcRzzC+WTp2>$4;tBu9Y`J~@%iusIR8B4|PkC?v0dO!U z`1m;_Pw;VZ5c^kj3k`2V2sy~RT5CA4>Z~G9Fs5lv4tz)WwbpQ8)mcRz#!SjaKMg`ki*{2k&9Jl6?ynB zO>=VKLkjVP{~gk=-aHE&sD#Q1m*puB4j=#y<^*3q2XQ8?hl8M%;1H&vz+o>Z2UeX` z$!oxYN~oM%Sf29W00Q7(PVn_}NS@&9XczL{hy(|-=AXa3 zlam9h&MNW{Gn(e)z=sryPBQzc>$c7ai>QRk$%W-94-Oyz4(28VKL@df>G20aE5X66 z`sXj-)5&3$tvaj7;ESd?Iq)Hc7@_G1j>^e}j~k{kDj98+Pgwk^ zIeA&j*X|IWX@%(C#192g)}z2|P>p3h949G@+z3B~kzC)iRPl^!2txo!Nd<<4st~Fa1gY#Ka?PT2sw0c zawxGJ-h1VOVg0&P2G6}WFZ)dh+HMN*Bz!8P63s=+g98YFgNYyf9K?v2or9#6;DGoc z6z1Hot_e2Yze9BMYpj1bW9C8qc1C`KH)c|Zc~2^%61I!Cj-O<1 zUDfj7fUG_^m`gFe97M`9yE}*l0PPK>p*Q?`&i`9}uy`9a(S4bH8+RR_-njqXl|g>} zs_f^K+_C1}&L4EDj1DoO5YHv~gH=W)R9-UcGjj-xmdD$`IVE@-=A07m+mI)3WPcsG z&T|S|=Rr;m2iU5YJ+tck6ZWYLim#oQ{hShQH-&gE36)Wa=Az}n0R+IooKxcGAWq)! za1f`uXum8*6ccigmpIq>1FQbT$id4m*|##-VbwL+&neM%Q;3Io9AlwU36+zJmIntA z00(nUiJyZwdBej&&`NMXelFx7uW_#7z<`T^76UJu7VD+7-4x=vBveKvnv0eP2M_=U zlNIxG5P2RC2SF>r0a>w-gS^POh67#oio^Qfy+5*qba9^h7UMARf$sOtn^qYe22UZL zW2@gcm9ziQ@|m6iF}`UR-h{P0k=Al>q^)HylHd?#?ZH7_# zre^>L(=PlRlI_Cf4}w<0AJ8sB4miUn+V@c753D*9nw;Ixv=|3%H-(r5)w38XCtNL` z=^4Pm%=Y{o#QeqM4}w;L17>?62YH)w4F^`82~AGiXj+VewwprCg6dfel@qR(2L})U z2Q%CAa}e_v4+lX@a|pA=AqSl4?C=Lxoe51&+-O>igSMMO%!2A!43!hEmIntA00%SM z^Ky{$7Y_$PE5QM?y^sUewj3N-btW`9aieK54%%)CF$=0^F;q^tS{@ug036J0&(9$_ z+jH~}l2(EP;`@+8p_2ov&V(i>ZZs{%LEB9sWGL34bu(faEVfz{!E34HLPH8+dg=j6+mN-S@!NV;vt*IfF7S4+4lJ zku5fHls8)}*O4s;$LfKMIyHyz9t6Aof6@Q?`G4?B_kGR}m;8B9+2oqlfA4t=IaMKmM0-=WiL~pa&lpL%7X(4fP>j_?dKrAzRK>Gl9u+% z@E(M46~ld>Gpo)j^1K?F=H$SK6yo{*Cw*|%($BzwN~oM%Sf29W00Q7(&hPPa5Z_;U zI0#yrLwJ5q$iaP|Gpo)j^5`9!=H$SK6yo{*JujSc@-rt_M)w|4Ik~Vr<-q|2z`>l~ zc9IwXI7n6v>Zv11h0%!ex2Ng98YF zgE`;Z&q176?cpG3B{=Jn@@RjW=H$SK6yo{*kGCA&VGB4=36&Er z%Tpd4KmZ)f`QCmG;>7Cg93-s-2fO<3zR#IeXBC+bqiIeKd`KbQd!X}PR8B4|PkC?v z0dO#Rb3X@>3HERhv=SWb>c9IwXI7n6WavfHoE-R&LJa&)W7wPiR{ioqI?j zp3p*NRC0<{zV5OrbMBLtN4^;G1EPErKX~)S@?>Dk!LhoRD}D&`#l5^7W>5Guy}3OO zF6i)}x$=Uh#r#3rO(C9xH__TnC7O$t2L})U2NOT|IfxO_!y!lf5OV10=a;H1|M$bLVFwwppcG?2=uM03&d-~a;PVB!Zq2QeagI0#yac41fl122cEU3<@O z(XldE+aP~b*84%U-4x<|Amgk*P>JTE<-q|2z`?{1ehy+p^l%Wg5*+O6e-9^z<5=}$ z_E|V*PfQIC&i^Fq{UF-zwN{AtflwKhXf9eF96$gZO#I;GAV)+G2SF>r0r5lFF1kB8 za7ma;!CV@qX|eu6+f5rJO=OkkSA|ue;>KdV+j4yeV=n@Th)6%ne)-iHZXBn+w3RsX}c-JW9q1kN;DTO z4-Oyz4(0?tKL_!}iHC#O+Nk}q$gcmp?{j9=XW)d2vv)ygUUa@WMUtk)+NZXgLOgMA zvV}?|R8B5h9vnab9Lx!Peh$Cr^Bj4qYl4Ga|99W#%&IfgV(3NFVjQ&H6k_nl_fI8M zPA*y=96$gZOkT{-LF`HN_=BL8;9%GP-S;`uRhKOtKel92Wps2qkLZnY_;&BS5qnOo zj1GgR5YMsI@0-fme`xtk&wwc3vo32 z@|m6i9L#*r&q2&!JpLePB{;J=?99VUxG&yynX)zAkZVE9Es^>9OPPkeg96$gZ%zV$!LCj!090aWd z2fO}%n3Dsm&XgwSH#9BALEB9s=0Wv5hRO+7%Yy?5fP2Xv5Sm;|5+` z5aYl?e8}HiKi2U9l`|+~dCG$TB1zJlJ)T#X;ya&Oo|NnmfpLq|z zivPeb-S;`y8guM-8^_js2eE1FB?laNU7sNR#6y zkKeA}X7X{B0hLhsyj}~2+|#~q!19!bU-lmt`eolg&PsRn`el*$^2WAL$9E7#;;Sz0 zmub8H@4nBORc94nsxziR-6nkkn&xbud`O`^W`A>1+opYjAp=Ht-*kLsKqXX8E-X)Z zZ~y^tz$v~({`1G=$-Ev8f|lk`WY_=Q_c^obtRn9}q-jnLd`O{n6NbL=*m=E!M^7%h zW56FOqk9jjoLpF*^56gh;9$-%_WQ#x+SMv)B{kj?B^g(=Joi4pq1cY*ZX-*D&NTF5R-@9Se;6n=W-YT8QX|NTC+@ zttk2uLR3a2)2;F`$6Yda#jbq=EsuOL;s-?eCVuediyiTUWBor@{1C3AjPY{l_VNA2 z>l#%Coo-rSj`pW%F@Ml@Q;6sLbNz@)G#4!o4j=#yCVud9NPg$+;*cYL2ss?>GL2@ZDs z|0pL1R-H@1TpFfnvHn5ZO(8B$vmH2L})U2NOSdImi*w!$HtWa4_rt`K?n; zYS&NYHLG1;-2L}@{paf~srz`H2lDT(wSTG${`dR8-!uV?6BC^6;k?RG9p)TelXsZ- z&t;XL-`h9XaQWoEGfMlp^A3E-cxb`0D@X0K5JHVg&**VXWk4lV{&wqBuP!D10+y#d z;-^6^!Z>nZ_f*<{VNhm)C|5qLsH^E1%y~n)J*2~Y7&we~a$wb2MW#wy|h)AG2l1@Rp2YccVh z_r4aH;jr(;aWkciezkvw`JnLr9{0W0beS{$G3@an9jXF0sYRCzp7zvI)lOOHsj3#K zaZCCIXWn(&+L`TYgs6<|kiV%+%fmAd{V=?@7Ogd1;=Q+4wm{3lagTAaXMb-R^Bmk` zyxe`SHLFUK*raGmtevtDVYU1E`SX{wt%~|5Dq}n3Zz|LB-~a;PVEQXR2hjqvbC9&O zKZN~N$l(-cyI@smlDEHNA;S9k<^}cI?phU4h|1W1@i)0>`Am-u4yM2Ia}b$e4+lXj z!2$hM$iaWFHBDk_m!`!0frV)Ij(dH(>8hQpqC7e6WwM+NCKm4lG1i4?TA4(l%|XqC7e6W*pY5avlzXR)PcOy&;DwUJf*gsa={9Zz|LB-~a;P zVCKDk4q_(f;UH)wIAGoza+vJpK$Do-r71BEEJRpOO&^dPfoj;59V(w)AHZ| z0^nfgy?zd2CgTiU z1s}R>%->mvjY8i7O=XNCwf}2*_&YouZ`(x6et#G7pMB3Rf6oyu7oR(A`RPqk=gz=| zaq&B7j#yJ%H14dbAoWHj%QU#_AE%kzxUog->&#A-@C8t9Qypa!Z{UAo$dVoG(}#SCX8vZ?@uA@((M*ybQ0QbEiW8| zfN(Ig2!0M$3-)lZXlZXKob@b|kN3>~?RGx7U`Z|KmmK%RtPKb4o(^7%DqrvYrjPl& zSMQ+fsjJ_9?v38@d3@$YKU^~Ey?s{pP6(mwrvr|<@|Ht;2hIAr?VQ2QCbXOS~<))XH#}yCs);@$)o2Y% z3!#j8RLw=p3kM+}9Avh%xYWv2GqmBqLttv^Ti>D3!EI7y2K=UHcW|epb)Th z4~8=4Q8gDWFC3(&&-8P}<$exU-<6w#O)J4c=8HoP=Q}wtb%{xI(wGwCKp|l1o*iY( zqiQZ%UN}fkFC0uy@8^*0>0KkeMJvHUdis#Vc}@;E;h2O|iYYM;6atp^WKl+Vpt)#y z;UENrgYj(r9Fm@`i-Scg!9nJWC1-9bwN2{RkpFKHEOY6?40#gJbJf z^laL`fAIFbdw=uuoc{4~i$ag@dG8nBJ={O|@TR5vH9xRg2xaFj`{wGr4*dguqfE=o ze9X}e!}*w_%2P$9-uaj^>qJ`AKCQTnTWiWZ=l6=j`4}0u>^qCA^BAXFaRb&t8lN277Yk?{Nk23FY7-r&S6DVX!z0h?mFerfe9g$b+6d9`}}7H1QRc9wzzBm zbXJ*`7Xrs$8Me=3=Lbba-g;SPomkD?PnB7_9d*4dlKEO`pG$Ud)`#nFUAgZKJ<`F- z$i!`T==9myWdj0CiM3A+OADcF!adja{#(U>Ky%UZ!a)cKhq3Fbii-UltP`sq4i>Eh z2br%8Ic)FbKvn%Y;&6YP%hD%5)IY$K7zb^)7D5^AMsv~f!a)cK2WcHeet*uc@g5Eq ztptb2pR;c+u5K4JaZK9rktc_ZXxBf$lo$sJ0qffc9zrOilhItXyl@Z#!ol5X$=9wr#Jr zxAsf)qgq}#2m#?RYHU#C_vgy26RV#3V9`o&$oO+hxV<aA(VB0>DF)dYT7T*T(rD!5CXzs#MMrQU}&%S}?qUD8y5D*SWu1^(p@pDL??{(A%n^vMeg#Mh27uz^FjH`We zkMe!f!B-K7hP~JJSv;X{fGIH!+HNg`vd7l#TiWuBzJcbV<%NR~5DrId6BKv$b4Z@= zb#bt0X%5A*{vUE^;^c6}+9%I{ZtrRiP3w*xbmN9T0j9(_XuIEt;30&vJsLE5G=Ec{ zKy%UZ!a)cKhr{--DlYVMNalldaj51FkPa9{nS(af}0n7#DRvh_Y9Q z*4^^cjDA_a8f98u{Aw95goYU}{C>6714jLW%df6sya@g3MqUn>ME{5>F%A?0mhK1P z@cF?#x7*UJnghzTyl@Z#!oiFeehyX-=;2_|()FPzvtMjULoWwRqJPAc7zYXgOZS6t z*t+I#udToQ&}@A`nU)t0LO?i}@xsf&?g2d@w|V)ezF7_^)AGVW2nYu=Uidj!Jz#DQHmwAQaKBg>|NnOW-+ZTE#b44-xo7*k#XCVbr~G2y>XvAr(ZBQ9{&@sb=|3G8d~Ys;Mav5ZAs`%1t``*g{n~PC2U65N9pkr6 zE5RZ1Yu&dP-}UgR6Gk184t9uEBv-z);ijt5g91#6anN>aA(YL1aEF_B7&9o)T(rD! z5CX#C#Nw(#zh7I{#Y8$a`1dxg1c%74b>Cuq&I>Kh+-XQPhq+xluD|4sfdQt(IB2`; zNAM6rS^BYawhmo2Fwk5Q@{`sH0pW1M=tV_-zqTy7U&~P+Y+9N_QRLUUZ!u;H50jYs z!;}~Y3Sl?j7a^1}xv05ld8rRVKsd-OVUgdjwP*fvw+owAfqFFxtnWIt$z1etuE-~OkH##Ms@exppw%lLiTrJ)}qy=9^Q z9E9Bi<{rPxJv$Z(Gv^?d*tZy0&x`S@bnWzym=dcG6k;&Z{UFLJw;Z*7`va;upiIjP z2O*H@Eep%NevI7%dN|ZDUWERAYj1tPB>G28iE*G1uyj8NhyIOTe|q94g93h|Ov?)g z880%uWnqP%Lvp-u#5p!C-7X3vzqXZ^118ZwVoHnyg@C2|LF^t`d278}##VDcnU)t0 zGF}J=GhTQ(*gc@9K3KF8974ZV>cg&H4wyv$h$%4+6atp+2jMX7!lTzbzItG`KA=p? z3kM+}9L#v(=a3vP9QDDbr8$J-MaW?nF9%GbtH+cW2MPg8j}LJ8{G6k9d1GKT2b5`f z;UENrgBdUU95Pkj_8(jvELsT;nR5_JcJ^|>B-W8ICB}h5z|!kQaM-!`%eQZQZa}s^ zpiIjP2O%IF%(|MNgSAqWyIt6$Yl1`O9K@2Hyc{rzbtFuQai9>e^m-8--rMkH?{D|7 z=72ISFC2t`a4_p?eh$`3k%xmtE5RXi4r0lUUJjVVIufSDI8X>!dc6n^tS|E$Wm;Z1 z2m#?>*46wRtd(RB2a8sMLwF9Nalwvq{=a@IziD3mZR#~iHQLy4U4zy2!}I@(>pWh2 zZo&Pv_DdDYf4}|t_a-0%#h%Uvfsb1^ij}_H)PBV7;ww+>wfccB^@hYJ9zKgE$nUOw z*PAWnp%y|J4)?f|@BeVc*>cb{Ql{mlDV#AP3^c{9F7$7hvt8w=K{x`ea%>;xoCOeAOwVi2`sz|2adqP#i544qEu@8uPgz; z5=mC-xWM?>x!x0cUq7j9gW zge_*{nm1vKBQb+3kx>mB*Ce6S68DA9m_iOq@5VKqfC3>ls_Dd4D2J1l&k&F_6=vg_ zH-WEx=p<^Vjzq>bE!|GT1fi0^cZpnHBlV#mKYyETE=mTzKSo{A<1eIGJU>G0BmUg#+g6fJ2c=o%Cx);;Hj#P;Rt@gk&FBR zUxl@WIrjjb@oO{FshUG)6Y%9P$zJH}gc2UN{H-P^RStg8&c==RO=1cJ}&n71j=B4+o2u=1>^Ld!3x!B(Kg^ z>_ZQ{dfX?gh6I=rhbZ3b=;eS(m!Gon_J#w71eg-zKq2hrH$rfDapcgZj}5HmfHKM>FC2t` zaG2CNRaorjVC`V`aIk14IGA{^`I3EvLs{Zv7q8AM;)!BPmO~vWNg?d!_p8&}pEac0 zkU+b$D8Kd9Q`@YnU(E&O$fHlV2od2TPH$m}pNr+ldbn8h5?nIp;Fs*}tsj_#n~Nz~ zF15u-3IR{Mvv6SEoZl$Z^1?v~2nXZ#`#D&StcQa|E5RY$cYV>sC3`tf{_$!$GU1bF zIfN(wC=3U_FNL)dT|Uzy#LYL~-|yyI7DaZu-2588f2no;e}~`B|C@UG+h70j1SGhq zaQ2ELqF{5%E)VyfJ4&*}4qlb}^xz+R4&CXQ5yP`b3lZXo9m-I`t$SA~7}vdrm0Z;)l@Pm6j7N04QowbZ?0vGj^zkR>~W96>j6FmWJpq4Ttu&TfbhN2+vi ziE@H;EiW7-=oStp==O53!^qqmGLxk4AS*l82omw7o*6{(t-mh}QcZ%EsX z5RF6EZ_P!^3kM+}9HiFEg+AH5AJ+6yHt&b!2Yc$fMJv(nW%pH)ctdhB(2)mW&!|3N z0`p=G%WwSKT{;f}g@C0e(@=)6E-#a7Vt1ys7nl1d*OGQybU1xi)9Ki7mE)QJ+k>Cf zVE4V&q}=8T3-Vc$$}Coc^?e@*k?%|AtwuR{(6zjLL&$h)w#lgD{e6@#zEVS5XsT>J-H|cu9g=LLO?i}JZF9m*2;cv4mPa>hscvTz{%m{ zs7L$!s~J~capdrz-!(HY89Sm+z>$s^hqKxoGWmeRhi4xm^zplY+xX$=J^{-IC_(wB z?@u&`Otidkkdq+7Vd!y-ii^A)N=^Ev*uGlV2xpxd(Hx3pJ}9gY`#U-C>YM*^)b#o3 z;lXzAPBf`MFfGPG+l>&(M96!O5|qP5%L@k~ARHu1NO7^BgEbSJyFS>o5*%bcDCE$^ z$pI%E=No4n(_$R7-3XCP1Z61ET(rD!5CX!%!ux5fi94uN14q^ZB+y4Jw*LW}W z@-Sz;93J&kO=kb`#WM~a9vt+}Te;7*)_bYjJN zabAah2_>3~mKP2}KscClN?s23$(!8m)25Z+5JsNDVW^YC_~?^0@B3w8r@_O6A71z{ z_qkSWH$oh4LK#Xl7cDOwgn)1`=al>$lIN5h^}(i<;1DhMy6yn zzjaIQbFJELggE?(GL&d8T3$E^0pVcIwfZ?&CpB}|hf<4{<`AB14eNvZK4)J2tjI;d z<-oMqxTWnz2&YH;EhvYJmKP2}KscClt$q%chvMO2(MoWT^}UdT`#xv7F4L{c$~|2k zM=)a?D8xg4b52pWf0Wa&QXY9BApNAQUYLH;drybm@*@t8dpc_BC*{79B?F!P1Fz02 z(&b^AlLHSC;+&#x|0oA8<&hT-LO?i}e$vaqZuuS#HJs-RIk@k0=GA#cx;#vCa^N9C zoZr;#ALYQMJo3Up2nYw$Px?7nEk8F0o0e`DMbb}(9Qr%!1Fz02(l20|lLHSCy5-ca zAI+KAH_+`L<-nyp^1?v~2nW+o`Z-uF-^0P8r8$KCWXPePlLN2LE7Ij*nv(+$5qf0d zmbO=a)F;sWCdz?JdE|wI5D*TgpY(G`_LGkOq12+4;2`~E$l*{Y2VR|5B+kP$CkGxP zbnL~Oo)|l(PoU#DlmnOY$O{J{ARJ8G>*tV+dtDqXS_uvk_l6w$Iyvy_ydrTPra3wA z5TV10YCTxEs&}B{Ig|sJ^2iGZAs`$~-0SCHMRJ~YVbMx(khnMG(8tMvSLYQ8VKL3g zfrkjKe(CCuzU$XJ&~Y%zflGPhg@X_f4kqsPb4bR$uKHlnN^p?4H{{UU$$?kr6?!;ITc+~cmv#}m7}`f-op!5uAD=FYeF*x|EE2L{8l$=DDg zk4&FP8A?#zy5kI!%udTooFOM;q?MR_Yu-4+k&n?4ch;0|EsQe`cXHs>2?>}w!L(RE zq3uS9I6}|Apd2n*UN{H=;b8LT_&Hb^VWNJ*#i54$IYm~{(GYfXy^v0n>egqR0GSeKXYAp7;?JDB}i-tS-^ zJjwkX%4^uK71l@hz1CeKyZ?FlEmw};W_Yl7mrl8l>1aC;Vv`@rP@=hLdEp=ggoD|y z=jV{zuji;I@zKIy@LZ?eyIFVzk`| zaSk43DA8QByl@Z#!olQ=@pG_Nay=X@S_ux(e6jmpYhL|_H5bnMcsE(sI^v?-`C_!) z2yqTRyM7ZXK{;Hsyl@Z#!olQ=@pG_Nay=X@S_ux(eDO%;FeO zIS_&ndJu|WTC81YyAdL30LrpTqRIvrEiW8|fN(J9|NR`2=l@;p!lISnVAlU@*GVxqkdE|wIc#Fcpc#B>Rw*M221}+XYc#FmLe)@O6 z-*3rr&hJbWbxR>FQz#;@DL%g!09Lu<-nyp^1?v~2nQ1_`#D(gpQpap5G{usj&X9})p`5!_KCptNB*os&D`Jfwf=YOCOcJrIO1}H;`=0bVog@X_f4krJDmxG3wQZEcm4+oVK=|YV}LT0@Eb0aM_xDx0pVcsKlnLVD!le+A}u<53zJg}(5`)Mky&1t!-Y=w34 zk^VHD%@&o~OEQ--7v#r5bXFh^D<1#&_=&>;Y|Bx71)==#K`c?(c{q?(ecJ_8QJ$LOT zXF2-=YA)~C{oNUFOxbT(K+SeG10Eu@smq*J_jDeXJ-LSxl+!FIk9-J1>VF7ga;>1u z55n4Wce)mReEz__@zmz?PYafqrB<92(|B(uXdCkP&57#ZzQh7yJ_z)&9f5QGp2 zK}h1eaz6-bccKS`g)0F<)_Ox9cTxl*p8Ah>=N)f)e9zpe|0smv{3fN{NfA|)pd2ui zM?M501O!Bw`p?h7+MVd(V9`o&2%}fwFy3&Gq*hJs6o@QC@QQ?Kq#<@z2p%FtET>~V zl(WV`dE|wItX>EPvq#Iz!H(*3bEs*LR`KNgB@^Kg^BDMqydq&5pV-NPhX@hN=~xft z)DOxdFC3&I2!}8Qq8Ec5)aAxt=Zj2K2eb9R_L4K4{R40IMU>RB?4fSP$Dvb?VW7}m zlNOs1fGcniLK%(`zfq>;!;V2l49RR|MhtH*FWV)GKsa)}*EC|3$k2JZ7sUDqM0w?e z+#aMhTnk}1juF2Bqvb;oGG>M#LJ!gp!g7gngRpTWYJ_-@A&AqwAhwNiIv;h)3AsH; zZMYV~aE3;H14he-AcQ~&BJ?2rAgn>r1H!_U03jY^2;$UV1Y+r<({lR|+HkU5B81@# zjr<0TmJdM)fe=LKL-;{hgQ5q7g)0F1zBfn9m`9v^kZMLe`(j`AchC?7Fq?Jvf#B!M3T?ndc90^U9RU;MQ9n*;MdiW$@U_ z32TlY(Ka~jwnG}9bj5D*(1b#lov^cp?||D2q+w7{yU2W7v|QxDzV{C26R)VazN-)_0nm{tLGE%t>d zL~Z_Ze$`FoQc)2?*`4=&xJ}<z`!9`4?g6yEBwxy^&5181 zO9G`rA>T=1n-8y8dz@6IMNt*pxa#I@{yMyAFthHJ$6xly_VMOQp($<82;O^m``|$( zgtD^IX?Hv{qG>Sft=-=JlPE`-mKXc$cL?ig-C?QnVsBNo`mm^{bJSPohObO(EthG8 zGNF*?q%gJp`g^;`i@qKiw4vmJ&)e5-5MW5GE@-Q@5XyFWaZUHB^&145ik24&V!u$R zeL+xO;-!$>@8zIip-R*R@d!f-wVV_N4R4!jBQ1g##(?wl_Z!q?bklfUpb&_()hK(o z*P4dAH*OG=^r&iECdyH!<)uXk1z}+*c+=h{DL7h04HUu_k#bV_@QeDbce3h2>4p2R zUp~B60F78((BFPuRDlpe*_>KOw0mkqtw2-K@)`T3F67@|B|CR~ows#bCwGgmP$lYu zIK@&ImR#thFs1Ugif!d{@xmCu=ZsOH5QwzZD0_WO(;r%mt`+FIq2;A6NG%W+hJv>) zBq=!RLJbt8E-bmgNr8b@53taPQPAIB3!#irTT{~V8T+L!$XH%p=B*3XK%KiTSf~

pDEHqv9P?!yb-+TDuwHzbQi+OwZ>+CruAOP|Yx)kF_sHcr=Gu8^Tq2ok zXJ$mtt)CT5Fut|EWAg%0MtS7J3B{}SN`=9ZOrR8bqXBzPBzH8>#R;PP{F3s4r*{rl zi^Eq~Yu@AE^DpW6>p2^HUTAMnnf2Z9<%+JKHTve!ZR5kAcJQ$qduw+1v!YsJ7pqT?D!XHvum&d}q)^980fQL1FeKLTQwUUg zxPwCf$qO2NB*P!SQKsdEf((B`!3=+13Ra(9!g;4g^!^J}yH`+V+WRKIX zX@6N|R+*NU57FYKa0J@^yHuI~{yDj?BV5X~+oo$MvbJsL4^k!{q*OTU;N*ZQ|A^eo zt6%=Acuc|G0j9>PC52|6{bjB0`*jTNS3)QQrnXzl3jyIE{)pk=_eYW(9Dzz<4IIjZ z!}d-N&n{^_>oTbinDF$N-Mb$6Zij$R8sk7A?CibcHtBj&9}q%W<&-T?{9#>(K-Ui~ zFZDqP2#w~u2W4em@3hd`gd4R_SADQ(CF+BCW?_A3?&N?ebD~fC@vHq;p80l%Z2O3D z(BEGRp$snCZY`f_5mFxv2Y-D?a&Xm$8aRaYVLK;>29Na`(nIP4CiMDZ$mE~rwh#EE zF%A^M&bH0pTYRC+R3e13x$i&vV`_f;K-Ui~FZDqP2#scgs>=LMYR31fv45~=CF+Cm zRST9jb8^5GKJ5>CFP<{x;r7|89^*hEDh=NkA(X*I+pXm@Ekf#p;oz?i)~4*JUAXE) z4IIMy(A3F+d16dpewj}i<3J(o)RW36V+LE-4=peCK?n#9nTjr}@b?ea{IaKiuxKUf zgKPo_`-g3v9597Xwd3@ke*VM7yJf3-jD!CES_oyp)OKt6OpB2EU^w{eLz085KGeV= ztPk5bIpA@fd`!EC*2z#m>Ez?OZW`Mu*feA4-1WUX$NdKiz5T}M(QW17r!N+cxzG|q z*;7}4JN>X@J7wKDlxcZ!=XO3Tbmw-wv#QL0(OIFjRWr9gSLod68m&smJf|#dEp6iE zfJyjIm=dcG6atp^li=`e$Nk#9R?#ub0cBcVI0ymZAYMe7-?_Iv0}ls_R-#>)weNzZ zjlCQ&3BLhTVjL(0EbSk_Va)t%)*jq=?<@zDX?fuw1cZa}qrC3D!=H3SIX0~X2eb5D zu(Xkv112$EVoHnyg@C2UMK~PrO8Y1O{9cDF2b5`f;UENrgYh5y9ITPRQy*&ZAHsIg z(8~dn7$-0##(_e>(&GUf4n6kVJ8S)=eU<~tw7hT-0>Z(Jn|=;f59r}w(Mr^Z%)2vLRRQmgRslEiW8|fN(J5g`Y!myl}M(i&lbzjGHC0 zh+W^}P`!xFt78&tf|wHHKp|l1sU4It^}}zJX?fuw1cZZG#P)KqW_di-!Ge{*AdA>h z{695ia{qnV@S_Ir*MFzpYjs!Dd8YOg1&`!EkauUTTjY4azwnPV)IF>ZQ#}#D*!tzh zJCDEW)yiP)?=FAltwTBow+-()cj?H&_&`pf?_Qtr*I|`~L5HGq9)A3lY9W*{&|mT6 zZFly)yfUjy%gZO(wSO4+$#7m)Av*dpuE5WE2U9eV%Uo>e*tK_Z$p3U>uWw}{ zXy?sVyrzWqHIZD1~nP>6|ua9Nalzp#dS3ojvgOxBfi3Q-YJ0&kzvD&NwuF z$Icp}BMvUd&Z3p5p=RN>VCn8o4)_>+T1?=R#yC)jN~7&Y84i!GA6j1OgVY3}VL15f zLz085KGeV=tPi_6Inbw^K6UpyKEAdxxc!A|Z=Kxdpx~5oZ9A49)ivHODD-^$uRG2e z)is#9^W?7ET0$tR+Vaw;Tl*fA?YL2<<)y7aMk_LogqdS)z3WjjMS zkhk-4z@#-ZPv5U^@qq!R#OecufVKGS>#hl|sSFT;!+;Z)?=!pPz$^!pX?fuw1cbwW zw^o()mF;0UXE5RWO{91WAVA9ULPH*_tyX66<#5hn0yB{C4_^|O; zRR##bVcfd!9^7edd6ompw7hT-0>WX>K2@duJOy(s zWwVEDbrBln{v&j;YG5smvl-MgT87(p<;>X99i6p+nJOG(mKAY`W3_-nxZHaA5M@l8 zY42Lg%l8*QTD)m9J?QtQt%bv=S8#dLmd~wgL79vap*P*q$pKUJ3Mi(=IOu3f3!w~{ z+HNhMi6;3aYh9PR{C__D zm+x_~^Lx-xR?KSF{q^fA0|J+x@1A+jxQX53(G7(jn|aKPm8W+LbhLspq8WapOv_7q zEZs5er6tBG>Ei93imkXM_h?n@*_Bcf&c_Ic?oJNd-?O343u`NbucN3x{ktgxk3XVo zaL&ScV;h{JI6M>;YJW!O*H1jDTS5qBch{>d*d^UHSlw>ToaygXW|e7qsh7e*>ZRe} zt(OiCj(S-Whj2M3aB`@+al03ruc_wH^2sZDq`My!U`nigYFLj(To6Lpz@J|o-{z2m z0?kFs3kM+}989$9=U~NeQGIZ6uxgF&r^0AAVriq!9k+kkc0bP>plMT=FoHBt_+@xOxod_gas<<;7MjS5++@decwqam+Ji0j9(_XuGu#%3dj0cWIX;Wr60R<%NR~5Dq5V z^>au@yN>?Bo*PJT2siQz2lu_!1faY!CJ@-iI8X>k+HRB)4eKah%Zmpk9E679;PvnA zI5w&e4*$L;4xxWv;T$*n-t))-6W^$=4|7|bd2*Xsr2#x*9Q5~pI;unnp=`$CqZWNU zyEM?8w0wqu)CUvw`|E=h$9md@RcjLULE^ozK9oB-FoBKB!%&ZZ9pgYDoGk4hpp4mc z?RRVWj7Kdrj34E#5B5BG?)qSRoe2)+5M;qpiFG8am_F~#1U4q&H(*MP1BHO4{R5OS zo36QNdEp=ggoE*;{2VOLz{8;iKPqe&rA`h^U}F+~1E$0{PzYGsKR_9?>6(j{7Y;%| zI2b?5&%yExJRB@qiTV(&uFBfCqdqW!jY;?om=fbaAz*3$0A?!SLw{Qo~c!|;FOUy%0czTdmysvjSE`-aNk$R{RW z|K6s`;If5xjqiR$_u#w*ld4YsNB8(V2!)$y|3S~^~TDqGA%Fl^1zeBdb$72sS^J&h~i&0z-n{K)2 zAC&<@C>wC+p~JrF5d@lxmKP2}Ksc0bt}5|wd(TX8#HOuX94uN14&ujzH=p ziTN;0iE*G1cI$aBlrev(xoCOeAOwVi%#M}#w|m<&UY`Eilg6MV+V1VX-y4?;lW^5A zCB}h5z|#I1%5VlX7cDOwgn)1`^Ml@T%l6bf9BP;+4eNvZes899cii*a4cFgV8N5(? zO#M2I4+*9n_{Z@V+=E^1?v~ z2!~*Ypv1o$ro`H?>fvC~N^ppF!?^GF=G8H&@49E3y*vKk08?TdD1_ZlO?$_*`1Io0#a1a8*LA)vH0DQY2Y!Au9!J?Jm5bcKP<&1N9bxgv4 z!ju>X3IR*|NhquHdQtPgr>i-jOv?)gAs`%#Kk4U?^d}wtq)jWqA=(Yo)5`&q@SiXx z#(_e>(tZ*gRt)*LCHD&i23%HniTk*FCwpGH5>R-fo|tcyQJwinRv{HQM{r6As*Ra4_zb zuk*WpQZ0ls##8MlXnAP~;x|ZKVf+SfT;cE=9C4=YWhL4}I3Fe)hB!Gegkcg>E0_}F zKp|l1`4p5fo@y>yUN{H=;b8m*F9&-hjQRx^hZ_8bQmO3M{hBJgd>8lq-dErISeubw zRA%!Lw%l)Adf5d%f?-ELbm?E~t9XxN$~Ui@^5O3CkaTO-^-!hOFtT@EI-Trj8O)V1BS z{dbH5g|M4?ju6V|^fVVOFC2t`a4`LqmxH6fa@7ZmR)Ryc55j%FH&eK5Y1?O3@1<=I z?;c=EjDxmY3!#k3cg;o13kM+}988?!=a7tZ92{&~2@cUd2>1QoOyRPn?aOoOzx2?G zAiItb1?sidAoD=pB?)$x&!o{TNJtqt;4ub5G zK#T*0fHgPj9}q$r^U0cvmKP2}KscB<$Irp?+&vsDT8a7)t^Xh4^k^C12ifNWwor8S|)mept(kUnld$Lc`1#d;L1wGl=Sg%de|pzBu%64|8&0 z>Jpa+zX4NX94Lfer2PYwF^{UbXnElv1cZa}qx>8!&%nc>hWX-Z`N%PWhg;8Ii<9B>= z_xUn-;4C79GCEZ~SZI0aCS>rCLDUQ$-a*tccsK^pnid<&>g||X_b;n@{|o<+)b^vT z?_6Emsi2(VBf&KlIQE@&?M8^Be_KAST)I_iJ4#Sa?bq^B+ohgo4hWW)d2741>n(R} zx0-|=63S)ENs%0o91~H9ACTn5Ioo*NBbhYb7#5?Ttwx9gkz;$TY5KEJKncpBqUD8x z9FPg)kv7IK4wr(LxST7E9*w&A->Ogh+8JeSRhL6r${CulcJ>we-9*6>kKaHPw z<;q=qW>4wR_EAPhao?;X9&i7BWq>j*FKxZ|xG->#7B4Yiw#TzvKzcm86-Sl8)z&=+ z1B>M#TA4Jzzx*#W!T;hvDPPZh?e_s2-`M8pN7BK;`>z{%_IK%QR!kC_#p>?lpSo=6 zD1~^45Lv&T`rz|>zZGR<5k)y!X0^Q3UCDMPb=PD&^HyI+)>v01_PDoYVH*|>?rXn! z^&k2?{_sLEk;Ipn7UQ7pMu@Cm>pyPQwd&DoB`AlBmKP2}KscCeXMPSz_twS1Z&$JM(j} zCcbia>6uO~)Ai|ItxUq-BFT1kyv3n9+ZnHZ&E!9??JO=DmmFbQjDxltAyTA$mL5Cq zgn89UP!1O@FC2t`aA*=<+2!S6?HBc6uwW%HNT*gL1N?CohUx+S{BsZNwX=*y(>L#v zo+TK#wP;NGqjeuQ+9}?--`48&u~$kV9wPMay7|2)&)+_HWY531J6e>X1m(}qUe)u+ z`a1<$UNAKHF{}=9AyRpf7lSp;ksE_&PN-aBzL3JPP71vE%7quMd0q_Uejf~rRR(P} zLfi-NP0KUe+#(cEf^w*6d7&Wo3k7o_l$SzsO32YSSg3Se2rq;RDIDXZz>5=g5QSh^ zjDofrAwnG;%Ag!7T3#rK{X)T9h2*7RMJ>7Of`uwULFUbiGUxxV&FugGsNwnsYr?3% z?y@>h*M6*EcK)C9Zm%^hb?tv~RQ~1SlM9yFH#1dxUu#~vbV#o`>7YgN%ePl;O$Vf7 za3*`3KI7eCt)&nT5h9mG-gYe>uQ#_^3Cc+hr{(3NNU}HiC??sP_oFzn_&VxlO<8=y z@!P(eshR_?zT?~1oc4~GNM;F4i&ai-H$tT4Xx#X+&I^SDN>C15EiW8|fN(JBDf}F) ziOAfw)25}XXPBlVbP3CUYHi+pzTHo|4#dFD2I!d7Y;%|IG8NHeh!wW z=HXz`N^po~Ah@3?e$_Wsm7PV@0}@ilI8ca({3dI&{@y639Z?>6At3FduF36OR_wi? z$o|q12Uqr*8j>J}>1()iGtPlm=M||3nC9fbLxjlMtiLzPflGPhGd+WFFzv$6!TQo3 z4xZ>NY!@Mi%#Bt0I3uslD^kTV&B=j>2$8i}w-b~Dm-5JGdIsTO+J&D(vR%09gGI~L zElr#@J;5*#Gn3pt$Q zg;~10!m-5I92O%IFOuXmkkc{_S^}(W*;2`l{$l+`!2VR|5 zB)-8kCkGxPMAl{<$Dkazlt*4T2m#?>;yphHD}?dX2a8sMgT#Bq67QX5aj1^>cy(Tp z&<)d^9C(Nj*{pT^hjQRj9(my)1cZZ$_q-gE@t&(XSg;ZpB;G3)AOB1XLv_5zoAZX= z``##o+5F~yw_d}>d^|?NC6u5%%Qp0X<#IXX1%m((4CcN!FNWl%5C;Z}m8MWGXM{ou zlbjR?RxpU^Y%V8rRt6p-#LZ@U+8X6VLX<~dC`gPW6wD%ymx488ox4p~;ZTBtxKJU5 ziB1ZaSAGcLI{T$WhfaPDgR*p-%YA=9cbjW3-kYF-0HHD z!tC^RVfB@2OmEv4UPKtIWxs41#2Or^LK!Gd_i`X67_{9kB{{EI({>|7G%_x-8zq{H zmKP40aXE`f(b4GvV{uP6WCGWYd8?IMH+JiY3Y;~z)|%;Y7UF+MhVK{qUD8y5D*R~Z;hWrGH;EGLk)RrLJsch zdxk`>{?GG&?0Wk{>EPK5K3TJBT1kLuv3^S1jnES}9ku#~TS@|yp+s}h^1?v~2nUm` z*3TiCt=7fCqNV%mQgP%$4({uF21Oh`x}m}4cg#u$L+9PR?$XJ{0j9+`XuA=5qOz=O z(UjrYuqma5V&eh!7zn=*3uQ$-f71PAftLJschdwBJ|N;`JA;o)>} zZk_KR?>xRJz_b_#Z8t(YjClE&WfO{m!y~9DK{;Hsyl@Z#!l8AWMP;4+96DEzWgZR| zEzO}!e7TT=`}&@W=+(DtF>3n6+3Db-ym|BAII=Lnv=|3%H$vQ&f-;n7E?QnV2m#?B zcchdRdN~wY_nvq-ShNxxDLy6|1 z<%NR~5Dw;+7(WMVsw+1Kn^uB@tmT9p>>I6<9B{R8y)Z4tLEDWG&Y$+*G?#>YyYO}t z;b11r{TwV$&BMW>mEa(&IUxu8PU~t84C&Vo?tNdUEi!IKsr#IH@A}Q@`ry>B)7dQl z2$APbkBcZLPo9<+0^&c2k8k`3??kb~e{d`u)Z{~B`+bwnj+dAg zZ)g4}K2Ti0I*9(bDZA^dCYF1x^mU`Z1s0ee;VUhsYJc zv=|3%H$n#uYI^v0mlX$kTtqp}h?W-)LO?he|H03}8WBAlELsT;X63(NS-z74ul~)9 z$(Qx~Hk}{0Bb=Yee*LuxM!xq5lxp zhdd_-Uj4lMv7`PX92hS#Eyh9HjSyF{>2VR|I3rqKI0ymZVEhL!2YW>HaIk14IEeoc za;W9xz^k+N#dwKnF%H^pgjg`s<08s|tL24*5D*T=fADj#M#S74Y+4Bp;a-qmQT*S^ z`8_6e>2Y(jd(y%36F1I2=quT99;Kvq=40&g&XUa+f0+(=h!FV~*B-t1tSR?aD?vH= z8@0TA56Qyl@Z#!olRV_H(c@HRrCEHZ5H*OEU}q%iOp2@ani)xL%kRJ!K~&KEOX!A!>jX(#5b7c7Oez_%zDnU7S3^#SLYRpZ!pctfrkijYnP5=P!3$mBQG3; zfN(JJo}Ysi!FV`Wv=SUL3;)Y@aB|?)c}3zIOmlMJAwt|{rsEit1DEp13kM+}98A3D z=U_!J9u5|*1P8P5U$AU@CkI}gS0ui{G$#ihA~fLJP8WZ0d2yiQ7?cB-^2iGZAs`$~ zyyxd&MKB%?7Oeyav+`fCthti|ug)tH-(Z@P0}l~8JAY+)k28t_9mk*?xRgg;I0ymZ zVB$SL2P=Z{aIk1;4q?0(j+@&#Iq>SdBJmBTIXUnUp~efYdU@KY!a&C{Ci7@kz@PFXYhF$zh*p-W(VB!HUmv-S_*Qd=btUZ|mhiXu#4irp4-mwi_XW61~2xxoCOe zAfBXfFn*MG-rSxE_HeMGu>=S4qkc{6|NA<>N9(BS%=&1`#&d5;2Y;T{DtF$R&o(`F z`G}k4AXbzdA0hJ8pbRC)N6H88GRh{>ByWv;50kgX`#l`_-W~O_ro1&_z3k}a zaCXDZ4KA3G4t8&FN$$Kg+HQnM?s9ZwH%c@YEiW8|fN(H*Yy2Fnb2qu`rAlIq>Qo-)%eS_&=qCd-hM8D-JO&);_h}2$83T?~f9c!$r#r2O%IFOx_wl2kYdG zhl52c!691z-`mNdRrCoztK8|kl9}nC&*)jX?}OBKBSeyTl%Yg((elDU2nYw0@7>SA z+L!0yV9`o&h}Qr2@^YAR(kI0q-;oZMzBVWKeURF2gt*V=s0b=bG#4!|9E5;yF!vbw zIaoXMJRB@qnnQRWWY{kDbaG&*N&oonc30k&4z9UqzufmhYP%8QJ|C2!M03&d!a)cK z2Xl{+pF?sRqpP2^XeBsA>;E0R9GKeu{;&C?a^452?M8_C;E_>%K#As}<%NR~5Dqds zR$AoeVBO5)sSg&d1czw-e-9@ITrONKTrW(E^^@9egqROT8A>!4EiW8|fN(JL=3Wl= zjF*RlMJvG}TK{kFr+~O0*mVKJe=6NH9cZ|b#d*u(?=a=2puVQmLd-V&Z#W-lY5hBmE z9v4xLpQYu6gAfo7#((g0utr1=2hSPj(0>Ry?B?XatM5Pb)2BLqmd;*zjA=0r+HQo% z@2$s0l;ezOdEp=ggoE)P{2Z(i(Zj)_rQ1b#UrflMos$Eve#7{`jc)#VI(vUIro}jD zyAk4k7(Fhc96w9T3kM+}9E|_q=U|P99u5|*1czw-zpax4uYSh*^A~?69B>6NEyh9H zjS!aw>Twa}_*q(BI0ymZVEhL^2Wv$1aIk1;4yDohe;X$UUcJX<6Ha^ji*)w>WK4^3 z&~_ulWr2EJL^*J^yl@Z#!om0teh$`%=;2_|N^pqQ|64mb@aimqF1_UDOp9^Qb|XZ-`B^>BKc&?ltCgUfJl9%YI0ymZVDdS8 zIoKJBbJt6omadm2(fYspK4)GXR}0q*(_$R7-3a0QY5xu7B!|}W!a)cK2b0g)&mnnq z&ru(2S_ux(`oH@=XR0bw%G3j{V2W{|5D)pyJw^I^qnt)YdE|wFw2QjtHlq^%`oI09 zqx#^Ox2~yOg!9(!`bxTH z4W>Cc@DL&HDbjHa%7IIH;LZioOyL#k@yDFoE&(F z5cfCfI0ogwr9AS&K?n#36Yu#sSP_hegGDRBAzJ@0cGd@8omV8j!89ia9wKzgxV9b3 zkLnueI0ogwr9AS&K?n#36Yu#sSP_hegGDRBAzJ^Jy{(RR!K?F%#5b7cDImn1v-vFIdCbDyl@Z#!okFQehyXySLYRpZ!pctfrkhU zIC1$tvr7&PbR2_n;8GrW;UENrgNgV29IOb&!@;7J;1I3Un3y((tV%vWxG7wd+xjG?3JQ#wM-q{xvW<( z`>FvGpIqE4o}rX}hKKxKcg-n1&n)j1TsnMIyD4iW!EvMn5|qP*^2iGZAyD^@HhsIMip%{Re$jp{o0e{$#gSj@zR#Ig z=M|?OJY(SfZF>fo=H$Rbgokrxg^KsZQJ^5P0V zhvfNQM}5e+bM6Gj#gSj@zR#Ig=M}lP2h*G!c!&`9xqtFjy`4^3pAJxha=1_)dEp=g zgo8=T?&n}-V#)2tlvuP9^&#?WdpXA~UY%Fu-X2VIa^N9C+~+>H&*-ijHlzcTpd2og zM_xDx0pVb-qVRJ_=B;tn2aA^GP!jpIJ)InQbzYHsdoaz(frkijpZjB{Rov6(!*qZW zl*5Jc$O{J{ARNp+Mt%-fDmzbouxKSXM1HONK4)H?S7a&=)0`Z5h!FFAdOi^4aG^Z% z!a)cK2Xl{+pM#ak&cnf?mEaKhweI_z`$m2(UHcCeou4?ds8_&H7vrGEL4+6&P==C$ zk@9x!R{b=4VXr{Tizg@JrqD3srgy&B9tk22j``x6#?5g3;9zIF;MM8cC#>tbTaWvC zW?g_72W>Y(j0dyYuXy2)lhXl8P!1O@FC2t`a4_ShpF?uoba1d~>G}|kn<0npP7b^} zT{|~!U|NiWwi_YFgHc28@Ab}E~dL1i9-&P2*Vpsv4rbi+bFfAN4+o1@qCQ0H z|J|G%cy+pVZePN*7zb@PLW~CoZF;zL%~k2_eZeS)ij zqLttft^Xh7#ckc(u;*+KUPn)asP#EdTxX=Rb;o^b`G^?cX?K-iD|KZ zf9cr3-{8Kd)}7q`pMB%?vqj%83p>4<&OSuwv32{FwmhS6 zfHIVfiImUz(}(A5`mS%F<)!~Va(&o;AF)kP+}YcIms%&gbB|-Cp7UG9(RhA@vwrgG z=e9Xy@&RwAgH7`$4!Utep8(Th^;6r8&>jt%Jet3$Pr&|vl%O0gT3$E^0pW1i{#C_= zeh${jZVv~GR-%4Jj2+P@z_b_#Z8t(6zx%h1ACB%5 zoDh9~l%O0gT3$E^0pT$8xJAYOo1IFnlieN;7Oez_a6G?g;xf74`JyxBUWj;}jGd!b zCq%is_?4+`B>sD}!>)h7Yg=pnxImgYg@|L0h=dVB8N#}}tYb*LC)S&I&%2IcM=+7y zuJs&iRykp}#Czd-j{81mUY(HSz0#}9jf|KU`~KPvgotDK{wP5?T(rD!5CX!%#Cv`Y zRs`eWU`59X4$*nBq0atbMDz&>NxBcozbCwf7Sm!JwA~01$Dj-)nv0ef4njaUn0U|6 z!HQr!94uN14ifK$^%$%(w_DN;DTOFC2t`a4_+n zpMw>_csN+JG>0(W3posSa`;{J>Vza?ZoDwP?1CQI&^5+E+l>%$49ZZVxoCOeAOwVi ziTC^*tO&-#!J?JmAmc;GVUUx*m%RlbxgR`M)jDxltA%aAdp+s}h^1?v~ z2nQ4I`8g!xJy$4~vp`o#T53h|KN#49?UK{@^e<&n>L3U%*j zBT-JVe_yQ~xkMaX@r~tGXb#1~p}2AF9a0VR>!b>r)T>kHr`q4-*Rf{-3R>pxl($Q* zR=+0C|F?Jfjlh350qGS-I(vhrv;X+w87r!1JGQHwG<=`S4h=p(xaW3Tn)P${20Wy7 zZ(Z}Z*VbQtXwZ6(!_Pb6rF4K2ly`sW)^GM|+AllXfxPqvBd)HJ-XOhTQIUU@z0}Hg zlDjv^Y#w#5vKK|G?8BWL2y8Hk4(ySITiRazQI1}bhX~Qj>0S`!gk+RQJ`+a@2NOm4 zXFII^E;k2B-5Bns>(sepn+}OyFG@&{8Msv1m)C!$|En|S!#OSJKD$`N>La8cedt5Jm1-B75Y0DMY|~~ogA3h z;T4%R!89ia9wKzhsa-#sGqG==XGc&DT*@Oa9E5;yFtbR04%WPghl52+a|maV!d=2? zCkI}gSEPwznv(+$5uzRIc8+r3QXYBXAOwVinMLw*uv)Z-gGDRBA>2(NZS{|K*#{9RL3#IzUAxbJWx4t@ z8eQf&4^kBR_rhU}lLN1gNssS&?-$=a+&{pySbd-n5BdG}y?cN2^PK*{$+5kGyaY0>VN3 z{v!YWV%wMZaIk14IE4F)Gx`6|j_?0pPhXo?t?qryu+A5LH|atKRxl2LGJ#UhX{?VytUpfV+RFC4Y~HZJLNt= zl%RaXSLHKa+cYTqk03AnPp%j8Ke4!~(C>kkS+}m{=3j2jR%!l)kq7F&u$WiJr1WFw zY#q94V1Q}PddNeBrd@dSn#WfU46Z2Ic*O>}91SHXhYRJA7Y;%|IGiwgQBh~F=T-KL z&hy%|G>4+d1GO(KuD-vCSLYRX{Nk23FY7-rz%(ZZ9wPMlIY;gC#=wEWHRpWVb@8LJ zC>$w4Ib0}@yl@Z#!r}NUQ$>Y-4%P|P-1WhxmEaJ1pwceRboNWUIg?(#rH3zmHW73BGZXEZ?sv!ZUIqL%t5gK`Y#j&Ta9ulAoC7KK6 zkrxg^KscQJc2%LjU6flZx4G+sO-t8@!l+%G;cOSYIRz7)0`Z5h)}y@ zj$3il4MPIftx$q;xKJK>;UENr!&wE33jOV(+*-NK&B3OX;1IQo)14f6bzZT4XvAr(ZBQz%(ZZ9wIcq{ZAE*s|E)n`q_lH?KG$RhK`55^=Mf1Ns{~sYRx%TqRrN#yM1>0DfcK=;aR8aY`mJ<%QLqcYY@AsXz+=>#y>uO;;;bQVy#sh z&hPWC>%Qk%lZFK-LkW}tLwS^kAcQ~&;^I{)zgtsbEj@WaSh#ez)!Dc;wU=kEHLeN7 z-(Q>Y#+3br1=!{U!9xt&)MZYqdpZxxZgWP7219w|Ll8nB1Tnc*;P-1Pe$h&ujVl4d z_%*ecXYMuDAh@EPckJ5o#nm%D8X91m69f+tntI1$(^h^wG(Z_j@M{1=dE`S7LLdZD z)v?Myft#5(%WOjM)Cdb#0z@W3#PZC=#s&HLu|9%#=N98@A>uiN5uzO+tjmiZBXO@7Z{l9BALEF79sZm>YoP5e%=op- zQ+)oW_E6a|vYXKC)IB?m*j?gYOv~CG#=Y7Ogox)*h7!$1%L@k~ARJ8G>*ruaa?$s9 zai}5g4gJ~+y&MQxd!D_bbtj2?F)hYH+l>%$?$`(_N;DTOFC2t`a4>PNpF=Y4b#bt0 zCF+BW4D!fc8JrE_V;r>I2wiz%^V6RdA(Wv+bJ6m` zK?n$k@$aSz%l#az9n7BkV9`o&i1Hwu@8!Uf*gl094LEz_pa9ci9JJjCv5rQZixSO6 z%L@k~ARJ`1t+2w+!CFD{aIk14ILPo2)`#<)906^8uH16e_U#WC9O&fX`Dvb#mazm@sML3G)9cvHYW`Rg_il^*&|7>6ucVRg_}s zB}>GMuJ81sk9?=JWZXY1gLQ*fOLZ6#Y^_{iPSK7(v8?so`V=jNIcka!g%>I%x_rY! z!>mb-TW7K+m1XTNH?fe}y`Ht(S}%+2t}qMnrc~B$Yb{py24U8uGWq`XoZtVxSw}qH z{`<;+SN_xZiMdbFQV2K?M0O&CGLD{VyS2PEiY|TzKwh*(?UzL zHPvc+*_xVcp;mp))>P{|Cccog&{E;BowKIWnQZ<`*tVM?{)Q) z7OeyaSvUzfH1=}9BvO51N{j=AfOX-Y?|k>%nU&cjn%GUgXnvzi%L@k~ARJ77P%j5N z`PmtV5zPnFp`+SpCLXnvzi%L@k~ARJ7- z7(WNgcgxMerj_6zo^HsYp_cU%q^!M;ywA@0dGlytZ2lp$u2*nWD3xU)P*ymG5aX*?9e0`(%Ig zB^~jeefm{@$uN^m=-;<;)@WW8lbHI$lo$sJkt9LS_o0mWKz^f4%L@k~ARJ7F6F&!Q zD`0L8HmwAQa3w=H?CRvel-+Al4_EhuwYl@;J`xq`Iew+dd#i;|#{8k?q~$XNq-C3V zQg6$)XZ~`x?3(6D!yaxICkLkNFsc8ZqjTrUr4X&nv<%#D8BYzXF;t6sX3WD0Dn!xp?tT!o!^ZiXLN3S z>^ski3biQd^x4^E0}?_gBTvl@x31jxhG#3Y%Cx+EXUX3q-`V8v@qTAV{vJm}Zf846 zeCKFpqN9_;rkj@T*L-0$hoY5F4ja);4R7Z)M@9}f6GSYZB zShN!LLDn%s4tqK|;CgD8lP)aALHBoB2xSBbx+D6NH8t54~}YV?1=ldseMUaER7( zI(RwU^YEz?My;yMrobW9O^gGD*w1_33oXvvX=Sw#c9S25-zd}a!a;WS3I}tZ)6XH9 zN5{p%$~u(b5bX!q!^;7aNcDm#F%A^s9P3$^He1~F#ma2n9PB1P48KvP<%NR~5Dq4f zj-P{-8768ME)Ev01czupNP8~_O!DT@p%Ab}w91?K^s>qTA?zlv4!_}|<%NR~5Dq4f zj-NxOVVM1U9u5|*1czup$nIVam_({ROo`P83SqbQ53rm3e*8w6mKP2}KscB@h<*-M zW#+QF9%G*Z@`oo2MPg8`v=%fem{PrOv?)gAs`%#ALZv@c?KR17Oez_ zXg^3hF9%G*Z@`oo2MPg8`v=%fem{PrOv?)gAs`%#ALZv@c?KR17Oez_Xg^3>F9%Fw zNW_#F2MPg8kAv9FILU96X?fuw1cZa}qx>AK5z)iJqLttf?gweysGh|Ci&70!^|#jh zyza(2>uRqqcva3)E~>RW70n4qO!KR~|4;nD3h#HU+qPR zIlq7HvyPiI_4CT$gUIf>-?Yzt?o->Pg;2&}No}{57Y;%|IGA&veh$`2#_0RII9R); zbvrJMRx(SS96nin=E9vfRdbmA{o>r`KDFJ%{Rp9qb6lE>mKP2}KscClpMDP3Nk$I` zi&la|6c?5_Ieho-VV@0nzxo8jOHYr>eeP4+&4~nrP{uhf%|*)#2O%IF%=tDy2kRuG zhl52c!6BL-l-#b9cSz(%qpQNCMLSQ(eeRP&*iCt+ltTw*=L=%>fkN2L_eBV0#EqJZmKP2}KscEA z*w4X=_&gjeS_ux(I^cdz4uonCMxS=%;=;WyS~MUV`o}nEyR{I?h#NH*EiW8|fN(JJ zv7dt#@p(8{v=SVmb-+$e4uooSEh*pN%#Yp65~K2VCiumyNMI|jk1Ki$$%gnjDO_kV2$`54i>FM zeF*nSW%B=D73Tk2*JyRaR~sy^zo_2hb>~X{|Jw`xn16NNwY9EKUG*>N7AEH{Kh*jp z2es}!IF$U zqn|@^!E_b5Dw&gLO8=!@;7ZIfVD5g#LWs<-j4EvwK~g`<@hSw-&-~?*HI7T(rD! z5CX!%+>_$vVBh@V;b759aESIjbo)gd-fYo5_dO}vZsuta!fx*W;5S^fyl@Z#!ol2= z;^&Y&$>ZoAY+4Bp(Y}YSUJjV_$T=Hx-;+Wi?B+K@*v)+({DuqVkrxg^KscCtQv4i# z(fMxsR+$6`v+tq#@`Hp!@}3l4l~-iR4^y(;WOz>sg|M67tPAS(FqCuu2ftB{JoC|SELw^B5jvQe`2X%y{=z2TH~zZO=7t*^ykGzC_14r~UFWshD+->;n^)_h z)ZJq0|KcC{R_@!0fBISeJUt?qFnhs~D;taqW?uV6$NGG9^}LDFm!VPpp|Wul~pYA(VA__{qK({i!6& z0cBcVI0ymZ&~8Og>UaH$EN>=vowaFI*V%}Jas3LGAL(qnygDWwG^pv}-(6N5U`mVw zg|K@@vk|{577hrZY{0jjF8<*1;w%T0X?fuw1cXDIEmfs{->=B>W;`4$S_uxu_sd(} z&*D%$Va9w0b6d=VygsJs53NS42{Q^Y0j4KEP{!m)Rpo6J+sb4K%Cx)?kO{NQgi(2! zcfQ1$4~Z~1CQWLXFbh}oj<6_HUy{KGyyVB*?(AD{WbpPIqer*x-8pEy;HsCWjVg@y z4ivg=c-Og0M-~RZJEq-3>*`hu{Xh23J4~t~>;KKnkb{5-2#SCpiYzeGlSCYf93)6k zf$2d+K|ujUK*cnofT9>s7Xz#qzzAYsMMVYOMVP^Wm_UI+K|vHzG3^?D-&=jZ-F45c zuJ(^N`0mfy=keKoZkQvn-D%-no$dkLEgukgw%EKFu?C-UTrWY$*-J3WO z&vIsE_V0>#vaM$~##=?cAMu>(_xIf=;Hpy+N;B zq}l##ppw4eCDU_}P9EY@2qx26Q5rPYPo~q500kBzDw#f}GAiM3DwFb{0Q*6qz#TTE z3mA;144+(Mo!q$xXI{ds_xQ7e_a6OR3_yyGSpe>o#t9=lPc)wTum@GG59UPvZP?_ zpA1nzW*{HSN~c&U)cEZB9b>Ve^0aTz#6#{nJ0t?Yf83$4s#}4TmQXakl z`@uqwkWODPy8YC?V4w>5g5EKkvA(~R0uAA7T|vvnG~Y3>$6{qW;Huet-j=zn^c`xLYb6@S9Z9^o6Y=X-I}}{r&mUeZ`B=c z=@_;1{2ggi4ZlpzXK2dfejhdG!|kzS8l9+UYQQg9=-egMKknYHvwBPjQ5j)MyQMq` zfCKzeb8z~lg@es8({S+4qPO4p-QsWW4w*3`rk?Ok+S0gUZzQ8r!Y=|Gq}@`8%C4$c zY3I(YP9cAh@^Mc9hvUD&jekxKImWGqslykOmh7kU^vIpHeu~u}3h!ui$}6>Ei7L|s zx^{qreBaV;Dk~a3{)eZlbyBjONO`micmil>4$gLA;b58Or{mzw^Sv9t!#moCw{Eq$ z>F}8P(D#SmF5I|w^B0ARJOUi#`FW2o4;S-%K z?ZTuL@(08)Uc0d0@ZEFYvTgO@53Djx;42MqU?D=1c2n7Pi~jQZ@NWy1^baWye}E@| zhUVb*hcE|=KcwT}`Gft2Z%)5zFWr3Kj}2m~;KEvczZ>3Ft$cL;`gX0AYUA}5s z>G_{@RaM{n`SC4>CWWZ1%I2H~AC2gmoag(>Lh|=D?|i;Dx9fCgB-cI9kA|l=maK5p zF~7;xGySaf_8Y!gb(-{Xm7``~{Dx9ACEyP%L|C1R?pU;;eoRq_%E|`sYj^6KD#3xu zq&()hAOH@9uc}=44w0y_N89fwZ5#|*vR&l*J6r8He6#8_X~6ychJM>!DVh@Cz(Tb9 zV6r!@|{z-M#_egS}GAR!ZAOH^e`%81()BSj;mTuB-(h70#R|)Jle6#8_ z>Dk3+E!;Gvi=rt34lG2w*Db5xb#qU|+9>$z?ElJQf!B>aKOq&zr)0663wz9!eb zN)R>XFAjfj%y@JCRRa4B->f=K+R*x7yA>rxilziOun_H@IKS0>`wodI3Q^gl@h#dF zoKckEKxI-M96$gZqCF$I?p1=Q5xYA$7_>tE;O`KbU>!G4?Ac<-$FG2O9@tZAo&-M?TEsaITdDtIjHNDTJn3Iq)HcxE^wG=9rSdg9DXN zIk~Vr<-q|2zyYf!`Pohm=1PczgF!3A0Xt=)$by_>a7eBbT()G)YhTSswhN|xnbfv& z;6vKQ-0z&tojU&nWmH1t%!;r)<-q|ne{j$layN%ihTP^3dLNxmqe}{2h8*9Bdh`G5 zy#4PF}25! z?mt~MYv8!kiqxg6pBYnQQkP&fx7aUKysqQs3FmbQ2~pXD)kbC=F``IqZn=HMU1!D; z%A`EvS@hP3?saeNjP5PHwI#YY$2R#sa?wj6y5A7L&RcSLZtCWf+cZQVQf=J-vSH7UaM}wc37pZs+g1sk7fam|1jwQi#g>R=iq&+r)0_@AqxF zaa<$haeZY{9^;j2=;h{$x|ZffozZ=6_`4KKbf0VeE+w9?&c&=3(fx+Rb>0DgV8Bh2 zUOMskxeF`0Dw+~#oh(FHL!X~{>(22pMIkC<^e?$cd2j#$a6pWon=6r5BB@L8F162oeR3u-BGR*v%UZa7NXrl51Y|w*4UV$5S20d zmt3SgIDh~+=vj`NLwJ^BS9tZpV-W*UFsNY+D^F1^BoTM0_2RN`0 zqxpGFXBO2(bWb5FEB)^EFMsTNQX*8QGAWO78zTj1WM80gMS*MAM>L$ix6OKuIe_dR z^89_z_WQkAb(+L%IZX+0U?JKqv*J`XV8Z(2pUCZ;;6P?lnMa9|Vb`eK`X?;-vwm9--mE%JVuF*V1URq|Vacp0l|{ZkaL>&L3lkiuOv-};2!Mmm zlDavBv!oV(FlmK2_~*S{YK^0pJ9H>mng98YFL)U$gTz6cXYn(umI*u`E$$ly~9@lQL-{;J#(mng98YF1F}N7?%nNXrpLj-pcUc}k83yB?{j9=X%h25 zG$p`+g$PULd#LQaLm#VnZ&H#2l}UMU00D5&c`;`^XUU6M;yII6h(kQC-C)1ZnN_Dr z%mdMs00$N#ESc}2GA^0(H9Ny zN0nTpJUD;=IOulaAr9CTa#GKmZ(czSzwnoG-TcgPC0qalrbX$Dx{)15>^<>F3FlheVZ1q{0In zSctHe`0yx1Wy~K-E>a#GKmZ(czSzwnoG-RyYqIFi{sqp`>Vyj5j=;KPH6YZmcwS90Z(Cpy)Yu7Z3DPH2f@ReIi+AixEjIUXUH$MM- z@4~9hj!X(sS@i97FTLNgXJXz-Wl|pVjJ`$Qyi?x<@0@2?Zi2VXw~TMEW&4Q6cM)zl z)X9M+G1Wp-0{sLF5thuakOT8C{7q$29vnab9FUcXx_1$pnHImFuyHWHy$*5kb`ipX zZ}}rRG5phh&oxsvRZAb+T<7AL8hYmAvtO* zh{~8hlJ8B*$KMG0Z=EM|_TOgaCw2dAzCHO~a*-$V#&i2U*G$>aB+h?nN`M0k5tf|i zQW^6{l8clF2M_=UohNg1Ffu<54n|fn#37!~-(bJznkgHa#Q85x32OZq3Ube??5a z>#3yOQXU*Y037sq<&0}B<!5MeQ|K_Mz* zzbUy$d2j#$aM0s}n}gBgIXD=!Lj3{82aiKzD+hK}GKEP~0vx2>Qi#gfZ%Qsw9vnab z9Q63$=3w-A4h{yb5C@D89*0I&4h*%y1y2~ zb~10zOPT{w@*KPWqw%lBHZ*i{ph@pHj&$po-%HVyfIqMhVa<5x{%tdw#}tLgq2i`V zJ*O8WIZ&CD2L})U2aFm~_t#?PNZ|W}C7v~DNq>mOzZTnYn3Drd;?#wv1URq|?UwTu za^QT1zo|^hg98YFgB~~C^BZF%NX@~d72@E1Emk|LZKPI4lSpREs!giYuUsReiOvFi zQ}c@&pH{D^wl%X|Mq#DS5%ouk{r{}X{{#W_nD(1v*?3p^!BL+JUjFro)oA2?rx<7< z%=F!K)m@_x^y;mo5S6hfkv*i8N83P;iSa}Cn9hjW>;wE3V#%1M>oL6lpP6iqL zFoNJDKfr;77;ec(fyy{dl{0=R4-SZ^;_*cE1Sbb`4w;&R8GnX)3NKSwt>u6E4M7|1 zHw3eje$n^$&t@O~{DhodiAW*vo~3_FAu8jDA^l&<<2}RE@t*a_=zh<}94YmCHd{sL zJ!53_{M~*-Fb6l9#2FM#32 zFq-acaCn{XD|UlI_K~OQTcc=Lpe;+QDa5nAihQJ0BB@Au zP=NiQpwIepQZTmhruGE`Rfq!SejbHmtrR-=6+iIh$aO!0!d>l8NqxbVw3i)hs&o~u3^{AF-y*?(szc}iDU)V04Q2m1a$ah*@#d+%C)-}Kzhy!LJo{^WnhSDz9Ce+u9ea{o8(euH(cU z_58^EqMTXL;JCH>wi?&n_m|?tLkcx4e&ejyCg-SJA1akl`P%F6te8DBs-!$P;Pf7F z(5LsfIfV1~mf_nx>qv6&PVezJc=!2)PeE+tSG`W7lDnpMC|1=zdV1wMr)Mjg7VrmY zH-&!Myzs@LBeNBiQHkUt<-q|2z(JqhX zW3f7P_Wb4-b?c~TT7ZMJn?gIzx$c$sdvsJ(MkSJqlm`b800({RgPTJ*OJU()(h70F zdcViPey=sF{!9Hv&sEDVR<~aG(fr0E+bfzD;2`a$&?N)!egC0R?Ge>{$Rh?ny={4=o|NzUQ(?1YI)H|fWz$z zw+%fCh4_#{yah!12bI&gqV5 z@wZ0XB`!D#aFBLWXy|!2ZoImnovK!QPRG?~TvS5kge&FaEdm@Gy}l+t*UiCL*-z~c z*#@mpyFh&JaVW5IVAZeq^@Q)*U0SSWKk*91L0^4v4Eg4*1sDGH$Z!Cv~bAatS!RJi1j; z=WT5iO$%_4c2j8NtnZ$`v7(K7?$ZNHe*gz6p>o2N^56gh;LxCz%FlOm2=9ZiwF`q* zhy&tkj|1j>77ncX_kEsQz8V~QeLZ;QZ%?*XG%dhE+D)M+KYse>$ja7g$G&DorO~7k zDkm2y4-Oyz4)q6><`=j*g!jqWI2g1-91vG~9B}uYg#)Yp*wcfK`xiLOId@m}RkM#) zG%dhE+D)Nhi+a>P@A{+F*<%MZ{5LpI36&GBlm`b80EfCW*5ntuIT&ApIogFmE5reD zb`wpH{4> zgvy)tno{%IZ3T(_I+Vwoz`Pf`GW5LHc^ad6d!PS4Y{xOCnfKy!&JE^mHAxPvdcq{v zU5AN6{zZuV%{%;#{dWK4wcx-z0I8f@Sf1R#0R+H7&wJe*jG3H+Lz;Q7$HBa>Cdq+S zXBBzCEKLivPZr`s{^lvP@|0RCCl{8dJUD;=IOut=n?rcsYx4(#mTaGSXrCSj^TwJa zhtl)Di0*5FdH;(+;{*I%1=)+9Nw>bYD0x&N9e#fe)WXj;G@ zq}>$aIae2)(EZN(t&>WqoN%Q)IDh~+=<~hY9E=mI92^W$`jED{n2CWbWKfdp4 z<-n?Qh-03ZrUf`iyD7wRQRaiGoN%Q)IDh~+==j0S!59%891L0^4t{*!$I5|K=Mcv{ zF-;3_kakmu#+D##ji&RD>l8clF2M_=U9Y44^7$ah84kj(>4|(3ss6WvBf3)>|^zvQj^S#er zSKPQ*J@<1g^|>_<_q<|KvxdcqLv1L;b84uJO8WZBUpr-;J`_mG<9*=V8oUpEZjJMO zm?yEMejn-1t?~Tw3@e9U{oP5Ad_HT>j3&iu?j_AqpIamCrV!7mp)x9wT%EK|{3UTn)|4XbKSoLGKwHP$6S+Tn1*Wvog3z`<_r=;B!;<+V! z|5QTdCwa4=|vIQZ-TF)N2({C2T#WRstAn-{Bdk6xDgeh_Il zg?Pvdl~IZ0BIUsW1i(R`*W%`2?9Oy>FldE1Add0cMX{3uQ#bAIT9Nu3V`(>qnD6Q0 zw+kwfT%ZVEBqBjY#8MaqK% z2!Mmmi@7-%nH~oRgI0)xzYk)#l|%lJFJEdmIk|qoqnLO>TYv-ey?n^uyzk+ri64$? zfIKRdP&p5WVtL9VvPb`be6j8yocUtQ{Xv#|ak~41ynONLRt~H>tH?YtO|x>~LkjV} z2bmA1a&lpL%7X(4fP?NI+#C##_x-`fAx;0_aX8J&fmLS}nJ1=cRt|hfA>Q{O^TAY3 zxGYb3Z~y^t(EWp(gW>TG4hF4IyFmZoaX8h=fmLS}nJ1=cRt|hfA>Q{O^TAY3xGYb3 zZ~y^t(EWp(L%4si`GY|#!~y+-$6=V21FOy|GEYp?tQ`1|LcH%m=7Xu6a9N)6-~a;P zpy$0#4(3eG;SUC_5C`PVJq|;y99VT$k$Ga8X63+#6yiM?G9OIkgv;`j2L})U2R-j~ za|q9SE&gEA3UR=^*W)n6%7Im96`3cdX;uz=NFlBt%X~1E6E4eB9vnab9CY5?&B4e7 zr}l?*`_2DI_y5^%b3S-n=Fnr#PmbRoyKXTiPu@z*-@Kjo<+T&Wi1!038Y_o^Ip#{?YB9z>Z~HqC#7jtzvM#-@pj%7`4602 zIH@>st1*=mF3VFM96$gZ^t{*2!I;T8IHZ~PdK~PxIkW1lB112lX63+#6k>cP<2NcN zT$ZOiIDh~+=y|W3gE5nHa4=|v{J~%Ux8LSmxOaKp_L{}&sS692^f{+EaU{9*e7F96 zMiuQITb#HwfYy6fEH#QEklE#ME*ZVK@{x8*;~n%tvaQVEswTq7wD4j=#y`g}Jx z2V*CegM(w=TCTtTZ@eQW0F_#uDr*Z=LeIkW2fN36ymrj^TAY3xKbV*KmZ(c z{NUzbjED{n2CWbWfBk=)HLhjVIm9tfOw$4!q}>$axG3|%R8F{39vnab9CZBP=3tD7 z4h{yb5C?z#f2@@QtInaHDR7z=;2`a$5Q7ex52kX$mGa;K0^p$I2RDas{9qY3<7p84 z`hTv!{(rWW1FO!|4O8GWExvcr1gLM zea?M+SNh`bXWX@N1g0qSrlvlZV*j@b=Usn#apIf_3i0p;z7Hy)@&!eU^*I(&9&ZBY zQlNe6b19td({e6_rN2&hE``@V?e{rzN%r=hLz=u&T&%iRU7-)uqiF%Zly*~y=TJ}? zl}Ij99vnab9Q3&qZVtu{q}2VCNlW%q-nkSW2m5`_?R|f^=7{CJpDZa>6C>}XK7CNy zO(C8(NM%$axk!0%00D5&rw_V0{I304<|!T_4t`u~zt8ztpTpI|OIpr4qgeHB)G_s` zbkc4Lz3(6LN@Y|cxk!0%00D5&r_wn&nCGlH{K23V;^4=%_WPV!^=&l^F6(k;apGKW znigmm(ryaz=(a~%mzDoDBdLVS$wkV80|$aDRje!Jko1x<)jiS=P7nl9vnab9Q3JlZVtv5s}2qZtq=!4 zuC?Fi%&LF(ezhi(&Mr=z>rK-F9HiY8;whX5uNv0w>uO0QRL&#+q&zr)066G#&fOf0 zFIF8K3|b)$eq3w6&zV(c>W-;Anik+7?WPcui83EZt$5+HuF74;lDgh2G#E1ONds(ENR8Hq&dCJFI1oFk&ADsDO%PFmv zb*Z~GPElsm>;6n=WUR>!PR8F`oPx*L@00-?4ZVq98uyIJ^4<3i9 zRt~H>tH?YtO|x>~LkjU;T$vB1a>8YK%Ewy-IOx2&n}d-F_S=PxgF!3QF8uZXi>w@2 zbyksiVwz^$UHGkvvS}= z3h};RnGdFN!ex2Ng98YFgP!*~IaubsHh(Z^g*f=@{})&}u&;}9?o2xaVH*L z_g{TB@1Oco5tx}(X1~vwN9uA(a`Z)4=_{)l*9H7i#%mPfIwqA-3FrSG4_K%#!;$jH zOJU?jRHw%+XI{#(-fPQCr5U%7pDVN9=gd?hQ;19{(zE~vX*Y$qj!9)yBDqL;Z~y^t z(BqbygV7WF?bF5~&A8=pu;1t0$-mSb20dk z{mvnSyEcF0*S@NL-*2+ppHi%-gvt*cIc@mybNVID#h^U;sS&HZe(LmHk(?8p{Z!uX z+OL&Ym^|xB_ER~S=OCUdv)|{;s?(%rEB=z#_@cgwrUm?gh4_%a@4leu^A%J3s@wl{ z+v@d0iWQYmIk~Vr<-q|2z~Qt*RJ5a;!|&R!Wzv!yqL}A+9PIZwv+AtkF*WKuow>J< zqG?tRd`O|ER)5!G-sgSPwB|i#o_K1pq7o`67nY|yIDh~+4C_=H&31DzzT8bcZsi%Y zLLB08ZJGT(XI7n68v?3|b)$@wm3Eian0;Q{k*4^TagG%7G6lG%TmmW7+TZRx%$fxv)It!2txoLFdig z9E>k_9sXd@3UP?XwPp7EoLO~NktuMRX63+#6yp6|G9OIkgv;`j2L})U2c0)}a|q|n zZT?`;3UP?XwPjgWe@ImQH~hU^oVdM&rdc`gA?@P*T{0h>Q0`v=#PXB}2M_=Uoi}%L zFfzdoe=ul;ICya_`pHZy2UeX`WS*F&Svl|_g?N9L%m-6B*B4lx^56gh;Gpy7P7Y=! z*ulY|72*)zPg<5?<-n@5ip&$!G%E)_q!8~lllfpOCtQ}NJUD;=IOx2&n}d-FPR+rj z72<%rx#tg+tQ=T%R*|VZnr7v|hZJJIPv!%uoN!s5^56gh;Gpy7ZVpD~&%wc<72*)z zPg)kSa^PhZ9O72oHg(YLyZaOGuuY$RB95*Xjut2|J8}q`myGL8hdc_-v?FSs|gB$cU#Zn$KQ1lh>6TPC~ zo`D)Ua^FL2Gf<;n3H2E9FOJJ}+f)2^4%PaFIXM^V9*M2@ZiG=6Mx-!QNLnEB~(r>EKhlG00D3)o>!Vv;O1a_!Rp{(&|99VT$ktt4^ zX63+#6k;A!=1HlXTv(p+-~a;Pfb3~bp_7A|5p{4dXoWcV@qPm<2X1v^msW5|x34bA zAE4O92RO+7pF->hsfX6kF>YhL01Z7}IOAN)cwve6(~TF1_sb5o zayZnF=GdjR`{bSx=Re**G4usENV_S-evrzjL~@bx-~a;PpvMb02crk{{lUf|&3NH) zsPE*!E^XTDZw)PO**`J#1vp5%Da3xTsSlM(Bo`?U4j=#ydc1IRFnT}-2ZL6qUBvfQ zmesRzVAa{Bo!$H2Wj*gaIWhDFI7quG#D1`|&w)y)oLrhGUF{I-`)AcT@!~{`TOR}O zU)n(-?hll+IVvX?DGv@H01i4IPy*-;npt~;pSEAMY#$EBXCU|FV-4?YIC_xkUu*Nr zQ@;)@>3=8ogf5%4NQ|<0CgVe~uH{WtUuCSyMDlh)FVBy<)2POUy%3~ZjznT{{ zPl%RgyI0xsPtX%)eOHv<8(3yh1&&=&+5RefQ!9t-Fa5G;EiN*lNsJN?TzbY4?+hGh z=fH;)Vzxj=gH(R_*LS}=r~kmjKSFtM7&q6OMImO)aj&YHabRi=xMIeOn>8)jE9Q8s zs@3X7KK~DObzv4f|48c_r?c|qjd=FbABVg*P|=wK;~)$1A%8Ep>dfuWeK1g6o4e=w z-ME~QN~oMIf#oTWHx8f28$Wl{njH7Oiu~WT56)~Kp*QaDt2n~SfmLS}>7+Ex%7G6l zL{FBUPUYmn@{|V$5C8}Ge~x=!h3V4{&o^j=IC%Ri;2x`li~OJX2|u>q=gcFR8??E; z`z{;}{OWmSN43B56xC1G=?YRB;`|pBKH$SeW5-Kk~ zqJ42ID3kJt~ZxhC6vzgK~=6U={qmib+Qk;|6vFFXF7R9P#lA2al<((IMSNzPlAMYp~HAvC400(I|h1h>n8I?#bQXU*Y0338= zZFQXU*Y037r< z=jLGa+^PK`-8koQXl~`es&k0?`itj|oYik&V#p3~kakmugCpNRl~6gkNO^Do0dUac zoSTCYyE!-*v}C);!8qq}ILgX_sY?c_OkvWr00(I|g%}=F8I?#bQXU*Y0339r>*ipr zkU2OQv_c%b^Q7YE|4)n5`JwjyTDxm*tMP92*Q@=r>ar?JDlf{qBXeHHtV&lzru`R( z0D#}w3ZL=M>>V#$@sGB##CQDMUm1YULfn~AyVhA#rXQOWqB3qu%FZaepCA32Q5iQS@;8-9d2j#$aL}7K-5iYVhz<_MR+SJ3EarL~?3XvQsx-;Dd6R`` z_c_lm+kH~2n4%DsaZ@6HlZ%uG2M_=Uy?N8k!Pt)I;9$@Salm4($H9JiGtUiSm1lj_ zZQj#_LL6>D=MQB$%W-94-Oyz4wq~x&2~@53XJr#gM&dU#KGU>Zoj;lRc967>))sR z=UWFWnr7v|hZJgg*4VN;ZX2vPC{YQOlMBmJ9vnab94^jUlkHB&6d38})ErD&ArAf~ z_k8Pk!K$;06_pO$TXVo*MboSt_>e*yV?*jaJ21(CN~oM%Sf29W00Q7Jtz#tHz3HVO zoUFIB3zJregWmMgpv=3xIX|>mL)T>$=lA;H(G#i-Rx~Zap$bNF7UDzxzUQqAn!i_l zu)5>6(;DYhEml-Q<&AbOn=rUbm=oox4_rV5TyXnhwtEvyfwAez;U5OQ5Ep+FjQuia zn!+k_(oa(pT+H+>A5v(4pMUT8<{#n7J(ZIa%Tpd4KmZ(&0?2l6f-$G{4h{yb5C?w~ z3_j?zTx!j{1gpqNKTWf8;6nvOML%0R+H7CqdjCjA^~Y zAJQa2JPtVE%ff+GXB9c=r)gFWd`KZKQ^?6Zl@l(@Qyv^Z0337@#LdB&);l;Dv_kDd zZ-S{@)=_iF%FH_CkgJo2gJ$^ibyl&w<;3SEP93UtKR<0#@8^fw<0?L+(B-#uJ@(>h zLlu=#Ne5r~8;@MHaM*K06LA&g!67p1QO_YF*Sr^TcMyffe)iNL3XN|qC5Vo?gQ#5A z;dg;3DPQ=`tPVpJZL>NA9}>jg6IL`^(s5`az@!ohhUF>mfdByy#LP;{y-lvr*wF3( zVc-gZ(A(rHm$kQoXed0Qecg>8Ec|?kqHR_Xd`QFQ-}mf-P5Xu@Dx(sPqy)qAl=nb@ zfCr+qU8#GYTs*-M$dg*SN)uNIgtt%bk8}TDnf*TJ-FK|((4ccnZT{e$NTf8Tdj9-E z>U~Kpw0Qg+y@{(_2vHgLDfNDINZFHJVu?*oQXZ2(>`SWI&)b!glb4rB2^f=orUdeh zoi@H>7U+4eUS;IeCqK=;q&#%l_WPW_%URR2?{nU{<1 z8=E@B)KcH1oA2Iq>E56EDw-1DAnleyRL1Z9B^N0V4j=#y`Wyr|2V-nb?GGlc5C`ng z@Hp7-b3Ui?`P~ct5>xAZ4y*3ip+B{wDFF`BZYe}%{N7)3k@DaG0^oqJ_@W)%9E_pa z!NH&h$ahkkyl65zl>+|Mn?MJnU>9sEsYQXY{U;s?;s@q;skY>6L? zDC76W4_*qno09`g;?Pf10vuR~u;jQ%yZLrUW>!5Mjx2k#_U@4*sSxDGv@H01i5SaC0z5LW;?Pf10vuR~u;jQ% zyLmnke^Z&12L})U2OU4SIfUZ}OaGAW93_v#Nlp$liQ^?r32L(-OCc)bejUk0%7X(4fP>zj zK*~nab{q0F(3AiN79yPLSO$l&dA;Oa5 zBJJjPE&NSoQXU*Y033Au;O1bAhz<@0tq=zhnNk94&>YjGW~Am-6uz zfw)@xgFCJ^Ec7|p;_5X1;KkMbtsMADt$3=eEYwr`dii3SB>8R@JOX2Bgf%?fByYv6F`F~wl)aH zG<*Gyq3t1`rv6Zj6Xu82Wc^j06rwT)STb;w@@NnUB+(#rAn9%p;Sa?u4Z{4aPBsYd z6L_y<7-{9en1&`Xw?b0_9Rmvy);1p=g{X`HmgFMk!2txoK?jm<4n}C?=pYSRl7kmW z=E2)<`6GG!%*?XH#nyp6d>muB2D$pPp87L}-L2o5{_|4tZ3GK--`VoXr5pi=cK6-F)Nb`w^7vJ0OwPsaU`ET~NVe?XdA|maU zLR7|2ANZSGq&zr)066GRM4TMVj~*Nx3|g|8X8ZG;v#i|}t4fm=AJaAUCn79FSnP%= zL}mQ+fxpQ`%7X(4fP?--#LXf6iHK#MW6}z7@aH*WoE&IUo9p+a{zQa@Xg7aTh<5W+ z2mU4(mZv;8fB-n?Pej}tjE@{r`$M`^~C_57z!k>t+s;nYY!89c?e0iUUun_I$ z@AEhOG~N3IMCOC3ocUt@rgF+tAGm-Bxadzr++2*09voZ@dLjSt<~=y)Y_#>9Gn(?M z-(QSw@xZ%{@#zdrO>ptfIb&hMqg^a4mB{jOPrxv)?RF01W=7n%+ZN8GvD*u0&ak!% zrn0yCcCW2+j6TAGrX}q5K8=xfNg*m@UR~NP<>PN29Q68un}hMOhl7LRC876^^#hN? zC@Tl1vT0IAtyfZ?55hu(^?(nLLR7}Qy5u6|!2txoL9ZXUIT#sn2M2>zh=aecw#3ST zsq7WLNzZH=pZa_dX}1)jGUnAK7by=8AOH?}{lLw^$cQ^Q7_>qh{C%}CD+kUe(y`iE>eif3Z957sZ)Q+300w-%A`EnOr>|$)IMr-K|y}vGYwooKYzyIV6livabtY@Li9$lxuE|Swq#!sAf z@;8-9dBjuR7enYiFdHp&##81D)9*Jd@wWMOk?c1*dh3qWj*V3OZ+hW>_rDD-1l=IQ`|EA(-M|$B;qA9Tdt3hB-RA!5^v}#Fo8q@#?^NrP5@Xc(dhaY9 zf(ABg)~nC$!f>*<>fCX2o;pm89`Sj_zFJL!AN;b=h9}~AEsz%z!_HBnNC%7{{0E#+Z9C}5=46r6)~n1W@* zHuei7JlCL*4_`2E`c6`)_1X11#^QC-ppy#kI^@OS^%6c2puj>zb(K$rLR6NYx8T0V zi|d7aMasv$02HbYjTA(k6pST2-xn+t3{)WsSpW7YOt!X&obIJ9^5L|6jWmEx9iYHM zeAm)yD!U@H!=O5&>M7Ymq&!*#yZ|gT1!s#0Q?QI{X(;4@!Xzt&{=-{Dnu7ujI%4DY zuJfzcP&6b!frW_bme#wLo&ZOp5S1^fge0 zd;z&IkHSPNg=%|=yH zl8TfE1=tS?nU9nfxWBbFKK@DFI~u4$6m&)?qwIVu1qNX>h`}2T2~c1mS}h|sDq}<^ zsYrQHfc>C=IIkez=?g{>mzsisDn!A{2gSetpBKTb|Jz#oYVNABt@^vwUa$JkDlb-E znYAo)Nyef|cSPp>*Nx0hO*6B~?U#IC_{6HyH_a_kBk$hWY}0!s>dmZ**(dxnUp4JD zrRKNW3WCEn3)QdP`{m2G7O3^=xXbQ(Hz`DAr?t7p=*2zmgmyjB>ma+eaDxkd+rt(v{mU`EHeS>GJ2^EKx7{qfhTsXEeX4TSxWN z=7lc~9hn{Eu-q@SN!`8jozt^JLR7Znoa)nU7_ypP ztnzc5LsoWpQO7c7WgDlYN$1Q*0E5YPx&4yw$d`M1{qRPT!!zG6pWk?7dqq5-;-Clbtnw;GSCu@! z=DTk$d9yn>JnNfOyWY2zx^`%%Xi9*Cv|9>M*`$xRj=we9PDw6O9vnab92&j8CO_BB z!AQ?LI2g1-958Ts{$Ri4dwrwh5B%-*B!{}OgVE7hZ52%kaFBLi?!%)HmCb(Q`}~R3 z+A7IK%7X(4fWu)wMe_699E|k5gM&dU!~sK>$05t=4?Pb*WJEP^nB|*PGIYSE>08<; zniAk3?Uq7R_VVafMV+^`QId<42L})UhX$=we!iQ7k)C&OFldE1pr7~+ zS8Ysk=y3nqS+kb6Rx~BRLE3$V5064r*6ZuRGk<%swUS(^8ni+j;z`N!468p>f40})?z2l0Ri+6eXMOkljTLQz+YxaX2F>#L}kMk^{9Q`^+zkoMaqK%2!KP~8Ef(j-5h?`qK@e`A%E}| zb-*EF%e@m;(k>$l%-yyj>{Qv)1iJCH(DMlRBBDIfO)v zZfQ1^EnV64v+|M_N;VTIk7fZ!01S=6*(|~sY`sGo3}_W)R~Q(QQIwvOs1o(X#_Z8o z%_&hs&%1Hs)dlU;OY?rXYuMTCgS{jRO*?;V(cUrb)#t}tcvEXbh{}Fw*P-Rxg@~fO zKPaa%DUVz(qA0-7QIs>4n{C7ezB^b_xn|56atHkhKxWzH28X0Ou&R7>e3KcO9p?<5 zdvuTk3(;5P>!-4uTbGTxb5sk(-&7{$!2#|74%!`@9K!Bk!;r=ua*+kO%)pS$3$muP z=>CU4JEZT~%@i#Ov36Sx`D5Rcf=QPKhkHu%vYl@u8cxSp zUPsiCkI9Sg=PbA1W6i45r0cU^ie@!CQPGruSF#XcZD`%8-sSU36oshlru_SkA9>V? z2@X^y<-q|2z~L|J*5u{5IT$Cgr0%3lTGB7`;`=$v8yc-M+*#A4qT%Czc)D6AMNmng98YF!|~tXz*Z-RoI;%g(W^5K4hF3d zhxm7E<@S55S#_Fp-J-v|KK$E4MN&L3lkiuOv-}; z2!KP|BUPUJyS1F(b#9GGE5tz$T3O`{oc=(Qm=dHZ0S+ugyJhN+9L87t^jMP}1qlvR zCgs5a1i%3a!n{1UKNv~B)c#=73UP>^gHUe2$C_2ANz882lmG`7A}pB_rLx8Emao2N zLwaGvE&_wEyTvKQ`*nS>3d5^*LW|O$t#N`%yVQNO=&zc!Ahn zj~C9^K5F!UJ_k#1pKiSHro6bv+H%zS(SLh)$c!x|>L!1x*K}aT-bhBL1djlRxqhKR z^>@UMX>?*ph{~?2S83SR;XS0sbc%R*6hMr zWtzZO8sNY}bQ)WopVBui%2g7S@96W!hWA%rTty^tw`ay|$ z-hb6gmuy_S`HMnD9zhPmX`~R9ZCdlhZ_j*Hs3a%pba4Xk2R&}O{UJPVTKvJJ72@Eh z%xhaYa42JyX#!tqfCCE=lC+!3IIc?nkn->ccmil>4sL%4bFlbBIu4#c)UtBmY9C+i zq(KGE?|r{Okw<_73(;wA^!a^Pz5tNyF4 zS!+u7vtG$p1GOkxkPEtNj0REukD7Qa^<0xDIV9*M2@Rm^iK=c1L*7w0F z`Jqd8S1I37q6Yr<*2LyLPEs3MA8faxq$n8AvCxCnMrIu`qDWnF`=J{fY)=YN8S?`d z%x`tyJ|q>WOv=MAqdmQT3R!?W_qo>Q%-#{lICiDv#m}`aKgP;|As0#&=V- z+J1R%=kK}&{eipgp1AAk%&`Z%sjK})O(804Fm!2`0~5Nbfz@W*^1^;>1M`(hc@R(y zy`{aPuBEx|rT<(b|CqYJ&UGwdI`%ROFM3quBCBQ-2&82(_ zQQ2?z47zJtSEVEuDGv@H01o;4OLN^z|M7t!u;gv?2ZL6KgTM4|zt8#ImfKg{wKKT| z;-ZY~%@fY+qG(EhgS4CPmqJu_>FQ_3)R@#oNiI?z96$gZ@(y2D+h)`480%NR{i7d?K&so$^Zvxw-ll>24j+olm`b800$jM zxjBT_lWhHiK`X=o>q#DmBdi>lqM=DldC`;r2NohMndhQ1=8Gg3DGv@H01i4o=;mN# zdK~^>&Uuic6*gp1EwxM@lk72Q9n&iWoI7*Dd$fcyIm{kFSO z>zCE$Pl!GX%8JUDrc zAa#GKmZ){c;V&{9xp8ZVA2Y4@Ygwyw{l?D zMU$8xr6~apEJRo`4@zb1MgeCK!RL1;( z)-BOShd-r5_Rgl&GhlS-YWGv!3ew zPhS~+;IW=T|74-b6-7sPf4HYwvh1|yTK_94L}l~4Egbkri=L|a!S&a!`CCasnUu#H z>09K*HND5HsQXjjT;s5V)ctq7`?mXM)E~#XTK$tvhbGm3d{gc>xAjmoCE%YdL|D~J zAKP5#hZ030Dq}mATtf2GDnI}n&|0G>IL9%w1v)qww4{GVy>Sff)PB!3n+{DHdgkM^ zU##9k(UbrO7NXtj8V)XNaS&gG`a)F3b}YF_dH4eefP?O@+#HM+=-`m1zw$WP@404| zLz6hwrzrsrEJVBI{GQ6#=}9h9KHg)4gYK`~9E{AcgM&d!`a>@ItGuhHmKRyiduNk< z+F#OEkFA>D98Le7Mg5vRShrWQfAG$GXJPga6k=h13Qi@mJS;xBzPJ95ULoq<4`Q}- z-)_r#Z?5CWoT$Ga#D1?en<%Ti{KctrHyzni(X_z(XCd0fPx&cCW$Z7c-BKPLKmZ(c zzvx`=we*WN4#ojP^8I`LqPOnd+1f9%iE>GL%GX~!cm?`JniAk3?Uq7R#{NQbk@DaG z0^p$gMK=edr91o~O~2@IIMK?1O_U~W?=btbR_GULN`M0k5f<&D5S6jNkX)oZIDh~+ z=zh`7!D#6Y4hAjh4_+MSap+{_z^;v3cV53@{D{}C?4IcI101B?Qi#gfxk@fl9vnab z9CW|v<`C`|ZSBIK72@FU2RXsYfgvYD9L5O?U%92E?J^NJu@HkQ84pld^zC&oz2CB@ z;%_RG@`z{AKVX#5{ev@aZs{LvaebQp!Heq)og8Qq;{=)#@COzmEEx~bZq8@;o64j- zIDkMrYKXe`L0IA@8;3OgLvHP?b~yk4h)8Cusz+35P#OOhS%81lI#_dmjXl*ruJ%!8 z=L}V;N2HIg`Jey!|B3+GNN;N!so!_;xPD7Z6uYx)3r6icep7F?Z`+4^J{#318AEw@ z$FR_!4>g6TtmuLdw*2Fr-l}e`v!+acxFn%W%A<7*8SCZ9PPsJ_jXGn= zJmWUC)UjlqaYDB2Go#pp@5R*JtsK~mE%aka#!~M$j&$poZ^V)w2NqiN@Zrx-$mx}s zpi+p+*r#6p(EZzHEG|)0Cgs5au_ZX@*wV?t5?fkw$LV6rylSofv(Nm;d+ud@&*Pt8 zw)><9lY6NP?z?OBfnL28T{bW#NdM;EXbMr;uP2@{_wIhZmGplpkM|5u$9o>QT1DNb z1LqmH<~jV`XcZxU_t(yPS~*<)$>3E3?=Mjce1HGt)|Y>MVs$S?Qvw{M-BO6kUKmk7 zGJZ`jCAmm>Z~y^t=>J)1)O|iMw$3H8dJYZ-tq=!)?W~8LgWoh|lcXsD4$^KZB-^>< zBIUsW1i%5UKk7b?)@;!Z4hF3d2YhScT?M-8|Kh+mGo#$R^E-LM(>={LkD2?gn9@e! zY%ZR4-s6_*?mV)NxCMZP_>jL>Y@7OA>E91i3-%vBVi}ZC36=8}0G6kG<&C3p{yic+ zeg1tkar|2}d0q@Jt1%X_{MVPKcS8qmtZ}UP6<{Y_6co%GzmpVLaaNFLozt*@7qbu_ z^7nJ=_B^x&C%wP1`l{_4K!HlAoK#qz@}L0wK|!DV?xbKWVWp;EpprgZfHB;oVBYtg zq`-=^f;{V-hFK}_A%#|!uX=k}of_(yhqnK=0~Dx)%1MRgDGv&;9~AV-?@kKgkDkl||r#vXY zeo(;4=LLCA3dZLSseQpf6{3KC-J{UYN`Vz;1$k&Y4YN|)R;fQJ8uGM;@(M?ZmzR_riBPVQW++=h!#RDq?t@*~85AEoPLVQRe zo@QCM-&GUVLm8D&IS-DN^59TsX#^bfX_ih7;q7h~492(Q(wn{0EOXGCe6D+x|M>sF z@9p=O7QX!6wc{R*sdnG)pSLyN40vzPrMMm+)ntckE2+tTWLKLvl3qP00HP!V9cuSb&1G znnIk*G^z7_#coib5-KMZDGv&;9~AVA&q=|U#-yfTpbAmIjL)Mm%u0b3=d{Fm*O#=K zLY&Kd^X15OKY{|4P&uhcc~F4;prB`bP720!CN%{ERfqy+d^wo$4fQDmXMC(UCu^5I z6~B&_h6Q{Kc(cRepnu|?_etj20g4ICqFbT-~}wihy2as{pAdb%E^W0DGv@H01kS_w;ZDsn*Mk^NQCDY89qP1&P!~Fl%NX;5Gva0=B^~WmTRNj~MN#=(cn=6$^UX6bd5Q$Xs)&Tyf ze{ksdmF)77krI;d~JY1ifD&;d;R^U)ibn^O0%j`rdBs;l8$5e=Eq3_W~!i1@ibVq|{gTq)S z2hM6+wYlT`=F9RDw@C*4LE23r&Zpb>c2kMuBIUsW1i(T2gPVh~A;H1Hk=pa7#vX^W ztsL_Fs&iI*#=Re>z8y_Ybt%O8bZ1`~l~DQYi5Kdt=cGJ1V88WSxSOz?cKcpM* zJPv0$IWW8T(FaFF=B2s~OWI8#rUYp>l}Ij99vnab9Q1(a<`5q6Y#h=Ic-b>E%f}cT zlK1``=f6T`^PXCEaq8Q!q}>!^3XsaEL~@bx-~a;PfMGBH1Sbb$EKA)i%zUbhg7fjE zKsLtxGYt&MasL<}1E+9X+B}o`K5#kbrx53TC;G~$gvuX`-l4Brm-4`X904%s9Dx&q zG385*Ax)0JqcGY^p}t>nPT`uWhYqx^TqBX}2y~LtY6@}QM`ctZsYrQHfc>DLXU9$o z#*{BL1p}4zg#yfuJql+yDR2sR)vi-_tsh<~G0hK9kXBQO^S&G(DV0bnQXUjwKPc$g zv6F%^weN?n1)?6r|M@;=GT_s6^K{<;}V}jaCZEqA3h}}w*Go34GU0^Rwsn~DK(W{<|~m@ zq&z6Veo!bVa3ToIjxE+3h(gwT!2-h93LV1!hyDjazy!m`lfm)2345M6>D%O9Af9*6 ztB(S2SHr-?3M0>xf+a?Ld ztyA(n=jk0FS>@xc99VT$kw^E_G%E)_q!8~1>a(KgvH1sMi7VBqoLpF*^56gh;Goa{ zcXKdKw0CeYXoWcFJs?@-=UO?i>Z~H?cQnn)fe$IfNuZo0Qh5TdCjft-7Hl z-4x<^9aKgoo%{jrUvI_qq2W>2DRFkdmUFEw-Eg{dN-$a3Xur~$RiBP8 zGp<}1Q^&2nCiS`2(ryazypCMoZYrU2a*^`j00Q8k&na+iq(yXx!hhbp6=y)aP1DyD7x;I{5yngv!Z9%7X(4fP+4##LdBoJslhjS|JX| zQhNSiztZ|^zg>JevdK@mi(~5DO^>HO*IL?5As%i*WmF=$NO^Do0dUagl(;z<(Wirh zK`X>T&)Tv!+OM=`)n}gfMRebNF*UaDiqz*?OS>t=bF8C&yPy&(Cl@IX4j=#y`dn)_ z2P6J;a4={|4&J%eUNXbH(mEN({Kc>O=|68fbnXK&b-};er#{zO+D)PT{{3%MMkSJq zlm`b800(`pwVQ(xi8?qKv_c%Py6bT;@3ancm~uk*JL@lrslg{^mUvgW(X_z$E$yZd z&#~^{L!}bQMaqK%2!Mk=*V@fN@8nJwwwt%9gg9XTp2xv{srB)G)wiA5cG;|@h;OH5 zexCB)J83tCc;6S5QHkUt<-q|2z(L>l=Hy`B+~x2GgI0(G_B?nT%uB74{_vaMPcGT| zVY^)q#ng-!_ou$^P1;Q%-g8A|R3f=Zd2j#$aM1C+n}ZRtrsiPM3USaGjjVF>R_iba z=I5EOr)hz9A?>CRFTs*Yf5}D4g98YFgO2ar9E^z7!NH&v;-GUHS>-dV@jXMEr}7^- zxp03haUaIV{&}eZ4r|v=7?b~HEO9O>g?K2Mj1Q=s@urjq0mM;=@^u{LT=9<&1cCm+ zvOms@Iwc1$j`CK$FST-D)eDDw`BJ;DVu|}OXj*`Sw3|Xa6ivnlRL*!)%7X(4fP;>s z+#HO^!1o6mhct1N$Kety2Uh)-i64$?a3Ger4}+!!I7quG#Pi)`d_d)lH>Er{fB-n? zILghzhzuMY3|b+7Kpf?9xY){pRlji86>Gl&2Zls6ExipJ@didSmK^H>p8}KMjdm}U3;)A(Z3{sLOksEu8uW- zUVB?o36=BQV<`{6#5uyn?gM7_pzQ=OltPmq!KFUxyMo-96$gZ^f|^(4(7?csrxCDR)~Y%znQhs zey=sF{=;#ZLy!3)new7(0S?k`3h}UCnfIb{o_j3i!2txoL7!vn<`CYdWbp@+R)~Y% z!I`zuey=sF&QOb?7flOrkakmu!JmxZsGRvkDGv@H01i4o=;mN#yi)r^y8NKmF6{SO zSJW)Htjo^iItGuV;gLH54!R>l-kA^io9EJ08hzG}J3o#k4hy7mo=w5>lm`KvLV>)s zKEKDAx3-+$V_CQl0Kis6qQgp;j%pC!2txoL7(sC<`6#L%jORTtq=$O)kD@s`@PnzI;+UgfTmeF z@F9hGFOG~4sGM9_p7P)T0^p$UgK%>&wlO*U!Jrl5pie!>+F0Eh-?QqhBI5>{X63+# z6ym)&GCrVk!ex2Ng98YFgN~!z9KxHvZ2n--3UScq9%OB-X63-Dvxh@b$_ba{DGv@H01i5ia&j;u1BX8tv_c%>>)soyS~;-ltRmwEnr7v|hZN$yI5Iw< za>8YK%7X(4fP;>s+#JGjl*J!RS|JYcb?=Q;tQ=T%R*@kQO|x>~LkjU;92r+pIpMNA z<-q|2z(L1RZVur%%ErN<72@Endt}z(KIUuKBN%u3zB&+Dkof)r#v`- z066IUpqqn{@k-q;(&Y!EwX+)I{Qqi^%(@xX>^Xox&;QqN=|B8GXb%mn?V;1&<$2q0 zh$#;7Jld2YPoO=>c!)xb3#N_ev*UrAVv0(roae?$dCad6KcQ9V_{llHvYc~onP-}} z0)+YnFCPXDhgvzX>Kx*kDxqls4$^K4F)on#7AhwfDGv@H01i5Sa&s^u0>59daYz$C zc_%6S!Or{NXusc^OHtonHLTs&*J0~jrOYKM&vPyw@<^|(vto(Eo+-pbkEx7GxQYL* z-E;L}*-{?sTA1(Q?dbWQb6v}FUaMt)kU2Y+{^^}_k9E$C_WQkAbvCIjM=eZ!p0l)@ zLTrb$n@XshT%tneTZV?DuvVuI94r1({)rQSG@XPpailzlP zNV_S-d~l(^se($VoLrPS3FlR6h4hF3dhxk5-jrRM!xwVa{U2grP zX#oz>ZVE9UOl4Fexk!0%00D5&^F22QV+NC&gGnpIA-)e{V`FPPbA<28OzrX*Vjedf z;Bd|Gl9sb}#1dx_Q;7NC$6A+_|8-_8ahU{_|8-9Xeb%v*2LYU3ig-q!UF?o$jFa4b z4z_qE&Ak|2T-V6TfmLVTnD;=?v;YTbH-(sNm+=9W6Rwm82M_=Uoi}%LFfzdo4hAjh z4_@Bf{b5g9l*7_>qh;`<;r z9%kjhs&gvBkcg%QI7quG#L1D252&1Qr93!*066HpxtoI#88|o?v?K>FZ=O@T@-dN` znGGXZ&8ju5TBk~t%!XzbAggg^lZ+!OHTw^r{Qha)p9BH~&`Y+m_72w`vAp+_+mfrS z94()?VZhWE)`}DVwMwkA@*#g$+%&1@^nzYWj*3*yW5ijW^5_?E@;9=B`s8nCcF=P2 zw&jH1l>wBJkGW*2Ej&Ft!R{?osX+<3J0J<~<$ij0cr!h!e9LVU>I+$A8RA1Y@f zVtLB{KlaW8%!(pw*pq-E2T>3d0R>bLnLHSv$r%I_ab`qt1qq6PSx3yctU2RnSar== zF`$C337H|Nn3iM&17bkYb@e~px8HlKPuH#S|Nehj*T>oC+wbYUbq;mjK9x>Y*Aagg zPZxg=W{GZpH{M|Qo-O`vwu+d)%V}AESD?L>10O(a{bu2Ui{6sckxgz6l9_OkZ-m21 zZTrqU@XhhbTYeGZ7GV4xB`Cjp^6cOiVJ$D7F1G>;jo?;b=d8eTE3jp@T+^+<`Df2w z-p-mm?@PYM3n%>J!X`TG+uXH()!FlOyVdO)WeDr?($3}mi}k_#cenHS`?t088deGZ zSJ2M~Uie@8U*f^`Jm<{^eVx~JWoqPFv|+!ZmM0GK8jtMNw)*Em(VRWBM1JJ?`r~_i z`rzzA-nBnovG|qM<2{t1{LW`LOzZHkK_2Ci7vDYdLw|qoh{j$)H)l&Oil6_twB#bk z`Tv6OJcvEdIaQ~Mv|vn&v}6kLBhL>n-qvoxrvp9RQc(^U$|Elvgn)36_FUk;1Ji7y z>3cMjR;))0&x6?WoKtnGNauuURu24#(4=!VKQ*yppr?B{lmnOY$O{J{ARK}o&Fv5I z%aCmTV0;Z7;}D()>16HMsXA38rw^uCIq)MwhvjG9lecDox8?Ej>mGY&d@?Z*%7IIH z%b1 z?~P9;20}S-DUZBx5CXy>$Z_Q6U}Wuaa4=}aIE3dxI#@YSb*ji@9Mh~E_z@vy?0QCz za^O-PdEp=gghPbyu67C6a9RQ z;}%rrmpJoMCXQo7zSpwkV=Okl+R*PKUuK|^mvXs1kM)=~S+k#eIhAwo$~yV`oV{e2 zx9eBezj?vX;ZY9c%v<&R9lM`5cz7}|1wtt6Rl0kx$DSYN%{jl>(jLnvB$a7-A#lum zKL^>Q$Gm)ZUW(%QxfDxYielpwPmF`~*OGH@xjm2dWjCza?}`^vx!9gOt?QR37Z39= zCDJ~z1G~v7h7ihT-hRn|_ezI(nv0ef4njaUOx#eJ@6J6~YS0QRgSJ}>q3p@M@A&G6 z`-gg(iS-=oUN{H=;ZR>H&!|P!SVfnzU*uH9PD|mKYP4k^{NLZc%)kD^Yp4yHvcfl!;}aI zZMPOe8S7llMav5ZAs`%N^_$<_&B0jFrsrVNinR;b*YY{o^I9KUYg(U@`zCm|hyL)$ zs-x6%L@k~ARL1AznepR{cmX(HLd@B4kgxclN4N-MCvX~ ziEyA0u&@gul(Ej$T(rD!5CXy>SpT~@7%N(bKNz&MKNQIN-{(+l<-pXJE{^uV)HuR{ zLiB^$?@_jW-FvG)yl`-GUX3y>FY{{Y9}=x2ztlOeHa$M%V4GLh&_DR|>LMoxOrkwt zN`wQ2fTjH&4#d59Mwylu4$?m)T1UP+-@EDY={cCRv_Ira|KM{dbaKEX+5@IUI8X>! z+V8QOxEIeT)AGVW`iDg8DCp+)2gBnX9E{#nbMWJXJ_lL*TISVM6_aS%m=fVYAzEgyxAw3v zhrK_+yCgK}=5dhlO%|*)#2O%IFrsaBh?s;vAaYE7I503MkdEva)%-)>haNGUI&z!Jkg7<1@(iQuD zd{t%H2oF;t9JJk92xSl5v&*%+RE+R67cDOwgn)3ET2Ptip4S$~Z*8~vgF!3i58=Gl z%-@{iaLQ{f=C)du;_&{BT|PYbjo}`qL^x=>7l-f=LfM!_r)(d!X1J%hXnElv1cbw} zWlQqAIom~X{5+?HgGozs$d_@;Zx?0;=M)D*c$h@!4^tu>D1_atTM$AS!9~qQ%L@k~ zARHu0n4jn7U_}1Xw+oY2j6*oD9qb&xY09*RvD?ab?r@+QFDOLkq5YomdT4{!pPT*p z2#;r!X?YpHrGH4Yjy(6g*3v&%#&5GX)g1i(!Jo&F#W@-uq^g)id%%>4KTrr*+V4>| ze(Vjo*H27wK$(^o4$?m)T1TFHUTb=M`uUtmE5;$5*V^+rQ*}(DJzz?N1BHO4{T^l4 zoORT?C*L0K@r*JpFC3(QNVJZ8_q^8h`1Bl1TAG93KluJIz}YS^iKdMy5e^grmhKO* zd+RCXyS*_y#Q|knUN}hqARL1J!8xxrcLp3BjNUZHLHY-uLw_d+Ok&>vQz9HF1T4Kj z0EgBCs&Cr#_hCtYK$(^o4njaU1p6p%4#v)agM-nV#yH46iqD~+lLIEPZ-6Ng4io~G z-XDO&#*e-p@cjWP4k**|!a)cKhhQJY&B53iaBwha#W=`5iqE01lLIEPZ-6Ng4io~G z-XDO&J9q5+-7gOgP5J}Mw7hT-0>UBKM{#p7b_N_A3|cV`vXA0(=;P#oN$eY7N`wQ2 zfTi~b;BflO-z~`Ml;VIgEiW8|fN%)*QQRDiodE|2gI0`#?4$S`dOJB_68i?265&80 zVCnqwhy7 zPikJ#ThDA8QByl@Z#!XentadI#tkfC4NIMfiY&6oB`HlFCbmMi)>a`@08pQPW<(RL$5 z+!AFd(Ok5=a1a8*A=uAxb1)*1={cCRV*ViWTA#ysYd^J9=(-#^oPPSY^!qv5ZiI+i zq6{UPibyo_6?pW}~Pr{3@7xz{+O+A4k**|!a)cKhm+r_ z%*%6*-zCOb^z`GmNlW`fUbxN~{i`?}lGp3CpDr8eVM>I9w)^xD9zt+vfAr*KS6z|f zfHEyF9E5;yI4NgIUcQ?{{N%pHA52;?4&gfINGAtg)gf1Ix~cxKkshW*IB2`I5FD0| zAJufx@DvA>X?fuw1cbw!ZW(z6ZVtv5tLgor#Gn=95Ug{WFF!&!6vxhsQFTnZy#L#G zch4Q^VM>xiZ7E41U}4uIQ$LwIvgb%|>a@E)S+;$GhZ285G3dp(gzKKeo&JGI>?>hPl1nWyl0w+6_mAMPW#B*8fBpAEJf2ae z<%NR~5Dv1-lvm{DVC)<@I2g2I9Kv8Xdg@X_f z4#7T~n}e})`3s=1*911e_`|F!6rN5vHNOH&#qbN+f(EWv0 zqRWfL(jUnFLC_yK_YX=84-f6O?4y*_&>#5wC?l=!AJ^1d!I+k`+wTvwU0Mibv=eQ& zmKP2}KsW^bft!Qj;SLT4t=Rkb&y)K5|9{;7AGFKg#D9rjPPh8yzb?Ff{`5=6dqFMb zqjI_&y3~kYQivaUrr&AN>7qU#%Dwj}K{Y(d<2RzlxQwmUN{H=;ShY!>E;lRi`o3apcUgF^EscxWGjc=LJnNI!PRV- z7U7`nMu?j_P=*rCMav5ZAs`%rn`@jL%sV<9{$S9Gagg<$&ta0416No6ZR5W#_MVV@ zZ*%&k|BmwFQ@-f2^pWw&?;;Um9~@;Up}aR=2a{HegT%#r4il{$>VzB~Km5L;;Y-GQ)lb}z{yR!-H$v=#qYNdQieiL%zoXQ4Bg8&<;}9xJG#4!|9E5;y z2=@Qo9E=@p2M2>zj6>K@R#-Vub+&@p8pgCpKdJ3Th(iN>qU}bAz{kJB`|ePJa=2)D;UENrLl6jYbBG5* zYy-IQ`HXI-ejvo>U{B~w)mekECc(5wf2Hk4h=b3(f0UpcE?QnV2m#>`9Qbx~Fpe;% z_XqQMe2hbIFeZEXT>9@$z_H}vFqjQcwX^TbPt!LqMe>WG7M3%`Sy1BS?bF}xva%$p_T7jXv) z@gvWiYuE09a(s*O$R`?vzzE#IIeeKb+K_{77&jV^%^mz=3$imZ1r&B}ov5#n6CUe}@=xRgg;I0ymZ z5Ul^*9E=sMgM&dU#=)Q73WwvZ9H=@~WMzVBRu24#5X%?6yg@l|DUZBx5CXy>SpT~@ z#Ml3}e$t>7;~?w*Apc*3%GSkB~S&?#-FX{jOIYA2XBhM^b^|BV_-;a8Es(+4<=c!+R863() z9(~dt(Pe&O_ zh!Y<_c3E(_g_f7;w46H-8o{{(=XBa!K!zMF%L?<9hVB>g{O?e5Gk)JU-pjeSGp*;| zT7;o%T=$K4?hekq;j+p1?4Nt15RC+3gz#^Kb$NNO;@|RK1OIlvSK}m?c(Q@7Ob8eE}*X-T_%|JHUOL`)22DA8QByl@Z#!XXH6xjDqoz1jTRpcV7) zF#dnKlLJkVCW&bg4%%*n=oECj)?Bo_a1a8*Avg!?=3ty0a`=NmE5^Z(|I5pKMgH%< z{%>BbszhGvoa~&)^1oi_*MWs{ZZ5ml^0ya$I?CJJ{lPZ3cRMutT?~czk>|^AS#-^+ z&qjGDLkaEsyCnnoFhM^iV_Wm^2qxjgn)pMa7d|}gAw9L zKaiWWVjO}4W7$mgeApFXlIkEGq|&u29A6TU?p`doc=OH_v_&;^LV4tcgAfo7!S`Zr4#pQy z={cCRVjL22v8oI!2dYjLS(;#)wR_-4gjm0z3?)3nh4RP?2O%IFWLB70;O1b=^c)-v zS}_iOT&!W%@{C3qOET)b-RQ@L-!|A%e^b5p>;5BmP3_gSmgiJwzmoZq{P-LGo0nD9 z+<1=%?=j$zjO>q_WMuR?wBoahQ_H+x{J-bQyoxcOZuqQ0E3d^z^ZMLBxlMH3rw~8# z-1pK8uid>-EARR?uTPvW%20yxTkrg&@t{dA7G^8Dc1*-utJzO#4rmd<1D z6ACCnIaDZ*yigGPg+kps?@nbYBtcDKvKKJ1tvPwDHb8?}aBn9GntD z8Lj^5dv9uflPE`-mY2;>=?mqXwxBO`f72Fx1=6)!m$se4UcmBcUk!a>k+g)yRtgxh zw#PY{8I|SUSEm*1{Buq#4?`mqs>4EW_1dd-vvF-aErc>qYOA%p*e?_s?&0@{C3(fC zbvkMCiL*N$(AF^U#F=wuAM5{5F$$$Y_ZV=QF>_W>s0Iqf(h}-eTf%PV54|y4URT3r zw|B22uXXan2`9#RBNQlKaGhL+&_KqIRU9P-wlYyU?KSQozDg_lhBHr~H;vPDF!*Y8{lq3q^5 z^N+dU;hkeGMaw7JfcQW#9y)y>J|0?pz;KjUe<0&wu~2AerEqN1H|`iEuL&o{0Gf1! z0)_B&Z8gf673ls!%Zm?48xR%&1!sQ{r(p4g8YuX_(7;Ne{wEi$pKSQTj_yL?>(HR=e@x%np;kQ)Ln0Kk)mjK;yDeYW>+-twJWWN*3k9)XDAYRB zD=BnRFgA44Q!r4)D9G-&PobWb!iQhg-J_L3VbfLnfB4GiObE{Ussu%^CEBgIHu9X6YydS>SjyLb~ z?rWpJ>WQHd3i{n^A(VkqTdn2AexV?~5KwUXLY#u7U#NjXal_0KS^sy-Xz)w@?e(_S z-ITkb&fB%$t@Vb#_Rr|nXnWR@%qKE3vi-GH@Ha2JY7c{2&*Ti7N$;UUA6!$bcDZ-Q zW34}VZ9+RQE4$kTBj@iKU1w0}up9d}Jno`By%WzE-FAie20|#yzwExUYs=at*A*z! z@-nw>a;ksKuF)MC#qM)<#(B!ncPz*3@~o#%6AO)E|Cn8)S{Y}9Yu$h{|Gj-pE8N zj!bxM91L2zH!Jq=+WEKp{}+c|KMX9po8hT3#rK{X!v__d6*VliBnX z3{){+kkwD2tbkjG6r!;pD#`@K84IEivlzYNMHxzXCibJ{g@TOiLZQUnE!5Z{q=E!7 z>x2Fvr>d3V1F7+0=Xd^c!n-G@;^K7u-*?%+{p!*#(eVLm_>t#i|NnFMZCy?&^H75F zLy!CO^0Q02B>PF^B@))6%8!J}C{bMGj0nrMaQ+8fW`|(e4$rfm^9aX>#5vEZU9B9> z3agGubp4nXX$utMN1o~b4?bYSsFQ^QN>C0L$|Elvgn)1e#z{8^qvsDBgN=hhOZ!8y z9~qT#vZa*+Ri}y!d6;J9z>f$qE`B%g$@>=z2b7>3E|f=JI0ymZ5R8*<4#o{J4h{yb z7>Dq9L<=his!kP|nqr!j13x0f{PdnjM(p#Wa6k#l;X--jg@X_f4l;`^b{~&0r=|`L z2CW!}@OZ>728Yxu0YQFCg@TmZ|g82Aw(CIouB5anQ@Jo17;00@R)+T_Gw%mvb8 zFj#44@TX1w;_jRO$SUSP_m4_{*w%RQsqv9_!4d#hrKv_Y#{F`T#Y57D? zD6@m0A8^i*Ed79G!fdWC^s6uS^9TKQ^8ZyGWPKmsESz^izmrn)l^aL*c<80^dEUv{ zt4jKum~Wr2@FTn%K5=pNH4}WHi4z_dWhg=UY0s|jG-+0Ta=wDRG{imH`u)-FLof$$yWsol4x7}~+o_=Xrb^*}5|qP*^2iGZAs`%fy|uE~eLg4eSDnu>X~j4s zzFVuZ=e4HlRFNq+rdc`gBSOr}^}HSBaG^Z%!a)cK2bs+m7di(hbB6Bl2ZL6OL*l!& zDtlh*+%-Sl`_4|~-eFJ8yKLi>a_@r0f1Tdzh+f|5Pt2*D_Cc>`|3IN<59~aD;f7w` zPP+^|>9#+mgiuy;LW4ouM)&fX-0}J?+nbjsm1%kDsSldw?`IxxZAM{{GiF^7AE_;y zSp|-vx=_|La&K*wJ+C#Uu*LF3ubwZpJG_^NsS$s8ISg$-xBs18E??iv(?Tc%rnXzl z3jyIEQR{$%Giq(&U&7V=3vAx!ggWfV0evg7lpE}^Et>JzLq@3J$hVq zc<{B|L8 z84HIo9rk*?_2_c1cIXc!lb>Ds`sbzISxqxHZp=9#+CRJ#wu`X~S8dM7Iv^&5vQg`D=fFbKl*)BKQ7gemq}{#UJuZgW)xZifDf*3U)Yi zs_c2K`+s)d+GY*PlU2rq9;2sx|46RlpzYFjqwK;P_p2KHO{v%YsuqVlFUnD-<;5R_ zgU|>#IQ_xG!Qu}!aq#^i-|7#GMl3ySdi`<_lbSUg@Z9O|mUx&FX%`d%)|l&;w^?dQWm>S_gAsWwHVLL$xWpL4UYx#sHNV^C)IQvNp2V1+SfrH;qcC&KW-0_6J zbf{DA{rvf+{@)KT_h!8R?v%?4x+JHB5e^hOdH79l{jIF4_wCmwujpe4p^VAcXUp>{ z&JyL!qqMyEgUq9ZMlg?ZwhPNV%Hj{^tW*0#vGfmqyV&2#fvr4DI{$(1il^u9>tRZS z1BHO~Qj5-8|7TdahY-q$e`+pTUN{H=;Sj`y-5iWaXZm(w(u#2i+eKF^hrYWu9+NAk ztPEZJivxSCn)^K7DlwIC?;qbfK_4D@l_LXy&v?)(2 z)AG_j2lepB?*UW10(ai~LSrSDzI`SRY9)4ev|koTT*~jK?0KzOic)1vSor*<6ZXAN zai9>8wB0BxSpCwoZ?*52jQ^la%gc&aI0%h^gEKy7;b4i+)x^O+-(b&cP1P~!qlp*q zKkk~o9;QV4DGC8==e@uG=(5)39zrO)=Af&mpLuQHBnOmfdEp=gghRh8D+}D`Z3>MY zy3ikN91O3C`9tDft15e5YpRY(uhpukTf1Rj4^tu>D1_Y)ExKiCt5)S6LMYp7-gn2h zX_VrCGA%D0gn)49^W2g`_xXmx__$@`V9?SW3WF04IaU3w;}%uNq>n#%^|QO?_3y8_-deJ$3lKy})EiW8|fN<#bSw^8d?_Hs>L+9`ZgI0`# z#7X^jVb5z#)iG(e){{5&-`?B9ln4h3VfUh2-ud$}Ey_KFPO9lxcb4 zAOwViw~JTk&U;sA?9e$l7_?#>{8J9X!JgNeseel~khJ+C!YZ!+lSV+MDW_0ECi^RFK~ zz&k8I^Papl1ETW>3Xuon*r)FM=-|ClLMVH?YQd*J3>lE*fHEyF93&rva0v22I5`v< zUvj5!7e&_Z-V^6O{Cp5ThhElx^6yhOJ#g@esr@8gHLe`-2khiWo_XI-G#}Oe3sHs= zl+%tVkG#aqrClVvqR1ULx3mk}eo_tbAphKlXXQZEsiL!8PzbwurX37;u*W@@&o1*& zf^xV}9(my)?Ls&N?ZUZ#U|Ij$IMmQCd=5RW9QOTY%gm*7QvNV!*}2u{-B{?&T(Y>+ zPLCEv+XZ&;BhTIMe|pf_|5NB4+^^lJA#-IvDO7^;n=kpQOWj9`lI;X};jq_DzCW~I z<`ucmedHS+AGQk{2W!5VM7t;o&VA%m^{{fF>X>x!h^B}Ca6y5GY1VeZj|dI>zUw(3 zUs&K(d~w^g%Y_3sr^K)2XpSs>?)rJbhE8h|M=g2KLn(I9BOS3EP+1>LtTUvNCgyW z4;1>#xF%0c&F`NKRv?5j*5jxB?bfxYwk`KirsZYEAQ^)s?jWn~0{17Q=1Mwj50?0- znO#V?hXOet=*Jy~SUJ#CsWK*P_{)rbb4&V1#|a8ym$n;a#2I)-nUII%6ndKbdtDG=$})c_~5oPuIQVLk45~Gc#2K%(#6c|aS~F@C^G_MK{C$igto})8f+}MI zA)g2b3K2xqcB70qiH`qhdGSn%2MLXUgEM|_;b3d0HN=Dbc6zv#!;8C&T-I)O${)O( zGd|g?ZeI@`5f0jEc)tjt?9ij`J^vX|qB&{#1Of4fARgrQ2P47}_E$E4s39KY`@>;Y z4uoi^GA8g!BOE9MByBg!h!<)9(DLFB;t4_{;NbR$I0u_Q)WE^_2YWv6i|$y|cKitv z;tTtSZzooadHKvf9y}r(^!wLBD69R#(v6j8_3<<(EuSDD{t(2)-2PxhdK~^>(9-=w zp~S^}e~^6MmU9q;G(C?qG_z^-`gMGg^_MmOOJ)&8O7#UI2Ighs%@?GJGd zHh-vrgYOR`tQ;n-_%^%8w3I)r&6&CNUsHN}@Q85G?|*sNsUU>1=7-+VbL-UJp5~`m?MB(4 z4KFlXJH5B3{X@%(KZqv?jevvOAL1Nr{!jx4-yeoqIdIgGSIZGectki*i1)A0MWT#D zn3|K8PY@7)kkgcf?(<^i2}y@P7_?&k;GY+3n6r0AgRGVr*=_5ztlgwmZdS`^6d=1x z*8Z7!8OiVee?KeUKP+((koGa&+CEsSvL!(NV73Ax?Sn#WHk|gs$R~!kFZU2a*#j33 zoBj0C{>k_#%Cx+!gJlOndW#^RvU43=6pxQt*1_g(gKi%Ma!$zKM;LA8z!K=aa0p;Y zNvI>jfkI~<^}ywAGHONyxHz?G5-CL zWn45{MeIGxc`$!m9Bbu3Q>Dt7K+}zIpb(I>-6$j8#WTvZytI31@j@fu;B5D1WGnP{ zTe~-U2OEdNvu9V0vF3-MX?`EJdz$o3KU~)RwkAd#(9aJ+VLAnbD6HGHE}wYw($0gp zpSztKE!fe{4KIn=E%DD{skGep^WXO;erwNj{^{clt5@w`?yU~r*V&J~a?0i(26;P; zoin=g1%sn;Tl(eAb?*JV!MTHDLMXfQ*$vY={A-Z+!8>=Kb4|W{WDzRU^5U^$p77Vb zM}C-*-`&}Mi;Nx2@cr4^uVcSAU*dy)`?cpe|5L4LeMZq|DU zp^S4gnv0ef4njaU$my7Z0yhU^N87={pcUgF>wlj^nUw=m?UiBw@br1laM<|NlR$dQgl{-uP@WKPCczu~*ICzJl_aPq4mb-W0bk@zoJuVMSiEzM={tu4;Pf)n}ZRgb~Jm()`oxeqt9Wc)gP!j9TOcDrbRetyAk648{ONX94=a3 zI0ymZ5L{*B=3oS=9UKf=vF=YoR6d7kRu0X>9*bA^M)3*hKk3tcju7t~Whl|zp_Z5K zPddJYR}>e!yFcSiJG#Fb+C`pRd^joO5WV0uHK?k0}-!`3gx zzO-Em@gqW~h4}(dhLWrh^5*3ug4>d{yl{|<4~0WXi4#KP#y?x{AGm?_1NahY4SC`P z$2q+K$DKU={qxSdzeBQvi&(GUIzo7R>(E-1Xs^)nV!iYVi8fK}24G&<r}#o&;d8`cduFs++#-br6A7~RgpvQHB!DMav5ZAs`%rxuKIod~RrK z6-E~ta|f9l=E+5O#~K(?7v0qfF`RPhLH%1xd+*g}TKcRgjR&7K^%a={lQIP%azmgD zC1CId9}{Fz(ei>puDBBn!Ogf%4DoA1EEpWOg!p-~d=z0_Mhqu~#2HufYFG;e167QIL_&NDldTjO$r!;H z(X99X@7n0Q4Ic?Aeng026J;oA5>mP1>BEBr6Ixy<$o>C9A-MnFNg;m!zlA~#_y6ZL zY*0_u|9{V@pH=tA+^_3=TKoN4@82Gdr}{R! z8xqygO>voLq>JwpCJf|9gt-4&w_23b7ixKVhtjvn1UTs1oD*Q9!KR=8*3h@*3k5TC zeTo7VCw(8?6oy48XsZ$8s&L(EQ4U%yFBHUnp%CHVfxA_!KwYF+1 zzI^dn>t2;BY3ZggEJ8tBjnEm{`;TZ;*3{E|9m+wg<%NRSFBF2l%}F8Nw^`Q42C5hZ z>Dzn?r&uY_-H@`5Zi=KV5ehoHA41%PuKPNa(-&%ap&)&mPzd@qCxv+5W}#3+-FEO3(H z1F0KsKe?jbg}3Zi=J9dbF5{|?etBko@?*V-_468l*2{K3kM+}9DBJH`Khu9&>#v#f8qWYibWcA1&_{{Phu-*$O$LJzOs+PSw+ncXvbK8SN_{K)f+ zDebzHl=tv1nf_i`^W)1rl%Rak%||a>HLGXxd@J(uev5WpBB$F5`ehWlzk4q*vigN@ z+49|cfiZp5Z@Ez7K>j@lXIeQ>bxgYHwM%Z8H}GH&(<0tZA%5h!a$D6G+Xo%&9sl7O zOTQEjC_y<~D382w5CXy>?|84s{oQ+kG3#@1FlcEGMgDj1!r=@n2dYjL*WEm8|3L)@ zd6;J9z>f$GoBB%U2MQ1JdR;K{gy&8u^H73vxKJK>;UENr!~Qo^7P;@6FEHkR4h{yb z7zddZ$X&4+8I3b8%!r=)=iC46o3pOXyi|VvxBtz{skZ0oSsiX#d_K0-4~1>Zylq$C zJN%dkjp^Z`3?;;*FRJZ%dZ_xm<32C=tX-K`)%d|aV|pFzVOqp5wcQ8} z|7GR$wtWxwnuSp)l%O0gT3$E^0pSp|Pd5j{<3hi*aj2nv`W#wV+h@bD>PP&vcBlD! zmU)FQbbY^1mxDY^i*V3(BeZ4D7Ta6we~^bVlxQwmUN{H=;SjV>H-~upv~e(K+1jVi zVHYQdamzAmH+zv7hs0{Oy1CUKs5(Oqet>Ba4%%*n7^n36Mmcb`e4=L%4nezc zb1>d?*gx1f)X*+u)?U4nl>=2Te)q*K=gcbeaB)nFaL{%mbWz^31vzaF^mIExIdHXn zqGu2eLA!8sh_?$H2ZL739}=tC>Sk6BRGllyxbGg*A{?~c2yu_udq?ei-+3L&lK0%B z9JpFO(K84Kx$Uf|z{$b9+0Wq*2CW!}#A>#>sg(m&=Sni}H^;OH2W>Y(++%jzyYF@R zuv1y`l5~^Pb|b|7 zZnsS?*w}TSvgAGZC!taDMj}i<4K^ML1}?5jvu4QG;_{DfWt=TXXI)`=*p=E?QnV2m#^H@x&!X#cmG9 ziFOAEgI0_~;*eZ*BP$20&J}eF51+8)vj>ViOp9>Pb|b{Sc2ABS_V5f0jJ zgt*sE?*gD4E?QnV2m#>`-2dn1V4P@oa4=}a{2_5xy1KrVL;Y|nOxONg&+JeAR4@#6 z5e|ABM2PVKWhl|}Y%MSIYMD6*jbPk#&a2IlAmm`1SJyCZN^X$f%=&+C>-+fbti!r| zm0RWw8(7xkqse8-dwZ<+7;Snhx7CbEWyyQZ5#o}Y?wju~T30`%1m)a&q~+yJ$UR2l zm%%+oPQSF=?`@gSnYUkQzx40-_SUARZNiDXVjwoZJgj`(avygSHzXk_Fz~?~EC3c1bBgIdHYSa1a8*A-J!_$-#18 zi>-e!XvH{$^ZPxm96sB;=)!R=%e*B^r%o)MUgnXy&6@A+yM3|`?KrK><41(v5A(a- z{pop|PHmM^f^zZ!YI)%x`QC&>knhdS!8pN_-XF{?fiVu@ytciS166;h_^(4sXUM+J z4I{3b)64TPE#eQ_ZiI&2I{46U`gq>#`djLqxm!vJ%7Lrpg@X_f4#it43*GbDL;$p= zd2N9~E5;$5*S52Apz3Tv5iiHI2nTI9LhM`VxH!sztL24*5D*R$JufVE`-8D#?`h=@Bl7_?&k5YB7& zu=)eXZ|TzRC|HpGo-^J5BSb&gBAg_n1m!O_xhA+wPs_`^R>ljV5sVkkd2ON51BM(d z^I9`|MvQ}u7k=Eljgj39=cOP8DyBvJLEDWGgA5=4pakV`(elDU2ndH@yl`@` zj2AWz2CWze883VeyIVQ1^+nfy%tPbT=Zn>LBgA-sGL&d8T3$E^0pSqji*<7_&b_Ah z2a{HegT#Y;4!c=7u=PdPet6e5>GQ>EyAfhMKp9Fj7cDOwgn)1e#!WW|VY(j0e1bl%O0gT3$E^0pSpgn{E!qNZ{aL(28-8aWh!| zH|MdRf%#pG3ER zlmnOY$O{J{ARK~z(#;{>Pg>fANh`)d`bnRIJ+C!Yr;2oWm}cd`j|h2t8>wWjJ+k^K`)vvS}^gvf)c_eoF=T*@Oa9E5;y zklmC5_c>>Cha`Qws3}j1&tX4n|3KBLBKs$pX63+-2$2U>?~|Y$xRgg;I0ymZ5bP(p z{ULs;-{udFQ~myalFy-wl>=3$itL|Ynw0}TB19fky-$L2;8GrW;UENrL$IIZ=3wlQ zIQ+q&rQ3y{7sKb!*~)>cQ$_YqFwM$=9}yxytllR)v3%;@dueG-%dm-5I92O%IFg7~1DgAws^ za4=}aI7ocZ=dh2J15;s|GF!uRZ4nN--$RJ@ulJWx&OP5+Ugp)(PbPYa0{4}1mVVN< zzA#1=&7r`L7yI}BHw^Co*EjzM-vBJhdE$@!fBz++ga5D9l=e|-Z6AcNSQ7mB_yg(h z3DxT-gjh$Q3?;;k|9Q~t;1X6XFYQCtThcy)^_FwpX<2Vs+DA?6Er0!8V&y={ge3u? z6HJTr6WVTsSVy1?C7O$t7Y;%|I0Wl0HwR+{5%!lh4mGT|{I3IlWBCB9?fJgBa%je+ zuB)dVROVgNt@oEF7Z3A#mG0i_vFC?HzvsJSr8v+w<@9gH(^07HOB-4ulw=dEY2OIb5{7a1a8*Az1IZ zIT$0egF_ALJ)eU;zc-)oFa>G7A?x!!2r>CV8A>!4EiW8|fN%)bdu|TK3dX^~ zpk@jg(28-8^`6hc zp5L2K{B|1jbzav)ByPO_C+YJ+wC;HL>BkN$OXhb#h@=T9LkS%AD_9ofkI?c$K=MJz z_z>iSaF5%@7Y-o@%lJ@KLp}(9{&J9Y{_<@&K3x6d6^maPRp!kaw=I1>2yHh)BuzjW zN;DTOFC2t`aFA>W1@7tzG-)THj^YHctZN zw9IamwOeMJ|F28SKa~AJ;5SA730^O{^FgT}@JmA9-fCSoaPn zr)!}+@`?UXqM|`>;Ealzag4AxupvT*h05z+Vj!@9HX`%JFj z;75cWx@VVbcc~cRp$sLAhCi&S9Cq@i5uTQp_dG4vpAAhdsFX|Zl9@t`_yCzgisQFp zTV}^4#$JIQ{qn-o(*2zr&M(|_(MNK<;fSU^KRox1;U1<%W&zr6gvKm7W&5Z#!@Ylm zP*I|}XnElv1cbw}WlQqiv*Tjpyr;w84O*H*emFbsXXQZEX_7QiOp9>Pb|XYTpxZgh z;iBb*gAfo7()#oB-2Py+Xa@&_R*Zu`JCA~&!z3Wun}$kIKIFzG{oCCz zBzeyn^70NRO!W8n#x1DKFL91!iGXM1yBNzzR_wSJBR@P3V$bhQ)iH_GjhGhkXbSNo z&)e6%xB9~i2YY&bk8-$B9(my)1cZY`0rE?o9L$w{`Vrlv74zuuJjhUM%ckm7k&p(a zSvl|{LXAiEYFquYB-0FoDJVfXa4C_MJh-=iEZlt*4T2m#>`#6jE~jFr8EgF#Dk@Z%sphrw13 zRGlgk(!ew;2Yy88;lD&^uE{_8gfSxBPs| z6uP|s+jn=DLI@+o3~!dIWZBB%-?Jr3|cV`;dc-A z{LNII#UqPJOp9>Pb|b`!Rj)`<4i_yi9E5;ykacRF`@3dy?dfP2j&o{x!FLbMtNr}V z#j*W;x-y0k`i14=M>SnE+~^l;OTS1Ve&qRvmB+VTQ+K4N+dsM zzek@Ck$zLgt)Sm@j$4*~(=xv=siEKW$8UQ+XH3CF`Uy;p_y>jfk>@P~|GEC_zaQf1 z{s85`rabb(K?n$kpx< zGwgg(f^y(e9(my)1cXD-Z@M`cJ%NLRK`X`~{0_pN&zY)IMfwR$vvS}^gvM?w-?_tq z(r<>HFG^4j7s?|q9E5;y2>MMo2csu&a4=}aIE3ro@z!}QRi}z{ftY6Hz>f$GZSeYY zvp5BGHB4&`v6Jo3Up2ndHD!s+H<#O%`hgGozs@FSf5crnJxfvQtQf|ZzN<-m^! zZ9S!Yw>O5zcP>y4T*@Oa9E5;y2qK(r4)F-5#UIRgaEwE^?j3FAK(Ll7vRQ*^Ru24# zQ0oEJH*NZR{9Gi;flGPhg@X_f4#5tOn}cy8(%}yVtr&;!JBTB#9N4U)iW~*SG%E*w zL}=qjUk~{HfMK3KPl|HjQXYBXAOwU%aDLRyA%1?;<_`v~7zh75h{XE;qSW{Q@6=tD z`)Zw~wV$l@P|jW1w`5(Hd0ECq|Cd4N|4ngep!T#pFuLT1Rr_7hr`&sT?>oNw;r^i> zj3Y0ELcFy>caK{3P|uVQ%HFwS-|v2TaArcolW$Y&fd^lKjHL&;`ou@@o%fkNSMqSY~}Iwno3Q`)a-hoK&(L^x0gSRY^Y(*Dg4D)$gV z+37ETw;-!iiUZ2Dyl@Z#!lAq*BfrSa!MM6RY@jv{2CWzenb`Uq>}h$ZIwrB_fGH6U z6vFQB@|SdYw6xqq2xV+k@QgAoFC2t`aFFec{9-o;V~fJU!Jrl6AQM}k!wF7*z$Eq@ zFeSo)LfHM)AyW$eTvVRiz`<@dDtJbjmKP2}KsW>&I&Kce6{HRh2CWzenb`Uqj(2jv zB=#IICBlJ1!1~~wyU)2MzdU)s6T8`{;2C9FUN{H=;Sg--I60VG6b=pstr!QH*!mo1 zIyqnxdk&Zq;Xol^efoIA>Q(!fdkA4S8x=gGOv?)gAs`%r4IMWJV~Zj^2a{HegG_9F z4l|q_Fo`_}Oo?!y5O)8m*0eq)`;~hLVK*BUJflp@3kM+}9D)rUHwR;j!ok6yr8)Q; zIzET#P7avFo&%;tI8X??FI@lh8Gqlm+(QVv*{I+dWm;Z12m#>`Z0NW-7+Vw$4hF3l z2btLV9Hu!rV3Kn~heFuhxWUo0=I&kYA%xv*@bC;5EiW8|fN%&lble=`8#hQ+gpY9ly+EA)x1Wx%eDfCRUn>$P# z<#FL3N>E;T>D~`LeEX>6{1SPY;GcP{8&YFE}rvuuS z8n85mZsGcW3K$~ahf#AZn)PDu1@E>V=+#E(4B+tO90?7i}C2TAD*%xc)!Z${{1X%91KhYk1|9&)1CfFwM$=9}yaV zS?Q!%Z;$j)h7!$%^2iGZAs`%1ey1|eo$sy0_#)2X4+gCmhj9J>r(eaPtYF}4KV3G` z!!#=ge#EZ!M^9dM)fFR?{(utAh4RP?2O%IFPRd!5m+xHnmKa~erRQMMig5_n|HoK4 z@XDwnTOOEZ<-m^!u`hx$l<*7}$|Elvgn)36-ITlnHwR;f#KFO!730AA|Bw6s{x<=O ze~-+(oE2GCzr6`4*Bm_$esQz9HF1gzQTH(T0cXnFEvI(8F>TWkNrV(JCBlJ1z&f%`*6im7$nrn@?j5^{ zL-LF=EiW8|fN%)nwQdeZ1k%C5pcUf~PHXM?d#NfW5&6TE2nPybw+{EAjBp^&DAV%7 zK?n$kAYSX{5Rcc|+J!+Y#vz#2=2YAB_tIpW_dF*vqq5v0XvY2%9dwZonxlbWr)d}GtgfjXM%|*)#2O%IFf_~D?!D#vEIn>lo z`W#NT_761Kq)99PC-}GqQzGpmStx|{YUm#~he9Z$|Il2tyl@Z#!XfA<-5iXT@8Dq2 z(*EH0lRk&jtQ=^vm^5V5KEc%;m=fVYA?)TEA(YX7XfBjTUN{H=;SltbZVpDvcW^Lh z#W+Ym>2o;M%7LzKW%z1`=66hgFA8>Gw-!Pfovr4g<%NR~5Dq~<>E;mcCoTPh`JGpc zgY=U=hf}N^*xC43$YEiNv&Kxjcc_Oc5r5EjYax`e&7!$zdEp=gghQ~M`Y$rK6m>VPx4hF3l2iZ<4YM9ef?*Gfp$ZnFA8-Dq}vfe9om*hTC=fT=f)Os-I z&dfbBI?I3l`1@TGko9(swLP!|+P3zvFNaM`Ede;%7ikX^;vAq}H=vC3a6F?-%gg#o z&J9Yd2+j>U*H`9>A#4xE>VtTBV)|siXWl<=?Z+Lmog6TUr4gn?I8calfO_44-NajX zMwylu4njaU1nVm&2Xn>X;84T4!9sEN-`IVBEA084LHA)eZhg?BNBX!mg^s;seh}oR zzeWgU#AA6TPOatTy-3_z-b)a-cD@%&+}h@!MwDOo*LjIJ$cjcz|HPz?XMGeL)yI^G ze^Lm$c}57kiDUDOGRh+_9E5;y2;$am4)M6PjYAD_>%y~VuaJDsmhZ);OuOroWha+= zUxfZ}=l3@S-;1@#_~EqJ_hJ<0Jpap~5QVi8T|Qy4jMu?;565YCQ_r+d|Gk*DOADcl^ZnXxEiW8|fN%)DdvJ3wPVzfA)bPES z&!N7x9enck+{LY@q&U2D+q3Dv7t?lEhwmRDlySaabJ6m`K?n$k;JXJm2je8agM&dU z)*mG1^DF9EIWUyI7n=0fVaKHZUQFAqg;2)0uDNJ=;UENrL-5^$n}czZ-@(D472}YY z&#$O!<-kyiNrXHxCDJca2w3z72%(H|U31a$!a)cKhhYBV=3tD-4h{yb7zckoKdRr86at>^4^YN;P&}hd%L@nTHxs=^p8HsBiO~~; z{$b-#L%-?IZ)-a_U=m#(rbIYU2w1v5z;3>S;u&RHUN}g}Gw#Gs?8QaFBj8(QD+DxaUzuPvG!}8v4z`hB*Zp z4YKyj$nIRHW$mW5cFNkX(T@$kZLp>O$Mx3LU6Wg#U6@szS(^@WJwxH(rQL(`c3Oxof+Z)R91MW-Is7s969oy zr-g+!zP-=8uZ{kyrxrpPO+|aPmKXmPFK@UMU4bH(XS3)S`Kq$|glhyL#<#KLTyxc!G>vVF< zxmnBnpr&)P{yeEE7$WCpsVNrGjcZYxmiCBc>k{(9DWO>womRN9IniNGj9v(scKG$#1%yzs@KsaJJrj z<39KBty$V|fpu3WF;o@F?su_puxGbkxUBx(NA<5rRv8m6%6qmTr;XyE?b3FmtjFjn z-#?OjfcHVO8*`r(nCEC^6itlZ9`R0b=4`+t2 zdg;B-E`9y;QV$-HR;-;y3!!Y)k_Ucy^vhCDbJFq&0^$$*?(P*8y8XfU{3pFXn6y$u zcIXeX`t|*xrIo|2+t$peE3b?yV*;-sj}ceqA(V|zcn zJ6O*`gcDgg3sEc-cCk|M?i;?_g)-Bo!WeLW|8@2EYN#ks2&=T!D0{u4=|9_)WqKX% zZIW@RC`Xx=7jF;>!XlvH_J-7f!H|N*8ET;5`@+sv3e3dx3=A5PHlg3W7D5?wL`_M{ zC+rtrkjY+2vC|ifnOu5bFdRnr3?&i=DfYkr|Kt4sZ(;6|sDt#>_Po}?)Nqdq@4c1N z`ad$H!gJ>5q!9TwCp@+J_MHqNl##EKXYz4sd6{=geokqjL4Ho>yt6PK$F|JB3ytWN z_RGS=Ip-Djyw;e~G3Ve{CY)5^H9z!@o?EB(_AoWlIw{m(-!G0mXj^aZ;XnPDxyRg; z5Xyk5?bh-_KsZPn4LCUaC<_NmCsh*%e+FaEYhAbgZ3nJCvBIke2cMIs_k5|{;k~?P z59~aD;f7w(5vwdLwA1)IyIj7$S4;?H7cBnk^j=5w^7fgq^p&l%E0W5zybw5Onm?mG z;MxpHMCux`3XGGx>AR@{<5YOeAA&I}XGK?|w@&4`%RcVRHJ=ZvNLCpWPJd!f<+KkJ z2W^+O8)YRYG#IpPbT6;Y>zfZbeQc^;-j+69GxbyvM-E`EMig@+Kz-mksK`6pF-p5~(ErCkUC;ZXX5 zS6J-kV4Prf4Bm#<#QY)L_q6A=#*}kIm%n^WX4SpRJP%VN9CYK+LMVfawp+_5JVDw; zz`@-v;v8%%y&5?9GyBfgcG3683x8a4LWPG(^9THCRDtIuUvY#3g@AQ*2oE8Y{c^*I z>*n<{E`HVd|C%`X{ewNP^^~SF-(G%vg~zKs zcWK+#rykeSgGYn|g?Rt?IYKBqW$~jE>&@utX---`K|uVWXxAl$rS5iNoM?B97Y41E zKgd3~?+<%h{o#WnF1mS&_ybkO1YT)`1BHO3?MB(6n~z?&YF1BA`-hene-KX)8UY8l zKg2oM#)}#_`2Ntz%AsV?Gpg@AS8>RIP}G_%4(2xYH! z__oV~6MA@>ie``|^9of7mN={ew)}Q5KUAGTsXfnMD-3&q0_ogOG!5UTw_2V;sVB5FMNx zFo}5srbIYU2v~Z40EgPI=Qsbym=p(;X?a;+2m#>`%%hy^3(Gvp!oj2!Lk9E=e$y+4?=VjTQ)5SH`* z8|uAXcV+G?b(VzZ|GQ>%lmGnj_q!$_$4=y(|Cu^((_Fyw_?~)UDmH zuXoKsS5H6l+P=|sCWStlc=7(@uIcN&{ocxohK3Nz_L}$I@ogIQO|}P=X?bZ6l0RA6 zLy$k&*&d|(^mj#qz0UOQK^CjYQnB`sxK3+DzLUdVFCTs1xSK@JJr79q>n z^IEef3jM*x!SI@xKZNsIdtPfool`>>Uz9g<>%XS-_6UVWI8ex2a&q?MZ+m-3DIt^* zY}Ij5EiVM5r;>IN#7W)l!kDo-+J(`pX%2q8*kAA2^IFrj);T|~`+D1_b5e6{!ZP9rNkgy8VN#lvPly|jOl1Io0# za1a8*Vdy871@80SMZfC&j!7%VAzbH_I5}X_TP-tscPsAiVM>Gpg|PdXLs!i>_>c+@ zAvkRK%Zz?=OHv$Arsai$5D*SSnk^}CpZ6~ORfiT$S}_jcd2iY4bj)uti6IVCq8yan zdR&CV!sjoYutd2O%IFWb`a>pZ7LL#PsdLq!r^JaZ>+WTal9kCNW-O zN`wQ2fThPpI25dY>Djm1r#PTY%L@k~ARL1EgL{5!jED{n*6#Lk9E_EWgM&dU<_|J|C~R1(V@Cb#T{3dollrg)|vnDMs{esM*WNsbIqMWNNb6ybk4wltLO|vL}mDSVA zfew5|xKLmr$-oxjK%t)Vn>;l&zkhOxiV(^eP4pQ{mx^&lWoFwW82l3lo=s z5hq0mW!!6Z@|}^AD23e(aploi7-i@?igaZ*8|0LK*2pG#4!|9OPy%@#`Q>inApb{i+l1<}F~_ zqw~Y~-~cO!N3tHj<%T0Fyc0tX$1htmaOuoJ$qX=&9!=Y=g-}NN5Y0u)3kM+}9FA!0 z6?AiRFcN<_dNhNU=HRDE@q70ERt_(Gxwgl|!&4jR*Xa9p41intQ-hkV$yZrSDrg@+`wc8m3i3R;}{{Oc$#7jSA&udNSsC%D_D)u-=hT8Dz zcCKiT_$7t7UA< zr_{;8oS}sMl#PSqi&lR==X0>}!Aic=>gY zy^~6VhjQRj9(my)1cXB{pL27F&*v=tWRXED#zE$DJ_mbVYpTXnfcx&50z^1ah)KrF zRhzDU^(Z+9b^9d)-YXrJ9DE~rQsf*2%Cx)?*b#YB!udmZ4&n&w{2mUN#MS+n65&80 z?B46}eLi}-ydrr?KFUa&%rnZgyl{~F|7DgR-2d;~-z$!vd$*i(wx^R0IfUmR4tH|E zB(Cnqln4h30qg6*AGD}fCP9=i2Q_w+HkoIXX?fuw1cbxCH=T6IAv_0hn3Dr0G4;cg z2nPyb_i4LsXf}3yMe>q->}I~mGs?8QaM%&)q(ctjIfz4@959KgAErb&PzYE${)gSn z7kNgRmKP2(uNHp@=GE?YVayc6@xsj4~}R9Ckz=!jOZ1>7TgWZ|!>kN4jsBiq31| z?Ne_?g@@~rS|RdYD8zlv+TVB&_#@9K)AI6Oc0`_r#C!4c;Q9C9OS*5%J@|!>zj5N^ z)8*F8aDV58IyVRR;7|C=`uIKg6y{!I;@A|{N_2S{vE)8yiCh1B@4*l4mU*qepOZ}Q z9l4*c^67^U7<6)lcSdOUoNC8C_}VTlgfi|q)^=-o;jkm_!4ElvCl;ny`==A99k_0R zT;YL9T_1PcgHIt~O$^~7gfi|q)?Bo_aM%&|;D;Ri6AR)G_Wa&I&ba&gj&ctIhYc<& zcie-o?bbpl<5FnNMav6^9dQqS$U)-8J_mb#Z@MZ>YTGf9`V&(k{UU{cMSp-0%IG&W z7cDOwcEmmSA%}4P{}^k#po>2*bn&dEjy$Q_ZY_i|1{uvo%L@k?AEclB_vT3rIfVQF zldT+>Qee^*Ssl{nNu?05&I;ingfiwgnv0ef4m%=GYJx+4xc@)N%7LjECY`(8ktdZx z*vA{r{t_90=KA(oRkHO`j)~LfFkSLMS7CsJT!cdEu}l z@}!0w!u|h=Rt|*hIE?t=I7gmT?7(g897;X zeysgz>1L!Fg&AN>ys7aj>wFY=mGM=9fIlBo{*|Cxnr_N zGLs}1|D+^^m`>`M5Xx9N^NcbrFC1jXDE(oOImsCb{eQ{)7;^9

?x<_hlQ$Vo`8`d2!J-x7<6fY4q&-S1sqZy4wYZp>$%3yjBe^_`KKvMp{k?zJc}Zbj^3K@2;7CJoZx1<4;#=SO zscU<<{6Fz&S0JZ%wn}7N%M%K74gXG27#3Fa%P+>hv|S9`vg^1YLyPr(@0N|e+whST z;zxwI&l_bZ86PS?qxMn31@c;6D9HWhLLs={+eyLL!VEX~EEHz+^J%Nt{qV{XGUd(we^SO*CvlsnG2C9Jp1eAc>Ge@u;EYd1VLVBTXpM+dp9wsanIpA_OpgwDv`e?+6Q_#lSz zo9oO!=7NWJ_O!fo>~%XWkz;={)Jdkws?Fa_2ml% zGhKa(0;BIke_Qv$giEiV+rexVQy^-c=$q25BlKxG^1 z^Tk)buE}41U%$`GS!qvS`tDKt-gn*|a&o)*sPtv`n)i8(*p-fA+r4-L;|0` zzWZL65C4`@f^rf7X?c0?lF&!qdyvq_`QG!51K#P~zovvfzW-+#-FV9XaoN*upZM~Z z;{VLwaOsHuYkx0}4yoC1dJIM*iTS@QX?+TrRti-7 z!q*Qt=m(*|tQEr|6tvX{k#|#1eNhftEiV+rexVRdb)6LAQ(a3hP{UL=|Ljv&W`q=? z*-5GR#{a|Kdw^S2UHjVy&Y@R3q9UkRiE=uK;sOLk#BPk0bFf^yM$xFTVsAH=#28C# z(Tm1jxke2bV~vIb7SyPi*jv4GV%io(TKH+&*_8fyb-Zf@l zbBrTzoBo9;>~vEkJE^rAp|i7Wq`ORbafz=ryr2Z-ptbU%Ap1q3wKa+$cT*@}y@#ma z16sz)2mX9S&dT!@#=~^EbDT$^vfTM$Mxoq=eXzt^RTBUnGRbY zoigR?t+M2n5t!?8gQ)3U0*^!AXk$KN(BxvBO2 zlTW^Jc=G$U)y8h{!W#M6(d^gWzvk0hr|dmJ_@C%)S*>mwFFfGTy+Ktd%9S6O**UrNdl%d3O zvGU>|0^-pBnwpl;Q4U^ypz6({-h*X3$rgPLk?slo)WcAjE>QFSn;p0B!@_XD(?_nb zb_D=!MNUlcTK zwl+j5cw=F8U+_>BC}GM_ZPkO!A^R*stbpLC&ztlZh`=_oC)U2I; z3()1BnwqYP|F0!SIQ{v3bN8Lz@^0luHknjNdXVGA4hTQ;-1y#s{U6>qNp5PnYRahh zrX?sr`Cqe4RFp?v6D#FP(7uVwuoJyuSDHoVhLpe!yUsG~H1_LWbH;aLF{wAQl;^>f z$& z{Ec`$Rp!EhH{xf~vp(FUoqpYUoHroI0cWC$xHcDEydH22% zf7i-7%k_hDJeBgui-UYp99*uSIEUigH^9O7-vS2>@+pV@K@Q2O2mSc>A5{E-1kF?T zeR!Rlnl{K!`mlo^dH&CqE7sX*dSi1F}z1C0c<_F4w zOL^qQK?KCXEdrt(0*ioc8$P}m#^VW=DpS_-Y&97!qk2~wcqRFHiR z3=4V#KO!`9)G}+lx7!CB*=0YU`OOh3 zP6dB)Luqpa!-5p}(F)nk5|o3M^2m#V>=%XB)+mC`25k>f!3VSqOnb&&o)1(;%2^YS zIdI4Y(~^(Ys@-<=cczuIL^9arthXZ}LS%n>>&?4P+xfzZ5|opY)yiv@r!i6tT-K}T z?vS6yDRY9r9#LmmuNuUmXOII`XSzkgOH9jguy!NF9PQe-PJZL4i>8%RO`@C>oK{{O zL_i!|)~h%NZ$2C05SjZo>D!l-LysT_s?Oj};y+BwajWb$ZeI5w2X?R++(;Sa5Ev;#96A{((*vZpz8iD;Z@U)q{3U~LoX&|ZnwHNpAos>8 z#E(3a*Uq+Zl+&$J9(lcM^@JJ+Tu&Gs3IaW0Xj0&Qs@Ik7+>; z{D=^%Q`^E(4qVD3FAgFg4z4GRbMV@B^=W}mtH41$p>n=`AOG*$Zgc-{^s9Y_^ICsB zZTHV!{%d6o7tKq7Uy)~mXYx?I{!Guo2fi{bK?%yqV?lZ3<(JA!A-{BaDWZNE$ZHj7 zpMDlF>z9qCIA`<1d9A5BRgC5%q!4!VO#Z>mH{EUQtFP)?ku0ep%FA3*0e!!Pyf}z} zIJkU-aSp|Ngdq-I77xpzNqe>F%r%_XnyO08-t_fp2})27 z7s?|q4k929%1YQ&ALrm5(NyoJ{OpYd4%)3vIjj}zuc3 z{^|{VEt4g8L^)h2kGwdDfH=6kjByU$5lw`HN2|ag+uI1|wWjJ+k?lE53v%E`gxJHg zdweK|3+0g)2N4hlm+vjk!8@agaPVjqIJmuyx_RNe)_jmVbHy7sx#fjv$roR|SUqFG z&nIp(`2OdomD3p@L|A{6p@aj@!)yNArTwt-nz<@tfoQml1<{#nAY(yb=IZD1upAoQ zryq6mRu8s|O|!F{6MnSoDks0Bubh_}?UHX`TFxJ=-3XD+17#?&T&%n}h=4e_j0I5+ zfs6$q4xMByNLO^>yw+6xg+8r6-RR|M?xpH{&ivK3u8uQgR?s3+wmrsX(TyAfi3@S|<6o%Gzv(-M@RoJPhv9X*mwoZiJX0e0BIzxT;Kg@mk z_~Ry&r-V5U)^3ED9~`>lrY~LfpVJbQpd2n%UK~U~9NauA&cT}*MEt>{Rp6j`RLWs! zkONg`s3%V>rsX(TyAfi3aMPzJAGGng)5^(aQ4SX?FAgFg4sIS5=ito@A{;zg1rC}= zr5sica-ix=fk=6aX*mwoZiJY8T{yDO7jw^_mY@XXz_s$?AOhmx=23AD#d%byU3jz# z9MTWS1M&af@BK!vMLiexnAiQ`Zr{iM`+u`||2HbD_OWiTeK5sg3Bde;6sNiNK_PzR znLMC&o`7;DXOu@?EkpAutux$wD!$I}W(Zk75n6wDk`XFhcm5#AfvQtQ<`0+_@R$d%LKpb42j5vpHbTP=MRp5}Vd%}6HH_AAW%3+VgzN()0%-W3*`5#b*63fNP zi-QP=gR(?4j*N5gGCx#r7k-vF%OTB^k@`b8&oxyimBXe79aBB;nY9}s@;_iVN>C0L zD=!WrAPz21Mx29}`60r=qgCLLt$TFV70CZi)k)A|BgO~Xs!oj0e;E=9+PM9&TAs8=qSk^As%9+t;;dw)6O-$bW@oM*9WixwH zi2WYEa7PGb2;1`d%31R`S?}g?(XX6KpGM|B01ABU-PyjFE`rRf559j=dN9Qz88azA za^nMq_>t#@kDvY4=TkOG?0zuHNjgG#m-5Jqg9wO&+c%GM@OFYD96HJLn{rq$ z$bqU;MV2C%7UaN>2(ezV>lu^-m-5Jqg9wO&+c%GL@I5}l!J}2^58U~Gw`FVk)ON3_ z>)*3`_piErQro>8|8HThd3A$o2X|eu%aDJgh3)sId{3Z2K)u1(U~j+zkA}*^kc2M5 z-hdwwBI}7=C83;bGL%PNy@6Jf>J8j#GTIviR+E9zp|jOw+AFRfVz#uvYPqv)Y3b@{gCK`#S=E`iaNv(=IS$rtgqZE13?-I}l@|vQ5C=Ca zjC1hjIo18Wvsq!vVN8$%O_L@`6D6Q=j>7?atUG`IdvrRUWr;(GP6A~p;YMipqc;2d z5iL^_D=!YpmL?8r{S8e~4t|TS&Y`nxY3X;s_ZJ3-|55*k-efqh^-f#=?3^pFt$aU7 zsCH7Df|%|Dc>W_>@Op?@;mHHIgaXdBe!~NalUJUwvNN z68XM2jrX38WD|lOP1UI)q1rJm$blabB2UlhN4`6DuA&E^1m(b`Jo4fo0^*=(=MC}i z=32hd_q{D1t-?r_eK$8g$bqU;MMAY>T95-jB1FE&t6%=|%w)FmC}&BjQ4SZ%BQFjj zAP$Ol-VnbN*iyXd5SrO|vQs?V8`FXu_z@xUJ=&fh<-nyp^5P%@;^2DvI0r8n zQlx+IXcahQcZN3#a-ix|kx4721v&5|Ld@Xp%opXrr9ATDAOhmx@?yq0cqc;<4j!!n zhx8sq>HGilYTT;-vp$^t&*?t9+s$>eYA^5lt1jn#SMIz2j~a;oKUa2U?L0rTbtP0w zuLWB?_So?DWZ{+f)zl>I$ud*7sUE6jepcu=pMCiCS&D08g-}L-lc`gmozZpm_Hx`8 zE3ce23f0nY<+lE5sFs#;V8hnR6CJbjy)@yw6uEj@fujbK@3=q@h|` zgrS_+dcc4aDpxkyQ>X2G`jagtKh(BO^6Ky>5C7ttZNit?`4J%k)9#+l^HGBG1@EtY z%dJ;$Q@+fOyc+1SJERR%;cG`n+vlj_%sen|jq=tp6%3{LoFlV)5aGPm)EtZMK6v8U z&#kacIpl7zpTcZ}h)c`L3?(QB3+0g)1_2NTMX#-o&*w&YJCN1;DW8_*P@m1`!g;MX z&)y(aeDE(9?DNjkTbD!b2036iLd2y-8A>b{$|ElhA|MWmURxiZ&$W7AnnXBwvhK;}%t?ijNGR^4J&WZk=FSkOMy=L|j@{s3<`>TquvcIEa8aD0*#ud_LFeeQ8pi zgHNl#A)C*I^IG%DsN&84`tY(oQ@2hqEy#f%5h7kM%1~mtP#$@45CL&e4v+fye6IBy zeV60YDsXV~xuxf&d990CO{h9mBw+)ll{utYO(?{VJd?HI=jZ=$Q1hwN5|p5P=@lQ| zbL)+^E(d~x6Y}U27ZDK`mmf0PZ?<}0@<#l_qgUXP&F{7iwi8UDiX?Er)H0Ves|khp zk!P|v{Oh!f&N$#_(-M@R98Q!+UK~U~9F*&!zB$gp`;s@p!J}2+klk|)=eefpRFMP@ zm=@%~j|h>)VVN~fpYV#pD4+!8aG^Z%;vfRzpj;32EpZOsm%I@U9<2h0^qfok0b2+C zfvQu*XtoOqVK>iYx9G9TZwKCb>9hnTD2EH>krxLM5C`SDsgH-iC@pYv=iq_)gknyo z-%|y%BGhM*Ft!SEpz2gHn(c=|*v&K9eLj2fxEtQSYFdI4l*5Jc$cuvrh=a@a6ZZ#i z;u!IV$al~6>GzEK4r0sTcMucU`OUh#Giz^jd2{LN%I%^~{ex}q2qR?sNn2h!oaz@# zy+VC_hcnPG26nvtQKirh)Gwwxy;}s||5};dG~HR-)$hF8AGRuY`DMG)e$m>25bYgh zD6w3uyf~;|EcFWY@e`g_ucc@2Kg6Mvelg`RHOhged*R&2S6=tnt;$_|j)S!uA=*1T z+$gbJth_j=Uo7)0jOIvj&VZArKNj(z%_UhTH^P@Ost)rzfGO`H~j*d~pu6lp6%rrm)K3@K%P-%<;6h+#KFZ0igPILo`*ODch55pnl+?3 zvc79y|A(_&gRbX-H@7;vcYA{C-ErM{*YEPmxcuf2g@{UH{S9UKBhM(a@_H|dVx#xs zqS(aWi+64l@lS6ntiiV44 z9G%S-F$5;H5ejKM<21sbpX0hhfr?{L+m3H7db{u71jBNzltTQ-^Ty|#cHv6>2Pad1 zwom;;Q9udGp+b4&MM3t9f{SMyrQkKc%ozd{JXF>fTGO2&MffAbbw0x1ANN`5*GGH4 z5RLGM6-4Oc8KDpF*|GjuDI*;M%8BqtdE`am+l%m5Y6-2`x+a|0dbhjZyn3lV?a3N- z8$P^iYkT=BX7D~Ig}9%2+kgDC%gQYkA(U~y^Dp!EpLCm)qs+>yFVKBX?VY>(oXzE3 zbFU9(*W8bCn>m5Ex6X*w6kOM2J%aXwnl)mD^IEU7>)eOmZ)#6EI6XLe)`;_78dv6# zYYP+_w9P^9f4R^2i^=aR?kA__S? z%G4jG1vxP2Q)NuxmF7552uRj$lrinF{$b_i5Ap=ja2(?PP~;Hsht4>p{;*q+!*#vy zJ@fvC_T;0?A8tIN%j4HSnv^4=<~Z2*Z-r1s7*Wf~%9jYpAKc77?hnPmGSEMCHnUIt zVb>rBCfigQ6L_UL4iv&^tlcPM=5PJO%9rMjqTx8i{h`PqC#7Dx-FFgI>kR>ZZDC5=>&nUC< zT07`FVD$;^JK*SgGH^T0n`1J241Wh)nmsmZ)|Bpd>>cI61c%X)fN?nv6kIlR6)3Pgi}n^t%%c7AFPkj{ICM69Z2DjD{r`T^_l)auQ4N>Py=MyX zo%?+sthvh?OSC5l@m{&z#xu&Syxy}sUGLf50*t=rK=i!8d-hv}9sSbid8xne8|8pW z(OZBN!tVRF?Kp75f$a%G*v+j#p5bEU#X$tb!QBFkatPc43~>m4Rg$&)Y@c(VIETz6 z0+L`#&L6DZ1CQEceA|Hb1R?AuiV4psv-08~0^;Cq3CB4UzbXlE@M#tNA=~G?-_`1W z>|gTea9(Q$mp^Co`}a5AzWU7`3e_!tg1ZdQ`VAqJG1B!srGE67rQ6Hbgsi;Yp>FnQ zUh8i5MCY~s7*%~ABz&_c^XP0J*?bhyuK^q4<4-o2lezRhl9c#vYzdwjKjyj9aue1s|0^;C$`X~p# z?}~8nXcai5>pgKeFvx+es^>BeZ2hqnnrjyn`gG9|wR?UvzPzc35X#s$v-_e}UIesH zs`bCyCylQE{kdDlA+Y}MY@ak;{~r+Kz@S8zM!&GfiErLLy=~L{$q9wH9%%Zee_@w% z^z*m=XJ%bTI7839ul5;p_L}X<$C+Q=He~oKCq21E!d0`JUs7nVzr6U1<9FLKdCv%; zjQd&J>@fSTb=PSxE3@)?6S}u1?{xRpqV3baiB-LQhVQMF#;x?;n%ZYaI782v38%NM ztPk`tY3pS!Tj}J@wkTi0%WYmgQpQ#X$tb z!QESnbMS6rMcRc&tH7Z&pX=xr?5~G!zt*b@S8h+<%$oW+ZO6GF0+^EHVC}X-DC2&X z-E4C+?)b#udk5-NU zNFnTgD&v3<$_V>mxmbB|5CL&;5j)}>yoiPofADA(IF#md9bJPQj+}M-@(&JfPhQMS zT5!*QSC9W_?Y2TFBOavXV&%m_1jNC`e~fb|#(xa?gGZ~tK`ZyPpX?Ikz?6$FjedbE zxVd&gAv#gp{!zxgRi0617-v=VuggA84Po^A>jdH*wx;RY9ai9>eZ2QML*LRL_Da*Gf2x0eUFFrs2 zmD4sWb3mDu7Y7j#haG3nX&4pd;75Lq_=88Qz(MyvQVu_ja=;`)-eO9Q1BI~r@aMa~ z{>F0c2|{ofu=Tj1Pkc4G%mHOqUK~U~99*2-IEP}K+<-s$vBl3S9pC@;EfCOny;2ug~{^sA>v3^*e&107ha`@MQ*L}Kr zeI@F_Pxjwysg}`Om9HA++M~6bs0Rq4jC*L7iH@ zmkDxkzNecPY)Kq{(W}+(H9wI#&8|Nh>n?#?A(U}HmuK!VTY2?My4Nfk?p|}WU-ECD zRqvm}_nJ%d*m^gQUAkjwaVXwvrmC34Ra;Cc`$KxKnL@zAuB+C2{HN)?<>ot|Jao?u z+RK;RP|kf_o>6Y~iHnGci@Vnx=i=Q+i*O0vYtFcozR>7cD(WAY#8o^@DRW8h?@f`fTzbA-r@Msm*Ws$vpd9;W0tPzYGIKR_Ax zb$Ldal@|x~o26c(K0dGYdx8ju;QhVKA4(_p9pOC2R27rx@-QXGfkMEt{Upk`ugf#a zth_j=-xLSeZ^qk2vEK~LV|-c#e@IX6HI5F9whK(+N;0P8I8X>!Ck{;3>b-7z`5rTN zbI+M)lv#Ok5CL&;_nPAzyf3*U{@~Fna45}dI|f8KU=rsin3Cf_Az;~a66_|vAI~VW z^5P%@;-J%%`q5Di{s~EhgGZ~tA)VLCANof*U=l|`n3Cf_Az;~a66_|vAI~VW^5P%@ z;^5Ac;vBp$cdK*oX;}{Gc~Z)uUz7tTaTJ6pISv#8mOUrIZsPm#j4~@P4k929?mQ{Z zp?IDY=pQ;ePf9uTjdH*ww*D|B$ALn?vip75&3+)yD6{h7AOhmx&XeLCyc3d$KX|kX z{-E=ultZ5&2bwHX<_D9#rylXfmgP_uISv$JUd_A;A(YX7*nZKkq|9QU;`o7WUuf3n^HNWShJ?`&*ch@0ZhIScx!iWR$l$0;;QLwySQr6 ze$kHJqtF%Ffxb6L`^CZEhyzP%Oey`i>G%iw$Qwf9lGytpm<%OaArq6V_Vl&bIOmM((WSJoU2?%ieV2 z9c>9eBE)sSPd?iDfghYzQG#-AfLeJ)@X?J<-FkO7I-@b`{X2@8rv@S!`8Qf@i*3?Q zh$0zvgfpGr@VDRB)EwWIV8Z?z>{jD*(w^2 zLo~xzfI}d|S7#iQ;j1H@>HPGps@s1&e#VApwovDyVD;p(||VcP*h++?*}P>#P? z`I0B7T{sT$c2VRIY8RbwNZZBGAO~LI@4Ee@+eZJ{mR$VincFlbNts8EgS8W(uP@&6 zSBH&DlIt?(LJ7+84=XQ!5CPF}v3uhFP+aka{K2DD@CWUT)z9qO;b%IpL`S(QtNKxW z#|(V@qPC=Wuip>2_eV=4m-jehuTyVbCjX`L4oe?+?#(L1j|jCi|MH6KcU~f)9iRl| zXaDia*y;*pyEQMB`C)CgE)-l9+LtSlME}XO* z-E^+!jQ%nkGq3+<0XP27+*Yd2Y3EoH>jp>*Pb=C z1AFvT7QoNC_RL2CtX;e7h%W2ajC2+M{;z*q0vavXqB$(#hudcW+wtO#;Va(NmN4)! z5y*85c9wt;;qmO~iE^eQR=zZE(yYOamhoAGHv(ksAv9~~WVB3Y4a0*Rre4_Xt3{`` zB~18P0C34Y$KlF}%kK2f?QID^BE%}g&X!TmeJLw14!Rj74lZs`oP!rFtvUz)7M1ND z)A&gZJqP~V?|ZEoe9uoU`RbliPH0QI++6>~!MC&}x7|MXks(7SmM<~q-t+q>UwrRn zH@8)O%!JMxf5{ft4x5<#;M(n0eRpO>3ChWvY~}Tyb=O(%d6RvT#!=Dt+~nd*~NVMR+$Y=j`f9sW}wI%$B z5bgTtO0KJ|HMH~?=PI! z`mt5k>i6;uZHY5V^L(x-6NDn?#}wj6o{7{jzW*~f$u&VTT}XI7b59xPFUa^O-P zd2tW{ad7>6oI|mH4{_*ZoJ%>32y$R*Mito&BRElz13w}}gkZbtg>vS7lt*41G@}y- zw@Vu35ZEORaOiB8H07{PkONhxip=jZEy#f%5h7x>oyVgbxRgg;97I4I-0onUgExb( z-Y$Gvwq2x=y;BZr2RTr6s>sp>(}EoM5g{UZ+w~91flGPh#X$tb!L4`V9E$6mkUw~| z3LMh@;X8Eyf0N+*xICLO^*?{@vA18-mR$YO{CE1Ev{}N{lid3_b%!ahjlR0A{3Al# z&tM*k5|n@P#!K#Uq?OmqOZQUrR@}Xm=zQG2X;FPXUV3Tad1ym6ADVD<$U}^dE`YvUnt2h-F@$QN3{$|ElhA|MXB#n;dj=iuGU ztKLufv~2rq&^kQj5YFdJ)u|#^^Dr&Qfgcg#eqP@@R(#{*E7}s2pd7fAM_wF6Kpei^ zJf)@iTtham4d-*F>Qs@dd6*XDz>f%VKkua1R(|*DtJ)Hjpd2ogM_wF6KpfnC@3=pB zH}fL?(8)c<)E~n6oT)lhq<_S;AP0U#i2HfAA4EA^D3822h=4e_dyH`o-p#xS2ai^v zU1amxal!t9s#8U}eoPB;;75eGpJ&GplmnOY$cuvrh=Ut1q8tL_MW~0zAGF-8w(`A3lmnOY$cuvrh=aSw80S#D#~9$?(<*S# zIY!DMoX?r6Q^mU${h)c!p_3C#3v%E`gf2RG>{~a_n4E0><>cM=xV9}p3Ce*>dE~`G z1jONo1Cqvgp48@+N+#Xv?V{PEWjQpK@}zc*4f+FBr;4lh?tfeDo0}$>7UaN>2;F+m z$HUHkYtv+dfve2D^t!eLB`Ajr<&hT$5fF#%)<3>6o+q{0JHU)^@Msk{q}ed!4;uzK zP<5(E=q^kPa^OdVh~M?ukxxAMz;D~iaSu@r7s?|q4k929it^PM&y(s$?uu~mXcah= z@}zcb5ahsz3%Kx4dcJ?;o1afEU*XPiu`|x*P{NM>xpU-k3P%$mX!P<=woeJ#$B`AlBl@|x~58~kZhd2lC z1BVC)k5++$`iF+^(E9&}!S`|2`40>`L|=2#m2x$YtB1MwK_PzRnfrO&&fUJ}v-;!< zB`D|KBju6Tn^+wASxf7jEI(^UIIlHTr;6N1!L%R;eng1-dB^_YBg)}I zdE~`G_j5FEx%)ZM`CM!994auMD{V`K_d#5KR<+MGul2IE`jh(}fvQtQuGU~$kOMy= z#QnS*XKk`+$Isi!@gGqRT*@Oa4k929?tV^`L*RZ+h=WJVw$Jo_PCAbX=dq^hRFSKB zm=@%~j|g!;Z^Gb@9ysKeZRKE+C zV@=hmB3JV;Ey#f%5#oN{AMZK*vPHjYD+iNAIdCbDyf}z}IJkR^aSq;2Y=nbHtH2?f z*M{?0Q+2AyRvxAWIq)Mw?DyIIK$HWQ^2m#W2#ABb#~A1EjrOfOi;J21LpYE1Y1w=Z z7k>LczjmQuY0^0kw!I^S-=hpAeDyxO?`iIGq?OnBt^T3ZI_l%|THoWVkKcZ8YW*SY zAJTb@@>mD@Nve(uUvmAV>Tz?e-3a0LKg*z^1m$qC^5UTWq0~AW;`3Vn=5BQkJ}t{3 z?H^JO;k?#V9Tz_5kh#_4=32WE!ta^Sp#-{T`3I_V!$4&l7k zRGp@M+ZI!+$IZ2NBSfcyGL-NP7b`Cg>L0|x^$*c`t$#8Q;o$YA1%F8Awc@aOuwDE% zb7i*r_up!>>Tz?e-3W0$fHIW80WMZv97I4I+&M~|L-Disz`EC`Rp6lSc~TBjf*j7z zIIz`!=%TBt$IZ2NBgFXt%1~mtSb1>}0da8WC~*$ObCeJVk5++0`aPpKY!>CfR{y*2 zEUX?k*V>H`=K~jJP*GyJSb1>}0da8WC~*$n$v~uCc(e)}vfE;lgB++jTm3^$seP`{{I^o{}c`?w(R~f?u*QcTXv>;Op$3QaZseC3LQ<&EHd^ z?$q(sSJtk6Pl-Yp&NKIK*pNdB$^k=p! znYA6|gwDBpN>rUHZnobR)$b`$2)lXaUJ@TBqXgw}p*-^9AOOOU-cyQW@V;1$VDMlS zFl756?ZN)~3ezsGd*XuXaVju_xDz}Re*tAEph;#71)U3|I zr)B-2K0Vh`JR0S5KH>1f{@^8th=Yrp8|TpIu41e^a>URzvUU*S;L$4hLpG1yCCGs* zHf-&`u<)?zadWNR2yq^OGL%>@R$d%LKpb5B$2bS?MoNT(N2|agoyW=_c8+pjtB$QZ zOv|+kYd1n{9@_ms%f-rzg9wO&J2#1Q@J<3E96VYD4%zpkI|Vt=mC<#NdFR9G@q;PE zc)&Apa8ZU5o*6GFkGu$IWYGBF;s?jahi~+~e`oQ78)q)vv7h4RSDF?A(Hj@i8YoTm7?x6#{*t?rnmeMiWc4?JFPq>S>fI3pN>1SJwXY|U%dQ~^(HrNQ2s}d7l-vOPW|Br56)?hf5_Na z+^7ufgXpWTw49p`TMo_Hhm7Gw#y|bdE<3z`Hp@wsB*zLmIh9wi{ zE;wk=G3^OTP!1Q$BQFjjAP)VnscDI~i(-6=5C#vHb%&O$S%mW#Q?uvi?LXDpcfWb{Ql1dXo?hy=i=IAkeEIdG%*qRZ?&~Xj zkIQ2mjo;%(;K;g%Kp3NN9^LF3sX8Wc1r<|r?m!{pmGoTj=2k~P+Fp)| zh%)Z2@{BSoFAgFg4lZ6vl!Jd`HNqj{4{5xTG=A&;!Qq0cViH$SF(t==Lcprq@7Sl` zd89o-2xZ(`gD6{hN z2XPP$$06vd&zkM>2VU)QOLTep<+}CDGk_ci3gI+M{CVHC z?tP~{K?r4If3(l1xAj~9ZvFv@Kh`}<@efADD8cG0YUGWCbO zgB*BeR2dU^r8y21!fCACDEsn`rCa~mYyI+gfif#Ee~>4LhT{=osJNh?e`q|ZNIXiYFB$ALoF{rrEmU3cdn+Y^M~u+O5; ze>?c4)-nf_S$S~~0dZJ!)8m`td6bkkGkw>7y9oG$PpiNo9WVOTty$Br>!6z2pZ}R-=Tj){lsC>_R;6(|N8LZ$J>*~y0!J{-f!dNmm6Gg zz_Ax@oS$D)=+)_GuDA0qH%=BlKd-HyCq(;LZRRHj59z;gxqYC_%By`${CPTlPWb(t zrjgP9vdP=|s@_jD1@{TF`L(_)P5a9kK@N-3D9VRdmYwXJ5XvLhPhclM^33*%-F`v& zU%Rh-%1@q1%3P4wa%*wK3CTF5_pRlc=X{6Uvu0-9eB~_(eD{3cwjBpgNXDy>G*$a@?=ndwD7=G~|Ihzq;w3Nd=*@vOzWDN488#?)_lRUDoJmFDtY1@=V3K z(!9pSxr)wf{K!q2e+K3?epE2qe>ZCXwpr)k%5xn!2VeW$!57{BReSPMX5!w9ZgQda zW^S<3sNW2nRB5N_IXHz0?uQVCJB$)rzGSh!l5%maqF+gs_PcW9R^T%!pH9JU`D2UP zWjL?(fTQ*p-}dLq`^O|ga^>E?brNeA%7|lS{lUuX{p-z(hT{-_|Hbbh0`I>w4(Yu1 zm|#1Y|HI$@Wyvqw6JFgKpYK;aej|l&l83YRjS$L+=V&=u`4R#7gNyGK_XqF9Dr*NJ zfADA({6X7dsXv7CT7SLe6SY5kqCKI?n7}K|`2&S;8f!Poh;wHB!^+DacBX3_jb3(!tB*%e5Omc=lwEGP^ z|EWDe2xTwsx8?l1PMlC4r%`6*HGk2}MKs2}UDH$_pT88(_X6{Kf0ko8H0gV>bpCQ= zlmjNQ1&S#-4iv&}yYC4H_Cr@{BSoFAf?nO1(s5Jp6xP+zk1{=<3HPjT$#o4nK)YWT6deC7r_SXO9xBQ4d zbka|z91f3iz$CgjOv!Pe5U>jUVrsa~YFW>~0cBQR9Mn&WgX<^b9E$y9$RE5>#kPw^ z^^;Bgx-DDNr&f{w`}geL{i|-D)OPoG0qO?T4(_^Qmm%M!ng927`JTZ4X#!eJc8m4~ zr>(YCc;T}TJh@5I^up604w+vOqV*FUnrD<* zdG!WcotyTGiXq(?-xX~xeq|r%4Vr^r*_T%Njip`D`CWn>SoqonFFbO+;-9kB!xc}T z)As(PO%f}FGNMIWPFB7|K(j{|MLRls^w-PPXOBLuLa(S@(dJ(L|J}16%&!Z+XIzq3 z!YjgMbMKi#IDvhyC?g6u&nUC<@^^W<-nM(s(a|sPowD6{h7AOhmxc9EhS{QZIIvmu{WfrECDQVv~%9C$^xNz%pTI6RcK z`~45y{^fN#Hc6}y%J3K4-&uJPQ2(cP@A|)ZyZ7F7q}_MY|0(Nd&HewU$CkybPj51u z-y5epV%F`;KlogGInEoQD|2s>Lfm8hVE?D)PIgfiki@{BSoFOSxZR=rOb7c=V7 zek8Z*9vzOOTpG#JILfI48}hdtl@^*5erF9(N18Sx%@Mwyit z2N4hl7Z)?m;TxTE`m}7zZb;|%;?OJDvZ*R25yB2ravUfGtlPWZdBw#~>+{hpm?p}I z_sBEKth_jgfH)}XTVwnjClD7i)YE&kEQd5MX3C*wlmjLa=M7VG94Lg{5B&XwvD2Sw zFUP^eZsI-ij4~@P4k929E-q%=AG}Cz)!T(ntH7bOA2h#5lmjLa!VXh%94G{=9;eig z9`j^-ISwXv6DN~rlojM%WKeN%aqr?BybH4t4j!!nhtht~{O(Z>n8ZkjDLD=l0+t=o zu$vh^&nUC<@&^$R2aS7;jd2d%SQg>n(JF9AzaRYW#Q&Qg&fdHA4zurC_wDxNy=-!^ zbJv%u$8%x^apRtQyZB622xY`~nmI68tG7Oe<9?Tw*PGDIEzLk&ytn8K#E(#vy^p~D zeK?*|Y1~TVIceW|{;;55-t%goF=xL~;c(5w;nm|gS-W4);30%E;yYO`R$d%LKpb4W zw>XF5cZ>lJJ}v8)X*{QtLpXacO{nS4ClB58i}r-8G+ZUhwNDCh@5tqy|EwZ}GVb5- zj4~^)_NjYHqT%i-McZfVH~Rj-zZGmb)R(^JobPAv9asL`o2p_`^qvxhfHhFAgFg4(^^(oP)PBU%j95X%#qRE0j|HUKlR^UXBNfGU8tHj4~@P4k929?w)I$!#6s|X!U3nIF$D9=dTp( zAE+uO(WPNZjst~&W&1&t5%-d3lv#Ok5CL&;_gv!~yf3*U{@~FnaLDHO<@CL|_@Go3 zlj!O(CC7n6z_R@y%7}Z(Gs>*IIEa8axbY&&!S4Yh96VYD4%z&Eg{VJZ5?wu}0Z1 z-?-qBm)pyEldzloKs=+&%8P>th=Ys&7w6zz46NQigya8Z`yi$JLGzc3a=;`)`C&?q z1BHOK+V*R`y6~m;a^58DCO;6*D6{h7AOhl`=ywhAlZ}?*HOi1bc(e-skezHS8{~ki zGDU9K@UrUhK`F#Mn(w3#LK*GG_6Js81k^uhUhVpa_`KTl_{<+d^Xg9ehjd=OOppVv z`bf4^*mQ@rtH%emc3UBo(QYgkD=!WrAP%m7h;u0R4mmHYp1^qSZ6VfXF- z&F=pHg$fR^IPU-Jh13UM$lcw3(ru$Hbf+S_vVP<}w@>eV;6@1_T<1C}`yn+#+~@wq zd*`gtxMh2S5|oqG-pVV0i|)Pab8C0+JsQ9zaPK`3(5JI|?+r6+=lh9_EBAYsx$3@} znxsAXWW+5^O*?4~J89+zXa8tea_Zi%^qPIjs`;bn+iqR`%rAFrFaLhi*&zNG~E5(XhQDd{oX(xYX35{^~>~rZ~e?}^GkV* zZ5%{~mPJ`Vwbw5ns2&HAe&(2Ge&OO8S|OAX-j8SE9$I;gTWK6bHB%P{F*<;kdg9!N z&Vhj|90##9fRD@;e5FLjHVz_n#ikzD4XqvrkwVaVJfnvY%82jBGhnQI3PN!Z1tN`u z80YYfHY$Bu)*;e3h)rr2p?Vxd3Ssx783%+=MqEUm;bP^*K>&my zje{7+P&}awxq}C*fFWD&h4UCwQ!JYM>S!0T5KD61B!w^=KSu~<#5v>{WmaAo1V9)R z4Y59co-@jea9Dj_JIbSFIn-zCy>K35s>(+vkKb`d^>~ohZYzW`;vDh}7b`CgA|MVf z9%R%X{0N5;4j!!nhittU&SOkfF=>te7+XCaB!z(WP}VFELK*SAc!rCW7Y7j#2Nw@A z&cXXqvpNT#R)Isd-dig;eW0qms!y+dwR+q$Yqu3b8S%S#hKrRK2N4hl7xygA!TVA( z!oj0e;NaGKOV3|Z9Ex$zs46D0C5|cO{vnNfMj>Ef*Svdg`)L|P)9#C-oPBeiQEv5# zi-?Gei+dL5@{PW84ad#Q&Q;R&-w8A3uMxZ_g(=TvE`Qvrm%DhOm|EtN-jkv*@GKXr z#Fj64g68+m?&$p9KN-mUA+XNr%W!E&+k;vfRz;LcIv z9K4f(2nUZ=frF;i+4}#q%KCqyxBj11dwJIj761Pw?-lC=9znHtFCwce{VjcJwXY|flGPh#X$tb z!QESnbMRVTgo8)Rw$CQbYf}yz2Ky zaS#D4;@-I`Obd+%uHJ zh4RRYg9wO&i*pv`;79I?_=88Qz(MoaltVa=F;%CEge=3fAP0U#h`46|`uPcKEv4WV zC_y=JDUZB3h=4e_IA?JV-U&r@4nC~{2hHbF4&gk;RGlgkLIcx+9QY9-;%qF+f_$I^ z<#3@q^5P%@;-KgpO)YT_-U&s7gGZ~tLG!tkLpYD|QrV8~)C;?PwPl|N z#wUH(es}K;J~nX>7yj%1)+;w{FaLo*#`*th~01 z)jw#v*!2(5?czWj#K3-WXK@hg#bH#ipTrbg_`WggoN>vbapkTq=MT2MBZS{Sb>-OB z0aMx&l%O0=R=z}_)H<4);>QQYee=NaflsU859%Kj2Y-HRkOQv}6COG1i4o_$G%lg) zIS$q?gs^+%%pXvKa{R-}%OB(kqT%|f%E5w9_EAIK=uS*Pf&t#I9d4;0r`U)FXH}C z94|ut;L$4hgT{;09~ARFz~S>NOUH|t@c5CdKYsnAN!hh?9IRakVK>T9V*SI)%OB(k zqTx8i{h`Pq%7IIHg}_+lY2^Oe;v+aOx1t#{7rv)ZvXb=Ki50PUAo1z90zMRLR@ZQ zyhaJi;bP^*K?KCX-BXHl@J_TN96VYDf6)3rf9IV|4(f(0} z63fNPi-Y>fQZLaMpV#^=Kf)n${@<9*Yr}brpIY+OJ*SLoPik(i|Ki{uw#S`;M(n0eRq6C3Cf8NXXV8~ag4;l#e0jki$ENsz2yHd_0FBQ~zYe?vKNt-LshfH=4~MsW__j(Bx{ z@M#q|=)0Jd!zRJ`+$A%f8T|K&?Fn1E-TyH6<>QZ=P(A|4aj^T~2(cf0_lV#8ed|ry z6O^EQ+xF{ExwqHGiIo=z?VF2(+c%GM@OFYD96H%IPdQ8qa-iyL?XnMqX*mwoZiLtm zw);IOhl`aL2N4hlw{ITj;OzuQIC!+IKcxHSDTj$c4s2av0$W&AJ;%Y?g%I#ih7#5} z^WHyo$A^xckXU)GbHqV39Ea#S$KUbFI0V)?O`UK^*Et&pIbaG~R_p`uigO(7`$vd< zal7AxayVJ}5&`*x+aHYkgSXQY@dwXq3jUDIA0`AjFcoIX%TT~nImdxQ{KzwL?d*7f za^~5TM_vRpqt?9I#fy#4tGzFOG7f=xwLkl|9MbrI>AZS;kONhxii{JO7UaN>2ocxL zjt3|QF6EII2N4hlH*Ur`6u*-SaqwsrIB48VIgAT(pz2hSArRAo9QY9-&X4UligMsm z9(i#P0da8SW}HKD+zfH>XcahU+;sW>2Izp_kNQ{s{(teF|A+G$*JktDzIUwn#>eeS zLG$>+ZFgQ}^YYcB-1~U$x~B)P(N?*agwP&6MonB|_~uEEOc_d0{=(d=cHIB^%@ZrH zeo8l#^j4;|)-=TDwJi;93FGHu2+ZgF+f4R-G-UJIa9(4oe$s0zzkBuWTJP;u``E+_ zrzDt`<6!MZXv(DnCk?xJO0rzW0VODhi>vA6G~JU&m(f2Z$BntaL3?-I}l@|vQ5C<2}DbB%*P*k0RPpjY$**Yi9YrJeB?|tvAT}=6M@@{+V zqtHyNf3@k{gC>_lRpmHXyURjZJSUW)#B#Cn;vfRz;Nm&OITZ8O1lmQjN6T_Z<2j}N z5YA&v)!DjZE02&(IS$rtgotZ|-6%mhT&%n}h=4e_cusK+-p*gdA3RzG4*E_if@x;YLM;zyp3e(004yRNZ$V#foNb7`3J$cuo+P0eH6xEY_<3-A0`ydCZP8I3;F)ip1{D=^7?QB1Ya^O-Pd2tW{ad6{Bl!M;`MmTu1Y`aLu zi{iAj*MDdE~`G1jNCO7jX_=4;bO#(Xt%U@gn80O^^dsr;2p_ zm=@%~j|dUh&W;}_2QKB27Y7j#2RB~CITXi>KtI`8{J)gL)uAYAP1^W6*))3v>*q5M2L8Q_Phw? zz@98viftufutasXA5U${D5wIq)Mw#I-x~{0D{|qVHN! zf^xV}9(i#P0da8m*5Vwz6N(6j$hlU1_B}{Ak1*q5M2NU{b?0v1^I63j zK?%y?LV4uHK?KCX-CK)u@J=Wq96VYDf5`Ul!+DIUI#uM#8Kwm}@FPORwL9kTzkmAU ztt)X+Q4SZ%BQFjjAP(-{TAV}iJSQ-ZDRm;H-LnFRYbm-dr;2Iq5BohmW}Vp@;`KO#h2J3Ee|9JrK6UK~U~ z9Nf4W=TICs1MR|}WfVAM_vZEpa-ix|k2ocwA!TVoL9J)&-9w5qrOL^qQ zK?KCX#rKMHD1O%(;^5ILaLDHOy9YT?b*e~cE=&t@;75drYuDPa+&(S4RpJ4n9JrK6 zUK~U~99(>_IEP|!168MrY~^8EkOMy=#D1UM4@5a|DUZB3h=4e_ z_5dyoTDVP4(F^;4_Iy|aFf5bqmhDB+oTww2esTJ56b6%7sX zdA0YZvwkwPzUZV~r0a{eAO|9V@#^+y*sOZoJ8L&Wyl<4D1P*Yq^5UR&QSyq0#yAJ> zO-DF*vyVo@}t;kgLuf zJUy8);^<|*svDf_wC}Tn2Dc5#@8I{idZXq&REQrDdgP|3C+^T|aDphb_?^bRE9LLC zaqqfk=X-Re<5qp5dfYn-5yy^a!nvUgCA81e|NGZ2P9Eivmq(^?@6=(txOdSGyJTVR z;5*P^cNX_9ozRsM_}aL4)SWtR`j@q<$GxKvhVx83HxBqvf^xu69{Ci6;@$~F8uu>F z;Tvtx`Lrqyk;VUW3!U2e5@SUv6?g)p0E;P#$?<5CCCt zaqr?Byhv^l4jwJbA&q;NHj8ln-hrlnIQoGLs>i*<4(#Tccy1^|iRD6h#*Ej1gFzL^)-{9ijVM>`x8uyMuz(W`z>_*s@ z*ZfI#%X(*bbYAQ4h-dx~nAdh@ce>6wB-k!$GP~L0ey+8?dfYo}2SV(NqYNdMicwSOy7uoluKaO%>i~Iho9%H4{9Jt{*6(Kh)OBvU2ct)9(*MP0-?+VWN?IvU{Z3Cp&-<8g2K_q=`${{m} z8#S1c=V0s}aMT{-+kQ5^eBBkhxrW0t%J@gPz9bGJAP(-jQZ#IDY2PWg3lIo*9=@)W zaZq=qsP7B>^tF|22t5~U@z`TmPfx~O^ShdwIn$HLH*8Zq8^Zcoq5byw$Jb{myMYx# z8QBr0Onr7n*K4MivnN=21?W^Zgnlcx^}nV@?eM2-{AABVXRNXQP%kj;p$8r20zMX_ zI*oE$lkT1fQ6a#EGc&sXYRkk;#wQown&s|%gF!%nKcR559#%J&O zlwUVh-yyVCTOpLOV`!;Zc~Ox4qTqH2qZEoegaHa3ssaVAd{YX3=GqE{TMoY9iMwY` zPpB{kTsiCY0h9MI`=k`&U0bVB*0$qYi{9=#IN9~-EzkI~l%vebt5XmKv2YaPk!#)9 z>|d1f+6_&j6AFsoyP#We{NCk;)&Kg(Wu_;;zH;ET!^ccd?*7HJh38+?lwAI^4@UI5 ztvSD2{EH($y=&3>)5||1bl9UOJ#q4-P01HykG*WmWh+Whe#!Q`&UyQ$=ETZt{9f&{ zbRM(Hqe=6q==j~>?RZrmze|_O>~|2QHql&~$1JD|a-ixr9lp)xd!-z9Y8l&ba$|yN zxt_t=jnIZ$F0uXRr#2@4nB47wc`1iX3Ce+M<;6h+#9`>i$2X6TbMSV&A{;zgwpBEz z^BDOowxz^or#=pF*= zoCc3pfrEORNRp5}F_Z}DIK-JIK|DjO_h{J(@eQuv~8%HFVmg8XUMrhmp&ic~{ts|0?PMI+1 zMR7n0%Hd+=#X$tbVY$cWw8Y~F)q6WV5r6P#6*y$^gN_Yypz0faeaTT5h{Gv2ebRD3 z&$Saw%W<%FBlOITja&EYyLPg|jJHl5xqL+l%Hd+=#X$tbVVTcsTH^Pt>%EfQxZ^|^v_nHs~rQEBj>8~UH|J(Qf7ti*>cmH3}xE0RdJ3hVtpdptvI-lC{ zsbS79Da4OF^F7`J=_LZSPn4iM_Z_2l8IV`YTpZsqmgcqT_y0QQToBIROVu%nPp>d7 z$blab;(I*z9ny;0MHscxxI6BjnxGsmlt*417RPst8HdvO-hy!cUaC$N`92BLf*kk} zA->0JNxx$pGQFJF80B!GJo4hOIKE@dIF!C)T(E4gzjmSP)~&P)_Nv&+3v%E`>|(=f zTpAa1y~;)*%GpSyJo4hOIO1ZKIAn1#7c3LzkX4;3MmGj2gxx%|5$NLejGSKHD70KC zkGwc6jyOgchtfTW1>yX?RGlgkY6sJT{=kn25s&BVn-oN_etLoulmnOY$cw|`h+~v- z(E2~^CzlHP14}Tf$ol4p+K$!f&sclM{h+HQ|^6T6N^cVJz@7KKSO+u1BI9mJoNY*7d&!B zMF?fgCwNAgl@|fcAGBxe?mDoHsoo2(OhF0maSLuDNCrjm^H5m_R7>oIg+qyR6+PW1hq_%B;NnK^#QGaftdufJ49^I^&S~ zL*F0=&OA5CUiHpj47_{ahDixLavbdYw?ZgmQffI_`4R#7gF9%B`h$OTnzf6NKScIP z)A?j`zuL96{vTY^b(JoI2lVV;)AzGJ@ArPA*P@;ad(7+paJM;ivukgz8L9vN*Zq-) ztPu2&C({ViU9{rJCWiz;W>T2*kiv}7%qT~s5vIFNFNdi{c`m}VHxt+1kY<<~N50(% z)0G)!x|2RQ$f19>xrGT2o_78j9V<;tsCtfrwF@EOEte@n3Chnp>zVV0&YGB5dF_;m zgJ?Jo(Va3sc68QK0y|~?2MdLsQ#0*)HGot8?>7Ry4dpQo#DAlU{oSj5#+*H?vbDn& zPVQ|`i2a_?6HaeiSsy%9+xI{@%B;NlZ|x7M_tNf2Lw&UWZYdsu2m0^uJ=bhJ*Zxr2 ze~0rLGu0TC_1|~RSiAatJ_>c&=`t5ggJ*^4Z2&b62l^uaWo3`?o?UW3$b2vhpPY@&`B1jr&7!o*Nj?eXl8S&^}q} z58=GVbg*pg9p5u@&(-dOB7_s63?)3j^n+4R8Y{1UTK=F>%lSj}{MWZI^M}BBUuW$i z9ko^owu_~*frc&5M|*a5&(+%>Mu_*1GL*mpE|!}(h=4dae~5D^`a_6=*Lp(!ka8Fn zs$Wn5{KE;YWms=e1;}3?(S<@%fi72&t792gN-T zhi^AdW;Tn-z6Tf@QYpU{Zu$r4>U%O@mQ*o_du(m3}-3CiJOxrxK#$S0I>D18sGU`UWd&&-wC z@?QA!QPtOf_Iv;#)_W*JN$*Vg>&KLm^H_Ot&H072 zA6ANTU;)Fd9@BFDgS8tWmPB^;Zn;=_aS#D1rF)Gh!bWkSTT4{ z>L1zn0GPmnqHAuT_ogmi5l=_^PI8cW71PeN7dz zyS`tyWo!D>cCV@H-=k;un%eI9?*M8)>-x_wU(|f{e}CQceGR@R@a+*$FSt&y7i6I` zb6~Po?;EF=14|O{E7uEBh^sZ_>M;BBDNs93MBXwy~Hnn4aM@OH>n)hu|~K*({R&>!1}yHK61iV#8>t4+I`VC6+X zy9-)Hx!r~MD#}|YMpo64uglY~PnvrUta{wgDAsYY|F6nC7;(D*L!am8Gqy6yNtYXuYK5YFpVFVuAA2ia-fk?WlW$E z=QvOZNY-wYv5&?x%B;M40JZ&+|LX|6{N1#7GR$|={*GDo9>Bjf7~;?*-<jgPbb*f00 zg=s+!{D=_!mb>@7bY-T4a=1_)d2v`AaZ)QYo3vf58{|OMsbaK$rx14YOn+{_qeVGz zDUZB3sDCe=o-~Y%eh(7p-@Q?Q@4Y+g-%}1h2y&om|2*)zPglRC;?lTo&L1d*pWB%$ z%6Q*Aqs+>SfZBz|Id}g*I?nlX*y`h4X&M;5H&?HAk__is5_`4R!md)$maKJW2nG}Y%lJ}o=mr!)TMeqFDr>0fg}P0v~V-{?25 z@56oO^q$@8<{p=Kzp&dmU4C72LEVM5=X}#K`2Sovy`8baw{!gOZe4%!?CHt&8TcJO zU8Q>Tmd&z4E3bFC3vFYCP{!!pbmxC_MEivy3swiPOQA%j-t2d?YQVI(YF(b z{vJ5Z@nhW--cI(l&W1q_G$^W!2?Q$2c`1dk%i4`HW-UCU%*v~^ii2o44)NAnysZ;B z?d^<1IxGF(vmQ%=Z~W72ACjXrj@lTna&O#@LkO|rW&@sa6cAjw2iZ2+7&-dLvWQjr2DZH#`EcKDQuP4 z^73)Ttx}73ajW7jzWBXnsKrOV*R0p~n&~=pgW&r=bpJ6go_%|z=R0-LebwVN*`AJb zY=lt8I>z=0R=(8M#lgjEigWNH5Jko%uV1k5Kh5`$au^fjK<7l2F@esj{QlE8MHHfY zw05J6bqdcYv-0Zs)aQwY;}GxpiX1{cUnd;WdCK}h4osm4$}#24y{gBpvhUvtp^W*Q zw8``gICTUc)$F}Gw<83 z=TT1oL3!lWBdTX8c}0D5bp9Tg5d`M%osER){C#wg16AYI@hWlc90v-~cJVM!z0ImLNp%62ZT_@zK4%v<5lw%Gi7#ddI8P<9}lJ(?1^Tf~8s^lo7|0XX1TY zdHI9le~N~S{~7lOZ$!*Eg#5uf?JRK6d4B2-EkO=Ub*S=19i7EN)xB5jLI}H2h7!JW zIO)sH95>1%ul`|i#6ivWIov(Tr57}dLop62RpZstrD0mRU3AyDNgmOJVXBB=2db3D9)=w{^5C1!9O&wYMQz9f~FuBUMW?Ma-k4*@r>Peyg>Ob zyY<^Eot*NF{~(V(`HQ%Sj^h#^Pl{YZ<4Gr68vFI_S<|n}Lp6PBdVSXO{T^?0U({`3 z-J;rsUH{zWq0+Yia)+9(W75CB|MQ(Cpzd$8VE4xtM|c`N6%nh;%|4wjQ-~jVraQCU z9m?D9EX5k9Jo0kq#SsoW>;ByJ$8HNII}SE|!q?gInJO+fsI&A58U{#zfDl;#P=*qk z_3)d#^a-B4I4qX*2_+CCv-6KlGZ3}8v;ou|n|7YpS^5MSQZ_u5(lcoQ_`VS(C{C3t?AxCy#lNPjE;o#F{Oj7v&LF}F;Q$Dul)*&% zC+gQ_z3bPb`zQViAe#>b_D{m`ud{|wiu1EzQm{k#ENciXb%w6dS^R6yZiHB5p$sLK zOMrt2h=bcXjC1f-#t{zQC|DTxOL2Y{OpJ2iT=anRBJr=S-3YOMB8v=4EEg*;e-Ht2 zaQg^x4&F*A!oj0e;E;Xixp9yKpD1#4+4Jts;$M5`ya=(lLK#Xd7t2i?L_i$ex-rhd zTM0!tc(e)}((gPqP)>+);OO#Kf9fp$wRirF5bHz+N|abGmYX<;fH=5yW1K^A-5Ba0 zJX!?~>K9WE2j=ornK?aG&-pur_>pJqMj1+&AC2F< zl$?q3$jj5kK{USI{6X3LNF36A)G0v@RE<~5mKdhxI8X?uVV?vcl(B%~8D&)U)_Z&Jq!QV>XPVUSIo-|r**^6Xznq>#BU@j&*3E~FR3Rc&BSa+Y4bwD&Qic+g z6A9bOt1nh$Yk8=PY#r^3iyt2cx?-=tuJpt$$27N;G61F{b2ziLOE&z>^u)c3p}Uta zYxD6@&NC^*k34f@*JUDowsPYe<&0RAN4_)`$v@o*aCB!XZ~`3InF^l(mpBjsFr3+% zs*Oo6t?#vaId~tYAGtVfq@+AUlq2KP!=8QwyLgf#8daYty zIWH!!kScRIm#XJDP>3IS#_lK6jLv_VUWSQsxKSQ?`GY(`G#rPxKX`Xkvz{vC4_@Q3 z?IOMDp7z+`%+^$mSIgyGOv`bg5U?IjBN?^tUXFZ-G9nrAj4~@O{*aw? zgfm<73aN6G1BI}QXY3x8MudE^65$EuaHBl(@&|c>XgCgWe<Ji>W?dBIW%T7y7plIKvgk`%et77 zYZnv(R?k!FM~~TV_wo&2ll@|vQ5C?a&InKcu*jcI=pH_iG)=!2r zTYq-s6AwP{_Vff3xTK6JISv%!N1nH9=W9WP(Q(nHVnj>dXl@?rHL*P>3IS z-uRr;E?lYq;PR9dB`9b1NqOYOL9Ej-iv;WIAf@>QSi79_Y9xz4hPv zPHOk$k^gwcg=&~}-=h78e`$Kj)~wJ&$3Al8o1afktPslRMGt?z`|EG)uzP|sE3bZG zhgZ_?>eN>@#_xCe{a=P5@LgSVs~axDy<~R3YnLDgIxb9VTKGvW#2RYE;V^Y^&o^aCioi{Cyp1IzELfGAy`3FKM zqgS+CtbA#_6bCn2#5s8VUxb4&0EpuQ}7z``i9YuOyt>nmKw)=4ETX9SPxtD;{%cDejjQ zLK(ATJE6DodKsG7$~C{;5Kff|e(IWs2VL`{&HlDr@7;D!re++Lo^<=RJFl{N^51J- z^TFpgZl0gmQs|Wh$L+ZP^_wS?jS$NA=rL;I62mu7hHt;ts|%;?URGx1#i6~=9C4V| zTGJ2@RoYU@TIEk{16_7YWA!e(A-nt#PHlbk@{5+-X_wv0Cbe$!;-eEUoRVNlu8CT^ zM`s)mLfMo{2TmGx@sz}JvGU>|0^+di^rWFB+EppjQF-cKy{qzR*(TbMeF{Az=nqHE zx_$WvchX))X41jUci*s1|0xNkH8E zQplDt5e^=$0*CAqV5PDSd;%9-7K+Oth_jgfH>?pdrrfsD2L`zZqK%}cHz+~aL7LS45zkc*2U<`Yzg?_AH??%T2h(!? zVC_bT4dMUD>_!R7;bP?%(-CGiZf2?P!l|vPI(wQ+E>Vh7h-oKu1;kfv>}xGLpZfHRc9}6z}uTw4~=T=Mu-hSl%a%YxLA2{(1vkoo3J6C`tJWv z2*`|sruZp`1A^nlNtr9N$2sS%$<;%GTDuWq{)jS^zyU5+UK})^6o+p&1Z2iRQ~Z>} z{y`2WW*pedd2QNk7uB96Pp)0q4IYHpMM4=$;4t&0qhDU9qquP<4qD`hgWC{_9;^Am z+_Ui_aIWTWpV{%EG5aKLzaWRBG7jVWKXcW>_cX2Br4*eH({dcF-3SpM9%U%8T&%n} zh=4e_(D!i;-r;_PgSUNF;NU)qt6i|K$Dxu_``C=brz37@YSIbmQm>s*J*W0q)=BHx8` zYL}Wtnp3-8r_K9#7%KaN)SQFiqfR=adQNR?HbR^xV>U`q4i+mf3<4kw+9hlq8O7jj z{bk+|z~Hg6&d{ns)8+pgP;*-4{C{Duc|9NQF{k_NZa3G>s=d7Hg-Q;1+PA&*uc?_? z_oScIy0TAsVj6kvz}=G#vPI6At4pC4_~bCxI4M+rY3VX#gAqa*AG7@{4R-P4-OF)o zth^?*`YunC+HdzhSIH~WxD=YyKH1Il$_j`7hrRcJ)2g@{|CcRv1Pm&6EQp2R?y?0G z@lkA8P{1w{1H0HUQtTK+v76Y9B@s0-me`^gyVnvMmZ-36iHf~NgHaPr(f^sb^S#g9 z^UTir`TSp=xBTS&yu9!AnRB@3d(X5pGiL}LHJT&^CrmA{1(%~IISv$J|M5vCZNf1{ zA(V0Mk!O@?d5KHOzFncQd{6v44$?@;s`ujXz1F-cCb0z%Dzj)P484Ttc(*1RevQ6DfR$ALn?(teLJ&U^BVGA%D0%5mP)agfQs z;Sj#pnpednsy3$NI8X>!x;;P{d24t^nU)t0(mqJNuBPs?N%({lbmAz)1~89NW1nx*+f8Tp!cMwymR35Y+~{mW5*@OR`!{K2E8 z`)@LKhVQlJ6Y|PY4iv&Jp0Qg`?okdm$|EoSAf6yJEQhE+1UQ8Jp%V^foilu|HLu2} zWzvsnIe(xKuq6~{Bmw0ufH{K4+yj{8IDa4yh3__VY?n0?&RKD-#d z*P2hrD`OI`p5s6ve&iXub&vz)aHBl(;t%2pLc?;1`$H**fIoD`!T7@o!FG~Y;H3ysLO#I=vAO}8CX42_t z(qc@>amWfeSQCKfgiwaRXf9el?J0zVtru|)-k0u}gHKCyAkXcwK@PY!CcS-9dL)`KyLb!1G*ai9=( z^NbM62%2gxlt(^o8H9t~RU7Bv?T?K3gGZ~xAIv_8bp1b@|LeQ|lFIA4EGWzTf52jM zuXSnO3Yt_3{+V67Yt#IRg zo42BR@qnP85?|$&k9;hW*MvfxL*W@aQHBzp+y0j3HK9E6(w~t}N-2XrMz#IpO zlbLyN_@3*7-1o zB19bQ>`{4W`&HJ#pS8yD~s}s^I)4Z(f_D}-m3z(>_Y95~7#eTOlG&DN(rkv#83!|7pfLTQ9%pMMy1dMD zWV|5r9O)(M8lv-@Kt7znd@r02$9;bpN1JuE9>MR=63=*N_ln)u>o}vhwo414jQ&8| zt>uM-5D*S_yb$N$Wq9d$zUR{_X%Es(wTrt4Ik3coNw0nu$uCSHU^O~;2%(I2P;=4p z!a)cK2irfyIe0Bzgo8(`ghRTic5$~L2bOsBQZS}u^}viDwcT0>Wi%$5iw&9WH??s5VSlwpu`n&?m)dTG z*vyMElxQwmUN{H=;b1rS#yOO3?hW))KCPl(Iu7Zk*2Urbo2NSt_DbRFrxy0RA-!T4 z({dcN-3W0`4P_|NT(rD!5CX!%o?DA^@J?cN><{5{Ybl4}>894j>jc{=UVU?OfAbAf z3y)ph+5OD|3%e2GoEmnc1m$qi+=PP=5Dxa-TAYJ-5-Y;Nqow`9oN}(8SGm}~zqzB8;jEnKOv*MRBg z-6|ANf^w*6d7&VuS;ZTA3`v?h+1guj5+u+#1Y_2Yg5B6#vpBuGStt2yaWN03UBCWq znve5@bGO>?=-CtV2c#&(k35s~ld(KXQ2z2O)9*ff*2Dtkkr(?bPHwA^$(_md*%Y1J zjVP@Yfyw@eV5LY0wY7G#U$Z#9yjg>ou0V9_7s+;tAsEgxNjp)75)Fp($Quwsz<`ik zpYd64x~P>q`yT?~;VQNc4uqTK%I(c^G^n~NpY4=)=N<2VJd*8{LKx07*-qywn22(QZ@*Pfl&}UIS^Of@aRidd^90T{hR}#4c9^#P6NO*V6?pJD+~zJQpQ1e zC%N4?Dg>gFmeTAWTqRgDc-Ji*hy`=gs~~XR90&@n{A`*m5yKEd88wAxlxcYZAvHrd zEZ@9$#hPI_tQ_TlNh~E}N{$1Cu$yOuu$%Qko>4}5 zSps#>S(iKi|5cx5y+7!+wCBq`p6~u-w}-mkU2|LY^;K6@UfSina-ILLTbBVv-?NN1k&DTV#aH$Qb2J2`G=eG}_BQVM}p{Z@RAVMaG|-)BkI= z6z;!XE@&>a6o$1%PXANrxWA>R|L;~pDC5Zd`sVci+AZ1Xe=RRAS&q~HDF=7@e{uLC zV?GeCj0rDayYb(@y;WsFpb#k%wB0B>;qkwpQ#oYk0?#PZ@=`&CgV3;95TX^-KiA)J z1r29GC~`0jRrn&~<4qQXHRO}IPy57?kt_%l!fCEoLMS73faav-QvwpGT)tTl90wP$ z4PRu;C*zedflr!i9Vmp;XuDDNrwQG@{N{?CGJimsmKT2zPY@cGL);&{{00$!@N#Dq z8|)$n;}7ABjE^zdAXaNB{N8=q>3c-7LFn(Vg-}KyRddqvDFN|^<(mz{aWH{v;SjmV zSb7Ow858)VIe(xKPNVI{AC_&s?GL_OvFHyd)AHgE;t4{-a)|qbm**kk51!YQ_=9jT z{t&*%m{-Rn0>zk;<3J%`eP&W>tlCmQ2xVWr{^|?woW5gLFHolCg@X_f4mNNe<=}^c zBOE+hB^+exYdCBY9MJLVm_(o$Q*spOm{LC=0OHsgRYEiW8| zfN-#Z^Eijnz(&wFDAV#nV8va{0-v1m zZHi|}@el4ge+VpWrPU(5kkVuiQdTYA$m38v<$U+(q36C|*^-&Wfn`j|`GdB*$BW|@ zEgIZXKnP{mE?oWnMf(Ph5;2za z2Qsvl!Bl-ibp5~|AUO_!ka3fjQ?{g9q=)|(4~cTN{WzPxH`;ljON>Nu&Ewi_Xa z6NfsxQKGqMdEp=ggo7PU#yNNcg9wLUQZ3hQ+Qa|Vi#G^z;MGrgZ|zThbB*}JUn>`N zm{d#KjS$`F@s0yZP!1O@FC2t`aInLuI0vsojBxO1mH30(A2vA1VWxX^mV#Lt#_?@3!cZg+7-I>SLxvuErc@8V{B$p$V<0|GA%FNmYhhD=6d;_$8h!2 zoX3#%daIycGVWduW1_>kz&Iu_tnF+ZWBg%@AO}7fuZ#(N(i{g0 z0ZH49GQwayqfE<-KZqv?4a*_!58enR;t!tJl=y=?7d0x#!5&S%WNJ1uqY30lZjJ+X z@gvW)gEooTrNygOP|l%9$|Em5x18imTg&>o=oSFK1#}z&E8pRBjIMofE1jDMIlO2t z^thtPflp194szf}?BaXt@jJ?CPbiPPaFF&P^@{p<)_dRMBOE$uA57SMvmggvomY(3 z3kqR3&(s4wen&ZQDUZBxka{5;Y`uv4LutJT`9ml5!f+TF*W58`e?zr0BF`w(^5T(lK1as)_IyrseBbPyIB|X%nD2$pv8Ll%bB@)__jZkPz$A{= zU`mbyg*d$PPm}Mlt|iO&h~1p${T- zo*b_Ey!nb3KHRl{a=1|*dGQDF1fj8f^Zyk&nErdGV7=hg__XA4!n7O*3SsAXlmBlM zS;o9^9E?AV4RYYs__Ty>FfGS{LcqGu_rSFeb~{M*;%$Q*sIpHulh*oC zBoCstTMMC#dZ4*zdEp=ggv0X9gXlQ8{UF-}IpC_8wB*;3Jctwm*24}SLMWr&Xf9e_ zI0ymZuzd3%7TX82jxr|5fhvwkEG1(~uD_rVcI)+Hl+nm&E?QnV2m#@+eDfd{+lR(J z)f-mysT^2QHK=l+iUIto>k~Ce^<7@ASqlEie0Hq@9q_gl#9{`(sM;rH1y6dAscN{M(GDOkT0^K@Pk+ zON5(#n5;Q}$8p(EG1pFLyAh&YApZhNP!1O@FC2t`aIoz}oP&3o+Qnl+96VYj9L&jc zasG4vCshFXF5!EP30)q90!S$HA;Rjx!3rl(tMytxTf|glMnRdsfDlZP4j_1Gi;GATPVyG=eP3h^V)#KliE z`9M!A-lKzZI8h#XX`!V(kXfJ2?-gCo@gw3LujhpGdllOQGw60q>{Ixln>~{6ou& zKZqv?4a*_!52YMJ{?G{r;}3fTIUM6&oe+1!<&iv?+HQpC4^V~@%|*)#2O%IF>^e%E zL+N@_h=WHlmnsNp68_Z+hSU-UTC`!BK|YaK}Ct?qUD8y5D*SF9u()` zop|YZJlk13$Z(h#bM*a_;$%~@pWu#D!yeMwG zV9s60{9$r%{=n2%PkED{&9+x-WbLAvKTw!)F&rqYmFV&^Zz@NA;NtwDu}4M4pZ@E; z>c3B;`16mW{!FMkc`m&w1((deqnQu!-SA&6g#VJ?hG&#%dGY6R&#h0HXGzEVb45b_N;^CKY0;& zhhapqrcXa&hArf=(iF^f-c6F{ZknZ_GlEWbGcsym;g^xrs1zcBAJ62mBm9RFl#hNs zO^r%<k8XDCAn&v2nU^1`7U_lFh70mJ7F zSUgoYl#T;YJ;st^8G& zi{$OYwaqdZ*1JIisZv&g}; zUg6t}d39cqgNK-w^9KrLKN@eAff1(@|7=p=98gSth;ra+dErowQ=N{3sindpe48<^ z&MR{85YvJjvL77>PAB#;DR6$=Qa}mHfy+OFyl^PTsZPhio$3tVX3VSeiX1$|v>=D< zN5_HFiStbgoT)7Zl%O0g{3FN zUlB2deVlHjQNY(sm<6{YM!}G#4!|9HgC0TZ!eE<*V3E8V*MXN4vZ_Rr$D) zkt|=@ZiJ}+uR5qGK{;Hsyl{|qGHoU58{_`qo#&4DL-6!_v7Iy=jtX+%)oJ3selC*b zOWTbQ?c&Fd14>X17cDOw%8})(*iIS_vx6MocCUWAxiG4=rLcc(dI1!s<=RPYH$t51 zMj1*p7cDOw%8}*Ead4}?vw|F`!k^9VyLKX7!HO?@I)DDng9{HHu>R;#uMNq^h$hcG z=EdWs5I-VBl1SP`l%V{>$4-3ysF#Nnw0z~dO9!l95E_yivZ=W)3y##;RQEP^NpK`R z-k-ZCq`ovdQWsqPPB}CQhdK!o&Ga}FgG8gZSnHZ|_LZcN=Kh>HE!ovKWC_pt!#H!* zkQCxagt$LvZ*zZ+DC7PdlyiTMmKOrc|NfkmLbL5PD;LiQQsBi8e0|HmwupgEjh9^Y zyZ!nXFf2zwTaD11s!exYVRHY%alJS1_l!_L3Cf|O<%NRWA0(}0w}};Uh&b~G?>plS z->uWMsSs2I+)=Q7X651|gB0GQd3Oe!yXFIZ@87$B_BnGDv{l;bWlkANQ2xr5R~6p8 zd8LAumpUO7goULLtrMjbJX8b>BO`}qp&%*N|EJ{tTN1vvc=lnNzkbdaGC6aR*x&bk zaP46y?v`E2o%ZDX@pS5<{r&O%L@k~ zARO#Ir8tMueM%t?9<34%W*@6?2;W3b~& zOuFE)GzBWAe!l4}J)*J^pk7784?=dELi%EC99my9<~}VZWS_K3MuMi0SwYcuX}eKI9y6X%rsc&S#1n*uwA9YPv;MT^*w(Va0v(LFJ$FlNmY;ouSU~OQ;%sm4io~GZU<3D9t56I zrsY!tX=_a7gnYEU64~;1lx7Q4SQsE}pSlN5oMMH_9U~{ve(p zH0(LfxIdI~2>C-N9E?A733A}o__TC+n3nSg3IR*^lPF{5kY|)>`ILb8gY7rt{@~4M zBmIR(tHdAD{NhV0f*kmSymFKSg|Lff?A9v-D2E&6kr#guPY@cGL);%qIfVS76Am5c z|9hh5*6Qo37F7O1k^`P@n!WG;l!JiO&-5nas;a8~eNQUxTdFy4kM1vzEB0GVSxLc_ ztDpE)_M>@q>9@$wbmCthZ2NM2G4C15i3ezT@k^QaieK9EIZ?k1`)j`2&T3rN<>GqkrZZWm-NZApT&-b8&z0dghM(!KbDDAar=a&R2OtMO@~`}iru_ve{?`#&}3-nTEt$x#j`$|Ii=klL|)&%HYi>CT`f zD+M{c=)ONDZ1GL)e(OK7Tb9Bj`~GI$tL;Jvcql`O_75#D{!or{??n#A9|lA@oPEKg z>&)1xr7+;2$a!yVH$p5nu(FF1%|*)#hjN_vb{r%gWH|gF$l(L$4-9#B_*vwcdpi#4%KwrTqa5h!r_G3*_tthJ#Q5NE4k}7C7cDOw%5mP?agcQs z;}89V9G-Ts&JgIiW#3#hck-@T>f2oVpzTJ8@dV0HqPb{!;ZTnA-j0Jg?=2kqML7_% znA9_p*Gt=t5QDE598{EOE?QnV$VgIp4LgpCuKfq%Vu60MvvHK+&^O3|S7)luW=BlR z`Gd9_A?Ejt7f^z7xM+FdAOwVijR(a!cr*Ks#}7WOlJTU;>(!^r2#JH#R#XqHsIBT( z+1=#;T$bGf_;6)Iml0CP{Sj_!1-a4GF%+PQBvnd|8-=nTjdq!zGGEp01(j$)2K`?@VnBLgPc#m&@lL2vmf1eyFBbW(-lGtXQ*$bna5t3=elDFiINuK;EEJI`>^ z@+kqCXIlS`&NBo49f+6vw=|S+ka2@qKUp)%0h1U4WTyD*NE8B=j;CNZaRr`HrsdNb zE*xweD$c>neB%5e#KGIGQo_OH+m|)5t6kIg{r~wNN#La8mT=K`cZrw|UwixADyrV= zC)e7Hx%SzU=Cu~Oo$IY&c}S$)9bRYq==YebrM>et5sn zwjBR@zoRQWA(WkWN2+A=i{JY3$)X%(T3&p#%VM)*s<}D3?3>%t8rT33T<07)r*Y)C z8O?6JH+;YMJ8lR@m74T&9WUd&CgWI?p#1#{(sQm_UfS()oO5;K zT3OFA?RNNnZ-!vJA|WeG%XtBXvL9XlMO+JIDA8QByl^PTIakL)_H!Bz;rqRLHMXoY zz7fg$L7`PIOOxI3j1bD;!ZX|`kG!I4&mdhr~(O55`F`<#%oi%s=)` zQ{rN3R!>Zvl)}KnE(&WUy1cZGVz;!8HclFCAOmsIKr`7{oYd@-S}!=BVGFR{`ip6q z-6lS$?b1RhV?3+v*7CwZ2nYuoCyjIPMy_r=6XM{V3NIPYr1^rEtQ+KjtMba2khwDT z!f>DvkhI+>V;s*j%Cx-H1K}VvEQk2Gu9QP)T-ON)GrnCX$^nxY!e^%V94G`VJ#NQt z#`Qd-Ov?)gAs`&=d?(JKbiNbf;L$4a2eWUkPjz!e@5+2S>J$%ASv&`{7Hf&Gpf$Q@V2| zRCDaiP#qs~18=i|NTwYdI|}(}2Q!D^H!ZBFNLmZW-;~Z6m|5gHl!30$I~#2B%A&nL z+foamjJb=RW@vfoN@Ut0`G%UCqsfMH(~dx%p-!e9P2Jb7XtQ7B|I}aN**^?=_EtBI zTjO+b&L>u!@!}dXE4;PKp6foaUzfto+r8dv{XRYOo=u@Oo_>9+^Lz9xeE!ubefxMq zD0}gM{{LEQa+ksezw1|Vt|&*DmKUF{InfLfs;-~g+!!4sl%5_Aj1hu|hn;8JAwuPn zp+O2bpLRNETR;7{V)3?-_F0}y4XX#;U+hGnG?FJwHEf-Cq0G9$=uwx+rpd)mO}i95C>RMh7z9N z=yCi?-&C(w(DHJ$Q+g;_;;}tc^k`>k4;47t=`8@2c(C+Pa@cu^f5ml?0*2TVyIZto zCv@qra};(mC!(bgKO&Sn<|~vq=8JMDY5CNC35+byW4^8)r^kGk$R^k9;8>9YpUa-u z6$5&`dw<8re6>{wVf6>ju~33?d_&8Z<(O}gLfyQoCG{SKVvzDF&A$a*3RH4mbmEibYpn_kQ28Eo&99 zBv&OUgxQnZc0Kbs!GI9TR(W^cn44SID)5XlEiV`(Nu)IGHc4c3==z;D5qdjMOBx0_ z6C$ZHm()fnU=U+-49QWT5LW8}IaV`Z=NV;MUMPtDLO~kI=J=TqujT7_X~#oVLcyL0 zsa&#YkODK2M;?B2(hM25(UL(UM}b0g64!rx-t=8PA(YX4YD!u@wO=}T+et(__|i@y z(7}7CN+?JtA>E`o|9?is3Sam6toMh#-t75ukLSBT+3lgOch}rjeSOtcm6vuoPkvth ze0zZA?jL-=CrSKTK(&7?3I+*;^c9Z6wyib-j=UTc=p4k1o~q6{T(JLOycI?WHI<%L5z zQW!aZa2pxJ7hBIgEp=UpRQuENl{8Psad|i~G1m(w!yR!YalZO?wyl`0cYO`@|m1mNs_=fK~ zFC^`Ht$;t&1rxWsA&e~G7=H*~Y`wq9&Lr)^3BR7S*Xv>;S()~o|K&YrFIB0W)?V`` z8{H>`_z|Jo-n#wY6$=L!Y-%S_h7y#M`bof&T!=V3ktD;(;f)9t|){u4utTGGA%EI7}>}uo%r%S z5K`XQt0m~j#y|y*WpNTRKZ1RjUEuRt)f3O=mqeFW?)kDXl zTA!A#7xnI-bNFIwJ|V9hf1nUQ@|-*1yGCmPB`60j<&hT-LO?hy-vhp`UdZ^taM&uyq44b$ z$6YL40Ix__aKOT!y|Hzljr08`h4_)@&7T{5?{D86QqcVY%G+-qKE6-yjkA9QdEv0q z*M@`i8cj`6fAEv~b?gsvYl=x65nQinavM7fK@Pk+Cea0ATF@W(5uqJhj=Q?corAN^ z7bPeMF6EII4njaU*nTt4!P}}B;m}FHY5ZZ!AP0s3ydps!Obc@0M}&y0sj%_ zLJ7*@LV4tcgAfo75)Wz`5$904u`|$L_@fNnPBzKL&fyXf8|`r@M#Ok^UXdsdrUg0h zBSM6FwtMKsBL+(J6eTE!3+0g)4njaU*lSaw9K0w`#2q|XB^cy9NXO^@@B04yzx_C6 z{!6N-+~1rS_ozA%eMDe-_crNvx}CO z0gUWOk*Jj2e;$oWrM-7sBBl-Wd-8~%_giyvN zcFjf03kM+}9PIw{I0vuhx%wI6;5F*Hev4y9Q=WMgo8(`goDff7rxJ#5jQ5i_kJY*ABBLmv4e*Y${5CKE?QnV2m#?> zr#W#B-hj1Z4n8f-f&72r`<$7nVA26^NAmws2)lbZ4hW%)VXWq&<%NR~5Ds>DALmdy zybsii&Zar0eb^(|PST@d0wZ%q;JNObLfARfTrYD?aX61MhWk9DOv_8hEd+$d^37vZ z9NwGhfA~JJN=0iZ>NT>V=mTuB2YLJgF0- z{=h3^LYBJD-_J=Q?9z7g{l9ws)fe75ea8aNDAV%d55hrcSPs$Ye}F?^S6UiV4o`FH z&3Ps9hY3LrN4?th{SPi_EwHcV=ue(J_QS8o7T}Td2mSrE5X!E5VCi9l|1-9rIcfQn zfcV2+?^M)}jQc~gwb4%GI`#*jR*65j{$hNP1D}jn#sofTjst~&r0qso-|<@wdiI;K znLnUR%ZopVCkPG8A?^>Q90LB(83*GJy9GHcauI%eB(qm*;lVvS%Lmb|HOrHY5aY%7 zoidc5eBLK%vJHFA)03BQvFvk}$&TIU91R!yCl#GP1j5DPyxM6yY0h<;aPh7|4olsu z+at#-v=)ARLTC9P1QvE9#5fvdDA8OrH{l=zgo7Pd$2oW-#R!K^#?^+yxF`pEC4GNc zUfiX#d=LT)yAfg>{gH!;63s<(6AnT^IM{J@oP#$~jBxO1>Gr{ls||-;f*e>8Cc@3i zFs9|&2W>Y(jH6M863s=+3kM+}9PGF{%E2EgMmTu1N;sH&5PhmQtmsoYu%c>EM~l=1Jv4#%2+ny z8D&~t`cJ7J(tq0e5$!(%^&`-KhV#z3enaYq=|A@ia-iz+%25s!!Y-b%Tell1ha2UQ zPg_c%VL3#@gaHnLaA{{8hRYkAYv1C3$X{}fQLcLqguB|T_9Z|)+K%Cf4s%o*jN?cy1`^*jdUaHBk2q@5NHLc^YGjkeSN zmv-a1P&@5yA}Sfrxjcwdf*g1?J}oYdX*qwO5U_MTKpE#+c}AI*PYFovu=OI^ZwKl{ zsNaq(_nP^h@rNG=Iq(U2<$nha2UQ7k>~>5E_<4+#kG|T*Mzb;b4|~ z4+wJL)%dhbcenVjPg@&}JrNxhKuB;yZ1 z3Uc5R^2$*T6v8f^v0Kk;Q4TlCBQO3So**Q976uk35Vf*YWh|5s$5o4-MxFiZry8^RW6e#z(0Hct=C6A z-|F#7^@>#kDp&3@(7xyQe|=Bje?0-o3v`&&`_jBX)-o9{vvk3bj?_I_`)Be3QE2i< zX%eNLYTl^F!zgE5$TP~dK4}5Ukr${quQdJRLBaNrP(DK&Li+H@xR`mR9uFhLcnD=E zX?JnrEf%Cn*|ogHLuLG&j+*M?H)jXN&!KgKPR7smJ-SycwO{A|=wIUhhX(zhlP}h8 zsRw*tTr~U6#{VhAk38ew`a7ch;BQ;({Q*4hcSU-C0P^UQFE0KswLrdpT|>Md^uB0h zoE$k;QD^QC5dS|U=>NPbugEKt>MY}8{GUSn$TN1K3?)3D|5TcskMhV1hjQePbM1i1 zA186OgM)E3sw$tBD$6I$IGDH^g>WK-5yEbSb$O}x^8Lkn`~9QqAc6c~p?crR_pg_i ze!#Xda{r1+v*vBIWDsM6eDi^B*l_JCrsm+}-l%RapE$M+u zEiYeIV%G9y?T)GFm-Y7mxtbmLvVMF!8|gRI&S|P0H-iI}M+R$lp9?k~eaCyPg>TKD zwWk%LI{_%f%0ADm{GYl0*8^Aipfyv1a&`_-9(f@kI{~DHvpWHzEnH*iPJqBjKe!VB z4ziMATDYGCIqcy+Ato&P&!-*l4AFKW1U!_XWM8NJroTLIw;ySF@dx1`G%SaxKLj`g z{Gl@rX65&YAO}q0Q~hD-4;u&099!TMXDys*=_$mIJYV*c(I4G9Yiwbs|BRj7@?mQM zB`Ajz<&jSbh(GMvw=ldm?hj4HqYfSScs?y%FNT|&Atiy;bjKl|z=|AHx2*Hm)4zSC zlLS^@9reSh|CT~z!9i$mmuwehWWn0S`NOaa_OS`Cw7ew7kOV*C70u1j3@Nz{#)0H0 zUiKSpy~&$fCth%P&4@(lU%oU8`-!r6zq5diiAm5T$oOwFeT$+ z#$yx$9>NG=H^RDndB$U&-O@_8h3~cI)%Y|_E&0Tm-F_?0j|dTuKhfN4^>}e#8_MBC zdF18$mtj2z4(WPMTi0Ma#lQ;_roS1v*Gk)k5b#ij673&aUi_g9^Ky@a@rRlq2Tb8p z5o+fX2mOH`5h5Ocmbn~jQE`7C%Hc$LpA#?jALX}-xj{tdc6CDm@xB*$i7x>7ec^88A`N& zXnFAm@dTk^ImG?JTcPN9mgjp-i9ZMj(>{dnwVv0nuu;$H(+a;B_|^O0{&ZTQ>)}W5 zddvsAW?NTt{y?D%hfEvLG;+7X1xg5IEDHV89LhU#TBc0Prz@PYAH=Tb#P@@guIGgI zgLt$`IHczw+T=c`z&;3El~=|DTs_BuLVSO1H_BM&;u&RHKCKbUdwq|3;nw$l8ssqE zqy;&2TH!+XX?N`MpG!Kt?@fPyErc>Q|7lKIJ|!UjVE64s{lSlGxOx%t2hVFt{K1`r zI5Eh9PsS@_0-rSJ4-~>_wB0CUKO@g5)AHgEW!T4wKe&CIbAlZ1d$-r-=Nwe@huw}H z|6Ygb#q{_8nR6n9P)2l2bJFtS58?^p56kuZpyR;#!4rZU_+-2?Ch$pf{y-s|M%#@t z(tq%bGA%FuARL5-lw|3?H z|HWO-u9#=z7R%|cd0pGgjn*qyRaaH#ZoGf_5~vzKi?zqkD;5c`@)E!iOa4MCgD=8WF!zmnM-+=Bo$NV zA1umI1_|U1iFv=AYe>v}BB`s7#wJI2`_UpKyfr&&XGX#%t?Am9-fFFV;`n3ldw-qZ zwq`Gl5vShr_ol zgsjg>ytXZTul1eo)enF7;KS~`t~I%5-=@*^^M@xp)cob{+QaMf94NH%e$P&Q{D}Ib z_nrUTeADZTLMU6e%b810oi{vz3(B;-a5#3hiB=zdRYhGqVBK7L{y)H>*~{uuQZv%H zbzAseYr5EM$T{QT1-*6|Um(<+Yb_bK{PVj0PyhS8@x^(L6G9nrPo7bx<)v{bL)@D2 zoUBvJJyvaUuXP|U+F-8aI$>JjD%Ta?vF@pD1G|qeY+JE+zumT!tL-?SWa6R}Cf-N? zO<}D>mzVxp;=$5i+jZ*bcs{UB9U9MjJqh2x3A^q2j{$Aw9_!LLIiHB{k4b#O%x)7W zr%+e-y|vxiPLvY|8Xd#UI2Igofo1_lHsrA%EzEgYk!+K@Kd1^2#g)GxW)Epb$UuOuvXSl>C(N)|z89VGv$ z&dW*UTIhf$)&+K=G}jKFQ#*X(jAj|pHO#AN+rWCF%ys+rJ*l`)&%Ua}Jzkmk*Kd#5 zqBU8#=&l!bU!iB>E}F`7cyPjPZyzm%_z@v@saS$Cl<>Usyt{gTG`UNn<%L7Vg`XG@ zGFU9c@6#Jux*;h5Vx+f?ji!kyUad^}8zlTO7!bKY5bx@esm23AF4Jfh*g=TE56Xxp z@l4=I%Nr092r?jSASmh*fk04zL}!5@Lqaa;4FrN*THVB@sZXNek2Pj}bXx7I#c&2f zggadB`%DSS2?S|*gFwO`(p#nBk7#!l2!8~+tIon7jZ!(%YkRBJv0jY%sE3))wI)P1 zPQ9voZF}+5)kRVy&42x5gXji1_|$;>#ww72tm(XZ;+q_<@lMFH!dNeFyUcA#6806 zk~<#Ib_T+DM0#z{f`~T~ zr659$L|{Zqb7?%n^c#a*BauJxe$;ydZ+*~<7Gnb+F$Y2$#xp`F1B{NLQXViaI4V3W zhwnXlpiIk~KEq51Wq)}7h}Wm> zw@&iazR6RUi*l4{c?06CKNbv#GnUP5j)SNzIs6a;QCCbNs)tjxcDq!s|1AXlXCO_ zlUe_Nz2{;(|G&5E?KL-6UsH8?A2sLLi~tOuHO=6C_#Cy-}2D^D zpE~8)`M+$)mO67j`K1}`NFl~82;Fnhk6yaqvWDc!tNUF)SnNaz%HgEt)1F(#F|(g8 z)WuUdH-D$p-hMA%bV$`GlA-^5%QTp7g7RY)F>lpzT5kyZQbo;TiwX z^5PFNf)N^)Lwp=l${{q4@fL(b9E?9m^$hsK#mD~R4@>Wvnq2XtL$@A&(bQzmVU4{{ zexfP4Vvqfkk8f$rH`e>#w82|{ltTQ7&~w#GPaXNkreuff*4zCOQHBzfFZlUqLwnrb zm}q$+F!LWK2ry&aq`o#ju5I`(slC&%klq%P`h(lD*5=<`T4Ib7)R)IBWB-FYcJbyZ6j~e*1eSCYYA<2W|I! z$K`=*j=W;`yNeu90tdKgdEp=ggu{v-C(ZGAX60aF{Uq$mqP+4~%y_ru9d@MTbaNRBB~U ztJz066cD+Egr#OjsRx2J0Bi|@z;Fyh2xTlRXfTvV-he2}j?$C_J4!bRlCZJ<6I#-R zguPp`ASqiPb0q9Sz&oi0eO7HXiNA zqO>zbIm#%HytEO*L1@^{Gul=LI?urT-ydq|wz63`xcUE2&HDded%xf7jh^j2p6mX2 zw+Ff|todE_)m4{P{=Ca+6+gA_xjg=oYPoIjGdwu)`RQBiHZ8IL=%8uI(w|M=_NeCV zlEdD6c<*I5ZkwOuQ0R(>&)t9Ho3eGvZvC%ri`-r;_HVsH`!z3p+M3*Q)-JQ| zeQ3J`Q*!RO_3wtA_wZk3E5EZ7p?mjPvEtxlyNnA;up78qJ|!T{^-i}`G}J}Mat+?b z<&MX4KCPlVIu3Sh-?c5hy*M4ij9Gj8-72cy>sL{+`NePj_~go#)C3uJ%^R`OkWVLn z_MkOE{>pK%|4|C@BhLt-?8pTh4p~o>^c{2UvnQb(Ay3|P-M_flhO94sD2Y47$kO|) zLiIA;JEA=z9nIBRkEm%&?=RM)xxEHVKkwGdrY1jgquM8LY1?+M9;+qyZau&7=FKbR zYX*h*@j@rG-eLQ!^iB0@$>=TCy5<~Fh7yz$!`AXL?>E6}S^2Iw=dy~%=*suV`jY8? zVCCD7Y!_X^fsh@oO){EGFEG|F(d~>EuBaN^lJNETntZ^VOHha(wF{uk<*|8i{OkRW zt`Oyv*YYN2EiPd^!?;8|W?kwMfta=1PSmkWnCN|ag|T)C`;y|X_IBC(rY4NNiQ?x- z*ehx8pPEIq5y}nVMHxy^PLNv5OCw>z_GVCLg4WSi!XLVK+)9iL2Cbb-*u%XwZRs7x z8brS{mo43LgO*WcG>0S zS(Tz3Wm?|2gb*+;VP-l}mk7*s0xsd>DybVX(=i^AUSh04{KySVd1q`mbc;R}=bWrS zPzb}c;X62GXHI&4{`{K=V=Z7v(6UJo4fSvi2<%#IAiuhjV^Z zyyJ01ck0^2iGZiIoZm8!L_agCG6tm_uDBu~Op?n|&t^%s?Z(@O5+^7=wF0`7g^T+&@9tl!(n8Q1Fz02GIPU}AP4N$LKEEg|MKVQ zbPweyqdfA$p&Zk_w0*GCJ>f7S$bo&+ydtquObK!T7DB{EQHB!Dh4RP?2bu7SKiEyz zaepY?bR8OA2RB_i4sJ(Cv*n;WPDVF({CHhy{{=aj}lK-!|Eqsshb?K3- z`ufEy?w`1CU1HDcdP0{uWlJXg{XTOz809F_ z@-mV+e#f~okdbb@t|>Z@@w;aCJwgK+FI-S;sL~0r$!lc>G82Op)E-qncv@n|9NSFG z7QKU;87aiT#133MA(XL6Ky%XaDFLabb|4cS*#-tOfsw6GtAvBypi|uzzQ>qP$SY$4 zpEOrNDFh^K_r=a1_W1WbZ=3VpC`Xx=7k>~>5E_<4+#kH<{f_;iGY-Zd!uJ^4F_(N& z+m=dzh_M!9(;Np1F_7gMA(SzI)BZwv+xMChe=z%$ghTiq zFI^b5R7rZhi;1@X#6atdA8)a;k(f*?4Q%?{YmP5Q=ctcj_521SDc}<9e$p;a> z$M~8FFR!`TA=45}Vr-5nISv#8mL1S3YZ z4>Ej@vE7f}-kN;v@?%gR?%gMl7vrC<5I-XH)IMn*47(|;t(YeR<+Q6>UPds|PD+%} zwv*8)pc!5%e$(zp|5s~*2~>SvJy$QZT?hfsZVD4+C_y>>td^Gn zop2BumP2$r7vK;W&vnMZtaI)ZAfGtLL4SXQ9z6cF*V`^>NbIIU;}1>= z%HgEtQv%`-ww;XogIDt-{?JJ~Y5ZZwAO}7nCeQ@(>NyVDE`+fAO0$_#`~f8>$3L{Z z_=9+Y(6Aih{!q#xx(W=%h)0!^eRI6uEIn)->NmaKRr^D|3zTjbfS+9lb+5* z!l;;*tD4$wg!cTx+utk7Pyz?IXnEmKj{UukgWKO5zPguJ#U#S0n3m%}A$}a-;H`Rt zw^d6xpakV`(elEf99y*<2e(x#a&@n~IwlcD#k3p;3i0DQjzjGqz5TtS3?*=Yi+sSWSA$~+?$-GnS_7S@SM3kWf<(y*F@-m1s zrx?wS5Oaz#I=1)sdUQOt51(R8$1vtNr`Zv*zwNsPL~eg?`pu>#c0=mFTN4hYvk^7t z5O$ZU6yisO*u{!6l<-VmR4p$KVRp4j%}CQ@M7s?CPUs76^n$DZ2BspI+Zrl%WLW=-r|f;^*4%gd z!%>FA*hIRb9A#Qw!h;5c@US4F@j?GvyP6S*llt|i#3KZRiIeUVtQjulcA7U=-Wex9 z?ZbC23Fpm~LKtfE=6XUX+vwFT*E4x@f9}>3P^LjumM3qna|o#!X8mCAAP1JZ7S{FO zbD22AFZUjO+hddJG9EdHpb#y;Iv7V^?L(7Xl2nV5IIYif!0vtl? zi=A*V{;+3|15181V(ek!6X!TksLx$zJ$uRibqUW1p^Uhw_7}<{pL&8cly;ppI{)`0 zpw1rx^M9XKi9fiw`5r+IEcx-un1Em8I8X>k+HRB)Y}WpwT9chRcZ47pKQO^^7>2qtQq!G=yC1-ZnLsYtkGKB zr2O&TCztMYrV!)SM;?B2(hN^%FQ@F2b@sA5pHYr7EiYBm3}{W)Wp+A8>t%sDli0MC;* z<67CqX~wn7HvwKs!kk+(N8iJD)us*T)Fd5|OwER*bkMolNg>9mci673D1&Jn}-I z9NT+cNJv7Z#vcy-P8^8lVM@*)ume~;BQ(v~edV+?bgH>f9(mzVj_tjUgWKMFNRR`s z&MOkl!;~Ng?AAj2Iu2i*mWEDIjxx$4FC5CTz1MND)BozWgM%E%X22^F<;0XA2ViL- zl%Yg(p*-@!p&Z+L9S7+*O$LC2EC)T3VsNwn%wt|W{^cnNgCfqy1yz2Jw?Y))eA1#b8 z96RbG`F|!9=vwa>bCAtem20Ia#E(;*&|1TfuqmBTh7z6`w`h48*_UC-x1oMcgWLdU zjw#7Jr#*aoFRzM8bgh_{<3J&P+{tlx;Pfr+1qvub3D0oR^1`7EOTKV$OTOXTdwJD) z&ZM_oN+(RqanN=n#IYolp@e6+XnEmKh9zG($T-H#d&9T)K7apTB-Pt)1zvg5c_Uh8 zyfi*pcFhip$9j~;X3!GCERpP(FNlt*61bL*UEmbKQtzoMxz zI`6Ib+To7pz4f8q+i_@;`M;Ux%n7#EPbv=cK3(mro!6X@U`oy(umih!MhImGZ8GMZ zS5}{pXfBjTUN{H=;jrchg{Js!@4C|T7=fs@Pb=%S;NYUx;oEz8bzbq#`&V2rc*=wX zQ-U0@TMIqqpsqh*=dq6;Fd;!X$|#S#a1a8*VT~WmZHn*StMm4&cI*#6tr8Ay_g?t+ zUS6G7e0T8TqyByEgalK99Dt>T-gg|f|9HdOe*c>Z3CdAMdE|wI5D*TljZT{4*?a4} z{i+cT9<34%?o`Zi!Futksu%2X!;~NgU||W6$#Z~N{|C~Yax`K)%}+?ucqcgdE|wI5D*S_3t_aK z3~V6`v=2Tl&B1ITG#riza=20X14AB63331yb|Hka-S<1(4#G4S$|Elv$`BW$-*j=Y zqrVdehCG-OZPyEwBt+7h4RP?hcd*);Naq7M+G_X>bxRD9!v>xz-}${ zisNv|qhsv&66GkPJo3V!3~@0yxVYHtAcw0}yc1b=g&>o5WfYyJfqSwmTyPJ3(Z_Mn=!nL!Y@n{)pX z^CMD2?C+h|S13)KLm__L#D#;l-1tSCC`ShXQBHmUEiV&)bMW8nr8J3iqVb?W2BA&{|CtMXDu2oY7vK>9m~u;XP9h z*dZDHlb2q8bn*6i&!mR!Uf<=$y0-1JnGQlI`}nn2KX`xg4#{VC{^-($FYi`BnU)uq z+@Z#d=(ej(8sb-#G?boG3iRL&k&#S;t)bQJ;rn}ewX@#1cg~|Xj4%BDzAx7~=c64G zOv$xWEB2l`F1wwYAX&=_6uZ75yg3!F>w zX=Q%tTB?S0#kW0tfA4XFwwbs2lA=Fg0;c9TXuEhu2xV~5{y}-Th(CxY2o1|2I-(13 z2>FBOH6ac%qH7P|-+So=dk$-n`HhzssoJyT`2K5q^E(KIdlV4^8PvragRr?;WlO=an(x)f0#9 zC-;2kIZy~l+U~cVvPXBgafw_SpP(FNT3&iC;UF|DhiJzY;1KAzI^$43Z$P`bzqj=M z_m9;`#$7?1z$2>{=Kgp5n(xmuLMZ!S(y}Xi?J_?3%qd^J|G-1WZ#h2E+>l3KN<{o) zy=ilshDYm3y|)J@;vb$D>3Y&+MtCR9YM1+bPdcjP@)SNPuZ#(N;*3kRaG?;;wB0B} zSeF-n5Kj>6t=(~dD78D}51rU8J0aS81V^?^%J?({@A#yd-8G&+@cp$A%7_SR|DZhb zDFONZ5+`hm_nUs~FY^68S|#7#^_$&;9C)?eUBsB+-NB0rrIAt!@#8or^o#$TZ6l*7 zLkZ8o)$%C;={IepG}>?au|LNl&~N&*N;tTFvs;wIe$FIY(JMxiIkd^l&;^21Hn5?%W=?l@9W@QcImb@GK$?O z;TbMkUN{H=;b0@BaSmSWuVW5Atr89rDK#8wq8u=Z;2oyrI8cZmw{RT(aLKwhGK$?O z;TbMkUN{H=;b0@BaSq;yIl{rCRl>ohjID03j&d05Od@!PX*mwsZiE)JK4v4M*o_jN z;iBb*gAfo715Knf&cPcgMmTu1N;t@T&-g=Clmkr|!8=ULanN=nbjkcnY-AL>QNlA^ zw7hT-0>Z&YO5+^9)BK{dNU7ma8RfuYFu^-a%W=?lBg6_ccB6!6xM+FdAOwVi#0i_@ z3D*M&LIeGUA6M4?U@ucj=l`?P`~P0*^{1Xs^mwrQo!xHg`s3J5bzrWo z+1j3rJAM8mcfTVbP=a#6Xn6yo40nP6LT0&5;t{I^K^)qD@wF4?k1t@u0sDNk^yA*E zW!WrpAhcl!VfaCB4*lh9QHBzfb4$3EmvNf`VR)D$gVAlQfg^)~ZLGl~gB}P;e9*pf z5CpdHak+b&kDLQRA$}a;JYxNg8&_X(zqOLTEu4E%^P=$ul%O0?THX;b>sWHHcT;p7 zYh*f9x0koOc}-v)%g3e1v9;;G=Ju6>V+fWqrZ}4j^?&^E>8DKDZ-;z*xWN_TM}&U1 z+5Wp;`0fsgUPnPWiw{~}JVMqB1czNOh&n`Iy&&KaovoY5zUKA;K@OFs8JC^3haPtQ z`%ir}zCfs!PyXkjS`;WqUD8y z5D*SFUL5D(?G=r1@Mx8AaAT|fQ4UmXmi|~G&T$wpcEPkAuN|MQA0tG2fZZtJne}Nc zFC1jOIc+r>8loKhmY`z}ovk;!{C|P<|GUb*{vW=?m*FbYR6@*+uLR=v6ynFxZlbWT z*Eu$Rk1~|-jGtM{RquIbUQ{J{8hi7w}t6r#TI zjGZXk>e6((_#&q~Q)W5~i5VbYru7`h!L8?{cldV3flrAkK@Qjr2Za9M?7nb%y7OIg zp*-@!p&UEki~eBN|I-_MHHRCNKd|J0DM1d{ja>+#?A~?Ko$s0p<&hT-<=FY|IHWt@ z+r#(w^6I=IOAeS4!`Q9GBzn53XB$ga7 zCCC9-TIg}d;fA-;o$n~mlsOK_3x{&-e0Lnuo$u}8`+M(G^@4COrUW?v3l0dO?2WPM z&Uej)^2iH^a_oF}9MYZd?L&g&7@9I(k#H}j1UX>07D8FCF6qv9&4u#F3x|Pa*!iAv za68}IHwbb#OZfxgUQ7vc02X#3gtFG%)1B{{3+0g)4&~VS?l`17-`fX&Ck}*rF(t?W zyRi$Qs~prqd%E*obD=!)!l4{H-yH|HUu^v#2VR|5B&>-kK@Qlhh3;`2h?Sx|Q|8)9 z`!oRWLnLN!tU8=|3y2d z-EFRIrVxD$&$PAYIb}1RP5UU6qm1&%m#L3xnA6aZp7u9wbNI4eUY%E@kHVB72kh2D zH#iPA-kB~Aq8w$EN4`vbl;hy~sPJXIEZOpkELmbokOQ!^5Xv~6rMXZZdErowbxy~@ z#yq;Vr<@U&ML=E_YG;QRBQ9Q)wHMA_3DMr+ueZc%YjD?x=dc0 zHOc)?Sy;N_OCeTpZ{6_E>;BjiLfKyLU2Io?|KyaTOv{^;pt9m?fS6SG@sywq_M%#U zSu2zhG`*k2mMVs+9SCuWI$7UK@9Whd68Ekr95-sa)x{>3<_wP!Z$QWjrvYKs_u?Q**Y`po>TM#cFbEmHN#5f2^uk^p z2U~N4Jx(}imk9;B)~{ZF^@Vp%-!ZxFfu)BH{?FL_`W}V)j^Ap~v){;%#_1)_i4e+u zuH#u#`WaY7cs~fi4ghHmwl}BFMh{Es9`LNNiB@OWt{|(-i#4cVRIuGPscdZ?w z!Non~%wFK4`)A!ZVcnU)t%5Dr4a za)_RL2yh6TduZr{gE{xm8066RmW!XBxnt2EmTkT5558P+rvx6kilM(h&j_Jxt7k6% z`$qkDN;D_R<3A|@@rNyXR5ZjhAEfO=dL2;2A3U!q@dp?GkuhArA1-sBkXOb8K532v zg@B~(Mp@g8mu}i*g`E=ZA6j1gK|DcdSPpT2D80}-ysugYCZBIvFtW+AWtIvUR?FIOw@Aszx6+vA~ZA_1^fCgGPP1b#l*D zFP}Yam7)@qk6rr6imx5Mb)w~EYghu)m~(=o{|KYM)N zKMX7?K{;@>yl@Z#!eP%F=MIl=jA{H%c@KSBx?T*Ibu`1FF38~!v;X0ki3Ns(cWySv zF69q>_G)|NFUO(Ijh*=sp&9!hvv4JNc)aRGk_ zulKw8os6v;WgkSXa46jeLDRLdGl8W(UOnSr_CaX7wB0D#ab&s=0_7;>nSBsipR}0e z*auPMV%AwV4f+SK%2F^(f0=3i{9oIR5bMtc zYdH??tW5a+US1WG2h$ALopxTfPU=i>CN40fZ0XSis2;ZTmVGLD1W&$(^1-`vBQMC=sPavZeX2oWpA zZj|s07cDOw%5hf4aWLZ;X&<%;a=6NkZ+T^wB#%BbkSUcyjMsQZ=sKtDxC7GtVkk!$ z<&l>ea5?sir5s$Q)b=q!4woqo40$jm=MUI{-8>_NvONZ*`^7XD$|Elv%CTR}ad7*^ zw*F2W81i6BkOOvO7ebdis1rw}`^7XD$|Elv%CTR}ad7*^whD6K)pI97YunYCCC9-*o6?v7LHE$i)k*DM_xFT zW51Z=;Npc_2074_@rn$2FeS(VyR{I?uKoKJHXnfILV4tcgN!HB(NuG7G+&T^qP^p| zY54qq%7Oi2qk|k+Cgv3x@?c7k1F*CZ%2;#OTquvca45%qF~`B|7faXwk4ew}f6!}L z&zE}qsrwV%5?TLWQ2mRlb1P5pGPmLw`=0-$e@TCx-q@?xbGo=3iZ)boz?AHs`a4$% z+~7nZ`0>m~L)jzOq&GNyx?ML}@0pTh%8X6&k04(j{_&()-Y7$f=0bVog+m$kLcl@B z^JZ^M_`cpMd$e%(!WcKNAzppReS=H${ZWV?2RNZ;UQUDk2iwDtyBAP`a?U+!d5Pc4 zIYx=!+jETZ_`R38t>g8a@Hs};UrW6(>lk|m`zcsKtp>!R?)L0WA?(Iwli3UDbK89 zXnit*DaSfSk&Bu4?jH0HUX_p)Q&LRJxR`jcwi}_h-boMHp$sKF!$r#rhjOfAI1X<9 zKQYRIPsOLBisv}!`i~IKgxx6NnRCxtUO1HF+;g$LF#a$h$l(&3FLq*qSH^@O2MS>q z&j_ImF8{IlVkc(j#VL=x^dG_@tsToTUu==Xa9Q^pA8aq~Rr5Vu7*jHTFzp3)U^mYQ zp=|rD(?ggKJLMO>ImYHm)trz=pKy`(BCRdUF;8l-y)b!FcMIl8y~DjauZ#)Zf0(Ai z&A6C6sT2a5wi{&#>+-TcMC=yprIl!kCwvdAg9rA9gxA4~cANbny9Vn8Q!+jcO&p&z zv)i@#7wPLImhO7iJ?t9-S}rlXRZ zF8bS~4OZDazn`z(72-#P2EM!ITVsZfN``*(X^%hlFDgO#3(tQ3P33BvCt6+z9P*sG zpW~o^Rmjxs_#sEP&YU%5vq9d@teHp5o^_D?r>69R4u1o9Ag@ugxBD?`uiZSjUi?As zYi$qT-^&zzBWEI^)Q$f&*rw#owNsnALi~u(W9L0-^VXsaB|Hx zL4@z`g%HOoaW&+(YfDm2F}Seds)Cs`c1d4azK#7uwAD8{Gc1B zWUq_~T-lxDpzYFjqin@K+dp{1E6qvkf(!3|`iA2D-&$Vgy~06gSPs#15djW?d2eSN z%)IwUK@RV^r4U{j6W;ve+%Z!hmQU!{3km^A+x@Onw#NC}4Z5RIX^Zz$l=#twoUJGYO!8a{C(NwKmTGxf?wn~P%o%FJR^j%(|`HH zXZHSlM56tL^2n#2AoXJUv4#5hJxa~qiKvd}|30mfdg0dD_78ISzeHGeRhPd&6{m`Ib|jDWhL?*YgU8GVFtJ?W7q`n)RhgK@KbtV-iCiObPk}c55M& zvEHn?P#$^VP=Rh(=-*K+$K zpCWvDFRN6Q=ATaXD6sqR!&?Jst|>%U%rinLqw7A~g{)9UdF16&lwrxUp>a+_qihAR zp}Cs&^zz>7s;d5dPueOw{(b7HV+Ou1QHfRD5ayV1SGNCl@~~vg3q2~g+H`2XsiqJ= zuI+?oj(hz4f%^_iPCDbPNvDW1l%Rb2Tdy2^-teK>KZ3kWc`N2VVdlIieo-NpPQ>QC zBfPAeu8j)Jc}I9Fqq>c%ld+u1?wsD==c8;R zr9secV8a9F{NvKyTZSdPdk%y)3?U3h8A^Em$IwmJePP7VM9X)(YLEdTJS>Q4meK%- zKsMjbK$umn*}>MDkBXPSap36>w{KIM;O#jO6ynEWu4;U~{b_?{Ze5#vI_;4S*Yl!( zD92;8eCi5PGbBb>*ATB6rCDo3HN&evB{f5u2onvO739D-#RLMHyn2p8L2m zaTqP1dV;R*7e_WndcEW zH9>Lwf+v2%(IcqCrs}4@wD$L)e-To&S$0tr;PQ=%i+t@%<4&4nMebRQsRhoAJt+ zz&Fitpb(I>-6*5w)DEKM#UaEKgofo1_lHsrA%EzEgYk#yK@Mzv!~~YeRytz7?F@4q zD1@EI%o>0Dw%1Kb5JK5U71u6YyjNZFwwv#vOv}ssUkC^dSyifQjL!c@csD(|F=b%> z?|V&2&nfFDX8wP8ki+zM4?gTpF=d-?#y!9ODa9o*Ov`bg5bI>8-8OpE{+z_ci?hV21n*ilea6gNb~h2YEpGk}T@;=Te3vJ40&Ziu1? zhzo)k1U2p&R}^=RqDCd6G1|sxT$8wF78f)cHSVu*$)?|_uDYM6`*ckW*Y#)m_y7KP z-s|E`=c#j2=kC+BoT@rCEE5;=`9p$MhJ&oD8Go4R<-jYX%9y|_O>v+QkhI;*_Zvoi z^ibt-)e*{3rsc&S#1n)@%pvFx9u7W#Xn}+Ahhx1Q7z`28#zY2*DGquBiO`&{Zi~MI zy^e};LtE`+H^b-|e|IWo3)T7YLQ? zxZ0(fOvWkOxI+AhQ29?2_j8Iel(aP?7kMtmv6Q^@SUIe7x*&jC=d2Ih-z!z^<*G)N2W>Y(f1YB` zdt*0Bc!rCX7Y;eBbHc%{bJkaQ+bODwNi4--T8aaO_;FhYug8A&yf?~F!ZTd7yl}{2 zof8growGi0f3NrhCK12Gv=j#l@#8vm9bxt_gblt*4ha(SHhwn1Ze-n+hyw|zKWabOD~rlkA>4S~|KT9xNqzp`tpBfx&;PUkztztF*V`L>_5N;< z#8+j`AHNp&l%6oYci6ByZi_}oJR^iM4#jTV|C~|pZaA)hGRh+_ z?e(_rn)X^+jhgVj*5pb5=G*J)MD}CdUf0-tt@Zx*^a6K{KVi-DR0g|JK8 zjk0gY4UCg2tZ>RvrsXAaFC2tM%ptgr;o;y}$7qRztYg&s@9(|JoOA9_@&`U;c%;4y z-Y4&$XM|8jd!ji}9(hYZ{6SiYRy^li>OW*$Ti@OLUGNI2GA8g!QyeG+ByIQ4-TObP zk39^Ga+GO#@dxn)p%HTk`$J+knENh#{xGDp`jz=Eq#v!8{$pKl|FPUvomWMZ29F{K z(|=Hi_s=szDBHZ&p7*}lDc`9uK0fcQxgn1}OQb{GdbZ+u?^6FE=e_IK@t*hQl~QF) z;1w6SnDgEg0-ClPWeDr?;t%2pV!iYlt$5zMWVdM_x_Q3~rewStx;$QK(QeakQi%7@ zGeRgM9;p3;^2l2P9a{Umcd6er?L${D2dc(UfY2R7f)ob|@na7+-u%9=J@1V&l<*8E zEpG|PD6@6Xdpi!Y&S}O`U4k68a3&GD!?Y9!Z8t)X54Oq3u^S~k!$r#rhdj=EI}YZ& zw{YmZRvZZ3VOolVwtI62Z{tU7o^|X-3D0oR^1>mHJnN2w&9h$LDaZkn2;E^?iUWm; zKROPqKVvsac!rCX7Y=#kS$7;vp7kHl`oI7F-tW!d_0yv}M|CbMD@>1w$L#u$JEECf z|ECZ?KInu#d&!<-L>WqWCjO%3<$dI^zE@ehpt4pD0l4+OeqO(%s@FJ^SgOOclwWGQ zwGhfs!ZTd7yl}{2eGd+9zURNcm#W@7Z|wd@o;E!?;G2PG{dL)(Vk(0ahf_?R11UtF z1B7-tsK>Z}EFBb~3?)3zZ}(#DsFSKAEiW8ohm!PLC*M$3RU6#lTRSwq;VF5J(X+!h zxtpmtu5}!$Ts!5zzn7|BcVqWE`iY6d?*8>YXI?ir!n70zZ8t)5pZ)0{mMkA!C z!$r#r2O%IF=00Dj8XD$M8*f2si9>=`hJ$IRq~G%2-%C|5KjoVT*PJ>%niW0LfBgrB zM3|Q1pzTIz#f4uC=yd;(A_tV994=a3I0ymZaMCx6s)mI*#1oj*eP2F*NYKh~uz3*b z{rC4$)xB=-d&m{SfupyWmg1o8Mu_vfC_@R)aMAL@K?n#3In`NR8Rn2Ux$EY8J`M?5 znnShQALPHkm#VII?IcT1zi+oqHZR7bt`I*W^x9SS+#=$$G1N+6c z2=*8EI}=%Q!nBk>XuA=5agoi7f!!$K87^90IOMQjjQ+y;!{$K_D;x)woG>lLLEDYc zo8`wobljYSi|qqS-~bmbFC22%F9rv;Y@6~VWM4KFb|C~jl%a%Y)=jj$w3EU?Xv7?X z;|I_BfoJ^C()xiJPxkV1z!Y9BAx~a$iUWoCQLm%w^+S}yNy}RT;tz4$JnRqIxVdlL zHQ_bIaTNQ5q@5h{1DgL!T|D=eE-^=JemA|?^)fZ%2u|vK(9U#Qecm6gm{OGyLK*YH zQRdK(C`Xx=mv%}{Vu*Lf=Td^_){-;1=GXUWIP;>Gv|~(m>yAO zOyGP7fY2fVfk~n z#7AyY94Lfc+U^fs|9y8Cdrk@EDAV#eol`1tkaJ4){`-6nI%nnmS0%m+rt0`biUWSl z$HOy1C?j~F{e|+#TThVhB94QEzl+4ozWMJW`SoPJ3%jqi-hZF(XYLhJMW!S}7JBm5 zP>A^(&j_Jx^=5Ydhku}q^2iH^9QJd%_QCDvtgrNb7hfq3Oi3`s>krtCT?nCUY&Sdq z(_AQzyl}{2KPTfkyPvb(e}6Ai5vs@(22;Eouv-hEjCqabLV4tcLk{~n;o$az4D|ZL zCnlN2gi_p`CUF0mHrYjr!*AT=m>-FQf7biK{X@hPTD-F z^*{1*pz4@Je}QQ!4iw@?;ydr0_DOt>^^#3~e(65K0VOC0u9g=L(r?On&bZ$Up65)q zfUceNWe7=}`pmSG(r-$Jkoo~$4pjXS_o^SBR5PM_$)E_+QXI712#q`UyftSp9u)n3 zpNil8Y5epEB`AlBmKP2}KsdzxMVLdjzwmHK(#mj<{=#tB!OMY=J|@uRQS}rDZ5Kk= zt>fY-rxVulGQJlMLL=r79N&A^4?N@hmN=OC-u7M&{~mG1^#{o-WU1%caZ{p??imv8 z_VAl;zIMgn^u9R?@#7QDiQe03>C7!x4vD6$+~%Dp$4!q=g7SwiKdk=Js|OeVN01i+ z5;qrrh~wsAe@H}voBu9qTZo$*f7s5;fsj5X5HF|dDSyy*A%xvJE{<{*BecBugK!WU zF^8}}WI6c!p#=`cAGY;!pz7BgcIe2R;r7TDpBO>j#EIe=i5RbV9#`?g#;=I8cZmY5!S&Mj1+YW>BK#Wkj9Bxmv~# zX8*aJ|1V7D|NCRdCp-M6{i=$)%5Q3Sb=!;EEGt`RVneO+x45Ey_xLrGw<}*ane*=J z0lyqPcv5Njvh?V8JFPyuZ*;(A$9{4Cgg)u!>9?*q;zwS?o%^m^cK%s?qx&+u4_ldN;IAYm3pPPQWY+3JUXs~@6IxMrk>FKYARhCwRwLex4HT_jZ zy}h?rgV^KomuK}_FuiEQA=M{Srk{MClrdj9A1=@Cj$e(S2{%C zPo(ALyEGsS4+A3jVR}G#KFpRtNY1-@dvUJ@fi1k;J--;U`1@b>i+IT?5ESCa$DN0q zbi>O_mfYPh`h4!XTSVd!C_yZ_5kupo{>c?@k4GeNWjsPwdW}ce zn|n0~ULrR9@}2wtUAC%U(YsS1v|$Kg_-QxS9r~tt1WHhjhiG}@5#kDlhXE1xh%5+? zN3;aOc!a&WSA(E6#fz&iUODy3sePgwZ-0N?eSWfex{bJDyL;zW%6G(%2;urDLkZ6t zy|;MO-A8O5X?ba?%g%e!to@rWB)k_S>GW<4^z@C+C&Z$JnE=NRG5Ajx+f0MSBYX@d9u%X_Koet-D% zj&;SW$yY}Ht`vxKOaf3T#E%G(5e#K0;hCgnT3$fpk^aw3dfg_eU4nxc<|D-IhzF-Q zJksWu1Dj+A5kDftBnG=t!ZSg3EiW8o(kuQDPkMukImziu^Zw9M(0uUX_Vqh6ib!S7 zontZ;K2cgcAVcAw?;bR!Ti5N=Ed+K=TXn%(yLH>XxOjjN%E%7*SlN%493#q6rsX9V zRJM4zSv@dG0IS03y_1Rk90_0AJKu7S8_re5%ib0BJ2?{R9Kv%=LdXOOoET$L9)TrT z&ND(N9>n*h^>dDa3En)26atdA8)d`;7n-b_q8w#fUe=TH$b(qo zVAhj{dO5Jv#jB!KgNN52c>h`mWi+Ll6XlT?e-KZw4QADl;5tgO5ezgC-h6M4gTzUV zKh%0Tu+&ABF@aZ_;y@uFX}eKITvYpqmKT2z4njjZj;bNS^I{$jp7UbsVS| zzRVoSp^|4up`3rX~09X}b~n-A`=ZJCvb>XSis2;gG{V zMmV^AjAMfSfJubbil!wwP>3HpICwM0*t~bxjS`;Wl9A6PJ_iRApOf!mbdUokv9+#f zT9N~W`0+FMo$P$G&3lL4DB&3{T3-AihjTG-aOYzD_xDoOZQQFRWnIy1ugPZdC@9&-K_AgRpjvW5y1W(>O3UNM@XM|4U9NXSD?;XmE%1nPC zjWY7mbLWxw&bE`}z4PDSdz|9Hk;5IGDXIQK+s!jVDBJBnyPekg)PIRHxwo#!}I{?_KbLwQk|mjiZV z7eYrksQW)=^WJGLlt*4Tm9b1`r*=VI*qe|~!Y zzq-S{?QgGGQGR8+i`p)e`TuowS zQu6i4{k><-leCEG0RB=}b*hXB`}MFXnTlLYz8(qzP1}t!gmw9x^7WMLHt{(BeZ6!g zyc(t)ywalGCSMPQc>g>jgfiwa+CM0dyu5#T^YZ>>c2hGr{QeV>*XHB1NiQj`@w)G^ z#+_61-`D#$b58BULkkRvuVK0maWHxuO?_R{jQ zn3u;nHRlh~Uz`0|{`-1)MVP=5Gpe5Q2W=NZz(W~Ic;=j%mKRUR3JjbN+G8S2mgGjG1@5|LnJi7V~DJ98OwZ{6S9Y$tIB2J*Vb4$hgJ$ zga5u>UKu9PbW`;d2W=NZz(W~Ic*Z}py!eA~5E?Ou;8J(8(>}O(;AF2q zU$~h4=ZobPr#R^MkI;!z=C2yP>zL@z&OcCsayV&uOF;Y~?k9trf|4zuKEXq;JGybCWiGPS^2%VTq z*gq0Cxdr?qaq82@#k3a_z5YQ}3GLG*7EMdWNwwVw)qQ94#i9%)Ji|rH3kM+}9O8a7 z%pu#4diF{sy(q)M#Yrcu6$e6hMbnZTwB27iry4lW=Dovil<*7}EiW8|fN*HtymzkM zbb0R%4RZL-nMCNWXj+nkwi}_DBW&I~>_!RCaMAL@A&)#FIAf9d@IHXSh%v<-#G4ymyX6yoa#7e%xAdAaqwW&BuWs-=VRM+@);Nwwm<; zl)wQla6n!-Iby`f1>w&7*8r&Gc9`X`z~_--?RvHU+=xoKEIzfHob+9Lj3ro6I!*dP5y*3l<a5d#)L~QNlA^w0u5(2?v+w z%zu9`RejiTAf$|GDGu6hga)5y&o!eAB|O7L%L|7b_JcSM><97R-%C|*a~udMV_J%X zwi}`O>)5uW%<^s4^z(bg3u57lp8kXM}#{lx;D_azQ!DD383v$#Pi7 zz#rT?hX4Lvs>Z7&w9YF|`2&Uc@lhI;Mw`zIWhmhpPFi04A%}f2aB%x#W_bGxULjS+ z1YT*11BI}QXM`3xf0#GNazQ!DD384OLk{aX2@Yo6`xq|=s&=D$wJgPa=w5M(gMR;7 z2xTbY8BSVW{2_<^L2z*M-lM%7NC8ZhF@aZ_;y@wn;u#^7@vQxW^2m!n2RDBBv6lm{kSb#WuQbJhLO{}X z>vdL?qfE<-KZqv?jhI8&AF>>L{?Gyk$u0In+5g|*zrWYCpk-T5i)NkNTju|V74!es zKkLc=Pa%F>=7ipRCo!HAW%NrZXWXLY#Ut|=&kb8pIjofb-+zBERUP9@V#_k7rTkLc zt%XoV|IIU8w7hW0V;ti+xN(gC{$7S;R2dGZ&$O>N#eqWD#WQxJ3?)mMOgm+iM_#_n zJjO944rUy)z}rs6sSLMu`5?9A#Qw z+NnJ9LE3pQ`5^uG_r|YC;)7dHxPII|4^NAZS@VxOH+ieJn7<~)A;@=Cz^_N4(?wkKzvqp^Q9N+CQ|s_=6nwmaikuYZdIbJbA4= z{Z{f|xaMH)#W3R-|NXr)&hEJP78TQruaYYZNWqly2i`CDJMfGU%E((ZeadI!8-)|f zD381lkbF+!6>&bN;5eo>k)f#hag0B&mHRFvPHNhRQ@riNO=BB28@~PYh$>@(H?I|i zuuI#GGLk{Hd;H94_lmQjOv{Tu2nV4Na|ruGmV?h9ym_rk9E?BA_i}jX(AV!gI^hp| z%JA^|1Mi>rixA3aKQt%GBX0@VR-!sQ-%Eb^0e?u)(%*&2Yi0c5WG{!Gthnqq&x=1$ zWlZ3erZ`XtNZM|ck?%|Uhn5$A5Kj;qael9`KO|bf=I1%dugAy1_`^Iehu3eL_KRO7 z{DGz(9w`pIPu@Sz2%(JrLvx}$@|J-3L)>44+lOp_;n`1`^qLF@H}9S6<*-!8i~GGY z@87qMjSjqZ@9er7cCb#yGwVh3ow6(E*`&KDM;Yaj7Y;d`i*fy?SywaP#T+k(g^B}9 zKbYe62kgc!givrAG#YtWcKUEx9`oR=02kgc!gi!Wkg4mwIrzqNEpU+jyTN~d?*(p(&a0v+z45B%`Ymx9`W-E_&?)=H4BKy^ z9A%V8UI^sTZ&`nE{Z@nj{@$|{2bxk$$+lC%0a)0D5Xu&Gw*8joLV4tcLmvH><6!%( z2LJuN=P3>}rI_O7fZf=I5Xz4G*Hy19+40~=bD=!)!Xb}-%f*9izt!NszxO)Dfqn~9 zyd1C_yAVRzigWDd0nLT-$P0%&`Yp%7j%yqI_xDnDsz_)TQ@k9oTMJ$4pdP%p4K|}3 zWt2x=IOMSp!f~+c7!4i0{RLI0ii9vR#mfO$T1dx5QI0aoBQG5CSpRn%T))}D%Ymvr z)N|}spL}^(#L$2#TZ+S8_l~&plD{7o@gqXbjSo=Hd{E2VnV!T4rT46^4#x)*J))cU z`r?C$Sz&3uXE{{c{Xq@wgB<3&^#i)JjoKCB)D|fY6ynEIozP9=?50cXMhVaCbJp_0 zA%}g=m6k(|-RIm;5#)eLbZMBD;y@vOyaEor6Z=U${VH6vyl}{2pEDfne$s~WAcu3E zNpxv9Inz=cwA}~|xHqw%R5+jne*mtQ7Y;e>bB2T6PukEf$YG)5K$nJTDGu6hgs!?g zv7b~ppac$Z(elC}kNu>sos{u|?0au$8{{y_aiB}Xv=j$zH$v<6O6(^U4k&>GT(rD! z$YVdL<6zfO8rrNC2f8#&OL5S4>-A&oMhVYw(elC}kNu>MgXu4RK=Xh9{k;de^Ug84 zXhMOe^@=ZTN~YBNpb-5K&j=mlluh2u<}pG!$|#S#jAQc1V^q6faINhBw|R^jHuL%= zRi}zHt(fBFfZbYXrsHt=LpF~Q%27sn1X6;r$%fQ4NM zp=?H9o5x6Vp*-@!A%}S{9NfIue}6Ak`=1vZWnaw10xrAn&hBVp@|@Cpt`I*W^wNIz z{2t0s!ZYXhw7j%ad7R&K{$S7VHTduErK*^O%VJu}A1K6+UpOv*d(ocXLm5hVhKrUL z4mpf#@dr1q_21u1RWS*d#k3R$3i0Esj>ALG+w*%ULkZ7t(elC}hjA?&+_=_%e=k*C z<4odH$Fvj&Z8t(AudvBwQHBzp;iBb*Lk{CwIJj}`M&AB{s($1+F!aK-6bEfLLQmdr z^X8%qB|O7L%L|7b#wRn zBQG3sh!4WS#Ru2(av=2yRV3dVrg%93OADcl{iK=;<&hT-IqWBegUv71(8J5&M+Y2v z;nBxVi&mTcQhQ7*hCtcklj1-jHqFHQU=l(oTd&(*kDcCF8^!yDW=xAvrsZXQQFaCi zjd)*7czrPu0S)XAO6(%a#7U)nFzbumy&PBy#Uw(%n3Cc^A>ze)-4tc4t7wruv=4g!|L2|SJN>_u|G&Y1fA2SM9P-%#hfgfL;l?o>y;*bL zG3(dp^I8<*$3Hls0iW6=X&;&-YR610pakWd*V6J5xtH@=lGi9cuNBT~lsJLp{L+`# z$a`MP&2uC^CwZ( z^PC*w*7V;lZtcInm#ShCLoG~8ai9=C{>#1p+DZ0a43wdSXSis2;gCbz8V)9IE&kxY zzn7|F5<@LaOL3qOKfdEQ)ZAt7#XuQKc!rCX7Y;J6m9Ilab+v%CRkeNvwF-l{|| zuiMF5`7R8HZM@?cs>-L%xE9k=9JJjCF^)wUN_d8gmKP2=oEO6%?0K< zf8NYeKPvg98@BT1m*$mHWlZ1|7rB`H(i8%kwi{&#>+<3cVz*cy+Z~+ec*_=nQQdF4`-2*` z@N!^Dm@2aLgDGAP*sX<7#`?16LV4tcgAfo7vZ_>56XZ}eEOVaJ*B&HjWjL7ogY5eM z?6P&f>Go;Yzjk@E^HZH3?f9z>celT#;@a{{+MU~Wahp@iX2i4e+|(RMPKSvH$c%*;Z0cyiIEu+XH8l@w7VF&|KinM z|2DNvgmEbn+H!<4GBSDNL=oN+37bXK1?-qJc#jN_d8gmKP2}KsdyG zMwml3O78K8BrWX^CQ5EN$OtaLfj}-3PE1SrgSHzXW_Q?)5}x6r<%NR~5DszFBg`S2 z#mdJaK`X-{{w{hp$V!%Hwog@Gbb&o4UYJ(oU}pQ;ZXFdz$+F|^Z4f9&DbH}y`h<%R z5iaqpH_YY#!EF$w*}m})x#2tD9|W|Sh+$fhi<$LmyAkT&ZRB(RzIaT8-6-K1E?QnV z2m#^Hy0<};X1#_(Qf`VF-lNQN2}$<6HE^(%SmMyk6JV+xV$)QNamQeXPGtG-RcITGG0!qXc*`Pfh`}p z24h8sbB|nl-v&{yyRTgLHxqiKK|JpY@gqXleLB1F_T3vqWB%Otjq3yyN>C0cE$;|) z+hSVTg~vyOYfkHb@)0M^=|6nSgo!83nmgxc`LBk>1B%Mz&}wKYB5?ey*|t;yR|bT{ zgJf7`^8d{%Tj%R;A9wvrmxj)N?DSN}-*kAO{hbvz%Kd*Av^~4c8S?Xg`A@z_|82c- zV#sJ}bkVn)$^YckVxqpP7d_ejD8!F5((>yrX_cGYrC}&%22{HT(rD!$YJ#c4sP|ve_Jn!3#l>-Qj31# z$@WJf?BW@_QHGL@-BG8aGUYE41IS@_R)WKz#qAsHZM}N#yW){PpO#5W!opm~jn6*o zx09Qh`%=i5WB%TC&D4^^2RA-9;fu$*t#`|?4x$VtD7U4{%Cx*`mSpa0nk6&$4L3{K zxv!^Ls%mNOTO%aweZ86l6LXAU&P(M}J+`(CAuQK(Ta=?r%bT7`NEjf7M7XEQl1Mb; zG|(-Q7_zvc!QR-b`)rKi_1@cN{8o=nZWHmEQzR(FkBn{i9zXourzfV20TI(i#9-n9_3Q!{;?3KM51aA==nEg}t6bNk?LKv=R`6$QF zw7hW%@dd-ffC#%p7KFzoS^{A_Vt4Q01zTQlA3OszUUCYA_5g&g_-4W9{VF;~dX$E8 zKxuhLz<7iShlD*M8xHY#L;_c4@FLSb;}N60Ab5$`z{r!jr$A`K5Q3f_zM>pA)AGh6 z#1#w=10w7ZSr9&tXaR)rh~2y(u!Wb)$di|x0zn~u)WcIfd__5+w7er=Ji?6Y!yb_s zs0P}I1g?xn$hh8g8zU1SO2OlEUmm{mKTa(zE)m_NrB8u~|I0)$m}i7gMw{@?Dfb`# zZ7UjS7 zs4YhsP3^Q%Z}#|Jlv7^I%W{GtVStzpG`POxA>mp1Z;?c`d>p$bNR-0p3vN05_n-0F z5)p8Sq)5aTNg;fIXQIO>qgBwPD382DV0^;#8)2VFeE-e+M3PtLP@pWph8C`Xx=H!kth*=93H+2ZAkWLsQu)>~bg&ob*B znur8C5+0uz8dz(qa%)VxcuBBfgGyt>uXmdL;=Be$fELPQ+eauz znU-(6)fz*>0EtOd6-iW;Ru2Ls61*5*wnRdrgFl%3|K>j5Z2rHYZeMR(^8pnm6`0)h zztAz6dwsO>jrF>ggiyx$oXJ-|zxj*f4~tNy<>k}N;e3vZ2$+0MW_N`D{@(3e@PZ%* zN3%Z~xNA0_6NT8!#4|$MI%Qw~%qCGpc~P19_#~2sy!b;7c`+OZ@?wnlwhvStlQ^1< zDXH&*LfFkSLR}n(N2l6+kSH%Ia~zNt4msq-fP>46G0w|jBjpbqLB

2keFeLMR*i z{nPc={%vfexlkT?;gCaK3^=&F7>9T{Y^6AGbOTeo9IzX^5JFkUFKj+Y&4u#F3x^!e zdpi#1+`H*74)$``TXEp%2Bvs9U^jLlgt88cY(7ZMh4RP?haAp(!yz8qmN$%DD-Lw+ znBwJt-PnatwS#*0u68*>bD=!)!XbzA-f)oq!uZ1&F9)hl73tbB#mfP^wUCaSqr9lh zwUfvThaARHaB$s^>mw3i0EEPN=Z8&Hslol<-XdpyfN{k|)J+ zaQ8_!92Demr!$ErtY}(tg-P3u&@QWO{y*$S3D0oR^1>m9JSlK+c~TAxa#-Ow(1aCD zOLEY5BecnKoBt2HQNlA^w7hW0Ax{e5MZBl5yy1W#hf^H~ny{j2NegxYRl^Z#Kt zN_d8gmKP2=oTG$;+c~xWT5+HWE1H(%pzYQx%Giw(p5db9g+mVKDB)msPW^!9|Ni@X z+nTOK=KU{@u9yEXxj>WBy~(ERO7&Y5;>QP^(D+wvUMrNLglF1oEidmQkGxiP-b;J! zzrUBNM$ROf6iiET&~_s<`g)t!3S}ta87^90IONb?yZL{OYp?zH_fpko9S52eOiOXl zb|bXsuWeo{l%a%YxM+FdkVAV-9K^NP{`-5W>gSFFO$w%^IB2^OI&iK%_l`1@@C+9% zFC21cui@a@YybVdR27qGYB4RvfkOP)=-^#E&7ONl8A^DDiw|3cB=A>(1A|bdpp|m zoG3>b<&l^9ULNN;UB4+iTg|+8x|hR9#eonerg%AEH+CU}vdX{OE|f=JIOGs7cHaf@;={Zgs5(_-$b%_f z4%n@QraBI{t+aWRQI0aoBQG3sh!?}b#fztUIUKCM3x+(H;^hD=>_P}-BYN39%9;!1 zkrxg*#EaqJ;>A$3cyXPV!&b^4 z81i6>mjke{3n7#}yq(Pts<}`edEt;lyciBHUOaiNI56bF6fXzt#x8{P`m*LidE|vd z4)J0*n0T?B|IaB~=i6?dcm1Ht8p;0`b-ca9iuPAlTv&c~y9I6Mv^l+Oj+ul1_x_}h z^550FgY&`fO_UlXU3!IYv8np`Xt z;z--k&TfQIhOjO#cIT0c#n~-mce5dDUi|Ipjl6sg$M$&T*0D<_74Cgw&O?iSwL!!| zqN3gARN7#3%18?FBSLSiS+&>VRU1SoLkZ6hJ@vtD4RW+e%Xhe8OS4VU?A|noZ-U43 zJcn;Q#}<=km9zs?#)J2YhPgoyN54H_`CPGa_luTYx!F3KMA()Bp$$i9+Qh%D`KaqA zMGzBf>-wJ83y6*0TRiIS zBQ}q)Ed@dwj?j&_zrXH2KiRwp0wsU|jFvYbgn$8Y-jjuzFo>$sW;NF&_&_9ZWkAH& z98@%%6a>-v!9B-}I(t%K-=Ca%W1C;~iw;@7d$(iH>6_l7H*WuXU#pNp{D{ym-?{(a zWvluXL7)T>ZQE5Y9dmBqNXr`#%X-HiarRzi!-62}sfX0LG!KZO!%D~aG9X<1Z*~kq zXGfu~6()u0=aUK?Lgw&#$|F8D`CdPqRLu8^5Pb&9P{K1OytTZ5$m4{!Yb#yc>%<_3 zV@(RvZzmNvbc|^!4%%*n=rgbzB|O7L%L|7*PI#C4%E6M)?F8YF&F4l{?{)DW4jp4! zk%Kwmt?j2g{}3s zxT4Ws+^Z*pOiPw6dE%jWpPf`-$WJnb)QdRSWLl6y{D{yq_q?{pp`A8~^w1vVOsKTH zyaF=^GAG!~94LH-FEOZhZ^CzmuZ1~~oZ)M7b;pIN~;;c81oZKhkC8t18h#&8C9`VA;x-ZV3&?nm9*5yCHLOcQ`CyurpS|yFV)Ap(Kka=VDG+zNLi~tO z`>*Y#77e4BU%_uRmpsB zfp>hrvB@(1^O8pp>hosGR+F7PcLkJTGIn~R7%blL>_;`oa?eD3$wS0NI%i5mTW^vgmtuXnQvCD?> z3(#X1m>gtsI?IwD>6l5Zk$M43Oa^Qz#E%G(@CRim;hC%*T3*nbbR1@~*Qz<4?Hj0+ zH!xU0Y!C#&LNyE5*p>pJ4M&L8aSTTZ&w$bL280kWAWZI_U??g%JaeC~7E zTY4)RdwM}^zRuTc-jm_S&rA*<8E^5jNjj4PK_Qa3EHp`85<(~=71UQI9gZkRnU*($ z7D-hjUuK-ACD=B3(w%$SCV!q52STQKvOl76eJ_ZETsKRdvEhP4N5_f%QXnXVVcPIx zoU$$U93N+ZLpjQ{ycxs^2*X3ZkgD(?E}O8%H;7AQ$jgjo1%wRi8`txKSasW*-@la@ z*5k!^MhXP3&Nt69LMY?A(jG&3;ctM=h*n8qr z;=R-v8}N)22ns<-8;&yad1;T)^3D|u57StNKaDI1->1<62=i&!YkPICaisHR>WmF| zcM1fBprj2)+0>VAi&Nq0Pesd{PeZ;5!^40Ge;Qd3zE7hC5a!cZ*Xt24KCJ_Vi;LK(py?J<-` z-nl{t`7}&aEc|ICq8ou;BY`XPX~a2{DjK_ZK@gvz&e(uwq(D#zO4@Lg5iHUkqvf3| z7#;>h_|wRO@O>IBfH0p%XD^6LOeT9-HeBgK-~jkw@ELK#p8`Q4eqv$1Dx8&C*&YF9?SJ*ucxC?kN!3FoZB%&pl91NP}^^QmZgLqNU> z;}IrK8eUq<#z}okYl#mi(?&?Z*yaB}&CLHl>H2P$rp_;QdZy!J9ac&H|C`FMX?Lm2 z|IaErt*kZvWEIDMW$#dzf+GGOEli0xEz@Vb&B~Q}2NdFH5zh#rY~(jKmDLVTIm#%H zytGR>98IdKT2NJW@N9F`T|#n={wsS&DGr>L!4xkC?8YvHPri z90!-ms?l88n@s_EwBo>N8BFnVz;5h92xYxav8k*y7s?|q9CA3C1P7V*8h?;0de?#j zr;ISg%K^Kw3!#G@)E^DAsjM^?$|ElvayXgmjoGZsWe7V`4kBX@uRj}helCOc`a`yy+XnOF(L zS?{I^5~bwcMD1{N!kG9*iUfuD8hAzsWrPs5&rlwD^K}S<4mZThDy^60+<}O@&x*$0 zUJ$34dt+s-=zVk5iOkcm0oO=@=x*-FkwW~45FtaoaD;NGYI!rq5fEmCZ=&bnIZh(@ z=Ul=!$4NL&W@s-U%p7MEF9>X5LdqnsW}&?cCIy0BQ2dAxvtT`$Lph+dydz-dI3`va zp5r7!Jr0C#j+4NZ0U-kkGwa>h3xb!34NOp}dkTa$3?b<0SuV(^5PFUOoH(T zHwl(IIy@Yx8n2dl8Lv3SfkOPa%K5`r57~TgC_@R)aMJSP4|(K!bN&!-4k>T+-{8wD zq{^7UD@}2r5O(p5P^I&SnU~x9K~Rn|$|EoSkV7y4e~6bm%Ny+tzWQ7|Rr|!fT2j{W zic=i)`$vfTKv0Gfp5dhB#UJv>d*}SYo@;Hi7x-!p?Bb`&n7}Jdai9=(@r)442#RR` zpgi*84><%y@P{}kQr`F@Z~G9Bwj_9dK#$|T|9)XzM0|T`{hs^$e%jddsWA%i;|wSC z@e_T2dEYH#Bb1?pXU;WhdGUuF^5(kWkjtCfI3UPjsxyiBHm0TgLEDYcFVFaWd=Cb8 zql9O;XnEm~L*86C*t{8yI|Ml#;y5tG!L$?yZ8t)F&b#uJB|9D*VK+*6hKrUL4msq_ zC0JY@})b<5~7F#V>?HJiQvFDk#i z-HNtXwz;TmSzOOn{YTmZbVRC^gbJWIrK8He_ui+UXlyN@iUncS7x|0hiqdfBReaZ-7*5apFpWlZ1|7rB@m zq7(v}wi{&#>+<3c;t67XYwX^2l2P^8VxeUg7p3PJo!oljzz0p3H`p;o#=~JA215 zRGli4dI?j!9Dt>T2D~mALS^cJo3UJkNp4cJBSaympAU@<*=n{A4t7~DP9i1 z!Y+hR_S4sG{(sGd^2iH^Jo5iL4mSUPo)1yd1C_yAbN*pf2rT^Z#oult*4T z~8b_Yc7;WUO42i$rcW7lWnb+16BKt8&?y$VW^zqpvTb& z{o+Y`pA^ba!ZVz-yz~?~#Kjy3v&q)PgJjRQXFZ7~ohoAjuQbJhLfFMKLMUThRr?3! zkr#i+VY6|9gJ~azcsWotmOu$%@rqL%^!rDMbyt+3gl9NudGUuF;)8H7@j*NPpI^%V z_q62yU)|x}_P1B8D8I7ZMQxY0SyVRvzd!XC{{H)VhhDzX=-+m&E1dV#BS(EQsjhHN z)uV&TH{U5**rUzcZeqPy254?M6H994&2nvu>M>c1m-&(KTNDh|o`N>GaO10Xs*xwcG0Bxpj2~l%O0= zTHX?nJz7Wqt4yY5r}aPih?C~@AHHS6!jopropZGOS2c-kXwC1@O48Ef*lKeQML78H z>!s?Lbl~@YI&RC|cZo19^*vIEA8&VD-t2ttsEH$YiB7w0{pWj5tt+4e<#5sR!a)cK zhoiQUt!iNoiOpBdb4b$4aEOy1mN)wE>;3ADLq0p;@Vdgi&LmQ=Jn-T%>(>k$o%RO` z@gwiIZP(v!G4PDh(fcMZ`Z0CIyyz$=zmJxe??UqR2o1^7Qd1fHE|Qs79EXJ096xJz z>^1iAlAZl%4mHwGneW1XUoTZ}avTV0U|Px_wA~0j-hP|OTR$;6DlY(_&s)`glD*DdEp@KgZ(;c!uvOq5l`1n`Z&}KHNy;l9L%ln?i1vI z3lpNmv=j$zH$wP5cB6!6xM+FdAnk+wI%=we$%8!cVIPM?)~`%|5wGv|Y}{KoWaGnB z^=9{J6RN|sA_o&6)^_Xm044p;vG+ru9Hl(NN$V3X(q0IcI8GYol8ux4xU>)_HQ&iz zLH~HvaUpbvX+utJ_}O=A72e|6ktdzqt3%tDoQe#qo8858OBQVsy{<4}3N>n!8!; zme>EeHa+3F%N62BguXxV`Nv=WcxW`C-_|epo={gn3Ch>&w%22)H`Yd4UZy%H9B3wf z$DbmJt%4K3+Un9$Rr3?S+CioJ!E^^!EghJd0Q)cQU3JjohaA_Xu7C;4mjCF5311G4 zsCvpFwOt5d_Z}aud}BR{uAl_vz4x5m<;yo}BP}mYlW-6kF^Ay9&%?np@oR~LIkjdl z?$sH-wsQgNl_ov)kjcel#C=b-X{l2jC`6`>`6h#LLa5d$JMWd5aRy_QqfE=26P zB~oj0lSo4qUxN@_;vAO9>+ik{&l2abL?RRYWtjUQO!7N>b*~1o&b|w0JUw`FfjVOY zIa^X7D1>3!aFlWFf%X_JZw~hg2*bnN2N7KJ_JHuLdA9_@q%pF0_i7M$Gj+xWygLPg zLQv9%k8+A5a~9wBR%PPT zsJ?jR)GMd{%CPozDD^2j?^FrS9G7$f{?WG}|>eHsZ| znNK5L<*aC&9S0@zp6PN12v4pN4!BhKB(W{xq^6e4j=O zASCa7;{@-xwx`K^zhSA@AcWzK58>Lxdw50&Wdv2)o4og%O)loWr#$lF3VGzccjMYP zMMin!pbVa5e-_e8|&6B%^7% zg{YDEkXh#(@8!T2KdOugPaJDg_@_8f2uRv)l(AoMclV*7Ov}p`AsmE8%pur7csO_( zh?Y2*{bJ+192g-pV_+$fnL~;Lh4}GqH|=QbwdTXJw%PSWlr#L+@^)Y?(+pX4tR57e zW+YY;1JjJeWJLQzwZxCjG~*C22WAE=iLyjW)l(d_T?heBud||@X@{1VX@*QNghtFE zJk7{*@J%yX;9%nD2YWeS3a^$WQeJV21BLjJ^&-|`^*Src;iTm)0r7`;{W%y5@x|mEYQix0~2$95Nk+~v3l#!GH*pzbMW)P^C1;V451&t#*}@@62LM>dKQ2$Pn>-rB1@g1YW! zE`^YnNy2GtOM%daBSd-^l%a%Yz-V~`LNc`&$1s^%f?@k)=F#Stb&?ka=w_NrA?&ri z&4Ji))S^B$0)q6y*p>pJ4M&LVt{9FIo&lrf4G1A%K$t|WVGxO=ya5o2#5Nfa(q9>m zu=n;h2ja(X4_H1|KoFoHmvIWjQ9WL{b*vQPM}!ClU^q&6CfT!=Hy|V&WI&iitzi&} z_(lMPH&JUT9ArS)i+h^`@$g;O_q<+gWIBp%DG=IlgqZqaI7)a1jFvYbgn$8ICjVg& ziMdMvL;_dFBjU(?MWemBw>c2A7fjglj{<^uJhr7kXu}a=qKx4v;TbSm-hdDS285aF zg+XMedY+}dWY8!B!i4U{BaZR*8fTdsbEQYT$Bj;z&i=LA?%4}tDa4NqVFoU>7sh^K zE{xr;u6SWA$_XE7c^SeOkB~7;>=D5+OwvT>5uPzjOW`1s-|J{E2)q>=@C53f@(67h zLeSH19OZmxTHZAdhKKnyf`eKQ2+yFlB@iZdev}skw(xR^g7A`4ASlF-*E=`5^F4cE zY1TPUA_}r;`3WPQcAq>}T z2Fh_WE$>=M!^40Gdqft5&m&p@VLajpF9>X5$K%qY-|e*e?7k5%IR!#{075JO{N49I zJF9PW#ntzHSiXN<0VOC0l$Lh{j7Kc%9Sse7#L!`-9khWqB7rO85poW~%zJ+lgV5*2 zcE9Dmo#q@;S6J!1{Ey{p&K~w;P4vy7^JZ?ja!7ia@j6$C9}#-3>BLb#{%uY4WMRA0 zt{PWYKncpP9XBQV=$;{wmKP8weX~e7%-$-ht_*Uh9bDQ8)I0~f3Dv(}s9NG;hQp7& z9H=@bvAl?BDTkmCKkDUEy^M%*xM+FdAOwViEH+kGg*hY^QUe?kw6s4|%aqG-INZx& z);+5aeX(<00TWmmrRpgT+Af5Er z%EGRy6vr>&2EE zT!X{a8n2z>xtN4P{77?q+`3oAw>@_@7n2B0l%O0?THX;b&9j;21wTj6eH^|HyM<|< z>9Fl}y?Rj3OT-4IuGBr{5!x_>FkH`nQI4BwdE*h{3Wi6kUQFUVBHrIy(P;1M)gYLH zGR$Py$qt7Uhy(xJ_l@i1jq@Wy41D$273Iv2wY&i#^IZeN%y)wgQ*xBre8c3w$+|S( zHMwf-g}oL;DOc@Ma|>i*jhFBhO;id5(>8wO86lJrP+McNy^C^Po@cYBDY>y|P!6_}pAwDVtiTG)7R_6bTCPqqZDngi)uMZ119+ z@>2!ym1Ku zVR#r2!DT%U2+y)!OCXF#oa_a$qg#Qb&e(9(K+jdF6oQgAd>^N*dNX@fD#}r&<;}Xk zfG|7^i1509_S~3n-9OQm=y6=7c!b#!GtUd+m*%R}#HT@Q7tcs}1g_1ez%xQ9qr=o5 zLwV$#E0|Bi45`A+WnzpF_%sr@G9Y9~Wp<0r^@7;Ly+mFvBM4q<3Iv64o8!$rtMXkT zgtBgz+Z#f)hiG}@5#kEQBMgYJM`S_xJfZ~<#v|qgL0}W3BWy{5pb&BDOYax)4_fuIme z0z4yxGR9?>f4alOmGa%8jPl5vPeX=O=F>1ks_>_gh=~V2jTV*=2FZ|Wb^=6cNY&e9 z^p}V^OQCcK^!+Ii*FDnb(=r)b@*_eto_ZM(<&@X*W^5?~2{X1dL#puDGSLh+KelXf zNM#0>CwfWnmN0@op30|4Xv+`+AIea|Gs?8Q@r7J2LMRQX;`9IOwE3C2|L;?||L^tA zuXK7|*8d-A|A6fOzq#GDZ7-7_e@c!2_y4yhfyL!b_6A=aqm2JYqsh?$m&}q&5GF;W z6Wx1fn}#;!l@#K~!=2DyHcaGd6=f(vIXNn{ym)0Exmv3iR8`9z2=Q6I@+NzMZ*v?l ziFBfvmf}Dmemu=_IQ-B=u2$iI5;(v`%L|9~J~B(blBu*dy!Ks{-J|4L;H&cOQL1tr z;@;grCEvs+qTIOLEU)cJ$U4ccUH@6{as)7|EHr^=Yn zz4LzAT<;XZE}juu2@bNSwaH%It2unEIFMclQ&Qgr zc3?Np2%+qS%ID(T@0ttckrxg*(UGJ8AcNH?{Y2*wp2+riyfNnBwJt-C77`(cv@W-0zwT<&hT-Iourt zhd3%!-c+$x9O&XO#mfO$*o9CB2ldr|%#L%vYc7;WUO41%XAT_V5I}iTxt9Y~r;2oO znBwJt-CF2V_mMsI)oyX_ca)=y^2iGZ89&(GvvyE$zULV~c%pbnR4; zt{+pp9Dt>TP)6=|&4u#F3x^!;NWmZC9I5S_+QuAo0G+AmCvKIEDQsM2`6tDJLj3rk z6B_)x!Hv&N_~J1=4@NoVwY-_|%52Z9vYB~rc$FsPLKoP5r#LI zmg1o8Mu?aUcB6!6xM+FdkV9TjILKIXu+-?HxK=-qf8@Q`%Z&A0r)Pt`4>PW3VM>8% z>E?g5DY{edg+kWh|3JUh5&13x-r4JiEr`wQjO^8EXzy zohmXd#S||G?AAinj>D!`*}T>$M;Yaj7Y;eZ0N`NrS~uCNj5UXClt0k4V2YOmu&@gu zl(nm{d95`U$|Elva)<%I!NmaVMaG&#Z^eP81yj5nup7G&LfO}my>wS|p*-@!A%_@% z<6!byo4L-0-gf&NH%zCBG`X1K<$&E<2xV0p+xvqx7s?|q9CC;Oz`?};HdreTOiMAv z%K=!}g-}=LTy1W!_vUIYlt*4TZrg%AEw-(ykaX8_8dtWTd zQAT;>g+mT80654Rg844i_i{*0N2TB7%2Q17asU=~A%rs46f_sgBQG3shylPMjscW6 zt>@+N)Qk`A+2y3k(MiKbUAbPr$x$%h_#4x=U%6zP$;D*k2ysZfw(-eN&zfCQf^rVi zYk65s$|2vl8`rsf<4rxh9H{!C|9)frbNfz?-dr(z$9)Fv9AR3@AGF;Fkw<&v(pe`y zc4A2h%7Lrpg@c@Um+5buZ#=jKAelkC`7Hq6eB*GC>{@dEzp1;IL+q+DMPVvJm&P(t zii2K5LWubf%22{H;{`1*hM<-d+w&4XGki!mBs3S7doPkpEN*p^SOvR&HE@GRh+_ z9CEl<3JxX-U&rocYvNk`U;2;u`{v&F{Jon$;Hu<}zM+ffo<$1b&sUhsDwme>>JN19 z^_2#D&mziErsZXuq-02vx817uEb^XZ++2O;oTkmZ_X$#UO#0W@-^W)XVoK59&3%Ft z0@lvXZiG;Vur4ol=Ww4OcFQV5xA@nXN1ri@Rp%LscVVA1Xhz6>cuzGp3@ zziX7EjPl6Ko6q4MJvhj?Xpq!kHHQ3u>Ho|7^WW$E_~SDUulc0ZUp+hKqXFaoScnd| zao>Z#992l4?}h)MPmf>c>D>zv&j_LHo%UOteexd)(S0>H?Kkw(x&q25kG#CU>9?23 zsP3?r3xmR^g=*GnkFQh-84nia55Ih*-;ovzK(h>*rJ#X#h@XdDZ z4&LVDl0US6xw_};6Guky@P5y{f8H-bD62iO>povi7#V3!lt#3FT!Q{xvYZ+Aj4zC`24;@v$Ed`sjv| z5bHNb>~n8?9~{b2rsd_dl0>BBt;F}g1rICLBz9Ujzw{hdN=C2r_gO9TEXm*7 z?LNB{_ZXd!NvhAeDACj~(9O6qM%9|v2t>+%&i;ioW z+Ebc3s(Ab{eFoGXHX_0lF9%?0A(TDS@9zWdoiZZQTquvca1a8*;fOJds>3$`)MWSX z`8XtKWjMI~AVa(yKAE)1KL)R;D^O)jpvg~hpb(I>-6*@cR_XA=Sge{*XA$-F$yhlc1IH2e&_{%FBU}4OPYjUTKO0 zg@B~(Mj7!R?H^iR{6RcHXv7@C{*dM1^M@8V7=Nhra^Mv`I{%^z3KvW%(4{dHN^y9` z+$Vnil;Wl22r*tj8A^C&yrAX96J-1#tKaeXA(%8a*&{lC@SG|2u6w)rp1Eh+>~GyM z$l=1?i$`?7a7uwL4bxH_wA~2Ne_%ICc!rCX7Y;%|IK<&^(7Et;}~3XAv%M z8W`ko!X;bZ@R4w!DaW)F2W>Y(w42zC5}x6r<%NR~5Dsy_8Rn2^0RtQov@#q_5@9?4 zUmBkOFOBQnn*Ydo412Ay&g{et{S$Mc(F3IvqYtdKSMa1>2ZhKxdejjIZ1}JHOF}5C zuiv!ne92q7lM7R!Ov{^OC6cLCTB|ruX>k7U$y4f?{|`$<@$~zsl>Xby|NZwG|8v2= zM_hkbU19nsH(&Yu*L8)t&;IleOO_9g9-dS)qI$`o^g0HGb~&iWxPL4i6ph%U&)EGE zLMVIq^26#cy?Su;;ia9I-LSH*fHEyF1Wvxe%>U;;U#J=yY_Dr;Gx=IQ?RD+YQZ!R@ zs1gpQz4qU0{P3g$es|uTbp=dXap4yOI^91c!jzOlPzYE9zWj97<6lW$JcOJw^0R6# zT3$E^0pTE7TdRhJImGuprtatPaY)e0aFG7na4`28Zz$V)+x1xY%+iUip^v@x(<6UT zSHL7viegHN1BI~r!qI!(K2SIygffzx0vTmmUN{H=;SlGo4Rc6jVs-75k3)i%=1}e8 zwf=jI2e@yTDq}*w{+DO-_fiPEwB0B>X3fQMK3~?YQKsdkfe;QtBjylnACj3^9S2YQ zV4G`y+}dz3?Suaw<6Dmy^!C6z>I%HtVBT5^@&5O|cf_5S{JpM#5X#77t2t?TOF;Y~ z&RZMyhiv{{pFbqLCgTq#ZY>=A_ZagEsWK+;N>kqjg>V{e_m7-&UAy0e_|93BqfE<- zKZqv?jhI8&AF>>L{?Gyk;}8COjBjad8u0FIbp>86Ax(IsI8cc9uj8O7<1#4CNy}RT z;t%n)v0;BmWI+kE4+&Zse=z%2gu^IrJNbp%zeANVfmfR1Kp`M$yHR$^Z$6E$71sWt z<;5Sw6NE<0A?y!X4nBWqfrIgf-Mk#)t;e^@g)uI~O`I4WDGn6EX>>doW!z(>Ica%I zK>Q(&n}_`&n>)wXJ|t*m{K4(#8R_M~E2PSpz$;C0pb(I>-8;DUp=@ruznS~rP>wP! zFa98&AT(kQVSmVS@cBav9E?8{yc}km{qDEa6?nDGcj1xZKp~t)$Hh^`W^v6)%Uc5C z5Apgz*dG!R@j&~Kpq23lSwArC!>(Qqyh5ss3B1x22MPg6+s*p!*qz!<*=D1iB9x;{ z%ZopVCkTz0L)ag(9DM%J0te#{BfK0~0_4>)?}tZ<1BGxJy*_|47AG|)EpG{kKg4m6 zpg$yM_5puL(8~CO#6gTd?BeCn)qT=b854M=DGn3@lC~RVtS@W-(DLFB;t4_{<`DD; z4+oz=w7@}PgC_s~88-jldtKh>{Homl_hg6PNdCV&%WrIVRojc&ER~;I=})Hp{`-r& zo2$KLx_^zij{Ki>1+G*ffqCjJP>9r%&iZ{q>dEswza*8{~ zH}?eH(Q|W;r@Kn#MAzZlJ^8=JR)BBuV}It7;6w$ zn8dOP5G0hv7B2`4$1sFYMwVI)hVsZ85R$jofRN<1gTo-Qk$WGAK;*tMUiq(R8XvdR z8U&v?b>wO`ngK5e()DT~l+n=WHi7cU8xZno7!c;u2!lv$%5zE8cP#$^LN*WO6QmZhCMD#NNB7rOOX~b*Z6-|eD zLELr!LEHWFAEh>;ZM({)W6tdxVT%_8hGQ5)C_7~N?%j?(r*EXeP#$>$LI@ZT=2EL5 z2v4xs=Mf2984zx<_h9cJhPWkl9Cr7w_c`;r!4dIbFNg!a8FfkWt zkrxmWEEW!NusF!U6D;;{Xen51HpPtfav*L=6=y|{^k4shArYo{IRHxwp^PA^=0bVo zg@X_f4sozJ%pno}Z2rSY($fA=cFc zBQG3;fN+R|q+t$;a94msf|llBf~3YDMteCBr=p6-tog^Co4i#UVTzXnu(S}$2%2dw zlt*4T2m#>`2M5C(5@DVIhXkz*2eemFpp4Z=J^I%2Zdffi z;+``+%}8_w4uo%-(L&E@rWpr#K`=9*&e*_AAq9d$P|}9$WmS};Ov{^Th76(%4>N=a zPcyP0eAA2;K$vO9{$3C)8S`@K{Q;5!K_T2m4;fI#y_g!5mUjeH zNn`Q+p)bjQoLWpv^3Y?u##vTV{4aNf_z@vek)n(=B|MXcM9WK?ltXHBw;iWeCO3l@ zw{J>bU0k}7m%-vq1obp=U z_@SgGHGXJPlLq}TnQF87mdT%*)RCx+7kJw@CGRdSks!AWmBt7vpCUmae$_>pIX zPzEUdF;E_PLqJ?Y+KSjEg5wv@$KjdZwCECM>Tho^)&m&cDwX8oEsXJ!z;Z2wGF(KH zp*-@geJ~`9ON2=zHlj5@l1uW+bXW0+wxY>iU#vk8!K02u?y$uR0$N%KWrPDY7|J8> zJ_-ZEe9wH}w0J2H6ru&ujRN~$&U|;=yH8JO z6QLYsTHZ95(oUMT!gxfuxy*Wmr@3s&BTQ>K-8+&y!CcuUttBsymkE#*2nyjY+5=EV zI%o|_%R2(bF^orqd(f;$_(pOGTt1I5WBX}d5W`%bN1d^Omzn}WAt-6XQMP%(UVNuL zM9UkG5LYlf42ZBtWI^~mq6HAfBM$R|_`A8gPCSB_OT-)?DG(IGZFFQDWn6@(L1}qM zz<7kY_%7@biI{lvW2%;x5R6Am^@89fQfF-7rKUho2uj*;W_u0&?G1n^N12v49wDw^ zc(mpXfD9yLEyZ}m6fcOow|#x9>EaQ*T$Vuqk^(^?+(xgRpo~kGH7G6b2pEqrYbjxm z$gZXM+K7bTWZH;$7eqxnctOEk$HaK;oCGSls{NBy=Niov@cb#6i>sghzhC=-K zkP|xn+r6IZGj3$mbHlw)zWMzr1(cwiq$gTlGEz#O61k5d&QlV+kHM3##d9%5OZi%A zBrswxG}at;9dY^cXD*pizy$J>Q1z5!YP%4^?oO}$`>uvdrxZ|va`L-qc{!0H9E3*9 zA)KEx5qfieSsOdyz{&wz_CJ2s>^VpGAHHQv987-BdGQCTIZ*X+4==v>?GL9ENVS4# zDGu6hgdW{#hjXu8GcxLN>&rKMds#^d%Hg8rg@X_f4spJgFo#6sEx;i`OMjn(WSnm} z%=L2kpnl#Xy~X~Aor{yFWJ#~zZZYtT(dqLbXSzcCh|nwRZ8Lf6Cq_r@PCjDpC7(|z zpakXQHPQ0ILGqLc2gy!XQx)V;JtSVOiQj(n9FkdGGzXK1(QugKq55$QN-*4(%! zs2Y}OAAB4Vv@-tS&U2oyRvfsp0@G3)wB0=aVxk(wLRQXI712%UG|Q}Lak*o_jN;iBb*Lk{`9;b8K6i$5F}eNPi*A(5-jJI2>dg<<9@l zPoDpeI*Zp@FuYb#X?Vo#VO5qvjQsg7~ z)0ayQJaYVq^!SbTl^+qB*|zHC8OQD#y}H$#_g?k(lmbdnPSP7KFC$pVydd-aI8RM@ zzMlv&x&GQW-%o_Jb$?wg`!8g^|GNL~;^CKXH2Swcn^L&osYj0bq_LE8gri3(KkR$m zt7A`Xm{QmJ>Ja0Jo?=Gh5 z3ocv#`JQi13Fm**b|XacFP(P;<-pbQ!a)cKhd4h=m_uTDrg?uz(#mj<@x0;Szq^>K z^C^>R1=CXBg|-_ZzJHys1?41r(elDU2-sGlx;D%q@#P0NBxq$g$avmxuy+^hI2cu@ zi6b==rlmM&yAh&Ye0t@2BVWE~N&zJ(2d#bI7)np6?==4KKq%+DXH~ z-dwCX(4`W}BNa0tyc7o=-$RHXBFa$0Gx?gey!6)+4-^`4JTN%F^W<;#%WX-|E z17+Ouy1lr#ISz!ZxMGD6UW$W`?;%8-3%gOmGxxA)dEp@OK;aO_1A`nq@jwrUmg0eC z{I)PSej{Xc&7V%#^0iK5B1}th&~_t4oC~{A!ZTd7yl@Z#!Xb_ahB+i6T&{iaacChP zICyc-rZa>?jkrTPKMYkp%Z;O+uN&Lr!2`!cm{#P_UP@}ab^H${qc8j5`Ys2Q;$kS} ze+*7qpKuW(!X=ImhPheCj|D;hU@Ar^57UZVD#R#lH$ubwq@yuq}*>2xm#x&VgEr0!$roZ>(se!Si})uk8A z8at>^h|c|ckFU=B%ar2%4=AU9(ek$Eka2dL|1UhwPOM-$4!&`AqLwiy?y?Wpr!r6+>>Jb;S?_i zULhv1Budp&9JE~s0Z*^1q8$Iw^5PHT2|^?05cY>G2cJK*z(H~coAduag!TW|H}t*_ zn$%ai_PA)oxl;=NhrKfov#K~6{=h8kAc#xcQ3+}YGBYrM3tq&12b3tv%($SU;)1BC zAs~w4z8lwQG%iU*F$T97y=HNbMoEksW(EvKjS)4*sEKd*s{8csPIsN2zWfpA$@hIP zc^>i{Z&%UvJ9T=gKBtPW%A%j}{o=9KML)f8YAHD$LVV|jGL&%5Cwp36#%uY6PwtBS zgfBT>XAAjq=Q-s*;WO*Ib&?!Tx&M)Gy&@d=stnTtztnak#CLAkjS{ZmqUD8y5D*Ub z6TUPD@1wMi=PjR>em>17e1^loB!@@#f9k*)7f&tlRT-uQ9JJjC@tqrXql9a?XnElv z1cZbAgfGp(`zS5J!K0Pqki~14t)1ks`}>Pp21uMJ`3ax48zDZ~!)}yt4Hqph9E5;y zu%GayIpja#i>&8Hd9-pI+`eZ(k^>BF(`Y0TUd`eDZBL^o??$>zG7pKTHca z(1;%|aqwpBKg#BRoO0ufo4oSc)B;LS4i_yi9E5;yu=7QlgEs;uIC!*j&xOnvhC`ny z2fEHyjFfhm7I4sZBXrlDFWS6^QwDFjbi>!D7Epq6xM+FdAOwVioiEZHyb&RG#7Wb3Nwa}$&USIY|rAs`&=`BIvLcVf~p z2cK4sgPboJ4&9?1=sG5Go`Pus2O9As*PKV|a}$&Um-fgD2O%IFZ2tc=hy3|cf*SaFVB|9v%o$&H8?tX=PfPtRz4 zwS6JSn(MxXZ!bT8zDjt{3#t657iN0lhH?_#Yk9d5lEX-Dgw0`;yb=Bqtz(BQm&2%G ze)Y1fV6Fb3b9(>Z-8FH+)WU)VzkGD%^HU3?H{+v|z#%98VT+dUNh5wlh|gH2tr&XC zX`&1zDCff`EiX%Y^F@l_uwSGkBT{~DKL;Wbks6bTNDa3q;ML2rinSWVx)j|h>+W7eF5H+xx>p#A2N_1{mJs2|PY_UN~ISyr-EgP`v>-1w9Cs$QI0NaiTfh9g8yk^}cy{95(-?MhG% z7%gu=2mu4a|#k7Efwi_WfwK@oja^Pxt;UENrgWde6Ie6RIj)zL0mi7me@6B-7 zB+7xVvp*#`ifI7{Z8t(}YIP74<-pbQ!a)cK2fO)CbMUsa2@W1D&A|kV4Tp`R9Oydx zQ{uju7I4sZBgCdw2SHH|TrDpggn)3coBuQiZ#$dd;L*x)$Uc%MeS~(7~`8WQsVUz=1XMaj?6w^WuD#(El zn_3+NMLBRaH{l=zgoEAur#X1r*#rlVR*r*g{zuB1as$gjPn^VaSq_rbmSteTL9Y=J zVhxEhlyFUsVJ$DgVzZ_c9Cl5aj21`Ml#$bea%;*F0^(~)5UhGg=E^cK0HN222(eVc zaFlROs$4B^K**ZXfG}&yGzf2znB05>LCj*wgn)x;Rvx*!f=#u z4HzwNKnMW?!mKHiApAvA0)&T4KN=?QojG4zFFHifS7v*ThFSdtAoS7*A(jXzLkZWU z%GL4$LY7j(!7ine9Q?&W#~jKnrQG}fk^F!6Ro^N3|E`k!fAhYI{D0NU6A_gh*ahf-!L|T|HXI>xw(N88po+}| z1WHg27%gu=NY)+$!es49gUAP>B5QgdSMGtdb9VJINk$p*2>RapoeSHh2?)}!U|Rq} z8;%gEO6tbX8`K~mP=a#6Xn6xd2pAA1Sxp**_wH4~BRpI=5O&h8SteOIN+8;^-Z6OK z#iU`g|6TqHKx};eKDShgq5Oytu5bUlPMs&$wAb=xh?cB(?g<&59GZNm?|5h`oAu62 zR$0wnJxI`b+?YIU7#EPxmLr7kqYNcngICKN5;91*N2E4QA|I@d&Dvh#$ec^qmq4nQ zWkq{C0>KiCB^T};fY82=5Q{zxM+w)|e$es;ggg`mgh|_z2H{2hI(7-abVd$@J@v0y zmR0S|K(s#_-+z42stOq#NMyi_U~Q1U0uVIf$M3qMpKU%EVUvRDX#wT5*Yaj`kY_`p z#Wo{kGFlvYHX>pBvd@MI7k|?mCEDwP(s_(xzQDME1daHS_r8}d-_GXy)AIt#!K>vB z33)aQ37I}>(H6Y83Ww0RzG$IZK1czvLVP;o-`Gu!r8&%eIPw;FO2&G&miq zd1=&!0}kCJd|8Y}{Ky^d(s$~|mmWN*s832z&JmQBHy~vDZ$Oyse;S0hpG}MrWw!rj z))*26LEkx;FP)$`+X9c!h9lHkwR-g>QdV7`l%O2CTHb&V0tSTH{wG01w*N7Y@Nnfk z!hUvLz3l5z5cD0JI32>a00fQrk=Hx6z5S^L3+@|S)JIGxhpv`4AcTMcVUCp2Ao52_ z5fDDE90>DW%zx4Q|MB|08(nqM>eZ{K6z$@xFr`R}nKz#vXHydeH-tvy~DAx@K9t zes533fz&F0STw|@fNv(n@Q4ZLxg$6sQXMZx&=CMIJ%4m!SpKHAw?VAklr3x#FQupU|||hr%@$bK<6wm5;>gv^V4=K%?m(SiY zKX1~AAJ29|Q&#Qf<-Kd4e6gE(Qp*d0PRM)5d|?l^s+Mh^0};Lf$SOLDlxnZ%TaX#odqH$s2C@) zlEYz+15+BN1st^92)(uIbT9ASlp;#t02eJU96BNI9UN>3y=vL0HR8aOhG_u@ZTBe- z-r`M9_VV7z`0&_iuk8NVq#_*PqUD7{C*-|@gRCEnKgga>PM12GFEEKI4buV+G~&mL z9EZlHf?Y3QH%hpMi)tpe%6J~FVRFql zrR6(moEkBwcEqHaque+ZFX2m9F^NYB(*h1O;>RC34x3H$#woEIB`AlBmhYr-%5iYx zRJ?>QU7hJnVu-=CfP=Ohp`cKva6k#l;iBa`X`FH#?8$G{vaE!!p0~c?#%a3DmSm4l zuCgiI0}eDIZ#mZpp={QpS#WU^ryOOpM_%@OlIL7#*gWUyeQ!R`d1SxmXN7Oy?`0es zfXT(Vz2Nx&J3ixUcbe%4; zCBc*^2kh2DeI1AQzMlnIQI0a&BQG3ezbF16yPby7X@Bq{pow^p7gf&rgY5T=KkOZy zFTSRp3$`Sf66F9a>_P}-S8bfdi!~S8BQG2}BVO$M!NrUBigMUeabQb=DNzpCja>+# z?1uNUc(LX}d*p>fXT*!$IO*cWdqz3zr8qFvV@i|*c4HSpC~KIQ#fvo;+9NL~f zFLoSUym;3rhb#q9`#CGAfA~Zu&p{4j$p>WZl52!eMn0kJQ<*76l+hk};UFKy$h>Lu zK_ur*KZAD1^JX;PxZD5NIS#u-InXsi+AMMYJo~czdh!D2_xy+uadecSglpE1T3!fr zLfst4!K^1o^r>3EqEFZE6_sms?JhY0KI;8$ujM^o@8QJ&x@=N0T>kgJfBv5)AnV9U z9X}7UHT=HYXELS#&kfm8Krk-+*fruugckn5i2fr%zHWubxv6VgVLpjQ5kG#xVov_~{7d-* zj})dvIRFd05JK7MkKSz0`!pBYBQG2}VZY}%@P1HM$XIjuz2d-7gDFuC*o|EXp=|ts z8TPzSbD=%*!l4uPdvI|3y(!Ugo37JEwjh`i<$&E<=zRzEt{YFa=Y1$g8SRl54xO;y zgM-`e9TMe0*Xbf#5KM`30G1Z2a)Zsi7mT;(eJDp6?U5G_ov`17gWK;N9Ob~rJ9P0+ z?$sVliE;pz7D5^OJIW$ z@t&09;NFuuXpJ~9wPRY813x~Df2{D{lM)UnfdgFNfV^<%jQ6A*2lt-Tfk_T*MVQ(L zI@1CU+HQo{|6n&txQ2_C7Y?2Ao|NNY-jnK6wN*v$uIpD+Zq}`PO+|J0uIq*q4&qu3U0)4sg#*1e3Yb=#Yzijn4Z7KQS`JfTSm#)2f^7xlZ7eq`&fqa0;gzVb6uab9LoTVJWJR9CvrzD94~rKPU4UqRf(3G3S{Zu32c zUyZ7CzUJo723b$l35TXAhrg@!HACCXU+rKPCJ-S|`iJ6J(ui{QK~zf3wBI^;pVHt>5E?FRz>s zei}(5>R@q=P=(`gLZ54F5FO|MJc@LYM-Wp=_uteDqY-vcf*83!t6%>2E&xe9s+=lsb*xzkQE;_8a$)*rBL}P)2>waTlC)%9E!wmWtBS z9(lQclGj@N*ygoP`mvv>xnn<$=e5qB=Q{U((DbMu|8>d+UyRtSv49Db_9PW`z=1~C zdHIY#HVzbs2%(JR*z=G7YyJC!8Ve}X@-nUo0ij{@S|`UfzY=K2S_bWZ^d^l3OrkU!rUV>lgx#Yie(=Q5lNw8PQc*^oJIzJQ3kM+}9BkdxGzahN z{sf0;G6d%jvd=Lbj)`)Z)oWGH?`+gqz$8kNVM@S(M!bp6HxCQ&~Z zQv!dW5qAG$>&i)AKS7-7l-_%Odhoa+$}V{Pjv3=7k1J{}T3$E^0pTFkbn9!=9K0L{ z34ict$!Ch z%Cx+2kUF};!Pe1Da`1O99dn4+(RJ%T!{NW@`~Q}BUE|4Lwyb^87LA35H-EkA+?nlD zEhRMqzoZfGo#^=)Wz?ZKdCd6h2Mlg3piIll{g5|OkMh3UbsW6iIs5K-y*D>+$-cW*IGDP|`R|nI zIwp~g7gItG%I-fNzRjWqUvDfR)XUlZ%Mav5Z86Sj$9Uqb$BI85s zx$tP^ILP>5IK=B1({)T@DUK-t2O0rOuirWE|4qNeww@2lQKsdEgAfo7cAt~x;N>yv z*dKgaIS#VVF&yG`jOjWiv98CIfCG(yrPuE$`{#A{?sxR$u|=*?rsai$5D*S_pOfa` zt=tnFJX$#pvd=Lb;&qG}$}ov_J*EU4Xap?1en;7MCmp=>xZ`&!aX^`t7Y;%|IM{to znuE7;PjK*Pp89B2eAy?#g8LBlrr&ArbTikgd-7Y;%| zIM{tonuE7;PxymJOLH*$9K+%CBnM1li-IWu2O0rO?`xJjs7E|-*wcd!8dua@w7hT- z0>Z)WbJ860`<$3Rc(igHWPNWqoEGIksA@M;Ke%^Ox_i*$U@8v)&O5&3?wTwKh=xlfI9AVfnKcWpWS&grvu zDq>2M19od6lo2n|TxgHHa1a8*!OjW`WH`cEKph@TH1<66l>UV*Fh8a_JmMIJ*aoC?z!;$-)tV?R#spcx_9(jxn#6mAZUw)9Y8?IHI`Yme=RYA(k3VX&76#puVW> zM%g;=zHf_Sb1sQ8Eidzya1a`nLvr4VaEQ!Xg#Iuk;6Ni_>3E-x2cjHhT3$E^0pVavouxT=84eR1JX$#p*}AqR zUdMR%#bbYb)vWgOUY4L#X$v?o|K9fd7aqUqxrWktFG46|-FxW)yWcZR#t)Qfc^Mgm zL$;oLBka<4qYS6g_g~9rPlV90{*WFg z^ZpPUC(Cd!<7Bt!dhU^d6F2|h)OLShivo{;1NW2r&ox3QW8b4W(H{AXfcS&m=Oov2 zk$p~NeeZis?zza`|8J>@av+pVmob4`8gQTykhI+>BQCD}L(69)gV3-X(*EE@#1r$T z=QS}7#viJq9Da4&yZ7(t`2(LI!z19p{p9|0jS$NCu32-UJ@Od=@dtZ;koE^JBAyr@ zJX$#p*>?~vRZ$Lv^yxAta7zOYGy;;g8)cj?X#ddi;t%2pLc?-M`$L{XY>BVtnvuAtcJ0!ZN-_>Uk^EA`mrM#3lvRgTyTahw-MY3 z8c|~6=xO_|`>*;QrsZWpYf4gxU)qus$rY_%W5L~t$jW|9 zv?N8g^B-wlivzJj5uX0$XX9!055t`R~Rr8+O3e|OvPvl?5$q0zZ5~du8dhv*?im?Xqk3Al}?{N>rUPqmEdzXg>7qKPq2n@k+ zt`R~R<=!1T7eiOtQgY01hM3yA*x&S|glwc~cn zC(iajZ2$7$pWVG;ND*72ATS)m5JK6M1)n~4$?_pZ4Tko}8xTUkfH-evp*CFwVRS?L zHy0g`Qd#}G_*-kWvgM%8y(lgtA)>9{a%4ht(FZySZi3rn4IhD5E{{LSoLQ1p#sPUh`_xZ>f(S zzD67pZ>iU2Z>hIrb&NHKPi~%n!LA;M*_E%18h>hC5mTZbf!)}J5X#PeqHV}gGwX_) z3+<5?4njaUoOxQYwjudsj9Q~Ch(0a-WYlJFIk#kGj5P-WxO9<1yO@?w8=;(aLeiPIFq;jdCF1OBYWnK0ajapN=dN5RP&HmKH)8(PJQ^ zjP}S22O%IFY?L(3!HfGPIC!*j9PEry)v`{M0|6UMAkae~G~hrZ?9|a6lo3kOQBf@~ zt0*BLG;EYKy}I|}JdQ(bx98E)988qdtnLR!IbaI6iohSH1{`RF({POt%7CfurakgP zKsbm$SPp4_$a9FSAhMT(;`65AV3tyATMl|Dwfy}}#?F)VF{>U{4lJ?*4m4t&rB?_j zqgI+;d~12Psumn}DV1~xe`(OMLzG)e)d`3JQ4nkl=rcC3Q3ycL2uj*;UKc!S##^@j z8_H3p<;^Zb)|7^aSyQHW8TmD3WS3D6ggHOxAAK^m965Bz)x#PKO!mx}Uo5@(=aZ(? zhASx=vAobTBg)o2^ra)8IjOGLZ@sBE%-XiGfHEyF1Y`vv4q;aiNr&*~#Dqh5>n%M( zm=%N>A=Zj=;OG;Rm@zRWa0nU!OV5lb<9u0j(elDU2nYwef=F}l=EROU__T5y%y&}R z{{PI1zMu73)%)#U%X%*D@qG8Ex;;{JfAw8ew^Ux!_2Mq`E6)51_W$xk#tRrfcz5gS zHrbIfdMX$k!uM|9ZzJ~AE%5@zFFroE^*Ij&b-1x53IfA13?Y!$OA!va%_o$z;Fyh2xU|~*I;Om zya6Eu3jmbM{oX#0wbTxXIEZF7iO^a>c^yH}1PZ5nG}lFdV}W zLRs@6e_8&1?+uC?4DFFOAcTMcVe0m#L3pnvCOpE!mGcO@-K}nk7cd?_srmh855#(J z&mVu^v`vcG5(R62q9oVNQf}K;q{|_36Jn_o~XFi7Ck3yjxsH87PJDw z@GygAazPsb5n0fd15qm=21i%+XP&jgZX3!?Ah?P285_8%0SFpFNgLk79h{6Ce}b+4j&hV~dE*h{ z3WkT7HPRlD2NCm#G9ZjcY!L;~Z?Cz>Ju4?k+*}4pfCM0Dgxl!B5M@+%*Pyh#BjCo& zhO|d`!(hTAJX|@CuzQ^9md&FexQX-`8@QFD|J;hRE53?95`u}BE@qwi-q>@y zRLpBCkX5+LnZL5tXM=mt>KgGQLiInp)~0MODI2qRlRJk`DjoWfl2OacYPJ(n&bwD~ zObTcDG^r(Cx|pu_+bQEfR$)vFIB2^O8g}#1Hf1x)P{K8EwY+fXgp~7ekXL#Qhj{5? zx{66;6~?rH1C99c3+Eqw@1J2)HlqwBT*F1n3x`f9(Fz9%2pJCX(#3QYlgKKJX#ocs z@#AvG;l8cL+LX;GLkZV#(elDUQaFFrC0gMi@gTz?Ub>jBuJ4`;QaEE;z(L!M5G7hs zh7zvfqUD7{CzNP~gM@=d$ZH^@yt!)prn?_dQTgY!Dk{i6J#~C*|JAb7>Hf9z&;7-r zA3w=p9dMu#KYsMVl&3%Ugu1$A+=TA(0g?&W^L%Nnp%dXFhnuml78`<+iPcY|+>O2^wM9g-f^F z;R{a)W#H77Yk4zk3kfr88xqM`drY20WcOc|gjvXq^n9ZI)u6BS{m1gR<+frJfo_Zm ze1b;c($R60E$%XT^Cu4NQq*L$ydfb73<(LMr}H@Zaq-0Z#p9J*znJ_*0zzsSOP&~g z!ihiAXKcW~0}wQVk~Vx}_i$YOvx8PXdvKQ`%2B4}&BGxe3=ab${cw0G9vq0s!{Iwl z41`(H)<;2{^yY?#JS`r<&E@z2AOQ#(;Wql10A(A!*gEd29zBa1l$Lh{j7P|6LS6dV z@D2zP9^v82fspCbc!aEKBObxFgg#>fH#Go3BPitzcOLO#*SkL&T-~#%Jw(eJj}TWd zJPe4mN8~}oJfaK;;}Nw{5Jc^`xr9Lh5`dr)ZlhzLC?kZZL1}qMz<7i?SW0_D{$MFG zTKea3IggNqgz<>sQ4n|peZ~fEY5;;pP|}8@jMymGDAV%BBg7R94+A3Y5qS_XkMR5^ z2Expr+j=0{=T8Q57C-YxuQOy-NAo9*m_NBj2xZJFdcLGR^2QZp{*;B4oj=nDOWu6o z#)!yyO4<3-ycjdgBhfy8GJw%Z4u&x%a0wb=IoAlGjL}q+p*`}3giITTgqb$dB)rGJ zV-n@24Vf}3D*9E-&ffp0_TMAj7T4TUeOuM_l~;6K*kzvl{2%`#i~D%pVwhaI;ry{{ z^=m4SDuYibf*bJj*;iav=-X7vzl#vbJ5YuauK7Mg%L{q=@2&ny}+Zs}T01yW^TTEIcujS$H@P=*q&fve?(gAfo7 zHZMtqop~RJXVH7ylydF?f%-A_r9@qQ=w*Q-N0psj4NVV zz(L!M5czshh7zvfqUD8y5D*SFk5!t37m81C@Mz^YxZq&CZZTc$dd9TVt~$A?uxgKg zwf*f^2NX%k8*q5%_0u2UaC%dL9}yzSFUnBD^^(E=9^Gf&0Yxn@93)?_aIpD$lN=)X zdL!dQxqQ9GAL4b3>FV?oe)!JwvzrPx{r2R|Uh6TTh-m=_Z8t*Htw0${xQ2_C7Y;%| zIM})@X%1dRijMukr=|VD)MXhle_+daS->^O2Owd+4!Zi1i+8?w*u?%1?>C`{X(bLd zvZm2?KjVbft@z?>Q{)3BE9Sm^Yp;DLlnxJ2%0C7ttxvcJ5#eI%d8E1I>v_cd!=snu z;)13-+l6gMT!`~iY6H_sT&jhOwi}^8jU8)?e_%ICxQ2_C7Y;%|I7n5Gh7oBF-ZxMQ z|L|z#IM|?RRm-?F;y|elOba+@yH`5@IQH_3Y#kHqMhVw&(elDU2nYwM>d`PV&B1$v zIl;lBmE$09g_!Z8kmT@@Gl>!A*KpDD!l4uDoVy^ptN+)s z(;9K0Bon3u9JJkB-+tWqJ)dcwSQ;Nt0tdLz9_7NJ6YBrL!L75$t`P@H)L~kb13$j% zoaoXEH?wti@yPth2NI|H5$p|7^En%_G%|tL~}1t?Tt&uBce}AK(7x6v{Xiuity=(~lqX!IY)~ z=aHnW{_)>mKFp*l5AMf{&JXz!p&uUd&lTf`?ohm^a`V5Qc9<*@w^;A<^|sxih;s5& zX!%}ynf(8KHf^@~7#d1>??>5Xdyx0u-|4&YdbIsa&9*A#y)ToGp+Pvr>-Ro8c)R}J z?$cDj1mYodJ>a12LI}Hc+ymt#xzO@5V+jYLVL6N}aqw0s)ZL44@Mx_mhmpb|UcVPp zxV5D2<`xGWXvB{^Z!4S5vU$zFea+f04s2{H)h$9foV0vKK>WeRhtmGwMLat82cMRn zzfF9|_`|oN;}o|L6Nn4Z^?-x63nAd?_z%i)GA%FuAf6yJEQho|fj)S2bC)4uc58??z!*WRbL!Lv-AIfkr{%~NF z1EvggFNc&;xw~5&aNvG&{}I~d#LaA;``>Ney7-2}n+hmFIh?e7MnL?*#tYN_;6=a^ z{@~Hd`Gc%uj6Y0@a^MzX0wGYk9&pfhA%xvJ9*AC0bEuRq(f3R`Wv_E)} zz=S_|v~vC+>p9~O6QUfrg_uCRl&%LHv|R{cw~mXV94FKA;t%2pLc?-M`$L{X%pb~d zF#d2rlmlHqaGkT(TQIGuRJsk*0uI`4gs2Cgh2@ZbF7g~A>*{QH zh`%~!IGE>RzbFSnx;2gi@zOVc@I=1e8~X!(MCh@fZ*GfU>$oV&i8pI`@dt??3k@4T zPWpo%5$)I?%Egb3KkOUjK-V#ecqyg@{y-ys{Jk3|fB4z0wvM-sgQ6U`T3$E^0pVcd z$7v2;1T?{6Wc%JrKNlu`Y&h%_LuPy4%yzkNd<$TBeh!A-v7JPZj?R$1_SAudfd}(>PACloq?uX6rmAoH* z&Z>^@$LK`7)@1lHei^S@OV{6ce(CEcOlT^Qastx=ztnakL=uZ$N6wl3m~cP|%7Lrp zg@X_f4mLkWl7pXdBEi9nZfn0Z`8f=Sc->mMzU~R1p3yk5sgTUiq3uS9d>r2!aOg4h zJ=&F^94=a3I0ymZVDodNIpp(mMCNawR*r-0_Y8-4-CDX{J-_m)=1ENjl2Bn<;1Akv zgs2Db)MKrSekvSLg7Okv2OH(WK?n#3o8c?X!OL0Iu|Jfn2VpqG>($zy-vRWk#D^s9LQ{ia?)gJdEp=ggoDj&mFAGoY!!Ph zJX)HA$!ujf92uRz>G~lzzPQONliN#HVOqdJ+l>%O(RJM_l*2{K3kM+}9BkhEGzTw( zdBPt&S~(8#UWDOrM3e(Z4P&ld?|@%OeJ@f@lfpaTpzC=dM1E(Kp@eJlnrnGE$B_Kq zLc`|wPM&j)@-j6$4qjBb6fZ85-`kvX9-ibth?`W)m=+HQo12V*x%xQ2_C7Y;%|IN0-pBnLkd zoZ#Tm%5iY#-c3;sJmQ3E$ajC`g01s)l>gxNHT;NB!?Y)C-Q+_CZ@F~CgPTglm{HF7 zq2;rYLH5124nlI@8>t5o+4q*K2VwTTjd2dH>zG8IcT5ZXfkyoJhU0SR&9A&?>Lzdg zz28qf>yV~WU1iNh%L@k~ARO%Ykmlfdyz_?`hce@X;V?DIfuRc%7#Hx1fP=ORA>irf zALR_XT3((A;UF|DhxB}r=MbAW%WyFB#bHqnn8K~)T#;KGaG()C64&6|Ri7WC98Ow3 zBOv}@$H}xmcu#)9A3R#Q@j=E(;}3^MIdBUxf$@>92OP9r2mw!zgDA(zw0t&W3JuF4 z?GJelF@Gq-!R`Mqh@Jo6Uv+ootzEy{w=m>Hi?NBVN9jnS~t*IfmJx1-C(07?h!eYq)56;UENrgWc|>Id~hG1P5<(oa5kL&xx1srK{{n$gPWM0S9e2LTqDD zh7zvfqUD8y5D*S_yO-wRZD0}{JX$#p?lt(+lK#Msgq*~f7I4sZBg8fayHUb5T(rD! z5CX!%Zuin0ybVl(gGWnqFxx$|yq}fiz)p?ITbLGb&~_t4nJer@3D>i952alF^h+4OfIVH-0u7BZ7B2J8H0S9e2Lan!7 zzT|h`sx9hxFv@|e<%NR~5DqqOp61|1f)gA(S~(7~-!uMja+E`<>y85 zwA~1en0>M>Hmu{xC2ai^cgL^+{MwA0x$0Xv!m=v%BAfve?(gAfo7b|IDK;4KXj96VY%4(`2}6QUgG`Wwz9;>4I1aL{%m z^ybfxvh{*>JQ(G`)$+nY2nYwekVekBZ zx?U>z|IYePZ}*M9`PHpi#a^AcXTV*zT=(6*+u!&nd*X_}PRJMjd%-=n{P=~te&dqA zt-eGG{at_KPu{EAr>Rsu5ar}^)bhgKB%u^nv?&;qt{6$d7;!~E^R>POrtn|G{F>IR zWUqh-%Dg?j-Zwt_-oEW?dY0b<{^w8i%~jikYkGzje$;Dpy@p5m`S<^$VMh0Didx=) zn171}Axrz(x-MG&=E8POUg&gSbRiv{$>ttf9aDWleQcVdcj?Hr-&arc(I^ z@-+nyWuF0ej_D?i_z@ve`OKek%jmU48Cf|{PKpmLFAt^3%3*+9BUw3;Ph}*lRphBG zmz86rfXJ%$Y7n*K=M8F*z8~<1En2=OHj=NJ%ryasUhiDkHccAwBSPeMKDPhw?wTmd zP=a#u0cm*yLQ>Tj5GK2K8ie;^V#mW%x$NEsL{_#}gP`x{E%@c5E5%0AG-F!;LK}_{ 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

0xTG6VAS}(Z$&JZj?|t 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%0ADS^ysvjANT3hQ_++N2WhtyqB7>yB^N0V4j=#y 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⪚I5|*ts`#hPx4wHx-~Iun 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