diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 72b2514..a857ba4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,9 +59,6 @@ jobs: source .venv/bin/activate poetry run pytest - - name: Build package - run: poetry build - # Configure git for committing version bump - name: Configure git for committing version bump run: | @@ -82,6 +79,10 @@ jobs: run: | git push origin HEAD:main + # build the package after bumping version + - name: Build package + run: poetry build + - name: Delete existing tag (if any) run: | git tag -d v${{ env.new_version }} || true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0de3735..648fcee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,6 +13,7 @@ repos: files: \.json$ exclude: ^aodn_cloud_optimised/config/dataset/dataset_template.json$ - id: end-of-file-fixer + exclude: '\.schema$' - id: trailing-whitespace - id: check-toml diff --git a/README.md b/README.md index cbb2637..e509a99 100644 --- a/README.md +++ b/README.md @@ -5,24 +5,44 @@ ![Release](https://img.shields.io/github/v/release/aodn/aodn_cloud_optimised.svg) [![codecov](https://codecov.io/gh/aodn/aodn_cloud_optimised/branch/main/graph/badge.svg)](https://codecov.io/gh/aodn/aodn_cloud_optimised/branch/main) -A tool designed to convert IMOS NetCDF files and CSV into Cloud Optimised formats such as Zarr and Parquet +A tool designed to convert IMOS NetCDF and CSV files into Cloud Optimised formats such as Zarr and Parquet ## Key Features -* Conversion of a dataset with YAML Configuration: Convert tabular data (CSV or NetCDF) to Parquet and gridded data to Zarr using YAML configuration files only. -* Preservation of NetCDF Metadata: Maintain NetCDF global attributes metadata -* Improve Querying of Cloud Optimised data by Geographical Bounding box and Time Slice: Create geometry polygon and time slice partitions for Parquet dataset, facilitating efficient data querying by time and geographical bounding box. -* Data Reprocessing: Easily reprocess NetCDF files into Zarr and Parquet formats +* Conversion of CSV/NetCDF to Cloud Optimised format (Zarr/Parquet) + * YAML configuration approach with parent and child YAML configuration if multiple dataset are very similar (i.e. Radar ACORN, GHRSST, see [config](https://github.com/aodn/aodn_cloud_optimised/tree/main/aodn_cloud_optimised/config/dataset)) + * Generic handlers for most dataset ([GenericParquetHandler](https://github.com/aodn/aodn_cloud_optimised/blob/main/aodn_cloud_optimised/lib/GenericParquetHandler.py), [GenericZarrHandler](https://github.com/aodn/aodn_cloud_optimised/blob/main/aodn_cloud_optimised/lib/GenericZarrHandler.py)). + * Specific handlers can be written and inherits methods from a generic handler ([Argo handler](https://github.com/aodn/aodn_cloud_optimised/blob/main/aodn_cloud_optimised/lib/ArgoHandler.py), [Mooring Timseries Handler](https://github.com/aodn/aodn_cloud_optimised/blob/main/aodn_cloud_optimised/lib/AnmnHourlyTsHandler.py)) +* Clustering capability: + * Local dask cluster + * Remote Coiled cluster + * driven by configuration/can be easily overwritten + * Zarr: gridded dataset are done in batch and in parallel with xarray.open_mfdataset + * Parquet: tabular files are done in batch and in parallel as independent task, done with future +* Reprocessing: + * Zarr,: reprocessing is achieved by writting to specific regions with slices. Non-contigous regions are handled + * Parquet: reprocessing is done via pyarrow internal overwritting function, but can also be forced in case an input file has significantly changed +* Chunking: + * Parquet: to facilitate the query of geospatial data, polygon and timestamp slices are created as partitions + * Zarr: done via dataset configuration +* Metadata: + * Parquet: Metadata is created as a sidecar _metadata.parquet file +* Unittesting of module: Very close to integration testing, local cluster is used to create cloud optimised files + # Installation ## Users Requirements: * python >= 3.10.14 +### automatic install of latest wheel release ```bash curl -s https://raw.githubusercontent.com/aodn/aodn_cloud_optimised/main/install.sh | bash ``` +Otherwise go to +github.com/aodn/aodn_cloud_optimised/releases/latest + ## Development Requirements: * Mamba from miniforge3: https://github.com/conda-forge/miniforge @@ -46,57 +66,76 @@ to update the poetry.lock file. Commit the changes to poetry.lock # Requirements AWS SSO to push files to S3 -# Features List - -## Parquet Features -| Feature | Status | Comment | -|------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------| -| Process IMOS tabular NetCDF to Parquet with GenericHandler | Done | Converts NetCDF files to Parquet format using a generic handler. | -| Process CSV to Parquet with GenericHandler | Done | Converts CSV files to Parquet format using a generic handler. | -| Specific Handlers inherit all methods from GenericHandler with super() | Done | Simplifies the creation of new handlers by inheriting methods. | -| Unittests implemented | Done | Tests to ensure functionality and reliability. | -| Reprocessing of files already converted to Parquet | Done | Reprocessing of NetCDF files; original method can be slow for large datasets. | -| Metadata variable attributes in sidecar parquet file | Done | Metadata attributes available in dataset sidecars. | -| Add new variables to dataset | Done | Addition of new variables such as site_code, deployment_code, filename attributes. | -| Add timestamp variable for partition key | Done | Enhances query performance by adding a timestamp variable. | -| Remove NaN timestamp when NetCDF not CF compliant | Done | Eliminates NaN timestamps, particularly for non CF compliant data like Argo. | -| Create dataset Schema | Done | Creation of a schema for the dataset. | -| Create missing variables available in Schema | Done | Ensures dataset consistency by adding missing variables from the schema. | -| Warning when new variable from NetCDF is missing from Schema | Done | Alerts when a new variable from NetCDF is absent in the schema. | -| Creating metadata parquet sidecar | Done | | -| Create AWS OpenData Registry Yaml | Done | -| Config file JSON validation against schema | Done | -| Create polygon variable to facilite geometry queries | Done | - -## Zarr Features -| Feature | Status | Comment | -|------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------| -| Process IMOS Gridded NetCDF to Zarr with GenericHandler | Done | Converts NetCDF files to Parquet format using a generic handler. | -| Specific Handlers inherit all methods from GenericHandler with super() | Done | Simplifies the creation of new handlers by inheriting methods. | +# Usage +## As a standalone bash script +```bash +generic_cloud_optimised_creation -h +usage: generic_cloud_optimised_creation [-h] --paths PATHS [PATHS ...] [--filters [FILTERS ...]] [--suffix SUFFIX] --dataset-config + DATASET_CONFIG [--clear-existing-data] [--force-previous-parquet-deletion] + [--cluster-mode {local,remote}] + +Process S3 paths and create cloud-optimized datasets. + +options: + -h, --help show this help message and exit + --paths PATHS [PATHS ...] + List of S3 paths to process. Example: 'IMOS/ANMN/NSW' 'IMOS/ANMN/PA' + --filters [FILTERS ...] + Optional filter strings to apply on the S3 paths. Example: '_hourly-timeseries_' 'FV02' + --suffix SUFFIX Optional suffix used by s3_ls to filter S3 objects. Example: '.nc' + --dataset-config DATASET_CONFIG + Path to the dataset config JSON file. Example: 'anmn_hourly_timeseries.json' + --clear-existing-data + Flag to clear existing data. Default is False. + --force-previous-parquet-deletion + Flag to force the search of previous equivalent parquet file created. Much slower. Default is False. + --cluster-mode {local,remote} + Cluster mode to use. Options: 'local' or 'remote'. Default is 'local'. + +Examples: + generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/PA' --filters '_hourly-timeseries_' 'FV02' --dataset-config 'anmn_hourly_timeseries.json' --clear-existing-data --cluster-mode 'remote' + generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/QLD' --dataset-config 'anmn_ctd_ts_fv01.json' + generic_cloud_optimised_creation --paths 'IMOS/ACORN/gridded_1h-avg-current-map_QC/TURQ/2024' --dataset-config 'acorn_gridded_qc_turq.json' --clear-existing-data --cluster-mode 'remote' -# Usage +``` -## Parquet -The GenericHandler for parquet dataset creation is designed to be used either as a standalone class or as a base class for more specialised handler implementations. Here's a basic usage example: +## As a python module ```python -# Read the content of the dataset template JSON file (with comments) -#import commentjson -#with open('aodn_cloud_optimised/config/dataset/dataset_template.json', 'r') as file: -# json_with_comments = file.read() -#dataset_config = commentjson.loads(json_with_comments) - import importlib.resources -from aodn_cloud_optimised.lib.config import load_dataset_config -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation -dataset_config = load_dataset_config(str(importlib.resources.path("aodn_cloud_optimised.config.dataset", "anfog_slocum_glider.json"))) - -cloud_optimised_creation('object/path/netcdf_file.nc', - dataset_config=dataset_config - ) +from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation +from aodn_cloud_optimised.lib.config import ( + load_variable_from_config, + load_dataset_config, +) +from aodn_cloud_optimised.lib.s3Tools import s3_ls + + +def main(): + BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") + nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2024") + + dataset_config = load_dataset_config( + str( + importlib.resources.path( + "aodn_cloud_optimised.config.dataset", "srs_l3s_1d_dn.json" + ) + ) + ) + + cloud_optimised_creation( + nc_obj_ls, + dataset_config=dataset_config, + reprocess=True, + cluster_mode='remote' + ) + + +if __name__ == "__main__": + main() ``` diff --git a/README_add_new_dataset.md b/README_add_new_dataset.md index 045e622..5cf49ce 100644 --- a/README_add_new_dataset.md +++ b/README_add_new_dataset.md @@ -1,4 +1,9 @@ +# Creating a dataset configuration file + + This module aims to be generic enough so that adding a new IMOS dataset is driven through a json config file. +Examples of dataset configuration can be found at [config](https://github.com/aodn/aodn_cloud_optimised/tree/main/aodn_cloud_optimised/config/dataset). + For more complicated dataset, such as Argo for example, it's also possible to create a specific handler which would inherit with ```Super()``` all of the methods for the ```aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler``` class. diff --git a/aodn_cloud_optimised/bin/aatams_acoustic_tagging.py b/aodn_cloud_optimised/bin/aatams_acoustic_tagging.py index 2f35a53..e25d758 100755 --- a/aodn_cloud_optimised/bin/aatams_acoustic_tagging.py +++ b/aodn_cloud_optimised/bin/aatams_acoustic_tagging.py @@ -1,31 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/AATAMS/acoustic_tagging/", suffix=".csv") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "aatams_acoustic_tagging.json" - ) - ) - ) - - cloud_optimised_creation_loop( - obj_ls, - dataset_config=dataset_config, - ) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/AATAMS/acoustic_tagging/", + "--dataset-config", + "aatams_acoustic_tagging.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/acorn_gridded_qc_turq.py b/aodn_cloud_optimised/bin/acorn_gridded_qc_turq.py old mode 100644 new mode 100755 index 1a1bc33..3c77429 --- a/aodn_cloud_optimised/bin/acorn_gridded_qc_turq.py +++ b/aodn_cloud_optimised/bin/acorn_gridded_qc_turq.py @@ -1,43 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.GenericZarrHandler import GenericHandler -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop - -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls( - BUCKET_RAW_DEFAULT, "IMOS/ACORN/gridded_1h-avg-current-map_QC/TURQ/2023" - ) - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "acorn_gridded_qc_turq.json" - ) - ) - ) - - # First zarr creation - cloud_optimised_creation_loop( - [nc_obj_ls[0]], dataset_config=dataset_config, reprocess=True - ) - - # append to zarr - cloud_optimised_creation_loop(nc_obj_ls[1:], dataset_config=dataset_config) - # rechunking - GenericHandler( - input_object_key=nc_obj_ls[0], - dataset_config=dataset_config, - ).rechunk() - - -if __name__ == "__main__": - main() + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/ACORN/gridded_1h-avg-current-map_QC/TURQ/2024/01/", + "--dataset-config", + "acorn_gridded_qc_turq.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] + + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/anfog_to_parquet.py b/aodn_cloud_optimised/bin/anfog_to_parquet.py index ac092de..0ba1e99 100755 --- a/aodn_cloud_optimised/bin/anfog_to_parquet.py +++ b/aodn_cloud_optimised/bin/anfog_to_parquet.py @@ -1,28 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANFOG/slocum_glider") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "anfog_slocum_glider.json" - ) - ) - ) - - cloud_optimised_creation_loop(nc_obj_ls, dataset_config=dataset_config) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/ANFOG/slocum_glider", + "--dataset-config", + "anfog_slocum_glider.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/anmn_aqualogger_to_parquet.py b/aodn_cloud_optimised/bin/anmn_aqualogger_to_parquet.py index 59b0f35..a1f727b 100755 --- a/aodn_cloud_optimised/bin/anmn_aqualogger_to_parquet.py +++ b/aodn_cloud_optimised/bin/anmn_aqualogger_to_parquet.py @@ -1,43 +1,24 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - - nc_obj_ls = ( - s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/NSW") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/PA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/QLD") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/SA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/WA") - ) - - # Aqualogger - temperature_logger_ts_fv01_ls = [ - s for s in nc_obj_ls if ("/Temperature/" in s) and ("FV01" in s) + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/ANMN/NSW", + "IMOS/ANMN/PA", + "IMOS/ANMN/QLD", + "IMOS/ANMN/SA", + "IMOS/ANMN/WA", + "--filters", + "'/Temperature/', 'FV01'", + "--dataset-config", + "anmn_temperature_logger_ts_fv01.json", + "--clear-existing-data", + "--cluster-mode", + "remote", ] - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", - "anmn_temperature_logger_ts_fv01.json", - ) - ) - ) - - cloud_optimised_creation_loop( - temperature_logger_ts_fv01_ls, dataset_config=dataset_config - ) - -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/anmn_ctd_to_parquet.py b/aodn_cloud_optimised/bin/anmn_ctd_to_parquet.py index a06b275..19c9509 100755 --- a/aodn_cloud_optimised/bin/anmn_ctd_to_parquet.py +++ b/aodn_cloud_optimised/bin/anmn_ctd_to_parquet.py @@ -1,38 +1,25 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - - nc_obj_ls = ( - s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/NSW") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/PA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/QLD") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/SA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/WA") - ) - - # CTD - ctd_ts_fv01_ls = [s for s in nc_obj_ls if ("CTD_timeseries" in s) and ("FV01" in s)] - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "anmn_ctd_ts_fv01.json" - ) - ) - ) - - cloud_optimised_creation_loop(ctd_ts_fv01_ls, dataset_config=dataset_config) - - -if __name__ == "__main__": - main() + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/ANMN/NSW", + "IMOS/ANMN/PA", + "IMOS/ANMN/QLD", + "IMOS/ANMN/SA", + "IMOS/ANMN/WA", + "--filters", + "/CTD_timeseries/", + "FV01", + "--dataset-config", + "anmn_ctd_ts_fv01.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] + + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/anmn_hourly_timeseries.py b/aodn_cloud_optimised/bin/anmn_hourly_timeseries.py old mode 100644 new mode 100755 index 9b48a7b..41be9ec --- a/aodn_cloud_optimised/bin/anmn_hourly_timeseries.py +++ b/aodn_cloud_optimised/bin/anmn_hourly_timeseries.py @@ -1,40 +1,25 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls -from aodn_cloud_optimised.lib.AnmnHourlyTsHandler import AnmnHourlyTsHandler +import subprocess def main(): - - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - - nc_obj_ls = ( - s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/NSW") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/PA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/QLD") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/SA") - + s3_ls(BUCKET_RAW_DEFAULT, "IMOS/ANMN/WA") - ) - - nc_obj_ls = [s for s in nc_obj_ls if ("_hourly-timeseries_" in s) and ("FV02" in s)] - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "anmn_hourly_timeseries.json" - ) - ) - ) - - cloud_optimised_creation_loop( - nc_obj_ls, dataset_config=dataset_config, handler_class=AnmnHourlyTsHandler - ) - - -if __name__ == "__main__": - main() + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/ANMN/NSW", + "IMOS/ANMN/PA", + "IMOS/ANMN/QLD", + "IMOS/ANMN/SA", + "IMOS/ANMN/WA", + "--filters", + "_hourly-timeseries_", + "FV02", + "--dataset-config", + "anmn_hourly_timeseries.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] + + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/ardc_wave_to_parquet.py b/aodn_cloud_optimised/bin/ardc_wave_to_parquet.py index 456d5ee..8ef169e 100755 --- a/aodn_cloud_optimised/bin/ardc_wave_to_parquet.py +++ b/aodn_cloud_optimised/bin/ardc_wave_to_parquet.py @@ -1,35 +1,20 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = ( - s3_ls( - BUCKET_RAW_DEFAULT, - "Department_of_Transport-Western_Australia/WAVE-BUOYS/REALTIME/", - ) - + s3_ls(BUCKET_RAW_DEFAULT, "Bureau_of_Meteorology/WAVE-BUOYS/REALTIME/") - + s3_ls(BUCKET_RAW_DEFAULT, "Deakin_University/WAVE-BUOYS/REALTIME") - ) - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "ardc_wave_nrt.json" - ) - ) - ) - - cloud_optimised_creation_loop(nc_obj_ls, dataset_config=dataset_config) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "Department_of_Transport-Western_Australia/WAVE-BUOYS/REALTIME/", + "Bureau_of_Meteorology/WAVE-BUOYS/REALTIME/", + "Deakin_University/WAVE-BUOYS/REALTIME", + "--dataset-config", + "ardc_wave_nrt.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/argo_to_parquet.py b/aodn_cloud_optimised/bin/argo_to_parquet.py index 6ac83ed..6937479 100755 --- a/aodn_cloud_optimised/bin/argo_to_parquet.py +++ b/aodn_cloud_optimised/bin/argo_to_parquet.py @@ -1,54 +1,31 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.ArgoHandler import ArgoHandler -from aodn_cloud_optimised.lib.CommonHandler import ( - cloud_optimised_creation_loop, - cloud_optimised_creation, -) -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "argo_core.json" - ) - ) - ) - - # test file with timestamp issues and deletion of previous parquet objects - # cloud_optimised_creation('IMOS/Argo/dac/incois/2902093/2902093_prof.nc', - # dataset_config=dataset_config, - # handler_class=ArgoHandler, - # force_old_pq_del=True) - - # Lots of ram usage - # cloud_optimised_creation('IMOS/Argo/dac/coriolis/3902120/3902120_prof.nc', - # dataset_config=dataset_config, - # handler_class=ArgoHandler, - # force_old_pq_del=True) - - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - - # organisations = ["kordi", "csiro", "bodc", "csio", "incois", "jma", "coriolis", "aoml", "nmdis", "meds", "kma"] - organisations = ["nmdis", "meds", "kma"] - - for org in organisations: - argo_core_ls = s3_ls( - BUCKET_RAW_DEFAULT, f"IMOS/Argo/dac/{org}", suffix="_prof.nc" - ) - - cloud_optimised_creation_loop( - argo_core_ls, dataset_config=dataset_config, handler_class=ArgoHandler - ) - - -if __name__ == "__main__": - main() + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/Argo/dac/kordi", + "IMOS/Argo/dac/csiro", + "IMOS/Argo/dac/bodc", + "IMOS/Argo/dac/csio", + "IMOS/Argo/dac/incois", + "IMOS/Argo/dac/jma", + "IMOS/Argo/dac/coriolis", + "IMOS/Argo/dac/aoml", + "IMOS/Argo/dac/nmdis", + "IMOS/Argo/dac/meds", + "IMOS/Argo/dac/kma", + "--suffix", + "_prof.nc", + "--dataset-config", + "argo_core.json", + "--clear-existing-data", + "--force-previous-parquet-deletion", + "--cluster-mode", + "remote", + ] + + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/generic_cloud_optimised_creation.py b/aodn_cloud_optimised/bin/generic_cloud_optimised_creation.py new file mode 100644 index 0000000..2f0e75c --- /dev/null +++ b/aodn_cloud_optimised/bin/generic_cloud_optimised_creation.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python3 +""" +Script to process S3 paths and create cloud-optimized datasets. + +This script allows you to specify S3 paths and various options to process +datasets and create cloud-optimised versions. It provides filtering options +and supports different cluster modes. + +Usage Examples: + generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/PA' \ + --filters '_hourly-timeseries_' 'FV02' --dataset-config 'anmn_hourly_timeseries.json' \ + --clear-existing-data --cluster-mode 'remote' + + generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/QLD' \ + --dataset-config 'anmn_ctd_ts_fv01.json' + + generic_cloud_optimised_creation --paths 'IMOS/ACORN/gridded_1h-avg-current-map_QC/TURQ/2024' \ + --dataset-config 'acorn_gridded_qc_turq.json' --clear-existing-data --cluster-mode 'remote' + +""" + +import argparse +import importlib.resources +from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation +from aodn_cloud_optimised.lib.config import ( + load_variable_from_config, + load_dataset_config, +) +from aodn_cloud_optimised.lib.s3Tools import s3_ls + + +def main(): + parser = argparse.ArgumentParser( + description="Process S3 paths and create cloud-optimized datasets.", + epilog="Examples:\n" + " generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/PA' --filters '_hourly-timeseries_' 'FV02' --dataset-config 'anmn_hourly_timeseries.json' --clear-existing-data --cluster-mode 'remote'\n" + " generic_cloud_optimised_creation --paths 'IMOS/ANMN/NSW' 'IMOS/ANMN/QLD' --dataset-config 'anmn_ctd_ts_fv01.json'\n" + " generic_cloud_optimised_creation --paths 'IMOS/ACORN/gridded_1h-avg-current-map_QC/TURQ/2024' --dataset-config 'acorn_gridded_qc_turq.json' --clear-existing-data --cluster-mode 'remote'\n", + formatter_class=argparse.RawTextHelpFormatter, + ) + + parser.add_argument( + "--paths", + nargs="+", + required=True, + help="List of S3 paths to process. Example: 'IMOS/ANMN/NSW' 'IMOS/ANMN/PA'", + ) + parser.add_argument( + "--filters", + nargs="*", + default=[], + help="Optional filter strings to apply on the S3 paths. Example: '_hourly-timeseries_' 'FV02'", + ) + parser.add_argument( + "--suffix", + default=".nc", + help="Optional suffix used by s3_ls to filter S3 objects. Default is .nc. Example: '.nc'", + ) + parser.add_argument( + "--dataset-config", + required=True, + help="Path to the dataset config JSON file. Example: 'anmn_hourly_timeseries.json'", + ) + parser.add_argument( + "--clear-existing-data", + action="store_true", + help="Flag to clear existing data. Default is False.", + ) + parser.add_argument( + "--force-previous-parquet-deletion", + action="store_true", + help="Flag to force the search of previous equivalent parquet file created. Much slower. Default is False.", + ) + parser.add_argument( + "--cluster-mode", + default="local", + choices=["local", "remote"], + help="Cluster mode to use. Options: 'local' or 'remote'. Default is 'local'.", + ) + + args = parser.parse_args() + + BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") + + # Gather S3 paths + nc_obj_ls = [] + for path in args.paths: + nc_obj_ls += s3_ls(BUCKET_RAW_DEFAULT, path, suffix=args.suffix) + + # Apply filters + for filter_str in args.filters: + nc_obj_ls = [s for s in nc_obj_ls if filter_str in s] + + # Load dataset config + dataset_config_path = args.dataset_config + dataset_config = load_dataset_config( + str( + importlib.resources.path( + "aodn_cloud_optimised.config.dataset", dataset_config_path + ) + ) + ) + + # Call cloud_optimised_creation + cloud_optimised_creation( + nc_obj_ls, + dataset_config=dataset_config, + handler_class=None, + clear_existing_data=args.clear_existing_data, + force_previous_parquet_deletion=args.force_previous_parquet_deletion, + cluster_mode=args.cluster_mode, + ) + + +if __name__ == "__main__": + main() diff --git a/aodn_cloud_optimised/bin/gsla_nrt_to_zarr.py b/aodn_cloud_optimised/bin/gsla_nrt_to_zarr.py old mode 100644 new mode 100755 index 628f1dd..da9ab78 --- a/aodn_cloud_optimised/bin/gsla_nrt_to_zarr.py +++ b/aodn_cloud_optimised/bin/gsla_nrt_to_zarr.py @@ -1,40 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.GenericZarrHandler import GenericHandler -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/OceanCurrent/GSLA/NRT/2024") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "gsla_nrt.json" - ) - ) - ) - # cloud_optimised_creation_loop([nc_obj_ls[0]], - # dataset_config=dataset_config, - # reprocess=True - # ) - - # cloud_optimised_creation_loop(nc_obj_ls[1:], - # dataset_config=dataset_config, - # ) - - # rechunking - GenericHandler( - input_object_key=nc_obj_ls[0], - dataset_config=dataset_config, - ).rechunk() + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/OceanCurrent/GSLA/NRT/2024", + "--dataset-config", + "gsla_nrt.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] - if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/soop_xbt_nrt_to_parquet.py b/aodn_cloud_optimised/bin/soop_xbt_nrt_to_parquet.py index fe2acb0..12502e4 100755 --- a/aodn_cloud_optimised/bin/soop_xbt_nrt_to_parquet.py +++ b/aodn_cloud_optimised/bin/soop_xbt_nrt_to_parquet.py @@ -1,27 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/SOOP/SOOP-XBT/REALTIME/") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "soop_xbt_nrt.json" - ) - ) - ) - cloud_optimised_creation_loop(nc_obj_ls, dataset_config=dataset_config) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/SOOP/SOOP-XBT/REALTIME/", + "--dataset-config", + "soop_xbt_nrt.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/srs_l3s_1d_dn_to_zarr.py b/aodn_cloud_optimised/bin/srs_l3s_1d_dn_to_zarr.py old mode 100644 new mode 100755 index 84ad81a..a6c1852 --- a/aodn_cloud_optimised/bin/srs_l3s_1d_dn_to_zarr.py +++ b/aodn_cloud_optimised/bin/srs_l3s_1d_dn_to_zarr.py @@ -1,34 +1,23 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2024") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "srs_l3s_1d_dn.json" - ) - ) - ) - cloud_optimised_creation_loop( - [nc_obj_ls[0]], dataset_config=dataset_config, reprocess=True - ) - - cloud_optimised_creation_loop( - nc_obj_ls[1:], - dataset_config=dataset_config, - ) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2019", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2020", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2021", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2022", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2023", + "IMOS/SRS/SST/ghrsst/L3S-1d/dn/2024", + "--dataset-config", + "srs_l3s_1d_dn.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/srs_l3s_3d_dn_to_zarr.py b/aodn_cloud_optimised/bin/srs_l3s_3d_dn_to_zarr.py new file mode 100755 index 0000000..b20b54a --- /dev/null +++ b/aodn_cloud_optimised/bin/srs_l3s_3d_dn_to_zarr.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 +import subprocess + + +def main(): + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/SRS/SST/ghrsst/L3S-3d/dn/2022", + "--dataset-config", + "srs_l3s_3d_dn.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] + + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/bin/srs_oc_ljco_to_parquet.py b/aodn_cloud_optimised/bin/srs_oc_ljco_to_parquet.py index d036b22..333d533 100755 --- a/aodn_cloud_optimised/bin/srs_oc_ljco_to_parquet.py +++ b/aodn_cloud_optimised/bin/srs_oc_ljco_to_parquet.py @@ -1,27 +1,18 @@ #!/usr/bin/env python3 -import importlib.resources - -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop -from aodn_cloud_optimised.lib.config import ( - load_variable_from_config, - load_dataset_config, -) -from aodn_cloud_optimised.lib.s3Tools import s3_ls +import subprocess def main(): - BUCKET_RAW_DEFAULT = load_variable_from_config("BUCKET_RAW_DEFAULT") - nc_obj_ls = s3_ls(BUCKET_RAW_DEFAULT, "IMOS/SRS/OC/LJCO/WQM-daily/") - - dataset_config = load_dataset_config( - str( - importlib.resources.path( - "aodn_cloud_optimised.config.dataset", "srs_oc_ljco_wqm_daily.json" - ) - ) - ) - cloud_optimised_creation_loop(nc_obj_ls, dataset_config=dataset_config) - + command = [ + "generic_cloud_optimised_creation", + "--paths", + "IMOS/SRS/OC/LJCO/WQM-daily/", + "--dataset-config", + "srs_oc_ljco_wqm_daily.json", + "--clear-existing-data", + "--cluster-mode", + "remote", + ] -if __name__ == "__main__": - main() + # Run the command + subprocess.run(command, check=True) diff --git a/aodn_cloud_optimised/config/common.json b/aodn_cloud_optimised/config/common.json index 3c92500..8f17b53 100644 --- a/aodn_cloud_optimised/config/common.json +++ b/aodn_cloud_optimised/config/common.json @@ -1,7 +1,7 @@ { "BUCKET_RAW_DEFAULT": "imos-data", "BUCKET_OPTIMISED_DEFAULT": "imos-data-lab-optimised", - "ROOT_PREFIX_CLOUD_OPTIMISED_PATH": "parquet/loz_test", + "ROOT_PREFIX_CLOUD_OPTIMISED_PATH": "cloud_optimised/cluster_testing", "BUCKET_INTEGRATION_TESTING_RAW_DEFAULT": "imos-data", "BUCKET_INTEGRATION_TESTING_OPTIMISED_DEFAULT": "imos-data-lab-optimised", "ROOT_PREFIX_CLOUD_OPTIMISED_INTEGRATION_TESTING_PATH": "cloud_optimised/integration_testing" diff --git a/aodn_cloud_optimised/config/dataset/aatams_acoustic_tagging.json b/aodn_cloud_optimised/config/dataset/aatams_acoustic_tagging.json index ed4dc2d..da9b102 100644 --- a/aodn_cloud_optimised/config/dataset/aatams_acoustic_tagging.json +++ b/aodn_cloud_optimised/config/dataset/aatams_acoustic_tagging.json @@ -2,6 +2,16 @@ "dataset_name": "aatams_acoustic_tagging", "logger_name": "aatams_acoustic_tagging", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [4, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "4a97bd11-e821-4682-8b20-cb69201f3223", "gattrs_to_variables": [], "partition_keys": ["transmitter_id", "timestamp", "polygon"], diff --git a/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_main.json b/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_main.json new file mode 100644 index 0000000..8ccc482 --- /dev/null +++ b/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_main.json @@ -0,0 +1,136 @@ +{ + "dataset_name": "acorn_gridded_qc", + "logger_name": "acorn_gridded_qc", + "cloud_optimised_format": "zarr", + "cluster_options" : { + "n_workers": [2, 8], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.medium", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + "cluster_config" : { + "n_workers": [0, 6], + "scheduler_vm_types": "t3.medium" + }, + "metadata_uuid": "", + "dimensions": { + "time": {"name": "TIME", + "chunk": 1500, + "rechunk": true}, + "latitude": {"name": "J", + "chunk": 60}, + "longitude": {"name": "I", + "chunk": 59} + }, + "var_template_shape": "UCUR", + "vars_to_drop_no_common_dimension": ["I", "J", "LATITUDE", "LONGITUDE", "GDOP"], + "schema": { + "TIME": {"type": "datetime64[ns]"}, + "I": {"type": "int32"}, + "J": {"type": "int32"}, + "LATITUDE": {"type": "float64"}, + "LONGITUDE": {"type": "float64"}, + "GDOP": {"type": "float32"}, + "UCUR": {"type": "float32"}, + "VCUR": {"type": "float32"}, + "UCUR_sd": {"type": "float32"}, + "VCUR_sd": {"type": "float32"}, + "NOBS1": {"type": "float32"}, + "NOBS2": {"type": "float32"}, + "UCUR_quality_control": {"type": "float32"}, + "VCUR_quality_control": {"type": "float32"} + }, + "dataset_gattrs": { + "title": "Temperature logger" + }, + "aws_opendata_registry": { + "Name": "", + "Description": "", + "Documentation": "", + "Contact": "", + "ManagedBy": "", + "UpdateFrequency": "", + "Tags": [], + "License": "", + "Resources": [ + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "", + "Explore": [] + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + } + ], + "DataAtWork": { + "Tutorials": [ + { + "Title": "", + "URL": "", + "Services": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Tools & Applications": [ + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Publications": [ + { + "Title": "", + "URL": "", + "AuthorName": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "" + } + ] + } + } +} diff --git a/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_turq.json b/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_turq.json index 249f5b3..bd2c5f1 100644 --- a/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_turq.json +++ b/aodn_cloud_optimised/config/dataset/acorn_gridded_qc_turq.json @@ -1,122 +1,6 @@ { "dataset_name": "acorn_gridded_qc_turq", + "parent_config": "acorn_gridded_qc_main.json", "logger_name": "acorn_gridded_qc_turq", - "cloud_optimised_format": "zarr", - "metadata_uuid": "", - "dimensions": { - "time": {"name": "TIME", - "chunk": 1500, - "rechunk": true}, - "latitude": {"name": "J", - "chunk": 60}, - "longitude": {"name": "I", - "chunk": 59} - }, - "var_template_shape": "UCUR", - "vars_to_drop_no_common_dimension": ["I", "J", "LATITUDE", "LONGITUDE", "GDOP"], - "schema": { - "TIME": {"type": "datetime64[ns]"}, - "I": {"type": "int32"}, - "J": {"type": "int32"}, - "LATITUDE": {"type": "float64"}, - "LONGITUDE": {"type": "float64"}, - "GDOP": {"type": "float32"}, - "UCUR": {"type": "float32"}, - "VCUR": {"type": "float32"}, - "UCUR_sd": {"type": "float32"}, - "VCUR_sd": {"type": "float32"}, - "NOBS1": {"type": "float32"}, - "NOBS2": {"type": "float32"}, - "UCUR_quality_control": {"type": "float32"}, - "VCUR_quality_control": {"type": "float32"} - }, - "dataset_gattrs": { - "title": "Temperature logger" - }, - "aws_opendata_registry": { - "Name": "", - "Description": "", - "Documentation": "", - "Contact": "", - "ManagedBy": "", - "UpdateFrequency": "", - "Tags": [], - "License": "", - "Resources": [ - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "", - "Explore": [] - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - } - ], - "DataAtWork": { - "Tutorials": [ - { - "Title": "", - "URL": "", - "Services": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Tools & Applications": [ - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Publications": [ - { - "Title": "", - "URL": "", - "AuthorName": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "" - } - ] - } - } + "metadata_uuid": "" } diff --git a/aodn_cloud_optimised/config/dataset/anfog_slocum_glider.json b/aodn_cloud_optimised/config/dataset/anfog_slocum_glider.json index 65b5839..28e2af8 100644 --- a/aodn_cloud_optimised/config/dataset/anfog_slocum_glider.json +++ b/aodn_cloud_optimised/config/dataset/anfog_slocum_glider.json @@ -2,6 +2,16 @@ "dataset_name": "anfog_slocum_glider", "logger_name": "anfog_slocum_glider", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [4, 20], + "scheduler_vm_types": "t3.medium", + "worker_vm_types": "t3.xlarge", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "a681fdba-c6d9-44ab-90b9-113b0ed03536", "gattrs_to_variables": [ "deployment_code" diff --git a/aodn_cloud_optimised/config/dataset/anmn_ctd_ts_fv01.json b/aodn_cloud_optimised/config/dataset/anmn_ctd_ts_fv01.json index 4ce5b3b..7f80e5d 100644 --- a/aodn_cloud_optimised/config/dataset/anmn_ctd_ts_fv01.json +++ b/aodn_cloud_optimised/config/dataset/anmn_ctd_ts_fv01.json @@ -2,6 +2,16 @@ "dataset_name": "anmn_ctd_ts_fv01", "logger_name": "anmn_ctd_ts_fv01", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "7b901002-b1dc-46c3-89f2-b4951cedca48", "gattrs_to_variables": [ "site_code" diff --git a/aodn_cloud_optimised/config/dataset/anmn_hourly_timeseries.json b/aodn_cloud_optimised/config/dataset/anmn_hourly_timeseries.json index 540184d..259b7be 100644 --- a/aodn_cloud_optimised/config/dataset/anmn_hourly_timeseries.json +++ b/aodn_cloud_optimised/config/dataset/anmn_hourly_timeseries.json @@ -1,7 +1,18 @@ { "dataset_name": "anmn_hourly_timeseries", "logger_name": "anmn_hourly_timeseries", + "handler_class": "AnmnHourlyTsHandler", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "64GB" } + }, "metadata_uuid": "7b901002-b1dc-46c3-89f2-b4951cedca48", "gattrs_to_variables": [ "site_code" @@ -437,6 +448,45 @@ "long_name": "std data value in the bin, after rejection of flagged data", "cell_methods": "TIME:std" }, + "DOX1_count": { + "type": "float", + "standard_name": "mole_concentration_of_dissolved_molecular_oxygen_in_sea_water number_of_observations", + "units": "1", + "long_name": "count data value in the bin, after rejection of flagged data", + "cell_methods": "TIME:count" + }, + "DOX1_max": { + "type": "float", + "units": "umol l-1", + "standard_name": "mole_concentration_of_dissolved_molecular_oxygen_in_sea_water", + "long_name": "max data value in the bin, after rejection of flagged data", + "cell_methods": "TIME:max" + }, + "DOX1_min": { + "type": "float", + "units": "umol l-1", + "standard_name": "mole_concentration_of_dissolved_molecular_oxygen_in_sea_water", + "long_name": "min data value in the bin, after rejection of flagged data", + "cell_methods": "TIME:min" + }, + "DOX1_std": { + "type": "float", + "units": "umol l-1", + "standard_name": "mole_concentration_of_dissolved_molecular_oxygen_in_sea_water", + "long_name": "std data value in the bin, after rejection of flagged data", + "cell_methods": "TIME:std" + }, + "DOX2": { + "type": "float", + "ancillary_variables": "DOX2_min DOX2_max DOX2_std DOX2_count", + "comment": "Originally expressed in ml/l, assuming 1ml/l = 44.660umol/l and using density computed from Temperature, Salinity and Pressure with the CSIRO SeaWater library (EOS-80) v1.1.", + "long_name": "mean moles_of_oxygen_per_unit_mass_in_sea_water", + "standard_name": "moles_of_oxygen_per_unit_mass_in_sea_water", + "units": "umol kg-1", + "valid_max": 1000.0, + "valid_min": 0.0, + "cell_methods": "TIME:mean (interval: 1 hr comment: time mid point)" + }, "timestamp": { "type": "int64" }, diff --git a/aodn_cloud_optimised/config/dataset/anmn_temperature_logger_ts_fv01.json b/aodn_cloud_optimised/config/dataset/anmn_temperature_logger_ts_fv01.json index bbb7136..e35cb28 100644 --- a/aodn_cloud_optimised/config/dataset/anmn_temperature_logger_ts_fv01.json +++ b/aodn_cloud_optimised/config/dataset/anmn_temperature_logger_ts_fv01.json @@ -2,6 +2,16 @@ "dataset_name": "anmn_temperature_logger_ts_fv01", "logger_name": "anmn_temperature_logger_ts_fv01", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "7e13b5f3-4a70-4e31-9e95-335efa491c5c", "gattrs_to_variables": [ "site_code" diff --git a/aodn_cloud_optimised/config/dataset/ardc_wave_nrt.json b/aodn_cloud_optimised/config/dataset/ardc_wave_nrt.json index f988641..554d6cb 100644 --- a/aodn_cloud_optimised/config/dataset/ardc_wave_nrt.json +++ b/aodn_cloud_optimised/config/dataset/ardc_wave_nrt.json @@ -2,6 +2,16 @@ "dataset_name": "ardc_wave_nrt", "logger_name": "ardc_wave_nrt", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "2807f3aa-4db0-4924-b64b-354ae8c10b58", "gattrs_to_variables": [ "site_name", diff --git a/aodn_cloud_optimised/config/dataset/argo_core.json b/aodn_cloud_optimised/config/dataset/argo_core.json index 887c446..5fc92fa 100644 --- a/aodn_cloud_optimised/config/dataset/argo_core.json +++ b/aodn_cloud_optimised/config/dataset/argo_core.json @@ -1,7 +1,18 @@ { "dataset_name": "argo_core", "logger_name": "argo_core", + "handler_class": "ArgoHandler", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "4402cb50-e20a-44ee-93e6-4728259250d2", "gattrs_to_variables": [], "partition_keys": [ diff --git a/aodn_cloud_optimised/config/dataset/dataset_template.json b/aodn_cloud_optimised/config/dataset/dataset_template.json index 4310a35..f0738b2 100644 --- a/aodn_cloud_optimised/config/dataset/dataset_template.json +++ b/aodn_cloud_optimised/config/dataset/dataset_template.json @@ -4,6 +4,17 @@ "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + // (Optional) The associated geonetwork metadata record uuid "metadata_uuid": "b12b3-123bb-iijww", diff --git a/aodn_cloud_optimised/config/dataset/gsla_nrt.json b/aodn_cloud_optimised/config/dataset/gsla_nrt.json index fd3d546..cf3e578 100644 --- a/aodn_cloud_optimised/config/dataset/gsla_nrt.json +++ b/aodn_cloud_optimised/config/dataset/gsla_nrt.json @@ -2,6 +2,16 @@ "dataset_name": "gsla_nrt", "logger_name": "gsla_nrt", "cloud_optimised_format": "zarr", + "cluster_options" : { + "n_workers": [2, 8], + "scheduler_vm_types": "t3.medium", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "", "dimensions": { "time": { diff --git a/aodn_cloud_optimised/config/dataset/soop_xbt_nrt.json b/aodn_cloud_optimised/config/dataset/soop_xbt_nrt.json index 096b5a6..06aac5b 100644 --- a/aodn_cloud_optimised/config/dataset/soop_xbt_nrt.json +++ b/aodn_cloud_optimised/config/dataset/soop_xbt_nrt.json @@ -2,6 +2,16 @@ "dataset_name": "soop_xbt_nrt", "logger_name": "soop_xbt_nrt", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "35234913-aa3c-48ec-b9a4-77f822f66ef8", "gattrs_to_variables": [ "XBT_line", diff --git a/aodn_cloud_optimised/config/dataset/srs_ghrsst_main.json b/aodn_cloud_optimised/config/dataset/srs_ghrsst_main.json new file mode 100644 index 0000000..1fdfed2 --- /dev/null +++ b/aodn_cloud_optimised/config/dataset/srs_ghrsst_main.json @@ -0,0 +1,138 @@ +{ + "dataset_name": "srs_ghrsst", + "logger_name": "srs_ghrsst", + "cloud_optimised_format": "zarr", + "cluster_options" : { + "n_workers": [2, 8], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.medium", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + "metadata_uuid": "", + "dimensions": { + "time": {"name": "time", + "chunk": 5, + "rechunk": true}, + "latitude": {"name": "lat", + "chunk": 1000}, + "longitude": {"name": "lon", + "chunk": 1000} + }, + "var_template_shape": "sea_surface_temperature", + "vars_to_drop_no_common_dimension": ["lat", "lon"], + "schema": { + "lon": {"type": "float32"}, + "lat": {"type": "float32"}, + "time": {"type": "datetime64[ns]"}, + "sea_surface_temperature": {"type": "float32"}, + "sea_surface_temperature_day_night": {"type": "float32", "drop_vars": true}, + "sst_dtime": {"type": "float64"}, + "dt_analysis": {"type": "float32"}, + "wind_speed": {"type": "float32", "drop_vars": true}, + "wind_speed_dtime_from_sst": {"type": "float32", "drop_vars": true}, + "sea_ice_fraction": {"type": "float32", "drop_vars": true}, + "sea_ice_fraction_dtime_from_sst": {"type": "float32", "drop_vars": true}, + "satellite_zenith_angle": {"type": "float32"}, + "l2p_flags": {"type": "float32"}, + "quality_level": {"type": "float32"}, + "sses_bias": {"type": "float32"}, + "sses_standard_deviation": {"type": "float32"}, + "sses_count": {"type": "float32"}, + "sst_count": {"type": "float32"}, + "sst_mean": {"type": "float32"}, + "sst_standard_deviation": {"type": "float32"} + }, + "dataset_gattrs": { + "title": "Temperature logger" + }, + "aws_opendata_registry": { + "Name": "", + "Description": "", + "Documentation": "", + "Contact": "", + "ManagedBy": "", + "UpdateFrequency": "", + "Tags": [], + "License": "", + "Resources": [ + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "", + "Explore": [] + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + } + ], + "DataAtWork": { + "Tutorials": [ + { + "Title": "", + "URL": "", + "Services": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Tools & Applications": [ + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Publications": [ + { + "Title": "", + "URL": "", + "AuthorName": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "" + } + ] + } + } +} diff --git a/aodn_cloud_optimised/config/dataset/srs_l3s_1d_dn.json b/aodn_cloud_optimised/config/dataset/srs_l3s_1d_dn.json index 89e7f44..d9f3d2d 100644 --- a/aodn_cloud_optimised/config/dataset/srs_l3s_1d_dn.json +++ b/aodn_cloud_optimised/config/dataset/srs_l3s_1d_dn.json @@ -1,128 +1,6 @@ { - "dataset_name": "srs_l3s_1d_dn", - "logger_name": "srs_l3s_1d_dn", - "cloud_optimised_format": "zarr", - "metadata_uuid": "", - "dimensions": { - "time": {"name": "time", - "chunk": 10, - "rechunk": true}, - "latitude": {"name": "lat", - "chunk": 1000}, - "longitude": {"name": "lon", - "chunk": 1000} - }, - "var_template_shape": "sea_surface_temperature", - "vars_to_drop_no_common_dimension": ["lat", "lon"], - "schema": { - "lon": {"type": "float32"}, - "lat": {"type": "float32"}, - "time": {"type": "datetime64[ns]"}, - "sea_surface_temperature": {"type": "float32"}, - "sea_surface_temperature_day_night": {"type": "float32"}, - "sst_dtime": {"type": "float64"}, - "dt_analysis": {"type": "float32"}, - "wind_speed": {"type": "float32"}, - "wind_speed_dtime_from_sst": {"type": "float32"}, - "sea_ice_fraction": {"type": "float32"}, - "sea_ice_fraction_dtime_from_sst": {"type": "float32"}, - "satellite_zenith_angle": {"type": "float32"}, - "l2p_flags": {"type": "float32"}, - "quality_level": {"type": "float32"}, - "sses_bias": {"type": "float32"}, - "sses_standard_deviation": {"type": "float32"}, - "sses_count": {"type": "float32"}, - "sst_count": {"type": "float32"}, - "sst_mean": {"type": "float32"}, - "sst_standard_deviation": {"type": "float32"} - }, - "dataset_gattrs": { - "title": "Temperature logger" - }, - "aws_opendata_registry": { - "Name": "", - "Description": "", - "Documentation": "", - "Contact": "", - "ManagedBy": "", - "UpdateFrequency": "", - "Tags": [], - "License": "", - "Resources": [ - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "", - "Explore": [] - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - }, - { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" - } - ], - "DataAtWork": { - "Tutorials": [ - { - "Title": "", - "URL": "", - "Services": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Tools & Applications": [ - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Publications": [ - { - "Title": "", - "URL": "", - "AuthorName": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "" - } - ] - } - } + "dataset_name": "srs_l3s_1d_dn", + "logger_name": "srs_l3s_1d_dn", + "parent_config": "srs_ghrsst_main.json", + "metadata_uuid": "" } diff --git a/aodn_cloud_optimised/config/dataset/srs_l3s_3d_dn.json b/aodn_cloud_optimised/config/dataset/srs_l3s_3d_dn.json new file mode 100644 index 0000000..b4a70fc --- /dev/null +++ b/aodn_cloud_optimised/config/dataset/srs_l3s_3d_dn.json @@ -0,0 +1,6 @@ +{ + "dataset_name": "srs_l3s_3d_dn", + "logger_name": "srs_l3s_3d_dn", + "parent_config": "srs_ghrsst_main.json", + "metadata_uuid": "" +} diff --git a/aodn_cloud_optimised/config/dataset/srs_oc_ljco_wqm_daily.json b/aodn_cloud_optimised/config/dataset/srs_oc_ljco_wqm_daily.json index 7234f1e..772147d 100644 --- a/aodn_cloud_optimised/config/dataset/srs_oc_ljco_wqm_daily.json +++ b/aodn_cloud_optimised/config/dataset/srs_oc_ljco_wqm_daily.json @@ -2,6 +2,16 @@ "dataset_name": "srs_oc_ljco_wqm_daily", "logger_name": "srs_oc_ljco_wqm_daily", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "e4ac6bf81-cd37-4611-8da8-4d5ae5e2bda", "gattrs_to_variables": [ "site_code" diff --git a/aodn_cloud_optimised/config/schema_validation_parquet.json b/aodn_cloud_optimised/config/schema_validation_parquet.json index 9acb184..1b7b5d4 100644 --- a/aodn_cloud_optimised/config/schema_validation_parquet.json +++ b/aodn_cloud_optimised/config/schema_validation_parquet.json @@ -1,108 +1,141 @@ { + "type": "object", + "properties": { + "dataset_name": {"type": "string"}, + "logger_name": {"type": "string"}, + "cloud_optimised_format": {"type": "string"}, + "cluster_options": { "type": "object", "properties": { - "dataset_name": {"type": "string"}, - "logger_name": {"type": "string"}, - "metadata_uuid": {"type": "string"}, - "gattrs_to_variables": {"type": "array", "items": {"type": "string"}}, - "partition_keys": {"type": "array", "items": {"type": "string"}}, - "time_extent": { - "type": "object", - "properties": { - "time": {"type": "string"}, - "partition_timestamp_period": {"type": "string"} - } - }, - "spatial_extent": { - "type": "object", - "properties": { - "lat": {"type": "string"}, - "lon": {"type": "string"}, - "spatial_resolution": {"type": "integer"} - } - }, - "schema": { - "type": "object", - "properties": { - "timestamp": {"type": "object"}, - "polygon": {"type": "object"}, - "filename": {"type": "object"} - } + "n_workers": { + "type": "array", + "items": {"type": "integer"}, + "minItems": 2, + "maxItems": 2 }, - "dataset_gattrs": { + "scheduler_vm_types": {"type": "string"}, + "worker_vm_types": {"type": "string"}, + "allow_ingress_from": {"type": "string"}, + "compute_purchase_option": {"type": "string"}, + "worker_options": { "type": "object", "properties": { - "title": {"type": "string"} + "nthreads": {"type": "integer"}, + "memory_limit": {"type": "string"} + }, + "required": ["nthreads", "memory_limit"] + } + }, + "required": ["n_workers", "scheduler_vm_types", "worker_vm_types", "allow_ingress_from", "compute_purchase_option", "worker_options"] + }, + "metadata_uuid": {"type": "string"}, + "gattrs_to_variables": {"type": "array", "items": {"type": "string"}}, + "partition_keys": {"type": "array", "items": {"type": "string"}}, + "time_extent": { + "type": "object", + "properties": { + "time": {"type": "string"}, + "partition_timestamp_period": {"type": "string"} + }, + "required": ["time", "partition_timestamp_period"] + }, + "spatial_extent": { + "type": "object", + "properties": { + "lat": {"type": "string"}, + "lon": {"type": "string"}, + "spatial_resolution": {"type": "integer"} + }, + "required": ["lat", "lon", "spatial_resolution"] + }, + "schema": { + "type": "object", + "properties": { + "timestamp": {"type": "object"}, + "polygon": {"type": "object"}, + "filename": {"type": "object"} + }, + "required": ["timestamp", "polygon", "filename"] + }, + "dataset_gattrs": { + "type": "object", + "properties": { + "title": {"type": "string"} + }, + "required": ["title"] + }, + "force_old_pq_del": {"type": "boolean"}, + "aws_opendata_registry": { + "type": "object", + "properties": { + "Name": {"type": "string"}, + "Description": {"type": "string"}, + "Documentation": {"type": "string"}, + "Contact": {"type": "string"}, + "ManagedBy": {"type": "string"}, + "UpdateFrequency": {"type": "string"}, + "Tags": {"type": "array", "items": {"type": "string"}}, + "License": {"type": "string"}, + "Resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Description": {"type": "string"}, + "ARN": {"type": "string"}, + "Region": {"type": "string"}, + "Type": {"type": "string"}, + "Explore": {"type": "array", "items": {"type": "string"}} + }, + "required": ["Description", "ARN", "Region", "Type"] } }, - "force_old_pq_del": {"type": "boolean"}, - "aws_opendata_registry": { + "DataAtWork": { "type": "object", "properties": { - "Name": {"type": "string"}, - "Description": {"type": "string"}, - "Documentation": {"type": "string"}, - "Contact": {"type": "string"}, - "ManagedBy": {"type": "string"}, - "UpdateFrequency": {"type": "string"}, - "Tags": {"type": "array", "items": {"type": "string"}}, - "License": {"type": "string"}, - "Resources": { + "Tutorials": { "type": "array", "items": { "type": "object", "properties": { - "Description": {"type": "string"}, - "ARN": {"type": "string"}, - "Region": {"type": "string"}, - "Type": {"type": "string"}, - "Explore": {"type": "array", "items": {"type": "string"}} - } + "Title": {"type": "string"}, + "URL": {"type": "string"}, + "Services": {"type": "string"}, + "AuthorName": {"type": "string"}, + "AuthorURL": {"type": "string"} + }, + "required": ["Title", "URL"] } }, - "DataAtWork": { - "type": "object", - "properties": { - "Tutorials": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Title": {"type": "string"}, - "URL": {"type": "string"}, - "Services": {"type": "string"}, - "AuthorName": {"type": "string"}, - "AuthorURL": {"type": "string"} - } - } + "Tools & Applications": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Title": {"type": "string"}, + "URL": {"type": "string"}, + "AuthorName": {"type": "string"}, + "AuthorURL": {"type": "string"} }, - "Tools & Applications": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Title": {"type": "string"}, - "URL": {"type": "string"}, - "AuthorName": {"type": "string"}, - "AuthorURL": {"type": "string"} - } - } + "required": ["Title", "URL"] + } + }, + "Publications": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Title": {"type": "string"}, + "URL": {"type": "string"}, + "AuthorName": {"type": "string"} }, - "Publications": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Title": {"type": "string"}, - "URL": {"type": "string"}, - "AuthorName": {"type": "string"} - } - } - } + "required": ["Title", "URL"] } } } } - }, - "required": ["dataset_name", "cloud_optimised_format", "time_extent", "spatial_extent", "metadata_uuid", "schema"] + } + } + }, + "required": ["dataset_name", "cluster_options", "cloud_optimised_format", "time_extent", "spatial_extent", "metadata_uuid", "schema"] } diff --git a/aodn_cloud_optimised/config/schema_validation_zarr.json b/aodn_cloud_optimised/config/schema_validation_zarr.json index 7d133a8..96f23ab 100644 --- a/aodn_cloud_optimised/config/schema_validation_zarr.json +++ b/aodn_cloud_optimised/config/schema_validation_zarr.json @@ -3,6 +3,31 @@ "properties": { "dataset_name": {"type": "string"}, "logger_name": {"type": "string"}, + "cloud_optimised_format": {"type": "string"}, + "cluster_options": { + "type": "object", + "properties": { + "n_workers": { + "type": "array", + "items": {"type": "integer"}, + "minItems": 2, + "maxItems": 2 + }, + "scheduler_vm_types": {"type": "string"}, + "worker_vm_types": {"type": "string"}, + "allow_ingress_from": {"type": "string"}, + "compute_purchase_option": {"type": "string"}, + "worker_options": { + "type": "object", + "properties": { + "nthreads": {"type": "integer"}, + "memory_limit": {"type": "string"} + }, + "required": ["nthreads", "memory_limit"] + } + }, + "required": ["n_workers", "scheduler_vm_types", "worker_vm_types", "allow_ingress_from", "compute_purchase_option", "worker_options"] + }, "metadata_uuid": {"type": "string"}, "dimensions": { "type": "object", @@ -114,5 +139,5 @@ } } }, - "required": ["dataset_name", "cloud_optimised_format", "dimensions","var_template_shape","vars_to_drop_no_common_dimension", "schema"] + "required": ["dataset_name", "cluster_options", "cloud_optimised_format", "dimensions","var_template_shape","vars_to_drop_no_common_dimension", "schema"] } diff --git a/aodn_cloud_optimised/lib/AnmnHourlyTsHandler.py b/aodn_cloud_optimised/lib/AnmnHourlyTsHandler.py index 364e4f0..11488ef 100644 --- a/aodn_cloud_optimised/lib/AnmnHourlyTsHandler.py +++ b/aodn_cloud_optimised/lib/AnmnHourlyTsHandler.py @@ -9,36 +9,50 @@ class AnmnHourlyTsHandler(GenericHandler): def __init__(self, **kwargs): super().__init__(**kwargs) - # TODO: rename JULD variable to TIME? or just copy it so that it's more consistent with other dataset? def preprocess_data( self, netcdf_fp ) -> Generator[Tuple[pd.DataFrame, xr.Dataset], None, None]: - if self.is_valid_netcdf(netcdf_fp): - # Use open_dataset as a context manager to ensure proper handling of the dataset - with xr.open_dataset(netcdf_fp) as ds: - # Convert xarray to pandas DataFrame - assert set(ds.dims) == { - "OBSERVATION", - "INSTRUMENT", - }, f"Unexpected dimensions {ds.dims.keys()}" - - df = ds.drop_dims("INSTRUMENT").to_dataframe() - instrument_info = ds.drop_dims("OBSERVATION").to_dataframe() - - assert df.shape[1] + instrument_info.shape[1] == len( - ds.variables - ), "Some variable depends on both dimensions" - - df = df.join(instrument_info, on="instrument_index") - - assert df.shape[1] == len( - ds.variables - ), "Something went wrong with the join" - - # Decode strings from bytes - for col, dtype in df.dtypes.items(): - if dtype == object: - df[col] = df[col].astype(str) - - yield df, ds + """ + Preprocess a NetCDF file containing Mooring Hourly timeseries product data. + + This method reads a NetCDF file, typically used for Mooring Hourly timeseries products, + and processes it to yield a tuple of a pandas DataFrame and an xarray Dataset. + + The DataFrame contains the profile data with instrument information merged based on + the 'instrument_index'. This method ensures proper handling of the dataset using + a context manager and checks for expected dimensions and variables. + + :param netcdf_fp: Path to the input NetCDF file, or an open S3 file object (using s3fs). + :return: Generator yielding tuples of (DataFrame, Dataset) where DataFrame contains + the profile data with instrument information, and Dataset is the corresponding + xarray Dataset. + """ + + # Use open_dataset as a context manager to ensure proper handling of the dataset + with xr.open_dataset(netcdf_fp, engine="h5netcdf") as ds: + # Convert xarray to pandas DataFrame + assert set(ds.dims) == { + "OBSERVATION", + "INSTRUMENT", + }, f"Unexpected dimensions {ds.dims.keys()}" + + df = ds.drop_dims("INSTRUMENT").to_dataframe() + instrument_info = ds.drop_dims("OBSERVATION").to_dataframe() + + assert df.shape[1] + instrument_info.shape[1] == len( + ds.variables + ), "Some variable depends on both dimensions" + + df = df.join(instrument_info, on="instrument_index") + + assert df.shape[1] == len( + ds.variables + ), "Something went wrong with the join" + + # Decode strings from bytes + for col, dtype in df.dtypes.items(): + if dtype == object: + df[col] = df[col].astype(str) + + yield df, ds diff --git a/aodn_cloud_optimised/lib/ArgoHandler.py b/aodn_cloud_optimised/lib/ArgoHandler.py index 96a3eba..e898c73 100755 --- a/aodn_cloud_optimised/lib/ArgoHandler.py +++ b/aodn_cloud_optimised/lib/ArgoHandler.py @@ -16,11 +16,18 @@ def preprocess_data( self, netcdf_fp ) -> Generator[Tuple[pd.DataFrame, xr.Dataset], None, None]: """ - Read a profile *_prof.nc which is an aggregation of multiple profiles files and returns a dataframe - :param netcdf_fp: input NetCDF filepath of an argo *_prof.nc file - :return: dataframe containing profile data + Preprocess a NetCDF file containing aggregated profile data. + + This method reads a profile NetCDF file (typically named with a *_prof.nc suffix), + which is an aggregation of multiple profile files, and returns a generator + yielding a tuple of a pandas DataFrame and an xarray Dataset. + + :param netcdf_fp: Path to the input NetCDF file, or an open S3 file object (using s3fs) of an Argo *_prof.nc file. + :return: Generator yielding tuples of (DataFrame, Dataset) where DataFrame contains the profile data + and Dataset is the corresponding xarray Dataset. """ - if not self.input_object_key.endswith("_prof.nc"): + + if not netcdf_fp.path.endswith("_prof.nc"): raise ValueError with xr.open_dataset(netcdf_fp) as ds: diff --git a/aodn_cloud_optimised/lib/CommonHandler.py b/aodn_cloud_optimised/lib/CommonHandler.py index 2bb6f74..0313ace 100644 --- a/aodn_cloud_optimised/lib/CommonHandler.py +++ b/aodn_cloud_optimised/lib/CommonHandler.py @@ -1,12 +1,15 @@ +import importlib import os -import tempfile import timeit from typing import List import boto3 -import netCDF4 +import s3fs import xarray as xr import yaml +from coiled import Cluster +from dask.distributed import Client +from dask.distributed import LocalCluster from jsonschema import validate, ValidationError from .config import load_variable_from_config, load_dataset_config @@ -20,19 +23,37 @@ def __init__(self, **kwargs): Args: **kwargs: Additional keyword arguments. - raw_bucket_name (str, optional[config]): Name of the raw bucket. - optimised_bucket_name (str, optional[config]): Name of the optimised bucket. - root_prefix_cloud_optimised_path (str, optional[config]): Root Prefix path of the location of cloud optimised files - input_object_key (str): Key of the input object. - force_old_pq_del (bool, optional[config]): Force the deletion of existing cloud optimised files(slow) (default=False) + optimised_bucket_name (str, optional): Name of the optimised bucket. Defaults to the value in the configuration. + root_prefix_cloud_optimised_path (str, optional): Root prefix path of the location of cloud optimised files. Defaults to the value in the configuration. + force_previous_parquet_deletion (bool, optional): Force the deletion of existing cloud optimised files (slow). Defaults to False. + cluster_mode (str, optional): Specifies the type of cluster to create ("remote", "local", or None). Defaults to "local". + dataset_config (dict): Configuration dictionary for the dataset. + clear_existing_data (bool, optional): Flag to clear existing data. Defaults to None. + + Attributes: + start_time (float): The start time of the handler. + optimised_bucket_name (str): Name of the optimised bucket. + root_prefix_cloud_optimised_path (str): Root prefix path of the location of cloud optimised files. + cluster_mode (str): Specifies the type of cluster to create ("remote", "local", or None). + dataset_config (dict): Configuration dictionary for the dataset. + cloud_optimised_format (str): Format for cloud optimised files. + dataset_name (str): Name of the dataset. + schema (dict): Schema of the dataset. + logger (logging.Logger): Logger for logging information, warnings, and errors. + cloud_optimised_output_path (str): S3 path for cloud optimised output. + clear_existing_data (bool): Flag to clear existing data. + cluster_options (dict): Options for the cluster configuration. + s3_fs (s3fs.S3FileSystem): S3 file system object for accessing S3. + Raises: + ValueError: If an invalid cluster_mode is specified. """ self.start_time = timeit.default_timer() - self.temp_dir = tempfile.TemporaryDirectory() - self.raw_bucket_name = kwargs.get( - "raw_bucket_name", load_variable_from_config("BUCKET_RAW_DEFAULT") - ) + # TODO: remove this variable, not used anymore. + # self.raw_bucket_name = kwargs.get( + # "raw_bucket_name", load_variable_from_config("BUCKET_RAW_DEFAULT") + # ) self.optimised_bucket_name = kwargs.get( "optimised_bucket_name", load_variable_from_config("BUCKET_OPTIMISED_DEFAULT"), @@ -42,7 +63,14 @@ def __init__(self, **kwargs): load_variable_from_config("ROOT_PREFIX_CLOUD_OPTIMISED_PATH"), ) - self.input_object_key = kwargs.get("input_object_key", None) + # Cluster options + valid_clusters = ["remote", "local", None] + self.cluster_mode = kwargs.get("cluster_mode", "local") + + if self.cluster_mode not in valid_clusters: + raise ValueError( + f"Invalid cluster value: {self.cluster_mode}. Valid values are {valid_clusters}" + ) self.dataset_config = kwargs.get("dataset_config") @@ -58,12 +86,157 @@ def __init__(self, **kwargs): cloud_optimised_format = self.dataset_config.get("cloud_optimised_format") self.cloud_optimised_output_path = f"s3://{os.path.join(self.optimised_bucket_name, self.root_prefix_cloud_optimised_path, self.dataset_name + '.' + cloud_optimised_format)}/" - if self.input_object_key is not None: - self.filename = os.path.basename(self.input_object_key) - self.tmp_input_file = self.get_s3_raw_obj() - else: - self.logger.error("No input object given") - raise ValueError + self.clear_existing_data = kwargs.get( + "clear_existing_data", None + ) # setting to True will recreate the zarr from scratch at every run! + + self.cluster_options = self.dataset_config.get("cluster_options", None) + + self.s3_fs = s3fs.S3FileSystem( + anon=False + ) # variable overwritten in unittest to use moto server + + def __enter__(self): + # Initialize resources if necessary + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + # Release any resources held by the handler_nc_anmn_file + self.close() + + def close(self): + # Release resources + for name in dir(): + if not name.startswith("_"): + # del globals()[name] + self.logger.info(f"{name} has not been deleted") + import gc + + gc.collect() + + def create_cluster(self): + """ + Create a Dask cluster based on the specified cluster_mode. + + This method creates a Dask cluster either remotely using the Coiled service or locally + depending on the value of the cluster_mode attribute. If remote cluster creation fails, + it falls back to creating a local cluster. + + Attributes: + cluster_mode (str): Specifies the type of cluster to create ("remote" or "local"). + logger (logging.Logger): Logger for logging information, warnings, and errors. + dataset_config (dict): Configuration dictionary containing cluster options. + dataset_name (str): Name of the dataset used for naming the remote cluster. + cluster (Cluster): The created Dask cluster (either remote or local). + client (Client): Dask client connected to the created cluster. + + Raises: + ValueError: If an invalid cluster_mode is specified. + + Returns: + Tuple[Client, Cluster]: A tuple containing the Dask client and the created cluster. + + Notes: + - If self.client and self.cluster become instance attributes, they can't be used with + self.client.submit as they can't be serialised. + + """ + + # TODO: quite crazy, but if client and cluster become self.client and self.cluster, then they can't be used + # with self.client.submit as they can't be serialize ... what a bloody pain in .. seriously + + local_cluster_options = self.dataset_config.get( + "local_cluster_options", + { + "n_workers": 2, + "memory_limit": "8GB", + "threads_per_worker": 2, + }, + ) + + if self.cluster_mode == "remote": + try: + self.logger.info("Creating a remote cluster") + cluster_options = self.dataset_config.get("cluster_options", None) + if cluster_options is None: + self.logger.error("No cluster options provided in dataset_config") + + cluster_options["name"] = f"Processing_{self.dataset_name}" + + cluster = Cluster(**cluster_options) + client = Client(cluster) + self.logger.info( + f"Coiled Cluster dask dashboard available at {cluster.dashboard_link}" + ) + + except Exception as e: + self.logger.warning( + f"Could not create a Coiled cluster: {e}. Falling back to local cluster." + ) + # Create a local Dask cluster as a fallback + cluster = LocalCluster(**local_cluster_options) + client = Client(cluster) + self.logger.info( + f"Local Cluster dask dashboard available at {cluster.dashboard_link}" + ) + elif self.cluster_mode == "local": + self.logger.info("Creating a local cluster") + + cluster = LocalCluster(**local_cluster_options) + client = Client(cluster) + self.logger.info( + f"Local Cluster dask dashboard available at {cluster.dashboard_link}" + ) + + return client, cluster + + def close_cluster(self, client, cluster): + """ + Close the Dask cluster and client. + + This method attempts to close the Dask client and cluster if they are currently open. + It logs successful closure operations and catches any exceptions that occur during + the process, logging them as errors. + + Attributes: + client (Client): The Dask client connected to the cluster. + cluster (Cluster): The Dask cluster (either remote or local). + logger (logging.Logger): Logger for logging information and errors. + + Logs: + Info: Logs a message when the Dask client and cluster are closed successfully. + Error: Logs a message if there is an error while closing the Dask client or cluster. + """ + try: + client.close() + self.logger.info("Dask client closed successfully.") + + cluster.close() + self.logger.info("Dask cluster closed successfully.") + except Exception as e: + self.logger.error(f"Error while closing the cluster or client: {e}") + + @staticmethod + def batch_process_fileset(fileset, batch_size=10): + """ + Processes a list of files in batches. + + This method yields successive batches of files from the input fileset. + Each batch contains up to `batch_size` files. Adjusting `batch_size` + can impact memory usage and performance, potentially leading to out-of-memory errors. Be cautious. + + Args: + fileset (list): A list of files to be processed in batches. + batch_size (int, optional): The number of files to include in each batch (default is 10). + + Yields: + list: A sublist of `fileset` containing up to `batch_size` files. + """ + # batch_size modification could lead to some out of mem + num_files = len(fileset) + for start_idx in range(0, num_files, batch_size): + end_idx = min(start_idx + batch_size, num_files) + yield fileset[start_idx:end_idx] def validate_json(self, json_validation_path): """ @@ -100,55 +273,37 @@ def validate_json(self, json_validation_path): schema = load_dataset_config(json_validation_path) try: validate(instance=self.dataset_config, schema=schema) - self.logger.info("JSON configuration for dataset: Validation successful.") + self.logger.info( + f"JSON configuration for dataset {os.path.basename(json_validation_path)}: Validation successful." + ) except ValidationError as e: - raise ValueError(f"JSON configuration for dataset: Validation failed: {e}") - - def is_valid_netcdf(self, nc_file_path): - """ - Check if a file is a valid NetCDF file. - - Parameters: - - file_path (str): The path to the NetCDF file. - - Returns: - - bool: True if the file is a valid NetCDF file, False otherwise. - """ - if not self.input_object_key.endswith(".nc"): - self.logger.error( - f"{self.filename}: Not valid NetCDF file. Not ending with .nc" + raise ValueError( + f"JSON configuration for dataset {os.path.basename(json_validation_path)}: Validation failed: {e}" ) - raise ValueError - - try: - netCDF4.Dataset(nc_file_path) - return True - except Exception as e: - self.logger.error(f"{self.filename}: Not valid NetCDF file: {e}.") - raise TypeError - - def get_s3_raw_obj(self) -> str: - """ - Download an S3 object from the raw bucket to a temporary file. - - :return: Local filepath of the temporary file. - :rtype: str - """ - - s3 = boto3.client("s3") - # Construct the full path for the temporary file - temp_file_path = os.path.join( - self.temp_dir.name, os.path.basename(self.input_object_key) - ) - - # Download the S3 object to the temporary file - s3.download_file(self.raw_bucket_name, self.input_object_key, temp_file_path) - - self.logger.info( - f"{self.filename}: Downloading {self.input_object_key} object from {self.raw_bucket_name} bucket" - ) - return temp_file_path + # TODO: remove as not used anymore + # def is_valid_netcdf(self, nc_file_path): + # """ + # Check if a file is a valid NetCDF file. + # + # Parameters: + # - file_path (str): The path to the NetCDF file. + # + # Returns: + # - bool: True if the file is a valid NetCDF file, False otherwise. + # """ + # if not self.input_object_key.endswith(".nc"): + # self.logger.error( + # f"{self.filename}: Not valid NetCDF file. Not ending with .nc" + # ) + # raise ValueError + # + # try: + # netCDF4.Dataset(nc_file_path) + # return True + # except Exception as e: + # self.logger.error(f"{self.filename}: Not valid NetCDF file: {e}.") + # raise TypeError @staticmethod def is_open_ds(ds: xr.Dataset) -> bool: @@ -168,39 +323,40 @@ def is_open_ds(ds: xr.Dataset) -> bool: except RuntimeError: return False # If a RuntimeError is raised, the Dataset is closed - def push_metadata_aws_registry(self) -> None: - """ - Pushes metadata to the AWS OpenData Registry. - - If the 'aws_opendata_registry' key is missing from the dataset configuration, a warning is logged. - Otherwise, the metadata is extracted from the 'aws_opendata_registry' key, converted to YAML format, - and uploaded to the specified S3 bucket. - - Returns: - None - """ - if "aws_opendata_registry" not in self.dataset_config: - self.logger.warning( - "Missing dataset configuration to populate AWS OpenData Registry" - ) - else: - aws_registry_config = self.dataset_config["aws_opendata_registry"] - yaml_data = yaml.dump(aws_registry_config) - - s3 = boto3.client("s3") - - key = os.path.join( - self.root_prefix_cloud_optimised_path, self.dataset_name + ".yaml" - ) - # Upload the YAML data to S3 - s3.put_object( - Bucket=self.optimised_bucket_name, - Key=key, - Body=yaml_data.encode("utf-8"), - ) - self.logger.info( - f"Push AWS Registry file to: {os.path.join(self.root_prefix_cloud_optimised_path, self.dataset_name + '.yaml')}" - ) + # TODO: this is not the way aws registry files are created. To remove/modify + # def push_metadata_aws_registry(self) -> None: + # """ + # Pushes metadata to the AWS OpenData Registry. + # + # If the 'aws_opendata_registry' key is missing from the dataset configuration, a warning is logged. + # Otherwise, the metadata is extracted from the 'aws_opendata_registry' key, converted to YAML format, + # and uploaded to the specified S3 bucket. + # + # Returns: + # None + # """ + # if "aws_opendata_registry" not in self.dataset_config: + # self.logger.warning( + # "Missing dataset configuration to populate AWS OpenData Registry" + # ) + # else: + # aws_registry_config = self.dataset_config["aws_opendata_registry"] + # yaml_data = yaml.dump(aws_registry_config) + # + # s3 = boto3.client("s3") + # + # key = os.path.join( + # self.root_prefix_cloud_optimised_path, self.dataset_name + ".yaml" + # ) + # # Upload the YAML data to S3 + # s3.put_object( + # Bucket=self.optimised_bucket_name, + # Key=key, + # Body=yaml_data.encode("utf-8"), + # ) + # self.logger.info( + # f"Push AWS Registry file to: {os.path.join(self.root_prefix_cloud_optimised_path, self.dataset_name + '.yaml')}" + # ) def postprocess(self, ds: xr.Dataset) -> None: """ @@ -215,15 +371,25 @@ def postprocess(self, ds: xr.Dataset) -> None: if self.is_open_ds(ds): ds.close() - if os.path.exists(self.tmp_input_file): - os.remove(self.tmp_input_file) - if os.path.exists(self.temp_dir.name): - self.temp_dir.cleanup() - self.logger.handlers.clear() def _get_generic_handler_class(dataset_config): + """ + Determine the appropriate handler_nc_anmn_file class based on the dataset configuration. + + Args: + dataset_config (dict): A dictionary containing the configuration of the dataset. The key + "cloud_optimised_format" should be set to either "zarr" or "parquet" + to specify the format. + + Returns: + class: The handler_nc_anmn_file class corresponding to the specified cloud-optimized format. + + Raises: + ValueError: If the "cloud_optimised_format" is not specified or is neither "zarr" + nor "parquet". + """ from .GenericParquetHandler import GenericHandler as parquet_handler from .GenericZarrHandler import GenericHandler as zarr_handler @@ -239,82 +405,40 @@ def _get_generic_handler_class(dataset_config): return handler_class -def cloud_optimised_creation(obj_key: str, dataset_config, **kwargs) -> None: - """ - Create Cloud Optimised files for a specific object key in an S3 bucket. - - Args: - obj_key (str): The object key (file path) of the NetCDF file to process. - dataset_config (dictionary): dataset configuration. Check config/dataset_template.json for example - **kwargs: Additional keyword arguments for customization. - handler_class (class, optional): Handler class for cloud optimised creation (default is GenericHandler). - force_old_pq_del (bool, optional): Whether to force deletion of old Parquet files (default is False). - - Returns: - None - """ - handler_class = kwargs.get("handler_class", None) - - # loading the right handler based on configuration - if handler_class is None: - handler_class = _get_generic_handler_class(dataset_config) - - handler_reprocess_arg = kwargs.get("handler_reprocess_arg", None) - - kwargs_handler_class = { - "raw_bucket_name": kwargs.get( - "raw_bucket_name", load_variable_from_config("BUCKET_RAW_DEFAULT") - ), - "optimised_bucket_name": kwargs.get( - "optimised_bucket_name", - load_variable_from_config("BUCKET_OPTIMISED_DEFAULT"), - ), - "root_prefix_cloud_optimised_path": kwargs.get( - "root_prefix_cloud_optimised_path", - load_variable_from_config("ROOT_PREFIX_CLOUD_OPTIMISED_PATH"), - ), - "input_object_key": obj_key, - "dataset_config": dataset_config, - "reprocess": handler_reprocess_arg, - } - - # Creating an instance of the specified class with the provided arguments - handler_instance = handler_class(**kwargs_handler_class) - - handler_instance.to_cloud_optimised() - - -def cloud_optimised_creation_loop( - obj_ls: List[str], dataset_config: dict, **kwargs +def cloud_optimised_creation( + s3_file_uri_list: List[str], dataset_config: dict, **kwargs ) -> None: """ - Iterate through a list of file paths and create Cloud Optimised files for each file. + Iterate through a list of s3 file paths and create Cloud Optimised files for each file. Args: - obj_ls (List[str]): List of file paths to process. + s3_file_uri_list (List[str]): List of file paths to process. dataset_config (dictionary): dataset configuration. Check config/dataset_template.json for example **kwargs: Additional keyword arguments for customization. handler_class (class, optional): Handler class for cloud optimised creation. - force_old_pq_del (bool, optional): Whether to force deletion of old Parquet files (default is False). + force_previous_parquet_deletion (bool, optional): Whether to force deletion of old Parquet files (default is False). Returns: None """ - handler_class = kwargs.get("handler_class", None) + # this is optional! Default will use generic handler + handler_class_name = dataset_config.get("handler_class", None) # loading the right handler based on configuration - if handler_class is None: + if handler_class_name is None: handler_class = _get_generic_handler_class(dataset_config) + else: + module = importlib.import_module( + f"aodn_cloud_optimised.lib.{handler_class_name}" + ) + handler_class = getattr(module, handler_class_name) - handler_reprocess_arg = kwargs.get("reprocess", None) + handler_clear_existing_data_arg = kwargs.get("clear_existing_data", None) # Create the kwargs_handler_class dictionary, to be used as list of arguments to call cloud_optimised_creation -> handler_class # when values need to be overwritten kwargs_handler_class = { - "raw_bucket_name": kwargs.get( - "raw_bucket_name", load_variable_from_config("BUCKET_RAW_DEFAULT") - ), "optimised_bucket_name": kwargs.get( "optimised_bucket_name", load_variable_from_config("BUCKET_OPTIMISED_DEFAULT"), @@ -323,38 +447,80 @@ def cloud_optimised_creation_loop( "root_prefix_cloud_optimised_path", load_variable_from_config("ROOT_PREFIX_CLOUD_OPTIMISED_PATH"), ), + "cluster_mode": kwargs.get("cluster_mode", "local"), } # Filter out None values filtered_kwargs = {k: v for k, v in kwargs_handler_class.items() if v is not None} - + kwargs_handler_class = filtered_kwargs logger_name = dataset_config.get("logger_name", "generic") logger = get_logger(logger_name) - start_whole_processing = timeit.default_timer() - i = 1 - for f in obj_ls: - - logger.info(f"{f}: start processing") - - start_time = timeit.default_timer() - try: - cloud_optimised_creation( - f, - dataset_config, - handler_class=handler_class, - handler_reprocess_arg=handler_reprocess_arg, - **filtered_kwargs, - ) - time_spent = timeit.default_timer() - start_time - - logger.info( - f"{i}/{len(obj_ls)}: {f} Cloud Optimised file completed in {time_spent}s" - ) - except Exception as e: - logger.error(f"{i}/{len(obj_ls)} issue with {f}: {e}") + kwargs_handler_class["dataset_config"] = dataset_config + kwargs_handler_class["clear_existing_data"] = handler_clear_existing_data_arg - i += 1 + # Creating an instance of the specified class with the provided arguments + start_whole_processing = timeit.default_timer() + with handler_class(**kwargs_handler_class) as handler_instance: + handler_instance.to_cloud_optimised(s3_file_uri_list) time_spent_processing = timeit.default_timer() - start_whole_processing logger.info(f"Whole dataset completed in {time_spent_processing}s") + + # TODO: everything seems very slow using to_cloud_optimised. Maybe let's try to use to_cloud_optimised_single below? + # and comment above or do something. Will comment for now + # + # if dataset_config.get("cloud_optimised_format") == "parquet": + # def task(f, i, handler_clear_existing_data_arg=False): + # start_time = timeit.default_timer() + # try: + # # kwargs_handler_class["input_object_key"] = f + # kwargs_handler_class["dataset_config"] = dataset_config + # kwargs_handler_class[ + # "clear_existing_data" + # ] = handler_clear_existing_data_arg + # + # # Creating an instance of the specified class with the provided arguments + # with handler_class(**kwargs_handler_class) as handler_instance: + # handler_instance.to_cloud_optimised_single(f) + # + # time_spent = timeit.default_timer() - start_time + # logger.info( + # f"{i}/{len(s3_file_uri_list)}: {f} Cloud Optimised file completed in {time_spent}s" + # ) + # + # except Exception as e: + # logger.error(f"{i}/{len(s3_file_uri_list)} issue with {f}: {e}") + # + # local_cluster_options = { + # "n_workers": 2, + # "memory_limit": "8GB", + # "threads_per_worker": 2, + # } + # + # cluster = LocalCluster(**local_cluster_options) + # client = Client(cluster) + # + # client.amm.start() # Start Active Memory Manager + # logger.info( + # f"Local Cluster dask dashboard available at {cluster.dashboard_link}" + # ) + # + # if handler_clear_existing_data_arg: + # # if handler_clear_existing_data_arg, better to wait for this task to complete before adding new data!! + # futures_init = [ + # client.submit(task, s3_file_uri_list[0], 1, handler_clear_existing_data_arg=True) + # ] + # wait(futures_init) + # + # # Parallel Execution with List Comprehension + # futures = [ + # client.submit(task, f, i) for i, f in enumerate(s3_file_uri_list[1:], start=2) + # ] + # wait(futures) + # else: + # futures = [client.submit(task, f, i) for i, f in enumerate(s3_file_uri_list, start=1)] + # wait(futures) + # + # client.close() + # cluster.close() diff --git a/aodn_cloud_optimised/lib/GenericParquetHandler.py b/aodn_cloud_optimised/lib/GenericParquetHandler.py index 9535d09..710b5f8 100755 --- a/aodn_cloud_optimised/lib/GenericParquetHandler.py +++ b/aodn_cloud_optimised/lib/GenericParquetHandler.py @@ -1,9 +1,8 @@ import importlib.resources -import json import os import re import timeit -from typing import List, Tuple, Generator +from typing import Tuple, Generator import boto3 import numpy as np @@ -12,12 +11,22 @@ import pyarrow.parquet as pq import traceback import xarray as xr -import yaml from shapely.geometry import Point, Polygon from .schema import create_pyarrow_schema, generate_json_schema_var_from_netcdf - +from aodn_cloud_optimised.lib.s3Tools import ( + delete_objects_in_prefix, + split_s3_path, + prefix_exists, + create_fileset, +) + +from aodn_cloud_optimised.lib.logging import get_logger from .CommonHandler import CommonHandler +from dask.distributed import wait + + +# TODO: improve log for parallism by adding a uuid for each task class GenericHandler(CommonHandler): @@ -27,17 +36,19 @@ def __init__(self, **kwargs): Args: **kwargs: Additional keyword arguments. - raw_bucket_name (str, optional[config]): Name of the raw bucket. optimised_bucket_name (str, optional[config]): Name of the optimised bucket. root_prefix_cloud_optimised_path (str, optional[config]): Root Prefix path of the location of cloud optimised files - input_object_key (str): Key of the input object. - force_old_pq_del (bool, optional[config]): Force the deletion of existing cloud optimised files(slow) (default=False) + force_previous_parquet_deletion (bool, optional[config]): Force the deletion of existing cloud optimised files(slow) (default=False) + + Inherits: + CommonHandler: Provides common functionality for handling cloud-optimised datasets. """ super().__init__(**kwargs) self.delete_pq_unmatch_enable = kwargs.get( - "force_old_pq_del", self.dataset_config.get("force_old_pq_del", False) + "force_previous_parquet_deletion", + self.dataset_config.get("force_previous_parquet_deletion", False), ) json_validation_path = str( @@ -64,36 +75,35 @@ def preprocess_data_csv( Preprocesses a CSV file using pandas and converts it into an xarray Dataset based on dataset configuration. Args: - csv_fp (str): File path to the CSV file to be processed. + csv_fp (str or s3fs.core.S3File): File path or s3fs object of the CSV file to be processed. Yields: Tuple[pd.DataFrame, xr.Dataset]: A generator yielding a tuple containing the processed pandas DataFrame and its corresponding xarray Dataset. - This method reads a CSV file, csv_fp using pandas read_csv function with configuration options - specified in the dataset configuration (stored in 'pandas_read_csv_config' key of self.dataset_config, expected - to be a JSON-like dictionary). The resulting DataFrame is then converted into an xarray Dataset using - xr.Dataset.from_dataframe(). - - i.e.: - "pandas_read_csv_config": { - "delimiter": ";", - "header": 0, - "index_col": "detection_timestamp", - "parse_dates": ["detection_timestamp"], - "na_values": ["N/A", "NaN"], - "encoding": "utf-8" - }, - - See pandas.read_csv Documentation for more options + This method reads a CSV file (`csv_fp`) using pandas' `read_csv` function with configuration options + specified in the dataset configuration (`pandas_read_csv_config` key of `self.dataset_config`, expected + to be a JSON-like dictionary). The resulting DataFrame (`df`) is then converted into an xarray Dataset using + `xr.Dataset.from_dataframe()`. + + Example of `pandas_read_csv_config` in dataset configuration: + ```json + "pandas_read_csv_config": { + "delimiter": ";", + "header": 0, + "index_col": "detection_timestamp", + "parse_dates": ["detection_timestamp"], + "na_values": ["N/A", "NaN"], + "encoding": "utf-8" + } + ``` The method also uses the 'schema' from the dataset configuration to assign attributes to variables in the xarray Dataset. Each variable's attributes are extracted from the 'schema' and assigned to the Dataset variable's - attributes. The 'type' attribute from the pyarrow_schema is removed from the Dataset variables' attributes since it + attributes. The 'type' attribute from the `pyarrow_schema` is removed from the Dataset variables' attributes since it is considered unnecessary. If a variable in the Dataset is not found in the schema, an error is logged. - """ if "pandas_read_csv_config" in self.dataset_config: config_from_json = self.dataset_config["pandas_read_csv_config"] @@ -126,31 +136,56 @@ def preprocess_data_netcdf( the GenericHandler class with super() for method delegation. Args: - netcdf_fp (str): Input NetCDF filepath. + netcdf_fp (str or s3fs.core.S3File): Input NetCDF filepath or s3fs object. Yields: tuple: A tuple containing DataFrame and Dataset. - """ - if self.is_valid_netcdf(netcdf_fp): - # Use open_dataset as a context manager to ensure proper handling of the dataset - with xr.open_dataset(netcdf_fp) as ds: - # Convert xarray to pandas DataFrame - df = ds.to_dataframe() - # TODO: call check function on variable attributes - if self.check_var_attributes(ds): - yield df, ds - else: - self.logger.error( - "NetCDF file is not consistent with the pre-defined schema" - ) + This method reads a NetCDF file (`netcdf_fp`) using xarray's `open_dataset` function with configuration options + specified in the dataset configuration (`netcdf_read_config` key of `self.dataset_config`, expected + to be a JSON-like dictionary). The resulting Dataset (`ds`) is converted into a pandas DataFrame (`df`) using + `ds.to_dataframe()`. + + The method also verifies variable attributes against the 'schema' from the dataset configuration. + If the attributes do not match the schema, an error is logged. + + Example of `netcdf_read_config` in dataset configuration: + ```json + "netcdf_read_config": { + "engine": "h5netcdf", + "decode_times": False + } + ``` + """ + with xr.open_dataset(netcdf_fp, engine="h5netcdf") as ds: + # Convert xarray to pandas DataFrame + df = ds.to_dataframe() + # TODO: call check function on variable attributes + if self.check_var_attributes(ds): + yield df, ds + else: + self.logger.error( + "NetCDF file is not consistent with the pre-defined schema" + ) def preprocess_data( self, fp ) -> Generator[Tuple[pd.DataFrame, xr.Dataset], None, None]: - if fp.endswith(".nc"): + """ + Overwrites the preprocess_data method from CommonHandler. + + Args: + fp (str or s3fs.core.S3File): File path or S3 file object. + + Yields: + tuple: A tuple containing DataFrame and Dataset. + + If `fp` ends with ".nc", it delegates to `self.preprocess_data_netcdf(fp)`. + If `fp` ends with ".csv", it delegates to `self.preprocess_data_csv(fp)`. + """ + if fp.path.endswith(".nc"): return self.preprocess_data_netcdf(fp) - if fp.endswith(".csv"): + if fp.path.endswith(".csv"): return self.preprocess_data_csv(fp) @staticmethod @@ -329,7 +364,7 @@ def _add_timestamp_df(self, df: pd.DataFrame) -> pd.DataFrame: return df - def _add_columns_df(self, df: pd.DataFrame, ds: xr.Dataset) -> pd.DataFrame: + def _add_columns_df(self, df: pd.DataFrame, ds: xr.Dataset, f) -> pd.DataFrame: """ Adds filename column to the DataFrame as well as variables defined in the json config. @@ -340,7 +375,6 @@ def _add_columns_df(self, df: pd.DataFrame, ds: xr.Dataset) -> pd.DataFrame: Returns: pd.DataFrame: DataFrame with added columns. """ - gattrs_to_variables = self.dataset_config["gattrs_to_variables"] for attr in gattrs_to_variables: if attr in ds.attrs: @@ -350,11 +384,11 @@ def _add_columns_df(self, df: pd.DataFrame, ds: xr.Dataset) -> pd.DataFrame: f"{attr} global attribute doesn't exist in the original NetCDF. The corresponding variable won't be created" ) - df["filename"] = os.path.basename(self.input_object_key) + df["filename"] = os.path.basename(f.path) return df - def _rm_bad_timestamp_df(self, df: pd.DataFrame) -> pd.DataFrame: + def _rm_bad_timestamp_df(self, df: pd.DataFrame, f) -> pd.DataFrame: """ Remove rows with bad timestamps from the DataFrame. @@ -374,7 +408,7 @@ def _rm_bad_timestamp_df(self, df: pd.DataFrame) -> pd.DataFrame: if any(df["timestamp"] < 0): self.logger.warning( - f"{self.filename}: NaN values of {time_varname} time variable in dataset. Trimming data from NaN values" + f"{f.path}: NaN values of {time_varname} time variable in dataset. Trimming data from NaN values" ) df2 = df[df["timestamp"] > 0].copy() df = df2 @@ -489,14 +523,13 @@ def check_var_attributes(self, ds): return True def publish_cloud_optimised( - self, - df: pd.DataFrame, - ds: xr.Dataset, + self, df: pd.DataFrame, ds: xr.Dataset, s3_file_handle ) -> None: """ Create a parquet file containing data only. Args: + s3_file_handle: s3_file_handle df (pd.DataFrame): The pandas DataFrame containing the data. ds (Dataset): The dataset object. Returns: @@ -505,9 +538,8 @@ def publish_cloud_optimised( partition_keys = self.dataset_config["partition_keys"] df = self._add_timestamp_df(df) - df = self._add_columns_df(df, ds) - df = self._rm_bad_timestamp_df(df) - + df = self._add_columns_df(df, ds, s3_file_handle) + df = self._rm_bad_timestamp_df(df, s3_file_handle) if "polygon" in partition_keys: if not "spatial_extent" in self.dataset_config: self.logger.error("Missing spatial_extent config") @@ -515,6 +547,8 @@ def publish_cloud_optimised( else: df = self._add_polygon(df) + filename = os.path.basename(s3_file_handle.path) + # Needs to be specified here as df is here a pandas df, while later on, it is a pyarrow table. some renaming should happen if isinstance(df.index, pd.MultiIndex): df_var_list = df.columns.tolist() + [name for name in df.index.names] @@ -549,14 +583,14 @@ def publish_cloud_optimised( # df.cast fails complaining that the schemas are different while they're arent. different order is often the case pdf = self.cast_table_by_schema(pdf, subset_schema) except ValueError as e: - self.logger.error(f"{self.filename}: {type(e).__name__}") + self.logger.error(f"{filename}: {type(e).__name__}") # Part B: Create NaN arrays for missing columns in the pyarrow table by comparing the self.pyarrow_schema variable if self.pyarrow_schema is not None: for field in self.pyarrow_schema: if field.name not in df_var_list: self.logger.warning( - f"{self.filename}: {field.name} variable missing from dataset. creating a null array of {field.type}" + f"{filename}: {field.name} variable missing from input file. creating a null array of {field.type}" ) null_array = pa.nulls(len(pdf), field.type) pdf = pdf.append_column(field.name, null_array) @@ -567,12 +601,12 @@ def publish_cloud_optimised( for column_name in df_columns: if column_name not in pdf.schema.names: var_config = generate_json_schema_var_from_netcdf( - self.tmp_input_file, column_name + s3_file_handle, column_name, s3_fs=self.s3_fs ) # if df.index.name is not None and column_name in df.index.name: # self.logger.warning(f'missing variable from provided pyarrow_schema, please add {column_name} : {df.index.dtype}') # else: - # #TODO: improce this to return all the varatts as well + # #TODO: improve this to return all the varatts as well # var_config = generate_json_schema_var_from_netcdf(self.input_object_key, column_name) self.logger.warning( f"missing variable from provided pyarrow_schema config, please add to dataset config (respect double quotes): {var_config}" @@ -589,16 +623,17 @@ def publish_cloud_optimised( pq.write_to_dataset( pdf, root_path=self.cloud_optimised_output_path, + filesystem=self.s3_fs, existing_data_behavior="overwrite_or_ignore", row_group_size=20000, partition_cols=partition_keys, use_threads=True, metadata_collector=metadata_collector, - basename_template=os.path.basename(self.input_object_key) + basename_template=filename + "-{i}.parquet", # this is essential for the overwriting part ) self.logger.info( - f"{self.filename}: Parquet files successfully created in {self.cloud_optimised_output_path} \n" + f"{filename}: Parquet files successfully created in {self.cloud_optimised_output_path} \n" ) self._add_metadata_sidecar() @@ -738,47 +773,17 @@ def _add_metadata_sidecar(self) -> None: dataset_metadata_path = os.path.join( self.cloud_optimised_output_path, "_common_metadata" ) - pq.write_metadata(pdf_schema, dataset_metadata_path) + pq.write_metadata( + pdf_schema, + dataset_metadata_path, + filesystem=self.s3_fs, + ) self.logger.info( - f"{self.filename}: Parquet metadata file successfully created in {dataset_metadata_path} \n" + f"Parquet metadata file successfully created in {dataset_metadata_path} \n" ) - def push_metadata_aws_registry(self) -> None: - """ - Pushes metadata to the AWS OpenData Registry. - - If the 'aws_opendata_registry' key is missing from the dataset configuration, a warning is logged. - Otherwise, the metadata is extracted from the 'aws_opendata_registry' key, converted to YAML format, - and uploaded to the specified S3 bucket. - - Returns: - None - """ - if "aws_opendata_registry" not in self.dataset_config: - self.logger.warning( - "Missing dataset configuration to populate AWS OpenData Registry" - ) - else: - aws_registry_config = self.dataset_config["aws_opendata_registry"] - yaml_data = yaml.dump(aws_registry_config) - - s3 = boto3.client("s3") - - key = os.path.join( - self.root_prefix_cloud_optimised_path, self.dataset_name + ".yaml" - ) - # Upload the YAML data to S3 - s3.put_object( - Bucket=self.optimised_bucket_name, - Key=key, - Body=yaml_data.encode("utf-8"), - ) - self.logger.info( - f"Push AWS Registry file to: {os.path.join(self.cloud_optimised_output_path, self.dataset_name + '.yaml')}" - ) - - def delete_existing_matching_parquet(self) -> None: + def delete_existing_matching_parquet(self, filename) -> None: """ Delete unmatched Parquet files. @@ -802,15 +807,20 @@ def delete_existing_matching_parquet(self) -> None: # remote test on local machine shows 15 sec for 50k objects try: + # TODO: with moto and unittests, we get the following error: + # GetFileInfo() yielded path 'imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/site_code=SYD140/timestamp=1625097600/polygon=01030000000100000005000000000000000020624000000000008041C0000000000060634000000000008041C0000000000060634000000000000039C0000000000020624000000000000039C0000000000020624000000000008041C0/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc-0.parquet', which is outside base dir 's3://imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/' + # obviously the file to delete is found with the unittests, but there is an issue, maybe with the way filesystem is set. Reading with pandas works, but we don't have the same capabilities parquet_files = pq.ParquetDataset( - self.cloud_optimised_output_path, partitioning="hive" + self.cloud_optimised_output_path, + partitioning="hive", + filesystem=self.s3_fs, ) - except FileNotFoundError as e: + except Exception as e: self.logger.info(f"No files to delete: {e}") return # Define the regex pattern to match existing parquet files - pattern = rf"\/{self.filename}" + pattern = rf"\/{filename}" # Find files matching the pattern using list comprehension and regex matching_files = [ @@ -835,33 +845,62 @@ def delete_existing_matching_parquet(self) -> None: f"Previous parquet objects successfully deleted: {response}" ) - def to_cloud_optimised(self) -> None: + def to_cloud_optimised_single(self, s3_file_uri) -> None: """ - Create Parquet files from a NetCDF file. + Process a single NetCDF file from an S3 URI, converting it into Parquet format. + + Args: + s3_file_uri (str): The S3 URI of the NetCDF file to process. Returns: None + + This method processes a NetCDF file located at `s3_file_uri`: + - Logs the processing start. + - Deletes existing matching Parquet files if enabled (`self.delete_pq_unmatch_enable`). + - Creates a fileset from the S3 file URI. + - Calls `self.preprocess_data()` to preprocess the data, yielding DataFrame and Dataset. + - Publishes the cloud-optimised data using `self.publish_cloud_optimised()`. + - Performs post-processing tasks using `self.postprocess()`. + - Logs completion time and finalises the process. + + If any exception occurs during processing, it logs the error and raises the exception. + + Note: + - Uses the logger defined in `self.logger`. + - Uses configurations and settings from `self.dataset_config`. """ - if self.tmp_input_file.endswith(".nc"): - self.is_valid_netcdf( - self.tmp_input_file - ) # check file validity before doing anything else + # FIXME: the next 2 lines need to be here otherwise, the logging is lost when called within a dask task. Why?? + logger_name = self.dataset_config.get("logger_name", "generic") + self.logger = get_logger(logger_name) + + self.logger.info(f"Processing {s3_file_uri}") + filename = os.path.basename(s3_file_uri) if self.delete_pq_unmatch_enable: - self.delete_existing_matching_parquet() + self.delete_existing_matching_parquet(filename) try: - generator = self.preprocess_data(self.tmp_input_file) + start_time = timeit.default_timer() + + s3_file_handle = create_fileset(s3_file_uri, self.s3_fs)[0] # only one file + + generator = self.preprocess_data(s3_file_handle) for df, ds in generator: - self.publish_cloud_optimised(df, ds) - self.push_metadata_aws_registry() + self.publish_cloud_optimised(df, ds, s3_file_handle) + # self.push_metadata_aws_registry() # Deprecated time_spent = timeit.default_timer() - self.start_time self.logger.info(f"Cloud Optimised file completed in {time_spent}s") self.postprocess(ds) + time_spent = timeit.default_timer() - start_time + self.logger.info( + f"{s3_file_uri} Cloud Optimised file completed in {time_spent}s" + ) + except Exception as e: self.logger.error( f"Issue while creating Cloud Optimised file: {type(e).__name__}: {e} \n {traceback.print_exc()}" @@ -871,3 +910,63 @@ def to_cloud_optimised(self) -> None: self.postprocess(ds) raise e + + def to_cloud_optimised(self, s3_file_uri_list) -> None: + """ + Process a list of NetCDF files from S3 URIs, converting them into Parquet format in batches. + + Args: + s3_file_uri_list (list): List of S3 URIs of NetCDF files to process. + + Returns: + None + + This method processes a list of NetCDF files located at `s3_file_uri_list`: + - Deletes existing Parquet files if `self.clear_existing_data` is set to True. + - Logs deletion of existing Parquet files if they exist. + - Creates a Dask cluster and submits tasks to process each file URI in batches. + - Waits for batch tasks to complete using a timeout of 10 minutes. + - Closes the Dask cluster after all tasks are completed. + + Note: + - Uses the logger defined in `self.logger`. + - Uses configurations and settings from `self.dataset_config`. + """ + if self.clear_existing_data: + self.logger.info( + f"Creating new Parquet dataset - DELETING existing all Parquet objects if exist" + ) + if prefix_exists(self.cloud_optimised_output_path): + bucket_name, prefix = split_s3_path(self.cloud_optimised_output_path) + self.logger.info( + f"Deleting existing Parquet objects from {self.cloud_optimised_output_path}" + ) + delete_objects_in_prefix(bucket_name, prefix) + + def task(f, i): + try: + self.to_cloud_optimised_single(f) + except Exception as e: + self.logger.error(f"{i}/{len(s3_file_uri_list)} issue with {f}: {e}") + + client, cluster = self.create_cluster() + + # Get the minimum cluster worker value as a batch size? and multiply it by 2 ? + n_workers_list = self.dataset_config.get("cluster_options", {}).get( + "n_workers", [] + ) + + # Get the minimum value from n_workers list + min_n_workers = min(n_workers_list) if n_workers_list else None + batch_size = min_n_workers * 3 + + # Do it in batches. maybe more efficient + for i in range(0, len(s3_file_uri_list), batch_size): + batch = s3_file_uri_list[i : i + batch_size] + batch_tasks = [ + client.submit(task, f, idx + 1) for idx, f in enumerate(batch) + ] + + wait(batch_tasks, timeout="10 minutes") + + self.close_cluster(client, cluster) diff --git a/aodn_cloud_optimised/lib/GenericZarrHandler.py b/aodn_cloud_optimised/lib/GenericZarrHandler.py index d1f7c8f..df28bff 100644 --- a/aodn_cloud_optimised/lib/GenericZarrHandler.py +++ b/aodn_cloud_optimised/lib/GenericZarrHandler.py @@ -1,23 +1,64 @@ import importlib.resources -import timeit -import traceback +import os +import warnings from functools import partial import boto3 +import dask import fsspec import numpy as np import s3fs import xarray as xr import zarr - -# from dask import distributed from dask.diagnostics import ProgressBar -from dask.distributed import worker_client from dask.distributed import Client - from rechunker import rechunk +from xarray.core.merge import MergeError + +from aodn_cloud_optimised.lib.CommonHandler import CommonHandler +from aodn_cloud_optimised.lib.logging import get_logger +from aodn_cloud_optimised.lib.s3Tools import ( + delete_objects_in_prefix, + split_s3_path, + prefix_exists, + create_fileset, +) + + +def preprocess_xarray(ds, dataset_config): + """ + Perform preprocessing on the input dataset (`ds`) and return an xarray Dataset. + + :param ds: Input xarray Dataset. + :param dataset_config: Configuration dictionary for the dataset. + + :return: + Preprocessed xarray Dataset. + """ + # TODO: this is part a rewritten function available in the GenericHandler class below. + # running the class method with xarray as preprocess=self.preprocess_xarray lead to many issues + # 1) serialization of the arguments with pickle. + # 2) Running in a dask remote cluster, it seemed like the preprocess function (if donne within mfdataset) + # was actually running locally and using ALL of the local ram. Complete nonsense. So this function was made + # as a test. It should be run after the xarray dataset is opened. More testing required as + # self.preprocess_xarray() was pretty complete function. + + logger_name = dataset_config.get("logger_name", "generic") + dimensions = dataset_config.get("dimensions") + schema = dataset_config.get("schema") + + logger = get_logger(logger_name) -from .CommonHandler import CommonHandler + # TODO: get filename; Should be from https://github.com/pydata/xarray/issues/9142 + + # ds = ds.assign( + # filename=((dimensions["time"]["name"],), [filename]) + # ) # add new filename variable with time dimension + + vars_to_drop = set(ds.data_vars) - set(schema) + ds_filtered = ds.drop_vars(vars_to_drop) + ds = ds_filtered + return ds class GenericHandler(CommonHandler): @@ -27,10 +68,12 @@ def __init__(self, **kwargs): Args: **kwargs: Additional keyword arguments. - raw_bucket_name (str, optional[config]): Name of the raw bucket. optimised_bucket_name (str, optional[config]): Name of the optimised bucket. root_prefix_cloud_optimised_path (str, optional[config]): Root Prefix path of the location of cloud optimised files - input_object_key (str): Key of the input object. + + Inherits: + CommonHandler: Provides common functionality for handling cloud-optimised datasets. + """ super().__init__(**kwargs) @@ -43,10 +86,6 @@ def __init__(self, **kwargs): json_validation_path ) # we cannot validate the json config until self.dataset_config and self.logger are set - self.reprocess = kwargs.get( - "reprocess", None - ) # setting to True will recreate the zarr from scratch at every run! - self.dimensions = self.dataset_config.get("dimensions") self.rechunk_drop_vars = kwargs.get("rechunk_drop_vars", None) self.vars_to_drop_no_common_dimension = self.dataset_config.get( @@ -54,57 +93,35 @@ def __init__(self, **kwargs): ) self.chunks = { + self.dimensions["time"]["name"]: self.dimensions["time"]["chunk"], self.dimensions["latitude"]["name"]: self.dimensions["latitude"]["chunk"], self.dimensions["longitude"]["name"]: self.dimensions["longitude"]["chunk"], } - def check_file_already_processed(self) -> bool: - """ - Check whether a NetCDF file has been previously processed and integrated into an existing Zarr dataset. - This check is performed by examining the filename variable added to the Zarr dataset. - - If the file has been processed previously, a self.reprocessed_time_idx variable will be created - to determine the index value of the time variable region for potential overwriting. - - :returns: - - True if the filename has already been integrated. - - False if the filename has not been integrated yet. - """ - self.logger.info( - f"{self.filename}: Checking if input NetCDF has already been ingested into Zarr dataset" - ) - - # Load existing zarr dataset - try: - ds = xr.open_zarr( - fsspec.get_mapper(self.cloud_optimised_output_path, anon=True), - consolidated=True, + self.compute = bool(True) + + # TODO: fix this ugly abomination. Unfortunately, patching the s3_fs value in the unittest is not enough for + # zarr! why? it works fine for parquet, but if I remove this if condition, my unittest breaks! maybe + # self.s3_fs is overwritten somewhere?? need to check + if os.getenv("RUNNING_UNDER_UNITTEST") == "true": + self.s3_fs = s3fs.S3FileSystem( + anon=False, + client_kwargs={ + "endpoint_url": "http://127.0.0.1:5555/", + "region_name": "us-east-1", + }, ) - except Exception as e: - self.logger.warning(f"Zarr dataset does not exist") - return False - # Locate values of time indexes where new filename has possibly been already downloaded - idx = ds.indexes[self.dimensions["time"]["name"]].where( - ds.filename == self.filename + self.store = s3fs.S3Map( + root=f"{self.cloud_optimised_output_path}", s3=self.s3_fs, check=False ) - not_nan_mask = ~idx.isna() # ~np.isnan(idx) - # Use numpy.where to get the indices where the values are not NaN - indices_not_nan = np.where(not_nan_mask)[0] - if indices_not_nan.size == 1: # filename exists, file part of existing zarr - self.reprocessed_time_idx = indices_not_nan[0] - return True - - elif indices_not_nan.size == 0: - return False - - def preprocess_xarray(self, ds, filename) -> xr.Dataset: + # TODO: Unused at the moment + def preprocess_xarray(self, ds) -> xr.Dataset: """ Perform preprocessing on the input dataset (`ds`) and return an xarray Dataset. :param ds: Input xarray Dataset. - :param filename: Name of the file being processed. :return: Preprocessed xarray Dataset. @@ -116,15 +133,17 @@ def preprocess_xarray(self, ds, filename) -> xr.Dataset: ds_filtered = ds.drop_vars(vars_to_drop) ds = ds_filtered - # add a new filename variable - filename = self.filename + # https://github.com/pydata/xarray/issues/2313 + # filename = ds.encoding["source"] - self.logger.info(f"{self.filename}: xarray preprocessing") + # self.logger.info(f"{filename}: xarray preprocessing") # Add a new dimension 'filename' with a filename value - ds = ds.assign( - filename=((self.dimensions["time"]["name"],), [filename]) - ) # add new filename variable with time dimension + filename = None + if filename is not None: + ds = ds.assign( + filename=((self.dimensions["time"]["name"],), [filename]) + ) # add new filename variable with time dimension var_required = self.schema.copy() var_required.pop(self.dimensions["time"]["name"]) @@ -134,8 +153,6 @@ def preprocess_xarray(self, ds, filename) -> xr.Dataset: # TODO: make the variable below something more generic? a parameter? var_template_shape = self.dataset_config.get("var_template_shape") - import warnings - try: warnings.filterwarnings("error", category=RuntimeWarning) nan_array = np.full(ds[var_template_shape].shape, np.nan, dtype=np.float64) @@ -150,9 +167,10 @@ def preprocess_xarray(self, ds, filename) -> xr.Dataset: # if variable doesn't exist if variable_name not in ds: - self.logger.warning( - f"{self.filename}: add missing {variable_name} to xarray dataset" - ) + # self.logger.warning( + # f"{filename}: add missing {variable_name} to xarray dataset" + # ) + self.logger.warning(f"add missing {variable_name} to xarray dataset") # check the type of the variable (numerical of string) if np.issubdtype(datatype, np.number): @@ -200,141 +218,262 @@ def preprocess_xarray(self, ds, filename) -> xr.Dataset: return ds - def preprocess(self) -> xr.Dataset: + def publish_cloud_optimised_fileset_batch(self, s3_file_uri_list): """ - Create a dataframe and xarray data from a NetCDF file. Loaded in memory. + Process and publish a batch of NetCDF files stored in S3 to a Zarr dataset. - :return: - ds: xarray Dataset. - """ - - preproc = partial(self.preprocess_xarray, filename=self.filename) - ds = xr.open_mfdataset( - self.tmp_input_file, - preprocess=preproc, - engine="h5netcdf", - concat_characters=True, - mask_and_scale=True, - decode_cf=True, - decode_times=True, - use_cftime=True, - parallel=True, - # autoclose=True, - decode_coords=True, - ) + This method iterates over a list of S3 file URIs, processes them in batches, and publishes + the resulting datasets to a Zarr store on S3. It performs the following steps: - return ds + 1. Validate input parameters and initialise logging. + 2. Create a list of file handles from S3 file URIs. + 3. Iterate through batches of file handles. + 4. Perform preprocessing on each batched dataset. + 5. Drop specified variables from the dataset based on schema settings. + 6. Open and preprocess each dataset using Dask for parallel processing. + 7. Chunk the dataset according to predefined dimensions. + 8. Write the processed dataset to an existing or new Zarr store on S3. + 9. Handle merging datasets and logging errors if encountered. - def publish_cloud_optimised(self, ds): - """ - Create or update a Zarr dataset in the specified S3 bucket. + Parameters: + - s3_file_uri_list (list): List of S3 file URIs to process and publish. - :param ds: The xarray dataset to be stored in Zarr format. - :type ds: xr.Dataset + Raises: + - ValueError: If input_objects (`s3_file_uri_list`) is not defined. - :return: None + Returns: + None """ - s3 = s3fs.S3FileSystem(anon=False) + # Iterate over s3_file_handle_list in batches + if s3_file_uri_list is None: + raise ValueError("input_objects is not defined") - store = s3fs.S3Map( - root=f"{self.cloud_optimised_output_path}", s3=s3, check=False + self.logger.info( + "Listing all objects to process and create a s3_file_handle_list" ) + s3_file_handle_list = create_fileset(s3_file_uri_list, self.s3_fs) - ds = ds.chunk(chunks=self.chunks) + time_dimension_name = self.dimensions["time"]["name"] - # first file of the dataset (overwrite) - if self.reprocess: - self.logger.warning( - f"{self.filename}: Creating new Zarr dataset - OVERWRITTING existing all Zarr objects if exist" - ) + for idx, batch_files in enumerate( + self.batch_process_fileset(s3_file_handle_list) + ): + self.logger.info(f"Processing batch {idx + 1}...") + self.logger.info(batch_files) + + # batch_filenames = [os.path.basename(f.full_name) for f in batch_files] - write_job = ds.to_zarr( - store, - write_empty_chunks=False, - mode="w", - compute=False, - consolidated=True, + partial_preprocess = partial( + preprocess_xarray, dataset_config=self.dataset_config ) - # append new files to the dataset - else: - self.logger.info(f"{self.filename}: append data to existing Zarr") - if ( - self.check_file_already_processed() - ): # case when a file should be reprocessed and write to a specific region - self.logger.info( - f"{self.filename}: update time region at slice({self.reprocessed_time_idx} , {self.reprocessed_time_idx + 1}) with new NetCDF data" - ) - # when setting `region` explicitly in to_zarr(), all variables in the dataset to write - # must have at least one dimension in common with the region's dimensions ['TIME'], - # but that is not the case for some variables here. To drop these variables - # from this dataset before exporting to zarr, write: - # .drop_vars(['LATITUDE', 'LONGITUDE', 'GDOP']) - - write_job = ds.drop_vars(self.vars_to_drop_no_common_dimension).to_zarr( - store, - write_empty_chunks=False, - region={ - self.dimensions["time"]["name"]: slice( - self.reprocessed_time_idx, self.reprocessed_time_idx + 1 + drop_vars_list = [ + var_name + for var_name, attrs in self.schema.items() + if attrs.get("drop_vars", False) + ] + self.logger.warning(f"Dropping variables {drop_vars_list} from dataset") + + with dask.config.set( + **{ + "array.slicing.split_large_chunks": False, + "distributed.scheduler.worker-saturation": "inf", + } + ): + try: + # TODO: if using preprocess function within mfdataset (has to be outside the class otherwise parallelizing issues), the + # local ram is being used! and not the cluster one! even if the function only does return ds + # solution, open at the end with ds = preprocess(ds) afterwards + # + ds = xr.open_mfdataset( + batch_files, + engine="h5netcdf", + parallel=True, + # preprocess=partial_preprocess, # this sometimes hangs the process + concat_characters=True, + mask_and_scale=True, + decode_cf=True, + decode_times=True, + use_cftime=True, + decode_coords=True, + compat="override", + coords="minimal", + data_vars="minimal", + drop_variables=drop_vars_list, + ) + + # TODO: create a simple jupyter notebook 2 show 2 different problems: + # 1) serialization issue if preprocess is within a class + # 2) blowing of memory if preprocess function is outside of a class and only does return ds + + ds = preprocess_xarray(ds, self.dataset_config) + + # NOTE: if I comment the next line, i get some errors with the latest chunk for some variables + ds = ds.chunk( + chunks=self.chunks + ) # careful with chunk size, had an issue + + # Write the dataset to Zarr + if prefix_exists(self.cloud_optimised_output_path): + self.logger.info(f"append data to existing Zarr") + + # NOTE: In the next section, we need to figure out if we're reprocessing existing data. + # For this, the logic is open the original zarr store and compare with the new ds from + # this batch if they have time values in common. + # If this is the case, we need then to find the CONTIGUOUS regions as we can't assume that + # the data is well ordered. The logic below is looking for the matching regions and indexes + + ds_org = xr.open_zarr( + self.store, + consolidated=True, + decode_cf=True, + decode_times=True, + use_cftime=True, + decode_coords=True, ) - }, - compute=True, - consolidated=True, - ) - else: - write_job = ds.to_zarr( - store, - write_empty_chunks=False, - mode="a", - compute=True, - append_dim=self.dimensions["time"]["name"], - consolidated=True, - ) - # write_job = write_job.persist() - # distributed.progress(write_job, notebook=False) - self.logger.info( - f"{self.filename}: Zarr created and pushed to {self.cloud_optimised_output_path} successfully" - ) + time_values_org = ds_org[time_dimension_name].values + time_values_new = ds[time_dimension_name].values - def to_cloud_optimised(self): - """ - Create a Zarr dataset from NetCDF data. + # Find common time values + common_time_values = np.intersect1d( + time_values_org, time_values_new + ) - Returns: - None + # Handle the 2 scenarios, reprocessing of a batch, or append new data + if len(common_time_values) > 0: + self.logger.info( + f"Duplicate values of {self.dimensions['time']['name']}" + ) + # Get indices of common time values in the original dataset + common_indices = np.nonzero( + np.isin(time_values_org, common_time_values) + )[0] + + # regions must be CONTIGIOUS!! very important. so looking for different regions + # Define regions as slices for the common time values + regions = [] + matching_indexes = [] + + start = common_indices[0] + for i in range(1, len(common_indices)): + if common_indices[i] != common_indices[i - 1] + 1: + end = common_indices[i - 1] + regions.append( + {time_dimension_name: slice(start, end + 1)} + ) + matching_indexes.append( + np.where( + np.isin( + time_values_new, + time_values_org[start : end + 1], + ) + )[0] + ) + start = common_indices[i] + + # Append the last region + end = common_indices[-1] + regions.append({time_dimension_name: slice(start, end + 1)}) + matching_indexes.append( + np.where( + np.isin( + time_values_new, + time_values_org[start : end + 1], + ) + )[0] + ) + + # Process region by region if necessary + for region, indexes in zip(regions, matching_indexes): + self.logger.info( + f"Overwriting Zarr dataset in Region: {region}, Matching Indexes in new ds: {indexes}" + ) + ds.isel(**{time_dimension_name: indexes}).drop_vars( + self.vars_to_drop_no_common_dimension + ).to_zarr( + self.store, + write_empty_chunks=False, + region=region, + compute=True, + consolidated=True, + ) + + # No reprocessing needed + else: + self.logger.info(f"Appending data to Zarr dataset") + + ds.to_zarr( + self.store, + mode="a", # append mode for the next batches + write_empty_chunks=False, # TODO: could True fix the issue when some variables dont exists? I doubt + compute=True, # Compute the result immediately + consolidated=True, + append_dim=time_dimension_name, + ) + + # First time writing the dataset + else: + self.logger.info(f"Writing data to new Zarr dataset") + + ds.to_zarr( + self.store, + mode="w", # Overwrite mode for the first batch + write_empty_chunks=False, + compute=True, # Compute the result immediately + consolidated=True, + ) - This method creates a Zarr dataset from NetCDF data. It logs the process, - creates a dataset using the 'preprocess' method, and populates the Zarr dataset - using the 'publish_cloud_optimised' method. After completion, the temporary NetCDF file - is removed. The total time taken for the operation is logged. + self.logger.info( + f"Batch {idx + 1} processed and written to {self.store}" + ) - Note: The 'preprocess' and 'publish_cloud_optimised' methods are assumed to be defined within the class. - """ + except MergeError as e: + self.logger.error(f"Failed to merge datasets: {e}") + if "ds" in locals(): + self.postprocess(ds) - if self.tmp_input_file.endswith(".nc"): - self.is_valid_netcdf( - self.tmp_input_file - ) # check file validity before doing anything else + except Exception as e: + self.logger.error(f"An unexpected error occurred: {e}") + if "ds" in locals(): + self.postprocess(ds) - try: - ds = self.preprocess() - self.publish_cloud_optimised(ds) - self.push_metadata_aws_registry() + def to_cloud_optimised(self, s3_file_uri_list=None): + """ + Create a Zarr dataset from NetCDF data. - time_spent = timeit.default_timer() - self.start_time - self.logger.info(f"Cloud Optimised file completed in {time_spent}s") + This method creates a Zarr dataset from NetCDF data stored in S3. It logs the process, + deletes existing Zarr objects if specified, processes multiple files concurrently using a cluster, + and publishes the resulting datasets using the 'publish_cloud_optimised_fileset_batch' method. - self.postprocess(ds) + Note: - except Exception as e: - self.logger.error( - f"Issue while creating Cloud Optimised file: {type(e).__name__}: {e} \n {traceback.print_exc()}" + Args: + - s3_file_uri_list (list, optional): List of S3 file URIs to process and create the Zarr dataset. + If not provided, no processing is performed. + + Returns: + None + """ + if self.clear_existing_data: + self.logger.warning( + f"Creating new Zarr dataset - DELETING existing all Zarr objects if exist" ) + # TODO: delete all objects + if prefix_exists(self.cloud_optimised_output_path): + bucket_name, prefix = split_s3_path(self.cloud_optimised_output_path) + self.logger.info( + f"Deleting existing Zarr objects from {self.cloud_optimised_output_path}" + ) + + delete_objects_in_prefix(bucket_name, prefix) - if "ds" in locals(): - self.postprocess(ds) + # Multiple file processing with cluster + if s3_file_uri_list is not None: + # creating a cluster to process multiple files at once + self.client, self.cluster = self.create_cluster() + self.publish_cloud_optimised_fileset_batch(s3_file_uri_list) + self.close_cluster(self.client, self.cluster) @staticmethod def filter_rechunk_dimensions(dimensions): @@ -383,7 +522,7 @@ def rechunk(self, max_mem="8.0GB"): self.dimensions ) # only return a dict with the dimensions to rechunk - s3 = s3fs.S3FileSystem(anon=False) + # s3 = s3fs.S3FileSystem(anon=False) org_url = ( self.cloud_optimised_output_path @@ -393,7 +532,7 @@ def rechunk(self, max_mem="8.0GB"): target_url = org_url.replace( f"{self.dataset_name}", f"{self.dataset_name}_rechunked" ) - target_store = s3fs.S3Map(root=f"{target_url}", s3=s3, check=False) + target_store = s3fs.S3Map(root=f"{target_url}", s3=self.s3_fs, check=False) # zarr.consolidate_metadata(org_store) ds = xr.open_zarr(fsspec.get_mapper(org_url, anon=True), consolidated=True) @@ -402,7 +541,7 @@ def rechunk(self, max_mem="8.0GB"): f"{self.dataset_name}", f"{self.dataset_name}_intermediate" ) - temp_store = s3fs.S3Map(root=f"{temp_url}", s3=s3, check=False) + temp_store = s3fs.S3Map(root=f"{temp_url}", s3=self.s3_fs, check=False) # delete previous version of intermediate and rechunked data s3_client = boto3.resource("s3") diff --git a/aodn_cloud_optimised/lib/ParquetDataQuery.py b/aodn_cloud_optimised/lib/ParquetDataQuery.py index b0ae39c..af31584 100644 --- a/aodn_cloud_optimised/lib/ParquetDataQuery.py +++ b/aodn_cloud_optimised/lib/ParquetDataQuery.py @@ -6,7 +6,9 @@ import os import re from datetime import datetime +from functools import lru_cache +import boto3 import geopandas as gpd import matplotlib.pyplot as plt import numpy as np @@ -14,6 +16,10 @@ import pyarrow as pa import pyarrow.compute as pc import pyarrow.parquet as pq +import pyarrow.parquet as pq +from botocore import UNSIGNED +from botocore.client import Config +from fuzzywuzzy import fuzz from shapely import wkb from shapely.geometry import Polygon, MultiPolygon @@ -300,3 +306,200 @@ def get_schema_metadata(dname): for key, value in parquet_meta.metadata.items() } return decoded_meta + + +#################################################################################################################### +# Work done during IMOS HACKATHON 2024 +# https://github.com/aodn/IMOS-hackathon/blob/main/2024/Projects/CARSv2/notebooks/get_aodn_example_hackathon.ipynb +################################################################################################################### +class GetAodn: + def __init__(self): + self.bucket_name = "imos-data-lab-optimised" + self.prefix = "cloud_optimised/cluster_testing" + + def get_dataset(self, dataset_name): + return Dataset(self.bucket_name, self.prefix, dataset_name) + + def get_metadata(self): + return Metadata(self.bucket_name, self.prefix) + + +class Dataset: + def __init__(self, bucket_name, prefix, dataset_name): + self.bucket_name = bucket_name + self.prefix = prefix + self.dataset_name = dataset_name + self.dname = ( + f"s3://{self.bucket_name}/{self.prefix}/{self.dataset_name}.parquet/" + ) + self.parquet_ds = pq.ParquetDataset(self.dname, partitioning="hive") + + def partition_keys_list(self): + dataset = pq.ParquetDataset(self.dname, format="parquet", partitioning="hive") + partition_keys = dataset.partitioning.schema + return partition_keys + + def get_spatial_extent(self): + return get_spatial_extent(self.parquet_ds) + + def plot_spatial_extent(self): + return plot_spatial_extent(self.parquet_ds) + + def get_temporal_extent(self): + return get_temporal_extent(self.parquet_ds) + + def get_data( + self, + date_start=None, + date_end=None, + lat_min=None, + lat_max=None, + lon_min=None, + lon_max=None, + scalar_filter=None, + ): + # TODO fix the whole logic as not everything is considered + + # time filter: doesnt require date_end + if date_end == None: + now = datetime.now() + date_end = now.strftime("%Y-%m-%d %H:%M:%S") + + if date_start == None: + filter_time = None + else: + filter_time = create_time_filter( + self.parquet_ds, date_start=date_start, date_end=date_end + ) + + # Geometry filter requires ALL optional args to be defined + if lat_min == None or lat_max == None or lon_min == None or lon_max == None: + filter_geo = None + else: + filter_geo = create_bbox_filter( + self.parquet_ds, + lat_min=lat_min, + lat_max=lat_max, + lon_min=lon_min, + lon_max=lon_max, + ) + + # scalar filter + if scalar_filter != None: + expr = None + for item in scalar_filter: + expr_1 = pc.field(item) == pa.scalar(scalar_filter[item]) + if type(expr) != pc.Expression: + expr = expr_1 + else: + expr = expr_1 & expr + + # merge filters together + if type(filter_time) != pc.Expression: + data_filter = filter_geo + elif type(filter_geo) != pc.Expression: + data_filter = filter_time + elif (type(filter_geo) != pc.Expression) & (type(filter_time) != pc.Expression): + data_filter = None + else: + data_filter = filter_geo & filter_time + + # add scalar filter to data_filter + if scalar_filter != None: + data_filter = data_filter & expr + + df = pd.read_parquet(self.dname, engine="pyarrow", filters=data_filter) + return df + + def get_metadata(self): + return get_schema_metadata(self.dname) + + +class Metadata: + def __init__(self, bucket_name, prefix): + # super().__init__() + # initialise the class by calling the needed methods + self.bucket_name = bucket_name + self.prefix = prefix + self.catalog = self.metadata_catalog() + + def metadata_catalog_uncached(self): + # print('Running metadata_catalog_uncached...') # Debug output + + folders_with_parquet = self.list_folders_with_parquet() + catalog = {} + + for dataset in folders_with_parquet: + dname = f"s3://{self.bucket_name}/{dataset}" + metadata = get_schema_metadata(dname) # schema metadata + + path_parts = dataset.strip("/").split("/") + last_folder_with_extension = path_parts[-1] + dataset_name = os.path.splitext(last_folder_with_extension)[0] + + catalog[dataset_name] = metadata + + return catalog + + @lru_cache(maxsize=None) + def metadata_catalog(self): + # print('Running metadata_catalog...') # Debug output + if "catalog" in self.__dict__: + return self.catalog + else: + return self.metadata_catalog_uncached() + + def list_folders_with_parquet(self): + s3 = boto3.client("s3", config=Config(signature_version=UNSIGNED)) + prefix = self.prefix + + if not prefix.endswith("/"): + prefix += "/" + + response = s3.list_objects_v2( + Bucket=self.bucket_name, Prefix=prefix, Delimiter="/" + ) + + folders = [] + for prefix in response.get("CommonPrefixes", []): + folder_path = prefix["Prefix"] + if folder_path.endswith(".parquet/"): + folder_name = folder_path[len(prefix) - 1 :] + folders.append(folder_name) + + return folders + + def find_datasets_with_attribute( + self, target_value, target_key="standard_name", data_dict=None, threshold=80 + ): + + matching_datasets = [] + # https://stackoverflow.com/questions/56535948/python-why-cant-you-use-a-self-variable-as-an-optional-argument-in-a-method + if data_dict == None: + data_dict = self.metadata_catalog() + + if not isinstance(data_dict, dict): + return matching_datasets # handle bad cases + + for dataset_name, attributes in data_dict.items(): + if not isinstance(attributes, dict): + continue + + for key, value in attributes.items(): + if isinstance(value, dict) and target_key in value: + # Check for any attribute available in a dict(catalog) match using fuzzy matching + current_standard_name = value.get(target_key, "") + similarity_score = fuzz.partial_ratio( + target_value.lower(), current_standard_name.lower() + ) + if similarity_score >= threshold: + matching_datasets.append( + dataset_name + ) # Add dataset name to list + + # Recursively search + matching_datasets.extend( + self.find_datasets_with_attribute(value, target_value, threshold) + ) + + return list(set(matching_datasets)) diff --git a/aodn_cloud_optimised/lib/config.py b/aodn_cloud_optimised/lib/config.py index 350de8c..c9b5a7b 100644 --- a/aodn_cloud_optimised/lib/config.py +++ b/aodn_cloud_optimised/lib/config.py @@ -1,49 +1,128 @@ import json import yaml import os -import importlib.resources from collections import OrderedDict from importlib.resources import path -def load_variable_from_file(file_path, variable_name) -> str: +def merge_dicts(parent, child): + """ + Merge two dictionaries, giving priority to the child dictionary. + + :param parent: The parent dictionary. + :param child: The child dictionary whose values will override those of the parent. + :return: The merged dictionary with child's values taking precedence. + """ + for key, value in child.items(): + if isinstance(value, dict) and key in parent: + parent[key] = merge_dicts(parent[key], value) + else: + parent[key] = value + return parent + + +def load_config(file_path): + """ + Load a configuration file in either YAML or JSON format. + + :param file_path: Path to the configuration file. + :return: The loaded configuration as a dictionary. + :raises ValueError: If the file format is unsupported. + :raises FileNotFoundError: If the file is not found. + """ try: with open(file_path, "r") as file: if file_path.endswith(".yaml"): - variables = yaml.safe_load(file) + return yaml.safe_load(file) elif file_path.endswith(".json"): - variables = json.load(file, object_pairs_hook=OrderedDict) + return json.load( + file + ) # remove this as it's breaking the metadata for parquet, object_pairs_hook=OrderedDict) else: raise ValueError( "Unsupported file format. Please provide either a YAML or JSON file." ) - - if variable_name in variables: - return variables[variable_name] - else: - raise KeyError( - f"Variable '{variable_name}' not found in the file '{file_path}'." - ) except FileNotFoundError: raise FileNotFoundError(f"File '{file_path}' not found.") +def load_variable_from_file(file_path, variable_name) -> str: + """ + Load a specific variable from a configuration file, considering parent configurations if specified. + + :param file_path: Path to the configuration file. + :param variable_name: Name of the variable to retrieve. + :return: The value of the specified variable. + :raises KeyError: If the variable is not found in the configuration file. + """ + # Load the child configuration + variables = load_config(file_path) + + # Check for a parent configuration file + parent_config_path = variables.get("parent_config") + if parent_config_path: + # Construct the full path to the parent configuration file + parent_config_path = os.path.join( + os.path.dirname(file_path), parent_config_path + ) + # Load the parent configuration + parent_variables = load_config(parent_config_path) + # Merge the parent and child configurations + variables = merge_dicts(parent_variables, variables) + + # Retrieve the variable + if variable_name in variables: + return variables[variable_name] + else: + raise KeyError( + f"Variable '{variable_name}' not found in the file '{file_path}'." + ) + + def load_variable_from_config(variable_name) -> str: + """ + Load a specific variable from the common configuration file. + + :param variable_name: Name of the variable to retrieve. + :return: The value of the specified variable. + :raises KeyError: If the variable is not found in the configuration file. + """ # Obtain the file path using the context manager with path("aodn_cloud_optimised.config", "common.json") as common_config_path: return load_variable_from_file(str(common_config_path), variable_name) def load_dataset_config(config_path) -> dict: - try: - with open(config_path, "r") as file: - if config_path.endswith(".json"): - dataset_config = json.load(file) - else: - raise ValueError( - "Unsupported file format. Please provide either a YAML or JSON file." - ) + """ + Load a dataset configuration, considering parent configurations if specified. + + :param config_path: Path to the dataset configuration file. + :return: The loaded dataset configuration as a dictionary. + :raises FileNotFoundError: If the parent configuration file is not found. + :raises ValueError: If there is an error loading the parent configuration file. + """ + # Load the child configuration + dataset_config = load_config(config_path) + + # Check for a parent configuration file + parent_config_path = dataset_config.get("parent_config") + if parent_config_path: + # Construct the full path to the parent configuration file which is in the same directory + parent_config_path = os.path.join( + os.path.dirname(config_path), parent_config_path + ) + # Load the parent configuration + try: + parent_dataset_config = load_config(parent_config_path) + # Merge the parent and child configurations + dataset_config = merge_dicts(parent_dataset_config, dataset_config) + except FileNotFoundError: + raise FileNotFoundError( + f"Parent configuration file '{parent_config_path}' not found." + ) + except ValueError as e: + raise ValueError( + f"Error loading parent configuration file '{parent_config_path}': {e}" + ) - return dataset_config - except Exception as e: - raise TypeError(f"{e}") + return dataset_config diff --git a/aodn_cloud_optimised/lib/s3Tools.py b/aodn_cloud_optimised/lib/s3Tools.py index a87fd3e..f8b2094 100755 --- a/aodn_cloud_optimised/lib/s3Tools.py +++ b/aodn_cloud_optimised/lib/s3Tools.py @@ -1,33 +1,58 @@ import boto3 +from urllib.parse import urlparse +import s3fs +import logging -def s3_ls(bucket, prefix, suffix=".nc") -> list: +def s3_ls(bucket, prefix, suffix=".nc", s3_path=True) -> list: """ Return a list of object keys under a specific prefix in the specified S3 bucket with the specified suffix. Args: - prefix (str): The prefix to filter objects in the S3 bucket. bucket (str): The name of the S3 bucket. + prefix (str): The prefix to filter objects in the S3 bucket. suffix (str, optional): The suffix to filter object keys (default is '.nc'). + s3_path (bool, optional): Whether to return S3 paths or object keys without the bucket name (default is True). Returns: list[str]: A list of object keys under the specified prefix and with the specified suffix. + If s3_path=True, returns list of S3 paths (s3://bucket_name/key). + If s3_path=False, returns list of object keys (key). """ + # Store the initial logger state + initial_logger = logging.getLogger() + + # Check if the root logger already has handlers + if not initial_logger.hasHandlers(): + # Set up logging configuration if no handlers exist + logging.basicConfig(level=logging.INFO) # Set the logging level as needed + + # Get the logger instance + logger = logging.getLogger() + + logger.info(f"Listing S3 objects in {bucket} under {prefix} ending with {suffix}") + s3 = boto3.client("s3") paginator = s3.get_paginator("list_objects_v2") pages = paginator.paginate(Bucket=bucket, Prefix=prefix) - s3_obj = [] + s3_objs = [] for page in pages: - for object in page["Contents"]: - if object["Key"].endswith(suffix): - s3_obj.append(object["Key"]) + for obj in page.get("Contents", []): + if obj["Key"].endswith(suffix): + if s3_path: + s3_objs.append(f"s3://{bucket}/{obj['Key']}") + else: + s3_objs.append(obj["Key"]) - s3.close() - return s3_obj + if not initial_logger.hasHandlers(): + # Restore the original state if no handlers were initially present + logging.shutdown() + + return s3_objs def delete_objects_in_prefix(bucket_name, prefix): @@ -58,6 +83,9 @@ def delete_objects_in_prefix(bucket_name, prefix): """ s3 = boto3.client("s3") + # Get the logger instance + logger = logging.getLogger() + # Continuation token for paginated results continuation_token = None @@ -75,7 +103,9 @@ def delete_objects_in_prefix(bucket_name, prefix): # Check if there are any objects to delete if "Contents" not in response: - print(f"No objects found with prefix '{prefix}' in bucket '{bucket_name}'.") + logger.info( + f"No objects found with prefix '{prefix}' in bucket '{bucket_name}'." + ) return # Collect object keys to delete @@ -89,10 +119,83 @@ def delete_objects_in_prefix(bucket_name, prefix): }, ) - print(f"Deleted {len(delete_response['Deleted'])} objects.") + logger.info(f"Deleted {len(delete_response['Deleted'])} objects.") # Check if there are more objects to delete if response["IsTruncated"]: continuation_token = response["NextContinuationToken"] else: break + + +def split_s3_path(s3_path): + """ + Split an S3 path into bucket name and prefix. + + Args: + s3_path (str): The S3 path (e.g., 's3://bucket-name/path/to/object/'). + + Returns: + tuple: A tuple containing the bucket name and prefix. + """ + parsed_url = urlparse(s3_path) + bucket_name = parsed_url.netloc + prefix = parsed_url.path.lstrip("/") + return bucket_name, prefix + + +def prefix_exists(s3_path): + """ + Check if a given S3 prefix exists. + + This function parses an S3 path to extract the bucket name and prefix, + then checks if the prefix exists in the specified S3 bucket. + + Args: + s3_path (str): The S3 path to check, in the format "s3://bucket-name/prefix". + + Returns: + bool: True if the prefix exists, False otherwise. + + Raises: + ValueError: If the provided path does not appear to be an S3 URL. + + """ + # Parse the S3 path + parsed_url = urlparse(s3_path) + + if parsed_url.scheme != "s3": + raise ValueError("The provided path does not appear to be an S3 URL.") + + bucket_name = parsed_url.netloc + prefix = parsed_url.path.lstrip("/") + + s3_client = boto3.client("s3") + response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=prefix, MaxKeys=1) + return "Contents" in response + + +def create_fileset(s3_paths, s3_fs=None): + """ + Create a fileset from S3 objects specified by a list of full S3 paths. + + Args: + s3_paths (str or list[str]): Either a single full S3 path (e.g., 's3://bucket_name/object_key') + or a list of full S3 paths. + + Returns: + list[file-like object]: List of file-like objects representing each object in the fileset. + """ + if s3_fs is None: + s3_fs = s3fs.S3FileSystem(anon=True) + + if isinstance(s3_paths, str): + s3_paths = [s3_paths] + + if not isinstance(s3_paths, list): + raise ValueError("Invalid input format. Expecting either str or list[str].") + + # Create a fileset by opening each file + fileset = [s3_fs.open(file) for file in s3_paths] + + return fileset diff --git a/aodn_cloud_optimised/lib/schema.py b/aodn_cloud_optimised/lib/schema.py index 7746386..23d5ae4 100755 --- a/aodn_cloud_optimised/lib/schema.py +++ b/aodn_cloud_optimised/lib/schema.py @@ -1,89 +1,100 @@ +import json +import tempfile + +import numpy as np import pyarrow as pa import s3fs import xarray as xr -import numpy as np -import json -import tempfile -def generate_pyarrow_schema_from_s3_netcdf(s3_object_address, sub_schema): +def custom_encoder(obj): + if isinstance(obj, np.float32): + return float(obj) # Convert np.float32 to Python float + raise TypeError(f"Object of type {type(obj)} is not JSON serializable") + + +def generate_json_schema_var_from_netcdf(nc_path, var_name, indent=2, s3_fs=None): """ - Extracts variable names and types from a NetCDF file in S3 and returns a PyArrow pyarrow_schema. + Extracts variable names, types, and attributes from a NetCDF file and returns a JSON-formatted schema. Args: - s3_object_address (str): The address of the NetCDF object in S3 format, - e.g., "s3://your-bucket/path/to/file.nc". + nc_path (str or S3File): Path to a local NetCDF file or S3 address of the NetCDF file, + e.g., "s3://your-bucket/path/to/file.nc", or an open S3File object. + var_name (str): Name of the variable or coordinate to extract schema for. + indent (int, optional): Number of spaces for JSON indentation (default is 2). + s3_fs (s3fs.S3FileSystem, optional): S3FileSystem instance used to open S3 objects (default is None). Returns: - pyarrow.Schema: The inferred PyArrow pyarrow_schema from the NetCDF file. + str: JSON-formatted string representing the variable schema. """ - s3 = s3fs.S3FileSystem() - with s3.open(s3_object_address, "rb") as f: - dataset = xr.open_dataset(f) - - variables = list(dataset.variables.keys()) - types = [pa.from_numpy_dtype(dataset[var].dtype) for var in variables] - - # Create the base pyarrow_schema from the NetCDF file - base_schema = pa.schema(list(zip(variables, types))) + if isinstance(nc_path, s3fs.S3File): + if s3_fs is None: + s3_fs = s3fs.S3FileSystem(anon=True) + + # Open dataset from S3 file-like object using with statement + with s3_fs.open(nc_path) as f: + with xr.open_dataset(f) as dataset: + schema = extract_variable_schema(dataset, var_name) + elif nc_path.startswith("s3://"): + with s3_fs.open(nc_path) as f: + with xr.open_dataset(f) as dataset: + schema = extract_variable_schema(dataset, var_name) + else: + with xr.open_dataset(nc_path) as dataset: + schema = extract_variable_schema(dataset, var_name) - # Combine the base pyarrow_schema and the provided subschema - combined_schema = pa.unify_schemas([base_schema, sub_schema]) + json_str = json.dumps(schema, indent=indent, default=custom_encoder) - return combined_schema + return json_str -def generate_json_schema_var_from_netcdf(nc_path, var_name, indent=2): +def extract_variable_schema(dataset, var_name): """ - Extracts variable names, types, and attributes from a NetCDF file in S3 and prints a JSON pyarrow_schema. + Extracts variable schema (dtype and attributes) from an xarray Dataset or DataArray. Args: - s3_object_nc_pathaddress (str): The address of the NetCDF object in S3 format, - e.g., "s3://your-bucket/path/to/file.nc". - indent (int, optional): Number of spaces for JSON indentation (default is 2). + dataset (xarray.Dataset or xarray.DataArray): The xarray dataset or data array. + var_name (str): Name of the variable or coordinate to extract schema for. Returns: - None + dict: Dictionary representing the variable schema. """ - with open(nc_path, "rb") as f: - dataset = xr.open_dataset(f) - schema = {} # Process variables if var_name in dataset.variables: var_dtype = dataset.variables[var_name].dtype - dtype_str = convert_dtype_to_str(var_dtype) - var_attrs = extract_serialisable_attrs(dataset.variables[var_name].attrs) + dtype_str = str(var_dtype) + var_attrs = dataset.variables[var_name].attrs schema[var_name] = {"type": dtype_str, **var_attrs} elif var_name in dataset.coords: coord_dtype = dataset.coords[var_name].dtype - dtype_str = convert_dtype_to_str(coord_dtype) - coord_attrs = extract_serialisable_attrs(dataset.coords[var_name].attrs) + dtype_str = str(coord_dtype) + coord_attrs = dataset.coords[var_name].attrs schema[var_name] = {"type": dtype_str, **coord_attrs} - # Convert the pyarrow_schema dictionary to a JSON-formatted string with indentation - json_str = json.dumps(schema, indent=indent) - - # Print the JSON string with double quotes for easy copy/paste - return json_str + return schema -def generate_json_schema_from_s3_netcdf(s3_object_address, indent=2): +def generate_json_schema_from_s3_netcdf(s3_object_address, indent=2, s3_fs=None): """ - Extracts variable names, types, and attributes from a NetCDF file in S3 and prints a JSON pyarrow_schema. + Extracts variable names, types, and attributes from a NetCDF file in S3 and returns a JSON-formatted schema. Args: s3_object_address (str): The address of the NetCDF object in S3 format, e.g., "s3://your-bucket/path/to/file.nc". indent (int, optional): Number of spaces for JSON indentation (default is 2). + s3_fs (s3fs.S3FileSystem, optional): S3FileSystem instance used to open S3 objects (default is None). Returns: - None + str: Path to a temporary JSON file containing the variable schema. """ - s3 = s3fs.S3FileSystem() - with s3.open(s3_object_address, "rb") as f: + + if s3_fs is None: + s3_fs = s3fs.S3FileSystem(anon=True) + + with s3_fs.open(s3_object_address, "rb") as f: dataset = xr.open_dataset(f) schema = {} diff --git a/environment.yml b/environment.yml index 44b6df6..40654c3 100755 --- a/environment.yml +++ b/environment.yml @@ -11,7 +11,7 @@ dependencies: - notebook - h5py - scipy - - pip + - pip<24.1 - pip: - poetry - -r requirements.txt diff --git a/integration_testing/test_ardc_wave_nrt.py b/integration_testing/test_ardc_wave_nrt.py index 3e1b55a..3598e24 100755 --- a/integration_testing/test_ardc_wave_nrt.py +++ b/integration_testing/test_ardc_wave_nrt.py @@ -7,7 +7,7 @@ import pyarrow.dataset as pds import pyarrow.parquet as pq -from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation_loop +from aodn_cloud_optimised.lib.CommonHandler import cloud_optimised_creation from aodn_cloud_optimised.lib.ParquetDataQuery import * from aodn_cloud_optimised.lib.config import ( load_variable_from_config, @@ -49,7 +49,7 @@ def setUpClass(cls): ), ) - cloud_optimised_creation_loop( + cloud_optimised_creation( nc_obj_ls, dataset_config=dataset_config, raw_bucket_name=load_variable_from_config( diff --git a/notebooks/argo_core.ipynb b/notebooks/argo_core.ipynb index c00d8b8..c045c28 100644 --- a/notebooks/argo_core.ipynb +++ b/notebooks/argo_core.ipynb @@ -1,1153 +1,1156 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "Toi10WECQdzJ" - }, - "source": [ - "## Access ARGO Core data in Parquet\n", - "\n", - "A jupyter notebook to show how to access and plot ARGO Core data available as a [Parquet](https://parquet.apache.org) dataset on S3" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "TJf1YgjtQdzS" - }, - "outputs": [], - "source": [ - "dataset_name = \"argo_core\"" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "u-FcvQ0UQdzW" - }, - "source": [ - "## Install/Update packages and Load common functions" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "id": "YB7J7Y8FQdzY", - "outputId": "cd691404-a147-4c3d-96f1-55e8d2e66427", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting s3fs\n", - " Downloading s3fs-2024.3.1-py3-none-any.whl (29 kB)\n", - "Collecting aiobotocore<3.0.0,>=2.5.4 (from s3fs)\n", - " Downloading aiobotocore-2.12.3-py3-none-any.whl (76 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.5/76.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting fsspec==2024.3.1 (from s3fs)\n", - " Downloading fsspec-2024.3.1-py3-none-any.whl (171 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m172.0/172.0 kB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from s3fs) (3.9.5)\n", - "Collecting botocore<1.34.70,>=1.34.41 (from aiobotocore<3.0.0,>=2.5.4->s3fs)\n", - " Downloading botocore-1.34.69-py3-none-any.whl (12.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m26.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: wrapt<2.0.0,>=1.10.10 in /usr/local/lib/python3.10/dist-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs) (1.14.1)\n", - "Collecting aioitertools<1.0.0,>=0.5.1 (from aiobotocore<3.0.0,>=2.5.4->s3fs)\n", - " Downloading aioitertools-0.11.0-py3-none-any.whl (23 kB)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.3.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (23.2.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.4.1)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (6.0.5)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.9.4)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (4.0.3)\n", - "Collecting jmespath<2.0.0,>=0.7.1 (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs)\n", - " Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)\n", - "Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/local/lib/python3.10/dist-packages (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (2.8.2)\n", - "Requirement already satisfied: urllib3!=2.2.0,<3,>=1.25.4 in /usr/local/lib/python3.10/dist-packages (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (2.0.7)\n", - "Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.0->aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (3.7)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (1.16.0)\n", - "Installing collected packages: jmespath, fsspec, aioitertools, botocore, aiobotocore, s3fs\n", - " Attempting uninstall: fsspec\n", - " Found existing installation: fsspec 2023.6.0\n", - " Uninstalling fsspec-2023.6.0:\n", - " Successfully uninstalled fsspec-2023.6.0\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "torch 2.2.1+cu121 requires nvidia-cublas-cu12==12.1.3.1; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cuda-cupti-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cuda-runtime-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cudnn-cu12==8.9.2.26; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cufft-cu12==11.0.2.54; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-curand-cu12==10.3.2.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cusolver-cu12==11.4.5.107; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-cusparse-cu12==12.1.0.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-nccl-cu12==2.19.3; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "torch 2.2.1+cu121 requires nvidia-nvtx-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", - "gcsfs 2023.6.0 requires fsspec==2023.6.0, but you have fsspec 2024.3.1 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed aiobotocore-2.12.3 aioitertools-0.11.0 botocore-1.34.69 fsspec-2024.3.1 jmespath-1.0.1 s3fs-2024.3.1\n", - "Collecting pyarrow==16.0.0\n", - " Downloading pyarrow-16.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (40.8 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.8/40.8 MB\u001b[0m \u001b[31m13.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: numpy>=1.16.6 in /usr/local/lib/python3.10/dist-packages (from pyarrow==16.0.0) (1.25.2)\n", - "Installing collected packages: pyarrow\n", - " Attempting uninstall: pyarrow\n", - " Found existing installation: pyarrow 14.0.2\n", - " Uninstalling pyarrow-14.0.2:\n", - " Successfully uninstalled pyarrow-14.0.2\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "ibis-framework 8.0.0 requires pyarrow<16,>=2, but you have pyarrow 16.0.0 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed pyarrow-16.0.0\n", - "Collecting zarr\n", - " Downloading zarr-2.17.2-py3-none-any.whl (208 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m208.5/208.5 kB\u001b[0m \u001b[31m5.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: xarray[complete] in /usr/local/lib/python3.10/dist-packages (2023.7.0)\n", - "Collecting asciitree (from zarr)\n", - " Downloading asciitree-0.3.3.tar.gz (4.0 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.10/dist-packages (from zarr) (1.25.2)\n", - "Collecting numcodecs>=0.10.0 (from zarr)\n", - " Downloading numcodecs-0.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.7/7.7 MB\u001b[0m \u001b[31m27.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting fasteners (from zarr)\n", - " Downloading fasteners-0.19-py3-none-any.whl (18 kB)\n", - "Requirement already satisfied: pandas>=1.4 in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2.0.3)\n", - "Requirement already satisfied: packaging>=21.3 in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (24.0)\n", - "Collecting netCDF4 (from xarray[complete])\n", - " Downloading netCDF4-1.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.5/5.5 MB\u001b[0m \u001b[31m57.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: h5netcdf in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.3.0)\n", - "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.11.4)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2024.3.1)\n", - "Collecting cftime (from xarray[complete])\n", - " Downloading cftime-1.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m71.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pooch in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.8.1)\n", - "Collecting bottleneck (from xarray[complete])\n", - " Downloading Bottleneck-1.3.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m354.1/354.1 kB\u001b[0m \u001b[31m39.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting numbagg (from xarray[complete])\n", - " Downloading numbagg-0.8.1-py3-none-any.whl (48 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m48.4/48.4 kB\u001b[0m \u001b[31m6.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting flox (from xarray[complete])\n", - " Downloading flox-0.9.6-py3-none-any.whl (62 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.9/62.9 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: dask[complete] in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2023.8.1)\n", - "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (3.7.1)\n", - "Requirement already satisfied: seaborn in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (0.13.1)\n", - "Collecting nc-time-axis (from xarray[complete])\n", - " Downloading nc_time_axis-1.4.1-py3-none-any.whl (17 kB)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2023.4)\n", - "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2024.1)\n", - "Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (8.1.7)\n", - "Requirement already satisfied: cloudpickle>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (2.2.1)\n", - "Requirement already satisfied: partd>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (1.4.1)\n", - "Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (6.0.1)\n", - "Requirement already satisfied: toolz>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (0.12.1)\n", - "Requirement already satisfied: importlib-metadata>=4.13.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (7.1.0)\n", - "Requirement already satisfied: pyarrow>=7.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (16.0.0)\n", - "Collecting lz4>=4.3.2 (from dask[complete]->xarray[complete])\n", - " Downloading lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m73.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting numpy-groupies>=0.9.19 (from flox->xarray[complete])\n", - " Downloading numpy_groupies-0.11.1-py3-none-any.whl (40 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.5/40.5 kB\u001b[0m \u001b[31m4.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf->xarray[complete]) (3.9.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (1.2.1)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (4.51.0)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (1.4.5)\n", - "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (9.4.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (3.1.2)\n", - "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from netCDF4->xarray[complete]) (2024.2.2)\n", - "Requirement already satisfied: numba in /usr/local/lib/python3.10/dist-packages (from numbagg->xarray[complete]) (0.58.1)\n", - "Requirement already satisfied: platformdirs>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pooch->xarray[complete]) (4.2.1)\n", - "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from pooch->xarray[complete]) (2.31.0)\n", - "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=4.13.0->dask[complete]->xarray[complete]) (3.18.1)\n", - "Requirement already satisfied: locket in /usr/local/lib/python3.10/dist-packages (from partd>=1.2.0->dask[complete]->xarray[complete]) (1.0.0)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=1.4->xarray[complete]) (1.16.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (3.3.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (3.7)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (2.0.7)\n", - "Requirement already satisfied: distributed==2023.8.1 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (2023.8.1)\n", - "Requirement already satisfied: bokeh>=2.4.2 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (3.3.4)\n", - "Requirement already satisfied: jinja2>=2.10.3 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (3.1.3)\n", - "Requirement already satisfied: msgpack>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (1.0.8)\n", - "Requirement already satisfied: psutil>=5.7.2 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (5.9.5)\n", - "Requirement already satisfied: sortedcontainers>=2.0.5 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (2.4.0)\n", - "Requirement already satisfied: tblib>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (3.0.0)\n", - "Requirement already satisfied: tornado>=6.0.4 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (6.3.3)\n", - "Requirement already satisfied: zict>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (3.0.0)\n", - "Requirement already satisfied: llvmlite<0.42,>=0.41.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba->numbagg->xarray[complete]) (0.41.1)\n", - "Requirement already satisfied: xyzservices>=2021.09.1 in /usr/local/lib/python3.10/dist-packages (from bokeh>=2.4.2->dask[complete]->xarray[complete]) (2024.4.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2>=2.10.3->dask[complete]->xarray[complete]) (2.1.5)\n", - "Building wheels for collected packages: asciitree\n", - " Building wheel for asciitree (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for asciitree: filename=asciitree-0.3.3-py3-none-any.whl size=5034 sha256=f4c9dc76bbe57736c6774f532134e8c8d677c7b73bc64d29866fa1c9bfd16312\n", - " Stored in directory: /root/.cache/pip/wheels/7f/4e/be/1171b40f43b918087657ec57cf3b81fa1a2e027d8755baa184\n", - "Successfully built asciitree\n", - "Installing collected packages: asciitree, numpy-groupies, numcodecs, lz4, fasteners, cftime, bottleneck, zarr, numbagg, netCDF4, nc-time-axis, flox\n", - "Successfully installed asciitree-0.3.3 bottleneck-1.3.8 cftime-1.6.3 fasteners-0.19 flox-0.9.6 lz4-4.3.3 nc-time-axis-1.4.1 netCDF4-1.6.5 numbagg-0.8.1 numcodecs-0.12.1 numpy-groupies-0.11.1 zarr-2.17.2\n", - "Collecting pandas==2.2.2\n", - " Downloading pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.0/13.0 MB\u001b[0m \u001b[31m22.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (1.25.2)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2023.4)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2024.1)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas==2.2.2) (1.16.0)\n", - "Installing collected packages: pandas\n", - " Attempting uninstall: pandas\n", - " Found existing installation: pandas 2.0.3\n", - " Uninstalling pandas-2.0.3:\n", - " Successfully uninstalled pandas-2.0.3\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-colab 1.0.0 requires pandas==2.0.3, but you have pandas 2.2.2 which is incompatible.\n", - "ibis-framework 8.0.0 requires pyarrow<16,>=2, but you have pyarrow 16.0.0 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed pandas-2.2.2\n" - ] - } - ], - "source": [ - "# only run once, then restart session and comment the next 3 lines\n", - "!pip install s3fs -U\n", - "!pip install pyarrow==16.0.0 -U\n", - "!pip install zarr xarray[complete]\n", - "!pip install pandas==2.2.2 -U" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "id": "zeETrs8zQdza", - "outputId": "5af2116e-0fd5-46a4-fc2c-d0a26d8fe24c", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading parquet_queries.py\n" - ] - } - ], - "source": [ - "import requests\n", - "import os\n", - "if not os.path.exists('parquet_queries.py'):\n", - " print('Downloading parquet_queries.py')\n", - " url = 'https://raw.githubusercontent.com/aodn/aodn_cloud_optimised/main/notebooks/parquet_queries.py'\n", - " response = requests.get(url)\n", - " with open('parquet_queries.py', 'w') as f:\n", - " f.write(response.text)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "id": "XzHxvlw8Qdzc" - }, - "outputs": [], - "source": [ - "from parquet_queries import create_time_filter, create_bbox_filter, query_unique_value, plot_spatial_extent, get_spatial_extent, get_temporal_extent, get_schema_metadata\n", - "import pyarrow.parquet as pq\n", - "import pyarrow.dataset as pds\n", - "import pyarrow as pa\n", - "import os\n", - "import pandas as pd\n", - "import pyarrow.compute as pc" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AycdabTJQdze" - }, - "source": [ - "## Location of the parquet dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "id": "F5rE3sRuQdzf" - }, - "outputs": [], - "source": [ - "BUCKET_OPTIMISED_DEFAULT=\"imos-data-lab-optimised\"\n", - "dname = f\"s3://{BUCKET_OPTIMISED_DEFAULT}/parquet/loz_test/{dataset_name}.parquet/\"\n", - "parquet_ds = pq.ParquetDataset(dname,partitioning='hive')" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9IWdsh9NQdzh" - }, - "source": [ - "# Understanding the Dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "DQWJBByXQdzh" - }, - "source": [ - "## Get partition keys\n", - "Partitioning in Parquet involves organising data files based on the values of one or more columns, known as partition keys. When data is written to Parquet files with partitioning enabled, the files are physically stored in a directory structure that reflects the partition keys. This directory structure makes it easier to retrieve and process specific subsets of data based on the partition keys." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "id": "oBVjvC1tQdzi", - "outputId": "9896acb9-168b-4038-babc-ea4048e1d7fc", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "timestamp: int32\n", - "PLATFORM_NUMBER: int32\n", - "polygon: string\n" - ] - } - ], - "source": [ - "dataset = pds.dataset(dname, format=\"parquet\", partitioning=\"hive\")\n", - "\n", - "partition_keys = dataset.partitioning.schema\n", - "print(partition_keys)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "nsP2odmAQdzk" - }, - "source": [ - "## List unique partition values" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "id": "HIZF5O3cQdzl", - "outputId": "abb16db6-2a9c-49d9-daf2-c00e1afb38ea", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "['2900887', '2901090']\n", - "CPU times: user 386 ms, sys: 6.69 ms, total: 392 ms\n", - "Wall time: 393 ms\n" - ] - } - ], - "source": [ - "%%time\n", - "unique_partition_value = query_unique_value(parquet_ds, 'PLATFORM_NUMBER')\n", - "print(list(unique_partition_value)[0:2]) # showing a subset only" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "B6mnQtRWQdzm" - }, - "source": [ - "## Visualise Spatial Extent of the dataset\n", - "In this section, we're plotting the polygons where data exists. This helps then with creating a bounding box where there is data" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "id": "owI5Rx0kQdzn", - "outputId": "d310299b-a056-4b71-f60f-05bfd25e00bb", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 318 - } - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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26G43bhbJDynT5+WJGVmZrocCQAACNbp06eVmJjYqX10iyqtlpYWHT9+XP369VNMTIzb4XQpr9erzMxMHTt2rFtVpNFv+m277thniX53934bY3T69GkNGjRIsbGduwunW4zwxMbGavDgwW6HEVYJCQnd6iK5iH53L92x392xzxL97m6+3O/OjuxcxE3LAADAeiQ8AADAeiQ8lvF4PFq9enW3my2eftNv23XHPkv0m36HTre4aRkAAHRvjPAAAADrkfAAAADrkfAAAADrkfAAAADrkfAAAADrkfBEsUceeUSTJ09WfHy8kpKSWm0TExNzybJlyxa/NpWVlZo4caI8Ho8uv/xylZeXd33wndCefh89elSzZs1SfHy8UlNT9cADD+j8+fN+baKt3181dOjQS45taWmpX5t9+/bp+uuvV+/evZWZmam1a9e6FG3obNiwQUOHDlXv3r2VnZ2tt956y+2QQmrNmjWXHNdRo0b5tn/xxRcqKChQcnKy+vbtq9mzZ6uhocHFiDvmD3/4g2666SYNGjRIMTExeumll/y2G2O0atUqZWRkqE+fPsrNzdWHH37o1+bPf/6z7rrrLiUkJCgpKUlz587VmTNnwtiL4LTV5/z8/EuO/YwZM/zaRFufJamkpERXX321+vXrp9TUVN1yyy2qqanxa9Oe87o9n+uBkPBEsebmZt12221auHBhwHZlZWWqq6vzLbfccotv26FDhzRr1izdcMMNqq6u1pIlS3Tffffptdde6+LoO66tfl+4cEGzZs1Sc3Ozdu/erc2bN6u8vFyrVq3ytYnGfrfmoYce8ju2ixcv9m3zer2aPn26srKytHfvXq1bt05r1qzRL37xCxcj7pytW7eqsLBQq1ev1h//+EeNGzdOeXl5OnHihNuhhdTo0aP9jusbb7zh27Z06VL95je/0fPPP69du3bp+PHjuvXWW12MtmPOnj2rcePGacOGDa1uX7t2rf793/9dGzdu1JtvvqnLLrtMeXl5+uKLL3xt7rrrLr333nuqqKjQb3/7W/3hD3/Q/Pnzw9WFoLXVZ0maMWOG37H/1a9+5bc92vosSbt27VJBQYH27NmjiooKnTt3TtOnT9fZs2d9bdo6r9vzud4mg6hXVlZmEhMTW90mybz44ouOz/3xj39sRo8e7bfu9ttvN3l5eSGMsGs49fvVV181sbGxpr6+3rfuySefNAkJCaapqckYE939vigrK8s8+uijjtufeOIJ079/f1+fjTFm+fLlZuTIkWGIrmtcc801pqCgwPf4woULZtCgQaakpMTFqEJr9erVZty4ca1uO3XqlOnVq5d5/vnnfes++OADI8lUVVWFKcLQ++rnVEtLi0lPTzfr1q3zrTt16pTxeDzmV7/6lTHGmPfff99IMm+//bavze9+9zsTExNjPvnkk7DF3lGtfTbPmTPHfOc733F8TrT3+aITJ04YSWbXrl3GmPad1+35XG8LIzzdQEFBgQYOHKhrrrlGmzZtkvnSd01WVVUpNzfXr31eXp6qqqrCHWbIVFVVacyYMUpLS/Oty8vLk9fr1XvvvedrY0O/S0tLlZycrAkTJmjdunV+w7tVVVWaMmWK4uLifOvy8vJUU1Ojv/zlL26E2ynNzc3au3ev33GLjY1Vbm5u1B23tnz44YcaNGiQhg8frrvuuktHjx6VJO3du1fnzp3zew9GjRqlIUOGWPUeHDp0SPX19X79TExMVHZ2tq+fVVVVSkpK0lVXXeVrk5ubq9jYWL355pthjzlUKisrlZqaqpEjR2rhwoU6efKkb5stfW5sbJQkDRgwQFL7zuv2fK63pVvMlt6dPfTQQ/rWt76l+Ph4/f73v9cPf/hDnTlzRvfff78kqb6+3u8EkqS0tDR5vV59/vnn6tOnjxthd4pTny5uC9Qmmvp9//33a+LEiRowYIB2796toqIi1dXVaf369ZL+1sdhw4b5PefL70P//v3DHnNnfPbZZ7pw4UKrx+3AgQMuRRV62dnZKi8v18iRI1VXV6fi4mJdf/312r9/v+rr6xUXF3fJvWtpaWm+c9sGF/vS2rH+8jWcmprqt71nz54aMGBA1L4XM2bM0K233qphw4bp4MGD+ud//mfNnDlTVVVV6tGjhxV9bmlp0ZIlS3TttdfqyiuvlKR2ndft+VxvCwlPhFmxYoX+9V//NWCbDz74wO8mxkBWrlzp+3nChAk6e/as1q1b50t4IkWo+x2tgnkfCgsLfevGjh2ruLg4/dM//ZNKSkq63fw7Npk5c6bv57Fjxyo7O1tZWVl67rnnoiIRR8d973vf8/08ZswYjR07ViNGjFBlZaWmTZvmYmShU1BQoP379/vdlxYuJDwRZtmyZcrPzw/YZvjw4R3ef3Z2th5++GE1NTXJ4/EoPT39kjvhGxoalJCQENYP11D2Oz09/ZLKnYt9TE9P9/0bCf3+qs68D9nZ2Tp//rwOHz6skSNHOvZR+r/3IZoMHDhQPXr0aLVP0dif9kpKStI3vvEN1dbW6tvf/raam5t16tQpv/8N2/YeXOxLQ0ODMjIyfOsbGho0fvx4X5uv3qx+/vx5/fnPf7bmvRg+fLgGDhyo2tpaTZs2Ler7vGjRIt+N1oMHD/atT09Pb/O8bs/neltIeCJMSkqKUlJSumz/1dXV6t+/v28EICcnR6+++qpfm4qKCuXk5HRZDK0JZb9zcnL0yCOP6MSJE77h34qKCiUkJOiKK67wtYmEfn9VZ96H6upqxcbG+vqck5Ojn/zkJzp37px69eol6W99HDlyZNT9OUuS4uLiNGnSJO3YscNXadjS0qIdO3Zo0aJF7gbXhc6cOaODBw/qnnvu0aRJk9SrVy/t2LFDs2fPliTV1NTo6NGjrp+7oTRs2DClp6drx44dvgTH6/XqzTff9FVn5uTk6NSpU9q7d68mTZokSXr99dfV0tKi7Oxst0IPqY8//lgnT570JX3R2mdjjBYvXqwXX3xRlZWVl/ypvT3ndXs+19sTCKLUkSNHzDvvvGOKi4tN3759zTvvvGPeeecdc/r0aWOMMa+88or5j//4D/OnP/3JfPjhh+aJJ54w8fHxZtWqVb59fPTRRyY+Pt488MAD5oMPPjAbNmwwPXr0MNu2bXOrW21qq9/nz583V155pZk+fbqprq4227ZtMykpKaaoqMi3j2js95ft3r3bPProo6a6utocPHjQPP300yYlJcV8//vf97U5deqUSUtLM/fcc4/Zv3+/2bJli4mPjzc///nPXYy8c7Zs2WI8Ho8pLy8377//vpk/f75JSkryq9yIdsuWLTOVlZXm0KFD5n/+539Mbm6uGThwoDlx4oQxxpgFCxaYIUOGmNdff9387//+r8nJyTE5OTkuRx2806dP+65dSWb9+vXmnXfeMUeOHDHGGFNaWmqSkpLMyy+/bPbt22e+853vmGHDhpnPP//ct48ZM2aYCRMmmDfffNO88cYb5utf/7q544473OpSmwL1+fTp0+ZHP/qRqaqqMocOHTLbt283EydONF//+tfNF1984dtHtPXZGGMWLlxoEhMTTWVlpamrq/Mtf/3rX31t2jqv2/O53hYSnig2Z84cI+mSZefOncaYv5Urjh8/3vTt29dcdtllZty4cWbjxo3mwoULfvvZuXOnGT9+vImLizPDhw83ZWVl4e9MENrqtzHGHD582MycOdP06dPHDBw40CxbtsycO3fObz/R1u8v27t3r8nOzjaJiYmmd+/e5pvf/Kb5l3/5F78PRmOMeffdd811111nPB6P+drXvmZKS0tdijh0Hn/8cTNkyBATFxdnrrnmGrNnzx63Qwqp22+/3WRkZJi4uDjzta99zdx+++2mtrbWt/3zzz83P/zhD03//v1NfHy8+cd//EdTV1fnYsQds3Pnzlav4zlz5hhj/laavnLlSpOWlmY8Ho+ZNm2aqamp8dvHyZMnzR133GH69u1rEhISzL333uv7j08kCtTnv/71r2b69OkmJSXF9OrVy2RlZZl58+ZdksxHW5+NMa32WZLfZ257zuv2fK4HEvP/gwEAALAW38MDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACsR8IDAACs9/8ANR0uhHWRMfwAAAAASUVORK5CYII=\n" - }, - "metadata": {} - } - ], - "source": [ - "plot_spatial_extent(parquet_ds)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "XqoUU0rSQdzn" - }, - "source": [ - "## Get Temporal Extent of the dataset" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "Toi10WECQdzJ" + }, + "source": [ + "## Access ARGO Core data in Parquet\n", + "\n", + "A jupyter notebook to show how to access and plot ARGO Core data available as a [Parquet](https://parquet.apache.org) dataset on S3" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "TJf1YgjtQdzS" + }, + "outputs": [], + "source": [ + "dataset_name = \"argo_core\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u-FcvQ0UQdzW" + }, + "source": [ + "## Install/Update packages and Load common functions" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "YB7J7Y8FQdzY", + "outputId": "cd691404-a147-4c3d-96f1-55e8d2e66427" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "j8hIUrEiQdzo" - }, - "source": [ - "Similary to the spatial extent, we're retrieving the minimum and maximum timestamp partition values of the dataset. This is not necessarely accurately representative of the TIME values, as the timestamp partition can be yearly/monthly... but is here to give an idea" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting s3fs\n", + " Downloading s3fs-2024.3.1-py3-none-any.whl (29 kB)\n", + "Collecting aiobotocore<3.0.0,>=2.5.4 (from s3fs)\n", + " Downloading aiobotocore-2.12.3-py3-none-any.whl (76 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.5/76.5 kB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting fsspec==2024.3.1 (from s3fs)\n", + " Downloading fsspec-2024.3.1-py3-none-any.whl (171 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m172.0/172.0 kB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from s3fs) (3.9.5)\n", + "Collecting botocore<1.34.70,>=1.34.41 (from aiobotocore<3.0.0,>=2.5.4->s3fs)\n", + " Downloading botocore-1.34.69-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m26.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: wrapt<2.0.0,>=1.10.10 in /usr/local/lib/python3.10/dist-packages (from aiobotocore<3.0.0,>=2.5.4->s3fs) (1.14.1)\n", + "Collecting aioitertools<1.0.0,>=0.5.1 (from aiobotocore<3.0.0,>=2.5.4->s3fs)\n", + " Downloading aioitertools-0.11.0-py3-none-any.whl (23 kB)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.3.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (23.2.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.4.1)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (6.0.5)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (1.9.4)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (4.0.3)\n", + "Collecting jmespath<2.0.0,>=0.7.1 (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs)\n", + " Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)\n", + "Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/local/lib/python3.10/dist-packages (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (2.8.2)\n", + "Requirement already satisfied: urllib3!=2.2.0,<3,>=1.25.4 in /usr/local/lib/python3.10/dist-packages (from botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (2.0.7)\n", + "Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.0->aiohttp!=4.0.0a0,!=4.0.0a1->s3fs) (3.7)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.34.70,>=1.34.41->aiobotocore<3.0.0,>=2.5.4->s3fs) (1.16.0)\n", + "Installing collected packages: jmespath, fsspec, aioitertools, botocore, aiobotocore, s3fs\n", + " Attempting uninstall: fsspec\n", + " Found existing installation: fsspec 2023.6.0\n", + " Uninstalling fsspec-2023.6.0:\n", + " Successfully uninstalled fsspec-2023.6.0\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "torch 2.2.1+cu121 requires nvidia-cublas-cu12==12.1.3.1; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cuda-cupti-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cuda-runtime-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cudnn-cu12==8.9.2.26; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cufft-cu12==11.0.2.54; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-curand-cu12==10.3.2.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cusolver-cu12==11.4.5.107; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-cusparse-cu12==12.1.0.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-nccl-cu12==2.19.3; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "torch 2.2.1+cu121 requires nvidia-nvtx-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", + "gcsfs 2023.6.0 requires fsspec==2023.6.0, but you have fsspec 2024.3.1 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed aiobotocore-2.12.3 aioitertools-0.11.0 botocore-1.34.69 fsspec-2024.3.1 jmespath-1.0.1 s3fs-2024.3.1\n", + "Collecting pyarrow==16.0.0\n", + " Downloading pyarrow-16.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (40.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.8/40.8 MB\u001b[0m \u001b[31m13.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.16.6 in /usr/local/lib/python3.10/dist-packages (from pyarrow==16.0.0) (1.25.2)\n", + "Installing collected packages: pyarrow\n", + " Attempting uninstall: pyarrow\n", + " Found existing installation: pyarrow 14.0.2\n", + " Uninstalling pyarrow-14.0.2:\n", + " Successfully uninstalled pyarrow-14.0.2\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "ibis-framework 8.0.0 requires pyarrow<16,>=2, but you have pyarrow 16.0.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed pyarrow-16.0.0\n", + "Collecting zarr\n", + " Downloading zarr-2.17.2-py3-none-any.whl (208 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m208.5/208.5 kB\u001b[0m \u001b[31m5.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: xarray[complete] in /usr/local/lib/python3.10/dist-packages (2023.7.0)\n", + "Collecting asciitree (from zarr)\n", + " Downloading asciitree-0.3.3.tar.gz (4.0 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: numpy>=1.23 in /usr/local/lib/python3.10/dist-packages (from zarr) (1.25.2)\n", + "Collecting numcodecs>=0.10.0 (from zarr)\n", + " Downloading numcodecs-0.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.7/7.7 MB\u001b[0m \u001b[31m27.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting fasteners (from zarr)\n", + " Downloading fasteners-0.19-py3-none-any.whl (18 kB)\n", + "Requirement already satisfied: pandas>=1.4 in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2.0.3)\n", + "Requirement already satisfied: packaging>=21.3 in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (24.0)\n", + "Collecting netCDF4 (from xarray[complete])\n", + " Downloading netCDF4-1.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.5/5.5 MB\u001b[0m \u001b[31m57.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: h5netcdf in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.3.0)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.11.4)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2024.3.1)\n", + "Collecting cftime (from xarray[complete])\n", + " Downloading cftime-1.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m71.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pooch in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (1.8.1)\n", + "Collecting bottleneck (from xarray[complete])\n", + " Downloading Bottleneck-1.3.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m354.1/354.1 kB\u001b[0m \u001b[31m39.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting numbagg (from xarray[complete])\n", + " Downloading numbagg-0.8.1-py3-none-any.whl (48 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m48.4/48.4 kB\u001b[0m \u001b[31m6.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting flox (from xarray[complete])\n", + " Downloading flox-0.9.6-py3-none-any.whl (62 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.9/62.9 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: dask[complete] in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (2023.8.1)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (3.7.1)\n", + "Requirement already satisfied: seaborn in /usr/local/lib/python3.10/dist-packages (from xarray[complete]) (0.13.1)\n", + "Collecting nc-time-axis (from xarray[complete])\n", + " Downloading nc_time_axis-1.4.1-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2023.4)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.4->xarray[complete]) (2024.1)\n", + "Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (8.1.7)\n", + "Requirement already satisfied: cloudpickle>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (2.2.1)\n", + "Requirement already satisfied: partd>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (1.4.1)\n", + "Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (6.0.1)\n", + "Requirement already satisfied: toolz>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (0.12.1)\n", + "Requirement already satisfied: importlib-metadata>=4.13.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (7.1.0)\n", + "Requirement already satisfied: pyarrow>=7.0 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (16.0.0)\n", + "Collecting lz4>=4.3.2 (from dask[complete]->xarray[complete])\n", + " Downloading lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m73.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting numpy-groupies>=0.9.19 (from flox->xarray[complete])\n", + " Downloading numpy_groupies-0.11.1-py3-none-any.whl (40 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.5/40.5 kB\u001b[0m \u001b[31m4.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf->xarray[complete]) (3.9.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (1.2.1)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (4.51.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (1.4.5)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (9.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->xarray[complete]) (3.1.2)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from netCDF4->xarray[complete]) (2024.2.2)\n", + "Requirement already satisfied: numba in /usr/local/lib/python3.10/dist-packages (from numbagg->xarray[complete]) (0.58.1)\n", + "Requirement already satisfied: platformdirs>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from pooch->xarray[complete]) (4.2.1)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.10/dist-packages (from pooch->xarray[complete]) (2.31.0)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=4.13.0->dask[complete]->xarray[complete]) (3.18.1)\n", + "Requirement already satisfied: locket in /usr/local/lib/python3.10/dist-packages (from partd>=1.2.0->dask[complete]->xarray[complete]) (1.0.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=1.4->xarray[complete]) (1.16.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (3.7)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.19.0->pooch->xarray[complete]) (2.0.7)\n", + "Requirement already satisfied: distributed==2023.8.1 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (2023.8.1)\n", + "Requirement already satisfied: bokeh>=2.4.2 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (3.3.4)\n", + "Requirement already satisfied: jinja2>=2.10.3 in /usr/local/lib/python3.10/dist-packages (from dask[complete]->xarray[complete]) (3.1.3)\n", + "Requirement already satisfied: msgpack>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (1.0.8)\n", + "Requirement already satisfied: psutil>=5.7.2 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (5.9.5)\n", + "Requirement already satisfied: sortedcontainers>=2.0.5 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (2.4.0)\n", + "Requirement already satisfied: tblib>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (3.0.0)\n", + "Requirement already satisfied: tornado>=6.0.4 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (6.3.3)\n", + "Requirement already satisfied: zict>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from distributed==2023.8.1->dask[complete]->xarray[complete]) (3.0.0)\n", + "Requirement already satisfied: llvmlite<0.42,>=0.41.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba->numbagg->xarray[complete]) (0.41.1)\n", + "Requirement already satisfied: xyzservices>=2021.09.1 in /usr/local/lib/python3.10/dist-packages (from bokeh>=2.4.2->dask[complete]->xarray[complete]) (2024.4.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2>=2.10.3->dask[complete]->xarray[complete]) (2.1.5)\n", + "Building wheels for collected packages: asciitree\n", + " Building wheel for asciitree (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for asciitree: filename=asciitree-0.3.3-py3-none-any.whl size=5034 sha256=f4c9dc76bbe57736c6774f532134e8c8d677c7b73bc64d29866fa1c9bfd16312\n", + " Stored in directory: /root/.cache/pip/wheels/7f/4e/be/1171b40f43b918087657ec57cf3b81fa1a2e027d8755baa184\n", + "Successfully built asciitree\n", + "Installing collected packages: asciitree, numpy-groupies, numcodecs, lz4, fasteners, cftime, bottleneck, zarr, numbagg, netCDF4, nc-time-axis, flox\n", + "Successfully installed asciitree-0.3.3 bottleneck-1.3.8 cftime-1.6.3 fasteners-0.19 flox-0.9.6 lz4-4.3.3 nc-time-axis-1.4.1 netCDF4-1.6.5 numbagg-0.8.1 numcodecs-0.12.1 numpy-groupies-0.11.1 zarr-2.17.2\n", + "Collecting pandas==2.2.2\n", + " Downloading pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.0/13.0 MB\u001b[0m \u001b[31m22.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (1.25.2)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2023.4)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas==2.2.2) (2024.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas==2.2.2) (1.16.0)\n", + "Installing collected packages: pandas\n", + " Attempting uninstall: pandas\n", + " Found existing installation: pandas 2.0.3\n", + " Uninstalling pandas-2.0.3:\n", + " Successfully uninstalled pandas-2.0.3\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==2.0.3, but you have pandas 2.2.2 which is incompatible.\n", + "ibis-framework 8.0.0 requires pyarrow<16,>=2, but you have pyarrow 16.0.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed pandas-2.2.2\n" + ] + } + ], + "source": [ + "# only run once, then restart session and comment the next 3 lines\n", + "!pip install s3fs -U\n", + "!pip install pyarrow==16.0.0 -U\n", + "!pip install zarr xarray[complete]\n", + "!pip install pandas==2.2.2 -U" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "zeETrs8zQdza", + "outputId": "5af2116e-0fd5-46a4-fc2c-d0a26d8fe24c" + }, + "outputs": [], + "source": [ + "import requests\n", + "import os\n", + "if not os.path.exists('parquet_queries.py'):\n", + " print('Downloading parquet_queries.py')\n", + " url = 'https://raw.githubusercontent.com/aodn/aodn_cloud_optimised/main/notebooks/parquet_queries.py'\n", + " response = requests.get(url)\n", + " with open('parquet_queries.py', 'w') as f:\n", + " f.write(response.text)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "XzHxvlw8Qdzc" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "id": "dLLrZLPRQdzo", - "outputId": "4eaebf32-a48c-4ef3-f221-d3ed71f2e269", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(datetime.datetime(1998, 1, 1, 0, 0), datetime.datetime(2026, 1, 1, 0, 0))" - ] - }, - "metadata": {}, - "execution_count": 10 - } - ], - "source": [ - "get_temporal_extent(parquet_ds)" - ] + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/lbesnard/miniforge3/envs/AodnCloudOptimised/lib/python3.10/site-packages/fuzzywuzzy/fuzz.py:11: UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning\n", + " warnings.warn('Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning')\n" + ] + } + ], + "source": [ + "from parquet_queries import create_time_filter, create_bbox_filter, query_unique_value, plot_spatial_extent, get_spatial_extent, get_temporal_extent, get_schema_metadata\n", + "import pyarrow.parquet as pq\n", + "import pyarrow.dataset as pds\n", + "import pyarrow as pa\n", + "import os\n", + "import pandas as pd\n", + "import pyarrow.compute as pc" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AycdabTJQdze" + }, + "source": [ + "## Location of the parquet dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "F5rE3sRuQdzf" + }, + "outputs": [], + "source": [ + "BUCKET_OPTIMISED_DEFAULT=\"imos-data-lab-optimised\"\n", + "dname = f\"s3://{BUCKET_OPTIMISED_DEFAULT}/cloud_optimised/cluster_testing/{dataset_name}.parquet/\"\n", + "parquet_ds = pq.ParquetDataset(dname,partitioning='hive')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9IWdsh9NQdzh" + }, + "source": [ + "# Understanding the Dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DQWJBByXQdzh" + }, + "source": [ + "## Get partition keys\n", + "Partitioning in Parquet involves organising data files based on the values of one or more columns, known as partition keys. When data is written to Parquet files with partitioning enabled, the files are physically stored in a directory structure that reflects the partition keys. This directory structure makes it easier to retrieve and process specific subsets of data based on the partition keys." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "oBVjvC1tQdzi", + "outputId": "9896acb9-168b-4038-babc-ea4048e1d7fc" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "MkK9kuQdQdzp" - }, - "source": [ - "## Read Metadata\n", - "\n", - "For all parquet dataset, we create a sidecar file in the root of the dataset named **_common_matadata**. This contains the variable attributes." - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "timestamp: int32\n", + "PLATFORM_NUMBER: int32\n", + "polygon: string\n" + ] + } + ], + "source": [ + "dataset = pds.dataset(dname, format=\"parquet\", partitioning=\"hive\")\n", + "\n", + "partition_keys = dataset.partitioning.schema\n", + "print(partition_keys)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "nsP2odmAQdzk" + }, + "source": [ + "## List unique partition values" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "HIZF5O3cQdzl", + "outputId": "abb16db6-2a9c-49d9-daf2-c00e1afb38ea" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "id": "MYOh_AiLQdzp", - "outputId": "d9578e1a-7a97-4c68-82b3-92a56e6cd765", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "{'DATA_TYPE': {'type': 'string',\n", - " 'long_name': 'Data type',\n", - " 'conventions': 'Argo reference table 1'},\n", - " 'FORMAT_VERSION': {'type': 'string', 'long_name': 'File format version'},\n", - " 'HANDBOOK_VERSION': {'type': 'string', 'long_name': 'Data handbook version'},\n", - " 'REFERENCE_DATE_TIME': {'type': 'string',\n", - " 'long_name': 'Date of reference for Julian days',\n", - " 'conventions': 'YYYYMMDDHHMISS'},\n", - " 'DATE_CREATION': {'type': 'string',\n", - " 'long_name': 'Date of file creation',\n", - " 'conventions': 'YYYYMMDDHHMISS'},\n", - " 'DATE_UPDATE': {'type': 'string',\n", - " 'long_name': 'Date of update of this file',\n", - " 'conventions': 'YYYYMMDDHHMISS'},\n", - " 'PLATFORM_NUMBER': {'type': 'string',\n", - " 'long_name': 'Float unique identifier',\n", - " 'conventions': 'WMO float identifier : A9IIIII'},\n", - " 'PROJECT_NAME': {'type': 'string', 'long_name': 'Name of the project'},\n", - " 'PI_NAME': {'type': 'string',\n", - " 'long_name': 'Name of the principal investigator'},\n", - " 'STATION_PARAMETERS': {'type': 'string',\n", - " 'long_name': 'List of available parameters for the station',\n", - " 'conventions': 'Argo reference table 3'},\n", - " 'CYCLE_NUMBER': {'type': 'double',\n", - " 'long_name': 'Float cycle number',\n", - " 'conventions': '0...N, 0 : launch cycle (if exists), 1 : first complete cycle'},\n", - " 'DIRECTION': {'type': 'string',\n", - " 'long_name': 'Direction of the station profiles',\n", - " 'conventions': 'A: ascending profiles, D: descending profiles'},\n", - " 'DATA_CENTRE': {'type': 'string'},\n", - " 'DC_REFERENCE': {'type': 'string',\n", - " 'long_name': 'Station unique identifier in data centre',\n", - " 'conventions': 'Data centre convention'},\n", - " 'DATA_STATE_INDICATOR': {'type': 'string',\n", - " 'long_name': 'Degree of processing the data have passed through',\n", - " 'conventions': 'Argo reference table 6'},\n", - " 'DATA_MODE': {'type': 'string',\n", - " 'long_name': 'Delayed mode or real time data',\n", - " 'conventions': 'R : real time; D : delayed mode; A : real time with adjustment'},\n", - " 'PLATFORM_TYPE': {'type': 'string',\n", - " 'long_name': 'Type of float',\n", - " 'conventions': 'Argo reference table 23'},\n", - " 'FLOAT_SERIAL_NO': {'type': 'string',\n", - " 'long_name': 'Serial number of the float'},\n", - " 'FIRMWARE_VERSION': {'type': 'string',\n", - " 'long_name': 'Instrument firmware version'},\n", - " 'WMO_INST_TYPE': {'type': 'string',\n", - " 'long_name': 'Coded instrument type',\n", - " 'conventions': 'Argo reference table 8'},\n", - " 'JULD': {'type': 'timestamp[ns]',\n", - " 'long_name': 'Julian day (UTC) of the station relative to REFERENCE_DATE_TIME',\n", - " 'standard_name': 'time',\n", - " 'conventions': 'Relative julian days with decimal part (as parts of day)',\n", - " 'resolution': 0.0,\n", - " 'axis': 'T'},\n", - " 'JULD_QC': {'type': 'string',\n", - " 'long_name': 'Quality on date and time',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'JULD_LOCATION': {'type': 'timestamp[ns]',\n", - " 'long_name': 'Julian day (UTC) of the location relative to REFERENCE_DATE_TIME',\n", - " 'conventions': 'Relative julian days with decimal part (as parts of day)',\n", - " 'resolution': 0.0},\n", - " 'LATITUDE': {'type': 'double',\n", - " 'long_name': 'Latitude of the station, best estimate',\n", - " 'standard_name': 'latitude',\n", - " 'units': 'degree_north',\n", - " 'valid_min': -90.0,\n", - " 'valid_max': 90.0,\n", - " 'axis': 'Y'},\n", - " 'LONGITUDE': {'type': 'double',\n", - " 'long_name': 'Longitude of the station, best estimate',\n", - " 'standard_name': 'longitude',\n", - " 'units': 'degree_east',\n", - " 'valid_min': -180.0,\n", - " 'valid_max': 180.0,\n", - " 'axis': 'X'},\n", - " 'POSITION_QC': {'type': 'string',\n", - " 'long_name': 'Quality on position (latitude and longitude)',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'POSITIONING_SYSTEM': {'type': 'string', 'long_name': 'Positioning system'},\n", - " 'PROFILE_PRES_QC': {'type': 'string',\n", - " 'long_name': 'Global quality flag of PRES profile',\n", - " 'conventions': 'Argo reference table 2a'},\n", - " 'PROFILE_TEMP_QC': {'type': 'string',\n", - " 'long_name': 'Global quality flag of TEMP profile',\n", - " 'conventions': 'Argo reference table 2a'},\n", - " 'PROFILE_PSAL_QC': {'type': 'string',\n", - " 'long_name': 'Global quality flag of PSAL profile',\n", - " 'conventions': 'Argo reference table 2a'},\n", - " 'VERTICAL_SAMPLING_SCHEME': {'type': 'string',\n", - " 'long_name': 'Vertical sampling scheme',\n", - " 'conventions': 'Argo reference table 16'},\n", - " 'CONFIG_MISSION_NUMBER': {'type': 'double',\n", - " 'long_name': 'Unique number denoting the missions performed by the float',\n", - " 'conventions': '1...N, 1 : first complete mission'},\n", - " 'PRES': {'type': 'float',\n", - " 'long_name': 'Sea water pressure, equals 0 at sea-level',\n", - " 'standard_name': 'sea_water_pressure',\n", - " 'units': 'decibar',\n", - " 'valid_min': 0.0,\n", - " 'valid_max': 12000.0,\n", - " 'C_format': '%7.1f',\n", - " 'FORTRAN_format': 'F7.1',\n", - " 'resolution': 1.0,\n", - " 'axis': 'Z'},\n", - " 'PRES_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'PRES_ADJUSTED': {'type': 'float',\n", - " 'long_name': 'Sea water pressure, equals 0 at sea-level',\n", - " 'standard_name': 'sea_water_pressure',\n", - " 'units': 'decibar',\n", - " 'valid_min': 0.0,\n", - " 'valid_max': 12000.0,\n", - " 'C_format': '%7.1f',\n", - " 'FORTRAN_format': 'F7.1',\n", - " 'resolution': 1.0,\n", - " 'axis': 'Z'},\n", - " 'PRES_ADJUSTED_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'PRES_ADJUSTED_ERROR': {'type': 'float',\n", - " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", - " 'units': 'decibar',\n", - " 'C_format': '%7.1f',\n", - " 'FORTRAN_format': 'F7.1',\n", - " 'resolution': 1.0},\n", - " 'TEMP': {'type': 'float',\n", - " 'long_name': 'Sea temperature in-situ ITS-90 scale',\n", - " 'standard_name': 'sea_water_temperature',\n", - " 'units': 'degree_Celsius',\n", - " 'valid_min': -2.5,\n", - " 'valid_max': 40.0,\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'TEMP_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'TEMP_ADJUSTED': {'type': 'float',\n", - " 'long_name': 'Sea temperature in-situ ITS-90 scale',\n", - " 'standard_name': 'sea_water_temperature',\n", - " 'units': 'degree_Celsius',\n", - " 'valid_min': -2.5,\n", - " 'valid_max': 40.0,\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'TEMP_ADJUSTED_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'TEMP_ADJUSTED_ERROR': {'type': 'float',\n", - " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", - " 'units': 'degree_Celsius',\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'PSAL': {'type': 'float',\n", - " 'long_name': 'Practical salinity',\n", - " 'standard_name': 'sea_water_salinity',\n", - " 'units': 'psu',\n", - " 'valid_min': 2.0,\n", - " 'valid_max': 41.0,\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'PSAL_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'PSAL_ADJUSTED': {'type': 'float',\n", - " 'long_name': 'Practical salinity',\n", - " 'standard_name': 'sea_water_salinity',\n", - " 'units': 'psu',\n", - " 'valid_min': 2.0,\n", - " 'valid_max': 41.0,\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'PSAL_ADJUSTED_QC': {'type': 'string',\n", - " 'long_name': 'quality flag',\n", - " 'conventions': 'Argo reference table 2'},\n", - " 'PSAL_ADJUSTED_ERROR': {'type': 'float',\n", - " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", - " 'units': 'psu',\n", - " 'C_format': '%9.3f',\n", - " 'FORTRAN_format': 'F9.3',\n", - " 'resolution': 0.0010000000474974513},\n", - " 'PARAMETER': {'type': 'string',\n", - " 'long_name': 'List of parameters with calibration information',\n", - " 'conventions': 'Argo reference table 3'},\n", - " 'SCIENTIFIC_CALIB_EQUATION': {'type': 'string',\n", - " 'long_name': 'Calibration equation for this parameter'},\n", - " 'SCIENTIFIC_CALIB_COEFFICIENT': {'type': 'string',\n", - " 'long_name': 'Calibration coefficients for this equation'},\n", - " 'SCIENTIFIC_CALIB_COMMENT': {'type': 'string',\n", - " 'long_name': 'Comment applying to this parameter calibration'},\n", - " 'SCIENTIFIC_CALIB_DATE': {'type': 'string',\n", - " 'long_name': 'Date of calibration',\n", - " 'conventions': 'YYYYMMDDHHMISS'},\n", - " 'HISTORY_INSTITUTION': {'type': 'string',\n", - " 'long_name': 'Institution which performed action',\n", - " 'conventions': 'Argo reference table 4'},\n", - " 'HISTORY_STEP': {'type': 'string',\n", - " 'long_name': 'Step in data processing',\n", - " 'conventions': 'Argo reference table 12'},\n", - " 'HISTORY_SOFTWARE': {'type': 'string',\n", - " 'long_name': 'Name of software which performed action',\n", - " 'conventions': 'Institution dependent'},\n", - " 'HISTORY_SOFTWARE_RELEASE': {'type': 'string',\n", - " 'long_name': 'Version/release of software which performed action',\n", - " 'conventions': 'Institution dependent'},\n", - " 'HISTORY_REFERENCE': {'type': 'string',\n", - " 'long_name': 'Reference of database',\n", - " 'conventions': 'Institution dependent'},\n", - " 'HISTORY_DATE': {'type': 'string',\n", - " 'long_name': 'Date the history record was created',\n", - " 'conventions': 'YYYYMMDDHHMISS'},\n", - " 'HISTORY_ACTION': {'type': 'string',\n", - " 'long_name': 'Action performed on data',\n", - " 'conventions': 'Argo reference table 7'},\n", - " 'HISTORY_PARAMETER': {'type': 'string',\n", - " 'long_name': 'Station parameter action is performed on',\n", - " 'conventions': 'Argo reference table 3'},\n", - " 'HISTORY_START_PRES': {'type': 'float',\n", - " 'long_name': 'Start pressure action applied on',\n", - " 'units': 'decibar'},\n", - " 'HISTORY_STOP_PRES': {'type': 'float',\n", - " 'long_name': 'Stop pressure action applied on',\n", - " 'units': 'decibar'},\n", - " 'HISTORY_PREVIOUS_VALUE': {'type': 'float',\n", - " 'long_name': 'Parameter/Flag previous value before action'},\n", - " 'HISTORY_QCTEST': {'type': 'string',\n", - " 'long_name': 'Documentation of tests performed, tests failed (in hex form)',\n", - " 'conventions': 'Write tests performed when ACTION=QCP$; tests failed when ACTION=QCF$'},\n", - " 'filename': {'type': 'string'},\n", - " 'timestamp': {'type': 'int64'},\n", - " 'polygon': {'type': 'string'},\n", - " 'dataset_metadata': {'metadata_uuid': '4402cb50-e20a-44ee-93e6-4728259250d2',\n", - " 'title': 'Argo Core'}}" - ] - }, - "metadata": {}, - "execution_count": 11 - } - ], - "source": [ - "# parquet_meta = pa.parquet.read_schema(os.path.join(dname + '_common_metadata')) # parquet metadata\n", - "get_schema_metadata(dname) # schema metadata" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "['4902486', '3901894']\n", + "CPU times: user 1.12 s, sys: 20.1 ms, total: 1.14 s\n", + "Wall time: 1.13 s\n" + ] + } + ], + "source": [ + "%%time\n", + "unique_partition_value = query_unique_value(parquet_ds, 'PLATFORM_NUMBER')\n", + "print(list(unique_partition_value)[0:2]) # showing a subset only" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "B6mnQtRWQdzm" + }, + "source": [ + "## Visualise Spatial Extent of the dataset\n", + "In this section, we're plotting the polygons where data exists. This helps then with creating a bounding box where there is data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 318 }, + "id": "owI5Rx0kQdzn", + "outputId": "d310299b-a056-4b71-f60f-05bfd25e00bb" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "EzmbSF4oQdzq" - }, - "source": [ - "# Data Query and Plot" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_spatial_extent(parquet_ds)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XqoUU0rSQdzn" + }, + "source": [ + "## Get Temporal Extent of the dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "j8hIUrEiQdzo" + }, + "source": [ + "Similary to the spatial extent, we're retrieving the minimum and maximum timestamp partition values of the dataset. This is not necessarely accurately representative of the TIME values, as the timestamp partition can be yearly/monthly... but is here to give an idea" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "dLLrZLPRQdzo", + "outputId": "4eaebf32-a48c-4ef3-f221-d3ed71f2e269" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "v6QvVVLsQdzq" - }, - "source": [ - "## Create a TIME and BoundingBox filter" + "data": { + "text/plain": [ + "(datetime.datetime(1997, 1, 1, 11, 0), datetime.datetime(2026, 1, 1, 11, 0))" ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_temporal_extent(parquet_ds)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MkK9kuQdQdzp" + }, + "source": [ + "## Read Metadata\n", + "\n", + "For all parquet dataset, we create a sidecar file in the root of the dataset named **_common_matadata**. This contains the variable attributes." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "MYOh_AiLQdzp", + "outputId": "d9578e1a-7a97-4c68-82b3-92a56e6cd765" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "id": "SQ8m5afVQdzq" - }, - "outputs": [], - "source": [ - "filter_time = create_time_filter(parquet_ds, date_start='2018-12-01', date_end='2023-01-01')\n", - "filter_geo = create_bbox_filter(parquet_ds, lat_min=-34, lat_max=-28, lon_min=151, lon_max=160)\n", - "\n", - "\n", - "filter = filter_geo & filter_time" + "data": { + "text/plain": [ + "{'DATA_TYPE': {'type': 'string',\n", + " 'long_name': 'Data type',\n", + " 'conventions': 'Argo reference table 1'},\n", + " 'FORMAT_VERSION': {'type': 'string', 'long_name': 'File format version'},\n", + " 'HANDBOOK_VERSION': {'type': 'string', 'long_name': 'Data handbook version'},\n", + " 'REFERENCE_DATE_TIME': {'type': 'string',\n", + " 'long_name': 'Date of reference for Julian days',\n", + " 'conventions': 'YYYYMMDDHHMISS'},\n", + " 'DATE_CREATION': {'type': 'string',\n", + " 'long_name': 'Date of file creation',\n", + " 'conventions': 'YYYYMMDDHHMISS'},\n", + " 'DATE_UPDATE': {'type': 'string',\n", + " 'long_name': 'Date of update of this file',\n", + " 'conventions': 'YYYYMMDDHHMISS'},\n", + " 'PLATFORM_NUMBER': {'type': 'string',\n", + " 'long_name': 'Float unique identifier',\n", + " 'conventions': 'WMO float identifier : A9IIIII'},\n", + " 'PROJECT_NAME': {'type': 'string', 'long_name': 'Name of the project'},\n", + " 'PI_NAME': {'type': 'string',\n", + " 'long_name': 'Name of the principal investigator'},\n", + " 'STATION_PARAMETERS': {'type': 'string',\n", + " 'long_name': 'List of available parameters for the station',\n", + " 'conventions': 'Argo reference table 3'},\n", + " 'CYCLE_NUMBER': {'type': 'double',\n", + " 'long_name': 'Float cycle number',\n", + " 'conventions': '0...N, 0 : launch cycle (if exists), 1 : first complete cycle'},\n", + " 'DIRECTION': {'type': 'string',\n", + " 'long_name': 'Direction of the station profiles',\n", + " 'conventions': 'A: ascending profiles, D: descending profiles'},\n", + " 'DATA_CENTRE': {'type': 'string',\n", + " 'long_name': 'Data centre in charge of float data processing',\n", + " 'conventions': 'Argo reference table 4'},\n", + " 'DC_REFERENCE': {'type': 'string',\n", + " 'long_name': 'Station unique identifier in data centre',\n", + " 'conventions': 'Data centre convention'},\n", + " 'DATA_STATE_INDICATOR': {'type': 'string',\n", + " 'long_name': 'Degree of processing the data have passed through',\n", + " 'conventions': 'Argo reference table 6'},\n", + " 'DATA_MODE': {'type': 'string',\n", + " 'long_name': 'Delayed mode or real time data',\n", + " 'conventions': 'R : real time; D : delayed mode; A : real time with adjustment'},\n", + " 'PLATFORM_TYPE': {'type': 'string',\n", + " 'long_name': 'Type of float',\n", + " 'conventions': 'Argo reference table 23'},\n", + " 'FLOAT_SERIAL_NO': {'type': 'string',\n", + " 'long_name': 'Serial number of the float'},\n", + " 'FIRMWARE_VERSION': {'type': 'string',\n", + " 'long_name': 'Instrument firmware version'},\n", + " 'WMO_INST_TYPE': {'type': 'string',\n", + " 'long_name': 'Coded instrument type',\n", + " 'conventions': 'Argo reference table 8'},\n", + " 'JULD': {'type': 'timestamp[ns]',\n", + " 'long_name': 'Julian day (UTC) of the station relative to REFERENCE_DATE_TIME',\n", + " 'standard_name': 'time',\n", + " 'conventions': 'Relative julian days with decimal part (as parts of day)',\n", + " 'resolution': 0.0,\n", + " 'axis': 'T'},\n", + " 'JULD_QC': {'type': 'string',\n", + " 'long_name': 'Quality on date and time',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'JULD_LOCATION': {'type': 'timestamp[ns]',\n", + " 'long_name': 'Julian day (UTC) of the location relative to REFERENCE_DATE_TIME',\n", + " 'conventions': 'Relative julian days with decimal part (as parts of day)',\n", + " 'resolution': 0.0},\n", + " 'LATITUDE': {'type': 'double',\n", + " 'long_name': 'Latitude of the station, best estimate',\n", + " 'standard_name': 'latitude',\n", + " 'units': 'degree_north',\n", + " 'valid_min': -90.0,\n", + " 'valid_max': 90.0,\n", + " 'axis': 'Y'},\n", + " 'LONGITUDE': {'type': 'double',\n", + " 'long_name': 'Longitude of the station, best estimate',\n", + " 'standard_name': 'longitude',\n", + " 'units': 'degree_east',\n", + " 'valid_min': -180.0,\n", + " 'valid_max': 180.0,\n", + " 'axis': 'X'},\n", + " 'POSITION_QC': {'type': 'string',\n", + " 'long_name': 'Quality on position (latitude and longitude)',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'POSITIONING_SYSTEM': {'type': 'string', 'long_name': 'Positioning system'},\n", + " 'PROFILE_PRES_QC': {'type': 'string',\n", + " 'long_name': 'Global quality flag of PRES profile',\n", + " 'conventions': 'Argo reference table 2a'},\n", + " 'PROFILE_TEMP_QC': {'type': 'string',\n", + " 'long_name': 'Global quality flag of TEMP profile',\n", + " 'conventions': 'Argo reference table 2a'},\n", + " 'PROFILE_PSAL_QC': {'type': 'string',\n", + " 'long_name': 'Global quality flag of PSAL profile',\n", + " 'conventions': 'Argo reference table 2a'},\n", + " 'VERTICAL_SAMPLING_SCHEME': {'type': 'string',\n", + " 'long_name': 'Vertical sampling scheme',\n", + " 'conventions': 'Argo reference table 16'},\n", + " 'CONFIG_MISSION_NUMBER': {'type': 'double',\n", + " 'long_name': 'Unique number denoting the missions performed by the float',\n", + " 'conventions': '1...N, 1 : first complete mission'},\n", + " 'PRES': {'type': 'float',\n", + " 'long_name': 'Sea water pressure, equals 0 at sea-level',\n", + " 'standard_name': 'sea_water_pressure',\n", + " 'units': 'decibar',\n", + " 'valid_min': 0.0,\n", + " 'valid_max': 12000.0,\n", + " 'C_format': '%7.1f',\n", + " 'FORTRAN_format': 'F7.1',\n", + " 'resolution': 1.0,\n", + " 'axis': 'Z'},\n", + " 'PRES_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'PRES_ADJUSTED': {'type': 'float',\n", + " 'long_name': 'Sea water pressure, equals 0 at sea-level',\n", + " 'standard_name': 'sea_water_pressure',\n", + " 'units': 'decibar',\n", + " 'valid_min': 0.0,\n", + " 'valid_max': 12000.0,\n", + " 'C_format': '%7.1f',\n", + " 'FORTRAN_format': 'F7.1',\n", + " 'resolution': 1.0,\n", + " 'axis': 'Z'},\n", + " 'PRES_ADJUSTED_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'PRES_ADJUSTED_ERROR': {'type': 'float',\n", + " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", + " 'units': 'decibar',\n", + " 'C_format': '%7.1f',\n", + " 'FORTRAN_format': 'F7.1',\n", + " 'resolution': 1.0},\n", + " 'TEMP': {'type': 'float',\n", + " 'long_name': 'Sea temperature in-situ ITS-90 scale',\n", + " 'standard_name': 'sea_water_temperature',\n", + " 'units': 'degree_Celsius',\n", + " 'valid_min': -2.5,\n", + " 'valid_max': 40.0,\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'TEMP_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'TEMP_ADJUSTED': {'type': 'float',\n", + " 'long_name': 'Sea temperature in-situ ITS-90 scale',\n", + " 'standard_name': 'sea_water_temperature',\n", + " 'units': 'degree_Celsius',\n", + " 'valid_min': -2.5,\n", + " 'valid_max': 40.0,\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'TEMP_ADJUSTED_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'TEMP_ADJUSTED_ERROR': {'type': 'float',\n", + " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", + " 'units': 'degree_Celsius',\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'PSAL': {'type': 'float',\n", + " 'long_name': 'Practical salinity',\n", + " 'standard_name': 'sea_water_salinity',\n", + " 'units': 'psu',\n", + " 'valid_min': 2.0,\n", + " 'valid_max': 41.0,\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'PSAL_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'PSAL_ADJUSTED': {'type': 'float',\n", + " 'long_name': 'Practical salinity',\n", + " 'standard_name': 'sea_water_salinity',\n", + " 'units': 'psu',\n", + " 'valid_min': 2.0,\n", + " 'valid_max': 41.0,\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'PSAL_ADJUSTED_QC': {'type': 'string',\n", + " 'long_name': 'quality flag',\n", + " 'conventions': 'Argo reference table 2'},\n", + " 'PSAL_ADJUSTED_ERROR': {'type': 'float',\n", + " 'long_name': 'Contains the error on the adjusted values as determined by the delayed mode QC process',\n", + " 'units': 'psu',\n", + " 'C_format': '%9.3f',\n", + " 'FORTRAN_format': 'F9.3',\n", + " 'resolution': 0.0010000000474974513},\n", + " 'PARAMETER': {'type': 'string',\n", + " 'long_name': 'List of parameters with calibration information',\n", + " 'conventions': 'Argo reference table 3'},\n", + " 'SCIENTIFIC_CALIB_EQUATION': {'type': 'string',\n", + " 'long_name': 'Calibration equation for this parameter'},\n", + " 'SCIENTIFIC_CALIB_COEFFICIENT': {'type': 'string',\n", + " 'long_name': 'Calibration coefficients for this equation'},\n", + " 'SCIENTIFIC_CALIB_COMMENT': {'type': 'string',\n", + " 'long_name': 'Comment applying to this parameter calibration'},\n", + " 'SCIENTIFIC_CALIB_DATE': {'type': 'string',\n", + " 'long_name': 'Date of calibration',\n", + " 'conventions': 'YYYYMMDDHHMISS'},\n", + " 'HISTORY_INSTITUTION': {'type': 'string',\n", + " 'long_name': 'Institution which performed action',\n", + " 'conventions': 'Argo reference table 4'},\n", + " 'HISTORY_STEP': {'type': 'string',\n", + " 'long_name': 'Step in data processing',\n", + " 'conventions': 'Argo reference table 12'},\n", + " 'HISTORY_SOFTWARE': {'type': 'string',\n", + " 'long_name': 'Name of software which performed action',\n", + " 'conventions': 'Institution dependent'},\n", + " 'HISTORY_SOFTWARE_RELEASE': {'type': 'string',\n", + " 'long_name': 'Version/release of software which performed action',\n", + " 'conventions': 'Institution dependent'},\n", + " 'HISTORY_REFERENCE': {'type': 'string',\n", + " 'long_name': 'Reference of database',\n", + " 'conventions': 'Institution dependent'},\n", + " 'HISTORY_DATE': {'type': 'string',\n", + " 'long_name': 'Date the history record was created',\n", + " 'conventions': 'YYYYMMDDHHMISS'},\n", + " 'HISTORY_ACTION': {'type': 'string',\n", + " 'long_name': 'Action performed on data',\n", + " 'conventions': 'Argo reference table 7'},\n", + " 'HISTORY_PARAMETER': {'type': 'string',\n", + " 'long_name': 'Station parameter action is performed on',\n", + " 'conventions': 'Argo reference table 3'},\n", + " 'HISTORY_START_PRES': {'type': 'float',\n", + " 'long_name': 'Start pressure action applied on',\n", + " 'units': 'decibar'},\n", + " 'HISTORY_STOP_PRES': {'type': 'float',\n", + " 'long_name': 'Stop pressure action applied on',\n", + " 'units': 'decibar'},\n", + " 'HISTORY_PREVIOUS_VALUE': {'type': 'float',\n", + " 'long_name': 'Parameter/Flag previous value before action'},\n", + " 'HISTORY_QCTEST': {'type': 'string',\n", + " 'long_name': 'Documentation of tests performed, tests failed (in hex form)',\n", + " 'conventions': 'Write tests performed when ACTION=QCP$; tests failed when ACTION=QCF$'},\n", + " 'filename': {'type': 'string'},\n", + " 'timestamp': {'type': 'int64'},\n", + " 'polygon': {'type': 'string'},\n", + " 'dataset_metadata': {'metadata_uuid': '4402cb50-e20a-44ee-93e6-4728259250d2',\n", + " 'title': 'Argo Core'}}" ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# parquet_meta = pa.parquet.read_schema(os.path.join(dname + '_common_metadata')) # parquet metadata\n", + "get_schema_metadata(dname) # schema metadata" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EzmbSF4oQdzq" + }, + "source": [ + "# Data Query and Plot" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "v6QvVVLsQdzq" + }, + "source": [ + "## Create a TIME and BoundingBox filter" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "SQ8m5afVQdzq" + }, + "outputs": [], + "source": [ + "filter_time = create_time_filter(parquet_ds, date_start='2018-12-01', date_end='2023-01-01')\n", + "filter_geo = create_bbox_filter(parquet_ds, lat_min=-34, lat_max=-28, lon_min=151, lon_max=160)\n", + "\n", + "\n", + "filter = filter_geo & filter_time" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "LYGO9pRwQdzq", + "outputId": "c889f934-ded6-4c19-d3a3-49580d933bba" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "id": "LYGO9pRwQdzq", - "outputId": "c889f934-ded6-4c19-d3a3-49580d933bba", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n", - "RangeIndex: 858669 entries, 0 to 858668\n", - "Data columns (total 67 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 PROJECT_NAME 858669 non-null object \n", - " 1 PI_NAME 858669 non-null object \n", - " 2 CYCLE_NUMBER 858669 non-null float64 \n", - " 3 DIRECTION 858669 non-null object \n", - " 4 DATA_CENTRE 858669 non-null object \n", - " 5 DC_REFERENCE 858669 non-null object \n", - " 6 DATA_STATE_INDICATOR 858669 non-null object \n", - " 7 DATA_MODE 858669 non-null object \n", - " 8 PLATFORM_TYPE 858669 non-null object \n", - " 9 FLOAT_SERIAL_NO 858669 non-null object \n", - " 10 FIRMWARE_VERSION 858669 non-null object \n", - " 11 WMO_INST_TYPE 858669 non-null object \n", - " 12 JULD 858669 non-null datetime64[ns]\n", - " 13 JULD_QC 858669 non-null object \n", - " 14 JULD_LOCATION 858669 non-null datetime64[ns]\n", - " 15 LATITUDE 858669 non-null float64 \n", - " 16 LONGITUDE 858669 non-null float64 \n", - " 17 POSITION_QC 858669 non-null object \n", - " 18 POSITIONING_SYSTEM 858669 non-null object \n", - " 19 PROFILE_PRES_QC 858669 non-null object \n", - " 20 PROFILE_TEMP_QC 858669 non-null object \n", - " 21 PROFILE_PSAL_QC 858669 non-null object \n", - " 22 VERTICAL_SAMPLING_SCHEME 858669 non-null object \n", - " 23 CONFIG_MISSION_NUMBER 858669 non-null float64 \n", - " 24 PRES 783293 non-null float32 \n", - " 25 PRES_QC 783293 non-null object \n", - " 26 PRES_ADJUSTED 782327 non-null float32 \n", - " 27 PRES_ADJUSTED_QC 783293 non-null object \n", - " 28 PRES_ADJUSTED_ERROR 685287 non-null float32 \n", - " 29 TEMP 783293 non-null float32 \n", - " 30 TEMP_QC 783293 non-null object \n", - " 31 TEMP_ADJUSTED 782263 non-null float32 \n", - " 32 TEMP_ADJUSTED_QC 783293 non-null object \n", - " 33 TEMP_ADJUSTED_ERROR 685223 non-null float32 \n", - " 34 PSAL 783293 non-null float32 \n", - " 35 PSAL_QC 783293 non-null object \n", - " 36 PSAL_ADJUSTED 724184 non-null float32 \n", - " 37 PSAL_ADJUSTED_QC 783293 non-null object \n", - " 38 PSAL_ADJUSTED_ERROR 627144 non-null float32 \n", - " 39 filename 858669 non-null object \n", - " 40 DATA_TYPE 0 non-null object \n", - " 41 FORMAT_VERSION 0 non-null object \n", - " 42 HANDBOOK_VERSION 0 non-null object \n", - " 43 REFERENCE_DATE_TIME 0 non-null object \n", - " 44 DATE_CREATION 0 non-null object \n", - " 45 DATE_UPDATE 0 non-null object \n", - " 46 STATION_PARAMETERS 0 non-null object \n", - " 47 PARAMETER 0 non-null object \n", - " 48 SCIENTIFIC_CALIB_EQUATION 0 non-null object \n", - " 49 SCIENTIFIC_CALIB_COEFFICIENT 0 non-null object \n", - " 50 SCIENTIFIC_CALIB_COMMENT 0 non-null object \n", - " 51 SCIENTIFIC_CALIB_DATE 0 non-null object \n", - " 52 HISTORY_INSTITUTION 0 non-null object \n", - " 53 HISTORY_STEP 0 non-null object \n", - " 54 HISTORY_SOFTWARE 0 non-null object \n", - " 55 HISTORY_SOFTWARE_RELEASE 0 non-null object \n", - " 56 HISTORY_REFERENCE 0 non-null object \n", - " 57 HISTORY_DATE 0 non-null object \n", - " 58 HISTORY_ACTION 0 non-null object \n", - " 59 HISTORY_PARAMETER 0 non-null object \n", - " 60 HISTORY_START_PRES 0 non-null float32 \n", - " 61 HISTORY_STOP_PRES 0 non-null float32 \n", - " 62 HISTORY_PREVIOUS_VALUE 0 non-null float32 \n", - " 63 HISTORY_QCTEST 0 non-null object \n", - " 64 timestamp 858669 non-null category \n", - " 65 PLATFORM_NUMBER 858669 non-null category \n", - " 66 polygon 858669 non-null category \n", - "dtypes: category(3), datetime64[ns](2), float32(12), float64(4), object(46)\n", - "memory usage: 384.2+ MB\n", - "CPU times: user 43 s, sys: 2.4 s, total: 45.4 s\n", - "Wall time: 2min 4s\n" - ] - } - ], - "source": [ - "%%time\n", - "# using pandas instead of pyarrow so that filters can directly be applied to the data, and not just the partition\n", - "df = pd.read_parquet(dname, engine='pyarrow',filters=filter)\n", - "df.info()" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 1039011 entries, 0 to 1039010\n", + "Data columns (total 67 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 PROJECT_NAME 1039011 non-null object \n", + " 1 PI_NAME 1039011 non-null object \n", + " 2 CYCLE_NUMBER 1039011 non-null float64 \n", + " 3 DIRECTION 1039011 non-null object \n", + " 4 DATA_CENTRE 1039011 non-null object \n", + " 5 DC_REFERENCE 1039011 non-null object \n", + " 6 DATA_STATE_INDICATOR 1039011 non-null object \n", + " 7 DATA_MODE 1039011 non-null object \n", + " 8 PLATFORM_TYPE 1039011 non-null object \n", + " 9 FLOAT_SERIAL_NO 1039011 non-null object \n", + " 10 FIRMWARE_VERSION 1039011 non-null object \n", + " 11 WMO_INST_TYPE 1039011 non-null object \n", + " 12 JULD 1039011 non-null datetime64[ns]\n", + " 13 JULD_QC 1039011 non-null object \n", + " 14 JULD_LOCATION 1039011 non-null datetime64[ns]\n", + " 15 LATITUDE 1039011 non-null float64 \n", + " 16 LONGITUDE 1039011 non-null float64 \n", + " 17 POSITION_QC 1039011 non-null object \n", + " 18 POSITIONING_SYSTEM 1039011 non-null object \n", + " 19 PROFILE_PRES_QC 1039011 non-null object \n", + " 20 PROFILE_TEMP_QC 1039011 non-null object \n", + " 21 VERTICAL_SAMPLING_SCHEME 1039011 non-null object \n", + " 22 CONFIG_MISSION_NUMBER 1039011 non-null float64 \n", + " 23 PRES 951351 non-null float32 \n", + " 24 PRES_QC 951351 non-null object \n", + " 25 PRES_ADJUSTED 950345 non-null float32 \n", + " 26 PRES_ADJUSTED_QC 951351 non-null object \n", + " 27 PRES_ADJUSTED_ERROR 934443 non-null float32 \n", + " 28 TEMP 951351 non-null float32 \n", + " 29 TEMP_QC 951351 non-null object \n", + " 30 TEMP_ADJUSTED 949907 non-null float32 \n", + " 31 TEMP_ADJUSTED_QC 951351 non-null object \n", + " 32 TEMP_ADJUSTED_ERROR 934005 non-null float32 \n", + " 33 filename 1039011 non-null object \n", + " 34 DATA_TYPE 0 non-null object \n", + " 35 FORMAT_VERSION 0 non-null object \n", + " 36 HANDBOOK_VERSION 0 non-null object \n", + " 37 REFERENCE_DATE_TIME 0 non-null object \n", + " 38 DATE_CREATION 0 non-null object \n", + " 39 DATE_UPDATE 0 non-null object \n", + " 40 STATION_PARAMETERS 0 non-null object \n", + " 41 PROFILE_PSAL_QC 1039011 non-null object \n", + " 42 PSAL 951351 non-null float32 \n", + " 43 PSAL_QC 951351 non-null object \n", + " 44 PSAL_ADJUSTED 886170 non-null float32 \n", + " 45 PSAL_ADJUSTED_QC 951351 non-null object \n", + " 46 PSAL_ADJUSTED_ERROR 870268 non-null float32 \n", + " 47 PARAMETER 0 non-null object \n", + " 48 SCIENTIFIC_CALIB_EQUATION 0 non-null object \n", + " 49 SCIENTIFIC_CALIB_COEFFICIENT 0 non-null object \n", + " 50 SCIENTIFIC_CALIB_COMMENT 0 non-null object \n", + " 51 SCIENTIFIC_CALIB_DATE 0 non-null object \n", + " 52 HISTORY_INSTITUTION 0 non-null object \n", + " 53 HISTORY_STEP 0 non-null object \n", + " 54 HISTORY_SOFTWARE 0 non-null object \n", + " 55 HISTORY_SOFTWARE_RELEASE 0 non-null object \n", + " 56 HISTORY_REFERENCE 0 non-null object \n", + " 57 HISTORY_DATE 0 non-null object \n", + " 58 HISTORY_ACTION 0 non-null object \n", + " 59 HISTORY_PARAMETER 0 non-null object \n", + " 60 HISTORY_START_PRES 0 non-null float32 \n", + " 61 HISTORY_STOP_PRES 0 non-null float32 \n", + " 62 HISTORY_PREVIOUS_VALUE 0 non-null float32 \n", + " 63 HISTORY_QCTEST 0 non-null object \n", + " 64 timestamp 1039011 non-null category \n", + " 65 PLATFORM_NUMBER 1039011 non-null category \n", + " 66 polygon 1039011 non-null category \n", + "dtypes: category(3), datetime64[ns](2), float32(12), float64(4), object(46)\n", + "memory usage: 465.2+ MB\n", + "CPU times: user 1min 51s, sys: 2.67 s, total: 1min 53s\n", + "Wall time: 2min 46s\n" + ] + } + ], + "source": [ + "%%time\n", + "# using pandas instead of pyarrow so that filters can directly be applied to the data, and not just the partition\n", + "df = pd.read_parquet(dname, engine='pyarrow',filters=filter)\n", + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 489 }, + "id": "0VG-PwmIQdzs", + "outputId": "fc029ab9-94e4-4c34-ba88-2e3241c5bf63" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "id": "0VG-PwmIQdzs", - "outputId": "fc029ab9-94e4-4c34-ba88-2e3241c5bf63", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 489 - } - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 14 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAHHCAYAAABEEKc/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADRFElEQVR4nOydd3wUdf7/X58p29ILSQg1gKAgoOKJWBCkqyCKBctRRGx4HnpnQe9E9Dw89Wv/CWehqCienHo2QEAQC2JFsKECIi2F9Gydmc/n98fszM5sSbJJICF8nvfYx+3MfOYzn1nizmvflTDGGDgcDofD4XA4JkJrL4DD4XA4HA6nrcEFEofD4XA4HE4UXCBxOBwOh8PhRMEFEofD4XA4HE4UXCBxOBwOh8PhRMEFEofD4XA4HE4UXCBxOBwOh8PhRMEFEofD4XA4HE4UXCBxOBwOh8PhRMEFEodzlPPQQw+hR48eEEURJ5xwQmsvp8XZsGEDCCFYsWJFk85fsmQJCCH47bffWnZhLUj37t0xbdq01l4Gh9Ou4AKJ0ywIIY16bdiwobWX2mo8/fTTWLJkSWsvIy7vv/8+brvtNpx++ulYvHgx/vnPf7b2kjgJ+PTTT3HPPfegqqqqtZfC4RwVSK29AM6RzYsvvmjbfuGFF7BmzZqY/ccdd9zhXFab4umnn0Zubm6b/IX/wQcfQBAEPP/883A4HK29HE49fPrpp5g3bx6mTZuGzMxM27Ht27dDEPjvXQ6nJeECidMsrrzyStv2Z599hjVr1sTsby8wxhAIBOB2u9vFOkpLS+F2u1tMHLWVz+dow+l0tvYSOJx2B//JwTnkUErx2GOPoV+/fnC5XMjPz8e1116LyspK27ju3bvjvPPOw4YNG3DyySfD7Xajf//+pnvu9ddfR//+/eFyuTBo0CB88803tvOnTZuG1NRU7Ny5E2PGjEFKSgoKCwtx7733gjHWrDWtXr3aXNO///1vAMDixYtx9tlnIy8vD06nE3379sWCBQtizv/+++/x4Ycfmu7GYcOGAQDuueceEEJiPq94MS/1raOqqgqzZ89Gly5d4HQ60atXL/zrX/8CpbTefxdCCBYvXgyv12uuzXAFqqqK++67Dz179oTT6UT37t1x5513IhgMNvrzScTmzZsxduxYZGRkwOPx4KyzzsInn3xiG7N7927ccMMN6NOnD9xuN3JycnDxxRfHjQOqqqrCzTffjO7du8PpdKJz586YMmUKDh48aBtHKcX999+Pzp07w+VyYcSIEfj111/rXWt9PP300+jXrx+cTicKCwsxa9asuO6vzZs345xzzkFWVhZSUlIwYMAAPP744+bxrVu3Ytq0aejRowdcLhcKCgpw1VVXoby83Bxzzz334NZbbwUAFBUVmf9exucRLwZp586duPjii5GdnQ2Px4NTTz0V7777rm2MEZ/1n//8p0U/Gw6nPcAtSJxDzrXXXoslS5Zg+vTpuOmmm7Br1y489dRT+Oabb/DJJ59AlmVz7K+//orLL78c1157La688ko8/PDDGD9+PBYuXIg777wTN9xwAwBg/vz5uOSSS2JcC5qmYezYsTj11FPx4IMPYtWqVZg7dy5UVcW9997bpDVt374dl112Ga699lrMnDkTffr0AQAsWLAA/fr1w4QJEyBJEt5++23ccMMNoJRi1qxZAIDHHnsMf/rTn5Camoq77roLAJCfn9+kzzHeOnw+H8466yzs27cP1157Lbp27YpPP/0Uc+bMwYEDB/DYY48lnO/FF1/EM888g88//xzPPfccAOC0004DAFx99dVYunQpLrroIvzlL3/B5s2bMX/+fPz444944403GlxXIj744AOMGzcOgwYNwty5cyEIgik0P/roI5xyyikAgC+++AKffvopJk+ejM6dO+O3337DggULMGzYMPzwww/weDwAgLq6Opx55pn48ccfcdVVV+Gkk07CwYMH8dZbb2Hv3r3Izc01r/3AAw9AEAT89a9/RXV1NR588EFcccUV2Lx5c9L/Fvfccw/mzZuHkSNH4vrrr8f27duxYMECfPHFF7a/nzVr1uC8885Dx44d8ec//xkFBQX48ccf8c477+DPf/6zOWbnzp2YPn06CgoK8P333+OZZ57B999/j88++wyEEFx44YX4+eef8corr+DRRx8176tDhw5x11dSUoLTTjsNPp8PN910E3JycrB06VJMmDABK1aswAUXXGAb35KfDYfTbmAcTgsya9YsZv2z+uijjxgAtmzZMtu4VatWxezv1q0bA8A+/fRTc9/q1asZAOZ2u9nu3bvN/f/+978ZALZ+/Xpz39SpUxkA9qc//cncRyll5557LnM4HKysrKzJa1q1alXMvfp8vph9Y8aMYT169LDt69evHzvr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Ph2dOnXCvn37sH79eqSnp+Ptt98GAJx33nl48cUXkZGRgb59+2LTpk1Yu3YtcnJyYu5/xYoVuPjii3HVVVdh0KBBqKiowFtvvYWFCxdi4MCBTVprfXTo0AFz5szBvHnzMHbsWEyYMAHbt2/H008/jT/84Q9mkVRBELBgwQKMHz8eJ5xwAqZPn46OHTvip59+wvfff4/Vq1cjPT0dQ4cOxYMPPghFUdCpUye8//772LVrV8x1Bw0aBAC46667MHnyZMiyjPHjx5vCycodd9yBV155BePGjcNNN92E7OxsLF26FLt27cJ///tfXnWbw2kMrZQ9x2mnRKf5GzzzzDNs0KBBzO12s7S0NNa/f3922223sf3795tjunXrxs4999yYcwGwWbNm2fbt2rWLAWAPPfSQuc9IWd+xYwcbPXo083g8LD8/n82dO9eWjt0Sa2KMsbfeeosNGDCAuVwu1r17d/avf/2LLVq0KCYVu7i4mJ177rksLS2NAbCl/H/11Vds8ODBzOFwsK5du7JHHnkkYZp/onXU1tayOXPmsF69ejGHw8Fyc3PZaaedxh5++GEWCoXinhP9mUWjKAqbN28eKyoqYrIssy5durA5c+awQCBgG1ffuhLxzTffsAsvvJDl5OQwp9PJunXrxi655BK2bt06c0xlZSWbPn06y83NZampqWzMmDHsp59+iklnZ4yx8vJyduONN7JOnToxh8PBOnfuzKZOncoOHjzIGIuksr/22mu284y/ocWLF9e73nj/Hozpaf3HHnssk2WZ5efns+uvvz4mnZ8xxj7++GM2atQolpaWxlJSUtiAAQPYk08+aR7fu3cvu+CCC1hmZibLyMhgF198Mdu/fz8DwObOnWub67777mOdOnVigiDY1hTvc9mxYwe76KKLWGZmJnO5XOyUU05h77zzjm1Mcz8bDqc9QxjjUXic9sG0adOwYsWKuO4bDofD4XCSgdtZORwOh8PhcKLgAonD4XA4HA4nCi6QOBwOh8PhcKLgMUgcDofD4XA4UXALEofD4XA4HE4UrSqQFixYgAEDBiA9PR3p6ekYMmQIVq5caRuzadMmnH322UhJSTFrhvj9/nrn/X//7/+he/fucLlcGDx4MD7//PNDeRscDofD4XDaGa1aKLJz58544IEHcMwxx4AxhqVLl+L888/HN998g379+mHTpk0YO3Ys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4eqrrw4ei46Oxuv1Nln+/fff54svvmD9+vWkpaUxaNAgnnjiCR566CEWLFiAy+Vq+UM00F6xSecZeibntCtS47i8e2xw//LusVyRGhfBGomIdDz1TWyt2SAwKu7krbq6+oz3rqmp4YUXXmD69OkYxonuES+++CIpKSlceumlzJ07l4qKiuBnW7ZsYcCAAaSlpQWPjR49mpKSEnbv3t12L6YdtE0DoMgZ2G1GYAG3OjbDUP8jEZEIyczMDNmfP38+CxYsOG2ZtWvXUlRUxG233RY8dtNNN5GVlUVGRgY7duzgoYceIjc3N9jfJz8/PyQ4AoL7+fn5rX+QdqQAScLGbjPU50hEpBXaqontwIEDIfMgndzB+VSWL1/O2LFjycjICB6bOXNm8OcBAwaQnp7O8OHD2bt3L3369Dnrep4LFCCJiIh0EG0VIMXHx7doosjvvvuO9evXn3Ek2ODBgwH45ptv6NOnD16vl7/97W8h5xQUFACcst/SuUJ9kERERDqItuqD1FIrV64kNTWV8ePHn/a87du3A5Ceng5AdnY2O3fupLCwMHjOBx98QHx8PP379z+7yoSJMkgiIiJySqZpsnLlSqZNmxYyd9HevXtZvXo148aNo1u3buzYsYM5c+YwbNgwBg4cCMCoUaPo378/t956K4sXLyY/P5+HH36YWbNmNatZL5IUIImIiHQQpgX+VjWxtbzM+vXr2b9/P9OnTw857nK5WL9+Pc888wzl5eVkZmYyefJkHn744eA5drudt99+m7vuuovs7GxiYmKYNm1ayLxJ5yoFSCIiIh1EuGfShkAWqKl17TMzMxvNot2UrKws3nnnnZbfOMLUB0lERESkAWWQREREOggtVhs+CpBEREQ6CAVI4aMmNhEREZEGlEESERHpICLRSburUoAkIiLSQZi0sokNRUjNpSY2ERERkQaUQRIREekgTDOwtaa8NI8CJBERkQ7CNC3MVnQkak3ZrkYBkoiISAehYf7hoz5IIiIiIg0ogyQiItJBmKaFX01sYaEASUREpINQH6TwURObiIiISAPKIImIiHQQ6qQdPgqQREREOgg1sYWPmthEREREGlAGSUREpINQBil8FCCJiIh0EAqQwkdNbCIiIiINKIMkIiLSQWgUW/goQBIREekg/FbrZtL2K0BqNgVIIiIiHYT6IIWP+iCJiIiINKAMkoiISAdhtTKDZCmD1GwKkERERDoIddIOHzWxiYiIiDSgDJKIiEgHoU7a4aMASUREpIMwzdYFOabZhpXp5NTEJiIiItKAMkgiIiIdhN+yWjXZoyaKbD5lkERERDqIQBNb67aWWLBgAYZhhGz9+vULfl5VVcWsWbPo1q0bsbGxTJ48mYKCgpBr7N+/n/HjxxMdHU1qaioPPPAAPp+vLV5Hu1IGSURERE7pkksuYf369cF9h+NE6DBnzhz+/Oc/8+qrr5KQkMDs2bO57rrr+OijjwDw+/2MHz8er9fLxx9/TF5eHlOnTsXpdLJw4cKwP0tLKEASERHpICIxis3hcOD1ehsdLy4uZvny5axevZprr70WgJUrV3LxxRezdetWhgwZwvvvv88XX3zB+vXrSUtLY9CgQTzxxBM89NBDLFiwAJfLddbP0t7UxCYiItJB1AdIrdkASkpKQrbq6upT3nPPnj1kZGTQu3dvbr75Zvbv3w/Atm3bqK2tZcSIEcFz+/XrR8+ePdmyZQsAW7ZsYcCAAaSlpQXPGT16NCUlJezevbs9XlGbUYAkIiLSQVhYwdm0z2azCARImZmZJCQkBLdFixY1eb/BgwezatUq1q1bx7Jly9i3bx9Dhw6ltLSU/Px8XC4XiYmJIWXS0tLIz88HID8/PyQ4qv+8/rNzmZrYREREupgDBw4QHx8f3He73U2eN3bs2ODPAwcOZPDgwWRlZfHKK6/g8XjavZ6RpAySiIhIB9FWTWzx8fEh26kCpIYSExO56KKL+Oabb/B6vdTU1FBUVBRyTkFBQbDPktfrbTSqrX6/qX5N5xIFSCIiIh2E37RavbVGWVkZe/fuJT09ncsvvxyn08mGDRuCn+fm5rJ//36ys7MByM7OZufOnRQWFgbP+eCDD4iPj6d///6tqkt7UxObiIiINOn+++9nwoQJZGVlcejQIebPn4/dbufGG28kISGBO+64g/vuu4/k5GTi4+O55557yM7OZsiQIQCMGjWK/v37c+utt7J48WLy8/N5+OGHmTVrVrOzVpES0QzSsmXLGDhwYDDFl52dzbvvvtvoPMuyGDt2LIZhsHbt2tNe07IsHn30UdLT0/F4PIwYMYI9e/a00xOIiIiET1s1sTXXwYMHufHGG+nbty8/+9nP6NatG1u3bqV79+4A/OY3v+HHP/4xkydPZtiwYXi9Xl5//fVgebvdzttvv43dbic7O5tbbrmFqVOn8vjjj7fpe2kPEc0g9ejRg6eeeooLL7wQy7J4/vnnmThxIp9//jmXXHJJ8LxnnnkGwzCadc3FixezZMkSnn/+eXr16sUjjzzC6NGj+eKLL4iKimqvRxEREWl39aPRWlO+JV566aXTfh4VFcXSpUtZunTpKc/JysrinXfeadF9zwURzSBNmDCBcePGceGFF3LRRRfx61//mtjYWLZu3Ro8Z/v27Tz99NOsWLHijNezLItnnnmGhx9+mIkTJzJw4EB+//vfc+jQoTNmnkRERETqnTOdtP1+Py+99BLl5eXBzl0VFRXcdNNNLF26tFm93fft20d+fn7IpFUJCQkMHjw4OGmViIhIRxXuJrauLOKdtHfu3El2djZVVVXExsbyxhtvBHu2z5kzhyuvvJKJEyc261r1k041NSnV6Sakqq6uDplFtKSkpKWPISIi0u4isdRIVxXxAKlv375s376d4uJiXnvtNaZNm8amTZv45ptv2LhxI59//nm712HRokU89thj7X4fERER6RgiHiC5XC4uuOACAC6//HI+/fRTnn32WTweD3v37m00hfnkyZMZOnQoOTk5ja5V3wxXUFBAenp68HhBQQGDBg06ZR3mzp3LfffdF9wvKSkhMzPz7B9KRESkHSiDFD4RD5AaMk2T6upqHnvsMe68886QzwYMGMBvfvMbJkyY0GTZXr164fV62bBhQzAgKikp4ZNPPuGuu+465T3dbvc5Px+DiIiI6bcw/a0IkFpRtquJaIA0d+5cxo4dS8+ePSktLWX16tXk5OTw3nvv4fV6m+yY3bNnT3r16hXc79evH4sWLeKnP/0phmFw77338uSTT3LhhRcGh/lnZGQwadKkMD6ZiIhIOzBNLNNsVXlpnogGSIWFhUydOpW8vDwSEhIYOHAg7733HiNHjmz2NXJzcykuLg7uP/jgg5SXlzNz5kyKior40Y9+xLp16zQHkoiIiDRbRAOk5cuXt+h8q4kJrhoeMwyDxx9/vEPM0ikiItISptXKPkitmGSyqznn+iCJiIhI09RJO3zOmYkiRURERM4VyiCJiIh0EMoghY8CJBERkQ7C9LduqL7pb8PKdHJqYhMRERFpQBkkERGRDkJNbOGjAElERKSDsEwLqxVBTmvKdjVqYhMRERFpQBkkERGRDsI0TcxWLBfS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Op0h35nc3Fz279/fqb8zZ3ovTdm+fTtAp//OSMenJrYu5v7772fChAlkZWVx6NAh5s+fj91u58Ybb4x01cKqrKws5F+w+/btY/v27SQnJ9OzZ0/uvfdennzySS688EJ69erFI488QkZGBpMmTYpcpcPgdO8lOTmZxx57jMmTJ+P1etm7dy8PPvggF1xwAaNHj45grdvfrFmzWL16NW+++SZxcXHBfkUJCQl4PB4SEhK44447uO+++0hOTiY+Pp577rmH7OxshgwZEuHat58zvZe9e/eyevVqxo0bR7du3dixYwdz5sxh2LBhDBw4MMK1FzmDSA+jk/D6+c9/bqWnp1sul8s677zzrJ///OfWN998E+lqhd2HH35oAY22adOmWZYVGOr/yCOPWGlpaZbb7baGDx9u5ebmRrbSYXC691JRUWGNGjXK6t69u+V0Oq2srCxrxowZVn5+fqSr3e6aeieAtXLlyuA5lZWV1t13320lJSVZ0dHR1k9/+lMrLy8vcpUOgzO9l/3791vDhg2zkpOTLbfbbV1wwQXWAw88YBUXF0e24iLNYFiWZYUzIBMRERE516kPkoiIiEgDCpBEREREGlCAJCIiItKAAiQRERGRBhQgiYiIiDSgAElERESkAQVIIiIiIg0oQBIRERFpQAGSSBsxDOO024IFC/j2229P+fnWrVsBWLVqFYZhcPHFFze6x6uvvophGJx//vnBY/XnG4aBzWajR48e3H777RQWFrao/r/4xS+w2+28+uqrjT5bsGBB8B4Oh4OUlBSGDRvGM888Q3V1dci511xzDffee29w//zzz+eZZ55p8pqDBg0K7h8+fJi77rqLnj174na78Xq9jB49mo8++oicnJwzvt+cnJyQd3HyFhUVFbzPbbfdFjzudDpJS0tj5MiRrFixAtM0W/TORKTz0lpsIm0kLy8v+PPLL7/Mo48+Sm5ubvBYbGwsR44cAWD9+vVccsklIeW7desW/DkmJobCwkK2bNkSstjp8uXL6dmzZ6N7x8fHk5ubi2ma/OMf/+D222/n0KFDvPfee82qe0VFBS+99BIPPvggK1as4IYbbmh0ziWXXML69esxTZOjR4+Sk5PDk08+yR/+8AdycnKIi4tr1r1OZfLkydTU1PD888/Tu3dvCgoK2LBhA0ePHmXMmDEh7/dXv/oVJSUlrFy5MngsOTmZb7/9NvguTmYYRsj+mDFjWLlyJX6/n4KCAtatW8evfvUrXnvtNd566y0cDv3VKNLV6W8BkTbi9XqDPyckJGAYRsgxIBggdevWrdFnJ3M4HNx0002sWLEiGCAdPHiQnJwc5syZw5o1a0LOP/leGRkZ/Ou//iuPPPIIlZWVeDyeM9b91VdfpX///vz7v/87GRkZHDhwgMzMzEZ1OvkeAwYMYOTIkVx22WX8x3/8B08++eQZ73MqRUVF/OUvfyEnJ4err74agKysLH74wx8Gzzn5fXk8Hqqrq5t8h02994bqM1QA5513Ht///vcZMmQIw4cPZ9WqVdx5551n/Swi0jmoiU3kHDV9+nReeeUVKioqgEBT2pgxY0hLSztjWY/Hg2ma+Hy+Zt1r+fLl3HLLLSQkJDB27FhWrVrVrHL9+vVj7NixvP766806/1RiY2OJjY1l7dq1jZrswuXaa6/lsssua/WziEjnoABJJAKuvPLKYFBQvzX0ve99j969e/Paa69hWRarVq1i+vTpZ7z2nj17eO655/jBD37QrGavPXv2sHXrVn7+858DcMstt7By5Uqau451v379+Pbbb5t17qk4HA5WrVrF888/T2JiIldddRXz5s1jx44dLb5WcXFxo3c7duzYZpVti2cRkc5BAZJIBLz88sts3749ZGvK9OnTWblyJZs2baK8vJxx48Y1eV59UBAdHU3fvn1JS0vjxRdfbFZdVqxYwejRo0lJSQFg3LhxFBcXs3HjxmaVtyyrUR+fszF58mQOHTrEW2+9xZgxY8jJyeH73/9+s7NZ9eLi4hq929/97nfNKttWzyIiHZ/6IIlEQGZmJhdccMEZz7v55pt58MEHWbBgAbfeeuspOw/HxcXx97//HZvNRnp6erP6HQH4/X6ef/558vPzQ67t9/tZsWIFw4cPP+M1vvzyS3r16nXKz+Pj4ykuLm50vKioiISEhJBjUVFRjBw5kpEjR/LII49w5513Mn/+fG677bZmPQ+AzWZr1rttypmeRUS6DgVIIuew5ORkfvKTn/DKK6/w3HPPnfK8sw0K3nnnHUpLS/n888+x2+3B47t27eL222+nqKiIxMTEU5b/6quvWLduHXPnzj3lOX379mXbtm2Njv/973+nb9++p61f//79Wbt27Rmfoy1s3LiRnTt3MmfOnLDcT0TObQqQRCLg6NGj5OfnhxxLTEwMma+n3qpVq/jtb38bMg1AW1m+fDnjx4/nsssuCznev39/5syZw4svvsisWbMA8Pl85OfnNxrmP2jQIB544IFT3mPOnDkMHTqUX//611x33XX4/X7WrFnDli1b+O1vfwsE3scNN9zA9OnTGThwIHFxcXz22WcsXryYiRMntuiZLMtq9G4BUlNTsdkCvQqqq6vJz88PGea/aNEifvzjHzN16tQW3U9EOicFSCIRMGLEiEbH1qxZw5QpUxod93g8zW4ya4mCggL+/Oc/s3r16kaf2Ww2fvrTn7J8+fJggLR7927S09Ox2+0kJCTQv39/5s6dy1133YXb7Q6WNU0zpLnuyiuv5N133+Xxxx/n6aefxmazMWDAADZs2MCll14KBEaxDR48mN/85jfs3buX2tpaMjMzmTFjBvPmzWvRc5WUlJCent7oeF5eXnBo/7p160hPT8fhcJCUlMRll13GkiVLmDZtWjCIEpGuzbCaO1RFRKQZ+vXrx5133sn9998f6aqIiJw1ZZBEpE0UFhby7rvvkpub26zO3SIi5zLlkkU6sYULFzaaE6ilcwM115gxY1iwYAFLlizhe9/7XpteW0Qk3NTEJtKJHTt2jGPHjjX5mcfj4bzzzgtzjUREOgYFSCIiIiINqIlNREREpAEFSCIiIiINKEASERERaUABkoiIiEgDCpBEREREGlCAJCIiItKAAiQRERGRBhQgiYiIiDTw/wOIsukxzLg7LAAAAABJRU5ErkJggg==\n" - }, - "metadata": {} - } - ], - "source": [ - "df.plot.scatter(x='TEMP_ADJUSTED', y='PSAL_ADJUSTED', c='PRES_ADJUSTED', marker='+', linestyle=\"None\", cmap='RdYlBu_r', title='Temperature for each location')" + "data": { + "text/plain": [ + "" ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "id": "geqOPVHIQdzt", - "outputId": "b9fc1aea-cb14-417b-b692-5a76563163e7", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 472 - } - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gU1d7A8e/M9t1sNr1XAoQQem+KUlWKXexYsIL9Yr32q1yvBb2vXuzlWq6CXTpIUXrvNYQkpPdNtpeZ94+FxRhURBSU83kenmTPnJk5M8Pu/nKqpKqqiiAIgiAIwilMPtEFEARBEARBONFEQCQIgiAIwilPBESCIAiCIJzyREAkCIIgCMIpTwREgiAIgiCc8kRAJAiCIAjCKU8ERIIgCIIgnPJEQCQIgiAIwilPBESCIAiCIJzyREAkCIIgCMIpTwREgvAHkSTpqP4tWbLkRBf1hPnPf/7Du+++e6KLcUJkZWW1+H+QkJDAaaedxhdffHGiiyYIpwRJrGUmCH+MDz74oMXr//73vyxYsID333+/Rfrw4cNJTEz8I4t20ujUqRNxcXGnZFCYlZVFdHQ099xzDwDl5eW89tprFBYWMm3aNG6++eYTXEJB+GsTAZEgnCCTJk3ilVde4a/6FlRVFY/Hg8lkOup9fo+A6FjKcSJkZWXRqVMnZs6cGU6rrKykbdu2pKamsnv37iPuFwgEUBQFvV7/RxX1N3M6nVgslhNdDEFoQTSZCcJJRFEUXnzxRfLz8zEajSQmJnLTTTfR0NDQIl9WVhajR49myZIl9OrVC5PJROfOncOBxOeff07nzp0xGo307NmTjRs3ttj/mmuuISIigsLCQkaOHInFYiElJYUnnniiVYD2a8s0b968cJlee+01AN555x2GDBlCQkICBoOBjh07Mm3atFb7b9++naVLl4abjc444wwAHnvsMSRJanW/3n33XSRJoqio6KjK0djYyJ133kl6ejoGg4G2bdvyzDPPoCjKzz6X0aNH06ZNmyNu69+/P7169Qq/XrBgAYMGDSIqKoqIiAhyc3N58MEHf/b4PyUpKYm8vDz2798PQFFREZIk8dxzz/Hiiy+Sk5ODwWBgx44dAOzatYuLLrqImJgYjEYjvXr14uuvv25xTL/fz+OPP067du0wGo3ExsYyaNAgFixYEM5TWVnJtddeS1paGgaDgeTkZM4999wW91mSJB577LFWZc7KyuKaa64Jvz70jJYuXcqtt95KQkICaWlp4e1z5szhtNNOw2KxYLVaGTVqFNu3bz+m+yUIv4X2RBdAEITDbrrpJt59912uvfZabr/9dvbv38/LL7/Mxo0bWb58OTqdLpy3oKCAyy+/nJtuuokrr7yS5557jjFjxvDqq6/y4IMPcuuttwIwZcoULrnkEnbv3o0sH/4bKBgMctZZZ9GvXz/+9a9/MXfuXB599FECgQBPPPHEMZVp9+7dXHbZZdx0003ccMMN5ObmAjBt2jTy8/MZO3YsWq2Wb775hltvvRVFUZg4cSIAL774IrfddhsRERE89NBDAMfcdHikcrhcLgYPHkxZWRk33XQTGRkZrFixggceeICKigpefPHFnzzeuHHjuPrqq1m7di29e/cOpxcXF7Nq1SqeffZZALZv387o0aPp0qULTzzxBAaDgYKCApYvX35M1+H3+zlw4ACxsbEt0t955x08Hg833ngjBoOBmJgYtm/fzsCBA0lNTeX+++/HYrEwffp0zjvvPD777DPOP/98IBRcTpkyhQkTJtCnTx+amppYt24dGzZsYPjw4QBceOGFbN++ndtuu42srCyqq6tZsGABJSUlZGVlHdO13HrrrcTHx/PII4/gdDoBeP/99xk/fjwjR47kmWeeweVyMW3aNAYNGsTGjRuP+VyCcExUQRBOiIkTJ6o/fAt+//33KqB++OGHLfLNnTu3VXpmZqYKqCtWrAinzZs3TwVUk8mkFhcXh9Nfe+01FVAXL14cThs/frwKqLfddls4TVEUddSoUaper1dramqOuUxz585tda0ul6tV2siRI9U2bdq0SMvPz1cHDx7cKu+jjz6qHunj6p133lEBdf/+/b9YjieffFK1WCzqnj17WqTff//9qkajUUtKSlod/xC73a4aDAb1nnvuaZH+r3/9S5UkKXy/p06dqgLh+/drZGZmqiNGjFBramrUmpoadfPmzeqll17a4jnt379fBdTIyEi1urq6xf5Dhw5VO3furHo8nnCaoijqgAED1Hbt2oXTunbtqo4aNeony9HQ0KAC6rPPPvuz5QXURx999IjXMX78+PDrQ89o0KBBaiAQCKc3NzerUVFR6g033NBi/8rKStVms7VKF4Tfm2gyE4STxIwZM7DZbAwfPpza2trwv549exIREcHi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KoWygq9QEATh7hxZsDUqKoqlS5cSExNDWloaW7ZsYdeuXQAkJCSg1+vp0qVLmY51/Phxdu/ejU6nK7EvKSnprgnR7t27GT58OMuWLSM0NNS2feHChbz88ss0aNAASZIIDg5m+PDhrFixoszX+aA4nME89dRT5RGH8DcWfyiJqbP/h9ki06pxLW4c+5GrJ6zJUJdXMuk05DBKSWLPqXHsPXgKbZ4JlzRrU1nDHrXpsPQT0nNNgB8AslLGrDPh51vEugiRDAmCYKVRaPgg6J+4ubmjUNx++pjyObe2TOXq1auHJEll6jg9dOhQ3n77beLj49m/fz9BQUG0b98esDZLOSIvL4/IyEjmzJlTYp+fn98dX/vjjz8SGRnJggULbOubFqtevTobNmygqKiIjIwM/P39efvtt6lTp85tj+fr60taWprdtuLnvr6+Zb0kh5UpIfr+++/p0aMHarWa77///o5ldTodDRo0wN/f/74EKDzacnILmf7RD5gtMu2aB5EVn8SNM2pUzmYGTculfrsfAbh540WWfXsK7S0Tut+KQIYarZ1YV3gZGQUgI2ssWJRgcZIJ8LGwrPNLeDm5V+wFCoJQaUiShEahRavUoqiky/N4eXkRERHBokWLGDNmTIl+RFlZWbZ+RFWrVuXpp59m5cqVxMfHM3z4cFu5evXq4ezszM6dO4mKirrreZs3b8769esJDAx0qLVnz5499O7dmzlz5txxBJiTkxM1atTAaDSyfv16nn/++duWbd26NZMnT8ZoNKJWWyfM3b59OyEhIeXWXAZlTIiefvppUlNT8fb25umnn75reaVSydy5cxk3btxfjU94hOkNJj7+dCd5+XqCalVDezWLS2euo61ipP0/E6kXYv2G5KP254Mf6uOWmIIm19ru7BSo52RdkPPdQGsGLzMmvQRIVHXR8L/uUXg5leyQKAiCUNktWrSItm3b8sQTT/DBBx8QFhaGyWRi+/btLF68mISEBFvZqKgoevfujdlstvUVAmsCMnHiRGJiYtBoNLRt25abN29y+vRpRo4cWeKc0dHRLFu2jBdffJGYmBi8vLxITEzkyy+/5LPPPkOpLFnTvnv3bnr37s3YsWPp168fqampAGg0GlvH6l9++YVr167RtGlTrl27xrRp07BYLEyYMMF2nNjYWP773//a5lgaOHAg77//PiNHjmTixImcOnWKhQsXlvsSYWVKkS0WC97e3raf7/QoKipi2bJlD2QSJeHhNmn6d+zYa/3D7hJWmwPbToIk88S0S9Sqk4EkQQ1tKGl5n5NyIcOWDHl0vYXluXyy892QJRmj1oJRrwAk/Kso2Pn8KJEMCYLw0KpTpw5HjhyhU6dOvPXWWzz22GN069aNnTt3snjxYruyXbt2xc/Pj4iIiBItM1OmTOGtt95i6tSpNGzYkP79+3Pjxo1Sz+nv78++ffswm82Eh4fTuHFj3nzzTTw9PW9bm7Z69WoKCgqYNWsWfn5+tscf5yMsKiri3XffpVGjRjzzzDPUqFGDn3/+2VbLBZCenk5SUpLtuYeHB9u2bePSpUu0aNHCdg3lOQcRgCQ70oOrjHJzc3nvvffKfc6AByUnJwcPDw+ys7NxdxdNMHdjNBrZvHkzPXv2tFV3/tlPBy4weeYGkGXa13Dj1M4EDEUSQX1v8uSYizTSplLHfRAHLw5h6r9/wPX3dcrUNfRUG5/K4YOhGIwSZhczFicZrZOBen4SXzw1Bk9NyU6Bf0dluQ/CgyHuxYNXVFTEpUuXCAoKsg37tlgs5OTk4O7uXmmbzByVl5dHjRo1WLly5UM1MfL9vBel3etijnx+l7kPUVn16dMHNze3RyYZEu4/g9HEohW7wSJTO/cmR45dAySqNs6j2YjfCNGmUsNzHF4eY5n3+SJ0lwpRFVpAJaPtlsfZE9ZkSFbKWLQy7h75eFcvYG6LaJEMCYLwt2CxWEhPT2f+/Pl4enrSp0+fig7poVfmPkR/JEmS3dDAP85LJBZ3Fe7mo0+2cz01G11eLukXDSjUFpqOv0rjiBQCNTfQKlyo6tqfbTtPofglA8kCqGQ8RqRzPKMOsgyyJGNyNaPzKOCxAA0fhr1CHd2dR0IIgiA8Kq5cuUJQUBA1a9Zk1apVYtqb+6DMfYiKH9u2baNp06Zs2bKFrKwssrKy2Lx5M82bNy/Tgm3C39vJhGts3nkKZBkfk3UYZf2BaTTqrqeeJgVP7WM08N2MRuVL7L+3IVnA5CTh+9ZV8rS1rcmQUsbkYUbtaqSGdxGfPv6mSIYEQfhbCQwMRJZlrl69Wua5hoQ7czilfPPNN1myZIndbJcRERG4uLgwatQou97vgvBn/15mnTTsMfc0Lh1zRuViJrBnBj6qQiQJ/DzG4aQOZMf+sxSk5VkH1LcxckuuQeI16ygHs7MFhdqCn38GT/m2wE3tUoFXJAiCIDwKHO7JlJSUZNc7vJiHhwfJycn3ISThUbX/UBJnE1NRmw1cibdOrBg6/AZdQvrhpfgNCQ1u2jYknU9l3rvfoTCDSSvxVB8PkpOtq9ObXMzgZMG3RgZ+Lp68WjeyIi9JEARBeEQ4nBA9/vjjjB8/3m4WybS0NCZMmMATTzxxX4MTHh1ms4WFS61zTNTkGmajAq/QPF56ZRBO5l8AcFX34IvPDvDakKXIeSYsKgldpJEX6r1IkcmEjIyslfGomoufzoXYFm9QReNWkZclCIIgPCIcbjJbsWIFzzzzDLVq1SIgwLpY5tWrV6lXrx7//e9/73uAwqPhP/89REpaNi6KItJPWpu+Og2vgbFgFgXm6ySf9WHz8kCuXNoLgMFdRX4NNVHPhvBLsnU1Z1kFkspCzSoSM8NGUt3Js6IuRxAEQXjEOJwQ1a1blxMnTrB9+3bbWisNGzaka9eudqPNBKFYXr6eFWutiU5t12SumHR41TfQtauGmzkpxK1tzb5NoVgs+UhOErnVNBg8VDRsb6JvYG/ab7cuAiirLVStlsPboQMIESvXC4IgCPfRPY3TkySJ8PBwwsPDAevqvHFxcSxfvpxvv/32vgYoPPz+8823mMxQ1T2Ha79YFxzs+0odMvL+zXdL2vPr7hAAXOpLXJeckdUKnL0VLBgYxaA9X5KVa0BCQq0z0COoLu2qN67IyxEEQRAeQX9peshLly4xZcoUatWqxTPPPENRUdH9ikt4ROTkFrJ2wzWwyKiuZGAuUuLpr6FRm91s+eIJWzLkGWHhmsYVWa3A6AQtGwUzZt//OHo+A8lirXkMDZSJadi/Ii9HEAThkZCcnIwkSRw7dqyiQ6k0HE6I9Ho9a9eupXPnzoSEhDBz5kzGjx/PjRs32LRpU3nEKDykCouMvD/3SywWCdfcW+RdUqPRybyzuAenj91i7//CAGgyyI1L162do/383DC5QLIxk/hzaShzrP2N1K563mn6nBhiLwjC30JqaipvvPEGderUQavVEhAQQGRkpG0B1MqgqKiIl156icaNG6NSqUpd/P2ll15CkqQSj8aN71zTf+LECdq3b4+TkxMBAQEPZH3UMidEv/76K6+99hq+vr58/PHHPP3001y9ehWFQkFERIRY40soYWPcrxw6no5CNqHOzAXgubcCMFeP5uT+IADqtXfnpCEdZImafjp0PjqQJM5m3kSZq0RCQutRyCfP9aJl1ZCKvBxBEIQHIjk5mRYtWrBr1y7mzZvHyZMniYuLo1OnTkRHR1d0eDZmsxlnZ2fGjBlD165dSy2zcOFCUlJSbI+rV6/i5eXFc889d9vj5uTkEB4eTu3atfn111+ZN28e06ZNY+nSpeV1KYADCVGrVq3QarUcOHCAQ4cOMWbMGHx8fMozNuGhJpOQsBtkmWqFv2HMUlLFX0vDjl9SkGfg+L56AKTWSCYjoSoASjcnTlxNRZLAZFAgyRJKZyNPtXCjo5/oNyQIwt/Da6+9hiRJHDx4kH79+lG/fn1CQ0MZP348Bw4cAGDEiBH07t3b7nVGoxFvb2+WL18OWFeZmDt3LnXr1kWr1VKrVi1mzJhx2/OeOnWKHj16oNPp8PHxYciQIaSnp9+2vKurK4sXL+bll1/G19e31DIeHh74+vraHocPH+bWrVu89NJLtz3u2rVrMRgMrFixgtDQUAYMGMCYMWPKfY3UMidEXbp0Yfny5XzwwQfExcXZrWV2r/bu3UtkZCT+/v5IksSGDRvs9suyzNSpU/Hz88PZ2ZmuXbty4cIFuzKZmZkMGjQId3d3PD09GTlyJHl5eXZlKqLq7e/O1ek6J87LqG/kkX9OhUIFA98/QnZ2IQvGv4C+UInC1Uye3hWARnV9OZuRgYtGjaGKDEoJkKlaN4NW1RtU7MUIgvBIkGWZIrOBQrOBQrP+gT7K+pmZmZlJXFwc0dHRuLq6lthfPDFyVFQUcXFxpKSk2PZt2rSJgoIC+ve39rWcNGkSs2fPZsqUKZw5c4Z169bdtiIjKyuLzp0706xZMw4fPkxcXBxpaWm88MILDr7Ld7Z8+XK6du1K7dq1b1smPj6eDh06oNFobNsiIiI4d+4ct27duq/x/FGZR5lt3bqVq1evsnLlSl599VUKCwttb/q9DrfPz8+nSZMmjBgxgmeffbbE/rlz5/Kvf/2L1atXExQUxJQpU4iIiODMmTM4OTkBMGjQIFJSUti+fTtGo5Hhw4czatQo1q1bB/x/1VvXrl1ZsmQJJ0+eZMSIEXh6ejJq1Kh7ilu4C+NRjp48Sc41f5yuZwLQ7y0D+cZ8lk14lsI8DUp3E1WH3uDCT/UBuFKYA0CBhwmzBSRAVyuLTgEhDKjVsYIuRBCER0mRxciLx+dUyLk3PzUTZ6X2ruUSExORZZkGDe78RbBNmzaEhISwZs0aYmJiAFi5ciXPP/88Op2O3NxcFi5cSGxsLMOGDQMgODjYbtmtP4qNjaVZs2bMnDnTtm3FihUEBARw/vx56tevX9ZLva3r16+zZcsW2+fz7aSmphIUFGS3rTiRS01NpUqVKn85ltI41Kk6ICCAqVOncunSJdasWcPNmzdRqVT07duXd955hyNHjjh08h49evDhhx/yzDPPlNgnyzIff/wx7777Ln379iUsLIzPP/+c69ev22qSEhISiIuL47PPPqNVq1a0a9eOf//733z55Zdcv34dqLiqt78r2XiBi6fHs3l3AE7JmUjAk33caBL5Az983orCPA0qdwt+b17D2VwXixnUTipuFhViUcvka01ISKC00KC2ln80eAGNUl3RlyUIgvBAONL6EhUVxcqVKwHrihFbtmxhxIgRgPXzUa/Xl3nh1+PHj7N79250Op3tUZyUJSUlOXgVpVu9ejWenp6ldr6uDO5pHiKAbt260a1bN27dusUXX3zBihUrmDNnDmaz+b4EdunSJVJTU+06anl4eNCqVSvi4+MZMGAA8fHxeHp60rJlS1uZrl27olAo+OWXX3jmmWduW/U2Z84cbt26VWqmqdfr0ev1tuc5OdbaC6PRiNFovC/X96j6LWkTb/6zO8qUfCSTBc/aFrq/+R/Sr3uQetkLAP9Jyfh6V+XkTx5ALvkqEwqVgvyaJhR6a21jVb8i3m04EFdJK97ze1T8von3r+KJe/HgGY1GZFnGYrFgsVgA0Eoq/tNkIjo3twc+kbAGlS2OOwkODkaSJBISEujbt+8dyw4ePJi3336bffv2ER8fT1BQEG3btsVisaDVWmuj/nj9f1S8rXh/bm4uvXv3Zvbs2SXK+vn53TV2WZZt7/ft9q9YsYLBgwejUqlsiV9pr/Hx8SE1NdVue3HToLe3d4nyFosFWZYxGo0olUq7fY78zd1zQlSsSpUqvPHGG7zxxhsO1xDdSWpqKkCJ9s7iN6q4jLe3t91+lUqFl5eXXRlHq95mzZrF+++/X2L7tm3bcHERw75vJyMzgW/jTBSmSzjftPbj6vrKCdRaI4nHrOvcaYMKcXJXUPtCGFtvZgBgVoNBZ0ZWyih+n3OoCzVJ/OkEiZyomIt5hGzfvr2iQxB+J+7Fg6NSqfD19SUvLw+DwWDb7qTUYCrQ3+GV5cNI2ebpU6lUdO7cmUWLFjFs2LAS/Yiys7Px8PAAQK1W06tXL5YtW8bBgwcZMGCA7Qu8j48Pzs7O/PDDDwwdOrTEeYr72ubn55OTk0NoaCgbN27Ey8sLlco+NTCbzbbj3vb6jEZMJtNty/38888kJibywgsv2JXJzc0tUbZp06Z8+OGHZGRkoFZbWwh++OEH6tWrh1KpLHEOg8FAYWEhe/fuxWQy2e0rKCi4Y9x/9JcToj9q3rz5/TxchZk0aRLjx4+3Pc/JySEgIIDw8HAxvcBtFBTcYtCrJ8nLU+P6mzWTfyw8hWZPXcJZ3RhjQU/gNNraevrXGszlDDfgJywKsGjAUMWCUm0CozNOKhUTnnkO1z/U6gmOMxqNbN++nW7dutn+qQgVQ9yLB6+oqIirV6+i0+lsfU5lWSY3Nxe3CqghcsSSJUto37494eHhTJs2jbCwMEwmEzt27GDJkiWcPn3aVvaVV16hT58+mM1mRo0aZfuMcnd3JyYmhmnTpuHu7k7btm25efMmp0+fZuTIkeh0OsA6Uszd3Z1x48axZs0aRo8ezYQJE/Dy8iIxMZGvvvqKZcuWlah5KXbmzBkMBgO5ubkUFBRw8eJFwJrU/NGXX35Jq1atePLJJwH7e/HJJ5+wYcMG2xeGESNGMG/ePMaPH09MTAynTp3i008/Zf78+aV+BhcVFeHs7EyHDh1s97rY3RK5P7qvCdH9VDyELy0tDT8/P9v2tLQ02xvt6+vLjRs37F5nMpnIzMy0vd7X15e0tDS7MsXPbzdMUKvV2qob/0itVot/ZrexMW4xOXku6ArSkQtk3KrreXrcr2hVtQnxWc8/z8UCUDOwCk11bXh382cAmLVgqGpG6WmgGhoygSb+vniWMrpCuDfi97byEPfiwTGbzUiShEKhQKGwdpctbmop3l5Z1a1blyNHjjBjxgwmTJhASkoK1atXp0WLFixevNgu9vDwcPz8/AgNDaVmzZp2x5k6dSpqtZpp06Zx/fp1/Pz8GD16tN17UvxzzZo12bdvHxMnTqR79+7o9Xpq165N9+7dUalUt00ge/fuzeXLl23PW7RoAdj3hcrOzua7775j4cKFpd6LjIwMkpKSbPuqVKnCtm3biI6O5vHHH6datWpMnTqV0aNHlxqDQqFAkqRS/74c+XurtAlRUFAQvr6+7Ny505YA5eTk8Msvv/Dqq68C0Lp1a7Kysvj1119tN2HXrl1YLBZatWplKzN58mSMRqPtjdm+fTshISHl1lP972j7r3lIhWqkK4XISHQdeRo3Tw+Cq6/GKMP1pFxAyZMNWxLzyUYK8gxYFGB0BalGET4eCqqk+pBJBm0Dbz8cUxAE4e/Az8+P2NhYYmNj71guPz+fW7duMXLkyBL7FAoFkydPZvLkySX2BQYGlujAXa9ePb777juH4kxOTr5rGQ8Pjzs2XU2bNo1p06bZbQsLC+Onn35yKJa/qkJT5Ly8PI4dO2ZbS+XSpUscO3aMK1euIEkSb775Jh9++CHff/89J0+eZOjQofj7+9t6qDds2JDu3bvz8ssvc/DgQfbt28frr7/OgAED8Pf3B2DgwIFoNBpGjhzJ6dOn+eqrr1i4cKFdk5hw72RZZvOFD7mSWBX1jVwsBgm/+lk0bCdTt9pGnNR1WP/LZsy5SlDILF9/icMJV5EBgw6M9YvQOhlxTq3KuRsZqBQKIhuJGakFQRDuxGKxcOPGDaZPn46npyd9+vSp6JAeevdUQ2QymdizZw9JSUkMHDgQNzc3rl+/jru7u61dsiwOHz5Mp06dbM+Lk5Rhw4axatUqYmJiyM/PZ9SoUWRlZdGuXTvi4uLs2gjXrl3L66+/TpcuXVAoFPTr149//etftv0eHh62qrcWLVrYqt7EHET3x8WcbWzYcA1zUW2ccq3fAPpEW7h1eSzqRt58+/XPrProJCChdFeTXlCERWlNhsw6GTyMKH/z5HJ+Ic5qFf/s3YOanh4Ve1GCIAiV3JUrVwgKCqJmzZqsWrWqREdowXEOv4OXL1+me/fuXLlyBb1eT7du3XBzc2POnDno9XqWLFlS5mN17NjxjnMuSJLEBx98wAcffHDbMl5eXned5Kkiqt7+DmS5kGNps7l8vDPqtFwwgndQLp27zWD3rqMc/zWZpf/cBUhoa1m4obE2WRp0YFGBpZoR1VV3Cgzg4aRl6XNP07ymf8VelCAIwkOgtCYv4a9xuMls7NixtGzZklu3buHs7Gzb/swzz1SqVXiF8pd0bRHfrmiO4Yp1iQ6A/uPr4ezkhyzLLJy3CQDnx3NJ8XXD4qTEopSRlWCpYsZcqMVogABPD74Y+LxIhgRBEIQK43AN0U8//cT+/fvtJjoEa7Z67dq1+xaYULkVFd7k3VlZpJyvivOVm0hA674S3ftMwGyWSbiVTNrVXCSthVSDD5JZwqKS0eskkCTMFhUKpcSkzh14sVkYWlHdKwiCIFQghz+FLBZLqbNR//bbb7i5ud2XoITKTZYNbN46netXauJyJQ3JbKF2qJGJ8z5GoVCRnJvIkfNXAE9M1VRYzArMGhmDiwRKCYsSfKo5Mbd7L1oH1qroyxEEQRAEx5vMwsPD+fjjj23PJUkiLy+P9957j549e97P2IRKypg1lfV7nFCl5yMVmNA4m/nw83fQOmsoMhcyf+MysndZO0bna639hkwuWJMhtUxkt9r8+MpokQwJgiAIlYbDNUT//Oc/6d69O40aNaKoqIiBAwdy4cIFqlWrxn/+85/yiFGoRGTDcb46eIKr5zvgct26PMpzr7Whmrd1QrBDmfFcXq8CWUJTV4fZydqB2ixJSEC1JtlM79QHRSWeJVYQBEH4+3E4IQoICOD48eN89dVXHD9+nLy8PEaOHMmgQYPsOlkLj6ZT6f9m47bHUN0qRLLI1GrgyuCxL9r2/3jyFwzXtKCAFGcLClmBwQUkhYTSw0CfsFA0CtFfSBAEQahcHPpkMhqNNGjQgE2bNjFo0CAGDRpUXnEJldC1vH3EJV0j9UII2tx0ADpGdkSSJCyyhY3X13Ns803AkyIvJQpZgVllXatMkkEXmE9kjdYVexGCIAgCycnJBAUFcfTo0RLrjv1dOdSHSK1WU1RUthV7hUeLLMvsTZ3JyR0hYJFRF1h/D5q3t84qHZe6ke9PbCH3F+vCe0ZXa65t8ABJltC4yCztGUWIe0DFXIAgCMJDJDU1lTfeeIM6deqg1WoJCAggMjKyUk1vU1RUxEsvvUTjxo1RqVS2VST+bO3atTRp0gQXFxf8/PwYMWIEGRkZdzz2lStX6NWrFy4uLnh7ezNhwoQSK9nfbw53qo6OjmbOnDnlHphQuVwvOMy1GxYuH/NFm5yJbASPqjrqhgWQrr/BD0mbSPl3DWS9AoObhEmnwqIEkEBpYXK/joR6iU7UgiAId5OcnEyLFi3YtWsX8+bN4+TJk8TFxdGpUyeio6MrOjwbs9mMs7MzY8aMoWvXrqWW2bdvH0OHDrUtn/XNN99w8ODBO64WYTab6dWrFwaDgf3797N69WpWrVrF1KlTy+tSgHtIiA4dOsR3331HrVq1iIiI4Nlnn7V7CI+mQzc/5tjmBkj5ZlTZhag0SiYsHMJ1/VVmnnqPK59Uw5SuxuQkUeDvDJKEyRlU7gbadXfh2cbNKvoSBEEQHgqvvfYakiRx8OBB+vXrR/369QkNDWX8+PEcOHAAgBEjRtC7d2+71xmNRry9vVm+fDlgnSZn7ty51K1bF61WS61atZgxY8Ztz3vq1Cl69OiBTqfDx8eHIUOGkJ6eftvyrq6uLF68mJdffhlfX99Sy8THxxMYGMiYMWMICgqiXbt2vPLKKxw6dOi2x922bRtnzpzhiy++oGnTpvTo0YPp06ezaNEiDAbDbV/3VzmcEHl6etKvXz8iIiLw9/fHw8PD7iE8etKLLnDosIkrx/1Q38gFrE1lLZ5qwMbr60lPMKNPdMaigtxAJ2S1AqMzUN1InXZFzG4zBEmMKhMEoYLJskyh2UiByfDAH2VdZiMzM5O4uDiio6NxdXUtsd/T0xOAqKgo4uLiSElJse3btGkTBQUF9O/fH4BJkyYxe/ZspkyZwpkzZ1i3bh0+Pj6lnjcrK4vOnTvTrFkzDh8+TFxcHGlpabzwwgsOvsv2WrduzdWrV9m8eTOyLJOWlsa3335Ljx49bvua+Ph4GjdubBdrREQEOTk5nD59+i/FcycOD/dZuXJlecQhVGLf7p/Hz2taoMosQHWrEIVSwdNRHblSkMzxm8dJ/87aL6iwmhJUSmRAUbMI98czeL3RYDw1ZV/wVxAEobwUmo08tafs623eT8f6TsRFpblrucTERGRZpkGDBncs16ZNG0JCQlizZg0xMTGA9fP5+eefR6fTkZuby8KFC4mNjWXYsGEABAcH065du1KPFxsbS7NmzZg5c6Zt24oVKwgICOD8+fPUr1+/rJdqp23btqxdu5b+/ftTVFSEyWQiMjKS2NhYCgsLS31NampqicSt+Hlqauo9xVEWDtcQCX8vSTm7OHxIhSxLeMjZADw/ujO1n6jG4sSPSfu2OqbfNJg1YHTXAqDwUODRKoMGHgF08m5agdELgiA8XBxZsDUqKspWSZGWlsaWLVsYMWIEAAkJCej1erp06VKmYx0/fpzdu3ej0+lsj+KkLCkpycGr+H9nzpxh7NixTJ06lV9//ZW4uDiSk5N59dVX7/mY5cXhGqKgoKA7Nn9cvHjxLwUkVB7JefvYmfIBNy+2Q1FgwHzDur3e4zX5+Mxczn+upOBn66iyfH8tskaBrALXttbRA/1rPiWaygRBqDSclWp+7DgaNzc3FIoHWx/grFSXqVy9evWQJImzZ8/etezQoUN5++23iY+PZ//+/QQFBdG+fXvr+RycFzAvL4/IyEjmzJlTYp+fn59Dx/qjWbNm0bZtWyZMmABAWFgYrq6utG/fnpiYGNzd3Uu8xtfXl4MHD9ptS0tLs+0rLw4nRG+++abdc6PRyNGjR4mLi7NdsPDwM8tGfrm5hMzrOm6leOCUehOj3kKD5oHkNbxOwr8N5P5cBYDc2hrMOjUyEPiUkgyvAgJMnrSu2qhiL0IQBOEPJEnCWanGRaV54AlRWXl5eREREcGiRYsYM2ZMiX5EWVlZtn5EVatW5emnn2blypXEx8czfPhwW7l69erh7OzMzp07iYqKuut5mzdvzvr16wkMDER1HxfbLigoKHE8pVIJ3L42rHXr1syYMYMbN27g7e0NwPbt23F3d6dRo/L7XHH4qseOHVvq9kWLFnH48OG/HJBQOey4/j6nTxSyd5W1vdlZMmMAer/cmm3XvyT3oLUDfXawGouzBhlwCnAiwy8JlaQkvCgEpVQ5/+EIgiBUZosWLaJt27Y88cQTfPDBB4SFhWEymdi+fTuLFy8mISHBVjYqKorevXtjNpttfYUAnJycmDhxIjExMWg0Gtq2bcvNmzc5ffo0I0eOLHHO6Oholi1bxosvvkhMTAxeXl4kJiby5Zdf8tlnn9mSmD87c+YMBoOBzMxMcnNzOXbsGIBtssfIyEhefvllFi9eTEREBCkpKbz55ps88cQTtpqn//73v0yaNMlWKxYeHk6jRo0YMmQIc+fOJTU1lXfffZfo6Gi0Wu39eItLdd/SwB49ejBp0iTR6foRcCX/Fy7l/MSJre2wmJW4KbIxZJms1bjeh7i4XsKSq8SslbBorcmQQQdedWSMQBfvprjllN8vrSAIwqOsTp06HDlyhBkzZvDWW2+RkpJC9erVadGiBYsXL7Yr27VrV/z8/AgNDcXf399u35QpU1CpVEydOpXr16/j5+fH6NGjSz2nv78/+/btY+LEiYSHh6PX66lduzbdu3e/Y21az549uXz5su15s2bWKVaKa39eeuklcnNziY2N5a233sLT05POnTsza9Ys22uys7M5d+6c7blSqWTTpk28+uqrtG7dGldXV4YNG8YHH3xQxnfw3kiyIz247mDu3Ll88sknJCcn34/DVSo5OTl4eHiQnZ1danvno+bb5JH88pOeX75pgkppJDD7IikXXGnwVA3Su1wkbYkfyBK5tZ0wuisx6CRMLhIuj2Xh5pfHp83fJOHHI/Ts2RO1umzt5sL9ZzQa2bx5s7gPlYC4Fw9eUVERly5dIigoCCcnJ8A6L09OTg7u7u6VtsnMUXl5edSoUYOVK1c+VHMB3s97Udq9LubI57fDNUTNmjWz6ygryzKpqancvHmTTz75xNHDCZVMjuE6GfpEUs9bs/zmNRM5fdgNZ52W3C5XbMmQ3lOFyU2FyRnMGgmTK2h0BiL9WxPk6kvCXc4jCIIg3DuLxUJ6ejrz58/H09OTPn36VHRIDz2HE6I/r1WiUCioXr06HTt2vOu8CULll1ZknfTKkKtBUWDg/BYPwELj52tw9reLIEuYtQry/TUYdWDWgNkF1J56OgbW5c2QZzGbzBV7EYIgCI+4K1euEBQURM2aNVm1atV97Qj9d+XwO/jee++VRxxCJWCWjRzP/A8ARbdUOF24idEiU7u+L6Y+V8l5z1rdqPdSU+QNyBIanYReI1OtCrzV4HkUkgIzIiESBEEoT4GBgQ7NWSTcncMNd0eOHOHkyZO25//73/94+umneeedd8p1jRGh/J3P3kqGPgl9uhLDIT2SRaZajSpELmnMuR9NmG9a+z7k11CglKwjDvQ6PUjQp05zqmof/f5VgiAIwqPJ4YTolVde4fz584B1Esb+/fvj4uLCN998Y5s+XHg4nc+JQ7bAwRnBkGtCliBiclO+PreRrP9WBaDAV4WhmhKzBZTOZgwGa5LUv8ETFRm6IAiCIPwlDidE58+ft80v8M033/DUU0+xbt06Vq1axfr16+93fMIDcqMwgd9yTrN1xhNknHQBoM2wtiQE/si1b/1QGGTMGomUDiqkQgkkwLcIJInHA2pQu4pnhcYvCIIgCH+FwwmRLMtYLBYAduzYQc+ePQEICAggPT39/kYnPDBHM9eQ8GMd8g9a26RrNNTQfWwAyWcL4by1eSyziQq1yfqzqmoRBTnWxGnkEy0qJmhBEARBuE8cTohatmzJhx9+yJo1a/jxxx/p1asXAJcuXSqxOq3w8Dh2MpnT3wSiLDSi0sjMW/MK25J3kbbYH4VJxuQskR2ixCnb2g/frJIAiS5169ClXnDFBi8IgiAIf5HDCdHHH3/MkSNHeP3115k8eTJ169YF4Ntvv6VNmzb3PUCh/KUUnCD5nA5lZgEAEc/VJMPVwt5VRSjywKKEa+EadLc0mEwWlDojRUYNAENaNq3AyAVBEATh/nB42H1YWJjdKLNi8+bNu+1aJ0Lldjb7f9w664LqljUh6tjvab6/9i2msxpUyGTXV2HwUKC+bG1OU9UshJvueOtcaVO7VkWGLgiCINyD5ORkgoKCOHr0qK1f8N+dwzVEV69e5bfffrM9P3jwIG+++Saff/65mJL+IZRjSOHwqXiytktIQMMnPUkPvExCynmUOdYEKLeOEt0Na+6srl5I3i0dAFFPtLSbtVwQBEG4P1JTU3njjTeoU6cOWq2WgIAAIiMj2blzZ0WHZlNUVMRLL71E48aNUalUJSZuLrZo0SIaNmyIs7MzISEhfP7553c99pUrV+jVqxcuLi54e3szYcIETCbTfb4Cew7XEA0cOJBRo0YxZMgQUlNT6datG6Ghoaxdu5bU1FSmTp1aHnEK5eRM9v/4eX4Ikt4CWgVvzBrOhqx1ZO/3QAJMTgrMGgWqTFCoZDQBBeRddqaqi4toLhMEQSgHycnJtG3bFk9PT+bNm0fjxo0xGo1s3bqV6Oho26rwFc1sNuPs7MyYMWNuO8p88eLFTJo0iWXLlvH4449z8OBBXn75ZTw8PHjqqadue9xevXrh6+vL/v37SUlJYejQoajVambOnFlu1+NwDdGpU6d44gnrnDNff/01jz32GPv372ft2rWsWrXqfscnlLOUvNMUXrHmxT2HuFGtthdnf0vi1nYvAIqqq3D6fWSZU+1cKPAAoEOd2qgekcURBUEQKpPXXnsNSZI4ePAg/fr1o379+oSGhjJ+/HgOHDgAwIgRI+jdu7fd64xGI97e3ixfvhywrnc2d+5c6tati1arpVatWsyYMeO25z116hQ9evRAp9Ph4+PDkCFD7jh63NXVlcWLF/Pyyy/j6+tbapk1a9bwyiuv0L9/f+rUqcOAAQMYNWoU8+bNu+1xt23bxpkzZ/jiiy9o2rQpPXr0YPr06SxatKhcJ4B2+BPNaDSi1WoB67D74gXlGjRoQEpKikPH2rt3L5GRkfj7+yNJEhs2bLA7z8SJE2ncuDGurq74+/szdOhQrl+/bneMwMBAJEmye8yePduuzIkTJ2jfvj1OTk4EBAQwd+5cRy/7kWS0FHFgczrKXOsv2DOD+vDF3u9InlETKV/CopTICZFQF1kTIpdqFnIyrM2iw1o2q7C4BUEQ7oUsyxSajBQYjRQYDQ/0UdZlNjIzM4mLiyM6OhpXV9cS+z09PQGIiooiLi7O7nN306ZNFBQU0L9/fwAmTZrE7NmzmTJlCmfOnGHdunW3HQ2elZVF586dadasGYcPHyYuLo60tDReeOEFB99le3q9vsQK9M7Ozhw8eBCj0Vjqa+Lj42ncuLFdrBEREeTk5HD69Om/FM+dONxkFhoaypIlS+jVqxfbt29n+vTpAFy/fp2qVas6dKz8/HyaNGnCiBEjePbZZ+32FRQUcOTIEaZMmUKTJk24desWY8eOpU+fPhw+fNiu7AcffMDLL79se+7m5mb7OScnh/DwcLp27cqSJUs4efIkI0aMwNPTk1GjRjl6+Y+Uw+mfcXF7NQC86oJP7aZ8/+pG5FwlZq3ErVAt1YNduXnWgKSyEObWiC2W6zT29SHUV0yxIAjCw6XQZKL1d6sq5Nxnho/FRa25a7nExERkWb7rYult2rQhJCSENWvW2FaJWLlyJc8//zw6nY7c3FwWLlxIbGwsw4YNAyA4OJh27dqVerzY2FiaNWtm1yS1YsUKAgICOH/+PPXr1y/rpdqJiIjgs88+4+mnn6Z58+b8+uuvfPbZZxiNRjIyMkrNG1JTU0skbsXPU1NT7ymOsnA4IZozZw7PPPMM8+bNY9iwYTRp0gSA77//3taUVlY9evSgR48epe7z8PBg+/btdttiY2N54oknuHLlCrVq/f/oJjc3t9tW161duxaDwcCKFSvQaDSEhoZy7NgxPvroo791QpRjuM6pW+vJT24KWAh90p+lO/6DOVuJRQU5dVww1jSSmWjN4Gs8ZsKQZ83yO9erU3GBC4IgPMIcWbA1KiqKpUuXEhMTQ1paGlu2bGHXrl0AJCQkoNfr6dKlS5mOdfz4cXbv3o1OpyuxLykp6Z4ToilTppCamsqTTz6JLMv4+PgwbNgw5s6di6KSdbtwOCHq2LEj6enp5OTkUKVKFdv2UaNG4eLicl+D+7Ps7GwkSbJVGRabPXs206dPp1atWgwcOJBx48ahUlkvLT4+ng4dOqDR/H9mHhERwZw5c7h165bdNRTT6/Xo9Xrb85ycHMDajHe7Kr6HTVLGYq4e8kDOsCADnSI78PHG7wFnTC4qTF4WnNROFJpklDojPZo0YMXWqwC0Dqh5x/eheN+j8l49rMR9qDzEvXjwjEajbWWF4tUVnJRK4p99CZ3O7YGPkNUqlLY47iQ4OBhJkkhISKBv3753LDt48GDefvtt9u3bR3x8PEFBQbRt2xaLxWLr2vLH6/+j4m3F+3Nzc+ndu3eJLicAfn5+d41dlmW7lSyKabVaPvvsMxYvXkxaWhp+fn4sXboUNzc3qlWrVuprfHx8OHjwoN324qZBb2/vEuUtFguyLGM0GktM/+PI35zDCRFYL/zXX38lKSmJgQMH4ubmhkajKdeEqKioiIkTJ/Liiy/i7v7/q6qPGTOG5s2b4+Xlxf79+5k0aRIpKSl89NFHgLV6LSgoyO5Yf6x6Ky0hmjVrFu+//36J7du2bSv3pO9BkDFT1HAPZ74IA8CllsSWQ/u5tdMZAIO7goLHDKjPWn89nGoUsmJLMgVmC+4qJVeOHOa3Mvwz+XMNn1AxxH2oPMS9eHBUKhW+vr7k5eXZdcR1VqkxFxU98Hhyy1hOpVLRuXNnFi1axLBhw0r0I8rOzsbDwzq4Ra1W06tXL5YtW8bBgwcZMGCA7Qu8j48Pzs7O/PDDDwwdOrTEefLy8gBr15WcnBxCQ0PZuHEjXl5etgqFYmaz2Xbc2zEajZhMpjuWc3d3Jz8/n3Xr1hEeHo5CoSA3t+Q7ExYWxsyZM0lKSqJ69eoAbNy4ETc3N2rWrFniHAaDgcLCQvbu3VtiaH5BQcEd4/4jhxOiy5cv0717d65cuYJer6dbt264ubkxZ84c9Ho9S5YscfSQd2U0GnnhhReQZZnFixfb7Rs/frzt57CwMDQaDa+88gqzZs2yZciOmjRpkt1xc3JyCAgIIDw83C4Ze1hdy9vC0jXVyD9tvf1tevmyNz4XUGDQKclqJaMs+H3eoapFFGRXochsJrCKJ7N6dKWJX+nNk8WMRiPbt2+nW7duYm6qCiTuQ+Uh7sWDV1RUxNWrV9HpdLZOvbIsk5ubi5vbg68hcsSSJUto37494eHhTJs2jbCwMEwmEzt27GDJkiV2HYtfeeUV+vTpg9lsZtSoUbbPKHd3d2JiYpg2bRru7u60bduWmzdvcvr0aUaOHGlrGnN1dcXd3Z1x48axZs0aRo8ezYQJE/Dy8iIxMZGvvvqKZcuW3Xbi5TNnzmAwGMjNzaWgoICLFy8C2CZ7PH/+PAcPHqRVq1bcunWLBQsWcPbsWdtcRG5ubmzYsIHJkydz5swZAJ5++mkaNWpEdHQ0c+bMITU1lZkzZxIdHW1LkP6oqKgIZ2dnOnToUKID990SuT9yOCEaO3YsLVu25Pjx43adoZ555hm7js33S3EydPnyZXbt2nXXhKRVq1aYTCaSk5MJCQnB19eXtLQ0uzLFz2/X70ir1ZaaTKnV6kfin9mFzC0krPADwOThjGtgPQq/P4UE5NZXYaphRHPKev3uWg+u6/X4uunYOGIITuqy/8o8Ku/Xw07ch8pD3IsHx2w2I0kSCoXC1leluKmleHtlVbduXY4cOcKMGTOYMGECKSkpVK9enRYtWrB48WK72MPDw/Hz8yM0NJSaNWvaHWfq1Kmo1WqmTZvG9evX8fPzY/To0XbvSfHPNWvWZN++fUycOJHu3buj1+upXbs23bt3R6VS3TaB7N27N5cvX7Y9b9HCuth3cV8oWZZZsGAB586dQ61W06lTJ/bv309QUBA5OTlIkkRubi7nzp2zi2nTpk28+uqrtG3bFldXV4YNG8b06dNLvW8KhQJJkkr9+3Lk783hhOinn35i//79dn1ywDr8/dq1a44e7o6Kk6ELFy6we/fuMo1iO3bsGAqFAm9vbwBat27N5MmTMRqNtjdm+/bthISElNpc9qi7pb/IzzuuU5QRiEWtRF+rChsWnUaySBhdFBT5geaUC5glVK5wvUgPEkwL7+xQMiQIgiDcOz8/P2JjY4mNjb1jufz8fG7dusXIkSNL7FMoFEyePJnJkyeX2BcYGFiiA3e9evX47rvvHIozOTn5jvsbNmzI0aNHS2z/Yz+gl156iZdeesluf+3atdm8ebNDsfxVDn/CWSwWzGZzie2//fab3XD3ssjLyyMxMdH2/NKlSxw7dgwvLy/8/Px47rnnOHLkCJs2bcJsNtuG23l5eaHRaIiPj+eXX36hU6dOuLm5ER8fz7hx4xg8eLAt2Rk4cCDvv/8+I0eOZOLEiZw6dYqFCxeyYMECRy/9kXA67XNOrqgBgNnTGZ0LmNLBrJbIbOwERRKYJWSNhXyNAiQY/nhzsaK9IAhCJWKxWEhPT2f+/Pl4enra5gQU7p3DCVF4eDgff/wxS5cuBaxVj3l5ebz33nv07NnToWMdPnyYTp062Z4X99sZNmwY06ZN4/vvvwcosfDc7t276dixI1qtli+//JJp06ah1+sJCgpi3Lhxdv1/PDw82LZtG9HR0bRo0YJq1aoxderUv+WQe1mW2f3fBAqv+yIrFXg3VZJ2zYgS0HspyQ+24HRNjayQMegUeLu5MqtnOB3qBFZ06IIgCMIfXLlyhaCgIGrWrMmqVatKdIQWHOfwO/jPf/6T7t2706hRI4qKihg4cCAXLlygWrVq/Oc//3HoWB07drzjnAt3m4+hefPmtmnM7yQsLIyffvrJodgeRReur+fYOmvNmdHHjXpdq3DzX9Ye/uktlLjrNRiQMWsACZY+9zShvt4VGLEgCIJQmtKavIS/xuGEKCAggOPHj/PVV19x/Phx8vLyGDlyJIMGDcLZ2bk8YhTuA1m2sO7z/1JwvRqyUoGluhP7PstFYQGjq4IiH9D83i/OopHQKJXUr+7YzOOCIAiC8LByKCEyGo00aNCATZs2MWjQIAYNGlRecQn3WWLODtJTrZ3YTF4uqJUy5IGsgOud1ajzFFjMMrICZBUMbt4E9W2GWQqCIAjCo8ahcYdqtZqiCpjQSvhrZNnCLzf/hSHXmv/KKgWGAusQyqJANXofBepsa/JjdpIZ27klk7o8VWHxCoIgCMKD5vBEDMUTJf15Nkih8krXJ5JnyuXG0d/ncHJSoDBYa4tyvQFkpN9XKun5RCCvt2pfIXEKgiAIQkVxuA/RoUOH2LlzJ9u2baNx48YlphV3dA4Dofz9lreP9OM69OkqZAlMVbSo06wJbVE1CY3BgoS1xujDbr0rMlRBEARBqBAOJ0Senp7069evPGIRysm1vDgufV8NALOHM9oUazJkcgaDBzj/Zp1k06+aOy5/mnBTEARBEP4OHE6IVq5cWR5xCOXELJu4mnGT6z8/Zt2gtSY8hdUVXIvQ4JStQDJLoISVLz9XgZEKgiAID0pycjJBQUEcPXq0xFx/f1dl7kNksViYM2cObdu25fHHH+ftt9+msLCwPGMT7oNruVu4tKMKWCRklQJJYW02S+2gBjcLUq71V+CZto2o6eVRwdEKgiAIAKmpqbzxxhvUqVMHrVZLQEAAkZGR7Ny5s6JDs9mzZw99+/bFz88PV1dXmjZtytq1a0uU++abb2jQoAFOTk40bty4TEty7Nmzh+bNm6PVaqlbty6rVq0qhyuwV+aEaMaMGbzzzjvodDpq1KjBwoULiY6OLs/YhPtg/+lvOPmJdcE/2UmLDNx4UoupGrjoQZIlZAleaf9kxQYqCIIgANbamxYtWrBr1y7mzZvHyZMniYuLo1OnTpXqc3f//v2EhYWxfv16Tpw4wfDhwxk6dCibNm2yK/Piiy8ycuRIjh49ytNPP83TTz/NqVOnbnvcS5cu0atXLzp16sSxY8d48803iYqKYuvWreV6PWVOiD7//HM++eQTtm7dyoYNG9i4cSNr1661W6BNqFzMFhMbY13BAhatClnnjL6akuxQBUonE5arxX2H3KjpKWqHBEEQKoPXXnsNSZI4ePAg/fr1o379+oSGhjJ+/Hjb6gwjRoygd2/7QTBGoxFvb2+WL18OWFt25s6dS926ddFqtdSqVYsZM2bc9rynTp2iR48e6HQ6fHx8GDJkCOnp6bct/8477zB9+nTatGlDcHAwY8eOpXv37naDqxYuXEj37t2ZMGECDRs2ZPr06TRv3pxFixbd9rhLliwhKCiI+fPn07BhQ15//XWee+65cl+DtMwJ0ZUrV+zWKuvatSuSJHH9+vVyCUz46xKvbOLmKetQe1mjAUkiO1gFyCgyNUgG68iy2MFiUUBBEB59sixTaDRSYHjwj7Ius5GZmUlcXBzR0dElRnGDdWATQFRUFHFxcaSkpNj2bdq0iYKCAvr37w/ApEmTmD17NlOmTOHMmTOsW7cOHx+fUs+blZVF586dadasGYcPHyYuLo60tDReeOEFh97j7OxsvLy8bM/j4+Pp2rWrXZmIiIg7Lrt1u9fEx8c7FIujytyp2mQy4eTkZLdNrVZjNBrve1DC/RG7ej+KbIP1iVqJRS2R01BCgYx0S40EqJQK6vlWq9A4BUEQHoRCo4kOy7+okHMfH/86Lhr1XcslJiYiyzINGjS4Y7k2bdoQEhLCmjVriImJAayDnp5//nl0Oh25ubksXLiQ2NhYhg0bBkBwcDDt2rUr9XixsbE0a9aMmTNn2ratWLGCgIAAzp8/T/369e8a+9dff82hQ4f49NNPbdtSU1NLJGE+Pj6kpqbe9ji3e01OTg6FhYXltkxYmRMiWZZ56aWX0Gq1tm1FRUWMHj3aLosV8xBVDjlFKZzb54TSrEfSyKBRY3KRkJUSynwFyt/7w7/wZBhKhcPzcwqCIAjlwJEFW6Oioli6dCkxMTGkpaWxZcsWdu3aBUBCQgJ6vZ4uXbqU6VjHjx9n9+7d6HS6EvuSkpLumhDt3r2b4cOHs2zZMkJDQ8t8DZVJmROi4gzzjwYPHnxfgxHun6/3fI45w4wSkDy1IEkYXSQkM0hFSiSTDEi82KZJRYcqCILwQDirVewdORg3N3cUD/iLoLO6bB+39erVQ5Ikzp49e9eyQ4cO5e233yY+Pp79+/cTFBRE+/bWlQYcrUXJy8sjMjKSOXPmlNjn5+d3x9f++OOPREZGsmDBAoYOHWq3z9fXl7S0NLttaWlp+Pr63vZ4t3uNu7t7uS4iX+aESMw/9PAoLDKw5X+FqHKs686Z9GpwgZy6StSFShRFICHhrlMTWL1KBUcrCILwYEiShLNajYtG/cATorLy8vIiIiKCRYsWMWbMmBL9iLKysmz9iKpWrcrTTz/NypUriY+PZ/jw4bZy9erVw9nZmZ07dxIVFXXX8zZv3pz169cTGBiISlX2KQr37NlD7969mTNnDqNGjSqxv3Xr1uzcuZM333zTtm379u08+eTtRza3bt26xND87du307p16zLHdS8q52+E8JdM/+h/3LzsjKLIOiO17KTB4KagwE+NlCehKrCW6/F4XSRJqsBIBUEQhD9btGgRZrOZJ554gvXr13PhwgUSEhL417/+VSIpiIqKYvXq1SQkJNi15Dg5OTFx4kRiYmL4/PPPSUpK4sCBA7YRaH8WHR1NZmYmL774IocOHSIpKYmtW7cyfPhwzGZzqa/ZvXs3vXr1YsyYMfTr14/U1FRSU1PJzMy0lRk7dixxcXHMnz+fs2fPMm3aNA4fPmw3fcCkSZPsapZGjx7NxYsXiYmJ4ezZs3zyySd8/fXXjBs37p7ez7ISCdEj5kZ6Lj8fSEZRaO1MLSsVoFCQG6hCYVCgyreWC27gxLs9IiowUkEQBKE0derU4ciRI3Tq1Im33nqLxx57jG7durFz504WL15sV7Zr1674+fkRERGBv7+/3b4pU6bw1ltvMXXqVBo2bEj//v25ceNGqef09/dn3759mM1mwsPDady4MW+++Saenp63rU1bvXo1BQUFzJo1Cz8/P9vj2WeftZVp06YN69atY+nSpTRp0oRvv/2WDRs28Nhjj9nKpKSkcOXKFdvzoKAgfvjhB7Zv306TJk2YP38+n332GRER5fuZJcmO9OD6m8rJycHDw4Ps7Gzc3d0rOpw7OnbqCmPe+QrX3AxILETWqjH6enA50hlVnhJVEah0RtaNHUAjz1rlEoPRaGTz5s307NkTtfruoyqE8iHuQ+Uh7sWDV1RUxKVLlwgKCrKNkLZYLOTk5ODu/uD7EJWXvLw8atSowcqVK+0Skcruft6L0u51MUc+vx1ey0yo3C6lXQBAkVGEBZC1avJrKsGsQGntUsTjT3iUWzIkCIIglD+LxUJ6ejrz58/H09OTPn3EfHJ/lUiIHiGyLLP34GEUBSYst6wVf7KThqx6atQFEhKgcDbxbJNmFRuoIAiC8JdcuXKFoKAgatasyapVqxzqCC2UTryDj5Avvv2FX+MVaG7mAWBx0mDSqbCoFWhyAWTcGmbTulqjCo1TEARB+GsCAwMdmrNIuLtHoxFVICe3kM+/3g+As8WaEMnOWgr8lSj11tusrZlP98YheGpKTrwlCIIgCH9nIiF6RHz530Po9WbcXW9hylIgA7KziuwgDYrfV++oUtvEPxo4ti6NIAiCIPwdiIToEXHqrHWRXTfLLesGrZrshhoUJiUSoKmRz7Am7XBWaW9/EEEQBEH4mxIJ0SNAlmWupWaALHPrkDXhsbhoKfRQIckgq2S8wwqIrFG+s3wKgiAIwsNKJEQPOVmWmf2vOG6mFyCZTEhGGRkweakxOysB0NbOY1hwV9F3SBAEQRBuQyRED7mzials2XkKACdyrBtVSnIaqJHM1tvr4pdPu+qNKypEQRAEQaj0REL0kDufZF0R2DvwJtJZ68yLFmc1+VWdkABZIVO1ihZ/56oVGKUgCIJQmSQnJyNJEseOHavoUCoNkRA95I6dvAqAM3lIJmtzWU5LFxSm34faB+fSy/8JlJK41YIgCA+L1NRU3njjDerUqYNWqyUgIIDIyEh27txZ0aHZ7Nmzh759++Ln54erqytNmzZl7dq1dmVOnz5Nv379CAwMRJIkPv744zId+8SJE7Rv3x4nJycCAgKYO3duOVyBPfEp+ZBLunwTAOMVC2CdeyjfRwvWp7j65RPh93hFhScIgiA4KDk5mRYtWrBr1y7mzZvHyZMniYuLo1OnTnarxFe0/fv3ExYWxvr16zlx4gTDhw9n6NChbNq0yVamoKCAOnXqMHv2bHx9fct03JycHMLDw6lduza//vor8+bNY9q0aSxdurS8LgWo4IRo7969REZG4u/vjyRJbNiwwW7/Sy+9hCRJdo/u3bvblcnMzGTQoEG4u7vj6enJyJEjycvLsytTEZnmg5CTW8jVa5kgy+Sc0ADW0WVGJxUSgMaCv5c7tV19KjROQRAEoexee+01JEni4MGD9OvXj/r16xMaGsr48eM5cOAAACNGjKB37952rzMajXh7e7N8+XLAut7Z3LlzqVu3Llqtllq1ajFjxozbnvfUqVP06NEDnU6Hj48PQ4YMIT09/bbl33nnHaZPn06bNm0IDg5m7NixdO/ene+++85W5vHHH2fevHkMGDAArbZs076sXbsWg8HAihUrCA0NZcCAAYwZM4aPPvqoTK+/VxWaEOXn59OkSRMWLVp02zLdu3cnJSXF9vjPf/5jt3/QoEGcPn2a7du3s2nTJvbu3cuoUaNs+ysq03wQ9uw7j9ks4+aRg2yUkAG9rxaFyTq6zLlmHs296lZskIIgCJWELMsUGowUVMCjrMtsZGZmEhcXR3R0NK6uriX2e3p6AhAVFUVcXBwpKSm2fZs2baKgoID+/fsDMGnSJGbPns2UKVM4c+YM69atw8en9C/IWVlZdO7cmWbNmnH48GHi4uJIS0vjhRccm8w3OzsbLy8vh17zZ/Hx8XTo0AGNRmPbFhERwblz57h169ZfOvadVOhaZj169KBHjx53LKPVam9bzZaQkEBcXByHDh2iZcuWAPz73/+mZ8+e/POf/8Tf398u09RoNISGhnLs2DE++ugju8TpYbT1xxMAKGXryvYoFeTWUqEwAcg418qnm0+LCoxQEASh8ig0mug274sKOffBGa/jolHftVxiYiKyLNOgQYM7lmvTpg0hISGsWbOGmJgYAFauXMnzzz+PTqcjNzeXhQsXEhsby7BhwwAIDg6mXbt2pR4vNjaWZs2aMXPmTNu2FStWEBAQwPnz56lfv/5dY//66685dOgQn3766V3L3klqaipBQUF224oTudTUVKpUqfKXjn87lb4P0Z49e/D29iYkJIRXX32VjIwM2774+Hg8PT1tyRBA165dUSgU/PLLL7YyFZFplje93sjZ89YRZoZkCQBZq6bQx/oHp3Az4e3hSpMqwRUWoyAIguAYRxZsjYqKYuXKlQCkpaWxZcsWRowYAVgrDPR6PV26dCnTsY4fP87u3bvR6XS2R3FSlpSUdNfX7969m+HDh7Ns2TJCQ0PLfA2VSaVe7b579+48++yzBAUFkZSUxDvvvEOPHj2Ij49HqVSSmpqKt7e33WtUKhVeXl6kpqYC95Zp6vV69Hq97XlOjnV+H6PRiNFovK/XeK9++uUCRqOMi1s+nLDGVFjDCaXBmuM6+RXQqXpTLCYzFswPNLbi96iyvFd/V+I+VB7iXjx4RqO1mcpisWCxWEeZOKmUbJ8wGJ2bG5IkPdB4tEqFLY47CQ4ORpIkEhIS6Nu37x3LDh48mLfffpt9+/YRHx9PUFAQbdu2xWKx2Prr/PH6/6h4W/H+3NxcevfuzezZs0uU9fPzu2PsP/74I5GRkcyfP5/BgwffsWzxPSlO/Iqf/5GPjw+pqal224ubBr29vUuULz6e0WhEqVTa7XPkb65SJ0QDBgyw/dy4cWPCwsIIDg5mz549Zc5678WsWbN4//33S2zftm0bLi4u5XZeRxw8YR1d5sYt8swgKxUUBDghWUBGxiUwD6fzBWw+u7nCYty+fXuFnVv4f+I+VB7iXjw4KpUKX19f8vLyMBgMtu3OGjVmfdEDjye3jKdUqVR07tyZRYsWMWzYsBL9iLKzs/Hw8ABArVbTq1cvli1bxsGDBxkwYIDtC7yPjw/Ozs788MMPDB06tMR5igcf5efnk5OTQ2hoKBs3bsTLywuVyj41MJvNtuP+2c8//8yAAQN477337M5fGovFQlFRkV2Z3NzcEuWaNm3Khx9+SEZGBmq1tdXjhx9+oF69eiiVyhLnMBgMFBYWsnfvXkwmk92+goKC28bzZ5U6IfqzOnXqUK1aNRITE+nSpQu+vr7cuHHDrozJZCIzM9PW78jX15e0tDS7MsXPb9c3adKkSYwfP972PCcnh4CAAMLDw3F3d7+fl3TPNsb/3hH9hhFQIztpMWutmbFFC09WC2HoY89XSGxGo5Ht27fTrVs32y+z8OCJ+1B5iHvx4BUVFXH16lV0Oh1OTk6AtTYiNzcXtwqoIXLEkiVLaN++PeHh4UybNo2wsDBMJhM7duxgyZIlnD592lb2lVdeoU+fPpjNZkaNGmX7jHJ3dycmJoZp06bh7u5O27ZtuXnzJqdPn2bkyJHodNalnFxdXXF3d2fcuHGsWbOG0aNHM2HCBLy8vEhMTOSrr75i2bJlJWpewNpM1r9/f8aMGcOgQYNsyYdGo7F1rDYYDJw5cwawfj5nZGRw8eJFXF1d8fHxwc3NjU8++YQNGzbYvjCMGDGCefPmMX78eGJiYjh16hSffvop8+fPL/UzuKioCGdnZzp06GC718XulKD92UOVEP32229kZGTg5+cHQOvWrcnKyuLXX3+lRQtr5+Fdu3ZhsVho1aqVrczkyZMxGo22f0Tbt28nJCTkth2ztFptqcMD1Wp1pfhnllWQwYUEA1hk8i9Zb6HspEb+ffJFhZuJDj5hFR5rZXm//u7Efag8xL14cMxmM5IkoVAoUCis/xuLm1qKt1dWdevW5ciRI8yYMYMJEyaQkpJC9erVadGiBYsXL7aLPTw8HD8/P0JDQ6lZs6bdcaZOnYparWbatGlcv34dPz8/Ro8ebfeeFP9cs2ZN9u3bx8SJE+nevTt6vZ7atWvTvXt3VCpVqQnkmjVrKCgoYPbs2XZNbU899RR79uwBrF1Tij+fAebPn8/8+fN56qmn2LBhA5IkkZGRQVJSki2mKlWqsG3bNqKjo3n88cepVq0aU6dOZfTo0aW+XwqFAkmSSv37cuTvTZId6cF1n+Xl5ZGYmAhAs2bN+Oijj+jUqRNeXl54eXnx/vvv069fP3x9fUlKSiImJobc3FxOnjxpS1h69OhBWloaS5YswWg0Mnz4cFq2bMm6desAa/ViSEgI4eHhTJw4kVOnTjFixAgWLFhQ5lFmOTk5eHh4kJ2dXSlqiLYe/5oZUy6jzc1BlZiDrFRgqe5JahsdFo0ClxYZrOn5CiHuARUSn9FoZPPmzfTs2VP8869A4j5UHuJePHhFRUVcunSJoKAgW62BxWIhJycHd3f3Sp0QOSIvL48aNWqwcuVKnn322YoOp8zu570o7V4Xc+Tzu0JriA4fPkynTp1sz4ubqYYNG8bixYs5ceIEq1evJisrC39/f8LDw5k+fbpd7c3atWt5/fXX6dKlCwqFgn79+vGvf/3Ltt/Dw8OWabZo0cKWaT7MQ+6Pn/oNAFVWIWCdnbqoqgKLWkJG5rFAT+q71bzTIQRBEISHmMViIT09nfnz5+Pp6UmfPn0qOqSHXoUmRB07drzjEMOtW7fe9RheXl622qDbCQsL46effnI4vsrIIpvZ92MOmJyQM43WBVydNNwK1YIkIaktPBPQtlK3jwuCIAh/zZUrVwgKCqJmzZqsWrWqREdowXHiHXzIpBWeJveWFlV2kXVEmUpJQYAaNGowgdbLTA+/Jyo6TEEQBKEcBQYGOjRnkXB3j0Yj6t/IhVs/YdKrkAqtcyvIGhWZj6mQfx9p2KV5ICpFydEAgiAIgiDcnkiIHiKyLPP9RmsndFW2tf+QSadGUev3maolmUmte1VYfIIgCILwsBIJ0UMksyiZ4z9WRVFgQGEwIwO3WrigLrCOWlGpFVRxLrkYoCAIgiAIdyYSoofIr0n70OdrUWdYZxhFqyG/thJDirWGKDjAs+KCEwRBEISHmEiIHiJ7froCsozylrW5zFDNCQkVEhIWjUzsYDHsUhAEQRDuhUiIHiIXzhYhFZqRzNaRBVmPuaDIt9YOeVRT4q/zqsjwBEEQBOGhJRKih8Stwt/IuO6MstC6SKGslMh6TInCqECWoGfLuhUcoSAIgvCwSE5ORpIkjh07VtGhVBoiIXpILP96Gya9CmWBNSEyuapQGn8fXaaSeatV14oMTxAEQbiPUlNTeeONN6hTpw5arZaAgAAiIyPZuXNnRYdms2fPHvr27Yufnx+urq40bdqUtWvX2pVZtmwZ7du3p0qVKlSpUoWuXbty8ODBMh27efPmaLVa6taty6pVq8rpKv6fSIgeAnv2neP79RkAKH5PiApralHorbevqrsTLpqSi9EKgiAID5/k5GRatGjBrl27mDdvHidPniQuLo5OnToRHR1d0eHZ7N+/n7CwMNavX8+JEycYPnw4Q4cOZdOmTbYye/bs4cUXX2T37t3Ex8cTEBBAeHg4165du+1xL126RK9evejUqRPHjh3jzTffJCoqqkyrV/wVIiF6CCxZvQeAoBaXkX5vMssJcUJZYL19bQIDKygyQRAE4X577bXXkCSJgwcP0q9fP+rXr09oaCjjx4/nwIEDAIwYMYLevXvbvc5oNOLt7c3y5csB63pnc+fOpW7dumi1WmrVqsWMGTNue95Tp07Ro0cPdDodPj4+DBkyhPT09NuWf+edd5g+fTpt2rQhODiYsWPH0r17d7777jtbmbVr1/Laa6/RtGlTGjRowGeffYbFYrljTdeSJUsICgpi/vz5NGzYkNdff53nnnuOBQsWlOn9u1ciIarksnIKuJ6aA4CzxYgkg6yQMLo7oTCCJMFL7VtWcJSCIAiVnyzLFOqNFfIo6zIbmZmZxMXFER0djatryXnlPD09AYiKiiIuLo6UlBTbvk2bNlFQUED//v0BmDRpErNnz2bKlCmcOXOGdevW4ePjU+p5s7Ky6Ny5M82aNePw4cPExcWRlpbGCy+84NB7nJ2djZfX7Qf4FBQUYDQa71gmPj6erl3tu4FEREQQHx/vUCyOEmuZVXILluwAwMMnl5u/ugJmZK0Kpd66PMewbs1pWMO7AiMUBEF4OBQZTPSZtKZCzr138Rs4a9V3LZeYmIgsyzRo0OCO5dq0aUNISAhr1qwhJiYGgJUrV/L888+j0+nIzc1l4cKFxMbGMmzYMACCg4Np165dqceLjY2lWbNmzJw507ZtxYoVBAQEcP78eerXr3/X2L/++msOHTrEp59+etsyEydOxN/fn65du2IwGEotk5qaWiJx8/HxIScnh8LCQpydne8ay70QNUSVWF6+nh/3nwfg8WdPkp9o7URt8NIgIYEa3uraoSJDFARBEO4jRxZsjYqKYuXKlQCkpaWxZcsWRowYAUBCQgJ6vZ4uXbqU6VjHjx9n9+7d6HQ626M4KUtKSrrr63fv3s3w4cNZtmwZoaGhpZaZPXs2X375Jf/9739xcnIqU1wPkqghqsTOJaZiscjovApw886FAusKrnnBOgACa7khSVJFhigIgvDQcNKo+H7WENzd3VEoHmx9gJOmbB+39erVQ5Ikzp49e9eyQ4cO5e233yY+Pp79+/cTFBRE+/btARyuRcnLyyMyMpI5c+aU2Ofn53fH1/74449ERkayYMEChg4dWmqZf/7zn8yePZsdO3YQFhaGxWK57fF8fX1JS0uz25aWloa7u3u51Q6BSIgqtavXMgHw8M0h9Vd/a/8hQF9VA8BLrR+vwOgEQRAeLpIk4axV46xVP/CEqKy8vLyIiIhg0aJFjBkzpkQ/oqysLFs/oqpVq/L000+zcuVK4uPjGT58uK1cvXr1cHZ2ZufOnURFRd31vM2bN2f9+vUEBgaiUpU9NdizZw+9e/dmzpw5jBo1qtQyc+fOZcaMGWzdupWWLe/e57V169Zs3rzZbtv27dtp3bp1meO6F5XzN0IA4NIV61B792r5JG9ysW7UqpFVCmSFTI+GDSswOkEQBKE8LFq0CLPZzBNPPMH69eu5cOECCQkJ/Otf/yqRFERFRbF69WoSEhJsfYUAnJycmDhxIjExMXz++eckJSVx4MAB2wi0P4uOjiYzM5MXX3yRQ4cOkZSUxNatWxk+fDhms7nU1+zevZtevXoxZswY+vXrR2pqKqmpqWRmZtrKzJkzhylTprBixQoCAwNtZfLy8mxlJk2aZFezNHr0aC5evEhMTAxnz57lk08+4euvv2bcuHH39H6WlUiIKrFfT1wGwMM3l9wz1lohi6szsgLUrgpcNZqKDE8QBEEoB3Xq1OHIkSN06tSJt956i8cee4xu3bqxc+dOFi9ebFe2a9eu+Pn5ERERgb+/v92+KVOm8NZbbzF16lQaNmxI//79uXHjRqnn9Pf3Z9++fZjNZsLDw2ncuDFvvvkmnp6et61NW716NQUFBcyaNQs/Pz/b49lnn7WVWbx4MQaDgeeee86uzPz5821lUlJSuHLliu15UFAQP/zwA9u3b6dJkybMnz+fzz77jIiICIffS0eIJrNKLPNWPgA6t1xkfTVkwOKsAkmiScPqFRucIAiCUG78/PyIjY0lNjb2juXy8/O5desWI0eOLLFPoVAwefJkJk+eXGJfYGBgiQ7c9erVs5tD6G5WrVp11xmkk5OTS91usVjIycmxHefPOnbsyNGjR8scy/0gEqJKymKRyS/QA5B5ztqJGqUCs1aBjEx02ycrMDpBEAShIlksFtLT05k/fz6enp706dOnokN66ImEqJLKL9BTnLyn/eQGgKxVY3RTonCXedyvTgVGJwiCIFSkK1euEBQURM2aNVm1apVDHaGF0ol3sJLKy7fWDinVZnLPW9cpk520mFwV1KnjLIbbC4Ig/I2V1uQl/DWiU3UllZtXBIBGrcec9Xvyo1ZicFXQKaxWBUYmCIIgCI8ekRBVUsU1RAq9EQBZqQCFApO7RDMfkRAJgiAIwv0kEqJKKi/fWkNkKJ7OQaVEBmRvE008Rf8hQRAEQbifREJUSeX83mRGrnV6c1mtwuCppEptFZ4aXQVGJgiCIAiPHpEQVVK3cm8BoCj4vclMpcTkLNExpGZFhiUIgiAIjySREFVSmTmZIMsof0+IUKswOUtE1G5csYEJgiAIwiNIJESVVHr2DSS9CUmWkSVAqcBQVaKBu+hQLQiCIPw1ycnJSJLEsWPHKjqUSkMkRJVU8uVsFIW/1w6prMt1KINkqmrdKzYwQRAEodylpqbyxhtvUKdOHbRaLQEBAURGRrJz586KDs1mz5499O3bFz8/P1xdXWnatClr1661K/Pdd9/RsmVLPD09bWXWrFlTpmM3b94crVZL3bp177pEyP0gJmaspDIzzP/ff0itxKyWaNqyWgVHJQiCIJS35ORk2rZti6enJ/PmzaNx48YYjUa2bt1KdHQ0Z8+eregQAdi/fz9hYWFMnDgRHx8fNm3axNChQ/Hw8KB3794AeHl5MXnyZBo0aIBGo2HTpk0MHz6catWq0bp161KPe+nSJXr16sXo0aNZu3YtO3fuJCoqyraIbXmp0BqivXv3EhkZib+/P5IksWHDBrv9kiSV+pg3b56tTGBgYIn9s2fPtjvOiRMnaN++PU5OTgQEBDB37twHcXl/ib5QQllgsD5RqzC5SAxtJNYvEwRBuFeyLFOkN1JYZKSwyPBAH47MKv3aa68hSRIHDx6kX79+1K9fn9DQUMaPH8+BAwcAGDFihC3pKGY0GvH29mb58uWAdb2zuXPnUrduXbRaLbVq1WLGjBm3Pe+pU6fo0aMHOp0OHx8fhgwZQnp6+m3Lv/POO0yfPp02bdoQHBzM2LFj6d69u90CsR07duSZZ56hYcOGtjJhYWHs27fvtsddsmQJQUFBzJ8/n4YNG/L666/z3HPPsWDBgjK9f/eqQmuI8vPzadKkCSNGjODZZ58tsT8lJcXu+ZYtWxg5ciT9+vWz2/7BBx/w8ssv2567ubnZfs7JySE8PJyuXbuyZMkSTp48yYgRI/D09GTUqFH3+Yruj4JCA4YiBS6/J0SyWoVJJ/Fk1QYVHJkgCMLDq0hv4oWXV1XIubd+PRZnJ81dy2VmZhIXF8eMGTNwdXUtsd/T0xOAqKgoOnToQEpKCn5+fgBs2rSJgoIC+vfvD8CkSZNYtmwZCxYsoF27dqSkpNy2dikrK4vOnTsTFRXFggULKCwsZOLEibzwwgvs2rWrzNeZnZ1Nw4YNS90nyzK7du3i3LlzzJo167bHiI+Pp2vXrnbbIiIiePPNN8scx72o0ISoR48e9OjR47b7fX197Z7/73//o1OnTtSpYz8xoZubW4myxdauXYvBYGDFihVoNBpCQ0M5duwYH330UaVNiBIv3QALSJbfv1EoFZirg0aprtjABEEQhHKVmJiILMs0aHDnL8Bt2rQhJCSENWvWEBMTA8DKlSt5/vnn0el05ObmsnDhQmJjYxk2bBgAwcHBtGvXrtTjxcbG0qxZM2bOnGnbtmLFCgICAjh//jz169e/a+xff/01hw4d4tNPP7Xbnp2dTY0aNdDr9SiVSj755BO6detGTk5OqcdJTU3Fx8fHbpuPjw85OTkUFhbi7Ox811juxUPThygtLY0ffviB1atXl9g3e/Zspk+fTq1atRg4cCDjxo2zrfwbHx9Phw4d0Gj+PzOPiIhgzpw53Lp1iypVqjywayirE+cSkUxmAGQASYIQ0f9dEAThr3DSqvh62Uu4ubmjUDzYBbKdtGX7QutI01pUVBRLly4lJiaGtLQ0tmzZYqvNSUhIQK/X06VLlzId6/jx4+zevRudruTEv0lJSXdNiHbv3s3w4cNZtmwZoaGhdvvc3Nw4duwYeXl57Ny5k/HjxxMYGEjz5s3LeKUPxkOTEK1evRo3N7cSTWtjxoyhefPmeHl5sX//fiZNmkRKSgofffQRYM00g4KC7F5TnHmmpqaWmhDp9Xr0er3teXEWazQaMRqN9/W6SnPmwm8oikzWJ0olsiQRGOr+QM59PxTH+bDE+6gS96HyEPfiwTMajciyjMViwWKx2LY7adU4aVVI0oNNiGRZLlOyExwcjCRJJCQk0Ldv3zuWHTx4MG+//Tb79u0jPj6eoKAg2rZti8ViQavVApS4/mLF24r35+bm0rt37xJ9cAH8/PxKPUaxH3/8kcjISObPn8/gwYNLLVvcshMWFsaZM2eYPXs2X3/9te0e/ZGvry+pqal221NSUnB3d0er1ZYob7FYkGUZo9GIUqm02+fI39xDkxCtWLGCQYMG4eTkZLd9/Pjxtp/DwsLQaDS88sorzJo1y/YL4ahZs2bx/vvvl9i+bds2XFxc7umYjjh1+jpSUfGQewUmZ4naBti8eXO5n/t+2r59e0WHICDuQ2Ui7sWDo1Kp8PX1JS8vD4PBYLcvNze3gqK6O5VKRefOnVm0aBHDhg0r0Y8oOzsbDw8PANRqNb169WLZsmUcPHiQAQMG2L7A+/j44OzszA8//MDQoUNLnCcvLw+w9uXNyckhNDSUjRs34uXlZWthKWY2m2/bvPXzzz8zYMAA3nvvPbvz34ler6egoAAo/V40a9aM7du32x1ry5YtPP7446Ue32AwUFhYyN69ezGZTHb7is9TFg9FQvTTTz9x7tw5vvrqq7uWbdWqFSaTieTkZEJCQvD19SUtLc2uTPHz2/U7mjRpkl2ilZOTQ0BAAOHh4bi7l+88QPkFehasPIfK8HuTmUqJ0V3BuM4DHpo5iIxGI9u3b6dbt26o1aLfU0UR96HyEPfiwSsqKuLq1avodDrbF2lZlsnNzcXNze2B1xA5YsmSJbRv357w8HCmTZtGWFgYJpOJHTt2sGTJEk6fPm0r+8orr9CnTx/MZjOjRo2yfUa5u7sTExPDtGnTcHd3p23btty8eZPTp08zcuRIW9OYq6sr7u7ujBs3jjVr1jB69GgmTJiAl5cXiYmJfPXVVyxbtqxEzQtYm8n69+/PmDFjGDRokC350Gg0eHl5AdYuLS1atCA4OBi9Xs+WLVv46quvWLRoEWBtTps8eTLXrl2zdYkZM2YMn332GTNmzGD48OHs3r2bDf/X3r2HRVWtfwD/7uEyDJfholyGwx3kIgKieRTLW5pgiqiUZiaooAcDFcxL5hExM8zikB5IywSqI5Wm2S9RlEi8JJqWmKaiEoQlUKTcb8PM+v2B7JoAgUL2yLyf55nnYa+99p539mIzL2uvvdeBA/j888/b/Q5uaGiARCLB6NGj23SadCVBa/VQJES7du3C0KFD4ePj02ndvLw8iEQiWFhYAAD8/Pywdu1ayOVy/g9RVlYW3NzcOhw/JBaL2+1d0tHReeB/zL7P/xFKJQc0/X7JTNEfsDQwU+sTuD29cbxI56gd1Ae1Re9RKBTgOA4ikQgiUcsYzNZLLa3l6srFxQXffvstNm3ahJUrV6KkpATm5uYYOnQotm/frhL7xIkTIZPJ4OnpCRsb1bkuY2NjoaOjg7i4ONy+fRsymQwREREqx6T1ZxsbG3z11VdYvXo1AgIC0NjYCHt7ewQEBEBbu/1LjB988AHq6uqwefNmlUttY8aMQU5ODoCWHpqoqCj89NNPkEgkcHd3x//+9z88/fTTqKqqAsdxKC0txa1bt/iYnJ2dkZGRgZiYGGzbtg02NjZ49913O7wJSyQSgeO4ds+v7pxvgiZENTU1uHnzJr9cWFiIvLw8mJmZwc6uZYqKqqoq7N27FwkJCW22z83NxdmzZzFu3DgYGRkhNzcXMTExeO655/hk59lnn8WGDRsQFhaG1atX4/Lly9i6desDf57BX3X1eikA/D6oWksEI2vdhy4ZIoQQ8tfJZDIkJSUhKSnpvvVqa2tx9+5dhIWFtVknEomwdu1arF27ts06BweHNmOaBgwYoPIMoc6kpaV1+gTpV155Ba+88kqb8j+OA2pvH2PHjsWFCxe6HEtPEDQhOn/+PMaNG8cvt16mCg0N5Q/QRx99BMYYZs+e3WZ7sViMjz76CHFxcWhsbISjoyNiYmJULncZGxvj6NGjiIyMxNChQ9G/f3/Exsaq7S331bX1AABRY0tCBC0RHn1sgIAREUIIUTdKpRLl5eVISEiAiYkJpk6dKnRIDz1BE6KxY8d2Oup+0aJFHSYvQ4YM4Z/aeT/e3t44efLkX4qxt9U11gDNSoia790BoKOFmX7DBY6KEEKIOikuLoajoyNsbGyQlpbWZiA06T46gmrmTtVvEDXem8NMJEKzVAtuxu0P/iaEEKKZ2rvkRf4e9R1VpqF+un3392cQaWtBbsZBROOHCCGEkAeKEiI10tAoR1kJA9fYkhAxbRF0TKiJCCGEkAeNvm3VSPlvNVAqOIj4hzJqwWGoubBBEUIIIRqAEiI10nBv7BDX0NpDpIV5/qOFDIkQQgjRCJQQqZGaunpAySC6d8lMbqiNx+xcBI6KEEII6fsoIVIjZZXXwMkV4AAwDpCb6UJbjZ+mSggh5OFUVFQEjuOQl5cndChqg75t1UjJncvg7s1hBpEIzIzuLiOEEE1UWlqKJUuWwMnJCWKxGLa2tggMDER2drbQofFycnIQFBQEmUwGAwMDDB48GLt37+6w/kcffQSO4zBt2rQu7XvIkCEQi8VwcXHp9InYPYESIjXya1Up/wwiaGlB35HmPCKEEE1TVFSEoUOH4ssvv8Trr7+OS5cuITMzE+PGjUNkZKTQ4fFOnz4Nb29v7Nu3D9999x3mz5+PkJAQHDx4sE3doqIirFixAqNGjep0v4WFhZg8eTLGjRuHvLw8REdHIzw8HEeOHHkQH4NHCZEauVNdC1H9vYcy6mjBwbO/wBERQgjpbc8//zw4jsPXX3+N4OBguLq6wtPTE8uXL+dnZ1iwYAGmTJmisp1cLoeFhQV27doFoGV6jy1btsDFxQVisRh2dnbYtGlTh+97+fJlTJo0CYaGhrC0tMTcuXNRXl7eYf2XXnoJGzduxMiRI+Hs7Ixly5YhICCgzXxoCoUCc+bMwYYNG+Dk5NTp59+xYwccHR2RkJAADw8PREVF4amnnnrgc5BSQqRGSst0IKq/N6DaSBujB7gJHBEhhPQdjDE01MvRUN+E+l5+dfWp0nfu3EFmZiYiIyNhYGDQZr2JiQkAIDw8HJmZmSgpKeHXHTx4EHV1dZg1axYAYM2aNdi8eTPWrVuHK1euID09HZaWlu2+b0VFBR5//HH4+vri/PnzyMzMRFlZGWbOnNmtY1xZWQkzMzOVspdffhkWFhbtTkDbntzcXEyYMEGlzN/fH7m5ud2Kpbto6g41oVDKUV4ihaipFgDQaKaLKa7eAkdFCCF9R2ODHCFB2wV578+OvwiJRLfTejdv3gRjDO7u7vetN3LkSLi5ueGDDz7AqlWrAACpqal4+umnYWhoiOrqamzduhVJSUkIDQ0FADg7O+Oxxx5rd39JSUnw9fXFq6++ypelpKTA1tYW169fh6ura6ex79mzB+fOncPbb7/Nl506dQq7du3q1uDt0tLSNombpaUlqqqqUF9fD4lE0uV9dQf1EKmJuw0FqPzJELg3qWtTP22Y6rf974AQQkjf1Z35ycLDw5GamgoAKCsrw+HDh7FgwQIAwNWrV9HY2Ijx48d3aV8XL17EsWPHYGhoyL9ak7KCgoJOtz927Bjmz5+PnTt3wtPTEwBQXV2NuXPnYufOnejfX/2HgFAPkZr4peYiuIZmcIyBAWg0p6YhhJCeJNbTwfufLYZUagSulx9poqfXtZtkBgwYAI7jcO3atU7rhoSE4MUXX0Rubi5Onz4NR0dHftByd3tRampqEBgYiNdee63NOplMdt9tjx8/jsDAQCQmJiIkJIQvLygoQFFREQIDA/kypbLln35dXV2cO3cOPj4+bfZnZWWFsrIylbKysjJIpdIH1jsEUEKkNu5W/wytunt3mOlogaM5zAghpEdxHAc9iQ70JLoQqekz3szMzODv74/k5GQsXbq0zTiiiooKfhxRv379MG3aNKSmpiI3Nxfz58/n6w0YMAASiQTZ2dkIDw/v9H2HDBmCffv2wcHBAdraXU8NcnJyMGXKFLz22mtYtGiRyjp3d3dcunRJpezf//43qqurkZiYCCsrq3b36efnh0OHDqmUZWVlwc/Pr8tx/RXq+RuhgQp/+n2We4VYG/360zOICCFEEyUnJ0OhUOCf//wn9u3bhxs3buDq1avYtm1bm6QgPDwc7733Hq5evcqPFQIAPT09rF69GqtWrcL777+PgoICnDlzhr8D7c8iIyNx584dzJ49G+fOnUNBQQGOHDmC+fPnQ6FQtLvNsWPHMHnyZCxduhTBwcEoLS1FaWkp7ty5w8cwaNAglZeJiQmM0sFC0wAAH6lJREFUjIwwaNAg6Oq2jKlas2aNSs9SREQEfvjhB6xatQrXrl3DW2+9hT179iAmJuZvHdfOUEKkJr6/Xs/Pcq/U14aLtb7AERFCCBGCk5MTvv32W4wbNw4vvPACBg0ahCeeeALZ2dnYvl11UPiECRMgk8ng7+8Pa2trlXXr1q3DCy+8gNjYWHh4eGDWrFn45Zdf2n1Pa2trfPXVV1AoFJg4cSK8vLwQHR0NExOTDnvT3nvvPdTV1SE+Ph4ymYx/zZgxo1uft6SkBMXFxfyyo6MjMjIykJWVBR8fHyQkJODdd9+Fv79/t/bbXXTJTE0UF2vxPURyqTaGO1h3sgUhhJC+SiaTISkpCUlJSfetV1tbi7t377Z7S7tIJMLatWuxdu3aNuscHBzaDOAeMGBAm2cI3U9aWlq3nyDdWr91LNEfy/5o7NixuHDhQrf2/XdRQqQGFEyO337WA9dYAQBosNSDrx09g4gQQkj7lEolysvLkZCQABMTE0ydOlXokB56lBCpgYrGW2i6BYgBMC0RGs114GrqIHRYhBBC1FRxcTEcHR1hY2ODtLS0bg2EJu2jI6gGquUF4MqbAABMTxdKUwZD7Qd3ayEhhJCHW3uXvMjfQ4Oq1UDx3W8hamgZxa/U04aBcfsj+gkhhBDyYFBCpAYu/lAIkbwlCVLoacG6P2X9hBBCSG+ihEgNfP+9BFzzvYRIXwu+/9ATOCJCCCFEs1BCpAbKS3TAKVp6hZr1teFh1f5sxIQQQgh5MCghEphcWY+a0pandTIACjEHVwsHQWMihBBCNA0lRAKraroN+V2tlgUtEZT6HKyMHIUNihBCCNEwlBAJrEpeAkXVvWbgOMCQwVTXQtigCCGE9GlFRUXgOA55eXlCh6I2KCES2N3acnCN9xZEHLT6NUNHix4PRQghmqy0tBRLliyBk5MTxGIxbG1tERgYiOzsbKFD4+Xk5CAoKAgymQwGBgYYPHgwdu/erVInLS0NHMepvPT0Or9xKCcnB0OGDIFYLIaLi0u3pwj5K+ibV2A3i34C19RyhxnTEsHQUi5wRIQQQoRUVFSERx99FCYmJnj99dfh5eUFuVyOI0eOIDIyEteuXRM6RADA6dOn4e3tjdWrV8PS0hIHDx5ESEgIjI2NMWXKFL6eVCpFfn4+v8xx3H33W1hYiMmTJyMiIgK7d+9GdnY2wsPD+UlsHxTqIRLYubO/QXQvIaq104PMmRIiQgjRZM8//zw4jsPXX3+N4OBguLq6wtPTE8uXL8eZM2cAAAsWLFBJOgBALpfDwsICu3btAtAy39mWLVvg4uICsVgMOzs7bNq0qcP3vXz5MiZNmgRDQ0NYWlpi7ty5KC8v77D+Sy+9hI0bN2LkyJFwdnbGsmXLEBAQ0GaCWI7jYGVlxb8sLe9/J/WOHTvg6OiIhIQEeHh4ICoqCk899RQSExPvu93fJWhCFB8fj2HDhsHIyAgWFhaYNm2aShYJAA0NDYiMjES/fv1gaGiI4OBglJWVqdQpLi7G5MmToa+vDwsLC6xcuRLNzc0qdYTofuuKsp8VfA+R3EALg611BI6IEEL6JsYYGuqa0FDX2Ouvrk6zcefOHWRmZiIyMhIGBgZt1puYmAAAwsPDkZmZiZKSEn7dwYMHUVdXh1mzZgEA1qxZg82bN2PdunW4cuUK0tPTO0xGKioq8Pjjj8PX1xfnz59HZmYmysrKMHPmzG4d48rKSpiZmamU1dTUwN7eHra2tggKCsL3339/333k5uZiwoQJKmX+/v7Izc3tVizdJegls+PHjyMyMhLDhg1Dc3MzXnrpJUycOBFXrlzhfxFiYmKQkZGBvXv3wtjYGFFRUZgxYwa++uorAIBCocDkyZNhZWWF06dPo6SkBCEhIdDR0cGrr74KQLjut66oruLANbUkb81Sbbjf+2UnhBDSsxrrmzB/eMc9JA/Sp/lboKcv7rTezZs3wRiDu7v7feuNHDkSbm5u+OCDD7Bq1SoAQGpqKp5++mkYGhqiuroaW7duRVJSEkJDQwEAzs7OeOyxx9rdX1JSEnx9ffnvTQBISUmBra0trl+/DldX105j37NnD86dO4e3336bL3Nzc0NKSgq8vb1RWVmJN954AyNHjsSlS5cglUrb3U9paWmbxM3S0hJVVVWor6+HRPJg5voUNCHKzMxUWU5LS4OFhQW++eYbjB49GpWVldi1axfS09Px+OOPA2hpcA8PD5w5cwYjRozA0aNHceXKFXzxxRewtLTE4MGDsXHjRqxevRpxcXHQ1dVV6X4DAA8PD5w6dQqJiYmCJ0R11ToQ3UuIYK2Ek6G1oPEQQggRTncmbA0PD8c777yDVatWoaysDIcPH8aXX34JALh69SoaGxsxfvz4Lu3r4sWLOHbsGAwNDdusKygo6DQhOnbsGObPn4+dO3fC09OTL/fz84Ofnx+/PHLkSHh4eOCdd97BihUruhRbb1GrQdWVlZUAwHe3ffPNN5DL5SpdZ+7u7rCzs0Nubi5GjBiB3NxceHl5qWST/v7+WLx4Mb7//nv4+vp22P0WHR394D/UfTCmREO1NvS0RIBSAS27ZtgbuggaEyGE9FViiS5Sz66FVGoEkah3R4yIJbpdqjdgwABwHNelgdMhISF48cUXkZubi9OnT8PR0RGjRo0CgG73otTU1CAwMBCvvfZam3Uymey+2x4/fhyBgYFITExESEjIfevq6OjA19cXN2/e7LCOlZVVm6ExZWVlkEqlD6x3CFCjhEipVCI6OhqPPvooBg0aBKCl20xXV5e/ZtrK0tISpaWlfJ32utZa192vTkfdb42NjWhsbOSXq6qqALQMWJPLe27Qc6OiGtDiUO8pQ4WDCHbmt6HNWfXoewihNf6H/XM87Kgd1Ae1Re+Ty+VgjEGpVEKpVPLlevq6EEt0O73TqacxxrrU+2NiYoKJEyciOTkZUVFRbcYRVVRU8N+JpqamCAoKQkpKCs6cOYN58+bxn9XZ2RkSiQRZWVkIDw9v8z6t9VqPj6+vL/bv3w87Oztoa7dNDf54DP8oJycHU6dOxebNmxEeHt5hvVYKhQKXLl1CQEAAAPBt9EcjRozA4cOHVcqPHj2KESNGtLt/pVIJxhjkcjm0tLRU1nXnnFObhCgyMhKXL1/GqVOnhA4F8fHx2LBhQ5vyo0ePQl9fv8fep4mrgqF5LSp+M4JSG3AyrcChzLPoKzf/ZWVlCR0CAbWDOqG26D3a2tqwsrJCTU0NmpqaVNZVV1cLFFXXbN68GQEBAfjnP/+JNWvWwNPTE83NzcjJyUFKSgrOnj3L1509ezaeeeYZKBQKTJ8+nf8HHgCWLVuG1atXQ6lUYvjw4SgvL8e1a9cwd+5c1NTUAABqa2tRVVWFuXPnYufOnZg5cyaWLl0KU1NT/PDDD9i/fz+2bdvWJtEAgJMnT+KZZ57Bv/71LzzxxBO4ceMGAEBXVxempqYAgC1btuCRRx6Bk5MTKisrsW3bNvz444945plnALS0xYYNG1BSUoIdO3YAAObMmYPk5GRER0fjueeew4kTJ7B37158/PHHKp+vVVNTE+rr63HixIk2N1TV1dV1+birRUIUFRWFgwcP4sSJE7CxseHLrays0NTUpJIRAy1dZ1ZWVnydr7/+WmV/rV1tf6zTne63NWvWYPny5fxyVVUVbG1tMXHixA4Hgf0VzcpGPDLmOxy+fRZflBbAy6wOTw6c0vmGak4ulyMrKwtPPPEEdHTorjmhUDuoD2qL3tfQ0IBbt27B0NCQfxAgYwzV1dUwMjLq9R6i7vD29sY333yDV199FbGxsSgpKYG5uTmGDBmC7du3q3wPTZ06FTKZDAMHDoSbm5vKfjZu3AgDAwNs3rwZt2/fhkwmw7/+9S9IpVJ+rJCBgQGkUimkUilOnTqFF198EcHBwWhsbIS9vT38/f1hYmLS7vH65JNPUFdXh8TERJVb4seMGcOPZaqrq0NMTAxKS0thamqKIUOG4NSpUxg8eDDfFnfu3EFpaSn/uby8vPD555/jhRdewNtvvw0bGxu88847mD59ervHq6GhARKJBKNHj27z0Mf2EqgOMQEplUoWGRnJrK2t2fXr19usr6ioYDo6OuyTTz7hy65du8YAsNzcXMYYY4cOHWIikYiVlZXxdd5++20mlUpZQ0MDY4yxVatWsUGDBqnse/bs2czf379LcVZWVjIArLKystufsTvkivoHuv/e0tTUxA4cOMCampqEDkWjUTuoD2qL3ldfX8+uXLnC6ut//7uqUCjY3bt3mUKhEDCynlVdXc2kUinbt2+f0KF0S0+2RXtt3ao739+C9hBFRkYiPT0dn332GYyMjPgxP8bGxpBIJDA2NkZYWBiWL18OMzMzSKVSLFmyBH5+fhgxYgQAYOLEiRg4cCDmzp2LLVu2oLS0FP/+978RGRkJsbjlFseIiAgkJSVh1apVWLBgAb788kvs2bMHGRkZgn329miLOn+cOSGEEKJUKlFeXo6EhASYmJhg6tSpQof00BM0Idq+fTsAYOzYsSrlqampmDdvHgAgMTERIpGI78Lz9/fHW2+9xdfV0tLCwYMHsXjxYvj5+cHAwAChoaF4+eWX+TqOjo7IyMhATEwMtm7dChsbG7z77ruC33JPCCGE/BXFxcVwdHSEjY0N0tLS2h0ITbpH0CPIujDiXk9PD8nJyUhOTu6wjr29PQ4dOnTf/YwdOxYXLlzodoyEEEKIunFwcOjWM4tI5/rG7UyEEEIIIX8DJUSEEEII0XiUEBFCCOmz6LJS39dTbUwJESGEkD6n9XlP3XkwH3k4tT54s72HR3YHDUsnhBDS52hpacHExAS//PILAEBfXx+MMTQ1NaGhoaHX5zIjqpRKZY+0hVKpxK+//gp9ff2/facdJUSEEEL6pNbZClqTIsYYP3+lOj+pWhP0ZFuIRCLY2dn97f1QQkQIIaRP4jgOMpkMFhYW/OTcJ06cwOjRo2kKFYH1ZFvo6ur2SI8fJUSEEEL6NC0tLf7V3NwMPT09SogEpo5tQRdRCSGEEKLxKCEihBBCiMajhIgQQgghGo/GEHVB60OfqqqqBI7k4SCXy1FXV4eqqiq1uTasiagd1Ae1hXqgdlAfvdUWrd/bXXl4IyVEXVBdXQ0AsLW1FTgSQgghhHRXdXU1jI2N71uHY/Rc804plUrcvn0bRkZG9OyKLqiqqoKtrS1u3boFqVQqdDgai9pBfVBbqAdqB/XRW23BGEN1dTWsra07vTWfeoi6QCQSwcbGRugwHjpSqZT+6KgBagf1QW2hHqgd1EdvtEVnPUOtaFA1IYQQQjQeJUSEEEII0XiUEJEeJxaLsX79eojFYqFD0WjUDuqD2kI9UDuoD3VsCxpUTQghhBCNRz1EhBBCCNF4lBARQgghRONRQkQIIYQQjUcJESGEEEI0HiVEpMfExcWB4ziVl7u7u9Bh9XknTpxAYGAgrK2twXEcDhw4oLKeMYbY2FjIZDJIJBJMmDABN27cECbYPqyzdpg3b16b8yMgIECYYPuw+Ph4DBs2DEZGRrCwsMC0adOQn5+vUqehoQGRkZHo168fDA0NERwcjLKyMoEi7ru60hZjx45tc15EREQIEi8lRKRHeXp6oqSkhH+dOnVK6JD6vNraWvj4+CA5Obnd9Vu2bMG2bduwY8cOnD17FgYGBvD390dDQ0MvR9q3ddYOABAQEKByfnz44Ye9GKFmOH78OCIjI3HmzBlkZWVBLpdj4sSJqK2t5evExMTg888/x969e3H8+HHcvn0bM2bMEDDqvqkrbQEACxcuVDkvtmzZIkzAjJAesn79eubj4yN0GBoNAPv000/5ZaVSyaysrNjrr7/Ol1VUVDCxWMw+/PBDASLUDH9uB8YYCw0NZUFBQYLEo8l++eUXBoAdP36cMdby+6+jo8P27t3L17l69SoDwHJzc4UKUyP8uS0YY2zMmDFs2bJlwgX1B9RDRHrUjRs3YG1tDScnJ8yZMwfFxcVCh6TRCgsLUVpaigkTJvBlxsbGGD58OHJzcwWMTDPl5OTAwsICbm5uWLx4MX777TehQ+rzKisrAQBmZmYAgG+++QZyuVzlnHB3d4ednR2dEw/Yn9ui1e7du9G/f38MGjQIa9asQV1dnRDh0eSupOcMHz4caWlpcHNzQ0lJCTZs2IBRo0bh8uXLMDIyEjo8jVRaWgoAsLS0VCm3tLTk15HeERAQgBkzZsDR0REFBQV46aWXMGnSJOTm5kJLS0vo8PokpVKJ6OhoPProoxg0aBCAlnNCV1cXJiYmKnXpnHiw2msLAHj22Wdhb28Pa2trfPfdd1i9ejXy8/Oxf//+Xo+REiLSYyZNmsT/7O3tjeHDh8Pe3h579uxBWFiYgJERIrxnnnmG/9nLywve3t5wdnZGTk4Oxo8fL2BkfVdkZCQuX75MYxnVQEdtsWjRIv5nLy8vyGQyjB8/HgUFBXB2du7VGOmSGXlgTExM4Orqips3bwodisaysrICgDZ30JSVlfHriDCcnJzQv39/Oj8ekKioKBw8eBDHjh2DjY0NX25lZYWmpiZUVFSo1Kdz4sHpqC3aM3z4cAAQ5LyghIg8MDU1NSgoKIBMJhM6FI3l6OgIKysrZGdn82VVVVU4e/Ys/Pz8BIyM/PTTT/jtt9/o/OhhjDFERUXh008/xZdffglHR0eV9UOHDoWOjo7KOZGfn4/i4mI6J3pYZ23Rnry8PAAQ5LygS2akx6xYsQKBgYGwt7fH7du3sX79emhpaWH27NlCh9an1dTUqPw3VVhYiLy8PJiZmcHOzg7R0dF45ZVXMGDAADg6OmLdunWwtrbGtGnThAu6D7pfO5iZmWHDhg0IDg6GlZUVCgoKsGrVKri4uMDf31/AqPueyMhIpKen47PPPoORkRE/LsjY2BgSiQTGxsYICwvD8uXLYWZmBqlUiiVLlsDPzw8jRowQOPq+pbO2KCgoQHp6Op588kn069cP3333HWJiYjB69Gh4e3v3fsBC3+ZG+o5Zs2YxmUzGdHV12T/+8Q82a9YsdvPmTaHD6vOOHTvGALR5hYaGMsZabr1ft24ds7S0ZGKxmI0fP57l5+cLG3QfdL92qKurYxMnTmTm5uZMR0eH2dvbs4ULF7LS0lKhw+5z2msDACw1NZWvU19fz55//nlmamrK9PX12fTp01lJSYlwQfdRnbVFcXExGz16NDMzM2NisZi5uLiwlStXssrKSkHi5e4FTQghhBCisWgMESGEEEI0HiVEhBBCCNF4lBARQgghRONRQkQIIYQQjUcJESGEEEI0HiVEhBBCCNF4lBARQgghRONRQkQIIQLjOA4HDhzocFld5OTkgOO4NvOAEdIXUEJESB/Ecdx9X3FxcUKH2OMcHBzw5ptvCh0GAMDf3x9aWlo4d+7cX9q+pKQEkyZN6pFYKIkhpGtoLjNC+qCSkhL+548//hixsbHIz8/nywwNDYUIq9sYY1AoFNDW7r0/VU1NTdDV1f3L2xcXF+P06dOIiopCSkoKhg0b1u190KzrhPQ+6iEipA+ysrLiX8bGxuA4TqXso48+goeHB/T09ODu7o633nqL37aoqAgcx2HPnj0YNWoUJBIJhg0bhuvXr+PcuXN45JFHYGhoiEmTJuHXX3/lt5s3bx6mTZuGDRs2wNzcHFKpFBEREWhqauLrKJVKxMfHw9HRERKJBD4+Pvjkk0/49a29GYcPH8bQoUMhFotx6tQpFBQUICgoCJaWljA0NMSwYcPwxRdf8NuNHTsWP/74I2JiYvheMACIi4vD4MGDVY7Nm2++CQcHhzZxb9q0CdbW1nBzcwMA3Lp1CzNnzoSJiQnMzMwQFBSEoqKiTo99amoqpkyZgsWLF+PDDz9EfX29yvobN25g9OjR0NPTw8CBA5GVldVmH3+8ZNZeD09eXh44juPj+fHHHxEYGAhTU1MYGBjA09MThw4dQlFREcaNGwcAMDU1BcdxmDdvXpfaAgAOHToEV1dXSCQSjBs3rkufn5CHFfUQEaJhdu/ejdjYWCQlJcHX1xcXLlzAwoULYWBggNDQUL7e+vXr8eabb8LOzg4LFizAs88+CyMjI2zduhX6+vqYOXMmYmNjsX37dn6b7Oxs6OnpIScnB0VFRZg/fz769euHTZs2AQDi4+Pxv//9Dzt27MCAAQNw4sQJPPfcczA3N8eYMWP4/bz44ot444034OTkBFNTU9y6dQtPPvkkNm3aBLFYjPfffx+BgYHIz8+HnZ0d9u/fDx8fHyxatAgLFy7s9jHJzs6GVCrlkxO5XA5/f3/4+fnh5MmT0NbWxiuvvIKAgAB89913HfYgMcaQmpqK5ORkuLu7w8XFBZ988gnmzp0LoCUJmTFjBiwtLXH27FlUVlYiOjq62/H+WWRkJJqamnDixAkYGBjgypUrMDQ0hK2tLfbt24fg4GDk5+dDKpVCIpEA6Lwtbt26hRkzZiAyMhKLFi3C+fPn8cILL/ztWAlRW4JMKUsI6TWpqanM2NiYX3Z2dmbp6ekqdTZu3Mj8/PwYY4wVFhYyAOzdd9/l13/44YcMAMvOzubL4uPjmZubG78cGhrKzMzMWG1tLV+2fft2ZmhoyBQKBWtoaGD6+vrs9OnTKu8dFhbGZs+ezRj7fcb4AwcOdPq5PD092X//+19+2d7eniUmJqrUWb9+PfPx8VEpS0xMZPb29ipxW1passbGRr7sgw8+YG5ubkypVPJljY2NTCKRsCNHjnQY09GjR5m5uTmTy+X8e40ZM4Zff+TIEaatrc1+/vlnvuzw4cMMAPv000/5sj8utx6Tu3fv8usvXLjAALDCwkLGGGNeXl4sLi6u3Zja274rbbFmzRo2cOBAlfWrV69usy9C+grqISJEg9TW1qKgoABhYWEqPSnNzc0wNjZWqevt7c3/bGlpCQDw8vJSKfvll19UtvHx8YG+vj6/7Ofnh5qaGty6dQs1NTWoq6vDE088obJNU1MTfH19VcoeeeQRleWamhrExcUhIyMDJSUlaG5uRn19PYqLi7vz8Tvk5eWl0utz8eJF3Lx5E0ZGRir1GhoaUFBQ0OF+UlJSMGvWLH7M0+zZs7Fy5UoUFBTA2dkZV69eha2tLaytrflt/Pz8/nb8S5cuxeLFi3H06FFMmDABwcHBKu33Zzdv3uy0La5evYrhw4errO+JWAlRV5QQEaJBampqAAA7d+5s82WnpaWlsqyjo8P/3Dom589lSqWy2++dkZGBf/zjHyrrxGKxyrKBgYHK8ooVK5CVlYU33ngDLi4ukEgkeOqpp1TGJ7VHJBKBMaZSJpfL29T78/vV1NRg6NCh2L17d5u65ubm7b7XnTt38Omnn0Iul6tcRlQoFEhJSeEvG3aXSNQy1POPn+PPnyE8PBz+/v7IyMjA0aNHER8fj4SEBCxZsqTdfXanLQjRFJQQEaJBLC0tYW1tjR9++AFz5szp8f1fvHgR9fX1/DiVM2fO8GNZzMzMIBaLUVxcrDJeqCu++uorzJs3D9OnTwfQ8oX+5wG+urq6UCgUKmXm5uYoLS0FY4xP6vLy8jp9vyFDhuDjjz+GhYUFpFJpl2LcvXs3bGxs2jw/6OjRo0hISMDLL78MDw8P3Lp1CyUlJZDJZABajtH9tCZgJSUlMDU17fAz2NraIiIiAhEREVizZg127tyJJUuW8D1ffzw2AwcO7LQtPDw88H//938qZZ3FSsjDjO4yI0TDbNiwAfHx8di2bRuuX7+OS5cuITU1Ff/5z3/+9r6bmpoQFhaGK1eu4NChQ1i/fj2ioqIgEolgZGSEFStWICYmBu+99x4KCgrw7bff4r///S/ee++9++53wIAB2L9/P/Ly8nDx4kU8++yzbXqnHBwccOLECfz8888oLy8H0HL32a+//ootW7agoKAAycnJOHz4cKefY86cOejfvz+CgoJw8uRJFBYWIicnB0uXLsVPP/3U7ja7du3CU089hUGDBqm8wsLCUF5ejszMTEyYMAGurq4IDQ3FxYsXcfLkSaxdu/a+sbi4uMDW1hZxcXG4ceMGMjIykJCQoFInOjoaR44cQWFhIb799lscO3YMHh4eAAB7e3twHIeDBw/i119/RU1NTZfaIiIiAjdu3MDKlSuRn5+P9PR0pKWldXrsCHloCTyGiRDygP15UDVjjO3evZsNHjyY6erqMlNTUzZ69Gi2f/9+xtjvg6ovXLjA129vYO6f9xsaGsqCgoJYbGws69evHzM0NGQLFy5kDQ0NfB2lUsnefPNN5ubmxnR0dJi5uTnz9/dnx48f7/B9WmMaN24ck0gkzNbWliUlJbExY8awZcuW8XVyc3OZt7c3E4vF7I9/2rZv385sbW2ZgYEBCwkJYZs2bWozqDooKKjNcSspKWEhISGsf//+TCwWMycnJ7Zw4UJWWVnZpu758+cZAPb111+3WccYY5MmTWLTp09njDGWn5/PHnvsMaarq8tcXV1ZZmbmfQdVM8bYqVOnmJeXF9PT02OjRo1ie/fuVRlUHRUVxZydnZlYLGbm5uZs7ty5rLy8nN/+5ZdfZlZWVozjOBYaGtqltmCMsc8//5y5uLgwsVjMRo0axVJSUmhQNemzOMb+dIGdEEL+gnnz5qGiokItp5x4mDQ2NkJPTw9ZWVmYMGGC0OEQojFoDBEhhKiJqqoq7N+/HyKRCO7u7kKHQ4hGoYSIEELUxPr165Geno7XXnsNNjY2QodDiEahS2aEEEII0Xh0lxkhhBBCNB4lRIQQQgjReJQQEUIIIUTjUUJECCGEEI1HCREhhBBCNB4lRIQQQgjReJQQEUIIIUTjUUJECCGEEI1HCREhhBBCNN7/A04TeeYyWs5FAAAAAElFTkSuQmCC\n" - }, - "metadata": {} - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "\n", - "filtered_df = df[df['PLATFORM_NUMBER'] == 5905506]\n", - "\n", - "# Get unique values of CYCLE_NUMBER\n", - "unique_cycle_numbers = filtered_df['CYCLE_NUMBER'].unique()\n", - "\n", - "# Define a dictionary to map each unique CYCLE_NUMBER to a color\n", - "color_mapping = {cycle_number: plt.cm.viridis_r(i / len(unique_cycle_numbers)) for i, cycle_number in enumerate(unique_cycle_numbers)}\n", - "\n", - "# Plot TEMP_ADJUSTED vs PRES_ADJUSTED with different colors for each line\n", - "for cycle_number, color in color_mapping.items():\n", - " cycle_df = filtered_df[filtered_df['CYCLE_NUMBER'] == cycle_number]\n", - " plt.plot(cycle_df['TEMP_ADJUSTED'], cycle_df['PRES_ADJUSTED'], color=color, label=f'Cycle {cycle_number}')\n", - "\n", - "plt.xlabel('Temperature Adjusted')\n", - "plt.ylabel('Pressure Adjusted')\n", - "plt.title('Temperature vs Pressure')\n", - "plt.legend()\n", - "plt.grid(True)\n", - "\n", - "# Reverse the y-axis\n", - "plt.gca().invert_yaxis()\n", - "\n", - "plt.show()" + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAHHCAYAAABEEKc/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wVVd7Gn3Nm5pZ0Qkgg9KIoKLqiIhYEQYoKiNhbQETsK7rqorsq+rq4umtbV+yAuyhW7IKoFAuioixWVERAOqTc5NaZOef9Y8qduS03hQDhfPdzP5uZOXPmzCQyz/1VwjnnEAgEAoFAIBDY0D29AIFAIBAIBIK9DSGQBAKBQCAQCBIQAkkgEAgEAoEgASGQBAKBQCAQCBIQAkkgEAgEAoEgASGQBAKBQCAQCBIQAkkgEAgEAoEgASGQBAKBQCAQCBIQAkkgEAgEAoEgASGQBIL9nPvuuw89evSAJEk4/PDD9/Rymp0lS5aAEIKXX365UefPnj0bhBD89ttvzbuwZqRbt26YMGHCnl6GQNCqEAJJ0CQIIVl9lixZsqeXusd49NFHMXv27D29jJS89957uOmmm3Dcccdh1qxZ+Nvf/ranlyRIw6effoo77rgD1dXVe3opAsF+gbynFyDYt/nPf/7j2n722WexaNGipP0HH3xwSy5rr+LRRx9FSUnJXvkN/8MPPwSlFE8//TQ8Hs+eXo4gA59++immT5+OCRMmoKioyHVszZo1oFR83xUImhMhkARN4sILL3Rtf/bZZ1i0aFHS/tYC5xyRSAR+v79VrGP79u3w+/3NJo72luezv+H1evf0EgSCVof4yiHY7TDG8OCDD6Jv377w+XwoKyvDlClTUFVV5RrXrVs3nHbaaViyZAmOPPJI+P1+HHroobZ77tVXX8Whhx4Kn8+H/v374+uvv3adP2HCBOTl5eHXX3/FiBEjkJubi/Lyctx5553gnDdpTQsXLrTX9PjjjwMAZs2ahZNOOgmlpaXwer3o06cPZs6cmXT+d999h6VLl9ruxsGDBwMA7rjjDhBCkp5XqpiXTOuorq7Gddddh86dO8Pr9aJXr174+9//DsZYxt8LIQSzZs1CMBi012a5AjVNw1133YWePXvC6/WiW7duuOWWWxCNRrN+PulYsWIFRo4cicLCQuTk5ODEE0/EJ5984hqzfv16XHnllejduzf8fj/atm2Ls846K2UcUHV1NaZOnYpu3brB6/WiU6dOuPjii7Fz507XOMYY7r77bnTq1Ak+nw9Dhw7FL7/8knGtmXj00UfRt29feL1elJeX46qrrkrp/lqxYgVOOeUUtGnTBrm5uejXrx8eeugh+/jq1asxYcIE9OjRAz6fD+3bt8cll1yCXbt22WPuuOMO3HjjjQCA7t27278v63mkikH69ddfcdZZZ6G4uBg5OTk45phj8Pbbb7vGWPFZL774YrM+G4GgNSAsSILdzpQpUzB79mxMnDgR1157LdatW4dHHnkEX3/9NT755BMoimKP/eWXX3D++edjypQpuPDCC/GPf/wDo0ePxmOPPYZbbrkFV155JQBgxowZOPvss5NcC7quY+TIkTjmmGNw7733YsGCBbj99tuhaRruvPPORq1pzZo1OO+88zBlyhRMnjwZvXv3BgDMnDkTffv2xZgxYyDLMt58801ceeWVYIzhqquuAgA8+OCDuOaaa5CXl4dbb70VAFBWVtao55hqHaFQCCeeeCI2bdqEKVOmoEuXLvj0008xbdo0bNmyBQ8++GDa+f7zn//giSeewOeff46nnnoKAHDssccCAC699FLMmTMHZ555Jm644QasWLECM2bMwA8//ID58+fXu650fPjhhxg1ahT69++P22+/HZRSW2h+9NFHOProowEAX3zxBT799FOce+656NSpE3777TfMnDkTgwcPxvfff4+cnBwAQF1dHU444QT88MMPuOSSS3DEEUdg586deOONN/D777+jpKTEvvY999wDSin+9Kc/oaamBvfeey8uuOACrFixosG/izvuuAPTp0/HsGHDcMUVV2DNmjWYOXMmvvjiC9ffz6JFi3DaaaehQ4cO+OMf/4j27dvjhx9+wFtvvYU//vGP9phff/0VEydORPv27fHdd9/hiSeewHfffYfPPvsMhBCcccYZ+Omnn/D888/jgQcesO+rXbt2Kde3bds2HHvssQiFQrj22mvRtm1bzJkzB2PGjMHLL7+McePGucY357MRCFoNXCBoRq666iru/LP66KOPOAA+d+5c17gFCxYk7e/atSsHwD/99FN738KFCzkA7vf7+fr16+39jz/+OAfAFy9ebO+rqKjgAPg111xj72OM8VNPPZV7PB6+Y8eORq9pwYIFSfcaCoWS9o0YMYL36NHDta9v3778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1TjhhBPg8/nQuXNn3HvvvY16PM2JEEgCgSBrIjG35YJzjrrqCCSv6e5hzPgQjq1rq0GIYTlK12ZCkgFfmurNqhksHagKY+f6qqT05vyDSlD7004Evt9hx68AyKoOEWBad3KkeA2hLHBZjgC8+doFuPSifji0bzvDcpNovbFS/gkB05OvYwk2wIiL0hMyvHgk3juNRONzOdFq465DAtMdlyoAmzHDbegICIdupOZbn2zbULCwBilHMdL4E6yGxCeByCQujhgD143+eGpN1CVmCSWgigwqSa7aUs7f87BRsxCOqHawNmAEbu+3Iok4+ts15kMa9toPBoM47LDD8O9//zvtmJEjR2LLli325/nnn3cdv+CCC/Ddd99h0aJFeOutt7Bs2TJcdtll9vFAIIDhw4eja9euWLlyJe677z7ccccdeOKJJxr2bJoZEYMkEAiyIhLTceE/ltrbnHNEI/FsNMmKJWEMBXleVAY1dOyV7FazxBLTecoGtAAQTrAWRba4v23m926Lul922e6cnK5tEFpbZcyr6a7ilenilNRQBLLXC+R642sz78GyjiRaUYgi2fqLRTWcdcXr+PS1iwF8hm+/35kyMyyyKQBf+zzwiJ62JlA6C5Tkk1xix1q/VULAKimQPCF3//9ugPqMKtgswd3HI7phnLKfuWE7Ykwz6ippHJzE45SoYtR3cpZFUNoYgdqxnYarbcj4ua5riMDtlmPUqFEYNWpUxjFerxft27dPeeyHH37AggUL8MUXX+DII48EAPzrX//CKaecgn/84x8oLy/H3LlzEYvF8Mwzz8Dj8aBv375YtWoV7r//fpeQammEBUkgENRLOKq5xBEABHaFEIuweId7023GOceuzXWozxghKzSlxSISUu3A7y2rNyGwZqfdSoPrHEV92yG8M4gux3ZBj5O6o8dJ3RH8pdI+f/6ss7K6J9JEAwRpY7zQB46eg7PPOgwfvTcRi968OHkgByJbDYHHGXeJNGu7Plee8ziLZNfOwymOpByl0XWZMl4iQwuVdGUE9JAKPaiCRbWMpQYAt4VNYNIU61FTA7zTsGTJEpSWlqJ379644oorsGvXLvvY8uXLUVRUZIsjABg2bBgopVixYoU9ZtCgQfB44jW+RowYgTVr1qCqqqrZ15stwoIkEAgysr0mhNte/da1T3c0RCWU2vFEnBsWAiIRlPcs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\n", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot.scatter(x='TEMP_ADJUSTED', y='PSAL_ADJUSTED', c='PRES_ADJUSTED', marker='+', linestyle=\"None\", cmap='RdYlBu_r', title='Temperature for each location')" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 }, + "id": "geqOPVHIQdzt", + "outputId": "b9fc1aea-cb14-417b-b692-5a76563163e7" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "psp_kOBFQdzt" - }, - "source": [ - "## Create a TIME and scalar/number filter" + "data": { + "image/png": "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\n", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "filtered_df = df[df['PLATFORM_NUMBER'] == 5905506]\n", + "\n", + "# Get unique values of CYCLE_NUMBER\n", + "unique_cycle_numbers = filtered_df['CYCLE_NUMBER'].unique()\n", + "\n", + "# Define a dictionary to map each unique CYCLE_NUMBER to a color\n", + "color_mapping = {cycle_number: plt.cm.viridis_r(i / len(unique_cycle_numbers)) for i, cycle_number in enumerate(unique_cycle_numbers)}\n", + "\n", + "# Plot TEMP_ADJUSTED vs PRES_ADJUSTED with different colors for each line\n", + "for cycle_number, color in color_mapping.items():\n", + " cycle_df = filtered_df[filtered_df['CYCLE_NUMBER'] == cycle_number]\n", + " plt.plot(cycle_df['TEMP_ADJUSTED'], cycle_df['PRES_ADJUSTED'], color=color, label=f'Cycle {cycle_number}')\n", + "\n", + "plt.xlabel('Temperature Adjusted')\n", + "plt.ylabel('Pressure Adjusted')\n", + "plt.title('Temperature vs Pressure')\n", + "plt.legend()\n", + "plt.grid(True)\n", + "\n", + "# Reverse the y-axis\n", + "plt.gca().invert_yaxis()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "psp_kOBFQdzt" + }, + "source": [ + "## Create a TIME and scalar/number filter" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "PtlD75nkQdzu" + }, + "outputs": [], + "source": [ + "filter_time = create_time_filter(parquet_ds, date_start='2006-07-12', date_end='2023-02-05')\n", + "\n", + "expr_1 = pc.field('PLATFORM_NUMBER') == 1901740\n", + "filter = expr_1 & filter_time" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "PQF8IgX9Qdzu", + "outputId": "8930b940-58f5-449d-eb21-3d723bf6c0c8" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "id": "PtlD75nkQdzu" - }, - "outputs": [], - "source": [ - "filter_time = create_time_filter(parquet_ds, date_start='2006-07-12', date_end='2023-02-05')\n", - "\n", - "expr_1 = pc.field('PLATFORM_NUMBER') == 1901740\n", - "filter = expr_1 & filter_time" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 150192 entries, 0 to 150191\n", + "Data columns (total 67 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 PROJECT_NAME 150192 non-null object \n", + " 1 PI_NAME 150192 non-null object \n", + " 2 CYCLE_NUMBER 150192 non-null float64 \n", + " 3 DIRECTION 150192 non-null object \n", + " 4 DATA_CENTRE 150192 non-null object \n", + " 5 DC_REFERENCE 150192 non-null object \n", + " 6 DATA_STATE_INDICATOR 150192 non-null object \n", + " 7 DATA_MODE 150192 non-null object \n", + " 8 PLATFORM_TYPE 150192 non-null object \n", + " 9 FLOAT_SERIAL_NO 150192 non-null object \n", + " 10 FIRMWARE_VERSION 150192 non-null object \n", + " 11 WMO_INST_TYPE 150192 non-null object \n", + " 12 JULD 150192 non-null datetime64[ns]\n", + " 13 JULD_QC 150192 non-null object \n", + " 14 JULD_LOCATION 150192 non-null datetime64[ns]\n", + " 15 LATITUDE 150192 non-null float64 \n", + " 16 LONGITUDE 150192 non-null float64 \n", + " 17 POSITION_QC 150192 non-null object \n", + " 18 POSITIONING_SYSTEM 150192 non-null object \n", + " 19 PROFILE_PRES_QC 150192 non-null object \n", + " 20 PROFILE_TEMP_QC 150192 non-null object \n", + " 21 VERTICAL_SAMPLING_SCHEME 150192 non-null object \n", + " 22 CONFIG_MISSION_NUMBER 150192 non-null float64 \n", + " 23 PRES 148328 non-null float32 \n", + " 24 PRES_QC 148328 non-null object \n", + " 25 PRES_ADJUSTED 148328 non-null float32 \n", + " 26 PRES_ADJUSTED_QC 148328 non-null object \n", + " 27 PRES_ADJUSTED_ERROR 148328 non-null float32 \n", + " 28 TEMP 148328 non-null float32 \n", + " 29 TEMP_QC 148328 non-null object \n", + " 30 TEMP_ADJUSTED 148320 non-null float32 \n", + " 31 TEMP_ADJUSTED_QC 148328 non-null object \n", + " 32 TEMP_ADJUSTED_ERROR 148320 non-null float32 \n", + " 33 filename 150192 non-null object \n", + " 34 DATA_TYPE 0 non-null object \n", + " 35 FORMAT_VERSION 0 non-null object \n", + " 36 HANDBOOK_VERSION 0 non-null object \n", + " 37 REFERENCE_DATE_TIME 0 non-null object \n", + " 38 DATE_CREATION 0 non-null object \n", + " 39 DATE_UPDATE 0 non-null object \n", + " 40 STATION_PARAMETERS 0 non-null object \n", + " 41 PROFILE_PSAL_QC 150192 non-null object \n", + " 42 PSAL 148328 non-null float32 \n", + " 43 PSAL_QC 148328 non-null object \n", + " 44 PSAL_ADJUSTED 147969 non-null float32 \n", + " 45 PSAL_ADJUSTED_QC 148328 non-null object \n", + " 46 PSAL_ADJUSTED_ERROR 147969 non-null float32 \n", + " 47 PARAMETER 0 non-null object \n", + " 48 SCIENTIFIC_CALIB_EQUATION 0 non-null object \n", + " 49 SCIENTIFIC_CALIB_COEFFICIENT 0 non-null object \n", + " 50 SCIENTIFIC_CALIB_COMMENT 0 non-null object \n", + " 51 SCIENTIFIC_CALIB_DATE 0 non-null object \n", + " 52 HISTORY_INSTITUTION 0 non-null object \n", + " 53 HISTORY_STEP 0 non-null object \n", + " 54 HISTORY_SOFTWARE 0 non-null object \n", + " 55 HISTORY_SOFTWARE_RELEASE 0 non-null object \n", + " 56 HISTORY_REFERENCE 0 non-null object \n", + " 57 HISTORY_DATE 0 non-null object \n", + " 58 HISTORY_ACTION 0 non-null object \n", + " 59 HISTORY_PARAMETER 0 non-null object \n", + " 60 HISTORY_START_PRES 0 non-null float32 \n", + " 61 HISTORY_STOP_PRES 0 non-null float32 \n", + " 62 HISTORY_PREVIOUS_VALUE 0 non-null float32 \n", + " 63 HISTORY_QCTEST 0 non-null object \n", + " 64 timestamp 150192 non-null category \n", + " 65 PLATFORM_NUMBER 150192 non-null category \n", + " 66 polygon 150192 non-null category \n", + "dtypes: category(3), datetime64[ns](2), float32(12), float64(4), object(46)\n", + "memory usage: 67.7+ MB\n", + "CPU times: user 55.7 s, sys: 887 ms, total: 56.6 s\n", + "Wall time: 1min 39s\n" + ] + } + ], + "source": [ + "%%time\n", + "# using pandas instead of pyarrow so that filters can directly be applied to the data, and not just the partition\n", + "df = pd.read_parquet(dname, engine='pyarrow',filters=filter)\n", + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 489 }, + "id": "dvO7kLp1Qdzu", + "outputId": "3624827e-c2ca-4179-e20d-cdf8b2be6529" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "id": "PQF8IgX9Qdzu", - "outputId": "8930b940-58f5-449d-eb21-3d723bf6c0c8", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n", - "RangeIndex: 150192 entries, 0 to 150191\n", - "Data columns (total 67 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 PROJECT_NAME 150192 non-null object \n", - " 1 PI_NAME 150192 non-null object \n", - " 2 CYCLE_NUMBER 150192 non-null float64 \n", - " 3 DIRECTION 150192 non-null object \n", - " 4 DATA_CENTRE 150192 non-null object \n", - " 5 DC_REFERENCE 150192 non-null object \n", - " 6 DATA_STATE_INDICATOR 150192 non-null object \n", - " 7 DATA_MODE 150192 non-null object \n", - " 8 PLATFORM_TYPE 150192 non-null object \n", - " 9 FLOAT_SERIAL_NO 150192 non-null object \n", - " 10 FIRMWARE_VERSION 150192 non-null object \n", - " 11 WMO_INST_TYPE 150192 non-null object \n", - " 12 JULD 150192 non-null datetime64[ns]\n", - " 13 JULD_QC 150192 non-null object \n", - " 14 JULD_LOCATION 150192 non-null datetime64[ns]\n", - " 15 LATITUDE 150192 non-null float64 \n", - " 16 LONGITUDE 150192 non-null float64 \n", - " 17 POSITION_QC 150192 non-null object \n", - " 18 POSITIONING_SYSTEM 150192 non-null object \n", - " 19 PROFILE_PRES_QC 150192 non-null object \n", - " 20 PROFILE_TEMP_QC 150192 non-null object \n", - " 21 PROFILE_PSAL_QC 150192 non-null object \n", - " 22 VERTICAL_SAMPLING_SCHEME 150192 non-null object \n", - " 23 CONFIG_MISSION_NUMBER 150192 non-null float64 \n", - " 24 PRES 148328 non-null float32 \n", - " 25 PRES_QC 148328 non-null object \n", - " 26 PRES_ADJUSTED 148328 non-null float32 \n", - " 27 PRES_ADJUSTED_QC 148328 non-null object \n", - " 28 PRES_ADJUSTED_ERROR 140351 non-null float32 \n", - " 29 TEMP 148328 non-null float32 \n", - " 30 TEMP_QC 148328 non-null object \n", - " 31 TEMP_ADJUSTED 148320 non-null float32 \n", - " 32 TEMP_ADJUSTED_QC 148328 non-null object \n", - " 33 TEMP_ADJUSTED_ERROR 140343 non-null float32 \n", - " 34 PSAL 148328 non-null float32 \n", - " 35 PSAL_QC 148328 non-null object \n", - " 36 PSAL_ADJUSTED 147971 non-null float32 \n", - " 37 PSAL_ADJUSTED_QC 148328 non-null object \n", - " 38 PSAL_ADJUSTED_ERROR 139994 non-null float32 \n", - " 39 filename 150192 non-null object \n", - " 40 DATA_TYPE 0 non-null object \n", - " 41 FORMAT_VERSION 0 non-null object \n", - " 42 HANDBOOK_VERSION 0 non-null object \n", - " 43 REFERENCE_DATE_TIME 0 non-null object \n", - " 44 DATE_CREATION 0 non-null object \n", - " 45 DATE_UPDATE 0 non-null object \n", - " 46 STATION_PARAMETERS 0 non-null object \n", - " 47 PARAMETER 0 non-null object \n", - " 48 SCIENTIFIC_CALIB_EQUATION 0 non-null object \n", - " 49 SCIENTIFIC_CALIB_COEFFICIENT 0 non-null object \n", - " 50 SCIENTIFIC_CALIB_COMMENT 0 non-null object \n", - " 51 SCIENTIFIC_CALIB_DATE 0 non-null object \n", - " 52 HISTORY_INSTITUTION 0 non-null object \n", - " 53 HISTORY_STEP 0 non-null object \n", - " 54 HISTORY_SOFTWARE 0 non-null object \n", - " 55 HISTORY_SOFTWARE_RELEASE 0 non-null object \n", - " 56 HISTORY_REFERENCE 0 non-null object \n", - " 57 HISTORY_DATE 0 non-null object \n", - " 58 HISTORY_ACTION 0 non-null object \n", - " 59 HISTORY_PARAMETER 0 non-null object \n", - " 60 HISTORY_START_PRES 0 non-null float32 \n", - " 61 HISTORY_STOP_PRES 0 non-null float32 \n", - " 62 HISTORY_PREVIOUS_VALUE 0 non-null float32 \n", - " 63 HISTORY_QCTEST 0 non-null object \n", - " 64 timestamp 150192 non-null category \n", - " 65 PLATFORM_NUMBER 150192 non-null category \n", - " 66 polygon 150192 non-null category \n", - "dtypes: category(3), datetime64[ns](2), float32(12), float64(4), object(46)\n", - "memory usage: 67.3+ MB\n", - "CPU times: user 23.8 s, sys: 647 ms, total: 24.5 s\n", - "Wall time: 1min 24s\n" - ] - } - ], - "source": [ - "%%time\n", - "# using pandas instead of pyarrow so that filters can directly be applied to the data, and not just the partition\n", - "df = pd.read_parquet(dname, engine='pyarrow',filters=filter)\n", - "df.info()" + "data": { + "text/plain": [ + "" ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "id": "dvO7kLp1Qdzu", - "outputId": "3624827e-c2ca-4179-e20d-cdf8b2be6529", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 489 - } - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 18 - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAHHCAYAAABEEKc/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU5drG75nt6QklAWkRFQXBgkdEpZcQepMuCVXFctRzLNgo6oddLEdQOlIFadI7QQQUFFFERAREekjP9pn3+2N2Zme2ZTcJAcLzu6652Hln5p13Fti996kcY4yBIAiCIAiCUOCv9AIIgiAIgiCuNkggEQRBEARB+EACiSAIgiAIwgcSSARBEARBED6QQCIIgiAIgvCBBBJBEARBEIQPJJAIgiAIgiB8IIFEEARBEAThAwkkgiAIgiAIH0ggEcR1zLvvvosbb7wROp0Od95555VeTrmzfft2cByHpUuXlur62bNng+M4nDhxonwXVo7Uq1cPmZmZV3oZBFHpIIFElBqO48Latm/ffqWXesX47LPPMHv27Cu9jIBs3LgRzz//PB544AHMmjUL//d//3ell0QE4bvvvsP48eORl5d3pZdCENcN+iu9AOLa5csvv9Tsz507F5s2bfIbv+222ypyWVcVn332GapWrXpV/sLfunUreJ7HjBkzYDQar/RyiBB89913mDBhAjIzM5GQkKA5duTIEfA8/dYliPKGBBJRaoYMGaLZ37NnDzZt2uQ3XllgjMFut8NisVSKdVy4cAEWi6XcxNHV8v5cb5hMpiu9BIKolNDPDuKyIooiJk+ejEaNGsFsNiM5ORmPPPIIcnNzNefVq1cPXbt2xfbt23HPPffAYrGgcePGintu2bJlaNy4McxmM5o2bYqffvpJc31mZiZiYmLw119/IS0tDdHR0ahZsyYmTpwIxliZ1rRhwwZlTZ9//jkAYNasWWjbti2qV68Ok8mEhg0bYsqUKX7XHzp0CDt27FDcja1btwYAjB8/HhzH+b1fgWJeQq0jLy8PTz/9NGrXrg2TyYSbbroJb7/9NkRRDPn3wnEcZs2aheLiYmVtsivQ7Xbj9ddfR/369WEymVCvXj289NJLcDgcYb8/wdi7dy86deqE+Ph4REVFoVWrVti1a5fmnJMnT2LMmDFo0KABLBYLqlSpgoceeihgHFBeXh6eeeYZ1KtXDyaTCbVq1cLQoUORnZ2tOU8URbz55puoVasWzGYz2rVrhz///DPkWkPx2WefoVGjRjCZTKhZsyYef/zxgO6vvXv3onPnzkhMTER0dDSaNGmCjz76SDl+8OBBZGZm4sYbb4TZbEZKSgqGDx+OS5cuKeeMHz8ezz33HAAgNTVV+fuS349AMUh//fUXHnroISQlJSEqKgr33Xcf1qxZozlHjs/66quvyvW9IYjKAlmQiMvKI488gtmzZ2PYsGF46qmncPz4cXz66af46aefsGvXLhgMBuXcP//8E4MGDcIjjzyCIUOG4L333kO3bt0wdepUvPTSSxgzZgwAYNKkSejXr5+fa0EQBHTq1An33Xcf3nnnHaxfvx7jxo2D2+3GxIkTS7WmI0eOYODAgXjkkUcwatQoNGjQAAAwZcoUNGrUCN27d4der8c333yDMWPGQBRFPP744wCAyZMn48knn0RMTAxefvllAEBycnKp3sdA67BarWjVqhVOnz6NRx55BHXq1MF3332HsWPH4uzZs5g8eXLQ+b788kt88cUX+P777zF9+nQAwP333w8AGDlyJObMmYO+ffviP//5D/bu3YtJkybh8OHDWL58eYnrCsbWrVuRnp6Opk2bYty4ceB5XhGaO3fuxL333gsA+OGHH/Ddd99hwIABqFWrFk6cOIEpU6agdevW+O233xAVFQUAKCoqQosWLXD48GEMHz4cd999N7Kzs7Fq1Sr8888/qFq1qnLvt956CzzP47///S/y8/PxzjvvYPDgwdi7d2/Efxfjx4/HhAkT0L59ezz22GM4cuQIpkyZgh9++EHz72fTpk3o2rUratSogX//+99ISUnB4cOHsXr1avz73/9Wzvnrr78wbNgwpKSk4NChQ/jiiy9w6NAh7NmzBxzHoXfv3vjjjz+wcOFCfPjhh8pzVatWLeD6zp8/j/vvvx9WqxVPPfUUqlSpgjlz5qB79+5YunQpevXqpTm/PN8bgqhUMIIoJx5//HGm/ie1c+dOBoDNnz9fc9769ev9xuvWrcsAsO+++04Z27BhAwPALBYLO3nypDL++eefMwBs27ZtylhGRgYDwJ588kllTBRF1qVLF2Y0GtnFixdLvab169f7PavVavUbS0tLYzfeeKNmrFGjRqxVq1Z+544bN44F+u83a9YsBoAdP368xHW8/vrrLDo6mv3xxx+a8RdffJHpdDr2999/+82vJiMjg0VHR2vGDhw4wACwkSNHasb/+9//MgBs69atJa4rEKIosptvvpmlpaUxURSVcavVylJTU1mHDh00Y77s3r2bAWBz585Vxl577TUGgC1btizg/RhjbNu2bQwAu+2225jD4VCOf/TRRwwA++WXX0Ku2/fv48KFC8xoNLKOHTsyQRCU8z799FMGgM2cOZMxxpjb7Wapqamsbt26LDc3N+Dagj3rwoULGQCWlZWljL377rt+/y5k6tatyzIyMpT9p59+mgFgO3fuVMYKCwtZamoqq1evnrLusr43BFHZIRcbcdlYsmQJ4uPj0aFDB2RnZytb06ZNERMTg23btmnOb9iwIZo3b67sN2vWDADQtm1b1KlTx2/8r7/+8rvnE088obzmOA5PPPEEnE4nNm/eXKo1paamIi0tze8+6jib/Px8ZGdno1WrVvjrr7+Qn58f9nsULoHWsWTJErRo0QKJiYmaZ2nfvj0EQUBWVlbE91m7di0A4Nlnn9WM/+c//wEAPzdNsPfHlwMHDuDo0aMYNGgQLl26pKy1uLgY7dq1Q1ZWluIWVL+3LpcLly5dwk033YSEhAT8+OOPyrGvv/4ad9xxh59FBICf+3LYsGGaWKsWLVoACPxvKBSbN2+G0+nE008/rbFejho1CnFxccr789NPP+H48eN4+umn/YKq1WtTP6vdbkd2djbuu+8+ANA8aySsXbsW9957Lx588EFlLCYmBqNHj8aJEyfw22+/ac4vr/eGICob5GIjLhtHjx5Ffn4+qlevHvD4hQsXNPtqEQQA8fHxAIDatWsHHPeNGeJ5HjfeeKNm7JZbbgEAJV4j0jWlpqYGPG/Xrl0YN24cdu/eDavVqjmWn5+vrLG8CLSOo0eP4uDBg0FdLb7PEg4nT54Ez/O46aabNOMpKSlISEjAyZMnS1xXII4ePQoAyMjICHpOfn4+EhMTYbPZMGnSJMyaNQunT5/WxJCpxeexY8fQp0+fsO7v+28rMTERgP+/oZKQn9/XlWg0GnHjjTcqx48dOwYAuP3220POl5OTgwkTJmDRokV+f1+lFdonT55UfkSokbNJT548qVlXeb03BFHZIIFEXDZEUUT16tUxf/78gMd9v9h1Ol3A84KNM5/g68uxpkAZWceOHUO7du1w66234oMPPkDt2rVhNBqxdu1afPjhhyUGSAP+Fg4ZQRACjgdahyiK6NChA55//vmA18jisDQEW1846wqE/J68++67QQtSxsTEAACefPJJzJo1C08//TSaN2+O+Ph4cByHAQMGhPXeBqI8/w2VJ/369cN3332H5557DnfeeSdiYmIgiiI6depU6meNlKv1vSGIKw0JJOKyUb9+fWzevBkPPPBAhaR+i6KIv/76SyMM/vjjDwBSpk95rembb76Bw+HAqlWrNL++fd1zQHChIf9Kz8vL07hgfC00oahfvz6KiorQvn37sK8pibp160IURRw9elRTv+r8+fPIy8tD3bp1SzVv/fr1AQBxcXElrnfp0qXIyMjA+++/r4zZ7Xa/LLH69evj119/LdV6Sov8/EeOHNFYK51OJ44fP648m/y8v/76a9Dnzc3NxZYtWzBhwgS89tpryrhsbVMTrmCV13jkyBG/8d9//13zDARBhIZikIjLRr9+/SAIAl5//XW/Y263+7JUBf7000+V14wxfPrppzAYDGjXrl25rUn+xe3r+pk1a5bfudHR0QHnlL9A1XFCxcXFmDNnTon3l+nXrx92796NDRs2+B3Ly8uD2+0Oey6Zzp07A4BfBtwHH3wAAOjSpUvEcwJA06ZNUb9+fbz33nsoKiryO37x4kXltU6n87NefPLJJ37WtT59+uDnn3/2y6wDLp/1o3379jAajfj4448195gxYwby8/OV9+fuu+9GamoqJk+e7Pf3L18X6N8R4P/eA9K/IwBh/fvs3Lkzvv/+e+zevVsZKy4uxhdffIF69eqhYcOGJc5BEARZkIjLSKtWrfDII49g0qRJOHDgADp27AiDwYCjR49iyZIl+Oijj9C3b99yu5/ZbMb69euRkZGBZs2aYd26dVizZg1eeuklxXVWHmvq2LEjjEYjunXrhkceeQRFRUWYNm0aqlevjrNnz2rObdq0KaZMmYI33ngDN910E6pXr462bduiY8eOqFOnDkaMGIHnnnsOOp0OM2fORLVq1fD333+H9bzPPfccVq1aha5duyIzMxNNmzZFcXExfvnlFyxduhQnTpzQpLqHwx133IGMjAx88cUXyMvLQ6tWrfD9999jzpw56NmzJ9q0aRPRfDI8z2P69OlIT09Ho0aNMGzYMNxwww04ffo0tm3bhri4OHzzzTcAgK5du+LLL79EfHw8GjZsiN27d2Pz5s2oUqWK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\n" - }, - "metadata": {} - } - ], - "source": [ - "df.plot.scatter(x='TEMP_ADJUSTED', y='PSAL_ADJUSTED', c='PRES_ADJUSTED', marker='+', linestyle=\"None\", cmap='RdYlBu_r', title='Temperature for each location')" + "data": { + "image/png": "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arHff/9dc/zll19mBoOB/f33337zq0lNTWW1atXSHDt06BADwEaNGqU5/q9//YsBYDt27Ch1XXqIoshuvPFGlpSUxERRVI4XFxezxMRE1qVLF80xX/bu3csAsHnz5inH3njjDQaArVy5Uvd+jDG2c+dOBoDdcsstzOFwKOc/+eQTBoD9/PPPJa7b9//HhQsXmNlsZl27dmWCICjjPv/8cwaAzZo1izHGmNvtZomJiaxRo0YsJydHd22B3uvixYsZAJaRkaEc++CDD/z+Xcg0atSIpaamKvvPPvssA8D27NmjHCsoKGCJiYmscePGyrrL+2wIorpDLjbisrFs2TJER0ejS5cuyMrKUraWLVsiIiICO3fu1Ixv1qwZWrdurey3atUKANCxY0dcd911fsdPnjzpd88nn3xSec1xHJ588kk4nU5s27atTGtKTExEUlKS333UcTZ5eXnIyspCu3btcPLkSeTl5QX9jIJFbx3Lli1DmzZtEBsbq3kvnTt3hiAIyMjICPk+GzduBAA8//zzmuMvvPACAPi5aQI9H18OHTqE48ePY/Dgwbh06ZKy1qKiInTq1AkZGRmKW1D9bF0uFy5duoQbbrgBMTEx+OGHH5RzK1aswO233+5nEQHg574cPny4JtaqTZs2APT/DZXEtm3b4HQ68eyzz2qsl6NHj0ZUVJTyfH788UecOnUKzz77rF9QtXpt6vdqt9uRlZWF++67DwA07zUUNm7ciHvvvRcPPvigciwiIgJjxozBn3/+iV9//VUzvqKeDUFUN8jFRlw2jh8/jry8PNStW1f3/IULFzT7ahEEANHR0QCAhg0b6h73jRnieR7XX3+95thNN90EAEq8RqhrSkxM1B33zTff4M0338TevXtRXFysOZeXl6essaLQW8fx48dx+PDhgK4W3/cSDH/99Rd4nscNN9ygOZ6QkICYmBj89ddfpa5Lj+PHjwMAUlNTA47Jy8tDbGwsbDYbJk2ahNmzZ+PMmTOaGDK1+Dxx4gQGDBgQ1P19/23FxsYC8P83VBry+/d1JZrNZlx//fXK+RMnTgAAbr311hLny87OxoQJE7BkyRK//19lFdp//fWX8iNCjZxN+tdff2nWVVHPhiCqGySQiMuGKIqoW7cuFi5cqHve94vdYDDojgt0nPkEX1+ONellZJ04cQKdOnXCzTffjI8++ggNGzaE2WzGxo0b8fHHH5caIA34WzhkBEHQPa63DlEU0aVLF7z44ou618jisCwEWl8w69JDfiYffPBBwIKUERERAICnnnoKs2fPxrPPPovWrVsjOjoaHMchJSUlqGerR0X+G6pIBg0ahG+//Rb//ve/cccddyAiIgKiKKJbt25lfq+hcqU+G4KoakggEZeNJk2aYNu2bXjggQcqJfVbFEWcPHlSIwx+//13AFKmT0Wtad26dXA4HFi7dq3m17evew4ILDTkX+m5ubkaF4yvhaYkmjRpgsLCQnTu3Dnoa0qjUaNGEEURx48f19SvOn/+PHJzc9GoUaMyzdukSRMAQFRUVKnrXb58OVJTU/G///1POWa32/2yxJo0aYJffvmlTOspK/L7P3bsmMZa6XQ6cerUKeW9ye/3l19+Cfh+c3JysH37dkyYMAFvvPGGcly2tqkJVrDKazx27Jjf8d9++03zHgiCKBmKQSIuG4MGDYIgCHj77bf9zrnd7stSFfjzzz9XXjPG8Pnnn8NkMqFTp04Vtib5F7ev62f27Nl+Y2vVqqU7p/wFqo4TKioqwty5c0u9v8ygQYOwd+9ebN682e9cbm4u3G530HPJdO/eHQD8MuA++ugjAECPHj1CnhMAWrZsiSZNmuDDDz9EYWGh3/mLFy8qrw0Gg5/14rPPPvOzrg0YMAA//fSTX2YdcPmsH507d4bZbMann36qucfMmTORl5enPJ+77roLiYmJmDx5st//f/k6vX9HgP+zB6R/RwCC+vfZvXt3fP/999i7d69yrKioCNOmTUPjxo3RrFmzUucgCIIsSMRlpF27dnjssccwadIkHDp0CF27doXJZMLx48exbNkyfPLJJxg4cGCF3c9isSA9PR2pqalo1aoVNm3ahA0bNuCVV15RXGcVsaauXbvCbDajV69eeOyxx1BYWIjp06ejbt26yMzM1Ixt2bIlpkyZgv/85z+44YYbULduXXTs2BFdu3bFddddh5EjR+Lf//43DAYDZs2ahWuuuQZ///13UO/33//+N9auXYuePXsiLS0NLVu2RFFREX7++WcsX74cf/75pybVPRhuv/12pKamYtq0acjNzUW7du3w/fffY+7cuejbty86dOgQ0nwyPM9jxowZSE5ORvPmzTF8+HBce+21OHPmDHbu3ImoqCisW7cOANCzZ0/Mnz8f0dHRaNasGfbu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l112Gbp06YL58+fD6/Waju3atSseeughfftnP/sZ5s+fb3nOG2+8Ud/+6aefMH36dLRs2RIOhwPZ2dno3bs3PvnkE+Tn51d5f/Pz8033wvhwOp36dSZOnKiP22w2ZGVloWfPnli0aBEURYnrnhEEcXFDvdgIohY4ffq0/nzVqlX4wx/+gKNHj+pjSUlJOHPmDABg586duO6660zzmzRpoj9PTExEUVERDhw4YGoiunDhQrRs2TLs2ikpKTh69CgURcH//d//YdKkSTh16hS2b98e09orKyuxcuVKPPbYY1i0aBGGDx8edsx1112HnTt3QlEUnD17Fvn5+XjmmWfw3nvvIT8/H8nJyTFdKxI5OTnw+XxYunQprrzyShQWFmLXrl04e/Ys+vTpY7q/v/nNb1BaWorFixfrYxkZGfjhhx/0e2GE4zjTdp8+fbB48WLIsozCwkJs27YNv/nNb7B27Vps2rQJokh/FgmCIIFEELVCdna2/jw1NRUcx5nGAOgCqUmTJmH7jIiiiDFjxmDRokW6QDp58iTy8/Mxc+ZMrFixwnS88VrNmzfHr3/9azz55JNwu91wuVxVrn3NmjVo164dfve736F58+b48ccf0aJFi7A1Ga/Rvn179OzZEzfccANefPFFPPPMM1VeJxLFxcXYv38/8vPzceeddwIAWrVqhVtuuUU/xni/XC4XvF6v5T20uu+haBYqALj88svxy1/+Erfeeiu6d++OJUuWYOrUqdV+LQRBXDyQi40gGiCTJ0/G6tWrUVlZCUB1pfXp0wdZWVlVznW5XFAUBZIkxXSthQsXYty4cUhNTUXfvn2xZMmSmOa1bdsWffv2xbp162I6PhJJSUlISkrChg0bwlx2dUW3bt1www031Pi1EARx8UACiSDqmNtuu00XBdojlF/84he48sorsXbtWjDGsGTJEkyePLnKcx87dgxvvfUWfvWrX8Xk9jp27BgOHjyIkSNHAgDGjRuHxYsXI9Ye1m3btsUPP/wQ07GREEURS5YswdKlS5GWlobbb78dTzzxBL766qu4z1VSUhJ2b/v27RvT3Np4LQRBXDyQQCKIOmbVqlU4fPiw6WHF5MmTsXjxYuzduxcVFRXo16+f5XGaKEhISMA111yDrKwsLF++PKa1LFq0648QMQAAA6hJREFUCL1798Zll10GAOjXrx9KSkqwe/fumOYzxsJifKpDTk4OTp06hU2bNqFPnz7Iz8/HL3/5y5itWRrJyclh93bBggUxza2t10IQxMUBxSARRB3TokULXHXVVVUeN3bsWDz22GOYO3cuxo8fHzF4ODk5Gf/4xz/A8zyaNWsWU9wRAMiyjKVLl6KgoMB0blmWsWjRInTv3r3Kc/zzn/9E69atI+5PSUlBSUlJ2HhxcTFSU1NNY06nEz179kTPnj3x5JNPYurUqZgzZw4mTpwY0+sBAJ7nY7q3VlT1WgiCuLQggUQQDZSMjAzcfffdWL16Nd56662Ix1VXFGzZsgVlZWX48ssvIQiCPn7kyBFMmjQJxcXFSEtLizj/X//6F7Zt24ZZs2ZFPOaaa67BF198ETb+j3/8A9dcc03U9bVr1w4bNmyo8nXUBrt378bXX3+NmTNn1sn1CIJo+JBAIog65uzZsygoKDCNpaWlmer1aCxZsgRvvPGGqQxAbbFw4UL0798fN9xwg2m8Xbt2mDlzJpYvX44ZM2YAACRJQkFBQVia/4033ohHH3004jVmzpyJzp0749lnn8XQoUMhyzJWrFiBAwcO4I033gCg3o/hw4dj8uTJ6NChA5KTk/H555/jpZdewqBBg+J6TYyxsHsLAJmZmeB5NaLA6/WioKDAlOb//PPPY8CAAZgwYUJc1yMI4uKFBBJB1DE9evQIG1uxYgVGjRoVNu5yuWJ2mcVDYWEhPvzwQ+Tl5YXt43keQ4YMwcKFC3WB9M0336BZs2YQBAGpqalo164dZs2ahenTp8PhcOhzFUUxuetuu+02bN26FU899RRefvll8DyP9u3bY9euXbj++usBqFlsHTt2xCuvvILjx4/D7/ejRYsWmDZtGp544om4XldpaSmaNWsWNn769Gk9tX/btm1o1qwZRFFEeno6brjhBrz22mvIzc3VRRRBEATHYk1XIQiCqIK2bdti6tSpeOSRR+p7KQRBEDWCLEgEQdSYoqIibN26FUePHo0puJsgCKKhQ/ZkgrhIee6558JqAsVbGyhW+vTpg7lz5+K1117DL37xi1o9N0EQRH1ALjaCuEg5d+4czp07Z7nP5XLh8ssvr+MVEQRBNB5IIBEEQRAEQYRALjaCIAiCIIgQSCARBEEQBEGEQAKJIAiCIAgiBBJIBEEQBEEQIZBAIgiCIAiCCIEEEkEQBEEQRAgkkAiCIAiCIEIggUQQBEEQBBHC/wNGrZUzrKpRFwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "tmq8RiggQdzv" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - }, - "colab": { - "provenance": [] + }, + "metadata": {}, + "output_type": "display_data" } + ], + "source": [ + "df.plot.scatter(x='TEMP_ADJUSTED', y='PSAL_ADJUSTED', c='PRES_ADJUSTED', marker='+', linestyle=\"None\", cmap='RdYlBu_r', title='Temperature for each location')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "tmq8RiggQdzv" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/notebooks/gsla_nrt.ipynb b/notebooks/gsla_nrt.ipynb index 312a67d..2fcfa43 100644 --- a/notebooks/gsla_nrt.ipynb +++ b/notebooks/gsla_nrt.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "id": "67dd6387-5e3e-4a9d-8249-5a21fe2111b5", "metadata": {}, "outputs": [], @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 2, "id": "2a6964b2-b36a-4699-8822-f92ca90c554b", "metadata": {}, "outputs": [ @@ -383,22 +383,21 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.Dataset> Size: 1GB\n",
-       "Dimensions:     (TIME: 115, LATITUDE: 351, LONGITUDE: 641)\n",
+       "
<xarray.Dataset> Size: 2GB\n",
+       "Dimensions:     (TIME: 180, LATITUDE: 351, LONGITUDE: 641)\n",
        "Coordinates:\n",
        "  * LATITUDE    (LATITUDE) float64 3kB -60.0 -59.8 -59.6 -59.4 ... 9.6 9.8 10.0\n",
        "  * LONGITUDE   (LONGITUDE) float64 5kB 57.0 57.2 57.4 ... 184.6 184.8 185.0\n",
-       "  * TIME        (TIME) datetime64[ns] 920B 2024-01-01 ... 2024-04-20T06:00:00\n",
+       "  * TIME        (TIME) datetime64[ns] 1kB 2024-01-01 ... 2024-06-24T06:00:00\n",
        "Data variables:\n",
-       "    GSL         (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    GSLA        (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    UCUR        (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    UCUR_MEAN   (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    VCUR        (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    VCUR_MEAN   (TIME, LATITUDE, LONGITUDE) float64 207MB dask.array<chunksize=(1, 350, 640), meta=np.ndarray>\n",
-       "    end_time    (TIME) datetime64[ns] 920B dask.array<chunksize=(1,), meta=np.ndarray>\n",
-       "    filename    (TIME) <U54 25kB dask.array<chunksize=(1,), meta=np.ndarray>\n",
-       "    start_time  (TIME) datetime64[ns] 920B dask.array<chunksize=(1,), meta=np.ndarray>\n",
+       "    GSL         (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    GSLA        (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    UCUR        (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    UCUR_MEAN   (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    VCUR        (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    VCUR_MEAN   (TIME, LATITUDE, LONGITUDE) float64 324MB dask.array<chunksize=(5, 351, 641), meta=np.ndarray>\n",
+       "    end_time    (TIME) datetime64[ns] 1kB dask.array<chunksize=(5,), meta=np.ndarray>\n",
+       "    start_time  (TIME) datetime64[ns] 1kB dask.array<chunksize=(5,), meta=np.ndarray>\n",
        "Attributes: (12/35)\n",
        "    Conventions:                   CF-1.6,IMOS-1.4\n",
        "    abstract:                      Gridded (adjusted) sea level anomaly (GSLA...\n",
@@ -410,11 +409,11 @@
        "    project:                       Integrated Marine Observing System (IMOS)\n",
        "    references:                    http://imos.aodn.org.au/oceancurrent\n",
        "    standard_name_vocabulary:      NetCDF Climate and Forecast (CF) Metadata ...\n",
-       "    time_coverage_end:             2024-04-22T20:04:38Z\n",
-       "    time_coverage_start:           2024-03-28T08:04:51Z\n",
-       "    title:                         Gridded Sea Level Anomaly - Australia Region
  • Conventions :
    CF-1.6
    Metadata_Conventions :
    Unidata Dataset Discovery v1.0
    Metadata_Link :
    TBA
    acknowledgment :
    Any use of these data requires the following acknowledgment:HRPT AVHRR SSTskin retrievals were produced by the Australian Bureau of Meteorology as a contribution to the Integrated Marine Observing System - an initiative of the Australian Government being conducted as part of the National Collaborative Research Infrastructure Strategy and the Super Science Initiative. The imagery data were acquired from NOAA spacecraft by the Bureau, Australian Institute of Marine Science, Australian Commonwealth Scientific and Industrial Research Organization, Geoscience Australia, and Western Australian Satellite Technology and Applications Consortium.
    cdm_data_type :
    grid
    comment :
    HRPT AVHRR experimental L3 retrieval produced by the Australian Bureau of Meteorology as a contribution to the Integrated Marine Observing System. SSTs were calibrated to drifting buoy depths (~20-30cm) followed by a cool skin correction of -0.17K to convert to a skin (~10 micron) SST. SSTs are a weighted average of the SSTs of contributing pixels (weighted by sses_standard_deviation^-2).\\nWARNING: some applications are unable to properly handle signed byte values. If byte values >127 are encountered, subtract 256 from this reported value. GRID:CONTINENTAL, SYSCODE:PRODUCTION
    creator_email :
    ghrsst@bom.gov.au
    creator_name :
    Australian Bureau of Meteorology
    creator_url :
    http://www.imos.org.au/srs.html
    date_created :
    20240213T034943Z
    easternmost_longitude :
    -170.00999450683594
    file_quality_level :
    3
    gds_version_id :
    2.0r4
    geospatial_lat_resolution :
    0.019999999552965164
    geospatial_lat_units :
    degrees_north
    geospatial_lon_resolution :
    0.019999999552965164
    geospatial_lon_units :
    degrees_east
    history :
    platform_counts=NOAA-18=2,quality_counts=archive=2,platform=NOAA-18,quality_source=archive,ice_source=SSMI-NCEP-Analysis-ICE-5min,adi_source=unknown,wind_source=ACCESSG-ABOM-Forecast-WSP,analysis_source=ABOM-L4LRfnd-GLOB-GAMSSA_28km,source_file=20240210152000-ABOM-L3C_GHRSST-SSTskin-AVHRR18_D-1d_night-v02.0-fv01.0.nc;20240210032000-ABOM-L3C_GHRSST-SSTskin-AVHRR18_D-1d_day-v02.0-fv01.0.nc,l3_file=20240210152000-ABOM-L3C_GHRSST-SSTskin-AVHRR18_D-1d_night-v02.0-fv01.0.nc;20240210032000-ABOM-L3C_GHRSST-SSTskin-AVHRR18_D-1d_day-v02.0-fv01.0.nc,l3_source=AVHRR18_D-ABOM-L3C-v01.0,global_source=wind_source=ACCESSG-ABOM-Forecast-WSP,analysis_source=ABOM-L4LRfnd-GLOB-GAMSSA_28km,adi_source=unknown,ice_source=SSMI-NCEP-Analysis-ICE-5min,l3_source=AVHRR18_D-ABOM-L3C-v01.0,landmask_file=lsmask.dist5.5.nc,landmask_reference=Naval Oceanographic Office (NAVOCEANO),landmask_URL=https://www.ghrsst.org/data/ghrsst-data-tools/navo-ghrsst-pp-land-sea-mask/,landmask_source=NAVOCEANO 1km Version 5.5,ice_reference=US National Weather Service - NCEP,ice_URL=http://polar.ncep.noaa.gov/seaice/Analyses.html,ice_file=20240209.ice_data.5min.nc,ice_jdate=2460350,merge_tool=mergeL3U,mergeL3U_version=9042,quality=archive,mergeL3U_quality=archive
    id :
    AVHRR_D-ABOM-L3S-v01.0
    institution :
    ABOM
    keywords :
    Oceans > Ocean Temperature > Sea Surface Temperature
    keywords_vocabulary :
    NASA Global Change Master Directory (GCMD) Science Keywords
    license :
    GHRSST protocol describes data use as free and open
    naming_authority :
    org.ghrsst
    netcdf_version_id :
    4.3.3.1
    northernmost_latitude :
    19.989999771118164
    platform :
    NOAA-18
    processing_level :
    L3S
    product_version :
    01.0
    project :
    Group for High Resolution Sea Surface Temperature
    publisher_email :
    gpa@ghrsst.org
    publisher_name :
    The GHRSST Project Office
    publisher_url :
    http://www.ghrsst.org
    references :
    http://imos.org.au/sstproducts.html and Griffin et al. (2017) at http://imos.org.au/facilities/srs/sstproducts/sstdata0/sstdata-references
    sensor :
    VIIRS,AVHRR
    source :
    wind_source=ACCESSG-ABOM-Forecast-WSP,analysis_source=ABOM-L4LRfnd-GLOB-GAMSSA_28km,adi_source=unknown,ice_source=SSMI-NCEP-Analysis-ICE-5min,l3_source=AVHRR18_D-ABOM-L3C-v01.0
    southernmost_latitude :
    -69.98999786376953
    spatial_resolution :
    0.02 deg
    standard_name_vocabulary :
    NetCDF Climate and Forecast (CF) Metadata Convention
    start_time :
    20240210T002953Z
    stop_time :
    20240210T163514Z
    summary :
    Skin SST retrievals produced from stitching together High Resolution Picture Transmission direct broadcast data from a NOAA polar-orbiting satellite received at Australian receiving stations.
    time_coverage_end :
    20240210T163514Z
    time_coverage_start :
    20240210T002953Z
    title :
    IMOS L3S Day and Night gridded multiple-sensor multiple-swath Australian region foundation SST
    uuid :
    b21e26ac-1562-42b6-840b-43af2aa7c11b
    westernmost_longitude :
    70.01000213623047
  • " ], "text/plain": [ - " Size: 202GB\n", - "Dimensions: (time: 104, lat: 4500, lon: 6000)\n", + " Size: 119GB\n", + "Dimensions: (time: 50, lat: 4500, lon: 6000)\n", "Coordinates:\n", - " * lat (lat) float32 18kB 19.99 19.97 ... -69.99\n", - " * lon (lon) float32 24kB 70.01 70.03 ... 190.0\n", - " * time (time) datetime64[ns] 832B 2024-01-01T...\n", - "Data variables: (12/18)\n", - " dt_analysis (time, lat, lon) float32 11GB dask.array\n", - " filename (time) \n", - " l2p_flags (time, lat, lon) float32 11GB dask.array\n", - " quality_level (time, lat, lon) float32 11GB dask.array\n", - " satellite_zenith_angle (time, lat, lon) float32 11GB dask.array\n", - " sea_ice_fraction (time, lat, lon) float32 11GB dask.array\n", - " ... ...\n", - " sst_count (time, lat, lon) float32 11GB dask.array\n", - " sst_dtime (time, lat, lon) float64 22GB dask.array\n", - " sst_mean (time, lat, lon) float32 11GB dask.array\n", - " sst_standard_deviation (time, lat, lon) float32 11GB dask.array\n", - " wind_speed (time, lat, lon) float32 11GB dask.array\n", - " wind_speed_dtime_from_sst (time, lat, lon) float32 11GB dask.array\n", + " * lat (lat) float32 18kB 19.99 19.97 ... -69.97 -69.99\n", + " * lon (lon) float32 24kB 70.01 70.03 ... 190.0 190.0\n", + " * time (time) datetime64[ns] 400B 2024-01-01T09:20:00 ....\n", + "Data variables:\n", + " dt_analysis (time, lat, lon) float64 11GB dask.array\n", + " l2p_flags (time, lat, lon) float32 5GB dask.array\n", + " quality_level (time, lat, lon) float32 5GB dask.array\n", + " satellite_zenith_angle (time, lat, lon) float64 11GB dask.array\n", + " sea_surface_temperature (time, lat, lon) float64 11GB dask.array\n", + " sses_bias (time, lat, lon) float64 11GB dask.array\n", + " sses_count (time, lat, lon) float64 11GB dask.array\n", + " sses_standard_deviation (time, lat, lon) float64 11GB dask.array\n", + " sst_count (time, lat, lon) float64 11GB dask.array\n", + " sst_dtime (time, lat, lon) float64 11GB dask.array\n", + " sst_mean (time, lat, lon) float64 11GB dask.array\n", + " sst_standard_deviation (time, lat, lon) float64 11GB dask.array\n", "Attributes: (12/47)\n", " Conventions: CF-1.6\n", " Metadata_Conventions: Unidata Dataset Discovery v1.0\n", @@ -2866,14 +1902,14 @@ " comment: HRPT AVHRR experimental L3 retrieval produced...\n", " ... ...\n", " summary: Skin SST retrievals produced from stitching t...\n", - " time_coverage_end: 20240413T165456Z\n", - " time_coverage_start: 20240412T232018Z\n", + " time_coverage_end: 20240210T163514Z\n", + " time_coverage_start: 20240210T002953Z\n", " title: IMOS L3S Day and Night gridded multiple-senso...\n", - " uuid: 0486b68d-00cc-4643-bbdf-831627b18798\n", + " uuid: b21e26ac-1562-42b6-840b-43af2aa7c11b\n", " westernmost_longitude: 70.01000213623047" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -2881,32 +1917,32 @@ "source": [ "# remote zarr dataset\n", "dataset_name=\"srs_l3s_1d_dn\"\n", - "url = f's3://imos-data-lab-optimised/parquet/loz_test/{dataset_name}.zarr/'\n", + "url = f's3://imos-data-lab-optimised/cloud_optimised/cluster_testing/{dataset_name}.zarr/'\n", "ds = xr.open_zarr(fsspec.get_mapper(url, anon=True), consolidated=True)\n", "ds" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "6f1e788f-7516-444d-8a7c-6cdf18f62928", + "execution_count": 4, + "id": "9a0a9794-547f-46bd-b015-9f0dd53cd8d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "[]" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHHCAYAAACIiZ3UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU1ffG3zuzu+kJvaiYTUJHEEFFFBV/KKAoUuxKABEUEDANCDWNhNQVRbp0pIMg+lVQsVGsINIhYQEFRERCzZaZ+/tjdia72d1kW/r9PM88kNmZO3dLMu+ec+57CKWUgsFgMBgMBoNRLnCVPQEGg8FgMBiMmgwTWwwGg8FgMBjlCBNbDAaDwWAwGOUIE1sMBoPBYDAY5QgTWwwGg8FgMBjlCBNbDAaDwWAwGOUIE1sMBoPBYDAY5QgTWwwGg8FgMBjlCBNbDAaDwWAwGOUIE1uMKotWq8WQIUMqexoMBoPBYHgFE1uMSmX37t1ISkrClStXKnsqFcrPP/+Mt99+G+3atUNQUBDuvPNOvPDCCzh+/LjD448cOYLevXsjODgY9erVw6BBg/DPP//YHHP06FGMHz8eHTt2REhICJo2bYo+ffrgl19+KXM+TzzxBAghePvtt11+DqIoIisrCxEREfD390eHDh2wevVqu+N++uknjBo1Cp07d4ZarQYhxOVruHMtURSxdOlS9O3bF82aNUNQUBDuuusupKWloaioSDmue/fuIISUuSUlJSnn7N69G926dUNgYCCaNGmCsWPH4vr163bz/PXXX9G7d2+EhoYiJCQEPXv2xP79+116jmfPnkVycjLuv/9+1K1bFw0aNED37t3x5ZdfOjz+ypUrGDFiBBo2bIigoCA89thj+O2331y6lvx6ufL+Aa59/hgMRilQBqMSyc7OpgDoqVOn7B4rKiqiRqOx4idVAQwcOJA2adKEjhkzhi5cuJCmpqbSxo0b06CgIPrHH3/YHHv27FnaoEEDGhUVRWfNmkVnzJhB69atS++++25qMBiU4+Li4midOnXosGHD6Pz582lWVhaNioqiPM/THTt2OJ3Lxo0baVBQEAVAR48e7fJzmDhxIgVAhw8fThcsWED79OlDAdDVq1fbHDd9+nSqVqtp586dacuWLaknf3Zcuda1a9coAPrAAw/QtLQ0umDBAjp06FDKcRzt3r07FUWRUkrp9u3b6YoVK5Rt7NixFACdNGmSzf7ff/+dUkrpvn37qL+/P73nnnvo3Llz6eTJk6mfnx/t3bu3zRx//fVX6u/vT1u0aEFzcnJoVlYW1Wq1NDQ0lB49erTM5/j+++/TgIAA+vLLL9PZs2fTd999l3bq1IkCoIsXL7Y5VhAE+uCDD9KgoCCalJREZ8+eTdu2bUtDQkLo8ePHffaaUur654/BYDiHiS1GpVKa2KrJ7Nq1y+5Gdfz4cern50dfffVVm/0jR46kAQEB9PTp08q+HTt2UAB0/vz5yr5ffvmFXrt2zebcS5cu0YYNG9KHHnrI4Txu3bpFtVotTUlJcUts/fnnn1StVtscL4oiffjhh+kdd9xBzWazsv/ChQv05s2blFJKR48e7bbYcvVaBoOB7tq1y+785ORkCsCp4Fy/fj0FQHfu3Onw8SeffJI2bdqUFhYWKvsWLlxIAdAvvvhC2ffUU0/RunXr0kuXLin7zp07R4ODg+mAAQPKfJ4HDx6k//zzj82+oqIi2rp1a3rHHXfY7F+7di0FQNevX6/su3jxIq1Tpw59+eWXy7yWO++fq58/BoPhHCa2GJXG9OnTKQC7TRZe4eHhdPDgwcrxS5YsoQDo999/T8eMGUMbNGhAw8LC6IgRI6jBYKD//fcfHTRoEK1Tpw6tU6cOTUhIUKIZMoIgUJ1OR9u2bUv9/Pxoo0aN6IgRI+jly5cr8Jk7p1OnTrRTp042+xo1akSff/55u2NbtmxJe/ToUeaYAwYMoPXq1XP4WHJyMr3zzjvpzZs33RJbH3zwAQVADx06ZLP/o48+Ut4jR3gitjy9lsyBAwcoAPree+85fLw0sVVYWEhVKhVNSEiw2W8wGGhwcDAdNmyYsi8kJMTh+9SnTx+q0WhshPA///xDjxw5Qm/cuFHq3CmlNDY2lgKgV69eVfY9//zztHHjxlQQBJtjR4wYQQMDA2lRUZGy79y5c/TIkSM2UWJ3XlNvP38MBoNSVrPFqDQGDBiAl19+GQCg0+mwYsUKrFixAg0bNiz1vDFjxuDEiRNITk5G3759sWDBAkydOhXPPPMMBEFAeno6unXrhuzsbKxYscLm3DfffBMJCQl46KGHMGvWLAwdOhSrVq1Cr169YDKZSr2uwWDApUuXXNo8gVKKv//+Gw0aNFD2/fXXX7h48SLuvfdeu+Pvv/9+7Nu3r8xxL1y4YDOmzJkzZzBz5kxkZmYiICDArbnu27cPQUFBaNOmjd2c5Md9hbfXunDhAgA4fA3K4o8//oDZbLZ7/TUaDTp27GhzbYPB4PB1DAwMhNFoxMGDB5V9s2fPRps2bfDTTz+VOYcLFy4gMDAQgYGByr59+/ahU6dO4DjbP+H3338/bt68aVP7l5iYiDZt2uCvv/6yOd+V19QXnz8GgwGoKnsCjNpLhw4d0KlTJ6xevRr9+vWDVqt16bzGjRvjs88+AyEEo0aNwsmTJ5GdnY0333wTc+fOBQCMGDECWq0WixcvRnR0NADghx9+wKJFi7Bq1Sq88soryniPPfYYevfujfXr19vsL8nq1asxdOhQl+ZIKXXpOGtWrVqFv/76CykpKcq+8+fPAwCaNm1qd3zTpk1x+fJlGAwG+Pn5ORzz+++/x549ezBlyhS7x+Li4nDPPffgpZdecnuu58+fR+PGje2K3eV5njt3zu0xy+taWVlZCA0NxZNPPunRta2vVfL633//vfJzq1atsHfvXgiCAJ7nAQBGoxE//vgjANiIHVc5efIkNm3ahOeff14ZU57XI4884nBOgPSatG/fvtTn5cpr6u3nj8FgSDCxxah2DBs2zOYm0aVLF+zZswfDhg1T9vE8j3vvvRe//vqrsm/9+vUICwvDE088YRN96ty5M4KDg7Fz585SxVavXr2wY8cOHz8biaNHj2L06NHo2rUrBg8erOy/desWADi8mfn7+yvHOHr84sWLeOWVVxAREYHx48fbPLZz505s3LhREQLu4uya1nPyFd5cKz09HV9++SXmzJmDOnXqeHRtwPnrb33tUaNGYeTIkRg2bBjGjx8PURSRlpamCBbrY5OSkmxWOzri5s2beP755xEQEICZM2fazcvV12Tp0qVYunSpR+d78/ljMBjFMLHFqHbceeedNj+HhYUBAJo1a2a3/7///lN+PnHiBAoLC9GoUSOH4168eLHU6zZt2tThN3xvuXDhAvr06YOwsDBs2LDBJoIhp6UMBoPdebKdgaPU1Y0bN/D000/j2rVr+OGHHxAcHKw8ZjabMXbsWAwaNAj33XdfmXOzJiwsDAEBAQgICHB7TmXh62utXbsWU6ZMwbBhwzBy5Ei352M9trPrW1/7rbfewtmzZ5GdnY1ly5YBAO69916MHz8eM2bMsHkPykIQBLz00ks4fPgw/ve//+G2226zm5c3r7+r53v6+WMwGLYwscWodliLkbL2W6fzRFFEo0aNsGrVKofnl1UrduvWLRQWFro0xyZNmrh0XGFhIZ588klcuXIF33//vd1NVRZ3cnTEmvPnz6NevXp2UQWj0YgBAwbgwIED+OKLL3DXXXfZPL58+XIcO3YM8+fPh16vt3ns2rVr0Ov1aNSoEQIDA+3E5ZIlSzBkyBA0bdoUO3fuBKXUJsooz7Pk83AFX15rx44diI6ORp8+fTBv3jy351JyTs5e/5LXnjFjBuLj43Ho0CGEhYWhffv2mDRpEgCgZcuWLl93+PDh2LZtG1atWoX/+7//czgvZ3MCyn79XX1NPfn8MRgMe5jYYlQqnhhcekpUVBS+/PJLPPTQQx59G1+7dq1Pa7aKiorwzDPP4Pjx4/jyyy/Rtm1bu2Nuv/12NGzY0KEx6U8//YSOHTva7BNFEdHR0fjqq6+wbt06PProo3bnnTlzBiaTCQ899JDdY8uXL8fy5cuxefNm9OvXzy5t2q5dOwBAx44dsWjRIhw5csRm3nJasuS8XMFX1/rxxx/Rv39/3HvvvVi3bh1UKs//zN11111QqVT45Zdf8MILLyj7jUYj9u/fb7NPpm7duujWrZvy85dffok77rgDrVu3dumaCQkJWLJkCd59911lAUlJOnbsiO+//x6iKNoUyf/4448IDAwsU9i5+pq6+/ljMBhOqMSVkAwGnTt3LgVA9+3bZ/eYM+uHn3/+2eY42UKipEfR4MGDaVBQkPLzN998QwHQxMREu2uZTCb633//lTrXc+fO0R07dri0lYXZbKZ9+/alKpWKfvrpp6Ue+9Zbb9GAgAB65swZZd+XX35JAdC5c+faHDtq1Kgy/Y+OHDlCN2/ebLcBoE899RTdvHkzPXfuXKlzOnv2rFOfpttvv93Gp8kaT6wf3LnW4cOHaf369Wm7du1ctvMoy2erd+/etGnTpjbWC4sWLaIA6P/+979Sx16zZg0FQHNycmz2O7N+yMrKUgxWXRnX2mfrn3/+oXXq1KEvvviizbGOrB/ceU3d+fwxGAzHsMgWo1Lp3LkzAGDy5Ml46aWXoFar8cwzzyAoKMjn13r00Ufx5ptvIiMjA/v370fPnj2hVqtx4sQJrF+/HrNmzcJzzz3n9Hxf1mzFxcVh69ateOaZZ3D58mWsXLnS5vHXXntN+f+kSZOwfv16PPbYYxg3bhyuX7+O7OxstG/f3ibS9u6772LOnDno2rUrAgMD7cbs378/goKC0Lp1a6dRloiICPTr16/M+d9xxx145513kJ2dDZPJhPvuuw8ff/wxvv/+e6xatcompXv69GnFgkOOkKSlpQEAwsPDMWjQIJ9c69q1a+jVqxf+++8/JCQk4NNPP7UZJyoqCl27di3zuZVkxowZePDBB/Hoo49ixIgR+PPPP5Gbm4uePXuid+/eynHfffcdUlJS0LNnT9SvXx979+7FkiVL0Lt3b4wbN85mzNmzZyM5ORk7d+5E9+7dAQCbN2/G+PHj0aJFC7Rp08bu/XviiSfQuHFjAMBzzz2HBx54AEOHDsXhw4fRoEEDzJkzB4IgIDk52ea8xMRELFu2DKdOnVJW/Lrz/rn6+WMwGKVQ2WqPwUhNTaW333475TjOJVNTTyNbMgsWLKCdO3emAQEBNCQkhLZv356OHz++zGiOL3n00UcdGrrKW0kOHjxIe/bsSQMDA2mdOnXoq6++Si9cuGBzzODBg0sdsyyXfrjZrkcQBJqenk7Dw8OpRqOh7dq1oytXrrQ7bufOnU7n9Oijj/rsWqdOnSr1+Vt/lqwpK7JFKaXff/89ffDBB6m/vz9t2LAhHT16tE2ki1JKT548SXv27EkbNGhA/fz8aOvWrWlGRobDljbyZ9b6ms5MfuWt5PwuX75Mhw0bRuvXr08DAwPpo48+ave7QWnx56Lk++/q+0epa58/BoPhHEKpB4ZADAaDwWAwGAyXYA7yDAaDwWAwGOUIE1sMBoPBYDAY5QgTWwwGg8FgMBjlSLURW3379sWdd94Jf39/NG3aFIMGDbLriXbgwAE8/PDD8Pf3R7NmzZCVlVXmuGfOnEGfPn0QGBiIRo0aISEhAWazubyeBoPBYDAYjFpGtRFbjz32GNatW4djx45h48aNyM/Pt1mmf/XqVfTs2RPh4eH49ddfkZ2djaSkJCxYsMDpmIIgoE+fPjAajdi9ezeWLVuGpUuXYtq0aRXxlBgMBoPBYNQGKns5pKds2bKFEkIUo745c+bQunXr2iyznjBhAm3VqpXTMT777DPKcZzNEua5c+fS0NBQh8u1GQwGg8FgOGfOnDm0ffv2NCQkhIaEhNAHHniAfvbZZ8rjt27doqNGjaL16tWjQUFBdMCAAXY2IqdPn6ZPPfUUDQgIoA0bNqTx8fHUZDJV9FPxKdXS1PTy5ctYtWoVHnzwQajVagDAnj178Mgjj0Cj0SjH9erVC5mZmfjvv/9Qt25du3H27NmD9u3bK0aB8jkjR47EoUOHcM899zi8vsFgsGnMKooiLl++jPr161do+xkGg8FgVC8opbh27Rpuu+02m1ZLvqaoqAhGo9EnY2k0Gvj7+7t07B133IGZM2eiRYsWoJRi2bJlePbZZ7Fv3z60a9cOMTEx+PTTT7F+/XqEhYXh7bffxoABA7Br1y4AxRmnJk2aYPfu3Th//jyio6OhVquRnp7uk+dTKVS22nOH8ePH08DAQAqAPvDAA/TSpUvKY0888QQdMWKEzfGHDh2iAOjhw4cdjjd8+HDas2dPm303btygAGyUeEnKMh9kG9vYxja2sa207ezZs17cDUvn1q1btEkj3mdzbdKkCb1165bH86lbty5dtGgRvXLlClWr1TZtpo4cOUIB0D179lBKa27GqVIjWxMnTkRmZmapxxw5ckRpLZKQkIBhw4bh9OnTSE5ORnR0NLZt21bh0aTExETExsYqPxcWFuLOO+/E2bNnERoaWqFzYTAYDEb14erVq2jWrBlCQkLK7RpGoxEXLgo49Ws4QkO8i55dvSYiovNpXLp0yeb+5ufnBz8/v1LPFQQB69evx40bN9C1a1f8+uuvMJlMePzxx5VjWrdujTvvvBN79uzBAw884HHGqapTqWIrLi4OQ4YMKfWYyMhI5f8NGjRAgwYN0LJlS7Rp0wbNmjXD3r170bVrVzRp0gR///23zbnyz02aNHE4dpMmTfDTTz+5dQ7g/EMWGhrKxBaDwWAwyqQiggShIZzXYkumWbNmNj9Pnz4dSUlJDo/9448/0LVrVxQVFSE4OBibN29G27ZtsX//fmg0GtSpU8fm+MaNG+PChQsAgAsXLtgILflx+bHqSqWKrYYNG6Jhw4YenSuKIgAotVNdu3bF5MmTYTKZlDquHTt2oFWrVg7rteRzZsyYgYsXL6JRo0bKOaGhoWjbtq1H82IwGAwGoyogUBEC9X4MAHaZm9KiWq1atcL+/ftRWFiIDRs2YPDgwfj222+9m0g1p1pYP/z444+YPXs29u/fj9OnT+Prr7/Gyy+/jKioKHTt2hUA8Morr0Cj0WDYsGE4dOgQ1q5di1mzZtmk+zZv3qykJAGgZ8+eaNu2LQYNGoTff/8dX3zxBaZMmYLRo0eXGR5lMBgMBqMqI4L6ZAOKMzfyVto9UqPRoHnz5ujcuTMyMjJw9913Y9asWWjSpAmMRiOuXLlic/zff/+tZJM8yVJVB6qF2AoMDMSmTZvQo0cPtGrVCsOGDUOHDh3w7bffKm94WFgYtm/fjlOnTqFz586Ii4vDtGnTMGLECGWcwsJCHDt2TPmZ53ls27YNPM+ja9eueO211xAdHY2UlJQKf44MBoPBYNRERFGEwWBA586doVar8dVXXymPHTt2DGfOnFECJ127dsUff/yBixcvKsfUhIwToZR6GWRkXL16FWFhYSgsLGQ1WwwGg8FwSkXcL+RrnDt2h08K5G9r9afL801MTMSTTz6JO++8E9euXcNHH32EzMxMfPHFF3jiiScwcuRIfPbZZ1i6dClCQ0MxZswYAMDu3bsBSEX1HTt2xG233YasrCxcuHABgwYNwhtvvFGtrR+qpc8Wg8FgMBiM0hEoheBlPMXd8y9evIjo6GicP38eYWFh6NChgyK0AECn04HjOAwcOBAGgwG9evXCnDlzlPPljNPIkSPRtWtXBAUFYfDgwdU+48QiWz6ARbYYDAaD4QoVGdk6e/R2n0S2mrX+i93fvIRFthgMBoPBqIFYF7h7MwbDe5jYYjAYDAajBiKCQmBiq0pQLVYjMhgMBoPBYFRXWGSLwWAwGIwaCEsjVh2Y2GIwGAwGowZSGasRGY5hYovBYDAYjBqIaNm8HYPhPaxmi8FgMBgMBqMcYZEtBoPBYDBqIIIPViN6ez5DgoktBoPBYDBqIAKVNm/HYHgPSyMyGAwGg8FglCMsssVgMBgMRg2EFchXHZjYYjAYDAajBiKCQADxegyG97A0IoPBYDAYDEY5wiJbDAaDwWDUQEQqbd6OwfAeJrYYDAaDwaiBCD5II3p7PkOCpREZDAaDwWAwyhEW2WIwGAwGowbCIltVBya2GAwGg8GogYiUQKRerkb08nyGBBNbDAaDwWDUQFhkq+rAarYYDAaDwWAwyhEW2WIwGAwGowYigIPgZUxF8NFcajtMbDEYDAaDUQOhPqjZoqxmyyewNCKD4QZtP05C5Op0dPhkGh77Og69vn2nzHPu+98kh/s7/2+yW9eOWpPu1vEMBoPBqBqwyBaDUQrapZng/AQUvCwJpsP9kgAALTem4oI5FCEBBgBA+KJscAFmnHo10eb81ptScHSAY5EkiO5918l/ybFoYzAYDEewAvmqA4tsMRgOiFiZAQDQD5kAXiWi9aYUAEDU2hkAgOMDp8JQpMZPvdMRsSoDp99IABy0tTg6YBo6fTbF4TX290lFh0+mlc8TYDAYtR6Bcj7ZGN7DXkUGw4r7/jcJ7bYkgfDFyonjRRwdIImi/Bcno/WmFESszIBo4tBmczLC6txEuy1JoKLjb4C/PZVmI7ju3jZV+f+BZ1KY4GIwGIwaDhNbDAaAZ394GwDw85PpCPIzQqWW1uC02ZwMUbD9NTk6YBoIT6GPnohbF4Kwv08qTCYe+uiJaL91OpqvS7Mb/7enivf9/nQqAEl0dfhkGgSRQ/ut08vrqTEYjFqKCAIRnJcbSyP6Aia2GLWe7l/FY0u32crPPCfCT2NGj52xONJ/OqhVelCOShW8PAltNidDPzIe2gXZMJt4AJLbskol2l3DkZj6/elUHHgmBaJIwHEiOnwyDR0+mcaEF4PB8AlyzZa3G8N7CKXUQaUJwx2uXr2KsLAwFBYWIjQ0tLKnw/CArtsnYk/PmcrP7bdOh0gJDj2bhBbr08DzIkRKwHMiKCUwGlQoeHkSWm5IxfHnJAGmXZIFmAg09YugVgk49GyS0+t1/HQq9vdJdfjY3dumKtEvBoNRs6iI+4V8ja0HohAUwns11o1rAvp2yGf3Ny9hkS1GreWRrxKU//93PRAA8NjXcQCAP/omK2LpxPNTwHGiIrRESuDnb0LU2hkQrFKMqiAjSJAZpiIVzELpv1rOhBYAj4RWK0sBP4PBYMiwAvmqA3sVGbUWkRKlcF0ugN/5f7l2x2mXz8TNq/440n86CKEwG3ioeBFUJCDEqpCeo1BpBFAjr6QVXaHdliTvngiAYwNsi+xZKpLBYEg1W95vDO9hYotRa7lp1EDDl92MQh89EfroiWi1KQVGowoqPwFFBjVCQm7h5AtTlKgSpQSUAppQAwQjj5YbSo9Qyaam/hqT90+mBIJI0G5Lkk+EHIPBqJ6IlnY93mwikwk+gb2KjFrH/Z9PwkM7JsAscDBZVgI688KSicrLg9moQmCAEccHSjVaN2/5od2WJJgMKrTZnAyOF8HxFIRQ6AdNxPHnpiJiVYbD8e773yRQStDhk2n49ckZPn+OAEApIIpE8QhjMBgMRuVQbcRW3759ceedd8Lf3x9NmzbFoEGDcO7cOeXxb775Bs8++yyaNm2KoKAgdOzYEatWrSpzXEKI3bZmzZryfCqMSkSOQhnNPNQqAb8+OQN/9E2GWeActs+RI0P5sbEQL/nhj77JAACzkYfplhomEw/RxIFSApNBBbVKgL/GhLYfJyFq7QxQgSBiZQai1qSj7cdJirD7+cl0EEKh4kW32/a4wuF+STjcLwlH+k9XUqSM2sdnp+6q7CkwKhFWs1V1qDav4mOPPYZ169bh2LFj2LhxI/Lz8/Hcc88pj+/evRsdOnTAxo0bceDAAQwdOhTR0dHYtm1bmWMvWbIE58+fV7Z+/fqV4zNhlDctMnQO93f6bAqKrvjjllGNn59Mx69PzlD6Fqp40WFRu1wk33JDKqifZOkQvihbastDKMxGHppAE0wmHiqNtAKRUgJR5KDRmMH7CSAchfm6Gof7JYEQit+eSkPn/03Gr0/OwG9PpbndtofBcJWDt5oh6/CTlT0NRiXhvccWSyP6impr/bB161b069cPBoMBarXa4TF9+vRB48aNsXjxYqfjEEKwefNmrwQWs36oPty9bSooJTjwTHFq7YEvEmEUpIJ2a/NRa9p+nIRbN/xAzRwgEuiHjgcg9U4EB3BqAYQAIBTCTTUC6twCx1EYjSqIAgfzdTWInwD/ICMC/Y3Kde7eNlU6D6WvUASkKFtpdhIMBqPqU5HWDx/tvwuBXlo/3Lwm4JWOB9n9zUuqpWS9fPkyVq1ahQcffNCp0AKAwsJC1KtXr8zxRo8ejQYNGuD+++/H4sWLUZb+NBgMuHr1qs3GqPq03zodoshBrRJw/+dSRKvr9onY2ysDgkhshFbJOqfD/ZLgH2iEfvAE6IeOh3ZJFrRzcqAfMkHqiUgBwonIf3Ey9EPHw2y2mJyKBLxKgCrYBF4jwGTiYTBJ/d87fTZFWtVIi4VW24+THM49au0MiJaidwaDwXAFgRKfbAzvqVZia8KECQgKCkL9+vVx5swZbNmyxemx69atw88//4yhQ4eWOmZKSgrWrVuHHTt2YODAgRg1ahTef//9Us/JyMhAWFiYsjVr1syj58OoWP7omwyN2gyjSQWDRQzJRqYlva38HKwQVPEi2n6cBO2yTIAXoR8VLwmuwRMg3pBEf+TqdER+lA5RJDALHEQzB1EkyH9pElRqAYKRh8liC0EIhSByIEQyOQUkUWdN+IdZACRbiSP9p7PIFoPBcBlvVyLKG8N7KvVVnDhxosMCdevt6NGjyvEJCQnYt28ftm/fDp7nER0d7TAKtXPnTgwdOhQLFy5Eu3btSp3D1KlT8dBDD+Gee+7BhAkTMH78eGRnZ5d6TmJiIgoLC5Xt7Nmznr0AjApHLognZXxZc2Qs+kffZBzulyRFt6InQrs0E/pR8dKDKgrzDQ1UGgEFr0ySHOcFDqdeTYRg5JWIlSbQBGr1TZHnRHDEeST19DApXWm67O/eE2UwGAxGlaFSa7b++ecf/Pvvv6UeExkZCY1GY7f/zz//RLNmzbB792507dpV2f/tt9+iT58+yMvLw4gRI9ye06effoqnn34aRUVF8PPzc+kcVrNVu2i9SepnKLfpASy1WwTQD56A5uvSwHEUx5+bCu3ymfALNkIwcxBMPHi1AHORGpxKEmXWlhOCSFibHgajhlORNVuLf7vHJzVbr3fax+5vXqKqzIs3bNgQDRs29OhcUZRWhhkMBmXfN998g6effhqZmZkeCS0A2L9/P+rWreuy0GLUPo4OmIaotSW8sXgKWCJW5ltq6AdPUB4ym3gIt1TQBBulQzUCBKMUVBZEAp6Tvu8wocVgMHyJL9KAAqrlGroqR7VIxv7444+YPXs29u/fj9OnT+Prr7/Gyy+/jKioKCWqtXPnTvTp0wdjx47FwIEDceHCBVy4cAGXL19Wxtm8eTNat26t/PzJJ59g0aJFOHjwIE6ePIm5c+ciPT0dY8aMqfDnyKg6uNLqJv/FEt5YlEAfPQEtN6TaCC199EQIBhX8Qg04/txUmI08RIGAcBRRa9IBSIKLEFqmsSqDwWAwqifVQmwFBgZi06ZN6NGjB1q1aoVhw4ahQ4cO+Pbbb5UI1LJly3Dz5k1kZGSgadOmyjZgwABlnMLCQhw7dkz5Wa1W44MPPkDXrl3RsWNHzJ8/H3l5eZg+nfWVqy60WO/YqsEbZONSd5CFlsmgUqJekavTlccM1zVosT4NKo0AXi2AU1FQKkWzeI4qnlsMBoPhK0R4vyJRrOwnUUOotj5bVQlWs1V5tNyQCrVaqNRVei1n6GC83QiYOIACXLAJBa9I1hKRH6Ur/5dpvSnFztW97cdJdisR3aXN5mQc6c++KDAYVZmKrNma+9t9CAj2rlro1nUzRnb6md3fvISJLR/AxBZDRrswGyTQLDnMVwLWgouJLwaj6lGRYmv2r118Irbe7vwju795SaUWyDMYNQXtgmxpNeLwhMqbwwe50DSWKgNabUoBATMjZDAYjKoAE1uMGod2xUzoB02s0GtyRRzQoHhlbMT7uTg1Jq5C56AfXXy9Y6z5tFMmHngOIiXIunt9ZU+FwShXRBCIXn7p8vZ8hgQTW4waR0ULLQAQ65gAg/TrFLk6HdTK2yZiZQZOvVY5aUWGPTM7bKjsKTAYFYJAOQjUS+sHL89nSDCxxWD4AH10scAreNm2IF7lJ7g8TmVE5RgMBoNRvjCxxWCUA9r5OSDBJnA8Rf5LU9B6UwrMZg4nXyjdSysotMgn1y+PaJp2+UwQnlZa8T+DwXAP35iassiWL2Bii8EoB/wb3gQAxeKhpNWDIyJWZUDt711rDZnySFtaR+8YDEbVR6QEIvWyZsvL8xkSTLIyqiXaJVmVPYVSOTpgmlOB1WazY9NUKnA4PnCqw8cYDAaDUX1hYotRLdEPHV/ZU/CYI/2no/WmFLv9pFAKNLfc6JseidplmQCA8A+rtjBlMBjlg2hJI3qziUwm+AT2KjKqLbJgaZmuq+SZ2BOxKsNuX/N1xe14jg6YhnZbkmz2yVYRZoNvUolyj0buJg/tvByfjCkTsdL++TEYjKqFSDmfbAzvYa8io9oip+mOT4qp5JnYY11Erl0+EwBsiuNbb0qBycyD4+wbOJRs7+MtfONb0L8V79MxmZUFg8FguA4rkGcwyhlHheXW9VxRa9KR/5JvBZY1Za2AZDAYNRMBBIKXpqTens+QYJEtRpXGWTF5TaI8hRaDwai9sDRi1YFFthhVGpPJN/VLDAaDUdsQ4H1kynVLZkZpMMnKqNLU1hRY+GK2gpDBYDBqCkxsMRhVEZEgcnU6Ilenl9sltEszy21sBoNR+bA0YtWBpREZjCrI6TcSAADa5eUniPRDJpTb2AwGo/JhjairDuxVZDCqMPpoJogYDAajusPEFoPB8ApHBq4MBqPyoSAQvdwos37wCSyNyGAwPCbyo3QQ9pWNwaiSsDRi1YG9irWcDp84bpbMYLgEAYgDF3wGg1H7yMjIwH333YeQkBA0atQI/fr1w7Fjx2yOyc/PR//+/dGwYUOEhobihRdewN9//21zjFarBSHEZps5c2ZFPhWfw8RWLefAM/YNkRkMV4hakw4qEFCBpRkYjKqISIlPNlf59ttvMXr0aOzduxc7duyAyWRCz549cePGDQDAjRs30LNnTxBC8PXXX2PXrl0wGo145plnIIqizVgpKSk4f/68so0ZM8anr01Fw9KIDDui1s5A/ouTK3sajCpO/kuTlM9K5EfpPu/pyGAwvEMAB8HLmIo753/++ec2Py9duhSNGjXCr7/+ikceeQS7du2CXq/Hvn37EBoaCgBYtmwZ6tati6+//hqPP/64cm5ISAiaNGni1dyrEiyyVU40X5dW2VPwGCa0GK4if1aY0GIwGCUpLCwEANSrVw8AYDAYQAiBn5+fcoy/vz84jsMPP/xgc+7MmTNRv3593HPPPcjOzobZbK64iZcDLLJVTtRW53MGg8FgVA3cTQM6GwMArl69arPfz8/PRjTZnSeKeOedd/DQQw/hrrvuAgA88MADCAoKwoQJE5Ceng5KKSZOnAhBEHD+/Hnl3LFjx6JTp06oV68edu/ejcTERJw/fx55eXlePZfKhEW2KomOn05Fi/XVK/rFiukZztAuz0TESmYBwWBUJURwPtkAoFmzZggLC1O2jIzSf99Hjx6NgwcPYs2aNcq+hg0bYv369fjkk08QHByMsLAwXLlyBZ06dQLHFcuR2NhYdO/eHR06dMBbb72F3NxcvP/++zAYDOXzQlUATGz5mDabkx3+vyRGEw+12r2waNTaGR7PyxewYnqGcyhEI4/wD1lPRwajqiBQ4pMNAM6ePYvCwkJlS0xMdHrdt99+G9u2bcPOnTtxxx132DzWs2dP5Ofn4+LFi7h06RJWrFiBv/76C5GRkU7H69KlC8xmM/R6vU9el8qApRF9DLUK2R7pP93pcYf7Jbk9NqulYlRZiniApyACgXZhNvTDEyp7RgwGw4eEhoYqRe3OoJRizJgx2Lx5M7755htEREQ4PbZBgwYAgK+//hoXL15E3759nR67f/9+cByHRo0aeTb5KgATWz7m6ACWamPUPkiQGdTAg6ooIBJoF2RDP4IJLgajMvFlzZYrjB49Gh999BG2bNmCkJAQXLhwAQAQFhaGgIAAAMCSJUvQpk0bNGzYEHv27MG4ceMQExODVq1aAQD27NmDH3/8EY899hhCQkKwZ88exMTE4LXXXkPdunW9ei6VCRNbtZSovDzkx8ZW9jQYNQRaqAZRUVAOIGYCcBTaBdmgPMXpYeMre3oMRq2EUg6ilw7w1I3z586dCwDo3r27zf4lS5ZgyJAhAIBjx44hMTERly9fhlarxeTJkxETE6Mc6+fnhzVr1iApKQkGgwERERGIiYlBbDW/XxFKKbN/9pKrV68iLCwMhYWFdmHWVptScIxFuxi1AO38HEAAQADw0p8VygFcgBmnXnVe3+EKPXbGQsML4EDx6SPveT9ZBqOSKO1+4etrjPj2eWiC1V6NZbxuwoJH15frfGsDrEC+nJCL43lOdPi4dm6OdHOy3reiercjYNRuqFoEeAAUgEAAEwdw1GOh1f2reLy45y0AgEnklf3PfF+9naQZjIpCAPHJxvAelkYsJwiRvtnzVn3jWm9KQdH5IOhHx0E/Mt7uHP2giRU2PwbD15x+XUoXauflACIAQkGMnn2fe+SrBAgij4u3gvDENzEAVDCLHDScAAB49oe3saXbbB/NnMGomYjUvZorZ2MwvIeJrXJCXm34R18pwtVuSxJEysO/6Y0Kn0ubzcnw05hhMvM49GxShV+fUTuIWCX57lCVCkQg4Ay2f+S183Ogf9P+S0ZJHvkqAUazCjwngloKfHkiIlBlgkgJVE6ixQwGg1FVYWnECkIUCThCIVKClhtTK/TaR/pPx/4+qbhxPhhtNiej/VbnlhQMhqdwvJQyPP1GAiBK9VoFY+OKD3BRI33XI1v5Nm4SeXz1WB52/l8ujCIPkRKYRQ4iJXj2h7fL4VkwGDUH0VIg7+3G8J5q8yr27dsXd955J/z9/dG0aVMMGjQI586dUx7X6/UghNhte/fuLXXcM2fOoE+fPggMDESjRo2QkJBQLj2YjvSfjqMDpuH4wKk+H9tVQm67BkKoEm1jMHxJ/ktSf0Tt8kxQNQXli/MPUXl54AwcImflIXJW2S035FpHQige+SoBPXbGgoM0nooToeJEJaXIYDAcI4L4ZGN4T7URW4899hjWrVuHY8eOYePGjcjPz8dzzz1nd9yXX36J8+fPK1vnzp2djikIAvr06QOj0Yjdu3dj2bJlWLp0KaZNK+fVg5WUA/+jb7JHZqoMhjtwKgGcvxkIEKBdmA0AEBsZgMZFQMMi0AZlt9wQRA4mgQelRPq/yEuRLUiRLbPIwUw59N81uryfDoNRbfGlgzzDO6qN2IqJicEDDzyA8PBwPPjgg5g4cSL27t0Lk8lkc1z9+vXRpEkTZVOrnS973b59Ow4fPoyVK1eiY8eOePLJJ5GamooPPvgARqOx3J7L8ecqL7rFYJQHzdfZ9vnkVBRELQJ+ArQrZoJSAioWb+GLS2/rwxEKjhR/KxEpgUngUWRWwSjyKBJU4AiFWaw2f8IYDEYtplr+pbp8+TJWrVqFBx980E5M9e3bF40aNUK3bt2wdevWUsfZs2cP2rdvj8aNGyv7evXqhatXr+LQoUNOzzMYDLh69arN5ojWm1LQehPrJ8ioushF7V6NsTIDgolH5Op0AEDBK5MgGHhQgQCUQOVnBq8WwalESYRxFIQvPby7t1cGBJGgyKyCYCWoKCUwmFUwCjyumzQQKcHzu0e6Pec+3411+xwGo7rBaraqDtXqVZwwYQKCgoJQv359nDlzBlu2bFEeCw4ORm5uLtavX49PP/0U3bp1Q79+/UoVXBcuXLARWgCUn+U2A47IyMiw6X7erFkz5bHWm1Jw97ap6PDJNIiUuNW+R7uc+WwxKhZvzUYB4NRridI4VvpJP3gCqFn68yIKHCgFqEAs/3KAgYP2g1zleO3yTLtxf34yHWpOVFYlmkQeN00aGAQVjIJkBaHiRFw3a9yes5ly6P5VPHrsrN6u1AxGaYggSssejzdWs+UTKlVsTZw40WFRu/V29OhR5fiEhATs27cP27dvB8/ziI6OhmyA36BBA8TGxqJLly647777MHPmTLz22mvIzs72+bwTExNtup+fPXtWeUwWV0aTyu1ieH0089liVE+i1qSDUoKoNelKivD06+OhHzwBoADhKIr/ZlPAXwSCzIhakw7t8pkgvGiTipSjZABgNPO4btDgvxsBuHbLD1dv+eOGUQOTyOOq0Q//e2SWW3Pt9uV4pebLIDD3GwaDUf5U6l+auLg4pV+SMyIjI5X/N2jQAA0aNEDLli3Rpk0bNGvWDHv37kXXrl0dntulSxfs2LHD6dhNmjTBTz/9ZLPv77//Vh5zhp+fH/z8/Oz23/9pBo6+nAFR5GC4pUabzck40p/ZLDBqBtoVM8HxIoQiVbGB6YJsSUT58eBUAkSBgJhsv8MRDqAiAa8SIQocVP5mcDyFYObAcRSqYLNUy0UJotbOgEotgFdJY9w0qqXUoVGF489NReTqdIhGHqoAE3hORIDaVHKaZaIiIgSRA0eoTYqSwahpUB+sJqQssuUTKlVsNWzYEA0bNvToXFGUloYbDM5XNu3fvx9NmzZ1+njXrl0xY8YMXLx4EY0aNQIA7NixA6GhoWjbtq3bc/qpTyI6fDINRrMKAUEGGI3FL2+7LUkQRcLEF6PaEbk6HQUvTwKnEkFFAs6v2HJBPyKh1HPDF2eBqHhwagFmAw9eI51LCAXPS+lBQIp8UUESZJLwAlpuSIVKxcFsWZUIAKKlBZC5SIWbag1+fXKGR89JzQvY0V3n0bkMRnVBTgV6OwbDe6pFDP3HH3/Ezz//jG7duqFu3brIz8/H1KlTERUVpUS1li1bBo1Gg3vuuQcAsGnTJixevBiLFi1Sxtm8eTMSExOV1GTPnj3Rtm1bDBo0CFlZWbhw4QKmTJmC0aNHO4xcuYJZkL4xW1sstP24+P+sMTWjulHw8iSbf7XLMxG+KFsyLy0DohZBDTwKoicAkD7/lBIcGzANLdanQRQJKOVAiMX4FxbhJXLgVGaYBV5KQ1pWJrqban/kqwR818O2lEDNCyx9yGAwKpRqEUMPDAzEpk2b0KNHD7Rq1QrDhg1Dhw4d8O2339qIotTUVHTu3BldunTBli1bsHbtWgwdOlR5vLCwEMeOHVN+5nke27ZtA8/z6Nq1K1577TVER0cjJcXzFYRmQWqY23JjKlpZViISyxcDQigM1zwTcQxGZROxMkNaxGHgQNzomGO98vDYgGkQTLzyu8GrRKhU0mA8L0q1XRSg1FL/SAEQ9+1S5PGthZbUYxHY0V2H73pko+v2iei6ndVJMmoubDVi1YFQucKc4TFXr15FWFgYmq9IxInXpMLe1ptSwPPSTcT6FTYLPPw1Jhx4hllCMGo+ESszcOo1+xWPzdelgZNFmKWAXhQ4qFQCjvSfbkkhCuA5qtRr+ZrO/5uMfy+EoU6ja9jfp2JbaDFqL/L9orCwEKGhoeV6jWe3vw51kPurda0x3TBiS8/F5Trf2gCTrD7k177St+S2HycpaY9DzyaBECm6JYgcjg+cyopyGbWCiJUZoA4+6/J+UZAMTkEkewjCUVBK0G5LEvw0Zim1SIlPhdYDXxQLv1+fnAH90PFMaDEYjHKH3fXLgcP9knCk/3QcejYJgCS4qGXle9uPk3DrdEilzo/BqAgIT0E4+3yjVJNl+T+hEAUCs5HH8YFTpYJeUSrqFQTv/jw5ari+t5f3Jq4MRnWB9UasOrAqUR/TYn0a1GozKC1eedh+63SoeAqBQBFgDEZNR7yqAQkqtmbQLp8JffREFLxiKbS3WEmASKIr8qN0qDSA2SzVPcqiy1U6fDINHEdhNPE43C/JpuF6y42piu9dp8+mQKQEwX4G+PFmqDgRXzz6rg+eMYNRtWCrEasOLLLlQ+79JAOEUJhMKhuLhz/6JuPAMyk2Qst6hWJJ2kyVlqS32Zzs9BgGwxu083PK/Rr6N+MVF3nAfiUhIRSimYdo4i0u8wTGW2qYDTwEEwcqEIiC63/oDzyTgv19UsFztmWo7bYk4fjAqYhaO0OKLBvU0PAC1JxkQ8GEFqOm4rV7vA/EGkPCpQL5Tp06uTcoIdi6dStuv/12jydWnZCLEVuumgiDOUy5qZRcHt9ui5RO1KgFCAIHkRK3Il3a5TPBX9QgP15qMdIyTYfjU2J8+lwYjIpEu2ImqIkDZ/HfopSAEGpJNUr1XHIhff5Lk8ocr+OnU53WYHX4ZBoOPJOCdluSEORnhEAJgjRGO2sIBqM8qcgC+Sc/H+6TAvn/9V7ICuS9xKU04v79+xEXF4fg4OAyj6WUYubMmaWajdZUfn46UfkwttyYioB6xTpWWp0IxU+IEAq48Y0h8qN06KNtbzZMaDGqK9oVUh9QauQsDvMcYPmdoAA4S10XIRT5L01Ci/VSK59Wm1JgMqjAq0QEBhhAKbFZ2Vtasbv1cUaLRQsTWoyaDEsjVh1crtlKSEhQXNbLIjc3t+yDaiD3bcvAsVekAlzjTTX0g4rTJkcHTEP7rdMtpqeS2OIsKxbbb51uU18io12eCb3FDFKuc2EwqjuRq9NBOCJ5aKlF6KMnQrskC+ABEKoUzcurFCNWZeDUq1MQsTIDIGol0vX7056tImR1k4zaAhNbVQeXxNapU6fcaqtz+PBh3HbbbR5Pqrry89PFy8qthZaMtaCS2/cAgCAStN6UAkHgcOL5KcVjWIRWSdrH6fBHbuVHtbRLM6Ef4niODIYzZCd6Gzhp5aJsgEotvxtyiyDt8pmAwEM/dHxFTpXBYDB8gktiKzw83K1BmzVr5tFkaiLauTnQj4y322/97ZpalrtzvGu23FVBaAFwW2hFzsqDGChAP7zsNi+M2oV+8ARErpYMgalIwPFUskshAAgFJQRUtI32VgRtNifDT2OGIHAwmXkYi1QsysyoNlDAB42oqx9XrlzBTz/9hIsXLyp9lGWio6MrZU4eWT9UxSdSVXEktKxp+3ESKOXA86JXZqeR7+ah4J1YRK2dgfwXJ3s8Tnki1jOCGvjKngajilLw8iSEL8oG0YigxNLsmrP06wFANKLDiHF5INeIEY6D0cRLzbAtBfsMRnWhNqYRP/nkE7z66qu4fv06QkNDQUjx/Akh1UdsVdUnUl2hlIDnRbjTNEmqYbFtgVLwjrRCsaoKLQDwDzLCdLHsRRaM2ov16l2pRkuq2+J4EUJRxdkCWqfzZeElikRJbzIYjKpJXFwcXn/9daSnpyMwMLCyp6PgdihFfiLXr1/HlStX8N9//ynb5cuXy2OONZbWlma5lFpSiS56CpUUWiVpN1Hn9dzKg6J/AiE0NCFqTXplT4VRDTj1WiKEmyqgiId4TYPTr1d8vVaL9WmWNkIALLYUDEZ1oTb6bP31118YO3ZslRJagAdiq6o+kapMxCrHLUKODpgGQBJagLTc3Rccmlk1arpKon8zHoQXwauEyp4Ko5pweth46IcnQP9m6el4X6NdmglAiqoJZg6imZNqyKqwDfTgn4ZV9hQYVYzaKLZ69eqFX375pbKnYYfbcXn5iURGRpbHfGoMbTYnw2hUIf/FyaVGoo70n46otTPAcRQnnp+C1ptSIIruN9+N1OWhICYWd43XQdQAh9MqV3BFrk4Hx4s4+cIUm/1lReUYjMpGuzwTIJLgIioClZ8Is5kDKCDcYh3OGIyqTJ8+fZCQkIDDhw+jffv2UKvVNo/37du3UublkoP81q1blf//888/SElJwdChQ6vUE6lMZLfe5isSceI1z1JkbafoFIHUckMqjj83Fa03pcBoUDleKu8iEbNzcertOI/P9wTtskzwfgJ4lQBTkQqnXrMXWFFr0l1yBGcwKpOIVRkABahZah9E1LRCV0Myah4V6SDfbetoqIL8vBrLfMOAH/p+UG0c5DnOefiZEAJBqJzMiktf0/r162e3LyUlxW5fZT6RqsCvfUtfKdVyhg7HJzuOOFlHouSoliBwHgmt5uvScPKFKWiXqANpXAkhYEIhXFNDDJAKiltvSlFSpjK0hMuFo2MYjMpGpRGkwnieAhQQzc7/kGvn5UD/VsWmOxmM0qCUKGUq3oxRnSjpkFBVcElsVdXJVzXu2ZIJqIOcRmycCS0A0C7MtvOfsl4RVRbW5wsmHtplmdBnVNI3cEpsnkv44iybh7Uf5IJvUBxQbbM5GaLIVWnbCkbtImJVhsWpngPhRMnwi6PgOcd/C7Vzc6TU4/ycCq8vYzCcIYJ47bPl7fnVhdjYWLfPmTJlCurVq+fSsW6Xey5fvtxh30Oj0Yjly5e7O1yNw9PUmLdGn9bnn3o1Eby/2avxvJrLYFuRpw42Kr3wAMCv6Q0bUWU4G4zjz00FrxKVwmQGozLQLsyGdnkmCKEQTByEq2qYi9SgIiAYeKe/3/qR8UpUq+SXCwaDUbF8++23eOaZZ9C8eXM0b94cffv2xffff1/qOe+++y5+/PFH7Nu3z6Xt/fffx5UrV1yek9vVnkOHDkXv3r3t+iReu3YNQ4cOrd0+W+XswdMhRocDOtcK34Wb6rIPqgCi1qRDFHjgpkqJFuS/ZJsuLBgbh1YpOhi1avD+AotwMSoPf8HSm5GzMVCVviy48PstAKffZC2FGFWD2mhqunLlSgwdOhQDBgzA2LFjAQC7du1Cjx49sHTpUrzyyitOz928ebPLPaBDQkLcmpfbkS1KqY2Rqcyff/6JsLAwd4erUezrPx4R7/u2CXfzdWlouUFquOuq0ALgUQ+58A+zEDHb903EqYkDNCJUGgGBgQa03JiK5uvSpH53FgzNTNJxAHheRNTaGT6fB4NRGtr5OYCZAzXxoEYO2gXZ0j5Yep0yiy1GNUOu2fJ2q07MmDEDWVlZWLt2LcaOHYuxY8di7dq1mDlzJlJTnTevX7JkiVsaZv78+WjcuLHLx7sc2brnnntACAEhBD169IBKVXyqIAg4deoUevfu7fKFayr8Td8a8VhbJ7RYnwZCKDQ/BeNglnfWDneN19mNcXqY77+RC1c08PuHh+FOI4xXNTgxTHo+EasyoI8ujhzI4rDlhlRwHIULi2QZDLdoN0GHQ5nOf2+8qbXSzslRAl/aOTnQj2J1WwxGZVBQUIBnnnnGbn/fvn0xaZLzMp/Bgwe7dZ3SImSOcFlsySsS9+/fj169eiE4uLjtikajgVarxcCBA926eE3k5ITy87fy3xuEP3Jj0JI4V+eucjArBuGLs+AXZsDxge55ermDXMcSsTID+sHFFhDO/LZMBhVOvZqIlhu9f44Mhrtol88ENfIgvCT2qWj1JcRJmUDkrDwQTuqbWNE2KwxGadTGNGKzZs3w1VdfoXnz5jb7v/zySzRr1sytsYxGo8Me0Hfeeafb83JZbE2fPh2CIECr1aJnz55o2rSp2xerTbRO0uFoku+EV4uZOpzIlcZT/RYM+EDXyu1PWm5IhflsEApi3F+NURLtipkOmwU78tpyhCzCZAGoXZ4JwovMDJXhNaVFtWT00ROl1CFP7fuVmh3fdArGSb83Ee/nIuL9XJwawwQXo2pQG60f4uLiMHbsWOzfvx8PPvggAKlma+nSpZg1a5ZLY5w4cQKvv/46du/ebbNfLqPyxOLKrQJ5nufx5ptv4siRI25fqLZxNCkGLWfoIDS/iYBfA71O+52YWHz+4Rm+jZ5RSiDWN/lkLP2giYrPl0/GsxhIRn4kmcVSSoDLGlA1ZZ5GjHJBTidqF2bD5j5jKv2mYy2ytHNyQMJM7EsCg1HBjBw5Ek2aNEFubi7WrVsHAGjTpg3Wrl2LZ5991qUxhgwZApVKhW3btqFp06YO69Tdxe3ViHfddRcKCgoQERHh9cVrOkLzm9KquhddP6d9vA5/5JRfKrKkEGqdpIPmVhBo5xs+uwbH24YEtMsyASPn0N6iRYYOJxJL8R+zRMoKXpmEyNXp0kqxMBOoka8Ud3xG7UA7NwfgAWLVHN6dOixWs8WoClAfpBGrW2QLAPr374/+/ft7fP7+/fvx66+/onXr1j6bk9vV3GlpaYiPj8e2bdtw/vx5XL161WZjSPVJ1jRfl+byuYK/+9drnaQr/n+yrpQjYRdxoryUXinrF0q7zDX/q+aZOhhvlLCdMDgWWgBwIjGm1NeHGnhpVdicHIiFGvAqEYSjOP1GAhNaDI9oO6n03xFA8s0iBg6ckXi8wlg7N8ej8xgMX0EBUOrlVtlPohJo27YtLl265NMxXeqNaI113yHr0Jo3uczqTsleV9qF2eBDjRCMPPSDJloiMpLhaWkteyobV9J/ESszwF30Q35srORSP7h8XeojP0qXhCAFRAMPoqIgvAgqEpvVjAxGeaCdZ7F+cDNlrV2QDcoBp9/wzqyYUfOoyN6I92yIBR/oXW9E4aYB+57Lq9K9EevVq4fjx4+jQYMGqFu3bqlpv8uXL5c53tdff40pU6YgPT3dYQ9oT14Ht9OIO3fudPsitQ398AQ0X5cmCa2P0lHwSvFyU80V78dv+3ESDvdLKvO4qJw8CI1MLjfOLUtoSSm9RGjn5qD1phSA0zgtiPcVBa9MQuR7uSgYa1UPUwEij8EAAGIpitfOzYF+pOuCi3JAQL1b5TUtBsMlRBCQWtCuR6fTKSajOp3O6xqrxx9/HADQo0cPm/3eBJXcjmwx7Cntm0rJaFGL9WkQTJwiwGSLg/K0X4hYlVFmoW7JRtDWLu4ln0PbyTrgvkKYD4Xh+OQYrxzf3e0l1zJdh+OTqmZkkFEzkY1+Wdqa4QsqMrLVYX28TyJbB57PqdKRLV/z7bfflvr4o48+6vaYHjlwXrlyBbm5uXjjjTfwxhtvQKfTobCw0JOhaixyHZLpukbZp12eCcKV0LaWH1ttSvHqeu0mOK9DOfVqIu5KKL1OxVpoAUD+i5OVWhVzoR8iV6crjx2eEQOjUaWkQ71preOJkWTke753uWcwnCGLLPa5Y1Q3ZJ8tb7fqBM/zuHjxot3+f//9FzzPuzTGo48+WurmCW6LrV9++QVRUVHQ6XS4fPkyLl++jLy8PERFReG3337zaBI1GdnLCpBsDI4PnAoQKXKkXZgNs0l68wkkv6s2m5NLHc+6jU3LDalK4XppHkJRa2fgYHaMXeF+WZwaE4fwD7MAPwEcX2zqpl2QDf5okFtj+QpRBSWlyAqQGRUFi2oxGNUDZ8k6g8EAjUbj8DEAOHDggGJeeuDAgVI3T3A7jfjwww+jefPmWLhwodKyx2w244033kBBQQG+++47jyZSnXElLOwo1aZEiyjAqUQQApx4fgrabE7Gkf7TlePab52OP/pKIszRY9cuB0I/pOwaJl/6X5VGRTaS1i6fyQrlGQxGtaEi04jt1ib4JI146MXsKp9GfO+99wAAMTExSE1NtelyIwgCvvvuO+j1euzbt8/h+RzH4cKFC2jUqBE4jgMhxKFwqxBTU0CKbFkLLQBQqVQYP3487r33XrcnUNNptSkFx6xSdPeM0mHfHCkKRUUCTiUClIAQgBDpjT3SfzraJepACXA4PQZ/9E1G83VpMF/yR4DFuD9ydToKXp4Es8BBE2x0aS6C0bUQammULPh3REUJLQBMaDEqhaicPOTHx6LtZJ3PTYYZDF9RmxzkdTqpVIZSinnz5tmkDOWWgvPmzXN6/qlTp9CwYUPl/77GbbEVGhqKM2fO2Jl9nT17VlkNUFu56yMdzrw13WYfLdFPTRZagGT+mf/iZGiXZSJ/sCRg5KhQ0d23wKuK1bMckYrKzbOcK6Ltx0mglIPJ4NrbWLJlTsTKDKgDzDDeULssWsoSWt4SOStPaX/iCeW9OpLBACR/uqi8POTP8L7FFYPB8B5ZID322GPYtGkT6tat69b54eHhyv8bN24Mf38PTC9Lwe2arRdffBHDhg3D2rVrcfbsWZw9exZr1qzBG2+8gZdfftmnk6tuHHzF9htu24+ToLIIJpVaQOTqdKXtDCD5bkkNmotTgPkvTlbSi/I3ivDFWcWPx8WieaYOJ1+YAlHkYLiphibAVGrjZmfF96deS8TxgVPhH2xEi/VlG6+2/TgJrTelQLt8JiJWuVf/5SqkcZHTxyLez7Up1HcEE1qMiqAgJhbU+0Axg1GuyJEtb7fqxM6dO90WWiVp1KgRBg8ejB07dtg1ofYUt8VWTk4OBgwYgOjoaGi1Wmi1WgwZMgTPPfccMjNdcxn3hL59++LOO++Ev78/mjZtikGDBuHcuXPK40lJSSCE2G1BQaUXcjs6Z82aNV7NteWGVIQvyrb5kBpvqSGaeLsPLqeidisJ63wTAL8DARAtUTG/UIPN4ycnxFjmTuEXaMKxAdNgLpEibB8rjdlyY2qZLilHB0xTRKE1Hd+2nZcocuA4Ef7BRpx6NRHtt063O8easoSRjHXRf/5Lk5w6yquvcih4eRK0K2a6NC6DUa745m8wg1Fu1MbViADw559/Ys6cOZg4cSJiY2NtNldYtmwZbt68iWeffRa333473nnnHfzyyy9ezcljn62bN28iPz8fABAVFYXAwECvJlIWOp0OXbt2RdOmTfHXX38hPl6yDJC7cl+/fh3Xr1+3OadHjx647777sHTpUqfjEkKwZMkS9O7dW9lXp04dt0KIcjFixJLJIAEBACUI+DUA17UioBGdtqqJXJ0OwlGEfhuIfXNiEPF+rtLMtn2cDn/kOq8FaZWiA213HSpeUAxOHaXgmq9LA8dTl3y8tEszoR8yAa02pYBSAtMtFfyDjEpBvnZpJgLCpMiTvK/1phSIlCjja5dlAhQuFex7StSadMmd30WzVgaDwagqVGSBfKuPJvqkQP7YKzOrfIG8zFdffYW+ffsiMjISR48exV133QW9Xg9KKTp16oSvv/7a5bGuXbuGDRs2YPXq1fj6668RGRmJ1157DdOmTSv75BJ45LMFAIGBgWjfvj3at29f7kILkFYYPPDAAwgPD8eDDz6IiRMnYu/evTCZTACA4OBgNGnSRNn+/vtvHD58GMOGDStz7Dp16tic62mulleJ4FUiQChMoUDYcduegNbpQO0HuRCvqZH/4mSljkt1vfjtkIVWy42pklt7CY5NiwGOBCtCS7t8JjTNrtsdJ/wdACoStNzgPM0oowk2Fl+LAgHBBlBK0PZj6Rr6IRNwpP90CGLxPIuua2yFnMVHTLs8E603pbhtN+EI7cJsm5+pCHDq2tcWisFgMNzB676Ilq06kZiYiPj4ePzxxx/w9/fHxo0bcfbsWTz66KN4/vnn3RorJCQEQ4cOxfbt23HgwAEEBQUhObl0eyZnuB3ZunHjBmbOnImvvvoKFy9etMtnFhQUeDQRd7h8+TJGjhyJv/76Cz/88IPDY8aMGYPt27fj2LFjpY5FCMFtt90Gg8GAyMhIvPXWWxg6dKhbdv8lv6lEfpQOlT4AIXrg37tF6Efbe/Ro5+eABJnsitYB4L7X8/DzYvtwZ/MsHUwNTDbeXXJBfdSadIgCceoU33pTCopuaFyqaWq+Lg1qtQBB5MARCo4TIYiczapKm+cyL0fpHVeyQD1iVQbodbVH5qWVgXZ5pk3ELGJ2Lqha+hWpLs+BUfFo5+aAM3JeLe5g1A4qMrLVYuVE8IHeFXoLN4tw4rXqE9kKCQnB/v37ERUVhbp16+KHH35Au3bt8Pvvv+PZZ5+FXq93eayioiJs3boVH330ET7//HM0btwYL7/8MmbOdL+Uxe3I1htvvIEPP/wQDz/8MN5++22MGzfOZitPJkyYgKCgINSvXx9nzpzBli1bHB5XVFSEVatWuRTVSklJwbp167Bjxw4MHDgQo0aNwvvvv1/qOQaDAVevXrXZZKLWzpCKCjngv7scC62WG1KhfzMenFp0WNckC62SResnx8fYCC3A4vS+MgP5L00CxzvXzUcHTAPKyL13GinVaJ18YQooJSCEgreYmRLAaRG+dZPekmLu1KuJ4EJcs6bwBlfrw8pCHz1Bcc4HLGaWtFhoaefkKCtCayqR79o/v3tGOe5AYP1a1Wb0I+NBOWrz2t09tvSuDQwGw/cEBQXBaJTuOU2bNlXKnQDg0qVLLo3xxRdfYPDgwWjcuDFGjhyJxo0bY/v27Th9+rRHQgvwILJVp04dfPrpp3jooYc8uqA1EydOLLOo/siRI4rNxKVLl3D58mWcPn0aycnJCAsLw7Zt2+yiUKtXr0Z0dDT+/PNPNG7c2K05TZs2DUuWLMHZs2edHpOUlOQwlBi5fBJUQX4w3NBA5WcGFTnkv+TYKqH5ujQIJr7UnoUt1qeBEIrjz5VdbxW1dgZEMwfRwMMv1ODwnJKeX67QbksSDj2bJNV+cRSEo26PocxxTTroRT+ornM+728YsSoDoPb2Fr5A+0EuEGIutUasNvRstK4pZNijXZoJcl3F3OYZpVKRka3mKxJ9Etk6OSij2kS2+vXrhz59+mD48OGIj4/Hli1bMGTIEMUO4ssvvyxzjMDAQDz99NN49dVX8dRTT0GtVns9L7fFVkREBD777DO0adPG64v/888/+Pfff0s9JjIy0qHF/p9//olmzZph9+7d6Nq1q81jPXr0QGhoKDZv3uz2nD799FM8/fTTKCoqgp+f48JCg8EAg6F4heDVq1fRrFkzRC6dDD7YD4KZAyhB/kuTlLRap7d0AAF+mxuDqDXpAKFlmn+23JAKQeAgGFSl3ugjV6dDpRZgNvFQaQQIZg4ajdnGab7k8QUvOxaBkR+lIyDICJOJd0nkOaLTSB1+m1ssPCJWZuDUa4lKylO7fCZIodrlG7d8fmnIlhriNY3P033aD3IdRiirE9q5OdCPLP11iXw3DwXvFKfBIt7PBVVREDNx+l5pF2RDP8LxApDaiHZuDjgTUVpKMRglqUixFeUjsZVfjcRWQUEBrl+/jg4dOuDGjRuIi4vD7t270aJFC+Tl5dn4aTnj2rVrPvcNdVtsrVy5Elu2bMGyZcsqpDDeGWfOnEF4eDh27tyJ7t27K/tPnTqFqKgobN26FU8//bTb486YMQO5ubm4fPmyy+dYf7A5/wAIAgfRxKHu9/74bX4M2kzVQXUL8L9MlRShtKKOszMTbbkxFYRI0aPm69JAKQHPi4rwab91Oq4VBjitvWq5MVWxgeB4EYKJBzVxbq0ObLUpBQSAIHA48Xxxex959aS1SHSlBZC1uGuxPg2CiSsXURS5Oh2gkvFq+IdZOD1sfNknlRPWdWyM2kP4h1kgRg76kfFokaHDicSaHe1kuE9Fiq3I5ZN8IrYKotOrjdjyFOtyoLLw5HVw20E+NzcX+fn5aNy4MbRarV14rTyaUf/444/4+eef0a1bN9StWxf5+fmYOnUqoqKi7KJaixcvRtOmTfHkk0/ajbN582YkJibi6NGjAIBPPvkEf//9Nx544AH4+/tjx44dSE9PV2wl3IWKBCaDCoF/+MPvCvDbfOkPrSkYOJIq/b/jGB2udr0FKhI7oRW+OAunX5dEVetNKeA4Ao4TcXTANLTZnAxKCYqu2vZBvHucDr/PksZuszkZPAdADcW6QR89EVFrZ0jtfm5ooB8qCZCoNelOU5xmowq8WoBabUbrTSkw3FJLtVe8CI6jigjMf3EyxAsBZb8uQnGa11q8eUrk6nQQIq1KtHa0L3h5ErTLZ0qvYyUKLUCqY7t7rA6/v+f7m23zLB1OjvfNuK5EvEoSqcsDVVOWLnMC9RMR+W4eiHcr7hkMRgVSp06dMhfGUUorrjdiv3793L6ItwQGBmLTpk2YPn06bty4gaZNm6J3796YMmWKTapPFEUsXboUQ4YMsemLJFNYWGizOlGtVuODDz5ATEwMKKVo3rw58vLyMHz4cI/mua/fBNz73ocwhQCqW8X7iWXBZuRH6cCDzs+3Ln4/OmAaWm5MxdEB0yyRoeKUoJxeVKsFHJ1VXD91pP90tFifBkoBc5EktCJWZoDwBOAA/7Bid3ZnQgsABAMPUSAQ1QQajRlqfzNabkyFaOZxskS7HlfSJSVTgM76K0a+lwuxrmTl4Shyp12eKRlJUhWgEkEItUt9BR71w802BqVBdcSqDNAbKnC3+ApfKeaq0NKumAmYOUUIO0OuC/NUaDXPzsPJhOLXQDs3B0QgiHg/F8RMnAqoqNw8CCGCki4siGEr7pxB1NQm5R/5Xi5LKTIqD2rZvB2jilO3bl2XHQScZa127tzpyynZ4bGpaVmsXr0affv2LdPBvSZgHRbukvOhJK5EqYk0IBVvy02mZQd5QqhLfQY7fDINB55JQaQuDwUxsWi5IRWq/cE4nBaDlhtSbeqqpMiY7Q07YlUGqMCB8GKpxfiApYCdShGi0iJf3uIs9SgJQwqOF0tNTZas4bJOU2qXZ4LwkhATBQ6EUKk/JSmfVj4lxZ6nRKzKAC5rQP2LTXCjcvOQH1fCpDZLByIApvpm6EckSGkrgUA/IgHaJVllCjZAWlEJAHwRB2ImNuLNl1EzhgRbWMCwpkLTiEsng/MyjSjeLELBkBlVOo24bNky5f///vsv0tLS0KtXLyXztWfPHnzxxReYOnUqYmIq5++b25EtV3nzzTfRpUsXREZGltclqhx3b8gBbR4IgMD/lFTU33mEDngEALFv4hyxKqNUAdRmczKO9E9B1NoZKIiR6qSOPzcVeE563GRQoe3HSTjcLwktN6SCcBqlCB0AukTnoYHKDz8vjlVusJGz8kAaFzkUUtb71BqzJNREoogUb+uQovLyEPgXgdiZc1z0TgBCAHMZjbVLnkeILCoJOJUIIjf4XjET1MQDKrFM2wt30C61rKClBPp3fJOudPQ5KCm0AMBcRxJZ2vnS+ymnS7UrZgJGF3+dKQEnAPmxsXY2D0IA60Hja2gpliwMBsN7Bg8erPx/4MCBSElJwdtvv63sGzt2LGbPno0vv/zSZbH1/fffY/78+SgoKMD69etx++23Y8WKFYiIiEC3bt3cnqPHDvJlUU4BsyoNFQFeI4LXCDCFUNw9TgezP0B4CuLgD64zoaVdJt3Mj/SfjvZbp8PPz4T2W6ejzWZbu4lTryYqDvLHn5sK/ZAJNsXrPy6Pxc+LY9E6SQf1VSmtGnCOQDRLjvLWPQlLcnTANGl+IlF6FWoaSLlRZ70Ly0KoZ8IfuTGSD5lIoF0+02YOp15NBPXgXi97jHEqEaKZU14D/aCJAC8JrZKrOcvyhwr/MMvpY/ohE6TNhSiSq5R0yXeGfOMuubiAGniXFxzoR8cpqa2Cd2IRvqj42iwCUw4Esm4HjMqhNjrIf/HFFzbt92R69+7tku0DAGzcuBG9evVCQEAAfvvtN8V9oLCwEOnpnnk6lpvYqo2IAg8qSh/O/NhY/D4rBle7FNmt4LO+uQH2hpz6wcXC4I++ySBEaihqbeXQcYxkmChbHkSsyoB2uWOztaNJMTgxUVLzhzJjQAs1OP7c1DKtJ5qvS4N+8ASYb0qLIOSU5ckXpnjUDFou7D/1aqJFlNpHnMh5f7fTfZGrpZSno7QspxYRcNLeOqQsUVHRBfauBt6czev0G17YLxBaqrhkeEd59gllMEqDUuKTrTpRv359h4bnW7ZsQf369V0aIy0tDfPmzcPChQttFgE+9NBDHi8CLLc0Ym2E4wVQqgEBReSsPIh1jdBHJ0K7PBOd3tTBFCz1PJRvjNrlM0GNPE6/UXpt1KFnk5T+hDL735fEk2jmLDUhrpt5cnUNZR8EwFykVppTl8Tb+ic5ZRm1doZNix9itv3FlmuwSku32niGWZ3ePDsP9DYCQ92q/9XMK7HkJdwtHjSIRV8qElbHxWCUD8nJyXjjjTfwzTffoEuXLgAkR4PPP/8cCxcudGmMY8eO4ZFHHrHbHxYWhitXrng0LxbZ8iH+BwOgKZCKEQvGxUIfLZmZ6qMn4Lf5MUpz6chZUp0MNXMIqCel5lo5aDZtjZwuLIk+eiJOjYlDyxmOW4NYt5Zpnikd4ygC1DxbOq7F+jRo5+SgfZw07/L+Vk7PB4BXF+cOT06wvEbvSWk+ffSEMgv7rZFFW8T7uTA3MQIUEP2k8bXzchCpy3MaAawstPNyKue6S6Ro1qm346AfOp613qlAmNBiVAiU+GZzkYyMDNx3330ICQlBo0aN0K9fP7v+xPn5+ejfvz8aNmyI0NBQvPDCC/j7779tjrl8+TJeffVVhIaGok6dOhg2bBiuX7/u0hyGDBmCXbt2ITQ0FJs2bcKmTZsQGhqKH374AUOGDHFpjCZNmuDkyZN2+3/44QeP69CZ2PIhvAk4NjVGETMRKzPw27wYJeUWsTIDABQLAlWgGaLlg+xKC5zS+v8dnxwD7QL7uh//f6Txo3LyQHmqFFaXRLYEOPH8FOhHxYNanDPuHVYs1jrE6HDvG77pC6gInsZFoFSKcMkpUcA1S4nSIJbCfioSUIvY0r8Vj4KYWPAaUXkvSp3j0uJWUu0Sfd/nTjs3R5lXZSDXnGnn5kC7MBs01OzwM8SoeNpOZn0VGd5T0TVb3377LUaPHo29e/dix44dMJlM6NmzJ27cuAEAuHHjBnr27AlCCL7++mvs2rULRqMRzzzzDESx+Ev3q6++ikOHDmHHjh3Ytm0bvvvuO4wYMcLleXTp0gWrVq3Cb7/9ht9++w2rVq1SolyuMHz4cIwbNw4//vgjCCE4d+4cVq1ahfj4eIwcOdL1F8SKcrN+uOuuu/C///0PzZo1K4/hqxTWS3nve/dDHJsmRWfaTtHhcJrzlQ+ltc1xh8iP0uF3NABFDUWXvjFHzM6tEoaUzdelQTDyUisfH1tNlNbiR7ssEyDUzlS2NhK+OAugkjilHAUxcXbiT7tcEp2ltYxiMBiuUZHWD+GLpvrE+uH0G6kezfeff/5Bo0aN8O233+KRRx7B9u3b8eSTT+K///5TxiosLETdunWxfft2PP744zhy5Ajatm2Ln3/+Gffeey8A4PPPP8dTTz2FP//8E7fddlvZcxZFnDx5EhcvXrQRcQAcpgdLQilFeno6MjIycPPmTQCAn58f4uPjkZqa6tZrION2ZOvs2bP4888/lZ9/+uknvPPOO1iwYIHNcQcPHqwVQsuarhM/UIQWABxOi0HzLOffUK2FVsmaLGvKSnsVvDIJt5obIbq4bN8ToeUsIuYNJ1+Yogii/JcmuRRtcpVTryWifZyT1/4GD5virjLQLsxW0ppAcfqtqqFdmgntskybiFypx8/NwenXx0tF9xSSX5eDKJs+ekKNFlr3jGZRJEYNhfpogyTgrDfr/sDOKCwsBADUq1cPgNRXmBBiY0bu7+8PjuPwww8/AJA8serUqaMILQB4/PHHwXEcfvzxxzKvuXfvXjRv3hxt2rTBI488gu7duyvbY489Vub5AGA2mzF58mRcvnwZBw8exN69e/HPP/8gNTUVly5dcmmMkrgttl555RXFafXChQt44okn8NNPP2Hy5MlISSm97qims2fmaLt9pnpm3D+47NSbKHJoudGxYlYHmMu+uEBATARReXmSQaav8Sv/AupTryWiQ6zvbnxyjVxJ9KPiQY22H315NZ52YbbNyjzt3Byp3+LYOJdFTEURMdtKAC7NBDVzUmskShC+OAvahdmKv5py3MJshC/KlgSjld7Uj0iAfkQConJ8kyauLGTbFHeoZoutqi2dPvO+VRfDPXy5GrFZs2YICwtTtoyM0u8zoijinXfewUMPPYS77roLAPDAAw8gKCgIEyZMwM2bN3Hjxg3Ex8dDEAScP38egKQrGjVqZDOWSqVCvXr1cOHChTKf81tvvYV7770XBw8exOXLl/Hff/8pm6s9j1966SVQSqHRaNC2bVvcf//9CA4Oxt9//23Ti9kd3BZbBw8exP333w8AWLduHe666y7s3r0bq1atwtKlSz2aRE2h/dpctJ6uQ4cYHVql6hAxOxf8dR4/LSvbYfzogGk4PnCqw8dOPD/FqRCT0Q8dD/3IeJhDBcnDyoEwkO0iPKGilq8fyHMskMIX+y6apF2aCaKxjQLKlgr64Qk29grUT5Sc2hdnATftW0BZ17RVNHKEUjsnB1QgOP1GgtRBgFBAJNKmprYeXqJ0nH7oeOjfilcWa8jkx1ffVjzahdnSc3eT/bOdp/rvSmBRL1/x21Oe+fMxvMQHUS1AymoVFhYqW2Ji6QuXRo8ejYMHD2LNmjXKvoYNG2L9+vX45JNPEBwcrKzu69SpEzjONyXkJ06cQHp6Otq0aYM6derYCMSwsDCXxjhz5gzeeOMNm33nz59H9+7d0bp1a4/m5fazM5lMSgjwyy+/RN++fQEArVu3VpRpbcYcTGEMA4qamsE1MIAIQKtU1/5gty5lReLxgVMRtSbdJprhCNlCwLr5s8ythsWrDn1V6O5LIlZmOE0llmxD5A36IVJazBVvKVIk/YoQIwf9KCnFRgWi1DH98mHlixP9qHhbgSgQqSbtzXhJcFl/FjgK7bwcpRC+YJzkIl8yAlYdoTwFCDzygHPGwWzWuojBAIDQ0FCbzToVWJK3334b27Ztw86dO3HHHXfYPNazZ0/k5+fj4sWLuHTpElasWIG//vpLWeXXpEkTXLx40eYcs9mMy5cvo0mTJmXOs0uXLg5XErrDZ599ht27dyM2Vvr7fu7cOXTv3h3t27fHunXrPBrTbZ+tdu3aYd68eejTpw927NihFIudO3fOZcOwmox4exGKzDxUGgGUAkJdM/wvqss+EVJ0qzRcLSB35oEl15OFL8oGKWNhxt3jdPh9VozSk9ERvi60d1bQXhrhi7I99qgiprK/a8gCy7qW6fQbCVJ91MJspY9hZaKdkwP9qHhE5eTBXM9sI7z0b8YrUUHt/BypR2SJuixPezt68vzDF2WD8NSn7vsyvhTkNQntkiyogozgOApKCU48X7HpvJYbU22i9q03pdj8rZNbjjF8jy9MSd05n1KKMWPGYPPmzfjmm28QERHh9NgGDRoAAL7++mtcvHhRCdx07doVV65cwa+//orOnTsrx4ii6NKKwjFjxiAuLg4XLlxA+/btbUxJAaBDhw5ljtGwYUNs375dacuzbds2dOrUCatWrfI4Auf2asRvvvkG/fv3x9WrVzF48GAsXrwYADBp0iQcPXoUmzZt8mgi1Rl55cedC6ZBU0cNSmFpggyAUPj9EVjqqkRnaFfMBMeLKHhlEqLy8kA5AI2KQDhpOa5wQ+2VGab2g1zoR5ctlrTLMqEfPAEdx+gUM1WGRPiHWSCG4qhXVUG7IBswE+hHxUtzFAlApdoswPX33idzKWGMG/5hVoU79FcF2sfpnNYRektpwtf6C0mrTSngObHCxE3rTSkghEoN4SkBsaR5a7O4qsjViM3mTQcX4OVqxFtFOPtWskvzHTVqFD766CNs2bIFrVq1UvaHhYUhICAAALBkyRK0adMGDRs2xJ49ezBu3DgMGTIEubnFWZsnn3wSf//9N+bNmweTyYShQ4fi3nvvxUcffVTmfB2JIUIIKKUghEAQXK8/Pn78OB5++GE88cQTWLFiBQjxXLi6LdG6d++OS5cu4dKlS4rQAoARI0Zg3rx5Hk+kJkAIVUQW4SioKDm832pdJDWkdhP9oIngVFJtUX5sLMQgAaLAAYSCEMCvTlGZtVyljl/KzbZDjNV8CYV2eWalCi3ZkLVVSvnV0HiyypDw1L4uqgpAOSj+YqeHjQcxcCCG4l/30t5763o/X/hu2dX7UeLTlafVhfIQWnI6u9QFLBxVjuU5EYSUvvrZV7TbkgSOE8Fx0t8rQIqSiCKH1ptS0HJjKlpvSim1fIJRvZg7dy4KCwvRvXt3NG3aVNnWrl2rHHPs2DH069cPbdq0QUpKCiZPnoycHNsyhlWrVqF169bo0aMHnnrqKXTr1s3O8cAZp06dstsKCgqUf51Rt25d1KtXz2Z74IEHUFhYiE8++QT169dX9nuCRz5bZrMZ33zzDfLz8/HKK68gJCQE586dQ2hoKIKDgz2aSHVG8TRZOBXwCwTHiwABeJUIUSSgAnHo2u4K1q1s5BojohZBLI2XQQk4XlRSA770q2qRocOJxBhlHoRINTHuOLr7Gu28nHIzAQ1fnOVxKqqqRGuUOjTLzY0IBJSnIHLdlkjKbFgd/mGWdLzad+k+1p6m/JD/RkSsynDe3H5pJsBTBIVKJsKiyIEQatNv1Ve025IEjlCIlCj/8pwIs8BBFDlQSB9Peb9oaUwv916t6VRsZCvJR5GtpHKdb1Vg2bJlLh87ePBgt8d3W2ydPn0avXv3xpkzZ2AwGHD8+HFERkZi3LhxMBgMtTK65eiXJ2rtDODPAPDhNyCYeY8FUPNMndLCBigWU5Gz8iCEmEF4Ct5PALF8Y6UUIARl1mW0naTD4fSyv2lLHl8EnEpa5SjfxEsTXNrlmXa+TO1jdfjDyUpDb9AuyXIoCLRLM0EFAmLmpPSZlUCTFwnIrvmAd2LAOoVTWXVcympNkSiRDOX/IpF6TvIUMJFSU57aD3KLz1dRKRU50nNxG744C/xVlcd1YQzfIpv9Rq2dAdHMwT/QCAC4dc3PLZPfdluSIIoEHEfBEQqzwEHFi0qa0DplCABGkwocJ0IUOfC85UsoJeBK/N069GySXU1XTaNCxdZcH4mtkdVHbC1fvrzUx6OjoytoJra4Lbb69euHkJAQfPjhh6hfvz5+//13REZG4ptvvsHw4cNx4sSJ8pprlcXRL0+HWB0K7zIpkRJX3eJbbkyF8YamTBPJ5lk6nBwfo4wNQAnVy8Ku+bo0h8Irclae0jKoNDqN1OFyFyPAU5uoliMxVZFYR/tkXyX9YPv5VPY8yxPtskxJRFrXQlmKz6lAQNQiqImzsULgbvEV3jmgqkT8ajMt1qdBFAnyX5xs91jUmnQQToRg5BEQbCizlqrN5mRLDZYkkFS8qAgruS6rJAeeKU4Ttt86XYloCaKU1uYsn1GzwEGtEmAWpP3O5hKz/yXoOq6x2//M92PwycPvlzr/qgATW+VL3bp1bX42mUy4efMmNBoNAgMDnXptXb161a3nd+3aNYSEhLh8vNurEb///nvs3r0bGo3GZr9Wq8Vff/3l7nA1lsC/RRzIG4/Ij9JR8MokuFpXZzbw0Fi+bZZ6XGPpGO2CbFCVymH66+QLjqNbxCT92ypVh2NTY5yKr9/mOjEFrWQBY73a0pHIUh6LnuBUjFmvpNTOs6zSKyO9VqUo4oEA2zqd028kSCasGlGKZtFiw04iSunEiub0sPFMcFUyzqLczdelgVdRCAIHXiNAFDm0WJ+GE89PUf5uWSPVeUkfKI5QiJCiUyIl4ABwnGTMZB3VIgTo8Mk0HHgmBR0+mQZASi1SS4qRWAktebWkii8WYo64ZrYVD/13jYZR4PHpI1VfaFU4JbyyPB6jGvHff//Z7Ttx4gRGjhyJhATnWYe6devi/Pnzdoaqzrj99tuxf/9+lxtTux3Zqlu3Lnbt2oW2bdsiJCREiWz98MMPGDhwoF337tqAK99UIj9Khzo/AMemOhYwke/lutR8+Z7ROgh+wLVIETTUDH30hGLHeFpsn9Buog7Xm5udrlbULskCtfh6EoFA/a9Kqc+q6WgXZkspslvFqwjLsxasMrDxELMoLvmzoJ2fA/2b8RW2IrG8xJZ2+UxQEyc1Ha8CFhzViZYbUqVFPHJUClAiUyajCmqN2aamq83mZABSJEukBKJIoFGbFWsB+VyOEy3/Ft9WpGbG0meQEApR5GxSiiYzj0PPJinHt986HWZBqimTo1vtt07HH32THT6XZ394G1u6zfb9i1ROVGhk64Nk30S2Rk+vNpEtZ/zyyy947bXXcPToUYePcxyHtLQ0l+vOJ0yYgEOHDpWf2HrxxRcRFhaGBQsWICQkBAcOHEDDhg3x7LPP4s4778SSJUvcGa5GYP3L0+HjOU5rH7RLssD5m0tNJ7p6A7z7HR0KOxoBrjjSpF0xE7jFK8v7yyJ8UTZCjqtwMCtGKoo2c9UrulMGsleYjLP6LqC4ON6bIvmKpKSdgrLfYtMhE74oW8okWiJbhKJChEn44iwQIweqEaXm1pbPlSy8XBVg4YuypVWUGtFu3tolWQAvAiCAgWOCy0WsVzBzhCoF67Jgkm8IsoiS03xS5Enar1ZJUVVB5JQIFaVEqceyrteyjurL9V0lU4vOhJSMXHTv7LhWm1JwrJrUeTGxVTns378fjzzyCK5everwca1W67a1w3fffedyD2i304i5ubno1asX2rZti6KiIrzyyis4ceIEGjRogNWrV7s7XI1DHz1RualrF2QrwqdDrA4BwWocSSn9BuNqpOH3d2PQcoYOxycXiwn9oIl2S/VLE1EN9/D45UPpfCISj1qduMp9r+fh58Wl14l1ic7Dj8vdL6QOX5SN+r+o8Nu8EpG5Ek/HWmiVLGRXBJZYPRrlORRa83MA0balEKGSszrRiNLba+TKLdJkvchAKcinjtOzrlxfuzQTxMxLaVEUR+RkysMYtTYgG4y23JBq0xdSXj3IW0SVLKQA2KQF5ceso1HW3L1tKgiBUgTP89L7RynwWx/7lj1lCS35XLOT1GLrTSmSJQ7DDkkcez9GdWLr1q02P1NKcf78ecyePRsPPfSQ0/P0en25zstj64c1a9bgwIEDuH79Ojp16oRXX31VMS2rbXj6TcVV9/NOb+rw23zXUnztEnU4lGF7bPiibBBLAAAA+Gs88mOLRU3z7DycTIhF+KJsBJ9U4dBM79KJ2uWZgGgrCO5+R4ff363cNGX4h1K0RV5d5yiKpV2SBUp950YevigbRC2WWlvmKnKTaCFMcG5g6UBIySJINjetqAiQdk4OQAmovwBi4EA1FEQjgJo418TW8pnS+SYORCO4tVqO4TqtNqXYpgJLmJBaF8ADkuCyjjLdvW2qYiUBFEfAgGIHc44T8fvTtp6AUWvS4edvdFoIL9V4SWOYBa7GWERUZGTrjvd9E9n6c0z1iWyVNDUlhKBhw4b4v//7P+Tm5qJp06aVMi+PxBbDFme/PNoPchF0hsOhzLJFxr3D8hz22Sst9fXAq7nYuypOEUsy1jYL1o+FL84CqGTEqR8ywSYVpZ2XA3AUlAMCz6hwJMV3wki7NFMa28WbbHkRvjgLhBRHRKw9qapq6tBapLZO0uFoUtnvS3lErryp75LaBEnmryDU7abm2rk5yheF0urqtMtnVltBds8oHQR/543Yy5sW69OkFKBFbFnfFHjOtmk7zxULL+vVh/I+uRjeuoaLUqKIszabkyEIXJmiqdNnUmG/WeBgMvMwm/kKbzVUHlSo2HovxTdia+y0aiO2qioexV5XrFiBbt264bbbbsPp06cBADqdDlu2bPHp5Ko7Ifkc/Bynh+1w1tCY8zNDu3xmcRG8FWZ/6Q+d6rpt6ksWWu0m6hShpZ2XIwkKSpSbnX7IBGhXzETEygzo34qH/zkViJHg1m2utzNwBf2QCcBNFU4PG2/x7XKN5lm+dYs//fp4G+Fa3sIv4v3Sm4a7gnU0sKiR9L5Evuu4ibh2ruTC7MvnFamTrkXEMg4sC+J+OkJpjh0kAH6iQ6GlnZMD7dwc6ViBK3ZUr2YQWnlCC5BWLIoW4aTUcFk20ZK+E0QOPEchiERZLShHvKxrtNpvnY4Dz6Tgj77J+P3pVOX/Mkf6T7cpoC8N+VoatRlqtdkXT5VRi6CUoqrEk9wWW3PnzkVsbCyefPJJ/Pfff0qfobp16+Ldd9/19fyqNX/kxSj2CTbtb6y4d5j9jTNiVYZivBm4P8DS+odAOy8HEasycP+QPBvRcjQ5BnePsx2/dbLONh3IUWjn5DhOWxIpKlCkNYL6i4C/oNy4vUW7fKYUcbDcKEtGHkprkSP7iAGWyJuPCV+ULTmll1Od1qkxcZJJaBm43OqHErRM10EMcKx85PSodr5nr5Wj90IINUM7PwdU5fkfLKqSittPvz7eraiW0gQ8eoLT6K5+VDz0I+OhHxUPSivflsRTnNmsVCTHB06F2cArdg4l33HZDV7Fi4p9AyBFtwSRU/51pQbLFdPS355Kw+9Pp8JPbbbUilWPesqqBKG+2aoby5cvR/v27REQEICAgAB06NABK1asqNQ5uZ1GbNu2LdLT0xVzU9n64eDBg0rfxNqGL8LCEe/ngqqpIkrklFHk6nSIVzTQj4yHdnkmqIkg+IQah2bGoFWqDuZAivy4WLSersPRZPs/2HeP0+HGHRR1jwCX2wJCoAjqJ9pFP+Q6KyoQxRjz9LDx0g2Yo8rXXV/UHjnDOg2kXSHV61TUzVNeWODqSk4ZOXrljvu8dk4OqJ8I/gbvkt2Hcl6JAnFlvw9c68MXZQMcBTETu9egslzxAdbmpzJoszlZElsW81HZ/qHdliQAtmlFSWTV7sbS7lKhqxHf9U0a8ew71SeNmJeXh6lTp+Ltt99WCuJ/+OEHfPDBB0hLS0NMTOV8sXFbbAUEBODo0aMIDw+3EVsnTpxAhw4dcOvWrfKaa5XFtsN6gEcCQW63wt3glZtLm2k63NSaoA42QjRz0oqbW9Jqs9CjKlyLEKVIlJGDfnQctPNz4HeRd+jlpZ2boyzDB4XTFizhi7OUSJp1fZN2YTbgJxU3EzkeSijAAdQkOZZ7Ui9jvWLTZg4qz8YrT0qKHe0HuVDd4GAOFTz26Gofp3PaoDhSl4eCmOL0snZOjk2rnZbpOhyfVP5/OErWBDIYgJQuBFxbTcgohomt8iUiIgLJycl2bXmWLVuGpKQknDp1yqVxvv/+e8yfPx/5+fnYsGEDbr/9dqxYsQIRERHo1q2b2/NyO40YERGB/fv32+3//PPP0aZNG7cnUJPgeBGEE6UogYWWM1yrOzr9+nicfn08KCelzB56PhdHUmLAX+chmHhL8YQUdSAGDtciRQT+yUF1WQXOTBAxOxeaSzw4I9B6ug4dx0jXvX+wlI7Uj4yXolkE4Iwc2kyVHu8SnWc3DyoSqb6Lo4oI1A9PkNJtRIp+UYuNgFRxD4ASqRDeQkkLCmfIQktOmwKA5qLabaElO8W7w4MvuFdTpX8z3sYslPoLMNU3AQKxNREtQfiHWQ7ToOGLsnFdK9o8d2ushRYAG6EVOSsPotq9+H74h1llphgdpTTNwSIi3s+1eQ6+qEdjVG/+6JvMhFZVhxLfbNWI8+fP48EHH7Tb/+CDD+L8+fMujbFx40b06tULAQEB2LdvHwwGAwCgsLAQ6enpHs3LbbEVGxuL0aNHY+3ataCU4qeffsKMGTOQmJiI8eOr5oquiuLAC/E49VoiiLo4zG7tg+UK1E8EBIK/elDpBt7QAE4lgooEvL8ZzdelQQwSQIMEaZUjR1EwLhZ1D3FQX5UKmYkIGEMkoWUII+j6SvGNUf9mPArGxULUAJ3e0oFaPgERs4uPkVfm6QdPADFw0C7JQviHWdAPmaCIMEV4mTnJdBIAOCkdqV0+0610XMe3dTAHiUox9omJ7kdrSqY35fqj1tOdi93d6+KgXZiN8EXZ0M7Lcal2Sk6/apdlAkRy37dOyz7wmr1wkkVuSfib0utmDna/+rxgXKxH0aayTGsdpQv1I+NxakycEr3TLswG9RPRYqbOZ7V91YVOI327aKMyiVpjf9Nosd7eB4tRjaE+2qoRzZs3x7p16+z2r127Fi1atHBpjLS0NMybNw8LFy6EWq1W9j/00EP47bffPJqXR9YPq1atQlJSEvLz8wEAt912G5KTkzFs2DCPJlHdcRYWlvvvlWbfYI12bo5Um2Xp1UeMBFRNwdeR+iBSywdfuKkGCAUp4qG+xsEcJML/IiedYwb8/wVMIYDgD0AEiAAEn6P4cYXjm/NDz+eCcsDutXEe2QbI6S258XOrVB0MTaSVQ5RAmqvFWFV+juWN3JLHldc94v1ciIGSF5R19Kisc8qqJXLXpFV+HV2tU3KnlspVTzd3kFscaefngL/GIT+epRoB4N438vDLoqr9WmiXZYJTCyCcFJGvCZYK1YUKTSPmpfomjRg7tdqkETdu3IgXX3wRjz/+uFKztWvXLnz11VdYt24d+vfvX+YYgYGBOHz4MLRarU25VEFBgWLo7i5uRbbMZjOWL1+Oxx9/HCdOnMD169dx4cIF/Pnnn7VWaJUGtaR5qIuBi5CTvBTNskRB5BVggoEHFSUzQdHMQekwrKIw1REgBgow1Ke41VQAVQHmIMBQBwj4Gwi6ILVoAQHuG+o4XbVrfRwEP4Iug/KkViqLsm2W0GvnF0d9tAuzoV2SpUSOIt7PtRFa2uUzUXSbCZSjgFWEj6qk/3sqtKxTlK5ALelOVzg1Jg6nh413KLScpUNLE0Pya+OK0IqcJb0n2vk5SriemF2bt6PovrM0IXHxtXCE0zHleRIKIbD4vS4tpVobcCa0OsRWnaiYtdBi1GBqYWRr4MCB+PHHH9GgQQN8/PHH+Pjjj9GgQQP89NNPLgktAGjSpAlOnjxpt/+HH35wuRdiSdxq16NSqfDWW2/hyJEjACT1FxgY6NGFawWWNiOuRoqutTKDmLniDzcviSpqJhA5DhxEQOAASiS9pRKlOy4BhBAzQICbWlFZTWi8g8LvrAamUIrrUSIo7/y3RhYGXQbl4fQKKQISOSsPBeNildTTvcPyoP9Qeix8sSS49GMkccYVqSwO5TyIbBNArVoAUWLj2C63Gmo7SYdbTUWAAKfejpNWZfqLgIlIIm5JFmAmgKpYLJQVfdMuyMbpUtKY2gXZUhSwiMOpMXF46Plc7FofpzwviASn30iQLA94p8PYjrk0E1QkUgmbSFzusVgwLlZZnUiIZO9BLM+1ZOSqeZYOpvomcDelRRSn30iwixQ6SxNSnjpdzVgWzs459XacJBZLNo7wssTjwRdzsXttzVuByBsqewbSKl+OF5X3SDBzIBxFyw2p1d6ZneEAX4ilaiC2YmNjkZqaiqCgIHz33Xd48MEHsXLlSo/HGz58OMaNG4fFixeDEIJz585hz549iI+Px9Spnv2euJ1G7N69O9555x3069fPowvWRJw6yJdYaVdyNZk1kbPyIISYpdWCHFWiFkQggL8gLcsnFPSGujiyxVFQjoJwluiZpYieiCj2jrKk8UqGQRr8zIGIKLNfYVmEL8oGCHUqfmRLAcUpEVDsBbRzc6SaJ4s4oyrJegAcBX+VR358LCJm50pRskBBMmF1kpLVLssEjJyi70gRBxpmclhor52bA/C0zLoyRyslyyJidi6oRpTc0k32NgqOkBdUEApAIMW1UQuyldo4/ZvxymtdWsNwR0JUKWy3pKZ9ZaWgnZdT6spWRuUQ+VG65NputiQuKMD7CzamsgUvTwIARK2dITWb5igTWxVEhaYRc3yURoyv2mlEtVqNP//8E40bNwbP8zh//jwaNWrk8XiUUqSnpyMjIwM3b94EAPj5+SE+Ph6pqallnO0Yt8XWunXrkJiYiJiYGHTu3BlBQUE2j3fo0MGjiVRn5A92u7fScXBuIh56Lge7NjhISc3LAQIF+J3WoN4REcZgDuYAwBQEHE6PQcTsXIgBQnHKxyKe4CdIUa4iXvqZQvoZkFJ1BJLQ4KitSadF4FAVBTGS4qSx5eH6v/AQ/ICAyyL2fFR+kQS55YwsBKzbBFkTvtjSu/CteKXezVtK2if46vzS6vBkPzRQ4rROquS48qpPOaom7yMmS9rYIsLlaCeoJFopT6U6vwXZki9ZCREm1/8BkCKEahEwcR633rF7rpXowcWwJWJlBghPpVIDSkB4EUT+omNBtm3Jf2mSsq/5ujQQAla3VUFUqNjKTvON2EqYUqXFVosWLfDCCy+gZ8+eeOyxx7B582bUrVvX4bGPPPJIqWMJgoBdu3ahQ4cOCAwMxMmTJ3H9+nW0bdsWwcHBHs/RbbFVsskjIDV6pJSCEKI4ytcm5A92RMoMFEydZPNYqxQdjk2LkSIvlv6A1saR7SZKKwKFAODY1Bgp6sIBxCQVx4NQkEAzCEch3LK0vJmfU7wiMECQzEjlb7Gy4LJESWBxZ4AIW7FFJMuGBj/ySo3Jfa/nOYx0dR6hw68LPPdzapWqU7y/tPNyQNX2pqpAcSTJ2TzKE3dEg3ZJVpk9/sIXZYOYCIhAXBaN2rk5VilkSO+xSarN049IQKQuD2KQoHx2tPNzpIbfpUSWlOgYbxnL0oPFU1+wkpRHH0aG59i2wypO43MqEaAobiotf1mjRBFezdel4eQLTHCVNxUptu7M8o3YOjO+aoutjz/+GG+99RYuXryo6BFHuKpR/P39ceTIEURERPhsjm6LLbkXojPCw8O9mlB1RPkWMTcJnL+/JGpESPVWFFJ0wl8ANRMp5WfJo1vfpLTzc8AZCEQ/qkQnpCJ1Ck4lQjTz4K6oIIYI0A8dX7xybVWGJLQopJohUfoDS4xccfTLbLnJysKLQBFgRCQILuCgMgD7PohBp5E6EAFeiStXCF+cZedW7kpNkbVwc0bJqFhJIeVoZZ52QTaoitrUWTmquyqPVX2lIQsqKZrpuH5KFqnOmkU7WgFaUatCayttJ+tweEblOFVHrMwAFeVfdigmxZxKioITq4oC6wgXo2KoULGV6SOxNaFqiy2Z69evIzQ0FMeOHXOaRgwLCytznHvvvReZmZno0aOHz+bmts9WeHh4qVt5YzAY0LFjRxBC7MxVDxw4gIcffhj+/v5o1qwZsrLKXhV15swZ9OnTB4GBgWjUqBESEhJgNnvY8JSjxa8oRwFLGJ+qRHBX1EqdFbE0YQ3/MAt3jdeh8wgdwFGp5x1HlZV/1BKJ4FQiIFpa7YiW1V5qivBF2aCCpaCeFqcPiUCK04nKijEAAoqjXBYoR3GthYD/7jYj/MMs/DY3xicedh1idHarH9tO0UkrHefnQHVZhcDTKhtvK1eKtw31y/5WEnrc9mNdMmLlSCzpRyTYCCvtgmyHBe7Wq/q6DSx/jyn9m/HS+2j1lEquDtSPSJAaMauo3UrAiNm5DkUVE1rli7XQumdUxa5CPPVaomW1IYU+eqL0s0qEKHAgRBJY8sZg1CSCg4Oxc+dOREREICwszOHmCmlpaYiPj8e2bdtw/vx5XL161WbzBLcjW1u3bnU8ECHw9/dH8+bNfRp6K8m4ceNw4sQJ/O9//8O+ffvQsWNHAJKSb9myJR5//HEkJibijz/+wOuvv453330XI0aMcDiWIAjo2LEjmjRpguzsbJw/fx7R0dEYPny4Wy6xJdv1KBCreonrKsAipqiJk27aHFVWxGnn5wCEgvKWED8HAJIw4zUCzEVqUCNns7oPhEor/ywii1qiaUSwiCyeSqLPWnDJkS2RKKlEAIBKKrYHgAZ71RD8gf3v++6buXWUSLswG3whD95IUOc4xU9LY12KWLl1Pav0lrMaseqEnEJU3jtanAq0LoAHkT4PymNOol2Mmo12xUzoB1WtdlcMCRbZqvpYl0sRq1CwN+VSHtVsOcqJWtdtdevWDR9//LHTAjVP+d///ofY2Fhs3LgR7dq1sxFbc+fOxeTJk3HhwgVoNBoAwMSJE/Hxxx/j6NGjTsd7+umnce7cOTRu3BgAMG/ePEyYMAH//POPMk5ZFIutJOmDraz+o4o1AwyWAnY51cdRQCXVZKkvaGCqX2wCyvmbpdSgnAmQ9ZVAisURBYhaBDXySv0WoSi+hqVAGxYBBQ6WyFaxNxKx3LSl2jDJHoBQ+0iQXODuCY4aZMs1YK1SdKh7TMTNRhyuNpfCbbyBID/Wt/Va4R9mlVqsbne8VapQTtHJ+6Ly8mzmd/+QPPy0tGLqy+TnQSyfCUcrHbXzcpT0MKj0nrpq1MpgyGiXZZZr0/naTEWKrfDMNKm0xQvEoiKcrmVi69tvvy318UcffdTtMd1OI+7YsQP33XcfduzYgcLCQhQWFmLHjh3o0qULtm3bhu+++w7//vsv4uN9+wf+77//xvDhw7FixQqH3l579uzBI488YiOQevXqhWPHjuG///5zOOaePXvQvn17RWjJ51y9ehWHDh1yOheDweA4rEghNYqmBIQTQc0cqIkDDJwkhuTCdQtUBPRDJkhCyyJyiEaQilgtqUPFmNMi2ohKimbxAWbF5oGQEu4Osr4SYLs6UUXBG4qjXJSjUrseKhXky5E47cJsaJdmKim+gEvuGa1Y9xw0hdqf++uCGIQvzoKxroi9q+JwQBcD9TXLCrly8HQ5PWw8iFqUegMuyEb4h1kIX5zl1HzTRpRZXrvTbySgeXaenRD8aWksHu7nWh9Ib4jKkwxnT7+RAP3wBKeWEvq34qEfFV+sqUUC7QesjyHDPfSDJ7DWPT6gfVzFppAZvuHRRx8tdfMEt0xNASmNt2DBAptGjz169IC/vz9GjBiBQ4cO4d1338Xrr7/u0YQcQSnFkCFD8NZbb+Hee++FXq+3O+bChQt26UtZRF24cMFhlO3ChQs2QqvkOc7IyMhAcnKy3f6Dr8Tg7uULQf0B0chLwsFSnEoAaXWgLIhEAs7ASavWAIBIIocEUqkOS15FpLGEK4l0vlzvJRpUgMniUUWt7LQ4aSMExUIKsot9cVSLMxGIKqqINCJC6nGolsaT027a5Zmg/+deEdfudcVpq/w4x1Ef/poKYqAg1RpRAhVPlONlw1NfQi2pVKqkXamyDL40rFftOetF+P3HCej6Sm652GfIPmOcyr33QMEqU8xguAOzgvABBLhntA77PqicxRI+aSRdzRpR+4Lvvvuu1MfLso9whNtiKz8/32EoMTQ0FAUFBQAkz4tLly6VOdbEiRORmVl6G5YjR45g+/btuHbtGhITE92dbrmQmJiIWKsIx9WrV9GsWTPctXQWzoydCu3STMmskwBKqEZO4WlEyXCTp6AasTgiJddPGXmAF0EtkSwqEnBqEaKJA0AgFvHgb3IQA0UpomVZacjd5EEEwBxqn0umBEpULT82VnIpNxFAQ5WVbqJa8nCiFmsAJWXFE2WZeGkWEFE5eciPj1Vc58ui5DGRujy0nazDzTsF6Cf7Pu1V3vYEvhZarZN1MNSTPh9ElISxO7A6rdqBdvlMh8a9jKrBHzn2JRRms/t99TzGqgzFqzGqISdPnkR+fj4eeeQRBAQEKGVOrtC9e3e7fdbnelKz5XYasXPnzkhISMA///yj7Pvnn38wfvx43HfffQCAEydOoFmzZmWOFRcXhyNHjpS6RUZG4uuvv8aePXvg5+cHlUqF5s2bA5CWZw4ePBiA1Mvo77//thlf/rlJkyYOr+/JOYDkJBsaGmqzAZaWKMslJ3P98AQQM5FqZwCAk9J6EAion2ipx7KsHpRXB8q1VoBSb8WpRAg31ICBB4ok13fRz+K4zkn+S/rhCRD9RQjBglSLZSLF5qeAEiWjnORiDwBCgCjNRfbrIgBMnDIXwlNwtzhQUYoKhS/Owr9dTUrfP2uaZ+qQHy+JODFAQKTOcQ9GeXWio36DBTGxODwjxqN2MpXFgy/mlttKs6PTY6Too8aS6mUwHOCu0IpYmVFOM2G4wq8LYvD9u6Mrexo1mn///RePP/44WrZsiaeeegrnz58HAAwbNgxxca59Cf3vv/9stosXL+Lzzz/Hfffdh+3bt3s0L7cjWx9++CGeffZZ3HHHHYqgOnv2LCIjI7FlyxYAktfFlCllh6AbNmyIhg0blnnce++9h7S04vqBc+fOoVevXli7di26dOkCAOjatSsmT54Mk8kEtVoNQKova9WqldNC/a5du2LGjBm4ePGi4smxY8cOhIaGom3btmXOqyTqyyqIQRZRszAb+rcSoF1QnCYULY2pi1vpSCk7yknRCzlaS82cUo8l8JxSTE9NBMTISe1gABAzJ/USlIJeAAiIxV1capFjGVN2HKeWiQiw7ZMor5q0rFwkHAAzL/XrM3K2qxiJJNjUhTxMDaS6MVgCnWUZZf5zL5VWJY4Yjy6D8vDjilhEvJ8L/haHk+Mlj6/f5lZcuN3TXoEyJfv3ySk/XxWk58da+iaqWC6Q4RsU82NG7aAWRrZiYmKgUqlw5swZtGnTRtn/4osvIjY2Frm5ZdewOrKIeOKJJ6DRaBAbG4tff/3V7Xm5LbZatWqFw4cPY/v27Th+/Liy74knnlCWS/q6b+Kdd95p87NsmR8VFYU77rgDAPDKK68gOTkZw4YNw4QJE3Dw4EHMmjULOl1x5GHz5s1ITExUVif27NkTbdu2xaBBg5CVlYULFy5gypQpGD16NPz8/Nyep+o6gUEgyvJ7qcEwBX9dBdFfVMSKTZG8lZsDsfQ3tGnXIx9nJiAGDnwRh/yRxUv+qZ80Lnedl6wBlBy9RUDxUr/B4FMcrkeKyrWJQIojJjYrJ6lUW8bTYjNUsXhOp8bEIVKXB1MdQRKEpuLehqXx0PO5QE8p9dnxbR2CiizRNg2F2U9aiVmRQguQPKy0C7IBM/GJQOKKCIL/9N3NLOL9XMlJnsHwEUxs1S4ILb6/eDNGdWL79u344osvFG0g06JFizJN2cuicePGOHbsmEfnevSbx3EcevfujREjRmDMmDHo1auXwzY+FUlYWBi2b9+OU6dOoXPnzoiLi8O0adNsPLYKCwttXiie57Ft2zbwPI+uXbvitddeQ3R0NFJSUjyag6iyrHzjAKgpqL8IIhIUjIuF5h9eivzIUSQR4K/xUF3loR+eoHhcUUvdFLVYMcjijAgECBCLo2OwiiSJBEKIxYOJk7y15PQlEaT+ebeaUpx6O04RRoRa0pqywJKRf6Yotp5QWfy/LIKrICYW9Q7wUlTIEvHSfpCLyFmO04cAsGt9HCBKjvpFDaWfH3pOat0DoeLCNi0ydIjKKZ6nfkSC7yJR8bEeW2TIqdWI93MR+W4e2sfrJEsOQFpkwVezv3iMKoN2YbbSxqciux8wGJXBjRs3HDoWXL582eUgyoEDB2y233//HZ9//jneeustxW7KXdz22RJFETNmzMC8efPw999/4/jx44iMjMTUqVOh1WoxbNgwjyZSnbE2kEN9NYiJsxE1QLF3VcT7udKNU+53914uQAlEP1EqULek/06/IXk7EbUIanGEp1xxGx5i5KSolsVLSVlZZ7A4ylvSkFKKEkoUS46eFddzWUQdhVInJgs0WWhJ7vSw6alXMmXWOkkHEKnWyBnhi7Ild3sjwakxtu10Gu7m8fMS+8L6tlN0OJzm+4iXdo7Ug9LGGJRWjrO6vCJT9j7jbxGYg0ToR8VLtg1q0caolMFgVF8q0mdLmzbDJz5b+imTq43P1lNPPYXOnTsjNTUVISEhOHDgAMLDw/HSSy9BFEVs2LChzDGc+Yk+8MADWLx4MVq3bu32vNwWWykpKVi2bBlSUlIwfPhwHDx4EJGRkVi7di3effdd7Nmzx+1JVHcUU1NdKrggP6s6LOlxYuSUeizeQKTidBUFLI2KgeIaKs5MIAaI0r2XpyA3eIiBgmL5AEok8cVToIiD6joHc6gIaCyizEiU3oxyqlBZ8WhJKdoEs+RaLJRYFVnSYR6w7a1otogDgSjROwBonp3n1CLBGdp5OWj4kyQSZcH14Iu5djVR5UXE+7mgKgqqlqwwiIFzuXm0L9DOyQHUFNwNXko3i5D6Xs7OLU7RWvYxGIzqTYWKrVQfia2p1UdsHTx4ED169ECnTp3w9ddfo2/fvjh06BAuX76MXbt2ISoqqswxSqYbOY5Dw4YN4e/Fa+l27m/58uVYsGABXn31VfB8cUHJ3Xff7dSpvVZhLV1FApgskSZCpQiTShI8MEqeVmKgABosgIiSaKGcdLPnbnGAkYPoL+L06+Mlk1OD9HoTEdKqRRWFuYEZ8BOKhRuP4iiVPCVZRAnFQotaRbfkFKayKhJQIlzEbNVnUbBYTZjlVZTSykrRX4R2Tg5azNS5LbSk1wkobE6gKqLoMkhK8e1eG4duA8q/9yAg1aFpLvOKYWhFCi0AgJpCPzwBBe/EAgIBZ5J+LaUoJ6pdgSqDwagayDVb3m7VibvuugvHjx9Ht27d8Oyzz+LGjRsYMGAA9u3b55LQAiQH+SZNmig9n5s1awZ/f38YjUYsX77co3m5Lbb++usvxXrBGlEUYTKZPJpEjcJSBE8oJBNSObolECtPLcvjsjWEJSUoBgigagrOQEA1VHF1D1+cBWrigQAB1JI2hJ9lYDNRXOsBKL5ZxfNx/Nsi+zdRFS1eCUkAzlDiI0EsN31itbrRIhwB6TnCLEXTTPXMHrmV60fFI+gvYM/qOBubgx82VVwkx1cmqhHve/D8rdoj6UfHKVFO/ah4EDOB6hrPoloMBoPhImFhYZg8eTLWrVuHzz77DGlpaWjatKnL5w8dOhSFhYV2+69du4ahQ4d6NCe3xVbbtm3x/fff2+3fsGED7rnnHo8mUWOwjkRY15xbCt2tLR5ko1Ei11hZ0nGgkgcWd0vaz19XQX1JDdzipGNUllWNRk5KRVrbAlil/YpXOFp5fVn2U04qwhflKJuVHtNcJQg6wyP4lGSe6n+RkyItlp58cs0XVUv1ZfqRlqJ/S60ZOGonuJpn6VAWRAAeei4HfldFPNy/YiJaVRXryNqpMXHV76slo9bQckMqWqxPQ9TaGZU9FYYjlNVWXm7ViCVLlmD9+vV2+9evX49ly5a5NIYzA9Q///zToS2EK7ht/TBt2jQMHjwYf/31F0RRxKZNm3Ds2DEsX74c27Zt82gSNQbrVXVmUlyMzgHUYq1AVRTQSGKKmAiEYFGKYFnOoTwFOEg2DiKBqBIgBlhsH/5R4+T44ghM+IdZxS12zARSjx4ovloAlPoxOX9IQZT/E4uZqVLDRQFDfRGBf3G4rhUQcJ6H+joQfBYwB3L4r4NQHDmzrJCU7SeIikI/eAKicvPgd5ng/iF5uNKC4PjkGJs5OyPgXxG7Nvg2elPRvl2R7+bh1Du+T0F6lJplMCqA489NRdTaGeB5Ec3XpeHkC6zFT5XCF2UI1ey7XkZGBubPn2+3v1GjRhgxYoRihO6Ie+65B4QQEELQo0cPqFTFEkkQBJw6dQq9e/f2aF5ui61nn30Wn3zyCVJSUhAUFIRp06ahU6dO+OSTT/DEE094NIkag1xYLkeVLIEulKiFko6x2DUAoHInaVh5bJnlcSRTU+ovwhQooMVMHVQ3gSMpMQg+rsaNcAH64QloN1GHG+ECIFs6oPgLSfEKxBJ1XACU3olyelMETMEAZ+JgCqUw1APMAQTB52ixL5XJMiclMsYh5IhUT5YfF4t7h+Xhp6WSQGidrFNWKEbMznVaD7Vrve9FSkUKLdkTK/K9XBAzsWtYzWDUVHhehNnEV7ubMqNmcubMGbs+yQAQHh6OM2fOlHqu7BG6f/9+9OrVS/H0BACNRgOtVouBAwd6NC+3xRYAPPzww9ixY4dHF6zREIsAESxmn5y8ChCWP0TFf43EQClyBRFSKtCS2gOVVinK0SrF30ojghg4mOqbYWoqQjsvB/rMeGgXZiN8UTZOz7T1z4mclSdFr0oWw1v7NdFiQWhd2mUKldSh6AdAJLh1m4ibzSx1RCOk62jn5FilL4FrrczQzs8BZyDQNCvOTh+dHoNuA3Pww8Z4UI5CuyAb3C3epf6J1QlrK4uSRM7KAyyLIwDLvxyqVWsiBsMZx5+biqg16bYrlxlVgtpoatqoUSMcOHAAWq3WZv/vv/+O+vXrl3ru9OnTAQBarRYvvviiV6sPS8LshH0I5SVxA0KVuiilV6GM/F+TZXWfRZhBroeSVxQClnosKq02NBOpKN5MQM0EVGMRXJbiau082zqngnGxNi2AlMuLJfLwIrH5hbQ53pJmJAJB4F88tHNyJF8wSPs4k6W3omBZXWlZ8WioXxzK6zIoDz9stIgKzmKDYRFdpXH/EOcGqVWZ5lk6G3PXFjN1UJz8rftiwv49YzCqM/kvTarsKVRp7t42teIvSn20VSNefvlljB07Fjt37oQgCBAEAV9//TXGjRuHl156yaUxBg8e7FOhBbjos1W3bl2Xu2VfvnzZ60lVNxSfrblJ4PhApfgdskM7YKdmlIiTjPXjvCVCphKVn5V6MKOloN5PlAxMeck2IOL9XGUFIyXSqjYZ7Qe5xasHLcNQi+eW9eVtbCEA+F3icDQ5RvGh4qyidZyA4sidZWEAZyYQ1RYvLxV1aBCqRMQ4aQ6V6WjdbqIOh2b6PtUYlZsHECipxMj3clEwVno/tPOLBRaLbDEYtY+K9NmKnJbuE5+tgpRJ1cZny2g0YtCgQVi/fr1ScyWKIqKjozFv3jxoNJoyxxAEATqdDuvWrcOZM2dgNBptHvdE57gU2Xr33Xeh0+mg0+mUBtO9evVCUlISkpKS0KtXLwDA1KmVoNyrEjd4ye/KZDEXtazOg5y6s0S6ZOQomLXQIlTysuJuccUHiQB4yWEe/gJIsEkqwDcTJbJFgy31X5ZomHZODiJ1UoRFPzoOp8bEgb/J2XxbIZaoljVy7RYAGBqIaJ6pw6kxcaj/Gw/VNa64rRBnVV9meW6inEIt69sQB8UQVbsgu8wolyNaJ5W9wrEsvBVaHWIcz4FyALXqaSgLLcAisMzEodDSzrGNdJVlIyGv+ox8r/RWSQwGo5ZCfeCxVc0iWxqNBmvXrsXRo0exatUqbNq0Cfn5+Vi8eLFLQgsAkpOTkZeXhxdffBGFhYWIjY3FgAEDwHEckpKSPJqX2w7yAwcOxGOPPYa3337bZv/s2bPx5Zdf4uOPP/ZoItUZa7feU1MmKTdJqqFSqlAkti1xZIsG+WcZQsEZOak/Im/prSg/LEe5QEEtVgwgFKSIBwIFaM6pYQoTQURJrIka6W11VJAe8X5u8fWtsIm2WR5XX+Ug+FNQTuqJaHO+PH1rASkSRZDJ3lB3JehwMLtY2GgXZBenU+VTRQLOSGyESW1GFqD6EQnQzs1RooRRuXkQNdQmchj5bp5kiMpgMKo8FRrZmpIO3svIllBUhIK06hPZ8gVRUVF477330KdPH4SEhGD//v3Kvr179+Kjjz5ye0y3xVZwcDD2799vZ2x68uRJdOzYEdevX3d7EtUd61+eDqsXwP8cD1MIhRAiO5pKKxCpWpR6GwJKCo9ykKJfBDYtdmRrBjndpzSlVlm9XQKRNkLBF3GgHKC+RnBsagwiZucqQqZk8bb2g1zoR8fZHKPgQITZPCwQFLwTK7WSKZEGVYSW4mLvuNdg5Lt5EAMsr428OlNWehSsByCkhtn4f/auOzyKcv2eb2a2pFEEaYqGELr03ksgBbvXcq8dGyICbkJJ6J3UHcGG5dqv92dBLFcTQKoUC0VQescCiCCQtm3m+/3xzczuJptkk2w2bc7z7JNsm53dnZ05877nPQdQiBV8DhSo36MOHTpqD3SyVfX47bff8MUXX/hsAVqtZXcBwsLCcPDgQdxwww1o2bIlvvrqK/Tq1QsnTpxAz549fRqeloVyC+SbNGmCzz//vNjtn3/+eZlK//oA4iQ4tMAC2cSqWgC0qUMWp6O0FYlS+TLI2m3MRV7GqYlJWlWIuFTyxS5cPg9i50BsHCNsAgXn5CCFyKAChaMRIzEnn03SSFbU81ZELbciakUWIl/OBG8naL9UZFUv78Ka25cLXgUr1nLU7CjY8okM7VLU20vNUIx8KQuRr7D2WNtMtpHzhcSrouVuowKQa6dwvCLO8aXhaIoFR1MsOJ6UCCKxilbU8947CZ1o6dCho1TUQ4H8+vXr0aFDB7zyyivIysrCxo0b8dZbb+HNN9/ETz/95Ncyrr/+epw9exYAq3KtXbsWAPDjjz/CZDJVaL3KXdl6++238cQTTyAhIQH9+/cHAHz//ffIycnB66+/jkcffbRCK1KbUdKZSuTLmRppinwtwx1OLROcenqq1k7zbMURJxO9ExsHapbBFbhtEiJfymLCdMKqVVErsiAL1P0aAap0tHkhSzE8paW29aKet0I2yoxEEihZfh4DAapmjQOIg2jkr8MiEa5QCslM2f0A+0GrVT4PYqfqwoiMgHtXVVX7LUq0ggq0VDuIQCI6TcSxGRa0XypCMlMcT0xE20wrjk/VW4s6dNQ0BLOy1XZmYCpbx5fWnspWv379kJCQgAULFiAiIgJ79+5Fs2bN8MADDyA+Ph4TJkwocxnJyclo0KABZs6ciQ8//BAPPvggIiMjcebMGVgsFqSmppZ7vcpNtgBGrlasWIGDBw8CADp16oTJkydr5Ku+oeiPJ3JlJqtWKRUttZWmCcFVsvVqpjfZUFt4qv8WByUf0T3156stV1F0niXiwJLKT+NpLUWllai2Pb09vRh504jhykytzRj5aqabnKl2GB6VL+ICOCeBFMosNQJFYqLTRb/c7csL1eMMACCToOqpOi4QwTkQkO9Vhw4dgYdOtqoWnhqrxo0bY+vWrejSpQv27t2L22+/HadOnSr3Mr/77jts374d7dq1w6233lqh9aoQ2dLhDc364fmFODNlDiMPZWiPNJG41npTFecet3Fwu88rmi5VD1XSsj3F1BVBz4ki9rwUmAO1Z0Yi52SkQ60mtUsVIYXKgEzQ8CjB310krwxHzwghQgHOxkE2UM0YlMjEL2PU7s+J2Pu8BYPvyQLnovh2dXD0YF5tRQIY/+ZweI5OgHToqO/QyVbVokWLFti4cSM6deqEzp07IzU1Fbfddhv27t2LwYMHl6krdzqdGD9+PObMmePTib6i8EuzdfXq1XItNDc3t0IrU9tBecWs09PuwQciX8lk1SvVOkHVO6nVLRWyx20q6SqBaEWuzNS0TpGvZqL9YiawVu0f/IUn0er3SPHndprjv+XCqYlJ2gUcRZRohSGXIOp5K44mW7Sqz5VopeLlofnStGBgGjIplGnSPMeRVQ2YL3RYyNZz7/Ps/Wz7OAm/xQTP4vrkJEUzpxBqRyMZUSuyAq7t0qFDh44SUQ81WwMGDMDWrVsBAGPHjkVSUhKWLFmCxx57DAMGDCjz+QaDAatWrQr4evkV19O4cWOcPXsWzZo182uh1113HX766SdERUVVauVqG/Y//By6/fc1pQVIEfl6BiB5tAzVDZeD+3+1mqNWuSSw6pWaZwj2P+cikHl2v6qpkk2y+3naVJ+3WaZs9gxmLB9+eKd45ejgoopVZ05MZhozZwTAOZXblPaa8apvEkSVNioVWEuSc3IaEVM/k/ZLRRyZWXydmu9yFbvt5LNJaPNCVtC0VJ6vSVSbj3JmX0SniwAFjs3Qq2I6dOgoH+pjXI/VatWqVwsWLEBeXh4+/PBDtGvXzq9JRIBlJH722WewWAK33/WLbFFK8cYbb3iFMpYGp9NZqZWq7Tj1NMssVImURrQ8vaVU0gWP2xSdlka0PLRLsmqSSZgVwMkJSe6pPeLxuq9mamHRpyYmBVTjVVkUFdtHZ1hxbFoinOHsTZ6clFSs8qP6hRGJQDbKMFzhFc8y5pRPDVRbjie2fO52ph8+Nh2bv56uvUZ50HGeiEMLKveD85wK5ezlq65VhaZMhw4dOuoSVqxYgaeeegpmsxmCIKBr164AmIXDypUry728du3aYeHChdi2bRt69+6NsLAwr/snT55c7mX6pdmKjIz0O65HxZYtW9C6detyr1BtRInTiKrwG2BVDZVEqZ+4KqL3FMerBEyN+iHUXQnzcHdXBeWnxitTjbI71sdXm7HTHLHCVamSEMhpvqgVWcyLjHdrsqjqP6ZCmU7knAr5EqgyBQkQCWVO3w2/NQObvyw7HqjNi1k4+WySV9Vs0H1Z2P4hI01D7sqELBBs/6jiFbKuU0UUtKCgxtInPnXo0FG3EEzNVnTyUvCmSmq27DYcS63Zmi1BEPDHH3+gWbNm4Hm+XJ04XyhNq0UIwYkTJ8q/jv48qCLq/fqIritfwOnps9w3UMDbyArepMpTFK/+9bRx9zA7VZ9bNE8w8nU24UiFknMGo1Zk4cQi/w7onnYVZSGQU3YhZzkUtGJtUTVbUbOSUKYcOScBkTyepHwmKp8tbbpwRHwa5BDe531FobruO5q4X8wR4f4et346Ff0ftmLoHRn49rOKZTv+nOlez+g0EVSgOJ6kWzXo0KEjgAiE5qoWtBFbtWqFVatWYezYsaCU4rfffoPNZvP52BtuuKHM5Z08eTLQq6hPIwYC2jSidRF4IQQnJ3m0+FQtlfoXYMJ4z7xEgBEq2X275hrvUdFSBeKnnpzmbk36qGa1tVq9PKnavJDF7BSqwKsq0GhrtSpEi2mzqFLV4xxs/SlxV70oD4ADONUgWCGplPcmLsNuy8CWL6ah7zjWr/+rF3PlV+OHfKHvY1b8+GbN/qx06NBR+xDUytaMAFW20mp2Zeu1117DpEmT4HIV1+qqoJSCEAJJkkp8TFE4HA6cPHkSbdu21UKtKwqdbAUAvn48pQri1WgbA/U6a1AJkxqjQzmweB5PPZeHAD7yVUboiNPDAFQhJkUrJdEZVi1kuqQKSvslIo7MqhkaoTYvZIFXwrhlI9X8yFRDV4C1MakHOfUUclKBaq1blVQNvSMDtsY8fnzLg4i+mAXDZQ5HZvt+357tQxVD78gA56DY/PV0dJ4p4sDS4H1mKpG+abqIX9JrxnelQ4cO/xFMstVuemDI1tH0mk22AOaCcPr0aXTr1g3ffPNNiYk23bt3L3NZBQUFmDRpEt555x0AwJEjRxAVFYVJkybhuuuuQ3JycrnXTydbAYBXNuJ/XtPieAC4q1lFzU09qlyeru9ervMvZ7p1W6obu+BRIaNu01PiJMwE1cVu96VfUl3FVcdxXyjtvkDAH8F51HImJPdsCXoahRbVOKmVOwCQDRR8IQEV4M6VNFA0/47gu/cTMfjuTPzVjUfzXS64TBy2f5TEqmkEpVa6SsLge7JwoXvJZK0yiFqRhROTk9A2y1qMIFeHQ3zRNm3bTCso7/7cuiaJoDx0ElgJdFgogrcD9msoqIF6JUToqBsIKtmaFiCylVHzyRYASJKE999/H7GxsWjZsmWFlzNlyhRs27YNzz//POLj47Fv3z5ERUXh888/x/z587Fnz55yL7Pc2Yg6yoBKXV0Ep55063lUMgAAp56apmmxisbreO5Y1f9PPTNVmyw89eQ0VuVyKZE2io5LbT9SjlkiACiWpacenEsjU77ua5tlrbQ/lGpwqhKt0jyyTkxJLKa9OjElETJfnGgBChflleoXRyGFUHB2At6m6Lxk4Hx/qr3m4bkW/NVFgL0R2/yPJyZWiGh1SRbhCiE4MtuC9ktELTw6UDgxOQnR6SKbuEwvsuxyzKv0eaL0cWc1u7LNi+w7inw508uQVkXR74RIBMYrBDdNY+vmaAg4/RtY1lECDs+14MASizaF6532rkOHjtLA8zzGjx9fol7LX3z22Wd48cUXMWTIEK/hwC5duuD48eMVWqZe2QoAPM9Uer36Bo5NS9RafGU5yfuDyJczQWSiCbcBt0O5LyuDdstEtrMuUuEKdNUqarnVLxf3qBVZoJySncixz6PNC1kAgdd7Ki8iX84EkdyZi14EQZni5BxE03kBcMcgucA0X5RVZno/JSK/JXDtXhe+/WwaIl/JBOfg/Hp/wUB0OvtOiQugBnitV/+HrPj+vfKvpzp1CXhvY2obuyybjPZLRVAOzKBWXc8Mq6avOzzHEhDrjPqGDotEr7SByNczmE5zZaa2L4l8JZNJCiq5b9ERfASzstV+amAqW0cya0dlCwD69OmDtLQ0xMTEVHgZoaGh+OWXXxAVFaXlK0ZFRWHv3r0YNmwYrly5Uu5lVqiy9e233+LBBx/EwIED8fvvvwMA3nvvPc21tb7ipreX49i0RJYV6Cluh+Lw/nqGm4T5QOTLmYgSreg61buK4auNoDmU+8DRFIsmqm+baUVbxcjNk2h1SSl/FaZodevElERm2VAGTkxOwslnk1iFTjk4nJyUxCpzlcCpZ6YyXZsCzkUAZYgAlIA4mRGsquUiinaSchRCPiME4Bhp/LsLhf1aGb8mENa+lf0zIB18d8nfZ0UwfGx6sduiM5QWqkqeKdNuqd+rL6LVaa77+/XH9V/V+0Ut98/0r22mFTLP2rae4OwEvJ191p3mMqLVYVFgK351HUVjnbQKuae+c8LUYkRLG8rRUaMxKGdx8F6sJEf48l5qERYvXoypU6fif//7H86ePYurV696XfxBnz598NVXX2nX1erWG2+8gYEDB1ZovcpNtlatWoW4uDiEhIRgz549sNvtAIArV65g6dKlFVqJOgOZHaipgbKDF0eZD9bKTFZRkQjgg2BEvpzJDvAcq7J42gKoUCsQRVuDJeF4YiKOJyXi+NTEYgdEAN4WCn7i5KSkYgfjynhEkZIHR/wHT7WK1okpiTg1fiqoUdaifkDYtKYsUMhGlq1IZAJXOGWTmerOhCitx1wOnJ1D21UO7b3FjFyGkXFpPl9+2yeBrSxs/no6ht/sTbiOTUtk0UZKq1N7b8rX2n5pcTJzcKF7Gzq4iLU5o5ZbvR6rblNtXshSpj+JRurK4pnHpyaCcwG8zXt75h2AZAJc4RQHF7LKlmTyf7vVUTLKNCjWO461AtvjZwfvxeoh2Ro7diz27t2L2267Dddffz0aN26Mxo0bo1GjRmjcuLFfy1i6dClmzpyJCRMmwOVyYfny5YiNjcVbb72FJUuWVGi9yt1G7NmzJywWCx5++GGv8tqePXuQkJCAc+fOVWhFajPUku31KxbCIIdBNsjMakHRtVOegnNwyoScd3tGbbGV1k7TshSVKcbytt7Ug2lRfVhdQVurFZKJer0/tQpHJMWzSy1UKfouvpDTdiKeBqqqEL3zLBHX/uTE5q+Y83zMyGVYvzHF63WH35yu3Q8AA/+VBVtjDrltmC2F4QqpshZau1QRssBeh0gA7yA+Y4sApVollz4A0ObFLG3IoqRBBH8RnS5CNlAYcgkOz/UYclAE/zoCC1VzB7Cp3GDGUekoP4LaRkwMUBvRWnvaiJs3by71/uHDh/u1nOPHjyM1NRV79+5FXl4eevXqhRkzZmju9OVFuclWaGgoDhw4gMjISC+ydeLECXTu3LnSwrTaiKI/Hs32QQZrazm4YgTJ88AT+WqmV56hJyJfLt4aqMh0UuRLWcXIVvvFYqlTdL5icKoSlXGkV8Xd1CSDcoyUQmYO+1HPWwGOssgjZZCgIlqXdstEEAllTh62XyyCUMAVQqt0YrBtllUZiFBsQkhxH7V2qSKkUFYKK4voRK3I8opvrEpiFPlSljJZ60fFRoeOWoRuX85F/tFGJXoaBpNsdbAEhmwdFmsP2aqpKDfZioqKwmuvvYbRo0d7ka13330XqampOHDgQFWta41FMbL1eobWLjw1YapGpiJfzoTxb97LyyrytQxmUSCRYkHS2vNeyfQu5VLF4FOxmPDnYNXmxSxwdqIYgdbtiBg1AJzlSwLgAeEyD1e4jFMTk9AlWcT+VPYdtHkxC4YrXIn+YjEjlmL9ppnadZVIAcxM1TMCaUR8GggFZJ4wD67ZIg4sLn9lqzzO9NFpIrP+kBQ/Mh+Eq63VCtnAtGylfe9Ry62swgeU+dhAoTyJBfUV+mdUt9Bj1VTsvTsrOGTruQCRredrD9nasmVLqfcPGzbMr+VIkoTVq1fj4MGDAIDOnTvj9ttvr7C5abnJ1rJly/D+++/jzTffxJgxY/D111/j9OnTsFgsmDNnDiZNmlShFanN0Bzkly8EZza7Mwtfz3C3quxcmeV9jVypZAFKuPRLWczWQP2mlHFwQqFVcfxpLUYtt2qifcrRMtenw0LRqw1UWxD5ciagTBqqhIsv4GC8SiDkAz9nWRD5ciZ4myJZlFm70ZDP9EZlGbtGp4ngXIxsEdmbcPlqNw54IAvf/adqiIs6uRadYdXc9pkdiDtOqc0LWRp5KmuCVH2sirpMynXoqGp0mSFif5r3/iSola16SLY4rrgU3dO+wR8H+f379+O2227DuXPn0KFDBwDM2PTaa6/Fl19+iZtuuqn861XeJyQnJ+P+++9HTEwM8vLyMGzYMDzxxBMYP358vSRaXjDIzEOLo7jxDZZZCMJ8tfzRUXiFSivPjVyZCfCUVa8oAZHdTulau4zCpy+SJ9q8kAXiYqL0E1MScXISG/GPEt3C5Y4LvIXW5ovsb/slNWOazFOb4hdkABLTZMlmCtu1MvIiZUQ9b3VPMspM7E0FCkcjCslM0TbLyiYAi2BEPBPJR35diCOzLDi0wALO5T355ylSjk5j3luXunBet/kStFcU6uTasWlsIILlRxJwDuLlj6baNTU8UrqK2nyBg8wH196psh5uOnTUVBQlWkFHkAXyy5YtQ9++fREREYFmzZrhjjvuwOHDh70ec+7cOTz00ENo0aIFwsLC0KtXL6xatcrrMZGRkSCEeF1SU1P9Woe///7b6/Lnn38iJycHffv2xdq1a/1axhNPPIEuXbrgt99+w+7du7F79278+uuv6NatG5566in/PowiqLDPlsPhwLFjx5CXl4fOnTsjPLz+uhlqla3nF4KEmwACGC4KPvVON76RUWJgtC8U1Vp5arg4F9GsD8ormo/OsEI2KoRNIgENla4qRL6aySY8lVH4yNcyGLlV71c+m1PPTGWiebPMKlwu1nYlamtRZasSgSGPWRUcWGzRWnJqK82QR3Bovn87S89Yn44LRISfoQi5KOFCDwGcE5DMiq8XlKEJgVaZHk6tdrVLFSGZKWtTK0MAJyclaVmRRTM0i0Jz5ufcu4iqqHSpk7i6Z5SO2owun8/H/tvnl3h/v5yZ+CF+Kdq8NQenHlsclMpWx8mBqWwdWuFfZSs+Ph7//Oc/0bdvX7hcLsycORO//PILDhw4gLCwMABAbGwsLl++jBdffBFNmzbFBx98gHnz5mHnzp3o2bMnAEa2Hn/8cTz55JPasiMiIrRlVASbN29GYmIidu3aVeZjQ0JCsHPnTnTp0sXr9l9++QV9+/ZFYWFhuV+/wg7yRqMRnTt3Rr9+/eo10fKCRHD68ek4/dh0rwNp5GsZ2v/lIVpA8QlCzkWUCB8AMjPspMQtEPdEaRWDY9MStQrXiecSfVZyaiSkkksuvI0DkQjavJCF44mJ4G0cQs/wmlUCkcCqXYAWRH14jgX2xoxMcJJHtZAAznDKCFgZGDUm1Ss/8dA8C3b+OxHffjYNh+ZbIBvZa3NO9vqEokoHD1RLDSJ52GvI7D13misi7zqmOSiNaPV/yMq80GQAlIAv4LyIlr9+XP6AcxHteymKjvNrRlVVh46yIPClt6d+iF+KHl/NAS1lH1bbkZOTg0cffRRdunRB9+7d8fbbb+PMmTNeBGf79u2YNGkS+vXrh6ioKMyePRuNGjUqRoIiIiLQokUL7VIZogUAzZs3L1ZlKwnt27fH+fPni93+559/Ijo6ukKv71dl66677vJ7gZ9++mmFVsRf2O129O/fH3v37sWePXvQo0cPAMCmTZsgiiJ++OEHXL16Fe3atcO0adPwwAMPlLo8z16uiv/+97/45z//6fc6adYPLywAT8I0ghS13ArOAXawshc3K/QHpU0qAh6VLqXvU5a9QzAnzqoCka9lsPcqsYO0bGAt1jYvZOHkpCS0SxVxNNnilZfI2Vk+IuUYAfHMGWybxUgD5QDOSWC8CtgbU4T/SiAZgcLmHmaipWDIXZnY+ulURKeLaHgM2PWaBSPj0rBxzQyMHrYE32yZVXUfivpefOQlqtUtcMz+QsjncDTZgh7PiuAkYPcrJW+THReIMF8AHA0ARyNmYHrCklilFg4dFopwNmBC/5ri3l8bEJ0mQjbRWlGhrsvo8OlCHL5rbqmPCaZmq+OkAFW2XpiJX3/91Wt9TSYTTCZTqc89duwY2rVrh59//lnTOcXGxsJoNOLdd99Fo0aN8NFHH+Hxxx/H3r17NSITGRkJm80Gp9OJG264Affffz8sFotf4vR9+/Z5XaeU4uzZs0hNTYXL5fLLfP3rr7/G9OnTMX/+fAwYMAAA8N1332HhwoVITU3FkCFDtMf6+x36RbbGjRvnteKrV69Gw4YN0adPHwDArl27cPnyZdx111146623/HrhimLKlCk4evQosrOzvcjW0qVLUVhYiISEBDRv3hz/+9//kJiYiM8//xy33HJLicsjhOCtt95CfHy8dlujRo1gNvu/gfr68US+khmUkfb2S0U4GkvMT4owwXZp+jCVbKlQHxu1IgucjaswKQwmIl9VTGIpWG1W9qj4Qb2dgjgIqIERLE08DoVoKpUUlbBRAZoXVfulIjg74GhEWbSPcsJ6PDFRy1dUDUB5G8HhORYMvSMD+S0EXG3jdurvMUlEwxNOLy8uFcEiYO2XiDgyy6KFbRMZmq6swTE2nfrTC6V/3x0WiYg4RbHz34lu/zKZ6GRIR71A5MpMGK8txJF/zAEARH+0GIQAhKMghIJSAlkiCAu1Y+8ti8pcXjCnETs9GxiydfDFmcVunzdvHubPn1/i82RZxm233YbLly97EZzLly/jvvvuw9q1ayEIAkJDQ/Hxxx8jNjZWe4zVakWvXr1wzTXXYPv27UhJScG4ceNgtZZdUec4DoQQFKU2AwYMwJtvvomOHTv6tQwVakFGXZ7ndUKIX4J7oAKarRkzZuDSpUtYuXIleJ6JUCRJwjPPPIMGDRogIyOjjCVUHNnZ2UhMTMSqVavQpUsXL7LlCzfffDOaN2+ON998s8THEEKwevVq3HHHHRVer2CcqZQFNWtQJRQlEa4o0aodbD3PgrXYHUrA2Ui5MxSjRGuFwpwrCjXLj3IUnJ3T4omIxPRQJyYnIUq0sohEO4FsYo7xUc9bNYd00yUCzg44GwCyAMgmpfqltNxkA6uwqG1ISlj1i/IUxEUgFKCYaWnR/MmYUcsgmXhsynYTrtHDWdIC5UixycXKom2WVbN/aL9UBKj3dGXbTCt4B4EsACAUQgHBoXllf9ed5oo4uNDiJlsUIA6iVdIq45GmQ0dNR7uPF+PoPbPR/hNGpghHwSlEi+NkyDIHnpcRanTgx4TSk1R6r0rC7ruttY5slbeyNWHCBGRnZ2Pr1q24/vrrtdsnTZqEH374AUuXLkXTpk3x2WefQRRFfPvttyUahr755psYP3488vLyyqymnT592us6x3G49tpry1VAKcsY1RP+mqSWm2xde+212Lp1qzYOqeLw4cMYNGgQLl68WJ7F+Y3z58+jd+/e+Oyzz9C0aVO0adOmTLI1ZMgQDBgwAJmZJU+xEULQqlUr2O12REVF4emnn8a4ceN8thdV2O12LaYIYBt269ata8RorOeYf0n3A4xMQAmH1kb9KXFfpwScneDY9Jpd5QIUsb9SXfas3FACCIXMWT06XWRRPRIjVpyTvdfw31h+Yn5rt7UGkdjzKAe4wqiij1OtNgAhn0A2MDPRIzOZEJ0SlEpQh9+agc1fFtfrqa3GqkBZprTtF4vgnIAhFzAUFm8p+mpLarE7HAUk4kWw2y8VS3Sx1xEYeMoKVCsXIrNtPZgnO/UJ7T5eDIPBBUl2VzsO3zUXHT5dCAAQeBmUAjxHYTS4cE1IAdaNKFlrGMw2YqeJASJbL5XP+uHZZ5/F559/ji1btqBNmzba7cePH0d0dDR++eUXL/H56NGjER0djZUrV/pc3v79+3HTTTfh0KFDxbiHP7h8+TIaNWpU7ucFEuV253K5XD7f8KFDhyDLJahcKwlKKR599FE8/fTT6NOnD06dOlXmcz766CP8+OOPePXVV0t93MKFCzFq1CiEhoZi7dq1eOaZZ5CXl4fJkyeX+Jxly5ZhwYIF5X0bQYFa7fEUxxOJVWPU8Oqo5VbmpK4IwaGQK8pRpXLDnlcbiBbAxOZqFYtyHsHTEiCZKdovFnFMcX1vt0wEJxcnRm2zrMwUFAAIgaORrH2WqpUCOFbRUitFasg3ISwSKDpd1F6XmZu6X6co0RqRkA7OIWPj+mTNOHXUmFRsWJcckM+kbaYVvJPZP6gaNbWlqP0/m4VEu8LYcED3KSLCf5e0vEdfOjWhgMAVSrUhjTYvZDE7EidwfKZ+sK9yyEyiwDmZCTKhAOdg2Z+d5ohenm86Koc27y/DyQdTcPSe2ei0eoFGqiglaL9qEQRehsDLkGQORgNrJRk4GetGiIjb/Bw4QpE9bDl6PCvipxer6XsJRLZhOZ5PKcWkSZOwevVqbNq0yYtoAUBBQQGA4l5YPM+Xyh9++ukncByHZs2albkOaWlpiIyMxH333QcAuPfee/HJJ5+gZcuW+Prrr9G9e3e/3ovNZsO+ffvw559/Flu32267za9leKLcZGvcuHF4/PHHcfz4cfTr1w8A8P333yM1NdVL2+UPkpOTkZbmO+BXxcGDB7F27Vrk5uYiJcW/lsvGjRsxbtw4vP7668VGN4tizpw52v89e/ZEfn4+MjIySiVbKSkpSPSY5FIrWzUBJ6YkKp5apNiZblurlZldTknU2obERWDIZQTLFaoIyJX3Fp0u4th0i2YlUJNBJGatoHmQEYAov2cplLr9xMy+Q7g9RfMqolYwIgGwKpYsMKE9wD7L41MT2Wfko6IVnSaC8rTE6tKm7OkYdhtruXs61APervWVIWBqlUmtUB2ZZUHnmSIOLLVopMsZznRnnAMwXQUKm/BeNhbDbs/Als+neS2zbRbbjqgSfUQ5Chi9hzXK0g7qqBhUHWjUcqtm2CuZ2PegE63Agioa0K5fzMPBOxegw6cLYRQkqOzjwB3z0e3LuTAbnQCAXQlL0C+H/W7XDH9eW45kdC+zS7KIHTMfD8r6A5q6otLL8BcTJ07EBx98gM8//xwRERFaVnLDhg0REhKCjh07Ijo6GuPHj0dmZiaaNGmCzz77DOvWrcP//vc/AMCOHTvw/fffY+TIkYiIiMCOHTtgsVjw4IMP+hUkvXLlSvznP/8BAKxbtw7r1q1DTk4OPvroI0ybNs0vr62cnBw8/PDD+Ouvv4p/HuXQaXk9r7xtRFmWkZmZieXLl+Ps2bMAgJYtW2LKlClISkrSdFz+4MKFC2W2HaOionDvvffiyy+/LOYCy/M8HnjgAbzzzjva7Zs3b8bNN98Mq9VaIfOxr776CrfccgtsNluZvWEVxeJ6fOQQ1hSoU3uAuw3BOVl1qMNC5jNV04lVSWi3jAUgE5lANlLWUpQBcABfQLRMQ1W35o/GqK2VObMb/yZwNmSaLk/fKVAmFG9rtYI4vbVu7RezScCyJhljRi3D+g3sRGL0sCWgAqddDyRKIs3tUkUY8gC+AOCdgFBIYbxKsf2jJPR/2Irv32Xr39ZqZaRWcahXQ6spAYyXOdibsDvVwG+Q8vu/6fAfqk6yrSIa5hwER5Nr52+3JqL9J4sgCBIEXsa+Wxei/SeLYFAqWLJMwHEUJoMLRl6CwEsIEZwodBkAABeuhoP7KQLGK+wkFgD2L2PfTTDbiJ2fCUwb8cDL/rURS5LfvPXWW3j00UcBAEePHkVycjK2bt2KvLw8REdHY+rUqXjooYcAALt378YzzzyDQ4cOwW63o02bNnjooYeQmJjo1zE5JCQER44cQevWrTFlyhTYbDa8+uqrOHLkCPr374+///67zGW0a9cOsbGxmDt3Lpo3b17m4/1BhU1NAfaFAv6PPlYUZ86c0V4LAP744w/ExcXhk08+Qf/+/TXx3aZNm3DLLbcgLS0NEydOrNBrLVmyBFlZWbh06ZLfz/G0fvj1WffYb+TrGZoBZ01GW6tVc1KvC2ibaWV6NE0wD/A2RsCOJyZq9hD+IGq5tdg0IwgY4ZLd7dlAYsygxVi3fTZGD1sCIgPrtrKpxTGDF2PdttnlXl6HRSJcIRRCIZucbL9YBJHhFcXUYZEIIR/gHYAzHIg4Q5F3HYErxDt4W7V9UK0GKK9o/CQC2SRrE6HMcLf2GObWFXi2jXUEHp0/mw+eo+A4GSZBAkcoZEpgNrDqllPisSPWt9O5KrIPKtmaECCy9Urtietp1aoVPvnkEwwaNAgdOnTA4sWLcc899+Dw4cPo27evF5coCQ0aNMCePXvQtm3bgK1XpchWdeHUqVPFBPIbN27ELbfcgilTpni1AI1GI6655hoAwOrVq5GSkoJDhw4BAL788kucP38eAwYMgNlsxrp16zB16lRMnTq1XJosz2zEM5PnIPL1DO1AQ7nyG5kGC1ErskCcxC8fqdoKTdANABQwXnVP33VcIMIZ7ju8+aZpIn7JUNpwVlYBVA9ibV7IAuck2nQjkdnzi04iVgZjhiwB5YCCFmaE/OXwqnSNGbwYklnAhvX+txfbLxEhmViVreM8kRmtKjIEz2pX76dE7HrNgpumiQi5SFHYhMDRmHGosD+AiF9dWkh2lGgFFdy7D8orWi5l29erWtWDtplWUAFacsCJKYpliTqx61SqD6RyuswuKaJWralvGLAmBWbBiU0xmRi8bga2jfEth+maKOJnqwVRHyyFwewCAeAqsOH4Q8uCQra6PB0YsrV/Ze0hW88++yz+97//oV27dtizZw9OnTqF8PBw/N///R/S09Oxe/fuMpfx2GOPYfDgwXj88cC1fMtNttq0aVPqpN6JEycqvVJlwRfZevTRR73aiSqGDx+OTZs2AQDefvttjBs3TvPLyMnJQUpKCo4dOwZKKaKjozFhwgQ8+eSTPsMsS4KXqakphJ3cEyUiRbUOkEhQfLcCgbp4dqy2XKKWW72sLW6aLqKwmSqMdxMqzxButT1JeffEV9RyK7OUMMts0MDHdF4g0Gu8iNALErZ+6t52Ykaw0fKiWq8R8WnYlON7srFdqghZoFpkEecAZCP7C3hXrwbenwVQwBVCYG9ImKGpwCwkBjxohVAga+sTtdyqxRtRpa146pnasZ3XVXiFicussqiS5yvR7ARQjfmqLUMwtRVRHyg2L5SAcBQGkwuuPDtOPLJUJ1tVBKfTieXLl+PXX3/Fo48+qkUAiaKIiIgIPPHEE2Uuo6CgAPfccw+uvfZadO3aFQaDwev+0jTdJaHcZGv58uVe151OJ/bs2YOcnBxMmzYNycmBmaaqTfAsC3f9eCU7oCln+Fr8CwBQeGX5BQtqdae+tnPapYpa1eXYdAubSHSxio7nhF7bTGuJUTqqdkv9DNVqF+WV0XtFqlhVRp+D78nCto+TMGbIEsgC255UsjV62BIQiVlXUIGUaZbafjHT5klmiuNJiWi3TMTRlOIH3b7jrDAUMJL5dzsOzgYUob8T/Gy1oP9DVnz/njJIkSZCCpUVn7Oab3bq+Z3XVajZp6rBb1ErmEDYdHSeLULmi3vN1Xf0elqEbGBmwdEfLcaxe92t/8j3UsHT3OCRrfEBIluv1h6yFQj8+9//xtNPPw2z2YwmTZp4FZgIIRUqKgWsjfjSSy9h586dVe4gXxPhSba6/fc1TRzs9iCAZq9QNHrH02k+cmVmlYTxRj1vZZUXqozo19GWYWmITmeEiwoAcTJSYLoMrzZI+yVsJ1nS2X6UyCwz1AOXGuRctM1Y5utLpecSloQxgxZDNnIAR0AJ0dqIntOL/qJtphWck+BoikXTdBHJW+A/KiYVG9Yno9+jVhRcS1DYgg0dqGRUJYAqNA83pXpW00lXXUbbTCuoAQApTrQAt/muOnGsI7Do9bSI3SvZ5xr90WIY94bhwJLgC+S7jF8K3lhJsuWof2SrRYsWmDx5MpKTk8vV5SoN5bZ+KAkJCQlISUmpl2TLCzJYW8mgiIU9vQhkj6gZgBEwnhEu4iKltmcrBaXNQ6T6SbQApl+hPAtmVj+DtllWL7G8bKReUUZFUaxFSKH5e4H6NgHVHspRzeG+oli3nZ0hj4pJBZHd50jrN83E0Dsz8e1qRtT9iQLyXE/JCDZZSCk6LGLi+UPzLBqZizhjxw9vp6DTHBH2Jux1R8SnYVuRlqVawaU8e6+6q3w1gmMnFVQgXhFdLKqKgKcE7ZeKODbTUqb5rQ7/Mei+LDhDCWAi6PmMiD0vW1hl616Px8x4qfpWUIdfcDgcuO+++wJGtAC2iw0IPvnkE02IXu/BUTfRkgm4Qg6cjWOu7apNC1UqAMp1aqBeYuNA4sTkJEAmFaqm1BUcT0qE8Qrzf2prVcxIJWYGqYK3EXfL189lnrAksopWGYY2RCLs+1eItpdwv5zYsD5Zi/kZM3gxAODb1VMxIp6JdMuduaiYtVKOtUMpB3RLdDtgq+J89byhwyLRpzbsxJRETb8VEDPFCqLjgpLdu+sLjicmMuNTdV8EJQFBqbJ7TteWdoKho/zgXADvoBAK2QfcY1L1bY+EBuZS3/DII4/gww8/DOgyy022evbsiV69emmXnj17omXLlpg5cyZmzixfK6Ou4abXXmAESoXMJv1kA4UssDF55k3k4yKjSlqIGqjiq6VAM/msRzg0zwLIBMa/mZErCLMtiE4X0X6x4kFFmBEpAO1vWYjOYAMF6nSfJ9qlKjtaZVCCcxEQiXki+bt8fzBm0GJsypmBUWNSvW7zB8emJYLyTL8lGSkkI+AyAwP/leX1uAOLLTjxXGKpPmxqSgHnJNpOWsvdDBJkgWmS6jukUNZCVBMNNFLFU3AuAIQNf5TnBENH6dj+YRJkgf3WVW2lGvTefYqIbhamFw0aaIAu9QySJCE9PR3Dhw/HpEmTkJiY6HWpCMqt2Zo/f75Xu0sNeRwxYoRfadp1EZr1g3UReCHEXaFStVvqtJqi22KnCx4LkAmLz4GbcFWVlkILolYInrYTVtanrrd91LZhdIZVczpXJ7MMecDBhW6xPMDCqmUTNLsIlSBR4rsl69lK9LSCiM6wakHWAGtZVsXE54iEdBCZQhYIhEIJ6zek+G2UqgrlOy4QYb7APLd4B4Uhn2Lbx0kYGZuGjWvLn+PYfrHoNe0YSHRYKILy0A5wIMykl/LQcxqhtLklgCpRVOo2yNuUSiYpPdNTR+noZhEhmYD9qSV/hp1nil77kGBqtm56MjCarV9er1+arZEjR5Z4HyEEGzZsKPcya6XPVk2DumHfkLYYXKhZ0+do5ApwsxqVaMlFSBcBwFFtWrE0/U9l0TaL+fB4ki21ClG01djncSt2/rvuEbB2qaKbDKP0g067VOYEr1auiGLYWd7vp90yEbKRxePIini5JNJWUaii9lExqSCUejvT84xVqi3I0tD7SRGhf0mwNeZgzGVka/jYdGz+enrA1rWyaL9U1AxnZYHlO0L2iG2iTCPnad5a39A2i51cCfnM0DZqRRZACYQ8olh1oEpc57smifg5q/5+7r6gnkAHk2x1fSIwZOvnN2oP2ZIkCaIo4qOPPsKZM2fgcDi87i+PYXkgUe42Is/z+PPPP4vdfvHixXJF9dRFMM2LMvUnEdYyUgiN2/6B3QcvQgbtvsiVLF9ONlUNB25rVTy0lCqAp26DcxRvJ+z8dyKiM6xa27HdstrfnolOE71K49r3VgKOJrP22fFEdlErjm0zrYhOE92tQvW2EtqDR1MsOJ6UCM4FbaqPtwe2hcM5JcUKQtaI1pB/ZOKbLbOYqL7IudWI+DQMH5uOYbeznEZ13WUD89kKPe+CZFS8tzxWNTqt+reDIzMtWkoA72DXj8y24GiKhfmicYxo1YR1rS5Qgf22XWHsez8xOQmgzDPtaIqlyuJ9dKJVHJyj7McEHPWwjbhgwQJYrVbcd999uHLlChITE3HXXXeB4zjMnz+/XMs6duwY1qxZg8LCQgBAZWpT5SZbJb2Y3W6H0Wj0eV99AeckgEwUcuVRyJKhbbDq7ZpIXibug5hCgCJfztRaW5EvFde7dFhU8YOHWrk6YUlkBCIpkWmInER7zaI4Ni1Rm8Tz5cdUm9B+qegeEFXE4JRj2q2O892fa/vFpX/Gx6cmMk+uGeyAFZ0uujPqnKUTqEPzLACFF0kLBEYkpINyBJJZgCuUDRrHjFiKraumYmRsGr7ZPBPrN81EzIilGD1sCQBgU84MbP56uhY23fwH9uHsedmC/BYcnGE889riCFwhnGaoWlNaT0dmW3B4rgVykbnqY9MScTTFgnapYjEtna/vVm0b1yVEp4kgij7Ic/imrksFaiqqqpVeGuqjQP4///kPXn/9dSQlJUEQBPzrX//CG2+8gblz5+K7777zaxkXL15ETEwM2rdvj7Fjx2o50I8//jiSkiqWjOF3G3HFihUAAIvFgkWLFiE8PFy7T5IkbNmyBadOncKePXsqtCK1Gb7KwqqLs9ekj/q/erBXHLe97lO1VIq4HspDfHnlBAMlhRfXRrRfImqEkglYARB3VYu4vH2mStLNtV/C2oE1bVw+ZsRSyEYeRPlJS0YOkpmDIVdCfisDIk7Z2DbJMYKvVr6G3pGhRfAMeCAL3/3Hva31elqELCj6LTtF2Fmnptvq/7AV5r9cFW4tVvW21XGBiEPzmIkt5UomiNHpIjgn6pzRqWrESySmEQQQ8BxPHeVHMNuI3R4LTBtx35u1p40YFhaGgwcP4oYbbkDLli3x1VdfoVevXjhx4gR69uyJK1eulLmMhx9+GH/++SfeeOMNdOrUCXv37kVUVBTWrFmDxMRE7N+/v9zr5bfPliiys0FKKVauXOnVMjQajYiMjMTKlSvLvQJ1FScnJSHy5UwtuiRqRRYrZnEKv1KlXLI7sFeL9gEjAJyLBG0su/0SJZxYOfj5cpiuSh1ZUEAVPY8ENh2ozCyoE6SerUTP1lPRzMOaelBWq1aykQfnlEF4iq2rintvxYxaBnj4dKlECwAcEd7lzd0rLeg8SwRvA9CAQLAJmi7s+3crty1UNYlXBclHU1hSQHS6qIkUPUm0+n8gsy1rAiinnFQY3d91mxeydMJVnxCINmAtq2xdf/31OHv2LG644Qa0bdsWa9euRa9evfDjjz/CZDL5tYy1a9dizZo1uP76671ub9euHU6fPl2h9Sq3QH7kyJH49NNP0bhx4wq9YF1ERc9UPKtfxapg8NB5qdWvKsjeKwntl4gAcU90dZ4pwtGI3XdsugUdFoqQzLUrW639UlGbvFSnELVJTA8CDOKuWrVLFcEXshxBT5LVaY6Ig4sslY49CWR1Z9htGZAFAtMlJg7xdJUv6jI/akwqXCE8tnwxzev5ntc90Xkmm/oL+RNocMaJTdnT0X2KiL3La8/374noNHZyEYy2+KD7snDxJq7aK8Tq/qa6quQ6GIJa2Xo0QJWtt2tPZSs5ORkNGjTAzJkz8eGHH+LBBx9EZGQkzpw5A4vFgtTU1DKXERERgd27d6Ndu3aIiIjQKls7d+5EXFwcLl68WO71KreD/MaNG8v9Ijp8w9cZpuZ/pWiJAHflBZxHoPLzVhDZd+yL+pjK4Mgsi5e2xdGYTdEJ+ez64bkWRC13i8FrWkvNF2SeTaxpZxeeBEuFwnqj09l7JwBcoayNpmLgv7Jw8L9J6P2kCLl95U77AnkA3vLFNAy6NwuyiQdf6G3mU9DKhJgRS0F5DpKJAw+At8sYkZAOZziPbR8ngXO630vnmSIOLHWv24GlLNbH/LestWL3Lreg7zgrTFdlrYJWa8BRHJ3he5tVtXeVMQEedlsGZAPB1lVTsf3D6iU3alwXG9qpWisOHTqqG55k6r777sMNN9yAHTt2oF27drj11lv9WsbQoUPx7rvvYtGiRQCY3YMsy0hPTy/VFqI0+EW2EhMTsWjRIoSFhZVp6GW11j2haTChkqSoFVnK+DrxnlrkmDmpSrTUfL7oDCso7z5ABCKCw5DLwmYdDZlFgTOc4vAc9zJPTHHnAtaGjLVjMyzaNKWsBEirIdKelUWV5KptXK5IxI5kZA/c9Tp7v55Bzn0fs+LHN4v7bAUL2z9KwrDbM7BxjbeLfMh5J6QQAbxdAm+XwdslrNvKHjP0TjYBuymbaa8GPGjFgfcTvaKMADahaGvCwZDv/kB+fIu915iRy/yylKgpKO23QSRUyla93yNW/FBChbBawFFwdja8wyktdB31A4EQuNc2gXxRDBw4EAMHDizXc9LT0xETE4OdO3fC4XBg+vTp2L9/Py5duoRt27ZVaD38aiOOHDkSq1evRqNGjTBixIhSM/zqY+WrqsvCHeeJOLTAok0hOsOpu/1YJO9Q9dGBzKbiAkWAojOY2LaoEWd0Gms3Uo5qwcY1HZ72FarXkDolqonlJeJFxqpqRL4qUVJA9YiEdAgFLlAC5Eaakd+SoPlOOzasY1mIw2/NQH5zHpKRIPdGb2F5XdI1qb8nX9VFTwJdF6A66quSBd3wtfoQzDZi94cD00bc+27taSMCwHvvvYeVK1fi5MmT2LFjB2688UY8//zzaNOmDW6//Xa/lnHlyhW8+OKL2Lt3L/Ly8tCrVy9MnDgRLVu2rNA66aamAUBV/3ii00WAAsZcpplxhQJ5rWmx6UY2WQeAUE2X0TbLWmzKrjJov0QsJhDvkizC0dAtPq/Kg1TsgIVY+93cSi/Hi3DxTHvmi0h0nyxi7wr3beqEm/pXha/PpdMcES2/YySm/RL2ejVFXB8zchk4hwQqcPhm80wMui8LhlwJm7+ejoH3Z8HegAPlgYLmgPEq8HOm93oPui8LtkYcCAV2vVYz3lNFoBqjHp5jqXMEyxPtljHLE/W96qg+6GSravHKK69g7ty5eO6557BkyRL88ssviIqKwttvv4133nnHr4LQmTNn0Lp1a5+FpTNnzuCGG24o93qV22frscceQ25ubrHb8/Pz8dhjj5V7BXSUjWPTLRBsAF/IKjEus+KL5WkXQdxWEp4C2ONJiRqBqKyXULtlxQmFCt7O2o5CYaVeokyoLuiVRdF8suj04n5MALyIFsA+Y18+Z74+l4OLLFq16Mgsi7b8yvikVRQxo5Zp/48etgTrN6ZANvIApRg1JhVEolq7wJAnY/dKC4RCipALgPlS8fOx7R8mYferFux6zVKtQbuVxZGZFhyeY6mW7ySYILLSHtVRr0AoDcilNuGFF17A66+/jlmzZnm5JvTp0wc///yzX8to06YNLly4UOz2ixcvok2bNhVar3Ifud555x3NTdUThYWFePfddyu0EjrKxqF5FvycZcHulRYthyvsdwK+kAUbH09kJqUq0er9lIiOC5i7eZdkRewtEa3CUhEUPetXD1CSGTg038Jcx0MrvHi/sG7b7IAs5/Ac5qDNuaBVBv2pahyeww7OalWrW6L/n6daUVCrKMHE+g0pGBWTiuG3ZmgWEI5GBsgGHsRFIdgpNmVPx6gxqeBtjBX++GYizJdkGK/6YKEe8Azara3wtDzxRF0iYZSUr6rV5oUstHkhuCHiOgIMGqBLLcLJkyfRs2fPYrebTCbk5+f7tQxKqc+qVl5eHszmilUK/Z5GvHr1KiiloJQiNzfX6wUlScLXX3+NZs2aVWgldJQfnhqim6YXPyDses2CHs+K+OlF9+ManASulGN6rmirrCgOz7GgS7IIjlfaaHOZn5FKJGpDS+bwHNY+rOhZ/z5r8ffYcb6IQ/NLf+9ECr4uaMN6VmVTfbLym/PYvZpNEY6MTUOfx60IFzjIBvdOJvRPp1adKwt7l1sw8P4s7PigdloLyAaWdxmdYQXnIDgyy1JnWm7+tq89t0ndj6tstPt4MY7eE5gTQB2BQZs2bfDTTz/hxhtv9Lo9JycHnTp1KvW56gAgIQRz5sxBaKi7eiBJEr7//nv06NGjQuvlt2aL47hShfGEECxYsACzZs0q8TF1FUV78L2eFrF7Zc3aSXt6IrVfLLKKDgEkU+XF351nigAHHFjMltNhkajFp5RGJsYMXqxVqmL7LQQ1cAGrXJUXRSfv6hNGxqYBBMhrZQDlgIYn7HCF8iASxaacGdW9ekGDZ3xSfd0WotOYtqu+vv9AIeq/S3HiX8WHU4DgarZ6PrAkIJqtPf+ZVWs0W2+88Qbmz5+PrKwsPP7443jjjTdw/PhxLFu2DG+88Qb++c9/lvhc1dZh8+bNGDhwoFcEoWrePnXqVLRr167c6+U32dq8eTMopRg1ahRWrVqFa665xmslbrzxRrRq1arcK1AXUNqPZ2RsmhZvUpPQYSGr5kghrL1QWQF9lxkiTFeY47hmHgqmjSqrOhA7YCGIRLHmx3nabZ6O5zoCD1/bpVrxGvKPTFACbPuklnlnBQCelZ26FFXlL9qlKtFGNdzGpSrQ9sMlACU4/k/fJMnv5fzfUhz/50y0eX8ZTj5Y3A4lqGTr/gCRrQ9qD9kCWD7i/Pnzcfz4cQBAq1atsGDBAjz++ON+PX/cuHFYvnx5QN9vuacRT58+jdatW4PjAiNUrgsIxo+nKtF5tqhVpSqCTnNFyAY3qeqwUNQmJSlXcybwdBTHiPg0UJ5g81fMY2tkbBpkA4FQIKGwmbHaDTl1BB8q4exmEbFP9P3brfXRXVWINv9ZBurkwP1t8GkuHUyy1etfgSFbu/9bu8iWioKCAuTl5dUIiVO5GdONN94IjuNQUFCAQ4cOYd++fV4XHbUPlSFaAHBwobe25fBcdp1zApyj+OMH3+Mtuo0dsLDU5cf1XVCp9ast6D45+GJsTqKac/yoMamQQjiAI3A0MmD7h0kYPXwpABZWDbCWcae5bD0HPFhzDYw9sy0rtZz0uiOQ9xvKiVJJRAsAaLmzR+oPTj6QglOPzghatJoObxQWFqKgoAAAEBoaisLCQjz//PNYu3Ztta5XucnWhQsXcMsttyAiIgJdunRBz549vS46dACsBXNwoYX5fhWB8Yq370JZvlme7cW6jKI2EwD7HKtyIm7DumS4QjmMjE3DhnXJ4BwUm7+cpgVSX+oUghHxaeAcFP0fsuLAUgsMecDwm9Px3fs152BSlMDzjsoRLjWypz6204gEr6guX5BDSp9Q1VFDUA+nEW+//XbNGeHy5cvo168fsrKycPvtt+OVV16ptvUqN9l67rnncPnyZXz//fcICQlBTk4O3nnnHbRr1w5ffPFFVayjjloIzeZgrvtg1XMi24GrWqGuSWUfDEcPW1IFa1e7UNW6oW8/mwbZxHYFf3cwYER8GohE0S2RhU9vypmB/FYCnGGs5LHPatHajjUF2z72bncenmMBoRWvTHnGXtU3HJllKTM78dT4qYh8LSNIa6SjolDjeip7qU3YvXs3hg4dCgD45JNP0KJFC5w+fRrvvvsuVqxYUW3rVW6ytWHDBlitVvTp0wccx+HGG2/Egw8+iPT0dCxbtqzsBeiot9jzknsH3mGRCFeYou8qBfVRJN9hoah9LkJe1b1OzMhlGBXDQlt5m4TRw5ci7A8ZIATmSxL2WS3Y85IFnWeLuNyBDT/UJgPTo8mWSlemakPAenXh1FPTELkys7pXI6jotHoB2rxf8ePcjW/oBLWqUVBQgIiICADA2rVrcdddd4HjOAwYMACnT5+utvUqN9nKz8/XxGaNGzfWXFa7du2K3bt3B3btdNRdUEXrNbf+tWnKwuG57s9FqkKTWM4pa95bG9YlQxY4bP8oCY4GPGQjwfCb09FrggjTJXcus2pgWtfhaQNRL3VbfuLU0/VrYvXgnfN8Thj6i9NPBDmgvB62EaOjo/HZZ5/h119/xZo1axAbGwsA+PPPP6tV4F9ustWhQwccPnwYANC9e3e8+uqr+P3337Fy5coKBzTqqH/wh2TF9Z7HPKAArQLjC2OGLKm17cZeTxc/kHdJcd9WmqlsZUEkprtRRfAb1idj+K0Z2P5hErZ8Pg28TUbEGSf2vGypc5Nng+713xm9Puq2iiLydf8rMje+mV6Fa6KjvKhPLUQAmDt3LqZOnYrIyEj0798fAwcOBMCqXNWpKy832ZoyZQrOnj0LAJg3bx6ys7Nxww03YMWKFVi6dGnAV1BHxdFxXs0/I+81QcSg+7J8Rr2s2bUAG9fOwMjYNBCZYkQ8I15jBi/2ehxX6ACf72PssRyI71H5cOuKQDW/HfgvdvDv87gV+5cF5+C+dsccZiZL4NVOBFiLUTYQgPNtZFwa+a0NsDUufddnvByc9agtIDYOkS/p0T06aj7uvvtunDlzBjt37kROTo52e0xMDESx+o6J5fbZKgrVAuKGG25A06ZNA7VetQo11WerwyLmf1Ub3KAH353p00SzqPnmyLg0bFxT3CQ2ruc8rNlTOYuIMUOWYN3WmqkR67BQDHjLVSWYcogBxCVDNvIsnFrB+o0pGHZbBlwhHLZ/mMSmEp1Uaz3q8EanuWwCty4iakUWZIECBCAuUq4on8jXM3DqySC3z2owgumz1fuexRAMlfPZcjlt2PXx7Bp3fKttqLQzaWhoKHr16lVviVZNBuVqB9ECSnYr37h2BmJGugWpjgYCRsWkImaUt0i1KNGK6z0Psf1K9+8qippKtAD/2q7lRc5PC5Hz00IQlwwqsKgkIlNQjniZ0jrC2RXKE8hGDsNv1UW+vlBXiRYAnJichFPPTAU4gJplbRKxLMF35FvpdY5oDVybjMHral4qiC/Ux2nEmgq/rOnUcEZ/YLXWv1HpQKH9UhFHZgZuh03riMn/+o1uQeq2j5Mw9M5M8IUSxgxajHXbfWcprtnlJl+xAxdh7Y45Vb6etRXEKWleZt9snokxgxYDHMGYwYth4gmEQrab4FwU+S0MCP/NgT5PWLHzjeL7hZiRy7y+Lx3eqGxaQ3WDz+NADRRyiIwb/52ukfKScGqc2yIk8u00nHq0dpCU0rAjtna30HVUD/xqI6rhjGUujBBs2LCh0itV2xDIsnD7xSKOzLag/RLWW9ajbopjVEwqnA0EfLvauxqmkqrYAQuLGaXG9V1Qb8xRK4L47nMASkF5HoRSSGFGEKeMtT+wz3FUTCokMwdHQx47Pkhyx/oUSqA8wYZ1rLXoGS6uo+4i8uVMIERmZY9CHqcm1K+pxMogmG3EPv8ITBtx5yq9jVhZVFqzpSPwP54Oi9xBzoRWvallXULsANYWW7NzfnWvSpWg82wRnB34JaPqton47nOQs3eRT9KqotcEEY2O2QEZkEwcNn9ds0xOqxLqCVF9x41vZACEgvAUoMSriuWJyHdTcerhZLR5IatcWq+ahsj3UnHqocrrFYNJtvreGRiy9eNqnWxVFjrZCgAC9ePpsEj0CnOmHPSdeiUR13sepHATvtk8s9THjR62pF4aqJYEz4GD+G6zIYWbQSgF5Tms2zoLo8akgrgocm8wIeys02uIQUf9QuRb6QBHQSUCIhFweTykhi6cfqz8BPzGf6fj9ON1m7gHlWzdESCy9ZlOtiqLOqLqqSPwoL2H55YdmVHbMGpMKsYMCa4f1ppdC8okWkDtcaofcldwHLs1otV1FnL2MW0ccbjA59owakwq+EIJzggBP7yTCM7htosAGMHVUX9AJQIqqUMUFHITJ4hQsezE049PR9sst+63PP5eOnTUZNQ6smW329GjRw8QQvDTTz9pt586dQqEkGKX7777rtTlnTlzBjfffDNCQ0PRrFkzTJs2DS6Xq9TnVBUOz7XUCm+simLDumSs2zoLfZ6o3BBFeacM6xK2fhpcbUzOz0sQ35URUSJR5OxdBOO5XM0QddSYVKzfNBND7srE+o0piOszXxtOiO/m1m7FDqi/31lFcNO02rMfOP3ENK2KRQQZhJNZa7GCOJ6UyDRhQJ2bZAw29GnEmoNaR7amT5+OVq1alXj/N998g7Nnz2qX3r17l/hYSZJw8803w+FwYPv27XjnnXfw9ttvY+7c6jG47LBIBPVrPrR2g5IyRpjKgCrarkqMjE0rVkXq83j9nLTN+bl4NZIrdCLkbAE4u4TYAQthvujAsNsyIIUaNDf/nH2LNfNT4qpYpaO+oio1eVWF049NZz5cPAXh2BE68tWKVWJPPeM+qWjzom6mWmFQGpiLjkqjVmm2srOzkZiYiFWrVqFLly7Ys2cPevToAYBVttq0aeN1mz/Lu+WWW/DHH3+gefPmAICVK1dixowZuHDhAoxGo1/LCaRmi8huywZdGO8fRsSnYVNOcc3QsNsysOWLip8ZDx+bDt7JSII6bafDjZFxaTD+VYA1uxYgru8CyEYenEOC7doQCDYJnEOu0d5lOqoGUR8sBZUJqMwBoCBXDOUWxkc9b8WJ5+pWRJSKYGq2+t22KCCarR++mKNrtiqJWlPZOn/+PJ588km89957CA0tOZ33tttuQ7NmzTBkyBB88cUXpS5zx44d6Nq1q0a0ACAuLg5Xr17F/v37S3ye3W7H1atXvS4A0CvtJXRcIKLDwoq1AA7PsYByAJFQ68I/y4vOswLXJilKtFTTzS1fTMOg+yp+Vkxkig3rkjWi5Rnpo0YGxYyofxFVanvQdDYXxMFa7sTmwLptsyGFCDBfKIRs4EB5gth+C5lvl4/n66ibOHH/THdYM0GFJhBLI1pRK6q/0hXXZ351r4Jf0NuINQe1gmxRSvHoo4/i6aefRp8+fXw+Jjw8HFlZWfj444/x1VdfYciQIbjjjjtKJVznzp3zIloAtOvnzp0r8XnLli1Dw4YNtUvr1q0BAETplBAKdJzvJhOd5op+abE6zWWVLdUosOMC0etvbUHnmWx9O80VSyRVlAO6JLP7O89WHj9HRLfEir9Xte23+ctpWvtq+4cVHzXflDPDKwPQ1cAEgPl5rds2G2MGLcb6TWWL7+sacvYt1v7m/MxCwKnZXQWmAgch1wm+wAkpzADOKfl8fl1G1zK248ps57UFpx6egVMPJSPyvVTc+GY6m1qsBKJE1sY/Mbn67SNqjbUMDdBFR6VRrW3E5ORkpKWllfqYgwcPYu3atfjoo4+wefNm8Dzvd8vw4YcfxsmTJ/Htt9/6vP+pp57C6dOnsWbNGu22goIChIWF4euvv0ZCQoLP59ntdtjtdu361atX0bp162JlVk8rB1/oOF8ECHBongVdkkXsT7W4iZUMRoUV30C1tXhofu1pLXaao7wXwqJMOs8ScWCJBZ1ni1oFT70uC2A/alKx91hWruGg+7Ig2GRwDopN2ZUfLR8zeDGIJJfoQ1XfMWbQYnCKM31cn/mgAgdil9xTjl1mgRoFEFlGzt5F1by2wUfnWWybN+YC+6y+t/feT4nY9Vrt+b3r8A/BbCP2vyUwbcTv/6e3ESuLaiVbFy5cwMWLF0t9TFRUFO699158+eWXIB7CakmSwPM8HnjgAbzzzjs+n/vSSy9h8eLFOHv2rM/7586diy+++MJrqvHkyZOIiorC7t270bNnT7/eh+ePZ+Cyf4O43AJXdarIl+BVJVhF0WmOCEIBmQc4ZTBSNih3EjAiRgDOCRAXsD+tZu+Qu8wQtXX0rHRR3l0NVCNMOs4TwbkAWQAOLaj4+xp4fxZ2fOB9BlxS2LUnRo1JBZHYT2L9htJjZ/wJro7vOsunwDwQUFuZNcWxPa7vAlBCQCQJxCmBGgXIRoFVtigFCAFk2StKqa6iS4rotR/whEq0iAwcXGTxOunqsEgEKPtt6OkRdRPBJFsDbg4M2fruK51sVRa1QiB/5swZTRcFAH/88Qfi4uLwySefoH///rj++ut9Pu/JJ5/Erl27sHv3bp/3qwL5s2fPolmzZgCA1157DdOmTcOff/4Jk8nk1/qpG3b7xKU4nJWCrlNFQAacEYwsHVhi8SIcAGuxqS7x/lRzOs8WGeGibCdNiZuMdJ4pgvJsx11T0Wmu6BXUq1a5Os5jrVMiAeAQ1Ny4mBFLAUJAZKp5cQ2/OR2ci4K4KGQjh03Z0xEzaplP4lWSML8oEjqlIPvgsjIf5w/ies6r0dWg+C6zQEMMWLNzPuK7zoKzSRh4m6LrUicSKYWzUQg2rE9m+i1CAJcMQimyD9QNDdyAB6347v1E9H/Yiu/f9dYfdUkRtZMntWJNOQBE+UsBKJVfSnRj47qGoJKtsQsDQ7a+nquTrUqiVpCtovDVRnznnXdgNBq1atSnn36KOXPm4I033sC4ceMAAKtXr0ZKSgoOHToEgFXHevTogVatWiE9PR3nzp3DQw89hCeeeAJLl/q/0/f14/GsWnV/TsTe5xVipLTQALZjPTTfgpumi/gl3cIqWhKrYpVU1VFJ2qEFFnRLFOEKZdUt2cAuh+fWzB1zpzkiOAcgK/zVM46IeLgCyLz79oMLGRk7tMD9NxAYPja9WLyMZ3aien/MiKWQTTyIi4LyBJxLxvoNKRg+Nh1UIBWadIzvPgdSuKnMapSqezuwtGZ+n6UhofNMjTTF9ZkPUuhEzv4lzGtLBjiHC6BUI4xxfRfUm4qXJzrNETV9JuW9iRflGdnSq1t1DzrZqp+oU2QrLS0Np0+fhiAI6NixI6ZNm4a7775be97bb7+NcePGwfMtnz59GhMmTMCmTZsQFhaGRx55BKmpqRAE/w2v1A2784Sl2P9y6a2nzrPdFS3VU4sStmNVpz6IxHa4ZVWqOs9iZ8gqWaEEzOdGqplVrs6zRchq61D9DIgHsZovarottYJXHe9jREI6DLlOrUU4IiEdvF2CK4TH5q8YSauMrYRnFI6KwXdn4uqNPAQbYG8I9hkon8OBJTXvuywv4nvMhauhGXyeHUSi7P98ByDRYp9FfUOnuaK7sqVUt6iqYVSg6jaPJtfsbWFEQnpANJF1GcEkWwMTAkO2dmTrZKuyqJVkq6ahMj+eTnPdBEPd4UJm7UfKMcJR2sFWnXLUCJfAtB81FaoezbNd6NlSBKCRDHCVfy+D7s3C9o8qP700IiEdRKKgXHGrCRWjYlKxYT2ziYjrM9+viaWYEUtxrn8I9qexCiflgP2pbJigLpEtFfFdZwE8D2rg4WhshunPfNhahMF8Nq/GtkaDAc9tn/KAZGS/aW3sXma3H02pO9tCfUVQyVZ8gMhWjk62KotaYf1Ql3FwoQUHF1lwcKEFh+ZbWIVLhvuslkKzR7hpevFx8UMLLFp7TW1DBNLDKtA4uMhSTJclC6xtRqjyfuZb3IMAqOSYfOXM6jVsyp4O3i55tTyLggruF5PNhpIf6IFzAxnR6pLCdHcA0/R4Qm0p1gW4Goci56eFoDyB6XweZLMA87l8UCMr8yZ0SkFCp9Krw3URWrW3yPZKCXBkpgVCASNe7ZeKaL+47mwPOqoWus9WzYFOtmoYVPJ1YKkFQr5bs0NcKPVAf3CRQro8iVotwaEF7P16CugPzXeTyJJG4/1BRX22fJmVfrN5JjiXjFFjUjFqTGqx+zeucVe81m2dhZFxpduaAMD+Zd5EeX+qhd2mkk2lwldXYLiQBwAgdgk5excx6wxKQQlBfNdZARskqG04uMii/W6JMoFMOfc08oGl7vvBMVsZHTp01B7Uod143cPPCsk4sMSC/akW/Jzpm3R0meHe8arEpVuiiG6W4jvkTnP1nbQ/UM1KVTd69e/6DSmQDBwkI4fhY9MxMrY4oYoZxQiDSr7USk1c73leLvSeOLCEkSy1enlgsYWRa7VaWUeqWyqZkhq4J31z9i4C53BpFhnqYxI6z/T6W9dxaIEFh+axk4xjMxjhlj2koyohVyu+dTm0XkeAINPAXHRUGrpmKwAIRg++LHSaI8KQz3bOv6S7pyBlARpJU0fOPStIOhiG3ZYBycRh28fFK2Ej4tNAeQLZQGC86oJkYv0+2UhgvOzUbCMANslIKGs7xoxcBiLJ+GZLxby4uswQIRvdur3uk0W4wtzVsNqO+C6zkLN/idd1ZnnAKl2e99VXdFjEdHy8DZCLRLUSl++p5dgBC3Wz3RqMYGq2Bo1eEBDN1vZv5umarUpCJ1sBQE0gWypUGwkV3RLFSrXh6juG3pkJyUAg2GRt+nDY7RnY8jn739NGYvTwpXCFCto0ltpGFPKc4Aqc9X7qriSoZDO+yywQlwQ51IQ1exYgoVMKKMfKOTTUqFlz1Dd0WCRqU7uek8fEo+1YE6ePdfiGTrbqJ/Q2Yh2DJ9ECmN5JzR7UUTI8A6vVjEXA7fslmTgMvicLA/+VBb5QxvCbWc4bkSmGj2X/u0J4L6LF2SVwDhmOa0xwXhOCmFHLNNd3T/R/yFpVb6tWwLOql304lRGt9jOQfXAZiNMFIsvMgb4ewpNoUR4Q8qBpt2TFm0s2AB0W6r9xHcVBEACBfHW/iToCvbIVANSkylZdwuC7M8G5KL79rGJ+VoFE/4et4G0UBc04/PSiBYPvZoRMjf8ZkZAOUAreJgEcYSaoDhnC3wVwXBsOIslwhQkw5Lm82o6+0H2yCMnkO+qlviGh/QxkHyl70KAuo/0S0T0ooeytNYNgpdpFpNqVm1qfEczK1uCY+RCESla2XDZsWz9fP75VEnplS0eNhemKC5KJw7DbMzDstoxyP99zcKCiUKtcvI2CCsBPL1ow5K5MSCaCbZ9MxZC7MjEyLg2bsqdjU84MrN80E5xDxoZ1yeAcEijPw/THFfB2CZu/mg7K+z5P9LS32LvCohne1kfEd5+j/Z99JA0J7WcgoX3ZsUh1FUdmWQBOqbIq9hDq9qG2FWWBCeY7zi97m/f8fHXo0BEc1ONduo6ajg3rkv1+rGoICsIE5L2eFtHw71K8MopgwINWcE6K7R8meRmhbv2UVa48jVGJTPHdf9jtlCewN2I/I9XUdN3WWSxPcYf7oBbbbyGAksOtXSHu/zvNEcHBw2+LwmdgeV1FUXNTtbKlEq76WOk6MtPCKlyK0S3lAMnIylxCoULglcqXahJcEuq6eWybF7JABQoiEZx81j/rlz6PW7Hz34llP7CWIRA+WbrPVmCgV7Z01Hr0eJZNXYKydkrPZ0Q4w5nH1tA73forT11WUXz3fqLmybX9oyQv3dbA+72fRzl3dWrbx0nY/mESRsSnYcP6ZIxISMfQOzMhC5yXLcTaH9h0WEJ08ZbooPuywDmBnhNFdJ8iavocwB3B1CXZt6ltfYBqnUFNQolEqz4YoRIJEPLhjrQCwLkIiEfihBp8X59xclISiIsAlBEvfxAIojUiIb3Sywg4aIAuOioNnWzpqFUYfnO6z5Yi51LO4lysSqTaXcgC0QgX76DlakcOeIDtqHd84H12zEls7zPs9uLL2pQ9HYarLkW4TBAz0tukM/tY8ecYr0qghK23ZGIHVcgeE2ceO7suyW7CddO0+kG+VN+tM7c31W7rOtX7vVMDz6KA6jAOz7XAFQIcmW3BkZkWHJ+ayLISlW2ElGBoXB8NUE9OStIu5YHnCdKI+PJVUPVMSB2lQRfIBwC6QL560XecFfbGhBGtUGitRBX9HrXih7cT0WuCiJC/ZJ9eWr4w+J4sEJli6yrWMhzyj0xQjkAWgB3/TWJkiwJbvpiGYbdnMKGyUwZvkzRT1PKgx7OsFeoKUSpbxCM1wKOaUVd8tiqKhPYzcOauFqAc0GyPUzvIleRXpj2vQzKyDxd3/q8raL9Y1AKrocT8eN5HeUbkj8yu39uPJ7o/J2Lv88H9PIIpkB86Yl5ABPLfblqgH98qCb2ypaNGY9SYVK+Wnid6PMvO2M2XZYSdldHwtAvGXAAyvFpuBc0YS9n9iqVMouX5Wts+TsLWVVMx+O5MDLo3C84wDrLADmaD786Ey8wxonVbBmSBABKFZOZAeQ5D7yi/oP+nFy3uceuiGZmKVodIZS/HV3KAPyhaLaqpyD6Shv2pLCnBs5pA8u2lP68OEy2AkajDcyzadqLaQbRfzLReRAJAoGcreqC8RCvyZd/7ohoLOUAXHZWGTrZ0BBVF9U9lYcO6ZE2kXhQ/vch2lN+ungpnGMGWz6dBKKQQbG6/sS4pzIXdM5xb9cjyBfW1PFuE2z6Ziu0fJcGQJ4NzUnz3nyRwkqIJuyNDMzuVQji4QjhsWJ9cObsKVdSqki2PC/UYZhwzqLhnFwDsE8t/pt5rvAiZZxOcPZ+pXQdjVQeXfaKWHQirCEdmW8Db2DbUYRGrdmltdhkQCqt7DWsxQmoX8yCUBuSio/LQpxF1BBU7PkjC6OFLi3lN9X5SRMRvTmabsN49hag6tA+9MxOXo3j8nOVNJIbfmgFHOIed/2UVqx/fZEJX1UnfV8ut8NqyN3vVId4TnkTsW+V+3s5MTQUaGM1Gw1MubP5yGroki263cCimlopYXsW67bO9ntv3Mav2/v1Bz2cYEd37vAWuMHYgphyw5+Xa1Wb69a5W1b0KNQ6eIvmO80XwNuWKUuHqOlXEz5kW9Jgk4qcXatf3XRXoNEfEwUUWdJrD2q2hZ4Hdrxb/XE6N03VZOioGvbKlI+goydRzU/Z0jWipruyykSC+x1x8u3oqQIGuSd5Vl81fTgPlmPai+3Pu+4o66asYeH8Wws46tbBof+H5uioRG3Z7BjZlT8fmr6eDBCisdfOX09AtUfSKZeEkRoKI7KHh8oEf30zU/Lq6JorFPqui2POyRWtT7rNaYChgFRCg9rQUAeD6NZcAuAcadDAMH5uOwXdnosX3TshGwBkBSEq+omRm1V5747oTcl4ZHFzEQuB5OzOHVYnWkH/U8mqpPo1YY6CTLR01Arte9yZHat7gt59NQ85PzKPKkO9NNlRyVdiUYzsEPyr8Oz5Igq2JAFcIj1Ex/mt4ilbUAIAvdL+gLPg2K+0+pfwHsn1Wi9YyDLlIIfPK+yYlk60BD1rdzwXws7KM7pNLf/29y1nAdTeLiD0vWdzvU2YtxS4zmOWEpwau58Tiy6yoTiwQUH2jCq/l0CVZdPuTgU1sdksU0XmW6NVKrg/Y/PV0bPtkKpuQzWXtQ6HA3YomLoBzsv87zxLRaW7ZBL0u45d0S7GTNHU4ptaC0sBc/MSyZcvQt29fREREoFmzZrjjjjtw+PBhr8ecO3cODz30EFq0aIGwsDD06tULq1at8nrMpUuX8MADD6BBgwZo1KgRHn/8ceTl5QXkI6ku6GRLR60B5QHezkhWNwvLjOs5UYQhj+0MqOD7oN/vESsGPJCF/g9ZMeQfmTDmypDMHGRDxVO/ht+cjo1rmcnmiPg0bP7Kd3th7/IKtmgU2wfZQABOmTArotnyxHfvJ6L7ZObTpX4GhDI3+jLBsYOu51n8z1YLjLkehoYeVcU9L1k0ottjkqhVwaqTcAGsHco5AEOu+7ZfMiyQjABf6N9wQW1Fz4mssltSasI+0YIDiy0QlHYicbHfCyUsW1E2MCLP26FnqeqoMDZv3oyJEyfiu+++w7p16+B0OhEbG4v8/HztMQ8//DAOHz6ML774Aj///DPuuusu3HvvvdizZ4/2mAceeAD79+/HunXr8L///Q9btmzBU089VR1vKWDQrR8CAN36IXjoNV7U9EXqJNHwWzOw+ctpWhVHNQQFcVd6BjxohemKBOKUQQ0cIFHIRgJCfeuzSoOnjuzb1VM153jPdakMYkYsxYWeIcyoVXk/6mQioW4PsZLQzSJqeXnqEEFJ6PmMWKpGq2uiCCoAvM19cCZU6Sxw7nVR25dE8QeriEg/UOiSIpZoj9HnCSt2vlH3nMLVqp36vZfURlfRY5KopRZQjvm7yQb23fJ2aK2j+m6QWhUIpvXD8EFzAmL9sHn7ogqt74ULF9CsWTNs3rwZw4YNAwCEh4fjlVdewUMPPaQ9rkmTJkhLS8MTTzyBgwcPonPnzvjxxx/Rp08fAEBOTg7Gjh2L3377Da1a1U6Npl7Z0lGrsPtVC/ZZLV4j23ktBfScyEgBOHag3ydaNKIFsMqPrTGPguYGEKfMdFYVIVo3p7tbnKtZi+Hvjibt/qJEK67vAsT1XeB1W1lmpOs3zdSsH3gHuxC55NgMz+X1miBin2gB72BEq88T1lJfa8/LFi+tW1H8bGWtFZX4cRIjsGqbsqtCsvZZLSAyy+gDYbd75j0GE6X5kNVFogW4hxvU76lrEmubdp8iat+RJ356QbGIcLEoqEMLLDDksQogwLzeXCFAdIaVxQTpqJ0IYBvx6tWrXhe7vXSrFQC4cuUKAOCaa67Rbhs0aBA+/PBDXLp0CbIs4//+7/9gs9kwYsQIAMCOHTvQqFEjjWgBwOjRo8FxHL7//vsAfjjBhU62dNQ6DL4nC0P+kakRiV2vWSAbWPto7/MW9B3Hbi9KNL5/NxE/vJMIRwN2ROLsslecjz9Q24VD7srULCT2vGTByLg0TdQ/IiFds2UgDhfybwgrthx/oneMuUxjQ2RWQeJcvtuIv2RY0PtJtjxVAL37FUY4JJP7Cb2fKvk1+z1aOikT7ErriWNVLLWl6Lk6e5+3aK26mp6n1mlu3SIQ+5dZcHCRRauCqqTXFcoqVr4I/i8ZCmn2gEbaDKySeWxaIo7MsqDX+Lr1eekoP1q3bo2GDRtql2XLSh8ykmUZzz33HAYPHoybbrpJu/2jjz6C0+lEkyZNYDKZMH78eKxevRrR0dEAmKarWbNmXssSBAHXXHMNzp07F/g3FiTo1g86ah22fZyE/g9ZIfMEvSaIgAyEXZYhKIL1H99i1Qu1ijH85nQvTdX2j5j7+5acGRUyHwVQzPtLyHVi3fbZiBmxFKZcO0AI4rvPQc7eRYjv5m3R8EuG4gGm6Gv2pxWvxFABMF2RUdiEw97nLeg+RdTE7F0TxWIHSRBm/cCbvNnYnpcYESs6gOAJ1Rag6ONGxqZpujTKAbIRgKwQLApWRSwyOKC2D7tPYb5d6nrXNBxcaEGnuSKIVLdaZYfmV/y9qGHnbTOt4JwEpkvu+3zZINQHjIpJBTiAuCjWb6x9+ZtlTTD7uwwA+PXXX73aiCaTqYRnMEycOBG//PILtm7d6nX7nDlzcPnyZXzzzTdo2rQpPvvsM9x777349ttv0bVr18qtbA2GXtnSUevQ9zErvn8vEbtftSDitBO7X7VAsMmQjESrLqno/ZToU7yutg8DUYEZGZemeV6t3zQTkIE1O+fD1ZBpJVyNQnw+j8juabCiEAqYaWron6xUJBuYHcPeFcWrEQCr7kkmgt2vWBgB9bzvdeantOs13wfM3Sst+OHtRO8yFQBXGI+B/8rS1pUv0jUgEtP+qML4HpPY3yH/yMTe5ayVqS6z+3NihSYzqxy0emwutAGDZ2veZ3J8aiKOpli0k4L6jA3rk7FhXXKtJFoAAtpGbNCggdelNLL17LPP4n//+x82btyI66+/Xrv9+PHjePHFF/Hmm28iJiYG3bt3x7x589CnTx+89NJLAIAWLVrgzz//9Fqey+XCpUuX0KJFiyr4kIIDvbKlo9Yh9JxLE6kb8pwYEZ8GjhCf+quSCIYKzlF5trVxzQyv62v2MI0WX8CY1DdbigckD70zE7+sLnmsfPdKtt5e2YhwTwT6sqKgyqmT2kLs8azIRM8SsFcxruz+HPMS2v1K8YrXrtcsGH5rBoR8F9ZvSNE0aYPuywIfzlgTJxDWYuLdLSehwE20APe4vCrO7zVBBIwACHucLACCza0vqi5TzYMLmYlltfgIUeW7qCUTkvE95gJOCTn7S86e1KGDUopJkyZh9erV2LRpE9q0aeN1f0FBAQCA47zrPDzPQ5bZzm7gwIG4fPkydu3ahd69ewMANmzYAFmW0b9//yC8i6qBXtnSUSMw9I4MxIxY6tdjJTMHVyjbdL/ZMguykfNyby9tOSPi07yu510neEXzBBJrds4v8T5b45J/eiPj3OsoFMoYkZBerOrkC3te8iYtP71oQdh5GXtXsPZjj0ksdNcVwiYWJR9DSpu/nIb1G1IwKiZV+1xcIQS8A9j570RwEtVaE7wdCP1Txu5XWTzMTy9YfPp67X7Fgr3L2VDDTy9YEHKRwnRFhlBIi1XLgg0is0m86gDndBPOmo6cnxYGlGgldC5/UHtVI77LrBJzWGstaIAufmLixIl4//338cEHHyAiIgLnzp3DuXPnUFjIJi86duyI6OhojB8/Hj/88AOOHz+OrKwsrFu3DnfccQcAoFOnToiPj8eTTz6JH374Adu2bcOzzz6Lf/7zn7V2EhHQyZaOGoJvP5sGEP98r7Z+OhXbPnFXhajHVjwyNg2yiffxLIZNOd5VqNALUrknErs/J5YpKB89bAnies8DAIwZXDzDsMmuv0t8rmelzHYND2c472X3QDymAMvCjg9YjBHvUMiQ2spTPupeT/tezob1ydjy+TQMui8LRAZcZoLeT4pwhRDseZmRJsoDhU04dH9OhCsUXssFoIn2PdH3MSskI1svwQaYL0nF2p7BxIElbPCgrAnRQGPvcgv2vMQ+x14TxBrZTqwqxPWch+wD/p1YBRM5+5eUmMNaWxHsbMRXXnkFV65cwYgRI9CyZUvt8uGHHwIADAYDvv76a1x77bW49dZb0a1bN7z77rt45513MHbsWG05//nPf9CxY0fExMRg7NixGDJkCF577bWAfz7BhO6zFQDoPls1B0PvzASRabkJVFnoZmGWCurfshAzchkMfxci56eFGDNkCdZtLd5K9AdD7srE1k+nMnKlGJuClO21FUgMui8L2z9MQr9HrJBMBK4Qbw+vnhNZa5DybP2IxMxU+zxuxc5/l2y10GuCCEkx0yzLD6wuo/tzbMjD1+fQ41mxRn42cT3nae1yHf6j82wRdmLDicUzg+KzNbJ3SkB8tjbuWqYf3yoJvbKlo8ah/8OlV41GxqUhduAin/dRrvzeWf5gn2hBt0RRq6J1f05Ez2e8qxFFBeDUwCpsxFFxYY4jgkP/h61eXcSfM32366oMyumYUEhhyJexd7kFVGBEoNd4NtHHOZnXlmp6CqBUojV62BLWXlzB/Ll6TmTVnaKfaX3A3ufZ56Ca8XrGIdVEogVAJ1oVhL0R9UsSoKPuQa9sBQB6ZSu4GDNosTb9BzCPqB/eDqxZZdeprFrDuRi58XRa75oogvLMwqHfI1b88E5isecGsvLULVHUZBO+JhGrCvE95gKAlk1ZErpPFrVYoF4TmOB890q3AL/3UyVPQgKMXDvCCWTBXd0p6zl1GT0nisX0d7UZ7ReLODK77ryfyiKYDvIje6VA4CtZ2ZJs2Lhbr2xVFnplS0etgyfRAuAX0YoZuUwTzvd9rPTKWbdElrsoFLJKWZcUEc5wdp86DfhLhgVdp4r44Z1E9H/IvbyB92fh50xmrOqPcak/qA6iBSii6BKI1sB/ZWHQfVkYclemRrR6PsMqf0IhW2PKsXglWsZe5vt3E8E7KIRCViHr8Swjur4Cr+sDaivRih24CGMGLcaw27wHTjgX0GFh/fwuqxvB1mzpKBk62dJR59FrvIj1G1NQ2NyEgfdn4cc3vcnZTdNYmHLPZxRndArwyqQYIw8sa67HJHafRnqUfZAz1LsvMOjeLDgakDLz6fxB9ykiOLnmdR52/DcJkpFoU6EAi/6hHLRKn2qESSRofl0lYecbidj1ugWcRCHYqDvfsh6j72PWMuOWgoHYAaVXNlXIRh5SmIAtX0zzOgEx/c0uKgbdW/q2oENHXYTeRgwA9DZizcaoMalwhgsouJaHMU/WJvQ8Pat6jWfVK97OhN6y4O1l1WOSqMWYQFZ8pihre3lmMPZ8hoVAqz5ZgDI5SHx7Y5WF3k+y4G0AXnmQNRG9Joiax1d54at11vMZUcuILM0Bvy6j19Oiti1Vt1i++3Ps+/DXF23wPVkI/b0Q67bP1gZLekwS8dMLFt8pCAqqMyw8ofPMKp+UDGYbcVSPZAh85bxNXJIdG35K1Y9vlYRe2dJR56CSKBUb1iXDfN6GXa9ZUNiE00TYnMQIU7dERmh+zrJANgIyz0hX1yRW6bppughXiJI7qEwDchL7n3KsMjbwfna2vudlCyQz021pbcRK/Mp2vc4Cg2si0VIzKFX4Ilq+bB1GjUnVqhv9HmHL2PMS02l5/vU9SgAAWCZJREFU2kXsednCCC2lXhWehOjAD0BUFrH9/Kv+lBeepL26xfIyX7Iv2OC7i/tTbfs4SWv57xMt6DlRROifMno/JcKQX/Lr7HwjEb2eFn1ah1Q1aqIlRaUQQAd5HZWDXtkKAPTKVnDRLZGdYauZe5pHEmHkh3NAa0MZ8lGs0uQp6FZjUyinBPhycPfsCDRCpd7PSSwM+ucsC3o8qxiDUna9+xRRCwAGmLBePYOvrOC7LBuF6sCge7Ow/aOkSi2j/8NWUMIqhkRmfmCyAEgGAhDmaj/wX1ngHRT2Bhx+fCsRcT3ngSuwA5IEGARkHyw9EFdH1WP0sCWwXWvC1lVT0XGBCOICDi5iAe2qb1z3KSJ4B9P0EQn4/r2atT0HC0GtbHWfEZjK1t40/fhWSeiVLR21DvuslmLhxiEXmbM55wILjqXs4goFGh+2aead3Z8TNUd1QAlYVogUUZ6rQTkN0SJzCDu75yTW3uEkALK7Paiu08+ZFu25aqtk12usVQkAw2/NQJ/Hy6fF2fnvRK8z/ZogHleJlr/O/75wzc6/AACUEEgGAsnABh52vW4B56RsmIEAzjBOCxhfs2cBsg+nAry3sCshkn3W1V35iu86y6eRrc/HdqmY/1owMeABVoXsOlX0imXyxDdbZmHrqqmIHbAQIecZ0QK8DXo5F/u9SQZ2NtL7qerfhus85ABddFQata6yZbfb0b9/f+zduxd79uxBjx49AADz58/HggXFvV9CQ0ORn19yzZr4cC3/73//i3/+859+r5Ne2aoZuGmaqFWjiAyN8ET8JsPWmINkZmJtgFVS1J2/SqIAaNUx7fnK8mSDslzqXv7PWRZ0TRJBKHuooYCRO7XyddN0EWFnKb5/LxHDb073GYjtLzy1O1WB7s+J5W5Vjh62BJxDghRiAABQgWDDuuRyLSOh3XRkH00vdvuAB62gHMDbKFyhxG9rD1XXNOQfmVpGY01AXN8FoDzB2u/mVveq+ERJ30NRDHggC9/9p/RqpvqYwfdkIe86DnufZ9YpvIOCc7I0AnV4oj4imJWtmJumB6Sytf6XdP34VknUOrI1ZcoUHD16FNnZ2V5kKy8vD3l5eV6PjYmJQd++ffH222+XuDxCCN566y3Ex8drtzVq1Ahms//eJDrZqpm4aZoIQ4F7lF4lLMNuz8CWz6eh+3MiZI5Vn4bfnI686wygPOAMASNZHjxc06oohItIirB+gghnmELiVNKmPI8SwJgHCAUUjgYEDU+5AAps+aL8lZfuU8Ri1bxAoedEURP+q+3VYCKh9RSAENDGEZBDjeCu2rQcPlXbxUkUW1dNxYAHrfju/VJc6Z92RwepgwtFA7erC3F9F2DNj/OqezWChphRy3AlygRXCMFPLzDNlvEqM/X8/t1EJLSeguxfl1f3agYdQSVbXaYFhmztz9CPb5VErSJb2dnZSExMxKpVq9ClSxcvslUUe/fuRY8ePbBlyxYMHTq0xGUSQrB69WotBLMi0MlW5TH47kyvvMNAoWsSmyLkHaySJRkBwQZEnHZi89es0jT4nixs+zgJQ+/IgFAo42Jno6b5kgVGpDQrAqqI41UotgyqrotzeRMulZTp8MaIhHSv8PCESAvA8QBHkH3M26dp+K0Z2PwlI6iD7s1i+i7qzn0EmE0C5aBNsWlVTiAgFhyBQHyPuZpvWcyoZVi/IQXDx6aDd8rlrghWN4bekcHyTEvAmEGL4WhiwuYvp6GbhbUL94kW9HpahFBI0fiXK+Au5SL7ZPVbWwQbOtmqn6g1ZOv8+fPo3bs3PvvsMzRt2hRt2rQplWxNmjQJa9euxeHDh0tdLiEErVq1gt1uR1RUFJ5++mmMGzfOZ3tRhd1uh91u165fvXoVrVu31jfGGg5Pp/kh/8jE1Rt4gChVKaoSMgpHBNHIE1X1XzK8omhUkgWw29V2JG8HXGZ3u/GXDLcQXyVtNXGyMBjoNV7E7le9MxNVkX1sv4VY+8NcJHSeCeQVAGYTso+klbq8/g9ZIRsAQz7F9g+T0P8hKyQTAApIZoI9L1nQJdljAIICkIH9adX/+cf1mY81O+cDYPFTnFPG+g0pJT4+GJYEvhDXex5szcNgvOLAum2zy35CEQy+JwvOUKJVhgkFQi5KCNt3tl4SLSDIZKvz1MCQrQOZ+vGtkqgVZItSirFjx2Lw4MGYPXs2Tp06VSrZstlsaNWqFZKTkzF9euk6mUWLFmHUqFEIDQ3F2rVrMW/ePKSnp2Py5MklPqckfZi+MQYXRWN7KoKYkctguFSAnL2L0C2RmZZStSrl8T+7weNfhUyZrlDYGhONbBFVUOrRhlQF9pxSXVO1V6Xpimqa5qgy8Iw66vOEFZQQ7Hrd4vV/ZdD3MSt4B/Dd+4ka4ZJMBLLBm9h2SWHJACDAgSXVQ7gS2s8ok0TWRMQOWAiuwIGcff4J/32h36NWcE5apubLF6qLbFYFgkq2OiUFhmwdzNKPb5VECa4pwUFycjLS0krf8Rw8eBBr165Fbm4uUlJKPvPzxOrVq5Gbm4tHHnmkzMfOmTNH+79nz57Iz89HRkZGqWQrJSUFiYlu3Yha2fIX8d3nIGev7yDl+grPEfExgxdDChUg8wSbcmaU+JzKEi0AWL/RY5tSBPHE8/SDuImVF5RKGO9wV00MVwFnGADOm7ARiT2mqE+SSqZ6P6XojJRpyj0vW+oM0QKgES0AGrnq+YyIPUrLrywTy4TrJyP7txU+7xt8TxZ+/Nh98C5qJ9DjWRGykX19+xUNl1rt6pIsYn9qcElXIIlWQqeUoNlerP1uLuK7Vm5y0hVCsLsCGaaD7s1CA6XTkHDDc4DZBGo2VIr4VSd6Wl+q7lXQUQ2oVuuHpKQkHDx4sNRLVFQUNmzYgB07dsBkMkEQBERHRwMA+vTp45NQvfHGG7jlllvQvHnzcq9T//798dtvv3m1CYvCZDKhQYMGXhdfGBWT6nVdHQfP2bsIQ+4qbgJYn1DUBNIVymPQvVmsWrVtNiADkpnD0DsySlhC+aEaj/rCoHuzEP6H7GXzADB91z6rBaEXKHg7y+5TidaelyzIb060CpgWTyMrF8X9nPKMbKmeXt2fE9EtUdTMV3e9ZgGRAEMBhSwUNwutS9j1ukWz4eg1QUSv8SKz6ygNQsnZPds+TsLwsSVP0akEl1Bo2iGVYHlmNnadWrNsCGJGlU2igu0vRo2VOzf3N10gocUzXtcbHLkCciUXCddPBniObQ9czXctSmjjm1juSZwYvJXQrR9qDGpFG/HMmTO4evWqdv2PP/5AXFwcPvnkE/Tv3x/XX3+9dt/JkyfRtm1bfPHFF7jlllvK/VpLlixBVlYWLl265PdzyioLx3efA1urCGzKno7Rw5eCc0iwNTNjy+c1zwm7ujEqJhUb1jOx8NA7MwHK/LMqMsFXFKOHL8U3m2dq1wfdm6WRKs5JsfVT97TboPuyYCiQcTmKHWDCf5eQ14p3e3Rx7hZV7ydFEErhCiGaRQQAzTYCYOJggE0VqvYSACNj2nIqaXxaW6H6LRGZfddFsyvLg+Fj07XBB19QY2NUdEkWNSsPIgU/7NsX1KlFVcdWm1GS5UnRAYnSkNAmEbRhOHJ+WoiEDslwNQkPSFW7utD/9sX44Ys5QWkjjm6fGJA24jdHrHobsZKoFWSrKErTbM2ZMwdvvvkmzpw5A76I6eHq1auRkpKCQ4cOAQC+/PJLnD9/HgMGDIDZbMa6deswdepUTJ061acmqySURLbiu85Czs9Lij0+oUMyM2UEMOy2DHAOudR2mYqYEUuxftNMr5ZbXceQuzIhFMqQTKTU6SeAxcCUNdUVO2Ah1n43F/0esYKTAN7ONn/KAbxdhiOCZ7mHEmC6IhUjeUPuykRhE76Yzmjg/VkovIZD2HkZua05tycXGJlSiVTPZ5S2lkd7sqosHWorKqPtAdzfcUm6t65JzJBWzflTsys9NXk/Z1bfd5IQPc1rIrO6dF7x3WZXqFXXY5IIQx6FbCABOXlI6JAMahLgvCYUQp4DpNAJcPC5b63JSOiQjKtdm8LlsuOHz2frZKueoU6RLVmWceONN+Lhhx/GkiXFf4hvv/02xo0bB/Ut5+TkICUlBceOHQOlFNHR0ZgwYQKefPJJcOUoU5dEtjx3mp47rpK0FiPj0pDXygDZQMC52Fn+D28nYkR8GlyhPELO2bQzOpV4+UMwajtGxKdBNnIQ8iWt6lUSRsamYePa0olozMhlmgGnWskaeH8WOAeFrTEPTqIQbBTOUALz33KxA3bfx6xwmYmXFskXejzLKjZqK0ttYwHepqk62fKNQfdlgcisVVgRlEfT5Em4VI1dbbHsqIlRToGCagmSfaLuyC763LsEuz4OEtlqZwkM2Toq6mSrkqiVZKumoaw24qiYVNiaGAACbP8wSWtfbf8wCSPi0yAUSiAuGYXNzXCFclo2HO9krSmoAm1l2m3Xa0z3QmSm83GGMNHxwPuzsOODJC9forqC4TengwqkSlqvQ+/IYLmIAoEznINkZH5Nqos5qLfwOnbgIlBCcLFbmDZZ2P8hK75/LxE9n2EWD0UdsrtZ2PelWRAovzrejip1htdRPvSaIGL3K95ZlkVbj9WFohWv6oIaLk6V/RHl4HOb1+FGfJdZoGYBXIEDH36fErRpxNFtnwsM2Tr+vE62KomarzKsA9iwPhkNDl4C52JH2NDzdsgGgn6PWFHQ3IArbc24GhUKIlM0PJwL02UJoX9JcJmJOzJGsRagPBulV3U/jnD36LwzhPVB6hrRAoDNX02HUCAFfLBgyD8y4QrhsOWLaeAkCkO+rE3GOcIJvn83EZxEMeg+t7ieK3CACgRNfs7HqDGp6P2UqJGxPS9bfB509okeeY7UfZENAX07Ojww7LYMjIxzt9/iepft3q6KuFWi1Ws8I1olZQIGE+fHtArK68SMXIaYkcsw+G72W+vxrIieE0X0elp0Ey2PkwYiA6aruoq6NOTsXwKuwKGHptdj6JWtAEA9ixgYvxDbs+cUuz+u9zxw5/8GBB7Zp0T0fcwKQz4L1KM84Awl4CSWGRZxxgn7NQJcZjYJ5wgn7qw+4m0pAEDzDQJ1R8Y0PlSI9ZtmFluPugJPEX2glmdrasD2D93tqoH3Z8ERzjHDUh4w5lJQHl4ZfbH9FkI288iNDEHEqUIALJBXR/VjzODFoDzBN1tmaW7tKope90TRJANPI9yagD6PW0G5ynuTlYaYUctgb2yAvSHHTvgUqPsgwK05pARlttPrOxJaTkT22ZeQEDUV2Scyg+qzNTpqSmAqWyeW65WtSkInWwGAumEPGrMABt4MId9Z4kF3wANZ4B3KyPrN6QDHyFReCwHmv5ktua0RB0MB+1pkA2spAnCHJFPvsXUVqkN540N2mE5fxJ8jW4F3uL/eH94JzkFDbcsFYoLQF0YPWwIiA+u2Bo7YjIpJRf51RtiuIdj7vAVD7sqEvREHyUg0+wbTZRmygVW7Bt2Xhe0fJmHUmFQIeU5QjoDyBPYmJnAOGfktBcgGAt5OKzVdFwwMujdLyx6sjSjNt06d6PNsrY8etkT7fcYOXIS1O4qfIPlCzMhl3r5sdRAJ7WdAjjAjPzICRKJwhXKwN+Qg8+6YKs/hDlXWUJfR9zGrth8AWNh8RVIgEiItyD4lBplsTYbAVZJsyXZ8c2KFTrYqCZ1sBQBaZSthIQzEBM5FYTqfr+WgqRh2e4YS7UJgyJdACSCF8OAc7CAOQtiPWlK+EkLgDCNwmYibYFEAikYCcMfEyMrgZYNfXci9TkCDU06EHvoTrpaNcCU6VCNpQgGFIV/yOY4dSAy+JwtCQdW/zpghSwJKutTKRsyIpXBFGLD5y2noNUEEcQHmy2wqEpSCcgSCjYISIOy3QnB2J9bsWoAR8WlwhvOgHIG9IQcis8dSTte0VAf6PKFUguo4ISgLanXFXwx4IAvOUA6y0V0xVyvsntV1WWATnXURqiUJUCSqi6JSlcUxLcfjm3OvBYdstZkUGLJ18gWdbFUSumYrgOCcFJu/mg5XKF+MaAHAls+n4dvPpoG3y+Cc7DRJFtjkYfi+8wjf8zu2f5gEyhOEH8/Fto+TEHJR0nZwvJ0quiI2LUdkN09WyVju9QJAgCtRBpyPuw5/9QiDvSHbO0oGgoY7z8IVWrJJpIrKukUbr7qw+avpiBmxFGMG+R4fHzNoMeJ7zEVcz7K1NCXBF9GKGVHxWI9tnzCvrfWbZsJ4yY7YgYuw+xULdr1uwbaPk+AII/juP0n4/r1EcE4Zpssu5EWGAByHuN7zIBS4EPKnHds/SgLvpJBMBJzEJkv7PWJF/4dqrmGpqtGpK+g7zgre7rvyEtdnPuJ7zEV8t9rr11QuNG5YroeH/2pj263kfXtRGQPnDMC61UD0Gs8C7L2iuzyu95gkYtjtFRtWWHW4+occdAQfemUrAPAsC9/88KuaH5TaavJEQvQ0gOeRfTgVMaOWwRXCAxyBkOvE+k0zkRCltHI4AqlpBPhL+aAGARf7NQHvoFo5m3NRyAKB6YoEZzgPewPiNtFUz0Ild7uRkxgZJBLQdOs5/N2veYV9jGo6VONYf9tDpS3HFcKDt8tYvzGFne2HsQ+UdzDSa8iTQAUCZyiHsN8KQQUOspEDZDYYMfD+LFaZVL4zyhE4QwkMhRTfv1uz24u1HYPuy4LLTMpsn8d3nwMqcFizy39vvdqG+B5zQQodmr9fWYjttxCXO4dDMrpzP6ESDs5tAgtS96Zpe40XtTapZ+appxEx5Sr2vhNaToTLZcM3f70ZnMrWjc8GprJ1+kW9slVJ6GQrACjag1djYWSeQDJC+7EacymMV1wwHz0P8DxomBkk3wbpmgjwl3IBSQIkNbWYgDaKAClgsUFygxBwBQ5I4WbYrzUj9Oc/YOvYEuZDZ1HYuSWuRhrdzuQehAuU5e2BALyNulsBHHDNgXzwF/OQfSRNI3mqn01C+xmALAMyLbfHTezARSAuGaTAARpiwJqd8yv9GZcXMaOWgS9wYu13FXfgHhmbBt4ugThlUIFANvHYsC5Zay8INgrzXy7YG/MI+8OB9RtTMOQfmZBMBEKBrLRtJbhCWVvR1pjTdtiUY+1izgUY82TYGjN9WE0VG/d+UqxSUXZ1I6EDG7jwl4zUFcT1nIc1e3yTzH6PMD85rf+hDuWoAzvKgE9N3WbLg95Pim4y5WHNQnl42e6o7UR/29Kqwa4nxlz3NL7549XgkK0bngkM2Trzsk62KgmdbAUA6obd+57FMBKzVs1KaDcdrmYNcKVdqCYw5ZysItVkw2kl50sACAFsdtDGESB/57LrAKTrmoDYXOAuXgFtHAF7i3BwThnGUxcBWQJCzHBeG478682QjAQuM9F2DpzTw1aAAMTlsRMhrDIjC2zisfEP5wEA1GxAbofGCD1rg/DH3wCVAZcERIQh+4B/rbmENonIPmn1ug7CVYsp4ZghS0A57wnBoXdmIvTXPFCBK5OIxYxaBuGqHVRglSpnIxMTDDfi2Rk/AYz57OfT8HAunA1McDQU4ArlQCQK41WJVSgVk1reJiPvOgMoB8hGok2Qqu1g3qFOplKYrrDbKmroqaP8qAvxOP4grvc8rNm1AHF9F8DWIhTOEA7bP/LezobekQFnGAdHA7btE4VYQQYjX9RNuIJJwot+R32eYPsaIiuDRKqeVbXMKWP9Bv4ri/nrhRFtOarOUiVUvZ8UYf5bgq0xS5cA8T/n0RfGNHsC31z4t0626hl0zVYgQdgBVNW+ZB9Nx7pts/HD24kQ7GpbTy3LE4BTtFMuJYmX44CIMIBSgFLwv18E99dlyM0bo/D6CBiuOiD8bWMkCAAKbaA8B+KCtvMLPS9BsLEDNfGg0erOUq12qdoDlwn4u28zXBrQHFc7NgaRKApamiE3iXBX2Zwud3uzzM+AQ0Kkxf14wgEuFxJaT0FC1FQkdJ4ZNJ3Muq2zwDm8RSffrp4KR5MQSCFug6v4Hr4PsOs3pEA2MTJMZBnGS4UwX2CVRt7OdHOyABCJIjcqHM4GAkyXHOw2mYVrQ6aK9oWC8gQRZxyQBcIOWhSgAtPtUY61gc2XZXAuwN6QgMi02gPLSwt5rmvwPIgntJ5SjWtStVizawHie8yFs4EJ9oa+9Zv2RjwzVAYATiFagFuqQNmJY8RvwRNtJVw/GURy/54TOs9U9mVEs8Chqg0OZZpWQin6PG5F38d8ayV3/JfpL3evtKDRUTt2vWbBzjcSNaI18P4smK66A+o5J3Vnn5YTcT3nIaHFM6DNm1RsARWBciyp9EVHpaFXtgIArbJ17xLwRrMWqCsbCHgbhaFQ9jIaTYiaigujmEGhzBM0+SUfl9uHQrBTyDyrToVccIG3ySCUYv2GFAy9IwOGXAmm0xcBuwNyi2vAnbsEEAK5SUO4GpkhmTiEHDiLP+NuBO+gcEQQ94i257csA7xTWUeeEQP1tQllRIISwBVC0GTbWcDl0lqa1CSA2F2gIUbk7F2EhA7JcDaPwDdbZiG+yyzk7F/CDlRK1S77WIY28pxww3MARwCjESBEa9mUlCFZFOryA4HYfgvhaGLGpuzpZTrujx6+FESiIApxczU0QhY4OBrwbDoRTI9FJEAyEi+7Dc5FYciV4ArlIBk5hP1hw7qts9DvUSt4B0XIeSdc4TwKmvKgPAHnpDDmyuCdFPYGvGaWOjIuDZKJqzI7jfKipNxBHbUDI+LT4IwQfE4Mq5olzcMP8CJZ6okbb6P48a2aoTvs84SVkS7eozpFCAhlrXq1/cc7KHZ84K7iqbFnKuK7zQYoheuaMADAN5tnos8TVs3oGGCVLoC9hj8xSarzf0KbRECS4TLQKrdS0Cpb1z0dmMrW7yv1ylYloZOtAMCzjcibQrT+vkpkOMXKwfNHnnDDc7gyoDW2f5Tk/vGqXwVVNV4yws4UwBVhxIb1yRh+awaMfztAXBL4Xy8ABgGQ2ZlH9q/LWY6YwQA4nfh7SGtIRlY1kQ3eYnkigdU0lbM1wUY1kuUyEwiFVJu+kUyMMPJOivC950BDTCCyDMpxIJQi+8BSpu8SePZ/pxTWenQ6AUlG9q/L2ftVDP0S2k1H9tF0JLSbzu4/kYmETimgBh6QKCNrnWf63basLNSWyrDbMvwiMjEjlkI28eBtEgqbmcDbZdgb8WxSVBHAywLTyW37OAkDHmRn1MarElwhHDgnRdjJXKzZswD9H7bCeFWC8YoLkpmHK5SDI5wDoYD5oktrhTjDGamjBDBfluAycTDkSeDtckDNXSuCXuNF3dKiFkA9UfH0FYvvNhuFNzbElUgBnAtKlRYw5lG4TMRLr6T+rWtieH/Q+0nRb2LlC3F9F2DNj/PYvtHuZGSrioOddbJV86CTrQBA3bB7/XMJBMHsPhtUzwIVQalkZFqq8N/tJTpYe6Lfo1Zwin2AYHOfkQ29MxOUg8/KQsL1k9lLX9MAUoMQFLQ0g3PKsF3DI/SCBM4ug3PJuBxt1tpdRIJ2Bsj+hybwJhLTGgkFLnA2J1wNTDCeuQQYDaAGHsQpMXLlcCD7lIi4vgvA5dmAQpu7DWk2MUKo5LqNGbRYC9QGoLUcaZgJJK8QNDREOzAQl4w1P3pbQ4wZtBj2pia/qzwqoQJKN7Esj2eXOqkomzgQJ4Vs4uCI4AAKhP9mR34rIwh1E+whd2XCGcZppMx02altA6OHLwXlCVwhPBwNebjMbHox5CL7vqQQVhWzN1DajWDtx7CzLuX7o5ANBM4wDpwTxfQ3VQE1AH1EfBqkEB7frtarXDUZauqC6p4/ZsgSSCE8ZIHDpmxW2Ro+Np2ZKjcRNOd49QSNd1SfOW91aukG35MFWyMOIBU3b024bhL7x+EEdTjg4mWs//ud4JCtVuMDQ7aqWNBfH6BrtgIIyjNROlW0A5RnZ4uUY0QLYNev3mjyytorCZyTau0/yUDQ9zErBv5LmXQUiE8dQvZvK5D92wrk7FsM+zVGhP5RCFcIh5C/JOQ3Y+Qgt7UJnJOCcwKGfKZr0HQPYBU5yUwgCwS8XVYE3RxsLcNgPMbE9LbWDRnRAkBNAhAawtb57EUgvxCw2ZH963J2OerW/SREWiD8lcssMMCGCGi4GTAbQWxOwGAAoRTx3eeAv1IIYncW03gRygjgiAT/9ERSuAmx/RZi+Nh0uMINJWq0AEbGYkaVnV/2zeaZ2JQzA6BM7K6SDcoB+a2MMF+SIBRS7fva+ulUmK5K2tCCZOS09efz7ODsEkyX7JqvkcwDtkY8HA0FAADnlMFJHtVPAHmtBBRcyzN9TShLHRDsMobeUfU+PhvWsYrappwZOtGqBRAKmLZq/YYUxPWZz1ploTxcIewQ0P9hK5zhPAqvFbR9laflg5ZiESTEd3efEFXn0MK2j5OU1mTFahIJzScg+/cXAJ4HwkIgd24DOSo4GZcAlNZvZTVbwVvdugy9shUAqGcRPe9nmi0VnkZ4lGOCZ06ZlKE8YLwqazls/R+yavqckqD6dqnGmN+/l4jeT4owXZXhDCM+zzyH35wO0wUbOLsTl3o0BggQ8qcLzggesgDNN4pzsnXjXJRNz0kA52BkT8iXIJk5hP5WAHtTM2tz/X4VpMCOqz1bIOLAJa/2X1zfBeAuXGYrYDIBBYXudqKq23JJrA3qkph+68zzjIDJFDAZWGXMoDATgwA5xAAiUc0sNqH1FG2ZMSOXgc93QjbzfmUTDrstA4arTqXtV748w6F3ZhYjF8NvzQBvYxYPjgieHawoYLoiKxYcRJsqHD18KYhLhivcACHfBc7u8qrcDb81A84QDpKZQDIAlGfbjTGXwhlKNKEy5Zg2TNWiEJnp/KhA2GcI9lyg6mKTdNRuqOa/hc1MsDfiNI2WZuugWjyg7IlDdSqw8aHCgCY6VAcS2s+As0UD5EaGaCeglYk6i+86C+B5ELsT2QeXBTeup+V4CJyxUstyyQ58c1avbFUWOtkKADz74wUDo7W4HSJTfPvZNPR53KodED0jLyjHKlQAE6yrZKmofQLgFlmqGJGQrpX/VZTkhTToviwIhTIKm7IjtZrxZyiQUXAtszEAgJC/GPERbDIc4RxCzzvA5zlReF0oZIEd9EPO2+EMF2DIc0EK4VkrzUAQfvQycvYVd4ofPWwJOKdcrHWXEDWVTVUqm1/2KZFpzjieietdLnafQriyj6az6SO1NclzQF4Bss88r30efKELRKbgcx2AwIHypER7h1ExqaA8gSHXAS7Phpyfl2D0sCWQzAI2rp3h8zmlYWRsmtbOszcWIBmZdmvnvxMx5B+ZGtlWW7+jYlIhGwhMF22ALIPYXHC0iACRZLhCBbjC2HclmQhkHloYtmQibq8uwuxE3Fo8pVpZKGvbFShldiMGopnt6tDhiZGxabA1EbDjvxVvP/d71ArjVRlhp3PrhDls/4etCD3nrNC+wBMJLScyCcW5l7Xbgkq2WjwVGLJVxfFC9QF6GzGAWHUgDQ2+O4Otn07F1k+nAoRg6J2Z2PnvRPz4ZiJ+eDtRO1OEmrVF3BUwtWLlSbTUNlRBh2sxMjZNu70o0QLY2We/R6yaqaqK7R8mQTawylfoORfCj/4NygPOEA4/vpkIYx4jPM5wTmsbmi5LkEw8qIED56LKtB0FZFbt4uwuEMU7inNRSBFmxPZbWCzm55sts8Dl2TB6uLfgPftEJuBULS88xs85wtqOlDIPMkkGnE424VhoY49Rzw9kmVXKlM/D+Nvf7OYwI4jDBWKXkNB8AgAg4dqnvV5/w/pkbFw7A5QQgOMQ32UWiIuCc8pecT9xPechdkDx6KWi2Lh2BjasT4Zs4iAUspYf72Bn/MbLjATKPNHaxxvWJ2NTzgwUtgpF4fXhIJRiw/pkRhbtMgx5EgSbrLUviMQ8uIhENesONRhY26bASJkzlIO9gXJpyMPeWIAzvPiI/8B/ZWHAg1b0f7jmRgjpqHrYG1WOaAHAD28nYuunU+sE0QIA89+SFqlWGlQ5REkoTx5llUCWA3PRUWnola0AwPNM5b5Os1iP3gc8q1HDx6ZDNnGQDASykUAolLF11VQMvTMTRKLFWj9D78yEI4KDZARMV6hPs0t1om7g/Vlek48qBt+TpT1PrXapom2hQELhtQYIhexAb/79KpxNwlDYnE3cqRmOIX8UahqK2AELwRU6IUWYQSQZlOfAXynwaeMQ13cBq+A4XF73J7SfwapUThdrf7lcgNGgVfHUdqHme8RzrNpFVKMwqZhhalzveXBFmJj7u8MF4pRAzl9ky+cIss+/goRrn0b2hZXu9eiQDHAEhTc2YlosD8R3n4OcvYuKf6ElQP0O7Y14jQiFXHBCNnJu7QvxHnBQ25PxXWYBBh7Oa0IgGTnYmrAqmTqKTzmAd7IqFuVUaw/2E1aNbGUD0XQW6mSkOrRBOcCQ5542lQ2sAgfKqmhqDFR9D26uzVCtVvyBL4fz+oqEDsksxYPjkH0krewnVBBBrWxd+3hgKltVbMJaH6CTrQDAc/Jj3e8ry35CJdHvESt4J/VJqErD4LszNY2YJ4bclQljrgsFzY347v1ExA5cBEcjE8y/XYGzSRjWb5qJ/g9bwdspwn63wdHYCEgUm7+e7tZZmY2gPAEVBKzZswAJNzyntfg8Ed91FqjZWGzCMKHFM6AuF3L+eo1dVypWkGU3sRJ4RrRUvRfPAYW2Yi1XgJG4/I5NseWLaYyoOZ3IPvcyxgxeDOH0n5BaX4u1O+a4J4VMJoDnIDUJLx6vUWR60h8kdEhG9uFUDLoviw1K8ASuEIIGpx2wNxQ08uQ5OTj0zkwIBRI2rmFkb0R8mmKUS+FoICgDF0QjTkSiACFKKoFS4SLstVRxs6o50Z6jtLBV41vNYJeyVqNqequ2jSs67q5Dhw7f0MlW/YROtgIAz/74urOvVnp5CddNKrE65gnVw+m799kBccygxexga+JR2NSoHcgTWk5E9tmXMOjeLHYA5pnAWn0ewCpdxisuReTNsck3mSLsdztsTYww/e2ErakRIedtkMwCKAeE7P9DE6kDQFyf+ayKdDUf2SetjDCZjF7TiADz9yEFdi8NWkKLZ5B97mV3WV6SWMVGpoDDAYSYmRu9Cp4DNRsAjgMpdAA8Bznc7EXiEtokIr9bS4T9fB4oLAR1OkHCw0AbRUAOMUA28vhms9vQMKHddIAQULPBp/6sPFDJ1tA7M1m0D88MT2UeCDvHPme1tRh+Jt+L4Kkt1282z0TMiKXgC1ywtWD+bbLApkZlAyNdLO5HsRVxQdPfaZUrNszobjWqvkkAhEK1Rek24ZVMTJjvGcSrEy4dOgKHoJKtpo8FhmxVcXB2fYBOtgKAYPx4SsKAB7JK9FYaclcm044piOszH2t2zseAB7JgyJdhvmDHlXah+OHtRIwakwrKEeS3NEDmWeVDMhEQiekXDLkucE4ZsoED55RBHBKogYPw619sklBpXcT2Wwg+z8Y8uM79xaomPO9FHhPaTWdVKkkGNQgg+QWAzc40WgLP/jqczJ9L8e8CWHtEE8gDrL3YIZm52jslUIEDsbuKtQBGjUmF6cxlt2P9NU8i59Lr7takw4Hs868gvusskLxCRuyAgBirJnRIRl7nplpb0WVi2YegipmsoruSzAThv3n7rw2/NQOUA7Z8zgjoyLg0cA6m45KNHJzhgiaEZwRMnV6Ex5QiM6pV24qeJEo1zqUctOxGyhNIJo5VuZSKnErcvn9XJ106ykbRFr0ONxJaT8GH+xcFj2xdMy4wZOvSWzrZqiR0gXwtx3f/SQIIioniAXgRLQAovC4Mw8emg3IEtmt45LZhAdkjY9OQ29oIRwMBDU7a0PCEHZQnrPVlJihswiPvehNsTY2wNzbAGS7A2dgE4Y9L7lah0urj82wApcjZuwi0eRNkn3sZ1G5Hwg3PIaHlRFa1O5rOyFV+AYvfIcQdyO2SNFd8OBxe4vnsUyKrpCkeXgCQfTiVVaHsThCXDLlhKAAwt2awdqLp8DmNaAFAzqXX2XMVHzD5hhbs9p+XAA4nHM0jcKlPUwDMULEyoAKP8EMXwdtlmC+6EPani5nHUhaH5GjANHuck6KghRHDb83A8JtZJXDzl9Ow5fNpGDUmFSNj02A+eBbrN6aAc0iQDOynqwno1fABRdelDjRIBgLewe7nPDI01elYVyiH0HN2tj6hbLKUUGYFwtsojHmy4smmn5Pp8A+1mWjF9Zlfpcv37AToqF/QyVYdwPYP/dNuSQaCzV9PR/ivNvz4ZqJmXph3nYHl+pkI8q9jbsOh55wwXZWx+1WLJrCmPIEhj9lDbFwzA84bmmrLzj5pZWahlIKamF1Dzr7FrGUYGspIGccBYaFMFO90ATyvVLkE5qXVrBF7jNPJ9FiSzAhXEfjamWefyET2wWXgLuez6weZMWn2kTQgxOzWZnkgdiATva/5cR4S2iSyKKHfX8D6jSkgEguwdTY2YVRMarHn+ouc/UuQfXAZNq6ZoVh/eJhDUncL0BXC3OHtDZnRpGcA9IZ1bHLS3q4FRg9fCkcjEzZ/PR2GPBf4Qhm83V3t4yRo1iMgjHRRwqKYeDuLXVJzHCnHLlfbhIA42RSkI4IH5Zj/GuUJnKGEtUHL2FMktJ6ChOsns0uLZ9htynUdOmoDRo1JxZqd86v0NRJaTsQ/2gZv+IRSOSAXHZWHTrbqCDzF8iNj0zBmcHHNkTFXQkK76Vi/aSZiRi3Dj28mIvwPF358K1EJpmYtp/xWRtgbCZreJ+J0ISJO28A5KVxhTGs0Ij4NsocLOgBmOGqzs1acetu+xYBR8cr6/QXIYWamtaJsMhAcxypdThe4PDsQFqJVybJ/XY7s31YAgHYALwvZR9OLjWNnH05F9u8vuEX3ClTvr4TrJjHy53K5W4tglaCCZgbwdsmv1y4Lm7KnexmichJrJfJ2dyg4pwSEgydahUvFhvXJEC4XwpDrVKKMqKLbooo9B1sG4DbTBSEwXZWw479JIBQw5LNKlaDkXaoVK1tTAY6GPKtwmd2tQ5VoSUaCfo9YETNqGWJGLEW/R6wagU24bpLbF40QgBBmuUEpsn9bocUxAex71Ow4lL8AEN/wsWL2HDp0BBNqKkJVIvvsS1h13L9J0YBA1b1W5qIrjQICXbMVABTVbKmC9NqAmJHLsH6jWyfU/yErC66WmXfOkH9kwnTJCVAK3i5h7Y45msXE8LHp4O0ynBG8l2FmaaPnCdHTQENYNI8qnI/rOY9NMLacCESEs1YilQHCFbN1qArEX/MkSMMI0Nw8kNBQIDwUkGT8Oay5RkgaHriKvLYRCPnTjm+2zCpxstMTnpmMo4ctga2pSbN8GHZbBpzhnKbZ8szRlBQrEHViMey3AhCnBO7CFcBkZJU/QkAjQuFqFAJHYyNkxS1eFjxd5llFS7CzdqLaVh52e4Zbi0XcxrqedhBEduvJmHjeLc6nPBPmh1xwQShwwXicRThl/7qcVSoLClk8idnk9uhxudwtYfVMWRDY7UoF09P4UYeOuopgCuRjGj0MgVRSs0UdWH/5XV2zVUnoZCsA8PXjCSbhSmg+AWjYwKc3TELzCcg+/woA5lpuuGqHFCKUGVGjWj1QDjBfZOL49RtTEN99DvKjGvrMw1Mn8HyuozJhmdB6ijue57pJrG0oy5CbXQPuci6rMBkUM9OwECA3313dapPIhPOEaBUTevmKpsGqDBKip7EJSIeTEQWOIPuUiAEPWkFkCkO+DJeJg2RizvuUYxUfzkmLaeO8ltspBVJECMABXL4d1ChoBGzwPVkwX3TA3sjAonUo87/yJEwAmxoMO/Y3nE3CIIUIMFx1QDby4JSKm7OhkTnNGzhN+K5mMMoC04OpRquywHIch9yVCU7x6gKgRbWopE+7DdDakeazhfi7S7g2zSgLLDKo0eF88Gf+dFt0GI3IPpHJKloyCyrP/m0F4rvNRs6+xe5KF5UZ4XI6gfzCWq310VF7UTSdo6oRVLLV8KHAkK0r7+lkq5LQyVYAUJ3TiFWJoXdmwhVCwDlYy2nL59MQO3ARClqGIPyY73ieoki4frKbLDWf4K5mhIYwnVfjJ0BMRmb7cP1kRqR+XY74pk8h56/XWPvQswLCc25BvcAzsXwASW18j7kgV/IAnsfVni1gvuhAfiuTNt2nVovUAGpKUGamZVzfBVjz4zzE9luohXev2bMAQ+/M1OJ0JDMHl5kw8bxClogECDYZoADnkGG6aIMrzADJzJiYIdfJ1sPEM73XNQaNNKn2HkKhDL5Qxuavp2NkXJo2lbhx7QwMuSuTCexJEcKlwHOqUf1ruuQAccn4u2Oo5usFAE3XnWZVLJOJES01A5MQZgPSmVlsUJ6wwHHFYsNxbThMJ/9i369e3dJRzfAVlRZoBJVsRTwQGLKV+586d3wLNnSyFQDUVbKlYsg/WCuPBdRSmP+0w97UhJBf87BmT+nxHF5kq+VEICSEHYybT2B6LYUoxTd8DKRVc1bZUmJ5vOwirp8MuFygdodmwkkaRvjtlF0eJLRJhNSiMQpbhMAVQhBxLB95kWGQzETTRHEugJOoNlhguiJhy+fTSqxoxvWcB2fTEBj+KsSaPQsQ32OuFqo9akyqpr/Kb2nUpgY5iRExtdLEOVj7zRXCMf1cCAdDngTjZTsAwNY8BC4TpxEg1c4BHIHhqhN8gRNwyXBeE6KFVLtC1alGRoS07E7OHUpOOaK8V0bMvl3N2qCGXBeuRpq0cPVrco4g+8JKJLR4BvYuNyD3RiOafnMGMBkhNQ4Hf+4SWzEj80cDpaAhRo3skUIHq3K5pEpPbQW7WhEMxDd8DDn/396Zh0dRZX//W9XVS7qzLyQBsrBoCAwg6COyyJ4NZVUQRJL4MjCgEAgKEVE2CWEXxnHYhgH1wRl0JIyDJBgEZDUq/IIIGAUhoIYthISkk+6uqvv+cbsradLZSDohyf08Tz2ktlu3Tm7o0+ee+z0F/2zsbrRoYoJm0S95KtUDjy/mbLVMmLNVDzicRrSKdDYX+j23RlnZRngOop6H5p6kaED1HUulJxyVEbIREzQLpNioTPvFBM0C1GoQFy24u4WAvlxyfBXlMqI9/h+gUtGImJOmapVEeTcDUGSEuYM/hCIzLO5aFLXVgKhgnWalJW5UJqIott+fy3X/9Gp01wVIP5uMIYNSwMmEipcOSlGmEfkSq4gprA6QTf2dALzJmssllDsuERCBg6pUhsVawFpVWraCSHLhlSiV4fI9ELUKsk4FIvAgHAdOkiFrVSj1FqAyEbtyP/QBZUn4spqHUCzh630Va3MCVgkSArjmlKCwg56WC5KouKotB4zwwHfb51Ab2yKVtlqYAJUFUQtOjzAwGA9CTUWnK6NBnS3XF+vH2Sr6mDlbdYStRnQSlTlaA6OdV3PLmRz77HXFsbJFRSwG++HDyQT9xlSe0J52bQPS72xFtO9UZT/t1zWAWqWU5SF6LdJ+XomY0ETqVN1HTLs5SC/4J3XY3FwR7TvVblVbbYlyjau0rwCAe8UAIfjq0HwUPuIKzc178Pn2FjSFsqJJxcmAyiQr0abeE9YiultZeZ+07BXKSruY4Nng7hkBAF8dmo8DX79JtX2s33lkgYekF6Aqle0S2G0yDbI1bwwSAScSEBVH9bGsYqTqYskqzwEQNQeipiKnssBBFjgUdXSHMUiPklZa6kBZqJQHJxPo8kSoTDJO7HqNykNY1eZtkhWyVdvLJjUxOGIFYgJewZDBKYhpMxN9x66FykRXRZYE6KA2ylAXW3XAbNpeVr2vJ+PWla1y0mhoGaZSE1BEc/TSLq+r8QrU6ogJc/4qM0bLoS6OVkNDZLleNkbdYc6WE4kJfLWCI3A4PcmhLIMjIvpVLOjc2BzdM5dGrwjNW+ozbi36Pm+dZpSIXUSlMtJvb6G6VjaJBosEaDUgOjUIx1EhUZMZnKbsG5nNebFFO2LaJiDt55VIv70FRJIQE/CK4sTVhv1FH1R9gVqtOF4nP34NxvaeEL0MMFylDpMtuiRpeaWeICcDxnYeds2k3dpEIzmyXGHqkwg8hCIzRDeaKC/pVOBFmS67LoetvqKs5qkQqli+3A51vGwOmE1JHlaHDYRYlevL2ixppQUR6HQejVzJUJXKGBhDV5kq11ojbtTxoxIUQwalgPAcjD1D8dXB+TA+FgTtXQtUJTKtMGB7DFdOzgI25Xp6Mu23v1JbFBtpPh7PA4KgOFm2Lyx1lYRIy15RQQ6EwagtTVIzjpD62Rh1hk0j1gMPEhbuN2YN/ZZvphGSo3vmYmj/ZHASQcbxyoseD+2fXO1Kwsbg6dFroLlLJSKIioeqVKzyPaK9p4BTCyCSBM7dneZBiBJgNEJqFwhIBKp7JXarEW3EBM+mGk7XNiDa/WVwehc7p6gmRHv9GZwgIO3WJkS5xoFTqajyfeH2au8dMnA5eAtNXJcMAoyt1MpUGC9ao1xmOq2oLhIh3C1B+hkqoGpzuCDLSMt9nxbgDvCFpNfA7KOFUCTSVYXW1YlETZ040aVM2sHmvKhM1DkS9VQfS5NvhuQiKHpXROBozpWKOoG2JHdbuR5eonlZsDqInESUFZZExYEjBCV+arpCUQJcrxSDkyRlNSVASwgR3jqlqeKguWOCxV2Dw2l0mrHfmDU0MidY1e2tTmD5upwAlMUREEXFLs6Yho8Jn0+dWItIV0pKMiCoaCStXH4hg+EsGnIacbDLC/UyjXiwZBebRqwjzNmqB2rzxxPT+U2UhHgqH0aDI1YAMiC6qsCbiXK8OiL6LEPGicqdmaZGTPh8oKQUpKgYnFYL4ucFWSdAlVcEFBVbVebViu5WVVpeNSHa689Iz/8HYvymgYgilX1QqZCe/4+a9Tc0EWJbX8hqHqKLCrKGTtPZpt80+WaIBjUIDwhGCer8EnC5t5B2YyOVvJBpJMc2JRHRZxmImoekVdFIlSRDdKN1KjlC1f8BugKSk6CIkaosdDpRfc8CyUUFWCNIHCFK7UTbKkqgnII9IdDlWSDqVbROY4kESUefbcsTU1lkGikTOJT4qmniPgC37HyA55UEfxv9R6ymkSwH47jPuLXgSNU5fbbfSW0ov9DCVvOyRve1f91Owy2mbYIiQ8IcLucQ7f5yjb7MNHca1NnSjqsfZ8v0CXO26ghztuqBhlyNeL8IKUALFqsLzA9lxKsy7v+wA6wOlyTT3B0XHWS9Fhwh4AqKaOThkXn0gzV7Bf25pLRspeMDrj6zfUBHucYpRa73l3xU9T1WWQoAiHxqKSQXNU0yV6tArLlRROAgGCWldI76djG4O4U0cmObHiu3YCDGfzqkdoGQ9GqIOhVUJhmaPCO4giIUPdaaTr1Zc6gkDQ/C0dWKhAM0hRKEYgtEg1pxlnhRVnLrzG6C0nfCoywhneOgu22GrKaRSL5UgmRQ02lKq9CpyiJDZRTByQRFwXoQFdVdoyWA5Apj0cbgIStw8KuGyZWK8ZtmJwlS0whnTMe5iiNv021rCBFdRsumQZ0tzVgInLpObYnEgoPmT5mzVUeYs1UPPAzSD0MGpUDUq/D1FzWLjDmL2nxg3T9VFNP+daWED9FrqdNgNIPwPKBWgTOa6Aeq2ayoy8c8mkSnzDQ0KpN2frmzXk0hymWSQ4cs6vFFdKWfRgVJJ0BlkmgkidCVfJKLCtqLN+1W2UV3XUCjRNZpxoHRKxXpBWJNeueteVg2B0kW6M/qIknJhZJ0VA5Cfc8CyASiqxqCUaR1Dj3oN1uaZM8p/6qLJKgLzSAqDgeOLEC/59bA5TqV3TB7a2mkzkynKlUlIopCXMBJZbpb6iK6vFBdZGl0R798XldtxVFjAl4BEUVwauuHkkHf7GQjGA8PzNlqmTBnqx5oDGdryMDl+Orwm3bHIvolI+PYAgwZnALeJEHWULHL8hGGhow4PAgxYW8odQrhqqeK7pJEI10uavAlFqDgXoUVQdFdF4CTCGS9pk7FZG1K8rWRHYgJTQRMZjsZiph2c+gqu6JimB8JhMooQvTQgPA0f6qqOmxRjy8Cf68UJe296ZSeNVomqzhldaD2roVeLIPWq7TKQtjqONpWD2rulIDwPMw+OnAyoasWdTQnTGWWqQp8CfXYyifcy2q6ytGmuwUAQokMs7sKLrdoNEy29o2TSI2c/EFRK3Fof1KN7VobykcbY/ynK4sL6qJK/6AClw+S+xXBj6U/cDwypF21fiaj6dCQztYg4fl6cbYOif9hzlYdaTKrEUNDQ8FxnN22YoV9aZgffvgBTz/9NHQ6HYKCgrBq1apKWivj6tWreOaZZ6DX69GqVSvMnTsXoig66zXqja8Ov6mIjdrIOEajC18dnI+M42/RD/X7HC1Z85D/yu/cBUpKqHNl0EL2cgVcdEB+AfjfblJtKO+yP/gY/+lUDuJsMo2E5RUisvc7D/z4tIura/8BK8kV9L7SLq9TCmB/dfhNSHoBhOOsyeRcJQ1R9p9aAnInHy6X82niukxztFQWGiFTmWWY3QRIap7KT0gEsE5XchYZnESgzisGOEDWCJBdBGjySiEUWSCUSlaxVFmpdSi50DEhWwVRVaUi1PcsOLb7dajMdBUjb3XAaO1GHpxIIBhFcKJVl6sKnh61GgOeWQVZxSGiz7Iar8atDTZHCwAtT8VzIFLtC4jbVrRGP7YQKDIipv3rdHq7FqT99ldl5ZpSrDt4tl1B7vvJkD+lm7QLEfxYRGperHXfGYwKELl+Nkadecg/ee1ZunQpcnNzlW3mzJnKucLCQkRGRiIkJASnTp3C6tWrsXjxYmzZsqXS9iRJwjPPPAOz2YwTJ07ggw8+wI4dO7Bw4cKGeJ06oyms2ik88DWNfEX0oR9uvChDXWh2er/qQtqtTUjLfZ+KgBIC0aCGxc8VUmgA0m5sRPoPy8CJcpmOlbXsT0zHuUg/mwwIAlR3iu10rpze50pyhBRhVFDnmBetcgocMHTAcjqFeB82bTFOpQLuFsDl7G/QZ/0G/dV70F8rAm8h0N420VWFKg6yxrpykaNJ8ZJBgMVNjZK27pAFDhYPDUQXFUy+OrrKkaPip7yFQJtnps6UNaJFeMBiUMHY2gXGQB0A4MjncxU5D1ngoDLR0kIWNxVEgwBeooKuVenH8RIga6hcRUmADqV+WvQfsRpDBqc8kL2rI8o1DnKxEcRcNtajvafU6F6b05aetZSOxV/XgPxxo9bOjy2yZYvApl1dX+Pp9Qz5U3xp/hgRqhdq9UwGg/Hw0mSmEUNDQzF79mzMnj3b4fmNGzdiwYIFuH79OjRWfaY33ngDe/bswU8//eTwnrS0NDz77LP4448/4O/vDwDYtGkTkpKScOvWLaWd6ngYcrYqw5ZQb5OMGNo/GbJapYhZEo46AkMHLFecs4eNIQOXAzwH4Z4ZfG5eWVJ8+Hzgdj7Sbm1CdPe3AUDJfXJEXVcw1hfR3d6CxccAAOAtshKRBGCnMRXTcS7NUeM4RVF/yMDlEN3U4ESqrcWJhDpc1hwvjkCJNtmS823q8VBRMVSVRbY6XdRZN3vScS6USDT5XuAgaXgIRsluerD/iNV26vKcTBQpCd4s43C64ynCp0etVoRVbUn9trI/NeFBfm9RrnGKhlqUIRbguOo11ZoIEfxYZMiflu2rXmiRU49RLpPA6bS1XsHa2DTkNOJAbnS9TCMeJqkP5edbU6JJOVulpaWwWCwIDg7Giy++iMTERAjWEh+xsbEoLCzEnj17lHsOHTqEwYMH486dO/Dy8qrQ5sKFC/H5558jKytLOXb58mW0b98ep0+fRo8ePWrUt4fZ2XLE4CErAB5QGamm01eH38SQwSn46mDtpksag/tL3wDWBGd/HxCBByeRCpIEju6pcz8qqYFY4/v9p0Ps0AbgAOHqrQrRsagei8CJIriiEoDjQdz1tLROzh/0Ap4DCQmE2VdP5R2sdQslHU2olzQcBCPN4RINgiIPYfbS0JWMljIhU94kodRPS5P5OSirHgkHCEYa1bI5aETFQVZzdlOHvEhXSgrFEs3hEonDvMABw1aBCBy0e7+1cxYqtZE190mJSvGc3XRhddickBj/6SClJroQodwHc7T3FHAqVZ3yuhqLSPV4fGn5d2N3o9GJMsRif/GHjd2NWtGgzhZG1o+zhf82mc+3h5Um42ytW7cOPXv2hLe3N06cOIH58+fj5Zdfxrp1NL8mMjIS7dq1w+bNm5V7zp8/jy5duuD8+fMIDw+v0ObUqVORk5OD/fv3K8eMRiMMBgP27duHmJgYh30xmUwwmUzKfkFBAYKDg3Ht2rUmNxhHRK/G5+ll6tqj+y8HOA6pXzvf8RrdagpSb1JdpNGBf0Fq7mb78w6O3c9z3RZQDS5RhOzlCs4igQg8Uo+UReme6zQP0GnwWVbdc4Wee+Q1qsekEYASEz67+OD1+0YH/gVylw5QFZvA3byDzy6VRW/GPLkUUKtAbFN/V29AbtuK6lj9fhtScCvw90wQvV1gcdfQHCyrs2QrI8SbZZqjZ4tEiQTqYgtMXhp63qbVZZIgq2kelqTlrc4UryhHCyVyWRuEQFUqweyhVjS7bBEumltGr/1iTyIAYJTPZOzJ24YR0autKyl5SFqavZD2n9k1ttWY0ATaH1HE7t831srOY9rQKg62+8YEz8Duq3+jP4fMxO6cplN+hdH0KSwsRFBQEO7evQsPD4/qb3jAZ3h4eKAfhkFAHZ0tWHAM+5izVVdII5KUlGSdhKh8u3DhgsN7t23bRgRBIKWlpYQQQiIiIsjUqVPtrjl37hwBQM6fP++wjSlTppDIyEi7Y8XFxQQA2bdvX6X9XrRoUbX9Zhvb2MY2trGtsu3SpUu1+bisFSUlJSQgIKDe+hoQEEBKSkqc1t+WQJnaYSPw2muvIT4+vspr2rdv7/B4r169IIoirly5grCwMAQEBODGjRt219j2AwICHLYREBCAb7/9tlb3AMD8+fMxZ05ZuZG7d+8iJCQEV69eddo3laaA7RtbU4zw1SfMDhRmBwqzA4XZgWKbCfH29nbaM3Q6HS5fvgyzuX4WRGk0Guh0unppq6XSqM6Wn58f/Pz8HujerKws8DyPVq1aAQB69+6NBQsWwGKxQG0VJ8zIyEBYWJjDfC3bPcnJybh586bSTkZGBtzd3dG5c+dKn63VaqHVaisc9/DwaNH/idhwd3dndgCzgw1mBwqzA4XZgcLzzhUD0Ol0zEF6iGgS0g8nT57E+vXrcebMGfz666/YuXMnEhMT8dJLLymO1IsvvgiNRoPJkyfj3Llz2LVrFzZs2GAXgUpNTUWnTp2U/cjISHTu3BmTJk3CmTNnsH//frz11lt49dVXHTpTDAaDwWAwGLWlUSNbNUWr1eLf//43Fi9eDJPJhHbt2iExMdHOkfLw8MCXX36JV199FY8//jh8fX2xcOFCTJ06VbmmoKAA2dnZyr5KpcLevXsxffp09O7dGwaDAXFxcVi61H41G4PBYDAYDMaD0iScrZ49e+Kbb76p9rpu3brh6NGjlZ6Pj4+vkCMWEhKCffv21al/Wq0WixYtavHRMGYHCrMDhdmBwuxAYXagMDu0TJqM9AODwWAwGAxGU6RJ5GwxGAwGg8FgNFWYs8VgMBgMBoPhRJizxWAwGAwGg+FEmLPFYDAYDAaD4USYs1UJR44cwfDhw9G6dWtwHGdX4NpisSApKQldu3aFwWBA69atERsbiz/++MOujTt37mDixIlwd3eHp6cnJk+ejKKiogZ+k7pRH3YIDQ0Fx3F224oV9VsY2tlUZQcAWLx4MTp16gSDwQAvLy8MHToUmZmZdtc09/EA1MwOzWE8ANXbojzTpk0Dx3FYv3693fGWMCbKU5kdmsOYqM4O8fHxFd4xOjra7prmMB4YjmHOViUUFxeje/fueP/99yucMxqNOH36NN5++22cPn0au3fvRnZ2NkaMGGF33cSJE3Hu3DlkZGRg7969OHLkiJ3uV1OgPuwAAEuXLkVubq6yzZw5syG6X29UZQcAePTRR/G3v/0NZ8+exbFjxxAaGorIyEjcunVLuaa5jwegZnYAmv54AKq3hY3U1FR88803aN26dYVzLWFM2KjKDkDTHxM1sUN0dLTdO/7rX/+yO98cxgOjEhq7OGNTAABJTU2t8ppvv/2WACA5OTmEEELOnz9PAJDvvvtOuSYtLY1wHEd+//13Z3bXaTyIHQghJCQkhLz77rvO7VwDUhM7FBQUEADkwIEDhJCWOx7utwMhzW88EFK5LX777TfSpk0b8uOPP1Z475Y0JqqyAyHNb0w4skNcXBwZOXJkpfc0x/HAKINFtuqJgoICcBwHT09PALTEkKenJ5544gnlmqFDh4Ln+QrTKs2J++1gY8WKFfDx8UGPHj2wevVqiKLYOB1sAMxmM7Zs2QIPDw90794dQMscD47sYKMljAdZljFp0iTMnTsXXbp0qXC+pYyJ6uxgoyWMicOHD6NVq1YICwvD9OnTkZeXp5xrKeOhpdIkFOQfdkpLS5GUlIQJEyYoBVavX7+uFLe2IQgCvL29cf369cboptNxZAcASEhIQM+ePeHt7Y0TJ05g/vz5yM3Nxbp16xqxt/XP3r17MX78eBiNRgQGBiIjIwO+vr4AWtZ4qMoOQMsZDytXroQgCEhISHB4vqWMiersALSMMREdHY0xY8agXbt2uHTpEt58803ExMTg5MmTUKlULWY8tFSYs1VHLBYLxo0bB0IINm7c2NjdaTSqskP5GpbdunWDRqPBX/7yF6SkpDSrkhWDBg1CVlYWbt++ja1bt2LcuHHIzMys8B9oc6c6O7SE8XDq1Cls2LABp0+fBsdxjd2dRqOmdmgJY2L8+PHKz127dkW3bt3QoUMHHD58GEOGDGnEnjEaAjaNWAdsDkZOTg4yMjLsojkBAQG4efOm3fWiKOLOnTsICAho6K46lars4IhevXpBFEVcuXKlYTrYQBgMBnTs2BFPPfUUtm3bBkEQsG3bNgAtazxUZQdHNMfxcPToUdy8eRPBwcEQBAGCICAnJwevvfYaQkNDAbSMMVETOziiOY6J+2nfvj18fX1x8eJFAC1jPLRkmLP1gNgcjF9++QUHDhyAj4+P3fnevXvj7t27OHXqlHLs4MGDkGUZvXr1aujuOo3q7OCIrKws8Dzf7CM+sizDZDIBaDnjwRHl7eCI5jgeJk2ahB9++AFZWVnK1rp1a8ydOxf79+8H0DLGRE3s4IjmOCbu57fffkNeXh4CAwMBtIzx0JJh04iVUFRUpHzjAIDLly8jKysL3t7eCAwMxPPPP4/Tp09j7969kCRJmVP39vaGRqNBeHg4oqOjMWXKFGzatAkWiwUzZszA+PHjK136/DBSVzucPHkSmZmZGDRoENzc3HDy5EkkJibipZdegpeXV2O9Vq2pyg4+Pj5ITk7GiBEjEBgYiNu3b+P999/H77//jrFjxwJAixgPNbFDcxkPQNW2CA4OrvDFQ61WIyAgAGFhYQBaxpioiR2ay5ioyg7e3t5YsmQJnnvuOQQEBODSpUuYN28eOnbsiKioKADNZzwwKqGxl0M+rBw6dIgAqLDFxcWRy5cvOzwHgBw6dEhpIy8vj0yYMIG4uroSd3d38vLLL5N79+413ks9AHW1w6lTp0ivXr2Ih4cH0el0JDw8nCxfvpyUlpY27ovVkqrsUFJSQkaPHk1at25NNBoNCQwMJCNGjCDffvutXRvNfTzUxA7NZTwQUrUtHOFI3qC5jwlH3G+H5jImqrKD0WgkkZGRxM/Pj6jVahISEkKmTJlCrl+/btdGcxgPDMdwhBDiBB+OwWAwGAwGgwGWs8VgMBgMBoPhVJizxWAwGAwGg+FEmLPFYDAYDAaD4USYs8VgMBgMBoPhRJizxWAwGAwGg+FEmLPFYDAYDAaD4USYs8VgMBgMBoPhRJizxWAAGDhwIGbPnt2snhsfH49Ro0bVqY3Q0FBwHAeO43D37t1Kr9uxYwc8PT3r9CxG5cTHxyu/hz179jR2dxgMRi1hzhaD0Yjs3r0b77zzjrIfGhqK9evXN16HHLB06VLk5ubCw8OjsbvS7Dl8+LBDx3bDhg3Izc1tnE4xGIw6w2ojMhiNiLe3d2N3oVrc3NwQEBDQ2N0AQAufq9Xqxu5Gg+Ph4cGcXQajCcMiWwyGA/Lz8xEbGwsvLy/o9XrExMTgl19+Uc7bps3279+P8PBwuLq6Ijo62i76IIoiEhIS4OnpCR8fHyQlJSEuLs5uaq/8NOLAgQORk5ODxMREZcoIABYvXozHHnvMrn/r169HaGiosi9JEubMmaM8a968ebi/Epcsy0hJSUG7du3g4uKC7t274z//+c8D2WfHjh0IDg6GXq/H6NGjkZeXV+Ga//73v+jZsyd0Oh3at2+PJUuWQBRF5fxPP/2Efv36QafToXPnzjhw4IDdNNmVK1fAcRx27dqFAQMGQKfTYefOnQCAf/zjHwgPD4dOp0OnTp3w97//3e7Z165dw7hx4+Dp6Qlvb2+MHDkSV65cUc4fPnwYTz75JAwGAzw9PdG3b1/k5OTU6N2re69169aha9euMBgMCAoKwiuvvIKioiLlfE5ODoYPHw4vLy8YDAZ06dIF+/btw5UrVzBo0CAAgJeXFziOQ3x8fI36xGAwHm6Ys8VgOCA+Ph7ff/89Pv/8c5w8eRKEEAwbNgwWi0W5xmg0Ys2aNfjoo49w5MgRXL16Fa+//rpyfuXKldi5cye2b9+O48ePo7CwsMp8m927d6Nt27bKtF1tpo3Wrl2LHTt24J///CeOHTuGO3fuIDU11e6alJQUfPjhh9i0aRPOnTuHxMREvPTSS/j6669rbhgAmZmZmDx5MmbMmIGsrCwMGjQIy5Yts7vm6NGjiI2NxaxZs3D+/Hls3rwZO3bsQHJyMgDqHI4aNQp6vR6ZmZnYsmULFixY4PB5b7zxBmbNmoULFy4gKioKO3fuxMKFC5GcnIwLFy5g+fLlePvtt/HBBx8AoNGvqKgouLm54ejRozh+/LjiDJvNZoiiiFGjRmHAgAH44YcfcPLkSUydOlVxbquiuvcCAJ7n8de//hXnzp3DBx98gIMHD2LevHnK+VdffRUmkwlHjhzB2bNnsXLlSri6uiIoKAifffYZACA7Oxu5ubnYsGFDrX43DAbjIaVx62AzGA8HAwYMILNmzSKEEPLzzz8TAOT48ePK+du3bxMXFxfyySefEEII2b59OwFALl68qFzz/vvvE39/f2Xf39+frF69WtkXRZEEBweTkSNHOnwuIYSEhISQd999165vixYtIt27d7c79u6775KQkBBlPzAwkKxatUrZt1gspG3btsqzSktLiV6vJydOnLBrZ/LkyWTChAmV2sVRfyZMmECGDRtmd+yFF14gHh4eyv6QIUPI8uXL7a756KOPSGBgICGEkLS0NCIIAsnNzVXOZ2RkEAAkNTWVEELI5cuXCQCyfv16u3Y6dOhAPv74Y7tj77zzDundu7fynLCwMCLLsnLeZDIRFxcXsn//fpKXl0cAkMOHD1f63pVR3Xs54tNPPyU+Pj7KfteuXcnixYsdXnvo0CECgOTn5zs8X94+DAaj6cBythiM+7hw4QIEQUCvXr2UYz4+PggLC8OFCxeUY3q9Hh06dFD2AwMDcfPmTQBAQUEBbty4gSeffFI5r1Kp8Pjjj0OW5Xrtb0FBAXJzc+36KwgCnnjiCWUq8eLFizAajYiIiLC712w2o0ePHrV63oULFzB69Gi7Y71790Z6erqyf+bMGRw/ftwu4iNJEkpLS2E0GpGdnY2goCC7XLDytirPE088ofxcXFyMS5cuYfLkyZgyZYpyXBRFJafpzJkzuHjxItzc3OzaKS0txaVLlxAZGYn4+HhERUUhIiICQ4cOxbhx4xAYGFjtu1f3Xnq9HgcOHEBKSgp++uknFBYWQhRFu/MJCQmYPn06vvzySwwdOhTPPfccunXrVu2zGQxG04U5WwzGA3J/ojbHcRXypOoDnucrtFt+OrMm2HKGvvjiC7Rp08bunFarrVsHK3nekiVLMGbMmArndDpdrdoyGAx27QLA1q1b7ZxLgDqztmsef/xxJb+rPH5+fgCA7du3IyEhAenp6di1axfeeustZGRk4KmnnqrTe125cgXPPvsspk+fjuTkZHh7e+PYsWOYPHkyzGYz9Ho9/vznPyMqKgpffPEFvvzyS6SkpGDt2rWYOXNmrezCYDCaDszZYjDuIzw8HKIoIjMzE3369AEA5OXlITs7G507d65RGx4eHvD398d3332H/v37A6ARkNOnT1dIdi+PRqOBJEl2x/z8/HD9+nUQQpS8oqysLLtnBQYGIjMzU3mWKIo4deoUevbsCQDo3LkztFotrl69igEDBtToHSojPDwcmZmZdse++eYbu/2ePXsiOzsbHTt2dNhGWFgYrl27hhs3bsDf3x8A8N1331X7bH9/f7Ru3Rq//vorJk6c6PCanj17YteuXWjVqhXc3d0rbatHjx7o0aMH5s+fj969e+Pjjz+u1tmq7r1OnToFWZaxdu1a8DxNif3kk08qXBcUFIRp06Zh2rRpmD9/PrZu3YqZM2dCo9EAQIUxwGAwmjbM2WIw7uORRx7ByJEjMWXKFGzevBlubm5444030KZNG4wcObLG7cycORMpKSno2LEjOnXqhPfeew/5+flVJmKHhobiyJEjGD9+PLRaLXx9fTFw4EDcunULq1atwvPPP4/09HSkpaXZORKzZs3CihUr8Mgjj6BTp05Yt26dnVaTm5sbXn/9dSQmJkKWZfTr1w8FBQU4fvw43N3dERcXV+P3SkhIQN++fbFmzRqMHDkS+/fvt5tCBICFCxfi2WefRXBwMJ5//nnwPI8zZ87gxx9/xLJlyxAREYEOHTogLi4Oq1atwr179/DWW28BQLWJ6kuWLEFCQgI8PDwQHR0Nk8mE77//Hvn5+ZgzZw4mTpyI1atXY+TIkVi6dCnatm2LnJwc7N69G/PmzYPFYsGWLVswYsQItG7dGtnZ2fjll18QGxtb7btX914dO3aExWLBe++9h+HDh+P48ePYtGmTXRuzZ89GTEwMHn30UeTn5+PQoUMIDw8HAISEhIDjOOzduxfDhg2Di4sLXF1da/y7YTAYDymNmzLGYDwc3J+ofufOHTJp0iTi4eFBXFxcSFRUFPn555+V89u3b7dLCCeEkNTUVFL+T8pisZAZM2YQd3d34uXlRZKSksjYsWPJ+PHjK33uyZMnSbdu3YhWq7Vra+PGjSQoKIgYDAYSGxtLkpOT7RLkLRYLmTVrFnF3dyeenp5kzpw5JDY21i4ZX5Zlsn79ehIWFkbUajXx8/MjUVFR5Ouvv67ULo4S5AkhZNu2baRt27bExcWFDB8+nKxZs6aCPdLT00mfPn2Ii4sLcXd3J08++STZsmWLcv7ChQukb9++RKPRkE6dOpH//e9/BABJT08nhJQlyP/f//1fhefv3LmTPPbYY0Sj0RAvLy/Sv39/snv3buV8bm4uiY2NJb6+vkSr1ZL27duTKVOmkIKCAnL9+nUyatQoEhgYSDQaDQkJCSELFy4kkiRVaofavNe6detIYGCgMm4+/PBDu6T3GTNmkA4dOhCtVkv8/PzIpEmTyO3bt5X7ly5dSgICAgjHcSQuLs7u2WAJ8gxGk4QjxAlJJgwGowKyLCM8PBzjxo2zU41/mAkNDcXs2bMbpJTR8ePH0a9fP1y8eNFu4QGjDI7jkJqaWucyTAwGo2FhOlsMhpPIycnB1q1b8fPPP+Ps2bOYPn06Ll++jBdffLGxu1YrkpKS4OrqioKCgnptNzU1FRkZGbhy5QoOHDiAqVOnom/fvszRcsC0adPYdCKD0YRhkS0Gw0lcu3YN48ePx48//ghCCP70pz9hxYoVShJ7UyAnJ0dZ+di+fXsl6bs++PDDD7Fs2TJcvXoVvr6+GDp0KNauXQsfH596e0Zt6dKlS6VK8ps3b640Kd/Z3Lx5E4WFhQCoxEj5FZoMBuPhhzlbDAaDYaW8c3k//v7+FbS7GAwGoyYwZ4vBYDAYDAbDibCcLQaDwWAwGAwnwpwtBoPBYDAYDCfCnC0Gg8FgMBgMJ8KcLQaDwWAwGAwnwpwtBoPBYDAYDCfCnC0Gg8FgMBgMJ8KcLQaDwWAwGAwnwpwtBoPBYDAYDCfy/wGUWG06DeoG7QAAAABJRU5ErkJggg==", + "image/png": "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QURERFRmlOqaLF9fX2zZsgXbtm2DjY0NIiMjERkZiefPnwMAfHx84OXlhbFjx+Ls2bMIDw/HokWLEBISgt69ewMAmjdvjgoVKmD48OG4fPkywsLCMG3aNNy9exfdunWTzuXj44PAwEDp62nTpiEgIABr167F7du3sXz5cvzxxx/45JNPSvR7QERERAZKlGIAcn2sX79e2icsLEz07dtXKBQKYWVlJerWrSs2bdqk9jr//POP6Ny5s3BwcBA2NjaiWbNm4s8//8xxrldfVwghfvrpJ+Hl5SUsLCxEvXr1xK5duzSOPSEhQQAQCQkJWl83ERER6Yc2n99lpvC9tGGfLCIiotKn3PbJIiIiIjIUTLKIiIiIdIBJFhEREZEOMMkiIiIi0gEmWUREREQ6wCSLiIiISAeYZBERERHpAJMsIiIiIh1gkkVERESkA0yyiIiIiHSASRYRERGRDjDJIiIiItIBJllEREREOsAki4iIiEgHmGQRERER6QCTLCIiIiIdYJJFREREpANMsoiIiIh0gEkWERERkQ4wySIiIiLSASZZRERERDrAJIuIiIhIB5hkEREREekAkywiIiIiHWCSRURERKQDTLKIiIiIdIBJFhEREZEOMMkiIiIi0gEmWUREREQ6wCSLiIiISAeYZBERERHpAJMsIiIiIh1gkkVERESkA0yyiIiIiHSASRYRERGRDjDJIiIiItIBJllEREREOsAki4iIiEgHSnWS5e/vj8aNG8PGxgYKhQK9e/dGaGio2j6RkZEYOnQoXF1dIZfL0aBBA+zcuVNtn7CwMPTq1QtOTk6wtbVFq1atcPjwYY3jGDduHGQyGZYuXVocl0VERERlQKlOso4ePQpfX1+cOXMGISEhyMjIQOfOnZGcnCztM2zYMISGhmLPnj24evUq+vbti/79++PixYvSPt27d0dmZiYOHTqE8+fPo169eujevTsiIyMLjCEwMBBnzpxBpUqVdHKNREREVDrJhBBC30EUl6dPn0KhUODo0aNo06YNAMDa2horV67E0KFDpf0cHR2xcOFCjB49GtHR0XB2dsaxY8fQunVrAMCzZ89ga2uLkJAQdOzYMc/z/ffff2jatCn27duHbt26YdKkSZg0aZJGsSYmJsLOzg4JCQmwtbUt/EUTERFRidHm87tUj2S9LiEhAQDg4OAgbWvRogUCAgIQGxsLpVKJ7du3IzU1Fe3atQOQnXBVr14dmzZtQnJyMjIzM7F69WooFAo0bNgwz3MplUoMHToU06ZNQ61atQqMLS0tDYmJiWoPIiIiKrtM9B1AcVEqlZg0aRJatmyJ2rVrS9t37NiBAQMGwNHRESYmJrCyskJgYCC8vLwAADKZDAcOHEDv3r1hY2MDIyMjKBQKBAcHo0KFCnmeb+HChTAxMcHEiRM1is/f3x9z5swp2kUSERFRqVFmRrJ8fX1x7do1bN++XW37zJkzER8fjwMHDuDcuXPw8/ND//79cfXqVQCAEAK+vr5QKBQ4fvw4zp49i969e6NHjx6IiIjI9Vznz5/HDz/8gA0bNkAmk2kU34wZM5CQkCA9Hj58WLQLJiIiIoNWJmqyxo8fj927d+PYsWPw9PSUtoeHh8PLywvXrl1Tm9Lr2LEjvLy8sGrVKhw8eBCdO3dGXFyc2tyqt7c3PvzwQ0yfPj3H+ZYuXQo/Pz8YGb3MUbOysmBkZAQ3Nzfcu3evwJhZk0VERFT6aPP5XaqnC4UQmDBhAgIDA3HkyBG1BAsAUlJSAEAtGQIAY2NjKJXKfPcxMjKS9nnd0KFDcxTEd+nSBUOHDsXIkSMLf0FERERUZpTqJMvX1xfbtm3D7t27YWNjI7VcsLOzg6WlJXx8fODl5YWxY8fi+++/h6OjI3bt2oWQkBAEBQUBAJo3b44KFSpg+PDhmDVrFiwtLbF27VrcvXsX3bp1k87l4+MDf39/9OnTB46OjnB0dFSLxdTUFK6urqhevXrJfQOIiIjIYJXqmqyVK1ciISEB7dq1Q8WKFaVHQEAAgOzE588//4SzszN69OiBunXrYtOmTdi4cSO6du0KAHByckJwcDCSkpLQvn17NGrUCCdOnMDu3btRr1496VyhoaHS3YtEREREBSkTNVmlEWuyiIiISp9y2yeLiIiIyFAwySIiIiLSASZZRERERDrAJIuIiIhIB5hkEREREekAkywiIiIiHWCSRURERKQDTLKIiIiIdIBJFhEREZEOMMkiIiIi0gEmWUREREQ6wCSLiIiISAeYZBERERHpAJMsIiIiIh1gkkVERESkA0yyiIiIiHSASRYRERGRDjDJIiIiItIBJllEREREOsAki4iIiEgHmGQRERER6QCTLCIiIiIdYJJFREREpANMsoiIiIh0gEkWERERkQ4wySIiIiLSARN9B1BeCSEAAImJiXqOhIiIiDSl+txWfY7nh0mWnjx79gwA4ObmpudIiIiISFvPnj2DnZ1dvvvIhCapGBU7pVKJx48fw8bGBjKZTN/haC0xMRFubm54+PAhbG1t9R1OieF187rLi/J67aX1uktr3MWhpK9dCIFnz56hUqVKMDLKv+qKI1l6YmRkhMqVK+s7jCKztbUtd7/QAK+7vCmv1w2U32svrdddWuMuDiV57QWNYKmw8J2IiIhIB5hkEREREekAkywqFHNzc8yePRvm5ub6DqVE8bp53eVFeb320nrdpTXu4mDI187CdyIiIiId4EgWERERkQ4wySIiIiLSASZZRERERDrAJIuIiKiMkslk2LVrl77DKLeYZFGBVqxYAQ8PD1hYWKBp06Y4e/as9Fx4eDj69OkDZ2dn2Nraon///njy5Ikeoy0ex44dQ48ePVCpUqVc36S++uor+Pj4QC6Xo0KFCujYsSP+/vtv/QRbjAq6bplMluvju+++00/AxcTf3x+NGzeGjY0NFAoFevfujdDQULV91qxZg3bt2sHW1hYymQzx8fH6CbYYaXLd7dq1y/H/PW7cOD1FXDw0uW5Dem8bMWJErr93t2/f1ks8+pTf55Eh/qwyyaJ8BQQEwM/PD7Nnz8aFCxdQr149dOnSBVFRUUhOTkbnzp0hk8lw6NAhnDx5Eunp6ejRoweUSqW+Qy+S5ORk1KtXDytWrMj1+TfffBPLly/H1atXceLECXh4eKBz5854+vRpCUdavAq67oiICLXHzz//DJlMhn79+pVwpMXr6NGj8PX1xZkzZxASEoKMjAx07twZycnJ0j4pKSl455138L///U+PkRYvTa4bAD766CO1//dvv/1WTxEXj4Ku2xDf2955550cv3+enp56iUVf8vs8UjG4n1VBlI8mTZoIX19f6eusrCxRqVIl4e/vL/bt2yeMjIxEQkKC9Hx8fLyQyWQiJCREH+HqBAARGBiY7z4JCQkCgDhw4EDJBFUCNLnuXr16ifbt25dMQCUoKipKABBHjx7N8dzhw4cFABEXF1fygelYbtfdtm1b8emnn+ovqBLw+nUb2nvb8OHDRa9evXJ9bteuXeKtt94S5ubmwtPTU3z11VciIyNDeh6A+L//+z/xzjvvCAsLC+Hp6Sl+/fXXEoq8eOX3eSSEYf6sciSL8pSeno7z58+jY8eO0jYjIyN07NgRp0+fRlpaGmQymVoDOAsLCxgZGeHEiRP6CFkv0tPTsWbNGtjZ2aFevXr6DqfEPHnyBHv37sWHH36o71CKXUJCAgDAwcFBz5GUrLyue+vWrXByckLt2rUxY8YMpKSk6CM8nXn9ukvLe9vx48cxbNgwfPrpp/j333+xevVqbNiwAfPmzVPbb+bMmejXrx8uX76MIUOGYODAgbhx44aeoi6cgj6PVAztZ5VJFuUpOjoaWVlZcHFxUdvu4uKCyMhINGvWDHK5HJ9//jlSUlKQnJyMqVOnIisrCxEREXqKuuQEBQXB2toaFhYWWLJkCUJCQuDk5KTvsErMxo0bYWNjg759++o7lGKlVCoxadIktGzZErVr19Z3OCUmr+sePHgwtmzZgsOHD2PGjBnYvHkzPvjgAz1GWrxyu25DfG9Tvd+oHu+//z7mzJmD6dOnY/jw4ahatSo6deqEuXPnYvXq1WrHvv/++xg9ejTefPNNzJ07F40aNcKyZcv0ch2FVdDnEWCYP6smej07lWrOzs749ddf8fHHH+PHH3+EkZERBg0ahAYNGsDIqOzn72+//TYuXbqE6OhorF27Fv3798fff/8NhUKh79BKxM8//4whQ4bAwsJC36EUK19fX1y7ds2gRixKQl7XPWbMGOnfderUQcWKFdGhQweEh4ejWrVqJR1mscvtug3xve3tt9/GypUrpa/lcjnq1q2LkydPqo1cZWVlITU1FSkpKbCysgIANG/eXO21mjdvjkuXLpVI3CXJEH9WmWRRnpycnGBsbJzjjponT57A1dUVANC5c2eEh4cjOjoaJiYmsLe3h6urK6pWraqPkEuUXC6Hl5cXvLy80KxZM3h7e+Onn37CjBkz9B2azh0/fhyhoaEICAjQdyjFavz48QgKCsKxY8dQuXJlfYdTYrS57qZNmwIAbt++XeqTrPyu29De21TvN69KSkrCnDlzch1NLmt//GjyefQ6Q/hZLfvDDVRoZmZmaNiwIQ4ePChtUyqVOHjwYI6/jJycnGBvb49Dhw4hKioKPXv2LOlw9U6pVCItLU3fYZSIn376CQ0bNiwzNWhCCIwfPx6BgYE4dOhQublrqzDXrRoBqVixoo6j0x1trtuQ39saNGiA0NBQ6Y+9Vx+vjridOXNG7bgzZ86gRo0aJR1ukWjzeaRiCD+rHMmifPn5+WH48OFo1KgRmjRpgqVLlyI5ORkjR44EAKxfvx41atSAs7MzTp8+jU8//RSTJ09G9erV9Rx50SQlJan1oLl79y4uXboEBwcHODo6Yt68eejZsycqVqyI6OhorFixAv/99x/ef/99PUZddPldd5UqVQAAiYmJ+PXXX7Fo0SJ9hVnsfH19sW3bNuzevRs2NjZSjYednR0sLS0BAJGRkYiMjJS+P1evXoWNjQ2qVKlSagvkC7ru8PBwbNu2DV27doWjoyOuXLmCyZMno02bNqhbt66eoy88Tf6/S8N726xZs9C9e3dUqVIF7733HoyMjHD58mVcu3YN33zzjbTfr7/+ikaNGqFVq1bYunUrzp49i59++kmPkRdOfp9HBvuzque7G6kUWLZsmahSpYowMzMTTZo0EWfOnJGe+/zzz4WLi4swNTUV3t7eYtGiRUKpVOox2uKhuk3/9cfw4cPF8+fPRZ8+fUSlSpWEmZmZqFixoujZs6c4e/asvsMusvyuW2X16tXC0tJSxMfH6y/QYpbbNQMQ69evl/aZPXt2gfuUNgVd94MHD0SbNm2Eg4ODMDc3F15eXmLatGlqrQ1KI03+vw3pvS2/Fg7BwcGiRYsWwtLSUtja2oomTZqINWvWSM8DECtWrBCdOnUS5ubmwsPDQwQEBJRQ5MUvr88jQ/1ZlQkhhK4TOSIiIqLyhjVZRERERDrAJIuIiIhIB5hkEREREekAkywiIiIiHWCSRURERKQDTLKIiIiIdIBJFhEREdEr7t27B5lMVuQ1HplkEVGRCCEwZswYODg4FMubUmnx1VdfoX79+voOI1eG8n9y8uRJ1KlTB6ampujduzeOHDkCmUyG+Ph4AMCGDRtgb2+vl9io6Pz9/dG4cWPY2NhAoVCgd+/eCA0NVdsnNTUVvr6+cHR0hLW1Nfr166e2/uDly5cxaNAguLm5wdLSEjVq1MAPP/yQ5zlPnjwJExMTjX732rVrB5lMluORmZlZ6GvWFpMsIiqS4OBgbNiwAUFBQYiIiEDt2rX1HVKxk8lk2LVrl9q2qVOnqq2jZkh0+X+izV/4fn5+qF+/Pu7evYsNGzagRYsWiIiIgJ2dXbHFQ/pz9OhR+Pr64syZMwgJCUFGRgY6d+6M5ORkaZ/Jkyfjjz/+wK+//oqjR4/i8ePHagtanz9/HgqFAlu2bMH169fxxRdfYMaMGVi+fHmO88XHx2PYsGHo0KGDxjF+9NFHiIiIUHuYmJTcioJcu5CIcpWeng4zM7MC9wsPD0fFihXRokWLQp9LCIGsrKwSffMrKmtra1hbW+s7jFwVx/9JccUxbtw4VK5cWdrm6uqqx4ioOAUHB6t9vWHDBigUCpw/fx5t2rRBQkICfvrpJ2zbtg3t27cH8HJNyDNnzqBZs2YYNWqU2mtUrVoVp0+fxu+//47x48erPTdu3DgMHjwYxsbGOf7oyYuVlVWeP3Pr1q3DokWLcPfuXXh4eGDixIn45JNP1Pa5efMmPvnkE1y4cAFeXl5YsWIF2rZtq9G5AY5kEdEL7dq1w/jx4zFp0iQ4OTmhS5cuAIBr167h3XffhbW1NVxcXDB06FBER0cDAEaMGIEJEybgwYMHkMlk8PDwAAAolUr4+/vD09MTlpaWqFevHn777TfpXKppo7/++gsNGzaEubk5Tpw4ofFxBw8eRKNGjWBlZYUWLVrkmKL4448/0LhxY1hYWMDJyQl9+vSRnktLS8PUqVPxxhtvQC6Xo2nTpjhy5Eie3xfVNfXp00ftGl+fLhwxYgR69+6N+fPnw8XFBfb29vj666+RmZmJadOmwcHBAZUrV8b69evVXv/hw4fo378/7O3t4eDggF69euHevXv5/l8dPXoUTZo0gbm5OSpWrIjp06dLUyB5/Z+87v79++jRowcqVKgAuVyOWrVq4c8//wQAxMXFYciQIXB2doalpSW8vb2luD09PQEAb731FmQyGdq1a5fjtVWjXTExMRg1ahRkMhk2bNiQY7owN7t370aDBg1gYWGBqlWrYs6cOSU6vUOFl5CQAADSgunnz59HRkYGOnbsKO3j4+ODKlWq4PTp0/m+zuuLrq9fvx537tzB7NmziyXWrVu3YtasWZg3bx5u3LiB+fPnY+bMmdi4caPaftOmTcOUKVNw8eJFNG/eHD169EBMTIzmJ9LryolEZDDatm0rrK2txbRp08TNmzfFzZs3RVxcnHB2dhYzZswQN27cEBcuXBCdOnUSb7/9thBCiPj4ePH111+LypUri4iICBEVFSWEEOKbb74RPj4+Ijg4WISHh4v169cLc3NzceTIESHEy4Wo69atK/bv3y9u374tYmJiND6uadOm4siRI+L69euidevWokWLFtJ1BAUFCWNjYzFr1izx77//ikuXLon58+dLz48ePVq0aNFCHDt2TNy+fVt89913wtzcXISFheX6fYmKipIWD371GmfPni3q1asn7Td8+HBhY2MjfH19xc2bN8VPP/0kAIguXbqIefPmibCwMDF37lxhamoqHj58KIQQIj09XdSoUUOMGjVKXLlyRfz7779i8ODBonr16iItLS3XeB49eiSsrKzEJ598Im7cuCECAwOFk5OTmD17dr7/J6/r1q2b6NSpk7hy5YoIDw8Xf/zxhzh69KgQQghfX19Rv3598c8//4i7d++KkJAQsWfPHiGEEGfPnhUAxIEDB0RERISIiYnJ8dqZmZkiIiJC2NraiqVLl4qIiAiRkpIi/f/FxcUJIYRYv369sLOzk447duyYsLW1FRs2bBDh4eFi//79wsPDQ3z11Ve5XgMZjqysLNGtWzfRsmVLadvWrVuFmZlZjn0bN24sPvvss1xf5+TJk8LExETs27dP2hYWFiYUCoUIDQ0VQuT83ctL27ZthampqZDL5dLDz89PCCFEtWrVxLZt29T2nzt3rmjevLkQQoi7d+8KAGLBggXS8xkZGaJy5cpi4cKFBZ5bhUkWEQkhst+Q3nrrLbVtc+fOFZ07d1bb9vDhQwFAesNbsmSJcHd3l55PTU0VVlZW4tSpU2rHffjhh2LQoEFCiJfJ0q5duwp13IEDB6Tn9+7dKwCI58+fCyGEaN68uRgyZEiu13j//n1hbGws/vvvP7XtHTp0EDNmzMj9GyOEACACAwPVtuWWZLm7u4usrCxpW/Xq1UXr1q2lrzMzM4VcLhe//PKLEEKIzZs3i+rVqwulUintk5aWJiwtLdU+ZF71v//9L8cxK1asENbW1tK5X/8/yU2dOnXyTF569OghRo4cmetzqg+fixcv5vv6QghhZ2cn1q9fL31dUJLVoUMHtYRYiOzvUcWKFQs8F+nXuHHjhLu7u/QHhBDaJ1lXr14VTk5OYu7cudK2zMxM0ahRI7Fy5Upp2+u/e1u2bFFLpI4dOyaEyH5PGzFihLh165b0ePr0qUhKShIAhKWlpdpx5ubmQqFQCCFe/pyr/vBQ6d27txgxYoTG35fSUwBBRDrXsGFDta8vX76Mw4cP51p7FB4ejjfffDPH9tu3byMlJQWdOnVS256eno633npLbVujRo0KdVzdunWlf1esWBEAEBUVhSpVquDSpUv46KOPcr2+q1evIisrK0fcaWlpcHR0zPUYbdSqVQtGRi+rMFxcXNSKzo2NjeHo6IioqCgA2d/f27dvw8bGRu11UlNTER4enus5bty4gebNm0Mmk0nbWrZsiaSkJDx69AhVqlTRKNaJEyfi448/xv79+9GxY0f069dP+r5+/PHH6NevHy5cuIDOnTujd+/eJVLfdfnyZZw8eRLz5s2TtmVlZSE1NRUpKSmwsrLSeQykvfHjxyMoKAjHjh3LUX+Xnp6O+Ph4tbtInzx5kqNO6t9//0WHDh0wZswYfPnll9L2Z8+e4dy5c7h48aJUo6VUKiGEgImJCfbv34+ePXuiadOm0jFvvPGG9G87Ozt4eXmpnUt1d+PatWvVjgOyf0eLE5MsIpLI5XK1r5OSktCjRw8sXLgwx76q5OZ1SUlJAIC9e/eqvdkBgLm5eZ7n0+Y4U1NT6d+qZEOpVAIALC0tc41LdQ5jY2OcP38+x5tpcRSxvxqXKrbctqliTUpKQsOGDbF169Ycr+Xs7FzkePIzevRodOnSBXv37sX+/fvh7++PRYsWYcKECXj33Xdx//59/PnnnwgJCUGHDh3g6+uL77//XqcxJSUlYc6cOWp3n6lYWFjo9NykPSEEJkyYgMDAQBw5ckSq11Np2LAhTE1NcfDgQfTr1w8AEBoaigcPHqB58+bSftevX0f79u0xfPhwtQQbAGxtbXH16lW1bf/3f/+HQ4cO4bfffoOnpyfkcnmOP1Ty4+LigkqVKuHOnTsYMmRIvvueOXMGbdq0AQBkZmbi/PnzOQry88Mki4jy1KBBA+zcuRMeHh4a3/lXs2ZNmJub48GDB1rdhVPY415Xt25dHDx4ECNHjszx3FtvvYWsrCxERUWhdevWGr+mqakpsrKyCh1TXho0aICAgAAoFArY2tpqdEyNGjWwc+dOCCGkBPPkyZOwsbFRG0XQhJubG8aNG4dx48ZhxowZWLt2LSZMmAAgO8kbPnw4hg8fjtatW2PatGn4/vvvpTtOdfX9CA0NzTHyQIbJ19cX27Ztw+7du2FjY4PIyEgA2aNHlpaWsLOzw4cffgg/Pz84ODjA1tYWEyZMQPPmzdGsWTMA2TfWtG/fHl26dIGfn5/0GsbGxnB2doaRkVGOFiQKhQIWFhZFak0yZ84cTJw4EXZ2dnjnnXeQlpaGc+fOIS4uDn5+ftJ+K1asgLe3N2rUqIElS5YgLi4uxx2R+eHdhUSUJ19fX8TGxmLQoEH4559/EB4ejn379mHkyJF5fsja2Nhg6tSpmDx5MjZu3Ijw8HBcuHABy5Yty3HnTnEc97rZs2fjl19+wezZs3Hjxg1cvXpVGol78803MWTIEAwbNgy///477t69i7Nnz8Lf3x979+7N8zU9PDxw8OBBREZGIi4uTuNYCjJkyBA4OTmhV69eOH78OO7evYsjR45g4sSJePToUa7HfPLJJ3j48CEmTJiAmzdvYvfu3Zg9ezb8/PzUpioLMmnSJOzbtw93797FhQsXcPjwYdSoUQMAMGvWLOzevRu3b9/G9evXERQUJD2nUChgaWmJ4OBgPHnyRLqjrDjMmjULmzZtwpw5c3D9+nXcuHED27dvV5s+IsOxcuVKJCQkoF27dqhYsaL0CAgIkPZZsmQJunfvjn79+qFNmzZwdXXF77//Lj3/22+/4enTp9iyZYvaazRu3FinsY8ePRrr1q3D+vXrUadOHbRt2xYbNmzIMRq3YMECLFiwAPXq1cOJEyewZ88eODk5aX4ijau3iKhMa9u2rfj0009zbA8LCxN9+vQR9vb2wtLSUvj4+IhJkyZJhde5FVkrlUqxdOlSUb16dWFqaiqcnZ1Fly5dpCLS1wugi3LcxYsXBQBx9+5dadvOnTtF/fr1hZmZmXBychJ9+/aVnktPTxezZs0SHh4ewtTUVFSsWFH06dNHXLlyJc/vzZ49e4SXl5cwMTGRrjW3wvdevXoV+D11d3cXS5Yskb6OiIgQw4YNE05OTsLc3FxUrVpVfPTRRyIhISHPeI4cOSIaN24szMzMhKurq/j8889FRkaG9Lwmhe/jx48X1apVE+bm5sLZ2VkMHTpUREdHCyGyb3ioUaOGsLS0FA4ODqJXr17izp070rFr164Vbm5uwsjISLRt2zbPc2hb+C6EEMHBwaJFixbC0tJS2NraiiZNmog1a9bkey1EhkomhBDFmBwSEREREThdSERERKQTTLL+v906FgAAAAAY5G89in1FEQDAQLIAAAaSBQAwkCwAgIFkAQAMJAsAYCBZAAADyQIAGEgWAMBAsgAABpIFADAIMH4v88AGKEkAAAAASUVORK5CYII=\n", "text/plain": [ - "
    " + "
    " ] }, "metadata": {}, @@ -2914,30 +1950,95 @@ } ], "source": [ - "ds.sea_surface_temperature.sel(time='2024-01-02', lon=slice(120, 150), lat=slice(-30, -50)).plot()" + "ds.sea_surface_temperature.sel(lat=-40, lon=130, method='nearest').plot()" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "9a0a9794-547f-46bd-b015-9f0dd53cd8d7", + "execution_count": 5, + "id": "d68a2b14-96ee-4e3a-bbc6-306b79dfccdf", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import traceback\n", + "\n", + "def plot_sst(ds, start_date, lon_slice, lat_slice):\n", + " \"\"\"\n", + " Plots SST data for 6 consecutive days starting from start_date.\n", + "\n", + " Parameters:\n", + " - ds: xarray.Dataset containing the SST data.\n", + " - start_date: str, start date in 'YYYY-MM-DD' format.\n", + " - lon_slice: tuple, longitude slice (start_lon, end_lon).\n", + " - lat_slice: tuple, latitude slice (start_lat, end_lat).\n", + " \"\"\"\n", + " # Parse the start date\n", + " start_date_parsed = pd.to_datetime(start_date)\n", + "\n", + " # Ensure the dataset has a time dimension and it's sorted\n", + " assert 'time' in ds.dims, \"Dataset does not have a 'time' dimension\"\n", + " ds = ds.sortby('time')\n", + " \n", + " # Find the nearest date in the dataset\n", + " nearest_date = ds.sel(time=start_date_parsed, method='nearest').time\n", + " \n", + " # Get the index of the nearest date\n", + " nearest_date_index = ds.time.where(ds.time == nearest_date, drop=True).squeeze().values\n", + " \n", + " # Find the position of the nearest date in the time array\n", + " nearest_date_position = int((ds.time == nearest_date_index).argmax().values)\n", + " \n", + " # Get the next 6 date values including the nearest date\n", + " dates = ds.time[nearest_date_position:nearest_date_position + 6].values\n", + " dates = [pd.Timestamp(date) for date in dates]\n", + "\n", + " print(dates)\n", + " # Create subplots\n", + " fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(18, 10))\n", + " axes = axes.flatten()\n", + "\n", + " # Plot SST for each date\n", + " for ax, date in zip(axes, dates):\n", + " try:\n", + " sst_data_kelvin = ds.sea_surface_temperature.sel(time=date.strftime('%Y-%m-%d'), lon=slice(lon_slice[0], lon_slice[1]), lat=slice(lat_slice[0], lat_slice[1]))\n", + " \n", + " # Convert Kelvin to Celsius for plotting\n", + " sst_data_celsius = sst_data_kelvin - 273.15\n", + "\n", + " sst_data_celsius.plot(ax=ax, cmap='coolwarm', cbar_kwargs={'label': 'SST (°C)'}) # Using 'coolwarm' colormap\n", + " ax.set_title(date.strftime('%Y-%m-%d'))\n", + " except KeyError:\n", + " # Print traceback for the KeyError\n", + " #traceback.print_exc()\n", + " # Handle the case where data for a specific date is not available\n", + " ax.set_title(f\"No data for {date.strftime('%Y-%m-%d')}\")\n", + " ax.axis('off')\n", + "\n", + " # Adjust layout\n", + " plt.tight_layout()\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "00f5e4b0-3ac1-4c4c-bd80-873ecf477023", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "[Timestamp('2024-01-02 09:20:00'), Timestamp('2024-01-03 09:20:00'), Timestamp('2024-01-04 09:20:00'), Timestamp('2024-01-05 09:20:00'), Timestamp('2024-01-06 09:20:00'), Timestamp('2024-01-07 09:20:00')]\n" + ] }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABvQAAAPeCAYAAADTRf1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZgTVdo28PtUVZJK0gv7puAgKgqIIiICAyIqqCgy8KqDiuIwn6M2jCiCog4oozKCG+M+brgrvICg+KIogiibIAyDCyqjgkKjbL0kqU5Sdb4/Kqnu0Ht30unl/l1Xru5UKqdORel+up46zyOklBJEREREREREREREREREVC8p6Z4AEREREREREREREREREZWPCT0iIiIiIiIiIiIiIiKieowJPSIiIiIiIiIiIiIiIqJ6jAk9IiIiIiIiIiIiIiIionqMCT0iIiIiIiIiIiIiIiKieowJPSIiIiIiIiIiIiIiIqJ6jAk9IiIiIiIiIiIiIiIionqMCT0iIiIiIiIiIiIiIiKieowJPSIiIiIiIiIiIiIiIqJ6jAk9IiIiIiIiIiIiIiIionqMCT2ieuzzzz/HhAkT0L17d/j9fnTq1AmXXXYZvv3221L7fv311zj//PORkZGBFi1aYOzYsfjtt98S9vnmm28wdepUnHrqqcjMzET79u0xfPhwbNq0qdK5nHfeeRBCYMKECVWev2VZmD17Njp37gxd19GzZ0+88cYbpfbbuHEjbrzxRvTu3RsulwtCiCofozrHsiwL8+bNw4gRI9CxY0f4/X706NED9957LwzDqPYxiYiIqH5jLFV1VT3Ws88+i7POOgtt27aFx+NB586dce211+LHH3+s9jGJiIiofmMsVXVVPVZJkUgE3bp1gxACDz74YLWPSURNDxN6RPXYAw88gIULF+Kcc87B3Llzcd111+GTTz7Baaedhu3btzv7/fzzzxg0aBC+//573H///bj11luxbNkynHfeeQiHw85+zz33HJ599lmcfvrpeOihh3DLLbdgx44dOPPMM/Hhhx+WO49FixZh3bp11Z7/nXfeidtuuw3nnXceHnvsMXTq1AlXXHEF3nzzzYT93nvvPTz33HMQQuDYY4+t9nGqeqxgMIhrr70Wv/32G66//no8+uijOOOMMzBjxgxccMEFkFLW6NhERERUPzGWSv6xtmzZgs6dO2Pq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63pSx6T6gbEUERE1JIylqL5hLEVERA0JY6nGo0El9G677TY8/vjjCAaDOPPMM/Huu+86r+Xm5qJz584J+8cDotzc3DIDp9zc3ISg6cj3lGfWrFm45557anweRETUNO3evRtHH3100sc1DAMdvBk4BDOp47Zr1w4//PADg6dGhLEUERE1ZIylKN0YSxERUUPGWKrhS2tC7/bbb8cDDzxQ4T5ff/01TjzxRADAlClTMH78ePz000+45557cPXVV+Pdd9+t87uPpk2bhltuucV5npeXh06dOmH37t3Iysqq07kQEVH9l5+fj44dOyIzMzMl44fDYRyCiXlqZ/iS1B43CAvjcn9AOBxm4FSPMZYiIqKmgLEUpQpjKSIiagoYSzUeaU3oTZ48GePGjatwn2OPPdb5vlWrVmjVqhVOOOEEnHTSSejYsSPWr1+Pfv36oV27dti3b1/Ce+PP27VrV+bY7dq1w8aNG6v1HgDweDzweDyltmdlZTFwIiKicqX6D32/S4VPqEkZS0gTSb6xilKAsRQRETUljKUo2RhLERFRU8JYquFLa0KvdevWaN26dY3ea1kWADg1w/v164c777wTkUjEqV++YsUKdO3atcyyBvH33Hffffj111/Rpk0b5z1ZWVno1q1bjeZFREREVFcYSxERERHVHGMpIiIiakhS0wExyTZs2IDHH38cW7duxU8//YSVK1dizJgx6NKlC/r16wcAuOKKK+B2uzF+/Hh8+eWXeOuttzB37tyEEgSLFy92yiQAwNChQ9GtWzeMHTsW//73v/H+++/jrrvuQk5OTpl3OhEREdVnQhNQkvQQWt2WDaLUYixFRERUOcZSVB7GUkRERJVjLJV6aV2hV1U+nw+LFi3CjBkzEAgE0L59e5x//vm46667nAAnOzsbH3zwAXJyctC7d2+0atUK06dPx3XXXeeMk5eXhx07djjPVVXFu+++ixtuuAH9+vWD3+/HNddcg5kzZ9b5ORIREdWWcCkQIjn36ggpkzIO1Q+MpYiIiCrHWIrKw1iKiIiocoylUk9IyU+mtvLz85GdnY28vDzWKiciolJS/XsiPv7C5l3hT1Kt8oA0MfrQDv5uozrBWIqIiCrCWIqoYoyliIioIoylGo8GsUKPiIiIKqeoAoqSnJIEisXSBkRERNS0MJYiIiIiqjnGUqnHhB4REVEjIVwCIkmBk2DgRERERE0MYykiIiKimmMslXrJKWhKRERERERERERERERERCnBFXpERESNhKKxtAERERFRTTGWIiIiIqo5xlKpxxV6RERERERERERERERERPUYV+gRERE1EqxVTkRERFRzjKWIiIiIao6xVOoxoUdERNRIKKqAoiaptIHJwImIiIiaFsZSRERERDXHWCr1WHKTiIiIiIiIiIiIiIiIqB7jCj0iIqJGQqgCIkl3QgnwTigiIiJqWhhLEREREdUcY6nUY0KPiIiokUhqaQMGTkRERNTEMJYiIiIiqjnGUqnHkptERERERERERERERERE9RhX6BERETUSQhEQSpJKG0jeCUVERERNC2MpIiIioppjLJV6XKFHREREREREREREREREVI9xhR4REVEjIVQFQk3OvToCMinjEBERETUUjKWIiIiIao6xVOoxoUdERNRIsPkwERERUc0xliIiIiKqOcZSqceSm0RERERERERERERERNTgzJo1C3369EFmZibatGmDkSNHYseOHc7rBw8exMSJE9G1a1d4vV506tQJf/3rX5GXl1fhuOPGjYMQIuFx/vnnp/p0KsQVekRERI2EEElsPmzxTigiIiJqWhhLEREREdVcumKp1atXIycnB3369EE0GsUdd9yBoUOH4quvvoLf78eePXuwZ88ePPjgg+jWrRt++uknXH/99dizZw/+93//t8Kxzz//fLz44ovOc4/HU+NzSgYm9IiIiBoJoSJppQ0ES5UTERFRE8NYioiIiKjm0hVLLV++POH5vHnz0KZNG2zevBmDBg1Cjx49sHDhQuf1Ll264L777sNVV12FaDQKTSs/TebxeNCuXbtqzz9VWHKTiIiIiIiIiIiIiIiIGrx4Kc0WLVpUuE9WVlaFyTwAWLVqFdq0aYOuXbvihhtuwIEDB5I61+riCj0iIqJGQqgCIml3QrFMFBERETUtjKWIiIiIai4VsVR+fn7Cdo/HU2HZS8uyMGnSJAwYMAA9evQoc5/9+/fj73//O6677roK53D++edj1KhR6Ny5M3bu3Ik77rgDF1xwAdatWwdVVat5RsnBhB4RERERERERERERERHVKx07dkx4PmPGDNx9993l7p+Tk4Pt27fj008/LfP1/Px8DB8+HN26datwHAD44x//6Hx/8skno2fPnujSpQtWrVqFc845p8rnkExM6BER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jqFHREREREREREREREREFMaY0CMiIiIiIiIiIiIiIiIKY0zoEREREREREREREREREYUxJvSIiIiIiIiIiIiIiIiIwhgTekRERERERERERERERERhjAk9IiIiIiIiIiIiIiIiojDGhB4RERERERERERERERFRGGNCj4iIiIiIiIiIiIiIiCiMMaFHFd4dd9yBIUOGlKv99uzZE+3bt7+gbdStWxeSJEGSJCQnJ+e73pIlS1CpUqUL2hflr2fPnubfYd26daFuDhERUS6MpfLGWCo8MJYiIqJwx1gqb4ylwgNjKaLwwoQeUYisWbMGzz//vPm4bt26mDVrVugalIdJkybh2LFjiI2NDXVTyr1t27blGaTOnj0bx44dC02jiIiIwhhjKcqJsRQREVHxMJainBhLEZUNllA3gKiiiouLC3UTChUdHY2EhIRQNwMA4PV6YbVaQ92MUhcbG8vAlYiIKA+MpYqHsRQRERHlxFiqeBhLEVE4YA89ovOcPXsW3bt3R+XKlREREYF7770X//zzj7nc15V/48aNaNSoEaKiotCqVSu/u1VUVcWgQYNQqVIlxMfHY+TIkejRo4dfuYGcpQ3uuOMOHDx4EEOHDjW7sQPAxIkTcdVVV/m1b9asWahbt675WNM0PP300+a+RowYASGE33N0XcfUqVNRr149OJ1O/O9//8N7771XovOzZMkS1K5dGxEREXjggQdw+vTpXOt88MEHuOaaa+BwOFC/fn0899xzUFXVXP7XX3/hlltugcPhQOPGjbFlyxa/rvsHDhyAJElYtWoVbr/9djgcDixfvhwA8Oabb6JRo0ZwOBxo2LAhXn/9db99Hz58GJ06dUKlSpUQFxeHdu3a4cCBA+bybdu24frrr0dkZCQqVaqEm2++GQcPHizSsRd2XC+//DKuvPJKREZGolatWnjqqaeQnp5uLj948CDatm2LypUrIzIyEpdffjk++eQTHDhwAHfeeScAoHLlypAkCT179ixSm4iIiMINY6mCMZZiLEVERFQQxlIFYyzFWIqoImNCj+g8PXv2xA8//IAPP/wQ27dvhxACrVu3htfrNdfJzMzEzJkz8dZbb+HLL7/EoUOHMHz4cHP59OnTsXz5cixevBjffPMNUlNTC6wzvWbNGtSsWdMsJVCcruwvvfQSlixZgkWLFuHrr7/GmTNnsHbtWr91pk6dimXLlmHevHn4448/MHToUDz66KP44osvin5iAOzYsQO9evXCgAED8PPPP+POO+/ECy+84LfOV199he7du2Pw4MH4888/MX/+fCxZsgSTJ08GYAR67du3R0REBHbs2IE33ngDY8eOzXN/o0aNwuDBg7F79260bNkSy5cvx/jx4zF58mTs3r0bU6ZMwbhx47B06VIAxt1SLVu2RHR0NL766it88803ZmDr8Xigqirat2+P22+/Hb/++iu2b9+OJ5980gxUC1LYcQGALMv4v//7P/zxxx9YunQpPv/8c4wYMcJc3r9/f7jdbnz55Zf47bffMH36dERFRaFWrVp4//33AQB79uzBsWPHMHv27GL9bYiIiMIFY6n8MZZiLEVERFQYxlL5YyzFWIqowhNEFdztt98uBg8eLIQQ4u+//xYAxDfffGMuP3XqlHA6nWL16tVCCCEWL14sAIi9e/ea67z22muievXq5uPq1auLF1980XysqqqoXbu2aNeuXZ77FUKIOnXqiFdeecWvbRMmTBD/+9///Oa98sorok6dOubjxMREMWPGDPOx1+sVNWvWNPflcrlERESE+Pbbb/2206tXL9GlS5d8z0te7enSpYto3bq137yHH35YxMbGmo/vvvtuMWXKFL913nrrLZGYmCiEEOLTTz8VFotFHDt2zFy+efNmAUCsXbtWCCHE/v37BQAxa9Ysv+1cfPHFYsWKFX7znn/+edGsWTNzPw0aNBC6rpvL3W63cDqdYuPGjeL06dMCgNi2bVu+x52fwo4rL++++66Ij483H1955ZVi4sSJea67detWAUCcPXs2z+U5zw8REVE4YSyVN8ZS/hhLERER5Y2xVN4YS/ljLEVEQgjBMfSIcti9ezcsFgtuuOEGc158fDwaNGiA3bt3m/MiIiJw8cUXm48TExNx4sQJAEBKSgqOHz+O66+/3lyuKAquvfZa6Loe0PampKTg2LFjfu21WCy47rrrzPIGe/fuRWZmJu655x6/53o8Hlx99dXF2t/u3bvxwAMP+M1r1qwZNmzYYD7+5Zdf8M033/jdIaRpGlwuFzIzM7Fnzx7UqlXLrwZ6znOV03XXXWf+npGRgX379qFXr17o3bu3OV9VVbOW9y+//IK9e/ciOjrabzsulwv79u1DixYt0LNnT7Rs2RL33HMPmjdvjk6dOiExMbHQYy/suCIi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iIhKE2OpgjGWKjrGUkREVBExlioYY6miYyxFFF6Y0CMign+geL7q1asjOjq6lFtEREREVHYwliIiIiIqOcZSRFQUTOgRERERERERERERERERhTGOoUdEREREREREREREREQUxpjQIyIiIiIiIiIiIiIiIgpjTOgRERERERERERERERERhTEm9IiIiIiIiIiIiIiIiIjCGBN6RERERERERERERERERGGMCT0iIiIiIiIiIiIiIiKiMMaEHhEREREREREREREREVEYY0KPiIiIiIiIiIiIiIiIKIwxoUdEREREREREREREREQUxpjQIyIiIiIiIiIiIiIiIgpjTOgRERERERERERERERERhTEm9IiIiIiIiIiIiIiIiIjCGBN6RERERERERERERERERGGMCT2iMPb9999jwIABuPzyyxEZGYnatWujU6dO+Pvvv3Otu3v3brRq1QpRUVGIi4tDt27dcPLkSb91/vrrL4wYMQJXXXUVoqOjkZiYiPvuuw8//PBDoW255557IEkSBgwYUOT267qOGTNmoF69enA4HGjSpAlWrlyZa72dO3fiqaeewrXXXgur1QpJkoq8j+Luq2fPnpAkKdfUsGHDYu+TiIiIwhtjqaIr6r58686dOxdXXXUVnE4n4uPjcdddd+GXX34p9n6JiIgofDGWKrqi7iuva1K+6Z577in2fomoYrGEugFElL/p06fjm2++wUMPPYQmTZogKSkJc+bMwTXXXIPvvvsOV1xxBQDgyJEjuO222xAbG4spU6YgPT0dM2fOxG+//YadO3fCZrMBAN58800sXLgQHTt2xFNPPYWUlBTMnz8fN954IzZs2IDmzZvn2Y41a9Zg+/btxW7/2LFjMW3aNPTu3RtNmzbFBx98gEceeQSSJKFz587mep988gnefPNNNGnSBPXr188zMAzUvgDAbrfjzTff9JsXGxtb7H0SERFReGMsFfh9AcDjjz+O5cuXo3v37hgwYAAyMjLw008/4cSJE8XeLxEREYUvxlKB39dbb72V67k//PADZs+ejRYtWhR7v0RUwQgiClvffPONcLvdfvP+/vtvYbfbRdeuXc15/fr1E06nUxw8eNCct3nzZgFAzJ8/35z3ww8/iLS0NL/tnTp1SlStWlXcfPPNebYhKytL1K1bV0yaNEkAEP379y9S248cOSKsVqvf+rqui1tvvVXUrFlTqKpqzk9KShKZmZlCCCH69+8vivvWVJx99ejRQ0RGRhZr+0RERFQ2MZYqmuLsa9WqVQKAWLNmTbH2QURERGUPY6miKc6+8tKrVy8hSZI4fPhwsfZLRBUPS24ShbGbbrrJvIvJ59JLL8Xll1+O3bt3m/Pef/99tGnTBrVr1zbnNW/eHJdddhlWr15tzrv22msRFRXlt734+HjceuutftvLacaMGdB1HcOHDy9W2z/44AN4vV489dRT5jxJktCvXz8cOXLE786q6tWrw+l0Fmv7Jd2Xj6ZpSE1NLfE+iYiIKPwxlgr8vl5++WVcf/31eOCBB6DrOjIyMkq8XyIiIgpvjKUCv6/zud1uvP/++7j99ttRs2bNEreBiCoGJvSIyhghBI4fP44qVaoAAP777z+cOHEC1113Xa51r7/+evz000+FbjMpKcncXk6HDh3CtGnTMH369GIHNj/99BMiIyPRqFGjXG3yLQ+U4u4rMzMTMTExiI2NRVxcHPr374/09PSAtYeIiIjCF2Opku8rNTUVO3fuRNOmTTFmzBjExsYiKioK9evX97tYR0REROUXY6nA7uuTTz5BcnIyunbtGrD2EFH5xYQeURmzfPly/Pfff3j44YcBAMeOHQMAJCYm5lo3MTERZ86cgdvtznd7X331FbZv325uL6dhw4bh6quvzjVuSlEcO3YM1atXzzWQsK+dR48eLfY2A7GvxMREjBgxAosXL8bKlStx//334/XXX0erVq2gqmrA2kREREThibFUyfe1b98+CCHwzjvvYNGiRZgxYwaWL1+OqlWronPnztiwYUPA2kREREThibFUYPe1fPly2O12PPjggwFrDxGVX5ZQN4CIiu6vv/5C//790axZM/To0QMAkJWVBQCw2+251nc4HOY6eS0/ceIEHnnkEdSrVw8jRozwW7Z161a8//772LFjR4namt8+c7YpUIqzr6lTp/qt07lzZ1x22WUYO3Ys3nvvvRIFiURERFQ2MJa6sH35KhqcPn0a3333HW644QYAwP3334969erhhRdeQKtWrQLWLiIiIgovjKUCu6/U1FR8/PHHaN26NSpVqhSw9hBR+cWEHlEZkZSUhPvuuw+xsbF47733oCgKAJglB/K628nlcvmtk1NGRgbatGmDtLQ0fP311341zFVVxaBBg9CtWzc0bdq00HblFBsbC6fTCafTWew2FSZY+xo6dCjGjRuHLVu2MKFHRERUTjGWuvB9+X7Wq1fPTOYBQFRUFNq2bYu3334bqqrCYuHXTCIiovKGsVTg9/X+++/D5XKx3CYRFRlLbhKVASkpKbj33nuRnJyMDRs2oEaNGuYyX/d9X4mDnI4dO4a4uLhcdwl5PB506NABv/76Kz744ANcccUVfsuXLVuGPXv2oE+fPjhw4IA5AUBaWhoOHDiAzMxMc/85p1WrVpnzk5KSIITI1SYAfsdQVMHal9PpRHx8PM6cOVPsNhEREVH4YyyVfawXsi/fz+rVq+fadrVq1eD1epGRkVHsdhEREVF4YyyVfayB3Nfy5csRGxuLNm3aFLstRFQx8dZJojDncrnQtm1b/P3339iyZQsaN27st/yiiy5C1apV8cMPP+R67s6dO3HVVVf5zdN1Hd27d8dnn32G1atX4/bbb8/1vEOHDsHr9eLmm2/OtWzZsmVYtmwZ1q5di/bt22Pz5s1+yy+//HIAwFVXXYU333wTu3fv9muzr1TC+e0qimDtKy0tDadOnULVqlWL3SYiIiIKb4ylsl3ovmrUqIGEhAT8999/ubZ99OhROBwOREdHF7tdREREFL4YS2UL5L6OHTuGrVu3omfPnnmW6yQiypMgorClqqq4//77hcViER9//HG+6/Xt21c4nU5x6NAhc96WLVsEADF37ly/dZ966ikBQMyfPz/f7e3evVusXbs21wRAtG7dWqxdu1YcPXq0wLYfPnxYWK1W0b9/f3Oeruvi1ltvFRdddJFQVTXP5/Xv318U962pqPvKysoSqampuZ7/zDPPCABizZo1xdovERERhTfGUkVTnH0NHjxYABCbNm0y5508eVLExMSI1q1bF2u/REREFN4YSxVNSfb18ssvCwDis88+K9a+iKhiYw89ojA2bNgwfPjhh2jbti3OnDmDt99+22/5o48+CgAYM2YM3n33Xdx5550YPHgw0tPT8eKLL+LKK6/EY489Zq4/a9YsvP7662jWrBkiIiJybe+BBx5AZGQkGjZsiIYNG+bZpnr16qF9+/aFtr1mzZoYMmQIXnzxRXi9XjRt2hTr1q3DV199heXLl5u11gHg4MGDeOuttwDAvKPrhRdeAADUqVMH3bp1C8i+kpKScPXVV6NLly7m8W3cuBGffPIJWrVqhXbt2hV6XERERFR2MJYKbCwFAKNHj8bq1avRsWNHPP3004iNjcW8efPg9XoxZcqUQo+LiIiIyg7GUoGPpXyWL1+OGjVq4I477ij0WIiITKHOKBJR/m6//XYBIN8pp99//120aNFCREREiEqVKomuXbuKpKQkv3V69OhR4Pb2799fYHsA+N1tVBhN08SUKVNEnTp1hM1mE5dffrl4++23c623devWfNt0++23B2xfZ8+eFY8++qi45JJLREREhLDb7eLyyy8XU6ZMER6Pp8jHRURERGUDY6nAxlI++/btEw888ICIiYkRTqdT3HXXXWLnzp1FPi4iIiIqGxhLBSeW+uuvvwQA8fTTTxf5WIiIhBBCEuK80TqJiIiIiIiIiIiIiIiIKGzIoW4AEREREREREREREREREeWPCT0iIiIiIiIiIiIiIiKiMMaEHhEREREREREREREREVEYKzMJvfvvvx+1a9eGw+FAYmIiunXrhqNHj/qt8+uvv+LWW2+Fw+FArVq1MGPGjEK3e+jQIdx3332IiIhAtWrV8Mwzz0BV1WAdBhEREVFIMJYiIiIiKjnGUkRERBRqZSahd+edd2L16tXYs2cP3n//fezbtw8PPviguTw1NRUtWrRAnTp1sGvXLrz44ouYOHEi3njjjXy3qWka7rvvPng8Hnz77bdYunQplixZgvHjx5fGIRERERGVGsZSRERERCXHWIqIiCg8TZ06FU2bNkV0dDSqVauG9u3bY8+ePebyM2fOYODAgWjQoAGcTidq166NQYMGISUlpcDt9uzZE5Ik+U2tWrUK9uEUSBJCiJC2oIQ+/PBDtG/fHm63G1arFXPnzsXYsWORlJQEm80GABg1ahTWrVuHv/76K89tfPrpp2jTpg2OHj2K6tWrAwDmzZuHkSNH4uTJk+Z2iIiIiMobxlJEREREJcdYioiIKDy0atUKnTt3RtOmTaGqKsaMGYPff/8df/75JyIjI/H7779jwoQJ6NmzJxo3boyDBw+ib9++aNKkCd577718t9uzZ08cP34cixcvNufZ7XZUrly5NA4rT2Wmh15OZ86cwfLly3HTTTfBarUCALZv347bbrvNL9hp2bIl9uzZg7Nnz+a5ne3bt+PKK680gybfc1JTU/HHH38E9yCIiIiIQoSxFBEREVHJMZYiIiIKHxs2bEDPnj1x+eWX43//+x+WLFmCQ4cOYdeuXQCAK664Au+//z7atm2Liy++GHfddRcmT56Mjz76qNAy13a7HQkJCeYUymQeAFhCuvdiGjlyJObMmYPMzEzceOONWL9+vbksKSkJ9erV81vfFxAlJSXleaKTkpL8gqbzn5Mft9sNt9ttPtZ1HWfOnEF8fDwkSSr+gRERUbkmhEBaWhpq1KgBWQ7OvTQulwsejyeg27TZbHA4HAHdJoUWYykiIiqLGEtRuGAsRUREZVFZjaWEELk+1+x2O+x2e4HP85XSjIuLK3CdmJgYWCwFp8i2bduGatWqoXLlyrjrrrvwwgsvID4+vohHEHghTeiNGjUK06dPL3Cd3bt3o2HDhgCAZ555Br169cLBgwfx3HPPoXv37li/fn2pBytTp07Fc889V6r7JCKisu/w4cOoWbNmwLfrcrlQwxmFs9ACut2EhATs37+fF6LCGGMpIiKqSBhLUaAxliIiooqkrMVSUVFRSE9P95s3YcIETJw4Md/n6LqOIUOG4Oabb8YVV1yR5zqnTp3C888/jyeffLLA/bdq1QodOnRAvXr1sG/fPowZMwb33nsvtm/fDkVRin08gRDShN6wYcPQs2fPAtepX7+++XuVKlVQpUoVXHbZZWjUqBFq1aqF7777Ds2aNUNCQgKOHz/u91zf44SEhDy3nZCQgJ07dxbrOQAwevRoPP300+bjlJQU1K5dG4cPH0ZMTEyBx0NERBVPamoqatWqhejo6KBs3+Px4Cw0LHXUR0SAqmlnQkePpH/h8Xh4ESqMMZYiIqKKgLEUBQtjKSIiqgjKbCyV/m+uz7bCeuf1798fv//+O77++us8l6empuK+++5D48aNC0wMAkDnzp3N36+88ko0adIEF198MbZt24a777676AcTQCFN6FWtWhVVq1Yt0XN1XQcAs8RAs2bNMHbsWHi9XrN++ebNm9GgQYN865o2a9YMkydPxokTJ1CtWjXzOTExMWjcuHG++86vW2dMTAwDJyIiylew79yNgIwIKUB3CInAbIaCi7EUERFVJIylKNAYSxERUUVSFmOp4ny2DRgwAOvXr8eXX36ZZ0/EtLQ0tGrVCtHR0Vi7dq35eV1U9evXR5UqVbB3796QJfSCUzA1wHbs2IE5c+bg559/xsGDB/H555+jS5cuuPjii9GsWTMAwCOPPAKbzYZevXrhjz/+wKpVqzB79my/O5bWrl1rlkkAgBYtWqBx48bo1q0bfvnlF2zcuBHPPvss+vfvX2iml4iIKNxIFglygCbJwrE3yhPGUkRERIVjLEX5YSxFRERUuFDFUkIIDBgwAGvXrsXnn3+ea0xbwOiZ16JFC9hsNnz44YclqqBw5MgRnD59GomJicV+bqCUiYReREQE1qxZg7vvvhsNGjRAr1690KRJE3zxxRdmgBMbG4tNmzZh//79uPbaazFs2DCMHz/erw5qSkoK9uzZYz5WFAXr16+Hoiho1qwZHn30UXTv3h2TJk0q9WMkIiIiChbGUkREREQlx1iKiIgofPXv3x9vv/02VqxYgejoaCQlJSEpKQlZWVkAspN5GRkZWLhwIVJTU811NC173L+GDRti7dq1AID09HQ888wz+O6773DgwAF89tlnaNeuHS655BK0bNkyJMcJAJIQgoUgLlBqaipiY2ORkpLC0gZERJRLsD8nfNt/v3IDRAaotEGG0NDx7B5+tlGpYCxFREQFYSxFVDDGUkREVJDyHkvlV0p08eLF6NmzJ7Zt24Y777wzz3X279+PunXrmtvxPScrKwvt27fHTz/9hOTkZNSoUQMtWrTA888/j+rVq1/QsV2IkI6hR0RERIEjKxJkOTDlnWSdZaKIiIioYmEsRURERFRyoYqlCuuzdscddxS6zvnbcTqd2LhxY5HbUFrKRMlNIiIiIiIiIiIiIiIiooqKPfSIiIjKCckqQQrQnVAS7yonIiKiCoaxFBEREVHJMZYKPib0iIiIygnZwjJRRERERCXFWIqIiIio5BhLBR9LbhIRERERERERERERERGFMfbQIyIiKidY2oCIiIio5BhLEREREZUcY6ngYw89IiIiIiIiIiIiIiIiojDGHnpERETlhKxIkJUA1SrXeCcUERERVSyMpYiIiIhKjrFU8DGhR0REVE5IigQpQIGTBAZOREREVLEwliIiIiIqOcZSwceSm0RERHRBpk6diqZNmyI6OhrVqlVD+/btsWfPHr917rjjDkiS5Df17ds3RC0mIiIiIiIiIiIqW9hDj4iIqJwIaGmDYtwJ9cUXX6B///5o2rQpVFXFmDFj0KJFC/z555+IjIw01+vduzcmTZpkPo6IiAhIW4mIiIgCIVSxFBEREVF5wFgq+JjQIyIioguyYcMGv8dLlixBtWrVsGvXLtx2223m/IiICCQkJJR284iIiIiI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fm7Hjh0KDQ29pmOhYzk5Ofbvw+9///ueHg4AAO3QUs7RUu6BlgIAuDtayjlayj3QUoB74YIe0EP27NmjFStW2F8nJCRow4YNPTcgJ5YvX666ujqFhIT09FB6vYMHDzqN1I0bN6qurq5nBgUAgBujpdAWLQUAQPfQUmiLlgJuDF49PQCgrwoPD+/pIXQqKChI0dHRPT0MSZLValW/fv16ehjXXUhICOEKAIATtFT30FIAAKAtWqp7aCkA7oDf0AO+oKGhQVlZWQoLC5O/v78mT56s48eP27e3/ir/3r17lZKSosDAQE2aNMnhp1VsNpvy8vIUGhqqiIgILVmyRNnZ2Q63G2h7a4Nx48aptrZWCxcutP8auyQ9/fTTuuOOOxzGt2HDBiUkJNhfNzU1adGiRfZjLV68WMYYh69pbm5WYWGhbrnlFvn5+en222/Xb3/72y81Pzt27FBcXJz8/f01ffp01dfXt/vMH/7wBw0fPly+vr4aOHCgli1bJpvNZt/+8ccfa8yYMfL19dXgwYO1f/9+h1/dr6mpkYeHh3bv3q2xY8fK19dXu3btkiT96le/UkpKinx9fTVo0CD98pe/dDj26dOnlZGRodDQUIWHhystLU01NTX27QcPHtSIESMUEBCg0NBQjR49WrW1tV06987Oa926dRoyZIgCAgIUGxurH/zgB/rss8/s22trazV16lSFhYUpICBAt912m/785z+rpqZG48ePlySFhYXJw8NDOTk5XRoTAADuhpZyjZaipQAAcIWWco2WoqWAvowLesAX5OTk6L333tMf//hHlZaWyhijKVOmyGq12j9z6dIlrVmzRi+//LIOHTqkU6dO6fHHH7dvf/bZZ7Vr1y5t375dJSUlunjxosv7TO/Zs0cDBgyw30qgO7/KvnbtWu3YsUO//vWv9c477+j8+fMqKipy+ExhYaF27typTZs26aOPPtLChQv16KOP6u233+76xEgqKyvT7NmzNW/ePFVUVGj8+PFauXKlw2cOHz6srKws5efn6x//+Ic2b96sHTt2qKCgQFJL6KWnp8vf319lZWXasmWLfvrTnzo93hNPPKH8/HxVVlYqNTVVu3bt0tKlS1VQUKDKykqtWrVKP/vZz/TSSy9JavlpqdTUVAUFBenw4cMqKSmxh+3Vq1dls9mUnp6usWPH6v3331dpaakee+wxe6i6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\n", "text/plain": [ - "
    " + "
    " ] }, "metadata": {}, @@ -2945,13 +2046,13 @@ } ], "source": [ - "ds.sea_surface_temperature.sel(lat=-40, lon=130, method='nearest').plot()" + "plot_sst(ds, start_date='2024-01-02', lon_slice=(120, 150), lat_slice=(-30, -50))" ] }, { "cell_type": "code", "execution_count": null, - "id": "502c1c78-b0a3-4954-ba37-7d603606e594", + "id": "a784a4cf-f50c-4b7c-889b-c330f9b8a1d2", "metadata": {}, "outputs": [], "source": [] diff --git a/poetry.lock b/poetry.lock index 60503e2..89317c9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,24 +2,24 @@ [[package]] name = "aiobotocore" -version = "2.13.0" +version = "2.13.1" description = "Async client for aws services using botocore and aiohttp" optional = false python-versions = ">=3.8" files = [ - {file = "aiobotocore-2.13.0-py3-none-any.whl", hash = "sha256:f812afc678d71b0038fd1ce712ff111ab7f47bab81ce5b4c7d222d4b83bc0cb2"}, - {file = "aiobotocore-2.13.0.tar.gz", hash = "sha256:4badf5cab6ad400216319d14278e2c99ad9b708e28a0f231605a412e632de401"}, + {file = "aiobotocore-2.13.1-py3-none-any.whl", hash = "sha256:1bef121b99841ee3cc788e4ed97c332ba32353b1f00e886d1beb3aae95520858"}, + {file = "aiobotocore-2.13.1.tar.gz", hash = "sha256:134f9606c2f91abde38cbc61c3241113e26ff244633e0c31abb7e09da3581c9b"}, ] [package.dependencies] aiohttp = ">=3.9.2,<4.0.0" aioitertools = ">=0.5.1,<1.0.0" -botocore = ">=1.34.70,<1.34.107" +botocore = ">=1.34.70,<1.34.132" wrapt = ">=1.10.10,<2.0.0" [package.extras] -awscli = ["awscli (>=1.32.70,<1.32.107)"] -boto3 = ["boto3 (>=1.34.70,<1.34.107)"] +awscli = ["awscli (>=1.32.70,<1.33.14)"] +boto3 = ["boto3 (>=1.34.70,<1.34.132)"] [[package]] name = "aiohttp" @@ -142,6 +142,61 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" +[[package]] +name = "alabaster" +version = "0.7.16" +description = "A light, configurable Sphinx theme" +optional = false +python-versions = ">=3.9" +files = [ + {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"}, + {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] + +[[package]] +name = "antlr4-python3-runtime" +version = "4.13.1" +description = "ANTLR 4.13.1 runtime for Python 3" +optional = false +python-versions = "*" +files = [ + {file = "antlr4-python3-runtime-4.13.1.tar.gz", hash = "sha256:3cd282f5ea7cfb841537fe01f143350fdb1c0b1ce7981443a2fa8513fddb6d1a"}, + {file = "antlr4_python3_runtime-4.13.1-py3-none-any.whl", hash = "sha256:78ec57aad12c97ac039ca27403ad61cb98aaec8a3f9bb8144f889aa0fa28b943"}, +] + +[[package]] +name = "anyio" +version = "4.4.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.8" +files = [ + {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, + {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, +] + +[package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} + +[package.extras] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] + [[package]] name = "appnope" version = "0.1.4" @@ -193,6 +248,55 @@ tests = ["attrs[tests-no-zope]", "zope-interface"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] +[[package]] +name = "aws-sam-translator" +version = "1.89.0" +description = "AWS SAM Translator is a library that transform SAM templates into AWS CloudFormation templates" +optional = false +python-versions = "!=4.0,<=4.0,>=3.8" +files = [ + {file = "aws_sam_translator-1.89.0-py3-none-any.whl", hash = "sha256:843be1b5ca7634f700ad0c844a7e0dc42858f35da502e91691473eadd1731ded"}, + {file = "aws_sam_translator-1.89.0.tar.gz", hash = "sha256:fff1005d0b1f3cb511d0ac7e85f54af06afc9d9e433df013a2338d7a0168d174"}, +] + +[package.dependencies] +boto3 = ">=1.19.5,<2.dev0" +jsonschema = ">=3.2,<5" +pydantic = ">=1.8,<3" +typing-extensions = ">=4.4" + +[package.extras] +dev = ["black (==24.3.0)", "boto3 (>=1.23,<2)", "boto3-stubs[appconfig,serverlessrepo] (>=1.19.5,<2.dev0)", "coverage (>=5.3,<8)", "dateparser (>=1.1,<2.0)", "mypy (>=1.3.0,<1.4.0)", "parameterized (>=0.7,<1.0)", "pytest (>=6.2,<8)", "pytest-cov (>=2.10,<5)", "pytest-env (>=0.6,<1)", "pytest-rerunfailures (>=9.1,<12)", "pytest-xdist (>=2.5,<4)", "pyyaml (>=6.0,<7.0)", "requests (>=2.28,<3.0)", "ruamel.yaml (==0.17.21)", "ruff (>=0.1.0,<0.2.0)", "tenacity (>=8.0,<9.0)", "types-PyYAML (>=6.0,<7.0)", "types-jsonschema (>=3.2,<4.0)"] + +[[package]] +name = "aws-xray-sdk" +version = "2.14.0" +description = "The AWS X-Ray SDK for Python (the SDK) enables Python developers to record and emit information from within their applications to the AWS X-Ray service." +optional = false +python-versions = ">=3.7" +files = [ + {file = "aws_xray_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:cfbe6feea3d26613a2a869d14c9246a844285c97087ad8f296f901633554ad94"}, + {file = "aws_xray_sdk-2.14.0.tar.gz", hash = "sha256:aab843c331af9ab9ba5cefb3a303832a19db186140894a523edafc024cc0493c"}, +] + +[package.dependencies] +botocore = ">=1.11.3" +wrapt = "*" + +[[package]] +name = "babel" +version = "2.15.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.8" +files = [ + {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, + {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "backcall" version = "0.2.0" @@ -204,15 +308,77 @@ files = [ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "bcrypt" +version = "4.1.3" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.1.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:48429c83292b57bf4af6ab75809f8f4daf52aa5d480632e53707805cc1ce9b74"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8bea4c152b91fd8319fef4c6a790da5c07840421c2b785084989bf8bbb7455"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d3b317050a9a711a5c7214bf04e28333cf528e0ed0ec9a4e55ba628d0f07c1a"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:094fd31e08c2b102a14880ee5b3d09913ecf334cd604af27e1013c76831f7b05"}, + {file = "bcrypt-4.1.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4fb253d65da30d9269e0a6f4b0de32bd657a0208a6f4e43d3e645774fb5457f3"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:193bb49eeeb9c1e2db9ba65d09dc6384edd5608d9d672b4125e9320af9153a15"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:8cbb119267068c2581ae38790e0d1fbae65d0725247a930fc9900c285d95725d"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6cac78a8d42f9d120b3987f82252bdbeb7e6e900a5e1ba37f6be6fe4e3848286"}, + {file = "bcrypt-4.1.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:01746eb2c4299dd0ae1670234bf77704f581dd72cc180f444bfe74eb80495b64"}, + {file = "bcrypt-4.1.3-cp37-abi3-win32.whl", hash = "sha256:037c5bf7c196a63dcce75545c8874610c600809d5d82c305dd327cd4969995bf"}, + {file = "bcrypt-4.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:8a893d192dfb7c8e883c4576813bf18bb9d59e2cfd88b68b725990f033f1b978"}, + {file = "bcrypt-4.1.3-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0d4cf6ef1525f79255ef048b3489602868c47aea61f375377f0d00514fe4a78c"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5698ce5292a4e4b9e5861f7e53b1d89242ad39d54c3da451a93cac17b61921a"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec3c2e1ca3e5c4b9edb94290b356d082b721f3f50758bce7cce11d8a7c89ce84"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3a5be252fef513363fe281bafc596c31b552cf81d04c5085bc5dac29670faa08"}, + {file = "bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5f7cd3399fbc4ec290378b541b0cf3d4398e4737a65d0f938c7c0f9d5e686611"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:c4c8d9b3e97209dd7111bf726e79f638ad9224b4691d1c7cfefa571a09b1b2d6"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:31adb9cbb8737a581a843e13df22ffb7c84638342de3708a98d5c986770f2834"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:551b320396e1d05e49cc18dd77d970accd52b322441628aca04801bbd1d52a73"}, + {file = "bcrypt-4.1.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6717543d2c110a155e6821ce5670c1f512f602eabb77dba95717ca76af79867d"}, + {file = "bcrypt-4.1.3-cp39-abi3-win32.whl", hash = "sha256:6004f5229b50f8493c49232b8e75726b568535fd300e5039e255d919fc3a07f2"}, + {file = "bcrypt-4.1.3-cp39-abi3-win_amd64.whl", hash = "sha256:2505b54afb074627111b5a8dc9b6ae69d0f01fea65c2fcaea403448c503d3991"}, + {file = "bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:cb9c707c10bddaf9e5ba7cdb769f3e889e60b7d4fea22834b261f51ca2b89fed"}, + {file = "bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9f8ea645eb94fb6e7bea0cf4ba121c07a3a182ac52876493870033141aa687bc"}, + {file = "bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f44a97780677e7ac0ca393bd7982b19dbbd8d7228c1afe10b128fd9550eef5f1"}, + {file = "bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d84702adb8f2798d813b17d8187d27076cca3cd52fe3686bb07a9083930ce650"}, + {file = "bcrypt-4.1.3.tar.gz", hash = "sha256:2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "blinker" +version = "1.8.2" +description = "Fast, simple object-to-object and broadcast signaling" +optional = false +python-versions = ">=3.8" +files = [ + {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"}, + {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, +] + [[package]] name = "bokeh" -version = "3.4.1" +version = "3.4.2" description = "Interactive plots and applications in the browser from Python" optional = false python-versions = ">=3.9" files = [ - {file = "bokeh-3.4.1-py3-none-any.whl", hash = "sha256:1e3c502a0a8205338fc74dadbfa321f8a0965441b39501e36796a47b4017b642"}, - {file = "bokeh-3.4.1.tar.gz", hash = "sha256:d824961e4265367b0750ce58b07e564ad0b83ca64b335521cd3421e9b9f10d89"}, + {file = "bokeh-3.4.2-py3-none-any.whl", hash = "sha256:931a43ee59dbf1720383ab904f8205e126b85561aac55592415b800c96f1b0eb"}, + {file = "bokeh-3.4.2.tar.gz", hash = "sha256:a16d5cc0abb93d2d270d70fc35851f3e1b9208814a985a4678e0ba5ef2d9cd42"}, ] [package.dependencies] @@ -228,17 +394,17 @@ xyzservices = ">=2021.09.1" [[package]] name = "boto3" -version = "1.34.106" +version = "1.34.131" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.34.106-py3-none-any.whl", hash = "sha256:d3be4e1dd5d546a001cd4da805816934cbde9d395316546e9411fec341ade5cf"}, - {file = "boto3-1.34.106.tar.gz", hash = "sha256:6165b8cf1c7e625628ab28b32f9027064c8f5e5fca1c38d7fc228cd22069a19f"}, + {file = "boto3-1.34.131-py3-none-any.whl", hash = "sha256:05e388cb937e82be70bfd7eb0c84cf8011ff35cf582a593873ac21675268683b"}, + {file = "boto3-1.34.131.tar.gz", hash = "sha256:dab8f72a6c4e62b4fd70da09e08a6b2a65ea2115b27dd63737142005776ef216"}, ] [package.dependencies] -botocore = ">=1.34.106,<1.35.0" +botocore = ">=1.34.131,<1.35.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -247,13 +413,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.34.106" +version = "1.34.131" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.34.106-py3-none-any.whl", hash = "sha256:4baf0e27c2dfc4f4d0dee7c217c716e0782f9b30e8e1fff983fce237d88f73ae"}, - {file = "botocore-1.34.106.tar.gz", hash = "sha256:921fa5202f88c3e58fdcb4b3acffd56d65b24bca47092ee4b27aa988556c0be6"}, + {file = "botocore-1.34.131-py3-none-any.whl", hash = "sha256:13b011d7b206ce00727dcee26548fa3b550db9046d5a0e90ac25a6e6c8fde6ef"}, + {file = "botocore-1.34.131.tar.gz", hash = "sha256:502ddafe1d627fcf1e4c007c86454e5dd011dba7c58bd8e8a5368a79f3e387dc"}, ] [package.dependencies] @@ -262,58 +428,57 @@ python-dateutil = ">=2.1,<3.0.0" urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""} [package.extras] -crt = ["awscrt (==0.20.9)"] +crt = ["awscrt (==0.20.11)"] [[package]] name = "bottleneck" -version = "1.3.8" +version = "1.4.0" description = "Fast NumPy array functions written in C" optional = false python-versions = "*" files = [ - {file = "Bottleneck-1.3.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:865c8ed5b798c0198b0b80553e09cc0d890c4f5feb3d81d31661517ca7819fa3"}, - {file = "Bottleneck-1.3.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d073a31e259d40b25e29dbba80f73abf38afe98fd730c79dad7edd9a0ad6cff5"}, - {file = "Bottleneck-1.3.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b806b277ab47495032822f55f43b8d336e4b7e73f8506ed34d3ea3da6d644abc"}, - {file = "Bottleneck-1.3.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:770b517609916adeb39d3b1a386a29bc316da03dd61e7ee6e8a38325b80cc327"}, - {file = "Bottleneck-1.3.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2948502b0394ee419945b55b092585222a505c61d41a874c741be49f2cac056f"}, - {file = "Bottleneck-1.3.8-cp310-cp310-win32.whl", hash = "sha256:271b6333522beb8aee32e640ba49a2064491d2c10317baa58a5996be3dd443e4"}, - {file = "Bottleneck-1.3.8-cp310-cp310-win_amd64.whl", hash = "sha256:d41000ea7ca196b5fd39d6fccd34bf0704c8831731cedd2da2dcae3c6ac49c42"}, - {file = "Bottleneck-1.3.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0a7f454394cd3642498b6e077e70f4a6b9fd46a8eb908c83ac737fdc9f9a98c"}, - {file = "Bottleneck-1.3.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c4ea8b9024dcb4e83b5c118a3c8faa863ace2ad572849da548a74a8ee4e8f2a"}, - {file = "Bottleneck-1.3.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f40724b6e965ff5b88b333d4a10097b1629e60c0db21bb3d08c24d7b1a904a16"}, - {file = "Bottleneck-1.3.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4bd7183b8dcca89d0e65abe4507c19667dd31dacfbcc8ed705bad642f26a46e1"}, - {file = "Bottleneck-1.3.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:20aa31a7d9d747c499ace1610a6e1f7aba6e3d4a9923e0312f6b4b6d68a59af3"}, - {file = "Bottleneck-1.3.8-cp311-cp311-win32.whl", hash = "sha256:350520105d9449e6565b3f0c4ce1f80a0b3e4d63695ebbf29db41f62e13f6461"}, - {file = "Bottleneck-1.3.8-cp311-cp311-win_amd64.whl", hash = "sha256:167a278902775defde7dfded6e98e3707dfe54971ffd9aec25c43bc74e4e381a"}, - {file = "Bottleneck-1.3.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c6e93ed45c6c83392f73d0333b310b38772df7eb78c120c1447245691bdedaf4"}, - {file = "Bottleneck-1.3.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3400f47dda0196b5af50b0b0678e33cc8c42e52e55ae0a63cdfed60725659bc"}, - {file = "Bottleneck-1.3.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fba5fd1805c71b2eeea50bea93d59be449c4af23ebd8da5f75fd74fd0331e314"}, - {file = "Bottleneck-1.3.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:60139c5c3d2a9c1454a04af5ee981a9f56548d27fa36f264069b149a6e9b01ed"}, - {file = "Bottleneck-1.3.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:99fab17fa26c811ccad63e208314726e718ae6605314329eca09641954550523"}, - {file = "Bottleneck-1.3.8-cp312-cp312-win32.whl", hash = "sha256:d3ae2bb5d4168912e438e377cc1301fa01df949ba59cd86317b3e00404fd4a97"}, - {file = "Bottleneck-1.3.8-cp312-cp312-win_amd64.whl", hash = "sha256:bcba1d5d5328c50f94852ab521fcb26f35d9e0ccd928d120d56455d1a5bb743f"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8d01fd5389d3160d54619119987ac24b020fa6810b7b398fff4945892237b3da"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca25f0003ef65264942f6306d793e0f270ece8b406c5a293dfc7d878146e9f8"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7763cf1516fa388c3587d12182fc1bc1c8089eab1a0a1bf09761f4c41af73c"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:38837c022350e2a656453f0e448416b7108cf67baccf11d04a0b3b70a48074dd"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:84ca5e741fae1c1796744dbdd0d2c1789cb74dd79c12ea8ec5834f83430f8520"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-win32.whl", hash = "sha256:f4dfc22a3450227e692ef2ff4657639c33eec88ad04ee3ce29d1a23a4942da24"}, - {file = "Bottleneck-1.3.8-cp37-cp37m-win_amd64.whl", hash = "sha256:90b87eed152bbd760c4eb11473c2cf036abdb26e2f84caeb00787da74fb08c40"}, - {file = "Bottleneck-1.3.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54a1b5d9d63b2d9f2955f8542eea26c418f97873e0abf86ca52beea0208c9306"}, - {file = "Bottleneck-1.3.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:019dd142d1e870388fb0b649213a0d8e569cce784326e183deba8f17826edd9f"}, - {file = "Bottleneck-1.3.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b5ed34a540eb7df59f45da659af9f792306637de1c69c95f020294f3b9fc4a8"}, - {file = "Bottleneck-1.3.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b69fcd4d818bcf9d53497d8accd0d5f852a447728baaa33b9b7168f8c4221d06"}, - {file = "Bottleneck-1.3.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:02616a830bd477f5ba51103396092da4b9d83cea2e88f5b8069e3f4f7b796704"}, - {file = "Bottleneck-1.3.8-cp38-cp38-win32.whl", hash = "sha256:93d359fb83eb3bdd6635ef6e64835c38ffdc211441fc190549f286e6af98b5f6"}, - {file = "Bottleneck-1.3.8-cp38-cp38-win_amd64.whl", hash = "sha256:51c8bb3dffeb72c14f0382b80de76eabac6726d316babbd48f7e4056267d7910"}, - {file = "Bottleneck-1.3.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:84453548b0f722c3be912ce3c6b685917fea842bf1252eeb63714a2c1fd1ffc9"}, - {file = "Bottleneck-1.3.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92700867504a213cafa9b8d9be529bd6e18dc83366b2ba00e86e80769b93f678"}, - {file = "Bottleneck-1.3.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fadfd2f3931fdff42f4b9867eb02ed7c662d01e6099ff6b347b6ced791450651"}, - {file = "Bottleneck-1.3.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:cfbc4a3a934b677bfbc37ac8757c4e1264a76262b774259bd3fa8a265dbd668b"}, - {file = "Bottleneck-1.3.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3c74c18f86a1ffac22280b005df8bb8a58505ac6663c4d6807f39873c17dc347"}, - {file = "Bottleneck-1.3.8-cp39-cp39-win32.whl", hash = "sha256:211f881159e8adb3a57df2263028ae6dc89ec4328bfd43f3421e507406c28654"}, - {file = "Bottleneck-1.3.8-cp39-cp39-win_amd64.whl", hash = "sha256:8615eeb75009ba7c0a112a5a6a5154ed3d61fd6b0879631778b3e42e2d9a6d65"}, - {file = "Bottleneck-1.3.8.tar.gz", hash = "sha256:6780d896969ba7f53c8995ba90c87c548beb3db435dc90c60b9a10ed1ab4d868"}, + {file = "Bottleneck-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2110af22aa8c2779faba8aa021d6b559df04449bdf21d510eacd7910934189fe"}, + {file = "Bottleneck-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:381cbd1e52338fcdf9ff01c962e6aa187b2d8b3b369d42e779b6d33ac61f8d35"}, + {file = "Bottleneck-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a91e40bbb8452e77772614d882be2c34b3b514d9f15460f703293525a6e173d"}, + {file = "Bottleneck-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:59604949aea476f5075b965129eaa3c2d90891fd43b0dfaf2ad7621bb5db14a5"}, + {file = "Bottleneck-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c2c92545e1bc8e859d8d137aefa3b24843bd374b17c9814dafa3bbcea9fc4ec0"}, + {file = "Bottleneck-1.4.0-cp310-cp310-win32.whl", hash = "sha256:f63e79bfa2f82a7432c8b147ed321d01ca7769bc17cc04644286a4ce58d30549"}, + {file = "Bottleneck-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:d69907d8d679cb5091a3f479c46bf1076f149f6311ff3298bac5089b86a2fab1"}, + {file = "Bottleneck-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67347b0f01f32a232a6269c37afc1c079e08f6455fa12e91f4a1cd12eb0d11a5"}, + {file = "Bottleneck-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1490348b3bbc0225523dc2c00c6bb3e66168c537d62797bd29783c0826c09838"}, + {file = "Bottleneck-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a704165552496cbcc8bcc5921bb679fd6fa66bb1e758888de091b1223231c9f0"}, + {file = "Bottleneck-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ffb4e4edf7997069719b9269926cc00a2a12c6e015422d1ebc2f621c4541396a"}, + {file = "Bottleneck-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5d6bf45ed58d5e7414c0011ef2da75474fe597a51970df83596b0bcb79c14c5e"}, + {file = "Bottleneck-1.4.0-cp311-cp311-win32.whl", hash = "sha256:ed209f8f3cb9954773764b0fa2510a7a9247ad245593187ac90bd0747771bc5c"}, + {file = "Bottleneck-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d53f1a72b12cfd76b56934c33bc0cb7c1a295f23a2d3ffba8c764514c9b5e0ff"}, + {file = "Bottleneck-1.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e720ff24370324c84a82b1a18195274715c23181748b2b9e3dacad24198ca06f"}, + {file = "Bottleneck-1.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44305c70c2a1539b0ae968e033f301ad868a6146b47e3cccd73fdfe3fc07c4ee"}, + {file = "Bottleneck-1.4.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4dac5d2a871b7bd296c2b92426daa27d5b07aa84ef2557db097d29135da4eb"}, + {file = "Bottleneck-1.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fbcdd01db9e27741fb16a02b720cf02389d4b0b99cefe3c834c7df88c2d7412d"}, + {file = "Bottleneck-1.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:14b3334a39308fbb05dacd35ac100842aa9e9bc70afbdcebe43e46179d183fd0"}, + {file = "Bottleneck-1.4.0-cp312-cp312-win32.whl", hash = "sha256:520d7a83cd48b3f58e5df1a258acb547f8a5386a8c21ca9e1058d83a0d622fdf"}, + {file = "Bottleneck-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b1339b9ad3ee217253f246cde5c3789eb527cf9dd31ff0a1f5a8bf7fc89eadad"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2749602200aaa0e12a0f3f936dd6d4035384ad10d3acf7ac4f418c501683397"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb79a2ac135567694f13339f0bebcee96aec09c596b324b61cd7fd5e306f49d"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c6097bf39723e76ff5bba160daab92ae599df212c859db8d46648548584d04a8"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b5f72b66ccc0272de46b67346cf8490737ba2adc6a302664f5326e7741b6d5ab"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:9903f017b9d6f2f69ce241b424ddad7265624f64dc6eafbe257d45661febf8bd"}, + {file = "Bottleneck-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:834816c316ad184cae7ecb615b69876a42cd2cafb07ee66c57a9c1ccacb63339"}, + {file = "Bottleneck-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:03c43150f180d86a5633a6da788660d335983f6798fca306ba7f47ff27a1b7e7"}, + {file = "Bottleneck-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea333dbcadb780356c54f5c4fa7754f143573b57508fff43d5daf63298eb26a"}, + {file = "Bottleneck-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6179791c0119aec3708ef74ddadab8d183e3742adb93a9028718e8696bdf572b"}, + {file = "Bottleneck-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:220b72405f77aebb0137b733b464c2526ded471e4289ac1e840bab8852759a55"}, + {file = "Bottleneck-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8746f0f727997ce4c7457dc1fec4e4e3c0fdd8803514baa3d1c4ea6515ab04b2"}, + {file = "Bottleneck-1.4.0-cp38-cp38-win32.whl", hash = "sha256:6a36280ee33d9db799163f04e88b950261e590cc71d089f5e179b21680b5d491"}, + {file = "Bottleneck-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:de17e012694e6a987bb4eb050dd7f0cf939195a8e00cb23aa93ebee5fd5e64a8"}, + {file = "Bottleneck-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28260197ab8a4a6b7adf810523147b1a3e85607f4e26a0f685eb9d155cfc75af"}, + {file = "Bottleneck-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90d5d188a0cca0b9655ff2904ee61e7f183079e97550be98c2541a2eec358a72"}, + {file = "Bottleneck-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2861ff645d236f1a6f5c6d1ddb3db37d19af1d91057bdc4fd7b76299a15b3079"}, + {file = "Bottleneck-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6136ce7dcf825c432a20b80ab1c460264a437d8430fff32536176147e0b6b832"}, + {file = "Bottleneck-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:889e6855b77345622b4ba927335d3118745d590492941f5f78554f157d259e92"}, + {file = "Bottleneck-1.4.0-cp39-cp39-win32.whl", hash = "sha256:817aa43a671ede696ea023d8f35839a391244662340cc95a0f46965dda8b35cf"}, + {file = "Bottleneck-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:23834d82177d6997f21fa63156550668cd07a9a6e5a1b66ea80f1a14ac6ffd07"}, + {file = "bottleneck-1.4.0.tar.gz", hash = "sha256:beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8"}, ] [package.dependencies] @@ -333,6 +498,70 @@ files = [ {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + [[package]] name = "cfgv" version = "3.4.0" @@ -344,6 +573,32 @@ files = [ {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] +[[package]] +name = "cfn-lint" +version = "1.5.0" +description = "Checks CloudFormation templates for practices and behaviour that could potentially be improved" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cfn_lint-1.5.0-py3-none-any.whl", hash = "sha256:46ecae4dc6dc0eedf7a4169fbe24d893ff3125c3b53d05d3cab196f704709731"}, + {file = "cfn_lint-1.5.0.tar.gz", hash = "sha256:7fdcf1b1393ace49d50f7e8f047f90811a1c463a1cd57489d4781a31f205a8d0"}, +] + +[package.dependencies] +aws-sam-translator = ">=1.89.0" +jsonpatch = "*" +networkx = ">=2.4,<4" +pyyaml = ">5.4" +regex = "*" +sympy = ">=1.0.0" +typing-extensions = "*" + +[package.extras] +full = ["jschema-to-python (>=1.2.3,<1.3.0)", "junit-xml (>=1.9,<2.0)", "pydot", "sarif-om (>=1.0.4,<1.1.0)"] +graph = ["pydot"] +junit = ["junit-xml (>=1.9,<2.0)"] +sarif = ["jschema-to-python (>=1.2.3,<1.3.0)", "sarif-om (>=1.0.4,<1.1.0)"] + [[package]] name = "cftime" version = "1.6.4" @@ -380,6 +635,7 @@ files = [ {file = "cftime-1.6.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25f043703e785de0bd7cd8222c0a53317e9aeb3dfc062588b05e6f3ebb007468"}, {file = "cftime-1.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f9acc272df1022f24fe7dbe9de43fa5d8271985161df14549e4d8d28c90dc9ea"}, {file = "cftime-1.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:e8467b6fbf8dbfe0be8c04d61180765fdd3b9ab0fe51313a0bbf87e63634a3d8"}, + {file = "cftime-1.6.4.tar.gz", hash = "sha256:e325406193758a7ed67308deb52e727782a19e384e183378e7ff62098be0aedc"}, ] [package.dependencies] @@ -499,49 +755,57 @@ files = [ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] -name = "click-plugins" -version = "1.1.1" -description = "An extension module for click to enable registering CLI commands via setuptools entry-points." +name = "cloudpickle" +version = "3.0.0" +description = "Pickler class to extend the standard pickle.Pickler functionality" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, - {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, + {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"}, + {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"}, ] -[package.dependencies] -click = ">=4.0" - -[package.extras] -dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] - [[package]] -name = "cligj" -version = "0.7.2" -description = "Click params for commmand line interfaces to GeoJSON" +name = "coiled" +version = "1.34.0" +description = "Python client for coiled.io dask clusters" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4" +python-versions = ">=3.8" files = [ - {file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"}, - {file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"}, + {file = "coiled-1.34.0-py3-none-any.whl", hash = "sha256:fc628b3cba6adf86ed23a3cad0abcd4b3975b7e54b4a9288ff4eb395094c8938"}, + {file = "coiled-1.34.0.tar.gz", hash = "sha256:cbfbb3fafe8a6a7b2547e4a4d91404d5aeeb65d4d39dc5dd7db0df8b882a29f9"}, ] [package.dependencies] -click = ">=4.0" +aiohttp = "*" +backoff = ">=1.11.0" +boto3 = "*" +click = ">=7.1" +dask = ">=2022.02.1" +distributed = ">=2022.02.1" +fabric = ">=3.0" +filelock = "*" +gilknocker = ">=0.4.1" +httpx = {version = ">=0.15", extras = ["http2"]} +importlib-metadata = "*" +invoke = ">=2.0" +ipywidgets = "*" +jmespath = "*" +jsondiff = "*" +packaging = "*" +paramiko = ">=2.4" +pip = ">=19.3" +pip-requirements-parser = "*" +prometheus-client = "*" +rich = ">=11.2.0" +setuptools = ">=49.3.0" +toml = "*" +typing-extensions = "*" +wheel = "*" [package.extras] -test = ["pytest-cov"] - -[[package]] -name = "cloudpickle" -version = "3.0.0" -description = "Pickler class to extend the standard pickle.Pickler functionality" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"}, - {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"}, -] +azure = ["azure-identity", "azure-mgmt-resource", "azure-mgmt-subscription"] +notebook = ["distributed (>=2022.8.1)", "jupyter-server-proxy", "jupyterlab"] [[package]] name = "colorama" @@ -554,6 +818,23 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "comm" +version = "0.2.2" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +optional = false +python-versions = ">=3.8" +files = [ + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, +] + +[package.dependencies] +traitlets = ">=4" + +[package.extras] +test = ["pytest"] + [[package]] name = "contourpy" version = "1.2.1" @@ -619,63 +900,63 @@ test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] [[package]] name = "coverage" -version = "7.5.3" +version = "7.5.4" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45"}, - {file = "coverage-7.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c"}, - {file = "coverage-7.5.3-cp310-cp310-win32.whl", hash = "sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84"}, - {file = "coverage-7.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac"}, - {file = "coverage-7.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974"}, - {file = "coverage-7.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614"}, - {file = "coverage-7.5.3-cp311-cp311-win32.whl", hash = "sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9"}, - {file = "coverage-7.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a"}, - {file = "coverage-7.5.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8"}, - {file = "coverage-7.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84"}, - {file = "coverage-7.5.3-cp312-cp312-win32.whl", hash = "sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08"}, - {file = "coverage-7.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb"}, - {file = "coverage-7.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb"}, - {file = "coverage-7.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0"}, - {file = "coverage-7.5.3-cp38-cp38-win32.whl", hash = "sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485"}, - {file = "coverage-7.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56"}, - {file = "coverage-7.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85"}, - {file = "coverage-7.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd"}, - {file = "coverage-7.5.3-cp39-cp39-win32.whl", hash = "sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d"}, - {file = "coverage-7.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0"}, - {file = "coverage-7.5.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884"}, - {file = "coverage-7.5.3.tar.gz", hash = "sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f"}, + {file = "coverage-7.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99"}, + {file = "coverage-7.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d"}, + {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136"}, + {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9"}, + {file = "coverage-7.5.4-cp310-cp310-win32.whl", hash = "sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8"}, + {file = "coverage-7.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f"}, + {file = "coverage-7.5.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5"}, + {file = "coverage-7.5.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080"}, + {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0"}, + {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078"}, + {file = "coverage-7.5.4-cp311-cp311-win32.whl", hash = "sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806"}, + {file = "coverage-7.5.4-cp311-cp311-win_amd64.whl", hash = "sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d"}, + {file = "coverage-7.5.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233"}, + {file = "coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e"}, + {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c"}, + {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805"}, + {file = "coverage-7.5.4-cp312-cp312-win32.whl", hash = "sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b"}, + {file = "coverage-7.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7"}, + {file = "coverage-7.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882"}, + {file = "coverage-7.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4"}, + {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f"}, + {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f"}, + {file = "coverage-7.5.4-cp38-cp38-win32.whl", hash = "sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f"}, + {file = "coverage-7.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633"}, + {file = "coverage-7.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088"}, + {file = "coverage-7.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8"}, + {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c"}, + {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7"}, + {file = "coverage-7.5.4-cp39-cp39-win32.whl", hash = "sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace"}, + {file = "coverage-7.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d"}, + {file = "coverage-7.5.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5"}, + {file = "coverage-7.5.4.tar.gz", hash = "sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353"}, ] [package.dependencies] @@ -684,6 +965,60 @@ tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.1 [package.extras] toml = ["tomli"] +[[package]] +name = "cryptography" +version = "42.0.8" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, + {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, + {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, + {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, + {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, + {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, + {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, +] + +[package.dependencies] +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] +nox = ["nox"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] +sdist = ["build"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] + [[package]] name = "cycler" version = "0.12.1" @@ -701,13 +1036,13 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "dask" -version = "2024.5.2" +version = "2024.6.2" description = "Parallel PyData with Task Scheduling" optional = false python-versions = ">=3.9" files = [ - {file = "dask-2024.5.2-py3-none-any.whl", hash = "sha256:acc2cfe41d9e0151c216ac40396dbe34df13bc3d8c51dfece190349e4f2243af"}, - {file = "dask-2024.5.2.tar.gz", hash = "sha256:5c9722c44d0195e78b6e54197aa3302e6fcaaac2310fd3014560bcb86253dcb3"}, + {file = "dask-2024.6.2-py3-none-any.whl", hash = "sha256:81b80ee015b2e057b93bb2d1bf13a866136e762e2b24bf54b6b621e8b86b7708"}, + {file = "dask-2024.6.2.tar.gz", hash = "sha256:d429d6b19e85fd1306ac37c188aaf99d03bbe69a6fe59d2b42882b2ac188686f"}, ] [package.dependencies] @@ -715,7 +1050,7 @@ bokeh = {version = ">=2.4.2", optional = true, markers = "extra == \"diagnostics click = ">=8.1" cloudpickle = ">=1.5.0" dask-expr = {version = ">=1.1,<1.2", optional = true, markers = "extra == \"dataframe\""} -distributed = {version = "2024.5.2", optional = true, markers = "extra == \"distributed\""} +distributed = {version = "2024.6.2", optional = true, markers = "extra == \"distributed\""} fsspec = ">=2021.09.0" importlib-metadata = {version = ">=4.13.0", markers = "python_version < \"3.12\""} jinja2 = {version = ">=2.10.3", optional = true, markers = "extra == \"diagnostics\""} @@ -734,25 +1069,28 @@ array = ["numpy (>=1.21)"] complete = ["dask[array,dataframe,diagnostics,distributed]", "lz4 (>=4.3.2)", "pyarrow (>=7.0)", "pyarrow-hotfix"] dataframe = ["dask-expr (>=1.1,<1.2)", "dask[array]", "pandas (>=1.3)"] diagnostics = ["bokeh (>=2.4.2)", "jinja2 (>=2.10.3)"] -distributed = ["distributed (==2024.5.2)"] +distributed = ["distributed (==2024.6.2)"] test = ["pandas[test]", "pre-commit", "pytest", "pytest-cov", "pytest-rerunfailures", "pytest-timeout", "pytest-xdist"] [[package]] name = "dask-expr" -version = "1.1.2" +version = "1.1.6" description = "High Level Expressions for Dask" optional = false python-versions = ">=3.9" files = [ - {file = "dask_expr-1.1.2-py3-none-any.whl", hash = "sha256:3be69fb2d449b5edf4404e953b7f6e688426872c6eb10f239539ead716a06f7a"}, - {file = "dask_expr-1.1.2.tar.gz", hash = "sha256:ce2e3803b638cdc67bc75326e1b0d36ea9d231fdddf086e727145a5a2769bed4"}, + {file = "dask_expr-1.1.6-py3-none-any.whl", hash = "sha256:04e31cb941b7cbdce7b1384f2bcf17fd17e828e45e9c74491e28473095ee6891"}, + {file = "dask_expr-1.1.6.tar.gz", hash = "sha256:ace366c6d9c248a7fa7b48f7a34140afae3b6a0ea14ee57743babe5a9d1ef43f"}, ] [package.dependencies] -dask = "2024.5.2" +dask = "2024.6.2" pandas = ">=2" pyarrow = ">=7.0.0" +[package.extras] +analyze = ["crick", "distributed"] + [[package]] name = "decorator" version = "5.1.1" @@ -764,6 +1102,23 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +[[package]] +name = "deprecated" +version = "1.2.14" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] + [[package]] name = "distlib" version = "0.3.8" @@ -777,19 +1132,19 @@ files = [ [[package]] name = "distributed" -version = "2024.5.2" +version = "2024.6.2" description = "Distributed scheduler for Dask" optional = false python-versions = ">=3.9" files = [ - {file = "distributed-2024.5.2-py3-none-any.whl", hash = "sha256:c0fd59d5c34179d9c9b5dc5acb42a00a06d163107b79f66c2dc73e9479a92286"}, - {file = "distributed-2024.5.2.tar.gz", hash = "sha256:4cee41093e98340d04d9254012c7d521065f64b3f33546dd0b02b00becb41e21"}, + {file = "distributed-2024.6.2-py3-none-any.whl", hash = "sha256:0c1f8ccb1da71273ad8c53c598147dc37e60bef17142fd466cb72618a521880f"}, + {file = "distributed-2024.6.2.tar.gz", hash = "sha256:bb43b766ada860b163956607c80f99871d823c645e326c2b5e35f020351adc55"}, ] [package.dependencies] click = ">=8.0" cloudpickle = ">=1.5.0" -dask = "2024.5.2" +dask = "2024.6.2" jinja2 = ">=2.10.3" locket = ">=1.0.0" msgpack = ">=1.0.0" @@ -803,6 +1158,39 @@ tornado = ">=6.0.4" urllib3 = ">=1.24.3" zict = ">=3.0.0" +[[package]] +name = "docker" +version = "7.1.0" +description = "A Python library for the Docker Engine API." +optional = false +python-versions = ">=3.8" +files = [ + {file = "docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"}, + {file = "docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c"}, +] + +[package.dependencies] +pywin32 = {version = ">=304", markers = "sys_platform == \"win32\""} +requests = ">=2.26.0" +urllib3 = ">=1.26.0" + +[package.extras] +dev = ["coverage (==7.2.7)", "pytest (==7.4.2)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.1.0)", "ruff (==0.1.8)"] +docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"] +ssh = ["paramiko (>=2.4.3)"] +websockets = ["websocket-client (>=1.3.0)"] + +[[package]] +name = "docutils" +version = "0.21.2" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=3.9" +files = [ + {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, + {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, +] + [[package]] name = "exceptiongroup" version = "1.2.1" @@ -831,6 +1219,26 @@ files = [ [package.extras] testing = ["hatch", "pre-commit", "pytest", "tox"] +[[package]] +name = "fabric" +version = "3.2.2" +description = "High level SSH command execution" +optional = false +python-versions = "*" +files = [ + {file = "fabric-3.2.2-py3-none-any.whl", hash = "sha256:91c47c0be68b14936c88b34da8a1f55e5710fd28397dac5d4ff2e21558113a6f"}, + {file = "fabric-3.2.2.tar.gz", hash = "sha256:8783ca42e3b0076f08b26901aac6b9d9b1f19c410074e7accfab902c184ff4a3"}, +] + +[package.dependencies] +decorator = ">=5" +deprecated = ">=1.2" +invoke = ">=2.0" +paramiko = ">=2.4" + +[package.extras] +pytest = ["pytest (>=7)"] + [[package]] name = "fasteners" version = "0.19" @@ -844,66 +1252,55 @@ files = [ [[package]] name = "filelock" -version = "3.14.0" +version = "3.15.4" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.14.0-py3-none-any.whl", hash = "sha256:43339835842f110ca7ae60f1e1c160714c5a6afd15a2873419ab185334975c0f"}, - {file = "filelock-3.14.0.tar.gz", hash = "sha256:6ea72da3be9b8c82afd3edcf99f2fffbb5076335a5ae4d03248bb5b6c3eae78a"}, + {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, + {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, ] [package.extras] docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] typing = ["typing-extensions (>=4.8)"] [[package]] -name = "fiona" -version = "1.9.6" -description = "Fiona reads and writes spatial data files" +name = "flask" +version = "3.0.3" +description = "A simple framework for building complex web applications." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "fiona-1.9.6-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:63e528b5ea3d8b1038d788e7c65117835c787ba7fdc94b1b42f09c2cbc0aaff2"}, - {file = "fiona-1.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:918bd27d8625416672e834593970f96dff63215108f81efb876fe5c0bc58a3b4"}, - {file = "fiona-1.9.6-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e313210b30d09ed8f829bf625599e248dadd78622728030221f6526580ff26c5"}, - {file = "fiona-1.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:89095c2d542325ee45894b8837e8048cdbb2f22274934e1be3b673ca628010d7"}, - {file = "fiona-1.9.6-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:98cea6f435843b2119731c6b0470e5b7386aa16b6aa7edabbf1ed93aefe029c3"}, - {file = "fiona-1.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f4230eccbd896a79d1ebfa551d84bf90f512f7bcbe1ca61e3f82231321f1a532"}, - {file = "fiona-1.9.6-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:48b6218224e96de5e36b5eb259f37160092260e5de0dcd82ca200b1887aa9884"}, - {file = "fiona-1.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:c1dd5fbc29b7303bb87eb683455e8451e1a53bb8faf20ef97fdcd843c9e4a7f6"}, - {file = "fiona-1.9.6-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:42d8a0e5570948d3821c493b6141866d9a4d7a64edad2be4ecbb89f81904baac"}, - {file = "fiona-1.9.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39819fb8f5ec6d9971cb01b912b4431615a3d3f50c83798565d8ce41917930db"}, - {file = "fiona-1.9.6-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:9b53034efdf93ada9295b081e6a8280af7c75496a20df82d4c2ca46d65b85905"}, - {file = "fiona-1.9.6-cp312-cp312-win_amd64.whl", hash = "sha256:1dcd6eca7524535baf2a39d7981b4a46d33ae28c313934a7c3eae62eecf9dfa5"}, - {file = "fiona-1.9.6-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e5404ed08c711489abcb3a50a184816825b8af06eb73ad2a99e18b8e7b47c96a"}, - {file = "fiona-1.9.6-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:53bedd2989e255df1bf3378ae9c06d6d241ec273c280c544bb44ffffebb97fb0"}, - {file = "fiona-1.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:77653a08564a44e634c44cd74a068d2f55d1d4029edd16d1c8aadcc4d8cc1d2c"}, - {file = "fiona-1.9.6-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:e7617563b36d2be99f048f0d0054b4d765f4aae454398f88f19de9c2c324b7f8"}, - {file = "fiona-1.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:50037c3b7a5f6f434b562b5b1a5b664f1caa7a4383b00af23cdb59bfc6ba852c"}, - {file = "fiona-1.9.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:bf51846ad602757bf27876f458c5c9f14b09421fac612f64273cc4e3fcabc441"}, - {file = "fiona-1.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:11af1afc1255642a7787fe112c29d01f968f1053e4d4700fc6f3bb879c1622e0"}, - {file = "fiona-1.9.6-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:52e8fec650b72fc5253d8f86b63859acc687182281c29bfacd3930496cf982d1"}, - {file = "fiona-1.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c9b92aa1badb2773e7cac19bef3064d73e9d80c67c42f0928db2520a04be6f2f"}, - {file = "fiona-1.9.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0eaffbf3bfae9960484c0c08ea461b0c40e111497f04e9475ebf15ac7a22d9dc"}, - {file = "fiona-1.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f1b49d51a744874608b689f029766aa1e078dd72e94b44cf8eeef6d7bd2e9051"}, - {file = "fiona-1.9.6.tar.gz", hash = "sha256:791b3494f8b218c06ea56f892bd6ba893dfa23525347761d066fb7738acda3b1"}, -] - -[package.dependencies] -attrs = ">=19.2.0" -certifi = "*" -click = ">=8.0,<9.0" -click-plugins = ">=1.0" -cligj = ">=0.5" -six = "*" + {file = "flask-3.0.3-py3-none-any.whl", hash = "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3"}, + {file = "flask-3.0.3.tar.gz", hash = "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"}, +] + +[package.dependencies] +blinker = ">=1.6.2" +click = ">=8.1.3" +itsdangerous = ">=2.1.2" +Jinja2 = ">=3.1.2" +Werkzeug = ">=3.0.0" [package.extras] -all = ["fiona[calc,s3,test]"] -calc = ["shapely"] -s3 = ["boto3 (>=1.3.1)"] -test = ["fiona[s3]", "pytest (>=7)", "pytest-cov", "pytz"] +async = ["asgiref (>=3.2)"] +dotenv = ["python-dotenv"] + +[[package]] +name = "flask-cors" +version = "4.0.1" +description = "A Flask extension adding a decorator for CORS support" +optional = false +python-versions = "*" +files = [ + {file = "Flask_Cors-4.0.1-py2.py3-none-any.whl", hash = "sha256:f2a704e4458665580c074b714c4627dd5a306b333deb9074d0b1794dfa2fb677"}, + {file = "flask_cors-4.0.1.tar.gz", hash = "sha256:eeb69b342142fdbf4766ad99357a7f3876a2ceb77689dc10ff912aac06c389e4"}, +] + +[package.dependencies] +Flask = ">=0.9" [[package]] name = "flox" @@ -1081,13 +1478,13 @@ files = [ [[package]] name = "fsspec" -version = "2024.6.0" +version = "2024.6.1" description = "File-system specification" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2024.6.0-py3-none-any.whl", hash = "sha256:58d7122eb8a1a46f7f13453187bfea4972d66bf01618d37366521b1998034cee"}, - {file = "fsspec-2024.6.0.tar.gz", hash = "sha256:f579960a56e6d8038a9efc8f9c77279ec12e6299aa86b0769a7e9c46b94527c2"}, + {file = "fsspec-2024.6.1-py3-none-any.whl", hash = "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e"}, + {file = "fsspec-2024.6.1.tar.gz", hash = "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49"}, ] [package.extras] @@ -1118,24 +1515,157 @@ test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe, test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] +[[package]] +name = "fuzzywuzzy" +version = "0.18.0" +description = "Fuzzy string matching in python" +optional = false +python-versions = "*" +files = [ + {file = "fuzzywuzzy-0.18.0-py2.py3-none-any.whl", hash = "sha256:928244b28db720d1e0ee7587acf660ea49d7e4c632569cad4f1cd7e68a5f0993"}, + {file = "fuzzywuzzy-0.18.0.tar.gz", hash = "sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8"}, +] + +[package.extras] +speedup = ["python-levenshtein (>=0.12)"] + [[package]] name = "geopandas" -version = "0.14.4" +version = "1.0.1" description = "Geographic pandas extensions" optional = false python-versions = ">=3.9" files = [ - {file = "geopandas-0.14.4-py3-none-any.whl", hash = "sha256:3bb6473cb59d51e1a7fe2dbc24a1a063fb0ebdeddf3ce08ddbf8c7ddc99689aa"}, - {file = "geopandas-0.14.4.tar.gz", hash = "sha256:56765be9d58e2c743078085db3bd07dc6be7719f0dbe1dfdc1d705cb80be7c25"}, + {file = "geopandas-1.0.1-py3-none-any.whl", hash = "sha256:01e147d9420cc374d26f51fc23716ac307f32b49406e4bd8462c07e82ed1d3d6"}, + {file = "geopandas-1.0.1.tar.gz", hash = "sha256:b8bf70a5534588205b7a56646e2082fb1de9a03599651b3d80c99ea4c2ca08ab"}, ] [package.dependencies] -fiona = ">=1.8.21" numpy = ">=1.22" packaging = "*" pandas = ">=1.4.0" +pyogrio = ">=0.7.2" pyproj = ">=3.3.0" -shapely = ">=1.8.0" +shapely = ">=2.0.0" + +[package.extras] +all = ["GeoAlchemy2", "SQLAlchemy (>=1.3)", "folium", "geopy", "mapclassify", "matplotlib (>=3.5.0)", "psycopg-binary (>=3.1.0)", "pyarrow (>=8.0.0)", "xyzservices"] +dev = ["black", "codecov", "pre-commit", "pytest (>=3.1.0)", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "gilknocker" +version = "0.4.1" +description = "Knock on the Python GIL, determine how busy it is." +optional = false +python-versions = ">=3.7" +files = [ + {file = "gilknocker-0.4.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:094ee864032e54fafa8e0c87edf62ccc70fcc6322bea76ddf890e9564d1b758e"}, + {file = "gilknocker-0.4.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:50450a1adf10df257dc68baf9c67437b26e1b85914a79e2b5e7b7c1ae8542dcc"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2421eb3723c32be4f6f1896a8a54a0e761cab3347b236a02b542478f700b8a62"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00a41675a3feed22a4bcac7461730a3a32678b1ea9b36cd7802003251a333314"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61dd81cd8af27d0b796f7d8f51ae012cad0499bd20cfed1ffb93fa2a0d2cf24c"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e5b87440b828c3b412c9f4592bd963d22e38d3aca71cb31379b1d9581105b52"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:51d1eaeb8fc0fefc3335be54a96876bbbcc73b1606887081aa3161ea6709439b"}, + {file = "gilknocker-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ba6a363be7994631bc497c33d26f9782d72db4d7e75ba0c08db20d04204c3fd"}, + {file = "gilknocker-0.4.1-cp310-none-win32.whl", hash = "sha256:8aae0a07bf76de63d2adf299e3a342e03dad11df3b8cea65f0c2e74411824dae"}, + {file = "gilknocker-0.4.1-cp310-none-win_amd64.whl", hash = "sha256:34446b914b2831df22594ea24179bb55897f48b93a2efcf9b869cd01aad5f3bd"}, + {file = "gilknocker-0.4.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:0a291450033eb9c404ba0b80fd5f522bfe9bf1805a23f88bd665abc32587ac39"}, + {file = "gilknocker-0.4.1-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:66a4eb863229e8f99a867ca7ef57e34f9e757ca3599b4e4e554795370cfb30a6"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:90ddf44dde01578801a7fb52421766c7e0dde343b2b220f97f3f3f1f05c4e604"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10895677784c932a61f461171ffa6088561be30c66f8b264745d9999d4532cfe"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a38ad5dc9e573be579802a017ebdc912739dba835494f69b4bd898f4a02e071"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a077837c3ce3b4912f95fbd256a7bbccc1768ec77831637e555e5fc78eec224"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16594eb6e9ea7759ae1f512ea95c931ad1f2d01afb30640d29f1422f4c5827bd"}, + {file = "gilknocker-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de32005922d3d8044835dcb2374761b96abc7498e8e1510e13e4c052ac0d545e"}, + {file = "gilknocker-0.4.1-cp311-none-win32.whl", hash = "sha256:d2818d2945d019c94a8853e42b930afb3d27aab2674636792f77ed32fedcae4b"}, + {file = "gilknocker-0.4.1-cp311-none-win_amd64.whl", hash = "sha256:b433f8aea88fa001475b644afb44e8932ec44362282e5ad76d21ee1ef4b9ea8f"}, + {file = "gilknocker-0.4.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:a247f49b2f6614e61462aada8cc91006eda92edd2d6a3d714eb29d760dbf15b8"}, + {file = "gilknocker-0.4.1-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:8f536a27e062cfb9b14d0e73f65029396a65c09e8e354361cfbea431ad86de07"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:25668ccd0bf613fd31e2ace9de479d1441a47b0f7867f163a3d0a1df399871e2"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:895bd5f7d446c12e190489a53bd645d5ef9af2ac0a7a9897bc67a2d699d48759"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e83bed6c89dc7af96a02e7a950f4e9c72b2c839af8727cedc598bf26ae89c94"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b70a6252cdd1af4b84feec43c54fdb55577e28dcee3c5bbaaee8eb5aff2a50e"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b88aac029d7829de9b35bc739fef72d96911be2ad31fdaa8602a6d89c2d19f8"}, + {file = "gilknocker-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:185b216313c235507b14f26428c11162677d80b443194e94c37f1abd99a30a43"}, + {file = "gilknocker-0.4.1-cp312-none-win32.whl", hash = "sha256:602514d9e1da006c35de249909046410635b15fb65886e96113c71b3a9865300"}, + {file = "gilknocker-0.4.1-cp312-none-win_amd64.whl", hash = "sha256:89d08af4071088cf1a5fa154ea35236503c86b7dd12429945b1bcd5bb1d62bef"}, + {file = "gilknocker-0.4.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:f987a0c37f0b44eb4f45051ab33cb0c5ae1381bdfacffdb06c89b28bab03a409"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8e2436acccdf75bb8622d35ea5af693d2fdcc9e63567a8424af6e863973a917f"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6fd1c92524130617a5eb142d7f4f16d874609c1835db3a197183db50d3f8d2"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5829c1cc5c2844413148fa37782a38a0c17ad4e9529d1e6e267308e99a95381e"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ead828a9a0e145634640b58c4a3dcd6c8375c60f99284b4afb919da29d97c05d"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07c0e2394d040330d5c6de3f797901407071d1e8813c95a18f97f1fe02cf5f0a"}, + {file = "gilknocker-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ff2f4b7e09efb3aa316ecc3d6df7df1c8d50053919e5c8e933ddc85aa932148"}, + {file = "gilknocker-0.4.1-cp37-none-win32.whl", hash = "sha256:c228837d176cbc601ee30962c9b79d1336ed350f7ac7ef67dc889afb09eb1979"}, + {file = "gilknocker-0.4.1-cp37-none-win_amd64.whl", hash = "sha256:0f929bb718bde531608f9da9317d0e06bcc6b64d78021c1ba43782f0ab02d763"}, + {file = "gilknocker-0.4.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:a83d4a1fb1501c45ac1c7f6fec55b2f7ad6efea4c1f31504055f2b7bac62792a"}, + {file = "gilknocker-0.4.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:7a37ad5f0ea74627a2adf392e7d1ff5930c44275a47e65e2853719a43c441707"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9b9d43848f015e95d6f1645f52d96e5994efbb96456c57161acb164adbdc53d9"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6246e55ceee31fd04c624741ecd753402334515a4db191a32f7b3bfc46d3020"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3def27c21e2241c5a027784560e694d2e246bb9ee6d1ad5fa62f8587affc8742"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34fb214872a506ebc19a27fc398f7cc837138b11eb816a028ae7e4cd9202feec"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5cfdd4e033119dabff9d6b2166d11ea8775a29c958b648896c5c88608ebfea7b"}, + {file = "gilknocker-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2288fbb606c457b3103306c9e72f124782ccc7a48b1fff5dd0b0ea379f2ee6cc"}, + {file = "gilknocker-0.4.1-cp38-none-win32.whl", hash = "sha256:b2a56dec5155968c12b9463c662b1cfaec87329ba59b6bbba4944907e6e7bb10"}, + {file = "gilknocker-0.4.1-cp38-none-win_amd64.whl", hash = "sha256:9e82fcb264663edcf4d2478d929be873c3633ea339fe676a915b1f468499b39a"}, + {file = "gilknocker-0.4.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:ca95db3f4a73d60cfbfecdea6aacea9a10931ae8bfe010db70bad214eebad55c"}, + {file = "gilknocker-0.4.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:8b38a0e2f9231e7324c832099dcad3ec4c2f5b3a48105ba8e1d2496cf245feb0"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8e6386b21256a3ab35d97df9f151b716278ee3f6e99ca2b4b587bb43d60d1516"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33b5fc51e19fe89dc661942c493de4946e6ba0cb642a15c187627548cd2ef329"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5910d9ff1530848a1b941d3fd3cfb6d376439b6788ed3e7319cc0ecffb6f4caf"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a81ef1b79c7093eb26e3affd73963b224e3be41fc19cf5cb175bb05da834579"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8290247beb092d6ca73a75a2bdee19d8ca89cf18dfeec23e9c3b8826b9a929e6"}, + {file = "gilknocker-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2bc4daceb5934cecfec12c703ebe584528f2af57ef475697d7d3d50ce0e1757"}, + {file = "gilknocker-0.4.1-cp39-none-win32.whl", hash = "sha256:f0c87669639439c5073ad4aae30ea70c00f2567f56cf8623f43a7062217a732c"}, + {file = "gilknocker-0.4.1-cp39-none-win_amd64.whl", hash = "sha256:d0636b90a0256c2b3e7fa58deb8e7d55e6a1fe90133c2715fec47a26b999d366"}, + {file = "gilknocker-0.4.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0873037b0d4f9efd00ec1a46596f198509052818c7ed729517248a14005ad4be"}, + {file = "gilknocker-0.4.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9a9fd6b66059d8bfcb8c77601fc667e3a83ca1c970923f137476427bbc61bb5"}, + {file = "gilknocker-0.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:153fe62a970dd549ca7a0898b13db5130bd8d3987d7d8688bd75e553a50f680f"}, + {file = "gilknocker-0.4.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:aad96df6d3859045860ebcb94e3687c72e0ebca2856300262bc87356952ec51c"}, + {file = "gilknocker-0.4.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f65388813d204e4722efe1d258f0b56d4205b2a0621e3ef37eaca90827dbc4be"}, + {file = "gilknocker-0.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b99617fed8e8023b9af0e4b9fba2c1d98d701bf05ae607ae4a4e8f7ac609151e"}, + {file = "gilknocker-0.4.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7d332a47adfa16e9e461af00909349e6c81bd63ac58d2ce0730e30b87cc1a063"}, + {file = "gilknocker-0.4.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:217c081ca35de545d1c76ef063e48b6a88e062132cee96a5afdd172473ee4161"}, + {file = "gilknocker-0.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d566f50deb089a64ef49d2174fc046c56b1d1e77519dad0c377b66c9a2a9755"}, + {file = "gilknocker-0.4.1.tar.gz", hash = "sha256:0a9ce42b50221e8ea9572e28847ec46a1a527124a25e6f6f7a0f1d2668c9241c"}, +] + +[[package]] +name = "graphql-core" +version = "3.2.3" +description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL." +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "graphql-core-3.2.3.tar.gz", hash = "sha256:06d2aad0ac723e35b1cb47885d3e5c45e956a53bc1b209a9fc5369007fe46676"}, + {file = "graphql_core-3.2.3-py3-none-any.whl", hash = "sha256:5766780452bd5ec8ba133f8bf287dc92713e3868ddd83aee4faab9fc3e303dc3"}, +] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "h2" +version = "4.1.0" +description = "HTTP/2 State-Machine based protocol implementation" +optional = false +python-versions = ">=3.6.1" +files = [ + {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, + {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, +] + +[package.dependencies] +hpack = ">=4.0,<5" +hyperframe = ">=6.0,<7" [[package]] name = "h5netcdf" @@ -1188,15 +1718,83 @@ files = [ [package.dependencies] numpy = ">=1.17.3" +[[package]] +name = "hpack" +version = "4.0.0" +description = "Pure-Python HPACK header compression" +optional = false +python-versions = ">=3.6.1" +files = [ + {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, + {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, +] + +[[package]] +name = "httpcore" +version = "1.0.5" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"}, + {file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.26.0)"] + +[[package]] +name = "httpx" +version = "0.27.0" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +h2 = {version = ">=3,<5", optional = true, markers = "extra == \"http2\""} +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "hyperframe" +version = "6.0.1" +description = "HTTP/2 framing layer for Python" +optional = false +python-versions = ">=3.6.1" +files = [ + {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, + {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, +] + [[package]] name = "hypothesis" -version = "6.103.1" +version = "6.104.2" description = "A library for property-based testing" optional = false python-versions = ">=3.8" files = [ - {file = "hypothesis-6.103.1-py3-none-any.whl", hash = "sha256:d3c959fab6233e78867499e2117ae9db8dc40eeed936d71a2cfc7b6094972e74"}, - {file = "hypothesis-6.103.1.tar.gz", hash = "sha256:d299d5c21d6408eab3be670c94c974f3acf0b511c61fe81804b09091e393ee1f"}, + {file = "hypothesis-6.104.2-py3-none-any.whl", hash = "sha256:8b52b7e2462e552c75b819495d5cb6251a2b840accc79cf2ce52588004c915d9"}, + {file = "hypothesis-6.104.2.tar.gz", hash = "sha256:6f2a1489bc8fe1c87ffd202707319b66ec46b2bc11faf6e0161e957b8b9b1eab"}, ] [package.dependencies] @@ -1205,10 +1803,10 @@ exceptiongroup = {version = ">=1.0.0", markers = "python_version < \"3.11\""} sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.54)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.4)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] +all = ["backports.zoneinfo (>=0.2.1)", "black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.55)", "django (>=3.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.4)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.17.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2024.1)"] cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"] codemods = ["libcst (>=0.3.16)"] -crosshair = ["crosshair-tool (>=0.0.54)", "hypothesis-crosshair (>=0.0.4)"] +crosshair = ["crosshair-tool (>=0.0.55)", "hypothesis-crosshair (>=0.0.4)"] dateutil = ["python-dateutil (>=1.4)"] django = ["django (>=3.2)"] dpcontracts = ["dpcontracts (>=0.4)"] @@ -1246,24 +1844,35 @@ files = [ {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + [[package]] name = "importlib-metadata" -version = "7.1.0" +version = "8.0.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, - {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "iniconfig" @@ -1276,6 +1885,17 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "invoke" +version = "2.2.0" +description = "Pythonic task execution" +optional = false +python-versions = ">=3.6" +files = [ + {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"}, + {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"}, +] + [[package]] name = "ipdb" version = "0.13.13" @@ -1328,6 +1948,38 @@ parallel = ["ipyparallel"] qtconsole = ["qtconsole"] test = ["ipykernel", "nbformat", "nose (>=0.10.1)", "numpy (>=1.17)", "pygments", "requests", "testpath"] +[[package]] +name = "ipywidgets" +version = "8.1.3" +description = "Jupyter interactive widgets" +optional = false +python-versions = ">=3.7" +files = [ + {file = "ipywidgets-8.1.3-py3-none-any.whl", hash = "sha256:efafd18f7a142248f7cb0ba890a68b96abd4d6e88ddbda483c9130d12667eaf2"}, + {file = "ipywidgets-8.1.3.tar.gz", hash = "sha256:f5f9eeaae082b1823ce9eac2575272952f40d748893972956dc09700a6392d9c"}, +] + +[package.dependencies] +comm = ">=0.1.3" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0.11,<3.1.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0.11,<4.1.0" + +[package.extras] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +description = "Safely pass data to untrusted environments and back." +optional = false +python-versions = ">=3.8" +files = [ + {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, + {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, +] + [[package]] name = "jedi" version = "0.19.1" @@ -1375,6 +2027,79 @@ files = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] +[[package]] +name = "joserfc" +version = "0.12.0" +description = "The ultimate Python library for JOSE RFCs, including JWS, JWE, JWK, JWA, JWT" +optional = false +python-versions = ">=3.8" +files = [ + {file = "joserfc-0.12.0-py3-none-any.whl", hash = "sha256:210f21ec1c3d08c9a0d9969d7825d2020f365ad6b3a0d6c6c0b638704f96a5b0"}, + {file = "joserfc-0.12.0.tar.gz", hash = "sha256:86625aef30bb9857f8c2f4320ea2ad4342a29319a66189cb743547c74a88b1ec"}, +] + +[package.dependencies] +cryptography = "*" + +[package.extras] +drafts = ["pycryptodome"] + +[[package]] +name = "jsondiff" +version = "2.1.1" +description = "Diff JSON and JSON-like structures in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsondiff-2.1.1-py3-none-any.whl", hash = "sha256:ffab5bc00237c2c9f48a4b07fff7bf7df13e4b98f9585bd00b6e6e5f371a98fc"}, + {file = "jsondiff-2.1.1.tar.gz", hash = "sha256:c7dfd4f8c9307500a536e9b93492b2c1ba62dac2b3c5189aa6e37d63b427b4d8"}, +] + +[package.dependencies] +pyyaml = "*" + +[package.extras] +dev = ["build", "hypothesis", "pytest", "setuptools-scm"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpath-ng" +version = "1.6.1" +description = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." +optional = false +python-versions = "*" +files = [ + {file = "jsonpath-ng-1.6.1.tar.gz", hash = "sha256:086c37ba4917304850bd837aeab806670224d3f038fe2833ff593a672ef0a5fa"}, + {file = "jsonpath_ng-1.6.1-py3-none-any.whl", hash = "sha256:8f22cd8273d7772eea9aaa84d922e0841aa36fdb8a2c6b7f6c3791a16a9bc0be"}, +] + +[package.dependencies] +ply = "*" + +[[package]] +name = "jsonpointer" +version = "3.0.0" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, +] + [[package]] name = "jsonschema" version = "4.22.0" @@ -1396,6 +2121,23 @@ rpds-py = ">=0.7.1" format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] +[[package]] +name = "jsonschema-path" +version = "0.3.3" +description = "JSONSchema Spec with object-oriented paths" +optional = false +python-versions = "<4.0.0,>=3.8.0" +files = [ + {file = "jsonschema_path-0.3.3-py3-none-any.whl", hash = "sha256:203aff257f8038cd3c67be614fe6b2001043408cb1b4e36576bc4921e09d83c4"}, + {file = "jsonschema_path-0.3.3.tar.gz", hash = "sha256:f02e5481a4288ec062f8e68c808569e427d905bedfecb7f2e4c69ef77957c382"}, +] + +[package.dependencies] +pathable = ">=0.4.1,<0.5.0" +PyYAML = ">=5.1" +referencing = ">=0.28.0,<0.36.0" +requests = ">=2.31.0,<3.0.0" + [[package]] name = "jsonschema-specifications" version = "2023.12.1" @@ -1410,6 +2152,17 @@ files = [ [package.dependencies] referencing = ">=0.31.0" +[[package]] +name = "jupyterlab-widgets" +version = "3.0.11" +description = "Jupyter interactive widgets for JupyterLab" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyterlab_widgets-3.0.11-py3-none-any.whl", hash = "sha256:78287fd86d20744ace330a61625024cf5521e1c012a352ddc0a3cdc2348becd0"}, + {file = "jupyterlab_widgets-3.0.11.tar.gz", hash = "sha256:dd5ac679593c969af29c9bed054c24f26842baa51352114736756bc035deee27"}, +] + [[package]] name = "kiwisolver" version = "1.4.5" @@ -1523,34 +2276,80 @@ files = [ {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, ] +[[package]] +name = "lazy-object-proxy" +version = "1.10.0" +description = "A fast and thorough lazy object proxy." +optional = false +python-versions = ">=3.8" +files = [ + {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, + {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, + {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, + {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, + {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, + {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, + {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, +] + [[package]] name = "llvmlite" -version = "0.42.0" +version = "0.43.0" description = "lightweight wrapper around basic LLVM functionality" optional = false python-versions = ">=3.9" files = [ - {file = "llvmlite-0.42.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3366938e1bf63d26c34fbfb4c8e8d2ded57d11e0567d5bb243d89aab1eb56098"}, - {file = "llvmlite-0.42.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c35da49666a21185d21b551fc3caf46a935d54d66969d32d72af109b5e7d2b6f"}, - {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70f44ccc3c6220bd23e0ba698a63ec2a7d3205da0d848804807f37fc243e3f77"}, - {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763f8d8717a9073b9e0246998de89929071d15b47f254c10eef2310b9aac033d"}, - {file = "llvmlite-0.42.0-cp310-cp310-win_amd64.whl", hash = "sha256:8d90edf400b4ceb3a0e776b6c6e4656d05c7187c439587e06f86afceb66d2be5"}, - {file = "llvmlite-0.42.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ae511caed28beaf1252dbaf5f40e663f533b79ceb408c874c01754cafabb9cbf"}, - {file = "llvmlite-0.42.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81e674c2fe85576e6c4474e8c7e7aba7901ac0196e864fe7985492b737dbab65"}, - {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb3975787f13eb97629052edb5017f6c170eebc1c14a0433e8089e5db43bcce6"}, - {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5bece0cdf77f22379f19b1959ccd7aee518afa4afbd3656c6365865f84903f9"}, - {file = "llvmlite-0.42.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e0c4c11c8c2aa9b0701f91b799cb9134a6a6de51444eff5a9087fc7c1384275"}, - {file = "llvmlite-0.42.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:08fa9ab02b0d0179c688a4216b8939138266519aaa0aa94f1195a8542faedb56"}, - {file = "llvmlite-0.42.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b2fce7d355068494d1e42202c7aff25d50c462584233013eb4470c33b995e3ee"}, - {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebe66a86dc44634b59a3bc860c7b20d26d9aaffcd30364ebe8ba79161a9121f4"}, - {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d47494552559e00d81bfb836cf1c4d5a5062e54102cc5767d5aa1e77ccd2505c"}, - {file = "llvmlite-0.42.0-cp312-cp312-win_amd64.whl", hash = "sha256:05cb7e9b6ce69165ce4d1b994fbdedca0c62492e537b0cc86141b6e2c78d5888"}, - {file = "llvmlite-0.42.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bdd3888544538a94d7ec99e7c62a0cdd8833609c85f0c23fcb6c5c591aec60ad"}, - {file = "llvmlite-0.42.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0936c2067a67fb8816c908d5457d63eba3e2b17e515c5fe00e5ee2bace06040"}, - {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a78ab89f1924fc11482209f6799a7a3fc74ddc80425a7a3e0e8174af0e9e2301"}, - {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7599b65c7af7abbc978dbf345712c60fd596aa5670496561cc10e8a71cebfb2"}, - {file = "llvmlite-0.42.0-cp39-cp39-win_amd64.whl", hash = "sha256:43d65cc4e206c2e902c1004dd5418417c4efa6c1d04df05c6c5675a27e8ca90e"}, - {file = "llvmlite-0.42.0.tar.gz", hash = "sha256:f92b09243c0cc3f457da8b983f67bd8e1295d0f5b3746c7a1861d7a99403854a"}, + {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"}, + {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"}, + {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"}, + {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"}, + {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"}, + {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"}, + {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, ] [[package]] @@ -1614,6 +2413,30 @@ docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] flake8 = ["flake8"] tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" version = "2.1.5" @@ -1749,6 +2572,94 @@ files = [ [package.dependencies] traitlets = "*" +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "moto" +version = "5.0.10" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "moto-5.0.10-py2.py3-none-any.whl", hash = "sha256:9ffae2f64cc8fe95b9a12d63ae7268a7d6bea9993b922905b5abd8197d852cd0"}, + {file = "moto-5.0.10.tar.gz", hash = "sha256:eff37363221c93ea44f95721ae0ddb56f977fe70437a041b6cc641ee90266279"}, +] + +[package.dependencies] +antlr4-python3-runtime = {version = "*", optional = true, markers = "extra == \"all\" or extra == \"server\""} +aws-xray-sdk = {version = ">=0.93,<0.96 || >0.96", optional = true, markers = "extra == \"all\" or extra == \"server\""} +boto3 = ">=1.9.201" +botocore = ">=1.14.0" +cfn-lint = {version = ">=0.40.0", optional = true, markers = "extra == \"all\" or extra == \"server\""} +cryptography = ">=3.3.1" +docker = {version = ">=3.0.0", optional = true, markers = "extra == \"all\" or extra == \"server\""} +flask = {version = "<2.2.0 || >2.2.0,<2.2.1 || >2.2.1", optional = true, markers = "extra == \"server\""} +flask-cors = {version = "*", optional = true, markers = "extra == \"server\""} +graphql-core = {version = "*", optional = true, markers = "extra == \"all\" or extra == \"server\""} +Jinja2 = ">=2.10.1" +joserfc = {version = ">=0.9.0", optional = true, markers = "extra == \"all\" or extra == \"server\""} +jsondiff = {version = ">=1.1.2", optional = true, markers = "extra == \"all\" or extra == \"server\""} +jsonpath-ng = {version = "*", optional = true, markers = "extra == \"all\" or extra == \"server\""} +multipart = {version = "*", optional = true, markers = "extra == \"all\""} +openapi-spec-validator = {version = ">=0.5.0", optional = true, markers = "extra == \"all\" or extra == \"server\""} +py-partiql-parser = {version = "0.5.5", optional = true, markers = "extra == \"all\" or extra == \"s3\" or extra == \"server\""} +pyparsing = {version = ">=3.0.7", optional = true, markers = "extra == \"all\" or extra == \"server\""} +python-dateutil = ">=2.1,<3.0.0" +PyYAML = {version = ">=5.1", optional = true, markers = "extra == \"all\" or extra == \"s3\" or extra == \"server\""} +requests = ">=2.5" +responses = ">=0.15.0" +setuptools = {version = "*", optional = true, markers = "extra == \"all\" or extra == \"server\""} +werkzeug = ">=0.5,<2.2.0 || >2.2.0,<2.2.1 || >2.2.1" +xmltodict = "*" + +[package.extras] +all = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.5)", "pyparsing (>=3.0.7)", "setuptools"] +apigateway = ["PyYAML (>=5.1)", "joserfc (>=0.9.0)", "openapi-spec-validator (>=0.5.0)"] +apigatewayv2 = ["PyYAML (>=5.1)", "openapi-spec-validator (>=0.5.0)"] +appsync = ["graphql-core"] +awslambda = ["docker (>=3.0.0)"] +batch = ["docker (>=3.0.0)"] +cloudformation = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.5)", "pyparsing (>=3.0.7)", "setuptools"] +cognitoidp = ["joserfc (>=0.9.0)"] +dynamodb = ["docker (>=3.0.0)", "py-partiql-parser (==0.5.5)"] +dynamodbstreams = ["docker (>=3.0.0)", "py-partiql-parser (==0.5.5)"] +glue = ["pyparsing (>=3.0.7)"] +iotdata = ["jsondiff (>=1.1.2)"] +proxy = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=2.5.1)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.5)", "pyparsing (>=3.0.7)", "setuptools"] +resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.5)", "pyparsing (>=3.0.7)"] +s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.5.5)"] +s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.5.5)"] +server = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "flask (!=2.2.0,!=2.2.1)", "flask-cors", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.5)", "pyparsing (>=3.0.7)", "setuptools"] +ssm = ["PyYAML (>=5.1)"] +stepfunctions = ["antlr4-python3-runtime", "jsonpath-ng"] +xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + [[package]] name = "msgpack" version = "1.0.8" @@ -1913,40 +2824,51 @@ files = [ {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] +[[package]] +name = "multipart" +version = "0.2.5" +description = "Parser for multipart/form-data." +optional = false +python-versions = ">=3.5" +files = [ + {file = "multipart-0.2.5-py3-none-any.whl", hash = "sha256:96352d67fa1f704e2bcbec9726d7fb316533bd010f0c66639f930fb59b734931"}, + {file = "multipart-0.2.5.tar.gz", hash = "sha256:fa98838d40c967bb19589626a0fb8a5c40c421dda2febe1b0351fcf626e24651"}, +] + [[package]] name = "mypy" -version = "1.10.0" +version = "1.10.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2"}, - {file = "mypy-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99"}, - {file = "mypy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2"}, - {file = "mypy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9"}, - {file = "mypy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051"}, - {file = "mypy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1"}, - {file = "mypy-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee"}, - {file = "mypy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de"}, - {file = "mypy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7"}, - {file = "mypy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53"}, - {file = "mypy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b"}, - {file = "mypy-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30"}, - {file = "mypy-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e"}, - {file = "mypy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5"}, - {file = "mypy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda"}, - {file = "mypy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0"}, - {file = "mypy-1.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727"}, - {file = "mypy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4"}, - {file = "mypy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061"}, - {file = "mypy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f"}, - {file = "mypy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976"}, - {file = "mypy-1.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec"}, - {file = "mypy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821"}, - {file = "mypy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746"}, - {file = "mypy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a"}, - {file = "mypy-1.10.0-py3-none-any.whl", hash = "sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee"}, - {file = "mypy-1.10.0.tar.gz", hash = "sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131"}, + {file = "mypy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e36f229acfe250dc660790840916eb49726c928e8ce10fbdf90715090fe4ae02"}, + {file = "mypy-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51a46974340baaa4145363b9e051812a2446cf583dfaeba124af966fa44593f7"}, + {file = "mypy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:901c89c2d67bba57aaaca91ccdb659aa3a312de67f23b9dfb059727cce2e2e0a"}, + {file = "mypy-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0cd62192a4a32b77ceb31272d9e74d23cd88c8060c34d1d3622db3267679a5d9"}, + {file = "mypy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a2cbc68cb9e943ac0814c13e2452d2046c2f2b23ff0278e26599224cf164e78d"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bd6f629b67bb43dc0d9211ee98b96d8dabc97b1ad38b9b25f5e4c4d7569a0c6a"}, + {file = "mypy-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1bbb3a6f5ff319d2b9d40b4080d46cd639abe3516d5a62c070cf0114a457d84"}, + {file = "mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f"}, + {file = "mypy-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6166a88b15f1759f94a46fa474c7b1b05d134b1b61fca627dd7335454cc9aa6b"}, + {file = "mypy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bb9cd11c01c8606a9d0b83ffa91d0b236a0e91bc4126d9ba9ce62906ada868e"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d8681909f7b44d0b7b86e653ca152d6dff0eb5eb41694e163c6092124f8246d7"}, + {file = "mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:378c03f53f10bbdd55ca94e46ec3ba255279706a6aacaecac52ad248f98205d3"}, + {file = "mypy-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bacf8f3a3d7d849f40ca6caea5c055122efe70e81480c8328ad29c55c69e93e"}, + {file = "mypy-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:701b5f71413f1e9855566a34d6e9d12624e9e0a8818a5704d74d6b0402e66c04"}, + {file = "mypy-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:3c4c2992f6ea46ff7fce0072642cfb62af7a2484efe69017ed8b095f7b39ef31"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:604282c886497645ffb87b8f35a57ec773a4a2721161e709a4422c1636ddde5c"}, + {file = "mypy-1.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37fd87cab83f09842653f08de066ee68f1182b9b5282e4634cdb4b407266bade"}, + {file = "mypy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8addf6313777dbb92e9564c5d32ec122bf2c6c39d683ea64de6a1fd98b90fe37"}, + {file = "mypy-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5cc3ca0a244eb9a5249c7c583ad9a7e881aa5d7b73c35652296ddcdb33b2b9c7"}, + {file = "mypy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:1b3a2ffce52cc4dbaeee4df762f20a2905aa171ef157b82192f2e2f368eec05d"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe85ed6836165d52ae8b88f99527d3d1b2362e0cb90b005409b8bed90e9059b3"}, + {file = "mypy-1.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2ae450d60d7d020d67ab440c6e3fae375809988119817214440033f26ddf7bf"}, + {file = "mypy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be84c06e6abd72f960ba9a71561c14137a583093ffcf9bbfaf5e613d63fa531"}, + {file = "mypy-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2189ff1e39db399f08205e22a797383613ce1cb0cb3b13d8bcf0170e45b96cc3"}, + {file = "mypy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:97a131ee36ac37ce9581f4220311247ab6cba896b4395b9c87af0675a13a755f"}, + {file = "mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a"}, + {file = "mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0"}, ] [package.dependencies] @@ -2036,6 +2958,24 @@ numpy = "*" [package.extras] tests = ["Cython", "packaging", "pytest"] +[[package]] +name = "networkx" +version = "3.3" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.10" +files = [ + {file = "networkx-3.3-py3-none-any.whl", hash = "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"}, + {file = "networkx-3.3.tar.gz", hash = "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9"}, +] + +[package.extras] +default = ["matplotlib (>=3.6)", "numpy (>=1.23)", "pandas (>=1.4)", "scipy (>=1.9,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["myst-nb (>=1.0)", "numpydoc (>=1.7)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.14)", "sphinx (>=7)", "sphinx-gallery (>=0.14)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=2.0)", "pygraphviz (>=1.12)", "sympy (>=1.10)"] +test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] + [[package]] name = "nodeenv" version = "1.9.1" @@ -2049,37 +2989,37 @@ files = [ [[package]] name = "numba" -version = "0.59.1" +version = "0.60.0" description = "compiling Python code using LLVM" optional = false python-versions = ">=3.9" files = [ - {file = "numba-0.59.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97385a7f12212c4f4bc28f648720a92514bee79d7063e40ef66c2d30600fd18e"}, - {file = "numba-0.59.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0b77aecf52040de2a1eb1d7e314497b9e56fba17466c80b457b971a25bb1576d"}, - {file = "numba-0.59.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3476a4f641bfd58f35ead42f4dcaf5f132569c4647c6f1360ccf18ee4cda3990"}, - {file = "numba-0.59.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:525ef3f820931bdae95ee5379c670d5c97289c6520726bc6937a4a7d4230ba24"}, - {file = "numba-0.59.1-cp310-cp310-win_amd64.whl", hash = "sha256:990e395e44d192a12105eca3083b61307db7da10e093972ca285c85bef0963d6"}, - {file = "numba-0.59.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43727e7ad20b3ec23ee4fc642f5b61845c71f75dd2825b3c234390c6d8d64051"}, - {file = "numba-0.59.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:411df625372c77959570050e861981e9d196cc1da9aa62c3d6a836b5cc338966"}, - {file = "numba-0.59.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2801003caa263d1e8497fb84829a7ecfb61738a95f62bc05693fcf1733e978e4"}, - {file = "numba-0.59.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dd2842fac03be4e5324ebbbd4d2d0c8c0fc6e0df75c09477dd45b288a0777389"}, - {file = "numba-0.59.1-cp311-cp311-win_amd64.whl", hash = "sha256:0594b3dfb369fada1f8bb2e3045cd6c61a564c62e50cf1f86b4666bc721b3450"}, - {file = "numba-0.59.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1cce206a3b92836cdf26ef39d3a3242fec25e07f020cc4feec4c4a865e340569"}, - {file = "numba-0.59.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8c8b4477763cb1fbd86a3be7050500229417bf60867c93e131fd2626edb02238"}, - {file = "numba-0.59.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d80bce4ef7e65bf895c29e3889ca75a29ee01da80266a01d34815918e365835"}, - {file = "numba-0.59.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7ad1d217773e89a9845886401eaaab0a156a90aa2f179fdc125261fd1105096"}, - {file = "numba-0.59.1-cp312-cp312-win_amd64.whl", hash = "sha256:5bf68f4d69dd3a9f26a9b23548fa23e3bcb9042e2935257b471d2a8d3c424b7f"}, - {file = "numba-0.59.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e0318ae729de6e5dbe64c75ead1a95eb01fabfe0e2ebed81ebf0344d32db0ae"}, - {file = "numba-0.59.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0f68589740a8c38bb7dc1b938b55d1145244c8353078eea23895d4f82c8b9ec1"}, - {file = "numba-0.59.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:649913a3758891c77c32e2d2a3bcbedf4a69f5fea276d11f9119677c45a422e8"}, - {file = "numba-0.59.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9712808e4545270291d76b9a264839ac878c5eb7d8b6e02c970dc0ac29bc8187"}, - {file = "numba-0.59.1-cp39-cp39-win_amd64.whl", hash = "sha256:8d51ccd7008a83105ad6a0082b6a2b70f1142dc7cfd76deb8c5a862367eb8c86"}, - {file = "numba-0.59.1.tar.gz", hash = "sha256:76f69132b96028d2774ed20415e8c528a34e3299a40581bae178f0994a2f370b"}, -] - -[package.dependencies] -llvmlite = "==0.42.*" -numpy = ">=1.22,<1.27" + {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"}, + {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"}, + {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"}, + {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"}, + {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"}, + {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"}, + {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"}, + {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"}, + {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"}, + {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"}, + {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"}, + {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"}, + {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"}, +] + +[package.dependencies] +llvmlite = "==0.43.*" +numpy = ">=1.22,<2.1" [[package]] name = "numbagg" @@ -2202,6 +3142,39 @@ numpy = "*" dev = ["numba", "pandas", "pytest"] fast = ["numba"] +[[package]] +name = "openapi-schema-validator" +version = "0.6.2" +description = "OpenAPI schema validation for Python" +optional = false +python-versions = ">=3.8.0,<4.0.0" +files = [ + {file = "openapi_schema_validator-0.6.2-py3-none-any.whl", hash = "sha256:c4887c1347c669eb7cded9090f4438b710845cd0f90d1fb9e1b3303fb37339f8"}, + {file = "openapi_schema_validator-0.6.2.tar.gz", hash = "sha256:11a95c9c9017912964e3e5f2545a5b11c3814880681fcacfb73b1759bb4f2804"}, +] + +[package.dependencies] +jsonschema = ">=4.19.1,<5.0.0" +jsonschema-specifications = ">=2023.5.2,<2024.0.0" +rfc3339-validator = "*" + +[[package]] +name = "openapi-spec-validator" +version = "0.7.1" +description = "OpenAPI 2.0 (aka Swagger) and OpenAPI 3 spec validator" +optional = false +python-versions = ">=3.8.0,<4.0.0" +files = [ + {file = "openapi_spec_validator-0.7.1-py3-none-any.whl", hash = "sha256:3c81825043f24ccbcd2f4b149b11e8231abce5ba84f37065e14ec947d8f4e959"}, + {file = "openapi_spec_validator-0.7.1.tar.gz", hash = "sha256:8577b85a8268685da6f8aa30990b83b7960d4d1117e901d451b5d572605e5ec7"}, +] + +[package.dependencies] +jsonschema = ">=4.18.0,<5.0.0" +jsonschema-path = ">=0.3.1,<0.4.0" +lazy-object-proxy = ">=1.7.1,<2.0.0" +openapi-schema-validator = ">=0.6.0,<0.7.0" + [[package]] name = "opt-einsum" version = "3.3.0" @@ -2222,13 +3195,13 @@ tests = ["pytest", "pytest-cov", "pytest-pep8"] [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] @@ -2300,6 +3273,27 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] +[[package]] +name = "paramiko" +version = "3.4.0" +description = "SSH2 protocol library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "paramiko-3.4.0-py3-none-any.whl", hash = "sha256:43f0b51115a896f9c00f59618023484cb3a14b98bbceab43394a39c6739b7ee7"}, + {file = "paramiko-3.4.0.tar.gz", hash = "sha256:aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3"}, +] + +[package.dependencies] +bcrypt = ">=3.2" +cryptography = ">=3.3" +pynacl = ">=1.5" + +[package.extras] +all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +invoke = ["invoke (>=2.0)"] + [[package]] name = "parso" version = "0.8.4" @@ -2333,6 +3327,17 @@ toolz = "*" [package.extras] complete = ["blosc", "numpy (>=1.20.0)", "pandas (>=1.3)", "pyzmq"] +[[package]] +name = "pathable" +version = "0.4.3" +description = "Object-oriented paths" +optional = false +python-versions = ">=3.7.0,<4.0.0" +files = [ + {file = "pathable-0.4.3-py3-none-any.whl", hash = "sha256:cdd7b1f9d7d5c8b8d3315dbf5a86b2596053ae845f056f57d97c0eefff84da14"}, + {file = "pathable-0.4.3.tar.gz", hash = "sha256:5c869d315be50776cc8a993f3af43e0c60dc01506b399643f919034ebf4cdcab"}, +] + [[package]] name = "pexpect" version = "4.9.0" @@ -2354,95 +3359,136 @@ description = "Tiny 'shelve'-like database with concurrency support" optional = false python-versions = "*" files = [ - {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, - {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] + +[[package]] +name = "pillow" +version = "10.4.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, + {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, + {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, + {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, + {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, + {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, + {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, + {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, + {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, + {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, + {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, + {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, + {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, + {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, + {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, + {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, + {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, + {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, + {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, + {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, + {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, + {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, + {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, + {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, + {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "pip" +version = "24.1.1" +description = "The PyPA recommended tool for installing Python packages." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pip-24.1.1-py3-none-any.whl", hash = "sha256:efca15145a95e95c00608afeab66311d40bfb73bb2266a855befd705e6bb15a0"}, + {file = "pip-24.1.1.tar.gz", hash = "sha256:5aa64f65e1952733ee0a9a9b1f52496ebdb3f3077cc46f80a16d983b58d1180a"}, ] [[package]] -name = "pillow" -version = "10.3.0" -description = "Python Imaging Library (Fork)" +name = "pip-requirements-parser" +version = "32.0.1" +description = "pip requirements parser - a mostly correct pip requirements parsing library because it uses pip's own code." optional = false -python-versions = ">=3.8" +python-versions = ">=3.6.0" files = [ - {file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"}, - {file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"}, - {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"}, - {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"}, - {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"}, - {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"}, - {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"}, - {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"}, - {file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"}, - {file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"}, - {file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"}, - {file = "pillow-10.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795"}, - {file = "pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57"}, - {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27"}, - {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994"}, - {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451"}, - {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd"}, - {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad"}, - {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c"}, - {file = "pillow-10.3.0-cp311-cp311-win32.whl", hash = "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09"}, - {file = "pillow-10.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d"}, - {file = "pillow-10.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f"}, - {file = "pillow-10.3.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84"}, - {file = "pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19"}, - {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338"}, - {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1"}, - {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462"}, - {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"}, - {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef"}, - {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3"}, - {file = "pillow-10.3.0-cp312-cp312-win32.whl", hash = "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d"}, - {file = "pillow-10.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b"}, - {file = "pillow-10.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a"}, - {file = "pillow-10.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b"}, - {file = "pillow-10.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2"}, - {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa"}, - {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383"}, - {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d"}, - {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd"}, - {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d"}, - {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3"}, - {file = "pillow-10.3.0-cp38-cp38-win32.whl", hash = "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b"}, - {file = "pillow-10.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999"}, - {file = "pillow-10.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936"}, - {file = "pillow-10.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002"}, - {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60"}, - {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375"}, - {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57"}, - {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8"}, - {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9"}, - {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb"}, - {file = "pillow-10.3.0-cp39-cp39-win32.whl", hash = "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572"}, - {file = "pillow-10.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb"}, - {file = "pillow-10.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"}, - {file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"}, - {file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"}, - {file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] + {file = "pip-requirements-parser-32.0.1.tar.gz", hash = "sha256:b4fa3a7a0be38243123cf9d1f3518da10c51bdb165a2b2985566247f9155a7d3"}, + {file = "pip_requirements_parser-32.0.1-py3-none-any.whl", hash = "sha256:4659bc2a667783e7a15d190f6fccf8b2486685b6dba4c19c3876314769c57526"}, +] + +[package.dependencies] +packaging = "*" +pyparsing = "*" + +[package.extras] +docs = ["Sphinx (>=3.3.1)", "doc8 (>=0.8.1)", "sphinx-rtd-theme (>=0.5.0)"] +testing = ["aboutcode-toolkit (>=6.0.0)", "black", "pytest (>=6,!=7.0.0)", "pytest-xdist (>=2)"] [[package]] name = "platformdirs" @@ -2475,6 +3521,17 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "ply" +version = "3.11" +description = "Python Lex & Yacc" +optional = false +python-versions = "*" +files = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, +] + [[package]] name = "pooch" version = "1.8.2" @@ -2514,15 +3571,29 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "prometheus-client" +version = "0.20.0" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.8" +files = [ + {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, + {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, +] + +[package.extras] +twisted = ["twisted"] + [[package]] name = "prompt-toolkit" -version = "3.0.46" +version = "3.0.47" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.46-py3-none-any.whl", hash = "sha256:45abe60a8300f3c618b23c16c4bb98c6fc80af8ce8b17c7ae92db48db3ee63c1"}, - {file = "prompt_toolkit-3.0.46.tar.gz", hash = "sha256:869c50d682152336e23c4db7f74667639b5047494202ffe7670817053fd57795"}, + {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, + {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, ] [package.dependencies] @@ -2530,27 +3601,28 @@ wcwidth = "*" [[package]] name = "psutil" -version = "5.9.8" +version = "6.0.0" description = "Cross-platform lib for process and system monitoring in Python." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"}, - {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"}, - {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"}, - {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"}, - {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"}, - {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"}, - {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"}, - {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"}, - {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"}, - {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"}, - {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"}, - {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"}, - {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"}, - {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"}, - {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"}, - {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"}, +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, + {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, + {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, + {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, + {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, + {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, + {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, + {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, + {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, + {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, ] [package.extras] @@ -2567,6 +3639,20 @@ files = [ {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] +[[package]] +name = "py-partiql-parser" +version = "0.5.5" +description = "Pure Python PartiQL Parser" +optional = false +python-versions = "*" +files = [ + {file = "py_partiql_parser-0.5.5-py2.py3-none-any.whl", hash = "sha256:90d278818385bd60c602410c953ee78f04ece599d8cd21c656fc5e47399577a1"}, + {file = "py_partiql_parser-0.5.5.tar.gz", hash = "sha256:ed07f8edf4b55e295cab4f5fd3e2ba3196cee48a43fe210d53ddd6ffce1cf1ff"}, +] + +[package.extras] +dev = ["black (==22.6.0)", "flake8", "mypy", "pytest"] + [[package]] name = "pyarrow" version = "16.0.0" @@ -2626,6 +3712,136 @@ files = [ {file = "pyarrow_hotfix-0.6.tar.gz", hash = "sha256:79d3e030f7ff890d408a100ac16d6f00b14d44a502d7897cd9fc3e3a534e9945"}, ] +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pydantic" +version = "2.8.0" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic-2.8.0-py3-none-any.whl", hash = "sha256:ead4f3a1e92386a734ca1411cb25d94147cf8778ed5be6b56749047676d6364e"}, + {file = "pydantic-2.8.0.tar.gz", hash = "sha256:d970ffb9d030b710795878940bd0489842c638e7252fc4a19c3ae2f7da4d6141"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.20.0" +typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.20.0" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:e9dcd7fb34f7bfb239b5fa420033642fff0ad676b765559c3737b91f664d4fa9"}, + {file = "pydantic_core-2.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:649a764d9b0da29816889424697b2a3746963ad36d3e0968784ceed6e40c6355"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7701df088d0b05f3460f7ba15aec81ac8b0fb5690367dfd072a6c38cf5b7fdb5"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ab760f17c3e792225cdaef31ca23c0aea45c14ce80d8eff62503f86a5ab76bff"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb1ad5b4d73cde784cf64580166568074f5ccd2548d765e690546cff3d80937d"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b81ec2efc04fc1dbf400647d4357d64fb25543bae38d2d19787d69360aad21c9"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4a9732a5cad764ba37f3aa873dccb41b584f69c347a57323eda0930deec8e10"}, + {file = "pydantic_core-2.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6dc85b9e10cc21d9c1055f15684f76fa4facadddcb6cd63abab702eb93c98943"}, + {file = "pydantic_core-2.20.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:21d9f7e24f63fdc7118e6cc49defaab8c1d27570782f7e5256169d77498cf7c7"}, + {file = "pydantic_core-2.20.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8b315685832ab9287e6124b5d74fc12dda31e6421d7f6b08525791452844bc2d"}, + {file = "pydantic_core-2.20.0-cp310-none-win32.whl", hash = "sha256:c3dc8ec8b87c7ad534c75b8855168a08a7036fdb9deeeed5705ba9410721c84d"}, + {file = "pydantic_core-2.20.0-cp310-none-win_amd64.whl", hash = "sha256:85770b4b37bb36ef93a6122601795231225641003e0318d23c6233c59b424279"}, + {file = "pydantic_core-2.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:58e251bb5a5998f7226dc90b0b753eeffa720bd66664eba51927c2a7a2d5f32c"}, + {file = "pydantic_core-2.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:78d584caac52c24240ef9ecd75de64c760bbd0e20dbf6973631815e3ef16ef8b"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5084ec9721f82bef5ff7c4d1ee65e1626783abb585f8c0993833490b63fe1792"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d0f52684868db7c218437d260e14d37948b094493f2646f22d3dda7229bbe3f"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1def125d59a87fe451212a72ab9ed34c118ff771e5473fef4f2f95d8ede26d75"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b34480fd6778ab356abf1e9086a4ced95002a1e195e8d2fd182b0def9d944d11"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d42669d319db366cb567c3b444f43caa7ffb779bf9530692c6f244fc635a41eb"}, + {file = "pydantic_core-2.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53b06aea7a48919a254b32107647be9128c066aaa6ee6d5d08222325f25ef175"}, + {file = "pydantic_core-2.20.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1f038156b696a1c39d763b2080aeefa87ddb4162c10aa9fabfefffc3dd8180fa"}, + {file = "pydantic_core-2.20.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3f0f3a4a23717280a5ee3ac4fb1f81d6fde604c9ec5100f7f6f987716bb8c137"}, + {file = "pydantic_core-2.20.0-cp311-none-win32.whl", hash = "sha256:316fe7c3fec017affd916a0c83d6f1ec697cbbbdf1124769fa73328e7907cc2e"}, + {file = "pydantic_core-2.20.0-cp311-none-win_amd64.whl", hash = "sha256:2d06a7fa437f93782e3f32d739c3ec189f82fca74336c08255f9e20cea1ed378"}, + {file = "pydantic_core-2.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d6f8c49657f3eb7720ed4c9b26624063da14937fc94d1812f1e04a2204db3e17"}, + {file = "pydantic_core-2.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad1bd2f377f56fec11d5cfd0977c30061cd19f4fa199bf138b200ec0d5e27eeb"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed741183719a5271f97d93bbcc45ed64619fa38068aaa6e90027d1d17e30dc8d"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d82e5ed3a05f2dcb89c6ead2fd0dbff7ac09bc02c1b4028ece2d3a3854d049ce"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2ba34a099576234671f2e4274e5bc6813b22e28778c216d680eabd0db3f7dad"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:879ae6bb08a063b3e1b7ac8c860096d8fd6b48dd9b2690b7f2738b8c835e744b"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b0eefc7633a04c0694340aad91fbfd1986fe1a1e0c63a22793ba40a18fcbdc8"}, + {file = "pydantic_core-2.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:73deadd6fd8a23e2f40b412b3ac617a112143c8989a4fe265050fd91ba5c0608"}, + {file = "pydantic_core-2.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:35681445dc85446fb105943d81ae7569aa7e89de80d1ca4ac3229e05c311bdb1"}, + {file = "pydantic_core-2.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0f6dd3612a3b9f91f2e63924ea18a4476656c6d01843ca20a4c09e00422195af"}, + {file = "pydantic_core-2.20.0-cp312-none-win32.whl", hash = "sha256:7e37b6bb6e90c2b8412b06373c6978d9d81e7199a40e24a6ef480e8acdeaf918"}, + {file = "pydantic_core-2.20.0-cp312-none-win_amd64.whl", hash = "sha256:7d4df13d1c55e84351fab51383520b84f490740a9f1fec905362aa64590b7a5d"}, + {file = "pydantic_core-2.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:d43e7ab3b65e4dc35a7612cfff7b0fd62dce5bc11a7cd198310b57f39847fd6c"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b6a24d7b5893392f2b8e3b7a0031ae3b14c6c1942a4615f0d8794fdeeefb08b"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b2f13c3e955a087c3ec86f97661d9f72a76e221281b2262956af381224cfc243"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72432fd6e868c8d0a6849869e004b8bcae233a3c56383954c228316694920b38"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d70a8ff2d4953afb4cbe6211f17268ad29c0b47e73d3372f40e7775904bc28fc"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e49524917b8d3c2f42cd0d2df61178e08e50f5f029f9af1f402b3ee64574392"}, + {file = "pydantic_core-2.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4f0f71653b1c1bad0350bc0b4cc057ab87b438ff18fa6392533811ebd01439c"}, + {file = "pydantic_core-2.20.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:16197e6f4fdecb9892ed2436e507e44f0a1aa2cff3b9306d1c879ea2f9200997"}, + {file = "pydantic_core-2.20.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:763602504bf640b3ded3bba3f8ed8a1cc2fc6a87b8d55c1c5689f428c49c947e"}, + {file = "pydantic_core-2.20.0-cp313-none-win32.whl", hash = "sha256:a3f243f318bd9523277fa123b3163f4c005a3e8619d4b867064de02f287a564d"}, + {file = "pydantic_core-2.20.0-cp313-none-win_amd64.whl", hash = "sha256:03aceaf6a5adaad3bec2233edc5a7905026553916615888e53154807e404545c"}, + {file = "pydantic_core-2.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d6f2d8b8da1f03f577243b07bbdd3412eee3d37d1f2fd71d1513cbc76a8c1239"}, + {file = "pydantic_core-2.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a272785a226869416c6b3c1b7e450506152d3844207331f02f27173562c917e0"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efbb412d55a4ffe73963fed95c09ccb83647ec63b711c4b3752be10a56f0090b"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1e4f46189d8740561b43655263a41aac75ff0388febcb2c9ec4f1b60a0ec12f3"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3df115f4a3c8c5e4d5acf067d399c6466d7e604fc9ee9acbe6f0c88a0c3cf"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a340d2bdebe819d08f605e9705ed551c3feb97e4fd71822d7147c1e4bdbb9508"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:616b9c2f882393d422ba11b40e72382fe975e806ad693095e9a3b67c59ea6150"}, + {file = "pydantic_core-2.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25c46bb2ff6084859bbcfdf4f1a63004b98e88b6d04053e8bf324e115398e9e7"}, + {file = "pydantic_core-2.20.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:23425eccef8f2c342f78d3a238c824623836c6c874d93c726673dbf7e56c78c0"}, + {file = "pydantic_core-2.20.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:52527e8f223ba29608d999d65b204676398009725007c9336651c2ec2d93cffc"}, + {file = "pydantic_core-2.20.0-cp38-none-win32.whl", hash = "sha256:1c3c5b7f70dd19a6845292b0775295ea81c61540f68671ae06bfe4421b3222c2"}, + {file = "pydantic_core-2.20.0-cp38-none-win_amd64.whl", hash = "sha256:8093473d7b9e908af1cef30025609afc8f5fd2a16ff07f97440fd911421e4432"}, + {file = "pydantic_core-2.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ee7785938e407418795e4399b2bf5b5f3cf6cf728077a7f26973220d58d885cf"}, + {file = "pydantic_core-2.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e75794883d635071cf6b4ed2a5d7a1e50672ab7a051454c76446ef1ebcdcc91"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:344e352c96e53b4f56b53d24728217c69399b8129c16789f70236083c6ceb2ac"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:978d4123ad1e605daf1ba5e01d4f235bcf7b6e340ef07e7122e8e9cfe3eb61ab"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c05eaf6c863781eb834ab41f5963604ab92855822a2062897958089d1335dad"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bc7e43b4a528ffca8c9151b6a2ca34482c2fdc05e6aa24a84b7f475c896fc51d"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:658287a29351166510ebbe0a75c373600cc4367a3d9337b964dada8d38bcc0f4"}, + {file = "pydantic_core-2.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1dacf660d6de692fe351e8c806e7efccf09ee5184865893afbe8e59be4920b4a"}, + {file = "pydantic_core-2.20.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3e147fc6e27b9a487320d78515c5f29798b539179f7777018cedf51b7749e4f4"}, + {file = "pydantic_core-2.20.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c867230d715a3dd1d962c8d9bef0d3168994ed663e21bf748b6e3a529a129aab"}, + {file = "pydantic_core-2.20.0-cp39-none-win32.whl", hash = "sha256:22b813baf0dbf612752d8143a2dbf8e33ccb850656b7850e009bad2e101fc377"}, + {file = "pydantic_core-2.20.0-cp39-none-win_amd64.whl", hash = "sha256:3a7235b46c1bbe201f09b6f0f5e6c36b16bad3d0532a10493742f91fbdc8035f"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cafde15a6f7feaec2f570646e2ffc5b73412295d29134a29067e70740ec6ee20"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2aec8eeea0b08fd6bc2213d8e86811a07491849fd3d79955b62d83e32fa2ad5f"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:840200827984f1c4e114008abc2f5ede362d6e11ed0b5931681884dd41852ff1"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8ea1d8b7df522e5ced34993c423c3bf3735c53df8b2a15688a2f03a7d678800"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5b8376a867047bf08910573deb95d3c8dfb976eb014ee24f3b5a61ccc5bee1b"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d08264b4460326cefacc179fc1411304d5af388a79910832835e6f641512358b"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7a3639011c2e8a9628466f616ed7fb413f30032b891898e10895a0a8b5857d6c"}, + {file = "pydantic_core-2.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05e83ce2f7eba29e627dd8066aa6c4c0269b2d4f889c0eba157233a353053cea"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:603a843fea76a595c8f661cd4da4d2281dff1e38c4a836a928eac1a2f8fe88e4"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac76f30d5d3454f4c28826d891fe74d25121a346c69523c9810ebba43f3b1cec"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e3b1d4b1b3f6082849f9b28427ef147a5b46a6132a3dbaf9ca1baa40c88609"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2761f71faed820e25ec62eacba670d1b5c2709bb131a19fcdbfbb09884593e5a"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a0586cddbf4380e24569b8a05f234e7305717cc8323f50114dfb2051fcbce2a3"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:b8c46a8cf53e849eea7090f331ae2202cd0f1ceb090b00f5902c423bd1e11805"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b4a085bd04af7245e140d1b95619fe8abb445a3d7fdf219b3f80c940853268ef"}, + {file = "pydantic_core-2.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:116b326ac82c8b315e7348390f6d30bcfe6e688a7d3f1de50ff7bcc2042a23c2"}, + {file = "pydantic_core-2.20.0.tar.gz", hash = "sha256:366be8e64e0cb63d87cf79b4e1765c0703dd6313c729b22e7b9e378db6b96877"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + [[package]] name = "pygments" version = "2.18.0" @@ -2640,6 +3856,78 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pynacl" +version = "1.5.0" +description = "Python binding to the Networking and Cryptography (NaCl) library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, + {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, +] + +[package.dependencies] +cffi = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] + +[[package]] +name = "pyogrio" +version = "0.9.0" +description = "Vectorized spatial vector file format I/O using GDAL/OGR" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyogrio-0.9.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:1a495ca4fb77c69595747dd688f8f17bb7d2ea9cd86603aa71c7fc98cc8b4174"}, + {file = "pyogrio-0.9.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:6dc94a67163218581c7df275223488ac9b31dc582ccd756da607c3338908566c"}, + {file = "pyogrio-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e38c3c6d37cf2cc969407e4d051dcb507cfd948eb26c7b0840c4f7d7d4a71bd4"}, + {file = "pyogrio-0.9.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:f47c9b6818cc0f420015b672d5dcc488530a5ee63e5ba35a184957b21ea3922a"}, + {file = "pyogrio-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb04bd80964428491951766452f0071b0bc37c7d38c45ef02502dbd83e5d74a0"}, + {file = "pyogrio-0.9.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f5d80eb846be4fc4e642cbedc1ed0c143e8d241653382ecc76a7620bbd2a5c3a"}, + {file = "pyogrio-0.9.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:2f2ec57ab74785db9c2bf47c0a6731e5175595a13f8253f06fa84136adb310a9"}, + {file = "pyogrio-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a289584da6df7ca318947301fe0ba9177e7f863f63110e087c80ac5f3658de8"}, + {file = "pyogrio-0.9.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:13642608a1cd67797ae8b5d792b0518d8ef3eb76506c8232ab5eaa1ea1159dff"}, + {file = "pyogrio-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:9440466c0211ac81f3417f274da5903f15546b486f76b2f290e74a56aaf0e737"}, + {file = "pyogrio-0.9.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2e98913fa183f7597c609e774820a149e9329fd2a0f8d33978252fbd00ae87e6"}, + {file = "pyogrio-0.9.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:f8bf193269ea9d347ac3ddada960a59f1ab2e4a5c009be95dc70e6505346b2fc"}, + {file = "pyogrio-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f964002d445521ad5b8e732a6b5ef0e2d2be7fe566768e5075c1d71398da64a"}, + {file = "pyogrio-0.9.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:083351b258b3e08b6c6085dac560bd321b68de5cb4a66229095da68d5f3d696b"}, + {file = "pyogrio-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:796e4f6a4e769b2eb6fea9a10546ea4bdee16182d1e29802b4d6349363c3c1d7"}, + {file = "pyogrio-0.9.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:7fcafed24371fe6e23bcf5abebbb29269f8d79915f1dd818ac85453657ea714a"}, + {file = "pyogrio-0.9.0-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:30cbeeaedb9bced7012487e7438919aa0c7dfba18ac3d4315182b46eb3139b9d"}, + {file = "pyogrio-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4da0b9deb380bd9a200fee13182c4f95b02b4c554c923e2e0032f32aaf1439ed"}, + {file = "pyogrio-0.9.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:4e0f90a6c3771ee1f1fea857778b4b6a1b64000d851b819f435f9091b3c38c60"}, + {file = "pyogrio-0.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:959022f3ad04053f8072dc9a2ad110c46edd9e4f92352061ba835fc91df3ca96"}, + {file = "pyogrio-0.9.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:2829615cf58b1b24a9f96fea42abedaa1a800dd351c67374cc2f6341138608f3"}, + {file = "pyogrio-0.9.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:17420febc17651876d5140b54b24749aa751d482b5f9ef6267b8053e6e962876"}, + {file = "pyogrio-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2fcaa269031dbbc8ebd91243c6452c5d267d6df939c008ab7533413c9cf92d"}, + {file = "pyogrio-0.9.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:019731a856a9abfe909e86f50eb13f8362f6742337caf757c54b7c8acfe75b89"}, + {file = "pyogrio-0.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:d668cb10f2bf6ccd7c402f91e8b06290722dd09dbe265ae95b2c13db29ebeba0"}, + {file = "pyogrio-0.9.0.tar.gz", hash = "sha256:6a6fa2e8cf95b3d4a7c0fac48bce6e5037579e28d3eb33b53349d6e11f15e5a8"}, +] + +[package.dependencies] +certifi = "*" +numpy = "*" +packaging = "*" + +[package.extras] +benchmark = ["pytest-benchmark"] +dev = ["Cython"] +geopandas = ["geopandas"] +test = ["pytest", "pytest-cov"] + [[package]] name = "pyparsing" version = "3.1.2" @@ -2810,6 +4098,29 @@ files = [ {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] +[[package]] +name = "pywin32" +version = "306" +description = "Python for Window Extensions" +optional = false +python-versions = "*" +files = [ + {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, + {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, + {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, + {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, + {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, + {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, + {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, + {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, + {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, + {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, + {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, + {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, + {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, + {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, +] + [[package]] name = "pyyaml" version = "6.0.1" @@ -2907,6 +4218,94 @@ files = [ attrs = ">=22.2.0" rpds-py = ">=0.7.0" +[[package]] +name = "regex" +version = "2024.5.15" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +files = [ + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a81e3cfbae20378d75185171587cbf756015ccb14840702944f014e0d93ea09f"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b59138b219ffa8979013be7bc85bb60c6f7b7575df3d56dc1e403a438c7a3f6"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0bd000c6e266927cb7a1bc39d55be95c4b4f65c5be53e659537537e019232b1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eaa7ddaf517aa095fa8da0b5015c44d03da83f5bd49c87961e3c997daed0de7"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba68168daedb2c0bab7fd7e00ced5ba90aebf91024dea3c88ad5063c2a562cca"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e8d717bca3a6e2064fc3a08df5cbe366369f4b052dcd21b7416e6d71620dca1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1337b7dbef9b2f71121cdbf1e97e40de33ff114801263b275aafd75303bd62b5"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9ebd0a36102fcad2f03696e8af4ae682793a5d30b46c647eaf280d6cfb32796"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9efa1a32ad3a3ea112224897cdaeb6aa00381627f567179c0314f7b65d354c62"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1595f2d10dff3d805e054ebdc41c124753631b6a471b976963c7b28543cf13b0"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b802512f3e1f480f41ab5f2cfc0e2f761f08a1f41092d6718868082fc0d27143"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a0981022dccabca811e8171f913de05720590c915b033b7e601f35ce4ea7019f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:19068a6a79cf99a19ccefa44610491e9ca02c2be3305c7760d3831d38a467a6f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b5269484f6126eee5e687785e83c6b60aad7663dafe842b34691157e5083e53"}, + {file = "regex-2024.5.15-cp310-cp310-win32.whl", hash = "sha256:ada150c5adfa8fbcbf321c30c751dc67d2f12f15bd183ffe4ec7cde351d945b3"}, + {file = "regex-2024.5.15-cp310-cp310-win_amd64.whl", hash = "sha256:ac394ff680fc46b97487941f5e6ae49a9f30ea41c6c6804832063f14b2a5a145"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f5b1dff3ad008dccf18e652283f5e5339d70bf8ba7c98bf848ac33db10f7bc7a"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c6a2b494a76983df8e3d3feea9b9ffdd558b247e60b92f877f93a1ff43d26656"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a32b96f15c8ab2e7d27655969a23895eb799de3665fa94349f3b2fbfd547236f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10002e86e6068d9e1c91eae8295ef690f02f913c57db120b58fdd35a6bb1af35"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec54d5afa89c19c6dd8541a133be51ee1017a38b412b1321ccb8d6ddbeb4cf7d"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10e4ce0dca9ae7a66e6089bb29355d4432caed736acae36fef0fdd7879f0b0cb"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e507ff1e74373c4d3038195fdd2af30d297b4f0950eeda6f515ae3d84a1770f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1f059a4d795e646e1c37665b9d06062c62d0e8cc3c511fe01315973a6542e40"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0721931ad5fe0dda45d07f9820b90b2148ccdd8e45bb9e9b42a146cb4f695649"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:833616ddc75ad595dee848ad984d067f2f31be645d603e4d158bba656bbf516c"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:287eb7f54fc81546346207c533ad3c2c51a8d61075127d7f6d79aaf96cdee890"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:19dfb1c504781a136a80ecd1fff9f16dddf5bb43cec6871778c8a907a085bb3d"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:119af6e56dce35e8dfb5222573b50c89e5508d94d55713c75126b753f834de68"}, + {file = "regex-2024.5.15-cp311-cp311-win32.whl", hash = "sha256:1c1c174d6ec38d6c8a7504087358ce9213d4332f6293a94fbf5249992ba54efa"}, + {file = "regex-2024.5.15-cp311-cp311-win_amd64.whl", hash = "sha256:9e717956dcfd656f5055cc70996ee2cc82ac5149517fc8e1b60261b907740201"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:632b01153e5248c134007209b5c6348a544ce96c46005d8456de1d552455b014"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e64198f6b856d48192bf921421fdd8ad8eb35e179086e99e99f711957ffedd6e"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68811ab14087b2f6e0fc0c2bae9ad689ea3584cad6917fc57be6a48bbd012c49"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ec0c2fea1e886a19c3bee0cd19d862b3aa75dcdfb42ebe8ed30708df64687a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0c0c0003c10f54a591d220997dd27d953cd9ccc1a7294b40a4be5312be8797b"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2431b9e263af1953c55abbd3e2efca67ca80a3de8a0437cb58e2421f8184717a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a605586358893b483976cffc1723fb0f83e526e8f14c6e6614e75919d9862cf"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391d7f7f1e409d192dba8bcd42d3e4cf9e598f3979cdaed6ab11288da88cb9f2"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9ff11639a8d98969c863d4617595eb5425fd12f7c5ef6621a4b74b71ed8726d5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4eee78a04e6c67e8391edd4dad3279828dd66ac4b79570ec998e2155d2e59fd5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8fe45aa3f4aa57faabbc9cb46a93363edd6197cbc43523daea044e9ff2fea83e"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d0a3d8d6acf0c78a1fff0e210d224b821081330b8524e3e2bc5a68ef6ab5803d"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c486b4106066d502495b3025a0a7251bf37ea9540433940a23419461ab9f2a80"}, + {file = "regex-2024.5.15-cp312-cp312-win32.whl", hash = "sha256:c49e15eac7c149f3670b3e27f1f28a2c1ddeccd3a2812cba953e01be2ab9b5fe"}, + {file = "regex-2024.5.15-cp312-cp312-win_amd64.whl", hash = "sha256:673b5a6da4557b975c6c90198588181029c60793835ce02f497ea817ff647cb2"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:87e2a9c29e672fc65523fb47a90d429b70ef72b901b4e4b1bd42387caf0d6835"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c3bea0ba8b73b71b37ac833a7f3fd53825924165da6a924aec78c13032f20850"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bfc4f82cabe54f1e7f206fd3d30fda143f84a63fe7d64a81558d6e5f2e5aaba9"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5bb9425fe881d578aeca0b2b4b3d314ec88738706f66f219c194d67179337cb"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64c65783e96e563103d641760664125e91bd85d8e49566ee560ded4da0d3e704"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf2430df4148b08fb4324b848672514b1385ae3807651f3567871f130a728cc3"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5397de3219a8b08ae9540c48f602996aa6b0b65d5a61683e233af8605c42b0f2"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:455705d34b4154a80ead722f4f185b04c4237e8e8e33f265cd0798d0e44825fa"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2b6f1b3bb6f640c1a92be3bbfbcb18657b125b99ecf141fb3310b5282c7d4ed"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3ad070b823ca5890cab606c940522d05d3d22395d432f4aaaf9d5b1653e47ced"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:5b5467acbfc153847d5adb21e21e29847bcb5870e65c94c9206d20eb4e99a384"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e6662686aeb633ad65be2a42b4cb00178b3fbf7b91878f9446075c404ada552f"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:2b4c884767504c0e2401babe8b5b7aea9148680d2e157fa28f01529d1f7fcf67"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3cd7874d57f13bf70078f1ff02b8b0aa48d5b9ed25fc48547516c6aba36f5741"}, + {file = "regex-2024.5.15-cp38-cp38-win32.whl", hash = "sha256:e4682f5ba31f475d58884045c1a97a860a007d44938c4c0895f41d64481edbc9"}, + {file = "regex-2024.5.15-cp38-cp38-win_amd64.whl", hash = "sha256:d99ceffa25ac45d150e30bd9ed14ec6039f2aad0ffa6bb87a5936f5782fc1569"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13cdaf31bed30a1e1c2453ef6015aa0983e1366fad2667657dbcac7b02f67133"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cac27dcaa821ca271855a32188aa61d12decb6fe45ffe3e722401fe61e323cd1"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7dbe2467273b875ea2de38ded4eba86cbcbc9a1a6d0aa11dcf7bd2e67859c435"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f18a9a3513a99c4bef0e3efd4c4a5b11228b48aa80743be822b71e132ae4f5"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d347a741ea871c2e278fde6c48f85136c96b8659b632fb57a7d1ce1872547600"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1878b8301ed011704aea4c806a3cadbd76f84dece1ec09cc9e4dc934cfa5d4da"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4babf07ad476aaf7830d77000874d7611704a7fcf68c9c2ad151f5d94ae4bfc4"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35cb514e137cb3488bce23352af3e12fb0dbedd1ee6e60da053c69fb1b29cc6c"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cdd09d47c0b2efee9378679f8510ee6955d329424c659ab3c5e3a6edea696294"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:72d7a99cd6b8f958e85fc6ca5b37c4303294954eac1376535b03c2a43eb72629"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a094801d379ab20c2135529948cb84d417a2169b9bdceda2a36f5f10977ebc16"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c0c18345010870e58238790a6779a1219b4d97bd2e77e1140e8ee5d14df071aa"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:16093f563098448ff6b1fa68170e4acbef94e6b6a4e25e10eae8598bb1694b5d"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e38a7d4e8f633a33b4c7350fbd8bad3b70bf81439ac67ac38916c4a86b465456"}, + {file = "regex-2024.5.15-cp39-cp39-win32.whl", hash = "sha256:71a455a3c584a88f654b64feccc1e25876066c4f5ef26cd6dd711308aa538694"}, + {file = "regex-2024.5.15-cp39-cp39-win_amd64.whl", hash = "sha256:cab12877a9bdafde5500206d1020a584355a97884dfd388af3699e9137bf7388"}, + {file = "regex-2024.5.15.tar.gz", hash = "sha256:d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c"}, +] + [[package]] name = "requests" version = "2.32.3" @@ -2928,6 +4327,57 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "responses" +version = "0.25.3" +description = "A utility library for mocking out the `requests` Python library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "responses-0.25.3-py3-none-any.whl", hash = "sha256:521efcbc82081ab8daa588e08f7e8a64ce79b91c39f6e62199b19159bea7dbcb"}, + {file = "responses-0.25.3.tar.gz", hash = "sha256:617b9247abd9ae28313d57a75880422d55ec63c29d33d629697590a034358dba"}, +] + +[package.dependencies] +pyyaml = "*" +requests = ">=2.30.0,<3.0" +urllib3 = ">=1.25.10,<3.0" + +[package.extras] +tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asyncio", "pytest-cov", "pytest-httpserver", "tomli", "tomli-w", "types-PyYAML", "types-requests"] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "rich" +version = "13.7.1" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + [[package]] name = "rpds-py" version = "0.18.1" @@ -3038,45 +4488,46 @@ files = [ [[package]] name = "ruff" -version = "0.4.8" +version = "0.5.0" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.4.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:7663a6d78f6adb0eab270fa9cf1ff2d28618ca3a652b60f2a234d92b9ec89066"}, - {file = "ruff-0.4.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:eeceb78da8afb6de0ddada93112869852d04f1cd0f6b80fe464fd4e35c330913"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aad360893e92486662ef3be0a339c5ca3c1b109e0134fcd37d534d4be9fb8de3"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:284c2e3f3396fb05f5f803c9fffb53ebbe09a3ebe7dda2929ed8d73ded736deb"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7354f921e3fbe04d2a62d46707e569f9315e1a613307f7311a935743c51a764"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:72584676164e15a68a15778fd1b17c28a519e7a0622161eb2debdcdabdc71883"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9678d5c9b43315f323af2233a04d747409d1e3aa6789620083a82d1066a35199"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704977a658131651a22b5ebeb28b717ef42ac6ee3b11e91dc87b633b5d83142b"}, - {file = "ruff-0.4.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05f8d6f0c3cce5026cecd83b7a143dcad503045857bc49662f736437380ad45"}, - {file = "ruff-0.4.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6ea874950daca5697309d976c9afba830d3bf0ed66887481d6bca1673fc5b66a"}, - {file = "ruff-0.4.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:fc95aac2943ddf360376be9aa3107c8cf9640083940a8c5bd824be692d2216dc"}, - {file = "ruff-0.4.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:384154a1c3f4bf537bac69f33720957ee49ac8d484bfc91720cc94172026ceed"}, - {file = "ruff-0.4.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e9d5ce97cacc99878aa0d084c626a15cd21e6b3d53fd6f9112b7fc485918e1fa"}, - {file = "ruff-0.4.8-py3-none-win32.whl", hash = "sha256:6d795d7639212c2dfd01991259460101c22aabf420d9b943f153ab9d9706e6a9"}, - {file = "ruff-0.4.8-py3-none-win_amd64.whl", hash = "sha256:e14a3a095d07560a9d6769a72f781d73259655919d9b396c650fc98a8157555d"}, - {file = "ruff-0.4.8-py3-none-win_arm64.whl", hash = "sha256:14019a06dbe29b608f6b7cbcec300e3170a8d86efaddb7b23405cb7f7dcaf780"}, - {file = "ruff-0.4.8.tar.gz", hash = "sha256:16d717b1d57b2e2fd68bd0bf80fb43931b79d05a7131aa477d66fc40fbd86268"}, + {file = "ruff-0.5.0-py3-none-linux_armv6l.whl", hash = "sha256:ee770ea8ab38918f34e7560a597cc0a8c9a193aaa01bfbd879ef43cb06bd9c4c"}, + {file = "ruff-0.5.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38f3b8327b3cb43474559d435f5fa65dacf723351c159ed0dc567f7ab735d1b6"}, + {file = "ruff-0.5.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7594f8df5404a5c5c8f64b8311169879f6cf42142da644c7e0ba3c3f14130370"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:adc7012d6ec85032bc4e9065110df205752d64010bed5f958d25dbee9ce35de3"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d505fb93b0fabef974b168d9b27c3960714d2ecda24b6ffa6a87ac432905ea38"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dc5cfd3558f14513ed0d5b70ce531e28ea81a8a3b1b07f0f48421a3d9e7d80a"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:db3ca35265de239a1176d56a464b51557fce41095c37d6c406e658cf80bbb362"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b1a321c4f68809fddd9b282fab6a8d8db796b270fff44722589a8b946925a2a8"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c4dfcd8d34b143916994b3876b63d53f56724c03f8c1a33a253b7b1e6bf2a7d"}, + {file = "ruff-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81e5facfc9f4a674c6a78c64d38becfbd5e4f739c31fcd9ce44c849f1fad9e4c"}, + {file = "ruff-0.5.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e589e27971c2a3efff3fadafb16e5aef7ff93250f0134ec4b52052b673cf988d"}, + {file = "ruff-0.5.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2ffbc3715a52b037bcb0f6ff524a9367f642cdc5817944f6af5479bbb2eb50e"}, + {file = "ruff-0.5.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cd096e23c6a4f9c819525a437fa0a99d1c67a1b6bb30948d46f33afbc53596cf"}, + {file = "ruff-0.5.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:46e193b36f2255729ad34a49c9a997d506e58f08555366b2108783b3064a0e1e"}, + {file = "ruff-0.5.0-py3-none-win32.whl", hash = "sha256:49141d267100f5ceff541b4e06552e98527870eafa1acc9dec9139c9ec5af64c"}, + {file = "ruff-0.5.0-py3-none-win_amd64.whl", hash = "sha256:e9118f60091047444c1b90952736ee7b1792910cab56e9b9a9ac20af94cd0440"}, + {file = "ruff-0.5.0-py3-none-win_arm64.whl", hash = "sha256:ed5c4df5c1fb4518abcb57725b576659542bdbe93366f4f329e8f398c4b71178"}, + {file = "ruff-0.5.0.tar.gz", hash = "sha256:eb641b5873492cf9bd45bc9c5ae5320648218e04386a5f0c264ad6ccce8226a1"}, ] [[package]] name = "s3fs" -version = "2024.6.0" +version = "2024.6.1" description = "Convenient Filesystem interface over S3" optional = false python-versions = ">=3.8" files = [ - {file = "s3fs-2024.6.0-py3-none-any.whl", hash = "sha256:8d5f591956a61c7d64097eff4847598826f09d60b4ce9a16202565693569f6d4"}, - {file = "s3fs-2024.6.0.tar.gz", hash = "sha256:a59020ededc61e9666f1e473ce4aa28764e5f7b3c97414beb15cd9be522a87b6"}, + {file = "s3fs-2024.6.1-py3-none-any.whl", hash = "sha256:ecd20863437409eec1cbfff0b7df5e9772cf7c1926008efab2e17e46f6d52c63"}, + {file = "s3fs-2024.6.1.tar.gz", hash = "sha256:6c2106d6c34fbfbb88e3d20c6f3572896d5ee3d3512896696301c21a3c541bea"}, ] [package.dependencies] aiobotocore = ">=2.5.4,<3.0.0" aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" -fsspec = "==2024.6.0.*" +fsspec = "==2024.6.1.*" [package.extras] awscli = ["aiobotocore[awscli] (>=2.5.4,<3.0.0)"] @@ -3084,13 +4535,13 @@ boto3 = ["aiobotocore[boto3] (>=2.5.4,<3.0.0)"] [[package]] name = "s3transfer" -version = "0.10.1" +version = "0.10.2" description = "An Amazon S3 Transfer Manager" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ - {file = "s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"}, - {file = "s3transfer-0.10.1.tar.gz", hash = "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19"}, + {file = "s3transfer-0.10.2-py3-none-any.whl", hash = "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"}, + {file = "s3transfer-0.10.2.tar.gz", hash = "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6"}, ] [package.dependencies] @@ -3101,45 +4552,45 @@ crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "scipy" -version = "1.13.1" +version = "1.14.0" description = "Fundamental algorithms for scientific computing in Python" optional = false -python-versions = ">=3.9" -files = [ - {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, - {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989"}, - {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f"}, - {file = "scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94"}, - {file = "scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9"}, - {file = "scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299"}, - {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa"}, - {file = "scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59"}, - {file = "scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1"}, - {file = "scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627"}, - {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884"}, - {file = "scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16"}, - {file = "scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5"}, - {file = "scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004"}, - {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d"}, - {file = "scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c"}, - {file = "scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2"}, - {file = "scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c"}, -] - -[package.dependencies] -numpy = ">=1.22.4,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] -test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +python-versions = ">=3.10" +files = [ + {file = "scipy-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7e911933d54ead4d557c02402710c2396529540b81dd554fc1ba270eb7308484"}, + {file = "scipy-1.14.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:687af0a35462402dd851726295c1a5ae5f987bd6e9026f52e9505994e2f84ef6"}, + {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:07e179dc0205a50721022344fb85074f772eadbda1e1b3eecdc483f8033709b7"}, + {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a9c9a9b226d9a21e0a208bdb024c3982932e43811b62d202aaf1bb59af264b1"}, + {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076c27284c768b84a45dcf2e914d4000aac537da74236a0d45d82c6fa4b7b3c0"}, + {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42470ea0195336df319741e230626b6225a740fd9dce9642ca13e98f667047c0"}, + {file = "scipy-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:176c6f0d0470a32f1b2efaf40c3d37a24876cebf447498a4cefb947a79c21e9d"}, + {file = "scipy-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad36af9626d27a4326c8e884917b7ec321d8a1841cd6dacc67d2a9e90c2f0359"}, + {file = "scipy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d056a8709ccda6cf36cdd2eac597d13bc03dba38360f418560a93050c76a16e"}, + {file = "scipy-1.14.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f0a50da861a7ec4573b7c716b2ebdcdf142b66b756a0d392c236ae568b3a93fb"}, + {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:94c164a9e2498e68308e6e148646e486d979f7fcdb8b4cf34b5441894bdb9caf"}, + {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a7d46c3e0aea5c064e734c3eac5cf9eb1f8c4ceee756262f2c7327c4c2691c86"}, + {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eee2989868e274aae26125345584254d97c56194c072ed96cb433f32f692ed8"}, + {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3154691b9f7ed73778d746da2df67a19d046a6c8087c8b385bc4cdb2cfca74"}, + {file = "scipy-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c40003d880f39c11c1edbae8144e3813904b10514cd3d3d00c277ae996488cdb"}, + {file = "scipy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:5b083c8940028bb7e0b4172acafda6df762da1927b9091f9611b0bcd8676f2bc"}, + {file = "scipy-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff2438ea1330e06e53c424893ec0072640dac00f29c6a43a575cbae4c99b2b9"}, + {file = "scipy-1.14.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bbc0471b5f22c11c389075d091d3885693fd3f5e9a54ce051b46308bc787e5d4"}, + {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:64b2ff514a98cf2bb734a9f90d32dc89dc6ad4a4a36a312cd0d6327170339eb0"}, + {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:7d3da42fbbbb860211a811782504f38ae7aaec9de8764a9bef6b262de7a2b50f"}, + {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d91db2c41dd6c20646af280355d41dfa1ec7eead235642178bd57635a3f82209"}, + {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01cc03bcdc777c9da3cfdcc74b5a75caffb48a6c39c8450a9a05f82c4250a14"}, + {file = "scipy-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65df4da3c12a2bb9ad52b86b4dcf46813e869afb006e58be0f516bc370165159"}, + {file = "scipy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c4161597c75043f7154238ef419c29a64ac4a7c889d588ea77690ac4d0d9b20"}, + {file = "scipy-1.14.0.tar.gz", hash = "sha256:b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b"}, +] + +[package.dependencies] +numpy = ">=1.23.5,<2.3" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] +doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] [[package]] name = "seaborn" @@ -3164,18 +4615,18 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "setuptools" -version = "70.0.0" +version = "70.2.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, - {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, + {file = "setuptools-70.2.0-py3-none-any.whl", hash = "sha256:b8b8060bb426838fbe942479c90296ce976249451118ef566a5a0b7d8b78fb05"}, + {file = "setuptools-70.2.0.tar.gz", hash = "sha256:bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "shapely" @@ -3245,6 +4696,28 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + [[package]] name = "sortedcontainers" version = "2.4.0" @@ -3256,6 +4729,149 @@ files = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] +[[package]] +name = "sphinx" +version = "7.3.7" +description = "Python documentation generator" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinx-7.3.7-py3-none-any.whl", hash = "sha256:413f75440be4cacf328f580b4274ada4565fb2187d696a84970c23f77b64d8c3"}, + {file = "sphinx-7.3.7.tar.gz", hash = "sha256:a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc"}, +] + +[package.dependencies] +alabaster = ">=0.7.14,<0.8.0" +babel = ">=2.9" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.18.1,<0.22" +imagesize = ">=1.3" +Jinja2 = ">=3.0" +packaging = ">=21.0" +Pygments = ">=2.14" +requests = ">=2.25.0" +snowballstemmer = ">=2.0" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.9" +tomli = {version = ">=2", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "importlib_metadata", "mypy (==1.9.0)", "pytest (>=6.0)", "ruff (==0.3.7)", "sphinx-lint", "tomli", "types-docutils", "types-requests"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=6.0)", "setuptools (>=67.0)"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.8" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_applehelp-1.0.8-py3-none-any.whl", hash = "sha256:cb61eb0ec1b61f349e5cc36b2028e9e7ca765be05e49641c97241274753067b4"}, + {file = "sphinxcontrib_applehelp-1.0.8.tar.gz", hash = "sha256:c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.6" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_devhelp-1.0.6-py3-none-any.whl", hash = "sha256:6485d09629944511c893fa11355bda18b742b83a2b181f9a009f7e500595c90f"}, + {file = "sphinxcontrib_devhelp-1.0.6.tar.gz", hash = "sha256:9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.5" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"}, + {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.7" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"}, + {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.10" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl", hash = "sha256:326369b8df80a7d2d8d7f99aa5ac577f51ea51556ed974e7716cfd4fca3f6cb7"}, + {file = "sphinxcontrib_serializinghtml-1.1.10.tar.gz", hash = "sha256:93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sympy" +version = "1.12.1" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sympy-1.12.1-py3-none-any.whl", hash = "sha256:9b2cbc7f1a640289430e13d2a56f02f867a1da0190f2f99d8968c2f74da0e515"}, + {file = "sympy-1.12.1.tar.gz", hash = "sha256:2877b03f998cd8c08f07cd0de5b767119cd3ef40d09f41c30d722f6686b0fb88"}, +] + +[package.dependencies] +mpmath = ">=1.1.0,<1.4.0" + [[package]] name = "tblib" version = "3.0.0" @@ -3267,6 +4883,17 @@ files = [ {file = "tblib-3.0.0.tar.gz", hash = "sha256:93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6"}, ] +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + [[package]] name = "tomli" version = "2.0.1" @@ -3326,13 +4953,13 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "typing-extensions" -version = "4.12.1" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.12.1-py3-none-any.whl", hash = "sha256:6024b58b69089e5a89c347397254e35f1bf02a907728ec7fee9bf0fe837d203a"}, - {file = "typing_extensions-4.12.1.tar.gz", hash = "sha256:915f5e35ff76f56588223f15fdd5938f9a1cf9195c0de25130c627e4d597f6d1"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] @@ -3348,13 +4975,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] @@ -3365,13 +4992,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.2" +version = "20.26.3" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.26.2-py3-none-any.whl", hash = "sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b"}, - {file = "virtualenv-20.26.2.tar.gz", hash = "sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c"}, + {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, + {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, ] [package.dependencies] @@ -3394,6 +5021,48 @@ files = [ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] +[[package]] +name = "werkzeug" +version = "3.0.3" +description = "The comprehensive WSGI web application library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, + {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, +] + +[package.dependencies] +MarkupSafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[[package]] +name = "wheel" +version = "0.43.0" +description = "A built-package format for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "wheel-0.43.0-py3-none-any.whl", hash = "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81"}, + {file = "wheel-0.43.0.tar.gz", hash = "sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85"}, +] + +[package.extras] +test = ["pytest (>=6.0.0)", "setuptools (>=65)"] + +[[package]] +name = "widgetsnbextension" +version = "4.0.11" +description = "Jupyter interactive widgets for Jupyter Notebook" +optional = false +python-versions = ">=3.7" +files = [ + {file = "widgetsnbextension-4.0.11-py3-none-any.whl", hash = "sha256:55d4d6949d100e0d08b94948a42efc3ed6dfdc0e9468b2c4b128c9a2ce3a7a36"}, + {file = "widgetsnbextension-4.0.11.tar.gz", hash = "sha256:8b22a8f1910bfd188e596fe7fc05dcbd87e810c8a4ba010bdb3da86637398474"}, +] + [[package]] name = "wrapt" version = "1.16.0" @@ -3475,13 +5144,13 @@ files = [ [[package]] name = "xarray" -version = "2024.5.0" +version = "2024.6.0" description = "N-D labeled arrays and datasets in Python" optional = false python-versions = ">=3.9" files = [ - {file = "xarray-2024.5.0-py3-none-any.whl", hash = "sha256:7ddedfe2294a0ab00f02d0fbdcb9c6300ec589f3cf436a9c7b7b577a12cd9bcf"}, - {file = "xarray-2024.5.0.tar.gz", hash = "sha256:e0eb1cb265f265126795f388ed9591f3c752f2aca491f6c0576711fd15b708f2"}, + {file = "xarray-2024.6.0-py3-none-any.whl", hash = "sha256:721a7394e8ec3d592b2d8ebe21eed074ac077dc1bb1bd777ce00e41700b4866c"}, + {file = "xarray-2024.6.0.tar.gz", hash = "sha256:0b91e0bc4dc0296947947640fe31ec6e867ce258d2f7cbc10bedf4a6d68340c7"}, ] [package.dependencies] @@ -3521,6 +5190,17 @@ io = ["cftime", "fsspec", "h5netcdf", "netCDF4", "pooch", "pydap", "scipy", "zar parallel = ["dask[complete]"] viz = ["matplotlib", "nc-time-axis", "seaborn"] +[[package]] +name = "xmltodict" +version = "0.13.0" +description = "Makes working with XML feel like you are working with JSON" +optional = false +python-versions = ">=3.4" +files = [ + {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, + {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, +] + [[package]] name = "xyzservices" version = "2024.6.0" @@ -3685,4 +5365,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "==3.10.14" -content-hash = "005ce2e63056b5eb351b45c73f010b493e51c6adb5490fa64ccbb075f6c5740d" +content-hash = "1264c2e84e01cd3b4e4b21ee672dfa3ddd47c3d2c9702b9c733a5d31e37a6590" diff --git a/pyproject.toml b/pyproject.toml index 6a659d0..e710f68 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,8 +28,8 @@ classifiers = [ [tool.poetry.dependencies] python = "==3.10.14" -netCDF4 = ">=1.6.5" -numpy = ">=1.26.4" +netCDF4 = "==1.6.5" # hardpinned because of bug https://github.com/Unidata/netcdf4-python/issues/1342 +numpy = "<2.0.0" pandas = ">=2.2.2" python-dateutil = ">=2.9.0" jsonschema = ">=4.22.0" @@ -42,14 +42,18 @@ rechunker = ">=0.5.2" s3fs = ">=2024.3.1" shapely = ">=2.0.4" xarray = { version = ">=2024.3.0", extras = ["complete"] } -zarr = ">=2.18.0" +zarr = ">=2.18.2" geopandas = ">=0.14.4" +coiled = ">=1.27.2" +dask = ">=2024.6.0" [tool.poetry.dev-dependencies] pytest = "^8.2.1" ipdb = "^0.13" ipython = "^7.5.3" - +moto = {version = ">=5.0.0", extras = ["ec2", "s3", "server", "all"]} # Add Moto with optional dependencies +fuzzywuzzy = ">=0.18.0" +sphinx = ">=7.3.7" #[tool.poetry.extras] #testing = ["pytest", "ipython", "ipdb"] @@ -66,9 +70,11 @@ anmn_aqualogger_to_parquet = "aodn_cloud_optimised.bin.anmn_aqualogger_to_parque ardc_wave_to_parquet = "aodn_cloud_optimised.bin.ardc_wave_to_parquet:main" argo_to_parquet = "aodn_cloud_optimised.bin.argo_to_parquet:main" gsla_nrt_to_zarr = "aodn_cloud_optimised.bin.gsla_nrt_to_zarr:main" +generic_cloud_optimised_creation = "aodn_cloud_optimised.bin.generic_cloud_optimised_creation:main" soop_xbt_nrt_to_parquet = "aodn_cloud_optimised.bin.soop_xbt_nrt_to_parquet:main" srs_oc_ljco_to_parquet = "aodn_cloud_optimised.bin.srs_oc_ljco_to_parquet:main" srs_l3s_1d_dn_to_zarr = "aodn_cloud_optimised.bin.srs_l3s_1d_dn_to_zarr:main" +srs_l3s_3d_dn_to_zarr = "aodn_cloud_optimised.bin.srs_l3s_3d_dn_to_zarr:main" #[tool.poetry.include] #data = ["aodn_cloud_optimised/config/*.json", "aodn_cloud_optimised/config/dataset/*.json"] @@ -77,6 +83,9 @@ srs_l3s_1d_dn_to_zarr = "aodn_cloud_optimised.bin.srs_l3s_1d_dn_to_zarr:main" pytest = "^8.2.1" coverage = "^7.5.3" pre-commit = "^3.7.1" +moto = {version = ">=5.0.0", extras = ["ec2", "s3", "server", "all"]} # Add Moto with optional dependencies +sphinx = ">=7.3.7" + [tool.pre_commit] version = "2.3.0" diff --git a/requirements.txt b/requirements.txt index 108df31..3929f0b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,61 +1,123 @@ -aiobotocore==2.13.0 ; python_full_version == "3.10.14" +aiobotocore==2.13.1 ; python_full_version == "3.10.14" aiohttp==3.9.5 ; python_full_version == "3.10.14" aioitertools==0.11.0 ; python_full_version == "3.10.14" aiosignal==1.3.1 ; python_full_version == "3.10.14" +anyio==4.4.0 ; python_full_version == "3.10.14" +appnope==0.1.4 ; sys_platform == "darwin" and python_full_version == "3.10.14" asciitree==0.3.3 ; python_full_version == "3.10.14" async-timeout==4.0.3 ; python_full_version == "3.10.14" attrs==23.2.0 ; python_full_version == "3.10.14" -bokeh==3.4.1 ; python_full_version == "3.10.14" -boto3==1.34.106 ; python_full_version == "3.10.14" -botocore==1.34.106 ; python_full_version == "3.10.14" +backcall==0.2.0 ; python_full_version == "3.10.14" +backoff==2.2.1 ; python_full_version == "3.10.14" +bcrypt==4.1.3 ; python_full_version == "3.10.14" +bokeh==3.4.2 ; python_full_version == "3.10.14" +boto3==1.34.131 ; python_full_version == "3.10.14" +botocore==1.34.131 ; python_full_version == "3.10.14" certifi==2024.6.2 ; python_full_version == "3.10.14" -cftime==1.6.3 ; python_full_version == "3.10.14" +cffi==1.16.0 ; python_full_version == "3.10.14" +cftime==1.6.4 ; python_full_version == "3.10.14" click==8.1.7 ; python_full_version == "3.10.14" cloudpickle==3.0.0 ; python_full_version == "3.10.14" -colorama==0.4.6 ; python_full_version == "3.10.14" and platform_system == "Windows" +coiled==1.34.0 ; python_full_version == "3.10.14" +colorama==0.4.6 ; python_full_version == "3.10.14" and (platform_system == "Windows" or sys_platform == "win32") +comm==0.2.2 ; python_full_version == "3.10.14" contourpy==1.2.1 ; python_full_version == "3.10.14" -dask[array,diagnostics]==2024.5.2 ; python_full_version == "3.10.14" +cryptography==42.0.8 ; python_full_version == "3.10.14" +dask==2024.6.2 ; python_full_version == "3.10.14" +dask[array,diagnostics]==2024.6.2 ; python_full_version == "3.10.14" +decorator==5.1.1 ; python_full_version == "3.10.14" +deprecated==1.2.14 ; python_full_version == "3.10.14" +distributed==2024.6.2 ; python_full_version == "3.10.14" +exceptiongroup==1.2.1 ; python_full_version == "3.10.14" +fabric==3.2.2 ; python_full_version == "3.10.14" fasteners==0.19 ; sys_platform != "emscripten" and python_full_version == "3.10.14" +filelock==3.15.4 ; python_full_version == "3.10.14" frozenlist==1.4.1 ; python_full_version == "3.10.14" -fsspec==2024.6.0 ; python_full_version == "3.10.14" +fsspec==2024.6.1 ; python_full_version == "3.10.14" +geopandas==1.0.1 ; python_full_version == "3.10.14" +gilknocker==0.4.1 ; python_full_version == "3.10.14" +h11==0.14.0 ; python_full_version == "3.10.14" +h2==4.1.0 ; python_full_version == "3.10.14" h5netcdf==1.3.0 ; python_full_version == "3.10.14" h5py==3.11.0 ; python_full_version == "3.10.14" +hpack==4.0.0 ; python_full_version == "3.10.14" +httpcore==1.0.5 ; python_full_version == "3.10.14" +httpx[http2]==0.27.0 ; python_full_version == "3.10.14" +hyperframe==6.0.1 ; python_full_version == "3.10.14" idna==3.7 ; python_full_version == "3.10.14" -importlib-metadata==7.1.0 ; python_full_version == "3.10.14" +importlib-metadata==8.0.0 ; python_full_version == "3.10.14" +invoke==2.2.0 ; python_full_version == "3.10.14" +ipython==7.34.0 ; python_full_version == "3.10.14" +ipywidgets==8.1.3 ; python_full_version == "3.10.14" +jedi==0.19.1 ; python_full_version == "3.10.14" jinja2==3.1.4 ; python_full_version == "3.10.14" jmespath==1.0.1 ; python_full_version == "3.10.14" +jsondiff==2.1.1 ; python_full_version == "3.10.14" jsonschema-specifications==2023.12.1 ; python_full_version == "3.10.14" jsonschema==4.22.0 ; python_full_version == "3.10.14" +jupyterlab-widgets==3.0.11 ; python_full_version == "3.10.14" locket==1.0.0 ; python_full_version == "3.10.14" +markdown-it-py==3.0.0 ; python_full_version == "3.10.14" markupsafe==2.1.5 ; python_full_version == "3.10.14" +matplotlib-inline==0.1.7 ; python_full_version == "3.10.14" +mdurl==0.1.2 ; python_full_version == "3.10.14" +msgpack==1.0.8 ; python_full_version == "3.10.14" multidict==6.0.5 ; python_full_version == "3.10.14" mypy-extensions==1.0.0 ; python_full_version == "3.10.14" netcdf4==1.6.5 ; python_full_version == "3.10.14" numcodecs==0.12.1 ; python_full_version == "3.10.14" numpy==1.26.4 ; python_full_version == "3.10.14" -packaging==24.0 ; python_full_version == "3.10.14" +packaging==24.1 ; python_full_version == "3.10.14" pandas==2.2.2 ; python_full_version == "3.10.14" +paramiko==3.4.0 ; python_full_version == "3.10.14" +parso==0.8.4 ; python_full_version == "3.10.14" partd==1.4.2 ; python_full_version == "3.10.14" -pillow==10.3.0 ; python_full_version == "3.10.14" +pexpect==4.9.0 ; sys_platform != "win32" and python_full_version == "3.10.14" +pickleshare==0.7.5 ; python_full_version == "3.10.14" +pillow==10.4.0 ; python_full_version == "3.10.14" +pip-requirements-parser==32.0.1 ; python_full_version == "3.10.14" +pip==24.1.1 ; python_full_version == "3.10.14" +prometheus-client==0.20.0 ; python_full_version == "3.10.14" +prompt-toolkit==3.0.47 ; python_full_version == "3.10.14" +psutil==6.0.0 ; python_full_version == "3.10.14" +ptyprocess==0.7.0 ; sys_platform != "win32" and python_full_version == "3.10.14" pyarrow==16.0.0 ; python_full_version == "3.10.14" +pycparser==2.22 ; python_full_version == "3.10.14" +pygments==2.18.0 ; python_full_version == "3.10.14" +pynacl==1.5.0 ; python_full_version == "3.10.14" +pyogrio==0.9.0 ; python_full_version == "3.10.14" +pyparsing==3.1.2 ; python_full_version == "3.10.14" +pyproj==3.6.1 ; python_full_version == "3.10.14" python-dateutil==2.9.0.post0 ; python_full_version == "3.10.14" pytz==2024.1 ; python_full_version == "3.10.14" pyyaml==6.0.1 ; python_full_version == "3.10.14" rechunker==0.5.2 ; python_full_version == "3.10.14" referencing==0.35.1 ; python_full_version == "3.10.14" +rich==13.7.1 ; python_full_version == "3.10.14" rpds-py==0.18.1 ; python_full_version == "3.10.14" -s3fs==2024.6.0 ; python_full_version == "3.10.14" -s3transfer==0.10.1 ; python_full_version == "3.10.14" -scipy==1.13.1 ; python_full_version == "3.10.14" +s3fs==2024.6.1 ; python_full_version == "3.10.14" +s3transfer==0.10.2 ; python_full_version == "3.10.14" +scipy==1.14.0 ; python_full_version == "3.10.14" +setuptools==70.2.0 ; python_full_version == "3.10.14" shapely==2.0.4 ; python_full_version == "3.10.14" six==1.16.0 ; python_full_version == "3.10.14" +sniffio==1.3.1 ; python_full_version == "3.10.14" +sortedcontainers==2.4.0 ; python_full_version == "3.10.14" +tblib==3.0.0 ; python_full_version == "3.10.14" +toml==0.10.2 ; python_full_version == "3.10.14" toolz==0.12.1 ; python_full_version == "3.10.14" -tornado==6.4 ; python_full_version == "3.10.14" +tornado==6.4.1 ; python_full_version == "3.10.14" +traitlets==5.14.3 ; python_full_version == "3.10.14" +typing-extensions==4.12.2 ; python_full_version == "3.10.14" tzdata==2024.1 ; python_full_version == "3.10.14" -urllib3==2.2.1 ; python_full_version == "3.10.14" +urllib3==2.2.2 ; python_full_version == "3.10.14" +wcwidth==0.2.13 ; python_full_version == "3.10.14" +wheel==0.43.0 ; python_full_version == "3.10.14" +widgetsnbextension==4.0.11 ; python_full_version == "3.10.14" wrapt==1.16.0 ; python_full_version == "3.10.14" -xarray[complete]==2024.5.0 ; python_full_version == "3.10.14" -xyzservices==2024.4.0 ; python_full_version == "3.10.14" +xarray[complete]==2024.6.0 ; python_full_version == "3.10.14" +xyzservices==2024.6.0 ; python_full_version == "3.10.14" yarl==1.9.4 ; python_full_version == "3.10.14" zarr==2.18.2 ; python_full_version == "3.10.14" -zipp==3.19.1 ; python_full_version == "3.10.14" +zict==3.0.0 ; python_full_version == "3.10.14" +zipp==3.19.2 ; python_full_version == "3.10.14" diff --git a/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T000000Z_TURQ_FV01_1-hour-avg.nc b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T000000Z_TURQ_FV01_1-hour-avg.nc new file mode 100644 index 0000000..7b7c5fa Binary files /dev/null and b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T000000Z_TURQ_FV01_1-hour-avg.nc differ diff --git a/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T010000Z_TURQ_FV01_1-hour-avg.nc b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T010000Z_TURQ_FV01_1-hour-avg.nc new file mode 100644 index 0000000..8fb8bc8 Binary files /dev/null and b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T010000Z_TURQ_FV01_1-hour-avg.nc differ diff --git a/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T020000Z_TURQ_FV01_1-hour-avg.nc b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T020000Z_TURQ_FV01_1-hour-avg.nc new file mode 100644 index 0000000..bc20400 Binary files /dev/null and b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T020000Z_TURQ_FV01_1-hour-avg.nc differ diff --git a/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T030000Z_TURQ_FV01_1-hour-avg.nc b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T030000Z_TURQ_FV01_1-hour-avg.nc new file mode 100644 index 0000000..e394921 Binary files /dev/null and b/test_aodn_cloud_optimised/resources/IMOS_ACORN_V_20240101T030000Z_TURQ_FV01_1-hour-avg.nc differ diff --git a/test_aodn_cloud_optimised/resources/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.schema b/test_aodn_cloud_optimised/resources/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.schema new file mode 100644 index 0000000..4104a5a --- /dev/null +++ b/test_aodn_cloud_optimised/resources/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.schema @@ -0,0 +1,230 @@ +{ + "TIME": { + "type": "timestamp[ns]", + "axis": "T", + "comment": "timeOffsetPP: TIME values and time_coverage_start/end global attributes have been applied the following offset : -10 hours.", + "long_name": "time", + "standard_name": "time", + "valid_max": 90000.0, + "valid_min": 0.0 + }, + "TIMESERIES": { + "type": "int32", + "cf_role": "timeseries_id", + "long_name": "unique_identifier_for_each_timeseries_feature_instance_in_this_file" + }, + "LATITUDE": { + "type": "double", + "axis": "Y", + "long_name": "latitude", + "reference_datum": "WGS84 geographic coordinate system", + "standard_name": "latitude", + "units": "degrees_north", + "valid_max": 90.0, + "valid_min": -90.0 + }, + "LONGITUDE": { + "type": "double", + "axis": "X", + "long_name": "longitude", + "reference_datum": "WGS84 geographic coordinate system", + "standard_name": "longitude", + "units": "degrees_east", + "valid_max": 180.0, + "valid_min": -180.0 + }, + "NOMINAL_DEPTH": { + "type": "float", + "axis": "Z", + "long_name": "nominal depth", + "positive": "down", + "reference_datum": "sea surface", + "standard_name": "depth", + "units": "m", + "valid_max": 12000.0, + "valid_min": -5.0 + }, + "CNDC": { + "type": "float", + "ancillary_variables": "CNDC_quality_control", + "long_name": "sea_water_electrical_conductivity", + "standard_name": "sea_water_electrical_conductivity", + "units": "S m-1", + "valid_max": 50000.0, + "valid_min": 0.0 + }, + "CNDC_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_electrical_conductivity", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": " ", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_electrical_conductivity status_flag" + }, + "TEMP": { + "type": "float", + "ancillary_variables": "TEMP_quality_control", + "long_name": "sea_water_temperature", + "standard_name": "sea_water_temperature", + "units": "degrees_Celsius", + "valid_max": 40.0, + "valid_min": -2.5 + }, + "TEMP_quality_control": { + "type": "float", + "comment": "Data values at TIME from 2021/04/29 01:55:01 UTC to 2021/04/29 01:55:01 UTC manually flagged as Bad_data : Instrument instability", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_temperature", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "B", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_temperature status_flag" + }, + "PSAL": { + "type": "float", + "ancillary_variables": "PSAL_quality_control", + "long_name": "sea_water_practical_salinity", + "standard_name": "sea_water_practical_salinity", + "units": "1", + "valid_max": 41.0, + "valid_min": 2.0 + }, + "PSAL_quality_control": { + "type": "float", + "comment": "Data values at TIME from 2021/05/24 03:45:01 UTC to 2021/05/24 03:45:01 UTC manually flagged as Bad_data : spike. Data values at TIME from 2021/04/29 01:55:01 UTC to 2021/04/29 01:55:01 UTC manually flagged as Bad_data : Instrument instability", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_practical_salinity", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "B", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_practical_salinity status_flag" + }, + "PRES_REL": { + "type": "float", + "ancillary_variables": "PRES_REL_quality_control", + "applied_offset": -10.135296821594238, + "long_name": "sea_water_pressure_due_to_sea_water", + "standard_name": "sea_water_pressure_due_to_sea_water", + "units": "dbar", + "valid_max": 12000.0, + "valid_min": -15.0 + }, + "PRES_REL_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_pressure_due_to_sea_water", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "A", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_pressure_due_to_sea_water status_flag" + }, + "DEPTH": { + "type": "float", + "ancillary_variables": "DEPTH_quality_control", + "long_name": "actual depth", + "positive": "down", + "reference_datum": "sea surface", + "standard_name": "depth", + "units": "m", + "valid_max": 12000.0, + "valid_min": -5.0 + }, + "DEPTH_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for depth", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "A", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "depth status_flag" + }, + "DENS": { + "type": "float", + "ancillary_variables": "DENS_quality_control", + "long_name": "sea_water_density", + "standard_name": "sea_water_density", + "units": "kg m-3" + }, + "DENS_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_density", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": " ", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_density status_flag" + } +} \ No newline at end of file diff --git a/test_aodn_cloud_optimised/resources/aatams_acoustic_tagging.json b/test_aodn_cloud_optimised/resources/aatams_acoustic_tagging.json index ed4dc2d..da9b102 100644 --- a/test_aodn_cloud_optimised/resources/aatams_acoustic_tagging.json +++ b/test_aodn_cloud_optimised/resources/aatams_acoustic_tagging.json @@ -2,6 +2,16 @@ "dataset_name": "aatams_acoustic_tagging", "logger_name": "aatams_acoustic_tagging", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [4, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "4a97bd11-e821-4682-8b20-cb69201f3223", "gattrs_to_variables": [], "partition_keys": ["transmitter_id", "timestamp", "polygon"], diff --git a/test_aodn_cloud_optimised/resources/acorn_gridded_qc_main.json b/test_aodn_cloud_optimised/resources/acorn_gridded_qc_main.json new file mode 100644 index 0000000..3ba67de --- /dev/null +++ b/test_aodn_cloud_optimised/resources/acorn_gridded_qc_main.json @@ -0,0 +1,136 @@ +{ + "dataset_name": "acorn_gridded_qc", + "logger_name": "acorn_gridded_qc", + "cloud_optimised_format": "zarr", + "cluster_options" : { + "n_workers": [2, 8], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.medium", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + "cluster_config" : { + "n_workers": [0, 6], + "scheduler_vm_types": "t3.medium" + }, + "metadata_uuid": "", + "dimensions": { + "time": {"name": "TIME", + "chunk": 1500, + "rechunk": true}, + "latitude": {"name": "J", + "chunk": 60}, + "longitude": {"name": "I", + "chunk": 59} + }, + "var_template_shape": "UCUR", + "vars_to_drop_no_common_dimension": ["I", "J", "LATITUDE", "LONGITUDE", "GDOP"], + "schema": { + "TIME": {"type": "datetime64[ns]"}, + "I": {"type": "int32"}, + "J": {"type": "int32"}, + "LATITUDE": {"type": "float64"}, + "LONGITUDE": {"type": "float64"}, + "GDOP": {"type": "float32"}, + "UCUR": {"type": "float32"}, + "VCUR": {"type": "float32"}, + "UCUR_sd": {"type": "float32"}, + "VCUR_sd": {"type": "float32"}, + "NOBS1": {"type": "float32"}, + "NOBS2": {"type": "float32"}, + "UCUR_quality_control": {"type": "float32"}, + "VCUR_quality_control": {"type": "float32"} + }, + "dataset_gattrs": { + "title": "Temperature logger" + }, + "aws_opendata_registry": { + "Name": "", + "Description": "", + "Documentation": "", + "Contact": "", + "ManagedBy": "", + "UpdateFrequency": "", + "Tags": [], + "License": "", + "Resources": [ + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "", + "Explore": [] + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + } + ], + "DataAtWork": { + "Tutorials": [ + { + "Title": "", + "URL": "", + "Services": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Tools & Applications": [ + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Publications": [ + { + "Title": "", + "URL": "", + "AuthorName": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "" + } + ] + } + } +} diff --git a/test_aodn_cloud_optimised/resources/acorn_gridded_qc_turq.json b/test_aodn_cloud_optimised/resources/acorn_gridded_qc_turq.json new file mode 100644 index 0000000..bd2c5f1 --- /dev/null +++ b/test_aodn_cloud_optimised/resources/acorn_gridded_qc_turq.json @@ -0,0 +1,6 @@ +{ + "dataset_name": "acorn_gridded_qc_turq", + "parent_config": "acorn_gridded_qc_main.json", + "logger_name": "acorn_gridded_qc_turq", + "metadata_uuid": "" +} diff --git a/test_aodn_cloud_optimised/resources/anmn_ctd_ts_fv01.json b/test_aodn_cloud_optimised/resources/anmn_ctd_ts_fv01.json new file mode 100644 index 0000000..7f80e5d --- /dev/null +++ b/test_aodn_cloud_optimised/resources/anmn_ctd_ts_fv01.json @@ -0,0 +1,365 @@ +{ + "dataset_name": "anmn_ctd_ts_fv01", + "logger_name": "anmn_ctd_ts_fv01", + "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + "metadata_uuid": "7b901002-b1dc-46c3-89f2-b4951cedca48", + "gattrs_to_variables": [ + "site_code" + ], + "partition_keys": [ + "site_code", + "timestamp", + "polygon" + ], + "time_extent": { + "time": "TIME", + "partition_timestamp_period": "Q" + }, + "spatial_extent": { + "lat": "LATITUDE", + "lon": "LONGITUDE", + "spatial_resolution": 5 + }, + "schema": { + "TIME": { + "type": "timestamp[ns]", + "axis": "T", + "comment": "timeOffsetPP: TIME values and time_coverage_start/end global attributes have been applied the following offset : -10 hours.", + "long_name": "time", + "standard_name": "time", + "valid_max": 90000.0, + "valid_min": 0.0 + }, + "TIMESERIES": { + "type": "int32", + "cf_role": "timeseries_id", + "long_name": "unique_identifier_for_each_timeseries_feature_instance_in_this_file" + }, + "LATITUDE": { + "type": "double", + "axis": "Y", + "long_name": "latitude", + "reference_datum": "WGS84 geographic coordinate system", + "standard_name": "latitude", + "units": "degrees_north", + "valid_max": 90.0, + "valid_min": -90.0 + }, + "LONGITUDE": { + "type": "double", + "axis": "X", + "long_name": "longitude", + "reference_datum": "WGS84 geographic coordinate system", + "standard_name": "longitude", + "units": "degrees_east", + "valid_max": 180.0, + "valid_min": -180.0 + }, + "NOMINAL_DEPTH": { + "type": "float", + "axis": "Z", + "long_name": "nominal depth", + "positive": "down", + "reference_datum": "sea surface", + "standard_name": "depth", + "units": "m", + "valid_max": 12000.0, + "valid_min": -5.0 + }, + "CNDC": { + "type": "float", + "ancillary_variables": "CNDC_quality_control", + "long_name": "sea_water_electrical_conductivity", + "standard_name": "sea_water_electrical_conductivity", + "units": "S m-1", + "valid_max": 50000.0, + "valid_min": 0.0 + }, + "CNDC_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_electrical_conductivity", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": " ", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_electrical_conductivity status_flag" + }, + "TEMP": { + "type": "float", + "ancillary_variables": "TEMP_quality_control", + "long_name": "sea_water_temperature", + "standard_name": "sea_water_temperature", + "units": "degrees_Celsius", + "valid_max": 40.0, + "valid_min": -2.5 + }, + "TEMP_quality_control": { + "type": "float", + "comment": "Data values at TIME from 2021/04/29 01:55:01 UTC to 2021/04/29 01:55:01 UTC manually flagged as Bad_data : Instrument instability", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_temperature", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "B", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_temperature status_flag" + }, + "PSAL": { + "type": "float", + "ancillary_variables": "PSAL_quality_control", + "long_name": "sea_water_practical_salinity", + "standard_name": "sea_water_practical_salinity", + "units": "1", + "valid_max": 41.0, + "valid_min": 2.0 + }, + "PSAL_quality_control": { + "type": "float", + "comment": "Data values at TIME from 2021/05/24 03:45:01 UTC to 2021/05/24 03:45:01 UTC manually flagged as Bad_data : spike. Data values at TIME from 2021/04/29 01:55:01 UTC to 2021/04/29 01:55:01 UTC manually flagged as Bad_data : Instrument instability", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_practical_salinity", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "B", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_practical_salinity status_flag" + }, + "PRES_REL": { + "type": "float", + "ancillary_variables": "PRES_REL_quality_control", + "applied_offset": -10.135296821594238, + "long_name": "sea_water_pressure_due_to_sea_water", + "standard_name": "sea_water_pressure_due_to_sea_water", + "units": "dbar", + "valid_max": 12000.0, + "valid_min": -15.0 + }, + "PRES_REL_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_pressure_due_to_sea_water", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "A", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_pressure_due_to_sea_water status_flag" + }, + "DEPTH": { + "type": "float", + "ancillary_variables": "DEPTH_quality_control", + "long_name": "actual depth", + "positive": "down", + "reference_datum": "sea surface", + "standard_name": "depth", + "units": "m", + "valid_max": 12000.0, + "valid_min": -5.0 + }, + "DEPTH_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for depth", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": "A", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "depth status_flag" + }, + "DENS": { + "type": "float", + "ancillary_variables": "DENS_quality_control", + "long_name": "sea_water_density", + "standard_name": "sea_water_density", + "units": "kg m-3" + }, + "DENS_quality_control": { + "type": "float", + "flag_meanings": "No_QC_performed Good_data Probably_good_data Bad_data_that_are_potentially_correctable Bad_data Value_changed Not_used Not_used Not_used Missing_value", + "flag_values": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "long_name": "quality flag for sea_water_density", + "quality_control_conventions": "IMOS standard flags", + "quality_control_global": " ", + "quality_control_global_conventions": "Argo reference table 2a (see http://www.cmar.csiro.au/argo/dmqc/user_doc/QC_flags.html), applied on data in position only (between global attributes time_deployment_start and time_deployment_end)", + "standard_name": "sea_water_density status_flag" + }, + "timestamp": { + "type": "int64" + }, + "polygon": { + "type": "string" + }, + "site_code": { + "type": "string" + }, + "filename": { + "type": "string" + } + }, + "dataset_gattrs": { + "title": "ANMN CTD timeseries" + }, + "force_old_pq_del": true, + "aws_opendata_registry": { + "Name": "ANMN CTD timeseries", + "Description": "", + "Documentation": "https://catalogue.aodn.org.au/geonetwork/srv/eng/catalog.search#/metadata/7b901002-b1dc-46c3-89f2-b4951cedca48", + "Contact": "", + "ManagedBy": "", + "UpdateFrequency": "", + "Tags": [], + "License": "", + "Resources": [ + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "", + "Explore": [] + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + } + ], + "DataAtWork": { + "Tutorials": [ + { + "Title": "", + "URL": "", + "Services": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Tools & Applications": [ + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Publications": [ + { + "Title": "IMOS - Australian National Mooring Network (ANMN) - CTD Profiles", + "URL": "https://catalogue.aodn.org.au/geonetwork/srv/eng/catalog.search#/metadata/7b901002-b1dc-46c3-89f2-b4951cedca48", + "AuthorName": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "" + } + ] + } + } +} diff --git a/test_aodn_cloud_optimised/resources/ardc_wave_nrt.json b/test_aodn_cloud_optimised/resources/ardc_wave_nrt.json index ff77ea4..ae21e4f 100644 --- a/test_aodn_cloud_optimised/resources/ardc_wave_nrt.json +++ b/test_aodn_cloud_optimised/resources/ardc_wave_nrt.json @@ -1,126 +1,291 @@ { - "dataset_name": "ardc_wave_nrt", - "logger_name": "ardc_wave_nrt", - "cloud_optimised_format": "parquet", - "metadata_uuid": "2807f3aa-4db0-4924-b64b-354ae8c10b58", - "gattrs_to_variables" : ["site_name", "water_depth", "wmo_id"], - "partition_keys": ["site_name", "timestamp", "polygon"], - "time_extent": { - "time": "TIME", - "partition_timestamp_period": "M" - }, - "spatial_extent": { - "lat": "LATITUDE", - "lon": "LONGITUDE", - "spatial_resolution": 5 - }, - "schema" : { - "timeSeries": {"type": "int32"}, - "LATITUDE": {"type": "double"}, - "LONGITUDE": {"type": "double"}, - "WHTH": {"type": "float"}, - "WPMH": {"type": "float"}, - "WMXH": {"type": "float"}, - "WPPE": {"type": "float"}, - "WPDI": {"type": "float"}, - "WPDS": {"type": "float"}, - "WAVE_quality_control": {"type": "float"}, - "water_depth": {"type": "int64"}, - "wmo_id": {"type": "string"}, - "timestamp": {"type": "int64"}, - "polygon": {"type": "string"}, - "site_name": {"type": "string"}, - "filename": {"type": "string"}, - "TIME": {"type": "timestamp[ns]"} - }, - "dataset_gattrs": { - "title": "ARDC" - }, - "force_old_pq_del": true, - "aws_opendata_registry": { - "Name": "", - "Description": "", - "Documentation": "", - "Contact": "", - "ManagedBy": "", - "UpdateFrequency": "", - "Tags": [], - "License": "", - "Resources": [ + "dataset_name": "ardc_wave_nrt", + "logger_name": "ardc_wave_nrt", + "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, + "metadata_uuid": "2807f3aa-4db0-4924-b64b-354ae8c10b58", + "gattrs_to_variables": [ + "site_name", + "water_depth", + "wmo_id" + ], + "partition_keys": [ + "site_name", + "timestamp", + "polygon" + ], + "time_extent": { + "time": "TIME", + "partition_timestamp_period": "M" + }, + "spatial_extent": { + "lat": "LATITUDE", + "lon": "LONGITUDE", + "spatial_resolution": 5 + }, + "schema": { + "timeSeries": { + "type": "int32", + "long_name": "unique identifier for each feature instance", + "cf_role": "timeseries_id" + }, + "TIME": { + "type": "timestamp[ns]", + "standard_name": "time", + "long_name": "time", + "axis": "T", + "valid_min": 0.0, + "valid_max": 90000.0 + }, + "LATITUDE": { + "type": "double", + "standard_name": "latitude", + "long_name": "latitude", + "units": "degrees_north", + "axis": "Y", + "valid_min": -90.0, + "valid_max": 90.0, + "reference_datum": "WGS84 coordinate reference system; EPSG:4326" + }, + "LONGITUDE": { + "type": "double", + "standard_name": "longitude", + "long_name": "longitude", + "units": "degrees_east", + "axis": "X", + "valid_min": -180.0, + "valid_max": 180.0, + "reference_datum": "WGS84 coordinate reference system; EPSG:4326" + }, + "WPMH": { + "type": "double", + "standard_name": "sea_surface_wave_mean_period", + "long_name": "sea surface wave mean period", + "units": "s", + "valid_min": 0.0, + "valid_max": 50.0, + "method": "Time domain analysis", + "ancillary_variable": "WAVE_quality_control" + }, + "WMXH": { + "type": "double", + "standard_name": "sea_surface_wave_maximum_height", + "long_name": "sea surface wave maximum height", + "units": "m", + "valid_min": 0.0, + "valid_max": 100.0, + "method": "Time domain analysis", + "ancillary_variable": "WAVE_quality_control" + }, + "WPPE": { + "type": "double", + "standard_name": "sea_surface_wave_period_at_variance_spectral_density_maximum", + "long_name": "spectral peak wave period", + "units": "s", + "valid_min": 0.0, + "valid_max": 50.0, + "method": "Spectral analysis method", + "ancillary_variable": "WAVE_quality_control" + }, + "WPDI": { + "type": "double", + "standard_name": "sea_surface_wave_from_direction_at_variance_spectral_density_maximum", + "long_name": "direction of the dominant wave", + "units": "degree", + "reference_datum": "true north", + "valid_min": 0.0, + "valid_max": 360.0, + "method": "Spectral analysis method", + "ancillary_variable": "WAVE_quality_control" + }, + "WPDS": { + "type": "double", + "standard_name": "sea_surface_wave_directional_spread_at_variance_spectral_density_maximum", + "long_name": "directional spread of the dominant wave", + "units": "degree", + "reference_datum": "true north", + "valid_min": 0.0, + "valid_max": 360.0, + "method": "Spectral analysis method", + "ancillary_variable": "WAVE_quality_control" + }, + "WAVE_quality_control": { + "type": "float", + "long_name": "primary Quality Control flag for wave variables", + "valid_min": 1, + "valid_max": 9, + "flag_values": [ + 1, + 2, + 3, + 4, + 9 + ], + "flag_meanings": "good not_evaluated questionable bad missing", + "quality_control_convention": "Ocean Data Standards, UNESCO 2013 - IOC Manuals and Guides, 54, Volume 3 Version 1" + }, + "WSSH": { + "type": "double", + "ancillary_variable": "WAVE_quality_control", + "long_name": "sea surface wave spectral significant height", + "method": "Spectral analysis method", + "standard_name": "sea_surface_wave_significant_height", + "units": "m", + "valid_max": 100.0, + "valid_min": 0.0 + }, + "WPFM": { + "type": "double", + "ancillary_variable": "WAVE_quality_control", + "long_name": "sea surface wave spectral mean period", + "method": "Spectral analysis method", + "standard_name": "sea_surface_wave_mean_period_from_variance_spectral_density_first_frequency_moment", + "units": "s", + "valid_max": 50.0, + "valid_min": 0.0 + }, + "WMDS": { + "type": "double", + "ancillary_variable": "WAVE_quality_control", + "long_name": "spectral sea surface wave mean directional spread", + "method": "Spectral analysis method", + "positive": "clockwise", + "standard_name": "sea_surface_wave_directional_spread", + "units": "Degrees", + "valid_max": 360.0, + "valid_min": 0.0 + }, + "SSWMD": { + "type": "double", + "ancillary_variable": "WAVE_quality_control", + "comment": "Direction (related to the magnetic north) from which the mean period waves are coming from", + "compass_correction_applied": 13, + "long_name": "spectral sea surface wave mean direction", + "magnetic_declination": 12.86, + "method": "Spectral analysis method", + "positive": "clockwise", + "reference_datum": "true north", + "standard_name": "sea_surface_wave_from_direction", + "units": "Degrees", + "valid_max": 360.0, + "valid_min": 0.0 + }, + "water_depth": { + "type": "int64" + }, + "wmo_id": { + "type": "string" + }, + "timestamp": { + "type": "int64" + }, + "polygon": { + "type": "string" + }, + "site_name": { + "type": "string" + }, + "filename": { + "type": "string" + } + }, + "dataset_gattrs": { + "title": "ARDC" + }, + "force_old_pq_del": true, + "aws_opendata_registry": { + "Name": "", + "Description": "", + "Documentation": "", + "Contact": "", + "ManagedBy": "", + "UpdateFrequency": "", + "Tags": [], + "License": "", + "Resources": [ + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "", + "Explore": [] + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + }, + { + "Description": "", + "ARN": "", + "Region": "", + "Type": "" + } + ], + "DataAtWork": { + "Tutorials": [ { - "Description": "", - "ARN": "", - "Region": "", - "Type": "", - "Explore": [] + "Title": "", + "URL": "", + "Services": "", + "AuthorName": "", + "AuthorURL": "" }, { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" }, { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" + } + ], + "Tools & Applications": [ + { + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" }, { - "Description": "", - "ARN": "", - "Region": "", - "Type": "" + "Title": "", + "URL": "", + "AuthorName": "", + "AuthorURL": "" } ], - "DataAtWork": { - "Tutorials": [ - { - "Title": "", - "URL": "", - "Services": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Tools & Applications": [ - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "", - "AuthorURL": "" - } - ], - "Publications": [ - { - "Title": "", - "URL": "", - "AuthorName": "" - }, - { - "Title": "", - "URL": "", - "AuthorName": "" - } - ] - } + "Publications": [ + { + "Title": "", + "URL": "", + "AuthorName": "" + }, + { + "Title": "", + "URL": "", + "AuthorName": "" + } + ] } + } } diff --git a/test_aodn_cloud_optimised/resources/argo_core.json b/test_aodn_cloud_optimised/resources/argo_core.json index db6f54f..f03acaf 100644 --- a/test_aodn_cloud_optimised/resources/argo_core.json +++ b/test_aodn_cloud_optimised/resources/argo_core.json @@ -2,6 +2,16 @@ "dataset_name": "argo_core", "logger_name": "argo_core", "cloud_optimised_format": "parquet", + "cluster_options" : { + "n_workers": [8, 20], + "scheduler_vm_types": "t3.small", + "worker_vm_types": "t3.large", + "allow_ingress_from": "me", + "compute_purchase_option": "spot_with_fallback", + "worker_options": { + "nthreads": 8, + "memory_limit": "32GB" } + }, "metadata_uuid": "4402cb50-e20a-44ee-93e6-4728259250d2", "gattrs_to_variables": [], "partition_keys": [ @@ -282,6 +292,17 @@ "long_name": "quality flag", "conventions": "Argo reference table 2" }, + "PSAL_ADJUSTED": { + "type": "float", + "long_name": "Practical salinity", + "standard_name": "sea_water_salinity", + "units": "psu", + "valid_min": 2.0, + "valid_max": 41.0, + "C_format": "%9.3f", + "FORTRAN_format": "F9.3", + "resolution": 0.0010000000474974513 + }, "PSAL_ADJUSTED_QC": { "type": "string", "long_name": "quality flag", diff --git a/test_aodn_cloud_optimised/resources/common.json b/test_aodn_cloud_optimised/resources/common.json index 1ffcbd8..79ad4cb 100644 --- a/test_aodn_cloud_optimised/resources/common.json +++ b/test_aodn_cloud_optimised/resources/common.json @@ -1,5 +1,5 @@ { "BUCKET_RAW_DEFAULT": "imos-data", "BUCKET_OPTIMISED_DEFAULT": "imos-data-lab-optimised", - "ROOT_PREFIX_CLOUD_OPTIMISED_PATH": "parquet/loz_test" + "ROOT_PREFIX_CLOUD_OPTIMISED_PATH": "testing" } diff --git a/test_aodn_cloud_optimised/test_ardcwave.py b/test_aodn_cloud_optimised/test_ardcwave.py deleted file mode 100644 index dd72930..0000000 --- a/test_aodn_cloud_optimised/test_ardcwave.py +++ /dev/null @@ -1,168 +0,0 @@ -import os -import shutil -import tempfile -import unittest -from unittest.mock import patch, MagicMock - -import pyarrow as pa -import pandas as pd -from numpy.testing import assert_array_equal - -from aodn_cloud_optimised.lib.GenericParquetHandler import GenericHandler -from aodn_cloud_optimised.lib.config import load_dataset_config - -ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) - -# Specify the filename relative to the current directory -TEST_FILE_NC = os.path.join( - ROOT_DIR, "resources", "BOM_20240301_CAPE-SORELL_RT_WAVE-PARAMETERS_monthly.nc" -) - -CONFIG_JSON = os.path.join(ROOT_DIR, "resources", "ardc_wave_nrt.json") - - -class TestGenericHandler(unittest.TestCase): - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def setUp(self, mock_get_s3_raw_obj): - # Create a temporary directory - self.tmp_dir = tempfile.mkdtemp() - - # Copy the test NetCDF file to the temporary directory - self.tmp_nc_path = os.path.join(self.tmp_dir, os.path.basename(TEST_FILE_NC)) - shutil.copy(TEST_FILE_NC, self.tmp_nc_path) - - dataset_config = load_dataset_config(CONFIG_JSON) - - dataset_config_no_schema = { - "dataset_name": "dummy_table_name", - "cloud_optimised_format": "parquet", - "gattrs_to_variables": ["site_name", "water_depth", "wmo_id"], - "partition_keys": ["site_name", "timestamp"], - "time_extent": {"time": "TIME", "partition_timestamp_period": "M"}, - "spatial_extent": { - "lat": "LATITUDE", - "lon": "LONGITUDE", - "spatial_resolution": 5, - }, - "schema": {}, - "dataset_gattrs": {"title": "ARDC glider"}, - "metadata_uuid": "b12b3-123bb-iijww", - "force_old_pq_del": False, - } - - self.handler = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config_no_schema, - force_old_pq_del=False, - ) - - self.handler_with_schema = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config, - ) - - # modify the path of the parquet dataset output - self.handler.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - self.handler_with_schema.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - - # Create a mock object for xr.open_dataset - self.mock_open_dataset = MagicMock() - - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_get_s3_raw_obj(self, mock_get_s3_raw_obj): - with patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client"): - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - tmp_filepath = self.handler.get_s3_raw_obj() - self.assertEqual(tmp_filepath, self.tmp_nc_path) - - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_data_to_df_ds(self, mock_get_s3_raw_obj): - # Configure the mock object to return the path of the copied NetCDF file - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - - # Call the preprocess_data method - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Assert that ds.site_code is equal to the expected value - assert_array_equal(ds.site_name, "Cape Sorell") - - def test_add_columns_df_and_bad_timestamps(self): - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Call the method to add columns to the DataFrame - result_df = self.handler._add_timestamp_df(df) - result_df = self.handler._add_columns_df(result_df, ds) - - # now we call the next function to remove the bad timestamp values ( which does also a reindexing) - result_df = self.handler._rm_bad_timestamp_df(result_df) - self.assertEqual(result_df["timestamp"][0], 1709251200.0) - - def test_create_data_parquet_with_mocked_parameters_and_with_schema(self): - # Mock the return value of self.get_partition_parameters_data() - # with patch.object(self.handler, 'get_partition_parameters_data', return_value=["site_name"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler_with_schema.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - self.handler_with_schema.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler_with_schema.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - self.assertNotIn( - "DUMMY_VAR_NOT_IN", parquet_dataset.columns - ) # make sure the variable is removed - self.assertIn("WHTH", parquet_dataset.columns) - - self.assertEqual(parquet_dataset["timestamp"][0], 1709251200.0) - self.assertEqual( - parquet_dataset["TIME"][0], pd.Timestamp("2024-03-01 01:30:00") - ) - - # Testing the metadata sidecar file - # Reading the metadata file of the dataset (at the root) - parquet_meta_file_path = os.path.join( - self.handler_with_schema.cloud_optimised_output_path, "_common_metadata" - ) - parquet_meta = pa.parquet.read_schema(parquet_meta_file_path) - import json - - # horrible ... but got to be done. The dictionary of metadata has to be a dictionnary with byte keys and byte values. - # meaning that we can't have nested dictionaries ... - decoded_meta = { - key.decode("utf-8"): json.loads(value.decode("utf-8").replace("'", '"')) - for key, value in parquet_meta.metadata.items() - } - - self.assertEqual( - decoded_meta["dataset_metadata"]["metadata_uuid"], - "2807f3aa-4db0-4924-b64b-354ae8c10b58", - ) - self.assertEqual(decoded_meta["dataset_metadata"]["title"], "ARDC") - - def tearDown(self): - # Remove the temporary directory and its contents - shutil.rmtree(self.tmp_dir) - - -if __name__ == "__main__": - unittest.main() diff --git a/test_aodn_cloud_optimised/test_argohandler.py b/test_aodn_cloud_optimised/test_argohandler.py deleted file mode 100644 index e783491..0000000 --- a/test_aodn_cloud_optimised/test_argohandler.py +++ /dev/null @@ -1,184 +0,0 @@ -import os -import shutil -import tempfile -import unittest -from unittest.mock import patch, MagicMock - -import numpy as np -import pandas as pd -from numpy.testing import assert_array_equal - -from aodn_cloud_optimised.lib.ArgoHandler import ArgoHandler -from aodn_cloud_optimised.lib.config import load_dataset_config - -ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) - -# Specify the filename relative to the current directory -TEST_FILE_NC = os.path.join(ROOT_DIR, "resources", "2902093_prof.nc") -TEST_FILE_BAD_GEOM_NC = os.path.join(ROOT_DIR, "resources", "5905017_prof.nc") - -CONFIG_JSON = os.path.join(ROOT_DIR, "resources", "argo_core.json") - - -class TestGenericHandler(unittest.TestCase): - @patch("aodn_cloud_optimised.lib.ArgoHandler.ArgoHandler.get_s3_raw_obj") - def setUp(self, mock_get_s3_raw_obj): - # Create a temporary directory - self.tmp_dir = tempfile.mkdtemp() - - # Copy the test NetCDF file to the temporary directory - self.tmp_nc_path = os.path.join(self.tmp_dir, os.path.basename(TEST_FILE_NC)) - shutil.copy(TEST_FILE_NC, self.tmp_nc_path) - - self.tmp_nc_bad_geom_path = os.path.join( - self.tmp_dir, os.path.basename(TEST_FILE_BAD_GEOM_NC) - ) - shutil.copy(TEST_FILE_BAD_GEOM_NC, self.tmp_nc_bad_geom_path) - - dataset_config = load_dataset_config(CONFIG_JSON) - - self.handler = ArgoHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config, - ) - - self.handler_bad_geom = ArgoHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_bad_geom_path), - dataset_config=dataset_config, - ) - # modify the path of the parquet dataset output - self.handler.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_table_name" - ) - self.handler_bad_geom.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_table_name" - ) - - # Create a mock object for xr.open_dataset - self.mock_open_dataset = MagicMock() - - # test method inherited from super - @patch("aodn_cloud_optimised.lib.ArgoHandler.ArgoHandler.get_s3_raw_obj") - def test_get_s3_raw_obj(self, mock_get_s3_raw_obj): - with patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client"): - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - tmp_filepath = self.handler.get_s3_raw_obj() - self.assertEqual(tmp_filepath, self.tmp_nc_path) - - @patch("aodn_cloud_optimised.lib.ArgoHandler.ArgoHandler.get_s3_raw_obj") - def test_data_to_df_ds(self, mock_get_s3_raw_obj): - # Configure the mock object to return the path of the copied NetCDF file - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - - # Call the preprocess_data method - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Assert that ds.site_code is equal to the expected value - assert_array_equal(np.unique(ds.PLATFORM_NUMBER.values), np.array([2902093])) - - def test_add_columns_df_and_bad_timestamps(self): - # with patch.object(self.handler_no_schema, 'get_partition_parameters_data', return_value=["site_code"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Call the method to add columns to the DataFrame - result_df = self.handler._add_timestamp_df(df) - result_df = self.handler._add_columns_df(result_df, ds) - - # Check if the column are added with the correct values - self.assertEqual(result_df["filename"][0], os.path.basename(self.tmp_nc_path)) - self.assertEqual( - result_df["timestamp"][0], -9223372036.854776 - ) # This is a NAN value but all good! - - # now we call the next function to remove the bad timestamp values ( which does also a reindexing) - result_df = self.handler._rm_bad_timestamp_df(result_df) - self.assertEqual(result_df["timestamp"][0], 1356998400.0) - - @patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client") - def test_create_data_parquet(self, mock_boto3_client): - # Set up mock return values and inputs - mock_s3_client = mock_boto3_client.return_value - # Mock the return value of s3.download_file to simulate file download - mock_s3_client.download_file.return_value = self.tmp_nc_path - - # Call the get_s3_raw_obj method (which should now use the mocked behavior) - self.handler.get_s3_raw_obj() - - self.handler.tmp_input_file = self.tmp_nc_path # overwrite value in handler - - # Mock the return value of self.get_partition_parameters_data() - # with patch.object(self.handler_no_schema, 'get_partition_parameters_data', return_value=["PLATFORM_NUMBER"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - self.handler.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - self.assertEqual(parquet_dataset["timestamp"][0], 1356998400.0) - self.assertEqual( - parquet_dataset["JULD"][0], pd.Timestamp("2013-02-26 03:15:00") - ) - - # Assert the expected values in the Parquet dataset - self.assertNotIn( - "PSAL_ADJUSTED", parquet_dataset.columns - ) # make sure the variable is removed - self.assertIn("TEMP_ADJUSTED", parquet_dataset.columns) - - @patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client") - def test_create_data_parquet_bad_geom(self, mock_boto3_client): - # Set up mock return values and inputs - mock_s3_client = mock_boto3_client.return_value - # Mock the return value of s3.download_file to simulate file download - mock_s3_client.download_file.return_value = self.tmp_nc_bad_geom_path - - # Call the get_s3_raw_obj method (which should now use the mocked behavior) - self.handler_bad_geom.get_s3_raw_obj() - - self.handler_bad_geom.tmp_input_file = ( - self.tmp_nc_bad_geom_path - ) # overwrite value in handler - - # Mock the return value of self.get_partition_parameters_data() - # with patch.object(self.handler_no_schema, 'get_partition_parameters_data', return_value=["PLATFORM_NUMBER"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler_bad_geom.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - self.handler_bad_geom.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler_bad_geom.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - self.assertEqual(parquet_dataset["timestamp"][0], 1356998400.0) - self.assertEqual( - parquet_dataset["JULD"][0], pd.Timestamp("2013-02-26 03:15:00") - ) - - # Assert the expected values in the Parquet dataset - self.assertNotIn( - "PSAL_ADJUSTED", parquet_dataset.columns - ) # make sure the variable is removed - self.assertIn("TEMP_ADJUSTED", parquet_dataset.columns) - - def tearDown(self): - # Remove the temporary directory and its contents - shutil.rmtree(self.tmp_dir) - - -if __name__ == "__main__": - unittest.main() diff --git a/test_aodn_cloud_optimised/test_config.py b/test_aodn_cloud_optimised/test_config.py index 8ad53e4..b67d9b3 100644 --- a/test_aodn_cloud_optimised/test_config.py +++ b/test_aodn_cloud_optimised/test_config.py @@ -7,6 +7,13 @@ from aodn_cloud_optimised.lib.config import ( load_variable_from_file, load_variable_from_config, + load_dataset_config, +) + +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + +DATASET_CONFIG_NC_ACORN_JSON = os.path.join( + ROOT_DIR, "resources", "acorn_gridded_qc_turq.json" ) @@ -52,6 +59,13 @@ def test_load_variable_from_file_file_not_found(self): os.path.join(self.temp_dir, "non_existent_file.json"), "var1" ) + def test_load_parent_child_config(self): + dataset_acorn_netcdf_config = load_dataset_config(DATASET_CONFIG_NC_ACORN_JSON) + cloud_optimised_format = dataset_acorn_netcdf_config["cloud_optimised_format"] + self.assertEqual( + "zarr", cloud_optimised_format + ) # attribute only found in parent record + if __name__ == "__main__": unittest.main() diff --git a/test_aodn_cloud_optimised/test_generic_parquet_handler.py b/test_aodn_cloud_optimised/test_generic_parquet_handler.py new file mode 100644 index 0000000..8f67795 --- /dev/null +++ b/test_aodn_cloud_optimised/test_generic_parquet_handler.py @@ -0,0 +1,344 @@ +import json +import os +import unittest + +import boto3 +import pandas as pd +import pyarrow as pa +import s3fs +from moto import mock_aws +from moto.moto_server.threaded_moto_server import ThreadedMotoServer +from shapely import wkb +from shapely.geometry import Polygon + +from aodn_cloud_optimised.lib.GenericParquetHandler import GenericHandler +from aodn_cloud_optimised.lib.config import load_dataset_config +from aodn_cloud_optimised.lib.s3Tools import s3_ls +from unittest.mock import patch + +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Specify the filename relative to the current directory +TEST_FILE_NC_ANMN = os.path.join( + ROOT_DIR, + "resources", + "IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc", +) + +TEST_FILE_NC_ARDC = os.path.join( + ROOT_DIR, "resources", "BOM_20240301_CAPE-SORELL_RT_WAVE-PARAMETERS_monthly.nc" +) + +DUMMY_FILE = os.path.join(ROOT_DIR, "resources", "DUMMY.nan") +DUMMY_NC_FILE = os.path.join(ROOT_DIR, "resources", "DUMMY.nc") +TEST_CSV_FILE = os.path.join( + ROOT_DIR, "resources", "A69-1105-135_107799906_130722039.csv" +) +DATASET_CONFIG_CSV_AATAMS_JSON = os.path.join( + ROOT_DIR, "resources", "aatams_acoustic_tagging.json" +) + +DATASET_CONFIG_NC_ANMN_JSON = os.path.join( + ROOT_DIR, "resources", "anmn_ctd_ts_fv01.json" +) + +DATASET_CONFIG_NC_ARDC_JSON = os.path.join(ROOT_DIR, "resources", "ardc_wave_nrt.json") + + +@mock_aws +class TestGenericHandler(unittest.TestCase): + def setUp(self): + + # Create a mock S3 service + self.BUCKET_OPTIMISED_NAME = "imos-data-lab-optimised" + self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH = "testing" + self.s3 = boto3.client("s3", region_name="us-east-1") + self.s3.create_bucket(Bucket="imos-data") + self.s3.create_bucket(Bucket=self.BUCKET_OPTIMISED_NAME) + + # create moto server; needed for s3fs and parquet + self.server = ThreadedMotoServer(ip_address="127.0.0.1", port=5555) + + self.s3_fs = s3fs.S3FileSystem( + anon=False, + client_kwargs={ + "endpoint_url": "http://127.0.0.1:5555/", + "region_name": "us-east-1", + }, + ) + + self.server.start() + + # Make the "imos-data" bucket public + public_policy_imos_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": "arn:aws:s3:::imos-data/*", + } + ], + } + + public_policy_cloud_optimised_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": f"arn:aws:s3:::{self.BUCKET_OPTIMISED_NAME}/*", + } + ], + } + + self.s3.put_bucket_policy( + Bucket="imos-data", Policy=json.dumps(public_policy_imos_data) + ) + + self.s3.put_bucket_policy( + Bucket=self.BUCKET_OPTIMISED_NAME, + Policy=json.dumps(public_policy_cloud_optimised_data), + ) + + # Copy files to the mock S3 bucket + self.s3.put_object( + Bucket=self.BUCKET_OPTIMISED_NAME, Key="testing", Body="" + ) # empty file + self._upload_to_s3( + "imos-data", + f"good_nc_anmn/{os.path.basename(TEST_FILE_NC_ANMN)}", + TEST_FILE_NC_ANMN, + ) + self._upload_to_s3( + "imos-data", f"dummy/{os.path.basename(DUMMY_FILE)}", DUMMY_FILE + ) + self._upload_to_s3( + "imos-data", f"dummy_nc/{os.path.basename(DUMMY_NC_FILE)}", DUMMY_NC_FILE + ) + self._upload_to_s3( + "imos-data", f"good_csv/{os.path.basename(TEST_CSV_FILE)}", TEST_CSV_FILE + ) + self._upload_to_s3( + "imos-data", + f"good_nc_ardc/{os.path.basename(TEST_FILE_NC_ARDC)}", + TEST_FILE_NC_ARDC, + ) + + dataset_anmn_netcdf_config = load_dataset_config(DATASET_CONFIG_NC_ANMN_JSON) + self.handler_nc_anmn_file = GenericHandler( + optimised_bucket_name=self.BUCKET_OPTIMISED_NAME, + root_prefix_cloud_optimised_path=self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH, + dataset_config=dataset_anmn_netcdf_config, + clear_existing_data=True, + force_previous_parquet_deletion=True, + cluster_mode="local", + ) + + dataset_ardc_netcdf_config = load_dataset_config(DATASET_CONFIG_NC_ARDC_JSON) + self.handler_nc_ardc_file = GenericHandler( + optimised_bucket_name=self.BUCKET_OPTIMISED_NAME, + root_prefix_cloud_optimised_path=self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH, + dataset_config=dataset_ardc_netcdf_config, + clear_existing_data=True, + force_previous_parquet_deletion=True, + cluster_mode="local", + ) + + dataset_aatams_csv_config = load_dataset_config(DATASET_CONFIG_CSV_AATAMS_JSON) + self.handler_csv_file = GenericHandler( + optimised_bucket_name=self.BUCKET_OPTIMISED_NAME, + root_prefix_cloud_optimised_path=self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH, + dataset_config=dataset_aatams_csv_config, + clear_existing_data=True, + cluster_mode="local", + ) + + def _upload_to_s3(self, bucket_name, key, file_path): + with open(file_path, "rb") as f: + self.s3.upload_fileobj(f, bucket_name, key) + + def tearDown(self): + self.server.stop() + + def test_parquet_nc_anmn_handler(self): + nc_obj_ls = s3_ls("imos-data", "good_nc_anmn") + + # 1st pass + with patch.object(self.handler_nc_anmn_file, "s3_fs", new=self.s3_fs): + self.handler_nc_anmn_file.to_cloud_optimised([nc_obj_ls[0]]) + + # 2nd pass, process the same file a second time. Should be deleted + # TODO: Not a big big deal breaker, but got an issue which should be fixed in the try except only for the unittest + # 2024-07-01 16:04:54,721 - INFO - GenericParquetHandler.py:824 - delete_existing_matching_parquet - No files to delete: GetFileInfo() yielded path 'imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/site_code=SYD140/timestamp=1625097600/polygon=01030000000100000005000000000000000020624000000000008041C0000000000060634000000000008041C0000000000060634000000000000039C0000000000020624000000000000039C0000000000020624000000000008041C0/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc-0.parquet', which is outside base dir 's3://imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/' + with patch.object(self.handler_nc_anmn_file, "s3_fs", new=self.s3_fs): + self.handler_nc_anmn_file.to_cloud_optimised_single(nc_obj_ls[0]) + + # read parquet + dataset_config = load_dataset_config(DATASET_CONFIG_NC_ANMN_JSON) + dataset_name = dataset_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.parquet/" + + parquet_dataset = pd.read_parquet( + dname, + engine="pyarrow", + storage_options={ + "client_kwargs": {"endpoint_url": "http://127.0.0.1:5555"} + }, + ) + + self.assertNotIn("station_name", parquet_dataset.columns) + self.assertAlmostEqual(parquet_dataset["TEMP"][0], 13.2773, delta=1e-2) + + # Check if the column are added with the correct values + self.assertIn("site_code", parquet_dataset.columns) + self.assertEqual(parquet_dataset["site_code"].iloc[0], "SYD140") + + self.assertEqual( + parquet_dataset["filename"].iloc[0], os.path.basename(nc_obj_ls[0]) + ) + self.assertEqual(parquet_dataset["timestamp"].iloc[0], 1617235200.0) + + # The following section shows how the created polygon variable can be used to perform data queries. this adds significant overload, but is worth it + parquet_dataset["converted_polygon"] = parquet_dataset["polygon"].apply( + lambda x: wkb.loads(bytes.fromhex(x)) + ) + + # Define the predefined polygon + predefined_polygon_coords_out = [(150, -40), (155, -40), (155, -45), (150, -45)] + predefined_polygon_coords_in = [(150, -32), (155, -32), (155, -45), (150, -45)] + + predefined_polygon_out = Polygon(predefined_polygon_coords_out) + predefined_polygon_in = Polygon(predefined_polygon_coords_in) + + df_unique_polygon = parquet_dataset["converted_polygon"].unique()[0] + self.assertFalse(df_unique_polygon.intersects(predefined_polygon_out)) + self.assertTrue(df_unique_polygon.intersects(predefined_polygon_in)) + + # Testing the metadata sidecar file + # Reading the metadata file of the dataset (at the root) + parquet_meta_file_path = os.path.join( + self.handler_nc_anmn_file.cloud_optimised_output_path, "_common_metadata" + ) + parquet_meta = pa.parquet.read_schema( + parquet_meta_file_path, filesystem=self.s3_fs + ) + + # horrible ... but got to be done. The dictionary of metadata has to be a dictionnary with byte keys and byte values. + # meaning that we can't have nested dictionaries ... + decoded_meta = { + key.decode("utf-8"): json.loads(value.decode("utf-8").replace("'", '"')) + for key, value in parquet_meta.metadata.items() + } + + self.assertEqual(decoded_meta["LONGITUDE"]["axis"], "X") + self.assertEqual(decoded_meta["NOMINAL_DEPTH"]["standard_name"], "depth") + + # alternative way to access the metadata + # Create a dictionary where keys are the names and values are the elements + schema_dict = {obj.name: obj for obj in parquet_meta} + self.assertEqual( + schema_dict["TEMP"].metadata.get(b"standard_name"), b"sea_water_temperature" + ) + # other way to access the metadata + schema_dict = {obj.name: obj.metadata for obj in parquet_meta} + self.assertEqual( + schema_dict["TEMP"][b"standard_name"], b"sea_water_temperature" + ) + + def test_parquet_nc_generic_handler(self): + nc_obj_ls = s3_ls("imos-data", "good_nc_ardc") + + # 1st pass + with patch.object(self.handler_nc_ardc_file, "s3_fs", new=self.s3_fs): + self.handler_nc_ardc_file.to_cloud_optimised([nc_obj_ls[0]]) + + # 2nd pass, process the same file a second time. Should be deleted + # TODO: Not a big big deal breaker, but got an issue which should be fixed in the try except only for the unittest + # 2024-07-01 16:04:54,721 - INFO - GenericParquetHandler.py:824 - delete_existing_matching_parquet - No files to delete: GetFileInfo() yielded path 'imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/site_code=SYD140/timestamp=1625097600/polygon=01030000000100000005000000000000000020624000000000008041C0000000000060634000000000008041C0000000000060634000000000000039C0000000000020624000000000000039C0000000000020624000000000008041C0/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc-0.parquet', which is outside base dir 's3://imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/' + with patch.object(self.handler_nc_ardc_file, "s3_fs", new=self.s3_fs): + self.handler_nc_ardc_file.to_cloud_optimised_single(nc_obj_ls[0]) + + # read parquet + dataset_config = load_dataset_config(DATASET_CONFIG_NC_ARDC_JSON) + dataset_name = dataset_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.parquet/" + + parquet_dataset = pd.read_parquet( + dname, + engine="pyarrow", + storage_options={ + "client_kwargs": {"endpoint_url": "http://127.0.0.1:5555"} + }, + ) + + self.assertEqual(parquet_dataset["timestamp"][0], 1709251200.0) + + self.assertNotIn( + "DUMMY_VAR_NOT_IN", parquet_dataset.columns + ) # make sure the variable is removed + self.assertNotIn( + "WHTH", parquet_dataset.columns + ) # removed on purpose to trigger "missing variable from provided pyarrow_schema config, please add to dataset config" + self.assertIn("WPMH", parquet_dataset.columns) + + self.assertEqual(parquet_dataset["timestamp"][0], 1709251200.0) + self.assertEqual( + parquet_dataset["TIME"][0], pd.Timestamp("2024-03-01 01:30:00") + ) + + parquet_meta_file_path = os.path.join( + self.handler_nc_ardc_file.cloud_optimised_output_path, "_common_metadata" + ) + parquet_meta = pa.parquet.read_schema( + parquet_meta_file_path, filesystem=self.s3_fs + ) + + # horrible ... but got to be done. The dictionary of metadata has to be a dictionnary with byte keys and byte values. + # meaning that we can't have nested dictionaries ... + decoded_meta = { + key.decode("utf-8"): json.loads(value.decode("utf-8").replace("'", '"')) + for key, value in parquet_meta.metadata.items() + } + + self.assertEqual( + decoded_meta["dataset_metadata"]["metadata_uuid"], + "2807f3aa-4db0-4924-b64b-354ae8c10b58", + ) + self.assertEqual(decoded_meta["dataset_metadata"]["title"], "ARDC") + + def test_parquet_csv_generic_handler(self): # , MockS3FileSystem): + csv_obj_ls = s3_ls("imos-data", "good_csv", suffix=".csv") + # with patch('s3fs.S3FileSystem', lambda anon, client_kwargs: s3fs.S3FileSystem(anon=False, client_kwargs={"endpoint_url": "http://127.0.0.1:5555/"})): + # MockS3FileSystem.return_value = s3fs.S3FileSystem(anon=False, client_kwargs={"endpoint_url": "http://127.0.0.1:5555"}) + + # with mock_aws(aws_credentials): + # 1st pass, could have some errors distributed.worker - ERROR - Failed to communicate with scheduler during heartbeat. + # Solution is the rerun the unittest + with patch.object(self.handler_csv_file, "s3_fs", new=self.s3_fs): + self.handler_csv_file.to_cloud_optimised([csv_obj_ls[0]]) + + # 2nd pass + with patch.object(self.handler_csv_file, "s3_fs", new=self.s3_fs): + self.handler_csv_file.to_cloud_optimised_single(csv_obj_ls[0]) + + # Read parquet dataset and check data is good! + dataset_config = load_dataset_config(DATASET_CONFIG_CSV_AATAMS_JSON) + dataset_name = dataset_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.parquet/" + + parquet_dataset = pd.read_parquet( + dname, + engine="pyarrow", + storage_options={ + "client_kwargs": {"endpoint_url": "http://127.0.0.1:5555"} + }, + ) + + self.assertIn("station_name", parquet_dataset.columns) + + +if __name__ == "__main__": + unittest.main() diff --git a/test_aodn_cloud_optimised/test_generic_zarr_handler.py b/test_aodn_cloud_optimised/test_generic_zarr_handler.py new file mode 100644 index 0000000..46f75d6 --- /dev/null +++ b/test_aodn_cloud_optimised/test_generic_zarr_handler.py @@ -0,0 +1,180 @@ +import json +import os +import unittest +from unittest.mock import patch + +import boto3 +import numpy as np +import pytest +import s3fs +import xarray as xr +from moto import mock_aws +from moto.moto_server.threaded_moto_server import ThreadedMotoServer + +from aodn_cloud_optimised.lib.GenericZarrHandler import GenericHandler +from aodn_cloud_optimised.lib.config import load_dataset_config +from aodn_cloud_optimised.lib.s3Tools import s3_ls + +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Specify the filename relative to the current directory +filenames = [ + "IMOS_ACORN_V_20240101T000000Z_TURQ_FV01_1-hour-avg.nc", + "IMOS_ACORN_V_20240101T010000Z_TURQ_FV01_1-hour-avg.nc", + "IMOS_ACORN_V_20240101T020000Z_TURQ_FV01_1-hour-avg.nc", + "IMOS_ACORN_V_20240101T030000Z_TURQ_FV01_1-hour-avg.nc", +] + +TEST_FILE_NC_ACORN = [ + os.path.join(ROOT_DIR, "resources", file_name) for file_name in filenames +] + +DATASET_CONFIG_NC_ACORN_JSON = os.path.join( + ROOT_DIR, "resources", "acorn_gridded_qc_turq.json" +) + + +@pytest.fixture(scope="function") +def mock_aws_server(): + with mock_aws(): + yield + + +@mock_aws +class TestGenericZarrHandler(unittest.TestCase): + def setUp(self): + # TODO: remove this abomination for unittesting. but it works. Only for zarr ! + os.environ["RUNNING_UNDER_UNITTEST"] = "true" + + # Create a mock S3 service + self.BUCKET_OPTIMISED_NAME = "imos-data-lab-optimised" + self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH = "testing" + self.s3 = boto3.client("s3", region_name="us-east-1") + self.s3.create_bucket(Bucket="imos-data") + self.s3.create_bucket(Bucket=self.BUCKET_OPTIMISED_NAME) + + # create moto server; needed for s3fs and parquet + self.server = ThreadedMotoServer(ip_address="127.0.0.1", port=5555) + + self.s3_fs = s3fs.S3FileSystem( + anon=False, + client_kwargs={ + "endpoint_url": "http://127.0.0.1:5555/", + "region_name": "us-east-1", + }, + ) + + self.server.start() + + # Make the "imos-data" bucket public + public_policy_imos_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": "arn:aws:s3:::imos-data/*", + } + ], + } + + public_policy_cloud_optimised_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": f"arn:aws:s3:::{self.BUCKET_OPTIMISED_NAME}/*", + } + ], + } + + self.s3.put_bucket_policy( + Bucket="imos-data", Policy=json.dumps(public_policy_imos_data) + ) + + self.s3.put_bucket_policy( + Bucket=self.BUCKET_OPTIMISED_NAME, + Policy=json.dumps(public_policy_cloud_optimised_data), + ) + + # Copy files to the mock S3 bucket + + for test_file in TEST_FILE_NC_ACORN: + self._upload_to_s3( + "imos-data", f"acorn/{os.path.basename(test_file)}", test_file + ) + + dataset_acorn_netcdf_config = load_dataset_config(DATASET_CONFIG_NC_ACORN_JSON) + self.handler_nc_acorn_file = GenericHandler( + optimised_bucket_name=self.BUCKET_OPTIMISED_NAME, + root_prefix_cloud_optimised_path=self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH, + dataset_config=dataset_acorn_netcdf_config, + # clear_existing_data=True, + cluster_mode="local", + ) + + def _upload_to_s3(self, bucket_name, key, file_path): + with open(file_path, "rb") as f: + self.s3.upload_fileobj(f, bucket_name, key) + + def tearDown(self): + self.server.stop() + del os.environ["RUNNING_UNDER_UNITTEST"] + + # TODO: find a solution to patch s3fs properly and not relying on changing the s3fs values in the code + def test_zarr_nc_acorn_handler(self): + nc_obj_ls = s3_ls("imos-data", "acorn") + + # 1st pass + # 2024-07-02 11:16:16,538 - INFO - GenericZarrHandler.py:381 - publish_cloud_optimised_fileset_batch - Writing data to new Zarr dataset + # 2024-07-02 11:16:19,366 - INFO - GenericZarrHandler.py:391 - publish_cloud_optimised_fileset_batch - Batch 1 processed and written to + + with patch.object(self.handler_nc_acorn_file, "s3_fs", new=self.s3_fs): + self.handler_nc_acorn_file.to_cloud_optimised(nc_obj_ls) + + # 2nd pass, process the same file a second time. Should be overwritten in ONE region slice + # 2024-07-02 11:16:21,649 - INFO - GenericZarrHandler.py:303 - publish_cloud_optimised_fileset_batch - Duplicate values of TIME + # 2024-07-02 11:16:21,650 - INFO - GenericZarrHandler.py:353 - publish_cloud_optimised_fileset_batch - Overwriting Zarr dataset in Region: {'TIME': slice(0, 4, None)}, Matching Indexes in new ds: [0 1 2 3] + # 2024-07-02 11:16:22,573 - INFO - GenericZarrHandler.py:391 - publish_cloud_optimised_fileset_batch - Batch 1 processed and written to + with patch.object(self.handler_nc_acorn_file, "s3_fs", new=self.s3_fs): + self.handler_nc_acorn_file.to_cloud_optimised(nc_obj_ls) + + # 3rd pass, create a non-contiguous list of files to reprocess. TWO region slices should happen. Look in the log + # output of the unittest as it's hard to test! + # output should be + # 2024-07-02 11:16:24,774 - INFO - GenericZarrHandler.py:276 - publish_cloud_optimised_fileset_batch - append data to existing Zarr + # 2024-07-02 11:16:24,837 - INFO - GenericZarrHandler.py:303 - publish_cloud_optimised_fileset_batch - Duplicate values of TIME + # 2024-07-02 11:16:24,839 - INFO - GenericZarrHandler.py:353 - publish_cloud_optimised_fileset_batch - Overwriting Zarr dataset in Region: {'TIME': slice(0, 1, None)}, Matching Indexes in new ds: [0] + # 2024-07-02 11:16:25,905 - INFO - GenericZarrHandler.py:353 - publish_cloud_optimised_fileset_batch - Overwriting Zarr dataset in Region: {'TIME': slice(2, 4, None)}, Matching Indexes in new ds: [1 2] + # 2024-07-02 11:16:26,631 - INFO - GenericZarrHandler.py:391 - publish_cloud_optimised_fileset_batch - Batch 1 processed and written to + nc_obj_ls_non_contiguous = nc_obj_ls[0:1] + nc_obj_ls[2:4] + with patch.object(self.handler_nc_acorn_file, "s3_fs", new=self.s3_fs): + self.handler_nc_acorn_file.to_cloud_optimised(nc_obj_ls_non_contiguous) + + # read zarr + dataset_config = load_dataset_config(DATASET_CONFIG_NC_ACORN_JSON) + dataset_name = dataset_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.zarr/" + + # TODO: calling open_zarr in the unitest is crazy finiky. Sometimes it works sometimes it doesnt + # ValueError: The future belongs to a different loop than the one specified as the loop argument + # the only way is to run it multiple times. Could be a local machine issue + # Also debugging and trying to load open_zarr in debug doesnt work... However it's possible to do a + # print(np.nanmax(ds.UCUR.values)) to get value to write unittests + + ds = xr.open_zarr(self.s3_fs.get_mapper(dname), consolidated=True) + self.assertEqual(ds.UCUR.standard_name, "eastward_sea_water_velocity") + + np.testing.assert_almost_equal( + np.nanmax(ds.UCUR.values), + 0.69455004, + decimal=3, + err_msg="Maximum value in UCUR is not as expected.", + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/test_aodn_cloud_optimised/test_genericparquethandler.py b/test_aodn_cloud_optimised/test_genericparquethandler.py deleted file mode 100644 index 7a66d11..0000000 --- a/test_aodn_cloud_optimised/test_genericparquethandler.py +++ /dev/null @@ -1,289 +0,0 @@ -import json -import os -import shutil -import tempfile -import unittest -from unittest.mock import patch - -import pandas as pd -import pyarrow as pa - -from shapely.geometry import Polygon -from shapely import wkb - -from aodn_cloud_optimised.lib.GenericParquetHandler import GenericHandler -from aodn_cloud_optimised.lib.config import load_dataset_config - -ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) - -# Specify the filename relative to the current directory -TEST_FILE_NC = os.path.join( - ROOT_DIR, - "resources", - "IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc", -) -DUMMY_FILE = os.path.join(ROOT_DIR, "resources", "DUMMY.nan") -DUMMY_NC_FILE = os.path.join(ROOT_DIR, "resources", "DUMMY.nc") -TEST_CSV_FILE = os.path.join( - ROOT_DIR, "resources", "A69-1105-135_107799906_130722039.csv" -) -CONFIG_CSV_JSON = os.path.join(ROOT_DIR, "resources", "aatams_acoustic_tagging.json") - - -class TestGenericHandler(unittest.TestCase): - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def setUp(self, mock_get_s3_raw_obj): - # Create a temporary directory - self.tmp_dir = tempfile.mkdtemp() - - # Copy the test NetCDF file to the temporary directory - self.tmp_nc_path = os.path.join(self.tmp_dir, os.path.basename(TEST_FILE_NC)) - shutil.copy(TEST_FILE_NC, self.tmp_nc_path) - - self.tmp_dummy_file_path = os.path.join( - self.tmp_dir, os.path.basename(DUMMY_FILE) - ) - shutil.copy(DUMMY_FILE, self.tmp_dummy_file_path) - - self.tmp_dummy_nc_path = os.path.join( - self.tmp_dir, os.path.basename(DUMMY_NC_FILE) - ) - shutil.copy(DUMMY_NC_FILE, self.tmp_dummy_nc_path) - - dataset_config = { - "dataset_name": "dummy", - "cloud_optimised_format": "parquet", - "metadata_uuid": "a681fdba-c6d9-44ab-90b9-113b0ed03536", - "gattrs_to_variables": ["site_code"], - "partition_keys": ["site_code", "timestamp", "polygon"], - "time_extent": {"time": "TIME", "partition_timestamp_period": "Q"}, - "spatial_extent": { - "lat": "LATITUDE", - "lon": "LONGITUDE", - "spatial_resolution": 5, - }, - "schema": { - "TIMESERIES": {"type": "int32"}, - "LATITUDE": {"type": "double"}, - "LONGITUDE": {"type": "double", "axis": "X"}, - "NOMINAL_DEPTH": {"type": "float", "standard_name": "depth"}, - "TEMP": {"type": "float", "standard_name": "sea_water_temperature"}, - "DUMMY1": {"type": "float"}, - "timestamp": {"type": "int64"}, - "site_code": {"type": "string"}, - "filename": {"type": "string"}, - "polygon": {"type": "string"}, - "TIME": {"type": "timestamp[ns]"}, - }, - "dataset_gattrs": {"title": "dummy"}, - "force_old_pq_del": True, - } - - self.handler = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config, - ) - - self.handler_dummy_file = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_dummy_file_path), - dataset_config=dataset_config, - ) - - self.handler_dummy_nc_file = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_dummy_nc_path), - dataset_config=dataset_config, - ) - - # modify the path of the parquet dataset output - self.handler.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - - self.tmp_csv_path = os.path.join(self.tmp_dir, os.path.basename(TEST_CSV_FILE)) - shutil.copy(TEST_CSV_FILE, self.tmp_csv_path) - dataset_csv_config = load_dataset_config(CONFIG_CSV_JSON) - self.handler_csv_file = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_csv_path), - dataset_config=dataset_csv_config, - ) - self.handler_csv_file.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - - # Create a mock object for xr.open_dataset - # self.mock_open_dataset = MagicMock() - - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_get_s3_raw_obj(self, mock_get_s3_raw_obj): - with patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client"): - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - tmp_filepath = self.handler.get_s3_raw_obj() - self.assertEqual(tmp_filepath, self.tmp_nc_path) - - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_data_to_df_ds(self, mock_get_s3_raw_obj): - # Configure the mock object to return the path of the copied NetCDF file - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - - # Call the preprocess_data method - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Assert that ds.site_code is equal to the expected value - self.assertEqual(ds.site_code, "SYD140") - - def test_add_columns_df(self): - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Call the method to add columns such as timestamp, sitecode ... to the DataFrame - result_df = self.handler._add_timestamp_df(df) - result_df = self.handler._add_columns_df(result_df, ds) - - # Check if the column are added with the correct values - self.assertIn("site_code", result_df.columns) - self.assertEqual(result_df["site_code"].iloc[0], "SYD140") - self.assertEqual( - result_df["filename"].iloc[0], os.path.basename(self.tmp_nc_path) - ) - self.assertEqual(result_df["timestamp"].iloc[0], 1617235200.0) - - @patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client") - def test_create_data_parquet(self, mock_boto3_client): - # Set up mock return values and inputs - mock_s3_client = mock_boto3_client.return_value - # Mock the return value of s3.download_file to simulate file download - mock_s3_client.download_file.return_value = self.tmp_nc_path - - # Call the get_s3_raw_obj method (which should now use the mocked behavior) - self.handler.get_s3_raw_obj() - - self.handler.tmp_input_file = self.tmp_nc_path # overwrite value in handler - - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - self.handler.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # The following section shows how the created polygon variable can be used to perform data queries. this adds significant overload, but is worth it - df["converted_polygon"] = df["polygon"].apply( - lambda x: wkb.loads(bytes.fromhex(x)) - ) - - # Define the predefined polygon - predefined_polygon_coords_out = [(150, -40), (155, -40), (155, -45), (150, -45)] - predefined_polygon_coords_in = [(150, -32), (155, -32), (155, -45), (150, -45)] - - predefined_polygon_out = Polygon(predefined_polygon_coords_out) - predefined_polygon_in = Polygon(predefined_polygon_coords_in) - - df_unique_polygon = df["converted_polygon"].unique()[0] - self.assertFalse(df_unique_polygon.intersects(predefined_polygon_out)) - self.assertTrue(df_unique_polygon.intersects(predefined_polygon_in)) - - # Assert the expected values in the Parquet dataset - self.assertNotIn( - "TEMP_quality_control", parquet_dataset.columns - ) # make sure the variable is removed - self.assertIn("TEMP", parquet_dataset.columns) - - # Testing the metadata sidecar file - # Reading the metadata file of the dataset (at the root) - parquet_meta_file_path = os.path.join( - self.handler.cloud_optimised_output_path, "_common_metadata" - ) - parquet_meta = pa.parquet.read_schema(parquet_meta_file_path) - - # horrible ... but got to be done. The dictionary of metadata has to be a dictionnary with byte keys and byte values. - # meaning that we can't have nested dictionaries ... - decoded_meta = { - key.decode("utf-8"): json.loads(value.decode("utf-8").replace("'", '"')) - for key, value in parquet_meta.metadata.items() - } - - self.assertEqual(decoded_meta["LONGITUDE"]["axis"], "X") - self.assertEqual(decoded_meta["NOMINAL_DEPTH"]["standard_name"], "depth") - - # alternative way to access the metadata - # Create a dictionary where keys are the names and values are the elements - schema_dict = {obj.name: obj for obj in parquet_meta} - self.assertEqual( - schema_dict["TEMP"].metadata.get(b"standard_name"), b"sea_water_temperature" - ) - # other way to access the metadata - schema_dict = {obj.name: obj.metadata for obj in parquet_meta} - self.assertEqual( - schema_dict["TEMP"][b"standard_name"], b"sea_water_temperature" - ) - - def test_create_csv_data_parquet(self): - # Mock the return value of self.get_partition_parameters_data() - # with patch.object(self.handler_no_schema, 'get_partition_parameters_data', return_value=["site_code"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler_csv_file.preprocess_data(self.tmp_csv_path) - df, ds = next(generator) - - self.handler_csv_file.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler_csv_file.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - # For example, assert that the 'site_code' column is present and contains the expected value - self.assertIn("station_name", parquet_dataset.columns) - - # Testing the metadata sidecar file - - @patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client") - def test_handler_main_function(self, mock_boto3_client): - # Set up mock return values and inputs - mock_s3_client = mock_boto3_client.return_value - # Mock the return value of s3.download_file to simulate file download - mock_s3_client.download_file.return_value = self.tmp_nc_path - self.handler.tmp_input_file = self.tmp_nc_path - # Call the get_s3_raw_obj method (which should now use the mocked behavior) - self.handler.to_cloud_optimised() - - # Read the Parquet dataset - parquet_file_path = self.handler.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - self.assertNotIn("station_name", parquet_dataset.columns) - self.assertAlmostEqual(parquet_dataset["TEMP"][0], 13.2773, delta=1e-2) - - def test_dummies(self): - with self.assertRaises(ValueError): - self.handler_dummy_file.to_cloud_optimised() - - with self.assertRaises(TypeError): - self.handler_dummy_nc_file.to_cloud_optimised() - - def tearDown(self): - # Remove the temporary directory and its contents - shutil.rmtree(self.tmp_dir) - - -if __name__ == "__main__": - unittest.main() diff --git a/test_aodn_cloud_optimised/test_parquet_argo_handler.py b/test_aodn_cloud_optimised/test_parquet_argo_handler.py new file mode 100644 index 0000000..02739fb --- /dev/null +++ b/test_aodn_cloud_optimised/test_parquet_argo_handler.py @@ -0,0 +1,189 @@ +import json +import os +import unittest +from unittest.mock import patch + +import boto3 +import numpy as np +import pandas as pd +import s3fs +from moto import mock_aws +from moto.moto_server.threaded_moto_server import ThreadedMotoServer +from numpy.testing import assert_array_equal + +from aodn_cloud_optimised.lib.ArgoHandler import ArgoHandler +from aodn_cloud_optimised.lib.config import load_dataset_config +from aodn_cloud_optimised.lib.s3Tools import s3_ls + +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Specify the filename relative to the current directory +TEST_FILE_NC = os.path.join(ROOT_DIR, "resources", "2902093_prof.nc") +TEST_FILE_BAD_GEOM_NC = os.path.join(ROOT_DIR, "resources", "5905017_prof.nc") + +DATASET_CONFIG = os.path.join(ROOT_DIR, "resources", "argo_core.json") + + +@mock_aws +class TestArgoHandler(unittest.TestCase): + def setUp(self): + self.BUCKET_OPTIMISED_NAME = "imos-data-lab-optimised" + self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH = "testing" + self.s3 = boto3.client("s3", region_name="us-east-1") + self.s3.create_bucket(Bucket="imos-data") + self.s3.create_bucket(Bucket=self.BUCKET_OPTIMISED_NAME) + + # create moto server; needed for s3fs and parquet + self.server = ThreadedMotoServer(ip_address="127.0.0.1", port=5555) + + # TODO: use it for patching? + self.s3_fs = s3fs.S3FileSystem( + anon=False, + client_kwargs={ + "endpoint_url": "http://127.0.0.1:5555/", + "region_name": "us-east-1", + }, + ) + + self.server.start() + + # Make the "imos-data" bucket public + public_policy_imos_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": "arn:aws:s3:::imos-data/*", + } + ], + } + + public_policy_cloud_optimised_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": f"arn:aws:s3:::{self.BUCKET_OPTIMISED_NAME}/*", + } + ], + } + + self.s3.put_bucket_policy( + Bucket="imos-data", Policy=json.dumps(public_policy_imos_data) + ) + + self.s3.put_bucket_policy( + Bucket=self.BUCKET_OPTIMISED_NAME, + Policy=json.dumps(public_policy_cloud_optimised_data), + ) + + # Copy files to the mock S3 bucket + self._upload_to_s3( + "imos-data", f"good_nc_argo/{os.path.basename(TEST_FILE_NC)}", TEST_FILE_NC + ) + self._upload_to_s3( + "imos-data", + f"bad_geom_argo/{os.path.basename(TEST_FILE_BAD_GEOM_NC)}", + TEST_FILE_BAD_GEOM_NC, + ) + + self.dataset_argo_netcdf_config = load_dataset_config(DATASET_CONFIG) + + self.handler_nc_argo_file = ArgoHandler( + optimised_bucket_name=self.BUCKET_OPTIMISED_NAME, + root_prefix_cloud_optimised_path=self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH, + dataset_config=self.dataset_argo_netcdf_config, + clear_existing_data=True, + force_previous_parquet_deletion=True, + cluster_mode="local", + ) + + def _upload_to_s3(self, bucket_name, key, file_path): + with open(file_path, "rb") as f: + self.s3.upload_fileobj(f, bucket_name, key) + + def tearDown(self): + self.server.stop() + + def test_parquet_nc_argo_handler(self): + nc_obj_ls = s3_ls("imos-data", "good_nc_argo") + + # 1st pass + with patch.object(self.handler_nc_argo_file, "s3_fs", new=self.s3_fs): + self.handler_nc_argo_file.to_cloud_optimised([nc_obj_ls[0]]) + + # 2nd pass, process the same file a second time. Should be deleted + # TODO: Not a big big deal breaker, but got an issue which should be fixed in the try except only for the unittest + # 2024-07-01 16:04:54,721 - INFO - GenericParquetHandler.py:824 - delete_existing_matching_parquet - No files to delete: GetFileInfo() yielded path 'imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/site_code=SYD140/timestamp=1625097600/polygon=01030000000100000005000000000000000020624000000000008041C0000000000060634000000000008041C0000000000060634000000000000039C0000000000020624000000000000039C0000000000020624000000000008041C0/IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc-0.parquet', which is outside base dir 's3://imos-data-lab-optimised/testing/anmn_ctd_ts_fv01.parquet/' + with patch.object(self.handler_nc_argo_file, "s3_fs", new=self.s3_fs): + self.handler_nc_argo_file.to_cloud_optimised_single(nc_obj_ls[0]) + + # read parquet + dataset_name = self.dataset_argo_netcdf_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.parquet/" + + parquet_dataset = pd.read_parquet( + dname, + engine="pyarrow", + storage_options={ + "client_kwargs": {"endpoint_url": "http://127.0.0.1:5555"} + }, + ) + + self.assertEqual(parquet_dataset["filename"][0], os.path.basename(TEST_FILE_NC)) + + # this checks that bad_timestamps values are cleaned + self.assertEqual(parquet_dataset["timestamp"][0], 1356998400.0) + self.assertEqual( + parquet_dataset["JULD"][0], pd.Timestamp("2013-02-26 03:15:00") + ) + + # Assert the expected values in the Parquet dataset + self.assertIn("PSAL_ADJUSTED", parquet_dataset.columns) + self.assertIn("TEMP_ADJUSTED", parquet_dataset.columns) + assert_array_equal( + np.unique(parquet_dataset.PLATFORM_NUMBER.values), np.array([2902093]) + ) + + def test_parquet_nc_argo_bad_geom_handler(self): + nc_obj_ls = s3_ls("imos-data", "bad_geom_argo") + + # 1st pass + with patch.object(self.handler_nc_argo_file, "s3_fs", new=self.s3_fs): + self.handler_nc_argo_file.to_cloud_optimised_single(nc_obj_ls[0]) + + # read parquet + dataset_name = self.dataset_argo_netcdf_config["dataset_name"] + dname = f"s3://{self.BUCKET_OPTIMISED_NAME}/{self.ROOT_PREFIX_CLOUD_OPTIMISED_PATH}/{dataset_name}.parquet/" + + parquet_dataset = pd.read_parquet( + dname, + engine="pyarrow", + storage_options={ + "client_kwargs": {"endpoint_url": "http://127.0.0.1:5555"} + }, + ) + + # TODO: check the values are correct, why are the first 10 values removed? forgot! To investigate! + # JULD = "2016-01-07 22:06:34", "2016-01-17 15:35:41", "2016-01-27 09:41:07", + # "2016-02-06 03:32:09", "2016-02-15 22:51:46", "2016-02-25 17:19:12", + # "2016-03-06 12:20:15", "2016-03-16 07:49:21", "2016-03-26 01:49:47", + # "2016-04-04 21:19:44", "2016-04-14 15:09:26", "2016-04-24 11:00:24", + # "2016-05-04 06:12:07", "2016-05-14 01:40:30", "2016-05-23 20:29:18", + # Assert the expected values in the Parquet dataset + self.assertEqual(parquet_dataset["timestamp"][0], 1451606400) + self.assertEqual( + parquet_dataset["JULD"][0], pd.Timestamp("2016-05-23 20:29:18") + ) + + # Assert the expected values in the Parquet dataset + self.assertIn("PSAL_ADJUSTED", parquet_dataset.columns) + self.assertIn("TEMP_ADJUSTED", parquet_dataset.columns) + + +if __name__ == "__main__": + unittest.main() diff --git a/test_aodn_cloud_optimised/test_s3_tools.py b/test_aodn_cloud_optimised/test_s3_tools.py deleted file mode 100755 index c5a9d10..0000000 --- a/test_aodn_cloud_optimised/test_s3_tools.py +++ /dev/null @@ -1,30 +0,0 @@ -import unittest -from unittest.mock import MagicMock - -from aodn_cloud_optimised.lib.s3Tools import s3_ls - - -class TestS3Ls(unittest.TestCase): - def test_s3_ls(self): - # Mocking boto3 client - boto3_client_mock = MagicMock() - boto3_client_mock.get_paginator.return_value.paginate.return_value = [ - { - "Contents": [ - {"Key": "prefix/file1.nc"}, - {"Key": "prefix/file2.nc"}, - {"Key": "prefix/file3.txt"}, - ] - } - ] - - with unittest.mock.patch("boto3.client", return_value=boto3_client_mock): - # Call the function - result = s3_ls("test-bucket", "prefix") - - # Assert the result - self.assertEqual(result, ["prefix/file1.nc", "prefix/file2.nc"]) - - -if __name__ == "__main__": - unittest.main() diff --git a/test_aodn_cloud_optimised/test_s3tools.py b/test_aodn_cloud_optimised/test_s3tools.py new file mode 100755 index 0000000..8eb3d68 --- /dev/null +++ b/test_aodn_cloud_optimised/test_s3tools.py @@ -0,0 +1,114 @@ +import json +import unittest + +import boto3 +from moto import mock_aws +from moto.moto_server.threaded_moto_server import ThreadedMotoServer + +from aodn_cloud_optimised.lib.s3Tools import ( + s3_ls, + create_fileset, + split_s3_path, + delete_objects_in_prefix, + prefix_exists, +) +from unittest.mock import patch, MagicMock, Mock +import s3fs + + +@mock_aws() +class TestS3Tools(unittest.TestCase): + def setUp(self): + self.server = ThreadedMotoServer(ip_address="127.0.0.1", port=5555) + self.server.start() + + # Create a mock S3 service + self.s3 = boto3.client("s3", region_name="us-east-1") + self.bucket_name = "test-bucket" + self.s3.create_bucket(Bucket=self.bucket_name) + + # Make the "imos-data" bucket public + public_policy_imos_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": f"arn:aws:s3:::{self.bucket_name}/*", + } + ], + } + + self.s3.put_bucket_policy( + Bucket=self.bucket_name, Policy=json.dumps(public_policy_imos_data) + ) + + # Copy files to the mock S3 bucket + self.s3.put_object( + Bucket=self.bucket_name, Key="prefix/file1.nc", Body="" + ) # empty file + self.s3.put_object( + Bucket=self.bucket_name, Key="prefix/file2.nc", Body="" + ) # empty file + + def tearDown(self): + self.server.stop() + + def test_s3_ls(self): + result = s3_ls(self.bucket_name, "prefix") + + self.assertEqual( + result, + ["s3://test-bucket/prefix/file1.nc", "s3://test-bucket/prefix/file2.nc"], + ) + + def test_split(self): + bucket_name, key = split_s3_path("s3://test-bucket/prefix/file1.nc") + self.assertEqual(bucket_name, "test-bucket") + self.assertEqual(key, "prefix/file1.nc") + + def test_prefix_exists(self): + self.assertTrue(prefix_exists("s3://test-bucket/prefix/file1.nc")) + + def test_delete_objects_in_prefix(self): + delete_objects_in_prefix("test-bucket", "prefix") + result = s3_ls(self.bucket_name, "prefix") + self.assertListEqual(result, []) + + @patch("s3fs.S3FileSystem") + def test_create_fileset(self, MockS3FileSystem): + MockS3FileSystem.return_value = s3fs.S3FileSystem( + anon=False, client_kwargs={"endpoint_url": "http://127.0.0.1:5555/"} + ) + + fileset = create_fileset("s3://test-bucket/prefix/file1.nc") + self.assertEqual(fileset[0].path, "test-bucket/prefix/file1.nc") + + @patch.object(s3fs.S3FileSystem, "open") + def test_create_fileset(self, mock_open): + # Prepare a list of mock objects for each file path + mock_files = [] + s3_paths = [ + "s3://test-bucket/prefix/file1.nc", + "s3://test-bucket/prefix/file2.nc", + ] + + for s3_path in s3_paths: + mock_file = Mock() + mock_file.path = s3_path + mock_files.append(mock_file) + + # Configure mock_open to return the appropriate mock file for each call + mock_open.side_effect = mock_files + + # Call the function under test + fileset = create_fileset(s3_paths) + + # Assert that each file in the fileset has the correct path + for idx, file_obj in enumerate(fileset): + self.assertEqual(file_obj.path, s3_paths[idx]) + + +if __name__ == "__main__": + unittest.main() diff --git a/test_aodn_cloud_optimised/test_schema.py b/test_aodn_cloud_optimised/test_schema.py index d36a737..1930286 100644 --- a/test_aodn_cloud_optimised/test_schema.py +++ b/test_aodn_cloud_optimised/test_schema.py @@ -1,22 +1,79 @@ +import json import unittest from unittest.mock import patch, mock_open, MagicMock -import os -import json import pyarrow as pa import xarray as xr +import os +import boto3 +from moto import mock_aws +from moto.moto_server.threaded_moto_server import ThreadedMotoServer +from aodn_cloud_optimised.lib.s3Tools import s3_ls +import s3fs from aodn_cloud_optimised.lib.schema import ( - generate_pyarrow_schema_from_s3_netcdf, - create_pyarrow_schema_from_list, create_pyrarrow_schema_from_dict, create_pyarrow_schema, generate_json_schema_from_s3_netcdf, + generate_json_schema_var_from_netcdf, ) +ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Specify the filename relative to the current directory +TEST_FILE_NC_ANMN = os.path.join( + ROOT_DIR, + "resources", + "IMOS_ANMN-NSW_CDSTZ_20210429T015500Z_SYD140_FV01_SYD140-2104-SBE37SM-RS232-128_END-20210812T011500Z_C-20210827T074819Z.nc", +) +TEST_FILE_NC_ANMN_SCHEMA = TEST_FILE_NC_ANMN.replace(".nc", ".schema") + + +@mock_aws() class TestNetCDFSchemaGeneration(unittest.TestCase): def setUp(self): + # Create a mock S3 service + self.s3 = boto3.client("s3", region_name="us-east-1") + self.bucket_name = "imos-data" + self.s3.create_bucket(Bucket=self.bucket_name) + + # Make the "imos-data" bucket public + public_policy_imos_data = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": f"arn:aws:s3:::{self.bucket_name}/*", + } + ], + } + + self.s3.put_bucket_policy( + Bucket=self.bucket_name, Policy=json.dumps(public_policy_imos_data) + ) + + # Copy files to the mock S3 bucket + self._upload_to_s3( + self.bucket_name, + f"good_nc_anmn/{os.path.basename(TEST_FILE_NC_ANMN)}", + TEST_FILE_NC_ANMN, + ) + + self.nc_s3_path = s3_ls("imos-data", "good_nc_anmn")[0] + + self.server = ThreadedMotoServer(ip_address="127.0.0.1", port=5555) + self.server.start() + self.s3_fs = s3fs.S3FileSystem( + anon=False, + client_kwargs={ + "endpoint_url": "http://127.0.0.1:5555/", + "region_name": "us-east-1", + }, + ) + # Define some sample data for testing self.schema_list = [ "temperature: double", @@ -38,56 +95,13 @@ def setUp(self): } self.sub_schema_strings = ["filename: string", "site_code: string"] - self.sub_schema = create_pyarrow_schema_from_list(self.sub_schema_strings) - - @patch("aodn_cloud_optimised.lib.schema.xr.open_dataset") - @patch("aodn_cloud_optimised.lib.schema.s3fs.S3FileSystem") - def test_generate_pyarrow_schema_from_s3_netcdf( - self, mock_s3fs, mock_xr_open_dataset - ): - # Mock S3 file access and Xarray open_dataset function - mock_s3 = MagicMock() - mock_s3.open.return_value = mock_open(read_data=b"dummy_data").return_value - mock_s3fs.return_value = mock_s3 - - # Mock Xarray open_dataset function to return a dummy dataset. We really don't care at this stage of the values - dummy_dataset = xr.Dataset( - { - "temperature": xr.DataArray([1, 2, 3]), - "humidity": xr.DataArray([4, 5, 6]), - "pressure": xr.DataArray([7, 8, 9]), - "timestamp": xr.DataArray([10, 11, 12]), - "location": xr.DataArray(["A", "B", "C"]), - } - ) - mock_xr_open_dataset.return_value = dummy_dataset - - # Test the function with mocked S3 file access - result_schema = generate_pyarrow_schema_from_s3_netcdf( - "dummy_s3_path", self.sub_schema - ) - # Check if the result pyarrow_schema is an instance of PyArrow pyarrow_schema - self.assertIsInstance(result_schema, pa.Schema) - - # You can add more assertions based on your expected behavior + def tearDown(self): + self.server.stop() - def test_create_schema_from_list(self): - # Test pyarrow_schema creation from pyarrow_schema strings - result_schema = create_pyarrow_schema_from_list(self.schema_list) - - # Check if the result pyarrow_schema is an instance of PyArrow pyarrow_schema - self.assertIsInstance(result_schema, pa.Schema) - - # Check if the pyarrow_schema fields match the expected fields - expected_fields = [ - pa.field("temperature", pa.float64()), - pa.field("humidity", pa.float32()), - pa.field("pressure", pa.int32()), - pa.field("timestamp", pa.timestamp("ns")), - pa.field("location", pa.string()), - ] - self.assertEqual(result_schema, pa.schema(expected_fields)) + def _upload_to_s3(self, bucket_name, key, file_path): + with open(file_path, "rb") as f: + self.s3.upload_fileobj(f, bucket_name, key) def test_create_schema_from_dict(self): # Test pyarrow_schema creation from pyarrow_schema strings @@ -121,43 +135,53 @@ def test_create_schema(self): result_schema = create_pyarrow_schema(self.schema_list) self.assertEqual(result_schema, pa.schema(expected_fields)) - @patch("aodn_cloud_optimised.lib.schema.xr.open_dataset") - @patch("aodn_cloud_optimised.lib.schema.s3fs.S3FileSystem") - def test_generate_json_schema_from_s3_netcdf(self, mock_s3fs, mock_xr_open_dataset): - # Mock the S3 file system - mock_s3 = MagicMock() - mock_s3fs.return_value = mock_s3 - - # Mock the open_dataset method to return a dataset - mock_dataset = MagicMock() - mock_xr_open_dataset.return_value = mock_dataset - - # Define mock dataset variables and coordinates - mock_dataset.variables = { - "lon": MagicMock(dtype="float32", attrs={"units": "degrees_east"}), - "lat": MagicMock(dtype="float32", attrs={"units": "degrees_north"}), - "time": MagicMock( - dtype="datetime64[ns]", attrs={"units": "seconds since 1970-01-01"} - ), + def test_generate_json_schema_from_s3_netcdf(self): + def assert_file_contents_equal(file1_path, file2_path): + with open(file1_path, "r") as f1, open(file2_path, "r") as f2: + content1 = f1.read() + content2 = f2.read() + assert ( + content1 == content2 + ), f"File contents do not match: {file1_path} != {file2_path}" + + try: + loaded_schema_file = generate_json_schema_from_s3_netcdf( + self.nc_s3_path, s3_fs=self.s3_fs + ) + assert_file_contents_equal(loaded_schema_file, TEST_FILE_NC_ANMN_SCHEMA) + + finally: + os.remove(loaded_schema_file) + + def test_generate_json_schema_var_from_netcdf(self): + + json_expected = { + "TEMP": { + "type": "float32", + "ancillary_variables": "TEMP_quality_control", + "long_name": "sea_water_temperature", + "standard_name": "sea_water_temperature", + "units": "degrees_Celsius", + "valid_max": 40.0, + "valid_min": -2.5, + } } - mock_dataset.coords = {} - # Call the function under test - temp_file_path = generate_json_schema_from_s3_netcdf( - "s3://your-bucket/path/to/file.nc" - ) + # Test from a local file + json_output = generate_json_schema_var_from_netcdf(TEST_FILE_NC_ANMN, "TEMP") + self.assertEqual(json_output, json.dumps(json_expected, indent=2)) - # Load the generated JSON schema - with open(temp_file_path, "r") as json_file: - loaded_schema = json.load(json_file) + # Test from a s3fs file + json_output = generate_json_schema_var_from_netcdf( + self.s3_fs.open(self.nc_s3_path), "TEMP", s3_fs=self.s3_fs + ) + self.assertEqual(json_output, json.dumps(json_expected, indent=2)) - # Assert the content of the loaded schema - expected_schema = { - "lon": {"type": "float", "units": "degrees_east"}, - "lat": {"type": "float", "units": "degrees_north"}, - "time": {"type": "timestamp[ns]", "units": "seconds since 1970-01-01"}, - } - self.assertEqual(loaded_schema, expected_schema) + # Test from a s3 file + json_output = generate_json_schema_var_from_netcdf( + self.nc_s3_path, "TEMP", s3_fs=self.s3_fs + ) + self.assertEqual(json_output, json.dumps(json_expected, indent=2)) if __name__ == "__main__": diff --git a/test_aodn_cloud_optimised/test_soopxbtnrt.py b/test_aodn_cloud_optimised/test_soopxbtnrt.py deleted file mode 100644 index 76b1083..0000000 --- a/test_aodn_cloud_optimised/test_soopxbtnrt.py +++ /dev/null @@ -1,177 +0,0 @@ -import os -import shutil -import tempfile -import unittest -import yaml -from unittest.mock import patch, MagicMock - -import pandas as pd -from numpy.testing import assert_array_equal - -from aodn_cloud_optimised.lib.GenericParquetHandler import GenericHandler -from aodn_cloud_optimised.lib.config import load_dataset_config - -ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) - -# Specify the filename relative to the current directory -TEST_FILE_NC = os.path.join( - ROOT_DIR, "resources", "IMOS_SOOP-XBT_T_20240218T141800Z_IX28_FV00_ID_9797539.nc" -) - -CONFIG_JSON = os.path.join(ROOT_DIR, "resources", "soop_xbt_nrt.json") - - -class TestGenericHandler(unittest.TestCase): - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def setUp(self, mock_get_s3_raw_obj): - # Create a temporary directory - self.tmp_dir = tempfile.mkdtemp() - - # Copy the test NetCDF file to the temporary directory - self.tmp_nc_path = os.path.join(self.tmp_dir, os.path.basename(TEST_FILE_NC)) - shutil.copy(TEST_FILE_NC, self.tmp_nc_path) - - dataset_config = load_dataset_config(CONFIG_JSON) - - dataset_config_no_schema = { - "dataset_name": "dummy_table_name", - "cloud_optimised_format": "parquet", - "metadata_uuid": "35234913-aa3c-48ec-b9a4-77f822f66ef8", - "gattrs_to_variables": ["XBT_line", "ship_name", "Callsign", "imo_number"], - "partition_keys": ["XBT_line", "timestamp"], - "time_extent": {"time": "TIME", "partition_timestamp_period": "M"}, - "spatial_extent": { - "lat": "LATITUDE", - "lon": "LONGITUDE", - "spatial_resolution": 5, - }, - "schema": {}, - "dataset_gattrs": {"title": "SOOP XBT NRT"}, - "force_old_pq_del": False, - } - - self.handler = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config_no_schema, - force_old_pq_del=False, - ) - - self.handler_with_schema = GenericHandler( - raw_bucket_name="dummy_raw_bucket", - optimised_bucket_name="dummy_optimised_bucket", - input_object_key=os.path.basename(self.tmp_nc_path), - dataset_config=dataset_config, - ) - - # modify the path of the parquet dataset output - self.handler.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - self.handler_with_schema.cloud_optimised_output_path = os.path.join( - self.tmp_dir, "dummy_dataset_name" - ) - - # Create a mock object for xr.open_dataset - self.mock_open_dataset = MagicMock() - - # test method inherited from super - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_get_s3_raw_obj(self, mock_get_s3_raw_obj): - with patch("aodn_cloud_optimised.lib.GenericParquetHandler.boto3.client"): - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - tmp_filepath = self.handler.get_s3_raw_obj() - self.assertEqual(tmp_filepath, self.tmp_nc_path) - - @patch( - "aodn_cloud_optimised.lib.GenericParquetHandler.GenericHandler.get_s3_raw_obj" - ) - def test_data_to_df_ds(self, mock_get_s3_raw_obj): - # Configure the mock object to return the path of the copied NetCDF file - mock_get_s3_raw_obj.return_value = self.tmp_nc_path - - # Call the preprocess_data method - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Assert that ds.site_code is equal to the expected value - assert_array_equal(ds.XBT_line, "IX28") - - def test_add_columns_df_and_bad_timestamps(self): - # with patch.object(self.handler_no_schema, 'get_partition_parameters_data', return_value=["XBT_line"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - # Call the method to add columns to the DataFrame - result_df = self.handler._add_timestamp_df(df) - result_df = self.handler._add_columns_df(result_df, ds) - - # now we call the next function to remove the bad timestamp values ( which does also a reindexing) - result_df = self.handler._rm_bad_timestamp_df(result_df) - self.assertEqual(result_df["timestamp"][0], 1706745600.0) - self.assertEqual(result_df.index.name, "DEPTH") - self.assertEqual( - result_df.filename[0], - "IMOS_SOOP-XBT_T_20240218T141800Z_IX28_FV00_ID_9797539.nc", - ) - - def test_create_data_parquet_with_mocked_parameters_and_with_schema(self): - # Mock the return value of self.get_partition_parameters_data() - # with patch.object(self.handler, 'get_partition_parameters_data', return_value=["XBT_line"]) as mock_get_params: - # Convert the Dataset to DataFrame using preprocess_data - generator = self.handler_with_schema.preprocess_data(self.tmp_nc_path) - df, ds = next(generator) - - self.handler_with_schema.publish_cloud_optimised(df, ds) - - # Read the Parquet dataset - parquet_file_path = self.handler_with_schema.cloud_optimised_output_path - parquet_dataset = pd.read_parquet(parquet_file_path) - - # Assert the expected values in the Parquet dataset - self.assertNotIn( - "DUMMY_VAR_NOT_IN", parquet_dataset.columns - ) # make sure the variable is removed - self.assertIn("TEMP", parquet_dataset.columns) - - self.assertEqual(parquet_dataset["timestamp"][0], 1706745600.0) - self.assertEqual( - parquet_dataset["TIME"][0], pd.Timestamp("2024-02-18 14:18:00") - ) - - def test_push_metadata_aws_registry(self): - - # Load the registry config from the JSON file - expected_yaml_data = yaml.dump( - self.handler_with_schema.dataset_config["aws_opendata_registry"] - ) - - with patch("boto3.client") as mock_client: - mock_s3_client = MagicMock() - mock_client.return_value = mock_s3_client - - self.handler_with_schema.push_metadata_aws_registry() - - # Assert that put_object was called with the correct parameters - # expected_key = os.path.join(self.tmp_dir, 'dummy_dataset_name/soop_xbt_nrt.yaml') - expected_key = os.path.join("parquet/loz_test/soop_xbt_nrt.yaml") - - mock_s3_client.put_object.assert_called_once_with( - Bucket=self.handler_with_schema.optimised_bucket_name, - Key=expected_key, - Body=expected_yaml_data.encode("utf-8"), - ) - - def tearDown(self): - # Remove the temporary directory and its contents - shutil.rmtree(self.tmp_dir) - - -if __name__ == "__main__": - unittest.main()