From 3435410e1964638902dd79909a0547cfb9e66d36 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 11:32:24 +0200 Subject: [PATCH 01/23] feat(docs/joss_paper) initiate joss paper --- docs/joss_paper/readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/joss_paper/readme.md diff --git a/docs/joss_paper/readme.md b/docs/joss_paper/readme.md new file mode 100644 index 00000000..077b7c95 --- /dev/null +++ b/docs/joss_paper/readme.md @@ -0,0 +1 @@ +initialize joss paper folder \ No newline at end of file From 1ff1b411b8d083d6f3fa3a10cfe115cc431334a4 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 11:42:09 +0200 Subject: [PATCH 02/23] fix(.gitignore) ignore file fenerated by testing suite --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ef62af66..be19e8a8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ public/ tests/post/*.png tests/post/*.yaml examples/**/*.png +tests/problem_definition/split.csv # Byte-compiled / optimized / DLL files __pycache__/ From 1d8551b7c6dc4a6b1e3a527e612230d356660b4c Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 11:42:47 +0200 Subject: [PATCH 03/23] fix(docs) add matplotlib to readthedocs env (was in muscat but replaced with matplotlib-base) --- docs/requirements.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.yml b/docs/requirements.yml index 66404417..9a93b98e 100644 --- a/docs/requirements.yml +++ b/docs/requirements.yml @@ -18,6 +18,7 @@ dependencies: - scikit-learn - datasets - pydantic + - matplotlib - pip - pip: - furo From d571c05bbdbcae9e9e806f37ca5d4d24c83b66d4 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 18:35:48 +0200 Subject: [PATCH 04/23] docs(docs/joss_paper/*) first version of the joss --- docs/joss_paper/paper.bib | 50 ++++++++++++++++++++++++++++++ docs/joss_paper/paper.md | 64 +++++++++++++++++++++++++++++++++++++++ docs/joss_paper/readme.md | 1 - 3 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 docs/joss_paper/paper.bib create mode 100644 docs/joss_paper/paper.md delete mode 100644 docs/joss_paper/readme.md diff --git a/docs/joss_paper/paper.bib b/docs/joss_paper/paper.bib new file mode 100644 index 00000000..d4cea22e --- /dev/null +++ b/docs/joss_paper/paper.bib @@ -0,0 +1,50 @@ +@inproceedings{poinot2018seven, + title={Seven keys for practical understanding and use of CGNS}, + author={Poinot, Marc and Rumsey, Christopher L}, + booktitle={2018 AIAA Aerospace Sciences Meeting}, + pages={1503}, + year={2018} +} + +@article{casenave2024mmgp, + title={{MMGP}: a {M}esh {M}orphing {G}aussian {P}rocess-based machine learning method for regression of physical problems under nonparametrized geometrical variability}, + author={Casenave, Fabien and Staber, Brian and Roynard, Xavier}, + journal={Advances in Neural Information Processing Systems}, + volume={36}, + year={2024} +} +@article{kabalan2025elasticity, + title={Elasticity-based morphing technique and application to reduced-order modeling}, + author={Kabalan, Abbas and Casenave, Fabien and Bordeu, Felipe and Ehrlacher, Virginie and Ern, Alexandre}, + journal={Applied Mathematical Modelling}, + volume={141}, + pages={115929}, + year={2025}, + publisher={Elsevier} +} + +@article{kabalan2025ommgp, + title={{O-MMGP}: {O}ptimal {M}esh {M}orphing {G}aussian {P}rocess Regression for Solving {PDEs} with non-Parametric Geometric Variations}, + author={Kabalan, Abbas and Casenave, Fabien and Bordeu, Felipe and Ehrlacher, Virginie}, + journal={arXiv preprint arXiv:2502.11632}, + year={2025} +} + +@misc{perez2025learningsignalsdefinedgraphs, + title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, + author={Raphaël Carpintero Perez and Sébastien da Veiga and Josselin Garnier and Brian Staber}, + year={2025}, + eprint={2410.15721}, + archivePrefix={arXiv}, + primaryClass={stat.ML}, + url={https://arxiv.org/abs/2410.15721}, +} + +@inproceedings{perez2024gaussianprocessregressionsliced, + title={{Gaussian process regression with Sliced Wasserstein Weisfeiler-Lehman graph kernels}}, + author={Perez, Rapha{\"e}l Carpintero and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, + booktitle={International Conference on Artificial Intelligence and Statistics}, + pages={1297--1305}, + year={2024}, + organization={PMLR} +} \ No newline at end of file diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md new file mode 100644 index 00000000..311ce0f4 --- /dev/null +++ b/docs/joss_paper/paper.md @@ -0,0 +1,64 @@ +--- +title: "PLAID: A Unified Datamodel for Sharing and Manipulating Physics Simulation Datasets" +tags: +- python +- scientific machine learning +- data model +- physics simulation +date: "30 May 2025" + +uthors: +- name: Fabien Casenave + orcid: 0000-0002-8810-9128 + affiliation: 1 +- name: Xavier Roynard + orcid: 0000-0001-7840-2120 + affiliation: 1 +- name: Alexandre Devaux-Rivière + affiliation: 1,2 +affiliations: +- name: SafranTech, France + index: 1 +- name: EPITA, France + index: 2 +bibliography: paper.bib +--- + + +# Summary + +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema (building on the CGNS standard) that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. + +The library provides a high-level **API**: the core `Dataset` and `Sample` classes let users easily load, inspect, and save data. For instance, one can load an entire dataset with `dataset = Dataset("path_to_plaid_dataset")`, which automatically parses the PLAID folder or archive and reports the number of samples, fields, and scalars. The `Sample` class offers methods like `get_mesh(time, apply_links=True)` to retrieve a CGNS tree for a specific timestep, or `get_field(name, ...)` to access a particular field array. PLAID also supports efficient I/O: datasets can be packaged into a single TAR file or directory; methods like `Dataset.load_from_file(...)` and `load_from_dir(...)` handle parallel loading of samples (with multi-processing). + +Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters (e.g. `init_with_tabular`) to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. It also supplies dataset splitting and augmentation tools: for example, `plaid.utils.split_dataset` can partition a dataset into train/val/test subsets. Analysis tools include an `OnlineStatistics` class to compute streaming stats (min, mean, variance, etc.) on large arrays, and post-processing functions for ML evaluation. For example, `compute_rRMSE_RMSE` and `compute_R2` in `plaid.post.metrics` compute regression errors (RMSE, R²) on scalar outputs. These features (along with plotting helpers like bisect plots) facilitate benchmarking surrogate models on physics data. In short, PLAID couples a **flexible on-disk standard** with a rich software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields. + +# Statement of Need + +Machine learning for physical systems often suffers from **inconsistent data representations** across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD (CGNS/HDF5) or for finite-element data, and bespoke scripts to process each new dataset. As Casenave *et al.* observe, there is a "lack of large-scale, diverse, and standardized datasets" for simulation-based ML, and many prior efforts are "limited in scope … relying on fragmented tooling, or adhering to overly simplistic datamodels". This fragmentation hinders reproducibility and reuse of high-fidelity data. + +PLAID addresses this gap by providing a **generic, unified datamodel** that can describe virtually any physics simulation data. It leverages the CGNS (CFD General Notation System) standard to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure (folder layout with YAML/CSV metadata) suitable for ML tasks. Because the format is human-readable (YAML/CSV) and uses open CGNS/HDF5 for heavy data, it enables easier inspection and sharing of datasets. + +By promoting a common standard, PLAID makes physics data **interoperable** across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks and competitions, democratizing access to simulation data. Additionally, several recent research efforts in surrogate modeling cite or build upon PLAID-formatted data (e.g. mesh-morphing Gaussian process regression), demonstrating its role in the community. In summary, PLAID fills an important need for a **flexible, extensible, and tool-supported** data standard that unifies diverse simulation data under a single framework. + +# Functionality + +The PLAID library implements the full datamodel as a Python package with modular components: + +* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and an optional `split.csv` (train/test splits). This design supports **time series** (multiple CGNS per sample for multiple timesteps) and **multi-block/multi-geometry** problems out of the box. All metadata is in YAML/CSV, and fields/meshes are in CGNS/HDF5, so users can easily inspect or extend the data with standard tools (e.g. ParaView for CGNS). + +* **Supported Data Types:** PLAID handles scalar outputs (from `scalars.csv`), vector/tensor field data on meshes (stored in CGNS fields), and sample-specific metadata. The CGNS helper routines (`plaid.utils.cgns_helper`) allow users to query available fields and retrieve data arrays. For example, `sample.get_field_names(base_name, zone_name, location, time)` returns all field names matching the query, and `sample.get_field(name, ...)` returns the numpy array for that field. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh connectivity is returned). Thus PLAID naturally supports **mesh-based simulation outputs** with arbitrary element types and refinements. + +* **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and programmatically add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. Writing back to disk (saving the PLAID structure) is similarly easy. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. + +* **Extensibility:** The PLAID design allows custom physical configurations. By relying on CGNS, users can incorporate **user-defined families** and **CPEX extensions** (CGNS’s formal process for new data) without breaking PLAID. The YAML schema is open: any additional information can be added under the `infos.yaml` or sample CSV files without changing the library. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. For example, one can call a converter to upload a PLAID dataset to the Hugging Face Hub or instantiate a HF `Dataset` that yields PLAID samples. This integration has been used to publish PLAID benchmarks on Hugging Face. + +* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. After ML model training, the `plaid.post` suite helps evaluate results: e.g. `plaid.post.metrics.compute_R2` and `compute_rRMSE_RMSE` compute standard regression error metrics, and `plaid.post.bisect` can generate bisect plots comparing predictions to true values for all samples. Together, these tools streamline dataset preparation, analysis, and benchmarking. + +# Usage and Applications + +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Its broad feature set has already enabled various applications. The original PLAID paper released six datasets (2D/3D fluid and structural simulations) under this format and demonstrated baseline learning methods on them. These datasets are publicly available (e.g. on Zenodo and Hugging Face), and PLAID is used as the data backend in ongoing benchmarks like the NeurIPS ML4CFD competition. Beyond datasets, recent research has directly incorporated PLAID-based workflows. For example, Casenave *et al.* (2023) used PLAID to store data for a Gaussian-process regression with mesh morphing, while Kabalan *et al.* (2025) applied PLAID datasets in elasticity-based shape modeling. Likewise, Carpintero Perez *et al.* leveraged PLAID data in graph-kernel regression studies of fluid/solid mechanics. These uses illustrate the library’s flexibility. In practice, users find that PLAID significantly reduces the overhead of data wrangling: once a simulation run is converted into PLAID format, standard ML libraries (PyTorch, TensorFlow, Scikit-learn) can consume the data via simple Python loaders, and all preprocessing (splits, normalization) can be managed within the PLAID ecosystem. This promotes **reproducible pipelines**: all geometry, fields, and metadata are captured in one place. + +In summary, PLAID provides a **comprehensive framework** for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the longstanding need for interoperable, high-fidelity simulation datasets. We anticipate that PLAID will continue to accelerate ML research in engineering and the physical sciences by making complex simulation data more accessible and reusable. + +# References diff --git a/docs/joss_paper/readme.md b/docs/joss_paper/readme.md deleted file mode 100644 index 077b7c95..00000000 --- a/docs/joss_paper/readme.md +++ /dev/null @@ -1 +0,0 @@ -initialize joss paper folder \ No newline at end of file From 0d60b0fc298bf925033df45f23611a1537e23328 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 18:45:39 +0200 Subject: [PATCH 05/23] feat(actions) add joss pdf compiler --- .github/workflows/draft-pdf.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/draft-pdf.yml diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml new file mode 100644 index 00000000..e3f8b619 --- /dev/null +++ b/.github/workflows/draft-pdf.yml @@ -0,0 +1,24 @@ +name: Draft JOSS PDF +on: + push: + paths: + - docs/joss_paper/** + - .github/workflows/draft-pdf.yml + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build joss draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + paper-path: docs/joss_paper/paper.md + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: paper + path: docs/joss_paper/paper.pdf \ No newline at end of file From b3523789c5c6e9d16dbe9f9fa9a3df38fdd45177 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 18:54:10 +0200 Subject: [PATCH 06/23] feat(actions) option for not running actions if 'no ci' is in commit message --- .github/workflows/draft-pdf.yml | 1 + .github/workflows/testing.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml index e3f8b619..5b4df0b1 100644 --- a/.github/workflows/draft-pdf.yml +++ b/.github/workflows/draft-pdf.yml @@ -7,6 +7,7 @@ on: jobs: paper: + if: "!contains(github.event.head_commit.message, 'no ci')" runs-on: ubuntu-latest name: Paper Draft steps: diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 43f73260..47ee88f8 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -8,6 +8,7 @@ on: jobs: test: + if: "!contains(github.event.head_commit.message, 'no ci')" runs-on: ${{ matrix.os }} strategy: matrix: From 37b74033829c13c31e8f8092d3a3acdaadb74f92 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 18:58:45 +0200 Subject: [PATCH 07/23] fix(joss_paper) correct authors entry in paper.md --- .github/workflows/draft-pdf.yml | 1 - docs/joss_paper/paper.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml index 5b4df0b1..e3f8b619 100644 --- a/.github/workflows/draft-pdf.yml +++ b/.github/workflows/draft-pdf.yml @@ -7,7 +7,6 @@ on: jobs: paper: - if: "!contains(github.event.head_commit.message, 'no ci')" runs-on: ubuntu-latest name: Paper Draft steps: diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 311ce0f4..07935ac6 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -7,7 +7,7 @@ tags: - physics simulation date: "30 May 2025" -uthors: +authors: - name: Fabien Casenave orcid: 0000-0002-8810-9128 affiliation: 1 From d457ab00033f01e40a82243fbdbe2a62dade16b1 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 19:09:26 +0200 Subject: [PATCH 08/23] (fix) joss_paper, update, no ci --- docs/joss_paper/paper.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 07935ac6..91ce9c20 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -1,5 +1,5 @@ --- -title: "PLAID: A Unified Datamodel for Sharing and Manipulating Physics Simulation Datasets" +title: "PLAID: Physics Learning AI Datamodel" tags: - python - scientific machine learning @@ -17,9 +17,9 @@ authors: - name: Alexandre Devaux-Rivière affiliation: 1,2 affiliations: -- name: SafranTech, France +- name: SafranTech, Safran Tech, Digital Sciences & Technologies, 78114 Magny-Les-Hameaux, France index: 1 -- name: EPITA, France +- name: EPITA, 14-16 Rue Voltaire, 94270 Le Kremlin-Bicêtre, France index: 2 bibliography: paper.bib --- @@ -27,7 +27,7 @@ bibliography: paper.bib # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema (building on the CGNS standard) that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema (building on the CGNS standard [@poinot2018seven]) that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. The library provides a high-level **API**: the core `Dataset` and `Sample` classes let users easily load, inspect, and save data. For instance, one can load an entire dataset with `dataset = Dataset("path_to_plaid_dataset")`, which automatically parses the PLAID folder or archive and reports the number of samples, fields, and scalars. The `Sample` class offers methods like `get_mesh(time, apply_links=True)` to retrieve a CGNS tree for a specific timestep, or `get_field(name, ...)` to access a particular field array. PLAID also supports efficient I/O: datasets can be packaged into a single TAR file or directory; methods like `Dataset.load_from_file(...)` and `load_from_dir(...)` handle parallel loading of samples (with multi-processing). @@ -57,8 +57,8 @@ The PLAID library implements the full datamodel as a Python package with modular # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Its broad feature set has already enabled various applications. The original PLAID paper released six datasets (2D/3D fluid and structural simulations) under this format and demonstrated baseline learning methods on them. These datasets are publicly available (e.g. on Zenodo and Hugging Face), and PLAID is used as the data backend in ongoing benchmarks like the NeurIPS ML4CFD competition. Beyond datasets, recent research has directly incorporated PLAID-based workflows. For example, Casenave *et al.* (2023) used PLAID to store data for a Gaussian-process regression with mesh morphing, while Kabalan *et al.* (2025) applied PLAID datasets in elasticity-based shape modeling. Likewise, Carpintero Perez *et al.* leveraged PLAID data in graph-kernel regression studies of fluid/solid mechanics. These uses illustrate the library’s flexibility. In practice, users find that PLAID significantly reduces the overhead of data wrangling: once a simulation run is converted into PLAID format, standard ML libraries (PyTorch, TensorFlow, Scikit-learn) can consume the data via simple Python loaders, and all preprocessing (splits, normalization) can be managed within the PLAID ecosystem. This promotes **reproducible pipelines**: all geometry, fields, and metadata are captured in one place. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Its broad feature set has already enabled various applications. The original PLAID paper released six datasets (2D/3D fluid and structural simulations) under this format and demonstrated baseline learning methods on them. These datasets are publicly available (e.g. on Zenodo and Hugging Face), and PLAID is used as the data backend in ongoing benchmarks like the NeurIPS ML4CFD competition. Beyond datasets, recent research has directly incorporated PLAID-based workflows. For example, [@casenave2024mmgp] used PLAID to store data for a Gaussian-process regression with mesh morphing, while [@kabalan2025elasticity, @kabalan2025ommgp] applied PLAID datasets in elasticity-based shape modeling. Likewise, [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] leveraged PLAID data in graph-kernel regression studies of fluid/solid mechanics. These uses illustrate the library’s flexibility. In practice, users find that PLAID significantly reduces the overhead of data wrangling: once a simulation run is converted into PLAID format, standard ML libraries (PyTorch, TensorFlow, Scikit-learn) can consume the data via simple Python loaders, and all preprocessing (splits, normalization) can be managed within the PLAID ecosystem. This promotes **reproducible pipelines**: all geometry, fields, and metadata are captured in one place. In summary, PLAID provides a **comprehensive framework** for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the longstanding need for interoperable, high-fidelity simulation datasets. We anticipate that PLAID will continue to accelerate ML research in engineering and the physical sciences by making complex simulation data more accessible and reusable. -# References +# References \ No newline at end of file From 81a4c7aa937bc4f4223946549c1ac5ef784ddc20 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Fri, 30 May 2025 21:57:06 +0200 Subject: [PATCH 09/23] feat(docs/joss_paper) improve paper, no ci --- docs/joss_paper/paper.bib | 14 +++++++------- docs/joss_paper/paper.md | 29 ++++++++++++----------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/docs/joss_paper/paper.bib b/docs/joss_paper/paper.bib index d4cea22e..3c4687ea 100644 --- a/docs/joss_paper/paper.bib +++ b/docs/joss_paper/paper.bib @@ -31,13 +31,13 @@ @article{kabalan2025ommgp } @misc{perez2025learningsignalsdefinedgraphs, - title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, - author={Raphaël Carpintero Perez and Sébastien da Veiga and Josselin Garnier and Brian Staber}, - year={2025}, - eprint={2410.15721}, - archivePrefix={arXiv}, - primaryClass={stat.ML}, - url={https://arxiv.org/abs/2410.15721}, + title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, + author={Raphaël Carpintero Perez and Sébastien da Veiga and Josselin Garnier and Brian Staber}, + year={2025}, + eprint={2410.15721}, + archivePrefix={arXiv}, + primaryClass={stat.ML}, + url={https://arxiv.org/abs/2410.15721}, } @inproceedings{perez2024gaussianprocessregressionsliced, diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 91ce9c20..8b1b2c44 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -24,41 +24,36 @@ affiliations: bibliography: paper.bib --- - # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema (building on the CGNS standard [@poinot2018seven]) that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. -The library provides a high-level **API**: the core `Dataset` and `Sample` classes let users easily load, inspect, and save data. For instance, one can load an entire dataset with `dataset = Dataset("path_to_plaid_dataset")`, which automatically parses the PLAID folder or archive and reports the number of samples, fields, and scalars. The `Sample` class offers methods like `get_mesh(time, apply_links=True)` to retrieve a CGNS tree for a specific timestep, or `get_field(name, ...)` to access a particular field array. PLAID also supports efficient I/O: datasets can be packaged into a single TAR file or directory; methods like `Dataset.load_from_file(...)` and `load_from_dir(...)` handle parallel loading of samples (with multi-processing). +The library provides a high-level **API**: the core `Dataset` and `Sample` classes let users easily load, inspect, and save data. For instance, one can load an entire dataset with `dataset = Dataset("path_to_plaid_dataset")`, which automatically parses the PLAID folder or archive and reports the number of samples, fields, and scalars. The `Sample` class offers methods like `get_mesh(time)` to retrieve a CGNS tree for a specific timestep, or `get_field(name, ...)` to access a particular field array. PLAID also supports efficient I/O: datasets can be packaged into a single TAR file or directory. -Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters (e.g. `init_with_tabular`) to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. It also supplies dataset splitting and augmentation tools: for example, `plaid.utils.split_dataset` can partition a dataset into train/val/test subsets. Analysis tools include an `OnlineStatistics` class to compute streaming stats (min, mean, variance, etc.) on large arrays, and post-processing functions for ML evaluation. For example, `compute_rRMSE_RMSE` and `compute_R2` in `plaid.post.metrics` compute regression errors (RMSE, R²) on scalar outputs. These features (along with plotting helpers like bisect plots) facilitate benchmarking surrogate models on physics data. In short, PLAID couples a **flexible on-disk standard** with a rich software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields. +Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters (e.g. `init_with_tabular`) to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. It also supplies dataset splitting and augmentation tools: for example, `plaid.utils.split_dataset` can partition a dataset into train/val/test subsets. Analysis tools include an `OnlineStatistics` class to compute streaming stats (min, mean, variance, etc.), and post-processing functions for ML evaluation. In short, PLAID couples a **flexible on-disk standard** with a rich software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields. # Statement of Need -Machine learning for physical systems often suffers from **inconsistent data representations** across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD (CGNS/HDF5) or for finite-element data, and bespoke scripts to process each new dataset. As Casenave *et al.* observe, there is a "lack of large-scale, diverse, and standardized datasets" for simulation-based ML, and many prior efforts are "limited in scope … relying on fragmented tooling, or adhering to overly simplistic datamodels". This fragmentation hinders reproducibility and reuse of high-fidelity data. +Machine learning for physical systems often suffers from **inconsistent data representations** across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD or for finite-element data, and bespoke scripts to process each new dataset. This fragmentation hinders reproducibility and reuse of high-fidelity data. -PLAID addresses this gap by providing a **generic, unified datamodel** that can describe virtually any physics simulation data. It leverages the CGNS (CFD General Notation System) standard to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure (folder layout with YAML/CSV metadata) suitable for ML tasks. Because the format is human-readable (YAML/CSV) and uses open CGNS/HDF5 for heavy data, it enables easier inspection and sharing of datasets. +PLAID addresses this gap by providing a **generic, unified datamodel** that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure (folder layout with YAML/CSV metadata). -By promoting a common standard, PLAID makes physics data **interoperable** across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks and competitions, democratizing access to simulation data. Additionally, several recent research efforts in surrogate modeling cite or build upon PLAID-formatted data (e.g. mesh-morphing Gaussian process regression), demonstrating its role in the community. In summary, PLAID fills an important need for a **flexible, extensible, and tool-supported** data standard that unifies diverse simulation data under a single framework. +By promoting a common standard, PLAID makes physics data **interoperable** across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks, democratizing access to simulation data. # Functionality -The PLAID library implements the full datamodel as a Python package with modular components: - -* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and an optional `split.csv` (train/test splits). This design supports **time series** (multiple CGNS per sample for multiple timesteps) and **multi-block/multi-geometry** problems out of the box. All metadata is in YAML/CSV, and fields/meshes are in CGNS/HDF5, so users can easily inspect or extend the data with standard tools (e.g. ParaView for CGNS). - -* **Supported Data Types:** PLAID handles scalar outputs (from `scalars.csv`), vector/tensor field data on meshes (stored in CGNS fields), and sample-specific metadata. The CGNS helper routines (`plaid.utils.cgns_helper`) allow users to query available fields and retrieve data arrays. For example, `sample.get_field_names(base_name, zone_name, location, time)` returns all field names matching the query, and `sample.get_field(name, ...)` returns the numpy array for that field. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh connectivity is returned). Thus PLAID naturally supports **mesh-based simulation outputs** with arbitrary element types and refinements. +* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and an optional `split.csv` (train/test splits). This design supports **time evolution** and **multi-block/multi-geometry** problems out of the box. -* **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and programmatically add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. Writing back to disk (saving the PLAID structure) is similarly easy. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. +* **Supported Data Types:** PLAID handles scalar, vector field data on meshes, and sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh is returned). Thus PLAID naturally supports **mesh-based simulation outputs** with arbitrary element types and refinements. -* **Extensibility:** The PLAID design allows custom physical configurations. By relying on CGNS, users can incorporate **user-defined families** and **CPEX extensions** (CGNS’s formal process for new data) without breaking PLAID. The YAML schema is open: any additional information can be added under the `infos.yaml` or sample CSV files without changing the library. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. For example, one can call a converter to upload a PLAID dataset to the Hugging Face Hub or instantiate a HF `Dataset` that yields PLAID samples. This integration has been used to publish PLAID benchmarks on Hugging Face. +* **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. -* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. After ML model training, the `plaid.post` suite helps evaluate results: e.g. `plaid.post.metrics.compute_R2` and `compute_rRMSE_RMSE` compute standard regression error metrics, and `plaid.post.bisect` can generate bisect plots comparing predictions to true values for all samples. Together, these tools streamline dataset preparation, analysis, and benchmarking. +* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. For example, one can call a converter to upload a PLAID dataset to the Hugging Face Hub or instantiate a HF `Dataset` that yields PLAID samples. This integration has been used to publish PLAID benchmarks on Hugging Face. # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Its broad feature set has already enabled various applications. The original PLAID paper released six datasets (2D/3D fluid and structural simulations) under this format and demonstrated baseline learning methods on them. These datasets are publicly available (e.g. on Zenodo and Hugging Face), and PLAID is used as the data backend in ongoing benchmarks like the NeurIPS ML4CFD competition. Beyond datasets, recent research has directly incorporated PLAID-based workflows. For example, [@casenave2024mmgp] used PLAID to store data for a Gaussian-process regression with mesh morphing, while [@kabalan2025elasticity, @kabalan2025ommgp] applied PLAID datasets in elasticity-based shape modeling. Likewise, [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] leveraged PLAID data in graph-kernel regression studies of fluid/solid mechanics. These uses illustrate the library’s flexibility. In practice, users find that PLAID significantly reduces the overhead of data wrangling: once a simulation run is converted into PLAID format, standard ML libraries (PyTorch, TensorFlow, Scikit-learn) can consume the data via simple Python loaders, and all preprocessing (splits, normalization) can be managed within the PLAID ecosystem. This promotes **reproducible pipelines**: all geometry, fields, and metadata are captured in one place. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, when detailed instruction with PLAID command on how to retrieve and handle tese datasets. These datasets are used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] the datasets are leveraged in graph-kernel regression studies of fluid/solid mechanics. -In summary, PLAID provides a **comprehensive framework** for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the longstanding need for interoperable, high-fidelity simulation datasets. We anticipate that PLAID will continue to accelerate ML research in engineering and the physical sciences by making complex simulation data more accessible and reusable. +In summary, PLAID provides a **comprehensive framework** for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. # References \ No newline at end of file From 2c3590338fb8946bd954f4c1ed8d11cc1c704cfa Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sat, 31 May 2025 07:49:40 +0200 Subject: [PATCH 10/23] [skip ci] fix(action) remove 'no ci' condition on action --- .github/workflows/testing.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 47ee88f8..43f73260 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -8,7 +8,6 @@ on: jobs: test: - if: "!contains(github.event.head_commit.message, 'no ci')" runs-on: ${{ matrix.os }} strategy: matrix: From 49ca191f53923d3b7647636c91f73fed404c3076 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sat, 31 May 2025 10:23:01 +0200 Subject: [PATCH 11/23] feat(joss_paper) reduce paper size (by mainly removing repetitions) --- docs/joss_paper/paper.md | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 8b1b2c44..444bc8c0 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -26,34 +26,31 @@ bibliography: paper.bib # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates **time-dependent**, **multi-resolution** simulations and **heterogeneous meshes**. For example, a PLAID dataset directory has a `dataset` folder with subfolders for each sample; each sample contains one or more CGNS files (meshes and fields for each time step) and a `scalars.csv` for any global variables. Dataset metadata (descriptions, problem definitions, train/val/test splits) are stored in human-readable YAML and CSV files, making the format transparent and self-describing. +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. -The library provides a high-level **API**: the core `Dataset` and `Sample` classes let users easily load, inspect, and save data. For instance, one can load an entire dataset with `dataset = Dataset("path_to_plaid_dataset")`, which automatically parses the PLAID folder or archive and reports the number of samples, fields, and scalars. The `Sample` class offers methods like `get_mesh(time)` to retrieve a CGNS tree for a specific timestep, or `get_field(name, ...)` to access a particular field array. PLAID also supports efficient I/O: datasets can be packaged into a single TAR file or directory. - -Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters (e.g. `init_with_tabular`) to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. It also supplies dataset splitting and augmentation tools: for example, `plaid.utils.split_dataset` can partition a dataset into train/val/test subsets. Analysis tools include an `OnlineStatistics` class to compute streaming stats (min, mean, variance, etc.), and post-processing functions for ML evaluation. In short, PLAID couples a **flexible on-disk standard** with a rich software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields. # Statement of Need -Machine learning for physical systems often suffers from **inconsistent data representations** across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD or for finite-element data, and bespoke scripts to process each new dataset. This fragmentation hinders reproducibility and reuse of high-fidelity data. +Machine learning for physical systems often suffers from inconsistent data representations across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD or for finite-element data, and dedicated scripts to process each new dataset. This fragmentation hinders reproducibility and reuse of high-fidelity data. -PLAID addresses this gap by providing a **generic, unified datamodel** that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure (folder layout with YAML/CSV metadata). +PLAID addresses this gap by providing a generic, unified datamodel that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure -By promoting a common standard, PLAID makes physics data **interoperable** across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks, democratizing access to simulation data. +By promoting a common standard, PLAID makes physics data interoperable across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks, democratizing access to simulation data. # Functionality -* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and an optional `split.csv` (train/test splits). This design supports **time evolution** and **multi-block/multi-geometry** problems out of the box. +* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. -* **Supported Data Types:** PLAID handles scalar, vector field data on meshes, and sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh is returned). Thus PLAID naturally supports **mesh-based simulation outputs** with arbitrary element types and refinements. +* **Supported Data Types:** PLAID handles scalar, time-series and vector field data on meshes, as well as sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh is returned). Thus PLAID naturally supports mesh-based simulation outputs with arbitrary element types and remeshing between time steps. Heterogeneity is allowed: missing data is supported, and outputs on testing sets may be missing on purpose to propose benchmarks initiatives. * **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. -* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. For example, one can call a converter to upload a PLAID dataset to the Hugging Face Hub or instantiate a HF `Dataset` that yields PLAID samples. This integration has been used to publish PLAID benchmarks on Hugging Face. +* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, when detailed instruction with PLAID command on how to retrieve and handle tese datasets. These datasets are used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] the datasets are leveraged in graph-kernel regression studies of fluid/solid mechanics. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, where detailed instructions with PLAID commands on how to retrieve and handle them. These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. -In summary, PLAID provides a **comprehensive framework** for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. +In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. # References \ No newline at end of file From 47029dd50578e2a401be2be44891551930c24d42 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sat, 31 May 2025 10:30:38 +0200 Subject: [PATCH 12/23] feat(joss_paper) improve references --- docs/joss_paper/paper.bib | 26 +++++++++++++++----------- docs/joss_paper/paper.md | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/docs/joss_paper/paper.bib b/docs/joss_paper/paper.bib index 3c4687ea..23fe9878 100644 --- a/docs/joss_paper/paper.bib +++ b/docs/joss_paper/paper.bib @@ -1,3 +1,10 @@ +@article{casenave2025physics, + title={Physics-Learning AI Datamodel (PLAID) datasets: a collection of physics simulations for machine learning}, + author={Casenave, Fabien and Roynard, Xavier and Staber, Brian and Akkari, Nissrine and Piat, William and Bucci, Michele Alessandro and Kabalan, Abbas and Nguyen, Xuan Minh Vuong and Saverio, Luca and Perez, Rapha{\"e}l Carpintero and others}, + journal={arXiv preprint arXiv:2505.02974}, + year={2025} +} + @inproceedings{poinot2018seven, title={Seven keys for practical understanding and use of CGNS}, author={Poinot, Marc and Rumsey, Christopher L}, @@ -30,21 +37,18 @@ @article{kabalan2025ommgp year={2025} } -@misc{perez2025learningsignalsdefinedgraphs, - title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, - author={Raphaël Carpintero Perez and Sébastien da Veiga and Josselin Garnier and Brian Staber}, - year={2025}, - eprint={2410.15721}, - archivePrefix={arXiv}, - primaryClass={stat.ML}, - url={https://arxiv.org/abs/2410.15721}, -} - -@inproceedings{perez2024gaussianprocessregressionsliced, +@inproceedings{perez2024gaussian, title={{Gaussian process regression with Sliced Wasserstein Weisfeiler-Lehman graph kernels}}, author={Perez, Rapha{\"e}l Carpintero and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, booktitle={International Conference on Artificial Intelligence and Statistics}, pages={1297--1305}, year={2024}, organization={PMLR} +} + +@article{perez2024learning, + title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, + author={Perez, Rapha{\"e}l Carpintero and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, + journal={arXiv preprint arXiv:2410.15721}, + year={2024} } \ No newline at end of file diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 444bc8c0..8c8dbbab 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -49,7 +49,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, where detailed instructions with PLAID commands on how to retrieve and handle them. These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2025learningsignalsdefinedgraphs; @perez2024gaussianprocessregressionsliced] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, where detailed instructions with PLAID commands on how to retrieve and handle them, see [@casenave2025physics]. These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. From b8e57aa1c1a7c118772d2f2fdeac19b09e90eec8 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sun, 1 Jun 2025 17:13:28 +0200 Subject: [PATCH 13/23] fix(docs/requirements.yml) revert added matplotlib: not needed --- docs/requirements.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/requirements.yml b/docs/requirements.yml index f6002e3c..8934591e 100644 --- a/docs/requirements.yml +++ b/docs/requirements.yml @@ -18,7 +18,6 @@ dependencies: - scikit-learn - datasets - pydantic - - matplotlib - pip - pip: - furo From 923d2de054396fdba7359444c6c14480f6fd50ed Mon Sep 17 00:00:00 2001 From: Xavier Roynard Date: Tue, 3 Jun 2025 09:30:44 +0000 Subject: [PATCH 14/23] (joss paper) add link to rtd doc --- docs/joss_paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 8c8dbbab..4332b048 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -26,7 +26,7 @@ bibliography: paper.bib # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. Full documentation is available at [https://plaid-lib.readthedocs.io/en/latest/](https://plaid-lib.readthedocs.io/en/latest/). # Statement of Need @@ -53,4 +53,4 @@ PLAID is designed for AI/ML researchers and practitioners working with simulatio In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. -# References \ No newline at end of file +# References From 69cb566b9b8b74e1698a526344d3503d3d5c038f Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 17:50:15 +0200 Subject: [PATCH 15/23] fix(joss_paper/paper.md): small name and orcid updates --- docs/joss_paper/paper.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 4332b048..2451ee5a 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -14,7 +14,8 @@ authors: - name: Xavier Roynard orcid: 0000-0001-7840-2120 affiliation: 1 -- name: Alexandre Devaux-Rivière +- name: Alexandre Devaux--Rivière + orcid: 0009-0001-7474-944X affiliation: 1,2 affiliations: - name: SafranTech, Safran Tech, Digital Sciences & Technologies, 78114 Magny-Les-Hameaux, France From ed9f2993de9857817630100f4ba03daf34e6554b Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sat, 7 Jun 2025 18:03:05 +0200 Subject: [PATCH 16/23] fix(joss_paper/paper.bib) correct Raphael Carpintero Perez last name entry --- docs/joss_paper/paper.bib | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/joss_paper/paper.bib b/docs/joss_paper/paper.bib index 23fe9878..71fc48c9 100644 --- a/docs/joss_paper/paper.bib +++ b/docs/joss_paper/paper.bib @@ -39,7 +39,7 @@ @article{kabalan2025ommgp @inproceedings{perez2024gaussian, title={{Gaussian process regression with Sliced Wasserstein Weisfeiler-Lehman graph kernels}}, - author={Perez, Rapha{\"e}l Carpintero and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, + author={Carpintero Perez, Rapha{\"e}l and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, booktitle={International Conference on Artificial Intelligence and Statistics}, pages={1297--1305}, year={2024}, @@ -48,7 +48,7 @@ @inproceedings{perez2024gaussian @article{perez2024learning, title={{Learning signals defined on graphs with optimal transport and Gaussian process regression}}, - author={Perez, Rapha{\"e}l Carpintero and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, + author={Carpintero Perez, Rapha{\"e}l and Da Veiga, S{\'e}bastien and Garnier, Josselin and Staber, Brian}, journal={arXiv preprint arXiv:2410.15721}, year={2024} } \ No newline at end of file From 55dda97dac7f9d619232693ee211d89eefa8ae33 Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 21:18:22 +0200 Subject: [PATCH 17/23] fix(joss_paper/paper.md, joss_paper/plaid_architecture.md): small text fixes + introducing new illustration --- docs/joss_paper/paper.md | 14 ++++++++------ docs/joss_paper/plaid_architecture.png | Bin 0 -> 124908 bytes 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 docs/joss_paper/plaid_architecture.png diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 2451ee5a..7d93fa94 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -1,11 +1,11 @@ --- -title: "PLAID: Physics Learning AI Datamodel" +title: "PLAID: Physics-Learning AI Datamodel" tags: - python - scientific machine learning - data model - physics simulation -date: "30 May 2025" +date: "07 June 2025" authors: - name: Fabien Casenave @@ -27,7 +27,7 @@ bibliography: paper.bib # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a Hugging Face “bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. Full documentation is available at [https://plaid-lib.readthedocs.io/en/latest/](https://plaid-lib.readthedocs.io/en/latest/). +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a “Hugging Face bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. Full documentation, examples and tutorials are available at [https://plaid-lib.readthedocs.io/en/latest/](https://plaid-lib.readthedocs.io/en/latest/). # Statement of Need @@ -40,9 +40,11 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Functionality -* **Data Model and Formats:** A PLAID dataset consists of a root folder (or archive) with a prescribed structure. Inside, a `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. +* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in Figure \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. -* **Supported Data Types:** PLAID handles scalar, time-series and vector field data on meshes, as well as sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (so the entire mesh is returned). Thus PLAID naturally supports mesh-based simulation outputs with arbitrary element types and remeshing between time steps. Heterogeneity is allowed: missing data is supported, and outputs on testing sets may be missing on purpose to propose benchmarks initiatives. +![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png) + +* **Supported Data Types:** PLAID handles scalar, time-series and vector field data on meshes, as well as sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (thereby returning the complete mesh). Thus PLAID naturally supports mesh-based simulation outputs with arbitrary element types and remeshing between time steps. Heterogeneity is allowed: missing data is supported, and outputs on testing sets may be missing on purpose to facilitate benchmark initiatives. * **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. @@ -50,7 +52,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, where detailed instructions with PLAID commands on how to retrieve and handle them, see [@casenave2025physics]. These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these dataset. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation (see [@casenave2025physics]). These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. diff --git a/docs/joss_paper/plaid_architecture.png b/docs/joss_paper/plaid_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b31c7d64deeeb997fd68d116956393c638adbcbf GIT binary patch literal 124908 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

