From 6968e2c0608a65f52b2cdca0760e0be88f453031 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Fri, 4 Apr 2025 15:48:38 +0200 Subject: [PATCH 01/71] Move vtkUtils and multiblockInspectorTreeFunctions + update dependencies --- docs/geos_posp_docs/processing.rst | 8 ++++---- .../src/geos/mesh}/multiblockInpectorTreeFunctions.py | 0 .../processing => geos-mesh/src/geos/mesh}/vtkUtils.py | 0 geos-posp/src/PVplugins/PVSurfaceGeomechanics.py | 2 +- .../src/PVplugins/PVTransferAttributesVolumeSurface.py | 4 ++-- geos-posp/src/geos_posp/filters/GeosBlockExtractor.py | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) rename {geos-posp/src/geos_posp/processing => geos-mesh/src/geos/mesh}/multiblockInpectorTreeFunctions.py (100%) rename {geos-posp/src/geos_posp/processing => geos-mesh/src/geos/mesh}/vtkUtils.py (100%) diff --git a/docs/geos_posp_docs/processing.rst b/docs/geos_posp_docs/processing.rst index 9da336b9..c67f34e5 100644 --- a/docs/geos_posp_docs/processing.rst +++ b/docs/geos_posp_docs/processing.rst @@ -36,18 +36,18 @@ geos_posp.processing.MohrCoulomb module :undoc-members: :show-inheritance: -geos_posp.processing.multiblockInpectorTreeFunctions module +geos.mesh.multiblockInpectorTreeFunctions module --------------------------------------------------------------- -.. automodule:: geos_posp.processing.multiblockInpectorTreeFunctions +.. automodule:: geos.mesh.multiblockInpectorTreeFunctions :members: :undoc-members: :show-inheritance: -geos_posp.processing.vtkUtils module +geos.mesh.vtkUtils module ---------------------------------------- -.. automodule:: geos_posp.processing.vtkUtils +.. automodule:: geos.mesh.vtkUtils :members: :undoc-members: :show-inheritance: diff --git a/geos-posp/src/geos_posp/processing/multiblockInpectorTreeFunctions.py b/geos-mesh/src/geos/mesh/multiblockInpectorTreeFunctions.py similarity index 100% rename from geos-posp/src/geos_posp/processing/multiblockInpectorTreeFunctions.py rename to geos-mesh/src/geos/mesh/multiblockInpectorTreeFunctions.py diff --git a/geos-posp/src/geos_posp/processing/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py similarity index 100% rename from geos-posp/src/geos_posp/processing/vtkUtils.py rename to geos-mesh/src/geos/mesh/vtkUtils.py diff --git a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py index cc91a209..0c6392d2 100644 --- a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py +++ b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py @@ -34,7 +34,7 @@ ) from geos_posp.filters.SurfaceGeomechanics import SurfaceGeomechanics -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInpectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py index 26af9867..01c3765e 100644 --- a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py @@ -45,11 +45,11 @@ from geos_posp.filters.TransferAttributesVolumeSurface import ( TransferAttributesVolumeSurface, ) -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInpectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos_posp.processing.vtkUtils import getAttributeSet, mergeBlocks +from geos.mesh.vtkUtils import getAttributeSet, mergeBlocks from geos.utils.Logger import Logger, getLogger from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py index 26cab3bc..a14f53eb 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py @@ -6,10 +6,10 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInpectorTreeFunctions import ( getBlockIndexFromName, ) -from geos_posp.processing.vtkUtils import extractBlock +from geos.mesh.processing.vtkUtils import extractBlock from geos.utils.GeosOutputsConstants import ( GeosDomainNameEnum, OutputObjectEnum, From b2d635d836c153004f9944f3c5f345a9ac5f59ca Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Tue, 8 Apr 2025 11:24:48 +0200 Subject: [PATCH 02/71] Update dependencies and correct typo in name --- docs/geos_posp_docs/processing.rst | 4 ++-- ...orTreeFunctions.py => multiblockInspectorTreeFunctions.py} | 0 geos-mesh/src/geos/mesh/vtkUtils.py | 2 +- geos-posp/src/PVplugins/PVAttributeMapping.py | 2 +- geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py | 4 ++-- geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py | 2 +- geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py | 2 +- .../src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py | 2 +- geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py | 2 +- geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py | 2 +- geos-posp/src/PVplugins/PVMohrCirclePlot.py | 2 +- geos-posp/src/PVplugins/PVSurfaceGeomechanics.py | 2 +- geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py | 2 +- .../src/geos_posp/filters/AttributeMappingFromCellCoords.py | 2 +- geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py | 2 +- geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py | 2 +- geos-posp/src/geos_posp/filters/GeosBlockExtractor.py | 2 +- geos-posp/src/geos_posp/filters/GeosBlockMerge.py | 4 ++-- geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py | 2 +- .../src/geos_posp/filters/TransferAttributesVolumeSurface.py | 2 +- geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py | 2 +- 21 files changed, 23 insertions(+), 23 deletions(-) rename geos-mesh/src/geos/mesh/{multiblockInpectorTreeFunctions.py => multiblockInspectorTreeFunctions.py} (100%) diff --git a/docs/geos_posp_docs/processing.rst b/docs/geos_posp_docs/processing.rst index c67f34e5..2a39993d 100644 --- a/docs/geos_posp_docs/processing.rst +++ b/docs/geos_posp_docs/processing.rst @@ -36,10 +36,10 @@ geos_posp.processing.MohrCoulomb module :undoc-members: :show-inheritance: -geos.mesh.multiblockInpectorTreeFunctions module +geos.mesh.multiblockInspectorTreeFunctions module --------------------------------------------------------------- -.. automodule:: geos.mesh.multiblockInpectorTreeFunctions +.. automodule:: geos.mesh.multiblockInspectorTreeFunctions :members: :undoc-members: :show-inheritance: diff --git a/geos-mesh/src/geos/mesh/multiblockInpectorTreeFunctions.py b/geos-mesh/src/geos/mesh/multiblockInspectorTreeFunctions.py similarity index 100% rename from geos-mesh/src/geos/mesh/multiblockInpectorTreeFunctions.py rename to geos-mesh/src/geos/mesh/multiblockInspectorTreeFunctions.py diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index 09fa260c..8ee8ad8f 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -41,7 +41,7 @@ ) from vtkmodules.vtkFiltersExtraction import vtkExtractBlock -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/PVplugins/PVAttributeMapping.py b/geos-posp/src/PVplugins/PVAttributeMapping.py index e4532d30..ef244f1f 100644 --- a/geos-posp/src/PVplugins/PVAttributeMapping.py +++ b/geos-posp/src/PVplugins/PVAttributeMapping.py @@ -16,7 +16,7 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.AttributeMappingFromCellCoords import ( AttributeMappingFromCellCoords, ) -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( fillPartialAttributes, getAttributeSet, getNumberOfComponents, diff --git a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py index e49c61e9..53bc3ad6 100644 --- a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py +++ b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py @@ -17,11 +17,11 @@ import vtkmodules.util.numpy_support as vnp from geos.utils.Logger import Logger, getLogger -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos_posp.processing.vtkUtils import isAttributeInObject +from geos.mesh.vtkUtils import isAttributeInObject from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py index 817d7762..d92d5a22 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py @@ -23,7 +23,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py index 22477abf..3c5f4c38 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py @@ -23,7 +23,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py index 7aaabc5a..bc55c69b 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py @@ -23,7 +23,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py index 43882eac..9e305a4d 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py @@ -26,7 +26,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py index bbbd9696..2804720f 100644 --- a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py +++ b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py @@ -14,7 +14,7 @@ sys.path.append( parent_dir_path ) from geos.utils.Logger import Logger, getLogger -from geos_posp.processing.vtkUtils import mergeBlocks +from geos.mesh.vtkUtils import mergeBlocks from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVMohrCirclePlot.py b/geos-posp/src/PVplugins/PVMohrCirclePlot.py index 90693c3d..e4417647 100644 --- a/geos-posp/src/PVplugins/PVMohrCirclePlot.py +++ b/geos-posp/src/PVplugins/PVMohrCirclePlot.py @@ -41,7 +41,7 @@ DEFAULT_FRICTION_ANGLE_RAD, DEFAULT_ROCK_COHESION, ) -from geos_posp.processing.vtkUtils import getArrayInObject, mergeBlocks +from geos.mesh.vtkUtils import getArrayInObject, mergeBlocks from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) from geos_posp.visu.PVUtils.DisplayOrganizationParaview import ( diff --git a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py index 85aa088f..945aa59b 100644 --- a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py +++ b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py @@ -19,7 +19,7 @@ DEFAULT_ROCK_COHESION, ) from geos_posp.filters.SurfaceGeomechanics import SurfaceGeomechanics -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py index 88ffc1b7..6bd65d39 100644 --- a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py @@ -15,7 +15,7 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.TransferAttributesVolumeSurface import ( TransferAttributesVolumeSurface, ) -from geos.mesh.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py index 11332d1f..296ac6b1 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py @@ -22,7 +22,7 @@ vtkUnstructuredGrid, ) -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( computeCellCenterCoordinates, createEmptyAttribute, getVtkArrayInObject, diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py index 65cf4672..30e63ecf 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py @@ -10,7 +10,7 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid -from geos_posp.processing.vtkUtils import createAttribute, getArrayInObject +from geos.mesh.vtkUtils import createAttribute, getArrayInObject __doc__ = """ AttributeMappingFromCellId module is a vtk filter that transfer a attribute from a diff --git a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py index cdd44a34..208b9846 100644 --- a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py +++ b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py @@ -31,7 +31,7 @@ ) from vtkmodules.vtkFiltersCore import vtkCellCenters -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( createAttribute, getArrayInObject, getComponentNames, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py index 99ece9b4..bfd2f57f 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py @@ -11,7 +11,7 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet -from geos.mesh.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getBlockIndexFromName, ) from geos.mesh.vtkUtils import extractBlock diff --git a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py index cf87c650..dbf4c777 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py @@ -33,9 +33,9 @@ from vtkmodules.vtkFiltersGeometry import vtkDataSetSurfaceFilter from vtkmodules.vtkFiltersTexture import vtkTextureMapToPlane -from geos_posp.processing.multiblockInpectorTreeFunctions import ( +from geos.mesh.multiblockInspectorTreeFunctions import ( getElementaryCompositeBlockIndexes, ) -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( createConstantAttribute, extractBlock, fillAllPartialAttributes, diff --git a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py index 849b14e4..c2c47b8b 100644 --- a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py +++ b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py @@ -33,7 +33,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( createAttribute, getArrayInObject, getAttributeSet, diff --git a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py index 1a2d911d..5572a345 100644 --- a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py +++ b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py @@ -19,7 +19,7 @@ from vtkmodules.vtkCommonDataModel import vtkPolyData, vtkUnstructuredGrid from geos_posp.filters.VolumeSurfaceMeshMapper import VolumeSurfaceMeshMapper -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py index 18d30d83..79ee01bb 100644 --- a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py +++ b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py @@ -32,7 +32,7 @@ vtkUnstructuredGrid, ) -from geos_posp.processing.vtkUtils import ( +from geos.mesh.vtkUtils import ( getArrayInObject, isAttributeInObject, ) From 21ae37e25683bafd4487ddadf7c1a3dab2e09b7e Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 9 Apr 2025 15:51:20 +0200 Subject: [PATCH 03/71] Add SplitMesh and MergeColocatedPoints filters --- geos-mesh/pyproject.toml | 15 +- .../mesh/processing/MergeColocatedPoints.py | 127 ++++++ .../src/geos/mesh/processing/SplitMesh.py | 387 ++++++++++++++++++ geos-mesh/tests/test_MergeColocatedPoints.py | 115 ++++++ geos-mesh/tests/test_SplitMesh.py | 244 +++++++++++ geos-pv/src/PVplugins/PVSplitMesh.py | 175 ++++++++ 6 files changed, 1057 insertions(+), 6 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py create mode 100644 geos-mesh/src/geos/mesh/processing/SplitMesh.py create mode 100644 geos-mesh/tests/test_MergeColocatedPoints.py create mode 100644 geos-mesh/tests/test_SplitMesh.py create mode 100644 geos-pv/src/PVplugins/PVSplitMesh.py diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index 03708863..6c2ddb30 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -37,9 +37,12 @@ Repository = "https://github.com/GEOS-DEV/geosPythonPackages.git" "Bug Tracker" = "https://github.com/GEOS-DEV/geosPythonPackages/issues" [tool.pytest.ini_options] -addopts = [ - "--import-mode=importlib", -] -pythonpath = [ - "src", -] +addopts = "--import-mode=importlib" +console_output_style = "count" +pythonpath = ["src"] +python_classes = "Test" +python_files = "test*.py" +python_functions = "test*" +testpaths = ["tests"] +norecursedirs = "bin" +filterwarnings = [] \ No newline at end of file diff --git a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py new file mode 100644 index 00000000..d55c31d3 --- /dev/null +++ b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py @@ -0,0 +1,127 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +from typing_extensions import Self +from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase +from vtkmodules.vtkCommonCore import ( + vtkIntArray, + vtkInformation, + vtkInformationVector, + vtkPoints, + reference +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkIncrementalOctreePointLocator, +) + + +__doc__ = """ +MergeColocatedPoints module is a vtk filter that merges colocated points from input mesh. + +Filter input and output types are vtkUnstructuredGrid. + +.. Warning:: This operation uses geometrical tests that may not be accurate in case of very small cells. + + +To use the filter: + +.. code-block:: python + + from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints + + # filter inputs + input :vtkUnstructuredGrid + + # instanciate the filter + filter :MergeColocatedPoints = MergeColocatedPoints() + # set input data object + filter.SetInputDataObject(input) + # do calculations + filter.Update() + # get output object + output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) +""" + +class MergeColocatedPoints(VTKPythonAlgorithmBase): + def __init__(self: Self ): + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + + def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestInformation. + + Args: + port (int): input port + info (vtkInformationVector): info + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + if port == 0: + info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + + def RequestDataObject(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( inInfoVec[ 0 ] ) + output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) + newPoints: vtkPoints = vtkPoints() + # use point locator to check for colocated points + merge_points = vtkIncrementalOctreePointLocator() + merge_points.InitPointInsertion(newPoints,inData.GetBounds()) + # create an array to count the number of colocated points + vertexCount: vtkIntArray = vtkIntArray() + vertexCount.SetName("Count") + ptId = reference(0) + countD: int = 0 + for v in range(inData.GetNumberOfPoints()): + inserted: bool = merge_points.InsertUniquePoint( inData.GetPoints().GetPoint(v), ptId) + if inserted: + vertexCount.InsertNextValue(1) + else: + vertexCount.SetValue( ptId, vertexCount.GetValue(ptId) + 1) + countD = countD + 1 + + output.SetPoints(merge_points.GetLocatorPoints()) + # copy point attributes + output.GetPointData().DeepCopy(inData.GetPointData()) + # add the array to points data + output.GetPointData().AddArray(vertexCount) + # copy cell attributes + output.GetCellData().DeepCopy(inData.GetCellData()) + return 1 \ No newline at end of file diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py new file mode 100644 index 00000000..0772de14 --- /dev/null +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -0,0 +1,387 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +import numpy as np +import numpy.typing as npt +from typing_extensions import Self +from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdTypeArray, +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, + vtkCell, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, +) + + +__doc__ = """ +SplitMesh module is a vtk filter that split cells of a mesh composed of Tetrahedra, pyramids, and hexahedra. + +Filter input and output types are vtkUnstructuredGrid. + +To use the filter: + +.. code-block:: python + + from geos.mesh.processing.SplitMesh import SplitMesh + + # filter inputs + input :vtkUnstructuredGrid + + # instanciate the filter + filter :SplitMesh = SplitMesh() + # set input data object + filter.SetInputDataObject(input) + # do calculations + filter.Update() + # get output object + output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) +""" + +class SplitMesh(VTKPythonAlgorithmBase): + + def __init__(self): + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + + self.inData: vtkUnstructuredGrid + self.cells: vtkCellArray + self.points: vtkPoints + self.originalId: vtkIdTypeArray + self.cellTypes: list[int] + + def FillInputPortInformation(self, port, info): + if port == 0: + info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + def RequestDataObject(self, request, inInfo, outInfo): + inData = self.GetInputData(inInfo, 0, 0) + outData = self.GetOutputData(outInfo, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfo.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfo, outInfo) + + def RequestData(self, request, inInfo, outInfo): + self.inData = self.GetInputData(inInfo, 0, 0) + output: vtkUnstructuredGrid = self.GetOutputData(outInfo, 0) + + assert self.inData is not None, "Input mesh is undefined." + assert output is not None, "Output mesh is undefined." + + nb_cells: int = self.inData.GetNumberOfCells() + nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad = self._get_cell_counts() + + self.points = vtkPoints() + self.points.DeepCopy(self.inData.GetPoints()) + self.points.Resize( self.inData.GetNumberOfPoints() + nb_hex *19 + nb_tet * 6 + nb_pyr * 9) + self.cells = vtkCellArray() + self.cells.AllocateExact(nb_hex*8+nb_tet*8+nb_pyr*10,8) + self.originalId = vtkIdTypeArray() + self.originalId.SetName("OriginalID") + self.originalId.Allocate(nb_hex*8+nb_tet*8+nb_pyr*10) + self.cellTypes = [] + for c in range(nb_cells): + cell: vtkCell = self.inData.GetCell(c) + cellType: int = cell.GetCellType() + if cellType == VTK_HEXAHEDRON: + self._split_hexahedron(cell, c) + elif cellType == VTK_TETRA: + self._split_tetrahedron(cell, c) + elif cellType == VTK_PYRAMID: + self._split_pyramid(cell, c) + elif cellType == VTK_TRIANGLE: + self._split_triangle(cell, c) + elif cellType == VTK_QUAD: + self._split_quad(cell, c) + else: + raise TypeError(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is not supported.") + # add points and cells + output.SetPoints(self.points) + output.SetCells(self.cellTypes, self.cells) + # add attribute saving original cell ids + # cellArrays: vtkCellData = output.GetCellData() + # assert cellArrays is not None, "Cell data is undefined." + # cellArrays.AllocateArrays(1) + # cellArrays.AddArray(self.originalId) + return 1 + + def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: + """Get the number of cells of each type. + + Returns: + tuple[int, int, int, int, int]: tuple containing counts of + hexahedron, tetrahedron, pyramid, triangles, quads + """ + nb_cells: int = self.inData.GetNumberOfCells() + nb_hex: int = 0 + nb_tet: int = 0 + nb_pyr: int = 0 + nb_triangles: int = 0 + nb_quad: int = 0 + for c in range(nb_cells): + cell: vtkCell = self.inData.GetCell(c) + cellType = cell.GetCellType() + if cellType == VTK_HEXAHEDRON: + nb_hex = nb_hex + 1 + if cellType == VTK_TETRA: + nb_tet = nb_tet + 1 + if cellType == VTK_PYRAMID: + nb_pyr = nb_pyr + 1 + if cellType == VTK_TRIANGLE: + nb_triangles = nb_triangles + 1 + if cellType == VTK_QUAD: + nb_quad = nb_quad + 1 + return nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad + + def _addMidPoint( self: Self, ptA :int, ptB :int) ->int: + """Add a point at the center of the edge defined by input point ids. + + Args: + ptA (int): first point Id + ptB (int): second point Id + + Returns: + int: inserted point Id + """ + ptACoor: npt.NDArray[np.float64] = np.array(self.points.GetPoint(ptA)) + ptBCoor: npt.NDArray[np.float64] = np.array(self.points.GetPoint(ptB)) + center: npt.NDArray[np.float64] = (ptACoor + ptBCoor) / 2. + return self.points.InsertNextPoint(center[0], center[1], center[2]) + + def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: + r"""Split a tetrahedron. + + Let's suppose an input tetrahedron composed of nodes (0, 1, 2, 3), + the cell is splitted in 8 tetrahedra using edge centers. + + 2 + ,/|`\ + ,/ | `\ + ,6 '. `5 + ,/ 8 `\ + ,/ | `\ + 0--------4--'.--------1 + `\. | ,/ + `\. | ,9 + `7. '. ,/ + `\. |/ + `3 + + Args: + cell (vtkCell): cell to split + index (int): index of the cell + """ + pt0: int = cell.GetPointId(0) + pt1: int = cell.GetPointId(1) + pt2: int = cell.GetPointId(2) + pt3: int = cell.GetPointId(3) + pt4: int = self._addMidPoint(pt0,pt1) + pt5: int = self._addMidPoint(pt1,pt2) + pt6: int = self._addMidPoint(pt0,pt2) + pt7: int = self._addMidPoint(pt0,pt3) + pt8: int = self._addMidPoint(pt2,pt3) + pt9: int = self._addMidPoint(pt1,pt3) + + self.cells.InsertNextCell(4, [pt0,pt4,pt6,pt7]) + self.cells.InsertNextCell(4, [pt7,pt9,pt8,pt3]) + self.cells.InsertNextCell(4, [pt9,pt4,pt5,pt1]) + self.cells.InsertNextCell(4, [pt5,pt6,pt8,pt2]) + self.cells.InsertNextCell(4, [pt6,pt8,pt7,pt4]) + self.cells.InsertNextCell(4, [pt4,pt8,pt7,pt9]) + self.cells.InsertNextCell(4, [pt4,pt8,pt9,pt5]) + self.cells.InsertNextCell(4, [pt5,pt4,pt8,pt6]) + for i in range(8): + self.originalId.InsertNextValue(index) + self.cellTypes.extend([VTK_TETRA]*8) + + def _split_pyramid(self :Self, cell: vtkCell, index: int) -> None: + r"""Split a pyramid. + + Let's suppose an input pyramid composed of nodes (0, 1, 2, 3, 4), + the cell is splitted in 8 pyramids using edge centers. + + 4 + ,/|\ + ,/ .'|\ + ,/ | | \ + ,/ .' | `. + ,7 | 12 \ + ,/ .' | \ + ,/ 9 | 11 + 0--------6-.'----3 `. + `\ | `\ \ + `5 .'13 10 \ + `\ | `\ \ + `\.' `\` + 1--------8-------2 + + Args: + cell (vtkCell): cell to split + index (int): index of the cell + """ + pt0: int = cell.GetPointId(0) + pt1: int = cell.GetPointId(1) + pt2: int = cell.GetPointId(2) + pt3: int = cell.GetPointId(3) + pt4: int = cell.GetPointId(4) + pt5: int = self._addMidPoint(pt0,pt1) + pt6: int = self._addMidPoint(pt0,pt3) + pt7: int = self._addMidPoint(pt0,pt4) + pt8: int = self._addMidPoint(pt1,pt2) + pt9: int = self._addMidPoint(pt1,pt4) + pt10: int = self._addMidPoint(pt2,pt3) + pt11: int = self._addMidPoint(pt2,pt4) + pt12: int = self._addMidPoint(pt3,pt4) + pt13: int = self._addMidPoint(pt5,pt10) + + self.cells.InsertNextCell(5, [pt5,pt1,pt8,pt13,pt9]) + self.cells.InsertNextCell(5, [pt13,pt8,pt2,pt10,pt11]) + self.cells.InsertNextCell(5, [pt3,pt6,pt13,pt10,pt12]) + self.cells.InsertNextCell(5, [pt6,pt0,pt5,pt13,pt7]) + self.cells.InsertNextCell(5, [pt12,pt7,pt9,pt11,pt4]) + self.cells.InsertNextCell(5, [pt11,pt9,pt7,pt12,pt13]) + + self.cells.InsertNextCell(4, [pt7,pt9,pt5,pt13]) + self.cells.InsertNextCell(4, [pt9,pt11,pt8,pt13]) + self.cells.InsertNextCell(4, [pt11,pt12,pt10,pt13]) + self.cells.InsertNextCell(4, [pt12,pt7,pt6,pt13]) + for i in range(10): + self.originalId.InsertNextValue(index) + self.cellTypes.extend([VTK_PYRAMID]*8) + + def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: + r"""Split a hexahedron. + + Let's suppose an input hexahedron composed of nodes (0, 1, 2, 3, 4, 5, 6, 7), + the cell is splitted in 8 hexahedra using edge centers. + + 3----13----2 + |\ |\ + |15 24 | 14 + 9 \ 20 11 \ + | 7----19+---6 + |22 | 26 | 23| + 0---+-8----1 | + \ 17 25 \ 18 + 10| 21 12| + \| \| + 4----16----5 + + Args: + cell (vtkCell): cell to split + index (int): index of the cell + """ + + pt0: int = cell.GetPointId(0) + pt1: int = cell.GetPointId(1) + pt2: int = cell.GetPointId(2) + pt3: int = cell.GetPointId(3) + pt4: int = cell.GetPointId(4) + pt5: int = cell.GetPointId(5) + pt6: int = cell.GetPointId(6) + pt7: int = cell.GetPointId(7) + pt8: int = self._addMidPoint(pt0,pt1) + pt9: int = self._addMidPoint(pt0,pt3) + pt10: int = self._addMidPoint(pt0,pt4) + pt11: int = self._addMidPoint(pt1,pt2) + pt12: int = self._addMidPoint(pt1,pt5) + pt13: int = self._addMidPoint(pt2,pt3) + pt14: int = self._addMidPoint(pt2,pt6) + pt15: int = self._addMidPoint(pt3,pt7) + pt16: int = self._addMidPoint(pt4,pt5) + pt17: int = self._addMidPoint(pt4,pt7) + pt18: int = self._addMidPoint(pt5,pt6) + pt19: int = self._addMidPoint(pt6,pt7) + pt20: int = self._addMidPoint(pt9,pt11) + pt21: int = self._addMidPoint(pt10,pt12) + pt22: int = self._addMidPoint(pt9,pt17) + pt23: int = self._addMidPoint(pt11,pt18) + pt24: int = self._addMidPoint(pt14,pt15) + pt25: int = self._addMidPoint(pt17,pt18) + pt26: int = self._addMidPoint(pt22,pt23) + + self.cells.InsertNextCell(8, [pt10,pt21,pt26,pt22,pt4,pt16,pt25,pt17]) + self.cells.InsertNextCell(8, [pt21,pt12,pt23,pt26,pt16,pt5,pt18,pt25]) + self.cells.InsertNextCell(8, [pt0,pt8,pt20,pt9,pt10,pt21,pt26,pt22]) + self.cells.InsertNextCell(8, [pt8,pt1,pt11,pt20,pt21,pt12,pt23,pt26]) + self.cells.InsertNextCell(8, [pt22,pt26,pt24,pt15,pt17,pt25,pt19,pt7]) + self.cells.InsertNextCell(8, [pt26,pt23,pt14,pt24,pt25,pt18,pt6,pt19]) + self.cells.InsertNextCell(8, [pt9,pt20,pt13,pt3,pt22,pt26,pt24,pt15]) + self.cells.InsertNextCell(8, [pt20,pt11,pt2,pt13,pt26,pt23,pt14,pt24]) + for i in range(8): + self.originalId.InsertNextValue(index) + self.cellTypes.extend([VTK_HEXAHEDRON]*8) + + def _split_triangle(self :Self, cell: vtkCell, index: int) -> None: + r"""Split a triangle. + + Let's suppose an input triangle composed of nodes (0, 1, 2), + the cell is splitted in 3 triangles using edge centers. + + 2 + |\ + | \ + 5 4 + | \ + | \ + 0-----3----1 + + Args: + cell (vtkCell): cell to split + index (int): index of the cell + """ + pt0: int = cell.GetPointId(0) + pt1: int = cell.GetPointId(1) + pt2: int = cell.GetPointId(2) + pt3: int = self._addMidPoint(pt0,pt1) + pt4: int = self._addMidPoint(pt1,pt2) + pt5: int = self._addMidPoint(pt0,pt2) + + self.cells.InsertNextCell(3, [pt0,pt3,pt5]) + self.cells.InsertNextCell(3, [pt3,pt1,pt4]) + self.cells.InsertNextCell(3, [pt5,pt4,pt2]) + self.cells.InsertNextCell(3, [pt3,pt4,pt5]) + for i in range(4): + self.originalId.InsertNextValue(index) + self.cellTypes.extend([VTK_TRIANGLE]*4) + + def _split_quad(self :Self, cell: vtkCell, index: int) -> None: + r"""Split a quad. + + Let's suppose an input quad composed of nodes (0, 1, 2, 3), + the cell is splitted in 4 quads using edge centers. + + 3-----6-----2 + | | + | | + 7 8 5 + | | + | | + 0-----4-----1 + + Args: + cell (vtkCell): cell to split + index (int): index of the cell + """ + + pt0: int = cell.GetPointId(0) + pt1: int = cell.GetPointId(1) + pt2: int = cell.GetPointId(2) + pt3: int = cell.GetPointId(3) + pt4: int = self._addMidPoint(pt0,pt1) + pt5: int = self._addMidPoint(pt1,pt2) + pt6: int = self._addMidPoint(pt2,pt3) + pt7: int = self._addMidPoint(pt3,pt0) + pt8: int = self._addMidPoint(pt7,pt5) + + self.cells.InsertNextCell(4, [pt0,pt4,pt8,pt7]) + self.cells.InsertNextCell(4, [pt4,pt1,pt5,pt8]) + self.cells.InsertNextCell(4, [pt8,pt5,pt2,pt6]) + self.cells.InsertNextCell(4, [pt7,pt8,pt6,pt3]) + for i in range(4): + self.originalId.InsertNextValue(index) + self.cellTypes.extend([VTK_QUAD]*4) \ No newline at end of file diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py new file mode 100644 index 00000000..6f1a39d8 --- /dev/null +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -0,0 +1,115 @@ +# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import numpy as np +import numpy.typing as npt +import unittest +from typing_extensions import Self + +from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints + +import vtk +from vtkmodules.util.numpy_support import (numpy_to_vtk, numpy_to_vtkIdTypeArray, + vtk_to_numpy) + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, +) + +# create test mesh +ID_TYPE = np.int32 +if vtk.VTK_ID_TYPE == 12: + ID_TYPE = np.int64 + +offset = np.array([0, 4], np.int8) +cells = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8,]) +cell_type = np.array([vtk.VTK_TETRA, vtk.VTK_TETRA], np.int32) + +cell1 = np.array([[0, 0, 0], + [1, 0, 0], + [0, 0, 1], + [0, 1, 0]]) +cell2 = np.array([[1, 0, 0], + [1, 1, 0], + [0, 0, 1], + [0, 1, 0]]) + +points = np.vstack((cell1, cell2)).astype(np.float64) + +if offset.dtype != ID_TYPE: + offset = offset.astype(ID_TYPE) + +if cells.dtype != ID_TYPE: + cells = cells.astype(ID_TYPE) + +if not cells.flags['C_CONTIGUOUS']: + cells = np.ascontiguousarray(cells) + +if cells.ndim != 1: + cells = cells.ravel() + +if cell_type.dtype != np.uint8: + cell_type = cell_type.astype(np.uint8) + +# Get number of cells +ncells = cell_type.size + +# Convert to vtk arrays +cell_type = numpy_to_vtk(cell_type) +offset = numpy_to_vtkIdTypeArray(offset) + +vtkcells = vtk.vtkCellArray() +vtkcells.SetCells(ncells, numpy_to_vtkIdTypeArray(cells.ravel())) + +# Convert points to vtkPoints object +vtkpts = vtk.vtkPoints() +vtkpts.SetData(numpy_to_vtk(points)) + +inputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid() +inputMesh.SetPoints(vtkpts) +inputMesh.SetCells(cell_type, offset, vtkcells) + + +class TestsMergeColocatedPoints( unittest.TestCase ): + + def test_init( self: Self ) -> None: + """Test init method.""" + filter :MergeColocatedPoints = MergeColocatedPoints() + input = filter.GetInputDataObject(0, 0) + self.assertIsNone(input, "Input mesh should be undefined.") + + + def test_SetInputDataObject( self: Self ) -> None: + """Test SetInputDataObject method.""" + filter :MergeColocatedPoints = MergeColocatedPoints() + filter.SetInputDataObject(inputMesh) + input = filter.GetInputDataObject(0, 0) + self.assertIsNotNone(input, "Input mesh is undefined.") + output = filter.GetOutputDataObject(0) + self.assertIsNone(output, "Output mesh should be undefined.") + + + def test_Update( self: Self ) -> None: + """Test Update method.""" + filter :MergeColocatedPoints = MergeColocatedPoints() + filter.SetInputDataObject(inputMesh) + filter.Update() + output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) + self.assertIsNotNone(output, "Output mesh is undefined.") + pointsOut: vtkPoints = output.GetPoints() + self.assertIsNotNone(pointsOut, "Points from output mesh are undefined.") + self.assertEqual(pointsOut.GetNumberOfPoints(), 5) + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print(pointCoords) + + cellsOut: vtkCellArray = inputMesh.GetCells() + self.assertIsNotNone(cellsOut, "Cells from output mesh are undefined.") + cellsPtIds: npt.NDArray[np.int8] = vtk_to_numpy(cellsOut.GetData()) + print(cellsPtIds) + self.assertTrue(False, "Manual fail") + diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py new file mode 100644 index 00000000..8522c586 --- /dev/null +++ b/geos-mesh/tests/test_SplitMesh.py @@ -0,0 +1,244 @@ +# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pytest +from typing_extensions import Self +from typing import ( + Iterator, +) + +from geos.mesh.processing.SplitMesh import SplitMesh + +from vtkmodules.util.numpy_support import (numpy_to_vtk, + vtk_to_numpy) + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdList, +) +#from vtkmodules.vtkFiltersSources import vtkCubeSource + +# create test meshes + +############################################################### +# create single tetra mesh # +############################################################### +tetra_cell_type: int = VTK_TETRA +tetra_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], + [1, 0, 0], + [0, 0, 1], + [0, 1, 0]], np.float64) +# expected results +tetra_points_out: npt.NDArray[np.float64] = np.array([[0., 0., 0. ], + [1., 0., 0. ], + [0., 0., 1. ], + [0., 1., 0. ], + [0.5, 0., 0. ], + [0.5, 0., 0.5], + [0., 0., 0.5], + [0., 0.5, 0. ], + [0., 0.5, 0.5], + [0.5, 0.5, 0. ]], np.float64) +tetra_cells_out: list[list[int]] = [[0, 4, 6, 7], + [7, 9, 8, 3], + [9, 4, 5, 1], + [5, 6, 8, 2], + [6, 8, 7, 4], + [4, 8, 7, 9], + [4, 8, 9, 5], + [5, 4, 8, 6]] + +############################################################### +# create single hexa mesh # +############################################################### +hexa_cell_type: int = VTK_HEXAHEDRON +hexa_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], + [1, 0, 0], + [1, 1, 0], + [0, 1, 0], + [0, 0, 1], + [1, 0, 1], + [1, 1, 1], + [0, 1, 1]], np.float64) +# expected results +hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 1.0], [1.0, 1.0, 1.0], [0.0, 1.0, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.0, 0.0, 0.5], [1.0, 0.5, 0.0], [1.0, 0.0, 0.5], [0.5, 1.0, 0.0], [1.0, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 0.0, 1.0], [0.0, 0.5, 1.0], [1.0, 0.5, 1.0], [0.5, 1.0, 1.0], [0.5, 0.5, 0.0], [0.5, 0.0, 0.5], [0.0, 0.5, 0.5], [1.0, 0.5, 0.5], [0.5, 1.0, 0.5], [0.5, 0.5, 1.0], [0.5, 0.5, 0.5]], np.float64) +hexa_cells_out: list[list[int]] = [[10, 21, 26, 22, 4, 16, 25, 17], + [21, 12, 23, 26, 16, 5, 18, 25], + [0, 8, 20, 9, 10, 21, 26, 22], + [8, 1, 11, 20, 21, 12, 23, 26], + [22, 26, 24, 15, 17, 25, 19, 7], + [26, 23, 14, 24, 25, 18, 6, 19], + [9, 20, 13, 3, 22, 26, 24, 15], + [20, 11, 2, 13, 26, 23, 14, 24]] + +############################################################### +# create single pyramid mesh # +############################################################### +pyramid_cell_type: int = VTK_PYRAMID +pyramid_cell: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0], + [1.0, 0.0, 0], + [1.0, 1.0, 0], + [0.0, 1.0, 0], + [0.5, 0.5, 1]], np.float64) +# expected results +pyramid_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.5, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.25, 0.25, 0.5], [1.0, 0.5, 0.0], [0.75, 0.25, 0.5], [0.5, 1.0, 0.0], [0.75, 0.75, 0.5], [0.25, 0.75, 0.5], [0.5, 0.5, 0.0]], np.float64) +pyramid_cells_out: list[list[int]] = [[5, 1, 8, 13, 9], + [13, 8, 2, 10, 11], + [3, 6, 13, 10, 12], + [6, 0, 5, 13, 7], + [12, 7, 9, 11, 4], + [11, 9, 7, 12, 13], + [7, 9, 5, 13], + [9, 11, 8, 13], + [11, 12, 10, 13], + [12, 7, 6, 13]] + +############################################################### +# create single triangle mesh # +############################################################### +triangle_cell_type: int = VTK_TRIANGLE +triangle_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], + [1, 0, 0], + [0, 1, 0]], np.float64) +# expected results +triangle_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0]], np.float64) +triangle_cells_out: list[list[int]] = [[0, 3, 5], + [3, 1, 4], + [5, 4, 2], + [3, 4, 5]] + +############################################################### +# create single quad mesh # +############################################################### +quad_cell_type: int = VTK_QUAD +quad_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], + [1, 0, 0], + [1, 1, 0], + [0, 1, 0]], np.float64) +# expected results +quad_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.0], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0]], np.float64) +quad_cells_out: list[list[int]] = [[0, 4, 8, 7], + [4, 1, 5, 8], + [8, 5, 2, 6], + [7, 8, 6, 3]] + +############################################################### +# create multi cell mesh # +############################################################### +# TODO: add tests cases composed of multi-cell meshes of various types + + +cell_types_all = (tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type) +cell_all = (tetra_cell, hexa_cell, pyramid_cell, triangle_cell, quad_cell) +points_out_all = (tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out) +cells_out_all = (tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out) + +@dataclass( frozen=True ) +class TestCase: + """Test case""" + __test__ = False + #: VTK cell type + cellType: int + #: mesh + mesh: vtkUnstructuredGrid + #: expected new point coordinates + pointsExp: npt.NDArray[np.float64] + #: expected new cell point ids + cellsExp: list[int] + + + +def __create_single_cell_type_mesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtkUnstructuredGrid: + """Create a mesh that consists of a single cell. + + Args: + cellType (int): cell type + pts_coord (npt.NDArray[np.float64]): cell point coordinates + + Returns: + vtkUnstructuredGrid: output mesh + """ + nbPoints: int = ptsCoord.shape[0] + points: npt.NDArray[np.float64] = np.vstack((ptsCoord,)) + # Convert points to vtkPoints object + vtkpts: vtkPoints = vtkPoints() + vtkpts.SetData(numpy_to_vtk(points)) + + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for j in range( nbPoints ): + cellsID.InsertNextId(j) + + # add cell to mesh + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + mesh.SetPoints(vtkpts) + mesh.Allocate(1) + mesh.InsertNextCell(cellType, cellsID) + return mesh + +def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for cellType, ptsCoord, pointsExp, cellsExp in zip( + cell_types_all, cell_all, points_out_all, cells_out_all, + strict=True): + mesh: vtkUnstructuredGrid = __create_single_cell_type_mesh(cellType, ptsCoord) + yield TestCase( cellType, mesh, pointsExp, cellsExp ) + + +ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] +@pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) +def test_single_cell_split( test_case: TestCase ): + cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) + filter :SplitMesh = SplitMesh() + filter.SetInputDataObject(test_case.mesh) + filter.Update() + output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) + assert output is not None, "Output mesh is undefined." + pointsOut: vtkPoints = output.GetPoints() + assert pointsOut is not None, "Points from output mesh are undefined." + assert pointsOut.GetNumberOfPoints() == test_case.pointsExp.shape[0], f"Number of points is expected to be {test_case.pointsExp.shape[0]}." + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print("Points coords: ", cellTypeName, pointCoords.tolist()) + assert np.array_equal(pointCoords.ravel(), test_case.pointsExp.ravel()), "Points coordinates mesh are wrong." + + cellsOut: vtkCellArray = output.GetCells() + typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) + print("typesArray0", cellTypeName, typesArray0) + + assert cellsOut is not None, "Cells from output mesh are undefined." + assert cellsOut.GetNumberOfCells() == len(test_case.cellsExp), f"Number of cells is expected to be {len(test_case.cellsExp)}." + # check cell types + types: vtkCellTypes = vtkCellTypes() + output.GetCellTypes(types) + assert types is not None, "Cell types must be defined" + typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + + print("typesArray", cellTypeName, typesArray) + assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"All cells must be {cellTypeName}" + + for i in range(cellsOut.GetNumberOfCells()): + ptIds = vtkIdList() + cellsOut.GetCellAtId(i, ptIds) + cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] + nbPtsExp: int = len(test_case.cellsExp[i]) + print("cell type", cellTypeName, i, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(i))) + print("cellsOutObs: ", cellTypeName, i, cellsOutObs) + assert ptIds is not None, "Point ids must be defined" + assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." + assert cellsOutObs == test_case.cellsExp[i], "Cell point ids are wrong." + + #assert False \ No newline at end of file diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py new file mode 100644 index 00000000..de70f365 --- /dev/null +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -0,0 +1,175 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import os +import sys +from typing import Union +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, +) + +from vtkmodules.vtkCommonCore import ( + vtkDataArraySelection, + vtkInformation, + vtkInformationVector, +) +from vtkmodules.vtkCommonDataModel import ( + vtkCompositeDataSet, + vtkDataObjectTreeIterator, + vtkDataSet, + vtkMultiBlockDataSet, + vtkUnstructuredGrid, +) + +from geos.mesh.processing.SplitMesh import SplitMesh + +__doc__ = """ +Slip each cell of input mesh to smaller cells. + +Input and output are vtkUnstructuredGrid. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVSplitMesh. +* Select the input mesh. +* Apply the filter. + +""" + +@smproxy.filter( name="PVSplitMesh", label="Split Mesh" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkUnstructuredGrid"], + composite_data_supported=True, +) +class PVSplitMesh(VTKPythonAlgorithmBase): + def __init__(self:Self): + """Split mesh cells.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + + def FillInputPortInformation(self :Self, port: int, info: vtkInformation) ->int: + """Inherited from VTKPythonAlgorithmBase::FillInputPortInformation. + + Args: + port (int): port index + info (vtkInformation): input port Information + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + if port == 0: + info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + try: + inputMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, + vtkCompositeDataSet ] = self.GetInputData( inInfoVec, 0, 0 ) + outputMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, + vtkCompositeDataSet ] = self.GetOutputData( outInfoVec, 0 ) + + assert inputMesh is not None, "Input server mesh is null." + assert outputMesh is not None, "Output pipeline is null." + + splittedMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, vtkCompositeDataSet ] + if isinstance( inputMesh, vtkUnstructuredGrid ): + splittedMesh = self.doSplitMesh(inputMesh) + elif isinstance( inputMesh, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): + splittedMesh = self.doSplitMeshMultiBlock(inputMesh) + else: + raise ValueError( "Input mesh data type is not supported. Use either vtkUnstructuredGrid or vtkMultiBlockDataSet" ) + assert splittedMesh is not None, "Splitted mesh is null." + outputMesh.ShallowCopy(splittedMesh) + print("Mesh was successfully splitted.") + except AssertionError as e: + print(f"Mesh split failed due to: {e}") + return 0 + except Exception as e: + print(f"Mesh split failed due to: {e}") + return 0 + return 1 + + def doSplitMesh( + self: Self, + inputMesh: vtkUnstructuredGrid, + ) -> vtkUnstructuredGrid: + """Split cells from vtkUnstructuredGrids. + + Args: + inputMesh (vtkUnstructuredGrid): input mesh + + Returns: + vtkUnstructuredGrid: mesh where cells where splitted. + """ + filter :SplitMesh = SplitMesh() + filter.SetInputDataObject(inputMesh) + filter.Update() + return filter.GetOutputDataObject( 0 ) + + def doSplitMeshMultiBlock( + self: Self, + inputMesh: vtkMultiBlockDataSet, + ) -> vtkMultiBlockDataSet: + """Split cells from vtkMultiBlockDataSet. + + Args: + inputMesh (vtkMultiBlockDataSet): input mesh + + Returns: + vtkMultiBlockDataSet: mesh where cells where splitted. + """ + outputMesh: vtkMultiBlockDataSet = vtkMultiBlockDataSet() + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( inputMesh ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + blockIndex: int = 0 + while iter.GetCurrentDataObject() is not None: + block: vtkUnstructuredGrid = vtkUnstructuredGrid.SafeDownCast( iter.GetCurrentDataObject() ) + splittedBlock: vtkUnstructuredGrid = self.doSplitMesh( block ) + outputMesh.SetBlock(blockIndex, splittedBlock) + blockIndex += 1 + iter.GoToNextItem() + return outputMesh From 5d426385b4c6023d5e476944457b03a723b04391 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 10 Apr 2025 17:59:16 +0200 Subject: [PATCH 04/71] Add array transfer from parent to child mesh and tests --- .../src/geos/mesh/processing/SplitMesh.py | 124 +++++++++++++++--- geos-mesh/tests/test_SplitMesh.py | 15 +++ geos-pv/src/PVplugins/PVSplitMesh.py | 10 +- 3 files changed, 130 insertions(+), 19 deletions(-) diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index 0772de14..99c1c5f1 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -8,15 +8,21 @@ from vtkmodules.vtkCommonCore import ( vtkPoints, vtkIdTypeArray, + vtkDataArray, + vtkInformation, + vtkInformationVector, ) from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellArray, + vtkCellData, vtkCell, vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, ) +from vtkmodules.util.numpy_support import (numpy_to_vtk, + vtk_to_numpy) __doc__ = """ SplitMesh module is a vtk filter that split cells of a mesh composed of Tetrahedra, pyramids, and hexahedra. @@ -53,21 +59,59 @@ def __init__(self): self.originalId: vtkIdTypeArray self.cellTypes: list[int] - def FillInputPortInformation(self, port, info): + def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestInformation. + + Args: + port (int): input port + info (vtkInformationVector): info + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ if port == 0: info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - def RequestDataObject(self, request, inInfo, outInfo): - inData = self.GetInputData(inInfo, 0, 0) - outData = self.GetOutputData(outInfo, 0) + + def RequestDataObject(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) assert inData is not None if outData is None or (not outData.IsA(inData.GetClassName())): outData = inData.NewInstance() - outInfo.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfo, outInfo) + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) - def RequestData(self, request, inInfo, outInfo): - self.inData = self.GetInputData(inInfo, 0, 0) - output: vtkUnstructuredGrid = self.GetOutputData(outInfo, 0) + def RequestData(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + self.inData = self.GetInputData(inInfoVec, 0, 0) + output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) assert self.inData is not None, "Input mesh is undefined." assert output is not None, "Output mesh is undefined." @@ -77,12 +121,20 @@ def RequestData(self, request, inInfo, outInfo): self.points = vtkPoints() self.points.DeepCopy(self.inData.GetPoints()) - self.points.Resize( self.inData.GetNumberOfPoints() + nb_hex *19 + nb_tet * 6 + nb_pyr * 9) + nbNewPoints: int = 0 + volumeCellCounts = nb_hex + nb_tet + nb_pyr + if volumeCellCounts > 0: + nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 + else: + nbNewPoints = nb_triangles * 3 + nb_quad * 5 + nbNewCells: int = nb_hex * 8 + nb_tet * 8 + nb_pyr * 10 * nb_triangles * 4 + nb_quad * 4 + + self.points.Resize( self.inData.GetNumberOfPoints() + nbNewPoints) self.cells = vtkCellArray() - self.cells.AllocateExact(nb_hex*8+nb_tet*8+nb_pyr*10,8) + self.cells.AllocateExact(nbNewCells, 8) self.originalId = vtkIdTypeArray() self.originalId.SetName("OriginalID") - self.originalId.Allocate(nb_hex*8+nb_tet*8+nb_pyr*10) + self.originalId.Allocate(nbNewCells) self.cellTypes = [] for c in range(nb_cells): cell: vtkCell = self.inData.GetCell(c) @@ -103,10 +155,11 @@ def RequestData(self, request, inInfo, outInfo): output.SetPoints(self.points) output.SetCells(self.cellTypes, self.cells) # add attribute saving original cell ids - # cellArrays: vtkCellData = output.GetCellData() - # assert cellArrays is not None, "Cell data is undefined." - # cellArrays.AllocateArrays(1) - # cellArrays.AddArray(self.originalId) + cellArrays: vtkCellData = output.GetCellData() + assert cellArrays is not None, "Cell data is undefined." + cellArrays.AddArray(self.originalId) + # transfer all cell arrays + self._transferCellArrays(output) return 1 def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: @@ -384,4 +437,41 @@ def _split_quad(self :Self, cell: vtkCell, index: int) -> None: self.cells.InsertNextCell(4, [pt7,pt8,pt6,pt3]) for i in range(4): self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_QUAD]*4) \ No newline at end of file + self.cellTypes.extend([VTK_QUAD]*4) + + def _transferCellArrays(self :Self, + splittedMesh: vtkUnstructuredGrid + ) ->bool: + """Transfer arrays from input mesh to splitted mesh. + + Args: + splittedMesh (vtkUnstructuredGrid): splitted mesh + + Returns: + bool: True if arrays were successfully transfered. + """ + cellDataSplitted: vtkCellData = splittedMesh.GetCellData() + assert cellDataSplitted is not None, "Cell data of splitted mesh should be defined." + cellData: vtkCellData = self.inData.GetCellData() + assert cellData is not None, "Cell data of input mesh should be defined." + # for each array of input mesh + for i in range(cellData.GetNumberOfArrays()): + array: vtkDataArray = cellData.GetArray(i) + assert array is not None, "Array should be defined." + npArray: npt.NDArray[np.float64] = vtk_to_numpy(array) + # get number of components + dims: tuple[int,...] = npArray.shape + ny:int = 1 if len(dims) == 1 else dims[1] + # create new array with nb cells from splitted mesh and number of components from array to copy + newNpArray: npt.NDArray[np.float64] = np.full((splittedMesh.GetNumberOfCells(), ny), np.nan) + # for each cell, copy the values from input mesh + for c in range(splittedMesh.GetNumberOfCells()): + idParent: int = int(self.originalId.GetTuple1(c)) + newNpArray[c] = npArray[idParent] + # set array the splitted mesh + newArray: vtkDataArray = numpy_to_vtk(newNpArray) + newArray.SetName(array.GetName()) + cellDataSplitted.AddArray(newArray) + cellDataSplitted.Modified() + splittedMesh.Modified() + return True \ No newline at end of file diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 8522c586..7369321b 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -18,6 +18,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellArray, + vtkCellData, vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID ) @@ -25,6 +26,7 @@ from vtkmodules.vtkCommonCore import ( vtkPoints, vtkIdList, + vtkDataArray, ) #from vtkmodules.vtkFiltersSources import vtkCubeSource @@ -241,4 +243,17 @@ def test_single_cell_split( test_case: TestCase ): assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." assert cellsOutObs == test_case.cellsExp[i], "Cell point ids are wrong." + # test originalId array was created + cellData: vtkCellData = output.GetCellData() + assert cellData is not None, "Cell data should be defined." + array: vtkDataArray = cellData.GetArray("OriginalID") + assert array is not None, "OriginalID array should be defined." + + # test other arrays were transferred + cellDataInput: vtkCellData = test_case.mesh.GetCellData() + assert cellDataInput is not None, "Cell data from input mesh should be defined." + nbArrayInput: int = cellDataInput.GetNumberOfArrays() + nbArraySplited: int = cellData.GetNumberOfArrays() + assert nbArraySplited == nbArrayInput + 1, f"Number of arrays should be {nbArrayInput + 1}" + #assert False \ No newline at end of file diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py index de70f365..332e4a92 100644 --- a/geos-pv/src/PVplugins/PVSplitMesh.py +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -12,18 +12,24 @@ ) from vtkmodules.vtkCommonCore import ( - vtkDataArraySelection, vtkInformation, vtkInformationVector, ) from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObjectTreeIterator, - vtkDataSet, vtkMultiBlockDataSet, vtkUnstructuredGrid, ) +dir_path = os.path.dirname( os.path.realpath( __file__ ) ) +root = os.path.dirname(os.path.dirname(os.path.dirname( dir_path ))) +print(root) +for m in ("geos-posp", "geos-mesh", "geos-pv"): + path = os.path.join(root, m, "src") + if path not in sys.path: + sys.path.append( path ) + from geos.mesh.processing.SplitMesh import SplitMesh __doc__ = """ From c2286b5e1de29d5f21ea6825cb0a4777c7c5a579 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Fri, 11 Apr 2025 17:01:44 +0200 Subject: [PATCH 05/71] add helpers to create mesh with multiple cells add tests of helpers add test data files --- geos-mesh/src/geos/mesh/processing/helpers.py | 133 ++++++++++++ geos-mesh/tests/data/hexa_cell.csv | 8 + geos-mesh/tests/data/hexa_mesh.csv | 64 ++++++ geos-mesh/tests/data/pyramid_cell.csv | 5 + geos-mesh/tests/data/pyramid_mesh.csv | 46 +++++ geos-mesh/tests/data/quad_cell.csv | 4 + geos-mesh/tests/data/tetra_cell.csv | 4 + geos-mesh/tests/data/tetra_mesh.csv | 32 +++ geos-mesh/tests/data/triangle_cell.csv | 3 + geos-mesh/tests/test_MergeColocatedPoints.py | 191 ++++++++++-------- geos-mesh/tests/test_SplitMesh.py | 96 +++------ .../test_helpers_createSingleCellMesh.py | 103 ++++++++++ .../tests/test_helpers_createVertices.py | 159 +++++++++++++++ 13 files changed, 692 insertions(+), 156 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/processing/helpers.py create mode 100644 geos-mesh/tests/data/hexa_cell.csv create mode 100644 geos-mesh/tests/data/hexa_mesh.csv create mode 100644 geos-mesh/tests/data/pyramid_cell.csv create mode 100644 geos-mesh/tests/data/pyramid_mesh.csv create mode 100644 geos-mesh/tests/data/quad_cell.csv create mode 100644 geos-mesh/tests/data/tetra_cell.csv create mode 100644 geos-mesh/tests/data/tetra_mesh.csv create mode 100644 geos-mesh/tests/data/triangle_cell.csv create mode 100644 geos-mesh/tests/test_helpers_createSingleCellMesh.py create mode 100644 geos-mesh/tests/test_helpers_createVertices.py diff --git a/geos-mesh/src/geos/mesh/processing/helpers.py b/geos-mesh/src/geos/mesh/processing/helpers.py new file mode 100644 index 00000000..bf3f3578 --- /dev/null +++ b/geos-mesh/src/geos/mesh/processing/helpers.py @@ -0,0 +1,133 @@ +# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import numpy as np +import numpy.typing as npt +from typing import Sequence + +from vtkmodules.util.numpy_support import numpy_to_vtk + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkIncrementalOctreePointLocator +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdList, + reference, +) + +def getBounds(cellPtsCoord: list[npt.NDArray[np.float64]]) -> Sequence[float]: + """Compute bounding box coordinates of the list of points. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of points + + Returns: + Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) + """ + bounds: list[float] = [np.inf, -np.inf, np.inf, -np.inf, np.inf, -np.inf,] + for ptsCoords in cellPtsCoord: + mins: npt.NDArray[np.float64] = np.min(ptsCoords, axis=0) + maxs: npt.NDArray[np.float64] = np.max(ptsCoords, axis=0) + for i in range(3): + bounds[2 * i] = float(min(bounds[2 * i], mins[i])) + bounds[2 * i + 1] = float(max(bounds[2 * i + 1], maxs[i])) + return bounds + +def createSingleCellMesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtkUnstructuredGrid: + """Create a mesh that consists of a single cell. + + Args: + cellType (int): cell type + ptsCoord (1DArray[np.float64]): cell point coordinates + + Returns: + vtkUnstructuredGrid: output mesh + """ + nbPoints: int = ptsCoord.shape[0] + points: npt.NDArray[np.float64] = np.vstack((ptsCoord,)) + # Convert points to vtkPoints object + vtkpts: vtkPoints = vtkPoints() + vtkpts.SetData(numpy_to_vtk(points)) + + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for j in range( nbPoints ): + cellsID.InsertNextId(j) + + # add cell to mesh + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + mesh.SetPoints(vtkpts) + mesh.Allocate(1) + mesh.InsertNextCell(cellType, cellsID) + return mesh + +def createMultiCellMesh(cellTypes: list[int], + cellPtsCoord: list[npt.NDArray[np.float64]], + sharePoints: bool = True + ) ->vtkUnstructuredGrid: + """Create a mesh that consists of multiple cells. + + .. WARNING:: the mesh is not check for conformity. + + Args: + cellTypes (list[int]): cell type + cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates + sharePoints (bool): if True, cells share points, else a new point is created fro each cell vertex + + Returns: + vtkUnstructuredGrid: output mesh + """ + assert len(cellPtsCoord) == len(cellTypes), "The lists of cell types of point coordinates must be of same size." + nbCells: int = len(cellPtsCoord) + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + points: vtkPoints + cellVertexMapAll: list[tuple[int, ...]] + points, cellVertexMapAll = createVertices(cellPtsCoord, sharePoints) + assert len(cellVertexMapAll) == len(cellTypes), "The lists of cell types of cell point ids must be of same size." + mesh.SetPoints(points) + mesh.Allocate(nbCells) + # create mesh cells + for cellType, ptsId in zip(cellTypes, cellVertexMapAll, strict=True): + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for ptId in ptsId: + cellsID.InsertNextId(ptId) + mesh.InsertNextCell(cellType, cellsID) + return mesh + +def createVertices(cellPtsCoord: list[npt.NDArray[np.float64]], + shared: bool = True + ) -> tuple[vtkPoints, list[tuple[int, ...]]]: + """Create vertices from cell point coordinates list. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates + shared (bool, optional): If True, collocated points are merged. Defaults to True. + + Returns: + tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the + map of cell point ids + """ + # get point bounds + bounds: list[float] = getBounds(cellPtsCoord) + points: vtkPoints = vtkPoints() + # use point locator to check for colocated points + pointsLocator = vtkIncrementalOctreePointLocator() + pointsLocator.InitPointInsertion(points, bounds) + cellVertexMapAll: list[tuple[int, ...]] = [] + ptId: reference = reference(0) + ptsCoords: npt.NDArray[np.float64] + for ptsCoords in cellPtsCoord: + cellVertexMap: list[reference] = [] + pt: npt.NDArray[np.float64] # 1DArray + for pt in ptsCoords: + if shared: + pointsLocator.InsertUniquePoint( pt.tolist(), ptId) + else: + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1) + cellVertexMap += [ptId.get()] + cellVertexMapAll += [tuple(cellVertexMap)] + return points, cellVertexMapAll diff --git a/geos-mesh/tests/data/hexa_cell.csv b/geos-mesh/tests/data/hexa_cell.csv new file mode 100644 index 00000000..741fa4f7 --- /dev/null +++ b/geos-mesh/tests/data/hexa_cell.csv @@ -0,0 +1,8 @@ +0.0, 0.0, 0.0 +1.0, 0.0, 0.0 +1.0, 1.0, 0.0 +0.0, 1.0, 0.0 +0.0, 0.0, 1.0 +1.0, 0.0, 1.0 +1.0, 1.0, 1.0 +0.0, 1.0, 1.0 \ No newline at end of file diff --git a/geos-mesh/tests/data/hexa_mesh.csv b/geos-mesh/tests/data/hexa_mesh.csv new file mode 100644 index 00000000..cc55f562 --- /dev/null +++ b/geos-mesh/tests/data/hexa_mesh.csv @@ -0,0 +1,64 @@ +0.0,0.0,0.5 +0.5,0.0,0.5 +0.5,0.5,0.5 +0.0,0.5,0.5 +0.0,0.0,1.0 +0.5,0.0,1.0 +0.5,0.5,1.0 +0.0,0.5,1.0 +0.5,0.0,0.5 +1.0,0.0,0.5 +1.0,0.5,0.5 +0.5,0.5,0.5 +0.5,0.0,1.0 +1.0,0.0,1.0 +1.0,0.5,1.0 +0.5,0.5,1.0 +0.0,0.0,0.0 +0.5,0.0,0.0 +0.5,0.5,0.0 +0.0,0.5,0.0 +0.0,0.0,0.5 +0.5,0.0,0.5 +0.5,0.5,0.5 +0.0,0.5,0.5 +0.5,0.0,0.0 +1.0,0.0,0.0 +1.0,0.5,0.0 +0.5,0.5,0.0 +0.5,0.0,0.5 +1.0,0.0,0.5 +1.0,0.5,0.5 +0.5,0.5,0.5 +0.0,0.5,0.5 +0.5,0.5,0.5 +0.5,1.0,0.5 +0.0,1.0,0.5 +0.0,0.5,1.0 +0.5,0.5,1.0 +0.5,1.0,1.0 +0.0,1.0,1.0 +0.5,0.5,0.5 +1.0,0.5,0.5 +1.0,1.0,0.5 +0.5,1.0,0.5 +0.5,0.5,1.0 +1.0,0.5,1.0 +1.0,1.0,1.0 +0.5,1.0,1.0 +0.0,0.5,0.0 +0.5,0.5,0.0 +0.5,1.0,0.0 +0.0,1.0,0.0 +0.0,0.5,0.5 +0.5,0.5,0.5 +0.5,1.0,0.5 +0.0,1.0,0.5 +0.5,0.5,0.0 +1.0,0.5,0.0 +1.0,1.0,0.0 +0.5,1.0,0.0 +0.5,0.5,0.5 +1.0,0.5,0.5 +1.0,1.0,0.5 +0.5,1.0,0.5 diff --git a/geos-mesh/tests/data/pyramid_cell.csv b/geos-mesh/tests/data/pyramid_cell.csv new file mode 100644 index 00000000..864deaf4 --- /dev/null +++ b/geos-mesh/tests/data/pyramid_cell.csv @@ -0,0 +1,5 @@ +0.0, 0.0, 0.0 +1.0, 0.0, 0.0 +1.0, 1.0, 0.0 +0.0, 1.0, 0.0 +0.5, 0.5, 1.0 \ No newline at end of file diff --git a/geos-mesh/tests/data/pyramid_mesh.csv b/geos-mesh/tests/data/pyramid_mesh.csv new file mode 100644 index 00000000..c435d2e4 --- /dev/null +++ b/geos-mesh/tests/data/pyramid_mesh.csv @@ -0,0 +1,46 @@ +0.5,0.0,0.0 +1.0,0.0,0.0 +1.0,0.5,0.0 +0.5,0.5,0.0 +0.8,0.2,0.5 +0.5,0.5,0.0 +1.0,0.5,0.0 +1.0,1.0,0.0 +0.5,1.0,0.0 +0.8,0.8,0.5 +0.0,1.0,0.0 +0.0,0.5,0.0 +0.5,0.5,0.0 +0.5,1.0,0.0 +0.2,0.8,0.5 +0.0,0.5,0.0 +0.0,0.0,0.0 +0.5,0.0,0.0 +0.5,0.5,0.0 +0.2,0.2,0.5 +0.2,0.8,0.5 +0.2,0.2,0.5 +0.8,0.2,0.5 +0.8,0.8,0.5 +0.5,0.5,1.0 +0.8,0.8,0.5 +0.8,0.2,0.5 +0.2,0.2,0.5 +0.2,0.8,0.5 +0.5,0.5,0.0 +0.2,0.2,0.5 +0.8,0.2,0.5 +0.5,0.0,0.0 +0.5,0.5,0.0 +0.8,0.2,0.5 +0.8,0.8,0.5 +1.0,0.5,0.0 +0.5,0.5,0.0 +0.8,0.8,0.5 +0.2,0.8,0.5 +0.5,1.0,0.0 +0.5,0.5,0.0 +0.2,0.8,0.5 +0.2,0.2,0.5 +0.0,0.5,0.0 +0.5,0.5,0.0 diff --git a/geos-mesh/tests/data/quad_cell.csv b/geos-mesh/tests/data/quad_cell.csv new file mode 100644 index 00000000..ffca9522 --- /dev/null +++ b/geos-mesh/tests/data/quad_cell.csv @@ -0,0 +1,4 @@ +0.0, 0.0, 0.0 +1.0, 0.0, 0.0 +1.0, 1.0, 0.0 +0.0, 1.0, 0.0 \ No newline at end of file diff --git a/geos-mesh/tests/data/tetra_cell.csv b/geos-mesh/tests/data/tetra_cell.csv new file mode 100644 index 00000000..38b971aa --- /dev/null +++ b/geos-mesh/tests/data/tetra_cell.csv @@ -0,0 +1,4 @@ +0.0, 0.0, 0.0 +1.0, 0.0, 0.0 +0.0, 0.0, 1.0 +0.0, 1.0, 0.0 \ No newline at end of file diff --git a/geos-mesh/tests/data/tetra_mesh.csv b/geos-mesh/tests/data/tetra_mesh.csv new file mode 100644 index 00000000..2f3414b4 --- /dev/null +++ b/geos-mesh/tests/data/tetra_mesh.csv @@ -0,0 +1,32 @@ +0.0,0.0,0.0 +0.5,0.0,0.0 +0.0,0.0,0.5 +0.0,0.5,0.0 +0.0,0.5,0.0 +0.5,0.5,0.0 +0.0,0.5,0.5 +0.0,1.0,0.0 +0.5,0.5,0.0 +0.5,0.0,0.0 +0.5,0.0,0.5 +1.0,0.0,0.0 +0.5,0.0,0.5 +0.0,0.0,0.5 +0.0,0.5,0.5 +0.0,0.0,1.0 +0.0,0.0,0.5 +0.0,0.5,0.5 +0.0,0.5,0.0 +0.5,0.0,0.0 +0.5,0.0,0.0 +0.0,0.5,0.5 +0.0,0.5,0.0 +0.5,0.5,0.0 +0.5,0.0,0.0 +0.0,0.5,0.5 +0.5,0.5,0.0 +0.5,0.0,0.5 +0.5,0.0,0.5 +0.5,0.0,0.0 +0.0,0.5,0.5 +0.0,0.0,0.5 diff --git a/geos-mesh/tests/data/triangle_cell.csv b/geos-mesh/tests/data/triangle_cell.csv new file mode 100644 index 00000000..b8b70c27 --- /dev/null +++ b/geos-mesh/tests/data/triangle_cell.csv @@ -0,0 +1,3 @@ +0.0, 0.0, 0.0 +1.0, 0.0, 0.0 +0.0, 1.0, 0.0 \ No newline at end of file diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py index 6f1a39d8..ea8db4c0 100644 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -1,115 +1,134 @@ # SPDX-FileContributor: Alexandre Benedicto, Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file +import os +from dataclasses import dataclass import numpy as np import numpy.typing as npt -import unittest +import pytest from typing_extensions import Self +from typing import ( + Iterator, +) +from geos.mesh.processing.helpers import create_single_cell_mesh from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints -import vtk -from vtkmodules.util.numpy_support import (numpy_to_vtk, numpy_to_vtkIdTypeArray, - vtk_to_numpy) +from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellArray, + vtkCellData, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, ) from vtkmodules.vtkCommonCore import ( vtkPoints, + vtkIdList, + vtkDataArray, ) -# create test mesh -ID_TYPE = np.int32 -if vtk.VTK_ID_TYPE == 12: - ID_TYPE = np.int64 - -offset = np.array([0, 4], np.int8) -cells = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8,]) -cell_type = np.array([vtk.VTK_TETRA, vtk.VTK_TETRA], np.int32) - -cell1 = np.array([[0, 0, 0], - [1, 0, 0], - [0, 0, 1], - [0, 1, 0]]) -cell2 = np.array([[1, 0, 0], - [1, 1, 0], - [0, 0, 1], - [0, 1, 0]]) - -points = np.vstack((cell1, cell2)).astype(np.float64) - -if offset.dtype != ID_TYPE: - offset = offset.astype(ID_TYPE) - -if cells.dtype != ID_TYPE: - cells = cells.astype(ID_TYPE) -if not cells.flags['C_CONTIGUOUS']: - cells = np.ascontiguousarray(cells) +#from vtkmodules.vtkFiltersSources import vtkCubeSource -if cells.ndim != 1: - cells = cells.ravel() -if cell_type.dtype != np.uint8: - cell_type = cell_type.astype(np.uint8) +data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") -# Get number of cells -ncells = cell_type.size -# Convert to vtk arrays -cell_type = numpy_to_vtk(cell_type) -offset = numpy_to_vtkIdTypeArray(offset) -vtkcells = vtk.vtkCellArray() -vtkcells.SetCells(ncells, numpy_to_vtkIdTypeArray(cells.ravel())) +data_filename_all = (tetra_path, hexa_path, pyramid_path, triangle_path, quad_path) +cell_types_all = (tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type) +points_out_all = (tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out) +cells_out_all = (tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out) -# Convert points to vtkPoints object -vtkpts = vtk.vtkPoints() -vtkpts.SetData(numpy_to_vtk(points)) - -inputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid() -inputMesh.SetPoints(vtkpts) -inputMesh.SetCells(cell_type, offset, vtkcells) - - -class TestsMergeColocatedPoints( unittest.TestCase ): - - def test_init( self: Self ) -> None: - """Test init method.""" - filter :MergeColocatedPoints = MergeColocatedPoints() - input = filter.GetInputDataObject(0, 0) - self.assertIsNone(input, "Input mesh should be undefined.") +@dataclass( frozen=True ) +class TestCase: + """Test case""" + __test__ = False + #: VTK cell type + cellType: int + #: mesh + mesh: vtkUnstructuredGrid + #: expected new point coordinates + pointsExp: npt.NDArray[np.float64] + #: expected new cell point ids + cellsExp: list[int] + +def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for cellType, data_path, pointsExp, cellsExp in zip( + cell_types_all, data_filename_all, points_out_all, cells_out_all, + strict=True): + ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, data_path), dtype=float, delimiter=',') + mesh: vtkUnstructuredGrid = create_single_cell_mesh(cellType, ptsCoord) + yield TestCase( cellType, mesh, pointsExp, cellsExp ) + + +ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] +@pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) +def test_single_cell_split( test_case: TestCase ): + """Test of SplitMesh filter with meshes composed of a single cell. + + Args: + test_case (TestCase): test case + """ + cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) + filter :MergeColocatedPoints = MergeColocatedPoints() + filter.SetInputDataObject(test_case.mesh) + filter.Update() + output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) + assert output is not None, "Output mesh is undefined." + pointsOut: vtkPoints = output.GetPoints() + assert pointsOut is not None, "Points from output mesh are undefined." + assert pointsOut.GetNumberOfPoints() == test_case.pointsExp.shape[0], f"Number of points is expected to be {test_case.pointsExp.shape[0]}." + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print("Points coords: ", cellTypeName, pointCoords.tolist()) + assert np.array_equal(pointCoords.ravel(), test_case.pointsExp.ravel()), "Points coordinates mesh are wrong." + + cellsOut: vtkCellArray = output.GetCells() + typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) + print("typesArray0", cellTypeName, typesArray0) + + assert cellsOut is not None, "Cells from output mesh are undefined." + assert cellsOut.GetNumberOfCells() == len(test_case.cellsExp), f"Number of cells is expected to be {len(test_case.cellsExp)}." + # check cell types + types: vtkCellTypes = vtkCellTypes() + output.GetCellTypes(types) + assert types is not None, "Cell types must be defined" + typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + + print("typesArray", cellTypeName, typesArray) + assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"All cells must be {cellTypeName}" - def test_SetInputDataObject( self: Self ) -> None: - """Test SetInputDataObject method.""" - filter :MergeColocatedPoints = MergeColocatedPoints() - filter.SetInputDataObject(inputMesh) - input = filter.GetInputDataObject(0, 0) - self.assertIsNotNone(input, "Input mesh is undefined.") - output = filter.GetOutputDataObject(0) - self.assertIsNone(output, "Output mesh should be undefined.") - - - def test_Update( self: Self ) -> None: - """Test Update method.""" - filter :MergeColocatedPoints = MergeColocatedPoints() - filter.SetInputDataObject(inputMesh) - filter.Update() - output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) - self.assertIsNotNone(output, "Output mesh is undefined.") - pointsOut: vtkPoints = output.GetPoints() - self.assertIsNotNone(pointsOut, "Points from output mesh are undefined.") - self.assertEqual(pointsOut.GetNumberOfPoints(), 5) - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print(pointCoords) - - cellsOut: vtkCellArray = inputMesh.GetCells() - self.assertIsNotNone(cellsOut, "Cells from output mesh are undefined.") - cellsPtIds: npt.NDArray[np.int8] = vtk_to_numpy(cellsOut.GetData()) - print(cellsPtIds) - self.assertTrue(False, "Manual fail") + for i in range(cellsOut.GetNumberOfCells()): + ptIds = vtkIdList() + cellsOut.GetCellAtId(i, ptIds) + cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] + nbPtsExp: int = len(test_case.cellsExp[i]) + print("cell type", cellTypeName, i, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(i))) + print("cellsOutObs: ", cellTypeName, i, cellsOutObs) + assert ptIds is not None, "Point ids must be defined" + assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." + assert cellsOutObs == test_case.cellsExp[i], "Cell point ids are wrong." + + # test originalId array was created + cellData: vtkCellData = output.GetCellData() + assert cellData is not None, "Cell data should be defined." + array: vtkDataArray = cellData.GetArray("OriginalID") + assert array is not None, "OriginalID array should be defined." + + # test other arrays were transferred + cellDataInput: vtkCellData = test_case.mesh.GetCellData() + assert cellDataInput is not None, "Cell data from input mesh should be defined." + nbArrayInput: int = cellDataInput.GetNumberOfArrays() + nbArraySplited: int = cellData.GetNumberOfArrays() + assert nbArraySplited == nbArrayInput + 1, f"Number of arrays should be {nbArrayInput + 1}" + diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 7369321b..7c5b28fc 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -1,6 +1,7 @@ # SPDX-FileContributor: Alexandre Benedicto, Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file +import os from dataclasses import dataclass import numpy as np import numpy.typing as npt @@ -10,10 +11,10 @@ Iterator, ) +from geos.mesh.processing.helpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh -from vtkmodules.util.numpy_support import (numpy_to_vtk, - vtk_to_numpy) +from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, @@ -30,27 +31,17 @@ ) #from vtkmodules.vtkFiltersSources import vtkCubeSource -# create test meshes + +data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") ############################################################### # create single tetra mesh # ############################################################### tetra_cell_type: int = VTK_TETRA -tetra_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], - [1, 0, 0], - [0, 0, 1], - [0, 1, 0]], np.float64) +tetra_path = "tetra_cell.csv" + # expected results -tetra_points_out: npt.NDArray[np.float64] = np.array([[0., 0., 0. ], - [1., 0., 0. ], - [0., 0., 1. ], - [0., 1., 0. ], - [0.5, 0., 0. ], - [0.5, 0., 0.5], - [0., 0., 0.5], - [0., 0.5, 0. ], - [0., 0.5, 0.5], - [0.5, 0.5, 0. ]], np.float64) +tetra_points_out: npt.NDArray[np.float64] = np.array([[0., 0., 0. ], [1., 0., 0. ], [0., 0., 1. ], [0., 1., 0. ], [0.5, 0., 0. ], [0.5, 0., 0.5], [0., 0., 0.5], [0., 0.5, 0. ], [0., 0.5, 0.5], [0.5, 0.5, 0. ]], np.float64) tetra_cells_out: list[list[int]] = [[0, 4, 6, 7], [7, 9, 8, 3], [9, 4, 5, 1], @@ -64,14 +55,8 @@ # create single hexa mesh # ############################################################### hexa_cell_type: int = VTK_HEXAHEDRON -hexa_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], - [1, 0, 0], - [1, 1, 0], - [0, 1, 0], - [0, 0, 1], - [1, 0, 1], - [1, 1, 1], - [0, 1, 1]], np.float64) +hexa_path = "hexa_cell.csv" + # expected results hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 1.0], [1.0, 1.0, 1.0], [0.0, 1.0, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.0, 0.0, 0.5], [1.0, 0.5, 0.0], [1.0, 0.0, 0.5], [0.5, 1.0, 0.0], [1.0, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 0.0, 1.0], [0.0, 0.5, 1.0], [1.0, 0.5, 1.0], [0.5, 1.0, 1.0], [0.5, 0.5, 0.0], [0.5, 0.0, 0.5], [0.0, 0.5, 0.5], [1.0, 0.5, 0.5], [0.5, 1.0, 0.5], [0.5, 0.5, 1.0], [0.5, 0.5, 0.5]], np.float64) hexa_cells_out: list[list[int]] = [[10, 21, 26, 22, 4, 16, 25, 17], @@ -87,11 +72,8 @@ # create single pyramid mesh # ############################################################### pyramid_cell_type: int = VTK_PYRAMID -pyramid_cell: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0], - [1.0, 0.0, 0], - [1.0, 1.0, 0], - [0.0, 1.0, 0], - [0.5, 0.5, 1]], np.float64) +pyramid_path = "pyramid_cell.csv" + # expected results pyramid_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.5, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.25, 0.25, 0.5], [1.0, 0.5, 0.0], [0.75, 0.25, 0.5], [0.5, 1.0, 0.0], [0.75, 0.75, 0.5], [0.25, 0.75, 0.5], [0.5, 0.5, 0.0]], np.float64) pyramid_cells_out: list[list[int]] = [[5, 1, 8, 13, 9], @@ -109,9 +91,8 @@ # create single triangle mesh # ############################################################### triangle_cell_type: int = VTK_TRIANGLE -triangle_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], - [1, 0, 0], - [0, 1, 0]], np.float64) +triangle_path = "triangle_cell.csv" + # expected results triangle_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0]], np.float64) triangle_cells_out: list[list[int]] = [[0, 3, 5], @@ -123,10 +104,8 @@ # create single quad mesh # ############################################################### quad_cell_type: int = VTK_QUAD -quad_cell: npt.NDArray[np.float64] = np.array([[0, 0, 0], - [1, 0, 0], - [1, 1, 0], - [0, 1, 0]], np.float64) +quad_path = "quad_cell.csv" + # expected results quad_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.0], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0]], np.float64) quad_cells_out: list[list[int]] = [[0, 4, 8, 7], @@ -140,8 +119,8 @@ # TODO: add tests cases composed of multi-cell meshes of various types +data_filename_all = (tetra_path, hexa_path, pyramid_path, triangle_path, quad_path) cell_types_all = (tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type) -cell_all = (tetra_cell, hexa_cell, pyramid_cell, triangle_cell, quad_cell) points_out_all = (tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out) cells_out_all = (tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out) @@ -159,51 +138,28 @@ class TestCase: cellsExp: list[int] - -def __create_single_cell_type_mesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtkUnstructuredGrid: - """Create a mesh that consists of a single cell. - - Args: - cellType (int): cell type - pts_coord (npt.NDArray[np.float64]): cell point coordinates - - Returns: - vtkUnstructuredGrid: output mesh - """ - nbPoints: int = ptsCoord.shape[0] - points: npt.NDArray[np.float64] = np.vstack((ptsCoord,)) - # Convert points to vtkPoints object - vtkpts: vtkPoints = vtkPoints() - vtkpts.SetData(numpy_to_vtk(points)) - - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for j in range( nbPoints ): - cellsID.InsertNextId(j) - - # add cell to mesh - mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - mesh.SetPoints(vtkpts) - mesh.Allocate(1) - mesh.InsertNextCell(cellType, cellsID) - return mesh - def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: """Generate test cases. Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, ptsCoord, pointsExp, cellsExp in zip( - cell_types_all, cell_all, points_out_all, cells_out_all, + for cellType, data_path, pointsExp, cellsExp in zip( + cell_types_all, data_filename_all, points_out_all, cells_out_all, strict=True): - mesh: vtkUnstructuredGrid = __create_single_cell_type_mesh(cellType, ptsCoord) + ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, data_path), dtype=float, delimiter=',') + mesh: vtkUnstructuredGrid = createSingleCellMesh(cellType, ptsCoord) yield TestCase( cellType, mesh, pointsExp, cellsExp ) ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] @pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) def test_single_cell_split( test_case: TestCase ): + """Test of SplitMesh filter with meshes composed of a single cell. + + Args: + test_case (TestCase): test case + """ cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) filter :SplitMesh = SplitMesh() filter.SetInputDataObject(test_case.mesh) diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py new file mode 100644 index 00000000..23c68476 --- /dev/null +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -0,0 +1,103 @@ +# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import os +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pytest +from typing import ( + Iterator, +) + +from geos.mesh.processing.helpers import createSingleCellMesh + +from vtkmodules.util.numpy_support import vtk_to_numpy + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdList, + reference, +) + +# inputs +data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") + +data_filename_all: tuple[str,...] = ("triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", "hexa_cell.csv") +cell_type_all: tuple[int, ...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON) + + +@dataclass( frozen=True ) +class TestCase: + """Test case""" + __test__ = False + #: VTK cell type + cellType: int + #: cell point coordinates + cellPoints: npt.NDArray[np.float64] + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for cellType, path in zip( + cell_type_all, data_filename_all, + strict=True): + cell: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + yield TestCase( cellType, cell ) + + +ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_type_all] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_createSingleCellMesh( test_case: TestCase ): + """Test of createSingleCellMesh method. + + Args: + test_case (TestCase): test case + """ + cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) + output: vtkUnstructuredGrid = createSingleCellMesh(test_case.cellType, test_case.cellPoints) + + assert output is not None, "Output mesh is undefined." + pointsOut: vtkPoints = output.GetPoints() + nbPtsExp: int = len(test_case.cellPoints) + assert pointsOut is not None, "Points from output mesh are undefined." + assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print("Points coords: ", cellTypeName, pointCoords.tolist()) + assert np.array_equal(pointCoords.ravel(), test_case.cellPoints.ravel()), "Points coordinates are wrong." + + cellsOut: vtkCellArray = output.GetCells() + typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) + print("typesArray0", cellTypeName, typesArray0) + + assert cellsOut is not None, "Cells from output mesh are undefined." + assert cellsOut.GetNumberOfCells() == 1, "Number of cells is expected to be 1." + # check cell types + types: vtkCellTypes = vtkCellTypes() + output.GetCellTypes(types) + assert types is not None, "Cell types must be defined" + typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + + print("typesArray", cellTypeName, typesArray) + assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"Cell must be {cellTypeName}" + + ptIds = vtkIdList() + cellsOut.GetCellAtId(0, ptIds) + cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] + + print("cell type", cellTypeName, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(0))) + print("cellsOutObs: ", cellTypeName, cellsOutObs) + assert ptIds is not None, "Point ids must be defined" + assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." + assert cellsOutObs == list(range(nbPtsExp)), "Cell point ids are wrong." + diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py new file mode 100644 index 00000000..6044ce99 --- /dev/null +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -0,0 +1,159 @@ +# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import os +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pytest +from typing import ( + Iterator, +) + +from geos.mesh.processing.helpers import getBounds, createVertices, createMultiCellMesh + +from vtkmodules.util.numpy_support import vtk_to_numpy + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, + vtkCellTypes, + VTK_TETRA, VTK_HEXAHEDRON, +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdList, +) + +# TODO: add case whith various cell types + +# inputs +data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") +data_filename_all: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") +celltypes_all: tuple[int] = (VTK_TETRA, VTK_HEXAHEDRON) +nbPtsCell_all: tuple[int] = (4, 8) + +# expected results if shared vertices +hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.5], [0.5, 0.0, 0.5], [0.5, 0.5, 0.5], [0.0, 0.5, 0.5], [0.0, 0.0, 1.0], [0.5, 0.0, 1.0], [0.5, 0.5, 1.0], [0.0, 0.5, 1.0], [1.0, 0.0, 0.5], [1.0, 0.5, 0.5], [1.0, 0.0, 1.0], [1.0, 0.5, 1.0], [0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0], [1.0, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 1.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 0.5], [1.0, 1.0, 1.0], [0.5, 1.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0]], np.float64) +tetra_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.0, 0.0, 0.5], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.5], [0.0, 1.0, 0.0], [0.5, 0.0, 0.5], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]], np.float64) +points_out_all = (tetra_points_out, hexa_points_out) + +tetra_cellPtsIdsExp = [(0, 1, 2, 3), (3, 4, 5, 6), (4, 1, 7, 8), (7, 2, 5, 9), (2, 5, 3, 1), (1, 5, 3, 4), (1, 5, 4, 7), (7, 1, 5, 2)] +hexa_cellPtsIdsExp = [(0, 1, 2, 3, 4, 5, 6, 7), (1, 8, 9, 2, 5, 10, 11, 6), (12, 13, 14, 15, 0, 1, 2, 3), (13, 16, 17, 14, 1, 8, 9, 2), (3, 2, 18, 19, 7, 6, 20, 21), (2, 9, 22, 18, 6, 11, 23, 20), (15, 14, 24, 25, 3, 2, 18, 19), (14, 17, 26, 24, 2, 9, 22, 18)] +cellPtsIdsExp_all = (tetra_cellPtsIdsExp, hexa_cellPtsIdsExp) + +@dataclass( frozen=True ) +class TestCase: + """Test case""" + __test__ = False + #: cell types + cellTypes: list[int] + #: cell point coordinates + cellPtsCoords: list[npt.NDArray[np.float64]] + #: share or unshare vertices + share: bool + #: expected points + pointsExp: npt.NDArray[np.float64] + #: expected cell point ids + cellPtsIdsExp: tuple[tuple[int]] + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for path, celltype, nbPtsCell, pointsExp0, cellPtsIdsExp0 in zip(data_filename_all, celltypes_all, nbPtsCell_all, points_out_all, cellPtsIdsExp_all, strict=True): + # all points coordinates + ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + # split array to get a list of coordinates per cell + cellPtsCoords = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] + nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) + cellTypes = nbCells * [celltype] + for shared in (False, True): + pointsExp: npt.NDArray[np.float64] = pointsExp0 if shared else ptsCoords + cellPtsIdsExp = cellPtsIdsExp0 if shared else [tuple(range(i*nbPtsCell, (i+1)*nbPtsCell, 1)) for i in range(nbCells)] + yield TestCase( cellTypes, cellPtsCoords, shared, pointsExp, cellPtsIdsExp ) + + +ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_createVertices( test_case: TestCase ): + """Test of createVertices method. + + Args: + test_case (TestCase): test case + """ + pointsOut: vtkPoints + cellPtsIds: list[tuple[int, ...]] + pointsOut, cellPtsIds = createVertices(test_case.cellPtsCoords, test_case.share) + assert pointsOut is not None, "Output points is undefined." + assert cellPtsIds is not None, "Output cell point map is undefined." + nbPtsExp: int = test_case.pointsExp.shape[0] + assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print("Points coords Obs: ", pointCoords.tolist()) + assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." + print("Cell points coords: ", cellPtsIds) + assert cellPtsIds == test_case.cellPtsIdsExp, f"Cell point Ids are expected to be {test_case.cellPtsIdsExp}" + +ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_createMultiCellMesh( test_case: TestCase ): + """Test of createMultiCellMesh method. + + Args: + test_case (TestCase): test case + """ + output: vtkUnstructuredGrid = createMultiCellMesh(test_case.cellTypes, test_case.cellPtsCoords, test_case.share) + assert output is not None, "Output mesh is undefined." + + # tests on points + pointsOut: vtkPoints = output.GetPoints() + assert pointsOut is not None, "Output points is undefined." + nbPtsExp: int = test_case.pointsExp.shape[0] + assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." + pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) + print("Points coords Obs: ", pointCoords.tolist()) + assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." + + # tests on cells + cellsOut: vtkCellArray = output.GetCells() + assert cellsOut is not None, "Cells from output mesh are undefined." + nbCells: int = len(test_case.cellPtsCoords) + assert cellsOut.GetNumberOfCells() == nbCells, f"Number of cells is expected to be {nbCells}." + + # check cell types + types: vtkCellTypes = vtkCellTypes() + output.GetCellTypes(types) + assert types is not None, "Cell types must be defined" + typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + print("typesArray.size ", typesArray.size) + assert (typesArray.size == 1) and (typesArray[0] == test_case.cellTypes[0]), f"Cell types are wrong" + + for cellId in range(output.GetNumberOfCells()): + ptIds = vtkIdList() + cellsOut.GetCellAtId(cellId, ptIds) + cellsOutObs: tuple[int] = tuple([ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())]) + print("cellsOutObs: ", cellsOutObs) + nbCellPts: int = len(test_case.cellPtsIdsExp[cellId]) + assert ptIds is not None, "Point ids must be defined" + assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." + assert cellsOutObs == test_case.cellPtsIdsExp[cellId], "Cell point ids are wrong." + +def test_getBounds( ): + """Test of getBounds method.""" + # input + cellPtsCoord: list[npt.NDArray[np.float64]] = [ + np.array([[5, 4, 3], [1, 8, 4], [2, 5, 7]], dtype=float), + np.array([[1, 4, 6], [2, 7, 9], [4, 5 ,6]], dtype=float), + np.array([[3, 7, 8], [5, 7, 3], [4, 7, 3]], dtype=float), + np.array([[1, 7, 2], [0, 1, 2], [2, 3, 7]], dtype=float), + ] + # expected output + boundsExp: list[float] = [0., 5., 1., 8., 2., 9.] + boundsObs: list[float] = getBounds(cellPtsCoord) + assert boundsExp == boundsObs, f"Expected bounds are {boundsExp}." + + \ No newline at end of file From 5544b5ff6ff2cefc8726205874fc2f9dc9c03129 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Mon, 14 Apr 2025 14:25:10 +0200 Subject: [PATCH 06/71] fix and add tests to MergeColocatedPoints --- .../mesh/processing/MergeColocatedPoints.py | 89 +++++++++-- .../src/geos/mesh/processing/SplitMesh.py | 66 ++++---- geos-mesh/src/geos/mesh/processing/helpers.py | 10 +- geos-mesh/tests/test_MergeColocatedPoints.py | 148 ++++++++---------- .../test_helpers_createSingleCellMesh.py | 15 +- .../tests/test_helpers_createVertices.py | 19 ++- 6 files changed, 194 insertions(+), 153 deletions(-) diff --git a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py index d55c31d3..d69c46d2 100644 --- a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py +++ b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay +import numpy as np from typing_extensions import Self from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase from vtkmodules.vtkCommonCore import ( @@ -8,11 +9,14 @@ vtkInformation, vtkInformationVector, vtkPoints, - reference + reference, + vtkIdList, ) from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkIncrementalOctreePointLocator, + vtkCellTypes, + vtkCell, ) @@ -44,7 +48,8 @@ """ class MergeColocatedPoints(VTKPythonAlgorithmBase): - def __init__(self: Self ): + def __init__(self: Self ) ->None: + """MergeColocatedPoints filter merge duplacted points of the input mesh.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: @@ -60,7 +65,7 @@ def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> i if port == 0: info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - def RequestDataObject(self: Self, + def RequestDataObject(self: Self, request: vtkInformation, # noqa: F841 inInfoVec: list[ vtkInformationVector ], # noqa: F841 outInfoVec: vtkInformationVector, @@ -83,7 +88,7 @@ def RequestDataObject(self: Self, outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) return super().RequestDataObject(request, inInfoVec, outInfoVec) - def RequestData(self: Self, + def RequestData(self: Self, request: vtkInformation, # noqa: F841 inInfoVec: list[ vtkInformationVector ], # noqa: F841 outInfoVec: vtkInformationVector, @@ -100,28 +105,82 @@ def RequestData(self: Self, """ inData: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( inInfoVec[ 0 ] ) output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) + assert inData is not None, "Input mesh is undefined." + assert output is not None, "Output mesh is undefined." + vertexMap: list[int] = self.setMergePoints(inData, output) + self.setCells(inData, output, vertexMap) + return 1 + + def setMergePoints(self :Self, + input: vtkUnstructuredGrid, + output: vtkUnstructuredGrid + ) ->list[int]: + """Merge duplicated points and set new points and attributes to output mesh. + + Args: + input (vtkUnstructuredGrid): input mesh + output (vtkUnstructuredGrid): output mesh + + Returns: + list[int]: list containing new point ids. + """ + vertexMap: list[int] = [] newPoints: vtkPoints = vtkPoints() # use point locator to check for colocated points - merge_points = vtkIncrementalOctreePointLocator() - merge_points.InitPointInsertion(newPoints,inData.GetBounds()) + pointsLocator = vtkIncrementalOctreePointLocator() + pointsLocator.InitPointInsertion(newPoints,input.GetBounds()) # create an array to count the number of colocated points vertexCount: vtkIntArray = vtkIntArray() vertexCount.SetName("Count") ptId = reference(0) - countD: int = 0 - for v in range(inData.GetNumberOfPoints()): - inserted: bool = merge_points.InsertUniquePoint( inData.GetPoints().GetPoint(v), ptId) + countD: int = 0 # total number of colocated points + for v in range(input.GetNumberOfPoints()): + inserted: bool = pointsLocator.InsertUniquePoint( input.GetPoints().GetPoint(v), ptId) if inserted: vertexCount.InsertNextValue(1) else: vertexCount.SetValue( ptId, vertexCount.GetValue(ptId) + 1) countD = countD + 1 - - output.SetPoints(merge_points.GetLocatorPoints()) + vertexMap += [ptId.get()] + + output.SetPoints(pointsLocator.GetLocatorPoints()) # copy point attributes - output.GetPointData().DeepCopy(inData.GetPointData()) + output.GetPointData().DeepCopy(input.GetPointData()) # add the array to points data output.GetPointData().AddArray(vertexCount) + return vertexMap + + def setCells(self :Self, + input: vtkUnstructuredGrid, + output: vtkUnstructuredGrid, + vertexMap: list[int]) ->bool: + """Set cell point ids and attributes to output mesh. + + Args: + input (vtkUnstructuredGrid): input mesh + output (vtkUnstructuredGrid): output mesh + vertexMap (list[int)]): list containing new point ids + + Returns: + bool: True if calculation successfully ended. + """ + nbCells: int = input.GetNumberOfCells() + nbPoints: int = output.GetNumberOfPoints() + assert np.unique(vertexMap).size == nbPoints, "The size of the list of point ids must be equal to the number of points." + cellTypes: vtkCellTypes = vtkCellTypes() + input.GetCellTypes(cellTypes) + output.Allocate(nbCells) + # create mesh cells + for cellId in range(nbCells): + cell: vtkCell = input.GetCell(cellId) + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for ptId in range(cell.GetNumberOfPoints()): + ptIdOld: int = cell.GetPointId(ptId) + ptIdNew: int = vertexMap[ptIdOld] + cellsID.InsertNextId(ptIdNew) + output.InsertNextCell(cell.GetCellType(), cellsID) # copy cell attributes - output.GetCellData().DeepCopy(inData.GetCellData()) - return 1 \ No newline at end of file + assert output.GetNumberOfCells() == nbCells, "Output and input mesh must have the same number of cells." + output.GetCellData().DeepCopy(input.GetCellData()) + return True diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index 99c1c5f1..90cdaac5 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -13,7 +13,7 @@ vtkInformationVector, ) from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkCellArray, vtkCellData, vtkCell, @@ -21,7 +21,7 @@ VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, ) -from vtkmodules.util.numpy_support import (numpy_to_vtk, +from vtkmodules.util.numpy_support import (numpy_to_vtk, vtk_to_numpy) __doc__ = """ @@ -50,7 +50,8 @@ class SplitMesh(VTKPythonAlgorithmBase): - def __init__(self): + def __init__(self) ->None: + """SplitMesh filter split each cell using edge centers.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") self.inData: vtkUnstructuredGrid @@ -72,7 +73,7 @@ def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> in if port == 0: info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - def RequestDataObject(self: Self, + def RequestDataObject(self: Self, request: vtkInformation, # noqa: F841 inInfoVec: list[ vtkInformationVector ], # noqa: F841 outInfoVec: vtkInformationVector, @@ -93,9 +94,9 @@ def RequestDataObject(self: Self, if outData is None or (not outData.IsA(inData.GetClassName())): outData = inData.NewInstance() outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) + return super().RequestDataObject(request, inInfoVec, outInfoVec) - def RequestData(self: Self, + def RequestData(self: Self, request: vtkInformation, # noqa: F841 inInfoVec: list[ vtkInformationVector ], # noqa: F841 outInfoVec: vtkInformationVector, @@ -112,21 +113,18 @@ def RequestData(self: Self, """ self.inData = self.GetInputData(inInfoVec, 0, 0) output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) - + assert self.inData is not None, "Input mesh is undefined." assert output is not None, "Output mesh is undefined." nb_cells: int = self.inData.GetNumberOfCells() nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad = self._get_cell_counts() - + self.points = vtkPoints() self.points.DeepCopy(self.inData.GetPoints()) nbNewPoints: int = 0 volumeCellCounts = nb_hex + nb_tet + nb_pyr - if volumeCellCounts > 0: - nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 - else: - nbNewPoints = nb_triangles * 3 + nb_quad * 5 + nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 if volumeCellCounts > 0 else nb_triangles * 3 + nb_quad * 5 nbNewCells: int = nb_hex * 8 + nb_tet * 8 + nb_pyr * 10 * nb_triangles * 4 + nb_quad * 4 self.points.Resize( self.inData.GetNumberOfPoints() + nbNewPoints) @@ -189,7 +187,7 @@ def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: if cellType == VTK_QUAD: nb_quad = nb_quad + 1 return nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad - + def _addMidPoint( self: Self, ptA :int, ptB :int) ->int: """Add a point at the center of the edge defined by input point ids. @@ -204,7 +202,7 @@ def _addMidPoint( self: Self, ptA :int, ptB :int) ->int: ptBCoor: npt.NDArray[np.float64] = np.array(self.points.GetPoint(ptB)) center: npt.NDArray[np.float64] = (ptACoor + ptBCoor) / 2. return self.points.InsertNextPoint(center[0], center[1], center[2]) - + def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: r"""Split a tetrahedron. @@ -238,7 +236,7 @@ def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: pt7: int = self._addMidPoint(pt0,pt3) pt8: int = self._addMidPoint(pt2,pt3) pt9: int = self._addMidPoint(pt1,pt3) - + self.cells.InsertNextCell(4, [pt0,pt4,pt6,pt7]) self.cells.InsertNextCell(4, [pt7,pt9,pt8,pt3]) self.cells.InsertNextCell(4, [pt9,pt4,pt5,pt1]) @@ -247,7 +245,7 @@ def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: self.cells.InsertNextCell(4, [pt4,pt8,pt7,pt9]) self.cells.InsertNextCell(4, [pt4,pt8,pt9,pt5]) self.cells.InsertNextCell(4, [pt5,pt4,pt8,pt6]) - for i in range(8): + for _ in range(8): self.originalId.InsertNextValue(index) self.cellTypes.extend([VTK_TETRA]*8) @@ -290,19 +288,19 @@ def _split_pyramid(self :Self, cell: vtkCell, index: int) -> None: pt11: int = self._addMidPoint(pt2,pt4) pt12: int = self._addMidPoint(pt3,pt4) pt13: int = self._addMidPoint(pt5,pt10) - + self.cells.InsertNextCell(5, [pt5,pt1,pt8,pt13,pt9]) self.cells.InsertNextCell(5, [pt13,pt8,pt2,pt10,pt11]) self.cells.InsertNextCell(5, [pt3,pt6,pt13,pt10,pt12]) self.cells.InsertNextCell(5, [pt6,pt0,pt5,pt13,pt7]) self.cells.InsertNextCell(5, [pt12,pt7,pt9,pt11,pt4]) self.cells.InsertNextCell(5, [pt11,pt9,pt7,pt12,pt13]) - + self.cells.InsertNextCell(4, [pt7,pt9,pt5,pt13]) self.cells.InsertNextCell(4, [pt9,pt11,pt8,pt13]) self.cells.InsertNextCell(4, [pt11,pt12,pt10,pt13]) self.cells.InsertNextCell(4, [pt12,pt7,pt6,pt13]) - for i in range(10): + for _ in range(10): self.originalId.InsertNextValue(index) self.cellTypes.extend([VTK_PYRAMID]*8) @@ -328,7 +326,6 @@ def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) pt1: int = cell.GetPointId(1) pt2: int = cell.GetPointId(2) @@ -356,7 +353,7 @@ def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: pt24: int = self._addMidPoint(pt14,pt15) pt25: int = self._addMidPoint(pt17,pt18) pt26: int = self._addMidPoint(pt22,pt23) - + self.cells.InsertNextCell(8, [pt10,pt21,pt26,pt22,pt4,pt16,pt25,pt17]) self.cells.InsertNextCell(8, [pt21,pt12,pt23,pt26,pt16,pt5,pt18,pt25]) self.cells.InsertNextCell(8, [pt0,pt8,pt20,pt9,pt10,pt21,pt26,pt22]) @@ -365,7 +362,7 @@ def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: self.cells.InsertNextCell(8, [pt26,pt23,pt14,pt24,pt25,pt18,pt6,pt19]) self.cells.InsertNextCell(8, [pt9,pt20,pt13,pt3,pt22,pt26,pt24,pt15]) self.cells.InsertNextCell(8, [pt20,pt11,pt2,pt13,pt26,pt23,pt14,pt24]) - for i in range(8): + for _ in range(8): self.originalId.InsertNextValue(index) self.cellTypes.extend([VTK_HEXAHEDRON]*8) @@ -375,12 +372,12 @@ def _split_triangle(self :Self, cell: vtkCell, index: int) -> None: Let's suppose an input triangle composed of nodes (0, 1, 2), the cell is splitted in 3 triangles using edge centers. - 2 - |\ - | \ - 5 4 - | \ - | \ + 2 + |\ + | \ + 5 4 + | \ + | \ 0-----3----1 Args: @@ -393,12 +390,12 @@ def _split_triangle(self :Self, cell: vtkCell, index: int) -> None: pt3: int = self._addMidPoint(pt0,pt1) pt4: int = self._addMidPoint(pt1,pt2) pt5: int = self._addMidPoint(pt0,pt2) - + self.cells.InsertNextCell(3, [pt0,pt3,pt5]) self.cells.InsertNextCell(3, [pt3,pt1,pt4]) self.cells.InsertNextCell(3, [pt5,pt4,pt2]) self.cells.InsertNextCell(3, [pt3,pt4,pt5]) - for i in range(4): + for _ in range(4): self.originalId.InsertNextValue(index) self.cellTypes.extend([VTK_TRIANGLE]*4) @@ -420,7 +417,6 @@ def _split_quad(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) pt1: int = cell.GetPointId(1) pt2: int = cell.GetPointId(2) @@ -430,16 +426,16 @@ def _split_quad(self :Self, cell: vtkCell, index: int) -> None: pt6: int = self._addMidPoint(pt2,pt3) pt7: int = self._addMidPoint(pt3,pt0) pt8: int = self._addMidPoint(pt7,pt5) - + self.cells.InsertNextCell(4, [pt0,pt4,pt8,pt7]) self.cells.InsertNextCell(4, [pt4,pt1,pt5,pt8]) self.cells.InsertNextCell(4, [pt8,pt5,pt2,pt6]) self.cells.InsertNextCell(4, [pt7,pt8,pt6,pt3]) - for i in range(4): + for _ in range(4): self.originalId.InsertNextValue(index) self.cellTypes.extend([VTK_QUAD]*4) - def _transferCellArrays(self :Self, + def _transferCellArrays(self :Self, splittedMesh: vtkUnstructuredGrid ) ->bool: """Transfer arrays from input mesh to splitted mesh. @@ -474,4 +470,4 @@ def _transferCellArrays(self :Self, cellDataSplitted.AddArray(newArray) cellDataSplitted.Modified() splittedMesh.Modified() - return True \ No newline at end of file + return True diff --git a/geos-mesh/src/geos/mesh/processing/helpers.py b/geos-mesh/src/geos/mesh/processing/helpers.py index bf3f3578..2122aedf 100644 --- a/geos-mesh/src/geos/mesh/processing/helpers.py +++ b/geos-mesh/src/geos/mesh/processing/helpers.py @@ -8,7 +8,7 @@ from vtkmodules.util.numpy_support import numpy_to_vtk from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkIncrementalOctreePointLocator ) @@ -64,7 +64,7 @@ def createSingleCellMesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtk mesh.InsertNextCell(cellType, cellsID) return mesh -def createMultiCellMesh(cellTypes: list[int], +def createMultiCellMesh(cellTypes: list[int], cellPtsCoord: list[npt.NDArray[np.float64]], sharePoints: bool = True ) ->vtkUnstructuredGrid: @@ -90,15 +90,15 @@ def createMultiCellMesh(cellTypes: list[int], mesh.SetPoints(points) mesh.Allocate(nbCells) # create mesh cells - for cellType, ptsId in zip(cellTypes, cellVertexMapAll, strict=True): + for cellType, ptsId in zip(cellTypes, cellVertexMapAll, strict=True): # create cells from point ids cellsID: vtkIdList = vtkIdList() for ptId in ptsId: - cellsID.InsertNextId(ptId) + cellsID.InsertNextId(ptId) mesh.InsertNextCell(cellType, cellsID) return mesh -def createVertices(cellPtsCoord: list[npt.NDArray[np.float64]], +def createVertices(cellPtsCoord: list[npt.NDArray[np.float64]], shared: bool = True ) -> tuple[vtkPoints, list[tuple[int, ...]]]: """Create vertices from cell point coordinates list. diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py index ea8db4c0..c37ba546 100644 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -6,129 +6,117 @@ import numpy as np import numpy.typing as npt import pytest -from typing_extensions import Self from typing import ( Iterator, ) -from geos.mesh.processing.helpers import create_single_cell_mesh +from geos.mesh.processing.helpers import createMultiCellMesh from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkCellArray, - vtkCellData, vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, + VTK_TETRA, VTK_HEXAHEDRON, ) from vtkmodules.vtkCommonCore import ( vtkPoints, vtkIdList, - vtkDataArray, ) - -#from vtkmodules.vtkFiltersSources import vtkCubeSource - - data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") +data_filename_all: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") +celltypes_all: tuple[int] = (VTK_TETRA, VTK_HEXAHEDRON) +nbPtsCell_all: tuple[int] = (4, 8) +# expected results if shared vertices +hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.5], [0.5, 0.0, 0.5], [0.5, 0.5, 0.5], [0.0, 0.5, 0.5], [0.0, 0.0, 1.0], [0.5, 0.0, 1.0], [0.5, 0.5, 1.0], [0.0, 0.5, 1.0], [1.0, 0.0, 0.5], [1.0, 0.5, 0.5], [1.0, 0.0, 1.0], [1.0, 0.5, 1.0], [0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0], [1.0, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 1.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 0.5], [1.0, 1.0, 1.0], [0.5, 1.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0]], np.float64) +tetra_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.0, 0.0, 0.5], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.5], [0.0, 1.0, 0.0], [0.5, 0.0, 0.5], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]], np.float64) +points_out_all = (tetra_points_out, hexa_points_out) - -data_filename_all = (tetra_path, hexa_path, pyramid_path, triangle_path, quad_path) -cell_types_all = (tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type) -points_out_all = (tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out) -cells_out_all = (tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out) +tetra_cellPtsIdsExp = [(0, 1, 2, 3), (3, 4, 5, 6), (4, 1, 7, 8), (7, 2, 5, 9), (2, 5, 3, 1), (1, 5, 3, 4), (1, 5, 4, 7), (7, 1, 5, 2)] +hexa_cellPtsIdsExp = [(0, 1, 2, 3, 4, 5, 6, 7), (1, 8, 9, 2, 5, 10, 11, 6), (12, 13, 14, 15, 0, 1, 2, 3), (13, 16, 17, 14, 1, 8, 9, 2), (3, 2, 18, 19, 7, 6, 20, 21), (2, 9, 22, 18, 6, 11, 23, 20), (15, 14, 24, 25, 3, 2, 18, 19), (14, 17, 26, 24, 2, 9, 22, 18)] +cellPtsIdsExp_all = (tetra_cellPtsIdsExp, hexa_cellPtsIdsExp) @dataclass( frozen=True ) class TestCase: - """Test case""" + """Test case.""" __test__ = False - #: VTK cell type - cellType: int - #: mesh + #: input mesh mesh: vtkUnstructuredGrid - #: expected new point coordinates + #: expected points pointsExp: npt.NDArray[np.float64] - #: expected new cell point ids - cellsExp: list[int] - + #: expected cell point ids + cellPtsIdsExp: tuple[tuple[int]] + -def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: +def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, data_path, pointsExp, cellsExp in zip( - cell_types_all, data_filename_all, points_out_all, cells_out_all, - strict=True): - ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, data_path), dtype=float, delimiter=',') - mesh: vtkUnstructuredGrid = create_single_cell_mesh(cellType, ptsCoord) - yield TestCase( cellType, mesh, pointsExp, cellsExp ) - - -ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] -@pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) -def test_single_cell_split( test_case: TestCase ): - """Test of SplitMesh filter with meshes composed of a single cell. + for path, celltype, nbPtsCell, pointsExp, cellPtsIdsExp in zip(data_filename_all, celltypes_all, nbPtsCell_all, points_out_all, cellPtsIdsExp_all, strict=True): + # all points coordinates + ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + # split array to get a list of coordinates per cell + cellPtsCoords = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] + nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) + cellTypes = nbCells * [celltype] + mesh: vtkUnstructuredGrid = createMultiCellMesh(cellTypes, cellPtsCoords, False) + assert mesh is not None, "Input mesh is undefined." + yield TestCase( mesh, pointsExp, cellPtsIdsExp ) + + +ids: list[str] = [os.path.splitext(name)[0] for name in data_filename_all] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_mergeColocatedPoints( test_case: TestCase ) ->None: + """Test of MergeColocatedPoints filter.. Args: test_case (TestCase): test case """ - cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) - filter :MergeColocatedPoints = MergeColocatedPoints() - filter.SetInputDataObject(test_case.mesh) + filter = MergeColocatedPoints() + filter.SetInputDataObject(0, test_case.mesh) filter.Update() - output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) - assert output is not None, "Output mesh is undefined." + output: vtkUnstructuredGrid = filter.GetOutputDataObject(0) + # tests on points pointsOut: vtkPoints = output.GetPoints() - assert pointsOut is not None, "Points from output mesh are undefined." - assert pointsOut.GetNumberOfPoints() == test_case.pointsExp.shape[0], f"Number of points is expected to be {test_case.pointsExp.shape[0]}." + assert pointsOut is not None, "Output points is undefined." + nbPtsExp: int = test_case.pointsExp.shape[0] + assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords: ", cellTypeName, pointCoords.tolist()) - assert np.array_equal(pointCoords.ravel(), test_case.pointsExp.ravel()), "Points coordinates mesh are wrong." + print("Points coords Obs: ", pointCoords.tolist()) + assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." + # tests on cells cellsOut: vtkCellArray = output.GetCells() - typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) - print("typesArray0", cellTypeName, typesArray0) - assert cellsOut is not None, "Cells from output mesh are undefined." - assert cellsOut.GetNumberOfCells() == len(test_case.cellsExp), f"Number of cells is expected to be {len(test_case.cellsExp)}." + nbCells: int = test_case.mesh.GetNumberOfCells() + assert cellsOut.GetNumberOfCells() == nbCells, f"Number of cells is expected to be {nbCells}." + # check cell types - types: vtkCellTypes = vtkCellTypes() - output.GetCellTypes(types) - assert types is not None, "Cell types must be defined" - typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) - - print("typesArray", cellTypeName, typesArray) - assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"All cells must be {cellTypeName}" - - for i in range(cellsOut.GetNumberOfCells()): + typesInput: vtkCellTypes = vtkCellTypes() + test_case.mesh.GetCellTypes(typesInput) + assert typesInput is not None, "Input cell types must be defined" + typesOutput: vtkCellTypes = vtkCellTypes() + output.GetCellTypes(typesOutput) + assert typesOutput is not None, "Output cell types must be defined" + typesArrayInput: npt.NDArray[np.int64] = vtk_to_numpy(typesInput.GetCellTypesArray()) + typesArrayOutput: npt.NDArray[np.int64] = vtk_to_numpy(typesOutput.GetCellTypesArray()) + assert np.array_equal(typesArrayInput, typesArrayOutput), "Cell types are wrong" + + for cellId in range(output.GetNumberOfCells()): ptIds = vtkIdList() - cellsOut.GetCellAtId(i, ptIds) - cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] - nbPtsExp: int = len(test_case.cellsExp[i]) - print("cell type", cellTypeName, i, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(i))) - print("cellsOutObs: ", cellTypeName, i, cellsOutObs) + cellsOut.GetCellAtId(cellId, ptIds) + cellsOutObs: tuple[int] = tuple([ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())]) + print("cellsOutObs: ", cellsOutObs) + nbCellPts: int = len(test_case.cellPtsIdsExp[cellId]) assert ptIds is not None, "Point ids must be defined" - assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." - assert cellsOutObs == test_case.cellsExp[i], "Cell point ids are wrong." - - # test originalId array was created - cellData: vtkCellData = output.GetCellData() - assert cellData is not None, "Cell data should be defined." - array: vtkDataArray = cellData.GetArray("OriginalID") - assert array is not None, "OriginalID array should be defined." - - # test other arrays were transferred - cellDataInput: vtkCellData = test_case.mesh.GetCellData() - assert cellDataInput is not None, "Cell data from input mesh should be defined." - nbArrayInput: int = cellDataInput.GetNumberOfArrays() - nbArraySplited: int = cellData.GetNumberOfArrays() - assert nbArraySplited == nbArrayInput + 1, f"Number of arrays should be {nbArrayInput + 1}" - - + assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." + assert cellsOutObs == test_case.cellPtsIdsExp[cellId], "Cell point ids are wrong." + + diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index 23c68476..699b1c46 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -15,7 +15,7 @@ from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkCellArray, vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID @@ -24,7 +24,6 @@ from vtkmodules.vtkCommonCore import ( vtkPoints, vtkIdList, - reference, ) # inputs @@ -36,7 +35,7 @@ @dataclass( frozen=True ) class TestCase: - """Test case""" + """Test case.""" __test__ = False #: VTK cell type cellType: int @@ -54,11 +53,11 @@ def __generate_test_data() -> Iterator[ TestCase ]: strict=True): cell: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') yield TestCase( cellType, cell ) - + ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_type_all] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createSingleCellMesh( test_case: TestCase ): +def test_createSingleCellMesh( test_case: TestCase ) ->None: """Test of createSingleCellMesh method. Args: @@ -87,14 +86,14 @@ def test_createSingleCellMesh( test_case: TestCase ): output.GetCellTypes(types) assert types is not None, "Cell types must be defined" typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) - + print("typesArray", cellTypeName, typesArray) assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"Cell must be {cellTypeName}" - + ptIds = vtkIdList() cellsOut.GetCellAtId(0, ptIds) cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] - + print("cell type", cellTypeName, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(0))) print("cellsOutObs: ", cellTypeName, cellsOutObs) assert ptIds is not None, "Point ids must be defined" diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 6044ce99..35a49c22 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -15,7 +15,7 @@ from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkCellArray, vtkCellTypes, VTK_TETRA, VTK_HEXAHEDRON, @@ -45,7 +45,7 @@ @dataclass( frozen=True ) class TestCase: - """Test case""" + """Test case.""" __test__ = False #: cell types cellTypes: list[int] @@ -75,11 +75,11 @@ def __generate_test_data() -> Iterator[ TestCase ]: pointsExp: npt.NDArray[np.float64] = pointsExp0 if shared else ptsCoords cellPtsIdsExp = cellPtsIdsExp0 if shared else [tuple(range(i*nbPtsCell, (i+1)*nbPtsCell, 1)) for i in range(nbCells)] yield TestCase( cellTypes, cellPtsCoords, shared, pointsExp, cellPtsIdsExp ) - + ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createVertices( test_case: TestCase ): +def test_createVertices( test_case: TestCase )->None: """Test of createVertices method. Args: @@ -100,7 +100,7 @@ def test_createVertices( test_case: TestCase ): ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createMultiCellMesh( test_case: TestCase ): +def test_createMultiCellMesh( test_case: TestCase )->None: """Test of createMultiCellMesh method. Args: @@ -108,7 +108,7 @@ def test_createMultiCellMesh( test_case: TestCase ): """ output: vtkUnstructuredGrid = createMultiCellMesh(test_case.cellTypes, test_case.cellPtsCoords, test_case.share) assert output is not None, "Output mesh is undefined." - + # tests on points pointsOut: vtkPoints = output.GetPoints() assert pointsOut is not None, "Output points is undefined." @@ -123,14 +123,14 @@ def test_createMultiCellMesh( test_case: TestCase ): assert cellsOut is not None, "Cells from output mesh are undefined." nbCells: int = len(test_case.cellPtsCoords) assert cellsOut.GetNumberOfCells() == nbCells, f"Number of cells is expected to be {nbCells}." - + # check cell types types: vtkCellTypes = vtkCellTypes() output.GetCellTypes(types) assert types is not None, "Cell types must be defined" typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) print("typesArray.size ", typesArray.size) - assert (typesArray.size == 1) and (typesArray[0] == test_case.cellTypes[0]), f"Cell types are wrong" + assert (typesArray.size == 1) and (typesArray[0] == test_case.cellTypes[0]), "Cell types are wrong" for cellId in range(output.GetNumberOfCells()): ptIds = vtkIdList() @@ -142,7 +142,7 @@ def test_createMultiCellMesh( test_case: TestCase ): assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." assert cellsOutObs == test_case.cellPtsIdsExp[cellId], "Cell point ids are wrong." -def test_getBounds( ): +def test_getBounds( )->None: """Test of getBounds method.""" # input cellPtsCoord: list[npt.NDArray[np.float64]] = [ @@ -156,4 +156,3 @@ def test_getBounds( ): boundsObs: list[float] = getBounds(cellPtsCoord) assert boundsExp == boundsObs, f"Expected bounds are {boundsExp}." - \ No newline at end of file From 606379b74cf1d0c4a851189dd6ec5a1767c1dc07 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 15 Apr 2025 09:25:20 +0200 Subject: [PATCH 07/71] add MeshIdCard class and tests + linting --- geos-mesh/src/geos/mesh/model/MeshIdCard.py | 96 ++++++++++ .../mesh/processing/MergeColocatedPoints.py | 4 +- .../src/geos/mesh/processing/SplitMesh.py | 4 +- geos-mesh/tests/test_MergeColocatedPoints.py | 2 +- geos-mesh/tests/test_MeshIdCard.py | 172 ++++++++++++++++++ geos-mesh/tests/test_SplitMesh.py | 2 +- .../test_helpers_createSingleCellMesh.py | 2 +- .../tests/test_helpers_createVertices.py | 2 +- 8 files changed, 276 insertions(+), 8 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/model/MeshIdCard.py create mode 100644 geos-mesh/tests/test_MeshIdCard.py diff --git a/geos-mesh/src/geos/mesh/model/MeshIdCard.py b/geos-mesh/src/geos/mesh/model/MeshIdCard.py new file mode 100644 index 00000000..c89e22e5 --- /dev/null +++ b/geos-mesh/src/geos/mesh/model/MeshIdCard.py @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay +import numpy as np +import numpy.typing as npt +from typing_extensions import Self +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_LINE, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_NUMBER_OF_CELL_TYPES +) + + +__doc__ = """ +MeshIdCard stores the number of elements of each type. +""" + +class MeshIdCard(): + def __init__(self: Self ) ->None: + """MeshIdCard stores the number of cells of each type.""" + self._counts: npt.NDArray[np.int64] = np.zeros(VTK_NUMBER_OF_CELL_TYPES) + + def __str__(self: Self) ->str: + """Overload __str__ method. + + Returns: + str: card string. + """ + return self.print() + + def add(self: Self, cellType: int) ->None: + """Increment the number of cell of input type. + + Args: + cellType (int): cell type + """ + self._counts[cellType] += 1 + self._updateGeneralCounts(cellType, 1) + + def setTypeCount(self: Self, cellType: int, count: int) ->None: + """Set the number of cells of input type. + + Args: + cellType (int): cell type + count (int): number of cells + """ + prevCount = self._counts[cellType] + self._counts[cellType] = count + self._updateGeneralCounts(cellType, count - prevCount) + + def getTypeCount(self: Self, cellType: int)->int: + """Get the number of cells of input type. + + Args: + cellType (int): cell type + + Returns: + int: number of cells + """ + return self._counts[cellType] + + def _updateGeneralCounts(self: Self, cellType: int, count: int) ->None: + """Update generic type counters. + + Args: + cellType (int): cell type + count (int): count increment + """ + if (cellType != VTK_POLYGON) and (vtkCellTypes.GetDimension(cellType) == 2): + self._counts[VTK_POLYGON] += count + if (cellType != VTK_POLYHEDRON) and (vtkCellTypes.GetDimension(cellType) == 3): + self._counts[VTK_POLYHEDRON] += count + + + def print(self: Self) ->str: + """Print card string. + + Returns: + str: card string. + """ + card: str = "" + card += "| | |\n" + card += "| - | - |\n" + card += f"| **Total Number of Vertices** | {int(self._counts[VTK_VERTEX]):12} |\n" + card += f"| **Total Number of Edges** | {int(self._counts[VTK_LINE]):12} |\n" + card += f"| **Total Number of Faces** | {int(self._counts[VTK_POLYGON]):12} |\n" + card += f"| **Total Number of Polyhedron** | {int(self._counts[VTK_POLYHEDRON]):12} |\n" + card += f"| **Total Number of Cells** | {int(self._counts[VTK_POLYHEDRON]+self._counts[VTK_POLYGON]):12} |\n" + card += "| - | - |\n" + for cellType in (VTK_TRIANGLE, VTK_QUAD): + card += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(self._counts[cellType]):12} |\n" + for cellType in (VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON): + card += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(self._counts[cellType]):12} |\n" + return card + + + diff --git a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py index d69c46d2..14851c03 100644 --- a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py +++ b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay import numpy as np from typing_extensions import Self from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase @@ -49,7 +49,7 @@ class MergeColocatedPoints(VTKPythonAlgorithmBase): def __init__(self: Self ) ->None: - """MergeColocatedPoints filter merge duplacted points of the input mesh.""" + """MergeColocatedPoints filter merges duplacted points of the input mesh.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index 90cdaac5..0b977f3b 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay import numpy as np import numpy.typing as npt from typing_extensions import Self @@ -51,7 +51,7 @@ class SplitMesh(VTKPythonAlgorithmBase): def __init__(self) ->None: - """SplitMesh filter split each cell using edge centers.""" + """SplitMesh filter splits each cell using edge centers.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") self.inData: vtkUnstructuredGrid diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py index c37ba546..fee9ea61 100644 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -1,4 +1,4 @@ -# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-FileContributor: Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file import os diff --git a/geos-mesh/tests/test_MeshIdCard.py b/geos-mesh/tests/test_MeshIdCard.py new file mode 100644 index 00000000..bcff698f --- /dev/null +++ b/geos-mesh/tests/test_MeshIdCard.py @@ -0,0 +1,172 @@ +# SPDX-FileContributor: Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +from dataclasses import dataclass +import pytest +from typing import ( + Iterator, +) + +from geos.mesh.model.MeshIdCard import MeshIdCard + +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_VERTEX, VTK_LINE +) + + +# inputs +nbVertex_all: tuple[int] = (3, 4, 5, 8, 10, 20) +nbEdges_all: tuple[int] = (3, 4, 6, 8, 12, 30) +nbTri_all: tuple[int] = (1, 0, 3, 0, 0, 4) +nbQuad_all: tuple[int] = (0, 1, 0, 6, 0, 3) +nbTetra_all: tuple[int] = (0, 0, 1, 0, 4, 0) +nbPyr_all: tuple[int] = (0, 0, 0, 0, 0, 4) +nbWed_all: tuple[int] = (0, 0, 0, 0, 0, 2) +nbHexa_all: tuple[int] = (0, 0, 0, 1, 0, 5) + +@dataclass( frozen=True ) +class TestCase: + """Test case.""" + __test__ = False + nbVertex: tuple[int] + nbEdges: tuple[int] + nbTri: tuple[int] + nbQuad: tuple[int] + nbTetra: tuple[int] + nbPyr: tuple[int] + nbWed: tuple[int] + nbHexa: tuple[int] + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for nbVertex, nbEdges, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa in zip( + nbVertex_all, nbEdges_all, nbTri_all, nbQuad_all, nbTetra_all, nbPyr_all, nbWed_all, nbHexa_all, + strict=True): + yield TestCase( nbVertex, nbEdges, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa ) + +def __get_expected_card(nbVertex: int, nbEdges: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: + nbFaces: int = nbTri + nbQuad + nbPolyhedre: int = nbTetra + nbPyr + nbHexa + nbWed + cardExp: str = "" + cardExp += "| | |\n" + cardExp += "| - | - |\n" + cardExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" + cardExp += f"| **Total Number of Edges** | {int(nbEdges):12} |\n" + cardExp += f"| **Total Number of Faces** | {int(nbFaces):12} |\n" + cardExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" + cardExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" + cardExp += "| - | - |\n" + for cellType, nb in zip((VTK_TRIANGLE, VTK_QUAD, ), (nbTri, nbQuad,), strict=True): + cardExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" + for cellType, nb in zip((VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON), (nbTetra, nbPyr, nbWed, nbHexa), strict=True): + cardExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" + return cardExp + +def test_MeshIdCard_init( ) ->None: + """Test of MeshIdCard . + + Args: + test_case (TestCase): test case + """ + card: MeshIdCard = MeshIdCard() + assert card.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" + assert card.getTypeCount(VTK_LINE) == 0, "Number of edges must be 0" + assert card.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" + assert card.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" + assert card.getTypeCount(VTK_TETRA) == 0, "Number of tetrahedra must be 0" + assert card.getTypeCount(VTK_PYRAMID) == 0, "Number of pyramids must be 0" + assert card.getTypeCount(VTK_WEDGE) == 0, "Number of wedges must be 0" + assert card.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" + +@pytest.mark.parametrize( "test_case", __generate_test_data()) +def test_MeshIdCard_add( test_case: TestCase ) ->None: + """Test of MeshIdCard . + + Args: + test_case (TestCase): test case + """ + card: MeshIdCard = MeshIdCard() + for _ in range(test_case.nbVertex): + card.add(VTK_VERTEX) + for _ in range(test_case.nbEdges): + card.add(VTK_LINE) + for _ in range(test_case.nbTri): + card.add(VTK_TRIANGLE) + for _ in range(test_case.nbQuad): + card.add(VTK_QUAD) + for _ in range(test_case.nbTetra): + card.add(VTK_TETRA) + for _ in range(test_case.nbPyr): + card.add(VTK_PYRAMID) + for _ in range(test_case.nbWed): + card.add(VTK_WEDGE) + for _ in range(test_case.nbHexa): + card.add(VTK_HEXAHEDRON) + + assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert card.getTypeCount(VTK_LINE) == test_case.nbEdges, f"Number of edges must be {test_case.nbEdges}" + assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert card.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert card.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + + +@pytest.mark.parametrize( "test_case", __generate_test_data()) +def test_MeshIdCard_setCount( test_case: TestCase ) ->None: + """Test of MeshIdCard . + + Args: + test_case (TestCase): test case + """ + card: MeshIdCard = MeshIdCard() + card.setTypeCount(VTK_VERTEX, test_case.nbVertex) + card.setTypeCount(VTK_LINE, test_case.nbEdges) + card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + card.setTypeCount(VTK_QUAD, test_case.nbQuad) + card.setTypeCount(VTK_TETRA, test_case.nbTetra) + card.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + card.setTypeCount(VTK_WEDGE, test_case.nbWed) + card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert card.getTypeCount(VTK_LINE) == test_case.nbEdges, f"Number of edges must be {test_case.nbEdges}" + assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert card.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert card.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + +#cpt = 0 +@pytest.mark.parametrize( "test_case", __generate_test_data()) +def test_MeshIdCard_print( test_case: TestCase ) ->None: + """Test of MeshIdCard . + + Args: + test_case (TestCase): test case + """ + card: MeshIdCard = MeshIdCard() + card.setTypeCount(VTK_VERTEX, test_case.nbVertex) + card.setTypeCount(VTK_LINE, test_case.nbEdges) + card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + card.setTypeCount(VTK_QUAD, test_case.nbQuad) + card.setTypeCount(VTK_TETRA, test_case.nbTetra) + card.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + card.setTypeCount(VTK_WEDGE, test_case.nbWed) + card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + line: str = card.print() + lineExp: str = __get_expected_card(test_case.nbVertex, test_case.nbEdges, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) + # global cpt + # with open(f"meshIdCard_{cpt}.txt", 'w') as fout: + # fout.write(line) + # fout.write("------------------------------------------------------------\n") + # fout.write(lineExp) + # cpt += 1 + assert line == lineExp, "Output card string differs from expected value." diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 7c5b28fc..a1e7f4bf 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -1,4 +1,4 @@ -# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-FileContributor: Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file import os diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index 699b1c46..ab7c8ef0 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -1,4 +1,4 @@ -# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-FileContributor: Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file import os diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 35a49c22..2f7e2e69 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -1,4 +1,4 @@ -# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay +# SPDX-FileContributor: Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file import os From 4c680852a48052724ebe65845c17cbf38069338c Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 15 Apr 2025 18:15:15 +0200 Subject: [PATCH 08/71] create vtk filters to compute mesh stats --- geos-mesh/src/geos/mesh/model/MeshIdCard.py | 26 +++- .../src/geos/mesh/stats/ComputeMeshStats.py | 132 ++++++++++++++++++ geos-mesh/tests/test_ComputeMeshStats.py | 132 ++++++++++++++++++ geos-mesh/tests/test_MeshIdCard.py | 74 ++++++---- geos-mesh/tests/test_SplitMesh.py | 17 ++- .../tests/test_helpers_createVertices.py | 2 +- 6 files changed, 342 insertions(+), 41 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py create mode 100644 geos-mesh/tests/test_ComputeMeshStats.py diff --git a/geos-mesh/src/geos/mesh/model/MeshIdCard.py b/geos-mesh/src/geos/mesh/model/MeshIdCard.py index c89e22e5..1e176115 100644 --- a/geos-mesh/src/geos/mesh/model/MeshIdCard.py +++ b/geos-mesh/src/geos/mesh/model/MeshIdCard.py @@ -6,7 +6,7 @@ from typing_extensions import Self from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_LINE, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_NUMBER_OF_CELL_TYPES + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_NUMBER_OF_CELL_TYPES ) @@ -27,7 +27,23 @@ def __str__(self: Self) ->str: """ return self.print() - def add(self: Self, cellType: int) ->None: + def __add__(self: Self, other :Self) ->Self: + """Addition operator. + + MeshIdCard addition consists in suming counts. + + Args: + other (Self): other MeshIdCard object + + Returns: + Self: new MeshIdCard object + """ + assert isinstance(other, MeshIdCard), "Other object must be a MeshIdCard." + newCard: MeshIdCard = MeshIdCard() + newCard._counts = self._counts + other._counts + return newCard + + def addType(self: Self, cellType: int) ->None: """Increment the number of cell of input type. Args: @@ -56,7 +72,7 @@ def getTypeCount(self: Self, cellType: int)->int: Returns: int: number of cells """ - return self._counts[cellType] + return int(self._counts[cellType]) def _updateGeneralCounts(self: Self, cellType: int, count: int) ->None: """Update generic type counters. @@ -70,7 +86,6 @@ def _updateGeneralCounts(self: Self, cellType: int, count: int) ->None: if (cellType != VTK_POLYHEDRON) and (vtkCellTypes.GetDimension(cellType) == 3): self._counts[VTK_POLYHEDRON] += count - def print(self: Self) ->str: """Print card string. @@ -81,8 +96,7 @@ def print(self: Self) ->str: card += "| | |\n" card += "| - | - |\n" card += f"| **Total Number of Vertices** | {int(self._counts[VTK_VERTEX]):12} |\n" - card += f"| **Total Number of Edges** | {int(self._counts[VTK_LINE]):12} |\n" - card += f"| **Total Number of Faces** | {int(self._counts[VTK_POLYGON]):12} |\n" + card += f"| **Total Number of Polygon** | {int(self._counts[VTK_POLYGON]):12} |\n" card += f"| **Total Number of Polyhedron** | {int(self._counts[VTK_POLYHEDRON]):12} |\n" card += f"| **Total Number of Cells** | {int(self._counts[VTK_POLYHEDRON]+self._counts[VTK_POLYGON]):12} |\n" card += "| - | - |\n" diff --git a/geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py b/geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py new file mode 100644 index 00000000..deccb8c6 --- /dev/null +++ b/geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py @@ -0,0 +1,132 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay +from typing_extensions import Self +from vtkmodules.vtkFiltersCore import vtkFeatureEdges +from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCell, + VTK_VERTEX +) + +from geos.mesh.model.MeshIdCard import MeshIdCard + +__doc__ = """ +ComputeMeshStats module is a vtk filter that computes mesh stats. + +Mesh stats include the number of elements of each type. + +Filter input is a vtkUnstructuredGrid. + +To use the filter: + +.. code-block:: python + + from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats + + # filter inputs + input :vtkUnstructuredGrid + + # instanciate the filter + filter :ComputeMeshStats = ComputeMeshStats() + # set input data object + filter.SetInputDataObject(input) + # do calculations + filter.Update() + # get output mesh id card + output :MeshIdCard = filter.GetMeshIdCard() +""" +class ComputeMeshStats(VTKPythonAlgorithmBase): + + def __init__(self) ->None: + """ComputeMeshStats filter computes mesh stats.""" + super().__init__(nInputPorts=1, nOutputPorts=0) + self.card: MeshIdCard + + def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestInformation. + + Args: + port (int): input port + info (vtkInformationVector): info + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + if port == 0: + info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + + def RequestDataObject(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + assert inData is not None + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) + assert inData is not None, "Input mesh is undefined." + + self.card = MeshIdCard() + self.card.setTypeCount(VTK_VERTEX, inData.GetNumberOfPoints()) + for i in range(inData.GetNumberOfCells()): + cell: vtkCell = inData.GetCell(i) + self.card.addType(cell.GetCellType()) + return 1 + + def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: + """Compute the number of edges of the mesh. + + Args: + mesh (vtkUnstructuredGrid): input mesh + + Returns: + int: number of edges + """ + edges: vtkFeatureEdges = vtkFeatureEdges() + edges.BoundaryEdgesOn() + edges.ManifoldEdgesOn() + edges.FeatureEdgesOff() + edges.NonManifoldEdgesOff() + edges.SetInputDataObject(mesh) + edges.Update() + return edges.GetOutput().GetNumberOfCells() + + def GetMeshIdCard(self :Self) -> MeshIdCard: + """Get MeshIdCard object. + + Returns: + MeshIdCard: MeshIdCard object. + """ + return self.card diff --git a/geos-mesh/tests/test_ComputeMeshStats.py b/geos-mesh/tests/test_ComputeMeshStats.py new file mode 100644 index 00000000..85352db3 --- /dev/null +++ b/geos-mesh/tests/test_ComputeMeshStats.py @@ -0,0 +1,132 @@ +# SPDX-FileContributor: Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import os +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pytest +from typing import ( + Iterator, +) + +from geos.mesh.processing.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats +from geos.mesh.model.MeshIdCard import MeshIdCard + +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellTypes, + vtkCell, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, +) + +#from vtkmodules.vtkFiltersSources import vtkCubeSource + + +data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") + +filename_all: tuple[str,...] = ("triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", "hexa_cell.csv") +cellType_all: tuple[int, ...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON) + +filename_all2: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") +cellType_all2: tuple[int, ...] = (VTK_TETRA, VTK_HEXAHEDRON) +nbPtsCell_all2: tuple[int] = (4, 8) + +@dataclass( frozen=True ) +class TestCase: + """Test case.""" + __test__ = False + #: mesh + mesh: vtkUnstructuredGrid + + +def __generate_test_data_single_cell() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for cellType, filename in zip(cellType_all, filename_all, strict=True): + ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, filename), dtype=float, delimiter=',') + mesh: vtkUnstructuredGrid = createSingleCellMesh(cellType, ptsCoord) + yield TestCase( mesh ) + +ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cellType_all] +@pytest.mark.parametrize( "test_case", __generate_test_data_single_cell(), ids=ids ) +def test_ComputeMeshStats_single( test_case: TestCase ) ->None: + """Test of ComputeMeshStats filter. + + Args: + test_case (TestCase): test case + """ + filter :ComputeMeshStats = ComputeMeshStats() + filter.SetInputDataObject(test_case.mesh) + filter.Update() + card :MeshIdCard = filter.GetMeshIdCard() + assert card is not None, "MeshIdCard is undefined" + + assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + + # compute counts for each type of cell + elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) + counts: npt.NDArray[np.int64] = np.zeros(len(elementTypes)) + for i in range(test_case.mesh.GetNumberOfCells()): + cell: vtkCell = test_case.mesh.GetCell(i) + index: int = elementTypes.index(cell.GetCellType()) + counts[index] += 1 + # check cell type counts + for i, elementType in enumerate(elementTypes): + assert int(card.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + + nbPolygon: int = counts[0] + counts[1] + nbPolyhedra: int = np.sum(counts[2:]) + assert int(card.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int(card.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + +def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for cellType, filename, nbPtsCell in zip(cellType_all2, filename_all2, nbPtsCell_all2, strict=True): + ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, filename), dtype=float, delimiter=',') + # split array to get a list of coordinates per cell + cellPtsCoords: list[npt.NDArray[np.float64]]= [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] + nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) + cellTypes = nbCells * [cellType] + mesh: vtkUnstructuredGrid = createMultiCellMesh(cellTypes, cellPtsCoords, True) + yield TestCase( mesh ) + +ids2: list[str] = [os.path.splitext(name)[0] for name in filename_all2] +@pytest.mark.parametrize( "test_case", __generate_test_data_multi_cell(), ids=ids2 ) +def test_ComputeMeshStats_multi( test_case: TestCase ) ->None: + """Test of ComputeMeshStats filter. + + Args: + test_case (TestCase): test case + """ + filter :ComputeMeshStats = ComputeMeshStats() + filter.SetInputDataObject(test_case.mesh) + filter.Update() + card :MeshIdCard = filter.GetMeshIdCard() + assert card is not None, "MeshIdCard is undefined" + + assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + + # compute counts for each type of cell + elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) + counts: npt.NDArray[np.int64] = np.zeros(len(elementTypes)) + for i in range(test_case.mesh.GetNumberOfCells()): + cell: vtkCell = test_case.mesh.GetCell(i) + index: int = elementTypes.index(cell.GetCellType()) + counts[index] += 1 + # check cell type counts + for i, elementType in enumerate(elementTypes): + assert int(card.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + + nbPolygon: int = counts[0] + counts[1] + nbPolyhedra: int = np.sum(counts[2:]) + assert int(card.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int(card.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." diff --git a/geos-mesh/tests/test_MeshIdCard.py b/geos-mesh/tests/test_MeshIdCard.py index bcff698f..dc7b9e16 100644 --- a/geos-mesh/tests/test_MeshIdCard.py +++ b/geos-mesh/tests/test_MeshIdCard.py @@ -11,13 +11,12 @@ from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_VERTEX, VTK_LINE + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_VERTEX ) # inputs nbVertex_all: tuple[int] = (3, 4, 5, 8, 10, 20) -nbEdges_all: tuple[int] = (3, 4, 6, 8, 12, 30) nbTri_all: tuple[int] = (1, 0, 3, 0, 0, 4) nbQuad_all: tuple[int] = (0, 1, 0, 6, 0, 3) nbTetra_all: tuple[int] = (0, 0, 1, 0, 4, 0) @@ -30,7 +29,6 @@ class TestCase: """Test case.""" __test__ = False nbVertex: tuple[int] - nbEdges: tuple[int] nbTri: tuple[int] nbQuad: tuple[int] nbTetra: tuple[int] @@ -44,20 +42,19 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for nbVertex, nbEdges, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa in zip( - nbVertex_all, nbEdges_all, nbTri_all, nbQuad_all, nbTetra_all, nbPyr_all, nbWed_all, nbHexa_all, + for nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa in zip( + nbVertex_all, nbTri_all, nbQuad_all, nbTetra_all, nbPyr_all, nbWed_all, nbHexa_all, strict=True): - yield TestCase( nbVertex, nbEdges, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa ) + yield TestCase( nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa ) -def __get_expected_card(nbVertex: int, nbEdges: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: +def __get_expected_card(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: nbFaces: int = nbTri + nbQuad nbPolyhedre: int = nbTetra + nbPyr + nbHexa + nbWed cardExp: str = "" cardExp += "| | |\n" cardExp += "| - | - |\n" cardExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" - cardExp += f"| **Total Number of Edges** | {int(nbEdges):12} |\n" - cardExp += f"| **Total Number of Faces** | {int(nbFaces):12} |\n" + cardExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" cardExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" cardExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" cardExp += "| - | - |\n" @@ -75,7 +72,6 @@ def test_MeshIdCard_init( ) ->None: """ card: MeshIdCard = MeshIdCard() assert card.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" - assert card.getTypeCount(VTK_LINE) == 0, "Number of edges must be 0" assert card.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" assert card.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" assert card.getTypeCount(VTK_TETRA) == 0, "Number of tetrahedra must be 0" @@ -84,7 +80,7 @@ def test_MeshIdCard_init( ) ->None: assert card.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" @pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_MeshIdCard_add( test_case: TestCase ) ->None: +def test_MeshIdCard_addType( test_case: TestCase ) ->None: """Test of MeshIdCard . Args: @@ -92,24 +88,21 @@ def test_MeshIdCard_add( test_case: TestCase ) ->None: """ card: MeshIdCard = MeshIdCard() for _ in range(test_case.nbVertex): - card.add(VTK_VERTEX) - for _ in range(test_case.nbEdges): - card.add(VTK_LINE) + card.addType(VTK_VERTEX) for _ in range(test_case.nbTri): - card.add(VTK_TRIANGLE) + card.addType(VTK_TRIANGLE) for _ in range(test_case.nbQuad): - card.add(VTK_QUAD) + card.addType(VTK_QUAD) for _ in range(test_case.nbTetra): - card.add(VTK_TETRA) + card.addType(VTK_TETRA) for _ in range(test_case.nbPyr): - card.add(VTK_PYRAMID) + card.addType(VTK_PYRAMID) for _ in range(test_case.nbWed): - card.add(VTK_WEDGE) + card.addType(VTK_WEDGE) for _ in range(test_case.nbHexa): - card.add(VTK_HEXAHEDRON) + card.addType(VTK_HEXAHEDRON) assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert card.getTypeCount(VTK_LINE) == test_case.nbEdges, f"Number of edges must be {test_case.nbEdges}" assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" @@ -127,7 +120,6 @@ def test_MeshIdCard_setCount( test_case: TestCase ) ->None: """ card: MeshIdCard = MeshIdCard() card.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card.setTypeCount(VTK_LINE, test_case.nbEdges) card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card.setTypeCount(VTK_QUAD, test_case.nbQuad) card.setTypeCount(VTK_TETRA, test_case.nbTetra) @@ -136,7 +128,6 @@ def test_MeshIdCard_setCount( test_case: TestCase ) ->None: card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert card.getTypeCount(VTK_LINE) == test_case.nbEdges, f"Number of edges must be {test_case.nbEdges}" assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" @@ -144,6 +135,40 @@ def test_MeshIdCard_setCount( test_case: TestCase ) ->None: assert card.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" +@pytest.mark.parametrize( "test_case", __generate_test_data()) +def test_MeshIdCard_add( test_case: TestCase ) ->None: + """Test of MeshIdCard . + + Args: + test_case (TestCase): test case + """ + card1: MeshIdCard = MeshIdCard() + card1.setTypeCount(VTK_VERTEX, test_case.nbVertex) + card1.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + card1.setTypeCount(VTK_QUAD, test_case.nbQuad) + card1.setTypeCount(VTK_TETRA, test_case.nbTetra) + card1.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + card1.setTypeCount(VTK_WEDGE, test_case.nbWed) + card1.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + card2: MeshIdCard = MeshIdCard() + card2.setTypeCount(VTK_VERTEX, test_case.nbVertex) + card2.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + card2.setTypeCount(VTK_QUAD, test_case.nbQuad) + card2.setTypeCount(VTK_TETRA, test_case.nbTetra) + card2.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + card2.setTypeCount(VTK_WEDGE, test_case.nbWed) + card2.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + newCard: MeshIdCard = card1 + card2 + assert newCard.getTypeCount(VTK_VERTEX) == int(2 * test_case.nbVertex), f"Number of vertices must be {int(2 * test_case.nbVertex)}" + assert newCard.getTypeCount(VTK_TRIANGLE) == int(2 * test_case.nbTri), f"Number of triangles must be {int(2 * test_case.nbTri)}" + assert newCard.getTypeCount(VTK_QUAD) == int(2 * test_case.nbQuad), f"Number of quads must be {int(2 * test_case.nbQuad)}" + assert newCard.getTypeCount(VTK_TETRA) == int(2 * test_case.nbTetra), f"Number of tetrahedra must be {int(2 * test_case.nbTetra)}" + assert newCard.getTypeCount(VTK_PYRAMID) == int(2 * test_case.nbPyr), f"Number of pyramids must be {int(2 * test_case.nbPyr)}" + assert newCard.getTypeCount(VTK_WEDGE) == int(2 * test_case.nbWed), f"Number of wedges must be {int(2 * test_case.nbWed)}" + assert newCard.getTypeCount(VTK_HEXAHEDRON) == int(2 * test_case.nbHexa), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" + #cpt = 0 @pytest.mark.parametrize( "test_case", __generate_test_data()) def test_MeshIdCard_print( test_case: TestCase ) ->None: @@ -154,7 +179,6 @@ def test_MeshIdCard_print( test_case: TestCase ) ->None: """ card: MeshIdCard = MeshIdCard() card.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card.setTypeCount(VTK_LINE, test_case.nbEdges) card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card.setTypeCount(VTK_QUAD, test_case.nbQuad) card.setTypeCount(VTK_TETRA, test_case.nbTetra) @@ -162,7 +186,7 @@ def test_MeshIdCard_print( test_case: TestCase ) ->None: card.setTypeCount(VTK_WEDGE, test_case.nbWed) card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) line: str = card.print() - lineExp: str = __get_expected_card(test_case.nbVertex, test_case.nbEdges, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) + lineExp: str = __get_expected_card(test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) # global cpt # with open(f"meshIdCard_{cpt}.txt", 'w') as fout: # fout.write(line) diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index a1e7f4bf..6c2c21c4 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -6,7 +6,6 @@ import numpy as np import numpy.typing as npt import pytest -from typing_extensions import Self from typing import ( Iterator, ) @@ -17,7 +16,7 @@ from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, + vtkUnstructuredGrid, vtkCellArray, vtkCellData, vtkCellTypes, @@ -126,7 +125,7 @@ @dataclass( frozen=True ) class TestCase: - """Test case""" + """Test case.""" __test__ = False #: VTK cell type cellType: int @@ -136,7 +135,7 @@ class TestCase: pointsExp: npt.NDArray[np.float64] #: expected new cell point ids cellsExp: list[int] - + def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -150,11 +149,11 @@ def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, data_path), dtype=float, delimiter=',') mesh: vtkUnstructuredGrid = createSingleCellMesh(cellType, ptsCoord) yield TestCase( cellType, mesh, pointsExp, cellsExp ) - + ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] @pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) -def test_single_cell_split( test_case: TestCase ): +def test_single_cell_split( test_case: TestCase ) ->None: """Test of SplitMesh filter with meshes composed of a single cell. Args: @@ -184,10 +183,10 @@ def test_single_cell_split( test_case: TestCase ): output.GetCellTypes(types) assert types is not None, "Cell types must be defined" typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) - + print("typesArray", cellTypeName, typesArray) assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"All cells must be {cellTypeName}" - + for i in range(cellsOut.GetNumberOfCells()): ptIds = vtkIdList() cellsOut.GetCellAtId(i, ptIds) @@ -212,4 +211,4 @@ def test_single_cell_split( test_case: TestCase ): nbArraySplited: int = cellData.GetNumberOfArrays() assert nbArraySplited == nbArrayInput + 1, f"Number of arrays should be {nbArrayInput + 1}" - #assert False \ No newline at end of file + #assert False diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 2f7e2e69..b4377c20 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -68,7 +68,7 @@ def __generate_test_data() -> Iterator[ TestCase ]: # all points coordinates ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') # split array to get a list of coordinates per cell - cellPtsCoords = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] + cellPtsCoords: list[npt.NDArray[np.float64]] = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) cellTypes = nbCells * [celltype] for shared in (False, True): From b6b05eec4c5443b5b93ee444da067980453b1371 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 15 Apr 2025 18:16:20 +0200 Subject: [PATCH 09/71] create Paraview plugins to wrap vtk filters --- .../src/PVplugins/PVMergeColocatedPoints.py | 66 ++++++++ geos-pv/src/PVplugins/PVPrintMeshIdCard.py | 81 +++++++++ geos-pv/src/PVplugins/PVSplitMesh.py | 159 +++--------------- .../pv/utils/AbstractPVPluginVtkWrapper.py | 99 +++++++++++ 4 files changed, 268 insertions(+), 137 deletions(-) create mode 100644 geos-pv/src/PVplugins/PVMergeColocatedPoints.py create mode 100644 geos-pv/src/PVplugins/PVPrintMeshIdCard.py create mode 100644 geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py diff --git a/geos-pv/src/PVplugins/PVMergeColocatedPoints.py b/geos-pv/src/PVplugins/PVMergeColocatedPoints.py new file mode 100644 index 00000000..a1f79192 --- /dev/null +++ b/geos-pv/src/PVplugins/PVMergeColocatedPoints.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import sys +from pathlib import Path +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + smdomain, smhint, smproperty, smproxy, +) + +from vtkmodules.vtkCommonDataModel import ( + vtkPointSet, +) + +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() + +from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints +from geos.pv.utils.AbstractPVPluginVtkWrapper import AbstractPVPluginVtkWrapper + +__doc__ = """ +Merge collocated points of input mesh. + +Output mesh is of same type as input mesh. If input mesh is a composite mesh, the plugin merge points of each part independently. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVMergeColocatedPoints. +* Select the input mesh. +* Apply the filter. + +""" + +@smproxy.filter( name="PVMergeColocatedPoints", label="Merge Colocated Points" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkPointSet"], + composite_data_supported=True, +) +class PVMergeColocatedPoints(AbstractPVPluginVtkWrapper): + def __init__(self:Self) ->None: + """Merge collocated points.""" + super().__init__() + + def applyVtkFlilter( + self: Self, + input: vtkPointSet, + ) -> vtkPointSet: + """Apply vtk filter. + + Args: + input (vtkPointSet): input mesh + + Returns: + vtkPointSet: output mesh + """ + filter :MergeColocatedPoints = MergeColocatedPoints() + filter.SetInputDataObject(input) + filter.Update() + return filter.GetOutputDataObject( 0 ) diff --git a/geos-pv/src/PVplugins/PVPrintMeshIdCard.py b/geos-pv/src/PVplugins/PVPrintMeshIdCard.py new file mode 100644 index 00000000..5aa4462a --- /dev/null +++ b/geos-pv/src/PVplugins/PVPrintMeshIdCard.py @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import sys +from pathlib import Path +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy +) + +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, +) +from vtkmodules.vtkCommonDataModel import ( + vtkPointSet, + vtkTable, +) + +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() + +from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats +from geos.mesh.model.MeshIdCard import MeshIdCard + +__doc__ = """ +Display mesh statistics. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVPrintMeshIdCard. +* Select the input mesh. +* Apply the filter. + +""" + +@smproxy.filter( name="PVPrintMeshIdCard", label="Print Mesh ID Card" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkPointSet"], + composite_data_supported=True, +) +class PVPrintMeshIdCard(VTKPythonAlgorithmBase): + def __init__(self:Self) ->None: + """Merge collocated points.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) + output: vtkTable = self.GetOutputData( outInfoVec, 0 ) + assert inputMesh is not None, "Input server mesh is null." + assert output is not None, "Output pipeline is null." + + output.ShallowCopy(inputMesh) + filter: ComputeMeshStats = ComputeMeshStats() + filter.SetInputDataObject(inputMesh) + filter.Update() + card: MeshIdCard = filter.GetMeshIdCard() + print(card.print()) + return 1 diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py index 332e4a92..8f1a6ae9 100644 --- a/geos-pv/src/PVplugins/PVSplitMesh.py +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -2,40 +2,31 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay # ruff: noqa: E402 # disable Module level import not at top of file -import os import sys -from typing import Union +from pathlib import Path from typing_extensions import Self from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, + smdomain, smhint, smproperty, smproxy, ) -from vtkmodules.vtkCommonCore import ( - vtkInformation, - vtkInformationVector, -) from vtkmodules.vtkCommonDataModel import ( - vtkCompositeDataSet, - vtkDataObjectTreeIterator, - vtkMultiBlockDataSet, - vtkUnstructuredGrid, + vtkPointSet, ) -dir_path = os.path.dirname( os.path.realpath( __file__ ) ) -root = os.path.dirname(os.path.dirname(os.path.dirname( dir_path ))) -print(root) -for m in ("geos-posp", "geos-mesh", "geos-pv"): - path = os.path.join(root, m, "src") - if path not in sys.path: - sys.path.append( path ) +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() from geos.mesh.processing.SplitMesh import SplitMesh +from geos.pv.utils.AbstractPVPluginVtkWrapper import AbstractPVPluginVtkWrapper __doc__ = """ -Slip each cell of input mesh to smaller cells. +Split each cell of input mesh to smaller cells. -Input and output are vtkUnstructuredGrid. +Output mesh is of same type as input mesh. If input mesh is a composite mesh, the plugin split cells of each part independently. To use it: @@ -49,133 +40,27 @@ @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkUnstructuredGrid"], + dataTypes=[ "vtkPointSet" ], composite_data_supported=True, ) -class PVSplitMesh(VTKPythonAlgorithmBase): - def __init__(self:Self): +class PVSplitMesh(AbstractPVPluginVtkWrapper): + def __init__(self:Self) ->None: """Split mesh cells.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") - - def FillInputPortInformation(self :Self, port: int, info: vtkInformation) ->int: - """Inherited from VTKPythonAlgorithmBase::FillInputPortInformation. - - Args: - port (int): port index - info (vtkInformation): input port Information + super().__init__() - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - if port == 0: - info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - - def RequestDataObject( + def applyVtkFlilter( self: Self, - request: vtkInformation, - inInfoVec: list[ vtkInformationVector ], - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + input: vtkPointSet, + ) -> vtkPointSet: + """Apply vtk filter. Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects + input (vtkPointSet): input mesh Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) - assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): - outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) - - def RequestData( - self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestData. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - try: - inputMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, - vtkCompositeDataSet ] = self.GetInputData( inInfoVec, 0, 0 ) - outputMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, - vtkCompositeDataSet ] = self.GetOutputData( outInfoVec, 0 ) - - assert inputMesh is not None, "Input server mesh is null." - assert outputMesh is not None, "Output pipeline is null." - - splittedMesh: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet, vtkCompositeDataSet ] - if isinstance( inputMesh, vtkUnstructuredGrid ): - splittedMesh = self.doSplitMesh(inputMesh) - elif isinstance( inputMesh, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): - splittedMesh = self.doSplitMeshMultiBlock(inputMesh) - else: - raise ValueError( "Input mesh data type is not supported. Use either vtkUnstructuredGrid or vtkMultiBlockDataSet" ) - assert splittedMesh is not None, "Splitted mesh is null." - outputMesh.ShallowCopy(splittedMesh) - print("Mesh was successfully splitted.") - except AssertionError as e: - print(f"Mesh split failed due to: {e}") - return 0 - except Exception as e: - print(f"Mesh split failed due to: {e}") - return 0 - return 1 - - def doSplitMesh( - self: Self, - inputMesh: vtkUnstructuredGrid, - ) -> vtkUnstructuredGrid: - """Split cells from vtkUnstructuredGrids. - - Args: - inputMesh (vtkUnstructuredGrid): input mesh - - Returns: - vtkUnstructuredGrid: mesh where cells where splitted. + vtkPointSet: output mesh """ filter :SplitMesh = SplitMesh() - filter.SetInputDataObject(inputMesh) + filter.SetInputDataObject(input) filter.Update() return filter.GetOutputDataObject( 0 ) - - def doSplitMeshMultiBlock( - self: Self, - inputMesh: vtkMultiBlockDataSet, - ) -> vtkMultiBlockDataSet: - """Split cells from vtkMultiBlockDataSet. - - Args: - inputMesh (vtkMultiBlockDataSet): input mesh - - Returns: - vtkMultiBlockDataSet: mesh where cells where splitted. - """ - outputMesh: vtkMultiBlockDataSet = vtkMultiBlockDataSet() - iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() - iter.SetDataSet( inputMesh ) - iter.VisitOnlyLeavesOn() - iter.GoToFirstItem() - blockIndex: int = 0 - while iter.GetCurrentDataObject() is not None: - block: vtkUnstructuredGrid = vtkUnstructuredGrid.SafeDownCast( iter.GetCurrentDataObject() ) - splittedBlock: vtkUnstructuredGrid = self.doSplitMesh( block ) - outputMesh.SetBlock(blockIndex, splittedBlock) - blockIndex += 1 - iter.GoToNextItem() - return outputMesh diff --git a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py new file mode 100644 index 00000000..c00cef2e --- /dev/null +++ b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py @@ -0,0 +1,99 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +from typing import Any +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, +) + +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, +) + + +__doc__ = """ +AbstractPVPluginVtkWrapper module defines the parent Paraview plugin from which inheritates PV plugins that directly wrap a vtk filter. + +To use it, make children PV plugins inherited from AbstractPVPluginVtkWrapper. Output mesh is of same type as input mesh. If output type needs to be specified, this must be done in the child class. +""" + +class AbstractPVPluginVtkWrapper(VTKPythonAlgorithmBase): + def __init__(self:Self) ->None: + """Abstract Paraview Plugin class.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + try: + inputMesh: Any = self.GetInputData( inInfoVec, 0, 0 ) + outputMesh: Any = self.GetOutputData( outInfoVec, 0 ) + assert inputMesh is not None, "Input server mesh is null." + assert outputMesh is not None, "Output pipeline is null." + + splittedMesh = self.applyVtkFlilter(inputMesh) + assert splittedMesh is not None, "Splitted mesh is null." + outputMesh.ShallowCopy(splittedMesh) + print("Mesh was successfully splitted.") + except AssertionError as e: + print(f"Mesh split failed due to: {e}") + return 0 + except Exception as e: + print(f"Mesh split failed due to: {e}") + return 0 + return 1 + + def applyVtkFlilter( + self: Self, + input: Any, + ) -> Any: + """Apply vtk filter. + + Args: + input (Any): input object + + Returns: + Any: output mesh + """ + pass From 465622baaab044dfc3634caddab414503072cb17 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:20:34 +0200 Subject: [PATCH 10/71] First tests implementation --- geos-mesh/src/geos/mesh/vtkUtils.py | 14 ++--- geos-mesh/tests/conftest.py | 48 +++++++++++++++ geos-mesh/tests/data/data.npz | Bin 0 -> 28342 bytes geos-mesh/tests/test_vtkUtils.py | 88 ++++++++++++++++++++++++++++ 4 files changed, 140 insertions(+), 10 deletions(-) create mode 100644 geos-mesh/tests/conftest.py create mode 100644 geos-mesh/tests/data/data.npz create mode 100644 geos-mesh/tests/test_vtkUtils.py diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index 8ee8ad8f..40c26486 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -395,8 +395,8 @@ def getComponentNamesMultiBlock( Returns: tuple[str,...]: names of the components. """ - elementraryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) - for blockIndex in elementraryBlockIndexes: + elementaryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) + for blockIndex in elementaryBlockIndexes: block: vtkDataSet = cast( vtkDataSet, getBlockFromFlatIndex( dataSet, blockIndex ) ) if isAttributeInObject( block, attributeName, onPoints ): return getComponentNamesDataSet( block, attributeName, onPoints ) @@ -545,23 +545,17 @@ def mergeBlocks( def createEmptyAttribute( - object: vtkDataObject, attributeName: str, componentNames: tuple[ str, ...], dataType: int, - onPoints: bool, ) -> vtkDataArray: """Create an empty attribute. Args: - object (vtkDataObject): object (vtkMultiBlockDataSet, vtkDataSet) - where to create the attribute attributeName (str): name of the attribute componentNames (tuple[str,...]): name of the components for vectorial attributes dataType (int): data type. - onPoints (bool): True if attributes are on points, False if they are - on cells. Returns: bool: True if the attribute was correctly created @@ -753,7 +747,7 @@ def copyAttribute( for index in elementaryBlockIndexesTo: # get block from initial time step object blockT0: vtkDataSet = vtkDataSet.SafeDownCast( getBlockFromFlatIndex( objectFrom, index ) ) - assert blockT0 is not None, "Block at intitial time step is null." + assert blockT0 is not None, "Block at initial time step is null." # get block from current time step object block: vtkDataSet = vtkDataSet.SafeDownCast( getBlockFromFlatIndex( objectTo, index ) ) @@ -934,7 +928,7 @@ def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) - return cutter.GetOutputDataObject( 0 ) -def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: +def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: #TODO CHECK OUTPUT """Transfer point data to cell data. Args: diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py new file mode 100644 index 00000000..8e624902 --- /dev/null +++ b/geos-mesh/tests/conftest.py @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Paloma Martinez +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file + +import pytest + +import numpy as np +import numpy.typing as npt + +from vtkmodules.vtkCommonDataModel import vtkDataSet +from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader + +import pytest + + +@pytest.fixture +def array(request: str) -> npt.NDArray: + data = np.load("data/data.npz") + + return data[request.param] + + + + +@pytest.fixture(scope="function") +def vtkDataSetTest() -> vtkDataSet: + reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() + reader.SetFileName( "../../../GEOS/inputFiles/poromechanicsFractures/domain_res5_id.vtu" ) + reader.Update() + + return reader.GetOutput() + + + +@pytest.fixture(scope="function") +def vtkdatasetWithComponentNames(vtkDataSetTest: vtkDataSet): + attributeName1: str = "PERM" + + # return dataset + if vtkDataSetTest.GetCellData().HasArray( attributeName1 ) == 1: + vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 0, "component1" ) + vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 1, "component2" ) + vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 2, "component3" ) + + return vtkDataSetTest + diff --git a/geos-mesh/tests/data/data.npz b/geos-mesh/tests/data/data.npz new file mode 100644 index 0000000000000000000000000000000000000000..6858b20acdcaec660c5ac2a5394da7e6c55d55a6 GIT binary patch literal 28342 zcmeI*F-yZh6u|LIt5Q03$mVh`o@-*)iMM)eh6m9e2F@6&E8R!Xv=d}UAL_D(i>@KkG7 zlXdb<;`#EbZLd9buO3Y=ExNfm)aJM!nn0WWFu%)_>}HtvQmLOMgCceH;x-wj?tN?T zAlwb~{&t|B^#7vSIGSvd>;VQafB_6(00S7n00uCC0SsUO0~o*n1~7mD3}65Q7{CAq zFn|FJU;qOczyJm?fB_6(00S7n00uCC0SsUO0~o*n1~7mD3}65Q7{CAqFn|FJU;qOc zzyJm?fB_6(00S7n00uCC0SsUO1IuK<&UKRfGH)-h>q<$^I!SioPSr_LY7*7FcqhpP z`bcWs{QS5$A=v{AU;qOczyJm?fB_6(00S7n00uCC0SsUO0~o*n1~7nuWi? None: + attributes: dict[ str, int ] = vtkutils.getAttributesFromDataSet( object=vtkDataSetTest, + onPoints=onpoints ) + assert attributes == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PORO", True, 0 ), +]) +def test_isAttributeInObjectDataSet( vtkDataSetTest: vtkDataSet, + attributeName: str, + onpoints: bool, expected: bool ) -> None: + obtained: bool = vtkutils.isAttributeInObjectDataSet( object=vtkDataSetTest, + attributeName=attributeName, + onPoints=onpoints ) + assert obtained == expected + + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PERM", False, 3 ), + ( "GLOBAL_IDS_POINTS", True, 1 ), +] ) +def test_getNumberOfComponentsDataSet( vtkDataSetTest: vtkDataSet, + attributeName: str, + onpoints: bool, + expected: int, ) -> None: + obtained: int = vtkutils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PERM", False, ("component1", "component2", "component3")), + ( "PORO", False, ()), +] ) +def test_getComponentNamesDataSet( vtkdatasetWithComponentNames: vtkDataSet, attributeName: str, onpoints: bool, + expected: tuple[ str, ...] ) -> None: + obtained : tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkdatasetWithComponentNames, attributeName, onpoints) + + assert obtained == expected + + +@pytest.mark.parametrize("attributeName, dataType, expectedDatatypeArray", [ + ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), + ( "test_float", VTK_FLOAT, "vtkFloatArray" ), + ( "test_int", VTK_INT, "vtkIntArray" ), + ( "test_unsigned_int", VTK_UNSIGNED_INT, "vtkUnsignedIntArray" ), + ( "test_char", VTK_CHAR, "vtkCharArray" ), + # ("testFail", 4566, pytest.fail) #TODO +]) +def test_createEmptyAttribute( + attributeName: str, + dataType: int, + expectedDatatypeArray: vtkDataArray, +) -> None: + componentNames: tuple[ str, str, str] = ("d1, d2, d3") + newAttr: vtkDataArray = vtkutils.createEmptyAttribute(attributeName, componentNames, dataType) + + assert newAttr.GetNumberOfComponents() == len( componentNames ) + assert newAttr.GetComponentName( 0 ) == componentNames[ 0 ] + assert newAttr.GetComponentName( 1 ) == componentNames[ 1 ] + assert newAttr.GetComponentName( 2 ) == componentNames[ 2 ] + assert newAttr.IsA(str(expectedDatatypeArray)) From 072cd8edca8e88e432d1065785f90966bc1c3863 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:27:03 +0200 Subject: [PATCH 11/71] remove empty folder --- geos-posp/src/geos_posp/processing/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 geos-posp/src/geos_posp/processing/__init__.py diff --git a/geos-posp/src/geos_posp/processing/__init__.py b/geos-posp/src/geos_posp/processing/__init__.py deleted file mode 100644 index e69de29b..00000000 From b0f06e1db02b709d7a54f9e6f205785e583bbfcd Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:34:07 +0200 Subject: [PATCH 12/71] upgrade github actions --- .github/workflows/python-package.yml | 6 +++--- .github/workflows/typing-check.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 6529c919..456fddd2 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -34,7 +34,7 @@ jobs: echo "This is not a Pull-Request, skipping" build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: fail-fast: false max-parallel: 3 @@ -43,10 +43,10 @@ jobs: package-name: ["geos-ats", "geos-mesh", "geos-posp", "geos-timehistory", "geos-trame", "geos-utils", "geos-xml-tools", "geos-xml-viewer", "hdf5-wrapper", "pygeos-tools"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: mpi4py/setup-mpi@v1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' diff --git a/.github/workflows/typing-check.yml b/.github/workflows/typing-check.yml index 55340473..9675e778 100644 --- a/.github/workflows/typing-check.yml +++ b/.github/workflows/typing-check.yml @@ -10,7 +10,7 @@ concurrency: jobs: build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: fail-fast: false max-parallel: 3 @@ -19,10 +19,10 @@ jobs: package-name: ["geos-geomechanics", "geos-posp", "geos-timehistory", "geos-utils", "geos-xml-tools", "hdf5-wrapper"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: mpi4py/setup-mpi@v1 - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: "3.10" cache: 'pip' From 28ae96fabc949e4a15983596659bc4c25b2e2c02 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 15:42:15 +0200 Subject: [PATCH 13/71] Linting and typing --- geos-mesh/tests/conftest.py | 35 +++++++--- geos-mesh/tests/test_vtkUtils.py | 111 +++++++++++++++++++++---------- 2 files changed, 102 insertions(+), 44 deletions(-) diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py index 8e624902..046645f6 100644 --- a/geos-mesh/tests/conftest.py +++ b/geos-mesh/tests/conftest.py @@ -12,30 +12,46 @@ from vtkmodules.vtkCommonDataModel import vtkDataSet from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader -import pytest - @pytest.fixture -def array(request: str) -> npt.NDArray: - data = np.load("data/data.npz") +def array( request: str ) -> npt.NDArray: + """Fixture to get reference array depending on request array name. - return data[request.param] + Args: + request (str): _description_ + Returns: + npt.NDArray: _description_ + """ + data = np.load( "data/data.npz" ) + return data[ request.param ] -@pytest.fixture(scope="function") +@pytest.fixture( scope="function" ) def vtkDataSetTest() -> vtkDataSet: + """Load vtk dataset to run the tests in test_vtkUtils.py. + + Returns: + vtkDataSet: _description_ + """ reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() reader.SetFileName( "../../../GEOS/inputFiles/poromechanicsFractures/domain_res5_id.vtu" ) reader.Update() - + return reader.GetOutput() +@pytest.fixture( scope="function" ) +def vtkdatasetWithComponentNames( vtkDataSetTest: vtkDataSet ) -> vtkDataSet: + """Set names for existing vtk dataset for test purpose. + + Args: + vtkDataSetTest (vtkDataSet): _description_ -@pytest.fixture(scope="function") -def vtkdatasetWithComponentNames(vtkDataSetTest: vtkDataSet): + Returns: + _type_: _description_ + """ attributeName1: str = "PERM" # return dataset @@ -45,4 +61,3 @@ def vtkdatasetWithComponentNames(vtkDataSetTest: vtkDataSet): vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 2, "component3" ) return vtkDataSetTest - diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index f5c2cc5b..ecd29668 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -15,74 +15,117 @@ import geos.mesh.vtkUtils as vtkutils - -@pytest.mark.parametrize( "onpoints, expected", [ - ( True, { 'GLOBAL_IDS_POINTS': 1 } ), - ( False, { 'CELL_MARKERS': 1, 'PERM': 3, 'PORO': 1, 'FAULT': 1, 'GLOBAL_IDS_CELLS': 1 } ) -]) -def test_getAttributesFromDataSet( vtkDataSetTest: vtkDataSet, - onpoints: bool, expected: dict[ str, int ]) -> None: - attributes: dict[ str, int ] = vtkutils.getAttributesFromDataSet( object=vtkDataSetTest, - onPoints=onpoints ) +@pytest.mark.parametrize( "onpoints, expected", [ ( True, { + 'GLOBAL_IDS_POINTS': 1 +} ), ( False, { + 'CELL_MARKERS': 1, + 'PERM': 3, + 'PORO': 1, + 'FAULT': 1, + 'GLOBAL_IDS_CELLS': 1 +} ) ] ) +def test_getAttributesFromDataSet( vtkDataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: + """Test getAttributesFromDataSet function. + + Args: + vtkDataSetTest (vtkDataSet): _description_ + onpoints (bool): _description_ + expected (dict[ str, int ]): _description_ + """ + attributes: dict[ str, int ] = vtkutils.getAttributesFromDataSet( object=vtkDataSetTest, onPoints=onpoints ) assert attributes == expected @pytest.mark.parametrize( "attributeName, onpoints, expected", [ ( "PORO", False, 1 ), ( "PORO", True, 0 ), -]) -def test_isAttributeInObjectDataSet( vtkDataSetTest: vtkDataSet, - attributeName: str, - onpoints: bool, expected: bool ) -> None: +] ) +def test_isAttributeInObjectDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, + expected: bool ) -> None: + """Test isAttributeFromDataSet function. + + Args: + vtkDataSetTest (vtkDataSet): _description_ + attributeName (str): _description_ + onpoints (bool): _description_ + expected (bool): _description_ + """ obtained: bool = vtkutils.isAttributeInObjectDataSet( object=vtkDataSetTest, - attributeName=attributeName, - onPoints=onpoints ) + attributeName=attributeName, + onPoints=onpoints ) assert obtained == expected - @pytest.mark.parametrize( "attributeName, onpoints, expected", [ ( "PORO", False, 1 ), ( "PERM", False, 3 ), ( "GLOBAL_IDS_POINTS", True, 1 ), ] ) -def test_getNumberOfComponentsDataSet( vtkDataSetTest: vtkDataSet, +def test_getNumberOfComponentsDataSet( + vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, - expected: int, ) -> None: - obtained: int = vtkutils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints) + expected: int, +) -> None: + """Test getNumberOfComponentsDataSet function. + + Args: + vtkDataSetTest (vtkDataSet): _description_ + attributeName (str): _description_ + onpoints (bool): _description_ + expected (int): _description_ + """ + obtained: int = vtkutils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected @pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PERM", False, ("component1", "component2", "component3")), - ( "PORO", False, ()), + ( "PERM", False, ( "component1", "component2", "component3" ) ), + ( "PORO", False, () ), ] ) def test_getComponentNamesDataSet( vtkdatasetWithComponentNames: vtkDataSet, attributeName: str, onpoints: bool, - expected: tuple[ str, ...] ) -> None: - obtained : tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkdatasetWithComponentNames, attributeName, onpoints) + expected: tuple[ str, ...] ) -> None: + """Test getComponentNamesDataSet function. + + Args: + vtkdatasetWithComponentNames (vtkDataSet): _description_ + attributeName (str): _description_ + onpoints (bool): _description_ + expected (tuple[ str, ...]): _description_ + """ + obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkdatasetWithComponentNames, attributeName, + onpoints ) assert obtained == expected -@pytest.mark.parametrize("attributeName, dataType, expectedDatatypeArray", [ - ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), - ( "test_float", VTK_FLOAT, "vtkFloatArray" ), - ( "test_int", VTK_INT, "vtkIntArray" ), - ( "test_unsigned_int", VTK_UNSIGNED_INT, "vtkUnsignedIntArray" ), - ( "test_char", VTK_CHAR, "vtkCharArray" ), - # ("testFail", 4566, pytest.fail) #TODO -]) +@pytest.mark.parametrize( + "attributeName, dataType, expectedDatatypeArray", + [ + ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), + ( "test_float", VTK_FLOAT, "vtkFloatArray" ), + ( "test_int", VTK_INT, "vtkIntArray" ), + ( "test_unsigned_int", VTK_UNSIGNED_INT, "vtkUnsignedIntArray" ), + ( "test_char", VTK_CHAR, "vtkCharArray" ), + # ("testFail", 4566, pytest.fail) #TODO + ] ) def test_createEmptyAttribute( attributeName: str, dataType: int, expectedDatatypeArray: vtkDataArray, ) -> None: - componentNames: tuple[ str, str, str] = ("d1, d2, d3") - newAttr: vtkDataArray = vtkutils.createEmptyAttribute(attributeName, componentNames, dataType) + """Test createEmptyAttribute function. + + Args: + attributeName (str): _description_ + dataType (int): _description_ + expectedDatatypeArray (vtkDataArray): _description_ + """ + componentNames: tuple[ str, str, str ] = ( "d1, d2, d3" ) + newAttr: vtkDataArray = vtkutils.createEmptyAttribute( attributeName, componentNames, dataType ) assert newAttr.GetNumberOfComponents() == len( componentNames ) assert newAttr.GetComponentName( 0 ) == componentNames[ 0 ] assert newAttr.GetComponentName( 1 ) == componentNames[ 1 ] assert newAttr.GetComponentName( 2 ) == componentNames[ 2 ] - assert newAttr.IsA(str(expectedDatatypeArray)) + assert newAttr.IsA( str( expectedDatatypeArray ) ) From 996bc17d9371fa59f0bc5c1562e2c4e8c296cacf Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 15:49:59 +0200 Subject: [PATCH 14/71] Remove useless comment --- geos-mesh/src/geos/mesh/vtkUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index 40c26486..a4a653a4 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -928,7 +928,7 @@ def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) - return cutter.GetOutputDataObject( 0 ) -def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: #TODO CHECK OUTPUT +def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: """Transfer point data to cell data. Args: From fec1bf2c217004653ad4cd1b87ef99c10190b79b Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 16 Apr 2025 15:53:10 +0200 Subject: [PATCH 15/71] Fix dependencies --- geos-mesh/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index 2317c68b..3f73d6c5 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ "tqdm >= 4.67", "numpy >= 2.2", "meshio >= 5.3", + "pandas", ] [project.scripts] From c5ade9e3debcb12d1d499d4c0954c6bce7aa0e3e Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 16 Apr 2025 16:38:47 +0200 Subject: [PATCH 16/71] rename MeshIdCard and associated filters by CellTypeCounts --- .../{MeshIdCard.py => CellTypeCounts.py} | 18 +- ...ComputeMeshStats.py => CellTypeCounter.py} | 24 +-- ...teMeshStats.py => test_CellTypeCounter.py} | 24 +-- ...t_MeshIdCard.py => test_CellTypeCounts.py} | 38 ++-- geos-pv/src/PVplugins/PVCellTypeCounter.py | 174 ++++++++++++++++++ geos-pv/src/PVplugins/PVPrintMeshIdCard.py | 81 -------- 6 files changed, 226 insertions(+), 133 deletions(-) rename geos-mesh/src/geos/mesh/model/{MeshIdCard.py => CellTypeCounts.py} (86%) rename geos-mesh/src/geos/mesh/stats/{ComputeMeshStats.py => CellTypeCounter.py} (86%) rename geos-mesh/tests/{test_ComputeMeshStats.py => test_CellTypeCounter.py} (89%) rename geos-mesh/tests/{test_MeshIdCard.py => test_CellTypeCounts.py} (90%) create mode 100644 geos-pv/src/PVplugins/PVCellTypeCounter.py delete mode 100644 geos-pv/src/PVplugins/PVPrintMeshIdCard.py diff --git a/geos-mesh/src/geos/mesh/model/MeshIdCard.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py similarity index 86% rename from geos-mesh/src/geos/mesh/model/MeshIdCard.py rename to geos-mesh/src/geos/mesh/model/CellTypeCounts.py index 1e176115..b8d7b606 100644 --- a/geos-mesh/src/geos/mesh/model/MeshIdCard.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -11,12 +11,12 @@ __doc__ = """ -MeshIdCard stores the number of elements of each type. +CellTypeCounts stores the number of elements of each type. """ -class MeshIdCard(): +class CellTypeCounts(): def __init__(self: Self ) ->None: - """MeshIdCard stores the number of cells of each type.""" + """CellTypeCounts stores the number of cells of each type.""" self._counts: npt.NDArray[np.int64] = np.zeros(VTK_NUMBER_OF_CELL_TYPES) def __str__(self: Self) ->str: @@ -30,16 +30,16 @@ def __str__(self: Self) ->str: def __add__(self: Self, other :Self) ->Self: """Addition operator. - MeshIdCard addition consists in suming counts. + CellTypeCounts addition consists in suming counts. Args: - other (Self): other MeshIdCard object + other (Self): other CellTypeCounts object Returns: - Self: new MeshIdCard object + Self: new CellTypeCounts object """ - assert isinstance(other, MeshIdCard), "Other object must be a MeshIdCard." - newCard: MeshIdCard = MeshIdCard() + assert isinstance(other, CellTypeCounts), "Other object must be a CellTypeCounts." + newCard: CellTypeCounts = CellTypeCounts() newCard._counts = self._counts + other._counts return newCard @@ -96,7 +96,7 @@ def print(self: Self) ->str: card += "| | |\n" card += "| - | - |\n" card += f"| **Total Number of Vertices** | {int(self._counts[VTK_VERTEX]):12} |\n" - card += f"| **Total Number of Polygon** | {int(self._counts[VTK_POLYGON]):12} |\n" + card += f"| **Total Number of Polygon** | {int(self._counts[VTK_POLYGON]):12} |\n" card += f"| **Total Number of Polyhedron** | {int(self._counts[VTK_POLYHEDRON]):12} |\n" card += f"| **Total Number of Cells** | {int(self._counts[VTK_POLYHEDRON]+self._counts[VTK_POLYGON]):12} |\n" card += "| - | - |\n" diff --git a/geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py similarity index 86% rename from geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py rename to geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index deccb8c6..a2e10dc3 100644 --- a/geos-mesh/src/geos/mesh/stats/ComputeMeshStats.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -14,10 +14,10 @@ VTK_VERTEX ) -from geos.mesh.model.MeshIdCard import MeshIdCard +from geos.mesh.model.CellTypeCounts import CellTypeCounts __doc__ = """ -ComputeMeshStats module is a vtk filter that computes mesh stats. +CellTypeCounter module is a vtk filter that computes mesh stats. Mesh stats include the number of elements of each type. @@ -27,26 +27,26 @@ .. code-block:: python - from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats + from geos.mesh.stats.CellTypeCounter import CellTypeCounter # filter inputs input :vtkUnstructuredGrid # instanciate the filter - filter :ComputeMeshStats = ComputeMeshStats() + filter :CellTypeCounter = CellTypeCounter() # set input data object filter.SetInputDataObject(input) # do calculations filter.Update() # get output mesh id card - output :MeshIdCard = filter.GetMeshIdCard() + output :CellTypeCounts = filter.GetCellTypeCounts() """ -class ComputeMeshStats(VTKPythonAlgorithmBase): +class CellTypeCounter(VTKPythonAlgorithmBase): def __init__(self) ->None: - """ComputeMeshStats filter computes mesh stats.""" + """CellTypeCounter filter computes mesh stats.""" super().__init__(nInputPorts=1, nOutputPorts=0) - self.card: MeshIdCard + self.card: CellTypeCounts def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. @@ -98,7 +98,7 @@ def RequestData(self: Self, inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) assert inData is not None, "Input mesh is undefined." - self.card = MeshIdCard() + self.card = CellTypeCounts() self.card.setTypeCount(VTK_VERTEX, inData.GetNumberOfPoints()) for i in range(inData.GetNumberOfCells()): cell: vtkCell = inData.GetCell(i) @@ -123,10 +123,10 @@ def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: edges.Update() return edges.GetOutput().GetNumberOfCells() - def GetMeshIdCard(self :Self) -> MeshIdCard: - """Get MeshIdCard object. + def GetCellTypeCounts(self :Self) -> CellTypeCounts: + """Get CellTypeCounts object. Returns: - MeshIdCard: MeshIdCard object. + CellTypeCounts: CellTypeCounts object. """ return self.card diff --git a/geos-mesh/tests/test_ComputeMeshStats.py b/geos-mesh/tests/test_CellTypeCounter.py similarity index 89% rename from geos-mesh/tests/test_ComputeMeshStats.py rename to geos-mesh/tests/test_CellTypeCounter.py index 85352db3..6abaf109 100644 --- a/geos-mesh/tests/test_ComputeMeshStats.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -11,8 +11,8 @@ ) from geos.mesh.processing.helpers import createSingleCellMesh, createMultiCellMesh -from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats -from geos.mesh.model.MeshIdCard import MeshIdCard +from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.model.CellTypeCounts import CellTypeCounts from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, @@ -54,17 +54,17 @@ def __generate_test_data_single_cell() -> Iterator[ TestCase ]: ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cellType_all] @pytest.mark.parametrize( "test_case", __generate_test_data_single_cell(), ids=ids ) -def test_ComputeMeshStats_single( test_case: TestCase ) ->None: - """Test of ComputeMeshStats filter. +def test_CellTypeCounter_single( test_case: TestCase ) ->None: + """Test of CellTypeCounter filter. Args: test_case (TestCase): test case """ - filter :ComputeMeshStats = ComputeMeshStats() + filter :CellTypeCounter = CellTypeCounter() filter.SetInputDataObject(test_case.mesh) filter.Update() - card :MeshIdCard = filter.GetMeshIdCard() - assert card is not None, "MeshIdCard is undefined" + card :CellTypeCounts = filter.GetCellTypeCounts() + assert card is not None, "CellTypeCounts is undefined" assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" @@ -101,17 +101,17 @@ def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: ids2: list[str] = [os.path.splitext(name)[0] for name in filename_all2] @pytest.mark.parametrize( "test_case", __generate_test_data_multi_cell(), ids=ids2 ) -def test_ComputeMeshStats_multi( test_case: TestCase ) ->None: - """Test of ComputeMeshStats filter. +def test_CellTypeCounter_multi( test_case: TestCase ) ->None: + """Test of CellTypeCounter filter. Args: test_case (TestCase): test case """ - filter :ComputeMeshStats = ComputeMeshStats() + filter :CellTypeCounter = CellTypeCounter() filter.SetInputDataObject(test_case.mesh) filter.Update() - card :MeshIdCard = filter.GetMeshIdCard() - assert card is not None, "MeshIdCard is undefined" + card :CellTypeCounts = filter.GetCellTypeCounts() + assert card is not None, "CellTypeCounts is undefined" assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" diff --git a/geos-mesh/tests/test_MeshIdCard.py b/geos-mesh/tests/test_CellTypeCounts.py similarity index 90% rename from geos-mesh/tests/test_MeshIdCard.py rename to geos-mesh/tests/test_CellTypeCounts.py index dc7b9e16..cdf2ab48 100644 --- a/geos-mesh/tests/test_MeshIdCard.py +++ b/geos-mesh/tests/test_CellTypeCounts.py @@ -7,7 +7,7 @@ Iterator, ) -from geos.mesh.model.MeshIdCard import MeshIdCard +from geos.mesh.model.CellTypeCounts import CellTypeCounts from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, @@ -54,7 +54,7 @@ def __get_expected_card(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nb cardExp += "| | |\n" cardExp += "| - | - |\n" cardExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" - cardExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" + cardExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" cardExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" cardExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" cardExp += "| - | - |\n" @@ -64,13 +64,13 @@ def __get_expected_card(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nb cardExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" return cardExp -def test_MeshIdCard_init( ) ->None: - """Test of MeshIdCard . +def test_CellTypeCounts_init( ) ->None: + """Test of CellTypeCounts . Args: test_case (TestCase): test case """ - card: MeshIdCard = MeshIdCard() + card: CellTypeCounts = CellTypeCounts() assert card.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" assert card.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" assert card.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" @@ -80,13 +80,13 @@ def test_MeshIdCard_init( ) ->None: assert card.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" @pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_MeshIdCard_addType( test_case: TestCase ) ->None: - """Test of MeshIdCard . +def test_CellTypeCounts_addType( test_case: TestCase ) ->None: + """Test of CellTypeCounts . Args: test_case (TestCase): test case """ - card: MeshIdCard = MeshIdCard() + card: CellTypeCounts = CellTypeCounts() for _ in range(test_case.nbVertex): card.addType(VTK_VERTEX) for _ in range(test_case.nbTri): @@ -112,13 +112,13 @@ def test_MeshIdCard_addType( test_case: TestCase ) ->None: @pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_MeshIdCard_setCount( test_case: TestCase ) ->None: - """Test of MeshIdCard . +def test_CellTypeCounts_setCount( test_case: TestCase ) ->None: + """Test of CellTypeCounts . Args: test_case (TestCase): test case """ - card: MeshIdCard = MeshIdCard() + card: CellTypeCounts = CellTypeCounts() card.setTypeCount(VTK_VERTEX, test_case.nbVertex) card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card.setTypeCount(VTK_QUAD, test_case.nbQuad) @@ -136,13 +136,13 @@ def test_MeshIdCard_setCount( test_case: TestCase ) ->None: assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" @pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_MeshIdCard_add( test_case: TestCase ) ->None: - """Test of MeshIdCard . +def test_CellTypeCounts_add( test_case: TestCase ) ->None: + """Test of CellTypeCounts . Args: test_case (TestCase): test case """ - card1: MeshIdCard = MeshIdCard() + card1: CellTypeCounts = CellTypeCounts() card1.setTypeCount(VTK_VERTEX, test_case.nbVertex) card1.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card1.setTypeCount(VTK_QUAD, test_case.nbQuad) @@ -151,7 +151,7 @@ def test_MeshIdCard_add( test_case: TestCase ) ->None: card1.setTypeCount(VTK_WEDGE, test_case.nbWed) card1.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - card2: MeshIdCard = MeshIdCard() + card2: CellTypeCounts = CellTypeCounts() card2.setTypeCount(VTK_VERTEX, test_case.nbVertex) card2.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card2.setTypeCount(VTK_QUAD, test_case.nbQuad) @@ -160,7 +160,7 @@ def test_MeshIdCard_add( test_case: TestCase ) ->None: card2.setTypeCount(VTK_WEDGE, test_case.nbWed) card2.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - newCard: MeshIdCard = card1 + card2 + newCard: CellTypeCounts = card1 + card2 assert newCard.getTypeCount(VTK_VERTEX) == int(2 * test_case.nbVertex), f"Number of vertices must be {int(2 * test_case.nbVertex)}" assert newCard.getTypeCount(VTK_TRIANGLE) == int(2 * test_case.nbTri), f"Number of triangles must be {int(2 * test_case.nbTri)}" assert newCard.getTypeCount(VTK_QUAD) == int(2 * test_case.nbQuad), f"Number of quads must be {int(2 * test_case.nbQuad)}" @@ -171,13 +171,13 @@ def test_MeshIdCard_add( test_case: TestCase ) ->None: #cpt = 0 @pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_MeshIdCard_print( test_case: TestCase ) ->None: - """Test of MeshIdCard . +def test_CellTypeCounts_print( test_case: TestCase ) ->None: + """Test of CellTypeCounts . Args: test_case (TestCase): test case """ - card: MeshIdCard = MeshIdCard() + card: CellTypeCounts = CellTypeCounts() card.setTypeCount(VTK_VERTEX, test_case.nbVertex) card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) card.setTypeCount(VTK_QUAD, test_case.nbQuad) diff --git a/geos-pv/src/PVplugins/PVCellTypeCounter.py b/geos-pv/src/PVplugins/PVCellTypeCounter.py new file mode 100644 index 00000000..c349c8e6 --- /dev/null +++ b/geos-pv/src/PVplugins/PVCellTypeCounter.py @@ -0,0 +1,174 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import sys +from pathlib import Path +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy +) + +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, +) +from vtkmodules.vtkCommonDataModel import ( + vtkPointSet, + vtkTable, +) + +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() + +from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.model.CellTypeCounts import CellTypeCounts + +__doc__ = """ +Compute cell type counts. Counts are dumped in to Output message window and can be exporter in a file. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVCellTypeCounter. +* Select the input mesh. +* Apply the filter. + +""" + +@smproxy.filter( name="PVCellTypeCounter", label="Cell Type Counter" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkPointSet"], + composite_data_supported=True, +) +class PVCellTypeCounter(VTKPythonAlgorithmBase): + def __init__(self:Self) ->None: + """Merge collocated points.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + + self._filename = None + self._saveToFile = True + + @smproperty.intvector( + name="SetSaveToFile", + label="Save to file", + default_values=0, + panel_visibility="default", + ) + @smdomain.xml( """ + + + Specify if mesh statistics are dumped into a file. + + """ ) + def SetSaveToFile( self: Self, saveToFile: bool) -> None: + """Setter to save the stats into a file. + + Args: + saveToFile (bool): if True, a file will be saved. + """ + if self._saveToFile != saveToFile: + self._saveToFile = saveToFile + self.Modified() + + @smproperty.stringvector(name="FilePath", label="File Path") + @smdomain.xml( """ + + Output file path. + + + + + """) + def SetFileName(self: Self, fname :str) -> None: + """Specify filename for the filter to write. + + Args: + fname (str): file path + """ + if self._filename != fname: + self._filename = fname + self.Modified() + + @smproperty.xml( """ + + + + + + + """ ) + def d09GroupAdvancedOutputParameters( self: Self ) -> None: + """Organize groups.""" + self.Modified() + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) + output: vtkTable = self.GetOutputData( outInfoVec, 0 ) + assert inputMesh is not None, "Input server mesh is null." + assert output is not None, "Output pipeline is null." + + output.ShallowCopy(inputMesh) + filter: CellTypeCounter = CellTypeCounter() + filter.SetInputDataObject(inputMesh) + filter.Update() + card: CellTypeCounts = filter.GetCellTypeCounts() + print(card.print()) + + if self._saveToFile: + try: + with open(self._filename, 'w') as fout: + fout.write(card.print()) + print(f"File {self._filename} was successfully written.") + except Exception as e: + print("Error while exporting the file dur to:") + print(str(e)) + return 1 diff --git a/geos-pv/src/PVplugins/PVPrintMeshIdCard.py b/geos-pv/src/PVplugins/PVPrintMeshIdCard.py deleted file mode 100644 index 5aa4462a..00000000 --- a/geos-pv/src/PVplugins/PVPrintMeshIdCard.py +++ /dev/null @@ -1,81 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay -# ruff: noqa: E402 # disable Module level import not at top of file -import sys -from pathlib import Path -from typing_extensions import Self - -from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy -) - -from vtkmodules.vtkCommonCore import ( - vtkInformation, - vtkInformationVector, -) -from vtkmodules.vtkCommonDataModel import ( - vtkPointSet, - vtkTable, -) - -# update sys.path to load all GEOS Python Package dependencies -geos_pv_path: Path = Path( __file__ ).parent.parent.parent -sys.path.insert( 0, str( geos_pv_path / "src" ) ) -from geos.pv.utils.config import update_paths -update_paths() - -from geos.mesh.stats.ComputeMeshStats import ComputeMeshStats -from geos.mesh.model.MeshIdCard import MeshIdCard - -__doc__ = """ -Display mesh statistics. - -To use it: - -* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVPrintMeshIdCard. -* Select the input mesh. -* Apply the filter. - -""" - -@smproxy.filter( name="PVPrintMeshIdCard", label="Print Mesh ID Card" ) -@smhint.xml( '' ) -@smproperty.input( name="Input", port_index=0 ) -@smdomain.datatype( - dataTypes=[ "vtkPointSet"], - composite_data_supported=True, -) -class PVPrintMeshIdCard(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: - """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") - - def RequestData( - self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestData. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) - output: vtkTable = self.GetOutputData( outInfoVec, 0 ) - assert inputMesh is not None, "Input server mesh is null." - assert output is not None, "Output pipeline is null." - - output.ShallowCopy(inputMesh) - filter: ComputeMeshStats = ComputeMeshStats() - filter.SetInputDataObject(inputMesh) - filter.Update() - card: MeshIdCard = filter.GetMeshIdCard() - print(card.print()) - return 1 From 261793dfc451ba6b213a5e89ef8d3f11f36ac533 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Thu, 17 Apr 2025 13:28:09 +0200 Subject: [PATCH 17/71] Add data for test and modify useless functions --- geos-mesh/tests/conftest.py | 21 --------- geos-mesh/tests/data/displacedFault.vtm | 7 +++ geos-mesh/tests/data/domain_res5_id.vtu | 53 +++++++++++++++++++++++ geos-mesh/tests/data/fracture_res5_id.vtu | 52 ++++++++++++++++++++++ geos-mesh/tests/test_vtkUtils.py | 6 +-- 5 files changed, 115 insertions(+), 24 deletions(-) create mode 100644 geos-mesh/tests/data/displacedFault.vtm create mode 100644 geos-mesh/tests/data/domain_res5_id.vtu create mode 100644 geos-mesh/tests/data/fracture_res5_id.vtu diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py index 046645f6..e4035319 100644 --- a/geos-mesh/tests/conftest.py +++ b/geos-mesh/tests/conftest.py @@ -40,24 +40,3 @@ def vtkDataSetTest() -> vtkDataSet: reader.Update() return reader.GetOutput() - - -@pytest.fixture( scope="function" ) -def vtkdatasetWithComponentNames( vtkDataSetTest: vtkDataSet ) -> vtkDataSet: - """Set names for existing vtk dataset for test purpose. - - Args: - vtkDataSetTest (vtkDataSet): _description_ - - Returns: - _type_: _description_ - """ - attributeName1: str = "PERM" - - # return dataset - if vtkDataSetTest.GetCellData().HasArray( attributeName1 ) == 1: - vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 0, "component1" ) - vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 1, "component2" ) - vtkDataSetTest.GetCellData().GetArray( attributeName1 ).SetComponentName( 2, "component3" ) - - return vtkDataSetTest diff --git a/geos-mesh/tests/data/displacedFault.vtm b/geos-mesh/tests/data/displacedFault.vtm new file mode 100644 index 00000000..2cf49998 --- /dev/null +++ b/geos-mesh/tests/data/displacedFault.vtm @@ -0,0 +1,7 @@ + + + + + + + diff --git a/geos-mesh/tests/data/domain_res5_id.vtu b/geos-mesh/tests/data/domain_res5_id.vtu new file mode 100644 index 00000000..40797bd2 --- /dev/null +++ b/geos-mesh/tests/data/domain_res5_id.vtu @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + 1.7094007438e-15 + + + 1.7094007438e-15 + + + + + + + + + + + + + + + 0 + + + 3221.0246817 + + + + + + + + + + + + + + + _AQAAAACAAADgfwAARhgAAA==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AQAAAACAAAAwGwAABAEAAA==eJztlksOxDAIQ9PO/e88mq3lZ6JoVKURC5SGfADjUO4xxv1yuUA+BwjF9k95IkenYNX52CsfapNivWVddTTSWrXf+aO66p50ZsZvnV9wD9msbLk67HCajTt9u7WK34ShyythnHhA8VB8Dh/CM+FGOFexJRySn2rbYULcUl4QpitvKPHW2a14f4p0P9T/36ew6nzslY+Z+ubqp+popLVqv/NHddU96cyM3zrvfoh5QRgnHlA8FF/3Q4zpyhtKvHV2K96fIt0P9f/3Kaw6H3vlY6a+ufqpOhpprdrv/FFddU86M+O3zrsfYl4QxokHFA/F1/0QY7ryhhJvnd2K9z/5Ao84Duw=AQAAAACAAACQUQAAMQAAAA==eJztwzENAAAIA7B3SjCBx2lGCG3SbCeqqqqqqqqqqqqqqqqqqqqqqqqqqo8eaqCtmg==AQAAAACAAAAwGwAAIwAAAA==eJztwwENAAAIA6BmJjC67/QgwkZuJ6qqqqqqqvp0AWlKhrc=AQAAAACAAAAwGwAAPQAAAA==eJzt1rEJADAIRUGH/dl/hbSp0oiFcAci2Nm9VFUG5wxPnp3Pfet/AMC87b2ghwCAru29oIcAgK4L9At6fQ==AQAAAACAAABgNgAAawoAAA==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4q6xxV1ji7umNcq6axpP665pjbXumtYi666xxV1ji7vGFneNLe4aW9w1trhrbHHX2OKuaX2z7prWSeuuscVdY4u7xhZ3TfPfumtpdNfY4q6xxV3T+mbdNV1T666xxV1ji7vGFneNLe4aW9w17ce6a7pe1l1ji7umdcO6a2xx19jirul+t+5aOvzOxu5aOpy37K6l0V2H28i8ZXdN65J119jirrHFXdM8se6a1g3rrrHFXdP9aN01trhrmhvWXWOLu8YWd23XZ3LX0mo9J3ctje463EbOhd01trhrbHHXNFetu6Z737prGnPrrrHFXdN6Zd01trhrbHHX/LnsrqXDY84O9inuWhrdNba4a2xx17QmWHdN18K6a1pPrLum9dm6a1pzrLvGFneNLe4aW9w1trhrbHHX2OKuscVdY4u7xhZ3jS3ums+L3bV0OA7srlXL78zkrrHFXWOLu8YWd40t7ppet+4aW9w1trhrbHHX2OKu6XOtu5YOjtO6a9WuNLprbHHXdC9Yd01zzLprbHHX2OKuscVdY4u7xhZ3jS3umseH3bW0eh6Ru5ZG8xNuEzyPyF1ji7vGFneNLe4aW9w1trhrbHHXPA7srqXDcWN3Ld1Xjse6a2l019jirmkNt+4aW9w1reHWXWOLu8YWd40t7pruI+uu+dzZXUuH48buWrpPMG6JatzYXWOLu8YWd03roXXXtO5Zd01rmnXXfL7srqXDsWJ3LT0iGKskNVbsrulzrbum9cG6a2xx13TvWHeNLe4aW9w1trhrbHHX2OKuscVdY4u7pnXAumtaf6y7xhZ3zePG7lpaPYPIXUujuw63CZ5B5K6xxV1ji7umNdm6a1rHrLvGFneNLe6a1gTrrrHFXdNnWXctHRynddfS6K7DbexxWndNa4t119jirrHFXWOLu8YWd033uHXX2OKuad227prWMeuuscVd8/myu+Z5wu5aOpxj7K6l0V2H28gcY3eNLe4aW9w1trhrbHHXdL7WXdN+rLuWDo7BumtpdNfhNvYYrLvGFneNLe4aW9w1trhrbHHX2OKuscVd87xidy2tvkuo51G6mofsrmm+WXdN64x119jirnk+sLsOOphLGeH+rbuWRndNa75119jirrHFXWOLu8YWd40t7pqvI7tr6XAOZKlnWZa67uyu6Vpbd40t7hpb3DW2uGua29Zd03yw7pqv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AQAAAACAAADMBgAAFgAAAA==eJzT0hoFo2AUjIJRMAqGNgAA9C4diA==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AQAAAACAAABgNgAAMAwAAA==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 + + diff --git a/geos-mesh/tests/data/fracture_res5_id.vtu b/geos-mesh/tests/data/fracture_res5_id.vtu new file mode 100644 index 00000000..0fba5b61 --- /dev/null +++ b/geos-mesh/tests/data/fracture_res5_id.vtu @@ -0,0 +1,52 @@ + + + + + + + AQAAAACAAABADQAABgMAAA==eJwtyMVSFgAAhVFduHDh+Ah2d2GD2I0NdnchJnZiYmCLgYmtKHZid3djgo0dG2f8z918c27B7Jn+LyVzoIX4BBfmk1yET3FRPs3F+AwX57N8Tkv4S+p5fym+wKX5IpfhS1yWL3M5vsJBfJWvaXl/Bb3ur8g3uBLf5Mp8i6vwba7KdziY7/I9DfFX0/v+UH7A1fkh1+BHXJMfcy1+wrX5KT/TOv66muqvx8+5Pr/gBvySG/IrbsSvuTG/4TQN8zfRdH9TfsvN+B035/fcgj9wS/7IrfgTf9Zwf4Rm+FvzF27DX7ktf+N2/J1nZgm0vX8Wd+BY7siddLa/M8/hudrFP4+7chx34/ncnRdwD17IPbmXLvL35sW8RPv4l3JfXsb9OJ7783IewCt4IEfqSv8gXsUJGuVfzYN5DQ/htTyU1/EwXs/DeYRu8EdzIm/Ukf5NPIo382jewmN4K4/lbTyOx+t2/wTewTt1oj+JJ/Eunsy7eQoncwzv4ak8Tff6p/M+3q8z/Ad4Jh/kWXyIY/kwz+YjPIfn6lH/PD7Gcdwya6DzuRUv4HCO0IX+1ryI2/BiXqJt/Uu5HS/j9hzPHXg5d+ROusLfmVdyF17FCdrVv5q78Rruzmu5B6/jntxL1/t78wbuw4m8Ufv6N3E/3sz9eQsP4K08kCN1m38Qb+co3sE7dbA/iYfwLh7Ku3kYJ/NwHqF7/NG8l0fyPt6vo/wHeDQf5DF8iMfyYR7H4/WIfwIf5Yl8jI/rJH8KT+YTPIVPcgyf4qk8TU/7p/MZPqs5sgWaU8/5c/F5vqC5/Xn0ov+S5vVf5nx8hfPzVS7ABfWavxBf5xta2F9Eb/pvaVH/bS7Gd7g43+USXFLv+UvxfX6gpf1l9KH/kZb1P+Zy/ISD+CmX5wr6zF+RU7kSP+fK/IJfahX/K67KrzmY33AIV9M0fyinc3V+yzX4Hb/Xmv4PXIs/cm3+xHW4rn721+MMrs9fuAF/5W/a0P+dG/EPbsw/OYyb6C9/U/7NzfgPN+e//A+qS/z/ + + + 3905.8931117 + + + 5326.4624283 + + + + + AQAAAACAAACgBgAAbgEAAA==eJwtxdciEAAAAEBRUmlpK9q0aEpbey/tTUMb0d57T6VBO+2NSGjvoflDHrp7uYCA/6o40EGu6moOdnWHuIZrupZDXdt1XNf1XN9hbuCGbuTGbuKmbuZwN3cLRzjSLd3Krd3Gbd3O7R3laHdwR3dyZ3dxjGPd1d3c3T3c070c596Odx/3dT/39wAP9CAneLCHeKiHebhHeKRHebTHeKzHebwneKInebITPcVTPc3TPcMzPcuzPcdzPc/zvcBJTvZCL/JiL3GKl3qZl3uFV3qVVzvVaU73Gmc402u9zuu9wRu9yZu9xVu9zdu9wzu9y7u9x3u9z/t9wAd9yId9xEd9zMd9wid9ylk+7TPO9lmf83lfcI5zfdGXfNlXfNXXfN03nOebvuXbvuO7vuf7fuCHfuTHfuKnzneBC/3MRS72c5f4hUtd5nK/9Cu/9hu/9Tu/9wd/9Cd/9hd/9Td/9w9X+Kd/+bf/+K//uRLqf1df + + + + + AQAAAACAAADgBAAAEgEAAA==eJwtxddCCAAAAMAiozSkoaGh0NAeqGhrSNEg7SFkJKFhlIhoaCBUP9tDdy8XEHAo0Ed81EE+5uM+4ZMOdohPOdRhDneETzvSZxzlaMc41mcd53gnONHnnORkpzjV553mdF/wRV9yhjOd5Wxfdo5zned8F7jQRS52iUt9xVd9zWUud4Wv+4YrXeVq17jWda73TTe40U1u9i23+LZb3eY7vut2d7jTXb7n++72A/e4133u94AHPeRhj3jUDz3mR37sJx73Uz/zc7/whF960q885dd+47ee9oxnPed3fu8P/uh5L/iTF/3ZX7zkr/7mZX/3D6941Wte909veNNb3vYv//Yf7/iv//m/d73nfR8ARZMvOw== + + + + + AQAAAACAAADwCQAAXQIAAA==eJxtlaFOK1EQhheFQZCKq1E3+xQN6Zm+QR8ATdKER1iPQVVvVhxxa6rQtNy6DcFhGzwJkhzF9ITO/93kVn3Z7M78Z86XTtP4r7/YN6dfey7enInvvv4Gdx/ih3dx/ybejOKnrfj1UXxYiz97cbMSX96LrzrxzS3yLJBhir4tek1QvzwHXr+IuwG8FDe/wKtd89/faob3E+qAB/H1i7gp4sPEkF/cT8XdQnxzK77qxJf34mYl/uzFh7X49RF9t+LNiAxv4od35PkQ333h27N5cHsu7i/I+/Wf3+nnHbG7F+zuBbt7we5esLunb0exuxfs7gW7e8HuXrC7F+zuBbt7we6e8iyQYYq+LXpNUL88B7t7qjOAl2J3D9l24qbB8xneT6gDHhL6JuRJyGnIbziX4byGORjmY5ibIZthzob5i9093JfY3cP9it09+CB29+DPHF6J3T2wO5bhXoZ7Ge5luJfhXoZ7p29HcXUvw70M9zLcy3Avw70M9zLcO+VZIMMUfVv0mqD+0b0M9051BvBSXN2LbDvx0b14PsP7CXXAQ0LfhDwJOQ35DecynNcwB8N8DHMzZDPM2TB/cXUv7ktc3Yv7FVf3wgdxdS/8mcMrcXUveB//+3XnlnAvuO7cEu4F151bwj19O4rrzi3hXnDduSXc0+5ZievOLeFecN25pzwLZJiib4teE9Q/7twS7qnOAF6K686NbLt/dqSez/B+Qh3wkNA3IU9CTkN+w7kM5zXMwTAfw9wM2QxzFtedG/eCvltx3blxv+K6c8MHcd254c8cXonrzi3pG10/Tpw= + + + 0 + + + 2304.8861143 + + + + + + + AQAAAACAAACAEwAAWQMAAA==eJxd1Vf7CAQYhnEjpKiUWYmiREX29rf33nvvvffee29KoShbpE2plJXxhRy474Oe9+R3Xff1nL/1Cz2/BjgFJ2M9rB99EtaNnX0ifho7+wSsEzv7eKwdO/s4/CR29rH4cezsY/Cj2NlHY63Y2UdhzdjZR+KHsbOPwBqxsw/HD2JnH4bvx84+FKvHzj4Eq8XOPhjfi519EL4bO/tArBo7+wCsEjt7f3wndvZ+WDl29r74duzsffCt2Nl745uxs/fCSrGz98SKsbP3wAqxs3fH8rGzd8NysbN3xbKxs3fBN2Jn74yvx87eCcvEzt4RX4udvQO+Gjt7e3wldvZ2WDp29rZYKnb2Nvhy7Oyt8aXY2QuwZOzsrfDF2NlbYonY2Vtg8djZm2Ox2Nmb4QuxszfForGzN8EisbM3xsKxszcq9P8rHL0h+k/8O5/jZzgpdvbjODF29mM4IXb2ozg+dvYjOC529sM4Nnb2QzgmdvaDODp29gM4Knb2/TgydvZ9OCJ29r04PHb2PTgsdvbdODR29l04JHb2nTg4dvYdOCh29u04MHb2bTggdvat2D929i3YL3b2zdg3dvZN2Cd29o3YO3b2Ddgrdvb12DN29nXYI3b2tdg9dvY12C129tXYNXb2VdgldvaV2Dl29hXYKXb25dgxdvZl2CF29qXYPnb2JdgudvbF2DZ29kXYJnb2hdg6dvYFWBA7+3xsFTv7PGwZO/tcbBE7+xxsHjv7bGwWO/ssbBo7+0xsEjv7DGwcO/t0bBQ7+zRsGDv7VPSf+Hee4hM8Hjv7YzwWO/sjPBo7+394JHb2h3g4dvYHeCh29vt4MHb2e3ggdva7uD929n9xX+zs/+De2Nnv4J7Y2f/G3bGz/4W7Ymf/E3fGzn4bd8TO/gduj539d9wWO/st3Bo7+03cEjv7b7g5dvZfcVPs7L/gxtjZf8YNsbP/hOtjZ/8R18XO/gOujZ39Bq6Jnf17XB07+3VcFTv7NVwZO/t3uCJ29qu4PHb2K7gsdvbLuDR29ku4JHb2i7g4dvYLuCh29vO4MHb2c7ggdvZvcX7s7N/gvNjZz+Lc2NnP4JzY2b/G2bGzf4WzYmc/jTNjZz+FM2JnP4nTY2f/EqfFzv4FTo2d/QQ+A6EeATg= + + + AQAAAACAAADgBAAADgEAAA==eJwtxRFwAgAAAMC2C4IgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCAaDwSAIgiAIgiAIBkEQDPqXDwbeQg474qhjjjvhpFNOO+Osc8674KJLLrviqmuuu+GmW26746577nvgoUcee+KpZ5574aVXXnvjrb/87R//eue9Dz765LMvvvrmu//88NMvBz7eBR1y2BFHHXPcCSedctoZZ51z3gUXXXLZFVddc90NN91y2x133XPfAw898tgTTz3z3AsvvfLaG2/95W//+Nc7733w0SefffHVN9/954effjnw+S7okMOOOOqY40446ZTTzjjrnPMuuOiSy6646prrbrjpltvu+B9fwUXT + + + AQAAAACAAACcAAAADAAAAA==eJxjZx+8AABPhQRF + + + + + diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index ecd29668..733211c8 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -83,17 +83,17 @@ def test_getNumberOfComponentsDataSet( ( "PERM", False, ( "component1", "component2", "component3" ) ), ( "PORO", False, () ), ] ) -def test_getComponentNamesDataSet( vtkdatasetWithComponentNames: vtkDataSet, attributeName: str, onpoints: bool, +def test_getComponentNamesDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, expected: tuple[ str, ...] ) -> None: """Test getComponentNamesDataSet function. Args: - vtkdatasetWithComponentNames (vtkDataSet): _description_ + vtkDataSetTest (vtkDataSet): _description_ attributeName (str): _description_ onpoints (bool): _description_ expected (tuple[ str, ...]): _description_ """ - obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkdatasetWithComponentNames, attributeName, + obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected From 2f54610a9395451f459b4b96c78ea3a0bb5cc69e Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Thu, 17 Apr 2025 13:32:48 +0200 Subject: [PATCH 18/71] typo --- geos-mesh/tests/test_vtkUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index 733211c8..2fa53d9f 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -80,7 +80,7 @@ def test_getNumberOfComponentsDataSet( @pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PERM", False, ( "component1", "component2", "component3" ) ), +( "PERM", False, ( "AX1", "AX2", "AX3" ) ), ( "PORO", False, () ), ] ) def test_getComponentNamesDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, From 9282283684be9cf63710a48c115b0edda4f5459b Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Thu, 17 Apr 2025 13:45:24 +0200 Subject: [PATCH 19/71] linting --- geos-mesh/tests/test_vtkUtils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index 2fa53d9f..617101c6 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -80,7 +80,7 @@ def test_getNumberOfComponentsDataSet( @pytest.mark.parametrize( "attributeName, onpoints, expected", [ -( "PERM", False, ( "AX1", "AX2", "AX3" ) ), + ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), ( "PORO", False, () ), ] ) def test_getComponentNamesDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, @@ -93,8 +93,7 @@ def test_getComponentNamesDataSet( vtkDataSetTest: vtkDataSet, attributeName: st onpoints (bool): _description_ expected (tuple[ str, ...]): _description_ """ - obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkDataSetTest, attributeName, - onpoints ) + obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected From 416ca06eab4ee3468ae4bdeac81b780df1283b9a Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Thu, 17 Apr 2025 14:06:51 +0200 Subject: [PATCH 20/71] Update data test path --- geos-mesh/tests/conftest.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py index e4035319..e370393c 100644 --- a/geos-mesh/tests/conftest.py +++ b/geos-mesh/tests/conftest.py @@ -3,7 +3,7 @@ # SPDX-FileContributor: Paloma Martinez # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file - +import os import pytest import numpy as np @@ -23,7 +23,9 @@ def array( request: str ) -> npt.NDArray: Returns: npt.NDArray: _description_ """ - data = np.load( "data/data.npz" ) + reference_data = "data/data.npz" + reference_data_path = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), reference_data ) + data = np.load( reference_data_path ) return data[ request.param ] @@ -36,7 +38,10 @@ def vtkDataSetTest() -> vtkDataSet: vtkDataSet: _description_ """ reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() - reader.SetFileName( "../../../GEOS/inputFiles/poromechanicsFractures/domain_res5_id.vtu" ) + vtkFilename = "data/domain_res5_id.vtu" + data_test_path = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), vtkFilename ) + # reader.SetFileName( "geos-mesh/tests/data/domain_res5_id.vtu" ) + reader.SetFileName( data_test_path ) reader.Update() return reader.GetOutput() From 7adc08b80a054df61c2afa8971595a598fdddeca Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 23 Apr 2025 17:16:30 +0200 Subject: [PATCH 21/71] add tests and update cellTypeCounter filter --- .../src/geos/mesh/model/CellTypeCounts.py | 17 +- geos-mesh/src/geos/mesh/processing/helpers.py | 39 +++- .../src/geos/mesh/stats/CellTypeCounter.py | 89 ++++----- geos-mesh/tests/test_CellTypeCounter.py | 24 +-- geos-mesh/tests/test_CellTypeCounts.py | 178 +++++++++--------- geos-pv/src/PVplugins/PVCellTypeCounter.py | 52 ++--- 6 files changed, 203 insertions(+), 196 deletions(-) diff --git a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py index b8d7b606..48fa9193 100644 --- a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -17,13 +17,13 @@ class CellTypeCounts(): def __init__(self: Self ) ->None: """CellTypeCounts stores the number of cells of each type.""" - self._counts: npt.NDArray[np.int64] = np.zeros(VTK_NUMBER_OF_CELL_TYPES) + self._counts: npt.NDArray[np.int64] = np.zeros(VTK_NUMBER_OF_CELL_TYPES, dtype=float) def __str__(self: Self) ->str: """Overload __str__ method. Returns: - str: card string. + str: counts as string. """ return self.print() @@ -39,9 +39,9 @@ def __add__(self: Self, other :Self) ->Self: Self: new CellTypeCounts object """ assert isinstance(other, CellTypeCounts), "Other object must be a CellTypeCounts." - newCard: CellTypeCounts = CellTypeCounts() - newCard._counts = self._counts + other._counts - return newCard + newCounts: CellTypeCounts = CellTypeCounts() + newCounts._counts = self._counts + other._counts + return newCounts def addType(self: Self, cellType: int) ->None: """Increment the number of cell of input type. @@ -87,10 +87,10 @@ def _updateGeneralCounts(self: Self, cellType: int, count: int) ->None: self._counts[VTK_POLYHEDRON] += count def print(self: Self) ->str: - """Print card string. + """Print counts string. Returns: - str: card string. + str: counts string. """ card: str = "" card += "| | |\n" @@ -105,6 +105,3 @@ def print(self: Self) ->str: for cellType in (VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON): card += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(self._counts[cellType]):12} |\n" return card - - - diff --git a/geos-mesh/src/geos/mesh/processing/helpers.py b/geos-mesh/src/geos/mesh/processing/helpers.py index 2122aedf..06ae9205 100644 --- a/geos-mesh/src/geos/mesh/processing/helpers.py +++ b/geos-mesh/src/geos/mesh/processing/helpers.py @@ -3,13 +3,16 @@ # ruff: noqa: E402 # disable Module level import not at top of file import numpy as np import numpy.typing as npt -from typing import Sequence +from typing import Sequence, Union from vtkmodules.util.numpy_support import numpy_to_vtk from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, - vtkIncrementalOctreePointLocator + vtkIncrementalOctreePointLocator, + vtkPointData, + vtkCellData, + vtkDataSet ) from vtkmodules.vtkCommonCore import ( @@ -18,6 +21,38 @@ reference, ) +# TODO: copy from vtkUtils +def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: + """Get the dictionnary of all attributes of a vtkDataSet on points or cells. + + Args: + object (vtkDataSet): object where to find the attributes. + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + dict[str, int]: List of the names of the attributes. + """ + attributes: dict[ str, int ] = {} + data: Union[ vtkPointData, vtkCellData ] + sup: str = "" + if onPoints: + data = object.GetPointData() + sup = "Point" + else: + data = object.GetCellData() + sup = "Cell" + assert data is not None, f"{sup} data was not recovered." + + nbAttributes = data.GetNumberOfArrays() + for i in range( nbAttributes ): + attributeName = data.GetArrayName( i ) + attribute = data.GetArray( attributeName ) + assert attribute is not None, f"Attribut {attributeName} is null" + nbComponents = attribute.GetNumberOfComponents() + attributes[ attributeName ] = nbComponents + return attributes + def getBounds(cellPtsCoord: list[npt.NDArray[np.float64]]) -> Sequence[float]: """Compute bounding box coordinates of the list of points. diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index a2e10dc3..2cfb4bce 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -2,26 +2,26 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Antoine Mazuyer, Martin Lemay from typing_extensions import Self -from vtkmodules.vtkFiltersCore import vtkFeatureEdges from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, + vtkIntArray, ) from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCell, - VTK_VERTEX + vtkTable, + vtkCellTypes, + VTK_VERTEX, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) from geos.mesh.model.CellTypeCounts import CellTypeCounts __doc__ = """ -CellTypeCounter module is a vtk filter that computes mesh stats. +CellTypeCounter module is a vtk filter that computes cell type counts. -Mesh stats include the number of elements of each type. - -Filter input is a vtkUnstructuredGrid. +Filter input is a vtkUnstructuredGrid, output is a vtkTable To use the filter: @@ -38,15 +38,15 @@ filter.SetInputDataObject(input) # do calculations filter.Update() - # get output mesh id card - output :CellTypeCounts = filter.GetCellTypeCounts() + # get counts + counts :CellTypeCounts = filter.GetCellTypeCounts() """ class CellTypeCounter(VTKPythonAlgorithmBase): def __init__(self) ->None: """CellTypeCounter filter computes mesh stats.""" - super().__init__(nInputPorts=1, nOutputPorts=0) - self.card: CellTypeCounts + super().__init__(nInputPorts=1, nOutputPorts=1, inputType="vtkUnstructuredGrid", outputType="vtkTable") + self.counts: CellTypeCounts def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. @@ -61,25 +61,6 @@ def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> in if port == 0: info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - def RequestDataObject(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestDataObject. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inData = self.GetInputData(inInfoVec, 0, 0) - assert inData is not None - return super().RequestDataObject(request, inInfoVec, outInfoVec) - def RequestData(self: Self, request: vtkInformation, # noqa: F841 inInfoVec: list[ vtkInformationVector ], # noqa: F841 @@ -96,37 +77,45 @@ def RequestData(self: Self, int: 1 if calculation successfully ended, 0 otherwise. """ inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) + outTable: vtkTable = vtkTable.GetData(outInfoVec, 0) assert inData is not None, "Input mesh is undefined." + assert outTable is not None, "Output table is undefined." - self.card = CellTypeCounts() - self.card.setTypeCount(VTK_VERTEX, inData.GetNumberOfPoints()) + # compute cell type counts + self.counts = CellTypeCounts() + self.counts.setTypeCount(VTK_VERTEX, inData.GetNumberOfPoints()) for i in range(inData.GetNumberOfCells()): cell: vtkCell = inData.GetCell(i) - self.card.addType(cell.GetCellType()) + self.counts.addType(cell.GetCellType()) + + # create output table + # first reset output table + outTable.RemoveAllRows() + outTable.RemoveAllColumns() + outTable.SetNumberOfRows(1) + + # create columns per types + for cellType in self.getAllCellTypes(): + array: vtkIntArray = vtkIntArray() + array.SetName(vtkCellTypes.GetClassNameFromTypeId(cellType)) + array.SetNumberOfComponents(1) + array.SetNumberOfValues(1) + array.SetValue(0, self.counts.getTypeCount(cellType)) + outTable.AddColumn(array) return 1 - def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: - """Compute the number of edges of the mesh. - - Args: - mesh (vtkUnstructuredGrid): input mesh + def GetCellTypeCounts(self :Self) -> CellTypeCounts: + """Get CellTypeCounts object. Returns: - int: number of edges + CellTypeCounts: CellTypeCounts object. """ - edges: vtkFeatureEdges = vtkFeatureEdges() - edges.BoundaryEdgesOn() - edges.ManifoldEdgesOn() - edges.FeatureEdgesOff() - edges.NonManifoldEdgesOff() - edges.SetInputDataObject(mesh) - edges.Update() - return edges.GetOutput().GetNumberOfCells() + return self.counts - def GetCellTypeCounts(self :Self) -> CellTypeCounts: - """Get CellTypeCounts object. + def getAllCellTypes(self :Self) -> tuple[int,...]: + """Get all cell type ids managed by CellTypeCount class. Returns: - CellTypeCounts: CellTypeCounts object. + tuple[int,...]: tuple containg cell type ids. """ - return self.card + return (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON) \ No newline at end of file diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 6abaf109..eb58977f 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -63,10 +63,10 @@ def test_CellTypeCounter_single( test_case: TestCase ) ->None: filter :CellTypeCounter = CellTypeCounter() filter.SetInputDataObject(test_case.mesh) filter.Update() - card :CellTypeCounts = filter.GetCellTypeCounts() - assert card is not None, "CellTypeCounts is undefined" + counts :CellTypeCounts = filter.GetCellTypeCounts() + assert counts is not None, "CellTypeCounts is undefined" - assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + assert counts.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) @@ -77,12 +77,12 @@ def test_CellTypeCounter_single( test_case: TestCase ) ->None: counts[index] += 1 # check cell type counts for i, elementType in enumerate(elementTypes): - assert int(card.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + assert int(counts.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." nbPolygon: int = counts[0] + counts[1] nbPolyhedra: int = np.sum(counts[2:]) - assert int(card.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." - assert int(card.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + assert int(counts.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int(counts.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: """Generate test cases. @@ -110,10 +110,10 @@ def test_CellTypeCounter_multi( test_case: TestCase ) ->None: filter :CellTypeCounter = CellTypeCounter() filter.SetInputDataObject(test_case.mesh) filter.Update() - card :CellTypeCounts = filter.GetCellTypeCounts() - assert card is not None, "CellTypeCounts is undefined" + counts :CellTypeCounts = filter.GetCellTypeCounts() + assert counts is not None, "CellTypeCounts is undefined" - assert card.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + assert counts.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) @@ -124,9 +124,9 @@ def test_CellTypeCounter_multi( test_case: TestCase ) ->None: counts[index] += 1 # check cell type counts for i, elementType in enumerate(elementTypes): - assert int(card.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + assert int(counts.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." nbPolygon: int = counts[0] + counts[1] nbPolyhedra: int = np.sum(counts[2:]) - assert int(card.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." - assert int(card.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + assert int(counts.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int(counts.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." diff --git a/geos-mesh/tests/test_CellTypeCounts.py b/geos-mesh/tests/test_CellTypeCounts.py index cdf2ab48..b6634a45 100644 --- a/geos-mesh/tests/test_CellTypeCounts.py +++ b/geos-mesh/tests/test_CellTypeCounts.py @@ -47,22 +47,22 @@ def __generate_test_data() -> Iterator[ TestCase ]: strict=True): yield TestCase( nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa ) -def __get_expected_card(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: +def __get_expected_counts(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: nbFaces: int = nbTri + nbQuad nbPolyhedre: int = nbTetra + nbPyr + nbHexa + nbWed - cardExp: str = "" - cardExp += "| | |\n" - cardExp += "| - | - |\n" - cardExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" - cardExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" - cardExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" - cardExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" - cardExp += "| - | - |\n" + countsExp: str = "" + countsExp += "| | |\n" + countsExp += "| - | - |\n" + countsExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" + countsExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" + countsExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" + countsExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" + countsExp += "| - | - |\n" for cellType, nb in zip((VTK_TRIANGLE, VTK_QUAD, ), (nbTri, nbQuad,), strict=True): - cardExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" + countsExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" for cellType, nb in zip((VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON), (nbTetra, nbPyr, nbWed, nbHexa), strict=True): - cardExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" - return cardExp + countsExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" + return countsExp def test_CellTypeCounts_init( ) ->None: """Test of CellTypeCounts . @@ -70,14 +70,14 @@ def test_CellTypeCounts_init( ) ->None: Args: test_case (TestCase): test case """ - card: CellTypeCounts = CellTypeCounts() - assert card.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" - assert card.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" - assert card.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" - assert card.getTypeCount(VTK_TETRA) == 0, "Number of tetrahedra must be 0" - assert card.getTypeCount(VTK_PYRAMID) == 0, "Number of pyramids must be 0" - assert card.getTypeCount(VTK_WEDGE) == 0, "Number of wedges must be 0" - assert card.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" + counts: CellTypeCounts = CellTypeCounts() + assert counts.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" + assert counts.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" + assert counts.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" + assert counts.getTypeCount(VTK_TETRA) == 0, "Number of tetrahedra must be 0" + assert counts.getTypeCount(VTK_PYRAMID) == 0, "Number of pyramids must be 0" + assert counts.getTypeCount(VTK_WEDGE) == 0, "Number of wedges must be 0" + assert counts.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" @pytest.mark.parametrize( "test_case", __generate_test_data()) def test_CellTypeCounts_addType( test_case: TestCase ) ->None: @@ -86,29 +86,29 @@ def test_CellTypeCounts_addType( test_case: TestCase ) ->None: Args: test_case (TestCase): test case """ - card: CellTypeCounts = CellTypeCounts() + counts: CellTypeCounts = CellTypeCounts() for _ in range(test_case.nbVertex): - card.addType(VTK_VERTEX) + counts.addType(VTK_VERTEX) for _ in range(test_case.nbTri): - card.addType(VTK_TRIANGLE) + counts.addType(VTK_TRIANGLE) for _ in range(test_case.nbQuad): - card.addType(VTK_QUAD) + counts.addType(VTK_QUAD) for _ in range(test_case.nbTetra): - card.addType(VTK_TETRA) + counts.addType(VTK_TETRA) for _ in range(test_case.nbPyr): - card.addType(VTK_PYRAMID) + counts.addType(VTK_PYRAMID) for _ in range(test_case.nbWed): - card.addType(VTK_WEDGE) + counts.addType(VTK_WEDGE) for _ in range(test_case.nbHexa): - card.addType(VTK_HEXAHEDRON) + counts.addType(VTK_HEXAHEDRON) - assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" - assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" - assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" - assert card.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" - assert card.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" - assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + assert counts.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert counts.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert counts.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert counts.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert counts.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert counts.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert counts.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" @pytest.mark.parametrize( "test_case", __generate_test_data()) @@ -118,22 +118,22 @@ def test_CellTypeCounts_setCount( test_case: TestCase ) ->None: Args: test_case (TestCase): test case """ - card: CellTypeCounts = CellTypeCounts() - card.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - card.setTypeCount(VTK_QUAD, test_case.nbQuad) - card.setTypeCount(VTK_TETRA, test_case.nbTetra) - card.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - card.setTypeCount(VTK_WEDGE, test_case.nbWed) - card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - - assert card.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert card.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" - assert card.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" - assert card.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" - assert card.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" - assert card.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" - assert card.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + counts: CellTypeCounts = CellTypeCounts() + counts.setTypeCount(VTK_VERTEX, test_case.nbVertex) + counts.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + counts.setTypeCount(VTK_QUAD, test_case.nbQuad) + counts.setTypeCount(VTK_TETRA, test_case.nbTetra) + counts.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + counts.setTypeCount(VTK_WEDGE, test_case.nbWed) + counts.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + assert counts.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert counts.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert counts.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert counts.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert counts.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert counts.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert counts.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" @pytest.mark.parametrize( "test_case", __generate_test_data()) def test_CellTypeCounts_add( test_case: TestCase ) ->None: @@ -142,32 +142,32 @@ def test_CellTypeCounts_add( test_case: TestCase ) ->None: Args: test_case (TestCase): test case """ - card1: CellTypeCounts = CellTypeCounts() - card1.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card1.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - card1.setTypeCount(VTK_QUAD, test_case.nbQuad) - card1.setTypeCount(VTK_TETRA, test_case.nbTetra) - card1.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - card1.setTypeCount(VTK_WEDGE, test_case.nbWed) - card1.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - - card2: CellTypeCounts = CellTypeCounts() - card2.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card2.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - card2.setTypeCount(VTK_QUAD, test_case.nbQuad) - card2.setTypeCount(VTK_TETRA, test_case.nbTetra) - card2.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - card2.setTypeCount(VTK_WEDGE, test_case.nbWed) - card2.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - - newCard: CellTypeCounts = card1 + card2 - assert newCard.getTypeCount(VTK_VERTEX) == int(2 * test_case.nbVertex), f"Number of vertices must be {int(2 * test_case.nbVertex)}" - assert newCard.getTypeCount(VTK_TRIANGLE) == int(2 * test_case.nbTri), f"Number of triangles must be {int(2 * test_case.nbTri)}" - assert newCard.getTypeCount(VTK_QUAD) == int(2 * test_case.nbQuad), f"Number of quads must be {int(2 * test_case.nbQuad)}" - assert newCard.getTypeCount(VTK_TETRA) == int(2 * test_case.nbTetra), f"Number of tetrahedra must be {int(2 * test_case.nbTetra)}" - assert newCard.getTypeCount(VTK_PYRAMID) == int(2 * test_case.nbPyr), f"Number of pyramids must be {int(2 * test_case.nbPyr)}" - assert newCard.getTypeCount(VTK_WEDGE) == int(2 * test_case.nbWed), f"Number of wedges must be {int(2 * test_case.nbWed)}" - assert newCard.getTypeCount(VTK_HEXAHEDRON) == int(2 * test_case.nbHexa), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" + counts1: CellTypeCounts = CellTypeCounts() + counts1.setTypeCount(VTK_VERTEX, test_case.nbVertex) + counts1.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + counts1.setTypeCount(VTK_QUAD, test_case.nbQuad) + counts1.setTypeCount(VTK_TETRA, test_case.nbTetra) + counts1.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + counts1.setTypeCount(VTK_WEDGE, test_case.nbWed) + counts1.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + counts2: CellTypeCounts = CellTypeCounts() + counts2.setTypeCount(VTK_VERTEX, test_case.nbVertex) + counts2.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + counts2.setTypeCount(VTK_QUAD, test_case.nbQuad) + counts2.setTypeCount(VTK_TETRA, test_case.nbTetra) + counts2.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + counts2.setTypeCount(VTK_WEDGE, test_case.nbWed) + counts2.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + + newcounts: CellTypeCounts = counts1 + counts2 + assert newcounts.getTypeCount(VTK_VERTEX) == int(2 * test_case.nbVertex), f"Number of vertices must be {int(2 * test_case.nbVertex)}" + assert newcounts.getTypeCount(VTK_TRIANGLE) == int(2 * test_case.nbTri), f"Number of triangles must be {int(2 * test_case.nbTri)}" + assert newcounts.getTypeCount(VTK_QUAD) == int(2 * test_case.nbQuad), f"Number of quads must be {int(2 * test_case.nbQuad)}" + assert newcounts.getTypeCount(VTK_TETRA) == int(2 * test_case.nbTetra), f"Number of tetrahedra must be {int(2 * test_case.nbTetra)}" + assert newcounts.getTypeCount(VTK_PYRAMID) == int(2 * test_case.nbPyr), f"Number of pyramids must be {int(2 * test_case.nbPyr)}" + assert newcounts.getTypeCount(VTK_WEDGE) == int(2 * test_case.nbWed), f"Number of wedges must be {int(2 * test_case.nbWed)}" + assert newcounts.getTypeCount(VTK_HEXAHEDRON) == int(2 * test_case.nbHexa), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" #cpt = 0 @pytest.mark.parametrize( "test_case", __generate_test_data()) @@ -177,20 +177,20 @@ def test_CellTypeCounts_print( test_case: TestCase ) ->None: Args: test_case (TestCase): test case """ - card: CellTypeCounts = CellTypeCounts() - card.setTypeCount(VTK_VERTEX, test_case.nbVertex) - card.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - card.setTypeCount(VTK_QUAD, test_case.nbQuad) - card.setTypeCount(VTK_TETRA, test_case.nbTetra) - card.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - card.setTypeCount(VTK_WEDGE, test_case.nbWed) - card.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - line: str = card.print() - lineExp: str = __get_expected_card(test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) + counts: CellTypeCounts = CellTypeCounts() + counts.setTypeCount(VTK_VERTEX, test_case.nbVertex) + counts.setTypeCount(VTK_TRIANGLE, test_case.nbTri) + counts.setTypeCount(VTK_QUAD, test_case.nbQuad) + counts.setTypeCount(VTK_TETRA, test_case.nbTetra) + counts.setTypeCount(VTK_PYRAMID, test_case.nbPyr) + counts.setTypeCount(VTK_WEDGE, test_case.nbWed) + counts.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + line: str = counts.print() + lineExp: str = __get_expected_counts(test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) # global cpt - # with open(f"meshIdCard_{cpt}.txt", 'w') as fout: + # with open(f"meshIdcounts_{cpt}.txt", 'w') as fout: # fout.write(line) # fout.write("------------------------------------------------------------\n") # fout.write(lineExp) # cpt += 1 - assert line == lineExp, "Output card string differs from expected value." + assert line == lineExp, "Output counts string differs from expected value." diff --git a/geos-pv/src/PVplugins/PVCellTypeCounter.py b/geos-pv/src/PVplugins/PVCellTypeCounter.py index c349c8e6..eca9f3c0 100644 --- a/geos-pv/src/PVplugins/PVCellTypeCounter.py +++ b/geos-pv/src/PVplugins/PVCellTypeCounter.py @@ -13,10 +13,14 @@ from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, + vtkDoubleArray, ) from vtkmodules.vtkCommonDataModel import ( vtkPointSet, vtkTable, + vtkCellTypes, + vtkUnstructuredGrid, + vtkMultiBlockDataSet, ) # update sys.path to load all GEOS Python Package dependencies @@ -43,16 +47,18 @@ @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkPointSet"], + dataTypes=[ "vtkUnstructuredGrid"], composite_data_supported=True, ) class PVCellTypeCounter(VTKPythonAlgorithmBase): def __init__(self:Self) ->None: """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkTable") self._filename = None self._saveToFile = True + # used to concatenate results if vtkMultiBlockDataSet + self._countsAll: CellTypeCounts = CellTypeCounts() @smproperty.intvector( name="SetSaveToFile", @@ -111,30 +117,6 @@ def d09GroupAdvancedOutputParameters( self: Self ) -> None: """Organize groups.""" self.Modified() - def RequestDataObject( - self: Self, - request: vtkInformation, - inInfoVec: list[ vtkInformationVector ], - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestDataObject. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) - assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): - outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) - def RequestData( self: Self, request: vtkInformation, # noqa: F841 @@ -152,23 +134,27 @@ def RequestData( int: 1 if calculation successfully ended, 0 otherwise. """ inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) - output: vtkTable = self.GetOutputData( outInfoVec, 0 ) + outputTable: vtkTable = vtkTable.GetData(outInfoVec, 0) assert inputMesh is not None, "Input server mesh is null." - assert output is not None, "Output pipeline is null." + assert outputTable is not None, "Output pipeline is null." - output.ShallowCopy(inputMesh) filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject(inputMesh) filter.Update() - card: CellTypeCounts = filter.GetCellTypeCounts() - print(card.print()) + outputTable.ShallowCopy(filter.GetOutputDataObject(0)) + + # print counts in Output Messages view + counts: CellTypeCounts = filter.GetCellTypeCounts() + print(counts.print()) + self._countsAll += counts + # save to file if asked if self._saveToFile: try: with open(self._filename, 'w') as fout: - fout.write(card.print()) + fout.write(self._countsAll.print()) print(f"File {self._filename} was successfully written.") except Exception as e: - print("Error while exporting the file dur to:") + print("Error while exporting the file due to:") print(str(e)) return 1 From a35eb2ca66cf280cde11588180f71ba59896db25 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 23 Apr 2025 17:42:58 +0200 Subject: [PATCH 22/71] ci fix --- .../src/geos/mesh/model/CellTypeCounts.py | 60 +-- .../mesh/processing/MergeColocatedPoints.py | 112 +++-- .../src/geos/mesh/processing/SplitMesh.py | 402 +++++++++--------- geos-mesh/src/geos/mesh/processing/helpers.py | 106 ++--- .../src/geos/mesh/stats/CellTypeCounter.py | 64 ++- geos-mesh/tests/test_CellTypeCounter.py | 139 +++--- geos-mesh/tests/test_CellTypeCounts.py | 263 +++++++----- geos-mesh/tests/test_MergeColocatedPoints.py | 100 +++-- geos-mesh/tests/test_SplitMesh.py | 164 ++++--- .../test_helpers_createSingleCellMesh.py | 68 ++- .../tests/test_helpers_createVertices.py | 152 ++++--- 11 files changed, 865 insertions(+), 765 deletions(-) diff --git a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py index 48fa9193..534ba192 100644 --- a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -4,22 +4,22 @@ import numpy as np import numpy.typing as npt from typing_extensions import Self -from vtkmodules.vtkCommonDataModel import ( - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_NUMBER_OF_CELL_TYPES -) - +from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, + VTK_POLYGON, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, + VTK_NUMBER_OF_CELL_TYPES ) __doc__ = """ CellTypeCounts stores the number of elements of each type. """ + class CellTypeCounts(): - def __init__(self: Self ) ->None: + + def __init__( self: Self ) -> None: """CellTypeCounts stores the number of cells of each type.""" - self._counts: npt.NDArray[np.int64] = np.zeros(VTK_NUMBER_OF_CELL_TYPES, dtype=float) + self._counts: npt.NDArray[ np.int64 ] = np.zeros( VTK_NUMBER_OF_CELL_TYPES, dtype=float ) - def __str__(self: Self) ->str: + def __str__( self: Self ) -> str: """Overload __str__ method. Returns: @@ -27,7 +27,7 @@ def __str__(self: Self) ->str: """ return self.print() - def __add__(self: Self, other :Self) ->Self: + def __add__( self: Self, other: Self ) -> Self: """Addition operator. CellTypeCounts addition consists in suming counts. @@ -38,32 +38,32 @@ def __add__(self: Self, other :Self) ->Self: Returns: Self: new CellTypeCounts object """ - assert isinstance(other, CellTypeCounts), "Other object must be a CellTypeCounts." + assert isinstance( other, CellTypeCounts ), "Other object must be a CellTypeCounts." newCounts: CellTypeCounts = CellTypeCounts() newCounts._counts = self._counts + other._counts return newCounts - def addType(self: Self, cellType: int) ->None: + def addType( self: Self, cellType: int ) -> None: """Increment the number of cell of input type. Args: cellType (int): cell type """ - self._counts[cellType] += 1 - self._updateGeneralCounts(cellType, 1) + self._counts[ cellType ] += 1 + self._updateGeneralCounts( cellType, 1 ) - def setTypeCount(self: Self, cellType: int, count: int) ->None: + def setTypeCount( self: Self, cellType: int, count: int ) -> None: """Set the number of cells of input type. Args: cellType (int): cell type count (int): number of cells """ - prevCount = self._counts[cellType] - self._counts[cellType] = count - self._updateGeneralCounts(cellType, count - prevCount) + prevCount = self._counts[ cellType ] + self._counts[ cellType ] = count + self._updateGeneralCounts( cellType, count - prevCount ) - def getTypeCount(self: Self, cellType: int)->int: + def getTypeCount( self: Self, cellType: int ) -> int: """Get the number of cells of input type. Args: @@ -72,36 +72,36 @@ def getTypeCount(self: Self, cellType: int)->int: Returns: int: number of cells """ - return int(self._counts[cellType]) + return int( self._counts[ cellType ] ) - def _updateGeneralCounts(self: Self, cellType: int, count: int) ->None: + def _updateGeneralCounts( self: Self, cellType: int, count: int ) -> None: """Update generic type counters. Args: cellType (int): cell type count (int): count increment """ - if (cellType != VTK_POLYGON) and (vtkCellTypes.GetDimension(cellType) == 2): - self._counts[VTK_POLYGON] += count - if (cellType != VTK_POLYHEDRON) and (vtkCellTypes.GetDimension(cellType) == 3): - self._counts[VTK_POLYHEDRON] += count + if ( cellType != VTK_POLYGON ) and ( vtkCellTypes.GetDimension( cellType ) == 2 ): + self._counts[ VTK_POLYGON ] += count + if ( cellType != VTK_POLYHEDRON ) and ( vtkCellTypes.GetDimension( cellType ) == 3 ): + self._counts[ VTK_POLYHEDRON ] += count - def print(self: Self) ->str: + def print( self: Self ) -> str: """Print counts string. Returns: str: counts string. """ card: str = "" - card += "| | |\n" - card += "| - | - |\n" + card += "| | |\n" + card += "| - | - |\n" card += f"| **Total Number of Vertices** | {int(self._counts[VTK_VERTEX]):12} |\n" card += f"| **Total Number of Polygon** | {int(self._counts[VTK_POLYGON]):12} |\n" card += f"| **Total Number of Polyhedron** | {int(self._counts[VTK_POLYHEDRON]):12} |\n" card += f"| **Total Number of Cells** | {int(self._counts[VTK_POLYHEDRON]+self._counts[VTK_POLYGON]):12} |\n" - card += "| - | - |\n" - for cellType in (VTK_TRIANGLE, VTK_QUAD): + card += "| - | - |\n" + for cellType in ( VTK_TRIANGLE, VTK_QUAD ): card += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(self._counts[cellType]):12} |\n" - for cellType in (VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON): + for cellType in ( VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ): card += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(self._counts[cellType]):12} |\n" return card diff --git a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py index 14851c03..77d57cc5 100644 --- a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py +++ b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py @@ -19,7 +19,6 @@ vtkCell, ) - __doc__ = """ MergeColocatedPoints module is a vtk filter that merges colocated points from input mesh. @@ -47,10 +46,12 @@ output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) """ -class MergeColocatedPoints(VTKPythonAlgorithmBase): - def __init__(self: Self ) ->None: + +class MergeColocatedPoints( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """MergeColocatedPoints filter merges duplacted points of the input mesh.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. @@ -63,13 +64,14 @@ def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> i int: 1 if calculation successfully ended, 0 otherwise. """ if port == 0: - info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - - def RequestDataObject(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + + def RequestDataObject( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestDataObject. Args: @@ -80,19 +82,20 @@ def RequestDataObject(self: Self, Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) - - def RequestData(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestData. Args: @@ -104,17 +107,14 @@ def RequestData(self: Self, int: 1 if calculation successfully ended, 0 otherwise. """ inData: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( inInfoVec[ 0 ] ) - output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) + output: vtkUnstructuredGrid = self.GetOutputData( outInfoVec, 0 ) assert inData is not None, "Input mesh is undefined." assert output is not None, "Output mesh is undefined." - vertexMap: list[int] = self.setMergePoints(inData, output) - self.setCells(inData, output, vertexMap) + vertexMap: list[ int ] = self.setMergePoints( inData, output ) + self.setCells( inData, output, vertexMap ) return 1 - def setMergePoints(self :Self, - input: vtkUnstructuredGrid, - output: vtkUnstructuredGrid - ) ->list[int]: + def setMergePoints( self: Self, input: vtkUnstructuredGrid, output: vtkUnstructuredGrid ) -> list[ int ]: """Merge duplicated points and set new points and attributes to output mesh. Args: @@ -124,36 +124,33 @@ def setMergePoints(self :Self, Returns: list[int]: list containing new point ids. """ - vertexMap: list[int] = [] + vertexMap: list[ int ] = [] newPoints: vtkPoints = vtkPoints() # use point locator to check for colocated points pointsLocator = vtkIncrementalOctreePointLocator() - pointsLocator.InitPointInsertion(newPoints,input.GetBounds()) + pointsLocator.InitPointInsertion( newPoints, input.GetBounds() ) # create an array to count the number of colocated points vertexCount: vtkIntArray = vtkIntArray() - vertexCount.SetName("Count") - ptId = reference(0) - countD: int = 0 # total number of colocated points - for v in range(input.GetNumberOfPoints()): - inserted: bool = pointsLocator.InsertUniquePoint( input.GetPoints().GetPoint(v), ptId) + vertexCount.SetName( "Count" ) + ptId = reference( 0 ) + countD: int = 0 # total number of colocated points + for v in range( input.GetNumberOfPoints() ): + inserted: bool = pointsLocator.InsertUniquePoint( input.GetPoints().GetPoint( v ), ptId ) if inserted: - vertexCount.InsertNextValue(1) + vertexCount.InsertNextValue( 1 ) else: - vertexCount.SetValue( ptId, vertexCount.GetValue(ptId) + 1) + vertexCount.SetValue( ptId, vertexCount.GetValue( ptId ) + 1 ) countD = countD + 1 - vertexMap += [ptId.get()] + vertexMap += [ ptId.get() ] - output.SetPoints(pointsLocator.GetLocatorPoints()) + output.SetPoints( pointsLocator.GetLocatorPoints() ) # copy point attributes - output.GetPointData().DeepCopy(input.GetPointData()) + output.GetPointData().DeepCopy( input.GetPointData() ) # add the array to points data - output.GetPointData().AddArray(vertexCount) + output.GetPointData().AddArray( vertexCount ) return vertexMap - def setCells(self :Self, - input: vtkUnstructuredGrid, - output: vtkUnstructuredGrid, - vertexMap: list[int]) ->bool: + def setCells( self: Self, input: vtkUnstructuredGrid, output: vtkUnstructuredGrid, vertexMap: list[ int ] ) -> bool: """Set cell point ids and attributes to output mesh. Args: @@ -166,21 +163,22 @@ def setCells(self :Self, """ nbCells: int = input.GetNumberOfCells() nbPoints: int = output.GetNumberOfPoints() - assert np.unique(vertexMap).size == nbPoints, "The size of the list of point ids must be equal to the number of points." + assert np.unique( + vertexMap ).size == nbPoints, "The size of the list of point ids must be equal to the number of points." cellTypes: vtkCellTypes = vtkCellTypes() - input.GetCellTypes(cellTypes) - output.Allocate(nbCells) + input.GetCellTypes( cellTypes ) + output.Allocate( nbCells ) # create mesh cells - for cellId in range(nbCells): - cell: vtkCell = input.GetCell(cellId) + for cellId in range( nbCells ): + cell: vtkCell = input.GetCell( cellId ) # create cells from point ids cellsID: vtkIdList = vtkIdList() - for ptId in range(cell.GetNumberOfPoints()): - ptIdOld: int = cell.GetPointId(ptId) - ptIdNew: int = vertexMap[ptIdOld] - cellsID.InsertNextId(ptIdNew) - output.InsertNextCell(cell.GetCellType(), cellsID) + for ptId in range( cell.GetNumberOfPoints() ): + ptIdOld: int = cell.GetPointId( ptId ) + ptIdNew: int = vertexMap[ ptIdOld ] + cellsID.InsertNextId( ptIdNew ) + output.InsertNextCell( cell.GetCellType(), cellsID ) # copy cell attributes assert output.GetNumberOfCells() == nbCells, "Output and input mesh must have the same number of cells." - output.GetCellData().DeepCopy(input.GetCellData()) + output.GetCellData().DeepCopy( input.GetCellData() ) return True diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index 0b977f3b..ea9a25bc 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -18,11 +18,14 @@ vtkCellData, vtkCell, vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, + VTK_TRIANGLE, + VTK_QUAD, + VTK_TETRA, + VTK_HEXAHEDRON, + VTK_PYRAMID, ) -from vtkmodules.util.numpy_support import (numpy_to_vtk, - vtk_to_numpy) +from vtkmodules.util.numpy_support import ( numpy_to_vtk, vtk_to_numpy ) __doc__ = """ SplitMesh module is a vtk filter that split cells of a mesh composed of Tetrahedra, pyramids, and hexahedra. @@ -48,19 +51,20 @@ output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) """ -class SplitMesh(VTKPythonAlgorithmBase): - def __init__(self) ->None: +class SplitMesh( VTKPythonAlgorithmBase ): + + def __init__( self ) -> None: """SplitMesh filter splits each cell using edge centers.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) self.inData: vtkUnstructuredGrid self.cells: vtkCellArray self.points: vtkPoints self.originalId: vtkIdTypeArray - self.cellTypes: list[int] + self.cellTypes: list[ int ] - def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. Args: @@ -71,13 +75,14 @@ def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> in int: 1 if calculation successfully ended, 0 otherwise. """ if port == 0: - info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - - def RequestDataObject(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + + def RequestDataObject( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestDataObject. Args: @@ -88,19 +93,20 @@ def RequestDataObject(self: Self, Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) - - def RequestData(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestData. Args: @@ -111,8 +117,8 @@ def RequestData(self: Self, Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - self.inData = self.GetInputData(inInfoVec, 0, 0) - output: vtkUnstructuredGrid = self.GetOutputData(outInfoVec, 0) + self.inData = self.GetInputData( inInfoVec, 0, 0 ) + output: vtkUnstructuredGrid = self.GetOutputData( outInfoVec, 0 ) assert self.inData is not None, "Input mesh is undefined." assert output is not None, "Output mesh is undefined." @@ -121,46 +127,46 @@ def RequestData(self: Self, nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad = self._get_cell_counts() self.points = vtkPoints() - self.points.DeepCopy(self.inData.GetPoints()) + self.points.DeepCopy( self.inData.GetPoints() ) nbNewPoints: int = 0 volumeCellCounts = nb_hex + nb_tet + nb_pyr nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 if volumeCellCounts > 0 else nb_triangles * 3 + nb_quad * 5 nbNewCells: int = nb_hex * 8 + nb_tet * 8 + nb_pyr * 10 * nb_triangles * 4 + nb_quad * 4 - self.points.Resize( self.inData.GetNumberOfPoints() + nbNewPoints) + self.points.Resize( self.inData.GetNumberOfPoints() + nbNewPoints ) self.cells = vtkCellArray() - self.cells.AllocateExact(nbNewCells, 8) + self.cells.AllocateExact( nbNewCells, 8 ) self.originalId = vtkIdTypeArray() - self.originalId.SetName("OriginalID") - self.originalId.Allocate(nbNewCells) + self.originalId.SetName( "OriginalID" ) + self.originalId.Allocate( nbNewCells ) self.cellTypes = [] - for c in range(nb_cells): - cell: vtkCell = self.inData.GetCell(c) + for c in range( nb_cells ): + cell: vtkCell = self.inData.GetCell( c ) cellType: int = cell.GetCellType() if cellType == VTK_HEXAHEDRON: - self._split_hexahedron(cell, c) + self._split_hexahedron( cell, c ) elif cellType == VTK_TETRA: - self._split_tetrahedron(cell, c) + self._split_tetrahedron( cell, c ) elif cellType == VTK_PYRAMID: - self._split_pyramid(cell, c) + self._split_pyramid( cell, c ) elif cellType == VTK_TRIANGLE: - self._split_triangle(cell, c) + self._split_triangle( cell, c ) elif cellType == VTK_QUAD: - self._split_quad(cell, c) + self._split_quad( cell, c ) else: - raise TypeError(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is not supported.") + raise TypeError( f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is not supported." ) # add points and cells - output.SetPoints(self.points) - output.SetCells(self.cellTypes, self.cells) + output.SetPoints( self.points ) + output.SetCells( self.cellTypes, self.cells ) # add attribute saving original cell ids cellArrays: vtkCellData = output.GetCellData() assert cellArrays is not None, "Cell data is undefined." - cellArrays.AddArray(self.originalId) + cellArrays.AddArray( self.originalId ) # transfer all cell arrays - self._transferCellArrays(output) + self._transferCellArrays( output ) return 1 - def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: + def _get_cell_counts( self: Self ) -> tuple[ int, int, int, int, int ]: """Get the number of cells of each type. Returns: @@ -173,8 +179,8 @@ def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: nb_pyr: int = 0 nb_triangles: int = 0 nb_quad: int = 0 - for c in range(nb_cells): - cell: vtkCell = self.inData.GetCell(c) + for c in range( nb_cells ): + cell: vtkCell = self.inData.GetCell( c ) cellType = cell.GetCellType() if cellType == VTK_HEXAHEDRON: nb_hex = nb_hex + 1 @@ -188,7 +194,7 @@ def _get_cell_counts(self: Self) -> tuple[int, int, int, int, int]: nb_quad = nb_quad + 1 return nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad - def _addMidPoint( self: Self, ptA :int, ptB :int) ->int: + def _addMidPoint( self: Self, ptA: int, ptB: int ) -> int: """Add a point at the center of the edge defined by input point ids. Args: @@ -198,12 +204,12 @@ def _addMidPoint( self: Self, ptA :int, ptB :int) ->int: Returns: int: inserted point Id """ - ptACoor: npt.NDArray[np.float64] = np.array(self.points.GetPoint(ptA)) - ptBCoor: npt.NDArray[np.float64] = np.array(self.points.GetPoint(ptB)) - center: npt.NDArray[np.float64] = (ptACoor + ptBCoor) / 2. - return self.points.InsertNextPoint(center[0], center[1], center[2]) + ptACoor: npt.NDArray[ np.float64 ] = np.array( self.points.GetPoint( ptA ) ) + ptBCoor: npt.NDArray[ np.float64 ] = np.array( self.points.GetPoint( ptB ) ) + center: npt.NDArray[ np.float64 ] = ( ptACoor + ptBCoor ) / 2. + return self.points.InsertNextPoint( center[ 0 ], center[ 1 ], center[ 2 ] ) - def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: + def _split_tetrahedron( self: Self, cell: vtkCell, index: int ) -> None: r"""Split a tetrahedron. Let's suppose an input tetrahedron composed of nodes (0, 1, 2, 3), @@ -226,30 +232,30 @@ def _split_tetrahedron(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) - pt1: int = cell.GetPointId(1) - pt2: int = cell.GetPointId(2) - pt3: int = cell.GetPointId(3) - pt4: int = self._addMidPoint(pt0,pt1) - pt5: int = self._addMidPoint(pt1,pt2) - pt6: int = self._addMidPoint(pt0,pt2) - pt7: int = self._addMidPoint(pt0,pt3) - pt8: int = self._addMidPoint(pt2,pt3) - pt9: int = self._addMidPoint(pt1,pt3) - - self.cells.InsertNextCell(4, [pt0,pt4,pt6,pt7]) - self.cells.InsertNextCell(4, [pt7,pt9,pt8,pt3]) - self.cells.InsertNextCell(4, [pt9,pt4,pt5,pt1]) - self.cells.InsertNextCell(4, [pt5,pt6,pt8,pt2]) - self.cells.InsertNextCell(4, [pt6,pt8,pt7,pt4]) - self.cells.InsertNextCell(4, [pt4,pt8,pt7,pt9]) - self.cells.InsertNextCell(4, [pt4,pt8,pt9,pt5]) - self.cells.InsertNextCell(4, [pt5,pt4,pt8,pt6]) - for _ in range(8): - self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_TETRA]*8) - - def _split_pyramid(self :Self, cell: vtkCell, index: int) -> None: + pt0: int = cell.GetPointId( 0 ) + pt1: int = cell.GetPointId( 1 ) + pt2: int = cell.GetPointId( 2 ) + pt3: int = cell.GetPointId( 3 ) + pt4: int = self._addMidPoint( pt0, pt1 ) + pt5: int = self._addMidPoint( pt1, pt2 ) + pt6: int = self._addMidPoint( pt0, pt2 ) + pt7: int = self._addMidPoint( pt0, pt3 ) + pt8: int = self._addMidPoint( pt2, pt3 ) + pt9: int = self._addMidPoint( pt1, pt3 ) + + self.cells.InsertNextCell( 4, [ pt0, pt4, pt6, pt7 ] ) + self.cells.InsertNextCell( 4, [ pt7, pt9, pt8, pt3 ] ) + self.cells.InsertNextCell( 4, [ pt9, pt4, pt5, pt1 ] ) + self.cells.InsertNextCell( 4, [ pt5, pt6, pt8, pt2 ] ) + self.cells.InsertNextCell( 4, [ pt6, pt8, pt7, pt4 ] ) + self.cells.InsertNextCell( 4, [ pt4, pt8, pt7, pt9 ] ) + self.cells.InsertNextCell( 4, [ pt4, pt8, pt9, pt5 ] ) + self.cells.InsertNextCell( 4, [ pt5, pt4, pt8, pt6 ] ) + for _ in range( 8 ): + self.originalId.InsertNextValue( index ) + self.cellTypes.extend( [ VTK_TETRA ] * 8 ) + + def _split_pyramid( self: Self, cell: vtkCell, index: int ) -> None: r"""Split a pyramid. Let's suppose an input pyramid composed of nodes (0, 1, 2, 3, 4), @@ -274,37 +280,37 @@ def _split_pyramid(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) - pt1: int = cell.GetPointId(1) - pt2: int = cell.GetPointId(2) - pt3: int = cell.GetPointId(3) - pt4: int = cell.GetPointId(4) - pt5: int = self._addMidPoint(pt0,pt1) - pt6: int = self._addMidPoint(pt0,pt3) - pt7: int = self._addMidPoint(pt0,pt4) - pt8: int = self._addMidPoint(pt1,pt2) - pt9: int = self._addMidPoint(pt1,pt4) - pt10: int = self._addMidPoint(pt2,pt3) - pt11: int = self._addMidPoint(pt2,pt4) - pt12: int = self._addMidPoint(pt3,pt4) - pt13: int = self._addMidPoint(pt5,pt10) - - self.cells.InsertNextCell(5, [pt5,pt1,pt8,pt13,pt9]) - self.cells.InsertNextCell(5, [pt13,pt8,pt2,pt10,pt11]) - self.cells.InsertNextCell(5, [pt3,pt6,pt13,pt10,pt12]) - self.cells.InsertNextCell(5, [pt6,pt0,pt5,pt13,pt7]) - self.cells.InsertNextCell(5, [pt12,pt7,pt9,pt11,pt4]) - self.cells.InsertNextCell(5, [pt11,pt9,pt7,pt12,pt13]) - - self.cells.InsertNextCell(4, [pt7,pt9,pt5,pt13]) - self.cells.InsertNextCell(4, [pt9,pt11,pt8,pt13]) - self.cells.InsertNextCell(4, [pt11,pt12,pt10,pt13]) - self.cells.InsertNextCell(4, [pt12,pt7,pt6,pt13]) - for _ in range(10): - self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_PYRAMID]*8) - - def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: + pt0: int = cell.GetPointId( 0 ) + pt1: int = cell.GetPointId( 1 ) + pt2: int = cell.GetPointId( 2 ) + pt3: int = cell.GetPointId( 3 ) + pt4: int = cell.GetPointId( 4 ) + pt5: int = self._addMidPoint( pt0, pt1 ) + pt6: int = self._addMidPoint( pt0, pt3 ) + pt7: int = self._addMidPoint( pt0, pt4 ) + pt8: int = self._addMidPoint( pt1, pt2 ) + pt9: int = self._addMidPoint( pt1, pt4 ) + pt10: int = self._addMidPoint( pt2, pt3 ) + pt11: int = self._addMidPoint( pt2, pt4 ) + pt12: int = self._addMidPoint( pt3, pt4 ) + pt13: int = self._addMidPoint( pt5, pt10 ) + + self.cells.InsertNextCell( 5, [ pt5, pt1, pt8, pt13, pt9 ] ) + self.cells.InsertNextCell( 5, [ pt13, pt8, pt2, pt10, pt11 ] ) + self.cells.InsertNextCell( 5, [ pt3, pt6, pt13, pt10, pt12 ] ) + self.cells.InsertNextCell( 5, [ pt6, pt0, pt5, pt13, pt7 ] ) + self.cells.InsertNextCell( 5, [ pt12, pt7, pt9, pt11, pt4 ] ) + self.cells.InsertNextCell( 5, [ pt11, pt9, pt7, pt12, pt13 ] ) + + self.cells.InsertNextCell( 4, [ pt7, pt9, pt5, pt13 ] ) + self.cells.InsertNextCell( 4, [ pt9, pt11, pt8, pt13 ] ) + self.cells.InsertNextCell( 4, [ pt11, pt12, pt10, pt13 ] ) + self.cells.InsertNextCell( 4, [ pt12, pt7, pt6, pt13 ] ) + for _ in range( 10 ): + self.originalId.InsertNextValue( index ) + self.cellTypes.extend( [ VTK_PYRAMID ] * 8 ) + + def _split_hexahedron( self: Self, cell: vtkCell, index: int ) -> None: r"""Split a hexahedron. Let's suppose an input hexahedron composed of nodes (0, 1, 2, 3, 4, 5, 6, 7), @@ -326,47 +332,47 @@ def _split_hexahedron(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) - pt1: int = cell.GetPointId(1) - pt2: int = cell.GetPointId(2) - pt3: int = cell.GetPointId(3) - pt4: int = cell.GetPointId(4) - pt5: int = cell.GetPointId(5) - pt6: int = cell.GetPointId(6) - pt7: int = cell.GetPointId(7) - pt8: int = self._addMidPoint(pt0,pt1) - pt9: int = self._addMidPoint(pt0,pt3) - pt10: int = self._addMidPoint(pt0,pt4) - pt11: int = self._addMidPoint(pt1,pt2) - pt12: int = self._addMidPoint(pt1,pt5) - pt13: int = self._addMidPoint(pt2,pt3) - pt14: int = self._addMidPoint(pt2,pt6) - pt15: int = self._addMidPoint(pt3,pt7) - pt16: int = self._addMidPoint(pt4,pt5) - pt17: int = self._addMidPoint(pt4,pt7) - pt18: int = self._addMidPoint(pt5,pt6) - pt19: int = self._addMidPoint(pt6,pt7) - pt20: int = self._addMidPoint(pt9,pt11) - pt21: int = self._addMidPoint(pt10,pt12) - pt22: int = self._addMidPoint(pt9,pt17) - pt23: int = self._addMidPoint(pt11,pt18) - pt24: int = self._addMidPoint(pt14,pt15) - pt25: int = self._addMidPoint(pt17,pt18) - pt26: int = self._addMidPoint(pt22,pt23) - - self.cells.InsertNextCell(8, [pt10,pt21,pt26,pt22,pt4,pt16,pt25,pt17]) - self.cells.InsertNextCell(8, [pt21,pt12,pt23,pt26,pt16,pt5,pt18,pt25]) - self.cells.InsertNextCell(8, [pt0,pt8,pt20,pt9,pt10,pt21,pt26,pt22]) - self.cells.InsertNextCell(8, [pt8,pt1,pt11,pt20,pt21,pt12,pt23,pt26]) - self.cells.InsertNextCell(8, [pt22,pt26,pt24,pt15,pt17,pt25,pt19,pt7]) - self.cells.InsertNextCell(8, [pt26,pt23,pt14,pt24,pt25,pt18,pt6,pt19]) - self.cells.InsertNextCell(8, [pt9,pt20,pt13,pt3,pt22,pt26,pt24,pt15]) - self.cells.InsertNextCell(8, [pt20,pt11,pt2,pt13,pt26,pt23,pt14,pt24]) - for _ in range(8): - self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_HEXAHEDRON]*8) - - def _split_triangle(self :Self, cell: vtkCell, index: int) -> None: + pt0: int = cell.GetPointId( 0 ) + pt1: int = cell.GetPointId( 1 ) + pt2: int = cell.GetPointId( 2 ) + pt3: int = cell.GetPointId( 3 ) + pt4: int = cell.GetPointId( 4 ) + pt5: int = cell.GetPointId( 5 ) + pt6: int = cell.GetPointId( 6 ) + pt7: int = cell.GetPointId( 7 ) + pt8: int = self._addMidPoint( pt0, pt1 ) + pt9: int = self._addMidPoint( pt0, pt3 ) + pt10: int = self._addMidPoint( pt0, pt4 ) + pt11: int = self._addMidPoint( pt1, pt2 ) + pt12: int = self._addMidPoint( pt1, pt5 ) + pt13: int = self._addMidPoint( pt2, pt3 ) + pt14: int = self._addMidPoint( pt2, pt6 ) + pt15: int = self._addMidPoint( pt3, pt7 ) + pt16: int = self._addMidPoint( pt4, pt5 ) + pt17: int = self._addMidPoint( pt4, pt7 ) + pt18: int = self._addMidPoint( pt5, pt6 ) + pt19: int = self._addMidPoint( pt6, pt7 ) + pt20: int = self._addMidPoint( pt9, pt11 ) + pt21: int = self._addMidPoint( pt10, pt12 ) + pt22: int = self._addMidPoint( pt9, pt17 ) + pt23: int = self._addMidPoint( pt11, pt18 ) + pt24: int = self._addMidPoint( pt14, pt15 ) + pt25: int = self._addMidPoint( pt17, pt18 ) + pt26: int = self._addMidPoint( pt22, pt23 ) + + self.cells.InsertNextCell( 8, [ pt10, pt21, pt26, pt22, pt4, pt16, pt25, pt17 ] ) + self.cells.InsertNextCell( 8, [ pt21, pt12, pt23, pt26, pt16, pt5, pt18, pt25 ] ) + self.cells.InsertNextCell( 8, [ pt0, pt8, pt20, pt9, pt10, pt21, pt26, pt22 ] ) + self.cells.InsertNextCell( 8, [ pt8, pt1, pt11, pt20, pt21, pt12, pt23, pt26 ] ) + self.cells.InsertNextCell( 8, [ pt22, pt26, pt24, pt15, pt17, pt25, pt19, pt7 ] ) + self.cells.InsertNextCell( 8, [ pt26, pt23, pt14, pt24, pt25, pt18, pt6, pt19 ] ) + self.cells.InsertNextCell( 8, [ pt9, pt20, pt13, pt3, pt22, pt26, pt24, pt15 ] ) + self.cells.InsertNextCell( 8, [ pt20, pt11, pt2, pt13, pt26, pt23, pt14, pt24 ] ) + for _ in range( 8 ): + self.originalId.InsertNextValue( index ) + self.cellTypes.extend( [ VTK_HEXAHEDRON ] * 8 ) + + def _split_triangle( self: Self, cell: vtkCell, index: int ) -> None: r"""Split a triangle. Let's suppose an input triangle composed of nodes (0, 1, 2), @@ -384,22 +390,22 @@ def _split_triangle(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) - pt1: int = cell.GetPointId(1) - pt2: int = cell.GetPointId(2) - pt3: int = self._addMidPoint(pt0,pt1) - pt4: int = self._addMidPoint(pt1,pt2) - pt5: int = self._addMidPoint(pt0,pt2) - - self.cells.InsertNextCell(3, [pt0,pt3,pt5]) - self.cells.InsertNextCell(3, [pt3,pt1,pt4]) - self.cells.InsertNextCell(3, [pt5,pt4,pt2]) - self.cells.InsertNextCell(3, [pt3,pt4,pt5]) - for _ in range(4): - self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_TRIANGLE]*4) - - def _split_quad(self :Self, cell: vtkCell, index: int) -> None: + pt0: int = cell.GetPointId( 0 ) + pt1: int = cell.GetPointId( 1 ) + pt2: int = cell.GetPointId( 2 ) + pt3: int = self._addMidPoint( pt0, pt1 ) + pt4: int = self._addMidPoint( pt1, pt2 ) + pt5: int = self._addMidPoint( pt0, pt2 ) + + self.cells.InsertNextCell( 3, [ pt0, pt3, pt5 ] ) + self.cells.InsertNextCell( 3, [ pt3, pt1, pt4 ] ) + self.cells.InsertNextCell( 3, [ pt5, pt4, pt2 ] ) + self.cells.InsertNextCell( 3, [ pt3, pt4, pt5 ] ) + for _ in range( 4 ): + self.originalId.InsertNextValue( index ) + self.cellTypes.extend( [ VTK_TRIANGLE ] * 4 ) + + def _split_quad( self: Self, cell: vtkCell, index: int ) -> None: r"""Split a quad. Let's suppose an input quad composed of nodes (0, 1, 2, 3), @@ -417,27 +423,25 @@ def _split_quad(self :Self, cell: vtkCell, index: int) -> None: cell (vtkCell): cell to split index (int): index of the cell """ - pt0: int = cell.GetPointId(0) - pt1: int = cell.GetPointId(1) - pt2: int = cell.GetPointId(2) - pt3: int = cell.GetPointId(3) - pt4: int = self._addMidPoint(pt0,pt1) - pt5: int = self._addMidPoint(pt1,pt2) - pt6: int = self._addMidPoint(pt2,pt3) - pt7: int = self._addMidPoint(pt3,pt0) - pt8: int = self._addMidPoint(pt7,pt5) - - self.cells.InsertNextCell(4, [pt0,pt4,pt8,pt7]) - self.cells.InsertNextCell(4, [pt4,pt1,pt5,pt8]) - self.cells.InsertNextCell(4, [pt8,pt5,pt2,pt6]) - self.cells.InsertNextCell(4, [pt7,pt8,pt6,pt3]) - for _ in range(4): - self.originalId.InsertNextValue(index) - self.cellTypes.extend([VTK_QUAD]*4) - - def _transferCellArrays(self :Self, - splittedMesh: vtkUnstructuredGrid - ) ->bool: + pt0: int = cell.GetPointId( 0 ) + pt1: int = cell.GetPointId( 1 ) + pt2: int = cell.GetPointId( 2 ) + pt3: int = cell.GetPointId( 3 ) + pt4: int = self._addMidPoint( pt0, pt1 ) + pt5: int = self._addMidPoint( pt1, pt2 ) + pt6: int = self._addMidPoint( pt2, pt3 ) + pt7: int = self._addMidPoint( pt3, pt0 ) + pt8: int = self._addMidPoint( pt7, pt5 ) + + self.cells.InsertNextCell( 4, [ pt0, pt4, pt8, pt7 ] ) + self.cells.InsertNextCell( 4, [ pt4, pt1, pt5, pt8 ] ) + self.cells.InsertNextCell( 4, [ pt8, pt5, pt2, pt6 ] ) + self.cells.InsertNextCell( 4, [ pt7, pt8, pt6, pt3 ] ) + for _ in range( 4 ): + self.originalId.InsertNextValue( index ) + self.cellTypes.extend( [ VTK_QUAD ] * 4 ) + + def _transferCellArrays( self: Self, splittedMesh: vtkUnstructuredGrid ) -> bool: """Transfer arrays from input mesh to splitted mesh. Args: @@ -451,23 +455,23 @@ def _transferCellArrays(self :Self, cellData: vtkCellData = self.inData.GetCellData() assert cellData is not None, "Cell data of input mesh should be defined." # for each array of input mesh - for i in range(cellData.GetNumberOfArrays()): - array: vtkDataArray = cellData.GetArray(i) + for i in range( cellData.GetNumberOfArrays() ): + array: vtkDataArray = cellData.GetArray( i ) assert array is not None, "Array should be defined." - npArray: npt.NDArray[np.float64] = vtk_to_numpy(array) + npArray: npt.NDArray[ np.float64 ] = vtk_to_numpy( array ) # get number of components - dims: tuple[int,...] = npArray.shape - ny:int = 1 if len(dims) == 1 else dims[1] + dims: tuple[ int, ...] = npArray.shape + ny: int = 1 if len( dims ) == 1 else dims[ 1 ] # create new array with nb cells from splitted mesh and number of components from array to copy - newNpArray: npt.NDArray[np.float64] = np.full((splittedMesh.GetNumberOfCells(), ny), np.nan) + newNpArray: npt.NDArray[ np.float64 ] = np.full( ( splittedMesh.GetNumberOfCells(), ny ), np.nan ) # for each cell, copy the values from input mesh - for c in range(splittedMesh.GetNumberOfCells()): - idParent: int = int(self.originalId.GetTuple1(c)) - newNpArray[c] = npArray[idParent] + for c in range( splittedMesh.GetNumberOfCells() ): + idParent: int = int( self.originalId.GetTuple1( c ) ) + newNpArray[ c ] = npArray[ idParent ] # set array the splitted mesh - newArray: vtkDataArray = numpy_to_vtk(newNpArray) - newArray.SetName(array.GetName()) - cellDataSplitted.AddArray(newArray) + newArray: vtkDataArray = numpy_to_vtk( newNpArray ) + newArray.SetName( array.GetName() ) + cellDataSplitted.AddArray( newArray ) cellDataSplitted.Modified() splittedMesh.Modified() return True diff --git a/geos-mesh/src/geos/mesh/processing/helpers.py b/geos-mesh/src/geos/mesh/processing/helpers.py index 06ae9205..ae104ecc 100644 --- a/geos-mesh/src/geos/mesh/processing/helpers.py +++ b/geos-mesh/src/geos/mesh/processing/helpers.py @@ -7,13 +7,8 @@ from vtkmodules.util.numpy_support import numpy_to_vtk -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkIncrementalOctreePointLocator, - vtkPointData, - vtkCellData, - vtkDataSet -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkIncrementalOctreePointLocator, vtkPointData, + vtkCellData, vtkDataSet ) from vtkmodules.vtkCommonCore import ( vtkPoints, @@ -21,6 +16,7 @@ reference, ) + # TODO: copy from vtkUtils def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: """Get the dictionnary of all attributes of a vtkDataSet on points or cells. @@ -53,7 +49,8 @@ def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, attributes[ attributeName ] = nbComponents return attributes -def getBounds(cellPtsCoord: list[npt.NDArray[np.float64]]) -> Sequence[float]: + +def getBounds( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: """Compute bounding box coordinates of the list of points. Args: @@ -62,16 +59,24 @@ def getBounds(cellPtsCoord: list[npt.NDArray[np.float64]]) -> Sequence[float]: Returns: Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) """ - bounds: list[float] = [np.inf, -np.inf, np.inf, -np.inf, np.inf, -np.inf,] + bounds: list[ float ] = [ + np.inf, + -np.inf, + np.inf, + -np.inf, + np.inf, + -np.inf, + ] for ptsCoords in cellPtsCoord: - mins: npt.NDArray[np.float64] = np.min(ptsCoords, axis=0) - maxs: npt.NDArray[np.float64] = np.max(ptsCoords, axis=0) - for i in range(3): - bounds[2 * i] = float(min(bounds[2 * i], mins[i])) - bounds[2 * i + 1] = float(max(bounds[2 * i + 1], maxs[i])) + mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) + maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) + for i in range( 3 ): + bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) + bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) return bounds -def createSingleCellMesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtkUnstructuredGrid: + +def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: """Create a mesh that consists of a single cell. Args: @@ -81,28 +86,28 @@ def createSingleCellMesh(cellType: int, ptsCoord: npt.NDArray[np.float64]) ->vtk Returns: vtkUnstructuredGrid: output mesh """ - nbPoints: int = ptsCoord.shape[0] - points: npt.NDArray[np.float64] = np.vstack((ptsCoord,)) + nbPoints: int = ptsCoord.shape[ 0 ] + points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) # Convert points to vtkPoints object vtkpts: vtkPoints = vtkPoints() - vtkpts.SetData(numpy_to_vtk(points)) + vtkpts.SetData( numpy_to_vtk( points ) ) # create cells from point ids cellsID: vtkIdList = vtkIdList() for j in range( nbPoints ): - cellsID.InsertNextId(j) + cellsID.InsertNextId( j ) # add cell to mesh mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - mesh.SetPoints(vtkpts) - mesh.Allocate(1) - mesh.InsertNextCell(cellType, cellsID) + mesh.SetPoints( vtkpts ) + mesh.Allocate( 1 ) + mesh.InsertNextCell( cellType, cellsID ) return mesh -def createMultiCellMesh(cellTypes: list[int], - cellPtsCoord: list[npt.NDArray[np.float64]], - sharePoints: bool = True - ) ->vtkUnstructuredGrid: + +def createMultiCellMesh( cellTypes: list[ int ], + cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + sharePoints: bool = True ) -> vtkUnstructuredGrid: """Create a mesh that consists of multiple cells. .. WARNING:: the mesh is not check for conformity. @@ -115,27 +120,28 @@ def createMultiCellMesh(cellTypes: list[int], Returns: vtkUnstructuredGrid: output mesh """ - assert len(cellPtsCoord) == len(cellTypes), "The lists of cell types of point coordinates must be of same size." - nbCells: int = len(cellPtsCoord) + assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." + nbCells: int = len( cellPtsCoord ) mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() points: vtkPoints - cellVertexMapAll: list[tuple[int, ...]] - points, cellVertexMapAll = createVertices(cellPtsCoord, sharePoints) - assert len(cellVertexMapAll) == len(cellTypes), "The lists of cell types of cell point ids must be of same size." - mesh.SetPoints(points) - mesh.Allocate(nbCells) + cellVertexMapAll: list[ tuple[ int, ...] ] + points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) + assert len( cellVertexMapAll ) == len( + cellTypes ), "The lists of cell types of cell point ids must be of same size." + mesh.SetPoints( points ) + mesh.Allocate( nbCells ) # create mesh cells - for cellType, ptsId in zip(cellTypes, cellVertexMapAll, strict=True): + for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): # create cells from point ids cellsID: vtkIdList = vtkIdList() for ptId in ptsId: - cellsID.InsertNextId(ptId) - mesh.InsertNextCell(cellType, cellsID) + cellsID.InsertNextId( ptId ) + mesh.InsertNextCell( cellType, cellsID ) return mesh -def createVertices(cellPtsCoord: list[npt.NDArray[np.float64]], - shared: bool = True - ) -> tuple[vtkPoints, list[tuple[int, ...]]]: + +def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: """Create vertices from cell point coordinates list. Args: @@ -147,22 +153,22 @@ def createVertices(cellPtsCoord: list[npt.NDArray[np.float64]], map of cell point ids """ # get point bounds - bounds: list[float] = getBounds(cellPtsCoord) + bounds: list[ float ] = getBounds( cellPtsCoord ) points: vtkPoints = vtkPoints() # use point locator to check for colocated points pointsLocator = vtkIncrementalOctreePointLocator() - pointsLocator.InitPointInsertion(points, bounds) - cellVertexMapAll: list[tuple[int, ...]] = [] - ptId: reference = reference(0) - ptsCoords: npt.NDArray[np.float64] + pointsLocator.InitPointInsertion( points, bounds ) + cellVertexMapAll: list[ tuple[ int, ...] ] = [] + ptId: reference = reference( 0 ) + ptsCoords: npt.NDArray[ np.float64 ] for ptsCoords in cellPtsCoord: - cellVertexMap: list[reference] = [] - pt: npt.NDArray[np.float64] # 1DArray + cellVertexMap: list[ reference ] = [] + pt: npt.NDArray[ np.float64 ] # 1DArray for pt in ptsCoords: if shared: - pointsLocator.InsertUniquePoint( pt.tolist(), ptId) + pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) else: - pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1) - cellVertexMap += [ptId.get()] - cellVertexMapAll += [tuple(cellVertexMap)] + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) + cellVertexMap += [ ptId.get() ] + cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index 2cfb4bce..2036ebbb 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -8,13 +8,8 @@ vtkInformationVector, vtkIntArray, ) -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCell, - vtkTable, - vtkCellTypes, - VTK_VERTEX, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCell, vtkTable, vtkCellTypes, VTK_VERTEX, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) from geos.mesh.model.CellTypeCounts import CellTypeCounts @@ -41,14 +36,16 @@ # get counts counts :CellTypeCounts = filter.GetCellTypeCounts() """ -class CellTypeCounter(VTKPythonAlgorithmBase): - def __init__(self) ->None: + +class CellTypeCounter( VTKPythonAlgorithmBase ): + + def __init__( self ) -> None: """CellTypeCounter filter computes mesh stats.""" - super().__init__(nInputPorts=1, nOutputPorts=1, inputType="vtkUnstructuredGrid", outputType="vtkTable") + super().__init__( nInputPorts=1, nOutputPorts=1, inputType="vtkUnstructuredGrid", outputType="vtkTable" ) self.counts: CellTypeCounts - def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. Args: @@ -59,13 +56,14 @@ def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> in int: 1 if calculation successfully ended, 0 otherwise. """ if port == 0: - info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") - - def RequestData(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestData. Args: @@ -76,35 +74,35 @@ def RequestData(self: Self, Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) - outTable: vtkTable = vtkTable.GetData(outInfoVec, 0) + inData: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) + outTable: vtkTable = vtkTable.GetData( outInfoVec, 0 ) assert inData is not None, "Input mesh is undefined." assert outTable is not None, "Output table is undefined." # compute cell type counts self.counts = CellTypeCounts() - self.counts.setTypeCount(VTK_VERTEX, inData.GetNumberOfPoints()) - for i in range(inData.GetNumberOfCells()): - cell: vtkCell = inData.GetCell(i) - self.counts.addType(cell.GetCellType()) + self.counts.setTypeCount( VTK_VERTEX, inData.GetNumberOfPoints() ) + for i in range( inData.GetNumberOfCells() ): + cell: vtkCell = inData.GetCell( i ) + self.counts.addType( cell.GetCellType() ) # create output table # first reset output table outTable.RemoveAllRows() outTable.RemoveAllColumns() - outTable.SetNumberOfRows(1) + outTable.SetNumberOfRows( 1 ) # create columns per types for cellType in self.getAllCellTypes(): array: vtkIntArray = vtkIntArray() - array.SetName(vtkCellTypes.GetClassNameFromTypeId(cellType)) - array.SetNumberOfComponents(1) - array.SetNumberOfValues(1) - array.SetValue(0, self.counts.getTypeCount(cellType)) - outTable.AddColumn(array) + array.SetName( vtkCellTypes.GetClassNameFromTypeId( cellType ) ) + array.SetNumberOfComponents( 1 ) + array.SetNumberOfValues( 1 ) + array.SetValue( 0, self.counts.getTypeCount( cellType ) ) + outTable.AddColumn( array ) return 1 - def GetCellTypeCounts(self :Self) -> CellTypeCounts: + def GetCellTypeCounts( self: Self ) -> CellTypeCounts: """Get CellTypeCounts object. Returns: @@ -112,10 +110,10 @@ def GetCellTypeCounts(self :Self) -> CellTypeCounts: """ return self.counts - def getAllCellTypes(self :Self) -> tuple[int,...]: + def getAllCellTypes( self: Self ) -> tuple[ int, ...]: """Get all cell type ids managed by CellTypeCount class. Returns: tuple[int,...]: tuple containg cell type ids. """ - return (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON) \ No newline at end of file + return ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index eb58977f..83be05ed 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -7,8 +7,7 @@ import numpy.typing as npt import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.processing.helpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.CellTypeCounter import CellTypeCounter @@ -18,20 +17,29 @@ vtkUnstructuredGrid, vtkCellTypes, vtkCell, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_VERTEX, VTK_POLYHEDRON, VTK_POLYGON, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, + VTK_TRIANGLE, + VTK_QUAD, + VTK_TETRA, + VTK_VERTEX, + VTK_POLYHEDRON, + VTK_POLYGON, + VTK_PYRAMID, + VTK_HEXAHEDRON, + VTK_WEDGE, ) #from vtkmodules.vtkFiltersSources import vtkCubeSource +data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) -data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") +filename_all: tuple[ str, ...] = ( "triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", + "hexa_cell.csv" ) +cellType_all: tuple[ int, ...] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON ) -filename_all: tuple[str,...] = ("triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", "hexa_cell.csv") -cellType_all: tuple[int, ...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON) +filename_all2: tuple[ str, ...] = ( "tetra_mesh.csv", "hexa_mesh.csv" ) +cellType_all2: tuple[ int, ...] = ( VTK_TETRA, VTK_HEXAHEDRON ) +nbPtsCell_all2: tuple[ int ] = ( 4, 8 ) -filename_all2: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") -cellType_all2: tuple[int, ...] = (VTK_TETRA, VTK_HEXAHEDRON) -nbPtsCell_all2: tuple[int] = (4, 8) @dataclass( frozen=True ) class TestCase: @@ -47,42 +55,52 @@ def __generate_test_data_single_cell() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, filename in zip(cellType_all, filename_all, strict=True): - ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, filename), dtype=float, delimiter=',') - mesh: vtkUnstructuredGrid = createSingleCellMesh(cellType, ptsCoord) + for cellType, filename in zip( cellType_all, filename_all, strict=True ): + ptsCoord: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, filename ), + dtype=float, + delimiter=',' ) + mesh: vtkUnstructuredGrid = createSingleCellMesh( cellType, ptsCoord ) yield TestCase( mesh ) -ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cellType_all] + +ids: list[ str ] = [ vtkCellTypes.GetClassNameFromTypeId( cellType ) for cellType in cellType_all ] + + @pytest.mark.parametrize( "test_case", __generate_test_data_single_cell(), ids=ids ) -def test_CellTypeCounter_single( test_case: TestCase ) ->None: +def test_CellTypeCounter_single( test_case: TestCase ) -> None: """Test of CellTypeCounter filter. Args: test_case (TestCase): test case """ - filter :CellTypeCounter = CellTypeCounter() - filter.SetInputDataObject(test_case.mesh) + filter: CellTypeCounter = CellTypeCounter() + filter.SetInputDataObject( test_case.mesh ) filter.Update() - counts :CellTypeCounts = filter.GetCellTypeCounts() + counts: CellTypeCounts = filter.GetCellTypeCounts() assert counts is not None, "CellTypeCounts is undefined" - assert counts.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + assert counts.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( + ), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell - elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) - counts: npt.NDArray[np.int64] = np.zeros(len(elementTypes)) - for i in range(test_case.mesh.GetNumberOfCells()): - cell: vtkCell = test_case.mesh.GetCell(i) - index: int = elementTypes.index(cell.GetCellType()) - counts[index] += 1 + elementTypes: tuple[ int ] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE ) + counts: npt.NDArray[ np.int64 ] = np.zeros( len( elementTypes ) ) + for i in range( test_case.mesh.GetNumberOfCells() ): + cell: vtkCell = test_case.mesh.GetCell( i ) + index: int = elementTypes.index( cell.GetCellType() ) + counts[ index ] += 1 # check cell type counts - for i, elementType in enumerate(elementTypes): - assert int(counts.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + for i, elementType in enumerate( elementTypes ): + assert int( + counts.getTypeCount( elementType ) + ) == counts[ i ], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + + nbPolygon: int = counts[ 0 ] + counts[ 1 ] + nbPolyhedra: int = np.sum( counts[ 2: ] ) + assert int( counts.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int( + counts.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." - nbPolygon: int = counts[0] + counts[1] - nbPolyhedra: int = np.sum(counts[2:]) - assert int(counts.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." - assert int(counts.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: """Generate test cases. @@ -90,43 +108,54 @@ def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, filename, nbPtsCell in zip(cellType_all2, filename_all2, nbPtsCell_all2, strict=True): - ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, filename), dtype=float, delimiter=',') + for cellType, filename, nbPtsCell in zip( cellType_all2, filename_all2, nbPtsCell_all2, strict=True ): + ptsCoords: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, filename ), + dtype=float, + delimiter=',' ) # split array to get a list of coordinates per cell - cellPtsCoords: list[npt.NDArray[np.float64]]= [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] - nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) - cellTypes = nbCells * [cellType] - mesh: vtkUnstructuredGrid = createMultiCellMesh(cellTypes, cellPtsCoords, True) + cellPtsCoords: list[ npt.NDArray[ np.float64 ] ] = [ + ptsCoords[ i:i + nbPtsCell ] for i in range( 0, ptsCoords.shape[ 0 ], nbPtsCell ) + ] + nbCells: int = int( ptsCoords.shape[ 0 ] / nbPtsCell ) + cellTypes = nbCells * [ cellType ] + mesh: vtkUnstructuredGrid = createMultiCellMesh( cellTypes, cellPtsCoords, True ) yield TestCase( mesh ) -ids2: list[str] = [os.path.splitext(name)[0] for name in filename_all2] + +ids2: list[ str ] = [ os.path.splitext( name )[ 0 ] for name in filename_all2 ] + + @pytest.mark.parametrize( "test_case", __generate_test_data_multi_cell(), ids=ids2 ) -def test_CellTypeCounter_multi( test_case: TestCase ) ->None: +def test_CellTypeCounter_multi( test_case: TestCase ) -> None: """Test of CellTypeCounter filter. Args: test_case (TestCase): test case """ - filter :CellTypeCounter = CellTypeCounter() - filter.SetInputDataObject(test_case.mesh) + filter: CellTypeCounter = CellTypeCounter() + filter.SetInputDataObject( test_case.mesh ) filter.Update() - counts :CellTypeCounts = filter.GetCellTypeCounts() + counts: CellTypeCounts = filter.GetCellTypeCounts() assert counts is not None, "CellTypeCounts is undefined" - assert counts.getTypeCount(VTK_VERTEX) == test_case.mesh.GetNumberOfPoints(), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" + assert counts.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( + ), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell - elementTypes: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE) - counts: npt.NDArray[np.int64] = np.zeros(len(elementTypes)) - for i in range(test_case.mesh.GetNumberOfCells()): - cell: vtkCell = test_case.mesh.GetCell(i) - index: int = elementTypes.index(cell.GetCellType()) - counts[index] += 1 + elementTypes: tuple[ int ] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE ) + counts: npt.NDArray[ np.int64 ] = np.zeros( len( elementTypes ) ) + for i in range( test_case.mesh.GetNumberOfCells() ): + cell: vtkCell = test_case.mesh.GetCell( i ) + index: int = elementTypes.index( cell.GetCellType() ) + counts[ index ] += 1 # check cell type counts - for i, elementType in enumerate(elementTypes): - assert int(counts.getTypeCount(elementType)) == counts[i], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." - - nbPolygon: int = counts[0] + counts[1] - nbPolyhedra: int = np.sum(counts[2:]) - assert int(counts.getTypeCount(VTK_POLYGON)) == nbPolygon, f"The number of faces should be {nbPolygon}." - assert int(counts.getTypeCount(VTK_POLYHEDRON)) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + for i, elementType in enumerate( elementTypes ): + assert int( + counts.getTypeCount( elementType ) + ) == counts[ i ], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." + + nbPolygon: int = counts[ 0 ] + counts[ 1 ] + nbPolyhedra: int = np.sum( counts[ 2: ] ) + assert int( counts.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int( + counts.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." diff --git a/geos-mesh/tests/test_CellTypeCounts.py b/geos-mesh/tests/test_CellTypeCounts.py index b6634a45..39637ef0 100644 --- a/geos-mesh/tests/test_CellTypeCounts.py +++ b/geos-mesh/tests/test_CellTypeCounts.py @@ -4,37 +4,35 @@ from dataclasses import dataclass import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.model.CellTypeCounts import CellTypeCounts -from vtkmodules.vtkCommonDataModel import ( - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_VERTEX -) - +from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, + VTK_HEXAHEDRON, VTK_WEDGE, VTK_VERTEX ) # inputs -nbVertex_all: tuple[int] = (3, 4, 5, 8, 10, 20) -nbTri_all: tuple[int] = (1, 0, 3, 0, 0, 4) -nbQuad_all: tuple[int] = (0, 1, 0, 6, 0, 3) -nbTetra_all: tuple[int] = (0, 0, 1, 0, 4, 0) -nbPyr_all: tuple[int] = (0, 0, 0, 0, 0, 4) -nbWed_all: tuple[int] = (0, 0, 0, 0, 0, 2) -nbHexa_all: tuple[int] = (0, 0, 0, 1, 0, 5) +nbVertex_all: tuple[ int ] = ( 3, 4, 5, 8, 10, 20 ) +nbTri_all: tuple[ int ] = ( 1, 0, 3, 0, 0, 4 ) +nbQuad_all: tuple[ int ] = ( 0, 1, 0, 6, 0, 3 ) +nbTetra_all: tuple[ int ] = ( 0, 0, 1, 0, 4, 0 ) +nbPyr_all: tuple[ int ] = ( 0, 0, 0, 0, 0, 4 ) +nbWed_all: tuple[ int ] = ( 0, 0, 0, 0, 0, 2 ) +nbHexa_all: tuple[ int ] = ( 0, 0, 0, 1, 0, 5 ) + @dataclass( frozen=True ) class TestCase: """Test case.""" __test__ = False - nbVertex: tuple[int] - nbTri: tuple[int] - nbQuad: tuple[int] - nbTetra: tuple[int] - nbPyr: tuple[int] - nbWed: tuple[int] - nbHexa: tuple[int] + nbVertex: tuple[ int ] + nbTri: tuple[ int ] + nbQuad: tuple[ int ] + nbTetra: tuple[ int ] + nbPyr: tuple[ int ] + nbWed: tuple[ int ] + nbHexa: tuple[ int ] + def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -42,151 +40,184 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa in zip( - nbVertex_all, nbTri_all, nbQuad_all, nbTetra_all, nbPyr_all, nbWed_all, nbHexa_all, - strict=True): + for nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa in zip( nbVertex_all, + nbTri_all, + nbQuad_all, + nbTetra_all, + nbPyr_all, + nbWed_all, + nbHexa_all, + strict=True ): yield TestCase( nbVertex, nbTri, nbQuad, nbTetra, nbPyr, nbWed, nbHexa ) -def __get_expected_counts(nbVertex: int, nbTri: int, nbQuad: int, nbTetra: int, nbPyr: int, nbWed: int, nbHexa: int,) ->str: + +def __get_expected_counts( + nbVertex: int, + nbTri: int, + nbQuad: int, + nbTetra: int, + nbPyr: int, + nbWed: int, + nbHexa: int, +) -> str: nbFaces: int = nbTri + nbQuad nbPolyhedre: int = nbTetra + nbPyr + nbHexa + nbWed countsExp: str = "" - countsExp += "| | |\n" - countsExp += "| - | - |\n" + countsExp += "| | |\n" + countsExp += "| - | - |\n" countsExp += f"| **Total Number of Vertices** | {int(nbVertex):12} |\n" countsExp += f"| **Total Number of Polygon** | {int(nbFaces):12} |\n" countsExp += f"| **Total Number of Polyhedron** | {int(nbPolyhedre):12} |\n" countsExp += f"| **Total Number of Cells** | {int(nbPolyhedre+nbFaces):12} |\n" - countsExp += "| - | - |\n" - for cellType, nb in zip((VTK_TRIANGLE, VTK_QUAD, ), (nbTri, nbQuad,), strict=True): + countsExp += "| - | - |\n" + for cellType, nb in zip( ( + VTK_TRIANGLE, + VTK_QUAD, + ), ( + nbTri, + nbQuad, + ), strict=True ): countsExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" - for cellType, nb in zip((VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON), (nbTetra, nbPyr, nbWed, nbHexa), strict=True): + for cellType, nb in zip( ( VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ), ( nbTetra, nbPyr, nbWed, nbHexa ), + strict=True ): countsExp += f"| **Total Number of {vtkCellTypes.GetClassNameFromTypeId(cellType):<13}** | {int(nb):12} |\n" return countsExp -def test_CellTypeCounts_init( ) ->None: + +def test_CellTypeCounts_init() -> None: """Test of CellTypeCounts . Args: test_case (TestCase): test case """ counts: CellTypeCounts = CellTypeCounts() - assert counts.getTypeCount(VTK_VERTEX) == 0, "Number of vertices must be 0" - assert counts.getTypeCount(VTK_TRIANGLE) == 0, "Number of triangles must be 0" - assert counts.getTypeCount(VTK_QUAD) == 0, "Number of quads must be 0" - assert counts.getTypeCount(VTK_TETRA) == 0, "Number of tetrahedra must be 0" - assert counts.getTypeCount(VTK_PYRAMID) == 0, "Number of pyramids must be 0" - assert counts.getTypeCount(VTK_WEDGE) == 0, "Number of wedges must be 0" - assert counts.getTypeCount(VTK_HEXAHEDRON) == 0, "Number of hexahedra must be 0" - -@pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_CellTypeCounts_addType( test_case: TestCase ) ->None: + assert counts.getTypeCount( VTK_VERTEX ) == 0, "Number of vertices must be 0" + assert counts.getTypeCount( VTK_TRIANGLE ) == 0, "Number of triangles must be 0" + assert counts.getTypeCount( VTK_QUAD ) == 0, "Number of quads must be 0" + assert counts.getTypeCount( VTK_TETRA ) == 0, "Number of tetrahedra must be 0" + assert counts.getTypeCount( VTK_PYRAMID ) == 0, "Number of pyramids must be 0" + assert counts.getTypeCount( VTK_WEDGE ) == 0, "Number of wedges must be 0" + assert counts.getTypeCount( VTK_HEXAHEDRON ) == 0, "Number of hexahedra must be 0" + + +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_CellTypeCounts_addType( test_case: TestCase ) -> None: """Test of CellTypeCounts . Args: test_case (TestCase): test case """ counts: CellTypeCounts = CellTypeCounts() - for _ in range(test_case.nbVertex): - counts.addType(VTK_VERTEX) - for _ in range(test_case.nbTri): - counts.addType(VTK_TRIANGLE) - for _ in range(test_case.nbQuad): - counts.addType(VTK_QUAD) - for _ in range(test_case.nbTetra): - counts.addType(VTK_TETRA) - for _ in range(test_case.nbPyr): - counts.addType(VTK_PYRAMID) - for _ in range(test_case.nbWed): - counts.addType(VTK_WEDGE) - for _ in range(test_case.nbHexa): - counts.addType(VTK_HEXAHEDRON) - - assert counts.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert counts.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" - assert counts.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" - assert counts.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" - assert counts.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" - assert counts.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" - assert counts.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" - - -@pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_CellTypeCounts_setCount( test_case: TestCase ) ->None: + for _ in range( test_case.nbVertex ): + counts.addType( VTK_VERTEX ) + for _ in range( test_case.nbTri ): + counts.addType( VTK_TRIANGLE ) + for _ in range( test_case.nbQuad ): + counts.addType( VTK_QUAD ) + for _ in range( test_case.nbTetra ): + counts.addType( VTK_TETRA ) + for _ in range( test_case.nbPyr ): + counts.addType( VTK_PYRAMID ) + for _ in range( test_case.nbWed ): + counts.addType( VTK_WEDGE ) + for _ in range( test_case.nbHexa ): + counts.addType( VTK_HEXAHEDRON ) + + assert counts.getTypeCount( VTK_VERTEX ) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert counts.getTypeCount( VTK_TRIANGLE ) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert counts.getTypeCount( VTK_QUAD ) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert counts.getTypeCount( VTK_TETRA ) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert counts.getTypeCount( VTK_PYRAMID ) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert counts.getTypeCount( VTK_WEDGE ) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert counts.getTypeCount( VTK_HEXAHEDRON ) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + + +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_CellTypeCounts_setCount( test_case: TestCase ) -> None: """Test of CellTypeCounts . Args: test_case (TestCase): test case """ counts: CellTypeCounts = CellTypeCounts() - counts.setTypeCount(VTK_VERTEX, test_case.nbVertex) - counts.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - counts.setTypeCount(VTK_QUAD, test_case.nbQuad) - counts.setTypeCount(VTK_TETRA, test_case.nbTetra) - counts.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - counts.setTypeCount(VTK_WEDGE, test_case.nbWed) - counts.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) - - assert counts.getTypeCount(VTK_VERTEX) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" - assert counts.getTypeCount(VTK_TRIANGLE) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" - assert counts.getTypeCount(VTK_QUAD) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" - assert counts.getTypeCount(VTK_TETRA) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" - assert counts.getTypeCount(VTK_PYRAMID) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" - assert counts.getTypeCount(VTK_WEDGE) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" - assert counts.getTypeCount(VTK_HEXAHEDRON) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" - -@pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_CellTypeCounts_add( test_case: TestCase ) ->None: + counts.setTypeCount( VTK_VERTEX, test_case.nbVertex ) + counts.setTypeCount( VTK_TRIANGLE, test_case.nbTri ) + counts.setTypeCount( VTK_QUAD, test_case.nbQuad ) + counts.setTypeCount( VTK_TETRA, test_case.nbTetra ) + counts.setTypeCount( VTK_PYRAMID, test_case.nbPyr ) + counts.setTypeCount( VTK_WEDGE, test_case.nbWed ) + counts.setTypeCount( VTK_HEXAHEDRON, test_case.nbHexa ) + + assert counts.getTypeCount( VTK_VERTEX ) == test_case.nbVertex, f"Number of vertices must be {test_case.nbVertex}" + assert counts.getTypeCount( VTK_TRIANGLE ) == test_case.nbTri, f"Number of triangles must be {test_case.nbTri}" + assert counts.getTypeCount( VTK_QUAD ) == test_case.nbQuad, f"Number of quads must be {test_case.nbQuad}" + assert counts.getTypeCount( VTK_TETRA ) == test_case.nbTetra, f"Number of tetrahedra must be {test_case.nbTetra}" + assert counts.getTypeCount( VTK_PYRAMID ) == test_case.nbPyr, f"Number of pyramids must be {test_case.nbPyr}" + assert counts.getTypeCount( VTK_WEDGE ) == test_case.nbWed, f"Number of wedges must be {test_case.nbWed}" + assert counts.getTypeCount( VTK_HEXAHEDRON ) == test_case.nbHexa, f"Number of hexahedra must be {test_case.nbHexa}" + + +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_CellTypeCounts_add( test_case: TestCase ) -> None: """Test of CellTypeCounts . Args: test_case (TestCase): test case """ counts1: CellTypeCounts = CellTypeCounts() - counts1.setTypeCount(VTK_VERTEX, test_case.nbVertex) - counts1.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - counts1.setTypeCount(VTK_QUAD, test_case.nbQuad) - counts1.setTypeCount(VTK_TETRA, test_case.nbTetra) - counts1.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - counts1.setTypeCount(VTK_WEDGE, test_case.nbWed) - counts1.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + counts1.setTypeCount( VTK_VERTEX, test_case.nbVertex ) + counts1.setTypeCount( VTK_TRIANGLE, test_case.nbTri ) + counts1.setTypeCount( VTK_QUAD, test_case.nbQuad ) + counts1.setTypeCount( VTK_TETRA, test_case.nbTetra ) + counts1.setTypeCount( VTK_PYRAMID, test_case.nbPyr ) + counts1.setTypeCount( VTK_WEDGE, test_case.nbWed ) + counts1.setTypeCount( VTK_HEXAHEDRON, test_case.nbHexa ) counts2: CellTypeCounts = CellTypeCounts() - counts2.setTypeCount(VTK_VERTEX, test_case.nbVertex) - counts2.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - counts2.setTypeCount(VTK_QUAD, test_case.nbQuad) - counts2.setTypeCount(VTK_TETRA, test_case.nbTetra) - counts2.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - counts2.setTypeCount(VTK_WEDGE, test_case.nbWed) - counts2.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + counts2.setTypeCount( VTK_VERTEX, test_case.nbVertex ) + counts2.setTypeCount( VTK_TRIANGLE, test_case.nbTri ) + counts2.setTypeCount( VTK_QUAD, test_case.nbQuad ) + counts2.setTypeCount( VTK_TETRA, test_case.nbTetra ) + counts2.setTypeCount( VTK_PYRAMID, test_case.nbPyr ) + counts2.setTypeCount( VTK_WEDGE, test_case.nbWed ) + counts2.setTypeCount( VTK_HEXAHEDRON, test_case.nbHexa ) newcounts: CellTypeCounts = counts1 + counts2 - assert newcounts.getTypeCount(VTK_VERTEX) == int(2 * test_case.nbVertex), f"Number of vertices must be {int(2 * test_case.nbVertex)}" - assert newcounts.getTypeCount(VTK_TRIANGLE) == int(2 * test_case.nbTri), f"Number of triangles must be {int(2 * test_case.nbTri)}" - assert newcounts.getTypeCount(VTK_QUAD) == int(2 * test_case.nbQuad), f"Number of quads must be {int(2 * test_case.nbQuad)}" - assert newcounts.getTypeCount(VTK_TETRA) == int(2 * test_case.nbTetra), f"Number of tetrahedra must be {int(2 * test_case.nbTetra)}" - assert newcounts.getTypeCount(VTK_PYRAMID) == int(2 * test_case.nbPyr), f"Number of pyramids must be {int(2 * test_case.nbPyr)}" - assert newcounts.getTypeCount(VTK_WEDGE) == int(2 * test_case.nbWed), f"Number of wedges must be {int(2 * test_case.nbWed)}" - assert newcounts.getTypeCount(VTK_HEXAHEDRON) == int(2 * test_case.nbHexa), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" + assert newcounts.getTypeCount( VTK_VERTEX ) == int( + 2 * test_case.nbVertex ), f"Number of vertices must be {int(2 * test_case.nbVertex)}" + assert newcounts.getTypeCount( VTK_TRIANGLE ) == int( + 2 * test_case.nbTri ), f"Number of triangles must be {int(2 * test_case.nbTri)}" + assert newcounts.getTypeCount( VTK_QUAD ) == int( + 2 * test_case.nbQuad ), f"Number of quads must be {int(2 * test_case.nbQuad)}" + assert newcounts.getTypeCount( VTK_TETRA ) == int( + 2 * test_case.nbTetra ), f"Number of tetrahedra must be {int(2 * test_case.nbTetra)}" + assert newcounts.getTypeCount( VTK_PYRAMID ) == int( + 2 * test_case.nbPyr ), f"Number of pyramids must be {int(2 * test_case.nbPyr)}" + assert newcounts.getTypeCount( VTK_WEDGE ) == int( + 2 * test_case.nbWed ), f"Number of wedges must be {int(2 * test_case.nbWed)}" + assert newcounts.getTypeCount( VTK_HEXAHEDRON ) == int( + 2 * test_case.nbHexa ), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" + #cpt = 0 -@pytest.mark.parametrize( "test_case", __generate_test_data()) -def test_CellTypeCounts_print( test_case: TestCase ) ->None: +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_CellTypeCounts_print( test_case: TestCase ) -> None: """Test of CellTypeCounts . Args: test_case (TestCase): test case """ counts: CellTypeCounts = CellTypeCounts() - counts.setTypeCount(VTK_VERTEX, test_case.nbVertex) - counts.setTypeCount(VTK_TRIANGLE, test_case.nbTri) - counts.setTypeCount(VTK_QUAD, test_case.nbQuad) - counts.setTypeCount(VTK_TETRA, test_case.nbTetra) - counts.setTypeCount(VTK_PYRAMID, test_case.nbPyr) - counts.setTypeCount(VTK_WEDGE, test_case.nbWed) - counts.setTypeCount(VTK_HEXAHEDRON, test_case.nbHexa) + counts.setTypeCount( VTK_VERTEX, test_case.nbVertex ) + counts.setTypeCount( VTK_TRIANGLE, test_case.nbTri ) + counts.setTypeCount( VTK_QUAD, test_case.nbQuad ) + counts.setTypeCount( VTK_TETRA, test_case.nbTetra ) + counts.setTypeCount( VTK_PYRAMID, test_case.nbPyr ) + counts.setTypeCount( VTK_WEDGE, test_case.nbWed ) + counts.setTypeCount( VTK_HEXAHEDRON, test_case.nbHexa ) line: str = counts.print() - lineExp: str = __get_expected_counts(test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa) + lineExp: str = __get_expected_counts( test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, + test_case.nbPyr, test_case.nbWed, test_case.nbHexa ) # global cpt # with open(f"meshIdcounts_{cpt}.txt", 'w') as fout: # fout.write(line) diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py index fee9ea61..bd429366 100644 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -7,8 +7,7 @@ import numpy.typing as npt import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.processing.helpers import createMultiCellMesh from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints @@ -19,7 +18,8 @@ vtkUnstructuredGrid, vtkCellArray, vtkCellTypes, - VTK_TETRA, VTK_HEXAHEDRON, + VTK_TETRA, + VTK_HEXAHEDRON, ) from vtkmodules.vtkCommonCore import ( @@ -27,19 +27,30 @@ vtkIdList, ) -data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") -data_filename_all: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") -celltypes_all: tuple[int] = (VTK_TETRA, VTK_HEXAHEDRON) -nbPtsCell_all: tuple[int] = (4, 8) +data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) +data_filename_all: tuple[ str, ...] = ( "tetra_mesh.csv", "hexa_mesh.csv" ) +celltypes_all: tuple[ int ] = ( VTK_TETRA, VTK_HEXAHEDRON ) +nbPtsCell_all: tuple[ int ] = ( 4, 8 ) # expected results if shared vertices -hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.5], [0.5, 0.0, 0.5], [0.5, 0.5, 0.5], [0.0, 0.5, 0.5], [0.0, 0.0, 1.0], [0.5, 0.0, 1.0], [0.5, 0.5, 1.0], [0.0, 0.5, 1.0], [1.0, 0.0, 0.5], [1.0, 0.5, 0.5], [1.0, 0.0, 1.0], [1.0, 0.5, 1.0], [0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0], [1.0, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 1.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 0.5], [1.0, 1.0, 1.0], [0.5, 1.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0]], np.float64) -tetra_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.0, 0.0, 0.5], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.5], [0.0, 1.0, 0.0], [0.5, 0.0, 0.5], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]], np.float64) -points_out_all = (tetra_points_out, hexa_points_out) +hexa_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.5 ], [ 0.5, 0.0, 0.5 ], [ 0.5, 0.5, 0.5 ], [ 0.0, 0.5, 0.5 ], [ 0.0, 0.0, 1.0 ], [ 0.5, 0.0, 1.0 ], + [ 0.5, 0.5, 1.0 ], [ 0.0, 0.5, 1.0 ], [ 1.0, 0.0, 0.5 ], [ 1.0, 0.5, 0.5 ], [ 1.0, 0.0, 1.0 ], [ 1.0, 0.5, 1.0 ], + [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 0.5, 0.0 ], + [ 0.5, 1.0, 0.5 ], [ 0.0, 1.0, 0.5 ], [ 0.5, 1.0, 1.0 ], [ 0.0, 1.0, 1.0 ], [ 1.0, 1.0, 0.5 ], [ 1.0, 1.0, 1.0 ], + [ 0.5, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 1.0, 1.0, 0.0 ] ], np.float64 ) +tetra_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.5, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.5 ], + [ 0.0, 1.0, 0.0 ], [ 0.5, 0.0, 0.5 ], [ 1.0, 0.0, 0.0 ], [ 0.0, 0.0, 1.0 ] ], np.float64 ) +points_out_all = ( tetra_points_out, hexa_points_out ) + +tetra_cellPtsIdsExp = [ ( 0, 1, 2, 3 ), ( 3, 4, 5, 6 ), ( 4, 1, 7, 8 ), ( 7, 2, 5, 9 ), ( 2, 5, 3, 1 ), ( 1, 5, 3, 4 ), + ( 1, 5, 4, 7 ), ( 7, 1, 5, 2 ) ] +hexa_cellPtsIdsExp = [ ( 0, 1, 2, 3, 4, 5, 6, 7 ), ( 1, 8, 9, 2, 5, 10, 11, 6 ), ( 12, 13, 14, 15, 0, 1, 2, 3 ), + ( 13, 16, 17, 14, 1, 8, 9, 2 ), ( 3, 2, 18, 19, 7, 6, 20, 21 ), ( 2, 9, 22, 18, 6, 11, 23, 20 ), + ( 15, 14, 24, 25, 3, 2, 18, 19 ), ( 14, 17, 26, 24, 2, 9, 22, 18 ) ] +cellPtsIdsExp_all = ( tetra_cellPtsIdsExp, hexa_cellPtsIdsExp ) -tetra_cellPtsIdsExp = [(0, 1, 2, 3), (3, 4, 5, 6), (4, 1, 7, 8), (7, 2, 5, 9), (2, 5, 3, 1), (1, 5, 3, 4), (1, 5, 4, 7), (7, 1, 5, 2)] -hexa_cellPtsIdsExp = [(0, 1, 2, 3, 4, 5, 6, 7), (1, 8, 9, 2, 5, 10, 11, 6), (12, 13, 14, 15, 0, 1, 2, 3), (13, 16, 17, 14, 1, 8, 9, 2), (3, 2, 18, 19, 7, 6, 20, 21), (2, 9, 22, 18, 6, 11, 23, 20), (15, 14, 24, 25, 3, 2, 18, 19), (14, 17, 26, 24, 2, 9, 22, 18)] -cellPtsIdsExp_all = (tetra_cellPtsIdsExp, hexa_cellPtsIdsExp) @dataclass( frozen=True ) class TestCase: @@ -48,9 +59,9 @@ class TestCase: #: input mesh mesh: vtkUnstructuredGrid #: expected points - pointsExp: npt.NDArray[np.float64] + pointsExp: npt.NDArray[ np.float64 ] #: expected cell point ids - cellPtsIdsExp: tuple[tuple[int]] + cellPtsIdsExp: tuple[ tuple[ int ] ] def __generate_test_data() -> Iterator[ TestCase ]: @@ -59,38 +70,45 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for path, celltype, nbPtsCell, pointsExp, cellPtsIdsExp in zip(data_filename_all, celltypes_all, nbPtsCell_all, points_out_all, cellPtsIdsExp_all, strict=True): + for path, celltype, nbPtsCell, pointsExp, cellPtsIdsExp in zip( data_filename_all, + celltypes_all, + nbPtsCell_all, + points_out_all, + cellPtsIdsExp_all, + strict=True ): # all points coordinates - ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + ptsCoords: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, path ), dtype=float, delimiter=',' ) # split array to get a list of coordinates per cell - cellPtsCoords = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] - nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) - cellTypes = nbCells * [celltype] - mesh: vtkUnstructuredGrid = createMultiCellMesh(cellTypes, cellPtsCoords, False) + cellPtsCoords = [ ptsCoords[ i:i + nbPtsCell ] for i in range( 0, ptsCoords.shape[ 0 ], nbPtsCell ) ] + nbCells: int = int( ptsCoords.shape[ 0 ] / nbPtsCell ) + cellTypes = nbCells * [ celltype ] + mesh: vtkUnstructuredGrid = createMultiCellMesh( cellTypes, cellPtsCoords, False ) assert mesh is not None, "Input mesh is undefined." yield TestCase( mesh, pointsExp, cellPtsIdsExp ) -ids: list[str] = [os.path.splitext(name)[0] for name in data_filename_all] +ids: list[ str ] = [ os.path.splitext( name )[ 0 ] for name in data_filename_all ] + + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_mergeColocatedPoints( test_case: TestCase ) ->None: +def test_mergeColocatedPoints( test_case: TestCase ) -> None: """Test of MergeColocatedPoints filter.. Args: test_case (TestCase): test case """ filter = MergeColocatedPoints() - filter.SetInputDataObject(0, test_case.mesh) + filter.SetInputDataObject( 0, test_case.mesh ) filter.Update() - output: vtkUnstructuredGrid = filter.GetOutputDataObject(0) + output: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) # tests on points pointsOut: vtkPoints = output.GetPoints() assert pointsOut is not None, "Output points is undefined." - nbPtsExp: int = test_case.pointsExp.shape[0] + nbPtsExp: int = test_case.pointsExp.shape[ 0 ] assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords Obs: ", pointCoords.tolist()) - assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." + pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) + print( "Points coords Obs: ", pointCoords.tolist() ) + assert np.array_equal( pointCoords, test_case.pointsExp ), "Points coordinates are wrong." # tests on cells cellsOut: vtkCellArray = output.GetCells() @@ -100,23 +118,21 @@ def test_mergeColocatedPoints( test_case: TestCase ) ->None: # check cell types typesInput: vtkCellTypes = vtkCellTypes() - test_case.mesh.GetCellTypes(typesInput) + test_case.mesh.GetCellTypes( typesInput ) assert typesInput is not None, "Input cell types must be defined" typesOutput: vtkCellTypes = vtkCellTypes() - output.GetCellTypes(typesOutput) + output.GetCellTypes( typesOutput ) assert typesOutput is not None, "Output cell types must be defined" - typesArrayInput: npt.NDArray[np.int64] = vtk_to_numpy(typesInput.GetCellTypesArray()) - typesArrayOutput: npt.NDArray[np.int64] = vtk_to_numpy(typesOutput.GetCellTypesArray()) - assert np.array_equal(typesArrayInput, typesArrayOutput), "Cell types are wrong" + typesArrayInput: npt.NDArray[ np.int64 ] = vtk_to_numpy( typesInput.GetCellTypesArray() ) + typesArrayOutput: npt.NDArray[ np.int64 ] = vtk_to_numpy( typesOutput.GetCellTypesArray() ) + assert np.array_equal( typesArrayInput, typesArrayOutput ), "Cell types are wrong" - for cellId in range(output.GetNumberOfCells()): + for cellId in range( output.GetNumberOfCells() ): ptIds = vtkIdList() - cellsOut.GetCellAtId(cellId, ptIds) - cellsOutObs: tuple[int] = tuple([ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())]) - print("cellsOutObs: ", cellsOutObs) - nbCellPts: int = len(test_case.cellPtsIdsExp[cellId]) + cellsOut.GetCellAtId( cellId, ptIds ) + cellsOutObs: tuple[ int ] = tuple( [ ptIds.GetId( j ) for j in range( ptIds.GetNumberOfIds() ) ] ) + print( "cellsOutObs: ", cellsOutObs ) + nbCellPts: int = len( test_case.cellPtsIdsExp[ cellId ] ) assert ptIds is not None, "Point ids must be defined" assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." - assert cellsOutObs == test_case.cellPtsIdsExp[cellId], "Cell point ids are wrong." - - + assert cellsOutObs == test_case.cellPtsIdsExp[ cellId ], "Cell point ids are wrong." diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 6c2c21c4..a428ee7c 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -7,21 +7,15 @@ import numpy.typing as npt import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.processing.helpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCellArray, - vtkCellData, - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellArray, vtkCellData, vtkCellTypes, VTK_TRIANGLE, + VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID ) from vtkmodules.vtkCommonCore import ( vtkPoints, @@ -30,8 +24,7 @@ ) #from vtkmodules.vtkFiltersSources import vtkCubeSource - -data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") +data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) ############################################################### # create single tetra mesh # @@ -40,15 +33,11 @@ tetra_path = "tetra_cell.csv" # expected results -tetra_points_out: npt.NDArray[np.float64] = np.array([[0., 0., 0. ], [1., 0., 0. ], [0., 0., 1. ], [0., 1., 0. ], [0.5, 0., 0. ], [0.5, 0., 0.5], [0., 0., 0.5], [0., 0.5, 0. ], [0., 0.5, 0.5], [0.5, 0.5, 0. ]], np.float64) -tetra_cells_out: list[list[int]] = [[0, 4, 6, 7], - [7, 9, 8, 3], - [9, 4, 5, 1], - [5, 6, 8, 2], - [6, 8, 7, 4], - [4, 8, 7, 9], - [4, 8, 9, 5], - [5, 4, 8, 6]] +tetra_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0., 0., 0. ], [ 1., 0., 0. ], [ 0., 0., 1. ], [ 0., 1., 0. ], [ 0.5, 0., 0. ], [ 0.5, 0., 0.5 ], + [ 0., 0., 0.5 ], [ 0., 0.5, 0. ], [ 0., 0.5, 0.5 ], [ 0.5, 0.5, 0. ] ], np.float64 ) +tetra_cells_out: list[ list[ int ] ] = [ [ 0, 4, 6, 7 ], [ 7, 9, 8, 3 ], [ 9, 4, 5, 1 ], [ 5, 6, 8, 2 ], [ 6, 8, 7, 4 ], + [ 4, 8, 7, 9 ], [ 4, 8, 9, 5 ], [ 5, 4, 8, 6 ] ] ############################################################### # create single hexa mesh # @@ -57,15 +46,16 @@ hexa_path = "hexa_cell.csv" # expected results -hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 1.0], [1.0, 1.0, 1.0], [0.0, 1.0, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.0, 0.0, 0.5], [1.0, 0.5, 0.0], [1.0, 0.0, 0.5], [0.5, 1.0, 0.0], [1.0, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 0.0, 1.0], [0.0, 0.5, 1.0], [1.0, 0.5, 1.0], [0.5, 1.0, 1.0], [0.5, 0.5, 0.0], [0.5, 0.0, 0.5], [0.0, 0.5, 0.5], [1.0, 0.5, 0.5], [0.5, 1.0, 0.5], [0.5, 0.5, 1.0], [0.5, 0.5, 0.5]], np.float64) -hexa_cells_out: list[list[int]] = [[10, 21, 26, 22, 4, 16, 25, 17], - [21, 12, 23, 26, 16, 5, 18, 25], - [0, 8, 20, 9, 10, 21, 26, 22], - [8, 1, 11, 20, 21, 12, 23, 26], - [22, 26, 24, 15, 17, 25, 19, 7], - [26, 23, 14, 24, 25, 18, 6, 19], - [9, 20, 13, 3, 22, 26, 24, 15], - [20, 11, 2, 13, 26, 23, 14, 24]] +hexa_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 0.0, 0.0, 1.0 ], [ 1.0, 0.0, 1.0 ], + [ 1.0, 1.0, 1.0 ], [ 0.0, 1.0, 1.0 ], [ 0.5, 0.0, 0.0 ], [ 0.0, 0.5, 0.0 ], [ 0.0, 0.0, 0.5 ], [ 1.0, 0.5, 0.0 ], + [ 1.0, 0.0, 0.5 ], [ 0.5, 1.0, 0.0 ], [ 1.0, 1.0, 0.5 ], [ 0.0, 1.0, 0.5 ], [ 0.5, 0.0, 1.0 ], [ 0.0, 0.5, 1.0 ], + [ 1.0, 0.5, 1.0 ], [ 0.5, 1.0, 1.0 ], [ 0.5, 0.5, 0.0 ], [ 0.5, 0.0, 0.5 ], [ 0.0, 0.5, 0.5 ], [ 1.0, 0.5, 0.5 ], + [ 0.5, 1.0, 0.5 ], [ 0.5, 0.5, 1.0 ], [ 0.5, 0.5, 0.5 ] ], np.float64 ) +hexa_cells_out: list[ list[ int ] ] = [ [ 10, 21, 26, 22, 4, 16, 25, 17 ], [ 21, 12, 23, 26, 16, 5, 18, 25 ], + [ 0, 8, 20, 9, 10, 21, 26, 22 ], [ 8, 1, 11, 20, 21, 12, 23, 26 ], + [ 22, 26, 24, 15, 17, 25, 19, 7 ], [ 26, 23, 14, 24, 25, 18, 6, 19 ], + [ 9, 20, 13, 3, 22, 26, 24, 15 ], [ 20, 11, 2, 13, 26, 23, 14, 24 ] ] ############################################################### # create single pyramid mesh # @@ -74,17 +64,13 @@ pyramid_path = "pyramid_cell.csv" # expected results -pyramid_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.5, 1.0], [0.5, 0.0, 0.0], [0.0, 0.5, 0.0], [0.25, 0.25, 0.5], [1.0, 0.5, 0.0], [0.75, 0.25, 0.5], [0.5, 1.0, 0.0], [0.75, 0.75, 0.5], [0.25, 0.75, 0.5], [0.5, 0.5, 0.0]], np.float64) -pyramid_cells_out: list[list[int]] = [[5, 1, 8, 13, 9], - [13, 8, 2, 10, 11], - [3, 6, 13, 10, 12], - [6, 0, 5, 13, 7], - [12, 7, 9, 11, 4], - [11, 9, 7, 12, 13], - [7, 9, 5, 13], - [9, 11, 8, 13], - [11, 12, 10, 13], - [12, 7, 6, 13]] +pyramid_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 0.5, 0.5, 1.0 ], [ 0.5, 0.0, 0.0 ], + [ 0.0, 0.5, 0.0 ], [ 0.25, 0.25, 0.5 ], [ 1.0, 0.5, 0.0 ], [ 0.75, 0.25, 0.5 ], [ 0.5, 1.0, 0.0 ], + [ 0.75, 0.75, 0.5 ], [ 0.25, 0.75, 0.5 ], [ 0.5, 0.5, 0.0 ] ], np.float64 ) +pyramid_cells_out: list[ list[ int ] ] = [ [ 5, 1, 8, 13, 9 ], [ 13, 8, 2, 10, 11 ], [ 3, 6, 13, 10, 12 ], + [ 6, 0, 5, 13, 7 ], [ 12, 7, 9, 11, 4 ], [ 11, 9, 7, 12, 13 ], + [ 7, 9, 5, 13 ], [ 9, 11, 8, 13 ], [ 11, 12, 10, 13 ], [ 12, 7, 6, 13 ] ] ############################################################### # create single triangle mesh # @@ -93,11 +79,10 @@ triangle_path = "triangle_cell.csv" # expected results -triangle_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0]], np.float64) -triangle_cells_out: list[list[int]] = [[0, 3, 5], - [3, 1, 4], - [5, 4, 2], - [3, 4, 5]] +triangle_points_out: npt.NDArray[ np.float64 ] = np.array( [ [ 0.0, 0.0, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 0.0, 1.0, 0.0 ], + [ 0.5, 0.0, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.0 ] ], + np.float64 ) +triangle_cells_out: list[ list[ int ] ] = [ [ 0, 3, 5 ], [ 3, 1, 4 ], [ 5, 4, 2 ], [ 3, 4, 5 ] ] ############################################################### # create single quad mesh # @@ -106,22 +91,21 @@ quad_path = "quad_cell.csv" # expected results -quad_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0, 1.0, 0.0], [0.0, 1.0, 0.0], [0.5, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.0], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0]], np.float64) -quad_cells_out: list[list[int]] = [[0, 4, 8, 7], - [4, 1, 5, 8], - [8, 5, 2, 6], - [7, 8, 6, 3]] +quad_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 1.0, 0.5, 0.0 ], + [ 0.5, 1.0, 0.0 ], [ 0.0, 0.5, 0.0 ], [ 0.5, 0.5, 0.0 ] ], np.float64 ) +quad_cells_out: list[ list[ int ] ] = [ [ 0, 4, 8, 7 ], [ 4, 1, 5, 8 ], [ 8, 5, 2, 6 ], [ 7, 8, 6, 3 ] ] ############################################################### # create multi cell mesh # ############################################################### # TODO: add tests cases composed of multi-cell meshes of various types +data_filename_all = ( tetra_path, hexa_path, pyramid_path, triangle_path, quad_path ) +cell_types_all = ( tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type ) +points_out_all = ( tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out ) +cells_out_all = ( tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out ) -data_filename_all = (tetra_path, hexa_path, pyramid_path, triangle_path, quad_path) -cell_types_all = (tetra_cell_type, hexa_cell_type, pyramid_cell_type, triangle_cell_type, quad_cell_type) -points_out_all = (tetra_points_out, hexa_points_out, pyramid_points_out, triangle_points_out, quad_points_out) -cells_out_all = (tetra_cells_out, hexa_cells_out, pyramid_cells_out, triangle_cells_out, quad_cells_out) @dataclass( frozen=True ) class TestCase: @@ -132,9 +116,9 @@ class TestCase: #: mesh mesh: vtkUnstructuredGrid #: expected new point coordinates - pointsExp: npt.NDArray[np.float64] + pointsExp: npt.NDArray[ np.float64 ] #: expected new cell point ids - cellsExp: list[int] + cellsExp: list[ int ] def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: @@ -143,65 +127,73 @@ def __generate_split_mesh_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, data_path, pointsExp, cellsExp in zip( - cell_types_all, data_filename_all, points_out_all, cells_out_all, - strict=True): - ptsCoord: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, data_path), dtype=float, delimiter=',') - mesh: vtkUnstructuredGrid = createSingleCellMesh(cellType, ptsCoord) + for cellType, data_path, pointsExp, cellsExp in zip( cell_types_all, + data_filename_all, + points_out_all, + cells_out_all, + strict=True ): + ptsCoord: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, data_path ), + dtype=float, + delimiter=',' ) + mesh: vtkUnstructuredGrid = createSingleCellMesh( cellType, ptsCoord ) yield TestCase( cellType, mesh, pointsExp, cellsExp ) -ids = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_types_all] +ids = [ vtkCellTypes.GetClassNameFromTypeId( cellType ) for cellType in cell_types_all ] + + @pytest.mark.parametrize( "test_case", __generate_split_mesh_test_data(), ids=ids ) -def test_single_cell_split( test_case: TestCase ) ->None: +def test_single_cell_split( test_case: TestCase ) -> None: """Test of SplitMesh filter with meshes composed of a single cell. Args: test_case (TestCase): test case """ - cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) - filter :SplitMesh = SplitMesh() - filter.SetInputDataObject(test_case.mesh) + cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId( test_case.cellType ) + filter: SplitMesh = SplitMesh() + filter.SetInputDataObject( test_case.mesh ) filter.Update() - output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) + output: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) assert output is not None, "Output mesh is undefined." pointsOut: vtkPoints = output.GetPoints() assert pointsOut is not None, "Points from output mesh are undefined." - assert pointsOut.GetNumberOfPoints() == test_case.pointsExp.shape[0], f"Number of points is expected to be {test_case.pointsExp.shape[0]}." - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords: ", cellTypeName, pointCoords.tolist()) - assert np.array_equal(pointCoords.ravel(), test_case.pointsExp.ravel()), "Points coordinates mesh are wrong." + assert pointsOut.GetNumberOfPoints( + ) == test_case.pointsExp.shape[ 0 ], f"Number of points is expected to be {test_case.pointsExp.shape[0]}." + pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) + print( "Points coords: ", cellTypeName, pointCoords.tolist() ) + assert np.array_equal( pointCoords.ravel(), test_case.pointsExp.ravel() ), "Points coordinates mesh are wrong." cellsOut: vtkCellArray = output.GetCells() - typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) - print("typesArray0", cellTypeName, typesArray0) + typesArray0: npt.NDArray[ np.int64 ] = vtk_to_numpy( output.GetDistinctCellTypesArray() ) + print( "typesArray0", cellTypeName, typesArray0 ) assert cellsOut is not None, "Cells from output mesh are undefined." - assert cellsOut.GetNumberOfCells() == len(test_case.cellsExp), f"Number of cells is expected to be {len(test_case.cellsExp)}." + assert cellsOut.GetNumberOfCells() == len( + test_case.cellsExp ), f"Number of cells is expected to be {len(test_case.cellsExp)}." # check cell types types: vtkCellTypes = vtkCellTypes() - output.GetCellTypes(types) + output.GetCellTypes( types ) assert types is not None, "Cell types must be defined" - typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + typesArray: npt.NDArray[ np.int64 ] = vtk_to_numpy( types.GetCellTypesArray() ) - print("typesArray", cellTypeName, typesArray) - assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"All cells must be {cellTypeName}" + print( "typesArray", cellTypeName, typesArray ) + assert ( typesArray.size == 1 ) and ( typesArray[ 0 ] == test_case.cellType ), f"All cells must be {cellTypeName}" - for i in range(cellsOut.GetNumberOfCells()): + for i in range( cellsOut.GetNumberOfCells() ): ptIds = vtkIdList() - cellsOut.GetCellAtId(i, ptIds) - cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] - nbPtsExp: int = len(test_case.cellsExp[i]) - print("cell type", cellTypeName, i, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(i))) - print("cellsOutObs: ", cellTypeName, i, cellsOutObs) + cellsOut.GetCellAtId( i, ptIds ) + cellsOutObs: list[ int ] = [ ptIds.GetId( j ) for j in range( ptIds.GetNumberOfIds() ) ] + nbPtsExp: int = len( test_case.cellsExp[ i ] ) + print( "cell type", cellTypeName, i, vtkCellTypes.GetClassNameFromTypeId( types.GetCellType( i ) ) ) + print( "cellsOutObs: ", cellTypeName, i, cellsOutObs ) assert ptIds is not None, "Point ids must be defined" assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." - assert cellsOutObs == test_case.cellsExp[i], "Cell point ids are wrong." + assert cellsOutObs == test_case.cellsExp[ i ], "Cell point ids are wrong." # test originalId array was created cellData: vtkCellData = output.GetCellData() assert cellData is not None, "Cell data should be defined." - array: vtkDataArray = cellData.GetArray("OriginalID") + array: vtkDataArray = cellData.GetArray( "OriginalID" ) assert array is not None, "OriginalID array should be defined." # test other arrays were transferred diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index ab7c8ef0..ed721311 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -7,19 +7,14 @@ import numpy.typing as npt import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.processing.helpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCellArray, - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellArray, vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, + VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID ) from vtkmodules.vtkCommonCore import ( vtkPoints, @@ -27,10 +22,11 @@ ) # inputs -data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") +data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) -data_filename_all: tuple[str,...] = ("triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", "hexa_cell.csv") -cell_type_all: tuple[int, ...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON) +data_filename_all: tuple[ str, ...] = ( "triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", + "hexa_cell.csv" ) +cell_type_all: tuple[ int, ...] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON ) @dataclass( frozen=True ) @@ -40,7 +36,8 @@ class TestCase: #: VTK cell type cellType: int #: cell point coordinates - cellPoints: npt.NDArray[np.float64] + cellPoints: npt.NDArray[ np.float64 ] + def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -48,55 +45,54 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for cellType, path in zip( - cell_type_all, data_filename_all, - strict=True): - cell: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + for cellType, path in zip( cell_type_all, data_filename_all, strict=True ): + cell: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, path ), dtype=float, delimiter=',' ) yield TestCase( cellType, cell ) -ids: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType) for cellType in cell_type_all] +ids: list[ str ] = [ vtkCellTypes.GetClassNameFromTypeId( cellType ) for cellType in cell_type_all ] + + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createSingleCellMesh( test_case: TestCase ) ->None: +def test_createSingleCellMesh( test_case: TestCase ) -> None: """Test of createSingleCellMesh method. Args: test_case (TestCase): test case """ - cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId(test_case.cellType) - output: vtkUnstructuredGrid = createSingleCellMesh(test_case.cellType, test_case.cellPoints) + cellTypeName: str = vtkCellTypes.GetClassNameFromTypeId( test_case.cellType ) + output: vtkUnstructuredGrid = createSingleCellMesh( test_case.cellType, test_case.cellPoints ) assert output is not None, "Output mesh is undefined." pointsOut: vtkPoints = output.GetPoints() - nbPtsExp: int = len(test_case.cellPoints) + nbPtsExp: int = len( test_case.cellPoints ) assert pointsOut is not None, "Points from output mesh are undefined." assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords: ", cellTypeName, pointCoords.tolist()) - assert np.array_equal(pointCoords.ravel(), test_case.cellPoints.ravel()), "Points coordinates are wrong." + pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) + print( "Points coords: ", cellTypeName, pointCoords.tolist() ) + assert np.array_equal( pointCoords.ravel(), test_case.cellPoints.ravel() ), "Points coordinates are wrong." cellsOut: vtkCellArray = output.GetCells() - typesArray0: npt.NDArray[np.int64] = vtk_to_numpy(output.GetDistinctCellTypesArray()) - print("typesArray0", cellTypeName, typesArray0) + typesArray0: npt.NDArray[ np.int64 ] = vtk_to_numpy( output.GetDistinctCellTypesArray() ) + print( "typesArray0", cellTypeName, typesArray0 ) assert cellsOut is not None, "Cells from output mesh are undefined." assert cellsOut.GetNumberOfCells() == 1, "Number of cells is expected to be 1." # check cell types types: vtkCellTypes = vtkCellTypes() - output.GetCellTypes(types) + output.GetCellTypes( types ) assert types is not None, "Cell types must be defined" - typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) + typesArray: npt.NDArray[ np.int64 ] = vtk_to_numpy( types.GetCellTypesArray() ) - print("typesArray", cellTypeName, typesArray) - assert (typesArray.size == 1) and (typesArray[0] == test_case.cellType), f"Cell must be {cellTypeName}" + print( "typesArray", cellTypeName, typesArray ) + assert ( typesArray.size == 1 ) and ( typesArray[ 0 ] == test_case.cellType ), f"Cell must be {cellTypeName}" ptIds = vtkIdList() - cellsOut.GetCellAtId(0, ptIds) - cellsOutObs: list[int] = [ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())] + cellsOut.GetCellAtId( 0, ptIds ) + cellsOutObs: list[ int ] = [ ptIds.GetId( j ) for j in range( ptIds.GetNumberOfIds() ) ] - print("cell type", cellTypeName, vtkCellTypes.GetClassNameFromTypeId(types.GetCellType(0))) - print("cellsOutObs: ", cellTypeName, cellsOutObs) + print( "cell type", cellTypeName, vtkCellTypes.GetClassNameFromTypeId( types.GetCellType( 0 ) ) ) + print( "cellsOutObs: ", cellTypeName, cellsOutObs ) assert ptIds is not None, "Point ids must be defined" assert ptIds.GetNumberOfIds() == nbPtsExp, f"Cells must be defined by {nbPtsExp} points." - assert cellsOutObs == list(range(nbPtsExp)), "Cell point ids are wrong." - + assert cellsOutObs == list( range( nbPtsExp ) ), "Cell point ids are wrong." diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index b4377c20..247c47c8 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -7,8 +7,7 @@ import numpy.typing as npt import pytest from typing import ( - Iterator, -) + Iterator, ) from geos.mesh.processing.helpers import getBounds, createVertices, createMultiCellMesh @@ -18,7 +17,8 @@ vtkUnstructuredGrid, vtkCellArray, vtkCellTypes, - VTK_TETRA, VTK_HEXAHEDRON, + VTK_TETRA, + VTK_HEXAHEDRON, ) from vtkmodules.vtkCommonCore import ( @@ -29,34 +29,46 @@ # TODO: add case whith various cell types # inputs -data_root: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") -data_filename_all: tuple[str,...] = ("tetra_mesh.csv", "hexa_mesh.csv") -celltypes_all: tuple[int] = (VTK_TETRA, VTK_HEXAHEDRON) -nbPtsCell_all: tuple[int] = (4, 8) +data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) +data_filename_all: tuple[ str, ...] = ( "tetra_mesh.csv", "hexa_mesh.csv" ) +celltypes_all: tuple[ int ] = ( VTK_TETRA, VTK_HEXAHEDRON ) +nbPtsCell_all: tuple[ int ] = ( 4, 8 ) # expected results if shared vertices -hexa_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.5], [0.5, 0.0, 0.5], [0.5, 0.5, 0.5], [0.0, 0.5, 0.5], [0.0, 0.0, 1.0], [0.5, 0.0, 1.0], [0.5, 0.5, 1.0], [0.0, 0.5, 1.0], [1.0, 0.0, 0.5], [1.0, 0.5, 0.5], [1.0, 0.0, 1.0], [1.0, 0.5, 1.0], [0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.0], [1.0, 0.0, 0.0], [1.0, 0.5, 0.0], [0.5, 1.0, 0.5], [0.0, 1.0, 0.5], [0.5, 1.0, 1.0], [0.0, 1.0, 1.0], [1.0, 1.0, 0.5], [1.0, 1.0, 1.0], [0.5, 1.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0]], np.float64) -tetra_points_out: npt.NDArray[np.float64] = np.array([[0.0, 0.0, 0.0], [0.5, 0.0, 0.0], [0.0, 0.0, 0.5], [0.0, 0.5, 0.0], [0.5, 0.5, 0.0], [0.0, 0.5, 0.5], [0.0, 1.0, 0.0], [0.5, 0.0, 0.5], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]], np.float64) -points_out_all = (tetra_points_out, hexa_points_out) +hexa_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.5 ], [ 0.5, 0.0, 0.5 ], [ 0.5, 0.5, 0.5 ], [ 0.0, 0.5, 0.5 ], [ 0.0, 0.0, 1.0 ], [ 0.5, 0.0, 1.0 ], + [ 0.5, 0.5, 1.0 ], [ 0.0, 0.5, 1.0 ], [ 1.0, 0.0, 0.5 ], [ 1.0, 0.5, 0.5 ], [ 1.0, 0.0, 1.0 ], [ 1.0, 0.5, 1.0 ], + [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 0.5, 0.0 ], + [ 0.5, 1.0, 0.5 ], [ 0.0, 1.0, 0.5 ], [ 0.5, 1.0, 1.0 ], [ 0.0, 1.0, 1.0 ], [ 1.0, 1.0, 0.5 ], [ 1.0, 1.0, 1.0 ], + [ 0.5, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 1.0, 1.0, 0.0 ] ], np.float64 ) +tetra_points_out: npt.NDArray[ np.float64 ] = np.array( + [ [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.5, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.5 ], + [ 0.0, 1.0, 0.0 ], [ 0.5, 0.0, 0.5 ], [ 1.0, 0.0, 0.0 ], [ 0.0, 0.0, 1.0 ] ], np.float64 ) +points_out_all = ( tetra_points_out, hexa_points_out ) + +tetra_cellPtsIdsExp = [ ( 0, 1, 2, 3 ), ( 3, 4, 5, 6 ), ( 4, 1, 7, 8 ), ( 7, 2, 5, 9 ), ( 2, 5, 3, 1 ), ( 1, 5, 3, 4 ), + ( 1, 5, 4, 7 ), ( 7, 1, 5, 2 ) ] +hexa_cellPtsIdsExp = [ ( 0, 1, 2, 3, 4, 5, 6, 7 ), ( 1, 8, 9, 2, 5, 10, 11, 6 ), ( 12, 13, 14, 15, 0, 1, 2, 3 ), + ( 13, 16, 17, 14, 1, 8, 9, 2 ), ( 3, 2, 18, 19, 7, 6, 20, 21 ), ( 2, 9, 22, 18, 6, 11, 23, 20 ), + ( 15, 14, 24, 25, 3, 2, 18, 19 ), ( 14, 17, 26, 24, 2, 9, 22, 18 ) ] +cellPtsIdsExp_all = ( tetra_cellPtsIdsExp, hexa_cellPtsIdsExp ) -tetra_cellPtsIdsExp = [(0, 1, 2, 3), (3, 4, 5, 6), (4, 1, 7, 8), (7, 2, 5, 9), (2, 5, 3, 1), (1, 5, 3, 4), (1, 5, 4, 7), (7, 1, 5, 2)] -hexa_cellPtsIdsExp = [(0, 1, 2, 3, 4, 5, 6, 7), (1, 8, 9, 2, 5, 10, 11, 6), (12, 13, 14, 15, 0, 1, 2, 3), (13, 16, 17, 14, 1, 8, 9, 2), (3, 2, 18, 19, 7, 6, 20, 21), (2, 9, 22, 18, 6, 11, 23, 20), (15, 14, 24, 25, 3, 2, 18, 19), (14, 17, 26, 24, 2, 9, 22, 18)] -cellPtsIdsExp_all = (tetra_cellPtsIdsExp, hexa_cellPtsIdsExp) @dataclass( frozen=True ) class TestCase: """Test case.""" __test__ = False #: cell types - cellTypes: list[int] + cellTypes: list[ int ] #: cell point coordinates - cellPtsCoords: list[npt.NDArray[np.float64]] + cellPtsCoords: list[ npt.NDArray[ np.float64 ] ] #: share or unshare vertices share: bool #: expected points - pointsExp: npt.NDArray[np.float64] + pointsExp: npt.NDArray[ np.float64 ] #: expected cell point ids - cellPtsIdsExp: tuple[tuple[int]] + cellPtsIdsExp: tuple[ tuple[ int ] ] + def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -64,95 +76,113 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for path, celltype, nbPtsCell, pointsExp0, cellPtsIdsExp0 in zip(data_filename_all, celltypes_all, nbPtsCell_all, points_out_all, cellPtsIdsExp_all, strict=True): + for path, celltype, nbPtsCell, pointsExp0, cellPtsIdsExp0 in zip( data_filename_all, + celltypes_all, + nbPtsCell_all, + points_out_all, + cellPtsIdsExp_all, + strict=True ): # all points coordinates - ptsCoords: npt.NDArray[np.float64] = np.loadtxt(os.path.join(data_root, path), dtype=float, delimiter=',') + ptsCoords: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, path ), dtype=float, delimiter=',' ) # split array to get a list of coordinates per cell - cellPtsCoords: list[npt.NDArray[np.float64]] = [ptsCoords[i:i+nbPtsCell] for i in range(0, ptsCoords.shape[0], nbPtsCell)] - nbCells: int = int(ptsCoords.shape[0]/nbPtsCell) - cellTypes = nbCells * [celltype] - for shared in (False, True): - pointsExp: npt.NDArray[np.float64] = pointsExp0 if shared else ptsCoords - cellPtsIdsExp = cellPtsIdsExp0 if shared else [tuple(range(i*nbPtsCell, (i+1)*nbPtsCell, 1)) for i in range(nbCells)] + cellPtsCoords: list[ npt.NDArray[ np.float64 ] ] = [ + ptsCoords[ i:i + nbPtsCell ] for i in range( 0, ptsCoords.shape[ 0 ], nbPtsCell ) + ] + nbCells: int = int( ptsCoords.shape[ 0 ] / nbPtsCell ) + cellTypes = nbCells * [ celltype ] + for shared in ( False, True ): + pointsExp: npt.NDArray[ np.float64 ] = pointsExp0 if shared else ptsCoords + cellPtsIdsExp = cellPtsIdsExp0 if shared else [ + tuple( range( i * nbPtsCell, ( i + 1 ) * nbPtsCell, 1 ) ) for i in range( nbCells ) + ] yield TestCase( cellTypes, cellPtsCoords, shared, pointsExp, cellPtsIdsExp ) -ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] +ids: list[ str ] = [ + os.path.splitext( name )[ 0 ] + f"_{shared}]" for name in data_filename_all for shared in ( False, True ) +] + + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createVertices( test_case: TestCase )->None: +def test_createVertices( test_case: TestCase ) -> None: """Test of createVertices method. Args: test_case (TestCase): test case """ pointsOut: vtkPoints - cellPtsIds: list[tuple[int, ...]] - pointsOut, cellPtsIds = createVertices(test_case.cellPtsCoords, test_case.share) + cellPtsIds: list[ tuple[ int, ...] ] + pointsOut, cellPtsIds = createVertices( test_case.cellPtsCoords, test_case.share ) assert pointsOut is not None, "Output points is undefined." assert cellPtsIds is not None, "Output cell point map is undefined." - nbPtsExp: int = test_case.pointsExp.shape[0] + nbPtsExp: int = test_case.pointsExp.shape[ 0 ] assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords Obs: ", pointCoords.tolist()) - assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." - print("Cell points coords: ", cellPtsIds) + pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) + print( "Points coords Obs: ", pointCoords.tolist() ) + assert np.array_equal( pointCoords, test_case.pointsExp ), "Points coordinates are wrong." + print( "Cell points coords: ", cellPtsIds ) assert cellPtsIds == test_case.cellPtsIdsExp, f"Cell point Ids are expected to be {test_case.cellPtsIdsExp}" -ids: list[str] = [os.path.splitext(name)[0]+f"_{shared}]" for name in data_filename_all for shared in (False, True)] + +ids: list[ str ] = [ + os.path.splitext( name )[ 0 ] + f"_{shared}]" for name in data_filename_all for shared in ( False, True ) +] + + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_createMultiCellMesh( test_case: TestCase )->None: +def test_createMultiCellMesh( test_case: TestCase ) -> None: """Test of createMultiCellMesh method. Args: test_case (TestCase): test case """ - output: vtkUnstructuredGrid = createMultiCellMesh(test_case.cellTypes, test_case.cellPtsCoords, test_case.share) + output: vtkUnstructuredGrid = createMultiCellMesh( test_case.cellTypes, test_case.cellPtsCoords, test_case.share ) assert output is not None, "Output mesh is undefined." # tests on points pointsOut: vtkPoints = output.GetPoints() assert pointsOut is not None, "Output points is undefined." - nbPtsExp: int = test_case.pointsExp.shape[0] + nbPtsExp: int = test_case.pointsExp.shape[ 0 ] assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." - pointCoords: npt.NDArray[np.float64] = vtk_to_numpy(pointsOut.GetData()) - print("Points coords Obs: ", pointCoords.tolist()) - assert np.array_equal(pointCoords, test_case.pointsExp), "Points coordinates are wrong." + pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) + print( "Points coords Obs: ", pointCoords.tolist() ) + assert np.array_equal( pointCoords, test_case.pointsExp ), "Points coordinates are wrong." # tests on cells cellsOut: vtkCellArray = output.GetCells() assert cellsOut is not None, "Cells from output mesh are undefined." - nbCells: int = len(test_case.cellPtsCoords) + nbCells: int = len( test_case.cellPtsCoords ) assert cellsOut.GetNumberOfCells() == nbCells, f"Number of cells is expected to be {nbCells}." # check cell types types: vtkCellTypes = vtkCellTypes() - output.GetCellTypes(types) + output.GetCellTypes( types ) assert types is not None, "Cell types must be defined" - typesArray: npt.NDArray[np.int64] = vtk_to_numpy(types.GetCellTypesArray()) - print("typesArray.size ", typesArray.size) - assert (typesArray.size == 1) and (typesArray[0] == test_case.cellTypes[0]), "Cell types are wrong" + typesArray: npt.NDArray[ np.int64 ] = vtk_to_numpy( types.GetCellTypesArray() ) + print( "typesArray.size ", typesArray.size ) + assert ( typesArray.size == 1 ) and ( typesArray[ 0 ] == test_case.cellTypes[ 0 ] ), "Cell types are wrong" - for cellId in range(output.GetNumberOfCells()): + for cellId in range( output.GetNumberOfCells() ): ptIds = vtkIdList() - cellsOut.GetCellAtId(cellId, ptIds) - cellsOutObs: tuple[int] = tuple([ptIds.GetId(j) for j in range(ptIds.GetNumberOfIds())]) - print("cellsOutObs: ", cellsOutObs) - nbCellPts: int = len(test_case.cellPtsIdsExp[cellId]) + cellsOut.GetCellAtId( cellId, ptIds ) + cellsOutObs: tuple[ int ] = tuple( [ ptIds.GetId( j ) for j in range( ptIds.GetNumberOfIds() ) ] ) + print( "cellsOutObs: ", cellsOutObs ) + nbCellPts: int = len( test_case.cellPtsIdsExp[ cellId ] ) assert ptIds is not None, "Point ids must be defined" assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." - assert cellsOutObs == test_case.cellPtsIdsExp[cellId], "Cell point ids are wrong." + assert cellsOutObs == test_case.cellPtsIdsExp[ cellId ], "Cell point ids are wrong." -def test_getBounds( )->None: + +def test_getBounds() -> None: """Test of getBounds method.""" # input - cellPtsCoord: list[npt.NDArray[np.float64]] = [ - np.array([[5, 4, 3], [1, 8, 4], [2, 5, 7]], dtype=float), - np.array([[1, 4, 6], [2, 7, 9], [4, 5 ,6]], dtype=float), - np.array([[3, 7, 8], [5, 7, 3], [4, 7, 3]], dtype=float), - np.array([[1, 7, 2], [0, 1, 2], [2, 3, 7]], dtype=float), + cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] = [ + np.array( [ [ 5, 4, 3 ], [ 1, 8, 4 ], [ 2, 5, 7 ] ], dtype=float ), + np.array( [ [ 1, 4, 6 ], [ 2, 7, 9 ], [ 4, 5, 6 ] ], dtype=float ), + np.array( [ [ 3, 7, 8 ], [ 5, 7, 3 ], [ 4, 7, 3 ] ], dtype=float ), + np.array( [ [ 1, 7, 2 ], [ 0, 1, 2 ], [ 2, 3, 7 ] ], dtype=float ), ] # expected output - boundsExp: list[float] = [0., 5., 1., 8., 2., 9.] - boundsObs: list[float] = getBounds(cellPtsCoord) + boundsExp: list[ float ] = [ 0., 5., 1., 8., 2., 9. ] + boundsObs: list[ float ] = getBounds( cellPtsCoord ) assert boundsExp == boundsObs, f"Expected bounds are {boundsExp}." - From 15747994e13ebf39ecc07dd4f8df6bfbf93352e9 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 24 Apr 2025 09:12:31 +0200 Subject: [PATCH 23/71] fix test --- geos-mesh/tests/test_CellTypeCounter.py | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 83be05ed..19243f4e 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -76,10 +76,10 @@ def test_CellTypeCounter_single( test_case: TestCase ) -> None: filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject( test_case.mesh ) filter.Update() - counts: CellTypeCounts = filter.GetCellTypeCounts() - assert counts is not None, "CellTypeCounts is undefined" + countsObs: CellTypeCounts = filter.GetCellTypeCounts() + assert countsObs is not None, "CellTypeCounts is undefined" - assert counts.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( + assert countsObs.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( ), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell @@ -92,14 +92,14 @@ def test_CellTypeCounter_single( test_case: TestCase ) -> None: # check cell type counts for i, elementType in enumerate( elementTypes ): assert int( - counts.getTypeCount( elementType ) + countsObs.getTypeCount( elementType ) ) == counts[ i ], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." nbPolygon: int = counts[ 0 ] + counts[ 1 ] nbPolyhedra: int = np.sum( counts[ 2: ] ) - assert int( counts.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int( countsObs.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." assert int( - counts.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + countsObs.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: @@ -135,15 +135,15 @@ def test_CellTypeCounter_multi( test_case: TestCase ) -> None: filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject( test_case.mesh ) filter.Update() - counts: CellTypeCounts = filter.GetCellTypeCounts() - assert counts is not None, "CellTypeCounts is undefined" + countsObs: CellTypeCounts = filter.GetCellTypeCounts() + assert countsObs is not None, "CellTypeCounts is undefined" - assert counts.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( + assert countsObs.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( ), f"Number of vertices should be {test_case.mesh.GetNumberOfPoints()}" # compute counts for each type of cell elementTypes: tuple[ int ] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE ) - counts: npt.NDArray[ np.int64 ] = np.zeros( len( elementTypes ) ) + counts: npt.NDArray[ np.int64 ] = np.zeros( len( elementTypes ), dtype=int ) for i in range( test_case.mesh.GetNumberOfCells() ): cell: vtkCell = test_case.mesh.GetCell( i ) index: int = elementTypes.index( cell.GetCellType() ) @@ -151,11 +151,11 @@ def test_CellTypeCounter_multi( test_case: TestCase ) -> None: # check cell type counts for i, elementType in enumerate( elementTypes ): assert int( - counts.getTypeCount( elementType ) + countsObs.getTypeCount( elementType ) ) == counts[ i ], f"The number of {vtkCellTypes.GetClassNameFromTypeId(elementType)} should be {counts[i]}." nbPolygon: int = counts[ 0 ] + counts[ 1 ] nbPolyhedra: int = np.sum( counts[ 2: ] ) - assert int( counts.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." + assert int( countsObs.getTypeCount( VTK_POLYGON ) ) == nbPolygon, f"The number of faces should be {nbPolygon}." assert int( - counts.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." + countsObs.getTypeCount( VTK_POLYHEDRON ) ) == nbPolyhedra, f"The number of polyhedra should be {nbPolyhedra}." From f1b0c9997305e6f3f6ce5767764343520bc4f324 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 24 Apr 2025 09:57:42 +0200 Subject: [PATCH 24/71] add missing dependency --- geos-mesh/pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index 0ea5a2a4..e56a02ad 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ "tqdm >= 4.67", "numpy >= 2.2", "meshio >= 5.3", + "typing_extensions >= 4.12", ] [project.scripts] @@ -47,7 +48,8 @@ build = [ "build ~= 1.2" ] dev = [ - "mypy", + "mypy", + "ruff", "yapf", ] test = [ From ed9f0a5394ad4eee11dd7a62789b83ef0ff110de Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Tue, 29 Apr 2025 11:37:01 +0200 Subject: [PATCH 25/71] add comment --- geos-mesh/src/geos/mesh/vtkUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index a4a653a4..4c4e31a2 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -805,7 +805,7 @@ def renameAttribute( bool: True if renaming operation successfully ended. """ if isAttributeInObject( object, attributeName, onPoints ): - dim: int = int( onPoints ) + dim: int = 0 if onPoints == True else 1 filter = vtkArrayRename() filter.SetInputData( object ) filter.SetArrayName( dim, attributeName, newAttributeName ) From c77a4c5859b44b8f4226f89fe6ff837448a2055d Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 29 Apr 2025 13:21:43 +0200 Subject: [PATCH 26/71] Merge helpers --- .../mesh/doctor/checks/generate_fractures.py | 4 +- geos-mesh/src/geos/mesh/processing/helpers.py | 174 --------- geos-mesh/src/geos/mesh/vtk/helpers.py | 344 ++++++++++++++++-- geos-mesh/tests/test_CellTypeCounter.py | 2 +- geos-mesh/tests/test_MergeColocatedPoints.py | 2 +- geos-mesh/tests/test_SplitMesh.py | 2 +- .../test_helpers_createSingleCellMesh.py | 2 +- .../tests/test_helpers_createVertices.py | 2 +- 8 files changed, 312 insertions(+), 220 deletions(-) delete mode 100644 geos-mesh/src/geos/mesh/processing/helpers.py diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py index bf6f961c..8225968e 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py @@ -13,7 +13,7 @@ from vtkmodules.util.numpy_support import numpy_to_vtk, vtk_to_numpy from vtkmodules.util.vtkConstants import VTK_ID_TYPE from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.vtk.helpers import has_invalid_field, to_vtk_id_list, vtk_iter +from geos.mesh.vtk.helpers import has_invalid_arrays, to_vtk_id_list, vtk_iter from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh """ TypeAliases cannot be used with Python 3.9. A simple assignment like described there will be used: @@ -557,7 +557,7 @@ def check( vtk_input_file: str, options: Options ) -> Result: try: mesh = read_mesh( vtk_input_file ) # Mesh cannot contain global ids before splitting. - if has_invalid_field( mesh, [ "GLOBAL_IDS_POINTS", "GLOBAL_IDS_CELLS" ] ): + if has_invalid_arrays( mesh, [ "GLOBAL_IDS_POINTS", "GLOBAL_IDS_CELLS" ] ): err_msg: str = ( "The mesh cannot contain global ids for neither cells nor points. The correct procedure " + " is to split the mesh and then generate global ids for new split meshes." ) logging.error( err_msg ) diff --git a/geos-mesh/src/geos/mesh/processing/helpers.py b/geos-mesh/src/geos/mesh/processing/helpers.py deleted file mode 100644 index ae104ecc..00000000 --- a/geos-mesh/src/geos/mesh/processing/helpers.py +++ /dev/null @@ -1,174 +0,0 @@ -# SPDX-FileContributor: Alexandre Benedicto, Martin Lemay -# SPDX-License-Identifier: Apache 2.0 -# ruff: noqa: E402 # disable Module level import not at top of file -import numpy as np -import numpy.typing as npt -from typing import Sequence, Union - -from vtkmodules.util.numpy_support import numpy_to_vtk - -from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkIncrementalOctreePointLocator, vtkPointData, - vtkCellData, vtkDataSet ) - -from vtkmodules.vtkCommonCore import ( - vtkPoints, - vtkIdList, - reference, -) - - -# TODO: copy from vtkUtils -def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: - """Get the dictionnary of all attributes of a vtkDataSet on points or cells. - - Args: - object (vtkDataSet): object where to find the attributes. - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - dict[str, int]: List of the names of the attributes. - """ - attributes: dict[ str, int ] = {} - data: Union[ vtkPointData, vtkCellData ] - sup: str = "" - if onPoints: - data = object.GetPointData() - sup = "Point" - else: - data = object.GetCellData() - sup = "Cell" - assert data is not None, f"{sup} data was not recovered." - - nbAttributes = data.GetNumberOfArrays() - for i in range( nbAttributes ): - attributeName = data.GetArrayName( i ) - attribute = data.GetArray( attributeName ) - assert attribute is not None, f"Attribut {attributeName} is null" - nbComponents = attribute.GetNumberOfComponents() - attributes[ attributeName ] = nbComponents - return attributes - - -def getBounds( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: - """Compute bounding box coordinates of the list of points. - - Args: - cellPtsCoord (list[npt.NDArray[np.float64]]): list of points - - Returns: - Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) - """ - bounds: list[ float ] = [ - np.inf, - -np.inf, - np.inf, - -np.inf, - np.inf, - -np.inf, - ] - for ptsCoords in cellPtsCoord: - mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) - maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) - for i in range( 3 ): - bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) - bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) - return bounds - - -def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: - """Create a mesh that consists of a single cell. - - Args: - cellType (int): cell type - ptsCoord (1DArray[np.float64]): cell point coordinates - - Returns: - vtkUnstructuredGrid: output mesh - """ - nbPoints: int = ptsCoord.shape[ 0 ] - points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) - # Convert points to vtkPoints object - vtkpts: vtkPoints = vtkPoints() - vtkpts.SetData( numpy_to_vtk( points ) ) - - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for j in range( nbPoints ): - cellsID.InsertNextId( j ) - - # add cell to mesh - mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - mesh.SetPoints( vtkpts ) - mesh.Allocate( 1 ) - mesh.InsertNextCell( cellType, cellsID ) - return mesh - - -def createMultiCellMesh( cellTypes: list[ int ], - cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], - sharePoints: bool = True ) -> vtkUnstructuredGrid: - """Create a mesh that consists of multiple cells. - - .. WARNING:: the mesh is not check for conformity. - - Args: - cellTypes (list[int]): cell type - cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates - sharePoints (bool): if True, cells share points, else a new point is created fro each cell vertex - - Returns: - vtkUnstructuredGrid: output mesh - """ - assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." - nbCells: int = len( cellPtsCoord ) - mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - points: vtkPoints - cellVertexMapAll: list[ tuple[ int, ...] ] - points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) - assert len( cellVertexMapAll ) == len( - cellTypes ), "The lists of cell types of cell point ids must be of same size." - mesh.SetPoints( points ) - mesh.Allocate( nbCells ) - # create mesh cells - for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for ptId in ptsId: - cellsID.InsertNextId( ptId ) - mesh.InsertNextCell( cellType, cellsID ) - return mesh - - -def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], - shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: - """Create vertices from cell point coordinates list. - - Args: - cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates - shared (bool, optional): If True, collocated points are merged. Defaults to True. - - Returns: - tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the - map of cell point ids - """ - # get point bounds - bounds: list[ float ] = getBounds( cellPtsCoord ) - points: vtkPoints = vtkPoints() - # use point locator to check for colocated points - pointsLocator = vtkIncrementalOctreePointLocator() - pointsLocator.InitPointInsertion( points, bounds ) - cellVertexMapAll: list[ tuple[ int, ...] ] = [] - ptId: reference = reference( 0 ) - ptsCoords: npt.NDArray[ np.float64 ] - for ptsCoords in cellPtsCoord: - cellVertexMap: list[ reference ] = [] - pt: npt.NDArray[ np.float64 ] # 1DArray - for pt in ptsCoords: - if shared: - pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) - else: - pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) - cellVertexMap += [ ptId.get() ] - cellVertexMapAll += [ tuple( cellVertexMap ) ] - return points, cellVertexMapAll diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index 94b273da..5dd3804b 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -1,13 +1,191 @@ import logging from copy import deepcopy -from numpy import argsort, array -from typing import Iterator, Optional, List -from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonCore import vtkDataArray, vtkIdList -from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkFieldData +import numpy as np +import numpy.typing as npt +from typing import Iterator, Optional, List, Sequence, Union, Sized +from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk +from vtkmodules.vtkCommonCore import ( + vtkDataArray, + vtkPoints, + vtkIdList, + reference, +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkFieldData, + vtkCellData, + vtkPointData, + vtkDataSet, + vtkIncrementalOctreePointLocator, +) +GLOBAL_IDS_ARRAY_NAME: str = "GlobalIds" -def to_vtk_id_list( data ) -> vtkIdList: +# TODO: copy from vtkUtils +def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: + """Get the dictionnary of all attributes of a vtkDataSet on points or cells. + + Args: + object (vtkDataSet): object where to find the attributes. + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + dict[str, int]: List of the names of the attributes. + """ + attributes: dict[ str, int ] = {} + data: Union[ vtkPointData, vtkCellData ] + sup: str = "" + if onPoints: + data = object.GetPointData() + sup = "Point" + else: + data = object.GetCellData() + sup = "Cell" + assert data is not None, f"{sup} data was not recovered." + + nbAttributes = data.GetNumberOfArrays() + for i in range( nbAttributes ): + attributeName = data.GetArrayName( i ) + attribute = data.GetArray( attributeName ) + assert attribute is not None, f"Attribut {attributeName} is null" + nbComponents = attribute.GetNumberOfComponents() + attributes[ attributeName ] = nbComponents + return attributes + + +def getBounds( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: + """Compute bounding box coordinates of the list of points. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of points + + Returns: + Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) + """ + bounds: list[ float ] = [ + np.inf, + -np.inf, + np.inf, + -np.inf, + np.inf, + -np.inf, + ] + for ptsCoords in cellPtsCoord: + mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) + maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) + for i in range( 3 ): + bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) + bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) + return bounds + + +def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: + """Create a mesh that consists of a single cell. + + Args: + cellType (int): cell type + ptsCoord (1DArray[np.float64]): cell point coordinates + + Returns: + vtkUnstructuredGrid: output mesh + """ + nbPoints: int = ptsCoord.shape[ 0 ] + points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) + # Convert points to vtkPoints object + vtkpts: vtkPoints = vtkPoints() + vtkpts.SetData( numpy_to_vtk( points ) ) + + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for j in range( nbPoints ): + cellsID.InsertNextId( j ) + + # add cell to mesh + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + mesh.SetPoints( vtkpts ) + mesh.Allocate( 1 ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createMultiCellMesh( cellTypes: list[ int ], + cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + sharePoints: bool = True ) -> vtkUnstructuredGrid: + """Create a mesh that consists of multiple cells. + + .. WARNING:: the mesh is not check for conformity. + + Args: + cellTypes (list[int]): cell type + cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates + sharePoints (bool): if True, cells share points, else a new point is created fro each cell vertex + + Returns: + vtkUnstructuredGrid: output mesh + """ + assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." + nbCells: int = len( cellPtsCoord ) + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + points: vtkPoints + cellVertexMapAll: list[ tuple[ int, ...] ] + points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) + assert len( cellVertexMapAll ) == len( + cellTypes ), "The lists of cell types of cell point ids must be of same size." + mesh.SetPoints( points ) + mesh.Allocate( nbCells ) + # create mesh cells + for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for ptId in ptsId: + cellsID.InsertNextId( ptId ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: + """Create vertices from cell point coordinates list. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates + shared (bool, optional): If True, collocated points are merged. Defaults to True. + + Returns: + tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the + map of cell point ids + """ + # get point bounds + bounds: list[ float ] = getBounds( cellPtsCoord ) + points: vtkPoints = vtkPoints() + # use point locator to check for colocated points + pointsLocator = vtkIncrementalOctreePointLocator() + pointsLocator.InitPointInsertion( points, bounds ) + cellVertexMapAll: list[ tuple[ int, ...] ] = [] + ptId: reference = reference( 0 ) + ptsCoords: npt.NDArray[ np.float64 ] + for ptsCoords in cellPtsCoord: + cellVertexMap: list[ reference ] = [] + pt: npt.NDArray[ np.float64 ] # 1DArray + for pt in ptsCoords: + if shared: + pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) + else: + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) + cellVertexMap += [ ptId.get() ] + cellVertexMapAll += [ tuple( cellVertexMap ) ] + return points, cellVertexMapAll + +def to_vtk_id_list( data: Sized ) -> vtkIdList: + """Generate vtkIdList from sized object. + + Args: + data (Sized): sized object + + Returns: + vtkIdList: id ilst + """ result = vtkIdList() result.Allocate( len( data ) ) for d in data: @@ -15,12 +193,16 @@ def to_vtk_id_list( data ) -> vtkIdList: return result -def vtk_iter( vtkContainer ) -> Iterator[ any ]: - """ - Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins - python containers. - :param vtkContainer: A vtk container. - :return: The iterator. +def vtk_iter( vtkContainer: any ) -> Iterator[ any ]: + """Create an iterable from a vtk "container" (e.g. vtkIdList). + + To be used for building built-inspython containers. + + Args: + vtkContainer: A vtk container. + + Yields: + Iterator[ any ]: The iterator. """ if hasattr( vtkContainer, "GetNumberOfIds" ): for i in range( vtkContainer.GetNumberOfIds() ): @@ -30,39 +212,52 @@ def vtk_iter( vtkContainer ) -> Iterator[ any ]: yield vtkContainer.GetCellType( i ) -def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: - """Checks if a mesh contains at least a data arrays within its cell, field or point data +def has_invalid_arrays( object: vtkDataSet, invalid_arrays: List[ str ] ) -> bool: + """Check object contains arrays from invalid_arrays list. + + Checks if a mesh contains at least a data arrays within its cell, field or point data having a certain name. If so, returns True, else False. Args: - mesh (vtkUnstructuredGrid): An unstructured mesh. - invalid_fields (list[str]): Field name of an array in any data from the data. + object (vtkDataSet): An object. + invalid_arrays (list[str]): Array names to check. Returns: - bool: True if one field found, else False. + bool: True if at least one array was found, else False. """ - # Check the cell data fields - cell_data = mesh.GetCellData() + # Check the cell data arrays + cell_data = object.GetCellData() for i in range( cell_data.GetNumberOfArrays() ): - if cell_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) + if cell_data.GetArrayName( i ) in invalid_arrays: + logging.error( f"The mesh contains an invalid cell array name '{cell_data.GetArrayName( i )}'." ) return True - # Check the field data fields - field_data = mesh.GetFieldData() + # Check the field data arrays + field_data = object.GetFieldData() for i in range( field_data.GetNumberOfArrays() ): - if field_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) + if field_data.GetArrayName( i ) in invalid_arrays: + logging.error( f"The mesh contains an invalid field array name '{field_data.GetArrayName( i )}'." ) return True - # Check the point data fields - point_data = mesh.GetPointData() + # Check the point data arrays + point_data = object.GetPointData() for i in range( point_data.GetNumberOfArrays() ): - if point_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) + if point_data.GetArrayName( i ) in invalid_arrays: + logging.error( f"The mesh contains an invalid point array name '{point_data.GetArrayName( i )}'." ) return True return False -def getFieldType( data: vtkFieldData ) -> str: +def getArrayType( data: vtkFieldData ) -> str: + """Get field data type. + + Args: + data (vtkFieldData): input vtkFieldData. + + Raises: + ValueError: if input is not a vtkFieldData. + + Returns: + str: array type. + """ if not data.IsA( "vtkFieldData" ): raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) if data.IsA( "vtkCellData" ): @@ -74,12 +269,32 @@ def getFieldType( data: vtkFieldData ) -> str: def getArrayNames( data: vtkFieldData ) -> List[ str ]: + """Get all array names. + + Args: + data (vtkFieldData): input vtkFieldData + + Raises: + ValueError: if input is not a vtkFieldData + + Returns: + List[ str ]: list of array names. + """ if not data.IsA( "vtkFieldData" ): raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) return [ data.GetArrayName( i ) for i in range( data.GetNumberOfArrays() ) ] def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: + """Get array from name. + + Args: + data (vtkFieldData): field data + name (str): name of the array + + Returns: + Optional[ vtkDataArray ]: output array if it exists or None. + """ if data.HasArray( name ): return data.GetArray( name ) logging.warning( f"No array named '{name}' was found in '{data}'." ) @@ -87,31 +302,72 @@ def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: + """Get a deep copy of an array from name. + + Args: + data (vtkFieldData): field data + name (str): name of the array + + Returns: + Optional[ vtkDataArray ]: deep copy of the array if it exists or None. + """ return deepcopy( getArrayByName( data, name ) ) def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: + """Get GlobalIds array. + + Args: + data (vtkFieldData): field data + + Returns: + Optional[ vtkDataArray ]: output array + """ array_names: List[ str ] = getArrayNames( data ) for name in array_names: - if name.startswith( "Global" ) and name.endswith( "Ids" ): + if name == GLOBAL_IDS_ARRAY_NAME: return getCopyArrayByName( data, name ) - logging.warning( "No GlobalIds array was found." ) + logging.warning( f"No {GLOBAL_IDS_ARRAY_NAME} array was found." ) + +def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[npt.NDArray[np.int64]]: + """Get GlobalIds array as numpy array. -def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ array ]: + Args: + data (vtkFieldData): field data + + Returns: + Optional[npt.NDArray[np.int64]]: output numpy array + """ return vtk_to_numpy( getGlobalIdsArray( data ) ) -def sortArrayByGlobalIds( data: vtkFieldData, arr: array ) -> None: - globalids: array = getNumpyGlobalIdsArray( data ) +def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[np.int64] ) -> None: + """Sort input array by GlobalIds. + + Args: + data (vtkFieldData): field data + arr (npt.NDArray[np.int64]): array to sort + """ + globalids: npt.NDArray[np.int64] = getNumpyGlobalIdsArray( data ) if globalids is not None: - arr = arr[ argsort( globalids ) ] + arr = arr[ np.argsort( globalids ) ] else: logging.warning( "No sorting was performed." ) -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ array ]: - arr: array = vtk_to_numpy( getArrayByName( data, name ) ) +def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[npt.NDArray[np.float64]]: + """Get numpy array from name. + + Args: + data (vtkFieldData): field data + name (str): array name + sorted (bool): True to sort output array. Defaults to False. + + Returns: + Optional[npt.NDArray[np.int64]]: output numpy array + """ + arr: npt.NDArray[np.float64] = vtk_to_numpy( getArrayByName( data, name ) ) if arr is not None: if sorted: array_names: List[ str ] = getArrayNames( data ) @@ -120,5 +376,15 @@ def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) - return None -def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ array ]: +def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[npt.NDArray[np.float64]]: + """Get a deep copy of numpy array from name. + + Args: + data (vtkFieldData): field data + name (str): array name + sorted (bool): True to sort output array. Defaults to False. + + Returns: + Optional[npt.NDArray[np.int64]]: output numpy array + """ return deepcopy( getNumpyArrayByName( data, name, sorted=sorted ) ) diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 19243f4e..6aa30990 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.processing.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.vtk.helpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.CellTypeCounter import CellTypeCounter from geos.mesh.model.CellTypeCounts import CellTypeCounts diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py index bd429366..0cedbadb 100644 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ b/geos-mesh/tests/test_MergeColocatedPoints.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.processing.helpers import createMultiCellMesh +from geos.mesh.vtk.helpers import createMultiCellMesh from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index a428ee7c..bf7e0e81 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.processing.helpers import createSingleCellMesh +from geos.mesh.vtk.helpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index ed721311..e77d996b 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.processing.helpers import createSingleCellMesh +from geos.mesh.vtk.helpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 247c47c8..7fd78419 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.processing.helpers import getBounds, createVertices, createMultiCellMesh +from geos.mesh.vtk.helpers import getBounds, createVertices, createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy From 7fb8e79738e823290d46a3f1c9b08cb908b0d775 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 29 Apr 2025 14:01:16 +0200 Subject: [PATCH 27/71] Linting, formating, typing --- geos-mesh/src/geos/mesh/vtk/__init__.py | 2 +- geos-mesh/src/geos/mesh/vtk/helpers.py | 65 +++++++++++++------------ geos-mesh/src/geos/mesh/vtk/io.py | 29 ++++++----- 3 files changed, 54 insertions(+), 42 deletions(-) diff --git a/geos-mesh/src/geos/mesh/vtk/__init__.py b/geos-mesh/src/geos/mesh/vtk/__init__.py index b1cfe267..b7db2541 100644 --- a/geos-mesh/src/geos/mesh/vtk/__init__.py +++ b/geos-mesh/src/geos/mesh/vtk/__init__.py @@ -1 +1 @@ -# Empty \ No newline at end of file +# Empty diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index 5dd3804b..af7f75eb 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -2,7 +2,7 @@ from copy import deepcopy import numpy as np import numpy.typing as npt -from typing import Iterator, Optional, List, Sequence, Union, Sized +from typing import Iterator, Iterable, Optional, List, Sequence, Union, Any from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk from vtkmodules.vtkCommonCore import ( vtkDataArray, @@ -16,11 +16,13 @@ vtkCellData, vtkPointData, vtkDataSet, + vtkCellTypes, vtkIncrementalOctreePointLocator, ) GLOBAL_IDS_ARRAY_NAME: str = "GlobalIds" + # TODO: copy from vtkUtils def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: """Get the dictionnary of all attributes of a vtkDataSet on points or cells. @@ -157,12 +159,12 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], map of cell point ids """ # get point bounds - bounds: list[ float ] = getBounds( cellPtsCoord ) + bounds: Sequence[ float ] = getBounds( cellPtsCoord ) points: vtkPoints = vtkPoints() # use point locator to check for colocated points pointsLocator = vtkIncrementalOctreePointLocator() pointsLocator.InitPointInsertion( points, bounds ) - cellVertexMapAll: list[ tuple[ int, ...] ] = [] + cellVertexMapAll: list[ tuple[ reference, ...] ] = [] ptId: reference = reference( 0 ) ptsCoords: npt.NDArray[ np.float64 ] for ptsCoords in cellPtsCoord: @@ -170,21 +172,22 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], pt: npt.NDArray[ np.float64 ] # 1DArray for pt in ptsCoords: if shared: - pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) + pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] else: - pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) - cellVertexMap += [ ptId.get() ] + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] + cellVertexMap += [ ptId ] cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll -def to_vtk_id_list( data: Sized ) -> vtkIdList: - """Generate vtkIdList from sized object. + +def to_vtk_id_list( data: Sequence [ Any ] ) -> vtkIdList: + """Generate vtkIdList from iterable object. Args: - data (Sized): sized object + data (Sequence [ Any ]): iterable object Returns: - vtkIdList: id ilst + vtkIdList: id list """ result = vtkIdList() result.Allocate( len( data ) ) @@ -193,23 +196,23 @@ def to_vtk_id_list( data: Sized ) -> vtkIdList: return result -def vtk_iter( vtkContainer: any ) -> Iterator[ any ]: - """Create an iterable from a vtk "container" (e.g. vtkIdList). +def vtk_iter( vtkContainer: vtkIdList | vtkCellTypes ) -> Iterator[ Any ]: + """Create an iterable from a vtk "container". To be used for building built-inspython containers. Args: - vtkContainer: A vtk container. + vtkContainer (vtkIdList | vtkCellTypes): A vtk container. Yields: Iterator[ any ]: The iterator. """ - if hasattr( vtkContainer, "GetNumberOfIds" ): - for i in range( vtkContainer.GetNumberOfIds() ): - yield vtkContainer.GetId( i ) - elif hasattr( vtkContainer, "GetNumberOfTypes" ): - for i in range( vtkContainer.GetNumberOfTypes() ): - yield vtkContainer.GetCellType( i ) + if isinstance( vtkContainer, vtkIdList ): + for i in range( vtkContainer.GetNumberOfIds() ): # type: ignore[attr-defined] + yield vtkContainer.GetId( i ) # type: ignore[attr-defined] + elif isinstance( vtkContainer, vtkCellTypes ): + for i in range( vtkContainer.GetNumberOfTypes() ): # type: ignore[attr-defined] + yield vtkContainer.GetCellType( i ) # type: ignore[attr-defined] def has_invalid_arrays( object: vtkDataSet, invalid_arrays: List[ str ] ) -> bool: @@ -328,9 +331,10 @@ def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: if name == GLOBAL_IDS_ARRAY_NAME: return getCopyArrayByName( data, name ) logging.warning( f"No {GLOBAL_IDS_ARRAY_NAME} array was found." ) + return None -def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[npt.NDArray[np.int64]]: +def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ npt.NDArray[ np.int64 ] ]: """Get GlobalIds array as numpy array. Args: @@ -342,21 +346,21 @@ def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[npt.NDArray[np.int6 return vtk_to_numpy( getGlobalIdsArray( data ) ) -def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[np.int64] ) -> None: - """Sort input array by GlobalIds. +def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.float64 ] ) -> None: + """Sort inplace input array by GlobalIds. Args: data (vtkFieldData): field data arr (npt.NDArray[np.int64]): array to sort """ - globalids: npt.NDArray[np.int64] = getNumpyGlobalIdsArray( data ) + globalids: npt.NDArray[ np.int64 ] = getNumpyGlobalIdsArray( data ) if globalids is not None: arr = arr[ np.argsort( globalids ) ] else: - logging.warning( "No sorting was performed." ) + logging.warning( "No sorting was performed." ) # type: ignore[unreachable] -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[npt.NDArray[np.float64]]: +def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray[ np.float64 ] ]: """Get numpy array from name. Args: @@ -367,16 +371,17 @@ def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) - Returns: Optional[npt.NDArray[np.int64]]: output numpy array """ - arr: npt.NDArray[np.float64] = vtk_to_numpy( getArrayByName( data, name ) ) + arr: npt.NDArray[ np.float64 ] = vtk_to_numpy( getArrayByName( data, name ) ) if arr is not None: if sorted: - array_names: List[ str ] = getArrayNames( data ) - sortArrayByGlobalIds( data, arr, array_names ) + sortArrayByGlobalIds( data, arr ) return arr - return None + return None # type: ignore[unreachable] -def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[npt.NDArray[np.float64]]: +def getCopyNumpyArrayByName( data: vtkFieldData, + name: str, + sorted: bool = False ) -> Optional[ npt.NDArray[ np.float64 ] ]: """Get a deep copy of numpy array from name. Args: diff --git a/geos-mesh/src/geos/mesh/vtk/io.py b/geos-mesh/src/geos/mesh/vtk/io.py index 5d3e3693..0ebfe0fd 100644 --- a/geos-mesh/src/geos/mesh/vtk/io.py +++ b/geos-mesh/src/geos/mesh/vtk/io.py @@ -81,11 +81,14 @@ def __read_pvtu( vtk_input_file: str ) -> Optional[ vtkUnstructuredGrid ]: def read_mesh( vtk_input_file: str ) -> vtkPointSet: - """ - Read the vtk file and builds either an unstructured grid or a structured grid from it. - :param vtk_input_file: The file name. The extension will be used to guess the file format. - If the first guess fails, the other available readers will be tried. - :return: A vtkPointSet. + """Read the vtk file and builds either an unstructured grid or a structured grid from it. + + Args: + vtk_input_file (str): The file name. The extension will be used to guess the file format. + If the first guess fails, the other available readers will be tried. + + Returns: + vtkPointSet: A vtkPointSet. """ if not os.path.exists( vtk_input_file ): err_msg: str = f"Invalid file path. Could not read \"{vtk_input_file}\"." @@ -142,14 +145,18 @@ def __write_vtu( mesh: vtkUnstructuredGrid, output: str, toBinary: bool = False def write_mesh( mesh: vtkPointSet, vtk_output: VtkOutput, canOverwrite: bool = False ) -> int: - """ - Writes the mesh to disk. + """Writes the mesh to disk. + Nothing will be done if the file already exists. - :param mesh: The grid to write. - :param vtk_output: Where to write. The file extension will be used to select the VTK file format. - :return: 0 in case of success. - """ + Args: + mesh (vtkPointSet): The mesh to write. + vtk_output (VtkOutput): Where to write. The file extension will be used to select the VTK file format. + canOverwrite (bool): if True, overwrite output file. Defaults to False. + + Returns: + 0 in case of success. + """ if os.path.exists( vtk_output.output ) and canOverwrite: logging.error( f"File \"{vtk_output.output}\" already exists, nothing done." ) return 1 From 9af63b0c1d4e57f9df742a89734c0f8876538bca Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 29 Apr 2025 14:06:02 +0200 Subject: [PATCH 28/71] linting --- geos-mesh/src/geos/mesh/vtk/helpers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index af7f75eb..6f56d160 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -2,7 +2,7 @@ from copy import deepcopy import numpy as np import numpy.typing as npt -from typing import Iterator, Iterable, Optional, List, Sequence, Union, Any +from typing import Iterator, Optional, List, Sequence, Union, Any from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk from vtkmodules.vtkCommonCore import ( vtkDataArray, @@ -174,13 +174,13 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], if shared: pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] else: - pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] cellVertexMap += [ ptId ] cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll -def to_vtk_id_list( data: Sequence [ Any ] ) -> vtkIdList: +def to_vtk_id_list( data: Sequence[ Any ] ) -> vtkIdList: """Generate vtkIdList from iterable object. Args: From 15d9df93afb3fb5b32221f20b45c3fc1c91e832d Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 29 Apr 2025 14:24:14 +0200 Subject: [PATCH 29/71] fix tests --- geos-mesh/src/geos/mesh/vtk/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index 6f56d160..433462f1 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -175,7 +175,7 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] else: pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] - cellVertexMap += [ ptId ] + cellVertexMap += [ ptId.get() ] cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll From 0575b1e04ed99413a92a8a4135adf4ae586a7ba6 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:56:20 +0200 Subject: [PATCH 30/71] Addition of data for tests --- geos-mesh/tests/data/data.npz | Bin 28342 -> 309304 bytes geos-mesh/tests/data/domain_res5_id.vtu | 44 +++++++++++++----- geos-mesh/tests/data/surface.vtu | 57 ++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 12 deletions(-) create mode 100644 geos-mesh/tests/data/surface.vtu diff --git a/geos-mesh/tests/data/data.npz b/geos-mesh/tests/data/data.npz index 6858b20acdcaec660c5ac2a5394da7e6c55d55a6..a90e8e07b471f3555e3a7523c10854b1f10195f0 100644 GIT binary patch literal 309304 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 delta 106 zcmdn-L1^1uMyUXAW)=|!2vB6`JF+TSAc%nhgf~i=1c@P}Zm4gZxaz7MXrz8;dbBi1BM1i=hZB8^|aoAj|>MCV3zp00Ku9h5!Hn diff --git a/geos-mesh/tests/data/domain_res5_id.vtu b/geos-mesh/tests/data/domain_res5_id.vtu index 40797bd2..6e29affa 100644 --- a/geos-mesh/tests/data/domain_res5_id.vtu +++ b/geos-mesh/tests/data/domain_res5_id.vtu @@ -5,11 +5,21 @@ + + + + 18.923530326 + + + 18.923530326 + + + - + - + 1.7094007438e-15 @@ -19,15 +29,25 @@ - + - + - + + + + + + 37.847060652 + + + 37.847060652 + + - + 0 @@ -39,15 +59,15 @@ - - - - - + + + + + - _AQAAAACAAADgfwAARhgAAA==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AQAAAACAAAAwGwAABAEAAA==eJztlksOxDAIQ9PO/e88mq3lZ6JoVKURC5SGfADjUO4xxv1yuUA+BwjF9k95IkenYNX52CsfapNivWVddTTSWrXf+aO66p50ZsZvnV9wD9msbLk67HCajTt9u7WK34ShyythnHhA8VB8Dh/CM+FGOFexJRySn2rbYULcUl4QpitvKPHW2a14f4p0P9T/36ew6nzslY+Z+ubqp+popLVqv/NHddU96cyM3zrvfoh5QRgnHlA8FF/3Q4zpyhtKvHV2K96fIt0P9f/3Kaw6H3vlY6a+ufqpOhpprdrv/FFddU86M+O3zrsfYl4QxokHFA/F1/0QY7ryhhJvnd2K9z/5Ao84Duw=AQAAAACAAACQUQAAMQAAAA==eJztwzENAAAIA7B3SjCBx2lGCG3SbCeqqqqqqqqqqqqqqqqqqqqqqqqqqo8eaqCtmg==AQAAAACAAAAwGwAAIwAAAA==eJztwwENAAAIA6BmJjC67/QgwkZuJ6qqqqqqqvp0AWlKhrc=AQAAAACAAAAwGwAAPQAAAA==eJzt1rEJADAIRUGH/dl/hbSp0oiFcAci2Nm9VFUG5wxPnp3Pfet/AMC87b2ghwCAru29oIcAgK4L9At6fQ==AQAAAACAAABgNgAAawoAAA==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4q6xxV1ji7umNcq6axpP665pjbXumtYi666xxV1ji7vGFneNLe4aW9w1trhrbHHX2OKuaX2z7prWSeuuscVdY4u7xhZ3TfPfumtpdNfY4q6xxV3T+mbdNV1T666xxV1ji7vGFneNLe4aW9w17ce6a7pe1l1ji7umdcO6a2xx19jirul+t+5aOvzOxu5aOpy37K6l0V2H28i8ZXdN65J119jirrHFXdM8se6a1g3rrrHFXdP9aN01trhrmhvWXWOLu8YWd23XZ3LX0mo9J3ctje463EbOhd01trhrbHHXNFetu6Z737prGnPrrrHFXdN6Zd01trhrbHHX/LnsrqXDY84O9inuWhrdNba4a2xx17QmWHdN18K6a1pPrLum9dm6a1pzrLvGFneNLe4aW9w1trhrbHHX2OKuscVdY4u7xhZ3jS3ums+L3bV0OA7srlXL78zkrrHFXWOLu8YWd40t7ppet+4aW9w1trhrbHHX2OKu6XOtu5YOjtO6a9WuNLprbHHXdC9Yd01zzLprbHHX2OKuscVdY4u7xhZ3jS3umseH3bW0eh6Ru5ZG8xNuEzyPyF1ji7vGFneNLe4aW9w1trhrbHHXPA7srqXDcWN3Ld1Xjse6a2l019jirmkNt+4aW9w1reHWXWOLu8YWd40t7pruI+uu+dzZXUuH48buWrpPMG6JatzYXWOLu8YWd03roXXXtO5Zd01rmnXXfL7srqXDsWJ3LT0iGKskNVbsrulzrbum9cG6a2xx13TvWHeNLe4aW9w1trhrbHHX2OKuscVdY4u7pnXAumtaf6y7xhZ3zePG7lpaPYPIXUujuw63CZ5B5K6xxV1ji7umNdm6a1rHrLvGFneNLe6a1gTrrrHFXdNnWXctHRynddfS6K7DbexxWndNa4t119jirrHFXWOLu8YWd033uHXX2OKuad227prWMeuuscVd8/myu+Z5wu5aOpxj7K6l0V2H28gcY3eNLe4aW9w1trhrbHHXdL7WXdN+rLuWDo7BumtpdNfhNvYYrLvGFneNLe4aW9w1trhrbHHX2OKuscVd87xidy2tvkuo51G6mofsrmm+WXdN64x119jirnk+sLsOOphLGeH+rbuWRndNa75119jirrHFXWOLu8YWd40t7pqvI7tr6XAOZKlnWZa67uyu6Vpbd40t7hpb3DW2uGua29Zd03yw7pqv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AQAAAACAAADMBgAAFgAAAA==eJzT0hoFo2AUjIJRMAqGNgAA9C4diA==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AQAAAACAAABgNgAAMAwAAA==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 + _AQAAAACAAADgfwAARhgAAA==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AwAAAACAAACgfwAAdgAAAHcAAAB3AAAAeJztyDENACAMADC8EBJkTA1qmaeF2aA9m/fZcdqM0Vak995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++99957/9EX/I+fp3ic7cgxDQAgDAAwvBASZEzN1DJPZNigPZvZZoxnRZ22I7333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333vuP/gJF6p09eJztyDENACAMALB5ISTImBrUMk9kqOBoz0a0mXXayv2MDO+9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++9995777333nvvvffee++99/6jvwaTeWc=AQAAAACAAAAwGwAABAEAAA==eJztlksOxDAIQ9PO/e88mq3lZ6JoVKURC5SGfADjUO4xxv1yuUA+BwjF9k95IkenYNX52CsfapNivWVddTTSWrXf+aO66p50ZsZvnV9wD9msbLk67HCajTt9u7WK34ShyythnHhA8VB8Dh/CM+FGOFexJRySn2rbYULcUl4QpitvKPHW2a14f4p0P9T/36ew6nzslY+Z+ubqp+popLVqv/NHddU96cyM3zrvfoh5QRgnHlA8FF/3Q4zpyhtKvHV2K96fIt0P9f/3Kaw6H3vlY6a+ufqpOhpprdrv/FFddU86M+O3zrsfYl4QxokHFA/F1/0QY7ryhhJvnd2K9z/5Ao84Duw=AQAAAACAAACQUQAAMQAAAA==eJztwzENAAAIA7B3SjCBx2lGCG3SbCeqqqqqqqqqqqqqqqqqqqqqqqqqqo8eaqCtmg==AQAAAACAAAAwGwAAIwAAAA==eJztwwENAAAIA6BmJjC67/QgwkZuJ6qqqqqqqvp0AWlKhrc=AQAAAACAAAAwGwAAPQAAAA==eJzt1rEJADAIRUGH/dl/hbSp0oiFcAci2Nm9VFUG5wxPnp3Pfet/AMC87b2ghwCAru29oIcAgK4L9At6fQ==AQAAAACAAABgNgAAawoAAA==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AgAAAACAAADQPwAAnzAAAG4eAAA=eJxt2nmcTvX7+PGxZGyfEhKFJHtJNFQq6Zz3lOaTj/rayj6WyBKSxhLGOkKUZQhDtsuS3diX4T5nwlgjpFLGnn0Lifzu67re1znXH795PD6Pz+txP8597nPe533e5+72jPmuYGYM/g//ov+/bPBxX7rvx22C/iQ+3ZOu3bpR0DExxXRHwk51pOetinGlD1UZFvTzlW8H/XWV7kb6oTKngo7+Lx6z+cn8wXvbf54/OJ6jN/IGx9lvUt7Mc9Mq0jYDm+XNnFY/iY8tJjbz/dxdgg6OmTsStj3maLdNfIL281nLPJn+oFn8uVXzZF56di+99+VZD2Wu6LaHXv/LzZl5+fXnqTv/liOz5N0+tM2UATkyb6Ul8Tm2yZHZd0VPTzo4Bu5I2PYYsN8vTe99rlKOzGqDNtD2WyY/8Memd6LzTW35j5+9qw+N1YiLd/wmg07S9seTb/vBdYx2icEfedLB53JHwrafG+0tQx6l/fSuc9uXa/Hf+rf878Zm0nsbmr/8x+6Nom26OTf9fn+kUFccesP/9PHnqB89fd3v98sg2t58f92f//ZP1A2KXPOvDM9F+3yt0CX/z1+f4Gtd96L/vunuSQfHyR0J2x5ntF8dX4g+6+y0M35kOH/WexPP+AuOjKF9xuU746/rnkzjcK3Iab/wt6Np++Ryp3yZ89hn7tygbZatPOm/2ngn7adgl5N+xdO3jLTMw44fn/QbnOVrnevZE/5T41bZuZTt3+zQPOhwjmWHx08tcyzb//hIGdpPk0HH/aQuM6lL5j7unyo9nI7n4epH/QsvXKf9DO1yxD+WOZu2eb/FYX9V7mG0zdlth/xaucrzHNt6yF8ba+d5tINj4I6EzccwLOmg/8N742ibyAcH/auTk6mXFTvoj57C1zf+w12+X/9Xev3alSx/7vq7/FnJWX6ZFs086XBeZal5laXmVZafZ9Qj9N4GZbP8RS9tpO3XmB1+99R79PoNk+lvvtePen6i7y/K/SLP5w+3+gtj+9L2N2ts9W80nG7nRob/8tZPgg7nTIaaMxlqzmT4To7itM/zczf5xfanUde5vNbfPiIfjec/B9b4jVvlpV5qVvsZrUvRHEgpstpfkSeVtp84KN3vuoDXmZiYdL/ARLnu6eq6p6vrnq6ue7q/o2w5em/jbav89RtG0P5/PLfSvzNsNb23Va1lfsKcRdRnui31F075grrle0v8qw1m2Wu9wL+Rr40nHV7rBepaLwg/N9oVupei9/7ecp6fe2EMfe7VV+b5856pQa9fHTDX79tkOPXQ32b4t5qspX12mDzDX9OsF/XxnjP870oWoPG5eDTNr7p+o73uaX7tpC5Bh/MhTc2HNDUf0vzqnQrTZxXNOdlP3V6M9llhRar/wfxb9PriBqm+P+ckHWfsgEn+uVbj6fWkspP8ntcnUF/7baL/3Mpnqd+cMMFf3GSCXU/G+/+MtetetMO5MV7NjfFqboz3y818kvbT7uTXfszUr+l4ip0f65ff/j2vY/PH+gc6D6B+Y9xXflrB07TNhce/9EsNHsrrbUyKP+vNRE86nA8paj6kqPmQ4r939mn63B8LjvCP7a1EfXnwcH/lvLx0Lr+8NNy/V3o77Wfhk8P97S7fm+9NGurP/ugCvX76+BA/duFSOoYt+Qf7z1SeRNvUjh3gz3j1BvW03/v749f0p+3bLe3rF/1nhr1GSf66qx2DDq9dkrp2SeraJfnz4/kZ0XZJt2Atxe7wZw7q81O7+qtz8dye0rirn2/1cOoXn+vip64eRO+t6XT2C47kuTftTEd/49kHtE2fSe39P2b/S702o53/0qWR1PeGtPXPVIiNl5Y1eVDjtv6Ahjnt+Cf6Wb7cj4lq/BPV+Ceq8U/0P8zLa4LboYVf5Xe+7yY1beqffoivtVeokT+21G+0TVZaQ79gZX5GTB/xf763cBq9/vqSBD/HknJ2bUzwMxrIeCao8UxQ45mgxjPBP/znM/Te7e3e8UfX4udU0RqOf/+9/9J5Va/3ij8udiDtJ3v9y/7iZlvsecX5Vwp+EnR4vnHqfOPU+cb5o01R2v+mXtX8Ut/ys7hOq+f9XPXfps/qW7Sqf3XPl7TNM3HP+edX3aXXXy9Rxa/xUnVeA9dU8t9MepveO3tWJb9zF/5eVBzK+ccuLKPtV+x5xp957yXqCRPL+Cvb8dr1brfSfq9GT/N9mlzK75fTPvejHY5VKTVWpdRYlfL/u6EE7Wf/2BL+gHiezzdbFPd75eG1aNjTj/rTslfT/s8/9YhfL34P9aO/F/SPnORn98/nC/gbbvr0+qG9Bfx2kUl2PY/1Fya286TVd0U1nrFqPGP9ZZ14XY0tnNtftrYDne9jZ3P67rXN1E9VuuvdXxih/Xx074Yn+/l18DWv7ak59N6ZzlVvx+/8HeaViVe8zWnH6L13P7/oramYSt3lmwvevnL56JjLNTvvXfxiN72esOGcd3o/r59H15/2/rjOa9Hl09le7bpH5XuI5y3tHrT6fuLdWpwm30+87TN61w23Cb6reMVSeH5+3uYXr0q/DOqCK372Up/PRfd7vyJHvME5a9LrDQdt9q71akrHmf7JJq/l8NHUtTtt9J7tOJ966oLo91m7bmD/9Ehe6tbT13lf5m5C22z8YbVXre0AeZ56/Y/2DVo9Z73Y7+T4072zMZ/VDbcJnrneyb9foGOr+NEKL/ew32n/Yw4v8wqk8DFP/XSp13RBBq+NNxd61xbc5PXqnYXe0F7c+9uDt6jwZOruFcH76MBg6kb9ZnkHXyxJY14036zg+u79aIZX/U4eWqOK1Z7hyXr1xYE070T/IvRe02m6F7tlPh1D7hxTg/fOema8d+fwWZ4/V8Z46y/OoF7caYxXfsX/+H7sOtI7X7ASfz8fkeKVaXBTnkFe7MiP5LmjxirF+22tjFWKN/qfz+uG2wTPI6/G0yXpePpeGOFt2fw9dYFDw72b9Vbwd+kWw7ydf/Aa+FzpoV7B2S/S66N+S/bKL6xLnWt1spf48BLqeq2/8CpvjNBxnmz+hbc35y/Ut2b29ZJmDqFt4lL7eGWG7uI5vLWndzCO7812eXp63X97iF4f+34Pb9apqdT7y/Tw5oxeRtt8e7CrN+z7E/T6tpgu3uODH9Axt/q1o1eyHY9/q10dvbv5b9M2Y57t6N3Kd42Ov9extt6/Xz9L+3lyTluv//VV1GduJ3of7spDc3LU2URv7LUB9N5CvVt7nWZtp36xZGuvcO2D/PxyWnkn0m/Qe8dVauUdzuLv0o0nNvN+nrefXr9T/APv5UOL6fWSdZp6Vy63p/2sOtPE67d4A3XZrxt7268l0/a7yzb2furB87PZB+95+a6O4e9v39f3XnjzQ9pmXbn63sfrjtB7N5R/11twYiz1D68leOPe4rkas6uOd/exVOp5U2t76yrzM7pzyVe8puOv0Ovv7IjzVpTJ5u1j4rzJA2UNjFPzJ84rOUnmT5yXNOfTuuE2wfPFe207r4dXalUN7nHsWafzUZe9WcWrf46/D8Sdr+Blle/E13FSBW/O1nnUg68+4X3ZLoau3V/nn/AmPxlPr28784h37Ey+eGm5p9o++XBw7xR/8s+I9Kvjfo38+2F+em+3Zj9H+uwrzePQ9OdIj5vP0FhlVTwcSSs2jo65+YxDkccu8lrafO+ByJyFrfmZuP5ApPlivh/v/L0/sir5GvWVP/dH7n61lManVot9kcKf8zG7f+2N7H7J8Pqwenfkxiy+LgU/2h2Z8sRb3C12R/KVX0Qd+/zuSLXBwN9zGu6K7FvM43Oy/q7I2P5naP/Fau+MJNzmdWDOlB2RuDw/0jaL922PVO37B/WobT9ERlVbT9s8esuPVN69g3r8r5FIzPHCPM8TtkVyT9hN59uzTUYk9gJ/bynTICOy7txh2r7T3k2RpYWv8tzYsynyQx2eM8vyb4qML/QxvX52w4bIhE58Xz+SuiESU3cv7efr6tFOvkT7ObNvfWTtwLw0Jo0eWx+Jufodz88S6yIxk9bwOf5nXSS1H6//G55aG4nZWom2eWvsmugxf8/ffy6vjlTr/BTtv+Xy1ZGeO/hZ1m/u6kiOrBF0rct2WR2J2c/73PP2ajxfXn+6pUdivuN7pGrGqsjFEvybQJETqyLlTsl3p/SIeqZEnE+myTMl0urXKxnhNsEzJfJHvSJ0PBveXxU95m30udU/WR6JadOZv3t8tyw6DrNpnzPrRXs5j+GWF5ZGX29Ex7DowWI8Zupnei+KHMrJ92nrVxbh9jRuhWotxP3QZxV5fD6OM+3z9wbzIjGFRvNadH9u9BzrUH87l5r2U+XArEjSlk/ovZNrzoruk78zVGo/A5u2WbBV7unoOjN9Oo4VvX7icnQMvuZ1tdCNbyMxlWLp+G/0oaZj85t/i+dL27zUONox/PtAt5e+xffyfGsyBa8pz5kKU3AMaftaaybj9nQuOWMn45yhba4dmITXnTp32Qk4tjwHHvkmEtPjDvXOv8ZEYsrwOjnQH4WvU895ZBSOCXXxeyNxvlGPNoNwzKk3f/+/iKxLS27kjcgaQn/yWygNUmzY9trRnz0G+rPznP7sWPF+joRtx5z+7LnQn73u9GfnOf3Ze4T/UsO215r+yiSHbcefj6eROoY66nMrqc8qrPZ/1wvSzivez2zV3cIO7hE6tkjM//dP7hHa3lX7UT07bLtu2OMJ265X9vjDtnOb99MobHvf0Z+dG/Rn54M9trDt3ODP+j5su4bw524L294vfAxHwrbznI/nUth2TvJ7c4RzzN47vB+ee7+vzuVID3n8K0eOv8YjExz53CXZEx25jkNem+TIHOj8VrTtXK1fJDr2dv6sajnZkeP5sW+07fxpX2GKI+f7Su9o2/n8TNa3jlyLkSWnOjIf/i8r2vYcm+We5si5DLg/3ZF5Hl1Dgmv+/PoZjszn/gnfOTL/d8XMcuS6P+RF216vn+vNduS+yzgy15HxefvCXEeu0acz5zlyr+28Nc+RsR13GxyZq3NrLXDkPt3+UbTt3NgyZIEj92b8yAVOY5ffm5G90JH763j57x2ZV8c2RdvOvWbOYkfmzPAdyxyZG/PuRVvWum7LHbmP2r6+wpH5tqDFCkfu8bYFVzo5IzyXhry50pF7890OK51if/AzqPrIlY7cy7XyrnJkzkefU070OUWf9eyFVU54j6c70WeQPLOc8H5Md6LPrDeko88yJ9yG78foc9OJPjfp9eiz1Yk+W2k/F75Z48ga9fw3G5xBj0WoEzZscCr9zv9NbbZvcN7r+Sntp9rSjU7/z/n53mD9Rkfui8llNznnq39M7z0X7c2HJ1I3nLPZ+bRgLtp+8qgtjqxFe37McApXLc+/b7TynCbHrtDrl+f5zqDO/G8ZuSDTmbn+T9r/+H8ynaMdvqQu5u9wiix5lJ9TmTucyzN60OsD2u509hr+zvnw0Cxn/AT+fnXs5yxnyrvzaPtej+9yCu/ZxN/JvV3OsM7p9Lr3zG4nLTKFth9za7ezGPi/We6U2ONsfp1/n2/52x7nhYQfqXt8tM8Zu+F9Gs/P5u9zXoirSa/PvrTP+bJUDmo/x35nSdOqtJ93m/zolGx1gL873fvR8RcNo2OocP9HJ/nKsjfpXD496Mxqz/+tV3H7ISerTgydyx+5jjj3Rq/j399Sf3X82Pq0nxcW3HRSbjxEnf3UQ27RwvnjpWVtea7DY26LIbxN+5pl3AqDYuxzLc41yUXle74bzqU4d2fOgdukSzdY44TbyNoe545e35U68kgd9+oB/reJNfmMm+/Befqsz0vWc4/OnESv/6fhO27xZXOoX2v2jtvqYgptc3TlO+7ot96jPvJGgju400b+rWn9/9z0xT3p9XbD33OTs3n92fJsI7dpWR7/1iMau7XOD6btP9nWxD35BN/jFRt94A5rzv8tmX9yM/eVEtm0fZ3pzdzdc3mbESnN3SkzeL7tKtbKHTBkOI3DCx1au59N4rW38/o2br466bwWLUp0S+xcRdtnrkt0S+75gbb/5k6iO/QSr8P/e6K9e/nVrrT9qWbt3VMpC6jfz+7g9vynFm0/IeEj98/XetB+vnY7u1cqVqUubzq7TXPw3Bv3U2d31eQ/afufP+7uvlabf5c+OLO7e37UPjrftV53N8F5il6f4fV2B6V51ANy9XFlXcXuPZ2/Y+fd1dedMYV/K+jUq787feuv1MOfGugemH+U5l5MxYHukvffoGu94fFBbtxnx+l4Rr00yH22Lf83y/UuyW6FT7tQN1+R7E7N9T71TyuT3YJXN/Cz71iyW6oUr+dbbiS70z8dR6879we775zmdaZB7iHul9Xm0OvdNw51B5WsQj30lWHuN0m8to9vNMzt+AHvBzv8zpbibvm3pPy+oeZtilvj3Z/rSh/pO9IJt5F5m+KebsnrasOtKe6ZM/yb5O4io9yfH/BvREmZo91d/V7meZI91u1UJZ7XjaGT3FlXDtPrB9Z+635Rhv/9qO1vM90TNw/RPjtUn+Mub8K/dX/z1XK37RT+dyt4Y6U797U19HrXJivd6Z/I98l0d1GXyrKeq3NJd1MSamyTfvLtxU64jZxLuvt467b8W0SHte7Ml3PTta5XeZNbKPll2mfmsK3uTwNi+d7v7burF/Jc6t4Q51Ex2mef8wfdBgfm8nq19Bd3+pS/aPur235xR3SLpdcfVDzuvlezh/1uk+1+cLKi/Jaojjk72KdtV7ryVx2pj1/Pdut9yff+xzlPuhO/yE3X9LWUU+6zlfl3od0dzrjp9/m37jVnz7k53p1L7/XOXHTX7xnIa06da+6vzXza/mLM9WBu/PXiLbdK8m/0eoGNt90V8R/QZ9WseMet0OpV2udjD99z79RcTr287D33zNGCtM3py/fc0yX/pi6RGGOWFN1E/cObuczQqVnUo9fkMr0unbTXLtZ8CeXlt2ITjgO2jAO1K316Qjvqwj3ymTV1d1C/+UUBU34ory3nvo4ei71/b4582LxteA05d/Yx83Zn/nfSpzs+bpqdnc3fD/MWN/eOrqXXN04obp4rX4OOZ2X9Uqb0Jv53jZjkUib/lTJBB8dJXcxR7Uq/vISPs3jP0qbnwdfo2Ea8Usbk2fQ6db2EMqZkn1m0zzyNKpqeD9em47kyoKJJHs1dZWiVYP9Dsp4z005spn0O3l3NmDnsN56/XsP0n37ezqs483/lSsnzSI1nnJm9/7Ot0sNBvnfGqbGNM/UP8X9rnBj9snkwhu/Bsztqmx83ptA+3zlS21z5Oz99btlKrxpn64v0ehGnjvnp5Wza/k7W2+aV+P52HBJMlaKPe9LhuCWY8vvs8US7rxwPbVMseG/DTbzOdOzZ0FRN20998F7DYEwm9G1ktu3mf4+bMbmJOfwT/7v/rEFNTa+F62n7qkObBtsfbdrc3Bn+PG1zPLuF2XfpKztWiWZz+yeDDsct0cTKcUa7TzBuiWrcEk21G82p/3Mw0Yw61piuxdLN7YJ5mFS+q5lw/Qva5sDYrmaVz//+BbN6mOQR9/heSE4ye1baaxftcKySzFa5dtEeEYxVkhqrJLN/44fUS5P7mzyzvqT9fLy2v6l14DnqMkcHmILFeB0rXH2gkfs9NmeyadOZv9t0GZgcjFXvM4PNseb/0HvblB1i8jxz3X63HxJs0+79ISb535X0ubsmDzHetVl0Lqf9IWbAp1N5/Wk5zPT/7ir1gkkjzINyIM8R422T7+EpasxTTJ1zvbZKOzNlzFPUmKeYkQ/zXO1WNcW09HmeFM0z0rz6gNfnPp+NMYPPnKVjLnBljKn3zil6vca9MebuiEn0+uz1Y03XSeOpn/5hrOm7kc3A1ALjzKfVavKx1R1vtq59KujgOKPdcW3vrdIbl6Q54Tb2OKN9cVlLXlsajjfflh1Fx3C/2SRzs80Kev2LJ1NNQmN2BfnXpRq/ET/rG9yK9ht9aZvnH6QGY/7HtilBX/xzionL5dE2S16aZob1+I2O8+/B082arSPs+U43lxNm2nmVFr1fSgcdzrE007qvzLE0s2uOzLE0NcfSjL+Pn5WTms00n52vwt+9V800qWsn8nc5Z55pVpzX2MvH55nHOvA53p8/37Sf8BSvUVsXmCZdH/Okg2OIdrsKdjyj/eLCNCfcxh5DtDOe7EC9auCSYBwSayw1tVbzulQ7xzKzdvso2n+tD5eZK4V4jXqxVbTfjtB7Wy1fbqaU439LWnxwlfGmy28s6ebY60/Idwk1J9PV8yhdzcN0c/k5/g7fZ1O6eboo3wtH864xT+Xn/36p23aNGbf0Ozt/MkzMmYphB3MpI9w/tyu9qmcbXvNvZ5gCh/m+/qTgVvNhCV7Hln271TQcxJ9b7hvPLHN57f28TqbZu78QnWOLETvMjVz77HXMMhNNcU86nANZ6lmWpa57lhnbpzN1hdF7TPp5Pq9bLfaaIi3Y6dU/vNcMGcff0/xK+03l2tWpv6i239RZNpn68o4D5vN96+x1PGQS6tpjiHY4Bw6Fx8AdbB+J5/Wt2dTDpsgLlem88l47YhabDfT6mp+PmkH/8n/Pnk743cxY+Dmvh33+MGtK8xr4eN/jptTgcfK9y3zwQpmg1Xcwda2z1bXONr1H8zrTbl622TjmJ75/758I1nns70qxi2tf+qRpsnksHeecQSdNwQ/43n9r6SnzfXNeG3/fecrsvML3Piw5bf598mbQsj4nrDptSlzh30Zq7j1jDi7l58jQ+X+auP/yfzNmnPzTrPjPH7TPOYUumOrH59v5c9Gk57XjHO1wvl1U8+2imm8XzSVoSj2u9TXjZnam9w7vc83keekV6t33r5v1Bfj7Wy7npinyA1vHmY/+ZWq1XGDnzG0zsJQ892+rOXZbzbHbao7dNgc/+Jg6Z6U7ptDx7jzOJ+6YDdV4fMZ887fZ2fsX2mehoffNN6/tom1Sc/wb7LP4EzHxOxP5+8ATm2Pi89WZRp3aMkd8rSfs98w2+N/BqWJH46vL8z3a/eTZStvYY4t2/2ye/9OcnPHlyvambjIzZ/z8S5uor57LE1+9/VT5Hht/bUCpoNV32vjU4DtYbHz4HSw2/Kxol/2cvzcuLxIb/9fmbdS3a+aNn9rrWdrnCsgb//dx/h2pZmv8Nz0+9+P78sWvHjyUthn4Wf74CrmW8D5xHoVWOV6uHXa/Gx2Cji1XPeiL+/i5jy37xM5dNGfQwXlR22vKHXzu8mv/C1ofT7XZ5Y10uQtNgt60o2vQMq/s8cfbJnf9/aIKrrhrafTM0uicpdFdS+Pv8KojYac60uiupdFOS6O7lkZ3LY3WN9hP9DixxV1ji7vGFneNLe4aW9w17ce6a+ngmK27Dtses3XX2OKu6XOtu8YWd40t7hpb3DW2uGvap3XX0sExWHcdtj0G666xxV1ji7vGFneNLe4aW9w17ce6a+ngc627Dtt+rnXX2OKuscVdY4u7xhZ3jS3uGlvcNba4a2xx19jirulzrbuWDo7Tuuuw7XFad40t7hpb3DW2uGtscdfY4q6l0V1ji7vGFnctLfNQ3DW2uGueM+yupcM5lh0ev3XX0uiuscVdY4u7xhZ3jS3uGlvcNZ27dde0T+uupYNjsO46bD4GcdfY4q5pHKy7xhZ3TWNo3TXPE3bX0uG8ylLzKkvNK3bXNAesu8YWd40t7hpb3DXNZ+uuscVd8xxgdy0dzpkMNWcy1Jxhd40t7hpb3DW2uGtscdfY4q6xxV3zdWR3LR1e93R13dPVdWd3jS3uGlvcNba4a2xx19jirvk6sruWDq/1AnWtF4Sfa901trhrbHHX1NZd03yz7hpb3DVdC+uuscVd8/Vldy0dzoc0NR/S1Hxgd40t7hpb3DW2uGtscdfY4q5pTlp3jS3umq81u2vpcG6MV3NjvJob7K6xxV1ji7umdcy6a2xx19jirvn6sruWDudDipoPKWo+sLumOWDdNba4a2xx19jirmmts+4aW9w1trhrbHHX2OKu6Rytu+Zrwe5aOrx2SeraJalrx+4aW9y1NLprur+su8YWd40t7hpb3DUdm3XX2OKuscVdY4u7lpY1Wdw1jye7a+lw/BPV+Ceq8Wd3jS3uGlvcNba4a2xx19jirrHFXfP4sLuWDsczQY1nghpPdtfY4q7pvrDuGlvcNba4az5+dtfS4fnGqfONU+fL7hpb3DWtgdZdY4u7xhZ3Tedo3TWtgdZdY4u7xhZ3jS3uGlvcNba4az53dtfS4ViVUmNVSo0Vu2tscdfY4q6xxV3TPLTuGlvcNba4a2xx1zw+7K6l1XdFNZ6xajzZXdMaZd01trhrbHHX2OKuscVdY4u7xhZ3jS3uGlvcNba4a2xx19jirmkNse6aj5PdtbT6fkLuWhrddbhN8F2F3DW2uGtscdfY4q6xxV1ji7umtci6a2xx19LorrHFXWOLu+ZjYHctrZ6z5K6l0V2H2wTPXHLX2OKuscVd0zFYd01ro3XXtF5Zd03zzbprbHHX2OKu6Z617hpb3DW2uGtscdfY4q6xxV1ji7um+WPdNba4a7ofrbvGFnfN58vuWlo9g8hdS6O7DrcJnkfkrmkdsO4aW9w1trhrbHHX2OKuscVdY4u7xhZ3jS3uGlvcNc1h667pWlh3jS3umq6FddfY4q6xxV1ji7umtu6arrt119jirrHFXWOLu6bzsu4aW9w1zQ3rrrHFXWOLu8YWd40t7hpb3DW2uGtscdfY4q6xxV1ji7vGFneNLe4aW9w1XVPrrrHFXWOLu8YWd81zgN21tHqmkLuWRncdbhM8X8hdY4u7lkZ3Tedo3TVdd+uu6Tpad40t7hpb3DVdX+uupeWeEneNLe4aW9w1trhrGgfrrrHFXWOLu6a27pruBeuu6Tpad03nZd01trhrbHHXtD5Yd01rpnXX1NZdY4u7xhZ3TfeLdde8hrC7xhZ3TWuCddc0V627xhZ3jS3umua5ddfY4q6xxV1ji7umuWHdNba4a2xx19jirrHFXdN9ZN01jYN11zQ/rbumc7TumuawddfY4q6xxV1ji7vGFndN88q6a2xx17T+WHeNLe4aW9w1z1t219LorqXRXYfbBM8Uctd0zNZd03Fad40t7hpb3DW2uGtscdfY4q6xxV3TmmPdNR2zdde0Dlh3TWuRddd0H1l3jS3uGlvcNba4a2xx17TOWHeNLe6ajsG6a2xx19jirrHFXdO9Zt01zTfrrmnOWHdN94t119jirrHFXWOLu6axte4aW9w1trhrui+su6Z1wLprbHHX2OKuscVd8zXl30ODtudLba8dtT0GajvPqe1Y8X6OhG3HnNqeC7W97tR2nlPbe4R/v04N215r6jLJYdvx5+NppI6hjvrcSuqzCqv93/WCtvOK9zNbdbewg3uEji0SNs8f+7qjtnfVflTPdtXnuup4XHWcRh2/Uedl1PkaNQ5GjY9R42bUsRk1zkaNf9h2DbHXK2x7v/AxHAnbznM+nkth2znJ780RzjF77/B+eO6Ju8YWd40t7prmqnXXtI1119jirrHFXWOLu8YWd40t7hpb3DWtP9ZdY4u7xhZ3TeuDddfY4q7tGuLIHBB3jS3uGlvcNba4a2xx19jirrHFXWOLu6Z737prbHHX2OKuscVd03pr3TW2uGv6LOuuscVdY4u7pvO17hpb3DW2uGta66y7xhZ3TWNi3TW9bt01XTvrrrHFXdP6Zt01rY3WXdOab901trhrnj/srqXD+5HdtTS663Abvh/FXdPnWneNLe6arqN119jirrHFXWOLu8YWd40t7hpb3DW2uGvaxrprbHHX2OKuscVdY4u7xhZ3jS3uGlvcNc1P666xxV3T9bXuGlvcNba4a2xx19jirrHFXWOLu8YWd40t7hpb3DW2uGu67tZdY4u7xhZ3Tedi3TW2uGtscdc0r6y7xhZ3TWNo3bW0rC3irmkdsO6a5wa7a+lwLrG7lkZ3HW4jazu7a2xx19jirrHFXWOLu8YWd40t7hpb3DW2uGtscdd0X1t3jS3uGlvcNY2bddfY4q6xxV1ji7umNcq6axpP665pjbXumtYi666xxV1ji7vGFneNLe4aW9w1trhrbHHX2OKuaX2z7prWSeuuscVdY4u7xhZ3TfPfumtpdNfY4q6xxV3T+mbdNV1T666xxV1ji7vGFneNLe4aW9w17ce6a7pe1l1ji7umdcO6a2xx19jirul+t+5aOvzOxu5aOpy37K6l0V2H28i8ZXdN65J119jirrHFXdM8se6a1g3rrrHFXdP9aN01trhrmhvWXWOLu8YWd23XZ3LX0mo9J3ctje463EbOhd01trhrbHHXNFetu6Z737prGnPrrrHFXdN6Zd01trhrbHHX/LnsrqXDY84O9inuWhrdNba4a2xx17QmWHdN18K6a1pPrLum9dm6a1pzrLvGFneNLe4aW9w1trhrbHHX2OKuscVdY4u7xhZ3jS3ums+L3bV0OA7srlXL78zkrrHFXWOLu8YWd40t7ppet+4aW9w1trhrbHHX2OKu6XOtu5YOjtO6a9WuNLprbHHXdC9Yd01zzLprbHHX2OKuscVdY4u7xhZ3jS3umseH3bW0eh6Ru5ZG8xNuEzyPyF1ji7vGFneNLe4aW9w1trhrbHHXPA7srqXDcWN3Ld1Xjse6a2l019jirmkNt+4aW9w1reHWXWOLu8YWd40t7pruI+uu+dzZXUuH48buWrpPMG6JatzYXWOLu8YWd03roXXXtO5Zd01rmnXXfL7srqXDsWJ3LT0iGKskNVbsrulzrbum9cG6a2xx13TvWHeNLe4aW9w1trhrbHHX2OKuscVdY4u7pnXAumtaf6y7xhZ3zePG7lpaPYPIXUujuw63CZ5B5K6xxV1ji7umNdm6a1rHrLvGFneNLe6a1gTrrrHFXdNnWXctHRynddfS6K7DbexxWndNa4t119jirrHFXWOLu8YWd033uHXX2OKuad227prWMeuuscVd8/myu+Z5wu5aOpxj7K6l0V2H28gcY3eNLe4aW9w1trhrbHHXdL7WXdN+rLuWDo7BumtpdNfhNvYYrLvGFneNLe4aW9w1trhrbHHX2OKuscVd87xidy2tvkuo51G6mofsrmm+WXdN64x119jirnk+sLsOOphLGeH+rbuWRndNa75119jirrHFXWOLu8YWd40t7pqvI7tr6XAOZKlnWZa67uyu6Vpbd40t7hpb3DW2uGua29Zd03yw7pqv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AQAAAACAAADMBgAAFgAAAA==eJzT0hoFo2AUjIJRMAqGNgAA9C4diA==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AQAAAACAAABgNgAAMAwAAA==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 diff --git a/geos-mesh/tests/data/surface.vtu b/geos-mesh/tests/data/surface.vtu new file mode 100644 index 00000000..f6bd890b --- /dev/null +++ b/geos-mesh/tests/data/surface.vtu @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + 2526.2662269 + + + 4019.2067423 + + + + + + + 25.568730903 + + + 25.568730903 + + + + + + + + + + + 2516.6143322 + + + 4041.4536614 + + + + + + + + + + + + + _AQAAAACAAAAIAAAADQAAAA==eJxjYAABFQcAAJAAZQ==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YnVevH0d53M5L2zzA+79rjA/6PvGzByozmv9vK/nYT0n6+f3HLuZfc7N+Jd+LvatK3lfrfqV9q/nlsvnAT0P6+eseHvVx/bzvE4F2H8aD3fnedGS56CxfGIOTj1XwL+Nf9xbXj4nGGo+uXzesOVdz1HR6Wou/dNa+nk4rav/A985xeQ=FAAAAACAAADgIwAAegAAAHgAAAB6AAAAegAAAHgAAAB6AAAAegAAAHgAAAB6AAAAegAAAHgAAAB6AAAAegAAAHgAAAB6AAAAegAAAHgAAAB6AAAAegAAAD8AAAA=eJztyEENACAMBMGK4YEABNR/wFNTggtmP5ebiG7k2d3Me2O95ZxzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzv/wAojRMEJ4nO3IQQ0AIAwAMcTwQMAEzH+YJ8KCC3qfS1r7tnJ08T6zOOecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeec84/8ACJlNQ94nO3IQQ0AIAwEwYrhgQAE1H/AU1OCC2Y/l5uIbuWdGHl2N9/nnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPO//ACCcAwUnic7chBDQAgDATBiuGBAATUf8BTU4ILZj+Xm4hu5NndzHtjveWcc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc87/8AKI0TBCeJztyEENACAMADHE8EDABMx/mCfCggt6n0ta+7ZydPE+szjnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnPOP/AAiZTUPeJztyEENACAMBMGK4YEABNR/wFNTggtmP5ebiG7lnRh5djff55xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzv/wAgnAMFJ4nO3IQQ0AIAwEwYrhgQAE1H/AU1OCC2Y/l5uIbuTZ3cx7Y73lnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPO//ACiNEwQnic7chBDQAgDAAxxPBAwATMf5gnwoILep9LWvu2cnTxPrM455xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555zzj/wAImU1D3ic7chBDQAgDATBiuGBAATUf8BTU4ILZj+Xm4hu5Z0YeXY33+ecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc87/8AIJwDBSeJztyEENACAMBMGK4YEABNR/wFNTggtmP5ebiG7k2d3Me2O95ZxzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzv/wAojRMEJ4nO3IQQ0AIAwAMcTwQMAEzH+YJ8KCC3qfS1r7tnJ08T6zOOecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeec84/8ACJlNQ94nO3IQQ0AIAwEwYrhgQAE1H/AU1OCC2Y/l5uIbuWdGHl2N9/nnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPO//ACCcAwUnic7chBDQAgDATBiuGBAATUf8BTU4ILZj+Xm4hu5NndzHtjveWcc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc87/8AKI0TBCeJztyEENACAMADHE8EDABMx/mCfCggt6n0ta+7ZydPE+szjnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnPOP/AAiZTUPeJztyEENACAMBMGK4YEABNR/wFNTggtmP5ebiG7lnRh5djff55xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzv/wAgnAMFJ4nO3IQQ0AIAwEwYrhgQAE1H/AU1OCC2Y/l5uIbuTZ3cx7Y73lnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPO//ACiNEwQnic7chBDQAgDAAxxPBAwATMf5gnwoILep9LWvu2cnTxPrM455xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555zzj/wAImU1D3ic7chBDQAgDATBiuGBAATUf8BTU4ILZj+Xm4hu5Z0YeXY33+ecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc87/8AIJwDBSeJztyEENACAMBMGK4YEABNR/wFNTggtmP5ebiG7k2d3Me2O95ZxzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84555xzzv/wAojRMEJ4nO3IMQ0AIAwAQcQwIKAC6j/UE6HBA8v98snVvq0cXbzPLM4555xzzjnnnHPOOeecc84555xzzvl3P8haB5s=BwAAAACAAACgNgAATQAAAE0AAABNAAAATQAAAE0AAABNAAAAMgAAAA==eJztxUEBAAAEBLCLJIKKGtPD9llyajq2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bT9+AZ2VEPF4nO3FQQEAAAQEsIskgooa08P2WXJqOrZt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27ZtP34BnZUQ8Xic7cVBAQAABASwiySCihrTw/ZZcmo6tm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm0/fgGdlRDxeJztxUEBAAAEBLCLJIKKGtPD9llyajq2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bT9+AZ2VEPF4nO3FQQEAAAQEsIskgooa08P2WXJqOrZt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27ZtP34BnZUQ8Xic7cVBAQAABASwiySCihrTw/ZZcmo6tm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm0/fgGdlRDxeJztxTEBAAAIA6BFMoIVbawV/OEhOTUd27Zt27Zt27Zt27Zt27Zt27Zt27YfL8oT2y8=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AQAAAACAAADUZgAAMQAAAA==eJztwSEBAAAAwyC1/pUvXgMoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgBhBUCQw== + + From 0ef062e8e7c2a02aa490546383b28657108056cf Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 30 Apr 2025 16:11:52 +0200 Subject: [PATCH 31/71] Comment and fix typos --- geos-mesh/src/geos/mesh/vtkUtils.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index 4c4e31a2..08d179d3 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -508,7 +508,7 @@ def extractBlock( multiBlockDataSet: vtkMultiBlockDataSet, blockIndex: int ) -> extractedBlock: vtkMultiBlockDataSet = extractBlockfilter.GetOutput() return extractedBlock - +# TODO : fix function for keepPartialAttributes = True def mergeBlocks( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], keepPartialAttributes: bool = False, @@ -727,7 +727,7 @@ def copyAttribute( attributNameFrom: str, attributNameTo: str, ) -> bool: - """Copy an attribute from objectFrom to objectTo. + """Copy a cell attribute from objectFrom to objectTo. Args: objectFrom (vtkMultiBlockDataSet): object from which to copy the attribute. @@ -736,7 +736,7 @@ def copyAttribute( attributNameTo (str): attribute name in objectTo. Returns: - bool: True if copy sussfully ended, False otherwise + bool: True if copy successfully ended, False otherwise """ elementaryBlockIndexesTo: list[ int ] = getBlockElementIndexesFlatten( objectTo ) elementaryBlockIndexesFrom: list[ int ] = getBlockElementIndexesFlatten( objectFrom ) @@ -766,7 +766,7 @@ def copyAttributeDataSet( attributNameFrom: str, attributNameTo: str, ) -> bool: - """Copy an attribute from objectFrom to objectTo. + """Copy a cell attribute from objectFrom to objectTo. Args: objectFrom (vtkDataSet): object from which to copy the attribute. @@ -775,7 +775,7 @@ def copyAttributeDataSet( attributNameTo (str): attribute name in objectTo. Returns: - bool: True if copy sussfully ended, False otherwise + bool: True if copy successfully ended, False otherwise """ # get attribut from initial time step block npArray: npt.NDArray[ np.float64 ] = getArrayInObject( objectFrom, attributNameFrom, False ) From 31271ba7f44efd775da884aae604f516332e0669 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 30 Apr 2025 16:12:21 +0200 Subject: [PATCH 32/71] vtkUtils tests implemented --- geos-mesh/tests/conftest.py | 57 ++-- geos-mesh/tests/test_vtkUtils.py | 466 ++++++++++++++++++++++++++----- 2 files changed, 434 insertions(+), 89 deletions(-) diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py index e370393c..56a1de08 100644 --- a/geos-mesh/tests/conftest.py +++ b/geos-mesh/tests/conftest.py @@ -5,24 +5,16 @@ # ruff: noqa: E402 # disable Module level import not at top of file import os import pytest - +from typing import Union import numpy as np import numpy.typing as npt -from vtkmodules.vtkCommonDataModel import vtkDataSet -from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader +from vtkmodules.vtkCommonDataModel import vtkDataSet, vtkMultiBlockDataSet, vtkPolyData +from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader, vtkXMLMultiBlockDataReader @pytest.fixture -def array( request: str ) -> npt.NDArray: - """Fixture to get reference array depending on request array name. - - Args: - request (str): _description_ - - Returns: - npt.NDArray: _description_ - """ +def arrayExpected( request: pytest.FixtureRequest ) -> npt.NDArray[ np.float64 ]: reference_data = "data/data.npz" reference_data_path = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), reference_data ) data = np.load( reference_data_path ) @@ -30,18 +22,33 @@ def array( request: str ) -> npt.NDArray: return data[ request.param ] -@pytest.fixture( scope="function" ) -def vtkDataSetTest() -> vtkDataSet: - """Load vtk dataset to run the tests in test_vtkUtils.py. +@pytest.fixture +def arrayTest( request: pytest.FixtureRequest ) -> npt.NDArray[ np.float64 ]: + np.random.seed( 42 ) + array: npt.NDArray[ np.float64 ] = np.random.rand( + request.param, + 3, + ) + return array - Returns: - vtkDataSet: _description_ - """ - reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() - vtkFilename = "data/domain_res5_id.vtu" - data_test_path = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), vtkFilename ) - # reader.SetFileName( "geos-mesh/tests/data/domain_res5_id.vtu" ) - reader.SetFileName( data_test_path ) - reader.Update() - return reader.GetOutput() +@pytest.fixture +def dataSetTest() -> Union[ vtkMultiBlockDataSet, vtkPolyData, vtkDataSet ]: + + def _get_dataset( datasetType: str ): + if datasetType == "multiblock": + reader = reader = vtkXMLMultiBlockDataReader() + vtkFilename = "data/displacedFault.vtm" + elif datasetType == "dataset": + reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() + vtkFilename = "data/domain_res5_id.vtu" + elif datasetType == "polydata": + reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() + vtkFilename = "data/surface.vtu" + datapath: str = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), vtkFilename ) + reader.SetFileName( datapath ) + reader.Update() + + return reader.GetOutput() + + return _get_dataset \ No newline at end of file diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index 617101c6..a662ec4a 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -5,34 +5,56 @@ # ruff: noqa: E402 # disable Module level import not at top of file import pytest -from vtkmodules.vtkCommonCore import vtkDataArray -from vtkmodules.vtkCommonDataModel import vtkDataSet +import numpy as np +import numpy.typing as npt + +import vtkmodules.util.numpy_support as vnp +import pandas as pd # type: ignore[import-untyped] +from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray +from vtkmodules.vtkCommonDataModel import ( # type: ignore[import-untyped] + vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, vtkPolyData, vtkPointData, vtkCellData ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, ) -import geos.mesh.vtkUtils as vtkutils +from geos.mesh import vtkUtils + + +@pytest.mark.parametrize( "onpoints, expected", [ ( True, { + 'GLOBAL_IDS_POINTS': 1, + 'collocated_nodes': 2, + 'PointAttribute': 3 +} ), ( False, { + 'CELL_MARKERS': 1, + 'PERM': 3, + 'PORO': 1, + 'FAULT': 1, + 'GLOBAL_IDS_CELLS': 1, + 'CellAttribute': 3 +} ) ] ) +def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, onpoints: bool, + expected: dict[ str, int ] ) -> None: + multiBlockTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + attributes: dict[ str, int ] = vtkUtils.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) + + assert attributes == expected @pytest.mark.parametrize( "onpoints, expected", [ ( True, { - 'GLOBAL_IDS_POINTS': 1 + 'GLOBAL_IDS_POINTS': 1, + 'PointAttribute': 3, } ), ( False, { 'CELL_MARKERS': 1, 'PERM': 3, 'PORO': 1, 'FAULT': 1, - 'GLOBAL_IDS_CELLS': 1 + 'GLOBAL_IDS_CELLS': 1, + 'CellAttribute': 3 } ) ] ) -def test_getAttributesFromDataSet( vtkDataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: - """Test getAttributesFromDataSet function. - - Args: - vtkDataSetTest (vtkDataSet): _description_ - onpoints (bool): _description_ - expected (dict[ str, int ]): _description_ - """ - attributes: dict[ str, int ] = vtkutils.getAttributesFromDataSet( object=vtkDataSetTest, onPoints=onpoints ) +def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + attributes: dict[ str, int ] = vtkUtils.getAttributesFromDataSet( vtkDataSetTest, onpoints ) assert attributes == expected @@ -40,42 +62,89 @@ def test_getAttributesFromDataSet( vtkDataSetTest: vtkDataSet, onpoints: bool, e ( "PORO", False, 1 ), ( "PORO", True, 0 ), ] ) -def test_isAttributeInObjectDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, +def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, + expected: dict[ str, int ] ) -> None: + multiBlockDataset: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: bool = vtkUtils.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PORO", True, 0 ), +] ) +def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, expected: bool ) -> None: - """Test isAttributeFromDataSet function. - - Args: - vtkDataSetTest (vtkDataSet): _description_ - attributeName (str): _description_ - onpoints (bool): _description_ - expected (bool): _description_ - """ - obtained: bool = vtkutils.isAttributeInObjectDataSet( object=vtkDataSetTest, - attributeName=attributeName, - onPoints=onpoints ) + vtkDataset: vtkDataSet = dataSetTest( "dataset" ) + obtained: bool = vtkUtils.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) assert obtained == expected +@pytest.mark.parametrize( "arrayExpected, onpoints", [ + ( "PORO", False ), + ( "PERM", False ), + ( "PointAttribute", True ), +], + indirect=[ "arrayExpected" ] ) +def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray, dataSetTest: vtkDataSet, + onpoints: bool ) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + params = request.node.callspec.params + attributeName: str = params[ "arrayExpected" ] + + obtained: npt.NDArray[ np.float64 ] = vtkUtils.getArrayInObject( vtkDataSetTest, attributeName, onpoints ) + expected: npt.NDArray[ np.float64 ] = arrayExpected + + assert ( obtained == expected ).all() + + +@pytest.mark.parametrize( "arrayExpected, onpoints", [ + ( "PORO", False ), + ( "PointAttribute", True ), +], + indirect=[ "arrayExpected" ] ) +def test_getVtkArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray[ np.float64 ], + dataSetTest: vtkDataSet, onpoints: bool ) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + params = request.node.callspec.params + attributeName: str = params[ 'arrayExpected' ] + + obtained: vtkDoubleArray = vtkUtils.getVtkArrayInObject( vtkDataSetTest, attributeName, onpoints ) + obtained_as_np: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( obtained ) + + assert ( obtained_as_np == arrayExpected ).all() + + @pytest.mark.parametrize( "attributeName, onpoints, expected", [ ( "PORO", False, 1 ), ( "PERM", False, 3 ), - ( "GLOBAL_IDS_POINTS", True, 1 ), + ( "PointAttribute", True, 3 ), ] ) def test_getNumberOfComponentsDataSet( - vtkDataSetTest: vtkDataSet, + dataSetTest: vtkDataSet, + attributeName: str, + onpoints: bool, + expected: int, +) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + obtained: int = vtkUtils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PERM", False, 3 ), + ( "PointAttribute", True, 3 ), +] ) +def test_getNumberOfComponentsMultiBlock( + dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, expected: int, ) -> None: - """Test getNumberOfComponentsDataSet function. - - Args: - vtkDataSetTest (vtkDataSet): _description_ - attributeName (str): _description_ - onpoints (bool): _description_ - expected (int): _description_ - """ - obtained: int = vtkutils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: int = vtkUtils.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) + assert obtained == expected @@ -83,48 +152,317 @@ def test_getNumberOfComponentsDataSet( ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), ( "PORO", False, () ), ] ) -def test_getComponentNamesDataSet( vtkDataSetTest: vtkDataSet, attributeName: str, onpoints: bool, +def test_getComponentNamesDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, expected: tuple[ str, ...] ) -> None: - """Test getComponentNamesDataSet function. + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + obtained: tuple[ str, ...] = vtkUtils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) + assert obtained == expected - Args: - vtkDataSetTest (vtkDataSet): _description_ - attributeName (str): _description_ - onpoints (bool): _description_ - expected (tuple[ str, ...]): _description_ - """ - obtained: tuple[ str, ...] = vtkutils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), + ( "PORO", False, () ), +] ) +def test_getComponentNamesMultiBlock( + dataSetTest: vtkMultiBlockDataSet, + attributeName: str, + onpoints: bool, + expected: tuple[ str, ...], +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: tuple[ str, ...] = vtkUtils.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, + onpoints ) assert obtained == expected +#TODO : unify with testfillAll below ? +@pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) +def test_fillPartialAttributes( + dataSetTest: vtkMultiBlockDataSet, + attributeName: str, + onpoints: bool, +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + vtkUtils.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) + + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( vtkMultiBlockDataSetTest ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + if onpoints: + data: vtkPointData = dataset.GetPointData() + else: + data: vtkCellData = dataset.GetCellData() + assert data.HasArray( attributeName ) == 1 + + iter.GoToNextItem() + + +@pytest.mark.parametrize( "onpoints, expectedArrays", [ + ( True, ( "PointAttribute", "collocated_nodes" ) ), + ( False, ( "CELL_MARKERS", "CellAttribute", "FAULT", "PERM", "PORO" ) ), +] ) +def test_fillAllPartialAttributes( + dataSetTest: vtkMultiBlockDataSet, + onpoints: bool, + expectedArrays: tuple[ str, ...], +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + vtkUtils.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) + + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( vtkMultiBlockDataSetTest ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + if onpoints: + data: vtkPointData = dataset.GetPointData() + else: + data: vtkCellData = dataset.GetCellData() + + for attribute in expectedArrays: + assert data.HasArray( attribute ) == 1 + + iter.GoToNextItem() + + +@pytest.mark.parametrize( "attributeNames, expected_columns", [ + ( ( "CellAttribute1", ), ( "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), + ( ( + "CellAttribute1", + "CellAttribute2", + ), ( "CellAttribute2", "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), +] ) +def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames, expected_columns ): + polydataset: vtkPolyData = dataSetTest( "polydata" ) + data: pd.DataFrame = vtkUtils.getAttributeValuesAsDF( polydataset, attributeNames ) + + obtained_columns = data.columns.values.tolist() + assert obtained_columns == list( expected_columns ) + + +# TODO: Add test for keepPartialAttributes = True when function fixed @pytest.mark.parametrize( - "attributeName, dataType, expectedDatatypeArray", + "keepPartialAttributes, expected_point_attributes, expected_cell_attributes", [ - ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), - ( "test_float", VTK_FLOAT, "vtkFloatArray" ), - ( "test_int", VTK_INT, "vtkIntArray" ), - ( "test_unsigned_int", VTK_UNSIGNED_INT, "vtkUnsignedIntArray" ), - ( "test_char", VTK_CHAR, "vtkCharArray" ), - # ("testFail", 4566, pytest.fail) #TODO + ( False, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", ) ), + # ( True, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", "CELL_MARKERS", "FAULT", "PERM", "PORO" ) ), ] ) +def test_mergeBlocks( + dataSetTest: vtkMultiBlockDataSet, + expected_point_attributes: tuple[ str, ...], + expected_cell_attributes: tuple[ str, ...], + keepPartialAttributes: bool, +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + dataset: vtkUnstructuredGrid = vtkUtils.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) + + assert dataset.GetCellData().GetNumberOfArrays() == len( expected_cell_attributes ) + for c_attribute in expected_cell_attributes: + assert dataset.GetCellData().HasArray( c_attribute ) + + assert dataset.GetPointData().GetNumberOfArrays() == len( expected_point_attributes ) + for p_attribute in expected_point_attributes: + assert dataset.GetPointData().HasArray( p_attribute ) + + +@pytest.mark.parametrize( "attributeName, dataType, expectedDatatypeArray", [ + ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), + ( "test_float", VTK_FLOAT, "vtkFloatArray" ), + ( "test_int", VTK_INT, "vtkIntArray" ), + ( "test_unsigned_int", VTK_UNSIGNED_INT, "vtkUnsignedIntArray" ), + ( "test_char", VTK_CHAR, "vtkCharArray" ), +] ) def test_createEmptyAttribute( attributeName: str, dataType: int, expectedDatatypeArray: vtkDataArray, ) -> None: - """Test createEmptyAttribute function. - - Args: - attributeName (str): _description_ - dataType (int): _description_ - expectedDatatypeArray (vtkDataArray): _description_ - """ componentNames: tuple[ str, str, str ] = ( "d1, d2, d3" ) - newAttr: vtkDataArray = vtkutils.createEmptyAttribute( attributeName, componentNames, dataType ) + newAttr: vtkDataArray = vtkUtils.createEmptyAttribute( attributeName, componentNames, dataType ) assert newAttr.GetNumberOfComponents() == len( componentNames ) - assert newAttr.GetComponentName( 0 ) == componentNames[ 0 ] - assert newAttr.GetComponentName( 1 ) == componentNames[ 1 ] - assert newAttr.GetComponentName( 2 ) == componentNames[ 2 ] + for ax in range( 3 ): + assert newAttr.GetComponentName( ax ) == componentNames[ ax ] assert newAttr.IsA( str( expectedDatatypeArray ) ) + + +@pytest.mark.parametrize( "onpoints, elementSize", [ + ( False, ( 1740, 156 ) ), + ( True, ( 4092, 212 ) ), +] ) +def test_createConstantAttributeMultiBlock( + dataSetTest: vtkMultiBlockDataSet, + onpoints: bool, + elementSize: tuple[ int, ...], +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + attributeName: str = "testAttributemultiblock" + values: tuple[ float, float, float ] = ( 12.4, 10, 40.0 ) + componentNames: tuple[ str, str, str ] = ( "X", "Y", "Z" ) + vtkUtils.createConstantAttributeMultiBlock( vtkMultiBlockDataSetTest, values, attributeName, componentNames, + onpoints ) + + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( vtkMultiBlockDataSetTest ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + if onpoints: + data: vtkPointData = dataset.GetPointData() + else: + data: vtkCellData = dataset.GetCellData() + createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) + cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + + assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize[ iter.GetCurrentFlatIndex() - 1 ], 3 ), + fill_value=values ) ).all() + assert cnames == componentNames + + iter.GoToNextItem() + + +@pytest.mark.parametrize( "values, onpoints, elementSize", [ + ( ( 42, 58, -103 ), True, 4092 ), + ( ( -42, -58, 103 ), False, 1740 ), +] ) +def test_createConstantAttributeDataSet( + dataSetTest: vtkDataSet, + values: list[ float ], + elementSize: int, + onpoints: bool, +) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) + attributeName: str = "newAttributedataset" + vtkUtils.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) + + if onpoints == True: + data: vtkPointData = vtkDataSetTest.GetPointData() + + else: + data: vtkCellData = vtkDataSetTest.GetCellData() + + createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) + cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + + assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize, 3 ), fill_value=values ) ).all() + assert cnames == componentNames + + +@pytest.mark.parametrize( "onpoints, arrayTest, arrayExpected", [ + ( True, 4092, "random_4092" ), + ( False, 1740, "random_1740" ), +], + indirect=[ "arrayTest", "arrayExpected" ] ) +def test_createAttribute( + dataSetTest: vtkDataSet, + arrayTest: npt.NDArray[ np.float64 ], + arrayExpected: npt.NDArray[ np.float64 ], + onpoints: bool, +) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) + attributeName: str = "AttributeName" + + vtkUtils.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) + + if onpoints: + data: vtkPointData = vtkDataSetTest.GetPointData() + else: + data: vtkCellData = vtkDataSetTest.GetCellData() + + createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) + cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + + assert ( vnp.vtk_to_numpy( createdAttribute ) == arrayExpected ).all() + assert cnames == componentNames + + +def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet, ) -> None: + objectFrom: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + objectTo: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + + attributeFrom: str = "CellAttribute" + attributeTo: str = "CellAttributeTO" + + vtkUtils.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) + + blockIndex: int = 0 + blockFrom: vtkDataSet = objectFrom.GetBlock( blockIndex ) + blockTo: vtkDataSet = objectTo.GetBlock( blockIndex ) + + arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockFrom.GetCellData().GetArray( attributeFrom ) ) + arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockTo.GetCellData().GetArray( attributeTo ) ) + + assert ( arrayFrom == arrayTo ).all() + + +def test_copyAttributeDataSet( dataSetTest: vtkDataSet, ) -> None: + objectFrom: vtkDataSet = dataSetTest( "dataset" ) + objectTo: vtkDataSet = dataSetTest( "dataset" ) + + attributNameFrom = "CellAttribute" + attributNameTo = "COPYATTRIBUTETO" + + vtkUtils.copyAttributeDataSet( objectFrom, objectTo, attributNameFrom, attributNameTo ) + + arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectFrom.GetCellData().GetArray( attributNameFrom ) ) + arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectTo.GetCellData().GetArray( attributNameTo ) ) + + assert ( arrayFrom == arrayTo ).all() + + +@pytest.mark.parametrize( "attributeName, onpoints", [ + ( "CellAttribute", False ), + ( "PointAttribute", True ), +] ) +def test_renameAttributeMultiblock( + dataSetTest: vtkMultiBlockDataSet, + attributeName: str, + onpoints: bool, +) -> None: + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + newAttributeName: str = "new" + attributeName + vtkUtils.renameAttribute( + vtkMultiBlockDataSetTest, + attributeName, + newAttributeName, + onpoints, + ) + + block = vtkMultiBlockDataSetTest.GetBlock( 0 ) + + if onpoints == True: + assert block.GetPointData().HasArray( attributeName ) == 0 + assert block.GetPointData().HasArray( newAttributeName ) == 1 + + else: + assert block.GetCellData().HasArray( attributeName ) == 0 + assert block.GetCellData().HasArray( newAttributeName ) == 1 + + +@pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) +def test_renameAttributeDataSet( + dataSetTest: vtkDataSet, + attributeName: str, + onpoints: bool, +) -> None: + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + newAttributeName: str = "new" + attributeName + vtkUtils.renameAttribute( object=vtkDataSetTest, + attributeName=attributeName, + newAttributeName=newAttributeName, + onPoints=onpoints ) + + if onpoints == True: + assert vtkDataSetTest.GetPointData().HasArray( attributeName ) == 0 + assert vtkDataSetTest.GetPointData().HasArray( newAttributeName ) == 1 + + else: + assert vtkDataSetTest.GetCellData().HasArray( attributeName ) == 0 + assert vtkDataSetTest.GetCellData().HasArray( newAttributeName ) == 1 From 7ba4de3f296c3f3956bcb605a9496318d8bac48a Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 30 Apr 2025 17:42:45 +0200 Subject: [PATCH 33/71] create wrapper of vtkMeshQuality and PV filter for surfaces --- .../geos/mesh/model/QualityMetricSummary.py | 252 +++++ .../processing/meshQualityMetricHelpers.py | 263 ++++++ .../src/geos/mesh/stats/CellTypeCounter.py | 12 +- .../geos/mesh/stats/MeshQualityEnhanced.py | 889 ++++++++++++++++++ geos-mesh/tests/test_CellTypeCounts.py | 6 +- geos-mesh/tests/test_QualityMetricSummary.py | 127 +++ geos-mesh/tests/test_meshQualityHelpers.py | 325 +++++++ .../PVplugins/PVSurfaceMeshQualityEnhanced.py | 248 +++++ .../src/geos/utils/geometryFunctions.py | 88 +- geos-utils/tests/testsGeometryFunctions.py | 299 +++--- 10 files changed, 2380 insertions(+), 129 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/model/QualityMetricSummary.py create mode 100644 geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py create mode 100644 geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py create mode 100644 geos-mesh/tests/test_QualityMetricSummary.py create mode 100644 geos-mesh/tests/test_meshQualityHelpers.py create mode 100644 geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py diff --git a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py new file mode 100644 index 00000000..5c76d646 --- /dev/null +++ b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py @@ -0,0 +1,252 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay +import numpy as np +import numpy.typing as npt +import pandas as pd +from enum import Enum +from typing_extensions import Self +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON +) +from geos.mesh.processing.meshQualityMetricHelpers import ( + getAllCellTypesExtended, + QualityMetricEnum, + qualityMetricsFromCellType +) +from geos.mesh.model.CellTypeCounts import CellTypeCounts + +__doc__ = """ +QualityMetricSummary stores the statistics of mesh quality metrics. +""" + +class StatTypes(Enum): + MEAN = (0, "Mean", float) + STD_DEV = (1, "StdDev", float) + MIN = (2, "Min", float) + MAX = (3, "Max", float) + COUNT = (4, "Count", int) + + def getIndex(self: Self) ->int: + """Get stat index. + + Returns: + int: index + """ + return self.value[0] + + def getString(self: Self) ->str: + """Get stat name. + + Returns: + str: name + """ + return self.value[1] + + def getType(self: Self) ->object: + """Get stat type. + + Returns: + object: type + """ + return self.value[2] + + @staticmethod + def getNameFromIndex(index: int) ->str: + """Get stat name from index. + + Args: + index (int): index + + Returns: + str: name + """ + return list(StatTypes)[index].getString() + + @staticmethod + def getIndexFromName(name: str) ->int: + """Get stat index from name. + + Args: + name (str): name + + Returns: + int: index + """ + for stat in list(StatTypes): + if stat.getString() == name: + return stat.getIndex() + return -1 + + @staticmethod + def getTypeFromIndex(index: int) ->object: + """Get stat type from index. + + Args: + index (int): index + + Returns: + object: type + """ + return list(StatTypes)[index].getType() + +class QualityMetricSummary(): + + _LEVELS: tuple[str] = ("MetricIndex", "CellType") + _STATS_NUMBER: tuple[str] = ("Count", "Mean", "StdDev", "Min", "Max") + + def __init__(self: Self ) ->None: + """CellTypeCounts stores the number of cells of each type.""" + #: stores for each cell type, and metric type, the stats + self._counts: CellTypeCounts = CellTypeCounts() + self._stats: pd.DataFrame + self._initStats() + + def _initStats(self: Self) ->None: + """Initialize self._stats dataframe.""" + rows: tuple[str] = (statType.getIndex() for statType in list(StatTypes)) + cellTypes: list[int] = getAllCellTypesExtended() + indexes = [(metric.metricIndex, cellType) for metric in list(QualityMetricEnum) for cellType in cellTypes if metric.isApplicableToCellType(cellType)] + df_indexes: pd.MultiIndex = pd.MultiIndex.from_tuples((indexes), names=self._LEVELS) + nb_rows: int = len(self._STATS_NUMBER) + nb_col: int = df_indexes.size + self._stats = pd.DataFrame(np.full((nb_rows, nb_col), np.nan), columns=df_indexes, index=rows) + + def __str__(self: Self) ->str: + """Overload __str__ method. + + Returns: + str: counts as string. + """ + return self.print() + + def print(self: Self) ->str: + """Print quality metric summary as string. + + Returns: + str: quality metric summary. + """ + out: str = "" + return out + + def setCellTypeCounts(self: Self, counts: CellTypeCounts) ->None: + """Set cell type counts. + + Args: + counts (CellTypeCounts): CellTypeCounts instance + """ + self._counts = counts + + def getCellTypeCounts(self: Self)-> float: + """Get cell type counts. + + Returns: + int: number of cell + """ + return self._counts + + def getCellTypeCountsOfCellType(self: Self, cellType: int)-> float: + """Get cell type counts. + + Returns: + int: number of cell + """ + return self._counts.getTypeCount(cellType) + + def isStatsValidForMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + ) ->bool: + print(np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType)))) + return np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType))) + + def getAllStats(self: Self)-> pd.DataFrame: + """Get all mesh stats. + + Returns: + pd.DataFrame: stats + """ + return self._stats + + def getStatValueToMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + ) -> float: + """Get stat value for the given metric and cell types. + + Args: + metricIndex (int): metric index + cellType (int): cell type index + statType (StatTypes): stat number + + Returns: + float: stats value + """ + if (metricIndex, cellType) not in self._stats.columns: + raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") + return self._stats[(metricIndex, cellType)][statType.getIndex()] + + def getStatsFromMetricAndCellType(self: Self, + metricIndex: int, + cellType: int + ) -> pd.Series: + """Get stats for the given metric and cell types. + + Args: + metricIndex (int): metric index + cellType (int): cell type index + + Returns: + pd.Series: stats + """ + if (metricIndex, cellType) not in self._stats.columns: + raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") + return self._stats[(metricIndex, cellType)] + + def getStatsFromMetric(self: Self, + metricIndex: int, + ) -> pd.DataFrame: + """Get stats for the given metric. + + Args: + metricIndex (int): metric index + + Returns: + pd.DataFrame: stats + """ + return self._stats.xs(metricIndex, level=self._LEVELS[0], axis=1) + + def getStatsFromCellType(self: Self, + cellType: int, + ) -> pd.DataFrame: + """Get stats for the given cell type. + + Args: + cellType (int): cell type index + + Returns: + pd.DataFrame: stats + """ + return self._stats.xs(cellType, level=self._LEVELS[1], axis=1) + + def setStatValueToMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + value: int | float + ) -> None: + """Set stats for the given metric and cell types. + + Args: + metricIndex (int): metric index + cellType (int): cell type index + statType (StatTypes): stat number + value (int | float): value + """ + if (metricIndex, cellType) not in self._stats.columns: + raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") + self._stats.loc[statType.getIndex(), (metricIndex, cellType)] = value + + diff --git a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py new file mode 100644 index 00000000..530a3a7c --- /dev/null +++ b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py @@ -0,0 +1,263 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay +from typing import Optional, Iterable +from typing_extensions import Self +from enum import Enum +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonDataModel import ( + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON +) + + +__doc__ = """ +Helpers for MeshQuality metrics. +""" + +class QualityMetricAbstractEnum(Enum): + def __init__(self: Self, + qualityMeasureTypesIndex: vtkMeshQuality.QualityMeasureTypes, + name: str, + applicableToCellTypes: tuple[bool, ...] + ) -> None: + """Define the enumeration to add attributes to mesh quality measures. + + Args: + qualityMeasureTypesIndex (vtkMeshQuality.QualityMeasureTypes): index of QualityMeasureTypes + name (str): name of the metric + cellTypes (tuple[bool, ...]): tuple defining for each cell type if the + metric is applicable. + """ + self.metricIndex: str = int(qualityMeasureTypesIndex) + self.metricName: int = name + self.applicableToCellTypes: tuple[bool] = applicableToCellTypes + + def isApplicableToCellType(self: Self, cellType: int) ->bool: + """Return True if the metric is applicable to input cell type, False otherwise. + + Args: + cellType (int): cell type index + + Returns: + bool: True if the metric is applicable + """ + assert cellType in getAllCellTypesExtended(), f"Cell type index {cellType} not in supported cell types." + cellTypes: tuple[int] = (cellType,) + if cellType == VTK_POLYGON: + cellTypes = getPolygonCellTypes() + if cellType == VTK_POLYHEDRON: + cellTypes = getPolyhedronCellTypes() + for cellType in cellTypes: + cellTypeIndex: int = getAllCellTypes().index(cellType) + if not self.applicableToCellTypes[cellTypeIndex]: + return False + return True + +#: from https://vtk.org/doc/nightly/html/vtkMeshQuality_8h_source.html +class QualityMetricEnum(QualityMetricAbstractEnum): + """Mesh quality metric enumeration. + + The order of boolean is the same as getAllCellTypes method: + (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON) + + .. CAUTION:: The order of the enum must follow the one of vtkMeshQuality.QualityMeasureTypes. + + """ + EDGE_RATIO = (vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, "Edge Ratio", (True, True, True, False, True, True)) + ASPECT_RATIO = (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, "Aspect Ratio", (True, True, True, False, False, False)) + RADIUS_RATIO = (vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, "Radius Ratio", (True, True, True, False, False, False)) + ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, "Aspect Frobenius", (True, False, True, False, False, False)) + MEDIAN_ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, "Med Aspect Frobenius", (False, True, False, False, False, True)) + MAXIMUM_ASPECT_FROBENIUS= (vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, "Maximum Aspect Frobenius", (False, True, False, False, True, True)) + MINIMUM_ANGLE = (vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, "Minimum Angle", (True, True, True, False, False, False)) + COLLAPSE_RATIO = (vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, "Collapse Ratio", (False, False, True, False, False, False)) + MAXIMUM_ANGLE = (vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, "Maximum Angle", (True, True, False, False, False, False)) + CONDITION = (vtkMeshQuality.QualityMeasureTypes.CONDITION, "Condition", (True, True, True, False, True, True)) + SCALED_JACOBIAN = (vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, "Scaled Jacobian", (True, True, True, True, True, True)) + SHEAR = (vtkMeshQuality.QualityMeasureTypes.SHEAR, "Shear", (False, True, False, False, False, True)) + RELATIVE_SIZE_SQUARED = (vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, "Relative Size Squared", (True, True, True, False, False, True)) + SHAPE = (vtkMeshQuality.QualityMeasureTypes.SHAPE, "Shape", (True, True, True, True, True, True)) + SHAPE_AND_SIZE = (vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, "Shape And Size", (True, True, True, False, False, True)) + DISTORTION = (vtkMeshQuality.QualityMeasureTypes.DISTORTION, "Distortion", (True, True, True, False, True, True)) + MAXIMUM_EDGE_RATIO = (vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, "Maximum Edge Ratio", (False, True, False, False, False, True)) + SKEW = (vtkMeshQuality.QualityMeasureTypes.SKEW, "Skew", (False, True, False, False, False, True)) + TAPER = (vtkMeshQuality.QualityMeasureTypes.TAPER, "Taper", (False, True, False, False, False, True)) + VOLUME = (vtkMeshQuality.QualityMeasureTypes.VOLUME, "Volume", (False, False, True, True, True, True)) + STRETCH = (vtkMeshQuality.QualityMeasureTypes.STRETCH, "Stretch", (False, True, False, False, False, True)) + DIAGONAL = (vtkMeshQuality.QualityMeasureTypes.DIAGONAL, "Diagonal", (False, False, False, False, False, True)) + DIMENSION = (vtkMeshQuality.QualityMeasureTypes.DIMENSION, "Dimension", (False, False, False, False, False, True)) + ODDY = (vtkMeshQuality.QualityMeasureTypes.ODDY, "Oddy", (False, True, False, False, False, True)) + SHEAR_AND_SIZE = (vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, "Shear And Size", (False, True, False, False, False, True)) + JACOBIAN = (vtkMeshQuality.QualityMeasureTypes.JACOBIAN, "Jacobian", (False, True, True, True, True, True)) + WARPAGE = (vtkMeshQuality.QualityMeasureTypes.WARPAGE, "Warpage", (False, True, False, False, False, False)) + ASPECT_GAMMA = (vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, "Aspect Gamma", (False, False, True, False, False, False)) + AREA = (vtkMeshQuality.QualityMeasureTypes.AREA, "Area", (True, True, False, False, False, False)) + EQUIANGLE_SKEW = (vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, "Equiangle Skew", (True, True, True, True, True, True)) + EQUIVOLUME_SKEW = (vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, "Equivolume Skew", (False, False, True, False, False, False)) + MAXIMUM_STRETCH = (vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, "Maximum Stretch", (False, False, False, False, True, False)) + MEAN_ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, "Mean Aspect Frobenius", (False, False, False, False, True, False)) + MEAN_RATIO = (vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, "Mean Ratio", (False, False, True, False, False, False)) + NODAL_JACOBIAN_RATIO = (vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, "Nodal Jacobian Ratio", (False, False, False, False, False, True)) + NORMALIZED_INRADIUS = (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, "Normalized Inradius", (True, False, True, False, False, False)) + SQUISH_INDEX = (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, "Squish index", (False, False, True, False, False, False)) + NONE = (vtkMeshQuality.QualityMeasureTypes.NONE, "None", (False, False, False, False, False, False)) + +def getAllCellTypesExtended() -> list[int]: + """Get all cell type ids. + + Returns: + tuple[int,...]: tuple containing cell type ids. + """ + return getPolygonCellTypes() + getPolyhedronCellTypes() + [VTK_POLYGON, VTK_POLYHEDRON] + +def getAllCellTypes() -> list[int]: + """Get all cell type ids. + + Returns: + tuple[int,...]: tuple containing cell type ids. + """ + return getPolygonCellTypes() + getPolyhedronCellTypes() + +def getChildrenCellTypes(parent: int) -> list[int]: + """Get children cell type ids from parent id. + + Returns: + tuple[int,...]: tuple containing cell type ids. + """ + if parent == VTK_POLYGON: + return getPolygonCellTypes() + elif parent == VTK_POLYHEDRON: + return getPolyhedronCellTypes() + else: + raise ValueError(f"Cell type {parent} is not supported.") + +def getPolygonCellTypes() -> list[int]: + """Get polygonal cell type ids. + + Returns: + tuple[int,...]: tuple containing cell type ids. + """ + return [VTK_TRIANGLE, VTK_QUAD] + +def getPolyhedronCellTypes() -> list[int]: + """Get polyhedra cell type ids. + + Returns: + tuple[int,...]: tuple containing cell type ids. + """ + return [VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON] + +def getQualityMeasureNameFromIndex(index: int) ->str: + """Get quality metric name from index. + + Args: + index (int): index of quality measure + + Returns: + str: name of quality measure + """ + return list(QualityMetricEnum)[index].metricName + +def getQualityMeasureIndexFromName(name: str) ->int: + """Get quality metric index from name. + + Args: + name (str): name of quality measure + + Returns: + int: index of quality measure + """ + for metric in list(QualityMetricEnum): + if metric.metricName == name: + return metric.metricIndex + +def getQualityMeasureFromCellType(cellType: int) -> set[int]: + """Get the indexes of mesh quality metrics defined for triangles. + + Returns: + set[int]: set of possible indexes. + """ + if cellType not in getAllCellTypesExtended(): + raise ValueError(f"Cell type {cellType} not in supported cell types {getAllCellTypesExtended()}.") + return {metric.metricIndex for metric in list(QualityMetricEnum) if metric.isApplicableToCellType(cellType)} + +def getTriangleQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for triangles. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_TRIANGLE) + +def getQuadQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for quads. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_QUAD) + +def getCommonPolygonQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for both triangles and quads. + + Returns: + set[int]: set of possible indexes. + """ + triangleMetrics: set[int] = getTriangleQualityMeasure() + quadMetrics: set[int] = getQuadQualityMeasure() + return triangleMetrics.intersection(quadMetrics) + +def getTetQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for quads. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_TETRA) + +def getPyramidQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for quads. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_PYRAMID) + +def getWedgeQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for quads. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_WEDGE) + +def getHexQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for quads. + + Returns: + set[int]: set of possible indexes. + """ + return getQualityMeasureFromCellType(VTK_HEXAHEDRON) + +def getCommonPolyhedraQualityMeasure() -> set[int]: + """Get the indexes of mesh quality metrics defined for both triangles and quads. + + Returns: + set[int]: set of possible indexes. + """ + tetMetrics: set[int] = getTetQualityMeasure() + pyrMetrics: set[int] = getPyramidQualityMeasure() + wedgeMetrics: set[int] = getWedgeQualityMeasure() + hexMetrics: set[int] = getHexQualityMeasure() + return tetMetrics.intersection(pyrMetrics).intersection(wedgeMetrics).intersection(hexMetrics) + +#: functor to get mesh quality metrics set from cell type +qualityMetricsFromCellType: dict[int, callable] = { + VTK_TRIANGLE: getTriangleQualityMeasure, + VTK_QUAD: getQuadQualityMeasure, + VTK_TETRA: getTetQualityMeasure, + VTK_PYRAMID: getPyramidQualityMeasure, + VTK_WEDGE: getWedgeQualityMeasure, + VTK_HEXAHEDRON: getHexQualityMeasure, +} diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index 2036ebbb..c596ad6f 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -13,6 +13,8 @@ from geos.mesh.model.CellTypeCounts import CellTypeCounts +from geos.mesh.processing.meshQualityMetricHelpers import getAllCellTypes + __doc__ = """ CellTypeCounter module is a vtk filter that computes cell type counts. @@ -93,7 +95,7 @@ def RequestData( outTable.SetNumberOfRows( 1 ) # create columns per types - for cellType in self.getAllCellTypes(): + for cellType in getAllCellTypes(): array: vtkIntArray = vtkIntArray() array.SetName( vtkCellTypes.GetClassNameFromTypeId( cellType ) ) array.SetNumberOfComponents( 1 ) @@ -109,11 +111,3 @@ def GetCellTypeCounts( self: Self ) -> CellTypeCounts: CellTypeCounts: CellTypeCounts object. """ return self.counts - - def getAllCellTypes( self: Self ) -> tuple[ int, ...]: - """Get all cell type ids managed by CellTypeCount class. - - Returns: - tuple[int,...]: tuple containg cell type ids. - """ - return ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) diff --git a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py new file mode 100644 index 00000000..b473cb7b --- /dev/null +++ b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py @@ -0,0 +1,889 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay +import numpy as np +import numpy.typing as npt +import pandas as pd +from typing import Optional, Iterable +from typing_extensions import Self +from vtkmodules.vtkFiltersCore import vtkExtractEdges, vtkFeatureEdges +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, + vtkIdList, + vtkPoints, + vtkDataArray, + vtkIntArray, + vtkDoubleArray, +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkPolyData, + vtkCellData, + vtkFieldData, + vtkCell, + vtkPolygon, + vtkTetra, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON +) +from vtkmodules.util.numpy_support import vtk_to_numpy + +from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.model.CellTypeCounts import CellTypeCounts +from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes +from geos.utils.geometryFunctions import computeAngleFromPoints, computeNormalFromPoints, computeAngleFromVectors +from geos.mesh.vtk.helpers import getAttributesFromDataSet +from geos.mesh.processing.meshQualityMetricHelpers import ( + getQualityMeasureNameFromIndex, + getQualityMeasureIndexFromName, + qualityMetricsFromCellType, + QualityMetricEnum, + getAllCellTypesExtended, + getAllCellTypes, + getPolygonCellTypes, + getPolyhedronCellTypes, + getCommonPolygonQualityMeasure, + getCommonPolyhedraQualityMeasure, + getQualityMeasureFromCellType, + getChildrenCellTypes, +) +__doc__ = """ +MeshQualityEnhanced module is a vtk filter that computes mesh quality stats. + +Mesh quality stats include those from vtkMeshQuality as well as . + +Filter input is a vtkUnstructuredGrid. + +To use the filter: + +.. code-block:: python + + from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced + + # filter inputs + input :vtkUnstructuredGrid + + # instanciate the filter + filter :MeshQualityEnhanced = MeshQualityEnhanced() + # set input data object + filter.SetInputDataObject(input) + # do calculations + filter.Update() + # get output mesh quality report + output :MeshQualityReport = filter.GetMeshQualityReport() +""" + +#: name of output quality array from vtkMeshQuality filter +QUALITY_ARRAY_NAME:str = "Quality" + +def getQualityMetricArrayName(metric: int) ->str: + """Get the name of the array from quality metric index. + + Args: + metric (int): metric index + + Returns: + str: name of output array + """ + return QUALITY_ARRAY_NAME + "_" + "".join(getQualityMeasureNameFromIndex(metric).split()) + +class MeshQualityEnhanced(VTKPythonAlgorithmBase): + def __init__(self: Self) ->None: + """Enhanced vtkMeshQuality filter.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + self._outputMesh: vtkUnstructuredGrid + self._cellCounts: CellTypeCounts + self._qualityMetricSummary: QualityMetricSummary = QualityMetricSummary() + + self._MetricsAll: dict[Optional[set[int]]] = { + VTK_TRIANGLE: None, + VTK_QUAD: None, + VTK_TETRA: None, + VTK_PYRAMID: None, + VTK_WEDGE: None, + VTK_HEXAHEDRON: None, + } + + def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestInformation. + + Args: + port (int): input port + info (vtkInformationVector): info + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + if port == 0: + info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) + assert inData is not None + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): + outData = inData.NewInstance() + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) # type: ignore[no-any-return] + + def SetTriangleMetrics(self :Self, metrics: Optional[set[int]]) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_TRIANGLE] = metrics + + def SetQuadMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_QUAD] = metrics + + def SetTetraMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_TETRA] = metrics + + def SetPyramidMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_PYRAMID] = metrics + + def SetWedgeMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_WEDGE] = metrics + + def SetHexaMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + """Set triangle quality metrics to compute. + + Args: + metrics (Iterable[int]): metrics to compute + """ + self._MetricsAll[VTK_HEXAHEDRON] = metrics + + def SetMeshQualityMetrics(self :Self, + triangleMetrics: Optional[set[int]] = None, + quadMetrics: Optional[set[int]] = None, + tetraMetrics: Optional[set[int]] = None, + pyramidMetrics: Optional[set[int]] = None, + wedgeMetrics: Optional[set[int]] = None, + hexaMetrics: Optional[set[int]] = None, + ) -> None: + """Set all quality metrics to compute. + + Args: + triangleMetrics (Iterable[int]): triangle metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + quadMetrics (Iterable[int]): quad metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + tetraMetrics (Iterable[int]): tetrahedron metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + pyramidMetrics (Iterable[int]): pyramid metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + wedgeMetrics (Iterable[int]): wedge metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + hexaMetrics (Iterable[int]): hexahedron metrics to compute. + + Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. + """ + self.SetTriangleMetrics(triangleMetrics) + self.SetQuadMetrics(quadMetrics) + self.SetTetraMetrics(tetraMetrics) + self.SetPyramidMetrics(pyramidMetrics) + self.SetWedgeMetrics(wedgeMetrics) + self.SetHexaMetrics(hexaMetrics) + + + def getComputedMetricsFromCellType(self: Self, cellType: int) -> Optional[set[int]]: + """Get the set of metrics computed for input cell type. + + Args: + cellType (int): cell type index + + Returns: + Optional[set[int]]: set of computed quality metrics + """ + # child cell type + if cellType in getAllCellTypes(): + return self._MetricsAll[cellType] + # for parent cell types, gather children metrics + metrics: Optional[set[int]] = getQualityMeasureFromCellType(cellType) + commonComputedMetricsExists: bool = False + for cellTypeChild in getChildrenCellTypes(cellType): + computedMetrics: set[int] = self._MetricsAll[cellTypeChild] + if computedMetrics is None: + continue + commonComputedMetricsExists = True + metrics = metrics.intersection(computedMetrics) + return metrics if commonComputedMetricsExists else None + + def RequestData(self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) + self._outputMesh = self.GetOutputData(outInfoVec, 0) + assert inData is not None, "Input mesh is undefined." + assert self._outputMesh is not None, "Ouput pipeline is undefined." + + self._outputMesh.ShallowCopy( inData ) + print(f"nb cells Input mesh {inData.GetNumberOfCells()}") + + # compute cell type counts + self._computeCellTypeCounts() + + # compute metrics and associated attributes + self._evaluateMeshQualityAll() + + # compute stats summary + self._updateStatsSummary() + + # create field data + self._createFieldDataStatsSummary() + + self._outputMesh.Modified() + + # TODO move calculation in _evaluateMeshQuality + + # cellCounter: CellTypeCounter = CellTypeCounter() + # cellCounter.SetInputDataObject(inData) + # cellCounter.Update() + # cellCounts: CellTypeCounts = cellCounter.GetCellTypeCounts() + + # EL_data = [[],[]] + # VIE_data =[[],[]] + # self.EdgesLgth_VertexIncidentEdges(inData, EL_data, VIE_data) + + # facesPtsIdsSet: set[tuple[int]] = set() + # volume_data: tuple[list[float], list[float]] = [[],[]] + # jacobian_data: tuple[list[float], list[float]] = [[],[]] + # aspectRatio_data: tuple[list[float], list[float]] = [[],[]] + # AnglesBetweenEdges_data: tuple[list[float], list[float]] = [[],[]] + # HexStretch_data: tuple[list[float], list[float]] = [[],[]] + # EdgeRatio_data: tuple[list[float], list[float]] = [[],[]] + + # points: vtkPoints = inData.GetPoints() + # for c in range(inData.GetNumberOfCells()): + # cell: vtkCell = inData.GetCell(c) + # if cell.GetCellDimension() == 3: + # self.cellQuality (cell, volume_data, jacobian_data, HexStretch_data, EdgeRatio_data) + # self.CellAspectRatio(cell, aspectRatio_data, (2., 3.)) + # self.AnglesBetweenEdges(cell, points, facesPtsIdsSet, AnglesBetweenEdges_data) + return 1 + + def _computeCellTypeCounts(self: Self) ->None: + """Compute cell type counts.""" + filter: CellTypeCounter = CellTypeCounter() + filter.SetInputDataObject( self._outputMesh ) + filter.Update() + counts: CellTypeCounts = filter.GetCellTypeCounts() + assert counts is not None, "CellTypeCounts is undefined" + self._qualityMetricSummary.setCellTypeCounts(counts) + + def _evaluateMeshQualityAll(self: Self)->None: + """Compute all mesh quality metrics.""" + for cellType, metrics in self._MetricsAll.items(): + if metrics is None: + continue + for metricIndex in metrics: + self._evaluateMeshQuality(metricIndex, cellType) + + def _evaluateMeshQuality(self: Self, + metricIndex: int, + cellType: int + ) ->None: + """Compute mesh input quality metric for input cell type. + + Args: + metricIndex (int): quality metric index + cellType (int): cell type index + """ + arrayName: str = getQualityMetricArrayName(metricIndex) + if arrayName in getAttributesFromDataSet(self._outputMesh, False): + # metric is already computed (by default computed for all cell types if applicable) + return + # compute quality metric + output: vtkUnstructuredGrid = self._applyMeshQualityFilter(metricIndex, cellType) + # transfer output cell array to input mesh + self._transferCellAttribute(output, QUALITY_ARRAY_NAME, arrayName, metricIndex) + + def _applyMeshQualityFilter(self: Self, + metric: int, + cellType: int + ) ->vtkUnstructuredGrid: + """Apply vtkMeshQuality filter. + + Args: + metric (int): quality metric index + cellType (int): cell type + + Returns: + vtkUnstructuredGrid: _description_ + """ + meshQualityFilter = vtkMeshQuality() + meshQualityFilter.SetInputDataObject(self._outputMesh) + if cellType == VTK_TRIANGLE: + meshQualityFilter.SetTriangleQualityMeasure(metric) + elif cellType == VTK_QUAD: + meshQualityFilter.SetQuadQualityMeasure(metric) + elif cellType == VTK_TETRA: + meshQualityFilter.SetTetQualityMeasure(metric) + elif cellType == VTK_PYRAMID: + meshQualityFilter.SetPyramidQualityMeasure(metric) + elif cellType == VTK_WEDGE: + meshQualityFilter.SetWedgeQualityMeasure(metric) + elif cellType == VTK_HEXAHEDRON: + meshQualityFilter.SetHexQualityMeasure(metric) + else: + print("Cell type is not supported.") + meshQualityFilter.SaveCellQualityOn() + meshQualityFilter.Update() + return meshQualityFilter.GetOutputDataObject(0) + + def _transferCellAttribute(self: Self, + serverMesh: vtkUnstructuredGrid, + serverAttributeName: str, + clientAttributeName: str, + qualityMetric: int, + ) ->bool: + """Transfer quality attribute to the client mesh. + + The attribute is renamed with quality metric name. Because a default quality + metric is computed if an element does not support the desired metric, this + default metric is replaced by nan values. + + Args: + serverMesh (vtkUnstructuredGrid): server mesh where Quality metric is + serverAttributeName (str): name of the attribute in the server mesh + clientAttributeName (str): name of the attribute in the client mesh + qualityMetric (int): index of quality metric. + + Returns: + bool: True if the attribute was successfully transfered, False otherwise + """ + cellArrays: vtkCellData = serverMesh.GetCellData() + assert cellArrays is not None, "Cell data from vtkMeshQuality output mesh is undefined." + array: vtkDataArray = cellArrays.GetArray(serverAttributeName) + assert array is not None, f"{serverAttributeName} attribute is undefined." + # rename array + array.SetName(clientAttributeName) + # replace irrelevant values + for cellId in range(serverMesh.GetNumberOfCells()): + cell: vtkCell = serverMesh.GetCell(cellId) + cellType: int = cell.GetCellType() + cellTypeQualityMetrics: set[int] = qualityMetricsFromCellType[cellType]() + if (qualityMetric > -1) and (qualityMetric not in cellTypeQualityMetrics): + array.SetTuple1(cellId, np.nan) + + # add array to input mesh + inputCellArrays: vtkCellData = self._outputMesh.GetCellData() + assert inputCellArrays is not None, "Cell data from input mesh is undefined." + inputCellArrays.AddArray(array) + inputCellArrays.Modified() + return True + + def _updateStatsSummary(self: Self) ->None: + """Compute quality metric statistics.""" + # stats for each cell types individually + for cellType, metrics in self._MetricsAll.items(): + count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + if (count == 0) or (metrics is None): + continue + for metricIndex in metrics: + self._updateStatsSummaryByCellType(metricIndex, cellType) + + # stats for polygons and polyhedra + for cellType in (VTK_POLYGON, VTK_POLYHEDRON): + count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + # get common computed metrics + metrics: Optional[set[int]] = self.getComputedMetricsFromCellType(cellType) + if (count == 0) or (metrics is None): + continue + for metricIndex in metrics: + self._updateStatsSummaryByCellType(metricIndex, cellType) + + def _updateStatsSummaryByCellType(self: Self, + metricIndex: int, + cellType: int + ) ->None: + """Compute input quality metric statistics for input cell types. + + Args: + metricIndex (int): quality metric index + cellType (int): cell type index + """ + cellArrays: vtkCellData = self._outputMesh.GetCellData() + assert cellArrays is not None, "Cell data from input mesh is undefined." + arrayName: str = getQualityMetricArrayName(metricIndex) + array: vtkDataArray = cellArrays.GetArray(arrayName) + npArray: npt.NDArray[np.float64] = np.empty(0) + if array is None: + return + + npArray: npt.NDArray[np.float64] = vtk_to_numpy(array) + cellTypes: tuple[int,...] = (cellType,) + if cellType == VTK_POLYGON: + cellTypes = getPolygonCellTypes() + elif cellType == VTK_POLYHEDRON: + cellTypes = getPolyhedronCellTypes + cellTypeMask: npt.NDArray[np.bool_] = np.array( + [self._outputMesh.GetCellType(cellId) in cellTypes for cellId in range(self._outputMesh.GetNumberOfCells())], + dtype=bool + ) + + mean: float = float(np.nanmean(npArray[cellTypeMask])) + std: float = float(np.nanstd(npArray[cellTypeMask])) + mini: float = float(np.nanmin(npArray[cellTypeMask])) + maxi: float = float(np.nanmax(npArray[cellTypeMask])) + self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, mean) + self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, std) + self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MIN, mini) + self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MAX, maxi) + + + def _createFieldDataStatsSummary(self: Self) ->None: + """Create field data arrays with quality statistics.""" + fieldData: vtkFieldData = self._outputMesh.GetFieldData() + assert fieldData is not None, "Field data is undefined." + for cellType in getAllCellTypesExtended(): + count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType ) + metrics: Optional[set[int]] = self.getComputedMetricsFromCellType(cellType) + # create count array + name = "_".join((vtkCellTypes.GetClassNameFromTypeId(cellType), StatTypes.COUNT.getString())) + array: vtkIntArray = vtkIntArray() + array.SetName(name) + array.SetNumberOfValues(1) + array.SetNumberOfComponents(1) + array.SetValue(0, count) + fieldData.AddArray(array) + if (count == 0) or (metrics is None): + continue + + # create metric arrays + for metricIndex in metrics: + # one array per statistic number except Count (last one) + for statType in list(StatTypes)[:-1]: + value: int = self._qualityMetricSummary.getStatValueToMetricAndCellType(metricIndex, cellType, statType) + name = self._createArrayName(cellType, metricIndex, statType) + array: vtkDoubleArray = vtkDoubleArray() + array.SetName(name) + array.SetNumberOfValues(1) + array.SetNumberOfComponents(1) + array.SetValue(0, value) + fieldData.AddArray(array) + fieldData.Modified() + + def _createArrayName(self: Self, cellType: int, metricIndex: int, statType: StatTypes) ->str: + """Concatenate cell type, metric name, and statistic name in array name. + + Args: + cellType (int): cell type index + metricIndex (int): quality metric index + statType (StatTypes): statistic type + + Returns: + str: array name + """ + return "_".join((vtkCellTypes.GetClassNameFromTypeId(cellType), + getQualityMeasureNameFromIndex(metricIndex).replace(" ", ""), + statType.getString())) + + def FaceBarycenter(self: Self, + points: vtkPoints, + cell: vtkCell + ) ->npt.NDArray[np.float64]: + """Get cell barycenter. + + Args: + points (vtkPoints): mesh points + cell (vtkCell): cell + + Returns: + npt.NDArray[np.float64]: _description_ + """ + cellPtsIds: vtkIdList = cell.GetPointIds() + nbPts: int = cellPtsIds.GetNumberOfIds() + center: npt.NDArray[np.float64] = np.zeros(0, dtype=float) + for i in range (nbPts): + pt = np.zeros(3, dtype=float) + points.GetPoint(cellPtsIds.GetId(i), pt) + center += pt + return center / nbPts + + def GetNormalVector(self: Self, + points: vtkPoints, + face: vtkCell + ) -> npt.NDArray[np.float64]: + """Get the normal to the input face. + + .. NOTE:: this method consider the faces as planes. + + Args: + points (vtkPoints): mesh points + face (vtkCell): face + + Returns: + npt.NDArray[np.float64]: coordinates of the normal vector + """ + assert face.GetCellDimension() == 2, "Cell must be a planar polygon." + facePtsIds: vtkIdList = face.GetPointIds() + # need only 3 points among all to get the normal of the face + ptsCoords: npt.NDArray[np.float64] = np.zeros((3, 3), dtype=float) + for i in range(3): + points.GetPoint(facePtsIds.GetId(i), ptsCoords[i]) + return computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) + + # TODO: add metric that measures the deviation angle from cell center to face center vector versus face normal vector + # TODO: add metric that computes the deviation of cell volumes + + # As for OpenFOAM's, you have to dig a little in the source code to figure what they are. + # OpenFOAM's skewness is a measure of the deviation of the vector connecting the two cell + # centers adjacent to a face and the mid-point of that face. OpenFOAM also checks for orthogonality + # which it defines to be the deviation angle between the adjacent cell centers vector and the face normal. + def KOrtho(self: Self, + inData: vtkUnstructuredGrid, + kOrtho: tuple[list[float], list[float]], + devAngu: tuple[list[float], list[float]] + ) ->None: + """Compute cell orthogonality statistics. + + New cell attributes are created. + + ORTHOGONALITY measures the deviation angle between cell centers and face normal. + Usefull for flow simulations where cells must be the closest possible from orthogonality. + Created attributes include minimum, mean, and maxium values from all cell neighbors + of a given cell. + + d + + Args: + inData (vtkUnstructuredGrid): input mesh + kOrtho (tuple[list[float], list[float]]): output results on cell orthogonality from face normal + devAngu (tuple[list[float], list[float]]): output results on cell orthogonality + """ + # copy input data to prevent modifications from GetCellNeighbors method + copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() + copyData.ShallowCopy(inData) + points: vtkPoints = copyData.GetPoints() + for c in range(copyData.GetNumberOfCells()): + cell: vtkCell = copyData.GetCell(c) + if cell.GetCellDimension() == 3: + paramCenter: npt.NDArray[np.float64] = np.zeros(3) + subId:int = cell.GetParametricCenter(paramCenter) + cellCenter: npt.NDArray[np.float64] = np.zeros(3) # cell barycenter + weights: npt.NDArray[np.float64] = np.zeros(3) + cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) + + for f in range(cell.GetNumberOfFaces()): + face: vtkCell = cell.GetFace(f) + faceCenter: npt.NDArray[np.float64] = self.FaceBarycenter(points, face) # face barycenter + NeighborIds = vtkIdList() + copyData.GetCellNeighbors(c, face.GetPointIds(), NeighborIds) + for j in range(NeighborIds.GetNumberOfIds()): + neighborCellId = NeighborIds.GetId(j) + neighborCell: vtkCell = copyData.GetCell(neighborCellId) + # if neighbor cell is a polyhedron + # to avoid to repeat the same operation on cells already treated + if (neighborCell.GetCellDimension() == 3) and (c < neighborCellId): + paramCenter2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) + subId2: int = neighborCell.GetParametricCenter(paramCenter2) + neighborCellCenter: npt.NDArray[np.float64] = np.zeros(3, dtype=float) # cell barycenter + weights2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) + neighborCell.EvaluateLocation(subId2, paramCenter2, neighborCellCenter, weights2) + + # deviation angle between cell centers vector and face normal + cb: npt.NDArray[np.float64] = cellCenter - neighborCellCenter + ba: npt.NDArray[np.float64] = self.GetNormalVector(points, face) + devAngu[0].append(computeAngleFromVectors(cb, ba)) + + # deviation angle between cell centers vector and face to cell center vector + ba = faceCenter - cellCenter + kOrtho[0].append(computeAngleFromVectors(ba, -cb)) + + # TODO: still usefull ? + def CellsNeighborsMatrix(self: Self, + inData: vtkUnstructuredGrid + ) -> tuple[list[int], list[int]]: + """Compute cell neighbors maxtrix. + + Args: + inData (vtkUnstructuredGrid): input mesh + + Returns: + tuple[list[int], list[int]]: output matrix + """ + rowInd: list[int]= [] + colInd: list[int] = [] + # copy input data to prevent modifications from GetCellNeighbors method + copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() + copyData.ShallowCopy(inData) + for c in range(inData.GetNumberOfCells()): + cell: vtkCell= inData.GetCell(c) + if cell.GetCellDimension() != 3: + continue + + for f in range(cell.GetNumberOfFaces()): + cellIds = vtkIdList() + copyData.GetCellNeighbors(c, cell.GetFace(f).GetPointIds(), cellIds) + for j in range(cellIds.GetNumberOfIds()): + cellId: int = cellIds.GetId(j) + # to avoid to repeat the same operation + if (copyData.GetCell(cellId).GetCellDimension() == 3) and (c < cellIds.GetId(j)): + rowInd.append(cellId) + colInd.append(c) + return rowInd, colInd + + def EdgesLgth_VertexIncidentEdges(self: Self, + inData: vtkUnstructuredGrid, + EL_data: tuple[list[float], list[float]], + VIE_data: tuple[list[float], list[float]], + EL_threshold: tuple[float, float] = (-np.inf, np.inf) + ) ->None: + """Compute edge length and vertex incident edge number. + + Args: + inData (vtkUnstructuredGrid): input mesh + EL_data (tuple[list[float], list[float]]): edge length outputs + VIE_data (tuple[list[float], list[float]]): vertex incident edge count outputs + EL_threshold (tuple[float, float], optional): edge length threshold. + + Defaults to (-np.inf, np.inf). + """ + extractEdges = vtkExtractEdges() + extractEdges.SetInputData(inData) + extractEdges.Update() + polyData: vtkPolyData = extractEdges.GetOutput() + VIE_list: list[float] = [0.] * inData.GetNumberOfPoints() + + for edg in range(polyData.GetNumberOfCells()): + if polyData.GetCell(edg).GetCellDimension() == 1: + # edges length + length2: float = polyData.GetCell(edg).GetLength2() + result: float = np.sqrt(length2) + if EL_threshold[0] <= result <= EL_threshold[1]: + EL_data[0].append(result) + else: + EL_data[1].append(result) + + # VertexIncidentEdges + edgesPointIds: vtkIdList = polyData.GetCell(edg).GetPointIds() + for i in range(edgesPointIds.GetNumberOfIds()): + VIE_list[edgesPointIds.GetId(i)] += 1 + + VIE_data[0] = VIE_list + + def AnglesBetweenEdges(self: Self, + cell: vtkCell, + points: vtkPoints, + facesPtsIdsSet: set[tuple[int]], + listData: tuple[list[float], list[float]] + ) ->None: + """Get angles between all edges of input cell. + + Args: + cell (vtkCell): input cell + points (vtkPoints): mesh points + facesPtsIdsSet (set[tuple[int]]): output set of face vertex ids. Provided set should be empty. + listData (tuple[list[float], list[float]]): output results + + Raises: + ValueError: Face types + """ + assert len(facesPtsIdsSet) == 0, "facesPtsIdsSet is not empty." + for f in range(cell.GetNumberOfFaces()): + cellface: vtkPolygon = cell.GetFace(f) + facePtsIds: vtkIdList = cellface.GetPointIds() + facePtsIdsTuple: tuple[int, ...] = tuple([facePtsIds.GetId(i) for i in range(facePtsIds.GetNumberOfIds())].sort()) + if facePtsIdsTuple not in facesPtsIdsSet: + # get face points + nbPts: int = facePtsIds.GetNumberOfIds() + ptsCoords: npt.NDArray[np.float64] = np.zeros((nbPts, 3), dtype=float) + for p in range(nbPts): + points.GetPoint(facePtsIds.GetId(p), ptsCoords[p]) + # compute edge angles + if nbPts == 3: + listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + listData[0].append(computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) + listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) + elif nbPts == 4: + listData[0].append(computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) + listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + listData[0].append(computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) + listData[0].append(computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) + else: + raise TypeError("Faces must be triangles or quads. Other types are currently not managed.") + + facesPtsIdsSet.add(facePtsIdsTuple) + + def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: + """Compute the number of edges of the mesh. + + Args: + mesh (vtkUnstructuredGrid): input mesh + + Returns: + int: number of edges + """ + edges: vtkFeatureEdges = vtkFeatureEdges() + edges.BoundaryEdgesOn() + edges.ManifoldEdgesOn() + edges.FeatureEdgesOff() + edges.NonManifoldEdgesOff() + edges.SetInputDataObject(mesh) + edges.Update() + return edges.GetOutput().GetNumberOfCells() + + def cellQuality (self: Self, + cell: vtkCell, + volume: tuple[list[float], list[float]], + jacobian: tuple[list[float], list[float]], + hexStretch: tuple[list[float], list[float]], + edgeRatio: tuple[list[float], list[float]], + J_threshold: tuple[float, float] = (-np.inf, np.inf) + ) ->None: + """Compute cell quality. + + Args: + cell (vtkCell): cell + volume (tuple[list[float], list[float]]): output volume results + jacobian (tuple[list[float], list[float]]): output Jacobian results + hexStretch (tuple[list[float], list[float]]): output hexahedron stretching results + edgeRatio (tuple[list[float], list[float]]): output edge ratio results + J_threshold (tuple[float, float], optional): Jacobian threshold. + + Defaults to (-np.inf, np.inf). + """ + cellType: int = cell.GetCellType() + vol: float + edgeRatioVal: float + jacob: float + if cellType == VTK_TETRA : + vol = self._meshQuality.TetVolume(cell) + edgeRatioVal = self._meshQuality.TetEdgeRatio(cell) + jacob = self._meshQuality.TetScaledJacobian(cell) + elif cellType == VTK_HEXAHEDRON: + vol = self._meshQuality.HexVolume(cell) + edgeRatioVal = self._meshQuality.HexEdgeRatio(cell) + jacob = self._meshQuality.HexScaledJacobian(cell) + hexStretch[0].append(self._meshQuality.HexStretch(cell)) + elif cellType == VTK_WEDGE : + vol = self._meshQuality.WedgeVolume(cell) + edgeRatioVal = self._meshQuality.WedgeEdgeRatio(cell) + jacob = self._meshQuality.WedgeScaledJacobian(cell) + elif cellType == VTK_PYRAMID: + vol = self._meshQuality.PyramidVolume(cell) + lenghtList =[] + for i in range(cell.GetNumberOfEdges ()): + lenght2 = cell.GetEdge(i).GetLength2 () + lenghtList.append(np.sqrt(lenght2)) + edgeRatioVal = max(lenghtList) / min(lenghtList) + jacob = self._meshQuality.PyramidScaledJacobian(cell) + else: + vol = np.nan + edgeRatioVal = np.nan + jacob = np.nan + print(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is currently not supported.") + + volume[0].append(vol) + edgeRatio[0].append(edgeRatioVal) + if J_threshold[0] <= jacob <= J_threshold[1]: + jacobian[0].append(jacob) + else: + jacobian[1].append(jacob) + + def CellAspectRatio(self: Self, + cell: vtkCell, + listData: tuple[list[float], list[float]], + threshold: tuple[float, float] = (-np.inf, np.inf) + ) ->None: + """Compute cell aspect ratio. + + Args: + cell (vtkCell): cell + listData (tuple[list[float], list[float]]): output results + threshold (tuple[float, float], optional): aspect ratio threshold. + + Defaults to (-np.inf, np.inf). + """ + cellType: int = cell.GetCellType() + if cellType == VTK_TETRA : + if threshold is None: + listData[0].append(self._meshQuality.TetAspectRatio(cell)) + else: + if threshold[0] <= self._meshQuality.TetAspectRatio(cell) <= threshold[1]: + listData[0].append(self._meshQuality.TetAspectRatio(cell)) + else: + listData[1].append(self._meshQuality.TetAspectRatio(cell)) + + else : + listSimplexPts = vtkPoints() + idList = vtkIdList() + cell.Triangulate(1, idList,listSimplexPts) + + simplexAspectRatio: list[float] = [] + index: int = 0 + while index != listSimplexPts.GetNumberOfPoints() : + tetra: vtkTetra = vtkTetra() + tetraPts: vtkPoints = tetra.GetPoints() + for i in range(4): + tetraPts.SetPoint(i,listSimplexPts.GetPoint(index)) + tetraPts.Modified() + index += 1 + simplexAspectRatio.append(self._meshQuality.TetAspectRatio(tetra)) + + if threshold is None: + listData[0].append(max(simplexAspectRatio)) + else: + if threshold[0] <= max(simplexAspectRatio) <= threshold[1]: + listData[0].append(max(simplexAspectRatio)) + else: + listData[1].append(max(simplexAspectRatio)) + + simplexAspectRatio.clear() diff --git a/geos-mesh/tests/test_CellTypeCounts.py b/geos-mesh/tests/test_CellTypeCounts.py index 39637ef0..ec69d0bd 100644 --- a/geos-mesh/tests/test_CellTypeCounts.py +++ b/geos-mesh/tests/test_CellTypeCounts.py @@ -102,11 +102,7 @@ def test_CellTypeCounts_init() -> None: @pytest.mark.parametrize( "test_case", __generate_test_data() ) def test_CellTypeCounts_addType( test_case: TestCase ) -> None: - """Test of CellTypeCounts . - - Args: - test_case (TestCase): test case - """ + """Test of CellTypeCounts init method.""" counts: CellTypeCounts = CellTypeCounts() for _ in range( test_case.nbVertex ): counts.addType( VTK_VERTEX ) diff --git a/geos-mesh/tests/test_QualityMetricSummary.py b/geos-mesh/tests/test_QualityMetricSummary.py new file mode 100644 index 00000000..69ac1e42 --- /dev/null +++ b/geos-mesh/tests/test_QualityMetricSummary.py @@ -0,0 +1,127 @@ +# SPDX-FileContributor: Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +from dataclasses import dataclass +import numpy as np +import pandas as pd +import random as rd +import pytest +from typing import Iterator + +from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes + +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, + VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) +from geos.mesh.processing.meshQualityMetricHelpers import getQualityMeasureNameFromIndex + +# inputs +statTypes: tuple[StatTypes,...] = (StatTypes.COUNT, StatTypes.MEAN, StatTypes.STD_DEV, StatTypes.MIN, StatTypes.MAX) + +cellType_all: tuple[int,...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON) +metricIndexes_all: tuple[int,...] = ( + (vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), + (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.JACOBIAN), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ODDY), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME), +) + +metricIndexesFail_all: tuple[int,...] = ( + (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME), + (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME), + (vtkMeshQuality.QualityMeasureTypes.ODDY, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.VOLUME), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), +) + +@dataclass( frozen=True ) +class TestCase: + """Test case.""" + __test__ = False + metricIndexes: tuple[int,...] + cellType: int + statTypes: StatTypes + values: float + + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for metricIndexes, cellType in zip( metricIndexes_all, + cellType_all, + strict=True ): + values: tuple[int, float, float, float, float] = ( + rd.randint(1, 100000), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0) + ) + yield TestCase( metricIndexes, cellType, statTypes, values ) + +def __generate_failed_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for metricIndex, cellType in zip( metricIndexesFail_all, + cellType_all, + strict=True ): + values: tuple[int, float, float, float, float] = (0, 0., 0., 0., 0., 0.) + yield TestCase( metricIndex, cellType, statTypes, values ) + +def test_QualityMetricSummary_init() -> None: + """Test of QualityMetricSummary init method.""" + stats: QualityMetricSummary = QualityMetricSummary() + assert stats.getAllStats() is not None, "Stats member is undefined." + assert (stats.getAllStats().shape[0] == 5) and stats.getAllStats().shape[1] == 115, "Stats shape is wrong." + +@pytest.mark.parametrize( "test_case", __generate_failed_test_data() ) +def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: + """Test of setStatsToMetricAndCellType method. + + Args: + test_case (TestCase): test case + """ + stats: QualityMetricSummary = QualityMetricSummary() + statType: StatTypes = StatTypes.COUNT + val: float = 1.0 + for metricIndex in test_case.metricIndexes: + with pytest.raises( IndexError ) as pytest_wrapped_e: + stats.setStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType, val) + assert pytest_wrapped_e.type is IndexError + +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: + """Test of setter and getter methods. + + Args: + test_case (TestCase): test case + """ + stats: QualityMetricSummary = QualityMetricSummary() + for metricIndex in test_case.metricIndexes: + for statType, value in zip(test_case.statTypes, test_case.values, strict=True): + print(metricIndex, test_case.cellType, statType) + stats.setStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType, value) + + assert np.any(stats.getAllStats().to_numpy() > 0), "Stats values were not corretcly set." + for metricIndex in test_case.metricIndexes: + for statType, val in zip(test_case.statTypes, test_case.values, strict=True): + subSet: pd.DataFrame = stats.getStatsFromCellType(test_case.cellType) + assert subSet[metricIndex][statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromCellType is exepected to be equal to {val}." + + subSet2: pd.DataFrame = stats.getStatsFromMetric(metricIndex) + assert subSet2[test_case.cellType][statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." + + subSet3: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, test_case.cellType) + assert subSet3[statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." + + valObs: float = stats.getStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType) + assert valObs == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatValueFromMetricAndCellType is exepected to be equal to {val}." diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py new file mode 100644 index 00000000..fc1ae91b --- /dev/null +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -0,0 +1,325 @@ +# SPDX-FileContributor: Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import os +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pytest +from typing import ( + Iterator, +) + +from geos.mesh.vtk.helpers import createMultiCellMesh +from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints + +from vtkmodules.util.numpy_support import vtk_to_numpy +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellArray, + vtkCellTypes, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON +) + +from vtkmodules.vtkCommonCore import ( + vtkPoints, + vtkIdList, +) + +from geos.mesh.processing.meshQualityMetricHelpers import ( + QualityMetricEnum, + getQualityMeasureFromCellType, + getTriangleQualityMeasure, + getQuadQualityMeasure, + getTetQualityMeasure, + getPyramidQualityMeasure, + getWedgeQualityMeasure, + getHexQualityMeasure, + getCommonPolygonQualityMeasure, + getCommonPolyhedraQualityMeasure, + getQualityMeasureNameFromIndex, + getQualityMeasureIndexFromName, + getAllCellTypesExtended, +) + +triangleQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.AREA, + vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, + vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, + vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, + vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, + vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, + vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE +} + +quadQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.AREA, + vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, + vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, + vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, + vtkMeshQuality.QualityMeasureTypes.ODDY, + vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, + vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, + vtkMeshQuality.QualityMeasureTypes.SHEAR, + vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, + vtkMeshQuality.QualityMeasureTypes.SKEW, + vtkMeshQuality.QualityMeasureTypes.STRETCH, + vtkMeshQuality.QualityMeasureTypes.TAPER, + vtkMeshQuality.QualityMeasureTypes.WARPAGE, +} + +tetQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, + vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, + vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, + vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, + vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, + vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, + vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, + vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, + vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, + vtkMeshQuality.QualityMeasureTypes.VOLUME, +} + +pyrQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.VOLUME, +} + +wedgeQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, + vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.VOLUME, +} + +hexQualityMeasureExp: set[int] = { + vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DIAGONAL, + vtkMeshQuality.QualityMeasureTypes.DIMENSION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, + vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, + vtkMeshQuality.QualityMeasureTypes.ODDY, + vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + vtkMeshQuality.QualityMeasureTypes.SHAPE, + vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, + vtkMeshQuality.QualityMeasureTypes.SHEAR, + vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, + vtkMeshQuality.QualityMeasureTypes.SKEW, + vtkMeshQuality.QualityMeasureTypes.STRETCH, + vtkMeshQuality.QualityMeasureTypes.TAPER, + vtkMeshQuality.QualityMeasureTypes.VOLUME, +} + +@dataclass( frozen=True ) +class TestCase: + """Test case.""" + __test__ = False + #: input mesh + qualityMetricIndex: int + #: expected points + qualityMetricName: str + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for metric in list(QualityMetricEnum): + yield TestCase( metric.metricIndex, metric.metricName ) + +def test_QualityMetricEnumOrder() ->None: + """Test QualityMetricEnum ordering is correct.""" + for i, metric in enumerate(list(QualityMetricEnum)): + assert metric.metricIndex == i + +ids: list[str] = [metric.metricName for metric in list(QualityMetricEnum)] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_getQualityMeasureNameFromIndex( test_case: TestCase ) ->None: + """Test of getQualityMeasureNameFromIndex method.""" + name: str = getQualityMeasureNameFromIndex(test_case.qualityMetricIndex) + assert name == test_case.qualityMetricName + +ids: list[str] = [metric.metricName for metric in list(QualityMetricEnum)] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_getQualityMeasureIndexFromName( test_case: TestCase ) ->None: + """Test of getQualityMeasureIndexFromName method.""" + index: int = getQualityMeasureIndexFromName(test_case.qualityMetricName) + assert index == test_case.qualityMetricIndex + +def test_getQualityMeasureFromCellType_exception() ->None: + """Test of supported cell type from getQualityMeasureFromCellType method.""" + for i in range(20): + if i in (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON): + assert len(getQualityMeasureFromCellType(i)) > 0 + else: + with pytest.raises(ValueError) as pytest_wrapped_e: + getQualityMeasureFromCellType(i) + assert pytest_wrapped_e.type is ValueError + +def test_getTriangleQualityMeasure() -> None: + """Test of getTriangleQualityMeasure method.""" + obs: set[int] = getTriangleQualityMeasure() + diffAdditional: set[int] = obs.difference(triangleQualityMeasureExp) + diffMissing: set[int] = triangleQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(triangleQualityMeasureExp)] + assert sorted(obs) == sorted(triangleQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getQuadQualityMeasure() -> None: + """Test of getQuadQualityMeasure method.""" + obs: set[int] = getQuadQualityMeasure() + diffAdditional: set[int] = obs.difference(quadQualityMeasureExp) + diffMissing: set[int] = quadQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(quadQualityMeasureExp)] + assert sorted(obs) == sorted(quadQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getCommonPolygonQualityMeasure() -> None: + """Test of getCommonPolygonQualityMeasure method.""" + obs: set[int] = getCommonPolygonQualityMeasure() + exp: set[int] = quadQualityMeasureExp.intersection(triangleQualityMeasureExp) + diffAdditional: set[int] = obs.difference(exp) + diffMissing: set[int] = exp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(exp)] + assert sorted(obs) == sorted(exp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getTetQualityMeasure() -> None: + """Test of getTetQualityMeasure method.""" + obs: set[int] = getTetQualityMeasure() + diffAdditional: set[int] = obs.difference(tetQualityMeasureExp) + diffMissing: set[int] = tetQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(tetQualityMeasureExp)] + assert sorted(obs) == sorted(tetQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getPyramidQualityMeasure() -> None: + """Test of getPyramidQualityMeasure method.""" + obs: set[int] = getPyramidQualityMeasure() + diffAdditional: set[int] = obs.difference(pyrQualityMeasureExp) + diffMissing: set[int] = pyrQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(pyrQualityMeasureExp)] + assert sorted(obs) == sorted(pyrQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getWedgeQualityMeasure() -> None: + """Test of getWedgeQualityMeasure method.""" + obs: set[int] = getWedgeQualityMeasure() + diffAdditional: set[int] = obs.difference(wedgeQualityMeasureExp) + diffMissing: set[int] = wedgeQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(wedgeQualityMeasureExp)] + assert sorted(obs) == sorted(wedgeQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getHexQualityMeasure() -> None: + """Test of getHexQualityMeasure method.""" + obs: set[int] = getHexQualityMeasure() + diffAdditional: set[int] = obs.difference(hexQualityMeasureExp) + diffMissing: set[int] = hexQualityMeasureExp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(hexQualityMeasureExp)] + assert sorted(obs) == sorted(hexQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getCommonPolyhedraQualityMeasure() -> None: + """Test of getCommonPolyhedraQualityMeasure method.""" + obs: set[int] = getCommonPolyhedraQualityMeasure() + exp: set[int] = tetQualityMeasureExp.intersection(pyrQualityMeasureExp).intersection(wedgeQualityMeasureExp).intersection(hexQualityMeasureExp) + diffAdditional: set[int] = obs.difference(exp) + diffMissing: set[int] = exp.difference(obs) + messAdditional: str = f"{len(diffAdditional)} additional elements" + if len(diffAdditional) > 0: + messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" + messMissing: str = f" and {len(diffMissing)} missing elements" + if len(diffMissing): + messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" + expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(exp)] + assert sorted(obs) == sorted(exp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + +def test_getAllCellTypesExtended() ->None: + """Test of getAllCellTypesExtended method.""" + cellTypesExp: list[int] = [VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON] + assert cellTypesExp == getAllCellTypesExtended(), "Cell types differ." diff --git a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py new file mode 100644 index 00000000..57b190d0 --- /dev/null +++ b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py @@ -0,0 +1,248 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import sys +from pathlib import Path +from typing_extensions import Self + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, +) + +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, + vtkDoubleArray, + vtkDataArraySelection, +) +from vtkmodules.vtkCommonDataModel import ( + vtkPointSet, + vtkTable, + vtkCellTypes, + vtkUnstructuredGrid, + vtkMultiBlockDataSet, +) + +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() + +from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced + +from geos.mesh.processing.meshQualityMetricHelpers import ( + getQualityMeasureNameFromIndex, + getQualityMeasureIndexFromName, + getQuadQualityMeasure, + getTriangleQualityMeasure, + getCommonPolygonQualityMeasure, +) +from geos.pv.utils.checkboxFunction import ( # type: ignore[attr-defined] + createModifiedCallback, ) +from geos.pv.utils.paraviewTreatments import getArrayChoices + +__doc__ = """ +Compute mesh quality metrics on surface meshes. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVSurfaceMeshQualityEnhanced. +* Select the input mesh. +* Select the metric to compute +* Apply the filter. + +""" + +@smproxy.filter( name="PVSurfaceMeshQualityEnhanced", label="Surface Mesh Quality Enhanced" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkUnstructuredGrid"], + composite_data_supported=True, +) +class PVSurfaceMeshQualityEnhanced(VTKPythonAlgorithmBase): + def __init__(self:Self) ->None: + """Merge collocated points.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + + self._filename = None + self._saveToFile = True + # used to concatenate results if vtkMultiBlockDataSet + self._metricsAll: list[float] = [] + self._commonQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._triangleQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._quadsQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._initQualityMetricSelection() + + def _initQualityMetricSelection(self: Self) ->None: + self._commonQualityMetric.RemoveAllArrays() + self._commonQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + commonMetrics: set[int] = getCommonPolygonQualityMeasure() + for measure in commonMetrics: + self._commonQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._triangleQualityMetric.RemoveAllArrays() + self._triangleQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getTriangleQualityMeasure().difference(commonMetrics): + self._triangleQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._quadsQualityMetric.RemoveAllArrays() + self._quadsQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getQuadQualityMeasure().difference(commonMetrics): + self._quadsQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + @smproperty.dataarrayselection( name="CommonQualityMetric" ) + def a01SetCommonMetrics( self: Self ) -> vtkDataArraySelection: + """Set polygon quality metrics selection.""" + return self._commonQualityMetric + + @smproperty.dataarrayselection( name="TriangleSpecificQualityMetric" ) + def a02SetTriangleMetrics( self: Self ) -> vtkDataArraySelection: + """Set triangle quality metrics selection.""" + return self._triangleQualityMetric + + @smproperty.dataarrayselection( name="QuadSpecificQualityMetric" ) + def a03sSetQuadMetrics( self: Self ) -> vtkDataArraySelection: + """Set quad quality metrics selection.""" + return self._quadsQualityMetric + + @smproperty.intvector( + name="SetSaveToFile", + label="Save to file", + default_values=0, + panel_visibility="default", + ) + @smdomain.xml( """ + + + Specify if mesh statistics are dumped into a file. + + """ ) + def a04SetSaveToFile( self: Self, saveToFile: bool) -> None: + """Setter to save the stats into a file. + + Args: + saveToFile (bool): if True, a file will be saved. + """ + if self._saveToFile != saveToFile: + self._saveToFile = saveToFile + self.Modified() + + @smproperty.stringvector(name="FilePath", label="File Path") + @smdomain.xml( """ + + Output file path. + + + + + """) + def a04SetFileName(self: Self, fname :str) -> None: + """Specify filename for the filter to write. + + Args: + fname (str): file path + """ + if self._filename != fname: + self._filename = fname + self.Modified() + + @smproperty.xml( """ + + + + + + + """ ) + def b01GroupAdvancedOutputParameters( self: Self ) -> None: + """Organize groups.""" + self.Modified() + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[vtkMeshQuality.QualityMeasureTypes]: + """Get mesh quality metric indexes from user selection. + + Returns: + list[int]: list of quality metric indexes + """ + metricsNames: set[str] = getArrayChoices(selection) + return {getQualityMeasureIndexFromName(name) for name in metricsNames} + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + print("requestData") + + inputMesh: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) + outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData(outInfoVec, 0) + assert inputMesh is not None, "Input server mesh is null." + assert outputMesh is not None, "Output pipeline is null." + + triangleMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._triangleQualityMetric)) + quadMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._quadsQualityMetric)) + print(inputMesh.GetNumberOfCells()) + print("triangleMetrics", triangleMetrics) + print("quadMetrics", quadMetrics) + filter: MeshQualityEnhanced = MeshQualityEnhanced() + filter.SetInputDataObject(inputMesh) + filter.SetMeshQualityMetrics(triangleMetrics=triangleMetrics, quadMetrics=quadMetrics) + filter.Update() + + outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) + + + #self._metricsAll += metrics + # save to file if asked + # if self._saveToFile: + # try: + # with open(self._filename, 'w') as fout: + # fout.write(self._metricsAll) + # print(f"File {self._filename} was successfully written.") + # except Exception as e: + # print("Error while exporting the file due to:") + # print(str(e)) + return 1 diff --git a/geos-utils/src/geos/utils/geometryFunctions.py b/geos-utils/src/geos/utils/geometryFunctions.py index 467bac40..09cb64dc 100644 --- a/geos-utils/src/geos/utils/geometryFunctions.py +++ b/geos-utils/src/geos/utils/geometryFunctions.py @@ -94,7 +94,6 @@ def computePlaneFrom3Points( d: float = -np.dot( normal, pt1 ) return a, b, c, d - def getCellSideAgainstPlane( cellPtsCoords: npt.NDArray[ np.floating[ Any ] ], planePt: npt.NDArray[ np.floating[ Any ] ], @@ -118,7 +117,6 @@ def getCellSideAgainstPlane( ptCenter: npt.NDArray[ np.floating[ Any ] ] = np.mean( cellPtsCoords, axis=0 ) return getPointSideAgainstPlane( ptCenter, planePt, planeNormal ) - def getPointSideAgainstPlane( ptCoords: npt.NDArray[ np.floating[ Any ] ], planePt: npt.NDArray[ np.floating[ Any ] ], @@ -145,3 +143,89 @@ def getPointSideAgainstPlane( dot: float = np.dot( planeNormal, vec ) assert abs( dot ) > EPSILON, "The point is on the plane." return dot > 0 + +def computeAngleFromPoints(pt1: npt.NDArray[np.float64], + pt2: npt.NDArray[np.float64], + pt3: npt.NDArray[np.float64] + ) -> float: + """Compute angle from 3 points. + + Args: + pt1 (npt.NDArray[np.float64]): first point + pt2 (npt.NDArray[np.float64]): second point + pt3 (npt.NDArray[np.float64]): third point + + Returns: + float: angle + """ + # compute vectors + vec1: npt.NDArray[np.float64] = pt1 - pt2 + vec2: npt.NDArray[np.float64] = pt3 - pt2 + return computeAngleFromVectors(vec1, vec2) + +def computeAngleFromVectors(vec1: npt.NDArray[np.float64], + vec2: npt.NDArray[np.float64], + ) -> float: + """Compute angle from 2 vectors. + + Args: + vec1 (npt.NDArray[np.float64]): first vector + vec2 (npt.NDArray[np.float64]): second vector + + Returns: + float: angle + """ + assert abs(np.linalg.norm(vec1)) > 0., "First vector connot be null" + assert abs(np.linalg.norm(vec2)) > 0., "Second vector connot be null" + # normalization + vec1_norm: npt.NDArray[np.float64] = vec1 / np.linalg.norm(vec1) + vec2_norm: npt.NDArray[np.float64] = vec2 / np.linalg.norm(vec2) + dot: float = np.dot(vec1, vec2) + det: float = np.linalg.det((vec1_norm, vec2_norm)) + # truncation due to numerical approximations + if dot > 1.: + dot = 1. + if dot < -1.: + dot = -1. + teta: float = np.arccos(dot) + if det < 0: + teta = 2.0 * np.pi - teta + return teta + +def computeNormalFromPoints(pt1: npt.NDArray[np.float64], + pt2: npt.NDArray[np.float64], + pt3: npt.NDArray[np.float64] + ) -> npt.NDArray[np.float64]: + """Compute the normal of a plane defined from 3 points. + + Args: + pt1 (npt.NDArray[np.float64]): first point + pt2 (npt.NDArray[np.float64]): second point + pt3 (npt.NDArray[np.float64]): third point + + Returns: + npt.NDArray[np.float64]: normal vector coordinates + """ + # compute vectors + vec1: npt.NDArray[np.float64] = pt1 - pt2 + vec2: npt.NDArray[np.float64] = pt3 - pt2 + return computeNormalFromVectors(vec1, vec2) + +def computeNormalFromVectors(vec1: npt.NDArray[np.float64], + vec2: npt.NDArray[np.float64], + ) -> npt.NDArray[np.float64]: + """Compute the normal of a plane defined from 2 vectors. + + Args: + vec1 (npt.NDArray[np.float64]): first vector + vec2 (npt.NDArray[np.float64]): second vector + + Returns: + npt.NDArray[np.float64]: normal vector coordinates + """ + assert abs(np.linalg.norm(vec1)) > 0., "first and second points must be different" + assert abs(np.linalg.norm(vec2)) > 0., "Second and third points must be different" + # normalization + vec1_norm = vec1 / np.linalg.norm(vec1) + vec2_norm = vec2 / np.linalg.norm(vec2) + return np.cross(vec1_norm, vec2_norm) diff --git a/geos-utils/tests/testsGeometryFunctions.py b/geos-utils/tests/testsGeometryFunctions.py index 674123d9..7db7e69f 100644 --- a/geos-utils/tests/testsGeometryFunctions.py +++ b/geos-utils/tests/testsGeometryFunctions.py @@ -2,12 +2,13 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay # ruff: noqa: E402 # disable Module level import not at top of file -import unittest - -import geos.utils.geometryFunctions as fcts +import pytest import numpy as np import numpy.typing as npt -from typing_extensions import Self +from typing import Iterator +from dataclasses import dataclass +from itertools import combinations +import geos.utils.geometryFunctions as fcts basisCanon: tuple[ npt.NDArray[ np.float64 ], npt.NDArray[ np.float64 ], npt.NDArray[ np.float64 ] ] = ( np.array( [ 1.0, 0.0, 0.0 ] ), np.array( [ 0.0, 1.0, 0.0 ] ), @@ -23,113 +24,185 @@ npt.NDArray[ np.float64 ] ] = ( np.array( [ 0.0, 2.0, 0.0 ] ), np.array( [ -2.0, 0.0, 0.0 ] ), np.array( [ 0.0, 0.0, 2.0 ] ) ) +def test_getChangeOfBasisMatrixToCanonic() -> None: + """Test change of basis matrix using canonic basis.""" + obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisCanon ) + # matrix where the columns are the vectors + expected: npt.NDArray[ np.float64 ] = np.transpose( np.array( basisTo0 ) ) + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + +def test_getChangeOfBasisMatrix() -> None: + """Test change of basis matrix format from basis vectors.""" + obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) + expected: npt.NDArray[ np.float64 ] = np.array( [ [ 2.5, 4.5, -0.5 ], [ 0.5, 0.5, 0.5 ], [ -0.5, -0.5, 0.5 ] ] ) + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + +def test_computeCoordinatesInNewBasisIdentity() -> None: + """Test calculation of coordinates of a vector in the same basis.""" + vec: npt.NDArray[ np.float64 ] = np.array( [ 2.0, 3.0, 4.0 ] ) + + # get change of basis matrix + changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisCanon, basisCanon ) + obtained: npt.NDArray[ np.float64 ] = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) + expected: npt.NDArray[ np.float64 ] = vec + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + +def test_computeCoordinatesInNewBasis() -> None: + """Test calculation of coordinates of a vector in another basis.""" + vec: npt.NDArray[ np.float64 ] = np.array( [ 2.0, 3.0, 4.0 ] ) + + # get change of basis matrix and the inverse + changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) + obtained = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) + expected: npt.NDArray[ np.float64 ] = np.array( [ 16.5, 4.5, -0.5 ] ) + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + +def test_computePlaneFrom3Points() -> None: + """Test calculation of plane coefficients from 3 points.""" + pt1: npt.NDArray[ np.float64 ] = np.array( [ 1.0, 2.0, 1.0 ] ) + pt2: npt.NDArray[ np.float64 ] = np.array( [ 1.0, 1.0, 2.0 ] ) + pt3: npt.NDArray[ np.float64 ] = np.array( [ 3.0, 2.0, 2.0 ] ) + obtained: tuple[ float, float, float, float ] = fcts.computePlaneFrom3Points( pt1, pt2, pt3 ) + expected: tuple[ float, float, float, float ] = ( -1.0, 2.0, 2.0, -5.0 ) + assert obtained == expected, f"Expected tuple is {expected}" + +def test_getPointSideAgainstPlaneAssertion() -> None: + """Test get point side against a plane.""" + planePt: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 0.0 ] ) + + # assertion error - Point on the plane + planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 1.0 ] ) + with pytest.raises(AssertionError): + fcts.getPointSideAgainstPlane( planePt, planePt, planeNormal ) + + +listPtsCoords_all = ( + [ np.array( [ 0.5, 0.5, 0.5 ] ), np.array( [ 0.5, 0.5, -0.5 ] ), ], + [ np.array( [ 0.5, 0.5, 0.5 ] ), np.array( [ -0.5, 0.5, 0.5 ] ), ], +) +planePt_all = ( + np.array( [ 0.0, 0.0, 0.0 ] ), + np.array( [ 0.0, 0.0, 0.0 ] ), +) +planeNormal_all = ( + np.array( [ 0.0, 0.0, 1.0 ] ), + np.array( [ 1.0, 0.0, 0.0 ] ), +) +expected_all = ( + ( True, False ), + ( True, False ), +) +@dataclass( frozen=True ) +class TestCasePointSideAgainstPlane: + """Test case.""" + __test__ = False + #: list of points + listPtsCoords: list[: npt.NDArray[ np.float64 ]] + #: plane point + planePt: npt.NDArray[ np.float64 ] + #: plane normal + planeNormal: npt.NDArray[ np.float64 ] + #: expected result + expected: list[bool, bool] + +def __generate_PointSideAgainstPlane_test_data() -> Iterator[ TestCasePointSideAgainstPlane ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for listPtsCoords, planePt, planeNormal, expected in zip(listPtsCoords_all, planePt_all, planeNormal_all, expected_all, strict=True): + yield TestCasePointSideAgainstPlane( listPtsCoords, planePt, planeNormal, list( expected )) + +ids: list[str] = ("Horizontal plane", "Vertical plane") +@pytest.mark.parametrize( "test_case", __generate_PointSideAgainstPlane_test_data(), ids=ids ) +def test_getPointSideAgainstPlane( test_case: TestCasePointSideAgainstPlane ) -> None: + """Test get point side against a plane.""" + obtained: list[ bool ] = [] + for ptCoords in test_case.listPtsCoords: + side: bool = fcts.getPointSideAgainstPlane( ptCoords, test_case.planePt, test_case.planeNormal ) + obtained += [ side ] + assert obtained == test_case.expected, f"Expected tuple is {test_case.expected}" + +def test_getCellSideAgainstPlaneRandom() -> None: + """Test get cell side against a plane.""" + # random plane + planePt: npt.NDArray[ np.float64 ] = np.array( [ 125.58337, 1386.0465, -2782.502 ] ) + listCellPtsCoords: list[npt.NDArray[ np.float64 ]] = [ + np.array( [ + [ 135.49551, 1374.7644, -2786.884 ], + [ 125.58337, 1376.7441, -2782.502 ], + [ 132.19525, 1382.2516, -2771.0508 ], + [ 125.58337, 1386.0465, -2782.502 ], + ] ), + np.array( [ + [ 111.9148, 1377.0265, -2764.875 ], + [ 132.19525, 1382.2516, -2771.0508 ], + [ 125.58337, 1376.7441, -2782.502 ], + [ 125.58337, 1386.0465, -2782.502 ], + ] ), + ] + planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.8660075, 0.0, -0.5000311 ] ) + obtained: list[bool] = [] + for cellPtsCoords in listCellPtsCoords: + side: bool = fcts.getCellSideAgainstPlane( cellPtsCoords, planePt, planeNormal ) + obtained += [ side ] + expected: list[bool] = [ True, False ] + assert obtained == expected, f"Expected tuple is {expected}" + +pts_all: tuple[npt.NDArray[np.float64],...] = ( + np.array([0.0, 0.0, 0.0]), + np.array([1.0, 0.0, 0.0]), + np.array([0.5, 0.5, 0.0]), + np.array([-0.5, 0.5, 0.0]), + np.array([-0.5, -0.5, 0.0]), + np.array([0.5, -0.5, -1.0]), +) +angleExp_all: tuple[float,...] = (0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,) + +@dataclass( frozen=True ) +class TestCaseAngle: + """Test case.""" + __test__ = False + pt1: npt.NDArray[np.float64] + pt2: npt.NDArray[np.float64] + pt3: npt.NDArray[np.float64] + angleExp: float + +def __generate_Angle_test_data() -> Iterator[ TestCaseAngle ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + print(len(list(combinations(pts_all, 3)))) + for pts, angle in zip(list(combinations(pts_all, 3)), angleExp_all, strict=True): + yield TestCaseAngle( pts[0], pts[1], pts[2], angle) + +@pytest.mark.parametrize( "test_case", __generate_Angle_test_data() ) +def test_computeAngleFromPoints(test_case: TestCaseAngle) -> None: + """Test computeAngleFromPoints method.""" + print(test_case.__str__(), test_case.pt1, test_case.pt2, test_case.pt3) + obs: float = fcts.computeAngleFromPoints(test_case.pt1, test_case.pt2, test_case.pt3) + print(f"{test_case.__str__}: {obs}") + assert obs == test_case.angleExp + +# @pytest.mark.parametrize( "test_case", __generate_Angle_test_data() ) +# def test_computeAngleFromVectors(test_case: TestCaseAngle) -> None: +# """Test computeAngleFromVectors method.""" +# vec1: npt.NDArray[np.float64] = test_case.pt1 - test_case.pt2 +# vec2: npt.NDArray[np.float64] = test_case.pt3 - test_case.pt2 +# obs: float = fcts.computeAngleFromVectors(vec1, vec2) +# print(f"{test_case.__str__}: {obs}") +# assert obs == test_case.angleExp + +def test_computeNormalFromPoints() -> None: + """Test computeNormalFromPoints method.""" + pass + +def test_computeNormalFromVectors() ->None: + """Test computeNormalFromVectors method.""" + pass + + -class TestsGeometryFunctions( unittest.TestCase ): - - def test_getChangeOfBasisMatrixToCanonic( self: Self ) -> None: - """Test change of basis matrix using canonic basis.""" - obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisCanon ) - # matrix where the columns are the vectors - expected: npt.NDArray[ np.float64 ] = np.transpose( np.array( basisTo0 ) ) - self.assertTrue( np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ) ) - - def test_getChangeOfBasisMatrix( self: Self ) -> None: - """Test change of basis matrix format from basis vectors.""" - obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) - expected: npt.NDArray[ np.float64 ] = np.array( [ [ 2.5, 4.5, -0.5 ], [ 0.5, 0.5, 0.5 ], [ -0.5, -0.5, 0.5 ] ] ) - self.assertTrue( np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ) ) - - def test_computeCoordinatesInNewBasisIdentity( self: Self ) -> None: - """Test calculation of coordinates of a vector in the same basis.""" - vec: npt.NDArray[ np.float64 ] = np.array( [ 2.0, 3.0, 4.0 ] ) - - # get change of basis matrix - changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisCanon, basisCanon ) - obtained: npt.NDArray[ np.float64 ] = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) - expected: npt.NDArray[ np.float64 ] = vec - self.assertTrue( np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ) ) - - def test_computeCoordinatesInNewBasis( self: Self ) -> None: - """Test calculation of coordinates of a vector in another basis.""" - vec: npt.NDArray[ np.float64 ] = np.array( [ 2.0, 3.0, 4.0 ] ) - - # get change of basis matrix and the inverse - changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) - obtained = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) - expected: npt.NDArray[ np.float64 ] = np.array( [ 16.5, 4.5, -0.5 ] ) - self.assertTrue( np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ) ) - - def test_computePlaneFrom3Points( self: Self ) -> None: - """Test calculation of plane coefficients from 3 points.""" - pt1: npt.NDArray[ np.float64 ] = np.array( [ 1.0, 2.0, 1.0 ] ) - pt2: npt.NDArray[ np.float64 ] = np.array( [ 1.0, 1.0, 2.0 ] ) - pt3: npt.NDArray[ np.float64 ] = np.array( [ 3.0, 2.0, 2.0 ] ) - obtained: tuple[ float, float, float, float ] = fcts.computePlaneFrom3Points( pt1, pt2, pt3 ) - expected: tuple[ float, float, float, float ] = ( -1.0, 2.0, 2.0, -5.0 ) - self.assertSequenceEqual( obtained, expected ) - - def test_getPointSideAgainstPlaneAssertion( self: Self ) -> None: - """Test get point side against a plane.""" - planePt: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 0.0 ] ) - - # assertion error - Point on the plane - planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 1.0 ] ) - self.assertRaises( AssertionError, fcts.getPointSideAgainstPlane, planePt, planePt, planeNormal ) - - def test_getPointSideAgainstPlaneHorizontal( self: Self ) -> None: - """Test get point side against a horizontal plane.""" - # horizontal plane - planePt: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 0.0 ] ) - listPtsCoords: list[ npt.NDArray[ np.float64 ] ] = [ - np.array( [ 0.5, 0.5, 0.5 ] ), - np.array( [ 0.5, 0.5, -0.5 ] ), - ] - planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 1.0 ] ) - obtained: list[ bool ] = [] - for ptCoords in listPtsCoords: - side: bool = fcts.getPointSideAgainstPlane( ptCoords, planePt, planeNormal ) - obtained += [ side ] - expected: tuple[ bool, bool ] = ( True, False ) - self.assertSequenceEqual( obtained, expected ) - - def test_getPointSideAgainstPlaneVertical( self: Self ) -> None: - """Test get point side against a vertical plane.""" - # vertical plane - planePt: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 0.0 ] ) - listPtsCoords: list[ npt.NDArray[ np.float64 ] ] = [ - np.array( [ 0.5, 0.5, 0.5 ] ), - np.array( [ -0.5, 0.5, 0.5 ] ), - ] - planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 1.0, 0.0, 0.0 ] ) - obtained: list[ bool ] = [] - for ptCoords in listPtsCoords: - side: bool = fcts.getPointSideAgainstPlane( ptCoords, planePt, planeNormal ) - obtained += [ side ] - expected: tuple[ bool, bool ] = ( True, False ) - self.assertSequenceEqual( obtained, expected ) - - def test_getCellSideAgainstPlaneRandom( self: Self ) -> None: - """Test get cell side against a plane.""" - # random plane - planePt = np.array( [ 125.58337, 1386.0465, -2782.502 ] ) - listCellPtsCoords = [ - np.array( [ - [ 135.49551, 1374.7644, -2786.884 ], - [ 125.58337, 1376.7441, -2782.502 ], - [ 132.19525, 1382.2516, -2771.0508 ], - [ 125.58337, 1386.0465, -2782.502 ], - ] ), - np.array( [ - [ 111.9148, 1377.0265, -2764.875 ], - [ 132.19525, 1382.2516, -2771.0508 ], - [ 125.58337, 1376.7441, -2782.502 ], - [ 125.58337, 1386.0465, -2782.502 ], - ] ), - ] - planeNormal = np.array( [ 0.8660075, 0.0, -0.5000311 ] ) - obtained = [] - for cellPtsCoords in listCellPtsCoords: - side: bool = fcts.getCellSideAgainstPlane( cellPtsCoords, planePt, planeNormal ) - obtained += [ side ] - expected = ( True, False ) - self.assertSequenceEqual( obtained, expected ) From 1c21a71f7508d3ebdc32d20b5ee0edc8dfd484fe Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 30 Apr 2025 17:50:36 +0200 Subject: [PATCH 34/71] Remove comments - linting - typo --- geos-mesh/src/geos/mesh/vtk/helpers.py | 10 +++++----- geos-mesh/tests/test_CellTypeCounts.py | 7 ------- geos-mesh/tests/test_SplitMesh.py | 1 - geos-mesh/tests/test_collocated_nodes.py | 3 +-- geos-mesh/tests/test_supported_elements.py | 9 +++------ 5 files changed, 9 insertions(+), 21 deletions(-) diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index 433462f1..6f3cf7eb 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -121,7 +121,7 @@ def createMultiCellMesh( cellTypes: list[ int ], Args: cellTypes (list[int]): cell type cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates - sharePoints (bool): if True, cells share points, else a new point is created fro each cell vertex + sharePoints (bool): if True, cells share points, else a new point is created for each cell vertex Returns: vtkUnstructuredGrid: output mesh @@ -164,18 +164,18 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], # use point locator to check for colocated points pointsLocator = vtkIncrementalOctreePointLocator() pointsLocator.InitPointInsertion( points, bounds ) - cellVertexMapAll: list[ tuple[ reference, ...] ] = [] + cellVertexMapAll: list[ tuple[ int, ...] ] = [] ptId: reference = reference( 0 ) ptsCoords: npt.NDArray[ np.float64 ] for ptsCoords in cellPtsCoord: - cellVertexMap: list[ reference ] = [] + cellVertexMap: list[ int ] = [] pt: npt.NDArray[ np.float64 ] # 1DArray for pt in ptsCoords: if shared: pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] else: pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] - cellVertexMap += [ ptId.get() ] + cellVertexMap += [ ptId.get() ] # type: ignore cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll @@ -353,7 +353,7 @@ def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.float64 ] ) - data (vtkFieldData): field data arr (npt.NDArray[np.int64]): array to sort """ - globalids: npt.NDArray[ np.int64 ] = getNumpyGlobalIdsArray( data ) + globalids: npt.NDArray[ np.int64 ] | None = getNumpyGlobalIdsArray( data ) if globalids is not None: arr = arr[ np.argsort( globalids ) ] else: diff --git a/geos-mesh/tests/test_CellTypeCounts.py b/geos-mesh/tests/test_CellTypeCounts.py index 39637ef0..32d3c7ea 100644 --- a/geos-mesh/tests/test_CellTypeCounts.py +++ b/geos-mesh/tests/test_CellTypeCounts.py @@ -199,7 +199,6 @@ def test_CellTypeCounts_add( test_case: TestCase ) -> None: 2 * test_case.nbHexa ), f"Number of hexahedra must be {int(2 * test_case.nbHexa)}" -#cpt = 0 @pytest.mark.parametrize( "test_case", __generate_test_data() ) def test_CellTypeCounts_print( test_case: TestCase ) -> None: """Test of CellTypeCounts . @@ -218,10 +217,4 @@ def test_CellTypeCounts_print( test_case: TestCase ) -> None: line: str = counts.print() lineExp: str = __get_expected_counts( test_case.nbVertex, test_case.nbTri, test_case.nbQuad, test_case.nbTetra, test_case.nbPyr, test_case.nbWed, test_case.nbHexa ) - # global cpt - # with open(f"meshIdcounts_{cpt}.txt", 'w') as fout: - # fout.write(line) - # fout.write("------------------------------------------------------------\n") - # fout.write(lineExp) - # cpt += 1 assert line == lineExp, "Output counts string differs from expected value." diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index bf7e0e81..08df73a9 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -22,7 +22,6 @@ vtkIdList, vtkDataArray, ) -#from vtkmodules.vtkFiltersSources import vtkCubeSource data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) diff --git a/geos-mesh/tests/test_collocated_nodes.py b/geos-mesh/tests/test_collocated_nodes.py index 2b74e30f..ecc36dbb 100644 --- a/geos-mesh/tests/test_collocated_nodes.py +++ b/geos-mesh/tests/test_collocated_nodes.py @@ -6,8 +6,7 @@ def get_points() -> Iterator[ Tuple[ vtkPoints, int ] ]: - """ - Generates the data for the cases. + """Generates the data for the cases. One case has two nodes at the exact same position. The other has two differente nodes :return: Generator to (vtk points, number of expected duplicated locations) diff --git a/geos-mesh/tests/test_supported_elements.py b/geos-mesh/tests/test_supported_elements.py index 6126b8ea..0dc0d3af 100644 --- a/geos-mesh/tests/test_supported_elements.py +++ b/geos-mesh/tests/test_supported_elements.py @@ -11,8 +11,7 @@ # TODO Update this test to have access to another meshTests file @pytest.mark.parametrize( "base_name", ( "supportedElements.vtk", "supportedElementsAsVTKPolyhedra.vtk" ) ) def test_supported_elements( base_name ) -> None: - """ - Testing that the supported elements are properly detected as supported! + """Testing that the supported elements are properly detected as supported! :param base_name: Supported elements are provided as standard elements or polyhedron elements. """ ... @@ -25,8 +24,7 @@ def test_supported_elements( base_name ) -> None: def make_dodecahedron() -> Tuple[ vtkPoints, vtkIdList ]: - """ - Returns the points and faces for a dodecahedron. + """Returns the points and faces for a dodecahedron. This code was adapted from an official vtk example. :return: The tuple of points and faces (as vtk instances). """ @@ -81,8 +79,7 @@ def make_dodecahedron() -> Tuple[ vtkPoints, vtkIdList ]: # TODO make this test work def test_dodecahedron() -> None: - """ - Tests whether a dodecahedron is support by GEOS or not. + """Tests whether a dodecahedron is support by GEOS or not. """ points, faces = make_dodecahedron() mesh = vtkUnstructuredGrid() From c10edba6daca62acd061af7754cf5b2e529bb103 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 5 May 2025 16:24:11 +0200 Subject: [PATCH 35/71] Typing & linting --- .mypy.ini | 14 ++--- geos-mesh/pyproject.toml | 21 ++++--- geos-mesh/tests/test_vtkUtils.py | 100 ++++++++++++++++++++----------- 3 files changed, 86 insertions(+), 49 deletions(-) diff --git a/.mypy.ini b/.mypy.ini index 98bbe47d..50a8effb 100644 --- a/.mypy.ini +++ b/.mypy.ini @@ -2,13 +2,13 @@ python_version = 3.10 # strict = true -warn_unreachable = true -implicit_reexport = true -show_error_codes = true -show_column_numbers = true -ignore_missing_imports = true -warn_unused_configs = true -allow_redefinition = false +warn_unreachable = True +implicit_reexport = True +show_error_codes = True +show_column_numbers = True +ignore_missing_imports = True +warn_unused_configs = True +allow_redefinition = False # ignore files in the tests directory [mypy-tests.*] diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index 3f73d6c5..1a184bf8 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ requires-python = ">=3.10" dependencies = [ - "vtk >= 9.3", + "vtk == 9.3", "networkx >= 2.4", "tqdm >= 4.67", "numpy >= 2.2", @@ -57,9 +57,16 @@ test = [ ] [tool.pytest.ini_options] -addopts = [ - "--import-mode=importlib", -] -pythonpath = [ - "src", -] +addopts="--import-mode=importlib" +console_output_style = "count" +pythonpath = ["src"] +python_classes = "Test" +python_files = "test*.py" +python_functions = "test*" +testpaths = ["tests"] +norecursedirs = "bin" +filterwarnings = [] + +[tool.coverage.run] +branch = true +source = ["src/geos"] \ No newline at end of file diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index a662ec4a..70eb67ac 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -3,7 +3,9 @@ # SPDX-FileContributor: Paloma Martinez # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file +# mypy: disable-error-code="operator, attr-defined" import pytest +from typing import Union, Tuple import numpy as np import numpy.typing as npt @@ -11,8 +13,9 @@ import vtkmodules.util.numpy_support as vnp import pandas as pd # type: ignore[import-untyped] from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray -from vtkmodules.vtkCommonDataModel import ( # type: ignore[import-untyped] - vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, vtkPolyData, vtkPointData, vtkCellData ) +from vtkmodules.vtkCommonDataModel import ( + vtkDataSet, vtkMultiBlockDataSet, vtkDataObject, vtkDataObjectTreeIterator, vtkPolyData, vtkPointData, vtkCellData, + vtkUnstructuredGrid ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, @@ -35,6 +38,7 @@ } ) ] ) def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: + """Test getting attribute list as dict from multiblock.""" multiBlockTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) attributes: dict[ str, int ] = vtkUtils.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) @@ -53,6 +57,7 @@ def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, o 'CellAttribute': 3 } ) ] ) def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: + """Test getting attribute list as dict from dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) attributes: dict[ str, int ] = vtkUtils.getAttributesFromDataSet( vtkDataSetTest, onpoints ) assert attributes == expected @@ -64,6 +69,7 @@ def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expe ] ) def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, expected: dict[ str, int ] ) -> None: + """Test presence of attribute in a multiblock.""" multiBlockDataset: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) obtained: bool = vtkUtils.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) assert obtained == expected @@ -75,6 +81,7 @@ def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet ] ) def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, expected: bool ) -> None: + """Test presence of attribute in a dataset.""" vtkDataset: vtkDataSet = dataSetTest( "dataset" ) obtained: bool = vtkUtils.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) assert obtained == expected @@ -88,6 +95,7 @@ def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str indirect=[ "arrayExpected" ] ) def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray, dataSetTest: vtkDataSet, onpoints: bool ) -> None: + """Test getting numpy array of an attribute from dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) params = request.node.callspec.params attributeName: str = params[ "arrayExpected" ] @@ -105,6 +113,7 @@ def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.ND indirect=[ "arrayExpected" ] ) def test_getVtkArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray[ np.float64 ], dataSetTest: vtkDataSet, onpoints: bool ) -> None: + """Test getting Vtk Array from a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) params = request.node.callspec.params attributeName: str = params[ 'arrayExpected' ] @@ -126,6 +135,7 @@ def test_getNumberOfComponentsDataSet( onpoints: bool, expected: int, ) -> None: + """Test getting the number of components of an attribute from a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) obtained: int = vtkUtils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected @@ -142,6 +152,7 @@ def test_getNumberOfComponentsMultiBlock( onpoints: bool, expected: int, ) -> None: + """Test getting the number of components of an attribute from a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) obtained: int = vtkUtils.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) @@ -154,6 +165,7 @@ def test_getNumberOfComponentsMultiBlock( ] ) def test_getComponentNamesDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, expected: tuple[ str, ...] ) -> None: + """Test getting the component names of an attribute from a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) obtained: tuple[ str, ...] = vtkUtils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected @@ -169,19 +181,20 @@ def test_getComponentNamesMultiBlock( onpoints: bool, expected: tuple[ str, ...], ) -> None: + """Test getting the component names of an attribute from a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) obtained: tuple[ str, ...] = vtkUtils.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) assert obtained == expected -#TODO : unify with testfillAll below ? @pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) def test_fillPartialAttributes( dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, ) -> None: + """Test filling a partial attribute from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) vtkUtils.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) @@ -191,10 +204,11 @@ def test_fillPartialAttributes( iter.GoToFirstItem() while iter.GetCurrentDataObject() is not None: dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + data: Union[ vtkPointData, vtkCellData ] if onpoints: - data: vtkPointData = dataset.GetPointData() + data = dataset.GetPointData() else: - data: vtkCellData = dataset.GetCellData() + data = dataset.GetCellData() assert data.HasArray( attributeName ) == 1 iter.GoToNextItem() @@ -209,6 +223,7 @@ def test_fillAllPartialAttributes( onpoints: bool, expectedArrays: tuple[ str, ...], ) -> None: + """Test filling all partial attributes from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) vtkUtils.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) @@ -218,10 +233,11 @@ def test_fillAllPartialAttributes( iter.GoToFirstItem() while iter.GetCurrentDataObject() is not None: dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + data: Union[ vtkPointData, vtkCellData ] if onpoints: - data: vtkPointData = dataset.GetPointData() + data = dataset.GetPointData() else: - data: vtkCellData = dataset.GetCellData() + data = dataset.GetCellData() for attribute in expectedArrays: assert data.HasArray( attribute ) == 1 @@ -236,7 +252,9 @@ def test_fillAllPartialAttributes( "CellAttribute2", ), ( "CellAttribute2", "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), ] ) -def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames, expected_columns ): +def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames: Tuple[ str, ...], + expected_columns: Tuple[ str, ...] ) -> None: + """Test getting an attribute from a polydata as a dataframe.""" polydataset: vtkPolyData = dataSetTest( "polydata" ) data: pd.DataFrame = vtkUtils.getAttributeValuesAsDF( polydataset, attributeNames ) @@ -257,6 +275,7 @@ def test_mergeBlocks( expected_cell_attributes: tuple[ str, ...], keepPartialAttributes: bool, ) -> None: + """Test the merging of a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) dataset: vtkUnstructuredGrid = vtkUtils.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) @@ -281,7 +300,8 @@ def test_createEmptyAttribute( dataType: int, expectedDatatypeArray: vtkDataArray, ) -> None: - componentNames: tuple[ str, str, str ] = ( "d1, d2, d3" ) + """Test empty attribute creation.""" + componentNames: tuple[ str, str, str ] = ( "d1", "d2", "d3" ) newAttr: vtkDataArray = vtkUtils.createEmptyAttribute( attributeName, componentNames, dataType ) assert newAttr.GetNumberOfComponents() == len( componentNames ) @@ -297,8 +317,9 @@ def test_createEmptyAttribute( def test_createConstantAttributeMultiBlock( dataSetTest: vtkMultiBlockDataSet, onpoints: bool, - elementSize: tuple[ int, ...], + elementSize: Tuple[ int, ...], ) -> None: + """Test creation of constant attribute in multiblock dataset.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) attributeName: str = "testAttributemultiblock" values: tuple[ float, float, float ] = ( 12.4, 10, 40.0 ) @@ -312,12 +333,13 @@ def test_createConstantAttributeMultiBlock( iter.GoToFirstItem() while iter.GetCurrentDataObject() is not None: dataset: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + data: Union[ vtkPointData, vtkCellData ] if onpoints: - data: vtkPointData = dataset.GetPointData() + data = dataset.GetPointData() else: - data: vtkCellData = dataset.GetCellData() + data = dataset.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize[ iter.GetCurrentFlatIndex() - 1 ], 3 ), fill_value=values ) ).all() @@ -336,19 +358,21 @@ def test_createConstantAttributeDataSet( elementSize: int, onpoints: bool, ) -> None: + """Test constant attribute creation in dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) + componentNames: Tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "newAttributedataset" vtkUtils.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) - if onpoints == True: - data: vtkPointData = vtkDataSetTest.GetPointData() + data: Union[ vtkPointData, vtkCellData ] + if onpoints: + data = vtkDataSetTest.GetPointData() else: - data: vtkCellData = vtkDataSetTest.GetCellData() + data = vtkDataSetTest.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize, 3 ), fill_value=values ) ).all() assert cnames == componentNames @@ -365,25 +389,28 @@ def test_createAttribute( arrayExpected: npt.NDArray[ np.float64 ], onpoints: bool, ) -> None: + """Test creation of dataset in dataset from given array.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "AttributeName" vtkUtils.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) + data: Union[ vtkPointData, vtkCellData ] if onpoints: - data: vtkPointData = vtkDataSetTest.GetPointData() + data = vtkDataSetTest.GetPointData() else: - data: vtkCellData = vtkDataSetTest.GetCellData() + data = vtkDataSetTest.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: tuple[ str, str, str ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == arrayExpected ).all() assert cnames == componentNames -def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet, ) -> None: +def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet ) -> None: + """Test copy of cell attribute from one multiblock to another.""" objectFrom: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) objectTo: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) @@ -393,8 +420,8 @@ def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet, ) -> None: vtkUtils.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) blockIndex: int = 0 - blockFrom: vtkDataSet = objectFrom.GetBlock( blockIndex ) - blockTo: vtkDataSet = objectTo.GetBlock( blockIndex ) + blockFrom: vtkDataObject = objectFrom.GetBlock( blockIndex ) + blockTo: vtkDataObject = objectTo.GetBlock( blockIndex ) arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockFrom.GetCellData().GetArray( attributeFrom ) ) arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockTo.GetCellData().GetArray( attributeTo ) ) @@ -403,6 +430,7 @@ def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet, ) -> None: def test_copyAttributeDataSet( dataSetTest: vtkDataSet, ) -> None: + """Test copy of cell attribute from one dataset to another.""" objectFrom: vtkDataSet = dataSetTest( "dataset" ) objectTo: vtkDataSet = dataSetTest( "dataset" ) @@ -426,6 +454,7 @@ def test_renameAttributeMultiblock( attributeName: str, onpoints: bool, ) -> None: + """Test renaming attribute in a multiblock dataset.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) newAttributeName: str = "new" + attributeName vtkUtils.renameAttribute( @@ -434,16 +463,17 @@ def test_renameAttributeMultiblock( newAttributeName, onpoints, ) - - block = vtkMultiBlockDataSetTest.GetBlock( 0 ) - - if onpoints == True: - assert block.GetPointData().HasArray( attributeName ) == 0 - assert block.GetPointData().HasArray( newAttributeName ) == 1 + block: vtkDataObject = vtkMultiBlockDataSetTest.GetBlock( 0 ) + data: Union[ vtkPointData, vtkCellData ] + if onpoints: + data = block.GetPointData() + assert data.HasArray( attributeName ) == 0 + assert data.HasArray( newAttributeName ) == 1 else: - assert block.GetCellData().HasArray( attributeName ) == 0 - assert block.GetCellData().HasArray( newAttributeName ) == 1 + data = block.GetCellData() + assert data.HasArray( attributeName ) == 0 + assert data.HasArray( newAttributeName ) == 1 @pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) @@ -452,17 +482,17 @@ def test_renameAttributeDataSet( attributeName: str, onpoints: bool, ) -> None: + """Test renaming an attribute in a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) newAttributeName: str = "new" + attributeName vtkUtils.renameAttribute( object=vtkDataSetTest, attributeName=attributeName, newAttributeName=newAttributeName, onPoints=onpoints ) - - if onpoints == True: + if onpoints: assert vtkDataSetTest.GetPointData().HasArray( attributeName ) == 0 assert vtkDataSetTest.GetPointData().HasArray( newAttributeName ) == 1 else: assert vtkDataSetTest.GetCellData().HasArray( attributeName ) == 0 - assert vtkDataSetTest.GetCellData().HasArray( newAttributeName ) == 1 + assert vtkDataSetTest.GetCellData().HasArray( newAttributeName ) == 1 \ No newline at end of file From d6b1ae14f79639d91d8e69353f7f48dcb415ea1b Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 5 May 2025 16:54:47 +0200 Subject: [PATCH 36/71] Linting --- geos-mesh/src/geos/mesh/vtkUtils.py | 1 + geos-mesh/tests/test_vtkUtils.py | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/vtkUtils.py index 08d179d3..1b37ffd9 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/vtkUtils.py @@ -508,6 +508,7 @@ def extractBlock( multiBlockDataSet: vtkMultiBlockDataSet, blockIndex: int ) -> extractedBlock: vtkMultiBlockDataSet = extractBlockfilter.GetOutput() return extractedBlock + # TODO : fix function for keepPartialAttributes = True def mergeBlocks( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkUtils.py index 70eb67ac..854d7756 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkUtils.py @@ -13,9 +13,8 @@ import vtkmodules.util.numpy_support as vnp import pandas as pd # type: ignore[import-untyped] from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray -from vtkmodules.vtkCommonDataModel import ( - vtkDataSet, vtkMultiBlockDataSet, vtkDataObject, vtkDataObjectTreeIterator, vtkPolyData, vtkPointData, vtkCellData, - vtkUnstructuredGrid ) +from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObject, vtkDataObjectTreeIterator, + vtkPolyData, vtkPointData, vtkCellData, vtkUnstructuredGrid ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, @@ -339,7 +338,7 @@ def test_createConstantAttributeMultiBlock( else: data = dataset.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ...] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize[ iter.GetCurrentFlatIndex() - 1 ], 3 ), fill_value=values ) ).all() @@ -372,7 +371,7 @@ def test_createConstantAttributeDataSet( data = vtkDataSetTest.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ...] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == np.full( ( elementSize, 3 ), fill_value=values ) ).all() assert cnames == componentNames @@ -403,7 +402,7 @@ def test_createAttribute( data = vtkDataSetTest.GetCellData() createdAttribute: vtkDoubleArray = data.GetArray( attributeName ) - cnames: Tuple[ str, ... ] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) + cnames: Tuple[ str, ...] = tuple( createdAttribute.GetComponentName( i ) for i in range( 3 ) ) assert ( vnp.vtk_to_numpy( createdAttribute ) == arrayExpected ).all() assert cnames == componentNames @@ -495,4 +494,4 @@ def test_renameAttributeDataSet( else: assert vtkDataSetTest.GetCellData().HasArray( attributeName ) == 0 - assert vtkDataSetTest.GetCellData().HasArray( newAttributeName ) == 1 \ No newline at end of file + assert vtkDataSetTest.GetCellData().HasArray( newAttributeName ) == 1 From bed516c9825b7382b5571e89430a340ee6aae003 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 5 May 2025 16:56:25 +0200 Subject: [PATCH 37/71] Fix import path --- geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py index b4294dae..06b2826a 100644 --- a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py +++ b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py @@ -13,7 +13,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) -import geos_posp.processing.vtkUtils as vtkUtils +import geos.mesh.vtkUtils as vtkUtils __doc__ = r""" This module contains utilities to process meshes using pyvista. From 2f7339efa6c00730a12b2e4394e91987cceb3977 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 12 May 2025 11:42:59 +0200 Subject: [PATCH 38/71] Refactoring --- .../mesh/doctor/checks/check_fractures.py | 2 +- .../mesh/doctor/checks/collocated_nodes.py | 2 +- .../mesh/doctor/checks/element_volumes.py | 2 +- .../doctor/checks/fix_elements_orderings.py | 4 +- .../geos/mesh/doctor/checks/generate_cube.py | 2 +- .../mesh/doctor/checks/generate_fractures.py | 4 +- .../mesh/doctor/checks/generate_global_ids.py | 2 +- .../geos/mesh/doctor/checks/non_conformal.py | 4 +- .../geos/mesh/doctor/checks/reorient_mesh.py | 2 +- .../checks/self_intersecting_elements.py | 2 +- .../mesh/doctor/checks/supported_elements.py | 4 +- .../geos/mesh/doctor/checks/vtk_polyhedron.py | 2 +- .../parsing/generate_fractures_parsing.py | 2 +- .../mesh/doctor/parsing/vtk_output_parsing.py | 2 +- geos-mesh/src/geos/mesh/io/__init__.py | 0 .../src/geos/mesh/{vtk/io.py => io/vtkIO.py} | 0 geos-mesh/src/geos/mesh/utils/__init__.py | 0 .../mesh/{vtkUtils.py => utils/filters.py} | 472 +------------- geos-mesh/src/geos/mesh/utils/helpers.py | 579 ++++++++++++++++++ .../multiblockInspectorTreeFunctions.py | 0 geos-mesh/src/geos/mesh/vtk/__init__.py | 1 - geos-mesh/src/geos/mesh/vtk/helpers.py | 124 ---- geos-mesh/tests/test_cli_parsing.py | 2 +- geos-mesh/tests/test_generate_fractures.py | 2 +- geos-mesh/tests/test_reorient_mesh.py | 2 +- geos-mesh/tests/test_supported_elements.py | 2 +- .../{test_vtkUtils.py => test_vtkFilters.py} | 228 +------ geos-mesh/tests/test_vtkHelpers.py | 199 ++++++ geos-posp/src/PVplugins/PVAttributeMapping.py | 6 +- .../PVCreateConstantAttributePerRegion.py | 4 +- .../PVplugins/PVExtractMergeBlocksVolume.py | 2 +- .../PVExtractMergeBlocksVolumeSurface.py | 2 +- .../PVExtractMergeBlocksVolumeSurfaceWell.py | 2 +- .../PVExtractMergeBlocksVolumeWell.py | 2 +- .../src/PVplugins/PVMergeBlocksEnhanced.py | 2 +- geos-posp/src/PVplugins/PVMohrCirclePlot.py | 3 +- .../src/PVplugins/PVSurfaceGeomechanics.py | 2 +- .../PVTransferAttributesVolumeSurface.py | 5 +- .../filters/AttributeMappingFromCellCoords.py | 5 +- .../filters/AttributeMappingFromCellId.py | 3 +- .../filters/GeomechanicsCalculator.py | 5 +- .../geos_posp/filters/GeosBlockExtractor.py | 4 +- .../src/geos_posp/filters/GeosBlockMerge.py | 6 +- .../geos_posp/filters/SurfaceGeomechanics.py | 4 +- .../TransferAttributesVolumeSurface.py | 2 +- .../geos_posp/pyvistaTools/pyvistaUtils.py | 11 +- .../visu/PVUtils/paraviewTreatments.py | 2 +- .../src/geos/pygeos_tools/mesh/VtkMesh.py | 4 +- 48 files changed, 880 insertions(+), 843 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/io/__init__.py rename geos-mesh/src/geos/mesh/{vtk/io.py => io/vtkIO.py} (100%) create mode 100644 geos-mesh/src/geos/mesh/utils/__init__.py rename geos-mesh/src/geos/mesh/{vtkUtils.py => utils/filters.py} (53%) create mode 100644 geos-mesh/src/geos/mesh/utils/helpers.py rename geos-mesh/src/geos/mesh/{ => utils}/multiblockInspectorTreeFunctions.py (100%) delete mode 100644 geos-mesh/src/geos/mesh/vtk/__init__.py delete mode 100644 geos-mesh/src/geos/mesh/vtk/helpers.py rename geos-mesh/tests/{test_vtkUtils.py => test_vtkFilters.py} (54%) create mode 100644 geos-mesh/tests/test_vtkHelpers.py diff --git a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py index a42ef418..4a23976a 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py @@ -8,7 +8,7 @@ from vtkmodules.vtkIOXML import vtkXMLMultiBlockDataReader from vtkmodules.util.numpy_support import vtk_to_numpy from geos.mesh.doctor.checks.generate_fractures import Coordinates3D -from geos.mesh.vtk.helpers import vtk_iter +from geos.mesh.utils.helpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py index 91632b3e..74cbbe8c 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py @@ -5,7 +5,7 @@ from typing import Collection, Iterable from vtkmodules.vtkCommonCore import reference, vtkPoints from vtkmodules.vtkCommonDataModel import vtkIncrementalOctreePointLocator -from geos.mesh.vtk.io import read_mesh +from geos.mesh.io.vtkIO import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py b/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py index 55ad3a22..3a37375f 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py @@ -5,7 +5,7 @@ from vtkmodules.vtkCommonDataModel import VTK_HEXAHEDRON, VTK_PYRAMID, VTK_TETRA, VTK_WEDGE from vtkmodules.vtkFiltersVerdict import vtkCellSizeFilter, vtkMeshQuality from vtkmodules.util.numpy_support import vtk_to_numpy -from geos.mesh.vtk.io import read_mesh +from geos.mesh.io.vtkIO import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py index 079377b9..ddb423dd 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py @@ -1,8 +1,8 @@ from dataclasses import dataclass from typing import Dict, FrozenSet, List, Set from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.vtk.helpers import to_vtk_id_list -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py index 4b4c71fb..5abd17f1 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py @@ -7,7 +7,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkCellArray, vtkHexahedron, vtkRectilinearGrid, vtkUnstructuredGrid, VTK_HEXAHEDRON ) from geos.mesh.doctor.checks.generate_global_ids import __build_global_ids -from geos.mesh.vtk.io import VtkOutput, write_mesh +from geos.mesh.io.vtkIO import VtkOutput, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py index bf6f961c..ae553dd6 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py @@ -13,8 +13,8 @@ from vtkmodules.util.numpy_support import numpy_to_vtk, vtk_to_numpy from vtkmodules.util.vtkConstants import VTK_ID_TYPE from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.vtk.helpers import has_invalid_field, to_vtk_id_list, vtk_iter -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import has_invalid_field, to_vtk_id_list, vtk_iter +from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh """ TypeAliases cannot be used with Python 3.9. A simple assignment like described there will be used: https://docs.python.org/3/library/typing.html#typing.TypeAlias:~:text=through%20simple%20assignment%3A-,Vector%20%3D%20list%5Bfloat%5D,-Or%20marked%20with diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py index 6142ad7c..2fdcfe27 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py @@ -1,7 +1,7 @@ from dataclasses import dataclass import logging from vtkmodules.vtkCommonCore import vtkIdTypeArray -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py index 5d99b433..eee5bcfb 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py @@ -14,8 +14,8 @@ from vtkmodules.vtkFiltersModeling import vtkCollisionDetectionFilter, vtkLinearExtrusionFilter from geos.mesh.doctor.checks import reorient_mesh from geos.mesh.doctor.checks import triangle_distance -from geos.mesh.vtk.helpers import vtk_iter -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.io.vtkIO import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py index 11134a40..476efa23 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py @@ -8,7 +8,7 @@ vtkUnstructuredGrid, vtkTetra ) from vtkmodules.vtkFiltersCore import vtkTriangleFilter from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream, build_face_to_face_connectivity_through_edges -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list def __compute_volume( mesh_points: vtkPoints, face_stream: FaceStream ) -> float: diff --git a/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py index 18370492..0cad78b4 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py @@ -3,7 +3,7 @@ from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkFiltersGeneral import vtkCellValidator from vtkmodules.vtkCommonCore import vtkOutputWindow, vtkFileOutputWindow -from geos.mesh.vtk.io import read_mesh +from geos.mesh.io.vtkIO import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py index affad387..f0eb5a6b 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py @@ -11,8 +11,8 @@ VTK_PENTAGONAL_PRISM, VTK_POLYHEDRON, VTK_PYRAMID, VTK_TETRA, VTK_VOXEL, VTK_WEDGE ) from geos.mesh.doctor.checks.vtk_polyhedron import build_face_to_face_connectivity_through_edges, FaceStream -from geos.mesh.vtk.helpers import vtk_iter -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.io.vtkIO import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py index 1cf1929d..d64d142b 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py @@ -3,7 +3,7 @@ import networkx from typing import Collection, Dict, FrozenSet, Iterable, List, Sequence, Tuple from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.vtk.helpers import vtk_iter +from geos.mesh.utils.helpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py index 949b47a4..18206a4e 100644 --- a/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py +++ b/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py @@ -1,7 +1,7 @@ import os from geos.mesh.doctor.checks.generate_fractures import Options, Result, FracturePolicy from geos.mesh.doctor.parsing import vtk_output_parsing, GENERATE_FRACTURES -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.io.vtkIO import VtkOutput __POLICY = "policy" __FIELD_POLICY = "field" diff --git a/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py index 47b6eb31..d98d8bcf 100644 --- a/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py +++ b/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py @@ -1,7 +1,7 @@ import os.path import logging import textwrap -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.io.vtkIO import VtkOutput __OUTPUT_FILE = "output" __OUTPUT_BINARY_MODE = "data-mode" diff --git a/geos-mesh/src/geos/mesh/io/__init__.py b/geos-mesh/src/geos/mesh/io/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/geos-mesh/src/geos/mesh/vtk/io.py b/geos-mesh/src/geos/mesh/io/vtkIO.py similarity index 100% rename from geos-mesh/src/geos/mesh/vtk/io.py rename to geos-mesh/src/geos/mesh/io/vtkIO.py diff --git a/geos-mesh/src/geos/mesh/utils/__init__.py b/geos-mesh/src/geos/mesh/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/geos-mesh/src/geos/mesh/vtkUtils.py b/geos-mesh/src/geos/mesh/utils/filters.py similarity index 53% rename from geos-mesh/src/geos/mesh/vtkUtils.py rename to geos-mesh/src/geos/mesh/utils/filters.py index 1b37ffd9..793b62f8 100644 --- a/geos-mesh/src/geos/mesh/vtkUtils.py +++ b/geos-mesh/src/geos/mesh/utils/filters.py @@ -1,15 +1,12 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay -from typing import Union, cast +# SPDX-FileContributor: Martin Lemay, Paloma Martinez +from typing import Union import numpy as np import numpy.typing as npt -import pandas as pd # type: ignore[import-untyped] import vtkmodules.util.numpy_support as vnp -from vtk import ( # type: ignore[import-untyped] - VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, -) + from vtkmodules.vtkCommonCore import ( vtkCharArray, vtkDataArray, @@ -20,14 +17,12 @@ vtkUnsignedIntArray, ) from vtkmodules.vtkCommonDataModel import ( - vtkCellData, vtkCompositeDataSet, vtkDataObject, vtkDataObjectTreeIterator, vtkDataSet, vtkMultiBlockDataSet, vtkPlane, - vtkPointData, vtkPointSet, vtkPolyData, vtkUnstructuredGrid, @@ -40,367 +35,23 @@ vtkPointDataToCellData, ) from vtkmodules.vtkFiltersExtraction import vtkExtractBlock - -from geos.mesh.multiblockInspectorTreeFunctions import ( +from vtk import ( # type: ignore[import-untyped] + VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, +) +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -__doc__ = """ Utilities to process vtk objects. """ - - -def getAttributeSet( object: Union[ vtkMultiBlockDataSet, vtkDataSet ], onPoints: bool ) -> set[ str ]: - """Get the set of all attributes from an object on points or on cells. - - Args: - object (Any): object where to find the attributes. - onPoints (bool): True if attributes are on points, False if they are on - cells. - - Returns: - set[str]: set of attribute names present in input object. - """ - attributes: dict[ str, int ] - if isinstance( object, vtkMultiBlockDataSet ): - attributes = getAttributesFromMultiBlockDataSet( object, onPoints ) - elif isinstance( object, vtkDataSet ): - attributes = getAttributesFromDataSet( object, onPoints ) - else: - raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) - - assert attributes is not None, "Attribute list is undefined." - - return set( attributes.keys() ) if attributes is not None else set() - - -def getAttributesWithNumberOfComponents( - object: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet, vtkDataObject ], - onPoints: bool, -) -> dict[ str, int ]: - """Get the dictionnary of all attributes from object on points or cells. - - Args: - object (Any): object where to find the attributes. - onPoints (bool): True if attributes are on points, False if they are on - cells. - - Returns: - dict[str, int]: dictionnary where keys are the names of the attributes - and values the number of components. - - """ - attributes: dict[ str, int ] - if isinstance( object, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): - attributes = getAttributesFromMultiBlockDataSet( object, onPoints ) - elif isinstance( object, vtkDataSet ): - attributes = getAttributesFromDataSet( object, onPoints ) - else: - raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) - return attributes - - -def getAttributesFromMultiBlockDataSet( object: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], - onPoints: bool ) -> dict[ str, int ]: - """Get the dictionnary of all attributes of object on points or on cells. - - Args: - object (vtkMultiBlockDataSet | vtkCompositeDataSet): object where to find - the attributes. - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - dict[str, int]: Dictionnary of the names of the attributes as keys, and - number of components as values. - - """ - attributes: dict[ str, int ] = {} - # initialize data object tree iterator - iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() - iter.SetDataSet( object ) - iter.VisitOnlyLeavesOn() - iter.GoToFirstItem() - while iter.GetCurrentDataObject() is not None: - dataSet: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) - blockAttributes: dict[ str, int ] = getAttributesFromDataSet( dataSet, onPoints ) - for attributeName, nbComponents in blockAttributes.items(): - if attributeName not in attributes: - attributes[ attributeName ] = nbComponents - - iter.GoToNextItem() - return attributes - - -def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: - """Get the dictionnary of all attributes of a vtkDataSet on points or cells. - - Args: - object (vtkDataSet): object where to find the attributes. - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - dict[str, int]: List of the names of the attributes. - """ - attributes: dict[ str, int ] = {} - data: Union[ vtkPointData, vtkCellData ] - sup: str = "" - if onPoints: - data = object.GetPointData() - sup = "Point" - else: - data = object.GetCellData() - sup = "Cell" - assert data is not None, f"{sup} data was not recovered." - - nbAttributes = data.GetNumberOfArrays() - for i in range( nbAttributes ): - attributeName = data.GetArrayName( i ) - attribute = data.GetArray( attributeName ) - assert attribute is not None, f"Attribut {attributeName} is null" - nbComponents = attribute.GetNumberOfComponents() - attributes[ attributeName ] = nbComponents - return attributes - - -def isAttributeInObject( object: Union[ vtkMultiBlockDataSet, vtkDataSet ], attributeName: str, - onPoints: bool ) -> bool: - """Check if an attribute is in the input object. - - Args: - object (vtkMultiBlockDataSet | vtkDataSet): input object - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - bool: True if the attribute is in the table, False otherwise - """ - if isinstance( object, vtkMultiBlockDataSet ): - return isAttributeInObjectMultiBlockDataSet( object, attributeName, onPoints ) - elif isinstance( object, vtkDataSet ): - return isAttributeInObjectDataSet( object, attributeName, onPoints ) - else: - raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) - - -def isAttributeInObjectMultiBlockDataSet( object: vtkMultiBlockDataSet, attributeName: str, onPoints: bool ) -> bool: - """Check if an attribute is in the input object. - - Args: - object (vtkMultiBlockDataSet): input multiblock object - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - bool: True if the attribute is in the table, False otherwise - """ - iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() - iter.SetDataSet( object ) - iter.VisitOnlyLeavesOn() - iter.GoToFirstItem() - while iter.GetCurrentDataObject() is not None: - dataSet: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) - if isAttributeInObjectDataSet( dataSet, attributeName, onPoints ): - return True - iter.GoToNextItem() - return False - - -def isAttributeInObjectDataSet( object: vtkDataSet, attributeName: str, onPoints: bool ) -> bool: - """Check if an attribute is in the input object. - - Args: - object (vtkDataSet): input object - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - bool: True if the attribute is in the table, False otherwise - """ - data: Union[ vtkPointData, vtkCellData ] - sup: str = "" - if onPoints: - data = object.GetPointData() - sup = "Point" - else: - data = object.GetCellData() - sup = "Cell" - assert data is not None, f"{sup} data was not recovered." - return bool( data.HasArray( attributeName ) ) - - -def getArrayInObject( object: vtkDataSet, attributeName: str, onPoints: bool ) -> npt.NDArray[ np.float64 ]: - """Return the numpy array corresponding to input attribute name in table. - - Args: - object (PointSet or UnstructuredGrid): input object - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - ArrayLike[float]: the array corresponding to input attribute name. - """ - array: vtkDoubleArray = getVtkArrayInObject( object, attributeName, onPoints ) - nparray: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( array ) # type: ignore[no-untyped-call] - return nparray - - -def getVtkArrayInObject( object: vtkDataSet, attributeName: str, onPoints: bool ) -> vtkDoubleArray: - """Return the array corresponding to input attribute name in table. - - Args: - object (PointSet or UnstructuredGrid): input object - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - vtkDoubleArray: the vtk array corresponding to input attribute name. - """ - assert isAttributeInObject( object, attributeName, onPoints ), f"{attributeName} is not in input object." - return object.GetPointData().GetArray( attributeName ) if onPoints else object.GetCellData().GetArray( - attributeName ) - - -def getNumberOfComponents( - dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet ], - attributeName: str, - onPoints: bool, -) -> int: - """Get the number of components of attribute attributeName in dataSet. - - Args: - dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet | vtkDataSet): - dataSet where the attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - int: number of components. - """ - if isinstance( dataSet, vtkDataSet ): - return getNumberOfComponentsDataSet( dataSet, attributeName, onPoints ) - elif isinstance( dataSet, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): - return getNumberOfComponentsMultiBlock( dataSet, attributeName, onPoints ) - else: - raise AssertionError( "Object type is not managed." ) - - -def getNumberOfComponentsDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: bool ) -> int: - """Get the number of components of attribute attributeName in dataSet. - - Args: - dataSet (vtkDataSet): dataSet where the attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - int: number of components. - """ - array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) - return array.GetNumberOfComponents() - - -def getNumberOfComponentsMultiBlock( - dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], - attributeName: str, - onPoints: bool, -) -> int: - """Get the number of components of attribute attributeName in dataSet. - - Args: - dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet): multi block data Set where the attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - int: number of components. - """ - elementraryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) - for blockIndex in elementraryBlockIndexes: - block: vtkDataSet = cast( vtkDataSet, getBlockFromFlatIndex( dataSet, blockIndex ) ) - if isAttributeInObject( block, attributeName, onPoints ): - array: vtkDoubleArray = getVtkArrayInObject( block, attributeName, onPoints ) - return array.GetNumberOfComponents() - return 0 - - -def getComponentNames( - dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet, vtkDataObject ], - attributeName: str, - onPoints: bool, -) -> tuple[ str, ...]: - """Get the name of the components of attribute attributeName in dataSet. - - Args: - dataSet (vtkDataSet | vtkMultiBlockDataSet | vtkCompositeDataSet | vtkDataObject): dataSet - where the attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - tuple[str,...]: names of the components. - - """ - if isinstance( dataSet, vtkDataSet ): - return getComponentNamesDataSet( dataSet, attributeName, onPoints ) - elif isinstance( dataSet, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): - return getComponentNamesMultiBlock( dataSet, attributeName, onPoints ) - else: - raise AssertionError( "Object type is not managed." ) - - -def getComponentNamesDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: bool ) -> tuple[ str, ...]: - """Get the name of the components of attribute attributeName in dataSet. - - Args: - dataSet (vtkDataSet): dataSet where the attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - tuple[str,...]: names of the components. - - """ - array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) - componentNames: list[ str ] = [] - if array.GetNumberOfComponents() > 1: - componentNames += [ array.GetComponentName( i ) for i in range( array.GetNumberOfComponents() ) ] - return tuple( componentNames ) - - -def getComponentNamesMultiBlock( - dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], - attributeName: str, - onPoints: bool, -) -> tuple[ str, ...]: - """Get the name of the components of attribute in MultiBlockDataSet. - - Args: - dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet): dataSet where the - attribute is. - attributeName (str): name of the attribute - onPoints (bool): True if attributes are on points, False if they are - on cells. +from geos.mesh.utils.helpers import ( + getComponentNames, + getAttributesWithNumberOfComponents, + getAttributeSet, + getArrayInObject, + isAttributeInObject, +) - Returns: - tuple[str,...]: names of the components. - """ - elementaryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) - for blockIndex in elementaryBlockIndexes: - block: vtkDataSet = cast( vtkDataSet, getBlockFromFlatIndex( dataSet, blockIndex ) ) - if isAttributeInObject( block, attributeName, onPoints ): - return getComponentNamesDataSet( block, attributeName, onPoints ) - return () +__doc__ = """ Utilities to process vtk objects. """ def fillPartialAttributes( @@ -457,39 +108,6 @@ def fillAllPartialAttributes( return True -def getAttributeValuesAsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFrame: - """Get attribute values from input surface. - - Args: - surface (vtkPolyData): mesh where to get attribute values - attributeNames (tuple[str,...]): tuple of attribute names to get the values. - - Returns: - pd.DataFrame: DataFrame containing property names as columns. - - """ - nbRows: int = surface.GetNumberOfCells() - data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) - for attributeName in attributeNames: - if not isAttributeInObject( surface, attributeName, False ): - print( f"WARNING: Attribute {attributeName} is not in the mesh." ) - continue - array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) - - if len( array.shape ) > 1: - for i in range( array.shape[ 1 ] ): - data[ attributeName + f"_{i}" ] = array[ :, i ] - data.drop( - columns=[ - attributeName, - ], - inplace=True, - ) - else: - data[ attributeName ] = array - return data - - def extractBlock( multiBlockDataSet: vtkMultiBlockDataSet, blockIndex: int ) -> vtkMultiBlockDataSet: """Extract the block with index blockIndex from multiBlockDataSet. @@ -944,63 +562,3 @@ def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: filter.SetProcessAllArrays( True ) filter.Update() return filter.GetOutputDataObject( 0 ) - - -def getBounds( - input: Union[ vtkUnstructuredGrid, - vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: - """Get bounds of either single of composite data set. - - Args: - input (Union[vtkUnstructuredGrid, vtkMultiBlockDataSet]): input mesh - - Returns: - tuple[float, float, float, float, float, float]: tuple containing - bounds (xmin, xmax, ymin, ymax, zmin, zmax) - - """ - if isinstance( input, vtkMultiBlockDataSet ): - return getMultiBlockBounds( input ) - else: - return getMonoBlockBounds( input ) - - -def getMonoBlockBounds( input: vtkUnstructuredGrid, ) -> tuple[ float, float, float, float, float, float ]: - """Get boundary box extrema coordinates for a vtkUnstructuredGrid. - - Args: - input (vtkMultiBlockDataSet): input single block mesh - - Returns: - tuple[float, float, float, float, float, float]: tuple containing - bounds (xmin, xmax, ymin, ymax, zmin, zmax) - - """ - return input.GetBounds() - - -def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, float, float, float, float ]: - """Get boundary box extrema coordinates for a vtkMultiBlockDataSet. - - Args: - input (vtkMultiBlockDataSet): input multiblock mesh - - Returns: - tuple[float, float, float, float, float, float]: bounds. - - """ - xmin, ymin, zmin = 3 * [ np.inf ] - xmax, ymax, zmax = 3 * [ -1.0 * np.inf ] - blockIndexes: list[ int ] = getBlockElementIndexesFlatten( input ) - for blockIndex in blockIndexes: - block0: vtkDataObject = getBlockFromFlatIndex( input, blockIndex ) - assert block0 is not None, "Mesh is undefined." - block: vtkDataSet = vtkDataSet.SafeDownCast( block0 ) - bounds: tuple[ float, float, float, float, float, float ] = block.GetBounds() - xmin = bounds[ 0 ] if bounds[ 0 ] < xmin else xmin - xmax = bounds[ 1 ] if bounds[ 1 ] > xmax else xmax - ymin = bounds[ 2 ] if bounds[ 2 ] < ymin else ymin - ymax = bounds[ 3 ] if bounds[ 3 ] > ymax else ymax - zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin - zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax - return xmin, xmax, ymin, ymax, zmin, zmax diff --git a/geos-mesh/src/geos/mesh/utils/helpers.py b/geos-mesh/src/geos/mesh/utils/helpers.py new file mode 100644 index 00000000..be23bc22 --- /dev/null +++ b/geos-mesh/src/geos/mesh/utils/helpers.py @@ -0,0 +1,579 @@ +from typing import Any +import logging +from copy import deepcopy +import numpy as np +import numpy.typing as npt +import pandas as pd # type: ignore[import-untyped] +import vtkmodules.util.numpy_support as vnp +from typing import Iterator, Optional, List, Union, cast +from vtkmodules.util.numpy_support import vtk_to_numpy +from vtkmodules.vtkCommonCore import vtkDataArray, vtkIdList, vtkDoubleArray +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkFieldData, vtkMultiBlockDataSet, vtkDataSet, + vtkCompositeDataSet, vtkDataObject, vtkPointData, vtkCellData, + vtkDataObjectTreeIterator, vtkPolyData ) +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, + getBlockFromFlatIndex ) + + +def to_vtk_id_list( data ) -> vtkIdList: + result = vtkIdList() + result.Allocate( len( data ) ) + for d in data: + result.InsertNextId( d ) + return result + + +def vtk_iter( vtkContainer ) -> Iterator[ Any ]: + """ + Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins + python containers. + :param vtkContainer: A vtk container. + :return: The iterator. + """ + if hasattr( vtkContainer, "GetNumberOfIds" ): + for i in range( vtkContainer.GetNumberOfIds() ): + yield vtkContainer.GetId( i ) + elif hasattr( vtkContainer, "GetNumberOfTypes" ): + for i in range( vtkContainer.GetNumberOfTypes() ): + yield vtkContainer.GetCellType( i ) + + +def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: + """Checks if a mesh contains at least a data arrays within its cell, field or point data + having a certain name. If so, returns True, else False. + + Args: + mesh (vtkUnstructuredGrid): An unstructured mesh. + invalid_fields (list[str]): Field name of an array in any data from the data. + + Returns: + bool: True if one field found, else False. + """ + # Check the cell data fields + cell_data = mesh.GetCellData() + for i in range( cell_data.GetNumberOfArrays() ): + if cell_data.GetArrayName( i ) in invalid_fields: + logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) + return True + # Check the field data fields + field_data = mesh.GetFieldData() + for i in range( field_data.GetNumberOfArrays() ): + if field_data.GetArrayName( i ) in invalid_fields: + logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) + return True + # Check the point data fields + point_data = mesh.GetPointData() + for i in range( point_data.GetNumberOfArrays() ): + if point_data.GetArrayName( i ) in invalid_fields: + logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) + return True + return False + + +def getFieldType( data: vtkFieldData ) -> str: + if not data.IsA( "vtkFieldData" ): + raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) + if data.IsA( "vtkCellData" ): + return "vtkCellData" + elif data.IsA( "vtkPointData" ): + return "vtkPointData" + else: + return "vtkFieldData" + + +def getArrayNames( data: vtkFieldData ) -> List[ str ]: + if not data.IsA( "vtkFieldData" ): + raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) + return [ data.GetArrayName( i ) for i in range( data.GetNumberOfArrays() ) ] + + +def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: + if data.HasArray( name ): + return data.GetArray( name ) + logging.warning( f"No array named '{name}' was found in '{data}'." ) + return None + + +def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: + return deepcopy( getArrayByName( data, name ) ) + + +def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: + array_names: List[ str ] = getArrayNames( data ) + for name in array_names: + if name.startswith( "Global" ) and name.endswith( "Ids" ): + return getCopyArrayByName( data, name ) + logging.warning( "No GlobalIds array was found." ) + return None + + +def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ npt.NDArray[ np.int64 ] ]: + return vtk_to_numpy( getGlobalIdsArray( data ) ) + + +def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.int64 ] ) -> None: + globalids: Optional[ npt.NDArray[ np.int64 ] ] = getNumpyGlobalIdsArray( data ) + if globalids is not None: + arr = arr[ np.argsort( globalids ) ] + else: + logging.warning( "No sorting was performed." ) + + +def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ Any ]: + arr: Optional[ npt.NDArray[ Any ] ] = vtk_to_numpy( getArrayByName( data, name ) ) + if arr is not None: + if sorted: + sortArrayByGlobalIds( data, arr ) + return arr + return None + + +def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray[ Any ] ]: + return deepcopy( getNumpyArrayByName( data, name, sorted=sorted ) ) + + +def getAttributeSet( object: Union[ vtkMultiBlockDataSet, vtkDataSet ], onPoints: bool ) -> set[ str ]: + """Get the set of all attributes from an object on points or on cells. + + Args: + object (Any): object where to find the attributes. + onPoints (bool): True if attributes are on points, False if they are on + cells. + + Returns: + set[str]: set of attribute names present in input object. + """ + attributes: dict[ str, int ] + if isinstance( object, vtkMultiBlockDataSet ): + attributes = getAttributesFromMultiBlockDataSet( object, onPoints ) + elif isinstance( object, vtkDataSet ): + attributes = getAttributesFromDataSet( object, onPoints ) + else: + raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) + + assert attributes is not None, "Attribute list is undefined." + + return set( attributes.keys() ) if attributes is not None else set() + + +def getAttributesWithNumberOfComponents( + object: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet, vtkDataObject ], + onPoints: bool, +) -> dict[ str, int ]: + """Get the dictionnary of all attributes from object on points or cells. + + Args: + object (Any): object where to find the attributes. + onPoints (bool): True if attributes are on points, False if they are on + cells. + + Returns: + dict[str, int]: dictionnary where keys are the names of the attributes + and values the number of components. + + """ + attributes: dict[ str, int ] + if isinstance( object, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): + attributes = getAttributesFromMultiBlockDataSet( object, onPoints ) + elif isinstance( object, vtkDataSet ): + attributes = getAttributesFromDataSet( object, onPoints ) + else: + raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) + return attributes + + +def getAttributesFromMultiBlockDataSet( object: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], + onPoints: bool ) -> dict[ str, int ]: + """Get the dictionnary of all attributes of object on points or on cells. + + Args: + object (vtkMultiBlockDataSet | vtkCompositeDataSet): object where to find + the attributes. + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + dict[str, int]: Dictionnary of the names of the attributes as keys, and + number of components as values. + + """ + attributes: dict[ str, int ] = {} + # initialize data object tree iterator + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( object ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + dataSet: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + blockAttributes: dict[ str, int ] = getAttributesFromDataSet( dataSet, onPoints ) + for attributeName, nbComponents in blockAttributes.items(): + if attributeName not in attributes: + attributes[ attributeName ] = nbComponents + + iter.GoToNextItem() + return attributes + + +def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: + """Get the dictionnary of all attributes of a vtkDataSet on points or cells. + + Args: + object (vtkDataSet): object where to find the attributes. + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + dict[str, int]: List of the names of the attributes. + """ + attributes: dict[ str, int ] = {} + data: Union[ vtkPointData, vtkCellData ] + sup: str = "" + if onPoints: + data = object.GetPointData() + sup = "Point" + else: + data = object.GetCellData() + sup = "Cell" + assert data is not None, f"{sup} data was not recovered." + + nbAttributes = data.GetNumberOfArrays() + for i in range( nbAttributes ): + attributeName = data.GetArrayName( i ) + attribute = data.GetArray( attributeName ) + assert attribute is not None, f"Attribut {attributeName} is null" + nbComponents = attribute.GetNumberOfComponents() + attributes[ attributeName ] = nbComponents + return attributes + + +def isAttributeInObject( object: Union[ vtkMultiBlockDataSet, vtkDataSet ], attributeName: str, + onPoints: bool ) -> bool: + """Check if an attribute is in the input object. + + Args: + object (vtkMultiBlockDataSet | vtkDataSet): input object + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + bool: True if the attribute is in the table, False otherwise + """ + if isinstance( object, vtkMultiBlockDataSet ): + return isAttributeInObjectMultiBlockDataSet( object, attributeName, onPoints ) + elif isinstance( object, vtkDataSet ): + return isAttributeInObjectDataSet( object, attributeName, onPoints ) + else: + raise TypeError( "Input object must be a vtkDataSet or vtkMultiBlockDataSet." ) + + +def isAttributeInObjectMultiBlockDataSet( object: vtkMultiBlockDataSet, attributeName: str, onPoints: bool ) -> bool: + """Check if an attribute is in the input object. + + Args: + object (vtkMultiBlockDataSet): input multiblock object + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + bool: True if the attribute is in the table, False otherwise + """ + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( object ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + dataSet: vtkDataSet = vtkDataSet.SafeDownCast( iter.GetCurrentDataObject() ) + if isAttributeInObjectDataSet( dataSet, attributeName, onPoints ): + return True + iter.GoToNextItem() + return False + + +def isAttributeInObjectDataSet( object: vtkDataSet, attributeName: str, onPoints: bool ) -> bool: + """Check if an attribute is in the input object. + + Args: + object (vtkDataSet): input object + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + bool: True if the attribute is in the table, False otherwise + """ + data: Union[ vtkPointData, vtkCellData ] + sup: str = "" + if onPoints: + data = object.GetPointData() + sup = "Point" + else: + data = object.GetCellData() + sup = "Cell" + assert data is not None, f"{sup} data was not recovered." + return bool( data.HasArray( attributeName ) ) + + +def getArrayInObject( object: vtkDataSet, attributeName: str, onPoints: bool ) -> npt.NDArray[ np.float64 ]: + """Return the numpy array corresponding to input attribute name in table. + + Args: + object (PointSet or UnstructuredGrid): input object + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + ArrayLike[float]: the array corresponding to input attribute name. + """ + array: vtkDoubleArray = getVtkArrayInObject( object, attributeName, onPoints ) + nparray: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( array ) # type: ignore[no-untyped-call] + return nparray + + +def getVtkArrayInObject( object: vtkDataSet, attributeName: str, onPoints: bool ) -> vtkDoubleArray: + """Return the array corresponding to input attribute name in table. + + Args: + object (PointSet or UnstructuredGrid): input object + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + vtkDoubleArray: the vtk array corresponding to input attribute name. + """ + assert isAttributeInObject( object, attributeName, onPoints ), f"{attributeName} is not in input object." + return object.GetPointData().GetArray( attributeName ) if onPoints else object.GetCellData().GetArray( + attributeName ) + + +def getNumberOfComponents( + dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet ], + attributeName: str, + onPoints: bool, +) -> int: + """Get the number of components of attribute attributeName in dataSet. + + Args: + dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet | vtkDataSet): + dataSet where the attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + int: number of components. + """ + if isinstance( dataSet, vtkDataSet ): + return getNumberOfComponentsDataSet( dataSet, attributeName, onPoints ) + elif isinstance( dataSet, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): + return getNumberOfComponentsMultiBlock( dataSet, attributeName, onPoints ) + else: + raise AssertionError( "Object type is not managed." ) + + +def getNumberOfComponentsDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: bool ) -> int: + """Get the number of components of attribute attributeName in dataSet. + + Args: + dataSet (vtkDataSet): dataSet where the attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + int: number of components. + """ + array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) + return array.GetNumberOfComponents() + + +def getNumberOfComponentsMultiBlock( + dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], + attributeName: str, + onPoints: bool, +) -> int: + """Get the number of components of attribute attributeName in dataSet. + + Args: + dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet): multi block data Set where the attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + int: number of components. + """ + elementaryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) + for blockIndex in elementaryBlockIndexes: + block: vtkDataSet = cast( vtkDataSet, getBlockFromFlatIndex( dataSet, blockIndex ) ) + if isAttributeInObject( block, attributeName, onPoints ): + array: vtkDoubleArray = getVtkArrayInObject( block, attributeName, onPoints ) + return array.GetNumberOfComponents() + return 0 + + +def getComponentNames( + dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet, vtkDataSet, vtkDataObject ], + attributeName: str, + onPoints: bool, +) -> tuple[ str, ...]: + """Get the name of the components of attribute attributeName in dataSet. + + Args: + dataSet (vtkDataSet | vtkMultiBlockDataSet | vtkCompositeDataSet | vtkDataObject): dataSet + where the attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + tuple[str,...]: names of the components. + + """ + if isinstance( dataSet, vtkDataSet ): + return getComponentNamesDataSet( dataSet, attributeName, onPoints ) + elif isinstance( dataSet, ( vtkMultiBlockDataSet, vtkCompositeDataSet ) ): + return getComponentNamesMultiBlock( dataSet, attributeName, onPoints ) + else: + raise AssertionError( "Object type is not managed." ) + + +def getComponentNamesDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: bool ) -> tuple[ str, ...]: + """Get the name of the components of attribute attributeName in dataSet. + + Args: + dataSet (vtkDataSet): dataSet where the attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + tuple[str,...]: names of the components. + + """ + array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) + componentNames: list[ str ] = [] + if array.GetNumberOfComponents() > 1: + componentNames += [ array.GetComponentName( i ) for i in range( array.GetNumberOfComponents() ) ] + return tuple( componentNames ) + + +def getComponentNamesMultiBlock( + dataSet: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], + attributeName: str, + onPoints: bool, +) -> tuple[ str, ...]: + """Get the name of the components of attribute in MultiBlockDataSet. + + Args: + dataSet (vtkMultiBlockDataSet | vtkCompositeDataSet): dataSet where the + attribute is. + attributeName (str): name of the attribute + onPoints (bool): True if attributes are on points, False if they are + on cells. + + Returns: + tuple[str,...]: names of the components. + """ + elementaryBlockIndexes: list[ int ] = getBlockElementIndexesFlatten( dataSet ) + for blockIndex in elementaryBlockIndexes: + block: vtkDataSet = cast( vtkDataSet, getBlockFromFlatIndex( dataSet, blockIndex ) ) + if isAttributeInObject( block, attributeName, onPoints ): + return getComponentNamesDataSet( block, attributeName, onPoints ) + return () + + +def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFrame: + """Get attribute values from input surface. + + Args: + surface (vtkPolyData): mesh where to get attribute values + attributeNames (tuple[str,...]): tuple of attribute names to get the values. + + Returns: + pd.DataFrame: DataFrame containing property names as columns. + + """ + nbRows: int = surface.GetNumberOfCells() + data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) + for attributeName in attributeNames: + if not isAttributeInObject( surface, attributeName, False ): + print( f"WARNING: Attribute {attributeName} is not in the mesh." ) + continue + array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) + + if len( array.shape ) > 1: + for i in range( array.shape[ 1 ] ): + data[ attributeName + f"_{i}" ] = array[ :, i ] + data.drop( + columns=[ + attributeName, + ], + inplace=True, + ) + else: + data[ attributeName ] = array + return data + + +def getBounds( + input: Union[ vtkUnstructuredGrid, + vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: + """Get bounds of either single of composite data set. + + Args: + input (Union[vtkUnstructuredGrid, vtkMultiBlockDataSet]): input mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + if isinstance( input, vtkMultiBlockDataSet ): + return getMultiBlockBounds( input ) + else: + return getMonoBlockBounds( input ) + + +def getMonoBlockBounds( input: vtkUnstructuredGrid, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkUnstructuredGrid. + + Args: + input (vtkMultiBlockDataSet): input single block mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + return input.GetBounds() + + +def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkMultiBlockDataSet. + + Args: + input (vtkMultiBlockDataSet): input multiblock mesh + + Returns: + tuple[float, float, float, float, float, float]: bounds. + + """ + xmin, ymin, zmin = 3 * [ np.inf ] + xmax, ymax, zmax = 3 * [ -1.0 * np.inf ] + blockIndexes: list[ int ] = getBlockElementIndexesFlatten( input ) + for blockIndex in blockIndexes: + block0: vtkDataObject = getBlockFromFlatIndex( input, blockIndex ) + assert block0 is not None, "Mesh is undefined." + block: vtkDataSet = vtkDataSet.SafeDownCast( block0 ) + bounds: tuple[ float, float, float, float, float, float ] = block.GetBounds() + xmin = bounds[ 0 ] if bounds[ 0 ] < xmin else xmin + xmax = bounds[ 1 ] if bounds[ 1 ] > xmax else xmax + ymin = bounds[ 2 ] if bounds[ 2 ] < ymin else ymin + ymax = bounds[ 3 ] if bounds[ 3 ] > ymax else ymax + zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin + zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax + return xmin, xmax, ymin, ymax, zmin, zmax diff --git a/geos-mesh/src/geos/mesh/multiblockInspectorTreeFunctions.py b/geos-mesh/src/geos/mesh/utils/multiblockInspectorTreeFunctions.py similarity index 100% rename from geos-mesh/src/geos/mesh/multiblockInspectorTreeFunctions.py rename to geos-mesh/src/geos/mesh/utils/multiblockInspectorTreeFunctions.py diff --git a/geos-mesh/src/geos/mesh/vtk/__init__.py b/geos-mesh/src/geos/mesh/vtk/__init__.py deleted file mode 100644 index b1cfe267..00000000 --- a/geos-mesh/src/geos/mesh/vtk/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# Empty \ No newline at end of file diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py deleted file mode 100644 index 94b273da..00000000 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ /dev/null @@ -1,124 +0,0 @@ -import logging -from copy import deepcopy -from numpy import argsort, array -from typing import Iterator, Optional, List -from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonCore import vtkDataArray, vtkIdList -from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkFieldData - - -def to_vtk_id_list( data ) -> vtkIdList: - result = vtkIdList() - result.Allocate( len( data ) ) - for d in data: - result.InsertNextId( d ) - return result - - -def vtk_iter( vtkContainer ) -> Iterator[ any ]: - """ - Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins - python containers. - :param vtkContainer: A vtk container. - :return: The iterator. - """ - if hasattr( vtkContainer, "GetNumberOfIds" ): - for i in range( vtkContainer.GetNumberOfIds() ): - yield vtkContainer.GetId( i ) - elif hasattr( vtkContainer, "GetNumberOfTypes" ): - for i in range( vtkContainer.GetNumberOfTypes() ): - yield vtkContainer.GetCellType( i ) - - -def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: - """Checks if a mesh contains at least a data arrays within its cell, field or point data - having a certain name. If so, returns True, else False. - - Args: - mesh (vtkUnstructuredGrid): An unstructured mesh. - invalid_fields (list[str]): Field name of an array in any data from the data. - - Returns: - bool: True if one field found, else False. - """ - # Check the cell data fields - cell_data = mesh.GetCellData() - for i in range( cell_data.GetNumberOfArrays() ): - if cell_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) - return True - # Check the field data fields - field_data = mesh.GetFieldData() - for i in range( field_data.GetNumberOfArrays() ): - if field_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) - return True - # Check the point data fields - point_data = mesh.GetPointData() - for i in range( point_data.GetNumberOfArrays() ): - if point_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) - return True - return False - - -def getFieldType( data: vtkFieldData ) -> str: - if not data.IsA( "vtkFieldData" ): - raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) - if data.IsA( "vtkCellData" ): - return "vtkCellData" - elif data.IsA( "vtkPointData" ): - return "vtkPointData" - else: - return "vtkFieldData" - - -def getArrayNames( data: vtkFieldData ) -> List[ str ]: - if not data.IsA( "vtkFieldData" ): - raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) - return [ data.GetArrayName( i ) for i in range( data.GetNumberOfArrays() ) ] - - -def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: - if data.HasArray( name ): - return data.GetArray( name ) - logging.warning( f"No array named '{name}' was found in '{data}'." ) - return None - - -def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: - return deepcopy( getArrayByName( data, name ) ) - - -def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: - array_names: List[ str ] = getArrayNames( data ) - for name in array_names: - if name.startswith( "Global" ) and name.endswith( "Ids" ): - return getCopyArrayByName( data, name ) - logging.warning( "No GlobalIds array was found." ) - - -def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ array ]: - return vtk_to_numpy( getGlobalIdsArray( data ) ) - - -def sortArrayByGlobalIds( data: vtkFieldData, arr: array ) -> None: - globalids: array = getNumpyGlobalIdsArray( data ) - if globalids is not None: - arr = arr[ argsort( globalids ) ] - else: - logging.warning( "No sorting was performed." ) - - -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ array ]: - arr: array = vtk_to_numpy( getArrayByName( data, name ) ) - if arr is not None: - if sorted: - array_names: List[ str ] = getArrayNames( data ) - sortArrayByGlobalIds( data, arr, array_names ) - return arr - return None - - -def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ array ]: - return deepcopy( getNumpyArrayByName( data, name, sorted=sorted ) ) diff --git a/geos-mesh/tests/test_cli_parsing.py b/geos-mesh/tests/test_cli_parsing.py index 5a5f21bb..a73fe3f3 100644 --- a/geos-mesh/tests/test_cli_parsing.py +++ b/geos-mesh/tests/test_cli_parsing.py @@ -4,7 +4,7 @@ from typing import Iterator, Sequence from geos.mesh.doctor.checks.generate_fractures import FracturePolicy, Options from geos.mesh.doctor.parsing.generate_fractures_parsing import convert, display_results, fill_subparser -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.io.vtkIO import VtkOutput @dataclass( frozen=True ) diff --git a/geos-mesh/tests/test_generate_fractures.py b/geos-mesh/tests/test_generate_fractures.py index f97d4be9..1a6c1de7 100644 --- a/geos-mesh/tests/test_generate_fractures.py +++ b/geos-mesh/tests/test_generate_fractures.py @@ -8,7 +8,7 @@ from geos.mesh.doctor.checks.generate_cube import build_rectilinear_blocks_mesh, XYZ from geos.mesh.doctor.checks.generate_fractures import ( __split_mesh_on_fractures, Options, FracturePolicy, Coordinates3D, IDMapping ) -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list FaceNodesCoords = tuple[ tuple[ float ] ] IDMatrix = Sequence[ Sequence[ int ] ] diff --git a/geos-mesh/tests/test_reorient_mesh.py b/geos-mesh/tests/test_reorient_mesh.py index 9bfd342d..9e66f3b7 100644 --- a/geos-mesh/tests/test_reorient_mesh.py +++ b/geos-mesh/tests/test_reorient_mesh.py @@ -6,7 +6,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON from geos.mesh.doctor.checks.reorient_mesh import reorient_mesh from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.vtk.helpers import to_vtk_id_list, vtk_iter +from geos.mesh.utils.helpers import to_vtk_id_list, vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/tests/test_supported_elements.py b/geos-mesh/tests/test_supported_elements.py index 6126b8ea..28f4cd2f 100644 --- a/geos-mesh/tests/test_supported_elements.py +++ b/geos-mesh/tests/test_supported_elements.py @@ -5,7 +5,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON # from geos.mesh.doctor.checks.supported_elements import Options, check, __check from geos.mesh.doctor.checks.vtk_polyhedron import parse_face_stream, FaceStream -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list # TODO Update this test to have access to another meshTests file diff --git a/geos-mesh/tests/test_vtkUtils.py b/geos-mesh/tests/test_vtkFilters.py similarity index 54% rename from geos-mesh/tests/test_vtkUtils.py rename to geos-mesh/tests/test_vtkFilters.py index 854d7756..1b2aa69c 100644 --- a/geos-mesh/tests/test_vtkUtils.py +++ b/geos-mesh/tests/test_vtkFilters.py @@ -3,188 +3,23 @@ # SPDX-FileContributor: Paloma Martinez # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file -# mypy: disable-error-code="operator, attr-defined" +# mypy: disable-error-code="operator" import pytest -from typing import Union, Tuple +from typing import Union, Tuple, cast import numpy as np import numpy.typing as npt import vtkmodules.util.numpy_support as vnp -import pandas as pd # type: ignore[import-untyped] from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray -from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObject, vtkDataObjectTreeIterator, - vtkPolyData, vtkPointData, vtkCellData, vtkUnstructuredGrid ) +from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, + vtkPointData, vtkCellData, vtkUnstructuredGrid ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, ) -from geos.mesh import vtkUtils - - -@pytest.mark.parametrize( "onpoints, expected", [ ( True, { - 'GLOBAL_IDS_POINTS': 1, - 'collocated_nodes': 2, - 'PointAttribute': 3 -} ), ( False, { - 'CELL_MARKERS': 1, - 'PERM': 3, - 'PORO': 1, - 'FAULT': 1, - 'GLOBAL_IDS_CELLS': 1, - 'CellAttribute': 3 -} ) ] ) -def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, onpoints: bool, - expected: dict[ str, int ] ) -> None: - """Test getting attribute list as dict from multiblock.""" - multiBlockTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - attributes: dict[ str, int ] = vtkUtils.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) - - assert attributes == expected - - -@pytest.mark.parametrize( "onpoints, expected", [ ( True, { - 'GLOBAL_IDS_POINTS': 1, - 'PointAttribute': 3, -} ), ( False, { - 'CELL_MARKERS': 1, - 'PERM': 3, - 'PORO': 1, - 'FAULT': 1, - 'GLOBAL_IDS_CELLS': 1, - 'CellAttribute': 3 -} ) ] ) -def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: - """Test getting attribute list as dict from dataset.""" - vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - attributes: dict[ str, int ] = vtkUtils.getAttributesFromDataSet( vtkDataSetTest, onpoints ) - assert attributes == expected - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PORO", False, 1 ), - ( "PORO", True, 0 ), -] ) -def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, - expected: dict[ str, int ] ) -> None: - """Test presence of attribute in a multiblock.""" - multiBlockDataset: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: bool = vtkUtils.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) - assert obtained == expected - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PORO", False, 1 ), - ( "PORO", True, 0 ), -] ) -def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, - expected: bool ) -> None: - """Test presence of attribute in a dataset.""" - vtkDataset: vtkDataSet = dataSetTest( "dataset" ) - obtained: bool = vtkUtils.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) - assert obtained == expected - - -@pytest.mark.parametrize( "arrayExpected, onpoints", [ - ( "PORO", False ), - ( "PERM", False ), - ( "PointAttribute", True ), -], - indirect=[ "arrayExpected" ] ) -def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray, dataSetTest: vtkDataSet, - onpoints: bool ) -> None: - """Test getting numpy array of an attribute from dataset.""" - vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - params = request.node.callspec.params - attributeName: str = params[ "arrayExpected" ] - - obtained: npt.NDArray[ np.float64 ] = vtkUtils.getArrayInObject( vtkDataSetTest, attributeName, onpoints ) - expected: npt.NDArray[ np.float64 ] = arrayExpected - - assert ( obtained == expected ).all() - - -@pytest.mark.parametrize( "arrayExpected, onpoints", [ - ( "PORO", False ), - ( "PointAttribute", True ), -], - indirect=[ "arrayExpected" ] ) -def test_getVtkArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray[ np.float64 ], - dataSetTest: vtkDataSet, onpoints: bool ) -> None: - """Test getting Vtk Array from a dataset.""" - vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - params = request.node.callspec.params - attributeName: str = params[ 'arrayExpected' ] - - obtained: vtkDoubleArray = vtkUtils.getVtkArrayInObject( vtkDataSetTest, attributeName, onpoints ) - obtained_as_np: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( obtained ) - - assert ( obtained_as_np == arrayExpected ).all() - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PORO", False, 1 ), - ( "PERM", False, 3 ), - ( "PointAttribute", True, 3 ), -] ) -def test_getNumberOfComponentsDataSet( - dataSetTest: vtkDataSet, - attributeName: str, - onpoints: bool, - expected: int, -) -> None: - """Test getting the number of components of an attribute from a dataset.""" - vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - obtained: int = vtkUtils.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) - assert obtained == expected - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PORO", False, 1 ), - ( "PERM", False, 3 ), - ( "PointAttribute", True, 3 ), -] ) -def test_getNumberOfComponentsMultiBlock( - dataSetTest: vtkMultiBlockDataSet, - attributeName: str, - onpoints: bool, - expected: int, -) -> None: - """Test getting the number of components of an attribute from a multiblock.""" - vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: int = vtkUtils.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) - - assert obtained == expected - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), - ( "PORO", False, () ), -] ) -def test_getComponentNamesDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, - expected: tuple[ str, ...] ) -> None: - """Test getting the component names of an attribute from a dataset.""" - vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - obtained: tuple[ str, ...] = vtkUtils.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) - assert obtained == expected - - -@pytest.mark.parametrize( "attributeName, onpoints, expected", [ - ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), - ( "PORO", False, () ), -] ) -def test_getComponentNamesMultiBlock( - dataSetTest: vtkMultiBlockDataSet, - attributeName: str, - onpoints: bool, - expected: tuple[ str, ...], -) -> None: - """Test getting the component names of an attribute from a multiblock.""" - vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: tuple[ str, ...] = vtkUtils.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, - onpoints ) - assert obtained == expected +from geos.mesh.utils import filters as vtkFilters @pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) @@ -195,7 +30,7 @@ def test_fillPartialAttributes( ) -> None: """Test filling a partial attribute from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - vtkUtils.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) + vtkFilters.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -224,7 +59,7 @@ def test_fillAllPartialAttributes( ) -> None: """Test filling all partial attributes from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - vtkUtils.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) + vtkFilters.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -244,23 +79,6 @@ def test_fillAllPartialAttributes( iter.GoToNextItem() -@pytest.mark.parametrize( "attributeNames, expected_columns", [ - ( ( "CellAttribute1", ), ( "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), - ( ( - "CellAttribute1", - "CellAttribute2", - ), ( "CellAttribute2", "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), -] ) -def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames: Tuple[ str, ...], - expected_columns: Tuple[ str, ...] ) -> None: - """Test getting an attribute from a polydata as a dataframe.""" - polydataset: vtkPolyData = dataSetTest( "polydata" ) - data: pd.DataFrame = vtkUtils.getAttributeValuesAsDF( polydataset, attributeNames ) - - obtained_columns = data.columns.values.tolist() - assert obtained_columns == list( expected_columns ) - - # TODO: Add test for keepPartialAttributes = True when function fixed @pytest.mark.parametrize( "keepPartialAttributes, expected_point_attributes, expected_cell_attributes", @@ -276,7 +94,7 @@ def test_mergeBlocks( ) -> None: """Test the merging of a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - dataset: vtkUnstructuredGrid = vtkUtils.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) + dataset: vtkUnstructuredGrid = vtkFilters.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) assert dataset.GetCellData().GetNumberOfArrays() == len( expected_cell_attributes ) for c_attribute in expected_cell_attributes: @@ -301,7 +119,7 @@ def test_createEmptyAttribute( ) -> None: """Test empty attribute creation.""" componentNames: tuple[ str, str, str ] = ( "d1", "d2", "d3" ) - newAttr: vtkDataArray = vtkUtils.createEmptyAttribute( attributeName, componentNames, dataType ) + newAttr: vtkDataArray = vtkFilters.createEmptyAttribute( attributeName, componentNames, dataType ) assert newAttr.GetNumberOfComponents() == len( componentNames ) for ax in range( 3 ): @@ -323,8 +141,8 @@ def test_createConstantAttributeMultiBlock( attributeName: str = "testAttributemultiblock" values: tuple[ float, float, float ] = ( 12.4, 10, 40.0 ) componentNames: tuple[ str, str, str ] = ( "X", "Y", "Z" ) - vtkUtils.createConstantAttributeMultiBlock( vtkMultiBlockDataSetTest, values, attributeName, componentNames, - onpoints ) + vtkFilters.createConstantAttributeMultiBlock( vtkMultiBlockDataSetTest, values, attributeName, componentNames, + onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -361,7 +179,7 @@ def test_createConstantAttributeDataSet( vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) componentNames: Tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "newAttributedataset" - vtkUtils.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) + vtkFilters.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) data: Union[ vtkPointData, vtkCellData ] if onpoints: @@ -393,7 +211,7 @@ def test_createAttribute( componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "AttributeName" - vtkUtils.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) + vtkFilters.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) data: Union[ vtkPointData, vtkCellData ] if onpoints: @@ -416,11 +234,11 @@ def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet ) -> None: attributeFrom: str = "CellAttribute" attributeTo: str = "CellAttributeTO" - vtkUtils.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) + vtkFilters.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) blockIndex: int = 0 - blockFrom: vtkDataObject = objectFrom.GetBlock( blockIndex ) - blockTo: vtkDataObject = objectTo.GetBlock( blockIndex ) + blockFrom: vtkDataSet = cast( vtkDataSet, objectFrom.GetBlock( blockIndex ) ) + blockTo: vtkDataSet = cast( vtkDataSet, objectTo.GetBlock( blockIndex ) ) arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockFrom.GetCellData().GetArray( attributeFrom ) ) arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( blockTo.GetCellData().GetArray( attributeTo ) ) @@ -436,7 +254,7 @@ def test_copyAttributeDataSet( dataSetTest: vtkDataSet, ) -> None: attributNameFrom = "CellAttribute" attributNameTo = "COPYATTRIBUTETO" - vtkUtils.copyAttributeDataSet( objectFrom, objectTo, attributNameFrom, attributNameTo ) + vtkFilters.copyAttributeDataSet( objectFrom, objectTo, attributNameFrom, attributNameTo ) arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectFrom.GetCellData().GetArray( attributNameFrom ) ) arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectTo.GetCellData().GetArray( attributNameTo ) ) @@ -456,13 +274,13 @@ def test_renameAttributeMultiblock( """Test renaming attribute in a multiblock dataset.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) newAttributeName: str = "new" + attributeName - vtkUtils.renameAttribute( + vtkFilters.renameAttribute( vtkMultiBlockDataSetTest, attributeName, newAttributeName, onpoints, ) - block: vtkDataObject = vtkMultiBlockDataSetTest.GetBlock( 0 ) + block: vtkDataSet = cast( vtkDataSet, vtkMultiBlockDataSetTest.GetBlock( 0 ) ) data: Union[ vtkPointData, vtkCellData ] if onpoints: data = block.GetPointData() @@ -484,10 +302,10 @@ def test_renameAttributeDataSet( """Test renaming an attribute in a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) newAttributeName: str = "new" + attributeName - vtkUtils.renameAttribute( object=vtkDataSetTest, - attributeName=attributeName, - newAttributeName=newAttributeName, - onPoints=onpoints ) + vtkFilters.renameAttribute( object=vtkDataSetTest, + attributeName=attributeName, + newAttributeName=newAttributeName, + onPoints=onpoints ) if onpoints: assert vtkDataSetTest.GetPointData().HasArray( attributeName ) == 0 assert vtkDataSetTest.GetPointData().HasArray( newAttributeName ) == 1 diff --git a/geos-mesh/tests/test_vtkHelpers.py b/geos-mesh/tests/test_vtkHelpers.py new file mode 100644 index 00000000..c2f6058f --- /dev/null +++ b/geos-mesh/tests/test_vtkHelpers.py @@ -0,0 +1,199 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Paloma Martinez +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +# mypy: disable-error-code="operator, attr-defined" +import pytest +from typing import Tuple + +import numpy as np +import numpy.typing as npt + +import vtkmodules.util.numpy_support as vnp +import pandas as pd # type: ignore[import-untyped] +from vtkmodules.vtkCommonCore import vtkDoubleArray +from vtkmodules.vtkCommonDataModel import vtkDataSet, vtkMultiBlockDataSet, vtkPolyData + +from geos.mesh.utils import helpers as vtkHelpers + + +@pytest.mark.parametrize( "onpoints, expected", [ ( True, { + 'GLOBAL_IDS_POINTS': 1, + 'collocated_nodes': 2, + 'PointAttribute': 3 +} ), ( False, { + 'CELL_MARKERS': 1, + 'PERM': 3, + 'PORO': 1, + 'FAULT': 1, + 'GLOBAL_IDS_CELLS': 1, + 'CellAttribute': 3 +} ) ] ) +def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, onpoints: bool, + expected: dict[ str, int ] ) -> None: + """Test getting attribute list as dict from multiblock.""" + multiBlockTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + attributes: dict[ str, int ] = vtkHelpers.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) + + assert attributes == expected + + +@pytest.mark.parametrize( "onpoints, expected", [ ( True, { + 'GLOBAL_IDS_POINTS': 1, + 'PointAttribute': 3, +} ), ( False, { + 'CELL_MARKERS': 1, + 'PERM': 3, + 'PORO': 1, + 'FAULT': 1, + 'GLOBAL_IDS_CELLS': 1, + 'CellAttribute': 3 +} ) ] ) +def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: + """Test getting attribute list as dict from dataset.""" + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + attributes: dict[ str, int ] = vtkHelpers.getAttributesFromDataSet( vtkDataSetTest, onpoints ) + assert attributes == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PORO", True, 0 ), +] ) +def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, attributeName: str, onpoints: bool, + expected: dict[ str, int ] ) -> None: + """Test presence of attribute in a multiblock.""" + multiBlockDataset: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: bool = vtkHelpers.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PORO", True, 0 ), +] ) +def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, + expected: bool ) -> None: + """Test presence of attribute in a dataset.""" + vtkDataset: vtkDataSet = dataSetTest( "dataset" ) + obtained: bool = vtkHelpers.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "arrayExpected, onpoints", [ + ( "PORO", False ), + ( "PERM", False ), + ( "PointAttribute", True ), +], + indirect=[ "arrayExpected" ] ) +def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray[ np.float64 ], + dataSetTest: vtkDataSet, onpoints: bool ) -> None: + """Test getting numpy array of an attribute from dataset.""" + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + params = request.node.callspec.params + attributeName: str = params[ "arrayExpected" ] + + obtained: npt.NDArray[ np.float64 ] = vtkHelpers.getArrayInObject( vtkDataSetTest, attributeName, onpoints ) + expected: npt.NDArray[ np.float64 ] = arrayExpected + + assert ( obtained == expected ).all() + + +@pytest.mark.parametrize( "arrayExpected, onpoints", [ + ( "PORO", False ), + ( "PointAttribute", True ), +], + indirect=[ "arrayExpected" ] ) +def test_getVtkArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.NDArray[ np.float64 ], + dataSetTest: vtkDataSet, onpoints: bool ) -> None: + """Test getting Vtk Array from a dataset.""" + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + params = request.node.callspec.params + attributeName: str = params[ 'arrayExpected' ] + + obtained: vtkDoubleArray = vtkHelpers.getVtkArrayInObject( vtkDataSetTest, attributeName, onpoints ) + obtained_as_np: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( obtained ) + + assert ( obtained_as_np == arrayExpected ).all() + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PERM", False, 3 ), + ( "PointAttribute", True, 3 ), +] ) +def test_getNumberOfComponentsDataSet( + dataSetTest: vtkDataSet, + attributeName: str, + onpoints: bool, + expected: int, +) -> None: + """Test getting the number of components of an attribute from a dataset.""" + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + obtained: int = vtkHelpers.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PORO", False, 1 ), + ( "PERM", False, 3 ), + ( "PointAttribute", True, 3 ), +] ) +def test_getNumberOfComponentsMultiBlock( + dataSetTest: vtkMultiBlockDataSet, + attributeName: str, + onpoints: bool, + expected: int, +) -> None: + """Test getting the number of components of an attribute from a multiblock.""" + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: int = vtkHelpers.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) + + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), + ( "PORO", False, () ), +] ) +def test_getComponentNamesDataSet( dataSetTest: vtkDataSet, attributeName: str, onpoints: bool, + expected: tuple[ str, ...] ) -> None: + """Test getting the component names of an attribute from a dataset.""" + vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) + obtained: tuple[ str, ...] = vtkHelpers.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeName, onpoints, expected", [ + ( "PERM", False, ( "AX1", "AX2", "AX3" ) ), + ( "PORO", False, () ), +] ) +def test_getComponentNamesMultiBlock( + dataSetTest: vtkMultiBlockDataSet, + attributeName: str, + onpoints: bool, + expected: tuple[ str, ...], +) -> None: + """Test getting the component names of an attribute from a multiblock.""" + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + obtained: tuple[ str, ...] = vtkHelpers.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, + onpoints ) + assert obtained == expected + + +@pytest.mark.parametrize( "attributeNames, expected_columns", [ + ( ( "CellAttribute1", ), ( "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), + ( ( + "CellAttribute1", + "CellAttribute2", + ), ( "CellAttribute2", "CellAttribute1_0", "CellAttribute1_1", "CellAttribute1_2" ) ), +] ) +def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames: Tuple[ str, ...], + expected_columns: Tuple[ str, ...] ) -> None: + """Test getting an attribute from a polydata as a dataframe.""" + polydataset: vtkPolyData = dataSetTest( "polydata" ) + data: pd.DataFrame = vtkHelpers.getAttributeValuesAsDF( polydataset, attributeNames ) + + obtained_columns = data.columns.values.tolist() + assert obtained_columns == list( expected_columns ) diff --git a/geos-posp/src/PVplugins/PVAttributeMapping.py b/geos-posp/src/PVplugins/PVAttributeMapping.py index 7f37332f..5fd6dcfe 100644 --- a/geos-posp/src/PVplugins/PVAttributeMapping.py +++ b/geos-posp/src/PVplugins/PVAttributeMapping.py @@ -18,11 +18,13 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.AttributeMappingFromCellCoords import ( AttributeMappingFromCellCoords, ) -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( fillPartialAttributes, + mergeBlocks +) +from geos.mesh.utils.helpers import ( getAttributeSet, getNumberOfComponents, - mergeBlocks, ) from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) diff --git a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py index f9de80b0..2b2f4f59 100644 --- a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py +++ b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py @@ -19,11 +19,11 @@ import vtkmodules.util.numpy_support as vnp from geos.utils.Logger import Logger, getLogger -from geos.mesh.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos.mesh.vtkUtils import isAttributeInObject +from geos.mesh.utils.helpers import isAttributeInObject from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py index 87bad7ad..9d0d60cc 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py @@ -24,7 +24,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py index 176dd32f..cb86d8b8 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py @@ -25,7 +25,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py index ba043b27..452db15b 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py @@ -25,7 +25,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py index fde9c555..a81db249 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py @@ -28,7 +28,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py index fba10a80..9a3880fb 100644 --- a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py +++ b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py @@ -16,7 +16,7 @@ import PVplugins # noqa: F401 from geos.utils.Logger import Logger, getLogger -from geos.mesh.vtkUtils import mergeBlocks +from geos.mesh.utils.filters import mergeBlocks from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVMohrCirclePlot.py b/geos-posp/src/PVplugins/PVMohrCirclePlot.py index 5049ba69..3c6e4888 100644 --- a/geos-posp/src/PVplugins/PVMohrCirclePlot.py +++ b/geos-posp/src/PVplugins/PVMohrCirclePlot.py @@ -43,7 +43,8 @@ DEFAULT_FRICTION_ANGLE_RAD, DEFAULT_ROCK_COHESION, ) -from geos.mesh.vtkUtils import getArrayInObject, mergeBlocks +from geos.mesh.utils.helpers import getArrayInObject +from geos.mesh.utils.filters import mergeBlocks from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) from geos_posp.visu.PVUtils.DisplayOrganizationParaview import ( diff --git a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py index d6e05b49..f5330fe7 100644 --- a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py +++ b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py @@ -21,7 +21,7 @@ DEFAULT_ROCK_COHESION, ) from geos_posp.filters.SurfaceGeomechanics import SurfaceGeomechanics -from geos.mesh.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py index d4251990..d7e04b5e 100644 --- a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py @@ -17,11 +17,12 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.TransferAttributesVolumeSurface import ( TransferAttributesVolumeSurface, ) -from geos.mesh.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos.mesh.vtkUtils import getAttributeSet, mergeBlocks +from geos.mesh.utils.helpers import getAttributeSet +from geos.mesh.utils.filters import mergeBlocks from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) from geos_posp.visu.PVUtils.paraviewTreatments import getArrayChoices diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py index 296ac6b1..e737620f 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py @@ -22,9 +22,12 @@ vtkUnstructuredGrid, ) -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.filters import ( computeCellCenterCoordinates, createEmptyAttribute, +) + +from geos.mesh.utils.helpers import ( getVtkArrayInObject, ) diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py index 967046ce..a530d5ae 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py @@ -10,7 +10,8 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid -from geos.mesh.vtkUtils import createAttribute, getArrayInObject +from geos.mesh.utils.filters import createAttribute +from geos.mesh.utils.helpers import getArrayInObject __doc__ = """ AttributeMappingFromCellId module is a vtk filter that transfer a attribute from a diff --git a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py index 208b9846..aeb61770 100644 --- a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py +++ b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py @@ -30,9 +30,8 @@ vtkUnstructuredGrid, ) from vtkmodules.vtkFiltersCore import vtkCellCenters - -from geos.mesh.vtkUtils import ( - createAttribute, +from geos.mesh.utils.filters import createAttribute +from geos.mesh.utils.helpers import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py index bfd2f57f..cffc22ea 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py @@ -11,9 +11,9 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet -from geos.mesh.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockIndexFromName, ) -from geos.mesh.vtkUtils import extractBlock +from geos.mesh.utils.filters import extractBlock __doc__ = """ GeosBlockExtractor module is a vtk filter that allows to extract Volume mesh, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py index 8250163b..0b8a421a 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py @@ -33,13 +33,13 @@ from vtkmodules.vtkFiltersGeometry import vtkDataSetSurfaceFilter from vtkmodules.vtkFiltersTexture import vtkTextureMapToPlane -from geos.mesh.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getElementaryCompositeBlockIndexes, ) -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.helpers import getAttributeSet +from geos.mesh.utils.filters import ( createConstantAttribute, extractBlock, fillAllPartialAttributes, - getAttributeSet, mergeBlocks, ) diff --git a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py index c2c47b8b..01e8d434 100644 --- a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py +++ b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py @@ -33,8 +33,8 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) -from geos.mesh.vtkUtils import ( - createAttribute, +from geos.mesh.utils.filters import createAttribute +from geos.mesh.utils.helpers import ( getArrayInObject, getAttributeSet, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py index 5572a345..4d363277 100644 --- a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py +++ b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py @@ -19,7 +19,7 @@ from vtkmodules.vtkCommonDataModel import vtkPolyData, vtkUnstructuredGrid from geos_posp.filters.VolumeSurfaceMeshMapper import VolumeSurfaceMeshMapper -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.helpers import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py index 06b2826a..8ae1828f 100644 --- a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py +++ b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py @@ -13,7 +13,8 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) -import geos.mesh.vtkUtils as vtkUtils +import geos.mesh.utils.filters as vtkFilters +import geos.mesh.utils.helpers as vtkHelpers __doc__ = r""" This module contains utilities to process meshes using pyvista. @@ -61,14 +62,14 @@ def loadDataSet( assert mergedMesh is not None, "Merged mesh is undefined." # extract data - surface = vtkUtils.extractSurfaceFromElevation( mergedMesh, elevation ) + surface = vtkFilters.extractSurfaceFromElevation( mergedMesh, elevation ) # transfer point data to cell center - surface = cast( vtkPolyData, vtkUtils.transferPointDataToCellData( surface ) ) - timeToPropertyMap[ str( time ) ] = vtkUtils.getAttributeValuesAsDF( surface, properties ) + surface = cast( vtkPolyData, vtkFilters.transferPointDataToCellData( surface ) ) + timeToPropertyMap[ str( time ) ] = vtkHelpers.getAttributeValuesAsDF( surface, properties ) # get cell center coordinates assert surface is not None, "Surface are undefined." - pointsCoords: vtkDataArray = vtkUtils.computeCellCenterCoordinates( surface ) + pointsCoords: vtkDataArray = vtkFilters.computeCellCenterCoordinates( surface ) assert pointsCoords is not None, "Cell center are undefined." pointsCoordsNp: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( pointsCoords ) return ( timeToPropertyMap, pointsCoordsNp ) diff --git a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py index 22022915..551075d4 100644 --- a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py +++ b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py @@ -32,7 +32,7 @@ vtkUnstructuredGrid, ) -from geos.mesh.vtkUtils import ( +from geos.mesh.utils.helpers import ( getArrayInObject, isAttributeInObject, ) diff --git a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py index 5de6f2ec..cb45e299 100644 --- a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py +++ b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py @@ -20,8 +20,8 @@ from vtkmodules.vtkCommonDataModel import vtkCellLocator, vtkFieldData, vtkImageData, vtkPointData, vtkPointSet from vtkmodules.vtkFiltersCore import vtkExtractCells, vtkResampleWithDataSet from vtkmodules.vtkFiltersExtraction import vtkExtractGrid -from geos.mesh.vtk.helpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName +from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh from geos.pygeos_tools.model.pyevtk_tools import cGlobalIds from geos.utils.errors_handling.classes import required_attributes From 8614befa9db5248e0e4f1edd54ecedb15b037740 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 12 May 2025 14:44:47 +0200 Subject: [PATCH 39/71] Updating documentation --- docs/geos-mesh.rst | 348 +----------------------------- docs/geos_mesh_docs/converter.rst | 52 +++++ docs/geos_mesh_docs/doctor.rst | 284 ++++++++++++++++++++++++ docs/geos_mesh_docs/home.rst | 4 + docs/geos_mesh_docs/io.rst | 10 + docs/geos_mesh_docs/modules.rst | 14 ++ docs/geos_mesh_docs/utils.rst | 35 +++ 7 files changed, 405 insertions(+), 342 deletions(-) create mode 100644 docs/geos_mesh_docs/converter.rst create mode 100644 docs/geos_mesh_docs/doctor.rst create mode 100644 docs/geos_mesh_docs/home.rst create mode 100644 docs/geos_mesh_docs/io.rst create mode 100644 docs/geos_mesh_docs/modules.rst create mode 100644 docs/geos_mesh_docs/utils.rst diff --git a/docs/geos-mesh.rst b/docs/geos-mesh.rst index 82b85519..81d82205 100644 --- a/docs/geos-mesh.rst +++ b/docs/geos-mesh.rst @@ -1,346 +1,10 @@ - -GEOS Mesh Tools +GEOS Mesh tools ==================== +.. toctree:: + :maxdepth: 5 + :caption: Contents: -Mesh Doctor ---------------- - -``mesh-doctor`` is a ``python`` executable that can be used through the command line to perform various checks, validations, and tiny fixes to the ``vtk`` mesh that are meant to be used in ``geos``. -``mesh-doctor`` is organized as a collection of modules with their dedicated sets of options. -The current page will introduce those modules, but the details and all the arguments can be retrieved by using the ``--help`` option for each module. - -Modules -^^^^^^^ - -To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py --help - usage: mesh_doctor.py [-h] [-v] [-q] -i VTK_MESH_FILE - {collocated_nodes,element_volumes,fix_elements_orderings,generate_cube,generate_fractures,generate_global_ids,non_conformal,self_intersecting_elements,supported_elements} - ... - - Inspects meshes for GEOSX. - - positional arguments: - {collocated_nodes,element_volumes,fix_elements_orderings,generate_cube,generate_fractures,generate_global_ids,non_conformal,self_intersecting_elements,supported_elements} - Modules - collocated_nodes - Checks if nodes are collocated. - element_volumes - Checks if the volumes of the elements are greater than "min". - fix_elements_orderings - Reorders the support nodes for the given cell types. - generate_cube - Generate a cube and its fields. - generate_fractures - Splits the mesh to generate the faults and fractures. [EXPERIMENTAL] - generate_global_ids - Adds globals ids for points and cells. - non_conformal - Detects non conformal elements. [EXPERIMENTAL] - self_intersecting_elements - Checks if the faces of the elements are self intersecting. - supported_elements - Check that all the elements of the mesh are supported by GEOSX. - - options: - -h, --help - show this help message and exit - -v Use -v 'INFO', -vv for 'DEBUG'. Defaults to 'WARNING'. - -q Use -q to reduce the verbosity of the output. - -i VTK_MESH_FILE, --vtk-input-file VTK_MESH_FILE - - Note that checks are dynamically loaded. - An option may be missing because of an unloaded module. - Increase verbosity (-v, -vv) to get full information. - -Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. -For example - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help - usage: mesh_doctor.py collocated_nodes [-h] --tolerance TOLERANCE - - options: - -h, --help show this help message and exit - --tolerance TOLERANCE [float]: The absolute distance between two nodes for them to be considered collocated. - -``mesh-doctor`` loads its module dynamically. -If a module can't be loaded, ``mesh-doctor`` will proceed and try to load other modules. -If you see a message like - -.. code-block:: bash - - [1970-04-14 03:07:15,625][WARNING] Could not load module "collocated_nodes": No module named 'vtkmodules' - -then most likely ``mesh-doctor`` could not load the ``collocated_nodes`` module, because the ``vtk`` python package was not found. -Thereafter, the documentation for module ``collocated_nodes`` will not be displayed. -You can solve this issue by installing the dependencies of ``mesh-doctor`` defined in its ``requirements.txt`` file (``python -m pip install -r requirements.txt``). - -Here is a list and brief description of all the modules available. - -``collocated_nodes`` -"""""""""""""""""""" - -Displays the neighboring nodes that are closer to each other than a prescribed threshold. -It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help - usage: mesh_doctor.py collocated_nodes [-h] --tolerance TOLERANCE - - options: - -h, --help show this help message and exit - --tolerance TOLERANCE [float]: The absolute distance between two nodes for them to be considered collocated. - -``element_volumes`` -""""""""""""""""""" - -Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. -Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py element_volumes --help - usage: mesh_doctor.py element_volumes [-h] --min 0.0 - - options: - -h, --help show this help message and exit - --min 0.0 [float]: The minimum acceptable volume. Defaults to 0.0. - -``fix_elements_orderings`` -"""""""""""""""""""""""""" - -It sometimes happens that an exported mesh does not abide by the ``vtk`` orderings. -The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. -This can be convenient if you cannot regenerate the mesh. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py fix_elements_orderings --help - usage: mesh_doctor.py fix_elements_orderings [-h] [--Hexahedron 1,6,5,4,7,0,2,3] [--Prism5 8,2,0,7,6,9,5,1,4,3] - [--Prism6 11,2,8,10,5,0,9,7,6,1,4,3] [--Pyramid 3,4,0,2,1] - [--Tetrahedron 2,0,3,1] [--Voxel 1,6,5,4,7,0,2,3] - [--Wedge 3,5,4,0,2,1] --output OUTPUT [--data-mode binary, ascii] - - options: - -h, --help show this help message and exit - --Hexahedron 1,6,5,4,7,0,2,3 - [list of integers]: node permutation for "Hexahedron". - --Prism5 8,2,0,7,6,9,5,1,4,3 - [list of integers]: node permutation for "Prism5". - --Prism6 11,2,8,10,5,0,9,7,6,1,4,3 - [list of integers]: node permutation for "Prism6". - --Pyramid 3,4,0,2,1 [list of integers]: node permutation for "Pyramid". - --Tetrahedron 2,0,3,1 [list of integers]: node permutation for "Tetrahedron". - --Voxel 1,6,5,4,7,0,2,3 [list of integers]: node permutation for "Voxel". - --Wedge 3,5,4,0,2,1 [list of integers]: node permutation for "Wedge". - --output OUTPUT [string]: The vtk output file destination. - --data-mode binary, ascii - [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. - -``generate_cube`` -""""""""""""""""" - -This module conveniently generates cubic meshes in ``vtk``. -It can also generate fields with simple values. -This tool can also be useful to generate a trial mesh that will later be refined or customized. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py generate_cube --help - usage: mesh_doctor.py generate_cube [-h] [--x 0:1.5:3] [--y 0:5:10] [--z 0:1] [--nx 2:2] [--ny 1:1] [--nz 4] - [--fields name:support:dim [name:support:dim ...]] [--cells] [--no-cells] - [--points] [--no-points] --output OUTPUT [--data-mode binary, ascii] - - options: - -h, --help show this help message and exit - --x 0:1.5:3 [list of floats]: X coordinates of the points. - --y 0:5:10 [list of floats]: Y coordinates of the points. - --z 0:1 [list of floats]: Z coordinates of the points. - --nx 2:2 [list of integers]: Number of elements in the X direction. - --ny 1:1 [list of integers]: Number of elements in the Y direction. - --nz 4 [list of integers]: Number of elements in the Z direction. - --fields name:support:dim - [name:support:dim ...]: Create fields on CELLS or POINTS, with given dimension (typically 1 or 3). - --cells [bool]: Generate global ids for cells. Defaults to true. - --no-cells [bool]: Don't generate global ids for cells. - --points [bool]: Generate global ids for points. Defaults to true. - --no-points [bool]: Don't generate global ids for points. - --output OUTPUT [string]: The vtk output file destination. - --data-mode binary, ascii - [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. - -``generate_fractures`` -"""""""""""""""""""""" - -For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. -The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py generate_fractures --help - usage: mesh_doctor.py generate_fractures [-h] --policy field, internal_surfaces [--name NAME] [--values VALUES] --output OUTPUT - [--data-mode binary, ascii] [--fractures_output_dir FRACTURES_OUTPUT_DIR] - - options: - -h, --help show this help message and exit - --policy field, internal_surfaces - [string]: The criterion to define the surfaces that will be changed into fracture zones. Possible values are "field, internal_surfaces" - --name NAME [string]: If the "field" policy is selected, defines which field will be considered to define the fractures. - If the "internal_surfaces" policy is selected, defines the name of the attribute will be considered to identify the fractures. - --values VALUES [list of comma separated integers]: If the "field" policy is selected, which changes of the field will be considered as a fracture. - If the "internal_surfaces" policy is selected, list of the fracture attributes. - You can create multiple fractures by separating the values with ':' like shown in this example. - --values 10,12:13,14,16,18:22 will create 3 fractures identified respectively with the values (10,12), (13,14,16,18) and (22). - If no ':' is found, all values specified will be assumed to create only 1 single fracture. - --output OUTPUT [string]: The vtk output file destination. - --data-mode binary, ascii - [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. - --fractures_output_dir FRACTURES_OUTPUT_DIR - [string]: The output directory for the fractures meshes that will be generated from the mesh. - --fractures_data_mode FRACTURES_DATA_MODE - [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. - -``generate_global_ids`` -""""""""""""""""""""""" - -When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. -The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py generate_global_ids --help - usage: mesh_doctor.py generate_global_ids [-h] [--cells] [--no-cells] [--points] [--no-points] --output OUTPUT - [--data-mode binary, ascii] - - options: - -h, --help show this help message and exit - --cells [bool]: Generate global ids for cells. Defaults to true. - --no-cells [bool]: Don't generate global ids for cells. - --points [bool]: Generate global ids for points. Defaults to true. - --no-points [bool]: Don't generate global ids for points. - --output OUTPUT [string]: The vtk output file destination. - --data-mode binary, ascii - [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. - -``non_conformal`` -""""""""""""""""" - -This module will detect elements which are close enough (there's a user defined threshold) but which are not in front of each other (another threshold can be defined). -`Close enough` can be defined in terms or proximity of the nodes and faces of the elements. -The angle between two faces can also be precribed. -This module can be a bit time consuming. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py non_conformal --help - usage: mesh_doctor.py non_conformal [-h] [--angle_tolerance 10.0] [--point_tolerance POINT_TOLERANCE] - [--face_tolerance FACE_TOLERANCE] - - options: - -h, --help show this help message and exit - --angle_tolerance 10.0 [float]: angle tolerance in degrees. Defaults to 10.0 - --point_tolerance POINT_TOLERANCE - [float]: tolerance for two points to be considered collocated. - --face_tolerance FACE_TOLERANCE - [float]: tolerance for two faces to be considered "touching". - -``self_intersecting_elements`` -"""""""""""""""""""""""""""""" - -Some meshes can have cells that auto-intersect. -This module will display the elements that have faces intersecting. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py self_intersecting_elements --help - usage: mesh_doctor.py self_intersecting_elements [-h] [--min 2.220446049250313e-16] - - options: - -h, --help show this help message and exit - --min 2.220446049250313e-16 - [float]: The tolerance in the computation. Defaults to your machine precision 2.220446049250313e-16. - -``supported_elements`` -"""""""""""""""""""""" - -``geos`` supports a specific set of elements. -Let's cite the standard elements like `tetrahedra`, `wedges`, `pyramids` or `hexahedra`. -But also prismes up to 11 faces. -``geos`` also supports the generic ``VTK_POLYHEDRON``/``42`` elements, which are converted on the fly into one of the elements just described. - -The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. -It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. - -.. code-block:: - - $ python src/geos/mesh/doctor/mesh_doctor.py supported_elements --help - usage: mesh_doctor.py supported_elements [-h] [--chunck_size 1] [--nproc 8] - - options: - -h, --help show this help message and exit - --chunck_size 1 [int]: Defaults chunk size for parallel processing to 1 - --nproc 8 [int]: Number of threads used for parallel processing. Defaults to your CPU count 8. - - - -Mesh Conversion --------------------------- - -The `geos-mesh` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). -See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. -The available console scripts for this package and its API are described below. - - -convert_abaqus -^^^^^^^^^^^^^^ - -Compile an xml file with advanced features into a single file that can be read by GEOS. - -.. argparse:: - :module: geos.mesh.conversion.main - :func: build_abaqus_converter_input_parser - :prog: convert_abaqus - - -.. note:: - For vtk format meshes, the user also needs to determine the region ID numbers and names of nodesets to import into GEOS. - The following shows how these could look in an input XML file for a mesh with three regions (*REGIONA*, *REGIONB*, and *REGIONC*) and six nodesets (*xneg*, *xpos*, *yneg*, *ypos*, *zneg*, and *zpos*): - - -.. code-block:: xml - - - - - - - - - - - - -API -^^^ - -.. automodule:: geos.mesh.conversion.abaqus_converter - :members: - - - + ./geos_mesh_docs/home.rst + ./geos_mesh_docs/modules.rst \ No newline at end of file diff --git a/docs/geos_mesh_docs/converter.rst b/docs/geos_mesh_docs/converter.rst new file mode 100644 index 00000000..2b640bb0 --- /dev/null +++ b/docs/geos_mesh_docs/converter.rst @@ -0,0 +1,52 @@ +Mesh Conversion +-------------------------- + +The `geos-mesh` python package includes tools for converting meshes from common formats (abaqus, etc.) to those that can be read by GEOS (gmsh, vtk). +See :ref:`PythonToolsSetup` for details on setup instructions, and `External Mesh Guidelines `_ for a detailed description of how to use external meshes in GEOS. +The available console scripts for this package and its API are described below. + + +convert_abaqus +^^^^^^^^^^^^^^ + +Compile an xml file with advanced features into a single file that can be read by GEOS. + +.. argparse:: + :module: geos.mesh.conversion.main + :func: build_abaqus_converter_input_parser + :prog: convert_abaqus + + +.. note:: + For vtk format meshes, the user also needs to determine the region ID numbers and names of nodesets to import into GEOS. + The following shows how these could look in an input XML file for a mesh with three regions (*REGIONA*, *REGIONB*, and *REGIONC*) and six nodesets (*xneg*, *xpos*, *yneg*, *ypos*, *zneg*, and *zpos*): + + +.. code-block:: xml + + + + + + + + + + + + +API +^^^ + +.. automodule:: geos.mesh.conversion.abaqus_converter + :members: + + diff --git a/docs/geos_mesh_docs/doctor.rst b/docs/geos_mesh_docs/doctor.rst new file mode 100644 index 00000000..0da26c1e --- /dev/null +++ b/docs/geos_mesh_docs/doctor.rst @@ -0,0 +1,284 @@ +Mesh Doctor +--------------- + +``mesh-doctor`` is a ``python`` executable that can be used through the command line to perform various checks, validations, and tiny fixes to the ``vtk`` mesh that are meant to be used in ``geos``. +``mesh-doctor`` is organized as a collection of modules with their dedicated sets of options. +The current page will introduce those modules, but the details and all the arguments can be retrieved by using the ``--help`` option for each module. + +Modules +^^^^^^^ + +To list all the modules available through ``mesh-doctor``, you can simply use the ``--help`` option, which will list all available modules as well as a quick summary. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py --help + usage: mesh_doctor.py [-h] [-v] [-q] -i VTK_MESH_FILE + {collocated_nodes,element_volumes,fix_elements_orderings,generate_cube,generate_fractures,generate_global_ids,non_conformal,self_intersecting_elements,supported_elements} + ... + + Inspects meshes for GEOSX. + + positional arguments: + {collocated_nodes,element_volumes,fix_elements_orderings,generate_cube,generate_fractures,generate_global_ids,non_conformal,self_intersecting_elements,supported_elements} + Modules + collocated_nodes + Checks if nodes are collocated. + element_volumes + Checks if the volumes of the elements are greater than "min". + fix_elements_orderings + Reorders the support nodes for the given cell types. + generate_cube + Generate a cube and its fields. + generate_fractures + Splits the mesh to generate the faults and fractures. [EXPERIMENTAL] + generate_global_ids + Adds globals ids for points and cells. + non_conformal + Detects non conformal elements. [EXPERIMENTAL] + self_intersecting_elements + Checks if the faces of the elements are self intersecting. + supported_elements + Check that all the elements of the mesh are supported by GEOSX. + + options: + -h, --help + show this help message and exit + -v Use -v 'INFO', -vv for 'DEBUG'. Defaults to 'WARNING'. + -q Use -q to reduce the verbosity of the output. + -i VTK_MESH_FILE, --vtk-input-file VTK_MESH_FILE + + Note that checks are dynamically loaded. + An option may be missing because of an unloaded module. + Increase verbosity (-v, -vv) to get full information. + +Then, if you are interested in a specific module, you can ask for its documentation using the ``mesh-doctor module_name --help`` pattern. +For example + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help + usage: mesh_doctor.py collocated_nodes [-h] --tolerance TOLERANCE + + options: + -h, --help show this help message and exit + --tolerance TOLERANCE [float]: The absolute distance between two nodes for them to be considered collocated. + +``mesh-doctor`` loads its module dynamically. +If a module can't be loaded, ``mesh-doctor`` will proceed and try to load other modules. +If you see a message like + +.. code-block:: bash + + [1970-04-14 03:07:15,625][WARNING] Could not load module "collocated_nodes": No module named 'vtkmodules' + +then most likely ``mesh-doctor`` could not load the ``collocated_nodes`` module, because the ``vtk`` python package was not found. +Thereafter, the documentation for module ``collocated_nodes`` will not be displayed. +You can solve this issue by installing the dependencies of ``mesh-doctor`` defined in its ``requirements.txt`` file (``python -m pip install -r requirements.txt``). + +Here is a list and brief description of all the modules available. + +``collocated_nodes`` +"""""""""""""""""""" + +Displays the neighboring nodes that are closer to each other than a prescribed threshold. +It is not uncommon to define multiple nodes for the exact same position, which will typically be an issue for ``geos`` and should be fixed. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py collocated_nodes --help + usage: mesh_doctor.py collocated_nodes [-h] --tolerance TOLERANCE + + options: + -h, --help show this help message and exit + --tolerance TOLERANCE [float]: The absolute distance between two nodes for them to be considered collocated. + +``element_volumes`` +""""""""""""""""""" + +Computes the volumes of all the cells and displays the ones that are below a prescribed threshold. +Cells with negative volumes will typically be an issue for ``geos`` and should be fixed. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py element_volumes --help + usage: mesh_doctor.py element_volumes [-h] --min 0.0 + + options: + -h, --help show this help message and exit + --min 0.0 [float]: The minimum acceptable volume. Defaults to 0.0. + +``fix_elements_orderings`` +"""""""""""""""""""""""""" + +It sometimes happens that an exported mesh does not abide by the ``vtk`` orderings. +The ``fix_elements_orderings`` module can rearrange the nodes of given types of elements. +This can be convenient if you cannot regenerate the mesh. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py fix_elements_orderings --help + usage: mesh_doctor.py fix_elements_orderings [-h] [--Hexahedron 1,6,5,4,7,0,2,3] [--Prism5 8,2,0,7,6,9,5,1,4,3] + [--Prism6 11,2,8,10,5,0,9,7,6,1,4,3] [--Pyramid 3,4,0,2,1] + [--Tetrahedron 2,0,3,1] [--Voxel 1,6,5,4,7,0,2,3] + [--Wedge 3,5,4,0,2,1] --output OUTPUT [--data-mode binary, ascii] + + options: + -h, --help show this help message and exit + --Hexahedron 1,6,5,4,7,0,2,3 + [list of integers]: node permutation for "Hexahedron". + --Prism5 8,2,0,7,6,9,5,1,4,3 + [list of integers]: node permutation for "Prism5". + --Prism6 11,2,8,10,5,0,9,7,6,1,4,3 + [list of integers]: node permutation for "Prism6". + --Pyramid 3,4,0,2,1 [list of integers]: node permutation for "Pyramid". + --Tetrahedron 2,0,3,1 [list of integers]: node permutation for "Tetrahedron". + --Voxel 1,6,5,4,7,0,2,3 [list of integers]: node permutation for "Voxel". + --Wedge 3,5,4,0,2,1 [list of integers]: node permutation for "Wedge". + --output OUTPUT [string]: The vtk output file destination. + --data-mode binary, ascii + [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. + +``generate_cube`` +""""""""""""""""" + +This module conveniently generates cubic meshes in ``vtk``. +It can also generate fields with simple values. +This tool can also be useful to generate a trial mesh that will later be refined or customized. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py generate_cube --help + usage: mesh_doctor.py generate_cube [-h] [--x 0:1.5:3] [--y 0:5:10] [--z 0:1] [--nx 2:2] [--ny 1:1] [--nz 4] + [--fields name:support:dim [name:support:dim ...]] [--cells] [--no-cells] + [--points] [--no-points] --output OUTPUT [--data-mode binary, ascii] + + options: + -h, --help show this help message and exit + --x 0:1.5:3 [list of floats]: X coordinates of the points. + --y 0:5:10 [list of floats]: Y coordinates of the points. + --z 0:1 [list of floats]: Z coordinates of the points. + --nx 2:2 [list of integers]: Number of elements in the X direction. + --ny 1:1 [list of integers]: Number of elements in the Y direction. + --nz 4 [list of integers]: Number of elements in the Z direction. + --fields name:support:dim + [name:support:dim ...]: Create fields on CELLS or POINTS, with given dimension (typically 1 or 3). + --cells [bool]: Generate global ids for cells. Defaults to true. + --no-cells [bool]: Don't generate global ids for cells. + --points [bool]: Generate global ids for points. Defaults to true. + --no-points [bool]: Don't generate global ids for points. + --output OUTPUT [string]: The vtk output file destination. + --data-mode binary, ascii + [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. + +``generate_fractures`` +"""""""""""""""""""""" + +For a conformal fracture to be defined in a mesh, ``geos`` requires the mesh to be split at the faces where the fracture gets across the mesh. +The ``generate_fractures`` module will split the mesh and generate the multi-block ``vtk`` files. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py generate_fractures --help + usage: mesh_doctor.py generate_fractures [-h] --policy field, internal_surfaces [--name NAME] [--values VALUES] --output OUTPUT + [--data-mode binary, ascii] [--fractures_output_dir FRACTURES_OUTPUT_DIR] + + options: + -h, --help show this help message and exit + --policy field, internal_surfaces + [string]: The criterion to define the surfaces that will be changed into fracture zones. Possible values are "field, internal_surfaces" + --name NAME [string]: If the "field" policy is selected, defines which field will be considered to define the fractures. + If the "internal_surfaces" policy is selected, defines the name of the attribute will be considered to identify the fractures. + --values VALUES [list of comma separated integers]: If the "field" policy is selected, which changes of the field will be considered as a fracture. + If the "internal_surfaces" policy is selected, list of the fracture attributes. + You can create multiple fractures by separating the values with ':' like shown in this example. + --values 10,12:13,14,16,18:22 will create 3 fractures identified respectively with the values (10,12), (13,14,16,18) and (22). + If no ':' is found, all values specified will be assumed to create only 1 single fracture. + --output OUTPUT [string]: The vtk output file destination. + --data-mode binary, ascii + [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. + --fractures_output_dir FRACTURES_OUTPUT_DIR + [string]: The output directory for the fractures meshes that will be generated from the mesh. + --fractures_data_mode FRACTURES_DATA_MODE + [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. + +``generate_global_ids`` +""""""""""""""""""""""" + +When running ``geos`` in parallel, `global ids` can be used to refer to data across multiple ranks. +The ``generate_global_ids`` can generate `global ids` for the imported ``vtk`` mesh. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py generate_global_ids --help + usage: mesh_doctor.py generate_global_ids [-h] [--cells] [--no-cells] [--points] [--no-points] --output OUTPUT + [--data-mode binary, ascii] + + options: + -h, --help show this help message and exit + --cells [bool]: Generate global ids for cells. Defaults to true. + --no-cells [bool]: Don't generate global ids for cells. + --points [bool]: Generate global ids for points. Defaults to true. + --no-points [bool]: Don't generate global ids for points. + --output OUTPUT [string]: The vtk output file destination. + --data-mode binary, ascii + [string]: For ".vtu" output format, the data mode can be binary or ascii. Defaults to binary. + +``non_conformal`` +""""""""""""""""" + +This module will detect elements which are close enough (there's a user defined threshold) but which are not in front of each other (another threshold can be defined). +`Close enough` can be defined in terms or proximity of the nodes and faces of the elements. +The angle between two faces can also be precribed. +This module can be a bit time consuming. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py non_conformal --help + usage: mesh_doctor.py non_conformal [-h] [--angle_tolerance 10.0] [--point_tolerance POINT_TOLERANCE] + [--face_tolerance FACE_TOLERANCE] + + options: + -h, --help show this help message and exit + --angle_tolerance 10.0 [float]: angle tolerance in degrees. Defaults to 10.0 + --point_tolerance POINT_TOLERANCE + [float]: tolerance for two points to be considered collocated. + --face_tolerance FACE_TOLERANCE + [float]: tolerance for two faces to be considered "touching". + +``self_intersecting_elements`` +"""""""""""""""""""""""""""""" + +Some meshes can have cells that auto-intersect. +This module will display the elements that have faces intersecting. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py self_intersecting_elements --help + usage: mesh_doctor.py self_intersecting_elements [-h] [--min 2.220446049250313e-16] + + options: + -h, --help show this help message and exit + --min 2.220446049250313e-16 + [float]: The tolerance in the computation. Defaults to your machine precision 2.220446049250313e-16. + +``supported_elements`` +"""""""""""""""""""""" + +``geos`` supports a specific set of elements. +Let's cite the standard elements like `tetrahedra`, `wedges`, `pyramids` or `hexahedra`. +But also prismes up to 11 faces. +``geos`` also supports the generic ``VTK_POLYHEDRON``/``42`` elements, which are converted on the fly into one of the elements just described. + +The ``supported_elements`` check will validate that no unsupported element is included in the input mesh. +It will also verify that the ``VTK_POLYHEDRON`` cells can effectively get converted into a supported type of element. + +.. code-block:: + + $ python src/geos/mesh/doctor/mesh_doctor.py supported_elements --help + usage: mesh_doctor.py supported_elements [-h] [--chunck_size 1] [--nproc 8] + + options: + -h, --help show this help message and exit + --chunck_size 1 [int]: Defaults chunk size for parallel processing to 1 + --nproc 8 [int]: Number of threads used for parallel processing. Defaults to your CPU count 8. \ No newline at end of file diff --git a/docs/geos_mesh_docs/home.rst b/docs/geos_mesh_docs/home.rst new file mode 100644 index 00000000..78cffacb --- /dev/null +++ b/docs/geos_mesh_docs/home.rst @@ -0,0 +1,4 @@ +Home +======== + +**geos-mesh** is a Python package that contains several tools and utilities to handle processing and quality checks of meshes. \ No newline at end of file diff --git a/docs/geos_mesh_docs/io.rst b/docs/geos_mesh_docs/io.rst new file mode 100644 index 00000000..cc98180e --- /dev/null +++ b/docs/geos_mesh_docs/io.rst @@ -0,0 +1,10 @@ +Input/Outputs +^^^^^^^^^^^^^^^^ + +geos.mesh.io.vtkIO module +-------------------------------------- + +.. automodule:: geos.mesh.io.vtkIO + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/geos_mesh_docs/modules.rst b/docs/geos_mesh_docs/modules.rst new file mode 100644 index 00000000..fa6a3558 --- /dev/null +++ b/docs/geos_mesh_docs/modules.rst @@ -0,0 +1,14 @@ +GEOS Mesh tools +=================== + + +.. toctree:: + :maxdepth: 5 + + doctor + + converter + + io + + utils \ No newline at end of file diff --git a/docs/geos_mesh_docs/utils.rst b/docs/geos_mesh_docs/utils.rst new file mode 100644 index 00000000..9651dfdf --- /dev/null +++ b/docs/geos_mesh_docs/utils.rst @@ -0,0 +1,35 @@ +Mesh utilities +^^^^^^^^^^^^^^^^ + +The `utils` module of `geos-mesh` package contains utilities and filters for VTK meshes. + + + +geos.mesh.utils.filters module +---------------------------------------- + +.. automodule:: geos.mesh.utils.filters + :members: + :undoc-members: + :show-inheritance: + + + +geos.mesh.utils.helpers module +-------------------------------------- + +.. automodule:: geos.mesh.utils.helpers + :members: + :undoc-members: + :show-inheritance: + + + +geos.mesh.utils.multiblockInspectorTreeFunctions module +--------------------------------------------------------------- + +.. automodule:: geos.mesh.utils.multiblockInspectorTreeFunctions + :members: + :undoc-members: + :show-inheritance: + From 6b7eb0937a98ae0e2a552dbc7cfbe5289acbe9e0 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 12 May 2025 15:26:59 +0200 Subject: [PATCH 40/71] Typo when refactoring --- geos-mesh/src/geos/mesh/utils/helpers.py | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/geos-mesh/src/geos/mesh/utils/helpers.py b/geos-mesh/src/geos/mesh/utils/helpers.py index be23bc22..0b8f3428 100644 --- a/geos-mesh/src/geos/mesh/utils/helpers.py +++ b/geos-mesh/src/geos/mesh/utils/helpers.py @@ -486,6 +486,39 @@ def getComponentNamesMultiBlock( return () +def getAttributeValuesAsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFrame: + """Get attribute values from input surface. + + Args: + surface (vtkPolyData): mesh where to get attribute values + attributeNames (tuple[str,...]): tuple of attribute names to get the values. + + Returns: + pd.DataFrame: DataFrame containing property names as columns. + + """ + nbRows: int = surface.GetNumberOfCells() + data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) + for attributeName in attributeNames: + if not isAttributeInObject( surface, attributeName, False ): + print( f"WARNING: Attribute {attributeName} is not in the mesh." ) + continue + array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) + + if len( array.shape ) > 1: + for i in range( array.shape[ 1 ] ): + data[ attributeName + f"_{i}" ] = array[ :, i ] + data.drop( + columns=[ + attributeName, + ], + inplace=True, + ) + else: + data[ attributeName ] = array + return data + + def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFrame: """Get attribute values from input surface. From 60374be9939260ca9cac43902e9324a9ae4c1738 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 12 May 2025 16:20:10 +0200 Subject: [PATCH 41/71] Fix documentation --- docs/geos_mesh_docs/io.rst | 5 +---- docs/geos_posp_docs/modules.rst | 2 -- docs/geos_posp_docs/processing.rst | 21 --------------------- 3 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 docs/geos_posp_docs/processing.rst diff --git a/docs/geos_mesh_docs/io.rst b/docs/geos_mesh_docs/io.rst index cc98180e..df56d176 100644 --- a/docs/geos_mesh_docs/io.rst +++ b/docs/geos_mesh_docs/io.rst @@ -4,7 +4,4 @@ Input/Outputs geos.mesh.io.vtkIO module -------------------------------------- -.. automodule:: geos.mesh.io.vtkIO - :members: - :undoc-members: - :show-inheritance: +In progress diff --git a/docs/geos_posp_docs/modules.rst b/docs/geos_posp_docs/modules.rst index 99fcad60..cf77644b 100644 --- a/docs/geos_posp_docs/modules.rst +++ b/docs/geos_posp_docs/modules.rst @@ -6,6 +6,4 @@ Processing filters - processing - pyvistaTools diff --git a/docs/geos_posp_docs/processing.rst b/docs/geos_posp_docs/processing.rst deleted file mode 100644 index c3179a82..00000000 --- a/docs/geos_posp_docs/processing.rst +++ /dev/null @@ -1,21 +0,0 @@ -Processing functions -==================== - -This package define functions to process data. - - -geos.mesh.multiblockInspectorTreeFunctions module ---------------------------------------------------------------- - -.. automodule:: geos.mesh.multiblockInspectorTreeFunctions - :members: - :undoc-members: - :show-inheritance: - -geos.mesh.vtkUtils module ----------------------------------------- - -.. automodule:: geos.mesh.vtkUtils - :members: - :undoc-members: - :show-inheritance: From 50d90c8969f9acd31bdbd9e1bc6411a1caaac0b0 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 12 May 2025 17:05:17 +0200 Subject: [PATCH 42/71] Yapf --- geos-mesh/src/geos/mesh/utils/helpers.py | 3 +-- geos-posp/src/PVplugins/PVAttributeMapping.py | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/geos-mesh/src/geos/mesh/utils/helpers.py b/geos-mesh/src/geos/mesh/utils/helpers.py index 0b8f3428..2a2f1fec 100644 --- a/geos-mesh/src/geos/mesh/utils/helpers.py +++ b/geos-mesh/src/geos/mesh/utils/helpers.py @@ -11,8 +11,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkFieldData, vtkMultiBlockDataSet, vtkDataSet, vtkCompositeDataSet, vtkDataObject, vtkPointData, vtkCellData, vtkDataObjectTreeIterator, vtkPolyData ) -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, - getBlockFromFlatIndex ) +from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) def to_vtk_id_list( data ) -> vtkIdList: diff --git a/geos-posp/src/PVplugins/PVAttributeMapping.py b/geos-posp/src/PVplugins/PVAttributeMapping.py index 5fd6dcfe..d69fa15c 100644 --- a/geos-posp/src/PVplugins/PVAttributeMapping.py +++ b/geos-posp/src/PVplugins/PVAttributeMapping.py @@ -18,10 +18,7 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.AttributeMappingFromCellCoords import ( AttributeMappingFromCellCoords, ) -from geos.mesh.utils.filters import ( - fillPartialAttributes, - mergeBlocks -) +from geos.mesh.utils.filters import ( fillPartialAttributes, mergeBlocks ) from geos.mesh.utils.helpers import ( getAttributeSet, getNumberOfComponents, From f23f8cd7afa40297821e8eef12b1040a09460e17 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Tue, 13 May 2025 10:31:03 +0200 Subject: [PATCH 43/71] Yapf again --- geos-mesh/tests/test_vtkFilters.py | 4 ++-- .../src/geos_posp/filters/AttributeMappingFromCellCoords.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/geos-mesh/tests/test_vtkFilters.py b/geos-mesh/tests/test_vtkFilters.py index 1b2aa69c..7524fb54 100644 --- a/geos-mesh/tests/test_vtkFilters.py +++ b/geos-mesh/tests/test_vtkFilters.py @@ -12,8 +12,8 @@ import vtkmodules.util.numpy_support as vnp from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray -from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, - vtkPointData, vtkCellData, vtkUnstructuredGrid ) +from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, vtkPointData, + vtkCellData, vtkUnstructuredGrid ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py index e737620f..8f022909 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py @@ -28,8 +28,7 @@ ) from geos.mesh.utils.helpers import ( - getVtkArrayInObject, -) + getVtkArrayInObject, ) __doc__ = """ AttributeMappingFromCellCoords module is a vtk filter that map two identical mesh (or a mesh is From 816701d1bc49eb69fad525880ba40b7b0d1fcd89 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 13 May 2025 13:51:47 +0200 Subject: [PATCH 44/71] Add export stats plot and tests --- geos-mesh/pyproject.toml | 3 + .../src/geos/mesh/model/CellTypeCounts.py | 12 + .../geos/mesh/model/QualityMetricSummary.py | 211 +++++++++++- geos-mesh/src/geos/mesh/model/__init__.py | 1 + .../src/geos/mesh/processing/__init__.py | 1 + .../processing/meshQualityMetricHelpers.py | 313 +++++++++++++++--- .../src/geos/mesh/stats/CellTypeCounter.py | 30 +- .../geos/mesh/stats/MeshQualityEnhanced.py | 57 ++-- geos-mesh/src/geos/mesh/stats/__init__.py | 1 + geos-mesh/tests/test_CellTypeCounter.py | 4 +- geos-mesh/tests/test_MeshQualityEnhanced.py | 144 ++++++++ geos-mesh/tests/test_QualityMetricSummary.py | 27 +- geos-mesh/tests/test_meshQualityHelpers.py | 23 +- geos-pv/src/PVplugins/PVCellTypeCounter.py | 2 +- .../PVplugins/PVSurfaceMeshQualityEnhanced.py | 54 +-- geos-utils/tests/testsGeometryFunctions.py | 7 +- 16 files changed, 744 insertions(+), 146 deletions(-) create mode 100644 geos-mesh/src/geos/mesh/model/__init__.py create mode 100644 geos-mesh/src/geos/mesh/processing/__init__.py create mode 100644 geos-mesh/src/geos/mesh/stats/__init__.py create mode 100644 geos-mesh/tests/test_MeshQualityEnhanced.py diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index e56a02ad..d0363b2d 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -25,12 +25,15 @@ classifiers = [ requires-python = ">=3.10" dependencies = [ + "geos-utils @ file:./geos-utils", "vtk >= 9.3", "networkx >= 2.4", "tqdm >= 4.67", "numpy >= 2.2", + "pandas >= 2.2", "meshio >= 5.3", "typing_extensions >= 4.12", + "matplotlib >= 3.10" ] [project.scripts] diff --git a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py index 534ba192..59bd3a4f 100644 --- a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -43,6 +43,14 @@ def __add__( self: Self, other: Self ) -> Self: newCounts._counts = self._counts + other._counts return newCounts + def getCounts( self: Self ) -> npt.NDArray[ np.int64 ]: + """Get all counts. + + Returns: + npt.NDArray[ np.int64 ]: counts + """ + return self._counts + def addType( self: Self, cellType: int ) -> None: """Increment the number of cell of input type. @@ -74,6 +82,10 @@ def getTypeCount( self: Self, cellType: int ) -> int: """ return int( self._counts[ cellType ] ) + def reset(self: Self) ->None: + """Reset counts.""" + self._counts = np.zeros( VTK_NUMBER_OF_CELL_TYPES, dtype=float ) + def _updateGeneralCounts( self: Self, cellType: int, count: int ) -> None: """Update generic type counters. diff --git a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py index 5c76d646..87636734 100644 --- a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py +++ b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py @@ -5,15 +5,23 @@ import numpy.typing as npt import pandas as pd from enum import Enum +from typing import Any from typing_extensions import Self +from packaging.version import Version +import matplotlib as mpl +import matplotlib.pyplot as plt +from matplotlib.patches import Rectangle +from matplotlib.figure import Figure +from matplotlib.axes import Axes from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) from geos.mesh.processing.meshQualityMetricHelpers import ( getAllCellTypesExtended, + getQualityMeasureNameFromIndex, QualityMetricEnum, - qualityMetricsFromCellType + QualityRange ) from geos.mesh.model.CellTypeCounts import CellTypeCounts @@ -91,10 +99,12 @@ def getTypeFromIndex(index: int) ->object: """ return list(StatTypes)[index].getType() +_RANGE_COLORS: tuple[str, str, str] = ('lightcoral', 'sandybrown', 'palegreen', ) + class QualityMetricSummary(): _LEVELS: tuple[str] = ("MetricIndex", "CellType") - _STATS_NUMBER: tuple[str] = ("Count", "Mean", "StdDev", "Min", "Max") + _CELL_TYPES_PLOT: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_POLYGON, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYHEDRON) def __init__(self: Self ) ->None: """CellTypeCounts stores the number of cells of each type.""" @@ -109,7 +119,7 @@ def _initStats(self: Self) ->None: cellTypes: list[int] = getAllCellTypesExtended() indexes = [(metric.metricIndex, cellType) for metric in list(QualityMetricEnum) for cellType in cellTypes if metric.isApplicableToCellType(cellType)] df_indexes: pd.MultiIndex = pd.MultiIndex.from_tuples((indexes), names=self._LEVELS) - nb_rows: int = len(self._STATS_NUMBER) + nb_rows: int = len(list(StatTypes)) nb_col: int = df_indexes.size self._stats = pd.DataFrame(np.full((nb_rows, nb_col), np.nan), columns=df_indexes, index=rows) @@ -138,7 +148,7 @@ def setCellTypeCounts(self: Self, counts: CellTypeCounts) ->None: """ self._counts = counts - def getCellTypeCounts(self: Self)-> float: + def getCellTypeCountsObject(self: Self)-> int: """Get cell type counts. Returns: @@ -146,7 +156,7 @@ def getCellTypeCounts(self: Self)-> float: """ return self._counts - def getCellTypeCountsOfCellType(self: Self, cellType: int)-> float: + def getCellTypeCountsOfCellType(self: Self, cellType: int)-> int: """Get cell type counts. Returns: @@ -158,22 +168,38 @@ def isStatsValidForMetricAndCellType(self: Self, metricIndex: int, cellType: int, ) ->bool: - print(np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType)))) + """Returns True if input quality metric applies to input cell type. + + Args: + metricIndex (int): metric index + cellType (int): cell type index + + Returns: + bool: True if input quality metric applies + """ return np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType))) def getAllStats(self: Self)-> pd.DataFrame: - """Get all mesh stats. + """Get all mesh stats including nan values. Returns: pd.DataFrame: stats """ return self._stats - def getStatValueToMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - statType: StatTypes, - ) -> float: + def getAllValidStats(self: Self)-> pd.DataFrame: + """Get all valid mesh stats. + + Returns: + pd.DataFrame: stats + """ + return self._stats.dropna(axis=1) + + def getStatValueFromStatMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + ) -> float: """Get stat value for the given metric and cell types. Args: @@ -231,12 +257,12 @@ def getStatsFromCellType(self: Self, """ return self._stats.xs(cellType, level=self._LEVELS[1], axis=1) - def setStatValueToMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - statType: StatTypes, - value: int | float - ) -> None: + def setStatValueFromStatMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + value: int | float + ) -> None: """Set stats for the given metric and cell types. Args: @@ -249,4 +275,153 @@ def setStatValueToMetricAndCellType(self: Self, raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") self._stats.loc[statType.getIndex(), (metricIndex, cellType)] = value + def getComputedMetricIndexes(self: Self) ->list[Any]: + """Get the list of index of computed metrics. + + Returns: + tuple[int]: list of metrics index + """ + validStats: pd.DataFrame = self.getAllValidStats() + columns: pd.MultiIndex = validStats.columns + return np.unique(columns.get_level_values(0)).tolist() + def plotSummaryFigure(self: Self) -> Figure: + """Plot quality metric summary figure. + + Returns: + plt.figure: output Figure + """ + computedMetrics: list[int] = self.getComputedMetricIndexes() + # compute layout + nbAxes: int = len(computedMetrics) + 1 + ncols: int = 3 + nrows: int = 1 + if nbAxes not in (1, 2, 3, 5, 6, 9): + ncols = 4 + nrows: int = nbAxes // ncols + if nbAxes % ncols > 0: + nrows += 1 + figSize = (ncols * 3, nrows * 4) + fig, axes = plt.subplots(nrows, ncols, figsize=figSize, tight_layout=True) + axesFlat = axes.flatten() + + # plot cell type counts + self._plotCellTypeCounts(axesFlat[0]) + + # plot quality metrics + for i in range(1, nbAxes, 1): + ax: Axes = axesFlat[i] + self._plotAx(ax, computedMetrics[i-1]) + for ax in axesFlat[nbAxes:]: + ax.remove() + return fig + + def _plotCellTypeCounts(self: Self, ax: Axes) ->None: + """Plot cell type counts. + + Args: + ax (Axes): Axes object + """ + xticks: npt.NDArray[np.int64] = np.arange(len(self._CELL_TYPES_PLOT), dtype=int) + xtickslabels = [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk") for cellType in self._CELL_TYPES_PLOT] + toplot: list[int] = [self._counts.getTypeCount(cellType) for cellType in self._CELL_TYPES_PLOT] + p = ax.bar(xtickslabels, toplot) + # bar_label only for matplotlib version >= 3.3 + if Version(mpl.__version__) >= Version("3.3"): + plt.bar_label(p, label_type='center', rotation=90, padding=5) + ax.set_xticks(xticks) + ax.set_xticklabels(xtickslabels, rotation=30, ha="right") + ax.set_xlabel("Cell types") + ax.set_title("Cell Type Counts") + + def _plotAx(self: Self, ax: Axes, metricIndex: int) ->None: + """Plot a single Axes. + + Args: + ax (Axes): Axes object + metricIndex (int): metric index + """ + # get data to plot + maxs: pd.Series = self._stats.loc[StatTypes.MAX.getIndex(), metricIndex] + mins: pd.Series = self._stats.loc[StatTypes.MIN.getIndex(), metricIndex] + means: pd.Series = self._stats.loc[StatTypes.MEAN.getIndex(), metricIndex] + xticks: npt.NDArray[np.int64] = np.arange(means.index.size, dtype=int) + stdDev: pd.Series = self._stats.loc[StatTypes.STD_DEV.getIndex(), metricIndex] + + # order of cell types in each axes + xtickslabels: list[str] = [] + # min max rectangle width + recWidth: float = 0.5 + # range rectangle width + rangeRecWidth: float = 1.8 * recWidth + ylim0: float = mins.max() + ylim1: float = maxs.min() + xtick: float = 0.0 + for k, cellType in enumerate(self._CELL_TYPES_PLOT): + if cellType in means.index: + xtickslabels += [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk")] + # add quality range patches if relevant + qualityRange: QualityRange | None = list(QualityMetricEnum)[metricIndex].getQualityRange(cellType) + if qualityRange is not None: + (ylim0, ylim1) = self._plotQualityRange(ax, qualityRange, xtick - rangeRecWidth / 2.0, (ylim0, ylim1), rangeRecWidth) + else: + # add white patch for tick alignment + ax.add_patch(Rectangle((xtick - rangeRecWidth / 2.0, 0.), rangeRecWidth, 1.0, + facecolor = 'w', fill=True,)) + # add rectangle from min to max + x: float = xtick - recWidth / 2.0 + y: float = mins[cellType] + recHeight: float = maxs[cellType] - mins[cellType] + ax.add_patch(Rectangle((x, y), recWidth, recHeight, + edgecolor = 'black', + fill=False, + lw=1)) + + # plot mean and error bars for std dev + ax.errorbar(k, means[cellType], yerr=stdDev[cellType], fmt='-o', color='k') + xtick += 1.0 + + # set y axis limits + ax.set_ylim(0.1*ylim0, 1.1*ylim1) + # set x tick names + ax.set_xticks(xticks)#, xtickslabels, rotation=30, ha="right") + ax.set_xticklabels(xtickslabels, rotation=30, ha="right") + ax.set_xlabel("Cell types") + ax.set_title(f"{getQualityMeasureNameFromIndex(metricIndex)}") + + def _plotQualityRange(self: Self, + ax: Axes, + qualityRange: QualityRange, + x: float, + ylim: tuple[float, float], + rangeRecWidth: float + ) ->tuple[float, float]: + """Plot quality range patches. + + Args: + ax (Axes): axes object + qualityRange (QualityRange): quality ranges to plot + x (float): origin abscissa of the patches + ylim (tuple[float, float]): y limits for updates + rangeRecWidth (float): patch width + + Returns: + tuple[float, float]: y limits for updates + """ + ylim0: float = ylim[0] + ylim1: float = ylim[1] + for k, (vmin, vmax) in enumerate((qualityRange.fullRange, qualityRange.normalRange, qualityRange.acceptableRange)): + if not np.isfinite(vmin): + vmin = -1e12 + else: + ylim0 = min(ylim0, vmin) + if not np.isfinite(vmax): + vmax = 1e12 + else: + ylim1 = max(ylim1, vmax) + y: float = vmin + recHeight = vmax - vmin + ax.add_patch(Rectangle((x, y), rangeRecWidth, recHeight, + facecolor = _RANGE_COLORS[k], + fill=True,)) + return (ylim0, ylim1) diff --git a/geos-mesh/src/geos/mesh/model/__init__.py b/geos-mesh/src/geos/mesh/model/__init__.py new file mode 100644 index 00000000..b7db2541 --- /dev/null +++ b/geos-mesh/src/geos/mesh/model/__init__.py @@ -0,0 +1 @@ +# Empty diff --git a/geos-mesh/src/geos/mesh/processing/__init__.py b/geos-mesh/src/geos/mesh/processing/__init__.py new file mode 100644 index 00000000..b7db2541 --- /dev/null +++ b/geos-mesh/src/geos/mesh/processing/__init__.py @@ -0,0 +1 @@ +# Empty diff --git a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py index 530a3a7c..f9068fb3 100644 --- a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py +++ b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py @@ -1,12 +1,13 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Antoine Mazuyer, Martin Lemay -from typing import Optional, Iterable +from dataclasses import dataclass +import numpy as np +from typing import Optional from typing_extensions import Self from enum import Enum from vtkmodules.vtkFiltersVerdict import vtkMeshQuality from vtkmodules.vtkCommonDataModel import ( - vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) @@ -15,23 +16,34 @@ Helpers for MeshQuality metrics. """ +@dataclass( frozen=True ) +class QualityRange(): + """Defines metric quality ranges.""" + acceptableRange: tuple[float, float] + normalRange: tuple[float, float] + fullRange: tuple[float, float] + class QualityMetricAbstractEnum(Enum): def __init__(self: Self, qualityMeasureTypesIndex: vtkMeshQuality.QualityMeasureTypes, name: str, - applicableToCellTypes: tuple[bool, ...] + applicableToCellTypes: tuple[bool, ...], + qualityRanges: tuple[QualityRange | None,...], ) -> None: """Define the enumeration to add attributes to mesh quality measures. Args: qualityMeasureTypesIndex (vtkMeshQuality.QualityMeasureTypes): index of QualityMeasureTypes name (str): name of the metric - cellTypes (tuple[bool, ...]): tuple defining for each cell type if the + applicableToCellTypes (tuple[bool, ...]): tuple defining for each cell type if the metric is applicable. + qualityRanges (tuple[QualityRange | None,...]): quality range limits for each cell type + starting from best to worst quality. """ self.metricIndex: str = int(qualityMeasureTypesIndex) self.metricName: int = name self.applicableToCellTypes: tuple[bool] = applicableToCellTypes + self.qualityRanges: tuple[QualityRange | None,...] = qualityRanges def isApplicableToCellType(self: Self, cellType: int) ->bool: """Return True if the metric is applicable to input cell type, False otherwise. @@ -54,6 +66,21 @@ def isApplicableToCellType(self: Self, cellType: int) ->bool: return False return True + def getQualityRange(self: Self, cellType: int) -> Optional[QualityRange]: + """Get quality range for input cell type. + + Args: + cellType (int): cell type index + + Returns: + tuple[float, float, float, float, bool] | None: quality range from best to worst. Last element + yields True if the range is symmetrical to negative values. + """ + if cellType not in getAllCellTypes(): + return None + cellTypeIndex: int = getAllCellTypes().index(cellType) + return self.qualityRanges[cellTypeIndex] + #: from https://vtk.org/doc/nightly/html/vtkMeshQuality_8h_source.html class QualityMetricEnum(QualityMetricAbstractEnum): """Mesh quality metric enumeration. @@ -64,44 +91,246 @@ class QualityMetricEnum(QualityMetricAbstractEnum): .. CAUTION:: The order of the enum must follow the one of vtkMeshQuality.QualityMeasureTypes. """ - EDGE_RATIO = (vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, "Edge Ratio", (True, True, True, False, True, True)) - ASPECT_RATIO = (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, "Aspect Ratio", (True, True, True, False, False, False)) - RADIUS_RATIO = (vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, "Radius Ratio", (True, True, True, False, False, False)) - ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, "Aspect Frobenius", (True, False, True, False, False, False)) - MEDIAN_ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, "Med Aspect Frobenius", (False, True, False, False, False, True)) - MAXIMUM_ASPECT_FROBENIUS= (vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, "Maximum Aspect Frobenius", (False, True, False, False, True, True)) - MINIMUM_ANGLE = (vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, "Minimum Angle", (True, True, True, False, False, False)) - COLLAPSE_RATIO = (vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, "Collapse Ratio", (False, False, True, False, False, False)) - MAXIMUM_ANGLE = (vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, "Maximum Angle", (True, True, False, False, False, False)) - CONDITION = (vtkMeshQuality.QualityMeasureTypes.CONDITION, "Condition", (True, True, True, False, True, True)) - SCALED_JACOBIAN = (vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, "Scaled Jacobian", (True, True, True, True, True, True)) - SHEAR = (vtkMeshQuality.QualityMeasureTypes.SHEAR, "Shear", (False, True, False, False, False, True)) - RELATIVE_SIZE_SQUARED = (vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, "Relative Size Squared", (True, True, True, False, False, True)) - SHAPE = (vtkMeshQuality.QualityMeasureTypes.SHAPE, "Shape", (True, True, True, True, True, True)) - SHAPE_AND_SIZE = (vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, "Shape And Size", (True, True, True, False, False, True)) - DISTORTION = (vtkMeshQuality.QualityMeasureTypes.DISTORTION, "Distortion", (True, True, True, False, True, True)) - MAXIMUM_EDGE_RATIO = (vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, "Maximum Edge Ratio", (False, True, False, False, False, True)) - SKEW = (vtkMeshQuality.QualityMeasureTypes.SKEW, "Skew", (False, True, False, False, False, True)) - TAPER = (vtkMeshQuality.QualityMeasureTypes.TAPER, "Taper", (False, True, False, False, False, True)) - VOLUME = (vtkMeshQuality.QualityMeasureTypes.VOLUME, "Volume", (False, False, True, True, True, True)) - STRETCH = (vtkMeshQuality.QualityMeasureTypes.STRETCH, "Stretch", (False, True, False, False, False, True)) - DIAGONAL = (vtkMeshQuality.QualityMeasureTypes.DIAGONAL, "Diagonal", (False, False, False, False, False, True)) - DIMENSION = (vtkMeshQuality.QualityMeasureTypes.DIMENSION, "Dimension", (False, False, False, False, False, True)) - ODDY = (vtkMeshQuality.QualityMeasureTypes.ODDY, "Oddy", (False, True, False, False, False, True)) - SHEAR_AND_SIZE = (vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, "Shear And Size", (False, True, False, False, False, True)) - JACOBIAN = (vtkMeshQuality.QualityMeasureTypes.JACOBIAN, "Jacobian", (False, True, True, True, True, True)) - WARPAGE = (vtkMeshQuality.QualityMeasureTypes.WARPAGE, "Warpage", (False, True, False, False, False, False)) - ASPECT_GAMMA = (vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, "Aspect Gamma", (False, False, True, False, False, False)) - AREA = (vtkMeshQuality.QualityMeasureTypes.AREA, "Area", (True, True, False, False, False, False)) - EQUIANGLE_SKEW = (vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, "Equiangle Skew", (True, True, True, True, True, True)) - EQUIVOLUME_SKEW = (vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, "Equivolume Skew", (False, False, True, False, False, False)) - MAXIMUM_STRETCH = (vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, "Maximum Stretch", (False, False, False, False, True, False)) - MEAN_ASPECT_FROBENIUS = (vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, "Mean Aspect Frobenius", (False, False, False, False, True, False)) - MEAN_RATIO = (vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, "Mean Ratio", (False, False, True, False, False, False)) - NODAL_JACOBIAN_RATIO = (vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, "Nodal Jacobian Ratio", (False, False, False, False, False, True)) - NORMALIZED_INRADIUS = (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, "Normalized Inradius", (True, False, True, False, False, False)) - SQUISH_INDEX = (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, "Squish index", (False, False, True, False, False, False)) - NONE = (vtkMeshQuality.QualityMeasureTypes.NONE, "None", (False, False, False, False, False, False)) + EDGE_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + "Edge Ratio", + (True, True, True, False, True, True), + (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, + QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)),) + ) + ASPECT_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, + "Aspect Ratio", + (True, True, True, False, False, False), + (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ) + RADIUS_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, + "Radius Ratio", + (True, True, True, False, False, False), + (QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ) + ASPECT_FROBENIUS = ( + vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, + "Aspect Frobenius", + (True, False, True, False, False, False), + (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None), + ) + MEDIAN_ASPECT_FROBENIUS = ( + vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, + "Med Aspect Frobenius", + (False, True, False, False, False, True), + (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 3.0), (1.0, 3.0), (9.0, np.inf))) + ) + MAXIMUM_ASPECT_FROBENIUS = ( + vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, + "Maximum Aspect Frobenius", + (False, True, False, False, True, True), + (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf))) + ) + MINIMUM_ANGLE = ( + vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, + "Minimum Angle (°)", + (True, True, True, False, False, False), + (QualityRange((30.0, 60.0), (0.0, 60.0), (0.0, 360.0)), QualityRange((45.0, 90.0), (0.0, 90.0), (0.0, 360.)), + QualityRange((40.0, 180./np.pi*np.arccos(1/3)), (0.0, 180./np.pi*np.arccos(1/3)), (0.0, 360.0)), None, None, None) + ) + COLLAPSE_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, + "Collapse Ratio", + (False, False, True, False, False, False), + (None, None, QualityRange((0.1, 1.0), (0.0, np.inf), (0.0, np.inf)), None, None, None) + ) + MAXIMUM_ANGLE = ( + vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, + "Maximum Angle (°)", + (True, True, False, False, False, False), + (QualityRange((60., 90.0), (60.0, 180.0), (0.0, 180.0)), QualityRange((90.0, 135.0), (90.0, 360.0), (0.0, 360.)), None, None, None, None) + ) + CONDITION = ( + vtkMeshQuality.QualityMeasureTypes.CONDITION, + "Condition", + (True, True, True, False, True, True), + (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, + QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf))), + ) + SCALED_JACOBIAN = ( + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, + "Scaled Jacobian", + (True, True, True, True, True, True), + (QualityRange((0.5, 2.0*np.sqrt(3)/3.0), (-2.0*np.sqrt(3)/3.0, 2.0*np.sqrt(3)/3.0), (-np.inf, np.inf)), QualityRange((0.30, 1.0), (-1.0, 1.0), (-1.0, np.inf)), + QualityRange((0.5, 0.5*np.sqrt(2)), (-0.5*np.sqrt(2), 0.5*np.sqrt(2)), (-np.inf, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), + QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)),), + ) + SHEAR = ( + vtkMeshQuality.QualityMeasureTypes.SHEAR, + "Shear", + (False, True, False, False, False, True), + (None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)))) + RELATIVE_SIZE_SQUARED = ( + vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + "Relative Size Squared", + (True, True, True, False, False, True), + (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.6), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.50), (0.0, 1.0), (0.0, 1.0)), None, None, QualityRange((0.50, 1.0), (0.0, 1.0), (0.0, 1.0))), + ) + SHAPE = ( + vtkMeshQuality.QualityMeasureTypes.SHAPE, + "Shape", + (True, True, True, True, True, True), + (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), + QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)),), + ) + SHAPE_AND_SIZE = ( + vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, + "Shape And Size", + (True, True, True, False, False, True), + (QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), + QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)),), + ) + DISTORTION = ( + vtkMeshQuality.QualityMeasureTypes.DISTORTION, + "Distortion", + (True, True, True, False, True, True), + (QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), None, + QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)),), + ) + MAXIMUM_EDGE_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, + "Maximum Edge Ratio", + (False, True, False, False, False, True), + (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf))) + ) + SKEW = ( + vtkMeshQuality.QualityMeasureTypes.SKEW, + "Skew", + (False, True, False, False, False, True), + (None, QualityRange((0.5, 1.0), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0))) + ) + TAPER = ( + vtkMeshQuality.QualityMeasureTypes.TAPER, + "Taper", + (False, True, False, False, False, True), + (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf))) + ) + VOLUME = ( + vtkMeshQuality.QualityMeasureTypes.VOLUME, + "Volume (m3)", + (False, False, True, True, True, True), + (None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), + QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf))), + ) + STRETCH = ( + vtkMeshQuality.QualityMeasureTypes.STRETCH, + "Stretch", + (False, True, False, False, False, True), + (None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf))) + ) + DIAGONAL = ( + vtkMeshQuality.QualityMeasureTypes.DIAGONAL, + "Diagonal", + (False, False, False, False, False, True), + (None, None, None, None, None, QualityRange((0.65, 1.0), (0.0, 1.0), (0.0, np.inf)),) + ) + # acceptable range is application dependent. + DIMENSION = ( + vtkMeshQuality.QualityMeasureTypes.DIMENSION, + "Dimension (m)", + (False, False, False, False, False, True), + (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf)),) + ) + ODDY = ( + vtkMeshQuality.QualityMeasureTypes.ODDY, + "Oddy", + (False, True, False, False, False, True), + (None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)),) + ) + SHEAR_AND_SIZE = ( + vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, + "Shear And Size", + (False, True, False, False, False, True), + (None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0))) + ) + JACOBIAN = ( + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, + "Jacobian", + (False, True, True, True, True, True), + (None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), + QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)),) + ) + WARPAGE = ( + vtkMeshQuality.QualityMeasureTypes.WARPAGE, + "Warpage", + (False, True, False, False, False, False), + (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, None) + ) + ASPECT_GAMMA = ( + vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, + "Aspect Gamma", + (False, False, True, False, False, False), + (None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (0.0, np.inf)), None, None, None) + ) + AREA = ( + vtkMeshQuality.QualityMeasureTypes.AREA, + "Area (m2)", + (True, True, False, False, False, False), + (QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), None, None, None, None), + ) + EQUIANGLE_SKEW = ( + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, + "Equiangle Skew", + (True, True, True, True, True, True), + (QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), + QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)),) + ) + EQUIVOLUME_SKEW = ( + vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, + "Equivolume Skew", + (False, False, True, False, False, False), + (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) + ) + MAXIMUM_STRETCH = ( + vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, + "Maximum Stretch", + (False, False, False, False, True, False), + (None, None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None) + ) + MEAN_ASPECT_FROBENIUS = ( + vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, + "Mean Aspect Frobenius", + (False, False, False, False, True, False), + (None, None, None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None) + ) + MEAN_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, + "Mean Ratio", + (False, False, True, False, False, False), + (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) + ) + NODAL_JACOBIAN_RATIO = ( + vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, + "Nodal Jacobian Ratio", + (False, False, False, False, False, True), + (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf))) + ) + NORMALIZED_INRADIUS = ( + vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, + "Normalized Inradius", + (True, False, True, False, False, False), + (QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, None, None) + ) + SQUISH_INDEX = ( + vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, + "Squish index", + (False, False, True, False, False, False), + (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) + ) + NONE = ( + vtkMeshQuality.QualityMeasureTypes.NONE, + "None", + (False, False, False, False, False, False), + (None, None, None, None, None, None) + ) + def getAllCellTypesExtended() -> list[int]: """Get all cell type ids. diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index c596ad6f..149867f9 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -12,7 +12,6 @@ VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) from geos.mesh.model.CellTypeCounts import CellTypeCounts - from geos.mesh.processing.meshQualityMetricHelpers import getAllCellTypes __doc__ = """ @@ -36,7 +35,7 @@ # do calculations filter.Update() # get counts - counts :CellTypeCounts = filter.GetCellTypeCounts() + counts :CellTypeCounts = filter.GetCellTypeCountsObject() """ @@ -45,20 +44,7 @@ class CellTypeCounter( VTKPythonAlgorithmBase ): def __init__( self ) -> None: """CellTypeCounter filter computes mesh stats.""" super().__init__( nInputPorts=1, nOutputPorts=1, inputType="vtkUnstructuredGrid", outputType="vtkTable" ) - self.counts: CellTypeCounts - - def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestInformation. - - Args: - port (int): input port - info (vtkInformationVector): info - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - if port == 0: - info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + self._counts: CellTypeCounts = CellTypeCounts() def RequestData( self: Self, @@ -82,11 +68,11 @@ def RequestData( assert outTable is not None, "Output table is undefined." # compute cell type counts - self.counts = CellTypeCounts() - self.counts.setTypeCount( VTK_VERTEX, inData.GetNumberOfPoints() ) + self._counts.reset() + self._counts.setTypeCount( VTK_VERTEX, inData.GetNumberOfPoints() ) for i in range( inData.GetNumberOfCells() ): cell: vtkCell = inData.GetCell( i ) - self.counts.addType( cell.GetCellType() ) + self._counts.addType( cell.GetCellType() ) # create output table # first reset output table @@ -100,14 +86,14 @@ def RequestData( array.SetName( vtkCellTypes.GetClassNameFromTypeId( cellType ) ) array.SetNumberOfComponents( 1 ) array.SetNumberOfValues( 1 ) - array.SetValue( 0, self.counts.getTypeCount( cellType ) ) + array.SetValue( 0, self._counts.getTypeCount( cellType ) ) outTable.AddColumn( array ) return 1 - def GetCellTypeCounts( self: Self ) -> CellTypeCounts: + def GetCellTypeCountsObject( self: Self ) -> CellTypeCounts: """Get CellTypeCounts object. Returns: CellTypeCounts: CellTypeCounts object. """ - return self.counts + return self._counts diff --git a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py index b473cb7b..2eb8cb66 100644 --- a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py +++ b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py @@ -34,7 +34,6 @@ from geos.mesh.stats.CellTypeCounter import CellTypeCounter from geos.mesh.model.CellTypeCounts import CellTypeCounts from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes -from geos.utils.geometryFunctions import computeAngleFromPoints, computeNormalFromPoints, computeAngleFromVectors from geos.mesh.vtk.helpers import getAttributesFromDataSet from geos.mesh.processing.meshQualityMetricHelpers import ( getQualityMeasureNameFromIndex, @@ -50,6 +49,13 @@ getQualityMeasureFromCellType, getChildrenCellTypes, ) +# from geos.utils.geometryFunctions import ( +# computeAngleFromPoints, +# computeNormalFromPoints, +# computeAngleFromVectors +# ) +import geos.utils.geometryFunctions as fcts + __doc__ = """ MeshQualityEnhanced module is a vtk filter that computes mesh quality stats. @@ -144,6 +150,14 @@ def RequestDataObject( outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) return super().RequestDataObject( request, inInfoVec, outInfoVec ) # type: ignore[no-any-return] + def GetQualityMetricSummary(self :Self)-> QualityMetricSummary: + """Get QualityMetricSummary object. + + Returns: + QualityMetricSummary: QualityMetricSummary object + """ + return self._qualityMetricSummary + def SetTriangleMetrics(self :Self, metrics: Optional[set[int]]) -> None: """Set triangle quality metrics to compute. @@ -272,9 +286,7 @@ def RequestData(self: Self, self._outputMesh = self.GetOutputData(outInfoVec, 0) assert inData is not None, "Input mesh is undefined." assert self._outputMesh is not None, "Ouput pipeline is undefined." - self._outputMesh.ShallowCopy( inData ) - print(f"nb cells Input mesh {inData.GetNumberOfCells()}") # compute cell type counts self._computeCellTypeCounts() @@ -292,11 +304,6 @@ def RequestData(self: Self, # TODO move calculation in _evaluateMeshQuality - # cellCounter: CellTypeCounter = CellTypeCounter() - # cellCounter.SetInputDataObject(inData) - # cellCounter.Update() - # cellCounts: CellTypeCounts = cellCounter.GetCellTypeCounts() - # EL_data = [[],[]] # VIE_data =[[],[]] # self.EdgesLgth_VertexIncidentEdges(inData, EL_data, VIE_data) @@ -323,7 +330,7 @@ def _computeCellTypeCounts(self: Self) ->None: filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject( self._outputMesh ) filter.Update() - counts: CellTypeCounts = filter.GetCellTypeCounts() + counts: CellTypeCounts = filter.GetCellTypeCountsObject() assert counts is not None, "CellTypeCounts is undefined" self._qualityMetricSummary.setCellTypeCounts(counts) @@ -482,10 +489,12 @@ def _updateStatsSummaryByCellType(self: Self, std: float = float(np.nanstd(npArray[cellTypeMask])) mini: float = float(np.nanmin(npArray[cellTypeMask])) maxi: float = float(np.nanmax(npArray[cellTypeMask])) - self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, mean) - self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, std) - self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MIN, mini) - self._qualityMetricSummary.setStatValueToMetricAndCellType(metricIndex, cellType, StatTypes.MAX, maxi) + count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, mean) + self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, std) + self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MIN, mini) + self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MAX, maxi) + self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.COUNT, count) def _createFieldDataStatsSummary(self: Self) ->None: @@ -510,7 +519,7 @@ def _createFieldDataStatsSummary(self: Self) ->None: for metricIndex in metrics: # one array per statistic number except Count (last one) for statType in list(StatTypes)[:-1]: - value: int = self._qualityMetricSummary.getStatValueToMetricAndCellType(metricIndex, cellType, statType) + value: int = self._qualityMetricSummary.getStatValueFromStatMetricAndCellType(metricIndex, cellType, statType) name = self._createArrayName(cellType, metricIndex, statType) array: vtkDoubleArray = vtkDoubleArray() array.SetName(name) @@ -578,7 +587,7 @@ def GetNormalVector(self: Self, ptsCoords: npt.NDArray[np.float64] = np.zeros((3, 3), dtype=float) for i in range(3): points.GetPoint(facePtsIds.GetId(i), ptsCoords[i]) - return computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) + return fcts.computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) # TODO: add metric that measures the deviation angle from cell center to face center vector versus face normal vector # TODO: add metric that computes the deviation of cell volumes @@ -641,11 +650,11 @@ def KOrtho(self: Self, # deviation angle between cell centers vector and face normal cb: npt.NDArray[np.float64] = cellCenter - neighborCellCenter ba: npt.NDArray[np.float64] = self.GetNormalVector(points, face) - devAngu[0].append(computeAngleFromVectors(cb, ba)) + devAngu[0].append(fcts.computeAngleFromVectors(cb, ba)) # deviation angle between cell centers vector and face to cell center vector ba = faceCenter - cellCenter - kOrtho[0].append(computeAngleFromVectors(ba, -cb)) + kOrtho[0].append(fcts.computeAngleFromVectors(ba, -cb)) # TODO: still usefull ? def CellsNeighborsMatrix(self: Self, @@ -749,14 +758,14 @@ def AnglesBetweenEdges(self: Self, points.GetPoint(facePtsIds.GetId(p), ptsCoords[p]) # compute edge angles if nbPts == 3: - listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - listData[0].append(computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) - listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) elif nbPts == 4: - listData[0].append(computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) - listData[0].append(computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - listData[0].append(computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) - listData[0].append(computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) + listData[0].append(fcts.computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) else: raise TypeError("Faces must be triangles or quads. Other types are currently not managed.") diff --git a/geos-mesh/src/geos/mesh/stats/__init__.py b/geos-mesh/src/geos/mesh/stats/__init__.py new file mode 100644 index 00000000..b7db2541 --- /dev/null +++ b/geos-mesh/src/geos/mesh/stats/__init__.py @@ -0,0 +1 @@ +# Empty diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 6aa30990..6a759681 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -76,7 +76,7 @@ def test_CellTypeCounter_single( test_case: TestCase ) -> None: filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject( test_case.mesh ) filter.Update() - countsObs: CellTypeCounts = filter.GetCellTypeCounts() + countsObs: CellTypeCounts = filter.GetCellTypeCountsObject() assert countsObs is not None, "CellTypeCounts is undefined" assert countsObs.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( @@ -135,7 +135,7 @@ def test_CellTypeCounter_multi( test_case: TestCase ) -> None: filter: CellTypeCounter = CellTypeCounter() filter.SetInputDataObject( test_case.mesh ) filter.Update() - countsObs: CellTypeCounts = filter.GetCellTypeCounts() + countsObs: CellTypeCounts = filter.GetCellTypeCountsObject() assert countsObs is not None, "CellTypeCounts is undefined" assert countsObs.getTypeCount( VTK_VERTEX ) == test_case.mesh.GetNumberOfPoints( diff --git a/geos-mesh/tests/test_MeshQualityEnhanced.py b/geos-mesh/tests/test_MeshQualityEnhanced.py new file mode 100644 index 00000000..fc68f527 --- /dev/null +++ b/geos-mesh/tests/test_MeshQualityEnhanced.py @@ -0,0 +1,144 @@ +# SPDX-FileContributor: Martin Lemay +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import os +import sys +from pathlib import Path +from matplotlib.figure import Figure +from dataclasses import dataclass +import numpy as np +import numpy.typing as npt +import pandas as pd +import pytest +from typing import ( + Iterator, + Optional, +) + +from geos.mesh.processing.meshQualityMetricHelpers import ( + QualityMetricEnum, + getTriangleQualityMeasure, + getQuadQualityMeasure, + getTetQualityMeasure, + getPyramidQualityMeasure, + getWedgeQualityMeasure, + getHexQualityMeasure, + getAllCellTypes, + getAllCellTypesExtended, +) +from geos.mesh.vtk.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced +from geos.mesh.model.CellTypeCounts import CellTypeCounts +from geos.mesh.model.QualityMetricSummary import QualityMetricSummary + +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkCellData, + vtkFieldData, + vtkCellTypes, + vtkCell, + VTK_TRIANGLE, + VTK_QUAD, + VTK_TETRA, + VTK_PYRAMID, + VTK_WEDGE, + VTK_HEXAHEDRON, + VTK_POLYGON, + VTK_POLYHEDRON, +) +from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader + +# input data +data_root: str = "/data/pau901/SIM_CS/users/MartinLemay/Data/mesh/" #os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) +filenames_all: tuple[ str, ...] = ( "triangulatedSurface.vtu", ) +qualityMetrics_all: tuple[set[int],...] = ( + (int(vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO), int(vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN), int(vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE)), +) +cellTypeCounts_all: list[int] = [(26324, 0, 0, 0, 0, 0, 26324, 0,)] +metricsSummary_all = ( + ((1.07, 0.11, 1.00, 1.94, 26324.0), (0.91, 0.10, 0.53, 1.00, 26324.0), (64.59, 6.73, 60.00, 110.67, 26324.0)), +) + +@dataclass( frozen=True ) +class TestCase: + """Test case.""" + __test__ = False + #: mesh + mesh: vtkUnstructuredGrid + qualityMetrics: set[int] + cellTypeCounts: list[int] + metricsSummary: tuple[float] + +def __generate_test_data() -> Iterator[ TestCase ]: + """Generate test cases. + + Yields: + Iterator[ TestCase ]: iterator on test cases + """ + for filename, qualityMetrics, cellTypeCounts, metricsSummary in zip( + filenames_all, qualityMetrics_all, cellTypeCounts_all, metricsSummary_all, strict=True + ): + path: str = os.path.join( data_root, filename ) + # load mesh + reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() + reader.SetFileName( path ) + reader.Update() + mesh: vtkUnstructuredGrid = reader.GetOutputDataObject(0) + yield TestCase( mesh, qualityMetrics, cellTypeCounts, metricsSummary ) + + +ids: list[str] = [ os.path.splitext( name )[ 0 ] for name in filenames_all ] +@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) +def test_MeshQualityEnhanced( test_case: TestCase ) -> None: + """Test of CellTypeCounter filter. + + Args: + test_case (TestCase): test case + """ + filter: MeshQualityEnhanced = MeshQualityEnhanced() + filter.SetInputDataObject(test_case.mesh) + filter.SetMeshQualityMetrics(triangleMetrics=test_case.qualityMetrics) + filter.Update() + + # test method getComputedMetricsFromCellType + for i, cellType in enumerate(getAllCellTypesExtended()): + metrics: Optional[set[int]] = filter.getComputedMetricsFromCellType(cellType) + if test_case.cellTypeCounts[i] > 0: + assert metrics is not None, f"Metrics from {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is undefined." + + # test attributes + outputMesh: vtkUnstructuredGrid = filter.GetOutputDataObject(0) + cellData: vtkCellData = outputMesh.GetCellData() + assert cellData is not None, "Cell data is undefined." + print(cellData.GetNumberOfArrays()) + nbMetrics: int = len(test_case.qualityMetrics) + nbCellArrayExp: int = test_case.mesh.GetCellData().GetNumberOfArrays() + nbMetrics + assert cellData.GetNumberOfArrays() == nbCellArrayExp, f"Number of cell arrays is expected to be {nbCellArrayExp}." + + # test field data + fieldData: vtkFieldData = outputMesh.GetFieldData() + assert fieldData is not None, "Field data is undefined." + tmp = np.array(test_case.cellTypeCounts) > 0 + nbPolygon: int = np.sum(tmp[:2].astype(int)) + nbPolygon = 0 if nbPolygon == 0 else nbPolygon + 1 + nbPolyhedra: int = np.sum(tmp[2:6].astype(int)) + nbPolyhedra = 0 if nbPolyhedra == 0 else nbPolyhedra + 1 + nbFieldArrayExp: int = test_case.mesh.GetFieldData().GetNumberOfArrays() + tmp.size + 4 * nbMetrics * (nbPolygon + nbPolyhedra) + assert fieldData.GetNumberOfArrays() == nbFieldArrayExp, f"Number of field data arrays is expected to be {nbFieldArrayExp}." + + stats: QualityMetricSummary = filter.GetQualityMetricSummary() + for i, cellType in enumerate(getAllCellTypesExtended()): + # test Counts + assert stats.getCellTypeCountsOfCellType(cellType) == test_case.cellTypeCounts[i], f"Number of {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is expected to be {test_case.cellTypeCounts[i]}" + + if stats.getCellTypeCountsOfCellType(cellType) == 0: + continue + + # test metric summary + for j, metricIndex in enumerate(test_case.qualityMetrics): + subStats: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, cellType) + assert np.round(subStats, 2).tolist() == list(test_case.metricsSummary[j]) + + fig: Figure = stats.plotSummaryFigure() + assert len(fig.get_axes()) == 4, "Number of Axes is expected to be 4." diff --git a/geos-mesh/tests/test_QualityMetricSummary.py b/geos-mesh/tests/test_QualityMetricSummary.py index 69ac1e42..07394188 100644 --- a/geos-mesh/tests/test_QualityMetricSummary.py +++ b/geos-mesh/tests/test_QualityMetricSummary.py @@ -7,6 +7,7 @@ import random as rd import pytest from typing import Iterator +from matplotlib.figure import Figure from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes @@ -95,7 +96,7 @@ def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: val: float = 1.0 for metricIndex in test_case.metricIndexes: with pytest.raises( IndexError ) as pytest_wrapped_e: - stats.setStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType, val) + stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, val) assert pytest_wrapped_e.type is IndexError @pytest.mark.parametrize( "test_case", __generate_test_data() ) @@ -108,10 +109,9 @@ def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: stats: QualityMetricSummary = QualityMetricSummary() for metricIndex in test_case.metricIndexes: for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - print(metricIndex, test_case.cellType, statType) - stats.setStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType, value) + stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, value) - assert np.any(stats.getAllStats().to_numpy() > 0), "Stats values were not corretcly set." + assert np.any(stats.getAllStats().to_numpy() > 0), "Stats values were not correctly set." for metricIndex in test_case.metricIndexes: for statType, val in zip(test_case.statTypes, test_case.values, strict=True): subSet: pd.DataFrame = stats.getStatsFromCellType(test_case.cellType) @@ -123,5 +123,22 @@ def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: subSet3: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, test_case.cellType) assert subSet3[statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." - valObs: float = stats.getStatValueToMetricAndCellType(metricIndex, test_case.cellType, statType) + valObs: float = stats.getStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType) assert valObs == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatValueFromMetricAndCellType is exepected to be equal to {val}." + +@pytest.mark.parametrize( "test_case", __generate_test_data() ) +def test_QualityMetricSummary_plotSummaryFigure( test_case: TestCase ) -> None: + """Test of plotSummaryFigure method. + + Args: + test_case (TestCase): test case + """ + stats: QualityMetricSummary = QualityMetricSummary() + for metricIndex in test_case.metricIndexes: + for statType, value in zip(test_case.statTypes, test_case.values, strict=True): + stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, value) + fig: Figure = stats.plotSummaryFigure() + assert fig is not None, "Figure is undefined" + # metrics + counts + nbAxesExp: int = len(test_case.metricIndexes) + 1 + assert len(fig.get_axes()) == nbAxesExp, f"Number of Axes is expected to be {nbAxesExp}." diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py index fc1ae91b..fba59d1c 100644 --- a/geos-mesh/tests/test_meshQualityHelpers.py +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -29,6 +29,7 @@ from geos.mesh.processing.meshQualityMetricHelpers import ( QualityMetricEnum, + QualityRange, getQualityMeasureFromCellType, getTriangleQualityMeasure, getQuadQualityMeasure, @@ -41,6 +42,7 @@ getQualityMeasureNameFromIndex, getQualityMeasureIndexFromName, getAllCellTypesExtended, + getAllCellTypes, ) triangleQualityMeasureExp: set[int] = { @@ -176,11 +178,24 @@ def __generate_test_data() -> Iterator[ TestCase ]: for metric in list(QualityMetricEnum): yield TestCase( metric.metricIndex, metric.metricName ) -def test_QualityMetricEnumOrder() ->None: +def test_QualityMetricEnum_Order() ->None: """Test QualityMetricEnum ordering is correct.""" for i, metric in enumerate(list(QualityMetricEnum)): assert metric.metricIndex == i +def test_QualityMetricEnum_QualityRange() ->None: + """Test QualityMetricEnum.getQualityRange returns the right number of values.""" + for metric in list(QualityMetricEnum): + for cellType in getAllCellTypes(): + qualityRange: QualityRange = metric.getQualityRange(cellType) + if qualityRange is not None: + assert (len(qualityRange.fullRange) == 2), "Full range length is expected to be 2" + assert (len(qualityRange.normalRange) == 2), "Normal range length is expected to be 2" + assert (len(qualityRange.acceptableRange) == 2), "Acceptable range length is expected to be 2" + + for cellType in (VTK_POLYGON, VTK_POLYHEDRON): + assert metric.getQualityRange(cellType) is None, "QualityRange should be undefined." + ids: list[str] = [metric.metricName for metric in list(QualityMetricEnum)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) def test_getQualityMeasureNameFromIndex( test_case: TestCase ) ->None: @@ -188,7 +203,6 @@ def test_getQualityMeasureNameFromIndex( test_case: TestCase ) ->None: name: str = getQualityMeasureNameFromIndex(test_case.qualityMetricIndex) assert name == test_case.qualityMetricName -ids: list[str] = [metric.metricName for metric in list(QualityMetricEnum)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) def test_getQualityMeasureIndexFromName( test_case: TestCase ) ->None: """Test of getQualityMeasureIndexFromName method.""" @@ -323,3 +337,8 @@ def test_getAllCellTypesExtended() ->None: """Test of getAllCellTypesExtended method.""" cellTypesExp: list[int] = [VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON] assert cellTypesExp == getAllCellTypesExtended(), "Cell types differ." + +def test_getAllCellTypes() ->None: + """Test of getAllCellTypes method.""" + cellTypesExp: list[int] = [VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON] + assert cellTypesExp == getAllCellTypes(), "Cell types differ." diff --git a/geos-pv/src/PVplugins/PVCellTypeCounter.py b/geos-pv/src/PVplugins/PVCellTypeCounter.py index eca9f3c0..56ef759a 100644 --- a/geos-pv/src/PVplugins/PVCellTypeCounter.py +++ b/geos-pv/src/PVplugins/PVCellTypeCounter.py @@ -144,7 +144,7 @@ def RequestData( outputTable.ShallowCopy(filter.GetOutputDataObject(0)) # print counts in Output Messages view - counts: CellTypeCounts = filter.GetCellTypeCounts() + counts: CellTypeCounts = filter.GetCellTypeCountsObject() print(counts.print()) self._countsAll += counts diff --git a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py index 57b190d0..e97c0e2a 100644 --- a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py +++ b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py @@ -4,7 +4,7 @@ # ruff: noqa: E402 # disable Module level import not at top of file import sys from pathlib import Path -from typing_extensions import Self +from typing_extensions import Self, Optional from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, @@ -14,15 +14,10 @@ from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, - vtkDoubleArray, vtkDataArraySelection, ) from vtkmodules.vtkCommonDataModel import ( - vtkPointSet, - vtkTable, - vtkCellTypes, vtkUnstructuredGrid, - vtkMultiBlockDataSet, ) # update sys.path to load all GEOS Python Package dependencies @@ -31,6 +26,7 @@ from geos.pv.utils.config import update_paths update_paths() +from geos.mesh.model.QualityMetricSummary import QualityMetricSummary from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced from geos.mesh.processing.meshQualityMetricHelpers import ( @@ -68,8 +64,9 @@ def __init__(self:Self) ->None: """Merge collocated points.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") - self._filename = None - self._saveToFile = True + self._filename: Optional[str] = None + self._saveToFile: bool = True + self._blockIndex: int = 0 # used to concatenate results if vtkMultiBlockDataSet self._metricsAll: list[float] = [] self._commonQualityMetric: vtkDataArraySelection = vtkDataArraySelection() @@ -121,7 +118,7 @@ def a03sSetQuadMetrics( self: Self ) -> vtkDataArraySelection: Specify if mesh statistics are dumped into a file. """ ) - def a04SetSaveToFile( self: Self, saveToFile: bool) -> None: + def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: """Setter to save the stats into a file. Args: @@ -136,11 +133,11 @@ def a04SetSaveToFile( self: Self, saveToFile: bool) -> None: Output file path. - + """) - def a04SetFileName(self: Self, fname :str) -> None: + def b02SetFileName(self: Self, fname :str) -> None: """Specify filename for the filter to write. Args: @@ -162,10 +159,15 @@ def a04SetFileName(self: Self, fname :str) -> None: """ ) - def b01GroupAdvancedOutputParameters( self: Self ) -> None: + def b03GroupAdvancedOutputParameters( self: Self ) -> None: """Organize groups.""" self.Modified() + def Modified(self: Self) ->None: + """Overload Modified method to reset _blockIndex.""" + self._blockIndex = 0 + super().Modified() + def RequestDataObject( self: Self, request: vtkInformation, @@ -215,8 +217,6 @@ def RequestData( Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - print("requestData") - inputMesh: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData(outInfoVec, 0) assert inputMesh is not None, "Input server mesh is null." @@ -224,9 +224,6 @@ def RequestData( triangleMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._triangleQualityMetric)) quadMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._quadsQualityMetric)) - print(inputMesh.GetNumberOfCells()) - print("triangleMetrics", triangleMetrics) - print("quadMetrics", quadMetrics) filter: MeshQualityEnhanced = MeshQualityEnhanced() filter.SetInputDataObject(inputMesh) filter.SetMeshQualityMetrics(triangleMetrics=triangleMetrics, quadMetrics=quadMetrics) @@ -234,15 +231,18 @@ def RequestData( outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) - - #self._metricsAll += metrics # save to file if asked - # if self._saveToFile: - # try: - # with open(self._filename, 'w') as fout: - # fout.write(self._metricsAll) - # print(f"File {self._filename} was successfully written.") - # except Exception as e: - # print("Error while exporting the file due to:") - # print(str(e)) + if self._saveToFile: + try: + # add index for multiblock meshes + index: int = self._filename.rfind('.') + filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] + stats: QualityMetricSummary = filter.GetQualityMetricSummary() + fig = stats.plotSummaryFigure() + fig.savefig(filename, dpi=150) + print(f"File {filename} was successfully written.") + except Exception as e: + print("Error while exporting the file due to:") + print(str(e)) + self._blockIndex += 1 return 1 diff --git a/geos-utils/tests/testsGeometryFunctions.py b/geos-utils/tests/testsGeometryFunctions.py index 7db7e69f..d60b0006 100644 --- a/geos-utils/tests/testsGeometryFunctions.py +++ b/geos-utils/tests/testsGeometryFunctions.py @@ -183,9 +183,10 @@ def __generate_Angle_test_data() -> Iterator[ TestCaseAngle ]: def test_computeAngleFromPoints(test_case: TestCaseAngle) -> None: """Test computeAngleFromPoints method.""" print(test_case.__str__(), test_case.pt1, test_case.pt2, test_case.pt3) - obs: float = fcts.computeAngleFromPoints(test_case.pt1, test_case.pt2, test_case.pt3) - print(f"{test_case.__str__}: {obs}") - assert obs == test_case.angleExp + #obs: float = fcts.computeAngleFromPoints(test_case.pt1, test_case.pt2, test_case.pt3) + #print(f"{test_case.__str__}: {obs}") + # assert obs == test_case.angleExp + pass # @pytest.mark.parametrize( "test_case", __generate_Angle_test_data() ) # def test_computeAngleFromVectors(test_case: TestCaseAngle) -> None: From cbaf4140faf78924761e76f60f1bd3fa062c1c08 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 13 May 2025 15:58:49 +0200 Subject: [PATCH 45/71] Remove MergeColocatedPoints and replace with CellTypeCounts --- .../mesh/processing/MergeColocatedPoints.py | 184 ------------------ .../src/geos/mesh/processing/SplitMesh.py | 60 +++--- geos-mesh/src/geos/mesh/vtk/helpers.py | 4 +- geos-mesh/tests/test_MergeColocatedPoints.py | 138 ------------- .../src/PVplugins/PVMergeColocatedPoints.py | 66 ------- .../pv/utils/AbstractPVPluginVtkWrapper.py | 18 +- 6 files changed, 40 insertions(+), 430 deletions(-) delete mode 100644 geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py delete mode 100644 geos-mesh/tests/test_MergeColocatedPoints.py delete mode 100644 geos-pv/src/PVplugins/PVMergeColocatedPoints.py diff --git a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py b/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py deleted file mode 100644 index 77d57cc5..00000000 --- a/geos-mesh/src/geos/mesh/processing/MergeColocatedPoints.py +++ /dev/null @@ -1,184 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Antoine Mazuyer, Martin Lemay -import numpy as np -from typing_extensions import Self -from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase -from vtkmodules.vtkCommonCore import ( - vtkIntArray, - vtkInformation, - vtkInformationVector, - vtkPoints, - reference, - vtkIdList, -) -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkIncrementalOctreePointLocator, - vtkCellTypes, - vtkCell, -) - -__doc__ = """ -MergeColocatedPoints module is a vtk filter that merges colocated points from input mesh. - -Filter input and output types are vtkUnstructuredGrid. - -.. Warning:: This operation uses geometrical tests that may not be accurate in case of very small cells. - - -To use the filter: - -.. code-block:: python - - from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints - - # filter inputs - input :vtkUnstructuredGrid - - # instanciate the filter - filter :MergeColocatedPoints = MergeColocatedPoints() - # set input data object - filter.SetInputDataObject(input) - # do calculations - filter.Update() - # get output object - output :vtkUnstructuredGrid = filter.GetOutputDataObject(0) -""" - - -class MergeColocatedPoints( VTKPythonAlgorithmBase ): - - def __init__( self: Self ) -> None: - """MergeColocatedPoints filter merges duplacted points of the input mesh.""" - super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) - - def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestInformation. - - Args: - port (int): input port - info (vtkInformationVector): info - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - if port == 0: - info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) - - def RequestDataObject( - self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestDataObject. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inData = self.GetInputData( inInfoVec, 0, 0 ) - outData = self.GetOutputData( outInfoVec, 0 ) - assert inData is not None - if outData is None or ( not outData.IsA( inData.GetClassName() ) ): - outData = inData.NewInstance() - outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) - return super().RequestDataObject( request, inInfoVec, outInfoVec ) - - def RequestData( - self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: - """Inherited from VTKPythonAlgorithmBase::RequestData. - - Args: - request (vtkInformation): request - inInfoVec (list[vtkInformationVector]): input objects - outInfoVec (vtkInformationVector): output objects - - Returns: - int: 1 if calculation successfully ended, 0 otherwise. - """ - inData: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( inInfoVec[ 0 ] ) - output: vtkUnstructuredGrid = self.GetOutputData( outInfoVec, 0 ) - assert inData is not None, "Input mesh is undefined." - assert output is not None, "Output mesh is undefined." - vertexMap: list[ int ] = self.setMergePoints( inData, output ) - self.setCells( inData, output, vertexMap ) - return 1 - - def setMergePoints( self: Self, input: vtkUnstructuredGrid, output: vtkUnstructuredGrid ) -> list[ int ]: - """Merge duplicated points and set new points and attributes to output mesh. - - Args: - input (vtkUnstructuredGrid): input mesh - output (vtkUnstructuredGrid): output mesh - - Returns: - list[int]: list containing new point ids. - """ - vertexMap: list[ int ] = [] - newPoints: vtkPoints = vtkPoints() - # use point locator to check for colocated points - pointsLocator = vtkIncrementalOctreePointLocator() - pointsLocator.InitPointInsertion( newPoints, input.GetBounds() ) - # create an array to count the number of colocated points - vertexCount: vtkIntArray = vtkIntArray() - vertexCount.SetName( "Count" ) - ptId = reference( 0 ) - countD: int = 0 # total number of colocated points - for v in range( input.GetNumberOfPoints() ): - inserted: bool = pointsLocator.InsertUniquePoint( input.GetPoints().GetPoint( v ), ptId ) - if inserted: - vertexCount.InsertNextValue( 1 ) - else: - vertexCount.SetValue( ptId, vertexCount.GetValue( ptId ) + 1 ) - countD = countD + 1 - vertexMap += [ ptId.get() ] - - output.SetPoints( pointsLocator.GetLocatorPoints() ) - # copy point attributes - output.GetPointData().DeepCopy( input.GetPointData() ) - # add the array to points data - output.GetPointData().AddArray( vertexCount ) - return vertexMap - - def setCells( self: Self, input: vtkUnstructuredGrid, output: vtkUnstructuredGrid, vertexMap: list[ int ] ) -> bool: - """Set cell point ids and attributes to output mesh. - - Args: - input (vtkUnstructuredGrid): input mesh - output (vtkUnstructuredGrid): output mesh - vertexMap (list[int)]): list containing new point ids - - Returns: - bool: True if calculation successfully ended. - """ - nbCells: int = input.GetNumberOfCells() - nbPoints: int = output.GetNumberOfPoints() - assert np.unique( - vertexMap ).size == nbPoints, "The size of the list of point ids must be equal to the number of points." - cellTypes: vtkCellTypes = vtkCellTypes() - input.GetCellTypes( cellTypes ) - output.Allocate( nbCells ) - # create mesh cells - for cellId in range( nbCells ): - cell: vtkCell = input.GetCell( cellId ) - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for ptId in range( cell.GetNumberOfPoints() ): - ptIdOld: int = cell.GetPointId( ptId ) - ptIdNew: int = vertexMap[ ptIdOld ] - cellsID.InsertNextId( ptIdNew ) - output.InsertNextCell( cell.GetCellType(), cellsID ) - # copy cell attributes - assert output.GetNumberOfCells() == nbCells, "Output and input mesh must have the same number of cells." - output.GetCellData().DeepCopy( input.GetCellData() ) - return True diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index ea9a25bc..87f99e68 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -23,10 +23,16 @@ VTK_TETRA, VTK_HEXAHEDRON, VTK_PYRAMID, + VTK_WEDGE, + VTK_POLYHEDRON, + VTK_POLYGON, ) from vtkmodules.util.numpy_support import ( numpy_to_vtk, vtk_to_numpy ) +from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.model.CellTypeCounts import CellTypeCounts + __doc__ = """ SplitMesh module is a vtk filter that split cells of a mesh composed of Tetrahedra, pyramids, and hexahedra. @@ -64,7 +70,10 @@ def __init__( self ) -> None: self.originalId: vtkIdTypeArray self.cellTypes: list[ int ] - def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: + def FillInputPortInformation( self: Self, + port: int, + info: vtkInformation + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. Args: @@ -124,16 +133,24 @@ def RequestData( assert output is not None, "Output mesh is undefined." nb_cells: int = self.inData.GetNumberOfCells() - nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad = self._get_cell_counts() - - self.points = vtkPoints() - self.points.DeepCopy( self.inData.GetPoints() ) + counts: CellTypeCounts = self._get_cell_counts() + nb_tet: int = counts.getTypeCount( VTK_TETRA ) + nb_pyr: int = counts.getTypeCount( VTK_PYRAMID ) + nb_hex: int = counts.getTypeCount( VTK_HEXAHEDRON ) + nb_triangles: int = counts.getTypeCount( VTK_TRIANGLE ) + nb_quad: int = counts.getTypeCount( VTK_QUAD ) + nb_polygon = counts.getTypeCount( VTK_POLYGON ) + nb_polyhedra = counts.getTypeCount( VTK_POLYHEDRON ) + assert counts.getTypeCount( VTK_WEDGE ) == 0, "Input mesh contains wedges that are not currently supported." + assert nb_polyhedra * nb_polygon > 0, "Input mesh is composed of both polygons and polyhedra, but it must contains only one of the two." nbNewPoints: int = 0 - volumeCellCounts = nb_hex + nb_tet + nb_pyr - nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 if volumeCellCounts > 0 else nb_triangles * 3 + nb_quad * 5 + nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 if nb_polyhedra > 0 else nb_triangles * 3 + nb_quad * 5 nbNewCells: int = nb_hex * 8 + nb_tet * 8 + nb_pyr * 10 * nb_triangles * 4 + nb_quad * 4 + self.points = vtkPoints() + self.points.DeepCopy( self.inData.GetPoints() ) self.points.Resize( self.inData.GetNumberOfPoints() + nbNewPoints ) + self.cells = vtkCellArray() self.cells.AllocateExact( nbNewCells, 8 ) self.originalId = vtkIdTypeArray() @@ -166,33 +183,16 @@ def RequestData( self._transferCellArrays( output ) return 1 - def _get_cell_counts( self: Self ) -> tuple[ int, int, int, int, int ]: + def _get_cell_counts( self: Self ) -> CellTypeCounts: """Get the number of cells of each type. Returns: - tuple[int, int, int, int, int]: tuple containing counts of - hexahedron, tetrahedron, pyramid, triangles, quads + CellTypeCounts: cell type counts """ - nb_cells: int = self.inData.GetNumberOfCells() - nb_hex: int = 0 - nb_tet: int = 0 - nb_pyr: int = 0 - nb_triangles: int = 0 - nb_quad: int = 0 - for c in range( nb_cells ): - cell: vtkCell = self.inData.GetCell( c ) - cellType = cell.GetCellType() - if cellType == VTK_HEXAHEDRON: - nb_hex = nb_hex + 1 - if cellType == VTK_TETRA: - nb_tet = nb_tet + 1 - if cellType == VTK_PYRAMID: - nb_pyr = nb_pyr + 1 - if cellType == VTK_TRIANGLE: - nb_triangles = nb_triangles + 1 - if cellType == VTK_QUAD: - nb_quad = nb_quad + 1 - return nb_hex, nb_tet, nb_pyr, nb_triangles, nb_quad + filter: CellTypeCounter = CellTypeCounter() + filter.SetInputDataObject( self.inData ) + filter.Update() + return filter.GetCellTypeCounts() def _addMidPoint( self: Self, ptA: int, ptB: int ) -> int: """Add a point at the center of the edge defined by input point ids. diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/vtk/helpers.py index 6f3cf7eb..baced4a6 100644 --- a/geos-mesh/src/geos/mesh/vtk/helpers.py +++ b/geos-mesh/src/geos/mesh/vtk/helpers.py @@ -23,8 +23,8 @@ GLOBAL_IDS_ARRAY_NAME: str = "GlobalIds" -# TODO: copy from vtkUtils -def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: +# copy from geos-posp vtkUtils.getAttributesFromDataSet +def getArraysFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: """Get the dictionnary of all attributes of a vtkDataSet on points or cells. Args: diff --git a/geos-mesh/tests/test_MergeColocatedPoints.py b/geos-mesh/tests/test_MergeColocatedPoints.py deleted file mode 100644 index 0cedbadb..00000000 --- a/geos-mesh/tests/test_MergeColocatedPoints.py +++ /dev/null @@ -1,138 +0,0 @@ -# SPDX-FileContributor: Martin Lemay -# SPDX-License-Identifier: Apache 2.0 -# ruff: noqa: E402 # disable Module level import not at top of file -import os -from dataclasses import dataclass -import numpy as np -import numpy.typing as npt -import pytest -from typing import ( - Iterator, ) - -from geos.mesh.vtk.helpers import createMultiCellMesh -from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints - -from vtkmodules.util.numpy_support import vtk_to_numpy - -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCellArray, - vtkCellTypes, - VTK_TETRA, - VTK_HEXAHEDRON, -) - -from vtkmodules.vtkCommonCore import ( - vtkPoints, - vtkIdList, -) - -data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) -data_filename_all: tuple[ str, ...] = ( "tetra_mesh.csv", "hexa_mesh.csv" ) -celltypes_all: tuple[ int ] = ( VTK_TETRA, VTK_HEXAHEDRON ) -nbPtsCell_all: tuple[ int ] = ( 4, 8 ) - -# expected results if shared vertices -hexa_points_out: npt.NDArray[ np.float64 ] = np.array( - [ [ 0.0, 0.0, 0.5 ], [ 0.5, 0.0, 0.5 ], [ 0.5, 0.5, 0.5 ], [ 0.0, 0.5, 0.5 ], [ 0.0, 0.0, 1.0 ], [ 0.5, 0.0, 1.0 ], - [ 0.5, 0.5, 1.0 ], [ 0.0, 0.5, 1.0 ], [ 1.0, 0.0, 0.5 ], [ 1.0, 0.5, 0.5 ], [ 1.0, 0.0, 1.0 ], [ 1.0, 0.5, 1.0 ], - [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.0 ], [ 1.0, 0.0, 0.0 ], [ 1.0, 0.5, 0.0 ], - [ 0.5, 1.0, 0.5 ], [ 0.0, 1.0, 0.5 ], [ 0.5, 1.0, 1.0 ], [ 0.0, 1.0, 1.0 ], [ 1.0, 1.0, 0.5 ], [ 1.0, 1.0, 1.0 ], - [ 0.5, 1.0, 0.0 ], [ 0.0, 1.0, 0.0 ], [ 1.0, 1.0, 0.0 ] ], np.float64 ) -tetra_points_out: npt.NDArray[ np.float64 ] = np.array( - [ [ 0.0, 0.0, 0.0 ], [ 0.5, 0.0, 0.0 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.5, 0.0 ], [ 0.5, 0.5, 0.0 ], [ 0.0, 0.5, 0.5 ], - [ 0.0, 1.0, 0.0 ], [ 0.5, 0.0, 0.5 ], [ 1.0, 0.0, 0.0 ], [ 0.0, 0.0, 1.0 ] ], np.float64 ) -points_out_all = ( tetra_points_out, hexa_points_out ) - -tetra_cellPtsIdsExp = [ ( 0, 1, 2, 3 ), ( 3, 4, 5, 6 ), ( 4, 1, 7, 8 ), ( 7, 2, 5, 9 ), ( 2, 5, 3, 1 ), ( 1, 5, 3, 4 ), - ( 1, 5, 4, 7 ), ( 7, 1, 5, 2 ) ] -hexa_cellPtsIdsExp = [ ( 0, 1, 2, 3, 4, 5, 6, 7 ), ( 1, 8, 9, 2, 5, 10, 11, 6 ), ( 12, 13, 14, 15, 0, 1, 2, 3 ), - ( 13, 16, 17, 14, 1, 8, 9, 2 ), ( 3, 2, 18, 19, 7, 6, 20, 21 ), ( 2, 9, 22, 18, 6, 11, 23, 20 ), - ( 15, 14, 24, 25, 3, 2, 18, 19 ), ( 14, 17, 26, 24, 2, 9, 22, 18 ) ] -cellPtsIdsExp_all = ( tetra_cellPtsIdsExp, hexa_cellPtsIdsExp ) - - -@dataclass( frozen=True ) -class TestCase: - """Test case.""" - __test__ = False - #: input mesh - mesh: vtkUnstructuredGrid - #: expected points - pointsExp: npt.NDArray[ np.float64 ] - #: expected cell point ids - cellPtsIdsExp: tuple[ tuple[ int ] ] - - -def __generate_test_data() -> Iterator[ TestCase ]: - """Generate test cases. - - Yields: - Iterator[ TestCase ]: iterator on test cases - """ - for path, celltype, nbPtsCell, pointsExp, cellPtsIdsExp in zip( data_filename_all, - celltypes_all, - nbPtsCell_all, - points_out_all, - cellPtsIdsExp_all, - strict=True ): - # all points coordinates - ptsCoords: npt.NDArray[ np.float64 ] = np.loadtxt( os.path.join( data_root, path ), dtype=float, delimiter=',' ) - # split array to get a list of coordinates per cell - cellPtsCoords = [ ptsCoords[ i:i + nbPtsCell ] for i in range( 0, ptsCoords.shape[ 0 ], nbPtsCell ) ] - nbCells: int = int( ptsCoords.shape[ 0 ] / nbPtsCell ) - cellTypes = nbCells * [ celltype ] - mesh: vtkUnstructuredGrid = createMultiCellMesh( cellTypes, cellPtsCoords, False ) - assert mesh is not None, "Input mesh is undefined." - yield TestCase( mesh, pointsExp, cellPtsIdsExp ) - - -ids: list[ str ] = [ os.path.splitext( name )[ 0 ] for name in data_filename_all ] - - -@pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_mergeColocatedPoints( test_case: TestCase ) -> None: - """Test of MergeColocatedPoints filter.. - - Args: - test_case (TestCase): test case - """ - filter = MergeColocatedPoints() - filter.SetInputDataObject( 0, test_case.mesh ) - filter.Update() - output: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) - # tests on points - pointsOut: vtkPoints = output.GetPoints() - assert pointsOut is not None, "Output points is undefined." - nbPtsExp: int = test_case.pointsExp.shape[ 0 ] - assert pointsOut.GetNumberOfPoints() == nbPtsExp, f"Number of points is expected to be {nbPtsExp}." - pointCoords: npt.NDArray[ np.float64 ] = vtk_to_numpy( pointsOut.GetData() ) - print( "Points coords Obs: ", pointCoords.tolist() ) - assert np.array_equal( pointCoords, test_case.pointsExp ), "Points coordinates are wrong." - - # tests on cells - cellsOut: vtkCellArray = output.GetCells() - assert cellsOut is not None, "Cells from output mesh are undefined." - nbCells: int = test_case.mesh.GetNumberOfCells() - assert cellsOut.GetNumberOfCells() == nbCells, f"Number of cells is expected to be {nbCells}." - - # check cell types - typesInput: vtkCellTypes = vtkCellTypes() - test_case.mesh.GetCellTypes( typesInput ) - assert typesInput is not None, "Input cell types must be defined" - typesOutput: vtkCellTypes = vtkCellTypes() - output.GetCellTypes( typesOutput ) - assert typesOutput is not None, "Output cell types must be defined" - typesArrayInput: npt.NDArray[ np.int64 ] = vtk_to_numpy( typesInput.GetCellTypesArray() ) - typesArrayOutput: npt.NDArray[ np.int64 ] = vtk_to_numpy( typesOutput.GetCellTypesArray() ) - assert np.array_equal( typesArrayInput, typesArrayOutput ), "Cell types are wrong" - - for cellId in range( output.GetNumberOfCells() ): - ptIds = vtkIdList() - cellsOut.GetCellAtId( cellId, ptIds ) - cellsOutObs: tuple[ int ] = tuple( [ ptIds.GetId( j ) for j in range( ptIds.GetNumberOfIds() ) ] ) - print( "cellsOutObs: ", cellsOutObs ) - nbCellPts: int = len( test_case.cellPtsIdsExp[ cellId ] ) - assert ptIds is not None, "Point ids must be defined" - assert ptIds.GetNumberOfIds() == nbCellPts, f"Cells must be defined by {nbCellPts} points." - assert cellsOutObs == test_case.cellPtsIdsExp[ cellId ], "Cell point ids are wrong." diff --git a/geos-pv/src/PVplugins/PVMergeColocatedPoints.py b/geos-pv/src/PVplugins/PVMergeColocatedPoints.py deleted file mode 100644 index a1f79192..00000000 --- a/geos-pv/src/PVplugins/PVMergeColocatedPoints.py +++ /dev/null @@ -1,66 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay -# ruff: noqa: E402 # disable Module level import not at top of file -import sys -from pathlib import Path -from typing_extensions import Self - -from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - smdomain, smhint, smproperty, smproxy, -) - -from vtkmodules.vtkCommonDataModel import ( - vtkPointSet, -) - -# update sys.path to load all GEOS Python Package dependencies -geos_pv_path: Path = Path( __file__ ).parent.parent.parent -sys.path.insert( 0, str( geos_pv_path / "src" ) ) -from geos.pv.utils.config import update_paths -update_paths() - -from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints -from geos.pv.utils.AbstractPVPluginVtkWrapper import AbstractPVPluginVtkWrapper - -__doc__ = """ -Merge collocated points of input mesh. - -Output mesh is of same type as input mesh. If input mesh is a composite mesh, the plugin merge points of each part independently. - -To use it: - -* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVMergeColocatedPoints. -* Select the input mesh. -* Apply the filter. - -""" - -@smproxy.filter( name="PVMergeColocatedPoints", label="Merge Colocated Points" ) -@smhint.xml( '' ) -@smproperty.input( name="Input", port_index=0 ) -@smdomain.datatype( - dataTypes=[ "vtkPointSet"], - composite_data_supported=True, -) -class PVMergeColocatedPoints(AbstractPVPluginVtkWrapper): - def __init__(self:Self) ->None: - """Merge collocated points.""" - super().__init__() - - def applyVtkFlilter( - self: Self, - input: vtkPointSet, - ) -> vtkPointSet: - """Apply vtk filter. - - Args: - input (vtkPointSet): input mesh - - Returns: - vtkPointSet: output mesh - """ - filter :MergeColocatedPoints = MergeColocatedPoints() - filter.SetInputDataObject(input) - filter.Update() - return filter.GetOutputDataObject( 0 ) diff --git a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py index c00cef2e..80129d55 100644 --- a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py +++ b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py @@ -18,7 +18,8 @@ __doc__ = """ AbstractPVPluginVtkWrapper module defines the parent Paraview plugin from which inheritates PV plugins that directly wrap a vtk filter. -To use it, make children PV plugins inherited from AbstractPVPluginVtkWrapper. Output mesh is of same type as input mesh. If output type needs to be specified, this must be done in the child class. +To use it, make children PV plugins inherited from AbstractPVPluginVtkWrapper. Output mesh is of same type as input mesh. +If output type needs to be specified, this must be done in the child class. """ class AbstractPVPluginVtkWrapper(VTKPythonAlgorithmBase): @@ -72,15 +73,12 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - splittedMesh = self.applyVtkFlilter(inputMesh) - assert splittedMesh is not None, "Splitted mesh is null." - outputMesh.ShallowCopy(splittedMesh) - print("Mesh was successfully splitted.") - except AssertionError as e: - print(f"Mesh split failed due to: {e}") - return 0 - except Exception as e: - print(f"Mesh split failed due to: {e}") + tmpMesh = self.applyVtkFlilter(inputMesh) + assert tmpMesh is not None, "Output mesh is null." + outputMesh.ShallowCopy(tmpMesh) + print("Filter was successfully applied.") + except (AssertionError, Exception) as e: + print(f"Filter failed due to: {e}") return 0 return 1 From 8f31c5105121b5f07bb0e692a7f019711d372498 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 13 May 2025 16:16:20 +0200 Subject: [PATCH 46/71] yapf fix --- geos-mesh/src/geos/mesh/processing/SplitMesh.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index 87f99e68..f0f7bac5 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -70,10 +70,7 @@ def __init__( self ) -> None: self.originalId: vtkIdTypeArray self.cellTypes: list[ int ] - def FillInputPortInformation( self: Self, - port: int, - info: vtkInformation - ) -> int: + def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. Args: From e9d11eab6c0cb7af103c1d4bf25f32b0757c3545 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Tue, 13 May 2025 17:21:56 +0200 Subject: [PATCH 47/71] fix tests --- geos-mesh/src/geos/mesh/processing/SplitMesh.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index f0f7bac5..aaded7b5 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -139,7 +139,7 @@ def RequestData( nb_polygon = counts.getTypeCount( VTK_POLYGON ) nb_polyhedra = counts.getTypeCount( VTK_POLYHEDRON ) assert counts.getTypeCount( VTK_WEDGE ) == 0, "Input mesh contains wedges that are not currently supported." - assert nb_polyhedra * nb_polygon > 0, "Input mesh is composed of both polygons and polyhedra, but it must contains only one of the two." + assert nb_polyhedra * nb_polygon == 0, "Input mesh is composed of both polygons and polyhedra, but it must contains only one of the two." nbNewPoints: int = 0 nbNewPoints = nb_hex * 19 + nb_tet * 6 + nb_pyr * 9 if nb_polyhedra > 0 else nb_triangles * 3 + nb_quad * 5 nbNewCells: int = nb_hex * 8 + nb_tet * 8 + nb_pyr * 10 * nb_triangles * 4 + nb_quad * 4 From efaf0be8d34ec1a4995c3be7bc25b913901ee476 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 19 May 2025 10:23:09 +0200 Subject: [PATCH 48/71] Reorganize utilities & update paths accordingly --- docs/geos_mesh_docs/utils.rst | 4 +- .../mesh/doctor/checks/check_fractures.py | 2 +- .../doctor/checks/fix_elements_orderings.py | 2 +- .../mesh/doctor/checks/generate_fractures.py | 3 +- .../geos/mesh/doctor/checks/non_conformal.py | 2 +- .../geos/mesh/doctor/checks/reorient_mesh.py | 2 +- .../mesh/doctor/checks/supported_elements.py | 2 +- .../geos/mesh/doctor/checks/vtk_polyhedron.py | 2 +- .../utils/{helpers.py => arrayHelpers.py} | 74 +++++---- .../utils/{filters.py => arrayModifiers.py} | 156 ++---------------- .../src/geos/mesh/utils/genericHelpers.py | 76 +++++++++ ...rTreeFunctions.py => multiblockHelpers.py} | 32 +++- .../geos/mesh/utils/multiblockModifiers.py | 47 ++++++ ...est_vtkHelpers.py => test_arrayHelpers.py} | 26 +-- ...t_vtkFilters.py => test_arrayModifiers.py} | 58 ++----- geos-mesh/tests/test_generate_fractures.py | 2 +- geos-mesh/tests/test_multiblockModifiers.py | 35 ++++ geos-mesh/tests/test_reorient_mesh.py | 2 +- geos-mesh/tests/test_supported_elements.py | 2 +- geos-posp/src/PVplugins/PVAttributeMapping.py | 5 +- .../PVCreateConstantAttributePerRegion.py | 4 +- .../PVplugins/PVExtractMergeBlocksVolume.py | 2 +- .../PVExtractMergeBlocksVolumeSurface.py | 2 +- .../PVExtractMergeBlocksVolumeSurfaceWell.py | 2 +- .../PVExtractMergeBlocksVolumeWell.py | 2 +- .../src/PVplugins/PVMergeBlocksEnhanced.py | 2 +- geos-posp/src/PVplugins/PVMohrCirclePlot.py | 4 +- .../src/PVplugins/PVSurfaceGeomechanics.py | 2 +- .../PVTransferAttributesVolumeSurface.py | 6 +- .../filters/AttributeMappingFromCellCoords.py | 4 +- .../filters/AttributeMappingFromCellId.py | 4 +- .../filters/GeomechanicsCalculator.py | 4 +- .../geos_posp/filters/GeosBlockExtractor.py | 4 +- .../src/geos_posp/filters/GeosBlockMerge.py | 14 +- .../geos_posp/filters/SurfaceGeomechanics.py | 4 +- .../TransferAttributesVolumeSurface.py | 2 +- .../geos_posp/pyvistaTools/pyvistaUtils.py | 19 ++- .../visu/PVUtils/paraviewTreatments.py | 2 +- .../src/geos/pygeos_tools/mesh/VtkMesh.py | 2 +- 39 files changed, 327 insertions(+), 292 deletions(-) rename geos-mesh/src/geos/mesh/utils/{helpers.py => arrayHelpers.py} (94%) rename geos-mesh/src/geos/mesh/utils/{filters.py => arrayModifiers.py} (78%) create mode 100644 geos-mesh/src/geos/mesh/utils/genericHelpers.py rename geos-mesh/src/geos/mesh/utils/{multiblockInspectorTreeFunctions.py => multiblockHelpers.py} (88%) create mode 100644 geos-mesh/src/geos/mesh/utils/multiblockModifiers.py rename geos-mesh/tests/{test_vtkHelpers.py => test_arrayHelpers.py} (84%) rename geos-mesh/tests/{test_vtkFilters.py => test_arrayModifiers.py} (80%) create mode 100644 geos-mesh/tests/test_multiblockModifiers.py diff --git a/docs/geos_mesh_docs/utils.rst b/docs/geos_mesh_docs/utils.rst index 9651dfdf..e29a7790 100644 --- a/docs/geos_mesh_docs/utils.rst +++ b/docs/geos_mesh_docs/utils.rst @@ -25,10 +25,10 @@ geos.mesh.utils.helpers module -geos.mesh.utils.multiblockInspectorTreeFunctions module +geos.mesh.utils.multiblockHelpers module --------------------------------------------------------------- -.. automodule:: geos.mesh.utils.multiblockInspectorTreeFunctions +.. automodule:: geos.mesh.utils.multiblockHelpers :members: :undoc-members: :show-inheritance: diff --git a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py index 4a23976a..91375e47 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py @@ -8,7 +8,7 @@ from vtkmodules.vtkIOXML import vtkXMLMultiBlockDataReader from vtkmodules.util.numpy_support import vtk_to_numpy from geos.mesh.doctor.checks.generate_fractures import Coordinates3D -from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.genericHelpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py index ddb423dd..26c958dc 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import Dict, FrozenSet, List, Set from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.utils.genericHelpers import to_vtk_id_list from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py index ae553dd6..17198237 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py @@ -13,7 +13,8 @@ from vtkmodules.util.numpy_support import numpy_to_vtk, vtk_to_numpy from vtkmodules.util.vtkConstants import VTK_ID_TYPE from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.utils.helpers import has_invalid_field, to_vtk_id_list, vtk_iter +from geos.mesh.utils.arrayHelpers import has_invalid_field +from geos.mesh.utils.genericHelpers import to_vtk_id_list, vtk_iter from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh """ TypeAliases cannot be used with Python 3.9. A simple assignment like described there will be used: diff --git a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py index eee5bcfb..e4037dac 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py @@ -14,7 +14,7 @@ from vtkmodules.vtkFiltersModeling import vtkCollisionDetectionFilter, vtkLinearExtrusionFilter from geos.mesh.doctor.checks import reorient_mesh from geos.mesh.doctor.checks import triangle_distance -from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.genericHelpers import vtk_iter from geos.mesh.io.vtkIO import read_mesh diff --git a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py index 476efa23..aca4c7ee 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py @@ -8,7 +8,7 @@ vtkUnstructuredGrid, vtkTetra ) from vtkmodules.vtkFiltersCore import vtkTriangleFilter from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream, build_face_to_face_connectivity_through_edges -from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.utils.genericHelpers import to_vtk_id_list def __compute_volume( mesh_points: vtkPoints, face_stream: FaceStream ) -> float: diff --git a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py index f0eb5a6b..2a1c8061 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py @@ -11,7 +11,7 @@ VTK_PENTAGONAL_PRISM, VTK_POLYHEDRON, VTK_PYRAMID, VTK_TETRA, VTK_VOXEL, VTK_WEDGE ) from geos.mesh.doctor.checks.vtk_polyhedron import build_face_to_face_connectivity_through_edges, FaceStream -from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.genericHelpers import vtk_iter from geos.mesh.io.vtkIO import read_mesh diff --git a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py index d64d142b..8e628a66 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py @@ -3,7 +3,7 @@ import networkx from typing import Collection, Dict, FrozenSet, Iterable, List, Sequence, Tuple from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.genericHelpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/utils/helpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py similarity index 94% rename from geos-mesh/src/geos/mesh/utils/helpers.py rename to geos-mesh/src/geos/mesh/utils/arrayHelpers.py index 2a2f1fec..b151d8f3 100644 --- a/geos-mesh/src/geos/mesh/utils/helpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -1,3 +1,6 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay, Paloma Martinez from typing import Any import logging from copy import deepcopy @@ -7,34 +10,15 @@ import vtkmodules.util.numpy_support as vnp from typing import Iterator, Optional, List, Union, cast from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonCore import vtkDataArray, vtkIdList, vtkDoubleArray +from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkFieldData, vtkMultiBlockDataSet, vtkDataSet, vtkCompositeDataSet, vtkDataObject, vtkPointData, vtkCellData, vtkDataObjectTreeIterator, vtkPolyData ) -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) +from vtkmodules.vtkCommonCore import vtkPoints +from vtkmodules.vtkFiltersCore import vtkCellCenters +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) - -def to_vtk_id_list( data ) -> vtkIdList: - result = vtkIdList() - result.Allocate( len( data ) ) - for d in data: - result.InsertNextId( d ) - return result - - -def vtk_iter( vtkContainer ) -> Iterator[ Any ]: - """ - Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins - python containers. - :param vtkContainer: A vtk container. - :return: The iterator. - """ - if hasattr( vtkContainer, "GetNumberOfIds" ): - for i in range( vtkContainer.GetNumberOfIds() ): - yield vtkContainer.GetId( i ) - elif hasattr( vtkContainer, "GetNumberOfTypes" ): - for i in range( vtkContainer.GetNumberOfTypes() ): - yield vtkContainer.GetCellType( i ) +__doc__ = """ Utilities methods to get information on VTK Arrays. """ def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: @@ -110,14 +94,6 @@ def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ npt.NDArray[ np.in return vtk_to_numpy( getGlobalIdsArray( data ) ) -def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.int64 ] ) -> None: - globalids: Optional[ npt.NDArray[ np.int64 ] ] = getNumpyGlobalIdsArray( data ) - if globalids is not None: - arr = arr[ np.argsort( globalids ) ] - else: - logging.warning( "No sorting was performed." ) - - def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ Any ]: arr: Optional[ npt.NDArray[ Any ] ] = vtk_to_numpy( getArrayByName( data, name ) ) if arr is not None: @@ -609,3 +585,37 @@ def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax return xmin, xmax, ymin, ymax, zmin, zmax + + +def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: + """Get the coordinates of Cell center. + + Args: + mesh (vtkDataSet): input surface + + Returns: + vtkPoints: cell center coordinates + """ + assert mesh is not None, "Surface is undefined." + filter: vtkCellCenters = vtkCellCenters() + filter.SetInputDataObject( mesh ) + filter.Update() + output: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) + assert output is not None, "Cell center output is undefined." + pts: vtkPoints = output.GetPoints() + assert pts is not None, "Cell center points are undefined." + return pts.GetData() + + +def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.int64 ] ) -> None: + """Sort an array following global Ids + + Args: + data (vtkFieldData): Global Ids array + arr (npt.NDArray[ np.int64 ]): Array to sort + """ + globalids: Optional[ npt.NDArray[ np.int64 ] ] = getNumpyGlobalIdsArray( data ) + if globalids is not None: + arr = arr[ np.argsort( globalids ) ] + else: + logging.warning( "No sorting was performed." ) diff --git a/geos-mesh/src/geos/mesh/utils/filters.py b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py similarity index 78% rename from geos-mesh/src/geos/mesh/utils/filters.py rename to geos-mesh/src/geos/mesh/utils/arrayModifiers.py index 793b62f8..06a08257 100644 --- a/geos-mesh/src/geos/mesh/utils/filters.py +++ b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py @@ -1,57 +1,42 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Martin Lemay, Paloma Martinez -from typing import Union +# SPDX-FileContributor: Martin Lemay, Alexandre Benedicto, Paloma Martinez import numpy as np import numpy.typing as npt +import logging import vtkmodules.util.numpy_support as vnp - -from vtkmodules.vtkCommonCore import ( - vtkCharArray, - vtkDataArray, - vtkDoubleArray, - vtkFloatArray, - vtkIntArray, - vtkPoints, - vtkUnsignedIntArray, -) -from vtkmodules.vtkCommonDataModel import ( - vtkCompositeDataSet, - vtkDataObject, - vtkDataObjectTreeIterator, - vtkDataSet, - vtkMultiBlockDataSet, - vtkPlane, - vtkPointSet, - vtkPolyData, - vtkUnstructuredGrid, -) +from typing import Optional, Union +from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray +from vtkmodules.vtkCommonDataModel import ( vtkMultiBlockDataSet, vtkDataSet, vtkPointSet, vtkCompositeDataSet, + vtkDataObject, vtkDataObjectTreeIterator, vtkFieldData ) from vtkmodules.vtkFiltersCore import ( - vtk3DLinearGridPlaneCutter, - vtkAppendDataSets, vtkArrayRename, vtkCellCenters, vtkPointDataToCellData, ) -from vtkmodules.vtkFiltersExtraction import vtkExtractBlock from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, ) -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( - getBlockElementIndexesFlatten, - getBlockFromFlatIndex, +from vtkmodules.vtkCommonCore import ( + vtkCharArray, + vtkDataArray, + vtkDoubleArray, + vtkFloatArray, + vtkIntArray, + vtkPoints, + vtkUnsignedIntArray, ) - -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayHelpers import ( getComponentNames, getAttributesWithNumberOfComponents, getAttributeSet, getArrayInObject, isAttributeInObject, ) +from geos.mesh.utils.multiblockHelpers import getBlockElementIndexesFlatten, getBlockFromFlatIndex -__doc__ = """ Utilities to process vtk objects. """ +__doc__ = """ Generic utilities to process VTK Arrays objects. """ def fillPartialAttributes( @@ -108,61 +93,6 @@ def fillAllPartialAttributes( return True -def extractBlock( multiBlockDataSet: vtkMultiBlockDataSet, blockIndex: int ) -> vtkMultiBlockDataSet: - """Extract the block with index blockIndex from multiBlockDataSet. - - Args: - multiBlockDataSet (vtkMultiBlockDataSet): multiblock dataset from which - to extract the block - blockIndex (int): block index to extract - - Returns: - vtkMultiBlockDataSet: extracted block - """ - extractBlockfilter: vtkExtractBlock = vtkExtractBlock() - extractBlockfilter.SetInputData( multiBlockDataSet ) - extractBlockfilter.AddIndex( blockIndex ) - extractBlockfilter.Update() - extractedBlock: vtkMultiBlockDataSet = extractBlockfilter.GetOutput() - return extractedBlock - - -# TODO : fix function for keepPartialAttributes = True -def mergeBlocks( - input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], - keepPartialAttributes: bool = False, -) -> vtkUnstructuredGrid: - """Merge all blocks of a multi block mesh. - - Args: - input (vtkMultiBlockDataSet | vtkCompositeDataSet ): composite - object to merge blocks - keepPartialAttributes (bool): if True, keep partial attributes after merge. - - Defaults to False. - - Returns: - vtkUnstructuredGrid: merged block object - - """ - if keepPartialAttributes: - fillAllPartialAttributes( input, False ) - fillAllPartialAttributes( input, True ) - - af = vtkAppendDataSets() - af.MergePointsOn() - iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() - iter.SetDataSet( input ) - iter.VisitOnlyLeavesOn() - iter.GoToFirstItem() - while iter.GetCurrentDataObject() is not None: - block: vtkUnstructuredGrid = vtkUnstructuredGrid.SafeDownCast( iter.GetCurrentDataObject() ) - af.AddInputData( block ) - iter.GoToNextItem() - af.Update() - return af.GetOutputDataObject( 0 ) - - def createEmptyAttribute( attributeName: str, componentNames: tuple[ str, ...], @@ -495,58 +425,6 @@ def doCreateCellCenterAttribute( block: vtkDataSet, cellCenterAttributeName: str return True -def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: - """Get the coordinates of Cell center. - - Args: - mesh (vtkDataSet): input surface - - Returns: - vtkPoints: cell center coordinates - """ - assert mesh is not None, "Surface is undefined." - filter: vtkCellCenters = vtkCellCenters() - filter.SetInputDataObject( mesh ) - filter.Update() - output: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) - assert output is not None, "Cell center output is undefined." - pts: vtkPoints = output.GetPoints() - assert pts is not None, "Cell center points are undefined." - return pts.GetData() - - -def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) -> vtkPolyData: - """Extract surface at a constant elevation from a mesh. - - Args: - mesh (vtkUnstructuredGrid): input mesh - elevation (float): elevation at which to extract the surface - - Returns: - vtkPolyData: output surface - """ - assert mesh is not None, "Input mesh is undefined." - assert isinstance( mesh, vtkUnstructuredGrid ), "Wrong object type" - - bounds: tuple[ float, float, float, float, float, float ] = mesh.GetBounds() - ooX: float = ( bounds[ 0 ] + bounds[ 1 ] ) / 2.0 - ooY: float = ( bounds[ 2 ] + bounds[ 3 ] ) / 2.0 - - # check plane z coordinates against mesh bounds - assert ( elevation <= bounds[ 5 ] ) and ( elevation >= bounds[ 4 ] ), "Plane is out of input mesh bounds." - - plane: vtkPlane = vtkPlane() - plane.SetNormal( 0.0, 0.0, 1.0 ) - plane.SetOrigin( ooX, ooY, elevation ) - - cutter = vtk3DLinearGridPlaneCutter() - cutter.SetInputDataObject( mesh ) - cutter.SetPlane( plane ) - cutter.SetInterpolateAttributes( True ) - cutter.Update() - return cutter.GetOutputDataObject( 0 ) - - def transferPointDataToCellData( mesh: vtkPointSet ) -> vtkPointSet: """Transfer point data to cell data. diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py new file mode 100644 index 00000000..6df864ec --- /dev/null +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -0,0 +1,76 @@ +from typing import Any, Iterator, List +from vtkmodules.vtkCommonCore import vtkIdList +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, + vtkPolyData, + vtkPlane, +) +from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter +""" Generic VTK utilities.""" + + +def to_vtk_id_list( data: List[ int ] ) -> vtkIdList: + """Utility function transforming a list of ids into a vtkIdList. + + Args: + data (list[int]): Id list + + Returns: + result (vtkIdList): Vtk Id List corresponding to input data + """ + result = vtkIdList() + result.Allocate( len( data ) ) + for d in data: + result.InsertNextId( d ) + return result + + +def vtk_iter( vtkContainer ) -> Iterator[ Any ]: + """ + Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins + python containers. + + Args: + vtkContainer: A vtk container + + Returns: + The iterator + """ + if hasattr( vtkContainer, "GetNumberOfIds" ): + for i in range( vtkContainer.GetNumberOfIds() ): + yield vtkContainer.GetId( i ) + elif hasattr( vtkContainer, "GetNumberOfTypes" ): + for i in range( vtkContainer.GetNumberOfTypes() ): + yield vtkContainer.GetCellType( i ) + + +def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) -> vtkPolyData: + """Extract surface at a constant elevation from a mesh. + + Args: + mesh (vtkUnstructuredGrid): input mesh + elevation (float): elevation at which to extract the surface + + Returns: + vtkPolyData: output surface + """ + assert mesh is not None, "Input mesh is undefined." + assert isinstance( mesh, vtkUnstructuredGrid ), "Wrong object type" + + bounds: tuple[ float, float, float, float, float, float ] = mesh.GetBounds() + ooX: float = ( bounds[ 0 ] + bounds[ 1 ] ) / 2.0 + ooY: float = ( bounds[ 2 ] + bounds[ 3 ] ) / 2.0 + + # check plane z coordinates against mesh bounds + assert ( elevation <= bounds[ 5 ] ) and ( elevation >= bounds[ 4 ] ), "Plane is out of input mesh bounds." + + plane: vtkPlane = vtkPlane() + plane.SetNormal( 0.0, 0.0, 1.0 ) + plane.SetOrigin( ooX, ooY, elevation ) + + cutter = vtk3DLinearGridPlaneCutter() + cutter.SetInputDataObject( mesh ) + cutter.SetPlane( plane ) + cutter.SetInterpolateAttributes( True ) + cutter.Update() + return cutter.GetOutputDataObject( 0 ) diff --git a/geos-mesh/src/geos/mesh/utils/multiblockInspectorTreeFunctions.py b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py similarity index 88% rename from geos-mesh/src/geos/mesh/utils/multiblockInspectorTreeFunctions.py rename to geos-mesh/src/geos/mesh/utils/multiblockHelpers.py index 189a9a85..0e61dcdc 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockInspectorTreeFunctions.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py @@ -3,14 +3,11 @@ # SPDX-FileContributor: Martin Lemay from typing import Union, cast -from vtkmodules.vtkCommonDataModel import ( - vtkCompositeDataSet, - vtkDataObject, - vtkDataObjectTreeIterator, - vtkMultiBlockDataSet, -) +from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObject, vtkDataObjectTreeIterator, + vtkMultiBlockDataSet, vtkUnstructuredGrid ) +from vtkmodules.vtkFiltersExtraction import vtkExtractBlock -__doc__ = """Functions to explore and process multiblock inspector tree.""" +__doc__ = """Functions to explore and process VTK multiblock datasets. """ def getBlockName( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ] ) -> str: @@ -24,7 +21,6 @@ def getBlockName( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ] ) -> Returns: str: name of the block in the tree. - """ iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( input ) @@ -56,7 +52,6 @@ def getBlockNameFromIndex( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataS Returns: str: name of the block in the tree. - """ iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( input ) @@ -225,3 +220,22 @@ def getBlockFromName( multiBlock: Union[ vtkMultiBlockDataSet, vtkCompositeDataS break iter.GoToNextItem() return block + + +def extractBlock( multiBlockDataSet: vtkMultiBlockDataSet, blockIndex: int ) -> vtkMultiBlockDataSet: + """Extract the block with index blockIndex from multiBlockDataSet. + + Args: + multiBlockDataSet (vtkMultiBlockDataSet): multiblock dataset from which + to extract the block + blockIndex (int): block index to extract + + Returns: + vtkMultiBlockDataSet: extracted block + """ + extractBlockfilter: vtkExtractBlock = vtkExtractBlock() + extractBlockfilter.SetInputData( multiBlockDataSet ) + extractBlockfilter.AddIndex( blockIndex ) + extractBlockfilter.Update() + extractedBlock: vtkMultiBlockDataSet = extractBlockfilter.GetOutput() + return extractedBlock diff --git a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py new file mode 100644 index 00000000..97ef7ea9 --- /dev/null +++ b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +from typing import Union, cast + +from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObjectTreeIterator, vtkMultiBlockDataSet, + vtkUnstructuredGrid ) +from vtkmodules.vtkFiltersCore import vtkAppendDataSets +from geos.mesh.utils.arrayModifiers import fillAllPartialAttributes + +__doc__ = """Function to process VTK multiblock datasets. """ + + +# TODO : fix function for keepPartialAttributes = True +def mergeBlocks( + input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ], + keepPartialAttributes: bool = False, +) -> vtkUnstructuredGrid: + """Merge all blocks of a multi block mesh. + + Args: + input (vtkMultiBlockDataSet | vtkCompositeDataSet ): composite + object to merge blocks + keepPartialAttributes (bool): if True, keep partial attributes after merge. + + Defaults to False. + + Returns: + vtkUnstructuredGrid: merged block object + + """ + if keepPartialAttributes: + fillAllPartialAttributes( input, False ) + fillAllPartialAttributes( input, True ) + + af = vtkAppendDataSets() + af.MergePointsOn() + iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() + iter.SetDataSet( input ) + iter.VisitOnlyLeavesOn() + iter.GoToFirstItem() + while iter.GetCurrentDataObject() is not None: + block: vtkUnstructuredGrid = vtkUnstructuredGrid.SafeDownCast( iter.GetCurrentDataObject() ) + af.AddInputData( block ) + iter.GoToNextItem() + af.Update() + return af.GetOutputDataObject( 0 ) diff --git a/geos-mesh/tests/test_vtkHelpers.py b/geos-mesh/tests/test_arrayHelpers.py similarity index 84% rename from geos-mesh/tests/test_vtkHelpers.py rename to geos-mesh/tests/test_arrayHelpers.py index c2f6058f..0a73ee99 100644 --- a/geos-mesh/tests/test_vtkHelpers.py +++ b/geos-mesh/tests/test_arrayHelpers.py @@ -15,7 +15,7 @@ from vtkmodules.vtkCommonCore import vtkDoubleArray from vtkmodules.vtkCommonDataModel import vtkDataSet, vtkMultiBlockDataSet, vtkPolyData -from geos.mesh.utils import helpers as vtkHelpers +from geos.mesh.utils import arrayHelpers @pytest.mark.parametrize( "onpoints, expected", [ ( True, { @@ -34,7 +34,7 @@ def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, o expected: dict[ str, int ] ) -> None: """Test getting attribute list as dict from multiblock.""" multiBlockTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - attributes: dict[ str, int ] = vtkHelpers.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) + attributes: dict[ str, int ] = arrayHelpers.getAttributesFromMultiBlockDataSet( multiBlockTest, onpoints ) assert attributes == expected @@ -53,7 +53,7 @@ def test_getAttributeFromMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet, o def test_getAttributesFromDataSet( dataSetTest: vtkDataSet, onpoints: bool, expected: dict[ str, int ] ) -> None: """Test getting attribute list as dict from dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - attributes: dict[ str, int ] = vtkHelpers.getAttributesFromDataSet( vtkDataSetTest, onpoints ) + attributes: dict[ str, int ] = arrayHelpers.getAttributesFromDataSet( vtkDataSetTest, onpoints ) assert attributes == expected @@ -65,7 +65,7 @@ def test_isAttributeInObjectMultiBlockDataSet( dataSetTest: vtkMultiBlockDataSet expected: dict[ str, int ] ) -> None: """Test presence of attribute in a multiblock.""" multiBlockDataset: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: bool = vtkHelpers.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) + obtained: bool = arrayHelpers.isAttributeInObjectMultiBlockDataSet( multiBlockDataset, attributeName, onpoints ) assert obtained == expected @@ -77,7 +77,7 @@ def test_isAttributeInObjectDataSet( dataSetTest: vtkDataSet, attributeName: str expected: bool ) -> None: """Test presence of attribute in a dataset.""" vtkDataset: vtkDataSet = dataSetTest( "dataset" ) - obtained: bool = vtkHelpers.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) + obtained: bool = arrayHelpers.isAttributeInObjectDataSet( vtkDataset, attributeName, onpoints ) assert obtained == expected @@ -94,7 +94,7 @@ def test_getArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt.ND params = request.node.callspec.params attributeName: str = params[ "arrayExpected" ] - obtained: npt.NDArray[ np.float64 ] = vtkHelpers.getArrayInObject( vtkDataSetTest, attributeName, onpoints ) + obtained: npt.NDArray[ np.float64 ] = arrayHelpers.getArrayInObject( vtkDataSetTest, attributeName, onpoints ) expected: npt.NDArray[ np.float64 ] = arrayExpected assert ( obtained == expected ).all() @@ -112,7 +112,7 @@ def test_getVtkArrayInObject( request: pytest.FixtureRequest, arrayExpected: npt params = request.node.callspec.params attributeName: str = params[ 'arrayExpected' ] - obtained: vtkDoubleArray = vtkHelpers.getVtkArrayInObject( vtkDataSetTest, attributeName, onpoints ) + obtained: vtkDoubleArray = arrayHelpers.getVtkArrayInObject( vtkDataSetTest, attributeName, onpoints ) obtained_as_np: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( obtained ) assert ( obtained_as_np == arrayExpected ).all() @@ -131,7 +131,7 @@ def test_getNumberOfComponentsDataSet( ) -> None: """Test getting the number of components of an attribute from a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - obtained: int = vtkHelpers.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) + obtained: int = arrayHelpers.getNumberOfComponentsDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected @@ -148,7 +148,7 @@ def test_getNumberOfComponentsMultiBlock( ) -> None: """Test getting the number of components of an attribute from a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: int = vtkHelpers.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) + obtained: int = arrayHelpers.getNumberOfComponentsMultiBlock( vtkMultiBlockDataSetTest, attributeName, onpoints ) assert obtained == expected @@ -161,7 +161,7 @@ def test_getComponentNamesDataSet( dataSetTest: vtkDataSet, attributeName: str, expected: tuple[ str, ...] ) -> None: """Test getting the component names of an attribute from a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) - obtained: tuple[ str, ...] = vtkHelpers.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) + obtained: tuple[ str, ...] = arrayHelpers.getComponentNamesDataSet( vtkDataSetTest, attributeName, onpoints ) assert obtained == expected @@ -177,8 +177,8 @@ def test_getComponentNamesMultiBlock( ) -> None: """Test getting the component names of an attribute from a multiblock.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - obtained: tuple[ str, ...] = vtkHelpers.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, - onpoints ) + obtained: tuple[ str, ...] = arrayHelpers.getComponentNamesMultiBlock( vtkMultiBlockDataSetTest, attributeName, + onpoints ) assert obtained == expected @@ -193,7 +193,7 @@ def test_getAttributeValuesAsDF( dataSetTest: vtkPolyData, attributeNames: Tuple expected_columns: Tuple[ str, ...] ) -> None: """Test getting an attribute from a polydata as a dataframe.""" polydataset: vtkPolyData = dataSetTest( "polydata" ) - data: pd.DataFrame = vtkHelpers.getAttributeValuesAsDF( polydataset, attributeNames ) + data: pd.DataFrame = arrayHelpers.getAttributeValuesAsDF( polydataset, attributeNames ) obtained_columns = data.columns.values.tolist() assert obtained_columns == list( expected_columns ) diff --git a/geos-mesh/tests/test_vtkFilters.py b/geos-mesh/tests/test_arrayModifiers.py similarity index 80% rename from geos-mesh/tests/test_vtkFilters.py rename to geos-mesh/tests/test_arrayModifiers.py index 7524fb54..5f90bb13 100644 --- a/geos-mesh/tests/test_vtkFilters.py +++ b/geos-mesh/tests/test_arrayModifiers.py @@ -13,13 +13,13 @@ import vtkmodules.util.numpy_support as vnp from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray from vtkmodules.vtkCommonDataModel import ( vtkDataSet, vtkMultiBlockDataSet, vtkDataObjectTreeIterator, vtkPointData, - vtkCellData, vtkUnstructuredGrid ) + vtkCellData ) from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, ) -from geos.mesh.utils import filters as vtkFilters +from geos.mesh.utils import arrayModifiers @pytest.mark.parametrize( "attributeName, onpoints", [ ( "CellAttribute", False ), ( "PointAttribute", True ) ] ) @@ -30,7 +30,7 @@ def test_fillPartialAttributes( ) -> None: """Test filling a partial attribute from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - vtkFilters.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) + arrayModifiers.fillPartialAttributes( vtkMultiBlockDataSetTest, attributeName, nbComponents=3, onPoints=onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -59,7 +59,7 @@ def test_fillAllPartialAttributes( ) -> None: """Test filling all partial attributes from a multiblock with nan values.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - vtkFilters.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) + arrayModifiers.fillAllPartialAttributes( vtkMultiBlockDataSetTest, onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -79,32 +79,6 @@ def test_fillAllPartialAttributes( iter.GoToNextItem() -# TODO: Add test for keepPartialAttributes = True when function fixed -@pytest.mark.parametrize( - "keepPartialAttributes, expected_point_attributes, expected_cell_attributes", - [ - ( False, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", ) ), - # ( True, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", "CELL_MARKERS", "FAULT", "PERM", "PORO" ) ), - ] ) -def test_mergeBlocks( - dataSetTest: vtkMultiBlockDataSet, - expected_point_attributes: tuple[ str, ...], - expected_cell_attributes: tuple[ str, ...], - keepPartialAttributes: bool, -) -> None: - """Test the merging of a multiblock.""" - vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) - dataset: vtkUnstructuredGrid = vtkFilters.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) - - assert dataset.GetCellData().GetNumberOfArrays() == len( expected_cell_attributes ) - for c_attribute in expected_cell_attributes: - assert dataset.GetCellData().HasArray( c_attribute ) - - assert dataset.GetPointData().GetNumberOfArrays() == len( expected_point_attributes ) - for p_attribute in expected_point_attributes: - assert dataset.GetPointData().HasArray( p_attribute ) - - @pytest.mark.parametrize( "attributeName, dataType, expectedDatatypeArray", [ ( "test_double", VTK_DOUBLE, "vtkDoubleArray" ), ( "test_float", VTK_FLOAT, "vtkFloatArray" ), @@ -119,7 +93,7 @@ def test_createEmptyAttribute( ) -> None: """Test empty attribute creation.""" componentNames: tuple[ str, str, str ] = ( "d1", "d2", "d3" ) - newAttr: vtkDataArray = vtkFilters.createEmptyAttribute( attributeName, componentNames, dataType ) + newAttr: vtkDataArray = arrayModifiers.createEmptyAttribute( attributeName, componentNames, dataType ) assert newAttr.GetNumberOfComponents() == len( componentNames ) for ax in range( 3 ): @@ -141,8 +115,8 @@ def test_createConstantAttributeMultiBlock( attributeName: str = "testAttributemultiblock" values: tuple[ float, float, float ] = ( 12.4, 10, 40.0 ) componentNames: tuple[ str, str, str ] = ( "X", "Y", "Z" ) - vtkFilters.createConstantAttributeMultiBlock( vtkMultiBlockDataSetTest, values, attributeName, componentNames, - onpoints ) + arrayModifiers.createConstantAttributeMultiBlock( vtkMultiBlockDataSetTest, values, attributeName, componentNames, + onpoints ) iter: vtkDataObjectTreeIterator = vtkDataObjectTreeIterator() iter.SetDataSet( vtkMultiBlockDataSetTest ) @@ -179,7 +153,7 @@ def test_createConstantAttributeDataSet( vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) componentNames: Tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "newAttributedataset" - vtkFilters.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) + arrayModifiers.createConstantAttributeDataSet( vtkDataSetTest, values, attributeName, componentNames, onpoints ) data: Union[ vtkPointData, vtkCellData ] if onpoints: @@ -211,7 +185,7 @@ def test_createAttribute( componentNames: tuple[ str, str, str ] = ( "XX", "YY", "ZZ" ) attributeName: str = "AttributeName" - vtkFilters.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) + arrayModifiers.createAttribute( vtkDataSetTest, arrayTest, attributeName, componentNames, onpoints ) data: Union[ vtkPointData, vtkCellData ] if onpoints: @@ -234,7 +208,7 @@ def test_copyAttribute( dataSetTest: vtkMultiBlockDataSet ) -> None: attributeFrom: str = "CellAttribute" attributeTo: str = "CellAttributeTO" - vtkFilters.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) + arrayModifiers.copyAttribute( objectFrom, objectTo, attributeFrom, attributeTo ) blockIndex: int = 0 blockFrom: vtkDataSet = cast( vtkDataSet, objectFrom.GetBlock( blockIndex ) ) @@ -254,7 +228,7 @@ def test_copyAttributeDataSet( dataSetTest: vtkDataSet, ) -> None: attributNameFrom = "CellAttribute" attributNameTo = "COPYATTRIBUTETO" - vtkFilters.copyAttributeDataSet( objectFrom, objectTo, attributNameFrom, attributNameTo ) + arrayModifiers.copyAttributeDataSet( objectFrom, objectTo, attributNameFrom, attributNameTo ) arrayFrom: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectFrom.GetCellData().GetArray( attributNameFrom ) ) arrayTo: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( objectTo.GetCellData().GetArray( attributNameTo ) ) @@ -274,7 +248,7 @@ def test_renameAttributeMultiblock( """Test renaming attribute in a multiblock dataset.""" vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) newAttributeName: str = "new" + attributeName - vtkFilters.renameAttribute( + arrayModifiers.renameAttribute( vtkMultiBlockDataSetTest, attributeName, newAttributeName, @@ -302,10 +276,10 @@ def test_renameAttributeDataSet( """Test renaming an attribute in a dataset.""" vtkDataSetTest: vtkDataSet = dataSetTest( "dataset" ) newAttributeName: str = "new" + attributeName - vtkFilters.renameAttribute( object=vtkDataSetTest, - attributeName=attributeName, - newAttributeName=newAttributeName, - onPoints=onpoints ) + arrayModifiers.renameAttribute( object=vtkDataSetTest, + attributeName=attributeName, + newAttributeName=newAttributeName, + onPoints=onpoints ) if onpoints: assert vtkDataSetTest.GetPointData().HasArray( attributeName ) == 0 assert vtkDataSetTest.GetPointData().HasArray( newAttributeName ) == 1 diff --git a/geos-mesh/tests/test_generate_fractures.py b/geos-mesh/tests/test_generate_fractures.py index 1a6c1de7..49f9bd82 100644 --- a/geos-mesh/tests/test_generate_fractures.py +++ b/geos-mesh/tests/test_generate_fractures.py @@ -8,7 +8,7 @@ from geos.mesh.doctor.checks.generate_cube import build_rectilinear_blocks_mesh, XYZ from geos.mesh.doctor.checks.generate_fractures import ( __split_mesh_on_fractures, Options, FracturePolicy, Coordinates3D, IDMapping ) -from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.utils.genericHelpers import to_vtk_id_list FaceNodesCoords = tuple[ tuple[ float ] ] IDMatrix = Sequence[ Sequence[ int ] ] diff --git a/geos-mesh/tests/test_multiblockModifiers.py b/geos-mesh/tests/test_multiblockModifiers.py new file mode 100644 index 00000000..94b0650e --- /dev/null +++ b/geos-mesh/tests/test_multiblockModifiers.py @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Paloma Martinez +# SPDX-License-Identifier: Apache 2.0 +# ruff: noqa: E402 # disable Module level import not at top of file +import pytest + +from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet, vtkUnstructuredGrid +from geos.mesh.utils import multiblockModifiers + + +# TODO: Add test for keepPartialAttributes = True when function fixed +@pytest.mark.parametrize( + "keepPartialAttributes, expected_point_attributes, expected_cell_attributes", + [ + ( False, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", ) ), + # ( True, ( "GLOBAL_IDS_POINTS", ), ( "GLOBAL_IDS_CELLS", "CELL_MARKERS", "FAULT", "PERM", "PORO" ) ), + ] ) +def test_mergeBlocks( + dataSetTest: vtkMultiBlockDataSet, + expected_point_attributes: tuple[ str, ...], + expected_cell_attributes: tuple[ str, ...], + keepPartialAttributes: bool, +) -> None: + """Test the merging of a multiblock.""" + vtkMultiBlockDataSetTest: vtkMultiBlockDataSet = dataSetTest( "multiblock" ) + dataset: vtkUnstructuredGrid = multiblockModifiers.mergeBlocks( vtkMultiBlockDataSetTest, keepPartialAttributes ) + + assert dataset.GetCellData().GetNumberOfArrays() == len( expected_cell_attributes ) + for c_attribute in expected_cell_attributes: + assert dataset.GetCellData().HasArray( c_attribute ) + + assert dataset.GetPointData().GetNumberOfArrays() == len( expected_point_attributes ) + for p_attribute in expected_point_attributes: + assert dataset.GetPointData().HasArray( p_attribute ) \ No newline at end of file diff --git a/geos-mesh/tests/test_reorient_mesh.py b/geos-mesh/tests/test_reorient_mesh.py index 9e66f3b7..5884d5f7 100644 --- a/geos-mesh/tests/test_reorient_mesh.py +++ b/geos-mesh/tests/test_reorient_mesh.py @@ -6,7 +6,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON from geos.mesh.doctor.checks.reorient_mesh import reorient_mesh from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.utils.helpers import to_vtk_id_list, vtk_iter +from geos.mesh.utils.genericHelpers import to_vtk_id_list, vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/tests/test_supported_elements.py b/geos-mesh/tests/test_supported_elements.py index 28f4cd2f..bb0213c6 100644 --- a/geos-mesh/tests/test_supported_elements.py +++ b/geos-mesh/tests/test_supported_elements.py @@ -5,7 +5,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON # from geos.mesh.doctor.checks.supported_elements import Options, check, __check from geos.mesh.doctor.checks.vtk_polyhedron import parse_face_stream, FaceStream -from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.utils.genericHelpers import to_vtk_id_list # TODO Update this test to have access to another meshTests file diff --git a/geos-posp/src/PVplugins/PVAttributeMapping.py b/geos-posp/src/PVplugins/PVAttributeMapping.py index d69fa15c..a862b9a9 100644 --- a/geos-posp/src/PVplugins/PVAttributeMapping.py +++ b/geos-posp/src/PVplugins/PVAttributeMapping.py @@ -18,8 +18,9 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.AttributeMappingFromCellCoords import ( AttributeMappingFromCellCoords, ) -from geos.mesh.utils.filters import ( fillPartialAttributes, mergeBlocks ) -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayModifiers import fillPartialAttributes +from geos.mesh.utils.multiblockModifiers import mergeBlocks +from geos.mesh.utils.arrayHelpers import ( getAttributeSet, getNumberOfComponents, ) diff --git a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py index 2b2f4f59..8f25df08 100644 --- a/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py +++ b/geos-posp/src/PVplugins/PVCreateConstantAttributePerRegion.py @@ -19,11 +19,11 @@ import vtkmodules.util.numpy_support as vnp from geos.utils.Logger import Logger, getLogger -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos.mesh.utils.helpers import isAttributeInObject +from geos.mesh.utils.arrayHelpers import isAttributeInObject from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py index 9d0d60cc..443f5fc3 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolume.py @@ -24,7 +24,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.utils.filters import ( +from geos.mesh.utils.arrayModifiers import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py index cb86d8b8..9a90cf3b 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurface.py @@ -25,7 +25,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.utils.filters import ( +from geos.mesh.utils.arrayModifiers import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py index 452db15b..3d041283 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeSurfaceWell.py @@ -25,7 +25,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.utils.filters import ( +from geos.mesh.utils.arrayModifiers import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py index a81db249..fd418b29 100644 --- a/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py +++ b/geos-posp/src/PVplugins/PVExtractMergeBlocksVolumeWell.py @@ -28,7 +28,7 @@ from geos.utils.Logger import ERROR, INFO, Logger, getLogger from geos_posp.filters.GeosBlockExtractor import GeosBlockExtractor from geos_posp.filters.GeosBlockMerge import GeosBlockMerge -from geos.mesh.utils.filters import ( +from geos.mesh.utils.arrayModifiers import ( copyAttribute, createCellCenterAttribute, ) diff --git a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py index 9a3880fb..23f81d87 100644 --- a/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py +++ b/geos-posp/src/PVplugins/PVMergeBlocksEnhanced.py @@ -16,7 +16,7 @@ import PVplugins # noqa: F401 from geos.utils.Logger import Logger, getLogger -from geos.mesh.utils.filters import mergeBlocks +from geos.mesh.utils.multiblockModifiers import mergeBlocks from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) diff --git a/geos-posp/src/PVplugins/PVMohrCirclePlot.py b/geos-posp/src/PVplugins/PVMohrCirclePlot.py index 3c6e4888..935cf61a 100644 --- a/geos-posp/src/PVplugins/PVMohrCirclePlot.py +++ b/geos-posp/src/PVplugins/PVMohrCirclePlot.py @@ -43,8 +43,8 @@ DEFAULT_FRICTION_ANGLE_RAD, DEFAULT_ROCK_COHESION, ) -from geos.mesh.utils.helpers import getArrayInObject -from geos.mesh.utils.filters import mergeBlocks +from geos.mesh.utils.arrayHelpers import getArrayInObject +from geos.mesh.utils.multiblockModifiers import mergeBlocks from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) from geos_posp.visu.PVUtils.DisplayOrganizationParaview import ( diff --git a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py index f5330fe7..0d0b7ed5 100644 --- a/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py +++ b/geos-posp/src/PVplugins/PVSurfaceGeomechanics.py @@ -21,7 +21,7 @@ DEFAULT_ROCK_COHESION, ) from geos_posp.filters.SurfaceGeomechanics import SurfaceGeomechanics -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) diff --git a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py index d7e04b5e..bbc5c1ad 100644 --- a/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py +++ b/geos-posp/src/PVplugins/PVTransferAttributesVolumeSurface.py @@ -17,12 +17,12 @@ from geos.utils.Logger import Logger, getLogger from geos_posp.filters.TransferAttributesVolumeSurface import ( TransferAttributesVolumeSurface, ) -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex, ) -from geos.mesh.utils.helpers import getAttributeSet -from geos.mesh.utils.filters import mergeBlocks +from geos.mesh.utils.arrayHelpers import getAttributeSet +from geos.mesh.utils.multiblockModifiers import mergeBlocks from geos_posp.visu.PVUtils.checkboxFunction import ( # type: ignore[attr-defined] createModifiedCallback, ) from geos_posp.visu.PVUtils.paraviewTreatments import getArrayChoices diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py index 8f022909..7ecee6dd 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py @@ -22,12 +22,12 @@ vtkUnstructuredGrid, ) -from geos.mesh.utils.filters import ( +from geos.mesh.utils.arrayModifiers import ( computeCellCenterCoordinates, createEmptyAttribute, ) -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayHelpers import ( getVtkArrayInObject, ) __doc__ = """ diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py index a530d5ae..ceae6313 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellId.py @@ -10,8 +10,8 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid -from geos.mesh.utils.filters import createAttribute -from geos.mesh.utils.helpers import getArrayInObject +from geos.mesh.utils.arrayModifiers import createAttribute +from geos.mesh.utils.arrayHelpers import getArrayInObject __doc__ = """ AttributeMappingFromCellId module is a vtk filter that transfer a attribute from a diff --git a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py index aeb61770..7d033767 100644 --- a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py +++ b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py @@ -30,8 +30,8 @@ vtkUnstructuredGrid, ) from vtkmodules.vtkFiltersCore import vtkCellCenters -from geos.mesh.utils.filters import createAttribute -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayModifiers import createAttribute +from geos.mesh.utils.genericHelpers import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py index cffc22ea..7f8e030b 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockExtractor.py @@ -11,9 +11,9 @@ from vtkmodules.vtkCommonCore import vtkInformation, vtkInformationVector from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( +from geos.mesh.utils.multiblockHelpers import ( getBlockIndexFromName, ) -from geos.mesh.utils.filters import extractBlock +from geos.mesh.utils.multiblockHelpers import extractBlock __doc__ = """ GeosBlockExtractor module is a vtk filter that allows to extract Volume mesh, diff --git a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py index 0b8a421a..09b0a879 100644 --- a/geos-posp/src/geos_posp/filters/GeosBlockMerge.py +++ b/geos-posp/src/geos_posp/filters/GeosBlockMerge.py @@ -33,15 +33,11 @@ from vtkmodules.vtkFiltersGeometry import vtkDataSetSurfaceFilter from vtkmodules.vtkFiltersTexture import vtkTextureMapToPlane -from geos.mesh.utils.multiblockInspectorTreeFunctions import ( - getElementaryCompositeBlockIndexes, ) -from geos.mesh.utils.helpers import getAttributeSet -from geos.mesh.utils.filters import ( - createConstantAttribute, - extractBlock, - fillAllPartialAttributes, - mergeBlocks, -) +from geos.mesh.utils.multiblockHelpers import getElementaryCompositeBlockIndexes +from geos.mesh.utils.arrayHelpers import getAttributeSet +from geos.mesh.utils.arrayModifiers import createConstantAttribute, fillAllPartialAttributes +from geos.mesh.utils.multiblockHelpers import extractBlock +from geos.mesh.utils.multiblockModifiers import mergeBlocks __doc__ = """ GeosBlockMerge module is a vtk filter that allows to merge Geos ranks, rename diff --git a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py index 01e8d434..7e50cbf7 100644 --- a/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py +++ b/geos-posp/src/geos_posp/filters/SurfaceGeomechanics.py @@ -33,8 +33,8 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) -from geos.mesh.utils.filters import createAttribute -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayModifiers import createAttribute +from geos.mesh.utils.arrayHelpers import ( getArrayInObject, getAttributeSet, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py index 4d363277..2640d625 100644 --- a/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py +++ b/geos-posp/src/geos_posp/filters/TransferAttributesVolumeSurface.py @@ -19,7 +19,7 @@ from vtkmodules.vtkCommonDataModel import vtkPolyData, vtkUnstructuredGrid from geos_posp.filters.VolumeSurfaceMeshMapper import VolumeSurfaceMeshMapper -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayHelpers import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py index 8ae1828f..9a30cc61 100644 --- a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py +++ b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py @@ -12,9 +12,12 @@ from vtkmodules.vtkCommonCore import vtkDataArray from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) - -import geos.mesh.utils.filters as vtkFilters -import geos.mesh.utils.helpers as vtkHelpers +from geos.mesh.utils.genericHelpers import extractSurfaceFromElevation +from geos.mesh.utils.arrayHelpers import getAttributeValuesAsDF +from geos.mesh.utils.arrayModifiers import ( + transferPointDataToCellData, + computeCellCenterCoordinates, +) __doc__ = r""" This module contains utilities to process meshes using pyvista. @@ -62,14 +65,14 @@ def loadDataSet( assert mergedMesh is not None, "Merged mesh is undefined." # extract data - surface = vtkFilters.extractSurfaceFromElevation( mergedMesh, elevation ) + surface = extractSurfaceFromElevation( mergedMesh, elevation ) # transfer point data to cell center - surface = cast( vtkPolyData, vtkFilters.transferPointDataToCellData( surface ) ) - timeToPropertyMap[ str( time ) ] = vtkHelpers.getAttributeValuesAsDF( surface, properties ) + surface = cast( vtkPolyData, transferPointDataToCellData( surface ) ) + timeToPropertyMap[ str( time ) ] = getAttributeValuesAsDF( surface, properties ) # get cell center coordinates assert surface is not None, "Surface are undefined." - pointsCoords: vtkDataArray = vtkFilters.computeCellCenterCoordinates( surface ) + pointsCoords: vtkDataArray = computeCellCenterCoordinates( surface ) assert pointsCoords is not None, "Cell center are undefined." pointsCoordsNp: npt.NDArray[ np.float64 ] = vnp.vtk_to_numpy( pointsCoords ) return ( timeToPropertyMap, pointsCoordsNp ) @@ -103,4 +106,4 @@ def getBlockByName( multiBlockMesh: Union[ pv.MultiBlock, pv.UnstructuredGrid ], # if mesh is not None, it is the searched one if mesh is not None: break - return mesh + return mesh \ No newline at end of file diff --git a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py index 551075d4..ee09f715 100644 --- a/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py +++ b/geos-posp/src/geos_posp/visu/PVUtils/paraviewTreatments.py @@ -32,7 +32,7 @@ vtkUnstructuredGrid, ) -from geos.mesh.utils.helpers import ( +from geos.mesh.utils.arrayHelpers import ( getArrayInObject, isAttributeInObject, ) diff --git a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py index cb45e299..22965d7b 100644 --- a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py +++ b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py @@ -20,7 +20,7 @@ from vtkmodules.vtkCommonDataModel import vtkCellLocator, vtkFieldData, vtkImageData, vtkPointData, vtkPointSet from vtkmodules.vtkFiltersCore import vtkExtractCells, vtkResampleWithDataSet from vtkmodules.vtkFiltersExtraction import vtkExtractGrid -from geos.mesh.utils.helpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName +from geos.mesh.utils.arrayHelpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh from geos.pygeos_tools.model.pyevtk_tools import cGlobalIds from geos.utils.errors_handling.classes import required_attributes From 59ea65aff9493adb94f2604955694970938f1537 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Mon, 19 May 2025 10:47:35 +0200 Subject: [PATCH 49/71] add PV volume mesh quality plugin rename CellTypeCounter add Squish index anc Incident Vertex Count add unit tests --- .../mesh/doctor/checks/check_fractures.py | 2 +- .../mesh/doctor/checks/collocated_nodes.py | 2 +- .../mesh/doctor/checks/element_volumes.py | 2 +- .../doctor/checks/fix_elements_orderings.py | 4 +- .../geos/mesh/doctor/checks/generate_cube.py | 2 +- .../mesh/doctor/checks/generate_fractures.py | 4 +- .../mesh/doctor/checks/generate_global_ids.py | 2 +- .../geos/mesh/doctor/checks/non_conformal.py | 4 +- .../geos/mesh/doctor/checks/reorient_mesh.py | 2 +- .../checks/self_intersecting_elements.py | 2 +- .../mesh/doctor/checks/supported_elements.py | 4 +- .../geos/mesh/doctor/checks/vtk_polyhedron.py | 2 +- .../parsing/generate_fractures_parsing.py | 2 +- .../mesh/doctor/parsing/vtk_output_parsing.py | 2 +- .../geos/mesh/model/QualityMetricSummary.py | 331 ++++-- .../src/geos/mesh/processing/SplitMesh.py | 4 +- .../processing/meshQualityMetricHelpers.py | 225 ++++- ...eCounter.py => CellTypeCounterEnhanced.py} | 10 +- .../geos/mesh/stats/MeshQualityEnhanced.py | 948 ++++++++++-------- .../src/geos/mesh/{vtk => utils}/__init__.py | 0 .../src/geos/mesh/{vtk => utils}/helpers.py | 0 geos-mesh/src/geos/mesh/{vtk => utils}/io.py | 0 ...ter.py => test_CellTypeCounterEnhanced.py} | 16 +- geos-mesh/tests/test_MeshQualityEnhanced.py | 54 +- geos-mesh/tests/test_QualityMetricSummary.py | 148 ++- geos-mesh/tests/test_SplitMesh.py | 2 +- geos-mesh/tests/test_cli_parsing.py | 2 +- geos-mesh/tests/test_generate_fractures.py | 2 +- .../test_helpers_createSingleCellMesh.py | 2 +- .../tests/test_helpers_createVertices.py | 2 +- geos-mesh/tests/test_meshQualityHelpers.py | 29 +- geos-mesh/tests/test_reorient_mesh.py | 2 +- geos-mesh/tests/test_supported_elements.py | 2 +- ...ounter.py => PVCellTypeCounterEnhanced.py} | 10 +- .../PVplugins/PVSurfaceMeshQualityEnhanced.py | 69 +- .../PVplugins/PVVolumeMeshQualityEnhanced.py | 294 ++++++ .../src/geos/utils/geometryFunctions.py | 23 +- .../src/geos/pygeos_tools/mesh/VtkMesh.py | 4 +- 38 files changed, 1539 insertions(+), 676 deletions(-) rename geos-mesh/src/geos/mesh/stats/{CellTypeCounter.py => CellTypeCounterEnhanced.py} (90%) rename geos-mesh/src/geos/mesh/{vtk => utils}/__init__.py (100%) rename geos-mesh/src/geos/mesh/{vtk => utils}/helpers.py (100%) rename geos-mesh/src/geos/mesh/{vtk => utils}/io.py (100%) rename geos-mesh/tests/{test_CellTypeCounter.py => test_CellTypeCounterEnhanced.py} (92%) rename geos-pv/src/PVplugins/{PVCellTypeCounter.py => PVCellTypeCounterEnhanced.py} (94%) create mode 100644 geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py diff --git a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py index a42ef418..4a23976a 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/check_fractures.py @@ -8,7 +8,7 @@ from vtkmodules.vtkIOXML import vtkXMLMultiBlockDataReader from vtkmodules.util.numpy_support import vtk_to_numpy from geos.mesh.doctor.checks.generate_fractures import Coordinates3D -from geos.mesh.vtk.helpers import vtk_iter +from geos.mesh.utils.helpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py index 91632b3e..83589651 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py @@ -5,7 +5,7 @@ from typing import Collection, Iterable from vtkmodules.vtkCommonCore import reference, vtkPoints from vtkmodules.vtkCommonDataModel import vtkIncrementalOctreePointLocator -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.io import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py b/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py index 55ad3a22..fa8ac25f 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/element_volumes.py @@ -5,7 +5,7 @@ from vtkmodules.vtkCommonDataModel import VTK_HEXAHEDRON, VTK_PYRAMID, VTK_TETRA, VTK_WEDGE from vtkmodules.vtkFiltersVerdict import vtkCellSizeFilter, vtkMeshQuality from vtkmodules.util.numpy_support import vtk_to_numpy -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.io import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py index 079377b9..12536aae 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/fix_elements_orderings.py @@ -1,8 +1,8 @@ from dataclasses import dataclass from typing import Dict, FrozenSet, List, Set from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.vtk.helpers import to_vtk_id_list -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import to_vtk_id_list +from geos.mesh.utils.io import VtkOutput, read_mesh, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py index 4b4c71fb..0ea1c1f7 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_cube.py @@ -7,7 +7,7 @@ from vtkmodules.vtkCommonDataModel import ( vtkCellArray, vtkHexahedron, vtkRectilinearGrid, vtkUnstructuredGrid, VTK_HEXAHEDRON ) from geos.mesh.doctor.checks.generate_global_ids import __build_global_ids -from geos.mesh.vtk.io import VtkOutput, write_mesh +from geos.mesh.utils.io import VtkOutput, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py index 8225968e..b5b8817f 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py @@ -13,8 +13,8 @@ from vtkmodules.util.numpy_support import numpy_to_vtk, vtk_to_numpy from vtkmodules.util.vtkConstants import VTK_ID_TYPE from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.vtk.helpers import has_invalid_arrays, to_vtk_id_list, vtk_iter -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import has_invalid_arrays, to_vtk_id_list, vtk_iter +from geos.mesh.utils.io import VtkOutput, read_mesh, write_mesh """ TypeAliases cannot be used with Python 3.9. A simple assignment like described there will be used: https://docs.python.org/3/library/typing.html#typing.TypeAlias:~:text=through%20simple%20assignment%3A-,Vector%20%3D%20list%5Bfloat%5D,-Or%20marked%20with diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py index 6142ad7c..15f644c9 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_global_ids.py @@ -1,7 +1,7 @@ from dataclasses import dataclass import logging from vtkmodules.vtkCommonCore import vtkIdTypeArray -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.io import VtkOutput, read_mesh, write_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py index 5d99b433..07f5bffa 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/non_conformal.py @@ -14,8 +14,8 @@ from vtkmodules.vtkFiltersModeling import vtkCollisionDetectionFilter, vtkLinearExtrusionFilter from geos.mesh.doctor.checks import reorient_mesh from geos.mesh.doctor.checks import triangle_distance -from geos.mesh.vtk.helpers import vtk_iter -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.io import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py index 11134a40..476efa23 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/reorient_mesh.py @@ -8,7 +8,7 @@ vtkUnstructuredGrid, vtkTetra ) from vtkmodules.vtkFiltersCore import vtkTriangleFilter from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream, build_face_to_face_connectivity_through_edges -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list def __compute_volume( mesh_points: vtkPoints, face_stream: FaceStream ) -> float: diff --git a/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py index 18370492..8957cbfc 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/self_intersecting_elements.py @@ -3,7 +3,7 @@ from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkFiltersGeneral import vtkCellValidator from vtkmodules.vtkCommonCore import vtkOutputWindow, vtkFileOutputWindow -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.io import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py index affad387..0fc1c2f4 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/supported_elements.py @@ -11,8 +11,8 @@ VTK_PENTAGONAL_PRISM, VTK_POLYHEDRON, VTK_PYRAMID, VTK_TETRA, VTK_VOXEL, VTK_WEDGE ) from geos.mesh.doctor.checks.vtk_polyhedron import build_face_to_face_connectivity_through_edges, FaceStream -from geos.mesh.vtk.helpers import vtk_iter -from geos.mesh.vtk.io import read_mesh +from geos.mesh.utils.helpers import vtk_iter +from geos.mesh.utils.io import read_mesh @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py index 1cf1929d..d64d142b 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/vtk_polyhedron.py @@ -3,7 +3,7 @@ import networkx from typing import Collection, Dict, FrozenSet, Iterable, List, Sequence, Tuple from vtkmodules.vtkCommonCore import vtkIdList -from geos.mesh.vtk.helpers import vtk_iter +from geos.mesh.utils.helpers import vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py index 949b47a4..fe4b2826 100644 --- a/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py +++ b/geos-mesh/src/geos/mesh/doctor/parsing/generate_fractures_parsing.py @@ -1,7 +1,7 @@ import os from geos.mesh.doctor.checks.generate_fractures import Options, Result, FracturePolicy from geos.mesh.doctor.parsing import vtk_output_parsing, GENERATE_FRACTURES -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.utils.io import VtkOutput __POLICY = "policy" __FIELD_POLICY = "field" diff --git a/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py b/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py index 47b6eb31..a8e9ed56 100644 --- a/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py +++ b/geos-mesh/src/geos/mesh/doctor/parsing/vtk_output_parsing.py @@ -1,7 +1,7 @@ import os.path import logging import textwrap -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.utils.io import VtkOutput __OUTPUT_FILE = "output" __OUTPUT_BINARY_MODE = "data-mode" diff --git a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py index 87636734..0d0a94ce 100644 --- a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py +++ b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py @@ -6,9 +6,10 @@ import pandas as pd from enum import Enum from typing import Any -from typing_extensions import Self +from typing_extensions import Self, Iterable from packaging.version import Version import matplotlib as mpl +import matplotlib.cm as cm import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from matplotlib.figure import Figure @@ -18,9 +19,15 @@ VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) from geos.mesh.processing.meshQualityMetricHelpers import ( + QUALITY_METRIC_OTHER_START_INDEX, getAllCellTypesExtended, getQualityMeasureNameFromIndex, - QualityMetricEnum, + getQualityMetricFromIndex, + MeshQualityMetricEnum, + CellQualityMetricEnum, + VtkCellQualityMetricEnum, + CellQualityMetricAdditionalEnum, + QualityMetricOtherEnum, QualityRange ) from geos.mesh.model.CellTypeCounts import CellTypeCounts @@ -30,11 +37,11 @@ """ class StatTypes(Enum): - MEAN = (0, "Mean", float) - STD_DEV = (1, "StdDev", float) - MIN = (2, "Min", float) - MAX = (3, "Max", float) - COUNT = (4, "Count", int) + MEAN = (0, "Mean", float, np.nanmean) + STD_DEV = (1, "StdDev", float, np.nanstd) + MIN = (2, "Min", float, np.nanmin) + MAX = (3, "Max", float, np.nanmax) + COUNT = (4, "Count", int, lambda v : np.count_nonzero(np.isfinite(v))) def getIndex(self: Self) ->int: """Get stat index. @@ -60,6 +67,17 @@ def getType(self: Self) ->object: """ return self.value[2] + def compute(self: Self, array: Iterable[float]) -> int | float: + """Compute statistics using function. + + Args: + array (Iterable[float]): input array + + Returns: + int | float: output stat + """ + return self.value[3](array) + @staticmethod def getNameFromIndex(index: int) ->str: """Get stat name from index. @@ -100,45 +118,32 @@ def getTypeFromIndex(index: int) ->object: return list(StatTypes)[index].getType() _RANGE_COLORS: tuple[str, str, str] = ('lightcoral', 'sandybrown', 'palegreen', ) - class QualityMetricSummary(): _LEVELS: tuple[str] = ("MetricIndex", "CellType") _CELL_TYPES_PLOT: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_POLYGON, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYHEDRON) + _CELL_TYPES_NAME: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk") for cellType in _CELL_TYPES_PLOT] def __init__(self: Self ) ->None: """CellTypeCounts stores the number of cells of each type.""" #: stores for each cell type, and metric type, the stats self._counts: CellTypeCounts = CellTypeCounts() - self._stats: pd.DataFrame + self._cellStats: pd.DataFrame + self._meshOtherStats: pd.DataFrame self._initStats() def _initStats(self: Self) ->None: - """Initialize self._stats dataframe.""" - rows: tuple[str] = (statType.getIndex() for statType in list(StatTypes)) + """Initialize self._cellStats dataframe.""" + rows: list[int] = [statType.getIndex() for statType in list(StatTypes)] + nb_rows: int = len(rows) cellTypes: list[int] = getAllCellTypesExtended() - indexes = [(metric.metricIndex, cellType) for metric in list(QualityMetricEnum) for cellType in cellTypes if metric.isApplicableToCellType(cellType)] + indexes = [(metric.getMetricIndex(), cellType) for metric in (list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum)) for cellType in cellTypes if metric.isApplicableToCellType(cellType)] df_indexes: pd.MultiIndex = pd.MultiIndex.from_tuples((indexes), names=self._LEVELS) - nb_rows: int = len(list(StatTypes)) nb_col: int = df_indexes.size - self._stats = pd.DataFrame(np.full((nb_rows, nb_col), np.nan), columns=df_indexes, index=rows) + self._cellStats = pd.DataFrame(np.full((nb_rows, nb_col), np.nan), columns=df_indexes, index=rows) - def __str__(self: Self) ->str: - """Overload __str__ method. - - Returns: - str: counts as string. - """ - return self.print() - - def print(self: Self) ->str: - """Print quality metric summary as string. - - Returns: - str: quality metric summary. - """ - out: str = "" - return out + columns = [metric.getMetricIndex() for metric in list(QualityMetricOtherEnum)] + self._meshOtherStats = pd.DataFrame(np.full((nb_rows, len(columns)), np.nan), columns=columns, index=rows) def setCellTypeCounts(self: Self, counts: CellTypeCounts) ->None: """Set cell type counts. @@ -164,7 +169,7 @@ def getCellTypeCountsOfCellType(self: Self, cellType: int)-> int: """ return self._counts.getTypeCount(cellType) - def isStatsValidForMetricAndCellType(self: Self, + def isCellStatsValidForMetricAndCellType(self: Self, metricIndex: int, cellType: int, ) ->bool: @@ -179,28 +184,37 @@ def isStatsValidForMetricAndCellType(self: Self, """ return np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType))) - def getAllStats(self: Self)-> pd.DataFrame: - """Get all mesh stats including nan values. + def getAllCellStats(self: Self)-> pd.DataFrame: + """Get all cell stats including nan values. + + Returns: + pd.DataFrame: stats + """ + return self._cellStats + + def getAllValidCellStats(self: Self)-> pd.DataFrame: + """Get all valid cell stats. Returns: pd.DataFrame: stats """ - return self._stats + return self._cellStats.dropna(axis=1) - def getAllValidStats(self: Self)-> pd.DataFrame: - """Get all valid mesh stats. + def getAllValidOtherMetricStats(self: Self)-> pd.DataFrame: + """Get all valid other metric stats. Returns: pd.DataFrame: stats """ - return self._stats.dropna(axis=1) + print(self._meshOtherStats.head()) + return self._meshOtherStats.dropna(axis=1) - def getStatValueFromStatMetricAndCellType(self: Self, + def getCellStatValueFromStatMetricAndCellType(self: Self, metricIndex: int, cellType: int, statType: StatTypes, ) -> float: - """Get stat value for the given metric and cell types. + """Get cell stat value for the given metric and cell types. Args: metricIndex (int): metric index @@ -210,9 +224,9 @@ def getStatValueFromStatMetricAndCellType(self: Self, Returns: float: stats value """ - if (metricIndex, cellType) not in self._stats.columns: + if (metricIndex, cellType) not in self._cellStats.columns: raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - return self._stats[(metricIndex, cellType)][statType.getIndex()] + return self._cellStats[(metricIndex, cellType)][statType.getIndex()] def getStatsFromMetricAndCellType(self: Self, metricIndex: int, @@ -227,14 +241,14 @@ def getStatsFromMetricAndCellType(self: Self, Returns: pd.Series: stats """ - if (metricIndex, cellType) not in self._stats.columns: + if (metricIndex, cellType) not in self._cellStats.columns: raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - return self._stats[(metricIndex, cellType)] + return self._cellStats[(metricIndex, cellType)] def getStatsFromMetric(self: Self, metricIndex: int, ) -> pd.DataFrame: - """Get stats for the given metric. + """Get stats for the given metric index. Args: metricIndex (int): metric index @@ -242,12 +256,31 @@ def getStatsFromMetric(self: Self, Returns: pd.DataFrame: stats """ - return self._stats.xs(metricIndex, level=self._LEVELS[0], axis=1) + if metricIndex < QUALITY_METRIC_OTHER_START_INDEX: + return self._cellStats.xs(metricIndex, level=self._LEVELS[0], axis=1) + else: + return self._meshOtherStats[metricIndex] + + def setOtherStatValueFromMetric(self: Self, + metricIndex: int, + statType: StatTypes, + value: int | float + ) -> None: + """Set other stat value for the given metric. - def getStatsFromCellType(self: Self, - cellType: int, - ) -> pd.DataFrame: - """Get stats for the given cell type. + Args: + metricIndex (int): metric index + statType (StatTypes): stat number + value (int | float): value + """ + if metricIndex not in self._meshOtherStats.columns: + raise IndexError(f"Index {metricIndex} not in QualityMetricSummary meshOtherStats") + self._meshOtherStats.loc[statType.getIndex(), metricIndex] = value + + def getCellStatsFromCellType(self: Self, + cellType: int, + ) -> pd.DataFrame: + """Get cell stats for the given cell type. Args: cellType (int): cell type index @@ -255,15 +288,15 @@ def getStatsFromCellType(self: Self, Returns: pd.DataFrame: stats """ - return self._stats.xs(cellType, level=self._LEVELS[1], axis=1) + return self._cellStats.xs(cellType, level=self._LEVELS[1], axis=1) - def setStatValueFromStatMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - statType: StatTypes, - value: int | float - ) -> None: - """Set stats for the given metric and cell types. + def setCellStatValueFromStatMetricAndCellType(self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + value: int | float + ) -> None: + """Set cell stats for the given metric and cell types. Args: metricIndex (int): metric index @@ -271,19 +304,37 @@ def setStatValueFromStatMetricAndCellType(self: Self, statType (StatTypes): stat number value (int | float): value """ - if (metricIndex, cellType) not in self._stats.columns: + if (metricIndex, cellType) not in self._cellStats.columns: raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - self._stats.loc[statType.getIndex(), (metricIndex, cellType)] = value + self._cellStats.loc[statType.getIndex(), (metricIndex, cellType)] = value + + def getComputedCellMetricIndexes(self: Self) ->list[Any]: + """Get the list of index of computed cell quality metrics. + + Returns: + tuple[int]: list of metrics index + """ + validCellStats: pd.DataFrame = self.getAllValidCellStats() + columns: list[int] = validCellStats.columns.get_level_values(0).to_list() + return np.unique(columns).tolist() - def getComputedMetricIndexes(self: Self) ->list[Any]: - """Get the list of index of computed metrics. + def getComputedOtherMetricIndexes(self: Self) ->list[Any]: + """Get the list of index of computed other quality metrics. Returns: tuple[int]: list of metrics index """ - validStats: pd.DataFrame = self.getAllValidStats() - columns: pd.MultiIndex = validStats.columns - return np.unique(columns.get_level_values(0)).tolist() + validOtherStats: pd.DataFrame = self.getAllValidOtherMetricStats() + columns: list[int] = [validOtherStats.columns.to_list()] + return np.unique(columns).tolist() + + def getAllComputedMetricIndexes(self: Self) ->list[Any]: + """Get the list of index of all computed metrics. + + Returns: + tuple[int]: list of metrics index + """ + return self.getComputedCellMetricIndexes() + self.getComputedOtherMetricIndexes() def plotSummaryFigure(self: Self) -> Figure: """Plot quality metric summary figure. @@ -291,11 +342,14 @@ def plotSummaryFigure(self: Self) -> Figure: Returns: plt.figure: output Figure """ - computedMetrics: list[int] = self.getComputedMetricIndexes() + computedCellMetrics: list[int] = self.getComputedCellMetricIndexes() + computedOtherMetrics: list[int] = self.getComputedOtherMetricIndexes() + print(computedCellMetrics, computedOtherMetrics) # compute layout - nbAxes: int = len(computedMetrics) + 1 + nbAxes: int = len(computedCellMetrics) + len(computedOtherMetrics) + 1 ncols: int = 3 nrows: int = 1 + # 3 columns for these number of axes, else 4 columns if nbAxes not in (1, 2, 3, 5, 6, 9): ncols = 4 nrows: int = nbAxes // ncols @@ -304,15 +358,26 @@ def plotSummaryFigure(self: Self) -> Figure: figSize = (ncols * 3, nrows * 4) fig, axes = plt.subplots(nrows, ncols, figsize=figSize, tight_layout=True) axesFlat = axes.flatten() + # index of current axes + currentAxIndex: int = 0 # plot cell type counts self._plotCellTypeCounts(axesFlat[0]) - - # plot quality metrics - for i in range(1, nbAxes, 1): - ax: Axes = axesFlat[i] - self._plotAx(ax, computedMetrics[i-1]) - for ax in axesFlat[nbAxes:]: + currentAxIndex += 1 + + # plot other mesh quality stats + if len(computedOtherMetrics) > 0: + ax: Axes = axesFlat[currentAxIndex] + self._plotOtherMetricStats(ax) + currentAxIndex += 1 + # plot cell quality metrics + for metricIndex in computedCellMetrics: + ax: Axes = axesFlat[currentAxIndex] + self._plotCellMetricStats(ax, metricIndex) + currentAxIndex += 1 + + # remove unused axes + for ax in axesFlat[currentAxIndex:]: ax.remove() return fig @@ -323,30 +388,79 @@ def _plotCellTypeCounts(self: Self, ax: Axes) ->None: ax (Axes): Axes object """ xticks: npt.NDArray[np.int64] = np.arange(len(self._CELL_TYPES_PLOT), dtype=int) - xtickslabels = [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk") for cellType in self._CELL_TYPES_PLOT] toplot: list[int] = [self._counts.getTypeCount(cellType) for cellType in self._CELL_TYPES_PLOT] - p = ax.bar(xtickslabels, toplot) - # bar_label only for matplotlib version >= 3.3 + p = ax.bar(self._CELL_TYPES_NAME, toplot) + # bar_label only available for matplotlib version >= 3.3 if Version(mpl.__version__) >= Version("3.3"): plt.bar_label(p, label_type='center', rotation=90, padding=5) ax.set_xticks(xticks) - ax.set_xticklabels(xtickslabels, rotation=30, ha="right") + ax.set_xticklabels(self._CELL_TYPES_NAME, rotation=30, ha="right") ax.set_xlabel("Cell types") ax.set_title("Cell Type Counts") - def _plotAx(self: Self, ax: Axes, metricIndex: int) ->None: - """Plot a single Axes. + def _plotOtherMetricStats(self: Self, ax0: Axes) ->None: + """Plot other metric stats. + + Args: + ax0 (Axes): Axes object + metricIndex (int): metric index + """ + # order of cell types in each axes + computedMetrics: list[int] = self.getComputedOtherMetricIndexes() + # get data to plot + maxs: pd.Series = self._meshOtherStats.loc[StatTypes.MAX.getIndex(), computedMetrics] + mins: pd.Series = self._meshOtherStats.loc[StatTypes.MIN.getIndex(), computedMetrics] + means: pd.Series = self._meshOtherStats.loc[StatTypes.MEAN.getIndex(), computedMetrics] + stdDev: pd.Series = self._meshOtherStats.loc[StatTypes.STD_DEV.getIndex(), computedMetrics] + xticks: npt.NDArray[np.int64] = np.arange(means.index.size, dtype=int) + xtickslabels = [getQualityMeasureNameFromIndex(metricIndex)for metricIndex in computedMetrics] + # define colors + cmap: mpl.colors.Colormap = cm.get_cmap('plasma') + colors = cmap(np.linspace(0, 1, len(computedMetrics))) + + # min max rectangle width + recWidth: float = 0.5 + xtick: float = 0.0 + ax: Axes + for k, metricIndex in enumerate(computedMetrics): + ax = ax0 if k == 0 else ax0.twinx() + color = colors[k] + # add rectangle from min to max + x: float = xtick - recWidth / 2.0 + y: float = mins[metricIndex] + recHeight: float = maxs[metricIndex] - mins[metricIndex] + ax.add_patch(Rectangle((x, y), recWidth, recHeight, + edgecolor = color, + fill=False, + lw=1)) + + # plot mean and error bars for std dev + ax.errorbar(k, means[metricIndex], yerr=stdDev[metricIndex], fmt='-o', color=color) + xtick += 1.0 + + # set y axis color + ax.yaxis.label.set_color(color) + ax.tick_params(axis='y', colors=color) + + # set x tick names + ax0.set_xticks(xticks) + ax0.set_xticklabels(xtickslabels, rotation=30, ha="right") + ax0.set_xlabel("Mesh Quality Metric") + ax0.set_title("Other Mesh Quality Metric") + + def _plotCellMetricStats(self: Self, ax: Axes, metricIndex: int) ->None: + """Plot cell metric stats. Args: ax (Axes): Axes object metricIndex (int): metric index """ # get data to plot - maxs: pd.Series = self._stats.loc[StatTypes.MAX.getIndex(), metricIndex] - mins: pd.Series = self._stats.loc[StatTypes.MIN.getIndex(), metricIndex] - means: pd.Series = self._stats.loc[StatTypes.MEAN.getIndex(), metricIndex] + maxs: pd.Series = self._cellStats.loc[StatTypes.MAX.getIndex(), metricIndex] + mins: pd.Series = self._cellStats.loc[StatTypes.MIN.getIndex(), metricIndex] + means: pd.Series = self._cellStats.loc[StatTypes.MEAN.getIndex(), metricIndex] xticks: npt.NDArray[np.int64] = np.arange(means.index.size, dtype=int) - stdDev: pd.Series = self._stats.loc[StatTypes.STD_DEV.getIndex(), metricIndex] + stdDev: pd.Series = self._cellStats.loc[StatTypes.STD_DEV.getIndex(), metricIndex] # order of cell types in each axes xtickslabels: list[str] = [] @@ -359,15 +473,9 @@ def _plotAx(self: Self, ax: Axes, metricIndex: int) ->None: xtick: float = 0.0 for k, cellType in enumerate(self._CELL_TYPES_PLOT): if cellType in means.index: - xtickslabels += [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk")] - # add quality range patches if relevant - qualityRange: QualityRange | None = list(QualityMetricEnum)[metricIndex].getQualityRange(cellType) - if qualityRange is not None: - (ylim0, ylim1) = self._plotQualityRange(ax, qualityRange, xtick - rangeRecWidth / 2.0, (ylim0, ylim1), rangeRecWidth) - else: - # add white patch for tick alignment - ax.add_patch(Rectangle((xtick - rangeRecWidth / 2.0, 0.), rangeRecWidth, 1.0, - facecolor = 'w', fill=True,)) + xtickslabels += [self._CELL_TYPES_NAME[k]] + # add quality metric range + (ylim0, ylim1) = self._plotRangePatch(ax, metricIndex, cellType, ylim0, ylim1, xtick, rangeRecWidth) # add rectangle from min to max x: float = xtick - recWidth / 2.0 y: float = mins[cellType] @@ -376,9 +484,8 @@ def _plotAx(self: Self, ax: Axes, metricIndex: int) ->None: edgecolor = 'black', fill=False, lw=1)) - # plot mean and error bars for std dev - ax.errorbar(k, means[cellType], yerr=stdDev[cellType], fmt='-o', color='k') + ax.errorbar(xtick, means[cellType], yerr=stdDev[cellType], fmt='-o', color='k') xtick += 1.0 # set y axis limits @@ -389,6 +496,44 @@ def _plotAx(self: Self, ax: Axes, metricIndex: int) ->None: ax.set_xlabel("Cell types") ax.set_title(f"{getQualityMeasureNameFromIndex(metricIndex)}") + def _plotRangePatch(self: Self, + ax:Axes, + metricIndex:int, + cellType: int, + ylim0:float, + ylim1:float, + xtick: float, + rangeRecWidth: float + ) -> tuple[float, float]: + """Plot quality metric ranges. + + Args: + ax (Axes): axes object + metricIndex (int): metric index + cellType (int): cell type index + ylim0 (float): min y + ylim1 (float): max y + xtick (float): abscissa + rangeRecWidth (float): patch width + + Returns: + tuple[float, float]: tuple containing miny and max y + """ + try: + metric: MeshQualityMetricEnum = getQualityMetricFromIndex(metricIndex) + assert isinstance(metric, CellQualityMetricEnum), "Mesh quality metric is of wrong type." + # add quality range patches if relevant + qualityRange: QualityRange | None = metric.getQualityRange(cellType) + if qualityRange is not None: + (ylim0, ylim1) = self._plotQualityRange(ax, qualityRange, xtick - rangeRecWidth / 2.0, (ylim0, ylim1), rangeRecWidth) + else: + # add white patch for tick alignment + ax.add_patch(Rectangle((xtick - rangeRecWidth / 2.0, 0.), rangeRecWidth, 1.0, + facecolor = 'w', fill=True,)) + except AssertionError as e: + print("Cell quality metric range cannot be displayed due to: ", e) + return (ylim0, ylim1) + def _plotQualityRange(self: Self, ax: Axes, qualityRange: QualityRange, diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index aaded7b5..bad3ce4b 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -30,7 +30,7 @@ from vtkmodules.util.numpy_support import ( numpy_to_vtk, vtk_to_numpy ) -from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts __doc__ = """ @@ -186,7 +186,7 @@ def _get_cell_counts( self: Self ) -> CellTypeCounts: Returns: CellTypeCounts: cell type counts """ - filter: CellTypeCounter = CellTypeCounter() + filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( self.inData ) filter.Update() return filter.GetCellTypeCounts() diff --git a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py index f9068fb3..d54b7b17 100644 --- a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py +++ b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py @@ -16,6 +16,11 @@ Helpers for MeshQuality metrics. """ +#: start index of additional cell quality metrics +CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX: int = 100 +#: start index of other mesh quality metrics +QUALITY_METRIC_OTHER_START_INDEX: int = 200 + @dataclass( frozen=True ) class QualityRange(): """Defines metric quality ranges.""" @@ -23,9 +28,41 @@ class QualityRange(): normalRange: tuple[float, float] fullRange: tuple[float, float] -class QualityMetricAbstractEnum(Enum): +class MeshQualityMetricEnum(Enum): + def __init__(self: Self, + metricIndex: int, + name: str, + ) -> None: + """Define the enumeration to add attributes to mesh quality measures. + + Args: + metricIndex (int): index of QualityMeasureTypes + name (str): name of the metric + applicableToCellTypes (tuple[bool, ...]): tuple defining for each cell type if the + metric is applicable. + """ + self.metricIndex: int = int(metricIndex) + self.metricName: str = name + + def getMetricIndex(self: Self) -> int: + """Get metric index. + + Returns: + int: metric index + """ + return self.metricIndex + + def getMetricName(self: Self) ->str: + """Get metric name. + + Returns: + str: metric name + """ + return self.metricName + +class CellQualityMetricEnum(MeshQualityMetricEnum): def __init__(self: Self, - qualityMeasureTypesIndex: vtkMeshQuality.QualityMeasureTypes, + metricIndex: int, name: str, applicableToCellTypes: tuple[bool, ...], qualityRanges: tuple[QualityRange | None,...], @@ -33,18 +70,29 @@ def __init__(self: Self, """Define the enumeration to add attributes to mesh quality measures. Args: - qualityMeasureTypesIndex (vtkMeshQuality.QualityMeasureTypes): index of QualityMeasureTypes + metricIndex (int): index of QualityMeasureTypes name (str): name of the metric applicableToCellTypes (tuple[bool, ...]): tuple defining for each cell type if the metric is applicable. qualityRanges (tuple[QualityRange | None,...]): quality range limits for each cell type starting from best to worst quality. """ - self.metricIndex: str = int(qualityMeasureTypesIndex) - self.metricName: int = name + super().__init__(metricIndex, name) self.applicableToCellTypes: tuple[bool] = applicableToCellTypes self.qualityRanges: tuple[QualityRange | None,...] = qualityRanges + def getApplicableCellTypes(self: Self) -> set[int]: + """Get the list of cell type indexes the metric applies to. + + Returns: + set[int]: set of cell type indexes + """ + cellTypes = set() + for i, cellType in enumerate(getAllCellTypes()): + if self.applicableToCellTypes[i]: + cellTypes.add(cellType) + return cellTypes + def isApplicableToCellType(self: Self, cellType: int) ->bool: """Return True if the metric is applicable to input cell type, False otherwise. @@ -82,8 +130,8 @@ def getQualityRange(self: Self, cellType: int) -> Optional[QualityRange]: return self.qualityRanges[cellTypeIndex] #: from https://vtk.org/doc/nightly/html/vtkMeshQuality_8h_source.html -class QualityMetricEnum(QualityMetricAbstractEnum): - """Mesh quality metric enumeration. +class VtkCellQualityMetricEnum(CellQualityMetricEnum): + """Cell quality metric enumeration. The order of boolean is the same as getAllCellTypes method: (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON) @@ -91,6 +139,7 @@ class QualityMetricEnum(QualityMetricAbstractEnum): .. CAUTION:: The order of the enum must follow the one of vtkMeshQuality.QualityMeasureTypes. """ + #: ratio of cell longest and shortest edge lengths EDGE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, "Edge Ratio", @@ -98,36 +147,46 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)),) ) + #: ratio of the maximum edge length to the inradius (for simplicial elements but adapted for quads). + #: may be adapted for polyhedron other than tet by splitting the polyhedron in tet and computing the + #: max of aspect ratio of all tet ASPECT_RATIO = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, "Aspect Ratio", (True, True, True, False, False, False), (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), ) + #: ratio between the radius of the inscribed circle/sphere to the radius of the circum-circle/sphere + #: normalized so that the ratio yields 1 for equilateral cell RADIUS_RATIO = ( vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, "Radius Ratio", (True, True, True, False, False, False), (QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), ) + #: sum of the edge lengths squared divided by the area for triangles. Adapted for Tetrahedron. + #: normalized so that equal to 1 when the element is equilateral triangle ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, "Aspect Frobenius", (True, False, True, False, False, False), (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None), ) + #: median of Aspect Frobenius over all triangles of quads / tetrahedra of hexahedron MEDIAN_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, "Med Aspect Frobenius", (False, True, False, False, False, True), (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 3.0), (1.0, 3.0), (9.0, np.inf))) ) + #: maximum of Aspect Frobenius over all triangles of Quads / tetrahedra of hexahedron MAXIMUM_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, "Maximum Aspect Frobenius", (False, True, False, False, True, True), (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf))) ) + #: minimum angle between two neighboring edges for polygons / faces for tetrahedron. MINIMUM_ANGLE = ( vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, "Minimum Angle (°)", @@ -135,18 +194,22 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((30.0, 60.0), (0.0, 60.0), (0.0, 360.0)), QualityRange((45.0, 90.0), (0.0, 90.0), (0.0, 360.)), QualityRange((40.0, 180./np.pi*np.arccos(1/3)), (0.0, 180./np.pi*np.arccos(1/3)), (0.0, 360.0)), None, None, None) ) + #: the smallest ratio of the height of a vertex above its opposing triangle to + #: the longest edge of that opposing triangle across all vertices of the tetrahedron COLLAPSE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, "Collapse Ratio", (False, False, True, False, False, False), (None, None, QualityRange((0.1, 1.0), (0.0, np.inf), (0.0, np.inf)), None, None, None) ) + #: maximum angle between two neighboring edges for polygons / faces for tetrahedron. MAXIMUM_ANGLE = ( vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, "Maximum Angle (°)", (True, True, False, False, False, False), (QualityRange((60., 90.0), (60.0, 180.0), (0.0, 180.0)), QualityRange((90.0, 135.0), (90.0, 360.0), (0.0, 360.)), None, None, None, None) ) + #: condition number of the weighted Jacobian matrix. CONDITION = ( vtkMeshQuality.QualityMeasureTypes.CONDITION, "Condition", @@ -154,6 +217,8 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf))), ) + #: Jacobian divided by the product of the lengths of the longest edges + #: normalized so that a unit equilateral triangle has value 1. SCALED_JACOBIAN = ( vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, "Scaled Jacobian", @@ -162,17 +227,20 @@ class QualityMetricEnum(QualityMetricAbstractEnum): QualityRange((0.5, 0.5*np.sqrt(2)), (-0.5*np.sqrt(2), 0.5*np.sqrt(2)), (-np.inf, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)),), ) + #: same as Scaled Jacobian SHEAR = ( vtkMeshQuality.QualityMeasureTypes.SHEAR, "Shear", (False, True, False, False, False, True), (None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)))) + #: the minimum of the ratio of cell area/volume to the average area/volume of an ensemble of cells and its inverse. RELATIVE_SIZE_SQUARED = ( vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, "Relative Size Squared", (True, True, True, False, False, True), (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.6), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.50), (0.0, 1.0), (0.0, 1.0)), None, None, QualityRange((0.50, 1.0), (0.0, 1.0), (0.0, 1.0))), ) + #: inverse of Condition (Polygons) / Jacobian ratio SHAPE = ( vtkMeshQuality.QualityMeasureTypes.SHAPE, "Shape", @@ -180,6 +248,7 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)),), ) + #: relative size squared times shape SHAPE_AND_SIZE = ( vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, "Shape And Size", @@ -187,6 +256,8 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)),), ) + #: measure of how well-behaved the mapping from parameter space to world coordinates is. ratio of the + #: minimum of Jacobian determinant to cell area/volume DISTORTION = ( vtkMeshQuality.QualityMeasureTypes.DISTORTION, "Distortion", @@ -194,24 +265,28 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), None, QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)),), ) + #: maximum of edge ratio over all triangles of the cell MAXIMUM_EDGE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, "Maximum Edge Ratio", (False, True, False, False, False, True), (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf))) ) + #: measures the angle (absolute value of the cosine) between the principal axes. SKEW = ( vtkMeshQuality.QualityMeasureTypes.SKEW, "Skew", (False, True, False, False, False, True), (None, QualityRange((0.5, 1.0), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0))) ) + #: maximum ratio of cross derivative magnitude to principal axis magnitude TAPER = ( vtkMeshQuality.QualityMeasureTypes.TAPER, "Taper", (False, True, False, False, False, True), (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf))) ) + #: polyhedron volume VOLUME = ( vtkMeshQuality.QualityMeasureTypes.VOLUME, "Volume (m3)", @@ -219,37 +294,42 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf))), ) + #: ratio of minimum edge length to longest diagonal length STRETCH = ( vtkMeshQuality.QualityMeasureTypes.STRETCH, "Stretch", (False, True, False, False, False, True), (None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf))) ) + #: ratio of the minimum diagonal length to the maximum diagonal length DIAGONAL = ( vtkMeshQuality.QualityMeasureTypes.DIAGONAL, "Diagonal", (False, False, False, False, False, True), (None, None, None, None, None, QualityRange((0.65, 1.0), (0.0, 1.0), (0.0, np.inf)),) ) - # acceptable range is application dependent. + # ratio of cell volume to the gradient (divergence?) of cell volumes at the cell. Acceptable range is application dependent. DIMENSION = ( vtkMeshQuality.QualityMeasureTypes.DIMENSION, "Dimension (m)", (False, False, False, False, False, True), (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf)),) ) + #: measures the maximum deviation of the metric tensor at the corners of the quadrilateral. Maximum of oddy for hexahedron. ODDY = ( vtkMeshQuality.QualityMeasureTypes.ODDY, "Oddy", (False, True, False, False, False, True), (None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)),) ) + #: relative size squared times shear SHEAR_AND_SIZE = ( vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, "Shear And Size", (False, True, False, False, False, True), (None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0))) ) + #: minimum determinant of the Jacobian matrix evaluated at each corner and the center of the element JACOBIAN = ( vtkMeshQuality.QualityMeasureTypes.JACOBIAN, "Jacobian", @@ -257,73 +337,88 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)),) ) + #: the cosine of the minimum dihedral angle formed by planes intersecting in diagonals (to the fourth power) WARPAGE = ( vtkMeshQuality.QualityMeasureTypes.WARPAGE, "Warpage", (False, True, False, False, False, False), (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, None) ) + #: ratio of root-mean-square edge length to volume. + #: normalizing the metric to a value of 1 for equilateral tetrahedra ASPECT_GAMMA = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, "Aspect Gamma", (False, False, True, False, False, False), (None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (0.0, np.inf)), None, None, None) ) + #: polygon area AREA = ( vtkMeshQuality.QualityMeasureTypes.AREA, "Area (m2)", (True, True, False, False, False, False), (QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), None, None, None, None), ) + #: maximum of ratio of angular deviation from ideal element EQUIANGLE_SKEW = ( vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, "Equiangle Skew", (True, True, True, True, True, True), - (QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), - QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.3), (0.0, 1.0), (0.0, 1.0)),) + (QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), + QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)),) ) + #: maximum of ratio of volume deviation from ideal element EQUIVOLUME_SKEW = ( vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, "Equivolume Skew", (False, False, True, False, False, False), (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) ) + #: maximum stretch over tetrahedra MAXIMUM_STRETCH = ( vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, "Maximum Stretch", (False, False, False, False, True, False), (None, None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None) ) + #: mean of Aspect Frobenius over all triangles of Quads / tetrahedra of hexahedron MEAN_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, "Mean Aspect Frobenius", (False, False, False, False, True, False), (None, None, None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None) ) + #: ratio of tetrahedron volume over the volume of an equilateral tetrahedron with the same root mean squared edge length MEAN_RATIO = ( vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, "Mean Ratio", (False, False, True, False, False, False), (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) ) + #: ratio between the largest and smallest Jacobian determinant value NODAL_JACOBIAN_RATIO = ( vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, "Nodal Jacobian Ratio", (False, False, False, False, False, True), (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf))) ) + #: ratio of the minimum sub-triangle inner radius to the outer triangle radius NORMALIZED_INRADIUS = ( vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, "Normalized Inradius", (True, False, True, False, False, False), (QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, None, None) ) + #: measure used to quantify how far a cell deviates from orthogonality with respect to its face + #: maximum of sinus of the angle between the vector from polyhedron center and face center and face normal + #: yields 0 if vectors are parallel, 1 if they are orthogonal SQUISH_INDEX = ( vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, - "Squish index", - (False, False, True, False, False, False), + "Squish Index", + (False, False, True, True, True, True), (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) ) + #: no metric NONE = ( vtkMeshQuality.QualityMeasureTypes.NONE, "None", @@ -331,6 +426,36 @@ class QualityMetricEnum(QualityMetricAbstractEnum): (None, None, None, None, None, None) ) +class CellQualityMetricAdditionalEnum(CellQualityMetricEnum): + """Additional cell quality metric enumeration. + + The order of boolean is the same as getAllCellTypes method: + (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON) + + Metric index starts at 100 to prevent from conflicts with basic metrics and is incremented + in the order of the enumeration. + + """ + #: maximum of aspect ratio over all tets . + MAXIMUM_ASPECT_RATIO = ( + 100, + "Maximum Aspect Ratio", + (False, False, False, True, True, True), + (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), + QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ) + # other metrics can be defined the same way such as RADIUS_RATIO, EDGE_RATIO, ASPECT_GAMMA, EQUIVOLUME_SKEW, + # NORMALIZED_INRADIUS, (MAXIMUM_)ASPECT_FROBENIUS for pyramids, (MAXIMUM_)STRETCH for pyramids + +class QualityMetricOtherEnum(MeshQualityMetricEnum): + """Additional metrics that apply to the mesh, not to specific cell type. + + Metric index starts at 200 to prevent from conflicts with other metrics and is incremented + in the order of the enumeration. + """ + #: number of incident edges for each vertex + INCIDENT_VERTEX_COUNT = (200, "Incident Vertex Count") + def getAllCellTypesExtended() -> list[int]: """Get all cell type ids. @@ -377,16 +502,39 @@ def getPolyhedronCellTypes() -> list[int]: """ return [VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON] -def getQualityMeasureNameFromIndex(index: int) ->str: +def getQualityMetricFromIndex(metricIndex: int) -> Optional[MeshQualityMetricEnum]: + """Get quality metric from its index. + + Args: + metricIndex (int): metric index + + Raises: + IndexError: Metric index is out of range + + Returns: + MeshQualityMetricEnum | None: quality metric + """ + if metricIndex < CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX: + return list(VtkCellQualityMetricEnum)[metricIndex] + elif metricIndex < QUALITY_METRIC_OTHER_START_INDEX: + return list(CellQualityMetricAdditionalEnum)[metricIndex - CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX] + elif metricIndex < QUALITY_METRIC_OTHER_START_INDEX + len(list(QualityMetricOtherEnum)): + return list(QualityMetricOtherEnum)[metricIndex - QUALITY_METRIC_OTHER_START_INDEX] + return None + +def getQualityMeasureNameFromIndex(metricIndex: int) ->str: """Get quality metric name from index. Args: - index (int): index of quality measure + metricIndex (int): index of quality measure Returns: str: name of quality measure """ - return list(QualityMetricEnum)[index].metricName + metric = getQualityMetricFromIndex(metricIndex) + if metric is None: + return None + return metric.getMetricName() def getQualityMeasureIndexFromName(name: str) ->int: """Get quality metric index from name. @@ -397,11 +545,12 @@ def getQualityMeasureIndexFromName(name: str) ->int: Returns: int: index of quality measure """ - for metric in list(QualityMetricEnum): - if metric.metricName == name: - return metric.metricIndex + for metric in list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum) + list(QualityMetricOtherEnum): + if metric.getMetricName() == name: + return metric.getMetricIndex() + return "" -def getQualityMeasureFromCellType(cellType: int) -> set[int]: +def getCellQualityMeasureFromCellType(cellType: int) -> set[int]: """Get the indexes of mesh quality metrics defined for triangles. Returns: @@ -409,7 +558,7 @@ def getQualityMeasureFromCellType(cellType: int) -> set[int]: """ if cellType not in getAllCellTypesExtended(): raise ValueError(f"Cell type {cellType} not in supported cell types {getAllCellTypesExtended()}.") - return {metric.metricIndex for metric in list(QualityMetricEnum) if metric.isApplicableToCellType(cellType)} + return {metric.metricIndex for metric in list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum) if metric.isApplicableToCellType(cellType)} def getTriangleQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for triangles. @@ -417,7 +566,7 @@ def getTriangleQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_TRIANGLE) + return getCellQualityMeasureFromCellType(VTK_TRIANGLE) def getQuadQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for quads. @@ -425,7 +574,7 @@ def getQuadQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_QUAD) + return getCellQualityMeasureFromCellType(VTK_QUAD) def getCommonPolygonQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for both triangles and quads. @@ -443,7 +592,7 @@ def getTetQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_TETRA) + return getCellQualityMeasureFromCellType(VTK_TETRA) def getPyramidQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for quads. @@ -451,7 +600,7 @@ def getPyramidQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_PYRAMID) + return getCellQualityMeasureFromCellType(VTK_PYRAMID) def getWedgeQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for quads. @@ -459,7 +608,7 @@ def getWedgeQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_WEDGE) + return getCellQualityMeasureFromCellType(VTK_WEDGE) def getHexQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for quads. @@ -467,7 +616,7 @@ def getHexQualityMeasure() -> set[int]: Returns: set[int]: set of possible indexes. """ - return getQualityMeasureFromCellType(VTK_HEXAHEDRON) + return getCellQualityMeasureFromCellType(VTK_HEXAHEDRON) def getCommonPolyhedraQualityMeasure() -> set[int]: """Get the indexes of mesh quality metrics defined for both triangles and quads. @@ -481,12 +630,20 @@ def getCommonPolyhedraQualityMeasure() -> set[int]: hexMetrics: set[int] = getHexQualityMeasure() return tetMetrics.intersection(pyrMetrics).intersection(wedgeMetrics).intersection(hexMetrics) -#: functor to get mesh quality metrics set from cell type -qualityMetricsFromCellType: dict[int, callable] = { - VTK_TRIANGLE: getTriangleQualityMeasure, - VTK_QUAD: getQuadQualityMeasure, - VTK_TETRA: getTetQualityMeasure, - VTK_PYRAMID: getPyramidQualityMeasure, - VTK_WEDGE: getWedgeQualityMeasure, - VTK_HEXAHEDRON: getHexQualityMeasure, +def getQualityMetricsOther() ->set[int]: + """Get the set of indexes of other mesh quality metric. + + Returns: + set[int]: other mesh quality metric indexes + """ + return {metric.getMetricIndex() for metric in list(QualityMetricOtherEnum)} + +#: dictionary of cell quality metrics set from cell type +cellQualityMetricsFromCellType: dict[int, set[int]] = { + VTK_TRIANGLE: getTriangleQualityMeasure(), + VTK_QUAD: getQuadQualityMeasure(), + VTK_TETRA: getTetQualityMeasure(), + VTK_PYRAMID: getPyramidQualityMeasure(), + VTK_WEDGE: getWedgeQualityMeasure(), + VTK_HEXAHEDRON: getHexQualityMeasure(), } diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py similarity index 90% rename from geos-mesh/src/geos/mesh/stats/CellTypeCounter.py rename to geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py index 149867f9..cf3d8dfe 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py @@ -15,7 +15,7 @@ from geos.mesh.processing.meshQualityMetricHelpers import getAllCellTypes __doc__ = """ -CellTypeCounter module is a vtk filter that computes cell type counts. +CellTypeCounterEnhanced module is a vtk filter that computes cell type counts. Filter input is a vtkUnstructuredGrid, output is a vtkTable @@ -23,13 +23,13 @@ .. code-block:: python - from geos.mesh.stats.CellTypeCounter import CellTypeCounter + from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced # filter inputs input :vtkUnstructuredGrid # instanciate the filter - filter :CellTypeCounter = CellTypeCounter() + filter :CellTypeCounterEnhanced = CellTypeCounterEnhanced() # set input data object filter.SetInputDataObject(input) # do calculations @@ -39,10 +39,10 @@ """ -class CellTypeCounter( VTKPythonAlgorithmBase ): +class CellTypeCounterEnhanced( VTKPythonAlgorithmBase ): def __init__( self ) -> None: - """CellTypeCounter filter computes mesh stats.""" + """CellTypeCounterEnhanced filter computes mesh stats.""" super().__init__( nInputPorts=1, nOutputPorts=1, inputType="vtkUnstructuredGrid", outputType="vtkTable" ) self._counts: CellTypeCounts = CellTypeCounts() diff --git a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py index 2eb8cb66..e179a992 100644 --- a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py +++ b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py @@ -3,10 +3,9 @@ # SPDX-FileContributor: Antoine Mazuyer, Martin Lemay import numpy as np import numpy.typing as npt -import pandas as pd -from typing import Optional, Iterable +from typing import Optional, cast from typing_extensions import Self -from vtkmodules.vtkFiltersCore import vtkExtractEdges, vtkFeatureEdges +from vtkmodules.vtkFiltersCore import vtkExtractEdges from vtkmodules.vtkFiltersVerdict import vtkMeshQuality from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase from vtkmodules.vtkCommonCore import ( @@ -17,44 +16,44 @@ vtkDataArray, vtkIntArray, vtkDoubleArray, + vtkIdTypeArray, + vtkMath, ) from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkPolyData, vtkCellData, + vtkPointData, vtkFieldData, vtkCell, - vtkPolygon, + vtkCell3D, vtkTetra, vtkCellTypes, + vtkPolygon, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) -from vtkmodules.util.numpy_support import vtk_to_numpy +from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk -from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes -from geos.mesh.vtk.helpers import getAttributesFromDataSet +from geos.mesh.utils.helpers import getArraysFromDataSet from geos.mesh.processing.meshQualityMetricHelpers import ( getQualityMeasureNameFromIndex, - getQualityMeasureIndexFromName, - qualityMetricsFromCellType, - QualityMetricEnum, + getQualityMetricFromIndex, + cellQualityMetricsFromCellType, + VtkCellQualityMetricEnum, + CellQualityMetricAdditionalEnum, + QualityMetricOtherEnum, getAllCellTypesExtended, getAllCellTypes, getPolygonCellTypes, getPolyhedronCellTypes, - getCommonPolygonQualityMeasure, - getCommonPolyhedraQualityMeasure, - getQualityMeasureFromCellType, + getCellQualityMeasureFromCellType, getChildrenCellTypes, ) -# from geos.utils.geometryFunctions import ( -# computeAngleFromPoints, -# computeNormalFromPoints, -# computeAngleFromVectors -# ) -import geos.utils.geometryFunctions as fcts + +import geos.utils.geometryFunctions as geom __doc__ = """ MeshQualityEnhanced module is a vtk filter that computes mesh quality stats. @@ -94,7 +93,7 @@ def getQualityMetricArrayName(metric: int) ->str: Returns: str: name of output array """ - return QUALITY_ARRAY_NAME + "_" + "".join(getQualityMeasureNameFromIndex(metric).split()) + return QUALITY_ARRAY_NAME + "_" + "".join(getQualityMeasureNameFromIndex(metric).split(" ")) class MeshQualityEnhanced(VTKPythonAlgorithmBase): def __init__(self: Self) ->None: @@ -112,6 +111,13 @@ def __init__(self: Self) ->None: VTK_WEDGE: None, VTK_HEXAHEDRON: None, } + self._otherMetrics: Optional[set[QualityMetricOtherEnum]] = None + # for each cell, save cell type for later use + self._cellTypeMask: dict[int, npt.NDArray[np.bool_]] = {} + + # static members that can be loaded once to save computational times + self._allCellTypesExtended: tuple[int,...] = getAllCellTypesExtended() + self._allCellTypes: tuple[int,...] = getAllCellTypes() def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. @@ -206,7 +212,7 @@ def SetHexaMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: """ self._MetricsAll[VTK_HEXAHEDRON] = metrics - def SetMeshQualityMetrics(self :Self, + def SetCellQualityMetrics(self :Self, triangleMetrics: Optional[set[int]] = None, quadMetrics: Optional[set[int]] = None, tetraMetrics: Optional[set[int]] = None, @@ -243,6 +249,16 @@ def SetMeshQualityMetrics(self :Self, self.SetWedgeMetrics(wedgeMetrics) self.SetHexaMetrics(hexaMetrics) + def SetOtherMeshQualityMetrics(self: Self, metrics: set[QualityMetricOtherEnum]) ->None: + """Set additional metrics unrelated to cell types. + + Args: + metrics (set[QualityMetricOtherEnum]): set of QualityMetricOtherEnum + """ + if len(metrics) > 0: + self._otherMetrics = metrics + else: + self._otherMetrics = None def getComputedMetricsFromCellType(self: Self, cellType: int) -> Optional[set[int]]: """Get the set of metrics computed for input cell type. @@ -254,10 +270,10 @@ def getComputedMetricsFromCellType(self: Self, cellType: int) -> Optional[set[in Optional[set[int]]: set of computed quality metrics """ # child cell type - if cellType in getAllCellTypes(): + if cellType in self._allCellTypes: return self._MetricsAll[cellType] # for parent cell types, gather children metrics - metrics: Optional[set[int]] = getQualityMeasureFromCellType(cellType) + metrics: Optional[set[int]] = getCellQualityMeasureFromCellType(cellType) commonComputedMetricsExists: bool = False for cellTypeChild in getChildrenCellTypes(cellType): computedMetrics: set[int] = self._MetricsAll[cellTypeChild] @@ -301,33 +317,11 @@ def RequestData(self: Self, self._createFieldDataStatsSummary() self._outputMesh.Modified() - - # TODO move calculation in _evaluateMeshQuality - - # EL_data = [[],[]] - # VIE_data =[[],[]] - # self.EdgesLgth_VertexIncidentEdges(inData, EL_data, VIE_data) - - # facesPtsIdsSet: set[tuple[int]] = set() - # volume_data: tuple[list[float], list[float]] = [[],[]] - # jacobian_data: tuple[list[float], list[float]] = [[],[]] - # aspectRatio_data: tuple[list[float], list[float]] = [[],[]] - # AnglesBetweenEdges_data: tuple[list[float], list[float]] = [[],[]] - # HexStretch_data: tuple[list[float], list[float]] = [[],[]] - # EdgeRatio_data: tuple[list[float], list[float]] = [[],[]] - - # points: vtkPoints = inData.GetPoints() - # for c in range(inData.GetNumberOfCells()): - # cell: vtkCell = inData.GetCell(c) - # if cell.GetCellDimension() == 3: - # self.cellQuality (cell, volume_data, jacobian_data, HexStretch_data, EdgeRatio_data) - # self.CellAspectRatio(cell, aspectRatio_data, (2., 3.)) - # self.AnglesBetweenEdges(cell, points, facesPtsIdsSet, AnglesBetweenEdges_data) return 1 def _computeCellTypeCounts(self: Self) ->None: """Compute cell type counts.""" - filter: CellTypeCounter = CellTypeCounter() + filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( self._outputMesh ) filter.Update() counts: CellTypeCounts = filter.GetCellTypeCountsObject() @@ -340,9 +334,16 @@ def _evaluateMeshQualityAll(self: Self)->None: if metrics is None: continue for metricIndex in metrics: - self._evaluateMeshQuality(metricIndex, cellType) + self._evaluateCellQuality(metricIndex, cellType) - def _evaluateMeshQuality(self: Self, + if self._otherMetrics is not None: + if QualityMetricOtherEnum.INCIDENT_VERTEX_COUNT.getMetricIndex() in self._otherMetrics: + self._countVertexIncidentEdges() + else: + # TODO: add other metrics + print("") + + def _evaluateCellQuality(self: Self, metricIndex: int, cellType: int ) ->None: @@ -353,13 +354,33 @@ def _evaluateMeshQuality(self: Self, cellType (int): cell type index """ arrayName: str = getQualityMetricArrayName(metricIndex) - if arrayName in getAttributesFromDataSet(self._outputMesh, False): + if arrayName in getArraysFromDataSet(self._outputMesh, False): # metric is already computed (by default computed for all cell types if applicable) return + + # get the list of cell types the metric applies to and check if these cell types are present + metric = getQualityMetricFromIndex(metricIndex) + cellTypes: Optional[set[int]] = metric.getApplicableCellTypes() + nbCells: int = 0 + for cellType in cellTypes: + nbCells += self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + if nbCells == 0: + return + # compute quality metric - output: vtkUnstructuredGrid = self._applyMeshQualityFilter(metricIndex, cellType) - # transfer output cell array to input mesh - self._transferCellAttribute(output, QUALITY_ARRAY_NAME, arrayName, metricIndex) + output: vtkUnstructuredGrid | None = None + if (metricIndex == VtkCellQualityMetricEnum.SQUISH_INDEX.metricIndex): + # redefined Squish index calculation to be computed for any type of polyhedron + self._computeSquishIndex() + elif (metricIndex in (CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, )): + # extended metric for any type of cells (other than tetra) from tetra metrics + self._computeAdditionalMetrics(metricIndex) + else: + output = self._applyMeshQualityFilter(metricIndex, cellType) + assert output is not None, "Output mesh from mesh quality calculation is undefined." + # transfer output cell array to input mesh + # TODO: to test if Shallow copy of vtkMeshQualityFilter result and rename "Quality" array is more efficient than what is done here + self._transferCellAttribute(output, QUALITY_ARRAY_NAME, arrayName, metricIndex) def _applyMeshQualityFilter(self: Self, metric: int, @@ -394,6 +415,34 @@ def _applyMeshQualityFilter(self: Self, meshQualityFilter.Update() return meshQualityFilter.GetOutputDataObject(0) + def _computeAdditionalMetrics(self: Self, metricIndex: int) -> None: + """Compute additional metrics from metrics defined for tetrahedron. + + Output is an cell array in output mesh. + + Args: + metricIndex (int): metric index + """ + metric = getQualityMetricFromIndex(metricIndex) + assert metric is not None, f"Additional cell quality metric index {metricIndex} is undefined." + # output array + name: str = getQualityMetricArrayName(metric.getMetricIndex()) + newArray: vtkDoubleArray = vtkDoubleArray() + newArray.SetName(name) + newArray.SetNumberOfValues(self._outputMesh.GetNumberOfCells()) + newArray.SetNumberOfComponents(1) + for i in range(self._outputMesh.GetNumberOfCells()): + cell: vtkCell = self._outputMesh.GetCell(i) + val: float = self._computeAdditionalMetricsCell(metricIndex, cell) + newArray.InsertNextValue(val) + # add array + cellArrays: vtkCellData = self._outputMesh.GetCellData() + assert cellArrays is not None, "Cell data from output mesh is undefined." + cellArrays.AddArray(newArray) + cellArrays.Modified() + self._outputMesh.Modified() + return + def _transferCellAttribute(self: Self, serverMesh: vtkUnstructuredGrid, serverAttributeName: str, @@ -422,12 +471,7 @@ def _transferCellAttribute(self: Self, # rename array array.SetName(clientAttributeName) # replace irrelevant values - for cellId in range(serverMesh.GetNumberOfCells()): - cell: vtkCell = serverMesh.GetCell(cellId) - cellType: int = cell.GetCellType() - cellTypeQualityMetrics: set[int] = qualityMetricsFromCellType[cellType]() - if (qualityMetric > -1) and (qualityMetric not in cellTypeQualityMetrics): - array.SetTuple1(cellId, np.nan) + self._replaceIrrelevantValues(array, serverMesh, qualityMetric) # add array to input mesh inputCellArrays: vtkCellData = self._outputMesh.GetCellData() @@ -436,8 +480,32 @@ def _transferCellAttribute(self: Self, inputCellArrays.Modified() return True + def _replaceIrrelevantValues(self: Self, + array: vtkDataArray, + mesh: vtkUnstructuredGrid, + qualityMetric: int + ) ->None: + """Replace irrelevant values. + + Values are irrelevant when a quality metric is computed + whereas input metric does not applies to the cell type. + + Args: + array (vtkDataArray): array to update + mesh (vtkUnstructuredGrid): mesh + qualityMetric (int): quality metric index + """ + for cellId in range(mesh.GetNumberOfCells()): + cell: vtkCell = mesh.GetCell(cellId) + cellType: int = cell.GetCellType() + cellTypeQualityMetrics: set[int] = cellQualityMetricsFromCellType[cellType] + if (qualityMetric > -1) and (qualityMetric not in cellTypeQualityMetrics): + array.SetTuple1(cellId, np.nan) + def _updateStatsSummary(self: Self) ->None: """Compute quality metric statistics.""" + # init cell type masks + self._initCellTypeMasks() # stats for each cell types individually for cellType, metrics in self._MetricsAll.items(): count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) @@ -470,38 +538,39 @@ def _updateStatsSummaryByCellType(self: Self, assert cellArrays is not None, "Cell data from input mesh is undefined." arrayName: str = getQualityMetricArrayName(metricIndex) array: vtkDataArray = cellArrays.GetArray(arrayName) - npArray: npt.NDArray[np.float64] = np.empty(0) if array is None: return - npArray: npt.NDArray[np.float64] = vtk_to_numpy(array) - cellTypes: tuple[int,...] = (cellType,) - if cellType == VTK_POLYGON: - cellTypes = getPolygonCellTypes() - elif cellType == VTK_POLYHEDRON: - cellTypes = getPolyhedronCellTypes - cellTypeMask: npt.NDArray[np.bool_] = np.array( - [self._outputMesh.GetCellType(cellId) in cellTypes for cellId in range(self._outputMesh.GetNumberOfCells())], - dtype=bool - ) - - mean: float = float(np.nanmean(npArray[cellTypeMask])) - std: float = float(np.nanstd(npArray[cellTypeMask])) - mini: float = float(np.nanmin(npArray[cellTypeMask])) - maxi: float = float(np.nanmax(npArray[cellTypeMask])) - count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) - self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, mean) - self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, std) - self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MIN, mini) - self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MAX, maxi) - self._qualityMetricSummary.setStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.COUNT, count) - + cellTypeMask: npt.NDArray[np.bool_] = self._cellTypeMask[cellType] + + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, StatTypes.MEAN.compute(npArray[cellTypeMask])) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, StatTypes.STD_DEV.compute(npArray[cellTypeMask])) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MIN, StatTypes.MIN.compute(npArray[cellTypeMask])) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MAX, StatTypes.MAX.compute(npArray[cellTypeMask])) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.COUNT, StatTypes.COUNT.compute(npArray[cellTypeMask])) + + def _initCellTypeMasks(self: Self) ->None: + """Init _cellTypeMask variable.""" + # compute cell type masks + self._cellTypeMask = { + cellType:np.zeros(self._outputMesh.GetNumberOfCells(), dtype=bool) for cellType in self._allCellTypesExtended + } + polyhedronCellTypes: tuple[int,...] = getPolyhedronCellTypes() + polygonCellTypes: tuple[int,...] = getPolygonCellTypes() + for cellId in range(self._outputMesh.GetNumberOfCells()): + for cellType in self._allCellTypesExtended: + cellTypes: tuple[int,...] = (cellType,) + if cellType == VTK_POLYGON: + cellTypes = polygonCellTypes + elif cellType == VTK_POLYHEDRON: + cellTypes = polyhedronCellTypes + self._cellTypeMask[cellType][cellId] = self._outputMesh.GetCellType(cellId) in cellTypes def _createFieldDataStatsSummary(self: Self) ->None: """Create field data arrays with quality statistics.""" fieldData: vtkFieldData = self._outputMesh.GetFieldData() assert fieldData is not None, "Field data is undefined." - for cellType in getAllCellTypesExtended(): + for cellType in self._allCellTypesExtended: count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType ) metrics: Optional[set[int]] = self.getComputedMetricsFromCellType(cellType) # create count array @@ -519,7 +588,7 @@ def _createFieldDataStatsSummary(self: Self) ->None: for metricIndex in metrics: # one array per statistic number except Count (last one) for statType in list(StatTypes)[:-1]: - value: int = self._qualityMetricSummary.getStatValueFromStatMetricAndCellType(metricIndex, cellType, statType) + value: int = self._qualityMetricSummary.getCellStatValueFromStatMetricAndCellType(metricIndex, cellType, statType) name = self._createArrayName(cellType, metricIndex, statType) array: vtkDoubleArray = vtkDoubleArray() array.SetName(name) @@ -544,7 +613,175 @@ def _createArrayName(self: Self, cellType: int, metricIndex: int, statType: Stat getQualityMeasureNameFromIndex(metricIndex).replace(" ", ""), statType.getString())) - def FaceBarycenter(self: Self, + def _computeAdditionalMetricsCell(self: Self, metricIndex: int, cell: vtkCell) -> float: + """Compute additional metrics from metrics defined for tetrahedron for a cell. + + Args: + metricIndex (int): metric index + cell (vtkCell): cell + + Returns: + float: outout value + """ + meshQualityFilter: vtkMeshQuality = vtkMeshQuality() + # triangulate cell faces + listSimplexPts = vtkPoints() + idList = vtkIdList() + cell.Triangulate(1, idList,listSimplexPts) + + simplexAspectRatio: list[float] = [] + index: int = 0 + while index != listSimplexPts.GetNumberOfPoints(): + # create tetra + tetra: vtkTetra = vtkTetra() + tetraPts: vtkPoints = tetra.GetPoints() + for i in range(4): + tetraPts.SetPoint(i, listSimplexPts.GetPoint(index)) + tetraPts.Modified() + index += 1 + # compute aspect ratio of tetra + if metricIndex == CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.getMetricIndex(): + simplexAspectRatio.append(meshQualityFilter.TetAspectRatio(tetra)) + else: + # metric is not supported + simplexAspectRatio.append(np.nan) + if any(np.isfinite(simplexAspectRatio)): + return np.nanmax(simplexAspectRatio) + return np.nan + + def _countVertexIncidentEdges(self: Self) ->None: + """Compute edge length and vertex incident edge number.""" + metric: QualityMetricOtherEnum = QualityMetricOtherEnum.INCIDENT_VERTEX_COUNT + # edge are extracted as "cell" of dimension 1 + extractEdges = vtkExtractEdges() + extractEdges.SetInputData(self._outputMesh) + extractEdges.Update() + polyData: vtkPolyData = extractEdges.GetOutput() + incidentCounts: npt.NDArray[np.int64] = np.zeros(self._outputMesh.GetNumberOfPoints(), dtype=int) + for edg in range(polyData.GetNumberOfCells()): + if polyData.GetCell(edg).GetCellDimension() != 1: + # not an edge + continue + + edgesPointIds: vtkIdList = polyData.GetCell(edg).GetPointIds() + for i in range(edgesPointIds.GetNumberOfIds()): + incidentCounts[edgesPointIds.GetId(i)] += 1 + + # create point attribute + pointData: vtkPointData = self._outputMesh.GetPointData() + assert pointData is not None, "Point data is undefined." + array: vtkIntArray = numpy_to_vtk(incidentCounts, deep=1) + metricName: str = metric.getMetricName().replace(" ", "") + name: str = QUALITY_ARRAY_NAME + "_" + metricName + array.SetName(name) + pointData.AddArray(array) + pointData.Modified() + + fieldData: vtkPointData = self._outputMesh.GetFieldData() + assert fieldData is not None, "Field data is undefined." + for statType in list(StatTypes): + name = metricName + "_" + statType.getString() + val: float | int = statType.compute(incidentCounts) + # add values to quality summary stats + self._qualityMetricSummary.setOtherStatValueFromMetric(metric.getMetricIndex(), statType, val) + array: vtkDoubleArray = vtkDoubleArray() + array.SetName(name) + array.SetNumberOfValues(1) + array.SetNumberOfComponents(1) + array.SetValue(0, val) + fieldData.AddArray(array) + fieldData.Modified() + self._outputMesh.Modified() + + def _computeSquishIndex(self: Self) ->None: + """Compute Squish index for all element type. + + Squish index is the maximum value of the cosine of the deviation angle between + cell center to face center vector and face normal vector. + + Output is a new cell array. + """ + # output array + name: str = getQualityMetricArrayName(VtkCellQualityMetricEnum.SQUISH_INDEX.getMetricIndex()) + newArray: vtkDoubleArray = vtkDoubleArray() + newArray.SetName(name) + newArray.SetNumberOfValues(self._outputMesh.GetNumberOfCells()) + newArray.SetNumberOfComponents(1) + # copy input data to prevent modifications from GetCellNeighbors method + copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() + copyData.ShallowCopy(self._outputMesh) + points: vtkPoints = copyData.GetPoints() + for c in range(copyData.GetNumberOfCells()): + cell: vtkCell = copyData.GetCell(c) + # applies only to polyhedra + if cell.GetCellDimension() != 3: + continue + # get cell center + cellCenter: npt.NDArray[np.float64] = self._getCellCenter(cell) #self.CellBarycenter(points, cell) #self._getCellCenter(cell) + # compute deviation cosine for each face + squishIndex: npt.NDArray[np.float64] = np.full(cell.GetNumberOfFaces(), np.nan) + for f in range(cell.GetNumberOfFaces()): + face: vtkCell = cell.GetFace(f) + # get face center + # TODO: use _getCellCenter + ptsIds: vtkIdTypeArray = vtkIdTypeArray() + ptsIds.Allocate(face.GetNumberOfPoints()) + ptsIdsList: vtkIdList = face.GetPointIds() + for i in range(ptsIdsList.GetNumberOfIds()): + ptsIds.InsertNextValue(ptsIdsList.GetId(i)) + faceCenter: npt.NDArray[np.float64] = self._getCellCenter(face, ptsIds, points) #self.CellBarycenter(points, face) + faceNormal: npt.NDArray[np.float64] = self._getNormalVector(points, face) + + vec: npt.NDArray[np.float64] = cellCenter - faceCenter + angle: float = vtkMath.AngleBetweenVectors(vec, faceNormal) + squishIndex[f] = np.sin(angle) + #cos: float = geom.computeCosineFromVectors(vec, faceNormal) + # cos yields 1 or -1 if vectors are parallel (best case), 0 if they are orthogonal (worst case) + #squishIndex[f] = 1. - cos*cos + newArray.InsertValue(c, np.nanmax(squishIndex)) + + # add array + cellArrays: vtkCellData = self._outputMesh.GetCellData() + assert cellArrays is not None, "Cell data from output mesh is undefined." + cellArrays.AddArray(newArray) + cellArrays.Modified() + self._outputMesh.Modified() + + def _getCellCenter(self: Self, + cell: vtkCell, + ptsIds: Optional[vtkIdTypeArray] = None, + points: Optional[vtkPoints] = None + ) -> npt.NDArray[np.float64]: + """Compute cell center. + + Args: + cell (vtkCell): input cell + ptsIds (vtkIdTypeArray | None): cell point ids. Defaults to None. + points (vtkPoints | None): mesh point coordinates. Defaults to None. + + Returns: + npt.NDArray[np.float64]: output cell center + """ + cellCenter: npt.NDArray[np.float64] = np.zeros(3) + if cell.GetCellDimension() == 2: + # polygonal cell + assert ptsIds is not None, "Point ids are required for computing polygonal cell center." + assert points is not None, "Points are required for computing polygonal cell center." + cell.GetPointIds() + vtkPolygon.ComputeCentroid(ptsIds, points, cellCenter) + elif cell.GetCellDimension() == 3: + # volume cell + cell3D: vtkCell3D = cast(vtkCell3D, cell) + cell3D.GetCentroid(cellCenter) + else: + raise TypeError("Cell must be polygonal or volumic.") + # paramCenter: npt.NDArray[np.float64] = np.zeros(3) + # subId: int = cell.GetParametricCenter(paramCenter) + # weights: npt.NDArray[np.float64] = np.zeros(3) + # cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) + return cellCenter + + def CellBarycenter(self: Self, points: vtkPoints, cell: vtkCell ) ->npt.NDArray[np.float64]: @@ -559,17 +796,17 @@ def FaceBarycenter(self: Self, """ cellPtsIds: vtkIdList = cell.GetPointIds() nbPts: int = cellPtsIds.GetNumberOfIds() - center: npt.NDArray[np.float64] = np.zeros(0, dtype=float) + center: npt.NDArray[np.float64] = np.zeros(3, dtype=float) for i in range (nbPts): pt = np.zeros(3, dtype=float) points.GetPoint(cellPtsIds.GetId(i), pt) center += pt return center / nbPts - def GetNormalVector(self: Self, - points: vtkPoints, - face: vtkCell - ) -> npt.NDArray[np.float64]: + def _getNormalVector(self: Self, + points: vtkPoints, + face: vtkCell + ) -> npt.NDArray[np.float64]: """Get the normal to the input face. .. NOTE:: this method consider the faces as planes. @@ -583,316 +820,243 @@ def GetNormalVector(self: Self, """ assert face.GetCellDimension() == 2, "Cell must be a planar polygon." facePtsIds: vtkIdList = face.GetPointIds() - # need only 3 points among all to get the normal of the face + # need only 3 points among all to get the normal of the face since we suppose face is a plane ptsCoords: npt.NDArray[np.float64] = np.zeros((3, 3), dtype=float) for i in range(3): points.GetPoint(facePtsIds.GetId(i), ptsCoords[i]) - return fcts.computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) + return geom.computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) # TODO: add metric that measures the deviation angle from cell center to face center vector versus face normal vector - # TODO: add metric that computes the deviation of cell volumes + # TODO: add metric that computes the deviation of cell volumes versus face normal vector # As for OpenFOAM's, you have to dig a little in the source code to figure what they are. # OpenFOAM's skewness is a measure of the deviation of the vector connecting the two cell # centers adjacent to a face and the mid-point of that face. OpenFOAM also checks for orthogonality # which it defines to be the deviation angle between the adjacent cell centers vector and the face normal. - def KOrtho(self: Self, - inData: vtkUnstructuredGrid, - kOrtho: tuple[list[float], list[float]], - devAngu: tuple[list[float], list[float]] - ) ->None: - """Compute cell orthogonality statistics. - - New cell attributes are created. - - ORTHOGONALITY measures the deviation angle between cell centers and face normal. - Usefull for flow simulations where cells must be the closest possible from orthogonality. - Created attributes include minimum, mean, and maxium values from all cell neighbors - of a given cell. - - d - - Args: - inData (vtkUnstructuredGrid): input mesh - kOrtho (tuple[list[float], list[float]]): output results on cell orthogonality from face normal - devAngu (tuple[list[float], list[float]]): output results on cell orthogonality - """ - # copy input data to prevent modifications from GetCellNeighbors method - copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() - copyData.ShallowCopy(inData) - points: vtkPoints = copyData.GetPoints() - for c in range(copyData.GetNumberOfCells()): - cell: vtkCell = copyData.GetCell(c) - if cell.GetCellDimension() == 3: - paramCenter: npt.NDArray[np.float64] = np.zeros(3) - subId:int = cell.GetParametricCenter(paramCenter) - cellCenter: npt.NDArray[np.float64] = np.zeros(3) # cell barycenter - weights: npt.NDArray[np.float64] = np.zeros(3) - cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) - - for f in range(cell.GetNumberOfFaces()): - face: vtkCell = cell.GetFace(f) - faceCenter: npt.NDArray[np.float64] = self.FaceBarycenter(points, face) # face barycenter - NeighborIds = vtkIdList() - copyData.GetCellNeighbors(c, face.GetPointIds(), NeighborIds) - for j in range(NeighborIds.GetNumberOfIds()): - neighborCellId = NeighborIds.GetId(j) - neighborCell: vtkCell = copyData.GetCell(neighborCellId) - # if neighbor cell is a polyhedron - # to avoid to repeat the same operation on cells already treated - if (neighborCell.GetCellDimension() == 3) and (c < neighborCellId): - paramCenter2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) - subId2: int = neighborCell.GetParametricCenter(paramCenter2) - neighborCellCenter: npt.NDArray[np.float64] = np.zeros(3, dtype=float) # cell barycenter - weights2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) - neighborCell.EvaluateLocation(subId2, paramCenter2, neighborCellCenter, weights2) - - # deviation angle between cell centers vector and face normal - cb: npt.NDArray[np.float64] = cellCenter - neighborCellCenter - ba: npt.NDArray[np.float64] = self.GetNormalVector(points, face) - devAngu[0].append(fcts.computeAngleFromVectors(cb, ba)) - - # deviation angle between cell centers vector and face to cell center vector - ba = faceCenter - cellCenter - kOrtho[0].append(fcts.computeAngleFromVectors(ba, -cb)) - - # TODO: still usefull ? - def CellsNeighborsMatrix(self: Self, - inData: vtkUnstructuredGrid - ) -> tuple[list[int], list[int]]: - """Compute cell neighbors maxtrix. - - Args: - inData (vtkUnstructuredGrid): input mesh - - Returns: - tuple[list[int], list[int]]: output matrix - """ - rowInd: list[int]= [] - colInd: list[int] = [] - # copy input data to prevent modifications from GetCellNeighbors method - copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() - copyData.ShallowCopy(inData) - for c in range(inData.GetNumberOfCells()): - cell: vtkCell= inData.GetCell(c) - if cell.GetCellDimension() != 3: - continue - - for f in range(cell.GetNumberOfFaces()): - cellIds = vtkIdList() - copyData.GetCellNeighbors(c, cell.GetFace(f).GetPointIds(), cellIds) - for j in range(cellIds.GetNumberOfIds()): - cellId: int = cellIds.GetId(j) - # to avoid to repeat the same operation - if (copyData.GetCell(cellId).GetCellDimension() == 3) and (c < cellIds.GetId(j)): - rowInd.append(cellId) - colInd.append(c) - return rowInd, colInd - - def EdgesLgth_VertexIncidentEdges(self: Self, - inData: vtkUnstructuredGrid, - EL_data: tuple[list[float], list[float]], - VIE_data: tuple[list[float], list[float]], - EL_threshold: tuple[float, float] = (-np.inf, np.inf) - ) ->None: - """Compute edge length and vertex incident edge number. - - Args: - inData (vtkUnstructuredGrid): input mesh - EL_data (tuple[list[float], list[float]]): edge length outputs - VIE_data (tuple[list[float], list[float]]): vertex incident edge count outputs - EL_threshold (tuple[float, float], optional): edge length threshold. - - Defaults to (-np.inf, np.inf). - """ - extractEdges = vtkExtractEdges() - extractEdges.SetInputData(inData) - extractEdges.Update() - polyData: vtkPolyData = extractEdges.GetOutput() - VIE_list: list[float] = [0.] * inData.GetNumberOfPoints() - - for edg in range(polyData.GetNumberOfCells()): - if polyData.GetCell(edg).GetCellDimension() == 1: - # edges length - length2: float = polyData.GetCell(edg).GetLength2() - result: float = np.sqrt(length2) - if EL_threshold[0] <= result <= EL_threshold[1]: - EL_data[0].append(result) - else: - EL_data[1].append(result) - - # VertexIncidentEdges - edgesPointIds: vtkIdList = polyData.GetCell(edg).GetPointIds() - for i in range(edgesPointIds.GetNumberOfIds()): - VIE_list[edgesPointIds.GetId(i)] += 1 - - VIE_data[0] = VIE_list - - def AnglesBetweenEdges(self: Self, - cell: vtkCell, - points: vtkPoints, - facesPtsIdsSet: set[tuple[int]], - listData: tuple[list[float], list[float]] - ) ->None: - """Get angles between all edges of input cell. - - Args: - cell (vtkCell): input cell - points (vtkPoints): mesh points - facesPtsIdsSet (set[tuple[int]]): output set of face vertex ids. Provided set should be empty. - listData (tuple[list[float], list[float]]): output results - - Raises: - ValueError: Face types - """ - assert len(facesPtsIdsSet) == 0, "facesPtsIdsSet is not empty." - for f in range(cell.GetNumberOfFaces()): - cellface: vtkPolygon = cell.GetFace(f) - facePtsIds: vtkIdList = cellface.GetPointIds() - facePtsIdsTuple: tuple[int, ...] = tuple([facePtsIds.GetId(i) for i in range(facePtsIds.GetNumberOfIds())].sort()) - if facePtsIdsTuple not in facesPtsIdsSet: - # get face points - nbPts: int = facePtsIds.GetNumberOfIds() - ptsCoords: npt.NDArray[np.float64] = np.zeros((nbPts, 3), dtype=float) - for p in range(nbPts): - points.GetPoint(facePtsIds.GetId(p), ptsCoords[p]) - # compute edge angles - if nbPts == 3: - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) - elif nbPts == 4: - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) - listData[0].append(fcts.computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) - else: - raise TypeError("Faces must be triangles or quads. Other types are currently not managed.") - - facesPtsIdsSet.add(facePtsIdsTuple) - - def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: - """Compute the number of edges of the mesh. - - Args: - mesh (vtkUnstructuredGrid): input mesh - - Returns: - int: number of edges - """ - edges: vtkFeatureEdges = vtkFeatureEdges() - edges.BoundaryEdgesOn() - edges.ManifoldEdgesOn() - edges.FeatureEdgesOff() - edges.NonManifoldEdgesOff() - edges.SetInputDataObject(mesh) - edges.Update() - return edges.GetOutput().GetNumberOfCells() - - def cellQuality (self: Self, - cell: vtkCell, - volume: tuple[list[float], list[float]], - jacobian: tuple[list[float], list[float]], - hexStretch: tuple[list[float], list[float]], - edgeRatio: tuple[list[float], list[float]], - J_threshold: tuple[float, float] = (-np.inf, np.inf) - ) ->None: - """Compute cell quality. - - Args: - cell (vtkCell): cell - volume (tuple[list[float], list[float]]): output volume results - jacobian (tuple[list[float], list[float]]): output Jacobian results - hexStretch (tuple[list[float], list[float]]): output hexahedron stretching results - edgeRatio (tuple[list[float], list[float]]): output edge ratio results - J_threshold (tuple[float, float], optional): Jacobian threshold. - - Defaults to (-np.inf, np.inf). - """ - cellType: int = cell.GetCellType() - vol: float - edgeRatioVal: float - jacob: float - if cellType == VTK_TETRA : - vol = self._meshQuality.TetVolume(cell) - edgeRatioVal = self._meshQuality.TetEdgeRatio(cell) - jacob = self._meshQuality.TetScaledJacobian(cell) - elif cellType == VTK_HEXAHEDRON: - vol = self._meshQuality.HexVolume(cell) - edgeRatioVal = self._meshQuality.HexEdgeRatio(cell) - jacob = self._meshQuality.HexScaledJacobian(cell) - hexStretch[0].append(self._meshQuality.HexStretch(cell)) - elif cellType == VTK_WEDGE : - vol = self._meshQuality.WedgeVolume(cell) - edgeRatioVal = self._meshQuality.WedgeEdgeRatio(cell) - jacob = self._meshQuality.WedgeScaledJacobian(cell) - elif cellType == VTK_PYRAMID: - vol = self._meshQuality.PyramidVolume(cell) - lenghtList =[] - for i in range(cell.GetNumberOfEdges ()): - lenght2 = cell.GetEdge(i).GetLength2 () - lenghtList.append(np.sqrt(lenght2)) - edgeRatioVal = max(lenghtList) / min(lenghtList) - jacob = self._meshQuality.PyramidScaledJacobian(cell) - else: - vol = np.nan - edgeRatioVal = np.nan - jacob = np.nan - print(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is currently not supported.") - - volume[0].append(vol) - edgeRatio[0].append(edgeRatioVal) - if J_threshold[0] <= jacob <= J_threshold[1]: - jacobian[0].append(jacob) - else: - jacobian[1].append(jacob) - - def CellAspectRatio(self: Self, - cell: vtkCell, - listData: tuple[list[float], list[float]], - threshold: tuple[float, float] = (-np.inf, np.inf) - ) ->None: - """Compute cell aspect ratio. - - Args: - cell (vtkCell): cell - listData (tuple[list[float], list[float]]): output results - threshold (tuple[float, float], optional): aspect ratio threshold. - - Defaults to (-np.inf, np.inf). - """ - cellType: int = cell.GetCellType() - if cellType == VTK_TETRA : - if threshold is None: - listData[0].append(self._meshQuality.TetAspectRatio(cell)) - else: - if threshold[0] <= self._meshQuality.TetAspectRatio(cell) <= threshold[1]: - listData[0].append(self._meshQuality.TetAspectRatio(cell)) - else: - listData[1].append(self._meshQuality.TetAspectRatio(cell)) - - else : - listSimplexPts = vtkPoints() - idList = vtkIdList() - cell.Triangulate(1, idList,listSimplexPts) - - simplexAspectRatio: list[float] = [] - index: int = 0 - while index != listSimplexPts.GetNumberOfPoints() : - tetra: vtkTetra = vtkTetra() - tetraPts: vtkPoints = tetra.GetPoints() - for i in range(4): - tetraPts.SetPoint(i,listSimplexPts.GetPoint(index)) - tetraPts.Modified() - index += 1 - simplexAspectRatio.append(self._meshQuality.TetAspectRatio(tetra)) - - if threshold is None: - listData[0].append(max(simplexAspectRatio)) - else: - if threshold[0] <= max(simplexAspectRatio) <= threshold[1]: - listData[0].append(max(simplexAspectRatio)) - else: - listData[1].append(max(simplexAspectRatio)) - - simplexAspectRatio.clear() + # def KOrtho(self: Self, + # inData: vtkUnstructuredGrid, + # kOrtho: tuple[list[float], list[float]], + # devAngu: tuple[list[float], list[float]] + # ) ->None: + # """Compute cell orthogonality statistics. + + # New cell attributes are created. + + # ORTHOGONALITY measures the deviation angle between cell centers and face normal = Squish index + # Usefull for flow simulations where cells must be the closest possible from orthogonality. + # Created attributes include minimum, mean, and maxium values from all cell neighbors + # of a given cell. + + # Args: + # inData (vtkUnstructuredGrid): input mesh + # kOrtho (tuple[list[float], list[float]]): output results on cell orthogonality from face normal + # devAngu (tuple[list[float], list[float]]): output results on cell orthogonality + # """ + # # copy input data to prevent modifications from GetCellNeighbors method + # copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() + # copyData.ShallowCopy(inData) + # points: vtkPoints = copyData.GetPoints() + # for c in range(copyData.GetNumberOfCells()): + # cell: vtkCell = copyData.GetCell(c) + # if cell.GetCellDimension() == 3: + # paramCenter: npt.NDArray[np.float64] = np.zeros(3) + # subId:int = cell.GetParametricCenter(paramCenter) + # cellCenter: npt.NDArray[np.float64] = np.zeros(3) # cell barycenter + # weights: npt.NDArray[np.float64] = np.zeros(3) + # cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) + + # for f in range(cell.GetNumberOfFaces()): + # face: vtkCell = cell.GetFace(f) + # faceCenter: npt.NDArray[np.float64] = self.CellBarycenter(points, face) # face barycenter + # NeighborIds = vtkIdList() + # copyData.GetCellNeighbors(c, face.GetPointIds(), NeighborIds) + # for j in range(NeighborIds.GetNumberOfIds()): + # neighborCellId = NeighborIds.GetId(j) + # neighborCell: vtkCell = copyData.GetCell(neighborCellId) + # # if neighbor cell is a polyhedron + # # to avoid to repeat the same operation on cells already treated + # if (neighborCell.GetCellDimension() == 3) and (c < neighborCellId): + # paramCenter2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) + # subId2: int = neighborCell.GetParametricCenter(paramCenter2) + # neighborCellCenter: npt.NDArray[np.float64] = np.zeros(3, dtype=float) # cell barycenter + # weights2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) + # neighborCell.EvaluateLocation(subId2, paramCenter2, neighborCellCenter, weights2) + + # # deviation angle between cell centers vector and face normal + # cb: npt.NDArray[np.float64] = cellCenter - neighborCellCenter + # ba: npt.NDArray[np.float64] = self.GetNormalVector(points, face) + # devAngu[0].append(geom.computeAngleFromVectors(cb, ba)) + + # # deviation angle between cell centers vector and face to cell center vector + # ba = faceCenter - cellCenter + # kOrtho[0].append(geom.computeAngleFromVectors(ba, -cb)) + + + # def AnglesBetweenEdges(self: Self, + # cell: vtkCell, + # points: vtkPoints, + # facesPtsIdsSet: set[tuple[int]], + # listData: tuple[list[float], list[float]] + # ) ->None: + # """Get angles between all edges of input cell. + + # Args: + # cell (vtkCell): input cell + # points (vtkPoints): mesh points + # facesPtsIdsSet (set[tuple[int]]): output set of face vertex ids. Provided set should be empty. + # listData (tuple[list[float], list[float]]): output results + + # Raises: + # ValueError: Face types + # """ + # assert len(facesPtsIdsSet) == 0, "facesPtsIdsSet is not empty." + # for f in range(cell.GetNumberOfFaces()): + # cellface: vtkPolygon = cell.GetFace(f) + # facePtsIds: vtkIdList = cellface.GetPointIds() + # facePtsIdsTuple: tuple[int, ...] = tuple([facePtsIds.GetId(i) for i in range(facePtsIds.GetNumberOfIds())].sort()) + # if facePtsIdsTuple not in facesPtsIdsSet: + # # get face points + # nbPts: int = facePtsIds.GetNumberOfIds() + # ptsCoords: npt.NDArray[np.float64] = np.zeros((nbPts, 3), dtype=float) + # for p in range(nbPts): + # points.GetPoint(facePtsIds.GetId(p), ptsCoords[p]) + # # compute edge angles + # if nbPts == 3: + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) + # elif nbPts == 4: + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) + # listData[0].append(geom.computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) + # else: + # raise TypeError("Faces must be triangles or quads. Other types are currently not managed.") + + # facesPtsIdsSet.add(facePtsIdsTuple) + + # def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: + # """Compute the number of edges of the mesh. + + # Args: + # mesh (vtkUnstructuredGrid): input mesh + + # Returns: + # int: number of edges + # """ + # edges: vtkFeatureEdges = vtkFeatureEdges() + # edges.BoundaryEdgesOn() + # edges.ManifoldEdgesOn() + # edges.FeatureEdgesOff() + # edges.NonManifoldEdgesOff() + # edges.SetInputDataObject(mesh) + # edges.Update() + # return edges.GetOutput().GetNumberOfCells() + + # def cellQuality (self: Self, + # cell: vtkCell, + # volume: tuple[list[float], list[float]], + # jacobian: tuple[list[float], list[float]], + # hexStretch: tuple[list[float], list[float]], + # edgeRatio: tuple[list[float], list[float]], + # J_threshold: tuple[float, float] = (-np.inf, np.inf) + # ) ->None: + # """Compute cell quality. + + # Args: + # cell (vtkCell): cell + # volume (tuple[list[float], list[float]]): output volume results + # jacobian (tuple[list[float], list[float]]): output Jacobian results + # hexStretch (tuple[list[float], list[float]]): output hexahedron stretching results + # edgeRatio (tuple[list[float], list[float]]): output edge ratio results + # J_threshold (tuple[float, float], optional): Jacobian threshold. + + # Defaults to (-np.inf, np.inf). + # """ + # cellType: int = cell.GetCellType() + # vol: float + # edgeRatioVal: float + # jacob: float + # if cellType == VTK_TETRA : + # vol = self._meshQuality.TetVolume(cell) + # edgeRatioVal = self._meshQuality.TetEdgeRatio(cell) + # jacob = self._meshQuality.TetScaledJacobian(cell) + # elif cellType == VTK_HEXAHEDRON: + # vol = self._meshQuality.HexVolume(cell) + # edgeRatioVal = self._meshQuality.HexEdgeRatio(cell) + # jacob = self._meshQuality.HexScaledJacobian(cell) + # hexStretch[0].append(self._meshQuality.HexStretch(cell)) + # elif cellType == VTK_WEDGE : + # vol = self._meshQuality.WedgeVolume(cell) + # edgeRatioVal = self._meshQuality.WedgeEdgeRatio(cell) + # jacob = self._meshQuality.WedgeScaledJacobian(cell) + # elif cellType == VTK_PYRAMID: + # vol = self._meshQuality.PyramidVolume(cell) + # lenghtList =[] + # for i in range(cell.GetNumberOfEdges ()): + # lenght2 = cell.GetEdge(i).GetLength2 () + # lenghtList.append(np.sqrt(lenght2)) + # edgeRatioVal = max(lenghtList) / min(lenghtList) + # jacob = self._meshQuality.PyramidScaledJacobian(cell) + # else: + # vol = np.nan + # edgeRatioVal = np.nan + # jacob = np.nan + # print(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is currently not supported.") + + # volume[0].append(vol) + # edgeRatio[0].append(edgeRatioVal) + # if J_threshold[0] <= jacob <= J_threshold[1]: + # jacobian[0].append(jacob) + # else: + # jacobian[1].append(jacob) + + # def CellAspectRatio(self: Self, + # cell: vtkCell, + # listData: tuple[list[float], list[float]], + # threshold: tuple[float, float] = (-np.inf, np.inf) + # ) ->None: + # """Compute cell aspect ratio. + + # Args: + # cell (vtkCell): cell + # listData (tuple[list[float], list[float]]): output results + # threshold (tuple[float, float], optional): aspect ratio threshold. + + # Defaults to (-np.inf, np.inf). + # """ + # cellType: int = cell.GetCellType() + # if cellType == VTK_TETRA : + # if threshold is None: + # listData[0].append(self._meshQuality.TetAspectRatio(cell)) + # else: + # if threshold[0] <= self._meshQuality.TetAspectRatio(cell) <= threshold[1]: + # listData[0].append(self._meshQuality.TetAspectRatio(cell)) + # else: + # listData[1].append(self._meshQuality.TetAspectRatio(cell)) + + # else : + # listSimplexPts = vtkPoints() + # idList = vtkIdList() + # cell.Triangulate(1, idList,listSimplexPts) + + # simplexAspectRatio: list[float] = [] + # index: int = 0 + # while index != listSimplexPts.GetNumberOfPoints() : + # tetra: vtkTetra = vtkTetra() + # tetraPts: vtkPoints = tetra.GetPoints() + # for i in range(4): + # tetraPts.SetPoint(i,listSimplexPts.GetPoint(index)) + # tetraPts.Modified() + # index += 1 + # simplexAspectRatio.append(self._meshQuality.TetAspectRatio(tetra)) + + # if threshold is None: + # listData[0].append(max(simplexAspectRatio)) + # else: + # if threshold[0] <= max(simplexAspectRatio) <= threshold[1]: + # listData[0].append(max(simplexAspectRatio)) + # else: + # listData[1].append(max(simplexAspectRatio)) + + # simplexAspectRatio.clear() diff --git a/geos-mesh/src/geos/mesh/vtk/__init__.py b/geos-mesh/src/geos/mesh/utils/__init__.py similarity index 100% rename from geos-mesh/src/geos/mesh/vtk/__init__.py rename to geos-mesh/src/geos/mesh/utils/__init__.py diff --git a/geos-mesh/src/geos/mesh/vtk/helpers.py b/geos-mesh/src/geos/mesh/utils/helpers.py similarity index 100% rename from geos-mesh/src/geos/mesh/vtk/helpers.py rename to geos-mesh/src/geos/mesh/utils/helpers.py diff --git a/geos-mesh/src/geos/mesh/vtk/io.py b/geos-mesh/src/geos/mesh/utils/io.py similarity index 100% rename from geos-mesh/src/geos/mesh/vtk/io.py rename to geos-mesh/src/geos/mesh/utils/io.py diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounterEnhanced.py similarity index 92% rename from geos-mesh/tests/test_CellTypeCounter.py rename to geos-mesh/tests/test_CellTypeCounterEnhanced.py index 6a759681..84133d42 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounterEnhanced.py @@ -9,8 +9,8 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh, createMultiCellMesh -from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.utils.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts from vtkmodules.vtkCommonDataModel import ( @@ -67,13 +67,13 @@ def __generate_test_data_single_cell() -> Iterator[ TestCase ]: @pytest.mark.parametrize( "test_case", __generate_test_data_single_cell(), ids=ids ) -def test_CellTypeCounter_single( test_case: TestCase ) -> None: - """Test of CellTypeCounter filter. +def test_CellTypeCounterEnhanced_single( test_case: TestCase ) -> None: + """Test of CellTypeCounterEnhanced filter. Args: test_case (TestCase): test case """ - filter: CellTypeCounter = CellTypeCounter() + filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( test_case.mesh ) filter.Update() countsObs: CellTypeCounts = filter.GetCellTypeCountsObject() @@ -126,13 +126,13 @@ def __generate_test_data_multi_cell() -> Iterator[ TestCase ]: @pytest.mark.parametrize( "test_case", __generate_test_data_multi_cell(), ids=ids2 ) -def test_CellTypeCounter_multi( test_case: TestCase ) -> None: - """Test of CellTypeCounter filter. +def test_CellTypeCounterEnhanced_multi( test_case: TestCase ) -> None: + """Test of CellTypeCounterEnhanced filter. Args: test_case (TestCase): test case """ - filter: CellTypeCounter = CellTypeCounter() + filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( test_case.mesh ) filter.Update() countsObs: CellTypeCounts = filter.GetCellTypeCountsObject() diff --git a/geos-mesh/tests/test_MeshQualityEnhanced.py b/geos-mesh/tests/test_MeshQualityEnhanced.py index fc68f527..e97e4d2f 100644 --- a/geos-mesh/tests/test_MeshQualityEnhanced.py +++ b/geos-mesh/tests/test_MeshQualityEnhanced.py @@ -16,7 +16,7 @@ ) from geos.mesh.processing.meshQualityMetricHelpers import ( - QualityMetricEnum, + VtkCellQualityMetricEnum, getTriangleQualityMeasure, getQuadQualityMeasure, getTetQualityMeasure, @@ -26,9 +26,7 @@ getAllCellTypes, getAllCellTypesExtended, ) -from geos.mesh.vtk.helpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced -from geos.mesh.model.CellTypeCounts import CellTypeCounts from geos.mesh.model.QualityMetricSummary import QualityMetricSummary from vtkmodules.vtkFiltersVerdict import vtkMeshQuality @@ -37,27 +35,22 @@ vtkCellData, vtkFieldData, vtkCellTypes, - vtkCell, - VTK_TRIANGLE, - VTK_QUAD, - VTK_TETRA, - VTK_PYRAMID, - VTK_WEDGE, - VTK_HEXAHEDRON, - VTK_POLYGON, - VTK_POLYHEDRON, + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader # input data data_root: str = "/data/pau901/SIM_CS/users/MartinLemay/Data/mesh/" #os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) -filenames_all: tuple[ str, ...] = ( "triangulatedSurface.vtu", ) +filenames_all: tuple[ str, ...] = ( "triangulatedSurface.vtu", "tetraVolume.vtu", ) +cellTypes_all: set[int] = (VTK_TRIANGLE, VTK_TETRA) qualityMetrics_all: tuple[set[int],...] = ( (int(vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO), int(vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN), int(vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE)), + (int(vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN), int(vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW), int(vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX)), ) -cellTypeCounts_all: list[int] = [(26324, 0, 0, 0, 0, 0, 26324, 0,)] +cellTypeCounts_all: tuple[tuple[int,...],...] = ((26324, 0, 0, 0, 0, 0, 26324, 0,), (0, 0, 368606, 0, 0, 0, 0, 368606,)) metricsSummary_all = ( - ((1.07, 0.11, 1.00, 1.94, 26324.0), (0.91, 0.10, 0.53, 1.00, 26324.0), (64.59, 6.73, 60.00, 110.67, 26324.0)), + ((1.07, 0.11, 1.00, 1.94, 26324.0), (1.07, 0.11, 1.00, 1.94, 26324.0), (64.59, 6.73, 60.00, 110.67, 26324.0)), + ((1.71, 0.32, 1.02, 3.3, 368606.0), (1.71, 0.32, 1.02, 3.3, 368606.0), (0.65, 0.15, 0.05, 0.94, 368606.0)), ) @dataclass( frozen=True ) @@ -66,8 +59,9 @@ class TestCase: __test__ = False #: mesh mesh: vtkUnstructuredGrid + cellType: vtkCellTypes qualityMetrics: set[int] - cellTypeCounts: list[int] + cellTypeCounts: tuple[int] metricsSummary: tuple[float] def __generate_test_data() -> Iterator[ TestCase ]: @@ -76,8 +70,8 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for filename, qualityMetrics, cellTypeCounts, metricsSummary in zip( - filenames_all, qualityMetrics_all, cellTypeCounts_all, metricsSummary_all, strict=True + for filename, cellType, qualityMetrics, cellTypeCounts, metricsSummary in zip( + filenames_all, cellTypes_all, qualityMetrics_all, cellTypeCounts_all, metricsSummary_all, strict=True ): path: str = os.path.join( data_root, filename ) # load mesh @@ -85,20 +79,31 @@ def __generate_test_data() -> Iterator[ TestCase ]: reader.SetFileName( path ) reader.Update() mesh: vtkUnstructuredGrid = reader.GetOutputDataObject(0) - yield TestCase( mesh, qualityMetrics, cellTypeCounts, metricsSummary ) + yield TestCase( mesh, cellType, qualityMetrics, cellTypeCounts, metricsSummary ) ids: list[str] = [ os.path.splitext( name )[ 0 ] for name in filenames_all ] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) def test_MeshQualityEnhanced( test_case: TestCase ) -> None: - """Test of CellTypeCounter filter. + """Test of CellTypeCounterEnhanced filter. Args: test_case (TestCase): test case """ filter: MeshQualityEnhanced = MeshQualityEnhanced() filter.SetInputDataObject(test_case.mesh) - filter.SetMeshQualityMetrics(triangleMetrics=test_case.qualityMetrics) + if test_case.cellType == VTK_TRIANGLE: + filter.SetTriangleMetrics(test_case.qualityMetrics) + elif test_case.cellType == VTK_QUAD: + filter.SetQuadMetrics(test_case.qualityMetrics) + elif test_case.cellType == VTK_TETRA: + filter.SetTetraMetrics(test_case.qualityMetrics) + elif test_case.cellType == VTK_PYRAMID: + filter.SetPyramidMetrics(test_case.qualityMetrics) + elif test_case.cellType == VTK_WEDGE: + filter.SetWedgeMetrics(test_case.qualityMetrics) + elif test_case.cellType == VTK_HEXAHEDRON: + filter.SetHexaMetrics(test_case.qualityMetrics) filter.Update() # test method getComputedMetricsFromCellType @@ -111,7 +116,7 @@ def test_MeshQualityEnhanced( test_case: TestCase ) -> None: outputMesh: vtkUnstructuredGrid = filter.GetOutputDataObject(0) cellData: vtkCellData = outputMesh.GetCellData() assert cellData is not None, "Cell data is undefined." - print(cellData.GetNumberOfArrays()) + nbMetrics: int = len(test_case.qualityMetrics) nbCellArrayExp: int = test_case.mesh.GetCellData().GetNumberOfArrays() + nbMetrics assert cellData.GetNumberOfArrays() == nbCellArrayExp, f"Number of cell arrays is expected to be {nbCellArrayExp}." @@ -127,18 +132,19 @@ def test_MeshQualityEnhanced( test_case: TestCase ) -> None: nbFieldArrayExp: int = test_case.mesh.GetFieldData().GetNumberOfArrays() + tmp.size + 4 * nbMetrics * (nbPolygon + nbPolyhedra) assert fieldData.GetNumberOfArrays() == nbFieldArrayExp, f"Number of field data arrays is expected to be {nbFieldArrayExp}." + print(test_case.qualityMetrics) stats: QualityMetricSummary = filter.GetQualityMetricSummary() for i, cellType in enumerate(getAllCellTypesExtended()): # test Counts assert stats.getCellTypeCountsOfCellType(cellType) == test_case.cellTypeCounts[i], f"Number of {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is expected to be {test_case.cellTypeCounts[i]}" - if stats.getCellTypeCountsOfCellType(cellType) == 0: continue # test metric summary for j, metricIndex in enumerate(test_case.qualityMetrics): subStats: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, cellType) - assert np.round(subStats, 2).tolist() == list(test_case.metricsSummary[j]) + print(j, np.round(subStats, 2).tolist()) + assert np.round(subStats, 2).tolist() == list(test_case.metricsSummary[j]), f"Stats at metric index {j} are wrong." fig: Figure = stats.plotSummaryFigure() assert len(fig.get_axes()) == 4, "Number of Axes is expected to be 4." diff --git a/geos-mesh/tests/test_QualityMetricSummary.py b/geos-mesh/tests/test_QualityMetricSummary.py index 07394188..81b393d4 100644 --- a/geos-mesh/tests/test_QualityMetricSummary.py +++ b/geos-mesh/tests/test_QualityMetricSummary.py @@ -3,6 +3,7 @@ # ruff: noqa: E402 # disable Module level import not at top of file from dataclasses import dataclass import numpy as np +import numpy.typing as npt import pandas as pd import random as rd import pytest @@ -17,39 +18,81 @@ from geos.mesh.processing.meshQualityMetricHelpers import getQualityMeasureNameFromIndex # inputs -statTypes: tuple[StatTypes,...] = (StatTypes.COUNT, StatTypes.MEAN, StatTypes.STD_DEV, StatTypes.MIN, StatTypes.MAX) +statTypes: tuple[StatTypes,...] = tuple(StatTypes) +size: int = 100 +nbNan: int = 5 +expectedStatTypes_all: tuple[float | int, ...] = (0.5957, 0.6508, -2.2055, 1.6259, size-nbNan) cellType_all: tuple[int,...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON) -metricIndexes_all: tuple[int,...] = ( +cellMetricIndexes_all: tuple[int,...] = ( (vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.JACOBIAN), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ODDY), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.JACOBIAN, 100), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, 100), + (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ODDY, 100), (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.AREA), (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME), ) metricIndexesFail_all: tuple[int,...] = ( - (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME), - (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME), - (vtkMeshQuality.QualityMeasureTypes.ODDY, vtkMeshQuality.QualityMeasureTypes.AREA), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.VOLUME), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.AREA), + (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), + (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), + (vtkMeshQuality.QualityMeasureTypes.ODDY, vtkMeshQuality.QualityMeasureTypes.AREA, 200), + (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), + (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), + (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), + (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), + (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 100, 200), ) +@dataclass( frozen=True ) +class TestCase_StatsType: + """Test case.""" + __test__ = False + statType: StatTypes + values: tuple[float,...] + expected: int | float + +def __generate_test_data_for_StatsType() -> Iterator[ TestCase_StatsType ]: + """Generate test cases for StatsType. + + Yields: + Iterator[ TestCase ]: iterator on test cases for StatsType + """ + rd.seed(10) + np.random.seed(10) + for statType, expected in zip(statTypes, expectedStatTypes_all, strict = True): + loc: float = rd.random() + scale: float = rd.random() + values: npt.NDArray[np.float64] = np.random.normal(loc, scale, size) + # insert nan values + for _ in range(nbNan): + index = rd.randint(0, size) + values[index] = np.nan + yield TestCase_StatsType(statType, values, expected) + +ids = [statType.getString() for statType in statTypes] +@pytest.mark.parametrize( "test_case", __generate_test_data_for_StatsType(), ids=ids ) +def test_StatsType_compute( test_case: TestCase_StatsType ) -> None: + """Test of StatsType compute method. + + Args: + test_case (TestCase_StatsType): test case + """ + obs: int| float = test_case.statType.compute(test_case.values) + assert abs(obs - test_case.expected) < 1e-4, f"Observed value is {round(obs, 4)} whereas expected value is {test_case.expected} for {test_case.statType.getString()}." + + @dataclass( frozen=True ) class TestCase: """Test case.""" __test__ = False - metricIndexes: tuple[int,...] + cellMetricIndexes: tuple[int,...] + otherMetricIndexes: tuple[int,...] cellType: int statTypes: StatTypes - values: float + values: tuple[float, float, float, float, int] def __generate_test_data() -> Iterator[ TestCase ]: @@ -58,13 +101,15 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for metricIndexes, cellType in zip( metricIndexes_all, - cellType_all, - strict=True ): - values: tuple[int, float, float, float, float] = ( - rd.randint(1, 100000), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0) + rd.seed(10) + for cellMetricIndexes, cellType in zip( cellMetricIndexes_all, + cellType_all, + strict=True ): + values: tuple[float, float, float, float, int] = ( + rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.randint(1, 100000), ) - yield TestCase( metricIndexes, cellType, statTypes, values ) + otherMetricIndexes: tuple[int,...] = (200,) + yield TestCase( cellMetricIndexes, otherMetricIndexes, cellType, statTypes, values ) def __generate_failed_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -72,21 +117,22 @@ def __generate_failed_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for metricIndex, cellType in zip( metricIndexesFail_all, + for metricIndexes, cellType in zip( metricIndexesFail_all, cellType_all, strict=True ): - values: tuple[int, float, float, float, float] = (0, 0., 0., 0., 0., 0.) - yield TestCase( metricIndex, cellType, statTypes, values ) + otherMetricIndexes: tuple = () + values: tuple[float, float, float, float, int] = (0., 0., 0., 0., 0., 0) + yield TestCase( metricIndexes, otherMetricIndexes, cellType, statTypes, values ) def test_QualityMetricSummary_init() -> None: """Test of QualityMetricSummary init method.""" stats: QualityMetricSummary = QualityMetricSummary() - assert stats.getAllStats() is not None, "Stats member is undefined." - assert (stats.getAllStats().shape[0] == 5) and stats.getAllStats().shape[1] == 115, "Stats shape is wrong." + assert stats.getAllCellStats() is not None, "Stats member is undefined." + assert (stats.getAllCellStats().shape[0] == 5) and stats.getAllCellStats().shape[1] == 122, "Stats shape is wrong." @pytest.mark.parametrize( "test_case", __generate_failed_test_data() ) def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: - """Test of setStatsToMetricAndCellType method. + """Test of setStatsToMetricAndCellType method for IndexError. Args: test_case (TestCase): test case @@ -94,9 +140,9 @@ def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: stats: QualityMetricSummary = QualityMetricSummary() statType: StatTypes = StatTypes.COUNT val: float = 1.0 - for metricIndex in test_case.metricIndexes: + for cellMetricIndex in test_case.cellMetricIndexes: with pytest.raises( IndexError ) as pytest_wrapped_e: - stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, val) + stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, val) assert pytest_wrapped_e.type is IndexError @pytest.mark.parametrize( "test_case", __generate_test_data() ) @@ -107,24 +153,33 @@ def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: test_case (TestCase): test case """ stats: QualityMetricSummary = QualityMetricSummary() - for metricIndex in test_case.metricIndexes: + for cellMetricIndex in test_case.cellMetricIndexes: + for statType, value in zip(test_case.statTypes, test_case.values, strict=True): + stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, value) + + for otherMetricIndex in test_case.otherMetricIndexes: for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, value) + stats.setOtherStatValueFromMetric(otherMetricIndex, statType, value) - assert np.any(stats.getAllStats().to_numpy() > 0), "Stats values were not correctly set." - for metricIndex in test_case.metricIndexes: + assert np.any(stats.getAllCellStats().to_numpy() > 0), "Stats values were not correctly set." + for cellMetricIndex in test_case.cellMetricIndexes: for statType, val in zip(test_case.statTypes, test_case.values, strict=True): - subSet: pd.DataFrame = stats.getStatsFromCellType(test_case.cellType) - assert subSet[metricIndex][statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromCellType is exepected to be equal to {val}." + subSet: pd.DataFrame = stats.getCellStatsFromCellType(test_case.cellType) + assert subSet[cellMetricIndex][statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getCellStatsFromCellType is exepected to be equal to {val}." - subSet2: pd.DataFrame = stats.getStatsFromMetric(metricIndex) - assert subSet2[test_case.cellType][statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." + subSet2: pd.DataFrame = stats.getStatsFromMetric(cellMetricIndex) + assert subSet2[test_case.cellType][statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." - subSet3: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, test_case.cellType) - assert subSet3[statType.getIndex()] == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." + subSet3: pd.Series = stats.getStatsFromMetricAndCellType(cellMetricIndex, test_case.cellType) + assert subSet3[statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." - valObs: float = stats.getStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType) - assert valObs == val, f"Stats at ({metricIndex}, {test_case.cellType}, {statType}) from getStatValueFromMetricAndCellType is exepected to be equal to {val}." + valObs: float = stats.getCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType) + assert valObs == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatValueFromMetricAndCellType is exepected to be equal to {val}." + + for cellMetricIndex in test_case.otherMetricIndexes: + for statType, val in zip(test_case.statTypes, test_case.values, strict=True): + subSet4: pd.DataFrame = stats.getStatsFromMetric(cellMetricIndex) + assert subSet4[statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." @pytest.mark.parametrize( "test_case", __generate_test_data() ) def test_QualityMetricSummary_plotSummaryFigure( test_case: TestCase ) -> None: @@ -134,11 +189,16 @@ def test_QualityMetricSummary_plotSummaryFigure( test_case: TestCase ) -> None: test_case (TestCase): test case """ stats: QualityMetricSummary = QualityMetricSummary() - for metricIndex in test_case.metricIndexes: + for cellMetricIndex in test_case.cellMetricIndexes: for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setStatValueFromStatMetricAndCellType(metricIndex, test_case.cellType, statType, value) + stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, value) + + for otherMetricIndex in test_case.otherMetricIndexes: + for statType, value in zip(test_case.statTypes, test_case.values, strict=True): + stats.setOtherStatValueFromMetric(otherMetricIndex, statType, value) + fig: Figure = stats.plotSummaryFigure() assert fig is not None, "Figure is undefined" # metrics + counts - nbAxesExp: int = len(test_case.metricIndexes) + 1 + nbAxesExp: int = len(test_case.cellMetricIndexes) + len(test_case.otherMetricIndexes) + 1 assert len(fig.get_axes()) == nbAxesExp, f"Number of Axes is expected to be {nbAxesExp}." diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 08df73a9..a47da853 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh +from geos.mesh.utils.helpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_cli_parsing.py b/geos-mesh/tests/test_cli_parsing.py index 5a5f21bb..8b59f89c 100644 --- a/geos-mesh/tests/test_cli_parsing.py +++ b/geos-mesh/tests/test_cli_parsing.py @@ -4,7 +4,7 @@ from typing import Iterator, Sequence from geos.mesh.doctor.checks.generate_fractures import FracturePolicy, Options from geos.mesh.doctor.parsing.generate_fractures_parsing import convert, display_results, fill_subparser -from geos.mesh.vtk.io import VtkOutput +from geos.mesh.utils.io import VtkOutput @dataclass( frozen=True ) diff --git a/geos-mesh/tests/test_generate_fractures.py b/geos-mesh/tests/test_generate_fractures.py index f97d4be9..1a6c1de7 100644 --- a/geos-mesh/tests/test_generate_fractures.py +++ b/geos-mesh/tests/test_generate_fractures.py @@ -8,7 +8,7 @@ from geos.mesh.doctor.checks.generate_cube import build_rectilinear_blocks_mesh, XYZ from geos.mesh.doctor.checks.generate_fractures import ( __split_mesh_on_fractures, Options, FracturePolicy, Coordinates3D, IDMapping ) -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list FaceNodesCoords = tuple[ tuple[ float ] ] IDMatrix = Sequence[ Sequence[ int ] ] diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index e77d996b..4c9cdd10 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh +from geos.mesh.utils.helpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 7fd78419..5c6625b2 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import getBounds, createVertices, createMultiCellMesh +from geos.mesh.utils.helpers import getBounds, createVertices, createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py index fba59d1c..11fea5de 100644 --- a/geos-mesh/tests/test_meshQualityHelpers.py +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -10,8 +10,7 @@ Iterator, ) -from geos.mesh.vtk.helpers import createMultiCellMesh -from geos.mesh.processing.MergeColocatedPoints import MergeColocatedPoints +from geos.mesh.utils.helpers import createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkFiltersVerdict import vtkMeshQuality @@ -28,9 +27,9 @@ ) from geos.mesh.processing.meshQualityMetricHelpers import ( - QualityMetricEnum, + VtkCellQualityMetricEnum, QualityRange, - getQualityMeasureFromCellType, + getCellQualityMeasureFromCellType, getTriangleQualityMeasure, getQuadQualityMeasure, getTetQualityMeasure, @@ -175,17 +174,17 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for metric in list(QualityMetricEnum): + for metric in list(VtkCellQualityMetricEnum): yield TestCase( metric.metricIndex, metric.metricName ) -def test_QualityMetricEnum_Order() ->None: - """Test QualityMetricEnum ordering is correct.""" - for i, metric in enumerate(list(QualityMetricEnum)): +def test_CellQualityMetricEnum_Order() ->None: + """Test VtkCellQualityMetricEnum ordering is correct.""" + for i, metric in enumerate(list(VtkCellQualityMetricEnum)): assert metric.metricIndex == i -def test_QualityMetricEnum_QualityRange() ->None: - """Test QualityMetricEnum.getQualityRange returns the right number of values.""" - for metric in list(QualityMetricEnum): +def test_CellQualityMetricEnum_QualityRange() ->None: + """Test VtkCellQualityMetricEnum.getQualityRange returns the right number of values.""" + for metric in list(VtkCellQualityMetricEnum): for cellType in getAllCellTypes(): qualityRange: QualityRange = metric.getQualityRange(cellType) if qualityRange is not None: @@ -196,7 +195,7 @@ def test_QualityMetricEnum_QualityRange() ->None: for cellType in (VTK_POLYGON, VTK_POLYHEDRON): assert metric.getQualityRange(cellType) is None, "QualityRange should be undefined." -ids: list[str] = [metric.metricName for metric in list(QualityMetricEnum)] +ids: list[str] = [metric.metricName for metric in list(VtkCellQualityMetricEnum)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) def test_getQualityMeasureNameFromIndex( test_case: TestCase ) ->None: """Test of getQualityMeasureNameFromIndex method.""" @@ -210,13 +209,13 @@ def test_getQualityMeasureIndexFromName( test_case: TestCase ) ->None: assert index == test_case.qualityMetricIndex def test_getQualityMeasureFromCellType_exception() ->None: - """Test of supported cell type from getQualityMeasureFromCellType method.""" + """Test of supported cell type from getCellQualityMeasureFromCellType method.""" for i in range(20): if i in (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON): - assert len(getQualityMeasureFromCellType(i)) > 0 + assert len(getCellQualityMeasureFromCellType(i)) > 0 else: with pytest.raises(ValueError) as pytest_wrapped_e: - getQualityMeasureFromCellType(i) + getCellQualityMeasureFromCellType(i) assert pytest_wrapped_e.type is ValueError def test_getTriangleQualityMeasure() -> None: diff --git a/geos-mesh/tests/test_reorient_mesh.py b/geos-mesh/tests/test_reorient_mesh.py index 9bfd342d..9e66f3b7 100644 --- a/geos-mesh/tests/test_reorient_mesh.py +++ b/geos-mesh/tests/test_reorient_mesh.py @@ -6,7 +6,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON from geos.mesh.doctor.checks.reorient_mesh import reorient_mesh from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.vtk.helpers import to_vtk_id_list, vtk_iter +from geos.mesh.utils.helpers import to_vtk_id_list, vtk_iter @dataclass( frozen=True ) diff --git a/geos-mesh/tests/test_supported_elements.py b/geos-mesh/tests/test_supported_elements.py index 0dc0d3af..45143c38 100644 --- a/geos-mesh/tests/test_supported_elements.py +++ b/geos-mesh/tests/test_supported_elements.py @@ -5,7 +5,7 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, VTK_POLYHEDRON # from geos.mesh.doctor.checks.supported_elements import Options, check, __check from geos.mesh.doctor.checks.vtk_polyhedron import parse_face_stream, FaceStream -from geos.mesh.vtk.helpers import to_vtk_id_list +from geos.mesh.utils.helpers import to_vtk_id_list # TODO Update this test to have access to another meshTests file diff --git a/geos-pv/src/PVplugins/PVCellTypeCounter.py b/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py similarity index 94% rename from geos-pv/src/PVplugins/PVCellTypeCounter.py rename to geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py index 56ef759a..b6ee1862 100644 --- a/geos-pv/src/PVplugins/PVCellTypeCounter.py +++ b/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py @@ -29,7 +29,7 @@ from geos.pv.utils.config import update_paths update_paths() -from geos.mesh.stats.CellTypeCounter import CellTypeCounter +from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts __doc__ = """ @@ -37,20 +37,20 @@ To use it: -* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVCellTypeCounter. +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVCellTypeCounterEnhanced. * Select the input mesh. * Apply the filter. """ -@smproxy.filter( name="PVCellTypeCounter", label="Cell Type Counter" ) +@smproxy.filter( name="PVCellTypeCounterEnhanced", label="Cell Type Counter" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( dataTypes=[ "vtkUnstructuredGrid"], composite_data_supported=True, ) -class PVCellTypeCounter(VTKPythonAlgorithmBase): +class PVCellTypeCounterEnhanced(VTKPythonAlgorithmBase): def __init__(self:Self) ->None: """Merge collocated points.""" super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkTable") @@ -138,7 +138,7 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputTable is not None, "Output pipeline is null." - filter: CellTypeCounter = CellTypeCounter() + filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject(inputMesh) filter.Update() outputTable.ShallowCopy(filter.GetOutputDataObject(0)) diff --git a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py index e97c0e2a..e9506bab 100644 --- a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py +++ b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py @@ -30,6 +30,7 @@ from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced from geos.mesh.processing.meshQualityMetricHelpers import ( + getQualityMetricsOther, getQualityMeasureNameFromIndex, getQualityMeasureIndexFromName, getQuadQualityMeasure, @@ -69,32 +70,38 @@ def __init__(self:Self) ->None: self._blockIndex: int = 0 # used to concatenate results if vtkMultiBlockDataSet self._metricsAll: list[float] = [] - self._commonQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._commonMeshQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._commonCellQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._triangleQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._quadsQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._initQualityMetricSelection() def _initQualityMetricSelection(self: Self) ->None: - self._commonQualityMetric.RemoveAllArrays() - self._commonQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - commonMetrics: set[int] = getCommonPolygonQualityMeasure() - for measure in commonMetrics: - self._commonQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._commonCellQualityMetric.RemoveAllArrays() + self._commonCellQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + commonCellMetrics: set[int] = getCommonPolygonQualityMeasure() + for measure in commonCellMetrics: + self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) self._triangleQualityMetric.RemoveAllArrays() self._triangleQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getTriangleQualityMeasure().difference(commonMetrics): + for measure in getTriangleQualityMeasure().difference(commonCellMetrics): self._triangleQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) self._quadsQualityMetric.RemoveAllArrays() self._quadsQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getQuadQualityMeasure().difference(commonMetrics): + for measure in getQuadQualityMeasure().difference(commonCellMetrics): self._quadsQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) - @smproperty.dataarrayselection( name="CommonQualityMetric" ) + otherMetrics: set[int] = getQualityMetricsOther() + for measure in otherMetrics: + self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + + @smproperty.dataarrayselection( name="CommonCellQualityMetric" ) def a01SetCommonMetrics( self: Self ) -> vtkDataArraySelection: """Set polygon quality metrics selection.""" - return self._commonQualityMetric + return self._commonCellQualityMetric @smproperty.dataarrayselection( name="TriangleSpecificQualityMetric" ) def a02SetTriangleMetrics( self: Self ) -> vtkDataArraySelection: @@ -106,6 +113,11 @@ def a03sSetQuadMetrics( self: Self ) -> vtkDataArraySelection: """Set quad quality metrics selection.""" return self._quadsQualityMetric + @smproperty.dataarrayselection( name="OtherMeshQualityMetric" ) + def a04SetOtherMeshMetrics( self: Self ) -> vtkDataArraySelection: + """Set other mesh quality metrics selection.""" + return self._commonMeshQualityMetric + @smproperty.intvector( name="SetSaveToFile", label="Save to file", @@ -192,7 +204,7 @@ def RequestDataObject( outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) return super().RequestDataObject(request, inInfoVec, outInfoVec) - def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[vtkMeshQuality.QualityMeasureTypes]: + def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[int]: """Get mesh quality metric indexes from user selection. Returns: @@ -222,27 +234,34 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - triangleMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._triangleQualityMetric)) - quadMetrics: set[vtkMeshQuality.QualityMeasureTypes] = self._getQualityMetricsToUse(self._commonQualityMetric).union(self._getQualityMetricsToUse(self._quadsQualityMetric)) + triangleMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._triangleQualityMetric)) + quadMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._quadsQualityMetric)) + otherMetrics: set[int] = self._getQualityMetricsToUse(self._commonMeshQualityMetric) filter: MeshQualityEnhanced = MeshQualityEnhanced() filter.SetInputDataObject(inputMesh) - filter.SetMeshQualityMetrics(triangleMetrics=triangleMetrics, quadMetrics=quadMetrics) + filter.SetCellQualityMetrics(triangleMetrics=triangleMetrics, quadMetrics=quadMetrics) + filter.SetOtherMeshQualityMetrics(otherMetrics) filter.Update() outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) # save to file if asked if self._saveToFile: - try: - # add index for multiblock meshes - index: int = self._filename.rfind('.') - filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] - stats: QualityMetricSummary = filter.GetQualityMetricSummary() - fig = stats.plotSummaryFigure() - fig.savefig(filename, dpi=150) - print(f"File {filename} was successfully written.") - except Exception as e: - print("Error while exporting the file due to:") - print(str(e)) + stats: QualityMetricSummary = filter.GetQualityMetricSummary() + self.saveFile(stats) self._blockIndex += 1 return 1 + + def saveFile(self: Self, stats: QualityMetricSummary) ->None: + """Export mesh quality metric summary file.""" + try: + # add index for multiblock meshes + index: int = self._filename.rfind('.') + filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] + fig = stats.plotSummaryFigure() + fig.savefig(filename, dpi=150) + print(f"File {filename} was successfully written.") + except Exception as e: + print("Error while exporting the file due to:") + print(str(e)) + diff --git a/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py new file mode 100644 index 00000000..01a35af7 --- /dev/null +++ b/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py @@ -0,0 +1,294 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay +# ruff: noqa: E402 # disable Module level import not at top of file +import sys +from pathlib import Path +from typing_extensions import Self, Optional + +from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, +) + +from vtkmodules.vtkFiltersVerdict import vtkMeshQuality +from vtkmodules.vtkCommonCore import ( + vtkInformation, + vtkInformationVector, + vtkDataArraySelection, +) +from vtkmodules.vtkCommonDataModel import ( + vtkUnstructuredGrid, +) + +# update sys.path to load all GEOS Python Package dependencies +geos_pv_path: Path = Path( __file__ ).parent.parent.parent +sys.path.insert( 0, str( geos_pv_path / "src" ) ) +from geos.pv.utils.config import update_paths +update_paths() + +from geos.mesh.model.QualityMetricSummary import QualityMetricSummary +from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced + +from geos.mesh.processing.meshQualityMetricHelpers import ( + getQualityMetricsOther, + getQualityMeasureNameFromIndex, + getQualityMeasureIndexFromName, + getQuadQualityMeasure, + getTetQualityMeasure, + getPyramidQualityMeasure, + getWedgeQualityMeasure, + getHexQualityMeasure, + getCommonPolyhedraQualityMeasure, +) +from geos.pv.utils.checkboxFunction import ( # type: ignore[attr-defined] + createModifiedCallback, ) +from geos.pv.utils.paraviewTreatments import getArrayChoices + +__doc__ = """ +Compute mesh quality metrics on volume meshes. + +To use it: + +* Load the module in Paraview: Tools>Manage Plugins...>Load new>PVVolumeMeshQualityEnhanced. +* Select the input mesh. +* Select the metric to compute +* Apply the filter. + +""" + +@smproxy.filter( name="PVVolumeMeshQualityEnhanced", label="Volume Mesh Quality Enhanced" ) +@smhint.xml( '' ) +@smproperty.input( name="Input", port_index=0 ) +@smdomain.datatype( + dataTypes=[ "vtkUnstructuredGrid"], + composite_data_supported=True, +) +class PVVolumeMeshQualityEnhanced(VTKPythonAlgorithmBase): + def __init__(self:Self) ->None: + """Merge collocated points.""" + super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + + self._filename: Optional[str] = None + self._saveToFile: bool = True + self._blockIndex: int = 0 + # used to concatenate results if vtkMultiBlockDataSet + self._metricsAll: list[float] = [] + self._commonMeshQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._commonCellQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._tetQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._PyrQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._WedgeQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._HexQualityMetric: vtkDataArraySelection = vtkDataArraySelection() + self._initQualityMetricSelection() + + def _initQualityMetricSelection(self: Self) ->None: + self._commonCellQualityMetric.RemoveAllArrays() + self._commonCellQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + commonCellMetrics: set[int] = getCommonPolyhedraQualityMeasure() + for measure in commonCellMetrics: + self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._tetQualityMetric.RemoveAllArrays() + self._tetQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getTetQualityMeasure().difference(commonCellMetrics): + self._tetQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._PyrQualityMetric.RemoveAllArrays() + self._PyrQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getPyramidQualityMeasure().difference(commonCellMetrics): + self._PyrQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._WedgeQualityMetric.RemoveAllArrays() + self._WedgeQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getWedgeQualityMeasure().difference(commonCellMetrics): + self._WedgeQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + self._HexQualityMetric.RemoveAllArrays() + self._HexQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] + for measure in getHexQualityMeasure().difference(commonCellMetrics): + self._HexQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + otherMetrics: set[int] = getQualityMetricsOther() + for measure in otherMetrics: + self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + + + @smproperty.dataarrayselection( name="CommonCellQualityMetric" ) + def a01SetCommonMetrics( self: Self ) -> vtkDataArraySelection: + """Set polygon quality metrics selection.""" + return self._commonCellQualityMetric + + @smproperty.dataarrayselection( name="TetrahedronSpecificQualityMetric" ) + def a02SetTetMetrics( self: Self ) -> vtkDataArraySelection: + """Set tetra quality metrics selection.""" + return self._tetQualityMetric + + @smproperty.dataarrayselection( name="PyramidSpecificQualityMetric" ) + def a03sSetPyrMetrics( self: Self ) -> vtkDataArraySelection: + """Set Pyramid quality metrics selection.""" + return self._PyrQualityMetric + + @smproperty.dataarrayselection( name="WedgeSpecificQualityMetric" ) + def a03sSetWedgeMetrics( self: Self ) -> vtkDataArraySelection: + """Set Wedge quality metrics selection.""" + return self._WedgeQualityMetric + + @smproperty.dataarrayselection( name="HexahedronSpecificQualityMetric" ) + def a03sSetHexMetrics( self: Self ) -> vtkDataArraySelection: + """Set Hexahdron quality metrics selection.""" + return self._HexQualityMetric + + @smproperty.dataarrayselection( name="OtherMeshQualityMetric" ) + def a04SetOtherMeshMetrics( self: Self ) -> vtkDataArraySelection: + """Set other mesh quality metrics selection.""" + return self._commonMeshQualityMetric + + @smproperty.intvector( + name="SetSaveToFile", + label="Save to file", + default_values=0, + panel_visibility="default", + ) + @smdomain.xml( """ + + + Specify if mesh statistics are dumped into a file. + + """ ) + def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: + """Setter to save the stats into a file. + + Args: + saveToFile (bool): if True, a file will be saved. + """ + if self._saveToFile != saveToFile: + self._saveToFile = saveToFile + self.Modified() + + @smproperty.stringvector(name="FilePath", label="File Path") + @smdomain.xml( """ + + Output file path. + + + + + """) + def b02SetFileName(self: Self, fname :str) -> None: + """Specify filename for the filter to write. + + Args: + fname (str): file path + """ + if self._filename != fname: + self._filename = fname + self.Modified() + + @smproperty.xml( """ + + + + + + + """ ) + def b03GroupAdvancedOutputParameters( self: Self ) -> None: + """Organize groups.""" + self.Modified() + + def Modified(self: Self) ->None: + """Overload Modified method to reset _blockIndex.""" + self._blockIndex = 0 + super().Modified() + + def RequestDataObject( + self: Self, + request: vtkInformation, + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestDataObject. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inData = self.GetInputData(inInfoVec, 0, 0) + outData = self.GetOutputData(outInfoVec, 0) + assert inData is not None + if outData is None or (not outData.IsA(inData.GetClassName())): + outData = inData.NewInstance() + outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) + return super().RequestDataObject(request, inInfoVec, outInfoVec) + + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], + outInfoVec: vtkInformationVector, + ) -> int: + """Inherited from VTKPythonAlgorithmBase::RequestData. + + Args: + request (vtkInformation): request + inInfoVec (list[vtkInformationVector]): input objects + outInfoVec (vtkInformationVector): output objects + + Returns: + int: 1 if calculation successfully ended, 0 otherwise. + """ + inputMesh: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) + outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData(outInfoVec, 0) + assert inputMesh is not None, "Input server mesh is null." + assert outputMesh is not None, "Output pipeline is null." + + tetraMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._tetQualityMetric)) + pyrMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) + wedgeMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) + hexaMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) + otherMetrics: set[int] = self._getQualityMetricsToUse(self._commonMeshQualityMetric) + filter: MeshQualityEnhanced = MeshQualityEnhanced() + filter.SetInputDataObject(inputMesh) + filter.SetCellQualityMetrics(tetraMetrics=tetraMetrics, pyramidMetrics=pyrMetrics, wedgeMetrics=wedgeMetrics, hexaMetrics=hexaMetrics) + filter.SetOtherMeshQualityMetrics(otherMetrics) + filter.Update() + + outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) + + # save to file if asked + if self._saveToFile: + stats: QualityMetricSummary = filter.GetQualityMetricSummary() + self._saveFile(stats) + self._blockIndex += 1 + return 1 + + def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[int]: + """Get mesh quality metric indexes from user selection. + + Returns: + list[int]: list of quality metric indexes + """ + metricsNames: set[str] = getArrayChoices(selection) + return {getQualityMeasureIndexFromName(name) for name in metricsNames} + + def _saveFile(self: Self, stats: QualityMetricSummary) ->None: + """Export mesh quality metric summary file.""" + try: + # add index for multiblock meshes + index: int = self._filename.rfind('.') + filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] + fig = stats.plotSummaryFigure() + fig.savefig(filename, dpi=150) + print(f"File {filename} was successfully written.") + except Exception as e: + print("Error while exporting the file due to:") + print(str(e)) + diff --git a/geos-utils/src/geos/utils/geometryFunctions.py b/geos-utils/src/geos/utils/geometryFunctions.py index 09cb64dc..0b44130f 100644 --- a/geos-utils/src/geos/utils/geometryFunctions.py +++ b/geos-utils/src/geos/utils/geometryFunctions.py @@ -175,8 +175,8 @@ def computeAngleFromVectors(vec1: npt.NDArray[np.float64], Returns: float: angle """ - assert abs(np.linalg.norm(vec1)) > 0., "First vector connot be null" - assert abs(np.linalg.norm(vec2)) > 0., "Second vector connot be null" + assert abs(np.linalg.norm(vec1)) > 0., "First vector cannot be null" + assert abs(np.linalg.norm(vec2)) > 0., "Second vector cannot be null" # normalization vec1_norm: npt.NDArray[np.float64] = vec1 / np.linalg.norm(vec1) vec2_norm: npt.NDArray[np.float64] = vec2 / np.linalg.norm(vec2) @@ -192,6 +192,25 @@ def computeAngleFromVectors(vec1: npt.NDArray[np.float64], teta = 2.0 * np.pi - teta return teta +def computeCosineFromVectors(vec1: npt.NDArray[np.float64], + vec2: npt.NDArray[np.float64], + ) -> float: + """Compute cosine from 2 vectors. + + Args: + vec1 (npt.NDArray[np.float64]): first vector + vec2 (npt.NDArray[np.float64]): second vector + + Returns: + float: cosine + """ + assert abs(np.linalg.norm(vec1)) > 0., "First vector cannot be null" + assert abs(np.linalg.norm(vec2)) > 0., "Second vector cannot be null" + # normalization + vec1_norm: npt.NDArray[np.float64] = vec1 / np.linalg.norm(vec1) + vec2_norm: npt.NDArray[np.float64] = vec2 / np.linalg.norm(vec2) + return np.dot(vec1_norm, vec2_norm) + def computeNormalFromPoints(pt1: npt.NDArray[np.float64], pt2: npt.NDArray[np.float64], pt3: npt.NDArray[np.float64] diff --git a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py index 5de6f2ec..4f4ef720 100644 --- a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py +++ b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py @@ -20,8 +20,8 @@ from vtkmodules.vtkCommonDataModel import vtkCellLocator, vtkFieldData, vtkImageData, vtkPointData, vtkPointSet from vtkmodules.vtkFiltersCore import vtkExtractCells, vtkResampleWithDataSet from vtkmodules.vtkFiltersExtraction import vtkExtractGrid -from geos.mesh.vtk.helpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName -from geos.mesh.vtk.io import VtkOutput, read_mesh, write_mesh +from geos.mesh.utils.helpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName +from geos.mesh.utils.io import VtkOutput, read_mesh, write_mesh from geos.pygeos_tools.model.pyevtk_tools import cGlobalIds from geos.utils.errors_handling.classes import required_attributes From 29d3f4f849ebd12d3d95affdbf9fab85bb93c760 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 19 May 2025 11:33:06 +0200 Subject: [PATCH 50/71] Documentation --- docs/geos_mesh_docs/io.rst | 7 +++- docs/geos_mesh_docs/utils.rst | 36 +++++++++++++------ geos-mesh/src/geos/mesh/io/vtkIO.py | 6 ++++ geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 2 +- .../src/geos/mesh/utils/arrayModifiers.py | 2 +- .../src/geos/mesh/utils/multiblockHelpers.py | 4 +-- .../geos/mesh/utils/multiblockModifiers.py | 6 ++-- 7 files changed, 44 insertions(+), 19 deletions(-) diff --git a/docs/geos_mesh_docs/io.rst b/docs/geos_mesh_docs/io.rst index df56d176..26ece9d3 100644 --- a/docs/geos_mesh_docs/io.rst +++ b/docs/geos_mesh_docs/io.rst @@ -1,7 +1,12 @@ Input/Outputs ^^^^^^^^^^^^^^^^ +`vtkIO` module of `geos-mesh` package contains generic methods to read and write different format of VTK meshes. + geos.mesh.io.vtkIO module -------------------------------------- -In progress +.. automodule:: geos.mesh.io.vtkIO + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/geos_mesh_docs/utils.rst b/docs/geos_mesh_docs/utils.rst index e29a7790..62c15c72 100644 --- a/docs/geos_mesh_docs/utils.rst +++ b/docs/geos_mesh_docs/utils.rst @@ -1,29 +1,35 @@ Mesh utilities ^^^^^^^^^^^^^^^^ -The `utils` module of `geos-mesh` package contains utilities and filters for VTK meshes. +The `utils` module of `geos-mesh` package contains different utilities methods for VTK meshes. +geos.mesh.utils.genericHelpers module +-------------------------------------- -geos.mesh.utils.filters module ----------------------------------------- - -.. automodule:: geos.mesh.utils.filters - :members: - :undoc-members: - :show-inheritance: - +.. automodule:: geos.mesh.utils.genericHelpers + :members: + :undoc-members: + :show-inheritance: -geos.mesh.utils.helpers module +geos.mesh.utils.arrayHelpers module -------------------------------------- -.. automodule:: geos.mesh.utils.helpers +.. automodule:: geos.mesh.utils.arrayHelpers :members: :undoc-members: :show-inheritance: +geos.mesh.utils.arrayModifiers module +---------------------------------------- + +.. automodule:: geos.mesh.utils.arrayModifiers + :members: + :undoc-members: + :show-inheritance: + geos.mesh.utils.multiblockHelpers module --------------------------------------------------------------- @@ -33,3 +39,11 @@ geos.mesh.utils.multiblockHelpers module :undoc-members: :show-inheritance: + +geos.mesh.utils.multiblockModifiers module +--------------------------------------------------------------- + +.. automodule:: geos.mesh.utils.multiblockModifiers + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/geos-mesh/src/geos/mesh/io/vtkIO.py b/geos-mesh/src/geos/mesh/io/vtkIO.py index 5d3e3693..e8212bb0 100644 --- a/geos-mesh/src/geos/mesh/io/vtkIO.py +++ b/geos-mesh/src/geos/mesh/io/vtkIO.py @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Alexandre Benedicto + import os.path import logging from dataclasses import dataclass @@ -8,6 +12,8 @@ vtkXMLStructuredGridReader, vtkXMLPUnstructuredGridReader, vtkXMLPStructuredGridReader, vtkXMLStructuredGridWriter ) +__doc__ = """Input and Ouput methods for VTK meshes.""" + @dataclass( frozen=True ) class VtkOutput: diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index b151d8f3..ff526c90 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -18,7 +18,7 @@ from vtkmodules.vtkFiltersCore import vtkCellCenters from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) -__doc__ = """ Utilities methods to get information on VTK Arrays. """ +__doc__ = """Utilities methods to get information on VTK Arrays.""" def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: diff --git a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py index 06a08257..98ca9142 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py @@ -36,7 +36,7 @@ ) from geos.mesh.utils.multiblockHelpers import getBlockElementIndexesFlatten, getBlockFromFlatIndex -__doc__ = """ Generic utilities to process VTK Arrays objects. """ +__doc__ = """Utilities to process VTK Arrays objects.""" def fillPartialAttributes( diff --git a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py index 0e61dcdc..e0b702e3 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py @@ -4,10 +4,10 @@ from typing import Union, cast from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObject, vtkDataObjectTreeIterator, - vtkMultiBlockDataSet, vtkUnstructuredGrid ) + vtkMultiBlockDataSet ) from vtkmodules.vtkFiltersExtraction import vtkExtractBlock -__doc__ = """Functions to explore and process VTK multiblock datasets. """ +__doc__ = """Functions to explore VTK multiblock datasets.""" def getBlockName( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ] ) -> str: diff --git a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py index 97ef7ea9..82118461 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py @@ -1,14 +1,14 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay -from typing import Union, cast +from typing import Union from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObjectTreeIterator, vtkMultiBlockDataSet, vtkUnstructuredGrid ) from vtkmodules.vtkFiltersCore import vtkAppendDataSets from geos.mesh.utils.arrayModifiers import fillAllPartialAttributes -__doc__ = """Function to process VTK multiblock datasets. """ +__doc__ = """Function to merge VTK multiblock datasets. """ # TODO : fix function for keepPartialAttributes = True @@ -44,4 +44,4 @@ def mergeBlocks( af.AddInputData( block ) iter.GoToNextItem() af.Update() - return af.GetOutputDataObject( 0 ) + return af.GetOutputDataObject( 0 ) \ No newline at end of file From c70f35319260241fa46f127f366847bfe08755a7 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Mon, 19 May 2025 13:07:38 +0200 Subject: [PATCH 51/71] Fix doc and yapf for ci --- geos-mesh/src/geos/mesh/io/vtkIO.py | 17 ++++++++++++----- .../filters/AttributeMappingFromCellCoords.py | 10 ++-------- .../geos_posp/filters/GeomechanicsCalculator.py | 2 +- .../src/geos_posp/pyvistaTools/pyvistaUtils.py | 9 +++------ 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/geos-mesh/src/geos/mesh/io/vtkIO.py b/geos-mesh/src/geos/mesh/io/vtkIO.py index e8212bb0..8ef974a1 100644 --- a/geos-mesh/src/geos/mesh/io/vtkIO.py +++ b/geos-mesh/src/geos/mesh/io/vtkIO.py @@ -87,11 +87,18 @@ def __read_pvtu( vtk_input_file: str ) -> Optional[ vtkUnstructuredGrid ]: def read_mesh( vtk_input_file: str ) -> vtkPointSet: - """ - Read the vtk file and builds either an unstructured grid or a structured grid from it. - :param vtk_input_file: The file name. The extension will be used to guess the file format. - If the first guess fails, the other available readers will be tried. - :return: A vtkPointSet. + """Read vtk file and build either an unstructured grid or a structured grid from it. + + Args: + vtk_input_file (str): The file name. Extension will be used to guess file format\ + If first guess fails, other available readers will be tried. + + Raises: + ValueError: Invalid file path error + ValueError: No appropriate reader available for the file format + + Returns: + vtkPointSet: Mesh read """ if not os.path.exists( vtk_input_file ): err_msg: str = f"Invalid file path. Could not read \"{vtk_input_file}\"." diff --git a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py index 7ecee6dd..5f23d1b6 100644 --- a/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py +++ b/geos-posp/src/geos_posp/filters/AttributeMappingFromCellCoords.py @@ -21,14 +21,8 @@ vtkCellLocator, vtkUnstructuredGrid, ) - -from geos.mesh.utils.arrayModifiers import ( - computeCellCenterCoordinates, - createEmptyAttribute, -) - -from geos.mesh.utils.arrayHelpers import ( - getVtkArrayInObject, ) +from geos.mesh.utils.arrayModifiers import createEmptyAttribute +from geos.mesh.utils.arrayHelpers import ( getVtkArrayInObject, computeCellCenterCoordinates ) __doc__ = """ AttributeMappingFromCellCoords module is a vtk filter that map two identical mesh (or a mesh is diff --git a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py index 7d033767..fb80122a 100644 --- a/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py +++ b/geos-posp/src/geos_posp/filters/GeomechanicsCalculator.py @@ -31,7 +31,7 @@ ) from vtkmodules.vtkFiltersCore import vtkCellCenters from geos.mesh.utils.arrayModifiers import createAttribute -from geos.mesh.utils.genericHelpers import ( +from geos.mesh.utils.arrayHelpers import ( getArrayInObject, getComponentNames, isAttributeInObject, diff --git a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py index 9a30cc61..7c17e3ef 100644 --- a/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py +++ b/geos-posp/src/geos_posp/pyvistaTools/pyvistaUtils.py @@ -13,11 +13,8 @@ from vtkmodules.vtkCommonDataModel import ( vtkPolyData, ) from geos.mesh.utils.genericHelpers import extractSurfaceFromElevation -from geos.mesh.utils.arrayHelpers import getAttributeValuesAsDF -from geos.mesh.utils.arrayModifiers import ( - transferPointDataToCellData, - computeCellCenterCoordinates, -) +from geos.mesh.utils.arrayHelpers import ( getAttributeValuesAsDF, computeCellCenterCoordinates ) +from geos.mesh.utils.arrayModifiers import transferPointDataToCellData __doc__ = r""" This module contains utilities to process meshes using pyvista. @@ -106,4 +103,4 @@ def getBlockByName( multiBlockMesh: Union[ pv.MultiBlock, pv.UnstructuredGrid ], # if mesh is not None, it is the searched one if mesh is not None: break - return mesh \ No newline at end of file + return mesh From 32af612a16fb10f6f063d1ef4043153fa4dbb35e Mon Sep 17 00:00:00 2001 From: alexbenedicto Date: Mon, 19 May 2025 15:59:22 -0700 Subject: [PATCH 52/71] Documentation and formating --- geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 145 ++++++++++++------ .../src/geos/mesh/utils/arrayModifiers.py | 15 +- .../src/geos/mesh/utils/genericHelpers.py | 16 +- .../src/geos/mesh/utils/multiblockHelpers.py | 1 - .../geos/mesh/utils/multiblockModifiers.py | 5 +- 5 files changed, 109 insertions(+), 73 deletions(-) diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index ff526c90..7691908e 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -1,27 +1,26 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay, Paloma Martinez -from typing import Any -import logging from copy import deepcopy import numpy as np import numpy.typing as npt import pandas as pd # type: ignore[import-untyped] import vtkmodules.util.numpy_support as vnp -from typing import Iterator, Optional, List, Union, cast +from typing import Optional, Union, cast from vtkmodules.util.numpy_support import vtk_to_numpy -from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray +from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray, vtkPoints from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkFieldData, vtkMultiBlockDataSet, vtkDataSet, vtkCompositeDataSet, vtkDataObject, vtkPointData, vtkCellData, vtkDataObjectTreeIterator, vtkPolyData ) -from vtkmodules.vtkCommonCore import vtkPoints from vtkmodules.vtkFiltersCore import vtkCellCenters from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) +from geos.utils.Logger import getLogger __doc__ = """Utilities methods to get information on VTK Arrays.""" +logger = getLogger( "arrayHelpers" ) -def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) -> bool: +def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: list[ str ] ) -> bool: """Checks if a mesh contains at least a data arrays within its cell, field or point data having a certain name. If so, returns True, else False. @@ -36,24 +35,37 @@ def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: List[ str ] ) cell_data = mesh.GetCellData() for i in range( cell_data.GetNumberOfArrays() ): if cell_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) + logger.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) return True # Check the field data fields field_data = mesh.GetFieldData() for i in range( field_data.GetNumberOfArrays() ): if field_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) + logger.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) return True # Check the point data fields point_data = mesh.GetPointData() for i in range( point_data.GetNumberOfArrays() ): if point_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) + logger.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) return True return False def getFieldType( data: vtkFieldData ) -> str: + """A vtk grid can contain 3 types of field data: + - vtkFieldData (parent class) + - vtkCellData (inheritance of vtkFieldData) + - vtkPointData (inheritance of vtkFieldData) + + The goal is to return whether the data is "vtkFieldData", "vtkCellData" or "vtkPointData". + + Args: + data (vtkFieldData) + + Returns: + str: "vtkFieldData", "vtkCellData" or "vtkPointData" + """ if not data.IsA( "vtkFieldData" ): raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) if data.IsA( "vtkCellData" ): @@ -64,49 +76,92 @@ def getFieldType( data: vtkFieldData ) -> str: return "vtkFieldData" -def getArrayNames( data: vtkFieldData ) -> List[ str ]: +def getArrayNames( data: vtkFieldData ) -> list[ str ]: + """Get the names of all arrays stored in a "vtkFieldData", "vtkCellData" or "vtkPointData". + + Args: + data (vtkFieldData) + + Returns: + list[ str ]: The array names in the order that they are stored in the field data. + """ if not data.IsA( "vtkFieldData" ): raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) return [ data.GetArrayName( i ) for i in range( data.GetNumberOfArrays() ) ] def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: + """Get the vtkDataArray corresponding to the given name. + + Args: + data (vtkFieldData) + name (str) + + Returns: + Optional[ vtkDataArray ]: The vtkDataArray associated with the name given. None if not found. + """ if data.HasArray( name ): return data.GetArray( name ) - logging.warning( f"No array named '{name}' was found in '{data}'." ) + logger.warning( f"No array named '{name}' was found in '{data}'." ) return None def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: - return deepcopy( getArrayByName( data, name ) ) + """Get the copy of a vtkDataArray corresponding to the given name. + Args: + data (vtkFieldData) + name (str) -def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: - array_names: List[ str ] = getArrayNames( data ) - for name in array_names: - if name.startswith( "Global" ) and name.endswith( "Ids" ): - return getCopyArrayByName( data, name ) - logging.warning( "No GlobalIds array was found." ) + Returns: + Optional[ vtkDataArray ]: The copy of the vtkDataArray associated with the name given. None if not found. + """ + dataArray: Optional[ vtkDataArray ] = getArrayByName( data, name ) + if dataArray is not None: + return deepcopy( dataArray ) return None -def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ npt.NDArray[ np.int64 ] ]: - return vtk_to_numpy( getGlobalIdsArray( data ) ) +def getNumpyGlobalIdsArray( data: Union[ vtkCellData, vtkPointData ] ) -> Optional[ npt.NDArray[ np.int64 ] ]: + """Get a numpy array of the GlobalIds. + + Args: + data (Union[ vtkCellData, vtkPointData ]) + + Returns: + Optional[ npt.NDArray[ np.int64 ] ]: The numpy array of GlobalIds. + """ + global_ids: Optional[ vtkDataArray ] = data.GetGlobalIds() + if global_ids is None: + logger.warning( "No GlobalIds array was found." ) + return None + return vtk_to_numpy( global_ids ) -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ Any ]: - arr: Optional[ npt.NDArray[ Any ] ] = vtk_to_numpy( getArrayByName( data, name ) ) - if arr is not None: +def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray ]: + """Get the numpy array of a given vtkDataArray found by its name. + If sorted is selected, this allows the option to reorder the values wrt GlobalIds. If not GlobalIds was found, + no reordering will be perform. + + Args: + data (vtkFieldData) + name (str) + sorted (bool, optional): Sort the output array with the help of GlobalIds. Defaults to False. + + Returns: + Optional[ npt.NDArray ] + """ + dataArray: Optional[ vtkDataArray ] = getArrayByName( data, name ) + if dataArray is not None: + arr: Optional[ npt.NDArray ] = vtk_to_numpy( dataArray ) if sorted: - sortArrayByGlobalIds( data, arr ) + fieldType: str = getFieldType( data ) + if fieldType in [ "vtkCellData", "vtkPointData" ]: + sortArrayByGlobalIds( data, arr ) return arr return None -def getCopyNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray[ Any ] ]: - return deepcopy( getNumpyArrayByName( data, name, sorted=sorted ) ) - - def getAttributeSet( object: Union[ vtkMultiBlockDataSet, vtkDataSet ], onPoints: bool ) -> set[ str ]: """Get the set of all attributes from an object on points or on cells. @@ -198,7 +253,7 @@ def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, on cells. Returns: - dict[str, int]: List of the names of the attributes. + dict[str, int]: list of the names of the attributes. """ attributes: dict[ str, int ] = {} data: Union[ vtkPointData, vtkCellData ] @@ -211,12 +266,12 @@ def getAttributesFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, sup = "Cell" assert data is not None, f"{sup} data was not recovered." - nbAttributes = data.GetNumberOfArrays() + nbAttributes: int = data.GetNumberOfArrays() for i in range( nbAttributes ): - attributeName = data.GetArrayName( i ) - attribute = data.GetArray( attributeName ) + attributeName: str = data.GetArrayName( i ) + attribute: vtkDataArray = data.GetArray( attributeName ) assert attribute is not None, f"Attribut {attributeName} is null" - nbComponents = attribute.GetNumberOfComponents() + nbComponents: int = attribute.GetNumberOfComponents() attributes[ attributeName ] = nbComponents return attributes @@ -430,7 +485,7 @@ def getComponentNamesDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: """ array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) - componentNames: list[ str ] = [] + componentNames: list[ str ] = list() if array.GetNumberOfComponents() > 1: componentNames += [ array.GetComponentName( i ) for i in range( array.GetNumberOfComponents() ) ] return tuple( componentNames ) @@ -476,19 +531,14 @@ def getAttributeValuesAsDF( surface: vtkPolyData, attributeNames: tuple[ str, .. data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) for attributeName in attributeNames: if not isAttributeInObject( surface, attributeName, False ): - print( f"WARNING: Attribute {attributeName} is not in the mesh." ) + logger.warning( f"Attribute {attributeName} is not in the mesh." ) continue array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) if len( array.shape ) > 1: for i in range( array.shape[ 1 ] ): data[ attributeName + f"_{i}" ] = array[ :, i ] - data.drop( - columns=[ - attributeName, - ], - inplace=True, - ) + data.drop( columns=[ attributeName ], inplace=True ) else: data[ attributeName ] = array return data @@ -509,19 +559,14 @@ def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFra data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) for attributeName in attributeNames: if not isAttributeInObject( surface, attributeName, False ): - print( f"WARNING: Attribute {attributeName} is not in the mesh." ) + logger.warning( f"Attribute {attributeName} is not in the mesh." ) continue array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) if len( array.shape ) > 1: for i in range( array.shape[ 1 ] ): data[ attributeName + f"_{i}" ] = array[ :, i ] - data.drop( - columns=[ - attributeName, - ], - inplace=True, - ) + data.drop( columns=[ attributeName ], inplace=True ) else: data[ attributeName ] = array return data @@ -607,7 +652,7 @@ def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: return pts.GetData() -def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.int64 ] ) -> None: +def sortArrayByGlobalIds( data: Union[ vtkCellData, vtkFieldData ], arr: npt.NDArray[ np.int64 ] ) -> None: """Sort an array following global Ids Args: @@ -618,4 +663,4 @@ def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.int64 ] ) -> if globalids is not None: arr = arr[ np.argsort( globalids ) ] else: - logging.warning( "No sorting was performed." ) + logger.warning( "No sorting was performed." ) diff --git a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py index 98ca9142..d95eae50 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py @@ -1,20 +1,13 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay, Alexandre Benedicto, Paloma Martinez - import numpy as np import numpy.typing as npt -import logging import vtkmodules.util.numpy_support as vnp -from typing import Optional, Union -from vtkmodules.vtkCommonCore import vtkDataArray, vtkDoubleArray +from typing import Union from vtkmodules.vtkCommonDataModel import ( vtkMultiBlockDataSet, vtkDataSet, vtkPointSet, vtkCompositeDataSet, - vtkDataObject, vtkDataObjectTreeIterator, vtkFieldData ) -from vtkmodules.vtkFiltersCore import ( - vtkArrayRename, - vtkCellCenters, - vtkPointDataToCellData, -) + vtkDataObject, vtkDataObjectTreeIterator ) +from vtkmodules.vtkFiltersCore import vtkArrayRename, vtkCellCenters, vtkPointDataToCellData from vtk import ( # type: ignore[import-untyped] VTK_CHAR, VTK_DOUBLE, VTK_FLOAT, VTK_INT, VTK_UNSIGNED_INT, ) @@ -354,7 +347,7 @@ def renameAttribute( bool: True if renaming operation successfully ended. """ if isAttributeInObject( object, attributeName, onPoints ): - dim: int = 0 if onPoints == True else 1 + dim: int = 0 if onPoints else 1 filter = vtkArrayRename() filter.SetInputData( object ) filter.SetArrayName( dim, attributeName, newAttributeName ) diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 6df864ec..41b4f981 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -1,12 +1,12 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. +# SPDX-FileContributor: Martin Lemay, Paloma Martinez from typing import Any, Iterator, List from vtkmodules.vtkCommonCore import vtkIdList -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkPolyData, - vtkPlane, -) +from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter -""" Generic VTK utilities.""" + +__doc__ = """ Generic VTK utilities.""" def to_vtk_id_list( data: List[ int ] ) -> vtkIdList: @@ -29,10 +29,10 @@ def vtk_iter( vtkContainer ) -> Iterator[ Any ]: """ Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins python containers. - + Args: vtkContainer: A vtk container - + Returns: The iterator """ diff --git a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py index e0b702e3..2c20135e 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py @@ -2,7 +2,6 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay from typing import Union, cast - from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObject, vtkDataObjectTreeIterator, vtkMultiBlockDataSet ) from vtkmodules.vtkFiltersExtraction import vtkExtractBlock diff --git a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py index 82118461..a79f256d 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py @@ -2,13 +2,12 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay from typing import Union - from vtkmodules.vtkCommonDataModel import ( vtkCompositeDataSet, vtkDataObjectTreeIterator, vtkMultiBlockDataSet, vtkUnstructuredGrid ) from vtkmodules.vtkFiltersCore import vtkAppendDataSets from geos.mesh.utils.arrayModifiers import fillAllPartialAttributes -__doc__ = """Function to merge VTK multiblock datasets. """ +__doc__ = """Function to merge VTK multiblock datasets.""" # TODO : fix function for keepPartialAttributes = True @@ -44,4 +43,4 @@ def mergeBlocks( af.AddInputData( block ) iter.GoToNextItem() af.Update() - return af.GetOutputDataObject( 0 ) \ No newline at end of file + return af.GetOutputDataObject( 0 ) From 923897f29cdb5f385b5fa1ec992c40814b1cc43d Mon Sep 17 00:00:00 2001 From: alexbenedicto Date: Mon, 19 May 2025 17:31:51 -0700 Subject: [PATCH 53/71] Fix import errors --- geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 19 +++++++++---------- .../src/geos/pygeos_tools/mesh/VtkMesh.py | 11 +++-------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index 7691908e..a51bd85e 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay, Paloma Martinez from copy import deepcopy +import logging import numpy as np import numpy.typing as npt import pandas as pd # type: ignore[import-untyped] @@ -14,10 +15,8 @@ vtkDataObjectTreeIterator, vtkPolyData ) from vtkmodules.vtkFiltersCore import vtkCellCenters from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) -from geos.utils.Logger import getLogger __doc__ = """Utilities methods to get information on VTK Arrays.""" -logger = getLogger( "arrayHelpers" ) def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: list[ str ] ) -> bool: @@ -35,19 +34,19 @@ def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: list[ str ] ) cell_data = mesh.GetCellData() for i in range( cell_data.GetNumberOfArrays() ): if cell_data.GetArrayName( i ) in invalid_fields: - logger.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) + logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) return True # Check the field data fields field_data = mesh.GetFieldData() for i in range( field_data.GetNumberOfArrays() ): if field_data.GetArrayName( i ) in invalid_fields: - logger.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) + logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) return True # Check the point data fields point_data = mesh.GetPointData() for i in range( point_data.GetNumberOfArrays() ): if point_data.GetArrayName( i ) in invalid_fields: - logger.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) + logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) return True return False @@ -102,7 +101,7 @@ def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: """ if data.HasArray( name ): return data.GetArray( name ) - logger.warning( f"No array named '{name}' was found in '{data}'." ) + logging.warning( f"No array named '{name}' was found in '{data}'." ) return None @@ -133,7 +132,7 @@ def getNumpyGlobalIdsArray( data: Union[ vtkCellData, vtkPointData ] ) -> Option """ global_ids: Optional[ vtkDataArray ] = data.GetGlobalIds() if global_ids is None: - logger.warning( "No GlobalIds array was found." ) + logging.warning( "No GlobalIds array was found." ) return None return vtk_to_numpy( global_ids ) @@ -531,7 +530,7 @@ def getAttributeValuesAsDF( surface: vtkPolyData, attributeNames: tuple[ str, .. data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) for attributeName in attributeNames: if not isAttributeInObject( surface, attributeName, False ): - logger.warning( f"Attribute {attributeName} is not in the mesh." ) + logging.warning( f"Attribute {attributeName} is not in the mesh." ) continue array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) @@ -559,7 +558,7 @@ def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFra data: pd.DataFrame = pd.DataFrame( np.full( ( nbRows, len( attributeNames ) ), np.nan ), columns=attributeNames ) for attributeName in attributeNames: if not isAttributeInObject( surface, attributeName, False ): - logger.warning( f"Attribute {attributeName} is not in the mesh." ) + logging.warning( f"Attribute {attributeName} is not in the mesh." ) continue array: npt.NDArray[ np.float64 ] = getArrayInObject( surface, attributeName, False ) @@ -663,4 +662,4 @@ def sortArrayByGlobalIds( data: Union[ vtkCellData, vtkFieldData ], arr: npt.NDA if globalids is not None: arr = arr[ np.argsort( globalids ) ] else: - logger.warning( "No sorting was performed." ) + logging.warning( "No sorting was performed." ) diff --git a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py index 22965d7b..67ce1a88 100644 --- a/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py +++ b/pygeos-tools/src/geos/pygeos_tools/mesh/VtkMesh.py @@ -20,7 +20,7 @@ from vtkmodules.vtkCommonDataModel import vtkCellLocator, vtkFieldData, vtkImageData, vtkPointData, vtkPointSet from vtkmodules.vtkFiltersCore import vtkExtractCells, vtkResampleWithDataSet from vtkmodules.vtkFiltersExtraction import vtkExtractGrid -from geos.mesh.utils.arrayHelpers import getCopyNumpyArrayByName, getNumpyGlobalIdsArray, getNumpyArrayByName +from geos.mesh.utils.arrayHelpers import getNumpyArrayByName, getNumpyGlobalIdsArray from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh from geos.pygeos_tools.model.pyevtk_tools import cGlobalIds from geos.utils.errors_handling.classes import required_attributes @@ -175,7 +175,7 @@ def extractMesh( self: Self, Accessors """ - def getArray( self: Self, name: str, dtype: str = "cell", copy: bool = False, sorted: bool = False ) -> npt.NDArray: + def getArray( self: Self, name: str, dtype: str = "cell", sorted: bool = False ) -> npt.NDArray: """ Return a cell or point data array. If the file is a pvtu, the array is sorted with global ids @@ -185,8 +185,6 @@ def getArray( self: Self, name: str, dtype: str = "cell", copy: bool = False, so Name of the vtk cell/point data array dtype : str Type of vtk data `cell` or `point` - copy : bool - Return a copy of the requested array. Default is False sorted : bool Return the array sorted with respect to GlobalPointIds or GlobalCellIds. Default is False @@ -197,10 +195,7 @@ def getArray( self: Self, name: str, dtype: str = "cell", copy: bool = False, so """ assert dtype.lower() in ( "cell", "point" ) fdata = self.getCellData() if dtype.lower() == "cell" else self.getPointData() - if copy: - array = getCopyNumpyArrayByName( fdata, name, sorted=sorted ) - else: - array = getNumpyArrayByName( fdata, name, sorted=sorted ) + array = getNumpyArrayByName( fdata, name, sorted=sorted ) return array def getBounds( self: Self ) -> Iterable[ float ]: From aaf7560dfc5400df735d540224cdfbfe2262acb0 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 15:22:10 +0200 Subject: [PATCH 54/71] typing, linting and formating --- README.md | 11 +- .../src/geos/mesh/model/CellTypeCounts.py | 19 +- .../geos/mesh/model/QualityMetricSummary.py | 468 +++++----- .../src/geos/mesh/processing/SplitMesh.py | 1 + .../processing/meshQualityMetricHelpers.py | 613 +++++++------- .../mesh/stats/CellTypeCounterEnhanced.py | 3 +- .../geos/mesh/stats/MeshQualityEnhanced.py | 799 ++++++------------ geos-mesh/tests/test_MeshQualityEnhanced.py | 13 - geos-mesh/tests/test_QualityMetricSummary.py | 3 +- geos-mesh/tests/test_meshQualityHelpers.py | 12 - .../PVplugins/PVCellTypeCounterEnhanced.py | 50 +- geos-pv/src/PVplugins/PVSplitMesh.py | 16 +- .../PVplugins/PVSurfaceMeshQualityEnhanced.py | 114 +-- .../PVplugins/PVVolumeMeshQualityEnhanced.py | 128 +-- .../pv/utils/AbstractPVPluginVtkWrapper.py | 34 +- 15 files changed, 1049 insertions(+), 1235 deletions(-) diff --git a/README.md b/README.md index 991e45cd..6cce6b3c 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ Installation python -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip - python -m pip install ./ + python -m pip install -e ./ ``` You can test installed package by running the commands: @@ -146,7 +146,14 @@ If you would like to contribute to GEOS Python packages, please respect the foll 1. Create a new branch named from this template: `[CONTRIBUTOR]/[TYPE]/[TITLE]` where CONTRIBUTOR is the name of the contributor, TYPE is the type of contribution among 'feature', 'refactor', 'doc', 'ci', TITLE is a short title for the branch. 2. Add your code trying to integrate into the current code architecture. -3. Push the branch, open a new PR respecting naming [semantics](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716), and add reviewers +3. Run mypy, ruff and yapf in this order + ``` + python -m pip install --upgrade mypy ruff yapf + python -m mypy --config-file ./.mypy.ini --check-untyped-defs ./ + python -m ruff check --fix --config .ruff.toml ./ + python -m yapf -r -i --style .style.yapf ./ + ``` +4. Push the branch, open a new PR respecting naming [semantics](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716), and add reviewers If you do not have the rights to push the code and open new PRs, consider opening a new issue to explain what you want to do and ask for the dev rights. diff --git a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py index 59bd3a4f..ba9b7692 100644 --- a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -10,6 +10,21 @@ __doc__ = """ CellTypeCounts stores the number of elements of each type. + +To use the filter: + +.. code-block:: python + + from geos.mesh.model.CellTypeCounts import CellTypeCounts + + counts: CellTypeCounts = CellTypeCounts() + + # set data + counts.addType( cellType ) + counts.setTypeCount( cellType, count ) + + # get data + count: int counts.getTypeCount( cellType ) """ @@ -27,7 +42,7 @@ def __str__( self: Self ) -> str: """ return self.print() - def __add__( self: Self, other: Self ) -> Self: + def __add__( self: Self, other: Self ) -> 'CellTypeCounts': """Addition operator. CellTypeCounts addition consists in suming counts. @@ -82,7 +97,7 @@ def getTypeCount( self: Self, cellType: int ) -> int: """ return int( self._counts[ cellType ] ) - def reset(self: Self) ->None: + def reset( self: Self ) -> None: """Reset counts.""" self._counts = np.zeros( VTK_NUMBER_OF_CELL_TYPES, dtype=float ) diff --git a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py index 0d0a94ce..373e7584 100644 --- a/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py +++ b/geos-mesh/src/geos/mesh/model/QualityMetricSummary.py @@ -14,60 +14,73 @@ from matplotlib.patches import Rectangle from matplotlib.figure import Figure from matplotlib.axes import Axes -from vtkmodules.vtkCommonDataModel import ( - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON -) -from geos.mesh.processing.meshQualityMetricHelpers import ( - QUALITY_METRIC_OTHER_START_INDEX, - getAllCellTypesExtended, - getQualityMeasureNameFromIndex, - getQualityMetricFromIndex, - MeshQualityMetricEnum, - CellQualityMetricEnum, - VtkCellQualityMetricEnum, - CellQualityMetricAdditionalEnum, - QualityMetricOtherEnum, - QualityRange -) +from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, + VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) +from geos.mesh.processing.meshQualityMetricHelpers import ( QUALITY_METRIC_OTHER_START_INDEX, getAllCellTypesExtended, + getQualityMeasureNameFromIndex, getQualityMetricFromIndex, + MeshQualityMetricEnum, CellQualityMetricEnum, + VtkCellQualityMetricEnum, CellQualityMetricAdditionalEnum, + QualityMetricOtherEnum, QualityRange ) from geos.mesh.model.CellTypeCounts import CellTypeCounts __doc__ = """ QualityMetricSummary stores the statistics of mesh quality metrics. + +To use QualityMetricSummary: + +.. code-block:: python + + from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes + + qualityMetricSummary: QualityMetricSummary = QualityMetricSummary() + # set data + qualityMetricSummary.setCellTypeCounts(counts) + qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, cellType, statType, value)) + qualityMetricSummary.setOtherStatValueFromMetric(metricIndex, statType, value) + + # get stats + count: int = qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + value: float = qualityMetricSummary.getCellStatValueFromStatMetricAndCellType(cellMetricIndex, cellType, statType) + subSetStats: pd.DataFrame = stats.getStatsFromMetric(cellMetricIndex) + stats: pd.DataFrame = stats.getAllCellStats() + + # output figure + fig: Figure = stats.plotSummaryFigure() """ -class StatTypes(Enum): - MEAN = (0, "Mean", float, np.nanmean) - STD_DEV = (1, "StdDev", float, np.nanstd) - MIN = (2, "Min", float, np.nanmin) - MAX = (3, "Max", float, np.nanmax) - COUNT = (4, "Count", int, lambda v : np.count_nonzero(np.isfinite(v))) - def getIndex(self: Self) ->int: +class StatTypes( Enum ): + MEAN = ( 0, "Mean", float, np.nanmean ) + STD_DEV = ( 1, "StdDev", float, np.nanstd ) + MIN = ( 2, "Min", float, np.nanmin ) + MAX = ( 3, "Max", float, np.nanmax ) + COUNT = ( 4, "Count", int, lambda v: np.count_nonzero( np.isfinite( v ) ) ) + + def getIndex( self: Self ) -> int: """Get stat index. Returns: int: index """ - return self.value[0] + return self.value[ 0 ] - def getString(self: Self) ->str: + def getString( self: Self ) -> str: """Get stat name. Returns: str: name """ - return self.value[1] + return self.value[ 1 ] - def getType(self: Self) ->object: + def getType( self: Self ) -> object: """Get stat type. Returns: object: type """ - return self.value[2] + return self.value[ 2 ] - def compute(self: Self, array: Iterable[float]) -> int | float: + def compute( self: Self, array: Iterable[ float ] ) -> int | float: """Compute statistics using function. Args: @@ -76,10 +89,10 @@ def compute(self: Self, array: Iterable[float]) -> int | float: Returns: int | float: output stat """ - return self.value[3](array) + return self.value[ 3 ]( array ) @staticmethod - def getNameFromIndex(index: int) ->str: + def getNameFromIndex( index: int ) -> str: """Get stat name from index. Args: @@ -88,10 +101,10 @@ def getNameFromIndex(index: int) ->str: Returns: str: name """ - return list(StatTypes)[index].getString() + return list( StatTypes )[ index ].getString() @staticmethod - def getIndexFromName(name: str) ->int: + def getIndexFromName( name: str ) -> int: """Get stat index from name. Args: @@ -100,13 +113,13 @@ def getIndexFromName(name: str) ->int: Returns: int: index """ - for stat in list(StatTypes): + for stat in list( StatTypes ): if stat.getString() == name: return stat.getIndex() return -1 @staticmethod - def getTypeFromIndex(index: int) ->object: + def getTypeFromIndex( index: int ) -> object: """Get stat type from index. Args: @@ -115,16 +128,26 @@ def getTypeFromIndex(index: int) ->object: Returns: object: type """ - return list(StatTypes)[index].getType() + return list( StatTypes )[ index ].getType() + + +_RANGE_COLORS: tuple[ str, str, str ] = ( + 'lightcoral', + 'sandybrown', + 'palegreen', +) + -_RANGE_COLORS: tuple[str, str, str] = ('lightcoral', 'sandybrown', 'palegreen', ) class QualityMetricSummary(): - _LEVELS: tuple[str] = ("MetricIndex", "CellType") - _CELL_TYPES_PLOT: tuple[int] = (VTK_TRIANGLE, VTK_QUAD, VTK_POLYGON, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYHEDRON) - _CELL_TYPES_NAME: list[str] = [vtkCellTypes.GetClassNameFromTypeId(cellType).removeprefix("vtk") for cellType in _CELL_TYPES_PLOT] + _LEVELS: tuple[ str, str ] = ( "MetricIndex", "CellType" ) + _CELL_TYPES_PLOT: tuple[ int, ...] = ( VTK_TRIANGLE, VTK_QUAD, VTK_POLYGON, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, + VTK_HEXAHEDRON, VTK_POLYHEDRON ) + _CELL_TYPES_NAME: list[ str ] = [ + vtkCellTypes.GetClassNameFromTypeId( cellType ).removeprefix( "vtk" ) for cellType in _CELL_TYPES_PLOT + ] - def __init__(self: Self ) ->None: + def __init__( self: Self ) -> None: """CellTypeCounts stores the number of cells of each type.""" #: stores for each cell type, and metric type, the stats self._counts: CellTypeCounts = CellTypeCounts() @@ -132,20 +155,24 @@ def __init__(self: Self ) ->None: self._meshOtherStats: pd.DataFrame self._initStats() - def _initStats(self: Self) ->None: + def _initStats( self: Self ) -> None: """Initialize self._cellStats dataframe.""" - rows: list[int] = [statType.getIndex() for statType in list(StatTypes)] - nb_rows: int = len(rows) - cellTypes: list[int] = getAllCellTypesExtended() - indexes = [(metric.getMetricIndex(), cellType) for metric in (list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum)) for cellType in cellTypes if metric.isApplicableToCellType(cellType)] - df_indexes: pd.MultiIndex = pd.MultiIndex.from_tuples((indexes), names=self._LEVELS) + rows: list[ int ] = [ statType.getIndex() for statType in list( StatTypes ) ] + nb_rows: int = len( rows ) + cellTypes: list[ int ] = getAllCellTypesExtended() + indexes = [ ( metric.getMetricIndex(), cellType ) + for metric in ( list( VtkCellQualityMetricEnum ) + list( CellQualityMetricAdditionalEnum ) ) + for cellType in cellTypes if metric.isApplicableToCellType( cellType ) ] + df_indexes: pd.MultiIndex = pd.MultiIndex.from_tuples( ( indexes ), names=self._LEVELS ) nb_col: int = df_indexes.size - self._cellStats = pd.DataFrame(np.full((nb_rows, nb_col), np.nan), columns=df_indexes, index=rows) + self._cellStats = pd.DataFrame( np.full( ( nb_rows, nb_col ), np.nan ), columns=df_indexes, index=rows ) - columns = [metric.getMetricIndex() for metric in list(QualityMetricOtherEnum)] - self._meshOtherStats = pd.DataFrame(np.full((nb_rows, len(columns)), np.nan), columns=columns, index=rows) + columns = [ metric.getMetricIndex() for metric in list( QualityMetricOtherEnum ) ] + self._meshOtherStats = pd.DataFrame( np.full( ( nb_rows, len( columns ) ), np.nan ), + columns=columns, + index=rows ) - def setCellTypeCounts(self: Self, counts: CellTypeCounts) ->None: + def setCellTypeCounts( self: Self, counts: CellTypeCounts ) -> None: """Set cell type counts. Args: @@ -153,7 +180,7 @@ def setCellTypeCounts(self: Self, counts: CellTypeCounts) ->None: """ self._counts = counts - def getCellTypeCountsObject(self: Self)-> int: + def getCellTypeCountsObject( self: Self ) -> int: """Get cell type counts. Returns: @@ -161,18 +188,19 @@ def getCellTypeCountsObject(self: Self)-> int: """ return self._counts - def getCellTypeCountsOfCellType(self: Self, cellType: int)-> int: + def getCellTypeCountsOfCellType( self: Self, cellType: int ) -> int: """Get cell type counts. Returns: int: number of cell """ - return self._counts.getTypeCount(cellType) + return self._counts.getTypeCount( cellType ) - def isCellStatsValidForMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - ) ->bool: + def isCellStatsValidForMetricAndCellType( + self: Self, + metricIndex: int, + cellType: int, + ) -> bool: """Returns True if input quality metric applies to input cell type. Args: @@ -182,9 +210,9 @@ def isCellStatsValidForMetricAndCellType(self: Self, Returns: bool: True if input quality metric applies """ - return np.any(np.isfinite(self.getStatsFromMetricAndCellType(metricIndex, cellType))) + return bool( np.any( np.isfinite( self.getStatsFromMetricAndCellType( metricIndex, cellType ) ) ) ) - def getAllCellStats(self: Self)-> pd.DataFrame: + def getAllCellStats( self: Self ) -> pd.DataFrame: """Get all cell stats including nan values. Returns: @@ -192,28 +220,29 @@ def getAllCellStats(self: Self)-> pd.DataFrame: """ return self._cellStats - def getAllValidCellStats(self: Self)-> pd.DataFrame: + def getAllValidCellStats( self: Self ) -> pd.DataFrame: """Get all valid cell stats. Returns: pd.DataFrame: stats """ - return self._cellStats.dropna(axis=1) + return self._cellStats.dropna( axis=1 ) - def getAllValidOtherMetricStats(self: Self)-> pd.DataFrame: + def getAllValidOtherMetricStats( self: Self ) -> pd.DataFrame: """Get all valid other metric stats. Returns: pd.DataFrame: stats """ - print(self._meshOtherStats.head()) - return self._meshOtherStats.dropna(axis=1) - - def getCellStatValueFromStatMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - statType: StatTypes, - ) -> float: + print( self._meshOtherStats.head() ) + return self._meshOtherStats.dropna( axis=1 ) + + def getCellStatValueFromStatMetricAndCellType( + self: Self, + metricIndex: int, + cellType: int, + statType: StatTypes, + ) -> float: """Get cell stat value for the given metric and cell types. Args: @@ -224,14 +253,11 @@ def getCellStatValueFromStatMetricAndCellType(self: Self, Returns: float: stats value """ - if (metricIndex, cellType) not in self._cellStats.columns: - raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - return self._cellStats[(metricIndex, cellType)][statType.getIndex()] - - def getStatsFromMetricAndCellType(self: Self, - metricIndex: int, - cellType: int - ) -> pd.Series: + if ( metricIndex, cellType ) not in self._cellStats.columns: + raise IndexError( f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats" ) + return self._cellStats[ ( metricIndex, cellType ) ][ statType.getIndex() ] + + def getStatsFromMetricAndCellType( self: Self, metricIndex: int, cellType: int ) -> pd.Series: """Get stats for the given metric and cell types. Args: @@ -241,13 +267,14 @@ def getStatsFromMetricAndCellType(self: Self, Returns: pd.Series: stats """ - if (metricIndex, cellType) not in self._cellStats.columns: - raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - return self._cellStats[(metricIndex, cellType)] - - def getStatsFromMetric(self: Self, - metricIndex: int, - ) -> pd.DataFrame: + if ( metricIndex, cellType ) not in self._cellStats.columns: + raise IndexError( f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats" ) + return self._cellStats[ ( metricIndex, cellType ) ] + + def getStatsFromMetric( + self: Self, + metricIndex: int, + ) -> pd.DataFrame: """Get stats for the given metric index. Args: @@ -257,15 +284,11 @@ def getStatsFromMetric(self: Self, pd.DataFrame: stats """ if metricIndex < QUALITY_METRIC_OTHER_START_INDEX: - return self._cellStats.xs(metricIndex, level=self._LEVELS[0], axis=1) + return self._cellStats.xs( metricIndex, level=self._LEVELS[ 0 ], axis=1 ) else: - return self._meshOtherStats[metricIndex] + return self._meshOtherStats[ metricIndex ] - def setOtherStatValueFromMetric(self: Self, - metricIndex: int, - statType: StatTypes, - value: int | float - ) -> None: + def setOtherStatValueFromMetric( self: Self, metricIndex: int, statType: StatTypes, value: int | float ) -> None: """Set other stat value for the given metric. Args: @@ -274,12 +297,13 @@ def setOtherStatValueFromMetric(self: Self, value (int | float): value """ if metricIndex not in self._meshOtherStats.columns: - raise IndexError(f"Index {metricIndex} not in QualityMetricSummary meshOtherStats") - self._meshOtherStats.loc[statType.getIndex(), metricIndex] = value + raise IndexError( f"Index {metricIndex} not in QualityMetricSummary meshOtherStats" ) + self._meshOtherStats.loc[ statType.getIndex(), metricIndex ] = value - def getCellStatsFromCellType(self: Self, - cellType: int, - ) -> pd.DataFrame: + def getCellStatsFromCellType( + self: Self, + cellType: int, + ) -> pd.DataFrame: """Get cell stats for the given cell type. Args: @@ -288,14 +312,10 @@ def getCellStatsFromCellType(self: Self, Returns: pd.DataFrame: stats """ - return self._cellStats.xs(cellType, level=self._LEVELS[1], axis=1) - - def setCellStatValueFromStatMetricAndCellType(self: Self, - metricIndex: int, - cellType: int, - statType: StatTypes, - value: int | float - ) -> None: + return self._cellStats.xs( cellType, level=self._LEVELS[ 1 ], axis=1 ) + + def setCellStatValueFromStatMetricAndCellType( self: Self, metricIndex: int, cellType: int, statType: StatTypes, + value: int | float ) -> None: """Set cell stats for the given metric and cell types. Args: @@ -304,31 +324,31 @@ def setCellStatValueFromStatMetricAndCellType(self: Self, statType (StatTypes): stat number value (int | float): value """ - if (metricIndex, cellType) not in self._cellStats.columns: - raise IndexError(f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats") - self._cellStats.loc[statType.getIndex(), (metricIndex, cellType)] = value + if ( metricIndex, cellType ) not in self._cellStats.columns: + raise IndexError( f"Index ({metricIndex}, {cellType}) not in QualityMetricSummary stats" ) + self._cellStats.loc[ statType.getIndex(), ( metricIndex, cellType ) ] = value - def getComputedCellMetricIndexes(self: Self) ->list[Any]: + def getComputedCellMetricIndexes( self: Self ) -> list[ Any ]: """Get the list of index of computed cell quality metrics. Returns: tuple[int]: list of metrics index """ validCellStats: pd.DataFrame = self.getAllValidCellStats() - columns: list[int] = validCellStats.columns.get_level_values(0).to_list() - return np.unique(columns).tolist() + columns: list[ int ] = validCellStats.columns.get_level_values( 0 ).to_list() + return np.unique( columns ).tolist() - def getComputedOtherMetricIndexes(self: Self) ->list[Any]: + def getComputedOtherMetricIndexes( self: Self ) -> list[ Any ]: """Get the list of index of computed other quality metrics. Returns: tuple[int]: list of metrics index """ validOtherStats: pd.DataFrame = self.getAllValidOtherMetricStats() - columns: list[int] = [validOtherStats.columns.to_list()] - return np.unique(columns).tolist() + columns: list[ int ] = [ validOtherStats.columns.to_list() ] + return np.unique( columns ).tolist() - def getAllComputedMetricIndexes(self: Self) ->list[Any]: + def getAllComputedMetricIndexes( self: Self ) -> list[ Any ]: """Get the list of index of all computed metrics. Returns: @@ -336,69 +356,69 @@ def getAllComputedMetricIndexes(self: Self) ->list[Any]: """ return self.getComputedCellMetricIndexes() + self.getComputedOtherMetricIndexes() - def plotSummaryFigure(self: Self) -> Figure: + def plotSummaryFigure( self: Self ) -> Figure: """Plot quality metric summary figure. Returns: plt.figure: output Figure """ - computedCellMetrics: list[int] = self.getComputedCellMetricIndexes() - computedOtherMetrics: list[int] = self.getComputedOtherMetricIndexes() - print(computedCellMetrics, computedOtherMetrics) + computedCellMetrics: list[ int ] = self.getComputedCellMetricIndexes() + computedOtherMetrics: list[ int ] = self.getComputedOtherMetricIndexes() # compute layout - nbAxes: int = len(computedCellMetrics) + len(computedOtherMetrics) + 1 + nbAxes: int = len( computedCellMetrics ) + len( computedOtherMetrics ) + 1 ncols: int = 3 nrows: int = 1 # 3 columns for these number of axes, else 4 columns - if nbAxes not in (1, 2, 3, 5, 6, 9): + if nbAxes not in ( 1, 2, 3, 5, 6, 9 ): ncols = 4 - nrows: int = nbAxes // ncols + nrows = nbAxes // ncols if nbAxes % ncols > 0: nrows += 1 - figSize = (ncols * 3, nrows * 4) - fig, axes = plt.subplots(nrows, ncols, figsize=figSize, tight_layout=True) + figSize = ( ncols * 3, nrows * 4 ) + fig, axes = plt.subplots( nrows, ncols, figsize=figSize, tight_layout=True ) axesFlat = axes.flatten() # index of current axes currentAxIndex: int = 0 # plot cell type counts - self._plotCellTypeCounts(axesFlat[0]) + self._plotCellTypeCounts( axesFlat[ 0 ] ) currentAxIndex += 1 # plot other mesh quality stats - if len(computedOtherMetrics) > 0: - ax: Axes = axesFlat[currentAxIndex] - self._plotOtherMetricStats(ax) + ax: Axes + if len( computedOtherMetrics ) > 0: + ax = axesFlat[ currentAxIndex ] + self._plotOtherMetricStats( ax ) currentAxIndex += 1 # plot cell quality metrics for metricIndex in computedCellMetrics: - ax: Axes = axesFlat[currentAxIndex] - self._plotCellMetricStats(ax, metricIndex) + ax = axesFlat[ currentAxIndex ] + self._plotCellMetricStats( ax, metricIndex ) currentAxIndex += 1 # remove unused axes - for ax in axesFlat[currentAxIndex:]: + for ax in axesFlat[ currentAxIndex: ]: ax.remove() return fig - def _plotCellTypeCounts(self: Self, ax: Axes) ->None: + def _plotCellTypeCounts( self: Self, ax: Axes ) -> None: """Plot cell type counts. Args: ax (Axes): Axes object """ - xticks: npt.NDArray[np.int64] = np.arange(len(self._CELL_TYPES_PLOT), dtype=int) - toplot: list[int] = [self._counts.getTypeCount(cellType) for cellType in self._CELL_TYPES_PLOT] - p = ax.bar(self._CELL_TYPES_NAME, toplot) + xticks: npt.NDArray[ np.int64 ] = np.arange( len( self._CELL_TYPES_PLOT ), dtype=int ) + toplot: list[ int ] = [ self._counts.getTypeCount( cellType ) for cellType in self._CELL_TYPES_PLOT ] + p = ax.bar( self._CELL_TYPES_NAME, toplot ) # bar_label only available for matplotlib version >= 3.3 - if Version(mpl.__version__) >= Version("3.3"): - plt.bar_label(p, label_type='center', rotation=90, padding=5) - ax.set_xticks(xticks) - ax.set_xticklabels(self._CELL_TYPES_NAME, rotation=30, ha="right") - ax.set_xlabel("Cell types") - ax.set_title("Cell Type Counts") - - def _plotOtherMetricStats(self: Self, ax0: Axes) ->None: + if Version( mpl.__version__ ) >= Version( "3.3" ): + plt.bar_label( p, label_type='center', rotation=90, padding=5 ) + ax.set_xticks( xticks ) + ax.set_xticklabels( self._CELL_TYPES_NAME, rotation=30, ha="right" ) + ax.set_xlabel( "Cell types" ) + ax.set_title( "Cell Type Counts" ) + + def _plotOtherMetricStats( self: Self, ax0: Axes ) -> None: """Plot other metric stats. Args: @@ -406,49 +426,46 @@ def _plotOtherMetricStats(self: Self, ax0: Axes) ->None: metricIndex (int): metric index """ # order of cell types in each axes - computedMetrics: list[int] = self.getComputedOtherMetricIndexes() + computedMetrics: list[ int ] = self.getComputedOtherMetricIndexes() # get data to plot - maxs: pd.Series = self._meshOtherStats.loc[StatTypes.MAX.getIndex(), computedMetrics] - mins: pd.Series = self._meshOtherStats.loc[StatTypes.MIN.getIndex(), computedMetrics] - means: pd.Series = self._meshOtherStats.loc[StatTypes.MEAN.getIndex(), computedMetrics] - stdDev: pd.Series = self._meshOtherStats.loc[StatTypes.STD_DEV.getIndex(), computedMetrics] - xticks: npt.NDArray[np.int64] = np.arange(means.index.size, dtype=int) - xtickslabels = [getQualityMeasureNameFromIndex(metricIndex)for metricIndex in computedMetrics] + maxs: pd.Series = self._meshOtherStats.loc[ StatTypes.MAX.getIndex(), computedMetrics ] + mins: pd.Series = self._meshOtherStats.loc[ StatTypes.MIN.getIndex(), computedMetrics ] + means: pd.Series = self._meshOtherStats.loc[ StatTypes.MEAN.getIndex(), computedMetrics ] + stdDev: pd.Series = self._meshOtherStats.loc[ StatTypes.STD_DEV.getIndex(), computedMetrics ] + xticks: npt.NDArray[ np.int64 ] = np.arange( means.index.size, dtype=int ) + xtickslabels = [ getQualityMeasureNameFromIndex( metricIndex ) for metricIndex in computedMetrics ] # define colors - cmap: mpl.colors.Colormap = cm.get_cmap('plasma') - colors = cmap(np.linspace(0, 1, len(computedMetrics))) + cmap: mpl.colors.Colormap = cm.get_cmap( 'plasma' ) + colors = cmap( np.linspace( 0, 1, len( computedMetrics ) ) ) # min max rectangle width recWidth: float = 0.5 xtick: float = 0.0 ax: Axes - for k, metricIndex in enumerate(computedMetrics): + for k, metricIndex in enumerate( computedMetrics ): ax = ax0 if k == 0 else ax0.twinx() - color = colors[k] + color = colors[ k ] # add rectangle from min to max x: float = xtick - recWidth / 2.0 - y: float = mins[metricIndex] - recHeight: float = maxs[metricIndex] - mins[metricIndex] - ax.add_patch(Rectangle((x, y), recWidth, recHeight, - edgecolor = color, - fill=False, - lw=1)) + y: float = mins[ metricIndex ] + recHeight: float = maxs[ metricIndex ] - mins[ metricIndex ] + ax.add_patch( Rectangle( ( x, y ), recWidth, recHeight, edgecolor=color, fill=False, lw=1 ) ) # plot mean and error bars for std dev - ax.errorbar(k, means[metricIndex], yerr=stdDev[metricIndex], fmt='-o', color=color) + ax.errorbar( k, means[ metricIndex ], yerr=stdDev[ metricIndex ], fmt='-o', color=color ) xtick += 1.0 # set y axis color - ax.yaxis.label.set_color(color) - ax.tick_params(axis='y', colors=color) + ax.yaxis.label.set_color( color ) + ax.tick_params( axis='y', colors=color ) # set x tick names - ax0.set_xticks(xticks) - ax0.set_xticklabels(xtickslabels, rotation=30, ha="right") - ax0.set_xlabel("Mesh Quality Metric") - ax0.set_title("Other Mesh Quality Metric") + ax0.set_xticks( xticks ) + ax0.set_xticklabels( xtickslabels, rotation=30, ha="right" ) + ax0.set_xlabel( "Mesh Quality Metric" ) + ax0.set_title( "Other Mesh Quality Metric" ) - def _plotCellMetricStats(self: Self, ax: Axes, metricIndex: int) ->None: + def _plotCellMetricStats( self: Self, ax: Axes, metricIndex: int ) -> None: """Plot cell metric stats. Args: @@ -456,14 +473,14 @@ def _plotCellMetricStats(self: Self, ax: Axes, metricIndex: int) ->None: metricIndex (int): metric index """ # get data to plot - maxs: pd.Series = self._cellStats.loc[StatTypes.MAX.getIndex(), metricIndex] - mins: pd.Series = self._cellStats.loc[StatTypes.MIN.getIndex(), metricIndex] - means: pd.Series = self._cellStats.loc[StatTypes.MEAN.getIndex(), metricIndex] - xticks: npt.NDArray[np.int64] = np.arange(means.index.size, dtype=int) - stdDev: pd.Series = self._cellStats.loc[StatTypes.STD_DEV.getIndex(), metricIndex] + maxs: pd.Series = self._cellStats.loc[ StatTypes.MAX.getIndex(), metricIndex ] + mins: pd.Series = self._cellStats.loc[ StatTypes.MIN.getIndex(), metricIndex ] + means: pd.Series = self._cellStats.loc[ StatTypes.MEAN.getIndex(), metricIndex ] + xticks: npt.NDArray[ np.int64 ] = np.arange( means.index.size, dtype=int ) + stdDev: pd.Series = self._cellStats.loc[ StatTypes.STD_DEV.getIndex(), metricIndex ] # order of cell types in each axes - xtickslabels: list[str] = [] + xtickslabels: list[ str ] = [] # min max rectangle width recWidth: float = 0.5 # range rectangle width @@ -471,40 +488,30 @@ def _plotCellMetricStats(self: Self, ax: Axes, metricIndex: int) ->None: ylim0: float = mins.max() ylim1: float = maxs.min() xtick: float = 0.0 - for k, cellType in enumerate(self._CELL_TYPES_PLOT): + for k, cellType in enumerate( self._CELL_TYPES_PLOT ): if cellType in means.index: - xtickslabels += [self._CELL_TYPES_NAME[k]] + xtickslabels += [ self._CELL_TYPES_NAME[ k ] ] # add quality metric range - (ylim0, ylim1) = self._plotRangePatch(ax, metricIndex, cellType, ylim0, ylim1, xtick, rangeRecWidth) + ( ylim0, ylim1 ) = self._plotRangePatch( ax, metricIndex, cellType, ylim0, ylim1, xtick, rangeRecWidth ) # add rectangle from min to max x: float = xtick - recWidth / 2.0 - y: float = mins[cellType] - recHeight: float = maxs[cellType] - mins[cellType] - ax.add_patch(Rectangle((x, y), recWidth, recHeight, - edgecolor = 'black', - fill=False, - lw=1)) + y: float = mins[ cellType ] + recHeight: float = maxs[ cellType ] - mins[ cellType ] + ax.add_patch( Rectangle( ( x, y ), recWidth, recHeight, edgecolor='black', fill=False, lw=1 ) ) # plot mean and error bars for std dev - ax.errorbar(xtick, means[cellType], yerr=stdDev[cellType], fmt='-o', color='k') + ax.errorbar( xtick, means[ cellType ], yerr=stdDev[ cellType ], fmt='-o', color='k' ) xtick += 1.0 # set y axis limits - ax.set_ylim(0.1*ylim0, 1.1*ylim1) + ax.set_ylim( 0.1 * ylim0, 1.1 * ylim1 ) # set x tick names - ax.set_xticks(xticks)#, xtickslabels, rotation=30, ha="right") - ax.set_xticklabels(xtickslabels, rotation=30, ha="right") - ax.set_xlabel("Cell types") - ax.set_title(f"{getQualityMeasureNameFromIndex(metricIndex)}") - - def _plotRangePatch(self: Self, - ax:Axes, - metricIndex:int, - cellType: int, - ylim0:float, - ylim1:float, - xtick: float, - rangeRecWidth: float - ) -> tuple[float, float]: + ax.set_xticks( xticks ) #, xtickslabels, rotation=30, ha="right") + ax.set_xticklabels( xtickslabels, rotation=30, ha="right" ) + ax.set_xlabel( "Cell types" ) + ax.set_title( f"{getQualityMeasureNameFromIndex(metricIndex)}" ) + + def _plotRangePatch( self: Self, ax: Axes, metricIndex: int, cellType: int, ylim0: float, ylim1: float, + xtick: float, rangeRecWidth: float ) -> tuple[ float, float ]: """Plot quality metric ranges. Args: @@ -520,27 +527,29 @@ def _plotRangePatch(self: Self, tuple[float, float]: tuple containing miny and max y """ try: - metric: MeshQualityMetricEnum = getQualityMetricFromIndex(metricIndex) - assert isinstance(metric, CellQualityMetricEnum), "Mesh quality metric is of wrong type." + metric: MeshQualityMetricEnum = getQualityMetricFromIndex( metricIndex ) + assert isinstance( metric, CellQualityMetricEnum ), "Mesh quality metric is of wrong type." # add quality range patches if relevant - qualityRange: QualityRange | None = metric.getQualityRange(cellType) + qualityRange: QualityRange | None = metric.getQualityRange( cellType ) if qualityRange is not None: - (ylim0, ylim1) = self._plotQualityRange(ax, qualityRange, xtick - rangeRecWidth / 2.0, (ylim0, ylim1), rangeRecWidth) + ( ylim0, ylim1 ) = self._plotQualityRange( ax, qualityRange, xtick - rangeRecWidth / 2.0, + ( ylim0, ylim1 ), rangeRecWidth ) else: # add white patch for tick alignment - ax.add_patch(Rectangle((xtick - rangeRecWidth / 2.0, 0.), rangeRecWidth, 1.0, - facecolor = 'w', fill=True,)) + ax.add_patch( + Rectangle( + ( xtick - rangeRecWidth / 2.0, 0. ), + rangeRecWidth, + 1.0, + facecolor='w', + fill=True, + ) ) except AssertionError as e: - print("Cell quality metric range cannot be displayed due to: ", e) - return (ylim0, ylim1) - - def _plotQualityRange(self: Self, - ax: Axes, - qualityRange: QualityRange, - x: float, - ylim: tuple[float, float], - rangeRecWidth: float - ) ->tuple[float, float]: + print( "Cell quality metric range cannot be displayed due to: ", e ) + return ( ylim0, ylim1 ) + + def _plotQualityRange( self: Self, ax: Axes, qualityRange: QualityRange, x: float, ylim: tuple[ float, float ], + rangeRecWidth: float ) -> tuple[ float, float ]: """Plot quality range patches. Args: @@ -553,20 +562,25 @@ def _plotQualityRange(self: Self, Returns: tuple[float, float]: y limits for updates """ - ylim0: float = ylim[0] - ylim1: float = ylim[1] - for k, (vmin, vmax) in enumerate((qualityRange.fullRange, qualityRange.normalRange, qualityRange.acceptableRange)): - if not np.isfinite(vmin): + ylim0: float = ylim[ 0 ] + ylim1: float = ylim[ 1 ] + for k, ( vmin, vmax ) in enumerate( + ( qualityRange.fullRange, qualityRange.normalRange, qualityRange.acceptableRange ) ): + if not np.isfinite( vmin ): vmin = -1e12 else: - ylim0 = min(ylim0, vmin) - if not np.isfinite(vmax): + ylim0 = min( ylim0, vmin ) + if not np.isfinite( vmax ): vmax = 1e12 else: - ylim1 = max(ylim1, vmax) + ylim1 = max( ylim1, vmax ) y: float = vmin recHeight = vmax - vmin - ax.add_patch(Rectangle((x, y), rangeRecWidth, recHeight, - facecolor = _RANGE_COLORS[k], - fill=True,)) - return (ylim0, ylim1) + ax.add_patch( Rectangle( + ( x, y ), + rangeRecWidth, + recHeight, + facecolor=_RANGE_COLORS[ k ], + fill=True, + ) ) + return ( ylim0, ylim1 ) diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index bad3ce4b..c02cb262 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -82,6 +82,7 @@ def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> i """ if port == 0: info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + return 1 def RequestDataObject( self: Self, diff --git a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py index d54b7b17..b51398a8 100644 --- a/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py +++ b/geos-mesh/src/geos/mesh/processing/meshQualityMetricHelpers.py @@ -7,10 +7,8 @@ from typing_extensions import Self from enum import Enum from vtkmodules.vtkFiltersVerdict import vtkMeshQuality -from vtkmodules.vtkCommonDataModel import ( - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON -) - +from vtkmodules.vtkCommonDataModel import ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, + VTK_POLYGON, VTK_POLYHEDRON ) __doc__ = """ Helpers for MeshQuality metrics. @@ -21,18 +19,22 @@ #: start index of other mesh quality metrics QUALITY_METRIC_OTHER_START_INDEX: int = 200 + @dataclass( frozen=True ) class QualityRange(): """Defines metric quality ranges.""" - acceptableRange: tuple[float, float] - normalRange: tuple[float, float] - fullRange: tuple[float, float] - -class MeshQualityMetricEnum(Enum): - def __init__(self: Self, - metricIndex: int, - name: str, - ) -> None: + acceptableRange: tuple[ float, float ] + normalRange: tuple[ float, float ] + fullRange: tuple[ float, float ] + + +class MeshQualityMetricEnum( Enum ): + + def __init__( + self: Self, + metricIndex: int, + name: str, + ) -> None: """Define the enumeration to add attributes to mesh quality measures. Args: @@ -41,10 +43,10 @@ def __init__(self: Self, applicableToCellTypes (tuple[bool, ...]): tuple defining for each cell type if the metric is applicable. """ - self.metricIndex: int = int(metricIndex) + self.metricIndex: int = int( metricIndex ) self.metricName: str = name - def getMetricIndex(self: Self) -> int: + def getMetricIndex( self: Self ) -> int: """Get metric index. Returns: @@ -52,7 +54,7 @@ def getMetricIndex(self: Self) -> int: """ return self.metricIndex - def getMetricName(self: Self) ->str: + def getMetricName( self: Self ) -> str: """Get metric name. Returns: @@ -60,13 +62,16 @@ def getMetricName(self: Self) ->str: """ return self.metricName -class CellQualityMetricEnum(MeshQualityMetricEnum): - def __init__(self: Self, - metricIndex: int, - name: str, - applicableToCellTypes: tuple[bool, ...], - qualityRanges: tuple[QualityRange | None,...], - ) -> None: + +class CellQualityMetricEnum( MeshQualityMetricEnum ): + + def __init__( + self: Self, + metricIndex: int, + name: str, + applicableToCellTypes: tuple[ bool, ...], + qualityRanges: tuple[ QualityRange | None, ...], + ) -> None: """Define the enumeration to add attributes to mesh quality measures. Args: @@ -77,23 +82,23 @@ def __init__(self: Self, qualityRanges (tuple[QualityRange | None,...]): quality range limits for each cell type starting from best to worst quality. """ - super().__init__(metricIndex, name) - self.applicableToCellTypes: tuple[bool] = applicableToCellTypes - self.qualityRanges: tuple[QualityRange | None,...] = qualityRanges + super().__init__( metricIndex, name ) + self.applicableToCellTypes: tuple[ bool, ...] = applicableToCellTypes + self.qualityRanges: tuple[ QualityRange | None, ...] = qualityRanges - def getApplicableCellTypes(self: Self) -> set[int]: + def getApplicableCellTypes( self: Self ) -> set[ int ]: """Get the list of cell type indexes the metric applies to. Returns: set[int]: set of cell type indexes """ cellTypes = set() - for i, cellType in enumerate(getAllCellTypes()): - if self.applicableToCellTypes[i]: - cellTypes.add(cellType) + for i, cellType in enumerate( getAllCellTypes() ): + if self.applicableToCellTypes[ i ]: + cellTypes.add( cellType ) return cellTypes - def isApplicableToCellType(self: Self, cellType: int) ->bool: + def isApplicableToCellType( self: Self, cellType: int ) -> bool: """Return True if the metric is applicable to input cell type, False otherwise. Args: @@ -103,18 +108,20 @@ def isApplicableToCellType(self: Self, cellType: int) ->bool: bool: True if the metric is applicable """ assert cellType in getAllCellTypesExtended(), f"Cell type index {cellType} not in supported cell types." - cellTypes: tuple[int] = (cellType,) + cellTypes: list[ int ] = [ + cellType, + ] if cellType == VTK_POLYGON: cellTypes = getPolygonCellTypes() if cellType == VTK_POLYHEDRON: cellTypes = getPolyhedronCellTypes() for cellType in cellTypes: - cellTypeIndex: int = getAllCellTypes().index(cellType) - if not self.applicableToCellTypes[cellTypeIndex]: + cellTypeIndex: int = getAllCellTypes().index( cellType ) + if not self.applicableToCellTypes[ cellTypeIndex ]: return False return True - def getQualityRange(self: Self, cellType: int) -> Optional[QualityRange]: + def getQualityRange( self: Self, cellType: int ) -> Optional[ QualityRange ]: """Get quality range for input cell type. Args: @@ -126,11 +133,12 @@ def getQualityRange(self: Self, cellType: int) -> Optional[QualityRange]: """ if cellType not in getAllCellTypes(): return None - cellTypeIndex: int = getAllCellTypes().index(cellType) - return self.qualityRanges[cellTypeIndex] + cellTypeIndex: int = getAllCellTypes().index( cellType ) + return self.qualityRanges[ cellTypeIndex ] + #: from https://vtk.org/doc/nightly/html/vtkMeshQuality_8h_source.html -class VtkCellQualityMetricEnum(CellQualityMetricEnum): +class VtkCellQualityMetricEnum( CellQualityMetricEnum ): """Cell quality metric enumeration. The order of boolean is the same as getAllCellTypes method: @@ -140,293 +148,301 @@ class VtkCellQualityMetricEnum(CellQualityMetricEnum): """ #: ratio of cell longest and shortest edge lengths - EDGE_RATIO = ( - vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, - "Edge Ratio", - (True, True, True, False, True, True), - (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, - QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)),) - ) + EDGE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, "Edge Ratio", ( True, True, True, False, True, True ), + ( + QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), + None, + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), + ) ) #: ratio of the maximum edge length to the inradius (for simplicial elements but adapted for quads). #: may be adapted for polyhedron other than tet by splitting the polyhedron in tet and computing the #: max of aspect ratio of all tet ASPECT_RATIO = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, "Aspect Ratio", - (True, True, True, False, False, False), - (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ( True, True, True, False, False, False ), + ( QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), + ( 1.0, np.inf ) ), QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), None, None, None ), ) #: ratio between the radius of the inscribed circle/sphere to the radius of the circum-circle/sphere #: normalized so that the ratio yields 1 for equilateral cell RADIUS_RATIO = ( vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, "Radius Ratio", - (True, True, True, False, False, False), - (QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ( True, True, True, False, False, False ), + ( QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), + ( 1.0, np.inf ) ), QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), None, None, None ), ) #: sum of the edge lengths squared divided by the area for triangles. Adapted for Tetrahedron. #: normalized so that equal to 1 when the element is equilateral triangle ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, "Aspect Frobenius", - (True, False, True, False, False, False), - (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None), + ( True, False, True, False, False, False ), + ( QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), + ( 1.0, np.inf ) ), None, QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), + ( 1.0, np.inf ) ), None, None, None ), ) #: median of Aspect Frobenius over all triangles of quads / tetrahedra of hexahedron - MEDIAN_ASPECT_FROBENIUS = ( - vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, - "Med Aspect Frobenius", - (False, True, False, False, False, True), - (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 3.0), (1.0, 3.0), (9.0, np.inf))) - ) + MEDIAN_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, "Med Aspect Frobenius", + ( False, True, False, False, False, True ), + ( None, QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), None, None, None, + QualityRange( ( 1.0, 3.0 ), ( 1.0, 3.0 ), ( 9.0, np.inf ) ) ) ) #: maximum of Aspect Frobenius over all triangles of Quads / tetrahedra of hexahedron - MAXIMUM_ASPECT_FROBENIUS = ( - vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, - "Maximum Aspect Frobenius", - (False, True, False, False, True, True), - (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf))) - ) + MAXIMUM_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MAX_ASPECT_FROBENIUS, "Maximum Aspect Frobenius", + ( False, True, False, False, True, True ), + ( None, QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), None, None, + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ) ) ) #: minimum angle between two neighboring edges for polygons / faces for tetrahedron. - MINIMUM_ANGLE = ( - vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, - "Minimum Angle (°)", - (True, True, True, False, False, False), - (QualityRange((30.0, 60.0), (0.0, 60.0), (0.0, 360.0)), QualityRange((45.0, 90.0), (0.0, 90.0), (0.0, 360.)), - QualityRange((40.0, 180./np.pi*np.arccos(1/3)), (0.0, 180./np.pi*np.arccos(1/3)), (0.0, 360.0)), None, None, None) - ) + MINIMUM_ANGLE = ( vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, "Minimum Angle (°)", ( True, True, True, False, + False, False ), + ( QualityRange( ( 30.0, 60.0 ), ( 0.0, 60.0 ), + ( 0.0, 360.0 ) ), QualityRange( ( 45.0, 90.0 ), ( 0.0, 90.0 ), ( 0.0, 360. ) ), + QualityRange( ( 40.0, 180. / np.pi * np.arccos( 1 / 3 ) ), + ( 0.0, 180. / np.pi * np.arccos( 1 / 3 ) ), ( 0.0, 360.0 ) ), None, None, None ) ) #: the smallest ratio of the height of a vertex above its opposing triangle to #: the longest edge of that opposing triangle across all vertices of the tetrahedron - COLLAPSE_RATIO = ( - vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, - "Collapse Ratio", - (False, False, True, False, False, False), - (None, None, QualityRange((0.1, 1.0), (0.0, np.inf), (0.0, np.inf)), None, None, None) - ) + COLLAPSE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.COLLAPSE_RATIO, "Collapse Ratio", ( False, False, True, False, + False, False ), + ( None, None, QualityRange( ( 0.1, 1.0 ), ( 0.0, np.inf ), + ( 0.0, np.inf ) ), None, None, None ) ) #: maximum angle between two neighboring edges for polygons / faces for tetrahedron. - MAXIMUM_ANGLE = ( - vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, - "Maximum Angle (°)", - (True, True, False, False, False, False), - (QualityRange((60., 90.0), (60.0, 180.0), (0.0, 180.0)), QualityRange((90.0, 135.0), (90.0, 360.0), (0.0, 360.)), None, None, None, None) - ) + MAXIMUM_ANGLE = ( vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, "Maximum Angle (°)", + ( True, True, False, False, False, False ), ( QualityRange( + ( 60., 90.0 ), ( 60.0, 180.0 ), + ( 0.0, 180.0 ) ), QualityRange( ( 90.0, 135.0 ), ( 90.0, 360.0 ), + ( 0.0, 360. ) ), None, None, None, None ) ) #: condition number of the weighted Jacobian matrix. CONDITION = ( vtkMeshQuality.QualityMeasureTypes.CONDITION, "Condition", - (True, True, True, False, True, True), - (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, - QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf)), QualityRange((1.0, 4.0), (1.0, 12.0), (1.0, np.inf))), + ( True, True, True, False, True, True ), + ( QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), + ( 1.0, np.inf ) ), QualityRange( ( 1.0, 4.0 ), ( 1.0, 12.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), + ( 1.0, np.inf ) ), None, QualityRange( ( 1.0, 4.0 ), ( 1.0, 12.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 4.0 ), ( 1.0, 12.0 ), ( 1.0, np.inf ) ) ), ) #: Jacobian divided by the product of the lengths of the longest edges #: normalized so that a unit equilateral triangle has value 1. SCALED_JACOBIAN = ( vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, "Scaled Jacobian", - (True, True, True, True, True, True), - (QualityRange((0.5, 2.0*np.sqrt(3)/3.0), (-2.0*np.sqrt(3)/3.0, 2.0*np.sqrt(3)/3.0), (-np.inf, np.inf)), QualityRange((0.30, 1.0), (-1.0, 1.0), (-1.0, np.inf)), - QualityRange((0.5, 0.5*np.sqrt(2)), (-0.5*np.sqrt(2), 0.5*np.sqrt(2)), (-np.inf, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), - QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)), QualityRange((0.50, 1.0), (-1.0, 1.0), (-1.0, np.inf)),), + ( True, True, True, True, True, True ), + ( + QualityRange( ( 0.5, 2.0 * np.sqrt( 3 ) / 3.0 ), ( -2.0 * np.sqrt( 3 ) / 3.0, 2.0 * np.sqrt( 3 ) / 3.0 ), + ( -np.inf, np.inf ) ), + QualityRange( ( 0.30, 1.0 ), ( -1.0, 1.0 ), ( -1.0, np.inf ) ), + QualityRange( ( 0.5, 0.5 * np.sqrt( 2 ) ), ( -0.5 * np.sqrt( 2 ), 0.5 * np.sqrt( 2 ) ), + ( -np.inf, np.inf ) ), + QualityRange( ( 0.50, 1.0 ), ( -1.0, 1.0 ), ( -1.0, np.inf ) ), + QualityRange( ( 0.50, 1.0 ), ( -1.0, 1.0 ), ( -1.0, np.inf ) ), + QualityRange( ( 0.50, 1.0 ), ( -1.0, 1.0 ), ( -1.0, np.inf ) ), + ), ) #: same as Scaled Jacobian - SHEAR = ( - vtkMeshQuality.QualityMeasureTypes.SHEAR, - "Shear", - (False, True, False, False, False, True), - (None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.3, 0.6), (0.0, 1.0), (0.0, 1.0)))) + SHEAR = ( vtkMeshQuality.QualityMeasureTypes.SHEAR, "Shear", ( False, True, False, False, False, True ), + ( None, QualityRange( ( 0.3, 0.6 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), None, None, None, + QualityRange( ( 0.3, 0.6 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ) ) ) #: the minimum of the ratio of cell area/volume to the average area/volume of an ensemble of cells and its inverse. RELATIVE_SIZE_SQUARED = ( vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, "Relative Size Squared", - (True, True, True, False, False, True), - (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.6), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.50), (0.0, 1.0), (0.0, 1.0)), None, None, QualityRange((0.50, 1.0), (0.0, 1.0), (0.0, 1.0))), + ( True, True, True, False, False, True ), + ( QualityRange( ( 0.25, 0.50 ), ( 0.0, 1.0 ), + ( 0.0, 1.0 ) ), QualityRange( ( 0.30, 0.6 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.50 ), ( 0.0, 1.0 ), + ( 0.0, 1.0 ) ), None, None, QualityRange( ( 0.50, 1.0 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ) ), ) #: inverse of Condition (Polygons) / Jacobian ratio SHAPE = ( vtkMeshQuality.QualityMeasureTypes.SHAPE, "Shape", - (True, True, True, True, True, True), - (QualityRange((0.25, 0.50), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), - QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.30, 0.60), (0.0, 1.0), (0.0, 1.0)),), + ( True, True, True, True, True, True ), + ( + QualityRange( ( 0.25, 0.50 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.60 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.60 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.60 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.60 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.30, 0.60 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + ), ) #: relative size squared times shape SHAPE_AND_SIZE = ( vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE, "Shape And Size", - (True, True, True, False, False, True), - (QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), - QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.20, 0.4), (0.0, 1.0), (0.0, 1.0)),), + ( True, True, True, False, False, True ), + ( + QualityRange( ( 0.25, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.20, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.20, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.20, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.20, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.20, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + ), ) #: measure of how well-behaved the mapping from parameter space to world coordinates is. ratio of the #: minimum of Jacobian determinant to cell area/volume DISTORTION = ( vtkMeshQuality.QualityMeasureTypes.DISTORTION, "Distortion", - (True, True, True, False, True, True), - (QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), None, - QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)), QualityRange((0.5, 1.0), (0.0, 1.0), (-np.inf, np.inf)),), + ( True, True, True, False, True, True ), + ( + QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( -np.inf, np.inf ) ), + None, + QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( -np.inf, np.inf ) ), + ), ) #: maximum of edge ratio over all triangles of the cell - MAXIMUM_EDGE_RATIO = ( - vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, - "Maximum Edge Ratio", - (False, True, False, False, False, True), - (None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), None, None, None, QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf))) - ) + MAXIMUM_EDGE_RATIO = ( vtkMeshQuality.QualityMeasureTypes.MAX_EDGE_RATIO, "Maximum Edge Ratio", + ( False, True, False, False, False, True ), + ( None, QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), None, None, None, + QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ) ) ) #: measures the angle (absolute value of the cosine) between the principal axes. - SKEW = ( - vtkMeshQuality.QualityMeasureTypes.SKEW, - "Skew", - (False, True, False, False, False, True), - (None, QualityRange((0.5, 1.0), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0))) - ) + SKEW = ( vtkMeshQuality.QualityMeasureTypes.SKEW, "Skew", ( False, True, False, False, False, True ), + ( None, QualityRange( ( 0.5, 1.0 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), None, None, None, + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ) ) ) #: maximum ratio of cross derivative magnitude to principal axis magnitude - TAPER = ( - vtkMeshQuality.QualityMeasureTypes.TAPER, - "Taper", - (False, True, False, False, False, True), - (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf))) - ) + TAPER = ( vtkMeshQuality.QualityMeasureTypes.TAPER, "Taper", ( False, True, False, False, False, True ), + ( None, QualityRange( ( 0.0, 0.7 ), ( 0.0, 2.0 ), ( 0.0, np.inf ) ), None, None, None, + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.5 ), ( 0.0, np.inf ) ) ) ) #: polyhedron volume VOLUME = ( vtkMeshQuality.QualityMeasureTypes.VOLUME, "Volume (m3)", - (False, False, True, True, True, True), - (None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), - QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf))), + ( False, False, True, True, True, True ), + ( None, None, QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), + ( -np.inf, np.inf ) ), QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ) ), ) #: ratio of minimum edge length to longest diagonal length - STRETCH = ( - vtkMeshQuality.QualityMeasureTypes.STRETCH, - "Stretch", - (False, True, False, False, False, True), - (None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf))) - ) + STRETCH = ( vtkMeshQuality.QualityMeasureTypes.STRETCH, "Stretch", ( False, True, False, False, False, True ), + ( None, QualityRange( ( 0.25, 0.5 ), ( 0.0, 1.0 ), ( 0.0, np.inf ) ), None, None, None, + QualityRange( ( 0.25, 0.5 ), ( 0.0, 1.0 ), ( 0.0, np.inf ) ) ) ) #: ratio of the minimum diagonal length to the maximum diagonal length - DIAGONAL = ( - vtkMeshQuality.QualityMeasureTypes.DIAGONAL, - "Diagonal", - (False, False, False, False, False, True), - (None, None, None, None, None, QualityRange((0.65, 1.0), (0.0, 1.0), (0.0, np.inf)),) - ) + DIAGONAL = ( vtkMeshQuality.QualityMeasureTypes.DIAGONAL, "Diagonal", ( False, False, False, False, False, True ), ( + None, + None, + None, + None, + None, + QualityRange( ( 0.65, 1.0 ), ( 0.0, 1.0 ), ( 0.0, np.inf ) ), + ) ) # ratio of cell volume to the gradient (divergence?) of cell volumes at the cell. Acceptable range is application dependent. - DIMENSION = ( - vtkMeshQuality.QualityMeasureTypes.DIMENSION, - "Dimension (m)", - (False, False, False, False, False, True), - (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf)),) - ) + DIMENSION = ( vtkMeshQuality.QualityMeasureTypes.DIMENSION, "Dimension (m)", + ( False, False, False, False, False, True ), ( + None, + None, + None, + None, + None, + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( 0.0, np.inf ) ), + ) ) #: measures the maximum deviation of the metric tensor at the corners of the quadrilateral. Maximum of oddy for hexahedron. - ODDY = ( - vtkMeshQuality.QualityMeasureTypes.ODDY, - "Oddy", - (False, True, False, False, False, True), - (None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)), None, None, None, QualityRange((0.0, 0.5), (0.0, 1.5), (0.0, np.inf)),) - ) + ODDY = ( vtkMeshQuality.QualityMeasureTypes.ODDY, "Oddy", ( False, True, False, False, False, True ), ( + None, + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.5 ), ( 0.0, np.inf ) ), + None, + None, + None, + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.5 ), ( 0.0, np.inf ) ), + ) ) #: relative size squared times shear - SHEAR_AND_SIZE = ( - vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, - "Shear And Size", - (False, True, False, False, False, True), - (None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0)), None, None, None, QualityRange((0.2, 0.4), (0.0, 1.0), (0.0, 1.0))) - ) + SHEAR_AND_SIZE = ( vtkMeshQuality.QualityMeasureTypes.SHEAR_AND_SIZE, "Shear And Size", ( False, True, False, False, + False, True ), + ( None, QualityRange( ( 0.2, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), None, None, None, + QualityRange( ( 0.2, 0.4 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ) ) ) #: minimum determinant of the Jacobian matrix evaluated at each corner and the center of the element - JACOBIAN = ( - vtkMeshQuality.QualityMeasureTypes.JACOBIAN, - "Jacobian", - (False, True, True, True, True, True), - (None, QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), - QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)),) - ) + JACOBIAN = ( vtkMeshQuality.QualityMeasureTypes.JACOBIAN, "Jacobian", ( False, True, True, True, True, True ), ( + None, + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), ( -np.inf, np.inf ) ), + ) ) #: the cosine of the minimum dihedral angle formed by planes intersecting in diagonals (to the fourth power) - WARPAGE = ( - vtkMeshQuality.QualityMeasureTypes.WARPAGE, - "Warpage", - (False, True, False, False, False, False), - (None, QualityRange((0.0, 0.7), (0.0, 2.0), (0.0, np.inf)), None, None, None, None) - ) + WARPAGE = ( vtkMeshQuality.QualityMeasureTypes.WARPAGE, "Warpage", ( False, True, False, False, False, False ), + ( None, QualityRange( ( 0.0, 0.7 ), ( 0.0, 2.0 ), ( 0.0, np.inf ) ), None, None, None, None ) ) #: ratio of root-mean-square edge length to volume. #: normalizing the metric to a value of 1 for equilateral tetrahedra - ASPECT_GAMMA = ( - vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, - "Aspect Gamma", - (False, False, True, False, False, False), - (None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (0.0, np.inf)), None, None, None) - ) + ASPECT_GAMMA = ( vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, "Aspect Gamma", ( False, False, True, False, + False, False ), + ( None, None, QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 0.0, np.inf ) ), None, None, None ) ) #: polygon area AREA = ( vtkMeshQuality.QualityMeasureTypes.AREA, "Area (m2)", - (True, True, False, False, False, False), - (QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), QualityRange((0.0, np.inf), (0.0, np.inf), (-np.inf, np.inf)), None, None, None, None), + ( True, True, False, False, False, False ), + ( QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), + ( -np.inf, np.inf ) ), QualityRange( ( 0.0, np.inf ), ( 0.0, np.inf ), + ( -np.inf, np.inf ) ), None, None, None, None ), ) #: maximum of ratio of angular deviation from ideal element - EQUIANGLE_SKEW = ( - vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, - "Equiangle Skew", - (True, True, True, True, True, True), - (QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), - QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)), QualityRange((0.0, 0.5), (0.0, 1.0), (0.0, 1.0)),) - ) + EQUIANGLE_SKEW = ( vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, "Equiangle Skew", + ( True, True, True, True, True, True ), ( + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + QualityRange( ( 0.0, 0.5 ), ( 0.0, 1.0 ), ( 0.0, 1.0 ) ), + ) ) #: maximum of ratio of volume deviation from ideal element - EQUIVOLUME_SKEW = ( - vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, - "Equivolume Skew", - (False, False, True, False, False, False), - (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) - ) + EQUIVOLUME_SKEW = ( vtkMeshQuality.QualityMeasureTypes.EQUIVOLUME_SKEW, "Equivolume Skew", ( False, False, True, + False, False, False ), + ( None, None, QualityRange( ( 0.0, 0.3 ), ( 0.0, 0.9 ), ( 0.0, 1.0 ) ), None, None, None ) ) #: maximum stretch over tetrahedra - MAXIMUM_STRETCH = ( - vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, - "Maximum Stretch", - (False, False, False, False, True, False), - (None, None, None, None, QualityRange((0.25, 0.5), (0.0, 1.0), (0.0, np.inf)), None) - ) + MAXIMUM_STRETCH = ( vtkMeshQuality.QualityMeasureTypes.MAX_STRETCH, "Maximum Stretch", + ( False, False, False, False, True, False ), ( None, None, None, None, + QualityRange( ( 0.25, 0.5 ), ( 0.0, 1.0 ), + ( 0.0, np.inf ) ), None ) ) #: mean of Aspect Frobenius over all triangles of Quads / tetrahedra of hexahedron - MEAN_ASPECT_FROBENIUS = ( - vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, - "Mean Aspect Frobenius", - (False, False, False, False, True, False), - (None, None, None, None, QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None) - ) + MEAN_ASPECT_FROBENIUS = ( vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, "Mean Aspect Frobenius", + ( False, False, False, False, True, False ), ( None, None, None, None, + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), + ( 1.0, np.inf ) ), None ) ) #: ratio of tetrahedron volume over the volume of an equilateral tetrahedron with the same root mean squared edge length - MEAN_RATIO = ( - vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, - "Mean Ratio", - (False, False, True, False, False, False), - (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) - ) + MEAN_RATIO = ( vtkMeshQuality.QualityMeasureTypes.MEAN_RATIO, "Mean Ratio", + ( False, False, True, False, False, False ), ( None, None, + QualityRange( ( 0.0, 0.3 ), ( 0.0, 0.9 ), + ( 0.0, 1.0 ) ), None, None, None ) ) #: ratio between the largest and smallest Jacobian determinant value - NODAL_JACOBIAN_RATIO = ( - vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, - "Nodal Jacobian Ratio", - (False, False, False, False, False, True), - (None, None, None, None, None, QualityRange((0.0, np.inf), (0.0, np.inf), (0.0, np.inf))) - ) + NODAL_JACOBIAN_RATIO = ( vtkMeshQuality.QualityMeasureTypes.NODAL_JACOBIAN_RATIO, "Nodal Jacobian Ratio", + ( False, False, False, False, False, True ), ( None, None, None, None, None, + QualityRange( ( 0.0, np.inf ), + ( 0.0, np.inf ), + ( 0.0, np.inf ) ) ) ) #: ratio of the minimum sub-triangle inner radius to the outer triangle radius - NORMALIZED_INRADIUS = ( - vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, - "Normalized Inradius", - (True, False, True, False, False, False), - (QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, QualityRange((0.15, 0.5), (-1.0, 1.0), (-1.0, 1.0)), None, None, None) - ) + NORMALIZED_INRADIUS = ( vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, "Normalized Inradius", + ( True, False, True, False, False, False ), ( QualityRange( + ( 0.15, 0.5 ), ( -1.0, 1.0 ), + ( -1.0, 1.0 ) ), None, QualityRange( ( 0.15, 0.5 ), ( -1.0, 1.0 ), + ( -1.0, 1.0 ) ), None, None, None ) ) #: measure used to quantify how far a cell deviates from orthogonality with respect to its face #: maximum of sinus of the angle between the vector from polyhedron center and face center and face normal #: yields 0 if vectors are parallel, 1 if they are orthogonal - SQUISH_INDEX = ( - vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, - "Squish Index", - (False, False, True, True, True, True), - (None, None, QualityRange((0.0, 0.3), (0.0, 0.9), (0.0, 1.0)), None, None, None) - ) + SQUISH_INDEX = ( vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, "Squish Index", + ( False, False, True, True, True, True ), ( None, None, + QualityRange( ( 0.0, 0.3 ), ( 0.0, 0.9 ), + ( 0.0, 1.0 ) ), None, None, None ) ) #: no metric - NONE = ( - vtkMeshQuality.QualityMeasureTypes.NONE, - "None", - (False, False, False, False, False, False), - (None, None, None, None, None, None) - ) + NONE = ( vtkMeshQuality.QualityMeasureTypes.NONE, "None", ( False, False, False, False, False, False ), + ( None, None, None, None, None, None ) ) -class CellQualityMetricAdditionalEnum(CellQualityMetricEnum): + +class CellQualityMetricAdditionalEnum( CellQualityMetricEnum ): """Additional cell quality metric enumeration. The order of boolean is the same as getAllCellTypes method: @@ -440,32 +456,35 @@ class CellQualityMetricAdditionalEnum(CellQualityMetricEnum): MAXIMUM_ASPECT_RATIO = ( 100, "Maximum Aspect Ratio", - (False, False, False, True, True, True), - (QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), QualityRange((1.0, 1.3), (1.0, 3.0), (1.0, np.inf)), - QualityRange((1.0, 3.0), (1.0, 9.0), (1.0, np.inf)), None, None, None), + ( False, False, False, True, True, True ), + ( QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), + ( 1.0, np.inf ) ), QualityRange( ( 1.0, 1.3 ), ( 1.0, 3.0 ), ( 1.0, np.inf ) ), + QualityRange( ( 1.0, 3.0 ), ( 1.0, 9.0 ), ( 1.0, np.inf ) ), None, None, None ), ) # other metrics can be defined the same way such as RADIUS_RATIO, EDGE_RATIO, ASPECT_GAMMA, EQUIVOLUME_SKEW, # NORMALIZED_INRADIUS, (MAXIMUM_)ASPECT_FROBENIUS for pyramids, (MAXIMUM_)STRETCH for pyramids -class QualityMetricOtherEnum(MeshQualityMetricEnum): + +class QualityMetricOtherEnum( MeshQualityMetricEnum ): """Additional metrics that apply to the mesh, not to specific cell type. Metric index starts at 200 to prevent from conflicts with other metrics and is incremented in the order of the enumeration. """ #: number of incident edges for each vertex - INCIDENT_VERTEX_COUNT = (200, "Incident Vertex Count") + INCIDENT_VERTEX_COUNT = ( 200, "Incident Vertex Count" ) -def getAllCellTypesExtended() -> list[int]: +def getAllCellTypesExtended() -> list[ int ]: """Get all cell type ids. Returns: tuple[int,...]: tuple containing cell type ids. """ - return getPolygonCellTypes() + getPolyhedronCellTypes() + [VTK_POLYGON, VTK_POLYHEDRON] + return getPolygonCellTypes() + getPolyhedronCellTypes() + [ VTK_POLYGON, VTK_POLYHEDRON ] -def getAllCellTypes() -> list[int]: + +def getAllCellTypes() -> list[ int ]: """Get all cell type ids. Returns: @@ -473,7 +492,8 @@ def getAllCellTypes() -> list[int]: """ return getPolygonCellTypes() + getPolyhedronCellTypes() -def getChildrenCellTypes(parent: int) -> list[int]: + +def getChildrenCellTypes( parent: int ) -> list[ int ]: """Get children cell type ids from parent id. Returns: @@ -484,25 +504,28 @@ def getChildrenCellTypes(parent: int) -> list[int]: elif parent == VTK_POLYHEDRON: return getPolyhedronCellTypes() else: - raise ValueError(f"Cell type {parent} is not supported.") + raise ValueError( f"Cell type {parent} is not supported." ) -def getPolygonCellTypes() -> list[int]: + +def getPolygonCellTypes() -> list[ int ]: """Get polygonal cell type ids. Returns: tuple[int,...]: tuple containing cell type ids. """ - return [VTK_TRIANGLE, VTK_QUAD] + return [ VTK_TRIANGLE, VTK_QUAD ] + -def getPolyhedronCellTypes() -> list[int]: +def getPolyhedronCellTypes() -> list[ int ]: """Get polyhedra cell type ids. Returns: tuple[int,...]: tuple containing cell type ids. """ - return [VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON] + return [ VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ] + -def getQualityMetricFromIndex(metricIndex: int) -> Optional[MeshQualityMetricEnum]: +def getQualityMetricFromIndex( metricIndex: int ) -> Optional[ MeshQualityMetricEnum ]: """Get quality metric from its index. Args: @@ -515,28 +538,30 @@ def getQualityMetricFromIndex(metricIndex: int) -> Optional[MeshQualityMetricEnu MeshQualityMetricEnum | None: quality metric """ if metricIndex < CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX: - return list(VtkCellQualityMetricEnum)[metricIndex] + return list( VtkCellQualityMetricEnum )[ metricIndex ] elif metricIndex < QUALITY_METRIC_OTHER_START_INDEX: - return list(CellQualityMetricAdditionalEnum)[metricIndex - CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX] - elif metricIndex < QUALITY_METRIC_OTHER_START_INDEX + len(list(QualityMetricOtherEnum)): - return list(QualityMetricOtherEnum)[metricIndex - QUALITY_METRIC_OTHER_START_INDEX] + return list( CellQualityMetricAdditionalEnum )[ metricIndex - CELL_QUALITY_METRIC_ADDITIONAL_START_INDEX ] + elif metricIndex < QUALITY_METRIC_OTHER_START_INDEX + len( list( QualityMetricOtherEnum ) ): + return list( QualityMetricOtherEnum )[ metricIndex - QUALITY_METRIC_OTHER_START_INDEX ] return None -def getQualityMeasureNameFromIndex(metricIndex: int) ->str: + +def getQualityMeasureNameFromIndex( metricIndex: int ) -> Optional[ str ]: """Get quality metric name from index. Args: metricIndex (int): index of quality measure Returns: - str: name of quality measure + str | None: name of quality measure. Returns None if metricIndex is undefined. """ - metric = getQualityMetricFromIndex(metricIndex) + metric = getQualityMetricFromIndex( metricIndex ) if metric is None: return None return metric.getMetricName() -def getQualityMeasureIndexFromName(name: str) ->int: + +def getQualityMeasureIndexFromName( name: str ) -> int: """Get quality metric index from name. Args: @@ -545,101 +570,117 @@ def getQualityMeasureIndexFromName(name: str) ->int: Returns: int: index of quality measure """ - for metric in list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum) + list(QualityMetricOtherEnum): + for metric in list( VtkCellQualityMetricEnum ) + list( CellQualityMetricAdditionalEnum ) + list( + QualityMetricOtherEnum ): if metric.getMetricName() == name: return metric.getMetricIndex() - return "" + return int( vtkMeshQuality.QualityMeasureTypes.NONE ) -def getCellQualityMeasureFromCellType(cellType: int) -> set[int]: + +def getCellQualityMeasureFromCellType( cellType: int ) -> set[ int ]: """Get the indexes of mesh quality metrics defined for triangles. Returns: set[int]: set of possible indexes. """ if cellType not in getAllCellTypesExtended(): - raise ValueError(f"Cell type {cellType} not in supported cell types {getAllCellTypesExtended()}.") - return {metric.metricIndex for metric in list(VtkCellQualityMetricEnum) + list(CellQualityMetricAdditionalEnum) if metric.isApplicableToCellType(cellType)} + raise ValueError( f"Cell type {cellType} not in supported cell types {getAllCellTypesExtended()}." ) + return { + metric.metricIndex + for metric in list( VtkCellQualityMetricEnum ) + list( CellQualityMetricAdditionalEnum ) + if metric.isApplicableToCellType( cellType ) + } + -def getTriangleQualityMeasure() -> set[int]: +def getTriangleQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for triangles. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_TRIANGLE) + return getCellQualityMeasureFromCellType( VTK_TRIANGLE ) -def getQuadQualityMeasure() -> set[int]: + +def getQuadQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for quads. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_QUAD) + return getCellQualityMeasureFromCellType( VTK_QUAD ) + -def getCommonPolygonQualityMeasure() -> set[int]: +def getCommonPolygonQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for both triangles and quads. Returns: set[int]: set of possible indexes. """ - triangleMetrics: set[int] = getTriangleQualityMeasure() - quadMetrics: set[int] = getQuadQualityMeasure() - return triangleMetrics.intersection(quadMetrics) + triangleMetrics: set[ int ] = getTriangleQualityMeasure() + quadMetrics: set[ int ] = getQuadQualityMeasure() + return triangleMetrics.intersection( quadMetrics ) + -def getTetQualityMeasure() -> set[int]: +def getTetQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for quads. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_TETRA) + return getCellQualityMeasureFromCellType( VTK_TETRA ) -def getPyramidQualityMeasure() -> set[int]: + +def getPyramidQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for quads. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_PYRAMID) + return getCellQualityMeasureFromCellType( VTK_PYRAMID ) + -def getWedgeQualityMeasure() -> set[int]: +def getWedgeQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for quads. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_WEDGE) + return getCellQualityMeasureFromCellType( VTK_WEDGE ) + -def getHexQualityMeasure() -> set[int]: +def getHexQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for quads. Returns: set[int]: set of possible indexes. """ - return getCellQualityMeasureFromCellType(VTK_HEXAHEDRON) + return getCellQualityMeasureFromCellType( VTK_HEXAHEDRON ) -def getCommonPolyhedraQualityMeasure() -> set[int]: + +def getCommonPolyhedraQualityMeasure() -> set[ int ]: """Get the indexes of mesh quality metrics defined for both triangles and quads. Returns: set[int]: set of possible indexes. """ - tetMetrics: set[int] = getTetQualityMeasure() - pyrMetrics: set[int] = getPyramidQualityMeasure() - wedgeMetrics: set[int] = getWedgeQualityMeasure() - hexMetrics: set[int] = getHexQualityMeasure() - return tetMetrics.intersection(pyrMetrics).intersection(wedgeMetrics).intersection(hexMetrics) + tetMetrics: set[ int ] = getTetQualityMeasure() + pyrMetrics: set[ int ] = getPyramidQualityMeasure() + wedgeMetrics: set[ int ] = getWedgeQualityMeasure() + hexMetrics: set[ int ] = getHexQualityMeasure() + return tetMetrics.intersection( pyrMetrics ).intersection( wedgeMetrics ).intersection( hexMetrics ) + -def getQualityMetricsOther() ->set[int]: +def getQualityMetricsOther() -> set[ int ]: """Get the set of indexes of other mesh quality metric. Returns: set[int]: other mesh quality metric indexes """ - return {metric.getMetricIndex() for metric in list(QualityMetricOtherEnum)} + return { metric.getMetricIndex() for metric in list( QualityMetricOtherEnum ) } + #: dictionary of cell quality metrics set from cell type -cellQualityMetricsFromCellType: dict[int, set[int]] = { +cellQualityMetricsFromCellType: dict[ int, set[ int ] ] = { VTK_TRIANGLE: getTriangleQualityMeasure(), VTK_QUAD: getQuadQualityMeasure(), VTK_TETRA: getTetQualityMeasure(), diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py index cf3d8dfe..3efae5d9 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounterEnhanced.py @@ -8,8 +8,7 @@ vtkInformationVector, vtkIntArray, ) -from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCell, vtkTable, vtkCellTypes, VTK_VERTEX, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCell, vtkTable, vtkCellTypes, VTK_VERTEX ) from geos.mesh.model.CellTypeCounts import CellTypeCounts from geos.mesh.processing.meshQualityMetricHelpers import getAllCellTypes diff --git a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py index e179a992..d21cc872 100644 --- a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py +++ b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py @@ -19,19 +19,10 @@ vtkIdTypeArray, vtkMath, ) -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkPolyData, - vtkCellData, - vtkPointData, - vtkFieldData, - vtkCell, - vtkCell3D, - vtkTetra, - vtkCellTypes, - vtkPolygon, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkPolyData, vtkCellData, vtkPointData, vtkFieldData, + vtkCell, vtkCell3D, vtkTetra, vtkCellTypes, vtkPolygon, VTK_TRIANGLE, + VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, + VTK_POLYHEDRON ) from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced @@ -45,6 +36,7 @@ VtkCellQualityMetricEnum, CellQualityMetricAdditionalEnum, QualityMetricOtherEnum, + MeshQualityMetricEnum, getAllCellTypesExtended, getAllCellTypes, getPolygonCellTypes, @@ -67,7 +59,7 @@ .. code-block:: python from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced - + # filter inputs input :vtkUnstructuredGrid @@ -75,16 +67,26 @@ filter :MeshQualityEnhanced = MeshQualityEnhanced() # set input data object filter.SetInputDataObject(input) + # set metrics to use + filter.SetTriangleMetrics(triangleQualityMetrics) + filter.SetQuadMetrics(quadQualityMetrics) + filter.SetTetraMetrics(tetraQualityMetrics) + filter.SetPyramidMetrics(pyramidQualityMetrics) + filter.SetWedgeMetrics(wedgeQualityMetrics) + filter.SetHexaMetrics(hexaQualityMetrics) + filter.SetOtherMeshQualityMetrics(otherQualityMetrics) # do calculations filter.Update() # get output mesh quality report - output :MeshQualityReport = filter.GetMeshQualityReport() + outputMesh: vtkUnstructuredGrid = filter.GetOutputDataObject(0) + outputStats: QualityMetricSummary = filter.GetQualityMetricSummary() """ #: name of output quality array from vtkMeshQuality filter -QUALITY_ARRAY_NAME:str = "Quality" +QUALITY_ARRAY_NAME: str = "Quality" + -def getQualityMetricArrayName(metric: int) ->str: +def getQualityMetricArrayName( metric: int ) -> str: """Get the name of the array from quality metric index. Args: @@ -93,17 +95,19 @@ def getQualityMetricArrayName(metric: int) ->str: Returns: str: name of output array """ - return QUALITY_ARRAY_NAME + "_" + "".join(getQualityMeasureNameFromIndex(metric).split(" ")) + return QUALITY_ARRAY_NAME + "_" + "".join( getQualityMeasureNameFromIndex( metric ).split( " " ) ) -class MeshQualityEnhanced(VTKPythonAlgorithmBase): - def __init__(self: Self) ->None: + +class MeshQualityEnhanced( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Enhanced vtkMeshQuality filter.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) self._outputMesh: vtkUnstructuredGrid self._cellCounts: CellTypeCounts self._qualityMetricSummary: QualityMetricSummary = QualityMetricSummary() - self._MetricsAll: dict[Optional[set[int]]] = { + self._MetricsAll: dict[ int, Optional[ set[ int ] ] ] = { VTK_TRIANGLE: None, VTK_QUAD: None, VTK_TETRA: None, @@ -111,15 +115,15 @@ def __init__(self: Self) ->None: VTK_WEDGE: None, VTK_HEXAHEDRON: None, } - self._otherMetrics: Optional[set[QualityMetricOtherEnum]] = None + self._otherMetrics: Optional[ set[ QualityMetricOtherEnum ] ] = None # for each cell, save cell type for later use - self._cellTypeMask: dict[int, npt.NDArray[np.bool_]] = {} + self._cellTypeMask: dict[ int, npt.NDArray[ np.bool_ ] ] = {} # static members that can be loaded once to save computational times - self._allCellTypesExtended: tuple[int,...] = getAllCellTypesExtended() - self._allCellTypes: tuple[int,...] = getAllCellTypes() + self._allCellTypesExtended: tuple[ int, ...] = getAllCellTypesExtended() + self._allCellTypes: tuple[ int, ...] = getAllCellTypes() - def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> int: + def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestInformation. Args: @@ -130,7 +134,8 @@ def FillInputPortInformation(self: Self, port: int, info: vtkInformation ) -> in int: 1 if calculation successfully ended, 0 otherwise. """ if port == 0: - info.Set(self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid") + info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + return 1 def RequestDataObject( self: Self, @@ -156,7 +161,7 @@ def RequestDataObject( outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) return super().RequestDataObject( request, inInfoVec, outInfoVec ) # type: ignore[no-any-return] - def GetQualityMetricSummary(self :Self)-> QualityMetricSummary: + def GetQualityMetricSummary( self: Self ) -> QualityMetricSummary: """Get QualityMetricSummary object. Returns: @@ -164,62 +169,63 @@ def GetQualityMetricSummary(self :Self)-> QualityMetricSummary: """ return self._qualityMetricSummary - def SetTriangleMetrics(self :Self, metrics: Optional[set[int]]) -> None: + def SetTriangleMetrics( self: Self, metrics: Optional[ set[ int ] ] ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_TRIANGLE] = metrics + self._MetricsAll[ VTK_TRIANGLE ] = metrics - def SetQuadMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + def SetQuadMetrics( self: Self, metrics: Optional[ set[ int ] ] = None ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_QUAD] = metrics + self._MetricsAll[ VTK_QUAD ] = metrics - def SetTetraMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + def SetTetraMetrics( self: Self, metrics: Optional[ set[ int ] ] = None ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_TETRA] = metrics + self._MetricsAll[ VTK_TETRA ] = metrics - def SetPyramidMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + def SetPyramidMetrics( self: Self, metrics: Optional[ set[ int ] ] = None ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_PYRAMID] = metrics + self._MetricsAll[ VTK_PYRAMID ] = metrics - def SetWedgeMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + def SetWedgeMetrics( self: Self, metrics: Optional[ set[ int ] ] = None ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_WEDGE] = metrics + self._MetricsAll[ VTK_WEDGE ] = metrics - def SetHexaMetrics(self :Self, metrics: Optional[set[int]] = None) -> None: + def SetHexaMetrics( self: Self, metrics: Optional[ set[ int ] ] = None ) -> None: """Set triangle quality metrics to compute. Args: metrics (Iterable[int]): metrics to compute """ - self._MetricsAll[VTK_HEXAHEDRON] = metrics - - def SetCellQualityMetrics(self :Self, - triangleMetrics: Optional[set[int]] = None, - quadMetrics: Optional[set[int]] = None, - tetraMetrics: Optional[set[int]] = None, - pyramidMetrics: Optional[set[int]] = None, - wedgeMetrics: Optional[set[int]] = None, - hexaMetrics: Optional[set[int]] = None, - ) -> None: + self._MetricsAll[ VTK_HEXAHEDRON ] = metrics + + def SetCellQualityMetrics( + self: Self, + triangleMetrics: Optional[ set[ int ] ] = None, + quadMetrics: Optional[ set[ int ] ] = None, + tetraMetrics: Optional[ set[ int ] ] = None, + pyramidMetrics: Optional[ set[ int ] ] = None, + wedgeMetrics: Optional[ set[ int ] ] = None, + hexaMetrics: Optional[ set[ int ] ] = None, + ) -> None: """Set all quality metrics to compute. Args: @@ -242,25 +248,25 @@ def SetCellQualityMetrics(self :Self, Defaults to [vtkMeshQuality.QualityMeasureTypes.NONE,]. """ - self.SetTriangleMetrics(triangleMetrics) - self.SetQuadMetrics(quadMetrics) - self.SetTetraMetrics(tetraMetrics) - self.SetPyramidMetrics(pyramidMetrics) - self.SetWedgeMetrics(wedgeMetrics) - self.SetHexaMetrics(hexaMetrics) - - def SetOtherMeshQualityMetrics(self: Self, metrics: set[QualityMetricOtherEnum]) ->None: + self.SetTriangleMetrics( triangleMetrics ) + self.SetQuadMetrics( quadMetrics ) + self.SetTetraMetrics( tetraMetrics ) + self.SetPyramidMetrics( pyramidMetrics ) + self.SetWedgeMetrics( wedgeMetrics ) + self.SetHexaMetrics( hexaMetrics ) + + def SetOtherMeshQualityMetrics( self: Self, metrics: set[ QualityMetricOtherEnum ] ) -> None: """Set additional metrics unrelated to cell types. Args: metrics (set[QualityMetricOtherEnum]): set of QualityMetricOtherEnum """ - if len(metrics) > 0: + if len( metrics ) > 0: self._otherMetrics = metrics else: self._otherMetrics = None - def getComputedMetricsFromCellType(self: Self, cellType: int) -> Optional[set[int]]: + def getComputedMetricsFromCellType( self: Self, cellType: int ) -> Optional[ set[ int ] ]: """Get the set of metrics computed for input cell type. Args: @@ -271,23 +277,26 @@ def getComputedMetricsFromCellType(self: Self, cellType: int) -> Optional[set[in """ # child cell type if cellType in self._allCellTypes: - return self._MetricsAll[cellType] + return self._MetricsAll[ cellType ] # for parent cell types, gather children metrics - metrics: Optional[set[int]] = getCellQualityMeasureFromCellType(cellType) + metrics: set[ int ] | None = getCellQualityMeasureFromCellType( cellType ) + if metrics is None: + return None commonComputedMetricsExists: bool = False - for cellTypeChild in getChildrenCellTypes(cellType): - computedMetrics: set[int] = self._MetricsAll[cellTypeChild] + for cellTypeChild in getChildrenCellTypes( cellType ): + computedMetrics: set[ int ] | None = self._MetricsAll[ cellTypeChild ] if computedMetrics is None: continue commonComputedMetricsExists = True - metrics = metrics.intersection(computedMetrics) + metrics = metrics.intersection( computedMetrics ) return metrics if commonComputedMetricsExists else None - def RequestData(self: Self, - request: vtkInformation, # noqa: F841 - inInfoVec: list[ vtkInformationVector ], # noqa: F841 - outInfoVec: vtkInformationVector, - ) -> int: + def RequestData( + self: Self, + request: vtkInformation, # noqa: F841 + inInfoVec: list[ vtkInformationVector ], # noqa: F841 + outInfoVec: vtkInformationVector, + ) -> int: """Inherited from VTKPythonAlgorithmBase::RequestData. Args: @@ -298,8 +307,8 @@ def RequestData(self: Self, Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData: vtkUnstructuredGrid = self.GetInputData(inInfoVec, 0, 0) - self._outputMesh = self.GetOutputData(outInfoVec, 0) + inData: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) + self._outputMesh = self.GetOutputData( outInfoVec, 0 ) assert inData is not None, "Input mesh is undefined." assert self._outputMesh is not None, "Ouput pipeline is undefined." self._outputMesh.ShallowCopy( inData ) @@ -319,73 +328,71 @@ def RequestData(self: Self, self._outputMesh.Modified() return 1 - def _computeCellTypeCounts(self: Self) ->None: + def _computeCellTypeCounts( self: Self ) -> None: """Compute cell type counts.""" filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( self._outputMesh ) filter.Update() counts: CellTypeCounts = filter.GetCellTypeCountsObject() assert counts is not None, "CellTypeCounts is undefined" - self._qualityMetricSummary.setCellTypeCounts(counts) + self._qualityMetricSummary.setCellTypeCounts( counts ) - def _evaluateMeshQualityAll(self: Self)->None: + def _evaluateMeshQualityAll( self: Self ) -> None: """Compute all mesh quality metrics.""" for cellType, metrics in self._MetricsAll.items(): if metrics is None: continue for metricIndex in metrics: - self._evaluateCellQuality(metricIndex, cellType) + self._evaluateCellQuality( metricIndex, cellType ) if self._otherMetrics is not None: if QualityMetricOtherEnum.INCIDENT_VERTEX_COUNT.getMetricIndex() in self._otherMetrics: self._countVertexIncidentEdges() else: # TODO: add other metrics - print("") + print( "" ) - def _evaluateCellQuality(self: Self, - metricIndex: int, - cellType: int - ) ->None: + def _evaluateCellQuality( self: Self, metricIndex: int, cellType: int ) -> None: """Compute mesh input quality metric for input cell type. Args: metricIndex (int): quality metric index cellType (int): cell type index """ - arrayName: str = getQualityMetricArrayName(metricIndex) - if arrayName in getArraysFromDataSet(self._outputMesh, False): + arrayName: str = getQualityMetricArrayName( metricIndex ) + if arrayName in getArraysFromDataSet( self._outputMesh, False ): # metric is already computed (by default computed for all cell types if applicable) return # get the list of cell types the metric applies to and check if these cell types are present - metric = getQualityMetricFromIndex(metricIndex) - cellTypes: Optional[set[int]] = metric.getApplicableCellTypes() + metric: MeshQualityMetricEnum | None = getQualityMetricFromIndex( metricIndex ) + if metric is None: + return + cellTypes: Optional[ set[ int ] ] = metric.getApplicableCellTypes() + if cellTypes is None: + return nbCells: int = 0 for cellType in cellTypes: - nbCells += self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + nbCells += self._qualityMetricSummary.getCellTypeCountsOfCellType( cellType ) if nbCells == 0: return # compute quality metric output: vtkUnstructuredGrid | None = None - if (metricIndex == VtkCellQualityMetricEnum.SQUISH_INDEX.metricIndex): + if ( metricIndex == VtkCellQualityMetricEnum.SQUISH_INDEX.metricIndex ): # redefined Squish index calculation to be computed for any type of polyhedron self._computeSquishIndex() - elif (metricIndex in (CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, )): + elif ( metricIndex in ( CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, ) ): # extended metric for any type of cells (other than tetra) from tetra metrics - self._computeAdditionalMetrics(metricIndex) + self._computeAdditionalMetrics( metricIndex ) else: - output = self._applyMeshQualityFilter(metricIndex, cellType) + output = self._applyMeshQualityFilter( metricIndex, cellType ) assert output is not None, "Output mesh from mesh quality calculation is undefined." # transfer output cell array to input mesh # TODO: to test if Shallow copy of vtkMeshQualityFilter result and rename "Quality" array is more efficient than what is done here - self._transferCellAttribute(output, QUALITY_ARRAY_NAME, arrayName, metricIndex) + self._transferCellAttribute( output, QUALITY_ARRAY_NAME, arrayName, metricIndex ) - def _applyMeshQualityFilter(self: Self, - metric: int, - cellType: int - ) ->vtkUnstructuredGrid: + def _applyMeshQualityFilter( self: Self, metric: int, cellType: int ) -> vtkUnstructuredGrid: """Apply vtkMeshQuality filter. Args: @@ -396,26 +403,26 @@ def _applyMeshQualityFilter(self: Self, vtkUnstructuredGrid: _description_ """ meshQualityFilter = vtkMeshQuality() - meshQualityFilter.SetInputDataObject(self._outputMesh) + meshQualityFilter.SetInputDataObject( self._outputMesh ) if cellType == VTK_TRIANGLE: - meshQualityFilter.SetTriangleQualityMeasure(metric) + meshQualityFilter.SetTriangleQualityMeasure( metric ) elif cellType == VTK_QUAD: - meshQualityFilter.SetQuadQualityMeasure(metric) + meshQualityFilter.SetQuadQualityMeasure( metric ) elif cellType == VTK_TETRA: - meshQualityFilter.SetTetQualityMeasure(metric) + meshQualityFilter.SetTetQualityMeasure( metric ) elif cellType == VTK_PYRAMID: - meshQualityFilter.SetPyramidQualityMeasure(metric) + meshQualityFilter.SetPyramidQualityMeasure( metric ) elif cellType == VTK_WEDGE: - meshQualityFilter.SetWedgeQualityMeasure(metric) + meshQualityFilter.SetWedgeQualityMeasure( metric ) elif cellType == VTK_HEXAHEDRON: - meshQualityFilter.SetHexQualityMeasure(metric) + meshQualityFilter.SetHexQualityMeasure( metric ) else: - print("Cell type is not supported.") + print( "Cell type is not supported." ) meshQualityFilter.SaveCellQualityOn() meshQualityFilter.Update() - return meshQualityFilter.GetOutputDataObject(0) + return meshQualityFilter.GetOutputDataObject( 0 ) - def _computeAdditionalMetrics(self: Self, metricIndex: int) -> None: + def _computeAdditionalMetrics( self: Self, metricIndex: int ) -> None: """Compute additional metrics from metrics defined for tetrahedron. Output is an cell array in output mesh. @@ -423,32 +430,33 @@ def _computeAdditionalMetrics(self: Self, metricIndex: int) -> None: Args: metricIndex (int): metric index """ - metric = getQualityMetricFromIndex(metricIndex) + metric = getQualityMetricFromIndex( metricIndex ) assert metric is not None, f"Additional cell quality metric index {metricIndex} is undefined." # output array - name: str = getQualityMetricArrayName(metric.getMetricIndex()) + name: str = getQualityMetricArrayName( metric.getMetricIndex() ) newArray: vtkDoubleArray = vtkDoubleArray() - newArray.SetName(name) - newArray.SetNumberOfValues(self._outputMesh.GetNumberOfCells()) - newArray.SetNumberOfComponents(1) - for i in range(self._outputMesh.GetNumberOfCells()): - cell: vtkCell = self._outputMesh.GetCell(i) - val: float = self._computeAdditionalMetricsCell(metricIndex, cell) - newArray.InsertNextValue(val) + newArray.SetName( name ) + newArray.SetNumberOfValues( self._outputMesh.GetNumberOfCells() ) + newArray.SetNumberOfComponents( 1 ) + for i in range( self._outputMesh.GetNumberOfCells() ): + cell: vtkCell = self._outputMesh.GetCell( i ) + val: float = self._computeAdditionalMetricsCell( metricIndex, cell ) + newArray.InsertNextValue( val ) # add array cellArrays: vtkCellData = self._outputMesh.GetCellData() assert cellArrays is not None, "Cell data from output mesh is undefined." - cellArrays.AddArray(newArray) + cellArrays.AddArray( newArray ) cellArrays.Modified() self._outputMesh.Modified() return - def _transferCellAttribute(self: Self, - serverMesh: vtkUnstructuredGrid, - serverAttributeName: str, - clientAttributeName: str, - qualityMetric: int, - ) ->bool: + def _transferCellAttribute( + self: Self, + serverMesh: vtkUnstructuredGrid, + serverAttributeName: str, + clientAttributeName: str, + qualityMetric: int, + ) -> bool: """Transfer quality attribute to the client mesh. The attribute is renamed with quality metric name. Because a default quality @@ -466,28 +474,25 @@ def _transferCellAttribute(self: Self, """ cellArrays: vtkCellData = serverMesh.GetCellData() assert cellArrays is not None, "Cell data from vtkMeshQuality output mesh is undefined." - array: vtkDataArray = cellArrays.GetArray(serverAttributeName) + array: vtkDataArray = cellArrays.GetArray( serverAttributeName ) assert array is not None, f"{serverAttributeName} attribute is undefined." # rename array - array.SetName(clientAttributeName) + array.SetName( clientAttributeName ) # replace irrelevant values - self._replaceIrrelevantValues(array, serverMesh, qualityMetric) + self._replaceIrrelevantValues( array, serverMesh, qualityMetric ) # add array to input mesh inputCellArrays: vtkCellData = self._outputMesh.GetCellData() assert inputCellArrays is not None, "Cell data from input mesh is undefined." - inputCellArrays.AddArray(array) + inputCellArrays.AddArray( array ) inputCellArrays.Modified() return True - def _replaceIrrelevantValues(self: Self, - array: vtkDataArray, - mesh: vtkUnstructuredGrid, - qualityMetric: int - ) ->None: + def _replaceIrrelevantValues( self: Self, array: vtkDataArray, mesh: vtkUnstructuredGrid, + qualityMetric: int ) -> None: """Replace irrelevant values. - Values are irrelevant when a quality metric is computed + Values are irrelevant when a quality metric is computed whereas input metric does not applies to the cell type. Args: @@ -495,39 +500,38 @@ def _replaceIrrelevantValues(self: Self, mesh (vtkUnstructuredGrid): mesh qualityMetric (int): quality metric index """ - for cellId in range(mesh.GetNumberOfCells()): - cell: vtkCell = mesh.GetCell(cellId) + for cellId in range( mesh.GetNumberOfCells() ): + cell: vtkCell = mesh.GetCell( cellId ) cellType: int = cell.GetCellType() - cellTypeQualityMetrics: set[int] = cellQualityMetricsFromCellType[cellType] - if (qualityMetric > -1) and (qualityMetric not in cellTypeQualityMetrics): - array.SetTuple1(cellId, np.nan) + cellTypeQualityMetrics: set[ int ] = cellQualityMetricsFromCellType[ cellType ] + if ( qualityMetric > -1 ) and ( qualityMetric not in cellTypeQualityMetrics ): + array.SetTuple1( cellId, np.nan ) - def _updateStatsSummary(self: Self) ->None: + def _updateStatsSummary( self: Self ) -> None: """Compute quality metric statistics.""" # init cell type masks self._initCellTypeMasks() # stats for each cell types individually + count: int = 0 + metrics: set[ int ] | None for cellType, metrics in self._MetricsAll.items(): - count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) - if (count == 0) or (metrics is None): + count = self._qualityMetricSummary.getCellTypeCountsOfCellType( cellType ) + if ( count == 0 ) or ( metrics is None ): continue for metricIndex in metrics: - self._updateStatsSummaryByCellType(metricIndex, cellType) + self._updateStatsSummaryByCellType( metricIndex, cellType ) # stats for polygons and polyhedra - for cellType in (VTK_POLYGON, VTK_POLYHEDRON): - count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType) + for cellType in ( VTK_POLYGON, VTK_POLYHEDRON ): + count = self._qualityMetricSummary.getCellTypeCountsOfCellType( cellType ) # get common computed metrics - metrics: Optional[set[int]] = self.getComputedMetricsFromCellType(cellType) - if (count == 0) or (metrics is None): + metrics = self.getComputedMetricsFromCellType( cellType ) + if ( count == 0 ) or ( metrics is None ): continue for metricIndex in metrics: - self._updateStatsSummaryByCellType(metricIndex, cellType) + self._updateStatsSummaryByCellType( metricIndex, cellType ) - def _updateStatsSummaryByCellType(self: Self, - metricIndex: int, - cellType: int - ) ->None: + def _updateStatsSummaryByCellType( self: Self, metricIndex: int, cellType: int ) -> None: """Compute input quality metric statistics for input cell types. Args: @@ -536,69 +540,76 @@ def _updateStatsSummaryByCellType(self: Self, """ cellArrays: vtkCellData = self._outputMesh.GetCellData() assert cellArrays is not None, "Cell data from input mesh is undefined." - arrayName: str = getQualityMetricArrayName(metricIndex) - array: vtkDataArray = cellArrays.GetArray(arrayName) + arrayName: str = getQualityMetricArrayName( metricIndex ) + array: vtkDataArray | None = cellArrays.GetArray( arrayName ) if array is None: return - npArray: npt.NDArray[np.float64] = vtk_to_numpy(array) - cellTypeMask: npt.NDArray[np.bool_] = self._cellTypeMask[cellType] - - self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MEAN, StatTypes.MEAN.compute(npArray[cellTypeMask])) - self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.STD_DEV, StatTypes.STD_DEV.compute(npArray[cellTypeMask])) - self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MIN, StatTypes.MIN.compute(npArray[cellTypeMask])) - self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.MAX, StatTypes.MAX.compute(npArray[cellTypeMask])) - self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType(metricIndex, cellType, StatTypes.COUNT, StatTypes.COUNT.compute(npArray[cellTypeMask])) - - def _initCellTypeMasks(self: Self) ->None: + npArray: npt.NDArray[ np.float64 ] = vtk_to_numpy( array ) + cellTypeMask: npt.NDArray[ np.bool_ ] = self._cellTypeMask[ cellType ] + + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, StatTypes.MEAN, StatTypes.MEAN.compute( npArray[ cellTypeMask ] ) ) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, StatTypes.STD_DEV, StatTypes.STD_DEV.compute( npArray[ cellTypeMask ] ) ) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, StatTypes.MIN, StatTypes.MIN.compute( npArray[ cellTypeMask ] ) ) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, StatTypes.MAX, StatTypes.MAX.compute( npArray[ cellTypeMask ] ) ) + self._qualityMetricSummary.setCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, StatTypes.COUNT, StatTypes.COUNT.compute( npArray[ cellTypeMask ] ) ) + + def _initCellTypeMasks( self: Self ) -> None: """Init _cellTypeMask variable.""" # compute cell type masks self._cellTypeMask = { - cellType:np.zeros(self._outputMesh.GetNumberOfCells(), dtype=bool) for cellType in self._allCellTypesExtended + cellType: np.zeros( self._outputMesh.GetNumberOfCells(), dtype=bool ) + for cellType in self._allCellTypesExtended } - polyhedronCellTypes: tuple[int,...] = getPolyhedronCellTypes() - polygonCellTypes: tuple[int,...] = getPolygonCellTypes() - for cellId in range(self._outputMesh.GetNumberOfCells()): + polyhedronCellTypes: tuple[ int, ...] = getPolyhedronCellTypes() + polygonCellTypes: tuple[ int, ...] = getPolygonCellTypes() + for cellId in range( self._outputMesh.GetNumberOfCells() ): for cellType in self._allCellTypesExtended: - cellTypes: tuple[int,...] = (cellType,) + cellTypes: tuple[ int, ...] = ( cellType, ) if cellType == VTK_POLYGON: cellTypes = polygonCellTypes elif cellType == VTK_POLYHEDRON: cellTypes = polyhedronCellTypes - self._cellTypeMask[cellType][cellId] = self._outputMesh.GetCellType(cellId) in cellTypes + self._cellTypeMask[ cellType ][ cellId ] = self._outputMesh.GetCellType( cellId ) in cellTypes - def _createFieldDataStatsSummary(self: Self) ->None: + def _createFieldDataStatsSummary( self: Self ) -> None: """Create field data arrays with quality statistics.""" fieldData: vtkFieldData = self._outputMesh.GetFieldData() assert fieldData is not None, "Field data is undefined." for cellType in self._allCellTypesExtended: - count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType(cellType ) - metrics: Optional[set[int]] = self.getComputedMetricsFromCellType(cellType) + count: int = self._qualityMetricSummary.getCellTypeCountsOfCellType( cellType ) + metrics: Optional[ set[ int ] ] = self.getComputedMetricsFromCellType( cellType ) # create count array - name = "_".join((vtkCellTypes.GetClassNameFromTypeId(cellType), StatTypes.COUNT.getString())) - array: vtkIntArray = vtkIntArray() - array.SetName(name) - array.SetNumberOfValues(1) - array.SetNumberOfComponents(1) - array.SetValue(0, count) - fieldData.AddArray(array) - if (count == 0) or (metrics is None): + name = "_".join( ( vtkCellTypes.GetClassNameFromTypeId( cellType ), StatTypes.COUNT.getString() ) ) + countArray: vtkIntArray = vtkIntArray() + countArray.SetName( name ) + countArray.SetNumberOfValues( 1 ) + countArray.SetNumberOfComponents( 1 ) + countArray.SetValue( 0, count ) + fieldData.AddArray( countArray ) + if ( count == 0 ) or ( metrics is None ): continue # create metric arrays for metricIndex in metrics: # one array per statistic number except Count (last one) - for statType in list(StatTypes)[:-1]: - value: int = self._qualityMetricSummary.getCellStatValueFromStatMetricAndCellType(metricIndex, cellType, statType) - name = self._createArrayName(cellType, metricIndex, statType) - array: vtkDoubleArray = vtkDoubleArray() - array.SetName(name) - array.SetNumberOfValues(1) - array.SetNumberOfComponents(1) - array.SetValue(0, value) - fieldData.AddArray(array) + for statType in list( StatTypes )[ :-1 ]: + value: int = self._qualityMetricSummary.getCellStatValueFromStatMetricAndCellType( + metricIndex, cellType, statType ) + name = self._createArrayName( cellType, metricIndex, statType ) + metricArray: vtkDoubleArray = vtkDoubleArray() + metricArray.SetName( name ) + metricArray.SetNumberOfValues( 1 ) + metricArray.SetNumberOfComponents( 1 ) + metricArray.SetValue( 0, value ) + fieldData.AddArray( metricArray ) fieldData.Modified() - def _createArrayName(self: Self, cellType: int, metricIndex: int, statType: StatTypes) ->str: + def _createArrayName( self: Self, cellType: int, metricIndex: int, statType: StatTypes ) -> str: """Concatenate cell type, metric name, and statistic name in array name. Args: @@ -609,11 +620,10 @@ def _createArrayName(self: Self, cellType: int, metricIndex: int, statType: Stat Returns: str: array name """ - return "_".join((vtkCellTypes.GetClassNameFromTypeId(cellType), - getQualityMeasureNameFromIndex(metricIndex).replace(" ", ""), - statType.getString())) + return "_".join( ( vtkCellTypes.GetClassNameFromTypeId( cellType ), + getQualityMeasureNameFromIndex( metricIndex ).replace( " ", "" ), statType.getString() ) ) - def _computeAdditionalMetricsCell(self: Self, metricIndex: int, cell: vtkCell) -> float: + def _computeAdditionalMetricsCell( self: Self, metricIndex: int, cell: vtkCell ) -> float: """Compute additional metrics from metrics defined for tetrahedron for a cell. Args: @@ -627,73 +637,73 @@ def _computeAdditionalMetricsCell(self: Self, metricIndex: int, cell: vtkCell) - # triangulate cell faces listSimplexPts = vtkPoints() idList = vtkIdList() - cell.Triangulate(1, idList,listSimplexPts) + cell.Triangulate( 1, idList, listSimplexPts ) - simplexAspectRatio: list[float] = [] + simplexAspectRatio: list[ float ] = [] index: int = 0 while index != listSimplexPts.GetNumberOfPoints(): # create tetra tetra: vtkTetra = vtkTetra() tetraPts: vtkPoints = tetra.GetPoints() - for i in range(4): - tetraPts.SetPoint(i, listSimplexPts.GetPoint(index)) + for i in range( 4 ): + tetraPts.SetPoint( i, listSimplexPts.GetPoint( index ) ) tetraPts.Modified() index += 1 # compute aspect ratio of tetra if metricIndex == CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.getMetricIndex(): - simplexAspectRatio.append(meshQualityFilter.TetAspectRatio(tetra)) + simplexAspectRatio.append( meshQualityFilter.TetAspectRatio( tetra ) ) else: # metric is not supported - simplexAspectRatio.append(np.nan) - if any(np.isfinite(simplexAspectRatio)): - return np.nanmax(simplexAspectRatio) + simplexAspectRatio.append( np.nan ) + if any( np.isfinite( simplexAspectRatio ) ): + return np.nanmax( simplexAspectRatio ) return np.nan - def _countVertexIncidentEdges(self: Self) ->None: + def _countVertexIncidentEdges( self: Self ) -> None: """Compute edge length and vertex incident edge number.""" metric: QualityMetricOtherEnum = QualityMetricOtherEnum.INCIDENT_VERTEX_COUNT # edge are extracted as "cell" of dimension 1 extractEdges = vtkExtractEdges() - extractEdges.SetInputData(self._outputMesh) + extractEdges.SetInputData( self._outputMesh ) extractEdges.Update() polyData: vtkPolyData = extractEdges.GetOutput() - incidentCounts: npt.NDArray[np.int64] = np.zeros(self._outputMesh.GetNumberOfPoints(), dtype=int) - for edg in range(polyData.GetNumberOfCells()): - if polyData.GetCell(edg).GetCellDimension() != 1: + incidentCounts: npt.NDArray[ np.int64 ] = np.zeros( self._outputMesh.GetNumberOfPoints(), dtype=int ) + for edg in range( polyData.GetNumberOfCells() ): + if polyData.GetCell( edg ).GetCellDimension() != 1: # not an edge continue - edgesPointIds: vtkIdList = polyData.GetCell(edg).GetPointIds() - for i in range(edgesPointIds.GetNumberOfIds()): - incidentCounts[edgesPointIds.GetId(i)] += 1 + edgesPointIds: vtkIdList = polyData.GetCell( edg ).GetPointIds() + for i in range( edgesPointIds.GetNumberOfIds() ): + incidentCounts[ edgesPointIds.GetId( i ) ] += 1 # create point attribute pointData: vtkPointData = self._outputMesh.GetPointData() assert pointData is not None, "Point data is undefined." - array: vtkIntArray = numpy_to_vtk(incidentCounts, deep=1) - metricName: str = metric.getMetricName().replace(" ", "") + countArray: vtkIntArray = numpy_to_vtk( incidentCounts, deep=1 ) + metricName: str = metric.getMetricName().replace( " ", "" ) name: str = QUALITY_ARRAY_NAME + "_" + metricName - array.SetName(name) - pointData.AddArray(array) + countArray.SetName( name ) + pointData.AddArray( countArray ) pointData.Modified() - fieldData: vtkPointData = self._outputMesh.GetFieldData() + fieldData: vtkFieldData = self._outputMesh.GetFieldData() assert fieldData is not None, "Field data is undefined." - for statType in list(StatTypes): - name = metricName + "_" + statType.getString() - val: float | int = statType.compute(incidentCounts) + for statType in list( StatTypes ): + name = metricName + "_" + statType.getString() + val: float | int = statType.compute( incidentCounts ) # add values to quality summary stats - self._qualityMetricSummary.setOtherStatValueFromMetric(metric.getMetricIndex(), statType, val) - array: vtkDoubleArray = vtkDoubleArray() - array.SetName(name) - array.SetNumberOfValues(1) - array.SetNumberOfComponents(1) - array.SetValue(0, val) - fieldData.AddArray(array) + self._qualityMetricSummary.setOtherStatValueFromMetric( metric.getMetricIndex(), statType, val ) + metricArray: vtkDoubleArray = vtkDoubleArray() + metricArray.SetName( name ) + metricArray.SetNumberOfValues( 1 ) + metricArray.SetNumberOfComponents( 1 ) + metricArray.SetValue( 0, val ) # type: ignore[arg-type] + fieldData.AddArray( metricArray ) fieldData.Modified() self._outputMesh.Modified() - def _computeSquishIndex(self: Self) ->None: + def _computeSquishIndex( self: Self ) -> None: """Compute Squish index for all element type. Squish index is the maximum value of the cosine of the deviation angle between @@ -702,56 +712,51 @@ def _computeSquishIndex(self: Self) ->None: Output is a new cell array. """ # output array - name: str = getQualityMetricArrayName(VtkCellQualityMetricEnum.SQUISH_INDEX.getMetricIndex()) + name: str = getQualityMetricArrayName( VtkCellQualityMetricEnum.SQUISH_INDEX.getMetricIndex() ) newArray: vtkDoubleArray = vtkDoubleArray() - newArray.SetName(name) - newArray.SetNumberOfValues(self._outputMesh.GetNumberOfCells()) - newArray.SetNumberOfComponents(1) + newArray.SetName( name ) + newArray.SetNumberOfValues( self._outputMesh.GetNumberOfCells() ) + newArray.SetNumberOfComponents( 1 ) # copy input data to prevent modifications from GetCellNeighbors method copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() - copyData.ShallowCopy(self._outputMesh) + copyData.ShallowCopy( self._outputMesh ) points: vtkPoints = copyData.GetPoints() - for c in range(copyData.GetNumberOfCells()): - cell: vtkCell = copyData.GetCell(c) + for c in range( copyData.GetNumberOfCells() ): + cell: vtkCell = copyData.GetCell( c ) # applies only to polyhedra if cell.GetCellDimension() != 3: continue # get cell center - cellCenter: npt.NDArray[np.float64] = self._getCellCenter(cell) #self.CellBarycenter(points, cell) #self._getCellCenter(cell) + cellCenter: npt.NDArray[ np.float64 ] = self._getCellCenter( cell ) # compute deviation cosine for each face - squishIndex: npt.NDArray[np.float64] = np.full(cell.GetNumberOfFaces(), np.nan) - for f in range(cell.GetNumberOfFaces()): - face: vtkCell = cell.GetFace(f) + squishIndex: npt.NDArray[ np.float64 ] = np.full( cell.GetNumberOfFaces(), np.nan ) + for f in range( cell.GetNumberOfFaces() ): + face: vtkCell = cell.GetFace( f ) # get face center - # TODO: use _getCellCenter ptsIds: vtkIdTypeArray = vtkIdTypeArray() - ptsIds.Allocate(face.GetNumberOfPoints()) + ptsIds.Allocate( face.GetNumberOfPoints() ) ptsIdsList: vtkIdList = face.GetPointIds() - for i in range(ptsIdsList.GetNumberOfIds()): - ptsIds.InsertNextValue(ptsIdsList.GetId(i)) - faceCenter: npt.NDArray[np.float64] = self._getCellCenter(face, ptsIds, points) #self.CellBarycenter(points, face) - faceNormal: npt.NDArray[np.float64] = self._getNormalVector(points, face) - - vec: npt.NDArray[np.float64] = cellCenter - faceCenter - angle: float = vtkMath.AngleBetweenVectors(vec, faceNormal) - squishIndex[f] = np.sin(angle) - #cos: float = geom.computeCosineFromVectors(vec, faceNormal) - # cos yields 1 or -1 if vectors are parallel (best case), 0 if they are orthogonal (worst case) - #squishIndex[f] = 1. - cos*cos - newArray.InsertValue(c, np.nanmax(squishIndex)) + for i in range( ptsIdsList.GetNumberOfIds() ): + ptsIds.InsertNextValue( ptsIdsList.GetId( i ) ) + faceCenter: npt.NDArray[ np.float64 ] = self._getCellCenter( face, ptsIds, points ) + faceNormal: npt.NDArray[ np.float64 ] = self._getNormalVector( points, face ) + + vec: npt.NDArray[ np.float64 ] = cellCenter - faceCenter + angle: float = vtkMath.AngleBetweenVectors( vec, faceNormal ) # type: ignore[arg-type] + squishIndex[ f ] = np.sin( angle ) + newArray.InsertValue( c, np.nanmax( squishIndex ) ) # add array cellArrays: vtkCellData = self._outputMesh.GetCellData() assert cellArrays is not None, "Cell data from output mesh is undefined." - cellArrays.AddArray(newArray) + cellArrays.AddArray( newArray ) cellArrays.Modified() self._outputMesh.Modified() - def _getCellCenter(self: Self, - cell: vtkCell, - ptsIds: Optional[vtkIdTypeArray] = None, - points: Optional[vtkPoints] = None - ) -> npt.NDArray[np.float64]: + def _getCellCenter( self: Self, + cell: vtkCell, + ptsIds: Optional[ vtkIdTypeArray ] = None, + points: Optional[ vtkPoints ] = None ) -> npt.NDArray[ np.float64 ]: """Compute cell center. Args: @@ -762,51 +767,22 @@ def _getCellCenter(self: Self, Returns: npt.NDArray[np.float64]: output cell center """ - cellCenter: npt.NDArray[np.float64] = np.zeros(3) + cellCenter: npt.NDArray[ np.float64 ] = np.zeros( 3 ) if cell.GetCellDimension() == 2: # polygonal cell assert ptsIds is not None, "Point ids are required for computing polygonal cell center." assert points is not None, "Points are required for computing polygonal cell center." cell.GetPointIds() - vtkPolygon.ComputeCentroid(ptsIds, points, cellCenter) + vtkPolygon.ComputeCentroid( ptsIds, points, cellCenter ) # type: ignore[call-overload] elif cell.GetCellDimension() == 3: # volume cell - cell3D: vtkCell3D = cast(vtkCell3D, cell) - cell3D.GetCentroid(cellCenter) + cell3D: vtkCell3D = cast( vtkCell3D, cell ) + cell3D.GetCentroid( cellCenter ) # type: ignore[arg-type] else: - raise TypeError("Cell must be polygonal or volumic.") - # paramCenter: npt.NDArray[np.float64] = np.zeros(3) - # subId: int = cell.GetParametricCenter(paramCenter) - # weights: npt.NDArray[np.float64] = np.zeros(3) - # cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) + raise TypeError( "Cell must be polygonal or volumic." ) return cellCenter - def CellBarycenter(self: Self, - points: vtkPoints, - cell: vtkCell - ) ->npt.NDArray[np.float64]: - """Get cell barycenter. - - Args: - points (vtkPoints): mesh points - cell (vtkCell): cell - - Returns: - npt.NDArray[np.float64]: _description_ - """ - cellPtsIds: vtkIdList = cell.GetPointIds() - nbPts: int = cellPtsIds.GetNumberOfIds() - center: npt.NDArray[np.float64] = np.zeros(3, dtype=float) - for i in range (nbPts): - pt = np.zeros(3, dtype=float) - points.GetPoint(cellPtsIds.GetId(i), pt) - center += pt - return center / nbPts - - def _getNormalVector(self: Self, - points: vtkPoints, - face: vtkCell - ) -> npt.NDArray[np.float64]: + def _getNormalVector( self: Self, points: vtkPoints, face: vtkCell ) -> npt.NDArray[ np.float64 ]: """Get the normal to the input face. .. NOTE:: this method consider the faces as planes. @@ -821,242 +797,7 @@ def _getNormalVector(self: Self, assert face.GetCellDimension() == 2, "Cell must be a planar polygon." facePtsIds: vtkIdList = face.GetPointIds() # need only 3 points among all to get the normal of the face since we suppose face is a plane - ptsCoords: npt.NDArray[np.float64] = np.zeros((3, 3), dtype=float) - for i in range(3): - points.GetPoint(facePtsIds.GetId(i), ptsCoords[i]) - return geom.computeNormalFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2]) - - # TODO: add metric that measures the deviation angle from cell center to face center vector versus face normal vector - # TODO: add metric that computes the deviation of cell volumes versus face normal vector - - # As for OpenFOAM's, you have to dig a little in the source code to figure what they are. - # OpenFOAM's skewness is a measure of the deviation of the vector connecting the two cell - # centers adjacent to a face and the mid-point of that face. OpenFOAM also checks for orthogonality - # which it defines to be the deviation angle between the adjacent cell centers vector and the face normal. - # def KOrtho(self: Self, - # inData: vtkUnstructuredGrid, - # kOrtho: tuple[list[float], list[float]], - # devAngu: tuple[list[float], list[float]] - # ) ->None: - # """Compute cell orthogonality statistics. - - # New cell attributes are created. - - # ORTHOGONALITY measures the deviation angle between cell centers and face normal = Squish index - # Usefull for flow simulations where cells must be the closest possible from orthogonality. - # Created attributes include minimum, mean, and maxium values from all cell neighbors - # of a given cell. - - # Args: - # inData (vtkUnstructuredGrid): input mesh - # kOrtho (tuple[list[float], list[float]]): output results on cell orthogonality from face normal - # devAngu (tuple[list[float], list[float]]): output results on cell orthogonality - # """ - # # copy input data to prevent modifications from GetCellNeighbors method - # copyData: vtkUnstructuredGrid = vtkUnstructuredGrid() - # copyData.ShallowCopy(inData) - # points: vtkPoints = copyData.GetPoints() - # for c in range(copyData.GetNumberOfCells()): - # cell: vtkCell = copyData.GetCell(c) - # if cell.GetCellDimension() == 3: - # paramCenter: npt.NDArray[np.float64] = np.zeros(3) - # subId:int = cell.GetParametricCenter(paramCenter) - # cellCenter: npt.NDArray[np.float64] = np.zeros(3) # cell barycenter - # weights: npt.NDArray[np.float64] = np.zeros(3) - # cell.EvaluateLocation(subId, paramCenter, cellCenter, weights) - - # for f in range(cell.GetNumberOfFaces()): - # face: vtkCell = cell.GetFace(f) - # faceCenter: npt.NDArray[np.float64] = self.CellBarycenter(points, face) # face barycenter - # NeighborIds = vtkIdList() - # copyData.GetCellNeighbors(c, face.GetPointIds(), NeighborIds) - # for j in range(NeighborIds.GetNumberOfIds()): - # neighborCellId = NeighborIds.GetId(j) - # neighborCell: vtkCell = copyData.GetCell(neighborCellId) - # # if neighbor cell is a polyhedron - # # to avoid to repeat the same operation on cells already treated - # if (neighborCell.GetCellDimension() == 3) and (c < neighborCellId): - # paramCenter2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) - # subId2: int = neighborCell.GetParametricCenter(paramCenter2) - # neighborCellCenter: npt.NDArray[np.float64] = np.zeros(3, dtype=float) # cell barycenter - # weights2: npt.NDArray[np.float64] = np.zeros(3, dtype=float) - # neighborCell.EvaluateLocation(subId2, paramCenter2, neighborCellCenter, weights2) - - # # deviation angle between cell centers vector and face normal - # cb: npt.NDArray[np.float64] = cellCenter - neighborCellCenter - # ba: npt.NDArray[np.float64] = self.GetNormalVector(points, face) - # devAngu[0].append(geom.computeAngleFromVectors(cb, ba)) - - # # deviation angle between cell centers vector and face to cell center vector - # ba = faceCenter - cellCenter - # kOrtho[0].append(geom.computeAngleFromVectors(ba, -cb)) - - - # def AnglesBetweenEdges(self: Self, - # cell: vtkCell, - # points: vtkPoints, - # facesPtsIdsSet: set[tuple[int]], - # listData: tuple[list[float], list[float]] - # ) ->None: - # """Get angles between all edges of input cell. - - # Args: - # cell (vtkCell): input cell - # points (vtkPoints): mesh points - # facesPtsIdsSet (set[tuple[int]]): output set of face vertex ids. Provided set should be empty. - # listData (tuple[list[float], list[float]]): output results - - # Raises: - # ValueError: Face types - # """ - # assert len(facesPtsIdsSet) == 0, "facesPtsIdsSet is not empty." - # for f in range(cell.GetNumberOfFaces()): - # cellface: vtkPolygon = cell.GetFace(f) - # facePtsIds: vtkIdList = cellface.GetPointIds() - # facePtsIdsTuple: tuple[int, ...] = tuple([facePtsIds.GetId(i) for i in range(facePtsIds.GetNumberOfIds())].sort()) - # if facePtsIdsTuple not in facesPtsIdsSet: - # # get face points - # nbPts: int = facePtsIds.GetNumberOfIds() - # ptsCoords: npt.NDArray[np.float64] = np.zeros((nbPts, 3), dtype=float) - # for p in range(nbPts): - # points.GetPoint(facePtsIds.GetId(p), ptsCoords[p]) - # # compute edge angles - # if nbPts == 3: - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[1], ptsCoords[0], ptsCoords[2])) - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[2], ptsCoords[1])) - # elif nbPts == 4: - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[3], ptsCoords[0], ptsCoords[1])) - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[0], ptsCoords[1], ptsCoords[2])) - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[1], ptsCoords[2], ptsCoords[3])) - # listData[0].append(geom.computeAngleFromPoints(ptsCoords[2], ptsCoords[3], ptsCoords[0])) - # else: - # raise TypeError("Faces must be triangles or quads. Other types are currently not managed.") - - # facesPtsIdsSet.add(facePtsIdsTuple) - - # def _computeNumberOfEdges(self :Self, mesh: vtkUnstructuredGrid) ->int: - # """Compute the number of edges of the mesh. - - # Args: - # mesh (vtkUnstructuredGrid): input mesh - - # Returns: - # int: number of edges - # """ - # edges: vtkFeatureEdges = vtkFeatureEdges() - # edges.BoundaryEdgesOn() - # edges.ManifoldEdgesOn() - # edges.FeatureEdgesOff() - # edges.NonManifoldEdgesOff() - # edges.SetInputDataObject(mesh) - # edges.Update() - # return edges.GetOutput().GetNumberOfCells() - - # def cellQuality (self: Self, - # cell: vtkCell, - # volume: tuple[list[float], list[float]], - # jacobian: tuple[list[float], list[float]], - # hexStretch: tuple[list[float], list[float]], - # edgeRatio: tuple[list[float], list[float]], - # J_threshold: tuple[float, float] = (-np.inf, np.inf) - # ) ->None: - # """Compute cell quality. - - # Args: - # cell (vtkCell): cell - # volume (tuple[list[float], list[float]]): output volume results - # jacobian (tuple[list[float], list[float]]): output Jacobian results - # hexStretch (tuple[list[float], list[float]]): output hexahedron stretching results - # edgeRatio (tuple[list[float], list[float]]): output edge ratio results - # J_threshold (tuple[float, float], optional): Jacobian threshold. - - # Defaults to (-np.inf, np.inf). - # """ - # cellType: int = cell.GetCellType() - # vol: float - # edgeRatioVal: float - # jacob: float - # if cellType == VTK_TETRA : - # vol = self._meshQuality.TetVolume(cell) - # edgeRatioVal = self._meshQuality.TetEdgeRatio(cell) - # jacob = self._meshQuality.TetScaledJacobian(cell) - # elif cellType == VTK_HEXAHEDRON: - # vol = self._meshQuality.HexVolume(cell) - # edgeRatioVal = self._meshQuality.HexEdgeRatio(cell) - # jacob = self._meshQuality.HexScaledJacobian(cell) - # hexStretch[0].append(self._meshQuality.HexStretch(cell)) - # elif cellType == VTK_WEDGE : - # vol = self._meshQuality.WedgeVolume(cell) - # edgeRatioVal = self._meshQuality.WedgeEdgeRatio(cell) - # jacob = self._meshQuality.WedgeScaledJacobian(cell) - # elif cellType == VTK_PYRAMID: - # vol = self._meshQuality.PyramidVolume(cell) - # lenghtList =[] - # for i in range(cell.GetNumberOfEdges ()): - # lenght2 = cell.GetEdge(i).GetLength2 () - # lenghtList.append(np.sqrt(lenght2)) - # edgeRatioVal = max(lenghtList) / min(lenghtList) - # jacob = self._meshQuality.PyramidScaledJacobian(cell) - # else: - # vol = np.nan - # edgeRatioVal = np.nan - # jacob = np.nan - # print(f"Cell type {vtkCellTypes.GetClassNameFromTypeId(cellType)} is currently not supported.") - - # volume[0].append(vol) - # edgeRatio[0].append(edgeRatioVal) - # if J_threshold[0] <= jacob <= J_threshold[1]: - # jacobian[0].append(jacob) - # else: - # jacobian[1].append(jacob) - - # def CellAspectRatio(self: Self, - # cell: vtkCell, - # listData: tuple[list[float], list[float]], - # threshold: tuple[float, float] = (-np.inf, np.inf) - # ) ->None: - # """Compute cell aspect ratio. - - # Args: - # cell (vtkCell): cell - # listData (tuple[list[float], list[float]]): output results - # threshold (tuple[float, float], optional): aspect ratio threshold. - - # Defaults to (-np.inf, np.inf). - # """ - # cellType: int = cell.GetCellType() - # if cellType == VTK_TETRA : - # if threshold is None: - # listData[0].append(self._meshQuality.TetAspectRatio(cell)) - # else: - # if threshold[0] <= self._meshQuality.TetAspectRatio(cell) <= threshold[1]: - # listData[0].append(self._meshQuality.TetAspectRatio(cell)) - # else: - # listData[1].append(self._meshQuality.TetAspectRatio(cell)) - - # else : - # listSimplexPts = vtkPoints() - # idList = vtkIdList() - # cell.Triangulate(1, idList,listSimplexPts) - - # simplexAspectRatio: list[float] = [] - # index: int = 0 - # while index != listSimplexPts.GetNumberOfPoints() : - # tetra: vtkTetra = vtkTetra() - # tetraPts: vtkPoints = tetra.GetPoints() - # for i in range(4): - # tetraPts.SetPoint(i,listSimplexPts.GetPoint(index)) - # tetraPts.Modified() - # index += 1 - # simplexAspectRatio.append(self._meshQuality.TetAspectRatio(tetra)) - - # if threshold is None: - # listData[0].append(max(simplexAspectRatio)) - # else: - # if threshold[0] <= max(simplexAspectRatio) <= threshold[1]: - # listData[0].append(max(simplexAspectRatio)) - # else: - # listData[1].append(max(simplexAspectRatio)) - - # simplexAspectRatio.clear() + ptsCoords: npt.NDArray[ np.float64 ] = np.zeros( ( 3, 3 ), dtype=float ) + for i in range( 3 ): + points.GetPoint( facePtsIds.GetId( i ), ptsCoords[ i ] ) + return geom.computeNormalFromPoints( ptsCoords[ 0 ], ptsCoords[ 1 ], ptsCoords[ 2 ] ) diff --git a/geos-mesh/tests/test_MeshQualityEnhanced.py b/geos-mesh/tests/test_MeshQualityEnhanced.py index e97e4d2f..72ba3705 100644 --- a/geos-mesh/tests/test_MeshQualityEnhanced.py +++ b/geos-mesh/tests/test_MeshQualityEnhanced.py @@ -2,12 +2,9 @@ # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file import os -import sys -from pathlib import Path from matplotlib.figure import Figure from dataclasses import dataclass import numpy as np -import numpy.typing as npt import pandas as pd import pytest from typing import ( @@ -16,14 +13,6 @@ ) from geos.mesh.processing.meshQualityMetricHelpers import ( - VtkCellQualityMetricEnum, - getTriangleQualityMeasure, - getQuadQualityMeasure, - getTetQualityMeasure, - getPyramidQualityMeasure, - getWedgeQualityMeasure, - getHexQualityMeasure, - getAllCellTypes, getAllCellTypesExtended, ) from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced @@ -132,7 +121,6 @@ def test_MeshQualityEnhanced( test_case: TestCase ) -> None: nbFieldArrayExp: int = test_case.mesh.GetFieldData().GetNumberOfArrays() + tmp.size + 4 * nbMetrics * (nbPolygon + nbPolyhedra) assert fieldData.GetNumberOfArrays() == nbFieldArrayExp, f"Number of field data arrays is expected to be {nbFieldArrayExp}." - print(test_case.qualityMetrics) stats: QualityMetricSummary = filter.GetQualityMetricSummary() for i, cellType in enumerate(getAllCellTypesExtended()): # test Counts @@ -143,7 +131,6 @@ def test_MeshQualityEnhanced( test_case: TestCase ) -> None: # test metric summary for j, metricIndex in enumerate(test_case.qualityMetrics): subStats: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, cellType) - print(j, np.round(subStats, 2).tolist()) assert np.round(subStats, 2).tolist() == list(test_case.metricsSummary[j]), f"Stats at metric index {j} are wrong." fig: Figure = stats.plotSummaryFigure() diff --git a/geos-mesh/tests/test_QualityMetricSummary.py b/geos-mesh/tests/test_QualityMetricSummary.py index 81b393d4..b89130ad 100644 --- a/geos-mesh/tests/test_QualityMetricSummary.py +++ b/geos-mesh/tests/test_QualityMetricSummary.py @@ -13,9 +13,8 @@ from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes from vtkmodules.vtkFiltersVerdict import vtkMeshQuality -from vtkmodules.vtkCommonDataModel import ( vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, +from vtkmodules.vtkCommonDataModel import ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) -from geos.mesh.processing.meshQualityMetricHelpers import getQualityMeasureNameFromIndex # inputs statTypes: tuple[StatTypes,...] = tuple(StatTypes) diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py index 11fea5de..87689926 100644 --- a/geos-mesh/tests/test_meshQualityHelpers.py +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -1,30 +1,18 @@ # SPDX-FileContributor: Martin Lemay # SPDX-License-Identifier: Apache 2.0 # ruff: noqa: E402 # disable Module level import not at top of file -import os from dataclasses import dataclass -import numpy as np -import numpy.typing as npt import pytest from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createMultiCellMesh -from vtkmodules.util.numpy_support import vtk_to_numpy from vtkmodules.vtkFiltersVerdict import vtkMeshQuality from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCellArray, - vtkCellTypes, VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON ) -from vtkmodules.vtkCommonCore import ( - vtkPoints, - vtkIdList, -) from geos.mesh.processing.meshQualityMetricHelpers import ( VtkCellQualityMetricEnum, diff --git a/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py b/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py index b6ee1862..dffc955c 100644 --- a/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py +++ b/geos-pv/src/PVplugins/PVCellTypeCounterEnhanced.py @@ -5,28 +5,25 @@ import sys from pathlib import Path from typing_extensions import Self +from typing import Optional from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy -) + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy ) from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, - vtkDoubleArray, ) from vtkmodules.vtkCommonDataModel import ( vtkPointSet, vtkTable, - vtkCellTypes, - vtkUnstructuredGrid, - vtkMultiBlockDataSet, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced @@ -43,20 +40,22 @@ """ + @smproxy.filter( name="PVCellTypeCounterEnhanced", label="Cell Type Counter" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkUnstructuredGrid"], + dataTypes=[ "vtkUnstructuredGrid" ], composite_data_supported=True, ) -class PVCellTypeCounterEnhanced(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: +class PVCellTypeCounterEnhanced( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkTable") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkTable" ) - self._filename = None - self._saveToFile = True + self._filename: Optional[ str ] = None + self._saveToFile: bool = True # used to concatenate results if vtkMultiBlockDataSet self._countsAll: CellTypeCounts = CellTypeCounts() @@ -72,7 +71,7 @@ def __init__(self:Self) ->None: Specify if mesh statistics are dumped into a file. """ ) - def SetSaveToFile( self: Self, saveToFile: bool) -> None: + def SetSaveToFile( self: Self, saveToFile: bool ) -> None: """Setter to save the stats into a file. Args: @@ -82,7 +81,7 @@ def SetSaveToFile( self: Self, saveToFile: bool) -> None: self._saveToFile = saveToFile self.Modified() - @smproperty.stringvector(name="FilePath", label="File Path") + @smproperty.stringvector( name="FilePath", label="File Path" ) @smdomain.xml( """ Output file path. @@ -90,8 +89,8 @@ def SetSaveToFile( self: Self, saveToFile: bool) -> None: - """) - def SetFileName(self: Self, fname :str) -> None: + """ ) + def SetFileName( self: Self, fname: str ) -> None: """Specify filename for the filter to write. Args: @@ -134,27 +133,26 @@ def RequestData( int: 1 if calculation successfully ended, 0 otherwise. """ inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) - outputTable: vtkTable = vtkTable.GetData(outInfoVec, 0) + outputTable: vtkTable = vtkTable.GetData( outInfoVec, 0 ) assert inputMesh is not None, "Input server mesh is null." assert outputTable is not None, "Output pipeline is null." filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() - filter.SetInputDataObject(inputMesh) + filter.SetInputDataObject( inputMesh ) filter.Update() - outputTable.ShallowCopy(filter.GetOutputDataObject(0)) + outputTable.ShallowCopy( filter.GetOutputDataObject( 0 ) ) # print counts in Output Messages view counts: CellTypeCounts = filter.GetCellTypeCountsObject() - print(counts.print()) self._countsAll += counts # save to file if asked - if self._saveToFile: + if self._saveToFile and self._filename is not None: try: - with open(self._filename, 'w') as fout: - fout.write(self._countsAll.print()) - print(f"File {self._filename} was successfully written.") + with open( self._filename, 'w' ) as fout: + fout.write( self._countsAll.print() ) + print( f"File {self._filename} was successfully written." ) except Exception as e: - print("Error while exporting the file due to:") - print(str(e)) + print( "Error while exporting the file due to:" ) + print( str( e ) ) return 1 diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py index 8f1a6ae9..673f790e 100644 --- a/geos-pv/src/PVplugins/PVSplitMesh.py +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -11,13 +11,13 @@ ) from vtkmodules.vtkCommonDataModel import ( - vtkPointSet, -) + vtkPointSet, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.processing.SplitMesh import SplitMesh @@ -36,6 +36,7 @@ """ + @smproxy.filter( name="PVSplitMesh", label="Split Mesh" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @@ -43,12 +44,13 @@ dataTypes=[ "vtkPointSet" ], composite_data_supported=True, ) -class PVSplitMesh(AbstractPVPluginVtkWrapper): - def __init__(self:Self) ->None: +class PVSplitMesh( AbstractPVPluginVtkWrapper ): + + def __init__( self: Self ) -> None: """Split mesh cells.""" super().__init__() - def applyVtkFlilter( + def applyVtkFilter( self: Self, input: vtkPointSet, ) -> vtkPointSet: @@ -60,7 +62,7 @@ def applyVtkFlilter( Returns: vtkPointSet: output mesh """ - filter :SplitMesh = SplitMesh() - filter.SetInputDataObject(input) + filter: SplitMesh = SplitMesh() + filter.SetInputDataObject( input ) filter.Update() return filter.GetOutputDataObject( 0 ) diff --git a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py index e9506bab..3953a475 100644 --- a/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py +++ b/geos-pv/src/PVplugins/PVSurfaceMeshQualityEnhanced.py @@ -10,20 +10,19 @@ VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) -from vtkmodules.vtkFiltersVerdict import vtkMeshQuality from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, vtkDataArraySelection, ) from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, -) + vtkUnstructuredGrid, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.model.QualityMetricSummary import QualityMetricSummary @@ -53,50 +52,57 @@ """ + @smproxy.filter( name="PVSurfaceMeshQualityEnhanced", label="Surface Mesh Quality Enhanced" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkUnstructuredGrid"], + dataTypes=[ "vtkUnstructuredGrid" ], composite_data_supported=True, ) -class PVSurfaceMeshQualityEnhanced(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: +class PVSurfaceMeshQualityEnhanced( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) - self._filename: Optional[str] = None + self._filename: Optional[ str ] = None self._saveToFile: bool = True self._blockIndex: int = 0 # used to concatenate results if vtkMultiBlockDataSet - self._metricsAll: list[float] = [] + self._metricsAll: list[ float ] = [] self._commonMeshQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._commonCellQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._triangleQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._quadsQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._initQualityMetricSelection() - def _initQualityMetricSelection(self: Self) ->None: + def _initQualityMetricSelection( self: Self ) -> None: self._commonCellQualityMetric.RemoveAllArrays() - self._commonCellQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - commonCellMetrics: set[int] = getCommonPolygonQualityMeasure() + self._commonCellQualityMetric.AddObserver( + "ModifiedEvent", # type: ignore[arg-type] + createModifiedCallback( self ) ) + commonCellMetrics: set[ int ] = getCommonPolygonQualityMeasure() for measure in commonCellMetrics: - self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._triangleQualityMetric.RemoveAllArrays() - self._triangleQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getTriangleQualityMeasure().difference(commonCellMetrics): - self._triangleQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._triangleQualityMetric.AddObserver( + "ModifiedEvent", # type: ignore[arg-type] + createModifiedCallback( self ) ) + for measure in getTriangleQualityMeasure().difference( commonCellMetrics ): + self._triangleQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._quadsQualityMetric.RemoveAllArrays() - self._quadsQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getQuadQualityMeasure().difference(commonCellMetrics): - self._quadsQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._quadsQualityMetric.AddObserver( + "ModifiedEvent", # type: ignore[arg-type] + createModifiedCallback( self ) ) + for measure in getQuadQualityMeasure().difference( commonCellMetrics ): + self._quadsQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) - otherMetrics: set[int] = getQualityMetricsOther() + otherMetrics: set[ int ] = getQualityMetricsOther() for measure in otherMetrics: - self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) - + self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) @smproperty.dataarrayselection( name="CommonCellQualityMetric" ) def a01SetCommonMetrics( self: Self ) -> vtkDataArraySelection: @@ -130,7 +136,7 @@ def a04SetOtherMeshMetrics( self: Self ) -> vtkDataArraySelection: Specify if mesh statistics are dumped into a file. """ ) - def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: + def b01SetSaveToFile( self: Self, saveToFile: bool ) -> None: """Setter to save the stats into a file. Args: @@ -140,7 +146,7 @@ def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: self._saveToFile = saveToFile self.Modified() - @smproperty.stringvector(name="FilePath", label="File Path") + @smproperty.stringvector( name="FilePath", label="File Path" ) @smdomain.xml( """ Output file path. @@ -148,8 +154,8 @@ def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: - """) - def b02SetFileName(self: Self, fname :str) -> None: + """ ) + def b02SetFileName( self: Self, fname: str ) -> None: """Specify filename for the filter to write. Args: @@ -175,7 +181,7 @@ def b03GroupAdvancedOutputParameters( self: Self ) -> None: """Organize groups.""" self.Modified() - def Modified(self: Self) ->None: + def Modified( self: Self ) -> None: """Overload Modified method to reset _blockIndex.""" self._blockIndex = 0 super().Modified() @@ -196,22 +202,22 @@ def RequestDataObject( Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) - def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[int]: + def _getQualityMetricsToUse( self: Self, selection: vtkDataArraySelection ) -> set[ int ]: """Get mesh quality metric indexes from user selection. Returns: list[int]: list of quality metric indexes """ - metricsNames: set[str] = getArrayChoices(selection) - return {getQualityMeasureIndexFromName(name) for name in metricsNames} + metricsNames: set[ str ] = getArrayChoices( selection ) + return { getQualityMeasureIndexFromName( name ) for name in metricsNames } def RequestData( self: Self, @@ -230,38 +236,42 @@ def RequestData( int: 1 if calculation successfully ended, 0 otherwise. """ inputMesh: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) - outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData(outInfoVec, 0) + outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( outInfoVec, 0 ) assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - triangleMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._triangleQualityMetric)) - quadMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._quadsQualityMetric)) - otherMetrics: set[int] = self._getQualityMetricsToUse(self._commonMeshQualityMetric) + triangleMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._triangleQualityMetric ) ) + quadMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._quadsQualityMetric ) ) + otherMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonMeshQualityMetric ) filter: MeshQualityEnhanced = MeshQualityEnhanced() - filter.SetInputDataObject(inputMesh) - filter.SetCellQualityMetrics(triangleMetrics=triangleMetrics, quadMetrics=quadMetrics) - filter.SetOtherMeshQualityMetrics(otherMetrics) + filter.SetInputDataObject( inputMesh ) + filter.SetCellQualityMetrics( triangleMetrics=triangleMetrics, quadMetrics=quadMetrics ) + filter.SetOtherMeshQualityMetrics( otherMetrics ) filter.Update() - outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) + outputMesh.ShallowCopy( filter.GetOutputDataObject( 0 ) ) # save to file if asked if self._saveToFile: stats: QualityMetricSummary = filter.GetQualityMetricSummary() - self.saveFile(stats) + self.saveFile( stats ) self._blockIndex += 1 return 1 - def saveFile(self: Self, stats: QualityMetricSummary) ->None: + def saveFile( self: Self, stats: QualityMetricSummary ) -> None: """Export mesh quality metric summary file.""" try: + if self._filename is None: + print( "Mesh quality summary report file path is undefined." ) + return # add index for multiblock meshes - index: int = self._filename.rfind('.') - filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] + index: int = self._filename.rfind( '.' ) + filename: str = self._filename[ :index ] + f"_{self._blockIndex}" + self._filename[ index: ] fig = stats.plotSummaryFigure() - fig.savefig(filename, dpi=150) - print(f"File {filename} was successfully written.") + fig.savefig( filename, dpi=150 ) + print( f"File {filename} was successfully written." ) except Exception as e: - print("Error while exporting the file due to:") - print(str(e)) - + print( "Error while exporting the file due to:" ) + print( str( e ) ) diff --git a/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py b/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py index 01a35af7..9c774550 100644 --- a/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py +++ b/geos-pv/src/PVplugins/PVVolumeMeshQualityEnhanced.py @@ -10,20 +10,19 @@ VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy, ) -from vtkmodules.vtkFiltersVerdict import vtkMeshQuality from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, vtkDataArraySelection, ) from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, -) + vtkUnstructuredGrid, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.model.QualityMetricSummary import QualityMetricSummary @@ -33,7 +32,6 @@ getQualityMetricsOther, getQualityMeasureNameFromIndex, getQualityMeasureIndexFromName, - getQuadQualityMeasure, getTetQualityMeasure, getPyramidQualityMeasure, getWedgeQualityMeasure, @@ -56,23 +54,25 @@ """ + @smproxy.filter( name="PVVolumeMeshQualityEnhanced", label="Volume Mesh Quality Enhanced" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkUnstructuredGrid"], + dataTypes=[ "vtkUnstructuredGrid" ], composite_data_supported=True, ) -class PVVolumeMeshQualityEnhanced(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: +class PVVolumeMeshQualityEnhanced( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkUnstructuredGrid" ) - self._filename: Optional[str] = None + self._filename: Optional[ str ] = None self._saveToFile: bool = True self._blockIndex: int = 0 # used to concatenate results if vtkMultiBlockDataSet - self._metricsAll: list[float] = [] + self._metricsAll: list[ float ] = [] self._commonMeshQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._commonCellQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._tetQualityMetric: vtkDataArraySelection = vtkDataArraySelection() @@ -81,37 +81,40 @@ def __init__(self:Self) ->None: self._HexQualityMetric: vtkDataArraySelection = vtkDataArraySelection() self._initQualityMetricSelection() - def _initQualityMetricSelection(self: Self) ->None: + def _initQualityMetricSelection( self: Self ) -> None: self._commonCellQualityMetric.RemoveAllArrays() - self._commonCellQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - commonCellMetrics: set[int] = getCommonPolyhedraQualityMeasure() + self._commonCellQualityMetric.AddObserver( + "ModifiedEvent", # type: ignore[arg-type] + createModifiedCallback( self ) ) + commonCellMetrics: set[ int ] = getCommonPolyhedraQualityMeasure() for measure in commonCellMetrics: - self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._commonCellQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._tetQualityMetric.RemoveAllArrays() self._tetQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getTetQualityMeasure().difference(commonCellMetrics): - self._tetQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + for measure in getTetQualityMeasure().difference( commonCellMetrics ): + self._tetQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._PyrQualityMetric.RemoveAllArrays() self._PyrQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getPyramidQualityMeasure().difference(commonCellMetrics): - self._PyrQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + for measure in getPyramidQualityMeasure().difference( commonCellMetrics ): + self._PyrQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._WedgeQualityMetric.RemoveAllArrays() - self._WedgeQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getWedgeQualityMeasure().difference(commonCellMetrics): - self._WedgeQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + self._WedgeQualityMetric.AddObserver( + "ModifiedEvent", # type: ignore[arg-type] + createModifiedCallback( self ) ) + for measure in getWedgeQualityMeasure().difference( commonCellMetrics ): + self._WedgeQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) self._HexQualityMetric.RemoveAllArrays() self._HexQualityMetric.AddObserver( "ModifiedEvent", createModifiedCallback( self ) ) # type: ignore[arg-type] - for measure in getHexQualityMeasure().difference(commonCellMetrics): - self._HexQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) + for measure in getHexQualityMeasure().difference( commonCellMetrics ): + self._HexQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) - otherMetrics: set[int] = getQualityMetricsOther() + otherMetrics: set[ int ] = getQualityMetricsOther() for measure in otherMetrics: - self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex(measure) ) - + self._commonMeshQualityMetric.AddArray( getQualityMeasureNameFromIndex( measure ) ) @smproperty.dataarrayselection( name="CommonCellQualityMetric" ) def a01SetCommonMetrics( self: Self ) -> vtkDataArraySelection: @@ -155,7 +158,7 @@ def a04SetOtherMeshMetrics( self: Self ) -> vtkDataArraySelection: Specify if mesh statistics are dumped into a file. """ ) - def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: + def b01SetSaveToFile( self: Self, saveToFile: bool ) -> None: """Setter to save the stats into a file. Args: @@ -165,7 +168,7 @@ def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: self._saveToFile = saveToFile self.Modified() - @smproperty.stringvector(name="FilePath", label="File Path") + @smproperty.stringvector( name="FilePath", label="File Path" ) @smdomain.xml( """ Output file path. @@ -173,8 +176,8 @@ def b01SetSaveToFile( self: Self, saveToFile: bool) -> None: - """) - def b02SetFileName(self: Self, fname :str) -> None: + """ ) + def b02SetFileName( self: Self, fname: str ) -> None: """Specify filename for the filter to write. Args: @@ -200,7 +203,7 @@ def b03GroupAdvancedOutputParameters( self: Self ) -> None: """Organize groups.""" self.Modified() - def Modified(self: Self) ->None: + def Modified( self: Self ) -> None: """Overload Modified method to reset _blockIndex.""" self._blockIndex = 0 super().Modified() @@ -221,13 +224,13 @@ def RequestDataObject( Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) def RequestData( self: Self, @@ -246,49 +249,58 @@ def RequestData( int: 1 if calculation successfully ended, 0 otherwise. """ inputMesh: vtkUnstructuredGrid = self.GetInputData( inInfoVec, 0, 0 ) - outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData(outInfoVec, 0) + outputMesh: vtkUnstructuredGrid = vtkUnstructuredGrid.GetData( outInfoVec, 0 ) assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - tetraMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._tetQualityMetric)) - pyrMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) - wedgeMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) - hexaMetrics: set[int] = self._getQualityMetricsToUse(self._commonCellQualityMetric).union(self._getQualityMetricsToUse(self._PyrQualityMetric)) - otherMetrics: set[int] = self._getQualityMetricsToUse(self._commonMeshQualityMetric) + tetraMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._tetQualityMetric ) ) + pyrMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._PyrQualityMetric ) ) + wedgeMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._PyrQualityMetric ) ) + hexaMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonCellQualityMetric ).union( + self._getQualityMetricsToUse( self._PyrQualityMetric ) ) + otherMetrics: set[ int ] = self._getQualityMetricsToUse( self._commonMeshQualityMetric ) filter: MeshQualityEnhanced = MeshQualityEnhanced() - filter.SetInputDataObject(inputMesh) - filter.SetCellQualityMetrics(tetraMetrics=tetraMetrics, pyramidMetrics=pyrMetrics, wedgeMetrics=wedgeMetrics, hexaMetrics=hexaMetrics) - filter.SetOtherMeshQualityMetrics(otherMetrics) + filter.SetInputDataObject( inputMesh ) + filter.SetCellQualityMetrics( tetraMetrics=tetraMetrics, + pyramidMetrics=pyrMetrics, + wedgeMetrics=wedgeMetrics, + hexaMetrics=hexaMetrics ) + filter.SetOtherMeshQualityMetrics( otherMetrics ) filter.Update() - outputMesh.ShallowCopy(filter.GetOutputDataObject(0)) + outputMesh.ShallowCopy( filter.GetOutputDataObject( 0 ) ) # save to file if asked if self._saveToFile: stats: QualityMetricSummary = filter.GetQualityMetricSummary() - self._saveFile(stats) + self._saveFile( stats ) self._blockIndex += 1 return 1 - def _getQualityMetricsToUse(self :Self, selection: vtkDataArraySelection) -> set[int]: + def _getQualityMetricsToUse( self: Self, selection: vtkDataArraySelection ) -> set[ int ]: """Get mesh quality metric indexes from user selection. Returns: list[int]: list of quality metric indexes """ - metricsNames: set[str] = getArrayChoices(selection) - return {getQualityMeasureIndexFromName(name) for name in metricsNames} + metricsNames: set[ str ] = getArrayChoices( selection ) + return { getQualityMeasureIndexFromName( name ) for name in metricsNames } - def _saveFile(self: Self, stats: QualityMetricSummary) ->None: + def _saveFile( self: Self, stats: QualityMetricSummary ) -> None: """Export mesh quality metric summary file.""" try: + if self._filename is None: + print( "Mesh quality summary report file path is undefined." ) + return # add index for multiblock meshes - index: int = self._filename.rfind('.') - filename: str = self._filename[:index] + f"_{self._blockIndex}" + self._filename[index:] + index: int = self._filename.rfind( '.' ) + filename: str = self._filename[ :index ] + f"_{self._blockIndex}" + self._filename[ index: ] fig = stats.plotSummaryFigure() - fig.savefig(filename, dpi=150) - print(f"File {filename} was successfully written.") + fig.savefig( filename, dpi=150 ) + print( f"File {filename} was successfully written." ) except Exception as e: - print("Error while exporting the file due to:") - print(str(e)) - + print( "Error while exporting the file due to:" ) + print( str( e ) ) diff --git a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py index 80129d55..8ae8c27f 100644 --- a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py +++ b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py @@ -6,15 +6,13 @@ from typing_extensions import Self from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, -) + VTKPythonAlgorithmBase, ) from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, ) - __doc__ = """ AbstractPVPluginVtkWrapper module defines the parent Paraview plugin from which inheritates PV plugins that directly wrap a vtk filter. @@ -22,10 +20,12 @@ If output type needs to be specified, this must be done in the child class. """ -class AbstractPVPluginVtkWrapper(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: + +class AbstractPVPluginVtkWrapper( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Abstract Paraview Plugin class.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet" ) def RequestDataObject( self: Self, @@ -43,13 +43,13 @@ def RequestDataObject( Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) def RequestData( self: Self, @@ -73,16 +73,16 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - tmpMesh = self.applyVtkFlilter(inputMesh) + tmpMesh = self.applyVtkFilter( inputMesh ) assert tmpMesh is not None, "Output mesh is null." - outputMesh.ShallowCopy(tmpMesh) - print("Filter was successfully applied.") - except (AssertionError, Exception) as e: - print(f"Filter failed due to: {e}") + outputMesh.ShallowCopy( tmpMesh ) + print( "Filter was successfully applied." ) + except ( AssertionError, Exception ) as e: + print( f"Filter failed due to: {e}" ) return 0 return 1 - def applyVtkFlilter( + def applyVtkFilter( self: Self, input: Any, ) -> Any: From 8c9d934b79451df0a008d2e5d06326b9664fb108 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 15:25:23 +0200 Subject: [PATCH 55/71] typo --- geos-pv/src/PVplugins/PVSplitMesh.py | 2 +- geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py index 8f1a6ae9..3d86b0bd 100644 --- a/geos-pv/src/PVplugins/PVSplitMesh.py +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -48,7 +48,7 @@ def __init__(self:Self) ->None: """Split mesh cells.""" super().__init__() - def applyVtkFlilter( + def applyVtkFilter( self: Self, input: vtkPointSet, ) -> vtkPointSet: diff --git a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py index 80129d55..23303b95 100644 --- a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py +++ b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py @@ -73,7 +73,7 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - tmpMesh = self.applyVtkFlilter(inputMesh) + tmpMesh = self.applyVtkFilter(inputMesh) assert tmpMesh is not None, "Output mesh is null." outputMesh.ShallowCopy(tmpMesh) print("Filter was successfully applied.") @@ -82,7 +82,7 @@ def RequestData( return 0 return 1 - def applyVtkFlilter( + def applyVtkFilter( self: Self, input: Any, ) -> Any: From 7e65787e56146246254c432e0601723389ab9b51 Mon Sep 17 00:00:00 2001 From: Paloma Martinez <104762252+paloma-martinez@users.noreply.github.com> Date: Wed, 21 May 2025 16:19:32 +0200 Subject: [PATCH 56/71] Adding more documentation --- geos-mesh/src/geos/mesh/io/vtkIO.py | 26 +++++++++++++------ geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 9 ++++++- .../src/geos/mesh/utils/arrayModifiers.py | 9 ++++++- .../src/geos/mesh/utils/genericHelpers.py | 9 ++++++- .../src/geos/mesh/utils/multiblockHelpers.py | 8 +++++- .../geos/mesh/utils/multiblockModifiers.py | 2 +- 6 files changed, 50 insertions(+), 13 deletions(-) diff --git a/geos-mesh/src/geos/mesh/io/vtkIO.py b/geos-mesh/src/geos/mesh/io/vtkIO.py index 8ef974a1..aa4e4015 100644 --- a/geos-mesh/src/geos/mesh/io/vtkIO.py +++ b/geos-mesh/src/geos/mesh/io/vtkIO.py @@ -12,7 +12,11 @@ vtkXMLStructuredGridReader, vtkXMLPUnstructuredGridReader, vtkXMLPStructuredGridReader, vtkXMLStructuredGridWriter ) -__doc__ = """Input and Ouput methods for VTK meshes.""" +__doc__ = """ +Input and Ouput methods for VTK meshes: + - VTK, VTU, VTS, PVTU, PVTS readers + - VTK, VTS, VTU writers +""" @dataclass( frozen=True ) @@ -155,14 +159,20 @@ def __write_vtu( mesh: vtkUnstructuredGrid, output: str, toBinary: bool = False def write_mesh( mesh: vtkPointSet, vtk_output: VtkOutput, canOverwrite: bool = False ) -> int: - """ - Writes the mesh to disk. - Nothing will be done if the file already exists. - :param mesh: The grid to write. - :param vtk_output: Where to write. The file extension will be used to select the VTK file format. - :return: 0 in case of success. - """ + """Write mesh to disk. + Nothing is done if file already exists. + + Args: + mesh (vtkPointSet): Grid to write + vtk_output (VtkOutput): File path. File extension will be used to select VTK file format + canOverwrite (bool, optional): Authorize overwriting the file. Defaults to False. + Raises: + ValueError: Invalid VTK format. + + Returns: + int: 0 if success + """ if os.path.exists( vtk_output.output ) and canOverwrite: logging.error( f"File \"{vtk_output.output}\" already exists, nothing done." ) return 1 diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index a51bd85e..2ca957fa 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -16,7 +16,14 @@ from vtkmodules.vtkFiltersCore import vtkCellCenters from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) -__doc__ = """Utilities methods to get information on VTK Arrays.""" +__doc__ = """ +ArrayHelpers module contains several utilities methods to get information on arrays in VTK datasets. + +These methods include: + - array getters, with conversion into numpy array or pandas dataframe + - boolean functions to check whether an array is present in the dataset + - bounds getter for vtu and multiblock datasets +""" def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: list[ str ] ) -> bool: diff --git a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py index d95eae50..6d9a738c 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayModifiers.py @@ -29,7 +29,14 @@ ) from geos.mesh.utils.multiblockHelpers import getBlockElementIndexesFlatten, getBlockFromFlatIndex -__doc__ = """Utilities to process VTK Arrays objects.""" +__doc__ = """ +ArrayModifiers contains utilities to process VTK Arrays objects. + +These methods include: + - filling partial VTK arrays with nan values (useful for block merge) + - creation of new VTK array, empty or with a given data array + - transfer from VTK point data to VTK cell data +""" def fillPartialAttributes( diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 41b4f981..27005395 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -6,7 +6,14 @@ from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter -__doc__ = """ Generic VTK utilities.""" +__doc__ = """ +Generic VTK utilities. + +These methods include: + - extraction of a surface from a given elevation + - conversion from a list to vtkIdList + - conversion of vtk container into iterable +""" def to_vtk_id_list( data: List[ int ] ) -> vtkIdList: diff --git a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py index 2c20135e..ac060f5b 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockHelpers.py @@ -6,7 +6,13 @@ vtkMultiBlockDataSet ) from vtkmodules.vtkFiltersExtraction import vtkExtractBlock -__doc__ = """Functions to explore VTK multiblock datasets.""" +__doc__ = """ +Functions to explore VTK multiblock datasets. + +Methods include: + - getters for blocks names and indexes + - block extractor +""" def getBlockName( input: Union[ vtkMultiBlockDataSet, vtkCompositeDataSet ] ) -> str: diff --git a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py index a79f256d..ebbf2100 100644 --- a/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py +++ b/geos-mesh/src/geos/mesh/utils/multiblockModifiers.py @@ -7,7 +7,7 @@ from vtkmodules.vtkFiltersCore import vtkAppendDataSets from geos.mesh.utils.arrayModifiers import fillAllPartialAttributes -__doc__ = """Function to merge VTK multiblock datasets.""" +__doc__ = """Contains a method to merge blocks of a VTK multiblock dataset.""" # TODO : fix function for keepPartialAttributes = True From 2ff6fda156b982917439fc155486d6cf6768d935 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 16:32:58 +0200 Subject: [PATCH 57/71] documentation + typing, liniting, formating --- docs/geos_mesh_docs/model.rst | 13 +++ docs/geos_mesh_docs/modules.rst | 6 ++ docs/geos_mesh_docs/processing.rst | 13 +++ docs/geos_mesh_docs/stats.rst | 13 +++ docs/geos_mesh_docs/utils.rst | 2 +- .../mesh/doctor/checks/generate_fractures.py | 4 +- .../src/geos/mesh/model/CellTypeCounts.py | 2 +- .../src/geos/mesh/processing/SplitMesh.py | 1 + .../src/geos/mesh/stats/CellTypeCounter.py | 1 + geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 79 ++++++++----------- .../src/geos/mesh/utils/genericHelpers.py | 16 ++-- geos-pv/src/PVplugins/PVCellTypeCounter.py | 51 ++++++------ geos-pv/src/PVplugins/PVSplitMesh.py | 14 ++-- .../pv/utils/AbstractPVPluginVtkWrapper.py | 32 ++++---- 14 files changed, 141 insertions(+), 106 deletions(-) create mode 100644 docs/geos_mesh_docs/model.rst create mode 100644 docs/geos_mesh_docs/processing.rst create mode 100644 docs/geos_mesh_docs/stats.rst diff --git a/docs/geos_mesh_docs/model.rst b/docs/geos_mesh_docs/model.rst new file mode 100644 index 00000000..ead57332 --- /dev/null +++ b/docs/geos_mesh_docs/model.rst @@ -0,0 +1,13 @@ +Model +^^^^^^^ + +The `model` module of `geos-mesh` package contains data model. + + +geos.mesh.model.CellTypeCounts filter +-------------------------------------- + +.. automodule:: geos.mesh.model.CellTypeCounts + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/geos_mesh_docs/modules.rst b/docs/geos_mesh_docs/modules.rst index fa6a3558..4e13c711 100644 --- a/docs/geos_mesh_docs/modules.rst +++ b/docs/geos_mesh_docs/modules.rst @@ -11,4 +11,10 @@ GEOS Mesh tools io + model + + processing + + stats + utils \ No newline at end of file diff --git a/docs/geos_mesh_docs/processing.rst b/docs/geos_mesh_docs/processing.rst new file mode 100644 index 00000000..d79db6db --- /dev/null +++ b/docs/geos_mesh_docs/processing.rst @@ -0,0 +1,13 @@ +Processing filters +^^^^^^^^^^^^^^^^^^^ + +The `processing` module of `geos-mesh` package contains filters to process meshes. + + +geos.mesh.processing.SplitMesh filter +-------------------------------------- + +.. automodule:: geos.mesh.processing.SplitMesh + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/geos_mesh_docs/stats.rst b/docs/geos_mesh_docs/stats.rst new file mode 100644 index 00000000..50664514 --- /dev/null +++ b/docs/geos_mesh_docs/stats.rst @@ -0,0 +1,13 @@ +Mesh stats tools +^^^^^^^^^^^^^^^^ + +The `stats` module of `geos-mesh` package contains filter to compute statistics on meshes. + + +geos.mesh.stats.CellTypeCounter filter +-------------------------------------- + +.. automodule:: geos.mesh.stats.CellTypeCounter + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/geos_mesh_docs/utils.rst b/docs/geos_mesh_docs/utils.rst index 62c15c72..31f83c3f 100644 --- a/docs/geos_mesh_docs/utils.rst +++ b/docs/geos_mesh_docs/utils.rst @@ -1,7 +1,7 @@ Mesh utilities ^^^^^^^^^^^^^^^^ -The `utils` module of `geos-mesh` package contains different utilities methods for VTK meshes. +The `utils` module of `geos-mesh` package contains various utilities for VTK meshes. geos.mesh.utils.genericHelpers module diff --git a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py index 08454e78..1fabe4ca 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/generate_fractures.py @@ -13,7 +13,7 @@ from vtkmodules.util.numpy_support import numpy_to_vtk, vtk_to_numpy from vtkmodules.util.vtkConstants import VTK_ID_TYPE from geos.mesh.doctor.checks.vtk_polyhedron import FaceStream -from geos.mesh.utils.arrayHelpers import has_invalid_field +from geos.mesh.utils.arrayHelpers import has_array from geos.mesh.utils.genericHelpers import to_vtk_id_list, vtk_iter from geos.mesh.io.vtkIO import VtkOutput, read_mesh, write_mesh """ @@ -558,7 +558,7 @@ def check( vtk_input_file: str, options: Options ) -> Result: try: mesh = read_mesh( vtk_input_file ) # Mesh cannot contain global ids before splitting. - if has_invalid_arrays( mesh, [ "GLOBAL_IDS_POINTS", "GLOBAL_IDS_CELLS" ] ): + if has_array( mesh, [ "GLOBAL_IDS_POINTS", "GLOBAL_IDS_CELLS" ] ): err_msg: str = ( "The mesh cannot contain global ids for neither cells nor points. The correct procedure " + " is to split the mesh and then generate global ids for new split meshes." ) logging.error( err_msg ) diff --git a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py index 534ba192..bab12085 100644 --- a/geos-mesh/src/geos/mesh/model/CellTypeCounts.py +++ b/geos-mesh/src/geos/mesh/model/CellTypeCounts.py @@ -27,7 +27,7 @@ def __str__( self: Self ) -> str: """ return self.print() - def __add__( self: Self, other: Self ) -> Self: + def __add__( self: Self, other: Self ) -> 'CellTypeCounts': """Addition operator. CellTypeCounts addition consists in suming counts. diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index aaded7b5..95a219bc 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -82,6 +82,7 @@ def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> i """ if port == 0: info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + return 1 def RequestDataObject( self: Self, diff --git a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py index 2036ebbb..749432d7 100644 --- a/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py +++ b/geos-mesh/src/geos/mesh/stats/CellTypeCounter.py @@ -57,6 +57,7 @@ def FillInputPortInformation( self: Self, port: int, info: vtkInformation ) -> i """ if port == 0: info.Set( self.INPUT_REQUIRED_DATA_TYPE(), "vtkUnstructuredGrid" ) + return 1 def RequestData( self: Self, diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index a51bd85e..c63cc99d 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -19,48 +19,38 @@ __doc__ = """Utilities methods to get information on VTK Arrays.""" -def has_invalid_field( mesh: vtkUnstructuredGrid, invalid_fields: list[ str ] ) -> bool: - """Checks if a mesh contains at least a data arrays within its cell, field or point data - having a certain name. If so, returns True, else False. +def has_array( mesh: vtkUnstructuredGrid, array_names: list[ str ] ) -> bool: + """Checks if input mesh contains at least one of input data arrays. Args: mesh (vtkUnstructuredGrid): An unstructured mesh. - invalid_fields (list[str]): Field name of an array in any data from the data. + array_names (list[str]): List of array names. Returns: - bool: True if one field found, else False. + bool: True if at least one array is found, else False. """ # Check the cell data fields - cell_data = mesh.GetCellData() - for i in range( cell_data.GetNumberOfArrays() ): - if cell_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid cell field name '{cell_data.GetArrayName( i )}'." ) - return True - # Check the field data fields - field_data = mesh.GetFieldData() - for i in range( field_data.GetNumberOfArrays() ): - if field_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid field name '{field_data.GetArrayName( i )}'." ) - return True - # Check the point data fields - point_data = mesh.GetPointData() - for i in range( point_data.GetNumberOfArrays() ): - if point_data.GetArrayName( i ) in invalid_fields: - logging.error( f"The mesh contains an invalid point field name '{point_data.GetArrayName( i )}'." ) - return True + data: vtkFieldData | None + for data in ( mesh.GetCellData(), mesh.GetFieldData(), mesh.GetPointData() ): + if data is None: + continue # type: ignore[unreachable] + for arrayName in array_names: + if data.HasArray( arrayName ): + logging.error( f"The mesh contains the array named '{arrayName}'." ) + return True return False def getFieldType( data: vtkFieldData ) -> str: - """A vtk grid can contain 3 types of field data: + """Returns whether the data is "vtkFieldData", "vtkCellData" or "vtkPointData". + + A vtk mesh can contain 3 types of field data: - vtkFieldData (parent class) - vtkCellData (inheritance of vtkFieldData) - vtkPointData (inheritance of vtkFieldData) - The goal is to return whether the data is "vtkFieldData", "vtkCellData" or "vtkPointData". - Args: - data (vtkFieldData) + data (vtkFieldData): vtk field data Returns: str: "vtkFieldData", "vtkCellData" or "vtkPointData" @@ -79,7 +69,7 @@ def getArrayNames( data: vtkFieldData ) -> list[ str ]: """Get the names of all arrays stored in a "vtkFieldData", "vtkCellData" or "vtkPointData". Args: - data (vtkFieldData) + data (vtkFieldData): vtk field data Returns: list[ str ]: The array names in the order that they are stored in the field data. @@ -93,8 +83,8 @@ def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: """Get the vtkDataArray corresponding to the given name. Args: - data (vtkFieldData) - name (str) + data (vtkFieldData): vtk field data + name (str): array name Returns: Optional[ vtkDataArray ]: The vtkDataArray associated with the name given. None if not found. @@ -109,8 +99,8 @@ def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArra """Get the copy of a vtkDataArray corresponding to the given name. Args: - data (vtkFieldData) - name (str) + data (vtkFieldData): vtk field data + name (str): array name Returns: Optional[ vtkDataArray ]: The copy of the vtkDataArray associated with the name given. None if not found. @@ -125,7 +115,7 @@ def getNumpyGlobalIdsArray( data: Union[ vtkCellData, vtkPointData ] ) -> Option """Get a numpy array of the GlobalIds. Args: - data (Union[ vtkCellData, vtkPointData ]) + data (Union[ vtkCellData, vtkPointData ]): Cell or point array. Returns: Optional[ npt.NDArray[ np.int64 ] ]: The numpy array of GlobalIds. @@ -137,26 +127,25 @@ def getNumpyGlobalIdsArray( data: Union[ vtkCellData, vtkPointData ] ) -> Option return vtk_to_numpy( global_ids ) -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray ]: +def getNumpyArrayByName( data: vtkCellData | vtkPointData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray ]: """Get the numpy array of a given vtkDataArray found by its name. + If sorted is selected, this allows the option to reorder the values wrt GlobalIds. If not GlobalIds was found, no reordering will be perform. Args: - data (vtkFieldData) - name (str) + data (vtkCellData | vtkPointData): vtk field data. + name (str): Array name to sort sorted (bool, optional): Sort the output array with the help of GlobalIds. Defaults to False. Returns: - Optional[ npt.NDArray ] + Optional[ npt.NDArray ]: Sorted array """ dataArray: Optional[ vtkDataArray ] = getArrayByName( data, name ) if dataArray is not None: - arr: Optional[ npt.NDArray ] = vtk_to_numpy( dataArray ) - if sorted: - fieldType: str = getFieldType( data ) - if fieldType in [ "vtkCellData", "vtkPointData" ]: - sortArrayByGlobalIds( data, arr ) + arr: npt.NDArray[ np.float64 ] = vtk_to_numpy( dataArray ) + if sorted and ( data.IsA( "vtkCellData" ) or data.IsA( "vtkPointData" ) ): + sortArrayByGlobalIds( data, arr ) return arr return None @@ -484,7 +473,7 @@ def getComponentNamesDataSet( dataSet: vtkDataSet, attributeName: str, onPoints: """ array: vtkDoubleArray = getVtkArrayInObject( dataSet, attributeName, onPoints ) - componentNames: list[ str ] = list() + componentNames: list[ str ] = [] if array.GetNumberOfComponents() > 1: componentNames += [ array.GetComponentName( i ) for i in range( array.GetNumberOfComponents() ) ] return tuple( componentNames ) @@ -651,12 +640,12 @@ def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: return pts.GetData() -def sortArrayByGlobalIds( data: Union[ vtkCellData, vtkFieldData ], arr: npt.NDArray[ np.int64 ] ) -> None: - """Sort an array following global Ids +def sortArrayByGlobalIds( data: Union[ vtkCellData, vtkPointData ], arr: npt.NDArray[ np.float64 ] ) -> None: + """Sort an array following global Ids. Args: data (vtkFieldData): Global Ids array - arr (npt.NDArray[ np.int64 ]): Array to sort + arr (npt.NDArray[ np.float64 ]): Array to sort """ globalids: Optional[ npt.NDArray[ np.int64 ] ] = getNumpyGlobalIdsArray( data ) if globalids is not None: diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 41b4f981..b10355a7 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -3,7 +3,7 @@ # SPDX-FileContributor: Martin Lemay, Paloma Martinez from typing import Any, Iterator, List from vtkmodules.vtkCommonCore import vtkIdList -from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane +from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane, vtkCellTypes from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter __doc__ = """ Generic VTK utilities.""" @@ -25,21 +25,19 @@ def to_vtk_id_list( data: List[ int ] ) -> vtkIdList: return result -def vtk_iter( vtkContainer ) -> Iterator[ Any ]: - """ - Utility function transforming a vtk "container" (e.g. vtkIdList) into an iterable to be used for building built-ins - python containers. +def vtk_iter( vtkContainer: vtkIdList | vtkCellTypes ) -> Iterator[ Any ]: + """Utility function transforming a vtk "container" into an iterable. Args: - vtkContainer: A vtk container + vtkContainer (vtkIdList | vtkCellTypes): A vtk container Returns: - The iterator + Iterator[ Any ]: The iterator """ - if hasattr( vtkContainer, "GetNumberOfIds" ): + if isinstance( vtkContainer, vtkIdList ): for i in range( vtkContainer.GetNumberOfIds() ): yield vtkContainer.GetId( i ) - elif hasattr( vtkContainer, "GetNumberOfTypes" ): + elif isinstance( vtkContainer, vtkCellTypes ): for i in range( vtkContainer.GetNumberOfTypes() ): yield vtkContainer.GetCellType( i ) diff --git a/geos-pv/src/PVplugins/PVCellTypeCounter.py b/geos-pv/src/PVplugins/PVCellTypeCounter.py index eca9f3c0..fb465d86 100644 --- a/geos-pv/src/PVplugins/PVCellTypeCounter.py +++ b/geos-pv/src/PVplugins/PVCellTypeCounter.py @@ -5,28 +5,25 @@ import sys from pathlib import Path from typing_extensions import Self +from typing import Optional from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy -) + VTKPythonAlgorithmBase, smdomain, smhint, smproperty, smproxy ) from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, - vtkDoubleArray, ) from vtkmodules.vtkCommonDataModel import ( vtkPointSet, vtkTable, - vtkCellTypes, - vtkUnstructuredGrid, - vtkMultiBlockDataSet, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.stats.CellTypeCounter import CellTypeCounter @@ -43,20 +40,22 @@ """ + @smproxy.filter( name="PVCellTypeCounter", label="Cell Type Counter" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @smdomain.datatype( - dataTypes=[ "vtkUnstructuredGrid"], + dataTypes=[ "vtkUnstructuredGrid" ], composite_data_supported=True, ) -class PVCellTypeCounter(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: +class PVCellTypeCounter( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Merge collocated points.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkTable") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkTable" ) - self._filename = None - self._saveToFile = True + self._filename: Optional[ str ] = None + self._saveToFile: bool = True # used to concatenate results if vtkMultiBlockDataSet self._countsAll: CellTypeCounts = CellTypeCounts() @@ -72,7 +71,7 @@ def __init__(self:Self) ->None: Specify if mesh statistics are dumped into a file. """ ) - def SetSaveToFile( self: Self, saveToFile: bool) -> None: + def SetSaveToFile( self: Self, saveToFile: bool ) -> None: """Setter to save the stats into a file. Args: @@ -82,7 +81,7 @@ def SetSaveToFile( self: Self, saveToFile: bool) -> None: self._saveToFile = saveToFile self.Modified() - @smproperty.stringvector(name="FilePath", label="File Path") + @smproperty.stringvector( name="FilePath", label="File Path" ) @smdomain.xml( """ Output file path. @@ -90,8 +89,8 @@ def SetSaveToFile( self: Self, saveToFile: bool) -> None: - """) - def SetFileName(self: Self, fname :str) -> None: + """ ) + def SetFileName( self: Self, fname: str ) -> None: """Specify filename for the filter to write. Args: @@ -134,27 +133,27 @@ def RequestData( int: 1 if calculation successfully ended, 0 otherwise. """ inputMesh: vtkPointSet = self.GetInputData( inInfoVec, 0, 0 ) - outputTable: vtkTable = vtkTable.GetData(outInfoVec, 0) + outputTable: vtkTable = vtkTable.GetData( outInfoVec, 0 ) assert inputMesh is not None, "Input server mesh is null." assert outputTable is not None, "Output pipeline is null." filter: CellTypeCounter = CellTypeCounter() - filter.SetInputDataObject(inputMesh) + filter.SetInputDataObject( inputMesh ) filter.Update() - outputTable.ShallowCopy(filter.GetOutputDataObject(0)) + outputTable.ShallowCopy( filter.GetOutputDataObject( 0 ) ) # print counts in Output Messages view counts: CellTypeCounts = filter.GetCellTypeCounts() - print(counts.print()) + print( counts.print() ) self._countsAll += counts # save to file if asked - if self._saveToFile: + if self._saveToFile and self._filename is not None: try: - with open(self._filename, 'w') as fout: - fout.write(self._countsAll.print()) - print(f"File {self._filename} was successfully written.") + with open( self._filename, 'w' ) as fout: + fout.write( self._countsAll.print() ) + print( f"File {self._filename} was successfully written." ) except Exception as e: - print("Error while exporting the file due to:") - print(str(e)) + print( "Error while exporting the file due to:" ) + print( str( e ) ) return 1 diff --git a/geos-pv/src/PVplugins/PVSplitMesh.py b/geos-pv/src/PVplugins/PVSplitMesh.py index 3d86b0bd..673f790e 100644 --- a/geos-pv/src/PVplugins/PVSplitMesh.py +++ b/geos-pv/src/PVplugins/PVSplitMesh.py @@ -11,13 +11,13 @@ ) from vtkmodules.vtkCommonDataModel import ( - vtkPointSet, -) + vtkPointSet, ) # update sys.path to load all GEOS Python Package dependencies geos_pv_path: Path = Path( __file__ ).parent.parent.parent sys.path.insert( 0, str( geos_pv_path / "src" ) ) from geos.pv.utils.config import update_paths + update_paths() from geos.mesh.processing.SplitMesh import SplitMesh @@ -36,6 +36,7 @@ """ + @smproxy.filter( name="PVSplitMesh", label="Split Mesh" ) @smhint.xml( '' ) @smproperty.input( name="Input", port_index=0 ) @@ -43,8 +44,9 @@ dataTypes=[ "vtkPointSet" ], composite_data_supported=True, ) -class PVSplitMesh(AbstractPVPluginVtkWrapper): - def __init__(self:Self) ->None: +class PVSplitMesh( AbstractPVPluginVtkWrapper ): + + def __init__( self: Self ) -> None: """Split mesh cells.""" super().__init__() @@ -60,7 +62,7 @@ def applyVtkFilter( Returns: vtkPointSet: output mesh """ - filter :SplitMesh = SplitMesh() - filter.SetInputDataObject(input) + filter: SplitMesh = SplitMesh() + filter.SetInputDataObject( input ) filter.Update() return filter.GetOutputDataObject( 0 ) diff --git a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py index 23303b95..8ae8c27f 100644 --- a/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py +++ b/geos-pv/src/geos/pv/utils/AbstractPVPluginVtkWrapper.py @@ -6,15 +6,13 @@ from typing_extensions import Self from paraview.util.vtkAlgorithm import ( # type: ignore[import-not-found] - VTKPythonAlgorithmBase, -) + VTKPythonAlgorithmBase, ) from vtkmodules.vtkCommonCore import ( vtkInformation, vtkInformationVector, ) - __doc__ = """ AbstractPVPluginVtkWrapper module defines the parent Paraview plugin from which inheritates PV plugins that directly wrap a vtk filter. @@ -22,10 +20,12 @@ If output type needs to be specified, this must be done in the child class. """ -class AbstractPVPluginVtkWrapper(VTKPythonAlgorithmBase): - def __init__(self:Self) ->None: + +class AbstractPVPluginVtkWrapper( VTKPythonAlgorithmBase ): + + def __init__( self: Self ) -> None: """Abstract Paraview Plugin class.""" - super().__init__(nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet") + super().__init__( nInputPorts=1, nOutputPorts=1, outputType="vtkPointSet" ) def RequestDataObject( self: Self, @@ -43,13 +43,13 @@ def RequestDataObject( Returns: int: 1 if calculation successfully ended, 0 otherwise. """ - inData = self.GetInputData(inInfoVec, 0, 0) - outData = self.GetOutputData(outInfoVec, 0) + inData = self.GetInputData( inInfoVec, 0, 0 ) + outData = self.GetOutputData( outInfoVec, 0 ) assert inData is not None - if outData is None or (not outData.IsA(inData.GetClassName())): + if outData is None or ( not outData.IsA( inData.GetClassName() ) ): outData = inData.NewInstance() - outInfoVec.GetInformationObject(0).Set(outData.DATA_OBJECT(), outData) - return super().RequestDataObject(request, inInfoVec, outInfoVec) + outInfoVec.GetInformationObject( 0 ).Set( outData.DATA_OBJECT(), outData ) + return super().RequestDataObject( request, inInfoVec, outInfoVec ) def RequestData( self: Self, @@ -73,12 +73,12 @@ def RequestData( assert inputMesh is not None, "Input server mesh is null." assert outputMesh is not None, "Output pipeline is null." - tmpMesh = self.applyVtkFilter(inputMesh) + tmpMesh = self.applyVtkFilter( inputMesh ) assert tmpMesh is not None, "Output mesh is null." - outputMesh.ShallowCopy(tmpMesh) - print("Filter was successfully applied.") - except (AssertionError, Exception) as e: - print(f"Filter failed due to: {e}") + outputMesh.ShallowCopy( tmpMesh ) + print( "Filter was successfully applied." ) + except ( AssertionError, Exception ) as e: + print( f"Filter failed due to: {e}" ) return 0 return 1 From e55e6a3264608596e43d9b1f902d9e821e826c47 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 16:57:25 +0200 Subject: [PATCH 58/71] fix bugs and tests --- geos-mesh/src/geos/mesh/processing/SplitMesh.py | 2 +- geos-mesh/tests/test_meshQualityHelpers.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/processing/SplitMesh.py b/geos-mesh/src/geos/mesh/processing/SplitMesh.py index c02cb262..0275774e 100644 --- a/geos-mesh/src/geos/mesh/processing/SplitMesh.py +++ b/geos-mesh/src/geos/mesh/processing/SplitMesh.py @@ -190,7 +190,7 @@ def _get_cell_counts( self: Self ) -> CellTypeCounts: filter: CellTypeCounterEnhanced = CellTypeCounterEnhanced() filter.SetInputDataObject( self.inData ) filter.Update() - return filter.GetCellTypeCounts() + return filter.GetCellTypeCountsObject() def _addMidPoint( self: Self, ptA: int, ptB: int ) -> int: """Add a point at the center of the edge defined by input point ids. diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py index 87689926..7fd611eb 100644 --- a/geos-mesh/tests/test_meshQualityHelpers.py +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -16,6 +16,7 @@ from geos.mesh.processing.meshQualityMetricHelpers import ( VtkCellQualityMetricEnum, + CellQualityMetricAdditionalEnum, QualityRange, getCellQualityMeasureFromCellType, getTriangleQualityMeasure, @@ -106,6 +107,8 @@ vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, + CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } wedgeQualityMeasureExp: set[int] = { @@ -120,6 +123,8 @@ vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, + CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } hexQualityMeasureExp: set[int] = { @@ -145,6 +150,8 @@ vtkMeshQuality.QualityMeasureTypes.STRETCH, vtkMeshQuality.QualityMeasureTypes.TAPER, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, + CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } @dataclass( frozen=True ) From 9c0d60bded8d1689e31f12ea8a271a8316fb1434 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 17:09:53 +0200 Subject: [PATCH 59/71] bugs and tests fix --- geos-mesh/tests/test_CellTypeCounter.py | 4 +--- geos-mesh/tests/test_SplitMesh.py | 2 +- geos-mesh/tests/test_helpers_createSingleCellMesh.py | 2 +- geos-mesh/tests/test_helpers_createVertices.py | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 6aa30990..6dddce45 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.utils.helpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.CellTypeCounter import CellTypeCounter from geos.mesh.model.CellTypeCounts import CellTypeCounts @@ -28,8 +28,6 @@ VTK_WEDGE, ) -#from vtkmodules.vtkFiltersSources import vtkCubeSource - data_root: str = os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) filename_all: tuple[ str, ...] = ( "triangle_cell.csv", "quad_cell.csv", "tetra_cell.csv", "pyramid_cell.csv", diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index 08df73a9..a47da853 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh +from geos.mesh.utils.helpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index e77d996b..4c9cdd10 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import createSingleCellMesh +from geos.mesh.utils.helpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_helpers_createVertices.py index 7fd78419..5c6625b2 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_helpers_createVertices.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.vtk.helpers import getBounds, createVertices, createMultiCellMesh +from geos.mesh.utils.helpers import getBounds, createVertices, createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy From 264c72ba6a9d5064d494f42759a91aad7e5e49e0 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 17:30:20 +0200 Subject: [PATCH 60/71] fix merge + fix tests --- .../mesh/doctor/checks/collocated_nodes.py | 2 +- geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 61 --- .../src/geos/mesh/utils/genericHelpers.py | 196 ++++++++- geos-mesh/src/geos/mesh/utils/helpers.py | 395 ------------------ .../tests/test_CellTypeCounterEnhanced.py | 2 +- geos-mesh/tests/test_SplitMesh.py | 2 +- ...eateVertices.py => test_genericHelpers.py} | 8 +- .../test_helpers_createSingleCellMesh.py | 2 +- 8 files changed, 201 insertions(+), 467 deletions(-) delete mode 100644 geos-mesh/src/geos/mesh/utils/helpers.py rename geos-mesh/tests/{test_helpers_createVertices.py => test_genericHelpers.py} (96%) diff --git a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py index 74cbbe8c..ec753908 100644 --- a/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py +++ b/geos-mesh/src/geos/mesh/doctor/checks/collocated_nodes.py @@ -20,7 +20,7 @@ class Result: def __check( mesh, options: Options ) -> Result: - points = mesh.GetPoints() + points: vtkPoints = mesh.GetPoints() locator = vtkIncrementalOctreePointLocator() locator.SetTolerance( options.tolerance ) diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index c16e175a..b3dd16ae 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -566,67 +566,6 @@ def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFra data[ attributeName ] = array return data - -def getBounds( - input: Union[ vtkUnstructuredGrid, - vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: - """Get bounds of either single of composite data set. - - Args: - input (Union[vtkUnstructuredGrid, vtkMultiBlockDataSet]): input mesh - - Returns: - tuple[float, float, float, float, float, float]: tuple containing - bounds (xmin, xmax, ymin, ymax, zmin, zmax) - - """ - if isinstance( input, vtkMultiBlockDataSet ): - return getMultiBlockBounds( input ) - else: - return getMonoBlockBounds( input ) - - -def getMonoBlockBounds( input: vtkUnstructuredGrid, ) -> tuple[ float, float, float, float, float, float ]: - """Get boundary box extrema coordinates for a vtkUnstructuredGrid. - - Args: - input (vtkMultiBlockDataSet): input single block mesh - - Returns: - tuple[float, float, float, float, float, float]: tuple containing - bounds (xmin, xmax, ymin, ymax, zmin, zmax) - - """ - return input.GetBounds() - - -def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, float, float, float, float ]: - """Get boundary box extrema coordinates for a vtkMultiBlockDataSet. - - Args: - input (vtkMultiBlockDataSet): input multiblock mesh - - Returns: - tuple[float, float, float, float, float, float]: bounds. - - """ - xmin, ymin, zmin = 3 * [ np.inf ] - xmax, ymax, zmax = 3 * [ -1.0 * np.inf ] - blockIndexes: list[ int ] = getBlockElementIndexesFlatten( input ) - for blockIndex in blockIndexes: - block0: vtkDataObject = getBlockFromFlatIndex( input, blockIndex ) - assert block0 is not None, "Mesh is undefined." - block: vtkDataSet = vtkDataSet.SafeDownCast( block0 ) - bounds: tuple[ float, float, float, float, float, float ] = block.GetBounds() - xmin = bounds[ 0 ] if bounds[ 0 ] < xmin else xmin - xmax = bounds[ 1 ] if bounds[ 1 ] > xmax else xmax - ymin = bounds[ 2 ] if bounds[ 2 ] < ymin else ymin - ymax = bounds[ 3 ] if bounds[ 3 ] > ymax else ymax - zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin - zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax - return xmin, xmax, ymin, ymax, zmin, zmax - - def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: """Get the coordinates of Cell center. diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 59fbdef1..1f38b0e0 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -1,10 +1,14 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay, Paloma Martinez -from typing import Any, Iterator, List -from vtkmodules.vtkCommonCore import vtkIdList -from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane, vtkCellTypes +import numpy as np +import numpy.typing as npt +from typing import Iterator, List, Sequence, Any, Union +from vtkmodules.util.numpy_support import numpy_to_vtk +from vtkmodules.vtkCommonCore import vtkIdList, vtkPoints, reference +from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkMultiBlockDataSet, vtkPolyData, vtkDataSet, vtkDataObject, vtkPlane, vtkCellTypes, vtkIncrementalOctreePointLocator from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) __doc__ = """ Generic VTK utilities. @@ -79,3 +83,189 @@ def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) - cutter.SetInterpolateAttributes( True ) cutter.Update() return cutter.GetOutputDataObject( 0 ) + + + +def getBounds( + input: Union[ vtkUnstructuredGrid, + vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: + """Get bounds of either single of composite data set. + + Args: + input (Union[vtkUnstructuredGrid, vtkMultiBlockDataSet]): input mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + if isinstance( input, vtkMultiBlockDataSet ): + return getMultiBlockBounds( input ) + else: + return getMonoBlockBounds( input ) + + +def getMonoBlockBounds( input: vtkUnstructuredGrid, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkUnstructuredGrid. + + Args: + input (vtkMultiBlockDataSet): input single block mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + return input.GetBounds() + + +def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkMultiBlockDataSet. + + Args: + input (vtkMultiBlockDataSet): input multiblock mesh + + Returns: + tuple[float, float, float, float, float, float]: bounds. + + """ + xmin, ymin, zmin = 3 * [ np.inf ] + xmax, ymax, zmax = 3 * [ -1.0 * np.inf ] + blockIndexes: list[ int ] = getBlockElementIndexesFlatten( input ) + for blockIndex in blockIndexes: + block0: vtkDataObject = getBlockFromFlatIndex( input, blockIndex ) + assert block0 is not None, "Mesh is undefined." + block: vtkDataSet = vtkDataSet.SafeDownCast( block0 ) + bounds: tuple[ float, float, float, float, float, float ] = block.GetBounds() + xmin = bounds[ 0 ] if bounds[ 0 ] < xmin else xmin + xmax = bounds[ 1 ] if bounds[ 1 ] > xmax else xmax + ymin = bounds[ 2 ] if bounds[ 2 ] < ymin else ymin + ymax = bounds[ 3 ] if bounds[ 3 ] > ymax else ymax + zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin + zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax + return xmin, xmax, ymin, ymax, zmin, zmax + + +def getBoundsFromPointCoords( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: + """Compute bounding box coordinates of the list of points. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of points + + Returns: + Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) + """ + bounds: list[ float ] = [ + np.inf, + -np.inf, + np.inf, + -np.inf, + np.inf, + -np.inf, + ] + for ptsCoords in cellPtsCoord: + mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) + maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) + for i in range( 3 ): + bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) + bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) + return bounds + + +def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: + """Create a mesh that consists of a single cell. + + Args: + cellType (int): cell type + ptsCoord (1DArray[np.float64]): cell point coordinates + + Returns: + vtkUnstructuredGrid: output mesh + """ + nbPoints: int = ptsCoord.shape[ 0 ] + points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) + # Convert points to vtkPoints object + vtkpts: vtkPoints = vtkPoints() + vtkpts.SetData( numpy_to_vtk( points ) ) + + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for j in range( nbPoints ): + cellsID.InsertNextId( j ) + + # add cell to mesh + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + mesh.SetPoints( vtkpts ) + mesh.Allocate( 1 ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createMultiCellMesh( cellTypes: list[ int ], + cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + sharePoints: bool = True ) -> vtkUnstructuredGrid: + """Create a mesh that consists of multiple cells. + + .. WARNING:: the mesh is not check for conformity. + + Args: + cellTypes (list[int]): cell type + cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates + sharePoints (bool): if True, cells share points, else a new point is created for each cell vertex + + Returns: + vtkUnstructuredGrid: output mesh + """ + assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." + nbCells: int = len( cellPtsCoord ) + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + points: vtkPoints + cellVertexMapAll: list[ tuple[ int, ...] ] + points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) + assert len( cellVertexMapAll ) == len( + cellTypes ), "The lists of cell types of cell point ids must be of same size." + mesh.SetPoints( points ) + mesh.Allocate( nbCells ) + # create mesh cells + for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for ptId in ptsId: + cellsID.InsertNextId( ptId ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: + """Create vertices from cell point coordinates list. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates + shared (bool, optional): If True, collocated points are merged. Defaults to True. + + Returns: + tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the + map of cell point ids + """ + # get point bounds + bounds: Sequence[ float ] = getBoundsFromPointCoords( cellPtsCoord ) + points: vtkPoints = vtkPoints() + # use point locator to check for colocated points + pointsLocator = vtkIncrementalOctreePointLocator() + pointsLocator.InitPointInsertion( points, bounds ) + cellVertexMapAll: list[ tuple[ int, ...] ] = [] + ptId: reference = reference( 0 ) + ptsCoords: npt.NDArray[ np.float64 ] + for ptsCoords in cellPtsCoord: + cellVertexMap: list[ int ] = [] + pt: npt.NDArray[ np.float64 ] # 1DArray + for pt in ptsCoords: + if shared: + pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] + else: + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] + cellVertexMap += [ ptId.get() ] # type: ignore + cellVertexMapAll += [ tuple( cellVertexMap ) ] + return points, cellVertexMapAll + diff --git a/geos-mesh/src/geos/mesh/utils/helpers.py b/geos-mesh/src/geos/mesh/utils/helpers.py deleted file mode 100644 index baced4a6..00000000 --- a/geos-mesh/src/geos/mesh/utils/helpers.py +++ /dev/null @@ -1,395 +0,0 @@ -import logging -from copy import deepcopy -import numpy as np -import numpy.typing as npt -from typing import Iterator, Optional, List, Sequence, Union, Any -from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk -from vtkmodules.vtkCommonCore import ( - vtkDataArray, - vtkPoints, - vtkIdList, - reference, -) -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkFieldData, - vtkCellData, - vtkPointData, - vtkDataSet, - vtkCellTypes, - vtkIncrementalOctreePointLocator, -) - -GLOBAL_IDS_ARRAY_NAME: str = "GlobalIds" - - -# copy from geos-posp vtkUtils.getAttributesFromDataSet -def getArraysFromDataSet( object: vtkDataSet, onPoints: bool ) -> dict[ str, int ]: - """Get the dictionnary of all attributes of a vtkDataSet on points or cells. - - Args: - object (vtkDataSet): object where to find the attributes. - onPoints (bool): True if attributes are on points, False if they are - on cells. - - Returns: - dict[str, int]: List of the names of the attributes. - """ - attributes: dict[ str, int ] = {} - data: Union[ vtkPointData, vtkCellData ] - sup: str = "" - if onPoints: - data = object.GetPointData() - sup = "Point" - else: - data = object.GetCellData() - sup = "Cell" - assert data is not None, f"{sup} data was not recovered." - - nbAttributes = data.GetNumberOfArrays() - for i in range( nbAttributes ): - attributeName = data.GetArrayName( i ) - attribute = data.GetArray( attributeName ) - assert attribute is not None, f"Attribut {attributeName} is null" - nbComponents = attribute.GetNumberOfComponents() - attributes[ attributeName ] = nbComponents - return attributes - - -def getBounds( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: - """Compute bounding box coordinates of the list of points. - - Args: - cellPtsCoord (list[npt.NDArray[np.float64]]): list of points - - Returns: - Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) - """ - bounds: list[ float ] = [ - np.inf, - -np.inf, - np.inf, - -np.inf, - np.inf, - -np.inf, - ] - for ptsCoords in cellPtsCoord: - mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) - maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) - for i in range( 3 ): - bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) - bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) - return bounds - - -def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: - """Create a mesh that consists of a single cell. - - Args: - cellType (int): cell type - ptsCoord (1DArray[np.float64]): cell point coordinates - - Returns: - vtkUnstructuredGrid: output mesh - """ - nbPoints: int = ptsCoord.shape[ 0 ] - points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) - # Convert points to vtkPoints object - vtkpts: vtkPoints = vtkPoints() - vtkpts.SetData( numpy_to_vtk( points ) ) - - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for j in range( nbPoints ): - cellsID.InsertNextId( j ) - - # add cell to mesh - mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - mesh.SetPoints( vtkpts ) - mesh.Allocate( 1 ) - mesh.InsertNextCell( cellType, cellsID ) - return mesh - - -def createMultiCellMesh( cellTypes: list[ int ], - cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], - sharePoints: bool = True ) -> vtkUnstructuredGrid: - """Create a mesh that consists of multiple cells. - - .. WARNING:: the mesh is not check for conformity. - - Args: - cellTypes (list[int]): cell type - cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates - sharePoints (bool): if True, cells share points, else a new point is created for each cell vertex - - Returns: - vtkUnstructuredGrid: output mesh - """ - assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." - nbCells: int = len( cellPtsCoord ) - mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() - points: vtkPoints - cellVertexMapAll: list[ tuple[ int, ...] ] - points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) - assert len( cellVertexMapAll ) == len( - cellTypes ), "The lists of cell types of cell point ids must be of same size." - mesh.SetPoints( points ) - mesh.Allocate( nbCells ) - # create mesh cells - for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): - # create cells from point ids - cellsID: vtkIdList = vtkIdList() - for ptId in ptsId: - cellsID.InsertNextId( ptId ) - mesh.InsertNextCell( cellType, cellsID ) - return mesh - - -def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], - shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: - """Create vertices from cell point coordinates list. - - Args: - cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates - shared (bool, optional): If True, collocated points are merged. Defaults to True. - - Returns: - tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the - map of cell point ids - """ - # get point bounds - bounds: Sequence[ float ] = getBounds( cellPtsCoord ) - points: vtkPoints = vtkPoints() - # use point locator to check for colocated points - pointsLocator = vtkIncrementalOctreePointLocator() - pointsLocator.InitPointInsertion( points, bounds ) - cellVertexMapAll: list[ tuple[ int, ...] ] = [] - ptId: reference = reference( 0 ) - ptsCoords: npt.NDArray[ np.float64 ] - for ptsCoords in cellPtsCoord: - cellVertexMap: list[ int ] = [] - pt: npt.NDArray[ np.float64 ] # 1DArray - for pt in ptsCoords: - if shared: - pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] - else: - pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] - cellVertexMap += [ ptId.get() ] # type: ignore - cellVertexMapAll += [ tuple( cellVertexMap ) ] - return points, cellVertexMapAll - - -def to_vtk_id_list( data: Sequence[ Any ] ) -> vtkIdList: - """Generate vtkIdList from iterable object. - - Args: - data (Sequence [ Any ]): iterable object - - Returns: - vtkIdList: id list - """ - result = vtkIdList() - result.Allocate( len( data ) ) - for d in data: - result.InsertNextId( d ) - return result - - -def vtk_iter( vtkContainer: vtkIdList | vtkCellTypes ) -> Iterator[ Any ]: - """Create an iterable from a vtk "container". - - To be used for building built-inspython containers. - - Args: - vtkContainer (vtkIdList | vtkCellTypes): A vtk container. - - Yields: - Iterator[ any ]: The iterator. - """ - if isinstance( vtkContainer, vtkIdList ): - for i in range( vtkContainer.GetNumberOfIds() ): # type: ignore[attr-defined] - yield vtkContainer.GetId( i ) # type: ignore[attr-defined] - elif isinstance( vtkContainer, vtkCellTypes ): - for i in range( vtkContainer.GetNumberOfTypes() ): # type: ignore[attr-defined] - yield vtkContainer.GetCellType( i ) # type: ignore[attr-defined] - - -def has_invalid_arrays( object: vtkDataSet, invalid_arrays: List[ str ] ) -> bool: - """Check object contains arrays from invalid_arrays list. - - Checks if a mesh contains at least a data arrays within its cell, field or point data - having a certain name. If so, returns True, else False. - - Args: - object (vtkDataSet): An object. - invalid_arrays (list[str]): Array names to check. - - Returns: - bool: True if at least one array was found, else False. - """ - # Check the cell data arrays - cell_data = object.GetCellData() - for i in range( cell_data.GetNumberOfArrays() ): - if cell_data.GetArrayName( i ) in invalid_arrays: - logging.error( f"The mesh contains an invalid cell array name '{cell_data.GetArrayName( i )}'." ) - return True - # Check the field data arrays - field_data = object.GetFieldData() - for i in range( field_data.GetNumberOfArrays() ): - if field_data.GetArrayName( i ) in invalid_arrays: - logging.error( f"The mesh contains an invalid field array name '{field_data.GetArrayName( i )}'." ) - return True - # Check the point data arrays - point_data = object.GetPointData() - for i in range( point_data.GetNumberOfArrays() ): - if point_data.GetArrayName( i ) in invalid_arrays: - logging.error( f"The mesh contains an invalid point array name '{point_data.GetArrayName( i )}'." ) - return True - return False - - -def getArrayType( data: vtkFieldData ) -> str: - """Get field data type. - - Args: - data (vtkFieldData): input vtkFieldData. - - Raises: - ValueError: if input is not a vtkFieldData. - - Returns: - str: array type. - """ - if not data.IsA( "vtkFieldData" ): - raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) - if data.IsA( "vtkCellData" ): - return "vtkCellData" - elif data.IsA( "vtkPointData" ): - return "vtkPointData" - else: - return "vtkFieldData" - - -def getArrayNames( data: vtkFieldData ) -> List[ str ]: - """Get all array names. - - Args: - data (vtkFieldData): input vtkFieldData - - Raises: - ValueError: if input is not a vtkFieldData - - Returns: - List[ str ]: list of array names. - """ - if not data.IsA( "vtkFieldData" ): - raise ValueError( f"data '{data}' entered is not a vtkFieldData object." ) - return [ data.GetArrayName( i ) for i in range( data.GetNumberOfArrays() ) ] - - -def getArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: - """Get array from name. - - Args: - data (vtkFieldData): field data - name (str): name of the array - - Returns: - Optional[ vtkDataArray ]: output array if it exists or None. - """ - if data.HasArray( name ): - return data.GetArray( name ) - logging.warning( f"No array named '{name}' was found in '{data}'." ) - return None - - -def getCopyArrayByName( data: vtkFieldData, name: str ) -> Optional[ vtkDataArray ]: - """Get a deep copy of an array from name. - - Args: - data (vtkFieldData): field data - name (str): name of the array - - Returns: - Optional[ vtkDataArray ]: deep copy of the array if it exists or None. - """ - return deepcopy( getArrayByName( data, name ) ) - - -def getGlobalIdsArray( data: vtkFieldData ) -> Optional[ vtkDataArray ]: - """Get GlobalIds array. - - Args: - data (vtkFieldData): field data - - Returns: - Optional[ vtkDataArray ]: output array - """ - array_names: List[ str ] = getArrayNames( data ) - for name in array_names: - if name == GLOBAL_IDS_ARRAY_NAME: - return getCopyArrayByName( data, name ) - logging.warning( f"No {GLOBAL_IDS_ARRAY_NAME} array was found." ) - return None - - -def getNumpyGlobalIdsArray( data: vtkFieldData ) -> Optional[ npt.NDArray[ np.int64 ] ]: - """Get GlobalIds array as numpy array. - - Args: - data (vtkFieldData): field data - - Returns: - Optional[npt.NDArray[np.int64]]: output numpy array - """ - return vtk_to_numpy( getGlobalIdsArray( data ) ) - - -def sortArrayByGlobalIds( data: vtkFieldData, arr: npt.NDArray[ np.float64 ] ) -> None: - """Sort inplace input array by GlobalIds. - - Args: - data (vtkFieldData): field data - arr (npt.NDArray[np.int64]): array to sort - """ - globalids: npt.NDArray[ np.int64 ] | None = getNumpyGlobalIdsArray( data ) - if globalids is not None: - arr = arr[ np.argsort( globalids ) ] - else: - logging.warning( "No sorting was performed." ) # type: ignore[unreachable] - - -def getNumpyArrayByName( data: vtkFieldData, name: str, sorted: bool = False ) -> Optional[ npt.NDArray[ np.float64 ] ]: - """Get numpy array from name. - - Args: - data (vtkFieldData): field data - name (str): array name - sorted (bool): True to sort output array. Defaults to False. - - Returns: - Optional[npt.NDArray[np.int64]]: output numpy array - """ - arr: npt.NDArray[ np.float64 ] = vtk_to_numpy( getArrayByName( data, name ) ) - if arr is not None: - if sorted: - sortArrayByGlobalIds( data, arr ) - return arr - return None # type: ignore[unreachable] - - -def getCopyNumpyArrayByName( data: vtkFieldData, - name: str, - sorted: bool = False ) -> Optional[ npt.NDArray[ np.float64 ] ]: - """Get a deep copy of numpy array from name. - - Args: - data (vtkFieldData): field data - name (str): array name - sorted (bool): True to sort output array. Defaults to False. - - Returns: - Optional[npt.NDArray[np.int64]]: output numpy array - """ - return deepcopy( getNumpyArrayByName( data, name, sorted=sorted ) ) diff --git a/geos-mesh/tests/test_CellTypeCounterEnhanced.py b/geos-mesh/tests/test_CellTypeCounterEnhanced.py index 84133d42..d711cf7c 100644 --- a/geos-mesh/tests/test_CellTypeCounterEnhanced.py +++ b/geos-mesh/tests/test_CellTypeCounterEnhanced.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index a47da853..2a73cb58 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_genericHelpers.py similarity index 96% rename from geos-mesh/tests/test_helpers_createVertices.py rename to geos-mesh/tests/test_genericHelpers.py index 5c6625b2..f77bc6f2 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_genericHelpers.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import getBounds, createVertices, createMultiCellMesh +from geos.mesh.utils.genericHelpers import getBoundsFromPointCoords, createVertices, createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy @@ -173,8 +173,8 @@ def test_createMultiCellMesh( test_case: TestCase ) -> None: assert cellsOutObs == test_case.cellPtsIdsExp[ cellId ], "Cell point ids are wrong." -def test_getBounds() -> None: - """Test of getBounds method.""" +def test_getBoundsFromPointCoords() -> None: + """Test of getBoundsFromPointCoords method.""" # input cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] = [ np.array( [ [ 5, 4, 3 ], [ 1, 8, 4 ], [ 2, 5, 7 ] ], dtype=float ), @@ -184,5 +184,5 @@ def test_getBounds() -> None: ] # expected output boundsExp: list[ float ] = [ 0., 5., 1., 8., 2., 9. ] - boundsObs: list[ float ] = getBounds( cellPtsCoord ) + boundsObs: list[ float ] = getBoundsFromPointCoords( cellPtsCoord ) assert boundsExp == boundsObs, f"Expected bounds are {boundsExp}." diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_helpers_createSingleCellMesh.py index 4c9cdd10..d058c537 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_helpers_createSingleCellMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy From 8a3c4ab35d9e218910ce63a79e121e7f327673dc Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 17:33:28 +0200 Subject: [PATCH 61/71] Fix merge and tests --- .../src/geos/mesh/utils/genericHelpers.py | 196 +++++++++++++++++- geos-mesh/tests/test_CellTypeCounter.py | 2 +- geos-mesh/tests/test_SplitMesh.py | 2 +- ...eateVertices.py => test_genericHelpers.py} | 8 +- ...st_genericHelpers_createSingleCellMesh.py} | 2 +- 5 files changed, 200 insertions(+), 10 deletions(-) rename geos-mesh/tests/{test_helpers_createVertices.py => test_genericHelpers.py} (96%) rename geos-mesh/tests/{test_helpers_createSingleCellMesh.py => test_genericHelpers_createSingleCellMesh.py} (98%) diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 59fbdef1..1f38b0e0 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -1,10 +1,14 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Martin Lemay, Paloma Martinez -from typing import Any, Iterator, List -from vtkmodules.vtkCommonCore import vtkIdList -from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkPolyData, vtkPlane, vtkCellTypes +import numpy as np +import numpy.typing as npt +from typing import Iterator, List, Sequence, Any, Union +from vtkmodules.util.numpy_support import numpy_to_vtk +from vtkmodules.vtkCommonCore import vtkIdList, vtkPoints, reference +from vtkmodules.vtkCommonDataModel import vtkUnstructuredGrid, vtkMultiBlockDataSet, vtkPolyData, vtkDataSet, vtkDataObject, vtkPlane, vtkCellTypes, vtkIncrementalOctreePointLocator from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter +from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) __doc__ = """ Generic VTK utilities. @@ -79,3 +83,189 @@ def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) - cutter.SetInterpolateAttributes( True ) cutter.Update() return cutter.GetOutputDataObject( 0 ) + + + +def getBounds( + input: Union[ vtkUnstructuredGrid, + vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: + """Get bounds of either single of composite data set. + + Args: + input (Union[vtkUnstructuredGrid, vtkMultiBlockDataSet]): input mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + if isinstance( input, vtkMultiBlockDataSet ): + return getMultiBlockBounds( input ) + else: + return getMonoBlockBounds( input ) + + +def getMonoBlockBounds( input: vtkUnstructuredGrid, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkUnstructuredGrid. + + Args: + input (vtkMultiBlockDataSet): input single block mesh + + Returns: + tuple[float, float, float, float, float, float]: tuple containing + bounds (xmin, xmax, ymin, ymax, zmin, zmax) + + """ + return input.GetBounds() + + +def getMultiBlockBounds( input: vtkMultiBlockDataSet, ) -> tuple[ float, float, float, float, float, float ]: + """Get boundary box extrema coordinates for a vtkMultiBlockDataSet. + + Args: + input (vtkMultiBlockDataSet): input multiblock mesh + + Returns: + tuple[float, float, float, float, float, float]: bounds. + + """ + xmin, ymin, zmin = 3 * [ np.inf ] + xmax, ymax, zmax = 3 * [ -1.0 * np.inf ] + blockIndexes: list[ int ] = getBlockElementIndexesFlatten( input ) + for blockIndex in blockIndexes: + block0: vtkDataObject = getBlockFromFlatIndex( input, blockIndex ) + assert block0 is not None, "Mesh is undefined." + block: vtkDataSet = vtkDataSet.SafeDownCast( block0 ) + bounds: tuple[ float, float, float, float, float, float ] = block.GetBounds() + xmin = bounds[ 0 ] if bounds[ 0 ] < xmin else xmin + xmax = bounds[ 1 ] if bounds[ 1 ] > xmax else xmax + ymin = bounds[ 2 ] if bounds[ 2 ] < ymin else ymin + ymax = bounds[ 3 ] if bounds[ 3 ] > ymax else ymax + zmin = bounds[ 4 ] if bounds[ 4 ] < zmin else zmin + zmax = bounds[ 5 ] if bounds[ 5 ] > zmax else zmax + return xmin, xmax, ymin, ymax, zmin, zmax + + +def getBoundsFromPointCoords( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] ) -> Sequence[ float ]: + """Compute bounding box coordinates of the list of points. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of points + + Returns: + Sequence[float]: bounding box coordinates (xmin, xmax, ymin, ymax, zmin, zmax) + """ + bounds: list[ float ] = [ + np.inf, + -np.inf, + np.inf, + -np.inf, + np.inf, + -np.inf, + ] + for ptsCoords in cellPtsCoord: + mins: npt.NDArray[ np.float64 ] = np.min( ptsCoords, axis=0 ) + maxs: npt.NDArray[ np.float64 ] = np.max( ptsCoords, axis=0 ) + for i in range( 3 ): + bounds[ 2 * i ] = float( min( bounds[ 2 * i ], mins[ i ] ) ) + bounds[ 2 * i + 1 ] = float( max( bounds[ 2 * i + 1 ], maxs[ i ] ) ) + return bounds + + +def createSingleCellMesh( cellType: int, ptsCoord: npt.NDArray[ np.float64 ] ) -> vtkUnstructuredGrid: + """Create a mesh that consists of a single cell. + + Args: + cellType (int): cell type + ptsCoord (1DArray[np.float64]): cell point coordinates + + Returns: + vtkUnstructuredGrid: output mesh + """ + nbPoints: int = ptsCoord.shape[ 0 ] + points: npt.NDArray[ np.float64 ] = np.vstack( ( ptsCoord, ) ) + # Convert points to vtkPoints object + vtkpts: vtkPoints = vtkPoints() + vtkpts.SetData( numpy_to_vtk( points ) ) + + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for j in range( nbPoints ): + cellsID.InsertNextId( j ) + + # add cell to mesh + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + mesh.SetPoints( vtkpts ) + mesh.Allocate( 1 ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createMultiCellMesh( cellTypes: list[ int ], + cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + sharePoints: bool = True ) -> vtkUnstructuredGrid: + """Create a mesh that consists of multiple cells. + + .. WARNING:: the mesh is not check for conformity. + + Args: + cellTypes (list[int]): cell type + cellPtsCoord (list[1DArray[np.float64]]): list of cell point coordinates + sharePoints (bool): if True, cells share points, else a new point is created for each cell vertex + + Returns: + vtkUnstructuredGrid: output mesh + """ + assert len( cellPtsCoord ) == len( cellTypes ), "The lists of cell types of point coordinates must be of same size." + nbCells: int = len( cellPtsCoord ) + mesh: vtkUnstructuredGrid = vtkUnstructuredGrid() + points: vtkPoints + cellVertexMapAll: list[ tuple[ int, ...] ] + points, cellVertexMapAll = createVertices( cellPtsCoord, sharePoints ) + assert len( cellVertexMapAll ) == len( + cellTypes ), "The lists of cell types of cell point ids must be of same size." + mesh.SetPoints( points ) + mesh.Allocate( nbCells ) + # create mesh cells + for cellType, ptsId in zip( cellTypes, cellVertexMapAll, strict=True ): + # create cells from point ids + cellsID: vtkIdList = vtkIdList() + for ptId in ptsId: + cellsID.InsertNextId( ptId ) + mesh.InsertNextCell( cellType, cellsID ) + return mesh + + +def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], + shared: bool = True ) -> tuple[ vtkPoints, list[ tuple[ int, ...] ] ]: + """Create vertices from cell point coordinates list. + + Args: + cellPtsCoord (list[npt.NDArray[np.float64]]): list of cell point coordinates + shared (bool, optional): If True, collocated points are merged. Defaults to True. + + Returns: + tuple[vtkPoints, list[tuple[int, ...]]]: tuple containing points and the + map of cell point ids + """ + # get point bounds + bounds: Sequence[ float ] = getBoundsFromPointCoords( cellPtsCoord ) + points: vtkPoints = vtkPoints() + # use point locator to check for colocated points + pointsLocator = vtkIncrementalOctreePointLocator() + pointsLocator.InitPointInsertion( points, bounds ) + cellVertexMapAll: list[ tuple[ int, ...] ] = [] + ptId: reference = reference( 0 ) + ptsCoords: npt.NDArray[ np.float64 ] + for ptsCoords in cellPtsCoord: + cellVertexMap: list[ int ] = [] + pt: npt.NDArray[ np.float64 ] # 1DArray + for pt in ptsCoords: + if shared: + pointsLocator.InsertUniquePoint( pt.tolist(), ptId ) # type: ignore[arg-type] + else: + pointsLocator.InsertPointWithoutChecking( pt.tolist(), ptId, 1 ) # type: ignore[arg-type] + cellVertexMap += [ ptId.get() ] # type: ignore + cellVertexMapAll += [ tuple( cellVertexMap ) ] + return points, cellVertexMapAll + diff --git a/geos-mesh/tests/test_CellTypeCounter.py b/geos-mesh/tests/test_CellTypeCounter.py index 6dddce45..6da50c5c 100644 --- a/geos-mesh/tests/test_CellTypeCounter.py +++ b/geos-mesh/tests/test_CellTypeCounter.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh, createMultiCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh, createMultiCellMesh from geos.mesh.stats.CellTypeCounter import CellTypeCounter from geos.mesh.model.CellTypeCounts import CellTypeCounts diff --git a/geos-mesh/tests/test_SplitMesh.py b/geos-mesh/tests/test_SplitMesh.py index a47da853..2a73cb58 100644 --- a/geos-mesh/tests/test_SplitMesh.py +++ b/geos-mesh/tests/test_SplitMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh from geos.mesh.processing.SplitMesh import SplitMesh from vtkmodules.util.numpy_support import vtk_to_numpy diff --git a/geos-mesh/tests/test_helpers_createVertices.py b/geos-mesh/tests/test_genericHelpers.py similarity index 96% rename from geos-mesh/tests/test_helpers_createVertices.py rename to geos-mesh/tests/test_genericHelpers.py index 5c6625b2..f77bc6f2 100644 --- a/geos-mesh/tests/test_helpers_createVertices.py +++ b/geos-mesh/tests/test_genericHelpers.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import getBounds, createVertices, createMultiCellMesh +from geos.mesh.utils.genericHelpers import getBoundsFromPointCoords, createVertices, createMultiCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy @@ -173,8 +173,8 @@ def test_createMultiCellMesh( test_case: TestCase ) -> None: assert cellsOutObs == test_case.cellPtsIdsExp[ cellId ], "Cell point ids are wrong." -def test_getBounds() -> None: - """Test of getBounds method.""" +def test_getBoundsFromPointCoords() -> None: + """Test of getBoundsFromPointCoords method.""" # input cellPtsCoord: list[ npt.NDArray[ np.float64 ] ] = [ np.array( [ [ 5, 4, 3 ], [ 1, 8, 4 ], [ 2, 5, 7 ] ], dtype=float ), @@ -184,5 +184,5 @@ def test_getBounds() -> None: ] # expected output boundsExp: list[ float ] = [ 0., 5., 1., 8., 2., 9. ] - boundsObs: list[ float ] = getBounds( cellPtsCoord ) + boundsObs: list[ float ] = getBoundsFromPointCoords( cellPtsCoord ) assert boundsExp == boundsObs, f"Expected bounds are {boundsExp}." diff --git a/geos-mesh/tests/test_helpers_createSingleCellMesh.py b/geos-mesh/tests/test_genericHelpers_createSingleCellMesh.py similarity index 98% rename from geos-mesh/tests/test_helpers_createSingleCellMesh.py rename to geos-mesh/tests/test_genericHelpers_createSingleCellMesh.py index 4c9cdd10..d058c537 100644 --- a/geos-mesh/tests/test_helpers_createSingleCellMesh.py +++ b/geos-mesh/tests/test_genericHelpers_createSingleCellMesh.py @@ -9,7 +9,7 @@ from typing import ( Iterator, ) -from geos.mesh.utils.helpers import createSingleCellMesh +from geos.mesh.utils.genericHelpers import createSingleCellMesh from vtkmodules.util.numpy_support import vtk_to_numpy From 2318b7e1de70165ba1bedc6613ebc52a040496de Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 17:38:25 +0200 Subject: [PATCH 62/71] yapf fix --- geos-mesh/src/geos/mesh/utils/genericHelpers.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index 1f38b0e0..2faf092d 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -85,7 +85,6 @@ def extractSurfaceFromElevation( mesh: vtkUnstructuredGrid, elevation: float ) - return cutter.GetOutputDataObject( 0 ) - def getBounds( input: Union[ vtkUnstructuredGrid, vtkMultiBlockDataSet ] ) -> tuple[ float, float, float, float, float, float ]: @@ -268,4 +267,3 @@ def createVertices( cellPtsCoord: list[ npt.NDArray[ np.float64 ] ], cellVertexMap += [ ptId.get() ] # type: ignore cellVertexMapAll += [ tuple( cellVertexMap ) ] return points, cellVertexMapAll - From 35cf05cd0a88d817479016883ec70b1b23ec95b5 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 17:53:55 +0200 Subject: [PATCH 63/71] fix bugs and add doc --- docs/geos_mesh_docs/model.rst | 10 +++++++++- docs/geos_mesh_docs/processing.rst | 8 ++++++++ docs/geos_mesh_docs/stats.rst | 8 ++++++++ geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py | 4 ++-- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/geos_mesh_docs/model.rst b/docs/geos_mesh_docs/model.rst index ead57332..49e07753 100644 --- a/docs/geos_mesh_docs/model.rst +++ b/docs/geos_mesh_docs/model.rst @@ -4,10 +4,18 @@ Model The `model` module of `geos-mesh` package contains data model. -geos.mesh.model.CellTypeCounts filter +geos.mesh.model.CellTypeCounts module -------------------------------------- .. automodule:: geos.mesh.model.CellTypeCounts + :members: + :undoc-members: + :show-inheritance: + +geos.mesh.model.QualityMetricSummary module +-------------------------------------------- + +.. automodule:: geos.mesh.model.QualityMetricSummary :members: :undoc-members: :show-inheritance: \ No newline at end of file diff --git a/docs/geos_mesh_docs/processing.rst b/docs/geos_mesh_docs/processing.rst index d79db6db..5de7df62 100644 --- a/docs/geos_mesh_docs/processing.rst +++ b/docs/geos_mesh_docs/processing.rst @@ -4,6 +4,14 @@ Processing filters The `processing` module of `geos-mesh` package contains filters to process meshes. +geos.mesh.processing.meshQualityMetricHelpers module +----------------------------------------------------- + +.. automodule:: geos.mesh.processing.SplitMesh + :members: + :undoc-members: + :show-inheritance: + geos.mesh.processing.SplitMesh filter -------------------------------------- diff --git a/docs/geos_mesh_docs/stats.rst b/docs/geos_mesh_docs/stats.rst index 50664514..ae4464b4 100644 --- a/docs/geos_mesh_docs/stats.rst +++ b/docs/geos_mesh_docs/stats.rst @@ -8,6 +8,14 @@ geos.mesh.stats.CellTypeCounter filter -------------------------------------- .. automodule:: geos.mesh.stats.CellTypeCounter + :members: + :undoc-members: + :show-inheritance: + +geos.mesh.stats.MeshQualityEnhanced filter +------------------------------------------- + +.. automodule:: geos.mesh.stats.MeshQualityEnhanced :members: :undoc-members: :show-inheritance: \ No newline at end of file diff --git a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py index dd45ac87..f3ad1b6f 100644 --- a/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py +++ b/geos-mesh/src/geos/mesh/stats/MeshQualityEnhanced.py @@ -28,7 +28,7 @@ from geos.mesh.stats.CellTypeCounterEnhanced import CellTypeCounterEnhanced from geos.mesh.model.CellTypeCounts import CellTypeCounts from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes -from geos.mesh.utils.helpers import getArraysFromDataSet +from geos.mesh.utils.arrayHelpers import getAttributesFromDataSet from geos.mesh.processing.meshQualityMetricHelpers import ( getQualityMeasureNameFromIndex, getQualityMetricFromIndex, @@ -360,7 +360,7 @@ def _evaluateCellQuality( self: Self, metricIndex: int, cellType: int ) -> None: cellType (int): cell type index """ arrayName: str = getQualityMetricArrayName( metricIndex ) - if arrayName in getArraysFromDataSet( self._outputMesh, False ): + if arrayName in getAttributesFromDataSet( self._outputMesh, False ): # metric is already computed (by default computed for all cell types if applicable) return From bceb4bbcc87b4f9f9b034c11b7d3ac710a5be67a Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 18:04:09 +0200 Subject: [PATCH 64/71] ci fix --- .../src/geos/utils/geometryFunctions.py | 88 +++++++------ geos-utils/tests/testsGeometryFunctions.py | 122 +++++++++++++----- 2 files changed, 134 insertions(+), 76 deletions(-) diff --git a/geos-utils/src/geos/utils/geometryFunctions.py b/geos-utils/src/geos/utils/geometryFunctions.py index 0b44130f..8fc901df 100644 --- a/geos-utils/src/geos/utils/geometryFunctions.py +++ b/geos-utils/src/geos/utils/geometryFunctions.py @@ -94,6 +94,7 @@ def computePlaneFrom3Points( d: float = -np.dot( normal, pt1 ) return a, b, c, d + def getCellSideAgainstPlane( cellPtsCoords: npt.NDArray[ np.floating[ Any ] ], planePt: npt.NDArray[ np.floating[ Any ] ], @@ -117,6 +118,7 @@ def getCellSideAgainstPlane( ptCenter: npt.NDArray[ np.floating[ Any ] ] = np.mean( cellPtsCoords, axis=0 ) return getPointSideAgainstPlane( ptCenter, planePt, planeNormal ) + def getPointSideAgainstPlane( ptCoords: npt.NDArray[ np.floating[ Any ] ], planePt: npt.NDArray[ np.floating[ Any ] ], @@ -144,10 +146,9 @@ def getPointSideAgainstPlane( assert abs( dot ) > EPSILON, "The point is on the plane." return dot > 0 -def computeAngleFromPoints(pt1: npt.NDArray[np.float64], - pt2: npt.NDArray[np.float64], - pt3: npt.NDArray[np.float64] - ) -> float: + +def computeAngleFromPoints( pt1: npt.NDArray[ np.float64 ], pt2: npt.NDArray[ np.float64 ], + pt3: npt.NDArray[ np.float64 ] ) -> float: """Compute angle from 3 points. Args: @@ -159,13 +160,15 @@ def computeAngleFromPoints(pt1: npt.NDArray[np.float64], float: angle """ # compute vectors - vec1: npt.NDArray[np.float64] = pt1 - pt2 - vec2: npt.NDArray[np.float64] = pt3 - pt2 - return computeAngleFromVectors(vec1, vec2) + vec1: npt.NDArray[ np.float64 ] = pt1 - pt2 + vec2: npt.NDArray[ np.float64 ] = pt3 - pt2 + return computeAngleFromVectors( vec1, vec2 ) + -def computeAngleFromVectors(vec1: npt.NDArray[np.float64], - vec2: npt.NDArray[np.float64], - ) -> float: +def computeAngleFromVectors( + vec1: npt.NDArray[ np.float64 ], + vec2: npt.NDArray[ np.float64 ], +) -> float: """Compute angle from 2 vectors. Args: @@ -175,26 +178,28 @@ def computeAngleFromVectors(vec1: npt.NDArray[np.float64], Returns: float: angle """ - assert abs(np.linalg.norm(vec1)) > 0., "First vector cannot be null" - assert abs(np.linalg.norm(vec2)) > 0., "Second vector cannot be null" + assert abs( np.linalg.norm( vec1 ) ) > 0., "First vector cannot be null" + assert abs( np.linalg.norm( vec2 ) ) > 0., "Second vector cannot be null" # normalization - vec1_norm: npt.NDArray[np.float64] = vec1 / np.linalg.norm(vec1) - vec2_norm: npt.NDArray[np.float64] = vec2 / np.linalg.norm(vec2) - dot: float = np.dot(vec1, vec2) - det: float = np.linalg.det((vec1_norm, vec2_norm)) + vec1_norm: npt.NDArray[ np.float64 ] = vec1 / np.linalg.norm( vec1 ) + vec2_norm: npt.NDArray[ np.float64 ] = vec2 / np.linalg.norm( vec2 ) + dot: float = np.dot( vec1, vec2 ) + det: float = np.linalg.det( ( vec1_norm, vec2_norm ) ) # truncation due to numerical approximations if dot > 1.: dot = 1. if dot < -1.: dot = -1. - teta: float = np.arccos(dot) + teta: float = np.arccos( dot ) if det < 0: teta = 2.0 * np.pi - teta return teta -def computeCosineFromVectors(vec1: npt.NDArray[np.float64], - vec2: npt.NDArray[np.float64], - ) -> float: + +def computeCosineFromVectors( + vec1: npt.NDArray[ np.float64 ], + vec2: npt.NDArray[ np.float64 ], +) -> float: """Compute cosine from 2 vectors. Args: @@ -204,17 +209,16 @@ def computeCosineFromVectors(vec1: npt.NDArray[np.float64], Returns: float: cosine """ - assert abs(np.linalg.norm(vec1)) > 0., "First vector cannot be null" - assert abs(np.linalg.norm(vec2)) > 0., "Second vector cannot be null" + assert abs( np.linalg.norm( vec1 ) ) > 0., "First vector cannot be null" + assert abs( np.linalg.norm( vec2 ) ) > 0., "Second vector cannot be null" # normalization - vec1_norm: npt.NDArray[np.float64] = vec1 / np.linalg.norm(vec1) - vec2_norm: npt.NDArray[np.float64] = vec2 / np.linalg.norm(vec2) - return np.dot(vec1_norm, vec2_norm) - -def computeNormalFromPoints(pt1: npt.NDArray[np.float64], - pt2: npt.NDArray[np.float64], - pt3: npt.NDArray[np.float64] - ) -> npt.NDArray[np.float64]: + vec1_norm: npt.NDArray[ np.float64 ] = vec1 / np.linalg.norm( vec1 ) + vec2_norm: npt.NDArray[ np.float64 ] = vec2 / np.linalg.norm( vec2 ) + return np.dot( vec1_norm, vec2_norm ) + + +def computeNormalFromPoints( pt1: npt.NDArray[ np.float64 ], pt2: npt.NDArray[ np.float64 ], + pt3: npt.NDArray[ np.float64 ] ) -> npt.NDArray[ np.float64 ]: """Compute the normal of a plane defined from 3 points. Args: @@ -226,13 +230,15 @@ def computeNormalFromPoints(pt1: npt.NDArray[np.float64], npt.NDArray[np.float64]: normal vector coordinates """ # compute vectors - vec1: npt.NDArray[np.float64] = pt1 - pt2 - vec2: npt.NDArray[np.float64] = pt3 - pt2 - return computeNormalFromVectors(vec1, vec2) + vec1: npt.NDArray[ np.float64 ] = pt1 - pt2 + vec2: npt.NDArray[ np.float64 ] = pt3 - pt2 + return computeNormalFromVectors( vec1, vec2 ) + -def computeNormalFromVectors(vec1: npt.NDArray[np.float64], - vec2: npt.NDArray[np.float64], - ) -> npt.NDArray[np.float64]: +def computeNormalFromVectors( + vec1: npt.NDArray[ np.float64 ], + vec2: npt.NDArray[ np.float64 ], +) -> npt.NDArray[ np.float64 ]: """Compute the normal of a plane defined from 2 vectors. Args: @@ -242,9 +248,9 @@ def computeNormalFromVectors(vec1: npt.NDArray[np.float64], Returns: npt.NDArray[np.float64]: normal vector coordinates """ - assert abs(np.linalg.norm(vec1)) > 0., "first and second points must be different" - assert abs(np.linalg.norm(vec2)) > 0., "Second and third points must be different" + assert abs( np.linalg.norm( vec1 ) ) > 0., "first and second points must be different" + assert abs( np.linalg.norm( vec2 ) ) > 0., "Second and third points must be different" # normalization - vec1_norm = vec1 / np.linalg.norm(vec1) - vec2_norm = vec2 / np.linalg.norm(vec2) - return np.cross(vec1_norm, vec2_norm) + vec1_norm = vec1 / np.linalg.norm( vec1 ) + vec2_norm = vec2 / np.linalg.norm( vec2 ) + return np.cross( vec1_norm, vec2_norm ) diff --git a/geos-utils/tests/testsGeometryFunctions.py b/geos-utils/tests/testsGeometryFunctions.py index d60b0006..9479ad90 100644 --- a/geos-utils/tests/testsGeometryFunctions.py +++ b/geos-utils/tests/testsGeometryFunctions.py @@ -24,18 +24,23 @@ npt.NDArray[ np.float64 ] ] = ( np.array( [ 0.0, 2.0, 0.0 ] ), np.array( [ -2.0, 0.0, 0.0 ] ), np.array( [ 0.0, 0.0, 2.0 ] ) ) + def test_getChangeOfBasisMatrixToCanonic() -> None: """Test change of basis matrix using canonic basis.""" obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisCanon ) # matrix where the columns are the vectors expected: npt.NDArray[ np.float64 ] = np.transpose( np.array( basisTo0 ) ) - assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), + equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + def test_getChangeOfBasisMatrix() -> None: """Test change of basis matrix format from basis vectors.""" obtained: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) expected: npt.NDArray[ np.float64 ] = np.array( [ [ 2.5, 4.5, -0.5 ], [ 0.5, 0.5, 0.5 ], [ -0.5, -0.5, 0.5 ] ] ) - assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), + equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + def test_computeCoordinatesInNewBasisIdentity() -> None: """Test calculation of coordinates of a vector in the same basis.""" @@ -45,7 +50,9 @@ def test_computeCoordinatesInNewBasisIdentity() -> None: changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisCanon, basisCanon ) obtained: npt.NDArray[ np.float64 ] = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) expected: npt.NDArray[ np.float64 ] = vec - assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), + equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + def test_computeCoordinatesInNewBasis() -> None: """Test calculation of coordinates of a vector in another basis.""" @@ -55,7 +62,9 @@ def test_computeCoordinatesInNewBasis() -> None: changeOfBasisMatrix: npt.NDArray[ np.float64 ] = fcts.getChangeOfBasisMatrix( basisTo0, basisTo1 ) obtained = fcts.computeCoordinatesInNewBasis( vec, changeOfBasisMatrix ) expected: npt.NDArray[ np.float64 ] = np.array( [ 16.5, 4.5, -0.5 ] ) - assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + assert np.array_equal( np.round( obtained, 2 ), np.round( expected, 2 ), + equal_nan=True ), f"Expected array is {np.round( expected, 2 ).tolist()}" + def test_computePlaneFrom3Points() -> None: """Test calculation of plane coefficients from 3 points.""" @@ -66,19 +75,26 @@ def test_computePlaneFrom3Points() -> None: expected: tuple[ float, float, float, float ] = ( -1.0, 2.0, 2.0, -5.0 ) assert obtained == expected, f"Expected tuple is {expected}" + def test_getPointSideAgainstPlaneAssertion() -> None: """Test get point side against a plane.""" planePt: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 0.0 ] ) # assertion error - Point on the plane planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.0, 0.0, 1.0 ] ) - with pytest.raises(AssertionError): + with pytest.raises( AssertionError ): fcts.getPointSideAgainstPlane( planePt, planePt, planeNormal ) listPtsCoords_all = ( - [ np.array( [ 0.5, 0.5, 0.5 ] ), np.array( [ 0.5, 0.5, -0.5 ] ), ], - [ np.array( [ 0.5, 0.5, 0.5 ] ), np.array( [ -0.5, 0.5, 0.5 ] ), ], + [ + np.array( [ 0.5, 0.5, 0.5 ] ), + np.array( [ 0.5, 0.5, -0.5 ] ), + ], + [ + np.array( [ 0.5, 0.5, 0.5 ] ), + np.array( [ -0.5, 0.5, 0.5 ] ), + ], ) planePt_all = ( np.array( [ 0.0, 0.0, 0.0 ] ), @@ -92,18 +108,21 @@ def test_getPointSideAgainstPlaneAssertion() -> None: ( True, False ), ( True, False ), ) + + @dataclass( frozen=True ) class TestCasePointSideAgainstPlane: """Test case.""" __test__ = False #: list of points - listPtsCoords: list[: npt.NDArray[ np.float64 ]] + listPtsCoords: list[ npt.NDArray[ np.float64 ] ] #: plane point planePt: npt.NDArray[ np.float64 ] #: plane normal planeNormal: npt.NDArray[ np.float64 ] #: expected result - expected: list[bool, bool] + expected: list[ bool ] + def __generate_PointSideAgainstPlane_test_data() -> Iterator[ TestCasePointSideAgainstPlane ]: """Generate test cases. @@ -111,10 +130,17 @@ def __generate_PointSideAgainstPlane_test_data() -> Iterator[ TestCasePointSideA Yields: Iterator[ TestCase ]: iterator on test cases """ - for listPtsCoords, planePt, planeNormal, expected in zip(listPtsCoords_all, planePt_all, planeNormal_all, expected_all, strict=True): - yield TestCasePointSideAgainstPlane( listPtsCoords, planePt, planeNormal, list( expected )) + for listPtsCoords, planePt, planeNormal, expected in zip( listPtsCoords_all, + planePt_all, + planeNormal_all, + expected_all, + strict=True ): + yield TestCasePointSideAgainstPlane( listPtsCoords, planePt, planeNormal, list( expected ) ) + + +ids: tuple[ str, str ] = ( "Horizontal plane", "Vertical plane" ) + -ids: list[str] = ("Horizontal plane", "Vertical plane") @pytest.mark.parametrize( "test_case", __generate_PointSideAgainstPlane_test_data(), ids=ids ) def test_getPointSideAgainstPlane( test_case: TestCasePointSideAgainstPlane ) -> None: """Test get point side against a plane.""" @@ -124,11 +150,12 @@ def test_getPointSideAgainstPlane( test_case: TestCasePointSideAgainstPlane ) -> obtained += [ side ] assert obtained == test_case.expected, f"Expected tuple is {test_case.expected}" + def test_getCellSideAgainstPlaneRandom() -> None: """Test get cell side against a plane.""" # random plane planePt: npt.NDArray[ np.float64 ] = np.array( [ 125.58337, 1386.0465, -2782.502 ] ) - listCellPtsCoords: list[npt.NDArray[ np.float64 ]] = [ + listCellPtsCoords: list[ npt.NDArray[ np.float64 ] ] = [ np.array( [ [ 135.49551, 1374.7644, -2786.884 ], [ 125.58337, 1376.7441, -2782.502 ], @@ -143,51 +170,77 @@ def test_getCellSideAgainstPlaneRandom() -> None: ] ), ] planeNormal: npt.NDArray[ np.float64 ] = np.array( [ 0.8660075, 0.0, -0.5000311 ] ) - obtained: list[bool] = [] + obtained: list[ bool ] = [] for cellPtsCoords in listCellPtsCoords: side: bool = fcts.getCellSideAgainstPlane( cellPtsCoords, planePt, planeNormal ) obtained += [ side ] - expected: list[bool] = [ True, False ] + expected: list[ bool ] = [ True, False ] assert obtained == expected, f"Expected tuple is {expected}" -pts_all: tuple[npt.NDArray[np.float64],...] = ( - np.array([0.0, 0.0, 0.0]), - np.array([1.0, 0.0, 0.0]), - np.array([0.5, 0.5, 0.0]), - np.array([-0.5, 0.5, 0.0]), - np.array([-0.5, -0.5, 0.0]), - np.array([0.5, -0.5, -1.0]), + +pts_all: tuple[ npt.NDArray[ np.float64 ], ...] = ( + np.array( [ 0.0, 0.0, 0.0 ] ), + np.array( [ 1.0, 0.0, 0.0 ] ), + np.array( [ 0.5, 0.5, 0.0 ] ), + np.array( [ -0.5, 0.5, 0.0 ] ), + np.array( [ -0.5, -0.5, 0.0 ] ), + np.array( [ 0.5, -0.5, -1.0 ] ), +) +angleExp_all: tuple[ float, ...] = ( + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., + 0., ) -angleExp_all: tuple[float,...] = (0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,) + @dataclass( frozen=True ) class TestCaseAngle: """Test case.""" __test__ = False - pt1: npt.NDArray[np.float64] - pt2: npt.NDArray[np.float64] - pt3: npt.NDArray[np.float64] + pt1: npt.NDArray[ np.float64 ] + pt2: npt.NDArray[ np.float64 ] + pt3: npt.NDArray[ np.float64 ] angleExp: float + def __generate_Angle_test_data() -> Iterator[ TestCaseAngle ]: """Generate test cases. Yields: Iterator[ TestCase ]: iterator on test cases """ - print(len(list(combinations(pts_all, 3)))) - for pts, angle in zip(list(combinations(pts_all, 3)), angleExp_all, strict=True): - yield TestCaseAngle( pts[0], pts[1], pts[2], angle) + print( len( list( combinations( pts_all, 3 ) ) ) ) + for pts, angle in zip( list( combinations( pts_all, 3 ) ), angleExp_all, strict=True ): + yield TestCaseAngle( pts[ 0 ], pts[ 1 ], pts[ 2 ], angle ) + @pytest.mark.parametrize( "test_case", __generate_Angle_test_data() ) -def test_computeAngleFromPoints(test_case: TestCaseAngle) -> None: +def test_computeAngleFromPoints( test_case: TestCaseAngle ) -> None: """Test computeAngleFromPoints method.""" - print(test_case.__str__(), test_case.pt1, test_case.pt2, test_case.pt3) + print( test_case.__str__(), test_case.pt1, test_case.pt2, test_case.pt3 ) #obs: float = fcts.computeAngleFromPoints(test_case.pt1, test_case.pt2, test_case.pt3) #print(f"{test_case.__str__}: {obs}") # assert obs == test_case.angleExp pass + # @pytest.mark.parametrize( "test_case", __generate_Angle_test_data() ) # def test_computeAngleFromVectors(test_case: TestCaseAngle) -> None: # """Test computeAngleFromVectors method.""" @@ -197,13 +250,12 @@ def test_computeAngleFromPoints(test_case: TestCaseAngle) -> None: # print(f"{test_case.__str__}: {obs}") # assert obs == test_case.angleExp + def test_computeNormalFromPoints() -> None: """Test computeNormalFromPoints method.""" pass -def test_computeNormalFromVectors() ->None: + +def test_computeNormalFromVectors() -> None: """Test computeNormalFromVectors method.""" pass - - - From 66d1bb5d521d61be62b0c0ffe567db60806559f6 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Wed, 21 May 2025 18:12:56 +0200 Subject: [PATCH 65/71] linting + fix docs --- docs/geos_mesh_docs/processing.rst | 2 +- docs/geos_mesh_docs/stats.rst | 6 +- geos-mesh/src/geos/mesh/utils/arrayHelpers.py | 1 + geos-mesh/tests/test_MeshQualityEnhanced.py | 130 +++++---- geos-mesh/tests/test_QualityMetricSummary.py | 173 ++++++------ geos-mesh/tests/test_meshQualityHelpers.py | 248 ++++++++++-------- 6 files changed, 321 insertions(+), 239 deletions(-) diff --git a/docs/geos_mesh_docs/processing.rst b/docs/geos_mesh_docs/processing.rst index 5de7df62..8a448e31 100644 --- a/docs/geos_mesh_docs/processing.rst +++ b/docs/geos_mesh_docs/processing.rst @@ -7,7 +7,7 @@ The `processing` module of `geos-mesh` package contains filters to process meshe geos.mesh.processing.meshQualityMetricHelpers module ----------------------------------------------------- -.. automodule:: geos.mesh.processing.SplitMesh +.. automodule:: geos.mesh.processing.meshQualityMetricHelpers :members: :undoc-members: :show-inheritance: diff --git a/docs/geos_mesh_docs/stats.rst b/docs/geos_mesh_docs/stats.rst index ae4464b4..77e9eee6 100644 --- a/docs/geos_mesh_docs/stats.rst +++ b/docs/geos_mesh_docs/stats.rst @@ -4,10 +4,10 @@ Mesh stats tools The `stats` module of `geos-mesh` package contains filter to compute statistics on meshes. -geos.mesh.stats.CellTypeCounter filter --------------------------------------- +geos.mesh.stats.CellTypeCounterEnhanced filter +----------------------------------------------- -.. automodule:: geos.mesh.stats.CellTypeCounter +.. automodule:: geos.mesh.stats.CellTypeCounterEnhanced :members: :undoc-members: :show-inheritance: diff --git a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py index b3dd16ae..f9aaa8cc 100644 --- a/geos-mesh/src/geos/mesh/utils/arrayHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/arrayHelpers.py @@ -566,6 +566,7 @@ def AsDF( surface: vtkPolyData, attributeNames: tuple[ str, ...] ) -> pd.DataFra data[ attributeName ] = array return data + def computeCellCenterCoordinates( mesh: vtkDataSet ) -> vtkDataArray: """Get the coordinates of Cell center. diff --git a/geos-mesh/tests/test_MeshQualityEnhanced.py b/geos-mesh/tests/test_MeshQualityEnhanced.py index 72ba3705..078e318a 100644 --- a/geos-mesh/tests/test_MeshQualityEnhanced.py +++ b/geos-mesh/tests/test_MeshQualityEnhanced.py @@ -13,35 +13,55 @@ ) from geos.mesh.processing.meshQualityMetricHelpers import ( - getAllCellTypesExtended, -) + getAllCellTypesExtended, ) from geos.mesh.stats.MeshQualityEnhanced import MeshQualityEnhanced from geos.mesh.model.QualityMetricSummary import QualityMetricSummary from vtkmodules.vtkFiltersVerdict import vtkMeshQuality -from vtkmodules.vtkCommonDataModel import ( - vtkUnstructuredGrid, - vtkCellData, - vtkFieldData, - vtkCellTypes, - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON -) +from vtkmodules.vtkCommonDataModel import ( vtkUnstructuredGrid, vtkCellData, vtkFieldData, vtkCellTypes, VTK_TRIANGLE, + VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ) from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader # input data -data_root: str = "/data/pau901/SIM_CS/users/MartinLemay/Data/mesh/" #os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) -filenames_all: tuple[ str, ...] = ( "triangulatedSurface.vtu", "tetraVolume.vtu", ) -cellTypes_all: set[int] = (VTK_TRIANGLE, VTK_TETRA) -qualityMetrics_all: tuple[set[int],...] = ( - (int(vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO), int(vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN), int(vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE)), - (int(vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN), int(vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW), int(vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX)), +data_root: str = "/data/pau901/SIM_CS/users/MartinLemay/Data/mesh/" #os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), "data" ) +filenames_all: tuple[ str, ...] = ( + "triangulatedSurface.vtu", + "tetraVolume.vtu", ) -cellTypeCounts_all: tuple[tuple[int,...],...] = ((26324, 0, 0, 0, 0, 0, 26324, 0,), (0, 0, 368606, 0, 0, 0, 0, 368606,)) +cellTypes_all: set[ int ] = ( VTK_TRIANGLE, VTK_TETRA ) +qualityMetrics_all: tuple[ set[ int ], ...] = ( + ( int( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO ), int( vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN ), + int( vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE ) ), + ( int( vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN ), + int( vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW ), + int( vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX ) ), +) +cellTypeCounts_all: tuple[ tuple[ int, ...], ...] = ( ( + 26324, + 0, + 0, + 0, + 0, + 0, + 26324, + 0, +), ( + 0, + 0, + 368606, + 0, + 0, + 0, + 0, + 368606, +) ) metricsSummary_all = ( - ((1.07, 0.11, 1.00, 1.94, 26324.0), (1.07, 0.11, 1.00, 1.94, 26324.0), (64.59, 6.73, 60.00, 110.67, 26324.0)), - ((1.71, 0.32, 1.02, 3.3, 368606.0), (1.71, 0.32, 1.02, 3.3, 368606.0), (0.65, 0.15, 0.05, 0.94, 368606.0)), + ( ( 1.07, 0.11, 1.00, 1.94, 26324.0 ), ( 1.07, 0.11, 1.00, 1.94, 26324.0 ), ( 64.59, 6.73, 60.00, 110.67, + 26324.0 ) ), + ( ( 1.71, 0.32, 1.02, 3.3, 368606.0 ), ( 1.71, 0.32, 1.02, 3.3, 368606.0 ), ( 0.65, 0.15, 0.05, 0.94, 368606.0 ) ), ) + @dataclass( frozen=True ) class TestCase: """Test case.""" @@ -49,9 +69,10 @@ class TestCase: #: mesh mesh: vtkUnstructuredGrid cellType: vtkCellTypes - qualityMetrics: set[int] - cellTypeCounts: tuple[int] - metricsSummary: tuple[float] + qualityMetrics: set[ int ] + cellTypeCounts: tuple[ int ] + metricsSummary: tuple[ float ] + def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. @@ -59,19 +80,24 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - for filename, cellType, qualityMetrics, cellTypeCounts, metricsSummary in zip( - filenames_all, cellTypes_all, qualityMetrics_all, cellTypeCounts_all, metricsSummary_all, strict=True - ): + for filename, cellType, qualityMetrics, cellTypeCounts, metricsSummary in zip( filenames_all, + cellTypes_all, + qualityMetrics_all, + cellTypeCounts_all, + metricsSummary_all, + strict=True ): path: str = os.path.join( data_root, filename ) # load mesh reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() reader.SetFileName( path ) reader.Update() - mesh: vtkUnstructuredGrid = reader.GetOutputDataObject(0) + mesh: vtkUnstructuredGrid = reader.GetOutputDataObject( 0 ) yield TestCase( mesh, cellType, qualityMetrics, cellTypeCounts, metricsSummary ) -ids: list[str] = [ os.path.splitext( name )[ 0 ] for name in filenames_all ] +ids: list[ str ] = [ os.path.splitext( name )[ 0 ] for name in filenames_all ] + + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) def test_MeshQualityEnhanced( test_case: TestCase ) -> None: """Test of CellTypeCounterEnhanced filter. @@ -80,58 +106,62 @@ def test_MeshQualityEnhanced( test_case: TestCase ) -> None: test_case (TestCase): test case """ filter: MeshQualityEnhanced = MeshQualityEnhanced() - filter.SetInputDataObject(test_case.mesh) + filter.SetInputDataObject( test_case.mesh ) if test_case.cellType == VTK_TRIANGLE: - filter.SetTriangleMetrics(test_case.qualityMetrics) + filter.SetTriangleMetrics( test_case.qualityMetrics ) elif test_case.cellType == VTK_QUAD: - filter.SetQuadMetrics(test_case.qualityMetrics) + filter.SetQuadMetrics( test_case.qualityMetrics ) elif test_case.cellType == VTK_TETRA: - filter.SetTetraMetrics(test_case.qualityMetrics) + filter.SetTetraMetrics( test_case.qualityMetrics ) elif test_case.cellType == VTK_PYRAMID: - filter.SetPyramidMetrics(test_case.qualityMetrics) + filter.SetPyramidMetrics( test_case.qualityMetrics ) elif test_case.cellType == VTK_WEDGE: - filter.SetWedgeMetrics(test_case.qualityMetrics) + filter.SetWedgeMetrics( test_case.qualityMetrics ) elif test_case.cellType == VTK_HEXAHEDRON: - filter.SetHexaMetrics(test_case.qualityMetrics) + filter.SetHexaMetrics( test_case.qualityMetrics ) filter.Update() # test method getComputedMetricsFromCellType - for i, cellType in enumerate(getAllCellTypesExtended()): - metrics: Optional[set[int]] = filter.getComputedMetricsFromCellType(cellType) - if test_case.cellTypeCounts[i] > 0: + for i, cellType in enumerate( getAllCellTypesExtended() ): + metrics: Optional[ set[ int ] ] = filter.getComputedMetricsFromCellType( cellType ) + if test_case.cellTypeCounts[ i ] > 0: assert metrics is not None, f"Metrics from {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is undefined." # test attributes - outputMesh: vtkUnstructuredGrid = filter.GetOutputDataObject(0) + outputMesh: vtkUnstructuredGrid = filter.GetOutputDataObject( 0 ) cellData: vtkCellData = outputMesh.GetCellData() assert cellData is not None, "Cell data is undefined." - nbMetrics: int = len(test_case.qualityMetrics) + nbMetrics: int = len( test_case.qualityMetrics ) nbCellArrayExp: int = test_case.mesh.GetCellData().GetNumberOfArrays() + nbMetrics assert cellData.GetNumberOfArrays() == nbCellArrayExp, f"Number of cell arrays is expected to be {nbCellArrayExp}." # test field data fieldData: vtkFieldData = outputMesh.GetFieldData() assert fieldData is not None, "Field data is undefined." - tmp = np.array(test_case.cellTypeCounts) > 0 - nbPolygon: int = np.sum(tmp[:2].astype(int)) + tmp = np.array( test_case.cellTypeCounts ) > 0 + nbPolygon: int = np.sum( tmp[ :2 ].astype( int ) ) nbPolygon = 0 if nbPolygon == 0 else nbPolygon + 1 - nbPolyhedra: int = np.sum(tmp[2:6].astype(int)) + nbPolyhedra: int = np.sum( tmp[ 2:6 ].astype( int ) ) nbPolyhedra = 0 if nbPolyhedra == 0 else nbPolyhedra + 1 - nbFieldArrayExp: int = test_case.mesh.GetFieldData().GetNumberOfArrays() + tmp.size + 4 * nbMetrics * (nbPolygon + nbPolyhedra) - assert fieldData.GetNumberOfArrays() == nbFieldArrayExp, f"Number of field data arrays is expected to be {nbFieldArrayExp}." + nbFieldArrayExp: int = test_case.mesh.GetFieldData().GetNumberOfArrays() + tmp.size + 4 * nbMetrics * ( + nbPolygon + nbPolyhedra ) + assert fieldData.GetNumberOfArrays( + ) == nbFieldArrayExp, f"Number of field data arrays is expected to be {nbFieldArrayExp}." stats: QualityMetricSummary = filter.GetQualityMetricSummary() - for i, cellType in enumerate(getAllCellTypesExtended()): + for i, cellType in enumerate( getAllCellTypesExtended() ): # test Counts - assert stats.getCellTypeCountsOfCellType(cellType) == test_case.cellTypeCounts[i], f"Number of {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is expected to be {test_case.cellTypeCounts[i]}" - if stats.getCellTypeCountsOfCellType(cellType) == 0: + assert stats.getCellTypeCountsOfCellType( cellType ) == test_case.cellTypeCounts[ + i ], f"Number of {vtkCellTypes.GetClassNameFromTypeId(cellType)} cells is expected to be {test_case.cellTypeCounts[i]}" + if stats.getCellTypeCountsOfCellType( cellType ) == 0: continue # test metric summary - for j, metricIndex in enumerate(test_case.qualityMetrics): - subStats: pd.Series = stats.getStatsFromMetricAndCellType(metricIndex, cellType) - assert np.round(subStats, 2).tolist() == list(test_case.metricsSummary[j]), f"Stats at metric index {j} are wrong." + for j, metricIndex in enumerate( test_case.qualityMetrics ): + subStats: pd.Series = stats.getStatsFromMetricAndCellType( metricIndex, cellType ) + assert np.round( subStats, 2 ).tolist() == list( + test_case.metricsSummary[ j ] ), f"Stats at metric index {j} are wrong." fig: Figure = stats.plotSummaryFigure() - assert len(fig.get_axes()) == 4, "Number of Axes is expected to be 4." + assert len( fig.get_axes() ) == 4, "Number of Axes is expected to be 4." diff --git a/geos-mesh/tests/test_QualityMetricSummary.py b/geos-mesh/tests/test_QualityMetricSummary.py index b89130ad..8d5189a4 100644 --- a/geos-mesh/tests/test_QualityMetricSummary.py +++ b/geos-mesh/tests/test_QualityMetricSummary.py @@ -13,65 +13,77 @@ from geos.mesh.model.QualityMetricSummary import QualityMetricSummary, StatTypes from vtkmodules.vtkFiltersVerdict import vtkMeshQuality -from vtkmodules.vtkCommonDataModel import ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, - VTK_HEXAHEDRON, VTK_WEDGE, VTK_POLYGON, VTK_POLYHEDRON ) +from vtkmodules.vtkCommonDataModel import ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_HEXAHEDRON, VTK_WEDGE, + VTK_POLYGON, VTK_POLYHEDRON ) # inputs -statTypes: tuple[StatTypes,...] = tuple(StatTypes) +statTypes: tuple[ StatTypes, ...] = tuple( StatTypes ) size: int = 100 nbNan: int = 5 -expectedStatTypes_all: tuple[float | int, ...] = (0.5957, 0.6508, -2.2055, 1.6259, size-nbNan) - -cellType_all: tuple[int,...] = (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON) -cellMetricIndexes_all: tuple[int,...] = ( - (vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), - (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.CONDITION), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.JACOBIAN, 100), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, 100), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, vtkMeshQuality.QualityMeasureTypes.ODDY, 100), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.AREA), - (vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME), +expectedStatTypes_all: tuple[ float | int, ...] = ( 0.5957, 0.6508, -2.2055, 1.6259, size - nbNan ) + +cellType_all: tuple[ int, ...] = ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, + VTK_POLYGON, VTK_POLYHEDRON ) +cellMetricIndexes_all: tuple[ int, ...] = ( + ( vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, + vtkMeshQuality.QualityMeasureTypes.CONDITION ), + ( vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.AREA, + vtkMeshQuality.QualityMeasureTypes.CONDITION ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.JACOBIAN, 100 ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.MEAN_ASPECT_FROBENIUS, 100 ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME, + vtkMeshQuality.QualityMeasureTypes.ODDY, 100 ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.AREA ), + ( vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.VOLUME ), ) -metricIndexesFail_all: tuple[int,...] = ( - (vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), - (vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), - (vtkMeshQuality.QualityMeasureTypes.ODDY, vtkMeshQuality.QualityMeasureTypes.AREA, 200), - (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), - (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), - (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200), - (vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200), - (vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 100, 200), +metricIndexesFail_all: tuple[ int, ...] = ( + ( vtkMeshQuality.QualityMeasureTypes.MED_ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.ODDY, vtkMeshQuality.QualityMeasureTypes.AREA, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.SQUISH_INDEX, vtkMeshQuality.QualityMeasureTypes.VOLUME, 200 ), + ( vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.AREA, 100, 200 ), ) + @dataclass( frozen=True ) class TestCase_StatsType: """Test case.""" __test__ = False statType: StatTypes - values: tuple[float,...] + values: tuple[ float, ...] expected: int | float + def __generate_test_data_for_StatsType() -> Iterator[ TestCase_StatsType ]: """Generate test cases for StatsType. Yields: Iterator[ TestCase ]: iterator on test cases for StatsType """ - rd.seed(10) - np.random.seed(10) - for statType, expected in zip(statTypes, expectedStatTypes_all, strict = True): + rd.seed( 10 ) + np.random.seed( 10 ) + for statType, expected in zip( statTypes, expectedStatTypes_all, strict=True ): loc: float = rd.random() scale: float = rd.random() - values: npt.NDArray[np.float64] = np.random.normal(loc, scale, size) + values: npt.NDArray[ np.float64 ] = np.random.normal( loc, scale, size ) # insert nan values - for _ in range(nbNan): - index = rd.randint(0, size) - values[index] = np.nan - yield TestCase_StatsType(statType, values, expected) + for _ in range( nbNan ): + index = rd.randint( 0, size ) + values[ index ] = np.nan + yield TestCase_StatsType( statType, values, expected ) + + +ids = [ statType.getString() for statType in statTypes ] + -ids = [statType.getString() for statType in statTypes] @pytest.mark.parametrize( "test_case", __generate_test_data_for_StatsType(), ids=ids ) def test_StatsType_compute( test_case: TestCase_StatsType ) -> None: """Test of StatsType compute method. @@ -79,19 +91,21 @@ def test_StatsType_compute( test_case: TestCase_StatsType ) -> None: Args: test_case (TestCase_StatsType): test case """ - obs: int| float = test_case.statType.compute(test_case.values) - assert abs(obs - test_case.expected) < 1e-4, f"Observed value is {round(obs, 4)} whereas expected value is {test_case.expected} for {test_case.statType.getString()}." + obs: int | float = test_case.statType.compute( test_case.values ) + assert abs( + obs - test_case.expected + ) < 1e-4, f"Observed value is {round(obs, 4)} whereas expected value is {test_case.expected} for {test_case.statType.getString()}." @dataclass( frozen=True ) class TestCase: """Test case.""" __test__ = False - cellMetricIndexes: tuple[int,...] - otherMetricIndexes: tuple[int,...] + cellMetricIndexes: tuple[ int, ...] + otherMetricIndexes: tuple[ int, ...] cellType: int statTypes: StatTypes - values: tuple[float, float, float, float, int] + values: tuple[ float, float, float, float, int ] def __generate_test_data() -> Iterator[ TestCase ]: @@ -100,34 +114,38 @@ def __generate_test_data() -> Iterator[ TestCase ]: Yields: Iterator[ TestCase ]: iterator on test cases """ - rd.seed(10) - for cellMetricIndexes, cellType in zip( cellMetricIndexes_all, - cellType_all, - strict=True ): - values: tuple[float, float, float, float, int] = ( - rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.uniform(0.0, 5.0), rd.randint(1, 100000), + rd.seed( 10 ) + for cellMetricIndexes, cellType in zip( cellMetricIndexes_all, cellType_all, strict=True ): + values: tuple[ float, float, float, float, int ] = ( + rd.uniform( 0.0, 5.0 ), + rd.uniform( 0.0, 5.0 ), + rd.uniform( 0.0, 5.0 ), + rd.uniform( 0.0, 5.0 ), + rd.randint( 1, 100000 ), ) - otherMetricIndexes: tuple[int,...] = (200,) + otherMetricIndexes: tuple[ int, ...] = ( 200, ) yield TestCase( cellMetricIndexes, otherMetricIndexes, cellType, statTypes, values ) + def __generate_failed_test_data() -> Iterator[ TestCase ]: """Generate test cases. Yields: Iterator[ TestCase ]: iterator on test cases """ - for metricIndexes, cellType in zip( metricIndexesFail_all, - cellType_all, - strict=True ): + for metricIndexes, cellType in zip( metricIndexesFail_all, cellType_all, strict=True ): otherMetricIndexes: tuple = () - values: tuple[float, float, float, float, int] = (0., 0., 0., 0., 0., 0) + values: tuple[ float, float, float, float, int ] = ( 0., 0., 0., 0., 0., 0 ) yield TestCase( metricIndexes, otherMetricIndexes, cellType, statTypes, values ) + def test_QualityMetricSummary_init() -> None: """Test of QualityMetricSummary init method.""" stats: QualityMetricSummary = QualityMetricSummary() assert stats.getAllCellStats() is not None, "Stats member is undefined." - assert (stats.getAllCellStats().shape[0] == 5) and stats.getAllCellStats().shape[1] == 122, "Stats shape is wrong." + assert ( stats.getAllCellStats().shape[ 0 ] + == 5 ) and stats.getAllCellStats().shape[ 1 ] == 122, "Stats shape is wrong." + @pytest.mark.parametrize( "test_case", __generate_failed_test_data() ) def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: @@ -141,9 +159,10 @@ def test_QualityMetricSummary_setter( test_case: TestCase ) -> None: val: float = 1.0 for cellMetricIndex in test_case.cellMetricIndexes: with pytest.raises( IndexError ) as pytest_wrapped_e: - stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, val) + stats.setCellStatValueFromStatMetricAndCellType( cellMetricIndex, test_case.cellType, statType, val ) assert pytest_wrapped_e.type is IndexError + @pytest.mark.parametrize( "test_case", __generate_test_data() ) def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: """Test of setter and getter methods. @@ -153,32 +172,38 @@ def test_QualityMetricSummary_setterGetter( test_case: TestCase ) -> None: """ stats: QualityMetricSummary = QualityMetricSummary() for cellMetricIndex in test_case.cellMetricIndexes: - for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, value) + for statType, value in zip( test_case.statTypes, test_case.values, strict=True ): + stats.setCellStatValueFromStatMetricAndCellType( cellMetricIndex, test_case.cellType, statType, value ) for otherMetricIndex in test_case.otherMetricIndexes: - for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setOtherStatValueFromMetric(otherMetricIndex, statType, value) + for statType, value in zip( test_case.statTypes, test_case.values, strict=True ): + stats.setOtherStatValueFromMetric( otherMetricIndex, statType, value ) - assert np.any(stats.getAllCellStats().to_numpy() > 0), "Stats values were not correctly set." + assert np.any( stats.getAllCellStats().to_numpy() > 0 ), "Stats values were not correctly set." for cellMetricIndex in test_case.cellMetricIndexes: - for statType, val in zip(test_case.statTypes, test_case.values, strict=True): - subSet: pd.DataFrame = stats.getCellStatsFromCellType(test_case.cellType) - assert subSet[cellMetricIndex][statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getCellStatsFromCellType is exepected to be equal to {val}." + for statType, val in zip( test_case.statTypes, test_case.values, strict=True ): + subSet: pd.DataFrame = stats.getCellStatsFromCellType( test_case.cellType ) + assert subSet[ cellMetricIndex ][ statType.getIndex( + ) ] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getCellStatsFromCellType is exepected to be equal to {val}." - subSet2: pd.DataFrame = stats.getStatsFromMetric(cellMetricIndex) - assert subSet2[test_case.cellType][statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." + subSet2: pd.DataFrame = stats.getStatsFromMetric( cellMetricIndex ) + assert subSet2[ test_case.cellType ][ statType.getIndex( + ) ] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." - subSet3: pd.Series = stats.getStatsFromMetricAndCellType(cellMetricIndex, test_case.cellType) - assert subSet3[statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." + subSet3: pd.Series = stats.getStatsFromMetricAndCellType( cellMetricIndex, test_case.cellType ) + assert subSet3[ statType.getIndex( + ) ] == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatsFromMetricAndCellType is exepected to be equal to {val}." - valObs: float = stats.getCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType) + valObs: float = stats.getCellStatValueFromStatMetricAndCellType( cellMetricIndex, test_case.cellType, + statType ) assert valObs == val, f"Stats at ({cellMetricIndex}, {test_case.cellType}, {statType}) from getStatValueFromMetricAndCellType is exepected to be equal to {val}." for cellMetricIndex in test_case.otherMetricIndexes: - for statType, val in zip(test_case.statTypes, test_case.values, strict=True): - subSet4: pd.DataFrame = stats.getStatsFromMetric(cellMetricIndex) - assert subSet4[statType.getIndex()] == val, f"Stats at ({cellMetricIndex}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." + for statType, val in zip( test_case.statTypes, test_case.values, strict=True ): + subSet4: pd.DataFrame = stats.getStatsFromMetric( cellMetricIndex ) + assert subSet4[ statType.getIndex( + ) ] == val, f"Stats at ({cellMetricIndex}, {statType}) from getStatsFromMetric is exepected to be equal to {val}." + @pytest.mark.parametrize( "test_case", __generate_test_data() ) def test_QualityMetricSummary_plotSummaryFigure( test_case: TestCase ) -> None: @@ -189,15 +214,15 @@ def test_QualityMetricSummary_plotSummaryFigure( test_case: TestCase ) -> None: """ stats: QualityMetricSummary = QualityMetricSummary() for cellMetricIndex in test_case.cellMetricIndexes: - for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setCellStatValueFromStatMetricAndCellType(cellMetricIndex, test_case.cellType, statType, value) + for statType, value in zip( test_case.statTypes, test_case.values, strict=True ): + stats.setCellStatValueFromStatMetricAndCellType( cellMetricIndex, test_case.cellType, statType, value ) for otherMetricIndex in test_case.otherMetricIndexes: - for statType, value in zip(test_case.statTypes, test_case.values, strict=True): - stats.setOtherStatValueFromMetric(otherMetricIndex, statType, value) + for statType, value in zip( test_case.statTypes, test_case.values, strict=True ): + stats.setOtherStatValueFromMetric( otherMetricIndex, statType, value ) fig: Figure = stats.plotSummaryFigure() assert fig is not None, "Figure is undefined" # metrics + counts - nbAxesExp: int = len(test_case.cellMetricIndexes) + len(test_case.otherMetricIndexes) + 1 - assert len(fig.get_axes()) == nbAxesExp, f"Number of Axes is expected to be {nbAxesExp}." + nbAxesExp: int = len( test_case.cellMetricIndexes ) + len( test_case.otherMetricIndexes ) + 1 + assert len( fig.get_axes() ) == nbAxesExp, f"Number of Axes is expected to be {nbAxesExp}." diff --git a/geos-mesh/tests/test_meshQualityHelpers.py b/geos-mesh/tests/test_meshQualityHelpers.py index 7fd611eb..c5db5c9b 100644 --- a/geos-mesh/tests/test_meshQualityHelpers.py +++ b/geos-mesh/tests/test_meshQualityHelpers.py @@ -4,15 +4,11 @@ from dataclasses import dataclass import pytest from typing import ( - Iterator, -) - + Iterator, ) from vtkmodules.vtkFiltersVerdict import vtkMeshQuality -from vtkmodules.vtkCommonDataModel import ( - VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON -) - +from vtkmodules.vtkCommonDataModel import ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, + VTK_POLYGON, VTK_POLYHEDRON ) from geos.mesh.processing.meshQualityMetricHelpers import ( VtkCellQualityMetricEnum, @@ -33,25 +29,18 @@ getAllCellTypes, ) -triangleQualityMeasureExp: set[int] = { - vtkMeshQuality.QualityMeasureTypes.AREA, - vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, - vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, - vtkMeshQuality.QualityMeasureTypes.CONDITION, - vtkMeshQuality.QualityMeasureTypes.DISTORTION, - vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, - vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, - vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, - vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, - vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, - vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, - vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, - vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, - vtkMeshQuality.QualityMeasureTypes.SHAPE, +triangleQualityMeasureExp: set[ int ] = { + vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, + vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.CONDITION, + vtkMeshQuality.QualityMeasureTypes.DISTORTION, vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, + vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, vtkMeshQuality.QualityMeasureTypes.MAX_ANGLE, + vtkMeshQuality.QualityMeasureTypes.MIN_ANGLE, vtkMeshQuality.QualityMeasureTypes.NORMALIZED_INRADIUS, + vtkMeshQuality.QualityMeasureTypes.RADIUS_RATIO, vtkMeshQuality.QualityMeasureTypes.RELATIVE_SIZE_SQUARED, + vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, vtkMeshQuality.QualityMeasureTypes.SHAPE, vtkMeshQuality.QualityMeasureTypes.SHAPE_AND_SIZE } -quadQualityMeasureExp: set[int] = { +quadQualityMeasureExp: set[ int ] = { vtkMeshQuality.QualityMeasureTypes.AREA, vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, vtkMeshQuality.QualityMeasureTypes.CONDITION, @@ -78,7 +67,7 @@ vtkMeshQuality.QualityMeasureTypes.WARPAGE, } -tetQualityMeasureExp: set[int] = { +tetQualityMeasureExp: set[ int ] = { vtkMeshQuality.QualityMeasureTypes.ASPECT_FROBENIUS, vtkMeshQuality.QualityMeasureTypes.ASPECT_GAMMA, vtkMeshQuality.QualityMeasureTypes.ASPECT_RATIO, @@ -101,7 +90,7 @@ vtkMeshQuality.QualityMeasureTypes.VOLUME, } -pyrQualityMeasureExp: set[int] = { +pyrQualityMeasureExp: set[ int ] = { vtkMeshQuality.QualityMeasureTypes.EQUIANGLE_SKEW, vtkMeshQuality.QualityMeasureTypes.JACOBIAN, vtkMeshQuality.QualityMeasureTypes.SCALED_JACOBIAN, @@ -111,7 +100,7 @@ CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } -wedgeQualityMeasureExp: set[int] = { +wedgeQualityMeasureExp: set[ int ] = { vtkMeshQuality.QualityMeasureTypes.CONDITION, vtkMeshQuality.QualityMeasureTypes.DISTORTION, vtkMeshQuality.QualityMeasureTypes.EDGE_RATIO, @@ -127,7 +116,7 @@ CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } -hexQualityMeasureExp: set[int] = { +hexQualityMeasureExp: set[ int ] = { vtkMeshQuality.QualityMeasureTypes.CONDITION, vtkMeshQuality.QualityMeasureTypes.DIAGONAL, vtkMeshQuality.QualityMeasureTypes.DIMENSION, @@ -154,6 +143,7 @@ CellQualityMetricAdditionalEnum.MAXIMUM_ASPECT_RATIO.metricIndex, } + @dataclass( frozen=True ) class TestCase: """Test case.""" @@ -163,176 +153,212 @@ class TestCase: #: expected points qualityMetricName: str + def __generate_test_data() -> Iterator[ TestCase ]: """Generate test cases. Yields: Iterator[ TestCase ]: iterator on test cases """ - for metric in list(VtkCellQualityMetricEnum): + for metric in list( VtkCellQualityMetricEnum ): yield TestCase( metric.metricIndex, metric.metricName ) -def test_CellQualityMetricEnum_Order() ->None: + +def test_CellQualityMetricEnum_Order() -> None: """Test VtkCellQualityMetricEnum ordering is correct.""" - for i, metric in enumerate(list(VtkCellQualityMetricEnum)): + for i, metric in enumerate( list( VtkCellQualityMetricEnum ) ): assert metric.metricIndex == i -def test_CellQualityMetricEnum_QualityRange() ->None: + +def test_CellQualityMetricEnum_QualityRange() -> None: """Test VtkCellQualityMetricEnum.getQualityRange returns the right number of values.""" - for metric in list(VtkCellQualityMetricEnum): + for metric in list( VtkCellQualityMetricEnum ): for cellType in getAllCellTypes(): - qualityRange: QualityRange = metric.getQualityRange(cellType) + qualityRange: QualityRange = metric.getQualityRange( cellType ) if qualityRange is not None: - assert (len(qualityRange.fullRange) == 2), "Full range length is expected to be 2" - assert (len(qualityRange.normalRange) == 2), "Normal range length is expected to be 2" - assert (len(qualityRange.acceptableRange) == 2), "Acceptable range length is expected to be 2" + assert ( len( qualityRange.fullRange ) == 2 ), "Full range length is expected to be 2" + assert ( len( qualityRange.normalRange ) == 2 ), "Normal range length is expected to be 2" + assert ( len( qualityRange.acceptableRange ) == 2 ), "Acceptable range length is expected to be 2" + + for cellType in ( VTK_POLYGON, VTK_POLYHEDRON ): + assert metric.getQualityRange( cellType ) is None, "QualityRange should be undefined." + + +ids: list[ str ] = [ metric.metricName for metric in list( VtkCellQualityMetricEnum ) ] - for cellType in (VTK_POLYGON, VTK_POLYHEDRON): - assert metric.getQualityRange(cellType) is None, "QualityRange should be undefined." -ids: list[str] = [metric.metricName for metric in list(VtkCellQualityMetricEnum)] @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_getQualityMeasureNameFromIndex( test_case: TestCase ) ->None: +def test_getQualityMeasureNameFromIndex( test_case: TestCase ) -> None: """Test of getQualityMeasureNameFromIndex method.""" - name: str = getQualityMeasureNameFromIndex(test_case.qualityMetricIndex) + name: str = getQualityMeasureNameFromIndex( test_case.qualityMetricIndex ) assert name == test_case.qualityMetricName + @pytest.mark.parametrize( "test_case", __generate_test_data(), ids=ids ) -def test_getQualityMeasureIndexFromName( test_case: TestCase ) ->None: +def test_getQualityMeasureIndexFromName( test_case: TestCase ) -> None: """Test of getQualityMeasureIndexFromName method.""" - index: int = getQualityMeasureIndexFromName(test_case.qualityMetricName) + index: int = getQualityMeasureIndexFromName( test_case.qualityMetricName ) assert index == test_case.qualityMetricIndex -def test_getQualityMeasureFromCellType_exception() ->None: + +def test_getQualityMeasureFromCellType_exception() -> None: """Test of supported cell type from getCellQualityMeasureFromCellType method.""" - for i in range(20): - if i in (VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON): - assert len(getCellQualityMeasureFromCellType(i)) > 0 + for i in range( 20 ): + if i in ( VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, + VTK_POLYHEDRON ): + assert len( getCellQualityMeasureFromCellType( i ) ) > 0 else: - with pytest.raises(ValueError) as pytest_wrapped_e: - getCellQualityMeasureFromCellType(i) + with pytest.raises( ValueError ) as pytest_wrapped_e: + getCellQualityMeasureFromCellType( i ) assert pytest_wrapped_e.type is ValueError + def test_getTriangleQualityMeasure() -> None: """Test of getTriangleQualityMeasure method.""" - obs: set[int] = getTriangleQualityMeasure() - diffAdditional: set[int] = obs.difference(triangleQualityMeasureExp) - diffMissing: set[int] = triangleQualityMeasureExp.difference(obs) + obs: set[ int ] = getTriangleQualityMeasure() + diffAdditional: set[ int ] = obs.difference( triangleQualityMeasureExp ) + diffMissing: set[ int ] = triangleQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(triangleQualityMeasureExp)] - assert sorted(obs) == sorted(triangleQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( triangleQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( triangleQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getQuadQualityMeasure() -> None: """Test of getQuadQualityMeasure method.""" - obs: set[int] = getQuadQualityMeasure() - diffAdditional: set[int] = obs.difference(quadQualityMeasureExp) - diffMissing: set[int] = quadQualityMeasureExp.difference(obs) + obs: set[ int ] = getQuadQualityMeasure() + diffAdditional: set[ int ] = obs.difference( quadQualityMeasureExp ) + diffMissing: set[ int ] = quadQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(quadQualityMeasureExp)] - assert sorted(obs) == sorted(quadQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( quadQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( quadQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getCommonPolygonQualityMeasure() -> None: """Test of getCommonPolygonQualityMeasure method.""" - obs: set[int] = getCommonPolygonQualityMeasure() - exp: set[int] = quadQualityMeasureExp.intersection(triangleQualityMeasureExp) - diffAdditional: set[int] = obs.difference(exp) - diffMissing: set[int] = exp.difference(obs) + obs: set[ int ] = getCommonPolygonQualityMeasure() + exp: set[ int ] = quadQualityMeasureExp.intersection( triangleQualityMeasureExp ) + diffAdditional: set[ int ] = obs.difference( exp ) + diffMissing: set[ int ] = exp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(exp)] - assert sorted(obs) == sorted(exp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( exp ) ] + assert sorted( obs ) == sorted( + exp ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getTetQualityMeasure() -> None: """Test of getTetQualityMeasure method.""" - obs: set[int] = getTetQualityMeasure() - diffAdditional: set[int] = obs.difference(tetQualityMeasureExp) - diffMissing: set[int] = tetQualityMeasureExp.difference(obs) + obs: set[ int ] = getTetQualityMeasure() + diffAdditional: set[ int ] = obs.difference( tetQualityMeasureExp ) + diffMissing: set[ int ] = tetQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(tetQualityMeasureExp)] - assert sorted(obs) == sorted(tetQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( tetQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( tetQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getPyramidQualityMeasure() -> None: """Test of getPyramidQualityMeasure method.""" - obs: set[int] = getPyramidQualityMeasure() - diffAdditional: set[int] = obs.difference(pyrQualityMeasureExp) - diffMissing: set[int] = pyrQualityMeasureExp.difference(obs) + obs: set[ int ] = getPyramidQualityMeasure() + diffAdditional: set[ int ] = obs.difference( pyrQualityMeasureExp ) + diffMissing: set[ int ] = pyrQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(pyrQualityMeasureExp)] - assert sorted(obs) == sorted(pyrQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( pyrQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( pyrQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getWedgeQualityMeasure() -> None: """Test of getWedgeQualityMeasure method.""" - obs: set[int] = getWedgeQualityMeasure() - diffAdditional: set[int] = obs.difference(wedgeQualityMeasureExp) - diffMissing: set[int] = wedgeQualityMeasureExp.difference(obs) + obs: set[ int ] = getWedgeQualityMeasure() + diffAdditional: set[ int ] = obs.difference( wedgeQualityMeasureExp ) + diffMissing: set[ int ] = wedgeQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(wedgeQualityMeasureExp)] - assert sorted(obs) == sorted(wedgeQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( wedgeQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( wedgeQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getHexQualityMeasure() -> None: """Test of getHexQualityMeasure method.""" - obs: set[int] = getHexQualityMeasure() - diffAdditional: set[int] = obs.difference(hexQualityMeasureExp) - diffMissing: set[int] = hexQualityMeasureExp.difference(obs) + obs: set[ int ] = getHexQualityMeasure() + diffAdditional: set[ int ] = obs.difference( hexQualityMeasureExp ) + diffMissing: set[ int ] = hexQualityMeasureExp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(hexQualityMeasureExp)] - assert sorted(obs) == sorted(hexQualityMeasureExp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( hexQualityMeasureExp ) ] + assert sorted( + obs ) == sorted( hexQualityMeasureExp + ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + def test_getCommonPolyhedraQualityMeasure() -> None: """Test of getCommonPolyhedraQualityMeasure method.""" - obs: set[int] = getCommonPolyhedraQualityMeasure() - exp: set[int] = tetQualityMeasureExp.intersection(pyrQualityMeasureExp).intersection(wedgeQualityMeasureExp).intersection(hexQualityMeasureExp) - diffAdditional: set[int] = obs.difference(exp) - diffMissing: set[int] = exp.difference(obs) + obs: set[ int ] = getCommonPolyhedraQualityMeasure() + exp: set[ int ] = tetQualityMeasureExp.intersection( pyrQualityMeasureExp ).intersection( + wedgeQualityMeasureExp ).intersection( hexQualityMeasureExp ) + diffAdditional: set[ int ] = obs.difference( exp ) + diffMissing: set[ int ] = exp.difference( obs ) messAdditional: str = f"{len(diffAdditional)} additional elements" - if len(diffAdditional) > 0: + if len( diffAdditional ) > 0: messAdditional += f" including {[getQualityMeasureNameFromIndex(index) for index in diffAdditional]}" messMissing: str = f" and {len(diffMissing)} missing elements" - if len(diffMissing): + if len( diffMissing ): messMissing += f" including {[getQualityMeasureNameFromIndex(index) for index in diffMissing]}" - expNames: list[str] = [getQualityMeasureNameFromIndex(index) for index in sorted(exp)] - assert sorted(obs) == sorted(exp), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing + expNames: list[ str ] = [ getQualityMeasureNameFromIndex( index ) for index in sorted( exp ) ] + assert sorted( obs ) == sorted( + exp ), f"Expected metrics are {expNames}. Observed metrics contains " + messAdditional + messMissing -def test_getAllCellTypesExtended() ->None: + +def test_getAllCellTypesExtended() -> None: """Test of getAllCellTypesExtended method.""" - cellTypesExp: list[int] = [VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON] + cellTypesExp: list[ int ] = [ + VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON, VTK_POLYGON, VTK_POLYHEDRON + ] assert cellTypesExp == getAllCellTypesExtended(), "Cell types differ." -def test_getAllCellTypes() ->None: + +def test_getAllCellTypes() -> None: """Test of getAllCellTypes method.""" - cellTypesExp: list[int] = [VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON] + cellTypesExp: list[ int ] = [ VTK_TRIANGLE, VTK_QUAD, VTK_TETRA, VTK_PYRAMID, VTK_WEDGE, VTK_HEXAHEDRON ] assert cellTypesExp == getAllCellTypes(), "Cell types differ." From 7d34a95515856f33b8bd0cbe795cd8d2af43e2c9 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 22 May 2025 09:29:19 +0200 Subject: [PATCH 66/71] Restore geos-utils dependency --- geos-mesh/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/geos-mesh/pyproject.toml b/geos-mesh/pyproject.toml index 8a994b47..3bad4c2b 100644 --- a/geos-mesh/pyproject.toml +++ b/geos-mesh/pyproject.toml @@ -32,6 +32,7 @@ dependencies = [ "pandas >= 2.2", "meshio >= 5.3", "typing_extensions >= 4.12", + "geos-utils @ file:./geos-utils", ] [project.scripts] From 4b54e48a6a4a5afeb4111801570115358168d022 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 22 May 2025 11:45:48 +0200 Subject: [PATCH 67/71] linting fix --- geos-mesh/src/geos/mesh/utils/genericHelpers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/geos-mesh/src/geos/mesh/utils/genericHelpers.py b/geos-mesh/src/geos/mesh/utils/genericHelpers.py index ffecfec7..2faf092d 100644 --- a/geos-mesh/src/geos/mesh/utils/genericHelpers.py +++ b/geos-mesh/src/geos/mesh/utils/genericHelpers.py @@ -10,7 +10,6 @@ from vtkmodules.vtkFiltersCore import vtk3DLinearGridPlaneCutter from geos.mesh.utils.multiblockHelpers import ( getBlockElementIndexesFlatten, getBlockFromFlatIndex ) - __doc__ = """ Generic VTK utilities. From 995cc97f3003e7b1a8a3555bd7a6f6d11e96aef1 Mon Sep 17 00:00:00 2001 From: mlemayTTE Date: Thu, 22 May 2025 17:44:37 +0200 Subject: [PATCH 68/71] fix tests --- geos-mesh/tests/conftest.py | 5 ++- geos-mesh/tests/data/tetraVolume.vtu | Bin 0 -> 27819326 bytes .../{surface.vtu => triangulatedSurface.vtu} | 0 geos-mesh/tests/test_MeshQualityEnhanced.py | 31 ++++++++---------- 4 files changed, 17 insertions(+), 19 deletions(-) create mode 100644 geos-mesh/tests/data/tetraVolume.vtu rename geos-mesh/tests/data/{surface.vtu => triangulatedSurface.vtu} (100%) diff --git a/geos-mesh/tests/conftest.py b/geos-mesh/tests/conftest.py index 56a1de08..2e3231fc 100644 --- a/geos-mesh/tests/conftest.py +++ b/geos-mesh/tests/conftest.py @@ -44,7 +44,10 @@ def _get_dataset( datasetType: str ): vtkFilename = "data/domain_res5_id.vtu" elif datasetType == "polydata": reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() - vtkFilename = "data/surface.vtu" + vtkFilename = "data/triangulatedSurface.vtu" + elif datasetType == "tetraVolume": + reader: vtkXMLUnstructuredGridReader = vtkXMLUnstructuredGridReader() + vtkFilename = "data/tetraVolume.vtu" datapath: str = os.path.join( os.path.dirname( os.path.realpath( __file__ ) ), vtkFilename ) reader.SetFileName( datapath ) reader.Update() diff --git a/geos-mesh/tests/data/tetraVolume.vtu b/geos-mesh/tests/data/tetraVolume.vtu new file mode 100644 index 0000000000000000000000000000000000000000..4b619c921b9175d782222be1de71e3f8b9a4a30e GIT binary patch literal 27819326 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�{SUJ=Gu%eOv#1z@+VNgE`Dq__(hLB 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

{mVpbG=sjcR#+!REeP9pGgO+&> z5RYZUmyV3{>35(H4WxO$U)_U=j2q6sApcAB-l_uD@`y+IFXcB77k;m4>FV$?)}-=r zXV!xMp*^G9Fdyyh6Y$|W{h)NKl#XNE`i9m&t_zf|@zT21jJrLwZV7e14}DNI3i^n@ zVJE%+MA)*T1=Dk1Xc|n=+wNQgkC~!@ zziT>OcZmDw{brh&ud&R>a+=z+tNO1J8b=cIF0k`noqRVjyf#K{K@jB7HVI7I2_tU>RG z@#%UcbJBUl-}Fy6j057Y^M*3+Z%_z6whR5>qsldK5aYH*CBf|l>Gv9=Zk3^ZmA)Sw zqV&1@MS1A?DK&d?(s?LJ1HC)G4!FE;#rBLF0w!>MTrtu=Uk1ItZ+>vD`UT|IIJYUd z(f-0AO5ZbGs!!#UV?`1toogPoCZEmkF`hg7{gT3X^k5OrK8&ZlU)9T2|5X59Zml z58z8op>l}%GK7>4m=vp?!wF(>mNx=n2Z- z*uOu@!83@~|B?4es+>{qkGxOPm@h!>WKee0uWaT+_-mVf1m_y*;qRJ4`=ZKxHPOG6 zyT5_!3)BB4MfCh$^4CuNS+8i_(a6fvP=xfl+P}dkFe4S|nwHXgJGCYDQ~VRCU1{f1 z{NCe!a9^h#CWmz;{1uM`vrfB6H$GCdt1^9w%@l{xjJz)9z_)SC`bI=G*t zgNH6>1J^of+*6M0NbQ;1jP;Ce;b-Vg3c6l)-MRv9xs(Ix+V@U@-kR|O>%c(E0JwYW zW%Ak9ZyG0)#-Hg|9HMk|ucha`6%B?#@BXp{dOpjJe3^4KK|C7!F5(TS9$kl?gIn5B zy{O}#L(g4|hL0=y67+uAKj4OX^qjeG*(-2Ezt!O0dtIT|6s3I+Wwu`6_L)bk^_OW^^RKPZLr zRHiinH+N|W?s%4AzXYdy^^u99NwYBiK+@$M4VHCY@P5xsKe4IziB3;*HHI>hTrtlGp z(sfzr#zcxU>Mgi)Of%?}U+I0+;=;D@30|T0=~-P7dTk{;=}*%%czHT@0z#h8KD1P%nudFzd@^y!N z#1pjd~R}ap63m^Bz zis_t8+E+Y7>rcKz5sbImmy5uII_mG1Gkc-8Y`r~;=|i_@obfLD7u`C*NDuebFE%k%&57wo2sEJ<=|3JN4 z;DJl;;A1Qm4RfD!d+3ucPNuvy^Y_j_jW`VpD8JD)erdtD^hQo_ z-#{8?{1qLw85h%NKJ^vJf`3rfqz&W7WwdXvO595MeSfblc=$S3F}gmunAYug#&soV zo$Q_(1Kw}{IF9ki^R;9jdcU`BM)OAhua8Du5qh0<6YdN651)mP za&fr6j7w3TfsFg$k?Ug3g!K)XkEbrBYg%;^KH4uAkl#rB#$op{kNC|^>M^}&pnZN_ z+rPnsP10*IuC00;{(+oB!Np_cRE#_CQap+s)4(%E$G2u&oJaL;DBS>Defwez)5EB*bItw-ohj&rSV8{%aR-eNzR>+2XoM`MU0gkG0|?zzd7jIfEW6Fp<+#xlKsKoHt z?LpD&A6&OuJ5I;?-*P$V5G6lXk&9U8xc`}h>j>B56X1b49&mFokjhCqubtK*@_6!5 zy}J(|!&NGOVdvKsqNJ1WcsP*h^@YzlMCqvctvS-wJX<`JlgJX)4sCf?L*IuOnu4^K3n%@2cA6KtU12{>ia8aDj z1&iRrXLZ7LStvh!(V=y%E2=@8a^{7Pse_p^*ddU1kZZGjddI;ob-L` zk`C|>R;B9>uPOzcuaO7bUA`&&oz7CouRlkAaL?!0;Od2Az;%x(T`^_^{Q0XhQ4ZQ! zYoO;&nwGJ61Gf*MJ(zp=9PHeC^YBu3R2-T(oRf}`_a~UM*M?qmbpL3^%{^k^qxtO&_0vadp1}5(Tp3T>ci)M__&Uv7}p!OBF@O~4)j@j%+P=N2l?`a+qwI* z7XI=#pTMp1Gl*w#`Om|d-V#`Z{^Cq23Z9`)1n28)K)D51_W_qLZ#jqQgj&3k@~XP`LRLqb$t=F7~`PR+LVib{+b=bG-rF^RN-( z_uc-1amITl;9xp)!W-y?VuJ^B(z&`=G3W!;azXFx@(Ae~_tO09?mlA@`=0#H36xvp z_xR4QeW4HjS4ho#^jm1%s477I5gvLTUJrYdk*>c--`Y&?Sx0(%`WX0B{NZfLc<3$7 zYs%*r#)#6ny7P;MjB|D+=9j>+9`Mm7w8Z$YKSS$V{itb_ue-sDOm7uvz3s{Q7yO0) z#Z8ZTqx`LB%GF_dzxz9t=iJZW#>tHuF|JorIYiE8=Q>D)SR9@Y=8Jhad6lx+w1EMDG} z>BU*J4pg>{0e`t)sbicQlKW2v2s2SoVGDt-ia_M-giC*1leU3-wmH}%Me;C|sT+NU9&+P}X@ zNs8y?Hmo!GigbTOS?qao{``)n+CmjQE55TQMOM>^ipDmGb*@&Lt9>+o&w+o)@&A2=3 zt3#BIp%V`1oqy1K{36dW>L+Q3v(E!J-lcHTG4kA?Ve+vw#(fE|k~!%p?0Dc1rQ@o@ z?V)$isvE~i=hl&RkgnyoAK*bw-kovb{9T7A9rZ2$g%AI{IpX&Y{08n`dJplqn+@&B zNxFz$);OC&8X|2RbHXs&D>!j8J~Md1_S$`kI{ zjH`$HdU4WG|Ngy0l#aS5`RA}>aM47RbMVv;2RoPN`#6^!W6qWamwll1n`w>_+*kKF zxG*s{@~f50;bUCCr3WW{Pcb3OA+lr1b>PmdIamie+dlypZ;b}GO^rwV|D(UKU>^IP zdQcMsCmkd2F%ETjigaD>@yM6v{B4IQeeUyZLcZ*8e*RzuxF4 z@HekfHDO$Pl&<@NQ(Hp+zkPiFgh;9VIF)fkqdb-Z?MH4^yV@xdLrZuDwrBxvRqIr?7F`O>HaS-^7nm;h_ zgmTdRP}}D3Gezn9S=VZ#-25NtIw7NwF&71OLKC&L9eHEM22LG3jy0zfg=cnGn-`REAKv6oEiPbA{(t)o}>jzWtKcgs} z3xAD`W?Z$7=4)}#MsU-njqta1r}cxzuIkV9-e#XGGQGWRxIJHV1R`46-!#V&fT*swSq`RaGJPHW~PETM96?W_cS z#7Cy0{W|5HsePD#+Kw8{ncnd6G17HqroqSC@nQ|emDy=u*D!V%;@8!#j`{t6(ycNX z+`M8L<~43MT?eT>w!WhDeNJ_wKJ$r`v(W7%^noeAq8@FZ=suu~OF=xgCO%p(J*a{D zk~NO*$$b0+CYNPC-eNR=@isSju+PkDj9dG@LHscjju=Gg+_cV9nQ>KTdVa?Fx>#?< zBR;`DXq?fsZBKmKd(@*ZoUYe)1OD%v3FxO0KFYow{<2!}TIO$DP5XN>)z5%Obxz|L z_X(7*0!n(XROXbX;Nrx0h*P=ysa}+Hndy3@8+qQw@Oxiy(-1AjLtii2XZEc;+=J=o z?*0uv=6JeaU~$jy#<(_qFXGX)p#4L0KYJqMe$EobNk`4Ak4RV5`+IlBWgXsCesS@dj9UlN_!IcGWG7KNPc+U!JK=(PsUP(#k9aa_bw&K#3VKf4zW5D% z+>JIjVm^v&;r;UwcRMp5RnsYD7O8u9s zHJ@ib3i-j2%*S$%_Lfme@dV=GZfS=ypMZ_#9ZR1J@Co&ON!Obd zsb5UY{f*);)F0Qap5JMF@HH%p{084IOhY_HD9+f*O`(@tPYz_B_j+o7%tn!APX*Ul;`+!>^RCJ0=$X-qi&#kGTINy=zj>IOe07JP+J{gYE|z{~C;R zL!atn-Dow_dj8R_<0v=VmUBp#TT1I{;!l2rS{;dW~6v#u0#2oR?&5? z@=H;akD|#*l(Vl8jbq}%Ht7t`vN9r=DV6 z9h^k{*MG1s#w(ZaTVs~4LZtTKzjz&bTlqNmm3UQi*(PHn<+ELENBJVN&@ZYF> zN(Hlldz&7>IOa4EkF%#CPSenJvCK#Fj_%9bCQnAa_*>^|$+%FB)(L^auM$P+oJ;S7 zc}m`$;`D!y3OQV_I7E9xvX&;Sy%4}1>HF>H0-%VVm#d=S>jm8=EO%LJ; z4qaA{`FIj29{Z3-&|6lWginNLU7_biZT&YPeq$c07tfZz5sx+BEYz1=M(s`a{tL|` zlM1(I{^IJ-X#e)oYmn}!W4`eJ_>Oo&W&Ul!e7HiCFJZ@Z=;f80Azgb~ZRjl-8Aw-WA0E&2 zzC$$6#^$?(I5l-*b&T8cQoSgCX#j3+CB!i^mvQ}Dx^He8Pyy)* zowLC0;r1pk#3N3_fY!-OAK~77r=fpTCcA-gRTr8s0$)oa-ABKV1~(j{{R&l=Rfu1e zXJ0bYM|^_)6QQ>knxDeB$4vFkpX-1)16F#jOsS%A{_86Ze2m(9gP7j;lIklebqsuL zJF18|wCBdVU1$lT>fB4f@cXLPo|t&!{{fwGpYDYta90I1f;L#ipKs zUOtM}`NAs=>SbcG3VPe674UbBBfY2jQ*gz(J@9w7q2G~l$?s5ZPR@qw1w$!Xx5$g9 zqW#GK95#T(qp{L+%c}-wB3;kHotW>;Rj56jEV~)p6#pGQ-f6UM$!HdZ`cj5E+8Id1rc#ticvhusBp$2=Z95w6F_$1ons2ONZtc_fvyvd0*3%`z%~^EDcuwG}hrqxrB6@hHd8 zerD!}8kBDKZSc`0Q2$a_rS|EcJRj-WV(9s5bJ1-me`j4gxM?}(}+Y0&FFP(8XAwLp0)%5Fir>eIQ>8M#w{Yben3;gSv zG|KN&s+Y`Tv>p(?{s8A3w2rE1q4lJ7ka0Nkkx!#_rhe1!@bOJAKaz1{-thjacQ)b) zY)V4>fu*z#G>W?rzpZXx_*gzt`bN!j*&v8-E zThe-Rob-8w`zy?u!1S7BHQF-nTzLro{6g}V{k6J2#$yJ!gt2 zotwXHO6H^^mvP@AN=J7aJNT%D^nL*CmEYhKm!L#EiUPlP&5vMSK{)f&|^B1J6E%poI z@jaf`lKF5SbAfwHuY^A5t;9seMdvk#C>_le7QqzTi%i&b`=o>oF4lO@u|6iM~1-D+W ziFWI%NBbMDW+f(z()XU z40C(;&RWK;FKFB|9QcHC5Q7iUt_R((|Q;aj}p7b1!ydupno?*{1o>;Sn zH->+hdmm3hx=P(Atdk?_LuXlMH&KeiIf2(Py=^qjU;5V>NZ0frKhlk?Gu8I|@KJRu z*M{kx6=+;_78yQOl+F|7dr|(n+O)5zeK{TN)9O&8oVBOudfdCJEb7;A+Sh>jX!}1# zy}yjf0lj&u4e3VyKf2$^CgihY1;!aq8yV&!kG2}pO`EwK@rVUzAKSI$9Jtc*7~`AS zOXG%i$x`@;(+Z=$xcoE@SYNk=UO4&`{>Jcri(yV~aDMe7)T1te>d`;jIF0338QT=& zfKaF-;@7TP4sQ6fU@Mj{`5_s&e#gb>OmEpI@5s0;lb*X!wS5kMZe4{Qj9Z!?bBNMW z_V^|AUsr#_dN@$^0l4+IDc~`S%*mW2i}2vDSHR^BJMxV4P0l++=@{DSoWYL9?5DeP z($RWdbcoWCtJV-)*ghWVDtFxhckihT{wU`YubNV= zCgXe-jWdUG7B`5}xp(NBT8s-PseSglJiagE#(%%nWt`hg_d7JP_rVM7s@H;X*&14h zTOW^45v5aI+bMCJbTogW>tb&9>}19#PG67w{*S)f;y#QUZfnqwbf;-O=Ks4&55~FH z*IIJY(WIyLZ*NqfH{-@P4O(#0F`_qnN`uE1v7tS1(@dxrPxG7oMM>vQ7>{w=|Dy=F zn>QmK&A=jN0~j}-EQL7LQU5sDx$2NOkR2B{o{aXX6Dc0w z1PkJMWcV|glRmdLpm|(XGQ}uL=f3(!;A77G=wRpeZ`D%S(GWEe{fKuTcd&DN>iAjg zcyjY?)Qh1uUGEDIdZV3q4;;a`>MB9&tB~OjaP5Mc@Yjx~eRc1FWN_oBwJkWwFQO03 z9X(T&&UKYGVw{xqrh1RGL)G_kX#b{jG_ESgw1tnSsCFu3kUs}xSs1#8lMTeH47cqro!)UUQ&!e-_po}7SmXPl{lerlTc z&B3^7&UA2f^$!@|f(Ja{R@FuL_|w{AonVkZ0r#pXPQGK4zMS;^NSwl{Ey!=wpbv;A z6c>kdwa2T$U;i~7Ho>~^WTFf7HxojZ7NRdSix{(7E4!E@G!uxQ17Llc4@;&-%~qieWh2oLY#sB==ody5E}P8_gF*DIWXw(Zt(GKhTwYlu5K7q8wHW{C}sb zP#6Y@k}k0QLkmtiawlWjrIaAto<)ow2 z@*3sF_2z~$?j1O|H{+U5t-zgs=S^eW{pv^(NU-9Q{vp zTFeKuEBgv+w_?FI^F&GavQh%#jPPLDLUS4C_Z{oPNk`{Osu!g=9$ed~Gx~*pCOwaB z%C%+=)2nK?Mn7^-rE$_e#Q=TqzyFY~H+&!89(4kGQ_C#0AInTyZ=d{9*2;Wr=X%3m zakeP(HEO;JT-$U!%Gtb<<{jN)GkAfRrfAQae9s*0`@%XG_(tC#=nVsIf|r_G2wbt> ziSf$$k=9F!3?ukUe?g2hk^hf2)!My)`Nf`^pUg=|A+9Cju?oAO&wO9tC%xf8(?3N? zw|MFf)T4GTrR%KchR@gYv@YW1-yKZnPwoKj+`9wgu%P}5u4<3~pG<416i(9V60;#) zMUjt4SF5av_MrR0f!n*u7mAW@RjKCCYroO+3~4b%ps(mGjB&#lP4!~PZb7;Qeu;0% z{Pi5Q!?ZdY=%dX?z$1E%d>*){%>a))XJzzJ`KwAU&@mrxO}g%oCHIEjwRdz3{KNOz zt*&}V*RZQed&cE;=y`_B4y~Zq=B?g{aa;I3d+waaz?~2Oqy7?poOVp6 zoUF!tYCiS}TvKo!;v98zKm3JSJbaWLDPN_!zU;zDzWhpB59mJkr*dn@W1QhS)BF`0 z(`d9P>1>m~V?C*#OwV=L_v*}ybNzmUUU56GlbtKq9|F(X+#UHfR}YU%qn?AWdfpoC z%Fvpw6MgHZjAY+SD$)+)l50WucYKe#Bi)P^?JzEd^3y(~{m?ICm_Bxm9_`KVruCJt zSMITlXJmdwIjG`kedyjw?{&97azHO;qw(K*U@7!GR{;GY!h_;tl!Ml}y(cI635Ob? z-0UT~ErS1x=oH4?t*O8BUH#xW^PEJwg5rUL=|WA^;EDQrXos3s)DA6W;}^5fGb*3# z%1KAQzY6}LCbOVdr7p%e>E83mAxfWH9%lo$*ZfV-N$1wFcO0U0G)c-%>&!@;`uuU=hgwvHk9N;{=naGUCG2|{bsoYe z)S318PD{l`?P-3|2sZWl+JaDZ$>a~T}A7BMLn)7r3MlmkmM(Zek@?z-q z>7~InO=(}$e%zM8^rpHu;Ny8i_fxKAoCOaJ)sJL8k$rNPwLoX4=X!nxkNA`-a2a~_ zAHTw12)}PopEeWRKVmuj{dZ|R{2J=cGaujg{otWn^c;dI{us(9V{Zd$Zjjs19sFd%Wwb-Nrv&ucZjZrrX>HIi6w7G-QUt8vQL=F<%*T6> z#u;JE6Qr9oa4PkSDi0l^^f}j<>i3X$HO5cvg%89xt%grhYa8_L1=NpZyNiQI>*5nR z>HDEiH=&m&?SQ|##~RGDLfAjp#Q^=DVcQd!-s*h;edzbk;NJK5x-iZ?e-Ca?q5K*w zH{cUVSG(pn(myB|!}NgzS5OY(IQsvQsN>l>F>d&Lk;=2X2k}%a72p|7jMCD>fGKM|{Mvk8=Gw@VKD^J21U-Bkk`6=1v6HWm9Vz_u8pliKTnl zMCn|0br9;;8hGMh=gv#Hz-^gyeP?Y(zYDYUm6LwZR@7Hu-8JYf&6a^%;+l5jr0?tA z(!43!@`8)QR<&T9ACVp98H~QNOq9-5|J6uf+?P)K^TBDE;KJDaD1XZ{9rXI$+2G@8 zBw)Oa_yRLS zEgiwDpRW_o{N<}@oYa=d25$S@8vRahp!ID?NpXscJ0~%{b}8*Y$nMmDUg$L(^QLww zT}L?Qi~}Dvu?yOpeF@!fwLRDZzNdB-%!9#A)E@YM$;X?%uO9PP{~17>?jq-wiqiSX z+jPGsXr=25_0f3vxaOrMbJFLol*Q1?Hg84wJ6B&od(;0;`%dBn`d@~xWi6;j^+CGt zuZsH(djHyuSZ|n$b)j;zeuKa5L$MU*uPoONoV)lP`anTH%2PM`1-P>Q0`QRL2Kt>b zmDbPt#HH|&m%WMk#db9jdS}!aaQDz}m@kZOKe(+S5AL{M4E1XnMB{*UM$u^eu{V(7t}{5T)-a`-zlpmJ0F97LxC|qjiyDPJQ^x*7QVsu=mJ=^<-dNb8tSh7VWFl za3X$BYa_U&P7mZ)_J!J~wX%-#TUr6V*?a+dVcrDt8I=$1Us;UiaqB(%|H;+QFN2#b zM^V3)@!@sm{x0D1|K`#7CX9eT|7&M(*|rgNS@}5cQ#|~T9N^r9M)Y2Qg&mw~6fa!@^9qjifa=N)k8s>M7@Hxj46;cIZy z<}FPbmwlskuR%}$Gj6&PjdI}I$Z6faWg^PW{C-|@rq^odJ{Q037`SX`p2my^chP-; zz=LeW#VE{E&Sx}k7{c+JHd&*YUfGiF_ZfcM485W^jfeK|co@oA2i$PsY7M409-?~T z!s&9Y9@k{t(}>0gg>3NusW*E62IoDAsQ1uPs&_^8?cix|@^xlDfl;(xHEeGSE;!$y zJiX!Zhfm4ALX>pIl)G3D@G-4XFNVJ|pwGECAIjP7qj;Rflfm_UtAd-_^o8D-QXE_{ zog+Sg#&bcJA6)mY3fhA&g|4&Y52k{=AVfC%8jkaXZ2igSE26ccb>P!DBUSr z!Gmq@Vm=l8G~OD{tOZxe+a+_7pL|9x=tbQj#AB%W2C;FXv)B|u^mximDK4v=o&w^P<0aw?h z_Z8TVTx-NhpF1l&1vgY14t?B>YBaw*r|TE_vG(BdvC9#^w-nNQ@s z&B3{+z$4FTaB;NH#!ov9E(^c^*;bjJV+n@e3vH7B>=T$W9{SLhrdS8^)u?@{XVgP} z#S;b5zbvO|Js@0r0lg{rMCzx#=sLyyVg&S|t9|2GoLt%%Wf^Mue}p#A44-~Ex3N=7w8Q`szdKo_6Cn>Nd3`!k=mR0V_T$as%=31hIV~* zh*J9Iq!korod?)A2(&l?A6ak;Rtir}2Q8m$j6(>lkt=q-5lf=+OcpRPyjkCpJB_`i5Cn%?)Ts5%z?D`2MmM$0*R zuZwR`65_P)q31DFrQK^pDgW0hHNre@?ne85@^wz|K&KKIm%P=lQNEUWQD3r^T9li; z2DJxg>1*IKW}ip8x0YypTNgcVm|Z}%gjK&ERRosYYxzRX*9)G zz~6J6`Y%681|L(M#|>D0$yU&MQa!@}?oro5zmDj+0k7b%{_+z2(RGTRCvjeW4<30x ziLWNDSB0n|@R9B6QH%M@J5jyp%9RDz2TCSCAKGqw7JCo)y?rpmcKB2{Rq4%6@gLM7-hk=`h)J3}z)3=4wT>@?mo<^Lm z{B^_mqBxD70`O7U=)FUhj9U&-N+&S80(?xxHy|E^un0beQ9R1clJ6MDy|3G{k%N!&@jvh}?^aMe zspX(|_Ztblwof7CH|R=5oV@>Ua8bS%+^a7GE}VJ}ZYoUg-4)8y|L$o=r-FM6(0jT0 zyBW}H3Q~Jkq^>0Y7hA!drD@!-#0lX1g0VkwaT&dj*CbX$oVIb{eZ`iOp_jF2gL3wU zsC|k{{{+`v84qqKMc13g#2UmO=77KL8u>VPJ_Ofq{Fu(kr2gold>J0od$GJj-Qbq} zbe&=vJr8<8@yWvUk@vi5&kg~1w!I6zy*OP538%K9GZVV6aTD2IU5r5L9Yt#Azm^MxOGQ!_=k?ry41aGIm5=uo zt&`o0?BKc$#o;4gPwQdh;1%GOXM4akE9kmjF`L?XAbmErUm-3U3@7LP! zac9$@JiWh=zhwx`*UrLae&X6K-Jv(!>H#j#LH*qxe!pd4b%^RE{C>*_56<5H6W8{k z|4HGu4MChj-&ZIfU3Pjew7S`|>8w1J*Qq>}<>>umo?hF)#eE&2H!Uf!R+My#Uyi{? zwTAkge#}C|sfp%LFMJ_dpC}$R1rOc&cN!;skJ~`yqg}Xw`1?Uq8CO@P=T~J@MR2!s z;ZHo+avZq)P1ZD~kNB9pZAd?86S&*B9dUZDp9T+Bz6h?!Px}w5xAfj-?XLas*AJ%k zno zvvX@B_{e^x`-94&R``4O??F7as6yZUeQQ5q7QtVigZ2BH_!)?@4?^oIu_hNN(Fu3nGrlx zWG=X3wHDksl-9AKW8J`gZ*xxPWKuoOAs-_j1+GrM3x73F`IWt<`Q4d#2;BGiHT+e# zXkD$|{x^8AC9QLm{dZD4shcLje;f5{SAgD!>Cd|ydcF5Cd`v~Df0-xrpUm|BF=^ns zmB-wHCvAbjL0jiA>*qxa{lkGC*0z4F#&hbSEbgGul66@pLXe?Wxh^gcs< z``Sp?b0-A7`Y(F#uJ`G&v7GdMZ6FKW_4+8{;Z|Koy7rQHz}>}XfNML<1^1Ps^^fuI zHz)_+aQdCN*-PU#=gy09Lz7-?B>a=s{C{k{cbp6B|NbA25`t z-lTpltwZn0v=-YwnsLK-YKMC3BIq@>+Ky*jHI?Et*uEoQF*8TPN0&bUf5qNZ%2&nX zW0>BvpVlp^z-@3<>lWa_=CrQn1X?F37mgUq^ycoF@X<7W2z?;37vi_7={h%P_90!q z!G6RkUC|qQb7#8#@nnRgB*zORxIl3!+yd}SOVO*U=KJbp_acOF09pk|wR6ddq+mWum-`4(&%Suzd z*qe+2KYgn`_9avUsXf?-Tn7*KUEPoAeWBk0spivrZcpdD(v9)(|AVML(*GK$PZsIL zxN}V(l!LzRXY4Z^y-)ji;e9jikP7vl_xseYOz(O}`L($mz3?%1qJ0wYp{>wI zes0}{>BH|M4UCThH_atQmF4^zFTb;#0|>4RHoKS32CMZR3ATPWQa;+mUT!JW4U zAzf(>`rVED+$Q)(9H;*^Q|PuLU+x05P7ojX?92T9c?M8^&z6MG8vUo{NOxyExbJX7 zaPy2q@K=}Tr z6UfJ3E88H(jZ)etw3?{Cj=rH3-EFG8;1L;x;AuQBRISg;?aLgMfFDQX;sz;K)AACwPVSPXZbJz&+6ok*PbT2-e zgYs9+pA4?twHRD&F`&IE-qOBha3;;a`h+|vXJug;4^2`Uuau=TQJ$Vri{K-l)F0`7 zxH1Xt)0c4$+{@AYWi`nWe>h*xXj;dbPyIxB3W+q%C=MP)Jo5cLV_E#+@;6+eIKS_r z=cO$VX&yIj?gRbf?8$?e-mInl6IZ?w;1cURjAOo^w2smZrSVzmY6877@C9*lMXA2@ z-wL6=eBa4ORj&{7C9il7di|Bl&`UmY;Fj39!7N>03eEe<*-gORrWfEEGd)+}A2%Od z=$MIk_&2m~X0_1!lZ{^*3}ZfFz3F5%=mW1m8W{H%`-F7$8TrWnlm_Fudos08!Aa}1 z)OCX~u9}{mh2Gbjxavp+%sZY-pTV8IzM*{d?i6ry_AcOx;#4m(ZZ!PW<4%Js_g6u> zx)H;{C7Z{SKBXJR4MW5wa96d1;GPs4{GBhBVcfPar{8gy90uP_+v5L1(*NY{6y0rAMkCYG*RH3d8kyBj$q;aD z?E=sT+dC#Pz0=hm-1uuJxGVY}_^7VabK}PB3E-AoRj@u$d_G1#X|#XkfBR$#^9l4% z1?Qi?L;QitkFcIpoe!;7uhRa%|H#LwOmDwUzxN6Js0lqkhIrsH)t7P!jfdXh?XbSp z?xc2W>i!S(5e=$g{ppXS`!)%sKc0_z)TjqR zZ(dI0ykTTF_{S}I5X<6pj;H?aDX9QYY(me=`72O=^lw=Pu0OU|$MlkJ4wQpyum;?f zWh>2_vU%W=+?~O#WoZ6&AxBC5%-ezy`}djgKKW=!MG>iK>3yKq4|y< zwVmeQvGltn#bLTnw4-AsIM_haN&^N$gF^_SaNN4erjZ@XIuTrws%)*;rpRKMn7yTEs} zs)73>vVZ%-NAFxoaVDjrJU#q7;x-q!ueBfk%2jK?T~j#li&u7|d@M;co~XCe|D`5M zKA=2>9CY8o_C6MRef#BTZ@lFZd_3|Vh{wbgfL`B%_9y*$dqeM!Dbt>nnl)UU20#jhGg`&1XB+M-MAnQID38 zzcl~FRF*E6Ssd$dA@(}ObE^Jw#%%>kfCqPyzrpYsK9+1{!TFQ4jX93>iu5OsLGRqS zu{ZP4)$Rpu%ztbkFP_^}$1%<;Z{Gn|{yQ;-aq)l8!2_Z9Z)gL>`!lZZQ3l+WN&VW@ ztwdkO{Vf)c=fq?9eGBGdCHpaMEj$(Tk-jrsFW6JR4q#l@cP)IhZEqvppwx|YJvAD` zN1m6~=R%8n;M%?)$8qBK+*Rm$Q24won)yiQj)UIzfW`;kgBIX|cM!O6GjzT4SIM4C zZ<>960w*4IJ867ykIvPHaemft#3@%%dk%cN(Tnkb_5k$m1O@gtRHIhG-}QYQ^uA?u z|IS?G1N5>XSCOtINb7+fr{vw34_7D~eC&Bc<3pu7s29`9e%(3ob0M@&R<>FTu5sN( zJ2&m1aXX+&Udnu|ZT7X`#G@wV8OqIdZ6tW6;r<}T?I&qnp^W$lF6)xLE8~`Ydg%GG zz2I+KB13;vNzQ|7uKW$X{24u$5_Hq}Z~s;jddaGBxK5N*_zAuL;3M!gHhMlk*f<7U zX#XgMXK|cw*^;H}I!ybPg0L3;nkjveUw>P=F5pHj0CyL;fpxg%*$VjR@5}%94)UJR&Xk3EVWDo|E@>8i09Cx{aRGQ_I>yze7J$%i^&$rt1acw5y2I zm5~?om+S=fBipvF;0Jbo@5c1jx^3YfTu<+{mc*pMNA`>AMQ_qWuXfHt`508+pqCUb zOFpX`K(D<^=>|$v121yc9L@ZlN+WUL;I@^NQRhmW^@@d>=BlQ^29e6%Gf z9%-%2@r)}PJ{ZJ_N6p%1(0e9~pU8ONz}PpOIq-;+J)#^|__|*0GFhEw5ua@u(R@ z?J#hn1pIxA(shgnFH!rK#%}`G)k(#CWN)yN;%`YlsZX2rVtRWIT6cNZ?Hb98=lk-n z!nmhBvL1SGwWr{5g>;BVn?d^zsy6}fB59+jJde@()4$$lWIpB_4bXnnukOP~w&e@r zk^7V==Wv{MYyF{2uRK2&{YbNp+F|g^(Im#}CZ0h%5gyS#7-NpI^I&$LC@UsWF?!}u##^o#aqJ3)C(RePO%R#T} zSs&>tMo{_dvdsaH>GBix6)aBkul+v#u37D)^@A+=2KjHvgunUZIn0mVu|L3tPQzna zy514dXwTk1E#RIn3kHJ^PD48}R-tz5tlV`dzP&XkrtzU z1Np0TjQ`0G7oj}Oxg#;Is$Jdn%qRJMbHs00PwO1hX(#3>!K#Lj@lkc?&E_VUk3Lk? zpnSA@-y=?K&EA-IRHyr(oK1yk-tm>FGn@H)C$EQIF^JZ&zKUOFGHzX+2b}wx)+fS> zNa!O6y>88kpDVV~^I*oM-@yGh3$|n2l6V&BI^T_lk9&my`Ley42JXE?@10QZzm9mM z61rceoDwyQ7r%dJ?UYzfJi2eueF4uGGki?VT_^|r5n6Xi$~-XhqE6E&6YBwcL0YFd z^Q6Hi>ghMc6AaBqfuRo&XWaXhs9*EX5r{`$xh1%;*nx49uR!~yy6VNyeoP&@V!SnV zp>cq}+6j7R<3-?s(EIefO}c~2-9J(9VXoh!2j|wBP!1|Bt>4sd|Ac?k+kyjGekD;f z9=dz?1NRK7fc`6N9ELbOe?Cj(MVTSrgf5(TG~cFjmVTH7f9r@%XbPqprCY?NhjT2;~s7;HZ{yPqPTD=OyQ9{L~!((v@-P6;CD*UcQ57YtFPcg=i* zcqB!$P@LK5cN2-(CnI0>GxIV3>fN8=W8aj3`jXG7hfN)~wQjrE9*Pf_~&m zrg0|u#B}(`8w^D}z6Vr3##IGSFS>qf;bRT`&XF@#N1X1w5n4|4^H!qYogLjl?;F%i zOoG3@Luh<1*97I`9diZkTv?XdgXVKr_&B@Uk*--q`vcqz`n{X+@z-w5U$Tmx3pHgg zL**Y^yDj74_ZM*=F81TabJOR0G+%_qZC5wy7q%92F|KmyG*6kbH$Zu&9Zu=Wd=zu2 zU+CN9MSJMjvmVwh#%$DnTy;KzTe#jBw+)#U(9X5J`{H_}uJR3hq$>Kop75e6=A9m% zY=~dAnXU(2t!ngOabEm~-lrtpLHh~9lN~4@Vc*~I7w%I3a;~_A@`)MS4F18;dlsujrGt3L(d&j`FHE6$aU)5^h-bDwSvUs!?pP?OEZqx)< zMBhTXuD&!sYK}BcVE$aeKhaJM`RF=Y^ZppPrSw0fKSp{*N8;vLSz0oGp%kr$RV~NC zKm5KXF7&=8?TQ14-}i876Q&QpS1Km-UMa(!6)hMK$Md~kWBAy5j=;Poe5Q3;;ARGV ztQQ;9WqNxfT9>-79ht$4=iK2RH5fOQr#Q7E8lzqD1*;5WJp6u6cdP>a(U+WKFyrCz zL^7^6^nnSgq2PMDzvg#2y7Qt=Y1%e~aoug|*M=TJ)T7~_L<8gAzNGhzJ~xyX&pq`l z@R8PX+tavMPCW8i^w58JMDM{90&i)2ewqz@ z+Pu~%AL(G@WTp?yxar`ENIm4OWx$P$U zwW;DD=#>{D2Qe;3ZsYL_f8)rg6!X zqeOqE|FFwSHq#4SMyhVRL!$+!fs)vO&Iw8=l^f1Pc-qT=ySJs~by>{b8j2kY?Zsdz! ze-K=@+yEbS(T%M+@q32Cd%#U+dW>K`r%!ywydP*m?JAhkXgK2?8<^p5Y(&==njNhv zUpZ*~W-lQ@`}AJ;0-q0MKMmx>?511BDhhsfVKpGUp8K9(8DxOE%t18bf) zg}-Vmy&u~YN&5`Ko=o_AUVewawH&R}6oepym&5eNdHIU?MM3?$|x^<{M>iMW81zR@tZ0aL;S|*blUgseFj`RBaZUbrW)o2 z*Pj!>xjL_quZTHsQU2zBAHj9C62RA_-qN#p0tpl+moWrB)|Ll4F)sY<2)+4(6MFZF zyJ$b2ZVkXypQ${3<8PuI!sY2%u^sUjiNA~X?>|P@JAAuh@X@r+ivFm0riG6&s||W{ zvm@Z{T^?{-@&4dZb#}lfScSXLlwW9H#T+>qJn`wfSWf(0(VzA!xE1Y^dGXx$)r5TMi*!P|fzs>2jU~Tf zTn+o!xbKK3#!wgIq%HC`^qN~~@VAzr^{4mqT5x;A-SCO|@Qw6c;wWGD@YCqkrk%Tgg9i7Sc6t%|YYRBwE)Qu4Gxn;?GD(q5cxeSC3&4R>p(# z?hWU}qhv#9T-9}4%!{YKCdPRSbwe+$pAYd|yj273(=hBNxZ;=`=|;NGpdPuT)!>Gk z^WeiNXQ3Q~w=~`gL&qV0;qf@MTP|u0^y+!fz$F_q5vL}782Nw84sKYS0)JCuYX7#} z8SuB|$c}auC_&dRl1C+|946L*kGddTFPn}^z$F)C8cr-f?(RmrqJW54zTde5AV)F1QFK7gv#3B<{NZHRfn zd_DBMbY?nuT8V{inZM!7OZZC~PeOj3Wo{u~{>yiX*Q|ncl`T4)Cb{LL2Xk9Je^5?(wnGW;F-i#pf>dTB5KpN!V~V>$72`wc4R z53d@*$6lw1fpNt=+Lu#)N`c;Vklu&mo=@|Ie0wbPk)CSs_bpmX@fYexao(Z#Darkr z;AnsBo1fk*l^OFD<*%HxiQ+F2Pw55|A}iAJ#wWZ1S<3c&^_@>qg1c z6VdE*Szy6v#&zc?zlwIPdNFPvduIgrdFt1e<@w>`{BU|Wc z`AD{CYj0lEIVWs{zafpDkCLR!z&cIcWgWP$6s`AEou45dLBhgHKTZ zY$QuJyuZXvoCdvS5eF`F(Q~<)VPnxAGHPGOxGi5x>j8OXdJkKmd2h5U?h1{!^655| zvuQ8&7q^r83*TrVd`x#Mqh6%zCsR2)=zlZiw|Ze5*8ff8jCJd7_^68UG;W0bGgpB} zq?|`R+OyHPp*T$O#JnAYbt&J9)}Q{aJ&^8>kG+wucH{u0tN5c`3M)_d*1yn?xJNYZ zxi8Xv2jk4A=tue`G;Zk5j~d7HT>SG`PCOb*(|)PCz-}Wio(GrE`#tOhR>0r#C>dN+ zu?O0Z#ZBDTIcg%)TciI*IcqM{{;JEHG>LKbOR6tV@3ZjXZU0VSoNx0d#vkR3`{2^d z(Q%Bs^0q?!dh1GXRq-tF8I`MlEGK@hxlij`Ls~PW%S8`BfALocLa$t`Lixy3J|e%e z`$NH>t{qXn#^xv=n?~LO#@sS{xF1(a)XjBE~VrPQwJ| zFX=|(nCVv(_SuZC1``<%mL_iTEx@?JH|_wv`8e&fxsUgSUUiP1Cl7O3m2>bHGONZh zAN3L1Cp6^#Hk237-G$DM=ftCIE%iI?nfWn{2Q00`{WlZl&>41C%+R->BeZ3Fd_45tdd7!-s<*bX#3obtvfq6vgp>;Tyz8w6{(`hKr z@N*ruv-I9D?Sm?)U)$O@@Nu`P34PT5tvy+sny+ucje|;qn|dd8W!(Ra)^)Zo?Z93A zXM$^^uRyOkmYB+mx`=6NaK7hOaK1ou=#O5i5X*_5%LQ6jxQh+}m#k`y{-QQ)gx;HW z7CzGbm9YMoY@zy+X&PSu7`h zEnGhQD|(Jah@6UXNnY(9^!BuY(5p(c#5@(|zNj)tw|dtuC{NoGnom`ahk-j=rlb7B z@d$@{gR47tK>Ye0RA06eZNNRl>3@9u<7u5Bb94p|6!?Vp;J!Nv@ffzR1eg3s#W-Nk zB7k!p_pRW?{Ky{X8p84=J31cRyDL9bZ>Zxpya z`y+7wH5xwy9k+nj{U-0q^xiB~@BWqJz@4UqZj2i|wEv*59f5S$B$Yw?;oH!Dg?Uyt z=rhjR(B2F`-yt4FWLxlH^fKgEcuMWo_UtmadHp7g!^&zj&Pcz+gA2Wku`FHV8XEsK zXI_EJ|Fw5xT-*N_{3Xq0h$kYxg_dzoj&9)mQ5|@OWj^$_hLkV&A1lGt_9>`ew}<9y z-OEMbUSn0v%a$&5|54wdG`MdaJ(nJi)A@LDNOSrr^yWEB5s#2_B>WW* zd!Ri8ZcxAWG*-jsbf0Rdcd3TfGr_+OL;qpX-0qy1j=Wq!_*jdbS6&{fz`a~!#Hl&i8+zH9E{Ml=u^+f=a|hBNp98Lc zK=Bw0U8i_f&H|TwokBh@=yx%)pbgwJhT<_h>3Ldjy`BqL{Kiu>Z#pA#Azf#c!q6*w z(sjMH?hW|+lHw`dh14Db`CcO)cZ+K%2YbIRNY{9WewXL%{TKAkBnNoVP0#Jy=I;Xc zZl-a`()twqjmNIeXYoiS)W2-Xr612(>D|X^9(4Y57d$v> z0`zLH8R=T|6sK)zarlSzcAcE+rNajBKtvFF{k>A){%mi+y~F4_&iZi|xPA6$aN*c) z=v_@yz%36yfZLLvf*T6YM?AXC4#X2!OY1lF)*ImJ_NT#>-=0HnKTE$;koWUgSia;P zZW1p!0RFZr`6$0T4uE?OlHO)1jCA>tG%qMyCQ!PIb3-rRM&p3sd<1Tuy)%jV3&-ib zBD!j|!G(6Wrr&{Td#*+~ zDDDjbcP*`tatPKb1-pAp%9MzYzH?;?6W@+ThndFDREnx!mYDF{XZC4J1D`TmAoT>_l-|V4r zTOL@7^7mGJ3$ENY5qj>NL+d4fLkr?G78?q^b0Cc;n(f{CXVLg0`!yFn zre#^7m*$~v*NKMSY0xVQ7leP{TIf2WKly0X zMSt_rM^=K~ofreX>o|@7#_nHGU$$Hy6F7-@-M=ApAG7x!=)EcVP%m~fUBCFJ((kX$ z2~IQ9yN*&ks^m5Bkx%~xy`n6&Ta9HEeB>n}W--0<=~|SV^fL#}y-fx;#?pSc>&XI& z^Uk#2(ltlY@4S@mMl+a?ViC<#(&2}p7iyWnby6A+W$!Y;&3lT18_QFDsW%zGeX9yh zXFmS9bRFt76efL3)o=cR^;Y8ZzhFHksboj|oNo%ax# zQGeI97!Iy?JD_)MrRNjuU-E-b+c0h*^O1}Xtyf>@QJ(7C8-_FP`~gX_9q!Tz3mBee(r)FtpS zcRw?Z>7^+~=oRBjg1Z+V!2XOOVLZ5R$AcJN)R|k9rhS`^^n0AV59<$PTsCvyU`{+* z8q@xg_xktVj9W5)#d6{?{Jeo?zpM{0o@+n%!TQ|t7d;2!vu)BbZkZd6e7PIadYFH6 z73nHpO@hCvVomH11e#aq$Mll3oriGZfgesjTwDUuRrMJLeXud@Pr9dehmUUb@BvI8 zPFK4~j`&lf;t`MY4L#2gNLdlhi#qkKx`;;|OZQ1t+IvG8SBxEma&Q+)MEMxLPoK)T z=Z|z;r)bL3^CXfbr{WnmzoP3J)fnQwgQcc0E~&Nw>6)%mzq2%`Y+_s(wXY8+9&Nd) z{qyhULht$XyT7TzFzAm~UXAs+vIqT6K_0aX@fcooqILd|Q2pi$!Y6g?p|;Fldye)S zUB>L-xV&PC*fmRADqeb z=8mZ-AN5Y!w{$02zys??B2G^^T8|mZ(Er5g^+n(#dG-N5qaG!jnU7*yBI-+6PU~~i z%!Sh#clD?Hda9?ipXM`ufL`BWN+(YI+}NxaeAH=2kgoQ8PUKfIf#yf=kwkD+_VdsO zw*O1r4xKqhhk>%qAqG= z8^q6-bAp>XeuqA-*Fs#!Np8}0gtgmTlt0&_V}Itao=f9@a6rN|=A($;g6qxTpnmYt zR$f8vXYyS17pI%n)vB}_Cs9BHFeKHmG;(mJy=~_nLMY}T1aG@TRHK^Yy-~S07)Y1Q*hq(4H~3tnUC#Nmhtf61;okqtpM&0 zrW+ZT=lw$5a%eR#o+swtG>&n88ga$F!${W|@nHnxhFDsM_-kvyl@nZ;kDP^R{O5nr z?xlbFHOl0AK#j>RBm~iA|A=*#?ZU(EeH2=IiUBXU( z3gh0NtKj2bPwNL&uNTB49)okioba)wM@(gU=fjKO<|U2c6U_e%aq1gVdvjLK4(@fI zMEU4Hq(aXht^psmgL0KYv1R z>2{9vl{X|XpKyKohR{BbY2PfAPhbkI-~6?nK(E|;5a}Av(*CnyKI!>}Sy0aWYuX<$ z&7T5&YD^=nlZ8*T9@CwFgLo8{>bPFBw7Y|N?6av~2<67iVezE<kIVmix0v5O{l&3=k|@N{81V>>hv0k!ji3Cw4>n$G2j*j=u}|nbmZe@x`YV~g*SiNi>~F7sXgTBR0_otoJWb&rm`C>`Y>h7> z9$lV|;HGc%esxt5+UE@WOV;g0Ji?6*h{x2F)X^qZvcFOsDquGhE)A)g#C!DB{b z0}sv*t>2_2;2-y{Ni2Lq+}j}wxS3xvl5u;l&+zxRTL#{vQCaAHx;5Z@g&E+!A%0(jku zZxFw023=qCMP7p^AGsgP^tQk6L$A1hj2XJ}Q zmf-rB@z4i8Q9HNI>k1y%VqSNq_aB=Nz4b{w@W6>hC?7-jXW%+xJ8;z>6NWRrbOgoe znKK<+&`Q94q30+4adO1zuN^Un=_TA`_?Ua&MSqNZRTAwX@RIUn-+2z)J3@tew|1a% zGn{P%Zu5VDzxVoW_!x@LM}Jr4iAMYJjHP-MM*ah?PRs$lWe#1 z?O%S=4*$4qvtn7C{+ZMc{Y_%QljRRlFQyT+Ph#mXg~pkE9T0ywUCrGD=*%M9Ui1~lsBnFuA5PC@se07_S4A(tdS14g%FT6YM1Q9Dt#m?fZ%F%%+K8OcJF8rQ z-k3o97^+g5Sf*Fj$vJ@&kFMEt9WD1g)HBYnJ^;N*gN7dRzN|onYt)YqSHI-snCsiW85n{b?u%&Cv_+w^!kC9bq)n?_x}jXM>quRp>I- zrS5yQzoE>o1-CllaJ}HnO85KRk{=_P-o9x&;&<<#3V*|g805>>0WU6(KN&p zcxpqwv>R@Ldtat6Wj;o~J%$sHinp|1r+>5zT>kHKYPaS0L+@FjN@aTA3HpBx&nX%o zoU7hKZ*ZPL{aQl%Z~EGGz*}w6W4}oLllEN$vc}-LwkmMH`wRTlt2FSpRhk&fiRn16 zQajPKjt6%Ky=b?5FY2d?#@WI3yI!IFd#BU?n;l=LFIw_zvfCbzsQ2ol1K4DmI$TWhRL-0f@dt-21eca82JSmmIF=LRlJ=+jVz&E( zz?CoGqkO{eZQ$0^`y%A;pN?VraDEM^GocTB>4JS)f7TP^zo{s=^!A<6@K@5hJuYpQ zl^4HnZ9(Hzpw(UIEu9=FpWwN1@NwB_-&afrs#s_Fo^%;#5tf@xJ7b6iPmWr z@3+y6D_Rx<*Nh46tEZnD%Q&xCigq66-lnC;Gp??;0PR72h~`s$(%4aq*X>37_LfhN zkgjRQN(19-`ujuWlL;PqLWOz6_*WIA>&{Nk$((Lf7+kY%0pi!>p!K}%(>$~vVR<_A zT(g<*Q4XT_{FrOiLpiGsQ@?Zd{bv|U*VnlXxUm~O&+Po3WjNz5$y~Jm;5$mU&(8O` z(SCFsjT@S8yWwM)YDKvPTbk(E>D{o%ZW$H!+_G-~ zxPIH2zKm-mblqpVJ$n`}p1a;!(SG!Asec*IZiK&SE8PbX9#K12CguPS6wHQko)6tm z6dIIH4R4gWg`5*7@$USq3p~IocNGX$Xz;a#Q^gjO*IuLwg8} zq31@diI1Rn`kNunu-?Bd68ZAopx@^PTT}dswej)H$5nd_%0GNR%eA?H3I63DqaDhZ zQ#%YiojiqczO#UOF)nc+U;a*?CNjR`@I~|^S?KqY{=AhZG0wRf!e26y#sPC+KlHlx z^)Ox;bN_&kH9-NrEJF=_n0sT_Ph&pz8&9#Glq3y@-hQjpWX64Z8R}Oyn*$G=TZD1L zRBSiO!MvKvU#dwS#`Jn${)wD;w0xucjIJl`QD4f)jo{uV)ZX~Q7f^22{1dTGme!{A zw*1m}aK(-2IOd}bJr^e(-5BN1fB6P3bqR<^=ji~h&zeZk3;i z^gj!CG6wUaueV?T@ypiJzE)t*38ZV9vI*;X{tV6IvcL+&ueEz8v3Mkjbl=A_DG_?( z`AgvD540|F`X}Ie*80a7-Mlu`{zKR4a;F16#jY)-ti-Dq1Xp&Xc}H4$H@LD@GB~$44nFo}0=QxK z*qO|S`xv^8{^SOC9yNl8pI=h0IS;N|br+nExeFh!;wtJlvDi^?+xsiv>KBgHyy)v) z^Y;wqFa93`xH*d{p7F<9d&hF(QC6GQfq`}v!9AP5qo10x9D-hdW6LyN)J2>y3}kxi zX1d;yRyd3D4|F<*aZfh%7xc2OwZM}vn10jiW_Coq1ZKS-%6yDN4pTe@Pk{@?SH&`J z-#!>z{XKOmFP>)`O1~$Sdg(fduWmq`TKQ4<+ka8JnwF8v%=89p6#TuvsGKD|YJmri z==*cx=ibi`;2*a?72~#Y(>UZeJkHy$_eDQ7{V@jZ&D}oq`>*tzdgia&)(ri~JA*C~_?#fPF3pGWAy^}F5GQ`l`Di_C-`WIv#rkOI zmB&6o@9MRA2=n3dwERu4Jl<*Zz$ zgI@oOu1|HR=zjgaeb1@Bp3wLveK`sKiJ1;PC;A2V(tel9v=rR>e$)WQ%~o3PnctghG18SSxnkx;owfKl%rEu{blq+KvkbWAVjaxaG6%J1nYI(+=R5wbWB%Gr zw9au$t|5NU+5<6++osTcPhU66#u$&h=-g06x=nE+NY^~4C>2hlVE;V9XJQQ_v4Cqo4v`Ok1+Kc) z1nn?TC>rI!b)^l_Ar_n$7vuOwkL z;zCz+zr55~%wLA(PiHZ17=6pZi$~#oCgu@C`hi)Tcpe@fgfb^E?|5Dw{msWz<>M4y z)Y(fsH#2>3%x3s|a^J+br@HD*WL#2ZJh;uC1|Ol=lbMW%{iWqEBERNF|Dt{^LsOv- zuIdrTi#qd&OBiR2&-a2KEi)eFZ@b$Fdi`wbzs`qkCosLnUi3F^dr$!7rcKKZZg099 zKE8#oFrG*P6Tx-TC*bs7sCUD|W&lLezO#6Ux_8NCh zXWTxl4Y+5Io%Hb&!1df6aNn0bh*Oa7oXYg_PPEUj_oz`m_VjPauWV>b=xwLRP<`cl z2)%aUL~u=wX5hX9C#EqU?ZTVjinbQii*0Ow#2Fs96=OzEEq<>vzCW67Bl zdgJBY;KI{t3mJFrZwRh=TW~2ap6kZE0#{8Ty*F_@cyQC&MNA*&o(02Fnch61G`Q@7 z8a_@>GPrH_ z)^fzJm3~6LOi{!o73ueq!6f40bd{y(_rgN0pYvJ#;d0PM9EQJ*D+(UgtGeuhzdPbc zNKf&Y+D=-=@+*0}3S1(|i#Yx1t*9Id((g6G_syMIyMbFT-I>RUUkjIy;uhVH@MfXs zAHwOHe;h_XwFaYSGrgn=jSt4b6R@5cEPalCYCA&D58E0_ADd(sO9$0ZqV-1-Bv2Fc;>lQ17y7vyiUgBbBG@$r|uLWgXHD zb9-m{edvyvBSQXygQX|qUO^wp=lqRpwoL=~ekd36r};>qyCk@D%w%vOjoP{D*mZE- zv{#{Y#~@$IdS}6XPez3}`N%IH1NRpUr%U+_{?iy-XtpR6PZWGKU7segcx{LB%;3ah zAhQv;YMOj5C1p+0xHwSJtiBf72^-O$65-tu>1i{le|pb?q49QSsG7@lc#m6=$Ho*rz>*zpBV+ z#J{gYJ8(9;ou)yeL=l@((TYIq@&5d?hT|Hj^DNZKmsquAy{@{{ISlv z2EDL74&%Rk_zR2=VQ%kp0(t{~GNjK3eSrHLdR)sWGaaf*@+K(l_40?a|b8}g`VZE((Ez}o3N{R8` z%!S6u_#zkwbW8Jwe5hX-w{3xsvv_%m^JpogtFP~vk96BqgIhwWxpKvn7>AFe#cZmhe$0NCccyx)x?YF)xV%+OL1b@{BDu3OvMGK)X+zNVqdNai1 zf1^oe+_|AZh|@T1nN(>pxiTRPxzc^@V* z?u+;{#L36(HKBa8)whE4OKJZ^d5U~gR|D`5`1A1vQHMlxr0mr!O=2-_X9&M7+;K~)zEjaPqm3GL% zi$~Sc2yjc`DGfRC+$cZ}M`v6>jup+qk=CnT<_m_SIZfV;d+?DdPD&wYJ z1(9wbzUFV-IGysVem?}Gg*xzox7Ue&f0j7nU3a=Z1^$u5z_K^%f=>GwYxpIu>#LsP0Lf4PUqu`@0*#%tr`WE6B zDsBb$4EGzE{{QFyh9Aec`7Esm6wIUJ>!Q0@KKaW$Mv0O5B=`IbM+U}RX){2?>j)x)mSpvkD;?cLI|0M|) zr}ef^Msa##8{s-vb?x47di#*P@K;pYLEJ(%k6fAe;HlqgcIL$Mz(pE|eJ>K>Adcy^ROGa?>OD~d<<{XV#2W?!Uht@zBrbgr7y z5sxaHS;dLxib|xn@cAdO&lO3tqZrra%y97HQS$G4@c-%!(#KQS=l-svk*>2E`M63} zn##B>vMcfx=GGPSz`d20HRHt3U0HrOc=0H-N}bG({J$gMqpul?|9}!)QmiK=a7`Z!f4L(Y^tvuIZpin#;A6gKM!o`pf8k?%FM(dR?O1nC z^i_W)ANio0xK6y&v{o<1B`v8QZC}eGzp_~~P;UMb6lY*vbLjueWy?L&dGYJ~Ja-dL zJQ__G9lUr{H1uHIvg64m7$&kXC8V z^!`tz_bs4(mB+W*VO|Jx^-0=?+3_*11N8l}B3&V^Fyiqy_>6M1>?#RvdeR2|)a8)|{yGe!k@3#baPrcX0pX2dH<=+pFOI%eBGzkzZPJqE3ju18#}W zkM)@SV?fKewf%i?*<89mlGNZVxV9_JgT_w@D2Hrkw{~KBcYv;gT<$nb%3<=(R3x@&vE)xJL)!)M}o2QPlEGW-pnsQq@- zSGXMH4L3mVK2^OQ(|d>0I?5DP2VAlJ1L72}XZy`x^+%m5Oz(3)aq!|%8%j6KE&XX- zA*p>4KGhShwBSUYe;ut?rCoc18{;e0VB8R29R8-AUc@=7;OiEQ%c~Xw=XqZmgYp?;GLHao*l0$u|8DHy5EWu&&}p@4qiO^ z3XDPg?v8`eK9wWW!TCPae)5jW)t(b|#>&^gwFU1&FS+^v+`WSOi>nmXOJ=o*Hcao{ zOXaLT*>5&4o(ls@q1}2WXE@loy2wMsBa4a0c<5?Q*YA=%A^%gu(B8uFSl*8RpYeMp z^hG=|tB;`lNHu5RAMmDtXC6&Ke#6`}^fKZJtoqT76XOs{JcZtwo#Nq(yHO5?4G+PE zYkyI?i|-@9zSA_$a9de&xtj9(S5D}| zK8ize;Ks?B7;o)WXuP%j$_{@;Wi8rC*hd{z3I66PsdZVp(uy=+nCDrIwu~DQ)ypIby)+wGTSbUCx*Na z9K86s=FJcAuwEEg0`Xf7Tawu4`bRI&-xZI14t8$X**l3H?fh6=M|e`HJXL{1;NJ7& zYjfh~lGw`*UOYG>kHg=0>0(DtJQwmka`56Y7`y?l=(wXIC!R}6QolCurvI<;nBq~M zLVe=Wejia^vZDQ3FuiQ!AqOuWZI2A(iRQ@9lfo(HRHsiE%!kOFCKl-S)mttoo~&F=V7kA)Eb=s zsjUTGliIVnsxOHbb#Y~%wBW>}=R0v(xw_CBM%6_7k?*89&Am60e}@>%cZ$B$-rO%2 z|K@KG`5W~Wh<~e7iTMkQsr)sIQvN3ow>Q4dpb|{4Tz$*Ii${C0nih7{^?BBb6OaBO zG(U#hEthvO=0W}XGY($-oclFDi5=CCoGm!<=xcG)!HY**ty@S}B5#BKsEI4Tg>n1D zzVO%X_)?h@&y`E5zj#^}0XN6&Mf(qzr*lvr@W?SwP%pm0R~@|gyc)n}-DOlR`I-!QQU z;^)iLeIkMPL2q~c-mY{~GdRDeVjK7ur*)w0 zb_3-rc;h&@GCigRCw|Wx>hC&rA^23c)j&IRrPH|N?)e=0@7D{$U$&ptlh#``p_fJN z#W=&yCV$(xf1!8R)nj~6JfZ$>X!#l3`r=#-qkZ3j{4q$^{m*pO1tQ@SaP)1&d_0q>J!t0^Bz~hk<`>BUny)p*Pr=9d=Xu0q4*7?D zxSWY-pY|ivK9wQ=F!y%-Mi*9ne$sPE*lYAr=`S!Cng_3`_y*7=itT9`QbKj?dOr` z?*=WEzjO-u|Cjr#l0KZSrzfRrKGF$3{Lz2WPxV87!JjK;0hfP!i*eF+jK(X=$QbYs zx$~f1NlH*T3o(7b(|S}#`wVk_UfHEAUSFS6C{OE7Do?)qPw3qn)6w7M7Y-m@p?qoR zgD37c=fv;XkJC7;Z@wA&9?^$7F>c77?%>6vrXR(lIXJC0C!TwHkiU9uMe-?m6>%CP ze>iyYbK&{DRCY919a5DOk9Iq?bD?+*@KNi|U_4h;r*YoAf$o>(os)t3mA|{~;KlE8 z*{4At{Bs-9m0BaVFz#-&3q0?*Rwy@be=0Yw^%QVd9|h{mxSQ%r+2{?p{L}%IgF!{* zAo)c9bNXL@e|%-}qQm9}1elA+xQjWJ%lP4-~Nwp9|j(Xqw8hm3EHPsMbi6zwRIbzzTErI!bg{u z1Nw||$*A9OzPN?-KHmT8{mH~#bEcuct3v+f6ItLB=E~=E-Kx4szqe9tl(yg`;=1Y{ zwOgs<8tO&=dRJ}6Rb^=%sE(!oaaJ|Gh4opX-L-T*r>etecZL@o0LyyyaQwgOz9<$k`u*OEw+=m#n=3A7`P~;Fbfk!JXGa?P2T! zaQlK`;QIS#pw|zj_x_nu$lnls99%cd4}H+Ib0H@Y!wfA0o?KnY&Rf724GNvZD=jG)j>AU&WXz2M}`$^xP@{f95J8+-#0Jv)F z9q6_FkAZV92ZFPD*#=!B{Wk%eJ45ZMc3KumN6pm*e_ z`s%wh#`?`O>?OE9#UG@9OA(Nr^xwh&hy+19TQyJ^gdnz=S_oKi3Pw0Lj-G(sv8T){^vb3PMQVrh$ z&c}9OoSJu@K)D_Z>4iy^6L^)l-}X>EgnD&Pwp?r0w%|J9D)I*NQ?+$Ec+eDTD%tT@ zyOkt}pS-&$xZ~VO_+za_`>*hZ3gFsUcW_lr?FLC7+PfcIc(VxkUp1WaRa8?6+;dl` z!;8AWEUK52s{`)4Im{q&)kBJ(*ylyy+@zePB_8@haW<8rr?G# zHt@(GYBx{D_u!r$O<~_rmbm{`X4K15hVCQMbRa(&_vWGcGVZN<0(K%PE5p9|9JRlv zZZT?~BSm3f{S#e>jTIOOy}EoV=rtGa!2iJd7vQ>ag~0>F!Re)d<&0ljM@Yg)q&^WQO;;>S1F4867EaoADkeY!%jXYSg21TTL2vp-D|#LrMd zE^4?ZC%?CFunKDx1p`1sO1o6|?imq!rTN2kF zdIhfO+YS0qLBE|Bb*~(7USr3Ld(54cxMX;!1m7gL0!8sXgu7F6j9lrcsig zf_fM9z6z7UHD5Zze|;)yPs3rl{_82%0DAxCH_-DsiYtBFey|@&L*pnoh^|NTSre!o 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%0DD)J$h`F89oT#Rlu_p`+o{sD65O`!2z2x zk%NmXIKPsepr4}qJ-E3x+qL|BKj=99x4?y$jHmm;|D)^6<7cY=|1Y5-GPaCRBiq== z+7P++AhNuzMl;jpNiAtw4(^%4k_?`25-IuR( zKlkSk=W(C!=e*AAyw1M8jt}ruiH(3KTsV)2MV|uPGB1d7tXQvuU1y`5&u<8FqCJv; ztCPwDp7|Q*Q|4o(pnN7f`2aVs!E#G@_!EbKOONCOe)!byxDL?a2-unU=F@KpeABSg z5O1amri<)Me0lfIT5wPi+L;{n>7iVL4aFc7>xL=Z6M!LVF2LL9h9T4d<$@^75mMA1J~0+b@u|ERk40~Yj*%SsZ}_? zNLIyhPP*0xz`gI|_}}&qj=Mq|t{}em6_Ar&i+ty3JSRqaW+W_E=@zd6-_jZ9DTG^( z;y$b%kG|Vi;8S_a)@%p3Nh@#Z1K3}98kPim=1yXNlyPnYJ9w&eyo?W&a@c1F@cVcC?0Pg#FF5r@i^&-`*47T$(+aTYMc=9B+57N>I z;NdaYo)AA#a<{;zcw^)D0v=d`{Y!ZJiZv=5&Sm=H`^cFOBACDX)&MT|-@Zv^e^1_; z33z5Ko*#3Zcnxq{AJoU$DhYhsxgwi6UwszslihF^@PI!F{7^%*L$*S*u*!IzR<{9n zRY83`aqXSESLy;D3+;k<;KNBT>UwssgW4`1LDFQAJ z!+y%Y`*pxw;f26Y^h5dCg2fO&*GAM+lb?DsF7Q1|M*-it=osLU%Y#54Q}qgf`(J(o z@Z?yugE@N*(kuTo8F2rlNx=90GaA+#GupfA&JPX)9$(cS@vE5L(7n$Aw_NZ89-Fch zBkXUN}c1w1?($G3^Y|04bwmbdiNn?WDPqVEBhpC}6X=wE^PPU*7t#r%yQ z+luKOkMF#v+I|J{ZB>()E>{cC-!&NZv=zkpxTg*JGYPfoj{Lp2{*Y;30oH*%>BfM^ z-W>sQVpY~I=JrVpc@J>comPNL)kgv@*ONfcSbHr0$q&i`ZeH^P@Z(FK1-^H>$hUXG zc|_#&5oni!`(41#{DS>>_ycU8Jq_{PZ~S#EhqNx_9a?&w%=8Lr>rU3{e?tH08r5wB z$D{r0qW+&w0X$`Ef%E8kyJ1~AdFA2;mGPYR&LGEn1kY!>$2MKh@swMI_2J-IGsv+k zV}YODiTB^F(I)^8=W_t=u22=^IQNwUJg^bRMXp`#AYHlNu)PX7%0fBMepm|hk^1BL z$y971?8{_-{{#5yYRnf$9o!cSL<@qQ-F7SwnP>3+wVJ*QeAgf>57CCxL5_R!3c#gN z*lrWw^728zZOgD;B&YQTezMS9z`X@CVK}7(M zUchsG?$_{rG~d_7R&suD%0Iw26@3}x1PkMRoWzgE08c!-8}c!*VF<`ctj2Ti=Cv;X z?wgMH(^DgA;=a|OpTQ2cr|~@z+Ani=*a7vzyWk}BzjQ9e9Jm5_^q~QO#~;Ie;pELO zu&);`kLL<?mLiU{|C=Id4A{#<_g2&qH2{z9t-Mxcc6au}_Q5j&%ctojyvOSJ<9DbpxqaBaW%E+&IA2|S z4eEt`>~fIfk=Fq3*>G^Z%>Ev;VZUQNiSG-TtHyyJkg%P16rBY9qw9kfP(Cev_JbT# zrJ*3lX4?nxW=E_7+_e_h!Qw6OUbekp0&wem3ygDUJty|fcEJ7H-`&LZ^pwE$8Ctgq z^!XR|xvVovLA?HcIL`FW!1ZnQqtR=*{AQf-+PK17VkPi%MGgaQT7%;R?=M{ek9OM+cy<+zd!r2|1MUjW68Pq- z=-({;HTExIht^+5Zmv?9xtzaN1HRvm^26_ag>s6D@#ew>!EW+&d^bcsitSZ=(;cu+ zwtNA|cS{3YzoK=CY}HH9{?q;i@l(Arfak{Ic+dZ2VUQmghW<~y^N)d@Ek)`A9=up+ zwaoOj7QykP>WV?U=H=KQncv2JqTEMY0k_USv5NCudk=t|)FZf#>Q~S&W#kl=+pN7f z%AfE!$PYKi`HsCYmLJoncz&DYc;5OI)7$n>;O9EyI#@h$3ibI`1zi0L?Wxu?gM9B} zM*vU%i{;Jr{06Xp^3&;p{ay91fgIOw&#dSATi(Qe*6aHW`TIn^XCa<1jop0{wx-u2)K>LQSr~3i!ZI8IA80x8hI1}vVw%|H|IeHlF`P53llMCJlInuB7 zAYIlGCCyw|35PQc+o$K92dT zw!H~*QjfPm{BeA*CouHy5;Egu|J@8Yl?UsdvUwc0-$vYd=S%3<^nCS)S%$b{e`7;D z68RnbDP6qkk)NTx)ywyMhw~{tp8Eb{I6t7r6bsb2KGt*fp*Bm_toXN_4DCi=Wwlv!oQ`tUqe2o&-X?<*F?Vb#zMg54joWVF~qHx zn*;6{m0z&GH0Bq;)gErl_t+II5ABK>+RgoI-E};EeY)fw>kRGbt{2_N`JPinO3Ew@ zKAZvh(O2<3alM>CdLZ(T-T*y`A9j5L{gj@cuCNzykB)CC+I$6%SI-apd3CuF9vQeC z&U@(jPUX}BBYspJ0OJHb-}~OC`J8Vqc(1q2!c?am+Vd|9;Cg;|ZUV+3dOWjh-aIZx zk0&N(=NjR`6X<7NZwIxzX@U_y{QZS-MtJ(0qoa)QMBT3k8sVmai+UO1wifxk9M|g; z_&C#?AN*{W7mnf*PbmFLvX1%RguVtID=#q#6+w}8+tMJmlz zRQ5Ytk9V zndxP%@~EP+F#Z;f8;MVP`g?p1?EvAVr+@l*kV81}O7eIO*f;yjhS#{Pf7>hJ2H?w;?~?(rL(# zdvgL#@&l#r!njng4|_MskS|}}ZOC`6pKQpN_P%7uxBOhrkgqO%(vY8N{gZ&-*MBhj z718S-UOeBB?{2bqm683uzjZO>TZ^H`v1mY9!obcr`uD`w?wB0~|IC{RR z=ik8B0IASf_ms;{?J+1#Fu7uy0uhccr4} z&ks1(7|MyB{#w9Ejy-SBETeesvzr<6<(-RX8u4Q`MbL-jyYCEs*@*9buGtJDJg~0B zbR#_cYi6nuE`5AmkVElC9jf1mpE?&1;j6y{S@u81EQ z{P!3mexUa=f}X@rNpHeDi{w!GPbLQldJ^At`Q+FKl+5I+SF3}Z>^(d;Me7@+XYx(=CYABhZOfOCd6*tBqCnSj1RdOiE(eo{%9yY`i<8dCR=Dl84X6XrjR}AFXPaTK(onB6EQv~K;$wnVH z;(Ui4*GYm?uL7>;`;Ov#&6>Mcj`PV5axL_KuE&#mI*}acUueBCd0;opr>w>J z^-#}nZ@+sh!md3PYaDXslUPQv#?({04^6F7wPApN{1T4#QU z%hBuO4}602pf}n>IdOb3RpGqYN*myMzR%eZa5XDGCNo~3TxmsRq3fp(fKz`;?Qk}= zNSMD+If=RP-B^-i@^u3_-XBH+pT#S*8?FL_m+*KZS8J4(S!j6+^F7l38$;ZZDhs$Y zsCZ@04{a`}s4UFYE(-GXd_dhdS+1$d^zH%$MNgPhftLF7T{fX1rXrzroJl zULyh5>l1l<5X=iA-(i29*7OhLEr;>HrOUDgT#mK-lZwj2IsXA)-uW=pFRAe)!0#-n z0{rxl=GcB7Dg(Id@!K=`?*b=KenyiYSyjOh&lWj8gY)Haq8$HM7heWBx^_}O{-^xP zJ=%8~@ULJw$v%hW#JR{n)d-h6*Yi-<;SFoPb$K~kdrw2A1$#L~G+QFmQA=b9=OGbQ?XX!AG>+6yH zc?}r1hn|^LTV{V(rGKG(+Me3qpYtUd`&qM=U)ESZ56AWT_@OXir=>k#8Qf zr6c@Z!_x)F0l(;ipTQ2qmkMLNMaNiN5Aq{LJixCVttsHrM3iH$eY6+nGrw?<@1ZxB z1K;uV;+`BQ`RS4wGF{5!e<$1-)9i570rNz{V~?Sp{#}0$evlv6aLe&Op!`$$3FIwQIM4RU z_fY;LZ_b1ABc=KQZk>5&6#qNbFKe+bfScwIhk6&N+tVWRzjwiSZSAUzRoS;5&(%3Q z4)B3kFVxz33ja>8`DpxuctXSd4L45&Tx%zTnx5*4e1KCs<2H3yIM4fa323h8 z&6fvwq~lzu7uFtrMP+}t9KHiMjUUqPu7KO8ErfA}b>Qnz4r4!{9da9n&gZ|2jkw!L zW}&+m=A*ml-vZw~#iOX~?~%cU7w|Cf6^@53+ITn~{08I@F1JSco@IVRzBTi%fD_-} z?kgOp<=!eSvv{lrFkSM*W-vYs=ee97kG7H1)u$;Jh6$o)WVC`6)<5`WL zD$^Hm&&KD#K8~IP6_x*e$0x|w+E1&dr!ThDknj59FT|f%0rfHZCDzBptPab#Jh|m_ zU^jCc)YDSw0|AeHhV80%6VBJ#lIQraW!`acGZvGW+&cLOYla{|9_e zowHAH+&=@;<;)y1loQSTDDV?GpQ5tgWh8um#C&ul_NU+W13Vm9zLNi4nuq;`zc$9} zwoevtPj#)`ctgY!QMAAG%sT>~a7&GRux=nl7D9PQ{?Z5HRac3)W4IS^*Qjy8SF58w zmRhKfbkJcaCsL=WfRmiqL)#4HSZ%Kgxc4p8KQI8_U!ZtR)iAxDTlhW#<)cH($H1`4 zt5s&UfH_r1W?}4`$%@Lt$QKg;r*$F9-*Baq$X|UM?2tW%^*a3L2Lhf-U^|)V@S%V^ zJBpDec zVY=`80^fZV+u`JJalJh{4a>9i&S&fS@9cp`L7&ubs849~4Zx*}%b+}`iuF}EFTLEn zfrqNxrkc#cfN83tve5b4vw%z2TR^)SpZyBpu4c6n*W@HMIlkvb-1!=|OOc1R17B{u z^9h;B4d{|E?h4*=VW2_x+CTaCY5~0#0(I_YMho?xjH>C;OF%lbrO< zCL2|zhwu4DU?2N@?5A>(B7l3e{TD|i>|a7d{uAVTHGPudCBP4iYXSM2UX0~D`=L+3 z?Q8NtpQLu)mH74+m@fOtzMHr{bS}|eRLkEt%5>m3&6mB6>ni*^_{yCwJS5zHq@u#V zUAK1h8fQE{+*q+Ya9>txZM5m34m+sGtMNYD|;$uh&#qE zo5cCFUS#Qo>B?LmJJ}E~yl)D}Y27Ju6y=APuJ;?^k)xNVay+1|Yx#Skd{_4`rWxVk z#Gn}*r}eb3Cg0iR*_VxQTipRL52AHE;`@r&V7^21Aa8!m$7E+bpP?GcTVo#HA{WVBSIN($R@n-W)GA5at(VEnZKN5rF%S zKMw7fw6B=L^$2u)5#|@PuAZ8Kc1SM%)({UR<}T*Hqxl8NPhK{?%5hrfkGz9&d~+@W zPWywZzqG=6>cJk+@96Q!uOpzJy1&0rsRHmbHwweNfc8hy`7mG1t6Lf3>Q_4ePuqvU zd@B1c>XRMyvmq{>YPO8)Wz8#HT4rI={kWpC&^~#*AuiuRKgO!IzvH=$eDB7)z}MsI zz2}#6d9;5N{TAzseDoc}lQ?dVe1`STH~Nwxp4fnX&I6W;Fpsk~)8x2bUBTtk_@Cr> zuO2kS?E@_E}zBo zqO^}`)!JK=NgUsXH9MGkF;5vRU9_+2ejd|n|GR@B?pi&|5YPN}1#sFIPHT2^*2xQV z`FdP`9+=jvUBeFo-_sfEQBXUFpg(U+e81@q@{hKBTxRi@DP280Yk9o1pYDAc?dG_? z#t@G_e-m+SA3t&n%UkL;p7*AGe8No|Ut9&q79q=7xL_Bz^A>i>7q8&(%_fzrQ zOSYsF_;y9a9qXF_?(~Ru4vj=T9Y?l-ouw^(YReLvC&XRA&ova!$>hF8ef;~yd?Y!6 z72-J=;>Yfam^00k^-Gf^tRtkj76B6w4vWk2DbP zUziKk!*snamjAG32iFT?JtADbCDuDnv?|E)_7m$V;imfHIhJGz%y+w4tna1KE-QuisxH$ zC$K#D3y8QnvL(pLti*d0)J~H8*mk_vK=WUcW4F{^%1$w$3nYv14-}lD@N2>xJYZ?Wd*1?>%-hi7r?EpNmrXB1fIDW_aYw4gn zchm&yQLe89d|LPOm2Cuaqzx4W+>*g|Ceuj7GXZR8;-BLEj{D=88>naC?$0p(A^9XH zcIO+w(>p3)zc8#m#2dP;JEt@d^^`{H##dT@k&8D1IjT19GPP(2a!egXJf-yuq3E3z zs>J#$jZe61_cp+3yyw*N%ilu8En0ph%8WPUOB?ZB809x9l>4#Pz<2*9j;sBrYXY9E_oOhc4)?%*$N7^uZV%hBABkp8gj9+3*NbYw zI#qH=Pmp6fHV$ywcd*>Wc)edV6L9;BSUv;gMhf!_bxUoK<16wp;IwY0{)Fj`Uv4Du z&2!oV-?aVEQdMI4qMfHQX?S9fIN$O8TLt*hgMYlr`Lv%B>5J{2rF>z)Y2M_jhv{`M zdRgE{HGaI?qlUPr$v$CTCe^`qApY%M0nZ$2g8F`0B2kP>);{FdzLhaDGbrVmU2dPo6l> z_557}^hXs1JgDjK9q5_C|4!>#Bu8zK6!4f9xR`^ zp?E)q*4bPdKhwf3th0r?;P}LRzW7uwht~1DPhmUYnp4OBAfC|l2`}?a<~XerW;OZF zWX&lYr}Gujb7;5tqsu38T+dJbUQm#e+SW<|-j#d;E_X#e?Nk1p!2eF?Ky2MHA44yU zp7)X`n@FJ{v%i)BafCBaayhha>_5{$;ots2zl-b4eXu{ZkNs*i|GS=_GnEzirY3C_&Wn7!e+Umf=S!E7 zS(w?5?W+25bm)V4b`iF#%@54*aGch|Bj>T)dj2XjnB#PQ$#uGq!oT+v>;!zmof@7# z)^ZU4JIS#Qu`B%B)F;-Lhxga#S75soefq%j99OUWQB`JP;6v=k<1aMn#c|@R%aI=# zUbxSLczk?2g?}f%xY?VB#CK@pM)UpxT{%ws1&*Frek^~i>GU9;`2h3xkGJ-B=lK0| zVh*eqKd;=`=0UzChDu%6`}U#cEA?Nar5uo`R=cG5JB9&U@!RO0|0s|Nrr6 zUCX)b+1i{h`M)kNvmo5Po}#j_$d8vA@sM!qU)2=;edn8gb$LkV0|QfEQ22NJXpfFO zBt1!=_eK>4ImEX&Ks%d;nmTYktuMzkeZC}IIsqt{mr}K3=sk_3zeY0x|xNj@Ymm|gUhVj1>pU&eY_s@8d9|?A<>E+^wB6G@ac%l*^-dz4fp?@owHA;O?>| z6wXULg69(HJOJGT@(q6sQ>)$7RA zaSH#o%`5}yy5IgR9SFE1H*6UHJLRwE*^z+9zCP5SfnDBBB{b<p`6MPqW#-gm#tAIeT_3gLYf5XLRHgumj=L&Nv!f z6YP-H>X$=$1@c#)U%BvYp`1`Tw3#{x^)Y@7?GU+f8tRu`jx%0ah?nv)G^)=Co?dD< zGFrP~Kix~jwf4d3iVx#_l27`Weys`e38(Vr|6w}F(c|d@4?(*`<$?6~`qKjL)ykW+ zxd+J6+tXTdGT6afx#wV+=_N@e6_x$(n0#d<4=G;Kll+OLtA0C6W`8GtV!^xk-U|68 zGoQeAPkjyjdy^lnsAILFvfo8+qMv{2r!1CE5WV=F@*X_3}c%Ge^ljw?Lx*AQ^?`8ps! zJ%75Ozk9p|@aX(F;FR9@Z8PBJpDqJV{>|ir|7}$z_U{_*n~>eoAKwH#{UZ8RBYvnS z`kTrQLqB+tee+7n?B|gImw<1Jy$AALJB~xX5I_3wKtWIchDQ~Z{m%5e1MqOct9F@x ze}w&`dQP-M@H-rLrT2>V%vD7D`|}+Hdy<_kF)WAH)`-i$6$L#hAJyQ(^*nys|04fR zo{yIz{v_THRqymuIM4ch1aN(Q^fb-Gc(wEJl#l7Zt^scSpd7?Y?P1`Ecupo}!Sdkx zM7)0;y@vDX+?(P!(0`^B=;LYA7WC2Y>)Doz>7sp;a9T{4edb7z6PbzogZgw?=WIbc z=+Y%S#duBKs(~EW5%hBv(Cp^Fg8dG)KaqXC7Rl28wLgU0wj6ua2)7=7VW|=Btyf}+ z5pMePZ{Q~jVEH8ZBu9@^yn3AZ{{(&XxV!gOh*yu3K6*S*_~pf1Pd!d{(Bttn>MKV4 z#JJjqc>1|;(1@R@TEGxzBie;Ve9M`$3yg5b(%tioaHsc4L)_DP@jN5GzrsIrjqt$D z!G?G^`Slzlesp^?LtLGw%r@d%&b&R-2zM-<`?3-4Y2AN@5gxqRV7d_=-Cksx5uVEX z$!~<`N`5@$LEKdN{5nwezNMZD=Kzx_?>2VL@ z(G%$RlKe1GyX03jzYtn`MdNDq6LJ4N{!J}KW%1bkTKlH;QSgcn6vN-cehur}FeVuW?+jzq|KZsMmVjQ?H;Q?k_wJ>aU)k%qs-tO^>JYN*b0Q zPwO>vjP%KsJP&-moU~(Rfb;eB+WconW4<;X)AJ+AGayGV-?pWafRq1Wf8iHrJs2@Zs~9l-0OjBN=AEr7O9z#oT*=p={1cyW%i*a|{`I(XdiSYZ zA3g4?R|D#W9*=H+3d*@2kFUu>xz*bzcdzAGE}zD+q>rycai3AVspk@a|NrFZan^2+ zG?L@={xyo@dOmBPUozrHlAA^t@l9vW4m0AX9bLUfeAccGHR9X0{P&^}pS6>Njrf7W zJBK{Tcgzsa@tTz0iYonIzO(tlAkNq4i#l$=3mhjqcrT&97aDiP_V-a#_IJt`)~*ha z*|%N}`8Osx@zGT`^WWK~7I~iYrGkAGl?5b6oj19k%)W{5DWSC|my7r0ILY@~@cq`* z+{t}79v@yzQCUcQOTVMNWcE#Ri0_R2*MsB4PZdJ{&yI?9To3XIkF-p8=D4Xowzuw1 zIPdWP)1eN>(;xo<^@!?YGVfDpue^_80%cib$G@<*J5 zaZ7f+1bDD?4ZxjGKMA;bDB6>~YY2E~^XH3XuHW-GkBIlK26(n=4#q9^QOGAeQ1}%A zr~LKSs|a#PPr@x{j>CAyQ3~}*4k``uJ@sk;9v+PG59>;0WRJ95c(HMOE2XM z^&?~-%3oIBp&!xbFY!swz-L;!(X=b{FR^GDMP=zu|4S>#u($>f<^; z5Bjh4OsuDRIix?~Y#ssq3*nTm=={kqaeZR>aUFp0bg7SrKZuhY>UXGr4F6Oc^W{bt z=tmrd+9|5^f9)z8&qF^#@e*H}yKJz`czQndJ0zdl?d08-&|k!^c2QLJyF^v=b58w2 zDwPMgl!x~5%svV2u=fVeuTur4ZREexuU`@0+GQEE=Tde8$gw?w?Y}vA4CIhLsy5Da zE*jlQX7Um@Rs&z{ueIlDX0f z=&s(aIW8q|UB&H2`GMS4kRR%S<6Gx`lw*FPbv4eXbrN?&Z2zO-f*?Qp^=&AhB;UQG zdq>U>AHwoOc=$lF9mv^PLs8k^>D>YAYtLIb?kG4wQCXOd4*Ou%^r&f7T7sf9>)pJT?dA7+*JG#MP*^|CcaN+zIF-g?>3Cra{~Kco5_vyuUEzapKx=l zCeUsqH9V@dGu9FBO_I6X!()L@_19A20?Y?U#0hi<-p?$M| zfpUBStk-hI#?xept!FQI9{7=!nBM411E+J`m+w`;iEr&w3UJ~Rp6HEuYz$4QRAD~^kzlTQJzHXNj=?C)d;Y3Y8LKaw4YpIP1(@W@^t@a_FeLV6w3 zZvk$90_DV~V1HrleG2+_xe(T`h&JxEUMvdZgwzr*$jNEt!58}-aGO>h2)8}82k=-6 zv=8BuhKCNJ9U|wjUrt5G_oG;k5{a`g9=1%HqNwcegu9x(33xz4 zdrBW+|0QYb55ZqB9|?~~a6QxfE9Seyi+p=>0gV4MT7O4)^bcIO)Z=~)Pt3r2LGu)I z$&aDG3yi{XPNXQ-FGspwp3L;lb}p@`EF|1NX2JlOecPNk9wR(<=Y!`tuIGn){Q>>B zy=omrWq&7rt~=r+huY6z%ZFc-8IRgeYTq0*ZqdeLG~Q$DuA@1h#(VC?*q_FW*kE37 zZjAXw{P>x-$8f&?LRCd&A&t|b75;&CIQ>R3z-e5UyRaO_b(Rj;zl6Wb2l;M&CI#(J zpksdE(>U2BwVWeMtUUCts;Dfaac}ZM7TS~K9JDiy+hcFcgL-X!3i+8`*zUOweh2j^ zSr_@FKdr~+e2A+xB+w^V<_9R}?kxosRpR^i*#0ECC{W(~moXn{-Y1>>3g&UK%wxc( z{TheE3H?6JH|gD?Y=tMDkeOWHl1G8>4&giRnL7&`ay+~R%LA1|C#}Ez=mI|BG;fV) zIF)m^R{j&G`T(Esj5gmSoa&MFORQgR?Yu7G(H)~8y@XT!wH9p;^)%g}H^?V@n#0;W zu47${S8K0)jaz{|<+aGCb}u?+EaZ!~ZDZh5yJxyv3feKVPJW8!Ynps&XR_nkVtcEN zZ%H4&wjNI9liGjppPxfH$rM5RQ2DW{*M;&!{fM(*F~I#+k%9eq>8juRHiTSZRdy1l-Z}AAN^9}FGTq?4#_op6UH6Ia&lQ@=)csLiKnz9wDJ=4<`y0iVW!?&5vM%k1~z)x8AV z_uZ6n58_lFLa%G>n^t}ZmtMm4Lnw=;^F=rS0^?HocfDgzkEG8F1xY5(D>O~^@YwHcMk8Xs4TocKHs*m zqs%_-d3Hr*A+-bMLAZVu8H)Kr{c>cV6Y4LmzY!j~c+Lmh2xL$hP(|(g79vPo8#M7G^EHjd0{c46G9-FXq>4SXQACcd>4fy^0 z0@}T1_l5+-OZSw$QS7IJEhLctKlm+=5HHD(uMZpIo`3M3vfd8qsOS$i`#83H$?ruy z@86GjOMG`DcDtbh=`30V^rw5-0qq>S-hV9V=?mOkVq_o5dr+`XTGPjRQ@khc)$UW6 z-x2-C`nCC>x7mzWxqP~35z5L6|8^}D{Zxm>*8$wW72o@y`xkU?U9zFyTCyAIAMV!W zH7<|tiICr2>xc6M+^_jp88G8XELWOeEIawdx-RXE;V4CAe~%UIAmHTJD?1wPK>op^4iE4nr$zhF z{giaG`H)^(hoSQf(p>R=J>B2QCd6_c-&Pmo2ZoFn?Bme-{ltG+AzdUt@eTStrg-U` zMrznc0-x~k);>@#=w83Gdr62_tx?sGAH4mHpikV1kiEdE-rT&ep%Mx3U_@Wl@!<9=cSJ^j}H`;Ga9sLRPCw~IuN7}wn^h=QX z64!0AUy13>wQdOV9jbWWO8uxU;CJ>Gh4hj=$=!cE&Tcx@W0KRXbP2k_RbNkl> zyODj=?zIIYM5Skax&oLCxQHIr;8pI?BLbz(>c3{ezr5(y*W?6zCylRw_|$k zrse{kc&iJfEATD)RrnwK`yW}MO8=KH)DEOJ96>!bzYP}6PkXF5`jI33W9@7pKeki! z3qks;e~S4_`sZqYEyPRZ!Trr<0VjQIcCR6BKUxuR@)r?qP#pBJ_QU&$`t(vi>*~F0 zk<8Lf{Vd_?IO}2~oc3|_eA>s+9 zZ0)ptF}0qeN^Je<51bdL@;8NXNN`Slz@rkbA13EFg7lg_)c~h)PIeleL-1UkAmDy& z|L#6s3D*?Z&r7uDM;Jwx$pYoB;LD70R;WUqp8uI6kNO zV?ta1F?~H2>_g*lXEkkKQX8KW-(hHx1XZDr;hWgvJbh%fdo}^FW5uE=-)4USd!Cl`8u^wQtl;dPes)Y!B(Z2|b_QtAHH=kLx*7XhdK-K^aQPyZ$MgZ6jr3QtdThR!dLcK_PjO}u}7pTAe^r>xq2 z@W|UbKSG+nh{zJ%eRJ*Iir|?((2wiK3E{G{gmjT#R_nhJLw@e7LcnKogz>Fs@DM>x zLi68i?|fX4L*otKyQ1G$iZ@%oGW5&j$2F<71DR3ieqGv&RPDaA zbzLnXUh*64`R{LmPyUBP$B!YdyN}~|C;u!ie@D|YuudXLI8Kv~K4Pf9qe)}I&Xg|4 zJ~7|Pe{VGQkHEKR^CP=;y?~Sb)m~VhDPKswWk7ytH&hz$Y4yl{?pHKtQ^*2#R=l?;gchnxHp2PD7)J{@=Vb}V#Y+>w=2v@a!g!&6=&;8W?YwMGQ zJ8wPK<>~F9e9OzmxQP7lDz4<5bGV*g0=n@4^CoK0>l;Bv_S zo=@`+VDGhl;e&WsyQdr}Ra?L#8m@nzh58rw?Z4)8Inr754`$N*>=7Q_t~8a|pM46x zhmu{fXP(NwDP1JTQts0Q9CsD`xuML$+y|u&M>&lEL z{fzt9&cp$*C*8*f=#@e#3!gtHv%{iUft0v>xB?eEm= zAA9!1%lvnGJ#*jVdza*|z^D0*G(B?%>I>ob{R~{HCg|^`d;M$h-5k9>roGb*^^Y|f zZ>Xou{rWT`J)^s>PUkrJHy}R-+22micn~Lj?Csh^dWlc(EM!J(g>;c0hV=8ezLflK zF60;C84Y*cboq_+@jX;@D#yvc0r@ddZ5x13xL+$*f%;t`U6HmmY%=>@e0WbqWudLr zFie-`Zy~oD=L?pdZ82RME@}R0>75{7_tj8;6X&jN<#PN#G@Hc3NasJHKE{5*a^mbT z%ExhfN5g*^aa+D_Q#ej~lKz&zKAp^Q^0$!H-m{Pt&qR)=?_RDcv(Pngs-m(mvv1#c z9+E!+$BMBE|4t9QFph_W+ci8oG&%@@ok8we=Jo`W`DQ6hvyHI3p;=vC|~S9pgj|n@(cP9{_~TK0N2ac%$?W&(x3%|)W*i#H z<>~p>MK1$x?pd%t=O-Hf1Lf28_{5it`0;=WxSoGwd0meY-}UOTK^(U)K>7YgDBn5w z>PB((d|;G7A&h zd#ohK`drw{aXP2u9f{{~(gocwaNN7`1w~~c?f0qk=MI$FH;wBEcWu|s&p*;gQQ6;V z{KoDd^_AH-jWcO~@J4}_-8pWaS4L4;NVusbo-^^EtqM5F_m_)Nx>~So&nRqS0 z_3sQOUM~cA=#AOcWfotcE~d-+%OpeGaeJMyoPqUWd`|I3wRrveM1SCHS3Owuug|kLfm!AHuFDfG_>Bt2W0&`SEXI5kIcssSm3oeklOspP+M+!sAPR(i769*Hitc zCE%gj7plmNXU@x~s4SE&jR!sDKkC<(*=Ha&O;K4GZCV5IZmS!}?A!Y33Pok1FNp8A zl0KmyaoiZ|S60wJsNtakb1`4Ed+QSIn>TwG^ih|et|K$K!9Lo!>mHUvz5ce>rhq;) zuA}uLQ;&-fuO82o?q-OqW3CDM(D=|bt1sY@##ryNTD=SPMO?3sIrcm784mT1>X-cs zGsLUshX*YJTz;-Sx{8iD6S^!)JHv9EGDUOT=oW~y0O;or&6Uj$sw z4~9)k`QJSS2I6@Bd3-O}S^kzGKXqmb@I$ZfhknO481LC7U)havboTKEzu&~=J6?Eb zsm#Jy62~XBj+eMyc@f8HeUHXzsppmePU~#hudjog;8w@0oS%F1Aw^|jB5(?D>D&)X zWcKYpj`s~o4xO{2bv!!vPWx-L|3c@kW$oNGoztfC>LG3ah|a5%eD?C_D?DD(llCS3 z6Z3&SNlOhyWq&6=`8ObaC|;=?o-?O&n}kQSbK`UloN$YF&XdlilYH`%K=SF{qP*=g z*wg)eRY4!}pFn(hC*GTI6Px3V7^4+^0^q!gh)Dp?z(# z5A8pa9q2qT@#&l}=|ksNbKND-$NO1(h?ma!d!MZg`2BPK+PQbfk8c95*N67gNgs-r zwXh3i>HqFiry5>?awV_(E68zm4c1dCKXkv6$`7qGyAN-i$N9M;;=Ciay)NK1?;w6a zy9Yu0q=dV)dk{3Qq4Y{CXUymF=^g~>@2i0KBlPK_a{^>f;*-A%!V|gEkX|~UkaPbD z^9bV0+Px3bKh^-}an_S9AYIZ%yP`6^NPlzFVSww?mHtArk8Z!!o%|f_rrochcqIwb zt4|mCe-6QLXvOS?%|T2R_}SpFS;)r zSueKpgPeZa&;{Qa!8-x%`spHz5e9ah4dso`GFyv^h{{?$VgAZU7G&- z`(<~Y?GWJUB0Z&d^W*x=&2n=%o<51=0m@&Ov=a2pm9ML)?C+$H_3-;3hxDg%k1~k;yQ}T0>Vw(M*!}uR26VK_wL;>V}{Ilbf1p!?9X`5PO3Z-_}*sN zZb#oW&E$O7zsmt9J;_f9=}GvT+uIBJ6Hfk2$j*d^E=p6ld}SPQP4kI^$)O*UjL+aKT(g9{}Vk<{(mT4q`&pG z-II8_sQ%itdj#yAZNP(Fdw@Q4uhacTXfo$VTVlE>y_Sa`@^hT-X%cR#G9GZc*Gcwt zEL}g9^Ywa?e<9M7_~egBkJJ5heZC}mpPI+gg3#HC2S5(hBg!vN zMZEt-`9=3|6IBmS;PFPU^ifn667JRR=VtSH1UxrzE7-?-7xxP&y{3hg4AUFD*$K)& zrI++4|4yVorI+%N#(R`5%6Cc^-9u4tT^}biy`ys<6Z8yf_m1`Yo3-?k{-jSb?-ry> zuV-vc3i6%s*eSdp7i~QO%BOQ3uK$o6@u|$58-sKOpnujL#h{~PvohGK%Yb< zT(@*;_1*Q>9;_E9DhT>#TA=>fPjLKCdXk;V4xynqo(yUA&c8}4|3$7rKd2t<0r?xM z5(4?8zvb|@@v`*4?Ev}vqI8k|fs-A_a6aizrI^5C348}z60Lw3lPJOTBN>_F)vKTf2-^&Fn(jQzfNB-h{eY#&8sA?YKn z9XVQN-&9V5Poq8UWrskzq9bu0O?=A_GM*IngNAujJ)zU^l-{+rQA#MSemkU8E=Z ztFN9p?V0I9sXZb2R4?>)Ap4O1)SfecO<3Nv_MFmd zIs5|P#3y~C&tCP)%wBpu1ODSLah&v|c9Q&S>Dx*2i$d}pp}SCzGHr1m&A)51qB41u zF4MiS!)5kO<7etGq%PY2nl^qT{n>mR^db3F{_SDJsr=J@XRrU47rFdosZxr{LXyMA z+k<8HO>*cSU;2e_JshWd)+EO|73H|*R8~~>ciQi>Pbob_X5Y@L6BLz&(IG$XA=n6(vxsDt^hvame%MmH`T=5 zhsz1{!g*r4A=*Fo!s*@|clE>eEn>%UzIRf;9uMLU3-0Tw%hTOCPV)WbD?t07J`x1^ zggbWp3h6aZS=*5F{R^=_ik3isCcWNk(u(8cU&Y-D{TRfLJqqiJz9j_|mHnOe2j^Yw z*jQ%Y*&`^&cJ?aBk7R092QRWX=yigX?~_Z5IJge16Z# zaqk3dmmJNu0G=+`p#;Y>+i^cM@XhYED*L8)A@9E{=P0=jaP2)ulXlO=n!m1q(|dNo zFK2=rdQaRnvbVy2AFV$`!0BD@*mCjRIHRo*-_5c_d{>U%<&1YiKhK`3^()EjckaHLAIQ&!gWc5jHydy~ z_$0QIxp*bO123-wKJ7OJW>^3ZSwE}G`M&A6zvf+467W?1O%9G{CS2dDvQRxIz6VF| z*Sl5mJ$hQ7&z^4s>7sRh!joIxUBl(+aqIkuAzvym0QmF{9lbB_FJ%+>w7=lkCcYm> z@1=&9ezBUzOYh3jyKlkZ6~O6Txl{tjx9L{jZ{&QnUCF0p7Lwikp)}yhjH4dM$!=;M z`U6ZS?+JE}n$RzkV?Fxc4xPgNP02DBv(P^{o4t zmB$;dZC6wl#@p%m+Pig@LY09}@6b6q4FtX^HcLpav(tFM?Tgk6c=p&d#M^&^xV9fe z`RMwij$uB^b6+&X6CZXIaLTVtaeVhvzrWz<^&Hs8*D(j>lkDSvrzF^i@u7X7{YqP2 zE5Pr+ucy7Y8~$tw;Pk$pR4otE6&Ru8Ywz&|n)U*|{++wr{)2)X-&;72HBY(=xaWnJ z8p;wIcU^c5`NR zLqF~rf#aOuJ>C1)+If3_`Ttgc9dz$71_I?EUp#frJ|QzZC32Ww-n_;F?w>JL;lGb} z4*;&uFP9JVSC4xR6!ni0{4Es}aAC#Xi<)|*Rbb2#A6_tgVc~1)YLgmEyb;wXou+V(Nc-7&L8`{Cv zF$wuXb|d@93x*oGJWk=?_CX^A`P9xwYAz6PiZ`0- z2;&@jUz^5V*`aFymp9G=`>3}1Am25x9>h!flYHs;TLMnH z4B<3?iD~}g{5vaxKDo=cVVqlKYbPXt|0E4RA}5O!1>7$;=UgF zhbR3>PW((1l4|a37iU_piY9bCnAU&T`s#d{>7ifGXZP1||622JM*7hHwO&u!7bcwU;RcS+f$|U?i1k#?)C7Ih zeAi+8CTsJHcn!Qyr!Oa#FCK>SnfiDaoPUUv*T#p<|AThY_VF8_e{NS{MP=zAJ=4#< z34GFra5`5&cqoYXXZ7*gP82lMlkVF}FRp@g#kF}8-FLPg$MT=k%73bQXXvMV*RUOy zw079C74J3cE5klYe-VIva5E z4^OybVwa^dlWVykwh!d*o%E#ilAi~{sr{$-HOQ|u=@a>@8OSGnNDldt(90oz^(2Sn zlRpZ{VuEz}cKi zsRMX&A&y(f?>dcJGJWyf4*5|}tiyF+l9SZNKQwL$Gp8Ii&g(rsah*`Q zjq3o`v4x0VLT0}s{bK{P^*yx;%-Nkzz)OcPvpjrYTK!sIIv=m&G{ zN-HXpmmBs0$k(r1dXKIXa9X#tf8I#YhuV|KQ!@Y$N1lgx)e_iW(*f$A6So6z{pdll!! zwm_SfJYMQwh)?g8(7q47gQgBx3HFo<;W~D3h&JEUz5nGi*MNDSUZ2ExTz?4cxeIc< zam*LB?!Z+l(<3qdN2qtX#)xOngmAo3Zl=)hyNgT$+_bR*=uhK;;M+R@cm62ilrDNd zh3t^6u^;sG^%v7+e;wB=60dB0mfMH)Bsn>4|A_44T8DlYv$u{6<$V8UtVdaYvkfZy zP7dD&_1fFDtir$PT{d@9Q9kYOI9fItEHhqu?Q}(DA;nAYvylG&Puqa}%(`k|H+Rd2 zflqSm+PyH^Cvxw@dAj5M4xMB!H+gld%EG{zGhlzqW3@nzVvpjwrTgp}us^Nq zlKke!rh2#>y`HqsMfRb4VS#ygA1$f*ul6>m5BeX>KejcOlNyZemABpRt5x~1EKaqARD*HRdE0w|fXx@C|MBI<};7A{--06+{ zchP58KzeCkfb382-B7v+r}u6sU&6;vK)PHHwS)3W>yYZ9A#1pNk4;?XB>jVjAMYu% zzuRx1{{AxByMY^;f*i7cU~ds4SFIp1^vPIdukb@5ax1aQU=P z=c}57^rmljfpSjiO&-8~sOTB7{fs@+6XaxPC)`$W4h`D87SL+2>Sk2Ia5 zp!=0sdY?k`n|fdVr@cnVOb4I$A1fOG}ATVkxmz zD1Nd3&iTIi`Z%86KkoOOciwr=cfPaEWabS0t{POI2d3Z0>3LvV&jrADS9>&o>qK7M zf&NA7YFpEu!#Mu#y4qRl=unQ+cT7wV7lV${>G3Fz)9?QDd%gYzKL10{Z&(W8_)}|5 zbtmVW*5G?9^t-uM-5;BNH;;F}0s5YM^+s~O@d@^Kicdo0oWOBDPe!*5kUG?hARZS*CD4-4`+!_!-J;SMS@zF5oyr{J6@e=PJp6iS|QQ z%SF$B`f~SAiB0-Jk&O`V-ebbX~9c>PxsDr|Wv-Y5Z=E zd)Fzzr7fsK`$8uV;=a)S?{GY%=cP>@)#v|d|7zOL|EDlq&j!`!sGYa)JFuoMMd5nf z_%V+E)IP21^Y-ty&v5VOz^C>}?TVhq{ zZexWE9#8A@!m`3F>ATeZ08Q#XY;+wLQLp3ZeGPi9-Z)#`$4uSdjP^@UsQaZS)&1M) zJroD+kEibYN4Une7_Z~h_fsfebIIUbiTS5%g5~mL;QKrDy{&)W-%GUpt!m}q3>hdw>Fq}Vm*nSukVEIHr~U%kn5FA+ul@SHnCM5B_Ia+51)b}V&ty95IQ#Z^vlI?+qpZD%MFnV$n;>jMl2Ed7PVZ~NgEJ<=l5mD zs>*;zJ`;7KpWyyE?!Db1p3c%3PsLw$CiwG?jyW?V;DO$AWX>}msg=ep?ave0GEC-a zV{82^ZVkOQ>Lq4_f8x3*ybs?y);+=N4wrhptUW$k;A@BB^^2k5AAq|nXDz{X^e=15 z3bV=kr)F^L>WDgus$-nh6mV(}e$`Lk^P}J=;dEUYsFNa;i*QS^^MVewL)ZSA|EXgu zq=1emBMIv$il?Xd@par!+Xs)W60@`}(lq%Ba9{svEjdol?S%5-chBuj>bB*0{HXdp zrUwz=d$q$`yv^72`vP#+L#v=4?Tyb1h1(YE%=wgWbfX*ifi^>Xa6D2-BP-0>2jKV9 z<6Hk{msr}mAAfJPHN$mOAZNw?9H;e$bMr5t<7-}}H^*t+5=tp&Q8@2a$$A_QXJ(TX zW|vp_ye_xe&UtD}%z6jrlNDx7m&bMF)>07H|IVwJZzA!a3&#V+MBLb7b90WTyk65p zVpfV{yN%VV+lS+Zw%E>T-;c09YY&d6+~^}o%o1+-`Gb)hf44ojJC7gCaZM4_k*Z?9 zi{C2UpX1@v)uCL$hFN5uHve6@AGa@ubZROw>uQeo)6DbAk5X8g^r`*Wd+m0lb@s? z=vhd>$$#_TiU0K9uFMc{@?WYtWHQf3Qul-MYMnAqyEY7-#4RiDM-sFC{&>A_&XNg! zQXHsV#diJ%{t!<3{(4&>KJVhTzspbM`joFv%{P(f^c0S>@1{XLCe-=bRqPMJ&&Udw z%z4&vA>fk^;f~2W$^SwUoxmiFli_QdvJTRLa@ z+qnA#w!_5x#RZ)B(UCczTvT4lSATvn%WWpx8c5L@#W(D(qLrc|Kx{S z%dJNXE0#57I=rA0AypO(4<9u_Sk{u;x!!7W4AAjG2|H+qf?-OuOMmJeu=S3`t zznia8{3GB;=avF}Q!CVW{MHrPxvO-KP7*(V8$Ms*-8>ntBU0q2P%eEQ?C*wex50Id zaq4Wqjc&YNbN>;6>l%NFo}gphjyj6ANGA8ozq35>qt|oGJnhZWVga|o)y;t)s*ikK zb}z)!+_@3_UPjlUo(8Yia=!NYg-nUr*g)jd^>u88lEHC$&(5{%L(mEMGv{$UWWn;% z`|q@$Ki%(2q*nxfvTi%LE>0M+yw1kc0C$bv=;1nv#W*g7{`v%P?SPImId0jEzauyf zV7|`Q&t`Bu+^WC=_?hMrr)znBXC}Jjoc3P5-Bqs`n&IEjE`|iL(q4h&ki{C7pX#hzzuJ_ zR<0k|gMKEy&j1~1(?uMAR2`}7)1^G$$HUJ;`!R3C_GWUq!5?42jBZ@V*A(v)TE?dU z-{Q^QmgDgcP~Q?B2zc4t+d+qL^O;eL6vp%4DTn>8JjNk(r1)}<>u=tM_UT@y#((Bs z!2NA4!1wRK>j+)TKNoYp_WBgSJ+tvXp7+`UD3`bLAsELjo7MHII{sJ-{Q&;cI2KMT z2l4TJ{Q%m3pg8)k&BXSvU%nfDAE);3{`oTKM_-izKHtl)lz z^Y#Ki1JlueXWM_ET>3rTfKTPpZtMuSv&ipVBz7Lf!MhD{^O`a}-o}kX3PC(W`Td|D zR^u5Q)EVk4mKY7VAuXS*Fg;WH10T2ASvR{%%sPq{mKA38ty5NW>sg%&eENOIe8T|s z7-)R~;%2Oa^{$^=dl~0j0{KBFSQ4Lq4i3TRjT5(OLA~qmVn2;l4ueket0Ds5+~hUp z>sttX`W;610B!!H6u8m@^zib4LbUX6UPBQ3jNWnx(K$(>NYli1Ckh$2i1?9hlAW$Y6{^)Q0n*canIY-{!}0 zQrG@vI_LYBWBb=P#c@(Mx4obv70izQ%y=}1^Ak&Pd@v8a0siRbqzky;j`4|IvVgwN zhH>-S@I4?~ptXR9Mpp)X!`(u#4xx2|uj^l+A1^fk*AHsGmc5e!k5t+XxY7~z4J)Ss zZYjS6bO?{TvHeSBE~37=K8fx61^D4F?!vl7@}rJ%ImW@-<=H%5URwV+H(myQ=z0rb z9&w)Zp+Ak93%K@F)%glLzwPh^9k`D3J&beUqp1ry9(iTPao{Sp|HPL&U|p9u(;3DY zTGvG;UId+Ftg(O_?_B}h=3U&K>l5E~XkjMTS9}d|d@hdl6>7HxaEs30gY$zb9-iL} z?*Dt2cLRM|e>z_FpUZWkei2V*mV|Yz^K>fcgxg^|RJP~=_ukKf!!QmL?n}ddt-1dQ{G{=ASo6J|c)q4w zWndoBuEY7!UwBvw$K8?E;HRe=#z(S0vT@un!wT^sJQ6SA;CP^<2j)9_RDB*e@wyMk zorM|+e4YREfgCsVngsPle0z%^^nkeOoET4w{>^B9{L)DemY4SXQcjNI_=)QEL0_M%pv=>rT&>4( zt8~Wop+@;@3s36@O&iOt*|7uoi8ol@SlW*hINnx$FF5JNb)fE2{qY=^&U_>Ay-O-j z;`rFZJHQ{^Z`oy@jt~CR#jT{B0{&ZWVgCvrEIoze*}uC5{V{w8*TaTf*(P)R@Pn_R zzDUPdYtuB251Y0a^b>2b9-T#(LcYfJQJCLJ-`c=6mGfPdk3harEA~5Wur27A`mBI< zMYtu$DBxR?WuV;>uGLST&UM;WSPlMAzGojT!22HeDx#lm^e6F4W#CKon+iInldpiU z`?N5$ADzl~cWIW!^)*MaAJO%)zV9T!-Q5a+4)qsPu557M$=Grd^mo#6y;n1x>y&-% zhIrC_Cw-N#W^I1}Y;QBnEjO@N*8|}t z&<;c6rV8!B(dZP^;K_@z*vaIm)23LT75i1*oIGAr00Nhn`_e6f&Ua~gmP&*7I zT+qLCmLkBX{+0Lz@6UVK2RI~l9^w9l4@YpF*p*e#o~ge(Uxr3=Jh9{VJ`%I^-4^>N z6NV}*l`K6S^qm%+%+o1-yE?fweW3+^NT*gs3*c+6tcCHGaO;t#13BM0@<*t58ppKB zn!`EnieK#|F-v^&n@<2=bImR2c&m?r@m6#A1(b`%)twi5b>TYJl2-)WoU;bBE9Zv_ z;MA^6osYmga(3Pw(5LoqpC5;Qp^FWJauII1j(nG4ynq`U>C$<=&b@mD{XoBM9**07 zKMXj{o4P`CVcyha{aL^R^}YiGO&(sI$@%1u zv3+mg`$u#Ybi(gnUZXIU?jY&(l6gAtyAAj@j|TKupo3j(}^{%@uT{_Njm;OE;MLHs7_TFyN+FF9jX<-~9l$U+yR1p~^)7Pq;@2 zxT(uLz^$1R-Jrh<$HQd$O~73<$4uoojWgP<>T`@w#tD2w-af$Bpc z++F?}T-U$6d>Hy2-3Kr%EsOUnzWEH=Io+@DzRt2tVfopIoyPXB-mi#O9SS zoEPpR5pEpP6XSEY=t8dJKZ5lY?11+lVw>LppK#yGlPeX*(~iI0f%8pe@p{4dYAoQk zH(KzY?$>E*by~&wo*bWc=6vfjoOj|~^7=R~72XTu65W4@ZoLTiAEe27L5J|rtX;sj z_Z|#7be|#U?+$omz;FTg_RIi0I`@5;FNp8_dk*3k7Q_5Sxba3Gm>+|233OcQ{OCx# z2zc_wJebG54lJ+ZE`A@)66*sx#Mh)O0Di3Ydyp^T{$o#JUUrnJi~8z(ZK>aBF^_|8 zV@&}M#x85U+_r7F8#mky18%z6WXRiiq{kz`<4t}a{Wcy76@YOd{$YL> z$7#Iv-K`3Id)+%@-sbz(Y zWVkOxI*#}11FqNNKHh}u+g<`ZQTmLaA8|DSJXZK1;KUCVUkP|*$aGjg5FSV_23*r` z?R<=9b6H{j2GZ*Q?mw|u#j&0Eca~Vdk4Lxn7TQ}#KAOpKZPl@eh` z|Hc`$(-n4h)THT;IO<1Ap8$PFj*EhyiM)N_K8aFvkcy9&`T4qXx6-&RJLnH#eH*iO zfpu?+KBb?;j??QI$4|e=%>r( zAH#90x06~f#652J6pnkp&dzH4ov1c(e&*?9P|$^ zPvy9+cUDy&;~=G7gnZ*e4hVeru#X@<;qmQZeWKB*0HP1zllP9No9Hf?isaC z(2;r{oz3~y3*!X7QZfvD+wM`qxM6HRZxQE9CrS(Rh34;lfQQ;&5$1((j?FO6D{aGo z(>QPW=Z=r-DEZexJ%*2=|GxGDxX*E?+AJ-}m!va9U}>)o5O5Auz#**=5o zQ@(};8o<3bY7KoG*9`p#aO-7^jOm~UuE9B_kY z#q_szyvBq}(Xjil^W8#wut&cc$8nGIgwXFox0j9OxL3bG;D>CwX&g6M#|!<-vdc7y z&x6sV2fZK|ECE(F+#{dsb=nvPe#E;L*1@$GBxDNB0 zMuX*bG=BzshXMCDAilnM72tc%c1(XeU(>mtfbW}a6y`xgMIG=HD+RJ^&YXxR0+6@PEltf(*nb#PoYn(=+QXyzedTn!b*IE0H-8vi!m z{m=^fx>^GTT>pF%^!GrunnFAAOuP$t?EL}4_!e>Rf^oo|f%|Qe|DGk0W!&Fz;#;9z zg?=xyoa51|)l_{fSFGz^;779mIZ9&3NhkSZ9>~{m?TVQ1;*CCq)6VaN{vJMt?JD-H z3XEfh#>WJH>`en$&-?25Qzd?$I$s#2malgUD_!Fs|PwV{X??oX#fe!73b+2^pSMbN}`&jVb{CXnbiNFP6JoJ~Z z1@TPOKO^uZPhF@Nd-hGjxRku`2jH5qO$0xs<;9>}=JvUSerJ8(0J#6gO?91yanRdy z&sA7?^4)kUw1?28x6RQK<2bH= z-FKYC?7#7RacH8#Ql_tK2>qzYbN1y-hHp<65pbo#d$8VcJTId9iS0RY>nf}V4yWA` z{12xNgYw!AbWz6{^xxpS4RH%E=`dGf`H(-J_+yM`_S!Sw#zO}%Zt)NEdEUnTWjla= z@Q=pA_@nLUhwCFv!vaD*x=T!6s<7O&;Y|YWotzhNUCFw_I1pZm`*($x{veG1+RFP- z=YPkA_}e?<{Tb(#wCQjAsrv=@c{7fGD9p>ceobMVxBgL2@W=JM9`rA3`y4`hi+vLZ zzI$J7!5?>lsq=ZcdS_Te-q*y z`l2`1%diG&ePO-3OY8)lmj!h~y}P#+1b*{k`vlw&YzpfELmGZBfc$aHsXdwd<11)Z z$LH}fPwQ`wfOWoh?R??7&oi<$w0~Fsw!(OxnAI5kNxZ16`ibq$xZ*J2);oO!+`A$h z`04xfkoiYObq%N z>ervXSHL5GodbW|!}P*D>$sZ}{IRsb{muT3TfNn|F5P-s&u5kR}rqi z%*FvOiN%-J|FPIOkHS*kWEU0hCG)g&xE1tk+l!5pB$lRpeeK?d_$yr+t9*>JKj%YO z|HSTi1->!X5Xz;k(T-7;#lv7P1p|m4=5w7KlR^?U8bG{p}qn$KSbOd6yj#g#C_zV@e`R6 zJCFRg7s2-LAA-+C5bl2+pQkXE&iZDY#4O!kvKL8*{%aZfvx*m%6?W8`@4yOfrBVll z@x-yEBeYxlgBikj65e(Q+Jk0SPoZCUZ)Sn^X6<}Sh=cO!F<6HrdJj_LhW*#~v?`2a zaerHZZ)rOS#($+pPoW;IHF2KRKPn~km*}rcz#m<=whJUy4vIrEUjq6?B;}k?USExc zixkF+Y+59YOOgEPFfVHt{Uh+5f6awA6T%T=Bp;O6X(7xF#cq=$rRdQ{FmL(&hxFz5XN(^@aT+^v?spBegaQ^I&**Ver%R z2%qnw_GVdLANYy7`Gs-Ycx5||SH0#6aW>wr1odS+-$ID9tJCK&4?0V9655Y1yMF@r z-+}hVjqd`Nd>M=NRyZzl`A{~ zpX0Ku*(1a)J~a&Gas@Y}Nt~{Z=bCcUz@K=a38?{|QBhClvCz~keOLVve?mk@NceN3|z4SNn@ zwj$uJdNvQo!{>ifacqaC#c43km=At0@U8WGL%-HcEGqP)Xea>Vq`taWD6f5>AKII_ z^9pr5#Qx&hzZdY7I(-GcwPp_(ACxmQg!bckZ~(`X*JFfs?rwPw;ud=LSBAvOLGcWy zgr+Mj75-qR;J1%dB<*$>L4nR7#ECzgVzXL9{e+hfAG z5vm-6dI@eRBkDZp4dcA&)HVU{?8!ZY>jYYTFX&i|E1=zKI~*7I_QwOEeJTxl3*&>U z$w`P$Q2UdB8@6l&Jm%5}^QP2c1;p9esF^U1*-qa8+;IA|P+n8(k6|3sHH->=2F?|j z!~GAR4h#9ll373}`jbiUU)O3k#4{<+7W#|3-A2F-i#`*^+rYLgaNTEYK2Gr8?kNrR ztC{**(9xWEGMD=!JuM^XxNCn4{m$C)rr>{U@qOUi_xvKXt2M4MP>-x6deIO{|I zUtST)WsxrcF75h4&~bc*_kkT=WW_uW}IjslCQeg8#wH1rSeb z&r1Ss?2`xb^);O*#NSfvGw|QIKSe07x$hM0k444nEJNmS&<`Xl2s++!c>(v87USdj zu>|0{)jq)=d-p1kuSHjSp~UKe`lGebKI~uhFADL|mcN{)a9X7|LjN`WhR=zGTH*7? z|E^;<%!m4NWWOxLO}Ts)`d94NMnb;+300xqqeUD-`!SXM64qndKQo2)V|D)l{=1En z1%H&oUxWX?DW!$-Ccgh-CimalWt5;}D|!h0Nlp^)!vvbAujPE-kN?2AAZZ_6dQXtPznRFMAI3NBr!!=(>ulfvolw=g zFm98M{j>w})vR#|<89>C7r-~}S_JDr`duKBuP@-H>Ay{sm@fU^O8x}5K7#cI`9tqT zn)Wwi7O4`+YJ``#Pddl`HR!l31E_q*?g;f)f58;M8tI<59<@ zeuvI@5Ou;YFh0s{c?8#?_b;5|aK9Rl`aL-3j8(G2j#GT-`&<+s@69*hr>5GyF%skX zr!1BgW@BU2-(?IphDj_<`i{bfpuEuwWk+(H{3LzjPW)aQ=~MjuKYuxz^C|wxwN{9~ z{&?el9H-}t%r{2>t~>BepSN+{@d)G_9yz@K+qh{uexJxW5x*yuh^&+q4ZFT7Js5Nh zCn~0JzNv0OSz$Jq9e0a|4m8!t`qqm=u-^h5Gh!&t;BfF#V%Q4)-njo<(~N%;%pv~33#Lv`X6jFwyVT= z+A$c<&a3u)uCTP-*B{~*xt2}lY5!jQ&XnWAub@x)I?HE=d?k00vJ&GthG07nb}S5d z!qTcb$3qVm$_lgQ^0;4|@A))IV(G*atQYUYOlVi}>=`iryQ}DAg&nsZ8w0p&*0->p zq4y1)349*X^0FL^=k$C<{OTy+OGnPaxJ`V$dm*&*P_4KyUnFXE1->DV1?ET6ah}8P zzdQ9yU|vXO;`m@J-wXJ$&_!4$&~uN;f)_zQd87@@gM@4IW87>7Zgh}Xc_?n$p|}sZ z`>zSmuBcud#c|(tea(MbbH27FwnKMO{61Hr%BM{@t|_-(R+wSG-$MJ0D1#bHES=o# zl@(?q>+m~V%4SUoiKRWip#O0f?hmZ|?`2JnN3PA06=q{88$n06(xH(q=M z{J`RC5FhGa!KG7xZ>aWhInEEQ^2iFaj&JaLRffIe1)XTa_keFY-LIO&c=`!$Sz*?A z@eI_9sl#-;#L_e_nFBv#zKJ8~zYhI(_rmWw>7Kt3^i5Sx0YCEXs>+~~2m8CBzFGogBhA<7kiL_PhG=t9O9!eY3^Hbz*;Fd1-v6 z{rsst6P_%5c?RbbPV54Rt(>&#!`xNR+I(z~6S{;rXfz(%kyW?wtAFYe+-?nuN zlq>T47d^QSl`CTU8sqj(e3Grd`%nLUWk-UJ<)6ne4wH_x+IqnAZF`;iwtjGKhyT^v+n(S01r;W z{VqtK{HJ~C$$ygv=U>CpgK*tpu7Lha>moj`m-yJ;M`G4=wX&=*>wJjM+l(zyFjZn{ zdfvuVsSNsgXmnSOQ@)1$_#CFDz#Msern!Ain;O(~vLm1EuePKZzMJzyk)1bD$u$lgKRGr;*x;YdU`SHZb;U z;9Jg&k`?BcMu+cB$2NtbztHd6vCjvs;K!v=<$6oZ5*|D~1aKt--!~!LJFqL%@4InG zS`fFs*jtzD1cxq_6=uVkeSq)3+Ze`S{{UQXP9=TSdhr}%5=1*$? z-l%$=y)>q_@=_IyW?Sh$rEB$bMwtsGe`%dRP-1D{$V^#bmf}F)YaoA!pS-XQ{3O05FZyGg{0Znd z#$x-o=0QBv`vC9>4}OQ=L9jOIQcq&}MFQAvqsh5mo_~Cl9r~$~uaL~skuSbl#O=HB zR61=2+>pH_v@3sCte0rA7UVqUAhp?O8(IC1&ZpY5fXK zCdajl3JCLBL5|4sW;i5;i$)75SQ=m&jbd9?%f4Nw@%qm)o}ddNJj z|EBpsZv90Y3iai!^w|iG>&{ii`E(kNZ?;}9`*7TTZyoeUdQUSlW9?v$zZ;+A{PuuH zcGZFL!891hH(lYEHqH;O#C;4%M<22b;&?o^8}gM#;y9-KSR$3HoL4^DO8T1S;(-Tn)=6=~J=zjVevzS@D~@d-|| z#H@cS`m?#tj=z#m^2 zBxZe;{j$PrrJ;>X+-7%IXdp3b4&wZHqwMvj3QOC!oovN%+NaK_zuuYSO2$$oLjpbY9ul1bF7vXX6+wiefcXstSPay!#hV-m^J@U z#0vKO{e}`tQ=DBpA}Ji#jo1SD(tfj!Q%!ntJdy14sl==%I#E`b32$51iCatAf{-ui zMAB||=eWr+1@3E+j`io^y*ciDJ-M;O?eMv>!mM(;D)5#2zc-OsI$93r%~;df{rK_V z?Gd9MQK>z8ze zcv8RiZSOr)VZ1~uH;j|<@Kl+nJJ-!Mid&nd71S^7qZ_y)4dZyQsSj|{PySLK@{N6O zlO%Rrd)*@|%q9|9o!r`IisM-9T$wQ(H_SiMPGVN8?t>Aj{u;*rXrD-5j??(B*=!!K zu(Y*mx;jo4mU&wD@Gs!I*A4|8+V8@ad&D?6UiuBhf%eUio_`H^?Defm5=ED2;)5QEyuodbG~EIM2v&F|Ej-zHpI)gVZ8Epz;&15{`a8oJ#e)@*Qe(I zy{{)uS6Iq4Y6irO_T_Lq?F#%*)>F`5X#Y?56Wo8p|DBkxZElfSTt|1N#4w3jTDK^7 zmd#XHD)H(-O^I3CEo_IzZNH@}EG@O0G(=*S-bV;*&YiBXlz&J7%4n?*(XoT?smxx(dXT_Q}*| z_5s|`_;oFb={kO!Ei260H}uQoHnE~neTiAaVT^;R{?&OLH;?-pb$-Eq;apn`_@D&Kawvh9~n-kD(X+IO& zm2O^+yQYPKAGnP3W9&VAuR;G?Mevhwe~B3A_&lPH>tonVrl8m<+8$TqTp)ad*_HciLn~MO%Ku` zZp04{90Iszx3QhX&ZqaUlTXfre)Da$VEnYq#eFz+PagbdzJc-a#XNt@wIAWSgWivG z*2Cw8eE)kslbMt%esWy=;;A!e{3%EwE34} zkZ;&ru$9Ep$sD+jGEVOaxMF?`{?qlo6#p1-Lo*RKY|;bn>~=`-)3mrGF;pOuscAW12=yT!zy_U0E0jK?Y zO}hKwPw0al&>mmyg!S%TBr8l$TCxG~P@7+&9%oDjjFZ)41qWw;FB?ba6eQ>vh#LkOb z=E(}P4&Q3Py&J{*jjsRU{?9f&K4;}Rjr%FleNj!mmh&Wb{=fG{Ymb3=Mi=%2oc85Q z6v6N78KNEMaz4dB+-?;3uiN7UKWV?s;NW$D$L5uWafxup#$13WO!^vJ$FgaxtT3B+ zv)IRN;9J`uiCMaz@2z+P_})WFh$rbt8(IP$>Xxf1=UYy%loe*9U)BaZegxNP!CKhP zJ!_6axs3b%1poaVGk~xA-#);DyY2~b@V@*L{PB&P2lYb!NPkyf$@4MH?d_15B|Mq> z2>DI!L3^-HTP-W>xWgs`9<4tJ`l+!5j(f2y^8tVNez>K=2GEZ*oTv7e!k}Y&=vu|~ zObMI1UP9b+4Zq{5E0qE5)B6v$EB~8|pr7pVS9^(_=dM~@R+!ayYXk3Wa_kU#cBf2bE-Wbm-FEKstZ$Q7l zM62}$zT@)YIh;@XZJOuK20zWCao;fVKX5k#@^!S|1O15NX4=>d_}c3y+Hjqq5%&w# z{L=z(`fh1V{jR9-!_}bU%`5}sHtEFv^a4Nfv>~)xsXMO2_5E)HU(?`KZLXh4#dW*Z z^ds=4)?0;q-QVc}_q;b2;^U7mmlbxN^~_TA=bhiV%*s^6)$gm?9*#o(@o9i-NAv(4 zDwp(K<<(p-wp$YBi{uH^(Y&0{P-4fUw^zvuv-ZY^LC4v+1^VN}b&+zVKj;`UR=_ww z`ynUh;CEF0Z`9v?#xDgO|LK;<-(-RDf%uZ4AmF|~hC{v3_dsL)@Vll;vCv=4Kl;tud%S7bWGC!WCi3VE_3e|9DClW@0l z5cm_;3;=&WO2=qtt-*EUQ_#gYLZ&S`EKlSUb0^jhysPC-*A>hHi0l2OY zy4&pxEwQvoeI7Cp!F~P>`){XnoW@V( zSM<~U?F|@LX}r~bjeO-+vkcC6mBaX3YHS1j_|i%O9+)y6aKov(fYW&Ha!mzXDOwKZ zW%{mxHi`3ccxnM*UJm^74EXK=e*+#o*Hu_q-B)ct<+#?rzN*BmY3UMKVb-yJ z4d`3HjKR1ksrtGtST4_Rb-PN8N8jDBm{(`=^NbruK!5r7I{HVooqXNA59iaqxXHxN zpl_NsuQSJ~T_tY*2zdCjC*3(t&l6gU<99$jZHM;aIO#}Zv7JXJW%lPdeZMTR_z>tM zE7gH~E37ST^H)k&G<>JT`YjKh7tAEKhJfpFF+?{3O0j#UsV858!;lWA{gcPT<2EgE&t9 znAh0>_h+v-oa6Mp3G<5(;HEQcz<={N9MAo`MggvSQDMm2I`PH#U_4w}GT$hU)4DhG zC>8j%+IMhrob*F^@c9aVfv%%Dp8N*mVEXPb@Z))nBRTHf>5~;^HD_)CZfJD{_>St6 z0QdB12Dm=9Zk)tu^jx%cEIwE4?7d|y$LYCZ^T{LNXY};JNgO9XEkAVy9si<#CUBhg zZ?`8f&f($9flvFi$Hw9F5_aXyc+RKioUJdgKPIHBE{@Z4)QMV?KtH%GK853ojQh)x zerQRh$s8wrWgR}RWqY+}D#tymM#u`Y$>4XO6BwHc{D5&a;IZMqW4Q+QnJzINmCN)w z&V#<+*G%KM;q@w6VOH6QYM6j@>C*~;T}oW1a)G>N69?{K_Lw4Hk6HTD)J}9GPr^Lz{k9AE6I!?cbo}iwZk`ebz{!8#uq(j# zFNtHl>_UDZZ+-B`_DKNRt?xo^&*+NZ`0=tsp}kRi)~Wr) z_v;kUq5cxTRUG)f4ZEQoCLd~Lg{egc;yB~4c~oeh8nxZVHHSfm+Q0MWOwh4U6Z?_- z8n(~)x2=T!8#ZCPaxc#f{!_o!v^c+t=P!L|gK>t+6>8)Ieb>;NfcvC*GUsWY^#a^> z1@|wd@k+_k2;x)Z+8$y2^mTj#akkCH{c|imG0u_q27ylW)bBX1R>Xcp-w#rn}b3-?ClMF>E<4oM`&Kq7r^zrRHh}&3xvl?j|0B{)Qx}0xr^rWf8EUjlu6ViZRs(7lE?E>Tk?aPkZ)o@ zaljKx#r3N1u>o{wy=o}Z68ND4KegxiYSSjl3bURsvjJ{umDW;XX{r~)_IprY$zivF zPq?4d7eu2O&O$hnmfR>l){e<2!L3O_lkw z!c64H(tw)+X~3uJsZg1zfX4=X4t~=0ntibkaLbBQpGoX|!i`6C)jbEeGq-qs>grnnaLL;i{G{vUVB3D6?|VEIarOR# zdGkLj6{h>{eF;lltVd<;OQ9Z<^BO_D7xxX-uX&y6}CLVcMlPm?*%&^Hh8&6o57KUV$+!25r7v5CZZ z-t{eIh1p=IlYsl)xsT_|CjlN>|GzF0<3-LckQHW4ecJ=BlphB1(GSJ(B;KLYf8xfX zxUYiwbeiB#yj->AT+i9Ek${^VD_1~1+0J*9*m1|xOqr+SZLmG)ruv{iN>5h;9ya6k zonz-M;krqwi@0;cS^@W3T7!P6#jBv5(0x?T*-rsC7OMm0B3$|&_pJ@oKLl|wSQ|pV z+OIc*|Jvh+;ChOlch!u1wv_v8T9SLT#4L>)&OAeafA~bx<{UTnsVghY`t}Z6#;x_l zdoYd#ORD3*ZUx$*#q#?Ci5({$d(nrB6_)bX&Ia=Z;jv;?$TvQ2J@{#?vry(djr#kA zG&MJjx3nL!vhbTl{J8D@heG`A##W$jetZ#hTnhGU&lk8)NNn8#fgj8r1s%&xkuUw3 zA9TX6uE6*}I)QaR1K)oh`PD)x!?AM z8vvJn6?GgH>v;Kb>G{C660`I>qh-}yz%2(Bfe!tC7wEAIaMNS)cfHuEKNo^d@W?2x zLvi+QX_2Y0lv#5P#w(h?e0NF#9^bIWBC+E}^><;@#^)KF?>gTM_?`*aZbM7(eeJ~L zk6=8c->Ds1pNI2JrKf?8B?aS?Nc$ahoIOXNzWSZV=m(AGaK3U)_5Tv`^&_`{j-f+) z$d`Uk*EgC4{9yALkT3m?@7RBT7S}Ocz7KJu@8I|@rlfP+KhgpD()T!g|2SrIJY~Vw zW)idRvJGT~S?~VtfJYZb+DI(z=z;#2PFzjn$CIb)4du8-Q(0En|HDu4yQ}`!W&2Ak zO>s_k|7?cBQr3pU2TIJ+^AhIFO>Tvy%3jG0{(CyFl6g8brvmUj&LZGvs658mTl?rV ze%$}-nRXJh^n8W>r`yR+u$zjZWa!`B6pGSD%Low(0BQ`1XjQi^Qzt z$|oz#>YROnZ*6@E{G{h+Ox5d*<;M-F`Kn3GCUW(X6=qE{wvFc2U347ucY2N}-eM}? zp&?lB$)9i?;``={VVob)orLfaYJYlwjWjBlx@NwjvJ>hg7!wwcPXjo0B_r}42+W@-B_9P z5}(iQ$898T1|537D`J&g_ReGtT7X*EaY z>0zaYH{e!U8-;ZdJx}N;ySO#SUDa(6AJVb)Ylr&p&4>CW+~brRa(;B=WWc5J*gkDv z*Kfx06ZPj=C1$msWRn$UPxL(V8MmJG_}$EK^La8)>tj9oa~qi2rnAIsv=q)4f$2SM z9QSsZ)1Bjg4lj%k z=GMEFzUzdzty|dv9CzhC4EfrlMj6sg%8umL(5pL)+dAh$z}FNTIf~=vGB-v^%u>Jh zCvOi?SSsnm{ehj9rZP`Ui;d7ecN(XI|JoH82XFPupfhV(H;9|2=M><(_s@s+?`ZWU zlq>ND{nVxW27K?hqi|iLbK*E76>mMB=i~2y^CR(H^Xq|5bnoaCi5*Y8=^-o3YI}?s z$8BQNc9_42@1Iq8GRNJWF2OiJ&rR9p+=l)emj*x_EVppplr%RWU-OBYy(D&?`4-M! z?tF`2e9*Os!MH)+X|kDbfR29OR`8#6^h>Ty;`wGDIsnS+EIUBv>4;_zj6Y+)=??A9 zcLw9*(YJtcFWf&{s>FDtZ~AuNRE4EIdxwDkgj=`be%F=-3CK5U^~#*58GRJW8@T)x zl#6g{*Xf`WZGT+A1Jy@O=jTb^2M0*ZQoX;tkO#)?#QDCUACHWe6?QcK>+Kobnugtm za_QXIo;7)Kf0)Rkx;-RzobY%@E%3v?;(CK{&4Y0;e`$@koSaYjM!TiXR9I^B>{3vV z-YGaQ1drbY9sTi|g1+m@Q<$f2?5Wg2V&@S*+5R->>--PE&uDA(GuG1%`u0+npj?5S z*#5nNuVEgH>0SwZ=l0&HQ>P~I-EYRp3d<+BtSRt)`LkeuSM_~;KT7Av{R6WLczouC zIULs>rtjZjdkfszlFso+lm6(>(O>2@e(^vqv<6p z?7wM&5pZ2I`tBZ<*HpQlhacB_v%)ywdsa~9Y0KKNbGdc>fZyS=ZbyClq>l4AZvLt( z#DQ>a={KNnp8UclvE%yZV`PQd@UxqsV{g$N>Wlc{sXIW&A8rEqYJM&R{AAVaUVfe- zSJAE#vw^FauhCs;A;*o8;sPGYcWXY!P17cVKcV`_k6g|HI@;IcpgoX|rROhzn+7(A z@qzZ~O`L4A7qcb~OH7-9_9+<1wfgTHk6rTmhZn z$oHWiMaJ7?&I>95z_of8^lQ)Txqy3{HD1Dx$20Chd|W-z|G0$vrW#ULfex+zL!pjK zIp4CPS8s_~!lk(-0k>WLANWIfs6YVl$Bpmdcv3g7tg!PUaeQ9Lf3I;LiKT-jd&>&5 z#`Q;mZ@QTu;!M{szFFs%^W&P5OPmt7>V9SZXLXh-EM?B?gg6sl`vZP2IDQSkk4Cul z8a{UvUw;(p-LwbC4gZm=pksQhgM8iVuze=K-UPURt54+@mU({ONI&q$`|~xZNB6oE zz=MALZgQwL-oGLp?cIxO`FV*`CFe`b#s*@XT|bmq!EtMWl@MobV7ScF`WbQHd#6mD zE3vfX$8kWKjo(Fb9Um}Hzz0479s4iyJ8+z?qoq#x9h{e%o_3D=)?s;_MY^w4SUP;L zDdg*Giu#tPIRJ0qX$?B`9FArSzMmVdS5e?=yDSENqUcZ2TLHc3$ zWWb|S8$o*`Jo)pm)%-mBlIy)BZkOYFBQXTuqgS@1Lfi;P&7 z$BY|-jy7NGHC*5Jsx6e4?vEL_Z34cgs}IUc`sUobfgd;l~X{ak3zq+?o- z_w6l(gD`&5{abU)3H9Y{J`(f^ci%sN_#iv<7s7+z_l5X4wv|ffaiD%08UDdKg{2(5 z_RW@=#{ck|VlZDQrHXgweESClWrbPK({%9X<%XBgA5C?~0B$LO z{U!YHF07;Ie!Ht`1o-acOK6`IXDRn>z)g<#he}LW@4)sS&AbG-;Z7?D$AbmS$_lfN zy5%AM(yj%AB$g(9WlS!tmqpULjA7=XrjHkT@`V)NBYaHk6M`3&deQ;d0&hdm-hAlZ9l3SxcG~ za6>cgbcv-yyHH1&{wLr!Hsy08jymR+nSk47SDD6f@9n0t!ff~({GHC;=mOvoxh3LP zasQLdIT@-B>N|730-Z}{`raSvyHl~9B+jJGkeIHsCHkrT=@W=sqG7=4etvur{!XgsJI>;K!u8te z(5~$5Y5NoJyypu9EWFFstUO6u@7{H{gFq|aTLVozU)soK)sNTufZ3<4}VcZ zXea))cEAIZk4%(U{?u+m6V&}@zAFpujdVPlJ41W|H=9Dgp!k@r_NOhxul}kF|F(p&z+Abq72;rn1^kD}sJ# zB(8IUyYmZta{%}AiROJQj05(>e2BAi!4B2`@t_meV82jW&mAo>zb!qnzQQ5=o?7Jc zA;_2FU|EFwTzRhir22#F0fU6!j=Y*+n3eY+F&b=#dPzqzci zvs~}D1AcsGIlwJFu^(Ax?ganKmi$p&-=hD%C+JUX-SFWOJ74d>_ylU-1HPvGRF#kV z#xAWv-(Bcuz)9bk4f(zw>HQ|;OY6G;Uz4qdI&Ncm{p}_Iu4_^f=7soD9QT4RKL^}1 z?b1N*58>G}bX66W4qbfEnd3A+DplTV#&KP{EH;k+dq3)EXVCFCI<$b})ZeW`mjEu+ z`w-T9G{1*$;XZ!B6K#d{Kzugt4`%Cq9o7%DPVhG^13DJNs#LB|ekRW2cq^SX_j?qJo>UIw8&2dc?jDvj`?lWdPa=8ca6`b#aKj1!oj@3V?aln2N@3I4Q?BmX+0)Hvu z7W*{7V_!vja-7y(x=&lc`mOoCw7wj-FRvgg%<5~7g8rx&_ohlLP3_ZNpdR3HYui2? z|98DQ7vm5svsZ{uLXZ2cc`ng@Ygmuof%rSA!?*?FO!~g5$hX}spTYHM9i`Q62mhr% zW~(@s%hW3`_~WgyIF<9MUwDtKf%Vn)le3{*v<^2lDGhjVlm_BVxGU2JxVzRSh!5dz z#S6GOa=sVWC)~88u}@)X{}^Krj??dn(U+@Ma6ELPP725A_rCD?mB3FN+}@w#^xlE4 z#aO_#7u>)nolpjjSFSl?;@`oV!1kxTkDFowmJ-*(Js!eMdXo7s&r*eIZ|W!F-?-n!F`d;&e6N z=pQ)&cZ@Wv`Z!L;emS#LVJzKGWrTUk)nYFAsrX(%zovX+C2>C->4yoa5<8Fdm3=9| z_jWX?4jwTvn#n^Cd*je3OQCG!X-Nm}tv7=EW#)2ggTbx+2W5ies-g8FiO`-zUgw{6Qz`k{Z*hzwa@NXO@Ry|-{YhSm)N zzH4tozBk_5t}gT+&bODCGFy~bUh940-_@)O=zITl#R<~qynhN+M$HoC z!{;5k3sPa}lIRhoQrD*f=m-M`fq#EPJnyRwKZ1@b`5V$djiqkRl>g5;w-@&3qBu@N zgYox<%!T>;Qm`GBg+_tC-I&buS$$8Jm?rB4+Tr!f|L&7M%Le+sNAF0zR6V+af8A|o zoFM%luUGK37jRdDp|F17dD9;J5p=|o{h3efKcSJ8QD+0b*UncIao-~s@~dotdEQqP z$3;Ln3UEim6r%5aoOy;Qx$wRm4)ro_z_9w!1IV-DFy=X$MG3fDoD?TW|Hu7D zn(lx+XmgeVpMmx`|CoLpHC>cgn&ulphwmpx)`uK29&28a@Rb*CfsR|t`wxyU*RSOO zSD)zv^$N6~?ScQFHGisHn!6TH6r_^RC#D~)X`*!G7}+#QkV=m0N|u4R$`ky3M5yna zFdJ~O7oW$l-G!3V(naaNbsr}}euBSaek_q@z*mjW3iWcm9qo~MzTU6X}f~P=%+HMd?U8cllsJD*uO%JC!O*N5QL= zAuhk4qV?4U{ZQ5+af0+YkE_3*6ZlmoeT+xEphuKGHC)HvMRNFR6CLyDLQ~|=6Mp=& zuOOA)?Km$5tGoc8jjHZtc!o!mK9Bv>3w%ZwZzDd9Qw{?zeUB$jka*nB!PiUeqI9GR zuj(ntCA**H9i9vHgZuixeCw}`KJB~uPL%mxZzATI-FM5nWi{w1C((YmVWJ3lXf3vv z%8u=2HuxsUIswH=iy)QUk5{!KS(J{%e|l1VYaY;v6?y^n4HR-x6snRM$5SSU@og5mH+Gi+6tf(^o=4u z9c7M#j(e+_^;_)!`lUH-qV(UYP_dvZkKX_nV zg3LF3oJ#alTtz_N@W0<#MnB>p2k7YYDxshA`@(@p@lmqAGC#ppu%956TwmRJA;i5q_gjWn_K4Ewp>977m&@RR2cX0G=98+CG9DPS3i>C< z!j|9Ri=S5?yPmFyC9Y3&`gggm1QUD`pRW&%5uoRqk1KeeB6IwVrRM3 z#|=oe^=uEvv1bp6dC9H zOYZWxAFE$upCaRYpUS@E?Q&5%4$XZJt^s9N$fb2N-S5(E_!0Q_s;fbV z@1NUqECSrWBQjHv{*T{p(tMBlk)h*eeTnNj&jP+hb(Y{lv^2!^J{kqr>7jQEJ))!+ z$oB_a*M!bnhRHg-T>{z1EET1rmJc(aefj+e#hHD8_dG^%+v_=?V~wQ^5v2d){nnMJ z20XZW3u$-7Z+8GUw!aQIzpf8d!TlM_nRVck`%&C~2z*?o%1=w}5ux{MgAIgGGtu&!|M^0gd-#KN;7pjEfVbl8-Nc zwT3XhhBY76U&i_KB;Ndc2Z++K|HM(K*Z=r^M!|d%%wkBA`5cebEeZYH+g8o;hV!I0 z!FZJEO)q(NutKekwYDao7l7-@bhf&w`1dF z9slQIWIURqHsFh6yMqot|C+M(0KQ|SmE{5RW4ApXC+h?q{5?zPC)9FovW%;`o&o<{ zNA>ha;G6EOBK3;ieh2#Ir}&<+kg>N%{(p5ATqpRQ{C!QRAIOh*c*zpdF6#AVCdvQj z+IEn%qrPxcSpS%de=|~$KIhMWYIa-(zNu*<>2Hd)9VUws%bvZ}KtU?`b1C+oKLB6< zZBLRPRpDlc`vx%_{p$v|hxMUvNA*P1!Myo0cL9C#%5H33hwDB2xPpLd<~{-)-mjdq z#{;gYnHYyUmY(tTc`a-2X;3r{UY0&5ETU+n7z|V6i z0PVuprRvBbz}Kv3&G?l)qC#rdy88fEe%F`z$MNedvjY4$wi*XuT=eNrw?o`yC zf1Xcw*N3QoIzH}8pX#Eg(nN){-fPO|E7Y;aC4;`L*mM%tG<7ZD);*8$%?wjSwkfu}FiMTzBJsDeE3c`4M&0=RS4cMQk*A-ZV9beXTP_82F~ zC3~J((fKv-gN}_PZ_#&#X`;kZUl>o?#qredka7JASDYY~JU=>bdEl$^(Q)DKWQDl; zvcrf@u;@JCdv{Hb6J!}yU-cDyjw_HY3-RwRi_dGh2BoolV!f;<=E3!~Vp1Z}4^%Ni zT+6$E`k_AKkJ$yd@0%%ch`02J3h8>onFVx=f6gcE6&_bB(B(C>}f>$#uU^(5dc$Iglqr2pgf(p0JfcqB_| zoFJi`ueKcmonUdg|7p9wZ;mLj%vt^!BSIZ805?{sPV#0|{sFlDLUE@5cC9GIu~otS zPt)tg&>whQ`-o4d^IIy(kKxlG8-^RAppD*jFR^=h*1@V3@;CoGdh|lnf z!GIecZz4X08@B=1^F2MXpT6jRm zt6WLy>rS@;9;ua+jW29RMW+dXt8U#U^G~RI^97>h!=~f&Jo0Tn2$1Kf(1Wy#E&+cp z-Z6>qvmxK&83X*5!q!S=S}hG&www>dX?cB9#Q(-o9iXSHRd}uT9A(Uc=SEk z419A2U2kh&+y}nu*Hq$Pb#*WB#kvNP2XFQ}fLkljb+Z2BdcZB^>AKqYej(`V@BKpB z(UPh2LQ!%Tok90ER8txPU!hyg`c*-X%u_tV`zG4=ZJ8g$t*IS>AIm?S`A-7Aa1oz- zbSVdsdPO?nd)|U6d>+6&JGSlv9d(__L?`rdF8CBvJB$=$A8bDN4j8aVl#YTW?nD0h z{kUlP;lQ^QOeFq|g-Ze+p70CtA8a%RaAgC&E=B+DgIip(zW0X0OIaCzH^e%(EXji-FaFMjR^=e$H=O%9=%_}nCV2?HTn>J0?V8UZ zaTPh2i;@dnu}y#rZtS0?B8%YqS6_7KOypy|T*Z(d?c0U%ah`NH#`~Ct!4(-F+eOu( z_hMN;&~IEi>R`LOvhRXCc=rgTzJbL-z@2&Xl6nPB;`cp`u9p2|oxsryk0_U;jssuO z?|V|;@O^x5n`_YUBthc+FV7LYpKCpk1LlFiQLL}xL0#~vK64D_C9dyX_#E=4ncj!Q zRTQxT?l;$_`0c@{^P)ER=la%OM**J_^g(}fHD`IQ6%Y8DXN4fHIZrE(D7n=dvO@m- zO%kUI(lMVu&Ex9;9^4&dIObVvpAWdb!$*QUu9SfG4Q9`Z_)Ba@=K>|**3Em>SwTlLxB~F`^8mqe`2A(=8Q&Dt!FIRJ z!1sD-Tc2?tj()^qO+epKus_4GUgkphT!C}kGQfFUvB$b4qU0_R%hyNNF}|(n5v9`B z)Bw1v({?gm^pgd^wKMsBF^p?V?hUwo;yh?Cp65`n3xM0Y^@|fEU5-1y%e7RLj_kR2 zL%Z|*=uTt;|IWcX2MN;WoNxGf67Y?IB0~_zJovVi1Khf?8tJ#1pWg#+sO@9p1@j>M zeFgM2uiCNp!f|J^;QpAiNqfe}dMW!%L;k@{WZtvaM!sT2`%&lz^_}aR0bhMH%KRg) zt2Z0#^&&{}W0>ni{=@tUU+Vbx;=Y`2;+5fF;^G!N@D)9(jX)fIx(}BJ+?-IJ_=)XL z1KcrnYdqnn#~?q>1~*7t-PALlO$z(X^CvLTLn3nqpUFZKd({+yfjJ?bbAzhi#Tr>@~r z;KyuLSX{(|>^T#~lfz?WeXe5~iqC`TgX@?+j>qtAJ?L0&Rsfv$Lq~z(P_GY%@%=M= zK2$8P4gAQg=cHclh3F@kk-fkU`28v3+q67tc1biik5FIWBx z$zSS(@6-hy(Yb)=2dXatT!??p@__l&mp%r#|6z!1{ z(vS6bd{3Y$Uv0)mpJq!w(6K)Erhcgt?2rrQH~nOFij4DpU4wwXXXk&ZB0Ba#xNjUO z(2Mxdnv+1s_c`}eS%>e#dneif_s_19A>;fxH(eCxRb^h+Y{V;hMCtSJD14u%D_NT& zNXNV#gHsEGe^>qrDS`~M@4tlCCoLAGBSW#xWF9umI1cUdY6HGciT4xrCVbDNvCDXt zH_X3(2adbQ`jm-+q{rtymQRr{VwiQ|XVxA-O@OR~`nu%mQS|;H8 zF?8#Sl714a@d11q|NRX8pU3q!+Yh*}>qIhMgx|1V1t+XxIvCg8|2pu)-5hM5L0sQj z3Akm@C!%kEk2=ajdB$LUk*_;<1pPG9F+S7zw-)5Vb|RkD3-cCUdI|WE(z(dI7t!JO zG75hl9*_Dg&y!Wi@4SS~ONi@6;d?I~@!zs}597LC)d#-$dPg!pNA`Y#{0BZxVL0kI zO5*!P^#z-;^AYN}Z6!cQ@mpJVzCc`C=Q-#I@8Ydr`ZNr~`!xnf|Dj*v?!gB^M_Xtm zyUt=d4;BKRwPFRPgLri0Jjk29OaRh*8$&pr4#h$ zXyM*~Yk$Y{WJR3C6fkn3RHB30`{+)%ZvB(CzCn!p!wjb}K^bM3}} z`|qj9dQ9Al&uw;YTq+*>1M*F^Ho|qBVqJUIe^}gq&nyrX(zdXk60&Jo}zc;GzI zcbrWG-1>c0qGK8~5p)zozqfta4?`2f5I1sdUp(U2?yl2Tzzs_?NL<7Frl9j=UT(%u z@`wuQd4ks|u%8f|p(JrF>ej%wtV||4rZe5<%KsOt*fCja}K{^l{!kB*oJ zc%bnS(trH%H(@_Vy=61gNB{0-g@GTtc*cVI=u@vgFh`W4X%8=)h&YZreWz^Tr*>7p z6>-$@)*lP{`i^?yGkT^0;En=356Jhm#_!u&S6pIoQQuu-JLsz?(|ru1>R5*C$CkSc z(KqR)fKTsJe!YzPmi|WoH?QRT&sZ{lJ)nwlIX z{n>S50O)^cxP;`vS5pOeVDB~3&;8xD!hUIZEC2lw^cl|50OG28;`dN^`|5MH2EOh5 zW1{c;v}cy=Gx$@G=o`1(1fQBdT2imjA2)&jYT+5CgL$wm%>{7kY;m|hqUgu>ZxMIz zUx@cjjxQkn&{6sb`0;msKz#b2mYXi?X$CB0eDtYFS~ye21DpAMVb<pGzVCh)QZGZ{GT^7ULK!bepY!?O7%lA(<-?@wL?<|QE8xPObHtBr&bOd1R(;I; zv-}@>1NYsWMQ@UJbgVo)Ro1s}S;BNMKi*vCG#NK_;rFSrzQUdcpf7CZ*P)1ue*`AW zeDRS!Nsvn3uOh9_L0osC4C2Rq^p{joVtEq=vv$Y0`lTtrw}sjfTv(;G%Y2_ujO7RU zKX&Z{xMr@GXc&cn|#B(~XRu;gRF%-!Dv( zOVg&&%n#;MpEvh-84o?kN&Ez@@ndA%|AOEDLVjfHJe!OMmh=4$%$v&GWSorq28|>B zg^a-v*LsKdL(~bpdO1qwJ4eqWY^MbsOz10Pd`Nh2f~9y@b~_`rCbHeyO9_cLLT4;d7bUIvjOGFRmv;zTz2Q z@*S`0gTDG7Em^m#Y7X1HNVAOBNS#!_KmhpGfw>DX5RQF^v0x%4|g- zpS-@tXcp8typG_J(YSx5e0G57Xg=fm)4g*Z!?8b`%VrubDx~*`MgJuI&HINlQN~^C z_OksD%!9wT4aSk{)C`*-ea`0@O;a`W^JVe)eM9ckocc0elvu$lmq@=VyVhlu@!DrD zk+|lOO#s(#Im_k;%!8;LF;eF5>31+*kV>xaxcv_OY<|UbuwIH1nZS>*Nz_fsSfjwNdC3!6PqY1K4aZ@hh zN1J?Rl8o#ArE$*-LqTVm@;RxmUg?DSS)b(ziQDMdbHL4-oQZ;@$Ip*tvsMEg!E=%1 z-~411oL{QwZxemP^dl*v^xxhNw?_z4$=2{N9Dxdm7DTnKdD!!)iv;GJ)DE(8U2W3%7BjLxQF;rw>|@WeGk6QN4|B!!?|)? z%kVBFpO)tT0RG|VClWWd;4bLvdVXMeK%b_(R{=M5T21mCnz{yb3O{>I@}L}H0$gF@ z^D64t%dP}mNWu4b^LfKEbt+sZs-9I%5+uKTK38?S3izw_?})ym%_P8uwM7|@`oTw6 z=Zn&Ro71|Gc|+Iz7Vz!kW2Ak}JDvewzYpKD!TqRn;{A7Hmg;04cHQm+d}G~{EH2A) z-UbUH?l3*M-igHLSRmuhE8R&us($fKdPUXj(9iTr<-0<|5; z$94=1#`~V`>f4zP)=Ox$2>6;68=7ya*%_xOLUS4>T6wem*oNVLmO%X-gDRu z(!Q!$ct73e&PMVOQR45WSq%5t{Q~rFd3+rFXuo++#*3rD3D7qUTTI5Ue`p2ZJI=Hr z?P#Bc@5y%!TSWK)V>VcSM(cDTeA}Dspsx^5Pxvy=%IB{Dx0>&a`7)o;JNP>VKL2Od z&oQ669(h3D`0ruDH`mDlxN=@!Hea!Rg#7zg zZz1b;uO9cwHLD8|Kl*hzzxmI;W#a|&Z=X;Pbd2M2v3`ztc=H7CY3_BGjd#RNqu+ub z+vNFV9`KzRm?*cGzWy}UUYO^wb3Wujwfa4Y8*I`Q=5xcYdPH9zn+S2k?hC|^HSQti zbJIblgL$w%!2NlXayvP1#tLTxez;t1rjLGylfuUJ1s+*+*@;ITmAB-BsxhzjXFG-n6GbwPN& zHARq)c^;I<{{cUWJ>?1CTj;t|lvu81jY<9kX$=8afVCuBViP+SFA)Iz;%C> zVm^^?x^xHf;7#mE`g!QhUcgPIl%(HkYs~}P-7+7^kMcDBj=AHzyR2RXJ#xN$nL5Dr zW7s&6ooBIKd@UBtkU!Us{DH(Z59iQ$ z)YsdcCQ3(vjUP##{ozyKC-zrKmWN&*nI{~>{dsTa>P$ZaaN|+@Ub%LDjLbj5reWA; zP~X~;EJ**)Npej0$)+L4AFND?h5-b$|Jo< zy#&7oaKpn~B>&p3r7#b7yOMs}ITwDv-nZmF>7UBEqy*46VrG(KjA|CNL*KD z{9c&iLUW=Yy)k-{%(raUusmSBME&2%G9K(*m*CDmxIeF)xP-K$E9*SqD~om_`o<%P zNwSV+MTXl?#Tg}r+TyK`y zqh#FBKNHb$H#-P^%rEsMuA}4NM44}DP>!^(*Lr@5j7RQmVdD<_n{iArSTDJ6`^b7s zoIVKfSeAd;Ituyz-1xh?p@Iuj1xb&uZ*A9p0lrw|Xo?`i3go*=W(rct z$AvPfEAU;jr_4qi+e>)f3vgd*ZL-evUF;0F?ZpnJ!`gQr*2|n_H(R$L?%LJ~>gyVM zlIYkncLE*V9CZf9MW3p9`23GQwFmQ4&?73O{ggFBK*yA$F3Ce|Oh3TACsvYqOgZ5N z@{2}Teo)`m=>g!r=Ub+I8CUVNDEKjUQL=g=KUlCD;Hsgy**YBS1Hfvl^IKV<=2ZTW@iU|i?0TYxJCE8#~fwgW%W`oq({^lyvn z59>W+&Xugbm^WkYo3PG|G;WcCeDrV6=n4Hnv*ifOC-RlK3jsg6-~iJ{zUJ4g;Ky+; zgY?^2$Etwq+l5(NgR2NxUox5Nk3E%Dgf(7 zWA1w_pU8K=#`hQpUJWAox2?|yaV_H_B>%cr_#QUv8zt$7zQ6JM(bcXc>CZ-G4$z4n z!1rzPail7S*D2Q9e-gg0T0`(Jj9NhYk6G6ebQHggA@#B~s+}O`!7Vgk`NVpO8!>Is7Me|$dCB{mu_N=J@RUlP~$DKb{Zqov1_xS?&8;Cv)*7(nV3E$xB%T$4SK z=$m)hC(Ald_V*$_t$FeL$jY|Vr?Pwm^i3=Hx(NGQo*v}^cc~jtp9e1i?iewR#I;^a zf%BdJV`IWM*IEka<;e0`WE~q##P{I{#tkWgucRmJYD8{*X~Re zq>{%~H@FQtfr9JU`5N`zITr!$YSo#<)kUs?j`dkDf;+AcOA{qkZ>!EEuJ%TWnKB;S zn@-{yMtqnivSgz6Q~W%^o;il>XcKd@=D8X_^GM^=4(}r?N-p z84Kci-gF{~>0mxhr)NQ2!(%hcb4%bWJ;MMGPU}bb+OqSUvYxJV3c(#kUO~MKKX)fO z>UYoJddIoHH}ivWUA-CuZg1Lvno}RNgmvt@cJmwErZn8Jz(4%neXcP zGtsd%sRFpeF@VIi{`)svS9t zE(o}odozh^3w;Ftp=f`SH^Umtr?b0nBI;wFeH$|a-)R4Vw3qcpD&YF`ek5<9SLXq@ z7aBqG9O^fAfvAvvf9e{Y_w+yF_Y=+CZl!z~S6}*f@E`O|A^LVjKG2DNKb+`?TVQ)> z3a=yiw6XKAGMk&u&&txEqs|Z+AKT0Sp#|WIA6z7F;+BGNUJmZeU^wQ-TM+kK9M49O z{Fr`@z3#?F>oEb}8-K9c?rOI4vxBE2pS z9NGeLop0+AzPdH;0|&n4*JbG6y89)>Et|VI@oCN09`JCkDq&_~CJ%N#3-TssOGL?4*7DXB}hZ`fA&}W$Oy;=b`2r@T2S1)*(or z^KoZ*bP3`{M_*$78RME3;Pb=kLAA)b(f$zcYiJTu(@}@{Z=!;Ai~Z_ZvJQ+j!TS_i zGrrH9pVth^>d-FX4W(IJ%%|z+OMn|kS5Ey>UwqUa>KmJ+VeO7_okyzyu1p$`f_$v6 z$-E8f6%bPxj{H#KR=_paU93N2TwzgZz(d*ZC8G}FD%VoL{e|{39Ch3=d{1oTK0Tj$ zSG>XYTANDzTQ6iR5Eat8=;Kw=Z=)&rz1o&PWMcgX<63u4g7)$SR+G4{F)u*JZEDZf z$yi_ISo|KVZ+BVJ-(o3v-!n3>KAEqyJ#bzU{L`2Y#x*xv3iC$Kyc*(1Jx~F0U8U-? zcE`BdC+h)M4}M4ZjuUua(y=igna`Eya6ePnd!6x<%<3S^RO*n z1=df{Pozp0z%^9|llr=HjsV=%=REQ0Pu&Un=89X1j_zY6z@u58628Np70zGL8~l4x z*e>37`2e>zJV5HDJ%rC=yWXBAdGKZ_1m}Ijn2jW#e$fhXPfX5C`oA)Q`;0JNV}BOM z+yg(2R>zUJjzPGtcGO))+C8T8r-_nktg4^%tJu($DKc)%IVVMsN*>ox@2@mbI#LfT zO8T2=JMOOrtL!5>I>i<6uim?bJP9xV7vu5?B1L7WfnoC6oEV>Wu+j_V8=cF3#C_og3XSowUoEA`O7=Z$Phi zY^wZFUwxAer2pt%t(+)I?%XZ2v;1H_Rlih*>-WeczQ2n7MA`K{@O=mG6F-r1`zOdc z(Q}iDpV<5}$ue#iCy;h@{PsQU_ePVg#E)&xl|-4ZxMnB$aU6L*R>pf4Jw@Ug62{tO zTs6W;;wr~n2flZfgXp_P#U;r6uw^;HtrNyT+$WFPF@3DBYjT&xGCwq91j`TN*0cNI z{BCK%_hAr^9{v{iiYDh$1nK|yI>$TY&H_<7vV69Y`Av7^5uVq2US#_`*l)EppSWbc z=HlB~f>iQ-B!#vb=v&{FVK}x|pvphM*WcJV<4b;QW+8~{$i1BHTcW;k;WFSm4*p7X zY_IY86Tuf?ez0EZtObDYTk-AGFZIJSOMxHL?fwi$KXzw3z>R_8Z2m_b#XH<@boMGm z_=eTHL0_EJm*off+U1V{w;s%xj&V`ncn_a5arIEMbu8k}V{3q~&b^=27j=9E_JJRN zs0hms@*QuAE)f;denXQzBtQNWBcNUUJJVTyFmIX+yuTcEj3KzX#5WLE2pCx2P+wiH zH0apB$xPxZ)}=uI2_E~C)eC((?_C7kUivg!w=?`!NznJ#akIFHJBG~$zJK^*64!m~ z65#5%8f2ebU2+lN)?a(FyrGWm{88jj;m;4Cf5SXnpF5s^B0e3u<={tb@RZccaO*G7 zQKd#mKM7T-4*YCv z$zt9@XNmyd@TwfqcNhL^iYP@B)OMop%W)U{TigFi^u4B&X)-_1r2)ymYIQu|qGlS= zv5mrgNVT#Msjs)`T+nwv#P5Uf`kJTa1^>eQf0+*Y50+S#F2}VsUqEyej?B|#d`gS) z1dq7zkmni4oseD& za6`^9EN)AWD5*tv)q-`P@}H3;59;S-z^8A?q!dBo{ja_Q*!u>@-ei2#G1alc`q}qg zK{CHNnwA7S*gG$&uO(q_hA643GFyosQ|b*^w_7U~OBJNgd0az{0f75D&L=t!VHW5c z@~t3vu)rtCPhf;2MUZ9Kd!=H|0N}3K3kly*AO1K;l-y~?RVVc|UGl*7m-%%;k{@T; zp8SZn1f#`&f;_seVyZu4(U^&_k_{wVvHh*IO z2|Zc?as5wf5T6!vcHqa_FC*=4YKZj}14D^^EFZpq%+X~A!JXR*L4E@6GE5)i#(JH> z^W*$h#D8!C?pK7~jZ6{b>azRD-jfE{$5`Y2p72fUUM&zM*7iITN!~QRj&L5Czxj89 zM@Kb-^GN9NyA(nCKb}w1^k<+iPQIHWNGQk6iY?jRLw?k;68uC*zE2UP&w0JV2c6)@XnaO|dOzZNz_%d8aO|H^of~wto$99u zvJC70+75WWHWX{f+6(h+Y4bDan+ASh^FPzMjO$O|)k$prL|mL)8Tiq5LzxcZrmZo+ zUCnzF+_s<|tczTu@b_VPy>zt>LA$ue3{OR$=*RT9I{3Hk?M!fY_nd&c%T!|h6XOQ= z=7&66>*Qs8#J#?4fUAaXApP0)I2rKJsShmw7*}A=dke{Th<|;@m2m!5<>lX}!}cKJ=sPkN5}%>@#er}BrX%x-I>t#8pr2a<-3j0Dasu$ZFEY`3t#65V zEj}+Lc|@s|ZL9agc+?G9L-_WCA3@($d=*&_NAFJu+%kFzOPxD(N(m%tE zCj##Mb~?e;);2IdsNY;BI+nWle4wfDK(@}r`nnIX_eo~sd1&d8;~7um_e26)PNfLa zG4Cgi-|QKpbfnT}A#q*)%`o43Ya2-1(74XvC)9ZsX&2jB#JzupNS@s@`a!+yHXYMJ zKjQ8kfIGFvQv@kK_hTEGZpO+d^{MiC2<}{t`)1b9 z4T*nk$2t(#@?bCVnbp<<^vwhC`=@+dyKfc;ez;VK=!Aw;hx2BnXg=ao)o>B`7r!|` z`1Y1V;QT0jp#8`3g9_p*dW*zQcmeK%*|#63I@dN#lk=mS|CF5XtYHJJD?)kbJRkb4 z5X80hYD4;`t^HzHpTx=)X8J8Xvaa_9elN^5XI+XQ9rJdv*Lj#ON=Lp!V_AKXZ^&E* zblm&4FdgjYv3K~MVQZiR=_jVfY2e>ck3X-1I{u13gN|zqpHC1MkDYbMaqU0vAo`&z z_h20x9=Dg|!FMfvs?686sYlwy`4RWc!a^_N$1wB_=xbN+Bl&k!z6Uzyt27UWcm?o9 z4_#Nd--u~)T-$RaMR0v_44pVbTNYv{EfaIc&8+epD~Q$&Td&oh{= zlTUoSW0!H|id7^J`gvX8dLeXzzt;=f#a`_BWSOrMUy=N{2mA>7u3oK}fAphxJ`M65 zc(5u(kp7SN2lutDz*l6U?H;-N6!w?Y@o7Zg*{B!buI^cgzNXD_@DnuFC%EfV4Z!vB zb5jI4EL(?|s@?=Ve5(-2n|tcJv7*HCoB4BbSYPMHzu@{YoQ=-I?()CFb)vI`is)$G zbb#wn`xL&uMIA%SL!hrnTFLqe;^tGi0S}h@lp;v+`MlvVBYwS)I@YpB;JoJRTVnQ?eDhQ-`fp>KjyTSTq4c((V|n5xdDBk575mu&t=Ty^pw_|d&O%jQ+o5#Ne{tNT=Deh`m5m=5}? zJH^=k2I9`HKR}+nMRF3KfyS9_qLdZit?~rde!2+j0ddo8hNB;Q@1G{id{zJRBo9xr zuayDfRq*0qQvJ^#ecJif71r%z8E%#*zL5^%HzQ6#BnmVL6f?vv&o? z{fzIA<@>|N_Z>k;$W}L9ko@xgVA$Ca#-pPjp9j#7DQhm!kDh7B{A1o6)jk1VYv@CC z0)vx*Zyj}-)Yn*i0nAs1Pz$0HDYFH~sV_kLZANRD$CO8IkbFiD;`Md3(oLct`3Ij< zir%5m2Ws=+b4R)frwCshdl}A0(GDfay28@z9nAmYmTfEBv zw-qTz;)ahunl0-aa%)&WNBvjNzJv3)r9~3acMKT^K3&cNY&>GShsMsxkabka+z+<9 zy3T3v=}hfM{3u*ALB}xTJZVS&^-EZ<4|*0Cb%Fx^ex>xjJK{6;{51G9)wZ&E2K`(7 zP3OpdoHa)h|FJobfFFvUBl<$B9{g+eOd&o)@p~aZzC$shV;b-q=m_UmGCt-(Sd|IZ zlghYzRKHm~__3TT#(ZME!o633j_d7H(oYPj`1_dFrr8*d`iezmVBK!NUV`CRU*p?t zps#ss zfIA=6Be-%ues9ZYUqEni;mrkdKZ&*G&rM;TtqWHGu2K~vK4a^Ac)mz$O6nDEI2!o2 z$^89(*uJjsr@{PbY56Vbx7u|4zL;W%hvd_J#EJTo`SmsWQI<~tT(iF~TZbU-NbUu3 z)x-0U@u+sq0lxEa3d7M)^bh=f-e~P(#J^DA2Rg3%eEpC5ibnfE#}u=(c?osA))@LR z?q>5X<6D(@US3_7)tBLIw}XDTWdYLvwbTCwT>FmdYjaNoeWA-R!WTVwe@dS_%K8KP z(M(MO9gA-h@e|vW3b-@<1j`%p1HsIoFPgLjk0itc-@A*?Gf5t~e}tM`fPN)5YsB?DKeEG$pvN_@MhV|`;?4KSapC%egcAsmPAor|5TL+TaXqlLJxXcnSx8Gjdi#(t_t z>g(KD2>AL^Rfx`qo7I7@taO;@*bZi%E%zfu*Ab*%il^HEx3pkt`W=TGb>iXA`Blyw3lUy}JJ^r71{85d^% zL)IHYuC-}09#pnx^8n^q`0hcvjBC&G`^e~DeZR$Y8CPxZPUb!Rz)k4q`<=w6w`v23 zt2!S~@}qzG9&q!POf)~m&Zo)x)+>BHkA94fR9H6#cf}FDEB`)+%s0DBvbgBeS3Mi} zxBhyW#ErJ83UM{prxTyXrH4UBcbU$&s_(3(1+?@sxL;@Y*SfAl=j(Y70tD(j1PACPvB zR5AeH`0!_@gK>4{(s12jJG77J`)a06mUUEZej@q#@z4i2-|2P-iN3MpHsHHH{zUY( z-KqmW_)J4|Obar@^|iK%itwZ98{v9NTgyfC?ZY?YJbC^&%QN~{Ey4LYa(*J42e93R zq4-`DN4pGy`$9kA_1)Qvq@U;?KY@8$KRplY|EOcmyfaD8gYqAK9fxuA%sd743c2|2 zFCaf!r5xnb+x;&xu7j&JP+xCCS>oT(Z#zE6a^-uHAN}8EXm{J4sbqc=^YnpsR2Fs+ z|B3;4U1k|PkmwAnFadn}d+_@U=(A-H7q&~SwPc|nfj4%Cx$Hc$lQVjfrT2&+K z6Vo?605^>JL~z})0T5R^kAFW4=M7725a`FuyJ-8)tqr))wJ7yJyqiPzY0Z3}`9U3X z@9%+cITR&%v+jNb^Q{oKm*ht`H2{8e-~UD88qcI)es+~6absywn3r6a>JZ%ZWG3*# zflQ>n;wCN3x4zxgNIq@T|C%NH4^;Y{;ErN=-_|?Z#qgFMnWtHR_oMyoz9ag|Xg8== ztjKuc-?_#FcxX)z;xpP6zyG3~+?e1>f6X~^9Feb$$;C>jU@h6 zo$tarB-U&`!GlK@LA~_bed>XDvjX zkLQVh-5Ol)>1U26e9gr(upSeK@OH(LX$8oBdI~MTJ=3>kb;APc&y?B;$Qn`SHSf}z9VscMtnb&`tSWD zpSq%WAK6i&6v1PEo(DhrSQ^oHm@k9AH&1?srE7t4R`c^UG! zj#TMD{3~Zf0FMo$-^-aYuCvhWtFs{XaiR9mEngjEv`sq2w zXZ?A~TbSQe$(4z|wPse}>rT`6vbskYr^#_cNks`?_o*20HT%9Jd5)D_I;dFD@xf^eubvxnkeYcZ9F#(-d?BZCi%3{?@|* zc*GGQajlnX0`6Q{kmy@4=79BHtX@f?@9<`ab%O1eQ$)v=y_cM8LIUn-ia=qlaO=p`A6E@o`*h9tL6j3fJZlez2|paebRV5kI2)GOT~}rJj*` zSy~>1dPO($^9bh0H2PZ@FOjD@HZBnNcRmHUX>=xrWB*aDxCY}l^l=yA`%ayPdBb&g zIEic8l^<|z$WL@EiE8i}DKm)ZxHjVV4aH7#2p+jM7yR4((@1?|f8B!hlDBWJ3_&6P zq0exRWWa;_j}kxPSbWaSyflgE>*n0S_S%`B_;hFc2s(;p9SC1c9*66?LOK#xlR7+I zlw5eHRwO$169pVHZqJ=Ublf?OFpm6%ZjpKkYYi|?)fXxeeaG`L(?MUUA^PT)r>4oc zTa`xib<5_>mT_C-yhO*hRR{WJ%V@$62hIZS_%|ETFI;at%!lSSnTbwh7~W6!J9`lw zN8Qyh-v;yYbv5=YUxiW`vLDm=C}|hxz%0PmJmc?SL;kg0-5_qzXeRn%;s(G2jrn-Q zb~o=2EtU0OZEV<2kV^By3La4^eNVnyDVMI1ZQ=x}bg$0r5v9`bDIem;>+~0-WBsp1 zJfc+E|1Jl(@kf_MkdAE|OL#=NY_V^JTv}}R1_)9aeE(>ze60UA5AfY3jtrG?)6mKu zQ7WAi4glZrx+dT;(^KFFVwX{;dVyhr#N)WvbqDY&<&IiqJd{J}5v5Z7E(C!V967}Bi(KSt~q>};J$0fciuK6f62GL&kFk1 zBfTfexbMa*&=DSJ0XJXq0v>)|*dt1xE87OKULWv1b(Vz{0k^)*4*Y97@%u{dk?7Nv z2jiL!OtuTs{|AR)`|><{Uyqn92|u``Jm~voC#3*?UsaE&kgh))UjaWR zhO16v9`u8504~QPClI~NdK?s{sHpozJ~c!h3losxNcZ+k0_PmWz3K9 z;6=cL-(Y^!hjV}*!zB&ulemjvK4Zz)pKUo80M7mJeiGJqa0rqv?05|sC0q14Sq8QZI zehkNB^j&>8FYBzxcQrf=aUF-c0zYKLxXu?JvAxVu;2X|kKXhip`6SRDpPRC=_VvE| z4E)%=A~5gSFW~sq<^3CQ#ku1!fBJ&|fFDcdGT_s`!QZ!Wjs)4ZG9P!dN7~5tQUdruJdm-88_a22mDyRZgAZZ{-tz784p&)`9%1!3hYy< z&8QP&I;I^n6GVykbzJ8b1?*o*`+T5dt%f?mSs#J#U;Aw>Szi;uaUFa$Dek{?yvOhN zmvLvqNmT@?6czZp*rsKV`^vZ!w}6amN-8{}RC>Ff0shy1%s*xwBY&>ykgbLwm9aWF zA6l1QP5dw1(n<^buXO~=AHe?_x44(X^_R65>YJFprfv?%n=xOZ>T+EBCY;ZObz_15 zwT}8&cHn=Fo0b)Ub*3U4>e!f$D(7+7SNxhEj@5v6{Mt{nvI+37`Ks>Mpr06*e5ft^ z)GWn32b&xR{A<1tEbyOrBvV1u`BV_<%YE|sL7b8V*SUOt&=to1Y^h!X#(OX;_FK;P zt#AT@Vv>_3A#tCkk8f$fpRJsU(PCf z`^!4kZ0})QaD9WN6s{|nPlKxeB2nV~fBCWh0=WB!tkB=|jj+Fk`dkBCC|9YbtRJkL z!y`(iAuoGh_gCXL)@9;+`SY*!#UuD!y71dc7{9s!IIitW(}DjrZn)9_)?HugxX(nF z$ofL|&w4>BEqT4}i|5M+$rq+M*zs6nP;Q7mM!}m6!Pj|pdCGs` z1&lk_+OB|`Y8Qk4sjY>0bQs=0)nv?SDoFJ-Ovn6qzi};;>-}|pOnn;uC$24td~10& zU;T=CFb=E*H$#1$*>PQ`o7D6_;~LX1L*B&qFJN2<*V*~~2n@BK9{ zw7Qld=hIYqCbWzG8s^`;R|B}%vIxu%k<83b{PzEht1`C--1`0#)YsPl{RGPY4*1t` zZ6iDUCvI96fa^--!+*dJZ+F9~Z~l|7O3ev)u)hcTd2kMnckL6rFCSQ1xw#t%eZ1QTL+%lg!tqZ&<|rvF`r_>?|^Hq6Whsr$5dQDyWVGl{iq)o z_7!B@Rv2}Bg--&%aLL83WZX1xiAR)5pRfe-5c%yD%wu79Ho&!Y)1V!NqZ`@^5-(65 z&*QqJQGkbc>;#{De$aO~1@n?Ep*XBRoquEo9Yed{0KazowNciI{gVxF{kL_%r>5)F z)-uk0+J^Q5-1nw{LB=Ds7kfmh3@pRlGP=_an@cb3z`R7R+<#J-!Fhd9ya= z?L3Yn%Y1zAkgoSz@Glm?c`VdH3FmR6t`O1D^-=@wh|~fdK2Iv=p8%iUvIU7xRVMtM z`oOg1O$5m|KfhaU{R-zbW703c_i3Xr-v;|S7s&Oi{pat^WWM?_UcZFPP61rIxWW%# z;=zu0!H=?2Y4GFih5p^1T)qo}q@`zF?2sM_;rD}6~81LRwl|1sXuhm1~3zcSp|47W??y%F;zorw;=gt$| zv3;vxKU7|+3HmYhLZYLIcKc6U|J!;vF9?a)|D&w`Ta&v1e&T8$?B`71erX-x&Qk@U z9o<{7-IbkHa2`D075To}=tuW&8^B+6p}6=6-`5l=n+E>%MUbzaSswcH-Bs8RIj(=X zXtA89ultpvaDVByZ3IcrIB}^*luGIKZZMx{ zrq{Lz(y?L9B9ADQ!IAR-cP)4^T#$~P+g%<}Dnq3=0&aiOV5A@&^L;SeeB8%~eA{o7 zjE8$v_lQ!d*|Q(`;=7mef^_U1iv7e?v=`t9OZEob*jw!prO#tx0^sgHuY(TXALILk zrco^u1({c@nn#pM(?itP)E}52NXNDXIFAL+m4fxZF+4X(#$A6@@Q6~$b(AG;juE6| zuH$p!eu&nYYaHNg|B&;eUH00(|dcMbi`+=lfb5_uV-Se2y!g9D#b-f1N`1yG-S00d6YS2ykH= z&Yzqg+xL?2b!v~EzE9QS|wQS+yRjxOh|DKf4}{si-tg6&)Sr{MP>`2LdfPvpBx zwVo>Tbu7=3EtMgkHn!hoTwcy2N}v0?;QpSM?Q7X?GJMZ?i0d?zP8TGedm+x}oUbmA z`&$3wGaX0s(GHosnWN=ma6QZY^ZmWR>n4cjs_hXaJuBP4`rken z+rP4mod7-qnXdvrszslc%5i{)rf!)oNdND@NL(7VIz+*G9A98*7O#B`V z-yhTeG8=S^ss@Db>s}D>$RGIrJx#AkpdZY=25{xUyE6nSp7LrIzIobJlp^F+1P%X^G|%9hwrEHeKy;(2D4>-jvG3UgSgQ^bHGFI7D8Ngj{UPm ziI=cDH_XrKPB^~Q%i{qTJ5_;smE*2bTV~08)vx7Y-g6AZ>jLef$V?d*j${B|a}dXo zwqGT{gJbtK7NpN(4m=MAzZnF$eep7bjBAhKydC+W2;h<7)xeL@G20_bpDUC5%#h23 z=f#@~QYjuO=ngLbI70jyRO6Y z_)pm1oDKV>%lL--c>Yqd`w`01##9-1Op7%Yq|#an^fsWc>UC^ciL6YuB4de;KbbxKndMDs3%sT@)Jd25|Sy5zvkt4{W|RK$LjK>3YC5 zjd6Z+-Yzgq#>=ui2yFk;ec3ZY#x)~wU2R%}c{44Y1GwVZlD2~Mxpf+j3%#n|NSUvW zrolSdHxc`r`*X%98Mkve*Rhu`D+Ss~to`O{_V zFh<5(Ucfx?eOgt=0%K)dy=oHn2euC!ZIcu5SJ#lw_lLuC*8(2xIvMg{e1hZ76{kv; zb&CH{poJinfk)Vmst(x!w;j-czP>)@&3ozcB$=-WvGo<(XI6(QO^|U@`3BIw-s;6X z@^Qqh1>8T_Ky+eLpG}lMcNgCZc~gJHyu~if0Nnc$*Wm$nJ?nkd4RB}fZlE7sj{7i{ z?x7S}C)!{cv`e5Bwu|#zAHc0Sn$;Af&xPD7k0_PF9~VuQOY3*oKSib=Ik^FFWqC8K zpZ(>rzM*8x6q&CaR|v+D@;&xvd##dFW!yh_BIMKZ3+6M{s{r6G8|vHm_4wS1fE%wb z1)sV$=u^A5VVbP7ELWT6f>fH~*}ODFpC(Gj!R$fs!}a+-r|N0j$%6E`?)^%SD3xK` zIT(+=9)H>e>Day-$B{Z$H8`Id*?qKFa=J&9J~woY06)617U)E~jsu+QJ6?Y`NsxG4 zUspUQ=$P`B1UxWnCgBI-3r`^YDmXu==bRZY<6bS!d;Xbt-zs`m1^i$U)babafgi_4 zA^A%__Y*6)8g#fH`}bks3k}wcllemS1s+i>^^VI*&5cXrd_DR z`Jo?tu)gJd=Y70y742*X+?_lZ^tB7{zFXKl3)acOzC8f9RJ#g!u$0MS6%_xsp69so zT-y;};>IZ3Zx1yaD&v|Hb3CF{azFN*69DIaq~C*q`YP_v108WQ^{+nC7jVw!I_Bmx zV1NE=+`GO(oFK(d4KnCbgQRco*B(n^GS5N|Dwp`~&j2jyMK&yuQa% zL7%NxU0bj}n1&PreP_vEJfakb>+1*Z0Q_rx`|GZ#!+di8k#Z{F^SIiF=+l;e2=L8* z^vQ8colgYkI{roCVDQQGdAnO?79AqvU$?vR%GH5i^0|)sGU9>B86HvkKhv;VkpKV3 z)_KP}QM7M=krt5>iV$gr9(q7Z=)<9f9-4$6iWqw6p`Oq~4?PGAFrzMDD@6^ zOZ@JW<(J%3xfI%`yYbj=jqj&#+^uS&{OP~Lt zJHRt{M-v}atSsZ@@Qs@fo*w$5)MwR$?Yrl}+1B~>g+6wLt|PJJ;++~#=Pjq9I<21> z(TcPedU+qov(XQ|x#72s1ovI1cAl&^7+eY5?jU$_Ivw{w>+1RXr;q#{)VR)YFSm)% z+vLB^UGy9+Z@%)pa15f~<9W{uc^^RXKsUOcTAro%Wh{QGAIa@=ORr(P+>$Hy;`x{J z%`H2`{+TxoMSVsl(e=*%i>~+2LpyX_SfmP_r|yT)=dFj}&vU`Gt4CTfu9H5Fmf3(QocT!P4peiz`p~U2_M@hG)_nr^X98}H(ZjhKYMNGcI2Dqyk_6+1J@eQ zr2cBe7FFnCTm9gUTD$5op0@usLe+S5Ew2F{sK2=*<7xAcbY2)AZkMmWxnl=#*XRjP z2)%n4^&6>ZQE=_Rigy3&qb%(!eQ=&yCXzmVI=oHe|DU&>eP{Q8n@`g7$CN&<%Zw?U zuaEB+S||Vi_>`}cufL)0sjVVkW9RB^7>~{mgQ~`3Y-1{N{Xp(qGX!{CRy$n@O+zP4kFkIYZ@s z+amn(mM8wMJzxLuwwurg7rky}{QvC5slT!vZcpXR!;QD;edoOXv5ALezNLkaSwD`( z8tcJbYu{}mxa+-Ps>Y)dZVR58a-})rN$WNmPg?#dMZ8TvoJaEcSKyn$(m$)ejrE); zc~-t5W|llluXK0}JbhsT`c=D&_BXj;-e!%LfKRe16zem+}ACejl!CJhE{KaPJLA*8ZlicFfn`cZZ&X=Pi%c{>M$iFK_t` zV?O~m7pg?#gePf#1ILdB^3!L=PXxC-vf(aUb2Aa{jAKV}HY}AjhqRzmzHfV^tQn(RgFi@`VP3PACq1` z&f*u>i|wAC3s9fR>Gi5e2L^AI`mFZptElA5jkRA}EB-HU`5njFfSdOmYRmX`d7m?K z?@Ou2@iOS;31*gon?9?L_MCchq^j}%OQ$MIeO7rw?{|*>yyb~3KMfu-bj&J`qxkpWdHv1Gyp_T)uTP@KcyM-#&M%{WetCN}%{O0XUkiBh z{${$4^jfS6U&j{@!zZtQ_@^o>#P&q^r521w|ClAJ#-pP_<&`4l&DT7F)`<#y+X=@- z_MfR04*2BtPp*Fz+;hB4OUC`Y5ud8@XmVa!E@EE2ZJ7f+wYmfPA8W~7s?bGjUw|98 zbZx|V+HBaOYCHx$+p;;_IOg)V{YQKmSbcI^d}` zm2;TFf9LA=X(JCT(SGE8bwib{&^ywdQ69?^bY5q^{uf+3e5gL-{}+6dt~=&MF8KKJ~7YEK)Td4YOjiMa=7OIO~MJFON^GcpKt*>eFrdWmbMZ zKG)S5f_pyShyE({9*qOtyW`L&?_Wbb1bV&3vN zJ~{%f{Zkd~JmjTz9(&0%JwLtio9*Cv^NoEx9X#HUemBYe3Qg=VH9sG7tD%$ffs3GajAewyPSC$`j+j{e2d9WjraLlg14{qn@3Umw?N94&F+Fo2Iy!&`a)9 z52HP}zIe93;Ql~$RpZgv=N;$`!)|q9JT0G-+FmrE9Xh;qnhGAUP(Q3pc}H)b-FgVF z_^CfPF#4X3{YLilQ;Rwg=Y{9UEtFI0*_Hd?{+-#}*S8DK>%=qNsXRZgS2dnZFu-tL zI}3k}{gOVZP5SrKW4RcA%6`dR-3y=ilT<(QxvgdYHS|lNx=-aW?kk_edjGzPekL|5 zfpYqLuTeF=Jw5dd`p?KeD{x$-KCG#*T~cNPJ706vYbiN8R*S{Wz7Xo_R3W?9!-CL z3Ld`lO*h8VfrUF&jYt2nUKod1-p`)5;N3qGJoU}dj*RQ1-n8`<@Nk)LvwV!Nf3RHm z8T#fKkFD>3ah>z^;W>3a1PY{~kMyMWCg*i9_m>zCo13i4@()!ih;hF1 z<`3-{&tLvt(8|(#*71#fy9;hAM(rVf|2^oy$4x2)%2wA6&Ua<*|3U39en4jpH7>O!ErPoi7#;diL0( zs0U*a>SwgBH#Z7yV02vM{Q>i~)5I%f>ut+xZ4!Fhuln)5NcmchE(2!=&-P?|yJZCN zbdA3@3;prR+4HWo`AfG5Zn&R4&pEU2v8{qHY~KR)Bk$vxwpReZw{tMgJIMnhUIn*# zsehLD>ukMW0nfZl?ML!-J9=L!a4?&j2R;kE*G>DCszUYbz4>Fl{+Y<2ZK9m%@%nW^ z3#uZWns^&}zkMl{Q@_ut9c>J~@%JLAe>p!n`2)=h^}g431LOZ6aMN*#TzM9Ht<^I4 zWORS$OD8Gcai8P(%K6fErgHKaD}SzU_6xqx4)Xec^A1l1>EO*ZHL&N z_j!SD@Eq`H!L?MMtyeobjJ;=oYju*~%Hapo`{C3lyb0UmiV`#Fd`X9>8g!_)AQ?^~rR({r5I_cZTI^3XH% zp0DY}hyB9e(17YWb$$=()4rlQxPNJJRpZ-j6{6toNvpwq{nmh|zpeX>*zTM@I*0KX zN>TYkUFm(a#HiO$9&1f%|H-QK95Y$&D6X@SIa^hY|DWc0VwZ@~ZM~omdFc4sDpz?{ zaNE;0dN3Z13&!6r23n6%`Z(JhM7?=eomegOsTMO;jYoSE zI*(F}zW3*?MfGpmNat_*w_7-W-Lt5EEGz#;zkTkJZfI}DL(Ab4xJda1OO|vo?whK- z8{Dy%=DTJ_JU3DBbe#N^+^-Q%Ga-RU)@`?|CfjF((y{Y5XjP7R66cn&+@rKA9B-iHxHc-f318waOv;5 zJBs$pQ)j-=M_!=z=Fr!j;PYeW2`=ZoTYp*xy?x*91%k_YT*=M|)F<@j4`_a-_vmE!WY+9jB6y-4)q{UEmD6`{HFz|rmw!sh6`J_}=N}pceUEyo zNb~gqz~irM98P=#xcS(1aHUG=EPZ5a#g&@E&%ae~X6Y>t{{!wjGk6f=+v6{Y+KVrHd??8E2~#-sG{mfr?_+Cbx5 zIp42sg<1oI-uOZ(oY#iu=)DPdu^rt75075vU_7R(QU9P#Y1CEYX>0p0ER0A0!?RV5 z$IK6<`iN+(|5XjfqiYkjH_v!-j^e`dp}r%>$NODTeTMXy373A zo{8;oDowGuH)6(DF_tzz2`~T5TrgFwlENUk7Ve=+cV>y`RX(KFN0g-3Dh&w$G7KRD*^8Mxtf)6JFOYD zAJ_80MvbR4)t<)jmF0A7&&4<)?|W5B%^0}x-C4bbPdJz6-@2-82DhAj9_>);^kBd6 z_0${yZac4{JodA6U0}=p1&^mLfXnelYGCW2_`krV*IF|kedD^S8jq2-D)g*)m)eY{ z1Ec7Alw5W$i>EFuP&K|iUGGouyyF>d|I{qK^a<2&gM2Hu7=_~)nrecN@+p09PUb89 z*$H|d%~GKy#t(A8!u{@HT<2eG#d+uWsQ`Qu{sqs7a+Pzo&S5;t_XnfR$AKH_T|~Z0 zb%Uz$?eQTkz=P}<>PL=qEL~=RYY&d1o}tGtMrPz?I9n)fxAV zUZnFqI53bex6J%DU+%MB->LEcw-3)AUj-~(q4(+Ypd5crSB1{gBM!a!rxr~aPsjSV zQ8ga5-ETwh@lLKBAT1r@5^|MU#OsJJeoHqz)iK!p+4pBpj4+J z;H=Cybs5)Xy3_Fr)P4rs*y&6357Ei=9!jL`2l?_uq7(SKxi68wKJOyduo<|oW%m2^ zsU~;8UB6Gj{X@&Hhg6N{A6Q>&n~2^SmvEkDn$x^-ZO;I3){=ft$=^YS78_7M*0n9s zKRDDXs`!7qdJ^1w^3$y2?tJ(?aBa#m^c!(A?U%1O&HIwvX(cxhzo`Gv zRjQxR`q#nD=6dxQ|36>2D)hk}2f&9vxiUxa;7O{tV1e@B#%nFmFG+vPCpPf^atirg-BTim@&C7; zZ3n%n?NRXHt4Ep%9z4?-+)^;RKBITC>sjgf63S`S%juqcW0%JNKQ@!z?~wCg`9Cx2#9(eS_oAB3k z?%d`9H#H)C;31m#7+Xc-E9X;hK%d%CsXtTrdHM-mzoKpEeDMvo-uX{`PUU%|3&!WM#jT+aJBEPA%fuRseA6cif(N%>&(b>|Z3=Gd zv>4oT<#r9BH$F=5&$_R^nJ>4S?}7V%>1h-C$b(v{#-ov4&C&-e7Xddk_z>d_+qf$z zzr0W4o?I0DaPacCxE@7@D9{I=EC}v@>x+(z`^x#ikq=J8Coc~yD@FR7UEnYEHhUXz z?RvP5@QF67uWCFheF}rSdR4^nRSuN^PgXtxf4N>qxRwE2uAigW!tELVcUk_hHW~WR zu(yz}9M>fnF@K3c&Qoec06aH)@c!P75Q4g-h^xmQ~ z?xK8sN3-fPeTKd}obEHLgUB~Fb{G7UW8cO&EiVtW8V{blPWRQVAIyi|-t0Z_yzAbi zm(e-~0sj*Xg}?GcW$5GcPC_63b6+dL<+=x^Ei1s8R)OmI<-*V>UZ(YSjLqozuUCJ+ z(qG#Iz1H)358)&4TUvV-#W*%?H8mAHQEjZM@yISb4t;}L^uD3=NzS73r28%D&A2Y~ zx?k0Jw2bVyO+?4-+;)sdIc_l&^?@hf_zLY%j$1qnr-S>d>CbcJecgIx$!Ed0*stU{ zi>h%y@7AjrFDao_=x0*Cw%~?&^nKf8lQIJt*F`D?z?0q9!zb^3X+uA{U#;C4f_hHB zK7o8Xl!KlvZI67zvzCAdx6plWW#CZg9dD4{IXt;VQ~3UFSb=(w>y0F<%tkr2cV2&t ziS0LQsTz-RoSB%h9M=oi6LdZ%3eJZz{a5kAdEH z)ZK&$-_~><`F-D@JSJr=xNV+M)%bREw;SMrT^U?oV*2&PF|!@zn}<7>FNfapNgC&c z%r}vK3f%SQRs2pdETZyT&QU!m&s3u8&fiw#>zXnM`uO)XvA=R%7p3zRaC6^>u)pkE zef+ST%IORq$Mx5Kw>Ny))()gUH8!gr+=t!?+p5RXV~!OdX1MO z_}Q(NOvKsL?|GJ90pI;`_WSRNk$-?&clvN$uykCcYW)A)pS1+PIqRt$#?$gSm$s|w z292jJ-EN`(k@r!3*5c5ot9(WEU)ZAxo$V~GSIh>q$NtLaYheTF6RxM|e0eMYedMf;BGuFifQrxZ%B)wnFQiQ)IA z_de|}bIt_U_FK^2XY^wGf zeA2W3q3g1~j)8H*-|z`FE?igSs}z4+)p)R+I0mlx47g4ya$SO#_rk|>mg>!a{88vl zm3Dy#`V>a}#CmT4_jP|N-+EALu7Q8vbq}Jk`Kv_!u2SdGKgj3ofseDx8C};H{^?<# z!YA^63jL312#p^c<4Nyk+3PAqyZ)24zp)z(K8B&Uk*{U`d>r?{3Ilku#8c2~o6k37 z3O`Oy(t4hz$BJWrQ>PwS1yA2AscJkX&K`w6bG}ekJy;#*zyl3_sL8m_II@7M@#z0G zxI)BUvl=-VkFJ8$e@6DNUoN=4$8h)?exUYgN?uzgcw$xq)Q`NMX&oAckF^o~p7rSO z`x|Gq08cOY2iFV#uT($LCLhB;FONOB1$tM8evf$87*&y5j|MeynOQ73rL}eInYP&PDmd&(r=U-}^C3uYJ@B`hdANxbJiN-4xf$X&E*F zJ~vknLcV@|UTENhyU-W9nuFsWdb~S)GLKbRD)N=(@%3l}o*HvBfB%Y)K`--l-Y5pW z+iK1gKAy8wo`hZ=w$HyvaKrL-xGuA`R6q9K?ZKUwve#SCF7I0`^vesc?9X^iKf6KI zc=YGqfj+Ol>FbTiH{#3o_ucQlQ2bx~@&jBiae&o6k&fc%WKe@MR zJ;pbiD>YFy9@)w?^zr9RwHZ(Q^?r|;_ma=(9Q0SxN1I*(JApYz>= zS^kb^%vn6#I*jX7bQzsT{xbWaw?yW2X8ivhE!IKL3LXbHz80_xp6px_+*s`M{6>1#;)gjxA1Oq7IZw=AFFsfBbD>^1zL~%pRivF``cZkpRL=&z z{Gl^6udLZ0+3S9!ZcKy!cYkKDAL4BG;%wn(-B1AS&HGYsRixvMD$Pgy;tTWxa=ux- zcZFGkE8PRQzJ&i;t%|g*-v={9^iIm2@0V^y^YK`n?D=wblN&yf1&^Vf*p5;EBYEIO zTEAMZixQa=fWNZIP@nO9JjW`k8jtq(%;14(Iwu%wE@}^260V;{Qyh zi>S}oThu?84$Xm2@TDC1%Xx#gm35{Gy=UnuTsP&qG0~p_lLZfyrTH7--d?e> zy~+8Usjo*sf3rbuKgPGq`Jb9)@f4w#`MTdIpo+9V{Q5)@16!7MU_4sY4ywi@yZr^~ zA#eRy&kuzD_-Sf~GGEVlu!Hfmd>*>H z<#LDE9_Tcuso<7lT~v+7RHhC%YrV1w<7wY|qpI=fm=o+N;<@rKc4R!V6x~mbuDH}s z@Vxo1^jraVhKddndS@Bx2U3>tBZS@;tBdnamdE+?`@IFXKK~2qA>4VOD$<61J9>yH zdGNjAsz}$Itf8Eal4a^Ko(|S(qG~*bf9g*8?tU8maOg8?pV31#yNT_wC;r6#vSTh) zq>b(Cbwr%puo2_w#Qnmm#-qC_@%YqT?HEtX{dM&_nw4*0H}%_+C)0b|2z^E$|8(Bj ztBuCfZPVHH7Cf`3rQq)QUK|%z`x#ZFlP89B7csE082XLi8--PoKKI8$l+!W4ijDEK zd2mNnG2}E|D@-Gneww$k!AtoI1xiXSI%KP%JrZO+kY6N@wDr!<+i!dC#wM+GdyF%WL&S z`*csI=cLxh8%+@0`rS#iH+jDMN8Z4Bs!jX3Hsjm1(mhm-M{D!)=r@de|82&2+CFlF zs_|&dEP>wDV0aGWY3URB{CV=(my7GW>#LTk#9=RSbp^Y#{b`ySO=bP903m$YKQWh$1VpCuC6*> zQ+Pf)kA1lSTzlqo_($Ge*qia~iONO6{X6fE*LYg$rB7hpu;&E#Bs=$IJhJw5ydpW_ zXTc|5MgL$(({XWc&wdUSXwg^|y6ByC(EH-28RKcoZbj923>3G*KmK*g=8UI9ogP*- z9?fre13$`WJvwWQ`Wb6W%GZ5j2l7?=m4u!T452qKeggH7Sy~X>-{({0tCeVw#Z%9c zk7K_R*CRtUI$oAK%b<@pe;)e4&93lCj(IwZM}O=KZlB+R`0<{tn8N#&rM;!zAe(Il->&Qo$w6nUFr(s42R2ZK9bnmz1)_5KfN9-8~nA~>(TuPla7W~T;yFx@z-U0EiS z-J>bIyru7N(VYG;n%naw*@ zjYswc%?GnzEU=OBv|M*OG4=}d{`<|rqtWuJ# zq;g8`zFiSM|MB{N!zXcaH1w7P)q{23Y;gARkL!iMoM#(&h05u9t}6D|d#1Fi@$GSa zexPS)i_wgy<@~_tY5MMr_H%FOJ+pFDjc<4ST@>{hYgHe5?TaGdhFbJJnozeNpik@| z|3G6pF6`lo;6DBMdRNf;V}Yfc#xU-y?4)@q(ejnx@7h{)gy4bp^t?cFV*}@?|K(zBs9qk?c zK8Er*Utb5kM}Lkl*GK*DJ3;#Qcg(rp(Q)agKyMvL>x5hN?`=hPoPobw2i1O&)`JSJ zo&X-5SCh)qYAzkeAw&F(m(TOl4De9VGAK{@DJS%i->QQvS1v;DIM`~n&}Zh=2AAb@ z>Fc#-^m0lcukK@ATn74J=o|P*9-Bt%uKVr#!NcJ#$T#>0-9L|yDu?p8EB`=z49#

pK)n#}R?-U>iSoOrKLPIdnNa_}>VJWoUwjhWVWsuo!cp3C63fQmk#TUS16$gX+*U)$LA~TkP z8~h8wwMWt@kF8`ok zsQnn8`~F#trz72qf*Ue)z0ii!{M+bvsuy~F{;>Np%}-7wE`Uq_=)}A5u|NG0@=dxQ zQH5``FZEZcdu7qjn;#z!ZgbQ6;l2e8!9(LZfP0l&*k70ay#uzlF}V5HM>lE;9|w2J ze!s>ZEf^5oXYO8y@n~t~QZ*i}Rqt#NF?G1Ljq#|xI#ktoOcYuHpI)77<2vh{UI;uC zd>-6dxw?gMo%Q#s;P%W1@X-$cSXXf4Qzr1#Q)|GLBi`16%k_uTCi2f)&Q#xe(0fO} zkMcOzcY%+|u^su^_L?wG2wz$c?)$O}c;NerHJQTu$zoJa+l_~@zsXnYbr4+63)PPI zhkxGZM9$x>R6jH7pnhzpyQmufzu<));7T$2{Tu(Q7`W%fURio`|90TMCbPlg3ufbf zLSQ!i&P_cWMLB~vzGsa4rY6zv2*W$=p%1?|3isdq1$x29`H%ixjObS=f4o&+@{eWL ze`+cncjxL&@K@e`9=}7Cqn)77#P;C+tHale?Y^-_jKeb(>HfU^(fZK4 zj_Qp=vxvKEDF4j4D-w@w6dG*OB0~Y49;uY=C-@&*_{SXXUH6&nOITzxf2( zo2zj_RpWl)ugu_+8-19=c-lOG{G~patbqOXv@fe_e7p1C3gkbmIogA-cMWjsW5ZBy za-EsXp#I=C%K>m>p{lhR|9^vH4fwtr;cx&R#o-Ph<8B+_#%esfg;g-U* z?oIHq7C7&s*K*-A&SZw(^=!{_!as9-DtMtH6~K)@&g&?6l2L!?y4yP6^4Q(;0`uL$n@_z3FF zaIOM;e4TUi*V}C1!B-CAd~sZHLLctA0o*gv03Yw;RfyN8@9FrOWzX~Uw^PXHkw027 zh5x?Rzn5hGbrd+;RtW9Nmh%vNl2s0)-s0W@=x1D?Q9XnXuY>-ux(@X(-z#MIPJ%nH z=lL$ltE<7=M((5j!;MYwH(vP*+`;Oq5Dit?t3h&2v?L#|s?5YTEd#4?^XTUK#v_Phmi5%PD8DS-3BZ7cyFuV)B+jN>bH6+ZEB5ZwIJ-h6#nqwMlHi`R$V z@CcP>x&69B_!vyoZ^z$W0e_!uN_WAfe>7el+`Qr(>dmyGiK_AK;Y&qGpR=Go<7vl~ zzN*HfH(>-%7ueI7@ibdU{kHYbUBp|z5AN$v`<3YN6?o+67rljEe%~kZb93;(7oqBc z8{emXJNc+DUmib5*JZ=*Ve5rHvah$QiCFZH=R|bs>-lHQJyemlRip2s8glyLcUzKm(L;Zb8>63Y*0`&j+=;IJWd?k2n;UxGNiqZHv^k`4y8>%w|-1%|o zJsS5l{MZBBdwF^mx9L1M)CHb=-{deF_l8pRdpWq@2%k*UNB$-nPdb|9g8P17mBqE*zh`mN z4jRuJ%Z^9B;S<#U<#(3(Dv_&2dF1aq`5jp8g>vBX_l|2e-G7Kaw8byc zPmhF;S^yW=pfG7KzQO<;ZUFPdgXYqhO-Y{HxA6z+GqaIWE_`F&__@s8y_s}Kx*U+!~ z7e0sHRwjsXUE&=-^!9#5QBKnz*TFM|>AYaghvu7axPSXBF3aiH9-;CqqVb!2zbWu8 z%|kHt-h}H{>hs3P*HX7iuBPzkFctUUda70J3U2MR*eCe%1EoQ5AHVwR75{_goQ7kaC&WJ{qp=9E%39^)=6^u2a@Ix(IOSF5IK zJQgyMzd190JQ{Tx45knXcN4;`Gy`2WlIc^%d6;(Rn*O@T9g9)}L=8jp^*UWQNjWbRi^Fvy z6hVLb6dBr@ah;rB#QaC0H(jifBY31L^^?x_Tc|v*7R7m;nL_#62E7J; zw02D<^vMS8RgFhq?f1$5$S@pvovM{m>px7c6z!J`+ce!_3*_l+w?kgxnMRpLIa z4-j3k7JA3dI^?5&hl_uY167px^JcZC#k9m*byQ$F;~;j(^yF8kcGhHwBM8 zyA%1!aZcpqv*2=^6Fq20Ii0S}%S8DTH)&iX*NgB}Kb)0s;^dRiTX)C7<$4ireH{RU zp`cgz$oqc&LldA^CXARTxTAPsRpU|KpLFT>Co}rG%2r0@cgHr*Wn7n8xLVbCbe8`M zKIYHo!zXd3FL-zdjVCh&PJ%1$)};T5?nBy-2j?*U|0ex=RjxfZ;1jC89saIQibJ2! z?~8iw6#$odc^wJ3i^5-CN96b2Y#Vlg%YI&7FCvZWq8{Y+!l2hr<_G%zp!AO|h@m{5 z=_Tfia=L;~pgiH%J_k3Bx(pxB?+<}{i|hu^{E`L_9#gI{XC`8&FwEWZP& z&1isfMpn>$C;6O0mR~-nkoutheM9fTD)6^ep!>-N-6wIcBDm}ag6|DPzOo+(m!tde zk?rOMOyT`+rU3ND8g#u@tUGXhbROyru6VX!zucE9PJ>?mzN9RVJJWQM;CaiRF0%%D zS^mHVy1u_sX`e^vJ*BB%mF2Wn$<<*PR;o^-mhnTKGqQqTkn%O3r5lkJn#OTkyC( zAIVYeGW4m#9dTcR{a#en`1aU^1bC?6>N1?8`^@i*5$!Nmu}TMG9EceToXPd{2?N4`9=^cuMNIDOATd9W1zjsf&uTd+ed8&ml2 zyyC;a?L}!FDu@1_k+VHrXYI4bZ_~KWS9()*#-pJN-H%OP=>abF@fTaE8sDDiyfjN6 z=v5fp)$|qcKq}gfah+VB%3!aYrI-Gmxe9pvV7!&khqlo5P8&k+iJM+I-$Zb4joPZl zqvgzdTSbgj|E4n&vC1Q=#-pRrHE>_m^B7+xAJF}6U*(bT_xJNY!MKj4JE2-1=))7~Jx8TPH;d3mrnCbO-mSVz z)ts3py!FsuTR6@GmF|4yJp#=ao_)*FaKE% z{_=aWm7Di~-msYRb*!QBSp0T{T*m)TK95dS-h%VjH-0Jh*I%$Jd~CKjxcuIYHpB() zO*TQjnLnshSNNFBbi6!6c0eC3&<;NK4hHB0GwHooYt`a7UcrO(`^De*0`!S(-af)7 zI;IWu=5^P=1KUp56x{o+ z^&s`3S3X6%RlX{#YJ9tK7wIL>bg2pMJ<)Bu*lrpAFZL@rjrvt@UZuI{tj3vOyl`{nEQI3rgQQXwTLicXAm2zeK#Hs_|$!O!xPKh5tnTo9feb$}+n<@^zlJ zwq#rvwzpR`5vM%^9&a%k_2cxE2e($D^D9uSdqc)`#yT|LgZ)+)dUMy_6$Mu&S5`G1 z{H6DRr$3+gG~;PzZ?0-QS})T5OwWlD;MS6L!8QFpgTF)3rx@4C`wXFObpJ59xf1l@ zC#d~|iZ{gm2FB3$QawkgohbevkgwKj_Gsag{*=mTKlK85GCjs6IQxsZ{C&-e9v>;V zA!JiE9^=F4chK@?qo5Dpq4PR;xdHO^9+@_lah>vdMOEX$_6N;#koh{lqk5C~C7Qk4 znDX64*Fotc=R4V6q5j{cuS;f_bZ9o?zH*&0)8G2|FsH>V!R5MV|BbKYcfIv-spN|O z9dJ4BV)}UA|51%O!bgs`WxpD(d}pTMvR{=xfk9s(-$?jTRpZ-zb*Md(^j$f_9qRub`uEU7Pkb?h@%-fX z(6zx&LvOwj0GI2_xf;^-MH#$tq0l>;KA~znhTo$3OVJts%x65U-Jt7o;*$gLG5+@S z0>QoQsXZ7zq4w#&wHZFaJv3h{ahSfNZ9aJ(dgWE>H)Ou4)@JApyW6N5_lqB-?>xp< zy#;-yQ4YAWmcDQ0zJ3Aa2^OUGA1Fq@Q*7(0oR){EJy=zmpB8O2brIvf-g(pycvjQ( zDE(fm#e&Q0k@W`MPm5d2fF~MKdHm15js1ZiRJA4hj`{zf&?MgxL zWWNyQdm{sXe?i)>REH7Pz_KH7d`*R`8MehV<*ZbrJP%vfY}MtyCWU zypZF8fL>19yu$D?esl-^_CdYiZ)?yEJQ2~4mtOwl!)3vf>*>3h-h=cVKvR>>;PN}> z_EzJUGlh@GX0-)3o}lm4|M$K4H_Cy#uN_Ce4ojWef<0bE7B-__mDY(4f5@=8N8KPr` zfg6^tRyDp|-iMLj%?z}0f?Gz>eNq3y=b^W}K>M4#`7X-i{&*C4cqd(t{2OR~pmoef z@YFSG|HfzOeuy(?1-M5k4FCAJz3_3}>kc0BQTvql)7;matY8Y?Fa3U+WBwB8GYdz9 z$37%|x;C|2L*Fj&Q6?3Dzq2XLQ*}4r1byJhW8m^WhWxImypJKv?{`jwk9!{JL*LPO zGNI4&bU#hUH`4qFm1p%#_`qo~QN(^#kV7vypG`CiTOa>NH;R^;f~o3#lKD zRix*|Qm+)G{?L1uuCwm%%dBGxA73r+g>oA7^;g+5i`EJ*pTkBDR6%{(I^}{#?RtBD zoBB_C%g4dx{nfBS*Aer^A>e^O_3Pa!YA3-$qmXap`&!6Xmd7xq2e@&1Cvfv`G(Iu@ z^a*_Y`;Fk9C10UDfe)ra?>$T32bX&LtODSU119pR&}NmU@INQbo3egQ<4;q8Z^0Ay zy4o4vY;HyEoHg#|*LXVgp{=&yp=cLXi3v|uJ7iZxxEEXeN6qQ!%!aA zqlM8u@UiOSz3{8lpZoWh?jiK{1)Wum$HXAgCtG>IJ^S?W;lWEdUXHGRbYxuTo=NMA zI#<&=wD!y)jGxn+3#l64&Zg3RSLN=7K8&ZMX9}tskIDX&uh#jtk@2*@YJXMZQI6Y_ zjoY_pJQ=7&{iL&O1o={>S!vH`H^yIMq+GXc5$BptTV`-bS@ljr+;+ zTiR4?&3MxBCzZ$fBGqSL)hTdOvaqW0?Y0lx$XDt7S3kznmQs3o>eBcj^ND|e;O3F^ zyHy!U^Ig5_rY8lDjivFSdk&4$%uTjIA2~+Xom4lfALoPvIF6>k!>Y#r&;2w#A55({ zj&|aiRukM;o$`&nRBSNgI+?GzF+KMQOrhs}YyAFtu~v z>03;2SNC;Yz}Ku%MY?^n8LdQ2n`s>YM~wE1^?tLa;Ow=}`ZE#r_x=ob`mYdt*7~<{ z7>}k?l~j#K!?v+2Mcln?E{=<_-xyV-gT;dF`b(jQ?M1seXT>O-JbSewTs$eFOZJpXmKo`Td31r0>8(&KH|9 zh1XjP`rTnZxHPMr_9Z#0CbsMO%JTbmn!)|M>#P*pl?${!MnGR5!*_(fFP8T^6p@`K z=;e3H(#k+p8`aBJGp%1w9F_-PBY6>5}ICp|uK5x*R z@pST?j;h9^ZzFww%{M}yFQI=Y&QRqJ)n}f3-Te8P_&-Ov2WW?}5v^2_4tDz&{9e`b z4#v}L|3X#cG4aGR;J(vcD>9xoot&p?JO*pdC7-t{c3?a$zsKRIZv~I`ZGid@B|NIe zx5s~2L3~j;x{oxV2e{$2RV&4IcKZ2&jK}cpnX1O4zv~MtMZEdk<7l6jDuq>%&U~ijHjhO+O86=JE5WUJ}~|s)L+Gi+=1SGnaXdvOXZ9f>kGZ!hmU(uX;q{HO|OB+MtlMuZA1RnhL_ig?Y3Wlei)(tWC6+sS?= z{I&*EjmO~OZRp>ed&aG1JRN_kovQID-x~@Yxwwk)w0v*KTFeW*U!~{T$s_vpSAQOz zY0?Wm@_Dp|p zJo>>>__$sgxR7z3e2>PmawNEK<8htWgI*a)_a)MQ2f+OusUFPJK12Oz1MZ_dk!MM7 zX-dDdlm3x8Ap0q}_j216e^8D1c`^??iAr_ZY~bSjQ=x;xGXH~o4L<%t$~4L*UN zjo{uXG(OknFP_2_-pPZbK-sJcZcoU^i;-mYzmDZA}RXa6nbMgxXf4n9^uMqLN9-h7%!FBqw%!&*aPHi zxye+Kw(g?$aP9XWY0r4tXe_5{JbEhBMfsJN2VtCJn%fTCUuZgb&3?g7jO*lk#K{Xi z!BhMD_7ptak;W~?HYdqvg+|wF{XVVX4|;#f++!a4hu8)hm&OOp#&H?=W=Win!AGgx zx_=%BpK?`;qMwxOraEuY{b$emXZnhKGpCBG8jr@hm$!-N_{uw!@hI<0d%7|3wq-YV z6x`UkrmFFn*nAD#we*c%jHiunl~*+$4V&j~7twX7r|v`T$~ckMEwpZUfPO&wM@#pE zKI(ogD__6$L->0O<)S|iuBLJZ3;eoO_*u@Y9LLaG)uH#A-voE&JdAQ$-|Y-;x%Ce6O})FIH&b}O^bd^_ zJdJ3*LC5SSqXdssYM^R7hDJ?=kM`9C_{jAP9lvdcPx85&==T!+=R)tT^CEbn+(#oA z|Nlh)F5vM_Tfq&T2Mr@mdUI)d&ggvbMV5bZDXl-e?i|g_V*0wifphNNn!@|di8K!| z-jdpzp;`y<*qa@4gnwxG3{~UN@Sp*B>PI?Wt`FOT2RD=fk2+j9Uak-6dTp5aA-HD- z&2LxMj)dO-Hm%3&dELO{~fjKpquo*~R$w)Ygrv#-nc^^-G66Ch*|s$>7$@Z^FlV4)IhyVd#EuOe z!ubEQ$`!#q4}Qh|25K2_d{f#iaMy`q@NuuNg7e7Jy#%=7U%IbiulhE%t5OZY9gnt! zo(-6ae#!g503P(-LHX^81|FvH^Y5cl;QkMuhu+k4+a$q#!8+is=5IiMwRF=ged636 zaF@0j{iMlF*Zn};2A|ARU8W14@bbm*3IDYh`naz&{G~ooZ6fVgSIXCTpb+$_bz8v$ zp1PBTk3qi=<9~WRm2;m5`;}SV7kb+nFZ_ddjzcf~lj#h2>ZMiVg-^04U5`9>hrlQH z2b(20t36uPcvKGfz(WV3vl&lXLq$}L$Jl4R!82`hp^xt?2JU%g5&Q#R&WGMKo$A3_ z=@7V9?v0s@|G(=D)w6Q`Pw>Q|Azs1b4X3LbkKXlEKmKG8{?f;C=oa+x7WMS{pGo@H znxQ-cf6~Cie?1Hy?OzVudfJ#(PD|&T@JW|>SuYRy7)mvU-c(^Se6-)j!pA;`p0D|@ zelU$G{P)bzYT!!lEAT0|v3^#0%pKQ&`)(9MzOFMg&hZqT3VyRrDYOT9y>@i-fCn0W zH$(VK9+~+#%9CyqMLA8%Amp2|m4x1N-aA+5ttaY(Cyrgh`4TDfsm@0be{2r)kzRk! z7kWdc6S(#3;^cE{Jh=4nU40SU*lz*GEpoh+eu(;w^o9oTx3?$_A9I`i(0hyYoFn{A z)9>upcufDg4?KRnugIp~uvHV?XSOQziJFH{{>;a1<}sd@$rVY5apER z@!mc5ocO;W`w)8Dzto>NKWhQ*9eQS!@Cno}u4+6+MpXni@898PJe{mV{eZbw4e*q2 z=1Rd0L#nD8kEU7OQGVx78{y-8nXYU8&-+4eGB1RW``snb$5ze(PtWTN9;i##3(sq5 z_?Uj^iSe_|OV?jpgAjPUz#90cx6-_q;DD{*nO`e``}O-6i7y`}pMQ&h2c2}>LmMlA z8?L!mFkWu|l(Hy~ecxHsr|WZ?7n&|N65O|#^y$*mbbS|arF0{d-}_xf_$%G1J`LBY zfAbz(rT$D)2>~68ug|qR6nlzA0S`j3*YK|4)jhRy{B({&SE-eSQ?56j>d=2QjlelN3<2z*x^nM?; zpIBli`D}U|JUO1)zt3|U+R{#BPkQl#^7>%yng* z_&;Thi>|+qHBd#`R;wO(yc>;+v2E~A=5B|Ndl30pzAXywsPY)D`%-VZTxpH) z^K__*dhj-&>!a_5&VIoi&KIy>!M|s!BAuC50Q$gR#7%dJI|h`1{$9>D_@v%6kp6Z( z=&kR}>dE;3n|)KjUAbm(^W&pXPSf3v;J&X+@Np-`g9ra6o+&}=wT7$IMLooN*Mr_t z?``O{HODdjlU*zp&LLVBu+|GEkUa6sKJVyRL z1K#YEI-2ox`0z$mubRNriI()dks_|%DIdZv(zty^f9@!Vv53q@2MhNby z*&4?^cCwW!()Ui>bcq=G-2@+H7PS*^gDT+Z{cW*d{>D@fv8H=Q34JOvEr;=#_`Zv( z@o4aEaf=xIu`P~Qs0fXtEMo^fEqLaB{qBrM@7`6a#-r!PG;s6W38+t3!UCRty$pOT zkC#RL%k{xboqf>%7W%vkoJU8~k!9xUb}-u^QL8bDQG)Qj{{_ z%gq%=3vTLBPv76k;E}t_W(%IIJP`h#-)TNZX7|&x1V38%cL(D!^CbEBKmK{9;MR+! z(SFhosQjS?<>8a5{5AGVa!=U_;NHK+V!zT4)~VwEgM-JzKe?)AU&hm!s$*4+$JFUM zb45%{9@m`lsC6In0zp^~`>tBGM`Sb+ZRbuK0=-X~PI()AIy04+%2wZJcgDu1rLpW z3GE@;OyA#b4&>|pY6Z^IRGf})+pVR+GxLAa>yzr?>gdMc(PzJgPbyA6wh^`9?^`k) z?LV30M!u<0b-|g#iT0K_F%8@w8v<^%Gvpg>HV0fexD54ExjwDmF4qV4#qQzwo>@2@ z`xX10^roSuCu<5{kMZSPl+);`4)&8iS@9q792ljTKE@EWY`=|$_hy1;Brz2n6)V8QMLo=T$bjji6 zXNWjZX@Pn$744{sbgak4XGLU3%v|eB2wRYgiz61=!0|it`+)B%A;yLdTRy1t+R9V zd}o7u{;C4*p4W2?<2vOAwV%wH1pI@2|I+iNnRpZh3)&`WvGib#U z#?zjzRL*b@s-M7-Yv9q1!&QxM4~5=EIZd@fOBqi~9$82CF+x+!%ZStYXnMUM%HvpH z1NqALp#mqWB42;aH=qyiqxNhq_7v4m%~%!>6qp3AJ(##c_{;Hs_+`4E6Mpmmv31^Y zPE_H$A9{clLJvLkfRq3WgnrmvAoKtW8+z!WhaP(9ks5lC77>PsfB_Ms0v-`0h$RAQ zC~8oIP>qThP~e{Pyvgt0_5Svs_jA7Ux0Ib|k0nRz>@r|}!oeuq4@c{6kEFMF~J zJX|@Ji9{4@db*UqNz|Pf5+yJ zH*w+XI`%%syKkcwKEa0Pz_S|^8NtMMLyIBcmW%hn(+Y1HNu0)o|4C>w7dq?e$pa-% zeUEB2%!OWeB@^5^Xsyb{_Q=;2p+CF$hfz$FQ~tJDpMz_j)4Ug`NY|&aTU)@54M!r+ zNS{(F7oRhZ$p*i5eO#`5#QpK8H!$x`KPGgkdZY6WdgbQ=>-!;})bC&PUmXVLlk;L7 zOz}kiPqs__gP;xm-VEAbPtUB^C3m-6g7wt$l=jOU9SI(+>&7~0d0JPMI%~x-@Hh95 zT9_!u+AmPKi2CSNaLb|!&>L?K0r$?k3!dnfK%Vw;)Ia$sJ-FthJ{Ve->82Y zuPg@NH=Dk{O?=Ujdj9sa!SVdQb43n+jwyQI2lvs&Wxyn`XerS$AH2xTO;tN}SfI=+PIHXL|nulAC|0`8@nkx1P&#*H5w~w^c5# zauIiyq4&MIM_Su6QPx$a{-AuLhyJYRNN>rthbyXFL~n&>>txg~bf7(Ll{=`iocQA! zIB#-1=}*Vkzw`%icm4{<$5xqm^v~KJ`8h|sap+h6o78WeY$xiCjr$4hllp(L?{z2i zC$F|fKS_MzROROb+4P>=Wr-EpOq9LsHI<8~&o~Sp{THKh`G=-{4j;{jKO=wLtJH43 z0amnU@ZkgaM0-2nX4_x%1KC{!(x4(VuwLwcznz+ryuy(ec$! zr{`JO=Y59brEfHh^!v_0fAaK+9O)C7kOm%p)(H7%{+fyTQ1>bwcgs4`mwq`6K9S1Q z&dOJ_k!P^Nj~LfV@;)NdecdK5e6^phO!l`D@Hea;4!veq7vlYAfm?g*+-nN+Z){bRRujdwhe_~rqdSBWX zySVs#WavcnA5$MXj?oue!9yL7!r$1E#x<)#_Z8@e{*L*&=GV*mAnc#rDW6^nG2lcAIfbl$GZhDi^`_@Nb;Y@OEv-Fi}qZU(8Ub z1AOdR2KdA_)4E`rM*jzoXWqeaF^;D5D3_}q^qL-jC%IMS!q3~}F#IipU&DUIxE4IH z%m=RVE0_WTeSSaDQi7 z?~E7gs9bC}UicpS%g=1>!$jHBV7|&lWH<6c|HY2KIx|tWp3?Lllq08m39~FXL z+rJWg;uUMc-{E)%$1yhdZ|Hd+>Yr@b_u!_Txv$G2kG=&Ds~;ux>*1q0bsYZsu?2JG zsn-+&4}Y3Jm%pd%Ldqxb)=DOJ%glzs$5?q0xTmN;$s2%cU1e~*bjRL&vh2ax;x*qG4GrK6be$PSZ?fLJGV2U_CNgvCJ4Crlxmw_9T^H?HK5ZwRC)Fh{Q zRg;zlzS$&R%p-ifyJ>uRe(wkW$lH3%d#U-&Zs<6R3!ODBf%Zv#uNYU1vn4mDh0y+{ zJJVEIW*vTqe()Qek$=oH1w63j)Ev3p)ORb6ulWx3x5TOfb0v3X)W-FQIr%#p@4y!D zQ8vE<|M*M#J}0{Gu2bqguRq24gJ;w*RhIpmPa+?7y=5*RXQzepu>IHDgPG9jO*CHo z4R?ZXUJ=AR9IIYcl{#OsC&(xG(LyT|WxXlcKDM2xH?kps_DSVwE;p*W{G9oVopq(& zK8&tIyPpo$lU)DChm9nUE}Nrr5g*^5kRhXQTeZeaMDKH&e`3!rca%K%`R-@s@G-wa}*cFa9b<%srO~Dnd?SNK0otZXC|VytWM=3nyY7kpWHLY%tYDPx3$Ve z^gZc5QbwiIt5}b`i)p<`RG%_fa(0)vb8sP5mc0{Spk7PgF!ndlHV=4gS`o^pXYTi^ zXcl|nzgfxdz{Kb6XUxzin*Tk5i*o4e#;ur$DW82O4cK3$&-12|Yf97jjlVt}ddOZ2^HKe8xWL_cy28h{Ef3luI)~rdp0 z=x-PHpr1s)sX;!b(i0>f_4xzz6Y)JM_=8P$hvc!p?a*r-bYABlnm$?blMnZ0G7&=! z3aDH}4Q~qn@J`l|iE`lmyeb#bJ#_In8NIdFbYmi>{!e5rI&F&NXM2~(U?M6FOR8K1 z@3Io`zfzg5TU}2b;I461k*6+k3iFKNv%%oHZ|M7H$L}5BZ-3kpJXB>G^4HGJ{oXGB zuAAWear^pA5%b@HX{4{z2l)h!higf$>)ILIq!^%gb*TyNnMTK5zhy4+OzDl)EYJrl zc_(r4`KWs}#*uU4c<^w%5%?F6H)k-hJ*@2tZflko`xQ`U<9K;~?hUS_y@dY1^_mJ- z&BfU-)K9cc!pQ$Y!+jX1&QrtTkJrL^*J%xynWK=36;i#_q){;Jn@Fr2Zdj6~nsr;N3pR zGv=Xrp5;G-_0jO$h5a($q3cR>y^pZ&_$rj>!h~PwbUu}fXxKCs{vHoUp7xK4yC?iJ zQ*PHX75yRge@4e=F-<}c<+?oZrBKF&`ktFj!Py?w5XPQya<&(v{`{+YEv^617-aeU*+ z_p5r}EwoT_-`d>I)r|f%5cNJDOYidvZpf=jo%`MUs5ek2(T0g~iaW;MN4bZbf;z zvP(lB8n>hg6TZPhl&7KQZSb&VeOJkCSIH-O&H;Y%l_40vDSyq7g5YWC{_aw5`Dd!i zMVxrA6Y355uVpb&RvJ+L%2)KI3*_qy9&EG}JaQrTdxtes+r1_~ z=XX}>$YeB@Qn`q>HBF$`?|29M>)$X7-2IyuJo@NZ1`|5_dn>_}&wmEjy-&ZZ(jKJi zMBUrJt>;2FxY-f-q~7mfjnVrQ^v1Srnb>X~OZ9fY)Wjq8;e7NyWpkLmA9(z4N$_Z< zf_|a|TdPuMZ8-q`J8MtG@zt(Yz%3U(S|_)AJJ;{TL`=P3!+7aOa8LIiG9)*AOvl|n z>sRo9=e~w^v%R48$d;|!z=h7~9+WNhRt=4J_qJWg$5ix8d&y%Ttx&m$?m_|ZU;(um z6J=c!YBz839QY)9?x1;Q_!yOo?Y_EKp!a>5`#HcawIuYR8xh#z`C5V7 zX3+SJw|oseT(mDZ57O_E?X8xBM`QQkpL(yl^)}`2@Ef5wKC0D%DWV+$PUt-!6OTOg zp*>Un+B1IW?W>xjzp*#;QwmB#PN*}C;%VlymjE=iZA;yMYLPVn&5WRr{L!J z1{@dD(I()0-2`xbWEpt$loi|)nFN0PyV`1L|+Sg6F{ZwWj+*y#pO z)N2R5Yf%l%58h7Q!DBxi0Jm3pg8rZ@yc9fo@)Y=t$YZoyVDlvKz^oqN(X(0InIig4 zCmJutYtOJ>HT#~xI7;nTbV_sR|C>)>9lfU@#S^;Z`Fv}74mMl*G5U{jKK1j!wQBHj zeDA^j>eRN#NB84%)XQh*MLV;m8Q`HGOF-{$SPJWl`9?8t)6gf-r~h#n{V;W0H1oPZ zZ)$%agDK)Vz99WB*mFw(Pn$;bPwKr1_NpJk$MVlE%x~K4lJIxF@-4V_((@kDC$Xai zxTESq_yi_w#5mRcK=X;=-QwWx$CJ8By;7w!^m^}m@Clve;MRrIfA}u?|3dvwwxOLp zyL8a=Pruy6#mC*x=JsbI8vm)LauJ!k(`FfW)>xm-MAY`9@#QXf2zrzI0LGo>tVZQx zd!V}yd~lst(EsC!A>fg97r?c=U(&xXxZa|HzxkUG)+2Mf{NVPsL&2Sk=yy`)-X*~K z2iw3O?Dz`xatDnU+m!S0*X_#v|4?3O5xD2p5VWVqPVe~&%v}d=%i9O_#(L28PNMuC z_yGF>3!=YH*}(Y;?;KCExE7udut{4w4ixU|1*8B?#LJey|vCr zm5c46-|2UesrN1F-yyxFHT^!34LJ^d>ivv~Pw4qDj^z6p^$nWAC(x6g8^9M#gI+m9 z+_{Ii|3)17M5|IeSohL%1DwhCa7F4 z>JJ+Itu0c2a?zWZ2U6T{(FSgRz7oebRIo67lnqAjh#$1ra!eDv?q?+3%#pP)ZDhKvWdIOw^2uI&3wrCx8O^~L<_4EQ*T z7HTKCwi?Y#KHoRs$}fkTNN(6uTje5}#!mt_M!)IBMA?6X=2c&L?N+(n_Sqch{dsAg z)K41=J^y<^1F3f#soy$IzX|U9iTw4uNS|mu65L$5BJv53pzDrcd?E2>b6Q9r&%hQc z7cux&A=K;AM&NJlw+P(v@ILgOS2uQGLYI0Dr>4vW@aU6ZE6KIJXVXE9!Q zhb1Z(+x0oepjWQZ^+M!0t#{VS-HG?BhxQD#o(sL}Y6iG#U?-d(rhF20Ur@aVS77`a zcbK3zjQSNkaAqskJ8#w$a9`K0;J&v9pq<$m>YqN79sIxf@Ffe;4w1^|(SP(7^3he_ z0RH&ho#;Q#t-atMs!RG%VslbolATN>DNq>si=^NjZ2^3ca}x+OV{ zi%7c`;PwfB!^hmXfXc<^f-R1s-kQg&VgB^=(13dkOTm|kiH!-JW^Orfd&m3W+I@|2 zTzujD;I2?T_(#o$8%e#Z{bJI8a1#1>^(B2IPwkg(+sELRT081V9*lQWxrn~f`*LyD zqik^Z{R`l(1f@L@ zD;HO;P`?fOzxHzB+vfYdeVB;)zQp7HXW%nRG{ZU-+%it(Vtag9iS055=YP?c$#VZ% zDi@K@Tn&AIe~12~>o*JB_uV_-o_^&pzbW@tf`@)-3!m_j{AeH3x<256v`*mB5g`*( z#QDSMhTw_vRl$uP-D@hjwg9z{VfCG4y#+B3SQhSpo*Q0(&xm+&e06`70T1^(1Mcd+ zrLpu0jHmwZ9a<3nsp|+wA(|gtA=)qZ#SQRb$>*8|^G||L_bI>NxFjAGfWM{7SKxfK zANd$6&~s5jRqlZ+^M}wp|6X3`O{M<;-@0wU=qf^&_>uOT|#_*&%Oz1367`XHBTd#9bc3r)Qe3a@mKiGdsBfc&j{oGZV z<{97TkKpf|xoHp+pNqAo{qleOF7&2LD+WuR`v0kGPk-<=ztepJ`mkB$Vtcq}UU0|E zj|VbQjLmyZ_6`U7KAfND>Ja zj>E_7SvZ0z@{ig_?=-_F+M*8TPv@9IDi>Q5mYU$fuLoj&)`jW(HdLoHc=%ACAx!83 z>uEkW*L@fDM&Ei5?QFb3<2o_P0&e+vV`r(iADyIf5o0f@KLpO+s>?(Umw=h44r?iJ&d80D)Yl=+) zH$2S;u2D81e^aT0SxorqzN71UPsyv`4#kRjz?6KxD1WQ?PA+uzLWQx8m}*fzY^n?T zK)y!csrke?^doT3-2nPk+(g$A`k7hay!}t8*X5>qz13d@*OY36{*&U7nnh4=+T*)8 z?)tK=RGCM-$8Xp#_Q{8spY0cDevY;M5nQWZhWT9g2jv;4@(BK>8;vrU_`LgObCrwe zoihoX?J^-BQ)C)=co6NE@wfWP{h9#o(`%vc?y_Uu)U+A`?#ei~i!0*#wj}*-B7D9E zxZ@k+Zpkf%f0i*36KnFTTtxTM-=J6edBJ_h7K1Cr=sq!ByVkk5Zs#2M*#AoY&iYqc zcPsgkvca`K6vu zYniqYdhV&dT=LZOQ7v(LZVBJ^b-Luv^L{R@@-(G_ zq8djsFDt(B@JZOz7C_lqc^_ z_xr^j?nb@#MO~nGA2HJ@jLQQe6SAdZ>nD7 z(^1gtK3#=%$DJ4mz2@5-@KN5*&^z}g=l_vq!I%9&Dhv6fo@?Z*GYS1CJZBf$Eu_nW-oNo(a94ps)tMs3$ITYtwv9e;PnDjyP7nD! z;NDvF9y(Y1b+x2EuG0B{eQ_(&H&k(6VV%(jde4QQzynuZO{G2@rSmS+OnNU*+)mFY z3`U5jo);S8`O)9ZEot74uAuu@Eu;4#pV*oW@OM8t4}VSZ3oWI8V&isj%ksD}e`=`~iQ{QffEfuHV7qy#}t5KDvXX*XgO9{mJ)>MM~5B?C$u z$NJ?Y_=o0@KKvc|2X|bDkK-7P3pVZw^5HKIg9qkOKK_OD+&Rt3AK>HbLwd_edOn!r zr%A}u+m8BMinB@k!K1xk;q$q;z98iv zJ=b&%Q$#y_vp9~pYHGW4vk&D!Bu_kpp zOK$k;SIiq4WrZrs^-KKPP{u3f&uLs=r*^X}rRNJxeDhbFC-4OE(0AL=Ztl64a2{g% zhW1x~JQrQegqGVsn|zy!x}nXjv&of z+N00ANuHX2%oYEF-n1mAhvbfy8&xi1>N&mo0bQ|QzU&F$j$X=Ixjmp+-HwUqZJeoc z5d)Qmt&vgbat6mMIFG5aY&rKUc)aqr^_VDoHVsv|h?=SO!EI+*1t!W$1Ip96s6YJE zhV`U&*h0rQ-f%8>o2D0$PsC39YbkVNH5VWEj_Ye;B1ZQOSGkDR;v0yUs06)n)i`it z*Yc>B-R)AB37si@3AlS!WB7X?=EM1kF}PWulyVzlpX1oxcT( z?HnPwzK>SrB6>&Hg+3HsGm43_5-y-}5j4Njd1mC$z+p_3T~Dg1Ttw3hIzRLc8#IE6 zva1};ld-{c9vd4u0^B>?sdBMh-{*78&;K4gW@Do4dP3)W`j2VdG@h-OBY9#)6P1e? zDn$Oy&e_P{KXeRuLc0NZnyY48nb5hi>3cI*O&X`Bhf_vMZhz8PQEUN4>7UpN*D!?}0S%c*i}cH&#$PL2{?I9eCm!;%38#$kSH2C+SvJSXDPg&A?>HlJyE!W_0C|Qa8SJU~G@nQ0JQWxpCYrkEA ze4;~lk6?!x8V9pBI}3-U~ypyM0*j-Fek>of@c$5^<7 z%Ejl5bP@{T z)VE8shl~1jeOjX(ywhp^^h`~_C*JS&L?*TeTuW3gqVg{7ui^Cxlb9%alJ93s`54as zjpL>1(N*PQyXm$T{)QLd;&@rkQ#+^hzBT2cx7cXBc=rB@dL1LyqFzf`>Oa=>x!~Hh zcGT;AI0gRpRkR){^X|f5_e*f^E&ERObNqB$=r!{b1h#5y>l!*PdJo8+`h;L zo-ok5%&KUhH?K>sv!`~$$I-3^j#tVjm5-Lwb8A!ir2Mr>e{-Q}@OPPRW1fjETrry| zVt;qn1dom^34hk@uUV1@uNEQhBfTfEEUBmY(7h~qp1gk%crbatu3I|>KDM_Tz$f+G z#o%6=_p~#7bK$?E2K=o{wa{x9^i1-8;JP0vA6?e%WImILx1@QDMO3Hs(dN)RraeyQ zu{>}6d6K)oE39%6!w>0v*zu$o{IzG7gWIoE#c}ivvCLsYr+Jm?jSqc>eBux8g0qho zK%aPZ4Y;s@d9;8olt^Xy} zd!F9U%U?L);~QoJw;yt#okMlzf(JabzI(q;ARouJqTuF6be`#dk#{~*{%<>&#+-(a z`JK1XKBk8>Kg4#P0Cyf44SnQg1Na2T)Ag64^nt(sUs}Hc5357(=}pf$bbV6=dNz17 zIGcR{`)eLu5hOb!U!2AANXmE>pxh?y-Wiw$s5QR~o}d|M>uL^IdvQsd;rC=v~S44fh;6 z9|)XZut@qS+mqkl9--$q#+Mpgl1FAzzjA8w!{7KyCFleGYAP4o^^54aslKn4L+>e8 z8C*L=h2H;3>%~my+%I~8`Leo?9sWt(WLH8j6ep*LC=Jf#i{`?Nu(KrCaj6uHpdH8}zIM_r5{(+8*YC zzq3(qaK~I4kFlq-ppP6+&fCWd!{7MUHq;xqGZuPwp4K(X%e&wye`gE2egDP^_;`&CppQ2m37?4nKDhPq7U<)p7J-W=Y3$;PxPEGOatRYLxPG0=MRfmu1^QrY z*AgbmspsVQ-=cNU=UTK>@<`X=Di_hwlg3@5@lf#aNt&13?WkWlPIXzvgf1R!qjC`= zTf4zOe$=sqiE=oH=GDlkXUNAAr|&uK4d^^P+Je3pvYfq&<8InV<1TgnU@9{TwN;BY(a- z4t?N3JC!Tq_>36=?%RBj^#Aq*ca;AMTn%y;SiETIq9Lm#(yfS&6}@2S5a zm)_~3^Db^CAKzBm-&8vr54M6&s-6Ew|6L7mP4zkO*IlRcSVNWBXt%h9+QB@KuE&F> ztKeMx(u^yjzg497p?l9BM?W!CUkdIpeTx2I+x98+*5q@;f}`lXLNmENxIa1-dgH4V z&<@@qH{s)`G!oo3{1mwBjdi*FeHk?W2a^3cm8b75TJOwNx5GbXX#tB^A0lYS*i3lc&eTMrytIH z1|B`=girjYlaBkf3*f2eDQVZzJQ>TTcGHebgWlb3AhpjgO{v~x)PMYEXg={&IlK(e%TOUHNJ=_gG!K{2L7xn1v^!A14tk$g$Xr3H!9DX7 zaQmTI(nty?M|!hyu;jW*gH$eJVBs8abFGSfnJC8!QU02VX42pI$|8B7%>b2) z7`?p<+_bU{>W#Ofb}feC|Q8F!d{DF0veaJe}uwJ3oa!Ugz>M z$zyL+QMrhT(zGsXGf%+B^c!8*#CP9^UYkwNi#9B)1--5RVdN9tc?$lCvSq+oklxb~ zc&!dNPrlbXSnnhFIOl8!w|;MhK3J|Hd<-3qA|G%23~=9_Kd9dS*)Lju8Cb(7rIwG(*QHU`}O@$in42ddM4S!*@`ADliL$Jh1YR_G1y zl?U&xo8DXMLz#45XUhB;`)geNGx}Bd2(3rKef7z|O%apSYnD;}v{k13E&evh$9;a4 z%EflwHM&lW4;Y7fgL}JzI~%$HD;o$Ekf(8Cq(;|SpI%9$&F=~s9Z#AKHm-*_kBS3+uL#ms1v$M1X$Zu;v`C#jFrrEwSPx{35zZ!yWe zW0$I2#PF9+@IWGOcP7fd#$!}2qP68HaMu@4;bZal0k^w80oM*0(vk_CVb);q@SfY? zmdVXpNbY<&1>9Ki`RiPi`HZRX30G?j?mDs--1T=E>~Cm74!FIY0X`<{B;;wiLwQCE z(|seF587aVQ{3A00(|Ok_!Rv%b-!FJ@;x|nWVL0Ye$(gFpG~|9?bqG9CU6~%BVXO~ z(0c}T%aGhTkou=Svrr?M&8zLJy(h|`KYOjm-IAx?7hnm|_XF|nUqT-lM#oW8;sfX%yL;vG(O-^Yyx8k~ z1s}sJ<5VvEeAYYQn#42GSL_eYz31R#%}~INfh=(2(wpGH&Go?DMjBuGJ#@XvUwsSy zJf}PKo-*|REJwjV!Px;?zmyX3ZCnxiSz!~}C)za|dhfDzUdbH`a?o#Wk#69D!rQ@} z2X6OdV!P=y&D%=rv+&_FZ=fHBzN2Lezx$fXWqgtbuD?^VJriZ!1e!NYHyVS- zr@hfca;5Wlm5UI6wKcf*iz*mj!7$Ayu?crjuWc~tJ?E^@yIO7m58EElx-elgxTm56 z{Ln&rUSHtcLU4Pjb>RQ@{0sfl+Hn~1ZX>{*_q(Be60N8|yDA>v$`vuLtC#ZPRIpR?P?;myoGr+F!*)wQ2EE;;SQgG$9mH|sX4z9 zJbnKk8BBaWocw<=yWj%PTKq3~s1&Wg#^LG6hfSzR^RVBma`8FclUdMzQT{Q_pG#?8 zN~{_S9_ug)^RsRnas7m+>*eRZ7(n-7TBqh$W!e8(mPf{uCrV?zW7UhQvRwMQ9=vp= zy{Ol9s3dqqV*d9 zjL$D&ez5kasdBO1a-k>jO;+^(aHWFaQQstR=kke7n9!NBn}8d;rcpb5N9(e4V^wf| z@euUBO=~eu&8z7DlAd>tfb&YvX&zXS3B7VW4}7xL_CtTx9#y~-9qD)0rueiTOcC>Z z?LYT(5iJdBK_A{=fRFQ&rmE!8JQLQ)n7{U!3?`z!FMZD$y7kX$F3SE1|6)A4pO#c* zS@*aS^zm&O*-VrJ<>@)Px`G?P%^xJNPMQC%pmMQ2a+$dG+e6)$DBC}3uW}KMz4yTX ztY$g#@i+>ATY6@Lw^??m0~0#)p`PIGZe`(b+&=~5-7qm5-1O!z(BJsDYX(!q{v>*V zhkqIQ8W-hY@8tc=U*-o7mAV41l%9nCz~)v0k9}DIJaPB~w3{WpIk=|p52Wws#C&Dz zKLXsnVLf>Lfh*BIp4xdy-{=6iqw28?rikT$Fu-=y&ufe?vav{Af+AQ_dq!RqDLo&&=f?Y&sM?(sv|y z;9gS;6FRM%))8B;E8t<}WQOFa{SAM14%~i--n(tsI7sDUyT!H=oUiPPdD8!Y&IfdZ zKL?NfN3mB1_l_wHzIi0oYx$}( zxa(3`a98)mj47humCHx`@k8Qmj$u6w{MH>@lW!V|N;%kNmrA zvHYC*^z|N0MDgD!m5b<4tFc7JD;d;J+|>)JvTR&G65RiBfpjLyzMG9yE~0kCW%yVc zjYs=O&QbsLY3o35yEPX5$2GSW^!C7XaHYwBB&UAmUvm@Oye`q6313ImI34QkUIWEa> zmGM*msWKBh(EU&7E4^HYag@?W^S=uH@%*u*z6A8j{vFWk?=?q0!MW59PUoIQ(!cxQ zcHq&hV$dJYoAg=TxDylGosp{GrRN#pKX@5Ee=qf35B8!m{L^zbCi9;KeK7R)d@eq3 zC^D%t6EXE%Af`QwdQFKk8IrrUQajtN{=r<7`NMBJNFJ%>Rk?_~>s*_R{?g}=Pwc2& zm1XT4_Xo!xFJqal)q_xz0h>6u_tWm#`JHcUqQ zi>qh{$D~!NEJrfq@bPYRV_c`6YZpBGbGFnEe(@lq2L(Rc85m5b=#e6gpDU;IkXElK6$pLZim^4Q2L8B9cT zxvnY~G5+T2zA}zlS|E#wX!~Q1%0+axcnrOL?=RRd*D7is@03CvD3XMdj+e6Cs>*U=+|8OY`m#Rg&P0q(TCZ{u zy$kNPlF{c5_G2PyCM;07h=<H1t;}T3>SDGu(|BpfsnBbgBFI^l|zgJ9zz%QIhK%O;j$T@dx^UrT^X= zW0@!i_UKeDqITOA`1|+2F_MXLcysc1F)xbkk=spwT!2roL~T`;oy$i-9}l;IUjISz z{Ja+3_hs2V2l+S(&~x)_8v1{nFL)n%-}VCVi8guxA7`K5qnYsaDYV`h|5yl~i1r>K zdCK4L{+r+|cwx5W#s-vsu)#%eUHy;1J!kW)Tx{1pe;YhB_CC0F9-TjU@6QE~O)LwZ zx-ZBxj{g7X|K@#g&Gy0Y(LA0Fy{r4aSxopQ&bI*%mFWkrWWNm_)>HsD{XpM`$F@zL zDfRwlmB7u(`*8H-r@}vRi8yOW`P(*+hdz~mO7Hvd1-P?A1Nek4(|tjXfAhe{l2IJo zwukN?i0oPqz3oC8c=QLl&qwp68F>ax^t-dTo%T2Gs}8RDyFK)NC;fjd^akA*k-E=> z-7)OpiWt|YS}tTF>K>9m`;G25bLD>mZoAu56I`q+~0bIAUH2h7qx-4Kqr(IeCT-)p#j!TOB zXC$8ke}e8m_totTy}e@cyrMMuN9XIoqsjLXJ4auIk2j0nj}ypBzMtjm55cuh|3p6F zeB|T$f_|ry((C$`L_VP|G){eUVyk4Ht}~RUuSz-O?>?5cT5{(=8b|sE4ZtHg8^J9H zsh^wDlmC~jG7LQRJCum`2J-QF7lIppAs=_?y5v(KfO@r~UQxNINBMRw^u~>T@YL^6 zQuW3!41|w+Nn_}pW9WNVeZlk4JA0*rv+>2@Z-2qSO+ngUQ@(HEpW@-SsNE8!-v`&X zZw@`bMD3RH@g{wOwQIm%r@Ifmx8QG-XW4F)&q(r*KWn*$DWabZr~NgSqH$!Nkq6we zG1;&3_JB{I-xP4|qH^$wME(H}O?H5rzNC3I^&A_|iNR~7f9g3lwjZluf0Y|QKp*%y z4L-`Faqx-m%7k81h~{(e6`J>qv+6+a9a8{$cfL&M{WY$ETbt8-6?{PBRNMA*%I64; zM`w)MIoxV6xb7-FemtG#@;c)(Cp@^XAwu|Ff6iu4F#0Z|S+*srEDt&j+8_ zFLb`@DdvVg8l3=cy+`v>pd5Waub*$v#Usi56UqJ3R<4P9jhBCiPhfFL3FP z;G@RuH8Zh2_7#nb;A@%-khJg6_<5a3$0l=Z&svMZlG+Rp6ty z=EHfZ^REiv&JGixcjuo5y>5*bJTk%tZq3P;#T1c$dQ)(g{vOr)_CLteT9NvXxjsE# z&V8ymc=$Ty@A{YYgNNKeyZMd1;S*gp1U}|lOL|KG@FN?zQ@Ka=o=9Fl-kbvN>$ZmK z9auE!Zv_vRO5em4al8xCd!uai+JS3s{|vpMQZwYAXjUGaS=K^tcW1U|;&X`|f9>ZY z#yd|1*9>ir{^JPHykxsP3S8UJi#%Nsng`4;7l8XbZk#8lo?oY}H5^=b{&5TG?>szI z42Rv0fDQv;QY?f$d9z_m9v)McWq z`@OHqMT{LA3LaQk4%}UX#!HANP_KJ>Zh!v@^8c^ivWebz7U}j^cP4zp4O^*P#K`E! z+hsg!*p$IUw0_%J8dLI)g| zNVU@7p4NNe;~$}PW#V(ek<|XNJNv-b*xN$yoLK^TrP5pAu{XzNOMPez_4DxP7`W}^ zv3`>4Y}HjRqNc=en`PX*q7KGU>{LNjmW{niZ;^3E?YgTr^FugjfsfDG75i&hOY4sRU?1?~&$?lLFn_91Wqq;y1Hr>>k9B6E>^4(- z+O#de?Pr>z-ca4fDi_=1ee!|dx@bhbk!CbsdDd#cqZ8w^?jK>1`pCL`Di<;Q`1B4LPuBYb-1K3(D$C*F zWuSK~ZjW&q8Iip2E+Y#4{7&>7kBFVluk4X@=v{jlzV}G^hbktYN3psm@`*P|-Y0*q z$u?OJH;!z|L`*!+RJn{flfa`jhhp5>Hqd;+H{7&%kZN&1fG- z|B>(sRCz6zPrOcZ@QC@Rt+Jjq7j@{*Y)LtAUoU$8SiELq)N8cTc;|o8|4(gYt79Ex zQ492m2l?R7c7F{YTlsF_x}U0pYa17<%M`JHnRHytMQOkO%S|s&Kp!ZQ4*!I;7y;1MIS@6+XN_n{=&Y$v6!Ey0?JOn&)dKUDo@*9<<^u>&v<2d~n&(|^62@+nd+N9wh+3aebkXmfD? zf}J?-iP5FOosWiqn+o5@yb-8V3EX&iD0m`rALGS(oaQUth1KApgRf(LOL67T!{FM* zrOQzn=?U-&rGrDPmnsKF3TsG8Wu6YApJvQ$zjP)MzbuY`zhB zMy^(akE7Bu@HWx$*e_>uBe>~yw_HB4sWiU4Bgn_Lcul&jH&Bh%W#7ga_RDf(C)z)? zU&brI=+^r+2HocJ;43X=sYLf>j}8?<+3SK z&tH^Pxrm;1e}U((MD@lO8NdUrCW2cXnefrnY(x6pbX_00GHfanpEu8>`O{o>C-i$5zR}?;mfpp)mW+9C`*W3b>KfCObdPlD`m5UfGM0t829$U;rIW(5qSzG-u^va$i z;JT8nR4%qhf1~>t%@1yZo7;{64{L7hlH2{R;oyd!YJ&662gAp?$Ax;epSK4OeM`Ud zvgLC??>RgV-2CBV@~M=$gefA=W0;ekF-=+Y7<$|-&7{&wrSS>Wd6_WQ*ci!I_{=hYmpCoUIyI!7yWL+a_u0vdsJR<`zGG9so%KD?hnG)Nx!4|`(;3`Uc{}Qj zCf^%t{XQK$r0+@jtQ-z~?BY~#NBKGMx6SDZ9=t%mhfVCdMfptV0PbEwUf+>(;?soVC`#M_Zr1zw*9A z$2T#7zE_N1HNxMhQ{b-~OyeccwKBNtAkDY&x%B&ps3$+TFaJd7J(o|xKk|GA>UIB4 z{m|I7Hn_#HXO+w|R>A_kbHjV2|9u7Y(N{}=>n1e;x1Q|;|3o_)@AmO@KRNfeOzxKh zdj8js*x$e|9rTf2{lOzYCC9~>H`g*n%r^tbN2%$De<(bCo#fsDG_Iq=Ujg^o3xfxT z&sVwF9@|IX%f*$ge@Zjy0(8m`C!P%6h;BFJmCwlfb`Onx49_!Q?dfPz*{FPO-U%EYa z*K$StU$4>l3?`yC`5rM{;wiYLMz^|>dy?;8^VB+%i#t9_SGm~kF12HwjQseo&JHdpex|u5QhQ z&e@atv+qa))SL1#jG+0)y7Usb^A!j3SNdzYYoiD)09?aX537son0hNnrE#4G*|J_e1pD#;;+yBf2kG`DI zh6$ZF`P@az=Z)YKZ+kvna@+HEDi<-f=gDg_hNsbenBg^5Raw>qtH9^K`5X7v0k{59 z7VTrU+Mw5!KfOYJZrSX1=qENG9Y=e$55e6xhN1ma+^{bUZZ{1#G4Z+B0qQ^Ty^p}H ze?G!~8N1Vdncr!?k_(;hH9hhVSETvbHsW*W6Gu8`GO?XUi0j@s4!v@A9FB|Mo2hcK z-H`Jf+}N>BQzpvxVQo|{qN7$j@OT4y&bh7~oj?1vR?-g~f%cDFD+s;4|5&A^Kcf{BG1{-X%0-Nyo4G>9?oXGX-^TYg zS7kZz)i3Y~8Mop%Y8EQs&U`K1a{GVZ2NW8682bO_ulrR4y?))ZSDE;nZ?jJ2BHHwY zb8%~#y5QQ!ktK4w_3s~WK5rUL_41WzOTh~n%}i`h@lc=b;7b3jx{^nZ8dNT#^Zr}# z@w~aX4ijZf^8zXt(K6$A=p(BxXE0GV{Yd-kS@k#cwl5x+kX&1w{=efs8irmsv?|R5 z$>$h*+x!9^EZv&slM0H;#pi7I4#P(&T@?FkTubfmUpxtXbKM%~pH>~MgSy`H!EZFz zW-{^lM2Au;7ctQGDg0xvEI~i?jUj)&<_7tH`&XFhv!pELK~xl?v#b|%!SM14{IJ$p~ds3fP6vaJa(Ql*(FKYL2k zIN4cgbT8%i+@qFS3Z9Qwk4kcC?RpLJ>3K66i}JIiuJ4B@y$e5g7!-h>-fiZnr2M{f z1?1z;b?hw4&w=arL?t=3?poI$>BoO`6y@h!gzCG?vAeH=rw(35JC>`}DXKhs&%V-6 zN%=ldp()vwK0jiBg1<7lTY)I2{+1Ny@#EEdOY*Z`UU>R9; zeWH?_W?FseRnn_1hq^>LO*EYxmE<(Lq|qQHwcIFzd=s-4M3v`or#SR zeZH+I%UNP=qmrD8wwll<_ayaGu4ZaKRrez7(&MHbPeaf6_TDIW>lqVxlCfSx6uwZC zX*ESTb(#uAB{>~DvZ+r=?TrSYp9;M~?|0^4f8fq-uc7^PooEwP7APcBqXl;u1-N=79)jTNy07bh%fD9X>SJ19=F zvxfqYeQ~Hj!P7;XL?t;*E&6+`lDhlUM>}R#?<;iG`Ukjpf$m`p_-aKJx%APN;S&M)phvaGlb&b z(z7V=_}!FmTHQY^jH7!(TQ2BQAS!&v$S$Fy1Nzv1`w-(m*NkVPlKi_Xxf1%v@BFKy zC_m@b{yl!I3glVOfEu?M^J?UqDNlazepw_c$^Yjs@)G2wm$stb#b;2vYO}s$$Rk}J z1D;%yd+Uqx|L4w@ib`@Co_c7Kl1>>?qCk|>u!Y8@*{|zPmgMJ}@81nSB!8mymyo~v zLi>Dl|D%5(bV^T1v0$qz2o57OL&z{N+&&&e;y&!N&Yp?{>yd5YUrB6w_LyCGk_y@4Ng zfX7*FL}O9T&)%QLKk1@L$UDZ;dB2&Jb-|OI&=~xoD;3))^1&)W;GTV(fO{uXdm`l< z0C!LM2s}1nOb?-tM z$v1}r58Y^HC~qoPOoL}f&w#w`f!}6If~?=j_Kie24drNjWj(gxc?ECq?s`$d!=ID9 z=gsEm_fuW_6ezfRFvWRhnCO+{XY)rBpbz8bWgont;L_kptwlLCoeM@KISoB~9X!?! z8T32J%M*a-W81)UbMJjGezS2WQBKnnhestj4F(&5=fv^#sMncK zdjJoqW7Wxvi_F7^@b`u`FmfX zdgmZN$1hxje=MUaqn`?XGzmPh2ZS+-yfCI=Em2OS;a#JWoCfAB8m**^hgY_ZD$nt= z4?^C$?-#T)`Sw)4p+>bvDZdB$uZG`Z=N(by+4ubj;KJ!!;CK8??UjAkIgB@~iSi9a zS0yAjXnJyb4<+Or@ZdFUbZFOl73m-+4p z_)XJj-8oi3db)cb03PV}GW-*6O7%LB=m0(S{GoamMk;!xV@qI{OCJ~IXWzvZQAtj7 z^*(~UubsAEu>YI{p1O3VjVR06C;6h1oO<7V6FjbdcQqB|XCb&IDke@h*f6uq+4?K0RdzvIahpj>Q%~pcs zo!?9Wk67k6)Zg5RE|B*WzNo=NKRJO<*(C%No|a{M!_Sc}6z8E#9P;T_`SzmxyJ_w8 zsHCLhw?UtvwMc;|Kienwj7oCq{qqj+gywz(yIi}+0vF%8O8L4kRS{*md~QDQR~D6n zymWRP>~anA0GIB375wp$eNZo4jTQp8K4Sx(`u^6Fq9E7D#;bw*Z%zYlA1c;UaM3;s zxcT~9z%v^ks;=P4@ddy`{VEvhMabX0w4j56TZ^@cN^+WC@*U)}6$iu5q4u+Z$5!8gd@l_j-AdSnhPhP>49B=DBC=^n<=B`Wvqkk^3^H_`lF`s@?L|BqvaB=h>; zUe!vJQ_snjQAtki?|lM!sdgQVLo9#K0iLe)C-kp5d!Z%=NZwu0NWo2iPK`=(>VD$^;QqcN z&@Tu-Q2*%q{G*xp{g3^q*P$s?j_Fl(XDRr)Yv)^uaw^TII2Q-K2YbJ`zR;!M?!&|* zy?qyWR-9b~e+m-@MkV=o(_1xx*Sxj9izq(}6YNn*PP~6_08i+_zuSoNb0X}GN^>H%Fm9v)1#7{=4u{+KIU3agWt4lByjW8M| z*z2y;6u779D#-f^f7MJBSAlxaX(hh|kEj7SJbKy5Vd|)}!Uv#_*@_QeWWKk9Pup<#f;1qWrsO zZzJHsz|C_c`8ij2ReMoRQ{7reB{_}ndvK1DT2Bwb_#wDE7*(F_%TCNuQpb!Es9*l? zhenm>>?^)GN-DlKsHG^U$z>CwlANZC`~*KQTtfHPhrQJAnEKxdeQKT>i1=hY`REV8 z^MhXk&iQ7%cLP7Me?0UN7gBxq|FaFaV0oyjDCZ}*sGYI&s0}=PW*hu(+t({9$v$i7pVz>jDSiZg<9vN{Qjqu5J%)b7yNmSk zC;LM_((-=b&OWQalj`3T@?O_Cs;6sv0FV2d08a!U%JFz|Ha*MSQQYSk45xxQ7Q zdSt3x75p5}_8+L-$cn`mNU~hON#|b$eAA=Kb8_%~z^$(pLcO!^Z~?be+X6gO{;$rW zEa&dt26*P}U*I>}N2gJa_Erwyp6Ki3&pB^F|3s5Tz$05v0MAsi!d}M3dfx)~++U=j zD9Gc_hO;4W`*kbwmAdahzs&FBxweOZC(5*IqsTKJI^JcWBtHj+TT#BLuV+M+XIJ0~ z_{BqW?4tafdY#4z*@_du!~PLf|Cr}|4?Md`I}eboFA)FR+dC*c!lv<2Nlqdi&M#8Z zOhr16MchfL2ehSQ+J<25# zdk%P_QYqk;Z!2^X1-V{b82~&pFA6-rcpu_F*18sO)8bvg*Bv&sP~?N^x__)v72t`9 zR>Yz3b_K`>OQ`qDyt$X+e;v)Y2Zmi;BFX>%=-7W?uVWzfN5gwtLJB_iP%Wn@r=cB< zqLQ3C=I?=ggK2*ii1M@hg~y|koH{CXC!Vi%7l`t6xH+}AmZ7b{)2G~%;7^>N7nS7S zbN2;-r`nc9``}XN0rDNTg6GmWtv*&q9pEl=dB~g9drlL>?*g8wI~(z4UQF#t{`6$< zcYnM(;xlx|GsxH3YXNZY7NMgk>ydqADDYUN0l**axTTAN$68MY9w>1y@W8ZsD96N) z(}0_Qy0J`>LW zLpf#}Q2Q47xD{~cq*DzY}WNYZ|==*^~60j^*r!?G@a6SCgnDr^(I{`A|4_i&j22I ze?0KiL=WP}eK-s})j5NFzeqK2E6V?$Qs)(Y<=+Q>sWP3nnQTw|<~H8}7uGz0a`$@* zz!R=n6Z|=+*QW3|ip>Y^da$@5o*M24zT*83@I&~w=OLeb{~hordeXSv-;3hexrfS& z`GYg2LtcDfKjdx4we>6U=1}lYF?U8g9RGs!vF+ap-2MK?Xs@i9THx_Io&oOP+Z*x8 z^5VMBfD7H9f&a60-H^9eY6IM4Ytcv)oxY>n}= z^(iVB@z)e^>%~o|FShkhkbI|kz{N&1U*}NArQWKfXZ-$IXlF7lson*jngn@UD>~OJ zQmz4b{MlcKe`fXiq9D&VHJb$7aX~WVm)1{PCCPH84-dg_$w6x&Zz~f79(sfJT?DTW zBc8o&ft%C6L;u78YM%qMD+2c&8RimYzQ{~!XR@uoSt-fS!sp8iL^+8ap!ji4KMmae z+8o4TybiT*)=|yD;~isatjL?IJ{gtdRCEpj?)m+F^mkb&)%R5ACxK^%%qBlycnR{h zH;CU_@lTYODMIbDd+PV3&wCT=i860?1;v|n$IrmUGqavhaEsdB24DObcw`WrA8UyQ zqmul)`}q{`RA?UR7voZ;%Fu_~jey#2q`uSU>#E=bPbSe~y~5`y`RXE3PV-NXh)QxQ zIcQ&Ntm01K?&=hW&dPLdd2nMKxaA7zo4;H3;#SS?QPplT5 zf9^U{4f^DIPJup_RkYvOJh5a@$v5~D#ZROq-G3x38#GtJlRx#3N^%+-`5f{M)xHEg zFHt*SnOb&(@_Sg_ckO*x)qmP=kWY=>4t}qCkC>(2>%jf~eZc)y)P7mbH?@@Vjg1}^ zRd_uc=)8zP{dbXXZn0WVi;Lj#{!tn{xfLPEvp(i`x>3HWKAwwbAs_q016*9th~y{! zPCN^W&J*SQ(wnJ#L-R7gZMn6Ok9VMU!?yXE|@YX)S(=~j+^Gkc7{@O=5fQP)rfbWc# zL;K*YP#n0g>v!PS$8Y=k$8O(@m+qWCl?DCp*6bTu|>b ziak6D@~Qamvqbs-^9u$?B{>bhMfZ9H&wd4Y=bc@Eo4=*=9P*YWz(a3S{dKLR?^f&; zDg$RdgU_u1zt7TZjwth*W>B1GFK+}M>6id+Iom+PpQ~|N!ykV27UcZ{dqX}|nBv?q zBMaQSxIN*0)PC*$FM!*2k45~au6G81q7&7xWQFm-&6lPF4}X0e^1-!1;F%ohnJ7=^ zNOL*7@hD|mAEz6spd?*Zsz5<3F7yT1Z1ma;-Ve4#P$$XPmn#yesp z20Z;U#eYJ*$JRcv5O^H>$p7&-FGD{6wG;A=7pH^AJK_Q0rpzb6 zJv+R>nJ3X_8Of_Wp~7V$pL2XNUlinc$Wl8W_-z(&|K0|0m_dYldOox2r zA8H5kjX#2X`h`nqAAEPuh)VMR#qP=h&xkq5r#h0Jsr#v&w?1DH{Ps(&ATMmB^PQX% z?uNYkPPLsWOXpy?>R$!FdpWhk{=L+m`$L@}pXgs3JiZl&k*}%TcF6l@Ed`!!L*KcW z2fYG$-w_dbsPG+VpS?%#fIi+Y$PbK%RXo_CKjba1)Ax7Qi>JXKDMj_p-;B z)T6CLIkk>%6_w=F^Tl<@KiYQ`#*MaS6wkq%%Yoas-q~1`8g8#@1tB^`ir-^HOfNzUB;UC6*J^Fx$$2l%_oRb_y{eI-@()~pF|J@sBMYhHMR4OlXOod-$yAdxB(vDQxWjQCbxh*fA^Z)Mc=(9`cpf==Y1tt8kNoL7MCbU~ zYg0Me+c}BnaXP=wRk{cA4Sq8WIOl8b5kS5vb9dnWvvhB)^;SK|I|@_#&$y}LCg7UOw%^`1% zUjZH)+821T$xPt39n^1T)${Ree(I0>H)*^b@%Ne_3UZuXdIIv2dhT52_@lssyD0tx zhv+-#_~N%opF7BJjQa(;M>4MBHuc=RJo9ww3jW}8^u4YB>2lzS_2~yZY+VcebAy`# zx3wWZJFC(7$~oo~^vO@5c0O5?#t%8uoqkb}jb#RnSAD%dpRC~4 z)S##&r_w{iz>|Hq)Qh70>=DQ=`zRV8`X=@TPhwH)s3iX$+?0g8`@;vpldVnummZ{e zPX4%1gNIhTAs>IJJoqEM#)2n3oZ7wM+~6cp=1p9pel5GBCFD(4TO!{;Z;FRZz8Ub? zJKsV+c=84CIHuFM$otX$L{%Ro5%C>iFL`LICb;7C^rCI`p1mufJoO zD9G`)Yz6Q{{7LZdY%&S@I7U-HVjlk)@WD;*CjWGr4SD9zo!ksO^A?pa<5%D7rNw`| z4j$LYzmc!A?Tg?Ern>|0v!EE{-9Cz2`5cg$k|6Jk-azZuUjIPIyZX%@so<%LYio#d z>V3OVRFc#3LyHBJ)LMHh`uDVp&ZP;t9|3_0t+ z5ndxI$-g%3_%`g7*7qMycv;}FBEx1Vzk5!!9zr-Cls^@s{oA>U4KAz|&ga4O5(uVeRB)1OJ$k=b5BcADv^?bFO-iC)V?Wrk6Oga(+h*fQp8P59`3Shb>jagb zaQFB)cx*=tsXW9V_`UErMbG@<2fHaexr4ON-}+n_xDD)R&wIJiXxY_M-gkomL_$$!WUV6!3?K6lo{Q&z|x2 zs3fO>0SCeF+dQLQU>VBQjgV={9Lok;en!@dPu6XoZ?;7L(QNq?q$vcwgW(C#JAEd!o@tl3M-?#>Pz{#V}Pr}Jj5Jt}QbaPJ!%qmrE7+*c~3q~Vga zf#?3Be1m6t8sbv-X-kddBh_hrP0u6F8I1N{kF#CUtbQ+xa{hX|GVKHF{ug(jQ}rM8 zyGGuWt-V3fCt0=G`u~+@{*0rMhKKQNl}l^?SKiaO-^&V*UeCxcb-?dxV26LKKMad1 za=!J?EK^eZ@b%D#@1se6{xI;=v`wLwN3d zQ^=c4B+upIyGrM51j=d4i|w+Uc~4XB!9h>2Rr1x_C4D_@oe|DF)}3`UJdBHr*BZu~ zIJt`kcN}c^|K<1eI1mpAG95$0xTxEYEnVUkY)kkMoS9sUe=N@*C=-US1ITY4G%qG|v!x=uY6i zeKh{zeBC|vpq}b^tUDVT;+`Jwy`=bAFYhUssKM>!$^V`@b%5*b^;NvE>VJ7yK2TyU zaJ_usnoA?k`ltF`Mg7w26DV;I@y2+nfbOUE?iVSZd)^h5WILEgoIF<}&v;_%4~Q$~ zVLhc;T{ZC*KTZ9Pd(o~{!F9{!ZttFWmW;xl{qQsBwMKF9}CBp*9Y z{j%l7ZooZDAB24T&*2)L?7`COB|#pisO^8|_m?2=wjX&}!812&A3DgJx*2fuj)oe$>TdCgTb7q8UBGtU>9t9}9h$7AkG@@#xIxC@G$Nvcmef7FYl@Ih#_v@_%r$oy}Y=1qakkJSO)Dm%L}hOOmT9( zA==ga52au)`yn+eihhCpz;PaF=QoV=z_qc!nV;?A`og%wOY?Q&;!h#(zA{GRXQ#Ir zaE=rI1(J{TqWWT8H3{?CT4hfuC{HOC5!#3J}J+|&j$Af%d6Y%_$ zxzLkwQH^uP-PPzGkkpYHh=1uX)jwa+eI=&S0pKy!&*Fn>ySJbXaDSfs!+1)?-GS%H z&nl1gOLd$n_S4`d6*nhG0{5Sx_5D~g>hF^8EY--n2Yrrw?K&P&#hHiem+zVb?LhvX zF5qE5$J#Fhp1s;jgNIa{{m=3yZkN<}=J+plwKU>CzS^VV$(*KfyPiL#;(C6;djt9~ z9_n~NGY;YQKk@>_gEtjM`G9zIBrD@B0GtxXKPT#Iq%7JzAbm z1HZKs#RK!(CO?UOg!vgat2pbEvTrx!myTU9#F@uaVuFT0F@frxQ^jLTsh{P3&8GHi z@oxxs{ZQv+BYV?DCK==0KdvZ`elw@?#7C2#!>@h>Jo$SC_}M<6)}a!6ORX1Wzxp;+ z1kUm~|3#92t`hLTy^o^(@tRseKK2Rmu>OG??MdEB?SS|c^|S8Z-T^KQ8Vw%C(_4Nc zd@13vy)^&N@0F3AFKOg6X#Xp?p~q6 zc|2e_bBk~v$usUz-*^1qRslcfYwBUb}3aTnq4Gc*rlIY)SM=R@F;-k|p* zsd5jcg*1HWCbx!ow) zKqH?lv>f&_56dS?ytq~rRdhN;=RTIIll49;`#- zMm-+meu3jq?WcU}=zS_%ll;T|n%Hd+^*a|jK_AOSdOwPte~aQ_Gs!dV>p4k-r+3kK zz;*T^;NG(&&+%qiaT@U^xLSjs<1^o)74Y<0!lnJc!Vd{g4)HAB+l2J_g32*JcR%o8 z4dTCDU;g|D;}fAW)jRt_iqCXKFYx3SwZOyUnZ%4YfQwnOm;IUH@v6Gc%l%_e9q&cH zbCLe)`&wFUH~hz|0B3ohIxY?C<<)Voqdw`${j5hFXZq$m4IXZ9Gfh^ZJYYcg+`VDb@ACX4gzfKhXosaT&J!~ld@4U@m$m{1la#eoN z@che9<2sh-elwL+`zdFcsG@gdYAKAj^>K2WM_t!o9>y~cJK7(9kIroEX~+})l-{G` zb<09ev1wi8n>tDJIr#%I@Gw93r=sQ6*c_k&rX9sV6On2?RCu! z0C&{8UxO#5mca9^$X?FZxr*Lv1a+S_^VnKVg}n86bq$a7RX^adh7`BVBV8&2JaDBk zji) zP!j&z|5_)}IqLd241U&gv5~w`<7Y!Wm!7Zb-}$`az|3hFKj`^|UrL0G_#O9mH^g1v zx6$x0zo+$jL;1+)tRbEnH$#Ink7?5hL)<>?NlpLG^4{0y8RLC+EdO7-SUx0gur|Vz zJ6mh|UzT^?^_3wWY+Oat&$7I(R#$&rXjT;`|;b?tEmOD9G<|S2{)&Ugv^A znE%oH$DTWiel7fN6_l5I?>&%b9)Ce^4Ns&Ftw%Et>(BD()H02{Z_gWs`Nq!uX^5wL z(|Wp|pXY7FA=K}C2KI!WjAuW~Bj3PNgbTsr8h+L@Tc!Z>QOwVABJM1w!C9W$TgT;< z=r3Z8+aX`eTN5?%%oE7;)!=#_(=uxRodes0$9n5M$XoKX-o!k?+A$5zJm&li;2~Xk zaXTMuy9e!dVs$Iwk@kb}JXp3;X~>(m z^a8(hj`mT+{~-NYPk%kaZRaVjJR_(-^7KCm{Ta{xLG45O9PQJP?x1{`CnV51onD^x zk1R|=AJffI&?n|SgZK2=UO-plAggM6#to; zi_jnCmk^Idz30v`@}?mknK2BwOI}wI1$jUD`xBv$&wB*@ox9jS&@;BB5O8OX`lI+w zwccGPKg8~U483-hxyrW;SPs@>*XEmrvsN(JO=*AiqYVAnCLu&u&&>Xy#FQS zO($tQpRA_p^I8v#2mT{3S_#*cW57e>3cb9&|4>8uNTHt$`Ss%sE?>+1e>6N+wR}zA zg)k2BRHz7hxn2j~ZV%k_4b{hhi^|v1gT^h=mt?QI6TL^|+RZeScU~)t@rGVLW*Y)r zJWBP;{0`OYK!s|+_2uPWN#h*-xFu!lgmH+atquCe`%t+HAIvty_2U-yPrhz-j6?jV z$zIP^s&|&p2N>esS9Svr4WoQL`^zIvc-*3otNeYotu_MpwxN1qu3Z{D zmLJoGxUEZ5j89BI{EhZ1sP0$KefA>Z0>!^Y9oJdM?lQ!^C)%!2^fBq=9W`j2qsL9n zH$z@rMD3Dov>AH3zoPMvyC?b0s;(oOx91?QkE_^*#%q;)vsbD9I)0?`N{gcmap4~N zzA`lYy|tqJf7YhUqLQ4ZKkkO{gZD!V%02ZX^&=L!UMat4FBQjlgV%Ez=lw{$AAs@5 zESf)Id8w%b{KCm%;E%mHF{<#gyl|QLnJ3or9OOe+YC=B0ko4jCnM~Pr&?h;433xnZ zLK=Cg;wa!eUW%`z`5DvG{eg47lBy@?%kol@4jBIg_Kh*-IchTrokjmMnb zw07~nMCRx5mHBmgAGfXV1|F%%Yv9k1c@*}#iVx86$9vN_Fr@M)n%^?Cm+j(tD$bY3 zGu{ZT>$x8usPRMSQJS|&zN=lw=XobRk9eZ`dQp(${VURw`K8QB_$|3|l7^r63o#Fm zXJYR!22Vai>)OndA3@_T=5d^(eM;<~+zsNFey91L&{UdVV*X4``u@wBx(WVt+u6{E z^G)s93f$e=ufa3PQNRQ5P6jR>(C(W`O;Y=DbziYqo#wANU*1f&Zai;JK&4WoZ=zG$Hii=lB-gc1I?|5FwGPp14U-W12WEWBUAZ#fMJU8ZV;Q0;r zBW}gHy$HWcT_04()sa*~;KE7zzA4;`+Ijb^dx1M|(77L+uk%%E#}bE$UnoTU$={nm z-e;xn^_a(Z%R>0`W1tV?k;jO~{#$99?`l{QdZxzJg}l2R>BHk^`{_2og$~6a?<;Z{ zSc&4aU8PABMc6huZI0DXy$jM``$zD!(*N z+a6|@OeB4}pG7;6`c<9(>`eajfAhMgePDU}GpE){g1nElBK14&Hq=fA4{tEU)78C( zxVKta;MO^1Hi$A`d|aQXB&XtOVU3cS)$xp}u|KLjyG9(rIK=)ojZeH!QNI3@3k~tq zmRlJAq`DUYzqdc}QZg4J>g355IeQsq#CIlLOC@eBjoLz`KRARm4-uZcsJxBsD)kE`(+ z|9%bRlV>Py6Hn8)*LM%ihcIqW5r6!hzt>8FysoOw1F-&~7BtVp^2}o`tK|{@OUrw6U~!{OKb7? zL<@MtF>?*&6D>bot@we*lacH9L*D<;fv|$}xHlB73fy^}?j<)>rS~t_#zw%+AJMuV zkDr}as}Mf*GtD?W)1Ve`$Jc8Nac8O4zzS}SuO6lL4I@mH685_zc+;sQM>J|_b1vPe$UFh zuf|~&9o~cDDlqGyR$j&Bdpd!8Q?!o5?`6_1`o7hnzORMrQN1(QrS)rmZ)H7&Nu$t? z>G9Byv_5_tSM5!ub+~G8qV*kG9#!7-Bdz;$JLa81ev|C2H0_&I=mEq-toIqTOFXZV z`o28y@KfceeN*RWOefTSa4D^8@H|gOuSyK0H76?|!7EkhgqK z>p{$um^%@;r*8%DXaD+Sy(sgBZq5SkeR79?mX*-y*zK0`o1T4 z5}#@3+5Elg0Jl83W3eR2-$mb`e%73*2Rs?l&YQ(<)CV5eqn*DBpQZYn?Ydf1j^=Ky zAaD8Ixl9t|{b=g^Omb;w!fPiqcuK|H59;PgzNCEZ-WiB#S7r<$C8VO#M+()Xrm=){#GhKW>3Mk00zuh(EbaJCBi6^+~?2U6&D>wL-r6nN882 z*yR1)qMX0yu^zy~_SL}6DjrgC%f~50JUOWr+PCy)#3QNlsqrrW_co_^3v{M_IZ=2I zaGu`?7HxxkQ(u)wyUp!$ev}KiYhnjOJXc|sA#Q4O3b;kypCt-%J#dg+$sDcA1XR1y zDsKHwJHKI4{T7<8o!?+Q_qcW*gYm!+8t+-YEQ)+1%P4-tQti-xaX%$>Xa&10leF_5 zsSgW)hhEdpW7v*UduVqrUMmUz_WR;miib%4s0Meacx-GN&A5Wc55h(5cq81H;!t>6 zJAUTzjMQ5@USfVnb?rFERGoOlo7!~>mJffReJ|kgmH(*reOCDEY4}09OFRFc`HkvV z`1&@C>-aszbr;nae&6Ts{&+tIU2OH}AXis^7~b zW|N;8cc}Y#g^E-z%r7qf5d8XlMfH0MJ#O9ktVW;P{G6}uyqB>XD~A;QB~>5Zr)U3g z`w|5YRvsOd zUBScp_-C{xT-~3~_|@NO-#+Wfe&g>D_1|eaHq!SmJfFbw)?;sK{KmNX%wLAMaQUfa zqU;wgca|5*rHyf6u_2zV^6+vao{VF-G2VW+Aug2r47ffXvQ;XsQ1}^V|9jN9wYQ~s z<2Xqkm=Ak-UpM2zZ1wvlHBNY6ceeihuuFWVN>q~bVce?j_hy{)W&h~oA>V#KcsL$- ze<|0ajPCmm*RfrQ2gdn3qm=sn5r1dIIM<8hmp!2;$B$c$D}DTg)$g--ewE9YzqjJ} zVLctHKDWPzvJJ$zh2MjC9X3?C32<9$ntzV(qm$+P# z?bUtw>US~8WkpesBJFc1$523cS)>IM*SXv>k-eBOQYIp z>KDsPvsP&I=l$CP@852D7xZEIbieDyJTHBt;bFTn=ji)2w(B;({T%G&?dS*VM?-a7# zX&lJ=FvAg=ca5E<@92HI={=73J;nu+&x|et9?ANKX8y|D;BMe%Ki%KK^Ic~3y)yH< z7EgAd{=yfyX4t-^!sCH658pTHedmEik|3W$slK-|zyGopmsEcH$qO1DvwCl7XvPuX z{C*cG7zO>)65SiZ{QRCM^sk3}Sw5Mfau0U9so~-M748xd;9=c&2cEi>@Sdn|&qd)V z`1$?Xm7#ed)5?v8`Pz2X*Wj$bGjd9kFR%Nj=Dls0ugBZ~IOogn_3;*3ob~bcFAn*{ zQhLv|j_C%!IWBB6)F*x^1f2cA`uJNn(BS<2g{8B3iBi7$`G>$XEgn?oJz`gPLZ9?< zT8|S4Jq>*lFHF_qU1;6P_s65aSs$~yA0T^oGx$xvZW~x-10L){^Sze!S1~VPcR4kB z@_W5|^JPuG4mIE0o@p99f0*J;daQ~@ANG%H=%oL@PF#?v(QuT&(y|A zz}-<=UkzN+1*UggX;1?6j> z_?$*h)+hcb&9mwCiPz|$kr&kUm++QX4E53P6XSk1HcC5>%KG?zm55(Hs8!cs~S9P?E^g4)&X3vr@USQTwhOv*FBgI)Z@<9+WB6d2M*SxeQy5WNgvy>ddN5V z(@4X7y|26oJmu!R2&SbFFE<-&{-PHYc>i2hCUe+-?kuT4av!0HpiU8O9-17 zA9^N!xMY}be6QBtxZ3`tJE-5;sr&aFU))3GK2xhtax~4``$u*%)F-v?Y2e;_slG(i z`jR^H!ZJztcR!VDCh-e>b@{fU@k3%Q*`>EPzfQX^F|oZi^c4CoG0Zo1>T~3)k3;@W zkk_YJpY&_vA#XZIap;WF_apgZ-y7QN7@?itj#O_BeWXU0ARlU99QDhxo94l?g=t@+ zULVtQKOo;smr{_=x3z%Bzkt4Hysf9Yj%K@B6Y_fh#7hT&^L#t&lRfnaaJ@b@JKd9| z*T-$0V90N-s@qqo&gGo&#rEDTFE%bP)-aWk(|gtY4;CUxB*ypQfd)9Yz@ zmHesKGc$gNy1qi*5D88ayv_i7NKzb9Ap3>&g2i z+@EeR^k@G5*9`rce0JnYg-`EKv%4K|UiabkR@Y!1uC9l=BDFR0>}Qkt9O>V#0_vmv z49)W-SFQ)n>rmeIG|ow1A7Y3H|GsEwmvukgkEZv(rRWTeJ|R_4`>Wb@EB3R+-d-bb zDnx!ZHKF}24psl$DVmRp6y2cFGj+ljRs5KEtO0O+oLK7<9{!5P=l;z!J{LP`*S~mO zEHzTQ-zKk~^B|Sf?$2R7(!2-s=XE#Ux8o?L-B)Z=-*;?3o`s(L9>n{i;}N>oED)ys zRPks3#QToE-tm46?_cyCH19*^b$?57x>t+W?`+k`Z>i?mean&N)V@h?#WebxkI^{L zbN?tq+%Y3*=;u%wx)08J=?2C#(&MCmc#U>H1M3;;wh#R52Y&wwZ7sS=DNoj4tm%&` z&(3eP`>R?1$a7kI!?BT&H#a2x_58vnw}zkny|(zq z&h!C~-Y)Ao!XvtR5xhgYUxn>TwbJfacP*?1yK+BVGSolPjLL=m&-VJFT6>dfdBsDW z!Nc;m?agY}oqcLNWQ);yx8AOF=Q!-m>iVzL=i2=_+4m|!e{Y3pFG+&@{-Exwcdc&- z+_bbUa9+O-s^#KrepzEL>z|(XsRm~~#WzWRyve!}hXp*pS(7QGYe^^7Of@tCjnx6m_N@gevjcZl{^+g_Zm z(Vy*-4m_*D*)G>5+Ml2=m+%5=XY_XYXH7A*D=~@UnR(bQ*SOixpZA-E8&-h-J@vHv z7Nn9-Qn~zO*X&!6M)m?8nxeJW^VAsNiT&?s{9rmZ8Mru;>}7qp9;NquVpv|WDmxAB z5?9|cEU!QX?LIoT%h5Ru{e3T#r}4(72GGYf+iPf-r(sb`v!PqtJ_cDUH4)o9M zpz}R=pNXXr^}p_qw0>ZFeWf~T{E!|?w8JF#8v%4;ErXzpZD$iT2eeaKANksE3Dd^G!56_l4`I0F!@1muXSWG$TQC6Ff4`8- zQ2ew09G|g86c3EEUH;1_4ebhT`~~OazBo(wx`;R5`idwoE*I9*IfBkR;_n25 z>OHxc2g^a8^KVS_bwU>+*^U>e*$M| z{>ORdiM2|-(CcsiLc5K`mN+faYgIPG@|tiSL{Ey(ltJKpEIk^j5VcRh&^eV1hadmM0K>=o$A z`p4Ao;BwDw(coMznc@>QIG2li{Vl_CiC-{5USBTBdY>5DB|NJAE`#?~O0Um^Jb&L5 z-qREM`wMBmW6B<-d7MoceDHnBSNA=O zecc9){ux!z)Di9XDQvI*hSuJ|I}>5AIjpsd^-o`04t?}`2J)+cM>f-XO{h2Rleeta zes{zBTH}wNHpi-AY)hjja^;L*#+N^8$mzO9eY#gNBzvlnpN6`H@Y zwxIbdZ_Txa^7faP8p@ltX!j%Wch+Gyowuyl-~8<_;IS8@?{GtPDc|%g`o2srF9xc< ztoTzeZ~a6)fB4G>H;D4@e6B+B*BJH-nOdD&ui*Y?f5yC`f24)>5uK%W-t{fD^Re!9 zue~sr-mm!_FkvixhwCa$-?t`uQn^Tr=)Ox){jOi?Lic?nTYm)pP-%Mq@^_>6ueiKV zLX!1xtNVDJYlw&UVEZ9zp_i=2X((X^YDIA=DD4(m-c_^_2heJSRX#0 z-(SDva)qDI=VyIP>V87j=QjW3$;%XZJ-=1G?}qtVPu_pXdh)(d-nXCUbFI~T1d`XQ zK%e9%)PJ#_URBTBP#PEA)@SiiV|~>7dRQNhPoKKKQ6HbY?~(Q7b9((($3Y)Hr@?jAp)d^umP7ddtRFrOdJ`sBcpURPO zn|faZ-^*|t&(QhFu9Fj^lKg+HkM-DQ==mRg)O(;VLkooy%PVqZ$haM%&qC*(eJkxEitL7oxOmwy_|34z-WzKe9nCML>1r;=Upfl#wEt9 z(E1nKo2ycRcvQO>kEr{)^?nGce&BmmSRX-{VQ4SkQ^xjkIda^xUA#X$sqPOC-7F9N znLpEhtD(I@@4jTO&aU*Oy1-d~Z$G*hURpO8cqY*u{A_PXwU_U|;Cux&PPiQ1HB9Ko zBRl^fcS0Y=1B`E}Nq$hzSC2^%;%TnV z!>IS{NUFW8Kiid5%U54s{9OQ-i&*)7*p(`%g>v*hLE{r{KP~Eg2TA8WnsSM3eR!29 z{QI4bGLI?A&zVlDy{ev!hgALJ@6)_Wc=RtAZ@8Z64ZG54=5?0;^@JOvA& zC%0oP&)*}kT^w&5pX`5@j~p1T(Vx$~&+@tVEhr8dw-l)7;Xl+6dNLlH^cZ-oZ+0gA zRX?OuKd`;*hm?9wzEhna`&S>T*K9B2d=KD%>{8>C?c(;0%U9nXMpC;q_VW4vrjHH) z=ldoijp+UnXQ3B>=MK?+X2$cQ8xl|3(HeVA73e-Sy?*{=8*I!8sEUy@ieJfZq$ z5S1_c!LIrzrTXDE{zMn}$NTOi@cgS!G2rY6#<_i9d)cmx!$ba2@2O-z#MS#mgpS(! z7`WEX&|dGucLNtxyZAl`;hw_4zvm`EonM_Oe~Ua}*D(Kl{Pg{S@pK zKB4$zd;Jx^g`Oxs0ksO3@H zRW4uV_o(;su)SPfKGj~1L$=F2iu~X#NACrU$5nfM+kMEF{TWEbp+BE@cROD-&e^V9 zUHZN<)+L4V3jav;k$Jd$Sx@HS_ET?{IQePA@`_(;30!ZN^A_QHyE5v%a%>mdoAr?& zOpj>acliELwu|-Ta^&*j_S~x8qm;bb;5_hpdl9)nBhq=-hQp{P6fh zJ~4{QMK>=IIWPn``Njn?S=4*|xLi0+B5J(p^JP8tDg5R#*)5LybKd^ivN#mc0s(*4B#W|N3=d1T8-yf~lhwsZ~e!l-Jxt;Fe4SZ1w zeqcSVN9n#rySJIfKbiJnL;nOyECJ5^tf%AHY~cF1wH}*>^3s>1!1?O@?LTf}p9w+Pg`F>k&S9$&|q~2e~^KZ;AdQ~2E zyvn#xE=K&i`_}n>dDfrjAzhQ(LtZ}*DXKWjv)`=8#;jHJXTNcLnyb=1*SFg}_5R90 z!2rnT)%)Q1-2O1%`=;I(z_@#IE6DRb0*t3#+G&W3%&*>q$?xNQzcAlZ#`^O;#q8(s zhji~`T)kH=vzg{|xE%|f%fdhW{>y%5e)bRhA=B?91p?Thx0(d0vI{weEZje$eMDsP_zV{bhT(yx3mm$+VxN;V~7bbL@oyp90T3LF*AL zZ#i>7BQKGXF5`d)j~9(9&n(a93A3IyKdq;vw%vk!{7LP5s33G*C(8e?*E4c} z?(1P5-|-vkm3+k7bUtuqBduq-+@AyIdz8#C(>hTkmws81&lNd?^{M2k->}Z&>Aw(o z`jB=V&^LD&OJ$;0pu^CbSF`{+YIRs!xlK=V}Mk6(e`R;?EK^KFU~%Tsjj zYx?AQ;JgkfT=PPtAtNboH*VlV8 z2md(E{E2dLKX;7y)$&aYE{l9EkAI`VC5!faCuwM_s3ezTahAfE%K%a`T3ozag!<&{_s&+Yq9)po{GgZ#D+RnG}zer_MQ-?@#e?H=pt zEprL}bk?Yhd}9L_!=IVDe*w4mT?^b>gx>dAA7RZd;GRQOAfL=r{moXPel72&IOl#r z8fAq%_Y2%^r^-_Q%k#jD=T)5hBkq55>OIuv4MmYJ+r|A9`!m&_?js9atA~8U1F1eT z9y!p7^nXsvLyDCDeOSMfF}(z6U&9g66Be)5fnB1^FEM52)R6 z|48RTCvVby-`NQi|Ka^p;OC^TDCFHM>0E2}o8`34!O*H(TcBD^cvybp)qz~ttadgt;8{Bmr`t$f-+D-X#Jn(!M z$3v(O@#n>}c&`jB)Y>a9-lBOwjW2!={Qk8xufja6k5KL%$g>|U%Vg zH!_#0U*P%tNNwVG@18{Vu74HtA@;ke-R5}`yYqF;JPGH^^Fo|2&okuI`C*=C2(EY? z{NV?D8va0hK5%ETnuI559){;j?WZqd-jC-?O*;y2kd*lDdz0or_mMwiSz3qn`bvSv zboE}uAUt};R~&Di9$!M9 z-`ftX93Rs5iXH`QmMwk-37$&Q~h&$eO&bq_iLiMU*-1rsz+7C zTSh(Cj_Xly5b2px?_c(>RM$Nd|G+=)>VGU%{18f0{jzK~gU9@4aqKtnd`*7fbK6qt z`Fnh?di?*``to>}uJ7%rDWyo23W^jZ)R3wnwCb3nrcgBIs41x=gc_oznBU}CXZP*$`}*g8?&G=7T6^ua_t|HkbJkX`YohL= zh=Zj9t>3)vnb6lQru-N2(cEYO{NMN-+y#Gpt1bXnj?ug!@=6)p4Y-J#x!5c4(|i95 z;L#@~{7SkVeW<-Uwf>}NZ^&{9`qtI!@jg{TPxt%gaw7N~}!$LG(^b={HM_(ie z+sz7ki2p?XsPCbPIEXs!`U#{X*CieE zb*hhQ_;Lr+7xmb!FYv{=dxn0zUE%I!7oi_k-hoc+ViEL9sICG$)NdbfUvIh}5$D}F z7aa$#|Cz?AsC%Z@l0U*van4S-<{#u|2b%wl=lFZ+;`|-wt243A)Ro=I^u;+oo^Qzi z6X*VTU%@w>J=-&HcGmC_9ZyW$FD)%`Y_1i*txx)N$2155C-N z40K|$x~@>a`*2sK{uO?T^N%7o>3$?p=q9e$;yWPE3w+C`y`ZnVd=dIdx4PeTx(#rf zc0F*{O0p}yPto6__yoFBzXXPl!S@d0yE(;N#h-4c_#Q1hjLx$Y{usuu13%G~+T|)n z`r>@3#H*)aS5oU`iF2kR3033dF6^R{$rxxO;6|Gcz6qF#ac-rs(5E^y(e z&==>0*~ZX#G@EEV#(%H=zjgLlfQPyhU;l{e>_xT`{-VCIs~ddlOnMJo8J5?d_AeM* zmXZD`>OzEnAL>v4Zdt_7K@)x|{YxanN?+=XZ#@6XF~<>kIwjP|t&V zQAfX=*FO>UH*Cc}`=9=cbLd{w(cP!^{-5}?h(Jf+qFuJgqPgjKh`KHwac+ouE?(q? zap4|&8+>v8h<+u#C!_6A0Qv$K=im9fyl#xB$1cw43*F`8PMr4_I!)u<`z__ayEE1E z5$Bk=`uFg|?;ZTylemt)SM_yV%-WSuak&W9`4KviPdh@#qMl0_KgI2ea}2!!@>74B z#+SDBpL5dog-$F^aftuL{S>&V{1@Phx=-R<744H+3>WpC#CeMvb$%9hgI}~~d~x2Q zIRDXblI9cR4w_Gty%=y#FlrdIr%M}a3wy+`eOPV;AME?w86Mfo|B;(SKCjn1PK z^~w~rUYR)WQtnG}v-@d15Pq6K9X8>Q$V0ltxwc))E0ZmwO>pVp1!*$%$cN?t6bei!?$u|9O3Z0rf0(<j`pUt*n8*uF&8ZVK_W1%0;|AgV10qe1jO1_jA{sdc49D<*p0&cs#0(|c@ zS|>+)6@pGOJ{f#xE1I|UHyaY(llDaox#;<(oUilDbo&AiMuTrquY<|{Pp7AG>*(ju zxAc98>v**G3h+Zo&X-1h2wds@6#Q^e`mRT*Wki2z26J4RIfVM_mHe<9n5gb=PwkC- z7I`J|+~sdZd9{-EX{}ReePuH6b4Ue0G&BOfFF^h~GRPmx(4U#U=r70q2MiZF`qLw5 ze66B$;muiee;wIJ=bVc9M4V^p$vFe_*o*#qua>6yZD$VZ$KvYxJlLJ_g+IEoCm1gL ziOqS9;ezkJLG!$@D{xbV+2DuwzQpXBTKx@NyKoe6$22vs?$p9{A#pMvaMLX6m-xW8 zxXxM*ybIj2i>}wU<&&|_ac?UET;4@-*6t`dKb=43SE#?_%QU~)A1?xK*jkP37Nhr6 zlU*8RrTNAVWH&gQ>{_Cyfcv)6zP((4{IuWr6zeznU@z#1^;@KU!R)k7VyXssybtBA z^QW2%(zx!+oWQ-W5bnA01bDDsHgH2JTK`8QKH%n@Er84Rm;LF#x1OJYb-Ss=Ea2k4 zz~;<@@n~N_=RS-3ph%Ndz(Z{ZgD=LfaX>EMy2I2j&Z2Z5XZUA7;Y*_6TgESh-NY{e zjNe2r7jQ9O1sBu=?g@_sF2=ibnf6Jli{Xe`JiuK{`$N$U+PbJqP_nF`i9FpfV&2fjxSGl@DoKV zWTyFIzbJUKByi2Pn!pqNiu#q*|0_qyu5I2~;K44GCy7u`@b$y#{c7hxnpeFa*nv9^ zeKKE4{k_=tv#zQ@coBLZSm1#ZRe;Nr@?@p?Vjt32HwW;@$*+J%o2haBs~2$nz--`R z-!-s3KXA*5a@f~3j-WW0KllW=CzIa839I|SdiDLE*z@iS(ssr71@?%#kJQWrJbcLI zS5p74R40GDzW1`F)bCO^HJ-)Zg}!g&Y|^Qa+pnblUp&W;PjV7ovKny9)Ux2)FV$Hj zrFgNN6gS_O&(L4K=4%$FapPc`56#VA0^bpN0v-2EvKwD^7JSpRvy308LeI189fvSn z|92kfI5ijGfBc9#pOm`@9jA8>)7Mvu1K0jq0=VF7*H9cxRSzM~A`XtNS4bzemg&1Z z%Yj>Ftz&qi>jmKY5%j#^U!6(UfydvziT)M+s2xXmVqkaHzfw-p3AeSdJkjPQT=&jN z?SG2#BJCu8;8}p>zjeyr@YD5ym5n>^`fJp#1u=|M zF&^c}IpDDY_1O58ej_~8>=(=fV!Uf^5+42MRW?7Ew@{vF56{3nBjyu*onq);Yxx40 zmtq@e{Ud)z{u>8hWAjz=?mqbA%=#MNKl=7jUg;Y>1Rl+3!gPFB#sOFAbABj)E#R7_ zbe%Hv%;#59`D>VI#XgesM7@61rR#;R=PvLgt%k65T4c*);PF|-F%OIDf_u+DxW2gS zlmxDI&^pK4dL{JbNqe9ZI7yTa9{7g7;Y&`-}UR8b39SVj`e`^at*}6JC))uSG2&cF3)1< zi1mO}xjAs>tLGVRdi^AH;*&YwtfBfUp$(jGu2&xXM1I2cLnv<2s;{!r?Q%6(1%0ue z3GW*X+_U`}!!iOUY{-ORgAL&K-0_qomn?AfbFU@y;{fycb zC4UmT?qHp!oaZ`@$K3N3c#Zc&M_T#<+B-S{dhU*M?){tS1N>H*J0#* zoANqvqn_d;_?ln8!TR&X^{Vg3FQ6Z4^*8K_^{4rL4RD*`8-@qRJSUykuQS{})&@Mh z@&fRny5830+cYQbf9(De;9@-=ZSWm%^Ha(zfm@C=1g`s?wqF8nu1f6{xNlNkx<7h}+9hy%mEE|{vR7CLyW&1e z*JlUtVArz@cP*iFC^UVEFYe>q-#BNaig7PuJKrU2Cyv~?%Df^VI97JT<5?q_Td)n5v(eIaiBblK^+Djli4V!leG z-hWNw@oghuSK!tQX3Ue)96DEB%%9%kdw@HJTxId`jtBrZKjD1CH-BQ@cGYMIeKG$B zimt--!q=bLE3P}{U%$fjOWx%HU+h2FKce+gxb~aCHP`6*n*4TE@Iyzc0C!qwy=Oa3 z^%-=dF2GNLYfk(_V0;r%Ipjs-@zoij+=7~2W~E34(kMQKN9;T8+c&l zp}A=tvEB&H912`}IcLUyanlEMzZP*`04~-u&MAvX|0sPoD%Mff1H*tDrkgU;I$|A_ zC_Msra?l0ff*&mrM!P)Cdtp5me@gSYF7XZd)3~Rc))DJK)6@On+xM=*dQXfy*Y*kE z$9}BH_}(He;3gftevEhc&bB z!XJ(F6?6n&j>^CddCFiNuF*8{D=9U@2jq`VH;wgg=uPUc(9Hl_wKEyWO z#{3}gXqC$F-~9)@7a?%%GSW9sZiD$jqal6GjeFq7HRUn?h`e=vLiv-lYM6fDN(T6j z6GK#fVZV~{%KBzi(%C9`fqQ;%vH8%lye@D{y(tV&7AC$_bRXtPF@Hvz(fZ%m zUtzfOc9iD-2Y+K6iTU5SlFl=YW;|x&C~*IC@FU~@Vf@(f58;n#nx4j^x=x5_Uj-hE zZfAVk=gXmE`gu3QJ>{z7I%R+L9@7c#tPXy#tWm{jTq4sg zDzC4__?mt6JUZBImx_}=zSnAF{h%wOFuuERTRGh>!|56fkG9JM-!r8W!!?)Z0+&l^A9foqx_25znQ59{~nkuNiq)L%!o2tO%rWApoi?_M#J>4ztd z1Md5~qKZ=-lDglZ6a94-;|Koo0ry-;FuPL1iglfS)?B7z9ZhxPW3Taih&!aXMFvn3E;<8bAHUX27K-JJ5@gAk7@O8!b6pr zPEfI8y&Wvf*N4_{Y4DSVDon?7n4Z_@FW+Q3)*)W#1ZH_uT#eh%6~G<+DlmS0`%wV{Qhd-lH(_)pG?lieTu!$Ru!i>geLkh zZ+Lo%xRIaUBYyyw4u+XO+FlQUYw`|bxK2B6dfLABTsdaf=&TF7@y~u_{Mhx}xG#&I z<>NH=Lk+~o_f)KNs9nKM`Oz+2nWs$0{dG(9OJF*EpCZO-^rgng2gB1{j33HH_rIal zEf^k;1d+Fq_FP9hWD)Yy_tg`|cVwNR@z^NDaC;do<`d&a-d@|1UYPg1Be+iZ&;gpq z{<*H|P`_xOY{NYK#-njwDHT`IF5CXbh`+t{t8@N~d&X43btJwrF!#T>G~NQfQK`)E zM|`qte@HsY`ad%Mt0OmV1fBSpjtq}iyazn8sC4Fk`PQCIfXnU2sQT28 zhE=p4)1J3y{g-dJu@~*t)#)hz7k7Mq8#>8}CKV??ov%~fOGBZ4Y`vP8Rvzs#em9Td zu7yNs8#c9q{Rvvp={e-7YMvGGht8u}~zPxh_P+7;gY z3$?3P`T75Cmp;c1;1TD`EN;QrPT*QI)z=dJt|_z+xG(cZ){n;b=zca*F_Yzk;oaKE zH^YLDcz$NS2OamGdMw|pN9p;XHP;8MU6!@KWGb4}e#q>GOvhB!g>e!1xh=!Z1OLLf zi{@y>bZjfW$2hfz8#6rIClh`KwIvxI?>=B!+OD?K_pBdvJDX$Pu&sN@aBJl%N(o2jr|D86Il88*vE#%>D7aoy2wAP=)iOHQq$K z0(p$AzZ_+Qz^%*6G2Arsee{dR5@NWnQ5o>V4O+8t=gEB%xV_JFHeO`^+rZ7jS`TEni}JqW$DmM4b6b!|w0aFR#TaV69vAy*! z(@%WY33lV(UT6K~dU-X*k#kUM#y6E}j_bJgNnYlU>(UhXW3G_J`YZCj0)6k_A2Hlv zqVqU3ft;-0H8pm?uHmYlwM!{G3OeRlv~MQjBcCtgNykSju$%d*U9lEanq3Sx-F}Wd zaeR87;qELm@-4L5!Em$oQ}6?eyD{9?zAxfn+%}HI&9u7%@c7m(EN<~UXP|GHDzWQ$ z=+qMUZ>o`l>!0d@xY=4K7~fhZIyv1g$+w>2fgEn&`X8>c{INeAfcy_H{+Z=r{9*?B z*S+!v!?mlMfUnP0lKG$5K zKYN?ux^ZpMU&e*2SbH_)-hrQnorhVwJavl!H;u2x`L>^sx5|=JtX-i=6)wJ15kKpQeh386Gpy`rO;&DI3@EI*TTxi@;_0%HyOe%aUgy(MW}yr<;IrtivK zdFeZD@!p#KR>LJqikDR1S9Gg&Xp>9kFHYmm(VC@F>Zf^hhF?kjRQA(*K7ubT83{aI z>kshlI<6ntbOg9<64x=6m0;Jjx;^vLJ#HCr&4g;O8}FM1eMi=tz&$0YUbOJvc0Cig zc>gMXv@iJ5Sb8tWHI&YyHy#}i+%RJR_}Xct6WqEKcwl^gvU}|={7L4U3*5bo>P3ex zy#;?Ft+Iie^3eB6#@~q_>OBv*_2x$CDA!2eyq5G6ALqq=t2RW>IxasVMJ9i;3P}bswQR28K=)AKjfsl+P>qbKc;wIPy7ggZ4SabuFBGF6NU& z=1BM>o)^0swjkWX_npH2p3s+W@%<(FSRI;Yz8eo6@%&oA1-@e&<(uG3n`qtTcwO{MVfYzcbrE)Txvs{?@UU|09jv`j^#(L~>GjC>IJ zW*GH8aL0PF-$nYyZWEznm`L9R*e}z#4z;82WnQ#v(~tU}cFo%gWTox8R z#q;9O@phQc<(>3>U!d9$zmihZen{_YMSA{?evvE82A&w$2>ci0DOuiJn*O`^9Xbz4 z({={X~138s2+&-!T0b- z*M#O_T^)K4)A{#zz`alCx@O%Ff?cU;1h_l22s+WrIe}~2Q2&bO@4ALHfJX;hMBK#p z1)<%g(5~R@&!J=eknCCyQr$(Xb~NzFOX|3LMDM%0hS2w17V84owX1bhjCy(>TYT5x zD@fm!YmVumV_G>Ed`r=@@F#esFmTOk(g|#JApV|@sozCE>i?j6FX3%eA4cfM%v86> zJ@F*kC3I{hsNRnKF}=qk>_(rGjy*90e4*ng^&I{v+0%hLpSa+6!A`s9rN zsUzw*37yDziho?K?-UqE?X^Cj_X@1t>Sw3hE8c(5UEPj(!?I%&aIyd6?6?^IYrf9I z_`-ite@xgF{>QJs20w-Wrq}2@AVJq}nI+?VDa_`q3=%Gu-&p{IuN{{S@^cg`XmxQpY{;N3_>)h5AuC+73G6{TUHA zQTOuy=%{r{g^u%0dT&QIm-wGL_Ucq8MCfP_KEt?>OB>;j{WFT2?!5XQQB$frA>Q*z zHc;RHne@}VbbAH!WY~1L$Zo8e~eTzmGQj+^?j53cE42&a<#9;_O!I{EPT_$GegL!Ga~BFYF2( zao&N@5%txh*4kuOt*`FQp!Y@$TdJ#m(t1FbkMbv|*7i)a} z9eEI4e~yxNcBTJ9q9UK zTS@PsIXoX?pFw;VV|+^IB6&hD>~Gvr^RVG-jGz3I-b*n)90***Aw2C5_!CmkN%4L{ z{)qU*-ztlC3IF4d>H4UzUmdv8o&1#dlb=d`+9wfyYI{@s<8^h+uFw~CNQA!o3gv&; zL+6G>wo?8_-(G+`Oc+*T|3T<`>e2gh&c0jJeTm_S=fC=zSriAge}%s1(R|=S-?M?{ z0eAE3UMbbz;{8DT&|`>?Q9Xyqv`2=1pa#u9h5=g`U)VJq*g$@&c6Hq-&n@bCH(rMt z=fjlG0kzIa>N_jwd)AMqahIbe^u_lG*1^AFy!-mD0WRL#`Pc5|zRa#k)pw}%MufiL zht^!izLSW5;34_rJ4^3R+KObrAHi29wP$?uVrrMU73mm@F9bi_jJ_9>r$)dRxF+-j z>-;9m-evwvwb~=jHGjzoTzsz)nfM8CYu;~&e~7;C3rr!qhHZ5Il+f1}{{sB-v&t|X z@%@okoNraM9sG=UB^|9AH_BcNA}@r zeuicO_wAzm^i>%K9e2Mbz(rje=}Y1}n$bB;f^Vu$-~GkIFM%)e+?b^AnsptEGF-cB z7W6f5(enkNA3U@bej1wfXY-+_3*C2w-nt1LT~Ycj#yg@HbOHm3pIkw8Ho~87C!NuB z?uMAJLJ_KmqdQbCQ_`f?Z`;NoZkD{YFfOE))o>jb?*|%3PV`4`rm6d&Vw%0st@ z&J7WK`TZFDv3H*eeXrLAedFuvfk!eoU_K8Im=9d{4%PM2m;DTU@!emv3f0|;?>s_y zdHOEc-2W-s<^6Os^HZ<(qd`5-Lij1_h9&2@!57~N#%**RF{}0SO@k;;oP+woPiNDo z;EV4E6CN6mzPIRn4QE3dr=niH`>*e?o{4Vvpj{Em9{A~8auK+Qzp$%qL+23)yV}(^ zU|0Ws8}NO;3D6OB;oNn$02kjUdfTbhf9p$H4!$F5fN6!+7T!;0s*T_l|z{ zJNTwo=ssPuoYq(F9k;;O&%Hz90P1`}Cb-WFF;b zY~B{&L3R9kbM8R9w9Wf4+-IEuT*|ke;o&K?Zn00T3%k-M-TX?*x?G%e!iN_!zAN`v z&~a_c1}^;3ucPs09!>9ixJFSw#wYa!U-N4f+?R>_LCN?v@L*mC?8>_+4_$xW0d6cv z??0HD(fya4+P_Qte9_%Eya)-iFWoCsGJS2a5%4Ek zvjuRuBKaRzb;3POi=|W?g^qSO+0}2G!}$8`tD$3g;%2zEUKilfk>7x8%j85nwJtaC zM7vSI<7WE)-TEQrNvzUV*wvn)eJ$HZt--g>`W(1;4`15&7jWa2e!%5FMnPZR_c?Iy z^8$?T=}+HHdk@n0N@AZXxo#}@x~XfykD4iNp}QA=%QJ>7NykC#gSq5yf$O)fX8dqV zwSM6EB-vH>osvKB=Q7rxJHpSz@0FnAX+ryKV!tcVaslwj6C3Q>`pyJjpYKcHar+|R zf^U0;=IvyF>huafEf?tg8gt(z;K!QLzI`${5Z5*Bn(4qrJ+Xl6BJjZc7;vfR0@$^` zQ+BbUN$pQ=Aik(G5c_r%a8HeVOQqER>niu~E2*C`h3el1W>8%+QBOd#>MZo5WoX|o zP$dg|X#>6IW=q|tN~ymOn1%s2t*7_=lO+!_f20=YFb_NOIf0AsRV|6bz&)q5@W&VL zMmoRHxwkLYPjFZL5PTgr}=f-#HE+fDAK{qSf5ii5P!x;IS{hguYg-&lcRZ4!C@go~P*ce+)l8`9@`@^%MQo`VwmWF& zLyMRB3Oc?f^O;@W`EJ0aN58|as}K3FHQtAgrOXWAc6Ht2EJEkSyPj|7_z)xb+9T9o zq8^%a(GxlCr@j%@uM3Q)c~~=G3UJ#C_09Ar{s3+oN&C89MfRuvKDs!OmHrtRHUf4< zosHOUzX3O1=*DpKymP=!&9(uLbz9_5|9x=iBlg;Uz^w=S0#BsYgHp;5*H6?geY2nEE2-c0zfjzi z^0fZ6^jRfuWLK}+O-yS3p3OH1crP{I%>TX=fT^|TUrX>KY+O~S4x8gu{yb4WsJ*)SmB4puc96dC z|9A|1%MaAQqFo_vXhrS{I?S%@1AHPHX3x5Iwj)CvlI1f5f z9eUmx{qq3%(X}Tps+yKeNHNSD|^*-LA5uBq2qDa$9o8|{nTDrt#27{ zQk^vKL5gQ!Ao&yT(i879=+AO~Y}`ob=&DgXg^qP}58%?y-4ut@q$5YlKabZp%z&&B%^&O)@__WZdEcE$Qc z+xH)=69PwQ{t@rtIIlLtddB^u!uU!LsuSz$M|EFCoeFE7=g>)7=YnrPHxBU(nqGpA z^U77=ZrfMDUE}+L@5(<2xX?*nqvx~s0W|L!rxpj_S+hC#-Y0ZD66+JEMD@_j?|Pvl z)-#DWT2Q+l)&L%FI}|$dXXk;3MppzLDM0aeo;d|PIH?1}L;c#p|LBj4NMC*KnRrwW zxVFPYh9{5Ey4~Te4LrJz<|V0YLG+9Dz?sF8CRM+(FFkh-6`}W4EW`f<9xh7b#k#f> z<#UAwZ2b_vWiQn!Qisac?uG?;bi6 zcAZzBElB$*)=T{ItC_9y+m?L_LH#ekJu+hFoKSoAcyR^@ju3_gM-& znn88O#C#=hxQO{A^2ae|SK3)&kYu*`N}aj6SzF+9O5Q$UG4qA6WP3undi~_ zG(R7YgKwHe>vq!zYiJ&>u@?R1Yu6ZldP^;&>)n_JF8TWt(Ep)#Vj}qUpe-^IG=IM9gr@TwWZ__#?(x3W0@DJrr@YVyY zE5aKZvwk!d^Z|Db<^1G^GFTS{`_ei=tc#QrC9zJkNIW0Bbv^{&^0lZ#LUFS+_#U|C z2O7U(z2_Zy8@Sm-?bQz<|E)u)E{gIM=Z6OMf?cIO#X<1R6W0Pa@1pCVST`nyPX3>` zZefw^bl#b7kllD6ijQ`9odsz;QibltZlHvkWer|XWm zzp%b+1Fq@iMxJ=Bt^Db~ceQ^8++g||xZb${cx0&__fwH0*U^tbwf>L(G3`G@w(7ta z^Fv@C)fsRlsji@ymwa}5E+2?cU4?(|fA`V*fss>3pf7OukHax9c|XksT)bUE2%51wS^7?#Dx~ z(|KosI>Pk?QFl2`d{e*?UQSNs{~x^Tl!SK?Oqn++b^|)zO_F8 z-bC!*8miBoFQs(F{;fSp`rdFZrmvmR6gq+Y^E11at&$vz*5DG1;dYaMvJ;k2H?Cm1RiK9`<0Y+i;BmdHei_jiC~uX|hl3v+O#Yj6JrRfC_I`7u6i=rNl6M;ISG#Ld{W{x}Js8(^d5m94`DMNQ z8vJ*Bd>^=&XX4f?up5~&nc0;-xSpN)f?dAs@3e{U#6bsgikJAiMwk{`J8kobX);(0gm?Qf92 zl59O!O8vd)FWWupcg-((S--~$(R}NhI1l{TIUV$k_h=m}Ek6oem=?eYObLtmI?-IyQsXtv$-OYpG$6Bm`P9jQq zD{t1quDPbDvqyZ_;BUc?I;OHb_bm1SSK8A#@5X~)!fvu4&2RFJ7{;TR2jW*~pHq8& z3>&Aq_ue9%T4gam$hHyC@zkSn5guOz^G~!H<)^JOy{}?!v=DsHvR8@!d13hPoV5kG z)}|$Y#(V^Q&%qX|4#my=4fUh@(nO{&*U15$@Tt}e_tv61gz=k|FmD@2P<$e~{NU?~ z-UVOa;Q}V$o?qx(Q8E8(TD5^cy1IF@B~AK0G4e;wPjSd1sAL9Dx zs`WGQz)|W)>k#@5+G&4>t>2Wlb}dp;%?p=00lxkUwbwbW19ZFxE|I>CuBXwATA24d zpH4vh#XRX5NZ)JAJ?Q>OtUonn-h_^M9o;ATnvaE_X5U%pgeq=;zPC?d;HF?iPW$6p zQ4swi^c@4-*=by9#@D^Nz0ZM%968V~VK@0#3*gbqv<{5->F!Vez2h)_uWD>S>s8Gk zG=3d9&cUv3(=+%Z*42Sur)Q=AF0$b#*53Fxn}H{LO$9%kqme(&vuM=&h4n!dr~KFd z+KVE2H#u# z32<@Wqz~N(E zN_YA2+%zud-VFWNH^g_oeSJ`UlB%Zqji+-Dm%Bkhmra8u@| zRI32(W7Ji@7n|7CpXNm-QvE|)d&&o)<9&Al;vnn4g+I=0b-nk|Uc|w1_7QNgPh!)J zgllICKMF>e&Ujp?ao@&jKE;b_qJ#YgEToH=6QRr~dpkmpiHJMhg} zJ)y5Tw2}CZIBRb-t1S5OK|Id3JZ|8obxTwo8mFfF128{C7b)42CjF26_gK2lRZ_p{ zI@3HX<^kjG&Ct>I;rh{JIq;2tWkX-=cgb&D1K-e&=Dm2Zs2{q+p2Dud(46I)E!Gk` z_6>X0c9B0ZT~6>LhdM&vG)ohUmT8|;KHD0&sW{bHjYlg}{*)_->#4Gd=b@aV zA8=DK8rOk;Xnr#+s1DrMljbFHopsdN2Rzhv7t1%_!$P>e$2~Uq6P!)?7A?0De4|G2 zhr=Ixg)ZPL9q9cQG5^Fes2*CN;w@F5+N&960pE0*zK06VrhL z;L*S6zDdfWd=vK_<`eY2OeE*euq*ILhnBQXXwZiFZ!1Il1F@>&`!8DWC67=YPUE~e z3#F7FqTdt0?SYOrV}puQe01Fw!hg>uKX7rsCckkId`C4=XO;NwkLmt2VBd#%$vsnz z&uTw(>>cYuC-98sJt;=#YlpThSLZS6ulP3FXV9$b0Nl|{=T}nRI&RbV1xoifRX*uh zo-T)eV(^u0DaDH)p>Y?Pa~*!VpVIxZ$j^{xH*jm#>)?wxSlf4jPWV(0Ijv(H(bcb{ zewuS{0{X*~t-`6$jsULm!tEhHo`<0Y^ZzknW z%zQCZO8x%t{?A)xjJx2Qe`Ta`5r3onE{)S=dBGRB!9nM5hQCkFOY>cW$WP-d^WlG} zzo>gmemaM(#k^r&^C8o>YUq0wLsfdeTJ)FZDD}HxcRT1y{i)xh-%}mk@MTfQRqe0w zR1eu!p&Ix?C$WwC(eb#rszd!4>q+0I_{L0D{h{$9<-ddc(I0zR)ggWRR4dx0?%TH*m3kXjnF%^ygdVrsF2^N7Gkr*Joca+|!J{n^S&j z30&-F8sDbxUqX3XsC@E2_MG_I{CvM!6DPa6Gn?o9*RFZoyVPIWs5gzv&&hvfBE>Dz z^mFhXAsX-ceWWkn(^CvOk0IsLLf-BViC4N$Q z1U&wWs2f9eU0LLhtH5~1cORhn&^)=mimP$B>qUID?S4@6ner!anZ~JS>MfS%mW#BH z=X?1e(~%ocp2Xj!=K>;b8s#U7!_BD5Cw=d6^51vLt?H9Mazo;~J#-$87^kw8<_C+@ z&-^iDucGOh+Jih5JS(J!&jsm`-|<~in%&+mnf=a`Yr zGwvL;KWVyDNyW*oHTPZgi`Tq?@%3$~UEyNu86Mw4^N(TKQ57eDG@IzX->9c3n-8s< zNyq6E-|0}?teZ*4dydXG7x9nIZ;b1R>pflvGE#L7;wFz$}|J1ns@FV=UpS#ZN zMoP{_971E8t93J6o1qCIE%lr+^{R!8@fj8SWiLW55?cKiRR~6!LH2D*clo} zwz8*HocPhjv!I{&bgSy8s#BWu?Q3$VxZ2*&Uqid}m-=M?w_VQq^c|V&&vzML_l)wv zmAj{kQ#_+@&Re9UqN3N)xmsep2X{^<{Cay;pZw8gl?QGuy;0R6-0|QJ;u#wFm5QtS z_o>c6IQuT+d+*+Yjx(3Qsa?jmXuQY!++cQXJL&r-ZL1P0PJB(Xnb3)Mo5pbECfPMC zo~+{JkMg$q-u|N}Y~61D{Rj9jcYMI?YMW5KcUuv+%BS{*D$)F4sn~_-#I~yAu4fCz zcaElhH&qe)QRIJeeh7ATy^Av)Wl$3BlFHHZEYUB?jEBJ8pNexC$e(C7&8v=+{5~jA zkMddiU(`75E@~K_% zob;W(djowRB*szV%Z9LPzDDoch;>CWS8?EWOIv1Fsc;gwtH@~JPD>AeI$w1IHH*_f z&4)8o-0M&O9{M!|e$+$zwE7aS0k;^Vz%_Y}Fuwi0FA;z5Xwnh)(cY(Xfmd z20T(p)V(LZtXmJP{G`#F zmDY)y8nbZ`dH+82<)PfJWi7ogXZw=x|HN%a!T0nQ`#cm+-*_Kz-50!Fjs%^r8fY_1 z^^^QDPxu=A$SjkJlTKuDUErQFVt=0ap_TQ3TgN6CKUuTe{B*lC3g0gcx1oBi$|8O) zfPOK>!PrFXXOh0H%@)K*>k#{d>bU!?2K3Dh#km87dzZ8ZU+Hz5jo(mH85+ zF;PdI{5MU~W~Srj`jfXSaY6$f*Jl-&|Dk5 z>s|pK|DNmU&5eOus`7q`oYMhUo{9SKs{iMX&rADnuPOR>xIg{7`G?`agWrmH5?@n= z>e6d!bA9u>6iNUDL$4o6N5E>s1t=vD2AOATK?a3FoWE{E59!_5DmMME{aM zvE%z#OY+U)z!l$B#<%W!IwP%P|F9Apk6!5t^lj^BF+bgf z#=_4)6`m)7mO;cbHn%F%m&e(`*S>#?<-e;!KHyQiSXYq$p?hz@A4j2S%&xvZoyTGP zhCkno|2~rZS@RCFYxsHCv~;_ChikERX$sr%++ROvE%PU_*bm(Jv&cg=o_V9t3H^&x zJl+0-;3u*!vwm^p_y%~WBF{JP&?3N1KZtcE>Dwng0@*NEx_0B<<~p&bgJtZtt8f6)GqG=T0cj-QhhnG9=6xI z2p!-4Ld+lA!9uVb|Li>TM=G|M+SSFt+7)@ekNV|;IEO{ePtPpmn`iTzDxb!qvAzSi z+;|J?ufS`RC%TWyFn^3g6VQ*pdRvVH#o2mh8uCh;I=4+q#YxN$&f-fkF07qmS%lL# z4YtjNys{c@v3Od(IR~B4ae9AV#3#5fFZjl$jhKF*L=PILzi1f#d7qp#9;b?ap*X}d zPJe~mwClb*bSffLFJQ< zcIOf3n;g%1-1f8sKQzR^;;esg9DHkQzW&kwNatwCo3}H4x!5`AnA-68L>o?npYD*j zFQE2DcNGFI*AQ_a|Gk<&aD7p}ZCDwJ+zuwLZz_->Ad}?nv<2|fPl^Wcx zr`R#@T?=zEyS_SeGL_WmvCQM~^laV-T)HLJjjDcjQ#s8yPuZx(jc{EXC)Veli+o%g z?&qZScIHdWuBYNw;KsV5ZUD8*G$a9B^M}AmKk{n>*bR1R$oebV{04CECEi|TLlyWV z{l)Eix9Gu7R26xm=3%WOz@>@Xn4jhXok)MZ*bgB;_3sP>9y-kP)26$K`^xYRs+S_> zrQm^gfm?qS=R;Au;`t_zNE|i4TU;eR@%Gt`q4e zhIgiUzDILahxBdQf#7?3iG3U5$6CAx+!Pn{0P#Id^Fv48FRpil>%RUIe1mk3&8wP= zCBQc%Dlq?zBj~#3S~r>TwK;Z!Z)#ta@m&+%U6jtZh<_WK$6V&Eh=Vd~cb1g;e{o+B zdi5>vljX0f1peCxPFMX=^I;X$txEWd z0vG$zhRJlkkLB4#l}~=!yVQl<;Q78Pf3{yq^_neM2Y4X5mg5FJ;-GCjbl!jC5dLK= z{E;V!b5GPf98b@2tfvO5d^MjZQM)_~t(l}ld}&l}#MAv7)eRHl)H{maOOLvigD=|U zaD`wu*=wY#PdbU6wC^2wjlPEx*CXrZC*Yf-3iC(bhxV(z722?NMSfM!IbFVj>AQF2 z#Qc!>d)wUq#=%ie1OIKOYchSu_P42jpH0m8Z+pWN>3mz)EA+jLXs;oj1Nzb%i|71T z-`YTpPtzi*4#iX7qc-(d{Hn@V<9UYiO=B{seiGkSlK7?>HWeqnB|nXK<0h(8_ix;~ z{)Tq>zMkw&`(yvUhhItk)IOr~+HBR2&X!WY3;(6wuYm9T`iANc*$sY7d6j5Uk@=aN z_cQo=Z@;bTSMe(;HQQ&skZ+y|kJ!9q8%f_0nBDu?xK3O#Lq|!LQu#D~trLr&-y>bG zF+5i40dS|!!1R@G={rQzt?!th#>E$L9kg4kv3{3x(0Gg-lvq3ileO^2JEt>?L+o60 z;JFqyKzl{pOvj!<-@Nmgij)7gV$X5i)So!3_B-Le(}RJ#^eq|g%Jmc46`R;s#fKxF zN{;UlPt#}Oc`o6aK2LyqD~(kBr~Zn!rSCl*-$z-yDO zbMML2E{cy5(ZH@_jDzU}4?YDRDg3p{CqI>mbk3veVHFjpI5?{xg`ZCIPIlc4^t%e& zUST}r%N;jBU*5}~55}rr0`B>K2Gg;Qu8el+CX4+9H9t#l%~Ddmq+~v3?Q$KVb(iA< zFPjHE^&Vjy`5N*4&-m?I(9ulX#m2klNErUx)_l)!sn=7)(|mM?ic@^F$5!CUDr^D{B4Cvb*3IinX*{~8(tf+vyq?8Bl-U9P$0zXkgr~m;KlQD+KhF6# zz;|q^&-_VMbp=2CC6AABLESlNe;nN-%pY4X`kq3bBfdMM_(;WGhrVW~_)d!A5G%SD z?Fudz`wYZ)cPjyY;A(z$zaSa2v5yhkOz&;}dtdPF%kU?>SKJShPM->0y=gzaw|T$# z@`ZqF?E)u%Yy-p4v27Io6YjNMqV`^T&hjVz^eXVgMPawFKW#4=yMlcu^YB7hQtEf% z=gKyp!fy0$@w}e=47IyV`$EI{yb-B45AF3-D;KD^2r%Wq5ez z0OJH=k`u>V}GO^)}Ia11w;9FPa!#uAHIIga9 zsJ|RLax79(tW;fdtS7}f(=>1!<{8u2)@)o`wNo*#CQ2Mpaq1WQhYK)&nhq{!<11M! z2)@%J<_F?i-k^QX(5BOj@92CJ{o;1qWchRb?g-?Ad*ciiH}9}fh_k*Ee_utpd=Wa5 z>k#uZ99@X~i7uf!v?4xo)oO^dbLm^muJl1i%7{>Qk9N3uD4t0el@*;>St`pey85bR1Lb}@e}-!%Yk z?vj(`gYGXpU%l}w)-FT1FXo?E z5vukBYQIo?!h=^q zNB7E8wOxcq=e7lIt}4FABtNy)44F#GJE{Has!m~l`giw;(eN|=Ms3zEN29sGqr;yt zKO=4*`EUP=`J?^rF!&BflKCSU+T(hyKdfhVeUIMwAIeEAbrQ zOMh~GxeTov{!TPBGUZ&jS) z6S>hHe0TDhic>%8Yjg$f+;v>_pZKvhc`@$=kBH~ylqdET)iFQYhKh9>;ohyIz>l6S z%=`(Z&a+WctxO!R!`u6Q2>ftA@f`=*m5aOu+%hm1i)VCJBeGjXR&|K)z5kf}{NT2V zlRtqKPY{PlW+65%e6#4j*l@T8%g^ALIq*|1xIo28KRN#k=)`_p%XIYLT>{_t*Cmxt zcJ=d{!cXTeaor>x$AKKct)=*Wnp~F7Q+E1C&684b68)~-CZk=>o&5e(@{NPtz`_jG zAJX@gJPcg9NA*d>{i!nteWw=xTbvh6eC6Z?$;)u z?IiZ)NGDb28SM)77VmEpZZRJM-@IX)+AfMuJn$FvP5HJm+`M=O_;Q{$sz0RTNYMG| zrmj2Z{?|`O_haDeif5^O(oa;r2Yutzd<>5dt_MGTMY=P6_s17Al~mLNcSg?nuYPQN z6#CZGxr>C8zIih3djvOMQTc>N4p^X{c(1BuukO@9#JT79kGv@j`?hB z=t$1HSkH*-i`h^2@3CqNyyOq*#6~;@Uo)nLiqp83pKr=kG^zct25lG~EYT4BZk0Q$ zxEi;;Kfq7zKp(@Er>7AI_o88HyNIuwULO3g>nGM;cLzFuJTml-8aMJM{!#|~an|0* z^4w6_H!tm{wdQEXH+T3kD~*R=*0A_1Z&F^_ua#%{qcs(VKi*2`R6fNgKHxa)nhw`w zn5ALk%hZbQuT5XIRdI@gzO`dM{5KD0^NFMQL*S0ej~K4? zeh0hO*w2#kn}1@9C=cz8`muRNo|@C`N}YCgJ%{_^zh&*nq-JlY?& zOrFMcyw*yv>umKJ(@}c72S4L`PqOPmqI@RwEfq2uKe&1c_?E)ovUxkUe=GRDq1jBw zdAJa8sf}3YP&|!~Xn!Da%*OQXyN@8Ax?@>PC$#EYis#2mSlq0Cjs)(_L+|H{dCXMc zZ{V7T^O;T}$1lK5@110E3r6z7&v>8OtXuQHv;8N%bv9jv{Y&p!Y^R1&{;LXddUCN@S85kE@9-qjCGr+@p zCo_MX*Ovp=g;V*N&Wo7}wteDlXuSbsS_Dg=JOz~f`D z^fLJ232!s~aD?i^$m^do-16Wx_^+w|0b5_iN?ZUQH;MgQ@<-EOgZr{Trw6=Uy}J=U zG(*+z?oYShdgzE3KevlKr+6B3FUEaeAb&vR)B8W#+KX_X6rWvah=jn3qvPR z{Cky8{y5I=#eJxJ?Q`aj{AEYz2gi+IxTk&){P+doC+V0E^#$J$IPeh&R;9}UB!iA5NX$$VXyev#Zgy^1FF{`pnzzxnsipdZiPr^b!q z)9PMT@U=x2bN#^wDbH7yQuBfGT)SU}U0HX8#m8|{3!PZsqfFlwaDZ>Tw2JA6OFhH5 z){YYM5{<7^y=my!G6YV3YVWMTJZ5rds5;c|wk}lHD>T~0{7H29l>B^Fj`0)6hCoNs zpJM(5b~OcG*YO|5cYH;4ek{4Gv2o#wl*jeLRHDwj|K>^P;11vs^;}VLpQRtU7zBNf-rJ8{5%USz z)g)>aSprPciP| zg$iU!DLpX{82ekH6WY6j;h`LNzz==DfZ_4Fi@;Be%g@>y&<4S`#IC7)vMX&|iTFhR zJ~@}{7WOMC>(YOJQ=olWbp9Ejqd+E%Tg6X`2(;u{{H z0v^i0Y~%y~IAL<=zrbN+3&+w;-) z^L+hY{o~@=&Fyi29G;Ko)?IaWKN zk2V>i>X~kQ!D;B_iDDg$+~8ooJY(*t&o8-s=G4E{vANytPcj%!%_k&xjoL2M2c#>s{fh(?mH9nRzBf+Dc zH>jNDpg)-MWzuyG7wbr@M}6CNh{w8qwx-+yeHx-)iulKB{JqyXPtnbMsNr$}?yDxo zX#06z)3ft4>3aRVe@4_}q?)(COMR+e6g>2{Pm^EkX?};| zsFKj+H+uCr#$Bn-o3#1bun*%v~AvuWWFUB=cgu$bsokaw7$r3`>;WpbR%ob(1&_$)s#b^$!b0?@AgsiMSt&3_E-8_ zHRrQ_$@LAm9-{kokVfx+z7YB`rO?YNXFQ%Vx6pn}kK1bME0X)A#Y(!>7_E;r{gtz@ z1w7g0$3_1)-NfZ@=V$chise=RqFMO+2Rv`@ymnaQ@2|l7`h44bDrfw$Wo=QOPID)X zk8{~T)R%qvY7I}H`$YXp^WqvFuUrs%lWV0WPRI4FDCh7t?eitAD8h8l@?LK7JlZ~) zih2*OP&9GI55I?Y=-u*$CSBdk_rc|QThw}CIau#6flsR3R!uzqhJ~SzmDsQGk8Ev+ z=Ot1>r)jtHz=F_Q4~8{9cJsCQnew(h?4U_E(X=mk#Ol`g$Jd{RkG{Fsw;hH0a__7Q zy|2Uujen}&!UY+B2IqMT$16sq5I~`=|9E$%d-3#_$RZ*s+{^j8~*-X ztlcqz;8|Sxt3U27vLE|4x6$KC5&uQX}oE(U9 zFdwqam(%Hp=hwH1-(Sb=+H=bR>m=wsvCf+EaYgEZTRvN=DIfo>eDjsGtFx9EA2R-A z@87^v1vhEht)U*@EQ)=!W6GXC*5KGgUGIt+ooe{M@nKWwOf z96UN~s>)d}@~#2k4zF0h8kLptjdZ&QuAkdOldiYZH|P%?riE&`6@}ivqZ|64hLtvI zo{LCV{+^oWtznuti@)3m@jC`|(!?41eJQwc>2gh+|E8LQE6#fwpKu=DGi(?YQaSS# zidRDa9C}-;*PT5N?z>b3bXg<#h#m z*PccyXL%~aMpK{FLDPOBWm=*i(-n$n^sydyP|ooVeKq+_PTPg&-Sl{|=DF~uM&tcu zz1w54oQ_Mh=j5wfppV=;swp3T|M?u}RQXWVv)q(gKTTHB|62C@H2&u5^`>RGGtXQN zPt}&dV@}Zz(?|OLFTB63%c^SHgMR#P$d~((w*NFd`!3p#p^8|)V!63n=kjIJ4ewg3 zDd*yyo(1>S@@mS{cfJqc`8?^P;z%)s(aD(?-zix{uQMIEydAb7x%ALgV8p z&hO>@J&tR9{QbT~{o2yMdnTvj73CkvdY{}}QsW~JY7Xu^e187_)$7mjJr()Qp^3+G zpZ6XFetS=oZs5;)Xt%~0-8I~6>WBJGR%)VYKZ!11qF$n-Kh?zJJJ1vL;+qxJv=d!X ze%EX)64Urt7Wxr?qMNvnk@c0xUlQ%v7h9##8~-vAEeO~-Gz|A%KYTCcOF25tT4XvZm8`iv!e#6;DdoCj2 z`NWrr$5ExXnlIMl-t~>aQ}6EA`1p)#z>{YuYSN7s^i0e67@qw_Q$B&pM^SF!%R4mB zk^aDL=)L<}XzJ0I^)2dA|EoAx!1_v^38S5RAB+7Ia%ba3;2n>3)6|#k(}t*bYl(mw z5A~j^>UYXT)~lTPjfOX)-pjV*??8!uDUmw?ZWKen7Ee&5Gt#OY0m^=GD=Sg`~7N`Cr->cjF6 z&YpmN$y8*YCVu(c1w1dhdfN3~$D-kQe&Y{IY1(0*p-rH-U)P?yjuq|&eV+?WHSt?a z^U;31n|rDK2IF+>o{slj_=R4YcIzG?AzybExzGoi{>ODh2OhaGN}~_{ zJO5)vO0O%%6%AK*o{i`0Rdd6>G6hwai&}n_b z&vBlsn=nR`U(3nz97pNj)U*djyP!Hu9z41Q{kL2O+AltHzYkVRfyb7P-Kr!!Ner;F(K|dLC6jS>{mRscI zxp;5J&b^^|j{F9$lRtW8s-~P>W4K-vs<=;6KHk9M)Z+ZabAD#0^)iYho zwJh+|bIsLqBbUy1LcJL0_tWsym|wwtzE4!nd>Q){!28jtvugCFq5aW*bXOl}(siCE zx4CL*e3HMs0H22MIW+M*r&UGyIPyN#_*nkEgnDrlXr?I#U$K06uBB2fG(51o54fZ6 zhZ=wD>~d%i?%!Y5#P88>hriy|U!xCpD+eB#=U4fttju!~DEQB;%%8!c-)QviE06HJ z+s2CX04z6euPWee^3KrsY-}^0{6rHCH;m=FZtQkZl^4y*q?hP>68TD1Z>(vDuI3dH zPqf8UO*sb!@SH>HO_%1mu#D=3@q>M~SSMk=!pHW2dq=m|{|0^Rd$I4pIOUrU zr)TuR654TKBG(USSF^{>)Wl)GjihIskzmZ{YpnRN@#5hWgb52M2+g{+k<-$KuY8mwIHib3m>h(70`~28f z<@67EP9oiAH|!dHs$c{>`SbtOIGL{H@nN)E@52e2_>;qZD2HUVuQmGAmDl03wec&O zbd}ot9%^sBVw!aA#y!)NbZJ>TXKD22S}o8%%?&nd(hYpG0D9lg1vTl$Ha`ImeQwj# zORCY&sNdON71E?@9;Nor1uAKLOwUb0J2`u{yCxp_$uanE{Y$JzjmlD_bUSN182wDV zUoK6$_RXcCul;dpjgPO!Q20AO`ApM31A7{wy+!(M(BxNob~g0k1KM*$E?0Y$PpCsz zP5i+EZy{a(@hTdBbIn;O2TO@pHU3fkZTL%7#XdOOi8)ss@%WWe8lPah_3T%duG9Ef zc5Vc>H*2Vg#~wZhpYVdGn(_~wcxFwe{Oof_&y&-CT9-dwpZUAzhsxm5r7OYRo62Qn zcqH}P>dc>x>hHimW&ay`ean;J;ek)Um1Ea6K9*u!9|%pYla=}RhGb!;TYC=j~d=lX`;PyvP;3LvCuPu!CtVlQ9>1Fz;-27HG_{i0Nr_bkH@ACb@cv4rYLm&Hi z6MW3i+Joe_90zQ?tF_gKGN&- zk;a_|*L8YV!$Uvq1$T8kMgHwI{o7~UR=fwzksPP@7o9fNy#bEjy zJl=unMrN`6|Ks)9Zv96XPdLSU+q_5VuP?*;O}gcknKc+jIu35zH4r@P zDFlD_f$za}d)kAGe#wxp8sd>8t^-?&NzjY>lE;mMUeuT1Qn8hYU&Q0P_7MKAY3spb z_3kmwr{94m<{bbR`4W1^GTtxxpI&Vz!Ov3~e`T5%K9+4qG(JwX+@g^$HQYREKJ?yZ zXTa?zmmy!G-py*gJASAP?k_wMdRrwA+JkW?>s>rw(%%KaMSBas%Jz_IJ$tz)8a8!R))6Y0s@pt4M%Ugp-7TjXJtNo;DWj;+m={)Lzf1)JMb%=gddBSoC zt?P~Vh<`18oc%{L&V5`r*3D$S1adQ7Yx~1^e|gqZpHh7+%iqxWgbGj}D$@Y^)H>>o zU$dY0c4`AI-j6}mKhpAZjlVfBeUeH3E{Q|+agArc5pT`)Pti`?YPy!9FKE&YHRm`X z@!)mM^XMu+9r+E{od9ke&G){q%y4l3no}58=vV!Na`vj}dhQO^j6+g`$3P!_aSHVx zu>Hp>vfkt6IB#_vyaAtN4>$FLi)r-E!qoeF{Dtw7&ZrV?6+lC zCvbhm-Qb4(YX4m5`{fybWrsqaj`Z;!RPP5kIZw+kJi)oj@Zz1|u|c`AGXLK50`E(S zjEI0I3$uLmt&PwpTh;`3eO%d?;du%_xFV*_GV+W6=`vW=c=h?_~U3rUx2d>N}f0pHt zJTiWMCf!t3`Ww!&UR+LozoT#ZJ@n>J`FvT%?uFjJXe@Z(4%@%~NDXjj`Ay*A4NNz< zr#g772;&jlUTT0ZlWwFZ+ox$4+oyZ}M692fUt>HLH6Fv1BG7x?Bj9hF&U76w@ce+T zo)0{Dc6nCD*Z0w1SXT*}7?0o2cpUoL;O<@fpikA~b7%gSzc=k_$vA~RG^-QV6P({^ z_4-5n9qQ~p;XT8!F5w@>a`P==zU22tfJ@8Oc6Ea7D!Feb`a{R1o~z_^-1=2)w-G1D z6_J)L!Ns`3R-!fZrtz z&5yv%CCY*)@2>&(l$KCF*}3nVZ^7f1n5LYg_w$0=Rz3y~^!SMWT^8l&X4ytq!CM7|tVnXkYX z3Fxh_UjX;Db;HN9N$Vs04VUu3Cwn~h&x?S2TRw%4?PZojbi<|`^@1DL{{y{fC!uHB z=cu7~En6VImi zo$7-AHoHEUaDaOz@p^x5-eYRvC|%wt$? zKE;o8m1ERf8t}OY zzhaG-BTlLM@Em;%1E0q{G<%%M5oN)plX=$2>3l|$li(A+@CA5qNgU-Vm!N-WX8Rm{ zbknt5xc2wua{AvnN3dUtIqzUR z9ID-7MTUn5eVC=B|8(^xH}v7Xk&zR2aI5N*EUK;#t3D##MCIG?7wJ03GfvN?1h{_) z`zxWB$F@OcG1uJ)@oMO{zc%lqe3qt)j^T^BX(o2c;@K3>}ljgN@OuCD)! z{0c7i1w@>#8qcBLZO`*wT+{HGCCRPNU}y!@^$5YpDKC+`aAMLf|~Y!AtN-1iAI zTnHZ#XSCw~ zTSZWh(c`nAPuf|Jk(sBEUvo)*zwCRT{g{X+-ufHpg^%FU-#n)zxcf58&EGmXKNF8* zH_J_MZ_oM*{x26k_D+97FMI?yuPvkD#(eBg`yPiOgxmij&o#1`8pNP8x^!DOxKbF&%P;Rb|-vc*4GX{DQzwgp( z?4~>@wtfZ9teM(jy%4Z`#AO@o4_68K7o(xy(LIDpmO8i zJkKL|Fb~(I!{f(k^bVC(ZVzJuO6k>>;g z>b`(k<+@u#QSX8W9?XJ1xxlaC`a;~li2l$7?M<{pm&yaRcn_Q4k;n7k6R21~qj##@ zP_>4J3xBmQ4Zr&EWXCU0#&H9@29`s?`Y3L&ZSdY4?o539|i=bZ$w)R8s{^eV6`Qi%jR9?P+ z1; z*d7cP?(gWc$b)}OVLXF}`sK9FKb7TX&%F>lwz(5{unPNU_myqn`kJ>idhb2@INy(J zxbenT=$$7%Tn_*5nQr(QuD|)V+cADfUYnSuq|>)HVmmhudmY^UAxQ^$)TS3EZXNIiIq!YQbZFR=S;9`DVL$0sL@Z{~kz~i4y$->{S z_J=-LYN|%>Y-Y*PCwQiLj(S;|0)O2et}lsktS-ji1@`RW`l{f`-#>ufRgn7{g8O&)&)>o0r`^bx(*C z_Z{Yy9yLxepS6A77<#1~*VTo8Y!mOz$R4MuN=f+GTJB^ysQWdxr5BcF@?~kF-N#9N zT>^T;$kEXI3v#_WalbY6Qnq~@>u2M@t@pX#A@+UjbGYtdQs=p1UBxVkWRf6a1M_lcaxo&gVJ z+duNG{%TPs-S9xJllVGwUY6X@4?L1>|0r^1Ie4_o1o(^nCSA*83o|~kZ2L#Cyj7uh zP1EW_KkZzQ(VM=}?gz<*cYxcZUGNwCMAodgz*GN{d(?d#$NJgxGd`BHF6footFkhG zH%#pS?mnqqPqyswfX5Cdp!a{mdJjK5=ga)Na7FH$q`p{^mHE4G(oAq~!RyeQD{{Uc z>ywqE-afQ9c&rNht3WAre)kE#yNq?>b1n9LOhvatAKyM6{vut^+dLm@-u(l(*xzx# zzX|&tflime15H_9!SWvNJ7m*Gy0ingf9-|dw4d=^B6DJ{pYu6upbjh1mCr)Yq@dl%H-S{exAPW@Y~F`E4ZLN2z5tjMM%b z7j?N0uG=#MT=7nX-f-+$aMvmRE{12$T=Jjzo;AO8bh(`Nb=~GYcmX%Z1EEL5!NoZc z*F?^P?CN~eHLwPJY{Ph7E25r{iuC7u$CjJ(1zo5X-h;7sS?`H-`%u#9d9w;>-jBk^ z7hR2Xg^%^O{?JEnR0bF4OdK6}4#9SzA-J_Q;}<@*ypzGrcgG=4aegLRsyosZ=V!t{ zFu(S!4w`tRPwpXI|E`;ux0=T|=rhX(o*LW~?IE_&4=(RNOMY?tDp^X81IkbzYt8wW zT%-;3=5nK<4^=n}eeCnD;GXbGaOdVPz=JKOYq@;|`k59ctRFFD?JY|xIA zldt4Pz7*#Yl#jR7i_pglABB$+9Sbh@Tb%>hP6EbUsF%R21)$e=`x*Lxd=q-z(7QOd zkle;|S@snV!9x|=LN9o%OdLG5vNO2nE%iL))V<)rv3WH5cy01njPoFi#Pu2d?gEHM zYT5;Q``WyS$Jw_$c(mYh@aP)O`=VdHv{IJ--}yjGF`iR3Kj!Z~i*s@Rt;@CcK=078 zpE0-T0sqL3k>LJU=pP=<_^s+WLpcxIgRQQ@cz)zLJ)sxtd)~WM;Um`foX@j8dnXnI zcm6aP@#}Q`;A6XfdqpPxq|9_fTLytAOKpK(#4pC-?tJIK#W*~Eb1wQ@+iSy6KGsPq z;2-Im8$Pk$iml1`$F4jJ?l1BtxJP~reWV%d#lN5%xW3mBaCcvx6Am=^75?&Bt&e-) zSK!g*_o4TW)zd%R4C4*M@eje{>Nv#Q`W|?!`%rK(F47I=JsXi-^pDusKe&8x=mB7FSkhl2Z}Oc zy@zoYDvov%`Gf65H~vA6T>7d8#(T-;EPw0BPVl#lf3iT4(&MpQtY0yHQ{H|B`bai^ z-^QEJ>)+-0Gf|)UjUCRSzRi0qXZ1Xi(KQ*|E^(YD&KD(b^vuye)OHTI`S}9Kmu^ov z#Oe1A!Z^@Ti~9wMf4hRGM)w5Q-{_2V#dtE_qCdE$0L#a8jpbvx);&mTICm!Z#o9?9$Z75ebC9f(t3ljB%@ z=k4I0B4@yZZF?YH?`ED~GPlzsp48nkEVpH5Atb$Xryw`4m9<-5Z3QI6a?#N&IXG~#i;^d{1EbmKl| z;!mD?j1KJr?n^XAJf_$H=wtWBf{T0wM^^<;8Eb|Q z@9(=CdR^-~%x_E9duY}eJnt^`+*IJtcc_1X=PLwvUS>J#e_I88B*K2ra^DPnsPa9` z`)tp0z9!BwS`YJlqqKtkxpJ{A^wzsY;bWb^ePp3G|4M&jU%romL)kxgx{?Q11`xko zqXK+{Uc@7Njo?z}KJa(sUIV?YN@sB6(4mOaQTa5u)U^q?;gTKt@O#C<{ol`}|KK6u zt|-e>`XV>DWADp;MM|&pWIM0u>)SI&o_co*xbXqogS!F8hmPW0CrLJa9_=J@Y6$#8 zy&f*j_)B|O4&uD4qdR{`J76x!cJ+kgipbU1;P3tM$tpSh&kVyDf4sqdaHT8zXR)4R z@9+rRzu_tJoA9tb1ZF$|PrkPZJUB_6FaNS;g_8EQX4@Bb6rTg``I`H@iLqs}GCIfn z$Ka9uEVt-a1;GPVE|GuCd2Vv^Z19*o6x^`#IMNm8ki)NY|62H1KhF)l@K37!i8#+} z-uB8$MN04M9O_RWb-mH^;|%zxigG?8+2_H>W#jL4T6IiUo>~`N8UG^2IZEJNmV-K< zb=I|l+wZcU7xP?QneO1`{Ty$^H+&2q{k>x3L-}0jUgNn(>(=MMW92!&7Cxp0JHW%A z@cHsS;PVw-+8W&PC7+|%89qnBebvD&*Z3R>f2Hp>a8tPrh(Gk*3y8;5VGDTZg(SE# zum!lz`~|qNC)bfujT(YmeA;;YGx&UYw~T>aQR`RKOL)|G;L%^%Zl&RTe%*!WA6dbA z7vt5ymC6`@8k=!k>TB8_>56%1V1H}GX%m9ghF*LxJo~y_n;NP@MY_rg6L{#OLIE%6R`fnR~hJiax{0?2jBfcYx)+)Uq6OZ_g%&mU6Xm!>_y8nIuqH@D&es3$d zSnrB{E<r^6LvEC(kymbWr|M4nZ-!rT6n_?fqN7PsH`djc9^`#rz8u0}3^B(EME9`%ie;EHSpBgX&QY(_^W!6uC5;2Pw_K8+uCx^?OM*9;N4C4UeikezFI+btcz^tW%D|$Gd45(;dO{ zGpRZE!9_c?lr1nvk<#m&>Nrq(rX%#e#vg$v(&Z$l|G!?Hr+c#Qk!Nu}=(;i&de5?^ z8XsM;*5uKC;2zyw^m~!LGPto?K8*jPb$BjL%v1Ev4&Wy9Md$^d3D|-UzCbLE&U9k=y@5RGPj>Da^%0lmdvl!-a zKK1)7hdMtB@7j+zv-?c>UV`4TkMnxtOg(&z4V!_-+wErjYMkL_E5MCG&acJ3gL?<> z0W% z<6g(F91lqCJ_S$C=KR#Kp3i$~MHaZJGv_aX-X8et#&lnxNa^!3b2$!IigA7#{ox7p z4!IQa71+gmxn9`^?rcK6c>(j4e7_ESvg-}EQ{a{xEC)v|3F#U~T>+1`=Q>Gh2ivW3 z<_@_3%2&v5WLF{T7x2CycUQLO@Ib~BsLT7({m;FOI2{k!9{i79hfi`p^+881`1o@t z!4t1={NwA_06dvo0G{37aPJN9*pF?xt?SFD>ryloxjWK{M|8?_fMMhS3^ApE3;jhx_h7xzRG@8?EkuZ znn1e6|beP*WD@(?l~2w|JS1tr?2vh^!fJbDmh)g#`ore`^!B>IVU6R z|Gg!j0Z)`Uf%RC+p_kxe*iaEXHfjm)SpPZLji}Sg26siSoF3WWZ zQ{@L(A5*M*z->=1!^bg<&z<1zdCZqh{r=ZJxC`{wjxVr(c$?3oNH@@?5P1AG1LCwS zVLXDzRbmXB={zhm`2+X6h2?R#NMW9BPWlj9I`arOh=9cP$sC$0}9 z9v`vJbOPWjXVl}-vATpJ@F&Q6`s?rbJWXMhcVp%-y_D6eD5Th zuLV!uIFEG2_uAnVLvNLT6I6Y3qLCruGJx>a2&}IFkKjpz1|%e+RyQrSjyiS)b>~Bh|-) z>uR2YkAD!`L-^Bv;GxBQADO4{edL?X^IG0xTxSTZvm<`Pu(qUp;P&0nXXnb@!r*d6 zzBf}1)Nw*3J9zvw$FVve+gp5b!R3mS9#@}N--Bwpwz_4&4KL0{`TQ5ZTm@Wd#`7?7 zRUa&;&6lSJpGRk(vh+E@a!UkQZthb9!DA~%z+arB^G70x)1c}D3ph?Q|1ko3x1Z0Q z*UWWz*P!X(O166s6c^*qUOxUKEN3}C+m%~g=S&uP2R_;LiO+rmx7B2R#d$*e+TGx( zQQxkX)8%LAI3r6*|7i;5S&{kEFr4Kn^zKgwKyRJH{VZRoN>)Y}Ty_N9NNu)HoqC@`cyJGJM`w=b!8U+NE+ zL!8cR_eca+Yvc4cE(5)9@<#Y%k5lLauX0=`y~=*cJ-s&c!LNC4P~0yO?mw75^PWRI zz5?^$?|iN*)*+?)$H5)_-vBrLwF~RR&fN}hvF_?B_d4|Eyll_LeKzP*3uZv?NDP5q z+_Pa{pNsm2kH7X-j*Y`7x}Fa% zugdtiN-Tg+^w2boPiisev+=?m!QHNdh)0~WHQ1_wNBXcockF5cA9)ea$(wS&i**23 zKaQ6|>2ZdVPA}Z)P4Gmd8T83rTz`;y@p}PjE8p+YUObgH_#eF`CdcTUe&&N`d>xT(-9mYO@?OFJHFTI3#{O_ytj$tbiXXu3q;JUkNJKuZ+ z+@`Jvx^6IEo~vBfa$dTCcGa$~I8IK?WjPq0@qvr`g*;9Par##FS)9?kew~=5r2o{b=kt9h ztl;8&zF0r>UMc`C)(`cMdLz!{zTr9QZJkaa-T(A8#zOC}GLPvF;yz3Gx$7+dBD`-u z^#SAeR&{`TuJQM9#didz;bjni5@{rz$}|K=NPZ^BPt&74(w3CE-KVjq^=f&c_!T-+7SxZ1~-OlzP-Q#&SagNSAmFFQtw;m%-x0~%* z_}JQXVEL;)#wRQ{|F!GTyB08Cf;(S20vEqfX1+Sio?_qF*ET&cuzvo+*C zj^OqZtY2Lvo^LcbFG6oU$@*1pb6q;JrNk0hO1JZ?&%@u{llu{_XZU+$;yX3xyX5BK zuT!sn$CpUY-<0&fcedv5^ywP0zN734XxY6JKS;P}6cMkek3-&YSHO#McXe_wt=jIw8_o^r0 z!bg9R`%ucj)`-X8VEYv5I!<1M-g%wlBJbM4NH@`A0QCQTe{?;;^4Z)G+|!xw!Nf~! zx32Mal&AGW8S#Xx>G{0OEDNslH3auZ4dAIl)xiUA@c9z;8|}t>M=e%9kFiy+KyUeZ z4fN9CV(^Lo#(hlp8ufRS3|wEblw~=)-?)MH6VF!(dh@oEh~KI5)EqvK;{H0Bv5ubp&UgCT$@uCj#%UAe&XR#|b_yiNY zS5~=pAA0ZmoCn$a@LaL60{s)t3efAe@cZBJVgBx6bSIy?z@!t%m+8)nsK>x%&VM79 z7J_@u6abghdhFA@hkxwR0qFJH1|c5jdwfns`HTBqEeF^>qpeKHS7hv~Ot(c@ z_#~FH-_!SKhIV4ET?gFoIonC{bZKy>o%3bgG`2VEy3^pIy@~!ones8X=pS55I1Ul_ zz8as;4S(^x2gLoZ>bOgA^V(bR5%-shdrGa&f__;_-{Ym;59~b7@6OyM_`BHRJ3Heh z_7A4E=i#G#^%Bx`eZg_2>GTQkST(jc`6|aVmaRJYduH=HsiceN`CV7%f{X9 zu`5O4@9o5M*N)@#PkzOAYn`?p^=0@qiFDnU*-wgm$#d6g@+HdQzk6%ddt6012S0y- z@u=fEp%?exivH7mcM8%?+IMQ=Po?spJs6hvUY03O*Y^I1-~Nhvu6|^DaB)Aa;GsWD zX}D?p(^X3P-$x$lz-9IOUvchQ=X@SqoVyOacM$QU`k&CmqxfCm@z(R97vJ^UUnzk& z{f`TSo2Cv$oX*SJs9(2Th2j(B|PeZrA1d7pr&FL5uitJxbYw{L1dFYYB4_YZrHtNSLZzbO~* zJ+P|&?$mAM%YJGgeB^9+l(T93 z8I)VB!lUIGA5)O!mdM9(Y4pp3@ConX{5|>&p9{-2a`9b2EWqb0*m(r>rlCIgy9RT7 zF1|0Yecu(_>*jpNrG9rHwHXec9Ciuum`Ar`{C|!Hx31=Sp5UO@z{U5!;yVb_zTx1p zv5ZrU8-waSA!6Jp+PT&F5cw7DJXNtS(hc9$!zW$sA{`l7^ zv^UeuR)|0NbQQRJ+ZJ%cBt5u)9{c%7!^7aV8*GRAUhIGDV_KlS+48>zy+zsqAM51D z(EB&@eeHU4Be;Ji`)BD1$0v?Fvgkur#`rHjdAKeYXSd|`FC)~6t36(r_aNC)P+7+mGcfM{v-586UU|Dx4&VW z>#u;vuQf(~?ZvrHVlBS`-278hmVb36F%~>YT*8E7onHWj0aB+Wj|(~&hc%sdt-2?h2`)3 zUp>aNh2zr1PM)jOx2p(lnAiY%?_)pH-M9h%{wb^%d-K}hfjgY1xbLwX3~K}6p&EOk zmoBmY_kPdsr(!>}gTK)0im{#hKFANQ`=0tp9nOywBY#&SyrvQ2k!HLNf5*eCSod=s za)5jKa$ewh?GCu{3ZLJox{jeV;_uPOV_tzic;*@S7@E9*^)&Nf&Ib)&a-QYP)g9b) zF&FfLTO0BBdK~ANU+L3|YZNKH&ZqwVMe2(BzEFJUwg+Rq_n~)wmcn{<>K`-Gjpb>b8$v}<|%ceZoeuUDY=-G3JGn9g$iANU{3&7(|2 zJdv+?&v2q6*9oOz`@mxxS-*Nc$BoYF+?N;Ub)6edGoBy0k0Z5ax`}yQ2T)pFfRAM< zeO$d+Ziaf-R>@L&owPRFL&!ZDKKhINjyu$s{YL1^`rt7~7(SsHoOdVte*&JEumoH# zrG6iMkmcq+yGp~2OE^A}WEtE&<3p6cd1hX;x7ghm!4*R_aIcH`m5=Dbqc1Ve!0m@f z*YhRMGq~<^Txu|Kzd%_y5c)*BmhiD2{k;K&tZCQb%EYIll5-A#PwwB zL*5ha5A)owqi{X+d*VENq|N`}AKb!w;T#vZA8Ijk+!e0Jd({00p2FWUmhD99cy^^C zrT5p$u^z?wdC#M@;P!*`i8Q8S*RG|x8-NPvis}o#i7@C$O9j-ALKeR1l+%OC3tKB$0vyu z+?Vtm+6iuchU4>8QSv}8o-2qpEs1nf8|p02l!NyVwx3wVS>!{$SeD`8GTa{*`))pY zAGnh3zIW%ke)MU%8tIDtJL8tp;Gt|jwmkFTe71N4e4j z=)DvD^clr-u-;x%z^$&~Idae5pK?q$F=G_Cb8lXhk9jV~Z=O@v!QJ;CgX{M(UCWC{ zz-4-* z_jvg3&IGrw;de}q7bn9fbovCiaU9Q0iSJ1*KlK7P43v=HP$?hurucPmcasMCEQo6lA<$K?Kkk7TF=EId4?y@pn zy|Nnpo}+dV#lSPwnjvAN|-ab2C1!P4p4pT_&BO*%|JcGmUYo=VQY) z_i1Lx1VvbG=-CUqR?Gj89X_Vg?B9fs>(jm9 z(M#(4t31;+`NqTFwuJY|7*0PAfA3cVz&&-j&o1uUm#o_J-ueRngWkQg5d1^4P9vV+ zZ=5g0m$m_Sk8cDnmsRWK(Ng#)=lz57bS*0kpWym0p?5B`GGFUTf!nOrkl(m>F!aua zbIH4mg5GhoD|m1+$90LLYCMG}s(cRgrgjIBuKUB$@ONHr3+_Hrhw*gdy%UiV^p6^P zfTwQooMdw9`_L-~yCPlFSFA7N_iuw+j?bO1Na=N!h3nuSKEnA|+{NE(h~Ddfcq~i* z2fcGaE9gT_Myq^2cx3r$YDJr^k|cj(2IVoBQ4``{CMm_qr)Hxxm-(tsJ%-)IQE{_;3*V_(MOXu)x5+{O1! zr1~$=2MV)1J*C<2S(|SH4^vt z{cPayM@tncec$uG3G`9VuO=t(9BJrz#vhu;_$?iaKre0hNTb((vU&-8M)7$G-e!N8 zQVRPs+}3m);*tMkdHU-2hu+Zm5qyN+*(x{2d#-;Nzq>KpZS-G`GfjqjO!qC`pJshw zGRKF19|M<p8bFL zl~#;L_JjKy@O=^4Hw#?K&GD+|UQ_reAGqKX%3X;*Q#p=GScXFHZO{(!NXH6MzqviQ zEie$=mFNL3U3ebvS-E}?K9-l5uhg(3&|4-u!Hr9}UupOx3~s!50Y0J}Qd7@^J1+4& zo2ObG_y=lnKO*pBNBT?jiL@<&bbU`Az(=>7&x`rbrQoIpj3?%;2%n_f7d$?g<2Nx+ zw0E8h?%6Pb{?U5STh;w^)6}YqWGQ{VNZn6&jN!U>;_;q^86JO~^Iz*bJK^ImFdJO| zS=B5h{r}~&oY&i=lkhSBNdMsVm!P+7^n-hvz7M_c)^e0X^4}5g2@Pd?aQ^E75ANXk z2XP-!d@R3rw*JKXh~y8|=ePMp=o5!+@E3Yhb9Em2P8j~Kvz?J{WWi$SqYednalXhZ zbKTpqU)IDEo^TKPi1f`;Ih{{wH{XNiMdS(ZB7cTEkCDp}t|!>1>A{1~<;_yk|KB)d z6@09{Cc#JS*Xvuph4Qgl!{Cai8T9%-J)pPr;d-EHH1iu7I0-yxzX`o*^c?8r^B;k` zb-j?T;K7zGXVXEh4~zY>$j`%&uKn2E6>>VhSh7BRVh47ECogOQm+o@?D$tzmEk58) zj3?vC4$w<~ab3l)`xyGr@iyT0?KZ@tKe++iG?eWmaA`Pr^yXQW`=C#)9u1yq?y3Wz0E6(o)s+R*7=M1gyUxPjvsgHaGpA^kf z(sAjw{sSJK*#UZI4?TFQVGukKtEcKmfqQ#?4DQ$^INOOllh0RlYZv&$@05k!*Lo)O z$!|NU{_GDe)kE}eD)+;V9_sn?>ddu3e;GUO$ zQn}in*W&!eS(^J$LLc#QebxIg27T(^@$iXtQdVcu4VT^oZhORWmwWb?;IZ*8~2e#`?1t&hy120ya6Af_wQi3mMdZS=x#FI`1gDtIom7&cOGNAjkad_ z8^#De9PxO1y^J`+E8m4)c{C9`^m=n}&p-3QBiEXPE1$j!o@_D+-24I8;ZrR)GR~Ew z5T~gM>o@SfY2e8@BUR4!;3;(*-26~*>ZAR6j?_E37WCFEj_V>_xK5jzR|4GknD0|( zbCyGJ<~;OE_G2uE)C|TM_-Y@xrxoM$?B=}?=E>iJOS@SP{y*j*9!Gb?aeg zt}KzI^m>D>1j@lQP;H;Li^3gN^(@}wXxryk9sgK{i3%xV%4oy7D z`c^1s*LS_a^#{3L`f_f&4j)fn-f!<+I}&mF#*6_s&p!jb=>H?v zHh@P5Y4yP^)!`rf`OxA_evJ{X$C}pY!BggC8g3p~9NZb*1a8k_JmzyR!Qb`VBXGaH z7~)AyV}BbjTL$rn^L~*m>b)IWfD663Ecd5E&GUlGeabUm_dQH^umm1>U7gqTUWau3 z1&1MB(}5z;2iLG4GxQVr<+#o@aRPko7p_6C-_{s9e!8z`A&8`Ih@LN1rCVq$1eVqGE;d!4glBM)|c#(YYF&$&S8XG?x z+~#Jxjl7;8K8C{F-|^hf4ZXkE+syBdAE0*+VY@O8=X$B-ZSH@G@rE*%`p8~0;um^D z^Xc%ht?|Mqe3I?oy8R1q!k!^xAU%pmtp%3494*sE`EH~ebk>Jr%ja1I(H&&SS?!Gr%qfdqyXR_l) zHBP2$9LD!WL|(c;meS+c-$$Svj3wCqJ+*%Y7voRsNuz@JszH~+Cy(xR|)=>R?L^KHscTN9jKBhr&Pdf(zVH?j8F7^e(t@($$rUl%AjbIeea+{!<#)JWEOcVc#2r zUTWV7`tbLa!QI>W9}`|TMe;bVLE;R+@FcWd%(?v z9A5!EG3<4evuk}m#1n17@7+x6Ea3idMex*`-=X(@??pVmJ{&*W=8`*?ZBjYQ!R zy?ca6m)tg*<*!@Rk@^B`KVfAU^!5^NmGiw5C|DodP(iEr&*ATm=|q<6TElcV9S`SP_{FXj@mMQ7KM?Sc&>KTv8q4F}HYkUl)o`p~F8rL&@1^65#FFgYu zZaf-#(SAHT>w?Q8CnMeXdG^nN$-BUn6xZ{`cY?-4{Sc4*vWn{AZiXput3E6T*SfRd#zWi}5c_?B`JaL(YF|}-_&nM>eY!N`6OS5@ zFYBt@S((3Emhk>P`3=Tt7{+$%E6V%&%s%>y^}T32uKU@Fa@|SjO?ATX_epn=ZsZyE z&yF{@fjbPFHQZDE4a8|$t*-Ze=tVr{x(A_mU#^2VgFT(#rrKOrv=*_$Cp51+c=G3} z%p?dG`%IN9K*6K(GAuiKcu^e;r<;Na=NuKDWW`AG7>DE02OJ z^{1(v;|jyQW8g9SMwPRi<40D22VZXm9=y$VVjle=xUoLVQ>;%$r&I-xRM+Z_rJdlh z0rikC=?U{??#+7@0-Z#hBT){i=XNj7#4oS<2IEc9%L z##6jkLAhHS=?0o{eb}>wzZ2^A`oJTHXCYnBh>?pj>Bc?P!JS5)i*V;Z2LJE~_S^Cn z`Um>X0k;qO5^;)qBMnchfP1cR-8&Ie-}`xQ(f@$j{$p&PuEclX{)<|@&f5Xp6>=+2cxIhg%MluvRGxoHO1w{`W|e)Lx+Locmgr~0!VEx~r+-n)FhjPEhO#z-0P zSk>X0e8nqWSePk)b9p|$LLYp8A-L4jgm^+hj&Du9z5sVFz5^fIO^!2zO{OybBO~Gx$a!W5a(lz9>q8wZu67w^0y1TI5CPF2^Jy*vq z$Z*?Xwm0+7`N5s1Pl5+Zz6u{}O_rw=j)0qr%|g2I4J^;t)BWK3#cWsc4UFHqjQj7N zbu6DyDX!x=n{=m7jO|D4b2+Y71UL55>OIj1h~HT!FXC~vor*Z+F!xhT4z>r8Zlp?K z_;`DB-`V_5E$9P3@IE5P8ulBB&=_#tM&5_)TE>1R5#sruz(mGx=r;@L#-14ny*0HI z{)rgZ$@Sl>?PP9V#2L0EQ9gm!ibMZh@4`MsO80Mnm4HtwpAOtxwGj1#K34TDz?~cQ z;HI*C9|d0Hcr5%r_4-$YKY74$68?$1t>NQb$apNpcwbg>HTNULK4WxMALv8**zXDb zqK;L-gFQHI(U;_VB(bp!;?X~>i1_VCD68;I`KrK_B{=?+fdL z67X^NwV4L#GoD2_{hrmbd|3>EX9^*tytv>!;Yxwy3vR`$4$@Qqf;ML%^ z&)7~}%lO<`3k1M*6WOj@%Z6uV((_m5@7Mb;^SKi|FnK5Ro+;eN(bZ)CAP*RheEFU* zT~mXP;A8MIzwTP&)Nq56D${5@7BH?pTrEyFdqp#dLMe<%$e}9{F@u|k@)1d z$Vad}`~K#7f~|m>uLR32GL7>i$CxH7<#c}ByDGsaAfLl{JJGHgd<>0aDN%@ z(|N1E2X5?mkmK|7uc`Xc;D)*Za8rXr@Hdoh4j$>#6Y)n1z6$Q&&ga50WGT4yrxM`e z`vT>6&J&Zryshf_T=*(I553*k5!_{E|6@6^1m)nH!h1^X&GR8$sUz2CLIpR>lcn^& zfI6>qZo10ytb0i11)EOPbJl`1F+YbK887lRBIO>dMH9@5&Ncm>gn(^`Q-TTMQbABw> zerK0=@0r;%^Pbud)p9*AtAl&gTF<=tqnd* zcU<1a+#l=CIS1TY`a|eL?RZ>zRd3HT8r+juzAR`U9`eN|5A{cm$0j#!%g%JkM=a4{$QkMLD?_?WIH(((8o zysmC8oN=jAu6a{E_={V&L+@F$7<$kAx4~0w_RvRtZ>P174cukn^=fl!A@uI9?}LY{ zPJ`b5>?wHEC4eU+?t9la{y9Cr#_O$Dbt$+p)8uqQx^4{66D1_5~NF&46CJ zZ)nKRb_r#)g8QvEsju7-`uM5V)Guoa9?igg{*J2CS#H{2;JPNvM0A`~#s6uIIS(Ea7tsu@8HK8?UPMqjE#V zO5ouR^Wfurdnf#T+1%jT`!w8c?%z&zxPmx+-|>2;*>MYcYmo!s$y&@C_P$HN&2>WX zaU?mv#0#_s_pJRJdcVYawjZhouB+7_dfgA~SE=`wfg9cnLGSFxe5f5)VjX?7_{~A? zmoRPne1$02OX{yoI4&V$Uie5GMDX}%ZVQO)fbL ze|N!-;KAA)FZxV>gU7n{pno;CuPf6p;L!zZz>TF?|IvnS@I;{>z!US@As(&V$Qd55 zR<4j_|F^2&OV!(057Kph7tBki8cOT&MXwgnb!Hst2$;eFJxApup2i#YV`N6Sl0?PHavxDou=R6gP@_0>U zTY}q{aorUtz7cv?sMA_ekk1cxu)PAOxi2d+?0xdvJnypwzJy+1ZTlKU?>ty{n*=q4Z_D}pEymd> z3;g}#nnN#istO+I+#mXY`hIflxmxM>5V*PJaOkz?*+XUSfospRYkJ>^($Uf=H!y2Ac%pY>=>21U<8l3+q`n%@bL}m8-^%`SGyPp$SI1Vfzxh5K1+Mi^ z{Zr;u{rn=}zUv(s=cb?F?n9V zn-IUNPIdSQ_a}ghmoI>aAFl;>cHy{4uIG7y5cvVzXlI@@l;?aM|LZ7t>}fyvBqn}F zpHsPTo*w%>FSvD`x^7>~>vho&n3rOIaUX)t7QuOyx=R)# zU&ZVHzVSNf-Cq<3_jlp_1y@_XUrSh94ct-qZN%fwLmyx7eAGYA$v8i$$#QFP-7cN* zAs*-P$>82*>hpRBMv?FAO`eVC5uSYNb*+tEz@_(jA6at$2)*`wz+`W($8>(~19!RV zP@ioI;xR1bb)L}ex!}I{pMtvrA^5nqvVCLD!{FgsC&6RCaNT97%6#i+atT~aYXu+E z!VjSLq;bEr!NvJKUi}5Q*rN&RA=GOQ^xnEZfhR{%@9DP~Jdou3F5-E)e^q#;uJ;bB z-+8>b3qFCS-Jy?PyaS&=A@09TK4rghsQPHeDD=jw{h=3ja6Wa+djuXi%Io3!qnuCm zgL!>V`%X%HK@9%-_xXNxVdO~oIJo9-&ih51 zf`=oV*QA1$)!-HQJf?3m$F;5~dH96-+@<PO&OO;3Mo@4Q|?dA3n~B9Pj=PGyIYuuRHIB!S%D5ZykaK z-1`TgLy2wVI1)eG1s<-#_Hvd}-=q6S4{$@F4Dd0G<@=6=e*Df<>W%jm+Y`&7HxFjs za6jPq3VfOsak`qR{_1;rosSu(Z~k)lhi?wRaanHuyi$ojxpp_WCp*`raa%_Ci_YBO zq3KznPo6ssy=Pixa7UhE;8wqSybING)%}f*Ew$jI-#!|8eHk9Fvm^D%r+)D8N31vB z#?|n*9Q+78wu<{^JzM60M?Rkm9{IK`%C$WRQUB*GaHpT`8`}OCxIe=|^86fM`UOdF z&*u-pZPPf9L0G}7r-cRlu_&2yzU=H-cZq5tA z7AL{Y8(V@qhBimJfyhd5n~nF^g6j93J*Dm7@gjU)SbJZ(DY6UP_}5eT#P6~l9sP16 z&NtuhZ61CY`atq3^uC5%|HO)9fj)SP-wljy;`y4naUtk^i+DdGu3m?99d7_GuNq`3~tp&FoQr{c4$OxZE@dx1X_Vu85^qmTBuip#YD%Azo9Usqlw(&V= z)40CiwjIsE#iD!Ft4T#RRQ-HCxBbj`2CN0 zJ{v949o(nBuU`9pt2wO&xOAQKMQT6ii^%snaO01y5Kpp46ZqRV@H?~7;%C5x;+%hj zl|O;r{LN3`hV^wA|Gp{U!Rrm_vybE5k!K(3$8vrNctZU?V_?Dy@HgY}^!y1t>Em<9 zNdwQPk_X#>`?tPAzw-FG-i!C=_h&70ncotVdEFq9uM+gG$MaFH_FYBqY<@RZd~YeZ zw`XqF=Wpy+mNWCfg@)`ux_vj{6LPVi$NW664D6J^6RzUWYyH!;sRMYVeproj0{jzm z-a`F2udse3wSLTxzetk=c|EXpHhi@2Q+TSi1NYw2zRSS*%k@z{@Ms;5$52@d{0+tH zfr|w=U)XDN{!JaQg1`CQ3dinJ;KujazR~Xr!6&tBAh@^FZNy{BUJzXO$Gfc09zDSQ z^_sEV16!ewcjG!LwdHMa{Wov$g5|&yIlDkFZszzhjOh$+bDgHoX0_d)Z2%9H+W>BP z#L?+|9OHN$QV1*n4a%zKpWHEUAGmST7#x?)$8qP%lMCE1pU?3L z;VFnmm-RBZu0d_+BW>8vJ%`?<&(avUt3yxdqnpcuYw`HrSLc!JUoVveK?oc=480}F z{ucO)-lLXm6&hhTu z&GGK9TMgXagn7oZY6SGQy6wSjBg$+L<^RsmX*hUzH=jc^gjS{V_Y}Lq_}}n%f4vLb zF@f`u;pSxc1Sf3+H)Z(_KBk0vU29kj+~aNoo_xssBP^Xo{WG?UVRCKwNM*Ak&d`>& z(8trJRM3wmK?Y52UUH(u`ut{av@xyiEZx28KH zxb2(1;O3(0dV6Pg#?yNNc&G*Y!`TBheUhL&&%pJwW4#gOT5IiFtZ?h+Tt`{*HU#&+ z7y*4UXHNKp3ugy+|Fs$V#CKdL8`bx9TeG|iy|vsrmRpJI2mkS&;PIh+&fPXAxm77I z@!%}D?HIZCU9Bx*UU0E0*9if4AC$Xb9KUbn`Q;w`UGC=K!AmSRdW-8%SH3Rby52Jx z=W*sAvDs{JQ@zLFdNbb(;qAxk{IQC~QSO`E`}QR0U9%^k+|;?T@JW67CAeiE*8`EE zb-?v)-Y5UZ3%ze}C-QwZ_{VP2CmG(AyqOhu-LHmoA>@b+&Kx`N##5 zpxobJ{|`>GK`)fGgWK109@nj5{xOJ`)AnW0Ll#+^TEelsXMr< zFxPvbJH^0Vzfo^4$9-jqk$P~`pWHuSIM4Hx#H~!=mb<0kV;Ip7{?Ywhry0E6z#Y3e zUx&wW{Ty4@3fw&SL+CZ`K6?k;Xy^Mn+;-My^iN(V)VR=EogasITyz(UN^H`;B}Aqqhrtum&T=w$2>X( z?mR%QU60a_n@Fxck1QQzUP^4?b6$oKT+f@nbRbTzkM|LDy>DS16>PzJFg#;D*a|Qn zho3%yY2)B;?)xkB(Vc_o^AYbe`U`U&4}Qh*8~By?*J8)g5Pw9+d>)v213uv#%hDZJ z{81saSMW94(a>iB{1cmJf`<(3hk^YZkEY^baN8-a>#X%VLZ8Z25Iih#-?Hr^*0a~b z{T}YnNtElmu#o!1D(Kzy!|CFTtmS(JZEHDB?YX%Q@qN$d!fd(K=gt4({44b3bw%?U zGklDvo5J64Vi^3j?*-e{@5lrW@jhc@*Y7O%XO0(R!Nt%!&Rzp|AO9FW-fHc@Qwcr~ z?){=0xW9lI+%x$x^p@63!Ogq6fD2CbIzVQ&OZ?z`aMwDvqx25z$8lsG{lDOTtx!P^Wf^~4jxWbB-e++&=Q>tQV?MMF_S1hd-}@AaG2gn^ zjRH6ISOlN&2Hi(t*divVVHJvcLIWbOBH1n96$SV}m|v8w75A$>Y^m9N_ z=ctTzohKXnr(xL>_*g0&hhF=hPUMe1(0j}AyE#5dT_-g1f(QQLd17oOd8*|{;I8N$ z_ymixo~#cwf(I z_$i&KWGmgIbZ~LR_3_SxzfOW?~DOA zuBX5M*eq~okp7l`_J33)W=*3FRruIJ59Q*s))jH=O-=pThLhQs{;5%%8FGC#lb#X_exmJy#oW z@IJM4Z5{n*uihrf|E~X@c{?@cPjJmYb^AVijI)#Ardi{mH;#M-9=qxWckLVpuH9!e zc0CNP-DiwneGR=^_!->&l;d4L;yk$L@+ferD(8J`{_nu8SC)YXZ*iR?J{k_5?9KbR ziDg4kuIb`HaPv<&alFy)!@*-`Io^et3s#DP{641wRltpV2SFb`T_4P^8+t8H>#Faej}N;6ZoFoL-ccn2?wx!GTq`$FVFkD^SL@}X zAdhQzMd$@vCva2ES7{1QhOFT34Bvpeb60|1`<{-Y&tdRXW*xX*;(3$q+{fVN+dIHh z+2_J1+LYtSbow#;V-?sBjSIOiB09D@^bThW=)JqRAI7-0Ik@p4>&LRRBK#%iL~wB? z^Rrc8oFVmlKw6xEZ=OPLT-J#39AJNT<&eOWotJ}$@3v)})wv(QGyendXhDwCWNxlE z5=VO=e&b2zlh~Qs@X?jx^SOpwjo}lh-49$G(g1o#MP3h2-1va}!z}Q3eaU&mTc#Pf zamHKViLzV=dLA<0#(SNCk2%hK8~tQ9^x>k`bn&=%^1T`U!pFefJ9r%_HJ$q|r1l-a zQ|Hi5U6+5`Nf$#aW zZ+>^RD9HOTx)ui4*XxUNgP+NF5@c>JoEJPckM$PV`YZB->u`SX$efqZyN}T))xI-$ z@Ww^(WN&q!ObK4c2n^slBy_k7{N2m>KF@#m+g!^4t~;3vKFLQM?=~Oz^8~)&du1&j z{0M*NS4$C(VI1FgYFoq8%RaeNso>cORk>idc_ybrx0`W!xqUA#`H`3wCn zfE(Js1s`$A&(OQn_sp9%l?6|9=5Yx_xgSIG55_h^AKzFZUAfx()$QuO8twh+-U2bk zU!fuN(X+fh8Lsp@xXx-rJfU}UqFn!>ufeUy8!*lS+*hFO_wZHC2Om!}o}ZfB+@I;1 zDuTOJo}9z|57xwZ@YFZu;V(4jeQjqm?u#%6>ZRlQsoZzrtW_P{Cf^5@1bH9%;+^nG zl*|X7JkIsAP<}DEt|s>A3A%wy&}5H2Pb3zs6bm3d#+< zNA79D>*w137DKU&>qI#&ZGTIw>^kU^+xVPODm(kXX9L?eR(L7uQ$LICD|O`j;=XZ! z^&DjX^wnnjntP4~7ZS`5`USn&y5%nql$bCn#IM<(so2+L?;~>g4y(j^_LG2Ib+8=^DYW%iZsRw@- z-fy+m<~qb+GJ{)N(%=3m^MCkuS#U$!94uFC1fNi>JGgs4*VVBcK5$pQqTt&8x0pBu z+;i$S@_=qC>p8h~2e|z?^G0-J6Zl)4Wj081e1`l%_yh(v0uPsGelUDH5j>KqJ-D{6 zFsfWozgy%#!+kr^SuW^oLN#2U% z$k{j}xYs)m+_RAPS&~&aubEqq08dtCd)Z1nhu+zBH@Ggv{$RZ~2Ru2g0(fv2`*W~b z2XL`r0Nl5a^Q`k5jxTTV55SZCIS(3kM4`9k^^&XQ`ZI;V{rg&iOL307=*7w4(UJ|p zU56Xsc!Ps-gZmv#z=fiN!DA;luZ8n(1=qFbd3|hRN$9O>vV(gTalLAEo&nc+3V>_% zY#&N)&D}N~7djq>-cj{B`k{3?*ONN$0&wG8z4^apkKfZkIBuG z8iM=7JYRG7{dBb`$osq3@I1o(?J@eSoe3_~_!xSv-zN4}0oT^Uy2)H$c^>t~`ZLr~ zeV^FaP4Ed+5 za$NWu+;dfck9pr8@Hf1#gOB019z2wp^PnsLs5He#n#+1{Pu~o^_#_W_{6p$v-;4$~ zHRZZ1P=WJ^<7IvDcv>d<UEJ9(=_9Y~N6e0r1gXVP5i&=Xsxg>)mBa{K4(aV;*%q8Tq^r^r39z))Ge$k2H(# z4~%`q_BHrgJiQu}*tOv(LYbn$(IhQWQwzvs9RverSl(JrOI zqo41EKJK0Yt}n-Y;%blsdEOf?3U1oO{2%Lg0DAB7D&U@9SPy{{oUc>Dou#56Ur!3~ zc=fHCLmyZ(lRgKFpxi)JE+GsssQ5A9pG`r4lRO@tA2mzr62BXmE`(x_2+TvJO{z;>T!ie^0=(i zpOLHW9xOE!KDtaf;U8Z%2J!1Fg~4ryM?kN|Y0j|?T>9V!c(QMG=(X>oY2UHczWbKw za0~iGcmwrWIL{i={secb{<_DUk96hvy|bkEJoJ{=TvwP!vs~}?mp)NGPVKwEj%8ip zlkCR#>KJ}*jd)W1=CRyNEtV*Hw~2A;KI8f!725?LYmFMv2YTLSJnDCcla+a1qaBy_ z-DK^!+(Vhiq`YbHNj2d}?*4}DsN2N+V_6^~&fs2- zJMDOdeI>!Qw!c z?bDs4GVd({ zE?(z))w+)7H33&Xa951$rP#J>h+kh>0=KLC7~`FI{+>Mi8MyQv&&MscZ`VqKyskUM z`?mH+tmnuNZ-d+N1aLh$R=*(Px9s`=JatIjH#Mt2xVv9TaK|cgd#_61k>2FqnrGk> zy_gw1TtEGHF-(7OyadLNV!2NBKGX$uAC7$9C<*dDRrxs{QT{dCxXw)Y`Mx7totNtr zZtPHInC%s>jC%F{p5LU;PKaep?4l*yGyO;liX1U+^}d8 z^q#%E4;BA|eXsVkk7k|alei6UCuAk5pvTEaI^ZO2V{^Ze5aa@+g9`MjU)@O28G3ad<$fbdnZIXO^ z`jT6qcQ0l;`f~BQlmFE)@c32k+ws*b3VrZqO>n`=`*hAp?}Dc?6otRP;X;&aIK@0~ z5_F7n;h*5a((G6EQBPMW<;UdvtD^j??Wc`28@5uC|I{_-{vZ7wURTldp+#}%^%Acy zx!m;e%%s21!uCpL%?_W$*4NN`)qSD%E&agbg?N9>J&5ak`?fsb;_Cj;heYNj&xh5) zwf(fVHR`;O^J8#}?HTmCY8(g7F=b`aTTfvPc?k_c1IDZ8U!@>VwJYDC4r^c*;zqMW0ZIWD$RAFtJ@*DbG-KW}z z*O8*OqRSO7tYKc2Iy0{ZUVRR|e!va*B$l(ir0ZXSCo^&1f^|rtZOVTi9>e$c#73=# zUYgJT5LkVSdUao!wGs1Dw15TWnz!+OXy^y7AM8CEgWGB|pPSCIeuRo2!pGk7Df~k- z7^kp?`wWFwF>oPc2gGB}8Gt@f^CGzQKIa|rVJY~#^Sl5LyzB&h(7V7L^_f>4 zi^sxW_qYP}y|w+Z6TtP=?;*}q@h6DKl*aoJsSl5Wizc-nTKhpCtbGYQwu<*>O;=bC zCLP<+=-JMC_`Nyw9Ie6eT&K9X76tJnD=sAi{0nb{|Wb7ibZ=f9`*S({j4JJ zarWhSG~MC-3)`j?eEjPDYxi%{;Nx}k`wqI_PQfQSun>4`^N?kdAYXSI$LAEZ??gBX z9t4+CoG&zPvNipNN+P4_tSF z2h{s(;qgImX=6Qb-)r^$%Wi(R$n#fsaPN0@;A8&a59qyj*Mp1qS+2Kisil%2|F0G6 zU*A)muh;hg4;R}By=Mo%*K9tQ72K@On<1MX{;7FCE>V1f<4UpIZOnV3u>!PF^fzwe`qLR5 z2z`83ZRnE?ng8v3jEr;bP;lGVoZlmN=0cx*H2^$yzZ>GQOs)pK=M3v1dXV#)^}G8% zNs#BmEv!%frNPh(pSFXKbus&4bf%iO#}5NHmmke|96TR4^`8YF`(Nt19J=BFw9Xt69LK`{qC&AINn@{Pa}#CmwOXcjWnd zh(~uf8}yc{zd)ZH$LpD?@qa_FE6Y4@e4+MF-4t+NF0Mng`zgYY9l%48AbetX^TFTw z`Z&woUufJetzOWZvb0|y3G(_s3+vf(k@f5!GaKBeXFQ%}j3@YFC3rBvahIykcmlD1<|{t& zO3hfG|76*w{2hq8p?6<>A3T+h`Bu9A4Y zV>_Ua|F{DBc+&w3m2x6OnV&<}x!{)CLFnVXeuZ8Py20%g$Ad?PbNt23u`pKLheFbwbkc^RekX76)4wq`Q} zvR_Fjc-_EIU=O&bbuGkWKh66KM(Zs2C)NG%?h?G7V|&Kq4Hv0Ly}*5>(&S3e3x`XB z`^T+DxzTDiaB)Rza9@sx>m)%wKVC(yJ!fsmJpp>}&_5B6PW>LS^GOu?Xp{1)e;4?; zt5ktLyoTQ`^4I2g*Iir!9&6JPdi@;rdSj*X)W5$K{_*?l|Mm;};qScn0NhoL^(i(U z0KI8dKKR(x_btSl6a+WM&N0p&>~E5J26(7B-&bsC&3P@-q$Bd4qdLDo7|+@f@!KX1 z1~)ybh<=+o^D(%-@NjUm{}b@2dcR(%RvJ86pLt0%&VxP?>G?mobJ~aLxOeRg=)Ja4 z;E|r37aSE=GoCdiz@ufDC*8MNfcrm8#lqnIhyBjeu4ckwsZmX(jCsfv6<|LZvEL6k|6h!sSoKBYld>e`v-!Ds-=ND zW-)JA`=mdQOR3MtMeO&XH>%IaS&#YQll=JsxbOY%;S>480xs6w3?5XUn=`5JX)#^6 z@;`at?r`vE=stXG>id+;zjg(;?C!_-KODpOi**5a4;ld;=*{~?sjTI2UKY9E7TnZn z8smwV1{X%oCeOq;W6{O%F{#fj#?eKYx-pm8JfwpYEr;WXEP zzikJfLk~CNd57;1&vPBqZ=zh!T#jG+-i*-u2lM$mbDj2xGnJX#S$+@nQca$BL~=Ty z_g3cmHaMjo^wA8Tu-u-%K_9Qqyk{Of9o#qEv_TZ)_mpShby4@ny}(^+yV%usF@IS5 ze{!F&0o*v3{m@=~AhyxtH5aZq{c0R zk7edk#IN~#9vue&e_++FDjJ9El>i{3;@rU5?%6wm0pcVa% zCm(_9hdibJ-I>(O{ZbO->rt5xfeUK?l=OG$uj<_oINpu#TmrXRcwfm{r7nE@^-qFF zuXjxsr+*9A4;l|oVY@hoaKB~p%L&lyx7UGB$g&4M!tcDFm3+qW=v3p3Oqi7}PR&28 zmg~>Vd}V3khfgSf5_+@xJ_>6Qt{-CO3NI7oTf98 z4?LQI<0x*-PJMCCYmrz6w3neEzb6ujO@ZF{ZVUK}!<#`bUi5%V`MQG#oAAD{G||Cw zYxDkN%rOx9@Vm^P(MNgV?@;f%pboOL<(XzwOLmaLqs3+JthYy>G1$1-V_;@OU*I(|EC(@X^oSg>s_qY)sNuzFZO}!-{(AT{#kwB(X^G|29fodSj+p! zhU{4pr|=HB@n?=x=W8Rler{LzYd*f_d*Kt>$LmEJ_t;;i0TEsy$)XW0ZU*jS&AE_~l$?8IVlV=?O8_p(7R zdXIrStBr?`_aN{4dp6tvkN2zr9v0dE%^yz(kJg@_j?3@0NyiQ6IKJ$;DuPR|sgHj< z499DZk-K_~gHK@4OmNHoR?sJ}HX+}{^BU)XchdQUbMXAdrgHBL`gptYe8*j#?ULHp z8$OX*%vWx8U%G26`?lp4ZS%rW;Qm}M!IMY09@Bh+Ie!M%e6)Td&HoJCS+y79 zN$ldji)gtJcp$_)>3hQaq(X}W;L*=!K_8gH`m~=|Nq&^`rYY;kh{rlTiTG1DIDbXo z8V4@z%HkIV`F?$87kuo$GJea;*5J`iW5E4k_QPQ1%;2uItOqHNTA!btgTJ=VU(?49 z)k~-MujD>h>B%MNEtlAii7Z?v*d3XmkGnpF1`>dqv ze4n}b*$DU;%N#5{t@-PXPRDnPg<&RSNJDaF@8g9j?>f?ULWwgxgHDF{*?80`yJ?A zOPPl)BdCuaeTZ^XkGLLi3tT_AhMWPnZe#z^%5}b54nE<=2ZET)gf&DFUtE~v)u zoi!Q96*-j)In ztY&*f@8$y+=Dh;<<>&&vC07@4f1LM)<4;)szAtN%zwvxu(p?nX<2nl;gKIT>;vaRy zarqkXyxU!cKDx>_@L(ohzty-tAMZzdukyO0?rdxL*t^h2zxhx2OO^YAduw!uPio~4 z;QBGltDcN|z%?J+70!?0sq_i%j6*Me;f9aC*+S~o=MclyIgi*ot3GdV^MfSx)_hao zlPWYEKH|G}@QC{UANL%W8s}PYPrnbKx0mL1Z1+w9^(OtjA6%<9d-HqHC%38Bt1s|) zjWzQ_ueFPA*i!ggVwG1*g8aW)N%%yHa=oEDRU6zknf=XKWi0gmZ^wfNe*FXbR2KF_ z)3-iw|F68?8u^mv*U@#I!IKVNU$v|2NpET-eX8;LzitfkL(otJJX)IV9`dnWd|#FU zx3-?TUX;VNMmi!M{kuEB?Th%FY|z1avmIIo{${y>Z?AxRLmYS7^Q3|8=fJ~5e_XHl zCn|S?zxdICbUx~yn68DgP);K z=Hd6gqn{50w|vO^FRqE1;iIcy2ajLjb$%fO+uiZ*LzJs;!23HfV^QdhW0ykjJpCd3 z#i<<8}noX4x%+Xz0PrdQw}*gBqZ9?S?XR=Ei7KE(Tat_9V> z4Tk*i@jM?0z3(^Hf2>Oqdhfa+;LcxoJ{#J<0eYK{{`Ll$Sne$kxZyajr#WuX$N1@H zaDR~b%5t?k^r^$M!KF{O(*FkwxNYumaPJT5eyZi17p#w3gS!olp%=<}px1So0B(@i z`=TIUXI9te(Im^&H$4fxdph%v;c$chsgK;D-WTM4470%XiSa(USAM^>;;;D#bw|L* z9A*932eAGvz3YS9)%Vo--fzB5lK(p~?FH)7{|Wu=8R_q?!~Q1yeTB#Mpf2^5-xC-+^%c0jR&(eBpOlB*b)9+Gr+yDhjAvn-dw8ADKbigCdHgZ- z!o$1pG300qAN#t4Hp+*p<0?G z$p3TO;p14(>rT4)<-iStnU}-{JdaD1uMaMD<9wv?*qrgp6d&i%LGTINoZFPYMe%EJ z%Ms4A<`!Jr^DJk%=AO(;;c8sZ z#|H4YB7=T~kNeOh9Iw^&k54&ndoM4zJ;r+TwNPU84A#LoRS@p-#~2y&1tx>h*k4$2^caJcj;NH$op>Q5||y-6r79 z;|supBUgi4&Bw^su^v*Nu^t@r4uU7t`?H>j%x|`FgTQU!FW?h+hj}AuppW;hd*J4h zAHzR&DgeElt&y(~Bh8{!MP$OCQ?-=3CcS zylx;YZUvvvi!#Wok^ar$?^|>NKEmS1h$lFk*U7`vmq717zlw3H@q`A9OjmBCE&IP? zZ6|QObO3tODb}-Cp&@vz=xK0k%Q`4GQuX;lNs#Z$bYWf+_ORYU{+HmcGc4D9sVd_v z(ic4Os55;Yay_ZPItBjj-CS=6ud$y*udIgNdz<4_yD#ipGZoyknD;M)TfBZ{-fbfH zr@=olo!1k5ZDznGZZmnc;7)&;4?y#+;|z z1LDxTUUQup-pYRB+u9X+tGPaW{Hs_$p?_wB>%QVXQdgGl+m!gMTeiU`T$%mNyk{JE zEXMCWId1Nw&mVT`$1{GR;x%yRt+wFF-pk?Ryf_71Qm=0~st#Q$337eP-_sD~U+w#G z2HjblM;kYVmnmGkj&1y99OgTF*LBcq^Q?W4csji)Gy8vZz-3iWAN%Xw(8t|TRZkzwMWLJ5@laO z;CZF+`77vCvx};ndCWAD?`MmZ<$F2)jq?)$aY_@eq$@XeY$N$zzF$HR@@DG)u;z;e~#nKM9de?!s`61zTevx=nQVJ!aQJ4v7aYvuLqZGx!|MS2T!eQ11?r% z|1qjQy71@V{@U~xyZ1#rq1oSq8_zsjC(7{!Z;t|x-1r+jGOiE&eJyxBIX3##8cEi9 z>n?;|pN;kG8}&K)TsQQFHM~wD6`cX@UbO<;^n&BjD}RVX@rlm)4L*XM`=aC3gW%#` zUdPbBBkVUk1P|XlwN{k>JMDYKrlHfRcYgpMXUz|`N%FrZF4O`y<$I*+-vjrJ$g@`Y zciY(9j9>j;v-!6g;K5oqpx5tG<1h3je5AA5@v=Vzj`950xTBlulNbK>!e!y(%9S}C zPnGNeANjjAYMl9?k6p8ZTmRX6~V(rnt=-q`FxP}o$l}g3%KF%@WrBRqv_*E8-P2lIaD7Xe8dy)pxn@R7ois> ze+ZteuD+M=)dJ}Kui1aZUq$H6dy9hqtIvN2{_zTnRUgJLuFe7O6UV13H~iI4;NHP8 zmG?opp*}J2=;o8@^rr0Jg9~}SP>+l8>%Q3p9xB^a<@C|sQ*G_?_6AXqufuiC0)K74 zqP8DT`awOfSN9V-j&WYo_8$hv@_w27?93I4k5I%wpX+?jlGteLD)3~9bljwJ&kXke zP}Mca{~@6i`lsO#`-#7ddcPw-_i-7%=e|eFYhEAz_k9TJdl+mvm%+!DGaG!geND*{ z%s-N_6mceAGXEH=rZ6t-8y+lI;!M0`p7&0C0WMX^iTteTz0D+W|NDnkJ$=j%SEHU? z6Zst_&BxZ{74(tEH`Q|K?_PfzddD4qIxc;59Ncp7>vZvm$4jGMi7oDe`|Zt9pTac8 zZ^=6&T|C}FWuT8`=nj8P@5#Fo{<>bPR6X;Ot{I;Tv+md8CpVp*Use+2=W&|!$u7#j z=0jD3%HNL*RcosJ1`6vliSniU14SZjniM17OY%nvM!fkE7 z`$YLW@>%#;G^J6MYXgQ}kk`7w{K$WJkH)Df=2KTr1bT z>rd#tGpZqeaaQ5HqWtgnuLS5#^@8bqe7p05J2p0awd)oX!F+ zUL4y};hr`PGKli8J>$FJ(V^Ewg=_WfsZ;CnYCC$rt^gi+ z+yM2d9hbfOTi`pkr=ZukAzT35`cJ_sijT%)hFl8w#C(-XDO`&`G5QYTkH-tOQnSp$2A}NqE_MU|8je59r#CcGnf4@chA`jel!0RlfnbB zdGOJV+7Ir{wL?(&zx~R14BWbV4&u@Jr#Bb-xuJA+^f&Fegx_96A6h%K0esZ{=8oJ1 z&%8S=b>u((ZU_7SiMk(GRrFdsVwbO=4@|7rM&V*#8|pzCQ3Lf5@A+kGg~t~ez&)4E z;3+rt)@w^#qWte+Rj=_x&gY~5%Y8lQqkDdAxWZkkPjcQ?9&fudb6)x?f>e7qb=b2HuWkh+|ZTf zI-0S5BCD(QQg~eT3FqEcSd#yi`=LSM#))ZYujJ#2nH3&CP#8YWimSl?ERwB)!hO$e z&`ULTfcL0*thB;YpXYy1lz)xxz2Lo;euHro&yfv!pV|-OZ#Ai`=#5`KC=Y$P6VT6c zZKr!2TL<&l|09ZMz9!QR6`)cDw(`(~J-hG7ppm8nFxLaOxDEc?^jKAifzW?P~xxRWOq1SxO>TzjYJ1)&X zSbn(uzdjllW`5n{zg+Y8G``VY;hMkLk@b@l$@Oae2q`t6)P9Qm7QW8BWNyYhX87<# zXT|5u{Fd<6YyV#!p2G3va@sm6Jf-DlHSfvu1-O>?w0xM%GPSLuf0H-6w#4>du8m(! zuZ>?V--b&)Xr}13I5mGc&o}+AkK1(wd0@n!i82azmf$+X8Lin`lK(cXI9*ranvXYG zt%W52o!GsHdGZ?98}?D>pfBA?EGx?Y9v#i~r~SazriwmUDl77m$ItbWzi%_lzn=1| zON#Qp>%S|Cd{VlzshK4IZOYoan!=4UjNsbwYV(D5yc*YzOXJ3l#c*6&J?Q*gpO||d zM}D&|tJhlb_w6YNe@(Boqo&umHh*bcD_3h5t=!n(L6qx#S*NSwZ}oEANzcl(kmSD; zmG5AF)DS`MHGNBeS9h*YysPQ2t!K16sjX+im#LR6kPmh0Iy3%sJ?g;}V!kz8 z;Cf#3(bh|E`e^xC^U?HLK7UiM<$q1D#iPw58rOWZc}MfnxHi9NT=UW9FU_azydaKC zzcCNyJE1Mt=bBzyA8LC46}3Lq^`yqNd0AV3hSmI&l;*dP&xK5wM zp0eOZwVpK}ZNAogM0NeIn|ly?ZT-L2a9xD|ueVEzayjDA4Cv>&s(-bR(vtF zU$H04ozinQ^zqexoF^LcWQX1!NYzmE{sxmvD|*+FTUgJm-QEu8L5c1+%?dZ^o`E}p z#j!3jhT6d=`1^D45h+J)N!Ep@>nbVwRFfpQ{m_xh3ZF7yU{!^i)3_c>RG*4qldT}2=1mZ_nlkLSD&o_Wa<#ItsLp~ea~mf|?-GGqmKs@Hs!8)!y; zaoZ|Ul68rFmz#+4uP57I@CmFu1%2#gy|D^URp5Lfe#hgL>vB ze4FR*j#cEbg=rWssedp1I$a|QkAJ!^HT76HpCOR@jTaXkk@BI>*L^o zJ!yk+To$&AWgW|nTZTIo9`LhWV(l-X-clc&7@+X*Ue;S^Pb>I@`(z%Xa91g|OK?J7 ztV6={$n7Dvi=i#c6?^U<1fNo6+Awog?7Mhf+JmNBEKT>=P@t zkmNtjlQwh`<=^Nz9+x-y66HD@&gr0V&q&TA=3hDPoUc9L(ka%z-Ne+K^ZFN)he03c z@&)QmNTa^~#@^uO3(rwMsk-Dv%Pz&dDb)WR>&*C>r^s)H{tuxyywd>f=s(7Iq`#c> zY4#b`leXgY8F8T@d;*0ABG2n;klP>hgg%<18~Ts&WG2L~<$v#=Jb%>kf9P^2=zYfL zm`D6;sn^D-*3bVPr>b7-=bGO8&uI9#vMk5=3Uy>W&NhD|pIiIB7^2jhf5T%Ouj5Qp z)TgsBd3?u9aN%ZQ9G7czYpgScos7p}`2{?_hwDt!Z(MK08dX8LR(1VpPG-dMYI#!2 zZ(5#oHKsoBNQeAp(e&S2;G^Yj!*G^s+pRN`Vm|j5 z_!9F%OwH$8Mn8p*`9&?vJHhF!hv>uZDA&^WEV!=?>#f(2*3kQg|IB$R`Vi%g$ix0- zTih7)oi0wj`w4yQuQ)$Ss!tcoDb#cF>+H}+X7f6{=hzJR+vgR-xE2RLf`5J6kKmqb zEv-s>MYb?b|D{HaB>8V!zO-fvcQxnr^VBG3MTMtz>fS_@fAyVsU9NQd&bTgj==|S} z74FP)68?#n_XkaX23|jh+YY$x;*b<0x5UprUuY z&vw!Jt+?!9KZR@k(4DHm`n=R-fWmdE-ZR+>9_d*e`P0#mK8GfDLH)RM$8g=!l!xQ` zP!1jXo3s6o;AZ{bh({Yo`Wsw#Y2#>M2KHNHy^I)-fd$m}y0wh;St^L}Wvb5gjPK(S z;K^Y*5NA|m{Y$fWU2(zYrVb^3>nX0cuZ^%`-Q{015bfgY%ypOH`g*jB+jt4}>05Lk zaju=h{^nn^4gE*(upK?G@49ZTI9kDjbA z;6H1Z7hF3ZwDe;AXxuXBtr1H7XgtxTKF&LA8Gjt6@OYfd~Nb$`Vtx`6ep|1uMfSIgUpc|0$R-tCHhuFVUHOYFB6 z^I7=J+QWWmn$EoE$yWj8M((6={lWAhkN51&!HCl{ndcqSUY_4M^2~(4|IBEtH>}Ti zU$R-QkDzxqE`afv9IfV`8(C{ha@@&=fwoHgk!Rnber%1c?1!Cu!6zheT=<xk z?5OB%yBWW*)Qb3>AMVGz>>tJJ_R$=pQLb;?V4I@%-(sBRB^?_|^56P(*^v*O`UJ|& zwf#2q#-n=7*C`{%Z>mov=tJd(!AH03cjzP4^B|t^XTP^s{Ec-PkL%=9w7co#UaSYa zpTwaz96kshDtiU`@KW}xaB@sNB_8Wv=W$$OzpK!DM;|~Q5J${JJfX)Iz{73>>L++v z*B#~dWdAq4d=4M;_(fblOym7rj;DL>wV_XEskq4Get)=)xUVMu2>zxq6@p=YH&?n9<#P~8#pG%r@bF)}e&v3j@g$a$hy2X*36)#F?}j+T8EPZXM@lj; zIkL^f{Z?!Lh3s$5zeJqgQ~#h{PUPK#{;$7}{R5Kg-9lxR_R5v55c+MrTM+ul?!3^u zR>aXCq14a42^A};c`;7Ua7cE@}DBPN$K7O+vj>|DE2e@>e?d6DV zX8h9*q2C5tava&;Uje=E(#F1uPv{QoK{xgq+AHKZi}7L&T|_*_Q$g2~TIg&DyuW zS<$->N6}Bb_gSB=GzsI*UTPQnzkxnsOHueIQU%cet)3s?@5xyk{_gz6(f_?CSwEff zSAf4^(p&IxuKNP|`pf&G9o^?n4iJ^{Hyi>_tLw$_itWi=J{+%*C{hFd(O@I^*bmbG z@!104#>zF(UWNxM|6(3|ydQ1_*RP^afgE$d^|NmGSIV_5ARk}tGsJ1^eXgg%-5>8q zJX@MKMLp;?Uh4zij{c=D{DFE16pLftiGD(#NU|S}%UOIB`juY2zL(lE7v;vAxxgdq zso(L;iue;lQYhDRm+g`giXvYbx)rc1<+>L9hyuie z-OY86fJb!KsDIi7^OVuT{5&grf0P>>`nZeYuP?)L6BW4s$J`@=@#3$^b~isCjQFRN zykk@J#uvxnFFAU^-?(^tCxwSlZL=DmucUCD?@)hH{td6%3w{0lZQv6>d=%r$_|`7)dr#Mul@#5|^_Ulo z5%>tR)?`8a;Ra*T&pn6PPYV2GfWPPdI_fj*hR@A~eGz|b!k-v-kzaYdzL*X^qNO9o zQ7A$m-Klexm2%?`GQwXd5rU7u(nWB8nVaDHir}6xk^H3cL>hfc1|x$o4W0GD2^zlS2Kw>wT{1CH-d#QCw{MvFY1 zzcP)bPl>HRK_9Jt6kOOqy>&|`lcEkWw0`lwMZMV}~m z8~r?xWfAzHl8#aecU{bl{G50%03J8|R#@T5^_ih}6~w+8+r?t{5Rd-qm;FWg-$Sj| zL4R%5a`Y=}m2$|F)_Uu~ql@!rmSkOQR0r^=3&$l)f9E{Q{p2dfyYQI$c|VjYsOXJP zHlZEee=|;fzcYUxk@^3z_1$qUW$*vdqX&cN!5|n!kABUJnP3n-7{nL^gXm!`(W6J* zs2e?NEy3)Hepw}YSS1)l&srtRAnN|^c|SRy@6Nt{^Ur8|z%$5O zQ*zCH$8c@?@~MJ!HH=&Zo{|2HvZ8b^RP75pShk{n$@n=mejbmXL*sbRM*DOe=jZqM zxi!9j=RdO`f$~?|pb+w5n9N8ZUtfYMzTVGng3Ptv1 zoQvsPhjJ#JBjWp&e4mS-W8wQ;&Z6Z|uD@%0#4&9&m228e`|qKuqcJ|}BKy?*e1%w! zaDFag%hmJXaUH+cRgmft(9wDqKbOMy>G*jVZO5r?SbgQ44ujubiT1&b@iE}BRNjX8 zX<0=2@O67WU*_xf>c!zW#$&zyy1gJ>H9A`N_Fw7`T=VKM=9TiQxm-++>tA+sqQK<2 z{`{N+$NzWEAu+uj``whE*VJY5_T#iZuOC)Q$8g;(O(TZeI+OlxrK2sw<4aG4yk8MH zhY+Coi0Klo&zK_f5$!aZNAUfrV4izu_u#cQnBPU6qV>;UcbeZBoR=vN`IY7`)_*83 zU0nY$#$QK03*x7%#Yynk0|vxB(?c3h^=~NdndV-t&GZzWiRh1->NNhEr}w}!t5Kk1# zY1}bo9D)A2nKTd87N)#QtoQT<>+had$5I68st-`y5Qo)mE=u=`g5?oUOp_mg-+1wN z*vHp94f^X_J_W8R+g4!mo=dcj?R`({HddI$OVD-D5%bA6vCNWXLB zf1d^C^GA*^>^&Cze7)K*h}KWc7ib+%6{2~cE3%HaqEz$BOrI&s%ODPW`_T9j^3Z(B zT)k$BAU)Sa=2J;`f2t!&_u)ewA+LK#_MDY31>=in_7}{jOpjMUPusa&un%8%vi|W9 zxMEdgJ*xENfs9{R^a8lfUZN4>SFe;I-a5Zt0B(q(^|bJTsff4o1)0Fba!=4774stN za`|YTUw>H<&v@ibXMi1-rJf7&Nu#$QUosD>33*#G&ErC|dOgN?*Fy(f ze~iXWUF&U#Z`#OuxVJU!Cx(yCPhkA6NW1g%1A)0T?r1lBhM%i;Ma~ypIGUfy2X~}` zUtGKl`fz?vNm`%h{CpqT(Xa~aZ~4zYvMJIod>`32D01%Q>kRbMVC1}0lqwT`F6=sh zyjMN@Ey^_&-UGX7^3I_+-wf+N=FXRoT|@t^JQVX9d!89gUNmfkS{@T)zn}m+EHB~O2Kgc z{)p;KH2fj-X>2sZtySqf@MF(v_<3mmD2xl%oW!5DvM$P1-=2$c!KTWM@kn7O`y2Mq zxmLw$8b=f_h9Q1BM_(+-`1$)R7nZ+hDoXb<`wr-@olJgf??0_Q!|lzdmJp8ijN|iq=$4)9`foRNKc;E$v;ut;CUVA=W+YL`g5G~2a>41lBcCGeK?Ohp6bhS zMRuyM@lGD-<1IIO0F!sFBz?HNvFj?}T%PlDobz-1@HRS^#c|HVan2+5B7Gdg+93`* zBl>V2^>D&DkG^-A8lt41=2Ic$rN;e~U!|R@g7qKWwkB(mPOv>I z&E$C;Gw&H2VB>|j=1_TtYk#HpEUvA0VBAqG>Dq+hp^B7;c$X8u{QK644Cnlz2yQyJ zCidSr*WcLn2IRT^9GB)JkmoqJ1DEG^;5e7(xVPDh1W_jaU0BsvkS-i|PJBT2x$?Og z!#TgN_#2Ez?!Mci7|!1})aEcyeKR(eW4M?~ad>B93dRfnGH)%0hw@Pz&bjzU#8tz` z!Wef9BPvnch@7kE@3Z{x{CtBB&}ZGVv6UH*V-K~LbMo>wqI7TgmQT%a+u>;N=-bzU zKdd_+sLya-FR^=BohaR(98{vgzj5mZBjiIndsSjMA9tM2F7O|1hwQ-h7szk*8@fUt z?M+K7CU37v^CS7urwO8TZyA)X6{IV-TX0qF1W~$oPk&lnkgi;R)%6+R@g8YZo8bXj zgeR^L$_;vV)MR+LJB_FM3!Nb^om=j}a9%F=A8Fo)yn_3cuS_S%Te^LRyu}_%{G3NR zM~!@g^T_+>g}i)z3-nXN&yjwytts$ez2DJK1Ko*7H>+TRDCyy~9qKGdSKf~t&rc+X z?0!Zy;06!nf%5wWz~gzb0`W()iumPa$^kcxNk_hFYfb#oMdQy9+WHJQZE^JLD?aryVz5a&7W^wYS&&--zn7ZX0W7A4;B zHdSB7Z~mV85$7>P@^j7;7}pH_(b1016T0q4-t+A<2K`Y}c0bL_##cjsu@7~^Zh<0% z^Kx|&c~@T=k97Z$w;rYaxc|xDZi;eki#iTudMZ~_x!j)8dpE$jJTF&0JYN=EF}WM` zbVlB1^wf^%xrFreSKc#(@w+1a!{yZv3#BsrfAW!f`6KfSUar`sINDLRgyt!}TI6p$ zPmtbALjJ?^1W#_tANV;~j_U^z4?pj!uN~oXhilTaNQ`W#3O9!FYJN9OwBS$F0NZ97t#goquyyq;}!*{uS>={+nmqYVsd* zv<>{$brJd2wGsc-wZ3J+xt`MdBcm7(*OS+auQU7)m-RsVDl%uITvvT+-{@?F+Y5XG zk2`{M9>a}mS@<=>$^QPzmqxR4%@O+>)>efddOl7?9&U^1&-vxs(}4e%-`bk;ZLX)L zB(=LVZesmY8_65RE!1AZD;LV;_|BVO&`-5piUJR?#eU7)Nv$=L2`w+g*#{F)`*gf^=0JJH>G8f^Lm= zvV2cjDksL5ka9ZYy>IX2l%C6Mr_OX1q^mkK54iE&(?o{*8sBTmaGr-~FVQ$I%{#!) z$6s-lh`6CUeH8T#=cl;gc&|i#mGN%`#-mwFcFR=nMSH2g?QG5Pu!j0kATugKlKMP2rz!6;UOWK#UOy(C*^;`QUNJ zQ++KpZ#5C6^3*Mt#|qMw+d&mq6ZLWrayDbQu?YE(Bl6y&#!LLRIPxER?bndkKmD-> zlMiGk`B~dr!Oo#+`#UgPUz73^_tT=l9Z~eY2`|@w$lOX~zyD=htRP)EZZ0y1@WjM~ zf8(0OY~+V~2V;JroI?9(o;UH)qV#)RjfB|BlQ!@N@kQeS1}A@==S1!B4onW0@Xy4y*bho~WnPLA#IH(WDWRcOKa? zR*Rmp-o#@!ElB@Do1YSGA@06BXwkfZr0non;(+?5het;p+^R zRC?dRI{H`exJE|S^EXkyOY5E!b`G2`l%-rv!L5~Od=#Eu8O-FZF_fRAnz}$wr%pG7;r@cuj^kS904~4Q3VDm{3B6Ad>e(3W zVs%eQW%4|)a~>W9{q4KwfZw)={KwM50X=P124umzeHW(o${wAC$38n6@`^LEEVyf4 z4d4Z~R5!A6c^+#sP#&AnhTb>ld1=}k8T8Q{?Tz@xlwrcgK@UXh-FQ>75yFn@{88!t~~l*RJ1&al!tXrqZv_)B3e5#v{ctdXHP^mw|RM|DCFbKEG0X<*YKku_);w zUg)1yUj80&LwMD%6O-q0Kz#Zd`UD*GUOA6f;|3S5&v*>IHb8$~?zMSi>M`8^*PbkK zIHO&^1`JPnSsQjxm5j{Sru~k7s{4E=i#-n?eGc5^>NHT0e#iaC|Hnnx-(&C$U^s8z z3twlVT;I)~2Qi%cRZ>TdMwITu8Smh?wnvml1@2WM`65~K+tlypLSA2eb{gaHC6GOn zvgd((aKS$0pFF>HAN~`12A56A5+72|>;SHOy>B$*(Kn*^*%d!I!LP293-M6>8@)&G zuKiOHQIgZ>yC59`imqk13=FobA^;nndEU)k$qjR~o6ykYtI$r@M zf4FnoEb_|z+rcl>=j$#=&$+zw{K=9`K3Hi7>>r#<`2f#j`FoB$U*)(oZ-t&5cN%Ct z)7C5&_2T>c!a`a<GX^8e+rd1huQ*B2F;$0cTJmNP+dE%^=B^sIDc>O z|5u*lT%OPSL?`X@a(y_D&GQKJQ_jQdD}6r!;|sSN*N4mhmtT0;5j>oq%PTY6V0_{7 zyj+g+a=D&-ACU8K`Cxw9pXKtLpX2}KckUgGxWVNuk@XhgT1kvk{>XZ-cRaO=$3ybQ zNW1WL4C#9m7^nDpf~qt17iaDk;IT*AOBY#RvetJYj#(n>MM7udx8@^x(|^|Ct*w7V zoaF20d_AAzd_AA9x9fTp1OI>JInL$zdXa1-L`e^q!w-Mpn+NOIkT)&c}6Bdf5&9Py&jtPDgGpTavr|k#rciCo)~}s%g@g_{11<;3wg@@jl7z# z3vqtV!};wc$UcE`qY>x%_$Av+^^z&0fOG!n6`j#8j=5(EkIZ*epGkjrMBWrxuaocX z+M2baZcXcUf^_A1REEI~J2>aOk7GEWcgOUs4t~2{rDM4DG}*@+T`WPA?u{LK#S7Av z&&SP89)ibJY&Yh8%H!k@jtH(h-5u){9QRZr9*F|-oF@>$rSFhHp72xePA~WU&GHIQ z^PS6^Hr$^V}|>R$9+2(FL#aKi(pr+Kgn z`tbSb;kB0s%fb((Fo%1Z(#h0JX0UAzHyK`J0`5q?6O)4eqW}n(Mh4JeP5x?uVy5I@?a}2n8 zC$+Ej5ba-ke*GuQJk)$FhSm)V+OyzEuXmz-Lv2T6|5rbZ_V?4q7{DL=x*YvQy`A_E zn`@w6?p5o7^ZuB6H3a!too5P6Pw_O>>yLiFR~DsveR}B*4CnpAx~mH$qq8xv{T0sN|O>9B)qMjGV#I>w8{YLFLi4ei3@9c4-XptAw$YZ_3h8^if}f<3c!Ls7a{ zAHCXx;Xp%YneyA#c0R6>s;3)D;Wijd( zrcp}F$IU-KKwc;BOzRTq_jf{1yEX&$GSV?CUDzYI^U(s9}9bWPt!iN zE}7b~LBo#ZpE>vUV)}DCtk_=>{3`cO%6m`H`ku3MB6wt{X+K@NE5ajN3m%tz0P4$m ze1CLDy{wxTK_6}h)w4U`F)pY5arGRsv)n!pc5@FOlfv{7Efi27Vx%e{X@~<8IS=X7e8_`Ux^=U8pa`Pvg-0)V{fk0$1&#_H91w0Q|>Y zv%n!nyo~_6pc1JoK80>Ce|`yQSZTosB=zI;tgGMe_5d_0cY}t!J^`Yc`Rd!Mewx zr}%{C%b`wGuet^IC`5@j(7$Ch#;-n4=e-qMqjE9aJ8w!|hRb7VUSs&ZQY(hb)QgRR zbWyye@0=tX?x0@?h3Nfj`w$uz{58%%AJO}jhng41PNQ95dR7cCi(6qP^T2s#iGqHO6sa=m@k+z(ntxl1~NTewduQ& z0EUD>=cx1A6P7o z;r^IEp}(Q^P3W(vO7B_7g7jTGr6IkkD9PF5e?YlBZ#O^M1p64N#Yeb)^@*%!A#m7s-Frxv1S`p2Dz? zDaRnpzifrbK8jygqkT0+Rt{zS;Z3yfX>9!z^_7L*0oM!-qrU#1N24D(HxR#m4#j^> z-+1_^r!;-n!tbWICx7w|^5)>OA&lSnH}yN?iRcQVbg#N}co4$_7jmIp(pSGk{4q@Y zJC)(i$oXN#n*6Yjr@w44!#&^V{g=Q$c^Zk*z4Zj`J19m+{AA`-$a}~40#9f^`IT}@ zN9gHTKzV}sB*iOpi*fZCkA12cex>@FANtIy5`f*T9c>0ddahYZ`|pk``zkT{@RJ(w zPjlpZ6hhIXXm|a&_+Cuj5~B8fyr3ZTv6Wj4T=<*xceEb@dGEnDeVM%d(R0}O@jt)7 z4&K`t7|o1V0rK)v=P?cj zSCO4nOU%HPEq=nd>FP!CO;&6>aN*TCw3m9+OYq06*TDYz%s+u^Uyz>!YUGMy`p90? zMmvUIM$RqFt&R58CT>H!1bWastHH%+*eBd>2<)#~PxBhK9>M zF_i0VnhUtoQ2_1YK6i!u=h|EJBjL$k&@*&y5c;q0=1t-WMcxDQ-GF?!gbBFo70J8m z_Je#_GYdSbdn6y+O@8aBQ3LYoT-3f|&Lrq>nBN5Bl&c+mMh`@hslqd0 zAJ^x>kk{J0kk81y2JuI==V!<(-cbAMlTJe3SN3<{z9{nBaic%M{^sYKvyA&Te=6En zwwB(5b6+5T7V=SECr(-p{hjUqM!DABa@avtlfEmWuImS$wrLIGp5fJ8%yShjXuMF> z+!M{}YxFn3{LA=^#v`wFQbmS~3#9#dZc%oBf=WdS!9>(o7%Mfx?Jm`lVD~YXc+NQ8jKM`eSe?`K_$Yhr7ol`B2{zm^axAtwFi@ zP21sD*0Sw83DR@*1)9&gSI$?7(tUJWZ34rMQ%*pBXTKlew}GHEA(e1G-y*58zGt3V%j{3iIV z*zG#_3-m2ihw(eV+Xq~ekJfVzcYg`{7<={vkFyG`r}>-Kho9Jf{yI>Qeiv>_{araM z26i)S%8vLGzC-am-qQ#55@tmKS4^WgkY=ex{l(A}xO^|gfybln0e5Gd1i$M!#ieu8 zhN529ob?a~^tv<9U!y;8p4mTGcP7RK@#O{JisbhtMG3bQzS&=pu0kBy$FqC{c+_>q zBc6M{()!rR=K0~Dfnv3g-)a4<4)TW^Yrqq#Kza(c28hqHw?(>u z{|NcNef%E8E5)?C-59P}N^v#wulvx)T%uA}hHL%gSJugtXNFTWof)n#M)v6zJBr$| zPc^iQ{VMfS-I$H=f5qe0DA#p5vQB%xJ^Gh=_Y(9|W9EI-tGVqQ>?ThyfbrTs_B_Ky zL2Ow~y2_O6zCzDn&mE9|@!$yA!E&~Tz@9II-9+cW4UqRtoibCj+Wliy)Yfw$`C&PFK{n5~ABIEIs$o({V>x<=9)Se{aTmM2za=_e&EfF3(K+RM&B~@YuC3uz^yJD`P<`# z7_a?BsNBq*&#E(dn|~1GaYtFwb6lRe z;BnO=c?H>D7MiO=Kb5_9jufPFH2r8?*!j~Q_=#;lo%_|+zlm~XZ(5>W3OjwTShf`Q zm&x9eyg|DR@z5WU&o~?do}h{TpNQ`<#l5%{ljN*kx|6HmpYo=g!JpiFB6_&B#N-k4B;$)k{fUp6^u=Chy!o z47far_9+yzPQgCG`hzj=@XkBR%9Y7F&#c6*n!kJW6r`*1<6Yo^VneWQU|!P>c&N%{ z;D#NWR7~DgnB)~FC@vXBtb~2SmFHocH4djZkbHAH{8^SW4RKZX$Isvi=Z*u9yzWKt zE2ixNuDH9X6ytXk@xsoE2`=EaXZ7Ge+T~{;FO(qvDWIx|xT+lc82tVzwC|JHSy_eg z$dfjpzS@0gFQ@+5!!isPX43aJY%$xwe{Itl^i%WJa)`s4nrJVXYWtTjte-ACP4QWn zO#Er8Ztz?Gx8i7*P%6dSDZ0Hej6d{c6L^$OMaFNf)ixP+wt3?*o~lRu0(@z{J?JmW z`!CVIeBEImYwKs@V4vWNsle@rwn9()Pe;+d>gzwCAE|y{3*7f|Kz>$kaAqms;S8$R zs3NW5Z+_pqzJl~zSV8?g`BW_0*B5mcc2f*l2c9wN?}{>>(8Gclzr=lOfDiQdhds4V zmjJiy-wnJ(=cVvN%`6>oRZY^fLcO1=G9F=kF4#Y~o8(8u(sy;7V{5}tOg+dSf(wTz zn7k$F2I81`?FR5CoX?ao+Xvfa@ARD#38E@LKsfFq^q^} z3c_QR$SdTjSJCd?>7zty5D-?AhZ?nUm)`yDDpP9Tl z-}n?ky6U#9hP?XFPc200J~U_9ScdcSv{#S3r15vc4B-4cZCd}Mt(m-Ot^>ICZ{rFh_hBed>q)44Ej@>COn z8^_bUJNk~JDf^x6;_ssc>FPa8^IzTIBj^1jP16ym(O4ecN4 z601O7xtP8m>-$FQ+s@hjP_J;lUm>qgqx@Wb_OE!Rk33A@Lw4+-bti8GcRD(vT#jq5 zbc4KO!_UCQ6*Qj;#(#z#bng4Wd42ggYSls)aK66hx zejb&{{73VF&NaCokv}K(%>~@}p%dba`vT$h$3H~>a^HUm-1_r+*ttZL81xrK`&+<` zUw;Cwy&$X2?BKmX=hhsBDL?Vo?FM^V@|MsG(sOHW@)O6n1+YWlc|PFI_B8J^Orq}w zdz!55#N_!tlv?qdAWHY169YOjTz-t!SM_DnTQS@gN&`>$0_`i=uG4;pKmXm%Ox{zU z{MOKfzEhgIIydCav9x}^^Wpo3jK{TqVFHsElS!Yb_Jv{@Za+6K5%?imCtPuFKk(4m zMZk5*SYNePpY{slnts#`=;`s|e5Uo*)Z+CSkE*XTiScM_k{{Z&J>budgvTh?euC^H zf23-|{mnnNdvM*5xzW zD|G5mC5CGcui(ktJRSA5X`h(| z>36m}w}8joCi&oddLJqjk$2xSH(~tp{Ivh;oB9;;7m9YQ$8gmh+Gn@-xd%MMGZ6m6 z&%J9Fke=hJ^#;zr&#YGvKBY*32H-D2>mG*g)UVyG={xQG+`B3AopyDwFYMzVLGxu( zrPnAozFxU3{Ek0qz1kO55dLQRWoDWn>C4xD^ecKGKJar#jvW*qoIPoMMsu*$2qw?> z$DJ)6qFnwx0mY41C|5PTIpP5S|3T)+cSXeWH;``_TP;Dkx=4FjKGJv3th=raXZ)V} z6t@LGefLK6|2dH1R@ocyD-8kIU-N=+F_GeM*|JUH|F&Qq$ScQCJ6h+Sg`V~mCxM%4 zQM=2Nwjur-_Nr1Df1oM(v*w`|Jl^xUQW&nANIa@JUtu3vW+jYk{!=uM_T7C;_Kdub zsUG(qf>yc6X=iis+`-A-Z z($`upY%EIph3j5}{?1&qe)VD#o%c2`TRe#AZ%dohD%g&vEO@I zrXfx$zORmQty^fk@YKkG_z?CT7%WI~@`I$O^<#G6rg^uazw7|vq0OaGu4=myINwjv z`1@nrR6QsCojJ*F%FLf)S^1$j(o;B0`+E8b10ipYrS)fZWPRSUIw#`)msbAPOdr>L znrEf%ngBaHvm12`ch17ROth^ZtrD5s{t1Y0G9Aqmb>=PbANPzqaZFwulmUM@+>G{L z7KZJ>4a*M$KUuUK>>tSc0`XR;e--$PZv%iUC*Q$1;;;1(_<7gv7*?+1(w+8L&eY^o0qu=Tvmwsm-@+H6bEYD z0?ywvTG9C?>g7=68_jsMt!X`EUAL~VkMd$Y;Qp(0o*L@pIfO`mU_%iURctji7bo_;v~KXY+c>6KwZreKl!3 z?H@Tu><5o=7Wu7rF8x0~*Imks%!zMdPuo%YKNO)s^xYU=(c(3D4A*Jg zX@16l@j@k^Uya$pbMpguu3fkdze;X;p+3WXgD4KmzfGbzSum|R!}<9Zd#@#E7ulxs zbr^24)4pCtuaam-lXm75IA$=5~fyiTZ&O&Vj>A7Yt=6y2jgmw7-r{908 zDZ{y)%}suTfBJ?$hJECZ$*)wm#%M%IP9gl$kjdL+)GoRrM-fl-Wh!eJE*_@%Y-+uz zvMAk$Dk#zJ-f#52Tk5eKXfM^5S@36ZEuDMGUqpa?+#kBNWjy{w;<5ZsUP*JSgj_*?F*Lc8E#rnaeLvR4QLld^+JgZx0Q`X9J{md z7S?$(qkibja7!K1v*UxmDu~j(Ztut}@_p`1g1q6MlV~r)4vcr!v)*p7k1zl8B*x>| zL*tj?^;+1+^-J~c4EK+wxZ$vstSU zIB$INQXSyFAoV-X^%eLYqhdP!pA=a(TDK28CVS5>#8@mg^)C}((ZN{=CeboH8P zebsmMMnQ&~wEqlaxMkXX*x5O2nS$ZU0fm4IwTa*T?Pdvvn=DPCXCRvNaYy$o!|>>< zU0}CRBu{pJ?3tJ0C!6(v{pEQmE(w#?!~SxA-jRazTzo?Os+oCU2VIAkS@3Y3DENtX z`H%rj-ckw{IVU^joqyy&NnPPFd*TKijW>AB1>_KyyN zbQSl|zJP50BlM%F1r6YD!I4-elqu3HBHu8reusWxy9WQ1$-mKfYQ9U~w+Wb#Z&*v- zNrHd6ay3J_k^eg&`lmccfAMWE06aA9JnZZ}vZOZj@D44^u0jcVUwg)&eWlsG?2@?v zy9yWS{Q|MXq6BuYI{&5!yUHrkd%HXPT-LCA>Hn?Eajh8#{?O{RXg}k?fhvZ}cT!&D z**&N+yEpzeAM$~vF_71bpIR_n)?#KJb`^Y;fIE^7LQl?bT;3gc@`BzN&ty+aMKO7G zVmsj4ufg8z-kSQ3^z2X-@z8ziV;sYsYo;mK)n%yzdHZ7eKQWSgMTT3-P`!jz&$H;M zsHug#aMp-%mzS&9)Q9k*9l+1+Ux8o#kEavmC!xF9FrINdypiJMmp;*d|670i zcET4f%F_nrEh_?l2%9IvZsSHrA#dRJ3|AQdJhj!~EbSY3(*wA@WYL5n}xyP_wOyruKrdu&o$@zhWO=- z;I@H;d%imeTsF35B_?mXOzQ)dCFK9k;{B>KJe*E;%j|T#KD+1kS7>NH<@NU-$nZdy z=4j7wA&Qfl)1|YNEBk&w>Sf()O!>Eb(6AS{<#k8Iec9TD#o2SAwghJ}^1Mgx^Q(Z#Gc9 z9KAETF`V-oW|01_i_^i+?O<>dkE?rwfsl{b*;r*O_)UcxW@&dr0>y2$*$3R3ITiW5 z=fP0O%QHS^X&3o}pMk5IWc4dy7R3S6$*-`#P^D^3R=#Bsjn_K8hxjA$iulqw$4*ZHrbWYcr&yBce&P(}#cFWZMOrGPWIg~%>7YxYK?y?_fpIT^97I_c1k7XkH zL+~4YZ<_l_a5c%B^Vc;nelG7`xEuQXw|}W3^|cSr+FtUb#ACVp9mWOT?-a2VZ!10f zwKC)9ao!qBaaCDt0{p|;Rf%!R>m84B8?0=ez~s3fYJGEn%ihgL+~c^@L-PfPd!7E@ z@_rNThZ3s-zirR*SP-19V4KR zO)(q&o$If?PH|6t`3&X>9M`m3Lh}9I_GIO9eRL6cw{^Z7NzwKVL+P?Y`plN-Hy+O{I%6Sv$PZoZwq$89_XU)R!ui#g*zqMTHIEHh5d=HUN$`qTHWwEpW%17uK+Md1DzvaW< zT>)Np+|7Fb#${=zf%^+|MSn96yn+0|*y{*zVe>%50j{S)q&y^huhC^056>T5X@!w@ zd8-_SpR3BakdHZAQh)c=vLe6Yc%WM~$X~uZ9pe@+*VgwA%3Zf_8}b3`PG>YL$1<4W zr)5cZ^mkv$OyqC2g2b=3s6H2(BDY{NDUpjCY*J9!K)VJlhcW+#hozPqUwj zh8?thZnR+aSGS9U9c-1c^!IT#fW=l24feo)U*f!JoOjveGmOm;5{P7RD)V2j1^2H@@X(y!yVMYO$*+gn5?C zKW8uO6Ug%i+C5le81%`}caoaPN&naheycQ3K)GWw&mx}_ru+?m_n)9~L_O|3{7UHX z26>BLMsYH8)T6qL$8)bV;;z<9d8V_d1HYGD_E%%il_v*5e|h%=$f*t%ML!if^#ra{ zopnhZ zU2WjbA65Xj_J5E3SCNBo^}`<#_k?cc;4k)csU5||u}wo`%QJp$OfksI4w}HD&uxc( zj#_HeTmSem@bH{oXkW|wLJgtUnuEX{-z|fF;SJg0FZ_KX@xySmlQs2a9FrH?v_-i^ zyXA^v_p%Ku+OVth#Axssl)X`&FP#rvqa)WVXXKRhuWS`#Wkk1;<(tJ~q`aAIO`EJMyTvB{2+}3E6B;PFGfvz<}=r29Pz`Y}c6$CeTKYPe<0$S@+{@;vt$;;TixzrU75W3_qxzi*Q^lycIWdlke97$ z0bKt^h5mJIMgic~9Ar1=&(nb`+D-1lcr58PAn#3`RfpZ1KE{JzJFzqHwDKw77jut* zym@SM;HiJeVP|FE72VkH>@)Ph$HYva`BK3%ke6ph^1y+!doelxAT{v7qiBp53m?t^ zkG$hF1A8tMZwDUh-#1_%%ZhRMo$5^r@I6zrRbq1b!{Z_EcsLKZ``T^vLvccjzU;YW zgcRST>ze)o@+d`_W5`=w-&O$EEP3~pwO8i2xkf>{s^h)~E<3(97rXavpFN0O4K2q3 z|8wwD_~YAo8zx{Tf< z(+wVJVm$hjC(+-7Md;kcje6!n3=ha6*#s$dpalz5D>JY{+ z4p-D;SJNt5xBqW`&huDpyX&y;f91^+i@+|N-xe9Kg(YoZN9+DBl^MUU4XrmiR2O=( zdyb2B2-n_j(}Ur%d!H~aI1_2V$#~%wc>Zf2dBs@BI~&eJKImUd`vU1(FT%gMK0M!W zM#oYAT(BN-QGS8ew-sx1BJS{YCtGdGE6m2nnAh7wtI#j)ZdzA&Ra>3J^bGGkjeacO zOz%6(hnGQIHMW0Qjy?b1df=r#7{B@V>UD)_-yyKCIQ8pkyJ)OAx#{NLfi zIDU2f-g~*3ytcm)xGLL3NnYAktd~vC@Q{bz>*RJ*%~%LI@vlYjUyhqLmWAJom;PwM ze#iTTLX|O?-3y~*U>`%b7}&=$(g#0O)i~6aJ?HVwTd&$cb}ujSJH{{j8nUP3>7?Nd zHxJb{V^`~U)Q;vAJJ2t**K0Xl=g5ta)15lqhUw4k z=1r&uy9JWV!GF0Ox-Gp6e>3-fh4I37hVon4q>nn(f8SQf+j7x7;^c)p@E>zu`hOGP zm-3&41DQpcysK#x+EYxU`R2HrO>wVme;WM{Jkt1H;McqGhm#*3fX^QBhp>4d?0eXH z95^r6Fz_Vepz+|QcvcSg!%rtJ*2R65r>HN-#cxe=GF*1O2;#1xHLbUsj^9CCFwQ-V z{>tUOe=Un;@>A~j_&+_Rd*^p&(H^pGpW%;OpO~B#VK?246X-AeyA8T`+aVV$6@_+D zucG%}WAY3f!1!I-M5=GZ-}I?7`Z3%cbq?{&`zwtLfh7}D8Ls|&D){+0;_mSRekkM} zods95IGvx#TTgZC%dVky)Lsj>ry{<)-SbKR$oC9=6MDlwqJJ3TCD(t2SyP4mUc5Rf zOTA==!zfqTGU%yq*$MUF`lt7y_t?XE=zUm@JAXZcyh>B}IqJ*p<=SF?smFLs@7AZVE5`$Mt|E?mT5iZ9Z}{{*>ZLm9%A)6# zi!;FQ-azk-a{H{v_zHR7s2>sMI39oTIOJ^?HfOPC`o(vsukver7W;2$*HgpvQ~uK^ zi=9K~_BUs^dF8+~cJ=J1an{gnMm)Q>)OnH>uXYOlV0ISD((YeYRDmC>rw&K|^Hiq& zQ={xI?#-ED#E0;4+AsFS(RV{UU)y3F;CTAEO^6H1-80d?-kY@VU*P!`#2r=Xby?z! zJmpV4(^G8t3H^r4hxeaEJar4n$nUtHr|Pf6|K;2F!k)Zb&-CK(A3pCkOsDmH<@xdO zb7!7AwNMT_pDe{;J|8#6eL%eA^KtEjSEvuqe>9QxVRw99v=hg99;mBx1UTPkQT3*C zq3T>G!4n!7gZ6hHp>|QZdm&%vJbb;yGJazU(@)iOUVV0TW>Eea_<9t6%=5kA2+H>q z=ca;3^=H?XOy0Ph@*?||9VzUd^K(6~+7&VD;@3#%pO)2>q1DF_mKx+EsslR!#O?IQ|^@Ot9P_>i_@2Ez?ip z_r6&*FwXMv*OVwnKXk0?i~j2S^$BjKkDI2RInhqmVjrL<$Ais$Xz!>zcVTCjLs~cZ*E)$yr)bT1_&Q1Qsypx} zWvU9}v*}S}ePD=)ev&zUANoz`?oZHDn@|`1g|E+>#%uzf^S2Gu@8WZye8*_EP9^f+&eBhTTmHESKYUTW5A2}r>Id!}QVcwy38^(0zxFw;ziG0KhMuax zP2k3!R4;FxJLoU!z@SDwAn#ruUKe z_+~7D-^!m~!~8<|<!X?$NwbUoW{j;}_Pf1#Umy1O0;AO}&Hs(D-3%PbR1OST~kk zJ=5r%p2#6ZZ4}Qfc}Eh@&<-(7-cW<$jN*BJ__MK6L)4eg7vu@ep{Kj{d*~w@ zew*}+N`zlYai$342{od5pThDC_7o%h#^%KDTayWXj_aZ#xUVSqWyQy1T=Gq#a{|F0 zJyRI3v(;9_CEl+?H>bhxlV{X{pYVRP^h2hK$tzD!M83+uKjts>Gk$MW!mA z{v8S|MO?5vqj?pVm+h*6ek)XJ2>Xby_CVe`;!|bzd*9J%t=QFFiRQlnZwUS0`t>ig zuVd{A$Y;)Z6U*eR+izB5SNUf0!xvNcQd}6n0rA9Ki1z)*{qzX^Tv2ol#wqy@iu1uT z7W51Ceq##b;c-<+%8vHXA1?&|SD(3tazm{P#xglxZn($-;NDkd5cl~0oo6HYVK>7) z*wMb0@)T39t&n#tE{=YyFnz&Qn}3Idm!G}P{hN&O8|&Uhds)s;h5X}b?W>|(;X3N; z?L%=OHqkMuCf~O+ETp^N-;7+q6?%$Sj$s>NM_(e@NB@!Z>84u? zIeW!Vv5a3kcop>Au{jRyr81U>orDnsfOG#b?=6jbkpD>I{EFJ}Gw%P&94DdY?}1eK zp?K^Ic#N%QgD1VRtr9CwKKwoTmw!I+nETCOci-HPvFy3|vE;YX_&ZhGt~k3_6#a;D zozv$)-sk+e0K-G=-olTJa~A?vjUA5s#y`^ny9Qnafr}qE(|W0}AN`%LFG=5d|J+LA zF;9uYc+KOFzC|j=FVFk=Ls>aIzqKA%_n67YPaSAxIG>lvc3j80eb}QM^=~{iS&4BW zFuM0(hV#5ybo9y1?o~5a3}jb6-?1*PrDFHK-n&xRmE*1(-7B*DV2^Bw>wG?Ct-THX z*HFVXj6LV`8uQ#3;HKoivgG-%-+1lC%4a(PhVlL zaP>RzFU5I^x3(W&R{~EfE!v;2A&O*PmCnb!Ghuhg;+zmf= z6?*_4**J<1n$GzUUmO+RcVzP7K#C8ua>--ay}UwQ#4Tk8?St4H=_uDyeRMna+-%dL z+}^!B80YjIvm?G*-}eKqyu1(gk!9w9o{DE5(ek^#TFyl4M zJl2C*p% z`u){Vo_$Xj@P#scz@O*pK=J3zMc5%wkJkB9Q>&q$+s-#b-r>}KgnVG*U>axlokqX2 ze@p?sE1M2}BMb>cAAhOIz&m!DocIEwaoc=fbUOQ)KZ-#UKdExfPvU_=+&FH6!kMzFk7TFN^y>3A#YL~^d z&TMfVhF^{QzFlYbyFhNrV@>Mr=oi*Hv3iDkP9{Ll;9wv8)A8yh?C&W=es$#YdDP2i zdEbr6n|J((_&lJKu`;{QoOA>{%Bh3F)4aX{`AO(ldC2=4wer$FPBAzxqQC&E1o z`j=g?3;g1}{O~vbo&0I+cYIw%mVeW=R?>Z-U$5Z|w{`gn`C04bvFzSmvhxsjGv97*3ytKB3j_yzKYhjwua4PH^`h2xJ6n1sZy$kuGoAxMh-}L)F>}sF< zJ8<<6U30K|`S5bkQyEA5p3dj}|6uyNr>0}vQ*`x0erVxt)tJ2Us0(=5z7u$tv}r{c zF279QZSeiH5_o9nvmoP%nOzO`)QD(bW2d-zMVY+gmjkey{_t_g+roY|!!=Fsg5S`W z`t_!<7a$*A8H;{od`RcqGG9lRVeZy#kuQHxv$Br977t}M=P8`JaldT3_bn& zrQjKTY%Ba+nEecPRwe8O?%7urD~=jc4@l=)V) zW3X8w;R9HyLhwF%-D%kQ4g2 z>-&kv;Y7dC#ghG_M-@;qeY6$)XqRA+`l+hyjob{EeMkGz-n=uxBfMFF_#pPqOkvLz zCbWzH>*<5_*u8G%FW~V<&WD&gmMjao9Rc9#`cfV%$;qDBVITc^1>$G$2bv!_rtLwy zIP1~-xegoTt=m-DVK-xgkBFc8JFuH^)Nk#;|Ke_y0jwNj6N=~WSKcYX?)5#%uiQ-* zquk(MPpUIK)S@u_Q{Eoqi?L+$yYM%^>3s@&uAEEqz9Vlio(6MW0v;?do$QdS8uZTS zPXBk$RE^q8d8z~H_bG_}s`xG)^8S=2Xg|K5;Ih%WknCg+6DyD7LXq{5_uf5<_LH5? zu42zkZ)iRh)%gPSwtriJ`to_G(li3)%63wIZvE#3c+@@YDA#@YFzOwQrTAbh{14hg zmS;Au`dc*r4G*k=d++UEz{m4m+n6Bq@yi9J7?8?;CCeV$N1*1L-Wn>)`H*<-2Wk-$(!F_hyJ0{$1$FIE^URKf@e`L z>#!fUS7vhheOko-aO3@um(8zyn)$ygd!H2c+++R<+}G_;G`shYeM#}~x4yuI`^Ume zUZr)mWY1ljY29Plkut^Ey+JR>xDgsmd2g2~8xWtvrLHEh=c=E61yA~ms~8{Er#rW0 zxTZJym$TEU?=|dRKfD#jQ}xjUkiSr2FUEUU@x~ZWvOa`C5|j6|>49;z8H z{Cj$#{>I_ysE7H_qmVaeuMK;dlUpD@g>N1Mo>t-<{8Db2fU7H8h|2A`3+1Z3lc}8} z-^u^7Jgp1UQ)uC+!>-n&wC^BKTaI?uw_JyM+pmyc&3e=?j>(zl*GIkWo>$;EYX5?t zas6FOo>9417s8*E2in0O_5CjZ_ng@>jPc0YmO?!CT)qOF?~hnrSJ|KV4iaqD@!o~%_4HYvRGF;;% zyNRX>h|h|1S(RcOJ7;0!EBfJ?h!5tek?(kXwm=`*`;A%nPexZkoS$+#6wAt2 zbbXF?RL-mnJF7R2gP-z!ZEe5mu$w&83U&*=qH|oDpYj1$_85!&MK|OHcx3k)12=ss zk8-)Z<=9Kq*Se-6;!s#a{^P())L|uRRe*+-+{g zG2ER&^$qOzqF?K470@v}IEUU3l`Ztb?!KwvHVo(IRh)x>Q2UTD(>@K`s-V4k75L;1#+F)3(oA#FOw!N5AoE1K(ngMF3m)v&AiCDv`6 z6VsK5BbmSK1i!G1@>^Z*t|-@ibt!&l>~IhD3J!X!W_C$>Q74vN9jpHUp6-}Pc0W5C z@i^3p{A5b24}yKdU;`IuZVybe6pGk-!KU-Ip~3|Ia07X8un|LA)2c$cp4eLSt9p;a-I z)EE>olqlM$=};wViaF-=nqnw1#~f;iIp!EjP@0xj3?=46sTdnA8bdWz+9+>QrGmD; z+0Q!b{+xXB`|G~$bD#U{wbx#I?X~wg*;zsPF#fF>mvT1{Ty>aPVn^Yzrs4E z9Y>$zh~3>;=qgdEZ5}>!11(;wP}E4YgaE>i;2KrZ*Pt z*}Tu7@9atYR?oK{%)6E^e~X{efs@err{4_tt5)PU#JOeFX5jUv(7hG^Y^HiPmiLCh z<<>J=zasSG|HOKWpVm#Z|0*{67WQ#ob3V*_SJA!D(cbHT`DU%u9OLLKzXEuyZY``| zp-tbzPqr+ILwWR1eT1&}ng-+Im_q*XHY^H$_i86FpA5_5(DCM31UvliK7{?cH|f1Q z>F50egiiQAy&tZ5mDVHgj8Wik*gAl74?ujgLisvOCZpVDIu33Y8Z}3n(Q}}pa z^hfvXHTX$ilj@Mm^)Hte_HQ}#HsXTsg)sMd0=u2BEyuWX{3uL?8LAI8GwVR-PX7b2Kk-2je9c=l-jcB$ z;?QFG7r1H3%-%vjaj$)r_{r^hX8WL{FS8iy4D*BaZ(+VXc+#`6;Kz=937xCUzCql~ z{oRgysMXOv$n>Kf`qloO0{;gNeh0p9@3)v&`i^a|{v=u?f$Mja0`6%z7JiOYzX?3J z`AL>&FElJn<9nUvwR0x%!&hseeb(vo;YQ?N$bV*#UdxMl~^CEbqLGac7{to1wMC9;w1`RC{B zwFI7X?P}6d+SL}gQ%2yXO-~WOftTnxb*otw3JToTXDRZ8YZ2u`_vf21A5D@BzB@{J zZ%e-t(t=hts9HqEmyZAZ}ItUJoiDfz+=fu zgTzlhKi|@18tiv%w*a?%fOvC%@N7Ne(;XXzcAY~pU))VE-K#GCUp~4C`rf*f2U_Ni zA^#iu-s&&@Zg`#6uRb59^JmhJ{!keD&fl&f zpYU^{oiG2_MDX>cn_#@65!&xq%FaYycI~F`U1IwaWmnY&zt3M7m#A$c>`dPL8F_GZ z`J(tgOMB#1_qXlo{fE^16R01OM`_%prDkb&+jks zdy=tk{o$|l_a~kGi$I_G{^|6-le_UYJg<3Ws{`W_tOGlv6PFk;zbv2hfS%_%)m_eB z&HBhGJ2f>g<&jc9;)@>#|l)T~{SUrPP3jQ$3A_}+zHa_aY3y@vR2f7Q~`%aVM0{6K#fgh^7tCPT) zAA4s#aC`Hq9iPX|^A-XR4E(Bxz~%a1zAUAFhTfk7+*GbpZ-K{tsb5jxrrZ618!MMa zzx)TLVSO;KrT*G}tqxo|SWqYUo+=~3mwvB7{9Hv}5x8w{Yv9T46<5ls-=(vO0s{Bk zB|m8Qo>-a*57oH4AQSE`aCCkq-0?#7jJU=5rzaENZ+r-U+E1>0QPQLq*#F2L&D93* zgW>$z*9C4W`wQ%k-aWHMPW>)*X@>p=DiPm#xElIvFHjx*l1r`vKTv4XC*Y^`H@>JY zbPOAcsr;a8^Cxh5Nd96{svT3PDRex?rvs10?cm2-Nx=Pcx@FWiw0LP%rgrt;?9b?b zP2J%c@mS@bR%FugPj&b*;g-vPEz5)(8W+xpM^~&}l8NtsL0+5*_l+Hu5qJMtIU{cW zW$B_!I>uje&dY>5+%sln!j1Oso=kXLzC0%ro^1Hm%uKlX=N%ts!u8*k%7}-@zY1Jl zdJp67E==Pdd+WE4GU+6P!v+Z4Uit+1_7xPLEw{dE6}Wt^I=#nKxgO%j{rmd<;J;lO z@f`k__>p>B!Phi(T^pWVRx;(48V9~5}#&~_Cbtalf<;lB{g z$C;OqA7VYvkj}$0$OD}J-LIVkZvCT_DnBGId`>#aiz*#m&f~ztpQ`z>nsb56e_aOO z{UoPB_`$KC^0uexNfmB*=mp<5N(bD3WJv|V_g*AF7;ET|H`3$EI^!^KxBL|Gqp4(p zj(*;;)pF|p)A^C_N2_$0pNx;o$d~;$k(bhSybC^8@ma@tyJtq+W3y(|u{JB5k#F8` zLd9o&{j*6Kar0m&@?pB2iEU*v@?*Phsram)EO!O@GhHV#1jH}PlljQrr|J5~H_o!4h0&vUzsYmL{JKCjQX zt8WG5ZRT@+vy@zjyq%64$2QG~#}7VI;jFK{@O0tx?Xtf6$DdU=^ZiZEc{A}1h7jtC zbbI1Imd%K}dQV5)!hF`37tF)D!+5qm&60C7wHujzOvPs%M@w17XWU<5!|Y5t_G|ev z;^t*8tas`5Xj=d3$)qFaYMl|cjVg!rE?vj)=KL9%bbO(NiqH1PZX~B?;s;ju&WKB| z)R~rvuQ|FQxMdL})7lJy!4%B16|-N*Sn&N})Mw;a#o+%IdTQiGqznIEwB z9GD5WU2cH=UAjHt>UmW9tmB$70(F$T_KMdfO=_Jy(KjG;O-l$28cmpmQ;U;jpD;D(Q0#JcauBK^qNpsKFW9U2I}?^#JR&dtts}!X8hZLEu{(_<{R#HwA8e z`VqD3YnV~TG^-`}hOTsPQs85%bL764fJ=Ypsf7M6jX@{99?-V40Z-&|V13vB*S)Ub zyEb$sJZ;@)zT|L&pWZLmx+vD`*!&B{g^o8)@sN1j8S6{Ta1C*iJW9C1b{qV39s7w! zz%>V6gCER|$UnM>KO^6AHcv*r#?mPx-*e?_)DQl7PXG2XjPStq36$J=igMHr1KNG{ziS` zFW3tG3M&0FzdR7QW|LaqHF-C1?ibtXlF9+M-gs0?jAP=XwrJP>XmCcpweS(De@33i z_-ekT@eK^`2HX(2R88o(Jgvz7mcOGeiq%yXSr+Flos*{l) zTy|HrA7>r^tDk1XJvW+W#1p@qKwTHvOa3<=C;z*<{{uXIyd3AZWyI}w$7aN>M@wYH zrF!3^K1|mSj;{+mcI=kPV$d;GUCz8>s9AJ+%J9quTWR}+vL@Yc4L!hUWZQR%g9eU z8)W2ryv0$svpt+|eS2LhoZEGM@hfzg&$!_qpGQvFVc*-F@_Yfx8@83LGxF2xbB+`9 z>^;y)*LNOqtLk~?8^*nnk*^!L0Q_{FM3*Nsgq`Vl@Nf&@ksFmNN~yp5J6uOR8)Lb# zFEF&C`@rKK%6q{&5#Z@Mnm?9dzmU%NR;rtk?|gj|_~|-Q)uB}9KcMwRqbGlcLKRWB zr}HCU&p@4T*cmAy?6w?V2a$!9F6LZ|<_qDfpUFxlz}-zo7Lfv7j{SeCgi5$UkNa zqDXAcZ|s`_>N5vfk!S)>jpez!oI-v{SDy3$E$k^oS#FvEBymJ`cvsH0_SsG zx%xif?%TIJKacCCe?dC=8+3dgw}++y_ZKslPk( z4<((?Hns=9QxWvn5Uoq?&i>OXa6YfLcxm5coivg7XPUk&rT*?3*am#x54pPvezyHv zj{}c3oZ4OBe#H-_wzq)ah*c*)Z#thxO8wnhIZitIDEOLJM(YF~x$*;W@BKpXr}X0z z;M!f+fIF&8fd6@a7oE}!c;MV4Re$4e&^dOpw7 z0e7A_1ARU}H(q&<^c#NLK~DX@U-7f)A?=TJf0qKzb~?t=d^b1yh4dAE@JKi4MB<-N z{IuI(681QjQ{FQtJ!qHXAz6#!!Sg{W_(#*Cs$THzd3!>~+8~DUV%+Gp1NZ&U13&Qd z0&VfJz(d7%_K;KmpUpp>1zgkOBbqPDxF;6SyogrBR*tv;;3nx|i5J=G}w39g8Y5_ZZr-Y|-Gz-N(XTM>@!j7+N3-%6&W#Oo@}j?<#nj(KfiQ5n zVU5~Ss(tBq+ShyX%v13l`N$sAgZ!u`4eyivrbVO^+_gi68;?@If~&t%)un#LKmG=V zW(YgE9uAzn1Ur*IP4Wm_b9{0sDfL5+QvAnO-d5q#OwxB8qWyy5&nw6?^2fBFmFKme zEvNoJ9gjVosluIGXg)?8srNNe#m+$ER<6V1V zu4vc)$bvlJAFTMfXH($J5AP%UZIzm>r%y^xn7v}yngaG@{jb!5EX7y z_|iqE3fKHj{NVkn*oVsXUNA~2dt*l^-zL5-ihZm9+2Rrc4^1V1`mbFDpKoFm5fA#xbUwg*v%>fG z_AV6qkq1&uDfKfJrS(oe)(g11No%z0YeMtIr@sl@pLb3H!PkGGwENR>74Eu9`6`hN zt8hy-vfulR&RbZ=py&ioK2!1CicTo><P09`hO3*C4%ohP2=JpNcBK$nG?8S3hhJndC5P) z-}@{De_=KFGx!bp$n#EP_m|D{*xeXwMQPgJ-? z!OdlFEf;)w|M$pOfkKpj;?;NffWKM@>ycfllifvct8j;cn~yA9A^4i_s9)ZeG`^8~ zbPmjTXfxSqJM%sGe4cD*ro@l*-b$e(o%$1b#!=`8_|t!`f(j2e-2*)Mjrx4ssGRq@ z4)x5)H&^VX!jl_mypr!J=ju-=&-nIJKGAh8jdPxR7k%p;yJk@nPI_uX$) zxMLOdH-7yrwX5hS?@^xdHu+A48{3e6@=Wek@Pop4|3rL4Rposx1!umor~3H<`@!&G zSLoOa(en|Tk^CGg)KI0*I?}RopNMv2mpUL0or*otiS+(hI-Yz{{k+Dk_&?Bhu}a6q zI>U0Ufxhxw$vfb-@x$k7T(s@fI^l=pAL+(&)cIWBy80Z2 zPVDjCZlYbrnaaHx=!YCnF*2i*4XiE4i#z5Ek!>&x3z`i=s;uARWXUMe1aP3UO7d%=&I zUId?U&o9b;Vddg}a*D^#4K3H`xmaS_N);ZkO@dD1>Jo}igKRA=Re8s>3Ok~b}rCYu1BaR4TtHR(5>)Y zn(C+zotsNlkW%fta!?#i`%7|OW7eL*}{Ny$|ht%IZOZB93 zF6#V*>@ir!J}shKA)dE7CWJ1oO)4JH*y^) zU#Nn5Fa4Z966vkN^|i@A?nfgipDWKb+?SMb?@=D>0@pvMn4(j~;kb+1GoV%KJ`fxPMSj)Enu1OXstMw~k`nG+ZV-?d@`--jLI9 zXR8JoagA;%@K|WCUf3CHM&lL!`zCOHZWvO=U1NC{^$9;`jFuoj=-wNi5x2KF1)QH_ z>dVr2xjx82^@;L)lks5jA;4wjIjKkKSGdTgjCicTwTyT$Uu)Dk{5)6gNcm0H&d7+{ zwU>eOb78a6FISF&sDJ(s{-7^#e!k55o_n8U#HD&qf%9{1=4-C4P}M~yrQK*?8tMdo zPeA{#lFv8Ld)n!^ysZn?cV73S`Dt9DTNY--z1}2nelNo0qxkgCF|C$UagdJ7(lp@w z-UaJhNBx9#U(<%()6lmjKRc33v5xcluGu~u^VI&{THrC|{aDZRW58{{U030jfxCdm z_H0(^Xg^&D+@sS42FgJ`YLw{97u0XNU8^U5+=qi~jOC zq2yiw-16e)F2I%ZRa3s1z#~VOsO*WYr}fU#{1cVFW!u-_Tc=kA&hOd!R=I(PzaOpA z@qaiQxUXmf(oyOqdz|VP-6@+2_iWq>zLZ;CFC_~TZf~J}zc+Hy1Ac76M%8$^c9H$= z74&{DkE1K=6Y!1W)VMA0T;O4o1v>nGj#JSw8^-|Wy3up#E3#ACuZkbDYX)$CEqZS! zoo{%js!HFYv>Rxqe*Z^zdOmcb`9`ba-0+549o~x%yIF6gpBrBR`?c zJ8jzy4W(4Pc$U2nedDx0RQ0@koBFHWseaEVe2V&;-0J{8vGHMLp`&j=?`gZE<$?42 zJpKrci{`reJ)gwe7e|Cw=`R^?N&xf5|@;lU#G0G(K%(n5)GhYzbT6#^*kt%2_S<#f={lh)XH<^u` z0_XEFb59yyeSe#(t~2~W^TmGQZ=AC+Kd_AS&6o8m9h;)#I$RNaeviebBfmM;7FF@( z!b@R~eD<(PpLLQg52^65!Z)1Vjq^a(Pvj?k_tApj^EsjSFN&Xd-Gqv-n@{VM_INWD zuFXw4zVEVt^ZBH#*$g}V@3>Wb`D4=YKb}kHoVll#5%Ff(OY=*A@jh_YiT?csbSz!y zy>!3A*HWo(DWx@QG@_CRK3*H_d(veBQ5F*V6oTRLP@yzMy|m$xE+}#=g?9>%WRpsvTQy ziWAG~{`CAp*|&NQ(mYDm_N#DBJ?fV^px)^HQNRr_VV z!uRC5q1t!5$CIBOrAMl8kAnLqI90e=(XkcLtM>KU?Gxd*#Qj^q`T3Di@z0jo8kLSk z(Q(y1K2c8j%Q|jCHQ~4D*AqzR$1RftE-BBgVq?jl#_^v6=ktU>b@Hd-kGjyYpC5~J z0L_6d(1})j7dW3|m^aWk`tQcaLti=H@RujQX_|DM@H}o&_*Pr{aRTRa5@{(tN0!#z zQJt&k+flq3&fZYr$$}JbzQC;!LdU-}i8u+Cn?rVfw|}_6`JBh+q`WFux#$G0oD0cH z{&(HEI_!DAU*X5+-5L5k-=pvc_jIasEL&-wS}(r%5%|h`KFQKk#<%Uc&zD{#K*&)$>o6+Xe1d-p8;{_z^m(bEh5x=lzXCM(3zz`%#shw%8`+*D2!5z3Jl|hkv(aAPp$XRF7qQwzx1!KQ}ruQm!78t+#6JU z)5lbgxoj;|{pI;?I6~$$pG#ZLD*ja3<@XqM1L=K5{(KF8t|$1#iYzf+{C=Ie-xJuQ&Cwe3 z$e?`QIo9ny@KA7IKf&kurT^<9aKrh!$S2l6k5`sbf7a!p^Z!t(rZ|V^{9ryr^Tl+y zqAD-xx>CN9COlK&d_M13q($CKw?8qv8sd#{elIuZaH--@r@S}fKK(o4qfeI9&+mzOu5X7ES3iE-in@;I8GF75|@+UMx~i4ll% z=JV&p5)%rl{9{(;bs%@wQP5G|s|hWm_1(U570uJMc-HTAt8_xjJklPX)LQ7oJ^O}9 zsh^sO^xh-m{_Pbq;!>~3kW75v_DvsU!jris4$g#YpG@tW3Aaazc6uJy-yZ`z<&wkN zX2Rp1x~((eB~sT1K9BpZj)G34a+P-k9z8_;4f&@750#x-Mc~Fy36Ia2hx{M!U!<(S zeVdXPcTc}K;>7fzR1JZ9?h+oHQyF~Q#U;%JuKAeWYc>6w1AN^>x|cVe=MHpqUgGP= z9BuzR-*dMk#*5!a;`|W5F^zOw|LY+5@f?3a$G`WOiqG#|M<-7jC8v0-qgURC3BT%A z;jGW&F7>hw7y29zvCH>VeAZ8%e-r(ct`_J4zS3Xsr-9LO>fgCtgVL_OZWriilzDBh zL-mZd`WGrb+v92T8^x`{H&vo}m!3~}ezE=Wm!AxUJxV+qp1wZjd3)0BcQw0e2Vb$@ z(APx#onIIQZY@CXHQ5&Cft|4h(`yP``g0ll@7;M^)h~~duY&v5sdU22>HWjt`<+z$ zKw)|xH8l1Z@s;=DV$bOP4Rh%_XqWwFRs5!(vIhQ1&l~pQOwc?hm;Grg zPUFHl?9Z@yFXGKy`w`}8q!-0otku^lI~`8t{AcKYs&;uC?L{^cuJkLe^h^5TB>ELB zJg6G{`Nvp_=ek2s|EJr}@s^!ul<{IbJ1?c-+3}EuTdpp2igtOPvQBp1V}7CE;RoN0 z{lf&`y7+I{$$aVht0M)TuHy-9$cV@0n@2s**H+WDkyHO}EL*$=@IDQpAA9jVEARoA z-W9lIT65r*qkkh`g-rqA(R#$^JQ*r?w+VEV_-8yjFERe%|In{!fk%{Yb3cZ@bJV1^ zqTOKq4=M{CQ-fB(eQkb$orVwE78khpt){>YH?Dy%moBOkxW6ym>k`~u7Pw*H<@^G- z&!Xoh?&9HgviN;AeLt|~U&75xvVf=7Yv^cq(Y#0=KGFVpeqiH=XxIPCFTj}}={OE} zq|FN*1z*=Qe_<*0Q(8A1xcls@z?pAurR*OE|DfV~zNYgl>F7f>|IBjeXs(^>B=p_+ zKSq5bub@2O+f}Kvz*#>wCIG(tLkM^_|8?5eBmzBb&+|QH_kf?AS+$G6BR|iCzHvZ^ z?62|*aQB*7@Q=6nS>TDKE4vB4f7o<`l=^9LT?MY)?TuA`rH6Szi+L+#X+;Kz%u?J01%7S*?|3YVZ? zYsebpZTZ0O&|$voOf|w4zU_|<6z5AuWeJ_sz4zd={rU&FfV2I~x3^#RVJ5z#RhK>j zXFlu5{_4G-$3q9n&$jAkfyb|t{hU`re-%~b)xee~u+z0V=X~-l-|EdjTfPHiuuV-57hieq?25^X1LIinkqU99;*B5i0ARhHPX+lK5(I}xiZ_=)N?UwrQrfSsCSP2Ll@{Mv2kTT3reA@pCpmKBx2ZeBJ)kS81mHJzM7iJ-20@>^fP| zVLUs3rs2NYeS1CM?w#t5pr5TXjOqclC%p2l?wRb_ziBYlw~9T?PkAyc6F;!!7Ui)t zem1U*FY8#k6rz2cg0mm|+xt-@BK&3*F?M*O6=%j;AcU;p5JTG!I}*>R}wT`%lLy=q)^3~?Jg z+!=X>$1A+@KE-*OPWCxQn*G^zLYh71cnj1O96#)z?D|3BN3(Xp9{qqniGPgjVccI) z`MzrfXPxZ*Y+Ae7`9ZOt`z4qBvqvU>X6K)@er4ywG(0*>n)*Y*3zFy!y-8JB*&!1qwlf8Z^b~2v5-YNLVaDDVQ z`Fut*2mD-ASO<&OX#*3~8?mDv^eluDKuXl>{v)6q^$2V#<{ANAb z5OqSl?oHV5ymb}0sf%xv(2s|xZgdu+xU#J1iM*6NLHgE87r>V`Rsi4gBb`^+dT#_C znpt3^&weSK{S{`4Ij3mtdxXSC}(^)>9*NG~HF22YYcty$V-fSnou2;y}w>d zcG|Cyj&%Q5tRr-+pHbb&cKYV`1kQGb=U*rLm3>oSHpPQ9dk65s z@BfN=Bed~H_}RMhb=Z@=k9$|C-xNH1zoy`F0~>U*_le)cXuOntUpCJBzP-!9PyBcS z^^c{t68}9fz(3jh(1VwuV-L{hj&*Zx;Cv&L_Z#5BRWCv(@V~LO#kd=H(mpzouQzl| z?>xeO-1E)}@T1Kru7aQb3S7EC&!?oy7VOilM~0OVI@(iPz&D@j0{m)`WiVeq`C|jsn-;&ksL@r_g(_#wSZU2;BI08R)nR z(sTbnl~2L1Xe!6#mYROW>bG zy*qCUzV2Rp$Y&+b0Jtt)bw1#WRu zKDW*K6gu7qy|G`5wjT~YuWON?F0>YWUe{udlh83;dI8TzA}dKpQ-|hV?EIv*f*(@m zoxf;7^*A1&`Dp$AHQ?FfRhQOl?Kj`R9@o?B=&vg$eZIi@;TGWfraMt5Xzg8Lr|VV1 zPfz<5eu%`$|7OPm#G(F!=9phr<$Xo>iUOENawWq%!p`Ky<i{M;Neps!f;G1S00v;Mo_c3zblaBrXoc)%aCl$X1%bi9%$6vGc6grWP z#81|3p~A!6PD4kZe<5(Mes`AOJ1$cEGvC$nW#oV6NA}M`zkF?P_7Z&WB+}P?_91XS ze+zhN9Hoh0L*G4X5bECKGvXUc{tH~waun80-?x`k_V7B$_DG-a2S0S@2JxF;1mFE| z4BE{;XS+*vj^}V)@XghZqR#iW`3`*Dn{@7>sgN7%c(f6nizX&!K_^frKh}L`nDiYx z{)UdW%Mk2yJzZ(tN#?u>T-Urjou{3ncy_+g0PCaUWHIc&l3Qv0joE(yKb-U0VBt5d ziF7pO$o}j)XD`)VrkZ77Pxd)mp)0UI(!CGx?D}e>(%)4IezMDfG<}jk|eyZs5@w|AT&@;P>dS{L&5bv#mM!K{xp! zHm^AN-b#^CLMPsc>BF8Cfh)h%3yyFa+pUhugNm#^kU-ZplZKM;7NDCLdt zoa@MMnmkY1fq$$k?9p%0f#1jUfmPt9io|#P?>_9Tb?tLW;QB+0ZqXzJB^CtS_d;G=CjG(S0oT zB0XVeus-=MbuTXLm*mS>H*H5KKWF!AZm5IMH!A(g=D)WB=l{%?PCkZ?{K8(Wv$lrR z-{iJ&@B`!aI$7|K*-v$TaA>_=Lf`f+wafg_G*>r)GoSStXMKI)ztOI#T92O4d5_wS zJROa8S4Zjl?CkZaUFI`xQ~1tk&V6k@OkYG$wuKNArA`CE8`a+&c+- z^siM#{?T?IKI7g_FC)*S<2v6TD%>{e5pDc@=SzoOy)K^M5-9o#ZdAfrpH5VgF_8P5IEevcZc8N+lrvxFmJ1gb>F{fAaMWd!w^^2 zAK$0Ew5+!ZXPuye$9o-vPQ2to@J)xPp3x4a_+&dZjVL}{^R_`h_}N78LxuW7-#F?m z=p=K~b80!?5a7&bocXNJeq(*JncDRl{zaa*Debbpx!)T2f%UB))I_^so0I%A$&Pke zCo*}SN+))GH|+N$?_#{P2m69=sz~knhyH+g2r2FAwh%v&s0F?~jnDCu&No?)p)6Mf!Y>AuIaKcefphd6CZN^9|-lz91dB<~Pu{DLSF%bnl$*_-g35 z=8Qmpna}4Q%-6mif`9atoS3Jk{p6qU9kSoNcRJ>^^Bsx@=KFv54i<6Ce7~J^I1jjX zl8&y23;LWlLT1vD&QHQPMv9JvzW3c>urnSZ9X>CWza|~e>&w9pT7N^mWC+u~&w6MN z^sSG^A;0NQ5ufqs*Q<~x8MnNp^jA6m)a@ZY=X1{UoX_LqmZ4of7j>SZb^}An|Gd69 z_L7bzw3O_;GqH#8Pxv(P^^P&XlZ6js9W*39q;V;~5B5vSdgoByPjHXu4P2wFkETP! zcRir_7&=$6GxYOQyV`euLcWSkT>qZH-MeXhH{RWk{es1G0Q;0+hn>{!;)T%X`oUaA zneRvE0OvX+T7Yn?<38ExwR95tk+}}&*nZytoa-5LJ;nb!PQo7dkp{?bG2OS|2m0;< z9^5?{`6On|odA=w6&6Vo_*M0vf=9lL+;=9Vc4qU$Z3g)kK2(2&1 zvF(6czWI;VueYh5vG;fi|Hn0hY5m$i2KIPr{|bBfTrQ!UcUg5cf%9`}b4M9`O>&0{ zm)aZ$9y~P)?RttXfWF&K?b?=mduQMY@m(0)pPvIy`*^a9pj%?iTJcaH+MNz)ML zf#Juwf>>qYv(G7o^8D_=o96Zg=#Xx<$GT#i4*el0ft2>D0hGtPWxY!>*A&hMa3 z3*9&jz9CF?Cgbuoiii02j<7Q^YiV~8hpxnaHUGS;hrpT7`)kj>3OG;5-d`UHU|x96 zevEq9Tz?02ocrf=l2iYGIkEDBPQnv1#gAs(Uev3B5XHH! zhz)j{l=B?z0jg)hX1e!MGqDlouXiWSN9}|)@PqrH0r|mKo^+h22gA-AtL9rpyMZ}h z!yfbcqR$j06+SHi|pyt zv$MdR%iln|ra#sLmo8<&&pclKgEa3PeaixO?OTC;fxi*OmHpZs=mh#5=^>@`46TCD z@eOVcKA&%d`X2<&@z3*uwDHl-ta%&3%-5VNccZ? z`55d87NK(|Pwpn*NB{ej_%7-%>-g3dM!sSl9>>&qBjr7199^sL)4U7)ign){B|pc? z{R7-ICr0(p=mW4PU`zm)@4tll#CVSQQd!~$KUs(TZ+VsM(FXT{@BG6_I*-YI<~tkE z_sOR76IHBKrzw0-;}H7G>yEoP2VW-pZT%a8@7gmTxVszm*MExQkk{F0 z5sGI+-Y3xUHI0(~Vd68+`ZmMko9@o-ncjH zu@qa3dd63h{A0P<3V5Q=N}Tr^`w;H;{RMkc?=3*z@*~BGc6I`MUB~4ug?`|F6j!G9 zyD_i*llG%uG2a&0<9hGwPO{()se^NdxMdx1_v0tPwbi>KKg+LfB>TVFfqsQs51{;$ zLz%zU5x^y-UW(2b3cjrq)rZErTI3mbFFN1mJQMsiM|WW-=b1pi*I=jAZX5E3@A4*< zj_luxb(3{WCofRDy&^q@j{E8;@O|BLz(1h^jx2%4Bb3LOpL!ny>p1hxks$J_%WLl= z_|k*<(6LIJq3^G`D@)+=ei}!|mEYkXxih`Da+}aEM zz`83`r!}Pgsoru3xJStw-ra;-esIIiNTbK7_Z$o9xso;fF8Z52ub*v)J;84Y*A2Nu z^LP0U;FjNyLqArqI&jWW$;Z}ny0L9%Ap0$`kGtA(JwwXkZ04rO#UHP2RUV*r&Sl!?WTIvU-yi;z%{K2 zcg~=7T=Jd3xWwA;0zcf=Oa8pK5q#}W+sK|hZs5jSkH8N%`vKpI^l{ zZ`}^QbLIi8@5$2Sf6Xzvhupeh7Us1pFdhE!-L4J$1M3O*emoDjLy4lLUgOiEla z?#j0pbqM2JhiBI(T!*&_!yfkr%0H&_WKZ<=*JxL_xC!=a(F&9w+zrP7_x5{;JZbrb z`WvtM3v}$ie}(+!*hS;3`>O_UZ>?Qf!vC6=h|joo^itGaj2la6JIN_pTHuU>z~eBYQ&eBc0`xZqk_~ ze)}(>FLl$PUCq=gSyJln&UzHjiFqHRzpj#`BRMFZ6BD{a|CQm*pf6XT`54`|9=PLE zTBkG*C=M-3ez2Y{hV_f{LpI*Ldk@hrGJ}SiqtQC);8dl zb{9JfzMO;Xbkrrj-9~u8sLZ>6F2T-t;YXbW-_ecy78rN&3DCYq=TNXSpg<9(MlQf!3F`Z=lZc?j$_A zekAOVj4Eao?fM<$fBlzh(XM&zD%fLMOyh2-N&V6l(!+kU(l1Y88kb~)$?b$r;13#? z@a-eemnXT}3*3I4{3DOfi*b+r(7A)ab#Kpr{q~M$;fFxZO~}KxDHJEZH(m!GYf5=r zvwc0qPlqn(SFrcn;9IwS2AuhZO>;*Gedc@DzX~0z@%(UsOT|eiQa27f-10tfbGxn3 zVZL`}9~IwzYajSh%naPKMDg>&H-Vd!&!1WzZ-9>Zv;nxoMETHKfa*QQw=Brv6!tLg z?C=Eq;ORrOUzkevaKEDCry!4UzdYk;|Dw76De{LjQBU#f8q`O5qa z=`$X__b2iaH-T?^lHLc@xwZXcL@(F zI+26*(5^+vW4Z!VCv)8^MLd+>l)BfM^D6k+`|*|JPp@|s@PtxtJ4=$CT!*{Me2RR< zb+}Ke0KQ!A*Y0AxEc3|!tP?9seAaOf+ycI_Jn;D2$Jov=Ul z8tn^0MP5gK@NLiCTHrcA<$>VxQP6Q1*R~OOaKZ}cM0fQ;Ub1AxurCWur@Ryy_z1Yc zU8;%T%U@EyHLl$NefPW{DIb=e4;?8w7W&TH=aD~syGcKA>k0UlmhWJn<@s+B_(5e~ zmh`Mbe|cXPueS&M*za50igr!i$)B38@3B< zxdqwjs&xQ5!ExoYgnwfBs6JJZ1hRj`M3jQew9p0ZAS_fzN_ z?k0fiUnDzyt53skuHqY!2lVI39#dVi$JV4F@{(;W@!jo*L&s>Gk38mHNaN_cUJ&+3 z-%GSltfa)rg|fgS)fS-M3w^!}cKYgtq2q5w^`U(z_19JVIO!BQi99T|@`E3ZGzMKk=FM0mbYgu?1*FtZZJ|f-gTAZ! z-cj${WRHF2Ko#Hn!aeYHY4^UmmHR*ahS{G8{d7BRqt*9a@1o%s9yF+7iZauiV6&;Il*P~TI^_WRqb@5v7<_WO(0rFNC?P3HSUf>UQfpYK_< zD)*Y&4!uJ5%+8Je^5^~KG3xtQy~_6>o5!i|apik=-Q&MqEvNd){%8B$!Rx>c3zYAn z;P3nBtG@rA?RUJXzTZ`+-0K^dpthgwi5yO#Uv9;I?r+#bcDm)Kh&RTg)z$aA^7lJi zE_8(s-+RFP(2osNIQz%t`9jrSo{#3Yb!3n7{n30st!o$ghy4)z{5aylZ&CXvT$Ac^ z>sx9a_JiZE@v3&&&-%R85VzXPSCEJ8f75(n+#gv(`|GF5yi@r0#*=4=IAng@-^iP3 z95t2ZX2iAIE@s3Hb;>Nvq$4%ol@T`{9+VNcoYO4Iq?63`4z;U%AB}mK41fB{bXkyz z@2U46;R@fR@DodB0_XcJ`TKD+xv9VWy&G2L`!y_ou9%leUlW`&|9L#A+;ie;)<&ft z&P|^SaQ6Kfd~R3&FXg@P>8C0?`FnG;=Z4OGUZ2N3@X6mQdlG!FOYr?UnfS4f>VVJp zTLzTxGYa^FvorDa*5flX;f6=+pwIVP>Xh%FGJ6K7aBDv5m-AQw*w1`De_z!fv(YYp zuao9KCI1(r@0n#hsrV<-eDf?}590|1cT}hdoWEzv-}4;hTib4r;4|)1@M!fQU)@#dhn4TQikE!~zsc=?e?v;OlhAxm@maGT;+DT}-7t6( z@D4BJRN;L8f4H^!-q+y7A*5qd-`C2xGfRE{D&x{(x=+=8Zfs>?kE3Ki=$NXX$GGtK z6u1tMJ<)gjsBpJ}dp7Q-xKi#fwN9b)7QNoB!p#roK;Iv{j(ASbtI>}6&|k(mui720 zGV&e&)XnH0U!79O8~nXF=BD&~)_?eG@cCZfxN;Ah<)hbB`rNLrac7kdfB%l_&5^2h zwaR#D%hSEJ>Gnrv(>=6|^ZjPN#wN_WbX;@%2bG`s`ylLHT4c<7?il4mz9-qLe2*3T zhxK{=O73Zdez}$J&$3mgIy||4U`GE-3)SB@5!^@nM{|dBDu0@l@6`=PPstGC2}gh z|IfUhl{X`<`Qsn5Gwpl3!e zk^RcO-2O#$J{jrITZLPc`?{q~^E39#*qH9ePPZp9XSj;5nMCgMO*!d%VVKYQzS38*zVQ9eA=_N&Yu_BK!es@w?w)}4 zj=zt_x=J~J+qFT(kKCaA?0rvd58EGTFj-}%?S}Gxa)&vp^((HdU%JWtJz~80eravB z&ta#d#a5L)(FL;z|KT?k9xG1gOU`C$J8jDMK>6~In4T#fq~&L3pxvigB_vI1ejlLu zWxHpYCh+w6?t1o9Mm!PjF+=d}ijG;)v5xr+{pEYDJ+0{6QoDaC{F6Rjp2k&_A4^-Ozh`p6{XZTXkSz6 zgeAjNdBaeZ*6~Ch_4f$GA5z`oeo39j_oU&FY)dan7IaCw+vPA1&e zafOPXRPs6df&Iq%#&u`r37tqz+V3;&&NC7E>A3##cb-h`2EV8_?Rh+UtvvR3@j|m^ z3EcP}%~RHQm3Z{Az)flUyYR58;HS6i{yQrpKVCj3>`CYAFJHkvF&#JTY?cu>&)+d! z*ptq;I7(;4qdf~w$;6MDC%H4?<hxwk~Zg6=N{$#$Xa0%$A=HnotpB^Xn#&dAK&3xw%bRMYNb|257+=poW z;&~VN;@vEv!+gf&Vco$`x96&Pl3noqd8l7j9i7`a8lUMPaJDBj<5k#cU0bh$z|CtP z!w=r>6TgX~FeJq3H%e#T7=^0yZ{+4d{rC2xMyDsbkTZ;*~$pm;NZyQ@+@bYCQYYO9{J zfbXI6QhRH%$NcDX^h?{0_`bR12UC#`;0HdBP3jAvU+y9W$_t&Or#tMIey8u@(lsho zO5pN$J%IDLq{bI{mF;9a(la;mA@?hCgzOK_9QuLKv1;x?Cw}Y=v^!zIh4%#RTyjjM zFU>!s(h1)!48DEjfHwu-{Ug0c%HJ2}_dF~qaQW#a=p^>$20wWF9L^1*@iQuYUKiL- zw%->yf_|mr?!P-B-=^cv61Owrsr-iLq3Qfs3!iFT@Oui9|C{c>yfggWQDvuj{%63` zb$Gs{*fG4F6nrpd=l-ZW_aoMBtoHLSI&apA997V7<^Dqx~J@=Ho-b*C{y1gEYQQ z#yZ4s{3EoRZjaUR4%UTq-23a*jC|wHUc-f*>HOrgnOJwy@o0-6*1`Wjocqi9ne%qK zf4skHu)e43IICB3WwOUIzU|mdxc>OqahdRB!S&-a;gOyvvF@k08~oxv>W6gP^LH`S zC+WCxT^ZCf>A2ze*D5^uS!IlStk}q@!k(z9uWEj!UXuZyuA}>3bJS7kc(UNNj5y~# zb0Hh_xm`mrC-h@IsoikS3b4no)TQ3*RDXtkdlR^}?D)Qu&|jkaRyAj(>>#LVCN}|2@oz^L`{>9PpxX$Uwh=;m8MjRS` zCcb925jw$2T@lZ|X=Eqkx(N#@&J8nR598t0Wq})~5bhjE^D7W8hk2)2KLC8jW22&& zzpgcOe&X3k>we_(L&yWp0+fdtHy^KtJP^-E^`UkHeNU+F@;Asc91rFeR98sT9wIN< zYb->&9OphIziB_F`RJ)d{f$+XkUyhi+{CX+>q6q}R^)m8EIL~M z+rDyhMf}8e)8`AEIjCQ;uO}c*9F@tR?v-WWXU))cg9Kmm2ju~dE9t|rm|upo6j#ib z1Cs{}zWX;iS7hAw?+vV{ti$_R?cVCp@dT!!UyR2_(>klKO6Mx9qcMLoQ0Ti9edY(^ zR1d^VBcS8|i256@l+z*j+NT~B9y1bd95F_PCw4dMmx-@caOU&Az<(=}CHT5;C?1># zsJ?Z+Qnj1FJyVo8ap~aCh;0z^p{`p1?K-qofjgy&*hf2VlK&ZZD7d~l`7^OO2l$57 zOIks{_igB~AHrRJX(RCXypx3Ypg8nyIQkaw@@s%w#?w4CeZ1Nz@SubI!}Ynvd7+WO z{j({b2fiSG-tnD6o$u;HpC4h|y0!e;`PYZpx#u$5A-JgFs}c6GjM-x!nr=zeR!dc;G1$CM}N&h@|(ZqwDJPC zeopVpaev+I#x@qXekILEw~`OdS2kmR>S=cbIy_JNDEl~`r~3L2@LZn1mzKXbmUZmC z=zdPtVchf!>FfTW_vke1OVRjV-qu^#W2#Q$$hfAEw~xS+HR*Yx`+JHv&G>s%za1pM zaUSsYDTV!S@}6@3U-K2{2X?Q(`9|m}ou`F5(t45F(V)K4E}(WfU&WgjMZSuyI7qB(uKFjyf2Lxb_So24(nU%(0Pu>K>MK3CCbCe`X#4=zlicYSn(UsP5^De@9A7_8s8T;s9{lCyI$DuJ$tF~xY>T(`9?@!GJ3;4FZ zO@RArQ@)M=Sfr}p%ipyJ&impLWB-6o;;W{FD|VWe<7-0a13WIF&i}(Y=;Luw;$cgP{J?pHCpE=?|l z_0cq!#+T#AS}j2J`C+Ob0!3+EGuV$KZllw8ko^j-Z(;+kUrX-?@_y%rvJaBa&j#N$ zwGjGie-ywvjv)@NlAhf8l4wd4467c^8oPfNz{aaTR;7+6RIk z^3Md$b%jNHg6fJo3xLP&DfQC1N~mY7i^)#Td*OHJeZOE`dXJIoA6v`>e&{_KN5&oh zu2tb&ZwD@}Lwyx`h3XTo&n;Y^ADRPum@hrhVcdfXpYfPdw>w4?pX0=wF9E)L7WLO~ z?{)ZDsy!UIWiiDS$D3j5E2sla9cUfl`q22~6U1S>-B+-O`Em)u?LB4zXTJ3u>Db?< zapZc{a=?zdRK7quT(A0iQN8M$PWh8@N8}6ep`&;UURex0e3c*d$=C6RJj9O zlg|%38TTu=)=T|jT<+X$u82eDSA_FAXnBS9iRP-L&-XuPf8UmJ4rRV!J_$P&8%+GzY_gP9^ElDn{3$DUc zzp+kKd48l*>T|~Z2Ra}gxLqDEZ*v+i{SK;6I3Dy(lyjl-R97?ZuSjv?S8&#kXlS2n zYDD`2J=-}j5A2M8-;ex%>HXPq%J2Mqil6sc76xZ!!i}q>j5v==_C5B>xbQv9e18$& z!z{I-ap!xJEXqAyjPw0SjI)0B{rQT%X(QcV#PMTnn1z0EJY?U8ufzk#TdZlB!BVQ< z9B<4IY^gL*;2gJn&v|zI@IBs2yR5_Q+I~ft&4xoz@EUxlWgs_B;H!Y0C}zd?!Ze6N(FKFw>+GueJt@(kP0_k*R|&-Zk({d^BO-}lA$kaOPF{*Usu<4f|hXAteg*<0sB9=6+Pp2pj4_K5zb&m;GN(9Gv? ze*P=HPxl5y-lESV8}g2XKI6JY^tofk<;7tQAN;^qQs8b*s)WTk5!>YjEC6qSWypR$By-g+1N3g zwyH5o>}ZXT*%&2St7x@i`5$!BhF9GXL@)WcW`8P+!r3+ZP(d(!u z`K5r=6#SCh3g>-fXJr?zGeo_3pOJ7=W3<2hI^x8i;OiCEiekSh)xmU?QHWFd`V+Vg zpgDx&qUb6dk7kZr-;btznRveRxp02%om3glC#05pU|f2(c(~Zt+2Xb%zX&+h z6HPAhoE4pCkVfZQ%F0C>0_#b(r{T3!$D+`TD=dbtmZ^^fQFZcV#GdPe5F!vJJ$3N_Ps!hg2?7 zxi6qxlmMQ0qWPDf&ud(RalL~0-Bqz)4&=gdwJzg=o7s)dBL%i$eF%>4C*VPjn+zv2 znLOE(?2x=SRHP29v!&h}@{T(W>uH3?x=cx9JfSx*UV*zG>hBz}s4K&x$8L<0)vx0m z+Ku7~C?C}V+{EJvgxi}yUTeksM8WARz|PJp=5CC~%J1#E8gB%g?is}jqn>onD0xqc zzf(i^q)6Vt^(T26SI|0qa{R;BJwi=KgJ1Q{#&Kq(WA0^4AF>u0qUm|=SJvfsh^^F zr&6RI;ym6d^OI`2Fj68m=d})*8DjYJQwc#}8xqGPGBKpW;?&o*sp98pW+5 zd8v~Z>_hSthmhiIOFRxC#lxhyyA%(T-U*`kmh?^#)vIJZ;q^+dodI@;@O9VLCpFR7j{T~_s?cN~a^;?>jq!pZfg zc+RB1)7b{}G1%~)X=wa%up7nSuw1}+N)&&?Ug;IsKd|c~Xs3=5SS}RzNqskVAk&B9 zFIhUzwkqmxQ|lZcZ{E2H`00Lbcy=kMS9Cv@^rU#yq$kCZw*K6uKjW8%T7XB{JrejS zj+5#4J%C$WUqHSr7w|r>?FFu5P`wH-#QH|{isDNFyU=|78^}}Keu`^Kar{~qv@ ziS9puykS}Z>>Mmx+|Kkj_TK?G**Wq_KPX4CGu^We+`xD>bkCaNt~hIA{4R;dZ;`%g z(3$0n>bd>|&O7LR$>jTb{C!FDp#8m=y!u`VmRFVgpbx#To@@O38N+`1?v!j^2q+g>t0wGR^1%IF%R08!xf9g+o^LrFi4I#Tx`W zOI@%WDGseGb27+N99oKx;pXv1C_Vv8kc9MXYg7f0Vf`>d^%hHxY8ML>sR`kO#j%FAy|JhCkZ^H zf9Psk0Z;Ou)2_%)A7|y0f;{oWt8Nx>;_;8_nJrK3n|QW(sPM*YaedCrmD%Z|>Dw?{ z++Y8hH#>Rv(m=Mj^WMO0antXWR%PX(e9`6*6Sc|Y1mpz}gO>kv3ElzNWH#?KLX3uC$@e=)76i`mV` zaXLp7bNn%h;i>0~q6;mP8Lr{+NJ&0)63-nGPW<6UPp2|@O4m6S&tExic7T0+YsEoe zXTsgvMnXMF#ci)22Ko5v;UG`xCc2CQJtxBPcr^T6R-B*5pmPPf?+-3w^3w0P z|4Zv&hQZ5WJuP+uagz5p&II{jE4(K~xS=PWPavGmVQRL-(9aA&9@=kpczy!^CePms z`V;Q1I|y*o+qpAXk?oYvv>v_JbA&I@Q=(OnYvTQ%d?0e|S1 zmVzIqeuw0hC;!c5_VFymc^u)U0l3~9JA>56qHsn{{ z@h+_QDrvYM5pMTN=n6bIesnN_@yEPh{vqH2jw`pSgZ`SaEo(FV z!xM2`+F+g_@SCQ zi(XhP;L+>oe{_d`nW;$sKQE*9Wtwsx=2NNZ#@^5f`h>P(x~A(V1bvLLRZy>Dp`qFG z>t=rjxV+j_QdZMX?7)8C_ih15m+*LVT(@+V@Cy2bdAi#CWiu7^?;Y}56W`CP<#y3)QY0&YJt2lC}MHO-daQ>~UDpWr;1m>)~t*2@16o4T9*jD)f#X!UzecxtL}gB95}^awXfV{W%?xJke@<7X`NgO z*1P;?V~{V~Y~)XL9|HPoYJCp4f7b;_SDwk=>8AH0PvJU`&bJZd6I~yHK9<4{L7vtn zX#J4ZCET`+kS?u*N#>g%Pw!*W`#utXA5&AS9+ZnT?kv<#ex-Ll^!T*A>Y=)}cRx-DGZ`$czN=(0Y-(J=!gCv086dF3EEge4Qu!JGbZR z^~fWmJxN}DHvw>o%j@bl13S<=M7~*Q2U<6iS3MZW@y(@;uanN1CN4!JhQaDZQga@0?0+2SvMGxF*zx{oyP27Sd8x%7>Z)M zruP==)2GEWwtzo=N*J$@O`@|3dE|=*MEbZh8lS_E}7^kNPqD(77^N z=U3aW4RG4;e>ZQ2EJ`OAu9S-#xAT>)Gw_6yW! zV|Op$vEztSTu@()Fq}W9xS$S-&&=ZqQ+#H6cP3d6`MWcT%`>2WCf}XOf%lQUW7mQ{ z$@f?rqMl@j$g<_2PpTbM)nVU?>_F`+Sr2*pavhlg`H~MC2ebT!SBKF)6Q2NX@O}cg z_uN&$75&!niYiC(GsBw(0Iv7;2Rya^qH-|}{2uk>?a^`TSIAfVNgkLd#)8=1BS*~> z7(ek)|Dt68NdVmK~!79(g&A$Mj=Dle6PVOtA_$@mOj^re&2UJhJ}lsoCM-H+#9V!=051 zPiMIN>TSKOeqGaW-t8})nJu0=PN4N?=ds!_e$XFj2jh0fBp;N!|Fc7g&(BvJ_;cd; zO?TpBVO-(h;}F|##~@weadIBl@F?p42>A_-aD3}H_mzPA4&nIU@y-MsU$yK2`eef-hF~T@*CKnDyCKfZsfRiUIXBvcs@QJ&(L*rnjmjl zg5waQ{gRL`J?HT+#dUIuOJlEr^L^X36~es3)AcLJuYFndHA6(p74#0o=8? zI+VNT7M8msHch~#?{WScc&(A3kGBezqxT-_V|nSj1N@fS&2{+i^{}axy6UA|#g4R#`d>zJK>tm27Tw8wuq-#j*%T^!n>n;KJ zb3M&p4-jy}*SP;HRTbB5G@M_4w}2P)EP(z*&({r1mH$QkIqrIa>kq!tMTC5LOXGap zckmgcOZnAv|K?h=R?x@D^-+qpfpl$KaUF^Du@#(=EiRu-(I<`j)jn52p4PP_o-gw` zF~8C$xK5}Hnj_fR>q7md9kqpg8Q#J6l3bU28{<1g4r9Mh>qVMP!xqSDIVTe6PY91p z#q}$91KgJ<9!)*G4`RrH^6mhe>aKTp%m)5-Xa|z_`EXs``v}ub z;(y`&Cf|El?zFF@^J3hC_+<3Mv|r}DgZH-Lxv`!T?x1^H5Al70q&~S&A5(5Dcfz%6 zaQ)vi5$g%*W6QTblj$F~qdv4x5#jqRI=t4J!wCM>}Idg-NA6$pCx(kM7$3hs^@_6 zqI%-kg8Qc-UQY-Q*h}L)h~Iyt{T=xy&3NEX+24uq{hinaJcmsCO1AB|kEX4M{Sn=N zR0e0lKAOJ;_M4Qh^%}-AQBw4A^7vz}l>3-!{4~&$?&pU4VtgS--mgb9J?-oM6!J@P zSHertkCD9e&j%py^WyxD_Vw&(xUWZX3`l>UZ@@&xPx=!sQ@;4UPQtBi@V>CE3XXp$ zzjl7VI5l6i-%a@3&KM;TN-fREulbF1->`t&hr7O?maUQrGDBTuaasSuF<4X{3 zJ%#ZolpQ#JAl%;__m>GLJso>mOaVQ=-wNr{zIMpiXa>XGahxa8{mO9M{w@{HdbKncB>oA*Z&fxc{ zsh%h8mTw8vH@Z(v;|Bwe>lK=g;|Jo8azC8l{RP<}!tV<^JEJ~?`~JZD#e`G6wS9>9 z^y$7f;o+%xkDKoAlb#a4_Z|K61e6QmvAn21;iMaw?Lcvys9ig5W4s-s`am8l zukaLHC!uy^9mM_T`m>NO>FKO=0sNBl73P<4TRLx#94CD!U5fKVIK^G0_N^?- z%?q;AhvLx@kL|uVP7V~r@mRFoN?{xuErI15sB=DBJTyX&c*=NNd9NyzJI$l%{Sl>@ zS-|O?2xIqOaDK$+gSu9mpk9UYmJ#?#Po4Gy0XI&^abw8wT$m@C(iPx|_O2t$zhnpE zodm4>5@FzU;6IrY;j!&)boGjYvFnh;Z$C_ zE6;^>HYa~a!<2UqtaruwzFnWyL(PH+=x@pU4y=z659t$YV1xBN-^jfcn7p$OpJ$m$ z3j8+C??00!;4c17hxXPDz*G5+PbPsrskr@0ePKP*&(|}JHAUQAbsXsb`kfjme;n62 zBgb$)rLUhM;EBap55sxigM3lC4!%xkEO9`-01aD72sXCS{y@!3-S7{z}h|3LB-FFF;cIC7~t#dS=@DV}61uFP6J zla+g_J`@L)sOf8r3XClgNfKOX6rZGDS`#PX$juD{ewXupI9Km7yz3Gox|D}sJF6<3zL z5adZ8DldxTO?D%k;!LL6navKbgr2A1NYy8dLrLQ%$C)9AxY=J4}>l! z+AHcWb>Fs`tbS=9RyIBcJiP8u35JKyH39kE8{1eE^|!6+?Me*y-);?fqeyMQV{aZW z&+u5DW&*#h^UtjqPW--lD>^9Z&n`dWyCjjr4MASsGq@we+a^xblGU%ZTywy6^Uecq z{%B-NhR6Qs2DtL!8o=comZl7s$MgVPpI8OByWf?D4A-Y4o_PH|*uVCF^La&vJ9@MP zd1w12fGegVpr<1v9dNRby6@kK$&>!ZO;17pB+l>IS+Al!y}>WKWR-V~?hpJ@-lxE0 zJlqfX{ds->JUX&cMq#t^$gy3(AH48hHzps+iTsiU<2INI=CK0K&sTeGHKDvpjBI6LIPp`u2R3Hdvf^|< zQ8yCbxu*MxKHW;NTWpaj4dl7q=pLW1Myw~p=^h{9>N$`eS#f0>mT$5gdHLFp%AjYc z$e%*_l0MOQ_JN+H5Al~DiSK<=x^xfGSrhf4dx++)SHS*;7Wj^;rw5)pC3#)Ha37{8 z$-DM;BD=vni0r1>gSb+1J^B(5~fOJKtuwzj7n2Z;K~^-IRS3D=^%!0o!Aw zp$F<)G=Jm`hHD;u2=dP5Qy^Wr=6^*PZac->d!6z<6!o{u^hzCm^0V|c`m_1W^VX^Nu$rt<@| zZ|)yfA8=V;NYCV>QwIZo;Ah;IC)``X1$eY%FX;De7bk%K(H!LKNDY36a`&D2tPtbT zN6`Mh&R3xw89yEeen2zZ2|UWqL4b#Qsp7O01LHQb|wQj_4?*X(A`5E=zZgYl9DSjr2^Y$gpodxwrjYkLkbU)Yo z>Tx$k{qyMVOHfau*FFG!98Yg_Wq4%a!LqXY_59KT@c8uGX^Q$g^x#MEW6qpQ0Jj}0 z3G(r$Z-N~>p2f(sxebhS0#|UqHM|V_@tE-$_ILc9BN~Uq8~q^I-!m2Kn_qiD7%!20 zXno)5OdlGz(D=l^=roLzQ}J0->t>5<+Ti=hzU%*Xl~q3PJ4-?Tz{5L`FS~y&_>;s2 zTz?B*r~!5}RQk3vlXo=#66CdMhe1AecKMppvAZtS*R3ggX_UYYSoJ$nNl?Ux73(SY{1*TwU? z;bJSHyasIlT4wU0x>zpJZI80GTVlsoeH2wrUZgL@UEnLv#^XwR0%LEiaB9l%w82>qS83(l8) z-iMHGi(eO87{B=v`X%Q@eDB+)+-wc_1zbn9mell9R5@+)!_eMCqp*LpJlketxX1oe zRayN8eCSWyf8+prhSy9?V|c><8|Y(rv|G@}(jM2Nv{UwhKFXEfq5cPrxGrkyeJx#4 z|2}&8Oc}%ea$<;kCLJSop{y003|Sq%Jqs8%b;7o7+5R~l+%deZqc!fj!E z$DDAokJkAQ|xvw4fcN8#q}CaJ656a-nl&;cIp{ z#~yp{OnoM=zxol#OFUoBK&@?$PW%j3-q-iKobW8kU7|NUD4iPm#BE zUePZ*{v@6vA6YgwJv;d%&gJE8I1W+mKM3S`JPpdPtLdlx0Z-vi;=J5VQ}d2cB=ukI zmG3k8(33V`PyMO=qZIXbV33GYx``QwK4$VX{vrD(&qZ^7(kF>?ee7Sh_bBS08#n$A zN(x7 zPvuYIDf(DD7aq=dQst94m)8cdUQwI`Dqk0WPc7B{;mgOe)sx;kvo%=<^(y)Wj&Hq1 z-(RYzYUo4Hpj<+Ev0OC$dHk-F_D=Tq)o_oJ)xS&CKZ$ewslFw0l^hN7DRxNWDdm_v zpUmZDKF-&T$9P#}2ajQqQ&H7OwS(r{L4XJAe*^u6IioFx$M9Wmjg^ zhxqM(y9JzhZ0U`&#a*L*%pTA4nm0Rs?1~{D; zqWv#_zFpbsuM1UJt*FUSy2<|T4C2y3@qVQ(mKWp+Pt;og^(SD>C*XA6Ol!Rd`p9SQ z7nRj?VqfC8B3l0l;wj^KV_iIFm1;Nn`kNqc8!p;8^gha48m)l#ZoG&6h{Kf=#;dN= zub^EdnqoZt8Xv9(TuR6D(t$y^Z|jt5%wXwyCv5=x$4_8?>gZMiaLYJ6 zhvvA#&!OEY4tT0P{m)lttG{{sSio%sKP)Dz=~$kj{^6H10gs)Ln=#z@6z7{tj|{*a zpB8}gZ=r*juC^=Usp&>q7}qN5->W#ZJF5S>MTG#@_rUY6{+YNApk0jegnJ}h2XL=Q zK)R`Tpye#!@#RMSO-?L#Z#%nyYtJr1`)~dlcsv)2Rb=@J-@y7~e7YC#RQ-MP{t)yh zzY%G8K;VzOjedsKpIv#shH)Cjm!S7JoaMFy?yv6veF&EW_U=T zbMp(FcL(Y;&sHCbs~?#<1o+K7u0HX^R>fi5E>GM9dOF(;0UolOr#{-j{sP|-P>Sw{ z`8A#2qx=SD>;hco@26NAW4XB7e-7=`yb0SWr7Ib@{yg3IRE*p2ucGv1`8ADL2>Ot` z(T4AFNY{3tJJuA;CkS9-$Xx5ar>2h_`Zpwpc~`~w{MbQUKzFHIs@@b{qI3} z*||QxA1?yGt3r;lvYHOH)7Z2#fJ@)!f%dL>-bvtpBK1tA% z-di*;KHZ$jyQkv11ifz(tX;Mx!_7SYiS1D7^@{pCJZY9NPn7f@11@c;33#j>&g;GR zrvt8ZS_A!2aE1l+p?531mpW8q{PdoMq1T@v?|9j{0>hOa$fKL>13VhDfxq(mQBU9d z`!L;KT)^-71o>U7Lh}^$?>)z`-!$jL@ky`@zQ3H>j_5sle?2eQ$Is_w!R>8eye$RM zpC^7sziRme@l>A3vBOJPx~X`4FptxlGTu&&15D#U_jd)e9k*LfH5CiIFIoMwxORSeoGpj&nJ2FPdPvz_g|0PpwDV7 zcf$bGpWZvOFBkRnaCzbhF2Q^`GFkzT<-REI)?w_78?V_#vrFdWDY`uIN0oWbNBWih|RPw}ZJUE;Sj zTM6>SPdL59Nb_=^ADh5z-|dM~R#QKk?A}kCb1+>78rhH?Dsj@+EzfFzFaRUc>Gfq;`8e7T=uJALoSR3`7; zH45x+3!p!j53~c^R2=g~deVF1lrEL8|6n7KCw`KrxNRhFZiRls%-O6;hxtba#G2Hh?U&xnN_Y2_B8yHW_@&)=U z|6F`$%^n{!fywLrqW>{1S_3%o`#6t*#~&jevICvJC3)ia>|5c?%5VA<$9vjAYsNF& zkv{|UBp&y_Z2%{p_y@eaeyav}@Gj~}?@T33vmK1bd1N~9(79hNy-UT<{SqGRi|<(3 z9vuUD$JT$qKAPFCQH&?S&ofiH+9kQhF`Uw+^0M&weiUCW!ryB%@;GC9dmrE@dG-9* zFvdgUXVTyPs@({N``^cT5aC9tJ>c$?e3j2X5%NptnJHh!_ih26`aYMrxpgGtH$1`f zlcbOCyG@W^YIlUwd-PNfZ9ilEp?GnY1lFIR8U0?o=W?-wO+k!}lz-?Q4S_yd7{~kMbL?i20>*B>m}qWXc!St9XGQ zMzeHDACeEQjDvkBzmzXc(SJdn^5wmRcJRD?0dTSdpP*I5N>XV`PCi5@*@4IyhwkN*B#S9xkr!U`b^*k_AioeCf4WXeB3qW zN2urS6&UZ%&;-XJG*3+2#dp>`FR@(A4Jtvurv0uJ#BES!iF(=#as7F^p0UX9=l8#e zpX}@?@iyp5ANm;Amxy0Ij|cUW_(>nz0@Nqb3(F<2?FH~_r{5mR^b8Hf z`fvN-C&2Z?vD_1bu)PqE`2@FTKP)dwS3Q>wcBXWR-|}`1*oPv1;_(*ydJs#O^r88z z?^k@MQbY4)K7V)5AKRVD6My_T)|1f96+IYk&WZIT+!@O;_-2)!40pc7eoFH#=GW<5 z(Td@gemH+IQ zuPc6Uf)Wd8oG*#*I|AwP?z4O(&eUy00OBLYmWt;jXHDUYz4s;L%N6 zhUe2bkMrm`z@42hH)Qf*jt73Zi1_5KwHQwGTzcoR#gle*8E!p}ro*fnS?;Q`?e!zGn6Wae#>6I2m{kg2_2f*)mh36c? z796K3LtAx{)&KY9!tnsD8%V1vw=Y($248eogt(<;C}869+fQOg@r{ z54d|4wo~mgyf2xsH-mbs9fRi?C|$$gCS91Gh631rHK8AX zM|o1bEyEoRu>Ym?CF_RCy%`?qIScfscO*@p{g}@1=qLK@hU^t4@D2zYqGH~}Xf z_1+NpCE_7GYHAPuIW=8c&m`R5^*Zo-*Q5Q(4-k(svR6N*C&?3@c+~{@eZs9r4*`$k zSZ>gV{Hpt>5a1dG&b_@NvJ+cgNf5$&yd`siuaFGJQlPE9?#^<(99^mnsar|%Raf506ulWeu zwd3XMGh{VcUrFSrd7}Bu_b|`$6i0phtx-N&Y>Xf;{XP}-vEK)IUqSTSp|jfokH7O+ z!2ORN1Fl>j4fFJfYYgh?Mn9(E_ts6BxV}pF%8iQ-gS_X@k3l~11p9@^5BQF%Yezr8 zN#4ZcY*Tz@!tETl-sJPI&DdWD_hOuF*GRO3?aecwXEGi&*N4_;ln}1N1b)qgbX|=X zgM8pkzHYu=1jYvU!5r*|Ih1yCPv?qh)K zKgW2saV{S(iS;}&F%JB?BfUT$>ysNGZ~dz^;I^}9H+SV}fXBz!0FQ1$zh|wC{v`R% zJ5N{3->LWRE&}U^jtSTgM!Imnw=pN+x=MB|mn%nsKXhry0#>hR-7nS|+e>&8zW){A z>x%Y^Snk&Q(kD#b=Ew7UaV{^P#COCl<^S-yuIQ|Gorp%j4DUS-Qc|Xb1g#aX-Se={v}mH}k7?iYgcVp;!|pPwW37 zV^zQdRWjdaxQp)#=sy+rgM5Y2ui7LV_**)MK>Pl3Z7uNFx|9Qc;<2sk4!CZDtr_DF z|B3du4Xr8g(0;w=3&d$Zh4i=e6>-{Uajg>f0qy*KUfLgwKPd|16JJfVkF(OdkS_7l zK9@Bp;>r9v5l_u8?cbTkH-Y@pevS378*3CbpCnKDk`6opoYFP&axx%+c$1Dxdbe80~(ANNU9`K6nu z1^o^DKBG6I7T8U<+4&*kCw(k&QJ(69b=P7cUD{VQbyy5|<-mCGUi zv{NybuJ-`;`^IQpL7vjp6l*N-Q+^G(jVM3i42;uE<#7BN%-I(3|JkPwb{BX^e>y+l zHRf)>^l`61|EB#F?>h(2TVPyjndSid2O4AiALIMtetpD==RM-zje~Kuv=jY6xWVsm z&LQ5(3gzyshV_=>THET0Jlaxkdlgj=45wG{yjL)vd_c# zPNrN(AzfQy1jw86V|=Gne)p}qD;d8dN4I7&`*ue?<83jnm$m2nCWgDeMLk3NORiAV z-;o(*VH|FFh~svO*B2R-7yOK4E$SKi_xds>um2M3xuG`l=NH_E@t9x7_=?_Y-$OkKbwht{;pgSF zlimZrO*`Kwj*hFS_8i4Pv4tuA-_t;e>^N- ziPyw^&p_P?AaCw3=F8OO0?3;>*9H5~KB?=!(STdOtN=Kr>)0~D!T25J#B-jpuB{d^ z-0FYQSXRIKBABme!7_k{&Mp9doA?*U!-faIW%+&(Q zD^jEm%JX|w+TD1bQ*AHlS>?lvN@SZZ@rO!|gn36QfAT#w&hKpU9NMYlwgTyD2BF>L z!MOpKW=<9K4~P3NP*kKosIt@ z9{a*EnBhk4e87X_ktaNI(?Ev%PK^_A^B;SAGhBUlyOXSb>AbrBx!0|zKTU(b0D0eG ztpC=vaXZ6(=LR*C)vxO*j%VoH{(z;QS{P2}_B|EC-4*q><8ZBZ3=i{oTtWTJo(zv( zoC@nU!EJv*J(qvJJ%{10Z#^|+^&9$bB;eXD6=kQHUR%9~VQ~x>i%b|*$ zLEhLs3b=H>e;rxINbpufB|iaeF;^wU{AXDLH0EJMh;-|md3fje?~fEJvU8z z+>hb$#HxC-`ZX;d4?M1@Asz6Wt6+UY%8UJiX~{4B86K|Q7}nDWcQ_kc8SbrD4Exg! zxbABB_8iz>sjv?EM^o=pz^|0~8q#%im<#nPRuA{B+~r<$Wjq7cA8jV9U+p(bLEbID z4Lkwcen{6O9R_^2No!M7Ib8z@{Cun$-pflE+fQe>rkU7}%XiFRH_x2A&~JuY;yRn= zo1$q<-ZEk>j#o400l&T3aLCsN&5uS|{r?zWH;bHH0`iHc!=Sx{pWu91e=-8)WgT@D z%9r@1T6o`6ZSTz(54B&%)8bA={aKQhU66gF%F_cgCcU<1_rw8&Y)%$h?)6>jx<6*?@)$)vFc!1;N zpM&M9WBJsJNB*<@$AFU`=Ki1F6{Yt* z$)9VcG##9k$H4uw`PU1Bvf|{ooyU6*%!(&0&p=N(Ge7VIEa>OS|0_q*KtAdJdHo+G7QZp^qXWK)z004pWmY)obEM~o@9TzADy&wKJ0(#o-*N)B5BYs z`)4-lmX)7)40km>0q6P$?>zziBi%y18E#F({8D+@TlE5*^zjv~1^nipU+a>UM?2y} zz>Up%cg>1Zx{+mjtXXmL8)|-`Um$*Yd~M({gjQp}$?fB9{S@$6-vepD!*QqfSHJ@= zhIP)0M_OOOa_rp*;Ff_}jARej(O=DunHyf)S=ec>?h_%pu+dCD*GYo5+%3HtML2_!B9zxfgN zM|6Lm0<6pSNK-ay(pUVVa`m zUwZtktE_$$-f#Ne&j8$aHxJZ*Yd0(}zilz_xHOB<&vZrH`}=T^_ct1Vev;2$>^&QT z-4Z<>gFm#N#d)jwt$`r_{DI5C(j`A^IXnXT*|r~~1D>eY9PB0^MR{}ei=&u)g3mV% zONxQK=J58B4EJ#TBX67-uBgAGBT9jNg3Eb3Z8&8#!$Wn4!}uh&74=D!m@tOnN;_V@ z-a(MA<*mFU87`N|4|Z@L$8nwKogPyd?it=4>}lSN`&sc9&0*YP(XD7MtN%~s63R8V zJChI1zugFMKHhLF96X)j@$elO7tuOHu<8LApBUDD-b_~ipT-X^GzESc~_r; zP=Bng&_7Ssw1e@L@?%M87sT({JQT(`(Zd_TFX^BB2zCn>`5W|)=6?#~Qi@j~{dQ~? zOV{yzN3ffBH}2ELuLb8aTpB;Jt*m}LFL9jdZ1oJrA;;@>1^-6nXm8gISybO2cE#E~}zwW!pWBRe<8iuE? zZwJy459Jx(k;&72pZEq`NA=X*3;cw;_xue!_I3?GPwQ+fFDd;I;L52EQ0|1&{-%C+ z5g0ep{wCqHU!2@;)y-SW^fVmH0pkH{4_t2y7b>=n;jh}G8_0*Mby~#aX<~;rNbcUPF4?$ zBMX3Es{Sw3!)O!KC$&CPyYNna3I4~o_FrMVXSKEIrl|Q@yQVs}Up`I_9KQ|x=Ibx5 zEWgBW8G`3tT#?XVhHLucIK=Au5A%C|%Rq+P%!5HsQ{4#Q-tuF>K4gceJrCqdUa&WV z$;Ue5`nK-9-#|Y4U*^XQx2{3E`HWbO&Q*TF{t?r2kdOEKd<2uHaxoNq0=QE9DEQmR zSIFa?iux#?+asAg;T99hdtU4q%W&UT^h-*q%fMqUbQ%0J;Q{?Kz}>aRkIyO}Z+!)D zDYz2qA<64%ya3#}s@-HJZ`jAzRSsbL(yV(nmEpnHQBQx3-$CB?uYFQh`KW^OW=j`n zFC;IQz6$cz%NM3)<#9XEo`J~~pdC@Vj-2Je{^8HJLVJ||#PO|mT$Be z>aSa{dU+OQ zhx(JqM0wBo-m_S`#1pxV`q)nv&SbcM9ojSA2<;|c+B`ce9**Y)e$N+!!CyHKp+27B zw?H4$i~oR!aC83>An)k&g`4pxkFb43n#Dj~Zhl4JF&xHnk@kkbf0CaJ{Jsq2gC`~n z{xjYX>%T8|1HetZ{@be{9{1*30O|HXJ#D!$T}Qd~^RwdqomlSL8@+^dqh(Qld#);i z|Cfi{1bvh;69s-pg^G}0bIpN5KN7NF`MQUk2A;rtte(p33h#U|eB-P+gE$KFkNWZDC&EC;8}{>cEpYS03~a zoy2kvY4QGk;?ywUH|D{4nft{6koOO$3OLD!``p8E)Z6s{r*V|-)U{PiPjlN5kS_6P zMpgjan8OS>$(v?fUdiNRyY!$B?ej+N?*V>WbE6<{F7pw{pKW~!`jNPmx1*|BkoW6K zfj-2eFZIa^#vi}c2XJdKw40&QJm871Ef4&zSBRT`ECuqxnv(?i$O3$SM_ahEAaCk6 zV>#oGhSNcR3m=b}KI@7+(gcvFbnW>{fPCyNjGIK`Sn1%_WsJu;^$e6F;ns>1yE8md zYw&1U{d#-iJi=XcRZoVy7Y-G0gXVEphWiGD05`rp6#R^>TMpn48$0!o)&CC_!hI9# zudiXclO933ge$KthWUbWsIDL%DX2tK zKLDKOFV0_IEM~a5WJSPf9we3dZ3)AjZ`Ou%XS_P-%r!u^h8W0}0S(ve_YmZ1{uo)HAIWgT z&DNkl%|i`i--i79UtI)w(#N!F&nHaYnXet-G@q4Q|GbFdfqOj#JhAVG`3%4I@YjyA z`n43rai;CHxeFQYEc80mE1EAmh8~~C@bGN(55_dC&(gb_7l3?$tH4k4W`7;vw@tYV zILXUvN4lB(okQPSWcBNuhUfP@4Uf%bc;sbnNSD?J9D|C_VR-zLCZMPE2-gQJ&11l$ zUmC-F@%04TpLK^Yc~7Ggr>+e4v_|5OnepNw}N#WTd8%xPdw(&y3S(q(N8)E^7^)|U_DBw?F)Fw!uR9W=bp*r zwGG~de9^j)Z^ZCk4Agpo2->tibyBO}+^fl=3YJ~Q&9sL_{`OrMDC-FyC zZijTExvc{3yLAryMrirn)>--epOpdJ*1Heni_(pD_;(^p_t6$7q${_>{vw_u|73<6 zGW^K@5bK-$-=C&3+}G+WXcx4OXMONK@LL}q86&IzZ?B4e%;qW#{!RL$>?nrQdZT5! z4sdyP^O0F`*OzO7CsO!6jE8AG)08m`?*Vyz8SNm3+jHakiEY41NHjUz^4~O>4DsL{(4bpZ0u^Z|GtsBR;lz{qRlD`Ezdza(7P-NK; zz+))(tOMhr@-n~W>Z+)}O|6E5{b{}0x9u758-A|?^^o{oI~PN~{O;AcK~H_zToDxht*@SaPoczv`UU9qdoIvup(zS0v=yP>wXNhzCY2 zWjrR`Wv~zBH#~>OZ7A0_T~_~}aFg^d$QvuphWyg_Av9+p=%Wkg1HYuHg#E0w!6_(5 zo%9^aF*)ukcnWwT)=z*B$@WcagzG*tq5OA+!Im|aH-C*Tg!0&5k1D+(FF%jgYIRgZKOS_SXmn$mFi=BIC z^k(|F51s+P?QD+i)O^th<>>7_cCf7eKjHd!r5;Q^QsYmkx6#%(-wB=`1@e)uy8tJ7 zPmRqJnY^iN323L$ym+qO`a|C-47Y8&kL{QDgVD!LT@2R`!+kF8Gh8o+pFnMR!b?LJDB|Ahvd9Q(K zc?>Fi^5>H=-A;(<`RBm#?}hdie{c`@1ErMlvif(V zkMiIa=$YuBbB4@d{w{#A@dLo6``czAj()@0sv7V(iw>KOIQlEo-hV*e($FB*2RSdu zyH6H_{+H5qYSTd8)aHngFU^g4P|tmb{u6M2o!_y&Z0aVoBS(27;I`tYxjgFQu742P zV`TMb0v@f{9onO`5#;^B!GOR1 z>Y^YYt+Lv~_;ncxA>H8e1mIPR{w>H)et#X9YFrgx9r{`S zFSoh==b)Vi?*0e!N5jH90`4m`9_ERLW)5C|us+NFY4a78)jzkFfJ@a&!Tc^Uw-B#~ z$R9CH0bFT2B3)Mhj`T6sDFyoL{`d)aNdMUFqC*u`>Uj}Ux~zT)x7{vmSJdAb{^ww4 zb4xturrf(XhvAMYV!E0a?cEGFR{1zxR=6I=snEPAl;|sGD z^_P3hGj3hJh>;lh~q5hD(x64|npUN`4Ur+ME zX)&lj?kD$vUmn{Y>c4&Sd&3xyxowZ3vikMp!gVcEH3{@_|5Xjfli{L$K|ZqZ3DgHi zgD+s-M?AKR*T7$O8N3zjM(OJJ$HC6FUvH0L{8}0Pq_lT5=TJ-(>8B9K@Pxs@1EBe|C zv*OyLc#q6fpz(sNxIAY!$h$Z6o1YaAXuky9^HpeWRy;ECFyM(N%`>y&@$=g;-SV~F zS@Eb5`Ss6Q&&rBh2co=p+lm=kaqrQ)z~eh|V{%qp-gyA;(DX-^Zt9#S@vx>a@5$`@7YUGpQ*fDFaLpYh=2b8$X9$ljx)X8 zp8+1bWtz?SNj}{F0pOm=R$eaXhh2kj!}ugIWaXT!@|stBLEe7*7Xc5g{tj@BlEH-3ZX zD>9CJ#O2XXI;Xq`rP!t ze5|O}iZ0BF>2momk3yub*}i(v^2% zTo=MM;hfN~+0xbt^2+`WFfOt-^z-(M`Sop|4C4@Ui#I`^$YIQvw^j}CGycEo3i4gn zHS#ch{EIq)-ynJGz&C)W*VrNgF4g}H^&DOZ`vvX~pXZY6`gP?v^O&47j zFXh_uznZ{sX@7O_|0HkNW&wNZYrQM@6Z^GQfa?Z-1><3ow_X1O z$}4b6H$i56d_3Sb8~|MVToL4BTaSVMjxX^XlxAvw$ggV}p34duL_aobU;dGb%Ia%f zA9zgNvEBI&mK@G-$FUEgyc|Y6mlZFv7|J(cDhfEso6l^8e$bNRfzU4WUlo9M8Z18= z{B7h@Tpx2?n*;tt{=Ey-XKL5xf}aDf*`5&mysiqyh4#D{JX2QnO4{M%CXkmZ?HBut zS_Vkh@alx%_jFs3-&AL*&|lbx{slaqtJ|kDe)5z0IU&FU%if&IaMIs=ZtZwQ{ryJu zGQ7U={-XVbSqv{xwwh2sl`e6ZcYE`_gmD7tZ@)Po{I>gE#4f9UN4PUwdbFbcGB?>L z@I*hDG=|~QN$kf--fNfz{kYVzIq$#F4@fodu4MAY5yb@DG$#o1iSajQ$m;(SPw3h$ zkPm#DSLhey`KLi%SG|*f+YEmJ9*8vL<%Ru4i{}HNUfG}iDby29GzNZBPLvnwzj5qm z;Kw3g`~~%g^ij_tLp?YB^^PEKD1UXaqG}zV)KKVWwF8cTAJY|WDdL&q=QH`h#Nh%@ z@K$5+OEz_VMOOcx(ly0qfd7$(T7-6I+;$xNkI}wWkax?E-HQ6x@uE!y{!mRX_$B9E zn;;)t(rN;eml_uY`%t>xJ8w>A_|`JJz~2(Cn}c!V%|p|8e~R@jP}B(JrRx?SEvtV= z^41mS0FM>vJT5C9Sa<~dRV3eN0go;CC{t1Y+P0^%fV(zIvl*_*U4pk$-oIR33*(UJ z+f{`6sXyHV>Vu_1j|H;&ccjmP%V|*0eUD>;p7x*q0=wy}xS@TKyivaw>})FIpPZFP zs`e)I7yimW3i7iiw}5hY`+pH|=fgLlUWM1T5qP4#3xb{zP4RhI`5k*Eg58t?eFT4E zx^ozC{hr-3P#*2CDYhAK-+!eAe-gcMV1**7^OGC@2>vQDM+^3hEEyuy2g9o&AfGr_ zL8w0gXI0SCIHE9|QzHAge>?^2et}BQgmST7m;^lW%hv>b%=^1ReRH&GEb#kmFQI)s zs(3;058l9Yu$$y|2|U4NyV0Ht+6eOgkLLi-)+#mux0Qbk?bMh#2mC7O?>PPol$YW7 zrvk1!-4WWO>H0JQcRqW$kl8b%#2}GB?+&OZ(mR6$d0TiOwD&vn`U~<>&tlN7@0bP) z^3u@pP@m%kz81ct zH-!2r70-b3@-{OHxNGJs@RRX)Etl zYpHusj<$kRg?16H)*s3%vdAgm@qixcgYTp50#8)N^)7wBuLXH|{-;n6&EJ12;Erb2 z$t=I-RwG5bZJRiq;ojPhgnZd;Bd0R_(Z5zve%~_Saj)GyLstJkS)Vr?1^er&7-q-} z=Hs;Z=H+t~^_P8RSE0Uz=llSEug6|w9(V#*rwF)i*I$5#E3TU(t9-;C9ytc; zgKzsP0eAhp9{f_U#OV21<#p}woRaOIgNw4_-j^SPpNS2y2=le*g37=Xt^b+8bD%?e zsQ;Q8m3hC9{etZ)JZ})zo#5rg{p4%+!OqSx1qHuqS=A5fRbb;@LEd}^+gGpi69v1S zb!xEP?LRmrtNxnnZs7OyUm)1c(JKsoCUpBZ&X0N;s}+TMV(4{Uz)dBJ%~m9JAL>-P zkgliuMzFuX=>b9i`1Lc`e=Qs@)Hm~oTJST${)1;^)l>g!E|ize_@U76IJ>_NcD5es zF4*7wu;DDGk2dq6z~k(G3fhtO*%_hS!#(woUvsV70`5qJ05{FcFQgm%`5f56_WYJ0 z@7*{K{C0H5O93~vbV7Si-2FhXTXgt2C>Qt5h|upV`pF<~n14^On|FQ_@T-xG?LxiM ztu77uHOf0@q1~|l_}=UW{vp_J3dgY=qa(fm{~y1#M9@d}`oVvO|LiW{nt6ul%%0}5 zQC@Fxyz1$g56Ub4e3l^Zxjz!hUGpOUT+|2Cb&a|OxT|MbA-|S`^&r2IQ5a92+Nr+4 zn3*iyMCI?e9WY%`?aiYCkH)_m?BL7g66|A$R|J0J%le-P`W(W0Va`532=&ML zLtQA}NY0`{xhD?YTg3FS&&T@+q^IvpCCHa!$RNQ#IM#dw>ALEAczr=GgkZekoi|I+$5KWM@|t&x z3Hdc#X$f}Id{j>;uf)+MnJmAtVR3F}oaZX-M?w9u1+NP7`UktAed+7{Dd=zLv&GGL zEI+vgTq@8V>SuV@2BE$9hONzH@~%%`aXm3zm***zi>35h!49@OXQACC8oVu(uj%Yo zzbu@D!zunoq|*GpiuzMC*iukdzkwnD0gwHo**1m;Wm8#M z{W`Zl0-Si%d;0AePCOnS_d~O*SX+iC<9_VL^F>-?uQq^hya_z6uG@Pns$9khe0Sb4 z67^J$g?lnQ(JE(4S^X+rly~GA2Kl`+y;wbl$G1KP9_5>=z;nFbe@z*#Kl%&md1g*O zMg8qN{e2;Z8|7z!TbBL{`O@al)nK@J#1p`6GwSwN)ZgKD1|7pqgPsB&{LGfl@L<7~ zjSiNOqaudSKJa60E>{brG!;pVY(Obn0zhWD7X`~DcfaF1hnafZj1V!DP3 zIR-L3v~Xi3hDS2)A%E_b!x;X??FL;KPWMdzkFDztSK@fP*do?oG!czPezBpkV2jw- zjvYI8yf*CEv17T49XodHXf$HSz8a0#F|l9`cI+56Vq*Dr&b#Axm*?JpcsTcP-gn;V zv$Hc|!`VGW>AOAK>K_E@Gk!7-zAkU;ehfFhYuJI|+@HX22jNeo_!}L=txG6>qX&io zS5=G_VYqhKUFbM|JlRu}zMJ-B?jlH^Tt`3sU>}Bu{<---hVygSOg$d;X1MdGLq!=L z?m;@1uoL{~^wOOe&UNgsqk}~0yQ6=1;Cx?`d-@>wFTFpg(ASkc4BT|?4+GN?KhgV5 z_JZo6Ovm_F{`L&#`-Cl{R}L1Xug5*s=7RLe-={XW{Cxn!jls-S7;e;1zG%s8>wKym7)KAFiWDJ_g^>b3p!FPkbG*6K(W4$|wbE3Ys{MSPmUp&(Y^~>M)DfD%D zMj&0Te2WJN(*ODMKEJlz2*wYN7~g~8U;6Q#WgVjQEwpB0YeD+t`_{~wT!^!7`jJWu z*N=To<+f)Q;EDd2&b~<1ANz`r&^KB)B3)cxG+qI&`XnYXeZH<6m{I}pPt^C^tOwkA zEpr9NcV2i1e*%>jqCL^fU1#V>%ZK$0zb~g;ApPUGs$Y zYw`G-nq5M^B-%BeoW^lQxz%i)j{FVx&pw3d^XKo5M>`SEM4d>>3BY-Jg-uki0~v24 zK8bv1)lBeH+_D?xO4axY;_SOvbsY0wTz*}Vu7EZ>(i?NVK{;`BqWT^$ss^5@@4pmH zRX@IB(Rik>YeV_P_nR3_WigLV)Uh9^58T|mLU}>@UFn2Eg{JE;fH3jiW)UoGJR^TC7 z$G2n^bZiagqaWe>X-&p|DGn7kAfE2V6wk2F4?Iy{cykH3*H8VdwhHB!xAVY>EWN=S z9nk)JYM(=T-QD{mK8ZTUdhLNH>Nv`!nZ$Iwht{DzH1Dn77`ApPGn{WSFb zL(?K%iTWmAUf{7+f0ko>-(_kKy*CFy-`X)7{N(zf$%|9f(T5i)@R%IWa2d;FQPMSJ z-rtVt^YPjyp@XLLac;E8@}F4YDe$~he6-(8jB8ESAE`u4hNv}0V~ zbKD5r(r;@IW|!A%_4=c!>g&BbQ`L9;RyA3aejRYkRQRvo-3IYV^waZqAK->#?@<12 zHK;vwbSpfC>6osrizko_^i@@*Mn~npF|zq_8)*d zOMQ)gA-;p+VDCQ|I>sZ-75;nveGY!Sa1ONpx(K!ZzPFoG)%RJHxV9~|Gs3u`F6O6h z%521$zh@L`&|?b26a5Tk5IC-A&*POIK*t@U_t&^i^xMmv|35*}Rs+zM%{4!{_?;o`+M_32eRy zJoNkRQp~QS1dYeStLVM9aGx^plfTy%*0w?%98IU8zQn50_{u%JCGbQ)L&IwVPt=d} z$xZX}tuJ4}`O;sn-{}pgu=`5%(o?}#Bbj9d>J)6d=@KYSS25|`7q5jCwgyI=m zG!}TGpMe{5fQM9hOS3ox0Nvm5-A+HR1|okj<{n# zbcFd!75`>u<&Q zitlswWt>ZKNSIgJEyGgPF>6ZC6{Xa;_co#Q%KNAzS#nYw5_H0az5#A6T^8jkK7-or zP@O}|nU1b*0hb_s@^wYKYc_DliTzUu@8c7t|GJxcRJ2owm9{$FO=n_^#t4fb;y~_ay}f8K*M4{9GF6Il4d8Vl4pN zv!2F9_FvXP-}&4+neq8~3;yN5K|iX^rqH)`r28QBM^?ap+h&@da=Vd6>wqWPjn?)9 z=XTv4#=)+t>8nX8?HY$JfL+7xmGCDqUHslpuJ0;$Wu++j?Y$F)pX!6J5P#K%Pr$7` z{{wE^OY@O3tmCy=4vpzAk5gC#FlktEIv&_s1gR!3i`DQDvcY*^eKdkTPBNa#a3Jo6D!FFUa?y z@N_w{-=O^ZNY6u^SE!x$jHmk+trK@3KK_f;ej3J8x?H20DeMLsQ+?E2`5ky-y7;}T z+%DIT_NcAUkCYmMxCtBEI9a;*`6_|3a}c*+o^+||^LtmhzH7@fd%lS@OsNK_-%{!La z<>$|M9U|fx_-YFL;dVn^=pL&`qaf02TS4oM{JbVh>*v7Lb50{}vAfhBs%IL(<3^;^7p5FVx}r_Xj%0YEeys2_q?hYE_fUHt z?t2M%BpZzroWC!G|NcAP;Y^47&*PxE{u}&H)QOe-2RPRWM+ZR1()+})lsd);m0N4| zR?tuMlivf&^=)0~+_uobUyv@%*87MW0iP~q+v!Srd^@Xv&A%C?e z=fW;8xA7A1fd_6JLp+7=&nWWUUb-0ak^95@3x5ABKkrU#+zO)4N=u&+nh*`cb*QXr32_KfJyeC(nhxeZ|{BEWKRcn48{jb(btSgyB5BF1eoi z_`R_S^_1g@cJ;gJ!%uEkbKeHLo^iPpc6~>7BVDnO3F+l_c{$*#mUds1A7=R3a_mFK(f3e^{LmI-}Q>ey@CL3}(##z3F@Z&^?0GKH5u9LV^5 z+{^8nMo&PTx!v$j)ZYagj|J||NabI=OydXD=wEG2hx^a(@6&uP41W^uGqsg&hj?=R z_;kAW*>koeaMML<2Wx+}_3qG@&zo}na}wz?-|yOs;XGa5`P5&io9Ovoc z_Yrfu5hvYSXDzyF0Ml`ty@z^XJZXpB=+I9|4Cm+F@%Z!mQhEFhzb*sca-mDtlzhuA zx_^`3e;OZ3^K|YHzyFl`<7i6vL<`}$y_t^QPI2J;_~(I0ZzA8`^D=PGkBvP7oV>s6_Yf7Pi@rE>559H?@2KH1%dl(t}XDi0%=O}Xho5pcghI4)Y zWts;KtweZ0e!dyqMdO6YM!MJ1)rb5yWiCy2ua-2Y)ZyoR#{6`CxGVRcigr@E4;}MO zZr8D=4E(e<`nmd@wP(2I8I2FQzU4^U#tb)JzX*L>Ub;`#uxnZyhI9SU zF^Z3V-9PmhuFF8rg}J`wb8=gTbNxuA=J3aS`F=BobAPx_)@JK#Gu&C~1?+nA(!H^c zpYJwjIJawmPvfP~n*6|B-KZRD&koNEEifISvHZNCBgHwM<_Xq| z!Y657>G+YxhpzHRD#GqEs&@hX|Bx?{DlJMf+%KPtvugP$0F^Yrf0r?rp zx4Z_!10QHUXnJ;{lPG-;*;-~}INx{ip<^2>!!>7a0_Xb;yj7#%>uS}h4*ub{h>zt` zKk)TKUj4-IFZ&R#cLv|0{k|5%#hJu6&&bzVl)g6(zNI(>DbD;JmM{A&L%!gB8@6NmiFj~nS(JZ{bA9VP75H4=QoJDiH;gcY zAD>0-o^?te*mc*;jP^&|PI1$E{lL3li=tlJwmw7rIe(pTByi66zZe3(G1>_2t#2IZ zb6ko{67!$q!JDVSw-?NX_Q&0U#?_kNCIdGdp9DPGp)E z;;B7jLwoCZN_-wS?~b0-A5EftG91^wsZ0G)0v^q>AMHGkr}ZSd(Q{WSK-2AuOb9@y|q zfouQM!fqr-#r{mk?4xq!?K2Jfnm5VlPdRQ4EJt~e_9GEqnD)c`e|`xVhw%KeOuhh} z(1N$%$JbK(!}<5Kw8uDs^SNE=o(|yLF4q}Tb3E`bIxQY`6eYhceQBI59HO|X+wO(k zFL-6jcOHjGj;l1jmGja0s2nx(2E8^?l{{Ze)IFMK{+0_~D*|+6j^#Kj+XrrQLj{pSX_gu4pB^ z(AYAJZ}m{WZ~gkpT*mjDor?B{uRl9KWlvQ{==K$GYoTQHNA7%74kPncLMQaY&qx>7 zF_bs~KgH=cjm)mP6tzqC;m3g|`e__1?~6{*w-l!HJ;Z_26@FS9_ex#o_(+cDV0J^z zX#LRaYEOPfT<90RocCBfKlrAc!zwbqxjn6~T6)rZyNQ1KM;8I#-EvQH#t)mQpA~N3 zhkhd8yYL0@M1FYm`W2$|dtbfWbC?c4Z`O5(*0qf88nYSB&!-J^qjf@EhKsXO;*o#% zWBhL&mIXR|{t`)|`F`|$Cj~!Rjn@4f2l@WkK4|BCkN;aKO7^1tYe2_#iq_99t5(8K z_sfwpnO#vnzt{2V0PIG-ZVUay`9-MnVffF-MO@$BJOrHUoA!=|esoi2g+3qOMvTQ3 zI_?MLrzRiWgB-prga#f>dFk}KljskpWgQ<`I^p*;J~y{`3A^#(R3Ft7XkF3Wpp!z! zJDKKj8nJ=wKdo1Ir_y*{x4l1ff}@q|e!7!{bN{*BNCl_DuD-`W#9y5ho0ii5;D0XU zujlzB_>&l)z~Wu-hwJnCVAy*NcuZcmj~?3v9sdt>zc$wiZzBJNj5_eWwW!|lxCx`{ zD)gh@)A&|3vn=pXHL7=dK&oL zZnz8G7jM%K2H%zKq)(LW2puRNeX>6H$624wH`e_^`!V?W#@>E(&TwKo=^34zYCmN; zcn|$xbOH67T*vq3MymZ(c>aChk;6MGu{hWkQ8@|MBEGXcJ@<@FmY;iO&byGMLtjhN zp7FW9IHm~fCi-cfR2sOyXd3jVejl|zhKLP1wv`vVFdg1shc-+~RmZa54qVLfeHF&n z@2B}-F#RCTNB_n5*?RtY0DWKg)9{m@FCCeAfb;*ybol-jOCKd}>q_hJ?g#l6i4re< zz6-5a$me5gN3Mpx+cQrdZ&1Gw&Gi-V#5h=9XHejFSwH+Yor7)uHeCni5BF2G!mQwP zKh1kP09WN!mu7sS9*ry1i`?+jK7W?NPj9(8zCzRE3wN zZg<7}RPE|^Y8Q)=AMwrS5odl*xMnNGKQRu`dM`<5Bb5i$7Ag;>MlGS^U2BB@Tt`>I z0RIzp;w6d#S0(7Uvdw^wt*%$$kKxd$RCU}99KikUJjGc&twm^k(pls;=vd~w!Z?ll zBh)>Ss*eBMVc?EeC(1J&gX1*nySKDIRsG15IHkAI5QU%Sb6*2bOs}f};hHiPkng53 zR3A0{$9P1^p7+-{{N(4xTU)nJRY$Nk10HZRGB7`*Nyp)5cxe)F`>(6ZGF;zE9%*jmm89xJ_EQ9hkLUZ$$=u9^XS z=eHRvGe5NjsXcc;{SSO^iR*}uHwU%-k%C0->s#>NEhc@vwTxd zko0)_BOGoCedC$C3O|F{x~Hli{jNW7Z&OOIXA`B@Sm_Vwm~%eq$n?M5zp#+*SxEFV z-h^=RbzZdpngbNi_=k0=>Wfq9eg{K`F7T7--o8`Xbd7 z{^+Y0gnnXrz4!9~Pt>s-oklu2)^=j);^(XizxPj7$JNaO-1&<3%eh9JML9I|9tvEu z^jDNml{_E!J*0h8(N^P-UaoIy8c0@Wk{+#czR| zk5DCxp@$8w`E5>`CQ$GRsZ_0yy(A%B-H+_2-xb{b5W2SGhQT^4vC=5KZ zq(A)84ySZk7VZWf+WH&TLo9#F{n6UCz@3u|E9?eGbR(V7MT#8^;E}AOe_}epEoV^goYS(b5~c6qM|qnuJl`{KcVB< z^#<|baS)f%zM#vpD?D%Fafr^mhkW<_+p;0! z^ZWR$wI2ZYq`Qx}1^)a4ehOdLhK_KiOEt#lI>tTCfUDCjsLb%-g$3ZpRM~(>+m~*@ zaDM};*XlvEzsPd@P$P!(djpNX(tT0^Z;cuZ=lZTfIpL4d^FqP*t!V{ZC^OlVQYUh7 zK5)HI9y+|f1VWopPu;hvor%irjAvH|@Pp+mDEP)~rGY!`PKADS1GO{W!^-x``tv*J zPcHEro*%h$Q#nzsDF_|cjyei`G5rAWT`QL&KKx!M|E)d1oS8s;%boqN_ z0d7bbKSX;C$G9c(w{rZW?)Dw{wjGCImyb8>Gai5+>sSEu8dd*2@Fz5##<8YPnPs~a zH-Fs=7zc{;l;c(VvI)>Jl$?y`$b8%-PNVbo4dpMQoU3*;fWGfoeelgkRw93ORq45; zEe)Ob6??VCmNLDM0-Rd*f4pYcd2CcEg9(V*JnNFW!e# z-h@1NX{bV{>K~9y;{QY(MT^Jx4W0pJU3W%7s{15 zi`Ge8-xP$7DWmd!Rb!Td@YDQn4Ee(S_pDKYZ#6zrlxNS<35!I@kFc&M`jK!&dXA~; zHw}FCfQI#%pWYtSAH^2OF^{${q5N_jqV_6ycrA3)gO?&c)^qe6IZ`e+aO0UHz&+XP zBfa_qzXDg?ZBdKqbAD*=Ev%F1YmQasOXc;jt4?=Lft%GmfV+1q*Aw&^vH*`1$%;7p z+R(n`XuamZ#jmTNe1=|Ay))*&3|z?kQ#Iy~;ai%I>wowY{%{?ytm7M07JTcvyJ*Lp zMdu=2w(SFfyM9j7km>My$ISNcp`%@TQQ^P!)@0!BTLVfkzH!2K=(w-f2Cg|e4&{Nb zJDJOEz`B{%I^M+iA^Bbm!;6{ZXMyz!zBAt)v;*#`b*3>sukWFM=sw&~_9Iv)|kR zFODk-+)U%wjo;T%+t#C~(Z zH=bSve(Xs@@a;3dM}J|>G!J~9UVr*H_@3~@8O*M)+iCEF*&hNow6X)&-ntH4W86jj zwg;iF$tXWZE_K-hkjHu|`C-0|GeMyJ< zuW+3!(7Aczq?zIR0>hCm^U-wBF?r8bX1I4B^}m*lRe*=bDDmjz8hBpm=`df`?*kqC z>*v7Zg-nX{s$Mh#9va&m>jw7mRBm-g218%}IbB(1*O-Ckv*HMPjvVu~L;K*lQV;sV zHy@#6|5^F`*H3 z5NDs^%8$G_A*xLecyMtAE29U0%#hSpIHMTUW|aaZfaaDKnD zX3PxW(OTuZGo0TO9eceUc>KRT(Bb-`(Fxp>J{@#8&i92nTF&UjbiV8h%}e#vGU{zt zh8yZrIXAuzVLWdxc@K8^eoJ@rS&bM?wxj7vEdzu|UIdR{nb~~_W?ZA}$*dn^GJa}Oba2^M~e>)`a-{$v> zb3B;yk0DGaw1>tUmhOY#XUMl?FvI!%hT$$hcQ0CS6wUq3V&jobHV@M zMCzwZFX%lKOV24I89%a};;gCo2z=p>70?eCx`B9FXORDz8T9@F*Y~cYIEeXoL5JVl z9=h-f<0$p~-$yfjo-T7;dhgGgv<)N%H332ded5d(#J0F1#PnY%&+W#OlUI^UWAq2kaFB-S_TW@qSeQ!=` zue=YV&@sKPJb~d{$2`QE_Z@h-jTpxP z=kFu%dgl#Y2hQuA(Nz%TO*mC&68S^r&5(`aufJme&fojfj_L|ORfn!lWPI&fiW`6b z(Kn^@WQOziA9a;~13&cO(?o__9n^p6GLHdn8cOeza-B$dDkp{$Ba<1QzaJVbPIfJw zvjdOiBfBn#2JNAKe>vd(W^z4MeS&_(w*~&V`}~T0Q8ysFu^R<}>#tJ#<`AhoIG^qY z&h_J&XdE8w*Juj!hmXTuE#E-jHueYL_9C?Y7U@UtM{CmdLwm^c*R!?)#y>j!0>${m zQc62VlyvoND^_OunsQVx)RS6)FJ$c`Fx)BcuijOS#&4l@^89)m#li5Q*KCpTVZy9{P2E#eues=RLQTlGW*`gf7 zt$&I=U$gpRq%h(1h* z$1U`{64`Cg9q|bip?*`d!3F(G3qB%U=Bc#Ksr7ll4}X0D>2mg_=VfM71pM&HONw+E zwwu8(U+RC*;rihQbpC*E9j#OG^9>>wtAlSf+y$j97BA#e(X*G@FP#RD$0r2`2IA;_hp=h^$mV5g!y^i84TC@Czu53 zQ*(*Rv#Z!T=yAO)hE8-k^ycf9c<95WEpO0aw{2%Nt-?kgnn+QTlcG<5Bn%eM|LJ)i3}ZOOx6t|NI;t!C81B z_^+2x-uU@Q+QR8c=iYGGjhM-jeopz48T=qUC0+lNs7Pd%|DjusB&+!3G7qex2%77V4Ns@6SC9# zn7ah6kA=%$f?b34fkMA~h0?$+`-Fyq^gDjfb-eG*(M-qQt^o4Idw|NDEA$xpdiNB> z(r2E1+?r|h_WqfINF8G| zo?G#AsgX$rFnJm zg_64ze!Ayn>CgOeEG>a?JHN-r@b@&*Y4ZlSSws8h{k3L6$Ns-D3cK!>k-ki)kgG1{ z1z&W=wMINcuB-|^*YP`*xV~Vk5llx|+P#1vecDFK?aY!JBN=Z0W=}DO8&2;)dii@9 zj`}xY*DSx6A#|AoyXNxw5C_u{dS3bL%@6S3bGoM@KBf;3l9;}^a4)2n^X*lqA`be# z(=ng&{YUQ?_>xFpf9j%wZyLK1`i5!efqO2{JYChKI?@$R+g*|G?$U>bFuS4VcY6ua zC*KDiPyZTx{kmQ#|AGCaWBcj$P*Gy(UL8UG^6#Sh6+Jx`{H$O120z%A>Wg)6ngNV2 zZc5uY5$Ev4S%|au z^il=iI$=M>q0yfMm|gq-NJm%l3iQ>r(<*S|596Vuns!}*+t#&!j`#Lz^mm%Ua{P_t zk3M<^{_}jlSyZr#lD!f$W_D$Eb*hypCpt%Y#Mzv1o~N~S7sSVJ9EyH{$HzRoChVFg z)#$D%W-kj75J~~ zm$eGx^K(|U6S~6xfbCFShJQJabR?b28qY1DeNZ22fb?2kwj3-~7ESxEu#> zgBj2_ls5ra^`ZB|jDMW~-)nx~n(=kJsh%2zQRGijZwte@|K|Na*hJ}j>=x}$;QqLO ztAu_eQu_A_jPK1v&y~D~EA(c3)$UIy&pe(&`n15cxm%PMq<_aREkwEk&iByoS7CE) zhI4+tq66TM`Ea|I4Cn8e3gPVVKjb>uEG6!%SQxl<%1#AeU$$0HQTn~{W{sa1KkB9N zVfe)E?hN-dxQ%>NWuoznp>|{7=9#o_)^?5dN9nHkdN6*gJfA8G(kEY+)(z?pTwT*p zkl~^7#8=1jb`z!Vam{@_!-IcN{R%9b3Ow|4J@EZKseY**?nZkX?UAM?R+svsa*|pxnN{`XBFZbUe`k$;@NNN7|zdW57(~_{mApX@JCZiuGjl^ zPgMkl3D?8tQU}8{yuVO-3*Ge{};?tyfrT(AAOzaK2}|~8%3Co@6d7J z`lV$N&r31dHxkH0`rgCe0@obtD=3|!-GetoZIt0M!6NT*ioF8iY6)i~fjqhSxjGh-<*rGd6Z$e2)8$-b8zNFwJA=@cL_b zcMkPB{gWB>7@yNMgX?%Mj6-`EY0xu!Sc^LdR$l^*?ItNV0LLaaAE57HkPPW5QI z8g@gSG&@e?9X(HqH^j*_t_xOppcvQrliFh( zF5Df9c3%4(@m;@+LH-&CW*^Gz^7}4rAIucDrz?g4m***_!ykc%vbMrFoR7Cvx;4P{ zlMX@0UqY^59gYBZ6zr+c(d*^|kN=e${Ag)vhfSFdV?Nbyb~)5jp$V;}wxOd-ZMIx1F>h;ta>f1emdG`g;f4n# zVOMxdI+lhPrZe1G{yPOfd^H(5u`C(E*ES{p&3|^E#`vn1AE}(kxYM>{Cd0)8Zx!{z zQt>ME1;Jaqcc7yhSTmXNeJdWpAIGq<;JX`T0M7a5 zXLEpCy3=`*{5gf`mz}`v9rjFyPJ=nniS4@ueR05&i3}GW(!9gfh4#UQ|7$df;g(WY z!H=uyIfc1qPT>6ch_UTN@?Ud!BI8F^)A+>Pn)E&2ADF;!uJ4UHz&D+_O!(b;&<|N6 z@aIjZmQKbGq^I)Wm@ymtK=}`&7|x%gd5hlw-x)WLVYq%T#V44So^yEyIvot>&+lwo z<>#1PqiDx?J#rczlg`QYBN<;~ zernqg20zzgHT>axwf;76>wqf#m_L?fq+S zLCe&xDRKL1dJcHA&I;g`+kYT#o_)oj6Z`9Pd&cMc5d2>)fIqGR#ZgZkH)G&yPD}t_ zvo3SHlzdZ7+Sd_r7j4RLz8}NmqkUz@Ou=Rh=liZzlLtUYJR3p##_h&-?u1=Kc3&gL z=XQ-%`+~0vFEXdp33sOcbitTxwHfXiL-RPpiaqFeA|JXpW;h>Dx{Le)+`8{8q>GPN zRhws{KXOl_{We_3bTbcdq5iJsOoz{FBHvwtPM!CK;SbmM)t?A{wBvL1kDR}*JdLmV zt?Ccl|C;t4scQZV9oJVG+A@7UzYE!tdy3L`PXRyTz{knX<0tS#r5+;w&WB;-qi*$R;JHHI!yjQZ)g$+sTXUI?dh`7Hg7j&5LhXZN zjK|Gz$KaLq7|x$3+Va@Jcir|V_^O4}K7?=Za~r5U8!FSj5#xJ0H-PU$v;If>1mea2 zoXzz4J~UURyC@Hqqx{?k(y=$4kMdxvb$TY_^ZkC&8&v*Yt$3mv|%&-C?Quq&>5I*sW#I+NW%iAk{Q*>nUr-fv^20f;rncDXZ8U1{d1%))8X$ITc^$i?)XEAd#^NJEK0m^m97fA@lZqf z6A?$DT=9L*@ktrU&-&+4PdOf5RRFmAullW+T}xidmuRla9;UDQp}ee5<=@$;8tkeU z6hisr`>QQ)>HS}4cMtUWzVYbmZi}(h<(lea+S^S6c|u|AQ;GAwHq|HrVys z>3J64C$IMZ3cJqX%6;9MYnP$#I$ESR)8X-to(_}$KBbP(%miHfLb=aeD;8NQO25|M z&|qG}bpoEO(2q|YhWf4^Js5tf+}BBet#aRc{DK+%qh&}t#D~AXVA!|;`nvqnO@d@6 z`aAW5*5L!dSLfV;^1%7gdFR0ww%$W~C>9t5yUw(9{`RGVQ(7_|-k#gM^j=taiL!rj zUa>3}C7ykKGRgyg|4t>=M173knb|m{j%p*lAEX{#80mFCSp~cCVPExNI*}^pkuKhT zIwpOK`WX7VhXp$Fem_s|{J^bg0x18ypYrGJ2Y=H4(xNrv$4-uhe(b->!1K+vqCXX) z6M>7_3IW&XMuKliegNF^xfSq0LsfgGc(ib`1Zb zlbdkkq`nIMXu1N3|E1-mh0(5}9*W|aLr51mk}j?j;l9toW< z{AY8(_q_P43#E(rhJ8Ah8|F#SZM5*+t@?-};n2XktT;+ZRuJ*iC=&Np}18#Ub7CM|Cb={rEbmHaTf$ytI z{%Ac5F>diTp#0^0d#O?@89x+hrRaYhcXOcp8-JfTMUei_>sP4m8^#1B@8y zJvGlt_Y8(}yV^H2|FYjYF`eOjykT4M5&k%uwpZZ7E1I|JmS>&G_+oo%XH3@Z;5!G< zxj@E!y{KMfegoX{lM>fl{0i~W`XbQb{+O3rC=P~Evi?r!gwLrcU8^r(eC3}(`Qj+< z2S1Y2hw+>00ok>u%M8A;<@a-#pXPStXSnT!xuW#lnOTqg4g5-YVCgF0y8N{}GQQ36 z2zDK{s-QfW($`V&UAOuHcU}!z7~lGo?3(+uC;q#iu&!%;x&%7f9-UBr^oMIfM>>BC zxEQ1Rf~|kj`47Cjnet3Qx^nd&48A2F&6~W#&I2DayttLwwLG9WM3U*fPRq-Eofs}e z2@h?decD2&n%z?J{q~p8`LJat&C6sRb(O-voi7hU-*fI9{Pexdi+DN<=IqII)ZJ(u zzVZPTrO{!Rq)f=WWzY7^JRQKm*VWmT6`?SxsJI3wGYuT@4)Bl zA>OT}5eMtfTJY_?t|30o`DWO4Jvu+0=>*bKennKD$)DLl8K?a6W-AYWOlA5{Wc>e+ z+t<*yw;w%$;fB+HQvCm>cFfnX#6*S*4|f3fm8bS3c%q1mQ~5EzliQ_Ly|C`Y^=)UL z!k@^R7}k*-Gv#`^lj?P3(O3l@DN5qQUzdv?rTd^=IUH@6j!mAIX=1f!i_-VwuYXXKXQAX>;M&P?v;$gs z{ZLoqDRA4Kwk??s$K8u6&ty7T3%^zL@3sqlz&CBk(T?#w8XCVj*7umf_(QY4R`5;B zdXvuVqR=`eOZ7UqJ;vU%!o?T{eaB zg99$1p7Q)M?vF!9Ri5~K-B?UZ`zKw0lx;3ZzvKHDZQt!rW;(6vf32|V@3UbF!+lMD zf?d8|t*dJX-*Cnc9lmeSxqRs)#xGH@qEaWAG@0Syt#sZmUq8298UQ@ltS92b@j#7v z6Bs|5CW}HxNb>;tz5?GP{;~h4oi|Qz3VygiueO5pyP%osudvVo{6pU;^rIDN-6Q2yEELIejwUa{#-*?6Y0iq-^Bh3JU-;Y7>29< zUDR2SK7y~Qeb6*(3;(SZwj#aUuDQii@asGu3V--MH*2JJ4^jHP&hvOE)A3m7Ii0h< z9d`A*Gs4d=&xwvS24D3oqk`}LPyzlMzE7{f1J3HBnZ7m8A=yuA-`ta)0=M5SjQ*Yb zpD$c-5aS1DC1XCzpJRrPAMVOAw;u3~*Vke_A##D{WrjTe5WewVFQ&tv!^W4!fP416 z?apxba?1Dk)d#>en?`q4;ANt~)g_G>w{X6y9_`Z;7UZ@vzNH$i5BUGuKTwpu>o2`( z#c=+-Ti^S9Uxtge^{BswBlnPAZMB8a_vfvQ@f%jVtjqh9jyiFGv15*^qlF` zhvCnPTQQ&F&-X)48+2?LJAu!2gnnm`Uyh`{4VeyK2XH1gax)$OIHRH;af*k48|=z; zPIbXa(1~qWjCO|W8&7ZT$#f#$Y(~CtKZR>9ltX9b84BFHV>9sRw`Aquc^UEK>Gi+;p&!HJ{r|=|Gx+Z*#4}v=Ku?B;UNuta$17Ea zUC;TyXk0DZ4L^B@bcLd&6!{x?c?x{nLAvjl`)M^5M|}wwR>LmOU$IVKJM3N&VVC2P zr|G~JI>*!AcPiu??h>L*D5*U9@r zW8N*mBd+~6hI6}OmG009zFq@A`S?)PGdxU`cBouj(Pv-> zxF~%K=MfZko!=LNU3J>us9oJdb_F2@yV2;^)K1Fnr|0#Akxa+^p_ZIpT2C;!*2AAz zntC!$&ox};CgA%u&rqJZpRw)1o=nHHv-e;@`V7f-Ex}^&C-#)~U32_Rwq8!gH#Va8 zA9?;-qgl|eMHcTJ!gM%px*taWVtTrv2jS$WElXD5vF|D?^2=NB8tj_-_a4UhmIYKF z!?#9Jxq31l;{>iB&O&kX4!@+}tMXEP7q{P3^w+U|1;>h#t~q~0)GvN-yKnckaSZoQ zXn}GVenI1NZJpH^KSYvyDEu_b8uhbQ!OZY(jsq3i@xc%8E@P!Yw{$ShK2)N&f)8)G9Az0DC}Bl zpY^ftfsMW??9-wemn2A^yneZ+<^(@t-J;Mp|J2PTN-Wp88OSf*@7tcf0dD{H0@Yu6 z|AzR@1LznclamDLcU<3`JQ;kChRzY?<9Ubh_cT#r*?Mn)pQg34pEq*>kCdI5BuM|~ zI_kDbz=Nf&@RRGr-q)ESN-X>QgYbvXFQOC9gKwz#w3{IPpX-FyU79XR-+Wu!Lx=M% z&ue2|vmwR;) zBs(^FJ<#6eG5FRc%KUN-Y&wVe9QeFaHEih$hI>5urU=p}pZ|u={<@UmX6?{P z4Cn1kVAPxCqVz33K$9#;pFIA-w!cEhG==U7)fMlJ^652h1gb0`%Qtz%8Y@&zDY6Q@h2YW2-V20Iol!N+^)AmjN(v#HvH%M?nld@ zQ>Q^I;C#KsmiIOI?rIChrS!+WYz_FvY;pJ>IY4pqWnBo|kiX3s#^>ur{!a9~$*`fb zgW=vSG=6Xg>HPfov5})0&hsmrV-a+G-T@;S9_&Wzb=qItz+Izek77927gZEbO$&Mt z$X0n0;^5y!=geCNSA`BwuhT&On9D6g|HA!oK7NAqdYgOUC+Ax}%z$0X=g}jWUA~^? z&D9;a`-oLe7p>=b4$-{{(z&-o8K0+1^ZNks16vmZceGjxKRtt|!mhT{kLU-vUG2-6 zWcSE!;M}gEM{VHF8GmD35#C7sm#WZ2=orVWm+eyfZ?sU{)Voh&oWS?V_=@cWKlaOa zzD0v&JVXs0{$$|uCB}vE~VYudeh#woCCbmgo$=Z;A{35nul|ZlLpm?ssksyEX@{ z6S{2emok0Ry5+M3>64dRL;m)NkHw~)!*Fvus=prj-e=#SjKH~{=3knE?>|H5Bl%~L zKaRuHjs?Yk89GUoJIxM!<+{ObuwCNG}{P~xw%qZZ3{YU6K4o^V&5r*%DzWsl<6?Q#NYUkZ` z>@uI?EWDZtzIN^`nNRIZ;N%{ZbM5A@(7y+BO@Y4EQ3-hDZl9!-=~91_8+fSWUX)M% zoJjn!2yoZDJBoUt`n&!DQ6Yek+BaVQ{n3ZevFzI<^QoP;eYS(|dXPgg-m{#ju!#9- zn=uUOvgD<>sY+h~-#IKJwYM_vd43eQz3_I#$C8)YPyJ0jbTlo-Ckc`suXnDz8-aU{ zcU9;|-WLLH%6%Jt^5^xw-wpw{mYI|!NGe>%FyFjbl)lB!*um%f3Z#iD_(GYT3LT^I zHgLm8k@7bWjYC3Dia{qDQYxKfr(IXNr%m?`RM6Cp7vl z_KE=nE=?~!ka~TynhWd0rLZqAp@#N_eO8l~f>ASq05r0F*WYkB) z^zUF-UHxxG{qkj!lvJiCKQ|0w2dEbaD4c$|qDy4-!_un+{Ds%$( zo$%B3g3@dG+YO!2sE&&A>1$FN?Y!;4HSoEgUM=~r?K%Sbd>@P9&vDR+KKs#1e$qOL z{p5JU-=0oNiHj8;kp4`XcZ4kz&&Z~432*#D=F8)ja`L?Zdz}iq!Q*Y0i7Kgo-2F5B z1UK)v?m5>fi@sPaF$SW2%~TZU*lkgFR_qt26D%;mj__?GKhg-*7r6&uhp} zOVe$@?RksJcF7;J_7wTEfX9dUrn_{{h;QFBS%>@#blwbqj2Zu@$j5kwHqbHOJfnzP z_^-^sg}3LD1m>o^j%^xThwS#{>&)bj^S}h?>)X&d2E4qvGVcW*4rNjJ@85O+xP9|B zMgIDVnSnNGP8bGU*tRT5V6g0u;kY0DT42jxigNCroE7}|qDhK!9v?ae z{P?7?3cKz)cL)y+O%j;AY}eAX0Ce;t`YQN>xCY}8^^6KbiBEA>&6ofkSC*!7{3$-} z?0;cApz66uq2t^^`yOKlt|i$1k4&?yLGqp>OQ+55|p-XN48%iac*mJQEuJ8)4f`rxy}1ge8?aD+)HHl z?rcT;^<(A%4?kNk`$K$V;vC+ zYl9-a*37wxe}9~eQ#sL}TuSql;`h<+eJRiT&q2pjtFNLR@SL3hzRzJ*#(B_c@U{Of zQ~2XdpAES2a3)1NDV&-ITzzbvtV3~7&rT2A?_9628}0rQcI~tOROssuJ;Ssl@g%#xnE~MD^(z&4rQL8dnz#Dqgk*iv3D2hasV(~j8K-;~`d&f1 z7ie{1MoJwq%QpCp~}AAzhvh_L(X9-gozrF7=MPvJUAx_tJW`zxh&ypT@>?|BiM;I$4MK;lgQ1f9nDT zt{+P4y}py8yxv0bbZ@6|g=u40!4K|z41X-O+RRSrr>RU)=&Mf_ka3E$Js+)mJJu~# z;Nj$1{xoKb49>UVa--iv%JdN>~)#Ol=b6r;2*BXv>QQ*!cguD9p zk?m3(LTl;0Frj=!MZNP>qJ6No!POPGKl@4eADc5k;lC%xY54E1R7HWuCba>SL}%iASmas%K->t2OF+TKp$=N~j6CEsyn8*p=t4l+*Z z6&ldF^sVgc<#tuBr^{(Q*}CdH;>_#2{{pRF>0@yjr+g1=rS&W0SZs(a86{BmBQqb^MCo8`iv(#;;7gxVer`hPjedFx9ec|+vR&d^Zqhta zzr`i+sC-&dZ z;GZp)N1<=qM(sfOL~lHw;_>nAq4vss@PmSH?M`uaZq>>-`5$snJfpWePE6^KYw`lv zRX_f2a!UX0F>05BN6*WA^3z*z8}e7%?4s-s=^F;p`mi{3tU}*DnA-p7{jv(3h?mY2 z4xaW+N@+K=f$pvF->4$vRF8t!N#FIpk`hmv4gXcwYs$EskFys7H&nltO!|b|lj#03 zr*W)|Q@Y%Peg|LM@rDA|yd=JD+&V>k3_nqMh%{>_ycwS;g*KSWSsnTOxQGAR7vykeBJV5 ze=h}JUo5v`T;vJl2j8PtjsqR)kF%J*zvy^{j``EUnGCmlY^-Qc%%*P8(YdS2`s8Qu zqcENEec99szNh`H84S0jX`;{%3~B+p`o^P^1nK|0oSSF92Ob+cS8nG?KeS;W(iLi6 zNzp#r$Ev}%tmo_D6bEl)P z;!v!)BL4Q9cGCImOd>w{X-VIW_-&N)6#H+pr->@*uLjRY;;S>vN8C&cZz$~g@->1# z;a?Uc3G8?Be9iaWF5s34%6U_~*6OLE#Bw(KQ5pXUFI^0eJ}R$>fAC{J*tNWvEXR|| zRcOo)z~jRwB?;2+xLucR2Jle15lI4r<#<|K{)=?!7WfqT;;Oh6xNk1MABXg{jYRlk zU!+X0b@?gauIK#~arP|OK1GzQ8H$xulsD^{F5rjnTvFttWBypg!FujbMLb=ZdIL8X zo+$Gve^t|}0S_OyE9|NZTuf$m&25({@JRiMq%+Se zzUg-b-`}a)6o$t;u9p3w_?Q~ezN3I=Z;~MWpT{}cvg#C3`lijdQ=#MR+86p>?Nvqm z9rup`S9x^31?hKON7u13aB-KIBrsSmSCI>D;HJ|R_cXwi#F z40pFXttdanbPmKpU91Omgb%bHsLgm6xT)BUBtiNe$DJp#LC62+ZACtMm+S!FTjnX! z%lDyq>zam%((j#r9gxQfl#lk)bPkgD>w0oOPWVjiEGOgpe#+8MkUn{OO=};H6Qys# zX2%rqbQv=tz4lrzMY?ufE)AUzXPvrJL%WoC9dDP+&jPI`=m&dD=u6`%KhCgDsgThbu=fz_g zUwpnpPM2J+t~Nk=?b!+^3DW=h{y??6UmuZuUs?_0L%uK3YRC`&;{{$KT^two*}#uG zZ(_X4_fLvdBH+hn9EP797n)xOZX9z^!PhN#J(}6ojXA6+x4}36{2yD_9j?UjwXtKO z28|l*Xw+bA*s-rIVoAh~9b3eXdR6Rr)hl*l#g692U=11zQKM@Oi6xl$Q>?*~1fxdm z#FlU8J+pb7``y2IczJoxnKNh3lwB6!j`a1yxG*$pKY{Vxny}C=`KQqn86K1W>?bL& zYX7=_o&`UR$M*~VXg_{uu&l6dH}g6rr2vif6Lq z`f&_T*st}Mlvnkf(|j@)_|}$U-40*r1$|4)DV46=&TGdoexgGWq2G1=hX9ZCtJF_YK3DyW zK5KyX+B^Ynm;Ce$C%fSZgOG2kU0s?D{bDu`1g_fE%-@3iv1>1X&h*v$#;r4s08h!{ zvNK%04sx*7aJ1LZzw97}dvk=)uF#Z}WqnofFiGA3F*IVM7>@9#h zdi*HVjX?Vaz)jDu33(n(xkfq%Mvjn_cBtbwH2)27V~3B25l;FR`$OuNPksYm9gj=D zXgyk1zHJ;5;(3)u{a(MzNQMWNe}Q~f^DTC{j+5chJ+qNl#wP2)4_|v9xbDX?@Kfb` z3V#e8XWAmfN5$Lr`WSYD>#o30HQ#iX8&Uk{z5{>Maj~XJUGTNj6I`G2Gg*>;?_<$x zgt!HlcNot6OfDY6^=X_&hK)eIjovH@TRKJ>LH(l>HEhrzB=FOkM{x|H})0gFWuQH zm}i}-b$A>oPon?)i}>glbQApdMJi+d3Vbu0x0m?N=N|)?+Y}OXyvrV=ALW0 zb`^bycF8NI!%uTJx~>;)T7SB%`0Y(hcQOCfeD*Y~HBDCDg{JKj^55Zc!~ej_kf86( zmJ{m)?@sl(Pc%-0#Vq%|5GNUEsd#X1QDx>a9oN|Af=;lkJeT3ts^1Fj)$~q-j^lBfpdY^Q zY60WxeqAo~Z=e$W|BL+VQz74sRy+97M{~G7`EOlkn$L7Rr%DO_B=^&EBc*LGP*>Id z)jvFrx}Dryc9x`kPsKe2|0VpNRU9Y%aIcCupGls(lSX{P^)KG|WaZm|s##JAr+oJ4 z3$A3iEk1MR+j!uHjCoBy)?3gIXe&V9eYY~_(|C87{|9~h(6!ty;reWJUKH(kP0%+r zd;oppiYy!_KZBd;JWc!4$Ek1o6DvgLe%hVqI8OS(xuxL0ra```Z}UAr-G{z@@tNri zPpqT+pfueBz>_DQaC~1tRzA0U_YdOvYRV=zc)HkzMAJj4V|yXi%sV^ z`Qy*o7&^nUOoL8h9qC(#)qsxg)R1YUPwfqTwgddQ<|MaE{o=e(0qt_vy5=H2$8!-s z8f(StFxfS|`W`y|MvHkINI(8rJKzp)l;gxtd|L|scnW<#k@N|-g+2yu&9#2=+jyks zE9gjD8wxs+bmDtwcb)QfyYzo$2S4%oWUf#CSXa=wsONCeac{TFyDcmDa={qZKaP4- z|NVP@10K)5jn_TWG0lwuPqrN?%sa`_^jwa(Ba2Yay+`d!WQ|hais<>cCY_*h{$hqF zJ@b&EACkeZ;Zf=hAc1_e#9{${O-rIa#)*ryP_RT$?aEf!X z!6(3dtvy_aaP!5Qh=1sh8v@^&kNQ`$mj1_9&Cj@{4D9NgB|UH3HGHuTc^)+^<^GVq z^l}}>srBDtbKmCs(sPhM8wzl{)GmW}Gw{fn!JJPzfqazz&R=T?`j&Oi!B3pn#c|S+ zE*OCad;K+s>=JIN{UiL8elIus?fB^TS->|vhzWJfA1AxM5v_T9$shYOx?UMLaDnS^ z{ToN16Hh-O=tMnKKfU#53-!v9ry}^?#zTbm#>xeO``hl|c1b^0j>eH~#D3l`@+VQ2 z^3zzZ2-hLL*D)G-cz(z&AwQG%w*Z$~w&D3nI?0OzmdYAs{(Yza5Q-1gfmriTflJ}? zoKO1tX+@VYzGw1a&L^Gt-DTkG|NKzUxBt=$eCMWSf_}K+r@%GSpKw3g}SHt z_&wl(W`%e?A%9%9vC#JvC0|8MUr#N*8S zt8_bzYweEng8!i&^!&p>@`m7#?%Y-A*UZ{Mh(oeX82aJRZz6x?2kC}LbdjvQvr6jyR}`P*g2u3We%Xt@lJdEF-Cw?z5BToS zhG1W>-k)jsYCZH_t*fG4(Zh8At=_#6adUrb70y>(J*lq7%(X`|eYM`kCeZzdhBI`% zSe>VAUvEU*Ou4d+VSM#|NU1Z;N5MuxKCe;SW`>>AUg;#_6Fp4(xX{uF@bEzOf3&H+ zrw>*EZk%8d#)WxcA+%SYJ&zDiLxr!=t^svQ33(-LtAu{{UHc6FsO_>GEe(G0!Uo=6 zswZw&4dC6q94g7Lewa{<90f1$PD8`^E>>uvHUdbk7d>yc0UfqIre( znj#l~+vmL__!FPE0k}c;r=TB*ya8VP_m@IE11lRXm6cX{KB^+L*HFTS_@vB#NASnm z?l}0~xz7cDaKg9X%jM?tbrH2I)Gr(CYF5}qKjRy~H*XgEHW zcD=4Y;g4nUu`zG^srzycaO1SbLOyspXrTXOdJe8b@d@5p0lt57Qt;FNbwkY8?s z=@UQBpG#)WH&a+A1ltqe-@hE^Q~m_%>yWo*LptYEerkVQhjC zJA`$Pqa5u=q9qCl>mtje1;|^A?g6(;`lhM$`vt>+<6MVu&mUz_XSB`!7Ib2VXuYi& zXkPesJk2xs`oEP{Sg*=mKBIL}(|YsY_CKsC0Db@UBFG1|zJ)6{0zXuDrLgZXpUVbZ z8l*l)j_RA{#h1_tw+p4dtsk4c3-L_6UsKpmnXc{yUpHWyiSV>1}-iPZ`oP$?B#QA{!;-mN(#94)`IyAcVGUWFpi?%_&f}syr%}| zlmCu^E9rb@aaX~gK%RrJ8>m!E7{8&LJLWJQ+y1IfNqJT4ymq(`{NvwO5XMnJet(v% zu&h~U3;MzOhBSuz@2m3yA4k#h@H14{D%jPWaKO(%t%`zOz0(N3wo^f&4#eion8ft8 zb-XhqwHB-r(TI1v1lavuqH zEh!^YnZC1gicoK*DMO|++`T)m5P#SH!ZUzpO%d#xHcY{}Vy7H`3w90T7ePO=EWdzT zN|%C;{HDC%&%OK~jbi$y1FtZ@JC4%&B=Aeq5e!%EgB>p^ua2X%PKcx(#5rfWv4!BL zZr@2a*#-R{gy;^`m?C1K_UrvI+iJezA;WI!jkS5d62d>yyH8x97Obzndx*2=j3tY{x9h_p5e_W zi_hQleta7`QqEbJr_9~xIRmB@9`s9|a%bU>dJb=>a}0hq_*R{lNnf*~FL3AT8$8Yw zf6b0dW0_r7^%El`;vYslQ>Iq`aED(LCsRI0yaW2qc8@B^?_H zzUKRD&{6rp4o?s_U6HSa^^Yd|pYYTB(OjWE+b_0Q!tBOBD+ar&|JoHj!4L1F`AFUG zXm)qSd}<4xTgd!W`$ekV7xSZc$Z!EqtQZadBm1|f5TDxXsq;aKtbAJj>xyuq5O7165<))6jfTu){=3UhpdTAH1nU#|pK5}i zrsEs1PVgE(74&T_mw@lxvzqHrzeFn@1s=I(6Xqj%((k0N?<2I=^RNl(m9@fgVI0NF z_P}~fTKu`dH@7Z@cE$Zo1%Hgb1n|Jv?t=f3Jj;Eoy|ItHf{r`qQj9w({{{H3KL5vY z>^I=Px`%PD6ua~M*FeYm z?-LL430MBNXSu9=+t_rdu&(wTpx=pyU;i|h_>{N$vKwJHDL3Leygp1fqP@N=X1)*N z#VwHy;$n zqv7O;#SC}9AK-aTeCM7q;5(h_@8C#Zw|4^Sv#;NNo<9^H>Gc%wgC`0Kd23yjcNx?7 z_iHTVo3+eN@U6A73;E!F)&TK$*C;RKoBqoCh=2IeL}A={lJ$VQjTHp_xPB6JLcztt zdfO9QhCFn>zgDQ9+7`pXmzLKR^ds$_0}odCSkTu<%YmE!eOK^5G=997wKrJ5>=;RT zRp%*Z^bqh!tPIDgK5H(11l;!1k`Zt7wa$?k*OIix$#6AqwfEA&KiI4?=3n)9K%Tm% zf%k0j27Gm0;on*j`CuAG^+6qv+GQJnd(t}LoG`k6FUF~Sh|c%S{eGW9cBy|IJvM`H zp0)*bM&;|jG-2Ikk6%Szsn;cgul9gn>Gv#%e`4Jo=Ep?IeDW8o!vjf-H zxXA7D@pA9>7qSv{IVPUxM6~oj0@2)Ip`oaH!9{#ec9abHLLSzlp%$@P2_nT~h;Vu2qhI|2CB($|Id%DYO! zpID#Msgm+NHExl+4^d}g#oEn!8`rlx0^BqG?^MFcf75xouH;;>mhW>3kMzF_eP2Eu z$H{-~hu5GZH#7_W*grZ8{B-kHJf6gl|2+kGJo`dEz93Ej!S$Pv5BkkMe=L%o z=HHR2LS6Dl?*rGhI3(cF=AS`7Xq=q-wq5PBalj+p+=716eiL?mTa)~H0r{^ldIo$= z?TUiFp;krWd)f*0(|cjkQs%$rw>GH~d(}{T?ZpQ!li6F_?o^4ra@=<$0)45GZwldL zH=2un7wnIX;dUvn3@7ONU8Ld+!JqIS2S~rtH-bO**S9dPU6WnHIgE86J&(x$Xc4zd z`ue$*;eV)EeI6h3$26)e^tJz1Mcq@!i=}Qh;BoVMA)dB|HDEW9Z&oU`i{cP05Cv{^ zs`n3&UB~6s=tq0MnZkS>zqf??J=-f`e)r0Hj0;!O4}|rAy%jxIK{LlVlkAed`%@j_ z>^V4quTRJy=O+4ndg7uD`zU{lb@k%o#rxJZn{M17x&uL z9)`z$o4#+AZ&w_o3l{gnUIGSP11;^d495_F6`o1lJ%H>mNX ze(_Hl0skZYRtoyI(RA)-nzCHbm!6f!K2DqaFQHx9+^3*#YFdNWL(=y&nS=AvXlY5P z&(;!SrpQX`T?57awdK~DsSI~-+sNxJ<(vJd9pix;#&El&ud}os%W&(n@3^1Dk7q4~ zc`7pJ9bsP9jdCt#{N#n#LOpk^pzE{#JOzY)Gz1Ew&WBbN6yji+cH0ZPCu4%2j#+I{ z2h8E3Jf7sIqf!t$K1U5fC;qe~{IO5SC&VZ6<5l2><~aoYQ1>Xtqd$CKXqP?h6>zIJ zHeXWOr{W;Bu}s*fnSQ1@TnZjnZ_w?=CSp7woF~j$-tDo|O3!zRsleq;#Pt z{0w&}#QpTc&qUoY^sV=4o>kYM+C#Li@Y#;?d4c?N)wvG7|8_NAKdE0#uFBB2oW3vA zRsFRWXjf8mp6d|bSgQzhg1I;I`b>39e)kIaq3db9&J%8#cBYK2BENX|GE{-daD~j5;6ow4W*|pR4`ltyvOrh!nWV`;p=-AECH; z`aI?PP{K8z{)PEe`JIG->#Mf|E^n~%_*2}xYic2Gme-5;c;x*!d^`M!6rC@`)BSi5 z_!>&UC)iBEBhHGhUU2gdK@b%5-;=H*8}x^M30b%Xa~WqQtDWU6|< zAGf>p@I+Z@WwPuyg1&R_lSvG><(7r~ai7=#T=(xLpI!u-x#tpa_sc_k-AM7Yj7)PgyNNGn3hUeGs&_H2!%hAa*3a^y ziKq|BO*Mt}s(#rV;MRSsxn1gCZ|9$Y`==}t)~oWx7uYZ8r#2M)F)ukn`=FwOg!*r= zmcsZl47kPD&*XpNmrKCC#|%O|oz1R7$2hesk0uBpD{TtQ!#t0DHqk%7}vB_-Z!-unJMPV>}- z@xu6ZL@t0IO<6AJYwu(M9$Z&SsGreyj{~=uItcYDc$fOucBk>8x9!GrJ{d17UPy^P zyuB13dBB#r47cu+1-r3c{5b}L#c||%uLb;fzq>-PtGVLBKEfHDFZgMmH4Ob?KKMk4 zPwYqpbv~$D&Fxa0r80MxFnU`}V-wETzIsUYuqbpE%imb5Y8Gi_Nz0o-GMB89J-}jMSosa$( z+f-fVTaxRv>?D_4W&SqN{%i`kK+Z zQzgYObsTBtnvnmo+2Xhhy`lSut?%Cy>Vs}lHN;c9VP~quWcYR7z<_6no4#OUVcyX{ z{{iD&=e{85IC?e(-*%}aZx_WUww~&VFWg&LUrBXxqFy_!dZ^K)V~Z)2Ql&xHhkVpGOrU1a&Ze5#~;PmO~&S99q2 z-bokM34x&-X330JDW?!mU!8k18NRKVx}Kzd@tz}orPY54e!7=bK|gAiRN(cN`b&FZ z6xNx(uTBejb^4d4$miqFx(RV`Uw(pozCGifpda<`1m9v_$;Soh+g?@!?tCB# z6Y8ER>vTT8XuP{utw)`d4C4Q>TK@hPe2?vj5KnW#+`u)HRtw`XSma;mn4kVnsN0&` z4zyR=Q%Ug0cjOc3G-x2kO=?NcXLEm9N6>K%T!?n1gzpM*(Esy*;xMxX*QYq>yNrWf z?b?Xoe<(dK{5&{#8jmya!(BF_9!i_u72u?To_5&a*Enm>sa9ih`Uy}#g(|Bwy1 ztHUAn3-&BUXN52;EaHq!88Sc$5 zo_k1*YC$Lall+`d?ef3)8~kL}`+`5wEiTl7WXWxOyc6GX{s7|a`ZCVzA>sN5w2$-T zUd_iT#nasWHR5S}_an|H+_aL`xB6`V2s-klf8eM8Nko`ueP_<6vUXX@s^`FzC$S>5 zZqXdu&24zr_0Cbl!nNyP{RjQXLq7MQE4PSpxcjmLCcJ$hXde z|LUK{f?dPq8RTcNa))Zl6K_8>Qmr zz6+5Lu13C8iP6=0x%6t}L!QA~1iOxt8sOR2RTJ_&@OM_scY*0ugnSN}Ut(TMe_li2 z%fGpi|Jt69xIX2%(XwHpta#C&Y*)dqzUUbEudjYdh_ka@`!vSa*HwQ{NBJ4tbQgGZ z%>lkoB;1{yp3CHTv1^v3eDA-!YHvuBm3P+1%TgufRb6+PYxkZlEAOJO#pmWpf2JUA zhAw6yA8cht0FO-ljO$bW*a!Zc#&qH{#XJm0e#CeWT|b;EDW9u$tuMP`T>Dma6ZDhr zpTQ5bpT+elZf5rvz>~YO@_Zw^{=4a@pKaF-6yoXJ)1LD7pt#?U`mLy+u0rF4INO6u zq2p_}j_XrABh}x>dLU^0MZgoe=yy_%S4D+9H}9u)wMX|TRbtKM`4*cTzf5dRs5YJmTEnUzo>jbsl5>s#JB1;HUXyA*>s)2$k zr>PPP1CK+X8sWFMKj1p#zeg?so#2z=LceQ|JjMPf_|B%;q(gq{KJ>zW+oo2$U4-}i z#E9`|9N9#ee|^E1h?~VYRnXBN&qH~2=@-GS=Cj?voi(fS@kM@`H#mSB4xi*W*^T6- z>!g9j+xhx|;vD+lKGbtV*_OOth@Z^19=K-HM}od}@HFzL@{_0z4k`5 zKMD@{o#W)EZc!Q1|3&;=ym^ra^OSawSf5?Lw?dvc504S+ScQ3rr@q=iVV^6%*og5P z?^c_yx2aw6GV|f5G`=wB6Q1b#Xr`=WK{C5~|1-rWUg$RbbbqJTG2(l&HwEtdc^4md z)Go`NF~D7`n+b7nXQMcKbbcOx;wNh4n8oaxhxg$5Kz2QMpTi&R_8eS?kBg39rZRry ziwZ(N-u`R`;t>7IEA&fX%~Q+^p78?EX+)}|_@&l)+v+Y0WaXW)#*0)* zc~y0+W%&J{wI&Gl-`IQid|6>7R?ZM`^D25CX;Sl2Xs@es57cvc)udEO`JQSwa4`q! zPq5icK_|Jn75JVO2L&B>0~`Fb|6V|-1EHPo!XN*sH>nbn=XK08?$jcgz5T=>@YCNk z!#XE6IVDwMpY!t#`=Iey&uD(u2zhndRR{d2b}QGR{5Oug34PyOabGNLrvLGjr%Hm| z==uZDmkX8_>abLA5b(%eF+Q;iv|jbg;=CN5(Glaz+emzFt+i4;)D72G@%p2-MRnwZ z?t*yVlpOT|cjfzDh=1stMU-ztyr~ik508)Y@@?Sujt0ShciW{7b1mKQJlZEl?TX7ccl}4q^l$7tO{VVOsi8^L+zv4KJ3vJo< zXqW!uqJmxDobk}n)*CPQALz6l^O~*NoK%U)tND=9AM>fR)w5KI!D?Rpxd(ZhoRCY< z_a3+bzWu^BA%BcJhoW9N7Tpx$Y)ajZ_8N;h1l+RkJ>c;v!+2e#d<)F%fO=(aI8Wej zdt4p$B=Tn~p$J^Oru$=kUK^fy=_WW&W~G zz)f9maDDF2UuR+0y5xb-uF$DLh_k=YWsZ}d(e5`ekNC!H7vkovF&y)bJJe#<+kVPB zsjg~Y%;51MyK?mj&^K>wAjBtlBMjV;;^p%f+4W>!k339vIVAYwdtDdt)OlwJ>zugZ zZ;W5Zk(1mX(ve;Czahc*-U#gtPT2##bgC)OH{#pdFT;3DW>eQogeN-Hp>Zm|66RBV zG>tlz6_(y6L!g!C&|3dI5^tc=59c#~=fVhkm1IAD+E6^=bK_aN;H})`00qc z5C@&Uqu`GtAKiEAZC*sM8|irf?UGBU2|A$@Ie^>l6%%wkpQphe)0!3nZt~`&_>|8n z==&UdNvGdeoKJDEnrmYmNx{N=98vy+vQC@M+8f`!hUYEe;p<<_W_T#qSk7-BVDDqS z&ww8+d_fo&{`nr#nbAYA8{P9O>O=6wG>%i8BZY>{V0z|}mjoSGky%t{&Wq3IF-f(d zFV(H!k(BSLb1RI@+Zxd|K$oaPSl0p=w9cB;|YR`Gfw4CBS3NnhO5w^1n|y4s|}I z_}D*rjru92UY$ic)Q^Vk$C3Yr7Xbmc*zDkkm$u>h#5eaJiGH+bf`XrN-EY!l#XI|` zI$Vd^l?>2*x$@(~ybhC2Y~gU4-=EiA^tL~V+V9Z(72hS~l^n%jus zg*-8R@&s|y-^(S~mH)m5JX(1#$0-i_ktGl}@ARv@e+k#N^n>qfGe^i1*Z;Dh{+Qa{ z)&lc zT}>_s3H+p;{-;1!stWI4$~W83e^VX)=blh+r5}zXe{_$&5c1YvVLaO94OSHF>Ks3# zUD15%c{0Vv&}R(lb7I{ppp-tmse$>UG$-Cd*%>b7&>8-efmihf7zvAG2O`Twg9exR@{_#fZ7 z8~qY9*#!T!ZEj-TjDFsX+a>?aH%3DzmUp_K?;Az?m&mj6f=;|^AM(HYZ-QM-%_Y!R zo&zD^$z>AO50R9kT!-S|&3Obmj{VC7yY@eFfNx8773{j_ra@o(@GD`Q`bN|L7h7{T z74*#|)?(brqkj~1T)o=@w{H^H3Bhzd?1tJ875oY3o<};l*YkX%{xWZDgF5NUzhj}K z^uJpFbp!JtPuzv8@H#_$SK8N92Zqex@uxV*k0%57+-c79pZdjko&F!qIeQexiSL+5 z&wFvalU?XX&zXntKbGs1pp#tRo7#Kzsi5Pnm_9>RymlV@m-|op{shg-@|#;CztGR% zyRMr>{|{e89KyFh6?E*A&!#ec%`Wx#O4Ke(8@fJde5axiH%pP7@IN}wFZ8cD9q z-AthlM7};k^>E>C!EWqB2mEnvy(PrQTj?n3M!0o--oMmd&)-dYdrTJ_})r21pVaCbUn+xIm7wY z;#bfK<|`oh?>@N&I+8{_|M9k^b#J_2fX9vEAJZJfc=zm4&uz#by}khSW7X1xb|rcY zN1b%{JR{f*Z8gtj{TnGEi*c(&*Hz8K)c?gJyUBG+7BPOZ;3B~v*S5!)U%cn@3UP>y z?Frm$8YcK-?O6aiw%1n#yUtV3;is->OMx#NF946*W(#(07xv9({@C7x1fA%DPO$54 zoF?#H?>|R-9c`ZodF#j(r#u`~hL3k@ujXXFG^Ve)(nN@xCeIz<-lqcuKNIF3JdAJt zVB=g#c~$F4gOi+3&nqxrp!JV&czKSKzR^4neDk9b+<%ILrskOi zOvkhHnc%;g~H z)z?-)o(rK4xb3xs_MYBD&nK~0E-bV+UWw|Mv2_Ij*W@jY z`V(89Pp}(!L-Tv&OL5#;j00geQvQU%cb&3PJ#>xd?V|XHpPGQ1TQm~Jm)1N7^~ySG zsh|_6QX06cqWC=6h>NbXdw&daKI!X5m6*fg7MiHWjpx;j66i&3f{2_{yTSl3q0Dcg`g8(`~mzlM|yBR<%6Z=4&0*^3%BJ7W!BF ztg5K9V*DcJf8xe>948%jjl1yQ`?Q4MPavFzytSu$1-?@ngZ%WFstfw=T*cQjee3IL zJtXBdl3fb0_o2la;K_DTtgoyOKLswY(gJrb%>z8vu@7+TrX%av_gvjx19#tR0o+pL zKJZ|le!#=EdjSt;FAp7g!QmN_@;&e2dBE)zkAd$f{v5dN=hnb|n=S!2EhN5*E9)5G z?jdR5OXCNCZ|HZD_;1P$Vfx9G$H4vT$WPCeal;v|zd(4X^HK1n4^2ZE9;$v5eA~u< zNq^y2qZw{bi2{!g&IsSp0{XgjN{y!{U!-xRnjNAva!cl>nOAt|q#ClqICM+e}63PTBh z(FlBBqCM_^&~M+=i1D3k+5ops?~3crnrlVtGdx_-p6{qYRqs)n@_+GR@tfY^D|uA!A5v1FXG^< z^?L_~t8p+iCp`A zlTlwkh@QWf(NFu+Dd2mLy@0;u9m*fm!UDkU6E8KD6g%EG6lc$ds`;7Wd?T>>q z!*w->fNx*$H}r$5{`-Z7Fn&fnIoOFhnNeT-8Mq8TrXyx?_IKsPEc640xp1BIx@oeujS0 zeYy|0Ht`SYp5X(kKWe*NEsGDztX==%8R8T7yd*x4j~Y*@kJkYm&R6yS!+AZw`lggO zv-Wn%k{x*bXgSo$#AwR5o*gRyH*LC(b~$HL|2nVa1@0YX`k2{u_M_(|>eg+{RNt6& z8}LMyH_$Qi_?zzjniZn*UZzQKKPF|NBkXI{s3PxxlEGs zvGcFKz`ehGfc0L+ehifwnxG(5W;bL0|A%Mn zubce2F&XAxNyRzet(l4WMOwca`oWIWFVgsYh(pG9X{*;BCo68)|C)jMMU7A3u?c*8 zdnHYlb`%CSxgpT#ZWic+iWB7V<>qV6>tT$|$8^8_UUqPPhJk&3tFWpO-|M%A3Y{v8>mTri% zYt1y^8U0Coo(kObs4a9NPpMwn+m*?b?|7*Pp3$zSMVDpFu06OB^Q>hr`D1T)3b_9C z1)47o(0r%)E;NDhGy3DbUm5qcX2czVgWv~$jA1@X1j$cZ^)BFh7EP@#DSFmN{Csjl z0(OJDq)H6eMrggEJNE>5Mt$4suQKO18x7o0T0+05?TXJ>k*SW!IexjU*vqIN%YU74 z?T64w^8O7TcLO&>E+PId-jA_Md9hy2sN>8xV@hWFma5fheS0NKHA%5=YeMY}9qtLf zCIfCQcr;T#!-qqe`V;Ci2KVF14qDFyvr+tgIff9PVSQ-yS%BLeS?Vx<483Td;_6!} zQ@%5lN5%6qzB(=mLBF8z=A1~2*Px=en`{rghfGQ=Tvxe)Y= zFIs{65I!&h^+8|nw@m%l+^6jhS^n_ho zYRbyY+H1YkSH*>Vu$;}kit!B%#JG8XB0Qs?jw#zz9ie|CW!{I5lp^}ColSgQUW%uI z_q%V>SI~)CT4G;g@Y23MaH0uxGTMz4Sf42#OEG6^H}Qg=BWLP$8TqE&O7%0A_hP0x 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%0A9Oz?F(|@&m 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

)1L@ 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

T|uq?MOtrvcGfn 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ΜPC*L{(ezR^F2|HaXif6;a;lT9|ngf@H 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

O;*@Xe1MZj-dR}f$y54z?#&6`< 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

nUxekT1h#`m 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%0A; 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 z.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⪙{U9*+Jmd=(mFPGG!k6xqvvqlDO$?U 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�(a;Cgm$DEmW?MS__OfPp_Q*^^o^zNN4*5L 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�O#&XM)e!k`==28Y$0}dOyrw<90C{+* zeVFl6#A}S#OL_7P_|D$UH`KfHp&x1Uod&KqvwhteZ_@u0&O;|wn(=m~+IN_jwLc6_ zGNkJHck_AHSjL?orT!kuH5GX9@{cID-{tIRmtgZ@z{8#Bx6lPG{Gi@j1h~Ed#|K?Z z3%>1RKj6C0a=bM^fci#8zM5i4Ek~J-_0?%Ch<|tJ1lrM9fqwRw&q62gx&?4`zv-~Y zeCas&)>4mw>u%m7zHtleQ8qCGw>3-zZmBVp@%EDX))?o_4p~y5Z#Z!feBai=;0Mxw z$8vAjfor~I|MiUS0^I$Q_sMFV%v+*A><6x!{}=fB0n`syzh;zD>nYY1BP-~iSk2!M zhuXXirWjKHF7~&t*jJ7^H`)RZrqIv7?JEe}F_P=3s#eTD?KKyn-GhxPg74f;{lrQ` zz_%P73OrPs^-?eM!yerN>tur>wV%#mzwp0oigpS1eCUYdvAoc6eD$h)6)E+1htUsQ z?DLOwJ_Ek(LQmkTeJod7uO9qtzdsJRz9RFG41Z*RJ({u~`JSRP?GOB34EUG#6bX!z z=%<%xNALQ&)Zfl{2zB}Z{aDHl=vZ%YK27X)8}T3|t_I)IeJ9@u&9Zlo<+8=euhlAHS z?|3?JJaiQ30Nl`s{j2-*y5OsoT<`J?rQcLr_OPGMvVw1I$9|{Wk_YAbA0OsA*lfm? zFtQgEu4lQL?Tv z?9q*T2)=eR{j53plKzzQ2h(QO*Llat_>td>Ir?&5Hr5@3c}=s3_p&)&aeUL9Yeu>H&Pw3w0@RNV-iv+~Nt~AG( zhnO?CfScD*$2~kV>J?m=4BX;oz0CXT0e9_GLEo*G{k-8P)Jx#5!ZJUa1NOVNPyRVx zZusU5*l#Ib5q5^!W&|$Ye|Z*PhmQLvo)e{9y z*wz|6TNJoqI3rjC{j$6+%Co zk`(SjS}0PT<*``O#lg3mXCVZ>7$MpDIE}-K;S1=pB}8&BOQa=06`oKlI(-(7E_*82Awj z*B_!iS*|150z9yyKE@4Yoo(PdHzlIq8EP(pe&hnjw-u@}u*Y{dGx)}h?AO5~FIX?Z z4^4zlQX$%}uXY?dng{IfhJt0GuX&UNT%nlx}_i4ui_cdPxTxuI4Kj#|Y z_CIPuN7{P?xcDwuKW7Bu&~t1R@KA=+)W5)T-RGXce)0W#Z0`cJZ@7Ef@7IhYr=VPK zpY9kx?LTt<(r5?J5At|!JVSr#5;)GdtCs}dHDeOW)wQpN`OER|8{lHyRUhk#`7ZWk z*la^;T#N7ELXRgR&K*yF2H#&}7Id^N{{i3g_hR7TQ5?@h#V4^H7x6n9-ER6nG}8|| zjoBB{9wqJfX1a;`I!~nip3ax6daHQ<^52cYp4fp9%1!>NH1u7g?*i94`F<_&N)-C; zyandO?N^LrJ}^EV^IqGEli+JqEZ4UohJF`$&=h>-DCT3~)0LoOo3!+85`@J5tt zsY1SP68lk}%O>E~vJ0VOd&vBu@t~~013#?*?s>|2S+Qs*{1Ywv8o22U<2Evb=W;mB zf51-h-J&-0bMSTF3Bj&}b558L=$-(hxr@U11XCBe@dI1X4kwShfB z)qU{Qi-~XEz;=)Js0_Zg@&xEB3bsd{si@H!xb%YSx~c+m+3x;_#KrryHp`*!mUy13 z`6cUXx!#rj3B3p3G=};1hZ7foJNEwwJhG2*68>xi9{TwZaQ|ic^GU>tc8P2=V%`sI z=D5A$SWo(MKG&)ANsM!au@!V8H@1LpZAG1eItTd5_gwD^?_zy#5=wF6%xkkltWj~I48p}NB7{{GXjN|4f?5BzxJuzN|M(#kKV0ys$-SsMg z`9Q|H&{vvMpdWJvfID8#1Fj7RfSd2N0dAehbC8VvqQI>gV#pt~`RBqOPx(E-4Us3{ zd+Pm)at#-c08cE#buHb$OQ7$*HV3%3c8NAps@>5i8Igx*@4A8O-t|I#t*r+DclF}9 zXZ+(i{2Xmu2>QOfoPTZRQt*RkYhmz1Nz5~KW2Ujas`5Up@S(}j-|yo%Aojgm!)*5( zCE332UHpDWnT`2p`O6CE#HJ@eKQh=39n(Q0%GEvQcR=p0jFT_xDv>#`QQ@9xaDugvsb&iecTVWz0;9jxw0ODzUN61w4?s$1eB}Uy$`r(M}zzvB-&Bh%XYN% zy$inj4%^X`@&WA?YO@0R&ac>B(X$!RUgG{W$KQLQ@7+BkEq;UcNC&2(zM+%^qt5@QmZe#Y&mL_aEkd{!j}2AC|rcuANmE_NcnBy{Z-7LjTA*`d9LE zch#Z7&*0mK{)BQ>y%vD)`Q-!ZYk$Z0M9IC2aeXPNG4juFJL-fMwxd5UUS)oJ#si&x zwbc#c{#Q0@09;r50`LxlCqX}aB?KK)O~y&64(Drcup0B*lkC5);nxt)zD19rqZr6| z@K&&4Jk%cVg!LA2{)TTW^XHJYz!XEge0g8JdRKvVQtIzf&$XmD?pU!9_PEwhMVzR= zy$(F|p8ZArEGPJy<%x6Sd~u$w&ruzCuun7a#d$3HzPVdVsXUXO=ePzR-G%MOt%8xs+SHbnq@alWgfe_1@Q`5Ju$-`f8a_`w(3spC%v zzT@$3>SXQ#ok01C;Oi$bp55~g!=JuzXW-i0Pr-LKzX~0xFZqg|>=#z&QS>8~nfEC~ znlb*p6OTaOdVzeg?_Jw^7yO|Aq($Ct_`DeUQjcQ5y^fs7tHn7{z6!O-e}5a#FX9}k z&HH^^m#exF@uPmh=Mpuk1oo@=bvjXx)#++eZ$cpfzM;&|)3-30wn z@!jv}ck1fQ-xNQcgN`$O4d8~{oY%~r_2_re^=mLLMJ-EU&-i5nn#Ap~|L_p~)IWS3 zaL=r@jQ^<{pcDLQK5)(dR#X4%F7TC0oWQLKpTPG_st3Mq8U62GTp#7Slj@^f*EIIu z#&dduuV}^Zf<33lLC1Wbd8XHx1Ny-XoFComOQU^_U3ed#D%T3|ePiyz9^IuAoG;oj z|5O#_`D5niWl*lJ+cfZ_8yBL#2WMRc-!X3`aMzyyK_{|vKXB*#Wx%xuOH===HyBsl zc{n~hzW32TvoC`mI7vIh|3s+MZ7KNrT|Yy|I!z7S^l~Qnx-oq2Q`YZ_c!(M9fbY?< zAK5Bi1wSlJ18%6yd?{8S18`fTi(?F_?H1ce9oxO5u*dLv1Nb4?9>r-s$3IN=s0f7&Ak0ag_@j4!u5blBiUb4zn6ynA%%ndC5&_LB*sN z{U77aU40Ae)NbqmJa%|0+wu3}ut(L_0(*R2InKDNi~>J6uNd?rxqboPUoa#1Zci2R ztF8hbb1VSgD(ko>u|FywPXit*TOB&##Yy0IpKFKx_S2Q2<4ECrXVlYvi_G`5V0(E+ za$VHt7>#^5;#mZpz{1Y3N3oRW@S9q)pZ@kE`-{JMH}KWpv%RdFXs5dy&%5xpV;mZl zSz%|i+$Qj?w_VVW9@+rhWLS*(Q89*buCEipc&>1A|GaAMX7GdQ8v}R$`wjSk-fMwJ zw(qGcrM9c&;{Gm2i1E<4YCmHf_pE6OzLdy*=NRaLe{8m)z@xV~embv~ggsh2_1!1g zzYOpAJ~8&=_u%UuF#oi+8UTK5-s>boYB}zN*{~<@Y7uZ}fo+(7{mqE0a^y*iw_%(# z9&i_NsEMuxKbXS2+EuAF#s}lt2As#QvHymKGftFOZUQ&&q(7BwCA61s!3f}{U&J_E z1?4Kr@}3muX_jkRS_J-#Zf^^|e&lM{AAUL#{9prqSLHPFdB;)rd*~Y`ln38kgLzta z^HtdInwcB8a?$V5NxGzipA`lEhxt_L;=E&Q)E@fY>|7tSsp)6;ts>wXEqTDVrek|) z_bde8UXtr?w#AG$U&+P5)eCr@lBX}nd0T;xuqU>zHFXX!4|JU1{AC&YY-+r{j5n>Y zQ`+#EcFrk|`CXh>scO+1{_*XemlWrFdhDQo+B`(N#O{m(?$td4t}nMA_Lz=ufFHa& z*OJa#AemMPbPTjr$zw@f+#yu*-o(9zd<%ytR$xxm+^9PF`}%b;HR zVf4RM#-n!DS103*PalCFLiMJAuU^i)F)95$;GUmuA^!>IU4wFUt@*qYe)a?XR*3Vj zZO~(s>%75p-Cf(69|n(Kpz&-k>o zi_8pD4cnwRQRdg`H{CxvZjaQE^>r$Suzhdm;(T{)KXg2YHl@|?NqcNX`?r@;|6g;iGx*M|r@_CG ztrPs_>SrDm*H;$gynM9P8Svc`tD;m2yOK9_-8g6|UJd{0^CC+6%$P_D9hN9Z`u zvRzn31Iq3GgAKTH-eBO)GW3J} zV|M6ku8)R(=)hs{&6x(k|EAh~zz=L^|I*~#1^X4tpMxJvVZLE9X}~vsy$t;5lYb)Wo4Sq*Jotg*fO^1a*b|NL z+-%R+%m)Ik4iTTi`>E~UF(0rGEra?>i36b%en>mRv&(|-tNR4?a!uoWt-bqzarj#$ z@SXLNVSl8~dEg$~Oz_=D=%3^o%VEFiuLIzlzditd^soBRw||!x`C+IN2iSb-!tha-(BQfN$3G z`BB87d(kf7A`Xq+nt*T5!Er-7jPa~)JE2`X9&CGxz#iXX#;x&K0Qs}ARcGe;B_F^} z%by%ql{2~m4{m1O;vTdT^)imlOux0Ej`!14l&jeH4{(1X{iD)8M!lSch5=XRXTKKy zu}D0ZM)*g0b0he!$vo#l7nSFuqpyH#+g67?%1_L@M7h3u{60vOt8HurKaw*)o(IG8 z8Mk3?0pQ^lD~SKj=Q7K(`tXl=Y1;EhTb^8kcvC-_!+Ev_`|qMF1Hm`ux(eKN;UL?$ z6?s!jw8{Ja@~ixZlKdNMc!gKu?e_xEyok*0lwe#>t6xaSKWs8HQLsrTwR#w z5c-nXE|x9nQLZD|3clqa^Jk5rFXBXhrX_HVk#TPSEid@0!am@k2%qbvgfZaTa-IPm zn?wH>Y&8~k`b)pV`jtt~{%$U)L*D3Ky$*P|_I=ptJ+FX{+A$2cu^{JVfA2A{-?VWi z@YrIG=hjkr;2-buwdCJteSJ&j!%lTWp8sHqGEZ|K_yPRTmHXiP3p4*zrtF73(T=0A zE*GxE`Z}}rhdq{xDZqUx?AO-yT!)NqTmw9yWj_kOUj@EZ5eBY4$^6_t>{sBC-GhKz z@{upatf-g0Z6a`oJdb;SaRc|*HUSSFVSXE|!{<=rrq{6FtLHctslai@608Zn%OO9n z)o%npxF=r(u3EMaezt!61U&Sf_fD$2%?0k6$h^XKBt(1UxRq*t0N?eJ>!QADPETx8SF1Q<&)X*yux2Y9^Yy$ zqJON9fm_}&4|f&%mHs*M9dPwpjvJ0^J7A~Qpat&fB>QdGPV`^n@5_PvE;G)@JHA1D zN}sq6Y@E({q{AFP`}?`Z;42>RxmY)s>#nNKlkxnkFU0t?on!tJXi=8W*B^GFUN_8b zpyQdC3D5i5-#I>;k~ApSlT8U+f0TJ<>`ZmUiL+J(;Nl#0+w_0w{~H~lA2IRyD17E4 zaP`6gz)c6JqwcyMxUoIY%?S5ke-EDfhV50=27a^~#~E$%(bn;K+&^|B?K#PIiGIVp zI$C%GaOZRSC$RE0bfop;f&135T>U)W!xeRN-NS#1@u2TG1AJfm*O+IeUCd9!ydNo9 znfZV`?_1AYVLRGa0$0~&xgtMtb6Ll)?Mtf;~nuBtKiX(~fI1Ch&{ctuN{G&da9(;RZ2k@=kO04w0$OTx&S_szmrfZ`FdY-&qg1C+Qg8JJtVbpyR8Z9q+U3za}F-O}9?co+|y(zXJQF z5T9@bcyR42JU=RmtVh4I?+XCe`)hI^V~MZuK0+#g26(K(3G_Qfy%hG}g-?OI_Evz7 zS{^rIt9`%&Q@a7To#HvGvFQhaOIbPoxT_9^j`uR>h2ZLU7=IM2c@L3Ger}57EC8M0 zGM9`)^%iIEXM&5CJ@Rw1xjr%#+X*Kl27uk=3hyO%-88ZJ1+}3Xubj))a zgYO>k47hgF9N7g601Df%_qAaegs0^Fl}S_Z_|$>nzXjLpiQSC*S6KsB}wE zuD(o0w2MngKRbpopH!CDLf=~GXYgZrnIHOcRR-TaCLeHX1?Ih)mQ{hr)O}E{y*i&$ zTyi_wynDeH?WkYc3vsKyP!hOa!@SY5ZxD0>4W7eqW}Q4=XY7JF3D?fY`hGqQ`+c7~ zfv@kL8F+BaBjC=V9iVSY`WDZFX3amqJ#Usn$G`pw>y`cp`JHBiugqiu-|{{MxUf@k zi+&S!YMwgLUv#GHC|8*;2)?Bh*KY&)=Fy({%)3NCGWoxPzUW5|l?&y@9-Ic>l7)GT zm^W2B)&u`CZ(ia)L$&=m?AMfIJ}>%_cEkzROYTR}JUb8%QX=iKXYs>M?UTlwXU8Uk zuPWgL?l{vD$+<2Y+F~hxFz$5NjzysB$fFEsL8Ms>JE9bMnh+7-l!l+3(a%YS)PC>S$8pk`zbN7%(uwDD8ZUDEaV*Ki{R2bzJ+EFK zKfMe4g753P9{N5%pI?kR?z`~4{u=pM%=RzrSIip?zGv$j@ZF;h0heODcQ{ae7;tf} znl?Z8bxWJq05{3|y2U-khEv7U@b!bauiLWjAaQZu@c=!_HI2^!dmQznDA(a>3w(dB z@36kDsm}3ScjXfN=H8MA>)Y;E%p0|_YQRl5Zy;`+OW03EJgd6=m?oax`pw{nmt_PV zc))qVWgd-j%wo<8-1CIvc6r-*j5EeTBiQbHCc@6~ulXH;!OMFDjC+|si0>A45%w4H z-J-c0_s#m#y@ZaX_7K+h0nbITRNfEVoMHuTt(Ahf3h!MAJb0Dkwsg2T=5h6f?_sAm z-*oWHmu~^Ss#|IB)g|q~JNWrN(Kq`U`i0t?2;3fO#{3~?0JuGYxVG%qz$5L|@N@9v zb?}34svos&pCg&f_CCvkAbh2 zpL4C|1n9fojQ}nsa$M5A&IbLU;v8^yHTDSbQ&#kgS{G8?!zI+uR< zl*D?~2>~~1Ie$5~9|P|Gb`0CA6UQHwHaFrh)~grzq5hml^saWmHTmqoorO3qIlX)? zHb%Aq_vK{%;68kpM4e|BWK$NAlHh`5sRnOM6tbZkct0QU_Y1pm1590#r|;eq|? zvwU6%?3xK3_3nSjU&e7hcJv$MnW=BAz_(mso@xKRCE`<@$K{j1m)AIWADlSn-*%Dl z-~D}Fwqu#57-y`1NU+Db+K;?F+VD@{!2^E*4-B6Vzd1YdeSP2>*F!YVegPgTlZru+j<%s9vyl-s5`Q3Ft41M+A z>|g39{h(t$!TZi)8`+M54(VWzQs&$3j9cZ-wTK62uPe|oZTSuMEc!tMJ5{0Ez^z5c z0+&{&pj}MI`QG1lnC+NUD+1hlVHNoHKbR-m8+3+_z4I*Kj;w4iU;q2S&6bM5-7Tj= zKdH$T=s0Ix1|Dn4dDC9g3*6SENm6{i^KJ5i?>^U%{iWRRz;#dQfB$-(U!m$<8F=8? zEbvuZ-QZjMRsn80&iOighU?yz8_DF$>)x&de)!WgdN6S10oE%lasQ#ezs#@1aW(Lg z{*V4j{jmI=*IQ*UbkzA%pyOXGw{L?V;eTtNd%#19#2rgtai6&y&&u0IuasJEaUPMO zSCH|4tv+yTYqc@{cU9x+z)eqD0rwU!-z<)YZZ!q&9oiMR+MOpMjt7nm;P{Zt=RV~S zCE`5%vpcQ+F&%J2zg)mWm6}5*xT`Jto$_;W;$^5KzTX$)gHrx}-=`{^rk^T1wTF&4 zAHaGlKkO0b16UX3!SktJuCL`h=S|bP%7`DSLSgL33tVNp#M)d(oJimBzES-jj8Eez z=4sY}?J&;!OEMn3+SzCq`;6tlrL%H>`SlFqM5!zRJW^vZ?2J}h0KU^w54g5G`G!_a zflKycz)gkuUd)t*&y|i%_ki1M98YZD?m&OkWmyZ{TZ8jdXlgU)n6eE8F7CyaUSt6t z%&-;p^>;c9dqU&eGJbaL0^hT2HSkC;J@}UIX99P=*aF=7xE#vW4|4%e-9Jiv8K0+= zBdMcKmY=8Y^BjQi&=u&9mMG_=@>!R{|Gw)SH^R4=M`des8@O(4ag0~yZZ7DL|C;-w zqAy-TM{|YqY2+^F$7nyE^J&h)=PzGt+T$w2bwx)e<^#4Y0qA?iZ-I_8!uIVxsUF%( zb3=u4H61w4xU?PNpXdTLa9>^z>QL3P1lE?V@~t9Jsmz<0SU} zDD2lCd<)!MgLy*Y@YcH;Kt9iM_D}? z_6KME0$lo<-JdG*X`%~tib9C@N?+aHQ=5q9M9D^ zR{~dV<^C(*N4^)6et3v-9UsqvA0GP)>g(Bj75wmD zlc2L=d=UEn^5=n@mhrh`^Qjxa^U&lOKhUNhaABunLN4IKPL=0Z#E<#kFmzOQ`YpW0 z23*&_0{P7uZ`OJ-;P%tB-&2Nh8#YDYpVYh&I=WkvQLbA*2>$tkhd2%#UCQ%_Vww3} zlA#pW8H`2#0zc4b9(26teumD)+I(+oy4X1>?*FK~?(N&x82*WNUI{#``5kH=R1#t6XRPk|$JWyQmhXN4vN;t^+@Eo$(M^b_qHzl@_?;PqtTd=w9HVLxq8> zSFwLd-?oPRQe%!+`huLNbp0Lx53igDzOD$zVO!Zpz>O7|&v=>;xBo9Y^o5;LZT8b> zu^wpO@MP*+_p-h0?Hxub)i06U`w;)ZXDz((-|abh-m>>#2jG%?Pl`3h_Zt35+kqR` zw+3I__vEbo4RD2g-;=lL2|Tx&I;;n7&C&&Yb%~Y82h@!#0r$4(1YE3p`#t;)QLKAg z>J$V&(vABky=U8j?^w(4o3z8~K}S7cC~(i56tu5*c{|{N$~}Nbip&EZ)Sd)xo4|3; zoA^Ea=|9mQxVACySxVh>m*rTmh1aW0wl^^`n?=^vk_B==XYWwE}ZaCN5RiTE6i#+tFO02kh5;w+*;r{#fwCpT>aiE;tLgTYg>^cAC&X`8jXXUqQ1sIhJatAjQ9(3}IJqR7o zYW6!{$LYYe@^@s`_x!%waGCKhwW^1F$(huM`ioYR-{%hIaceflt+L@#;F0Nkk8jzt z3H(Tzb-;~>ib2QL?i_IE@J+xSM)~>3m>J`e>d6}5H)cFVJcKGO17B0+cj}lIpdTqp zoCoe`FVCCnm{)kNxq<7(GY|KcsscMBJBI+5iqKBSl|}GF@b(knP80JA%P+6N*X}dG z9`n!hQEn`k0_~;xpMvcu-$&-n&+}0Yot`=k@wkW@z}LSUV2sB}tQ+G~Gm7nQZ_)?j zp>i?Lw=v9TJUa&5LHu|&bb!9THRH#-_V-qColsym^wq2QJg%#ow{;vhPvyA^#=?we z`(HfY+ch!(zN;|Hwan3iuiSotIt4nyPSdjp>ZN?sgXNw!0{7p}f^xsubF2+;T}2(* z#sAF^*0&_bTVH>kQxVMZ3-I9m;ov*=7@=>v(TM!4gNdJx(*Itbv!UwDarNj5o;MXf zT^xKv1uOWWY~1%1JedQy>L$n4Y}b3i9`llq*jE;v%yn$t$YQ{?12Ust))5>}{ON0B zJdE_N3*4Ys0)0=NjGXt+wgRpl&3sSM>~F+_??D0JQZMFL=9E&vy$SqIQpXWjq&ykcdLSWsoyjP z-+82HLL4{tXbN1RXS-+~m4lx>Yo-E^T&)Mbz>Viyq``yFPh%brWg0=eQ$z5r@1CPv z$Kh(gec70A2)?66tu%afaw7S+4U#RmEt2cP6gvu@D&$bY4|GlYqX2_PRe|e`BMUvL!u)E8+? z{n;ERrK;nB3wta_sH1)JhV7D`_W0LKL4B2j#sW9gp9q~`N6zog8R?nNpY2Nh7}qzn z^7*Tp5i@~{_n5lL+?T7{zZtlt7VGPM#5`ZLqpu<7g$&hsj!m@ZYVb9me}z3_-Pn3+ zFZN@Lb>r}+N6k<@I)P z?!7j`{p#Y}d+V!yC^u+LV7U)C&kBAp-%;wz_qK>~V^ea_9{K*4Xvxa3Q#mFPeA8sc zdH7QZ?Ipba49FpJ$3Q5E#v(t zxQO@YdFQZS=#sg=NRy8D#yU^3Kbl{}P+vtMp6eBxISB1yt)?-?bu5KjKwq_TLm3)KcMn2KF67~HGyj~@5FZmN*~8P_3nGff4mnuLdTbELAk+l z<={7O8J6oi%Y0s+vIczfq;u41%XNwJ|0@oA{B`)fgTLSp(AnQ`c|zQNY1eh|L+Ryt znMt@9!?kIcnj&3Zi{oLw}tTk8|zUHrVeT-5l}rMdu`+r+oi7 zSZ@6n;5(Oc+_R77`Pg6dYm-0is}9POagvyW^NxAJCE%v+#7)U95fApp zEH^TZ`9^eD7veWHut$+;9?G4zp&|OC+4dRlkF1XwSFxc^w2Rp>2L3VS<2amL=ttP2 zx_Je-yEyyHjd}}!hh7GOtE#f!Sr>7g*0r`9aD`@Ar*Gcn^!Z2irHWpYv?BwJ!Rz+z#qjW`0|~ki2ftbO~@< zc8*ukkp}cfQ`Wh_okiF$tX+Bjxv$&bz^&UjuLagI--}J@3H-nNE8IIu0T=6mV%;y8 zFAs5f-B0ADUv%XC3}$OCjN5^Ax9~nx`I+TPW7TYT*9+j#S{cVDzh~Hy14Y(rK6#C-5nCjgH;uC5E50==E zaaC1+26e7C0Iq-cj&WFVDsWXM#-SryU9_Y7%~kTvTyIoo`nO5ET(9pQ@Su&)<2U?D zLmbySs=#lqZ*D_h#I4HK3%H0|ebqkjf7o3RxaJMVCB=|y@V~ifZs3vr9G48PH^9B~ zr;(q)c8MfbMmz+bDS$gmuR^(g4fkK^=X1Z1x0?reXgBx0+hrYnQN}}LMG4G<%2Kr7 zUveY(>OB_tUw^j%zLPTdM{7zl?rGVmAH3uE!$C1g7>Bwm-3te z->n|ttFpX8x!(Erpksf_aln^-XT7+-^36No;an}j*VjCYIPrA4fbX`9YnX2brXFbu zd;W7DW#Hnogg72-IfLJQtZ&S6w+@3JY^!ELN8FF8IyaYo5cbRWX4*QJLi~p=xWPAH z>i`}9i6!8R@8fJw8E^JS8sO5+j3_rGk5|gbJ=hbP;X%Ee`?^BM95cah!EH_PU4~~p z^Am6S(%>r-wi3Tz5B%}p9V;5Im%d?N;F@bsfd^Y87~{D6tO>Z|H}(tPUsKq>4_dJGc*1Rjl9?Lux$~lh%T7Eyj7oKkr}i$1_hecH;R(kueiF&OG2a zgRohaX8pfG1ZXj2K%2J5B

k++2ZM}D*!$4`xUHte?!P7l5*!udD6`g_#Z(yl7- z@C7%@bQTW_1?on|83i%XUM@QMDd$ceWM4#dkN>N>1YP`7Po+9RK+Fz{Pnus+~VT zM_sThaOo4{;mdc#Wy%2;-w`X0^L!OeFBA0*ew6EP*cJWSEAD~%hvSU&u_O9RF#kaC zokckQJ9lP8|FYSO19#NrxaVlO8*y$Z^%S^gw>)3uIm>yW-UXKXfa8PL&vE#__lBDf z#^!r@#Y!X{U4bPw=y%<1^IPUW$G* z46r3giq!d0c?-C;9_O`yu?XrV)}sPb*)GPj`I^T0rdoV13uNNFpe@Dy)!Mea7t(&6 z^J$54Gb_gV?v+_-&#-?{ufSsF50a-6aAnK-z?B>3p}q7&PfszV{-5Ou=LK(xl4y73 z?hfEPmE-82Rm?Y{84FS8B=Ze*^$zfZt^?b}p6fXHC3?#HSM{gBH!NlT6%9UUXLyb@t2z-`9C5%GH?H19we#0gsO6`PJ6WKLPj8 zqW#Y7x1k@Ir2}pl$8zZe=!Z3x;WsHnf7%}Y z0sLj=Js4L*?e>E2RdHNZJ#7yi$8UL{@BP5>NBP@B;I?Idg70kVg^qP=QQ)R#wSfEN zeXz>TUf|NM?Z5*m?2po+`M|@)djby+CazC63iVag-vr#>i{rnu8`lTi@AJ%z$E|Xr z6Xi;GyMV9lr2rmIm<9Z(VzEg|-rUkPIUi8 zzGo@H`9kr0JLfgaa^OxU^F7ay4}8w5%=d<1P33Tc2)$ zj(slY$LOA{C^wdK7I52Sjwhkveb7&B>df%JyV6A1S)y&dCh>Z?)~ttr?AKcW@7{k0 z@L2wnz_pt=p1YUN#yF$N|2O^V<$BUKg)CkImGwdnxMWYr}e3ii*5$ zctTvq+p%979e>sjb>q0I@hRYjx$~eCYP{PR$3y2s!0qn_0{3*hj{X%oeINdey<@vr z&usx7xT|CQyq^QUwxE{r+2$Ge>YdC_%!^iXop3JqC+JtPKk9$+KqqGBJ_rAZWaxO8 zR0rRk>l1YJ8J7chK2bp5euwW{RlC^V4HG$Dh4OWPJ;BQyXEa6Afv;Nk20Fer9N+AD zrz1{u{d+LZ+i)Cs{!6*)aX)C2R)DW*%<=!;x}_TUXXHot$F<`r?6Lnf4)c`d6VH|M zuH`)C9(yt&&R2hSK*#LiJQY6F0db|we*`+t0Ncy@SZ9p$BYFF$;p-=DNr>aBt)IX* z>lr`pPkF#MEXhy4j2koWLVm8QT!Hv5K1X=(^hNxb?$ihFljFpaz8mzzou@+Ikk3%aUZw4F7F`{_i^iN%oALG z*2^oeOK6@QM!Bv`)uH3eKMD4@D!72F2G0X-EY%CRW!^ZVdD)30T)~k(tF4Q)T z>+BgBzh^P5=`&A==!FvY!Jp>)xW6)gdd|GP#r?Ca><#3hH(N8>$DD+H?1y>Cb7i5* z;4(k+GgLqidsppi& zE_BSlu`c`V6iza6ZaTb_Z9+@O@9d&#bqOuVc`z%Q*=8jyU$$>Dml?MdqR4 zt}L73kL|b87%z2VdFb1XtV;(w{-_|u-*JY|1*MORtM4k*6H5jQ>=kh%pyPihkCW_$ zyOqKHI@Ue!_8;KRKTd&rMseS(E1L~E+AfF5-*A5(xStF2(fEA}xNc*6=-cy^fxYSz z^HVjQ`D4hPANm3LQ`p<0&v}L`R*jeZG0f-lPU4QX&@sR1j`)~wZk{hh{@;=I6kK=H ziu?)Q=X=R@uU>&$6J$8ILG4LJ+$>qnfosR}yu?tcT+lIAI0SAC*23@Ky|=HxK5&qE zsGVX3S84~t-Vps=v!}@%>Nl7NF5m5gjv`Mc*xSl>02fDaee}=fdv<~cK0sfHp2uh} zG7$I@PvWfydO_A1~qMQ!N#1Kek-w|z%^T)8#SG3vSB^NB&76gPM3a>Ub_V>7Rcu#w{UzE}?BYD?nSV3-E0lW3{)UFY zA6bLpXjfM06u92n0KD?O#n6}C@PK<(4+eKP&y9JiweO+*e_YqzzdTSvjPyt7)e}5D zAFLTJH;}k)#3aPikT1HAeK8K><(Kh%zw~&jr#8|__STWpp`+Ww{dV&aJoij?A|5(w z8P`Ggma1`*z3n%i$EYd8{mjnKJ+Ke=bR7kIaS7KE_0emHzc2d`aPu(MJ!hS-7)RT2 zH+b~>#~4kP=Nd_0wm%R25qGsg9IW?uwUfB;*amLSy9`|QU?#Y|2Ir%DX)?I>+Y{Ee zO8-J%8|L+t&-%Ktq!Vg$4m!4t)DQOM`fJ>j1fHH(!_>RbFO7=7FOY?}-`n}*B=k)& znUN2=KBLj@u|6F!j^TVQ)`m-s*?k z=RWoYe_xP3UOsO>=Ku4Ju=lj%^^0EognSF%Xs}3#v}2Cmf415=U)(hv3ni{S!ulL~ z7t)E5e;W>U2lp#DAJyCY!GB+oWbpLwg?-)kp}(^I{5`ULPFMJE`t1|ykNl|$?P>;b z{`&fkL7s;@zJrcT*AVua97_1O1g*&|8bTL9XC_!29J?JBj;m%>~zP<9rIwqsP;p=>_hpZ|0A>xJAXje0^JmTp&$+{Z8_n!8ua^SLIv!Jgj=b?Th zj$?3jbRS|r+f?#LzMtof_>9s0aD@`6Z|YuS;iu?{hmO4MC&bgzy)*k&pLHqN_II76 zBUAGC_|8)F$5gKf+SQNA2YY)Vt_#N3dl4UX7XIGfUxW8i4V7sxHcUf)rrXDU+>CsX zJskut9-2UZD%V20mc4v0iE=|v@M4~Y)g^y|#kaxU@||^ZmSsHR7XBvzT&B0fUemW7 z=9lg4yd)v=clIKTTf(e*T1iKK2BuHRBFI$9j?P*KlV& z1s;Cz8C=!1HR`HIR~Gt;%*VjxSwqkXM*R`whr!LMRTWPJi@m8HXB6&X$(OU2J=W`h&S2&|8W&lDJVe4f^^zoWJv|tEx)e;p6>* z;B?kKO)<_3can|$s>S**^J%fq2@m3XpS8_tFT9bpl5|WvTGIc$iSSd%I39H%?B;u3 zWE)u@^m){nkA`*+U~g5?A8YqUuy;;64en3kx^Fwd`I~_8PdY7vEzZ+Fuepygm%BE>Hye#&6N*MLkErHCuRIpE`at z?5!J_4{9IJXA8GK3GO+29`=szeE)*_;EkD5zZ8p@hlY5zD{r0(p5Cs#XkD}`RHlxy zSqM757ekR({=dq>-eBGV9+>qH^X<>4GbDY@?i6s#6bt5~C7It3sxvd+GaAhs7vs&XkLE<4rV{k=~>(1Tz zWtvD_*EtBTRINNuvER8~pBN7NP+`uO{v{gM6eD)7ddcA0s=OcgD*NHu5_c9D1uk31>la~XX83QZ zIN&E8{p$tjuj!WyGlaYGfLEQXF^JxFqO7z!fPej~2dzV7r^@aP27H%7^?}B@u zOcx^UySu!By>swd=zFTqhK?%h81SHz@9i?avi`XULzL#8&Y>lRZ zYnt*o7Tu6%&~X*!e2<*R0)LDh&w_XO^0AB<@y|MDE_BlSYaM(9byz&d=Xl+-2TS(W zi}_+}NcLiljIh@fOoNX5rnjZU!&4Jx2$4_yzg@v&cVxjnM{}YMxU0o7aIxU6I5A>p zku3oiyK^218|+vYjK?~H>yJK!y{g1}jH6ub0ar$^_nqtWV19`gZ^56yY3`G)iTUD0 zS>$^1&M5kMjPv5g!c6er<(mr~%NDLXP8)yE=)c?=JW!4EOKg%Ad23v=23%WR4}V-M zmVs-38v(9v#e9Bp`S-e_EV2$xJBoH4GZSF%7;uaG=fvrVzea5W*PQMM|6N0?!`_+3 zIuNSZJxV0Vcl14EdhH| zNybfIVG8^ayv@ONtNO#wggMV^OZ`%$wgHcP-wrPCz8ik(hC30T^yg;H1)pR8>Aq2y z_OsT)UVF0}>V|1m9Jul=uPkj?NM;gd<*PDZNFfC1+H!5d40#bnszR2663%KPo+jR{o zgzG#1qOI^#c5XJ>o&0-O#>YSCr})_SpF{p9+)+TsJA&gPF44nJS<#B%{^)r!fy(pY zPr(mGf3lZrn9rh<=ccCTv)`<2F2zT8vpVcmmpP95*prCAYiI_Hi%_u>{4|eKAs+%? zmrfBPf9Kf6^)&dSyiU?_Jd}fLcC%iYFFiv22{tYc9et~j(9uoE0{`VEIk-B=`511t z1pa$Q=K@#d<^EIKAUpi@XQYnr1@9Ypj&^{KEz@YkO?xT*iU41W~QsbkC7 z5dQcRt$40dxsmlsHE$O3%AmXrp8lMtyu@=}KW@qheferT{0~j!{b6seMbH;#Q{SDd z82r&zs{tO=aQ;?~e~tJUEIFX>SkMnTfrl^Rq_~BSy@0)4;JPf|^b9(|3g5wH>n6ay zK_(;iOZsY0#|n|Z^F^l(;JW?&F4Q_il5B9ziz0fb)BOACrz_^)ze};JaUgsMp z>4b8y-fF(w1~>QJ0UqAV`&WXgGPvgV591|!MM2IB_we7)u4SDeQR4QsgV656F0U(# zk$>9;q=0LCF;CQ4|3LnD+vWmSF5!5E$LBzQO;b|GNIL1XJY1%u8W!%|mDRp~Nk{#^A-G?mf6VcXxx6Mu;-OJ5Ekfio{dss@*&wbHz1o4uA9H4| z9^yg6>W43e@BY&^D+6COz_7!wwgP(MkxKqddxqjqd;MVd(VIL~E6!!82UN_l3 z@p{uf@*TM2PLy}7h<&4B-v)47{aw(}Hk=3l1I}6Co+7+26nHxx{@eBY!QGob!`|^+ z0e=+1zrfALo%Az*p)8^-GJkxZrVEiz(?#a_m8Qz-5|_6xIzxzj`r^mKe#VXl1;og| zLo>5to|-2yo*mBYM*I~<9r81M-f3kEWs-fkUCYrzS`s58z_)4**Nm!RF$E+2A8I{wV}#z;E)C(H-M>B(7@3`*OM_Uv#4M z?~3`rjhBZ?I@TGw%L<9B56wV5k>`o#!yy;yt@ijp*n3Ml(5`1#0QEsLvjXOYDUIue z@~_Epl8!OcBj|`jyTM+a_7?jAhr&Bii2T2K#!`t3cTVLj9r=`b+pdGYVjI^f^}X!b zB`#08F-eGgx-#&7$c-vLG!hqk$uPhChk0G2o7K3f#I4!Nv0tTF_iE)@ih1p6x)}2= zP=n*>&XJZ$vRAF!kNKh=BYo#_1byIQ&8fn+-0zCh7%Z{(qGE44vgG6Lx}vpZ4viTlRbx#SNif#z|-gB zw@#KCV#LnW^!`jC@)@Yw9PKKz)|5-!vidN2^gX288>gxzu4>X5T;87XxhwoyPvYUs z17-=4Pm_mvvSYzfw5w3uguQ#@V(16dyOBSNDSmLzUmL-N>vG?T$lnXynuGhC)4`7@ zy;Z~rR~D;5{wM3FwdLxJ64zF)PW|@GL;D0imuTr$0{7o^gLohB_L6cHC3|_dCGgYM zdNTA4#k)6@xVjVH&zSz4VT~~-%Sv4H_c+*l7xO-zs{O^slAr2XL%>}g&ZE}zPL-4F z-NIS4tBK(_THl`hAla*a^Z@r>IEHptFWUoqO{2YYgvkFZ9&vnUESvVL82PuZaXWBd z8ux*UCqJ+*s24XPS0R6_kM@19DcL&?C(acjpT^h)(4TQ?5Bzs;<#|4V0k^?>K0Smy zF+cIa-f3Wcs9bk8_NB7zjlq4VkU!SY>r9vzhEr3)ttYsTs&=_jX{lY!Lf*%A8F7EZ zI{Dt(x)S#kQo%lybsXBY{92=h#0A|Vn-KYQ*5!Ki=}tT3Ng##Kx2OwH-!L>I>XLF( zLD-vm%$IbmGdkBp-l}(dp&$Ot>jL|fwQ-UEm&q4J&+{ox{mJn?noHbqdq37G*KX7q zv#iH#)K%@(>)>Ke>~muD**@2i>=nz)V;xsd#`o+oJ;x-#Pw(&1^BcRvPqVPR-!GEA z(#h}r!$nYM%;MWT;Kn=epkqJAIQ&wqH{xmO*&#`g{w|SuSTggBW|EHZb|Ur(p88ym zJi2(<~`&vVUaqTGD55!h3Ml z02t{BN)`C&Ee9YdI(#j~|Up7^yMaG?+Du;=-ja+1BjOgZc~ z{FgZ|=4jriBp$41?>Dv-J%IcdH~kGRzr^bi&6#orNypti zdYZ^iq%3UN8O;0%L{9Se7p{IT??Lca4Qb%LGXr(#J*@-6ScZMQo> zUz}PJ+~DzoTYB<6!s6|f;GuBzzH7|?u-{OqGJ#uLynwy`*Aw8HB5rW4oA$mOgBb_) zKJxN!VXyh5XfOFG?7j&eei{VNT#e`b%9gYM5B1pxu58cmI~1$>(tgw%aC?v6urJb7 z=l8RkSmvkckH+YixdgwD7Qb-+rt0gaKY#rOonWs2LB~<(I{eptVw}|%&VdJ%FQKCe zRe-(5naXxscZQBm#qZN~Q#dZJf;^XAJvoW`nQy}0dZH!c?7D;eajZBF?kiLc;}yP| z1zb4G@p5%5hVc@Qa2~lDFwXicy}`o?wP=5s;~w~w1^U98-r(wg7=NpV@A0t?Tm)`4 zgwU>cU~%Y#HvW?&M8?5+G3sZY4~VC_a~;@gy0gD#@i)Xr-B1s%Ghc>|IY(o}ArSS) zaPb1T%Jm%fp_~0+uOC94@Tjfeiq1*&=OOp2;ji1Fqsq^EVw&<9I)Px%PEwxe{#*xp z#h=Wd2BTy368Ep9zBA1OdvVVp_%DvFPy3tfZ{_;@U7o#9E{u!LdWn7>T;D;`v3!1z zBt$+v1@?pceSF?SeqaQ+zQ=2D*$C#3Ir1W9$zD~I`J-;q0`ZhhlY{G`^U;{=0>;<5 z+lRWOi_S-5-I9od@6{04`!ZgHey9!SwXAc~pL8r&WzhF8-2t6&70wsqs3nM-Y@P$$ zVPzg#Dx8GA{*Ru}ac^Oq4L|t(SIE_yyhJn~#xefxeS@Imp38cr?|uyN*Xo;rYx<_q z&*=A$`s{h2qnXP2sP4r)_r^B|cYI~L-tl~Ykl{^5aQ(Bh(D6F?{#-)^8MrFnG4OEy zV(r98d>s}oxG&QKaDOlU9?kyB4er{+eDfc*A^(jAFJun*_v z``r}XZh?niKL$4+AkSH~X5#mB`nZ!AN5v&R@8^l;k8|A!`01-t1?_6Tu`cQI z6hmHxuJJiNPc*OWzm9;8{7OyOo79{y`Z8IOKi)Ufu5~jnOOhr z9efyfcdl~a>J(nLdS@PhzEIT&ZXC^dYTg@wpBiQKeA+12JU#~=Ue*Zv8GAhIhGAP} zaQA;*z)h#3@obX;{nEE+39bk}L)_eRn783$Q^9S&vt9SrAMnSduz_pzoY#gEO`zjV z`Um?o#X#0o!SWGY%v+lJQSQ3Z0`o<)=s4`v%jl=+K7U6k-;fjb&JQQyPcVh^U5Gye z`+$k@)Hb_|y5uR$_fy-8uw5~UzlTznqn~2@2k5A-k3^jHwWdMeFqn15J1KxVW{!&m z50v5ja_p!9Kef^Lcov?Aj$`c!#8X>^=d22`%xBa7sn~BQ$3&ldti}BFFFD*^nqS60 zkHUXbS@z4`mFIpaAD#zyrqUmcvMctz_L+Q6SeC-NColFM@ej=4??ilV=8rPE4+$!{ zAC~Q59Lz7c53#m;jeW9g8}}ihkQV(?`MR>*WY$Ad4C|p-M*}YVgX^6pYj&<*f31Oz zc{l4}uup0Dqa8T~_KGj85B58^pdVP#3fxzlc@?nlhrQ8gpiUO%mF(4F#9uW$3~t!T z_?rh70ymc511^TR?&wQz1hXOVR-onT(hDNxFs8Ptm8H^Zc`_b&p!Fr=;dvA?yL35L)cr+^7#jCo)fSa1@04MALe6x4FxxYo9o=CpSf~? ztM?oNH#NKo?ug}muyk&0<^z|9FTh^0yBT$oS!Ya__q&5EPSg!q_0iPH$N6q-#rucKPx*QMdzJIiQt(&kDD(0>OwHnGT^h&zxq54M*bBRu z4~8hWj&Jf4*X7{vg2Q9Ff*VS6y%1J$e;XV-5!`l$d1A?U1O2sr8A%<@bHu^4n*BAE z8cn`|^GKYP0rskCw{agJU}L}Rsdq8HVhu0sjqSKzE8ky3zrxleaBU8@>v=U5_JOU7 z$ft8(VXsMlWG(o+&hQA@o3}C!;d6IjAAZGlHIJBw?n!*^$n=!+P7sPC&rMSbA^wh> z%#(EeQ0p8V$Ed#Rxfgz_2dKeKBe)+{7_P!kLkyo&@;AAP_~@(gTzlK0G!LWt#)+JdieZJApU)=1UQ^f)9e2LvXjf~Q!}uI$eGW~Yi+*|j zEd#F3PVPvFK3BY86Syu~|HG5kG7kH6@GXFG_xIp@Nm#=7yjb!+1lQI%1plq$e@DG?^?v~#ilt8AK_{+vI}bo# zUi2006?MI6H`I9}xc)Qq))7dCpJJ6(;MQqeM?7V7f;%7ccig%g%(rkR=B;`le?RMp z?u%@vigSJ)83}*vM%EcuBJ;}e?*rTib42$=f!qlg7frP+uy;hSe*?Yqa9rLcv%fDn ze}&$>&JCYA03Btk=)5S*eYL{gm-acC&o=8&=;&Pi$!A3KKatM?2K5EOLy3%=?Kq#S z)CL|x-`<&VjxW*x<6^gzguOiruSZh6*}&z-x!^)q?uX_7(;*)W{aVq!3;l6Sng#Cf zKpkrm*9B`Gt_#NG_h{Feew{mQFZ|aGD+--JUXF`ml$-jho(fwS6={JXhZ+y zZTY-e`ty6fCS0e4742A04)WYoZ3oUf+2wD@bMe(z_+u*c7y6}a6VH8}Z7H~;0LR^E z+K>3yHh%(FrLg|^OQbNKlX1Um3M4duaj_-V{X9lvQY+SOF&^JD%zT(4DI zFSL{Pb^bjqX&=KnkalndvOZW| zmq1=AmeEgHZRV$aH0!6n7@x!O_2B-*CjN&y8BRR{e>A1IfAALmgmw*`{ovZnoY$sW zjj%5=#|)zV@0`E-*YChh>zDt;ZFU`W0*&}QlDL8Gh7TM@{Sj*N`$zc;?!%3Ja>F0n zusYBQoaH{>x5LhQd-n~-#a)H={t1`R-_WO7us4-sK0C+rx<=RRGq}>v{khVehJ5z@ zaDWTbIltu1YQs<2b;cohnd^dKjF0iO?t{H-FYADL{X*8a|H@;$)PL}PV<2M;xMAXW z*!!c;wQ7SOz;(GV{N%sw&#vJ5S|y?5X~6muuEF!B+)e{@oSFE&iT-jd?6v0`fQN7L z`FZ(?D)8S}Y&7(3qZnsJwG`I*_BFr_>sfy^ZC;bt;PXPZ58UU3CuYSs`rB=!pC35x zfkSU$?;HCE`M~IYa_bk^Tc!>nAH{s|zlj5%{I&j1T-?d}pv)0{jxmP&^U%n6jJxt; z9@twpbKIT({DpQ!<6?Zz=&j3fcV2#saWqxod$ElQ)_-~3kElxlZ+XNg(2P3T+dMzh zbSyxBUa?(mTr%S6dN~c;lg#_cuG@Tny{1%4w5zVj{BiVH%zV3@1NyGdyq|CFxR&Gl zr6qJ!?>(6B7V9?J*W82eXC0ns{;Wwwe=Ut(f%|H5-pMcU`ZuuXHTkA!oS$^X`0C2E zr$5iQ|Iz0yggA>UOVZvQT~Bwl1lL91!!FDEFa0@l265B9-2!{RjQ0WbM-=eK^zN@I zQvC_n=K3p^xs7(^DP_^FV-VwJZ$dwPVk6kA7jRrcIYuB3z8brr@7{C>?P}ZG5eI$6 zYp@T@rvJX1r{Pba#0=PLmUBKDNA!ceqwst1@D;Xe7+?n1HU9=~>d$?+Qpf{8HEAcP zlgjz4-p2F86=V6{aMkEr@JAeR0ePZ(d>#JSCUJbNH#fn5QOpgUkmU^Qeg6C4fsNM@ z2isB3NA=&lJ~CWx27AvHu6Mp}d@pBEQF5{rPs38~H++Y@-NeYhy@x&co?X3{@g;Cc_*^_(3I?k&grqVfgITiw@{w6DdyRX6m(UR&upxc)H5 z%eRzy;@xo%&qX*kGM|Ns1q@Ogg7Wd`ujj5Geun!d|HQ=`T-S^Tc^_VpuORHhl^6$g z_X&uDcH0ETttIz|hM8^PkHy;_8PjQA0T={|XMZd@e{ov;F;9imKhOV7MzFFFK0}s_@o@);>{|zs* z!GHM@a_6}M=$E>DGxjSp*KysDtI$_;oCzK(=0n`H^`iT?A3T@RpOOL|y4D!&hPr>m zb0hvPyx;DtRU7%N9i0*5<<{+keef?4_U?5@p&!n}`!K;zI?Pj9{lc)<rIUI>X*O>I!t+N2YfYBYqfOs9|r(%s6QF z+(q0%mzKa@wwvQC?liTP?A52n!rlS61S>*5D)GMF0gIVTsQ>Nd46}bHZM2 zbxZA9YxRFsN8-ZEUWr2F)Aqkk@TbPN?)fF|>RJUlvYiva50^PoP2%3<$b*-WPfum+ z|E;O-&p{{HXaw|~!$-hgcQ2{7Wbc^N1@_kewE+(s=GK+Ca`CDEp9@!GtCW^_pv`u~ zC;d6Go`!G>iCZS+fxWGm1v<%@IyaEGd1NJwm$L!y>zb;{VK3is5B8d02TJzN*t9+x z$=-5p80_tyR?rbw6%-_{S)agmC+fiCJM`%&arNNw=$Gs+*Xz_0BDiT;Dd=n8a-PN- zz2M>fhhQ(i!*%fPF21Kyzo;Yhtp`}QP4!>m`b+-w4s?uJPN3bG`h4$<_w{D_^X~@w z*~A5VL9ay}Gq2nQ?kvFfc6r+Jd}G;s7r3rRGuE;9+fjeytGMns406s3SyAYC{)w(H zJ7POY{gvz6g6o!ZJxwbkbdb0?cVouws2BSB4=U&w_gTQ*N4egmrF@5#^+&eR z&wG=LOFH^vU$9;Wqv!A>F1jd2XM&joJKbVa*Ky}Ol_>{Aw&fKE6kpLdFF-yu%o&T}8Yl_#gc-rRgK#@#ac zFZvUR2iGirjd;r41Hc1=$e+k^B5v}enc&uY)CnAGqm}d(O&fvR8uGq}wcioU7yr$- zGlaacL#avJnsZo{mFf}Fo@@? z$UfbGj=ed@-Rvrj`RK9Gif$^1Mw&%DwHZfV7K z4b6YRAMtJ}=%|kJIycvX7{pmjs{k&xpEAo4zE{^!g?XNQyh5DBT}hMY36W3dwxRIz+u^}YC9ZoE`Jrp%Q|avs z-esr^#hY&?;W!c?S@IZ*e9tI{2?=1Q6?z0m*?oLOc;~2;LW8r2&aCITBN2;rS z?8n?A_?)LRdO!cnZ9VcZ^lB^G6}1ncleDcL@>ch40(hVa>wvfGz%Ej|hGjg5DvS+DhCy(TC@zR8uitGGlyKjC<&e9o*M~^W7*P277JpY3v(^Orb@E9dQHyL#5=TrF$hzOF-W2G@?=5Bp;&EviZO zwhq0(-M?`Cb(GkiOXBV=FX-pRKCpMSIEww1Q8oo!7T*c{N}r2mB>TXKobX5P)`Qo2 zv9G$s{ntCeKK*!ruG5Anb!v zoX~&vDjVv*ul6a}JKK%|PnYEpanqih9k zImdnAmg52V9~f2yI=T&Gp#P*qYqeyrENOzh@gUbn|JFI}B<}9h;iq=v|KR&Eh10uX zA1=V_FL_`g{FKdnkR(L@PMcvf^cDWb&@n4VLB}`^`+S)z58toq-FFRKvx57~%uOq{ zmf8)>jfH;TDAyOm>S@pqO!*FdyP0(|Xnch{*Kd6VF6+!X8Ge-)+*Q9abnJ7vZ#=W8 zFLXR}`THaDc-DDyx18}(yRJUnVDH+-^&(f3Lva!})aAKV={&qATQiBfhV_EI5Pgnf zK;}PcfbW%2r~E|3!QS#1;$X4X}{SANoT`prjDx&v)5)L@wzvDcgTeJSl zeV5|89y;;|v!SDJO`VjIl~J!;CAHwX=yhmN)d>0E>X!vPUBBRvn%pO-bZFNkT!BBj zs*_tu{wo>^u($iUuBo+&(6P;WHeZPRzb~``_C6sIe#)zN0(UxCX9B0VZ&WTT3a&cA zeT5=k{OV-(ELC{8e>ZgR7$FH|lGQXd~$u zX3v4X?EFaByEYf3efB1ZTj)&+xbOS4ILThMb1HaxyLU&u$L}~af*xEP&-r57#@`va zvt0nUm^ojH-)VsTp?E0>9?X{reaF`Jm>1rIcKD<3JsUhcndf+G#>K#1et~)7FR}q~ z2tKX`d-=WXu>ZD%{dJ#B0C#4k|B0I4(JyiGWN?R(>%y`92QV&0OF>D&O01wh;M$OW+CmmHh85`0q3EduLk#Ucba-`wio6zn&BJt_de$ zzjpK+%okfPGroVc>zTJ|VIJzLw^e&^$MfhqJ4}GSVp?f%X9>o+;3YmUVSL#JTsx9+ z8|EqpeZ}H!XxDdOBien^h|hz0@=XIbtJi@ClJmgc{FeRl6=ys@tenaDRhl}gd)!yJ ziZ{i$SOzx!DGrLwPvEC{sUF<3mHP+%8X36p5bf>ncca~773PD7OY^w}=h)}qvTc06 zTH~rj|5I**rxa@pe**tx#ePy>pKdn9x;-~NNW;|X<|ziNT`ZXde=+&1kzbS&}H z+DYSUtMe=OrBVCh#eb_Iajl2vU8|0$-YFSo2ob&X_n2t&E8(Yi#9LgyC_3JSKS@{DqMn=bWQ4u@a4NWbWoOts8-Inp z&vlUg=jM86d6)uje$91RHkUj&eaKHdu)8Y8S2gn;xFv;oD8`or_ho+u?tgy?`n8U( zZy`q9Rw#ae+vf4QuV;n-a9>Nc>N2?QHtWNgR=rstDqICOJ>q<~>~4ec^2g2x*QYRU zvwBs+{>{8LkvfGYqun&uFQ}{jEj(Aj)|~q~b^l%PGk9SQt~Y)4cffu?n{!w%!rfEB z14Ryj%aj8#?v~E?!DU^z{u)a1d`0Ki-Q>kz!rq)c75bVjG2qJb;L?1LxHf;;YyhJLPlJah}Y2e_k`4{dNDz_e=VI{~cUZGCzmqy4YN5H&po{?%TVf=f#=IwMJbH6k7uQ z(C5Wy*VVfs`sL2?vp>2F0nFdfP0dgGo^2!GrzfQ$?$-&GywLGgScEt@#+-(|Dw%N( z?6E*6^1dzDi}`q6P-3qf`{BT%CE%(HOQB==5`w-#4*Nsj~BX4PPc+k0^Q{WISKr#{EWF(U0(d?Ty>;UpHgq z2ZT~Xq3?}l9G+AU#6e6G6^%nSaegL-|G(%_h(Ni*s`)c$1AXP<<`1Ty$uz{pw7YZN_#=p34bhrFkQsTzD`52!w zye>9e3|Er4Y)UM+{0G+&aYgKZCn8vXtt+^HGvedCw5}fNt&qPu+O?b*0)ONQJU22l zDI@Nadp_|#o_=%*ouu!t{Wt90b?JXX{WXmx9@@E|{_NQXolCdIH<7qW-w<3^(*_=@ z%J*j4ntsFlvL9qU|9pK+4ar`}x`+4YcXE8gx1S>4ye+z7{^~2T4jZ;l$9~V8^96LQ z?QcPU*q`O}6DohP1x`_hiV-Z`oo@-U$Pm;N;1zQVYG?;|!X%?hq* zM1O3n&Y|7F+!fFf+dqSjbyGRyr}EEf;Km1B7ZfK8pq`5ZP9bi}BHSm;8r~T7&^}=^ z`FHL=!!L&-pOyQ&K*wJ`8TzT)G|&%!=X)pBs^29p92IWIO8r$gH^bgglKFP#ZClh0 zxBtvfagz-+!GB}lCa6oowN21Z$u~qT>Bv_Ez(Wew!%f5FSg)L0B4J#0iEHcq3VYorw%fJ-NsYt<{VIT~=dk{0 zCmuy!nT8(*S2bP(eOKN>$gA-GOsJp6j5EN8tvZQ3vHs5ITQrS%AO3sKqNwMF^)~o# zJDvplP*N$xUuOFXu2TI2Ub%86_%G{v6kPK!$1Bw5Am{0pBH-3C^iy$YY@Fo3N%t1( zss1(dGtj#@))#fLb^Lx|hzt6PK`~g@^xsdyUY*D|gr_Z5OFD|eJm*KA$a<18vl8aD zE9))T8#?cU&N1r>_+wd-U=<>NXU*^cT&z$)C+WzP2hgt8KOS7!xg_GF-dO-Tw#td% z#=MPDpRGqWpd<%Wyxm9)*_w8p&Per~3s~&{^Ld_fS zf6JHi$SYka2rjS0I-mK%e{oVA%+)JFUpJfaPi;64^UE=f@1IqC;q}p`1>SJDn7T1G)U*je2M>RkJwu4-*(dJ>Pt8~a{S6$>2<~ggb$nLxMsQi9c<|sx*6rA~xxrm;_*|kl zhWU9r(>C-s*mM%?L(%tVrIoT_ykygFfSayyzN>0`bfPR$m%dyAS9hgO>o+$mOWav$ z5V+;+9r&qBK2}8HD*XuXpq=|JZ-pGlPxaeUGlj_i2ljE?^)+~%WpB6xT#VuR;{N+K z=AGBtZpa&{`;zrm_AD>_cMYxrds~;4 z@Y7Yk66Qrp(z=%)awm!G&ixEGR)t7)P@3FtybF*4XJos!R z{Io9T_4wpa5Ov-!u7G{;=^5zcddmE9A2_hJ1=$Cv;1Nd+3&H3eCdl2^FY*S$Gp2&S>_)j(CaCijleOH%5N7pHg z{u(B>19#-Xyp~z#-m8dymErvs{cy%Xe`S0YiTlPihrN2313GtCXKEsGSJv`#gve)j zC3S3vt*A?eExlmxx{dj6UA(tB>Y;lK&oTCHVjN!OZd+c`u@|W|SJKg*;&qn);#K6W zuiAO&giEt-hX;>EUbz5O{@c{g=+E^J&^PA04*%8Ji-YSnyaRW>cnv>;BfEf`p7MK&n1sVkCI4+r7-!|5 zTxV@JiZqb8sZc4{ThB0mglZEx?n|a1p58dtflEz!K9%$F9@s1PdC;yZ%=dyRQhS4Y z)Yrkyb9lehcfKjOZxHLY$5WH*QQ#@YMShKO)1EvOC;1~3#Q|ver-0Hw}knH!= zi_i%l;(70(>s*&TXL&A7;5XW9)~tcfqeKhh=BVmHyRtvH4jOvxgP-1gm%xKRm_KJW zJcU1sojuU5<^cEG`sqzj&vm>J zyzWR|+A~gS*YfquJR$O#{yS^Kh+gnt_JQ9!hbnTN{b1yNNf&a$-n5SO)8*cZeud`o zTp;y^&1l#Exoy0p?`}7S?e=DzUAvxRere4Uz#W~qzfB#){CDbWK|gSYdG1PShyI$| zHULlmow##@RwwC)u4V`KFXujL=U_`Si8~8c2X{uVFJ{FpMtmI8GlP5Y@q1)Nkte8= znuh)0Phb}3wX97m*qd&x1J~{1I&S}?YMi969~4?3L_X8Mzi`}dhq~t}dNoPnvbkIr z^y^+U6(j#tR(J(2cI155yy5qHz8w~DUtQJ>_x0we1ImiI$Y=AqU_k!qsE6KI5!^n6 z;~wf=nR%G~F1SB$PnXo5Hjf|kU3sVnxMwBT3yVP^aUd^rY@r$GuXQ8$74}9Iz)k;~32s~NroF8&;_0cr2|CtXy}>ONGa;`6jo!lE z{i_RHcie*gqY(1*9v%i4YNdjUHRr)zy^iPJn2gM~OEur=Bps73`n}|F);&X8E&S1Jxd$EDCf3i) z<7;ER4)@y!?rln)_#ut3Ke47Pg#X5l8_;fM**xTfrJ5Vuet8^tN?JYSgKkMxbdpWlnbbpJ zFIJ^aS~Z?W?cB-tn1qtJAHMXR?>W+6YY6*bm-pzeGlK^C;}?d3TV&V3Me}3iiQ7FI z-0wdQ9`3OKanl#e`jd`&MBO;ae`m$B;HJ$JVDGs(J6_`Y2|DUeW?fS5Esy-ybu58? z3G1WvO1%L6wPhFrd!=RybPV>f@WmB#{6iMOe%##b)g>O> zQ5-zb-w&QtVqToY4a;R;1M66yKe*G7|Avk?z=H?4f9T+B zS5?w6|8p1IvFSDRFRh8;yvwo|^(~;^1zzsACaAaOnccxv7JOe2;|R<}K08K_fR1pK z^WDC)9P&T7(gAy4Rqnecuc?4>w~ZVCd-n+PN7V~L-}RF3dDNAkhj!gD<8+dru7~We z<{bB9$(Agr&%Qc*-&ru*bl6)b4-1`$*!w#E%Q`$X8C5$u0Xpc zf$_OkWj(ksewN$90lnfVcCU9uiL^8N$lc{&f9`jC4Hp?(H~Twi2r-bXSQyx&mL z*Te;&FFIPm-ndGslekU8=LZzW;=nbhr^ZR#Ich!q`Oq9(D6$vaqhy|>+owJr%Khrb z9wWs&z-r{t}6QvW{l!EmS&^u;PX_t@v=x@m}+)=cup zT;ldvA@Z4i{ZU`-)vXb@`2gSl>$YYXC+P%owEz!a z5HMb@*`>kN$K%1hFIU4KUE4d*ch09j{);=}#mL_~9lt=|QlK5|O|kb{OWc~jC)>Tz z1YBHn7Wu4{H5)HP{y!9bUx4Y;Hu!0qa2V}sqR+G0zpcW&F#gjB_JSh;I@W(`#EFr= zx7>OKu5UyC<=xAmU00)9;4&5My_psdh&q{sojn44Xyks!yx%t>x+|Sq4L!6y4J^HeqUwI1d&Om!*d>L?C%s%Lc zpRwK0Uj@-$^}IQ-Hx{7(OYHTrz8D*bxX-T}$U5dbM|)Yx20z)mF2o`ag_S*^Z~D6% z{Ioo60DXB){;tG)p7Yc)DHZzx%QqeDJrn7_tBJF^G>(BbEub$O#{JJ6$3x_a!Qv$y)9nUl-gAk&k6hB zim6h&&a@3PQMb(xKXF`M4u(JK+D@!f@;(cpBUWtFnCsagT)z$q@UM8A{w@>GnbTr=a zlZD8qX(sm%fs)_xyoYF82A=-DfG73tVBNHgEsODTHe|agHNPUSlnY)#KlHgj`t?Y0 zs+<_n6%M4(egN%vPM(1Abw9I1UuesEm8&D4Kha)21$%XK`kC_Z4d>V3^{}^HU>z3n zreeH=GKXQWG|WW1-`42ik1G1RMZGEoykJ}!+x=DxI=O&Q1c~cse1yJl3&-nQ77xZno$2XMJpSAtYRTUDZZ~*(zv5Ff>J{M=~$@=i&dE@euj_dI}_#c?h`BK_tD=TsB zhDvjU$fw|K5C1!F;O{2T2-!k?J z`l}H5d|+T1_5FSCHInRu36}W4sP#_b;0_!d}0E<14nwi+Qb%;rq~q8k`ro9Pi<$>F{Y>XZcGr z4h=SrLBFhB`1=t@;q{WfR+o0ZqNE>`Z->2k$vm{1lwl>}9Naqz`*T+^=hv{Myuac0 zj|De*ndgmaoP(d{O{2g)jk-g}QLF^!yDG~T@W3$c4=)YXVCzKj94xj4VlPSwY_ zcn56C&WoSCarEV#>G->3Ano|^Q8IN z-=MFUc#QG+oqnpWKPw~Yco$@XzHdQvKe?x0DT&L{`hmL-HATBgrS2o2?a%UqYiw=E z#gZ6z_u&t0H=g^J4@Kiq&lRqUuy?w-UMF@O6({MNvvIuS8s~$ zaqz%2?(@atNys1VxS>Dk%W4PFFK5P`;HpmCUn$1(JwD#K8KC3+%sOvsvIy}}>Dt3y zd91BVYAaUNEfOMn>0Es?Z=4wUx3BnDaNSqVyX3ng5PwC% zvWtbt|Eotbo`K}tI?3K!vKV;i5#ttoQ~~ob>^}w_&mP9vocb5yX01^d_V#?tLtT6q z#K)ZPJ^eX27X7ua+l4sT5A%HZP#?}aUsj%f>z`K+`+Rf9XRx=;&Co^iM^(-+PKbP3 zUtR#$M$gkW*mJ>N`1dBbKG%BK+duvbdwITV;2PgA36f6mzgTeb$Sd%jCrfpdxOQYR zxZ)h26L9Rw-c{nZPz`W*=S#2;8+qQ5Wp^sBPnDIQfQJ^F43fRK`*Yaq{<#mX@Rfs3 z=zx#*2X282iC1Co=`jWNX7>wlOV%aeVrLb3O~yg}AK&k3`&1qKZDaKPHBN8#PExzZ zMcK)Zr$NX4($i7mni_mA%TnS2xZ%)+&JwrYE06uZZ4&+0#~Prc{dxr4oys`a{VMqH zJy3@BnQuc!KRt>4`eiWM4NQ0n?x@PRi8YIZD|<6;!FvM`f3asWxMIr{>Kx|y%9ibb zzWEi$*Zl|MWB2;Nje8j%LCg3!PK_b2#rPN>vRzXzUY|Ocpja-#wu{@fY;#0 zKC@x3p3Udwoa_Du*G}d+HtJ4Rw5yoO`^NgfdDt5~!@>QlnYX&Hmw$@0e>U^nzy3SM zH(Vea>_Z(NL*H|M5$tt$-@zYu%hTYY{>zY8_7Xi{ubjeskS)9hZtUuy|F;FD>QvR^rP4v#MDd)Rw(G0uul z?3cejpNmr$W54`)K0-&x)gJy>Hk^ZwYz@x=bKadp9(x8{*s~Pz(InlX|HnD6ZRhfV zizoR$xX_vCxIC~U{^>k;!3Q0GX`X8&-`W>C>Xpprpt%U_UH{CPCiP1_*bDn`nd|V= z_Kok|lTBm4oW3WRr-61nC&6+29_($k_rv}}eZFVVvYz>A{(K&B7PAOeNnhrmy=NWY zcVM0>L%a4d^gle{3i>r!sf4|yYP7$Zc%F$hbM!oi!pG6BDaQ}YBjvM=bKX2|_E%Fr@&DNR@_3i7@9j`S46UdsHMA*8%rRBWhZ>@$n1hR$ zV{Fuvni|&>T*TN=C0Zg?G<;QKD5u7lqm)psRB5Azrlp!H^*iTTdwHAt-oMW0JomZJ zT6^ua*B(xC0)2hF1^DrU6o1EDdcT>iatGkLOO)rjZ$3u9I5U5N|EAjCp41DE_g|68b$>p)+tP?=KXGiJQUql>QDnq5Tx+$cz-!%wG-mN?^k48_BH^{?{75esLsS5-bX*mAODEBr7BY$PF5AaKmO-a z_`|;+Cx0^%^-y2(9&n3H^NxK|P57^O-UaTTL-Vryc^%RpIv03&G3AMCLh*BbkzNm42l<@9z49 z{8={-xIz4mgXznYs6YIBd7%mv&t!NQ^j&?8(3g^;j`g8=S$AbGbV6cYPW|kqI49Q; zF6L!9ItB5GtuFx`TUAz5E8O`agem#qlBXTu}%*0z`8<{Q}#`kpHkH+P$@@F&uh-q-5M zp!#np(*^B{^;$`OUZC;ls4L!&A@JZ8id*Oddf&D0=~nRLZK(c8x~0%D{ZtotSgh+@ zS@e5DhNJX3PiGU#ALDe2vvJrU;`91&{A$G07j8IP(kSN^m1#U`#*jbumk$Eh#mFDq zXXKA*>m}gsw&ah!GR0Xlq$lub_zvP0?oRDx9sM`d-r1q=5YK2nIzM#j&Vg^ePU|ky z?P1W7yOIB<$3LMTeJzO}%1`-h{h@=R3cn!^mgN(GOZ?vQ_hv!geflTh@uD>DJYHeLHyzHnK2Oj&2@-6Wdy$97}y$oE6Q#|E~Zp71Al0Khi)zkR$UaF6FCA{^(x7?$3 zoo;LtaR_Z#0z6uR)}QVz#}POG>NCLOzf*pCdeC}C|Ac0@2jTc?PKVVlXcL=z7In{s9 zckR$G&K3`W2dmJ$8UE9RevE#;2zazJ;nH`z5r6#`qFruUC-^!}rhd6w3jSDoiv4wu zR2tu#CFX@y^gC|$+#{fG5&Ihb(QWYGyD$Yjo}l`m*`tA<`pZf3vmfmXFrE> zeKE>^+xSZGQ+s3+bi7k3-+aajz|F7!3A+g$^}C^{C(W+@W6C#aNK4?lr>{cC?jn6T z@m`w$iPbdUrMA-dE-g|9_`$EmzNz9P=)_Bl-wzTxmgAy6H*Z7wk7SzH*5n1>x%jn( zYW=r=Me&h0(eIB$m%IVo@PzW&P>OyhC?4AlJSBc_&hz4~vp0qAq zkpbLR??>46o;XD99p4Rjs3hf&^0T?X&2iF6?WX;OF|`Qs44vsh{2k=K={o(shGyz< z;K}{uzxyw$4~!=cQU2H-?M59423@4HJOO`nCq`pj_}@MV+;fidXZFh4XqWz9@+U0z zr=FwV!ynDXxmjx5qH}28cNU}iDgSK-?#)kiBlK4>=vX&T0q!Y7>rZ*zEXou8Pr!q3 zQopCRH-tYSO>UeMy1J8}o+7(}>-T>QemqWfFWH#(YccVAbHPtZ-}wp67jEs_q`#B$ z+}&|4;%wCZNcd68L#ur;{B&Ks4&3}9Yzx@+Vbr6Y%6= z%JaC9)+eqp^m}uzi_|XXd|IFAU#f_6LZeupI9@$PansZLf_xKb9Qky#K4BgAS&BnN z1HI40Uhx|2diqm)U3F-E;%U1JxJ8@`#Rt5O_yqIM0`7Y%&gEv(I>a#j3UKK&YHz9- ztwW5Dw-8>F;u8(g@6b7>eFXnaBA<<~u0@`t9(@Ab|A5A$=^gQ&_Bjo3UTR){AN}HZ zOy65KrRcp($Q|W%AM>1D(AUb8|A}uZr}0hoXnZ9;{2I99 zI=#0lRf5KEDDnlym!`xc=%kiW-dgL@`>z~t)8`vCBWV1FT3<*1dh7fEzO^;2CwEmG zh;wy&wWC;{Xj^YVyHY2tcs?Rs9X3}TcZSzi0}ozm-a^gCL}3Ydvb6(vvJZV9KUh@{ z+`o1Va9h{T?NxrXLmOKEc<6loo59cOsd(@TJs)%zm<#?ldHU2*anJF3;LBG(1YU9M z;zs?7qr?&>r9o)C+_cDAvT)^)Z{0IJrPoD)p z`Q<#|L%yuoM%4+=r|08g_f+7HGLI35L|~*~@EBA&E`esVXRX61w;PH?008i%s3b^UnD8hTJ0j@oI9k_NlwJZMC@{Y3d|Mt?I zv5zoqBR}PHQ(-rB^B(xVs~%OStiRmf4OG6Z<2jmtFH^s4)D;2WUw$0$E9A+J0Wt^!Xq%mP0+ys@P6?LKN(tT{bzatz1=e_Y=WKzn5)<&U%UBKQ*-SPQtZ z8tI41A3^_y%F_D`rIv_;CK~Sx9ovmbIR7-R90|Mf&F_I*I?FhJ_VuRrKKbHHw98Vg zFZi+Vec(GsTxp~F>2Kc-eAfc<$9wT3=t!scO_r3un{!cKCFYhydxQ0E1GiNszV_fF z_;0Oo13J!et)b7KH`5o`1wMb?%=z#wjQ8j7E#H&^Ut6SLAJw1uVjs>?HHH5GZofGZ z{O7+@Ab!6fzRL;x`R@bvCLMh~(n;pMhxG~TB&&>}I>Wznv5ffk)zLPpUEkloVmwM^ zCc&<$R)bb5?k>0=xOEYY>x%o^AP=2?%s{)6d6$8o(RO${l^;8Lb&{l9lgl;$pB=9Q zomkiHzH+UcFA^$$6Mf@&OctQ~M zf#VkH^%nTfnsjdY{5-SaU%MNM|2{uY7QZi`pZNyb8_rGds|nR5ee09vz++!m&s5{a=YHYl>b z)d+vSt`onnYWkh<=j#peySJeyCg?n$r^N3^N6eKlj$(`H`+8Cfs&7qN-odz*UU-1# z9nQa;h?`;M_%^cA{?O+q(O&7na^R^A7tz1ga(@B$oLdjvetL6Pm9Oi$3HwCDamr7f z{tWQY-9ErwW7mMMZ9>0a8Cp6Cc;t7g^HSzQ@TF#715dn0^Na4gs@VUA+S2b!hK#7I zWo;(#9to10Cr9Lmq6bh^8okEqWP{#@3PQO?ac&k z`<8TqizkEceLVy`B~u;tzE{f#1AMpX+d)*$ckz7YlHMHc0tU^jaDo-q(fZow562mv!vB7Ct_x z*h>{Si}}L$a1V6;nE6wES;3==?;%gD&uG5>BknP)c+zi19n;mMe2Xm(byRWZy7`zF zqNO`PCpC2;=IiiZ`%%v$@ALp3D(h^c^0U`@V{`icoh$c1=-7JMz}Iabi#is1`U>e+ zY6e`MLbz#bdDIPEY%_4_z1dhtd6E&}uFBM3+HQk^yC=@Xx+~OqE$P26bx{2=j#_~A zr)GNNG~9OSVvhKJe-W>w{NMl2ua_h4Zt;E^?#QTuxXJ#{p&z=~hT1jkYxv_ikR-d0 zslCki9I!%%`HY7HqtozcwQ8MY#XWm;GU=b~2z|z%+ZDL9Xczd>7iFR29NHy~|J-gi zo#%E1?kTnvI?**#$e;G4!?=HE|1{k2pjT(rPwn)Ez-@m}o}?z!2VU{(m&l(R-Qf@G zBt567T|!^;(>Cy*%qly*3Klb^w0Z`3jAMkV0ky0pGx{`3A7{OUc%klk@@sa+$;Zt;#j z;QEIXfrs`FfQjZub?#UfAG_JlIp|FCim0y?SqMLUj7y4JAAlVR<$Hj~XH5g2ao6DA({Qb;FLbznBb8~M z3h%3hdCIY{9NHDXPV<^~$J;muh_oYr^rsF&-&JoV_U{%w)rUlJ+UGLgSo$&SGG88W z4R)O;TS7nbI?bng(O!KQ;>SgMV}HI2e>zN|I%%Cn^SFE8MBv80zd%3yDdF+^N$mIK z(uJV!ExwKXob(v{yAwz!99s%JWo-<;#!L0nTH#~hrpztf)o~qaPx`42v~Dq9rQcoE z&U^#qye8V^ zo=3mmZGKF7ZaumleCyyA$SZ9rH+14g+81Yidjav(oTTw+*+}OAnzb3-)qZimvI6{I ziB%NOZrzZFmOIp6e$6J}shM@4Z=Or-vgVryT;F&Ybc~y5{z|PO9lgj~L#`0?Id4<7 zH$Xr30r~G~@F{eHJx8@s{Ykxj%+amSv5w?v1+J!GHG$l%E^tY9+P3#zHqJ{#fG@vJ z>!lSN_JD87(<)6Tm3skj?}8P;9hsz~*+%EyAJ!9V6h z$M(kNG#y9NMRim^ZBJ$Z_dja|9rj1FzGs?0t}CxMQ~Cazw0`6EIv3u>`CC0#QSe=& ze^cX&fiLx|pQhvQ{$&$Y$KpSd7N5eaK7>waAkDL`V-!#8r~RL)>witpFQDVAB*9P9 zFXl%o9`7+1I(;O=-+sdzV|I{I+NC}L)OpURQZv+v~J|MRctUBxb)lC z(Bb|Kot#-!!lc#B4>1gv0jYnS3 zi*c%Le;ai;d%bluruT-)6{tS&KE?IzT<{~cGvL4R)%J-0bAGv*z?skUk+(6eTR5Iv z_l&O@(%Q@ZWUnXAPfE2{`_ZGD1HSV;nlG6Dd|xBl#q*0je-rR|eqnzMydLKHC|9XA zs=mB^75K3kw0}<;bruyje>tD*KB4&QkJUt;WUp7T<@7$K=lt#La2$55A_)M(is++s6U7zR(MJhqePPD&N2PAaKV|1A&Ly&A@&w zx#Jda!&kJg@ov6B`@uCd?qY4nf^Sc)gMO@32l%7CK>I1)R~p9Ax+^61gXSsIzz=sw zk^W)Y-^H%H++Ou3ezYQVTwAG5p8n@-8x>dHrwhKN!#LPAdM80AvH37?c>?W6Y=!-Z zXLt+kn{59ao zLVc*cR?^WAUW|FiIfV92nm}*xEmf*wziIolD)^DX6z6DfBXpkQBS^>nbaH#Oy{RlC z_)>Y&F>KplQStCb9r<&_2YqY9-_TzFvl^uDp9p+KW@)TTlcNg)PY$7VU@QG3;FgWQ zp}o=qdd_ll zSLhr`yP_l3IkQ)kf?a*R?cm#*bwj(%m8h*qi}xUL5Lah#$0W?Qiic*R|BgCD+2byfS;eBk;SJ;1M? zFE80WuoZaX9KG*_&zYJ~rT_-=Ib^8?>N80PVfp<6f&@SUcYFDTs<%6pZorfDI(Yivi9Rol7o*Q{(%`({yY_a4UH_Ah!1oL_G&+Roo%3#+C_O4wSP+I^Z6$O_dTTf-SS#)toLlo z<^k9DqxFfiQyHwgOrv%J_lWP$T3XQe;-h!B1GkK(b%nI3Z9~}o>s{c659l0z_ThW= zRNU$e0@r4Cg8yX;HbY(Y4xbC$e4oa3Y|)f9DqsGJ&Uu0rJAz++%wKq3X}?P6!^Y|4 z=iUpZ`YK=dkk*rIH}nDN_`AEIZ#gjlI)^hS*HQWU0<^EOSTljUTh+!o+4YRhT@$a6 zex!+~vC4P6yZ}0$S7^PFocA%}V?AUCZhE&ZbmYGaU|u$#?V5(q-WYD9>V%5Xxw>?d z=3ndJZa8m`<)U?h%|`WP(XY8`tNdh~&QYDu$nO4RSM- zs^Xz}ebex3qx-%Nenr}MN2>P&|MB?=frL ziQ-WC40IgH<-k+PDXa z`C(Uo>Pz6E22Y5e8V$a&CFy7q&9SeK52AXKD0~6@pT8JWOZ8vBfc7Kd*QWqCd|43t zMDH=;Tg7`G`WMcurt%|$T0)VVX~k~aU!!b{B*oR{Z;s{ z0jNK&$<={}-roYd_QkRGs(!HdGw3Hv(DSS#lXHV_n@jVB?%M<4KWTaw{bKv(4*1b9 zohN%I((eezbW4Cs$M%3P_pw4hdA1Skdh)FV{zAL)c-|M<{04BjFU@PN-xk1b^kzrs z#LCmU$XtCr#*w_7&SRaE{|6mUw|nRp>&e#OYnz=09^Nzq<04#g1n|(l5b&5|A&sv} zwC|I5Q$HH!cgOl9k@YtCj?6{iSC7*BWSsrF0Qc1&54^1M`Y$zZ`hBEtaGe5f({)F? z5{0^h&+oONug{kIL;ECR}4vBRzqOO{Ub^{)+Hy=97ABRx)g6%pXKH-UDfP0s| z1s%_$DEKMe$H0?!QyACo{kg%9{<{gdv2+8}vE(YM^P&4xpIyqdtNQP_N&XnNiu%y! z{WdCYdVeVNjT@+*@Oj$v=Y3*7%lr4|=f(mres&(!+nOcekG~exhYsDEpkFLMyb3(I zkk)~GZV=9D44lsmva;gPc`}R6Ik~<`s}G}HiPy}eUwJ6nyY{;Q=-<$Cj5+)q5Pb( z^mug@w=dfToX-{AFTK-R#kGgcz)kJj!=JG8lQt?Ia-2`YPba&#QgQcBw9auICH-j) z@6=Oq?~E+?!}#6Ny&J1|;^lYJ@!wm&rQ+_?mudL^;e{Hhxa*VaX}I>^a=_&`K25_< z&;JDeTbe%r?(E$c{_C1odt249Pc$x7uc_tKt|uqDw^i>Gudh$ji9XG0r{dmRv(nld zy|AW}iU;f00YA2n#!FJ)t(%G)uhdM#3;t z_EvFyol^oA`PN`ae-%%Dv<3Pa4b^|go=F)h9$WQVy4_Wl!7A>*d^L^l>Abm@ip$kj zr`ffg>M%sbL-R9$v%bCIxKS$ZnoZ{?jBEaJI91%S^n*10)5mIzQ}OV|+=v_VBgr-s zRNPwj$25G~$`U3O_dlY2I_GUh{eSAJcyiWZ=yU$8{`Rl>Djxrf)^*I^_~s}p@ZELb zKlg9M`6$1N`+pSkqc}fztoXICil-ia1%EjI*KU~6Ma4D8HUQV=AB_CzaOY4l6*upu z=Z0)o^J;-ln=AMc2R&zGT)XL0^t(Ke@}Kj>HM~|2RVQ|g&QBPZZdU{@_rFE{h`iD* z|Jl6;`ZRcG(0))D)Pr(X&~bETz|wzz;$H~r0Kg}dvB1c6E1!N zI^18$Z~Fk(j+m8(YeHJ&iDm@tXPNIDHe{%(<9&_R|BT;1*vX*ct*+Dhna}z2>}pX> z#q~SifIpfCw7)i6@{Lq+?@wO%&pMhvUTFsWBU)#g+W&}tS+D&F_04yY>&*ASQ!jQH zuJYyK%8Of-E9=C2j0f(ycPkCoH1CHz_ZG~RhIhBm=%D_;Zv~wjTW8X~$zJHxSQU5N zc`=P|KJ0G~yanwmWBYEwAIH*181JTMRDT?Q{tVocFT<(w^<(Z+95icz$Chu0-PCOj z;-Jk>>*SQqk35kcwiEqJ`hLsofvS%A1)5JanzPW+Z?+;&OkY%jpN>DNo_O7hQ8!$t zX#W-4N9)7nnbpX*{p;!6lKqc`SK3v5d$FHHzmR_F?J(++?a}{)K0S|1ZF>zmE{UE) zv5vKKKKO6#I8N{>4&iGjQ9nc9R|9UJPy1iX|K5Rq@aGTH`0~mo<5hpUpC2Opp?X;T z!=-~%+##1-rd~M?qfclNAK#?!pra9Sj@UaRpZ(R#r{ShX0|%)8uRS(d*rm8Rmo$W3 zX`M#&7ul7c%|~9vL-~Xb#V6c<0PMyhw4P+Up4S=zq~*maNcr}c}q=kL(hpBkNp>#DyDJgBQ6aLPBS!wVR{)(h{X=i!4B z(3djl{E+R2%1oK8`tPVg>jxfR&hm3GjCteWN&A zAIx{E{^)mfP3sqF*>S|d@@18@yqY$3);N`4?@mPcNjm2J72Z+tQP;uMOv@c_RYH-<}D(={!P2*d??GBybm=^G#$MvBSMXRcO zsWqKr$Zcu;Z~M19)v;By9!o8!x}B=(E~4^d-_W^P=uQUeRmFKTu<4|Wx1+Z% z!1~knZVlk>)3hIK;%tF+qh-uB;Ji*SZx3`-^-~*n0FQR2`e_@n9`(oc;xE9Z9kl;V zm3XPI%D2vT0*~#R34hEdr(oWUou%=`b@Jkd^H@)sn(hJLQiArmk=7Tws5-WS`-NRv zKZNf@soo}dJx2Lyd2|xqSjF#| zranFj{m7g!_&onM`EhVpRo`=|E^y0m+L!s7{f741cK#vqmd2f@cLwZAn>GRGd2m|G zjfk7SO@H8A|J@(!QHO222M9jRFV22i@WW3l2z~_q`{q1G-g-a03;(4ZYk>Q^6vq6b zUqk(FZaodSz5Wi;DRcvTbL;KE_uk!6S#6iMcLv%O6W_PW^Ghj7#WnTI0#6O2^P+O! z4sW31_IB-nN2^ghQ)3$dk6t!FKeTo$^lxk)R!imUtI>J5KTiAWvYKN?75D9@^?;#m zH}LOGu8e(?yL~n2B$tu?nhER5t9<7x)nS))x?ikNQpICmWrA;SI|w?Zr!1+d;<`q3 zo{)Og1H8+DNp)4+ccl;bJbrgQO=10((4K(4?bW&9$3Kevt*(1buZic#!p}GA`kSgc z@oM+Lcb&0;zouUy><7cCFMwN@4FkUW#~zhbzJJ6C*wx*o{nSQFRrE{b*1Ozw=7Uy{X>QfUI0S#rCw4l&k&ir{H`0UJA&{y)|WDOdT!)-S79-6)vJE~7XewhI$vJeTvD#AliYA5AS?IRyuTse*dI-cUBDef>mvU0lS8np zmu>-XHN=ekVIAr6ao|$dgK2Trc&`KZ6lnI6q*44`)&n~J?&SZGwqp$c*+z5mVvpY3Xgp9{#!--|DAW|EXE`xy@Z9*~uLZK_~xNx3p^ zDe`kbR)*V_mkwc`WnA_@RB=tqr3I==%GLBi$MWhmn)_5hR<2n`|3aNHT-&f%Qtst0 zcLK6%7- zGv5%~3HREB;Jt*X)Y>kPqPsH5W>XuCY;3_^&VW40Y8s(FMM( z6yYHehuDgti&Q?xf!k#s`eK%fbGsP#gnwG_Up(5R0Ons;Sc|yn@0RTn6XU+3J1|Hd+9tYpfVQGBs-(W2>aBdglzMYrmsQQevpRObQ zfM@s9(z{rWxZ!?e_J94r zH?F!Lkd><>`Y~4YOTtAzhVG5P_=?8F@0o6*ethnK+l=Xw^8f6AVKFW&y~o3!aJF#~ zSyN})fBCFqxUZf1UtHgNKkBf3;x(L0CFf8b@K2@jB@M8?tMW}^e61MkLcVc*NbJ(7 zd8qsN(pZDaa~oHeQ?H@>1(2Wd0bjnY-dlP<7^hzCl|B#1%60$gD8^B!WtH)ga<5%{ zIUp-n#|*M-xwh0PDfb3pm+?fQ$M5_XcMc_eC7(yDxFqzQJE#uWJFXt7;&Dkre(aYm0a>{^t8Q&4DObz2qUayXQu04l?Ev_)zZT-Bt4#4s z9Ig*sS0~a){Xf<>btiwq74BnxW1MxYy}Q9L)?vKWwWU^7hjDp7#o6{^RxcHgS0KB_ zji10zKk%(3KcnY%!ym@2Rf!*T#M-L=Zz}w(kb2b^_5@`0T5Kl9QRvy87bWGE z>#Do!5$JnDN8V8J#O*HvvT~IMj7442O?|DHq}&?{(zq)=?F!=JSh%yiiaXmy0ljBB%u&a6ltJR>_#1!ScknD1`!40v`O~4^P=Ma+#W?H4R(#>gNymLaO4DJ!bfeRPocNx`^m_r> z_4SkUr15#3?5+O=@a+A`DXO2$e|UuUajDFj^Hn_i zdNomq-dB@7p1Q|%a6U?)`K4*To!aDfL ze8#=X7cNx0jN8RNG+y+tNjdpr7`GXD!hF`zO`ZU|*>Oil`n_Goc^&R)JP7){4rd+n z(0hnK^BH%x-I}J)I_9Bga6Xe=$8}_Sjyn2rrP6e`-(79XrmaKRZrFbvIQzqP1J7pH`}#bJ3lw4ID6~U?@+T2+x3J$!M=vuYZL3A zNU82=cG-X4SF(<7cSWq5oy8u)uJrSzfa(wPEdw-Z?e+aw5`0_JZ_r=CR1AE7e_D4X z3atU|5bG}1vG)E1`fQi+q-Rtb&f}MH9>2WLGLEVWecorWPAc=I9Ca9H9nIWZsJGfK zH?c0&wo0EboNcp!v!5L2M4>6z$8nt5pV*3(=y&#q@q~wdmoPhSOpHQ*Wyj-1FGD{& zp2}M;N8CJg8}_Zt585gIt}s2PV%#~HaNpJw*l$`zzwka$8W0^TDgDj+MBZ=SEYt^l zDI4FnGcYD6zWab3I?VTp^BJy_9DlZJ>D_HqPCDVh-O(zZU5D!)>##o8AI4cfxV6g2 zob;7CJR&E3t~1$n6j#819v`vqR?dGMst)hFLp^DKo%n3)Fcmkg_$(kRSKeQ1A7>7g zlzZMs$7|94UGx30;VK>z``>U=>aXaRgj>b_*I8_1JC&zD^apgjt7#va_=EPLsr7{0 zs(c=h6`pY&?OT=eAMjXKQP+)awNpsn>YLL>)m8RWgVd{b>Y;$FTv>u~?F zj(tQ)@XZe>ZO6<0^7{#pkM zf3{zO|ITv~#;JED^$Y889muZ3b%S-}x>@kY9_@v?VeUx&u-#PN>A;!KIM*@8*{`HxG|s4A(&ah@L;=Y12ePdKkQ-*~;mIIjnIUe1p5x*|Ky>z3>|ucH`GJ)m}J#ro4C+QoKx zy~ljZUEZz ze15*e{O%L!e890vgZ-vEOyh<9=jTn#XPnO)8Rxv^{X5$=UMfcQ|3Tg?wZHUox;{UL zVx4+o-|eg48vA$NcXQnMoP_lm=ko-{?PI5*e!3&WU{~HtcG*up_h3HbeBP2B=W`y$ z*)E?WG0r-Cj>NeBHs|xHMgPrP*5UK3?0j3dk~sh2_^^($o=n48htJ1Yhx<$aa1PFe zScmz1&X%3;I9VF!W7+w9UYDKE=X=a&yL?WV9q02##@Qb}pJaW;`J9t+*5`B7>^gjo znw`(*wAuN5uFHJ3%jd({aXx2eoc-Z*>FoM^j-8#)=ib@*d`_O7Z@bieR!;fD=k3hr zJmKf#te+Hhm7gy&9nE8zJb798$`Etx7L5H6&Ge5HCk2#W}%Y4T9xk+}MpYvwN`8hA+h8V5WLV>c- z4|k?@(cLenHBjxDj>;9)tMA`jn`Pzd{B%_f_1-;r8}MMb2ymTyd{f}<2h~xprXK$U zWaV0Rb-1>qT;o5!R8zg`7v%xJRi8F*0>5*xoO<BdKu)vN1RJRmFA*hX3x`4*3`Ny@!@ zz}|qYT!X!XSm#*YUC>KX?vqn@2V~`HU-vq2L*!^TNx4s2iOJyLkpWyRA0pB?M4)E$*Z{m5bQA_@uHdThcDc8oXlH!MZ z8ri+JZ4vPByvEe;J!szC-|ctUH8(4Z=e$AhS?IfJPeg;u6f){M?5> zw-eh~0d{+yn@kDhSxIX&h_szlQG=93hE-_G5clJfr?|2#kZ z0{!I6;`hA1A${hXZ_LP%?`>HR`X0e|=cmufB$ieJ-%*d+%lf8wp8(I!_k4XH&l8y+ zyYvuobDUfQzH8{QfUHr@=R`eE=3N9n`)?@T1AP6Imf#!TCja?!JO0~w!ROEIFhBfh z!8AVWTL#E(NwJq*-*)92=&(NX`SU-_4__gFj34&~-_wTt(blGOSAUaI(AQj}_%J_m z{`DOBp4b7b)3WoOxqgKX>+|QA%ncS}9mtbZ?f)!| zZ*R5hEtSW(y&lciLt5TJd&Ac{fu9oXdiehTz-K(%g!sFJUEQosX?CB8dgb34K)bkJ z@qRG$rx(xBct6Pec+m!Fd~<~2X1O*K^^@afn0gC-hC-RJ>xxnw+^2~j4xGkwG3Kur zdk6jN7yCZrhqnT<(*A40Pvx9ynxx#bpWH9jOBG?4^DuUU_IfUMk~7XB;y+%*4# zuhKl_eq|e;yE()>b$2H9Z)BJmI+Cd89Dn8Wd+>+j!2Sno+0y*qZzui8H($(`6h9;} zzp##6?mYOc!+b~X8EJgh4^{aGILC+mmt9TM{I7SA@=$jyg8b1oqdeqxG0yGsU!?k@ zJdc1sTz^={`bO^@br@%zj4>3q)ZX*(Q*-WYKvvrAD|i^|+xTJ|&HH~m0nU8iudCDe zp7TYKx61pPfF}o$|E3k~XucM>=>h3GdV5<+ik(!G4af)G=fu}vp>`?jQsCUK(7P+B zUL6=p{$w74KdkTDoC|hYpZ#H+{bAgEnSQ^3an@m+b=-Gp-1#p~!1F+t7(W8snW)cEn|ex2>! zMVy2Fiil54LvhxRegNG6PZ98C`$@!&`IhKi;LP`E^U}Ff#d_rD;S=B|=F&W6o4sSQ zYBxMT3Y_(&YO%R0&ics?6bJ2wxzP8BddvEWSx4}^G9~o=3x)oT7SQ(zeO{M3=eeNI z>r&PaMLVVGhg}(HFF$v7Pog-Oqo;uTGK;}(V)z;O?_N!I6V2(lvsu_>9o<{|VV8C4 zZJ>5Z>ob7cMgKA$KU*;kFFt5J?COdQ#Pe2Xfm5&>dPI4yKUWHQraNiR*@uj-3 z8~cLtq_|59oIh`zc$L=YkF4z z#E*CXajdFu5d0@?$!?RW#7{*;o-CmCga1z}p4Y_QBpvq)v_4^6C;YSvzG2rm=x66M z&ir`4KM_ym^T}gWe~g2u-!0;~RYGSNrQ-bD$~HiYx@UBTMyj|)PyV=K&7s4%dkgt5 z9ih)rSj9MX{Z0Eyex9YA+mBFn_<2_7TnY4xdv_a$il_1rKlZ(+jd~wB{>?D;Y8!GW zAS+k>amriGlu_VE#6BXn`9t{Qoz#D*r0|S)D9@wqUxt3@nq#<%Tgs8Xf7>76%d1)f zk4&IA1mhXuyz$ja65;ve8UEB)PHQtpj+sULNXIss?9y1v%}vhsJ+)|ZIi zV$UE+xi_DpIIs@;&pO&7N5SXzS~d&*m60vg|2N$*4py&*M&AcyRI*2S24F{rFkRLra|M zxk=>V#d-BwN{XIwSr+oj?Yj|>mHWt+@~~@p@hb8mHuo0r37guqlr&0Rcu0AxYfF3{ z7onQxkq+mfJQy!p%N^)2Ke%HF#uxLo`-j7SeqL-C_Z{&^t%Q#8`mf+e zXZ!)2`8-aUf5dwh{)Zh4M@t$dKbup0lEc~nk2O1m@$Q&?4?4PEioveESZ>sf&=Rtn z_?d97SB&%bKDe&(_dc4$KW(bobJu9*RIjcccLTC=b$&-WrX@1!n8r)`6+fan8F`uN zt=>#|Snmbmhgwiw4GDg{(Np-z^M(5^<#UFSQb#+c)ei}`$Wchox}Kw<+)m_ z_U!X)@JBa;bRu&bQM<&t%jYD2d@oKy9O8uwV*L~CO5=$6ysl$@*{_Q(zWw9UO{Y6yl zvv{9k7CO8yOJ&pH{RQi6^|x-R`e%gf`sW|+!OdYjA{d?>Us!NO~w$Se{ zGhVjzRq%PAXf+dGzu-6Ir|rcn(AO8B@u(5|`se$yE>s^Z#V52>?dg|yCcEzw-(YBs z{^I?tuQlaW=)P85;SWF8wk{+8*&jZqVt*bAK7a1rBKUkR#OF(VE>!OaY8RhtS*w$u zzGL*cYs&x$euhMzoDNa{^7jJdRTLlA;q$cYI>B15G#&Fqsxy2}?pRDZ#oJSR`P_{C zXFh+Qg8AC1RNwfV&^?g+FDrETypeSZ7oqXR=kT_&r2=4MO_s*pSxzq`TUmgdK;(?@cD3D)PZZmGm$^?-jy>|f9&u79FUc(t4lc= zkK$Z9v4`wtlnEhE_&nUwlH$NPpQ~rb`Fx)7;vI@Whrg$9SxfN=y%z?~&kH=F9y+#^ zqWl!k7d&FTTSY$e^9au8SN@FVU$c0AZT^tjYrS0i>nR{}zyytA9Z6dXjRDEv5G;7*Cbjtm5+Cs?Am0shx&= z*Oh!2kk$Lq)mlo*HTv4k4E36L;fH{%T&p|JBX03_U3*E&y;i*c;cinIb|b;5eN;R$ zHyMzXYuO7=fLo0vfTyl}3w-Mf)u0nJ7;TcmOMXZ3pD_0o^sh8_R1X!8Pa^*x{yYqP z!;4G0skm+(#bI{S>MhlK_uQ4h6R+P4$jbffR*%8=9Q~}Tq}-b}&^SH)YFWyk{jIvF zxWCh{0a>|f&+Tg|DOa!5v7>s`O(B2c&nQ15fzEAJ++(GDvmPCexcMC$v48cqd=QY8 zzi-Xji}uEUEMSq8drf6puWEn4)rF#;PmHP>O^1&b5JEuBH%Dv+j`D1Ka zp_zJb8#lzNUM=sY09n>fgCO@Hp~@>(0gh ziFqN9_@2IY`gxCv^SI{mZoQNz4L1vZXzQMZ|K;1N()$@K;`3U1@x6Y2ZsiOY!hFQf zt+Z_xqkom}Wuv}nT2udWJ+XD$4csZ}3G*3ezES8XpJzaO8Be+9qhGYjo19cXE$gXY zm~W5%m8s&)*StskU@d(bzxV_lbac;7LEqfx&w#A_8|xUx4NtSn@$`m^0q1x|XO2TY zgjbEsl$8IE&!)V+IOzlE`>z}XZdrXRAZwJmAo#XpbuuO8p84?!N5D_am+FN`N z;hKkYfU`d9D4%nK|BSB{{7{8X;Com{_?hrDPUAOuCkVSz^f#<;t*_8I$=ZCofNQpG z0UohF3do9oQK9c@n*rP{^tBC7BCi-vZ2KF0U;k8dN%_C{u-xEF_b7i-m8ouc#OLb_ zqHe_a`;vvOPE-Gn`$Z%C*G->^cyfEQiXFxH;^(#r|IL7`{GYWR`D4FU6nxEg@+TqU zY!f)^7)9Rl^IXnbdD{lWf%l=wqPL(Q6*~ULAHz@9xhbCK^7C1Pc%JL}qd(0HVxMSV zPIbV|d3)p|)K$*g?jjDnzmD)exBeotq_i*jXBpUyxBnUbus-i+S>G=7^$&;UsPC^8 zajAN&zx68Z`@*-{V&7-YM|CeH{IT{vJYVH=zwq~4ZQX{Y;qF^I5I4)Xh1eIHTT;DR zEA&&XVpCKd)(>B_VIGeas1LsB#It~`{9PydJzlgFaE@~%b3FK-B^99Kbr9d#;x_Uv z{JjpiEZ>HX^MiG@Bt`G}_gGy<)B&x~cel6>|5;zh<9Fying>OGGGF^Crjv?26)lG zjB7dH#JZjJ88_Td;5>?PbMXR*rza%7uPW+4uPb6J-T?o3J_x(^j_(0~9#3O4^q2Gk zeg8B%=-+^>IBl&q730Ewh0d9+1!=vscHJ1Pf8>H^v2KZ+!TWYJ4~4#VdW$rD#`TkL zg3ort$H}hi_tldm#h!B@*^Rd)yN>$w+|W~i>~gz22fS(PCDvCyhnc3&xa{wohNlj^ z)Kay_&nxwvehJ9Ree%`MXk3iEgXe&@o-{6)AN%o>@sh%0e$-5SW0c-67wkd&i`E;6 z8$W0C|3-B$+=}>`x`m-{7kv5XK=An-*#3mtd-F##aNF=lS?}`Q+c6+4&c#O{t3v+{l<5x4x1X%`Lp{2^2b-96Zp}gDW|0HVx@?`wM!QC zjqehk8cq79Z+9S1>{Z?b-}H>$%e40GNx+>;QaBH{n&Sak(R0pS4IOWZ(!jNKX#UcF zK)B_4qp_00^VTL@*Qh1h>u5H0l!}MW-wVjfmGQ*;eMU>lJ>xd<93f~p37nrJ_}<&s zQ03WnRvW2aUBBc*J;`{b1GOu*a)gSTp8OV&mFupIpMbl@EFLB)_m(ilzn-$ZSMPOY z_Bhn5p%kriOfzd^-yyBiO;T}FhsOa~xnAq|J^1?D+lETYy>x?gvhvV+&#>?{=tmZc z_0pQE;9Ji%1>YPdTz8{6>5Q2R6Nyz#*6Fwl@$M3T?eYT zs|Lk0c)JGb!^H`0?J90*PdcF;{lT}iIND#uJ^4r{cB~Hg+U=)-I~x(-S?W{bAHUd1 zI1~z{oo1mFf@eXTG_wI1@?}^J~S9?1PI+5z-(J!vPq+?k9A^JDcCJ*?|+_bOM_dNxE{Lw1PpU?je z$ckR<^8;^6$~A1Mfqe5ywC~gHv15Gkb1u7)_P?5+SE7CDt2+F> zq10{qoPR7U1^-=5={cA0GL5^9)>de5u>70If9I8wXfNC4alv-G7d`_&HP2>`QSIpF zlb`n9Gtgdr&*3yqqtw6g46-YY-GXsyj*(s0gck5q-u(o8<3D*}*Kkz=9=baQ^+9?{ zxOozlZrQ#D+zBHTk zU1B}S^`GZo#(6$socFUlpYnc|`8+=|f7if*@ROehd50B1du^h>`1^OoAlPdQ&k<`7#c^3UVoy$Y$bHStvhMlx!FI=nvD{!abntWX2v#k=Yxbi!+B-06QMepsAWFyFmpApF$LJ3d3T8~uQECYl0b@3-9l^U7^z> zVb@#Z^kPZTH6JIt(GtCZ%i`SLx0U=)h|llwK9u7uP0EWraao^2$A9>rfUM}n1)ul7 z%nu8HoMIo%{y0QD`E%MFA5W+${Na7NV+i>Z75&2RZ{&V)3qGF%FkidmH2jQ|Dn3(E z{L>7ke%A<`&m|al2^~IXV4c)r((#06rRgLq(EgF%FUR}qQeP4&%HowKrOY^&YQF>zyovd@#+b23$5$-8((9B;pX=`CyJ32jgYR=jhrg zwbgs&{V>3jc`IN%cF3BCJolfx4BQ)|JW0JwdBW$?oF|cAYoOlhCU*xv@zu-F;dUho z6$H-yYlfBvKO<|tRkiOuMDy3i*@rRiLIW!G1OB!aI_7)tVZM&Ma<8X~`);KIvT}|0 zse(MQWp?Z%Dfi}l)V~`yj|HBL73!hlrrnf38^3)C`lfz)d#QM;E7j*~x2u`ed-Hu0 zaI1^XIen#nsjK4pMRjq$8X8yz{#0yI81d0Jia&%`hklf$kGiP*$UB5z%-0-z)3QFWYj~4zYmp6z zrzy`$*wrVg-?zHH0Uq!D6#RHa>KF6e{irj#w@=tqeS4gq7r5i+kq^eMLE!$!ucN)3 z=f0h7a6ZX-Zs;_lmiqs;s$Zjj&8;efe?;Vit3_w*A2}aR3p`eIUK%cma~OlhfcnYj zF#20m-<+?w)9PDj)JFL4KA@p|)6w^sVnSd4aOEu3FSZ-oSi8P@&+kz*E~52AT=2sc z`ls;=i+wkr({g)L{oTk1^Np7f2Vb1>f%(b_dnW9NeR^2zi*E<%xa(`LDcJ7CP*I$`?mGqoxX|Z@R3q zn`MnM9^SDae?oyLz{pJvrcKnpp(-DO&v9UWX!nvdzPHU3^kb?$ov+%S zl}3C0W8-MA@zeY7!=IE`XWAQ7R_|TkmIv;s*bw|{qW*it`+>P#tmD+apQfX)M)O57 z^9SU!PUMMq?nKztih0>JlI;4k1m152=2^SIXA8Trz};!8Uu@SoVl;GkU7=}AI`XF! zA4}sp&@qVou?fEI=Ux;a!4LgJzZc*a>zPUZa`M$ngP525k6z69d%uaDMs%DFUf zmsr}hIu9kiggUr1z(d7Itmj9)Ztx`~O7xhT5M~ zyM%tvel$*_wGvZRJszi9MV==My$wFcQ-5$I{0ViQ^B(M9qw)T42I***xYBgO$BrWZ zweOTC|8EyYe0ZGl`!v|kOfla5JLeK#jQ1=9<+Dk=N0Fbq?W$P`af{{t68&NrLUA*T zICvUoV*SthE}_rgL*e$8ZBP1!Ut7D>c6l1oycUsWpnv(?RW3yR>kvB6_ZPxXt`EF_ z;kfBUJR{{=kUydyO;f)?o$;KZ_Z)_IQaq*21*zXhFGQTBdgTzeU80@`tBj&~P1Jd< z(C7CGvfW3GyJH{Zxv&=e*aDh=&BhC`D}~QbQrm0XL3TZ#lHJg$GO%kFc2n;WKVFjF zPpAtKKTpfKln>&4`^G}Az)yYqhR}E9+dom&_id(e&3tQ*i}PSt@FS~EebEMzy8w?6EKgm|RahyK_A#7+0( zZ||z@H9sJKO#drYN4<}}`6c|(wV_}E*KPVtkwu`V^`>PzdB znY7LYWL zh!6AWgkBl9Yp8KFSI>oc&~myO@-0t4aSk@1#2EGOk~jxjG2jX6NnF%hV{bZFX(e#| zpth*Pj3;j$fnD>Z0;5zNT{Wt!6~B+e&(uj#XR6Tisl9_LLO-JwlwO1Vg0sWMNh)7cg816`*O8x*o@<7wcybqw zcmKf((6PPV!=d8tX@ncE(C3{j^9teIGAzbv^)Y?mkF`y2jHBoYii77+YxI{VqdN3$ z64gWFxov2#oct2`7JHNODmXL)I-XT|fd>zfP9oO|_-QQDXRzvzw2bDRki9na!?oWY zs^ZDHq@QtNJ@ln(lqadV!<2T|js5&40?#sP*kg5~CUIY9ICELQT z?ZfWCLz`(nt^R*(eS6@`)&Kv9%q?@DYjdA+nOjzFFYjDN%7l!>$Yn0olvqXPzT8?- zja18J7SdeOLVD%aP+D?XysIVEh+2gfs^2-!=Xvoz@Fd}eP0a81gPrg|oh-dy$4hcO+|~bOl4Gj+$1svJ znC;xQd3)-YELRQ?KlKFZ@1H$!YE#JzEZsuu?FOwC=~-^h39?%-@g?Oe_)kN^>wooi z1Ic%c=`m7xzn-ne?cx&~l}o$_^AmmRl6>#6U85x5d!P;R3tBvUhm1QCEgqF& zU+WEvnc;$~W%uQakdz%ls<0G$dS~)QkAu#f;}_H?Ji5f!MPXW$53~ zj`SaOtrnG6%EkSI^B}*!`**BlJv%OXT=FyJS`*(}{Y}Ed+Pl=B1j{g9X^oroG#stx zm3-d^T>pDa8bP@GrBT$s#kMi7w;EGH@@nTQ5Z~zF`mpcmSyZ3BhGWEcKg9h;vuXn= zUDt1~5Z^tS({(rZ5#KbS6Suoj%(s0qnegb;depA7;~B>|EBx-xlj*B*R;xepmWDEJ zJHq~o!`(Yle)m)yLh0tFOyvG&JGZZf>V6{3e{esM?ecjlcYI&A?`ltSR{mXz^hq_{ zLj9rbP1e89hcyYuyv|jR%WKxg=43bXqAbn#oHMxG18Tg^1{S^`^~HF-Mvad*=EG`y zO#k%==`Z$UFux|t-=g?8=I4r^Q+)XA^D4f$g^BdBciKzyN#|jSJhENmaqUW#uSp*(-h(!9 zz3MY`nMK+qSMnn1lPq&D+5dXrHtGjL>OIR_k?sF-HI|e6vhE`JJC~Bvb^-Indl0=h zfxrGWes49GJ4JlIvfH+o*$%;d%@<2Kex?7RQZ=dHFnpI;$ey+x_mKYX`?*|#n>tZF2~_%KuKb<$Q$B7jSeu70`(!h<7td?|67IUBk^YdA znDkg4zt6M}sa$+z#}e)@C?I|dRo}2K=U4S@(}coCQV-ngWEy@q@lTcXH;}k(PkEA~ zFCjVFzzWY1-@PRGuza4?nIErQiRy{Abnak@$4hfNDlFTN#?$EO!viHAKFaGkrg4L4 zd@+4EXNbg8s~X63wRTmSQM(SD9zeKjiCyCU4If-2eXt>%K+%#-5 zt^1|gcaeN?9dsA6gL{2b(%;d_L3ptIg5sKZ?wj;0;jU8;5T3C7UQ^=HKW7nc{IMtD zpDm75l(?zUYAC-@}(# zPvH-Cw$#frfYv?y@4dF1?4$Jv65oBQ8>PEf@o|5R;v4qPXjw)6KK-0Fq-^?5A=E?n`n#ajSH_YCka2 zO|Ko6?jqy_+x<98$_qWi<5%d@Oa+#)Z+qF<0-uqy&`jVH}eiz~1x;@Cw zwh3LUOWg4JKeX_1M5t?jJh)xxHtO@qIL*VqD*f&*1iJ%&=e6%rNdJdnmr+S1ZX0 zD!#GXNTZbRFfTT7)bK9fFJl_wB71gGa)JwAB7Gny)|KVhS2TW3%7YwF=eO(2 zxP2S@gF-)f*07k;^$(BHJRvub*KfQ1w}^0)nm+)y%>A0`t*yZQtdy7hiuvK#yO9NWP+hvj?T&eA*$@OZMIdla6sb2~~c z`H$X@(kuG2J{7pWX>D57k@CZpLSzTm6z(6)O1{N(PoDfON+0awg+9$z%%gERSC8k_ zzB6pkjsr)SNPn-D1aJtrHob2FK`K`UzLFop*xrOHErfqEhW_Kn?PRRHgt(Tgz zYCf~`cWRH}s^v&dZV!)B4X1Ud`WDWe<8RK=Arr$kG|HH-V@C$x&MhhRDsgfPJK%6 zp^gVRU)?_3MEq3e>$LtEyoK%K-k2&T#=7Hur*bZkqzDIJr z%NLQHXmOSk`tNhHL-zImDBZwiwnN~{0^)}!e8%s~^?5wnJ@S6 zoG-n}T{UEU;^%d|gjeQz;;7E+KgrwF`bl5b(>?rd;)fRurS*-FiTS24c)W|vsQSE= zqsBW!{KYzrWjs)a*IV58vmAfy+plH&wVXdk{af;lVPv1M`!vaS{d;kO{GIz9&X;Xq zBkFIxBc2~GaqnI(uV8~>glEe}$4Oj2!?@PqP;D6xhLRo`x+}5$jnxj!eD3`xg_n}@L#?sC7ODe_(r>z z`eE1j=~N$r{kb2|ui5{Ue1GJ^2$@c-$xz~_4y-fCxMTj~qh#o*@(AH3cU!s#-Fy8M z=@XyA^8FK!XiJzUCdya^_SjE#tlcTz{P9Io(*F89CzXhpAr0S8%>;vrX3| z?(o>DKBu1MetwDfEACHDUgUOtl=V!GI(kL&?fWWG|6`ssgwi#9c7^O_pUL-U<+k#; zqd!-Q?BI0qeO}q^j2jyLdPK^J^{7eXi}nN8PyNyI#|h7}e?O0j?Vw-%_AiP1+8rZ) zdKBAX&GY=8n|!wejgJZSo|`*Sqmm~0UUmK@@D{(H#>Vxae8sTN^9Q%z+6x+2mi)~4 zVKk4@)-yjhw>Yn^brkh?gV~!@m zY;{i8J$5qndzxBTv7~wasbB0#a$}N^)fWy@Tzn17MJM?xAaF6Sdq(O5+_s$Wukon+-3;p9`KY?@2KTbzo)^bod>_P(`}oxTCT@k_xG%2= ze&as7BKQsci{LlzWm7ovE53VD`$c|{?hX4Ck#pl7aD~GTxK{#p$l%@qWtnbagFSt9X=A#MR~fPWk1Zh zt?XYY_ta;ELx0@63i-Hq2KRpA{snCo%kfuaKS&8B2YlR53O??ezN9$?%ghmqn-dyYn`vz?j zORSUp>x&0dy+S*6PrDwGIL<-fygAMtIF+3AlLu%%06Fnz#&pue?{MxozV+XTF5<8= z?n8l{eTt8B#NgxJ&(M|=G;ZR)PT;<-E%R{5&z0;nPZQ}uK5)yV`FS|X7x&1ce1T)1 zGjNnI&MBZAfx|CQQ5^Tt1BZVG_*uevTgbtBKKO~A)2W`o&%eXO^#pkC!%o!y0I$+5 z*;VEr{+a?)zKQ4}4u4JX^ACSbz;Ryy@HyY}`7(>TS2wH9m-YFW&t(MFe#L+~*JBz{ zoa&XQ?lhWLSjTd`0&e~Impt68_}F)Pga5%*s)ufM&M0%sZB##p74m*jkMeJi{i6P6 zF3NBA&8^fA_}5*a{AM~bZoQ=&&)XG_@u(#VoyI@D9MMI5K>c|Inh3qW zubxHWUEJP{!#*yMarhfCPWvIEi@0spG^!7{hayv%>jQAyHvt^yk7sgO0@w27xcauC@yikJMDGQrpLaxbkq_MG0>57H+izF?sjxnL!#~yO zN>pC(W3MZ}WD^w*fAzq%;**&FVjX(F%kJXxML&l7@=z`&dt<8q@Rt}1{78C24(^MA z9Q`c&4Homy1)9hY{JI0jIVRxYmmeTIz~5J5FwZlA!=EQ`_zm;LjR7eie!~`hyOr_< zzuXq(x6QDV?PGso71`gR=40T)zjskS{H}u!f1&VC4u7GEpJr3K@Vl;Qs{d3t{G|g= zzMrA~$9LpavQO%D!#Z8$L)-c@^#jH~oP;Mn<^B!+F>vk@{xLQ#X(_Pyt3?WX)fY*@`c4FU>gwDj{B_{m zCG3`7!uwueH~4jge;D|w!~GQE9#1MS+)sgi4|32iVLpTVF)`1nGK=@mSSOrfyQ%#% z+tq%d8}?NDZ6>OH@~9`+Cy#T%up7<=!*0+Mc8e-IpgzD3Hg)b2e#USPF|PJ0`Sz91 z)6=B(T{v?C3CF$*i#or6a>4lpbB_0A;ky#{S#_(z-}RhRmytdF>boAw1^4=)T+m)@ zIESLvF;*_*eLilSe^L8~zYOx^DZKdW<;9~j@EtCTMMkmTC&d1t@E(Y}&Z%F?<` zR_(J2YrMV`>QI{2U9IXnqxnrqUQyPDRYX2DgJo`IkNk05Mr_}iZoLj;90{AJ#J!M7xl;Ykr_$h_I zzCeegG~a;VD&RQ(3mo=|HocGX1^WOO_tF1P+;eD09)81*fwD8|GjRCB0S>#tuMX_i zwu^_xNBH@%P2+iT6?M+*hMjRP>`?!v($4N3-D%wMRcTG-2*0nm_YHnu%k}?}<~i`Q z=M5G{bn$!m>&pi2o2`jB>~rkW<}Nbs`20=6Gsk|8=ptUC?G75>!#&?2JLJamydC+1 ze?{agt^Dud{T=@IdMx36k12J&4ChnYPUn7GGgzi+BE6{Ux7RCvI5~)L@Liie>MVKi z`)B?BYD5=tTOprU^88R^rY7PJTRE~1&e!8SDbCkt)%kkpiSzhIozM5-{R`*&%C%zu z9=@8l`J{YXYi>tvm7fZ%d%#ZxI z$^OpATM>Vr+COYp`+Tr}_@`IjqLb=asP;QSf251{j&xyv__u_fb~TQpyH8Y?!&v|3?`6}} z{*&OU5tJ|NKY6qB(fU#j`c>oLPL$uMpZg{B!|0b_H=H+w-Lmhn9TF4AQ+{EG>uNrr zO<)}3&ZyI+TFZ13@uzs)pH+|24J-flxJS>f{M-A^@%mCs@zE|q>YTL>IcmIcZ)JN% z+v<7t^s9T);Ride?nyVPd!GXxR*^oKZ)4sF9P>ugM7FM@?{^pamlCK?jnegb2vSf$A*4||#o~d0(`Wp)PyKuJHE~@{Y zO`C}CTz(7j{pCNV@h+qMdz)9Ejp*X{&_5ozKz!)0srw3XkAPR*SGdx>kLHunXByJ? z)6iy~Po~3l>HBH)b*|^hFn_moC_kS8b#C3E{CswNiSz5YbU81-v5}w9c$#?rC&E+b z%ai`NzZ-hO{u|rP>aK}=SQ}m=zV^YPh%Vy$ls|vq@aI2mY447jc%Df8NPLfz$MHaM zwwtcfbtt=O*_OY__GKlf0wv6U?itIkoUihSLg0Mg%!y@e)T@(ZhMX9 z^P$s|sXmxzaC^i)D@(rv)c@Srucg`-&bbtAU(t=FnXlxd|M8yLN%Ii&KR9m-zcDy( zi*}kRyMpG!s-0>p{+dJM8qVpMit)HsIALcaX}7FrJ*8`&$o&BPkiZW!-oM~~2KR}> z?+5&ZU|lGq&SeAFhI>hW;7;W?1M?90&Dc2AN#nSyHv9E;U1~)2B(Crqek2qQIhb!i z4)PTYJ(-s;^l$M7&y#(M+8^hd(Z5xzv%0>tPhte$D`BkAh4h&+hR^#8f3s8{d^rDJ z=Nqbrp_Y8lj;R{23l&yk|A*0P>_;*B`0o*2$n~EnL-WtLH9+6%!<#P=ZhPPhnkV~v z^SNVv2)B1b=r<}y&qMR*d#>?e3+aP<)7-D}{Xw`lEnMS2nxE)z^Eu+QmFGp?&HNqh zY}p~S|H`GlqeVya{YOSW`)Bj2`;QW3#?kyU^UXc9Z^w4}8tJLM7BXrgAAR2EeO%@O z9(TIE`*MAW2ST5deD}k=UvWsbPAiG)8)}doZ9^5(fAVi%P`<3K#}b}h*^qGm(E7Bm zBev%P;mJ+BKL`5zce@FP{@&5TVW^OAov?uR^JtCVi|8Vb`_!x%_IHQ-)T*?7qCgYR zeWkBWl%e+1$%rn(v^`7Z2>+1DhCC0cU6<#>jy-FMp9)kYJ?EI3wa~=x-18a}?wiqq zaNoflWh8DIaG3Dev;1CfEv}J#b7NKRkMO#B%00J@)fwN`Hq2;$IH-q`L~EJLib8OubMjiI^ps8)hOMD zS5`LB#Pis>`zFXRaGK{uu41JrU&b9-!lR#ZzAV4gqxp<$-7remd4>0-1QO3Qm%sPC z$LHeHBlw&Y%FBKKa!MEF<*8=wCHdl99^uYMcSLj%$31$uM+|n@*fK}?GJe>2oF;gt z0l!3a5o#@)wbMix4t_$ozJ>EO<&{;`&lr9zPVzJLno@r4T`!aUbC+&qIe&3IPc|t} z`@xL4xs+dfYhJfW?K@IW$~Qh#k>uE$a{qvQnJ;zs$mhsca2M}~3HVNomAF2d^A*#d zERgZkkQCv;$N9ZAbIV5R2a>m*Vf-NX1FqRonkSomKN6n4o4Mvk zo(DUOlFzlTN)v8!+cM=I7c&5lTY6~ z5Ya`LsFo%DDe|WdVt*>l|=pwYJ`|@JpUL!RbSNG)^_jV>Z zxe;#@u0PEEs&(9Ist@K@I+Om{q1^w(!;Ppt=IoUyUCUUuvm;rB@+JKH4VUtb&vJP| zPx~jWNIvw${eZZC5cdP(9>ZP79wz;9k0I^{1djUwk*-!)@sXR;g&lyy4v>%g3Lzim zBKEfom2yxn&d}T*GH#yqDdEQF_C$0MhkUV4<3E-v z2QOEDNQUtxTrS44^H_eu_^`yYQ(3-yXC1Pqa~1RL9a)ZE?qYYz3zp6hKlwV>2XBi8 zRDVM8)dS@7fa=GVIoOYGu<8e7&(!l=Pk>vZ?@@UHuO0p9UitfUqe_EiXgYf$qKk0X z;|5AM6nc1&CgKL`k%%sW3+rAZJg{gs<;!j2`KNXzO8RH6-91nfyx3H(=N9W%)J~yK z(9QKHHl{DtEBMRxb>M#9zAZ)d(>^v$_V={-Iid@B#~PfvOB129!w(~57;3})mGSRy zNWQy6l=5Zi!1BwrF_IiZ?-67-edgteE`I0xe0zOOgu&l*s^^(+I#W9xxw6|G5>LF; zbEFKTfi{F&Pwlx?#(k$9)ZPtkc${?{YHlLjcg!Qh+&?`3FY%U(+L1?FME1{(=W)vM z-Go~tFLtu)I2op2C~%(U6}XqycV+&(5v`E_pNdH9(Rerq7{priGpGEB{2I~abi z&|1b_kx69d?4iaaKUu#d_4DTHybs?c9PI0Yhx>CAhu(im{tox&!p}DDNra#6#GLXp zz9bK^|CvOJ$Gg<1U7h6bT_+~ezN5rko*(+Aupe5(t?VZ!HoGLHYxr(9jYsMA=O|s% z3AVF-AN$jYZDKz#VLSWNuo-8Uk@B$_YJ)#hPDh~JFMaN#J2O=0bW`!P}mwnMo)SdQUTg6tDl<)RN@zXXo*FA*M{z;evr-CIfOpKm^^ABEGr zuQ)fi4W;WW#_KblSLRXuaWrRtM1hM9sJwy|UNg#cosUgm{;mOppFh9FB60ViT_a_v z)ndEZ{1pu{?$6GCREFMxwC~qntNAG!e+}u5)V|Uq`8>NGiISwf(r5=&Li{DvE^8JT@uS#}s zzc+#U8DDc7;R~x*ZyG2ic9pnZKSlj#V8bsFUBo?O-lKHGC%x3) z+CKh=@Hs!&s9$wHFmiw3FXu!t9>u)IU4iry{zD+XfWSc%;{v)K3#}j2F3S8>!#+d0387eec6MiMYp* z-s7-N0^B%#W*(093h=RB0ls*@$m5SH;Criae_~GEs}4DkUsR4u-LC|FV(NQY?!Wg) zKE9VBUGW~YMCKQK+#6_r`eDLxZ(wF)MY3D2)cb^6)%|hF=e7`T$tD@^dNQI5d1>Wu zIiv1#i7J1~@$_HR|2yWjBz+9GT_b*I^PN=gseMZbPh2lS^#p#EalZ`wDhHQydklZf ze%S14-1J>xKfvK*>=!OPLXCIoyD+{ZU|nLGwLH~B+s3O@AA+C#M*8gA--h(Goi@@q z>wTvj>0?{#zFQOd3r%l6M24C5jEAcnqxNOBPo#Df_=eh-_RoVO?v%XTf47qy=L|%l$^|l?HUaBinp6;ep}Y|F|;jFEsTQ@5{=StW5dZ)3iH{JFa_&Po?xr^Lx#z zK7*-0Ntz2uPv-}`9yg_0c}R|A#IDPk;X< z>2Kf2<71T_?AOt;d%92lPG3}w^ci!c8;^s(@_9zR4C}LOX0PUwXRXZVG}9aSec4d1 zCFx_f^0~$ATGl7EeQ+7cPfle$^>aL~S(ZLQ>*VI?T}e;JKGw&OI^IO`oyDq=KGEWw zU;mTu(D|TLH$K;yTEu+oQr_2^4s_u5qV}~K;kW!xzK;ptO+1Hqf1^{iQ@`5Zi284P z0TrMmi57R_TFbCZmh`ju~E}_9oVP#VPc)ly^+slN7Z>E zoXfU-<@-;{@z>Zw=^ERzKK?(8(|NsY&u0mby~Fz-wDX3tGQH5NchNZI{e|X}{>eX| zuOso~Kg;J)_*7e}hwz`A8~nmtiNk*~)&pJrdk`Ob!jEx6eUHOF8UOinw2qDMP^m%u z-o0CW2Xvk|J4edLcR=`iNsPUV^kQx*98e&Kh= z33van%`cxD*7AJJ|4W?u4f~XrXGlD!{I&sy-(cXcD*L4C{61aseX4!6Q2U62yWP)A z9QhscenBG{_g~*n^3%_0qz0i$*CN`UCHyaDD5A zJpL8swd(ck??yvk8t<;afZjqJTUj>h|-wb>oPxVd|m-b27%TfOp zZN={wuU_VTT+WYp-hy;3D~i{U{6tmun_;1K{MTOMj;a|-*I%92T_ZtG*RysS z;Q`f8CjZ<;=P^yW3WPg9=5#HG579WAYV!GfDbGEU-$R`{zoBu~S^ga1u|L&3|LqTn zALwT%JTzSKf0#i0*xdsNw-o1oPrqvk;n6O<-#Al(ah!_}&EWIzI2Z3!a$MtT=gIMO zc#hha``6d0ztTIlqk0HA_V>;Z4mrU=D`?#{mR(Q%OkgbQ8NK#RRhdtm$IqVbM{@l7 zYx}6bHNHrEQyJFtE9EZ;`vKhSU&vsY^K4})2mXj$Q+OO%R(2QRUgei5)QRzI!{;hU ze$>PLp7{>8|G%o9qo2V(G^cjXBKhXJKTm!4%~E#&zVLGTThcX z&Y9|GwwIT2`*-XYCD?=Y@wD1%ka*^{$EhDMpHt^0zhgO`>3pvr*!`CBvJQesR# z-!Ov4{m`5=;r8ijzEtA+`%=%;#Os6`e&%u3SnrHU>Iwfs-Z;NsoBvo|PU7%WBh>Slzn{JXO=!Q_6MqKSA@EsOPayr3kmL>N-{v@xXY-Gn;QETw$p|56I`au{$EV2)jLG>8^>e zFlk&WoVdEmH2p%7WWzTkT~9>p}(*L0F?{$CInbI>f zs6z91--Zpu*QZzJb%rK$@6^Qavs<`6xc4+5+|)X8kHn!r%EeJwv6IA6E)yTTh3p<& zn5FWx9zGP&#q;2duSkDeu4ZFR#GOkwMRXCG`?e;0(ScwqO~j#3_N_Wp-tptpt4lo4 zY+FPZVSM~z%5SsvaazYp$Jh?>{u3!*)&&D-+(`Yrp7@qw?{m5Iy3MGG-#bq;-+8_p zgu{G63?_^d!|)8#XbSFQ{dPy2Rs@qLvkF2U3t8_#`1w< zzMWRMYjADS6MU?P00$p9IQYmH_Wc&km;KD{z|C@? zkE4+HYZa9bKIB7B@PR{4Xv>v6`QQUD%7=e`qznCVP6YZx4){goz|Sh=fDgPV-+bx# z3pd*VeBj_iANZSsKFF_QxMjirk^>xaz>kOj%i}{n&WS)i^Z~!9oQ%3BqG*1B7v-DO zIR)@@Ww^f*=k6Cu{fnjxeo;C0Gv5*)a-b)0@Z+i-nXW!a^KkI9sy*T!=l_$g;un=; z8~sL}9Ha{z{7hNSS7=Lw_>d2MT*;sRrySsrgK`n$JGDE=$(CdJes#YsaFlPhB+v7a zU*MUtcl^(G0Y1`2zQ6}=sKe>H?;kwp=JJAkyq6VC7x&ZyhkWoMA2|3$aro6NisN2; z;LrzrqzfE;;Pxl}rSZaYfZyL?PxFw5G+wysRQR9yh2Kudf&Rdu4{+o3mu5-30f#=o zAt$HG7ydS(59$N%O(=?sai8P^hy3Wq!GuFTaO{%@4n4t#p1{E`isL>z;E)d-@}WQO zyDzGz>FQCMhl7uFfkQsUr<+pu+9TcU2*$l1MyAVp1sw7{YJYxF`M@C` zd~sfq)-%BmtNs)C4SoeqSIpaqk96@qB2>x49jZQy`2ep=t9dEpCstG#Qpy1i z`QSr7^bzMiNKR3GAg3r_^aCUx{9sGAzj&W|T&8PQ_Vm2N`4ZpJ2)C0mr^L z;NrX9V^U60+<0}*ggjiy2mgkAg@X?qdW!cHk^?<~i~2K8$_Ebp1MwfmOB`~5i*tO$ zzk#cKfnQXA@PUUau^oipiASY;?DGLG{FaQo8PBGTG!F+qRBCHPH;DHeg@X?q@7LJh zh4*XV4JYya(ZC_c-T&1QGF`|49_&!xeKQU{!7r*m_(gFsZyYS;01y1fb}+X8>mi9_ z|B`oQdCG6@^~;1Oe&Y9z>`!b5$nh#WxSR3*D34(+tqaLm#m} zf!4>6Zc>d4p)HN`aOh*5@GRj-7r1S7oje@rf{%28gAY7*fY--x{to&;PvIwR*3I@u zy4GLqvnBq2^ilU_0!O;wBVFLQXA?Nm75?JreH{9PYH)esoG)d z&{4*{TNcps)PMg(bP=!lQrViC2u(A;rZCxgQ$!bWca_1^k6Y@Oq~D>xE%({30!=*k zMR(A8V|2->h%V!cF41=@@7o0yO~g~%cSm#)PKzI>_4W&uF4Fp*-h4CRYhE{Nns^@F zvGZ;jhEDt*(M5P6IEmJW4Talj-4FU)@5}3n*~o)+G{Mux?uzIloVb4g*}v#1&eXOb%ICMH4(*an4tAVQ0$MzAN$i5)VDZa6}iO zWi_t@=X^f0r}x-)!V?E?r*YPLv_*SO@WPvR5T5;f0m%=oD&IolzEZq?*lbI0($jQ0 zP4ZLI7`Jt6NAIoX8u6x*4}AhPtC9Sb6DL!?Ttl};bn!eft#emRgt2AMwUeRNI2O@G zXq~>WttLY6x`)Yrz@wGJRDO=DkT3jX=CwOVpdZN>P&;#Y3x}VqW#rnTf;;@_LWJlr$Y8M|M zanDDrkI!F*_58leAc>n?T;Duz)g;`J8S#+B{qHj0>1X|YJ=ssVLFEg$IM+5=@{8i) zTsF;TisJDI`w0ggelOfz{$8)c`%y7pvi93T_0w{0Gs*XV!}^5BvOe+1XV1vr!OnqE zjEnoEp1m0dKUeaRJiey-Rk07B_~=&?Q&^6D@KZEDfqa`PU;F6hG@k*k?O=Z5g>R?d zoG$pel5gbkLu$U1E_;=5qzituWzPS<BX!|jaYd^+TVZ&&xo0MCZ1Q~e43{mAT_<%Bh^Z;9`pAsp#Cl|3E9`8*)x z0FSoxQTr;22iqOb!wsq&#dn{)_K5t7_r!%#AEavjxUSZ*ai1FW2S3`S7r9^R~P zAL?g<2OE-}rboHo3o7~Ieffp|r6=yWC@LTR)_~8c_Yk#H(T*tH_~Cd&H;C`IYW^Vp z%#-g>?bnv6ML6U@e^>u8dHB#>p#n_^v97*Ic=qR=5naT=_jT+*2ONmZPmCkOQbewko@Q)w<=Yi1$I0UlKCDAx2e%_pG`aMRUFdFeu*+<#Bx z;m`;B=pY9;&f5al)qEcQD4>t&Nv^kc2Xm@GqUWj*WgGckq?GegN{V?f%TeAwM4eI4|Agnie$wiOwobxZAlmq6_^z z=XcR~0Y8Drud8~L<}J`a-ggi2tqqnFKe;uU*Z(9VeW_j8e*c~I8OP&qw<{$GH;;KI z56>E#->ZrAGh5#$JolxVFNOA#p1u_q2@l`H^M`Q9t(30kT$*s`3HxJTBJ2q~Q}%pb zzwPWdo%At$ae?sISst&$W0sRXmdU)&$8|sJV|s_jQ|xann(l=F-|JU2UFYCO{W5>R z3)lYLRmSyHoN&+cTO+!NJI^c(40Mo>8>B5}LqV?N_P!t){w9NYCR*?#E((S0Q~Y=YAwU^zl5$?IK*Q$|Na2 zmgM<~seyXGt}}^nuUbdNd`aA2M(eJa{{R<$c=B+}i+ua|UQx`8?A=?C-K-G{@!el= zxu?ojCcU$!g=7!p%lTxC_=%UUP>6hG8&;-#iS;PrBVT71ZKHg~j%9kue7XB`eM`1G zPrpwWAA7&VeO>lMbP+<1_>=gM<0yYG@k5OV5*||X&+w;>&vy~zT-_h&Jpk`t?(09a z(gdDZ)rs`d`to^v|90L-B*v-1^0`CpFY<^BhKc|8R+kK2huHpY_f{u67!F){P~yJc zT)q>p?IwL(PD_7@d$(};x*so2=>@xtAsqW^v~`t8zVIXWu;jWf4xh7w9PMq^Q}``+YvT85r6+Jb%;z_OCmz~O_VIT6aj4{5{{ASUi_qF)d4VRv zOkqjFU5gGzbQxFsyUbJfJ*tU#(R79X?U53Pe55P(B@(|VZkYZ2sGIqrCkBumvfI~> zkhpvA-iR(jt$G!*f2hIHF`9_$r`Z1H61>jl|AX&yv3t3GnzgscZo)4#$%mfXYPO~N zY{<ie4bKIM@(zDGD-W<9l~^C@4@KRJZ;@wPV;ZuyDzi7Po`{b&5ma*(chY6-%Tt~RO~ z*}<`N^H|BZ{jwvXi!l2jj|>mmj|w2Os_-AZNh-{!|a+o`odewUpOSa%w+-SZ5}`6VNC25$kW5J~L0x^nmJ= zU*MJ>IltjrT%X;Qi<3UtA9hA`gQ(AHpGLSxp;zjuVLzMdR}CFbOp-YIRrJI021f`- zKfG;yAF4n8liyN5oU6~}1->{(Ksflojnnx)=%TpTC!F{FE@gg(>t~(D^#1Fe$@xOM z4&MXBN4n8UYTQXypCa{#e0+Bh<0ie21BX85OO5hyymzNxsK>Z^?+&W>YscU=J}Dpb z1dDo)3%5+<;U>)gr}OzEjQc+IejS=}mh{xrdcwx~F3N9gChtSWe4w0AL#F4dTf;9y z$0DAmVg3{7R%e#Pi_U)>h4lzWx|m z3jQG>-*6k(L*VdVjrW~o^|OJSE&8_C#Pigi>3R80 zo@W0}$%?n-@hu&DQM!S{ALa2sTk$O6=EA#XNqLx;w!Lct=?}k=;qSOzUnOKYIW#;euk>}^p*1e}|f`@XMGpQ1#oBLxCt=l9#Tpy0re}MIQ zL*28f-g5&z`WMLG=Q_Uqj10pkK8@%iOg-^5rRysHHQ{y_r+dM_u$?BJyPsM^^*N^G zUur+PK;qV27OJJUqGU zPSQVq>In54z8%cJ(9=bDpv+y=4`j_-Bf9wgfFrF6G!eqzj@!icO!i+%`it`g)bC}+ zu$+8vzk%34>6pMAX)jf2MNtf$A<=`P97di&8hg>*44JCD>HEuUjt_OE-R1M$Bq zL-IY%Sf52+FV*Mp6YQr2c(UKg0?7}(HkQV_=v}OjZNXP0C%tgsqw;xbIm^jzyGZtl zmwGHOUH9l()DOg(znq7MhrUhe2Jg1z$??DY59QZ(#!9%s#`CDpwmeC8jy9||LZ+Kg z<=E`Hshf;DA1gLQhM@*~Bf1EU`|hH2lXDIa(nQ=`m&+yHJVADgKJ{xJ-e=tj>L)X& zp6Dm}v28r=3@ujAD&y(?JfFh)wtq~7*1H2^-o8&h$9&$>;z~yucWu1&DH)=^C59{| z`y|gFqVX=R>W|jN+ePxSN7oj}5bqc9w>Gf+t4$pehy2M4Eu???z>|6H*L~7Nc<9Tn z(~_tb;}8OQxB-lw>H_tlz8a*VHYKac(=SKLQ-4*oWB zru>~Hu_vO7@KTlXR4&$%)n;oVZhDOEJm>FolwU3O4dG6;4$!A>f0A$b?A^JN@4WP0 zL>HmQvXaUx*zbcp+;DI<$+xYpIA0SyV?~zls=J=#JKNtoPvRNXpLAQgfcU1P2M7n> z_waJU1AG1=IqugvUF+#bNgvlsWdc$TaMzmmNgs2pavtu;{?T6Yk|&-bJem0^qKkNm zr3EBM*K53>iFkZ5>uH(I{c57pG{OVQ4*I!QsU0QWFIXV?Vdv(EF2c;=lLeX#*S8_u zdq0xmPfp-22kGglbcXmS_kAZGr1s_6e_x(_>t$YlzbFS!3Xdvq1q zCp_Sbg))7&m-Qd|U`@(b%==58{EbQG+ZJ5P;}0kiAbz5EDO#t69OJ%Dq`!V{CE-T( zUFK4EwvY9hzX=bH<#hf1dAx8~`TRa`)9h6wCsS)LtxMa7Gk>M4I_aM|bTSWjcN#{x zar3!ZGGDPi`y;vt8#b*$?ZUfi$1F|6?IYO!S0?u$`PoXn^XhZQFIrQ+yjRpY)9<o4GEJ!eoF?KJuU*~xa((FVFZDkd*A{)goYD>X zn>{W0hNoHoaNi}={}gWf*C}zl*W0&7ssFJx+28+W+|l|svQN5lza>MNh8-iSwZ5xTC_rTiu{M|x-?4*9bhc5Wi$ zrh6-q{`%H!5naU7{Yy2|L}*?7)?^t5W^aw?BJ>=&-a->$@P!}9ZkTUeXjZzl#9b9e zke$)bo8DelP2!11jC_qwbM%EM@J4XENVK zbP?CqPbGUMjyB5YcbVB(6VH=tFHM)BwbA<#U4$3Pv?V>YtGrH#{vqqK(RsJ{FI}k~ z`cAVQoXyTR*TnBqZw#Y;-q~|YL>F<(#S5gr^~-gBO~f&dSl)V$aQB0U^Z52Z*V8y? zS@=2Ow#1JSUHs1f^CY@=)sniK@WgD^)2*?b;8SyEX@ZCLIP}Xdcgnc=x0Tc$Q!Cj% z+0?355|1rjoY&q{C;Ad!t8-JyWYFSCi&^ro2kDFG~67~MSNwOO;$~WPRCf{ zC%YYr=pvr3(UthQ&FcOO#UD_*c3Vw6Ppo<-Pfq%~x#agLw(&UOL2Y|P7rZK|!6e67 zP&Ka~UUXqG>7NNcm)DZi}+o1^zVeHPOyE3PTNi8l6-%EKoigH15~+G`|W$l zPpzJr#~&5rb5_w8*3fuoQvGTb=P;7vxAHx$khAZbYGjAp&wS2T>&o(zeOi~6={Ytn zAUVKIuT?82achg3d3fQE50ISH*h@5yn_6(a@|GG;^)03kpCx~nd5rVrpTCjLV>)La zq2<=xJt~a48Bez~(*3R4xNk;C z-2Nxqr)~eG#81A>{t_`iZ&o;+@KoVP9?1vpxh+lYF7WsM2@?06JQdMJ7`?B6+Nt4# z$&YCwj`tD6w~2GI{urm1Bfe!1ryC5}?~puG*|J_4>QlKLCCgl_A>)pX-aI+`J}97m zINSM+sq(pha5|!kFgWlu$qBYDMelv)#mfHoy;f5b&r{RJ=JkiMDxX)9c=-M@dHlq* zrDW&STc_s8=QrNF%apGwhab3u^i1w3m1mz=$3=vDjOX%jZRT5aFL0)(V;sp* zc6L0`lH_MznL_o)RO|DIZV>;je|W1V0^364AQ|4MZ_`s|8P{Ix_oNJ+M|MVZ5gLxH zAV1Hhab3wihCg^5G%XL_risV4M>o)X80|Ov)TcC#L^o}uekry3{fI7j*{cnxAIpAQ zi~2F(w#lO^YvQ^41Ldz<^{WAoUP9u@O&FhBbgk0YD;e1v(^`G_ulm%jYNud;q-cT}YQ0ppaWcQa@L5BE;x)t}(GE?izN z$FuS|=26;{?0>*nPS3NOyJNLtl4n0VAg|m5w?9xu;?_!asQw^drj6`J$UNaH<=3SA zy5A9HKM$HZFXmEy9+v(03)RES-sV&;?l{}o(c4MooBQgKJo)xd|Do~4Rq80=sJBmU zY)dO2rU*Xbf0^vlDtr{m6Wg0TYN72`Y`23`u=CApU1sd1ODnr{UQ8v2b!>7lFG7Hzt&^w{(`_)D@p&1y1xMXsKx$}=j89O?w4-J>pzNd8&OwO%VAQU$evb1F z;N!dl*6m#~+O1^XO5C2mi@QccctNRNe2mAfRead-ufIi?uPIMdZv+~vMo@Y<&=T9v= zPW2P=AqP0*0N2AWk{sZW0~~UI+cO)ezXFbZcdq_d2#1{^AN->7&6h_1Pd$Ny4>^`! zGc;ZUhd#iek4x>h6!(%4ANsh}d3O7m7I|_|zQ7?TyOhs88M=N<{cRHGp42(7P`i?Z zqn)B%14p|?x_%`G`g!P!zRi01%7rWw|D&_`%TTN?}?Bv{PWYe06zK+;Lsu=t4jrifC+le1* zr_N{fVL7&C8}e{#*-m3LAs0B#LkT}lqa=>=O*lUV9OtUMfAaTty+&Ao1BZNkPltbLd{2iy;+*@#QV#f#4;=E*j$#q^?}U1Y z`VSoSAN`wY>NXnR(T*S|Rq<28A;+rvLvPOud3?wRAM(-fiT%vPNB{4u%zjJ6d6@@g zzHr_O=eESYSz12zs;^OaHij?!~qCfxbdm&DIrV*40gXZeX01vGz#e0)EJKRw|1 zehM7lPXpeunzWBy=Xn+cdzh*AiPs_TdgxiyxF65Zi{Y20o%pT!s$0`TLZqMgBT!crn}AJ7EOzxuhAfukI8Un=lzf3h7?$7WKxK{d_>FP$KJX2$d(9N%Xr{=xj{xb}H`q>KA= zA-~zMX;csWjum;|g~NxQAUrea$2>gs1CN{DH!l*N8_IUWxamDqCU4x#DEs*Kz3Z3t z3+ZAUG`6phHx8x@ydMdCv?IgqHG9b4C;qh1ya@YsSANp6tHjN=(}ZI^dE@Lb;{*26 zyeoeDzKAY(sc$Qh9N~}Xeoe$7$Jv?pH+p&weMI8eKN;(W{h5=8NF4ik-R&xMmvQhz z#+?ye#BazsRCBl{;*f*=na1hGM%;|YZ+({Pp>adjEpdBuZl}JV-DLmlcLzxh_G9EO zET{T;q03vu2c9j#a`fwqi4QqQSKPCfm#({7s(|$9`r$|!S`Q>5x(wTMzFa2;JgSK} z@&!4-k*~x?uFsxBr#zC6b(@UBwKETlzZuWn%jFCHjeU>r&t^N697B9>jO!KTi2LX# z+$;zCD#iVb6K}?`uM&7s`L5Gf^W+Z|%gOThp$Q3EN5a0N%y-<59JlX!Ts}9b{s(yO z@Q=g?ZdLh>Hr+sc*a5g6uHcn&fRAdb+Ud_52~Qp2{FbP%+Iyh(B*{0bbmMQcosIY3 zO*r=FZ|gUo>Un69i{9()YQ5T`_TSng8wn4oekpDZc9U{l`&ZMtobTa15naTyVU*(z z!m-~nrEqb-GsywIrug?{H`lP$g!}&3Pjb8_F5kdg%n$vvgYa@M@qWlm`CDlnLu<(I z#o^DmKS?~Wi15rJ{vI7uxN%eMJX}-rQgKfr;pk6n3eU}YGY_BGkjpnP{%-o-fqik# zC)m!pZ|)%6rTSH$nrFrv@O{US58QZl74d;XPVD&=d2+IkFSs?!5JLQ?K%5 ze{Dx?!u7s;$v&RqY&S>Y?}Ve@3%tSQ0vzcAcPHBuAGmo3?^nspX*o@%kMGfa=5c;q zD<8>w{|bG^`_jce|Gf9C#1Kw5+H_$aZXdpe`aOG{C#FmJNVnm$Jg@UN{GD*j-`4y% znA)`=J~Iyw{Mx6J{Jp>HT*9H}%2)@kSJ%JK!*iygz>OB$d1Sr_HmZe0-Pj zwVX=j?ie|YaQ!g1JF^<^Jog_Y9P+Jd+ysvN0*Bvt;Ql6T|IDoC=g4$ne|ICs;olp$ zS=lqt?rGvfPVUBgG~X`|JYA0Kr)lbdxl%s#G@Rx3YdZ2i;g}C()jS7$$N_GgzM1&I z6Q>q)|Nmqm%^TfUxIYAL{iZR^hk;vFyD(1wGH?C~JU6RF-h5lTyt|~-+r5y_d13#C z{^+x}O5FN;mg*aDL)B;QBD~TXdaufTWLl>Sp2?M@c<9466q<_hy^wESyke33$yXgz z9}I)8MsyMPXeC-{A`H%)NVsKMWs;K`c85*k*0y|p&0VY%;jZl;GQY6c4EbDB`w9Y& z8(PZvoK|*{gZ&}e`A-^4+;w*PJQ?N!pGR~NdIk+7{cMJngol=XO8CTKPm`TPyZL@t z!-&I#yARgTH1Rv*!Don%`DA>4)$S6vZ@QJ{$*wcIBf5wKkNUnRKJYo(%k4Dr+}`?e z;$xogY4civ#J%nBCR|T{9MMJGxSadv@czL!^G)N2_iC((=iy2%tTMFh{WqeEa8KJY zcW5F^b)G}zB`|AGK8M7ej%FA$H#u!MdJ2BzeaQsI=e*4p3y_| z`e-7KeO9q2-)bP^;h$^wlA+PPH=>KsGO7ptKDYc?vIG1`q%AuOH2HkK-cyG5gIwFKW*3h1q-bh%VxKt=|aucD7LY10NMyQ=p0Gq0g(6Jre%UBD#nNs)xufddK5b zzpRh3eX`{@kpAXj!>C`hr1?Ie%%aB#&mGuI-(zj>mn8ceqX!ykLZ1Du<`2j)vmhJM zMQG{v4&}#ME44%uardC#Bf1D*F2nZ`nAN>YE_J^{y5ckR{oQbA)hJEy(h2@9?4Q(x z@)iD_{hs-s-xtxvbNiR(PMQegE4Gc1p>x%ah%UnT>bhi4)6Q>4Y9fw(CW&!6$qD?k zn&c;ju-)uSn-XrX*qP+SpJ4fuyR@PD6e!)DaO@k;?PNKY5wk~2`9T-UDfigZWY2W# zzH=px{TRsyhLx9b$GH6cKl%vUzpo!4jWEkN%59@3&l=2nI z@;MRzu)Pso@U-_zb=O1~z2!9V!~40tTQ)JSwOO5q_X)pHAo=n3<>$#Ty`S54+po(} zel49^5{~|4qqPsU6IW);BFV=-Rr{(Jsov<1-%Ge}57$r6x?f38=b?Q5v6Uw@PA7QYxJ+&hTv(C|T>+O_Xx zAK}?myGXw9o7Pzq>15B3CLHT*8@0nE$MD->8b{o1xg0(JIw@cNuK&?|%=Rw#&&|^P z$UdHq@8`|awt0?_oX~Sa^W?aH+eG>GjeLdXGZ+^xO}W27>SJrwitt?PPa?XA``1?` z`L@Xu^Z3cvPg6e=EFaCo^$s-(H2FKFXSViF$X(qB6Jp3Bz&?F= zJf?HLEC;x~B(`vS_io^G*4Yv#iGS>aHk2>#p{vhn;`f%`+%7J)=Y6*J6B7x?_kxwm z4vw{-l6_#$5*C6PQwpS9oa0Wk*b~u3Jo(BFD#vtn-nWzJy`OM%XG14V zJokTobhZq!e_rd%=Y}$`gyu*b^V0Yeor#}N_o`T?T!`r6d1fJ>OY)5zLVRy6uK(fL zd&&MmHNVn6`T^CNzW=vFEWiJD!eKYyaiu?Smyz|+)jdbh$8vBn$;UdI{e$mGezO%LC|_6) zbgXB5NUd0F%^>v2QSYtWqh7 z+xoxQUxwJ19%aB93z?L(lQN#k->feUFRQ z=JvSn_!P2FN7t)P$q(Me^|0Bfzu9ihcTu|OQp_LKeM)o5Gg(>_ZZh$B)bX8$l&*c+ z${zB0Y6jb3V#Pi*p6Nqcad|c=jOgOIW!&>^G!Z6G-a@}KK6O2!i}=}-JBXh+nvgeOxP|iNo%Jc<6Ag8U z*R0_@w%<0^^X$x*8%ln3r`}J7iLba{>ejpl_0RU>uiQuYj#NY!&%2fUkogzirtM#CLrWA>2A)KBa4(^&R214`-3R zLd_33q#SRjV}vi8v!3wWYX|#E-2Bs5guB0+P3jPmLzN{av27 zyBGaOw-MiM=kGqT1`iOPd-v~%E`IO%r;yrjC^dSPCgPTg$0NE3*XaLJ zz0!(Znx%<2-V^O_MJQkHVl@cI`5@yGzMn3-k@xYs)%|q2i#qk^@Xzcyc`>33d4@q{ zxg4+kKd#<9&ZXpgAHVk4V-Fh9wrGu@5&PA)j5YSyW19)h2pX|RYsAue@(eMIpbvQDKq znRps_DEz@Kh{siq)!_Gh3j&wl%b0aDKkQ&i`VV-d1g(3WH?M=IZE_2=Yi^PW9^oEc zM+zm;_o-wak994^OK8hl*x%8Q^zr>0kNEURevH)k2A<+`%Ea@cUZ(iLkPr5L4czA} zf_Ay(`+;)E%+A%La1bJ|Cz>%Vj;c1Vd?vgp8a3^&f82@+G~g0f>`ojXTtBiv`#Rk2Z1}btN_0=-%0R9C(t|6udCT1WWv{?s%+yAEXkymp^0=KT%~8wKA74tt$Q8PKA77i zd2wHfnT$u4_e*gle|J49#g*OH0RA=q@54eSuj@hiKX{wYgEVXB{lakhJwD|(vZww} z59H;5h)?pJO!QUz_I@aJ%UY@QfGj;&}0Ywna0(lYbVs9e%MlUJl&!iSomU>W!g~ zzYOiKXTCuBO*g9;;#R(nq#1o3{DL$O%J+HYd2qzwi?D-ypVxMa{FTtk3_GZA$+~X3)qci3;@W7x)&}WRIP!rbQ=(vNx zIVH_U8Gp1$WVn3&O$d;GH(uI-acbn>5YL8JZb6ij^_TBE%lbcixEk{Q1%E=`S%l`J z)Z+BLQGdf&;Eqv*yQDbR58=>XInFz;Xo2-r@B!`T8!kus1kT??yy@bOPv%8El({&b%4gZ zE-eA=dKd0ZVz~SsjW4GM>om>3b$@2K{T=y5{q$eNzui`P9K+@Ncb!Mmd8MPkpOBYv zqrO^M<}OU&y$oEqymh#&fHGLLNxi znqgw{@_lM^@jl2Kn)_{`r*0x$Cv@Z<0y}t8@4}vjIW%5)%UGck$XljUe)DCWfZsj$%wu@*|J=xXZb2**174$D|I0pz zH+v4UgR4R|?5ud-0k~r2UC3MS4g!y3(?js9N|8R^>+gXpRZS4j*6uGMuRIWs_>^(Q z=O}PzgTv5M^>2RSzeD-wT+HGIJSXn;Bm z=hBx&S$C@)HteQO--Emn%KO4Ch;q6k70_;YS##jJEu>F+T0G*x!WRQB zzn86Ee+BZ!^=~Hd;{WCMh=o0^YqPq|*b}(iu00Q39}DZJ0N0<&bPJ-KX-MN(UM&6f zy^C0>kN625U2K0WqeBDw%o8s2FIXCKA1d8+U`bjmJKI*b`9ZzRJ>=wkja(REukN#P<8N686-G1yA#4>r^I_Rmn7{xk7 zzFt@8^ za|>drmGqSN6_WK-W~l4%?6`{LH4`ZB`4Y))^8H!aZjRbH5YLY5)xaOFMd$S`+kS@M z_1%jD51yuR&#)t1A9mx$4h#5mGke%qhn{LF`L zK`f)&8Yb{!>7TW0AS>nfj!$;@4?I^VJ4_5WA0<0)EYl8tw7gg_`2Whs9C0Ad9TooV z!EoQ^4{kv$@2%Nbj~B~8zo&gzsWOl~9jh0hzrv;m-5Ks}L*wGnfG+TRWb>R}3^)8$ z0s1T7=7b-$LvlhsJnxfR5RVJ*`oNybKg?Ztv2ISM{A~KAN?uma*iO&QnKplP3u67l zd^_@hq2`F5yjWMBDh~d+Z)R6!^~m;Zz(Zq*=Um^M@T1*)tuH(7`$BejTXZwxLF-r# zT-TBAn5 zW--3VfG2K2ER$E11FjA`8r0)zF)v2UnkTm zi9dO36~t|%lp5_iqhHZ(%<%V!6YX@;$G?x_r1Oq5=&$}B?UU}GN&0IgeuMPgb(vqj zF70)nTgdd3^|4DlHtD%~nMXNyG1jrc`FVeV{C>JFoi@c^iPe4aX9&MedJbGb*KG`E zZd%!KqjcSSV8bNDgLZb8sSG!5qkNL~7wI4RNYCjBlK!0^THr7LLfS`ks2g^S}yZYmmfd}eQoEOTmna17v z+l05I_4(reXus<4FCT%MTTuS-<(!Lg6e_HNKHh>9KW^WmYD^DD<$Aza=%EX2(5^qi#Vg18;Ajzs^>7C-GvPb1Bd-Ro=ePCs@0!Akbz_vq*IQ!&*g@P^4!CI$#LrgY55^9D}^4&zl3dcc=#PZL3s<{S7@=fG2RB z@|f|(CD_gGn+x2zr!eI8-VowMDeYUT_)Pw?*#`r+wk`_(z^1B@k9m<S_%Ku5J_u9@U^Z$OF!^4T0zs?26zwJ)TVR-Kzl)Y(HO!>7#DAa~vyOPKw*C`>F6RU+jd1;rh2U-^E*l zXxChF1#qqj=@JPV=d5RGG2te}?)LS5>DyL>%hwSimprCHsUMC%})6yVplCdBt>!=Z&8h!e6@P zbH^}THBjnTjf?QFzQKC%gh!J8q004O=RkUM0$HIcQTE? zesc?AUARO0CF%aT`y(&bBU7dP@F6GsV(WTqB*T@j$PR|JQ=q5!%x@DI&b6R;vliX~ zT&;dHp5aO><@2mPF6g67nh#t(iu`NK{U`E+BBd*E|H4?3yD zeCsc*MY~+m*bxj@$59?I4NyT(SHJ7PHNTM`b)m-KF&%0J-0|UqTM++e-c0ePudxOE zzU`D}2A^Gu^WV^>)SjzUDh8H%1f0J{R1dpo^#vMQNmICcY8a?d~o{Z{De_O6N znm6rjZVYC4V0{(zOHr~L^zS^F2an}A**|qfE%euO^(V-iex-Gkqr!|T?Eie7oba!< zdklE^iuuYjTyxKjxOKJH0axvx4?jlkhaqoDuK`@E*$8}m*A9&JbQ=6&706vI6) zCJkey{vE~bh;Ah@UsxZOgnw-rly5Cp0y&wSR?`jbS_{*-JGZqV;#^SHGqdB7v2@nfE2e!r9KFI=jMeGrtDb|X&)V`yG5Pi%<17j0J^ z`7r3A@!o60uV~l&V>0rmaJn-1eGS`}X6**6EC-M4PHo^D&jz5s^L%c|>*L5@F~j!* zkKEmZemR2FuY`@`F+YZ8SiqydOyjQVYyr2ALGIkz!kk|UfcWIDjF|iD~w~uZDtz3Pfo_eU*XX^F(2uB6oUR$BR%7poO*L7 z^HDITIWy^hI;=M#UpJ;g)y^j|Pu9NWbQfW+h0qolv~eJ1R{ zU5WwjNTU2^>D7SZN4g)xwWalsjQf^k&u2U`9_W0m5UcAxR6w3r9;bE4+l2Y(uj<4b z;K3K<_w_kzqF> zu8qccSH1lg@=ki<`8WjJpt?%J?^Y*L26?>#SRzTRn;yG|(HvAhZK=b?CN-fGTUi0r+sjSq!g&p{J z-tjeAJy`MXK$J;XPx6zRl!bi)y|*E6JKg9ne_lJQDw9(ed)AMYkvQt_?wt96+YVdi zGTf-7IBc`NgVf)}g#S$aJ=@wI$K*mwJ-`j;)UaC-dEG8OCn>Mne=lz&C`jLJu>UU+@*{q`mz&9n`=`%k zWgwQumqTjT8@PpaxZLi6Q$Ipa$Gt_sEdxnUE?lz+`@f=UVhSrQu`R$a{PQj^>f<{B zS8XSIYF0a-Pc(Bqcsx(Y{^6en=3(;2xNX1+x?s-Swy9np25B}x{JHRid z*{^NvxK~Z~QR&8E9C_y60dCGsc1};O2;6C<^A2-7wYw%U58_$ZwlLbY52tnwN7o_$ z8y<4tiNsUhj=ZZ$-`_J21RktN_H0{vdMwk!>Y4~Vy1Wkbyl12M36@D)!j6XqQ~aDM zc1_Ld#*&SJdsmY^L-{)wXSn9xN{mNciw59n+xSLhhO2(Ax0sdsaU`ER_9)i*zGmxz z8+ufNytih5j3do<+ae~7^u}mJDpZ(w2 ztT=e=gGrw~R}PatrB@;k>*^8iknr%9&fnqvpI<_Ml~Zy953eNspB*Coxb74)qie_Jg=Td`C;SB++`V$y#Ju# zHmw`ePR$38{2d9QDcQN#wc%(tQlld58LC1&BMzO0Jq?p;0Jra;@nUzC%EkCq*Q;Zm zRTwC4g*m;@U&Dt|uxChGueMEpQjW>1Jue{dz0wH!r*0jEc3pwJz#Wrl9637-Q!sh2 zYs(~7TJsl$yz#(Y%)icuqmvo#8A{{A+A@>oi@bv&ZyQ4ST+d%b+}b@QfV-Ad1dsk* zVl4Z=`iFnOW4=Q?yJk#ATzSd_A+MiI<3Tq);i#}M6!>$*>v#ueUpI;&50*;wpGhrgb z`EL|gnwir|vAS={Oz3a_w;B31qsl$BtI8|_T;U*jWAZZ0N7`ML!4uv{esrWvfxM+u zN3`qMM!0!=?Fx+F_5J|PTa`0NPtWZCV1L`=(%^A!ZiRMxZI}wbM`rMl_q4%$&1rWW zMf?O84g>BwPW@U_`!xJzYJS+l+Ob*4U;dki;4dy~BJjvM@>g_x6|CERv72dqn@xIZ zM=dD8{;w@n9QyOlHqeI~UBS!7SM+N!vS(&j;9mWpl1$#dHV*oj8q&Dq8yqOeaE0(1 z?OLzV{Oe8Zm5bqO`!~o7RVi+5ZI;|*{Mu@7$Fk#IKgDOXMroR7N6~qKU7&FqNoxo@ z>naTx!{mie6b~7@mth^^SbObfhU;5W{^ZZ?$2is3IEVh~$I*Bcnia%(P4GajBqp!^ zLgU48E*J8xfBKKm$JvYGHnZ>hYD~^p_cL(cd^(?U{N75%aMRv7W>#v=G><6Wy~Q}S z5AcmYGu-iz^f$Cl%gySVjk!j$(&gz0f2B@ZjQLdimaaeeA5)xjEgRxH$%@$*e`NB$ zUeY=t{}H^$5lZ2Khsyr|9^Sl};zTzDc6LQ6PC^YHBTu>(oPl4=YxR(~oAnqky|&PI zKD`H90@rrF3fz100(dli3HLp1jySiLc}sqLKAq`haKSkr()$ ztx~&ZK09uy(}DQE*2=}|&Yy=Of2w?yC72^MZ^g>wbg&YGu=3*#C4(x?1^@@FEaBo+#~J#%=IT8zl7_h{hehzwBahoHFvGz681mMG16Z< zpb*A|@@X>GW4iqP!Eb7w4n381Zp>ry&TU5E(Kj!fvwAqsdE{qf^A~PGtSfgeZpn*f z_|{;|3*mCF-GW#*Kl}l>z2WbWS1x@F-1m;&R}#!8A#V&n0v^m)3+H#n@_FFRZNKsi*IzpdTz(ESlGz5hI^hv;i}Zc+F=Ix9$3J&1_(S_I zfTwLj4agfxe!tIx{qgg*j6d**15f1fQOG-%Wz=Rkch)#pMcU{6IM`o6An+gISqgflI8@wlhidhl@DKLXF5 zUoU~-x^6z;jwN)y(EjLqEyL~G^(3D_*P|i_lhCf`^zT?V`tp2p3!>ber?d}<)7Brj zx<)bhS6lcV+BMzF10H3kyO4K$qkUv7PWtYvDc>{TnX~Bm5OMuFl^1ypr?Y{(rq{!K zt$5-^K2Z-NKN{lPWQTAc$VWd>zZ9M6J!vV#Q%9Y>Tfhm`$K8h6ThY>`K!>WZ15XOO@+K|2-#sz zhl%yr|08W%6TYi7+Ku@$4f5QI_sE}7Zz zX(~Yacsn!)kFIY^$UB=C2aoSxal=cINBQgx9j*bMz_!AR*m1>S(o_9&4aASN-)6}3FQ~r{r&q)J!6M{_ytm3l zw;=wnL+etA+u&I`FLR|*yCduwjd=06`Cfg<>sP#Y3u4`~g!cRJexUb`_4g=m2*x+i z-?(5Z+I1Fu2zmYWez1f7;WW}`?PuVrUrM*;MLz!PD&VU6CxIulrv28rv~R%W_g)k3 zw?uw04(6(#=3-C+m6tsV5#jtqmRx%7T(s9;Cn^82KVf0~DO!yEnt?t6L_@?(xH z2JV#XtSxmLxHD~abDk5&)hl{0+kEyG@U*Y58ZumelgZ?{yLx~f>BWt^~ z;W^Qdt&gK$cI|(_7w32jp75YOz`eT<0AKTw-k%k}I|@Bb(tF%8E`Bc>@-i;>*V*tN z;BtSH>otMhv}<+)m+hI`l&dV$CsJe~@IYK{#Fgr&Zv_~xvD5jxI@m!Web>dc zhVqsC9EJEjWXQ|UQ3Ry-ILux0BM->WRVt+CLKPebTz)RJ{-nDYM}}9o!K2DY`6~C+ zXUH2utNXwscger}qcHT0N`c9+p#~ZgG*55j^YVl&})lj>N z!Y|x{Sm*vc2p(h4AHfrm&Z8X_^VQ_V!-Djl5f>-{Kg!Q9@%IjsKGO3`Vd;4u@jFi7 zk)NN@NzcayRu=~@KOdW(ByPAU@~iV71CJ}868u)_IoP1IU#I*Wtm(_zTufeBh{mIN z5}ki>{~EBa4oKhO3|*%4py2ARz?G{g-&$g6{TZsf^jj;D$CQ5;{I1~pp*KMAM-uaPuvnTM*?8yQJror0=-O&qrl@cf|4Har=h>kk?7?TY3KLo5*m# z^nDCneafHDQg0#NxSxtZK2rFlTVQeydTz?wupMwYu9QXQ!9HQ>yRy2TpCEtE{}SU= zC4Dy|*p%|5ZX7+IW|Q_cke^TUNY6j(@7;kNg5`h zJfD?@afjW4SoW$m1M5lc=RUx-lU@OTojwS0;+mLSvX51*%=pzmd%m(Q8;gJKka4%kTU348|j;vSa(#aoX2vu5z?s_M37w~W`{Ke6khhKS0Jqnm=LEVQ$&dK=6}|zSTS|Ja zsj&s)$l9_Aa8pgX&gPlbDVFhT3rwBE%IG;-x1U=#9daP3 zdHK1o5s!|-kE$0Q;EIcRU_z!1cxgD+ZxL%v;L(~iPIVH$xPLux znZN4BmEaE*d_wKU(LBgqy$?Ui-zV4oO?sMc7@F~%7+066Uy3PD+=5u&v!(~)S+kVx zD+Mxd01rJ?wBp6%UUxRxVK2qMJ#J1DhU@SCGMAOMJK1hQEX`joqhHFggu6Pt0j`&x zpEOAK-Q;;cS(?B6()}-a{<00)j&}W$9=vdu3|5wQCCT6$=vF_;3fnQgYq8Dz)lWv@gapYY&6}YoM#W}zAA0L4|8ypWHMrg34vl8$-J z@#kFN+$+jg(b{Qsc(Gk!*;%yfC|nNhR_&FJJZ2fP1h`82K1pitTIg4x?g`+gF(2Ga z&vTo;ubRW~E zqji^jA2Z~Oea7s=UvXevA#5E2J#Ec96=po)tCfKJixvU?tgs#HrEtIbz?BQ>I^?-C zwbe}Ca*)qyVQ#01tZU;o==@Cdm+fQPROdG6WQIyIQQvB5m>_1UTPS^1Gh=nOMPkkTY|se9`GnH(L9x%F$Xw5>l1M2&Rb}=!>?jHlSa&r!n9+t)+aJULzKHDe!q8c!IZSTzA}e0e%l{rTq$n((^D?e{Elp z>7!ao`%v`I*kG@e4spFn-+uT0gSQtfSav!o_qC~8{@*X<~4A`bBgml zQ)`xG`uiV!0j_FH_rXfKwD%B^0Q$i&5yI>_o13yhP?bfRK@M(U}y9H8bUs>PmTC@$nQznZ$Vyu zPf91RulkjMyu7}0T%1DZiP!rB7ur?^kLB_QnopPNfJd)=b_-%ZuNGW}I1Fy1^DO-g zy3SzUv4rwrp|y}#6`}L@#c_pVc=3ORU$4$)rDYP$J6g>R#8u#19UH@~W01!&Xa?^As@Vd7(Btbl;4U^83lW0zOMoveRcBt>f*LH@6_>NjcwIO78kD-x?ov z#k|j@3;}K$i1Ud5msg$6ZNTNcs{S?_{fbs-2|U_~?52J9q&jQYS7jD(T{_KEH!AKg z!f?x!DZte?DX(h&?S}aDwJieN9}^EhYWCKx!Q@r?oWLz5s{!X$w5!f=U-3`ym;W~1 zAIbfh-WM}0SC41Mz29;{zUtkQSdRtVGl5$>e{~Du@leAiG`}3C_cd%!UIPy_pnbGM z)*TjJlv5P=0-Rrb3hO|{-c0a>r0)Rqx?hxMa-I(Bzr&-Osv#bnuj3}L&KN7l59Tbww~9t%Yomcjlq~Y72Bh-cudC4tY;`if69ZNt_4S=UjulxyVlj;J-)WP|Pt7!x97_;sJH);-}zxFTL z#IrvF+&6fB8D9J!_ruC0R%*u4{dCJ7E7mQc+2zMFJoKFMQgqKWC96l;%^A%~(?Oco zN|rhdKL&S?`H|tl++_b=A4|bLw#wImo0Rw5f_U6m++3a)OXY|=zykwmo$N`|V7zlf zeg|&(M*b2y4Z{3oZ937+{ugZU(JhFjuhL%3kNzFie&WTtdC*(8AeR3B6@;BFTiOG+ zhO&T%>f{B#??DgXz9TemD!S2qD@SA>+KntA{=nTHu$!-8+$dh;)t#bvv-yv}{)(vw zp^yGL$$J_e0l#DP1K{S1v_AK=q4z7J{f?6U0>#h94i=o(s3&Y3%J^Nq4!8xe)SW4c zb}c(w0~bouI>A|T1KQQxE-{Q3V|%sb#pC?J?P%9@{J2{X z>)PQnTJmD)|1D_{E9Ljo)peUTV|7Jf(!l?VXWpiLw}lHGhX6l8`T1?jJkZn8hV)UJ zDV}A#`B>6N#udluevnOljO;dm;$dLiZ?JQC%pkNIyg>7sxo;-)(c~zDb`>XS9C2@B zszcA}&jzs4I`6q#5X-|OOJRO=24)k#>OFAthrNhT%iJEoxk}lQ1<F0 zlhe-F2i%y{1oENs%OA87amBsrxB2B6nZJdH9xLB0FwbP!zaJdOy+J;4b7{vvUJipIU}| zsI-j*9*~}^H_j>qT>t7X@VN3*o-`kNgLd_c(t-Qx&^&1C7DE0HE6M^_H>7;4E>G|8 z*er!7F@0>i$-l0@={-lyp%Tdqk2I#Z;szc-JOugnkk{^^{1Yu$0{Mg=qJq40+e^0~ z{?C7e?q92`<^XOjLwO*aeF}M7e{~FSt~y=kH(ey08=DE-CE?tTN*KSU`JaG?C(^o0 zyz0PB;&JRD~$tI(YH8Fx1|Um6jE6-GW#S{N=rl z7fW@GijcR?eB~Czdd8|0jBCNtst+&L`A!tKs+xHb&$_(3`!d|{oa~dZzB2eNBacE) z`Mb@+zcX_(Iscw#$*iaUOd0?jws6Q|I=O4_Bsq%Qbqs zpW%v;^t^8PN9j4V-;{2KtL(SHW130%+?M(|2QT8<*U46t@$_6u@W9J_tR9@U0sc}Q z&yRMi=Bh+-dnqsEL$_(Y@zt^!^N!{nJtwbErg1H#ouKixHv*oJKne0C&DvG@DL$2>Y29e(x~wR}g;jr%eBm~bFS$a2IB`r#gg)xEbbe&H`KdXR zS2(ULWu@otZMPtn>7#SP{!aZH;E^ORa7#HY{H5=l37q@#7`SuuNBGxXDhxa%tsera zP!V3_(~ZAJcF@!HgyD}GivVSk^i z?p%gPt+CL*kM#bUL%KgAzrPkhrIE}2Ac)3{=WZ{Dh&4y8#tSls-3hBxfss|zgmtf z_oy|`aQ{Y2SrC%@ABq}p&2 z=)QR!X}s&D>w(-<8t-?0Dw&7rqprUn^3MEp-zPThk64CBzU^4TN{jSuhR93P~ZE7nVkQAG01bJDgHf27s39P6$;?SUugZtuhtY~@*Zzq%p)2T`-dwjUi#Krrl6N=juPdGQ)zx0; z0^Cwn0sd$z-Din*CjKnl^)Qpyx7L7PF^udZoV-E)x^jFTFCJHJXapYNS=Gl(-rm2! ze1_XJy?{GhSP9Lv}O%)}a!UGp-!~d3!9yXUTuEVi~UarxkF{MtLmz-anYv zG({hS$N7Trh1E1UnY^zW-EXp0?|^n~!b*DoB6t!!$^rv`r?;|Wz30toM|_5hlO5Dk z_Jc<`=?~!MNk+(r@|`Nj_;s!R1MVL}@odT)ea`yJFQ)GS+PmRAhzpI|h&*Yo@fq^` zA+k?Q%{fZOqm|@!ZD^e-bi9apEu3B*{ZjNtoCI1-`y~&PSJa=4{NS8`^ZLNd7H{)0 zoLgFLCM#7#h{tq9f$Ii_GJj2Hc(`g0=x;iC4C_zpqY!ZQ!Op;)n$ty?Tqr9i@}a(9 zB5=M_5^&Sk4#>|o>HWTKNe?ma+e*^+*ab7}5cp@+Lc~LGc?$GVJ|(~KGcrCi`*?Hz z3?AcOeZfCawLXTm%U}M8b{z|v0aqWl;(ZEJ$`8Q(t;n9fde1N(?bTC&D~^%;Qt7^} z^RNlHeBV~kv`4#^sTFLj9mmCP;J5Ftg8XS8+61_NB<#sqw4?JfIZeTZz^zxL^Mc~p z|1kY+Ychayj|PLsRN*?_W8w$xgMTAs2wySy4)Tw%q&aZiLb{(A+%*~ZAN5xc&t>g+ zJJR@SoNqk*?$|`nKX@OKo|ZYAZ?SecvjRNfm4t_i%|f10-u@$z7Y|$0OF$pxz*wwH zH5*s7W4LlNP0e_*u8jNFEr?~ZdQ@XxEVWVkF0$h3 zF}EPrb>phHYkhhfLm&1x&^VWSyY$j#nSZjczKjx54Z)f z&VRnyg4LZ*OJn`$?ex$sh;_@s`rwaFFNS^#w%iTV5>n^~=L=zS>9Jf>`&al?Si>#(Chf9SRvH!2Y3TU#s$>oO0w|w;+}` z%O0!7i>0^2;#gMtPLqAkofwUFP2a}B-d4vxw;&#m%eS%)FP4r{J23xfdt7r1V!gTM zAllobY6tt+Q}+W8%{ha*(KG_{k^iI*c*fw3&_B|;Iq;B<^v}`^hF@e{QUAa1w*UImU6_ixF>yoIJmnK@Zjs4;P-^qB0dc3 zmw%^EYNsl-d9i&ysR?lY#Cgca3^l?In(2dp+ZvJ`!rN(|L~~_&{=|CzI^nIK%ZYKHWWatmTv@lOxx!G$ZU^J3jGhT>lx$0MG-xkry; zxR6Y7uHO`e9YU+hk7l@CMRpi*aX0*EyiT~OF!@oIx3zDV^nc~87l(p}f3yd5G`F#KjT6Z}>b^w~ zpPrZW-3)o3S^t)w;BR%PEwy`-;?QuO_E`wKzTdA_6Rw-ccx8EGM`>Ja>51_h_Phs= zCG)OZ5arAb55YdZb1??C*Gkh)_~lOUs!TZb3ZmY10&OqK&8Z zq};CV(-gEDop=`fk!@s$_(}%EgJ#Ve;GRv?UxRoXju-jV>kVj^A4qXxY5W>?Hr}!T z*H|yR1ySxHW=(N}4b9dyW9tHTcghh<}TAARZZ)dDQBKiM)8+d?Pf4 zmCkoZ-GW%A&zXe&8gH!zE?-xF``=gKp41QE*WMsIm?qRkTv;m>fd2A6?2!QNU*kPb z*X!hcZEWh*@QW+Ykni{-$}^bn!=pNWXNUAx2jMTi^6!&)Q9tzw%0B`Br$VgmNZkZn zG4QZk5bN>#==%wZb=!b*rQQP9g=QDy#pC{J&dID)KlZx?v2?wm`vt}oM}Ygem%#mB zpEcpd<657Cp#Zk^Cs$8hx`x=$pOc?{h3B?sa`d3Y+x8@#}?Mse^L7pDDLRBes} z*Q+kW4yI~8=ou&y1fGy<9r*RabJ#~w?ga4Mamx`Wz6#I4F9b;5Hsl|Sm%y?N;HKmQ zkoUGrjo~@5zdsKBnU%_=l$X|wv4Y3Ef*Z?l?dhj(K`a$pBEb2njgfCXgDDR6dL8`Y zDf(p$FUt9)=OqlQQ){rgVw(qf()WtyYhn6+=|fb4BWAk#-pVO(A=oH<&3eWsU9# z+$`-=!+)Z2_pH^r@A$p92zRce{9r9m?nkCq;M!@oAeJTDwT7O-QLTXcYhC~zd6(6Y z7mo*SEx!%`X$tuBKwdEr^G$eS5(Ep+#dMZwZk-olRdLKKYf) zft%xZLSDbR3UDrSEaorU{w(0n%)_9MsqJ3i&b6dZ%;vVx-#TO|+BKax2zhf>HN>;m zS#$)?iR*!)ghv}hVIRd0v%kYNqw`?Ch)gX8+}}ykvx^D(yOz^)7xu0Hfq!yb>AH;9 zp?^4(mC^g8r+4iZw5$637PzVKZMPsE=U&ozihcXE;k;Ni#yoZlVi|l?ob>;42zYqY zN#LHDKYWKrx6pcCm_8YJwD#$tJp2Dk@?+W|Us+by-xv-a^FNd~dNun}li{B83(+s{ zd-6-tE}>mZ%jh6ptZS>hb_-&e^`bEOC0Ju1FV^*bdQKxyy)pWw_caE8)JJx+ zAENiE%@c19VDdUEXuRd zl=;KE2~U6Cqzx|~*A)2B7v*G{7vifm0*mR)}E1hS_p7!lDe)%z5fQL*JpQcT@UL%6YXN^|yq z;ow^IOZIQqFQ*$bJk-QzT)DUctyn$iZVKFC-tQK~x?+D8aAP$Ga9(`_c<5_F zA}=1d4lWNnJC9QQdoHH{cf~3o&m9)r0w?CNqxFGnyILpmVx6mb-7ScPq34YTyjVs{ zUl`9y;TYvxb%9s#m$qJQ$UEykatq>d%f1$f2k(G)6L_(%uTK8W{&_3A#$f7_~qvhofR*%GKvRGI?i3(kI;PIB;1$^!LQ?Py#D~#bbkTd{B$dD=d;;yA&J%-CbJju=5470k7wE~w;&$BI&2>JLzOQ9_x2?} zrWL3PJ8V1J9=NaHzmVsv9K|?IQ#ATcA0-#YxKmHv1YGrq_)F$`#Pec1GLK=-3GifZ zruDzQ_6^8ehfw^l+0_^NI2sQ~;W_a-O*_&@&=zUO>X9PRIjrRNQl5#-y9Yh}r8}lD z++e46J$qXNch;#x_&v%qGLPZEy1-=~Q;R8x&&Z|u7c72a1uFSC=+OU54y553(^b+~Y*{dJy z=Dl7T@`h2=FU5vf;Px|(fopPIL4UR7_q1d@n#;|Ao6b>u%KOEK@)WnT_S4KRW3#|gK9-aj}VqAs(8aploZu(;faIa7V zap)~M8MyN$^|xeW9oCt_9yfuz3f_ghrhY@jRj7#@xM3!ZBh&f9@VhI9|Bffnem&$( zb9(?+RnG*Et1n$2cW%zHkmtnt|2FZb^Z60aj-;OxD7?`yXp z*0~~OUaX$<_3A|IM^Wx#G+QR2C#C=}0&|Fh>j z2;AT8qFWH_GqbAH=fzU^m<9bk(s`EWbyv)@-o85_Z(c&}>e};_nY`m(ci zP50H+@M0PG^$B>Q(_Xm+v2L5+ALH8h!vx67`*wM9#3DZgM>v7Y-wSfuPocl+*u}tw zoYb#KWa4e8d720DAoH8o zk{{F8Q#|`OUWB|Yk@D4qXSr%Jey;mo;If{cdG!3D+-}fE<4bN=vta&r?HZm_o{@2H zO&Twrxc4!PUq2~+E-RH^)7^qtK65lg9t#}3mBNd4?V6WvK`e{D$c6bxAMBCBi**-A z?P}hAg5M2qoWQ+>AG!tcxH;n_aBZakaNW?Iz=g}(khh)hKLXcZ*bn?%pHA?j-8dh3 zFgL|X+Q_rORaK_}H)Lc$e#Vuj81KfP=zH2G%>m$hax{Sc-jt_vcuxGq6Rw&w7jYHX zqXTZq|G+JXhc)wtAus8=2ELQ;$=}`3*vF^ z{u;C^9QYl$_vaVDvyGttcuu^Y`i|N)zNhstza|^FX&2>r88_wY zKWciakT;y!?-s;*VCYTY%D?oG zm+v>J^9-!Vi^nb7mB7O`8t*d}yg`4hE2MTSlb$1r41xaUHPgZGlh$L-BlNwU$h5xT zaXz5&71Oa6@`lV~+DYrcpq}!KQQ~n(_o)?E7bY@&WFGB6%1d&){t2X~+%Dgacw}7W zv0Yn^eL_uxDotg4MvnX&sq%LfRu>{_;N0l9Zb7W4ou%gu_(^B1yjbTSUv>*(sob#^ zF|6F{2=F=y=O5h;{8}y1&dnzX~WI9RlY(KEBJum7P+V2BTcn7^l z={-6O`pUSa>rD7jy=z=2CLerq8}iy+3v01@VAp{Tth6RvaSLK;?~vMr7fVHjX9iYU zJJS3Tld&Fp3dM$YVYsR14!0ndfys5@$LO#_-FUGcTub_Jb!h%lm2Cu`fS$%(^3WpS z@!xz29)G5!S%#}R+IGvjd{BKvqws}fmV5pDoIRaI%+`S#91p5(90>d1}E z1@6dq#3w8NXNjf2Zhx^Zh%48wv%mvmjddjDcia54;9FA90}pyG6l1tEm;f$+cmq5- zt6K?%%RQD4XQ^)SVV|s|s#jT(Bqi|_$O^u0Gw}^)-@(t0M=yu5->qKK-*Y=F<^!t1 z7h#X#x0^m$`CWT;Km2b#(qX)$T$`>%eX^2E4yZeS0xIs<0$^K~};0K2QkC|vcqrdK5Bg5q~zX8{GJnWN|Yk$5F z;zpJK6mW?@pNSuDQC3oZH=i*851oGKla=eFPv<8~N^1CSD*8jwe@05*1s+bh2Rv~5 zwog`g(#-DIcVJw<0C@a7^`CafmXeb4yDN(}m8HrToPDzLSKB)Ye$cnx3tXRV5AY>v zR9;Ku2JlGrYrwB;rT4=6_+jADcH~dZpD*Bt=sJ2{q<4^i4CBV2-t||mgD>Bs_a;-b zHH7`1VugTVm@W3>mtfU1S%s`x2wabB<%2L05;zkVi z*j`)$ZfrvKEKkX6kd*(k%~=F}ZxtH%HH&^jJtkV!1#bL?{E)kJ8RTotL-zQ8BKw1} zSYf7P*hK5cJa<0&WaT>e{%`?FN&Ty@BVWzge|)lXox9#@^m~DccY)g*#DNFy??e0> zN6iE-&WD*lt|8*qF#hyRN%{ZS{GH&>A9xY|wD_I_mnWVA9xgo`cE-w|0`AYv{dvg; z|7fn!Ij){*)IZ2C8rEaFhE_W8^#jOnGg7mbX1Km;DsXi_!gV(%)n~Zcz6H3jCvb_L zKUlU&z=eLOXA#WPqFp-xw_Q8ula>G1gJU?l+93{--B=vXUm+y+@vc;s~m9M;(mP?9{rx? z2_rssuEeeldGZ1`{!0F-oaZ;pA50B;^klzl9#T81a@1CUT}!1ZbZ2R}BE>_i-X(~i zRNl&P!&d4Kw|-Lz?a}eoydeztwmk2XmDE-N=iuvKKL?&%{|od#i654MFCV4nMY@g$ib%@;sp?sNV5z3rQJ<`&=5zB< z?}=jc9h`V0ij$yu75d58u^!-i&t3rE;#z_FGH-3+kd*%qy`p+ly8kAj?m2x3 z{1dOH!EccQC4tL)e{R>bbMS-hw@-oFJ6#9g^XOhdrW?KeIq+Cz@|%=*5Okzde~)6n zi*;Y=f&Q>3 z@a1*z?a$MJdxkEqASu5`EA$z|Qsa|5K3Ped=@vmh(rB$kQm)lT(s}tuu5#>Js^6s@ zOKo3KzPi2-im~hPpC7ug)aCi;la;i5lPxHhJE;(Kr0nG9iIqO5dbFPEASpa)8zX1*U!w-#JmGOSxIZ2oPqiZpL^I|Qm&&zsb4Dp9_voy$bxCDYO!n0&OV)3YF&NUCo8F@L@~sJdGA%5q+HvcP#pTN>ChgvPE~(~ zyPl9e`VQaf*tO-t_XAmKk8r&4FX(?l@AeO1cziVVGto?C(S9|v>AR@m?9_f8U(ZI| zhC83{$N07#WWVmgj$G{8)1=uTmJ0nqnf1BZwRh%K@HHP_`DEoft4>-QEh*Q* zUi*Erl6Gv{75e(Z9lw{9>v$*XZx>ZKVPMzB8Q*~)Yf0r@Gi-EOhDUy>0lqf}wbMOK z`$1p6yRI+$-Smpe`~C9bh1qq%r5^MriRbE7vU0sIcoX&I=|8Rq`(5tD`;Ekp;M<2@ zLOiG@Jom}U@6n_m5I-%3iV4IcE#O4@rb+2cPJ z0v_*A_IJEh5&d)E-dvZY@HD(#IGvu->{{ zRmS&~)TQZMN`J#`z!NJTmX?&CC0_;b1Fy~lzw$#?)UPS)Yv8W+RKEvrwXVYWwqf*s zP2Gk3A51-uI1kP%2EJ4?FZ}lCP^aRIAIZ{aI!pD2Gd@{KhyAd=w4|i^pXfV)jtXRd zPMra9D>*bX*zbvv)K05*{{!*qsZBbeDffM{@_V0;N2njGyaM`x;neP;%|_;xl;6#_ zn?uKAp|}c`nxJ90{f=)YOB0=Q!%pXk2cNNP)h}(qH~&d-TVhKi#7V69BH)gf6em?5 z%`DCM4trJTSVM%DefK%y({W-9@VNS}{MZ8QL$o*UNBr?0 zfVb{W=gS!uod+JdLUAkq{#yY_(UV$^o5fP&!Yw{oNz=wgFfPbH*nvB`)4XDx`$}m^ z`CXGY4LaIBAEvl%w91qDT1iRwG#>)}=(#_AvU2@o%LC}> zufLlhDcAbrv|n$`nD>Zh|JCp3Fg!BquuoRfMmzeVA2$9}6S%tbRp4&ZVc2i#U2V3c z@M2DCU&pepgFV`3xxm*AI1K)sBD>&Ef6xouzm3MPz~mj+FX>)Q@8h(UX+EE|+@Ix{ zuJiR`@Ll8YLdTr`1p9)`+F8Ig2I}8N&Rz!p$N$<4T(yM83r+i`$k$x)_z0$_iv0r} zL#3B0c5SNu3b=jl0pLx(X@GX;9MyFs``vy081Pwvd3tso_@^##iLVbYcI_16*?-Cg z+|J*RxHosEdSAU1^8|nUhtTmjpCeyw*<~qA&l8FPSDm=NhxO0)d%05?9$S7Ic+%yQ zh;!ZZ!YG$vIgJa(a>ENTp7d)U_&+$1_T8VfWX5=uX!8efe;=GLx8*Z z{`&c2TcKT>#@zt!sZRS_z4bmpzhVDz5^znF&b5e6X@q)lXZ-~BI38A5B`bEAi!6Zu zRUJMBF7fjgqQ^Gle$Cc*HFUx?-uf6nezUV$Qc})W3!LEK6cX`h`Z z%LCxOGcBS1v*38>*cYD#?!0fp_W|8Wv6+(c|C$eUZiem4Md$~tXK4M5In&?Zn;vb3 zKb?oZaWTGg*K^?N#SWA=TKW>>+Ub{W`#JH=d4qR41PXu9_tQPpkD2^%Xc!2;-FXIn`IeKigye zsm)uG#>bNsC;m`!Zf2*pK$R&hm9|s7MNgi^clRRWZUa|`seki!Z~2bJt?5yrsf=&$ z$#Lm)CU$N4Via)y(tAExxmL}4ivG4@wMYxOb2WxOC?go|9Oey#_JdwUWxE zZEZ%sYFU_ND8seiP=79$e2#iC47d+m9`eE`E5FP3itvMGTfrYB<=Qlg;xOE%J?3w! zXZ125wk$Gb`gqN)|+a6`pekxIEE(iPf)M`OqjyNu5s;z@_|C(XPW; zBB>0I%t-^T*)yOtyOw`E1l)C*+O@TRzA_AVeXKN@rPeh^e6o_B7p|peZ89AB2Fg%Bll;vPvj1gW@U?yR_+;h(yJneO zPEyj?sVCqITpFxKyG{(AjrvXePW?k*)Kl0W{U!4x_J58+)L&_mOV?u8o+T;hKedN~ zK3TawxOt^sQc}j&ZMAzX2aJ%;!n8eHrjs zt;;u-l-~_pN3Klca+8aNkgvnopY%Hie6qs(`MR&Fq@=dtPe~`X+b1j6OZpGM{L0Ym zPIS0mVtA$zs^4-gG~O>1oTIgHDs| zIh(NSaM>3rEY)=+zgcT$L3vH7F6dj&Q~W0{ISK!S*VB6+!{<~ly>&c3+k8uWp6`|J zv|dZ_?R)?9$x1%vW+kBSNy>zHvu-E-(8N!HtN)n;T(rB%1@(<3<^K|u-(kL?E=lox zvFBGc7_O1*;5*%9&)cqb#5TvQFkJ+-+ZJh=0B>le*rhFDA|zdgqxlOZqH19)9pKn{wi|dd{Yt%w^h`D8^`?o9ng zxb8yeTlxANfg7`p$bg@z_!xeR29hw(iLWI6b=#^TU-N@3z|~s`k4~j^eg6KnfLr-~ zWPKhw55$lwD{x~s@>@qoKa@-8n3_N-P-&-*ul+ml*mzyrH7qaF>aCBWlj zNMG0!NuLB<*dv$E556k*O5mzNG(Hx))fMBB_6$DBseh@mIn^cd%ecaF1#Y5TuY56`Hfjeeo%YZkz(-!@ewa-t${ro+M^BwiKu8FOO zFdcPk>Q8Q$YE+k9n_pJ6v(#Rc+ROXYk%-%1^P<3|rfEJ|`F+W)a*ZV=l`DJ++*3pL z$;x%&67AOxW*$R0KkvQC;4J7@?VEzgH}R5mtbD(1V&rb%V!v(7Lg#5DQf1h0UvL}x z>EjBZJsOj9f*<4h#(h#fNy*>e^YCDn%6{^v>*p|VU0`bldkhPvqrB2!2Uhk>6Ag8^QltZ#UrLJ(TYH zI_MiFbbyZji;K{iKi>gU8v;%RRa*a3|j{w)Jo7&+YBs05|b?cxf!# zSW@hA*t^k`k~$L}JwxNNexDuVtkp;R_v1MagYQ^#0ri#W^A!4VzD_Cpx-a}` z;C8C`_qbi(F9AQ?Y!>+T4iBIc^O2p2(Qn8eZf6_sS7jxYGQZcxC$dy79`ngcYV45) z|L9xqoFFOJuH7`R&|F_ofL%w{+#S!-*s8csR#JPb5m?6wUXb28PRb_CUwz+UJv%Ywz(3RU{>Kotg%|OLN>O zE7ySy2WWgBoEQ3zr$>Nq=(rkq@b6R9e-5PfqKnLICMo|H$v4f#(qP+zK3PdGy~$l& zQqpjY`eAQ?;?poVk(uF^Vx4EPG<5NRPgYWu;YBq`NgOhr8>#V8dnw!KbHtlra97xG zdU(_)E4()EasdxMT88@(eIDw6RHMqEA9hqfIa^YAhA!`YvXV+tky;W zR<7OI-q)9uG+K?G|3ucj@yW`y>&}dNl9HM@-@cl3%tsCx87}pt=QF{p*;dKQwISpJ z-_?Vj^El?vJlwQx5#lG3HV63{Z&Cf)=JtaY6Mq99ZQdUC#C~y?W<2Yp38)wGo+7gMvqB7y zwWH@h(uKc#vT_|gw6m_Hq?*wqz>gGt=986cyXy(cD{#}XcffPE&>+q==RHnI;mIe8 zBH#GswRzcfEbkiNfzk9l;nB|Ng&A&bWd|x#rU$>up_9<@y6zx8U4^K=>a||bNLKVMZ;p}ug|C3`xw-7aeg$`0d*o*Mm|AZ1 z$x5m-rMF~huxYCil9H;wEa7L@y8Ff`MPHyDS<06N9^F0WYlcVXIA%&pDi2Bq9-pUe#qdD0 z7MQ;!b`w9=wo5aHo4=*?IU)6X-@LAb6<4Qf9Y5{Ecj1cA8YlWxOzgS|HPyD=zYz<^9}k2p}qVY zpIo=}f8uiSXA}O*PDgXo`t?~ z&fpAj8=X@z13%{aI|EeDfIuX6Xf6T{LVSglFIj`vpImuNL|%!Pm~GdJ+AVW-ir>mHX4u zfxaUtbSxYXme~h8|BXlH(|ezP;|YGgvA~5rk@>ICuL^q-ubxmnu8zY_^YO|kuW=9c zpUMb7m-#cq`%hty`Fs=T2z`M&8qNJr+`sN(20X~irJj%v`Ys+nLMKqMDC`mX+8k!s zY1u;OEr)KFft{khLX)m!s4r13wy$$!h%15Ho6kb~68Zuc=S%+^k7r$ve)!*bcu}tm zxZ5xQc1GsY{&z#~3b0e)j%f51DXd;xO(=d$ z*G$Mac+Z;w7y9D6#{bhl*PHA-5=6i1pG^IX;OhsD1^z!iuP@EJGc-Tp^%Yw>7CQdg z^MFVDWYlr(qj}E1b#zbkn70UA#HS;T*29bV6!t_4&qx3KZ@zvYorfm){((Qh9^2Qn zKPWMa>=F8r`P&@KZ-OuCC7O@EgCOcf@b$5oqyLMqe3x?!!v#Mq<{SCwK1k?$IIhee zaDOClq3_(M%V3X)|L7bGa8X|4fLSP)s^CS~6U;^JRAcH3Ts^QFaLpAx;w{{qaPx7x z?-O{jlVM3#?2eu9hK)dM_SA6`^@wiP)bzt1l^z0A5CHEJkA0i!htvi@+ z2e^)A(DX)3-<7R6_@T`gp|9)S5c4j3b$ainnLzE=(%S-D>R}%#DgS5roBCVl!e%X* zj&&q`cgfkU2=Wbn_6U5(-CY=GV`eRI|FcKLzpa7aTqk+IExiP;%mkq?+lzyrhL>_a`;o|7?zDizVcQR_^K6TzrC^@IwG!|eLjP};k&eE%zjth6vT-s z`5*W}6+8~U>>UbRRlXSb>R5j0hpOGhydt!jaKU#rx}JgW_4WW?_oM;%QdzP``{FOs zFP@!r+K?ZNlaC@!EIoO<3zQ;1#3w;V85htVt<4Bmcdi8;U4;&4cm6-AT#2(b@J;=@ zpuOuq(EM4wC4UQ6-pJ8|;9H~lNT2gX|L{NlBqQ_#XXhhd{kXyz`0AX;GwNS00Db$2 zq#q?EpXl7Y;5)yf`Zf0X9C(b^uXEXH@Do{o1MZzti1;}>z<$STC;GQ|QSzIU;}PB; z{tqvI8Fo6_@pU*Aczklc@z;0;9ee&_$k%=2AnXqh(@?%#CsJwy@Br5_tlofniS=rp z!pfDnL;iGZmymCK(>w6B-6_tk1!}>5(a(o3Q+Qbk{|5$`VUOzCC&)Ma=_&9- ziy8wDnd$yc=xBqH6iN9%p`+dDh5i0(OTagLNA;rVb{O^u+|i8u5WJNK`o@YiF;02+ z5-x3QOFE06K*!U8{2+AH8`FXRTgUTu@PF#42bG7NLdV~S`VBFjI(Wa4I4~Lcy8f9A zzNYA>@I$=MYS=GuOE&U@&=KSHzjb1#_xz`hz=e+XBK0R?J|OxN^SrLGN8P9h$`yTI z0QQ(_PJ%rG*T?9-Qt0RhF2cOx-#WH@?f+9p;6g{!_!{&zHxkfMwV^l>_JnRs&!A)8 zS{`wjIQ9o{_hoADQb8ZpBmeG9uuehPZw`b|@9ypN{akYnYDa>vo=^(;3ciu|djc2z zp3o8ZJ3=QgtrhYW_rJ!m)Sviye=Bg&-wGXbXZjw!(DBDBLnoTJ0(+#{)DL*)o8cdU zyByU23tT!@5c5NU8+g9)YU;U?N_h{@`}t7zwa|%`{B}0Oy+2YtI?9~~E*(BJi{b86 z>dzyYySI~->lmMJhvPJ!s`+ya-M|6hi{}`THFcqrcykr{@*&bUb}0@#SgSs8{Tgbg zvC$^r_Vw4HquoILMx5j7t91Uhz&%B&e~72F0YA$72m6b+CT3@%KYhnszmMY9@oNdP zhvW9uWRKx~U(6p&seYHF{9pVnwJ)uM;?SA@Chj)_7U~}Y+@H!k2YgYFj_ntqV>#`| zeXi*M`OSG}2J$ujvjjTMyQD90XZO!D;F>Ku)VrlaGw4K%QU9av+!Q(j*Q?1tqTam= zTW6^EXy&?zbMc%f@+H|H>;5Tp1nxGG|8385A>Zgl`hK+c1ogv0M_#%a`a(y0)|>obe=-R9#v8uGa{%WKvPZ-D+L!01OG-HfKYq3h`2O7XSqu*!qh(VEcJW59t|Sjm-M|z1J75)r-)k-pSpMRp>N-0K-}6#Q-7}K^)ALcQSSm5 zHy-9-_HN_Pd^>!*BL`H&U42Y%{36*#CSCzL-ZzSt)*k z!60zQmNPV8s!#PR4cQHyX!}7lFA9;4k>k#kyn=7e(hc)x!B_RY2_3`NA|AfbXMR@zn$XCtlOWZF;0JfwAGn{D?ooRTyqy6Z)gPCEo4S&p)t&PJSH3?8-1*||D&~Jxr4I0q zc+X;Zl-190zinqzmd0|81wXp}4fy`8OTjnS{{rO-^``z`(`pv@mJW2TNT|$f@Z;Ui zG-EpcBNFU)_xu1{8~p%W$}<2uo}7f+Zxe3VcoBGz<8tX|UojnfniKcG=I}%4i2K>l zqWl@|XDxNwLO)i9z5|SdI--9tTByEEt}?*I`v@cV zgR1Orz%_-}q(~~o-$jToaM520JXYuj)Vuc=Kl&MID8*Hr#s;7Bu;O1Px0w!{vLb>k58c^zoc_5gidT6wRiFU&bxuyyK7-B zrF;!*spF7wuQPpZ(u_hQFVU_ACb-TQ~Y1qVvMvuv0#) zf&C6Uou?6BP4VVvJq~=$?Ae$Hy2?;|Ivkf!ztNRH0JrjXt-kdV{7{uy(%m8{t3*?b5KRgeDOY7@C9z_p@KaEkK|qr{n*Ch z@K0dG1LzxP>)~hP&3*8LrZmNm^!D$@%%0%UOvFEY2Yma`uc2cwMSw>S-2<*}eH1#n zsZ%iDb~Jhf+-xiY+&pACaQi&s2UZn>PISQ+vm_-S%Z%ILyEc6f+;7FRRehE3$pfVu>5&t@NVw3(?~raqO( z4WZO#Oo@e=R&0wekKz)T8M4L_G@JUrmd4EpS(E%2zu&EtUDx$n#ZoU5GWjQX`DEG@_lOXt*@wD&cSQyGe0Zq69!94>fU|?es=ev z_b)2jdc2qM^7k+A&+m}HAF~SUA;Xu?gRg5q>uvPuWWTWkt+z=ULORO#osn;Z>p0t8 zL;dd3Z3{VdLJa+r0>y3`TL;BPlr)FaDPhsE`qOaLb&m43hGg{mDWp0EB}F= z@*i|xVC_hDHVKx4PM~}~s;?0dD(`;6-A8D?YUQ{#{ZrJ7*GT&*674D9^ff!7Z(Xqq z`5Lwn9vzzl`q33hm^aFg2v;>GJI%W?=bLk6562yCenLMW@N|wx zO3*p^0uSx+HDGZi>fP4!ICT7LXnj|x_)m!E2w&e7>C=+p_Vg~a3w_qZ;A@Uhy_V&|)gD*EAUUTIW|z zk(B>4)Z_XbmwSJo0e@ttc4r9f#rPHE>)h&fCtOvw4RDF$&bjTNFBgdew|^amJ(If- zUyOG~&R@s<8O%KZdt>@LPBio!ek}MRE8@ zUk$j*x(D+FV_}M`(7X$&-OgXJ?#ni(>-#iS{di8-LpezQ8SIE@!~CzaOq6EB~)u zG70u1zSs}Gn&XZ^J2T*s<-`xydzJw=ZaIW}ZBZNi5GhIhu&Mw1hD_hIBrBeCn$M*{ zUzK$W?6)t^g87m&5Ck54e+~Ai%1p$(DAaN<@IZy#U71dN+ux`c+piTdKMy%eBVYYM z+Lx5*PwOXLOG*HjtV>Yuu2s~}gia9dPfiD}tP+5JeBP{@Oh0lV9rg#aZ3OO}OZtvR z)uu?w@1_ByA6c^wcDng@+oON&2H(Z`u6_2@|I2rBT&!aeI-b|dMNsYgl>oOVJg3kgxepBa}B<^BnrOa65_zTiHfvr%}@n z=s#U~sQqdm-++$iv(4zABT2-M{`^O6rZ08P3q0W@{|ApX2S1YQ7Wx5g8s+Q0ToLv= zuWcVIDgWp1N_cz{`OU!BhiJIp)W?oO$C~ZDgYmsTQofpfguDCo1@7RucRk_8W3SO) zNgOwxmdXC*&(VKIHc{Nl$B)2oZke868GhXf{{*sAec8VL7X7g0H2FFFY%SH}SIaQI z8#u1-un;<~6=yJia4aL8M;-NOr&5VY7{4^rC~jTjsh{7PbAX+dE3$VN@-+;g`H4E) zgh32}4}5Em1xAKPa%O{n>^rvtm)}o-KP@fh!Vl(GD}X277yg{_O_e`~ z-wXqO0Y3TT^)DIjI?{o3`mF@+`Y;LQmEs}Pm+K;x*I0X*f$`OS4uKyly%2ow7P7~x zN<}<`c9T6TyWN0)!lP(?wY%n8@Y9NvgZ-upCoo@i7uy6p_YC5zOVW6)u0?!(r8eY; zU+B53|HnVTkAC+F{ARD~N4|+Vi-5<>uWK?pwP$I3cYa3wiGE@hNl3GKo>mh9|3#RdQ97t=W#`uQH{Z!PgX z_?B@;pkx1THSo}>;;=_Ma5&nv;}rS9QE5<~s7g3E=zre8W&>9r%L= z6YjcF1Ug2Jx2|~^^hRb^@0QQT&@Wrz5U9*3ON7GTM~Ndt!fU z=(tPJ`e#Q9)vxO7o7BFlsefelCu&o9tF%pqos&!Hq2pOWct?)MpY;Il<+!s;0Q%-d z+ktELlm3zy^T|J5XkCgrH`(uOavk~lS6@wK`G(K?;D@wZ6j%1+bZ$VbD8-d_O=FZR zl5E4cru&`vD`yZMuo{2|mJ_Zzy8?V&*JBuejVo6{-+O2%>``l~(>Rz+?Jo4w0oWf? zHN&{?-9-I>dU8*+--vZR<`s^sq(9k_kMsv0#=OP8mg3ySae2w?40!IfI>e8|JrX*8 z&tll)mmZl<4=*R$%-F?T3V-VI!^JKII^iS z!yP+l{-b$7`Yw)#r_uaJ&2iJ_=jc}xL(jnv?pdVc95@U1OC9>cZ^n7l?$igh&=2L^ zkNJ<3X&&s?>K_9)6#owXkLRU)!&{?Om_30-Kh2Vq)Kkw*eh3h*9e6AQ9`Emgf27Te zP`}<5KZBn*lL_TjuhnDTBDIn#*bsg& zm(K<~{uSkG;dr9cDa?Na9!ot1eaBULFDX@~d@Y|Yg&*V_bU*07K>dKcdpi8@>^KjQO*iLV~;1^i(2KSO^a51WJXhW1T^|4n5|q91dg;pN&&crbM% z`a>7T1IrH}Ut?AkaNW05FF`{XI-!B*(VxrD$bRSG2<(xIEy6gZT}bvMniC!#TM2l? zL%3tlMezLt_&QRKTlQXteju&x2BF3zxA^6|K@@% zhcMi}g6cPL;sxwi)hvy9h^{xaugHX*uwS34-2ldyEGh86?)?_v_Uxm9Yi^R?n%u3G zPgZ!wt$}`wZ_7IZ{6*tcwC-B(OIk3lBd?Ea)JNF}SbDeql89!c~=2sr;VBp~&Lx|7Fy{A-P=f(q9 z@BBx@_>S*v!z7lTBm13sdR1U}wCV}eyX7X?8QJ_vF^0!>_xoN_(!iR2(3w-c25OLWnoWZz+UKtw~&7VQ%T2s zq%UwU*J;1u2gHMZAe|RvA3*(>w)S*tpN&~=mmmiXo;gQ`b{U!GMHNuyic@Mwoy3sr; z&}tI+Qjz>Q7(XzuCgRQ2oa?Nb4%{=XE8^2Uj_?xq>%$(^MjhsLmaG&%+q3>$p6M8$ zbqDU*&k<3O`!+IpQ|7tUv5Yf4LBL2C6N@ePVPil~?!eudf(i z^)?mpY&%N)Vp+B!&I7Ifo+v3lC(4e6PH6obvc|8vwV&ZxodkUBjMX!2La`UiNT)a7h0QeDmzy@SCOLOSCUjOB-~O z`aVXz>)P%noy%13y-(jjyKpQ?Bb^%5-rbxp?aGSr$j|vk*@XI)Hubl&@@m$Te)o~} zP+r3;zCPJQ^}CDXp2IHas5sutp0&Kp{(tUs=%_+{V5fG?depC`!2|FE0jl329Jl2u zogyj!Cva2kP&Qe)j(>g@{e$@()yt82VYEj>%$Xu7zq`7UJ+C?L3I;Ra@y}0WlNDb4 zMq~6R>i48GtW!IbEB0f-R7v?=vx9U(1h?A4bQ~`|MNx0>3<=WqGG5R;Hn&KgmHw*mc-<~{D zQhpET>jFFDjW4}t@h{ISGnL_?j#TgNN2fB&%C)2Ce(GS(c6AiB2ByjlHRU z1@4}?Hv_KeUNslv$4-8U{xh(T?9m+QlVJIVwwIeGDXFO|>3C1}rg&~~8+=Vx>LOTn&21wuZ_<08X_~KsR>zDSM!T6RK@ogNJ&(e4O1Rm%+ zLM9lL&*NXk&4iFwY>m)^!rI)mrQ);;|dx0Ha+29 z%P`K*7(Y63E^uiD>F6Ebc;1jdt)-H(G2B__XN(K3WU@1AzWI#l8z$9qN=m9Tk$=MN2@h@Wni0RbEt{*lj(TZVif7K(d|w*4o%4;;OC-sR*LMzZ?{4y2faBi9TQcC98N?4| z`B7Es&{ z>oBAY%hzK23UTh)K;y4vM)D^NHx8)|+@BZ-|5!ZK?sQAvqCJXs7u^#@yxF(51+HC6 z@#fCn4gPdYnFd^clJN9;jXq=grgLuKss-e?=;30pQ(a~eaL)+p=aW6{!1pA5OFAow zuiaJ%d~e%cz+FEOzw6;o&`zB@-k|@99wk4Amdlv`xRNq~FWn!9a;0S|3%)Al4EVas z#81lM0Up@fgLE3vd@P_LTvI%bel^B%YwEPTtX!TU%Yb`!lb<8Ul1nq()wLP$&^I)` z8>bN8mZeh${)rRcV7$}1=zWvrC6&uwtwSEB<1b6+rE8~fy#F5L8@}#R;B<;x4dZm5U$*p3 z@a^Tpm_ImbQ9qE(acTFI4ET)paUHW$HR~(jhBh>R(-)eTgW>)vHG!-3R4;+4Ud(es z-+!DUDZiUc)IS&oT!J6MV>SVo{-XI+aMKl(OFwQE@Ms^JFKPL_E3&8ya53-lyq%Su ziel7sV&6F$qpPad+%&UB3XdQD(_&GWN9SxI9ZD`jG7 zsBa&{kCcV%ac>@uIB`ELL~(VjE#lmhDJdJ{2l%`t@cXyGRZo6@%=))TZu;J|=?;yv zub*`+$N18SO3-o3Q^22plHxO7Y&Yg7B0k4%8wtMLq!;++x5S@(qX+sK+uzhKEZgZh zhG9bv_|sqKJ#^$kG+zxhrFmCmdQaeD-X-Oxc4u_eL3LZFARXb(?|VS!a(iXxw9g0(XP$M z&sSzT(G@fg^k@AE`MP<#PBf$MQ;T+OJVyKg_rI6(!{6So$#irLJHyUU*bkkR{C%;} zpBuP%U)bnzu?aTi0 zDR9ri&O;^T{|t*L-n8!zWRsO^b!x96l9HNUQ9l;{>Iv?f{P}kQ4_Bam(wQli&f+te zYdrKVgS*2XUwB7pS;3wC==odx7{!~jU#08}kG(oMSYp4IrhYqTsj=XjhE#+-x*o)j zKFpd;R(SfOs|HC*8eKv5sMdaanB{BO@N@vfW6QrrzE?(iQLf;+Pk_f~lm6{JZ7^Oq z`p>p8zP=2_d16H?luLVq><>(%`@~8gEwHC`uBIrLJwM$i8XNcu%F6$1r#HlXt~W+H z=E3xSNA-}NPa4Mj0ec)P=((k%**lcW!=GC&X-@AwqZ2lxTyiU_cWdqoXpin?6Z$ec z9j*I7M|U;79?Ms{WrhFE-yQ%yKI`Ke3=hnu=cR^XYl%OHo}+esn+*GH^X3De)%gne z`r6e7O3MF*%M(B6@?OX{)aw=ap@sCEs?zvs=(poF>Ak8pFSXN`)3>Almo_Be2kio? z7s*3@u+*dShPWTXe~}-o#|A;)SYr|FF}*L3{@;+Z7v1lt@qYUcTAyH^8m98{^$F(J zkU3N`44&|0w6pS7d%ub))iH`19v@b6P*9 zy}TTDM)S$A({ImJoAK>iE&^AFHUfXC9$1Uvs%f;|EKqI@@IYj#f#IQQw_%UF)I#8z z=kGsfxGqyMl-Kejy%$(nc?bGi=|v~tk$2SpILfFHx5fjT3FpsO(_W1D4Ei$);`wUq zD2$E;vKOk=)`|bO7!5)3AZEmLHuRMtOH>e($ETi%|JGOxR zeqLUw@LcpW@jbI)kA5nRzm5^FYBHTfgHzx;J|+K{l@BH{+-;i(exe#ZfAi*`_w1?@ z^j==#@7evEYNK4Hj<0)3%KsT3+hJ$)dII+mvEsRbM=H>LkYxTq`io~mU*#l!`Yjfe z%bh3F2&QAYL**(`CK>S@&^AYTJsZjX^nq`Xuk*n~;Gv>4-dWphRLjc$$2DtvG97&; znvX@#w5ZQ;YYi%|F3VxEvnH(@QD>ud3-ZSOz@^`4y@5WD3_Gon0PqpDX+41U>Kou% zzJ4Hv7=Dv^d6J zbM+q32@fT|O|0J&abkW;-?5eWbLPlO((%@&^Gq~+9pjZW@=s(H?dOVd|0LI;^$+pq ze4Peg|B(DO`N#Vr3(6bh{s~?t9b*%|-iEL1P*vYth?PtCap5RQNu5imy!Co5LjNDg zaRK&g#?pK^($-1iQ7!t8b1;eGcF>-%#B@T7$PZS&{?@;U-iv9E(7GTUe=iohP3wOW zE2&&6zW(RYB&v6LLMhlEV1dja`8)d9ZX+ZO5=-qD!q>gjvWo$#NS7Vb<|?toRhDk z_VV@8rYoBepJKiA)Rtc(9xM%LpIXpCeiQ4QJ)4`Myked6OTM02tj8AXnb&E%R*)6@ zoP+6or6Y~zIW`NeYqeErh5AzQb*JGXq}AB`3K_Mv`Aft;hM{|e%t(j#%s%uQ}Z(1*t$5L%emLk z{HoZW1yEnAtF*6E{)PIPwA8OL4-aOe_p{;3G)_qiX3y!*#=kdV znG1X3Cux07&@=*Z;^ymfJ@WXsPlD~A@x{Plp6X1*W{9?bPSkFJ=H(KxN%tHGG41ArrScfmp z@e}Lt)92DUZSP@P&oA-w{Ztj{xsd*fbB?6sALY-53_lI{gxTZBau4?xY7IRXvb6pV z{lE3eRqzeF>AqNg+_E_12kTVFJlXs`^;dz^k+~S|?09sxq@?B$)nl8s15saEzK$Y# zdR5VBFO3`w0Kjc_>%!g#}MTp`YN-d43;MA38C< zPR7FT9A^{WJ29hClb#T%hmci09t&czPc0(QeD|JY1KDbTp2p zzztl-U5Ie$*4zxZyu=#cuh?g<{t2ExYpQpIo%S_*3(5*^csG24q@?Hf&G zkZ|>;SO&br`H9fC|7d}KVyj5suz}mzXCLe|a69d#xIMZM_-<~`wj;F+EMI&1O7KJE zIo(ekN%|J^vB*AJ_hQOH?Q!Muo)s8BI5iLKiQF3w{}{6q-`S%l@-=gQ!71}KjGq`9 zgnvTWc|DqU;k{L$df`cu^1FPyJ#?I9PvgC_IqPQN;iK(<>z+%QnNH}K1-SWV3-Fa6 zDnUQcFag|Bs1tB^*WzzkJ*w`SQzRvEpEU!I@92W|72iD?@0A>X(*1JU(wY@yg{Lb= z>v^I#sJ$2)QU9zfypG2G;+voo+?T&Ls`y1ZBdiqs!uOsyf&LW;5(LP zuEucvSsHgjf75-RE}8oI*huRC-MpXIha&YDKfaRIc}DusedUO6XuYND#W#o_9ba#$ zdU3ik<6C*Wc|0^8sc!rOdjj>FgRkyK_Q$%PX~y_+zW~Nx58p3u&qe#lJS+IQ1biRa z?WqYP<6HQ;Zu^MsD3`j%@a7Cx^YaA4yJ;V^z)i2!&=+_U3+AQZR{ccvSA1=HO_XS~o?wob+5!kQq zM*CkZHJ75kVtoILbK|C#EMIZ%pKDb~Kf5lNuRP|N<^@&3SCuuSZQ(`SP@qe`Eu#>(JMwb<}#kA257|_K`*T zen3;ZOidYISC-~2p~f#@r#O#M>{k-!F&d3+n=yVcmDUf(`8fuW-{_oMF+UXNF?w^w z!FOz-d7Z{b`=iBqhTIM*Uvj?O#sE~N7@loF@dGyeb1>v)-jI9WN7 z);SwDK7me%uXEP+u_CSv*&0*7@hhD-Vz@>18*WSMa76v8EB=o1su$BbDCcH6zsuT) z&ixB}shx)SxqptQbe^G=`^Uu3GZg1rD(7#*pW=K=5f8%uA|3?p3a-F?fxx|dKe9M? zG{N^H=L{6Uyvvn61>=Y+h1SJ(x^G_&F`wCsRT<~Z3Vg(cYCj9v+om(RPSiBX( zUDvk2Kk^kix5Rzw2>cdWM1F|;#?P@F*AaXxKj+gtycGN&+5K~CrX&2I*+}PtigFqI zoP-}lx%|&9`552%b-O8&lE#bE_&cBD@xt^SK!Mx&`v^zFQJBw&_Yu~#5;>WUea;cm z=}q$)&4YBzdqa6QfbYpo_`=f#3oyQIRaM}z&uJXga=zh`D+AxVb~5x$haN&-^AqWG zS@K55bPV0bO_h{1+=b?!DN;+CH##o^x4okA&L7EBj`5wx%3!{yA4&W@wgD9wF4k8Y zd(b#IV%!YO51of-z8CzO=EDbf^amdPIR*2*L_xy8aF&I>@$Ez4{zarOUrnWX)L)Sl zNy$cklE&pk6+>28xmNM_;HF_Tz8in0{aKFezhNFOp0~Twhc#e)?biFi)hYBmXMTAN z#wlZ>HE`91ZHTu=s~6W|{1D&2W~;vyc>12{G_F+`j`_1@_y*uIU+?W*_8a`;;p@HS zinM+^*1F70NzoJQx6^{o>P%m(lMfI24LX{xKE%I$<`ekA>Y@37Zh#8&5Os@Vz;&;w zKVLM`T88Pk8;`^Nj%NWq*PXxQ=kg3Un|lB^m6`(mSmqkgiPt&=T$_pRr?!tA3x1?- zCgA1@#P7ObChE&l><;WV_oaIAb{+)2ov$;G<{^H^qW+RB-@v00vm_-ol%o4(`BM+# z%9N-AT&hRyS}sfeu{@ra!9S7wRWW{5Q!0ivHzQlQ4;v8CW9#?YR{_v+Xw<6}Hj?QGi%|`3GoxHya44VUe zasHAx7gwCWB+l&-{hm1Y!*!MRo2Y8FM89X``%T1ox#GNHabB)CH$aR#;@p7Pc-5cy$CT~=T54K(f~HXcB^lGpFSxTcws zit)(%<}cvt)S8XJA4~Tsw!aP$-lsUtKbwp|xtylM!0or`eSvY}B>2-`pWYYfCel8A z{mVYMzp(K0JyiVsBDqXe!uk0R;+$u3o|2eXh;y|5cfJ-sN6W>}I~C_>iE~Qj0(35x zn0E#Exmd>A(=c8bo6~ncBY)C3>*jWZk^?M&R)h;^##wmc}!{A0M> z0l0oRwMY9kdXM92vlD(0`vq)c>3ka(Kd;Hj&qcA{FiT9w!uL&!{ql)gmy;PDsnVQu z_&z4bjRCM<^Rg-YWO1GpQerPs|xfghW=1@{1ocTeU;viMB1!x!SrQ* z9%ImyD$;yiHSXH6SACtvv4{-zSf*-=$yR$%%;zE3CdD~%U= z-oN=BKV|6O)O^2>*f%8h``GU9!nhX8xp;>l;UszNO}o z4El3!WyiSY=KDtyUsAu9jZbSFIb*s&N#wC(BqWXlJ7ZlDg+`sDDS_uz;5`s5L-zk}ZrZF{CN z{ctgw&y44|d&<-dc%bngcpeol`5d^V3f^TB)QSH(F(>QAr19&3T4 zm~ZH+)Au`K5jSuzAJ>faK7qa%*EIb63U4(F^aK3-3Tw-x%FGWc{VVXJ-~CMb%?OwH zxE$uVE4eBBuh-8Y!uI< ze#nn`W^@vLe>2{K{NJlsD(WjbGJ?2Pw02|Rd@o>N)21i_E}_8$3q zdJ*5+W+CP?;VzV~z7>_rv5xk^x%qs?&G*N(KCOKDUdb<>vL5BqU8i|e*^`7@JKV{D zdxjT+zMapbEPcuU@vh4--o>^}fRa-yBgBbS&I&PVH6j6DdbgFQL5jJi)^2 z(UZF=bZmTn;#l7o{c~v1TJSaB|B3q2q`v!#*>5$xoGvM8bl4-{0e&8lh${;}kI2d6 zEnIj6bVR(Z+ZDk0BJ}m!&Ot}d^~E_AF|Kdp_UH%F_h^JY=`VX?-le_Y6Z76!2RX z4$T8SvqR92JzhrhnUl0%(o~1$C(c?;YBRrSN34gRoz2#R@2x?&sR_+*1s)I6zE?{X zTE}SM`(DNVR+k|U$}8Hti=P7~?2qwtz=VIqep2C|t()n2f;fLn^%*^Xh;YA|CewX{ z@LRHqF7g+fR2I3i8!B4#K{Tn zXV>*R&=-C#)^h^-6V)d*Fn@5>q4$!R*R=*N_J`{4(m3K;vJm5ldu0WTBf%W=kgt>D zV%!mU1!~@iFlK*!u2xr;6w8h=8Fep(vqA z6ok+NQX=)xE}=<~Vn9l$h90Da9xug+l!zdq8j6=lGxVU8Lp4+*HB=)-0wRPSs_)rn z&iHXJ=<-XZLI=O69)voS}MsI~Ta^CGmf^V=?3*x}HaY$A(e7b@|R! z66KoI`2lGS*-zf-J-~mHe((>g`+tr9kp5?WdmDTLkLqPg%Ku62NDuCV3CiEpeZi4cMDJQed9VJ( z1mww__sX9SK-{o49|PRvpt#}LPI-t$&Br(oDb$Mg^;>2Ike{T~ef^dYm=YdmEKgC_EY;Zk8A2XP?g`Io^QbNd(?f| zM%5pAUv^NXkMzH-sc-1u+!~_3rpUX9OMwj(&%+gKLjU$)ec*}q6qnqpJUdK(k;bR`rS!eesg6(OlV3Lz<;K-}XDkD0{+92T;d_+$ewny>pHaN< zaEzP&oj+9XUE=#__}(R}dLEilwNFVs4^4O6(MXgVYxoc3^x6_=-`M@Ctppz0IUM6Y z?-RO*!l0g`=otD7==mJQpn86FjOAC)uQsUX$|i$UUs+vm5Vvm zFwPCtqH`*|T^FLht~lkZmO+#^hFZ)3o?NWr0m=_;DsI~K7mcIU^NWl>P(RD_39ds= zNpI@?TpqREBdVUc-F>yEv=DkWtLKW_FVZ~-=Ivu`0yk_~4L$o0(YgHw_1s#Us{epG zt~X33zjICN1pi{cbB5^LA-n2#arK-ikDAv>$-{_OoY#5Oye{pl13sMBg-a~Y5b~JS zdx+dR`o0#r+qjv)V;zfuPoOiMr=8e9_Yk?JULpHe?;#2=oC&*%-x>fse2MNWVS85Y z;{(q298k}B5%>Hq4Q<~>Nv$$=N|l&&)MVi%FK0k0q66| zf+~OI9Bd7LdDrI{=Z2qUqW`jQpnf^EtSaJzZfynh*YX!MADB9rLi`L~xDWbNqb0DP z>|6LgO3Lf}>bT5UdnM&R>V1)}UbJ4$Q`%Wu=#%4&yTwlM;q&VGenvj8KJ@Q-p_GSn zJ4Wj+s4Vz|CeS{JGYnp$S&OW3#pq?*hS$+-W`c!&bhd(s* zrQ7#wDERQWBfXKnTY1%UgCpBJK%abWFqfN}{DX#1Jb0>!;KSzw8-Anw&8Oy*zLS)n zb3V!R%6aC!F`6>iId&X}OUv@%cISZHLglUe5>UzhXUpA$_XynACmK zEKhJqKD3uj-IpCZN_mk-JwGjQBLP1Do}cC>`jEO`o9P{Dxl)lIH0A15zi@OK2EXR< zds;m&#cy>@k`z7tdtOTScVN%)J$Yfz(Z9)ldaJls-M`Fu-5;tTPvCoXy&sVM`yReP zJooJ04gQ`xr2oks4}-r=-8UU_(mcF(z!LD`bBA=ZDL#)=>64A>Adh8w_DA+R_Q&Tr zj$`~7+m{darZ4{^^zWFlypphofV!{TF`M*kRdK7j51sL7o6=|(owpF=PuwEFguK@aG9>0fwKMs11SB`f7Kz@!_e6MA4W)gbf z`G1b9mL$!Sa9p(%DcMZ4m+in*@ChZTA6#UqK;vR{KW0)-_PnSv;ZZAnM@y*q@Fi4V zT^`ymnNaK7{#B}P;$1p_(xTQkRCzGwJ)G)%g0XG{^$LGZ^A(P%KSH0Zhw7E6TwAV< znAhTR7tJe&{>$N^b4@K5DbI2C+yMQ{mtR27uCX*8ukIw=wy_5II8|JFh2*r|-wb-Q zD(9`8hoJwII#1%gM0t_9>4XfSH_y6d(3^Ma3&{WPJz}bTvOV+tYuw-Q{cC)`Fxx-p z35**@We0!8*^feN$^mCT@{R4>T*%|fZ~`}Or~8l6llQ`p0+q)Bw`I|He{T2Sw>yDz zyF0pn4tofFOY?80ao15V`zybqKV^H1^|%VWw`!kkw``x5y^k?|^sDni&RObukGWY5 zgq(qiWufQv0vdN%_kV=`$Z)s_+9j;62jlym_`Y5CYxYwj6c#&6KA-++|AY? zesX*9eO|#TQQ(~Sa=UQ*a=SQAoUbFw;XKXOco*bk`T1UQmcPk@FOk1R7tneM=ccou zm$uyiA0Gck7SlW@>y7ovdJC)ba-46w)Ok6M|Ey1r|J*OTADls6!ToaGOgG|Ed=AYc z*(Xq5%{b>3jN8?6{gGFZ&u~A*-$BCVRs-kp3&-=6I3IgOmZ#o8W*-s0&Y$glhtXuRxH$7@k_9K_?bggQR*KAxr-AMM+*9`QCDqx(Je zLnz)ZQu9o|dcH2_nTBrDVgFoTf9XePuc(RQfHz6^sM_;WUdsKrUCsAcKPL5@UQge} z$Zz?aUY_S?y|I3hqYoo4*(Q7rdgJ#ruO$U~!tWvtmqHKbb-zI#ldBKtP3pOe{%`jI zcdGWu`9Is|1=YW#%d~&|zxL@qMC*LmJ~>{oUvRu)f04TTHU5(BNcZPD)p01_pQ}^v z$>n=>`JP<9|6Nw+D>xrWs`ni6Jzsp!kwgHHy!y zH@^Ro;|#~QWF9)NlH(iuHOEi(YmNiv0d$@Z#{rHT96vd3IMn+}Qj7Z`p7VVrj=Rs` zU#^ZjfJd*zVL$Qp-eyAnR7E3j%U)XN`LBLj&qqJP`gyMUmwxF<8ked5WxHlTJ{ejw z8u2G!qH#eJ6}MezsKKpjTvG0#0M79zc!K85Z0h|lL3Q3NUf6>Eg6%(?JO=ss-p0h` zB4{tZw=v;-8}^W%NBvZK>~qj_oacKRInFOEO6RlLzrIpJQuJZI`D2!>JR9YnjrDBq zrHxFI@^0xVXUWR5XzuMs@$52c==+lLlq;>zl9gv(+bZmcitzjh^PNvW7JDO>6a|= zuD`w`mw5W7n=>WlnH;n^OIDt`1%>zQQXbYZ?+=lbr#yg3 z%Z4eh3*6DvH&Ecx&0n)*J9OfE0pUmiFcLWoo7iNfg8$6p9(w?B|h#)W%3H# z+-y>x|HTvkw8<~E9Wx7r1Nuaqqe;&rzXkrUznosPRmh)64*>u8BJ!8#YQGpx3e4aBJ+EMC(fUNe|bOs8vQ%d>z*t|+z9S7kCR0C?MR>QUYCo= z%6ss|CXc{%CpO#2WpCElJaCcUT%z4;Fbd3VFC}jDV`Ym=7xVc8q^;l z@MIop_jJ3@K9QC8^czpR30&Sv@uYa6>#(<^VUEU6vn^UwNzmIqHFg*D-v0ZtWaZg= zcomGByn8Nd{IqwN&V@FVr+ZX=r6~UU>JCLadK>9yNy`80KBxRMFseQ5A^stq`{Xjv zcenjHZiCuJbf!F_ZCn4*cC2G zdD=!D&XSeq_IF!U5YNzi&f${sWIYdT+qIFvgB?Bu&h3(TUA73^CC~voX znF7xKYt&sZi*i#_9U4E~ci4saCFDF&{SkF0` zlJYy#$G$j${G9I<@?<{@c~Yic$Xi%H*2gq&wxY;I)XTEqFzUV^5(S951jR|?`2u|5#KYSFF}43U7G{)aGqxFOzVVQ4;I00y+dDxez;uQqM?u{ z<*K8>V=Di^$7Lsp`ZE9ND<`5{4s!fnns=Y&lyB6KE$%-72NjBiFNfalKWXwZ6RQ5d~Pq6Hy?=LYG z4{pfN;OREhPq|`W0O!1d>&5fxT(3jLg5^cIo@n(pK#3v&@=OyUP%I;{`nkm z-MvVbEXt|A6nc*JKbUZU zwY~;@=pX8T4JBIvPa9867yN@SXdIf}N&aF{=gn*d$zNPch`&$0uQ09huY2nOWgR0vK9PO_Cvs}-?-rK33VRZxMUA-PyhGer;g(7Ag5yw*~3Za zOG)qvu6ql7LKjbg-Y|i_gZR5P)Z{aMlNIuKOH9(>iH#(W^vWHLJhA!o{nw=CO9A!! zuVvCId}j&grStqbUn;tKKH`jFTpjR9KRTQx%~fK^_c*V++O{s@M#!BD{2BM0FWyA(@eM8q+_i=Jh2z%A@Go;AJNR&( z`O#M%*tt3THBFv5|LQZ;OZFAf&`%FFgq=qp<|e$u&MZ-0wU)CXPps`o4WBs|dVt>8 zaUbC-eVtb(Ainu3&^k%ZlOwCnHWvKCuir$TZ25)wo7zNRhmp^%QzhkhX)n#6@Hmn0 zq2O_%v_1)Y;CT|?^%Kx1^Wposn9u*er_zf2pYN&U`%Ghn+Y_#?KZ#WDiT*mBm+tN2 z@xu0R50(=0`?8JkK~DGCEb%UVbPaZ!KCowszzt=|kK9l8s`iir{7r3t&XSeiOYiv` z?H->^_quxL90ksN0*|I?_~@<=hJK=#vVc3r97KKV?*A6~n630o=*>Eh`0zbttWUnD zOfF6L^dS!E%YIbVD5ckMa=c`V_7stVlNN(Rp3tbP6c=r0Uy3xN;g zd=Hm#=wrk^zCX)Zn)ciBJ$HU}Kd*l&%>!7=v;%+p_cV`c`F>MFQEsp%ozKkt11q!8 zF7Acp#!1TWoL{Y(_dfC{-Q|D=_w;|#Nbs?Kdwsm1ceawVWaU|CLq6!=m9OA1NqOhI zuKk>Dptl^`rNL95l>xo=%FLmHKDnFvgm*l*QI1{|MySKmtU8sE@Jf(B+4A(yR z^nd9OwG2Sc;L=Wg{};Drlt$d}biD`uk#BZo$vS1cG2$fEYg)a2f}ZCGPUh$UyN#W` zGC<(5{1k^nhm#qy@*cWy%_S*MDMIn*mTm>blO2Z!3Y_T|ZEHmQ^RIUcob{%=P!IJQ zUZSxEuRE$9^cJ3K90_`Lyt7~njca1z?=|Bfckhz0!`Ph0nsL^mt+!BL_ohnVnS2MOj&Sw|@8#c55HKDNDRN=Beu>vzG?W{j&S-&e_E8?kg`f z^t$mE@(SE+ETo}d@udvhTDIOSN%@_}K__!K?1J9qt=n7R+%CzY-64Ov+8zyV$Ue7) zpbxG+i1uRrvtRT5gI3kAIlg%t(!D%XB7DO>4Q^Q55Au6|Ns^p3qFJ)?e>|^if6)g0GSBOJW`7O(RD%c8B!w=zjJ_MP z{N8H=K+p20ThhJQUUlA>@5MH#^UT5eXF<>N%>11$^>QQl^LIM;?SajOTy{f6(0jMi zcj3}cw;&$I)O)l&7ihhcLCxRN6F!_SOGIHg<-1KpXcD$ z#z%6Nto)y~c`lS2xNC*~vR`jEEo&=&m(RWe+_B+MmU!Ry$A0M9-Rh1e&J=G<>$s}l z?V`oALZFXa+cij1{-5KRJ@^3pJq>yRw;ZJS84S#ZoUTdor-GjS@oG&eLl*B(x@-Ci zTjQU=$53i1;dMw(@1Nt~FNPIICP>Qv8OD&m=r0y*F8G8`%mJR5l@E5#-&tZ!>P{5& z{GG-Av;yqedT=H1V52nbHhjNjYr!Xe>LmI><8WH1%HLo3y9|GSVLLae>nGXH;|-cM z7JT?VU-zTGz~54F0rbZ653XkPeV_fpII1+tWxoj2-;I2U$8qvT`VPx^LQ)+!ah_m# z?;6Gte1C5AI~qs0e*6jL8b0efMN;GnzIB@FtHvwNqc~o1d`oA(F;&oWeB*d12ip*? z=7HHyE=PR!4qgb{Rrqk0to)zbS|coW7^00yIwXtK%=fI!@8G&x!odqpm;k z_oexPfltUE&7by%-?2Zss?>zvIn{aNL}{Y;{n8b7=&DZh%ntca=u;oRhIV&9x&VLY zaYywk&tY$Jt|q|aYX0wO*9rBCtf>Lqy!~L7sK5OSx^L80x7tiedFT5^mGgQae_9>4 z+SL4zalZeT@lbuzk3${Dv3?R8ra&IwqreQo-@SQvmaIH4#Dj=SrXn=XO)aJG`0naw zL2rLEmxexa<7hMSf6-Jo=#A^^>U;k~frmeAroq$oL!|%aH2x(>UePf~CC|5dI2m0ahuf9M-!~u_`twv7kw(-!j$MCTRj}6}0OUSwD zTraPrJR`2NS+epRzUC(M!1q4eXVUyt@iO&bx8YAFXG#iPpe22$j;ZUM}##d-+~+{(f3ll`~XxE#zl81KXNp$Vz#k^M2^Zo%6~{ z@orP)bewLlk(2RA)^rW-SJ&l6vIc^WUR{@Kc~TX2Wjs49Q&RZyyp7~5l_4wd?N3(+ zJ%1PGePr$18LyMx{XWZ~`RXc$viuS|!F{$PQyxx9top;Gj#?ZM*cGZ52qgH6`r!k!` zl+Ljj?U+>07yAF};p>zA^rrn0j+56(KOYVJTvEzUHodb_$l*}esU~OoK+o$LeE;q% zOcNh<{Zcwb=NAQP^g+2!_532vAB+#Czz#WoNME1RM3fWmPy70l4`_WF=L!0!mqE{Y zLNM$>d^7*;rgGK!;agSp?FAp*H@iU3b{p9-%^~na{h1m(RCFZj8ymk5^)+s#yydDI zfBfT`WlGBbar}`gmx7$ZxgnzOn}UA4yDP#DsTzAArY$6b}Qx zUT!KYeC-R2;A4163Y=P#eORT z+@R(I71e$%cq2D(?$>x73+L^;jwRKgWJ|%{WHz8*mOQlXE?}9QA#i7&bHI(`Xx*vf zfB||i1^c1DOaDN6FmLDueM-J5z*A32pFAGnaRHA6Z~E4SAf6M`dUc5yT?Ur z;>qJ0^ZRtJRNbbz(7w^NPr%>T?|PP?OXQ~gRxE!yLF;qe_n&}|^`H;@%{vQ%f8u#h z;9RaFMEP?t`+Jbbf1mc_OQ&glvRl=Ie4h5*vmQJ(Bb`L~$?P%6!|n1Q|5?Pz!0Nq& zCFOS>7x;($gZP%nId{na;z!n9fjwI-3r7f?$0^x!9Y-8COt>)ofAQGTj<6GHRVU12 zFukwuXP~#M>%%#};`a5Xn`zoNHQR`G*BAc$3&B7Avv$2@B=|dU_PeCIe~RY~g6jS$ z@3mrmkS^E9q;emM^Hb$oON z<+?8$Aiu9+U*O(um7oXfGa47STGUE1oozRh{%dR=BPqWp)bHb#>Qxc{ zqX#Ey`croge-FXOa>*KHwFlKc+0NNM+5XJ~%7dQmpZ$*QpZ(5xwm0IBtMnz5%XVV*RqiS3 zZ!O9(t*#Gxj>FLlb2|$>IjS#kn^En*p8tt{EmG#=>5}q0$4^Jw)`$c0!Ao9& z>;I-W!1+%yPiNq~-jetAa9+ggHbcuNWys3^do!z}Keak2p0gjh4i!ay!hXbgi~aOT zP2Lhx`)kfmxW7)S=M!?CV^q&4OjeM)i*iFb=w4JFXX$U;gr37CqWB)+sChR_(CM;1 zLwlJQEeB`#|q(e}1KSXWY~5xduNnD+KyTmtKeu za*D>$F%>sdTByMz9gf0Iy!%=Lm-?T{68uA%@7cstH=)=pNqO)%*HPzF#0Sr`D)0-Q zZ!wOkfOzE{(E;(wKkXLeSTT?Dert< zcXUrz(Ay4w1Dxk!(p7F%7ylQ!69Mk-P3xU3>*yTsK-uNf1Rp-fd*79($Ooc3e+AC{ zvR}QQ$d_*xa9O>dD4o8Cc%|F1dxqe{e$hqkzs$F-&_DNIoM)yUB{Bs)=b7AIJU-=i z%-g6R;&6EK>)^xvLaYVan5KBw`>gPEFn*Pyh!i>#FAy-oLirv5&jCEgQ% z^nm^ATJMLQhdO3QyTn#JMgC@QSQhQh{f=X2bMQC)-bPbyaj6seO9$GwZs__8_;b6P zzAy2AwtH&(D}<~4vTaFS*h%7>A5pGj-fhSexZMqL$#|wC=vkhCZ_8j&4@dorRNvM~ zlp7xy?FIaP3-mkgy}7{0Su{qtX));8@1$ujKNIx9j0H4aR{8L_#yIpk{GIbFj!Saz zN8lWn=6qDfDfsBl6^38veNVH*JJWlb6-S(BdSj?O{L8WS9{fe`sfhmT!p+waHzG}z z0GGC%0v}^G6UD1vPi9IAU+cZoz{BeJ$nxQH#7`a{CC;~OEGu+@>RmG>09fTUO|Tf7c!*=vhA(26pQpaBt=F@FQROds*V$VX4WlwdL+cF~x2!LK`0wgL z`!RLXk7WruPur%Sil@~4>~u+arqktNxAOLMKY_a^(>;1jZ`MBpy}aPWBtfqqOyA2w z?i;{EmkMfd&%;J;!6!JL?sN2aJDDZk{X?rl{>c1cXs@J^@`T}oGKPxZ-L2{TRi>AZ z*MoknQ3Lpgex-gPeR(JR(U>^*g(UcvKanLXPtWh;P_C5!bMUt$DgFd{9!C4RF6Dzh z8IPTjhKv7;Ztbt(Z$)C7c5B3&+rzhq^ zINvb(9G?n#{JlnMa8H5a=oeD!pTcfqpHUubo;9eopbu;)1AkA?q;a>j?-Pti7?;Y> zxH5Gke} z{We+o|G<+$XkWv18rSR9b1#+qR)F)lmr|`0s8{Im+rZQ9Ual1XZ;jA-=1i|EL;1h| zm=FB@c_}Xn52JYrmdDz@QKqE)Kg;7A6wi>AckXvWKhVA#uCJ$I71%A;*YtD__#6I6 z!*1Q9)N|1r(f4cjdJE`vAHEY3d_$=UkY74j2)HzZ&J}l@ZrVot?w_?D@hT*nL9hR~ zDe`t6kC^o|erdn72kb%qr7iLh+lu>H;{T;ix18c>{X76W=e(WI8_|#de1@d_&izhe za~kqTYSjZC-%0vU3h9B^Pi>ycdGM6w%1ktcP;@rjrtMbV_rq) zowDBI`B!2b!FuEI2#-^EJYs#?_9MYxYS$n3Z?9AZdPuFD2mQFKE*&N*zdQ0)1Ma^N z_)yTBlLJ7{^|JPR06W)zdI0ps(Un2Z=jto-51{{7o?x-If{)bQJwj5R!D&Qqc&!BZ zhgy<9hPRPDbGgd?P0(|>u62h%?>_Vs@YE6VBmdKyz+(&U0k=1z{ynD3&*vU9ANQ-r zRX+6HJXMqIA#&_J=*NBIP2?w1-m0jVe#q;f_cW`EaWwl&X|-N_u54JX7t{OdWP%UV zU&tao@Oi&XAFfxjt`UAvg>${b}-_>R@_;7soY_a){4r=>1^H;lYW`EBg)ijXt*2lYpOgOL-}+gDhXdVU zho&JnHTd)#ondc0-{@51fa&HO@aOq?#(jStCH^*Aw`|Kp_8DG%7yLP|FsX4SaegfP zg~y@3CFDo)HNw*uenNi2c#Z+_#PxlGUJmM}f%53X3PFNGf1@2p?dg}VohB(y#<^TRcbChR zh82RHC)9I_!Z*lIefx7k|4KdsK8(kIn-Bf-c`T`MWaswgCtIW3881L@9j^8xy^5oK zy@L}ZkC*y!&R3IpT0nlz51s0F#?;lEeMW;6sn&j;Fu zcu}sd_d?Jo#;EaJJ>SxtJgmvjljSesd!O%Y1bCnaPKq1ye^C7cR3CspEoC-fRA-P<-OjVg`10dr5|4e?vB&_$XE5*A%t8+8)4F8r7c<6Qd&Ks{o>j`bDoW5@PLV`}$ z-~{DYFJ_`#Ya?p+Xv2}1CyckGeQk;CZ{1JpG?Eg{`=!)%8mYf%Tx^$`BW`%glby%?cQHS2YSR_`-75)qC3`^s z@_~;v^p@{?fj%HD0v;`)`pYLa_^)(xCE~na4qmC7zFU?{A0p@^ASTd6X|e{hcrO2I$Aq?*rsB(TSu7f4=i5H@LH- z2IqAJ@xqiR^LmDa+AfB=ZICy{&BRC7WoctkZ{PQ|kPo}o-bB0WzP#I1;Fcjq;I{W@ zy_UZ^UcneDT)76$499GCsAMXyIU}x;`x6bC#EyI0q1dIcn#^( zW2~#;ll<{4>YI??*5KBkzK7ltRnB4DYCBH(zkTl(;Ko+ZG4598*AWLSKNHU9+%leA zT?F)Y^`1C?Hi{2&i3;6hr9Qf&wR%a)gZKNVhLV4!FUMfd>|grbnUK>oY9joF`xkrh z6Zj70J9tw=ADQpZkQKg>#}z^Em`mS}j2mZwkG@R>jbFGMmM8mP9!5T(?36^kq?#Vk zyW3k~=bSGkTN3Vn^f&C2apQzmuq*eVq8fU`yq~~F`l1x<+|ro(Urz^W7x&MbHTLgl zRvq-gM^4ynbOGtjG|vh=Rd=-pw>QdzavgbRYH+KqCvca!o5nsv>qrlQ_w#CSf1#P+ zZ>X~rIFF}X`EEncsg}7l_UXKF0`&fmJHg)M@>H)t!#Hr`qUBor)+)$j8ZcFZr+W?n z?mIRF_U87hap}=>l$$W!!@LU5pEzHi2maAzGc@#W3(dFKiq_T4xA+Z4@s&X?@Hqq>{re5xU-T=LQ=B@FP!Z*@@ z>@fbA+9i9&+ZsLhF4efRC_hl73)+|0L;BvHOMG^{(6m=_U5&1S-n6^{?26-)m z+nOKAl$77Y6{%fJ)n-Bu@muXc&+{bau&U2~RWla_u)B`dFLblOC-|(5#vhXb z^3!nJmx%xDr*YGpkkd0}KK%OM@k=|BGcj)w;()gT$>}{-2>oDs?=Hj{9v{h*AM}uw z`os<&LA>H|!J^Kze#5HnTeqs~H@q!|+XTJbY#QQNqAc|nsZnabe`+Q8aK9hB-x2kS zd`#y8ah!DjSOM*8c(sPc4#T^PIRyXYxrw7B6)d9hlU0@ zVE?Jw_keT1?>O`W`0IPG%ajy-vtLLRzW{ygcMtHyQkq{iCdPrkzUNjAy}e!s=+paM zDd47eNe`(nokX8?MB`uH1%$^ET{L(=^+(;3y&Bwjc^l+0#fEC|^s-0b@47Md|xUIO7c3U0?Mm{MXxq@|IwJ z%ImBT=$=;2_oCiOkjL4vktW}Bl;{E6@z9}(5B`qSU&p8THT|_Tf%NR3{DmeCq-W>q zBfA~0-wl* zzcu3s-|&KNQD0vV+JDO5CElMxSXS%H{EtsNpcxu-r=uJxL`Up8qtNm22x;{tue%3&N$CBAWZ`=M`mUs^>eq*?J>WWe-atAo`clD6^ z3)~s`Q$t_q&}65;-Nk7=UbMFk^-7u2(1Voe27P2(Dfq=?wg2UPi`@S@N6v-(-nCsc zc4#@7d};03IlK3H=4rds|q5r_Wn}|2rP<)E4?r z%<7UU_;7#cDO!Q_+3z**PqrujN)04>|G2-=|1y30+EDN}Cmfpo+HvTE0kXokVkIZ~ zcj;LyOS~thR|mb-rS104cZ&;_l2YC|TmIR;lC{>=p$XqflsW!U*jc3j--S5Y|rrk_F!7Pa)Q7^^{KraEjxn0>;0ZI&Qi;D zm=gg0Cz4tSK8*dSR>x&fh z=G}NvTke4faDTViLq)m1PS3Ms@Ldn#X4*J!q})C z+Fjn&AX8F)=kcbYk_r4JeGZL(>2r-oy@G{rYvaKElc0~Ts0==yqhvqs-3@xm3g1-v zEO6#8-Ms=nfnjrj>qnW;?*vwyh5U)7VZBk%Pl`Cpl&iSyF%k-*(=)4ni{^U>|YfIDZ?zA(lE%W3_sy^In4k*WE6(2sS^ z`=F1OJg(`dqUM| ze}4e_Kq)$JocqVrwk6b#-wo2xyN44V%6(CTr*gLdeJIxtn*M!7lRc2rJnCoQ=4{k1 z_UpTVCl8N6{$LnI@!5T{8Tjb0(0l^t$^Mtk2MIlxyU}+O&X*hu3L*XnPL)R9Vs_Fx zwC7X0fxm7=LF7Nii)3%QffTQdv%doFnn&_@u2zFRxV!vCd7zqqMn1?(`dLfg(Ks)) z*S!t?vFr4`#xa5Vsc{E#^$>E}a*qKY#@%nW0KGf9S5xlxo;06tb8OYnXYYC+eA1QA zgWeLS^^o4>JK)#BIm>`YB`SAOt?ndG{uR&z*EhK-JNU>gwe@|jB<4cS)N{JWmi2F$ zTMYElH|I5cESG41fpl^r@aP!Q^MjGaK_4AIP(vS`lF?i6_qJbx_6_$UJ9iBo2m0_K zx>uLWb?hd2+{asL>?9f|df&8q8avS)zKJ~Ca*FnE@_Ochd&iPI9Vcn{`0mw#Jhp7b zfhX?Mc)8G*&!7kU*ZE-2oHyE20RA1=*mk9M?u^B8=%+~}jN;1gMQT7w^HMeXP+)Cuu{^Uvq!Hh@08 zy03=bK6eM|>pOFp=v6tNPuT%_T}^ddujaAtSt01b^xePH<<_$&OA1}UNBy!rVFMrY?@cxQpI>eW zJoqi0cgpoOu4vIql;fMS4}4O!$nUllv<=YCe|c^vWtouxs~`I~QQcjV!bY>Uue za~_^{e-1wBg&TqUTt%U`=$ErmZp_?Q!#`Gh25{du4?)l6MvL!5xv5lB;I1B2uR^f| z_#6Aw2F`iN$){_8OAp>eKEwG^U~fzCi5_`@Lc&B zdgJzTTyF$DIETf6Co0o9SCOh;LT@p{0qBSIAKFo1l&pwheRye#q&zw9#U}Pc{}}o! z2XOY&)VKurxaYhAc@j-24yVsu25wu`ceLQcc=V&qkjFgfm4|dn!^n@)@0CK_@ca~potP_;-U4~M^$~n5^X{U3*&d|y z;C=!RYJwq37U5idTs@3!xt| zPxek0{Quq8Ga&^&?sKmJXTMGl-v~VR-W&~X9{LINBNZ+2h2X>S*?8+Fa7Rub;$(OV zEFJExD(oi{n2o_A^4}x>_+~;{Nsk^h#S$*3IONt zYra2=j~0Af_4=V5|K+pR3wff)mucG9H)0L^!t`-pv{(9px=!rmRLE&5RS5EMexkoT z4tOYMRSlnzcPaY!NVeUG8{Cg48r27GsvXOe6uH>%5}sF3u5;DcNdo8nccxJ*K<^k^ zAyeS&U#b0z&`-q|o%RYmbcFh&^stY~-)~YJ=6#pe%atK#`nBH>hdDmz4($OS{h)1_ zH;89Yea$aVgWk9I1NbA$W79o`-eUXTM1AdZDy@{2@*^Dzf={wzdkww3Cj)$3(nwAG zv0b|iddux?)bFVB8|T%B9Xi(0`Q)7EM_;}Md)93qhq%XbI>wx)ax+$-UW~`rJ%XJi zs;omiWISB|1aQ;zE*iZ#*Ea>9m}i_u|4})N{>5Qmo+*iX_NH?@!sWN1UF>D(9xk?r z(*6#hm%pNYtiF2W7q%(wfa@w#UdMRA{ujy(?C7Vlw?xb5z@s&__GvF&270g;xul`D z8Ph{#MLydd58?^?MPOea(7R_;)!@E&xOKa&@0~ornNOduURt(NMw9uwPx@@*1u4T-57V(1*f>H1b@% zyBN5>Kx^0)>&JB^&u4;9^v40HuTSM8l{f}GvU3^YKhvl4Oa-6dvGTA(-!$qUL$zx` z9_N|u8v2U9`oN=?)}Y;){?_CBz@>|HKT&*ZHq^_1?9MPDk8yf_@V9in3S62|3*~w) z4o5%etV-+j91Vv7j~YxGdrQSSpuOS`zSiLT9@as*F3;1X<^O>@KN0?8CD;SwwnG&E6YtN{*hy;YZTO4T_?`w2H24(tjqDww z;qQI_6x!ER?I!%)*qY7@Px`EJz9*_-YY`Bx96e4w}dcvWK${&%Cm zgY|x#B=pSfo-j@TpV*c}rocnL(taqfEu&kfj+j7&Ut3~*sj)NWTpP5 zuWQ3!7`OdQ`jiWL5FZjP|AhS3n!iJS!)*E<%JyKCzd*V6adXkW$ri^!A0M?8X7^XK~yg63jiPo=a_}fl?R$t(r$?u@O^qIS;y#iw!3f#6R2XI%}UxBB_>}()# zcfy7CN)L?zPiNa#Rp3(gUC;yHAF)O~S41bLK+orj$Oq|McWHQe@DJtq8hn~q=o}JT z$F$B5c~t}PodpS3)g{OZuIN(T?%foX2Re39xGng?b$aT<1b#<9Xj}78^Ool z<`dxQCA6+1y}e>vf$IvLrSApRXniB^Ux<|Y5aU7SV>{E@F6hnAYXkSJp>-OrDzx4^ zC`TXW%XK3rd)O7E$W8#vSRzES;0oyH0Nyl<5CX&%rY z_vzpHw&gE^xcLU(D*@_1OL4cYbw0n(sL6V^vxbIMee!6sP4JaNdW) z`uFXmIKbtye*BSPL_e^4NLJd7<&jJD(C}wIypDqT=$n$=8jl@7T;hES7ycwWw}+1p@^tF)ktip+y3{O5dGb06<{!`h3+S0Y^9g%*X!uwz(*E>VVcPc*Rpn1)I}ZDC z_n~zchFWAlo@OUdZfG9Ox4XTB$NrfL-1p`%jr^g#`GFf}=LOFD8hpD6kL*5)c*S_? zWOFgr_qhV^v6A@3tFX60xn^d^7t zaGKB??^B2rdJcN`@x6$9ynacZ)*85H-|L{~eOtO#Dd47WyMvzBHJMuyF7Gd^#miSE zdSf@lPu{2CdVdUX*80ab%2aJR^3M) z#khO*5%Tv-H2=x_vV%Xp0sg5)o8a%fzS`V=Jme2gaRHAyXg!SoF4kmGj;?)t~cwMn$EaBE2l$ZXC&pZqI*tXV~ALI4Rp~iF$XVkZP zq|ie!8;!rB_jiCkb^jr7LnZpYW2xE_c=YKe*eCB7NLUCrAHJo*^_zNvKG~*)YH#%2 z)~wo(H#t{hKZbH-SBc0`4IWxj1$@l=Pt$lr-6tDcM7VG68#E45aqrEwpbrf$4?E%Y z{L&S|^$mJz@aPJ%pG3R&VJEzfWlgtVseRRRQFtG>PEY4jhDOqPP`rP{lap|Lv%Ih? z#vM0?L!Ls_Xk5eV>bc$1{*| z$?t9WJKCM)XL|kkc^DrteQX`+!DlInd?sFw*3TQqCBQ$}cq#gKtD4W)?!7?0JZq1Q z5cb3C?VX*d+{8>Pa6aF|eRp#ShAgJC2&KJ ze!~RL=Zbi0?|w) z?;buE{P`T|(Codh3*7hjaM&&13l=I}0=Rw3diW#XKd4_^C6Az&&TU70;Ct~x-Iq2M zc(igW_&c9BzT(B-Re`sFotD)6vnIQkd<&g(vN3wU&n_PedW+Ih5#?+mTG z<8%9yd1zf?Vk(`7#{Fsb{h5eMj!tSnsGb)WDwwamC^t2IlBT~4^eEU(;JUX9p3_!MBug~3vljJsxYm$l;y){mw4oh7A=*Wrco_b|>wLnqDBc>1 zTmsJV*1I;0eDc5Ny)gdYb7Oqdzy46j^I!k9neU+;^{r)197z6^v!kH5k6#8qb%(BG ziTCur%J3KEPl^M}DbG)yrhObPsTkyBfA3u@1-r848i)Ac+e`E3N2Z=do*Y`!9k^Lt z&lZ|N@}x(8r|FMk+w5qs@bi4Y-LvSNDBF;hHX&DRTx0MF?8zMx@Ajdi;P1@e(un3y zf?w={9uj}P0Y0u~>i3%DR?_F~`kJ`M=iB%qMS%19HjJk;AD~>u11g{Yp0^{NXoGf7 zk9Y_E%j*Np9cW)ewA3_;1M0qp#IE_!b8x#1`h>cEgYobdx>tg6dy@JE_ud%zaKFIg z1^3An;KSpNXtCX>?|;V^i3=N0uCLA>@Zob-?Rv_iq6-=!F7f_EJ~t-Ocp7j%Hzxh_ z8>p{7xeB;t2kD>Bs|ofv44lua;qii}VZKaBX+O@-Z6B?MobmshSCg7V`IWI{FVJ%y zWtjUr+SeYo0}p>lc|vOBG}w=KPDS8>J0{pk;sUM9ijIx}=kMU=PiCRq|DHb+u9pY6 zC&y*b^Eor|za|3@Z>@~}+SQf5tMa)t-pq{}dOokfk~|Nb&nqw`X#Yhd$2?6w>Gj$5eX7Yf^gVNcUN%1iee!4Z`@$c;G#B(nM|SX!cE|%g zc#Ext{HAe_Kpz-O*FmUc~DV zIBxjWds@S4++f_A902(lPgTl?a^01)flp)$$z!QSd2ixQC5rPa)%Jbs4YYf*%pTzO zL*&=t3-ckT^W4knl2Y&FB*J6&&qF`9K|Mk5NYeTrTeXSc<2~L6cwj8GlbPO8p3c{ecg)b_y}VyLHT4*9=3`m(1nro9H3(e)8MT+= z&t8yU-z1k$)Qi{YSts`c9{G;$YhyfGrWq(%OtC0Of8k8hG4=(kk zke|o7_D5UbN8Z)T!N=d8{3UwM3HePYe}_Ip|CwZZt;AqD* zN%@`kW$X4+{t#PG0QBtdj9Uh@_&;&u(3Kk8@M8hQ8ON#>@N3TNEQ@I!b?mR-z7pj| zt5DoCJ*4wn{BwT+y|*Q`qki*rw69N{r!ve^^L&+F))hb;VERN`(tmV8HSpni6;F>C z;)!ecPS87d(Ra7R;%2~O2j>G1zp8#OHea>LihQ1*UjgnoMBf384~n(W;I(sy#C!5f z59D->^Ml?skkg{J6Y~*&*Yf*lcjqLc_tc>N*S&Wz>@%40G2)E;EC={U zeT_0iIfh2FfTtVL`Q99tyv1UgxU^<=3-I@D>j*sh9oczgTBp{6kDO=-+|h#c?^5%| z(4nH3my4+y)u5lKzaRJ{-XlAS zFM9+zBWF*6kEI>0n=;(l1UUl@?f?(0qj=?f=mNd(?l$0&@stmQu4F<^$H3#12deu) z(r;X9F6w3PM0um(@0^e)GVU4pIC3okAAgGM&H78sCg}AwuVMV+u+zOW?qM5&TXG*9 zCJBDa>3dna>Sw60>CLy0C)<|i1%JN|(@93Jrkac}yq5wOFU^G>Fym(xezyWOu| zfj+G>ZUc8Tpg4R>cNy_8IfKsY{?|_a_z-^WZ$bH(tq+xJE82(=XeJ{{RnX*o}|3gV7!ca z1$NN)3*VGEnUeB1fH6E40zxLeczAe=nOd{Z+{6q)q=*+vEA9= z7yg%2U;l@sx1hU0Gr@nI3c|0L&6M=`njb=*9GcqLsc|wP-LZ69p-bn(N%2B}W^tm=e&x{?-xTwvej-?@yo~jP@P* zm5`IypC`9$1AkBV@N|I(mQcB#%SPa#W=DX#n~;8z>q!qbwI6hpB0G0{)fw{JN6i6! zG)?}lJ7$BNkq)nhTI*i?DiH{sZ9ggm^D(td^Z3!5)Z2G08+yz03|mXW)G^Y;kz zt~lxy8qsQ+kpJI(7S^tUZ! z!S}Z3OTpi?mg1FP{}T0e3~2@2b%6ZHb!Y|j=D1Y?xMdCL%~?9{qg~4X>le30o+dTi zkR>bc@pqoJ7EitHZ{V>!4_AtJ&(^Zg8{eCpR__^1{QNoOF?~$uDf#PCx&B7qquu>| z>rx&VrTA=bzlqv$cSGP#JFR>1SHA=Pslf+;M-EcG!qqQ>zw_2xz#ZS_4+(kf-h$v0 z`=Kjv>m%~h^v_G+r>@qcfd`M%y-T_w@4_zvHRb|$&bokl1wI%=dOJnuRYtavJ?IL! zP_C~{1<-pwAv;XQXkTP(DxKrUcH-|q``k@6cWK(os_Tn(l(x^-;8#1Yt}5ygRPP4~ zlw1ONQkx4`5x8Oc8=$v_z6I{B-W76&_G~~qN&{a4kHyUyg5G&>HSolJI(Nu4sR(e# zFxt;+KTL7MvVSb}WBFqi(Kn&|*|CY{!8}EB!k+m%TC~y1X5fF(HeFK6Nto##hs2_S zZ3M0_`1?$O>o<{Kr~d2)di`ItA1ARuEq8WZw6E*68nXm_up`Oe-gy)Ajj1+o0*{za zpkB^v4NJ*_PJRJ-0@VuuH=7%j7kD)N8v0ZH=zUq@{dCR2mBce#;b+tjeMo7vtsopyu-IQ5P;FjoDg9Xm_LFY%cC}C$;vZg>j*xE z4W;`_%DZU~$v^x`E7*_jpMuCYVjYrMvhurY#Zu@~IVW?pq`ZgcQ9j_jp-20scm6p> z;8L9=^cD~N+Dum7<(*OBuD|{U9<5y`L*ViE?gRIILihMI8Ty(5caR{{F4QA&=Eo7kH?^S>Rp1uHRVv zU(#3@xbfX6aHn%G^6FszKZXcCd@r7NG1;dvk~LD`d_GKiA>mS~yBa(;e+u;Gop1>4 z!rx^Kvk7+;^lI@_DxXs^v^&oO+r}Qxkd^X+@ApUEm~yQry`|rVJ$T!187?WmyMEpd z+&e43B4qjYaV&_)z{3KdCz<1oSdAqY!UiRTWlJ*`{ix$vPb4op>v_{R{15ZT@dj z%*TCmHn?{Hal^wS;I8?%!9|hOpXSiBl!pr!ML&q9S>XRP=mPp**O9*O@KmLEYkxMW zE%SHntBg3ebfkF~8-EYnzOobMk)_iSYG>(dZ`geI?w*f&)$!*udEvAEOE37#V{3rt zzE@XTXFzB6cW2&Ti#S%ADG&HZj6|IH>l_644h)<>4r(983p!~LE4Z4Yy!7*<0shMQ zf%jP(DQ;y~Hb8Ib5Q=q2zL)l^ra{F~ucGOF6DRm7Oq6FN7xvcXh0k)$dvMXKr8urD z@o5UiJ;`-xU06o_X6}}Z{?t?%IhYgv?(_1Qyikhy7g&FlvnHi-?DK~`@G*6z?{Un7 z7Q^2aMDIh-UcUjy>#6!2`rPY#h8rUEv!qcy=v8^?x>J_vGPtU(2Hf}g82qI-?_mC_ zvuVBd?LQB`^L9nVk9o>2v|r;Tu6Z8DvG%$%={ls?LjF4|yg`3z(vHF3QsokS9QK#c zit6%>OE@|vTZ@qev?Xl7)RME%6sW~rl6hP$Ctp}C+I#&*O^3&FTbEa@vIM-tbHj% zPom#M-*z*;WS^~?FHx-2Jc_~kp8Fo{wXMFjVq8(cgL#_klk!g~ z#HV)P5v*&uT=JGfz0Sn5|ItgX)j(X?&n!Vc%>7>8qj@c3{<`+dus^XiyO7B~+kbSa z#7e`2M`JmmG|xYm$qVJrKW(E}si<`)ffLHy^@uwbR2sbQC|X~#&t$UC;{NMVuc>a; z|Ew>z`zOk=zk44?CUQb45#7n;g;IZhcwSbTLgs<%mz>UIpN+e(R$!&}>^|gqrTJPW z`|LY#09>E(8u{7R`UdgYd(jWt5`Hbmbb)#8v~cJ*vF^bz#vRK~W%8_i(HPv|8uOn# zVDJ18KGOTm#&Cj8GH>Hnrng65ZOKZLxd!^jUuZwLtaLeW<*A?OA5|&hoN5imQ8Mf- z)^WA(AoOoXD;qE$TdOLgIH7b@zMshprBNLg#Y$(10q6%yv7ONSC#GQCk-n^nxRTsh z32vVHH`Xt6(-PRX1HJh3bNF~uuF!nx=>Sj3*dE2&Bbw|T#|cI5`pz|7{FSxeXIO-|H7};~ z1#g|t7)ML}K;8&D0U!U?yvPHFDM82ss!lt=4;=i2^_?HO7F@B9#zi)~I<5PA&w@*H zXxy#Akxh7^US6DM2`7~L0c+tiyuJi+;^yf47v16Y;QC`9k>5mKZz|JU+RO%zXmCE7 z7d|^DL?LhJX3YS%)W3`P@pY*PuH8!c>RjWyjhSBg{W`ctYK30uHzNPo+fhDuucqTl zyQXZx^!x~VzOl3baZUfK;HLhxUdUR}{`N|Vli-pPuh35IV)DQ8g5C!q8BgDr<$k|5 zFnb)@X*l-?^Glvh^HFO#gnsj}s^r+@)%3)*kE8L~vWLc<{8V$b9lI@(1(CSaTe>IxQVM(YU@5)7wfd z1b5e^_DHVW#W?DZbj7-68@&p8qS#Vh>?JJZI zoC?Ox?+byeUM_-<>V2n5jO*jR!CyUWD!69)tH&&E`B^!0IHB}+j|9KACA%CieD*49 zgS$Fc0~fXRU|tvp7XX*9HGs!Ht%5wM?rsK`s_1tjsxrrr2Q2Q7$(-P4?_C@E0r%dE zc=q|9R?usU1c57p{*f}SXp@l438nN-CGbwupV#4q&-!PtuwIB)M}YG|9ZNE<8Q3hD z6H4i$cHoC5KZM@q>IklwI1zkv;(%yg(E0itp3Mm*-y|oK7s?tlCWW)oJ$@XxXJ$p{ z6+25tFs@y>4cwk@GPq^i*Fucjzomn#e|G@ySM5p!8^3jaD#}A*y z3FZIRaV|a&&9X#h|LyVW)_s@J*uV{H8aMP=$*jHHA)kR)4WXQp-n#p2bkeT9x zur6zBmIr@ZXjwSp(yc{MuiMoGT$Lw(LB_c^AK-7_*cUuU9#)ZYw<7Qyj~`*+r%HCi z{L z1%sBJJE7mX54;#Z4tc{=cx?*vv7MO!ocZ%Iw2H$Sd4hhzWOVjT1> zkB&v&bMz^Ldd+hwkBRrZMf}*CG{?AD*HQk_J#T>iS64Vbp7|KZ)42cD^mA!m_$*Io z3caid_4AkX(X|;jth=Ag38iDw6x2I*hY{^jtKWm`s?zc1m)=7B+hRX}8)qzs-h1^% zJzn^KT|h4@y#)M%=s_*U`KSGpIiZwPNCvl+T8Vk*3UFsp%EMVD&(Szu8U(#aOg^Po z$}#RPV+M|kZ=ryXF|~JLUhob2Qit{x5wYOhgEEL8-z<7=o@MDd@Z+skqn*x-UC1Y< zb@jnL?hNDyzhW-sJ;PD(h(1r6GJos#1K_^QW#F;-uA=?gI=jKSXllPF<85`O_x8F5 zuIxD%`T_A9v7g~OltjIrDB==}7439K6vupbU!rwQ*V0mo`RM+&Byd9M>JkbcuE0v@ z#j?l98&2^sYUgn&_AUAf>t-;$vdR$f9i!JEp5<>lV4uc2N`m`~KdiwEI^QO`K53pb z3VdzqEbJ5f-ZAi3CeeKHe7}ux@f})>{9w`3e6b&Th4tOCe+u-9{Auv9u80d|{+f__ zI!-869;#RTVhq}2xL6qN@t3B4@I*(T{mzcpkWbWw=(xD6ucMid_FM?+<(uw=zkTa! ztebXiMfm83)3|uv`Or?=i{8-N=4@bk?#10ah-br=HiJ09Px+4WPg=*wPQu?sD!wiH znOpumlYQ3Q+)|vC&Y041oKWi9^+UZ+i_StE+V1F}*R`ej800U9elYFZ2d*wa`yWM} zV>Ni;|Glc4h)-vH1NfM$afm}>$?0P_;qRJ2{2X6Y6a8a4Q%1`;_m1`noVdcrQ^My1 z!5zW%lHTyqp011hnKJk%xa=q8J>Qdl=zrPB;GytQ#6!QVNwkO;eE3h}q4&g+e^%b} zh;#X$(nFZu{5%HwpiM5!cfIl(#?dglIk@$N`xk4EG2hw|Om8bo>qSn4U&afc9rwIL zIib`A4TPSrUNr~$!9T%8TWP&kSBS=O=_ZsN#`L~x9ijIwm7;&-iB%B~lDw(lPm|hU z-bs$^1m~lPTgUe+%M1Un8$xj<+C=fc^YE)+#@%14Q(R>bcbX={U)3-c@gufU94dk= zC7E9AUkUCzLhF9Q_;%Rm*z%=;>&qI^p4|n;)L?qi_dyhWBvVqk9U8tXBV~)OL{^s)ra7|U}=h*EuUp#5A5TCxjgWz+#Wji@9=yg&R;!yRR z_JPk!&#ub2J8cW}uA8*Z>Q45MfQM*_cN$9V=M@DR_pfmv&gG|Q9DVPqN*ULFd_R^G zN>vQy8Q13t7%y$F?WkAQn&L2NM091QHxzpXy&_cuf8OWx;kXV3gNr#8xT1U0&x|{~ zjllh@dx84~)hWk(V(Yg=d-#>K{)*nbuFJUn6g_7{d7IXw1EIyj8TSvVguHFLKMg*& z4;QMzxbwp~>@$7UDgKYo-imycKfAM$6aH@4G7tKka|1DdwLc1itBX@Uf4re>9p)2e zkdS`Q4CpJKsf_tzSRAg zCF9bZDd4gav!Ku4DLS0-;hzSfA4H$)fvasR(Lc8KZLppylXc+B9!#&!^lG~Z=kJd1 z3E=Lp9dTTW3%lX3csCr})o_TI=@X+nz+bD12KO}NKCyAJm8=1O=>a+}S-Am)nBF<# z0`!ifl*gQR;I)&-A*=Ub3G$OJg(`&ypg5I#PCes_=w(w!z zSwvRoH4U1=hr3-G>xd%m9rTXY^T87mF2P4KbuGAf2*umH6|E6hTm^d1g)43*^d-JY z;4i9_2!GE{n!k6ZhZbY)v83Le#|b5OiRNA9rFP^u-%BgFZR#BO49ITXhUuNrOXo7Z z;Q{5(xP@nG@WN-y3>Wl@TYBgt-kz)pexxF<8%Re}KPw+)V7%m6*O5OZQp!vBZncVJ zdOo-+@~7e@-G_BZMepu!VtU!H3gB`-&7&Br7xUM2wluhX6XlJ> zgiwr&X<;XDPczDIrsvJVnGb*WZ*aqoDe$*$8-e~5-mf~J6aKCYnG7!1e{Ik7=6x@~ z?OQ26Wz&)nKki?R7cjlQBAwSr^%oI`ijO%a#x;{DpL80Y4{>W=G#z?N6Y}4Aq6G4i zI4;JO~O(f;TA z_0$iU^}!XV$ABC9jxNs&KCXufaLE~3r^Y_0P?vFQoxt^k5wz~x^JifHW9_wj5y$@i zmFksT99@*@HOfoi_ObooZ|W5e&Yf8UF1B?9j|q=NUUCe225z22@zaQ#(3bfq8*W_8 z38m*Y@#9AwIG=U;euJx@QC>~vxNxTTgwTDneBN;Qi`qokF^^``@5dGW+7p+FaG!&= zXJh!dZ>Yi3%ROkte7FjCv)1YQra|Qndz*b9wV%{WaaC^=n?Me3*BV@AUpM zc?X*BTxHsyI8r?D_s^mAG-6&~j`_&ByWqy!6er%$?YItaDbxl2vH~q4 z;O<^Dk6ay_V_h>Tw!z1wr2XyDKznTUQlQUm&zXBiYoh&0Tc9`mp?q69lgGZ!TX!wE zdJC;70Z=EucXV%&22 z4!HLTt#_PkPj$vkgMWd$#War9p6+eJxbjXExcnjI|FHqRG$S;b6aJp7|M}`B#><+A zo-^+EH~7g+_m z{v+{Ie~R*^7w3ilcNY8&y>%tUiN21a0OOW5`@vNcXn$gVZ7IgMa@#k|FJ)!gpNl+2 zhO<22`12T???m~^^K~`aDLqHuw`%*-zQQw6m52GbYGu+q_0j%nz_w07jLTPKfs4CQ ze|kpDEW@~`OR*&!EB~VWFrZRl%scmjWavF*njea&DtZX6Zrk_ixhBG*$MFX9@~a| zYihU#ysmnD7}GoIYyo%or2WH$5iP)#ALu=UhA%X)f7>@!XL{=dJ?izxPlZoR^fKgg zN!3x{+D?@BqL!y3ZVlbN@b}fAeWvkw9kfUBgTBwQ2IhOh?9346uL>&-AASqPk7D3M z_#2y(zbTFKzvlc_#HVM^u{2KjKmAvVXVIxWI3M&LeE{wnMEi%CMWT_HM6u7nH*mvEkCuS@s$8YWYJn#T3P zx^MK;^SZrx=Hj@*-jr*`>Qx;%48sCPSA5@Ro`gcOqAw>kKsAJ*Ht@vH0sr~evSUr+g{D(g#YsgH3D}ZZ-@3v zE6)cvjH3Cgto5-F^EZSM_f4kwx1@-%K1z1=MgMR!DGzJ+O~-k$vCRqim`>7h8P$`r zSbkO}CqQqXMe{4Ph91XdJ)JU)6aLOUZjbiZG!>Btq!XtMW!%@B@-3fn5!czcI~$=F z>1Z8sH&`)>7j&|SNwohDJl|OREEwGPCuchI$$gHfu63n&rWf~B85q}_=(#Jpq_!g% z*OxNQU_4i^R#chHxGVKM_J_I8>(k90Gm&xMyCGOl#cf`o{px#C)Z4y%u#pq~p8FhQ z|KN8COwTXx0e$XsP#veb4rg4w?$>|nbq%5Ro1QQHkB_K}N(Ub`?Q?RUv+9q{K!5Vv zI-(zR)0~-1ckb(SaPy%S*#CRl-UHX3bN^uD;-8*?yrf=F>-)|&%`sn04SIk(@6^X} zSvPjZI?l~?!AClu);rIFiy~H!`TbRJO?f*1mCmbz^GE%rC*US0t*42Wv)FIDmk)-& ze8x|-C+F56w9`;_8OF;{mGYr$&?D?C#PKn6IH4XpcLDnBga3x}!e?v3PQ;bLeFt1L zboB#vT&nme%9ERDf2Ho^#Cf;2?M!e{T@{YY`TG#sFPl>f+}VN7%X+lQkTZXI%y4k= z#fH#}4n29!{MB>*rhePl7F?`|#_{sUSIp;xzuSt0gBu5S#rc<{Al)zL?GU)`_i#@> zUeNIe#zN0m>jb^}L-B%)`%cpH@sztsZ=M_Ufz`|3K7u@EFG|Oi|Dm=V)B9Kd0QW4V zJTJ-6=4ae@fbzNcIgPLA%mv&>Z64hXdd&*j$7Z*hjCt)C@fmr>(~;(N%Z2x`9yx~5 z^UajfW^`P4N@Cr#)E$O?&{U-M_^ueS@6t_q2`*Yj`H*Y(3;p2U-V@w>iQ>flyDIvb z`$*^GrmIchukBz)`@JjbpnvR2iXX?O<;cTot~j_gf%5RWLZ?I7@e03}2lwx!daZS? zqkoj~tHI3+X&sS{=!y0i4S&!NhVIm!y}sH_&~IbDfh&_0)Sg}q-m?Ce&guvs`3lN! z=^N_c{N4Cm4DM7>{@ln9X~uk%2Rq|<#nq$Wb8=;C9ItT|aoIt-UU9Q}XS82gU<&k- zA(ZEBPcK%3Prfza>UT80{*+l*mvwvVf!q3!KEF|ed~SFX4(@tO?HNAkHgOL<8tH?41t5?#So_{N^y7hAs_`NS$FA8Sb(7yZ6A7#HiR`FPKF~hFCjV597d~5xEQx2_<*SBzjWy`a1QUYgb^#o>|#7&oVFhrc6=#>IT$GOqutnuWkedYR%-U+Fc@3;6J&@R9bS z{Q&oO6XZ{SoAF~g!Os!64i@9#kUt%>UXjo1WoV~(*%s_WwEm*t?&_)FqSaO$ukP3a zaMLb2@7pXHhxuy_T>*bp<&Dtay!H(JEE@T69IIEi(g2?IU^B&SgCpRsPc-kOWoSQ~ z64yY_^v06O(C@6j4)L#O^%MOd8cqB2Pru`6UD%h6_V`?M{%iX@0P&z5c2&oGwB6|Z zPIqJ&#>F#pV;tksDLvrdzTHY3mwHYcaMe*Ic<5I-t!obkqF#O~?JEr5mttRSd_EKX ztb9Uwuj0nfh&P8*39c(d@zAM7pKxBN&-u+XjMZzqOZiIqrm2c?O{4MS8JF0Ppr+K$?{U;okqW>(6i+&J| zul4nbmdsx{egyn&4ejtTbPcV?xMf{ea7!ZXtKD|FG5s7@_);ge9U#9c8 zoOub6Jge`M1mkNck%oF3RoQ@k)4YkrIQsZi;AutAQ{L|V4crj70(^ILW-aEU=>KRm zCzPK2)c;K$HLk{b-U_Z?WP{#S_zL_jcX)8ena$wR!%M-r zdHcX6Kk2z@5`z6 z=C!2XUHEvuY2kC*HU@FaZ=>(a^jezlVQa^t|CO=N;V(K){+pK$#Jup`4*^%FQv677 zTDr3K%OhAip_d7tIr z`8($Wm(?{uuaBhpu1HVDxOx-tb9P`Vwo#J2gaVhjc3q&|BkG~Rp)Hf&&eJ3lmVg8mv?Z7=BcS7H?(L0Qn zxqatEPWZcWYi;oC(3_2z-s$UwcoQW?f|q^w4Ee;K^)KRqZ%g|$d-sRMm|j=8415%` zDW8ipL+UbaTYi=FFKJ$z*Q_tdxcA~6;$AwB9$IcA+G7aGi+VkICZb;5<6kPK_r3Uo zesg=zf}5pF(f|4xx54$rX`T*mxFwqD&84I<2lZ;p_l1wIaaa`e zKVN|Ri&Fo@-aL%B^(;IOuKPi8Yx&a`abms|c>dnV!|<_qE4G5qm|f6w#VLMtg>KYl zT;-dH_UP*wp?9>cg}i6Y(+GNVy=3s9i?oi|_tEblOw|{IuQk+wzqs0L#HYi&3p}yQ zZ#nZfye>YR6H0zK<&Crn=YttHEqgG6amQ@Bj=}YLxc!vy*_knXAmgrkC7F*gqF{Hl z$E>TYWn6j&*D;KbcO1m}?mW44DC3s?6eo!pGt2S9XG5EI7N(LGbzY272dn+Hb_1TZ8%Hj8{|tWSznBCPb`h#`LBo zb-^uxIFDUZ8~MSpbsPG}W3xgZaWWd?WeGk?Tzv`L?P`p9>gd)HTy%=&qhjUvrp(`V z_6xYR?nda_U%HO==y$(FI~{ZPgFD97rG4P-2yjIj<;mYa^~kFp%M);4*d*v%TBf1> z@*;9@&YBLcTx~(WNzd#6x2~b{7yq(`4Ox5m#IoS(NtCxWWy)h8qFYVRjkM*V{E*PT z8T8&pn`mD5qPY50D5oj&k<9Eqi4#h5r7oy zGEHiE+)5uMpdZ|m=(uX^9g6nw-OIs;-zS5fmt^N*^~%S0gWl?)__TU1 z7h>H1k$xxcNp26l{mk@&jB9=sf!_Wm0o>Z*Q33EQx-ZdwDU|$m@5?f-?D=8}CzRIx zXES+L9@&Syr}uS5ocr2PJfu~-iae$$LBAvBLug)v4Ze-|^tOsbocN;7!T&%i{eIap zt_Zj)@cU(jt1ae>@sk1ms(!RyWOupMgw?NG6pVf|JYNH!pS6iQkIjaUJit{O=h1$z z_B!~;e4C(8YW*BO`tP^E-Cfp!A4(k+&ioxwebLW`UUXbnii;XBZuG>1YkSi9i@a|$ z>|cjSIY+dffb7pZ}ybdsF(Xq`G>o?2k~PXSOz}s@uZipqIh$KG=kn5h&T6E`W=?= zpc8O=p)K&=97l1h@KPR-MN`}kXcXHN{oI>=kFOZ99(v1{RGg=%gYKZ6zLVR*O=qUJ zV0wSGE8xbl6t~9jjmdiQ%B;?wlsDQhT!Qsl zJDTb>{QWoDZ!fwN<0X0LMEvNk9|PykoWcD(s_416zU?d(1a4hg2lqud6y?EX7btHJ z4~s9uj#u_zIO#ds$6lFG8}Xw%9*c324Wztr{M2|Hm%8jya6WQ2{H1F&VwPby|r1J|o8;Qm>8p?5WQqF(b4 zny231#ll(pC24!0cderN9^7^i_G$XlYbmaxCcwukDcOMOwHr0y&T5Omdvw2s{ho3Q zaZO{|CvY2-hzC{oy;zU*WvHJOi}V;r+sh;1u1q@5(s!QFl=*XS=Ycy!l;<};S&Dws z<;y@k7;f{Z*Wq@zWO{e|MCc_WPlFG5vI6-{v}r5!woa5E#EqLH&+rL!zqF~#2Iwt$ z55wQ=3deC7`qTB9waH)59%JIa@X^^QZ|DZRk7D&2^PNS!DK5Q*kGuZw_Kd4mP#mfr zJO&@0WWo7`Kfsms?t&Xm4C=)6T;;QfLubt&;F`6iv0j_+iNGZte}b#`)r(?!@rpX?U`~AS-2`cFf|0Qn$DY(<^$Y#^x7Fk@<}zi4#h13i(IrO5naS zX{$Qm`d01XUu5Q%FsA42^t>`|LoIO6nXZpm-saLLF5-kzU%n@J+SO7aJo_xB`veT8 zSa4s^aqQEaAM!%)UEKjZW6B=|(|f=51Q*S0P5O{gH5oT|-w5vN6sUK`cC7ne{qn_} z@OOI(?F0RvM94p)?P=T`>w+@;%Rs0@PveBrb&B>spX&B3$G9ge2;5_%^CpXu?ql({xeFit zZ^|3#E6cTFdU4Q5aQhePw*mJmV_xu2wD7S_9gFs;ABxdGHvcGab1~Y7M~_+b=!m?U;6&txRusfZpFV? zA054GnK^`(Tp#_tG2@1Pv%!5Q z=)6X8Y6$YVFMredOm7@R^~(B0VSTa1?guwj*$bcD!xzh#kNVU+aFryme|uOOaiVXj z0p}%2(5rXUtH<=#QWd}@tLgf{@LKgyuXG>1_uN;B&J*1yiXac?e!u3}OY1_|$H4Ws z*p~27j-~4)F+*md|0Tm4&f|o7oS98fZ|coCMOnR;D}BISc`Ji+H($PD^TiQa16+K$ zFL;R!NAW#~dH~(ep!^UC?yNdAi1`>#cZA+5!#v^#9%_s6weF_-N&LU+K_4^bRW+t} zTKiXS83$l8pPadP4jy~is+p_?_<4`@AK=rVpV?KH{#o;0KNaPvwg@d#| zIZo}7Wppjce7Lzkq1P-M!;VY(?9)@^XMMbD1}FU8d^{Y-`*YxJC``) zhv|_wOn=^^J+2(;PyUnRA&V1zP!72N8}!<9z3Sk5aOv>-;QU?cPp;miYP_KL){Q}) zx3;D0IkFBPN;58TDZve!DSwKt7sl_ilmq*N+e&vrJC)T-AWu5q#-N>!?-Aghme<-b zA9MLbI9_fT<&)#}4>x4o;{ONjG2Np)(CPh3%scI7 zv`d3NrfoF1wESvtuYW4IH7gwX%H=O$~& z8b|yKe|L7pXvUR^eV|uNr2U~PHB800$YOwA@s-ZY?E8j8@2OoET+`?Sd<@nKsMmN> z1fKhzAm{u7@G$x$jYu9}lrH zopHiN_#2)dMSq$`NWl4-&!XAirNMK+{U^V}-!SfV7sgF7bREXA;~lu8hzYiFrg0{FO5cV0`Tpd4w1g`hc^Ms}2d*VEfw~hlhmAnCc;^f}& z$vrMrPm0@$Uk^5A{VAHZ7yTgrwiNneS$W$quIh9aK9V;!aM$cOC#pIRxBQ>o0KW{hG+1wpP*LwgGhh zwR0Nj4KqW)odLZ!Co-D(YfpW|eDN;x!N=MrJ&JMDpyilf(kzNYak&+UbHkRr(EA=x zUNRLeg*bHWEDo-Wp*&#uOnF0F*oXYXS1W+{G*y@aA4h;|0?!W*y5Lf?dig_{m>1l% z^3dlL>5&+E@sV3puT~5nQE40M^#rYlk7gM?KR>r#$#*(0&aKxly9?&2tNudL&!^{{8&^dk z59H2w<3Ktt(~KA3`XN1`mp3kkdVMKsaLLjN;OZ*W9`)Fth<}s&U&J}Tk;cXLg|3r` zYqiFB*EgL|uC_~Rbw~0%U&nP?Ul^V&%UW48{$y>WYpSvFrpWli0|KIlrn*;CvwOHx* z{<-h}6_q`O_WJ|{Ua$Jg6X(&+o`^EirSx7fqH+=UnXVaWtzQpE+>?lz;iiFnBKIfj2q@(AfMgi5kK;Txi}B< zT&oK%4SeqzVQgQU>Fv);gPUHGzxkS-^6-@hIRDc1?+PDJXrTg3Z){izdP6F;(`+hT zj&aq|chKAS)4uU-_CnO_KGh!F-ICgqa$#u%)BBFT1vej~_K&r`$N7T#%0sI6W?R&o zJ+W7LrWfVU0ryTG1%4%ROKHZny+Xh>5fj1BwbWK%Tp!(t{A0-9`on+rl)#PU6TtNc z={mDW8FPzqZueF4DMsHbaZheHWIooo5py_JcBAVR@|0*Cuf5(AaOWsGFV=7O;CxDy zKNVcOxF^~pb`Pu0d_3;M;L6Qtzp+ErkZ{H&k0Vg8rAaW;8*Qm&>M+jF?**=%+YCOj zLyWjzUE4qnuB@T~SAA<4&GZ@_JuGuqpkm<;-^;CxDv+!?$`f&CbFQ~FMD!!GJ)wPG>$Exv=DvH#J;)4s^%oQd(Zoa;G*WBud^ zT<=Pt=NDP}76$jWp8}Z{oNdDmo7`Cw_=#Tt6lQT>q8!Kk9znux@&7A?RoR<16^v_vV1> z%Z~uJ&8KzK+%6OSX{|@!r-*0Jd51eB8vQ9$0lnf5z3)I9+KTk0zJaUm|A4=!h%Ab= zN3!cWxTh@b-z3s!h!e@r(a77*Mzk;TtRCH+=|yRc(0<8)niyaCiFH!9_rOS+z;+wR~LF!>SEL@4IGzC8Teg~>!gYumu${D($}W->*>TG z^uKxJR*bJbZW{WH?-_~xyz6uwinrcJz?CEEzEgGmH{cc##ZUUd(%9!)-~WyHk-wvS z((=s#C9Bsor2)9A0dZpp-B;=Fcn?0J#Pjf1Iiqpj&uwDbN2#kU!Mx^^Z$oeWMEg&1hwc~`ZJ(l4 z@87f!R82dA{^6_D1vl>g3V(5M4btzU^FBin$^+7#<4`Z}h=;$T(MRaH^vf6*(c_We zo?rAH4Tmos)clY zKH`w~;K3_~)@J?SF5G?=CzPh8e3ifS@0w#va(=O{mz>a>ku+x!!yCf_mZJ+e?AN2Xev(E6~!-U-8UD@P%wYfk!sLe zEghiu{ne^67)O_KGwPMDKG}xp4dqKy-jmVyp8DXHxE^Beuoik*0w$Zfia6d9zF&|}F zTBn?AF2R52wTjId_gokXy=B-gaLe3}@Uh-KoyrM+x5SSG=g#Y*nO-Uy2QFSb3H+SH zSf6o|qJ)VPN>{>P;PS8cu|IUZeF(klSt|Gy-rbDpZI{o1`xM*2P0fxYJ|+9q;JOLR zz!kTfAkNicCUEOq6S%wDRK%^}i49!&5ACBA1^+?(J0{GV!`kDXPI>ZaLU=f%ZE4aD(AaG-Fb;SSw zo*R(WAN+gk=GB;9a_x6ACzRTv)Nigb>Po!u*>iIVd_+@dzIY#R$9_z)uoAfakQzRT z6WU0bo*%J?^h<|>i#%7buNGfk3$DF87(6UrN307nSrf#M;@^ef2~8)XpG6(_W8QIr z-|4G*FQ)xG*B0DsN`YQl>4cKiYkhJa+!t&CH;ovCxZ>YMf$LTVuJf#|)|}~$Uu&RV zSi9hK=mNqd9M;I1Q?;9h+}A(wg+4t+P5`p zzbx=Qqp=L>BN{wFoOo_bfnNQB=9m7w7VD{QU~_QG;f?UgsoV(t&sR(ZH*CHMZocpd z?J-2q@9!jQ&Vu_pt-`)Vz53w-c3j+o1>nV2d7)R>>Gx=IJLN0K@TSNc>UjEHs`~XR z==CFryBarN$b52n#a+`dU-VHGSKn{gOlSMSTEj^ zg6o#ke&eT|o)hAmJ`MibpbWIfK30i5%i+`hcMr5vSLp`yUK8c3mIvtmYSG`-!F|2^K<_Wr5BW`2jr7V5 zGr(I9UV*&fmF|b$|B?3dnZ`-=c%dDxmZiX@k_pfof;8xV?s{c#(+e}Wv`AabcTM2A zNy_Pz2eyB?7{+`|QyM|<(9pV{RBRXG*71D^`bQj0^Gnw>9P`~$E)MyWd zJ&(6R?|*b1eDmST=r?7#so=8Ov=2y z`Pwn~_}VRjzq?)~__$tbpx3>+0IoaT0`tQDNejJHMeB?8$R^|mRhv2Brsk9%67Q|S zyf$|32_Nak_3%ltJ%+z!LI=!WF4G0>pWhVw2k-7-;JlmWwSMRw#E-jc1901Cy8h31 ztpzS_+Ld^e7d~MnYr$W)peDF(>t%4?>t-Fm2Q&^|v^!@5g`L!?>tN?FM(&x&t3a>oFAPht1%k#?&75feq2j-!?KB^%~rC z-sccycLASQ9o$y>EqwB?t&Kb{Izjh2`1{hj8RPkl^}<+o>pV{IlY~;9iF`2*@of8) z3~p&o@m4TfUXS_fX4}B^eQBOf=s&C~`Iw+3iL@YsRO~r1hG zk1^jBo6DeHQ^rvE#1wpj`DN)G3@%NkeC5p<8OnUrCtt%ybB~U9X6yQxcdkw0(DS}| z@G)th#G>Be9k8A{+R$}K&-|{P7=L<&o@1%??}py-rc*n{jqm4SeH4FK2kr{_7Rk87 z5DBg-N#m~e((~}e%X@%(R?)g9pG@}&xJrKmcSq9x&4246=DTFo9&phl+8^3__Q5>T z4O;+iiK6pO{kWNkD@)^pXuogs2((A`;|11J5kHfT>(y~^_w#Gu+M~38cAeh=Zfx5Y z?YC|^13g!q)+6c3d(GK#@d?LfaqReNlU~|vC+4p{b__TdMg8DZ64$&8{SP00wFlN6 zSKo>7*XU@zM<_m0+|F+SZY@IjVQ0=fv`0KKd^W3>8%Fu?)0(s3{*xQwukS?TF1Po` zd5Wo5Iq2<$M&h{m>h!&yQZdEIeDu31PgXoJsTnVPmXDD_Z@WYDMba<{apfIc65M}p zDSRa58iMl?i{YajK>IYGl(_t>?myh|eiY)|7ttHs7fnh!%}d57Ug;AXEW;co-PM2c}3$= zEM-VTUhp-T>HScK2bu8C*;EYuZ!dKn?eRXQapBTa+A+PS>m9_KH02)jp7Mvm9nbTC z^W`W%TZb)+VS3-Pd`TQD^SyxHT(l(Sm%Qn0jBoDzG6c>Ob^p$T-W51cl)Eo?U_MHb z4BR|`uA5121*2Zqo|EAI9(T$AumpMAIHD-Hs>XY8cN6;l-K!?OvlP8w^=Y+n-I>24 zuMy{=ytk~4eYU02_ea*$nefp?)Adqg^SQ_ay1~1lS3jWl5$l#e?8g4jIf=f9l`WQ& zPm_P(@2S!e{gZpVvZ(G@M^xW=_$dGWj&?c%*H28YK6Jc+>nG-J^u933{BF=IO3?Q* zV%a-f_mI4;46a#E?=96H>5TQl`+gF*r^_4or!+a!g0<6=wio*)K85n<&s_$r?|h}X z;9Oza|J+vB$N7|8L(eDF&7yr*Qk#j0E8QG=kGcIm?Ypw%{g9VrO+LU!am0#xV?WaG z*Z9VJz|Hq5zwNW8N3izTgF}~aLTM1b=wY8V-yif~rSw=j_Px39lT|jW1uk4h{SOy? zi$Q;i_g4ouZhH+MiKjcpMf9yVIRCji#)Z34E}Hr4XNbTxNgtqBm01HH>u-8Lg}SQ` zTzh#H#!;319_z0!iPi;4;T-g{aD5wGmWRIo^4-~}X8y7jgTcKrde6AL(lLxz?)z|c z7P<~5vCZwu^!A!Rpx5`N>!{wibZ~K>f#8mtAJHEBnUh_ZUV2V~_RF<&ectqy;?ps? z5V(Cf#e>E7ZzrbrZXORGSxLG+=8x!#`Qp3(iTpq1LI3zy*M;7={RX%x;Rot91>W0h zxVHj4_r1Ncw25e^FL@H`)tsSym-OE(8keF!!7V(+p}*_sDApcVt5V?JMs)v!_n-cl z*OH@Aq|ZnDF5Q@*_Dt`&Q43s`m-c(E?RAhJ{3FVNi>=SlPV>2e(M<1s)E(R%M*XJ$ zhwclK*Pa6I+fSTpbRYF9{!AqQ&|~n){-cRvKHSnmshm(6c2NHG)hmc~$MT~Xxbyr; z=-u6iVP5d2*~p)26~#Z7GzaI=&V~)ZtzmTD>P#Dn`C^WH4{mv~0X~``@tCJh?RRk5 zPCIyFR*|->J%&!S-kE&FWs{$_0Z*m-;@l3(|Dww_tZV9Di?HrE?X;er8zojUy{zm6 zaAOH-r+eFGtnW^r9qXw`NymHq=4l*P`i?5ldzaGrRMMZz@XN0eHrgQ^cXOsR_ z6344m|AD`~$YJ=%EY;xSiwpwSexh-FTH#S7j<<3&`qQ?T^2~w8p>#dr$vW&0-LV$< zY|dUu>+HKW&>Oez2T%0S^Q#T*9zo9^TL$i`*cjuh-x=rrsp5Tp|j)#_^WrBkT(p`6rXDIHE`4Myiv^G{BH=( zrwqw-9wDunw>{$u?*aJu7e9brGr2Xm)^!nFTY=`IxWIn&vpb%ydl>Bw=p7}rh&Sc( z)6mQ6P`nwU8(@5G?-Ic!S#;iHUD6TbD-x{&mz&-2vHmO)#oA*(a2V%1`eQWi{Gf^O z@kYD@H};|S%Q{~`J00!+A#QsDA4}e^=m)>3GV+h|iw9gkFC6)bZx#+N>Gl)cB&rF$ z?h?J<&|ih}o>BV0@5P|!0^f_-+Z923tV?3hpWNPm;4`3hZ}fxeH$5N8`J49JVpl^P zFaLcJ^iB`uF;6*b~yH{GV>Ss z=sHt=ldnxeJR4?(gKM|YK301xAGoY`ZE$ls>0=(Zz&h*OM(?%v)u(-wdvk%FterAV z9UNEg`@XGQ#-&3j4vl?jeYel@sTk)U(0l5Ap5M?LUZ*2| zxE*T5tvQpvS8}%86PPdb{5nzV$N%xStvCsNuK)3FT~IGq_%4pilavg-r(1Q@Ycbpb zcX+9v&+VyA{eNRJuKy@b9ED!@z8B)nG?A`TX$|MVO^SucCyq|WlCB?w z_INs%As@vR=+ke}@8F!3_QJHJuQw(l8 zDTBZAH(eJ>8KrN>`cpETerII7L3zV4;2h~&e4zF>`h)hE-d>7fdXMQ5aRcRB^8q`K zSNrT=aDP`iZ!&yn2E8$7JL)w*rF^Tt_a>V8xJ#vii%Sr}h~AURyqc{LMG%{M|654Eoa& z_`b<7&qe)nCwKSM7&pJK1MV(N=XWx_zboVJ>Y3oma&$iB z9-0sBR8{?g_E-;-zi$5o)a!aS9$dPR?t`)^>HJ+YM2`04p1*q*4@G;dfqD%CzoMPq z0!cV7b(uK$ID1h)xZi5Qtrh9M4&Q#dUst~7Y7}dy;c>!jPADCRj=|??(aMN7Z{!ki zV;wqQzS1@iI6o?y_$A`*?s*W0icR!sJq-`)C-Ir(_bN5&F zn(^Sd`>UTnWH>KY|J57Z@q+H(mLFe(d7bMcI}~hV?XX;Ug>jU<>jJ%ZdlVK1AQP3G|*1bp3~~ zmyC8AKhb%v{d^&`hx^-(d?kLc82bU;c{=ZQ2aV{4JB-dpjBi$`SbJ2V z)sW|olFe$ota!1ar@4?Hef0%~Q68Fdtums!^O!O5a?}rFP;z+%M{_Q+6^Zd=?KlnaK-f>}7c=R@xrz9?S`)G45O@FO;I!Rf@7w zUfVpC6H1NfOeQas3+hy^%F3sYi*TG!@^$uR@UM3vI;nI%Lf@ zH0OlRu9#Puynv5oSSkypNc?ac`ro&&0Oqgd$}#khV%RZo$LY6BFXHQMdB^JYoY{qb zwx-bW+P_%yv%gD{i$E{(mV;08D_K}~6oqRe9wh4?WHQ~k8oec~RQUEJb3*B#a3hl! z$`c`l8n9BA@9k_(C_OcQX7WO*p0MA~>XodU18#p${VB@Odl=W0ruU+ndOykJh0oep zdhdXAk6y(IpIwV-yjmZWq5rMlO15HLI)>U~s5d~w3!m-2O~b&CpUo6L8$T72g$kue zH7|K6CzPg+C2?HdxTrU*UcI^<#@)Jx+UY*Mp&~DE&GNh>IH5E&D-6APQ#-`7CUMOikofeV?+>tBiDgVD0mT z=x1}qEpg08zCZ;1pgP`~yztpoapf?^rF2}Pod3twmxs5sz26^mP{bS*F~=MfF&|VL zbId^z6fu;bB`Bh%lp^L_inxdvE8$x?;*n3QmOIREnPr=X^)@ zqrVAPkD7Tgug-oyK(V!>(O$+LO_CYz%5~c=h^goNe*FJht?mTeREq3e|1=N!k2FgS zTzd8b_?G)E3$fq%(&#w{L-X>mle>H(2g6OHTOy7*r<0EQt_6N`U!~`(L%65%R`|`) zt^xRg*I(@H_jw~;)L^Opu9^0O&q(KFtwvQDu9(#$g%?xL%i<_kS0)YpN0a=3@H5n} z91|}WV0`b^p3w1bf!{dqgaXwWZXEm)xVA-I=!{Dp#WP$|aBUJVrjF|Iz@Hr|0$fpM zGscVL$|>O9$Qo@0#*>T&Zq43j^`4UszBb1R;F^l(z~8NT+m!Jo%bF(fVk$hL^=gL#Hpfj&glPXM4k+282aa(Tij~Cj2 zI3~|&Uc!sl-E+>`1u-?m(swJY@imt6V&1Vm9DK{O;`!Ni#hJn22Tqn^xarG(!_aTd ze_M&)`kYTKZJ)&V=q@4USh{m|U-AaKcmT+lyR`Wo8TcB#uCUgW8C z*X@Gnj!kW+)D}}tr&$49KS~OInK=5+i?(P@u^d8^ zsnKX(K1qe=vCXG$fbTlks{#9+?!J2pFQ)G8J)rNIzF5g{>!(K0R~P9|_KdDvo#D!P z{U`Hcs;S(V_&E-=W4Qcb74$33D0&{uF-IBAaO({v`oALw;fh(YkqkF}iU*&s^&C3x z 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”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 `#B;0o*nUi!0@$c7;nV;0X1KHah-~IzhU%! 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

R*dKi9FRe)Dlc6%o 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⪻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

flKL^yD`4)tKCSH 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

6t&kdW#vpsxwfsNdXsI> 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

pVdchvW;QxTTqkMHeRXpr89tEx)&i!Or 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/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

hQ*8-GiF>z{pfSM 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≫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

w<7Laa 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 ^GT+_( zef+)u&-_$w%NyVeUlLE0@Ar#rcm~|CCMWT`QU1Vq>>nq}JFAN?6{ey$xZzX7=EwDP&OaoQx{v0W=LE~58nUsT^{ z3UFO1<#TP<7Ze}7mV*Sc1wN_O74gLV_y^#DGUb4W%(PDNzDMuf=nkGx#Ie9k(sBQ_K!IDI(EBxxatjqW^TTsH zrNn)mGXUpxsMwIst2ovxaq04Ru+um{fVdrcOzY6VFJzDD&|u)aUY7pe2)^f^0>F8F zZM;kEWzF^@<`-V4hqF-}@D6ifK8;SG{4;X+C+L_8?8AKRPSAQT{KG=vnwrYzv%!nh zj-icozK)-J3We5zA1-Z$4&#n3^uC63v+_Bt|1au4o_phwpYZca`$g)9j{a#1JTiD5 z^b;+cC~)Rm@=+ee`!ydXcK0U2iv3ULIqJ`*H}3-H{Z-wEv>%d~R!5QNdu0Fns?m2AneW>{{nmeE zo?<_ib&T^$ro`PXdMMTxp7D|tOs~IC;3?KMybtV^aVZbo>+K2AK943re8c51)<7qIT*=UhS;dHmKjDb|VFeAJG{dtXMcnrtd>f{!Iz)2gesAaGuu@> z@8Es@ph&pCj$9Y ze*ASxeOJ6(O1|YzZD#67ziCL z=j)(LX(#jb?RCiC)cwl+>Nffx^q~P;;d(TeFbGScP^t4~6{br5A zPJ=uT3jbt99>xCQ`s%hnQS=`n7d`*AX7!<7Y!8=f==!+==X3kchLuy=87!+&^b^0l zKWUhy+_&WYLv5*_lzjR5h1Kz~V!RmS{ZCUunHTZ75mR&s#wm|q%~$k%C-(XQbU2UY zJj&8pX(!twebEf#*VB{Mui9CZXS$mz&k?!gIA-a#5BZOJJ`FCid*<=*_h8N_K%DG^Vu}S zTee^1d_bi9mT|3o4;9zT+nUZlS^l{WznKrvJ^<_6<$L+~em|}ke;Zyo7x`MRM@*X%1JAJdL9o+ZH&(7t_?`Wvw9^1oqavWovqmO*P}s?Q z+aBe7WZ6aYe&|(P!Dk(}{x#yKTA$C0GS2!sZdWj(zOSBf?#~u^yg19* z(XTXz>AXlxzGu?+tQT<3hjlA*VceOCX z@B`P^)Qi3orsmsnEyK8AocYdXm7v4VA9;RsmZ0|y84t+wGW)?O-_Ob8n(q(s$??!w zdkE^weBGNyh!5;H=0|)s_{V#skHSA%IsWi_UhFr%U!DENcu<}%_+HSr`tp6AY>%b& zW%Mh~(`@o{UfoAZT$J-SN6l=CIFo+Opie?3$ar2=fIIqZj)`^$+4)K$5=6mze`;&qPU#I+@`AH_K9xJop`xllFE=Qq^2RP7t=kEwC* z^TTPW>~!w=G$n3zEyuo@T1Qu2K6fFBNfw1Y%-40820rgYTIKo3-SQ^!Rp3_x}hvs7(MYm*B;I4WzfQJTtspy}4Zc2B4tYSQJ zxxPuw72}=v8~uhQN;`ES=qIF+N*x*3$?X?y>PLQ|j>D0TbpNLs4-Tw9KUqID&i7-h zK{h-!yeK!Z~&gXgfebrDo<@ukme4a#ORh|FYI1b}i_*ZrQN9LQSs?Pt&xNW%V z{LfX|-;;8x&i}}`|4Ze2uOa!laIj}VMZe{CvD_I3oX;Z#WxlV#Ed|cci^WZ<_k8)e z^R?OvK0kLht}LOz`FxaD-wg5DUXPyVx}VcIglLUPinz^oI;VXAobyAiyg%mZR1r8o zkFd!1mGQbh;iUVVO*3eJhVO+7zNB@!Ve2xqi%yQ8W_vA9GR~;u9)B0Wl*bA_>o|_n zJ=MY>+Sld$RY3z_dJ_ErgLj-r%(Q_8QahINQZjR zJ=LasJ)y&RtPI^#?fI5;T*c{L1K)|+h-aa39l;m2v{cNSLHYTbXa6kBk8k%Mno=Gc z9qC6N%k#4D`A^VkR~A89`8p=g@78-iD0RBf^DjP+?Unll$BlTtIen7- zLkQ4wJ&WgCl$J0_W$yfm$^bI{bcvHeS_fta#qdeBFGP0_XZB zIu%staJ|gk+Kx+>%leG-IdjIj+}H9@yJgz z6wlfDy-540t$5C^)^W_N1N`lCdHGy@&l@?`_=Ceh;84; zek0>i`5c9F+kFKdk@0ZLF3zM5pPvuQxS^2pJpz93AW|}@h(9`cohz&?(8 zIuGEl&>wttTyiXap@>&T`F%s397p`}_j)+*g7Ka zLA$UHlLYgt=vIHH5j(Epv%g zWd&V?8dg5E?nXgZ3Y(oVXef&4?hMyE3x#wcuF;BU-5}V6&VwTezAus+Xr1>BJ z!s-ReN1h)DJ>~vOMmztet6d)Tigw`lyI>jifBRpR;KxLN(bHT*LWm z`-tBbe;aI}-dh*@1d7g8^b~z8yQ>w5yEaS$zueE&UDD!{?@B3tUd}tkTJ3>-^3OG8 zUYe)i>53dLu{*0PcuK=9%N`%O3^>H zf#c40Z%ENU5+&~H@tcAt?DP-z6>^s6>6w0|R}RmQC*$S{ z3ZBv8M$5L%N<5jm%$^w^@Z_1#!K=ZbztoU=xf@*elG7?r@mx< z9D5Uf-xoYxkMDR#JS6fx=x__9{$Gni|^Yu1<{|&CO0+;o;lxwVb5d898Uf%mky?qPvKA(0@ z{}lUGY-ry8MoX6KY?*i8N4u914=w|byweq`K!4&Lz;{*!w?D}79(b>{A|LsPqWFINx;JdZAan1gj!wr@F zE{V4@)0r<>?kk10cjvq}rxYk}>ce~7(w`;%k1RP`pnS^Q2zWk!c#320|2r;(Cs2p) z;0eFznY_-t6#4bi?ch7-f=jz3N~--w`ibwCrAq&ici}P(3M>7=(VPA}bi7W1xc4o! zz2yGBxr2JIU)s?$NbL{OPof7pu)pQKJC~Whsz5y8zX5-ee_kl_N>Pkc8Nad*X82LX zWna$HQ+?-3-mh>s{}KK+e}7E!ulf6!@&64zp4-eGx)=Kx;veLkPoQNZ%#Zncx}J=U z&b7P5Ew|ql8Gc>C<((hXUlGIu`TXH$swwe_O?$T_(J!drb`AHe-KpT7N7%lGXWmA+ z`TUVkg#ydfpX;o|V`l9gl~n!L6?r*-Wot7^i6`TKYWpW;I)TSHiRVBJug5VDMwT2> z;!^*seD@$xZyV(E?P(d|QtIW_>XoioLW$>{HRva;i_R*zOT!b(cPi@w=c8<2M~yF) z_+0RK#fMNYv75CW=kavqcFKA9fc74dZSg;fyiJpLTyuDB|8)o9k^U2#FbC@(!Ef7h z*%0V2xX2r|b#7=4^RLN1;cYy@d^dti{uf;h=6|tmkx_ z<-Vox`>r|QCuILt*3nig_aP&nvE5~#(_e^rdyQH?7r`ytng1^Sn~(iL%NMV^!hCt= zj^vU2de%*cG42DOa2^*utzDAvAHnCTr|4s@O?}K--ax~+s~FF6UnaYQ_hpQ+KNZ}o z?H@|H(SOQ=-z(*6`Hr(%zQ5GJJQpqYiH)5FJ>}e*=#xIndRfl$U6-&mrt}ACceC?j z^sD@KFITTN#)aV0uVNRkU|a|;{ls&$yYR?8HQ%*53ctLclWw5C2P^e8p5Q$@ zDOd2YNxhfny-Gi0JN*sk**yE`etf4u+<9{>zj-V0{QHBUwEFH%bl`Nf zuVWDN&PFEw{ZY=Yy5&5tmF_VNaf`frBloo<4H!om-sOIH4`i`{R zlQmvZ-~YLNFS|nhdAWAVzYpsy^C@t7=f`uB@w|S;?*-y=A3T^hzQW(}{c4FPC9d|J zQtz9~J#NY4Bl2>O+i(0pDOcVXlJ}yeT#0XkE7WowTHLN5roO)|b_(}_Weall48M2*{oneg1MOn!^Azrj$-Q!U7d^RHy>A}X?x&}x zsPCCa-{JYUz#jE|_0Slu2W4JJS(!gk=1s}-V*7Uh%D274`74yCPjE7M+^M{KZKfX3 z-&Rw-=WaU9`P5yd0_vH5gZJG1`(9J(Yo2-l|KB^M5pc-^0?ZbN=%sY^M>#0RKdpkdB0{&o<`36GQ`ToEClXk$3r+x)b-~qlD zC++2)#CM|P-k)(8>*YMe{Q=#vf1tnXu@>NQ?dSOcOL>*Y^(pgDNk5Twlc$&Z?u6V2 zkB>f6pdav8sx&uOAMp?Jo_S{5`(vR0sH%BvfUFF=EKgnkGn+{<02nVj$nQ`&m!hYaLsQF zJ4ZVt!0-Qz`6xV#n*$H*W&ST|-}qR5$4?A=5$zJ`W*?oj(r__Q6kuhd=m`*>UW^YE#bz)k(4;E{J2tVcQDc{1I}AD8zZH2v2x zZK{C61FoO@9pzUa#=qg39AD<)8}VIR z`j5m3=9z_A|6yUAzw$L_d&xO!)8?;$OFXZCgzr>%miGW2X`=CKJc;w3f_YYUQ+VY4 zQr88(`>ogB>&_hBHYnH6O>eRP_*~Q{cqTpM|Ly-02g>`a|6l+4-G_BnetmuON-MbV z#0J;%=J?Hd<$B%s1JCF0aEkBT=JQ9)OO-fT>>Qi&8P<3C@|I33M;25s+loo=7lb=+ zbQw_)?wHfLz&Jb|s6M(Nd7pKTA}@9bU!IC{2$noM$UD#Zc5tln;QYKbPd@x~C*b+= zvEG*p#7(D<6v&hKd_3+!aKBw}S8?W{Hfp%=8$V`VZ0A_6Tcuvv zd%`F;KAQeeaMR`?z@@&Dk2t+>C2&KrAE1xq^G#^^xUJKfKUZ-5FLN<(*fd=D?QX`= z!hbuTZ%gL+wKV0u1Hpskm^VE3*f^ByIjOxz(~<8Ud3GNIF8rchm%PB1&HFHa`d(ps37*yRo+lR5{_MZsgw%WE8*!F<7<{W}$XY!1q2ecYcEp2&yHkE|O-T=EWQ z?|%dP4bi3C-xJ(fgn5UB-!q2xcmK?Nt@s$ukD`BQ4drEjM)24i?n~t3a;{tM>)n>u z&UNSGaz0$}#39Bd9`hs6-@k_OhRpBbr z<>MypJ%s#wScxi+V4p+I$rzSg!8r0Ie!+f;dx#ca{iVel)p))!-j4RPXNjj9t;hbE z;Gv#;_crp04S28<Y$*1ZZY`v3RN74Urhqsvbzxa5z>EM$Hz{X2YjYr%ng@%>fy z_vD?%mp7<*SbNv;#*ZZ+AIw`98v?_p~?w$EcsP6^IyFlj0)%ULD-D&Fsd>>ol9EmF&AMl+bsjsZZ z1($N=9-K3*zE>&w*q7aa{_@VY=o9OhQgC_i+WeObxZl9ABlKW^pW^q zaM4HZnM$6QeEZuM-2{Jr{A2IGr9gg*X+Ch_m-ioDpt*XT{i=a-wB z&UZNT>m_-1zqdVxHmXTCn(PU^dzvY%<~(-GrVzm?~gBJDnaos$o!d5h$I zE%Ss`kk5Z#D?fjwtSkM6Cqq78AJ4oE1>*iccK{E(&vk_7`m6N+S{|iXN$x+mE^++& zlj{5D^3Hko7~hEwcH+BYu4e2%;x|ky+i}0P2-jbNi$52CB7WF5?=1G`#Sce%?StP- zwPoJIHwUyWs#X`lPHb#m@`w zKYkbHP0>^ERI}xZeBdhclw@b!1RnI$FA1(6{f&alJQ!@n?>;gQ%KV|B?G6;p;5N)SmN*ZsGyR z$9k}zSl(j2eBsK7GxBju<6Y#>+vjnduL1e|{wZ;k?WdFY|E7M7&&AG`#mqY=`djX! ze#W~Q$EGLJ4#B0gL*&?1#C!gdw1ck%<>T|n6V>9q_`_8Y$IJe$?At`I{RrH=gzxF; z&U4-5FSHr`$~^Ne{{KR>PqI`A><>6*HwA9&*-GhGwqebHi~go}84uh3WZq-5iSe-1 z*EaP-MPB#=l}D@m-Pq3!*QNpw9_hjHdyx0{5+8D%Vw}zWE8({+KBDkDdr}{LkITSC zAKUNTzl&5p13X(<+sB*Eec=DE-S_RBk9BljyURFDcG{|}9}VB}y|7g8pMdKh<9bB& zG#=pkQS25NOg$YH5-7*1?-_Fx(E^t}T27g@we&3=+YPq^r zO1ZkZ=h5FHN819o%+TVTMcf}Zxc(u&nEPG2nqNWQQtUqH<9tWk57hJwKEeHM+g&_g zCwjVuQcuH8ez$dN{LYef!DH^tcv#xeTbDcuZN023#{JxMYBJ=dz2b{G9xcXsz|(`M zf4qz~eqWgm+}Mxf$X%Q~w*J2SOw)6MjdVav#;ZQ`4s=^IlkYeT)AudE_1cupgQ$QC{{BjVYF!EZ0sc z*HW4HULs4o0uNf*UajIevF`F6Ma5xXi#^53}B4 zAJ2pZz-2!+(0w$@jXcKpdDEYc#{W;Pdl$H89nY8e%B%pMI88gGtEqX4^|QHt&(z$= zexSV{nELTc@T5*`$KTs-4#vM?w`}>H_-$=;34a&bL_Zv_Px*9}hKhW+_A>l-jcBgm zMl0Vf)a~WE(9oIluZ$OeeUA5Rea=&k4{5K!FVCP{=V{*OGCs+D@>ub1z-_7a(BIO2 zBgzYxETNPu{J|98SN6932J(VCn`nM!C(kFCpJg7$=<+YYFXKr3jK7p0{=t2M--U%I ztnr%{lSlAqO^)kip&cmKxM(%>bN|#E{GNlHPh}s^TlzWrpU=3jBDn1$-;=g!`9WOk z)8H}bzk_`InKR&bv}1nFT4TKzm(py9eB1m*OS@L=s%s`Yw^zqd?($g z`G4zT?w{P&$4EWxnm&Su?x4Tby~Fos{M!8DTTcHk^Na4AFWFuLk3diHt1|DH&u|~o zyp!b$Zi{gK%Ix7jiIi(<$^B2m3oJMI1;>Ns+;H%_wC{c4%j|#Y#oV_{?AF>v;@PtA2Q~ng{Sd)r|1%%gT`0+U{-5i4{LTXL zRI~BGrChW2y)$j2d}?85@W}pQ=tJfu_7$Oh1ovzEsL@+n)N(JBEwEmul}{B|FISs2 zh!6AYCHtlSAN~~I*B9Kr;28RY;qEHnN!4b*mHk6ozoCd@!!Pbp^pyQx;gNc|i!yJs z)c3aiSJuM5vDi&;*)J6y!Ch@Opxk_U|8X7T?!5N$U29q(?x}DR@w@QYR{e$g`seM3 zeCSMH)Jxy!3*hF>55f+CnoX4Y$~iRQ5k2Kxoapa(6nEpgJ z{8O%%^UnVSH!J`y>v5NsCo64VsNizWR`M5n?@`y$w&BYmuiwk>^13dZA7d@r7g(=16G=1r4* zE&CmxKwjSQmUplvZ*M-o?7w*iQ6DK+H;wl_QvC;@eY_pnuOx3ve*R*~!|Mq#-f=tF zj*=H9S$Pw91ebR*t%Ldf*YGamF3F$!|KT5$!~SOG-SyzHA8Uwy?w-j!0?r3YVSg*# zy#sJ>amL}^V?peDq~2hEj-TLoaSX6U$_qAJjeeVI z)&~5hKAZ;~?dPGNCsKaknJv`MyO!rpWxQDRw6AXxzhB5cgIODQ`c@q8GVWxYnl_It z(Er$mwFEBXH}NjxoXogSfX5qhon@a+eNu1nJD04xh2L;sOTqk8=PUdoZ(e*-!EHZ~ zKm2Ds;KHB!Y8dS1pTlz{hJ9SWo365dr0NcWd@|M(c8k8na|YH|SZ-!D{f2yp&Ho;n z-d22aZk-z`{65MFG+{f+yL0*dT;Aog8ERyv6Gi)iod$T^Mh zQ2IfCrDF7FntkGx`a?du=`YyFy_kMR^4W#8ax>cZ7s)G^k4H!FoiStkEi7L<*Abb1 z8o#|gwxe9*b*>j2AI}7C+&Buj=;ePavRFKw-~eeN*lyWj-Q;s(l5-ulfh{<0^X3uX zVtyCT--nFtI9{Na~hBEJI1T|6D6;rIr0hQ(p~=!k?<} zBjeXRdxq*TzfyP>`@ihpnu5PG&dZa}?&kfb$aRhbU=y}RUPl*HzJ3aFDdTO))OCcTo`N(QLgdVIP9#`aL&n}}2Ohblmy*o)eFDl-NCCzUA%-0Wt2Xk10h?v z;zH2VrRn4PZXM)Z``!XB{mn6k`|_zJU0AQz8MmkI=03RSZ<}`n_IK>BsrV)D7u;72 z6j%L~(Mo;XZl1f=mF0Qt)KT)7#+5^P$z3z>ulQSYUA0`XkGcK=$R)~_#lNy&YAN~> zeoHE!T&eZWxX;E_G8_VkAO?L9(y~5$NM<_Tk`e6+PaBN5<+a&|Z#z+20(SxbGSq8UUUc z@Gj&t4#q!@H`uQF!OTPDX+?d4N8g5=eW(rbOi+uL5(^kd#qEC}UJ^X;!hO7FdWikO z_W}Kn?U^0}a_a)mF0GsnEz$0}nqT(M;kp3jEsH51d{i4hWnTur#FMd)TX=Kw(N&bU z&ZWHPzPZRR;OKe>^i5W!{?X7<^iNZ9?k6V(YU4}W_lx!Aeq;VVOuEW>{GF`hjxJJ(J>AO4xJh-<5aN}%__fYq?z(YH_D|oiWNZ^%^GcT4y zulccu9|zvG^FxTM1&>TRI5}sBbc+4K8rJOK-#ayjd+N2u-3b?2GTMF*#rsY?P@%y;! zv$>x#Q~v&uXfLz&JzCbwy0Qx}pXaxGN;}6Z?Jn{utG1t?w@(;e&V6{{37vAG+{ikf z%a#4=+dR#NqTV7ecxX)n1$SMzA3T}%{8#*p=V}dnr^`gckQY7k{h|1`NQtT7$)>FM zSNxk{#q;=`s>y$a-*qSF%h<4k;Que~#5j$W(8|k;lf9z{LM}a?`44@CzR6%kM%K+sH=>-U{nu1L-ng59`Uu{_tW%(Z5Y>vC6D3% z%eamt=U`mB>Ks5hu>tg-x|g;Bcht)&xcy7|YsXXzc*5PeUu2px1pMiBM$|}de~0xGo>;#J=pRe7zlCd)KisD^aKqi?7u+5@ z1wUyEb9{-Pv=8ooNe9&_zm*slv6=Qz$h!uiF!dq3XiH+-bZ2hOdu+I})BFPl7+VTDvE*^&;@#2~|G0>_37>-r~F;=s21ET8jsaz4`a%F>ffi{>X0L8|u$?_Ejan|DM&jrxPBV z$3N#L?hR#5)qp4~4K-OW=iRLDtgkYjoP1`NDxaRmdDOY< z0PH4lxNbh%JymKL@Z=S~hivlx)-%TwbgBH=iHm#XaBry;`mL0kIs5oKIo$S29zKor z^b{=ze=OyCTdl|ZB@v{>L@jhTq}Z zw4cO3;Ra(M@5@q8`ylfFmmeJQLHK`a{NOwMGwc@sVgdEh*4O$+4=eVUxX#&iGvb3# zXO3&xH;6ZI0@t-vaZ{sqz^(pI!7uW$&%Q)`ZEsLdsc*X7D$GNUT3pBI-q7s1tSa|0 znqOwUi*~1w!u$5J%evhZp|IAchE=s`)+lD9BA`DQ~`dALQLXccGnL;`bm!U6vag??%6q^^50j&QG2lr4;#?qceCS?)M=t z-!a{_CXv4v^B?NZ@;hc?dr{z?3!PDKiPJoRrTDG8f4E|2=Uld9><0Ufw4=*;0QI-0 zIzv7&kmsh%lU_#uw6^{Q|3=qpaiE*=rJ?0u$P16*=Vwu$%qPWx%XkU)eI9tQVtWNo z#;vfUp*q(GGEN;Yeg@omQpIDAo*3`p>DQo-PS+FtD%6pFLvI=Ye(?{MD$J`ME2HB2 z){LW~-|-%h#7p*ZE8q`9HRgjy{Gq*AGx$%(khoH=_w94Q-IWF@^1e}5AQw2f6@FOs z^t#W%&j%KB|6B0H;I6>+A5l*!*Ld^-=8<${jZ&`eUGIRLe-2lp{bkC39T@!5Tlw|-I-JR)xk61TPOpyJ(&Vm~UTtqW`)aK5mfzk71dp5a=HATRNA z^7$Evx9tu2okXW&-own;Kfn{Ve5%=*c&M8b>j-z3rQnfuhd;dl^4=9g6n;Zd#?#iD z&tv?Fe=~HWy}YYBW8Rnk<8Q~mcT{FxMTrMOH@wh4U{(1o4R>Qa_})~hy-vNIWs=poez3rC{T)=Nb)fD{1Z9TXA&U*IRhj~)`e4uwb z;D)bfc*n|DV?85&P1gp@+TxCFEUQz`Zj#m(5B5hv8%%%pY8V= zx4;r5P2Jy7llhOJK^$fTlLA%)Yu${$jCB{~Oe0MLye!_xOC3Hz|1dt~QYO zJf!+JbG5RVcT-z0EAslPKH%YU8x`DJ@f7bT*0`wPx_~&2z_>r*ui_uyg?1Ca5%es9pK-sg`m6W@-MF5uk|e*jo^@7P z4f(+Laf}b~4~`no(oYs+dx@V++S|de8h5T$^i1u(h2NHG_n>DcW^|mTx&D6 zpQLO2F+7JGeAl)5vb}u$M`Iq0m!GB8i~i7l@;ugG$qLhy`bILdFrTJEYWrH2eh4{# zbf_|qyY-B3JRKhcE_!+wJ^EfwAIDwvCsJQsoh1CJt93xpCu&Z@Po>wY@l5zI&&68j zsq?J!6|Q#zjq~`AXW%cQYf|7Bf1-;RSYD+N{uMtNXnX*EFx)`w$@x0arYhvDKk+=U z=x=#o8rB8QJ*poFt@NT^z7|q1+CTY27JetYRh3V)xBwpg$<@?Lixbi>HwGSC@U(`L zM?aePUcz$@DtnF@Eu|CfDB zTYKi`3YBaHT-GVcd&l7K&9{muxJ}16ES!80{ZQtYL>I=9nN?xnvag$|OaJUL3|Hng z!y;|p|J-n;Ue0G0qCC^@e*%|%JWKV>u$Q4|0D4J#+58^^H#-kQUi^SzHsb@&vvv)q zodcge4*6uepW%;%$5iMz?CxFmtkN!ym=V9T#S-{8y7ojk_FumbcC+KR;o|)o&Unna z>Us2Y&j+=E3%}#|WZ+KIYs&bwuUdj~osO7>YvZ>=V~p#}kyjPmcm5@g_urpW_)ECj z!T+SaD;56i@m2V3)s<1|>s>KG)sK8qFV9dX z{J(G9-wIDUR1!RnYTFdt)3y%gkzfa_!k>6}2IjT&TNVXR9xlRp>hyMn$NS^2sE;vZ zS8!{Eui(d1!~at7^ngK_7kz%-9~Avv<9DJzrN`)$exAKj6L`G;Tty$lhOzkVsQLi> zknqH(b3V@8{WJVQXc^-W^T9j7>)Y}iaEVXiwu#^|o>-&tu-%i@v%p=i&(P*;_S<-2 z&WmPu1pY(#o#qVW-8X&cN4NDE{~GY%mIC!UJ~z_eyai8&gIUi__h;YZ*NeK=g<*S*&SzYSaaDEh?KJqUX`E*6DeGEVA1=^%2-d^v{~F zKt36vykq1Uj5}wqr=h38rj9S)w3FyR?x(qLBs|s=f1v;9pV^}5V?D4R>kCJB-ftCo z``t&-&rM5gO1(^v_Cq`q{+xb7eziFaHSfhI8;{1$Qjwxsgbb&(KeW z$5A%SxZ>g+ioA2eQQ)5MHz~NM>(^L^20ve`;GyQ+pEN(r`~|{qoxQn#ZoHe1^S-j+ z#_at=a=5O^w+fH%z3Y&-r(RHS$JO@u?ORnI@qi=BJZ_2YOR=su-nU(m&rVqe{~KMi zQNevr(7!m3a{iaNH2yOEQLq#5J&2y}-)!h7`h%y@{(|3_{XXoNx%(A`-*oI}jCaF7 zKPl}PT^Wa*{=qUzoSgoq8RQ)If3ER!JjN5fFy6df_;*sSeM*pMWmS@@S z@vZ+Ve#y7vBIKNU3diVQ-$gcP{v)LL|u$K{mQ2lyG6Dz-=cHz)3nn_o?Ejx z4ngmTf$tOvzqj&(C^uR|;w#!S5gJdu|J|VUpYXf}wkc| z7ugm2>;L3;#F*!44JS`HX@h*CTUo`<)`7Rs&x|jLKCD;xsq5&^wkY2v5ItkBeusI} zS@lV^-0?Hiwcdn-RLvy+d{GPjzPmy=F z`*v8)UxjTolzIhv-5im_gO!7dyu~$mP!88W!S#gHE8K1e>X}KTmAEMJka-nZuy zg-0Ltvb>5rlyXyBUd3;J`|lOI8GU?j%Qv-}A|HCH9C%}Qtygewuir5qtfhGmMf9{D zoB-Um5X_hx%fK;PhOleI;W@co-^uruP`6Dc~2ijK02cv z_A8>Hgd(457exG=bZ%2{$8#}^Utb^QKM^}PUK)(?9;wgw=mbwz|M}gVKA{g^SLeI) z)8J2xXC^B8#KxS%ew6XRAO*Mm#C2DsdMTxS?M=Rdocoa;8b7~t+2)vf<;o4OVm=?y zCpzv|^f#+_rqbV%qk^z|`p%15x$K{gaVt@t`>%3}yvMWv{l{3VmJ$yHO7gwbP(|Kv z75`~Ju?YPywSn&(iazNU{h)WcWEb!W9@{;=e@=hh=(tuc^@$%n+%t!p{}`y08`o`u zJx%5Lj-T+P9$SWX@qe&dX~)dGPtlI18y*GEcKaUwHq?B9GLI*#dVr@6s`9aA^uwud z7c26Pb!E^$Gp4f&zinI^e%N~Gzc01_)kE}jwhsn678FF_|?8Id2;p- zys=Bc)0OYUZ)0P%pZnk9_w~RlqZRvvpQ}RoHqR({WJGz`%YUc#o|yJMH`!?~`hly8 z8Xv~K9)))CRvo7BM7Q2QD5qz5$^^|mw1e+d0Di{2ZnV;`jDwrP&hg)-D7c|_uH>$aUpIBcG{>OUcX9W+{_#ga_zZUbc zN_&MiJc@GTe=;we;JRH=_@C6L;}srDxpSD`eU^zzKe4)(4b0gmasIL*@7!Sb=J3=< z0~9>Da|ZmFf1y{wy%lSMHyh%2JkiI$hVKqUEcFz5<30DIonm93QrgRvS&rXL-R)}u79EP;GF)h)uomGxp!M(j0@{1o5s&L&Hh7Q_(^}$ z8H#=43rk|XV5vGn!LwnG&&hu+Q2c*r+XUzrEmTU0m#h}PkC0jNwj%GFe+s;o*-=HG z)K3#(2cP+}Qm(rp<5*J{o<9;hdtdy7c3FK|v8UmVUx6EnzNYbTUQU|Epna1IuPgS^ zb?5-xIQk<+PfN|(;K|glq{t_VZi1ct_n*-G8|@hybcNrW&dgHkmHp=~^k>tD^A&l6 zuRX>~_OAC7d2i3N7%!%gLlybRkdYXt<}&I!*Hvc~#i+L!81JflBwJra^Bqrg(p`1McBtu=A6>*nX5e@m;AS!V$V!d z-UqXl{($YK`M2=c(};5nr#mQks$O5rr@`^XHJt4j_~#4Y=`;NmeSDoOV}0kDSW3Yy zyPoI%$r8O{AKxoA&|b0N01YR9x_S}V-=?pt$Oqr(IyyJL>>uzQe(8r6O9SK@n6PQuJKC03ZJM5y~8i@{HpK=XU#^v9KSRIkMM^p497T) z8+t4Cb@f??I5SmOh6o}$>t z(Den>GcshS!f!A3Ip#0Z%qNukI{tnDa)!73N`DJwE)LJNZ)ntgiawERd|xA5vW_Be zImUZm`ZYBaJiT-{$_vdhDdp;(oPu(V-dQI4$|w@b}<*>_onC$)gQV(+=hDD$0rs0Sew5L-t3lb3V+}up7YUC@Ces0`r0u~f8yCr0mM1Zvm?PH=WoqbI+N$2n$TarhUf6Ji8$m_ zmDKaP`g=D)UjHTELDUakk9sA)-w9mmE9bP0Et0@3ukt;m#5jIe3M} z^UTp@s|&<+_0@av#&I#!H+=j$?3>Tyx#xS}@}7WYzy`?s-r;x9uFK&DuR>@80(KE%$%To?YN^jGX}77v#O;(BpjPP1ncCzn{)`F2(+d{(S$()`j_` z9Jey$v8{r9ZN>U8rxOM?@K4q266E zUJ{4+KB0^kv&F593(+%qvNOlU1@^1pw-7kUX^Te;*jq#X|hx;rpkjHXIamWW(@m=~Trz z#2rRUfjrj#O$RP{2IEcHUfv787RVF%q$d1EzW&BOMX<^Zqot&Ex*3$O_Vo|XMau)KMH+3C5k~lS)TpVGnRhX zvavaE>tobYr`r$t`el-Jba0N%pJ3mmqKWGE<;@r0aa(sh-p))`#V$0w)W^ ztu4&(!};~H{Lb&7u5|3ovsYizz!8h+lpmHol`bS3=G zI5~bDE$Oc;FMSN2*x%%r`Neu@4e-ol_Vdh+6zwyTaZjWf-#t#Q(EQ9_-$6dmbvOP^ zw!92^f5Q!^Z?@trEpB9d5^BVI6Y)CSx0CbUfmOWs9otrj@tSsDIGXXoFY7xTMw}_~ z>C!w`X*zgAi9hAta$VUZ%9Z=q;W>OKJlUOjbd3|YK+i}wo|n#C?+u>pE;n#@6^@fs z>t*1H%;b2v&99rP@MjiZLH%`kxNT)8=x=|6`aIr(ysO6ccP#FBl>YRV$BYCeN;#1Gf zI-2fBJKDQmRLT{8$-5`~p{ty~9nVLpPiM{-&RJ~7WS|jvBtE~*qvhQb9`|OBH-Cir z`0VZ3&wUqpk0{W*ae+LR#Sfy~d>+RmPXZSnDc3f27kETIw43ExUX25Hyv=@Y(B7kS z8GZt8a&98RPW)88$B{1m;^bUhnD6&OD;@`K-cEZs zThR{5Qy0J!IQlO5W&P;rxvM~)bZ8Io;Bdx!iA!up&zh}>BLhQ&;F0_C(IstAFLz)1 z8Be#};n;urCDwNXp0DSP>U^)nw7j3flU-9DddBu;VZT%f&PO`O-(0t9?@I)l}$S-(cDgBnj=kak3 zFiw)QIbMZ7xV8%VYrdZ0)lUNVp5=TU{DJeAzCX{qn?~~7vGByt_9>7j(Xo4hJlXRR z=wo_=>pS5IEM5TI@x@2*Ptp&w_x?~Ie|DUPPh)=$`Zz!8TX7%6_6gUOvVO5PECT-g z`uca41n$x58`tXV?bEzK`KYH+f%3s79|PAtO#f~2vwvnDX$-%te^b5R5uG0_kl#>b zF7WhJwO-lH#|o4W9XJQvn__$Ux3RtA!yZMs`MCKi_W|?m;4}?}d_EojNkiY-k15^Uu*^R zk@;QpH*H=*`)ThBS=#d6se4cs{BplI+UY#>H@?Jk+@inm7!O=fc;ZF){=dHLZs1|# zM))7s75dZ6#HX>I7Jk?D!>E_}IKKx99tzQ(dQVg6W6q0bbQk!2N$j60!+0iKqdw%F zT09f3!u^QEb$$mIe$oHG11ONs=Sly_@0G%n`ro&(ga6}E&|mBjd~rYY_uM^Ksh52) z^$!M_C(*l_>x(S#vq1T;Z4eT>1QgLA9Wd@CPsO{%|TeQsH-9I>dQb%NJ&T zM76W87|(YIzuReqo&76$AJcE7A24*`eO>Q|Joo6k>{i+Ug~!*0>&94vE!6WN zwpXSZ-<|Z2x&S;dj_U}iZ)iEcw+m0`Cf7UB)!O;%>fFb;Ex)Ea>MQcmBYdY-@+_nr zTvsL?w_u0VQ+*+Cc$NDn768HZ zi~MaEKZjrE`aJd;?*RngWPIqj!29aH?tG_R_{9$13j4t$b`~CM+wH)GC;SfMAw$(i zuzw>w`t%>LTjI$Ko*Pno-RW>q+NWcSn`-e@1s41$Jyrl0(oq$*)GD9 z3UHs_{g~Y2;68?R6~~LIY$@u$M;$LVcOl@Sr<5ys=meMi(Vo(EAs^mB`#2V}pZn^4 zgMBi&_jj8|%TFgf{)^n-NpznE9@}rUgGYO(AXW7-@JPRn-C$g0_?P+SoOd5q+A&>) zxbRCqk8aZP)@gZ-MIX~j=Ft;*!BYX^;SKalP7C9B%a11ute0tXf8fFsc!KRH`E*R> z8DHr>V!NAv;5{jaL5u~lTTbldqx@StG zpSlOr&Qf2UmOoB-MBWzTy+)Cb$N5gEZvF?D4-?uugu)Y>^CkF&N9^yj@;%8!p8Ydb zPAT%~%Zw|`Z}a}U&A@#g!JU_?qFlkH+?3VA`B{q(^;yO<>1T)=$}>JU?0OV_ATm7z zd3i6<|L=qF!^umN6`ttV)W?5~xK-QF2|dbvf!L>f|I=`j?HK)yJn7ZHDLl@Tw7>Vt zG2p55luvJ_zs)v!1bT_x{QEc`#jo?dPmvEi)B$o%?frh&GPbXMla@d3{JZ%7*3bFf zEm4bk=(!V&qYI0uwzu)P&KJxk>hTXhz z#$VoP2O*z5_{=-G{h9O`-UF6*U3$&D=E>o)irmkUcfe8?_w>!-2`9h*3jWD7C**w( zOh-QvKVZ7@O~0IcydS^+ioENa2j9!#_FtKo!0-s?cmKH2!1LErrhkV4H%_1*vd-W< zr5o9HV2;QCAonZeJ(+BY^MiAE;z{OtlXqjXhd&vT!#xdIFTwqN-X502gU|50xxCL7 zozoxkmW4lR^`d{a+<$mbPCj4HWYZ!jH>rJJh(;MV8sB|+cuqc+<#%V{51lOP&EdKc z{O(|jF)lT3y$g6gzi;QU0{JsfRvMAx2@m1^kMP?k-HUQvPs=+4J<;yEVNao6`TU`s zuLDm!%zd6j2kJlTxx&UqRqeuD8L@BW#(*BG7C$I#+^1=o*V5Bbbu zxv$D|9RtqVz^`k`_u*}S`~f{}iPFIH^>o!P3*0`N<32r%{oGZ3AvI60OmhJGHJ%63V%;JlEjbr<@%_a@f|4mox zAz%MQq66gfas3z9a4ySUmHXxL&W0m88t03`OFgisye|~HQX2A(EZ<3xcQfLz#vyN+ ztiB@=eym&noIcj!te0I|2PG%Jg>h=o`fW_xcZ$C_5%T%CugwdP&(}Zv4Bx@d$1~%; z!#H(o-`7%Fxu$df8<5k-rtNn*e`J3%EI0`HeBAl{WXR|9`)1vOd_Eo?_bSd)B@Qrd zmHq1YpLgQiX1=`Z=TgMA{qp2}>?f`VR)Z&N;eLbg7)qufpE*pwn(D`OL1ywi;L@*r z+CH$)wF2WYdz0@Io3^rFxu)y}o|(h_*x-8hE8P!QIDYTt{3H9Qo*kz#-i`e)U|t9W zsb}iz_eSRIX`IA7oYoTwjH5`s-H^|(Z{op5kk7{hZQG*0`FLUq-$&KG$$a4M8~je4 zGQJIY``Hxq$rR>#C)@YT=$t;TF={`wjH&}akk21n@EUNlw*C&SV}EcSYk>Y7y2kS@ z9$h2)v7S32@9?reo43$^rawBtayMx4)L_~(F!4I^JbR|wyTR|8%5iO&w+;OM5+UHR z>-;`x`G)bB{`e%y=kXYp@8`L}JUrX=S>X9Rz9naX8z0j4MNYH6*=moF=P1|lx^lar zkNdnG=MVGk7TsABcs@`3&BnkZE4WYNyGZ+ZzL^cbkmknX=AZfi*XQAprBC8KaK1ja^63I`$McW#{BYj5bCJ&lzPQZ4gsEx(EmHT(!W`sXpVU;*hYQV z%VQpadC-2C-@UV2k_iW4Iy1CPD53*|=oQa%}KiY_@nsCLpUi66pg?`%#UCA> zlaD+@`%Al+E7k*^8M6-h2%f#v4eO@NL+ZOm8CNx|o8nshDeEjxPv_7azcH`>=(2C3 zUj<&Eo;EE%i>*)+@uzVp`lQSr?|duuKF2$kutq<`p3?y?_Y)cz0fm<`@)Q8%ojI7 zpRqUY1&`B3epitE>BAGSzSjMaRrHK5?(t5J$8d#y)p?NqC)20wyE)u?KhHOM{ySh5 z`|r2+jk?gsIb{s&AnST}SufT>zOrk8%X&&bj`6FlB-=Op;WY3V+wi=XW2X)B{)U`S z^#?h>dWx0@E_pqCw@%}?YY_L3lPwvSnrCwV$8*<8{Qu~!GvJR7se<38XMgA4Y5Oyt zqC4^1(2V-Xev6}j7`V4Z5Bw{5{N_mfPBhtrb(!R6*T1_1xUFmlMc#Xz@25q&)`h&h z=jnKo^P>M6-{+M5I?uh#8yD{XH{_+hp>y0{wY4CgX+pcjM{z#$eaiQ!WIxScl>Rqx znD0kPe)F_$1oZRx_)e_gu1{mYQ%!zS%C&sMb8hxg{Eno5U_I<t-{3y8 z$S1b-0FT~Id2es-3+OiPgg+NMq$l%yZQ$ZA;C2K1ZM-7&4BuG=Jff%Y`?ixmxc_VD zBm1k8|6TT16I%Yc_`Bu6BldAD7=rpb$CLyftgX%0BREd1ZF)f;$%Eq!5!XF<1i0vv z()N>M6PcG!_LD=kJ>a))qF<7{^T}(!01rI)C&ry~I{U42@*&`^6BEF18_s!FH;3yh zPlK%n)^H94T~W! z_VEtqyb`|I9Jue{osc*0=m(z2NWOa{dWQeuJ%sH3*3i>9a1rbK6z5mdM^k}Iz9hF{ z1$aV>?g4+gKKGaGS{~t~k?(W~ZWv5`0!5F^&H1_XRnCtYjX${T8--u=iI=tlj~`wJ zeWYAZ>ED10zrGCLca3k*-lvgwCbjQMk}qDqD@9Lpezm{*0C;rAsK2rBX4K1YjQPBz zz4Y$M#Gl^_{Ux85dHd#L1} z^4gwQlxrv3%cCLheue7-`EG6+$M4$m-8_Cx2mOupuFlE*UAFfrv{!g9_4IXp06db1 zD_NiGsBq{SzIW@J^Zbdu&QbDQs}G*Qs9o&0Tiye1db1I5$^YdZ#JC|7tp^@Chmg40 z8}f!y{Ejd0BuCFbit+6Eas7umJ!Sn8|LZX1gEKw@F6S;XrCI}z)ir=$c+7*?PxNc~ z&WYH;uaz6PbC4qM@p2xCSLHbnIcH+}do}nImmX2{kGG|N$o|UrPb4pZ-AUY&S_eG^ zkJo%2^>XXl&0@W{Zi+2tx%Pi~PhHOE#735fd}LEm%?^||jh+I19M^d+B^qUX5*QH& z?%g&;wNK|CiJy23c%nSx^Ux^r#C6XA7oNm_5jX132t1+c_;R87`Wt} zPkhGs%$uC3;O;8)x8~a2S*~{8NzQS_=A3}Moa1uMAdjtTM&XfjeTc0`7TXQSCR9uo9F8R zkPkRHPQ?$%IXCeGa!xF+y^k*E#JuMohaPSp=UK6*BlHG%^Untw%QH`8YF8tapE=l@ ztvXr-Un&0FO)8hvjPdD1E!e zV1FrYVchB(#eL(bV>EDGJ+`CdwTw?^{=x1rc_aY=;r++--G5-O+Dgj7W2Ds>H?@PPHN;L)U z`=y(|Xmf}~yV`%jmaL-=e#}Pa^llyv^ z5mn%aBp!(T#PhC}`E9}P>OUMjj*G{^lW1@VxFf)Igtwg5zWWluCGV~Cd6sMFP#L(C zo2h;i^@_F{qLs_}*Z3FLWw!nufeVk!FX82NfXnRfuTYevRzEm7~M3-z- z^f4YNiQgG3*Qvp|GoXLq`5PG5@#>6Q&9yn-#SYX2e?Fc))dsj_>6_%&^09i#d=A{S zeFgBu&-8nd+RSf}fA2DL;y%cmS8+ebtL0bKALRF7{h#y`!V|9ZD)h8==K4VH*PHJ) zf+zMh<7m;}UzhpR^7GW&It>Sp`&qV2x}WBMdW-~ao=v|Z_d|V~ZqRR3X1zo{6DS3F zTX*^oZ)OGTX(%-k@)@n&eKR;;ghGsOjE{4_%jf6{d1tfVv2N7g;Jj?t?%O)gJ^`LY zlP<8Q@I;UE{oC~C>iZ9g2E)J;9Y+6cxx#&(P~m>S{hq7fu@Byga=m@~1J4W_2VC-W zI|E!-TdUANg*zr7A2c7udeT~+?Jjxu%;o+Co^HrEMDX~~82Dp8+EeOf`1u>i+s3Hh zvm!4&3p`Vs{m?#?e>?+zlU6ur;Re|{^WIhd6 z_zLSr|C7{T@|gPr+Pk!U*^d5BU!%U^)jS^@Ys!5WcbfggJi91(QXepmHZ5iQI){w} zuFK=euHkv^@FDfPkG>q=Z%m!qhk7NZaX-gYjkv8d`8`Xtc;kSB>)y7fAs?-?1A3+! z@O=PXea8F#zZhSIcV5H#HWB|2@}j?G)+XTLk^H`3_0oU(?wp2oqkDzAU!A^G4f4j~ zm5g5!Mu=qobiRc+h7=X z47la43E+wSLHm2&x&%CNhV^n(;=WnJ`vUlVW!{0jyweiz@Ga#1Re9bp^E2DU_(3J$ z(cgMPK2x6KD1N;a@KAm3^Tl3lhIUL|u0_0Aaje^tXBhW}Ut5cL%J&P`sh*SU|JE<& z12^no|Fl2+Fm*N<6!e?^-0ry$HYM7*x_^#CKDMJX93d&m{IV{Wb*lN&P(uJaO%wzHZtRXfNB8^1yGuKjRn*JXIlueiGcy z^<%Jf9rSbkdufy_=fE8vzW*DZaYT_1e{~x2*+Xg`pHS8B&~KyV=;vje8vcHc@>R*B z8_04~^M8bVXtA+X}Xe{cf(rj zE6D3Ko>+=JnSq6YJDc7G9z!>N2Xx#sg#PW}OK30gV~G(Bfd}eQACKnu!av;rt~&zqXGI1YH%C-DM zds#E|KeGSesL+(_s5JYt?88`VH3S~rPkD#7ucA+V!SzWU+FSf*qO$g$;QG4IGogLo zaa=wP9@ih7FJwQ*^Lt~ox4Y-BXrJ(`5$OMk?orswenZ|(ItAKJi{u16LX}t*YJ@6jQK3qx5uqa5?#sq?u5--+*x54Dr}Qu18=RlTPab5v7x#ktKI3;o&aYjP$^w<4j0`B>m@!8g${Y3Yk2Y>h9ersqjpz~W<-y~=#eHyzC%bc=~>uJw%HrB$1 z-;U~XU!HN>P+be$fAc5sB#M2EerIYze~Z4&`&1-_q;-n@4XY0h$l$JBoNvf;7pX=|hGg*M zTYD7wWTO^?GPr3p_x=gXl5*U9yMvjmAh=_;z7eL-~rx5h9PvU)#N#FAE8T)uQ zah)#Dvw3>(dyMFV8jzRsoM64D(8Io!c^%nb68F-;9bd2=ZF=V6_3yF(y3Vn@RX-~(+UeL!eobg1qOO115(C+#>ygyRv8Naa!{*$=p0gvR5*8L6g zF{k)mQ}~-_^#;hB&*oF~Y&@bHTfVm}`>Ai;NW_`Yr>cCabsof-^vHY4IF(5L>&ld? zyQ0P)`%iBV&fwa4pFA#d0_LT9;TlWfidhy*(i5n}=>I?o6j92!& zYm61Bk&FPiE zeLc7zm)Oiaq}NzqX?LfX514!X1YGiaYdryfw8U)%cP(Vx)RoE(T+Scj&C0^={vIuW z%X2b@uFb(?|DN*@zh?vNpy~P;xbc(y$~?ppX$ssNEe_n5jrk4N8%u$^n|}!0IG%p) z*-!p>%kRXzi1NA-e78>5;WXw~|Mk;F6?K2 zRxW`4{!SH9U+3d~z~%hV-MT7p^QOMQ1Ey|}4`<`|sQTWo1DEGjOxNhIrd>Q|BIm=d z=eb^s-Qm5w+6(M=)`G+XNBJIy#B~c9$5XRvVcu&kvlrz?mcNeni0nvX-n2ZzDM#K2DAc?v-gXF zpY86x#QqSB&4;|F4fBMlZXeRlYq|^E1O8O;E5I$=Dk}2nPuBwvY~VW=$u2!<=gJ}A zz5-{lKC*nd54hLI{86IkAmEXvtZ$+`=b64fTY$@Tclc;=v|}>%63X?i`3*eD!;HUy zL-S{4;(@HM>rETVP40V3@Uy<&FIcXzGxv*Rxz-sGtOxCtKScY;b(8zKvslkY2DTSC zv=ehc!x4ct$WxOSfndfJz9T@tKKeXRX{10IcVzF^h$f!$)2+X1(9 zWL%W;ws9ShM=*?I|A=Or2YG#qd&nmQHaAr4U_1OX@^Zo@tziIF1hi9=&=S`|oy3JB8mqcn8WgI`g3YwNBbi*RLvg%=PGx68B$e4f)W& zU&Edf*QA?)Hx-=)`^k3EcJ2*1SO1y7(?=LjoRv?&Z^Ap750mo#);)pSPsw)@=@02} zS>UF;rJ<+HKWHmI2Y(IDW}HawW!x|v;6A2iE%R3rkNmtH<3wmM`@P&RbB!+uJ!1#+ z;9q&Z*JvLPdF_Nnz@>apzZ~^Vydu_3L)*a4_N~W(n=7mNL+@!FaAT3X;FI-@4oD-u zYkShq9U||lf7%oBy6&7W#fFM`prbi(*UAd8Lukwhlp8Yd22ZG%%yY88$N%*LH*I6T zl>C;ve9tvKmVPerxakna6~lMzN1jJ4*Z*}D@Pr+lU&;Jx?8b+Xw=7oWeX)DU3+U=J zg1)l8kyYPdJV+$fJaf{To#pm=9rcoV=M&akaYQF*x>bX9Zc>K-xfTw;Pjdqu~bME`Voy%2ueX9kC`soMMCe&&d_#IBRm(AK3`g?M)U1a{>Same`<2Sfppu5QZ zDOafw{6F55er_wxxRmVM3i8^G+&7O5WS-5okN0_n2Y!HZrF=L$dA#qAS8!cpt~ZP~ zK1RHe?dYy}4sxkQOBkO%z5_pWzqS$UK~r_+hb?QFuXeV0fc2fLR}QqVxAhUoo7>HV zyvNNvgp^MeIEL@n{Qq!Va&KWAiw)|6I2I6jJ9&=C^Rz$KzveLKYjR!Ve{m|-q2^V$ zp|8X>msp_sM$Ift!TgJTLCW--mCG25xxG&3Lji7u)v;CZ_MB7BEQiO8-J?syDN8t{*kj>AISYI?b5Zt-8I?YrT=U8 zw+61+&hJ4S&hfC1CZSjPYbI*vI2-1s>~h`CbOw#lMvIWTkKN zeh(QxlXvGqA4g^07bxSuVFUBFi76aEWqWz1IUw)sIS2KU^18YK#`A^zZa~VryAjvc zVg6Ol17o4XkdH1?d7MoaVBFE|;JewRM zR0EEWmu@O{(><9=yc6$}k>j8x*F5mJw=RLaT%S5d#Ubywcw6Dotb736(u?y1$zzn~!PX+EB?IM3E+9COb zes5aE`?{q5p~vMRuXFHw9LW>COanBs! zyhFB&w#IXqr@6N^F4{;!O;8Uy1|dPa80OFhG)yS6#t|G^i#2KV)|qa%1w6piS`iR`-BJTFy8y_GzO3Czv(M;D1S|j zONo9Lp{MVJdM>N-4BnHR*xV94a{Uq+@(bh>^VRri+qRoLdm4#y>F4e>>(CzBJ-?#= z$@bk^CO5{>NGY}4=)qmUHC@#8l&F8A8<{gZ~lHYus@0rDh(640w za^LHRy&gb+!~14YF54?GZ7%T81Ky)6%k}5o3|v1ysmRBs(T=gld|%aBka5F0 zi|y*z)&TP+nWyq=uYo7{Ht&y>?P46qxaT}p0rMJ}zY1Jsp2br`eIMEOM;tu%@vjK^ ziD*Z^Tg)$i;rq*y$1t@a+S}i|5#|?xm0VxzO5^}fwAzoDUr2q@^BJFYyE$(%Ea3dp z>gKo}sOSNY+>bW(dl&q+6Yas1?oT@y-=hDe2kaN+QqQ!8{uJ(t0tAp6`?S z#!$g0h->lpA1Hb{+E<4Dmh)d?-XZ-bwYdZIv4kE%-fyNpk!HU`-qvQ6;9~?ra>?VV`X%_|1Go<^?P+=WK5+dYts-x3M|(y( z%X>}PuYFagKtB1_aUswC6&}m|W}SJo!V@oi74o6yUKV;%pXk()u!Ft+1k}T@pZgB+ zHI$DI-K@x)s?UbJBa#jBGEc5C(QgwAWuAxpwini+Tw@8&*JOQNg9-z;xEkPJId5@v zZpL=GCi40%=vVQsTOgO5Ogy}uc~p0mUE)3g`i0!r&`!P4Gc#U$HJpcs%hR7d9h&yf z;I=}leDp?iUHFOtXjSNUNXJThXaBA+bhhP-A@XW#)pD9BryasH$Ifa6*u zdI;q@UF!H7s$XDahCgjy3m&=e7RluvmBFoJ9srl?YkL>RXvpV%q~OsPE@EF>|2@}h za^KK<{txg(7SaBaNBesd>_6(JbKf?#q9@{B;Ol?DV>+OYzlkZoV_!0TZXU{&{Hgub zu#cR0xf^h~A02yVFZNGO)j3a;c;Z3=c?oylCXhF7WjygTE;l|?FWae=z~%m_d(8mo zX)Uj|V>sI$>FX^zpln)2{||zN$O(4&=QpIi5)QX!Rc%FJCFEy3Jv%D((r+q={7f*we3Y}#0N5?G;y2XGpO5V&^D2SmZz8W^JHvH}#4XpZ zfk(5xC-{AvxepR|@!fDu)A35Vn)QpIk2Yyg@o0b+sbj>l$=ZZI8yb1Cr8E+-(;N8mbi%D z!NYv#O7cXbkE#EN=aqW-e|5t?nv3rM4-e(~G_(5A5c-$nPrt8?W=^K!5S~mT{GF*qLoBaAUJ#s}9=P|s%%5-^bkxm` zcplkxU8!%n#|gyq(5ab1fASc+JwzPV|HJP*WVzmBqYzhv_tktz@a|^B;b ztc-FKh2{9gdO4T&Lp(R$k?ly_F!oWujD6x?bXDv#?Texq*TS=REBYJ%(qsH`x2mS- zZyNL^xFPj>N^)*efgQuTtN9rF~e!-Q|M^~jpV4hkf3@89X#9s_^?JBrvb=<+`WvM_>O8zoYLJ z7ydwg+d~iV_~la~ZZQ5hE8M_u+c7)-U&f8_Ot!c8;S|9`{lf<*L(W)tq_98vt*3b2 zOaFUrMP4^v@bow<tnnT75QWZt`qfLy9u0j&~01>`9$wE3hsYyKk)RGN(vq+mm9e4d}V>N zT-#S6;I2YE&#b+`e43^4U#O3{3eOMA`s#Zz|LdQmg?;2Y&a`X+c#r_80C5ob8p$lM~}dX!RGsgVXw9oYf6ye>T}-z-76XjkVx6mXbTf zx|sEf)L~qX1pdVOSC(t+{~YuTwcvXzvR&fsdH&w~!vjU$+n4(Up?ld;uC$MC6z?_D z4wLtjuwA@muYlioa;V^8z0y^{!YRq&*Z-;YF= z-xc*`xt5zN(O%ws^1M2Ev`tpAAC-Pb(MR8$`AqNOjtYwKd_YTt}D?{ z!F|<>vE41Z1rO`%{lgF3U8AJJ?+H!?9@)AK0g?jo6bAFZ1{)(cHec>XM>&?&im8AXC^JBmRZ{89-EI0nrEAT7rJAD7q z7H$ha^z`I+P`bam2zk~wQfeM}oJZOzxaBhK?3?ng!mnw467#TBML8d!{)S(A%*>1z zrrhiwQcv?IXCQC=JC_nC4xk@-sPqpnddJtdI|s`3LPOc_LN|aNo`u z3Xk*L`Dqw8Kb7MJ+eP#CdE|$KJNTZ6j7yHrJjW8v!FbL+Wp<%lWij*B$cSv7A>sn(l^tqWo9Dr9Hzo=0*LVc2e@9 zfwBDlAyq{y_*t*ec8;5d-!}^$+9A=O{v2(!Mewk`i6uK3Plnx4$~6q7pT~aNs`OvW zXLliQJ8)g$vG(A1-_8{#Mc({9^Av&iN(!9%*tRmS>n^C?|KOio6#VwsLdE{kHvNDH z?+wMj(mt`_AK-W7J&vo=&aMwu0uK~E0v@@(vo$RVJQ;ga@Y4=~(!2-FdUlV%Y0ub= z4QO9qeYL;1J}v{?*yXY4kE~bV<4^G0w7HVPANk=E_@Db%)j#$9`7Vy-ZO*@>|Jw%Z zz~j!%{GY6^UH203z}l3s1Isnnz6SoFrixOoH@6t~FVc^seT>!mVO;mVq0ZBcy|-XK zp$oSW^`adD3)cfTtd{d_;<^HS@7p+s^Dn7q%9jiJxZ22hJM}d6=Dlp@deY9cf3Wu< z@JHudQR?L#u?~2+Wm%_X`_^|>^f&2h zf+u-9Kjh{4tMIxyEO(t&;MB)cwj=OBj)15a{WjL-2;!IL&+H0+V#^rVO@HHeq5me- zE4{uu^s%jw?JN8|d;oalQ9js5?rWRBS_U5br+I}wlfdI@Q6G4EODV{kuP*`~8#5Ak zv=h%I%JW+O)eph%$#xbz$-SJn$KKaKKK@w^rC!EWMn&tuZbc*S}}o3=zg$533&D+Yfl26^*bjz6-WdaCq8p3qx_c~qGXOzm7WJ~L0S zyu|sw^yfhCc91tVk?}DeF~2SIx*$Wd1GcNRH0% zM>jCvF3Yvl>Wuu7v79=7g|)3mW#q%BRR3|;{DkA^QJ%Ao4B`HMvg>W=V}1Q=l<#;K~H=!~7??|!9}YyHy<`)E$9{$pRzc3MV0`iOB% z>hF6v3w93fl=h^*89NjJo|y4i@Qd+!=P>rK>`#<(Q)8KrPLD|{{*%i7J>({KEsgn} zbphv%<|cgC)^#A8!ef{^4egTtN9HT2kHN!x7(;LE{VG!rX`kpC8{)RP0KapQc%uJW z#0_7qN|3jWWqfl@oDE!4ZlJ&!uN;;B2A-<$x4_#YUL}g~UCeY*d4D+V5O_Qr0>%kSl7xt99HF<#rUzom>v<`auCp2n+gQg}SwINl|8Hx;;uS0|36+{mXp z6kK!d5XY}&4+KuT#lCBU@=}{Q|CRQM266(|mY3iAlV3N4^9Of%ejg zN44B3Dd7H~Tu+H|yUi#6x2m4HDNkUBv`M4zL{@wWT;FG{z-ebs&vX1;?~)k51peDc z`0ehhwu`aIDb_bE^`yKt&pF`M$uh4R{0}|YWjEh9T>J( z#V7NAl4#8nVjaYK`G!{kZ=m;kjJx8zlWpE>u!HNzfWRs5I?Vo~Z+%Yi&~BDSAB@aqSFYoC|=Y&yx0cwxnO# zHceLB-F_c>M6S$boEGQz-1T{HxUbYNLY{u>7{>g(qsMw7&-!Z0+=N|X@kt7gr}i%3 z-nMs@a?_J9qhA@z@cv<`r{~yp$a}VPUN74vwDAP+v{U9YsgGvq0Pwiay^FXg?Gt+A z0OZ{#-Vr$M6R5@b;`v~nz^Q-CWQU#o1S=4p^-M^7Zz%P& z80j~u2E3n1%G-b8_@udaQz>9@KTw|)@8bWZe0Vv>SH~AcMY+^JnuFt_eNsgQci#4c$9;?W9%+Zv zmsi0X9BCK)jQPlD)P})2O#equf~7Fu2JB(4(KTKVSPKi+MMSBF01Y38_x4f#>#3w%5U~UUN@(~e(tHi9&tZ%C;=XMZeO>O-#taP?^W#Ms=5v1S>VwerCj$vZt&P=)Kze+Z2{I< zfw^gg$5`_iaBUlzccPzrJykIe@n^|%YB#=3`O;jc$II~?l>Nd~tiQB93Ml1%rg9x8aM_AT@mM>FwV zi0Idm1MP-q{7`49p~#!7uN#rUttZ)D(x2liE~7sha`+T^{XhFhXXMSx4+)%p7^>eC z>uA?gxvxRoYuX6E@|o29b87#%F&Q5JeAzDapK$J_STBbcs&UMd^9auWSZ_U6`lIPR zo?COZy`$)3K2Zxix=Io!f8ftckh87UaK0w)Z41ukyl8bh-hU?T;Ht{F>A(Ckzj%&d=RbkKIQ|23Gy&R{j zp)=Ts2-P(E~M zA9(%4PGDXy?cnLmxOSjQS$~-L|*p2bdkj zPfV?Wc}1YQ%#+am&Kd=vUvljqVt&hd*~U%-9%xoV)qhnH=wa;qn!w3pzr*>hYccQl zmF?mjx{N$$<}34apQ#S|i}~%}6@KUHBEVe>rzrDntM5H!JRibxqX++nTx!TzWqo1U zvkv{-pp$C8L*o_kH|NRbD{d-dr&Xa`*$!NYBW689ZzvS?K}K| z!V}$@gZ8|_{SaBM``dHi@h{D;^doEQ29OUMx(J+hh&{Ffck6Q~{DHUEv)#uJQ{)rV z_}!Of!vLWt?dDnc2==kf<^7`4|26CB_wFVS6?uEBU%+p?HAeJn>eFLYf5Z!ITa&9OI2~;30tvKdhJ!amw2GImMs-moA_@^FijHWSnvJ%8R^BB(MB_jXXJX7*TF$ zdOfAwM4vO@cc1!3j3d-DxN#zQw8dl|gScsof%1zR!mhGik|l29@6$~JLQj?(DXQjoWHR^zR8pBZ}UKBJ$?cJ%d|MZBeqx2%`( zmzuz>=g$f|5Kk@33x2m_htlr)nY?d2IEM2A$#45HA9zAFH!1R|2Z!Ou@yYdt{YAWe zK~Mb;+)&E3yPBY%hc-V3pY)&fv8TY3|H}Ptw!7wDC-D3CFi#`((VgKwY-+R)_Luo~ z!{|BSaaC_GaPE_aws5~7K3KLR`OS5UK;BaF8tNr^ytN9U+~k6zN_}aNYjP;_ zoM72e;Bi!7eoNZN^HE9I-MO+N`i-=6VD3MduNs%jbp*?e2mZwR!at&^!tWhE1oG}B z>ikVxb|uy+h9jJ(NPmu-9KciaUK0I+`iJ%u!Fn(hU>-~AX>D+EL}uKN?NalN*7tXe z%;1rSa({b?7a({&7I;z$ho{{$zx+Ua^r^;m;pTSM#+bX#Jg>k^c`{X*8@}B2&V_xm+_E6Es zDdvlj*SDg5r2YMm-i4gA=p~FB(y#RGmZD$Ti}1ZKTbTRTsb4w&cE1@AJS^AhVO~aG z-KFxM7yBKR9HL*)Zsz`7P_Ctw2I$fL~p&M#O?SS+0h>jrSB>HQO_pC2TK*^DJ75IY>P6CVvKd22V$nal~J45#$Z) z)%8MZ&_Rql+R3jg<4fp6Bgc_puPC_g(;48`ALl-;jFZ86hrwgtug*`rvzMUU)IV@1?5^hmsRCkSA~4yUFOkcJEra)hJ5V7Jw@KwdK7+p#y3;i#WQ9Y zaOQ&|~B+s6z zuK|zW+Y5V0dGp+LzysgPbGdAn^x+h6tER4KciJ;jErM~%d}N={pLp!a67=W5sis1n z_0o;Ij(nXb*G;9|*m~Z#6CS{Mu|~sl+RpR_^1gN-{aEU6na=r*y$StJ;;EXwQC|GV zzePL|_ALA_c$^K?eJkJJKSDnIR(VA}-iF_qm>1rHze|37{2%c6FHRJ=h%+_52kw}m z-Ww44nSNuQwokMR<$VoIkoSI_jr~=uv%(?X*BNS6R^YU!S62>x6TUKD!8KJbfG2VE zb%n=0eh=`Z_L{K2XvcB;;kU7^RfYYDYfA83t7o=s7vhQK9Z;^Z;tU~AeNyu}g5T7> zw!-f?!0&l{_e%?$^42rMP;P4N*Z5bCQ`+EF$VI-637qo!zh4D^%fcwYJ z9cPtt?VqiJoZs+N;R#jjJ~9*M;|1ipiTtsZCx>Kk{jN(2zkP0}p^zV2UG!7h!QcHA z@Wf7Ve@yCck7jdc@Yw+Se5-- z^1DVn=nwgeO@;r{pOa_CF+V^14}~Wd5{7%RlTAoqtlWMjZ`9S~a z50vpv^VU(chx@J4sIM)|JVS8Q0pPv@3(!yHxd?Y2?#D-GUlskA`bP_MUZES;P}oiQ z^MlcdKlX3cJez*I9k^zvM$yyL>;~eSrBEkD&*+T`7=Mk;pRN5u_c?0k`hstxy)ZgR(33&LhoW~M(ZL7-fUiZj6HuZ519)vjPInDdJ zr2d|F2Lks_$)}X7cT`6lG<9M=Ps+PfR>=D+eyj9fi?$Zzqr2p~kNTLuoCG|e<@!|G z+10Hq{4y|UoWf(g&HSD2gV_Qnk9XW7{Py_r2!Ce1tYxCW4aL;&@(dFT!Vf*>+6sT7 z=UbSc8;7cPNIDWG%A?Hif$F6_Ge*M*KrQd0P zXo_+JlipL}SXlQx^Zc)>`naBdh&T|r!+i;9H=Tp~4&iz$6@E|KU%{{M)mHIa!`01L zmzm05P~-!x`(d20{Zm4WNAyGe*K7|{9yOntE>|9U>&rJ+#+P)VQm}8VkyG%~KBgkf z8#~@{30(N$D^DPwY{~QZ(yx3szJQ#z<}5`Y&yW+4*Hz{_GSUv|y+QKKmU(`bYdra!m`TZ2R2vqF;vVkG9&NmCBNUNd}?SZ#PdMy z+Df_U6FkqCTqoCG)IaeO&mCH`%lJ&(_A~FT(|^-cDK{|pZH#m2+;bH@EhjnyPwbZ8 zN0Y}QJfCvC6sX1XeR8~Z_v3uh z{(K$O+ZN`1M2W5JpSG%e?^xPdH<9-f`Ohy^0;!))o14Z@q-#x9&r%LR>*7Xs{Zf)dph@dr<;`djCNB3@jO(rqQFIeDaLzad}YQd^>yF54W8tl zz6$RDw2jy=b}BpxQ%U@G?`ev4q_l(KOXgYp*=i|yB>P8u!5cow`v_&+v*}s@H<@ZG zJo*PO4$t&EU%i(^T%!Ib)_y!FgQp#Q|4^1&`PUo3oiXmqNjy?$2zb(l3yPif53KGC zkE^zte+YQS_sQVqi7LPD67vcA2fUw8`g!0(p3^qeekAm#p79!gpghy3Tj1xizSg<> z5eNNch6;aXzl;7=1^!`s>s`eT$$R|X*_V&+yvh8Y|6wE8&2o<47f621ZJrx;wOt|V zOaBSo{eCX7IpI?+X1X@4wgvxV4_R|6AlS43}3i zPx3`QMNfNpB*ry=^&LV_+Q+l21>#KLU)2vCU%d$28rY)P-&(N~`mbm9SjC>!`@`|u ztY0eR>2Ik^KH!1MM})kH8wYzq&NTn)EcTxOf6yJ~{PO}LBFf3==ZFrT;A->mp&@}O^gM&3E7sqhop!PC79*Kt*TQ~bod zwkG1R@q*0Huw2*N-w}s(Ph}p1cJM#^2=gV=p{|M_2BNuv+uy2yI3eq+H~8RJ_F01z z+;p%y{5*1Bo*QSmmWh23$I~~t4=Lkbs(M}ct#2gTS@IiWUqaqJ?T})J*xL^={`!~7 zJT3Lt7kvQv*!$fSJ9xI-h22w?Tndl>>M`K|J2#=oha2)c4NrABzLVc~DT;XN{kXcY z59?)`zZ|%8GS?qc|9CU*m$>RxP}<9Oo^jq)jCl;{C((X8;K$x-J%vATKBF(a2>OLn z>OB~iid-Ls6Y|^z^|TM+dDDbVJA6Kn+24wsyG*af-h-;>7fPW@) zvV5s$kIVZ8W#qlTbDWX&jp^f9SK6y|Qv4@T^ECX;zPGSq2hWEE;6K5Ed>38vxGdwr zqb+I>e#LreS2lt_I~uF&W%u+&@PEVNEb(*oV$8!s)y^pG9%=j(`=s_h>iPB)EvErb zROft9);ATd4?S&_ol3ndPnJR-S2T}Oub{gc_GO&qz zssAK-j}7tsmHJViA?o_nQ1J%x1Ns(xr(No4y>K1tao6zE3cq7mrSX~evKNx)OlZ&a zNiFfDn)e9x-Gp*u&9*CcGvx0I|BQAUro>@azasc;p2B?<*^Y^Q>!3%V*+)VjmTT-= z2)vfr*_8Nf&CC09tqGa;7WOH*0rA0oRVVZj`j4KBaWj;U?~_V91P1g#e9*L%;|uK{ z-aQ1kE4EIF=OK44#EsPE`O0_{&3+L5TKlxLD3|)^?Xxj1n{ORbcyuj3g}lDGL9xHl z)dv0${Qf-!x0t->M~(^HzmobVec_>*_KG{@ei`fQ>-DlbgC`R{MNjQFEr(}t(>KgF zNc$%*v_%|={3`809{mZ%!|TCI}55_b5Q7KP5m?!G+_vxNr z3Vq09y_XO5bmrzeDzaYQudUE0_);HAQJIEX7%e*D|Jqf<2Ykz*K z7*C07qvCs*lT+|_@*J9WSO|Is{J#l#>TlUL5_+V)GEOqydg9#obh{$(3pq}imhS_P zt`@&P;N-WD+kwANOe~=IPrUJH$Xou{FYM2Cy=nh?#=W#W&qkhbzr7uz47)}B%;!n} zwA#799KNaAEw%dv)IWS)uju3Y@Cy7^+gRRvM!N;Ze+xYE&QwL8RI_}D8>WkLABysk z;~xVzRII7^gXiyph#ThTgjlzq*k z{H1u_#?(~CJ@TjeufRC#(A5$0#0}ZUF<<@3FyV*nzot!V2WR{zGVr$I&$iXC;_nmJ z3o7~~cJch7t9T~`Hy*f-zc+TGv6YeSwB)BX`s%60$Mepp6-$C3?7yCk-J`$+~5Zed`Y@=q%>JcAp`3{w2TS*AbuJ;P=Tob9Dq5$%FACU5iIe!6<-eP}}xNk*!;x(5k{%IeZAM>|><~a0{ z@~IE{0gst@9#;CT>vn#wLw}Lu0_&wM))08;S~0;R>ifd?z%3(9N<2xWe?t3Nt`-*h z(9W9jKKNhw{Lf1J2HtiMzoU)|!7eo*7b_(1&t$p5Q4_$cZ_K=i)Ia%-26!a#i{Phx zY{qQ-_8%T9{7|&}o?DO)ZQy-8lE?H`3b=2XJU`F)<1NAaE9`4`DE!G~9Iw+`&MW;( zx0T;rhjz6PIQwrP?*doG4`bhYg@00?^tX{d8Qi)32L%s|Nuytf&wZ%aKYEw@gO-%M zkCZ(2=VDmzI19<~nz&)rG4%JuSc}4A>c#T_rod{&PaM_PV0<$Fa7w}bm8t>{S1+UR z_zpfse+aGlNx?087jWzJeu|$v8gbqm>F`ADzdIeUuP@g*(Ozsv_fwv`*7kj0*q`=v z-elg)JB0os{oJzmIkaO^N57NpYt700sa=~=+AGp@PQQ%(jr%VMoaMSKwFhKybKhT; zc(U+@b6^Iy4&=E=S?-)XZPC8r0xcAOOBRa)*OmNIsaNo9_u=3fR7ugtK6=cc46eP? zUDTK7F;cU>8=S$Tv3?4_X36=!89e#&WQ8YDekISeHpnN2Z5DQBf6@GV4}b3~R8HU`o-}a*_uu|h@KfGNn3;ycJCdsP(U8rxAjmHXU|T6Gm3V@V%)EOq`6cBXx_ zyFW*}S{HUx=Djwj27cx~!}ps0^M?}yA#d-Lggqpl?sXNor`UMGBig049`pRbfzgWp zM9gzBZ#N|iEB+kSUB^5}8$2cC$)h>;2J#rG>e4@n>n9yVe+f6^`##b>;phwCPtM{! zd=gJSeZqNE^C^lx@t3!OCr~Y|lxv+f0`qy@%ViZkwM{?3x;35um?G~RL6Z*vptM?VhOU^($n*Q0P*k{N$d@s!1O^t8KvD`;@9$ccx zCr-SF{Fwby8Mj5;`>GNA&Hd=U(!b1wOG93NV57ogc;g}FOVLk%6S(lJ^Fi=ff0gqw z(O-_N!1~=-e3alP9y9J9ma&`T*inVY(RAeS3~rwDsZy@y^Ml|CkNi&H)Zd?;FeoFh zJuLl=`lMDrz&PbCF4sFEZ}V6O`v& zqTv2J;`_eZj|EPBe7&B7fA}xRb2a1-7v(#=t_o%)&bW&|hP~ps4-3B{kI}mwyq-MI z3BMv9-f{)FePtcN!}b3^`C2{$$?;6GA~r;38ujdV7G9-8$zDt>ie0%ZwSiy z1NF2=mS9{6x#hS|+*$Hf@Fc#H>ki_9ZN)Hui~pj|i}bhpa=be!&kwNNSk;{1i8c9H z(Z{glMYMTDVHwNym*H6JyA98-R`a7M{F5!3- z@+We)RB%t#2f$4yE(m?7zpc^_;En&x@7Uyc>&YH=HW`nfz}5O#IfqE57d$c@oPxBXG}fo+pxiX!xcY#z#k|`p{S66VEh-KYO=T zRQij*bRqbm>HEKw_~1PL+K`OjTFP`6IQ7@`dV_i0k%t98ab58O;Bl;x?5twj9?TOQd1X9jxv@wk_?syg_o-xmagSbv zd5ilEbv#OTnhV^pv$LYV_M=0T@4!5T1LSSZ)bHO@+bf}660h*xPAPAF zbNS#5k8S?zB0i9RgR3ywJ++nR5d4?`gZ+JcbiL!(Q4sUn_nU?fVG7U7ytzIQ?HYl=md- z?hO$<#Dm$lLN1-3`$*Cbsd9YRKCotz(%)k>xGqS}nWos^-hVgzz;yOG#ct6*xKHo< zO^t^-n;UYDZ+Z&l2G+B&uAeD*y!uY$TVj2uDf$FnxP^9)TmDx1QF_3ykaw?C=b8HD`w=$+i@GWL zxF=she>eS0eP#c$R%i~~Q7ymHE~b_Z$7lS?^739qPkp7A(0}!>$n(9lTk&hm$_ z#^K1aBb3`EaO$rg$$KIKgXR5-#7#32;4z&#E$qYgwU6jSo-({& zT-ww0*=gYBcIv$}q0X&<&p8}Y#=Cg%9B^B*lrkPUHjGAjhI|baJrm+yYireim40Ds z{}<#ZTBa!DU7-G9@Vl$FRQgLW^d0aMW5oN(Vm$J_wuS4>iyiR)vOk*2??Jmb?yGqr z&C$<*+sE=;fV6{q#45(m0oj%IvNSk~d4l()*$TgBRDP6ecyLJAnf8x;H4}KM!YUz8 z`cspioKqbi0|$A(clh8)*x7%X_i{Vh&qKd( zSNL7Ab7J38;DO#_m3A~7T#j+mIE&|;rQM=`PD4LRJ{c$4mwIacDTsBhd)#WJy)^yr zfj^;dp!h@bS_J(%{&=5KuIoe?@?O&+g~!;e5A5Kpd{gn;&?n>#cQq;P;!7{byfOA> zeg${FQxdrI3mNCxE+G@wW%}Q^-!ALx_hpB@OlzwtJf@EMpr4}${awo2d-8m+>pgi6 zjqU6GvmMqE5zUK&hvgbPOVIA#180=>O%-?#_OTt3Ji;H^=SQB<(59o1C$1Y&5Bt=f z&Tj~u{MO+I5XVeEZC7x6?c$KPY(1jr;|ZLCyz@5mUef?UF@-lBsJ;MdK4v9^X{f_oY53h`NO&8~V;j&!Qi<7|9Hpu$29nH@zU_HAoRrGg% zJ{takKEYC#kq40Q4G=+S6s5;MgOnicRh5XE?N`761 z*VrHJ-4y%SdhDb=3r8yL;=Wo3^90A8MgkZ9`FnBT)=mcS$av-3*B5wV&KVImL_d1H zBXE16-a?-9#_-u{h^xV!yhmBCcM`qMKp(p!t@wjEyb!o|Ne{&ik!xQeo_nUN`>^qP zw-Ij>=UOQ8KGRmr2TTXMD0tLe96Zh;=aq6Jf2@O^;lZbbJnQ9XxE=h4;6er0x_B?8 zr{oF6Zo0pskbC4Rs^Gzb+}{uUI99P+s5=%as_7xR$xM^42L-3yNbH^eFm zob9EL=fpUuzxtD+r?Esmu19jK`_a~^12M1j^=zQ<#2X&KcoBT?wZdb$yBWAKQcBUs zXPSh#lo&N!!7Y9BVmwNZtfAn^tAn_1nwek0bz^M66L;r{a#^ofyc_hiJ(BfeKaKx# zkM{Ywp`vH%eV+fcH~CP(tu;DAf6E`)g#F3yJhU5jPprDA$Oo1@fFJ+wehCG)e!%l- z+Bb>_oIL(}X~=8uG*NKfi)S!y#w)1jdtF7o!8oEV!uweKm-#OCv_c`yZ$D!HmHp1t zvLNTBw_Z^A&oBQJ@`hH!6g+UgCHkYYSu@m6uH!;eK0~|cAILl;{an9hAp6VdT!M$V zGxu(^OKNTog+KV`C!B9sW(vQh9TMdR0{1V;tMDX_HAMgN&%Y(?&vw)fPk`TaR<)1$ zZVmXevCMA@e|q=3z%?7{DtM}%4fDg`zDok9{^`O2@N0Yc1kQ4U^#&tOYHM-)k>g{y zNLTdtc&j}Mzh}Zy=cS3_M^fj?AJ?h8<#NXx^Jw|%iu;g9`Z zAM*ZU-z)sulDQBM!|AvppWe_B{uXYuQjxblIu1Qjoz?f(%;hJ-?k0UvrClNo+G89s zJ(;ZV=zD($e$!W*lyVbQxt_It&F}xD-OOv+f>(dCI{r?MM`hMmgFeZIQh(Y(*Oz&; z;H&&jQOcW!b;aL1`pNt@{mPw-@7Q_of1&7OD?0@8@p~7Pay{MthMc3ua^Y_**IUsF zJ?%$E3!MCht8Eb<^wZ+t`LDlBx`+8#@*eN~ko`0|gX?Jf8M$tvUoC$)0sS%ZJiq6X z`%39azX3O2DzA(S@vGaRXX-89KP2rCcz*))^put3rs!V>w1}IA^d_agflgxovN83P zJnq8>5NF)GZVJ264#7RGQ7_Hh4ZtD)uxks|Y-igY#4ApYfcc|2Oh0c8j&59ev@~6#k&@Fn;T{exb@yqPwdP4Fz%l-{{ zbFRWl+(=aU2IU6+dR4Kf{oEY*Vg3f{cdVhCb0OzCzF+7={lf=pL4H~txqrm^Mt`ad z`@1eIQuw1^@}B3&lJ69r;1BP^ZU)OW1vjpGi1rO?WS)xr>0e4>+)vfw_t&z%;Whz` zv)cF6bBT^QGccY83S3d_nHa+NSv-ZfFDiK~E5C)_?wmIjyZMH&{y`VdmB@G%%fa{+ zGhJ5rUD1Q!xjn0!QZM(cvA}h!>niPNX~%n3-936M<>n7I#NT^*S`^&T`U=`TG@AR3 zQlDUz8=TK{k^64!ck%YQV9%I_>mw;|`*1Pr6AMmK^a+%j4?Ao6$av0nw+zXN_R?>w zq|`UOb|~%No8Mtbd#39a=ltP`^k?z}Cly40cdt^M4sYA0 z=o#xYf^o?*T#=7dAA;Y>eO(kh{$4-EnRGeDo^fkE;I5a;33>XP|BolESGhupymw0< z__=wNoIi;Ep076MW45^w#s7U%renTjcp&o(w1cK=VZt3PoUPz;4#iND&@L%cVM|^-&FWbzs!UGn1_x~^a;Pp^RCvVzbSaSaut;8x;|dP zz1dB`HFwo}^1ToK;kK~pM3P%3-JDQWY z+gS~9&ShB*JihX;#Tj|4z=Njiz=QM3f+xA;7{~K<|C+0nptd-hS@d?E$Mgg3XgU`Opq^81%}0e^7gq^~md&noX9QXY8Jb{hPe zxs4(3elQ()q*r$6Y3lY4aNS+z@3QjvUI?PS1O1+Y$8(kP)`d@iXO%Zp|M!{lsr^CJ zH>-SXN*V081x{W7f2h;P&?k|18RQ-Pb3xB=XO?SO%X{#%^0*4u29LAfHt_gb(*CYK z{C+>2rM{L4AJ2Q1-CPxRJrmdc+8=mUy9F+UpNSh<^E)5cLE71!uNCTLkKBJIf2c3N zi_0pXFg8KE+q)b`y`0an9eq7J0?%rP#H-JvpJc^Tr}+JFI1laV=t_I0IQ2ZfBDvXLzG8jj^Lc-3Ry^^~sb`k!4D-H~tnxa4-Dmo_zHjb@ z&uYiiS{?AL?PV*{J9i;C0$Jc9`EISk~~|rsT1|dkOOd z$rCGn1LXxq^8Ac*4a=20zJ|>IWaZIZe_PSVP^WXBXW7~RiVnE@1J+mL5cQp7?wgSh z4rF{yy~nuceSKBGXYm+n+yd^bu7&?Z1W&5eqXEy7cU@fzJga=*qih2+@`j0Oxz6X> z49einYaAb>KIYHMLH_@>?}C=VJz45yT)cB|h9|4M@ook1XO&NWe-ZNTF0_wc)Jy7< zl_!3G$&hF9Yp?OXf~-98rL}R+#L$iW9>MRMRRnlee(5KsrNtCKFJc z_?u=l?PZ&N1oI#7)fT`*XB#4~o0Z@BdvV~#Ec)2XSw?2+6(6z}{%9#je~5p;d!)1S zBpOeJe6TD1!B&}mWvch~m<*3*z((-IHaCSn`afrl%HUafd;ur$tUR{+?LN)OXVp`C z<#pg$d2DTe8l92%=dA+&wCL?9H$LDw=#y1GcJvqMr(MQ%gH6l+EA4NYPJ7CJD(xRS z#{8wUf4E8hv6*tS^1EtXdZzxCxAS4WZyZYhcXg(n>kVjt^?O#Hbk|paXRVjfV!kWOcoAr!8=t9HJe~vgw9jJudfS<(e-{6d`efDL z*`W`3vf`#sIzN+N*X$Q+7<2oUptPPtjK$2 zK7FP>`j3d4|0ZAXTh336J>SH7IsFOk?Eji}h@a%Uds*w{J2V^lmaOd+%4Y;mR(a2< z^1v-w$~Da$igi;~`AB6Q@KD8nVJCb3{;02g6~8}?CLaQK)}Y;D)~(>rs*m1&=9&6v zck_L*tmP*6{)Te1^6QT_#(L0{#UI?Q-XNaEuiVGnSSN=5pq-7v&IZj0;91LcZK{bp zMpj(cz)Czzxv?BKpDAw|ed3w&spKnIKW63kxn2iu&cYvBv-6p_z2?zp^0)>$r&%=r zKR$$)@f~(oj$-Iv#-Sb1j=r^zo+%$c&GX*cf_WgXAHeyW=M@d}8(Hj}*mf290ox_c zCk+GXx4uquo+9&typY%p2>Sb!h?;^7Dm?nrka!)bu66?6gQZwdl znk=|^s+0KKb>Me>$Z<1LpZi8x`BUe4A9PmS)V23B*L@QAEWZVQomel2zp6-ik%w^n z!}W`68sClceMu_ zjq`euuaG>!w&%g)s8ty2d)G%jX@5~}`Y+}^%%9p6JTh?(zjDUb57Q~ zTft{5#d(Nj$_%WpgA3IBL*OC58_BxvHh;!@KeFaGbTtP)b6p>wPWh~QdanHYO!<(n z4c6~j<-H@HLSFwl^ACaS4%pvw)DHQq>w0N_SMdw@f7veH#9$)q5iXZyU@g4xl^B;eV_dG~kFXpdiC*Lj9PT)LN zmTP%q1@#o=+IL?oCs|oI}p57Vw1^Pe>iTGPDm%<3_XfM=s^VoC`J(oQVdNZ zAY6LrLE5E<9-3Twq!~aU^w5K}(Bx7LJyJstJyPT|d*5-b&EWt_n{AX&XT z`e}R=;}Aza#`n>_-=*Qc>7Bq6DL5MAC~`+zC;m>qEHC9d_F{bLw0Xf;stx?Tm>1Mn z7*{3Re4U0HbMynhsdfS2`tPZ~NyByJ_+lTfSkriRPt&M<38032l99t;gP^#RGZ$IIfpv z-P?@QuCcy}JnScyDLlWWe*PWg6M6W(Kk0M@#JzzhY&Sy(@+ix8Ax`!_O~<3z*e;gN zOVKWtrnFB|YnQ~Lf|&Q5jfqEQbVhleG378H**??qFxgq3U;(~k78$~Ft*2Rk|02$l z=HF?b#7(WA7sx`tU6B3F+iU>qe}H*ka~ASAh6jP$oAgJ%HWSzH&yasge(Az>j9+I3 z@*A$Rot%afFO2y8QPuzb1 z9<#4A{n%SGnWxHVN0Da>X7JlzIx*0u`}f~r+S9A`pP(lvc#>MX3*1vnLOxKLKtJj( z-Vx=R4a0!P+YEy~B5xU8KDKX)-*=n&evuaq|F#(Nf#bA~(SI8}p3w=&DK~wOTpvl^CS3W&y7AQeG>1D1nz82zoF*%8^0^T zY3PTxm%2gT5$+8S5IO*KEJ>J9)`|^slC-9523a+dw{{u>4qk;(j;ZTTk>$=ZT%%kNMudz6bby66M8u zM}EZqEclfYBjDft8MyVvdc-TfZy(sX4z#BK<`>i2X-vpTVeCAfsN6`!3+o4EcDje87Wy7oc4466QZW zyY65f%H($)XWXOqO}Brn0^e2l=VgB|E!6z&XU)KqDR23sCh+79w!eEGki!W>49O1cS006VIa5QvuM}U> z4Lsp06a^7;htKkC=h z-&(Km+(qovKaiK&(;o&puYtVLVn@BCyj#KVU3vj{;@vL56a9_=k8Gj;akaVv-0@&D z@W87)_mV8fcTYm@qiJ|}K_l2-&XD)??S_7yslTg#JL1=$fXB2h4t=7v4+2+)aXlCB z_ZRR;S>l;I(V^Tg&cyA%cAS;+V}{zaXL#0b@K~pO0Ng*F>wbS}mTSCXKz*Z2x!;>; zauV`}sb2#(&*Hi>SalU}bqn7mvE<%5z7L$qFZX#J_V=B8N_)O^75c=p{R*B;e)AT#VhoNY<=l1D%f9&v>XpeO zT_rBop`pc>nOA{y>kAV zksd79^&aD~_}U0?eQzxu*YH?{yx0%2zsh;m`t4wpYkz(h>jKY}boszBBk=_NxmYh4 zjAghVH?ITqv@O2@9{>7WzysyTFW;u0Ob+4uz^+P;G~%8_Dt~@ zbmWO?>tE-Gb%7`UA&~UoDj)h!d4c)JKXngPeEoj5Iv{g!8ogNk!n+ zejG1O?>NW@-?paVffbC~qV-N-{xrQsetnCHkk`$Pq~S&b*CDZwY62H|w$S&K_bT(! zcNR?#ccaxZetKuI@bjgR=7y#d55+SS1}uK+gS2DB%Y6v z5A%CBQVZg)(dWTquyjKl?d!Z2<0y2n6>$0U-i*679`8T2XXvl;X?XA`{hGe%1H`jp zAHh7u2Ogyk-%E};*ni|!VdA?FKwjYf$=?Gv%|4OF<9u6dMJ)iU4fK2)1rS_25*W~)q)12eoy1O3m;63^=lg4kU z)f#btZXf4abuRml*CzwlH<^HX|F=&aX@|U}z8%lS1ec$J{)YPfi2u#~bn80C=jH?N zBA@A=$h?sAZ^rrF2RDERV_xt}c{$#_Q(qaA@;}mf=EY-;sgGe^ap1?ihv z?ib?DZk%_=49bmqi+q>*3Fkl8XU%|{&(5d*j)Ck~HyQyKc{7uq{Xs1~DJ>5We?)&0 z{9r^H?k!0_VEN@OMFLMzdP?U3VHJe9pY8v#D*v*;$*p&b7SB)12@@E z0@`{?p2TzDhL<=W3EZLI1$nVw;T}po<7FPgKgK*-|LM*4_2l{*^12pXQLf-|k8clo zyPfUk9zuEFD^q~0LE2m3iAfUhP*wVGfji&hcdpd~#KST66I*SW6RN6_yL2iU%rDDCfEs=fQSgZ)9^?x`0cAIiW(2R{bxc$s-Q)8?D7k7HX? z;PFvxFS*ihz{87Xu-s;h&jo+z%PPQQ8T((MVke=uw+qiJ*(b3bgVR_~bt~_A30&L{ ziZph?A3MV#lo?v2Zm+~VlCJJ-;EAv4|E*=T zylAI5aL?0=kdI7l2_9XWvA_)fvHE9&FXaOVZS$0hJsffCTqeRh1B-ww}W|BGJbyL92L zD)f&EXH=KSUfQ;xSicerHO=W0qTtqny85As^ND_3R6b&@*fv1l&`N`|17; zN$RP71zc{-bFD&Nw~qH(gnY6f;~X{LKky$yAG7%xcv4G@)I1+q@dNDOtQiMxtHOBF zea1`sJfvTa7Ayt%#OJ(UX0dSpQFk#tUbSlRu-&n3?!j&t9p8t4y(H#uGc&wmGx zWk2t+igWnlJhODMKlsIYX8i@)A>rV68qE)yq?PM`r5N~qcYMGjIW~ab(X%S>P(`+v z;4z=m^w)TFEuTO>(2Dn_^&j(GmQ}lF7u;t9k9FWU*6Zpc$jfdOe$@HX2;hdE?*n%Z z;`>*on>~R?e`5dlbmM!cBHmWCI9zW04(1JUo(sWLHoF^C|6&C zB#Hm$yqE*sOvm*ok^wL#{07R36TAK^RR^7f92eoX`1Au;8(;W8Cj}liw|}ogEFHq{RGkya@4lxLX>3a`y!2Dfo?J zIgade3IqRleGYlgUyM5wBN<;eA#pZM=K4PJ+DW-PXWG-aynhIp8t)jpr9ZAKjN67xt4} z?^}N0{b=>?mEiFO`hrJ(KtJQnM!ylxw;DW&pEyqCnQZsqCw9mOhqnTM@MY?gEIu+# zAJ6+b@SDv1UZ-Nc4EacX`hnP&bHMNWrWtTiZZH?iRo?6kT$CGke+YhOZuU2UC!3!K zkHBNc7NOkenDo4pXx~7yy~rcUJv4vv&Km0ZaZljtDy~EAr5MkJKYaq+*^cXX!&R z!ms=f{Vm>dG}bY;3tIg1C+7>>irT=X8PpOyx+uRFEY8&k9>Y7$As_Edzb(JS z^FvahY2?w)=g5D&fpSC7-vRC^%yAm;c?A5*yIFuIt1`~lH7gE0koX9=$dBnK(l04R z3j+^U>xA}I|Kd6=G5P{?i;ykbG_)k zv>)>B3+Es&{EUcOoQ0SN5clE(7mh+ckzhNTzh4Uf=`Z~=@Ys6#XVbpiC|8+3ElobW zhJHBq;~d~Rc@@evywn~%$x-yHq3n#~m09GGT5-I~ExGS#uRI^}&UdeXC-fELKYzwtwDUa0>u)}4`#JD{iG1NuXG>|b2Jc4NO1JjtUgfeW5+PtN0^ z-}yf6f9LML9)o@y%3F{7emw_+-{#o?+_p#HtAR_Wp90rE_%==6vA7s;T}FN*xjZ{? zWA-kPm!Dn&k7F}&U%sz3oc zgoFMt^1LzR6As2B@O^=r=Wx=)^Bz3DD<7~?>?c?9yI?RCeXT#ZM_Cre%i9?p3R@*{&UU?Sy@t+|p^Wx&XtA9%~;O1_Pz%S0thBxwk zJ;U-kQj zE)&172Rvp2*BL@j)1JO*JofjGq1^DxCDFd_u4SQT@Y46dUH&WWQud71V|;DU@(jW6 z=A+#+aaYlmol^3?re(kroy2uwV*TEZDctDh{%>#t=eyvyRj_a6*iJth6z7C1HtU*_ zm-liUi~TQKeSP;7ZkhfV{CbVYuzm{U;~9FIs!wpIz7-WT$oH>ppg0rhcCD+k;;HIh@05MyxwKD0vyWsgpT-~1>?1#W3-aEK z{8(~$D^H5YlyTqLcfUMv?-tfq>^nP#+ys9nkGt1G@CQbnW;-6~2Rlc{4+S2d%KDmW zvc8e*5BsFb)&Ii&A0Dpt|D(MB9JGBl2dlhI`A>ZZXYniscUEL*Fj| zPvBl7=##k92IcxP>|k!N{HK&Y-i-68j-S1-L#Dj(-Miqij6V;4!yMMv?^1!gf9Ci~ zyvh2Sp3DKiw2|#7&I2Ux?(df>*Y?jy+O7Rx&@*|X5O707#`SJ%bKvn%+x{tean4p= zz;eCG^m1bpwY;K+CoEC$2W9pv-;qzDkFM1c;PO`5$Fy~2-xR+n*Hu=_qvkpaeS%l_ zLtdQY4K*1HeJnF?0(ZR4b(6c*QSfK-Bs}v5ruco8X$Ns$!un+CfE1pX$9YhkuaHLl z3HfLb&Qso;j8Ak8%aA9d9W6IJ&?nY~>nG0uEpBX@6L|D;`!xN-C-o>dvwdA!eXS0j zL(}c2|Bnv#r)TJk6S={0r~c3o zcqWfHPwpPS5%S6Y>?g_JpFv)3%XYDA=jx+s*1@TERA!G!(=&F?fb&Sk2StJFt1#bX zcZ>s%|BYO8Qh%4|&GF(aeI2-CN4g!<`X>jcj#(66Dk0($sqxPF3Oso5JoItop?f|mm4Rpa=kWC6!2KC^P}&^^zb{e}{Xy}uTywwxedG*3@7gzjde&n6DbB6M zJFWwsY5$mV9sIhC{TFAQPA`;~UT-=v)!(dnndcVqs%-=BXW6syJcYQ2l~~31Rb6l0 zg+2XW4S?OEuVn#`)KrTb+p=Go-Y)(^+}f!@8gA-DKV!7;J;dltEsoOmk1VDc%sVI8 z?&6+Eu;Ebfgx_G^PU!EfB|$!Pg7dpLj}h!ObxNwf`hP#ToBApCJrg~f0=MO@16-Wb z*7ax)JkpBmfOaS4+F z{lW3P8|3wS--Ud%BkL>9dy9M1O0k{LQ|$Aa7axJV{o+;N=32C;>oq&q^A(tv67qK4 zhrr|C)8C4HWaA=!7t?>J3wXqSw6{|o$R{RoedPRZCiD#bv<7%^IpZ|PCi>gRh5o=z z&DkGpT7QUrQ}czmt|s@dBa4@%)k{5a0rL8cdlT+KAEfa(wEmM&`TcdryX>E_&)7f1 z>zUVZ{>^bD&gV;?x15^l2f+cfgV^7XtmFP!D5GAnioc;;;{x_icZ7ae;L2x*p}%b{ z{cvQ@cF3#M=K*(>q2GwV=0UmgL$mm z?QOtKLeEN^ccN9#0hiu-0)3P=jnR(D?iuo0y#(&hsF$%zQ}8&P^oPEGSg*tc-aj`s zI|+VquOw85`;?jb>%Ql`^i16IR6?H4Wn&yA&TpuBm}j)kMl`A2yFSi#wiA!4i@LjGn9`}!$ z-|M{=W;RT+ML6M3rG@^ZwpYwP0O4S`4XTsK)BvVY2j z{szB&E%S(`Uue&W<$sXR#KrrWnR*&`{{kM*Bj!grfUv;VR67iFz4w@LaDm?_KDr)};UR zT)YpSOg~_MKMbBwJ^DlQVCLJS&CWyqKmViolf<-MkQaIiza2Ks2JSn+eH(EPPAPW` zxNcZC=p)X*DV4Z?BY6IsUuxRZ_yr!Qw*mbyT94}&ajq<~o$qJbS~E`{|9&Le%QAI4 z`)&9-%C(+gemmLq6ma|R%ulP2WXO9)ev1Ahc+}n8*GpEI0QqoL_8(EMqex%K2XZqX z?{siq#xQ6$t5B&_>n3wx~#!s)KTz8V|GI6id zn>{=1mU-XPG%WqyT}y5U^ieqQ;CZgQPqqCSt^vj4F8j{E1-^Ka#0{fM8k^3Ey#>L2=pW{^A zi_{P2{NicKxKY<-EcmV4`Cg2`4cUePH}y_}Us}d_!Fl2=aLby-!2MT_K~E9?c)BbB z9;-k5pZ(C&hy6<5t}^r&<@y^O2aj@*=PIKe zx2BbAIp~0V@X8k8N$nh_>7^%#^F{vLcy|SO0$2HckZ67O2aARAfHH~iTWgGW0RuHxszMHT`YiQd#n3oU0GK z(t+iE!*=nlWxK>&+Bv5hT*nE0!Vlg+z1)@FfIf16o;NU!r=Fo9w1c4!?I0aE0e*jV z@;i2G?QVKNJj0&B9F@TD(E5q1auD_mAFhvcT9T%}IJd8>!gKzKS2*sJmh@wZ>GyFS zG+c#wq1fkLz@wBY2p)e1k5p$P>1x10C{h7+99)C?;NfR#JhR6mhVGe=;Lk1 zej8l%5^&qag0P!-|HSwy&$Al0^8SRlcMz7p!#-N(`zN}WR|8M3?F1fiU%;^ARp6E~ z&w=|+Fs^VWmyJoqGuAdG;D-$-Xn*IW^^iC8V}4BR(|L=}guFAvdBj@(4D4q9p#yN! zb*{54U;PE#G;;`e0^vOVd`~Y}--a7EO0WJ*sjpuQ2qSn`Z# zyU4eBj?TKWVH)o5H3agupAQ39>+pR}otyjAQjFibv9{!VVfk|}i~K_CBJ&Vx#; zQ^1{;BzO$-V$fe-gY$^L<$mS~=WGKm@`3)r0pJ!V$CuiCI(Q8ELf}c9d@?IF&ZL$+ zpOBc>GfmIfeU|IlHW@tO%=@#qA2Dy~;&~8BJC|;`H3xY39p;^!IeDJJKWaVod7b?# z*=rf}Np8$V`3o;We{tVdzR(8pzP#L5(zW3_B0QYm0}{CLChZ)aFabQ?+w2d5Ctf`d zaQRh^3&X|$%JqCSg7rE=eLR=hF4126KC-1S^Y+4??z(l;ZlN+7zqDs?s-5&jIFH9l(?2KY%?56% z#`xTvlj}iiPd{+OUz5Nu_9;9?rhq?|i}8baFG$+3AGj{#9ic#_X23-p>-Zn%&17sX z`0bPF#}XAde?`1ofy*b^Z@mNVz|Q`fV}J*1(GN#U{mg!tZ6NWH^q+=pY)Ai~uTZXE z<@kzj*YS&ONedGDyu}w4L{+eMB@68*7i`l-#y8sVvV_fRe_D!s{+r!U0 zt?XA)=Sh&4;$_ot?}JgmO$Q9%37uxX*V3DL57*{}z~kD!gF)MOaL)M!Jel&+DSpq$ z-jMcj^rPLvzq|waGW`8~cReV%n}I*D@irFy{*V*a%_kBqVD{@qWS zrTGVKo>FRV18!)+e3yKW@s;;!`uq|&#&UHldqF<)ePGXrLEzrkxX);AFf+O3 z2A=u;aO@|}ccNTZN3M4a#g}tl$k_KWOVz<+IB*8_iWHg$e%CPGLsUv01Rm%~zb)+M z`H}L*qxB#!y%xbh|66E?oAt*7#Fou%p@z@F+}`cGj`$3Oi3vO10Z zGje?qcyy(XFiv}kag;B57`XGpO5hRw&AOiF;iG$+0C#_M9QvDbas1j!Gyv{DITN_0 z0`-ix%?o~^r*~>s@LQ_eAur8le$S$sqD{>c&|-;#(76)yu^8bCG8L!%yAUEl^=L! zyb%~1!@MSN!+830^U&;LQvKFbm+yXf_s|ZJ9B%`6o#Q^fXFJ>1cw{U1)hx^>IJR(J z3u*GvVH;5|eNK+A=)i9wpLrijnmzM{c=)$vz>^!xfXD7(d=)tHfb+7pzbW>?6PJzw z*B#{j9&t}9aCtHQK6sq#%fMO9KKZ#WGCk#b%l$3$NU_U|tCVOVtS5|5xK1||90#7* zJ>E;Q->r{!2~6UAreCoD>yp5iTzAOYJyxl7ZSaVDtm3|d`2Li*@8G@0ILx=2Jkci1 z1Bm++p{e|?tGG`gc>d$p?qB%FI-zH>rh;jlBMakiUxOKt7vDXx zon@SA7}^B5rP*B6*Hwh}@m_ob>t=JmX~2CKIDe}@&u4v$bDk1B`px`4spl@`Egz6a z`g$PD9m!t@xF}UH`M9{+_3Vy^l~?mKNI(BJOND~&(5M9Q~f;T<~~Ji z7vpd_nzvI5|Mv?Cu%BN$&!ZpcbEj}|Zp~V+FUobzkijEooM%(t=Q%eycRG(T>p$R; z`*B~!akmk8yrs&5C)$Fz`vP%m*Abml<*H_$!%?+!Vp6@e;4x*K-?Qf}3_MdlzM>WG z&qTHFgXy$;pdrJDFT?{ocyH7Tw8aG_phWC{63e(q`hPB>kfIx z?Kt{}_Zj`I_-D<3T-kj|LaI?yIPu!EWFW^3}uhUfM6Z)8b&-K|z$p2@DkLd^8 z7QP3bbTbYVcJO?A81kX&+?N-4%-#_DzhNye7aGU;$k6Ny;O>pbP_F4_6X@x?Ru#By z$Q9tag{OeKx;zBGEoV8}O}qbVyT|v&|I<@zFHZ~ZkN>xS-FXOj;&bYN-&<0fzwWgJ z9?Mw*c&7d1@ovN)-bT4e6XQl>aToB=b^6=ngbCFDh}M3K`OcZ+@dD!SaXwHwl|g%Y zp7We}ViWUghWE~3Tr1N!ANd;6KZiiI;9FLLBd{@>uh5pcgf&S22?-I%l zdT2NCew6)to|_Wqqk`i&?rd4(;5QnX-%zr$--a&EBCf@IRxREO4DmsKUo-Aw+WIiw z3yd0v_iWumId5ARUw|ES)%g7yqjt~L6=gmoG5rbFagj=&qh6A?Bjk|-T^N4tOos~t2tg`hrBrVDCA8KxehWE38&%4E?nRFzsUoh zq=)%8Z;=yhuci+Nr1VkDTsIlA&H!%T)Dk>_CCm%S#V-N(Ui^tXwU{T2XnDd9-!2Y$ z<7oO_>qV7zuFwUz*q1c!ISxGXVGy`Z+i$hqx&_>6eaLcWa{t2g;Y{F`LhE4v$bRl; zS!ewMJXY=(*gsK$^N8~m=1Kg;2c*f%GV=hA$L~U3D#QAQI@8Xs!uio&h9N^}=jG$U zuU>LOKK>@-N_Q*<+%^ z+=)i4uWKs%f!dV!xT8)#DXJyw}{efj(Iz?BAC++L@YFV&vjezdcYckkx?aUmaC z&AdZ$vL5RN@qVwZ*=FjK`yqG|Teyx8`Zyn70G?dR^{?+H{b0b(a>e@w;u8qRy$Aa9TT z0G_b6uNT(#^$hAT;F7k#gw*}cQf#c}F>hy5V%S4rCSI^VU>4Pm)*r2@cxM+ZTFXCwNNz-8V~ zkA2Vh%5#n5D3Wa#;zwz0L)u5fZ3ezeCU94bdBbq!VUSm{wSl~UE^+mv3Me;zit7%; z0qtCM&rg86Kj;8?TC{Hi&SRUDd3%eyZ&~DZuY+u*Q9H-#|&tOmSURk(hQM9}3 z@gU%q?2NDC#lvXd_|2KXlP8%M756A(wRn%xe{L1Zb()yZ3a_opdW~UT&gEqPaZmdZ zc=#>yo6mB;L{}>ae)Y;B@K`D`UUjbLyKRp7M}dbMvETcLybK<357cvx_D`O?0-oqf z`fY)m+r0<*|L{ULuK zqdvh!?O-2s37#_%`m1aD0FSq80zD-g{gPEXXXtpj25?vRx!_Ma>p?zZIt)D2h5a$` z6Z?7agT26&-vW^L_ToGeezOX2_k)t?N51}CPswF}BhNaXPfna7t`zkG|9|JH$}N2% z9@y{%xVo0>1>G0i&$XTZ5_o(8+e^~URjQ-!0yloi`Q5MG+j3_=0o+nz7W6k?s*n0Q zhEU%AH`lFhEl=XJIUw(xLBAEa$8!DSz5uS~;CEmm0~xQnKV1Xd{3HEP{N*L!w^~O4 z*V(x*;BUn^*5AED8XkPi{uXXn7EDezmUAgb(yUP8HGj_#hJh1oEaGZs;kUZprfx3jJ&Jea0_>?u;uG?>x zxfjD*`C$jICNIvt81COo$Q~T=XIRTl}-Rz=OHD@8GRFlK)@tE^tq%D}J|q#CgH> zD{)_M#(}n(JZB!cH5~Ghe9YrS=I}mX;I7+@@5659Z336sF2NG4r@6BXe&6iA)UyHW zlPEkBc;GwA+di=2cYV>G_!)c5b(3pzW&9prIt)LBp7BK-Z;}0zfLpw5mq0eoi=I5A zfxFu_MY-~|hxpxaJqiEp-pBS089D$D$L0Z7&s~Fjs2=AV|MLR)fAjZ@KOM!ieXrT| zfIA!4hPd} zeC$e=GkhP;O*>Gt@V-y9My@?s>qy zkGcSluWJWf*+hTk{ekgt^wR5yo2?FxZ&!BqPhWAqRKI7%5u`PffM@EA&`mm8Hk z0XNUNM>}lg{2ToK2=M>%{Mvqmq0;Ra%Qxiyh4d%a8Sam`UuNq;o=n{Q1K-C`&a*v@ zjp_d*^8?JwYq%-lg&oBGK3h+o_wc*F2kvjh@77stoPUD~>zn+iIo7MOd%vPy>W6J0 zZ|)xhf3iFMpLpLxb@KbU!SXT4>uWH-ZLV6L`FD*!RGR0j9XVS7H`QalG;zKq_X;rzb44ecEC z(SN%3%w_!8jCSy}W!xOm-jA})XZ|@_;VJs1yneUBDH|c#qZDjrKR>`3iXW(;)TI;v#8- z6Fklvi-6nnP@iOU?hEnwie6(<{GmOZ-;|XNQLfry5pbp0RPeY@D!~7pUvaL$Jdxv9 zk?FVXb+bc0@!$gF^%LoT+;dt3HyJJgPguAfanAS-JW3hPv({sb69UpR;ECiJ*dbc{ zGRlo>-`9&5WPU<7zY%c##&O`cbnXTI$Q{mK^5Esbt>x)=)h4_j?b6Om1l~#Kai1uQ zzjvN|hWI7EmU#eEBnCZnr%y5t(#|U4UiY_xLR6szH_hM z4_xlReOO1u|Djyche?;R@O zr{ZJ(v4#iXclkQUjas}v+AEZW{YhT52mf!%s;!IPTM9dS8w~`m?zjzkL#`#Xf5Gv< zT{CI|_b(lT-@To9o+osX^F?_4FTkbxjIVS>$uD2v`4j1C7yQ4#W4YLm18+_TE-&J` z$yB)*eoxfoexIcd{j<5s_i1>r6Zbdm7heKyKg&Fc@2WPR&dUS+&3Sg<|2^7!eNy68 z;HKOKfs6ZJa_uI-rK?+kC!d@{eSL61ApYZyO2*bV;)sGm~PKld*(x=$2lPvc$e!t z5%DY6O=CVs{*~j- zly&$Eao5TwjQ=)r-VcSCzw)0h1YF8_1Nyi+(2oV%mIv-F%6)%vKQZ~nCE&rG#64N} zz;2#FyjN(|_|>{&fQL){33=N{&WFLpr-4Un5s%-{?%m8=3EX(PBjlsq8OM2AQ{HlS z!V7VwOgfLP#15AGZa>J!?&(l3doR|@y_)aDh0aU>ZcS==!pk4SZt)r$fJZd@Bvx91 z2ktR$QKr#vc*5;~dvhOzeALYTW03gWF-IqD{jrYok-t9sv%mw(hzIVINAKbIO+4-g z{aur9LI2Eh-GA-_u4~Tt%KzQ3kayfo=g|$}xD)p}4dv+HoNc&X)0K&VCwYwPD$7#M z&p-754_-KpdL>HH&q%BIT?6aq%+Cb2a^JyLLcu-L$Ts#X{~pGZmg--E$F}kmc$Bp> zp{Mj{RhoRr#r%wVx(dr}@c{C^bIflz9vXqGA@az(r-3K(`zG*6+WksbPwuzIf9H4T zyxMo}#CH??m!3l2)`tA??#u@or;^_{dppV%{al~p0{LI1UrHQhTq+;uJzP;=asSjY z+Wx9+WkIScT(JP4GT@d@u7latZ2h)O`;5Og!-O4B*DKJ-{FSkn_8-I_sM_J_~qk zgamy&=7w0OxISS%CvkNc@WjL^z#U2$^5PtwTCovuzj6n-;oplU;eX>`sTTJsUG?b) z0vkJ%-}DpYZKYYSNDrHk2AHd`N zS+8J|2<7YCL%YY{W8CF>=Lg{NY4i``o^L2IiFhy0YsLZe^NzNE1CO@lcyu=oK!59l zoG3T)0p*iJ7;jrA#oO>beb@5)YW!aB7-z~MG{D1g1eh)(6fyJCB zB9F2#|N7$t=p$?2iC+CpA>iVBH-g9i?yKOB{K@rB@>AxQ)I3#~f6dndJm#qja6i}h zBgcg;3)eg09#??Jf7!+Mz0GzB)aLvCo|BAYo&Tf1HB@mz-gD(U*xxLzqTQB^2k!c+ zv4(Sh*4IA*+%zg(UM;|T!Lh*#3^^caN7@pe;>+q_u)Jh{Gtzd zTw4E;8(o9E`K67})A@+~AvSyleh(F`i9CZko9h(4#PyLH&`p%?jK!W+n8s-(_56 z+nE!1{OhT}rQhfWj+*nsU-*jg9-LB(@mnx&ACxP-&Uw=orJoONNFq<7t2u={XSDsk z+>C226{=y}`*V>$ahdj4){Z3pz7u-thU~-N8yD^b9$(Ek!Jg+F>LVxn0eAG&^8B5+ zUbf853On0#?*xzaG2;?P?jIo^I!~VXkeT53=K2hHa2dyosn;an*6Dozz|x#?xVLNz z;PT1~wDU6hZQY3ezzu7U(9Q#YM!8`d^Bd9Kjq(5PKRI8!Keyud#JA-0<{)k_E&;cV zYDzvA{e$Ce&Sy&A!N5ZuhJ!yMw?uiqU2I?1!3)6EQd~dAH*y^;_8k(3{(!t`ei%P3 z%m1LB$EV=;%AP`HB>tgwr0e9NySKWKrF5x07 zaQ8pE!S5JD`}hw{0&na|Tj1gL&A{(1#do&@XX)po+C6mV{K}AbK4-o};I2q>;GUt? zz>~beI7$u{2X5 zg?6~g_q&bL=(oIIbAB{_)q%XLbf~wGm)>Xy{gffKXs3Vnf=ANc!8A3j0Dke_zW3w_ z@Pse?0r^O-DCDD`l?RWx&>+MY{#l&IE$#R|c)S|lbq?2LJf`&M0iO76o>v#=*d2A5 zPf&|z2ak~VmmLRrY4#Q1wx2n_xF%BGv^=QEuZBLJG32-ZZ;6J}&aQfkz!MGsjJ%m; z8skj+TMppHC%kv#{#N5DNgj7ofs;p_&Hc@U+Y26bHRDph{ThBxzQR0-x}Xj8Q7_E| zZhkh5b~2OSbov$O=U#CJc%%#cfHy1i{Ejh?VP~C=oD+e(^?Wmw8(hNv;~4xM@j)DC{^%O; z%ad}VUfzHV{av+Z0GE#b1^=&T->r-Px*oV;&S3DEv(^B=)J0n#wYLI~_FWI$`U>^Y z>#2WOyI*OmIS@Ral40;mTTjt$+IfIb{!75aQh(rf1KZ2~9#rY-Nf%9Xi%Phzn zU*)<|D!K^#wmAvN$NRUWoo`JA?p*ZOm{h$&FL6IQHjZ&u{N-zq4>}m<3w@+R3d=P( zVIRG=F7SU!p2+`LU#U3rmTtct^-?|CBNfvJp#ZMQFjSDx(w zZvL3#D6*RIkmPL-+@>-PcO2z>=c+g!akL`S&-jkhZ+lPiyDC0y|I0Cw{YHsj0FN&V z`?LT1pP)~oI^P3R$NvsJjRTm+3ohn)I>BRaJOg@qBA-IJOb~E?S)aJZAU-_IEw+t>M()@P!@nws(X){hn)^7r5_D#;1mR-`8}jmV`d!P#<&bx6IfeVJ!B-bR-Zql$9;nm^Ji#!(%cIjV?-4vc4|sey z=PScOt}je&_2>_dC!@4-nKuh&%L_bEit7twr9LP(xUd?^HC3g55bso29?k;pA2c0y zvt3>Qd3jzll$(rk-DDiI1bE{2uko&hCvR<(E4Ac!i53e3*Nv&G;as=I0%ghnqrfRI zKY4@g5~AM_c5pu31$leJL7IJ7ujt8Z;CDxRu)j25yl0X=2A&wqeH`y;@+aST1fFo$ z(vXkmV7z3V@F(7#@H}VULw?G6#Ps8jxL*)Bz_=?pg7JW(Ip3FvOr;+)Z({!mxB3(J zWu$uTp{IEh`%gIZJ@C+dAKZX4?ZiQj+Thdok``gnN%0 zobnI)e6)jG=Dg`HIuW>4rhjnDw6oOF#(Ok5I9|o~?)8^)K_A!eJinoQ%J@Nd^DXc= zyrZF~c)vOs;5*fU@Ndvl$lJSR2ao-x7Ds=&AN|2|YY*?69AiIsYWJ*z^{eB3Z0V)p z;7KfG{A1bh0m?Ns7y7fk?7zGMe&x$$TDjy;)_xUuWCeMYPc{Gc5BdGxI~qUZmf+bI zC|4a(1objh>{YKJTL0iIJweK}Vhvn#8+fA|{wQXBeJX$kcS z-F+E6i5@IBaG(8CD)K*+8~A|pvR`3;ux@-E^6tTmTZFvv33(z@xV{wnL~P$c-ZAC_ z=o1_J6YLhTeg`~M=wsmV)tiB<*0j@4^ zzz+ImjK>_?`CSsv>~uVOX=L{lkM3>i=`zs%kuUh2mvH`-;1RfG=tRgXn^|9%f$i%q zI~urg*9uLZxNBAMZYh3SQ?{4s3H`Zz?QP)FY1-4dn&U1~Qtq0PH+;|W;#^HT#|pph zPT`(8%fTPq!uasR;V%J~Zn3?BTj+0{Gpct=$xANAZ?=B)1M-Gdol|&l)Ed~?k#896 zJhWU6@^ocC6g>LRvH=f#D{z+Ey5%>(U9~G|{fg~1Gh7F_r78PWa0}-Jdv!4@2mcSW@*mgYYn3C5WWL_usrwl!Vb<4F+;g+xH2b`}_Ui#urn-s3R z%lIx-f_}ih>MH6RZp?XEl&hapQ%cF(tMEKX})8@by*;H4&ZJ- z^NohGj9V;I8HZV_-oQFW|AhHKS1aP`iHcY!3EXF)-o7`!0q*{mc2GyKU;0|Vso|_w ztf?kH{S^3xeB?UUGmhO($m^W_p?{>wYiJL(;Yr}3d53}fZ}L1w^cvp@2~MYfmipgC zJuO$ufInf1K;C2e3_QWrD_HK#ZorkcgCQUKXe0P7(>NX@{TI?+<2GnG{f0WDCE{1> z9-g<9pR%8Oe^VIOy0!V`Df@Y(y9(U%FkL?Say!J|#s-`({>#rl=J~exLgt0yXX-=G zK#jk_lc>KL^@#t@c;0rcIdI3!oxr6}h$q*T0Ke-j*MrW1nxFiu0&so9JE&j$NiW)= z5Z}LzW~ZNzb)~;`<$j&zzBLj2vNo>Wmze*xP2svv7V?I3$UpjKbO*oKzc93q0XJ{p zJf-WYjf)93=%Z#KPpm8L{O|4xaQmD6z!U4LwM+dI;89O&@$KIup?|37KT}ivKN91( zHlN|RHnh49JUGA%{p~}vxVpLyJhtCPg5P|GA8Iz^@^|g7V@6` zY~N^W&TGN)`Oq%$t=y-OHM_aSOL8OaAdF$9RKw zw%Ujr$E?P={p|lr-b=VAX|G59mHq5L$}6S76R5&| zYl+gHf$Q(GpR4Sj;qn|Wv70Q{kzjugm)GKokLrToQkZ#qr^SaCsD{$8>=IeB?v0lyv@1b0KH&HK^YccZs6vjXH!yd`yG{8kbWD=jc;XrtcgE>$D4D0kKSSYZCk$sxVIJUFU{sW9bU$FU;O#FUa(au zi}s5TyaRcq-BIv|H!zRpDaH4A#Qk5(_NLVDPz}h-byq^()rIwRp5Xqr?Prb`OM?B? zC2gOS@;3taRP*6?V>g~3469l{UwsAhhkJ7l=#>Z`0l#_cecwaK9%KZuDT~((6k00QCD9$Iux8($GEy;Zz*OyN4SPt>Kjm`|* z+&UZW?k@&?qUS=8mnIvbhoNpY@5uU|P9 zL*CnZ6`G4?8D!bOgVpPe;h>XR$v8e<%z+tv8up^=&x-`RHFQfXDYRu8aNY!h0je zDQ|kIJ5 zR<4Eqy6*Hd$!~mPhEH7(fg;V&%vp{rIzfUdPVz=QoGT_ zk8%F>-dO|r==wGq&T-)`I~e*aU%Ua__aWu&SMMON5+1{OE!2~^HPHg{@qHYxz7OfQ zrGkSYAOD)`Wg(v&aT2();%}DQf#WXj90DHWp4MsQnq#Ga`^PXIlg=_uR;pHlJyp+C z*vGe?al3BPA>jI23pAX5BldC?@B{|VPm{MCp8?#nlW};cXje3$;&*_`vJuX=055y{SMN8?QT zW$W4@8m`SdTUMa|#Wz0!Py98_AKv5qBz4#hT*=n~`X@RuPnSG+5S? z&F>@_-(en1zmDrPd&^Uh*RNyT?s#H=yxRL~#C@TcxbCoDBCfyM7P!*#82F=WXQKU_ z)jilZH0`7R2{h4zCpKm#aCaxh|IVzlAs_A67(C{|l-J*+eZ1|OXgK4maAC%C_JjN$ ziz3rLat+26?ims4qvg;2Cm81?D@@UF%Ez;CK8O#R3_SUqe!y{q`)BqqzJ{KP%y__M zYzsZ@Uwx+GY_H_BPvEZ%*BMt^Z_@s@QgwmH@Bfa!OMbxl+IzJcaDU&Pz=i)w?i>yO zW3)U5{@?d`jSJ|PD)O9zF-iY#?N%H-#cU}pMU(c>`;1S-dF!L9X>mws+$P|$+PQ)I zIx=sdH+KQyY*1&^bZHGSIGfQBXaPuZw+(LaK676+#WSO*h#{KzR z$Q!S%0FQk-<=w}*9&sM3u9eI7lAGRxye>QeJZb^rkz{V@nRsP0aPL5Ep8awN@X+|P zX}EhC{g1CQ-%U~ruwQvP<%7H$OvhtcIPXS|^FF;=K=XUUO^~;&;XQtVN9N4}o;=nH zB%a8WPEvURXS=*nvv&VHDf z&vP~AZ$y1*PvvFC;gR(R=;yR`fijW%8Ggq;4Q~TIjn~^^vbJe!_0q4g;exI_r3POBXikLjM-;^N30k8y%^tE?yu3xRUq%%@D2K{AqUqZ zYS$^`$?c<^7p&9x8CS&acLVPEIeXeTiq@%1`>(kQekm92;IZ@Ek6|6(tqkO6yr&EP z2zh16ZjGP*)^oBx@Id{LHtsq>ABU+LaPy%Mr@a&0r7K~LcaEFEYc^TWN6SMtpQk1FlucrZ{4q4(d0*LQm6uM*_{kFE2Lf9d?+e_AU=D^>+nQKK{t~$ zR>h8;nyDG1#6I>h%CTd|J}6=~c4{?7`SpEW=X@T&_xtNF4^Nltex3W=<8|NXoICNo z^f86YV1GqC-5J~x=YCD-$#Ur3M-*_Enfq48ZT+D)S7d+JUE@AiJnJBpvp)u!GS9Jn z(+AuZ*#Mtt7T!mBXG!pYmF+=pFobbBQ>mQehWMKMmX;dx)%e*Tt?T%_HgR=vvg-== zNhmLs*{ykKgU5$gz3ewJfi)&+Vo zLuznChQo;0yetgvJ5daIulV&2a4FUaJT&1bcyLh=<%`Aog4?I-+Y?HX|5Y~(U zcdF0D!oym?$KUiXJim_q)*SxsA=AM<4Qk=}b<|xP-1{B#0VTxe_-?~W@c;b|h;SZy z*O#}!?dtDGBtEMGE=U&e;HjbE!&%~?I7qa62GVO^yPXyIxd#X z-0=$ub2vSHc)pgc=W6KvyT9PN^}3t&aEs+y z^PWe0(^ud+%+!qS*&&VxcidxM?VQPVivMN_aNCu4Xji`dJK!%~djM`(C&NGd+cogW zcWuCpRmXtGPE27u`8T6q2whCz+V5+4D{h89Ug&Z%A9thgz*GJXh=2D=_{56OgI<>@ z1pjE8@1gfLzXl#(IvZTSwKepS)^+LsFQ1FKi*|-yJKr*JllM{Am;KSw^k3+`Y1R2| z)KcjEhIio3nf(6OID>I&de;>C1iIxy{RbmkppRVUcpEo21-D1c?R& z1RuSSKs<7pE4*I?=7TG3ZiAcWu^l@9S&8;(yUgnnKBvF6<6x}!ZE4sagE_e_4o__c z?!Cb0Z_&Z@cdT=Pd$#j=kgG4p2k*ka;cq^+3-Rk$v_?E(PbutINHq>3o)s*4-Bb+`yTJu4?f;@ZOC^|L%H(z_gSCAx!=2 ze|#MDwwAoEVDqNn@;5xEA^gK{@OM6Vi}x-9UvrCr84(ZTPSbQMK#-}Zd) z36^A@;wUf|+|cA}@WeHK?;bDAdD&KS8@TU41H==k%l7u)@2b+LDA&K1IXmGa{Ztj> zj44+bda=%Ja98F^;O<@QM;eb=9>B*vo96`uI`F!r&HayIOB zy8qr2m|hZGdk-ft$UQQNE5GsigV=iv%9Xp$f=}o;-%k^!-vHOI?EOoUK3a+6w)4s! z@Ystg;9}?>_{*sS;HGd6_yqstJR3J~ze3Kz`Z0dwewbE2ru227w+zb!pTH5`7vG(X z@VBMr^FCwn8T_rfKG3_rzXH8`>;v#{mTAyyE2bUnb*< z`g^Gc{ifkb*Q;0084kWx`{TO!uq5s&bR0gO;%xtkgX6$sO?f`6GMn|F7fh&U_eUr6 zTKvXMYjIz!(^`Y;M)E#}vR4E*`q{4?{YK!rjJsFE$5!M|=)-lFgS-D+jX340JkQCn z`xdzG!oP^ey`Jw8n1--@de2)Ke{GJRawd+$mJeR|+i$#rf3PLzWm88V;z{Z6Y2Olh z&x1SAi=D2ZT=Rt1y^`uDVy^{mQQrf1Z1DC>;^v8qz?JA^=p9?XfIj8#P3Tu{@1CR& z&FTuhbvyGe|1#!J{`Oq|nPYse=UT;nZXDVKdjA%__oA!D@8P58mVn3Cuzmu2V)%P( z-V^-kd(D1r^$f+|&9!-5{>=Oy%5$6NtXdv2-*&6N+iMXYLGRsMhkkih;<^&mS+01A zaoQ3rS8t6%CpBiit*Ga)1sbvcg!a|uzgPVeK9PGoe=YXmDY#OF{lfqCW&B+%!t+MKiZ%Ewi747qerJu{{!2L z@H_jj;d6dJ8Q6XX@oWCJZ5+QWFSqcz>a+fJnF9E`Lr~A3P`?8b2loOOnlm2%O76ob zSNJ_iv?0%Xh|S@6BDglvC)YUq>6|c@_kCmKtAZhRrnsJqMbiu;l6O}*?ju!y-U4? z-zm9j7s3D2mF0TS+U*r|K?C>IJnDBV-T=S9bLGklePqt>@G(T07aFGh!}x6-=>K3Z zbfLoB2i2+TxNyf}Y!9u^Kp#8B{K{pl0v^51^IE)Vxc_5}a9;G)Isv_CV!r2^JBU6n z_JK>Uo1$FDG`1&C51vyODE~L($-WVKNzeTip+{|S=g$h_^qh#`Purtm;BL7k^rp=F z!4uQ^gZr-X`MA*O7jWlQJ;qz9X!21=;&UKfm51(@d`b=WE*{4EpT+eo8 z+wBIoZs5G=h?IiA7N=4Do#{{@8@RHK&!LP{v%<&vT|L(4W#*-kdR&Jao!oacY~cM> z(%-}X_jeosy>a6Zlq()P03Y9>X{^s5TY(!7iQt~HJby*#!}b=f$Z^tNZ8-G7KYBnP zoBjcMB|qPzF=k*q&L7Ux|5yJ0yna3NBK;PQOX1C9;NwdK;S-w6{m<~h4tP$ae>wu( zy0kQWV$UzmPwGeV=yu@tN4)Ry*tyWV`*458=DY{J{GlOuqCg|)P0zRvaqg)FZZ_2c z50o)L?;4#Q+*}h(y{MQ51vV^pV%zUJF%)f-@==L<7Bik$6@mi9pPjDW;XnFagP7u zuz}$5p)$DUV?1>PT=Vf1IECwVykA0}`y6krD>$!9z3zewzurma6F%bv4=c<=qV0H& zj3dEwN_5RRJ{w+gU19v|N8B&%{5r=Awp(RsDA|3q?t72+Y1It`cZ?m3ay{StggCvM z3!>c6LH0+(b#)!g z=%u=Oz(w`k3`-M^d#0?Jz;(Bu!pHH;b?D={I)WSid=74zUy!^_2>YC&dEB@0l=_PP zX?eb%|IS6|<=q^&jUQ{k$J}KPxbMsW=uIzXg2(b-2e+0g0q$GI=gW?+^T4BbYl6GB z1)=w@I0zmbc@sQ%=S%Q-7Pe2}THz&0{Wj9H7P#Tiap)t}EkRg5Wy}{SH;_l2--lO#zfk-uaKS$i{+_8^Pr7>4hL81?I)2t=do!N7 z1g@PY5ZX8!KF^#;;(gx*|k1-R1o7E14R4Pj1$O_InmS&vfYj_q!FF*skO`>ywqMFINgajw}5AG`af) z#Oa%r2Hf3Z3-rNyg&hr->T_seo+J>KI}@(Iw#kIjQ#w#?^ye<99a z_JZfZ6Fm-ths?|eq$&S`>*wdjdkUVW6X2su%m9z2;(O_~jr30xDGeTPtcTv;fb}eR zKLd9+N(C<0R-dEkzXo@WS&nkeujy~fJ{dgp>Km4;{vMp9rh zJfNKeA1d${p08W4{Khy{ed54*aQSr>aJdijsL=j0@GV;$5 zq4)g4c`3Go_bZ@W19y%}&SUR}gC~YDKQ+zaeNlEDr2aAUO1aMnT$jFDMwA=q-VoR8 zN^tzK*PlV3DA)bU8upiP^)BGyAA-Q*d8KBp=+=%16P&^23 z{qs5EbhltL zzuThB`STlgK2pksT9o9JWD%K6A%oWF+<+Q>Z9`L;3Ql(O@jhM11~ zIo2mPP;TN-5BNI=us@0`Z-G0i^LG#2O*r1_UN3-;elvfkB0iPtJ7MYv=tEVupdBgd zcgm)g9G|VmIJh+V3a%?$^a1pCiN9Z=y+0#P;`n9VbrkVv=L}oba($so@X^Y3xyvJ- z$i|D{?lJ-R3u%^udu#Le(HsNrfxAL{pV-oBGW3x?Y(K%#JD?AKc^3SC`e_``;~Dw8 zX|D5U;Nw}$_Mm_IHR7};mVo;wa~!l^=Q$S9o|nNbKmUvC6+3r?zePRgEtHS>m7!Q; z_=MEwzhXPaW4T@q+}?|Mxbp_{2jxERyQ$c2_$Pvw;V-n|`(2KSjK}mX_Zj>r)%ppl zdFHh>xL#j;E8;PCXFoOcZVH}Q&3W6_jO!iGmethfyNy4^BI{AEPo9pyD{iing!gJ5 zc(X(@AOAr57)mgI5XQg9zlZW2gO6<|^Jin-N#Ig_u2Tf_V_cUfKgVb9U9PV~mzX~% z+8%-4`iA>jy8FCd*HMmd8W)S@gwD~8j{DemKZWNgd(8&c0-4f{DidJA&D$vwvly{@qjK9qkT zri?$)(}DQiU$GzA%P?(|Dirk05j3!@8W`X_}8QKN0S5 zpVs8y_nwg{Tqk*|s_Utb%i&|IT^jzbtG#%C=N$r%v`q`{o4|P|xanW;z~K96cN#Y@ zQNS$;J}(oUN8n?4!Tly@b?#HzH?uv*>trH ze@v+7PlktF2A7Ah{aZb}U((wx;3>;BeV-BBvbr3~H6CCd>#4)vRk2?D9NdtF=pP}>T&;A`@Q=_jdIvWu#{!qYACiE`sgYz^ll^Dp%P%Z@+AZH zDSY%F`Fr%*{1Q{&zjA#43O>quJ`c5AItzbiZN{VVcx%>=l>a`~;lh#JsJBqNq0k%J zjfGEaEazK8N9ND*8+!2IrDLdv*s&(iTZ=ltY2POrM&$;# zZ5oMkE%{qPFBO>xZa(si^JGWv(@N3F;NpW}yuTeRrkAIT}1u6)BJ;YA_Dh4q9t=+A1d;Q?{~Qh zvfi8y{!Xf8_;u*r4Owr#G5ozD=OngIQ-XP^ym%4(g+26fH{|vDca31VJ9>Y0?%VmBGVk?#J{tSK@?OrTx_c85XJBc5aBqV1 zrnmn*aPO*LxnJyH-sQi+aY<>%@Asv;*Ab^SUd3Fkp|@t^IAA%i=27=@gNKi@y=nU3 zU;koU3Xd|w$3Au~%JrpX{8~RvsQuJCb3c4ci%viA_{0vpt z0Dt5A7Vt4{Tnc}ifxjy%?m5cq8peD$I;=ZO0GQX0O8E z35^YW2p{)L=3V+467<1RT(9`gEk?P1%SmwGYa{fD?#!RVLV=KCX2hwrh$r?EfpUC;P;C8j%r1Pw|XtOEc z(Te-wV{mcYj$Y*X$ce2S2P|FL9xTzF(0el7fXMXtKb3&A>TQm&%cw?^D z6Dv5cDOdS?OP<1fPxl$;3+W-BJ4&PZ{LS%-?bCAiCE^r?0Vvnfh3g1;iivR+Vm(CD zT|>E^NeSqM=^3Gqk7D~V=PAv2=H3QROyTo2w{ZrZD~Hc;ee9gY>+&w;ITf+Am7%x2 z`3?TYbXMq1-8nwH_i+626i){pUC;I@J)Q}@zor9R|DJKW@AE#IvhjCSbYnPPxQ8p`#z;U z0}m>V!F5mHU_V8C(F5H3i2K9;oofKS0);Lgd{ zQEuca^KVPFyUDm=#U|)o1LlMK>Ys+*KbHGQ#;FZ4|M=8-#Jz&=|MS!>aF0O&N8@Z zZF}gWju+sr61%|VJMX}S%WQA4GV8#Ve#0@Y+n(HoKGBEo0~l+R0*{X1zM@XK3%&d3 zkKo~S95?JU+Jc*390V7#uYr$$u3A6WIR6{|VY^b^AA(-^BQNxx2^?=d|CR+eb>R19 zj@jH#(4Wpmeds6XBkwuh2D@=zHxOVx;wrlj<=Pwgp%?RHz&Ip5VY{^+3w&3-|aT$3sR2f&Au^!g8 zgWg=1{W@`l<7~vj_X>l{IWKz-ErLE)dl~e;l1JeaEzWg|_}m7r+i?~=v76(9AuYel zRH`x0Ok^#>`1fUjKHhQ(eO&wwBzmI|xL_Iq?oZA9&t0iHxE5#3v^ksJeU8ue z7Tv&&jbDT73Z8)Kdw`)90IORd}B4)c2O$oP8r)BlL;P;(}h>%V>yKH9nWu4(0= z)0doqKeheCkdP0550oZ1&)5L}K#cQ{>sSr`zj@3jeJiHn@Ah(>_l0Ae2NS8(b8>#= z{nYkjBQwtP`a4y_|I_w4`Fd-M-%g%gkIXE_PcqTp*N-Aj^!=EUCo%+S!(Tof3(R*@JLQ4NdvxULZQi_8T$KHHlc;gbk(oc6Wh{OdN|#CKti3(Ut1LpVOWgBze1GF^nf z(Z=(YJVC zHa>ulvY+!q{3Y{kU5}a22XY;NUVn)BswMq##xqAr&j0(NfTVsTe$V_lREX<^kmCcm zV@OTt1KkgyT;=!K;Qk5h@A72M%kf*~sDB)V-g$xbX8YF&?kVsMxOjCJeBx#DO-(A- z^k_M_r7o{aEHw|;W$C>XT)&O$g7CgS!R2CV9+db8KKAF|!QUQa9^`w%am;Z{hTgiG z>l9yRw$HHW0oTVnz~3ly|3P=441A3F*iK?~|AN2nGQV?h59K+LoHYd@Bse0In}`BoSPAk z=5JB{02i0={syNofAA^K!L{G-h-%-1T`dBxy`SlN#C$I{`~>^)8x^c;c1$oY1zH?cbGy_sR9RIp&#IvjfmuF8>L=J{!LS2yOL(Yrm6j)zydI zmQd%rR!^y~d>q`}oc`MP9q!Eh{=mJH>l)M2v(QT)euCaOhe?{$lRT zdDApIhW9kY5!?^-H0nd2vOJeW-ZBE$q5aO0p>PTK_?JBcH?HS+>ldEEM_LpC7sj`O zkN&}K=zZ@Bvp%x3p5yahf?JgH;9{wkEI0ZYxcJo@aMzTM;HI``z~w4@A4EPl3Ose< zN36d>&AD$G**^rl{;#RP1v|$p+1dfz8fp(8T?0P%aXoDcZn$*nliad)4&pEmYk+mF zp=N97P3eX+?l+Z_aZ7;Db?je^1eZoSpm%(;m--KU4?nTHC%AD+XK-QLRkUaGXSKk! z_o9R4OT#BznDwJKo`PQb+XZes%YA9@1QFaD+xkf#*XnoRnopqQE$9>7`F^!$eixMM z?Ee}(`kL?g2c~g-VQiBM?;D#xOoxx$U^MixgS=0{9B0A(%_MN;bB=?d`VzRW*GzEx zR_;>-yWRwk+~Gc$ysah54ZV2)9$VTQ`hac`xcfTm-#DM+w)r0mxcAr%=(X<)gbKO9 z<2j0>eq8sq(Wib1aMQa^;E^s|C+aio0T2Do_y6@RnGXmHT7$dxEQ5bYoliaI7J`fC zSP!PpxUNY|xdI*-#QSJp$9*Ap#Y^B(V{MdczsLE=B~1pme;fp^m8(0=@y(Zs_364F zLHtoQU$J-P{YvEFcpenl4;@|JBTjiV$4TuyO#8Dh;cuLJ89v%LEO#pcu8qT*Ppo}D za8dP%sOLEN4=%!feEbRPU+%>3{tT{q+`lh08UFHTk8xeG>4&+0KbY;)UcC{xC0%du z(CxO+o11W5&=vz&w>_Jn|Xy zSnKaqpf`=C-ux5iFKgD);K9m2L9bnJ;^iywfQRR{21hY|cQ?)-(OV^;_gv(B?ON9c zdgH-@;MUsAt8EAO;C*B7-i`QoU(Ok*2l32j&`EE;29JNu@yc>nf!=tsA-Ho8r!JR!fFiq+C%v#flJ3Y{)nNC@DIJZP5lAt z%_FyhJNlF)Ki>}ihKilRO`X;Es?>9CT|X8Dw`b!z+R~l#V>Hzt;E_HYKO&7dzx%y+ z!R6MK=wG-W{A11~;Lfu@f;;naT@xM2_t*6?Ke+Ds1n8Y|G3Z4d*JY*yoHz9|x`69i z%!OXRk@KcA?NV@C1FkzfSAKzyzD@^l!;u*D-ou^gzmMnR$C@*K=T62i)|rX?By#r` z=;iI~caC=Nz+>t@XhQuRH@|x?xN(*Qz54;%x#7h;aC5cv;8J$B+sai6BVV%EQ-cS7 z;=JQM(;s^2D(7uM?vFSv+wX&0$KOSssp&5)XbK-|bImn$Pl_$D4x3HmdC{$9VW# z^EXb$bxXL9U|s$YfFQmVua>rj>4@*CkhL2@8$HVwqt`9?bm%zulpjWau zz1bCx!)lzKa_qO(&$fVz4)!B$zK+c2{OH)sJY0J99P!5RC_7rK|2Hg38`%9ix zoZoHL`Q4Cn1k2S8*n)V(UzXxIMd%*$mRN*7dfRmH@D#2GeNtcO!vo$Uo?4`&RP(bJwXt^wG`*{h<@$l&2)Xqw0D4-aU*z(nyczJN~U42MhyVK(9}? z1A4=xPKe)nT!i7Qy;O>UIu# zY3Ks@xFdYuG?eL2`V?Y4h@YK+kE^Z>ZX3sSpDi!jp(EG^{+`<1;bWUN1o}w13(yA*YPsIGXQ20FX$mejV?4f&{60j#+6L}_%l>O$8i;zqfShm)a?rj?NAYu`;9bF<#UL-%rBu!HkO;0Eg_m}M=v zVGHwKM|x;w6*6#`m5Y?d=2!0lC!~0lYc_F;b8~B!^;MMJBzkpJll9~gY8R> z!&!1 zrG95EWY`5C*AmVbx{Cb%Iy%Y;uEi65Y(TkMJW6WL>)wGK!1X2OK_9mKi+J=~U5vBn zSo(Lq0WQwr_xrx1ZNVc)pJM+r^8I4`yK^J+f%wt8;Gqk1z&(A(K`%{P0v=V@6Xsty zPleai0@pkF9=&$%y3}PW_KjUP)%m10+q3U4?%!I^aQq7>EZ04YzXRy}c0S7Wu3pFM zDsvM)?zNl`Bc0cPyHCyr_ZfbJJ~CzzxLnMDbHgl$cYvGUay_N{HY2!g*Mwv|*7qN9 z;~egz1UqrR*RZfNebn~osmS)=-1;53y)5s8Rmb^V-)jN5VK3JKf$LonPjIsi=aq%` zk;@r}feU{L;MRh?-hhtzp=)`2_&Bbz|0TXx$Blr@=M?$xApXQ1-goDe&EV!d3Gjf9 z@!Otcf{$2)^Q|z2d7!&i36v`?;rQph%zV;tsyev4IL9IPS+*0)71oa>MLj6NT`13T zxhwLcU?=VmI6HHm3Ur$eE~dGS>oq=S9%*^M9C?=cA;&RU-3Je+n+d%&u@-uLR$gah zc3bdByDQ*vJ@Y7MOXhuI+a2Ia2R`q1HG2mCP!aa`@Ve57Gx+`}xYN&es2fWj%Tt$e zcDM^4Qwxq)QoaGuho?os{hQQ$;9&>wp!z$-foAM?!3|m9Bh@_(y|y3XtD6bjRqrx* zJopdm&3_F(zGi$5=$}{>Jh62hxct{)#?y`YiBx}R@_3$bo{9}*p6h-46#77Z_IG9M zROprF%fVyjk$jG}PJK^gj|1H3`2y`H-jL(5?IiPFOmg3{R6n?U$&P-ko{EnH5IN) z^z4M**m*vD!lS;2KC+a0{{z;)*mEt;m-GBQfc~3XLho%e9bC+912@TLOoTpN!Z9x6_@1Zxe!}{!Fd7Y7t;M(`a&Z#%Sy~TNcfUs~Z>e()mhX%8MQw+TMRt(-UQrC!26mX1E5K8>L_ zKWz*ien_9tbGFa;-?PZqWq^1p}yJ%=uK(a?;<6B zKs?^#%UrV!leFX8OHu?@5pv;a`3!9{l-?%2QIVTT>>KIhA5{|Ebduww>nZmQ zTwgq9xs93sYUK(?(qTWxi$xP8we#<_y|o2}h+ z@L(T~quw&Ce|v|fs89E|eW?G6^IhoAVbDj8vfl?Xu${-0Hqa}1nJjBw{_zDC9kLi9xPdl<-XYpeQ%ykpAH6I>pu zK<`e)@jP*ID!4NX>(f_#9(;U`%;1W^{_X$3e85-#Z|uwH<}ZLx9$L*Xmt;`b z-=P;iJcHgYuLAe%b0*Upc5**Kctn4>2)`SRdN@8ur~BcfagX|4sy=rGaNW1eA7TOC zUnN~u_*+Zxxt!yxJ1Ey!rrjrbtnCEFuM46@KD3|xGw2;HIG^x1osQv4~ah%;p0(%r^&J) z3w^%0gmEP?kMpl3-y5tG6Myi%qeKA-KAwAz;2%7~b{af+6I`4jgF8#jfxpI;3A|tN zuifCT)dQiA_l&?_>B@D1rxoizJhmu&4B6Qq<;B;bm(KBb^pq<+H#Fip3m#0<0eX`$ zIaj8RhrjVD*I(Luq}GoY!96c~Bc4PL#;+T68a%eEEV#8i_h)>+e1yNgu#xfK;QS^3 zerjma{9??@`yS89aYpc zIj%~X4?%CO*^s;|#~Dw?oZuey90TPF`<aCfCeh$nXABe-LH7(DU)5b(t3oWE>x96YqY9M(yf;S|016=Xy<`P-z{c5+4vrpy*c-DgiRG#Z}}L1ya30^__+}D=7wC?o3AsEiVqi{ z7reZ`QQ;Ee3CGHF9asNPUT=tc?}6-y$1<1uZ}CFxcYg0k=z}TZi4MC5ZlAdgKB4Q( zd(HYX@QGArKeZg^yyO3C=-{OLZhysjU+TpB;xCIIi_y>k_ z9JYrGf}3@$=jZ{}v;A@g)I+S!0O;K%=HPk_X|j;pxURST&2@U%wlvv&Ol0PGZY+Ns zJX+*Fe9WmCXX2mxgOcJ*-0MbullR>=w>h{nhV>c0G6Lm_Gxx*C_>l1%@-Y5L=svh@ z_+egG0nR(dT=&5B2bs@U|2P64f6+0xUPY-1z5N@m3k*XVqTWL4c_5ZeY$wvYV(>}H zBcG3fUd+Wj!Ki*utvloZml`yHzo{YHr+7pFH)mtJ(pO*}7)kX6+>(O3wucd?(2n^- zNL`;A2Dbo@?`D5b%wm7{ER7*f*J9=mo>I&o^kdWEez`g_|1q9mzYe!y{|Xjh{@`xG zeGLDkk?;xT;eLqC$UGtXyLn*J{Zis=Z=t@tkEXOTxLN(Z3|}esqu7?b;PMvUui!}D zFI~?I1Co5AYJ0P*?M=#Z0M`}%obAfmjO$-{>>zOG1CAS!=A3_}#;M^G9?NzTyvKH8 zE;JW<&yQ>mrm<`f!o@?3Gv|-EFR^cV-$S>X(!b_x-Y-=jSQtY)jO69`5d5CkCFJ-Q zJ_hwXx`=unU8L`?(5K|qzZj3On&X>thwWTQy#VEE+~;P0ahysApKyA%6K4&!lem5% zxce*eu*!8Ss-PYmBe;(9ZyJVn9zPU?-g}($re{Acc?B8$h{+acrNy3T&U@ z(Wm+)wFhG=jt{=~Y**5`pZh0qo!YLpML9h9r@&-?DJ&in43Jq-S#u~pE1r25Q5{2#Bu zM}Lp))9GdVw2j>gpKx}zH{T+*H$zi9>p`dppU}BKaDT1q@nX;c;SBV~&NskAwi@7;)|c6CZ4Xgy zcsK8Fq(9#?3D>L)?kdjlN;=N|67KLl%GGt|b0@>?^YDpJS%m#n`<*H9*Sc>=;n+AEYBn8o(ySH~H#LN?q-xjyH? z*pvRyORtWweunZshW?xjZa#hx{=P}-KIMuH;K3|xw{kjl|5g3&SUl)OxrVgcQE%?l zocHDKb>S~>XFSn-Z2w-@A^1mEFNfYgg5zq!*%#dSeIM{(wlyf%(v#~GPh=1FX+rmy zce%2t>#<`6xldD!?ZMT7-+>y2d<7nO%5}Z>Z4`gERha}IN2`7Cj~0|rUbx|1`m5i8 z3LOfA+ihn2KUa=Fp^r@K0B*LHPR2v4STFwBUEmYhatC^)TqfupPx;=0X$I-Ctoo=t(fc*)Q;o;*i1V+;_4OEM zWCX`UsnccX#dX)`CDp&TF6$@W-ylCeZ(n_vF4$%4LrGCdU|X&sg>^i{%A; zj8ChB2cGe|l=GaQgq|0`#UI(%SjeDqn`!bG$(VAzW zcaJ*jod2YW%fJmA*dFZB7SIdchVaop=X~Lu!}YnfI`!7UB7B64?C(aoDD+MX>&IS% z^Ivp&d2r9(w$Mkrah!KG<~dI$Zy#`H<9#SMn*Au^arNSLnfCKN5Q9z!AAf1?^Mt=Y z1HI#UjX6p6>G_=doOU2UamCvSyb%(53gV$(I? z?n2AKg^zshW~((0+%RMpxHmWV(+pjy7e@^P*Ww93Xbru-?dn-c@#|Z$-I_Ks?{w`- zk9eHwd#A3C%>U%{U7)wE=!JOns|LeIUepF$Y$t#ls@NIl{l?(#6>f0PO^%1*i)G=j zeIMkM?m-{O%y_(YIFI|HyTQHXGDEL_*c?95iHE@>F z?Y$#8%Q{ZnkNEo6B<`N|2<2FdG7of& zZUcSj=5g?VgY!tBQzvlmh~JWN-2of8zdYwR-A3+@`LfCI*Nyyz*HL*X$_-a)LZ5~l zR}6L8-<4wOxzg8JuB8pjjox_-pI{BXzZb8`erHPG9X{3~&Eaobxf%Y}#8BwPjuXHQ z`I#5Vc{hPeEy*LL$s=jY!N-14eV%`aMJ5Rau7`;k2S*Vd=SIsR|WoErLYfi3W{A7j6EoSh1;)T#?^Q-Al+`10nAq4<0DU=X%bxY|qO2nJCw=pY`dh!TRwxd5iD&gQEnL zYu?0t6(wUo=uZKDc_@9%P+gY9q+0#{^O&-rBv)kmVZisJCAYvG5pK?T*)JV+d@A>pUBGR zO`Zl^w+jcnXfLM0Twm+H8vvc>j|THPAlkZ(WqFE6J7H+E_U z9$LN^JRtrCuDswp>rvm+ax|vDt?&To!++0!Ud(t0?Nsv#cl?z;J~kqmFZl}#*Ha*u)DcKimo?TV`r5s~T^l*B zMhEb|+w1XrIOFr9(1&~Rd?K;!3h2$RnO})Lc;AHs#W3IL8?gOY@-2kFqZ{Y3;57Er z*dVSet+__RC(w`2i=BI!Uj>z&;KpSfXOtg8@X@W_3+~v!diG~!KQt96gL0Mn94CV< z?m%z3Sr6P@ne8@FkmHot{tSE!AFuPezFrS~d{rapo$a22>-KQ`Rm6wTM`|4cw-04K z8^yoDgZ0_p!>511x;U1lFnoj-j7MIoo<~r=6u3Bx^1(}`JJn&yxt%Tul!;xm}{28=c7UoZf@ z+>GP1G${@r`3vq(x+-!%)AQgE*X`#x?>J6!-gIy82%k`X?iZQjtcUQcK`eJr5BLi{ z=4r9RbKv8#&SIR^*k9xv{C>%?(*_=IMSt(aZ?LYgP38RP>&pJ?u=BkUUAHdK2hVf- z@n2asH)*~L*5-97>A4PdkK6+8tal80jmz%Z@E5yI2iMN=j!gZL<@R%fJI1s9*qiZv zo4~yW;M%#|^4{;D_w>C$uKpfMq-;)b;rdx{VH*2s;=mrnW8L{T{ZnzDA$W-AjoY$t zTr}rV_c0#VgpaNr=j%{e?lX823Vie%crHco1@lZ}@eknIe65{#9U1j6xUM?)Ey4rU z`SGU^xNidM!FX#Y+Eqxm9$c8fanxereoN5%hI-pF#Bc621$xJaRp5rSo58(PJA=E9 z@LWY#j+)^1+MK7XYxz5H_L^)z&XO&lkL~&l*BdI{A9`^p=SOp_CH$kMxo(T(>ju64 z>))}yQU?FZc#8G_PvkrWE*6^u?hbQ&P)57qqgTIow$I|Yib7L*8o8pI7f;%>LMm*k2+;_D$&Ccrz z>%d(F*TP5lG=+c5KHw22f2YlVB|G%ds_dth(?7z;Rb735pfB4)cvCuXvF>x|t#=o| z$A7XIxOJfdZa?k^cW-C_Ztt@a+*5QCxT|&YbEku4*e??G$o&=AZnb(2wUu$b#*NqD z6Zg>H)3z7QEz;E8gYub zSkEcr^xka-fB7iqAIEEs&tCrp@bK!V@Q=xy*Yp>Mg9lHw1Xot@xqdV@St?IyUilk-~Qr)}6rh#ojZy}*1v z-kdy^U_K?QJksQ6=!5F-hX)_CpN39S?<>Up17Gz$h|{)Z9rVHr=BK7-tHDhLnk4hl z&dJn=ec*-}%sb+(??CTPOCPBu*Fo0CTwmA^&Vk-LkL#((juot*j6J}kZwh=Pm0(|fGcI0ABIL#FAJQP$o6a>)yBQ=fx7<}eQt8}d92d&7?KaSr1?o4wx? z=PzwPeJd`8AIL?I~IdJ)|lt2X!D?=u3O`Io5x=Kq zTX4tF#qjsu;<_*HU5fn^-}?&SLFF&_%cJ~rdL%ySIY$6{aJ@ZlNPHPTq< zEwu}Sdmhe!pH9c|B;@>kep24zD_IZRA<^H}n!n2%{K)SS9IB64Pln!@Cavnzll9Z* z4*bRX{9QrK$NX{zxIE-nH6FGfb32wBG1gGaCHIfY4Sz#ik9^f3k?WuRjCnaexF)zx z$Lk8q>o86#kGW5#(=mQW@jswe>szp!W^e573KlW~7pe)k?3 zS2~$b-~i{T=+VAvJoE`ZUIL%c_Esuq{GJUg*VkgQ>cjix%a#%GSikv3)$_i@>ed*L zbYEOQGT&1MF#k+cFVQcFn|^el9IYOL<68Dl;<}Ff{aKAi+uNY`EL8V_b&N;+@!LVr zx8ivknqEG6Vqg;YH(adxGal!ZPT=N!oUe4MkLg$zcamPZvkBv|=3~%J7@WkNxhkq$ zy^nJAB*iSITxgY45 zaSlGwnbV+`?lKQg9QhJ@<$D2o+mlOZx2B9dzu4THzlZ24&vC$LI02u~9VhhiS&p~% zUTNSXJq^J>_KfwT|FJc=@VXtiWx!VWOQV<%g#DGV{&0+99&0b174>ULMXuAa{lsf9 zpYa_^tLn$YN6gOoJ-W48G9R7g66)76u?e2rIz~}%b)LicY0OkHncn>qe;-F_om-F|X;C$v-{2F!vKKtOJBO-gJh3J8^{&Z;aWS}xd677^Cv={z zeC}y3%J*%8-*yL&w=D_1xo9u=d%Jf751G@eKAi8Imw4W#J;-&T#lZV$%Q*^qSM(0s zyI}%+?3MuHRD=`Y!BykH!(J`QF|ir+rbp>9PA7h5zfS0% z!$0)fwq*6`Tf_CIlw~#grCG1m=XZzk{k8uw*GHkX%x9E_neg6wN^Y-zdSp_+@a*zq zUI;uGjry^*pNj8!tvh~K`4;k1ZOQWw$9x)ia1Y#iW5TE;A8XFODsM!6v+g63xaHQ( zWIR&+2EM=c&HoEr%PTBrPD39$UscsJo;|&DLN7Jv_lAK7jK|a@FZaRz7?&lf9HB{7 zlqKi22d)L2#KKfF951`Ad%+RN`fr~PK$I7;RPA>4no4`#o z594~hDfFR515uwTd9dP|AxZx~CD)gDH}q57TD#StPjR`i9`kidAKgg{=FOBmy7ipr zQ$DuU`G?12yzhkjo013H z&BVDVDeJ+uehTU>r9SrG3-OpvzbSp9Yg!<`O6ikm$#q0Zz5Cd6_~U=r!&rW5N8W>pU-0 zQn@AB%5C}?w^?jZ*_sAvDi_sO`XcU|w5Y~21IKk^U84b4a6 zhVL$+U#H|jn`DpFd-*h+nwZ=6c@5ASxC0DPjc&A{=S~(ulcwN9sH!;UAbK{uIU};XMd9W8~lNBDW$(SxpA`b zP4jUzN_>(#?w3e5?rC~uRtb(9J9=TfGO7E1vDsf?U9F98n%*Aj1+I-(&Z`_Z^e?zS zt8uIPJ*+TChxQ!&e}uhvn3Kg9HXIQ!6d@o;kQQl1r9_GZL^*1BoH=u* zK2ts_uh=#G6zy}xE)N-@{2rJzrKIxHv}Pdsg{wvDk(uz&0E$*C6PdS}cvSMoT2cIT?2+|JHM@lPnQ;4RDdi`##zCKuaU*bby^Kd6A$}UR{!~tp z_jT$AdDFB8z}51ae}-i%a%%a=jawPz4er*M&qn5?&|Yah`A?!r$BcP$dc*FF@~$@w zz}5OBXWDQdockBsEwyN8MtM)3VUSnz#G0SWh`T;pig}7!K6)pgl!tRWn%-HS5f5#w zA?4>RAAGGR@@=*L#z)^}lsEj47vH1tI2)lK+4oTV4-K6pvwlouus(<!VwKN7)9~f-s=tE zYzMBF>8%qP<^6MKW|X&Gt1jhr96ysy>0FbVKWZ5R`AGJKvWg!%7mz+0EA3kaM#*}* z8`Axp|A*%mt)Hs#M7igXM-_1Hw7;U3H*Nk1@&=VYrj@mjk2yAc{=C9t+1nTT#Pd#&@-((* zd2Lxb6htiRPb4@}bUu1J@O)hf5Aw0$KZD;o_nFre9^Ygt*FA&IjTwYK=FcOLcebK)Eru+b7aQz!&cQM39C%n> zx6()Ym}T5DDFi&UhR)xxye}sJ++A_2#AB>Xxa%i6*Jx?g8~rPOfc6n=o@$V1JW=#8 zcpSxVqg@zxe=qL+X=U8gj^sn1jhEU{JBG$hZ=bIu9{+LTac;Z@f75((8h+*6NBc?v zpBD0r`;XH4w(WFGlGnbw4|-}&(7n*amb~E6?d$CCQhgcxEs`QU=6{LsJyl=_ zS64d!qfOsH|MIAC>-|EKe4sb&@1&2*xb9D~L;ArYsh_eP{MCPw_*p)-vlVc495B`V z;zPxsG|!j7xMpih ztnxFkgZQaVoM+51jWwTvqZ2uh&WA zW6io1Q2t%wiC+@ygaY^fP5XeUAvEqM>d}6R@wnLEJk}WFz8cr*Xul`%k`4TZn#6A( zPVY0Saet>H$Xgh5Cd`BXc+XNlvaF$elJWRSvRk}jC*+5WdxX5Pq*cmG zIj?qalJj21^)?O3e?1H3I&ObLb{j+av*o2$z+GRHf5sNoM*hsW;ULACVC}icw;6W| zd3)FW60R5Wh6;4Ahvjtw_uM~2^N~`K5{h4WKNj(D-f0QfRv;)3;6n3+ar==x znD=SAlRa(1KB4xzFi#A18~ln=U+ZfJ$^H#W(EPC*>F+p3{*Z1=`?={IGfa?wkH$5_ zj&hj)TIP|w=3DX;Z!h{@FykH(w}UhLWGnyA`Gch^jU%=yN#HE+7V_S{e@S@UL~$T# zeHM5mm5un5*g@@OY||I>cgCGxkpE~WjPO`AkIP+K2Jy#Ujrx&m&2R}1uNM6`uy-ot z#kz#8=0?~jmApS$!3}*IR8@YOFN%KMe9I)|cdnON)GPKay(7)>FzldsXqry%r)i!q z34QdXiO1u)I$q&nJmDpMk{h&G7c$%SewZh231k z{~ame;=E9-^*tFE^6nQlx)k|DG2-#%keAVbe_aH<3lOG((b480P)jr08i=1W88F1p!JH_aM~Z?yw~%; zk*IGnz8iUt8V@+%0nYihZ6D?TkrU5n#Dk;1L|(*syK6j^8#y;MBOZUtni2OdIg30e z@lTJ^iXD8bsNCSgbs2HX%;$kSexvmn-4|m}FLQr7-^lY9M}L|xSUmlgE4-ZNu%5h* zt;XH%SCO9tUVRgB(j?}IURxY_NMs?kd#u?2l$&Zs?@h40Md+j5R#f6)+`lW3kw-U^ z*6o=;(Q-KW9b0-){v+mntUs^+^L&tT@1zvvMJjnq;RV2XUg=&&?PVL&H6tDdFxV%;oW zkL2wQw@}_9*6W=2M1TMNDDsm)O8vrjC+^R`7R#c-4DpmEu(g0yypEf%O=vtv#8{7g+EXt z2|v-zCR`tXZMA|sI=o$2`RVL-8Gar)P5A#^pLqwkquFg*uUPXC?RRzo_Mz0e;GIa)n4kq zhUbYtSWb=u!84PI$8buTF9d&}d8p&(eG*S<*L=u3+Q@N+d7`m-+3=r>`LN&N{c{WC zbt8rmF7_n@9Z3I3^%tdiljTeh@`hh4O1N&yGT@%os<^jm3UGZNpCr#bsRuXZI4R^c z`F;cL5c9j_IVxAzQWc+tonzxv@tp0y=B^aa?ZQ5$3aW8oDD_9JWsEcr^_(I*yHC(N z1 z3_O1H-5jOZ$3RwTAy(Xe{gu{ zoG0f?_OTRK6JJ!8@+~Jietw1LC7b@Q@Jrwu6^`*DL*s{JyUg>XDrw9OMT$Ho)#B= zm2M~R3p0;q#E6XYnz}QIU*xO)n$*6|`tts-VHw@0h#ix0miIQ)OY4okhTGr|p=)D+ z8{VM2&MM+SdU96@XTJ^1+76u8MGaQsv8`Jm$s2?}JFC#Se3rMGN#6fEy(`7*w625H z?@SZi$lDor3fyj_cPJd)XuX%^Q{T~d%++|TlRUqOS0Vold@k?*Mx*3!`s?yMh2@P8 zw=P!ti$kn$r$v6EpDgdg>UYw39d0{-=2;VGV|;X+-2gkMK9%w4DDpR7Y8B)Sb_@JG zVy1XvGpqJzg`R;C^8T#NM0tfbUzR*i6!o>AY$4%%&)U#sHgI0&_nEdsPx~{fd25o! z)5q`C$@AR&6bG!;Rr{^O$=4&qW z|6X24veu$@F`tt6AFE)nPdru&SH8-JyK7x|jrP2>GgduJNg z4C1?Yj9aeLcx@Uoj`+p?Z2G^YsF(F%Im}b|oCBY$^wzYxl=?8v=L{1kjt$9;v%IzR z^`Q#x`)XJvPC^vZa53<9ILRFOVlluvGPyHUaW&rK8Gp?<+OtM>I_5$!& z-=K4t+%CMo@2a#P?W?w%qkc~bXFb*D3fRuh!n9xif9HwxenqrIlJtCX9)Rv$Mjp_6 zG~Dj?vtL6`O$&LyJGSym;Er|j{&*xt{=?@Y)cW)KD&wrbxxc)A%l*r^Qa=9>J3@YI z&Hpd@DX;hP`HI+$d1RkKCd?PCpUi=trU9Z|M18&W?*R`srt|rHuE1E1aJ~569OHqK zH%NZ50e0i_`FyS>5TJLB)%A+pDot@o++*T)iB>%!#hKt)io-EO9QyP50SBKqC{FJ| z^LjO(^Ksvh;}6HHSbO>WfJU4*a6iZbKgStEnCAP*5tRuS=L$HEMGDjX2;P6;^Hlmz z<#P*c2mfsO91HK`N5;$N6ZjlL@Qay<=WI8&kN(Ivzt(qmpNru05|*9x4wbsT-acIYRmTFa~(SW8zV$&E9}7SlH7R|`dGh}+tD?a#zFscvYxEJ_D#``ROe5OW#w_7 z_f6v6Xna@eZ`RQHdB$0P$NV424uYTUnf#N^cX9sUOOpPn(y~6L(ZbF(>q_m;c1yOQ z^Y%f<`Zq8x?4fai#}UiK`k0^bIKsHIX0aSaUX6P%Br#7_$Gvd(^)i7^X%WJRS z!T4qRSH!o1HL!k|Xzj=RTP<%~a~yiA~?{^ht!d4hKKGw5HIg(J|9 zT=^*v=W=})eno#_dBy{Ktr>CCn$xt-B=}iA-Z}?yfO%pk=^Uo#i)RoA%nsUTXL*gL zFL0J;ocjygf$_+UpR|Efvu(Sl(2kEbN~u{-fk?TrXGIqR97Ip7HRq$iPhef!L}+3a++K!u*ai zH*P3G?}b`x*2_|GS6wI>&5;bC}0IoFuN-B)OXm0exdV_o-Cg*zasS)##61 z&JG!Ijz4O7tMgUFB{lA7x-47qPc^Q)-V*yxYCI4-gYi*~uix@kMqGd9<0%TidfeoA zsOAZ6`QPMB`b0;R$cS_NWFGcsj+1JC=D5o8>?a&Q*-zq|PGjC0yr4n+44SS>e#`P| z9*(zaoa3z;kM+Edyh4rZ4{fG>V-X)%Pn)yeh}`x`eMj$6Cc0f5qTr!lJ*4Mv18E!= z=cZEgXx_&>`a`{kW#Z9ad1Rl%9Zts39Cy_lcJ zca~>6cxzp2ukb`(BRew>kMAt+%Aq{Lc6kfNaqaw;(1&qHnFntvJcb`F5}tfGx|M>b zexdQ&VW7NG+o1jH3Z7iWi5wx#sdy}dP&hIkuy>iP=I`?bPd<^+;EgJ6v4~{od zLCU2wU+ zN3^c%J9HlL&Gl(d6L@ldC7xxZzrjQL^E*+xE~Jm~t`7P*yIq7l>u<~ZBJ3GFJPk}K7pI3j|PAI>Q&g;JG&q9 z>cnU5fHP0*hwl;RnLjX;;%d6%&lnec56KRUJI(!pYyb6vhjE?2jibf^=YDDyc|P}F zmbZ;)j`^>eC+#AfdE(PwhCe$ykH@^j^bN&f#y#~50*}_F^M2lZByZYB^B4bcT8Cu$ z$Vhs3D!7Nn3&)(|;7_=_V7`;u=z{*tqkpgl^CRYA-1|GNKj?QyftxOpo@@u3 z$RF4a2BVl4yg~0>Ie+^=Dp#j3HVOSg@B|-HyI2bxL>`h_Msbqyl$LOvj{J?=H{E0% z@*-|u#>3Y{ekH~o#+^NjBkxknCnikGh+DTb$X4`Z`G6Rg^&;Q%3x30Knr8)yw?p1& zs7B|R8IN8426*fW#ZR_dqV@V&3P0yXo~@P9UZG_zfF~!De_BMj-VtWx!(1-o$qO3b zI*}(l!RJx_td{pa8V-4r=tn$H*G67OejYZHpD-T#h1TU95t_gAJi_wlLChD7y+nJ7 z`Gxr}!Y!vrf3N6wvH2fhzM~QSE4}h1)HjlEXpUkBOL!3ZiI5L$c?fy#N6cduIQJvw z(a&EG9?#Ah;4waU5&Y?4G>M>hvPudb$=L~cF1PH^qL>%!W*r9ZYfAo;8nMQu z$a^l6yl1Nc`a2u^j5rqGO7|97-Y?`ecG5qZm-4sZ{Lc`7j9Z9@^LAZ*T7UBzcB5SG zU;2sJQ&eLdgDJj?Yf>B+chWf|asH>kes z=k`y30q)yC`}mAIz9rn=ko<>v{KJUfKahC5|NMvc^0$8r{l(Jpd(Kk+`r)mW!JkT@+^VIxp^XyG zb`FVkd-hw78=7*5V1H|oh2UY_#Q5BGz?nyPjoQm6`U}fPA9VqbP4KY1djhTV#J~6y zJnUEgw?2SBL_5p@&VJ&r_zdvi89J}U>nE1hw0>g9zmoJZ(RXRRx8Fm2c5A2|S>7<| z4)Ema?U3iVt!dYr@RM||fX4-oSXZ%^{{ZrgC&c)|IQPeBxyk5X_R^$3lGhK;4>Bd{35A!4|(|GDANBXn8cUKMY zxLzdrfEXVWvuJ(TDeA>|NQ~E9FK#bquly)CCfbYhgp_$?wxW+i@G$N!`?Q2JkNr7% zcUH~A>pW^6zgXvCoOwK*t|OmezYU(Fc}K@aEr4sQke_qh_EoJrMbXpzG1-~(E=^Z@ zhbeT^Pxch~n885z6dC8dQR5T&;rHYZj2pU8UYZiPW$-H)k2LKnVm;iGl>>g3k2auu zHTd~v@+%>)*Eh#H56e4876Ok=j8oPf%OKC=msjj7@%Y7gb+8lV?cDDekCwfM{GV}d zFYCl?`^*pRLlk?uno|7a`HN%ecS99CeS_@Gc%X8A$TQC6 zKHm4Fb$j7I%us@$C=X2nmLhoh7wbSxQ_D@%(_Hz6+1O15aDcHpQZnfR`98sddOv#>nJ}P?R zD+y&-Ul@{L%kX(3ACH`}n$${*1Gp5B89s zFwXMM+dAaId=DkLj`md@1FRY2Z7P2$$(|{3AKzG}N=Cbx_Q`hU_dJb9qTpfshr~S; zOEt69E>G^;iuLfv<0-9ssLmbnexiCmJy|6$@@K}aSLOE!JtCgFKVO6Ts_hWy_&xGt zbzCw$sGkvcwy94%;y#h3=w|q#y@(ItE3@-np-`vd!lX_ks-1+9bG?G0ppfvevu zW**nK^8G2kAFZ#^P_mC*+)uF=2*4j$ANEg2Px<{xi@1jptWN!i<+)t%na+rBj5CkN z_YM3;ZMW!fdf%RLd;3GMr=@iX}BeoJI}S(Iz*U#YG#E_u%V z1%6viucQx`8~NWP%!}0Js@EIU``}SA?^ENvzpuu5UtW##{=ORLbAa5BSf9uHnDAdU z?kang>?FXROyy2ff#&*;VmgAvA+z0pVr+ZS|?(7fx z3;8ilG0x+%w%1|ckr6veEA0}yHyQdEUieeS9kdRgK2G}<+48E`rV~`BfX#U>OiTh8S9()Mb1w&;yWY$d?_hEaf-af(zl7kpX^EVGUt5_ zaISCq64f_8O14ANJrs6u1h+|ch>z??emkd+WKXV_<>kO4#V!ujdtd3nGbB7cA_|`H zre=h<__G@9*`LiAUsttY>O4z5l5$H(HSLQno+a*^n*2gX$9X3e}L` zyKw(ad0M37RLTAv-%N&&B%IsD)>!suZb!?pLODu(xnD4kuIhHm2UPb9xSw*r=KT)F z`TQ`)f#kK#Qap6>{HX0>#0!VF-zzA8-D3EIX82(m@5H+nR&gKGI;JrBp`w z@ban|<<;*S$XFG=v(z@qk{6(c58Mj@K+nw|6z$>%RztlXwQ*_^xaW2=~ zkiK8Q@5%5xz|IQ;GwS1?b5O#W$MZSq$?vYPKIsGUyENP%jV)st^$bnkDdEf?86e)( zQQ6 z_mQ|>tbgFm7ndsXYTO{cv#iGB>pwx9SL2R->5RDN`InaD=I3@)zr)P9M>9{7XFW}| z={vJrF3Sf>T+8Su;dUNLAC^zu`;~F2AEj46Bp&fzQ(^|??TOb#xhhm6!$ zeYI`K+gMN5-}Ykx$$wZM%YhESeVgR?ocweK@;Nn+=7v5azxrK$=GRrY2l*%OPKf*} zIy!}Qe>K0}eqJhH* zpO_3JDG%x>_J74bwXX~9GX}Hd_6mvf=X^dVQiArE-LD;@_VtZGJMunYSey^x^CYaN zOPmk!i*q21hkl~-A#T;V5!*((_mQ|e9Q^DL;iYuGC6-^q*qXY57tj0eSe z1Md;aV|hNP>rDIm&V6*A!F7Z7%d`pdH_NzfD3|5kJb&!E1Guvoox5`k=>>n*oSFli z_YEE5z6qa?WqmX=N<+^`K-M$bkM#FMsa~v4pdFo0NGIr?0^^R)sDJtGq$ltD_{9Dr zm&^Jj?@-*}^KVb&4{k=>V4VHaCH5=X4_SZxEYd${r1Ly{zQP%64?B3p{w(vv#knc= zLoQd({Hk+SdJ(T!AJ*R{;vS!;V*W&xpK$&}&2QoJ@G5?b(1-b1pO84m#dthMes1n` z9`>=6qxR+f(@4+fP_FwU>MxN?be`necU`dGn)rzB`?H?r`O|SeO|55CoI~SsnLplS zJ@#k$+#2KI33T3uapsS=j$)i)e#V_OyVCfhj&I_=7|Ux~Jd1Pb>TxY`lfEy&IFD<_ z|9)Mrj5q3cKDk`0^TrV6@5~>v)soJ=Yxq6SGjESjaN#io>sm6I7CRne#B+vZO$+O_c5f{x9!>ehYXsV+6UeEKh(cjJAXH$O` z-~G{wceJ$m?tq8$hlqHuDQZ83xEXr-m6w$Ix+@03<7?RvIIrWS572(D_Br`GXfg3V ziDUXe8zxK6Cwn5)R|k@_x>{(&~~d-C2kq`$7fn^Hc{{^NJ6-a+O0 z(O2?2sLXGdW6fQS*mRZ3RESXUpG7N&VK$pGhCa`MumH??3!EFQdG! zEWP)uF4xzf;)j{|EgMwt{fc^7Cdls(^ZPljp#1#>dplZpjU2fs@w45W?e779^8Sx_ zZ`q%74Y)(R7nCUU0rexXf0U|0ahUTcJ_nLsOy@()2^vQjPadOl?|e?4<0{|Z7#nzsRQL#{#}(M zeV8XSj=ry<_ABe~36M|ZT&SY>SHw^I$YJMF2@lPocxxRfzc(?;eY4Xu|q2N3laMp+YEp*|kWFPZXv40m-yI4ebg`f1?jt)90y!NPv3Eh8;mC=!>+76D=N@Cv9+T>2>@4h= zNA=FOcxNnB=o#o`mT=8ts;}=1eGetzDO6Rdmn}%+a_H`hsF&t?tI7%< zYf5p$@|x89i@q=X!UrO$*8BMgZzD# z;6j?Gglnk2wx-XhI!W@{AV81x5Q(ZT7|}iM@5WEy<%s#Kp*Xb;u24^F~yn4g_aVY{DIEH z2R}S0jXV7Pj?|c5z$34RuzqVPK=+J%U%V&D>+?|@hy*GF=eWoDjBb7jT<)K&Pww9UNn!t;bnBcjK^P| zmnEvud0L(ivi#$Fow%>0mUs7}`6Hjd<#W7wKc@TId>)wbh`0}~#uImkO+!11bI3d& zw}^Washc8RiSyDSUw^c}u?OYhd@kBhhTdrjZ6=&~90{7&JBCr5XWZS1&STpJZn{nH zgyg{YrGCoi?Y&Fr{RHb^ zx*y88UEBu=9r#SrQ`e06gHGaM{@6e|Z}0qw&YcFv(K%aZS-M{k{)h5F_8+f!=YjJ^ zzQ2&3yFN#0cYifH55TzpgT{r&q@6ac`nCz@6Li#w4kUz7Y=?~hF z{3%~@N>E89&}$UCdy@hj=fL!6rT9Am>2MS z5o`zM;ddbzXZ!HG5Nsco=Y0XT1Iv3kK8W{2I9{2W()tqL+cM0M^JLC5wcDPN@@M}o zivOwZ^7ricyLh1vDaiA8^nC3p&vX_%DaF;;Wy%L4%Vz-RIPVwV@v+~^k;V(H_-<6> z;(iHFitjxcy04SQJAWN9eyPS6UjNZ;J0r=5_fx&xpA@IOLY&9o^VpFq-6cFI&hI6A z$oYx02c7qJzFAw!EBO0&p654Zir1+w0x|Q z@-$67n%5*BzLQa2Ut89P%XM1KnR)Wd^vN@g@i}utWFdGWBJWM@CVgzT>q-31 z-IQO&K9|2U$oZ|lqg*eRw~oDtdU0NAY)tW1d-$j{U+|qi4Es0+$n&7oWx{pGav;y= zaJb!VfuLNHk1eP3z^PjFeORuqejn*$SvXd*1LOLUpVPcg<%jVWgEQi$!A9V| z9rWEX|CK*buju?sQhjYb$sg>i9%bawpOC*Z%kMo}#=I-ZKWWE*Lgo~)lU`WweXeh)_-KY9O@<0r>ej<+0# z8Rz{GHO}uoG0yKW1a5bIOBt^{ACEx0FrKhCYNg=DH8k$qSJ3xub+3K$nu0rS(mN8t zs&r2_d8h;CBi{AR!ISzd5AMsj%B`uZ$h)ic0nYC?7Czb#xV}hd;7{($Ordv0?BbmV z`{{Dvu{NoP`!Y%K-XqH!Ep+e3T#NM76@Cixmd@3iD&;zoZ6*F_abr6L*Ega4EO+Sw zkhj;M_f<3ph$op%of`{WY&T76Tf6!K%lcnIk`P44V|M)xra4whcgF8Ca!ah+n54}In zb_n*McQ)7#mIH02eVlX&u}&iHq3cJ^8m^Sf_t33{=)I=L?*c#Pa--l#**5CbEFU&hxf98LDP5|x5@`h8y zZz}c`a81@b;7|7>dm6?4K~s;nq;mP4K;F0Ia$Vv*6K+SwO*=^+z9*>ZPyERxv@Xs3 ztmor%6hoEzs`X4|yMeQweBaY^|EIBvy!{ZxJ+@D}`0jDJd05_Aitc+x+7FcKWu4e= zydux_VtJd5?vt`S7E}akY(71cm1f^WZP3jk{kN(hj;B05M z8^6!S=U|yfcWctb+&uc=uZV9x@lK2HS~ID>>Edf4&-~_H^iGARVq<#GtqJ81TrQ8B zJgzbR`Gh#v!TPYgc4x0_rM@iB)4aP6XG0{uF2bypBr|*0r@BVma~xe zSEO|kQ{7gOH|}^Ec1Wx|oTJ!N)1bY?!|&WOk8T~Ev$A*k5bF$#bG_8K^-Ke4+~GVn zFr~1Bb6)Lk{~gV{RrdnocjfQPGf$%I9x1P89?eo}$5^YK$O9cWseN6uZ^90iC*RQ{ zyQLS)^BU%N?5~=U-{Aih^B2zlxm@khslZct=$?h+-Se<#Vld77)bg60JD^XbiO-#I8yBhT)Tm2V-N1h!fou{>x ztp!{cy@~uk-Jbl@JfZ^du+3aYv4ioY9;mP8A$?aO(%^p*kKv8PN=43g;!X|ar{xU! zvnMA9_~UhNN#1swzBl2Rzr+OjBM$QamGu1={fqm}3a;5e^A64R^(&O$b>)tM-_)D@ zDrWiwxSHQRQO>*AuM&k{hX037(mCGPO3Ke&I>OaFn)}r=_6ti@cShX&S|`NQi1?0Y zLY(6@W*5p<^ylw@TdIn6fXm+iSNo5pSt0N|)~A^Af86eo4IL$Z{tjTc$ST5B-yhf2 z>Lc;99gO+MVZ2fEhtIbI&fh)c?{5Z|%XnIx&o_?!6Y^YN*2nZiX-QA}KeSJz`DYmP ziT*LSfl@Eqo8+I`rYj`<**?yBCncP}pKk5j8RIVN&-*z0_mr0OPmB9Csrn?(^-75Q z=J8Ye!NWLzFH&E7FL*5L%+(b=Ljx#}av!~bd_`TZbK=ekiroJn&g+4WLh|=gLmTM4 zP|UfR^3D@obSPKgkKZ#Jo135gA^c4WIDeOu>lHctEAp*)m8JES{|lU^e(ea^cla;oON>WaN8w+Lvz?!; zpNl+=al@g{Aw8j&6G7SDp@(|1<8YOZzyCv;Fx!cGib+cLDl-0pspchryft zx@0{?A8Rq%r?&5Z&8Pfsno8rQ@pl?Gbw%F*uC|-8Pczh0ja!D-0G?=63VD~Y2eqTi zd=vX#;a*qKUa9LY*ul1D3HBpBf0eEZeLn98JY|_qxT;_9xTYJwf#S(J8h;bv0q}1} zzv8&J7!vmuQ=L}AUqf3SQ2rp^J9S+qdA0t!m7hRfjii^U-;d@vsq0%D@gY)K zj&G(#SEaaN65k7sb-a%F<7spo`9nz9SvxvPxT?O+8`t3{N&j86Tlz=J6SQ;x0qz}> z1w3@DC+x=G`>xibq(#w}$2E_68QDjbSEpWb!p@fIBj69N6+@|A#63aZH&idZh}-d= zt8*0I)bQ3u<)^9rJjmOZ(DzK8%l2YCbzi3b!tZZbE>?a+k@uFSeB0}x_dWCnWPW2o zx{n!o=>^CedXv0v4fX3pI~D!~-2>HB?^a9Uw^kMXi|;2sCC3fEhviy77J zBmZ1;yMn@J5#ykCVLtGC@^x>Da<-6t`22~sS4r3*7A6q zIA#CK0R6eXT3d7Aw$NF`hxmys$VXf5b1UU>|4Q|seNxUV)cq?mdl~v8*Nf+0`Xl+l z!#LZ)xxo$GaId66DJMGj5X!YC>Af~%!+r1v-!tz4kJSDe{IPYLn=0}a3$?Gg)^y}o znpgW_{uL_uKICKh_m5ZPv=>?+&IF#NdTGbs0IqqS%Jr3`{k}l_b>OiFwVNvcXMJP^ zkN)|~gg>_caV%1LBydZek|S6y>^VZ3B<9${yrZ z>U_+m?Dwd=4EuRCepHOeFZnqqIF&OOfTfUttUbM zn3l#_x0}xEM)Pchd}kvz7mMzSS1}(NTx)p(NbPu`Z^*XBv6^Ijmc0|Do?F z`F%9*=w8|lJTzlKQ-#lSo%~sMVkhv_swvQ)ab7><`!c+K=-Ec+(!+sC(DO;$5Z|BG zw=E;Z6XxOXLGZdO-@CC7r}{=jeM2{AFIV)dysjkt)9?<>>)ngy01xiHLHq(YH+&I! zTWoYK;J)G%_w0x0ecSZ-{!JA=#`!&;`1^m>Q}EyniW{aohrnZ4E6cO~X|Yel`g8uq z-^F12FwWnPU_A6QeMisS|Amb9;qOGSeDp4T2T)&H3weu&?7;7#smEo0rz^Nm9jg+6fuEP6_{z-$nDtPqxF7&&Ig}#Fs>{<%;v@N84 zUgqcTP^io0?@e&I{Jqh5ZFxN>`Ctdug}j>O=r68SqfoAX6Me^1TW19P(DW0{JNP|n zgKkL&MNh4j^o)(NtWthA)j0&eO15bVp41UKAE=#3^)fd3k@&?qsK?)H>!$o4?`zod zw8uP1omY5!^aj7?y9o4Qet+;|=pUchsj0%F3sb*Kuc!51=aOCR6`c2ZS$|8hbJ(Yj z9}7VrQwh5N5^Yig{=oAr?IS(P)qmdjO@&AQBITdFkMC-*0PB0HZC>z%`&c1wsW7XN zBF}oVyd$*^_DM9!hP>@LabCUbWt3|iPw}7k!L1Ji%@rQcZrX>^*4+aBNQLv1KOZ1m z^YJv`uGudE4`{}N-}T8o^y{+k6hgV&-{ZZ8e5CNI{olKa=4F9j=zcWM%d}0%p2qw% z@8k7zJ{Ommvmr;}3p@9qTy4)$&_`3G!aN0cXVE^F{=k0Vj>YRC&pg_C^!*E??oY%C z?-E+)^y_F|?-%DJJrij@XvzORcnrI~!@SB~jpDFl$#=kG;=Om4kL}q?@{PtqJ|3dD zf{M-aEkcgEs+>H64m_btk_C?$}D>2JfesTx1_zy$H^)**DXCIrhv# z$fqXI{b-g?i}iC&{;zQ!CoI;DgTsj@@B+P)%sfG{eqtB*b9w#5BXFB|51IF6c;7SG zPV9S{<$lfInd10k`<3b&`ugvwia#WcG%j--_{rY^>T8NKEFZo&dj#YSw2sI1 z;`_yHHy(fayH|`S8k7F6L3dGZB0L86V-(BK6Q_RobISOp}y_dq{Z%uL1dhiDLOUx+STfyx= z(|F3~PwZbl>Zjm=wc&aQ+Rm%@~?FR_l;{R;o9eD zJaSaIit&Ycc%03fc+RHq=<`#az<$N!KKB=U8T#JkRlno=CS0%J zvl{SB`cVV^WI-G3;JZz6EcM+*DmOV8IKOjlDJR}JpSuot^7bRjmu#P*zcUZZ8#;^k z(uI8NBGoHW>_zAwxSRqHzZ;*dAl`>>eH1vKlkxLA@U7PXkM%0CTCs~SM(19fEB^q_ z{=oNTxW0UD)3K&xw(@@*hb?#RLw`-9TGJFfP>R|yROVmc={-fWbK}h8y8b4{LFTa) zdkOZm*Q^8FxSZxShBA|YYreTj_zJ@P?MOaSpa;fZqriRD$v)btl`)P7rc%4d1`Y#{ z;Rby-$5)Wzwq;Eo;3@ylkWY7|c8vX99=P${#>hjGX7VfJ&C$U1TV2SDI1ka!7y3__ zDCINOI=zW!f{mOR#3g)NUVWPhIdtzNRI=nsNiE|z8 zFQmG(N8Y$|ZxQ6xK0E0dp4Jk0`uc@73P0n~69b@!YpVuY_?ZXAIHf$;P-t^ zcqDpqw(|daZTW`E&r}ZOMW&t2XDPqiuY82Oo#)Ypv9S*oeE+n+pik^@U-*^hKl*-* zZEa`Z-kqeUspn4Q4ZQxq>t_BN_opa4jPrVhxnc+80nW(7*Ok9VbBJGa=UJ2+Z#aPX z9c@sqtwK48hu1f>wS1G6|L650UjIoBDl5rzxv5v}6BK#1KB0W?0q6BJed!p=wdb!l zQIQX5-$gs}dYZpQd*lmqB5x^~h4}1kYzL3)!XT^@hMeWw;O}DH zFLrA$)=LfJ{zE&4u2R4AZ!We>k+T}^ORCHqI&WGizl0mS;U&udr+)1V z{k=JqC#T;@0{2&F3wh&p;<0?TdyyjVn>HMJn(mOFq*J38D|o2oQsAz2q`&47`Lvn*LGSO3_@Hmt2K6;{6YIL|zkoe;{|@V{*op0_A3^Wq8S;)re)0tWjLy|W z8@?*ZhgOsxqWphy$-b`2Pw!0fANRrMfosa!JLSd$)m|K}{2nqlf*+>Fk-V|!7L0#s zLmu$6pTx$#J4%t)t)2;fmN)s{0-iqD1pJJ98tVOu{KcQ(5 zGXBg`Mc&s-FX7?xZ$sYi^uZ1+pDukC^1&ZQOStWRzA*|YTWQTWg~#0e4tThqdN)i#{JD0jFWQmUnLTgLLOjv!{tfabC;5YB(RRei zkkOwuBHCo|6TZR`V{G(Z2IzY<^RjNDpJ4hLUF)-YZTd`nIHW$ zFp}bJtok32ue{_L$n!XB{`*hJ>#}D_^0t|To7Q!Op3LJB?~0q9Ign@l(|^D0RrE<4 zdcywBcA|f+^CWunI!KrRa>Bx z+c(q_<$8_eC$_dF7Am+Q>pJ?KYbmXVq&K|1Qo$3wQ{V{)s2w9~Zvgil-fma^?(0eM zJht=*aJzRt_<5X4y|07cCR&?e59^O)A7kf3#PcTYznfc;f9gJ@^NLQ(4zwHRnUS`) zh`)SutOtg+5|3?1LGW7}c1J!KpGA6_&XYdwxzB+|n@#+-lAFP!dG&xKpPF_Rc=!VI`MP;C;eL1}!$oaf? zJk3XR&(e1y7>~7{K|C||pnovG{^JY4eY@#<^ql{@!smh8lKrH4LHfL5 zPfmXa;%MaQL9m-O{u}T>r(IKW%cq2%$7&pcJnQ33W>NdT_VHLn{>l7t*k$mz8dk!1 zVmw0ao_@Xn1W4w8Ikiz5o zk@&4klaP<*@eIk08*bCN+1rMb()`-~bUE-i$~Knf`_}1AfEzyT=1_Pv`9;5bmiQBe z?m2Vw+j?fBTzzAI9|iZdCw~k5L;WaS|1$~q9jS$?<-JFs>1vgrEV!Uvir+H|4?m*z$TP4BIcx1Z=@x;D!A(dO4 z;$%GB8@Q>bxwXQV-a&bFpwiF4Q=RWh@~+Z_QD5H=_h29EEjm}}KN4=|DXl#FIY>81NPbu;HgiFAr5f=P1l!X5d3AX7H_H?`!=y*BC+GRmg;#-h-$COk z&m)pqTQI+{A3ln4*{!E_T~D!th>xb1rbztp>NU_G0;ccKE<8^O=36*IDL2?|J>+@5 zW54(U%C)A7^;Q1P`nz{6!+hCP=eQ)FXftPtBIoJ!5d69_wBF)*%f3{>4ap;r=XspH z|1{u^)c7pr@67LgH6P-vec(gHF~;NNy8{pXuNZiEe&;Mf-|5g+KLOnL3Hh^k0riX2 zs*{Lw+%KZ5_AOS*OTRiE?XJxy^jy#rxT)R`(4XhCk!VlUE7x{l^~ycZztJI$0LD^>jA$Vg2>%UPU~#)Y#NT z`9Jps8jl>mZwBtIaYEvWta^Yr+$J%G^b~oWzr+u~EC0Buqr$`aUgV4hxc;UE{Qd`& z54cY?0v@?>9r7H{wS#XW|A^l$1U)%F*W~SoIN%;cc|OO1*jH(cBih=uPHrwk{;8Q) z7yPc?yI^O=P4?QTm+!YLz`4F*^AO;UCXXase{sbMr9L+IkO9h1jfUFYvi1mY@25Tb z<;MLNmH{{9nwgY;G{_-GxvYy&keghs%d_wImcUHS0>Pxuy%93#k9_TY2c?I)(*PI6Kt&t`4 zTmc?;*S8V(lB4cP{n1yY%0z`HF~Xgt{A8Zc#AXwe-|fF&mgP%zoTT89^0TFKQ>O<3 zcPw;5QbzK2zaie&6?0uJ&3Oc4Z!|>lu`5`Eu+GMLr_pd0^nv zz*GBXP0x+{+I@q1xtkxEsNl@+IIjonNjYwY#o~4RJo$U`a29pW}SG`c2^J z_78g~IFCCfPfy@^3p=tDoaJ@H*8{i4JHT&4GesVItUL07ba*~^I3GyOruSQt9m-3% z{rEb_+unHip2E-auGJ=Lr`L8tp8edny&>8o9Q>fGBG37i{+r_P8|O> zDf)2SwlyjZ++OfY@Gu@~M)ygBo@&sC^DA?35By1Y?-+QvUfRiDXDht!nY*DU=Z%2^ z52q=3_>T=}M~*+VJB3mz$b*5c2kS&WQL!aag;bcpRs0Bd#;Qv34Wyc-ME9;-v0C9pL`I ze-?3-cyx{Sg5R^5&aE+zr$^#LMGyU>9#VYp*7+0TLgM!-gL3N`8ba@>+8ZsFEqqlYnf86dG8>J$NRZ=v4UHS>kuC} z-fCOZ_nk+tyql%`opICGZpgbf>>a4!TyAXYEclaSX%)%Nso_K5H-YFsA}^)>8-1!T z;y1gZSch&Fl|H0x(ae-`wLL;Gv(_h;g6vx5jG2Z~fyR zp&XX?G+0gk+*#ab73G?&gTNDc%_G&za$qgm*BKot;imj`fNQOrCHuIH_0azvThB>$ z4&7J_y<;tFOFY^^#}Geb)<1_S^=3U?gIWUDoSh=IZ}6`i_)q%i9jV;NGWtG8-g|o_ zyQRJ=gL+x6U6SOr6{jK&>z|(?aPnt=%bN=nJ@SrgkN(2*g}}5N_;V_GSMrm@nU7{F z^2a`GDwXTL4!9J;UcWK|Yw5*7I3D zP>9|kH;sH>iu2krTQDCUoa_4gOJk9cCQINX&RH)$Thj=HmkF}ZPb=u`Mx z;QA4%zc>r%P_Cn4Si(Jv`XCQUo|5C3_rW(_h1WNz+R)tmrpe=BFXP|!rG96+@IJ~- zUVTHVuVMQrj3c^rX{o;$*ItKxLgSZ6^>zRHAN)Mni2JcBtJM zcQzngh?7{%}NYd0+F`2g>i=^UafR@5&>HJ36aLs&D$iR`^@B z%XD6m+tJs-4SPn~yd}kx*qvtZXWi4!N%cy+@)GdShc?Onb*lQ{pTWz&Nb>3T^1wcc zQnc^zq}=RdD9>N;XUTsIeTtyn6W!M0|5)DoV^Qd-zcUYUh4WkM%OxRin*UyQZu{8o z(0F7TF-?k}p-b7|an*=RanJ3U4cynlhIZp}Lob~KZvB0s6qi!w#lXWk3#GVcKJ7t$ zl2?mJ`MLkp9{7*3vs20w0%ewf$6n%~gh$>j0C~^1OQrnZaf;r{4Ye@|oW{rGx98EX z16vwO_SAlV9PuiV=q~wf6P9|fkIrp3{jJ-mf2!7d<8tH1d<9{5-7B{7x$(%b zB@1*?4Zl6!~EYno9FU242s;#g?vQ*ye+~o#t zH9~z|H9wH#9V^!_QREV_DRO&#I-2a6b3(%HU(k0MbdG>D-f8QPfxJC6O^RcoNw>hC zG8B`>S>1r~koSG|yo9GT#N#RHk^I?qn%?{M&7Lmd_G*>LU*CHq)ytf(Jo<~JV>QuF zsoiI^_!|A)*8O$K-^`)i@Net5*Cig^M-J$38QV|7Qzxp!k4^7nN$netPJ&&`#p_D` zV7>S~<&Cd5m*m5<8ZJ`ouir@bq`4o(%g=#-xc3^RIFs1@CgzjL0}CV`?XCB~6Rdq$ z%A<5Y^@jeYZ<|Q{+FJN5aH~Bo@kg%E_-kCTPV!IB)d#45^v!Q1d0X95|A(#Xj(0Kn z-qEA2uu818qG#2pH+uBwv0C)FEWt(e;3BRTT*TF)N6)I!qeqXrVU_67R`g&I{b!!@ zj_;lObN|UF&pmnO%$YN1&dfXSOajwivv~_Xx&EqnGx$B_{t@Daz7ye*iw(rM5pxUv zX&iJxkhk_*0G>dt&Vs+0*U@v6$SIc)2kcJ?kDi(?#F@a0wq%DTHxZAyp8mX(P_91p zEP=-{C=T}3u6r!h*YbKk;)B(7T zLVKAj_P{u0?=wYcU(K5Xh!6VKqMw_`r2%dj-du=dx)(IQL~m9T^pTCejryAVl@aW} zYWPLy5h;FC@DoGdnfR`JKVHCCs+J1DMi zLc6H-C8hX7>$k=>CxM4cOcCOY>sbZ(P2}@N!Oz|Onxb8uHQxyS<9DQkeZSpvAjsQd z-UAP8{VL%8yheO??e_})9~rp-`gjY|y$^gn+4Cs@xZ{3jL0Ns*e^YORU}x*ygRrmWl3Ktm{&CRX>RTnm zD|i1au#daxB*6}b_3^N$d5KBjF=rSE-0@PpztpF6W4-`ds({%Rll z8UN?{*ayFd-F;aL3G%)-E#N=?5v2t`+#VB$a)aBe3HglS?>O+N#$*!Wr|PGLu(R#a zFM|CYww&Pi=FX=tozG=nv_Q}&oSODWg@4K_ z@ze9N9_w?$f1Edt3H6mvos4?Aei|*{u3^o|4>wupbub_E+EjEb!|!v&n8h(|s|# zea%z40#{D>AlTV)X(iP+U133==)Ovj)AZUY;PySEfLr5x3i`OdOoZQtHysfCL|L*w zaFdG8&Eonfljyz~otdxOQ~Ys_r2A>KwK7ZmlAY7+Cc8{oBIsk9eFpu`*JZBYZ?YRT zU}sb6eu6&sY<2N_PsR-b9&Gy;`j=ab?nof z?}Xd;?bBDNAn<5wI_KZq@ilPG+fPfGoVrEYTI@3rxC=aRiO#+EUaDN1;jVh`fJbgN zg}moOQWJ*r_cu*Tx-DVf70S+?*(cu*tS)^GxYw1h3&Z()k%lCCKSlX5TN{S+{lLC) zRIYyV^`;Ex@9PE2=Yjr_qkU1XI_DkeV`ypw|EjX-W0^eP_ZUoZZa?SIFD0Hp&3Y}F zyy2L{)4daT0xvuMnViQIi~%0ppVWcjyj~jVeREyLP3;)&YfN_Yb(>G}rqaC_E-Ts_ zdh++0`T6`@AAWvC;3=K|AE|#0^15=P!Q=n$cpt{Y_m>(9(R~MoU!Qejc(86*;OFP? zbN=W8+SeMmJ0UJPkM>z!*wf$VN)LwH3XmQ6y#pF^uI>zXYy993=!Qd|ND{3-^Y=Op z@96vu`;FN>nY^LMBS9bewd=sSKAK5%ZY@8DU-kP-$U6%!0sqtDr!99{!%GnxA_wom=jzF%0zzJy|r6@$-7wS3igTp=+_gdA+{# zNax}6_wJReX+N_jO|QX>hri#!61Z`KR-jeeaBeK5W|P^d50CpcjSa9yEGkmo!~ znFTy2>0J5=!!Uo; zu6Qiy$?qxP_0k%tzeM`(9h02Lu;f4Zm9t)5;M}hqrcv<2=%hyU+)vsUZBQJ5d}P03Q3}%E%M>{(oQLInaNOsxI;lzFw-iGY9g1-x@)l`wu_Q zpY!wcMvVP?!EU+=q`$ImfA9o?ITM)vyxho!StvJLYBKn_oq0Qki&lg_Dcg~s|If>H zzN7PJ_&o^nwXa}@(76sMSH5{7@+`jJNj7&T$~Er|LLXkPeA_t4ha7JNd0t zzqiis7vSv`d`RP<`X9Q_k(bNs<=Q_1<)*9`zej-c`;taLpK#u5$cy=VDA7ywUQ%dE zdgNc6-_v3lpy?`np_XH-4X^TJucsAJ00v=aK6ZlJ0%57y1?D z8cRNad}IOnXVkg_c^21`+szp`40+Du$w=qNdM2I+?p;UYopWp#=oa^mzwf|2 z=pU)1r94r3-lxnl5%T`B;`>3oTz-E6FE=I5<6$V4v`ep}+^B0i z@=vahe&Be>y9{)`8h`(Y^YeQRc)5Y9RA1Sv4&c$<4T4{tK>42PF0Ci?eSp^Cerm5? zd8PcH@?@`y>T6A-NYu&x_x^&Z59I^0r_w!` zMeXQ(odfx^?hNJa-c2Fs6ADoN%=Oe==nOk}vQxg#_kkM=PGreqG4y z7+rg*GyCNGQFUe0fZtJaUnhq1_W>21FD+%?9kmY>W}n_;|DYYi2kE|sKN&C9Jv9{t!)3UF2{c7-f{-~ zii|5rpJy{w3|Hr;`Gsi|onyoG4Bfp7c}F=97KJT!$OoY5@XQd)cKKSH3_yhC11NZEkt7dq# z>OHR+EiZYDfuc!9X&ioDQOF2hhMLy5>iyEiXx!mS= zr@JtDzR$#GTaA93F;NRW{7s|D~pA1~nWnD!kZ>m7?FnI3GEcQM8 zTXTWmd9nu9!LqFRCzk!6m#f)c1%7MYKOT1AejCnK=ZEFGbBMSjp4ugJtuc6lV|6_k zKVNrs-+Koo#04>q`u`nu~}#JY;3>I}ipExR`UkjLGS@~D(NrlJkd z&qEbXbYlE`pQ?UZ_aE~VBs@^?T`4AS)RI2(u6chbuPv?suIjEU%j9KoByX)q>ml}0 z%hB$ zJ>`>vkWZ?^oMG4f&Kj<_iOX8~eo}Zpd%YIATvf@rUx^X1`In z>n6khLpP*&b>BsJ3j0Lnf2DPq;@LYU*T+z2D#jI)FG*^5S|78lNe?{wo4svvd0Cc) z7}quF8^Uk-`!D*X&w)n|Hi~8P+@6tN_M+TK`O$)3DK^plwkhoph$9Ej%R28=lA8ge#(IS)!O;F)PKqT`dW%{ zOfFo01L7y&FKWq|2t2y#4*ZJ<*S2nLe`C6Vb0_Rr{h}SVt~I-XCdvThPaym-e%zw1a0=1;Gydd>(hv z0>EW;cUEELxZl&fK(D3eR=PHYIxw8SZ>Z^_S?b7+)UUL-rM#_50Rc(G)Zs6Km$ZO`^D#_~S zDnogrsiY{ciKB5uzpJI7r~M$Uj~P{T53jOfW-a4UR~GYCeyNHzhM#GFZ|8^=)c@=gS-Bo$9|u( zT@;1sTpC*)wTAsadV$v2l=t)gkY7EZ6vqXAr&+pxxl6sOjK_A3*5CXY>E2$|`?>qp5uJp z?Z|ck@_gRS?aA*)=JvGj%87F0T|vbEaOp`XH`->*9M~~M{uymEnQ%+`a_s+6ANiF& z>-8VXYZK1@P~Nu40bEwRP&LM5lh$=T)&0N?Lq(j|H(XSKbpt*h=j#Ki74-a^uMeb@ z=l0>a?QPqMtXz&;=F@yFRIC+n`(|1v4|zW!pLb2%i*dnerhLqJei`tT{Vo)k2VB1O z1pLZ5mEu4+Mp}RCS`_2IvOdkHxIPB+&%n7p;d)OIe{}uy$X|j_$j<)b*MY0<$3Q;Z zNP4c6lg``p%s(UWsGrb$KhXOPcwC#P|MGH`*Zv01%jNjD_h^N60DULG^egOGZ_;(A*j}q~~(1aiI=<1dQZktjK zd4;bR%||Q)M*I->HzL21jZTkwlJXsmv)rDhvUE;3w;RVp;k1xJl8nRGc@EiZ2IBzOf;D`Li(^-J0l#hO%3VzRZH`*)Ip2h`(?gMbw8WFeH-jbiC z^q=fCeu!%-KLxJ)Lk0VIo|AnHjj95djeb>v*+&_m_I3Py7XF&DzQNktfg9Bs;D^Dz zXWc&byZjO0DS7O28~R~N9(!a4a8Pq+r@;8IzZ^2U}Z~2G(Bq;e$q(kZ-@|d6M zF%G5VxBr~$hy3AOF_2e$s0u$1cPBqlth+jawO>je&!eZnQ_8!#TmvreLiVxrrMMJb zo``(HHJxx@FTx#D-zEHr-*GV$77mY^2nYSM&814T_8K=p(*tY)TI5LDRIN`A|xLpM;@j6TN>Yg+xd7;Z#NVNn{koTYJS1!2S7X{%ajid5dh% zYs`yM@+&gZIngO`)s5?rcNK3!^Pq*)F3!2*MzQw(CXe}rM!F|R@gWGD%X>1>db`@V zVx%NrkbUy?;`_+KKA$1) z-g2)AljrAlT3fy*9_ilIaN}(l7ra`!2Ud2qvf%%!Oe@HL3YEh+5@|&156)V@fybj> zDe%ktABTLn%_hWo_nj-?H_TXtxD;76yf@Q_KkqgcGayejpZfu^wM{D59ZEBPo zIC303Ry)PXz&0^{+Vndyj_5Cx?@RoBAaCAA=V<#|eIY&DH6orN<(%*S`GH}PCG_~08^z+DX z^%aUB4+#zRqTi|aQT}P2Tp4)OT?u+R^i43Yg9|ynv&SBU=W_k!b-0%gh&!i&$(6*_-)s^fh*Sh5*Dj+5h=Db>66hqo?benLO`b=G-pGyUq8&uS%l+YrFU__$||xK!1LpV>HV} z;Oe=e{x12~IgHntXE?1ZrlaS8vK%jgTfUxc%>K{Mr*ihK4_wvkZX<^Cdloa+NkCLUuHOQA5+_MhDjgP2b$aYOfKeQF3`_UY$$Z!3NZ5Ae{ z|KpfoXOpuk;-|CuSOIr`l<A;y>t&KZ z9>L^RZKiTLkN-nf$fvY}eFB}&lXCsvzkP=j<>f70nSDlT(0)13MLM@ZcB?qzl4S+? zr?z%;8V3u$6XK^i%LeNq(ohHSFhjGyy3UeP^_XPS3|-FTjE>Tw_;O+|Iyv9(rB5;MmO!bxSmC)z;jB-P{{{;`fZ$kMg4!C#TI@r@$iN-;F zJ39BjN3o9~kyJgy_a&1Nt9kvV!D z<%Y}c0RG>d_RxplD`#u-7x4R)OyD=?odJ2BqB?MWzh#i;=YH#tmjSLjof>gZxsdvc z_l-1vcar`2yxa4Jp3lmU{SCj>J|jB>X4Aed|KGU~e|&=|{wV7FvWV5ky|aN3uPn2R z15a6B-P2Lf$Gqv8U>}`kB=8;;{z1Rvc5}2=O=0}ud`8%r>#4Yw33G8XDhicj!LKQg=7jXE?u)($=*n%)=I3X~gps;bU-R0ZgH zu_4bB;PTIHP+z{^z}UVu@-(ZK?C^bkvZ)>U>h_=F>M$O4dWt{Vgw?>6BPd_xxPIkR z=;=s213gX6Nl$ZI+RrJgQ3v|?nx2ARx$2IDytzUh(!Wgu;P%XP?vvtlCHNJuum9^} z==rqZ4Cv!+B>BmV*}!#=bHUCWcYURD<^6Ag-*$ldi#1onC9FPtUybY_*~i!9EA(-9 z`O=jApYID&T)hNbb6^wrIUXoG4*2~H%j+0)L*o?M4;gJt_rip$O7%K<9z5oc^O65> z9`lHPz^#QQzz!Ujcc_T`)8J0=yrUJ}Ct{dJc@8gE)xrdM%g||v+Z^|;$i0-+e?o?E zEA}bxc@FIuS~?zhC{!5n({qmUbMr;I_sV@Y4t9>5lj2y9B6HdAZMrbxmAVFvU%I3w zz@3k}QM;U!#^0$8fxGi&fqnQnvHadK_0_wO*H}H!$9psiJNSlPuEEOT?V{;P_bST$ zt6MUh>!Yb6o6o-c@7zUy;m<=|2g{;f(V`oxvHx?PKsuV&XIYsKamJsA)?mirm_!;T{u_dQ=HKu`Pntjid0_~d_(5B@@SiS zK>P3wcOsZC>PMXfkFWF$=o!gJ?>+JRK#hmV{<;ZGAa9yVam@eod&CFFh7F0Vd_Mjv zF4BFV#<5d@^LqhIanr~SI~#&0eCQs^^+!ohzHgK7yAFOl1bOZJoX}tMg5s6$y&br{ z$xQI8jnwX1iHAQA;yn6hqaZI|OYZ~n`#`Oya=>o>AsxZvctHB_=Rx{0HsJhu5WoM_ zH+eO1%@rE2`94^SeArZG2hRu^*X;d@f?vD-%QS||r1v%Wb2r_j9#a_3pS#IM)BS_r z-gALG*WY@7CiJ(ir+r)eUNA-6WZ<5kKcHN%qmA45jnCfYU*N7YpC>bZU!@zs)oH0+ zG$V7OTz>CZ$XFV2N&89zdESmjAKfpe?Mv(5?g+)t$bge%&nVrC%JmPQXa!sqcmp1O zKZ2<$-E*Nm?m?cy`CVz~c~dYndJ@w!*!dRp^h_H79_`K`aLyA>cue@T)pjQDnR_1c z-ok3w**J*qUkjI`cHz%e^%Lp6K>l1cP&zl{1Ec0ZPrZ)Xo$F&d`jem!=eJAz<|BJh zuER;sg)N!xBk$wSg?0JK{_375z~fs>dg^Y_{#9S9aj*lwKTiIFp2Pa@_<)3jzu(ZZJ`4QHT(%j?b=RVJuHN+-`q;;| z9IKOkTjw}?8SSgsNcR!zY=m2%Yy|F-?)8(;Doo|xAp2`>b_I`N;0y5Rl4$+J7dITZ z`@#vxTVrXwGu)?@9&#P@44{$n(C~Ce9HQUn)re9`f~dl+t7Q) zydBN{Cum1U!)>Ejx!m8}r>;X!evf3h%M;W$l1TQCR{b2$f17cHpuf>a z{X)5a?noxj`F(foC|9|qh=5yngfWi0%Jl@!?-}9aj&{bP5sZiXmD@%7n6vAkKi9{9 zZ#4Ax#OxT(CJHd9;@>%=(^qj%4<;XQNcQ=4B5>X44km{4`)&FA!X8Io z)Qi6_%8x2FJf6JtoWlBKC-e*#Yt)|c zaCzexx+mI|lkSz^c=+pi$ou-uX~E?Ae8KtH0sQFNq}mMU@6m*wZvw6=?r)Y{-u`Aa z@ah|D*Gn#Moq8Yf#C!f^Lx%JDg~1`^;ZJY1WjNPIouBSO)@Q5QF*)w8`w2YqFG1je z3e>ON6De<3cYJDQ^87t(ZGkS(C-AsdEW>$w8Dk0ow^Y-^e^d{5qd#&U`P!W1=hD7D zdk^Aq+KT|^@7F7y7Fxu3Ej#ujp74A?wb%lF*Wz;n+5dSQu=alg{iF43qrV$(_CmRV zM_CY0BDSxHZ{OqRy-~oU|CL2N=eS$f7d)=lv@e~<=g5T{z{8u4Qv8?hpK?_x3VjUw zXMmsI`|PK)JQz{e?haT&@r$-<)8uFh@<@@JnuCWqk5UP&6~h@c>b)3 z8w34q-n~Me?9M{-Q{M2+ z`xfO_vITT+ovGz(%rCSDd%%Cf??~R>=?UgdT;6#n7W^*DQSdnO^n<)r;+JPXCGhJ# z6qoeFvL>=}qh=~MvW>=B=cHZ&uFzP)AIN_Z^JTtIz%urell|V(tz={N$=Bhd(aH1J zcWqpOIQGfM&2Q&3Lf&4!fS%!eJ;AqX4CIXko&e|10gZj8&1G`-`MDe6Q@U5z|66_N zqi7yQT+&yg^*!Z2EpW?%Qjq7kZ(Fz7?DsBrxG($U`pBmG(2wMwM%8CHk5{%V<|OuA znJy&AE6bL_I+8})4CO|(WH;9z^uCxU=@H_U*CoA2P?X-k_B1?%^%=h2WmpuCa;2F!t9ObHJ&~vot0g4X}-!8HfapfEMWI8}7ev#N_#N1og5DSpUB`I5V|x^LpU7ADW7|qu#g$ zdb*_NN8xBW;EESD+c6&FREoEbrdq_cNa=CtU&h|l?xDlYz;AAw8};JP7ZkS_EnvT2 zyyP|f$2Xbs5V_Zt!0@Nt#phy?7zO6lPU8sbzk`WiRkqt0CLcJoLGWkCt9Zn5SBI6T z7k_SOEO!jJ(K8Y}d|y!DYLx`WW3_f{#XcPlvS%nX8S|4!vBrHE&il19TNjiY+5eR4 zB|U%i`MM$gs8hrrRm<1Fjr}hn4)FJ?->;-~iboIe&f~r>J^tMbUj}d30t%e}K<$0hd$8+#hze4rq?XItw7ChnNe)xa5G_5lS zW1@(Y`m;_(^amUSVtFUJk~0mP#Y2|Vh9se#KE=IzAv=lqK8L*}#Z^4DGq z`{ergs~>>8w({(*3^&!F_R?zR0GDOY(}m#{qXTwROiCTczT511z;B;Oe(u=$82v|+ zgZ!W4<|S{@?%~Usg>oa4FTj5+9Tc#eDzzE>zy38Fa&j5J*PiU4PyJ*lD>rD~0e|_f zfBVd+m!@yM*6jbLMAFChstndIOw;}nBg3V*=V}5TMXzBUlJi(T z?*^V_=t%gFrxlG;?yPh^yQAm@Ba?S^?+yKpxih0*tCDsL^>uZwi#Xsfkq>(E{^d?A z8P9$n%&Y{?`=fb(I;>AA%I_0+bZviLz~rs@#tHS3Z<>Pm&||@0g1kSs54hdF0e)^( zK7yWd)sh6p6Is_nc%XL~l9hsrLj zM4oCsG8KNr$8q2CF3{8OibeZ==P5wX(^bD@66~XPHHSTQXZ}HbmD6bab*{b-JUG2d zJ5~?ZAc}|nLTcca$`b{91{T%8cx|Y^Sg@z6o)7wH|11H&GGwHAmc8E+jDxE(tw)@R zcA@=#k%EaB?;M$0pnv(E(|D~=)4qa>y(_k4`tWhkB0ZO{xT`qo%W+?~cd(D)Q%&e; zZb^P_uGQYoey?~}5dOw-=YT!a7_Kg}U1(p`;v0~c4`~j4qS+RpT@(*DB7g7=D+V5( zKj?m{Gn4Un?rf2GXuPnGJDJGvIWOA??XI2Z1wJHUtbzUC^&34ev+v&leL~w8!5?(R zNPpcYC+z(6=jEucB58&IA9A_{?BKDCg1qv^L(CJj10?&b zl;TEfdj8@l6$^RUV)8>@^-7DGej&RH?Z|PR_a1QdqgeO}&#N^WH^v3?g@P_#ot4ASU6D2a3fy`vFK}z@9q4Z#G6{GzO;@T%WAabaTIs&> z-5mtnN&nM((XV}T`MJJ} zf&1$&MSZoI^a4*b)m`A4T=fLp+Mycw)#bKPoXgi9JfZr1ARic15PEv$#P6I->)VFe zsel{pBOvcu=ZAbyM(08KHj&-zO=`mq)}E~p*SVcNM_xmJ&DBzf(;T<`Lif4*O24M~ zE%E4^7lWQES4ZG{eM7bW1j_X`q-HYF=?%ah~KNA3=zT@<^IS&5&DQ;haBo#0mM(zsH6%-1Un5Jec}6aK*D-0JMS^ z!RKT*&7XfjKHO~v@aUCoDA(ws_@nm_ zT^e^xeTc_7uG?USN3Rf1;N3jPYbTz;_#Vzg`kSoO-_3>23b?*Io%3ejn!Y>Zar{C4 z-wu{2KAX z)^bY+#^bx*3-ZC0yAb!CQ{8%oE2Z~1G()9(C03Qec=vrApD-WeO{w86QLg6zJ%{z4 zc?LXEXEu2FdlQjp48|KzEfMz>8S7x>8CUkVqV9iYGu+m6bOZLu_fskQ=0iT5 z<-H4e0$<;=otutvTs3m3iOI`k4~BF9(Ve98 z<>U=Uq8)iY;J(=g^74(TB>$m)A#3z6`tN@e9te4nt3g`GTPOW0@lzh9sxc6_Ewn+> zhsH@%eW+LX@qZ|nkK^Y54gyztO9=U@e_dnn=sLCs9?rBK zJj!x=AaAI{@7I&!*xF{0cRp$j{du{LHWuJ6^;!w1_HuI~L zic*}Ra@C8r!9Kq8%SW+#@wn}8MLfF2D-kz%{E^LR3LbZ!w}^+XSHz>;MEdwPJcc}v zZ~7bi!S6ZWljc3reWMx`opbAK+5_>E=L5kHv|ef~Sq1v=_~~s&d5bOY8mU~WuVXl! z1MK=dZY1eX?daUS0DAh5??M0O@!uUW0(TyG19|l+@)LiZQNW`YCPPnO8nVB)KHb~v zseU=0_zCxIZvlDPwN_&pu6jy#FtjoNcRVaDl}mnNJUaw!RE0ni5Z;ei1 zIJdvDiVyzatmOqiw~z13YvA&j-V#pw*qgNkzozzmNgpa#*833TgE#p78YHhSLG9@G z)=bcSE0vGS>XMt#Ucu20=%Z6j%374q?d9IKB#9)-`9{Q`qL;YG~yajpljqAua zc>W`=loj%Zy+tLQ#x;lB1YG?K~Rzpqby1m8+7@C$uEi10GR6>zo`{Ceia^eXm!s4CmvftlDRipMSU$aA_XxsZRI8 ztNtoLny4NL3T#y@bk!+E}B$k_|!>Z0?J*Kt2_d>slu*3{FXUgnlmFSlptS) zxUb+%#JlJp7a-5`*x-CRhsfWd3-sr>vDyyIyFT^WFXT(%1{9Z_-p`Qd>wfB$FTj81 z-vIP9PNjI|PkM>?9=^5){=?-hrQ?A+EByp{-tL;%6$v`oxA{rtRgmZFoVFEpoeb9} z>=g8|=9&*X*f(Z{on3>-o~FK0$opm)QD43u>m6o_XFQ(Iuh3ukIx=?EhTee6$;IZNjWrhI2o(uk134eb+WwF38)b--myf+9ebGFdV_C1N%yJ!i@^x%w|G6WWT%c2_9_*9LyNg=D6KFab<#Ktiqcifb zXt!Yk|F?bR;P-^D2>z+*@do*#Cq6gIGU9Js~=g)miz2~A`lylM}E?Jek5Ko*{=$tXlQSshkS79aeQJ3!}=&w|DgdKe+ z4na@;oGa8S^-xx>XHK_R_R00J%p)G-lg;oeUN7&3Loi_1^k9}X{Gj}aas0k0_FX~I>SC(f6t3% zm=DXhCadf@lE}V`j@3Ko!h1@Zx`%rOWzyv_L5(v_9cJT*6sjYpEM?x z>B;q%Z|OFleYe{l3G$Y*^&szT)>JB&@>_j^67rEdUtk~pJV={m%v{D3dN&C6G}Sl= zJE;1$1Rm5Ufrmf;a#rww$M?$_!V{(OeL3A*YSDO6FV3$U_ace$hsPer{M4L-){XT` z(#~Ocr=h+q0N zz^#Q3qh1`hn-)44uRh~d_#=;#(Q5@}Fbc*7F@>=sYW1 zy?taKHMNVf;%($Z(Zdet6F5B|JTA*5@OaEUTMInfk}!@NE3_nBdY)q0L+>FdJFf!| zAEz8gmLkt~Z+_8|@yH)M2fs4DFY*eXkG}l;vFy9? zYL!^_$>kMUBf#DJ|Aif7RsV*b;q~<1i~4ry!A$n}+_P8J#qU{f_Iet54^9xU;S9#_(`cdM;q!Lie@F4;O--yuUf4*7{9 zYf>yLhmY4LMH1qkEZs}VK9nDZexdu64gLYKIwmfSFUBH9jGNZ7%V7te&!|?V0xmm4 zc}{Q@*;(JS@m%(MyJbQw`{eP~Z^{h3N3Jnay;{Q`94)TXxKrTo!AzdpQ{ChX;=g=J zct~>G`(z(@OzK8`2&ZyYL*D=oo+JD4`0rGn2X5(Ul*WbWDA!!_EpYR+yof*c5^I3l z+w6yZobxsgO5so@OV>Ilk_3KbsS#{`Ed4m!uT%BQ5v}3)>gos zmomjMUV97PUQ{njhP}NR9;_ser@TV26rtmO$Q6V|J{L(a6XS zx-PVj!CGoztd7Ba{q4o?R`%V#=z-AguKKi}#<1q7z#mQB5^}+rmju6cjjj*eQKGYC zPqLe$=R??8*XoME<308}+SgRK6x!XCNb3NByayn!_{#Gi;&Gh#0NgrrX)M#1*DE}4 z$Vhyz_EPW@%hs7_k6`NVfjyo9|HG<;x!nedKL-3VM3SjE`q}dTqO;a>+l#`Tv2ur$;^^Pj;le zKc2~3>!uazWn2&k+%R;u)Lz768~ibW$*U)f6WY<7;6lK~^Wc)*H8K5U02W2x(K;Duq(u@6{_b;n=(**WC@z^+wM_gWi ztO9V;U(+N#r8u*<@Iof9A8-r)#p8zh(<#LHsKYM!iE4Ee<4a_7d+5XGzmWr9An&=j zL8zCi=~3`2*JeSve0@WHMYV{P8&2O9JRG-2AA(=@yo2Bm+SxmRyFC0H9@0N}?JRI> zH=Cr7l+T=a2>w9uUMwp|CZl+KAdy3@)&UqZC=w2j^I%^`c z178=lE;#~u+si6~y!SG#C!0H-kmRY|6**{KS9|^SRI(@8A)4(A>}i^l4)Wa3wVR}M z>0-;I^;@#PWzH6q>$qG>;MZPDPx|DZAn?l-bpD1v?y`iFpZLGhy1o7e-5bUI&9(Qp0-g}?aB2Ics>CSw>XJ)O0K`Iya)P3`woFTUssP@%Cdz0K60=p zG})POTW+$a)iXoF ziO2k5CzV@-?&aXmg&o((p1yuHMJd`|Hp94-vpcqk+CCXVX|QXErh(qcRfK9}O2YCPn%F+H2807}n*O&4l@)J|ZN5G?X z3=%)-udYDtXso+L%8Q7{m;VvU_3ryD>H=T2IqmX$L$MQ&P$Y$j%|fUGUg@te5m5Tp9N(#!Fk~7O{+n+b!6% zFL*Tb`^4%PEX`B&JKsRw(yS8c&)4y)m2)sTch#(2*e72`8(h)`~%YAMLu zw-xV}Twb*+9pn|2#t^@>erP!tPx1rZlAnt0~MYojw(CQ*m`{ zavsZy-LRYC(;t5lPW?i?zd7{Ru1zcC?Ji$a(adLbd-P;Za{*QO0f@{<45BfAB&)4m#R zALBLJZ!fF2J0W?!zRmN%qZm0sC|BM59q~6^E8$cx_rW}xRbF33qOE~f9FK>k(8pm%Jcq}feZ=nAh zA>T88r98xttB`;zwrztx(G}B$a%GQh!B5oZ#!30M)bDf+ARk;eNa7*=txrz^SGDUd z|_y@I@@u3~#$#?!!<)Dvl9?b_iZt7Qo^iQZHl}qibn@{oC-s7{xPq<5w z8S^Iduorkjt36s0B)^bu}^Y;j$SSff7SmvMu_Kzd>P?S znkrY3e{%cl_BMgM`NYV+$@z6%e}}xG_HY5W{L%$}rtR5U;Bk-J3IF!?+R>YMs2u|* ze;LWXN48dw>P7ynoe_y=xVJ@Cp}y{Nt1up@8s`^qV=+3HM`N){ahUkcpE{$S6@hB>(TQ8sm!fjakB__PV?YyvA|{vD{zl;=AG3bP_K0$4ehD-Yi}k z7Rt57)BA7nD!%`R`1N}$zz+gD$_qS-c};;wdiEFeR6c9akJ)EPi}M1%q4Rt^H_=_! z33@6|&~pcC=#t1f&x3ta(`Jk_vz^|V<6}Y}=Snxwv-qEuezs6`5@)Pfci@;rtJb$wP^Zw;`=9$M$#8^)Co>Koa247lgn5W#;;x!S;GA_R{~^0(R4U6#Hqg@I>J9 zDr<%IQfDgz9{VUU4w!OkolHOd2XWs{pv67lzU3xKAF_jE`9{PU^TIlUpG4fXfIEU8 zggnjn$6w&l)Teb_ZXa2PL1>o^BYVfP^7+03x$PBjN$DA8B_V@!c>{E&5xI8^Aqf zcL;uKj_SY@UHYehhjwP4%IYN>%h&mdKX4_79rzgjJd5=A)a#A$TNA7(l9peVnT+ArCO^7%JJB;%(^NX2=_s9E@e>X6W0!E&2nAIAiG4$kF+ zF|^OqndTp9zD9NnrTvX~79NS!ePie2zGLDW@L1Zs5!&58a6I92EK>VYy+Q|SC*k*_ z?{#FKd_Rn-2i+TPZ9@ASIUarOfV?e{-zWYr{MIq+!$kJ`#nsv%{_y{S z=x?gF2YI$?)Kl1j&-cS4X91VLFiLhNJ#{yRVBVsv-dw~FRswE1eN(WfS(^d<+MSeM zu!Calx1E^Z^z^lCDYRpBd;oal-jZ1Me{O%zz&yw|F1ktzd5cp<=Tmw0!676sjr)^l zqg?{M2MK!GH9_Qg6E-vy;*V!%df>_@c?G{U-C1O3yw2vak{?pL2m4op{|DzS#yH9K zbhIr8dDZ!T*5vx=*3o#-@yIwhJNiY~S5@Hm4Ao)%(H}cPn78WlRlqz-dnc!0 zH+g}nkk^kA`o?DG1 zdC3mZ4wTqELXgU5Mm#-|uxobB=m?Wo(64gJyUjT_E>$K@TD&O_dpQ5qNrL|vV`cz1-Axd9 zlo2`~##*MZ;D^pBjUaDZGfL3YmzmBv38+pB{GpN?kw2)*+!Fd%wCqXb8^Mv=1;3IP zJB;t~j%-4|_T>1Cc5*CyDe&vlUKz~ntIyMT82jY?PTRK(zFTt9xgZ=b)tvT|xE5s| zO7hgcfoimm#k2Unz#n>j7Wr_vXC^@(+2qJ5_WMxrUBYvL(2ddPkD-Q%LjGy`kM%YdC31mi(f*n)3TsoAODsb@Eb>op9MWF`u>O`X6q+GPr36q$m>dq`M0gLv+z)jc+UFn4e{m|=f&3@Bf!VrQt{fJPmEF0bH;XSlT!l}NYfwazM4Voy9N<5}3 z&nZtf)4eF%&bq#|9_T+jUa|w}<0}3INPp#nhOmP-KBK^IURw>ge@>n8R4&QO_IyCO zk(#F@oXS-+U5YppSerB|xxD?^F31~>b&&cI$y=?TA^)^`Woey|`j`CZTj*&i`dHGR z%5`j|_vJNzjuqq`Cp_Q}Kg>BYdAY8!FTvv+m`CdG#AEM9>tpJEC$WCO?W6bHf_!*s zf)JPNa%vaX$H5Z6)Gp(epj_R7)>3~bTt7<*+&H_x5C@`}XkUu<_0JLy)mQeY6507o zkrB!D*XH;M{mq%HoDk=uL)xQ%s$~^~I4m38AGoeVeDCBux*ly3*!Re+_9D;ax4`Fo z-6-%x2e*aYRTGN~@yfdT2Jzh9CGgw)-GDncZW806@zgAxOeTx}_fj|ZY0@ll`@VhZ zXUqn!+L$Epm_w95&l!F(R`*Sg=gG1+MJZ2SutAWIoU4WLw^IY!XZ3ww>tYRX)A8Oy zeO*-wgQvQj_Ay%T(Y~)h_seMaxUu;qJ5W2Co8CrTs&{pdU>|L}R**MO8X%0b%E!Nu z|5OVLwp$ku+rZSMpEdH|-ip{i08IVSM-NSE60Klln+JRIVoA2JSAmZA5ZC zqmd-Ed+65mqEYwzsV`c8yo7uBkyx-aB?1Vu3Lz2repPla@}UqN4J{tdftwn zD`6TpSJHat_jcJyJ-= zv^p(}v-aC$2XEzOb}EUSNt|;87~3V7$>4 zC@hp4xk-7i=~1E-A4nfZt(LIAt9KtEZurMP0UoV(QQ(iBGs6z@Ty*XwP}WaVxBZnk|+Hm^ZU`b@UXAYj;_&k zPFC2mUckMk5AZ)_(M&?T)wQB?0c^U{0)Ob2yQr7@QGY?+Q0E?aD)v$f@-k(5>R(eR z|KjZ%icp@cc;S-9Q%U~|ryy@j=N86OW#wk*|Hk^)gz?T)w-MS!_pY&^k1^9Rl5a9t zsITWvd&nzK>jgbE`xd~SitX{jcxOo{jrQ^u%OLb4>tCIKo0goB$|e0R8A^ah-t2_n zhq}_VpZsV&I(L)X!L_D2;;H<3bD@7llMZ8?3uZqe_=$1Z&%ljVv0Q(LpWr8FKE|6CqJ}B5t<-AYho&T;-u0AcTV;I%Dh5FhT(EM6?e2P$CbFP`_ z*H-l~q1<3y8RA3Eb-N^fvRi2IIN+hdlZUhZ!R_O2KXxwrZW^^kXs^iIpMlF`6jEM9 zJi*76=P-F+E&hCvaCP<=$fr$o3iUD-s}6a4fo_7Hx@T(OLB$+gt%jGP}oZP zle{wRJH&I#$Pq)6N5Hh_`%iL4Wsy7U0*;jg#^>D%X`h0d~;7 z$}^Jq36CiI!r$ij?nw2edf8-IVTUs#jtTX0UC$1A^{@X4<@#5S0e`7kM+Ny{(ww|9(S2b-oD#s%AfL4w^vgGwO| z>ngMr_3SnaaZfSey(CZkzR()r^{Rgq>=rCW^JuN5u$1RedwKTn#JFjTSu5z{UONqO z+~4@QppWfVC*;{yV+*O>CI8v)M!DXfQVF=WZbsmyW9bE+@TX$n@n|kc^&%eKWjd$V zzKFj^NqUBUOMrboJ$Wb8%d)i*#!bUZr{IT*GMj+QT5J~V@pz)H_;fD&y*t$avWK)D z=zH|s$?%BpxP+6P?ejMQSA~j7c{u4~ivJz_-dTJ;Lh_bGnwM#^FGBn9a{Y$UutVU& z7qU0s=U?LlaPRLcBzfZTKgF=;Lbkw;->c*&gF;j|ZzIe;^)J-ecf* zogX0a5U#y;89Y8!J!u|9xZzellp83y3;mMo@40XsJeD+hC7k3Hp?|;=ZhJv$M~TNz z`}(3;h9oe%avtq^IamPj^m;XPut~*Sr<7;CyiXBT7OB8D` zHtg81tE;H1!Nh_cYfx9kjvZH{*fBQj*s){BjSefhUMM%J)WCk@6MjCE^ke%8cUV-ydf$5K z2K0lo__{#$PtPBKYh2ak`8MI<#gE|!=ZHzdJlwS}AM%^#Vg&&Y4WoRkO582?qxn3X^j#xVz+Iq#P?3G1HAIoS#q8yeOIoh7^jk^B@g`H zc6_$C8O9640eW7<<006o7VywLmr$&y8ebAR+-$LZ}tz1;e55kLCD zCxv{a|G6ai?lIi|WWWFChQQT-(t3zL*U(+QG>6&k&7Ki?h}-FL{setXU;Z4NbQFsc zfqPEVcaC^|i-zd=pzGj)VgKs~*Rd>!pP1Jxw6CE`GH`uUr|bvvr)mX#x6k(53&B5* zy?>yegs#??`wQ6<&NdqTN>e1K?SISF#|9!UH6O(9Oj)~qgZaGw@3TU=wm)l7Kibn0 z^Azp}({E|8o^lqeE3dPt+`y~Gz@s1gVgADTiW2l*NmOmayny4Hr?h|KEaH@L((yJu zgmP^)ugdzeAL@>Se@t6y%lVCPMI;UUA31Sc@U!7|ceHP?G~drBzTwOk;I6`H1;3fP z?t_lQxJ9;y;>|zm9rA##F})|j+t=BHzHegaM(0R*y<#mpqMs^e?ioVp0|iRse{ z@KyQ~vOVMnWw*T0k8MmN=vzK~g`ZvdEwX=zuRnT|{9Nw299LAXbNq1N(JN`?yeI2# zr+awp-|}&p_`&x9($COC$mfx@7oZaw*;>|-`TI2Rzw+D*VZ2ZczcGjT%dy&w`4sQJ z){Cp5)1k%(Ax>fmH2#Jv4@>!9KS!5OhmPUmJQ=5U_Z`{^J8hQ3!gy+FpBDBg{z;O@ z9jdSTferlNu^qy=sm;*}`id7zWt{ZYbzj2HSZIh~kGWlX(jPQmt{3SmMxTMcKm1kZ zlYcz7w?W5OsGcy6+n2jgu4n0HdEBRRW2?V`zV+~BnNRwT!G7pVh3W`8zU~g_Xm^&D z=Rc&Q2)6*P@7GG0M_CK(ggy2?LxuT8DA#bJCheaDei7!Y{?lH>xAJipAwGk%zeW2g&(J;OJZ`gm ztWWkl5TAQG6%-$#{qqDn%iPTgzUEU?!9TiI=Ybn_9R&N;o&ktIsZ&P5{y>@h@SFd6 zSeO?%w^oOp{=#hqeRYjFz$2UH3H?1b=^1ccKoZK0yu6HYTsd4P z`LskBAANtz_mb`4_qCG!mf<(hUrfa>3+s{S?pM%pb}S(4P~6(TR9e9F&B5tHKee_$ z3p;Gr%gXkUzVpps)F zbmvF3i?T33r$_qw0WOT|o*X#`vvT-&s;IvU;*);#bY|eD-x6dy30DqPz@Nnn6hQyrapDf;0dCxtRv2HL%TGhcy*Di5^0+YI zHu|&U)m(YpBz^V%r?AiS>5@>cYi$wWmQ2?L{qW5;$V>Kn8X-Rv??U5>`hZ2w!&I*A zb5*pHvzkH}H&q8LD9`bDrckc7(jAoNDZ5!H*Y;i?KBOOdJrv`YyWI$(zLpx#5pT{9 z{61>p`#y9B?up!yQz?QV~f2I>~Y^PQ@uJ4mi4JzqwX)@p>1wC4^X*!=PnvA7TuQf8{s}b?He11 ziMa0R5X^_8wWsgI zY7ok^R#_ffz1cezx-%*HA^|6Tl=Br%0@M<$0#=OJm@UQQ3uZ71B-Mi*Mf)`bAj19d>G(ZW6|Kb65I~ zu;aHBF~7AlKqovxTvvLQpMw9LSu>|d%p5u2+Q+)U4|d&`A~9ITbqg;5cXjPAU4?G-E766NifxK;3{V|`AHPdC%05pZ9B4f?sElqC4mlJFyb4{n$y z_+R;k^6AmuGX)*JA%Ohr%d|xBe{l3G#AWzx33+^^{O>(C6ntHu%_$P|mmCk4?FZ3M ztbO@&4XT%^Lm%*4-uWWf6K;JA`i}kiWPg&r|4|d*n&^%)U(0sg5?wm{qq2o~TcBFb)*6c+-cQt(>#~bMcUP*`_@66tEej|QhOFzV?ZVb)u zcz^U{SdRE{oZTkOe;lh~&{rI$=V09a;G(|JHO|lp@GS?Qm}udlhlUZyNPC=A=n=o zkO2F9V}1~D#iRScBj41O#}O*mH)l2c-=SCrA+B5%=^od}k(NR}cTT^J_Ko%!Ci|1x zS2MUhbYc}=2<1A{od;jrn&(xrKfL`*iu7-7EbjjJ$?Fx%@jK?J&c$!#d_{KJy6r$* z1|KgJ@}BR`EAZW$s>wRUcMK1J@9?{Xd9Uw$KJ;sgl^K zEtG42q{6smesx>aX;m5JskdE{%O!h)O1jrY(dV&{f0S2BBJQJa9|$^%&wG&vBEc_m ze(RyZ2C@wsso1pHh2S=QO~0YFoWp$hY1F12L{S zkMg`nI#K;l@D;20y%wZnx|$b!liMn{7vc5_G_Noo*ed&hbW9Z!5D%u4yJSC*e$>r(N80l>HRrAE*mlwK!5k2J15M$bQc}S3(kbovYq6g zXnzO%6O8bbsUeRxEQ+xEQDbM$) zUXI&F=%{Ywm-{ufOSnZ_^k3=n2sus&k6457gDZ0jAwQdYmw?|)mrKieQf~K^o#E$D z)(^tCU|6~g`mTB6`CCup5OAHdksLo%?!WgaA>KT_=sX&)m!sWc+K1H47uw5qsV?}@ z-`)uMO0PLj`-;y>3i;ntlGf3le%}fH51U(|UiNkLJ!D?4arau_fr1?b|2wXSQD1Y8 zPvW>Uj^BIVTPWA&{uBNR^erH_3)NS1_b=4TZq*C%W?9eyxH|o0fp5rH40yCtTRGoS z`$`q)US(_JZ-sHk?JkD+G{5{!9;c{W)hxPa+nsiaFzy6fevdf!cOZMY9|G_5LdV;i zKOdxWm4kc0&o@`;Wq%SLF=s=6&=8)-@ABuTj+Y;>s2C3i&*kK;N@) zS3Dx{lUlYxeVxr#%Jri9e!kijcr4dDIiFL#9QA&Jt}dawjFX*5pMM9w`N=q;Ux%(8 zMV@sQ$ROyX+mjD`zWTw&~!hn)CGz*`uvU&(8w$^uoAc8C?MR zLfVu|7^hsdGNFHIl7125A$IRI;?2I~uxvm1!Ch@W@_^}mS;24GnfIV$H0%?`5$^~! zaMgwiGN0^pb!iLz9mVBXf?JA*nwUq5^X`2Of00&Y8b2K?M} zn#%fAZea04@NJ)H9N_ch;JQY@^^QrxI2#*U5OJj~`CRq`-J_^iRRpff^H69nf0_}% z4OQF9e2NEGx$cNVUGG}5p9xpLr03d(kNE`uE6)Ca_=_Ci@k9Ps@0QOwy=g4eS1M26 zgHUwMBG_ZM)Ps)W;b5V?q`$hsKFf|1LO%)(*acjK?s(Ro*G`DA%qpg8v(>;b-I z&15;Q2v^jkdy4G!D6VKIQgjee8sE64MW6!6pu83aE_+ENss#r;A*GWOn$ zxbg<433=NT-2 z<3cP%-<6Z@iE-$0A4Yro{yHGUp}sWTi>EY}6Lf4FdxEFi&ifIyqib?m@SN?=33l2m zC88azrIyL@Pxn~5mOeuN3TOI9@PlpsGQ^2FA+HdJ0bhRT_?kWu_?q6UP_9N7k^L{X zS57+5Dmjk`{!!2EiS{!5xm&iA_{y}WfJ-?G3+--gO#2$<8V>~>M|-;0%eZZWkoU|( zu2P=VcMj z%W1tY^T~eC(3*%3{WnS>PBfKNurGGCsvOU9f817{>~OacbiyOw!7t$>8Dt%b2h-!m zXfN}vyt3b@y)+Nz0eAlMo2*ayBsB5_@Qk+z)Eb|Fh<$HqPJ&y_q?V^51&$V@hz87#Q1ARXr`0kO=E`gk{p=12Y^B&dL z`L!_oqJKm88}WV}D6jNV`Pnr=eLN5dVfVlZ3ePeM|;Fvi7drzT`K}1$v(-(u%KJNk4LYC3w>J z>4iA7cW4Gb>I!8N;w_j|4R(Z^^Y1c{AGEs{!jF*!fX^fAo9aqpVf`b;wo=qaIneWs(RZ+Iu|L-X(N zxF2=}9$Ily@TYNfL*T&=GvvH2$JP7{z>Q7b3i^>L`H<&hgXo@GZcnVoL)a78drHXv zuFiCCiQ}VLC|BKu*4?3J`NaNsv@i4{?qfonq+3u2`l=td3OcqQIsi9Ss3ZH0><_n5 z0(ZUB2>PKklcBF#F5Zt6s#gxUc5X4j|4u_!Uj#j<hXz zr~F*o_+m544Ql$z{wIF$361xrE3;(#sl80I=-i8cS|_31^}f#3E+t#Y`eeWU%x&1` z{CrFBgJq5neh8Wm3;Nb)Db!9mx(fV|qa@}Pwl~k^`jVY7?L@@C=bw>sxnyVT`7u-&I&r3;s<~$C$|vV-C0ZzJoHjL*Ae++1#sud{IU*}8%h`iJ0n}t z2=V4DHV^&HF=C=%Po&~l#G(GcKGA-6LFnj?iO)B^lcvBgfz5p0B9|MY^KzjAF2SFg zT-A{mwEO5BAK$kzO(7lq$o4|J``ZNY_u*>d`5(iOaj-LxZGcc;Z_(Zu7h>z~iGKU| z2K->!r9vLo<_Vx(LSH)wI{W7qKpu#gM+&(02Aw}q7RoE=1e<&V{~P937RpteosIsY z)2GNd`6m#pir?)^e;533sXh|Amh9Zm#8*8Dfv4NlT;>yQDVziCXv)7x(6=0+_X7iQ|DA-klf9 z4OFN5f_%C7J@#b3w|i0e-!*-+;7@atDby|%=zK9BFFc8~uca_GlKG@#(&WMXN>g6G zr@1Ie&hw{MD-4oEh;d{M=c&pqlCva=M8AANKvr~UF*2ym8)PJ=H?T8QS z-Z6r{C2b4Xqu+l=&{218gLsIBP6__;&iWg1>$2Sx@Zb;Mp?&>Mem^0VYw6IN;%c#o z8@|xI%`l<09Jj=`WmTYFy6k>gpYR6PssdM3c`VrP_WuI^>yppP{vkgb!|8!ro0y;d1=B65-B)or&LVyBKdp@4*iS-}geh zTLTx6PrNx!3w-T7HQ87Fq=0)S`hjaJPmpn{mtpft%2OSV%YKvN>cdL-#aZ*R5T8c( zRPdE`_KE(`@1yq&P1R2d{m9qkB>dyJ7ZAz~J_|3E z6bi-X#Usq@r^gWW`2YQ>$yRn5`~A#8!Y!sPz&%<&_`!nRy0ia}?zsnCH}MW||L7t; z7_KSx5_l}rN#O2XUj^KxH~>7FFKmHMfXa1_ya+t>^TA&Ki`zqmVUNBg;l2>r6DfNf ze8Yj7{TSa~lgf1_kp0o>9^iqo8)1*?MONs9-sc&>_|}s2eQNtg4RCFm_rOgBPJ(ZG zau52Jt*r+!zWLpG;K3^=fQS3iy{+yuWWTHZR^X;7zYJ!4j>pvBK;N+Z%MgZ#N? z@YvOTIM?LwElz#Z?&9_45%*LgnzT)FlY_{Jlj zq3_5}-`}w|BpuBb@~5@RWUSAmN~gg0cUud-|M%u~pj~oVW>_hV%-3!vOb_)S_eCRuk+0XINC*lW2tQK(pwF)TL zFs!A9@g1ugpxj7OdEmLTJ*~oUb+$&pjg@u4t@mDh&v4z(J%Ou3q~obXI+pfikEaRg zJgD#lI*wNqhg?V3o^&FcsDH)AP=Ak{eOH?4M>gGnKG(VVcTHL6E^upsg0Lr+b8j2Q z52llV>v9wBcvrFg|KjRQ<-iZsYTtq3%JC-f-A`1&9nytX;QLw$I_89_$a`F0ahUp1 za84p{=Zt0oKlZi%um4-FWmFpI+jH&(ZgKtsz9BQkZFGC*fsF5(+El<*BgY{xah%sH z_H`2S61T^Y_!jN1+4O;Mj}1D!T-*8@(C6iHoqyvTIM?C0cYbKd|JrZNb{qQPybX{~ zeCG_%55J{;svP_reE$*hgL5y93kr`8`OP(cH27R!KZD-a=jC$!fRWDObA6@jTlmdn zUW)VWF{veV92+SATWe$juC0|M=zG`G^QQmw?`DKfWNsbI2eq4k$KQpUn4&&$`3-h@%}Wu7z5neWfkl+PL$*P^0`#`k*xH6 zw0OSM$%%M!HY!(_+3C#L820G4(RW5H6+6YD&hhv?^&wlaSBF~u8?PlKGtczkl)S};5K9Cr+Vxsd&RydPrHBjBM*HFWI% zbuGycmZaaYE^x1`f_ia(I?CO~IO?4LwLIhNcP67=iUIYYV~uO~;EpD#mK$xiHdS1? zesik!m|ho0xvrx5^sHP(ko>H5rqI4^M;+|6KbQ08_qkHl_jM@b=NEy6e9q zetZh*7n-)o3s`yaezUe50$e(ft^)giO-*VSs^zMF+YemP+l)NG?T_BB58RVGr8+A|)1Gv!U+DW& z@phX0ALcV&eET|kwobKNT{^md!&penZ~mgqz>mjmxwODdk2I(kw@3eX6ytY%xmp|D zo1ooT2Km9Dq&T;FPZPh+8{{kRou8@QOZ}0m{h>xffSavNYOwlghm#-d1$F_C{$2_F zT|bucv$s2)1CO^ybwUlkU#qFablg7^Kaz>=8;R$;CX7i{-?Kc%T>Q#0X!JjE}lEDF#cNR&O|)$ z@z*QgrxdRfanL$@8!57<0b*OefbXM`fRh|Pkn3hr>e?;RO{tU zqI<6FtvjM$`<8Y>yJ*x?!B_4-mB8A;F^%%1(MsK)|Y$9!0Qi00w8Pd8?nG!6#WZUP=(t~X7KRB_jb{Z3Y{^-yudA)i0{d(-pfcpcX= zdcF`mm#-xIJ85SR#J{Q!-FIiplZZUY=jVzw1EC+Uqf0uMDjq5{3V3vnvI5h06{hyG z)IOdn?rxB4CgW+ch#oqy>qm{)78pUQnF;`<^5C z@pv%ne$3~+nPy{O#W#igX{vGwc)Y$hNaxSv`O!%JRQdjXuh1Xjb%Gn{IcPj?Z$x~* zi{e%*$E|wb2CP&5<>z4a;_E5L8#*TuuM_J{_Z@@}e=NcH`iJchht}P6KLXd`d0tby zFZ#b`u-Gof5zCRM;`Md4v!;r>CLiaxV5hfFPT;y4AK_=!6^cXUkq6lSkJr~IhGSh2 zk6Y&x-?>)wk2(8N&KJtn%^i}ee$cQV>xFoIV<8W4^SbAV|3G@$4~gZc`|acTs_gWg zC(Z5(=+}JR5y~Rpzcyk(E#`m4%lh!Y({YE!^^=>*Gdz;EH*o*gj;WSwpY=6`@#4$1 zw4wK??SorYWdE;vPy1t`TR!N=^SM3#s$TeCm$n1NL$yxeYfgWHJ&FPJ-JIx<&cFj& zCH5J({oZcQ6jolmzQ;ZexZzfR^gDBX>UWO%&v7m#9yjE@3OrsX`9c{x)7K@4^W<9n z>Am%MzURjZV^ib%66wC7c)qd4zEO-Hk8ASKePmuqELZuY?3mQ}-i&6fcOol4RAv9~ z|HcA;@^w(K$_V&DSH2@~&)b_LQ`1piO9Ol2%MJY8c?5JDZK}+En!c6iT^)J@kGEf+ zX4>%7^i}se12;A+@*{Mzk&exh&z2fLY^er3o^Me<8Jrs5HFnsb)Ns#*qu@LHze7LL zKcIQF#k3gw|A&A36V?&&_42i}0(VCD6l3M6=F)spKegllxm@&jp2q^~tQ;=_zP$ft zpZ#5b_Iqsgi`wibUyrzZ*X_rCk1y9zc0*qo7xZtYFKlJFbALbB6COvQj=4JUUHPjb@BOE*JV-i2dV_CYN&4YgbT6Fdd}Z+YzJWPSn<2~&-Gw#@>?h}& z%N8BVes^sj(UAQ#=6waf83w7*k9-}rpx-GU_5tpC-xU2we?im_{CW)eL79v8!Faiv zJtu%mOMZc!>P=*4z|tGIujL%zj+`%`Zy)>^dC7OSeFC%RKYpPTzzyb=u+wvep5p{_ z())YSEh7YdePy~IAf4qq?0Xn%)4E>W<8BJmH9S9uykVDmpuH;fC`evcE`|MT%h zV`~cBpJ_JQm*a|7l>gN|$~0npp0}kBO)x%sC;XbgaK6u`TTJgENGl&VVYqSyjSI0H zS-@8pXwjJA?n~r<%jp{!PvdpM@_wB@Zr{f8^ZNzt@3kky{gZJ1Pr#!C-0(xR$3$x1 zZwF3de0{K20{a=dPwPo1IhooY4o0ePwR#Ml@I@h zzU27}`u5BR!H@2z{R(fo{g|f(vd(M3$_cNa{oYvaBA9nsGp@n>-?Nj}(fZu!!FT)5 zL0|t|-hX>B0P{e{qzT9~e1BN~X~s0BYdI!i{q9Yo{WN9wuiz{7y)i$xADRR^t#9bw zWaqWFub)t9E_7Vah;JD3dJ+5k(6G}L*iU7I=1ZPskAW+v z)*=72qJ0eW?8b{3&y@E%aQi{>Tkf4%oD8=O5bHJSQd;2AAI~BF&37r@wB?oqHwMJ# zCbrG={&;vU*{@Ac`N1&#SMc4hJ+Pmz6OHn77G+$&uwSeIJ1skNCosEQvi*(|gd2Wt zD%2~MztAkkEAyiIFYKpv$Vs%jx$Q@k8#}oe<;D(D{D)$6|Fe5%5dGJorTJm><}Bzq z6-AMUUF|6U80*q{TsLDp@(IVK>qUQO<=KBcjC{hMH`%VO2CgVcc~8@Y;@^FFEpW}) z4(Qh$k2$UZfABFQbOKR2=ipi1d}mRluDG3IbQBU4nYq zzR=B4&a_rSMyY!5s6{*t@;UEmY?UWNbF zr|-bet}UDAK!4AE#EEq!l^ZxZY%aqC6LOP1Cn--F7t_6nu9Y_s|EeBcpcA-1dLHAO zG8ch8d_UP*H$C=UHM9C+zU@q+cJYm%`;ZNX#r&x-(7ng8>f%1RZR8IwrtjVL3HC^D zWjhPe_YS1>gW!K_C+Zim0&l<%wifr{1Mj*aKbt;G2H!u4>SZsUo$!S6_&X+230>KZiYz0%X7Ck7?MC(j?bLUhy`kJYbq(0&e>B(`5E{5k1AfX6z{7w#h|- zd!p1|RG;>f&Mi7Wtg1)$D+>`{x|Qf)I-IY}MCTK{1N4&^?v&3b*ww9|V@;raLT4t* zC&3wi0FQj7^DUfjxwG9AZ6YWHyKec&s~oxymkO;7t*?#MIXp>sKb2hBa< zPs2>ocf6zfC%L{YKiRL`xEAXp0ifNMZKy^A*Nyq+@Au z61a9D>6p`zj^)fKJL5~g6RtFNfxa>`eJ_&ZQP~f^PC2pu?Lm6J^;4 zz`c8ak#*)L+!=>HM2!?;+yfr#SaNA$yb^A0#s!T}SdW-`6!K z(77Ppr}xlTUZ!(3zMT8oGrr@eC%{c{=Z-jE%0cIgG$&@YX8gc2%Bx&oePSK_$@yOY zXVgpe!&Kmoa(_Xe^G&T5pucl|XdazAGM%OUMcWMGd)HC?81F{GH_RqKL}%?m-Zr0k zgLR@UM)mUb?MeCk)9&ibPWx!maV!`4y5z^O$CFfG8RKbNRfIoXT`miDTFSQt&h6y& zl5TWGyYPDbx8E+G2Qa^*c|~wPy+0FgXSfi(=cdi~QOC;H_lclfOR1d5lkt4-Qx$OM zHxGYgeC4nQ;G2fi_euZd=Kwy0+Qn4$BJ%T`sjV;`@%*p-asqg~zOzLl?O(Vom8&gPMfZwdzDS_dpUNkRN-k%CQzFcYTaP;SR z-1#U2_A$)rA~l&#@DIxK+MCP3*S)0Y{$?NfO*!Q;`1)0w>oC4Ah0f7QmYqY`@A3NK zE~SPsJZKX2ZHe>1x6XKvb_ryse&HYY8{#-#M?HN5aQ_~9{vOCfd~40uh>yUGEwD#< zkIof4s+T}~#_Plm=Hxiq(cPWeG0=ma1IF{E?Svbr=;8m^5UOurM?=hW;`z>HwSg;^ z)&*bHh1$zJ=r!g`@wj!e8vIb{b{NN9mS<>p$CtmrkJs1gEUDw0GXwVw+E<PkBNJLARcTTh$XZHV@W68{_u{Q;A^dCQD4Ooid*MrL#q0|MXpr!10^?b zJO?X38l^m=uTS4~iZ9ol`)fU|r)W`X2jNQ9b1`|FC}We>nem==1y>(GCOt>@nHN zapmz5$lLxK;EAAf#zta1I&bw_;uC1vCj?La zP>tzGe_lX+L(V^;WB%z_C5A_CYy}?cd}kv2U8NEC_pB`_5BL;$(C>JDFyxw!{9wv7 z4fgYWMSa<>SO@AVO(B0Cyaj!A#f1*0Kd0tl><23D-30D*`~iN0BE=He|3{kBe9~W# z-m`U_eo&j?=DO4_wsc|e^*g$vT+X*%?=^+-;`u(^kH9rcMZP|e3HyH5$KrmVW=%5i ztN$EQ`g8##9$xg+XLzo|1r!Iz_hIxbsh7mrkXp019FUK#< z%I0Lh`?57adqw(Qgnu+2Ya;JyU)+H|dEWC>pzroJa8bYGxaKLn4_kT4VDSITpQ7*IM-tQ5JE(s-Z_#~;UNy~gIN$YP75J;vDGC3} zS6rm`rnMJ$!p~eMmRtk#4a2&A*bmXYrS++MRT6M@hI**4=6AAFKZNE>o+cC zp1v1m9CTF}M@%mkV|>vhjDer+^800mIw=@OjAL7)zI?r7EkyUL^ZB9vWeDx-YwX7O zqCG+R$9I9^#P>Ek^1NwsCeptykAv?|0-vU$bp+pcGPlpVi221`ZV~dT$U@K zzqSkhacz*_mr0@bp;Y&19T&>72liMy(*A>?$~o*qyUUS|%SQVZiqcU5SIF-%DW7LW z|KRT*`L+<>*zE}Ln1$NcbbjMfW~X;9z3=b2O}JsbUw;>j^^9i7Xjdbj_1(t z4db7aoh@U)%`H?8rl&1)hVVROzw76Q6B%y(mGqU<$R52qB;bKjyP;zYEu#FICk!2Z z!9&13t^&XvTPRNK=N!Pj(|00&JBm>rvy`B9u`(Zhhea#DH|NPR1AJ|>v&hF>$2^Mo zVf`38vy=PHxsdj$bT{(?=j$dzPkJxL{C>$8#@7_R20JzKdvIR)JvIMPYDbO-Vqypwa{5?nhKBIL5JtQtqD$eMd@d%**(`jiLTn;Ne39F#qEE`r)+iWL=sCcwc_Wl0@h0yxX=wU;8c}_Lum3qx`*8|J23389yrL4dZ8uLr?nA z$qcuqqj{Zm0KFd+zHI8kaQ^20YQGHc8C~j3PHs~4O+l^#*EM*Lalugc6UK4fCE7o?d#JvKsTnFTop1|!j&I&|20D(venH-|l_5LL z8hT$(mCuTKxcj^x`kF)VChVyd6SN{aAFsDbkT;CD-2e>o*xESLbr_Ccj$aY%BHmS;R=QJ;H{rp}S z-{YTuDRwsp?kPVYiSd1nDbFkBeGgovXoPm*&(T7arvSH3$&Yc3KNqt+=t=s;>Xl?V zdNbuEZA5}Uzf#LjlTuepx!l}N=T#4bD5=X(8 z9`^-b@6HMPIX^V*H0E7y{g9@N&*xFLR~3P8+?4@ws5x(jPN?EPz@r1&kw0}5|L*iV zQpNQ@(|tIRw;8K2eea&N&`4%4LrJ(&i`=S zbArB863e+oC^uB)TiD}L4T7I_E5@Q;!MEdqYfE#6!v@QZUFx0 zI*PK(Qq|EeECIg1_Lqk2?{vX1>{o0K3Hp%=e*o96E)4#vpXfO_KX2pvZa3Bo%6_*I z|NNYQxos)r|LBBP#hJclE4^2%ZjvrlT)X`Ybo_4`HdsIFH_@=TmfLp(6vK#s$N#M}VtN zZNRvuQTz;@=z(Xzr{&JmfYr;kq787v;7-7GYd2Efkk26~)7AwZ?0voj;~V?ZIYy;2 z4{+IH}g1+=CJ>N9<_&rtJ zZK3B8@%s!0qh=wqPkZ6JX6&b~4XvAOb#5$RzemqLDZ_r6S0tlcWrq8}ohi=|hyU(B z0asnm2pwG?sxP-Ew)8dl#$Qh~W;$Fy*4hrfW`C>F47cv<1s#3Q)xZN2TGwE>Mt*+n zj{TCVzOMW((mzT2TKu`W*R8~Uk)om<_2SR*t!g`P+ous|FTU?&Tt5=HGwC_%8+K8B zHH&HhS0#(}3QhekRov3(8rEy}q6^?3XPy+)EB5F-aNS4)>T7#M?dVKXknEY#Pq4>i zeF%PdZVBWcZog{}y$|UAL40q~dvzoDR@YDP8-L#|95?`dNkQj}_r`>xYNb zs?GHIIS})Zre`N8$fzz>Rwm4K@rel5lL zs>Tz6tC!IC8Y}0Vf_)gzILha-^CCZXlHyJJvI6$2hLkABbYhRYLB}+x8tN-e`v8CX z<@Yia=e`3!9@o@vHVSrhc9&;AT}ib5)zr!fJWzHV`WN4?_E(*Qb+2RZ^=gc-U$q_O zMrOVq!F~^Zu9U!j8otu_;;9^lj&+7;k9(Q{Ivfu^?Ft=R*PlkSzyE*u-rWM9*Gr17 z!#u}t?eQb~J57c)(DCW%et+uZEO+fPFt@Q#}g9sSEmz~lM8H5sALas3wR*PL%?OZO_M z<$D#v3+iD%c}JvQ!vET@yu1QBes%F57;Z@CK)I?38-Oc1G=V*e|s&s*lV``bC z|J4axx(<)dOJsywlX$XCt^ac5c+Y@fT7Ck`qxm;_t z`QQih#EP*0_tvNNlxD*<;9+Ggj4yimyl(71-G^ujm@q$&wpf93BY)C;XWSl3Pl|u_ zsax<5*Z0Z#md>4pa-9L1w`*!{gq{9}FX11)|F8D8hEAlF59PXw(K;*Ar2=qAmP?o) z#6hK{3E=NgRfJh&2k%g71fhlkfk-ZQ?Uc&L0Sx0CULR~rJ4NyHBouOQ&YpBF;M zw_`qZqGzaH200I#YOM!u*d(53_8oi)++Kj5muVVMzO_~{Ltph{!LqD;-*}qWxtpF7 z^!a;&zFLLB=jC$To+Ro7(+z~3TKx(5-+ZigNv5xV69gVvG6uLYaYrSTTaNZWwJUxH z?k=xDKJ>L-LOQ1(!yczAf;jhFSqi}w8$!^oc|*`J}BVerjWNXH}VxG&Q8%Yu1o z(7bNhB)B!Ed?& z1EAyiu^#Y$&mrVse;1bRjI8YjJhs%4#Blyzzkf8HXVVm~gLd)$MeP#!r8xM`Piast zKR;lZP4@%D^Mez2f^V9%4*XD0dLCrWb&hmWJ|aJu{-XVJUuOFLrgXSmb7l`eFKx*B zU=I5|c@&)=;LoAFchfIsxGqBHXB>lQzbKqkl<;TGuzrk{_rnjac}C#weV;L21a;Jo zp??ThWV`kQ)04K32S0c`8GMdw3r+*>dpkzZvF@ilrtO>-xbOUG)Qg|bkB+nhe^dBT z3#QNa4OC560UzAGAN&)}Lg!dC-|PhLoOVXf`24w~`&+`jiN9i>A$p3+_2eE5zQ5-p z_|3U#Htf_?_y+p`x@{-Wj*h`ofm-2rYy>=*`#AD8e;%s+_`OiB^%mLV?|2{jT*p|K{BKxs5V*=!AMNEoO#U}sTp{3| zAIblL%H5!!`(=d$X6Jw94yXcLeLffFvBs54Q7`XR{Zhs=Yqn#3s;)-)A$qAjaK+5I zRoMUA6;!Ub+(**+ven3NLrpsGY5o&<(C`oD|D3NHI=4TwuT0uC z3GAnJ#7ywhP1s^(zlT4TEysTP-_tx?C+z@kadb#vIA8C$g6p6Y?ANOd!-M@=K*!vA zTtE6<#I4s>EMj=^k*);xlRs}Y%nM_yz>KIHd+8PC;6`+$CbB}@W z;GIJle=XZ7F9qMyy_EKSBCTFXi}9Az#~Uz_hz{3In8tU zd2GYeANnwypT{;1%(aaDZk#Z*7yGH7OYg4*Ym>h9<7en_ea?42D}i$V;}5Ejay@Hv zLEn1eC-`4e_#<#l`fp&rHb2?penHPkqf3A7%gW`?2ZLi~fv>OsHkskvPX7Gyzx!k5 z^XK-j^gP`)xWFLB=jY*Vo8F>dNIR!v{~&ztSJ>mf`vv;;gt#7G0eoJs za6@`NE0r#eeGC4a)N$nt^ez2X4PfO)GSNOZ*KrN#0G#V^+|%+o`dKhzci0oVPtRcu z*X9ZO%KcqoXLws4@Ky4;dfz$1ea?R9m)vjMpZ+H^(Jwjf`9%C^Q(AxX=h2Qw^gc!K z)vl4ue*S)hx&fUNaLl6j$T{C7Ki3Yb>W*N1jz^1_V5h%AiQx?A??Je;=S5s;{-pbC zb?<&beIu*rxuGgKIEwLOSIxj}fxFQ0mMQ?;T}Yl!$~wyQCtxSn35_oWee=Kw$_-Sa zeG+4JI=7&$KM^{{hP2=AFL{gn*?Ktm{2oiYd=9~AsWy(;^WQlHHJzhSe_RFJDZh6d zbbUa(D`t(h!~Q$_VZSw)3HB&6?g8I2cNlQq?ozAg;K#>M_< zeRFCr*TA=9S-IXDG%vDUp!Y#y(ij0(e(ZqyD#|oVVSHOxdj4zAdzk$2f$A0LGFPx) zFWYbUell=v$(P{!CagidB26f7hj@Kk-G#ncuCFQ|`OTT|Cvg5=kK;O>S8>QXih|T1 z9k1xTfxk~*=xgQs4Y=P_%fEvT_YcP%2PO!3rn`ZIJN#^J))M-PAnB-Ikl(^}h_9YPd5o89dO-JE^7BjP$vL5;o3bz<$JknxRKstp5!Rh=2`mtm>x8q$m5q#C6Zta+k?gHh9$a&Qa z_Pe!oi67a|SS>g7ZIkR6KcW`~mSMQ5nVdI17XyA~i$`L(+ISay?So^}*ze|}v`(=e zr{`SK&d1;fhZn|rD%gbbymB&qZ$2JZ+`9%HZQ+$z?-;t$KA5TvefO8!=_*a}Y22fR z{Wk|sgFV{l1K1M@-US|9zWOI-SE%j@;IVo=fZO*iuM2xyYyoa?Hz2-jXY3gHO`1&K zx4ZPDQxfAV8uSHUIk@*M_WLD=c%IyPpT0L8fA3%DLPhZ7&!4M?(RbDqJ%-g`diKfW zPkxV|x;H)d;rI1vr#PTvnlQWqhS`-GZ zzSFD;)8XggE#IU8?(E*A8N>PeL8cMifb)9=b@KD6(4dpVuOZ&&pw621clP(j0ePCT zpZwkiYlY|F=Wb9O<#Ky$6X-j3>OnKm?&@a?$j?b_F>WcOvDi;@pQQ1^R9OCwl#DBH zYye;SYxiVUp4maq`=Xg>99Qi)1l;o1EyRQApcQ;q@Ac5v>ekm{f9DFGVJNuw>spxGZu>Da~RfQqcY0@t;qdy~AGX@8|{mQpUMIGaYXq8rQtvkY9-M|e?b|x~M-1dhVd~#*Hq%YYlabm*e&57x`3876ml!AZ zpXs}$@woOcx*sNT^+W}x=Q>H_sbfxC=x7rTBfs(YT*A%i{g=Sy7Zn*_`b8UY&dQKOWpVO(9{|y~?iIhsLoUohnjPJ&Efp3wY--XH=fOCER98EF$ zD)IMr`I+hHz6?b>N<~itZ{T@|xYD273taPp-iM8LaU(BzztViz+kQ9r@%MJ>H|3;! zCEIVmM)RNO4;J9T8^_@vqq8IQ!)bB@=XP>GcuO{bpUsI6%P>1__qT&@4vhkC+%XyL zs~kY{L){pd?$njxIP^_3n*;YZc#r<* zx=sDgvp9k{w+~EPme~{BLH$={FO@1kxnxeb z^!fWZs;sonrp-`a!0qyVDW-yV5EuO36{USB=6j~0^u1Jf(>5qq+we8b19zuGxz_Vt zslM{QuJv6L=;-8qU6YKPGtL!oelLwaI#aMeREYL%0z0q4&PX2Gzm;y$dmqt)OTg#% z+wk{>^rJT7{4#&vM}L*(z2;@zfXBAcxWjSdwoL+V+3^VbY^wTQf%`W6%N?R@z|q% zh;#Kj3H_Jn!`N?wfSY%z(eHH69MHE-r+dYv0>5IOqcsl(Zk|B>SGo2Y#&O+1%Kx@g zbT5|qd?EBNV_q6xoO4KDdb}FrV63;iu9tCMu6DEy`oY8rWM|xai=II{fNQSg!Mx7B ziu|Ka-Z+Q(EB?7~sF@LXc;ZIXORV_h~3Ly!nCY#2hZ@_^Oeg{f+3Hs`=eA;96@}=&RS1tHk)uQZx>R(-O{g zoRgM=@4Yezd~fIUm7#x~=HVt^ZQ$H*%Hrd|H)L!FJUX&#J;s;Z>w(*Imj)iJM&r9f zo(Ed~`8HMDwBju4>wiq+wN4(d_34fiF4rse#smF8mYQ=}dHlNo77OJi^Y;yahwIkX zvj2~^qDYd!{1d!(9XjgS^DzIBR?<98b#*UrbL9{D7~iN{0z2L3CID~w zPyL1r5A9zI-1&FjdF*%7b{dxzd|W;?4SbDBLO;@;r~M-R%D;eHlf-d0I{Rps&~zuW}hR9!ruukD@;eNFP&QcO?xBjpogX$Np$axcUif8MQHun@R4&2;Lg3YuTp z=hP&;NPgtE@Jh;W-U^3NuC~Hk%-{HX0h(`{0$0?z4F5>IDG&I2>|Vg^aL>+ybpgLu zK^4vqzUIYo%^W*{mb$h+_LClVWH#b$Mv9g&O-42o(B~? zSQ`4Wz2*adulIK92yVEY8P`|7F4p07!7Dy0iuNOO|M*$ZH!s`VP?Rgz*IJh61o|hI zMck}o?!td{QhL}skET6mLvzp!t`6~i2ab$vpQ`V8&Y??N3FDgYBFDk#(JrtLtt}6( z`-j}<9t9panD)7hPzOG*5nW`*I?m=>4u4dkL2kq=Q}!m}Q$2y})9A|=;M&vfmV(>W z4`A=D_#^aHM(z)&q;W9Nbpd#I7x%T~=RsWa`$EUvV?Z1Q_iAY z$>$j88u7UgSCcxpUfL(jGwNL@kjMHA&)YzhtLVh}fMsb~eT_8lQnZntH@WZv`6M`q z{VTY663X@G`>vwUu~g@LK)GcUc>B!{I8Qsy`L=ll^{u~pstfy=H17(m`A@mhyvx$E zH+14TXT#q8lH;S!JqX--=nt&dyze;f7}M1RcbwvU%q_J;&r0<~QJ$)QUF2csYtAdY zOQ(ZdRusiJrD(xD?zxGshJ%t2|NS-q%v8XZ;U6^Os0S^!)#Z#Q(JYq)Q3{q$^t zDEGfQfpxRNE3WRBApSo(|15OWi+gZgbZ@0zaD$2af&O?F@K}M`xW4l91^)Ncam_o8 z_!y7efKKq}80gE-3&a~90uO}S4G_AyQwCzcF`RQBxNZF>aNW}<&<~d7y5LpZU=#NK zt(U;HIorWLdU8U4!F8sKh^ML`=OK#sdDC!nJ&t$&iG2scUV2VP`ld~0d(cZwO!!F833!_WV6`ww}s4t0F~9`!c(_rpF^g72p`yybJN z`gBvtPjVd>NacG%Ef?5sji32Dl&Rk&totHYF0tHKnU@MbjLjB+8^7BQuBbc)b@4H~#+RR`R`9nv0z01eN^#PEooJbezSn!`{)6zYnTk^1M^aIbL_!UX_VD zvVA1SRhD~ZDE2vm=I->fMLziHe3}_tv68><=p^n)*CGwKwB+x$wvX@Ath<%@q~Cq6 ztbx6{j1&h+C){c+?Dd{7%2k^AJD0)1_cY4;4@Mi;xthefQ$+ma-|L+j_0FVZbgqbZFXQPr|nmwy>Xi$6iJpd}^L2WIsF`{sg}8Iz}r+P;N-M z6Wn^GE$r1@-lATfrCfihUS|alTARQ=JdxwF<05|tR~&2&F8>Z5%b`Y`Jz3q*G2~|+ zP)hc$l~HinKAhza^dpt&k9q|AyWhP#4fjpB2|s21h==;&wOhfp^&imQbO`$X@0nMl zUfy36N}_$V9P@yz6P9$Gua8jwY+m>u|7>Et260{ylX$?E7u-9P?K7<9{TqQNxu%Ku z8;ZD~V=BV?ovg;w;PQFJ_U79e&k*l>Q9qdkd*gT)csNH+*vs#&R^(-z{U1l;ce7Zt zUa*(%bMUSF3-;<{_6u)V`W^OACfLjOtH|f0Mh^4&3Hf|f*?;Z8bkGS^=6uGS#Qh~- zho8VT&lv~vD&B7sDsmiL){mz!Z}^jTgL~&4ho7n;yl+8~<$AJ+k6f?d8s1kB7w`c4m_5^`Bk75->2;D*c$%pdb3}+ znq8p(cc>$u>*6i*E!vg!jbpf|m#aDRt<04mrgTn;Zt{(^;`F-*Kdmp`Yex1JjckstjLMk`uD(qvEK0?PH z`xgFa(lNiu_mjjY@_rB3NA_z|(QL3cU91Ir?Fq)g-IVu7d7tf0FQQy_WX{1`B0wEVz8`pRc|h<(mHUo)J}-Dr1FRN`tiT4e<>4 z3ic{TzB1zf!w$Aj_mczQ5xWcXtJqEE6Vs;kv~Rcse%jY@KI|;s9Ney-L4Io<;;cQC z89X*4?en4fUwLlff4Ta~f>FW`&(&Hb#i#kHw9nA}Aaq>KM`PZi-^uxNd`w>0$ELr< zd{|Ya3CeYPx`JCZZ4!iz{61NCr9bTAd+eV&TJh;#$bAx9{j6!Y!@m+biql(%3Onu0 z%ee0Hd5`YqBZmkcI#{xp_|y&LddG0>d$d<~`tpdIwimgzE$>5ePp^Ua#0oM#@h53@ z)UVjToQLzET-Czjg@wK~H|uMgGzNbDms|gC3V&R!uNs7XBroUfsxIS)iSM4LWf3>~ zx7;`LSCrmUdA1_<4MMj#j)xLL*ncw})1tp~gigfEeP-3m(%}EKcaPYCJg9oG z5c@p3^jDyxs=FQB;{TLa=x7^rzGR(H6nRH;h3(VP&_n;*4@kr1cI*42`DpR?mfdM} zY_B?_eL5Nzs4D(nKXDv%G^<%|XklmE&mcdS9nLik_VROE%HzzRwi0|#nXNCMFO%~? zAcg(NyYEY)(07}o(6?Xj1szSdYRD(bmRvWvJ6~QX>>7WuCy3AZtGTduTx$dFOL5?O zDb$RA{P$MiiqT79@3L_})A1-s``PbH2%WI>ypR4q-?uLBk7?&~Jd)qfa;JZJwA=8- z7ARLfCq%LGR#~AF{H-InbN8Jz`Z4J_Cflk)i-ev1*#hKYO&+#qlcp=|bu+r5J*Wyv z>(+_e$v3V>|FtByguY_P%>O4hXK1xp=od{bViKR)nT(I!&gXR8-!5z@xN{r(g=S_K z*k|ahz+a!bVb*x7qc#iw^j zBIDD{2m8=yO)bIAey;CA?>B=x6$_AmY~L{d*k`T;cQsUkTgG#K9_sN0yw7_ze(#Xa zD~m4V^Gg1=36+Jut|$9%>;n0PtmWXRTraPJ?|oL4{TXrgAK-j1TzS$w@%Q@E4-q$c zKgaz1BlZov=UvE45$$l)%QB)3>@D3MVBD0?@o@gU6q=AR53sL$G>CdxOw2R(awc%kz&<|-d-GK0x5(@jX}EC$uUG72@Bb&4&oj|4 zs)>GTyufxFEO{07{<(z_XY&>I7k!l^Rb`pqWP7WQ=U^$bFb@ZIaDHe%IRZM42U0tfxYN(` z$^OT0^M3en@glgh0Q;kSKdmkY-$x(FyAb{xX7hep%kxGUucD7Q zACC0e4FBEhQ^7TJr1hYa>q>KN-aj1qn%70vk3HY`hw#UqiTfnx{YMzj%}Lm3CBm7TMG9aBFZ&iX8V!3sllf-T=$N@3x|z6 zQ7@m0{l)N{`p)gIy9ymkSFT@VuHQi(dF4mk%#C=xZ0WVX348Tv#!ZZez>qo`WCCKyo zQN7`h`X=u;4td9599L}R{MIs`_cI3+wVMbX`TRzGi21}m?`S*0L$x_?@xS78SeE4X ztpt~K?0LD~4DRdEUT~|4_404${*u`=8~#M@a=xle9mebRXA^Ms$7b-;@_iiR$f9zO zF;6qTV1CxDDFu65>35j-%I9Y~o+g5O7H&g6S5%t`9q0Ik;P%D|u#a3G4DKyl7`$br z-55{Rg?ZhbKRrdckK^?bXT=U)-|(A~u-BByoKMutU6u1{Z@3kBEUO>mRJ=t)=xa;O z0=HT&a=aMIdZ`onUYNR%we)_hsUpUV1K)In}+!yj}<8u?y zoMX_gjOEx)WdD^HyVn$chK_MQ5N~xI)OaDC2d;0nw4Xt(k_%DJl(bV~0JA^zdw%;&bhZ&T;y zdgOtCmg_!G!_%;j{WSso-JDDw`NDSS{bmmGr(+uPzhgM}pH0nz$UibS?p^>LN9~)) z+vXYUN0C4Fg0IW`7xII((tP-DsFWMrJ3xVQWBHip!;3G&Pvy%;u(wR)zMQ`4B-rb$ z6?%*Kc*;`WdHFE7s$Yfvf-7<^fxf3hD!8LM&jI#UWB##?+XHU7^fTdQ9YgZ6ae^D9ed)jl_80f_ZLp7P*&bZOSg*j4iLm$o#CpZra(^=7 zED3u@Jzg(;C5|t?_xwFVb(VS6wcr`z9NxNotSDFU^(E9xePa>)akOg!{m6m7;BoZ< za_KoovzgWJtTKK6MaUVSVdIi>H(F3Vm&r0XI zo4;0prKGtNx&1VwK;?vud^FYhZf~;r$ z=@=iqJ-IG0&Po9ve|=_xun$~iyR~Kg3UPEP)+GsU)!u=AXww|(49VV6a6|Di;P%Bu zz$5i?NPG*p@~Z^Q`(u%YZH2vS-(7I$@$#5AJEMj=&}qE_+puh^^FaopRU#aKqs(%4a$}GwL%9bVE%0%mJ{)p_08AH3=}%P)rn{) zvW~CV(Yb<$Ha|lrLOE9IpcvxeoP|`MJLMJ9!PuQuxE7VwgTKn=kDou64ZJ*vk-+zSq%8Y-Y+(q}6BM#<@oc{#-zXp$Q z+*d{D7~XOo725FDTw{KJhn-_{N74X#?UqP6&c&AM*z)4u;YbnG*0 za-Jj26Z{|bun%T5BX03W>tXMj{~7k~d^~^BJ@qEI@7-MR_(2Q$uWerncqIN1JhXBR z;t(kLE4cHkCE&`^JJ7D2keMqh%gKN6~j0?T^PSf-5sJ&+DVZp|9Qeq?6z->HccH{UP|{J6RG1SF0{U z$94V-czEkOj@QaSCFtva>;P`5%XLAt`*v{uxM%P`)|>0i_#7K_^xNOH6#BZ? zjGJTXxjEvyDq|O17vIoMDA)VzZg5vp`!3@DEj6EmhZ-fZ-G2Iv`JUWvU4<{f-ao85 z>g6oSb)UA%TJkE{kT=3dI9_|ZtI;2o4;P@F$HL4%zNH7DuPu2dNtEjxdJ5$R4jv(Y zSPl78=DvBOq2F!dB-G1!hy5%3l@na^v`UBn>%V;w-+Ps9vIgave(Vf=)yv3WVdu{{ z3p$>zJ;8M!EB6t~=WS{AXx%TyPxhKKBm8POz z!HXHC_;6o3W$Fr>`1|0PAJWEcYBJ`#YD<|k_R1X}pzlol1?4(lasFc~{1ROA_ygtx z&Q~n=<9ILhb)WyNCCUkPjKZ+n`ob= z2}#J4@%oH^Acf}!TYvlt*D-ow8|oV=n;kmZ4+mf$>A`ugZAoTu&4&h3xoi)v^9{h= z1v;Qy(~)D)35S-UT;I*FrGCNd8@;g=+?;+q`l)j$e2>OKC*b7s|1qCN;*6)e z%RZE=YW4#CNVaz^E(CpB-kpfE?Tj>^zx6l#iA~FjcI)Z-7xg<{2e&n;kM`r~D&^a; z=fFMXz34Bpz2m}Vl&h^j6ZuW&;JD+@SZ0{0k9%y}B=H$ZJPrNey^-MYY;SN~bXMjK z$2|T%7_g5z!vzoB&na=*+nd#c z{o_G=&e3zZA^fp?*o-*GZtTEy(U)R;^nW&ipB8IQTo-L3$M@)@wL^uzW~~!(izKq0 zsNd+|r#_-UJJ%KrLf;=<1p9c~{gOT7V4J@JJka0^;v7lj_#3@7dz8>uonD$CK0V2t zCm5c$8!f);s#IwuKIPxhR2j>U5#N1X|HAyrZ{qkBpSuG52j@SYbkkvPxi=Q=+E;#1LATE|J}gE`i}8z{JZKA8XL z#>L{h>DN)n$MX4L@t(`T6_>lgUOvA<(Q^%XBL(`I`vmiqcb5lTz4s^dOWEFZunzoD zm*o9FhFX8aPmLoH_P)+fBz@*{WvgM}(c=x^zpN8^FkwFYy!2;h@#z`BJQK~>8QlBR zShQR9)DZN&jjDj#Q^!c0`=6>hYr!3P)=N5Ee`($&ED*ZBUBe~L{1)6b72LTa3D+g? zl>Nn7pa6KR5LZ@_vLuhZ-2F!2q zfqZT-aQhzmyQ2c+#T0MHAZ!F6$^pSDGZg8?D2jZ*9(XoWJ`CwA)3aGIkUHFYD_+^akHEe?=E^ z_EUA8`_LcJV}j%lxhe5J^gRz7AsfOKD!Q~Uz@zVF76}S5NGFxacEb8tBijz!+LP{CNs*F-xs4E&U4hG&oUvN z;UOGPZC}rXy<F5?lLRE zqc5AmpU@rVneY!Az{5Ra$g80{%vXxp^TE|6FG%|2j(=){+b35l;QY7aMN>{ zbKa%e#C-_VG4b!F|KVfh!+eK;Dv{vyN^~0@uD|f0gZ(9k_4f zOTG<#S5_l*!s~e-h`VWjaASmdL+6+U9aY$E$nbUi~WgX{52WY3)DkTY zf1+#8ju!Uv`Hi~ds^ERvH-vq3$92ZDFZZc(*EuffHwOdG|OYfmswIuoly$6V za$c%>Go#o4)p01;9^9ep0|bxFWP7le-hj9TypzErx1>B@`W3jjIo}U2bNlXI@ZUau zb$_8_38m2g2IawZebPfGzOys9@zYD_sC8AP_)uSei+R775 zu(t*{e{i+ueRrn34^VD2E8DqiQ9tOr``_p%bmVh=E$z(kCo*y$^aDeK@W)@aHn?jf z-*X!MzQU>_YGZ6 zowCm)oo3+1Wi670T{!6{%*W*4#o~8fP7_>v@;&EiC%aRp=y`CHI|t?ip_9kKEhRHz z-tzH8D&|q@E}TdCW|*Mgt$%*-NL@edHKlldojH1m^FvABRp&DF!`@w(r^)*6NOkB0 zze$k%WVxOrFTmp$Ds>e8TD4rChN^alj&jdYiF19bdc|^sgA)zH-oJSn{E0Q237wYe ziV1>Sv(E$994iX${3QwVJ#SNTU!%$3s)}k{clmd~*urmSi@&eYzDI)iG|xfUIT8c>qI%2m)|6dzw`gh--G;_RzpX(mGg9cL(X$TtFC}M;#1My^$j`S zh{p3_9)7CmC&bxhZUlW(s4V!_ibv3HeHVCrb$*^p;IGravnW?Hg8J^C>cQR{9xHL` z$Lmc4zhI8H5cb*(oDaM1&j(L#-VEzIpN;!+sw5wHpi`-K&{s3hD7Ic)Aimpzo;3PC z$53$J##Ho|z*8xn@BRdLtsaE-7TDMk^-@lL53bqW4qPAOdPJZ5Fv<-V@7`9Fqgd3G z_MLeDfa`X8>_5o&54eiAWIL%c8TFFiC#W0rJNN}{d&JHEO%LceG!4NAE#8kf%kAIM zz8-k|#w+MJ+c5ulN96#|Hh{k$sTYidj{jmD+_9oE?B#uu=%Z`kij1k9g#UK+1lY${ zCxeGu-0VR909>7+4Y=j~*T}cBeQ+F~qgP$~2JsK4a(?I^lm+`RfvR3fe+P72(>-&9 zt}`+Y^^$*g(>)rTB6zp<8+pC{Ho@LB$PKQ){WtQDG9!Q2Q`K4t9pf=uYw>rg{N(=r z%fapQ-0;U{J_sG#1s`+_9rHn7nelgUPwOq<@uh3bLdWhM4Q?K@6FSQ1DO_Le6Z#WO zoq*IoYI&{zB<^eYCgVEm1i;kXd~vJ1RG({x=#x$^I) zs^YuBOYip75!@W-?=q2}yjXYJcWp-dS9pfQ&sb;(c;rC6mcl+bp8Gb@w+Z0xJlzoo z&pxgT!c+KOC&%CXy~DGQ{(HOcguTjPmGs%at}RLL61v)cxst@E`{OZ`tDJuX+`7<) z>!PtT{@zTD!J{uaBhLE#Y*&6)61YC!WyD9Jpg-#4eE(5Y*EWrP@MwMb6E4^h^8`7+ zDd%^eCH#p0QWbtiUbDY=%Y?wqd;Ms)%2}*eGUM))=c&GGHyi!MqU()v z4F%u8K6k@5sIUDt*FlDi2f(MV{vOvc`hGv`H61UaT*C_u@|AKH<7S$B2Hg6xBXs2Y z8m|PwBl%`aoc0PsEAYB`JE0xgZ%ga(JDX5$FnR{pQT9`Fo9ASj8%>t@8D962M_Awa z<4|AOUa^Qe8BU~1^`(7$dREv+l7GQBHD#q zuD;O09NJ6>335>J%EjxT;)=WY6`Nbw017vSE4TA6qKxYd*UV`mqh^CC>StcCi;a z$}F4Mo`-RK_q2Dx{^OO^C|7Q80gn&dQ8Cy>)K58!#c-Z++IgcR zxMRUUiCb~Kd?^dSGjy#bl{*$Z(tN=p;ZKd#n-ayReLmM~t~XP`JvYA~KK>fa5Bfs#1eb{K&K#~`;!~sE z2z}#s7r^81Di0StmhlF-dFD#+SmX1sSB<<0u35AR+&_KFP+=clF0D7E^YeAR4uKnc ztb@HTT^#m~RV$$rJpCtlcx3ja;_uD(AA>6=^Yf_cHkA1yHX1z6QevK3`yaRnjiX(O=~{E?STG>&o2oAO;=($eXP1>wC06M1Ooe zGt>Wdv2j92yXaTg$Bli!HFLQS>58oYw+!ZU0s8af#tVC6$IIZF+@)c!Ezk2kjJ23I z{8_VuJBO?qE9`@tr2UqT25|qPVJO!Yo&z28wd`mQrf>Ov5P6?7P=x)+-fR+ddn6guX6ki8T7E7i-zh*X)$+d0k?A z`Mim8K>INU#lQa=GyXD<&x@tu-dryb&q&9d;N~71;HPujd+@Nt4Zm{VQf`Mj>Afw= z87E+GTg&H_++~}fUfQ$LJoz*C(==W_e=qNcm;wiQ9aEJkH?ocX%k4JQpZ?43RxUT5 z^9JnY_Aj3UU`d#Va^-UX?Blo(X?%ElvfrA2Y|Ib z|ML5ZZYc}C6;nq%9bBj*Q=iO-2RNAtOS`F9yv$0g}_Yx6q#w|`)=Zmm~Z908dy^eI&xl>^Kevpzm*(M+5b?- zOvvZ5|CT3wo+UhFFu3mTe^72D8{=>PPyyV!fbo~(tU0zC<^C_uEt#KXonY`7bgU9L z*r{)9%lVj`|Gkp`a{iaESFD&8`ttSCXD@*GSnr3>e*+cm&^MMX3$F0K0=IN!`&6#s zezp_#B+Z=r@W=C@8Mq^{Dg5+h;d6G@cg4U1t+)caaU)vLq~p(jONk`*oO|K@&oya2#;$XSQ{ZiHBV&sGU<%PY^D6I=htDzsSd=KS1 z=WzaPx>^X_clE7F*auer0Y44)rQr6rg)0eetHb$!WZH4?MQgVFD!8uGblB^(>EP#x z%d-sN4LsngQ4cV_ng=Wg_ipP5Zd_9b_KkP)K1|b7j?1Q%v{!nq2|~w}lk?%wAl_#Z zYf=E$*YFL;L3Jw6L5sB7UPsu+epv;5>l6j_Tb|E|dWGj+0(VsCjd9MFWmR=yFZ-k3 z%JZ>}Q?-bv={>Jw?60R-SE^UdYb5N03%Gw}>M#-9@~%=n!F|&@LtkgU0baV_RJ3Pf zM(!hd9~T1;Xn#)>_U_D_hnog22G^={W891k<9r}8yDNBX@&v4l11pY0-&^cwaDC)0 z_H(q`*MsZ79Sj~SUPiL-PJf190q?f)AH+xZ?+c6q|CX*!Mz^_qaEtbZvr>|9_=T% zCwDZr_>4VY2;Qe^b?E2{Oerb2wiw%ks&|0_;`^!g{si%<{NRFpFykxeJKBGz6WpJ` zd3ei=bD^Wn&F6(phQC?v%LBg)yNY||`|UXow5njTxg?S@*&pYc1>pySBu!ur{}#oJu`ox#umJQR3IojrSy9|BLA=L4E8 ze+WC>q5#@$;IC!%X5cHf%q1 zEVEa_UNPC#OmKZEjz^L34RF|Cnz(1}0f`pCX3E4VY-8F}87 znd6Rke|gkPb2fJw@ps|LyuP|oPVi{X(md*y57l<1?^7n!bMldxf3nVwpOq&`ttdBH*^rEtLCT?g=dckGJ=f7k)-c z%!9qtrUCcnFyp!#X3YV&{CyXG#)p-HKZcjgOS%S8aM#2)Empt z4xP8%(24Ccfa_l5LVThV86S(UE%tpJn!V_c_T%g?rX!UQXV2NzDxnu1#=H^zdL(%0 zvq3Akd)rFtw|fd5-H05BgGa+Sdn#5;!^1wtC%Q2SItDygQj|2Y8`ttc{|MkaQrWN95yRxQ*(2@Q3*^j^5~fjgScKs&L0;XEfaaNkH_*M5i+{oR(t zaluonAh>%%WsHx`0&G{VJ-0^)d&keV%HlKh8+Gi5tAeLSN+AB8th|o;a|!S>gZC(O z4Ar@QG36czea)K5xGvFR*WjnA4%>4i-UIVS`Mff3=6cWxnqDFQn7iDDeLU|0#LYB& z0^__t1|E!Ze=|Jn5xA%GL2%2k(}>Up@~_A)SY&cxeQe&vT0p zI13&9=O)l`y!;*Q)>7yKcr4csqY;N{K)-^WhS2@YQm`x;*z z!*w@E=a*Vm8DXFDlJ|$Z2h-lSFG~CHPP9YagbvinbsX_;TsaZts_P5_H_oo^5Prz# zJ$e^2&xCxp!2{{4H?a=os zQ=sEgeuq5cKE`~~=i0CTPaZw?6!o(0PpB&N{yk0=I-aZ9a9#Z4J;g1#y`=-Z1gMgI!cVZIHPUIlyaOkXvjuP()TsqW}vTrX?wpAqNyR*q}# z1xfHnTX2Ix*em8TPnsv3fxUWKjU>T?0q$!lhk9V|8)ra%Gk!h>f8wuixrLoEM>XUD z#n9it-D?u(3$A*6q?P#eJlaftZX>vPazE&M25`SiQ?xXA= zYQ7s>ZTo<7O@~%syjIKS$f;_;KKJ3f$Q$-J^KE2WN$}|VU|Zpj{C)w$>fYcZtn-l{ zj8XQN=(y_O8NSJb{umj$7Ujk}@xFzWirHvibuhSh?_T)xc*Z{P(BZw{u7bQD<5l@e z@F#F=DtPem*m1&-sJbiip}8@~HQlhsV+B9eRR0mzF zl&d;%g?uW{ne@I(29F)9JVDr1Y+4aA zQ|^I#GnJVrbQ;g@^NaX&Z{Gp#+V=)JKINoD!NYqwUYO_exfu1kQYhE{^Ih0SHa38c z`;HUs+|utNxN0h&6S2Me4SC79f$IogPZR9D>&qiLGjKXKwpaaElI$Km443c2A#uo`COqR7yCC3I}G;rO*>&fqTfxlPer-~;GwcL zz}-Lcy;q?X?ZCaK{{nB^$J{`~IgnSHXEx@3k?MjU?OEQ>k#*Ds`CgvbM$YqXAF4qo zbY%nPhnD9#X1@0U`o}4g1;>?F(Z6??+S{OooL&sTPO)2t} zQtKtoysBMP6ZR=@HzF^Ej+5(dkYDS=`($JtZCMZUM*AH-&>qYshr%D#3_g$6t-^Wa zbNPKP#?$GcZy4!Ee2gnNe{k*j8#)EPbWafVa?RqpKpFfU_PXP>(60@v*&p2%c|MGx zQc38Cf8;teaSqk>4YwT&bZPsA;6FAof z@%&%jwsirweg1^&=$78c=UCYVI?=DVZx+w*gubV*6})Asarp6kO$1R}}W9+H7yG-@gUFaP2bkfO6<2 z=)3%UFOQ+>G_+^`fOFusZDH7#4nIVG@Xq7-82_>mTyJW@yzz7=>?7sv;PO1ptN5F| z#xU@I->Zpvg}(^%l_^h4@R!xmA?1(YEr(V`9MqXO z|FIUU0Y0cK+mGWI=i$MugBA*%*yXc`r?vp^I}PmE2Y$zK9rFs!51bd7omarU2iL(~ z=9(=v!4;eMe6jq#D#J#eyZgA;SICF*{h7+&dcc0skGs(y<@-N_>poDwcU4>$cLQE8 z&sUScZ8zuE7XG@W^OST+)xcwoH)H;09>0y(OUe7eVngyH56I7pxz043A^yJQ>#sQv zSRwO$zpvFAlzVMeb(i?= zt+EpRPP_jkc>BM<2OsohBXn$ouYwzkcSE_lugQ(mS>KTQ0=RyvwW`q5_2;-?>N^=c z&?y1)w`e-%v2dv<^n+J<-?Dt4lCIk+a7*^RXjdL-eyDjf7`$8f65^vNHU$1?H$DY# zoVyqDgKcnka$C8X!jD0>-KdxQB;ymz-X8qpxtq|D?fq@afRDJBIjzo^OyI%H-pWGH zsc=KzeB=|#^{T7X6x_Y1J-F*YJL;&PBCpEjI#L_JKHL2B3Bum^3+GX?j{8|Y^gDmB z4|J>(mLqO^y52Df``8rrQ%~&?&`EhSthwOfz8v?JM|uBP_}kuQ!R7lEgNwVv-qvy% z+P`8a+e6*QMZrzUd$2BxG~+zS+;Wym9JyR__b@*a1FYVEKF<+;-9pu36Z#tcbHYC)=~DR}1j1>5CxFvc0he&&@X1 z--dOQuO0JPy!TDm2i4gT=Xj%W(AOlCS}b%+H!hzbKBLv1g9kQcg}wFCeZ=2${Ve?{ zT@?1$s@6fAbxXQ{o7(J#{e}Fa;E%mK$6v>=9pKjz)yQMIYMdt+FMbQ1)H->gZ(rUT zI_i8cV83-K&$E*Cb*?(FFKYT8`NY}Q3VZvD5bRysYr=o`C(d&W3s!&!Hnc_lS0%QA zy>gKW+}tM%+K+txTj<(ba9>Xi#$Q7{&ZDB2o`O5d9l*XpAGUilNarQMu- zf?JI&*K}hZxNG?I(Y0+tfJtC1nv_mw_3n;CFj9D*p%(ud$$U>{_Hg5 zjmWe8&@t%SftUXLS7V`LnsgpK)^0WUfBke!dJMj2%qm=WUxib!58wYA+_Hpm@JqkH z7~YecdfqK9^dmivz}{Bj4D8)U6_o^!X5zfXR3<;J`?|S&UO;`B{ly(<2Hx%0n`jTV zIUM)3x4MA4rq@9Gl%Fq-Kb{P3%-fagap}2ZW5RFX?zw|&igFd-%!EId4}XKl8;olV z-ew87DJ##B@L%5#9bGlfSJlH_qCG^9W=4AsHsHRWZqP$;|8y_%iS^wr>Sr7ceNV?D zSXavZPT4yIu1M9NgDcHY@@A@PgZjzeT!lDtxyC_%V+{89hH z`JT4){1ov$@Z>;A@oB%$c4#`!^TfhCu9p{Faf12N)b$DMUBhx>e&Vgj@m>3NUm9-P z$@!Hg{u#W$Z^w~`<1;x=R^DW}vW{$T>G|~>QJ!W^$%^7LnqxKNQ(eZB-SIENt4L`K24pk*A^4@hB|DYj_sqs@GztavLoUjY_mg)<^&80hn+qR4WclI$P3!V6N?&GL2v~N7{#13@yI+iq2zCh8S?&HiQielobWb|dgmLGEjr)-MBBZqk7(CvjX*ZR9!C>g&7@ zML(DJ>hE~Jmg`=TWT79LbQs~iX8i+=+5DajS}mO>{oh3|6@`*YLJIQ8`pSZ;LcHRyzQFdw?Ibz^-qyardj zKLDNBp3UG2=^S0%7p}i#{ov@v&<_S^@9M?pb`|c2V}-xbM2<(+p105rRfTx|Q()&_ z=-XQHzFb$jHsgf7rWNNoxy^d`9c|eTun!C&R~GLG`#>@B=yUdKz4KZc`^ZT?cMy4(3Le;HgO0(-{%9<= z7yhW1EeCgxOhmaF6Ysb5mf-m4zfOH;+pVw<7i76URXNyOzP~hD_-Pr{1v>T)gTM`$ z3!&UlrFP)9QftzejY6Rcb|~vjg#0O{F`0i zfhwGLMP7bFJ9M^dFjUwp>yM!RqBr2mouk2nd#DqSGmp7n-i3}~`%Tyz3K`*#=}giv zp<^q--?^+unLo8lum2&qG2ac?N9(X(cy>1)@_)H5H}hNU*$i-NWF71y^M*j*x@r>q z@$UZzJUoj!rZQQ`UCcA_^!H#NE^@~%^utrHQs>?#aP^S6!v!}Cp9QXUtOM8dulv#)++doAI4EwjohVg2f5!P$e(=y> zuFK5R$$j2@)H%ZO&cCDZ-sLGS?Yi*j=XL!>ZQm; z9h>PixVxVPTz9S>>>UM_$hR6_xRbDtY8Z#Wi$~O1)vAr)x{35Z(1_#a$Jk#Ma7o8- zhV40a^G~zjmNALYSGSr49aF)vY58g=c-*|VwXnAKm%i9QLN(?ANyNmUhBk>%0uEoBb8+_1YR;1=mcWzHf9#@S@RM zodtI-VE!?5Yzb~jR<{*gJs|};hGs3m{Ug3~6g;jz39kJ)6L|2|Ux=Hl<5BQXox9-f z=M!2A`#{G(!8Hp$f`|4#Z6&y^z+&*gBHkx_s_5E8!CgJMuCeJ(!Cu*l`_;xGcVKVZ z^B1_e;B1s@Zprzf{C>~C_&;!6_SHvBhpExen<9?%jUiABiuupy1 z3-ft(jPnXrknc@S9g>mj+{2vz1naGUeW+ar#7B;UqUUb#aQ4(B;g9UU)5`ar=`|_@W<)A$Y8ny=9v6kbSuF@oM+jZVg8tzLS?MIF~wz|nS=p0xNf7~@kP$wSwU2t8~nc$AU zpMZN?e#df`alU7EvA^rTEz?)nTjngMefS5oE5|1@{Ezv9)W5~|=h{>&z@59e-ZXc8 z0execZ&9vu62}*Bdggz>V`eX*Z>=>KI_kTbSuagbj7O2-((j%P8epEF3w8qcyci36 zeI2&L_;(vHPl(R#0IoXr1IrD}7%KFY^*4YktMfS~?eLwjcc0)sr!Qwc=m(3;!Tdqi zSKMHGwpH6UMCdrvalL6A!RG`G4bDS9xQ9B5ixnBqD}2wI;Tq?|%EA@E*gNd!JD(mb8_4aT{=d->L9r1R1EcsHHd*ne!nwN=qL|yJ+42y zA3X4n2lX|6V!zW!?>Dzudcr_^=!a`E|CpyFqFmd~5V)M5 ztz~)Nv7Dccy_w&9Cn_VJ(R*xH+Cy6C$F#qK>$mQOj;}2DTLL?V!B744W8j{?f6^bt z^ZvpgRdW}(SIy_wl;2E;pZf2pW3OKo_A2E!BZa*)-G1r};QU#eH->qUZXCx!Rrx)z z*JS?__PPO_=lJ%OBhSVAk|OmwL&q(hW9BdZ{Rp8ipJNs*&i-z^UkN(4k!&Zix15JW z7q%TO?0suEAG58w4}D+N&d|{`YEOOdHE>%c2e|9;FRX9Tn&7UgZpt^=%z`NG4 zubZ$sTb10FL|ddt6tlHE*a>lKIxqawhD( zKg~wD#>rct6D!2$r!3C-u$P}-i=E>-G&uMW?B#W+?Q(JGM0$S9w zr6Bo&=CHT_&O96+{s7z&8IAoMvzg;>tN`Qb+5H0CH-Y-9*kIU)POSphzhS#IW#vAD z^RG(avCh{}FV)1qVIOGsdm64>wHRDqq$&2Jyid7*uKZ8~+X7u^0U^L(WL2XN;< zjDzYf+m-W&f55e!Y|wX}<~%KIWS%rvIR+h<>M!_XD3=U-T^H_C1>bVqjPA+=9xKv0 zS@>gbvIF*!DU5UEmIw7xs2FGU8|FiO^-8eUnmJyFZ!^xCFZIF0O18t`a@yM(PXrG= zTLFEAbe@$V!)kEbNygdLdJz2a*o&cDPXj5>zv6zT=i*54aDUDljpNxbA|H=INB8U{ z^kZ!cLC5%q4)&pEY@hK8d|%IndQX25_4ViBxNM8?JpzhPe{()|e<*ZJ2l>96meU@< zUVEH*RaxWgT=Dlc$_+^npZeHD*gN_!1y`4UEa|KT_Y~;^UV8hFu=jNC18$7+{UbhK zk(NS7K99&{WFbI1^r#8^HU3&-qxcLhFE};CY7kI?^ zJ^Zh`q!#AS4g<#*|A>Mt_hH$_LML99I$nP+aD75D^nKmAAEF|Cc)(H$nTc9leP4j(S^L&PUk{Y`?f_m^-(C;seFiuk@KDI4PBeaC$dUt2ZoOV{ZOe{}MD28)#f zH@u597k?*TFMGo>;Ev(1(f%VH218%-;!o(id&d!H&t>YXr~Cx_JCCVj{)zL|(AcrC z*RAN;TIjomaev7@do8%#(H`-)dl?^tZxpz1#>+;+KAOt;m4EqAaDVzoh?}84_fK?H z>w{}Iy@9>**J1F}IrBDntl;h>p<_OK0$iEvA-Lz;tgyFMIt=c*mmfTJ#y0djwW>dO z;O{=*rI$+YhuX3Y+;Joi_~FdypfA5i$+2l1cyLu6#94in`;!K1Cva7h8sPfTQ=y~t zHULkl^^a68^MGneK5%>RFT~lkjO|&KJ~&&{=kcgbXm7@h92ZPp8|(v9&!BzU)BOW| zL+y6p(Z~_RP1WlpxKniwI-Uzd;g7MxOmOR4o||;)@>8@2?a$1Ij`c~<88j_B%C%l& z9x!Ha1%BbjwJn8T&Mo7h9t?l|!`e)xNRN zQJASENpONJXLJd(Cx(??pCnca;K&gQ^b4sYrRgk7m%jzPK*li)^={O#NXm{|+Ag zhwCg~sRrP-hOf&C{Xj3aA9r#T+`g+?CBgOOrT(&v=Wx0jKPfGEB=bnd^M2EL;(IJ$ zs3ShTpV{BNg=&L`i>ZGVJn}8aaebF<;Nvy#P+!lOqtG!oxk!HIcU&*SYp&z0_gaJ7 zs`N#kk>A_yZ}c0u{)ay}zC2{TOgR^TXFHk^ToqwEjBRZT{;^OJ{FHT!!}z|uc&;Lq zg`c6ZoR7s`r~O^kUzmAVzn?mmuiNW|z4j;0)2y$qK;P1ATus5p=clGVyt{xZ42z$%Ot%#3p?nm&(PctS6ZjDIm(0;SP1B)IO z5!_sh<7PDTlR4u1h{B0z&z9}%*M@p`z+E#NA8ncrr`+O2xk}Aj;GrI6Fy5ITK4ZI2wJw%;+6OPO{}wI1 z8+iDeRp19d{01Gz1n$e(PY(uO@29)y@9_qlS8K{rUp;0K_LrP(*^bf2b)c{8GzNUv zA^KT2`4V*g9nYG<*MQ49!4T)M#%zzV4)mu?>>$}23@|^eXkHfUD}R$o-6Y(4+XVY{ z=cZx38qV~ntAs1Wb28R+gTYsiHDEtkQH^;%KJX*>r^cSfxa>>U3p&mN+fnYlS6Sfa z;LXv%)#drVk5ea17zYizW&B}1-N4(e9O3< zJ(oIX3j(*8&LR)TK8*sdywnr8@6IaZ0i&IHTRo}^^wmYD!A?gK?Tj4jFkiAGL#7w- zPrTM1>Z~yX52YViNBX;3+^^KXSq$9&aZ7s%k2Y-uzT>Zs!0)XnjCgQrn*i4r?6g4Q z=_c&}9`(P&UYt}A2f?OK5B>Yy^h8`I}xAmj`g8qJT(XWC*7aJ58h85frn1; z{ffcVWsnEtat&8_{$@nA<20YsJF?8%M&L_Pcb--g+Hv!jm z=Kfw-aTsyrR38Vf-_3m|oACnrnMXYTquHieE$J(Ae+OKt=X_YUN1@mT{lIdzuinP< zEE(5s;`-5AydCU}bWK6Is_cyOK$F41O~KLVH;!SPpM<8=1@7}cLAjPHSLvT{Q{c*c z+?O+US_wRu`YrI#`oEwPO2_lw%EP-&izt`jY zF+4#F?6lsw1zguSP(#vp9WnzqZ@if#{jOZs1mnJ`2ItRC&u;KFSDKZQ{_bl%8GPNP ze}ETxzNMjryYsXMt{+(o_>LcUBF{v!a((KaJ_-1Z-o?OX)5W& z#d}Six$MB*_3F@`BHT|fAG!=YHl&GG;;T+B@&>;A44*gweapz*m`~c)5O-B)UUCgJ zg71FQ7JNm%?BM?!502UeeHr(D=mNey8o|8Ll%_EJEZ_GGy~w;&vLkJuo2Zwv$WZVj zMfv{f8^`#b6N`y{Hf`cO(^^u6{OOy~2K@MMze7J-Aa^rK&l2Oj)VK00=qq1U0N-(# z{&e&i2EO(4tMU>*kVM=#<2G=Ywo+*c_tl#YeRr9fz%{A+U>>Ly?-`5QX9CxL%7uD` zG|YR-W&MDg{~il_v+_jG5LU7~~;EMWuPl&GyoUX64$x5!{1LcyjlZe%cYQ@0aQi}j*UvGcE&Qqao8yb6(@E&Z4s-q= zI>d7ddrS`<&EGGJN;=_8?VuB^#`i)hlw;v%cW(!9Tj6)$d!vi%NqpHJoBbqk*D&5c zHI8E3DmM=X?q9qK_UI1zprbRTnJ)dm%r}2Z0&eM87Pz@q4)`H>nEAnRBrR~+&Si*S^gG+|+>UiyFUF1|G_P9(lv*VLo(qJ%@RbBYpw%Ny}{`^ke0CA7uQjLC}e& zXPleUQ{Pdb4dw~%k3GQ;{JaYKw#nR=uoWHv-1}ivJNdg|)H41p__|`g-j$&*vyp$X zPcrl^&A+QI;p*kwH>h|$CvfHa_gI%1=Prg$IOEKr60hloy$0#0B?r%g49B(%lYTGt z$ktN&8C^97eBYubDA#&_DDp$R8Ov4Q+CNz0om#yWdC$L#<*K$8fWCdxN7Tz)o_u|8 zAM|5WoER7M`#4XqjVcWM$q%RNNP4CU-g1#!;8h*Bf z=+BsP_y~y~|0xM}YHqT=)>$KqYzc64D+T5~rU?bGKNESz zeMNP*t5|n*USAISj-k|XFEfDu@yqKurTY12(0*NOe#c9fX%TVpUDQyI-ryViPA)I; zW4W0Bo4(l(d|(+*O9?kD=DcX#?H0fzW9Gts^9}Y>qoxGrZGlVG;b))x{=E*BfveKw z0$*Q=aqdf#9y+D2cBbEio$j04s2@v%@z;E`AN-&?&=&PgJGpi%$sX?y-GSe8DS&&6 z@jK406Wov0_2`Fk_ZDe}{OSLhI_loHr%3;=9^DV|W-8MXI{G=+fj2$Gd%H63D83f> zw2>+37m@u|@SSI#pxjuyuS-dK+F?_H%kMD=RQ8pWa9tV^KkIHxk$(5B(1CBPEb{Qs z&cIE|zluwLw>9E?!}5A9^y7_JBA(^%)rMMS`%k`d{7&%QY1xj72R&eqqN@)45$bWA zU!A5s?)2Be@AbJc{Np{t_}9O=48A4j2E>Cd$Z`xdEWP<*M^Va8{4PwQFI z@5W!Xh?C&vZYbCNVyjca4TI*QeND$WPjEOnPt||eZ;<{jjm>P|+v(Y$kEkGk^=*lBCEu#UvHi~CcW zRS&@rrfY?`(tYCkLb3T5@SW4b=wHFlX6OW$WCR|Ib+01n*v|I{9v+_oc;w(r%r|_s zX93r)EeHL)oujCi_Q)mR#(f8Wl>UGGrfTp*yzp}BEIbC>)@hnv`n&u-Mn^6)@KB-Z zItllBcY_~GDw!nx9zXe49qFg7=4s#_M+@*xSsFBvaEF5P1XFYb@ETtgH%Yks-oilO z-E8T1U&pF-q@VF^T-St}PC>`Ke;V+> zb+(KC!(8x-*vr(G>~|SBpN#2S0S_*o2LH#GGj9FwWnvzq2D~F#(dpWYR{~Avf z1#W9r7XH_iXS*nG4gr2qu{6O>*PT0aB>S4STZH&AUYid;cpdFr67C*e4*4Wy9I?RCQRcSJ@u8c5p__^L^qyIpHJCfP04*$9l)}lJj=GV;pe#UT|Om^PA^f zP2kg>%tO2>F0%gyTiya5Envp{O)fY1X((`Kn}%q|=zGSMzFiC8{(YBFFB$i}TnIdn zJ~!r9x(2_XzK#uZfqM?}{Y&1W)Cun7cRl`%hn05{`2LcNH+8Et^CiC}-J6d%(fq}E zxX;P^?~c3j*Eddf=KvXW%#c9_Br};}P0Lx%dL~U75MAS9ePV zzM{bXwo*CvyC&$XCT9n3>u^LT;i0+Xi8p!=9cxcF$BSn3fCt)k0Y5%gf$=EloCe%B zKT#)8K+MD6j0V5rn~ilO{YYB+)7)SR@YuMPh?B^#q8|-t1Kj1BfqWa^-T?Z}*?kiD z(Z(EqWBpD6_svPviQlaa+%TjS`n7U*bLiNoy#TIO6-RzBWM$qk85aTf3|hy$RE+kU zj?qp-p?}~XUEdbaiQHqkh6SlgNcA!dV!sPKr@kfI=kgNnt;+e5tHKB9M{?ysK5jyQA<=l)Nidaj=&UDvM#k!OP1!LY~dqJAJ)AAG-+ z`QP!)qoopmVES>uui6s=ZW$QKDwPu&u>^d3L%t^`w7ERmSJ#|*K$mtj`2K^_;m@!-8T{xm+T+|& z9{y3t^T~{Jz&9u7hJS)jSYLb1>%hIIz5!q7Vw}h7HUzHSRuAJyY)LcdD}UsBgjD_a zBmWzcg#TNyUfSBZn@aY}xN*uo=(qzf(T;}2?01&O$-oW4Z{P=AZMM7m#?1f3RZ}|v zS8n?jaj3e`3-$z^?UzaA`K%e>f19E=@W3s;KgY3d1^Qj6D#uexbS3yoV>#I4Z|$Z| zmHWUg!&a4)^pt(MPBE$u0gvt)3mx@g=7(T!eoxTl$j)+W4uX#T+X(nOmi2?5eH&OW zZT8W?byc(|*R+k}ps#60*g;s!X+c^g74ns$_i)r_T|HLE8)X*_4 zXbSzy9&SWxh-M z3;4mBKY|~3^ZtV2_Ga)E6PXW{rzUXUzHWQ)wJ9t&+^{=v^S!e$BG< zC^vYq80-wEVt-c@eNLUZygwUE!+sY!`f#OWr?aSKmh@94?#J0yEdk$sar`^j?_0#Um2r>rF8HoTD^RZa)_&+) z3)ZK9HWT+f=5uSFlPch{{c^dg*qwxO9U}gnRY!sEt-<(@*4+ht$M*TaH8*FXTziJK zzxGmpL z#SA0(-GUfs7k8IlwJec(m`2K|_fE!oerhd;kz%{oHC))F5A8<=c75ypf zbS>s{>9InoVUMiiPvQBOZ-EtfY(fb7o~C?$-u$y4I;ufje+36#g1-4pVc_vb90!A{ zGQizsF2WxDhcmQ4ogKKN@mAoP`iFoUE*u7~c-av;az6^$KT?0rdf?VV^h5YsQQ-cc zj{%QtV|!U2^LfZ{siVL>{U<=*{A@M(n|vtO7y22vW!GZh$`=D^&*DzNRlgBer2Q=c zw-*`$zP)T?=o@Q{1wWd#AaL`BCcvGO*)KdNz6P$F`s)lS&p3N=UF>m1Z z&PyoQVC8!Z0(TWCS2uM8>ZNVWex&G?d8*`3O<*l>RUO{HaOr=aBH_vRc5?}Uh+PBD3lhsU)-ZNpAORgI;WvyO0hx5Jd`@_q78uif1r;3+6wTsnTwKt zobyI~gBHLQ=`#Zl{lGu8)i(et!-4OA1;2G=*`X<9a0c8&GeO5hiRUyt#jE87v+*u3u1Um4X zE4YRCJ%dMbqFmJko{z}Shv-uA`4HtMKlJ@J-fM^~$O|2_cn`T;ZtSxMxOXwn``ia_ zvA(xojF;-`Xw3W|^CNjxELYeWd6NRZd4p=S#E*H|Ug4c=U-RxiaPHxJ$o^=_Rs;Ot z`B|eRzIOOh*cqK@1@7+t`$*u;MBdxK9Jq306Y#_9H-R6oY65Ob-j8x^MYujPMj4;_ z<{hA8uf}yj^e_4$aOEL%Em@O|wk zLf=@c7jR|!C~)(U)!?g?eSz!p3;^!l{1^0fM)qrekoSP16T`rxxfmzmFzt`EPaY=u z!CQ^%%4i1qO{>qqbEKKfx7yU>Y5&dlLnXdy8~5cjHQA5sP0xcLuh01O=V=JOW}gLo zA|{lev%4P0HG^;MqEj`&wsF%6V-LVXzjj&#Iht;!9NaN~t}(3f$4p4NjU z+;yMv=IAmI_84Xsf{v#w+fj2Q1U#0~sK3MyM(KaK+=w?5bmVdaGw*>PXtM+5dP~e; zy-a<8dk#$YWG$(xqu3u@gNql2>j?3Cxd#SVkD(p8H=r{Eyj+^$>hhe|!F2_x!^8)zJ zd#9jd{`nT{G`4>QT$8E>;=%L#M&RyUe6Gw<_dVhvR^(~|uE|jwxW5G3*WHPEz}9jk z+E>1p>MY88Th6vW19yGT{HcBS0p%*6y?{N=RhOY3RQiE?PYnSczI7J3KL_)kN0e&{ zuK^xub`AXa>7&q(4&4P@KY{ZNXQ?T`6*Cj-rGJ);`pWiu2M>adXXj3o8|q9uo&PkU zJ!Kc7zQ&`R&j*s2w?kJ>Vx8!nML($eUZT#tkHAgOc-|K;+ZVV&^Cxg~o(rsRCXW05 zk#m6S@6G}4%*=I%)l~(!GqfGJu@=`C!Jkr7Cl~Xfz9r)!aH0wD=)t?-+XswAxzR(T zfyWyi1uom~c{dn%tR34o(tiNv4W8<0zn9|8T%CR}w_lflhnjNS@#!-FHz-bVUOilGH}hQchK?mwB ze_BbnUzekxmI2@h>&JjZ9x z1OEEjZR}^7bbQ{@S1b?thnH8E_}Zy^p<|w60B(7b3Hw^!J>;9sfyENfef=)>qx4%C zpBl|b;F@uKU$m(${bLA_@5sHVl=Od!#k-*&J;(RUMIY|0DB;!#^qaQG2Iy2g^Ah{* zmQky~kEQ95pdW9|{Y+(_M15;++Nm(?2VZe*0qQH;8EY~DxayAz#ieq+hwnf?_@D}K z>$KI_mowzzIdWiA{r}`gUKR!JN^`iXq+r zeXi?GuOrBt>wd3~eSYo!btpIR>BR_1*D}00;?^+l3h?l)yuh6oUp12c?%Hx3xV_L# z=y>uiYAE5c_P+pEJWVxH`rWtdwO0CRP|}~SE=8ad-OBGtsmm~)odY?a3x4+rb{g6& zgO0!RGVnFurba(ibY`A0^tun+)#*biNk4pt?V@Y!872K5a?PwP{Z!;-9?&H%0Iq7s z@1|+4343~v0j}KsHR@&R$9$_;nOw4!WAUky^rIa-#IpcuY0x`_Sl+a zpCa)zslBi>U^xcdIjairiu!bD7nOJ(IB@tc=(uiGN1Ush(+>`RKJaBcwvX}SoYDt; zd#fcpSGBT#nFjDZ0y1CLQ5Hx8zUppKS03DbnvrlUAd@$hf8b zOWDY1LRzsd@2E~_k>&g|tW7(?$H(qrEcQ05AJhH|CT%FGje>(Rp2JSw?@5HN9 zRwEvi*POuZ{kBY#bf=XG!Jo?6oNp^n76k5Fkq`Ep`_X>i`J?cU@p5t4={in3y$yc_ zUhyfvyQ)5S4f?_IlcA&CT@3lq)sg+z`{)Vyo}EvA+bf5RdQ9igq-2I!Hf!#piNOYp0f%_&RYeX310<`#Trw^+Y?mUkB)) zjr^X=smvb4t!Wm=JD;@?%GLic1o^>ogZV0WaXZeH9QU`uPW5)yOX*I(Oe)Xa>LU2| z_ndF&%QpaDQ|=V>t&{&kxuKskfj_IpEfvct;gwDMQ zi(5N}9Yw}0k1sBg4l2L9jt2=(>U zpAUUoJw5P&-|5gUhQ=I^wAwK_RrN&$gB92?qASp7>yXmq&j>kN#p7_hllLRN&{xG!gS;MLmxDrhK_E zFO6l~hd5DRZ48}Aja0Cw-i8#!zhws39hRM+p_6va52%;&lQ*Mc7~F6b96 z0IsskX1z}Exl`pF_9OGXAHWZo?lhF_*KQgBet6bv=$rRULOjd*jv}p~6HK=U`62vk zNARt`&jN1kzh!pX#bASDb<@a9dYhcG7fchZn~uZkNXaxU1Z$9?+I|*wTF$Q zzw66!9PvK64qTaiB;qH~cs1u?~t4SOeVlGy=Y2j9MrCU2~4{5LntE zf$#0ec~R^Ezt^B>coy?I(^j#5ubmfs&ASmzB^}3ubI=bq)Bq0|`5nyYHja3XOn`p;CE9SA-H=m(jx%Y^cl0Ay8oNwFzrcNx!ImC&slLz)2 zvpc}=m3}YU*CF;LJWtyLzft}!^p)Eg55DZ{fopAN(7uYpQRq0!QOB~iQ$?xV_+*YF zftGx($=om(=CS4u>@VKYaoE4^W@VGa56z>0OzOqJqvskR4*gr1m!iEM0B`fWIrCUU z&ga8TW&w9yIL3KejPrze><#eo`D5U_#QWY2;|5VD=i<6jxj~u#s19&l9akL*HxBlq zUe>uL;F-?yo~bwgcHp6Z?7*8I`w@OtmE*if)rvZbTEn1Y`km`U!w}vxdg3SmJMHy3 zUYp-;bxY+bk{UOVe#*G3*LmPEAD?egY@pvFT|?xjbVMAw&T(7|4)_-1qwY@E?o9Q5pY71E72k+FR_hjU*Y;|~Bz^az zJMe?{%Lk@Wp1KnBH7_3l_l)QLHFbC^@}aKdCE(`S^}vq|HW;P6 zGa%0^9Q#`Uk3J}h@y@oA=M>hu)RFDck7B#)?w`W^M_J$^#u53uTGn$Z!2kW7viQ<> zz-={npUYuB3Ol{K?gCG)!F$l24a|Gd&H3?si~M~h<4ED>ulU_A`FmJucbI-~?SYP| zQuT6DeO2#v12?5hlc1yTL;nYp`TS3;?wq0$-+YOFHu~#=AKi5mese{I-@-cT{EM$F zKLGgn?aS&&I`a3STw9wa@Z%QYx7}9Y;TIDz&kqh~oa>%U!hWDVcW92J6Yk6LRHfxP zwe3awxe^{#{Em8A>Z}IeHiEd<&Ah5={c)wlvpvcQe%Q`9GnpfFJxm2kg|$-v=Gn37+FP3!kMQKCxe0U+KZurn!W9P5dPN zrY>&=Zpy!Tx@3RM#`$fy(hA__`sAyp&4Rvu&%aPmekeEx{Gd7u=2PYr&IdHfe2&61gy+aI?pQ#5 z%aLyq^yT+AYIbm*E5E-{wo_H5ANZE9m!e#A<h z_Z;H6kM-l3X_DWZ_7%|4ihI!7%2&Xb>l?fG0{Ve-0pQkgzkzR?e;K&3{5jyxjO<_G zwHtw}?K^;L^3hJ~aUXEsQXk6oj`$He?$5MGJCEPhjIO8OOb2=X75{4*_`1K>Ch)^m zS5kis<6PG9Z0-$Q)=?&%M!Bv>BcS8^ljkh_?_zLncc8G&JG-Fsd8^9ZgR&a78ulV|d?e03L3r1g=@S9Qu}7 zyce%7wQG{3qsqPjxaNnI;Fqdoc1U=vEBlxB%}(lw_YcI1(QnF^!+{^E)fxQgZ=7Fg zJlTMoHMOB1`h(*|tSKv^D?&M_q%9M&w}G5{rL4$z$5e516LHUH5TPgV7)?B zYXbKzC;`6C!@Q*3$b9JD%lE_k`kaSOxFVl(h_B3yb8}sN?n`?&yP)IP{t)`^^-l18 z3;CW0N5j&^JZ^x{zT+KM9WxS_6CB;=R7ED@O)Mxak1% zm~Bu5I<8WDuW$H0+r_q=I{wqU!FSYRe>WBjgRjc67v-9s(Lb?Vd~Q?oqY-%IGRHxO zc+YUS)qdFH-^n-(7iNC&r*CeR>@jE93_Go-KSSSEcFJH0cbC}(+>w{(ca~oJ`%AcG z`DNg7J2f?!7Dax7SSp-`D*6K9YW* z1IKsODn6HW??Zu}67Gm`TnLHh@wA7+y(HY$P|QOb4~353`ZaVMT@J%e+ZM)&uWjw# z5TmkfGb9B%ktxIjrMrP2()H;p z>G)1DPTbG`#{5C`@I?;^x7_9YN^fJobJ~~>ZSOfh)Sd1-S>mZO*)jh#-X4W=Ew5%_ z{W3T@2lIAYF6L+T)z&E2bY>3nr)n(c^KRqr6_QTgS-0Ugg`y>NqOa1!9!2tAw2P}% zf8eGm8G-LL4+G!$>Q~^pa=a%JpVO|hr01`Z0z7o>0QBRpn#0e2j}>@)@k!wNeBHZ& z?_ocU)~W~GzB~`&N}-qvzU%OI%-`ZWvZLJ<3ic!WtE1pMyXNddofhER^Uo(fbYX%{ zAjfLxxHN;n*Ql8fwXNp@SM13u^v|%|jrV?%boIL%V_qTK6aHltaQmP)Go-)ExIdQ? zxPM9cS^pn5c0G;tl%-C8CvndA+`pDsDE%J!bwvVhnUWj0?rI-_KY%^j>L;LM+rD4e z!}iiw?}Kt(I=3j7e2d~+;yLaKoaMR(jfak@F82!+3gXI~l@TZYLO++6?2^CdWn6fL z{y$^Ic~1D5D7RpC_*wUU(Qt_$e#UYY?Fs;omOVL)INQ--bpki-xt4&3rt)5rw&ZUK zIw9*0@^>#C@&EO;*%-I+Vf}GlB$pfXCxLJLFktlm=i9dPJGqvI+w8mo7f52$8i}lYkz|)R;B5}=lD)D7p ze|tajz})9q+emoyJ)fgcv>pb0nf@^LCE~R>{yM*%G*IGs&yQ*>{nWob2RlQ{nq&O% zS@JfJ@YwD{z%{qmEy3@p|0*T@w6tKJbhl^>JlMrkNy4q=u7MxfdJedyPu~g>uA0Mf z=gUPT;I19d5pU6U4_WR??*H`CeP}50{pt1sSO1oGf%JRl$Lp~#8n>V-NCjIU)Rwyd{jHDS3{k^_f3Akx4kRon4%;LFb&Q>qM=ez)Bl#CF@a7y(fh)##LS9zYz7M`-Qwnfvi`so9JCu*RgRfn)d!3}?%GV!xHk5fe z_~sQofk%dFFBT(?wb22a5n;ct|0~3s;+sDaC$4ep5mzfJ4FDd=LfjZX1iY8P9fpF4AB(_u2>&P^ zwn>N|ZL!OkH~as-3_MWjIdtkh+6aB$A}9K>9B%<(kE15_-NGJ|C|9{52|6}W?h(1% z9VHWVjtHIj&*XcAP7R^s$`}V<);T5nVMtHlGCw5rV-r&&Ze=@7!hZb+_S662B0jAr z_Avhc6<6VfixO~E!MBL#kcRJ>4%9i1b`Qz+RI7$^WqagySHCWrpcB}03p(o8d{1Yf zT9`T(=6(0}Z~l`XbN&qcfBXlJI!W>2@(%#+4qt}OMY&y8uLmyMqsy29dBA?83vhGx zv*62iI`;E@-g2DFcp%^Wg#Pz-65qvL8YZfO|zeTPw1k+E?yJ9`K8PA?pX1olnRQvc9LRDM8=VItKr^ z&rYSzL&lGye+%G|)|J6`+s>eUW&b!UwFd4J_INF7#Dnoc2H@dZA@I$I*CIZ@tn8q# zi4p%_y_VB{S*Mh!m&>{c^NxV1mv2-S=sT{DgpR$)Ip{}(f1HZ%fy+9woytDck#V_P z$4LeBWn9)#mK%utDdXV^!q4TmF@FksWF1Xu;(p{SRchcPX7PLV{<>L#7s**1d0Rb>EPvFWQ zvcn!($9H%>>MQGLHoS&@yei`=-u)2tj|hEBOQ*p7DEqng$n`jPrR=!d86gT7U_27JZ+ z$>4iajsutZsxrKnFY{N3{$f4P{NNGs85i{p-s8L_D(Wli>&~o9(2xI>9roy6eS|&n zwX{?F$qfH%-mqUs`!OEkJ?gv)qN zCg>FTmhonol!v&m-@f`0%5_c5f&QXe%=R*W^8vW}+C1=`7uoM*exQ%;Kl#Q(n-lm^ z!z$|guLBRXX1fP6e+KT}(*-)=7Xh?O^oSPu&C^lI{`+hf@HWDJe{POzAz{BZO)_-+ zg`a`%Z+#4W8INYnfV?5&zQ<9npBkb3HPyZVx7KFa3 zb1~rYJhXp@u*cP$>leSU=bo@Xu!i#ur?B4^TmpT0zNDDSe&KM@PD`i-^kw^vr}f~g zzgi94^@i=@pTsytP8OZYpxQ2POxY#t&{9Xb#`Z-T_3fv>=8(PA7xL2$Hjqoroc|i#XRKSB5p~ao$CdGJ1%e>@$CEs{)txS zIHJB{fWGD{zDGYip6j5<@^%=1b;~kt%KQ*TCJ^xKE=W!*N;doPl!v*Be1cH8UCUY1MF?b#~~4 zat)O^&T6v!10DNgeh>TguY*0>N{rjU2HK-OML&d#mPh|})Sw@H_UM_l+P z@FQ`}p!dkPs*kkOZ#W74K+PS%E&gBN2YFqr8n6xHl)NrhH68}Ov2=g%^)t4BZ`&7w zAM`%X!>uJWXfMlN;`SOBpyL#{W;*Thj?M+#E$mTDBOXoT#r(l9@W>S6T9+PpSm5z4 zE|i;GuQTRF<}@rf+?jY}%~i}N?E;TMv@5a&I?+-2zJq)EWt7cap79uwyehK@6!@7ZUDzUk*}EVs@| z;CUPN1a7HV1-QE$>ou)#W#Hb>bi|3b)oSp)qZR`99Qz4;*GclVH!=e^*82q9Vp{=z z@Ez?}zUREfChT|ra1{Ko<}&!f?`DCoY+anPg5t3gWfe`*9E@V zp(x!O{OHQJ&hPmTP@G8U0$-oZrnb_gescpJxH>Xb6Zb|tL z<$7ur2d?u@0=^<*0za5{EO5ok`P9iDK>T~sGY{LF&s`_^A!M0?I5cHsJ~y_m3fy*u z@oz89alu!W@vrYeetaUw1+Cy)3cbhqrRo^RHE%W}bOO(&0N1-Xei`y~0d6n(uCL)s z`M#@vaKG#RZ@{fKwpV;U`PyY{uTa@XuwQvK1>;Vz!z}PkgUPq#AIot{@SSbrX!r2% z9FOAu0pNRDegJNM&GE(7i+H4BW$0^Dy@ucPOReCqC|4DJwx{Df$C+<5{Hb}_2z>o? z3;q0Y1?~B{7x<>m8G&myl5aj@rTsPiXm?8=H~5)KP6glmit{CJo*~e$IMD_?RzeqF%uDL=Y!~0!HQ?L3vt7(f51_s#<0a;kCX6@R;wmWDJ7+3z zTL$_^HHNtLP!r&u%*5RTCxh?Xz@Nn*)8-)OIL0_W3Br9gT7*aNpIk z;G6&1h4CeFrY~@F8VNF)sXLH)CP&iPW6W$ zLaX_FsI6$*^-}*0dg|dk*xR5P>~x&Z1zhVHhjVWG@8f|7hh0Ot#y+EZ7{2_UqSHLq zt7j?j4L5Q_CtB+;CsvNLAzL%cL(lT{v7AB{w5{aj!9AIM|9P}_m_AH z-0rb}Z_Y9exbisL*O9q3@Sr^h@n5)Z(oEGyz`kbY|euBFqDxEA*$O@ih3~u;y=;+vqvURo0?T%*Op;O@Hcm zXAT43wxlQXK&2PpH~p$P^ljH#AYWPgv_rX`mCN9V;Q1u*ot`ql{acl=KXU&!;=2j~ zU$famw_AV(huJ5nSd*9WfJXD4t@w${>XR;IKhva z_+7r3?hSB#UB<2d1?N%bXN=p3+72B@CFU{Bc){NrgO2|p`)MGV_N$`Vz;}IWivDYx zmlo2;>&Y5mLG_(-G_N~_-xaa67Fa%=GDJb zNAb%n=s34f#}z$?JZ9;55V$Hf4myEo7wFsXH;2COL?hrf&r_^-Tzh_netgm&SnqiL zdW?RgeDD$HWg+b$@WYwTLtpcEOXzE#P+wPM0PUY~1Gus?=NmEI3*gZ;IZ&?cD(5r$ zVT*v9`Y$3rLj`?HvqmU4r4#!V0kPi_sHa4^2C?7Lc|e(=Qo95zFMy8XyBW~F!CdrPpdIJEUU3c* zuR}Xs;yl7uobykEWh49(Tgdt9cyaFLDMUZZ&jWa-zV9p5%lV`-`09h4_c{e%?WBKX zezGXn=B52|xpv`CDIL1B+}745fvChidS zyQV3q)8`m;BE6PFNBe9H?AJcv{a1Z5?Y9g6#INmSxxzo8uC&wEzy&-m?DQU@ovzJu zfjfnrvi}uVsU!Q}|4R(zI!=}YU$bBu?1_BEb(wn)_X$mp7@xrvte5{s;$BfNmGEbz z4()LWe`;;%p>IFI`$K^h$DyA|JTGBX@!U#2kB*CTKyL+}4~9g2?cqsi7u!be=P0Lg zoKgs#&?cT|$vQd2{UgtefoMX&*Or1xDOK*@oe43 zd8zyy!VaMy9?0`+x6rp1V1LmaIEML{S?nL45<2$W+&7kWe3LUW&t&B}g0Bbj%txWG zufgXN975l6o_xbgu3HU%F+Ppixqq(MTo&^akJvwVhsbwNbYdQ27ktYC?psE@f-m+h zgQA~0()0NZ`CQ&5_Md&N0@xq6i+<$E%YAG|^XtIXVjtVD;XZ(^74fjx2MBgEBL3}% zwtyd;%XN)k?2|hyr$rufh<$SV!;Q%EuA3{6&*glQcQc>k@`Z^zYVbL(nDDb@EYGv# zcyI`R#;b_)bm33KN$%6CwjaW}z$Nx+O_}DSU9@+(kE$NW{9`ms<^Dzo?ju;DAVvf{eRCDeB?Qxc{29{h&^i zLm6nNeF*n;4Z_ZW!XEXzOo+pvuqP7aeokl?>#Gp^ndT$(gWqVIFO5qYasKO1O?~}X z?$gGFzO5SViPz-5Zb;Z;7UgP>+{OGeBFZf#aC67`E=fNw@O$!eKE+#rFZ-vB;QLDu zmv!`)c#fcR*8pERf#be97439<#eHMVc(#{U@KvWde^v;-P2leG=Mr>I348npX}@gG zUfIshcEpK{_Y!t`y9!*?%PsTgb3a7x@5!?MTegdgj}SVppU9WnOLdv`ji;K&^`JO6 z2?_h1ecA4DfqPGg{kreD{}Zald@@3mt2=fA@hO*^B->MxaVz6;Jllfg`$fI%!k%Dd z?q5Ykxh8>IR`C2HCh*`T5pTP>{}vYehf%@z4&XUXMDTqA*Pm;OJSOA4gq=PM&kbce z<>$(r7tb*7iTRjHjGMm8#O3@M%*8k{-8V5`jb)q!MBZ>TXMU6QOUZuI<-@+BjK{?} zl<6LIbmE*vKJPP>C*LFdmRIO_PjKH-*73@5eu}uvzbEpZe%TPrXXLym=Sj^9;!dG2 z>*)IO{TwcVE5nQ*V}>r!2?#%*68heX%(t@sUV&@Qx{-(fhYLI7A>t09uNV6Mbz+_= z^w-Jy{Yod~?Y%impT@74wqB3y(2j+Q?I8U@*s(^V* zP?Q@Icz8$f8=__g`K|7*Qg_&+uR}S^rqtX0c1bhKf92JLkoBgWfFNt zxu0vzoxu4grYR4n&pH=ZL5 zJwZQsCj$@MD#mk!rF(&!7xR34-NS9`-kC~d>&hC=KCa)y6~KjTBM{2cf)4lC8)!hW~b2Hf74>vVPe1NMbPlQ3^lE~VdmPkGNtDfHt)-_?TiPovO}F6sn* z?TIJQu@yTA|7hxn`i@t)!+d9OTQa*1-|d%0eVigMLm*)IC}JhxH`zuA(^(AO9_|MA`2Nx!B3 z@`4|!KP69wJz5v{pFyeZ`AIz$4j~a~{?F58&>SVc@<#FJPzoFzvK_%XyJ!80TXK zF)vcpquY#~Ugs2c23|aePEgnx4Kn|j?vrm3`N#UxZ&>$v+H&1w`2NAqQvT6+ zSl`IIecXQ&I$>KcQXlnT& zVO%g;Qy90-0pLfb9fLjk;-7#=Hpao%-9HN4FY=PT8}|uq!cJQw`bSytF6@!VBg@z0 zu{D3k>cKV*y(-J75sRi+bB0u>KSnR+g8A3eT693 zGoyKeA7UaesT*^@OU_H?OF5zA$u)@OM#OVXM%o{2Su|mO=oYyC$!_4XpAF~PzOkpo z1LFB%)3aS@UuS3T``HSxeGM16uC$im^8;b=JealGOrC4BY=Zpk&C7GExOfgtagh51 zUg2lm)?H{9f7>p|&&tm9n_lGSc;1h|<#}MR0qfPnaDMV*!hT(ak7%#> z$y4B))1*Uxv6|d{rG6a?HwUi&lk*Ctuv42f4gD)1>~!{K-U#gFbAY}n%;$FZ1=Kfw zb}jgZDz~8@txr4s%{YFAMLe5@{o3ex_$MTA?-u$YdiyEIJK+a=^`6jI@BR+@PR~2& z+sEuey!pp+|Hs<@4dTis$~FGVb(y@*QV9EF#=X$-3;R9IHo*_7g&&wVQZ_@!A@YNL zq64_R9*he-qRt5&SwGk#h<4OZ=JS5>()5o`%yW*Y8Yav$?G<*gpXRLsJTQyni+xRX zw3lkuEA$I_-r{`l5q7$6t_7}~$9~=BLbD!HJDOB#*b^JT^Ub6K8@o%mH_UTSMIS59 z%WBLn(L=&*;&}{P?k>Pxib^y^J@updC$_W+UGkUcCmcF@FYbe{vZ1htnm)|2lIFc<9X= z#Dg54f&A0aA010OqyL(2WPpxRxt{&#Tb^rJJMp7VgloS(Yi_5mJl&*uuX{rtc~Wc#xdo^l@j7Jpv~?d9v^ zg#CdbJZBGG&;mDCi~|qeA+Fm<`&FlE!+w2h+V6V)hJJ812Cn*w{@1R}5BuFkcn{H7 zVH5o}kp5Tn=K54|oBmhzT#kB0;#_|j=G_F}^!7FM-B;dW9%vBymT#UT&h-sdz#WTH z!4K9lt-*I_Bj^|QRw>ZgJ8fxqgW}8cT=vrmc=D0Oz!io|`xO|Sv?l+Z%on8N3alnVCuBd6K`4|LTh zw7VkIyMy72UijLNsF$|mZ?H!*Hz)Xx<$P{Rce@+(ReS$Ix!#}(cB;DZ`3=>XmcT=e z?m)-2n$PoGyMD_g>6>mj6ZC_Z7DL}X>mKZh^cTEK(kbVa*I zei;WH`vE?mY`k6{c(gd5i`JIg2L8gKBcS6s)gL;#g>K;b7DvHXZ{WQKWo$EWZ#O=t z8lT%7dC!v71KePm#{ie_iOBaRxXuqc* zpSO4Cn+)9Y2irH;iT7LOdpdS;zg51c*uc$sZbb|3k@Xv@wj1y

uv_JGKq0Afp;hg8hRqcQqf8hPl_#om+QD0?l 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 >~%HxV_j{XcwN3 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 z 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 Um)qsJn|Qn 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