9;8&sBEYfv?ns7KC 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

if;b9GOI`nuJqr*&_4V~LihlpYxOte~ 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

3LrNZ6jHijIHL0xqp^fDKp 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 XYuT;_%RrWW3_#%N>gTe~DWM4fpthA4 literal 0 HcmV?d00001 From 72565640cd6d745055f39a750128fa3d78a238cf Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 21:27:08 +0200 Subject: [PATCH 18/23] fix(joss_paper/paper.md, joss_paper/plaid_architecture.md): remove duplicated 'figure' word and illustration artifact --- docs/joss_paper/paper.md | 2 +- docs/joss_paper/plaid_architecture.png | Bin 124908 -> 142524 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 7d93fa94..d140e0dd 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -40,7 +40,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Functionality -* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in Figure \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. +* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. ![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png) diff --git a/docs/joss_paper/plaid_architecture.png b/docs/joss_paper/plaid_architecture.png index b31c7d64deeeb997fd68d116956393c638adbcbf..1697926379d3b9f962d04fd95b8af965cde41ee7 100644 GIT binary patch literal 142524 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 O@4k$Zbne|}um1;n$|#@! literal 124908 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

9;8&sBEYfv?ns7KC zO6Hrz9JlVn0iyUsu|KOV)|@|Th`nFOS=Ex{=9a57Y~5a@hcA4){%s4Exw#LokFbj+ zYrAKeRdaYFj6%&%?i+1U5Za48$U!HeB|dzwKg*=2*Xa7$^lSbwN#UlhQM>Dsl?yF!^X!&6}xeQ|Lp!7rOd zzOOVwRRWG1UyjlL6n6ws&a}Ln)TaXM?krhe8zJ7+mrC!c*gFVLmuk(&zLD$rOZud< z4RP|&;0>#BUgKRHJEyoZUm!dC220$3zu=jn#1pjFj&r(baaMMVYAhCbki!#VVc>HM zHH8#8IyQ<__1bFJIH-18N3n)U!LBTUPCN%+uHi_hna0|RBdg|vfn9iB#$hPlZO{kI%UHnAE}fyFbZa`P`*R)9x3p#h3mc_!)KS`@i=XI8N$Sp9 zjB!gM-WPi-6ZhA-aXA^NM)D#ncp z(Q%8$8Xo4vq0BQ?ns&g0OhVeAEPN#qq&ZWe?}9Y9{tjiBaSQ4#dV-@X2POh1s_|#i zm<<%tB);JatpT(#^^i1f>q$Bqe>%Le5dI5c5yKjtlHuoD=G}jcDY6Wu(rseBzLO$}WS>qRD z4M)pGSbKzY(5%mGWhV@>v~pf*dg622{?c=jy}x4EI=BEs@0*<+{Tf~ml!DtB0E*So zmPP2I7bp|^tld`ptu;ypm>X7T8kRgWZZba0ZoKaJL5n=-;y2$mlorn?PiaB|GGSHTL_0K^2^lZazMq6CJFw?`eNO*$w=4@QG`06YLKx#U4_2 z4eH}Cop&)$Z(++x^3?a+q;y+G^{?&a+wC<5kvwmtK@qtY7LG}rAo=0;mNoVlS(n0W z=fV6;$La<*d99wgW^*m+x>v5vv*PTPQ5#oEE8T{;oKg~=7n-}NHn?%h-d-lrZhyFK zUYa+(w*-gHGH_ER^cU5K$(YJi>i(>F6Vl{D9s@FXhDoJI(i6x;&Nr+PbykKZ~1Si%@5jM6; zrI7|hg=CQ&zgABZLtjMDGvUmjs!)Z^)oPTtlqpxOciB6%G5?RTw+xFiTEn&#QBaVSk`8GYK)R6>6$C^;V2~1! z?xCf-TS`hmaOfUDI;Fe2Yv|@%xc5H3_x<<&L=SXkJ?mL<-`90sV&_$Uo{Ct*)J*|u zQcPAilGq|26oipdk7|~mSA3zLZi<=i~3yT>T)_= zG)JhYlv25SuVrxL(C4WH)7SXp)EMg56a1wO+-KW3>dAJOP}Fob^NwJ9#{7GlTOx&M zLL{9B3-HML3)BI;lM03!`ty`%yQVR!hNWifZ&WLuQv5Slldt91#>P0LDc*e8t7pei zxtXLlr3{?ZEwQ0%S^>Re&F!#&x4c>@B{lCtM8Mcgo+I zBp=_9kuwOl!`>sa zXy`ZIQ=@=}c0R>NvnHA$7uTsu%fdz%C^C8Jbt_gOv+ZX~1XAW$sx(da4-ASM2!m>1 z=H1yt?;lf%&$;Z0q$qYrtW=m!tsJ#{YEq{!>(rp1+YqF3m5Y}>tN!XX+K>$2Gu^6?KOA*c&JU{QOz03L}e$h zH@f2!p~=JVKw-TL%8w-c`_?IfO2v9F1opo@SiU;!jX#9&>+H2ZG`zVIIJoL3T6q|M zdVZ(^qnf|5d#jE88Y&CuV;KZ6X zF7I=gzGP}qi1E?fdL?f*%?`>HF0&BxzG$>*LgIi8m7I){g8+R5=Tq6jM6~+ih+n717$D&#s#NJM}!nr zMz?=eOwX8MRs_ZNvG$C~ylv70#Ta(9G3wp9S|^+hZ%c4zZucL1f+N z@n@ey3ZGK2TVlIOiu_EgKUM09z8ESv=fpNuuiBlkf)FI4`rS~tby+{h`JwHclE1Lo z0ELWvHS>s-33IV-O0t=IiEXY{<;+OygUdiXUO(~@UQ&JfM*l@C52Y2@sbd38Dy$Ur8#YO)|jqeu&giHP&2b0dG z2vPD5KGO`vj{YoH(l^Juh}-x1Jwt?C8CZxPiZlcZr(C=pW-n*+p%|2+F@)fG+$om%?=2i!7^Cw$1L<+vK8x>mUlvsH5`H=+PDllhkWf*QFywm+v;J3SZCJ%)2Uze|j$qJvp?TA4!F ztLvd!vs+$7@miz@iV5o|9s}rawC4K=btQ3R6BfKGJ=!0p_3E=v zLghV2Nr;j8#q}9R^k`3ns7(^7{6E+^-04qUzg#>3@MCjskULsb_boxIToN< z@s;&f-&dG({q;tFeWvJ-B%bKT(1$+)DlPB}vtz}%t1!4F8rtz;u8421*IR9>DD*G{ z2kVDYs0|VRk=3?JH|E3r<06D0FVjH<@s92aJ3DFGSwX=Yf!us|*19rq6zkVr{lwal$IxCR{@#=CIqPxjMt-7I zr+ln6B_C_wT^xhIZ%`UR;E?rh=0m}I&X0UCNf(R(5kNuud0$BXd0Y9IHp7~okSx^Q zsj6V&@7!NqM^?l!pslBbl6`l9BrzqZPk>I~g9mnZ{DcX|V@IX4d7Tj$Zw){VzESLAPQ`mn;APqxYHK>2Hparuid)*ob!Y%_|}$0_35S9crC;f6Gj3QG4>#uQd27d%adS4dWRR!if6gOrO)JI^_W zLoHgL32yA4Je6O!wAVXg!E&*R)16 z-|O*fH%51CS<$~upaL6N<<4x@Jv7X7(H%>#7=zjtFcq$juld_<$o@4t(V+ZIq_JCWlMnVVT*)KDU zr(P74-nhKgh(;L$YVH~qwL83bHn^2Aq1}E}cxN5} z9nc1Lv+-E)rJcI&6+J)0ug)5KF<83hbkMs#P-2bWr|GDpp8vT;)ADsCg~)Oj3p@%^ zpO9d*EGH583@MQuIEL4Bec!eDT8(97!ENC@0vX}=27B+VnW5^=XQ3vP7L3sSUqzzY zVtZU9Q%SPVX)Vyr5~Q47p`xZ$c&a59HJI6z_DUWvQVsm7=oJ2oTvo#(z{cBAXrIHt z*D>1lj~rhjSByHSB{fQ2C{4{uokTs`dVAxQ>odkJL)D+hH#S%E{QfgY6&^I2j!v*a z$lAhbX*EkZUcvfWr6KE}eo!uPT5ZV()u7(6+ke`hU4U6myBads;o9%8irz;u>r7tx zw>ICqA`otv!JDurq)9s{G+mD$J65SS=B}LD*To|CCJk9=*Z0=<|y(w}WYOi#Z8M?y|+u3G~mG{@*$c^{c*rHal2neXLeu#g~1LW<34(5r1 z1wnE7LoN*$l2IRfIj{`Yx2+^gp4}el(c5e^YZ7eLDylStqn;ILqa+((ufqp!ApX+d z+WL}m8`3k1CIZJ#XK%%wPxuv`flbks+Z|zG&VJ)`lAZWYq0D1{0nKJXny5>f2+FwB z9>#VcS@s2uI~r-*AXlZX^6S~kf{)U@^=UMgQ+SBZIX9-mw&XXuPq@Ta^34dFmYmFH z3{@Ytpx;lDjbD67gI~H-&z$~!l)qw8`l_&xHtkRo$)l7SHE|j1r)qUhV0Wl7!n@D0 zqVa;C1T0KL=s9U-hSLUgpQ`yjwx^fCTm@1L0)KBN<+4h+IL(a^qz9$UpAg3Cq{$Um7HT zZntkuD&On^O}pNsG8sW~Puxaa&7FS2!4blo`wo#l-`IGy07SMoJ?;!+!H>1&K@TUpyVt_}yyCvEDP- z_=Qqa>M8kpD9MT)dwvl57}8;Zc@O+05#l2Au}Lcie!N2}Rw=`_;S23kKC7ZjAt!q{ ze~*aR`D4LZ&A^VCUC37q!3oz9*P1@Wp7N3)NzLSr#sH8FeLRZcqk(JGD=+7-!kpq(f%tpKHA__Xd_>Sfy?24T=;*r(9Hf;z8rp`;7Dk^dVk}o)oJU!Y90sC_&I0u;wNKv{^=#id_39D^znJfQeVVtg{|0aqp->g;U z+iUkt_R}eYo6VR`m1RXYcr@I|F&1=Osymv>6;f&rM#uI#g3<%fq2O$2ko)ZW*`{$K=?xVBveA+1Tf?ZcP|t zRIbwkt4k?1DO&`^)g@Sh3l@M4@_kQEfz;6eU&lRub!EKG#Vh6gP-_ZaAjep>B7Zy= zZjATE$M+a_r0v@{pT1hwpDco8~WV@Tk(!cc? zshV-2+-Pi;R%eYDQx<7`Z@0-dq!1K4!50r&&iazWo!D;;p+F9J6pKbktUs zRyHQwqWZm~;6R?Hzo=CsM)K!@;wyM|MPr2eX%pT)Yx_alX8$sq1*&w(fz3`8MVUv~ zm~&W%HYVg`#db}5$G!CQ?D~S##$0$-=uVDET+0L3A3N&!!nL~=$Ys`(uUz`^_h;D! z^?I{J;hUDFL1Y2efrrPXSmH|~g(8NOz^;&uA$$0>MoMo~PMTh;;UhM})K4zMQSogJ z?E3ECsV>PX(xCo}8N|_CAxDpJ@dIOY>-Nn3zLK_`bR2IpP^?;P^Jj#CDtC;ZZnKb= z9R)9IDdY=JB?<6 z)GD*r9KD(_vLyFWr;~Rc-@kIQHS9Q)G)%x~xQe=c{yXn|`Bws`5AbdC-p3vY7TIgM%Ur3>O)VbNu z;ebtJ$hBN`!qAx$%+M_y4~j-+CG|qg2{`! zqDTxVMZ{c!{v>z>T+g2zbQIk`=q!w0UVo{;IOz3usu@USU|#3BPEcBXVx}ezow550 zXU`ckk39Wj2@Ex2<3{vxxdT@P<799?vFH|Q~2-N@*(G$fq!DQ5Iri#U6a|7&`|PleA?Fpn(obh_i>vk zp;2;`zShJvZ;gV#o${vu`MjUf-Q%YVW0HZymDekJ`XvKbFi#`w*sOi#^(gTRHGWx5R7Tp2ccxH`x1A=4EqB`vC9uY z&WI*Wr>W7J95@wzM2dbO)bND0svpfQ9dx#*b*zB;+f3gcJ*{kgrplY3rdgLgHp53Yyvl(kAlGX#_pkN(mD z;qTT;vc(!OEF+k=#^4wygkjDuqtTTNZd8_i#4Prw6D$EU=l}Un9NwrG1)kQG7^~DQ z5Sjf_FV1jR;Oh`#q0iBuecC+!*Qzq_rz|Tufw?%+l*ug1*1RTZU#3% z1Jly+Dy=7xM`%1+@TRx(JDQk65OfA;-FLWpz-Q) z$tm@_iqwLb&;N|W<2&M2aLq~uLRNJu3?la7)}%pcxkyDq(@!;ac~`)j`GVK~7eCeB z@UdmXH9dd@Kn|>UfnX00SkC=ZU@@*`>!wau$2r*m+uaz}R1AblPV;lvK+C$btaCa8 z>AqEmvplxM-pw>jo{4(#X1Uj8cTnx;vCFcO#>G_BpA4%z6q;X%vqaksw-OfrYJ@Ui z=x!k6C+{W_9?oB*yqPO#tarOTfHHA8Y^z^;&-~WpbJJno^I+SFVN#L#2-jl5r+*u9 zr|3z$y)w#E&5v_1mcQ(37UuqZGX^}S8BPtW-%Sk)>rMu_CVq7SF&(~u#st@D`GAdL zTEj-yv9#x-J|;nK=13nf>XRomE{OlTXfhG-msZUdNGIm+2V2YW^oaUYG! zBSUP2#tKaeyEwsz4591S5O3k~;hCY@b6+>FSvXXfq5T4c5rdH-2ZqZ%!GhgJVD(G6 zz09dCByfN71bdI(?JyK^{^h2Lpu%jHwXosDIntNqbpA38*1zHrlZp9H(OAzO)nGjDAruu-w2R5C60R1BsA9*O>8$Wwi^ z_rEQkI+=7$aar^d-SLYa6$`~*Cy`T8_T9>-ULM%zY2|;#NlN|Si#0Bd%oplQ5mEz2 zOd;*8ZO}W98_8G8hs|irQj6_Ppg}caSs}2%r5%lB7BQE>;7UaqiJb|eiay9*3sG5t z5Z7MdcHqmPv`i;*4JD=6wsYM* zC%r%R_0ct96_u0w+Y_bsBbrdh{&Lf?vQOr)kzcAcpZ3OdJlN`7P8IS;{P@hqf3Upp zI37{6X(dpTyK|AgU41xhP4$sE<~J3~$3ox)Iui$|^p|&%CPSb?n>MlU%l`#a#alZ; zDf~L}tLEvNzZ)!EBYU!eFo@s15_R$eLWHGZu$LdJNLSVR)?(pm`y6Yz6{8mBlID0D z#I{)kggmdMmw?jyn5@1)3wtoU(B&i&Z4i5HCO-B$Z}Jdp-N0T_+hU?bdg&maG?UnR zL~!qN!p1zldnJ6O+pB}TJ=JB0$y@embQ{{v7P~7>;-jpR$)f)nNUX_!XNjb)}K!KX6%L(a0|syW z%tuuRXdiMrNCkbxs(CMr(O6?oF{|}@Bjjaozsm>L*>e$H#hD(UJlnxd zpA{9|8-9^`s+1|y2^4w-bGX&Re>)k{3Q&Z}cRfwsDSY_pe)Ici!@Ar6-ib*Q94>N_ z`{IEtX5@o#QEoO>DDxuEc@@f?z?X65Y6jPJ+E1)xOzxvyX*7K5=3&mz31CndqlID3 zNuZHuP1)hRw^K)6?0a3_iIKyAfF(igXPG3$#@kz9TmOCvdO!JN{#@A)pky(Sc%h?G zvuZ7fZia)TM)7a;`ix1ut{Aq=rnV{lr8*Z>QT?@rvnMOe>#ta#IJ&aJCTIFr0$g3o z&Xag6Xqpsctm;MLTX%MOwLMB?p!lEcPop1x6p+2Cbpu9x?rQ+||79h(TeW1c(Bym9 z|ICBd)o`1Qzdw}LlrU=mv-Hle-=(Ui{Q@Y}V;*1&zn3O%!da*SFa_i5dDUg|#59ka z>Ytr1K0vi&XEI$?i~!V)@AO_NHqk^rj3>fxO@Q1?%W=m3YXiVwb(j{`{p3aXCkRt- z#zA!0A3VZ*-}j>F9PE3;&QdMzKp4YJSe#=v4(g(ZX}7uSM~3DD8NRcQjHVzgL4Qwx ze(w%R4#e1R!UR@{-_-&kHM5=A)xPBMY}Dy@9$SC+D96ovmziOL@;iB?sN5U--@c(q zE(g{uOsa$nAHB*|j=u{v0O!Yi_0{LmMDF3bNb_eecO8q?M2}ZWk_zK!lPH<=W!=?T zu`vM(jLus|n89PiF?`tMLthHRc;uHVp^y*%V0)&hKsEDkKa>NZ9^YYXj}aX$Q@j8k z2Y_9U! z12hi8PLF_uUKyL+sZcE^bvRc;^02qgXG`jaKXm{%h9EtdN`@@jaxlkrImHF5BE}P; zGIpo@TutG+ELkMazB%7rQvfgjhn+n9ZBXR@d6}nZ8E*Wu&WZZnB@N|r8keq4jsp2H zdTH8TS*cwW_D><TS-`3S;R3Fv$m7j43AI_lLZaD@S9G^L7<%x$Eoa$Ol*_ zSqymrV@I%Ile_DcUvaef*?dZpuv1A8ofOurgijMN`5Sgdy9yzi4hJL7b?nuq>Hj+I7lr7L#RE=+OO(M6_X*ADC=k?TE#G_7uJBo*@Az*+>+-#uW%bq zGfJi4KRE@^_qgqnSg6cSncm@6E9%?1VwUpa2H*-e7*ZR0J?@`isq`qCJ(R zaLNjLWf}gtHMOibr9&16^xER=a=z%q(*fdOdB_%?CHU)Ix99Ob!jMncp>S54?}zfF`Ts5m-xh9vYJuIUdG)x zxW$^>O(PG3!i=h7iPD%@D2!{RTkbMgsN1JCdIf?#oxMX#Q1#{3_3Hk)8In%mczfuD zvcqZhmr=ogei}yWb*iEJnUXsX<~9(%O9vR^L&b_^5Yf+Dk{Q>?#x-9oQSuAGp-?<@ z1B{~X-ySup7VB=_TA*+?c`obfBSB0>54JCc%F{Y+i%qv^EugNp0kpwVwt!|_!GAu26SXt2ry)9119K1?pWSPSqC}R+hurY_JH=e`Zdy3G+piu?LA1G9h_X#j< zB@5UN<10e>{SXYlNPB}tUd7nj2s`~T4IxTIyXUUUwB1STv^JgfdNSGDO{P=1LfL7< zNfMH{zxB)!o4>1-uKp28B&NVg!qW2L3ze+Hl{NXqC%!InvAzF2D`mE%mxeHYKBG-B zLLmq8%o|_|Z>N>Q+X==F;Mx|Dy?ZPejN-{O!Z^R|u5QQA{0rvFpshq+(bTEvBzutt zjP#NMxU?*M@R;(X(O+tq$R}ChpOG}4HT-unvT=G8l>I-P2G4N%P*JI@;L!lP)hlwU zMSf8Kb&2_1uv02@yofCTy^-*~UnR~$ua%w8Owc=)vTZa<*COYgDk!??W;)e-_q`Fx zE9$Ba+F4P*&$K1#K93;~`*~m5MNAj*Ec2tuE)Rom?8Pc$}tW8eYwx$oJ|o+xIPHUczv7;*xOEwm8`#3tml~p zF=&d6l7RwZhZ@zhu5EEA;u^1$99s6iA;Kv{K8aM8p+QDX(6-lLVz-G)cNPt|{XamT z*@gio5- zQfNI|R~c^eFm#T*c=X?LBonwGqz|jR0e-Kpr+m{tQbmOQPv<-udabvoD)$^7r1pSb zqNX1vNrnks3DWb(@~%Gw-j@}f+lw)W9Swn#RF~a>h1ze%(jV#oSLa|c7_#|ZQ3uNh zRgVgj=1;rjj_Ydgi&o9H_wV=hh^YPgrMdCi33c%*koV=r`qrcp?m3V(JK<8H(^#f4 z1K9=P>>Jc7BF?O4BZL>ahLn!(>RRg>+Q3B<1|-)CAQHNdle4yV#+5(zhJJHh3g!Dy zHTW^1GH^W$F@7#CLUmxQQ})77>?KcXdVRoak9SQcEwobCUNU7YEo2)JX;vaI7b%u= z3Cx@0LXVNH_IfEC#VK7Z?n6^17JCx7WE$_+G* z5o}(Z#(H))D!0Lfg$F0FvpiCYZ$4Y}8Ui6vnO{?$9}H$y-nGqQys<>pcN_LZolb() zvXw)bJzIC*H12-ATl|%RtWpZH>R4S=6*j!XcxPGsnDKy{kBq>!o;J)_5)&4_cJhP0 zDlV&9B$sk~g62;JS_SME4t$t}0^)}iZHds>mMl5~q+b#3tSzD27|--y<4YP+9QQV; zxbG56QU$k>uGAj^od6CMLB(xCFaE3bk?@(`I3rZtkNPEdg-(O}X7*8`J2g3qSEzLA z{;*QzawP1Ba5BR{zKt-ZryDRk+r1I!aIAVq9YpfIXYXO3&94R`j~U!I0jhq`Lz0ER zrrP^jhe9nw0rw<(mY!za;0y<_tP<)s2h{{Jp-IXoG3gQUtanE6* zXxJ15h8erLd{C$6A}E}5)@qyB?{6IMLC?#+b*EgTJIMM9fK4gwL7a?`w5#1T8F?-g zS?}Yp$OYH0eXjuZtW}Wid&RrSm{8u}vFH-6x5-ZV!i?!*I1{k^d&9}eK!(&@!(}1KRG_GnvfUwx>a`YLC+0Se7=;{5 zyX72^a)vC@$EvOT*Bcpvhvq5EK!#026RIFGw^48?68p_R;yfBaf6zXvy>M$$yIZLG zQc!)!Bw@Ip5bnOGLxV_JIht2Rb1~MQsNO%B}#59 zSJ&rIGaBfVXwi1sWt=6WG`9*ZK%Zjnb^GJ}P6J0B`Yh)ON*tQha&V1=6g3U*WB~nV z#sUxHZ&Y-U0`ZX37zZy{&W&8K^C~sgNzalL&frg2uD2DPHazk)fQHxYVm9@VhBZ;F zo8=2Jih>IYpnn;ojYo;nL~Qvx;xBAa;=nY!U)`k?yMzI%- zsRI20q77dmC&M6OZJh>mOoR|Im`wDy=pqM_7s4G>km09Z1M#tL%PIO-%};eccF9eS zNAnu4z&44CDcD(dLI8NpUTUH!XFIF!LHt<_wMV@Lj97A}D7zpTqQw^z>`eXasL@9^ zhVH-P#u4?c{|`&6uv*Jo2Zf49QmC^mf|mi0Ab)V`VRZ;tr`0X5*(}wYIJN=mc69V@ zoTt+FseJ;dsW5R_v%>o&mz|JZPUGR^uOgS4tj%yu|8NG7`ruLY&5d5sPYjrKPA*C{ zU?i3D<>#K#FsXK+t!2Zpgtj^UWrS07RQ?Vh0+ z64(UbOH9Wn;N#0e){N9483R);*e(bW`#|-UR5p}ogsmu~s(6KewVSJe1R1<;Am-GR zYI{+F*C()l1pdfHit$)MLtxb9(oKVe_wUg?QT=B3&9-oLs_P;V^O%~2?@?+e(V~Vc zt^rn-iZ>)r6lTsGz(DnJ$g})!Z1BFVi)T@-CWLpgXyc?6X!Rf@prqdS{+C7JKg{(E|j7>_ET=nNNFWWnp=?=KM?icz*y;y66B6zQE> zYQombDb=;GX+S`17e!bkKZtA=R`@*2)|_6vM26bch+IHqJ!zl6Zy;@eh{+0{r&a7B zS|Kk%XA%Amdsv(UMcz~4MI~F4J)$lkao(=03=nAHTntG^j7K{T{S{&_Gt^~-3pEFtX!=&y`za~^hv6wRxhSad+C`({v&x3I0$(aM;uGuh zmT4uyg_u0a`(4CPC#e*ftZR5=}v8spdw(m{ys&g zGg#~Aa_FYIHgSz}) zeb|VyE!$tzkHgY)aq>=7z;CbMXe#>+5rKlcSn9h~hs8+RTP;fQWhiXHSMW53%jwd~ z%Q(XwM>*itK`;lXZ{-BBwq*Dpgpvz=d`M}?03mD6P=wXzm0F3Oy-lI%z?qJT-fDH# zZXs(pwYqTqGQirx=7sChLU9uCW*1{N)mgGg6f^|BJ5pf6AdEl-c;Pp7U-RHjwU|HN zN_ao~y#YJ7`CQIUxFoEEi*qa#LFJW41U+6_8*}D=q}$Co%w#Wlju63q&}1*^?qrU0 zD$=0Gds0vo$^qQH&5S0>8bzJ|EYFb@RlTW!YQVZnwn-?_P9|C5%0N|f6)|#lrJvs% zqMej6T?X+%M~>4<-3uq@-EPL}qo*0j*%HYPppYV^$p!|&O$|v@&MbmP&w0IdBUdO6 zYk}aK=PkBa2fduGYn9^9uduE_G+Az0Uy}cIfb@Zaps#1y>uBDPj#K;B*HjgYQz&bV zSh%6GL+#Y5oiE${cFq-2aIf~iY$NTIM-5J5Vg(PZg)!v}`iu^G%U51rR!-| zy7-Zq9JWZ%A#`rAMcoH|*5;kiLNOk$p5=zy=QuZ7v@q$!xzN|>7>1k^c!czWt*8pX zbT!^pehK|9h!%f+lfaP`%AuQto>q9a)WNV8D%P7utCXnX%k6eSF-W%~wV{kwpDH{~ ze_2OgvL@IXKcIqh>9r~nDRNG~om)a^G(#-&TJJyAYp@4BTAv>3Y(Lz5pvRRMASv#% zgQ%i@dYkyiXt8Oo_*4%Cx9JAPiT6g#bV~s5G0vbtTHhO2IeINu(Z!v*^;Z$d`J6jj z_fuGC@hRA?wJ!waP}f5G-f&qz3fw-#H+onMF`mVrxZFw$SY$Mn*g4DxkKg=%wO~1X z1o5PX*Mo5KwJ*JNskeO%XTozF3x|&db;kROxxvSK@^4)WnTa!)4Id2aa}-|;( zZS?M({)k9jNY8!o5arn(ISZ56@vzFlxPJHs*|fm|V9mq<%<5~R8ojDtfbXwVB>Neh zDZxvP`d;~AOjoknM><0|3roY#p=33}dEH)?Lm3Sw?wM6YNzm`K!!8#Qrs%+l;l{(x zR=dxA1 znAlpn3sI4l2Ys6*3)K-aU#;p?2*QM(Kx9oSrqmz((6#UBmte*` z{2!RXuUJyIisvvz45W^baO(NoErlk0X48Or52j`a(_Tbf2HS3P6w^W zWjO22`52YMDLsOQD-GWbyWRKkp5m9Kz{;7_ItJCtB5mDm&?DseFIudPUE=R#`9Dy> zdS+jT23i_DpF{0OQMbL!&wIOpM3$HX$JCNv5j&q#1*3tP`3!%hHR*Liok_aEY5~!h+f%)YrvBE6QloCrQ=WIG7iwD8 zzQg%yirpW`oZ1gB)(#7?>&>%~?w4|>EG}IF@uv}Ad48c4KlFD1X(nP_K(fgW+6es) z%|fP$-5QfW;PIf`e22&6HXVJtmBK3t1??9t^V0`tSTO|!tR{2yb$0>1YWE*iEVYNn z7wflo0V3$JONyZVk@F64|4)v(CJJDiAWkMt4}e&q3(VOpvx$-{u%bkP%)RAkCiyMFka9d_cUffmmQu}TR^K`bM&Kobx_gsx`H*(V0L0vog zF1Yku1oJgLP>7zFC&zD%0=u=qYJz?i=n38B#r~NDD~MFZvRrvcmyNh@n?z5=xX%MH z;I!udH>6U#(oNxw{|N{#hyaCo4WVWM!HOAa5~uP5M0q2hCYUEDwuXcl?rQJQ1Y_H16sufB1Jp z4#u%pU7lp^Imq2o?Wc}1=4*X{2qxWh2C2Zz>YXq96>xmZT;Pp>ypn@LL_JxgE9r*r zb><3?+{X(F0JXi66|JBw1fK$B5D4g^MFU)a8%3N|7~d>R(nAq2m~zQHu8^M~!ZB3l zaL6l4b@K!}r+XawZJ42^pdCPF(?NZa$Q#Pm?(7+I&(L0P65WK-eprb)pc5m*9&~5= zg(Hc!LHB~xjZs>o;}R_E>;N40nH7TCQVs&S!*egysFfAI#{aD|qHAh<|F38qdBV}o z)BU*c>N95!ZeJZeQHm>EYw$vtgy(AK72Cc~(V{MzUXk)cqG>|TVA+V@ZI%qMOK|Oy zT#=6*p}^Jych&nYX1Jrv_)6-v4(0-&sWR*x1f#3FODH^<^YG9B%pFz$?|n$sbQKJ# ze~%kzbh!PpFRnL5=pUk&;+E3=OhP0FU3?q&H@ZyA9%u@%X-_%EDj3--_c7BD4Uj-~ zU;9^iV~eVTLIm9%n;G2QI~H4m4R@!jH`BAjkR6LF^p*kByE8R!;={DL#qJok0Mw-+ z&C&GSrG+yi&R>Wj*~%+<>|D5fjVw91h7*&vt{CJn{M+ON|Gd_Q@|sm0c}BeEHG}>A zH4;_Ltg==B*QsS6hxg6EH6b2X6TK1P| zN4CuU7U1Qe2T9w-PqOh9g_WeqD8zgi?=Q5}U(E~Z1{Y~nT4>`Wky(b%w+vN_7-N(@ z-aG~!iZR{FJ6NPM`JC(FyK~SMT($!*^>0lO#y+r1Yi%2zb%eP8Qi5j-Q_AA2hjN87Hb)W-S>HMED60TS^$i#yn7-m zF)G7Yqz7jmwBflO+vCNVLFR~N(244&ZUT!`$?$Aug;{6syKrGKAoAYSc){j}P1|(G zvA%YT5EEneMA*8+G1}u!<^pxM;aOZ}GX9cCbgTk)h zG6I;zeRtV3IW!~KJMHdZ<3G3~iQ*V`$+#WNe-j3ssi{qYwxr<7MAs-HkSvvXq_=2K zl<}%uCVJ*)V67o#T5L7U!NP1K)9koSHa<}1cJXG=e$9oBIo_g2i~oZoJyoO|H;sRF zc%`&$#+t!z?IS|udl18(dzpWH@v}!-#4DFPOlZy9qVyfqf%`7pyZM@bFIc7&oAvLQ zkT#RC5RW_rPHVbYPTZP*>HrK&Lv8OicMS3~hDZMHHIBLn5#1u>!db$`20y?*X{cd* zk;wkaqn)e7HvTdG*Y3+pW;JVGdz(u8lY)GTAwieX&LshJ==rz#p^9yn&no9zx4Usm zlgY#_&oC!Lb&4K)`WYX1J$d5%)FDd*CC(|e5OEN+O0Y*qLyQzO>Lt5NRXPk9Q&ALA z^~YJ-xB{!co}_g%l|kZd*WN=#Msv?A4#l{KNoOL4U%vc$Z#I|}sAWH*T4ROJ8=ww> zChkpFm}?%7(&H7@L&4OfJwBlktwYE1&WTO$LiLlpoP$XEC;D&s%Py7I?>AwLkOoKO zn1QpG=v%~3x%01~X*Q>8`7`bQyuUSIE@0Sc$XiVB!r*7fn1s6B$kf$69X%FL67g)`l&19-E-vQjsOD2?XX4rA-~XS zr~(6jyb#DEol@<#^`D`6I|lFl05Mu+CORva;^7?l^Z~(8+9(?8WiI*GQUsA`n61k)S_~%!1z;(vgdbpd&yslv*{UnhUMGN=2 zZh+vS?VQsZxd;PP*N=G#$$Q_FI2#+kkm&~nairzhwndYZV5dwYV{T;;)yW;3Yw7!z zK3=B@KH;m4xA67gE4C=yYccd&|+`6vLV0GOxJoi5fwc~`xg4Td96_gyGzj>rzgNf zxEPb|OBL5E{wrsYRVR-|4^{c&QZ?QFke!>!L~#r*B~j=5u-H*=m*-S1&!sx~@38}c zV&dspd;H@CqQIC$0zz}4C@C)vM@1-3pmo!++iCG@2fD%D;L#8JV}thGZ8q1t(Bfz}0x> zav}B{n}6A7dU<3~ey|!U&6uB4CJc&f+tqMUoLIb(Xt~zE&#+f+&`qW@*q+qc)%`WP zRAa7OezHKl$LkH4(LJhQ@)G(3SeBL9ivDWd7b&hI`{#eGVSaAcFV|uPsxi&s8ks-a z8aH|JSHJ;m6!%Gh8Z_ljiz!b@53Q8^FHXm4?0SPVR_>`9$?1;#Vr~}Gdh)Q>IPIr# z5WPOBNb7K)_{r|g)o2Jrr9e9_B7Oq>ka7_PTH0&5O-3568SK)NdG=P%AtWqaeVb%m_tIZ_pziu z6GN~vwexispn8Si7`)KmMA>7QBRS|Umw8r-^X$A4qf1B=w=h6y_He6}W%koYQkfr% zPTATVS46m1VEi_xH3(sgj+O>|`InPLV)oJvrQ z>PN0e{4BvR+gg}`RN*A_QVB`;U2zlns=xeUic$A*Z&V3GwW&w^XhU};zAN7gJcaYuO2VU%)pX*XMKQPmX-M0VV6 z@SI4tRYP}cYD^tZfAR!BLd^+SI9%=}Nb)W?$Fru+;gc*qt|w6Rn(Kl;i6wXKd2l#W zf9(bU%;!l3n&rH_IWNa(gDP!(SufoZd(uSu0td)CJ8e9;W=<+~;&YAJo-9cF*eRud zPGAeh91%|_S&wiQI%Jn$mfkuMU*E}nnB>3>UQl zP`X5fp<_s;hY+Mex&#bLnxRX&y9bbt8DMCx;)W%Fc_JyUXuEyQvPw3FTSix8focJp2qCSpy8EMx9ts>aajV^V&V7Zr_dW7d_!W zFZR>R5T<0!CF4@r+-_}R_tzq^L#gq+mx&+=%&DqN+QnxhciRS1Z$hKNIP5mYb-UdS zly=8-DSt=c9Z_i8FNmLM);+4Lpu?w}Htttd%hO3zy)}(8eKr7r$eq!MGW>9|!Wk~x zs4TLOC4qNXwLP7CE|sxc)b%S)=#||ueU!=yqYq0Qxc=pylqza+3Ackif9w%vIHQu= z{`Co|;d3XFz=o5BOJ4cc5WOQ#U;Uw=dIJ-Wsd_+4_N7Z_r3nSV+-!H_ftTlLAk0C? zU=7tg?`xVJJhQzpl!Tb`$c;r1ZjP>fswLvX7C28wKoHx40n*t$RQ=yH&PQA0E>4Qlj_C@G)^H(0R3y6sBjj6f8b1+t!Nix zNRvG&Iqa6rXwgIJ?=NEBxZ;rYX6(3Wz>42>_Gt^4b$p2aHuhb$lQ%85@>i?y#dQ2I zahfZjC4{(86)zGN4&*?BO~E9iA5QMIk*ZJ%V^-Vy^OsdEh`RcT8W?k9q)#5BM^xk7 zha;+l$Z}kw!w_>g%@X=dm~#&Xaa*2C77?(NV5j4^*c6i<)}4VklsYhT`VS?Ke-^=6xik0BYT_ za`w;j*v$Ei7b=@)< zsKh0fJr}!wBFa0jvwo$%SyPrnmwYdpdFY*uFb3$p=uNPxt`B+OS)YR)P?+eNNT#Y# zHEvi}$gGXrXR=WUtM)WK*&G*sb;G*>l{t>PA3b51&0_|iTlzp1t{g|K6Q!hh0iCOK$WPtJq$t<6PnLkp#g+f^m&{Q|se>7rUU6G*tGAT1lxczshMT*y86>mdeHtkSMSFc)d z>5vmr{TG~0+9G36-4oOkLQek`Mh|x49&K?@&~+C#w!iqnw-T?q_j~a;M72@mR@XHx zqe}Wjq-Hm=!Kv$$u1bpYv}$Z?O4mHmljuu|d1K=}?dhQJrg!fu=V-WYC?#)PHBL}T7ZA<9-Jx<=8b~0N&t5Ls5wnkM?wq_ zp|;@t*$v!E1J{VFZ~!z9c_;YhSymp|5j&H2$o$M7=sKC2rpp&QMnct@x$i`E>Xn(X z%*dIY78~Vt7AqACJx~RY3l1N(=;SEim&V++?SrbjgJS)VzZ!wedWh;uguH5};ly_x>Jrr%>&Ko!buLyUiLWtRzVUiUkNcl|R8EVU_{3DuRn zXKPrz-f$9G2`MU#d@Idzdla8wC<3#K2!;eBzgfjVD|7o;)t`sDeT8)oE;@8hxUaX) z(`r4wCngVkn6F!}RHfj5mZ350D{OY=j3?gvcs$Bwu5#ZA9$^s`n zKW3v|av%G+R7GPSBiudkd0@8P-at8dsURyWcBWA?R5cDFo5|{OhvWrZW`_6|9Ag;< z>G;g%Bsfzx)VGNtrHU?~pgLN^RU%jliFAeb#B%0&ccPL<==LgRh8C$Ukx%5>^8$$E zYe(d2z?MrkBnCN)P&N0zGs_}!Qk-WRH(Z+r^*2*0)4Bsf6?Qb0=?XZ-1bLC&0mory z<`)&t(5(8uJoX2JP2rlMsGNmXg7n$RJz+M42{m$xfA`IIWpUKN0^1#uOZmli&Q^pJ za-fEnMcQN0|71lv?BqfQ0*aMOPg2617-20T}WxIR_C>t6urCs3LSsyH|;SV z>0`$!!H^_^Ok>upk=nmeBV*cGCu8BV4$>Adjq^%hpVT``4o|Y0z?TE>e(n?>P!(@| zq?bJu5110aS>rD_udOPc*QQ(W(Bxt8pme|@rC?#> zji)v8N-Lh~Tg~c1fMD%F6(=@$)g5@0`1vSwag{|(Rp0_>u~ExbQb?xyZYy8S%uk1U zLusn;N)-Y*2zLAr1<*J5QLJDT|A2$aunuwY*=%oBof^Bg$uclIh%l2E*j^>;-mw#> zI`l%SC{eVkrgIE^ltgY)WeAY(IJ=|euqf+RQ|1bnZ9 zqf$?=67c2jEu_nC30@4c8TAG`xGsExBQhG5@7oFyhKQm13^L(0Kdcvp9FbZ$HtAyE zc{%+^iX2EZTzqq2LWrrE4brAO*g|Mfa7FunH=g^7U-Wb1+xOlbjmMCZ^48fQmtF~Y zV9`Vo<;PP0^5661LOHS&}qSku{<7ZpB z@H)`D%eAntBcyRk_XPvp+MXS;yrsXu50-?zJ^(u)1$5WUYlKluDr{`nP`iWXzi)N? zY`TvqtLiTPaDJzaf9H;+mf&#Psq}dkyJs)f#bCA9_32oN6K_utt+(}1J=;rR$+Vo% z=oP^_FZo`UEs%6bb)WYb2HFRy{Ws96t>#@`JRW1j#eWNc2t`L-W!B6vnX9^C)%&rh zXSkj3;ZL9@BT!(RYdu|FmZ~QjCmEf7=;efG`lb;=PxyNZ=P-O z|M=PAgQxB-V^fB-?j0{N=OCwS3Lo1CE0xZwI!`6iQ{TCe>(6Txg1d+n@SXP#y*_#x z1_Y&I5xy}9w%F+2^b@%F9}?8FsXJYa{S2Wlqwt$54rzB{9`N}Nr7Jj-#(KP`inf)` zZ=633U6y2OTom7!ooH!cRorzi71MSz0sSJ!v?SDw7uo$$WD@mcL-DH=y zaR_;#)fm#|qiyf;7}k^C?L7c28wV||Ec5XUoqr;ns-iO_Nrj#VS4V@=CtGaj#A@~Q zXx--nol~hiatx)9ZYm;>jpNRm_p99%lLEfo_bf2YrN|DAHzU~~ZXu!kT6ZO|sj@_%?+IpIrfV6eG43qV9{rw}AxhzOQLVY#rUQy@FgmKOb8^}ldndud>#AAO zF9Lteana;oULfOB{Epa{6F7ICN)nhfI95kaZTiD7FjK}h_PY)@dz1U%?zLYWjh1>G z?A_r$SE5=DJN7v|ZBurzh8uDf|Iw=;Tfwx6-h6_ z{JL$l?odwT|M~Zn%3*B%ixwaF(!7WzLPI$g_Soymfn|{owXxWJ$S9Q zACdfevc_BV`GY5|-*4BIqyGrlv4iAMVe$|TEaM1Xu3@ZuOxXg-9N)%;;IXrp^D;1l zc4?Z=FD5k<8-n=Cr=9UHF6%0HTTNEeEYS@3=_tzNbTylubyES4Lx(fK(PHpyjE$r+iJNg?A6Wj3I6 zPcw3-KDyGtW*ZGHrfsFJ{GzWdBHTxDZ^Y5=D zyy*;(%p_U+`tuwMi)-+F(bS}YFU*PQe}Y1k5P3O60HC1tkDqYUUeju!mqTCWOyxhZ z3I5@Dm69hB@_w0Z_-}Zvoa+^`dDH!;>6IK!cI+nDH;JX~TDLVwfeMHExGA5vzpr;D zO4BhsV%j`8Wem@t?(lJiNn@8Bm6f$m>I!l@d_A;ciFxL=j%_j$)B z`c^_Fj}F@*_H4vg(!_znxr%Wq%XMII z0TfnsQ)_w&&wZ zvg~^-pgf%45X(^FIRLoKz zw1LVf%`~0k4b}@uYyl?luz4#Wh$FS-@Ei{1wj8Pujv3)X}MS!#B{W4rEVQHjG z#X^gTO783jmZ>tIyK9&;?F6;=qgKF;$?e)j5>d|nWk9>)wEj^DMK9pvTaDF{9_lAA zwq2@#Zj|70F$%ugN&|p5-av7|aGksTKY8bpYwC@k@lW@bKoabju5lN&t^xFDb8JK~ z9*4r;3D&(>^!xriC%BScylP`VjD0hSI;PO8doW*%*=H`Q)TclqnDoPS#23@a+ygMW zxc~#fgirgJ-Rb3U1CZ{4oUZ3Yx%BJ>osT$nGIH|hSB_r(7-Xz82D&Kz0OFUgwpZI? zX(tnxGP6(l?XD83^J?6z1P#zpy2=W;MBK`Nu!D_04wkJNeretr`BF=0)k>yuLNiTV z6)+l9Y&TrYr=t#T7X$a%Hy^;Kk?XwH?-_-~tq^+cRsjX9e%B&uh(+uIaAT^4P%xIm zgLSnzc{VM8)M@P-;Z9v3M85SEa75ICUQaf#xOPeRUjmMX9w03GP%V-7Q=Zn`HADZ6 zuzr?Tr}=-*H~wJ?K0RV$qBcVL@Bt%R7NyB3c+$QvUgv6+c)8ZX3{_>-m&fO-A}`M` zSQ;g70FBlO5kSZU$jWD0M{`hq1K!OeK1|WUbzU`5?cfQwHymz1| z>**E9h$a&VJAt9V12!4+fEu0*IF~%*yGR|jfwG_i%HKeUI*0ODCE!>s_6i8dk48TJ zh>8|QM@gQ9_#rK^NWELz;1X2X#?PwxVQ;K#c&)`d+_g8#-x;txeSzR@oYXE|&bB>& z#nb^(P9HBeX6CY)Os_q}b#2~RQU~I_%a1cg$vauh77)vylBzk19yst0Q&jy@*nx=Z zdZ!#V|D|Yg^IrR<#Y~T;$|E0DuD%Q&;oiwr=Dl9q*lvDsCt$8xirRh>Lp{e$M{b3k`XFS`Hvr^9+LGKMiivU!8mxGfvx9uk&bcIeoD0xO~IcI0)mFO_mrMX1hEtD z1ounN^NM?w)1!y;=2-3&cy-IxW##DK%Sv0MUS{k?-kB!b3G&ui*jA1Mg*?lO-JJoQ zKjfSswqF6z12hu-;W7MeZ2cwqb|7wsfV8UP)8=5W4$~0EujeWm3s78ctJHnz%NHy@ z1k9{XR~M(7g{YMnwUyCV`AZokP@hukfvDeE{GveH}lSicd6jOD?w?dxNvD zY`iUx4Ni2qrUZzieUE_@Lg53c^X*@&=mXvaD*dzv*Kuf1nL;63VDbEZ3~5`~Uus?b zh)?nPI_q4UHl-0M`A3Di52>ca^ckY?C_6TqJ9hzyPS*g5=UlJzU8m7fWosi0*|I9T zkMEv=P8%8^M6d#S6)K^^d8Xe9anM@9M9cULaGVqZ;IZ+C9{E4wR1bWI+MS+$*RfdO zIPV6kIF4#f)#eM;6uuSrT&J&#jq1yJQy#;!T|=cjpnv0tvMzv3(fbc-!0OminqDu?rBlOE}A=fLQ`}-Pj|II8LaBcwo@K5R~hzWv!HUJr=>q@Ia zkXe!l9^|I~k%W>%4ZKm3*x!1FW?J+t#c^-|=00=|o`|s~ zLmplmgM`;?$7`E|Kgx3WY&Mh}zy7e0(+8rh?K@hWjxDkm$<>;|d>iSoj`gh;m%q2i z-&$R$R>Wg%rYv1(zU_hhNR;~c3y{pU)*+HTON}ir$sr$l1v)CnFQRNLO>@;!Q$&63 zG$y@%(eaa+SNZh|Gs5>w+n3$0iFgm>M$y(5{Q`_We?hmKn@gUF?*kQA*<|#>>eoH6 z?z4^|VcG3=wCqhE_T*=pzAXf_JXV=gGhncY5_wOI02;0GXYy4@P+^i z^XgxQOt60OD7jm?z%(fsNNpN{XwnZu?8^reQ4m8==BZSsp`4&0^bYvXWGu~^GJ=)1 zP$ZDun#BTiir{QDl9sHV6ndOsUb4n8Dj`pULGoC$H6fJ|&=Zgvy$Jk;SDT30?W~oZ z8m39MT#x|*{~?z?Dj;{D_2zJUx=kpOqnLn+KSrjzk734P&LoN`v9_5$l-x+advEI& zhTb?aF5U(y#q?%ab~^^5;BsPmm&s#TSyCs_dksa{Jb}N11Ma}s>ynCFWVD%Z_+pda z87S07Ep3pu5Fa)FGd!quDB?OO|SN{$5CfR<4~=f6M{q0Tw91QQP_={A^IzVE8{X@8qYXJq}P@gpNs^NSq}0$QS7$(JGl0S)=d%HLgT&e8ca*|hu#1k;1^f_V_Jpc@Dc z3^#hLlRgO9j4L0})bR`AmsP*f30zSzM8W3xx9>;twZxWf{*Yj%{tthE>fX*s#wS|H zCw$W&C~=X$%LVu)@_8go68Z;3mkN1))JCOMuxJ_$wFMgxGwgMd&9D&zTSP}{PhT+G zaNay9DYvykb}(9*VD-b_bK@gTw4;JT46ke0GuVZReyO)2wJ<_dIf6Ee@{TB9B@&8r zB>ydgqwan=hzMk6at@YrX8cWRO;w;%L^)C86x99b3;1QPvD9*e(Bq8xbf4V53XJ8d zIK{okD$9lR!)%mGwPZ6PTQRj+yrr-~j&Jm+M&OA;e)U=OBYLk7^@&uYwzamA-i{&gw?dt7?ie1@ff#2w(nX3QQJpRZ&b|J7l- z*b5Nc5B0;YWOA;~f0+C3XiF8;xNz=XVflM0=aOlx`eJ+UbWLjW(!w$Q#ZHFzAJwBK zs3a(Xj41C{6hAaFQiL_2UljfE=W+GWhBO+A!|@>U>? z^&)$RekaHb1y6;5lHw+2*d$MS9fkqYs%}rH)F}}zTKe>mk_QAQqgQ;k)C|jn&Z{Ik zo2#+-C~Q)W_&$pgZb=?<2fu7U%_le`&aH*M7D{DPLBs0#607nfy{{U-9L9SRmp0?? z0;B?u{N4t;Y5>f8>A?7aOP<_&E^tST(~^9G9e%q7NE+tafxITss`+-JAsJgwYYA&A zCu5AK+4X}Z&$Id(b|1(9nRYQEO67elD+jndcc}-)u*!xwi6FOTQ}Xe;(GB}TV6QAj zB3Zq7_P26d1b*=H(W_AM?|dqB?zjFkcDu2yr?PevBMJVBHHtE$k1;-8xFrCla_-Ig zZT;D=C<@VY5PJjuUXOf8T2>WOFSw!s*I^@gakPZR0${S9;`$#4mh}#bWH-_fD2LvI z){&0=u0&-NH=9!AGr4faHPUcGNhFfIKlH&3oR_1lx9NT-n%ew?v(+hiU<#;SqLy4b zxQSc&Bq(477Vv-2%EZTb-hz|$!1Qa&kX3Y;_nK)T9;yx`Ldl%vNRYBjw-=*vloaSC zy;r0i>02K&;2Wv2h=$kDddk^p_ea~eWjP9Hqph#lv`?t1OLuPKEth8+_9m<(nut%7uDy19D7%Lt zjJ`>!4znaA@Rp@f9nJWhFU)x`KAj4gvx1yFr?Ku$D96AxXToh0{En>8QkqNt<0V;^ zLet=ql}yX6=vI4r0eO>oc1M>pu!+&^%?uKP5IyDKM8QQfgE zUJKsPpO6P^_gnDTWquRE%vBRj2M{5r5&Py>tP^3*zx?^F(ed}Si0P(TaX?9Q+tV7^ z`O>wjVB%IL0d?s@neH$MHlot%9m6pd0p~Gzcuh2NO%wn^z@Acy?`KY?z6?Ir-XrsB zXWQDrB{>y^wLaS4=@y?BP*)!U4_c*e8~Hh>U_EvN>R7trt0 zbCa!Z1-A!(EU(GnHx@QXu=Z;AE2 zs91Gxf1-ZhVM^I&s7RD=;&Ef8+&!a@f`MOLRL$GFsi%ty^^52miS}ORUFsZ@9p^EH z5>4Ouzy=)c0(Fja)xP-BO2hsXaxu;F6VVjdPdE41a!QcclM2)Qn@!L+t!9-s0m|pg z+*;qv6)lt);V)D{N?^1n%fLU11i7}2mH}=JIzgIZlo=oy#B=+G)3=6A!A%U$@WNM0 z9*}20+7`QS%;3CJF|oP-2Urpp-nV*d1b-cFR(`hq;5U)k&F29~Sz7_+xR(g<3*x(# z#4op#IG z$9G$h8nMhKu@?&;qOl%w&ns{p*jC=7nnSW>NaI$L1NtDsw*ZmvMzeEdXPhO`?g1Rx`#@$ zym>&zywUBA)_Po1e39z%*!rDwcu#M5Eak2QaN1++a>C|xU6|NO^e^+lnUFSyMf9a>SX>OQt%Os28RkfLWj7;O-cw(6ll z_#eDXXc18ZTk3k*tsDK6nyXNB*_DHsJ6JN7xsAv_V6S&bf!5Tx z#%$Lg24IYSP&l^Rgy|{BLTTuNd-k6NQ%n>*gAMeQ3|pmpa3n}uD)FON*$g+q(XZ;v z;MBi?NA;Ob@Gh&QM-?}Ytb%<35kU8-PPu)SFtfz!H<$G}v^n)3;#(;Ph=P=KW-GC3R=X^tb(T;$vJd zC&sF}m^-megwYXFr}DDeTIAnEKA(AwCQ8}tJoI`o1DnZbCVBSRO*OqFpF)p;)Ngl2 z(ly|79>XZq1Mn=cYiwk&TqnF}RUJN<#9jrZ{TuyB6eLL>!FDF+pOZyr=QQzGl~iRu zhINKSQXG`56Cdr)>1S-8_p4gpS^~lGLkBR~%g7WC5`+)dL!FLyQP}bZa zkfcijgp^(b*k-yQP!FlBsB9f5u9(DPku=hI{(!FXpSUbr*ZE7ZCRv_>ia>9ySgcDE zm;p6RxOZ=&$NjKI2_;T26u93?!$<4thsd-mfetExWhYr}3pfLL(bhl$VEC7nRvKHc zJ%v|ryfn~J_$d9gVWPQ;%u8=^Bs5UO5@<}WZzh8%5b z#}UhKhSg?qBk!V5dO^m+%1s!0b~pjos^tmK!exok<}FJ0n~tk{$!%;j$%(2AxY3*P zH2Ov0`DeqdGO6x|>qDN*f9{OzKR`>+~G4Q6laadJSV-bw1bL z&sYhlZ9Y($19bw$8K)Jtt;c%OY~$9kvmqYOn(S{=^19Mi=17BTewald4zrVe%7vKj z4swX`9kt`*+jfb#EtOYSl07{BZs@GxK?pK>yGcGEfLlr1Y92g37?3fZ5#)DCKJ>_J zdXic6fXgFSvs!bdeZo;S_J0S?FaId~7jiZu6`u0fU?&0QGgh^{lYvc{yASbqI@~wa z=*y`V9N#8ANPCZcN|dsPSb8T?&Q1V6-ze8nLb(Fr+Z&9o3zgMM#H0$u=c*YCl8)ty zsNzXrUts}7?i-yQltr0~@?nrj{uM&GW{{C@6d{~yC6-7mH>!Z;ZyU5fDJN_q=HkrL zl-bo!YE|I}NV%cJiq?KI-RbrB1|p{C zJ7erXdn43%r9EFOCEKn*1P5@2HvA!rlBEjdEeh4ayd#tJy~XJxSEjy+0g`aRv_-14hyO)*5>cX=Tj>^8-iBZ?U=8`bErwI@}$>#+jx zCnrvpGqqnbhYTcrCBa4G1y#sTy~F_WsCRaJtj`-$mBf=0#x<5t{F9DMObu=B`#$$p zI8&wZ%)FpX{osBH4``(G{p?KKiom>dvPoz$z3syftkBzp6`bjprd~ykay?%nT1Lr* zP0ud?WX*|ivT=hHW=GJQ0q%E+u`jN>l8P@&;P}4-eI)@uE46wA;!2x%lD%T8E#vrXBKCk<;_~463e$HUeLG48tcK#O2SG9Mpllz`XA{ z9KKb)rNH#6NvH!gEDWDsXIMel7nhzlOTM6a;R&G0DtIt;gjd2tMgT-BpG!h0B*9Bd zd{%_iA87NtmIm&#h^{m6D{#$;-&mQTBvG3{ao%frJuMfQ>s1F`SaOS1*P|m05m#(t z<$hCT_mh;m^o)N-;U=`@Davc7LU;O-CITI@z)H#m)x3^O8d4|M{A~DnU6grtW%}1{ z)}`+6U5ML1w9H|e<4%bU04H4==vaDMc;i5Ri6F?L~N!1jVBx4n>ghyNBon^%{er2 zHu_hoyS|Esc>nD)fM1+aVdsClGe8o0zWLwT{#qZ3^ZfV5sAKJDoSbP4o6hfLV~v2MwbxUK)`h$9H3nfiEa5tgLKOvaUux zx!40W5VZdjppL|@_VfVB)Kx&RiN8L9FL)&Lrawl#wV5c2zwTIN@;Q9|8j#jH@&h2T z;$Mq6fld@45}9-X6y7~D8EMB?t9xBy;&+W{6!biNM_sltY6r*(Y}Z`HoA|eW16fRe zDd6XA1pIR`&8rBO{D{JCY&;I6E~cB8Ay5(b9P|b*;=xmTjFGtlqIPMf55Ot*9RQi- zH~;bwCwb(Mi=Uo$)`YL5c_;Gd3nNweetU`cdnoRoUYmIEH{KirKjB}P@bwd4iJzU3 zwY+h**uw8dxIJO@ugpfP+N9P8a{rTf&BYWpp5%99{qKNI#zum8le~NZcsZZ`y}Gpg z)0_P09elmQG*0q={|obl0g$ILPIBgdTmvX+_fAq5X5F@X;<+HdI88FRqkPw$C)2Af zKELwz#d3XMJ-2B6p~@+}=dG3CYr6TB1-G~r@|k;~qraVr?)tc64VVVlb*${)JV+MX z%2W4WD|bpG7ZlpxkJ3F8W6g87G^lT2#H)yv%y@p6ECCPr;Cf}`>BmZ zFs`rjo>Es_(-;m$*`K)sn_YaZMcVSz>Xw>s0_)H_5tn^6 zE~Agn8ogf)ycSDb$V_Hy1JOqd)*L)(NrBx{66s=1}TsIESYozih9W-K}f z&Xl?SZ};kt6T()x-ZNDuUg21L0`IZfjTSur^7p##^vh%GY*&5&zAB{*gu!3h;^6>h z?%45*RzRl$u$RJPP9|E(xJh%$3Ql8UMJ5Ea_oR;zX!9Pfb}W)*X#j4DFVdan1Ndct z!l(0RAfwm~sgL7(U8b;g1JjMq@L|DJn!m*f;42IRB1A>8PJZMxoA7A_OWqFyzUf7P z=3{Y+UHxL;-2)TtS7yNF?rqIake?p7!ss4yImX4Gvp7UyaFf@e>(g=e)m0SR0$t%M zi~X$eHN?{rO4)vMqpj*!gka4Pn6k3rlQ}(wWlwy3!Fi|Sv1|;K8f1uXxc;Pw#6X%l=uh>B9V<(6=oUq~{C1=Ni{g)Z~jD zi(~bR?BS7!u?>?-h6@OW*~rJ+V4DPm$I(X_cTzB}7PLmi zba;u3JG0)V%lpVlRRBR{qkbI&1hqIIgdM|1DWi>>cen53G*TvDN!RA1G4@!c=AqiC zvL7*`kU;ZW50?0iQ*S_3R5Ko9`j@j-MWzAzj@Z$2 zpW*ue_*)&R($p{o?JJ)z&Hrg?T<__6ofP*5-t1T)0p9g6KQ$Z2`B+8{C*dGNz1qve zVTh_=(3%HEbqIhLk=vTgSpI|j-V@{)`6-9b;=JZu+k|CK$EWhk^V%PPBxs~tB*S*+ z)epTaN{;H_QKAfhs-VYx%sISbP`(^$tTE~)=GAZ8$L1=3IcWEewBd4@Jzt|gRZ8b= zUo!gvP47r$S1bOuD6f!^4zt-HuA0L8YICdDV*bKo`YUL|KxlzOED|-S#G#eWz2NgV zt@8Ag^iQWRo5X>y?Z3W@ynj_b0n8i0!J0pS0!zePFet0;bGDH$?oEC3Bdr&J%YDK9 z{1_pJ*#v7@rE8u}mYTnO?05kj_g?l;vZ#*Uohg zB1dfgrZQUruHxV!7=|qJFDLrz1zezP;9I79(wM5@XsGXAG|&}As4M^wxW_V+QS>63 zAs4K)HGS~;ve(5A<%3bt$3Dk%x?6+-VJhwEZYl9;>{DV>0t4KxN{oWGkR>G}&@W>1 z%B`|-K!}ah&hJU!899@ig~oJ5F&E1h0!D>L_b1-|91{d78(BN&21w0M0$c;*H|6iL zU11y_9-h6ZcG9V5uLA(Y!0VFYP zRF7_4;i?+DGUWnR#`W!AI{F<8%=>zo^avn91hi&R7teXI%2SwUPSX8-G{t=K(=!K) zQinjsobOf9?wVtOSUGL)(W=clZW-l*Q<}8IyW~ltU4&ji} zJorUi^ns(Khg_Q^V5WK`uPM4j@F|A^B)S4*4|(gQ(j^JNt^rc68|_@IAWDV}bG3Sw zM}Xf(j{2E0qibA3JE^)tB;XX{K-#TJ&*7lq zGe6~Y`EEJ4%J;xiDsq8*B1nAAVA6?UBKQ=AcwGYlb-K3N^y3ps?;+0~@cwtK+rBmU zT+ti)=IU&s@hLE6UOn3?)*V;^TDHH>L(qDmN$~8CQkBFvQF3joR)7C)rxB&zRXl67 z5snEE`*{1&qd%!^Nx!nw-RC!w`yH;1`VX>Y_&l0{@c#&1e=5}LxhQzH^_)sZJZGh{}ZGv=tb_7kdq2zGSs5bG8hh+rV`EhGhtGb0S`uDv!p)p zh;^k!M_=d$sjFh|JYX5)$PFb2*vQm;DeRL}J=Z=QMQ&Kl(goJzc>rbklWBHWMOxN< z=t-C7v|y!ohjCd;8{yvo+4e|hu-y%eSX=-(JU!(>T)X(950cabf?J!tCVC`{?amce zZB5q{_J!=de8`4*6bOVD3gaU-+2FSC`A5M(@U~ouzoYC{weC}g_9z`c!8y(~?1C{9w+ov@CLzXEMYG$#!Js{fL#siz7q6ysd{4_oEfk zCbg_D_JPshwsEZmJNv);%9J%HyD!0A?rtV0VvlQ`uzNDc z{VG)g{nQKjf#{Gb<)vWQ6AjQ;zC#OhK=TjWuntPRtgVQCNem4H znLYd%{+4&ME0xi0(sZ|gEy_to8r!+M4-KiiJf2y2`{Qzm($`|kqp$MfBt%A7zjlnt zb3dz+H{(*v_mC=OhZ^&&;L_J?+lq>4iBDe0V4LVBeWR?FKTons+iSg(h>!BQtl6PA z-Qq%?vFLX>KL^uVuqQW#s&g#kO+lW6Ok@(grSFoO-4u|gAzMXIpcZ-qWe$`nfi9q2aOSucE9`a#}QysiY$WJr)@n~#OrCh4e7N4PB7t$#w zK;YM8DM-S*Y40=1eVE#@ft{p7!^9gK9xB6T$absrNz=(Ijs~=WP(y5l%|83+lgW_D zL2?>kBH4?uEg?N8^s2oRqQ|jQs-JYALMDId(MQ<1IOzyYCPizxG5_u2jfFNIXL-SG zg?IeviDy+*&J0yj+JfDh?!StFP`b-*2Lw}l}}It&w}JMON2Y3mWS&Pm@rsY(D$+%4Gl zOXRps2dplZzTR9N(V$rhlOY!I2EKPBQVEG&r|&nF6drwYB3EO<0pmWNw&AO@25)<` zOUDh=R<;}?%Rq}Lj&`;TG2J%*qNcWFA5o&43TEDNdTcBKA1yoJwI;EbUzrXy7cZV^ z>Nj!P>G9)^tIeaFf$HfZ2_Opnv))n2j~;X~l@9kcjYd$*U*FW0q>vSh1`rR@scmef zFm`U+~0Y;$7Yz8i%iEczct9w zL@t7Dem~8eMR2)vNpF;TK`gQD*3u^)$4n-u@T5+n1$QZD0z=MEbo{aq_|CFD-MP;U zyvnl8lcij(pAH>w*UKO=pDrrBMy5aS9EVlk+9hZ z0Vz*M)`Tm#I_|}e&vN_Jpc7xJ+s^bdqJWMMx?6_ia%coFrF*`3={%vjVI!whaDdR{7~1`x^~m z#O4yKecw~8@Tj0qZ^cZdC+|SK6hJtJD7!uv2_+TQ&)}yg{Rfs{b@iAa+WS2!iALMt z5n}z?8Xfnt&vA-|rCD`cQ84tRh4=N+xt$Tgo-N%L6XdKpvqYO3FsS(;#WjxF7!u;v zh5_eEo`odsr(@;mNq1sIp}8BkdKFZE>XVitN?5fNS!3dw!hx_9qvbbqvyKm-le`RTbJVUh~kuyA=NV(>8m8)Wp6*4gjrb|Jpd6|45sXqFaG0x>jQ zIaIcG<7>gXtbBjz6EaDiZ z5J*N_>|#ZpEJuJ(_X{|DjT3;Qd`;;W#QLSojse#EV?Py$UN_&@8RwH-w1iNT;5dyO z1b7xAe$boo{%B=-9{Oy}8(V*S^_kWMF`BY~swD^;N_Vv+A&^s~{zK92?gRWK)f%K0 zhorn@X}WML?UElp(X{>Bcjs+Xjiqa%ZH!*FCCci~6ai9Kf?pGy+xO@iTTce|Zbro} zaS%A>li{Gk>P$gREh3qA#4cvAuTPlhx08Q|?Jjib-J$R2S|CAxBxVojmTn8E9(MZ; z(lKshFzf?9T0imd_2>i8}HHr~f@-W87g|a#|}naN%)OZ<%EInM5PJNKab^pDv8uHW46OH z890Ug5UinsM-DKg=sEUd{K`NJnB>oX;xR{GHSR!a-|9r&XW#~UCTn{D&a$;-l1F|M2Qc%ny#rfs#b*X-hvG{Hy?PaEv?09Zrh@WNT zs4s0rmHp92FyVCjb<|!jf^mCF#@KMVA!KreHPNTcyWgr3cPGK1Gb?qFlIsTcx!j$E=0~v5StFqSFcX_13=O(a-SfIaUYcfHy5xVOrQ_vbi zQxx=n7<IkTND*;1QJjXLr1Uxp((wCpwdKCK$?Ui3WQ#yinP#0x->ySks6Q| znn37H1Zhd=olqju+gb6spZ|N#c+ZFPL546Wd#}CL+H=nJyROOopSYe2%Y7R9I{AgY zk^!e_=bc-q?K9|m)`{@dKWgTO!g9Pe98^z(_*XLg_Ft?_YcX3BjTpPxpl&cGWh&i@ zT?M?AaVZPgtU-q`)+U5>LB}Kzf$Q_Y-xFzA>hqSx$hNSYIGQ8-{+f}yj)2?- zO#8rGKtfDWEJCCqf~)!d!Tyqt|4WPadq+1yCk_$)$@*Ym*{+;~*7Qs#go!0DG4ywe ztu2N;hJ#PVlkYJ=xAM)7I@t>!fG^N^@m-yYgk1&6=44p0p0?L zytDm};7vEE{gUz>|EW(hBC6z;v-&cFQF{HKi%)cBDk2R#f8?Q3Am6jW;s5jK{2eUb zzk^N1rFuR%Ea#=I?W%}^S3wLU8{c1?OdeR(^Jn@yKl;`KdsPq6_77u(tZpF}bGIWc zxPq?h|2zEBoTy=7`&$FrBNE76Ymne9sY)7%~i3z-hF+Xuv)v>i|i7t zbnOx-i?p?|K~?<2rMk!UpViyn$hi{kX@abt!-utHE|U8x3|BgsN%$Whwu4LQr2qR+ z!OZw4WoSw4bB$q{b@l$f7vndudW-(OZC7DPUQ|@n8X*3hPj=fB@ZjWh71VAW%IIjg zRIC5pC;FB0^7CDQXKwWYDD)8U)h-FIE-A;~{&xnkMGDU++MXZZH4pV*9qEgse<=ci}H6c>|tDcEP{t!s3VSREa)cS(3%hD0AkhnAujEK9{Q0 zM>ApaXrSoSe427Mdu95L*8NXhKyT6?L0ZbFQnml&&)I=ZBl>*y2&HZ?I8y(XEczR% z7{x_;w*aH>LN2@+fwqeT&`FU8M2goH{S!sw-x!H=kPy6he%kc z5p{|S0vC(_Z*Bv|@ArS^@=J5$XHt4=$K>#{g_HbP5P6hSZL_zxwzm4;|E8FLUAba+ zZq)e8H%e+uykp3{H;{ zQ$?-9^9u@G!Gfr*OANfMq{s!@O{ZFGfP$Neo15FW@^6hEsyl;udObUjpBT3M8X8hF z(%=~D0S(=HPQHGhq|PU3jW-98?$!F1pj)hzW;sV-%G!4GF6cW4O0qT)b1%Bv2pGD9Rs+%46oS{wi`D_fIhxz~|qZ?Vl=neXy5rCfaqhJob z2;UIU3uSqOL*G>=skvJ(7+2?kYj%bECa9;6&T7pKBEd2E%((B4NrW7uH8q&qe^(JA z?+mm_%+$<#_4W>^+m8?{=iZ%F72uL>jbxe0@LImXc-7oDFE9qX|1n118E9x-#H_nP zzXAB^x9YQG&*n9-VB9{cMcw2lg=cMo*0~+31Vr{E;g@Pdeof7D=JiX7QYvTAE zjil18I@TIsm`P_ajzmSD{^Giq^DuCrw+`wna3e9%6Lb0&JKK79`p`>>ja{gE`bwk== zY(WPX&hWYEG19`}3XZP=YN{nceP3e0_}9mErfqAkUVrbQvSgRn$z`d+v0qj;KIyG& z{+xU$gnJGajTMDS%gXYyopU8H@*Qfm8(78QF;O)A(6^p~<`9;p_!^OPZTkFF5fU~< ztYJTK%T28QGU!%3Ju$D9>6*e)!4YUIePsQoewKtD`#%2ZiaO3VHhJTIPRJ)1;gikd z4&9}nG`v5uy3rS3{RVZFyxjmes-vw0lKm#%G(wLSV1R*WMj;#L&gKEMM_l zE<)=3jihlrE(XNa((+46cvQGNc>7-Gft0wytlvq1pb62zMS9xwNpFe0ANS_V($K<( zTy#nQ$jF-S_+59})gk+wIa{wkM=Apqk?C3`&Bw7R3Z5;BrlnDRDkGvxkrU62uLtft zIhQTLee(c`!L&y22vrC!VyF%n|Zpw zH&dowUZ;qbdyhq%NS;ORg$9FknhhLcZB>v-{#+w-ue#+=%YnmMJlg~vRlV_a$?cPW z@;;Zx>{i?V9_TfEhv-#Gdr;x=Ow3_Iftb0(u=+xz7sv70@W3t@a(-Oh32pKFN+2%=Z9)MWos@AdHE`)Y=J<&ci2vA;a-c}~g;NBgybyO5y_BO>KGJC{L zpL~!bmf73VkY*~MfD&#sc84Z2&Z=ydJJnv^>^^naFauvY(&ydqBWYjjiU^#f@$A01 zN4kTTgcv-LgkE~IEME-qQsZ-n$}2p+-O606p>lIejA(bEP=hc7BThcD@_K5yY@{}@ zTRUs1W&DlD>kyqQJzV7>ndq>lcY_D@wW{IL(jSGNMWl9{+O=}KO*59(qpjzM@RcL| zwMf2|!xACxtp1#nWbK-U5b0g7lhF$dhA$bfM&)_eEqmumn>e(Ew_b3VPtX#wTYRU* zW_Ny}m)b#P|wRkeVFb z-lomRSu%yx&8{s}X1zhey}0um`;YFtw0U@IzNrn@CLtHOIkAYRyS=n;PpmEL@z;4D zf!FBFGsr!Ap_|OC_Pvi?iT!r_OSf&=ZC|F6wpn6 zenH%7AK@G3(XTFd@PK7;{&3yXItvGk~8M$bi zX>VjiH5bflR_#R!_lor|jLamPJ~9W|!HYS&h4YI|C=|(0Z+a#)+it`+0BR8i8YZK4zjXB9zhh zXl<+Qn>t2dL&7)IOg)Y1N2iF1#r{LHb^4FL3`wNJ+oV5VU)m7<++!|P zQ%+t@lq2_<`81^z63XSy9r#x494B9ooc6!f^u@3sd_zcI?gdAEl-yLpsD8aK5#lpb zyDPqX?IcjVEy<~jh1rSDS$8yVA?w(n=63Ew=2qPF8*%ID{o$#!Dci?dF=q~OJarrk zXgJ5?bT3mYlKYyLs?6Mj&z)l#Fv!3oX}J-O1FD8q5n`cF{^xw^Emg(+?aeR#xbCE{ zy@cmaFX-j%NYX#PE!Vejpcj|XAR)m+H1PAS)p|6vy${{mY9kDC?0oNbs-tb&TClh; ziOgC+WYw!zo10BXj?9N>)S2DiMr&?d)A>_zHV&3sgZbm5-?$n{>3Wa~I^U9e*si90 zTq&w4s!MFT;{Z>E0IGA=^$wuMR|F`+C!d{P zy94@UqAHB>+S47~G1`^R90CZq+7LP*$&=kIznJ9>pXdW3bbJ&{q8AWKJ)jl1)*5L4 zx6u$wAl7(+zfhCvP(Rv}sW4GkG4|43UXs5190*)EYED3WyVh`WRO}5p_Xd0NIa`F>oPp zPyO@q*JJ&1mvDdJ6Yzeo9`D>W>Tst10Y`Mts}H^m=a;=e23Q05g^^=9uUl@KvuU+^ z^Qla*-t%p9qr_LCnSd z`RbI3hS3ofe`*lXTgTnbf$0q+m_^+vR&J(U=76!6#cfYtmC6;#poNFz7C5{VW~pbg zQnOHMo>kbLU2%k?HMHOACAe#uWDmf_bRQJ8oxbGUt=t;@Fl55~zShj4wTYfqfyk?O zF?zN9!VA9|{#+Z^vX$+(D<^fl58ncdedXp?=;l$!p;~@q?gidYd>j5E3!Fkrf8e!O z`=T5y8m?*oirVapd1Ce98pWzzfX*m24!DW`dScBP*Rkiw+!AANKQe>seq=P2)u#Bw zEPL}oth>8PtG~ZMU?%+uTX{-NM`VS#xn9;ncHzWFSx4ToK(qGinX5@zetYdg-I{N{ z)U^w>9Ry=se@8%+ztJ2^{D99^kN5+;L^Bdu(s-^&CsTe6G(ozJuIdrTRh17t?SlV? z#v3~}1I5%c<{4CW=E>p08W2>w0+Wdt>MQX56uYnpkLalr?JCe3qE`;kDMbzw^=t8Z z+D_zV7BYa~SRJ7{gJrG=06=E13Gij%1Fb9k{XKy2yc#$GSCdQgzF;x(eVN`a3^=7) zb%9m#M-Zpjl^70%@u4$YDpj0{Ra37ssj{|)jQX%$K$CApQnH~qea>4|YI|fO19pc> zsPmdB)on!gL6%DB`?oj%uW8kCB2ep~3TcI)R~oIZC?nkRo=ecz+_f+5;B(imGE}U_ zA!`Z=7aKD!n=3es%hrgzUL?1xAgICY#^08&g)X zO@uDG=@R;`j5kw}8W_odCM}wgF5N%iq=Xr6#jpY3Mq^t6c8lUY)dB!l zdsH6pYb6C0@T`%`sf3`(w6s_ADaiJ>TulCBN5CiMh2H}qL?q{ecj>5gs^O@Q4!J3;Ct8Mqi z?KQS`v~KY{TIEg=)ytdezX{W^bwAElcv}8iV8)`k#p_`K%hEZR?Q$2U=*Ga4%P*4T z(=T^}23WZ^k3(i>74jbOGLIIC%spkDX#0V29QtgmHh9)QPU6&489v<8)U@k7(hu`& zji~Bd!+BoOIyEJ3Y79U0*Y^5+^XC(Ko>lkxoYr4PiL`$gN*w|1_e!i_q4sTck>=-2 z%es?IuYi=6`&AprMWcCrt0|4G4MJ|rCs)DlF5&1o0XmG z^kPRphlO01jujf-Qk;wkp-9$w?&q|yQFL(hlQ}VQLINC-697aSb*x(;T z5{;+oscG8{cpw2;vu4eFfT9dyFjT-&GA~f|0CaC+`%W6MY(*ZKlRR6&SP+GodNG26K5fVXF1*$S#lsxOBp}wGpuU%7| zRc~!>ft&;#q$qx(!QX%LY(SXY$_CJQ%5h(G3Ujo=y|*oTu@FKO5W#t^6!shg-w)x5 zSCr6WJtiD93iUKv#e_sN0X5jwwu4xZ4QLXAId%t%%^IxH*ceC`sF4{8yx+j5RpEx?K)2XxSGA{fz$4y*(jU{VHE}Kg)K32)!K%#!56T91hCWE9Nr`Q2fG6i7 z`2c&vh`4s(Jp_7*#U(#s(V>_^bSUzlui((OLU1l7Ub^6e=>5B(2 zGv2g@XjM-H^(sD;%20KDtfwI3vb8p*fh%FGxw8I-siHBf)qL8?KTf(!4P4b_{wXB) z{@_<>()#6c#U%St(YWf??{6A59AbNB5a~3lcHERAEuNYOZ;LL+rUmg`%Nw*lK8gH5 zXCRP#c#ZG-QIe~kDJTg3TvDpVR-X0$7(>%8+Iq1`q|9D}VH%_h4L1Dm`)9ij!x}J>~rMo@a-jq zZaQOj^#_;!`E^}CPalTtE#n4G#PGI;Lj!R!$!vG-X~QIc&}k1=r_xc z9V5rTge)D0!FwiKb)!LO$PF0ziU#v!uup|3$l>KcWz=rEORqUoRH^B#OV)OAEh*e8Vk0TSPL+Q29()n1fZ~FeR&%O5aw=CZs(&is zVBRpU8b0ukT2f=o0JZm~U4`g?yNUwOm=(XjJ*y(i z!)o1^Vn5BA74-U~grLBL1!JC)~9+p_(@gl}jyIQ#Y9@AC;)r#+f&>2ZT^r zaalLAXF?WHyrr?O3U|`D)*yEWlMF&fN`$hbEZ#L@GsFW8R2RA9uS@K{VcSN@VSb5SHSFa3E_gr; zbJ%R-U`-%I-j(D!Ert_4mahB|QFJY?r&E+dSJJw|{+_bz49mc&wiaeS9J(cfF$kK{ zSap|HzO}_1eLVN|Ip4}6ezY+L!xHCyZHA-oB9k|rGXu5w$$VMvFlzDKJxq2#W~Ktm zetY1hwM3_6Wt9^{z1XPr4?315&PbSEV!$6*?E`yhp)LsH$?@=L{h5Ncp|&4h>e%O3 z=(gqJ*LAC| z&vA1Ev>0f$a+|vJ+!oLH19n;`GFDq?aRJO?Cd@U2#<^&x$O7A*V;~%;ykN$)9obw1 zpd~?zpa(hpg3Pm1Z{7xq~q@E|i?yuiXR&Spp)Grx6)P*CQgY zy%AbNaKyY=0p`_5KCc&OZOOmF~hSY9dRm>W*B1Bn$7Mx8Nd|5UsTnERAvRj zlnVN-wuve^mdBWfaRf^rK@+{vOaZ5#89SDDtEm-R-~Wb2fNoov)Wgr1P0?*kPAvxg zFo)WHN?y0Qc_mSCu0+>B>w-lfXvvgF#GZ4ycaW7{Iw^rjnz6K{DO580(8Fc=LM)4| zEvCmiani+8XFjQ-)4OwOH|>1qGir&)2B#>xr6SvsOTRE{yvA&%XP<8ZFBBU>3Urss zu$3y*_dZM5uxPVH|5>rq-aea8e-KLUYIaxsfs9LZZOnB&kIgYqa?uyNu76J?K+cNR88u;UE$$Ue56m&hIjO(1YTE-QH#%oalCP27P{mA;`#im)$+w#l__X%lKGViC zzK#CH@2$!Mg_c5^+7iTlL$7FI4*Mu)iIGvcJP(ATR%ek2-La~sBI zn{3A*O zxvX=0BHvk~Q~vF$&KEG}^ys6Z%owMt7fL%%Fp4gW6zH()-Irj9d)wtd3=k@IZ{%3q zvBakDw3Mx7+>$r=ap;+6ZM4)F^?{r#&;?FVsav}w$u!*a%vo@Q$p_aq(Ybbxhs~Pa?KiLnmUxzgX2Neeoa9N z(3E>=Rf|zmF#Cvt9JA*pvdo%S7!xLvUtaNN*5W>+M4l;q=T77O3GKbJR|h2k(Ah+( zT-%4G{JA9ITb-(&dBJDrAhY8@cr-fJiu>yI+2p0xKMNJ2^dnwo&TgOC)@a4cA|2UF zt@JyLtM^pke_z__Wb=Hyt-#`og+RMnjn3+A zHA$qX3x<=Y?!#xr)}$}bm9qvv!3x>DNwpv37LwEc@u_hbs;mFu5*wvluO2}`o-kNa zg9o2HllzT|Gz1ZCb>kv@tU7riJ44`V)0V=?UQEyO6()I}XHZ$vg-gX$WhXl)$C+XJ zLE>WHL}i3V4OGvt)U;5zsXY@r5Hu7QjYI7TFG0{@fpRk}9YLG-ubj<}a7!2+|}(;Rm9qS|0_(%i$| zHnMx|W~m4bs^tSlSMHFJG#!vXSCqcqVx=)Mb*S5V;xYE(b2SGzFdcHQ=2GNKb!YGU z%B&(OFClZh5vpLI6KZy}tp9{>E64tAfL3cmyv^u4EJG;ui$yO3TwNbQNq`$^S9%$y zpCrv=Onf3SG_eGm_MD(Q5gKu(_^v|*FF9F!dB;KU< zN$x;{xqoM##$!Tahhqy?8A3e@ACiJ2u2I=~7v&bmnf67;e9bs++d3O2UrIl7@5qSpI;kjcNv&qmJ@22D-y?(NBNlTx13R-a*7a*+kluSm zkuOwky0I^`p4g4EM|a6%Z|t&P%b*q*YB1iS9E(2@S%a$*^49G`>6gvENC0ohRN+EmW0A3nTWX;H7Y z>@J`Rn*s>POt49~;OEQUc833)HNu?YVSrFs>Ov)49dcx>3>Kp`#G@lTCKHa@Ti?Yt zhmfMkjb^QOlC6?>Q#YOtf(+%ejQDhvQzpnhQmyV7s&B)0X=^`^y9%jkioUuSxBoUB zo8c5o@+#%z9u3*xQqf>a*cTbP7{E+Pv(=JOl;g_J8>iu6jxpe|hQ4yGquU-SrJs%? zvW=<`p++df)?e@XBa&jiSm19Vu9)8wf7>mBNOay1!KVM-i(DT}87XmOd;`bsvMZ>M zFlu0Eu33c1O+!+j(O^STFZtwpoSw<;m=!}Z_h)EzLp@sCe&27(Q4 zZPtpkj#KLm8G1L`_%fZ4Pqn=2!+3^LbyaUsYbtb3pH6Wz?pBw#Z=F@HUy_~w^?mLb z*X$zf%R+W=qhhkEqx@YyJFar$wsi>|@gJ$CV&Y^cHFUzz$D&h(AoLRls z*hoj~pT=WZBztev$iTxf)2=<>@b9Mah1C!HI9?L+ z_P@5PR;N{w%5|^FQmdl?3D2Uc#xUXpCQMcL_K#1Sp=gu|{(St&jcrSq5;-4rm2S=C z=c#F(aay-jxE2uR_3FIJ705O!Ck)&AIx~h%4E+RrTD%v$zJ9#{-%YTAM_082jwOA! z;Rc^_HAKBuMC4*$Rl)to)ythP^&gM^2^Ve@fBj79`j6XXxnEl!KYlc7*XG)Tr8{VG zg2s3%4FIO-X3@ky7~IjjT;G0lg38Z?5nxW_yR z(ZE33ELaeMRJ=10jy&7g5Pd%PCJ#z+(#NQ?BQbz8RJ|?l(#-h{_927V9CdN|UX7)I z#0ti3&6>psFsMqx(=rHF^A6guGak}E*h+8|$e7g~$CUzf^a?(2weL@>M39WU3#;ws zvCPjhqk$gwp(z!kE;Hl!3J)^6;O==WP$y*|9&HLe7A!43B+Vhhf@#t+&gi>#{V{5M zY+bF>b%&0*vio|+SxOW1yExDIo5px23gwW%2y!#hUu#5{Mrebu(48vbY3{fPN%#lP z5Ob++B+CbaBSnwuEz2E12cw*0Z!)oAFLE_TmRp|d2okM`yO*0RvMtfD7iC4U1n&~l zW|8RFRaK=@j$A+2a31v2EfH78A*e?mvsX8Hq>B`y=t|L+*^)5@3&|)}>_r;oH%0Mj z9;&^dxgD}8WS#Y(BnsK#+RS@!?;K6zW2)WI3975hp+c685R-T%*2_GRJwRD#@607gG9_Ie|i zJzl5cVk1g8$EW^z8V%orX}LKb)ja;}7!h18z1ZGwqc?KsDYbJ8H?i+#5F9bQ!ZM;J z;bBu0=UJbX88N~r#SI^iU6^C6`Js)vAwexkS0>_eAtNc=-o`}{rnEbziIZ2;go*j^WBIkh2SIUbB)AT+M~suumPg`ks$MRUQN>J9);WU=QxJ87QtuOvFw!pBrAp=({?dd6_!j)2-IUS_QBzUFpHS z;FLVGtu7Tmt^=5E;be*__S=TC2AD82+5Kn4>nf& z*Kk4&=B!mKqcxxNNzAA4BAWk#Kaci#}}CTb+<0tqUFb4-#B!C=G$KZL&AZPrRUW&eJH zosz=P$VcV+#nUNwI`60slwTxiu-TY>=bz&m+e^0);9G%sqG&1E5!aD1?L3>|U)18A zFCZG7lE0zQXl(e|*f*R_8D0<==6al#Dwa#~MxcGXN}ZGt%6_|rqxZ}<{=xT*WJI6G z8Sfw{BGup_6Y0(;Zg!}NrOV8mo)97cGPA=5Rntdcegbdd!e9!ZFB^y&M5&X(OCl`2f(h9@m1zcH!N#%nbrKq&S;qUA14VXVtQ^Nc%wlE+2EI&H`D$r+OKbkK|yjwzbMtTT9sM-U)h@z+V+w(roJd>EFfGNZ^> z_Fo(vsWd{TZ4o0==K-8fmEAHL1VgIEfjPzwp%NbTiGrIY*f0M=ILvolv1 z)xC3aInW!}0~>nGtI$bdTX(rVWf+1jO?k;|UA&+@wD>jEJ?)WO7M-pV`-MCBWDj{q z3w7Vc*4hK5AtFB^`heD8ps)>TDQT!%aebGW+W=!ip z_$Ax>U}$k9Y??cu$N=9mfBO|l(tF;H5iMZxaX3cZe|CAkH$s4^gc#mcvn7H1URZs6 zO2Tnqi}3W!`KsGPOC0tluAG089|SK5aX;&moQW)DEXLpR+?z`x0F&Kkj8*Xwo>tt9 zt)E1y>82Ch0sMIS+qy6^mO8Ti)7%-QCRM%eimq9!&U!du1J>K5Y6OmaKljWirhYIX z!I~{K74|xG>?+I`QLF#b&bfutml~n$Uv%aZ+BhA}AE2nRaHJsg%zG=FSDE=Z(tA_v z`!8%&6|kz&5E{bj<*c?A+ASR+xS1vT6L@i za|m~9!>@M3HEL{VF|-o7FfHuOm7Avz*?$`~J9sf5qg`h!{=%l&Dg#eQW9&Xhd-^O~ zsl_;vw+SXLzCzX#gztqd`OM`J`8YIr#}5BXF)scPDDb59sKD{B3}+CcRhY}1yY~~y z)_;tzs)4t^+F#Do)rRRwE&PT&yWCKe_X$rb=dy+A1Z(*ShK-DE=Aiz9!E{>H;lp;C z$NNS*$EoYDbY+Gj#&)zO{Y0&OzLiUXbOQiOAO9kQ;0j~0w&IKKvb_-ojO8CwMZaly zRRFvf>;Z4d{B?iU(&F@OW}1Oj&nSu``#SRF-v96A7Ea%WwYbah@z+cx!T^b3WS@;} zBS$LN|ALg#w`h1wUnR2lS$v|(C^OI&#tHU$x14}32!?E>x|)?1SblDC_)BQ@Duv&S zLZ3jl%Rd_LoRJdXPjvqKCp;BDi$=Isg);{VEHRTWsB zFYA+cA#;{1KXW3=VXB_h)Q$k=x%2NZ1ESRSbxV~ghX(Ni zv_(?jA)(y$YXt+M$ohj{iTMD$8@1P#iHo|Kow4H?A`@N=E0Xb)oOnt+lLx9nrMoi_hk$r zzvkzYcMk;gFT9zp!b2LX2anT!)xDN9l#0<2@SZ+(YT?H{Ri#HjNYYXVzPNhRbiI1p z-D5)}w5IcGr%g|`(zIK@qLEdA<2bWE4xrNTf1mF08~tfFYSggZMKC*fg`VYO2CM4m z#@g&lM%9pU_7W~~NlTaPO(d@@!|?9>cGE*wswxh4()Ft@>6_dbE8VzT3%~NlF^UX1 z|9k)7oQRF|o)*LAFX~?Fz4NP*@cGzn(009w#1ZY{V%-xhz@%7dk)cvEv~ODzkcylf z`crJ5vU<7SXN2is)VuQ#=eAI@>ORpSFC@TFY#+Mav9kgiq&N*5yF?uTL_)yba@=Fo zin$V;NRI{?gy;N4Rmm^0TMWfHf~IjnBE>s+uO#oOr3L)Wu7cV6ls^futz{X*8n$8A zujLnRX1i;hV2-U#2fdV19V%wjk^bM)ees6gmaMo{qDPqsZ zG)HBpm&my7Ok0cx%>G-f%iX#Ap-sO%=AAebIuBfNNtlf1Kpoyt zVc&mkpQgyUPk#HGn;~5!+m`tsB*jSjw+WFRB6d0yCV)ClcgJ_Eig|KW&LtXQz`tH( zJHY(8{w_8MB20yOB7J-O*U@a`41TZjxQ%eM-@F#=Fz#L{@1J?l)6nOnAh~p1!m*52 zV5QSw%v^=T<3wsf*<(LT!6op(e%*bwrd($0`;5J>xT*j4B@e9l`D%T&+RKH87|s=~ zO5@Tt^Nwp*pzlYChM8AiXq-#v8@1~w=*PeTW{GiESuV-C*Xjf0E&?Ii! zEH4lr7iGC8u!qnS=-3VVUDk3<-()5TGZ!vW62+^Z9(-NDw9=EjU0rxkIrW<;URx5= zNgbyo5|XIjI%vJ(o<@tI<2Xsx!&Cd+sDO#A<^o)KKzw<5Szvo}p)Y1g+PhVxuV}6o zI}=kE);(IL_3WIq+p^_E((GPS;@WrCKwm?MHUZ<-^$Izv4f6yZTzD{#)_^6)>jLyA z0iW+X8%LIGev>+QkL`58xhFKgQSfPH-w54rHHVob-)N|>moJN+IAhmbZy$VgBk8x4 z_Uqqq#}-|CjSE#mTx&`whVzIf{yE5uBsf8uNs#`5EK5Jbb)Pnh9L@D-k(e!|irWFb z8*_)(v@F2WcR$N~P3ZF>*V8x-J|~3eHPQOuhegwu8pw_xsK)obU0@YPF!3PFWq3|gGwOUR24@wc%e7-K^HYQ=hsaHg)c`ZFeT{i69)RUt|aF5Xd$*4_Dwa*5@-UHBa6Vo9PwoEF4J@bL~7at}?6N;(RNo z(KnbnPbLHD@xYwt`BsYu!W}RwM#R9Af-^q#z-2|We&gU9KsAhfytbCD+{u1uEf%1Y z(OR-awA0bSPNlC(5pdgrlw*LW^O*sba5isH z?#-Bo_7YiI7dYhcSpMw4I1l-lo|=0Mf>!V5`ue&LZ(OzfHD6PfOEL5U3t}5}EeJZd zz1ZK}%S-YEXdVF&|Eqo*fgDvpUDQ185cF>EsW@It0+#M)Q!X9{SP}22ASQfMmY7x^mpBs}L9iu6>Hr zb|%|x5Uyqk5JC4s+pRe{w34C&KzI0%JEPAzWX}2N`j?iEFnLFZLFZhWpMgdc$b`pF z&?7v`VZ3fCUqTCR8X8Wc+6e#!B9P;z3Y2~67*^WSmK01B$j+#Onjt9TJ2ZQ-q4tsd z^C8MohZWSZ+b1veej!J{W&jDt7oJ+O+DMwxVtkL&D+$)xld*x*!@D&jJv?d;6?IdF zPc>001(qy5!S%SU;|Xr7_+P42#RTbttwMoDd0fRTL#KL`B`(9hkx8MWisX3(3EFxN zo7wtyxo)ov_t}GbDBmpP1q#MQ$)%jM1-vek!ayO&=IY9QL#i@P1lkak!A0FcAw!r# z28owknS!iijIQs#N#@OOC%-$iy5@@jqJ;$hcolu!k0RSI)CZjvsU^7M42PiJKGSN{ z+;3s@jU1F$(OGnsFXPaLZoeMmT=gPKNlRqmhTRGnbo)06mvzr~E*NtbHEW$AR;Q?? zKEs8ak+@~{Md9= zth*7NY5EDv;>KQYwQP%#&EGFzJE&8WC&S=PGHc}#IKLP+LMcC-!~O=lr~wdjIFmgg ztyrP5gVav14W238ebDB!Wu8iH*1+lbH1K!FGj3IgSz&+QCrpg4TfX)*`Z&qz3511H(!~EDWbot;89;kM3;^QA>)i72o%_e0=gd zsiBJOr_!lx)6!r@HLr}JEu+Id@C!cC2j>|DGoT1%#bPL$qv-GthL%yk6X$qDOCVNj zStu+OLNMO+fJf`Sv=D}DLCKY-yWTOi3V!?)n`>axXBn^;{ccol_N|KM>xY#O6zpF2 zVIfLdH3$wby$7G`^Z%3^C=(8)BRJd|Gu+()X7_XlS=y3jR6z#I2mm(Qu2Ey5dcF)a zRUiK9fTV9Nix(i9o!|!p4TL{828bdu=h@}38LRsT5huiLSv#}J-qw{@T)5k%cCg)h zJK8~Kvg6iLY5`T3#P8U2=Ub@MWFoR7l02`J)?f`!5r+mxZO zIKHvHxtd@Ip9_lPTmNo7F{v0QOqr$WesMx!?+>E{X)|m)MN-eKlP{GTi-Jj8K7`tL z3Di6j5SnmM`;=9mI z&k=W1sp=iq7KZyOov$;)h+tEWk{B;38o(Ev>Q%7tgqC4nZ*nMvD#wfBZ@nzUm57qF z{Z1x-uB6Sc4^xJJ21Yngs(D+PhK@Uecxs1@5T0MbYEk{=1D)k*k`&$P0O^u+m;Ngw zr8=c)#zDVn(DYV3PhaU+UvzQ@FAbyAMg`>Sx9Q*PW^U#uPgt&A{uuU*J5^m`c&MI{ z%9M|Ox&}+jrONGSOi3n+tS#(bd?c0r(@_h~NqvEea75K`@Vo+rZl{5MClHf39)jHu zAH;2vQGFv=vgbT{s`9l{9+lFh{!DWW=kUQrV7dXCg6qzP(fFP{KUgZU-X;>Y*KFY?$|%vROrwLRu4Js zQZ~+Wp=?wju_AZuxL&%H^Vh53QO^=hgZL3UfR`%kNMGcu1x#r2v)l`+7bQZcCxm)m z6?NN6@=f%g9Pc#D&*-YN&1uW;Su$3$Mv$^CO%MJoSybHVN5+ z6}5Df5|@~&>KC?Xy`0KsL<3-Q9?cO+kijZ`t7-wV_9VFM5qUc-U z)K*R^rzkX-m>OAjB(Ng!J^XGKZ1o!~0ll7v){gTbm+G-C*WK}N74ZXvWO%bCq9w=> z^^97-ANpTu=IgghJQi)Alq^rBuvBYkF{egdb_)B_bgn<>htdNPzW4%O!cRkk;g2r# zxbxns3|44)f$j&9BgBXOE%H2)LcrX#EC*k;J7XZu@SIJM5Q68<2EnK}ijDwl$c#y!o|M>(q!LjIPF{_b(y5?tdbe$45H1ZS6K7~9Rln{>^=gR;zkwmH-1h6-(bqXhcSkL4 z+ah5z<3JxR!#;YqS425EED-XU%9tX0)8S^_e&Y-wzWwD5fVTIcTDi{A^HJ*GowSCb8{PI;Vjikkdn zholTL;1&)1^4Z77T$3NIbUBnIznc2{te))4YknE0xi%w{7w}M6ua49qJ5{V|87;^n z7k_x7Q}pa#R!sdog9fyccaOM0sR~ZfnAd@U^Sg8TtKNHy6|i2~3M%Ywb$Aln7^k~H z0sVTje0;~d!n)Gv-!p9=@Kx(5-HJ2vA-}nH8GPEW8J}@FnVF5CJ$P_Fx=*A;Ylv67 zB&zM5G`G5{*;2Gl}z$#%HI;kP)$AvwL5!ypE%d?)5 z*^W9$rCm;ov=W6wc6bLXZ=1bdjWx%=j%gBsaM zaR}F+0E_M${d;=@@FVRMCQqO`b9}}Wjco`o)fOW6*Ud#%$o5wkKe4hp-BryUggsqTY zb`thuw~Wl_3^hfIu>0itR+6b#-obpTgQgGv8DL0|4f$Ie6G(VVarNM7^r(VQ+q$!_ z_DiV)IM9HTYs_THc(CR(DeI$+l$^A-l|)-27!m=g|4P(_UE|h)jpGV%N2(hd8d`1* zfMg5&cW?e6oVyFiDmRB(Qi%7`ToN9H&TC}p@_bJ!vmv;Zy}v~)kQGyK)pU+b$MUFS z$Z#FVWnZlUEq%=a_^<-J6>z-LhD>c*@I3>AgQ4rK@-K{#+Yi2^LjZUQ%q74tIv+%h zUgY+{Le)ozy#nVsd`b$Rcaz>xP6g3V8FuZpDl%KpfEtB!>^J&@*=)h%t6jZT6N#k} z=+F`!t_tP&D=*RD*MLw6n&E;O`}e3Iy&)}PNZ>-A@Fdq=>Vwg=m8#DI0lJR~=`_&(#r8^73%oeAS zl<&{oEAj)%awN#w)_|d9nV0MGUBRgih!ap;tI`B-fC})|E@>-_TEhoczuK zJ3@oie}5noBk#L!kizvbN{~>tUNu8U&NxTCk$eT!^Y7Q%6pqnGAc$U-xHgy|=>szT zC-MzCyG^9L1yEEl+U-Rzo%WmX-Ki#5Y>DW`L|;(TeIG_!QdfZigNhd;i_c0dHgT0x zA+Tkc>-XRM&l%`}n(fnv83Px|dr-#zCE1dC z(53R%6Qj|yz%V|CPM%v+{(o|Q8oT93bev4mzg$Hr9_X123|b#5VDB?52iYtGvrRk0 zuV3?xEifVjy{PkubGiX?>o;U>83sN6ysQm>JbD$y84nvT(~(rOa?2Uz#X0TDdT-k? zx?=rO?JJzfRV5bh<)OU)McA8%L;1#U{}CZ!CS}P^jbx|BP8d|Ss4Ow|C1J`=_I>O` zm~2rgg>2cgj(tmn$(E7q%Mix?TvMO#_c@;9_s8#_j*d)b?t8BLTHf#Te4Uj(fQ!RS z>tQ?n*SHgSw7nB+ju@&OM=gU|_l?~y{v4x>HISYS0336@*|lN@yI_x6@yx16aiVah zoeuAavrW4}rir7jv(NT#Cs~6k10p#*OV;58D~@SK3Trf%GXdl_mpik2kt#CFh2`-y z>L@3d1|a75o56Hb>-lkrSp?x`4*nX0e_JHdnSaK_V&cLNmY3^2;O z;d!JXuh8;kfB$2ug6h|=C@7~50X+^n1x{QN4l9wjT13!A(nPE{Oe;OnuwI`b3=cw( zh3bgk1Vw9hrveA!a>S;vjJ8#Pa`ziL777W84deMO@NUJtpM3N>ZUT(M*~+O$j-yX* zDvh52-(scgx8$JNflQg9rS3gt#CqL&18OKZqxSo#>103OvP>k&NEzi2uh#y;`FBro zUCs80@j%fJ`v)JH@hm)X>rLy-J0+l7P~9AQ#>8p=&#Lv#a9X9hP{A_EB7zWox74aK+ay@ zZ4GNQ0RZ4=`s64lDhG6zT2@LJTEYtzllhQd-#ylV-_#A*0+ocVBZK@wAwv64;*rW- z?uRT1wE(3pZMK(zMK9e83PAMZJc!7ycTyQf45`{`h& zTKswbLq3$b|Mm--$L*Q=un^ARC>Gllr-kSkg=MHuimp#e+$(DZE4S_MhEmu~Kj>7A)02Cp|W z<5jiZ3yQZe|6pn;7u^xcbX<`+Gv^xro^MBpJ?GpqLm*L=v9-c}CH$(!znw)X;-BR+{=D-^ zaQ}YyW!F2#v6{aWjE%9B%cm@{W2&`tyeJ5d&GCYMw|EO7^pr}I9#c8>(Dt+66PVP` zmwO_`luz-tY`nc&V#^iA^2ug?e|LR7f55Rj76mG&a8zmKh>QuXb-kgGa+ky>$j-XaJ#vI()cWR|Gs7x4bXm#gz5~>;-C#}Z?bZ5MLG%1=K zp$fJZ13)@{1fqX?mUKPSwyAyk$&UH*RjW|_-_cOMl?aOYkR2%Y>JCv0S!&BwmOK2y zNnGk0JMI@rx!T%d*18$5O!4ZIW1nYak5qudVa|HxTeUUT#hLuWo)4AR%{ZK8K%M09!3zFYqnbCF{rv zeAG75ktZO$K)HFGa14ro6_0gsfy7p>LRwL76hy`^zefcB#&>?LSaV(k1_`02yQ_gv z8x=t!NBaX7hrfF)|LCJ&CcnrNT5`4$%~)B=unZNjgjrAz8zUvCsxNZ8p5R1Whsvs}vGo;pw90f9P_p41Cnw|;yQ{)_G?9z_(ZthB ztW0>-`VG3ITL(9mWm_7RF~(Fy)z9M`R{XPS(lf&rRUqim4nyghz87psdq#?r zvx|YKQBaxud@-vB$ETGx6B87q#5-F$R>K#rK5Bu1jfrgx%;{PqO$Nl!z46V*RS?c% z!y7CTmwDO@s)N2fCE1@eYD#;+T?V1Af6|wIP5_745x{1PytnxQNhTt8lATy470rEC zFG?+a(Sxx-^@fG1&xWyLu(`Vo9=l3U8@1nG-^3)190A^#;!~%UuGFL#Htd&G!g{&p znOxejN>2Q8k$2Tfp1-wazlM2usJe2Op7vN=BsrFIn|3_NGxSt1ur)uDV~?j=6u{T%+v}Jaat2$11mAlT8u2Z@xHpIkDj>Sqc5dFzK^0?Mc0Ox4q(qTvo{*I)HDUw zat`&E@+hhZIUI^&U{2>r$AQIWHATrz&XN>?))Itb8LOz=)Io%1wqM1`} zL{AZ8ZFf8;NzP%Zg`+mcvJ>VrDSQzifG|q~_ci;yNr}C}yf87Wernl>VxoFpyHD}k4alnW&lDpY`uC-7CDI<(GaFzBZCG#w}%C@w- z@H}paM7)yhrpDT+{n3wFPQKW5_Q-P_bG+9#B8%VI7-6<|yc!R(4*Em`X9N6yf0_jQ zgU7~72ptnjJCUo5%^_D+dwERHDxC3L83=H9gl*lDTAR)x_-@Gw*=M`t%i%Zpgxs<& z^zXg$JLKt!f*>Z6gKc63RnC`&)3I7o@RBnSdbP>Jc(-{|$DQl4vZ&&<>!IOjNxyb4 zgc$1`3QpsrIQUp+KUE^;vfQ1T3295EZhqDHC)7RK@E@10btBk(58JrPvSP(;&sgGH zg&GSPCd(IZ-^7e@|LLN*CnfQQIsi3Xk_A^oLf4%bc7}uDt%Opw_x#Jz>)6D77pJlX zr`d?!5fkUh7S8Fe7G}5Nu&W;bor*Vus#REw;HYBe-mTv+7cAfw?G6#n=<^ab)QpJ7 z3n*DYmzMHqzrTDfy5tlV-_mqUpyXP-7E_%oC*BfnZC_4@Roc1~W|4l8cu+H4hug9n z?+Y*CUXn2YHpaY5JZfI{?K!;c&;uvy+zeqWA^EC{;+JX@t#!XF{g%>JX(K>Cqcstx zEE-zOV_)Yo3&j)Sn>m|rF(N_EG*GY`^894-RrBFS?fqudUM&do&q%Nj@0h|=Y zl-t9!EvHKYO`5pyh*5*~x(Jt-SX$))gb}fcOkymL9oR3E#EFJM#rDt#C~}9 zyK|MLT$sSx;#s-ntC1P>L>(!wom`~;yQlre`1!0+qAbrHj!8Qxsq{qZ`yKIi^k*#C zUGMiic9nZreoBJbbV4HOEVCCCr}rzQQKZ%#f!1&s^N}fV5o;UXmrylD|EAHn-P9(o zG6xDeRkZuo2?`@&oF3O~r=fhYF>mC=W{q0I6>+uTtTI}g#A_f;Rl!s1GzFTuBXlXx z!V5VV)hEHvU@9ac<9I}(@`bH)I%V;o4Oka-Bbx^h@$Hh{E(`F+S@YPDl3jc5^O}bK zPHu~+o<7CpgZ>bvL4O)?6xuFWQ_(Ti}s^-^D-zg@!mL^h9?5?z; zVYTYk*dTm)O^=pph@@6;$e|YD4n<49DH>WUZR4uNfAdIlx||brg*G8E*9m4}W&WxV z)OrSXc=*mXXG=hj+>hvYh-d|5R1~8{&$BS$a?V+~h7t&EKmWWmT8(=uVZXf9cJOXAIzfpXe0fV{#q*1N`U7<|lUew|yJY zjaarpl?d9ITjMky7HpNVp_e5!D$gZ_-@W{?eXK1JiMY>w7DGWJ9xXjrlSggUZ7bJ8 zF{ox}f>;37?Z;LOE}93F-M=uO>VXL&oHDpY`Ysld6S|Qvcg=H{45|ja6JARimFLYj z;yiA0K+}jiSt|Z9!Pb0BERNByW+glLdhSS>bjJlUMA5kXQa`oIX>O#!bi-XCo>q7% zvg8-+G`a9t^4mAXkX<(5Jqod~;nOXCSf>|CI?n$dn+pa7xE%(kl1sLI8n7!#(neWRP&5I9qnwu|U2q}|zfQiyB z_B_RNOz>1Sp`Mq!UFsn`%&8>%-BTiGcK*6f!z>scR}uB_&+ep3HFXjrf~O?|gEmfo zkv@QNQfzgd5Buxt6|=x}YE{1>*{ghxVLglD>YminQHC zTFC~+8HafJB4;dex7iB|VXYlu!e0C|Mzs+ot7mpq3CqnkoVDM!x<&KIPwR*MM{91A zy&B*gY>4pQc=?gzCOWX*sozCpI;O}mcZV2^oLK+$d|g^4@<*3IhYmVGZ49iMc*dY=1wd{;DZPt$kGxgmVM?RfiBpa&of zl-XJUt)b=Dzu;rrn8w5bOvq#BUO~xf311<`33kwq+<93vZd=eirfGM74$3Z%`US+0 z6*Sh}w!MOk)N$-G-~2Qt#FF%6Vts@!LgKX+ur@kEn!KLu2_ikc-V;B(&X~0ON$f$( zMV94hd0ca8GQh2Me{>lBGy{l9ql;sES?<8mxO+ark+jQVQ&6&2J_B!gDyw?-Ca?DM z5?j|AwzRZ3dzzo=v0$UO;vU%;>pL?I_Il+fx@n|J6G4%?=07PSiCjz}l-zX}Q4`mp zD#p!jlrEpoj_~3p#uItgG(Q}WIK|&o{`OuVGB>Y_FWbxLTn;sQdvLWpJvI4h_)p&k zoGqw+qn-ZA>qs?}{~u;C=_UX50nl%si;atE)Uy~z){FhTN408~YRLxyMQ89G=0gB=e#I=UqAEl}&R{2S+wylTDH*XR|9 zcXvZu1AdN}`8pe#n{zpXHJ0bB>c5LxrN@j24CPmM-Q%yTahrb#Hy~ZYnSTf53ONwk z=<&BTvfFsFIt7Az4UtHW|MwT1oi!8QlC_Q29(e=&6e{S-f2|9&CuMGT`Y6b6s|LB7 z-{@GxZd#MX{TJf?btZmrWH@_|XH6E5uP^QYS$vHnwQ>LN53{#q?OIrNXNU~j04W>> zaaIYGAx$lV#bUob{^tgQLS7B&2L3(V=mA~p-!BII@juO`3PG*0VUUCF1u$)O_jF|1 zoU3OdP{)URg9hMt=864x%h$eYdxHbM*U|pA8>zrmj0L{~A^vYL=S?aXN;nMF`)pkw zDgoCA|J(fe`%eE2fzo09HKgJ9ZE)+b-@^V4pYvf{lZHK|w1N#%aCq(h{{ADt$E6-5 z+*TufNCa+1&9r}bcFc!yGPWI8EYait(5^8{&Z{^>(Z7}i5B~COyKL08(*`e>=K%<~ zm4yHcR}9#|Kfs7oN#Um}9`yLMfIl<56E{+UAbphx+&2Tl*^3u1vNk_Nv1(BWHI$3d z=*yr{;6i!1!qJ9*@$aSgRjN#~Z#;}gJ_-G4_uGu-FF&02|9j{D@8e1O+y68lNibkI z;1$=te0eG3R6%Cb^wQGfQ7~@GcCy^K!RszWA3p~F!D#8{pahUl75Vh04=0okqcw6~wJ0C@44y9__`-=>Xp7}I(tiSWEF*Hgb>D(?#Q%$#}@B7o5jyp~<;~h%;QBQOOP<`3ET}R0!*{ivQzveGHC8SNh^#7J-wK|)V zjIE;8TYCTEZ%g|^6Toe+*3`QF?kx@91#`;a$ZzgT(CBje0hHbJ*cglPb=+MT?OcgM zN)%F>Y5a7dMyyq9i@3^OeL`BJ7)7A#-W1b&DqB5IAkEjawV*?C_2<bq*syFm2{Pf8SY?3g0I?N-* z$huU&cB)1KAvcnw2hRSueWK%2qM5b5#aU?A{# zmXteP&IM+e<>|&ol4Mbsk5t_puPn9hs9hX-R|mLp-xWYLtXMNmWQToXYd~q5B*F7+ zIM`mcm!u2?QnbHQJ&6O)5$aFkJnn*sUSlmnr1R~h5M6Wu7`f?_@NuVEkWoDXfLbpw zQIQN>Yoz7M3y3fu;zYmvc^;Sb)@euJcby8dU>fv|S4FCSl7BooD_CgJK{NMr9k5Ln zNFCFV`1M)PhHyFvlbvCsJz`$tU=O)zqRT)*^=}iGMS{&rNw=Bj{=H>FN$@nCX&0(`}8jFjk9aKsyTBI5}O%42WOFK#^EUjtN6 zsoZ)18vP*~#@a%e8(N|oOH$Usc1DctIZ*g9troN~mQ%_W65$*i%Mrp_+D`Z@36<=Z zZgsB2*{uN?x)%xHw+A^CrJy)3WdyOKw!?#S@#mYpcD?B{B$bgMn|SmocF>JvQ+QU9 zA?=d4cQGCm071!GlQEh4I>p38$0A$&HV_BEgVFxd{Dt-$Am%jUrYX?%PHJ%Z+sq}> z(9LZ{D`0MQzxAUK$zvfTtT)G()d)0QHo95E9-2W%ZA!uCF*`x&8z%2DC%OH`&q}oy zI?A5rEQCExrk(XjDJ9`#_=Uvt9qh|7ivdE^mE*g|z-FZN3TEBP6^BFdqGCwju6`@4qDXSsj38suEmXb$h+^G(_oat6=;ueCc zeJrm1@Z!s!dWMN-U>ef1)Ggwcsu<;rF*Q-;H@h3_9mpo5z zlrTtgvW5gvYlGajPK(fmAK>BD?$l$N^(}qpgzumum*^NX$snjee7jq6EEpyVn>fuk zs(_dvRiTa3l7%^FI5>lbol*Jr@8_PXmFd=&1D=OX*(}yQ;wAk3;9ksUZ!zzN@830C zfouT;ojNEBSV@E6yhOrVe+b**JLfP?wu&zhHY**ZfG9S9tdb9l|GS(6CI3a>3U<;} z+#xK7gmIQ7V@J|8?yIsx}j=}%wdtc&U z|W zV(hg};p;Ulb#wS#!~&j+w$y^_@b$8gt@VI!+29!8tEdMh^Xwq#h$`d=DEfP|MJmyE zSDq-g;gcLuFsJHs$9 zK6W}JfelK1zn?~hX|PlK+)i$6VhuvbDuH9pExSN)9U5D~=y&sv>uHM8TV9qH3ITeC ze)H}0^B2v%b&sO7Hz<7@l*VSMjx7e@R;uHzhInPx3PC&qDZtQ=!I<9Zt{jPd z6FaS33%Q|qd?DA9)Q|wt^TR8wRncQC5;o|l0@A+i3vg7f6_)px^|Ir$i`(6mr$Aw_ zP#(6<3Ote?mg*@KN?kvYK#4MPv<0eW@Dq?%#}?m;RryrE869V>cC}3LCR4)gmyi-= zNPDhOnLi0!Htsp@JpRYuGKVB=@WTOorckJsT@phY^VL6Ks{2rWaz}JcYZid0`{|$3v3FT{tP&+vSDHcCMEAco1Q|3pW4Q%-xDAA zK4v_Urg9-)yXx@|@`G7gj7NY*Nh_yIr;!7Nps_13e%fYwC>_o)6zL4}4_};lHmJso zleYJx1bPW+konrX>y4~wehRiACN(6o?swqd;7y&lK(kY?PoL~RNOu@?nqEw~Pn*MU z49p)+=Y^L5^&#*7$sD=5bqx{nW6gi9cy+Mq@~2adwc9e((}$a%9)0I+8$F_H1SuE( zFY--ht#Thl+vdE>OHe^mi`3Vo>xdN2s{q4_sb+DRt8g3Wul$s>S_ZAwQsXd82~ASl zFLe+(Q)tTvt*~i?NK+e9&@&41P-EVvvm&APXqBa!_cT`JV`ZfpKe?N_&hSQK-YpQL$BIKif}9C2UYy0!gY+H%~x4 z1NYg*v#|=e(T#4xM$&2um*0#!MF${`pP7ZSgyqkXd#r-!MKYUbLlr zM!(BOoR(ja9jDhTH$X=l++Uy zou`Y@&>NEnX3p)jWXyB02;V<@J{6CnLPe+EN#!LtN7U{q!H$kL4Jtmod7mM(c)U=5 zEc@`m^$Ac3OkcHYuV+n$@AgQ5kda517QP2}F-NK?hku-CpSqquT{Q}C+V#-$vk!+j zpLPlMR(>URS`<@M{2hsW_d%!FJ|P<;QWx};hMPPjeKm8*NhSK+C5$HG%yM$eTO$Y? zI%)03q;?9At9PnXdM7`%Kzv;1^24F;D>%_Y>-_otEZGdP4yI;RJC>wv5CB;%+HlG|jv_3)enHD!UEYf|ifXCrvSN`E=fQPGUL{EvZFGlCH zJf?_Ib#~o``;#pc^;Z4?u!Xf-Cy0COqAA{n~D;!@7 zt6EMExxN1VkqW)>8H~)z`$+153vwSYJbmz$J`;9TTtq?ahD^<4JD#%5$ zrkzAWKQkN89ca`jJ)+vE-$Pu{s~wwhxIS^?c-5FzGGCniT@mwK%uCdy!NaMO_q)1v z!z%V>NVUiQW=r>qFE5R7zA=5~c0%>!uoq+Q&sOyCn!~y@u}o_FMBBlQ$ycB{i5F1- zl!6E9%n$4;)%+&F!n6hmqT-es?TNPo7M55gkkrAXK0WN5$|(sMDE=bUr(59N7($bp z8cS)*m)Uvwx!Nzu@y>ib`jGHK7CePZxKhyMd%f3AWgOiM$+ClStTXJjL1khQ$x-QFW-d{mrWK6FlB(`$fjSAlcbI6 z)_M?My6sYL@oL%ej{yG&vO?S=TIm>KGP7H5xXyrdTlGh1Co}}!dOH+Jbk4w?U3c`T zJx;0K$XzZwSv?8g{oGiz(U6avO#;avqifyn`%=fN-0`!s5>s4Hy(eR%_{%2aXD4bv zT8#1H#7x7v7+sIq!;4G$7r(sT&*oZ(_g35CO_GaGERi4fpBxX&C%#{?j4K#kM_=>= zGihuOktx*rMqByfp{vl6E#bCd?1uBw%F`)w%-DhKx9{m5nfKz?1r_0;ZtPGhX}4FP(St=FHWHxxY!i848O zYeIx(UC&~J^D^(Ftz-R}KNdYcb1cM##)LY+n9HA3b8a%&m)<|=7&A3Bu z^iZ%vQIwJhB7gDUoLa5)RQ#Y$^=HshExaZZrE#?N79F)ETwxNkE6FXl`9+k!&#wR-}?O5Ip5$F;?w?|CN@Z% zmJDIb^`3C)!2Il`ocnsT3uv-ZN$qrJ;xV+9Jb3efJ=?8NjDHPl5*@x1aR(G6z3dFk z%hD42yt-jA&q%(zxKI-Qw02ux2kwi#+Nf#M1ARSl%K|BarjtBZ&LBk|05ssgFLnUx z9}Do+rrI_VlnloqRxU%Ya1m(|FGVuHuykvGkWh#lt`)=fTcu*GVTyUAd@|lR=;>#dFj72`SO9Eg{={#HL-xFyc9^V>dBS$X@mV=U{Pgul z0UwqKFhTQdW^={bv}fj`Wo6&!&Q-ITC!>0YY4q?X?hU`&#>UNv#i2mhPb@##`hHnn zzCps%?Ao{f7~CKG;qWr8%ky2>y`y}50>e(-N@zmB~5vOeeV@371$HC?Js`QRv4E1ZZtTW zlST`9JGjTWR+SZVmzDtYG*Ft(KfGcrsfR>!6}9o)QrXQwFLD;(aK{%``Qh*B@<6p^k0T@jmmvT^$2Cp4l?bd$I zS2I$06Q1?0`?bl|DJ(1#V{VKawjHDWm_JH+;UPV~=_H7Lr@>5)6x&uFKbq)IQI>uz zwL@_-9^eG&KwlF*T-!R>)&U^}H&hc&PFqY$&KiI9GfEvu>q8i%aO^m0J%I1A#^f@K z8xqrCJQwz&I|ZUrf61rPUC$l-^^wL=6t05H$ba!`6u(N|)!v5WKF#I_|Dqm^O<@m77`nLLS0g8IT8g8ZleoA_n5%rENK zZIP2S0Y?g03Nphao#{m>ZSEeHo!6*(yQP#!3)P)(9oC}V-0EiDiZ*A=-tXYh)P<_ga1fvN~e z9IoGrxx!rIG`pVrc_8r#(yvPmK2Cfd=j3TghA;+|DP&du~&dorFRl&?tq;8jN?;5y&d&&<3*ZaDSFMEzhjAPWMTe`fZ6) z0&n&?Nh$ILkzS)YKaV*NU{5iiT6!r62V>y;CysFUp*HVQ$&BZ8h+EGE&N4R#yUTt~ z`VtlAto=@~vRta*cZWcJX7~Ns5UO%pGP0Qmz2=7uOC>hDTB7HrW^QC({8fGYuId$` z7*?MtH+o`V&d3ad!0OM6SFn+5X{l9x=l&)CJIBqP2FWd?Qq{-)m2QN}iWDrvB-znE ztA=#N?QO$&L(vi3_^1bvVlpm3mxsrA-B&MLt3d_aElx1xO-8!ND1wEGi)b_HxER4^ zYk8U$;r3W%$Pv|feru^mUV<~BJ%#p2J%S2)>2-nTQ-of?FLbDf6zqWWyKsC0f5P2v zn|xY_E#(EKZ)=wO{xiZV7l8Nc*m>b@c^qs`>gS-Q0lTG0}W7Y6DL zPUlre&v%HeSS`cD-LqcJl*~3T*!=6oZ0M=Dp@*N`Z=){ z=?sN(W%Iz+Z9834j7?1K?`S$g^rjHb`Y25W!$>$ljU zEpqM{G47!XnQ?rJFuJ2UD8#DU()?sLdP7cdeAaX6-gn;v^NFd3uRVLclycVQK7~={ zN?5Mdin|8t=@-&nblzS|nExJ=$AlNlN=HZI9{JFzJh$dC0?US|FWI2ngQUu`rjw%T zcIF1wNf|zuj9h_xxD*GS=uGL-TAR<3!K2sn#Z{$q%x+FP2|f&#@LMraY=w99F+5Rv z@l1_N`@UY9T}Zabcblx&@L)Qea*xH!MmpwnBz@u32yz_B_{35DM^Qfr-t)-zkDobO zSU*9CRy*j0apCYyK3jqF!ml&`ymm18&^Rs1crx-s-dR4gL*)mu{B}#;R#K)+{emmP zth!V6)KeEj)K9qp$>onm&u+$w-CF^oD~se?Nw#lu z5n@a)66uM%vL!#_P@!*5YYt zu{JN)s^bhs!PXASBgy2a z^>%U)7pB8)j(kb+bdKdjYJj%hXm<&eXm(s!&-dF`{6M#RXSWgW`q9`DJ^EmNArQBA z?en0dGI7UT4g1rghR8+AsuQWkfPkqL@l|#gqnVQ%Z`dAw84UAx z)-Kw+H(mXcpjv|-zo%#=pQaFC;{Wj_Oy$GJPd#kD{m@472Nxe0jMnaH@6_BHxsfA! z*U1S#{~>XVy7Uc5A=acZ6>=L~3RKzh%!-pR&EN^D=B|wK=zRXUVuc@D>B4?;IzHVI zPXB4lwF#TTeDip9&onl&%loB88OMAzwY_pRw;z7^%iBwlCU2D>3d0(sr+nA&~7`1pThIrmNlMG*J+#3AR z#$e^NlZiu(WEvNVG@Bz>b8ra*d#|#}xpr(6wxT30d^h;z`K7pAe7gtibu$UfCaEJ< zy2ivH;SOM{<}n^s@e_r?32qN=IfY%d1*Nf5mglboT4uQAF@?SBlV27^9}SpIp)$WN zd{g>;BY=l1K6y1nff>X|KDAs^YySitGWCu`m75i6&3#As2ojYz;WWCghvtKCu4R7OIBSE*8RxEaoP=6 zl{VXWXg!A_Iv9MOPtKJmed?>?HmM6`pXcMR>2{DC*bDC}OYb_M3b3rc8R;AS<%t*O zEqn75WEg0v8@){QUOi-*drD+jk3ZLyKCWOwAY8T01KVG+Qrp1pw7 z3Az8_cA>!=wtT6grvn?$yMFv`j(Nc}dvgo#?3}}bwp%~I?Bx1PMlhBqDhsEyyZ=~9 zy7O-3bMsrX-`@qBnYN>7-L2;Qd(6^=l5fm)w?D+lquNJrC=%{TD-m$6Jm$aU-Re{7 zz8;L`%(wrTr>=AOsn*blR=f^sX?ko9;vZ3up5PGNnA?H9gj`|fS&d?8n|}XC^Q7p5 zLqgsI%Flatb5-BgR3g|Uq+H4-W3T09hQG=%_uS|S2(aAzIDQl&I>F5{msWS=T4_$d z*;5-J;0Os4n!EGYIIVIa2GpRqO>gq^Kc2};6_1fG|7Jer)IQchOjqe~2M~MW$6q|k zO=7{%ZR2^BS=QBGqTEMrNIjU@-?)T8iqAcDNzk=4FV}sSu*+-#-~u4iQ)g!@ErmI9 zv*eu?+bk}VrUCT@;$#^$Vt-{$Kh0aoclLCSz_i3S>Ian_*)tBw6vjKB@jE|7#chQg z#y}xkk+QkjUbOur;poG+EiP;1<-)bx?AWYxp0SSSa4RK&#f6p3Lc-;PJfRCT%LNR` zlBlTN6Z^h0OhG=*bKc%7}-idvuroIosLQZ|DyUlgSkOJd|G~I?b(xz^2xTk6tBmb zCk0<_OL^ol9J8vWltX&|&@%8&OpDs@&7EodDzdn%?t6vy$guI;b`MoR?os{kwB@4~ zNsrylo;v{~byt|t8?f;>1<9{B*r&Y(1APf?^sjJX=IvOvKA8Lp>uXryHFaQT4(>{J zdfk{YZx3SjWnxd!zdyBE4hJsu$*sa~#rYJ8tB! zeYOTz1%EX!oqpM6O04-8^kN@{OfNZmQ9ljR%)h>WM=_I?<75{tFG{WTm4b%~+wCPU*;AyWiscGPN)D zpKuKmh8bP#1iRYLk5?QBEWh4|3>>iNX39@5y0?B#v25^M-|}bSzl0l9_#@Q)2$m{8 zg_Dxj(S8;X)6o&sRw3>$hWq-Hiky>Y>Y>#5uh}Sk*vex`=mL#Z(x$T-A{Q)ir=K>| z=r!%dqxQ9Ex9O!I`_TlCSHn4qQD4^^1wln&-N8~qlTB|cAtNw!Rx)r&c| zm?zNibVI|KTgn{ruJWX^#D-tt>rr`f%50JDx!}QmlzC@s@>lLnLUPRQ_9#OOrc11RTN3Ms(c!XcMn%BxW{rxrS z9|=d#ng6Pd@~nX(4?%TB-mBuXeaBh75HUMWy_iJcg+rT6*=O{n6RN0sbgY&}8< z*7FFVPw0nJ33$q;=vPgGp0a^< z;Frpsk`w(Pr)AJoCMk8+fsR_u3kcL|r@r`_zztZ9fbMKA`mcU3zSA{8`77!v$dg3g z*}1?Y>+!gpCO5A8!=2G5O)pV>+oPV#PSwRG)>$_uW!Z}6M~v!n*yKD5NqRR^&=i;q zrs5nc#(MySWleC#%w|id_uFEUlE)Y53`v%sYb1h1-pXGIDG-NS3BMju-225ylG|Vs z{ekdjLXIoeb++Aasu4Us_si4Yejn8-30#_cX4=+HKS&W;2x8{yJ#UM4!UhR zRNY0mi_-p{_}Z{rznJnDv6MRRwtEhi&xyp z1r3=P!}d!Fmu_^E><_4KZ*H$`v@&>s5Z^uCETI@{KOiGp12^0Q{6qc=6GOv!_@w*2 zWzL4FXUi|z#(uZatwvV+9c_>PB}OvBv`UPtf#lSuYPE8__B6e8Q~$k!Dsceo_`d|? z=%z0CZ;wr>>6(OTu4O>04nDA1q44F9dRCaB;O1E|PYx-zc?2zseTQ^ABHQtK@!c>^ z=p}JLhPifGwEEh9#i?5834Xm%pq9-Ae0nT{;xvduL`_t?tN~54CkZ3jN36e!b$syP zg$ElKNbx-YNUBM|lR%CZBa2r4Mh_c2?6R{_fpg4aL{AoE5Al@iO|8 zt@y(piT+i-lGNmXcrSjck#IHl+pqCB;fO5Z*v|D({SB%|$zR*NwMDHmYT0+)bSJjn zvu$5X_~1;FES(j&{8pIaiDI{LJzfr@V5Q{0?@m(mR6j5%~vRKK%#AbB_-j&z?N7 zYt>>*x!qVm8$y%Y1*f=pK%N6FxDAb_8)*Cjj(;l?#|s)tuBWN!E1YZaK(APn_;KZC zDG04!Vh!^u%Pip-9S~E0a@zGVCsXY_sAmwcn?=gU-yAn&5Em8c3W?aJN5N-Yw3*=Uf4kqfT_a z@JZ6HSIp&hEa7u)?T_uH?>+r$=dny4zb3d#>_~3Qj@_7qMnrX4@5>uKSV83T1mH#< zt$H%8W!gesXpMn8Ka|WtuL5s;20?&Rw=zQ*J4o<3NvzKvsL#dJCv;Z9&&1h0THstPoiI8wlay#7#CZ z{pE!blSzwC7u^sN`K%$WSa^MiS0ARE?PPrbIS2G`#a~3CX}6YMKCU|K7OW1=a9&6? z4#0)9399VYbg0)hQ?1X*dMvURIn(4>uT9jzX9nkU0@pxXwjiUB%Z%QgpQ5~v$4V?g z+;g#;Y9ze}iP#9#Y@-vh%Z1i0ayAsI91v5W-onsGN|fs=Y^T)y`KDP!D>$%?^qG6% zeE7KJogbFfWsd|=1@m~JrYle^IxEm(t*?W;-M<=QAeWm`0LW<+z&ES`ovwIuOpx03 zj`7n0@&HI|KxG!{pQGsSr2pD#oWbK5Xb>lyt0sSEg8*JR5o=9CQg~Uz$+2(D=~_84r({;y2hNYn|A_e;s}zLHM_H}GQ(33@<+*`zM2vWSbk=)K|*a+fOX3h(yfyPV2r zR$id3S54~lm4%boHMSa1Kc^FtiWSwcXSWMxzHxZ}s@s5qeapGvXp7m*PXJQ$n_>QF z!foKQMCVnYbsaQ-TcvfqfwU6YB;v4axt*mXF6!SlsLNvM}T_D1%TqYI($Y^0U)h${f&2dAuD-ooLziOGkbw zLW`GCiKo8v`DSOyk#Pw(;c$wA;62}?v$Ar)y{9-_p=3Xne`5opc{+m z8=v*~aTXupl4x^fQGx`=wvz~>RzuL|G0ZSxb>JZi+pyQ_hU4-x6=jet_boLW9`ddK zL)2MDMfHVkUjzk2WB@7YMmi)!LRzF%x*KGM?o@K;qgWbO@L!i^%rNVny{vZ6^!uDXq#f=5%|1T_9Wd22o}YRC!EdctN2L zDb(h)y^rZ{K+Y1ILHlh9!&OR!f)x!wJpF*%Sp_>Jc|VEK>Vu$GGP1UsGD?o3cbkst ze9lRw4q!)Wd3fg+y>VGIPu5rTMvAK%GPN90%~~4ljGgWS@T1D(D3(Pa$zG|40B;*U z(7!8J2dS)Ry&SaLmF)ofIwoWqRNB%O>89u%IuG`g@Oa7Y=56A%2d{?mVST#Oy;}>p zz_N_neEICWir;Bf5JBlT_xFJ@r&7~E-W@U^2+YtC=hBR~}N2KpE@%@<5S z3%3E}fk7L^p9GM_9I7gTLdaKWWLR`OX4n-{Uxrcz;e)AsaA{V7+9AJ8QMXzEOXt{= z^9d99JJAFZX)-@A~sh%4qy{m?i>x830ZPXg1gnBhk{ivqJR_7Vs``0;_E zN+ER@PVZ5>;AzuOPzA6sE8pt{Vgf$Pk4cI9oo4Y{eG1;2cTEp`UJA+Q9x}Oc=4(XR zuePBdEO*(+OnK{fhlRBIe(9Z=>v8i40gNaPDIgbvoaCX0+@+HWeDdNXfuF!TgYN(B zz1cq{SD?UE8+Z)+fB*(U}vlTqOJ-05k4UOJV{VI)-c#4&SkC#D>?%W zsicSB^nm@C9^DObx4mj34dfYyc#qlW;Q52y#~rg+xm2Kp`S%W2y!E2IGQGC#R9EJUfw?+PYukQeb;$*@KjWa$x z!iI_S;u|hqa!Qax-@mHHf=IS?d~p%+WK^?*gu!zO3_b4?2vA1h(rt)n zH*aP!;jPBRV4inL4Z1*(WV)0!--UUtO=v3aBGI)!W7yqjVTmyLbOe{SLDe#Q!?6^v zFrbo5vnEVNyk#OPNsTLZhXK45rnT1HB_`MFzXj(3Yl02JWb(5>benNA7n!kzrR=~F zl-8t2EW*M3G3#0O-7Z{9oA)nlDLaJPak%BA7(y?5Aw_B6xyIPfGEwWG zcwQp9q5eO{FFKSC)%0$CtdWc=?T;Q-IsqUQQD-I852&6QL1W=p~)6o#9h_sHF zLr~;p!k_9DbUyx#87_)CRWGc&L&eFfV9#Sg&G;^o%F%)SaBj0&vq^Jw!|855@OSNu z28lM$ZJ7bdbF*C`3#dA;m`2q7fa{sW(&U$^Y4AvPCfeknot3c4r3v7Zg=EJd{y$hX zhyGiSG>Er>Fm>s_O%Y(+B7g#h(PyHpau2?;9BJAW`QX&G2YBB`?F&-wHb{BlnUfy{f zXeSSH)XnrwOpe#fhH6!4S$(xsG*Z`{?d3sz`ekE(yuGc59e6%FETTiEc zRTk+MxYk%HDV+4P0Jj6~Wi}8mydE6{r^mZ=FuDFI{%xOV0K1Z$^X4LD`RMoZVbmDW z2?bn=Hg_j~YroYQBe=~V21MYstAzjgayGTB9-N{7neL!*a{sNo<_awXJ9BpHjlm7L zoa)))E)N@*!gyQ7ratAw(y?b5Is6^<|a$6@6#6x#}ZRW4Po-v)2Hvf z>O!1NyJ8oT+b3{wIcB708U}AZjS9XdPBO7|{L*+LaF*||^->+Uk{pH%WeCis(6xYz zAnenueY9; z^SWqcve=%d!$$u5(uxR2LiCaUDhslGhxq7}=bo9$VvM10

if;b9GOI`nuJqr*&_4V~LihlpYxOte~ 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

3LrNZ6jHijIHL0xqp^fDKp zS9;cP;0Egs#|vR6IHwk(6MpI8Rr!G!vCJQB56c1LXS$&+BVFsio?*VIzZ)M6{&$r!0Rf_2QeN)7xL1$EmQ!z z`g^>l)3igsLbd#W)d+Ee-8107KI{g`*054j&d^)|2WquCpw-l7A$IzT?GQ1hI^|TO zq|F%Sb1^lllEfu5cl3MMll?ECQ7u1uwYl~ovSdQqfcy@a&-F+iPt{>Ekm3ZW#!io7 zWYNFn!~-m+>Q-wh-+>oOX3`!+k_cWxo&cLCap#vwa`Dgle-J14GT}tIXtU)WT7N??rYdEr#l+^9g=}TDkW~LYaXT&;h78SmG`Q zrqEbFS;4xtZng{d7i2m3)bl}RZkm!L-l0R0&0#T;bBLGG1gl?mPy6C0s?(I4^hmBY z=f@^lhiT1-AJu_~nfnhR=6g+Cq>!hJs~?J!-B_%;gBv%rf15RgU{~%3{#zHRykj<`N1Gqc1u>DQz3X%@Pq8)hXlGCR~?dY4#g@C{jHCNyN9L6`EB!dOo!n zPkr|jZk#yt=~G6cblix?%H{FWA4D$z-P;cc;c1fm!~5*)iQfv~=jSyTb5=thWyalqH_;tmAsqy7>_XBhwhNo#Z>btUhh+L<^Gzz}r z99|39#DBln_elpEp!hWdZf^l*H;+f<&)2n^yxc}Gd9FIXD6+uIQ-WFn*6;7`i_4yV z_GjwsFx5cjiBtVsI;OXN*dJQu^2ag+h4KwkpkkipiT+f7iKfmC%W({YZ;bGXLY^$& zj>AC?n4vr>w-E$8d3DFG!B47V`%cih(F(Fx$9AWL9yuDy@V)t;MD z!2M*~nP)YbfJt*LPoN%#(T$wqOzz+R%d0;~Q3Odh@>|ss(RWrI z@#<>P-(I_`W^WmYk~)a^KO~%h&8CrZKLe*F+W0iy{$TGCIWZ@3DAqQJ<-<{1F48U+ zzW&Umj?cWS4V#69Pu1EW=b;B*B+gSA&kXkiK_W$Ps3T%Twn#wgMe-3H_ESr;DL{c& z3Jq#IXgD+=Zb0k4I^7Huf4CYpOAX-~oiywbwZR_*Z_i%B@Z0t8bP3 zvV8m|mBhcRU7#!iA5VVQR;9CR8@^7|to<1A&BDwVJ#x>8a*aIV8wrzP|9XC>Vaa^p z?nHIGK4?>2ha`!J$>>7h>X+4eMyIP4gBR`Q$!u}}Dqd_tf=Z+Rk62w|*U5BqX}N6Y zVT>{!*7om>0zgpmJgR>UDle_nSPd+ysU0*+bH2Cyjq=2SXd>)>v~&dEJj>S9bbo>OkQ;X?Sqj5y9ox2+5wGap)%NBl6u8KDTHY@ z@TD-|yVX7GQP=`$xQE$U~D>f4(iC>=y;=Q@)Q3 zM@2>Z1{iRMSrE@f;huN9hjlxh4)PyHQvfyTB+s1&d;@#>w2U{1tKbf&yJC}bmkod1 z6uIylh3`loZ_3~X62x)_E_1*2*5)Ks0smFRis2kjK$xLp<6mH;@QZ(#t5XWT{8^vI zA#QqEfm_QwO-FW;{O8}dj*UuXIWANII!+~KngvM-XrHgf^w{cz;F{~#F&fe;6Tbe^ z;B_&_0?EwC&3y6xZtmexvNKe4 z+w=;Q@qAC!z^a^;WZXmbSCBg>aDrhDcR*}L49P44Lc6xB;-dmia%cCQVY$Q0pLEk} zr~EX-8!uZDh&428Ha9XC;L0(KnV|2fEwDw1>d#5o<)=0z%JBE*Pvi1nt->MUJ_`gL z9gSczz~E~yL;d~n+~U3SC19&se8^^|yxB=&SiE`iY!irx;L<;Z0C-f~YQ^@O$VaOi zPknD|vq{B=K|3$CsZX?#_)5^%c_=_M&i*oRv&V=1aupMP9rgWanFZXT#5`D7Rl!)#dF!QX!`sgP67R&bpUC(WgsLZldVN z)nTPK#@vBYnzrPf_8W|3B7*w+!RLE+!{g`30#6+kLm-V-*50HiN zg*RYC8z!B!1s|Mwi|lbq0Ga90G?QE1@W6mcw|J$Bppd7(9g3)OYPHk~=0lA|C< zu5rg<*^m@T8YUY1tk}k18^Hs*sc-gyTQwF|=c?16tJY%rBu~kn!0W4bOrG%$kFmS* zSHUy$*g)S)fH{yX(dwyRm-J;;cque#0Eki_^at1L$T#?OrsX$~kR{3g zP6*)3K3h&Iiko&}5fuUEDVyr4&hhsE!4id`wa|{pGo0d~8NNHl!HLI6YP zq|DmZpVyTabzefGEQIrPIz>X7Rv_Vxc2>HD$XLh34`(_#T#=)9)l_O;0NL@iagiy_ zG1~TZr{l_A*GGsQKJ1bA!0|+x8;f9y`u{>`wNEY3`iG=(Baej_1RIzo_L#u zjN+-_iX6}U{>9moJlSfIp(^eB*P6CvpJAoEdl;^+GeUE4)MvlXB38TcWqSELXR{4= zL=bYEf%RXgUY8MT?CH|%?ad|$)qu%`=K@QY~0yI@mhsIodm2N1(s z4vaIY)#arYxFKqH1@EDDT~<4%+9kP7sB?1Ev7?S>aC%2ARtvb#{|C0Wv)*HPa@ZF zzQ|&<5r0KD@J>quZe0-m@3!i@>=QM}{mwUL-HFj|_{*6)C9NG+2veSGQgM^lH2&K0DaVOZhBRvpng zw{(+Vvm6Y+n1OFYXf0JEAGR$RQ%HIru0~YWpH^d8pCz`u(FmC@MK zp6sZKbzJ6!8dnF-`gk5>`OB-<()s2#iCFM_MWcBzc*U>k>q{B(XQ6d&P9+voaJY2U z)`q<61$Uvh{}kKIlC@B}*hy54r}iEMK5l_@(kq7Ok@7D<(3P(gVB8ey6K_=+NS&Bj zTgPp}CgVOp&m&V=14~G6k|!&}#SMe9PBcK? z(ni)>H{^tkF1zS z=c8yeDzYp0(=GSgt~K-Y_jBc8pTE5DWN!5MDPkkSgljSA+l_eSpt-%o=u(}QwU-Nq zDT$m@>r5fn{#}e}N>|gd_J;%R?ct`*N+#FD#X!Uy)54~;B$n#hBR;q*GPW`hx%jIq zB_V+>g{-_Q1~hX;^6|Y8GKE7tPE>06Y9f34iN3}Bs7k+w?6kHv?u@9BnQHV zzme1VEjb}w1b+>{!XisgWjbg{@gK$qGd=k7+D>mDK}r6~EPV~TyzAN0{+9QO(*#eI z)1dh{V2@7TZ8-J{#OPhUMTVzFe;e7r`wvw!`B=i?W4Zba~EN@tR z1H-jCkbV?j>Wv}z8!k{3(nq(xI$s>@Eu%>4cSWl`Hr)r^Ggo-R(MYadtyQi7k$E;U zx=@Vyi~NHt*I|$mU7m#@qz2)6e`?%2dQ#+zzjZ@c5*2_~907i(u%*qk$I*0U=F1k~`K+c&2O9t&PvvpUenCFE z3Qz`Q1%2NC3b1P$#SZBS%x)Y)!DUhdJ*AO#>tF)O<7c5+kJ9ZGhtNP>MR8M<9oQPE z>CAoTw(%q4(>;1F04jMxxd<=ev7=E#WDLqmp<9XNZG-BHjO>+$E^UfDdl|t3QY#b& zX+HY5rD1^6E&O;~kM4C1=Gs{ur=MWVJ-IR>TcEoE!0Ui8{spb)r%zGIGo3cvfO@1_ zSueExI}K7>BwHXo=LDd`XrRME4lhc(SwHuyO==(Im8GJ5-%hZfiB8L&3Rv% zQCO|r?RnYYmdzu8PxanLP+_X!BuR6vtdutb-CYH3@n++qZ6n1dy#rx`C-+FBPY?!8 z;Ys*!MsAnFzY)=xH{j5{o52g#yrizja|e7lAI<4h1iM(}(~zLO$L{Bo?6lpM8&6N_4CHp8oNH-W^ON~quAaTv1)CKi8ng7 zsv|Z|WG~WiJE^RSRo2~&s>Z!a!c%R(0=v@;^H~)i=&8=a&jBi;m<O&AANlcuu#33|4Cu^(UM2sg1fw zbT97$P6s<`byFf-XonvpUg5#|N!V~tNrp5J3tc}AhUn}P@k&ind?Lst=z@bnG1Li5 z(1y)3LkGK^AsW4=zyQ+q-t6SiJFRte5klkC)rKHV>0JObr&_oga*6K*>HK}Ar>R;c zq47dT|Ky~iYUW!cTTvxq`)hGpbx)LjLlk16VSEkACgs7RPiD8wy-McB$?&G8rhb%KMw)(7V_facjIHm3x+~`qeE?<4W;RYpV56d&J3S%4()Pb0{=xkPEF-0 zEnbfDes$iXeq@gF_e`2oT>O8?h9Clx|_FRn-~M0n6W zm}vt33#1^e0-Vc_ejevSg!uz6WdK>WKpNcBHAMx9S`Dmtsh$mS=TFKNJbdCuo*?OgBR9jFhr06MUTer6Z? z&Sd6c`G62M=JG$j;tO9)OM@GJ-kkiq)DurXKb>2dwn}-(0niD%qWnP=6=UWEXX)1F zUh=8dw+G0dM}5|A^&icwJ-75#IyHIIF>u^Pq}UbCyexyx_~{{)JV=-QXDBo|`B&Hf zCi#os@PnVyLSUk21qN|%NN{IYzSmVwgja0 z&lmdaPpj6lW6JWpxNY6@2@~%dl-dXhY$NT{{dx(UqrTgl{W@$UXyWi`LP(%z)5De9 zN(sW_kJQn*8QxMrs?q;Vv^ZRo6xq$%>rJOiz1Rg3-~x@tJf%K+=tSseR_FTj+Ry~A zh+9d=I0jzs#}xZ4hR!WmJ)um8Gd_)A9)lze39COFa}QKB`gQ0DWZRQ3-I z7_!ct+x%4WsIafT*30nNrw+Ghss=Ad{gc>VwA)#q<K&MaQeb4P#3KntON-S&H<>!|qu#y_%!%^uLt2%v>ODF)Y;} zP9X^~m7Mer`Q?cI=F_qUFA}gXYY?m5WUK{J`+}i4Y6+@S6ty$|jhx>>xWJ@}-Uet@S zzX1iUax>V$?Y~;pG1|F(D-oj$3|_ROG#5TFUvKg-~y_dTi;)iI24sEWZ-xrp~!fplzU{yC>U##(#zB_U6R7w$;*m%unC(P-EaTbA<{m z&XNOmUqCSq`d{h1mjfi=lZVQqQGe6YNE_fS?@|Sr(MRF#$hNycCHE7c#x@t@;J-2c( z^o*kq$Nw@UHCyznb=D-a&$&YKD*YgSat4}8IYY{pU+Jva3))E`1r7fwe}SeCCr!U% zBhXG?D*?6OyhNjz?;RPDcC?o#^Wl3|7(y3AO+7WAdKm1D0*XM+Yhu}Um)6DeTw`mF z1I1YOc_O876=nXllO`|vqda1nG42-YY)?68_i4-@8WzqXN7*qLX`eC^3SqwBXNY=Z z6%Zz(YYq9G^ZQL9zwq@C*$a|0%74($D#A%)v1&P5He2UAgRe1)C&UIXo%pCeR^-ER zFPFegG`1t5gOCF1h1E$PH0IVUGolvRxJ46ALW_3%BOXqLPS8!tM)4Pf%##!tj8aHN z%doEfp%~ zYqG{z_zoTT&(ioj74ijN37~Rl&Z^M|D~Z}6&CT_z8CSyv48TsjeQn%;B%dAG=Pu@| zEBaYLcBHzBf<_{BbgdEeqM`fx9RvRUxPKr~^yc(r+xKj!+79CQlLxl-t+}+4K0{z| z1z-VKGs?@rDdUZwqD306J#5KcgZfdf_*>4RCq~2oCL1y~j&5DzZhuk1 z_aBdG!tflEOV`4>IfHhnSr%GGTO}+FSNf-jsei6m(Ph{ zXiIx{F?BM@sz1(-;ek?<={2uoEeN&9YXZ&aL$(b69YnpN~JYm=02K{4KMk(OBewO=3Y7r)vVp9DNeMVtDAF) zm_Y(*^DEXlk^SiiR7Te9rx9|3?Mc5BM9hqtt|0H7SzrLkwtw$nS1CDqog1`oeyyZW zuxvOyiK13hiOpkrp3;y77!L#W+Lt&10$Ra{nhV_CMD=q4*iW zrrpo_PhZ@3>6Bs#BI|!)O4O*5UsXJo1+qXX-u>?qLbi@2?#)kY-NV|Kf(KPAklvt} zcPQ4;2eJ5SejHxMI+Du}wJo*k1G0d#D7U+@$je|cHC(GX+Sx>p5^AfPtTm7=6@T>kfI<^X$3(9# zSjWa&ZmOBp^V6zjLPv}yLCLgdty&TtrTFgWs3wmGK8I`UqRvz61sF?& z>55NKh(nyL#%NJD!*B}CnaB^*>(scY^K;JWjl>&_gpSHMcHv>+870biKH&+%@od_) zG!Qa#HjjE4-hK-;Utba>`MT1@a|*;>M~;dGzA|^?O>1TT|4BEg zahh+WF?nfeU|!Xe#-!TAx|J8r#vSn|c4yZ%fJvdFo8?TA7A#`w=cFAefm0B2hglb*H;~{-@9=$0Z(Bh|Jmegch13(Md^$}|KM`cv5-Q#3mP2!LmalK z?NyX3OLwjmUi^dvmp19bt<~R^^ed38Snh~x{y8Qe?N{KP*zvPag{NevUgJg=F6$Nk zy1PQN036dZ^d-|aH3p>8wVS>$(EE6?$n(X^-14w@sktrO@@&4ua1X+W(Fjn|)P2X{ zTwoT5*jkj*>$|+@eA~~TISXvLB6P}HvAgv?PCenXkCWKB_L)KnDqH5IajW3YiXYuo z|1>65IVKXOM>d|h(byx=`3#1KKZ;9X9haafZZH__QQUTt&%Q3<1q9Nwbe#9*vmnI! zubw&-l{)PyP-$AY zy87J3D{u*j{ZCmm#)WYjC!L@i}@( zvaWJX0|S-Wf9W+O6mJilE^N43=MGp8n-RKBU%w+;BU2)zw-eJWUIY{DFfOC%tC9M{ zKBM~!cS~<@prQtEXK^6&D&r*{iO&^TSpWIpakWnac@a9SDHP4T~2PHP?^t3ut0c7>x z>`qeTHr0khQXBFNUQZc<&3C_~9K^iJv9*&+6Q&H1UKYdQQ_KDs>`;6WcYy}-`&S*P zh-c1q?*41q*Vpk-u#0Y)e@NQZCzzGGeBK=|AQmG*H+Ae5UBOS!t2_*+iZ<+2Nr(8p zv}817?L8aUaIa48m3pp7J{)`5%UJMAglVC!8{gKdwQzSQAY3b!NTS*(GenL$;}#p* z=7be*qs;7tcXKSJkVg87B-rfOdRkbne{F`^_0X)uordo+S1L?M$p&(m@ zb^X4_Z!e@#ZR$@Qxf|N*;`sa1^L#W4|7*{~>y;P051xb2Vqm;h0EHn)+f&lS5}oxH zNg{4RzZQ5+$uus8#+O_a*!yW{Qq z&%r%apuJA_5LQZZ-f51gH~M^+Rh0#$&FQU!k#L{6Jo3IH{F9C|;24Nx z!)zh8Ii^N_Oip8-1yn#Ojr1exeAGCtgn*kb&sUD`E(7s?&i&uGmb_I;bxkCFAy#4=S=$y|*~ z?K!-uQEZm2t`su}(P@5_3EpF++B7x{^x+ zpWgl;D(=&r`}v}S4rI;S#g{>0ap_^mT0|B)}6 z!1XSv#Q5ctfA&h5->rmJX^_Wb4ZHH&k<{1*aOM055v^rX&x$Hvde?8~;w zY{pUTmJ?GNUzOQCi1|I^_|`3qeVcb3NbV>QvCg0C@-%6`q-V9?H`|S?rENY0y^DFz zy?1hihaG6MD-fMEvY2@&{W7cL@)c^AZRT$EHhOFJeXEb(cgO$X*3*|=xyI`Mt{o>*v`MY`F4T5+w#6?Wx{jwx~KX`B%pB)i<+q251VVrqr4 z{>7VYym<;Pa!dU8tutI+>52R8#{&MGz=Ucl!aLL@2(cqf?s>Gf14MP;i#p^Y1 z=UiT|k^9W_pjpo)-quGO7^S&h=3U`kFx%90r+4x818KfaWx;CT-~-i8gA~2=bNcaL XYuT;_%RrWW3_#%N>gTe~DWM4fpthA4 From 7372d1f4fe6bfb637549b6a9cc37070b1ff29fa0 Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 21:35:47 +0200 Subject: [PATCH 19/23] update(joss_paper/plaid_architecture.md): trying new size (80%) --- docs/joss_paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index d140e0dd..168055af 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -42,7 +42,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr * **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. -![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png) +![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png){ width=80% } * **Supported Data Types:** PLAID handles scalar, time-series and vector field data on meshes, as well as sample-specific metadata. The `get_mesh(time)` method reconstructs the full CGNS tree for a given timestep, with links resolved if requested (thereby returning the complete mesh). Thus PLAID naturally supports mesh-based simulation outputs with arbitrary element types and remeshing between time steps. Heterogeneity is allowed: missing data is supported, and outputs on testing sets may be missing on purpose to facilitate benchmark initiatives. From 10a4c2059701e60726d01abbfe9b746754f46fa1 Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 21:41:42 +0200 Subject: [PATCH 20/23] fix(joss_paper/plaid_architecture.md): force the 'Usage and Applications' section to start on a new page --- docs/joss_paper/paper.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 168055af..875ef60f 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -50,6 +50,9 @@ By promoting a common standard, PLAID makes physics data interoperable across pr * **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. +
+
+ # Usage and Applications PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation (see [@casenave2025physics]). These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. From 377be8fbd90b884766ed94c31b529794d6bee237 Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 21:56:05 +0200 Subject: [PATCH 21/23] fix(joss_paper/plaid_architecture.md): remove HTML line break tags and minor text adjustments --- docs/joss_paper/paper.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index 875ef60f..fe0bd9cd 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -40,7 +40,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Functionality -* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. A `problem_definition/` folder includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. +* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. The `problem_definition/` folder provides machine learning context. It includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. ![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png){ width=80% } @@ -50,9 +50,6 @@ By promoting a common standard, PLAID makes physics data interoperable across pr * **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. -
-
- # Usage and Applications PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation (see [@casenave2025physics]). These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. From a350c624ea359e6366e34fa5230b2c6d0f21e943 Mon Sep 17 00:00:00 2001 From: Alex DR Date: Sat, 7 Jun 2025 22:18:08 +0200 Subject: [PATCH 22/23] fix(joss_paper/plaid_architecture.md): missing period and wrong ref formatting --- docs/joss_paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index fe0bd9cd..0c04fcbb 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -34,7 +34,7 @@ PLAID (Physics-Learning AI Datamodel) is a Python library and data format for re Machine learning for physical systems often suffers from inconsistent data representations across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD or for finite-element data, and dedicated scripts to process each new dataset. This fragmentation hinders reproducibility and reuse of high-fidelity data. -PLAID addresses this gap by providing a generic, unified datamodel that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure +PLAID addresses this gap by providing a generic, unified datamodel that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure. By promoting a common standard, PLAID makes physics data interoperable across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks, democratizing access to simulation data. @@ -52,7 +52,7 @@ By promoting a common standard, PLAID makes physics data interoperable across pr # Usage and Applications -PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation (see [@casenave2025physics]). These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. +PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation, see [@casenave2025physics]. These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. From a7fb48bef030748ca3b478b24aecb7c0e5a14bd1 Mon Sep 17 00:00:00 2001 From: Fabien Casenave Date: Sat, 7 Jun 2025 22:20:02 +0200 Subject: [PATCH 23/23] feat(joss_paper) minor modifications --- docs/joss_paper/paper.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/joss_paper/paper.md b/docs/joss_paper/paper.md index fe0bd9cd..61ff5c92 100644 --- a/docs/joss_paper/paper.md +++ b/docs/joss_paper/paper.md @@ -27,20 +27,20 @@ bibliography: paper.bib # Summary -PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. It defines a unified, extensible schema that can capture complex simulation data across domains. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a “Hugging Face bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. Full documentation, examples and tutorials are available at [https://plaid-lib.readthedocs.io/en/latest/](https://plaid-lib.readthedocs.io/en/latest/). +PLAID (Physics-Learning AI Datamodel) is a Python library and data format for representing, storing, and sharing physics simulation datasets for machine learning. Unlike domain-specific formats, PLAID accommodates time-dependent, multi-resolution simulations and heterogeneous meshes. The library provides a high-level API to easily load, inspect, and save data. Beyond basic I/O, PLAID includes utilities for machine-learning workflows. It provides converters to build PLAID datasets from generic tabular data, and a “Hugging Face bridge” to push/pull datasets via the Hugging Face hub. In short, PLAID couples a flexible on-disk standard with a software toolkit to manipulate physics data, addressing the needs of ML researchers in fluid dynamics, structural mechanics, and related fields in a generic fashion. Full documentation, examples and tutorials are available at [plaid-lib.readthedocs.io](https://plaid-lib.readthedocs.io/en/latest/). # Statement of Need Machine learning for physical systems often suffers from inconsistent data representations across different domains and simulators. Existing initiatives typically target narrow problems: e.g., separate formats for CFD or for finite-element data, and dedicated scripts to process each new dataset. This fragmentation hinders reproducibility and reuse of high-fidelity data. -PLAID addresses this gap by providing a generic, unified datamodel that can describe virtually any physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure +PLAID addresses this gap by providing a generic, unified datamodel that can describe many physics simulation data. It leverages the CGNS standard [@poinot2018seven] to capture complex geometry and time evolution: for example, CGNS supports multi-block topologies and evolving meshes, with a data model that separates abstract topology (element families, etc.) from concrete mesh coordinates. On top of CGNS, PLAID layers a lightweight organizational structure By promoting a common standard, PLAID makes physics data interoperable across projects. It has already been used to package and publish multiple datasets covering structural mechanics and computational fluid dynamics. These PLAID-formatted datasets (hosted on Zenodo and Hugging Face) have supported ML benchmarks, democratizing access to simulation data. # Functionality -* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv`. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. The `problem_definition/` folder provides machine learning context. It includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. +* **Data Model and Formats:** A PLAID dataset is organized within a root folder (or archive), distinctly separating simulation data from machine learning task definitions, as illustrated in \autoref{fig:plaid_dataset_architecture}. The `dataset/` directory contains numbered sample subfolders (`sample_000...`), each holding one or more `.cgns` files under `meshes/` and a `scalars.csv` file. The `dataset/infos.yaml` file contains human-readable descriptions and metadata. The `problem_definition/` folder provides machine learning context. It includes `problem_infos.yaml` (specifying the ML task inputs/outputs) and `split.csv` (defining train/test splits). This design supports time evolution and multi-block/multi-geometry problems out of the box. ![Overview of the PLAID dataset architecture.\label{fig:plaid_dataset_architecture}](plaid_architecture.png){ width=80% } @@ -48,12 +48,12 @@ By promoting a common standard, PLAID makes physics data interoperable across pr * **High-Level API:** The top-level `Dataset` class manages multiple `Sample` objects. Users can create an empty `Dataset()` and add samples via `add_sample()`, or load an existing PLAID data archive by calling `Dataset("path_to_plaid_dataset")`. The `Dataset` object summarizes itself (e.g. printing “Dataset(3 samples, 2 scalars, 5 fields)”) and provides access to samples by ID. Batch operations are supported: one can `dataset.add_samples(...)` to append many samples, or use the classmethods `Dataset.load_from_dir()` and `load_from_file()` to load data from disk, with optional parallel workers. This high-level interface abstracts away low-level I/O, letting users focus on ML pipelines. -* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines (and fast vectorized search) to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. +* **Utilities:** PLAID includes helper modules for common tasks in data science workflows. The `plaid.utils.split` module provides a `split_dataset` function to partition data into training/validation/testing subsets according to user-defined ratios. The `plaid.utils.interpolation` module implements piecewise linear interpolation routines to resample time series fields or align datasets with different timesteps. The `plaid.utils.stats` module offers an `OnlineStatistics` class to compute running statistics (min, mean, variance, etc.) on arrays, which can be used to analyze dataset distributions. Moreover, a “Hugging Face bridge” (`plaid.bridges.huggingface_bridge`) enables converting PLAID datasets to/from Hugging Face Dataset objects. # Usage and Applications PLAID is designed for AI/ML researchers and practitioners working with simulation data. Various datasets, including 2D/3D fluid and structural simulations, are provided in PLAID format in [Hugging Face](https://huggingface.co/PLAID-datasets) and [Zenodo](https://zenodo.org/communities/plaid_datasets). Interactive benchmarks are hosted in a [Hugging Face community](https://huggingface.co/PLAIDcompetitions) on these datasets, providing detailed instructions and PLAID commands for data retrieval and manipulation (see [@casenave2025physics]). These datasets are also used in recent publications to illustrate the performance of the proposed scientific ML methods. In [@casenave2024mmgp; @kabalan2025elasticity; @kabalan2025ommgp], Gaussian-process regression methods with mesh morphing are applied to these datasets. In [@perez2024gaussian; @perez2024learning] the datasets are leveraged in graph-kernel regression methods applied to fluid/solid mechanics. -In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified schema, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. +In summary, PLAID provides a comprehensive framework for physics-based ML data. By combining a unified data model, support for advanced mesh features, and helpful utilities, it addresses the need for interoperable, high-fidelity simulation datasets. Future enhancements involve developing general-purpose PyTorch dataloaders compatible with PLAID, along with establishing standardized evaluation metrics and unified pipelines for training and inference using the PLAID framework. # References