From 27a6360f25fcdef1e06b32a475f0bec6c002b86e Mon Sep 17 00:00:00 2001 From: Kavin Teenakul Date: Fri, 26 Jun 2026 22:19:29 +0200 Subject: [PATCH 1/2] Add chtMultiRegionSimpleFoam support --- CfdOF/CfdAnalysis.py | 19 +- CfdOF/CfdTools.py | 13 +- CfdOF/Mesh/CfdMeshTools.py | 137 +++++++ CfdOF/Solve/CfdCaseWriterFoam.py | 340 +++++++++++++++++- CfdOF/Solve/CfdFluidMaterial.py | 8 + CfdOF/Solve/CfdPhysicsSelection.py | 2 +- CfdOF/Solve/CfdSolidMaterial.py | 177 +++++++++ CfdOF/Solve/CfdSolverFoam.py | 30 ++ CfdOF/Solve/TaskPanelCfdPhysicsSelection.py | 44 ++- CfdOF/Solve/TaskPanelCfdSolidProperties.py | 194 ++++++++++ CfdOF/TemplateBuilder.py | 8 +- .../AcrylicSolid.FCMat | 13 + .../AluminiumSolid.FCMat | 13 + .../BrassSolid.FCMat | 13 + .../BrickSolid.FCMat | 13 + .../CopperSolid.FCMat | 13 + .../FiberglassSolid.FCMat | 13 + .../GlassSolid.FCMat | 13 + .../Inconel601Solid.FCMat | 13 + .../IronSolid.FCMat | 13 + .../PolypropyleneSolid.FCMat | 13 + .../SandSolid.FCMat | 13 + .../SilverSolid.FCMat | 13 + .../StainlessSteel316Solid.FCMat | 13 + .../StyrofoamSolid.FCMat | 13 + .../TitaniumSolid.FCMat | 13 + Data/Templates/case/0/ReThetat | 4 + Data/Templates/case/0/T | 2 +- Data/Templates/case/0/U | 2 +- Data/Templates/case/0/epsilon | 4 + Data/Templates/case/0/fluid/T | 109 ++++++ Data/Templates/case/0/fluid/U | 134 +++++++ Data/Templates/case/0/fluid/alphat | 62 ++++ Data/Templates/case/0/fluid/epsilon | 63 ++++ Data/Templates/case/0/fluid/k | 63 ++++ Data/Templates/case/0/fluid/nut | 59 +++ Data/Templates/case/0/fluid/omega | 63 ++++ Data/Templates/case/0/fluid/p | 50 +++ Data/Templates/case/0/fluid/p_rgh | 94 +++++ Data/Templates/case/0/gammaInt | 4 + Data/Templates/case/0/k | 4 + Data/Templates/case/0/nuTilda | 4 + Data/Templates/case/0/nut | 4 + Data/Templates/case/0/omega | 4 + Data/Templates/case/0/p | 2 +- Data/Templates/case/0/solid/T | 88 +++++ Data/Templates/case/0/solid/p | 45 +++ Data/Templates/case/Allrun | 187 +++++++++- Data/Templates/case/constant/fluid/fvOptions | 68 ++++ .../case/constant/fluid/momentumTransport | 15 + .../constant/fluid/thermophysicalProperties | 82 +++++ .../case/constant/fluid/turbulenceProperties | 57 +++ Data/Templates/case/constant/g | 2 +- .../Templates/case/constant/momentumTransport | 5 +- Data/Templates/case/constant/regionProperties | 28 ++ Data/Templates/case/constant/solid/fvOptions | 29 ++ .../constant/solid/thermophysicalProperties | 50 +++ .../case/constant/turbulenceProperties | 4 + Data/Templates/case/system/decomposeParDict | 32 ++ .../case/system/fluid/decomposeParDict | 19 + Data/Templates/case/system/fluid/fvSchemes | 74 ++++ Data/Templates/case/system/fluid/fvSolution | 146 ++++++++ .../fluid/topoSetMeanVelocityForceZonesDict | 55 +++ Data/Templates/case/system/fvSchemes | 22 ++ Data/Templates/case/system/fvSolution | 17 + .../case/system/solid/decomposeParDict | 21 ++ Data/Templates/case/system/solid/fvSchemes | 47 +++ Data/Templates/case/system/solid/fvSolution | 58 +++ Data/Templates/case/system/topoSetZonesDict | 94 +++++ Data/Templates/mesh/gmsh/geometry.geo | 7 + .../README.md.txt | 32 ++ .../microchip_cooling/00-RunAll.FCMacro | 13 + .../microchip_cooling/01-geometry.FCMacro | 66 ++++ .../microchip_cooling/02-analysis.FCMacro | 72 ++++ .../microchip_cooling/03-mesh.FCMacro | 16 + .../microchip_cooling/04-boundaries.FCMacro | 30 ++ .../05-solidMaterials.FCMacro | 40 +++ .../06-meanVelocityForce.FCMacro | 12 + .../microchip_cooling_result_paraview.png | Bin 0 -> 276170 bytes .../simple_heat_fin/00-RunAll.FCMacro | 12 + .../simple_heat_fin/01-geometry.FCMacro | 35 ++ .../simple_heat_fin/02-analysis.FCMacro | 59 +++ .../simple_heat_fin/03-mesh.FCMacro | 15 + .../simple_heat_fin/04-boundaries.FCMacro | 29 ++ .../simple_heat_fin/05-solidMaterial.FCMacro | 17 + .../simple_heat_fin_result_paraview.png | Bin 0 -> 365180 bytes Gui/Icons/solid_material.svg | 165 +++++++++ Gui/TaskPanelCfdSolidProperties.ui | 193 ++++++++++ Gui/TaskPanelPhysics.ui | 13 + InitGui.py | 3 +- 90 files changed, 3938 insertions(+), 34 deletions(-) create mode 100644 CfdOF/Solve/CfdSolidMaterial.py create mode 100644 CfdOF/Solve/TaskPanelCfdSolidProperties.py create mode 100644 Data/CfdFluidMaterialProperties/AcrylicSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/AluminiumSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/BrassSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/BrickSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/CopperSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/FiberglassSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/GlassSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/Inconel601Solid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/IronSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/PolypropyleneSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/SandSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/SilverSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/StainlessSteel316Solid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/StyrofoamSolid.FCMat create mode 100644 Data/CfdFluidMaterialProperties/TitaniumSolid.FCMat create mode 100644 Data/Templates/case/0/fluid/T create mode 100644 Data/Templates/case/0/fluid/U create mode 100644 Data/Templates/case/0/fluid/alphat create mode 100644 Data/Templates/case/0/fluid/epsilon create mode 100644 Data/Templates/case/0/fluid/k create mode 100644 Data/Templates/case/0/fluid/nut create mode 100644 Data/Templates/case/0/fluid/omega create mode 100644 Data/Templates/case/0/fluid/p create mode 100644 Data/Templates/case/0/fluid/p_rgh create mode 100644 Data/Templates/case/0/solid/T create mode 100644 Data/Templates/case/0/solid/p create mode 100644 Data/Templates/case/constant/fluid/fvOptions create mode 100644 Data/Templates/case/constant/fluid/momentumTransport create mode 100644 Data/Templates/case/constant/fluid/thermophysicalProperties create mode 100644 Data/Templates/case/constant/fluid/turbulenceProperties create mode 100644 Data/Templates/case/constant/regionProperties create mode 100644 Data/Templates/case/constant/solid/fvOptions create mode 100644 Data/Templates/case/constant/solid/thermophysicalProperties create mode 100644 Data/Templates/case/system/fluid/decomposeParDict create mode 100644 Data/Templates/case/system/fluid/fvSchemes create mode 100644 Data/Templates/case/system/fluid/fvSolution create mode 100644 Data/Templates/case/system/fluid/topoSetMeanVelocityForceZonesDict create mode 100644 Data/Templates/case/system/solid/decomposeParDict create mode 100644 Data/Templates/case/system/solid/fvSchemes create mode 100644 Data/Templates/case/system/solid/fvSolution create mode 100644 Demos/ConjugatedHeatTransferSteadyState/README.md.txt create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/00-RunAll.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/01-geometry.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/02-analysis.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/03-mesh.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/04-boundaries.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/05-solidMaterials.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/06-meanVelocityForce.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/microchip_cooling_result_paraview.png create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/00-RunAll.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/01-geometry.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/02-analysis.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/03-mesh.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/04-boundaries.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/05-solidMaterial.FCMacro create mode 100644 Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/simple_heat_fin_result_paraview.png create mode 100644 Gui/Icons/solid_material.svg create mode 100644 Gui/TaskPanelCfdSolidProperties.ui diff --git a/CfdOF/CfdAnalysis.py b/CfdOF/CfdAnalysis.py index 469248c2..65c6f155 100644 --- a/CfdOF/CfdAnalysis.py +++ b/CfdOF/CfdAnalysis.py @@ -238,13 +238,18 @@ def makePartTransparent(self, vobj): doc = FreeCAD.getDocument(docName) for obj in doc.Objects: if obj.isDerivedFrom("Part::Feature") and not ("CfdFluidBoundary" in obj.Name): - vobj2 = FreeCAD.getDocument(docName).getObject(obj.Name).ViewObject - if hasattr(vobj2, 'Transparency'): - vobj2.Transparency = 70 - if obj.isDerivedFrom("PartDesign::Feature"): - doc.getObject(obj.Name).ViewObject.LineWidth = 1 - doc.getObject(obj.Name).ViewObject.LineColor = (0.5, 0.5, 0.5) - doc.getObject(obj.Name).ViewObject.PointColor = (0.5, 0.5, 0.5) + try: + vobj2 = FreeCAD.getDocument(docName).getObject(obj.Name).ViewObject + if hasattr(vobj2, 'Transparency'): + vobj2.Transparency = 70 + if obj.isDerivedFrom("PartDesign::Feature"): + vobj2.LineWidth = 1 + vobj2.LineColor = (0.5, 0.5, 0.5) + vobj2.PointColor = (0.5, 0.5, 0.5) + except Exception: + # Some FreeCAD 1.1 view providers can lack optional GUI extensions. + # Transparency is cosmetic, so avoid interrupting macro generation. + pass def __getstate__(self): return None diff --git a/CfdOF/CfdTools.py b/CfdOF/CfdTools.py index c3fa496d..751781e9 100644 --- a/CfdOF/CfdTools.py +++ b/CfdOF/CfdTools.py @@ -166,7 +166,7 @@ def getInitialisationZoneObjects(analysis_object): def getZoneObjects(analysis_object): from CfdOF.Solve.CfdZone import CfdZone - return [i for i in analysis_object.Group if isinstance(i.Proxy, CfdZone)] + return [i for i in analysis_object.Group if isinstance(getattr(i, 'Proxy', None), CfdZone)] def getInitialConditions(analysis_object): @@ -174,7 +174,16 @@ def getInitialConditions(analysis_object): def getMaterials(analysis_object): - return [i for i in analysis_object.Group if i.isDerivedFrom('App::MaterialObjectPython')] + from CfdOF.Solve.CfdSolidMaterial import CfdSolidMaterial + return [i for i in analysis_object.Group + if i.isDerivedFrom('App::MaterialObjectPython') + and not isinstance(getattr(i, 'Proxy', None), CfdSolidMaterial)] + + +def getSolidMaterials(analysis_object): + from CfdOF.Solve.CfdSolidMaterial import CfdSolidMaterial + return [i for i in analysis_object.Group + if isinstance(getattr(i, 'Proxy', None), CfdSolidMaterial)] def getSolver(analysis_object): diff --git a/CfdOF/Mesh/CfdMeshTools.py b/CfdOF/Mesh/CfdMeshTools.py index aac41f8c..03ff098f 100644 --- a/CfdOF/Mesh/CfdMeshTools.py +++ b/CfdOF/Mesh/CfdMeshTools.py @@ -35,6 +35,97 @@ import Part + +def _get_interior_point(solid): + """Return a point guaranteed to be inside the solid material. + + CenterOfMass can lie outside the material for non-convex solids (e.g. an air + shell surrounding an object, or a heatsink whose centroid falls between fins). + Falls back to face centroids (always on the surface, which passes isInside + with allowFace=True), then to a 3-D bounding-box grid. + """ + tol = 1e-3 + centroid = solid.CenterOfMass + if solid.isInside(centroid, tol, True): + return centroid + # Face centroids are guaranteed to lie on the solid surface and always pass + # isInside(allowFace=True). This handles thin-feature solids (e.g. heatsink + # fins) where the centroid and a coarse grid both land outside the material. + for face in solid.Faces: + pt = face.CenterOfMass + if solid.isInside(pt, tol, True): + return pt + bb = solid.BoundBox + for xi in (0.1, 0.3, 0.5, 0.7, 0.9): + for yi in (0.1, 0.3, 0.5, 0.7, 0.9): + for zi in (0.1, 0.3, 0.5, 0.7, 0.9): + pt = FreeCAD.Vector( + bb.XMin + xi * bb.XLength, + bb.YMin + yi * bb.YLength, + bb.ZMin + zi * bb.ZLength, + ) + if solid.isInside(pt, tol, True): + return pt + return centroid + + +def _getCompoundLinks(part_obj): + """Return the list of child body objects from a compound or BooleanFragments shape object.""" + if hasattr(part_obj, 'Links'): # Part::Compound + return list(part_obj.Links) + if hasattr(part_obj, 'Objects'): # Part::BooleanFragments + return list(part_obj.Objects) + return [part_obj] + + +def _get_shape_ref_solids(shape_ref): + """Return solid shapes from a FreeCAD LinkSub reference. + + Solid materials can reference selected sub-solids in a compound/body. Use + those sub-elements when present instead of broadening the selection to the + whole source object, otherwise unrelated volumes can be assigned to the + solid region after BooleanFragments. + """ + obj = shape_ref[0] + sub_names = shape_ref[1] if len(shape_ref) > 1 else [] + solids = [] + for sub_name in sub_names: + try: + sub_shape = obj.Shape.getElement(sub_name) + except (Part.OCCError, ValueError, IndexError, AttributeError): + continue + solids.extend(sub_shape.Solids if sub_shape.Solids else [sub_shape]) + if solids: + return solids + return list(obj.Shape.Solids if obj.Shape.Solids else [obj.Shape]) + + +def _solid_belongs_to_reference(result_solid, reference_solids): + """Return True if a BooleanFragments result solid belongs to a source solid. + + The normal test is containment of an interior point, but OCC can occasionally + report false for solids that came from BooleanFragments. In that case, fall + back to the boolean common volume, which is slower but much more reliable for + assigning CHT physical volumes. + """ + interior = _get_interior_point(result_solid) + for ref_solid in reference_solids: + if ref_solid.isInside(interior, 1e-3, False): + return True + + result_volume = abs(result_solid.Volume) + if result_volume <= 0: + return False + for ref_solid in reference_solids: + try: + common_volume = abs(result_solid.common(ref_solid).Volume) + except Part.OCCError: + continue + if common_volume / result_volume > 0.5: + return True + return False + + class CfdMeshTools: def __init__(self, cart_mesh_obj): self.mesh_obj = cart_mesh_obj @@ -689,6 +780,52 @@ def writeMeshCase(self): self.gmsh_settings['ClMin'] = self.clmin sols = (''.join((str(n+1) + ', ') for n in range(len(self.mesh_obj.Part.Shape.Solids)))).rstrip(', ') self.gmsh_settings['Solids'] = sols + + # Build per-region volume map for CHT (chtMultiRegionSimpleFoam/chtMultiRegionFoam) + solid_material_objs = CfdTools.getSolidMaterials(self.analysis) + if solid_material_objs: + region_volume_map = {} + mesh_part = self.mesh_obj.Part + links = _getCompoundLinks(mesh_part) + result_solids = mesh_part.Shape.Solids + solid_vol_indices_all = set() + # For each CfdSolidMaterial, find the result solid volumes that belong + # to it by geometric containment/overlap in its referenced shapes. Each + # material is handled independently so that multiple solid regions + # receive distinct volume index sets rather than the same combined set. + for solid_obj in solid_material_objs: + rname = getattr(solid_obj, 'RegionName', '') or solid_obj.Label + body_names = set() + body_solids = {} + for ref in solid_obj.ShapeRefs: + body_names.add(ref[0].Name) + body_solids.setdefault(ref[0].Name, []).extend(_get_shape_ref_solids(ref)) + for lnk in links: + if lnk.Name in body_names and lnk.Name not in body_solids: + body_solids[lnk.Name] = list(lnk.Shape.Solids if lnk.Shape.Solids else [lnk.Shape]) + flat_solids = [solid for solids in body_solids.values() for solid in solids] + vol_indices = [i for i, s in enumerate(result_solids, start=1) + if _solid_belongs_to_reference(s, flat_solids)] + solid_vol_indices_all.update(vol_indices) + if vol_indices: + region_volume_map[rname] = ', '.join(str(v) for v in vol_indices) + # Fluid volumes are those not claimed by any solid material + fluid_vol_indices = [i for i in range(1, len(result_solids) + 1) + if i not in solid_vol_indices_all] + mr_objs = CfdTools.getMeshRefinementObjs(self.mesh_obj) + internal_zones = [o for o in mr_objs if o.Internal] + if internal_zones: + fluid_rname = internal_zones[0].Label + else: + fluid_mats = CfdTools.getMaterials(self.analysis) + fluid_rname = fluid_mats[0].Label if fluid_mats else 'fluid' + if fluid_vol_indices: + region_volume_map[fluid_rname] = ', '.join(str(v) for v in fluid_vol_indices) + self.gmsh_settings['IsMultiRegion'] = True + self.gmsh_settings['RegionVolumeMap'] = region_volume_map + else: + self.gmsh_settings['IsMultiRegion'] = False + self.gmsh_settings['BoundaryFaceMap'] = {} for k in range(len(self.patch_faces)): for l in range(len(self.patch_faces[k])): diff --git a/CfdOF/Solve/CfdCaseWriterFoam.py b/CfdOF/Solve/CfdCaseWriterFoam.py index 0987b78f..b891ab62 100644 --- a/CfdOF/Solve/CfdCaseWriterFoam.py +++ b/CfdOF/Solve/CfdCaseWriterFoam.py @@ -33,6 +33,31 @@ from CfdOF.CfdTools import cfdMessage from CfdOF.Mesh import CfdMeshTools from CfdOF.Mesh import CfdDynamicMeshRefinement +from CfdOF.Solve.CfdSolidMaterial import CfdSolidMaterial + + + +def _getCompoundLinks(part_obj): + """Return the list of child body objects from a compound or BooleanFragments shape object.""" + if hasattr(part_obj, 'Links'): # Part::Compound + return list(part_obj.Links) + if hasattr(part_obj, 'Objects'): # Part::BooleanFragments + return list(part_obj.Objects) + return [part_obj] + + +def _face_overlaps_any_shape(face, shapes): + face_area = abs(getattr(face, 'Area', 0.0)) + if face_area <= 0: + return False + for shape in shapes: + try: + if abs(face.common(shape).Area) / face_area > 0.5: + return True + except Exception: + continue + return False + class CfdCaseWriterFoam: def __init__(self, analysis_obj): @@ -51,7 +76,8 @@ def __init__(self, analysis_obj): if not self.mesh_obj: raise RuntimeError("No mesh object was found in analysis " + analysis_obj.Label) self.material_objs = CfdTools.getMaterials(analysis_obj) - if not self.material_objs: + self.solid_material_objs = CfdTools.getSolidMaterials(analysis_obj) + if not self.material_objs and not self.solid_material_objs: raise RuntimeError("No material properties were found in analysis " + analysis_obj.Label) self.bc_group = CfdTools.getCfdBoundaryGroup(analysis_obj) self.initial_conditions = CfdTools.getInitialConditions(analysis_obj) @@ -112,6 +138,14 @@ def writeCase(self): self.settings = { 'physics': phys_settings, 'fluidProperties': [], # Order is important, so use a list + 'solidProperties': [], # Solid material properties for multi-region CHT + 'multiRegionEnabled': False, + 'multiRegionFluidNames': [], + 'multiRegionSolidNames': [], + 'multiRegionFluidNamesDict': {}, + 'multiRegionSolidNamesDict': {}, + 'multiRegionFluidBoundaries': {}, + 'multiRegionSolidBoundaries': {}, 'initialValues': CfdTools.propsToDict(self.initial_conditions), 'boundaries': dict((b.Label, CfdTools.propsToDict(b)) for b in self.bc_group), 'reportingFunctions': dict((fo.Label, CfdTools.propsToDict(fo)) for fo in self.reporting_functions), @@ -182,6 +216,12 @@ def writeCase(self): self.processPorousZoneProperties() self.processInitialisationZoneProperties() + if self.settings['multiRegionEnabled']: + cfdMessage('Multi-region CHT case detected\n') + self._checkChtGeometryConformality() + self.exportChtRegionStlSurfaces() + self.processMultiRegionBoundaries() + if self.mean_velocity_force_cellzone_objs: cfdMessage('Mean velocity force cell zone(s) present\n') self.exportMeanVelocityForceCellZoneStlSurfaces() @@ -208,6 +248,10 @@ def writeCase(self): TemplateBuilder(self.case_folder, self.template_path, self.settings) + # For CHT: rename template fluid/solid subdirs to actual region names so the + # solver finds thermophysicalProperties, fvSchemes, etc. in the right places. + self._renameChtRegionDirs() + # Update Allrun permission - will fail silently on Windows file_name = os.path.join(self.case_folder, "Allrun") import stat @@ -220,6 +264,28 @@ def writeCase(self): return True + def _renameChtRegionDirs(self): + """Rename constant/fluid, 0/fluid, system/fluid template subdirs to actual fluid region name. + + Solid region files are written directly to per-region paths by the template's + filename-loop mechanism, so no renaming is needed for solids. + """ + import shutil + fluid_names = self.settings.get('multiRegionFluidNames', []) + if not fluid_names: + return + for top in ('constant', '0', 'system'): + src = os.path.join(self.case_folder, top, 'fluid') + dst = os.path.join(self.case_folder, top, fluid_names[0]) + if src == dst or not os.path.isdir(src): + continue + if os.path.isdir(dst): + for fname in os.listdir(src): + shutil.copy2(os.path.join(src, fname), os.path.join(dst, fname)) + shutil.rmtree(src) + else: + os.rename(src, dst) + def getSolverName(self): """ Solver name is selected based on selected physics. This should only be extended as additional physics are @@ -262,6 +328,14 @@ def getSolverName(self): raise RuntimeError("Only isothermal analysis is currently supported for free surface flow simulation.") else: raise RuntimeError("Only transient analysis is supported for free surface flow simulation.") + elif self.physics_model.Phase == 'MultiRegion': + if self.physics_model.Flow == 'NonIsothermal': + if self.physics_model.Time == 'Steady': + solver = 'chtMultiRegionSimpleFoam' + else: + solver = 'chtMultiRegionFoam' + else: + raise RuntimeError("Only NonIsothermal flow is supported for MultiRegion (CHT) simulation.") else: raise RuntimeError(self.physics_model.Phase + " phase model currently not supported.") @@ -316,9 +390,47 @@ def processFluidProperties(self): # self.material_obj currently stores everything as a string # Convert to (mostly) SI numbers for OpenFOAM settings = self.settings + solver_name = settings['solver']['SolverName'] + is_multiregion = solver_name in ['chtMultiRegionSimpleFoam', 'chtMultiRegionFoam'] + + # Process dedicated CfdSolidMaterial objects (new path) + for solid_obj in self.solid_material_objs: + mp = solid_obj.Material.copy() + mp['Name'] = solid_obj.Label + region_name = getattr(solid_obj, 'RegionName', '') or solid_obj.Label + if 'ThermalConductivity' in mp: + mp['ThermalConductivity'] = Units.Quantity(mp['ThermalConductivity']).getValueAs("W/m/K").Value + if 'Density' in mp: + mp['Density'] = Units.Quantity(mp['Density']).getValueAs("kg/m^3").Value + if 'SpecificHeat' in mp: + mp['Cp'] = Units.Quantity(mp['SpecificHeat']).getValueAs("J/kg/K").Value + if hasattr(solid_obj, 'HeatGeneration'): + heat_gen = solid_obj.HeatGeneration.getValueAs("W/m^3").Value + else: + heat_gen = 0.0 + mp['HeatGeneration'] = heat_gen + mp['HeatGenerationActive'] = 'true' if heat_gen > 0 else 'false' + settings['solidProperties'].append(mp) + settings['multiRegionSolidNames'].append(region_name) + for material_obj in self.material_objs: - mp = material_obj.Material + mp = material_obj.Material.copy() mp['Name'] = material_obj.Label + explicit_region = getattr(material_obj, 'RegionName', '') + if explicit_region: + region_name = explicit_region + elif is_multiregion: + # Derive fluid region name from the Internal mesh refinement zone label so the + # user does not have to set RegionName manually. Falls back to material Label. + mr_objs = CfdTools.getMeshRefinementObjs(self.mesh_obj) + internal_zones = [o.Label for o in mr_objs if o.Internal] + region_name = internal_zones[0] if internal_zones else material_obj.Label + else: + region_name = material_obj.Label + + if is_multiregion: + settings['multiRegionFluidNames'].append(region_name) + # Add type if absent mat_type = mp.get('Type', 'Isothermal') mp['Type'] = mat_type @@ -362,6 +474,17 @@ def processFluidProperties(self): settings['fluidProperties'].append(mp) + if is_multiregion: + if not settings['multiRegionSolidNames']: + raise ValueError("{} requires at least one solid material region. " + "Add a Solid Properties object for the solid body, or use a " + "single-region buoyant solver with a fixed-temperature wall " + "if the body is only meant to be a boundary." + .format(solver_name)) + settings['multiRegionEnabled'] = True + settings['multiRegionFluidNamesDict'] = {n: {} for n in settings['multiRegionFluidNames']} + settings['multiRegionSolidNamesDict'] = {n: {} for n in settings['multiRegionSolidNames']} + def processBoundaryConditions(self): """ Compute any quantities required before case build """ # Copy keys so that we can delete while iterating @@ -689,6 +812,219 @@ def processDynamicMeshRefinement(self): else: settings['dynamicMesh']['Type'] = 'interface' + # Multi-region CHT + def exportChtRegionStlSurfaces(self): + """Export STL surfaces for CHT regions. + + Fluid regions: sourced from Internal CfdMeshRefinement zones matching multiRegionFluidNames. + Solid regions: sourced from CfdSolidMaterial.ShapeRefs. + """ + settings = self.settings + path = os.path.join(self.working_dir, self.solver_obj.InputCaseName, "constant", "triSurface") + + # Fluid regions: use Internal mesh refinement zones + mr_objs = CfdTools.getMeshRefinementObjs(self.mesh_obj) + fluid_zones_written = set() + for mr_obj in mr_objs: + if mr_obj.Internal and mr_obj.Label in settings['multiRegionFluidNames']: + if not os.path.exists(path): + os.makedirs(path) + for r in mr_obj.ShapeRefs: + CfdMeshTools.writeSurfaceMeshFromShape(r[0].Shape, path, mr_obj.Label, self.mesh_obj) + cfdMessage("Wrote STL for fluid region '{}'\n".format(mr_obj.Label)) + settings['zones'][mr_obj.Label] = {'PartNameList': (mr_obj.Label,)} + fluid_zones_written.add(mr_obj.Label) + + # Fallback: if no Internal zone was found for a fluid region, derive the fluid body + # from the compound mesh part by excluding known solid bodies. + solid_obj_names = set() + for solid_obj in self.solid_material_objs: + for r in solid_obj.ShapeRefs: + solid_obj_names.add(r[0].Name) + for region_name in settings['multiRegionFluidNames']: + if region_name not in fluid_zones_written: + mesh_part = self.mesh_obj.Part + compound_links = _getCompoundLinks(mesh_part) + fluid_bodies = [lnk for lnk in compound_links if lnk.Name not in solid_obj_names] + if fluid_bodies: + if not os.path.exists(path): + os.makedirs(path) + for body in fluid_bodies: + CfdMeshTools.writeSurfaceMeshFromShape(body.Shape, path, region_name, self.mesh_obj) + cfdMessage("Wrote STL for fluid region '{}' (auto-derived from compound)\n".format(region_name)) + settings['zones'][region_name] = {'PartNameList': (region_name,)} + else: + cfdMessage("Warning: no geometry found for fluid region '{}' - " + "add an Internal mesh refinement zone\n".format(region_name)) + + # Solid regions: use CfdSolidMaterial.ShapeRefs directly + for solid_obj in self.solid_material_objs: + region_name = getattr(solid_obj, 'RegionName', '') or solid_obj.Label + if not os.path.exists(path): + os.makedirs(path) + for r in solid_obj.ShapeRefs: + CfdMeshTools.writeSurfaceMeshFromShape(r[0].Shape, path, region_name, self.mesh_obj) + cfdMessage("Wrote STL for solid region '{}'\n".format(region_name)) + settings['zones'][region_name] = {'PartNameList': (region_name,)} + + # For gmsh CHT cases, cell zones come directly from per-region Physical Volumes + # in the .geo file (written by CfdMeshTools). topoSet zone creation is not needed. + if (settings['multiRegionFluidNames'] or settings['multiRegionSolidNames']) and \ + self.mesh_obj.MeshUtility != 'gmsh': + settings['zonesPresent'] = True + + def _checkChtGeometryConformality(self): + """Warn if solid bodies are enclosed inside fluid bodies without shared faces (non-conformal topology). + + A simple Part::Compound of an enclosed heatsink produces non-conformal mesh — + splitMeshRegions won't create an interface patch in the fluid region. + BooleanFragments is required to create shared surfaces. + """ + if self.mesh_obj.MeshUtility != 'gmsh': + return + if not self.solid_material_objs: + return + mesh_part = self.mesh_obj.Part + links = _getCompoundLinks(mesh_part) + if len(links) < 2: + return + solid_names = set() + for solid_obj in self.solid_material_objs: + for r in solid_obj.ShapeRefs: + solid_names.add(r[0].Name) + fluid_links = [lnk for lnk in links if lnk.Name not in solid_names] + solid_links = [lnk for lnk in links if lnk.Name in solid_names] + if not fluid_links or not solid_links: + return + # Check whether any solid body shares a face with the fluid compound shape. + # If the compound has no shared/fused topology (i.e. it was created with + # Part::Compound rather than BooleanFragments), the sub-shapes are independent + # and share no faces. We detect this by checking if the compound compound object + # has a Links attribute (Part::Compound) and its Placement is default — a proxy + # for "not Boolean-fused". A more robust check: count faces in compound vs sum of faces. + compound_shape = mesh_part.Shape + sub_face_count = sum(len(lnk.Shape.Faces) for lnk in links) + compound_face_count = len(compound_shape.Faces) + if compound_face_count >= sub_face_count: + # No face reduction means no shared faces — BooleanFragments reduces face count + # by merging coincident faces into one shared face. + # Only warn if at least one solid body is spatially enclosed in a fluid body + # (bounding box of solid is inside bounding box of a fluid link). + for s_lnk in solid_links: + s_bb = s_lnk.Shape.BoundBox + for f_lnk in fluid_links: + f_bb = f_lnk.Shape.BoundBox + if (f_bb.XMin <= s_bb.XMin and f_bb.XMax >= s_bb.XMax and + f_bb.YMin <= s_bb.YMin and f_bb.YMax >= s_bb.YMax and + f_bb.ZMin <= s_bb.ZMin and f_bb.ZMax >= s_bb.ZMax): + cfdMessage( + "WARNING: Solid body '{}' appears to be enclosed inside fluid body '{}', " + "but the compound was not created with BooleanFragments. " + "This will produce a non-conformal mesh — splitMeshRegions will NOT create " + "a defaultFaces interface patch in the fluid region and the CHT solver will " + "fail. Use Part → Boolean → BooleanFragments instead of Part → Create a " + "compound.\n".format(s_lnk.Label, f_lnk.Label)) + + def processMultiRegionBoundaries(self): + """Categorize boundary conditions by region (fluid vs solid) for CHT cases.""" + settings = self.settings + fluid_region_shapes = set() + solid_region_shapes = set() + + # Fluid region shapes from Internal mesh refinement zones + mr_objs = CfdTools.getMeshRefinementObjs(self.mesh_obj) + for mr_obj in mr_objs: + if mr_obj.Internal: + for r in mr_obj.ShapeRefs: + if mr_obj.Label in settings['multiRegionFluidNames']: + fluid_region_shapes.add(r[0].Name) + + # Solid region shapes from CfdSolidMaterial.ShapeRefs (new path) + solid_shapes_geom = [] # actual FreeCAD shapes for geometry-based fallback + for solid_obj in self.solid_material_objs: + for r in solid_obj.ShapeRefs: + solid_region_shapes.add(r[0].Name) + # Also add names of all child features (e.g. PartDesign Pad inside Body) + for child in getattr(r[0], 'OutList', []): + if hasattr(child, 'Shape'): + solid_region_shapes.add(child.Name) + # Collect actual shape for geometry fallback + try: + solid_shapes_geom.append(r[0].Shape) + except Exception: + pass + + # Auto-detect fluid shapes: compound children that are not solid bodies + fluid_shapes_geom = [] # actual FreeCAD shapes for geometry-based fallback + if not fluid_region_shapes and settings.get('multiRegionFluidNames'): + mesh_part = self.mesh_obj.Part + links = _getCompoundLinks(mesh_part) + for lnk in links: + if lnk.Name not in solid_region_shapes: + fluid_region_shapes.add(lnk.Name) + try: + fluid_shapes_geom.append(lnk.Shape) + except Exception: + pass + + fluid_bcs = {} + solid_bcs = {} + for bc_obj in self.bc_group: + matched = False + for ref in bc_obj.ShapeRefs: + if ref[0].Name in fluid_region_shapes: + fluid_bcs[bc_obj.Label] = settings['boundaries'][bc_obj.Label] + matched = True + break + elif ref[0].Name in solid_region_shapes: + solid_bcs[bc_obj.Label] = settings['boundaries'][bc_obj.Label] + matched = True + break + if not matched and solid_shapes_geom: + # Geometry fallback for BCs referencing the BooleanFragments result. + # A selected face that overlaps a solid material body belongs to the + # solid region even if it is also inside the original fluid volume. + # Otherwise classify by whether the face centroid is in the fluid. + is_solid = False + for ref in bc_obj.ShapeRefs: + try: + shape_obj = ref[0] + sub_list = ref[1] if ref[1] else [] + faces = [shape_obj.Shape.getElement(s) for s in sub_list] if sub_list \ + else [shape_obj.Shape] + for face in faces: + if face is None: + continue + if _face_overlaps_any_shape(face, solid_shapes_geom): + is_solid = True + break + centroid = face.CenterOfMass + if fluid_shapes_geom: + # Solid BC only if centroid is outside every fluid shape + in_fluid = any(fs.isInside(centroid, 1e-3, True) + for fs in fluid_shapes_geom) + if not in_fluid: + is_solid = True + break + else: + for solid_shape in solid_shapes_geom: + if solid_shape.isInside(centroid, 1e-3, True): + is_solid = True + break + if is_solid: + break + except Exception: + pass + if is_solid: + break + if is_solid: + solid_bcs[bc_obj.Label] = settings['boundaries'][bc_obj.Label] + else: + fluid_bcs[bc_obj.Label] = settings['boundaries'][bc_obj.Label] + + settings['multiRegionFluidBoundaries'] = fluid_bcs + settings['multiRegionSolidBoundaries'] = solid_bcs + # Zones def exportZoneStlSurfaces(self): for zo in self.zone_objs: diff --git a/CfdOF/Solve/CfdFluidMaterial.py b/CfdOF/Solve/CfdFluidMaterial.py index d9abc3a7..33198bc8 100644 --- a/CfdOF/Solve/CfdFluidMaterial.py +++ b/CfdOF/Solve/CfdFluidMaterial.py @@ -139,7 +139,12 @@ def onDocumentRestored(self, obj): class ViewProviderCfdFluidMaterial: def __init__(self, vobj): vobj.Proxy = self + self.ViewObject = vobj + self.Object = vobj.Object self.taskd = None + # FreeCAD 1.1 builds may not provide this optional GUI extension and + # print ExtensionContainer warnings before raising. Suppressible view + # behaviour is cosmetic, so skip it for compatibility. def getIcon(self): icon_path = os.path.join(CfdTools.getModulePath(), "Gui", "Icons", "material.svg") @@ -157,6 +162,9 @@ def updateData(self, obj, prop): def onChanged(self, vobj, prop): return + def isShow(self): + return self.ViewObject.Visibility + def setEdit(self, vobj, mode): analysis_object = CfdTools.getParentAnalysisObject(self.Object) if analysis_object is None: diff --git a/CfdOF/Solve/CfdPhysicsSelection.py b/CfdOF/Solve/CfdPhysicsSelection.py index 9d971025..f1148c13 100644 --- a/CfdOF/Solve/CfdPhysicsSelection.py +++ b/CfdOF/Solve/CfdPhysicsSelection.py @@ -146,7 +146,7 @@ def initProperties(self, obj): if addObjectProperty( obj, "Phase", - ["Single", "FreeSurface"], + ["Single", "FreeSurface", "MultiRegion"], "App::PropertyEnumeration", "Physics modelling", QT_TRANSLATE_NOOP("App::Property", "Type of phases present"), diff --git a/CfdOF/Solve/CfdSolidMaterial.py b/CfdOF/Solve/CfdSolidMaterial.py new file mode 100644 index 00000000..dc5d36a7 --- /dev/null +++ b/CfdOF/Solve/CfdSolidMaterial.py @@ -0,0 +1,177 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +# SPDX-FileCopyrightText: © 2024 CfdOF contributors +# SPDX-FileNotice: Part of the CfdOF addon. + +import os +import FreeCAD + +if FreeCAD.GuiUp: + import FreeCADGui +from CfdOF import CfdTools +from CfdOF.CfdTools import addObjectProperty + +translate = FreeCAD.Qt.translate +QT_TRANSLATE_NOOP = FreeCAD.Qt.QT_TRANSLATE_NOOP + + +def makeCfdSolidMaterial(name): + obj = FreeCAD.ActiveDocument.addObject("App::MaterialObjectPython", name) + CfdSolidMaterial(obj) + if FreeCAD.GuiUp: + ViewProviderCfdSolidMaterial(obj.ViewObject) + return obj + + +class CommandCfdSolidMaterial: + + def GetResources(self): + icon_path = os.path.join(CfdTools.getModulePath(), "Gui", "Icons", "solid_material.svg") + return { + 'Pixmap': icon_path, + 'MenuText': QT_TRANSLATE_NOOP("CfdOF_SolidMaterial", "Add solid properties"), + 'ToolTip': QT_TRANSLATE_NOOP("CfdOF_SolidMaterial", "Add solid material properties for CHT simulation")} + + def IsActive(self): + return CfdTools.getActiveAnalysis() is not None + + def Activated(self): + FreeCAD.Console.PrintMessage(translate("Console", "Set solid properties\n")) + FreeCAD.ActiveDocument.openTransaction("Set CfdSolidMaterial") + FreeCADGui.doCommand("from CfdOF import CfdTools") + FreeCADGui.doCommand("from CfdOF.Solve import CfdSolidMaterial") + FreeCADGui.doCommand( + "CfdTools.getActiveAnalysis().addObject(CfdSolidMaterial.makeCfdSolidMaterial('SolidProperties'))") + FreeCADGui.ActiveDocument.setEdit(FreeCAD.ActiveDocument.ActiveObject.Name) + + +class CfdSolidMaterial: + """Solid material properties for CHT multi-region simulation.""" + + def __init__(self, obj): + self.initProperties(obj) + + def initProperties(self, obj): + obj.Proxy = self + self.Type = 'CfdSolidMaterial' + + addObjectProperty( + obj, + "ShapeRefs", + [], + "App::PropertyLinkSubListGlobal", + "Solid region", + QT_TRANSLATE_NOOP("App::Property", "Solid body defining this region"), + ) + + addObjectProperty( + obj, + "RegionName", + "", + "App::PropertyString", + "Solid region", + QT_TRANSLATE_NOOP("App::Property", + "OpenFOAM region name (defaults to object Label if empty)"), + ) + + addObjectProperty( + obj, + "HeatGeneration", + "0 W/m^3", + "App::PropertyQuantity", + "Solid region", + QT_TRANSLATE_NOOP("App::Property", "Volumetric heat generation rate"), + ) + + if not obj.Material: + mats, name_path_list = CfdTools.importMaterials() + names = [np[0] for np in name_path_list] + if 'AluminiumSolid' in names: + obj.Material = mats[name_path_list[names.index('AluminiumSolid')][1]] + else: + obj.Material = {'Name': 'Custom', 'Description': '', 'Type': 'Solid', + 'ThermalConductivity': '1 W/m/K', + 'Density': '1000 kg/m^3', + 'SpecificHeat': '500 J/kg/K'} + + def onDocumentRestored(self, obj): + self.initProperties(obj) + if FreeCAD.GuiUp and obj.ViewObject.Proxy == 0: + ViewProviderCfdSolidMaterial(obj.ViewObject) + + def execute(self, obj): + return + + +class ViewProviderCfdSolidMaterial: + def __init__(self, vobj): + vobj.Proxy = self + self.ViewObject = vobj + self.Object = vobj.Object + self.taskd = None + # FreeCAD 1.1 builds may not provide this optional GUI extension and + # print ExtensionContainer warnings before raising. Suppressible view + # behaviour is cosmetic, so skip it for compatibility. + + def getIcon(self): + return os.path.join(CfdTools.getModulePath(), "Gui", "Icons", "solid_material.svg") + + def attach(self, vobj): + self.ViewObject = vobj + self.Object = vobj.Object + self.taskd = None + + def updateData(self, obj, prop): + analysis_obj = CfdTools.getParentAnalysisObject(obj) + if analysis_obj and not analysis_obj.Proxy.loading: + analysis_obj.NeedsCaseRewrite = True + + def onChanged(self, vobj, prop): + return + + def isShow(self): + return self.ViewObject.Visibility + + def setEdit(self, vobj, mode): + obj = getattr(self, 'Object', vobj.Object) + self.Object = obj + analysis_object = CfdTools.getParentAnalysisObject(obj) + if analysis_object is None: + CfdTools.cfdErrorBox("No parent analysis object found") + return False + import importlib + from CfdOF.Solve import TaskPanelCfdSolidProperties + importlib.reload(TaskPanelCfdSolidProperties) + self.taskd = TaskPanelCfdSolidProperties.TaskPanelCfdSolidProperties(obj) + self.taskd.obj = vobj.Object + FreeCADGui.Control.showDialog(self.taskd) + return True + + def doubleClicked(self, vobj): + doc = FreeCADGui.getDocument(vobj.Object.Document) + if not doc.getInEdit(): + doc.setEdit(vobj.Object.Name) + else: + FreeCAD.Console.PrintError('Task dialog already open\n') + FreeCADGui.Control.showTaskView() + return True + + def unsetEdit(self, vobj, mode): + if getattr(self, 'taskd', None): + self.taskd.closing() + self.taskd = None + FreeCADGui.Control.closeDialog() + + def __getstate__(self): + return None + + def __setstate__(self, state): + return None + + def dumps(self): + return None + + def loads(self, state): + return None + + +FreeCADGui.addCommand('CfdOF_SolidMaterial', CommandCfdSolidMaterial()) diff --git a/CfdOF/Solve/CfdSolverFoam.py b/CfdOF/Solve/CfdSolverFoam.py index 27a8515d..3301a435 100644 --- a/CfdOF/Solve/CfdSolverFoam.py +++ b/CfdOF/Solve/CfdSolverFoam.py @@ -193,6 +193,36 @@ def initProperties(self, obj): "Relaxation", QT_TRANSLATE_NOOP("App::Property", "Density field relaxation factor (steady-state)"), ) + addObjectProperty( + obj, + "FluidNonOrthogonalCorrectors", + 3, + "App::PropertyInteger", + "Relaxation", + QT_TRANSLATE_NOOP( + "App::Property", "Number of fluid-region non-orthogonal correctors" + ), + ) + addObjectProperty( + obj, + "SolidEnergyRelaxation", + 0.9, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP( + "App::Property", "Solid energy equation relaxation factor (steady-state)" + ), + ) + addObjectProperty( + obj, + "SolidNonOrthogonalCorrectors", + 5, + "App::PropertyInteger", + "Relaxation", + QT_TRANSLATE_NOOP( + "App::Property", "Number of solid-region non-orthogonal correctors" + ), + ) if addObjectProperty( obj, diff --git a/CfdOF/Solve/TaskPanelCfdPhysicsSelection.py b/CfdOF/Solve/TaskPanelCfdPhysicsSelection.py index 6e72fb78..ca355b19 100644 --- a/CfdOF/Solve/TaskPanelCfdPhysicsSelection.py +++ b/CfdOF/Solve/TaskPanelCfdPhysicsSelection.py @@ -52,6 +52,7 @@ def __init__(self, obj): self.form.radioButtonTransient.toggled.connect(self.updateUI) self.form.radioButtonSinglePhase.toggled.connect(self.updateUI) self.form.radioButtonFreeSurface.toggled.connect(self.updateUI) + self.form.radioButtonMultiRegion.toggled.connect(self.updateUI) if hasattr(self.form.checkBoxIsothermal, "checkStateChanged"): self.form.checkBoxIsothermal.checkStateChanged.connect(self.updateUI) self.form.viscousCheckBox.checkStateChanged.connect(self.updateUI) @@ -80,6 +81,8 @@ def load(self): self.form.radioButtonSinglePhase.toggle() elif self.obj.Phase == 'FreeSurface': self.form.radioButtonFreeSurface.toggle() + elif self.obj.Phase == 'MultiRegion': + self.form.radioButtonMultiRegion.toggle() # Flow self.form.checkBoxIsothermal.setChecked(self.obj.Flow == 'Isothermal') @@ -127,9 +130,12 @@ def updateUI(self): self.form.FlowFrame.setVisible(True) self.form.turbulenceFrame.setVisible(True) + multi_region = self.form.radioButtonMultiRegion.isChecked() + # Steady / transient if self.form.radioButtonSteady.isChecked(): - self.form.radioButtonFreeSurface.setEnabled(False) + free_surface_allowed = not multi_region + self.form.radioButtonFreeSurface.setEnabled(free_surface_allowed) if self.form.radioButtonDES.isChecked() or self.form.radioButtonLES.isChecked(): self.form.radioButtonRANS.toggle() self.form.radioButtonDES.setEnabled(False) @@ -137,36 +143,48 @@ def updateUI(self): if self.form.radioButtonFreeSurface.isChecked(): self.form.radioButtonSinglePhase.toggle() else: - self.form.radioButtonFreeSurface.setEnabled(True) + self.form.radioButtonFreeSurface.setEnabled(not multi_region) self.form.radioButtonDES.setEnabled(True) self.form.radioButtonLES.setEnabled(True) + # Multi-region forces NonIsothermal flow and disables flow override controls + if multi_region: + self.form.checkBoxIsothermal.setChecked(False) + self.form.checkBoxIsothermal.setEnabled(False) + self.form.checkBoxHighMach.setChecked(False) + self.form.checkBoxHighMach.setEnabled(False) + else: + self.form.checkBoxHighMach.setEnabled(not self.form.checkBoxIsothermal.isChecked()) + # Gravity self.form.gravityFrame.setEnabled( - self.form.radioButtonFreeSurface.isChecked() or + self.form.radioButtonFreeSurface.isChecked() or multi_region or (not self.form.checkBoxIsothermal.isChecked() and not self.form.checkBoxHighMach.isChecked())) # SRF model - srf_capable = (self.form.radioButtonSteady.isChecked() and self.form.checkBoxIsothermal.isChecked()) - srf_should_be_unchecked = ((not self.form.checkBoxIsothermal.isChecked()) + srf_capable = (self.form.radioButtonSteady.isChecked() and self.form.checkBoxIsothermal.isChecked() + and not multi_region) + srf_should_be_unchecked = ((not self.form.checkBoxIsothermal.isChecked()) or self.form.radioButtonTransient.isChecked() - or self.form.radioButtonFreeSurface.isChecked()) + or self.form.radioButtonFreeSurface.isChecked() + or multi_region) self.form.srfCheckBox.setEnabled(srf_capable) if srf_should_be_unchecked: self.form.srfCheckBox.setChecked(False) self.form.srfFrame.setEnabled(self.form.srfCheckBox.isChecked()) - # Free surface + # Free surface forces isothermal (only when not multi-region) if self.form.radioButtonFreeSurface.isChecked(): self.form.checkBoxIsothermal.setChecked(True) self.form.checkBoxIsothermal.setEnabled(False) - else: + elif not multi_region: self.form.checkBoxIsothermal.setEnabled(True) - # High Mach capability - self.form.checkBoxHighMach.setEnabled(not self.form.checkBoxIsothermal.isChecked()) - if self.form.checkBoxIsothermal.isChecked(): - self.form.checkBoxHighMach.setChecked(False) + # High Mach capability (only when not multi-region) + if not multi_region: + self.form.checkBoxHighMach.setEnabled(not self.form.checkBoxIsothermal.isChecked()) + if self.form.checkBoxIsothermal.isChecked(): + self.form.checkBoxHighMach.setChecked(False) # Viscous if self.form.viscousCheckBox.isChecked(): @@ -212,6 +230,8 @@ def accept(self): storeIfChanged(self.obj, 'Phase', 'Single') elif self.form.radioButtonFreeSurface.isChecked(): storeIfChanged(self.obj, 'Phase', 'FreeSurface') + elif self.form.radioButtonMultiRegion.isChecked(): + storeIfChanged(self.obj, 'Phase', 'MultiRegion') if self.form.checkBoxIsothermal.isChecked(): storeIfChanged(self.obj, 'Flow', 'Isothermal') diff --git a/CfdOF/Solve/TaskPanelCfdSolidProperties.py b/CfdOF/Solve/TaskPanelCfdSolidProperties.py new file mode 100644 index 00000000..11694e8d --- /dev/null +++ b/CfdOF/Solve/TaskPanelCfdSolidProperties.py @@ -0,0 +1,194 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +# SPDX-FileCopyrightText: © 2024 CfdOF contributors +# SPDX-FileNotice: Part of the CfdOF addon. + +import os +import FreeCAD +if FreeCAD.GuiUp: + import FreeCADGui + from PySide import QtGui +from CfdOF import CfdTools, CfdFaceSelectWidget +from CfdOF.CfdTools import setQuantity, getQuantity, storeIfChanged + +translate = FreeCAD.Qt.translate + +SOLID_FIELDS = ['ThermalConductivity', 'Density', 'SpecificHeat'] +SOLID_FIELD_UNITS = { + 'ThermalConductivity': 'W/m/K', + 'Density': 'kg/m^3', + 'SpecificHeat': 'J/kg/K', +} +HEAT_GENERATION_UNIT = 'W/m^3' + + +class TaskPanelCfdSolidProperties: + """Task panel for CfdSolidMaterial objects.""" + + def __init__(self, obj): + self.obj = obj + + self.form = FreeCADGui.PySideUic.loadUi( + os.path.join(CfdTools.getModulePath(), 'Gui', "TaskPanelCfdSolidProperties.ui")) + + self.material = dict(self.obj.Material) + self.ShapeRefsOrig = list(self.obj.ShapeRefs) + + # Body selector — whole-solid selection only + self.solidSelector = CfdFaceSelectWidget.CfdFaceSelectWidget( + self.form.solidBodyWidget, self.obj, + allow_obj_sel=False, allow_face_sel=False, allow_solid_sel=True) + + # Build property input widgets dynamically into frame_solid + self.text_boxes = {} + layout = self.form.frame_solid.layout() + for name in SOLID_FIELDS: + widget = FreeCADGui.UiLoader().createWidget("Gui::InputField") + widget.setObjectName(name) + widget.setProperty("format", "g") + val = self.material.get(name, '0') + widget.setProperty("unit", SOLID_FIELD_UNITS.get(name, '')) + widget.setProperty("minimum", 0) + widget.setProperty("singleStep", 0.1) + layout.addRow(name + ":", widget) + self.text_boxes[name] = widget + setQuantity(widget, val) + widget.valueChanged.connect(self.manualEdit) + + if hasattr(self.obj, 'HeatGeneration'): + self.setHeatGenerationQuantity(self.obj.HeatGeneration) + self.form.inputHeatGeneration.editingFinished.connect(self.heatGenChanged) + + self.form.material_name.setText(self.obj.Label) + self.form.saveButton.clicked.connect(self.saveCustomMaterial) + self.form.saveButton.setVisible(False) + self.form.PredefinedMaterialLibraryComboBox.currentIndexChanged.connect(self.selectPredefined) + + self.selecting_predefined = True + try: + self.populateMaterialsList() + idx = self.form.PredefinedMaterialLibraryComboBox.findText(self.obj.Material.get('Name', '')) + if idx == -1: + idx = 0 + self.form.PredefinedMaterialLibraryComboBox.setCurrentIndex(idx) + self.selectPredefined() + finally: + self.selecting_predefined = False + # Restore the user's saved values: populateMaterialsList and selectPredefined + # both fire signals that overwrite self.material and the widget values. + self.material = dict(self.obj.Material) + self.selecting_predefined = True + try: + for name in SOLID_FIELDS: + setQuantity(self.text_boxes[name], self.material.get(name, '0')) + finally: + self.selecting_predefined = False + self.form.solidDescriptor.setText(self.material.get("Description", "")) + self.form.material_name.setText(self.obj.Label) + + def populateMaterialsList(self): + self.form.PredefinedMaterialLibraryComboBox.clear() + self.materials, material_name_path_list = CfdTools.importMaterials() + for mat in material_name_path_list: + if self.materials[mat[1]].get('Type') == 'Solid': + mat_name = self.materials[mat[1]]['Name'] + self.form.PredefinedMaterialLibraryComboBox.addItem( + QtGui.QIcon(":/Icons/freecad.svg"), mat_name, mat[1]) + self.form.PredefinedMaterialLibraryComboBox.addItem("Custom") + + def selectPredefined(self): + index = self.form.PredefinedMaterialLibraryComboBox.currentIndex() + mat_file_path = self.form.PredefinedMaterialLibraryComboBox.itemData(index) + if mat_file_path: + self.material = dict(self.materials[mat_file_path]) + self.selecting_predefined = True + try: + for name in SOLID_FIELDS: + setQuantity(self.text_boxes[name], self.material.get(name, '0')) + finally: + self.selecting_predefined = False + self.form.material_name.setText(self.material['Name']) + self.form.solidDescriptor.setText(self.material.get("Description", "")) + + def manualEdit(self): + if not self.selecting_predefined: + self.form.PredefinedMaterialLibraryComboBox.setCurrentIndex( + self.form.PredefinedMaterialLibraryComboBox.findText('Custom')) + self.form.solidDescriptor.setText("User-entered properties") + self.material = {'Name': 'Custom', 'Description': 'User-entered properties', 'Type': 'Solid'} + for name in SOLID_FIELDS: + self.material[name] = getQuantity(self.text_boxes[name]) + self.form.saveButton.setVisible(True) + + def heatGenChanged(self): + quantity = self.getHeatGenerationQuantity(show_error=False) + if quantity is not None: + self.form.inputHeatGeneration.setText(quantity) + + def setHeatGenerationQuantity(self, quantity): + if isinstance(quantity, str): + q = FreeCAD.Units.Quantity(quantity) + else: + q = quantity + display_value = q.getValueAs(HEAT_GENERATION_UNIT).Value + self.form.inputHeatGeneration.setText("{:g} {}".format(display_value, HEAT_GENERATION_UNIT)) + + def getHeatGenerationQuantity(self, show_error=True): + text = self.form.inputHeatGeneration.text().strip() + if not text: + text = "0 {}".format(HEAT_GENERATION_UNIT) + try: + q = FreeCAD.Units.Quantity(text).getValueAs(HEAT_GENERATION_UNIT) + except Exception: + if show_error: + CfdTools.cfdErrorBox("Invalid heat generation value: {}".format(text)) + return None + if q.Value < 0: + if show_error: + CfdTools.cfdErrorBox("Heat generation must be greater than or equal to 0") + return None + return "{:g} {}".format(q.Value, HEAT_GENERATION_UNIT) + + def saveCustomMaterial(self): + system_mat_dir = os.path.join(CfdTools.getModulePath(), "Data", "CfdFluidMaterialProperties") + d = QtGui.QFileDialog(None, "Save Custom Solid Material", system_mat_dir, "FCMat (*.FCMat)") + d.setDefaultSuffix("FCMat") + d.setAcceptMode(QtGui.QFileDialog.AcceptMode.AcceptSave) + d.exec() + file_names = d.selectedFiles() + if file_names: + mat_name = self.form.material_name.text() + with open(file_names[0], 'w') as f: + f.write('; {}\n;\n; FreeCAD Material card: see https://www.freecad.org/wiki/Material\n\n[FCMat]\n'.format(mat_name)) + f.write('Name = {}\nType = Solid\n'.format(mat_name)) + for key, val in self.material.items(): + if key not in ('Name', 'Type'): + f.write('{} = {}\n'.format(key, val)) + FreeCAD.Console.PrintMessage(translate("Console", "Custom solid material saved\n")) + + def accept(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.resetEdit() + doc.Document.recompute() + storeIfChanged(self.obj, 'Material', self.material) + storeIfChanged(self.obj, 'Label', self.form.material_name.text()) + if hasattr(self.obj, 'HeatGeneration'): + heat_generation = self.getHeatGenerationQuantity() + if heat_generation is None: + return False + self.form.inputHeatGeneration.setText(heat_generation) + storeIfChanged(self.obj, 'HeatGeneration', heat_generation) + if self.obj.ShapeRefs != self.ShapeRefsOrig: + refstr = "FreeCAD.ActiveDocument.{}.ShapeRefs = [\n".format(self.obj.Name) + refstr += ",\n".join( + "(FreeCAD.ActiveDocument.getObject('{}'), {})".format(ref[0].Name, ref[1]) + for ref in self.obj.ShapeRefs) + refstr += "]\n" + FreeCADGui.doCommand(refstr) + + def reject(self): + self.obj.ShapeRefs = self.ShapeRefsOrig + doc = FreeCADGui.getDocument(self.obj.Document) + doc.resetEdit() + + def closing(self): + return diff --git a/CfdOF/TemplateBuilder.py b/CfdOF/TemplateBuilder.py index 96c465fd..496d8465 100644 --- a/CfdOF/TemplateBuilder.py +++ b/CfdOF/TemplateBuilder.py @@ -83,7 +83,7 @@ def writeToFile(self, rel_file, contents): def buildFile(self, rel_file, params): """ Open the specified template file, make replacements, and return as a string """ try: - fid = open(os.path.join(self.template_path, rel_file)) + fid = open(os.path.join(self.template_path, rel_file), encoding='utf-8') except IOError: # Special cases: # 1. Don't worry if files that end with "None" do not exist @@ -92,7 +92,7 @@ def buildFile(self, rel_file, params): # 2. If a file is not found, try the same file with 'default' after the last underscore rel_file_default = rel_file.rsplit("_", 1)[0] + "_default" try: - fid = open(os.path.join(self.template_path, rel_file_default)) + fid = open(os.path.join(self.template_path, rel_file_default), encoding='utf-8') except IOError: raise IOError("Error reading file {} in template path {}".format(rel_file, self.template_path)) finally: @@ -218,9 +218,11 @@ def processBraces(self, contents, curr_file, params): filename_param = None if trailing_nl is not None: filename_param = contents[end+2:trailing_nl].strip() - # Loop the content passing values + # Loop the content passing values (skip empty strings from empty dict/list substitution) replacement = "" for v in keys: + if not v: + continue filename = None if filename_param: # Process filename with parameter diff --git a/Data/CfdFluidMaterialProperties/AcrylicSolid.FCMat b/Data/CfdFluidMaterialProperties/AcrylicSolid.FCMat new file mode 100644 index 00000000..69c6651f --- /dev/null +++ b/Data/CfdFluidMaterialProperties/AcrylicSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; AcrylicSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Acrylic_solid +Type = Solid +Description = Acrylic PMMA solid thermal properties +Density = 1180 kg/m^3 +ThermalConductivity = 0.189 W/m/K +SpecificHeat = 1500 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=a5e93a1f1fff43bcbac5b6ca51b8981f diff --git a/Data/CfdFluidMaterialProperties/AluminiumSolid.FCMat b/Data/CfdFluidMaterialProperties/AluminiumSolid.FCMat new file mode 100644 index 00000000..a66b9d89 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/AluminiumSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; AluminiumSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Aluminium_solid +Type = Solid +Description = Aluminium solid thermal properties for CHT simulation +Density = 2699 kg/m^3 +ThermalConductivity = 237 W/m/K +SpecificHeat = 897 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=0cd1edf33ac145ee93a0aa6fc666c0e0 diff --git a/Data/CfdFluidMaterialProperties/BrassSolid.FCMat b/Data/CfdFluidMaterialProperties/BrassSolid.FCMat new file mode 100644 index 00000000..476dd65a --- /dev/null +++ b/Data/CfdFluidMaterialProperties/BrassSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; BrassSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Brass_solid +Type = Solid +Description = Brass solid thermal properties +Density = 8510 kg/m^3 +ThermalConductivity = 85.1 W/m/K +SpecificHeat = 379 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=d3bd4617903543ada92f4c101c2a20e5 diff --git a/Data/CfdFluidMaterialProperties/BrickSolid.FCMat b/Data/CfdFluidMaterialProperties/BrickSolid.FCMat new file mode 100644 index 00000000..d7bba341 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/BrickSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; BrickSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Brick_solid +Type = Solid +Description = Common brick solid thermal properties +Density = 1920 kg/m^3 +ThermalConductivity = 0.72 W/m/K +SpecificHeat = 840 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=4288c4f80e77437893b26c4a56a98171 diff --git a/Data/CfdFluidMaterialProperties/CopperSolid.FCMat b/Data/CfdFluidMaterialProperties/CopperSolid.FCMat new file mode 100644 index 00000000..365ff292 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/CopperSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; CopperSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Copper_solid +Type = Solid +Description = Copper solid thermal properties +Density = 8930 kg/m^3 +ThermalConductivity = 385 W/m/K +SpecificHeat = 385 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=9aebe83845c04c1db5126fada6f76f7e diff --git a/Data/CfdFluidMaterialProperties/FiberglassSolid.FCMat b/Data/CfdFluidMaterialProperties/FiberglassSolid.FCMat new file mode 100644 index 00000000..e568992c --- /dev/null +++ b/Data/CfdFluidMaterialProperties/FiberglassSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; FiberglassSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Fiberglass_solid +Type = Solid +Description = E-glass fiber solid thermal properties +Density = 2570 kg/m^3 +ThermalConductivity = 1.30 W/m/K +SpecificHeat = 810 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=d9c18047c49147a2a7c0b0bb1743e812 diff --git a/Data/CfdFluidMaterialProperties/GlassSolid.FCMat b/Data/CfdFluidMaterialProperties/GlassSolid.FCMat new file mode 100644 index 00000000..630233a2 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/GlassSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; GlassSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Glass_solid +Type = Solid +Description = Borosilicate glass solid thermal properties +Density = 2230 kg/m^3 +ThermalConductivity = 1.12 W/m/K +SpecificHeat = 830 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=7546f96147b847a5ab00091f3c36b8ce diff --git a/Data/CfdFluidMaterialProperties/Inconel601Solid.FCMat b/Data/CfdFluidMaterialProperties/Inconel601Solid.FCMat new file mode 100644 index 00000000..1b15066f --- /dev/null +++ b/Data/CfdFluidMaterialProperties/Inconel601Solid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; Inconel601Solid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Inconel601_solid +Type = Solid +Description = INCONEL alloy 601 solid thermal properties +Density = 8110 kg/m^3 +ThermalConductivity = 11.2 W/m/K +SpecificHeat = 448 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=f3fb3ae6ebe54d98ad8fa01c74b6a3e8 diff --git a/Data/CfdFluidMaterialProperties/IronSolid.FCMat b/Data/CfdFluidMaterialProperties/IronSolid.FCMat new file mode 100644 index 00000000..762f08c8 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/IronSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; IronSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Iron_solid +Type = Solid +Description = Iron solid thermal properties +Density = 7870 kg/m^3 +ThermalConductivity = 76.2 W/m/K +SpecificHeat = 440 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=654ca9c358264b5392d43315d8535b7d diff --git a/Data/CfdFluidMaterialProperties/PolypropyleneSolid.FCMat b/Data/CfdFluidMaterialProperties/PolypropyleneSolid.FCMat new file mode 100644 index 00000000..fcafc4c3 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/PolypropyleneSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; PolypropyleneSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Polypropylene_solid +Type = Solid +Description = Polypropylene solid thermal properties +Density = 918 kg/m^3 +ThermalConductivity = 0.249 W/m/K +SpecificHeat = 1920 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=a882a1c603374e278d062f106dfda95b diff --git a/Data/CfdFluidMaterialProperties/SandSolid.FCMat b/Data/CfdFluidMaterialProperties/SandSolid.FCMat new file mode 100644 index 00000000..89106625 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/SandSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; SandSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Sand_solid +Type = Solid +Description = Dry sand solid thermal properties +Density = 1650 kg/m^3 +ThermalConductivity = 0.305 W/m/K +SpecificHeat = 776 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=18a1e365613b478f880e5506d6fb2ec1 diff --git a/Data/CfdFluidMaterialProperties/SilverSolid.FCMat b/Data/CfdFluidMaterialProperties/SilverSolid.FCMat new file mode 100644 index 00000000..b045f1aa --- /dev/null +++ b/Data/CfdFluidMaterialProperties/SilverSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; SilverSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Silver_solid +Type = Solid +Description = Silver solid thermal properties +Density = 10491 kg/m^3 +ThermalConductivity = 419 W/m/K +SpecificHeat = 234 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=63cbd043a31f4f739ddb7632c1443d33 diff --git a/Data/CfdFluidMaterialProperties/StainlessSteel316Solid.FCMat b/Data/CfdFluidMaterialProperties/StainlessSteel316Solid.FCMat new file mode 100644 index 00000000..7cff8964 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/StainlessSteel316Solid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; StainlessSteel316Solid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = StainlessSteel316_solid +Type = Solid +Description = AISI 316 stainless steel solid thermal properties +Density = 8000 kg/m^3 +ThermalConductivity = 14.6 W/m/K +SpecificHeat = 500 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=1336be6d0c594b55afb5ca8bf1f3e042 diff --git a/Data/CfdFluidMaterialProperties/StyrofoamSolid.FCMat b/Data/CfdFluidMaterialProperties/StyrofoamSolid.FCMat new file mode 100644 index 00000000..32e543e8 --- /dev/null +++ b/Data/CfdFluidMaterialProperties/StyrofoamSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; StyrofoamSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Styrofoam_solid +Type = Solid +Description = Rigid polystyrene foam solid thermal properties +Density = 32 kg/m^3 +ThermalConductivity = 0.029 W/m/K +SpecificHeat = 1210 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=c98422e64d1f4bfa98e9d82dc89eaee6 diff --git a/Data/CfdFluidMaterialProperties/TitaniumSolid.FCMat b/Data/CfdFluidMaterialProperties/TitaniumSolid.FCMat new file mode 100644 index 00000000..03fc4f9a --- /dev/null +++ b/Data/CfdFluidMaterialProperties/TitaniumSolid.FCMat @@ -0,0 +1,13 @@ +; SPDX-FileCopyrightText: 2026 CfdOF contributors +; TitaniumSolid +; +; FreeCAD Material card: see https://www.freecad.org/wiki/Material + +[FCMat] +Name = Titanium_solid +Type = Solid +Description = Titanium solid thermal properties +Density = 4500 kg/m^3 +ThermalConductivity = 17.0 W/m/K +SpecificHeat = 528 J/kg/K +ReferenceSource = https://www.matweb.com/search/DataSheet.aspx?MatGUID=66a15d609a3f4c829cb6ad08f0dafc01 diff --git a/Data/Templates/case/0/ReThetat b/Data/Templates/case/0/ReThetat index b20f631f..19d12663 100644 --- a/Data/Templates/case/0/ReThetat +++ b/Data/Templates/case/0/ReThetat @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS %{%(physics/TurbulenceModel%) @@ -64,3 +67,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/T b/Data/Templates/case/0/T index 7b3c37d8..d2de62c1 100644 --- a/Data/Templates/case/0/T +++ b/Data/Templates/case/0/T @@ -48,7 +48,7 @@ boundaryField %(0%) { type externalWallHeatFluxTemperature; - mode coefficient; + mode flux; q uniform %(boundaries/%(0%)/HeatFlux%); kappaMethod fluidThermo; value $internalField; diff --git a/Data/Templates/case/0/U b/Data/Templates/case/0/U index b99b9302..2f40d9de 100644 --- a/Data/Templates/case/0/U +++ b/Data/Templates/case/0/U @@ -1,5 +1,5 @@ %{%(solver/SolverName%) -%:SRFSimpleFoam +%:SRFSimpleFoam chtMultiRegionSimpleFoam chtMultiRegionFoam %:default %[_header%] FoamFile diff --git a/Data/Templates/case/0/epsilon b/Data/Templates/case/0/epsilon index 5e0acac3..4c221dd5 100644 --- a/Data/Templates/case/0/epsilon +++ b/Data/Templates/case/0/epsilon @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS %{%(physics/TurbulenceModel%) @@ -78,3 +81,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/fluid/T b/Data/Templates/case/0/fluid/T new file mode 100644 index 00000000..0854dc3c --- /dev/null +++ b/Data/Templates/case/0/fluid/T @@ -0,0 +1,109 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform %(initialValues/Temperature%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall +%{%(multiRegionFluidBoundaries/%(0%)/ThermalBoundaryType%) +%:fixedValue + %(0%) + { + type fixedValue; + value uniform %(multiRegionFluidBoundaries/%(0%)/Temperature%); + } +%:zeroGradient + %(0%) + { + type zeroGradient; + value $internalField; + } +%:fixedGradient + %(0%) + { + type externalWallHeatFluxTemperature; + mode flux; + q uniform %(multiRegionFluidBoundaries/%(0%)/HeatFlux%); + kappaMethod fluidThermo; + value $internalField; + } +%:totalPower + %(0%) + { + type externalWallHeatFluxTemperature; + mode power; + Q %(multiRegionFluidBoundaries/%(0%)/Power%); + kappaMethod fluidThermo; + value $internalField; + } +%:heatTransferCoeff + %(0%) + { + type externalWallHeatFluxTemperature; + mode coefficient; + Ta constant %(multiRegionFluidBoundaries/%(0%)/Temperature%); + h uniform %(multiRegionFluidBoundaries/%(0%)/HeatTransferCoeff%); + kappaMethod fluidThermo; + value $internalField; + } +%} +%:inlet + %(0%) + { + type inletOutlet; + inletValue uniform %(multiRegionFluidBoundaries/%(0%)/Temperature%); + value uniform %(multiRegionFluidBoundaries/%(0%)/Temperature%); + } +%:outlet + %(0%) + { + type inletOutlet; + inletValue uniform %(multiRegionFluidBoundaries/%(0%)/Temperature%); + value $internalField; + } +%:open + %(0%) + { + type inletOutlet; + inletValue uniform %(multiRegionFluidBoundaries/%(0%)/Temperature%); + value $internalField; + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod fluidThermo; + } + +%} + defaultFaces + { + type zeroGradient; + } +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/0/fluid/U b/Data/Templates/case/0/fluid/U new file mode 100644 index 00000000..922b162e --- /dev/null +++ b/Data/Templates/case/0/fluid/U @@ -0,0 +1,134 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0/%(multiRegionFluidNames/0%)"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (%(initialValues/Ux%) %(initialValues/Uy%) %(initialValues/Uz%)); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall +%{%(multiRegionFluidBoundaries/%(0%)/BoundarySubType%) +%:fixedWall roughWall + %(0%) + { + type noSlip; + } +%:slipWall + %(0%) + { + type slip; + } +%:partialSlipWall + %(0%) + { + type partialSlip; + valueFraction %(multiRegionFluidBoundaries/%(0%)/SlipRatio%); + value uniform (0 0 0); + } +%:translatingWall + %(0%) + { + type fixedValue; + value uniform (%(multiRegionFluidBoundaries/%(0%)/Ux%) %(multiRegionFluidBoundaries/%(0%)/Uy%) %(multiRegionFluidBoundaries/%(0%)/Uz%)); + } +%:rotatingWall + %(0%) + { + type rotatingWallVelocity; + origin (%(multiRegionFluidBoundaries/%(0%)/CentreOfRotationx%) %(multiRegionFluidBoundaries/%(0%)/CentreOfRotationy%) %(multiRegionFluidBoundaries/%(0%)/CentreOfRotationz%)); + axis (%(multiRegionFluidBoundaries/%(0%)/RotationAxisx%) %(multiRegionFluidBoundaries/%(0%)/RotationAxisy%) %(multiRegionFluidBoundaries/%(0%)/RotationAxisz%)); + omega %(multiRegionFluidBoundaries/%(0%)/AngularVelocity%); + } +%} +%:inlet +%{%(multiRegionFluidBoundaries/%(0%)/BoundarySubType%) +%:uniformVelocityInlet + %(0%) + { + type fixedValue; + value uniform (%(multiRegionFluidBoundaries/%(0%)/Ux%) %(multiRegionFluidBoundaries/%(0%)/Uy%) %(multiRegionFluidBoundaries/%(0%)/Uz%)); + } +%:volumetricFlowRateInlet + %(0%) + { + type flowRateInletVelocity; + volumetricFlowRate %(multiRegionFluidBoundaries/%(0%)/VolumetricFlowRate%); + value uniform (0 0 0); + } +%:massFlowRateInlet + %(0%) + { + type flowRateInletVelocity; + massFlowRate %(multiRegionFluidBoundaries/%(0%)/MassFlowRate%); + rho rho; + value uniform (0 0 0); + } +%:totalPressureInlet staticPressureInlet + %(0%) + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } +%} +%:outlet +%{%(multiRegionFluidBoundaries/%(0%)/BoundarySubType%) +%:staticPressureOutlet + %(0%) + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } +%:uniformVelocityOutlet + %(0%) + { + type fixedValue; + value uniform (%(multiRegionFluidBoundaries/%(0%)/Ux%) %(multiRegionFluidBoundaries/%(0%)/Uy%) %(multiRegionFluidBoundaries/%(0%)/Uz%)); + } +%:outFlowOutlet + %(0%) + { + type outletInlet; + outletValue uniform (0 0 0); + value uniform (0 0 0); + } +%} +%:open + %(0%) + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type noSlip; + } + +%} + defaultFaces + { + type noSlip; + } +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/0/fluid/alphat b/Data/Templates/case/0/fluid/alphat new file mode 100644 index 00000000..2ce8a3dd --- /dev/null +++ b/Data/Templates/case/0/fluid/alphat @@ -0,0 +1,62 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(physics/Turbulence%) +%:RANS DES LES +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } +%:inlet outlet open + %(0%) + { + type calculated; + value $internalField; + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + +%} + defaultFaces + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } +} + +// ************************************************************************* // +%} +%} diff --git a/Data/Templates/case/0/fluid/epsilon b/Data/Templates/case/0/fluid/epsilon new file mode 100644 index 00000000..859c5a5e --- /dev/null +++ b/Data/Templates/case/0/fluid/epsilon @@ -0,0 +1,63 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(physics/Turbulence%) +%:RANS +%{%(physics/TurbulenceModel%) +%:kEpsilon +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform %(initialValues/epsilon%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type epsilonWallFunction; + value $internalField; + } +%:inlet outlet open + %(0%) + { + type inletOutlet; + inletValue uniform %(initialValues/epsilon%); + value uniform %(initialValues/epsilon%); + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type epsilonWallFunction; + value $internalField; + } + +%} + defaultFaces + { + type epsilonWallFunction; + value $internalField; + } +} + +// ************************************************************************* // +%} +%} +%} diff --git a/Data/Templates/case/0/fluid/k b/Data/Templates/case/0/fluid/k new file mode 100644 index 00000000..a83fb3ad --- /dev/null +++ b/Data/Templates/case/0/fluid/k @@ -0,0 +1,63 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(physics/Turbulence%) +%:RANS DES LES +%{%(physics/TurbulenceModel%) +%:kOmegaSST kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES kEpsilon kOmegaSSTLM kEqn +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform %(initialValues/k%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type kqRWallFunction; + value $internalField; + } +%:inlet outlet open + %(0%) + { + type inletOutlet; + inletValue uniform %(initialValues/k%); + value uniform %(initialValues/k%); + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type kqRWallFunction; + value $internalField; + } + +%} + defaultFaces + { + type kqRWallFunction; + value $internalField; + } +} + +// ************************************************************************* // +%} +%} +%} diff --git a/Data/Templates/case/0/fluid/nut b/Data/Templates/case/0/fluid/nut new file mode 100644 index 00000000..bec6aa8a --- /dev/null +++ b/Data/Templates/case/0/fluid/nut @@ -0,0 +1,59 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(physics/Turbulence%) +%:RANS DES LES +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type nutkWallFunction; + value $internalField; + } +%:inlet outlet open + %(0%) + { + type calculated; + value $internalField; + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type nutkWallFunction; + value $internalField; + } + +%} + defaultFaces + { + type nutkWallFunction; + value $internalField; + } +} + +// ************************************************************************* // +%} +%} diff --git a/Data/Templates/case/0/fluid/omega b/Data/Templates/case/0/fluid/omega new file mode 100644 index 00000000..cb154740 --- /dev/null +++ b/Data/Templates/case/0/fluid/omega @@ -0,0 +1,63 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(physics/Turbulence%) +%:RANS DES +%{%(physics/TurbulenceModel%) +%:kOmegaSST kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES kOmegaSSTLM +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object omega; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform %(initialValues/omega%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type omegaWallFunction; + value $internalField; + } +%:inlet outlet open + %(0%) + { + type inletOutlet; + inletValue uniform %(initialValues/omega%); + value uniform %(initialValues/omega%); + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type omegaWallFunction; + value $internalField; + } + +%} + defaultFaces + { + type omegaWallFunction; + value $internalField; + } +} + +// ************************************************************************* // +%} +%} +%} diff --git a/Data/Templates/case/0/fluid/p b/Data/Templates/case/0/fluid/p new file mode 100644 index 00000000..3a7a1959 --- /dev/null +++ b/Data/Templates/case/0/fluid/p @@ -0,0 +1,50 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform %(initialValues/Pressure%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:constraint +%[0/_boundary_constraint%] +%:default + %(0%) + { + type calculated; + value $internalField; + } +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type calculated; + value $internalField; + } + +%} + defaultFaces + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/0/fluid/p_rgh b/Data/Templates/case/0/fluid/p_rgh new file mode 100644 index 00000000..ca29c7b7 --- /dev/null +++ b/Data/Templates/case/0/fluid/p_rgh @@ -0,0 +1,94 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionFluidNames/0%)"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform %(initialValues/Pressure%); + +boundaryField +{ +%{%(multiRegionFluidBoundaries%) +%{%(multiRegionFluidBoundaries/%(0%)/BoundaryType%) +%:wall + %(0%) + { + type fixedFluxPressure; + value $internalField; + } +%:inlet +%{%(multiRegionFluidBoundaries/%(0%)/BoundarySubType%) +%:totalPressureInlet + %(0%) + { + type totalPressure; + p0 uniform %(multiRegionFluidBoundaries/%(0%)/Pressure%); + value $internalField; + } +%:staticPressureInlet + %(0%) + { + type fixedValue; + value uniform %(multiRegionFluidBoundaries/%(0%)/Pressure%); + } +%:default + %(0%) + { + type fixedFluxPressure; + value $internalField; + } +%} +%:outlet +%{%(multiRegionFluidBoundaries/%(0%)/BoundarySubType%) +%:staticPressureOutlet + %(0%) + { + type fixedValue; + value uniform %(multiRegionFluidBoundaries/%(0%)/Pressure%); + } +%:default + %(0%) + { + type fixedFluxPressure; + value $internalField; + } +%} +%:open + %(0%) + { + type totalPressure; + p0 uniform %(multiRegionFluidBoundaries/%(0%)/Pressure%); + value $internalField; + } +%:constraint +%[0/_boundary_constraint%] +%} + +%} + +%{%(multiRegionSolidNames%) + %(multiRegionFluidNames/0%)_to_%(multiRegionSolidNames/%(0%)%) + { + type fixedFluxPressure; + value $internalField; + } + +%} + defaultFaces + { + type fixedFluxPressure; + value $internalField; + } +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/0/gammaInt b/Data/Templates/case/0/gammaInt index f4075071..153de4e1 100644 --- a/Data/Templates/case/0/gammaInt +++ b/Data/Templates/case/0/gammaInt @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS %{%(physics/TurbulenceModel%) @@ -76,3 +79,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/k b/Data/Templates/case/0/k index a38eac73..ad82bfdc 100644 --- a/Data/Templates/case/0/k +++ b/Data/Templates/case/0/k @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS DES LES %{%(physics/TurbulenceModel%) @@ -84,3 +87,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/nuTilda b/Data/Templates/case/0/nuTilda index 36de2cb0..de1ff849 100644 --- a/Data/Templates/case/0/nuTilda +++ b/Data/Templates/case/0/nuTilda @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS DES %{%(physics/TurbulenceModel%) @@ -67,3 +70,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/nut b/Data/Templates/case/0/nut index 58adfb33..d16389e3 100644 --- a/Data/Templates/case/0/nut +++ b/Data/Templates/case/0/nut @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS DES LES %[_header%] @@ -91,3 +94,4 @@ boundaryField // ************************************************************************* // %} +%} diff --git a/Data/Templates/case/0/omega b/Data/Templates/case/0/omega index a7749e9d..84e23355 100644 --- a/Data/Templates/case/0/omega +++ b/Data/Templates/case/0/omega @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %{%(physics/Turbulence%) %:RANS DES %{%(physics/TurbulenceModel%) @@ -78,3 +81,4 @@ boundaryField // ************************************************************************* // %} %} +%} diff --git a/Data/Templates/case/0/p b/Data/Templates/case/0/p index 5bcba36b..6ef02b7e 100644 --- a/Data/Templates/case/0/p +++ b/Data/Templates/case/0/p @@ -1,5 +1,5 @@ %{%(solver/SolverName%) -%:interFoam multiphaseInterFoam +%:interFoam multiphaseInterFoam chtMultiRegionSimpleFoam chtMultiRegionFoam %:default %[_header%] FoamFile diff --git a/Data/Templates/case/0/solid/T b/Data/Templates/case/0/solid/T new file mode 100644 index 00000000..6614cd24 --- /dev/null +++ b/Data/Templates/case/0/solid/T @@ -0,0 +1,88 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionSolidNames/%(0%)%)"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform %(initialValues/Temperature%); + +boundaryField +{ +%{%(multiRegionSolidBoundaries%) +%{%(multiRegionSolidBoundaries/%(0%)/BoundaryType%) +%:wall +%{%(multiRegionSolidBoundaries/%(0%)/ThermalBoundaryType%) +%:fixedValue + %(0%) + { + type fixedValue; + value uniform %(multiRegionSolidBoundaries/%(0%)/Temperature%); + } +%:zeroGradient + %(0%) + { + type zeroGradient; + value $internalField; + } +%:fixedGradient + %(0%) + { + type externalWallHeatFluxTemperature; + mode flux; + q uniform %(multiRegionSolidBoundaries/%(0%)/HeatFlux%); + kappaMethod solidThermo; + value $internalField; + } +%:totalPower + %(0%) + { + type externalWallHeatFluxTemperature; + mode power; + Q %(multiRegionSolidBoundaries/%(0%)/Power%); + kappaMethod solidThermo; + value $internalField; + } +%:heatTransferCoeff + %(0%) + { + type externalWallHeatFluxTemperature; + mode coefficient; + Ta constant %(multiRegionSolidBoundaries/%(0%)/Temperature%); + h uniform %(multiRegionSolidBoundaries/%(0%)/HeatTransferCoeff%); + kappaMethod solidThermo; + value $internalField; + } +%} +%:constraint +%[0/_boundary_constraint%] +%} + +%} + + %(multiRegionSolidNames/%(0%)%)_to_%(multiRegionFluidNames/0%) + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod solidThermo; + } + + defaultFaces + { + type zeroGradient; + } +} + +// ************************************************************************* // +%} 0/%(multiRegionSolidNames/%(0%)%)/T +%} diff --git a/Data/Templates/case/0/solid/p b/Data/Templates/case/0/solid/p new file mode 100644 index 00000000..0db3d80a --- /dev/null +++ b/Data/Templates/case/0/solid/p @@ -0,0 +1,45 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/%(multiRegionSolidNames/%(0%)%)"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform %(initialValues/Pressure%); + +boundaryField +{ +%{%(multiRegionSolidBoundaries%) +%{%(multiRegionSolidBoundaries/%(0%)/BoundaryType%) +%:constraint +%[0/_boundary_constraint%] +%:default + %(0%) + { + type calculated; + value $internalField; + } +%} + +%} + + // Derived from p_rgh at fluid-solid interface + defaultFaces + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // +%} 0/%(multiRegionSolidNames/%(0%)%)/p +%} diff --git a/Data/Templates/case/Allrun b/Data/Templates/case/Allrun index 217a146a..efc5f3be 100644 --- a/Data/Templates/case/Allrun +++ b/Data/Templates/case/Allrun @@ -177,6 +177,168 @@ else runCommand topoSet -dict system/topoSetZonesDict fi +%} +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +# Split combined mesh into fluid and solid regions +runCommand splitMeshRegions -cellZonesOnly -overwrite + +%{%(meanVelocityForceCellZonesPresent%) +%:True +# Create mean velocity force cell zones inside the split fluid region mesh +runCommand topoSet -region %(multiRegionFluidNames/0%) -dict system/topoSetMeanVelocityForceZonesDict + +%} +# Upgrade sampleMode on all mappedWall interface patches to nearestPatchFaceAMI (parallel-safe) +# and add missing patch entries to 0/ field files for any interface patches splitMeshRegions created. +# splitMeshRegions already creates correct _to_ / _to_ mappedWall pairs; +# we only need to upgrade their sampleMode and populate the 0/ field files. +env -u PYTHONPATH -u PYTHONHOME python3 << 'PYEOF' +import re, os, glob + +FLUID_REGIONS = [] +SOLID_REGIONS = [] +try: + with open('constant/regionProperties') as f: + txt = f.read() + fm = re.search(r'fluid\s*\(\s*([^)]*?)\s*\)', txt) + sm = re.search(r'solid\s*\(\s*([^)]*?)\s*\)', txt) + if fm: + FLUID_REGIONS = fm.group(1).split() + if sm: + SOLID_REGIONS = sm.group(1).split() +except FileNotFoundError: + pass + +def fix_samplemode_to_ami(bfile): + """Upgrade sampleMode nearestPatchFace → nearestPatchFaceAMI for parallel CHT.""" + with open(bfile) as f: + txt = f.read() + txt = txt.replace('sampleMode nearestPatchFace;\n', + 'sampleMode nearestPatchFaceAMI;\n') + with open(bfile, 'w') as f: + f.write(txt) + +def get_mapped_patches(bfile): + """Return names of all mappedWall patches in boundary file.""" + with open(bfile) as f: + txt = f.read() + return re.findall(r'\n\s+(\w+)\s*\n\s*\{[^}]*type\s+mappedWall', txt) + +def get_nonmapped_patches(bfile): + """Return names of all non-mappedWall patches in boundary file.""" + with open(bfile) as f: + txt = f.read() + all_patches = re.findall(r'\n (\w+)\n \{', txt) + mapped = set(re.findall(r'\n\s+(\w+)\s*\n\s*\{[^}]*type\s+mappedWall', txt)) + return [p for p in all_patches if p not in mapped] + +def patch_present(field_txt, patch_name): + return bool(re.search(r'\n\s+' + re.escape(patch_name) + r'\s*\n\s*\{', field_txt)) + +def add_patch_entry(field_file, patch_name, bc_lines): + with open(field_file) as f: + txt = f.read() + if patch_present(txt, patch_name): + return + entry = '\n ' + patch_name + '\n {\n' + for line in bc_lines: + entry += ' ' + line + '\n' + entry += ' }\n' + # Insert before the LAST closing brace (end of boundaryField, not FoamFile header) + matches = list(re.finditer(r'\n}', txt)) + if matches: + pos = matches[-1].start() + 1 + txt = txt[:pos] + entry + txt[pos:] + with open(field_file, 'w') as f: + f.write(txt) + +def add_missing_patches_to_fields(region, patches, is_fluid): + field_dir = os.path.join('0', region) + if not os.path.isdir(field_dir): + return + for patch in patches: + for field_file in glob.glob(os.path.join(field_dir, '*')): + fname = os.path.basename(field_file) + if fname == 'T': + kappa = 'fluidThermo' if is_fluid else 'solidThermo' + add_patch_entry(field_file, patch, [ + 'type compressible::turbulentTemperatureCoupledBaffleMixed;', + 'value $internalField;', + 'Tnbr T;', + 'kappaMethod ' + kappa + ';', + ]) + elif fname == 'U' and is_fluid: + add_patch_entry(field_file, patch, ['type noSlip;']) + elif fname == 'p_rgh' and is_fluid: + add_patch_entry(field_file, patch, [ + 'type fixedFluxPressure;', + 'value $internalField;', + ]) + elif fname == 'p': + add_patch_entry(field_file, patch, [ + 'type calculated;', + 'value $internalField;', + ]) + elif fname == 'nut' and is_fluid: + add_patch_entry(field_file, patch, [ + 'type nutkWallFunction;', + 'value $internalField;', + ]) + elif fname in ('k', 'epsilon', 'omega', 'nuTilda', 'alphat') and is_fluid: + add_patch_entry(field_file, patch, ['type zeroGradient;']) + +for r in FLUID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue +%{%(solver/Parallel%) +%:True + fix_samplemode_to_ami(bfile) +%} +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue +%{%(solver/Parallel%) +%:True + fix_samplemode_to_ami(bfile) +%} + +# Add 0/ field entries for all mappedWall interface patches splitMeshRegions created +for r in FLUID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + mapped = [p for p in get_mapped_patches(bfile) if p != 'defaultFaces'] + add_missing_patches_to_fields(r, mapped, is_fluid=True) +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + mapped = [p for p in get_mapped_patches(bfile) if p != 'defaultFaces'] + add_missing_patches_to_fields(r, mapped, is_fluid=False) + +# Add default BC entries for non-mapped patches in solid regions that aren't yet in +# the field files (e.g. inlet/outlet/wall faces that fall inside a solid volume after +# splitMeshRegions). OpenFOAM requires an explicit entry for every patch in boundaryField. +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + nonmapped = get_nonmapped_patches(bfile) + for patch in nonmapped: + for field_file in glob.glob(os.path.join('0', r, '*')): + fname = os.path.basename(field_file) + if fname == 'T': + add_patch_entry(field_file, patch, ['type zeroGradient;']) + elif fname == 'p': + add_patch_entry(field_file, patch, [ + 'type calculated;', + 'value $internalField;', + ]) +PYEOF + %} %{%(initialisationZonesPresent%) %:True @@ -214,12 +376,23 @@ PNAME=p %} %{%(solver/Parallel%) %:True +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +# Parallel decomposition +# Copy decomposeParDict to each region's system directory +for region in $(ls -d constant/*/polyMesh 2>/dev/null | cut -d/ -f2); do + mkdir -p system/$region + cp system/decomposeParDict system/$region/decomposeParDict +done +runCommand decomposePar -allRegions -force +%:default # Parallel decomposition if [ ! -d processor0 ] then runCommand decomposePar -force fi +%} # Pick up number of parallel processes NPROC=$(foamDictionary -entry "numberOfSubdomains" -value system/decomposeParDict) @@ -229,6 +402,9 @@ NPROC=$(foamDictionary -entry "numberOfSubdomains" -value system/decomposeParDic %:False %{%(MovingMeshRegionsPresent%) %:False +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default # Mesh renumbering runParallel $NPROC renumberMesh -overwrite %} @@ -254,6 +430,10 @@ fi %} %{%(initialValues/PotentialFlow%) %:True +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +# potentialFoam not applicable to multi-region CHT (no single-region polyMesh after splitMeshRegions) +%:default # Initialise flow %{%(bafflesPresent%) %:True @@ -272,6 +452,7 @@ runParallel $NPROC potentialFoam -initialiseUBCs -pName $PNAME # Remove phi with wrong units rm -f processor*/0/phi %} +%} %} # Run application in parallel @@ -294,6 +475,7 @@ then else runParallel $NPROC %(solver/SolverName%) fi + %:False %{%(dynamicMeshEnabled%) %:False @@ -301,6 +483,9 @@ fi %:False %{%(MovingMeshRegionsPresent%) %:False +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default # Mesh renumbering runCommand renumberMesh -overwrite %} @@ -352,5 +537,5 @@ then else runCommand %(solver/SolverName%) fi -%} +%} diff --git a/Data/Templates/case/constant/fluid/fvOptions b/Data/Templates/case/constant/fluid/fvOptions new file mode 100644 index 00000000..797bcfdf --- /dev/null +++ b/Data/Templates/case/constant/fluid/fvOptions @@ -0,0 +1,68 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionFluidNames/0%)"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +limitT +{ + type limitTemperature; + active yes; + selectionMode all; + min 200; + max 5000; +} + +#includeIfPresent "fvOptionsScalarTransport" + +%{%(meanVelocityForceEnabled%) +%:True +momentumSource +{ + type meanVelocityForce; + selectionMode all; + active yes; + meanVelocityForceCoeffs + { + selectionMode all; + fields (U); + direction (%(meanVelocityForce/Direction%)); + Ubar (%(meanVelocityForce/Ubar%)); + relaxation %(meanVelocityForce/Relaxation%); + } +} + +%} +%{%(meanVelocityForceCellZonesPresent%) +%:True +%{%(meanVelocityForceCellZones%) +%{%(meanVelocityForceCellZones/%(0%)/PartNameList%) +%(0%)MomentumSource +{ + type meanVelocityForce; + selectionMode cellZone; + cellZone %(0%); + active yes; + meanVelocityForceCoeffs + { + selectionMode cellZone; + cellZone %(0%); + fields (U); + direction (%(meanVelocityForceCellZones/%(1%)/Direction%)); + Ubar (%(meanVelocityForceCellZones/%(1%)/Ubar%)); + relaxation %(meanVelocityForceCellZones/%(1%)/Relaxation%); + } +} + +%} +%} +%} +// ************************************************************************* // +%} diff --git a/Data/Templates/case/constant/fluid/momentumTransport b/Data/Templates/case/constant/fluid/momentumTransport new file mode 100644 index 00000000..67610c9d --- /dev/null +++ b/Data/Templates/case/constant/fluid/momentumTransport @@ -0,0 +1,15 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionFluidNames/0%)"; + object momentumTransport; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "turbulenceProperties" +%} diff --git a/Data/Templates/case/constant/fluid/thermophysicalProperties b/Data/Templates/case/constant/fluid/thermophysicalProperties new file mode 100644 index 00000000..bed7a2f2 --- /dev/null +++ b/Data/Templates/case/constant/fluid/thermophysicalProperties @@ -0,0 +1,82 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionFluidNames/0%)"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + specie specie; +%{%(fluidProperties/0/Type%) +%:Incompressible + equationOfState icoPolynomial; + thermo hPolynomial; + transport polynomial; +%:default + equationOfState perfectGas; + thermo hConst; +%{%(physics/Turbulence%) +%:Inviscid + transport const; +%:default + transport sutherland; +%} +%} + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight %(fluidProperties/0/MolarMass%); + } +%{%(fluidProperties/0/Type%) +%:Incompressible + equationOfState + { + rhoCoeffs<8> (%(fluidProperties/0/DensityPolynomial%)); + } + thermodynamics + { + CpCoeffs<8> (%(fluidProperties/0/CpPolynomial%)); + Hf 0; + Sf 0; + } + transport + { + muCoeffs<8> (%(fluidProperties/0/DynamicViscosityPolynomial%)); + kappaCoeffs<8> (%(fluidProperties/0/ThermalConductivityPolynomial%)); + } +%:default + thermodynamics + { + Cp %(fluidProperties/0/Cp%); + Hf 0; + } + transport + { +%{%(physics/Turbulence%) +%:Inviscid + mu 0; + Pr 1; +%:default + As %(fluidProperties/0/SutherlandConstant%); + Ts %(fluidProperties/0/SutherlandTemperature%); +%} + } +%} +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/constant/fluid/turbulenceProperties b/Data/Templates/case/constant/fluid/turbulenceProperties new file mode 100644 index 00000000..49056467 --- /dev/null +++ b/Data/Templates/case/constant/fluid/turbulenceProperties @@ -0,0 +1,57 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionFluidNames/0%)"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +%{%(physics/Turbulence%) +%:RANS +simulationType RAS; + +RAS +{ + RASModel %(physics/TurbulenceModel%); + turbulence on; + printCoeffs on; +} +%:DES +simulationType LES; + +LES +{ + LESModel %(physics/TurbulenceModel%); + turbulence on; + printCoeffs on; + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } +} +%:LES +simulationType LES; + +LES +{ + LESModel %(physics/TurbulenceModel%); + turbulence on; + printCoeffs on; + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } +} +%:default +simulationType laminar; +%} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/constant/g b/Data/Templates/case/constant/g index 0ca29fe2..7de9b48f 100644 --- a/Data/Templates/case/constant/g +++ b/Data/Templates/case/constant/g @@ -1,5 +1,5 @@ %{%(solver/SolverName%) -%:buoyantSimpleFoam buoyantPimpleFoam interFoam multiphaseInterFoam +%:buoyantSimpleFoam buoyantPimpleFoam interFoam multiphaseInterFoam chtMultiRegionSimpleFoam chtMultiRegionFoam %[_header%] FoamFile { diff --git a/Data/Templates/case/constant/momentumTransport b/Data/Templates/case/constant/momentumTransport index a7298c5c..78f0baef 100644 --- a/Data/Templates/case/constant/momentumTransport +++ b/Data/Templates/case/constant/momentumTransport @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %[_header%] FoamFile { @@ -8,4 +11,4 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#include "turbulenceProperties" \ No newline at end of file +#include "turbulenceProperties"%} diff --git a/Data/Templates/case/constant/regionProperties b/Data/Templates/case/constant/regionProperties new file mode 100644 index 00000000..28ca31a0 --- /dev/null +++ b/Data/Templates/case/constant/regionProperties @@ -0,0 +1,28 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object regionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +regions +( + fluid ( +%{%(multiRegionFluidNames%) + %(multiRegionFluidNames/%(0%)%) +%} + ) + solid ( +%{%(multiRegionSolidNames%) + %(multiRegionSolidNames/%(0%)%) +%} + ) +); + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/constant/solid/fvOptions b/Data/Templates/case/constant/solid/fvOptions new file mode 100644 index 00000000..8ab6090c --- /dev/null +++ b/Data/Templates/case/constant/solid/fvOptions @@ -0,0 +1,29 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionSolidNames/%(0%)%)"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +heatSource +{ + type scalarSemiImplicitSource; + active %(solidProperties/%(0%)/HeatGenerationActive%); + selectionMode all; + volumeMode specific; + injectionRateSuSp + { + h (%(solidProperties/%(0%)/HeatGeneration%) 0); + } +} + +// ************************************************************************* // +%} constant/%(multiRegionSolidNames/%(0%)%)/fvOptions +%} diff --git a/Data/Templates/case/constant/solid/thermophysicalProperties b/Data/Templates/case/constant/solid/thermophysicalProperties new file mode 100644 index 00000000..cce33ddb --- /dev/null +++ b/Data/Templates/case/constant/solid/thermophysicalProperties @@ -0,0 +1,50 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/%(multiRegionSolidNames/%(0%)%)"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture pureMixture; + transport constIso; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 1; + } + transport + { + kappa %(solidProperties/%(0%)/ThermalConductivity%); + } + thermodynamics + { + Cp %(solidProperties/%(0%)/Cp%); + Hf 0; + } + equationOfState + { + rho %(solidProperties/%(0%)/Density%); + } +} + +// ************************************************************************* // +%} constant/%(multiRegionSolidNames/%(0%)%)/thermophysicalProperties +%} diff --git a/Data/Templates/case/constant/turbulenceProperties b/Data/Templates/case/constant/turbulenceProperties index 967c15a7..3747ba06 100644 --- a/Data/Templates/case/constant/turbulenceProperties +++ b/Data/Templates/case/constant/turbulenceProperties @@ -1,3 +1,6 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%:default %[_header%] FoamFile { @@ -50,3 +53,4 @@ LES %:default simulationType laminar; %} +%} diff --git a/Data/Templates/case/system/decomposeParDict b/Data/Templates/case/system/decomposeParDict index 0f55c7d5..73daa9a2 100644 --- a/Data/Templates/case/system/decomposeParDict +++ b/Data/Templates/case/system/decomposeParDict @@ -20,7 +20,39 @@ constraints { type preserveBaffles; } +%{%(createPatchesForPeriodics%) +%:True +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(createPeriodics%) + preservePatches_%(0%) + { + type preservePatches; + patches ( %(0%)_master %(0%)_slave ); + enabled true; + } +%} +%} +%} } +%:False +%{%(createPatchesForPeriodics%) +%:True +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +constraints +{ +%{%(createPeriodics%) + preservePatches_%(0%) + { + type preservePatches; + patches ( %(0%)_master %(0%)_slave ); + enabled true; + } +%} +} +%} +%} %} // ************************************************************************* // diff --git a/Data/Templates/case/system/fluid/decomposeParDict b/Data/Templates/case/system/fluid/decomposeParDict new file mode 100644 index 00000000..a0f23020 --- /dev/null +++ b/Data/Templates/case/system/fluid/decomposeParDict @@ -0,0 +1,19 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionFluidNames/0%)"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains %(solver/ParallelCores%); + +method scotch; + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/system/fluid/fvSchemes b/Data/Templates/case/system/fluid/fvSchemes new file mode 100644 index 00000000..2a94b9af --- /dev/null +++ b/Data/Templates/case/system/fluid/fvSchemes @@ -0,0 +1,74 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionFluidNames/0%)"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + grad(U) cellLimited Gauss linear 1; +} + +divSchemes +{ + default none; + div(phi,U) bounded Gauss upwind; + div(phi,K) bounded Gauss upwind; + div(phi,h) bounded Gauss upwind; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; +%{%(physics/Turbulence%) +%:RANS +%{%(physics/TurbulenceModel%) +%:kOmegaSST + div(phi,k) bounded Gauss upwind; + div(phi,omega) bounded Gauss upwind; +%:kEpsilon + div(phi,k) bounded Gauss upwind; + div(phi,epsilon) bounded Gauss upwind; +%:SpalartAllmaras + div(phi,nuTilda) bounded Gauss upwind; +%} +%} +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p_rgh; +} + +wallDist +{ + method meshWave; +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/system/fluid/fvSolution b/Data/Templates/case/system/fluid/fvSolution new file mode 100644 index 00000000..c4fa7c8b --- /dev/null +++ b/Data/Templates/case/system/fluid/fvSolution @@ -0,0 +1,146 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionFluidNames/0%)"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors %(solver/FluidNonOrthogonalCorrectors%); + consistent no; + + residualControl + { + p_rgh %(solver/ConvergenceTol%); + U %(solver/ConvergenceTol%); + h %(solver/ConvergenceTol%); + "(k|epsilon|omega|nuTilda)" %(solver/ConvergenceTol%); + } + + pRefValue 0; + pRefCell 0; +} + +solvers +{ + "(p_rgh|pcorr)" + { + solver GAMG; + tolerance 1e-8; + relTol 0.01; + smoother symGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + maxIter 20; + } + + "(p_rghFinal|pcorrFinal)" + { + $p_rgh; + relTol 0; + } + + U + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + } + + UFinal + { + $U; + relTol 0; + } + + h + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 5; + } + + hFinal + { + $h; + relTol 0; + } + +%{%(physics/Turbulence%) +%:RANS DES LES + "(k|omega|epsilon|nuTilda)" + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + minIter 1; + } + + "(k|omega|epsilon|nuTilda)Final" + { + $k; + relTol 0; + } + +%} + Phi + { + solver GAMG; + tolerance 1e-7; + relTol 0.01; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } +} + +relaxationFactors +{ + equations + { + U %(solver/URelaxation%); + h %(solver/energyRelaxation%); +%{%(physics/Turbulence%) +%:RANS DES +%{%(physics/TurbulenceModel%) +%:kOmegaSST kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES + k 0.3; + omega 0.3; +%:kEpsilon + k 0.3; + epsilon 0.3; +%:SpalartAllmaras SpalartAllmarasDES SpalartAllmarasDDES SpalartAllmarasIDDES + nuTilda 0.3; +%} +%} + } + fields + { + p_rgh %(solver/pRelaxation%); + rho %(solver/rhoRelaxation%); + } +} + +// ************************************************************************* // +%} diff --git a/Data/Templates/case/system/fluid/topoSetMeanVelocityForceZonesDict b/Data/Templates/case/system/fluid/topoSetMeanVelocityForceZonesDict new file mode 100644 index 00000000..8103a36f --- /dev/null +++ b/Data/Templates/case/system/fluid/topoSetMeanVelocityForceZonesDict @@ -0,0 +1,55 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(meanVelocityForceCellZonesPresent%) +%:True +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionFluidNames/0%)"; + object topoSetMeanVelocityForceZonesDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( +%{%(meanVelocityForceCellZones%) +%{%(meanVelocityForceCellZones/%(0%)/PartNameList%) + { + name %(0%)SelectedSurface; + type cellSet; + action new; + source surfaceToCell; + sourceInfo + { + file "constant/triSurface/%(0%).stl"; + useSurfaceOrientation true; + outsidePoints (); + includeCut false; + includeInside true; + includeOutside false; + nearDistance -1; + curvature -100; + } + } + + { + name %(0%); + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set %(0%)SelectedSurface; + } + } + +%} +%} +); + +// ************************************************************************* // +%} +%} diff --git a/Data/Templates/case/system/fvSchemes b/Data/Templates/case/system/fvSchemes index ad7ece9c..99d8d3de 100644 --- a/Data/Templates/case/system/fvSchemes +++ b/Data/Templates/case/system/fvSchemes @@ -1,3 +1,24 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes {} +gradSchemes {} +divSchemes {} +laplacianSchemes {} +interpolationSchemes {} +snGradSchemes {} + +// ************************************************************************* // +%:default %[_header%] FoamFile { @@ -258,3 +279,4 @@ wallDist // ************************************************************************* // +%} \ No newline at end of file diff --git a/Data/Templates/case/system/fvSolution b/Data/Templates/case/system/fvSolution index 842c32d2..abb5f86e 100644 --- a/Data/Templates/case/system/fvSolution +++ b/Data/Templates/case/system/fvSolution @@ -1,3 +1,19 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// (intentionally empty - solver settings are in system//fvSolution) + +// ************************************************************************* // +%:default %[_header%] FoamFile { @@ -442,3 +458,4 @@ cache } // ************************************************************************* // +%} diff --git a/Data/Templates/case/system/solid/decomposeParDict b/Data/Templates/case/system/solid/decomposeParDict new file mode 100644 index 00000000..c0e3746d --- /dev/null +++ b/Data/Templates/case/system/solid/decomposeParDict @@ -0,0 +1,21 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionSolidNames/%(0%)%)"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains %(solver/ParallelCores%); + +method scotch; + +// ************************************************************************* // +%} system/%(multiRegionSolidNames/%(0%)%)/decomposeParDict +%} diff --git a/Data/Templates/case/system/solid/fvSchemes b/Data/Templates/case/system/solid/fvSchemes new file mode 100644 index 00000000..91f6a788 --- /dev/null +++ b/Data/Templates/case/system/solid/fvSchemes @@ -0,0 +1,47 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionSolidNames/%(0%)%)"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // +%} system/%(multiRegionSolidNames/%(0%)%)/fvSchemes +%} diff --git a/Data/Templates/case/system/solid/fvSolution b/Data/Templates/case/system/solid/fvSolution new file mode 100644 index 00000000..56371a7d --- /dev/null +++ b/Data/Templates/case/system/solid/fvSolution @@ -0,0 +1,58 @@ +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam +%{%(multiRegionSolidNames%) +%[_header%] +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/%(multiRegionSolidNames/%(0%)%)"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors %(solver/SolidNonOrthogonalCorrectors%); + + residualControl + { + h %(solver/ConvergenceTol%); + } +} + +solvers +{ + h + { + solver GAMG; + tolerance 1e-8; + relTol 0.1; + smoother symGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } + + hFinal + { + $h; + relTol 0; + } +} + +relaxationFactors +{ + equations + { + h %(solver/SolidEnergyRelaxation%); + } +} + +// ************************************************************************* // +%} system/%(multiRegionSolidNames/%(0%)%)/fvSolution +%} diff --git a/Data/Templates/case/system/topoSetZonesDict b/Data/Templates/case/system/topoSetZonesDict index 733acdd2..45ba80d5 100644 --- a/Data/Templates/case/system/topoSetZonesDict +++ b/Data/Templates/case/system/topoSetZonesDict @@ -13,6 +13,99 @@ FoamFile actions ( +%{%(solver/SolverName%) +%:chtMultiRegionSimpleFoam chtMultiRegionFoam + // Remove any pre-existing cell zones created by the mesh converter (e.g. gmshToFoam) + // before creating the CHT region cell zones + { + name Internal; + type cellZoneSet; + action clear; + } + + // --- Solid region cellSets (created first so they can be subtracted from fluid) --- +%{%(multiRegionSolidNamesDict%) + { + name %(0%)SelectedSurface; + type cellSet; + action new; + source surfaceToCell; + sourceInfo + { + file "constant/triSurface/%(0%).stl"; + useSurfaceOrientation true; + outsidePoints (); + includeCut false; + includeInside true; + includeOutside false; + nearDistance -1; + curvature -100; + } + } + +%} + // --- Fluid region cellSets (solid cells subtracted to handle solid-inside-fluid) --- +%{%(multiRegionFluidNamesDict%) + { + name %(0%)SelectedSurface; + type cellSet; + action new; + source surfaceToCell; + sourceInfo + { + file "constant/triSurface/%(0%).stl"; + useSurfaceOrientation true; + outsidePoints (); + includeCut false; + includeInside true; + includeOutside false; + nearDistance -1; + curvature -100; + } + } + +%{%(multiRegionSolidNamesDict%) + { + name %(1%)SelectedSurface; + type cellSet; + action subtract; + source cellToCell; + sourceInfo + { + set %(0%)SelectedSurface; + } + } + +%} +%} + // --- Create cellZones from cellSets --- +%{%(multiRegionSolidNamesDict%) + { + name %(0%); + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set %(0%)SelectedSurface; + } + } + +%} +%{%(multiRegionFluidNamesDict%) + { + name %(0%); + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set %(0%)SelectedSurface; + } + } + +%} +%:default %{%(zones%) %{%(zones/%(0%)/PartNameList%) { @@ -44,6 +137,7 @@ actions } } +%} %} %} ); diff --git a/Data/Templates/mesh/gmsh/geometry.geo b/Data/Templates/mesh/gmsh/geometry.geo index 3de2fa64..5e2090be 100644 --- a/Data/Templates/mesh/gmsh/geometry.geo +++ b/Data/Templates/mesh/gmsh/geometry.geo @@ -37,7 +37,14 @@ Mesh.Algorithm = 2; Mesh.Algorithm3D = 10; // Internal mesh +%{%(GmshSettings/IsMultiRegion%) +%:True +%{%(GmshSettings/RegionVolumeMap%) +Physical Volume ("%(0%)") = {%(GmshSettings/RegionVolumeMap/%(0%)%)}; +%} +%:default Physical Volume ("Internal") = {%(GmshSettings/Solids%)}; +%} // Boundaries %{%(GmshSettings/BoundaryFaceMap%) diff --git a/Demos/ConjugatedHeatTransferSteadyState/README.md.txt b/Demos/ConjugatedHeatTransferSteadyState/README.md.txt new file mode 100644 index 00000000..2b4a7c66 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/README.md.txt @@ -0,0 +1,32 @@ +# Steady-State Conjugate Heat Transfer Examples + +This directory contains two CfdOF examples for steady-state conjugate heat +transfer (CHT) using OpenFOAM's `chtMultiRegionSimpleFoam` solver. CHT solves +heat conduction in one or more solid regions together with heat transfer and +fluid flow in the surrounding fluid region. + +## Simple Heat Fin + +Folder: `simple_heat_fin` + +This example contains one aluminium solid region surrounded by +air. Heat conducts through the fin and is transferred to the air, producing a +steady temperature distribution and buoyancy-driven flow. The case uses a +laminar flow model and demonstrates: + + +![screenshot](simple_heat_fin/simple_heat_fin_result_paraview.png) + +## Microchip Cooling + +Folder: `microchip_cooling` + +This example represents a more involved electronics-cooling problem. It +contains four solid regions for the heat sink, printed circuit board, +microchip, and polymer component. Heat passes between contacting solids and +from their surfaces into the surrounding air. The microchip uses a +volumetric heat source. A mean-velocity-force cell zone drives the air +flow and acts as a simplified fan model. + +![Microchip cooling result](microchip_cooling/microchip_cooling_result_paraview.png) + diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/00-RunAll.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/00-RunAll.FCMacro new file mode 100644 index 00000000..250600e0 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/00-RunAll.FCMacro @@ -0,0 +1,13 @@ +from os import path +import FreeCAD as App +if App.GuiUp: + import FreeCADGui as Gui +from CfdOF.CfdTools import executeMacro + +macro_dir = path.dirname(__file__) +executeMacro(path.join(macro_dir, "01-geometry.FCMacro")) +executeMacro(path.join(macro_dir, "02-analysis.FCMacro")) +executeMacro(path.join(macro_dir, "03-mesh.FCMacro")) +executeMacro(path.join(macro_dir, "04-boundaries.FCMacro")) +executeMacro(path.join(macro_dir, "05-solidMaterials.FCMacro")) +executeMacro(path.join(macro_dir, "06-meanVelocityForce.FCMacro")) diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/01-geometry.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/01-geometry.FCMacro new file mode 100644 index 00000000..669aabeb --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/01-geometry.FCMacro @@ -0,0 +1,66 @@ +import FreeCAD as App +import Part +import Draft +import BOPTools.SplitFeatures as SplitFeatures + + +doc = App.newDocument("microchip_cooling") +App.setActiveDocument(doc.Name) + + +def make_box(name, label, length, width, height, placement): + obj = doc.addObject("Part::Box", name) + obj.Label = label + obj.Length = f"{length} mm" + obj.Width = f"{width} mm" + obj.Height = f"{height} mm" + obj.Placement.Base = App.Vector(*placement) + return obj + + +Box = make_box("Box", "room", 120, 120, 100, (89, 90, 0)) +Box001 = make_box("Box001", "PCB", 100, 100, 1, (100, 100, 10)) +Box002 = make_box("Box002", "microchip", 30, 30, 1, (135, 135, 11)) + +# Heat sink: 30 x 30 x 3 mm base plus seven 1 mm thick fins, then placed on +# top of the microchip. Keep object names aligned with the original demo. +Box003 = make_box("Box003", "Cube", 30, 30, 3, (0, 0, 0)) +Box004 = make_box("Box004", "Cube001", 30, 1, 12, (0, 0, 0)) +Array = Draft.make_ortho_array( + Box004, + v_x=App.Vector(100, 0, 0), + v_y=App.Vector(0, 4.833333, 0), + v_z=App.Vector(0, 0, 100), + n_x=1, + n_y=7, + n_z=1, + use_link=False, +) +Array.Label = "Array" + +Fusion = doc.addObject("Part::MultiFuse", "Fusion") +Fusion.Label = "heat_sink" +Fusion.Shapes = [Box003, Array] +Fusion.Placement.Base = App.Vector(135, 135, 12) + +# Fan case: square 30 x 30 x 10 mm duct with a 28 mm diameter cylindrical hole. +outer = Part.makeBox(30, 30, 10, App.Vector(-15, -15, 0)) +inner = Part.makeCylinder(14, 10, App.Vector(0, 0, 0)) +Body = doc.addObject("Part::Feature", "Body") +Body.Label = "fan case" +Body.Shape = outer.cut(inner) +Body.Placement.Base = App.Vector(150, 150, 24) + +Cylinder = doc.addObject("Part::Cylinder", "Cylinder") +Cylinder.Label = "fan" +Cylinder.Radius = "13 mm" +Cylinder.Height = "8 mm" +Cylinder.Placement.Base = App.Vector(150, 150, 26) + +doc.recompute() + +BooleanFragments = SplitFeatures.makeBooleanFragments(name="BooleanFragments") +BooleanFragments.Label = "BooleanFragments" +BooleanFragments.Objects = [Fusion, Box002, Box001, Box, Body] +BooleanFragments.Mode = "Standard" +doc.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/02-analysis.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/02-analysis.FCMacro new file mode 100644 index 00000000..e4f0feb2 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/02-analysis.FCMacro @@ -0,0 +1,72 @@ +from CfdOF import CfdAnalysis, CfdTools +from CfdOF.Solve import CfdPhysicsSelection +from CfdOF.Solve import CfdFluidMaterial +from CfdOF.Solve import CfdInitialiseFlowField +from CfdOF.Solve import CfdSolverFoam + +analysis = CfdAnalysis.makeCfdAnalysis("CfdAnalysis") +analysis.Label = "CfdAnalysis001" +CfdTools.setActiveAnalysis(analysis) +analysis.addObject(CfdPhysicsSelection.makeCfdPhysicsSelection()) +analysis.addObject(CfdFluidMaterial.makeCfdFluidMaterial("FluidProperties")) +analysis.addObject(CfdInitialiseFlowField.makeCfdInitialFlowField()) +analysis.addObject(CfdSolverFoam.makeCfdSolverFoam()) + +physics = App.ActiveDocument.PhysicsModel +physics.Label = "PhysicsModel001" +physics.Time = "Steady" +physics.Flow = "NonIsothermal" +physics.Phase = "MultiRegion" +physics.Turbulence = "Laminar" +physics.TurbulenceModel = "kEpsilon" +physics.gx = "0 mm/s^2" +physics.gy = "0 mm/s^2" +physics.gz = "0 mm/s^2" + +fluid = App.ActiveDocument.FluidProperties +fluid.Label = "FluidProperties001" +fluid.Material = { + "CardName": "AirIncompressible", + "CpPolynomial": "1004.703 0 0 0 0 0 0 0", + "DensityPolynomial": "1.2 0 0 0 0 0 0 0", + "Description": "Constant-property air for low-Mach forced convection", + "DynamicViscosityPolynomial": "1.8e-5 0 0 0 0 0 0 0", + "MolarMass": "0.0289643897748887 kg/mol", + "Name": "Air", "ThermalConductivityPolynomial": "0.0262 0 0 0 0 0 0 0", + "Type": "Incompressible", +} + +initial = App.ActiveDocument.InitialiseFields +initial.Label = "InitialiseFields001" +initial.PotentialFlow = False +initial.PotentialFlowP = False +initial.Pressure = "100 kPa" +initial.Temperature = "293 K" +initial.UseInletTemperatureValue = False +initial.UseInletTurbulenceValues = False +initial.UseInletUValues = False +initial.UseOutletPValue = False +initial.Ux = initial.Uy = "0 mm/s" +initial.Uz = "20 mm/s" +initial.k = "10000 mm^2/s^2" +initial.epsilon = "50000000 mm^2/s^3" +initial.omega = "1 1/s" + +solver = App.ActiveDocument.CfdSolver +solver.Label = "CfdSolver001" +solver.MaxIterations = 2000 +solver.SteadyWriteInterval = 200 +solver.PurgeWrite = 2 +solver.MaxCFLNumber = 2.0 +solver.MaxInterfaceCFLNumber = 2.0 +solver.Parallel = True +solver.ParallelCores = 6 +solver.TurbulenceRelaxation = 0.3 +solver.URelaxation = 0.5 +solver.pRelaxation = 0.3 +solver.rhoRelaxation = 0.3 +solver.energyRelaxation = 0.3 +solver.FluidNonOrthogonalCorrectors = 3 +solver.SolidEnergyRelaxation = 0.2 +solver.SolidNonOrthogonalCorrectors = 0 +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/03-mesh.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/03-mesh.FCMacro new file mode 100644 index 00000000..3d36f8a9 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/03-mesh.FCMacro @@ -0,0 +1,16 @@ +from CfdOF import CfdTools +from CfdOF.Mesh import CfdMesh + +CfdMesh.makeCfdMesh("BooleanFragments_Mesh") +mesh = App.ActiveDocument.ActiveObject +mesh.Label = "BooleanFragments_Mesh001" +mesh.Part = App.ActiveDocument.BooleanFragments +CfdTools.getActiveAnalysis().addObject(mesh) +mesh.CharacteristicLengthMax = "3 mm" +mesh.MeshUtility = "gmsh" +mesh.ElementDimension = "3D" +mesh.CellsBetweenLevels = 3 +mesh.EdgeRefinement = 1.0 +mesh.PointInMesh = {"x": "0 m", "y": "0 m", "z": "0 m"} +mesh.NumberOfProcesses = 1 +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/04-boundaries.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/04-boundaries.FCMacro new file mode 100644 index 00000000..7e5fdfa4 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/04-boundaries.FCMacro @@ -0,0 +1,30 @@ +from CfdOF import CfdTools +from CfdOF.Solve import CfdFluidBoundary + +def add_boundary(label, boundary_type, subtype, thermal_type, faces, + velocity=(0, 0, 0), pressure="100 kPa"): + boundary = CfdFluidBoundary.makeCfdFluidBoundary() + CfdTools.getActiveAnalysis().addObject(boundary) + boundary.Label = label + boundary.BoundaryType = boundary_type + boundary.BoundarySubType = subtype + boundary.ThermalBoundaryType = thermal_type + boundary.Temperature = "293 K" + boundary.Pressure = pressure + boundary.Ux = f"{velocity[0]} mm/s" + boundary.Uy = f"{velocity[1]} mm/s" + boundary.Uz = f"{velocity[2]} mm/s" + boundary.TurbulenceIntensityPercentage = 1.0 + boundary.TurbulenceLengthScale = "100 mm" + boundary.ShapeRefs = [(App.ActiveDocument.BooleanFragments, tuple(faces))] + return boundary + +add_boundary("inlet", "wall", "fixedWall", "zeroGradient", + ("Face17",), velocity=(0, 0, 20)) +add_boundary("outlet", "outlet", "staticPressureOutlet", "zeroGradient", + ("Face15",)) + +# The isothermal casing gives the steady CHT problem a robust thermal reference. +add_boundary("side_walls", "wall", "slipWall", "fixedValue", + ("Face13", "Face16", "Face14", "Face18")) +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/05-solidMaterials.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/05-solidMaterials.FCMacro new file mode 100644 index 00000000..51330ddd --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/05-solidMaterials.FCMacro @@ -0,0 +1,40 @@ +from CfdOF import CfdTools +from CfdOF.Solve import CfdSolidMaterial + +aluminium = { + "Author": "AluminiumSolid", "AuthorAndLicense": "", + "CardName": "AluminiumSolid", "Density": "2699 kg/m^3", + "Description": "Aluminium solid thermal properties for CHT simulation", + "License": "", "Name": "Aluminium_solid", "ReferenceSource": "", + "SourceURL": "", "SpecificHeat": "897 J/kg/K", + "ThermalConductivity": "237 W/m/K", "Type": "Solid", +} + +def add_solid(name, label, shape, material, heat_generation="0 W/m^3"): + solid = CfdSolidMaterial.makeCfdSolidMaterial(name) + CfdTools.getActiveAnalysis().addObject(solid) + solid.Label = label + solid.Material = material + solid.HeatGeneration = heat_generation + solid.ShapeRefs = [(shape, ("Solid1",))] + return solid + +add_solid("SolidProperties", "heat_sink_volume001", + App.ActiveDocument.Fusion, aluminium) +add_solid("SolidProperties", "PCB_volume001", App.ActiveDocument.Box001, { + "Density": "1.1e-06 kg/mm^3", "Description": "User-entered properties", + "Name": "Custom", "SpecificHeat": "200000000.0 mm^2/(s^2*K)", + "ThermalConductivity": "200.0 mm*kg/(s^3*K)", "Type": "Solid", +}) +add_solid("SolidProperties", "hot_microchip_volume001", + App.ActiveDocument.Box002, aluminium, "1e+09 W/m^3") +add_solid("SolidProperties", "Polypropylene_solid001", App.ActiveDocument.Body, { + "Author": "PolypropyleneSolid", "AuthorAndLicense": "", + "CardName": "PolypropyleneSolid", "Density": "918 kg/m^3", + "Description": "Polypropylene solid thermal properties", "License": "", + "Name": "Polypropylene_solid", + "ReferenceSource": "https://www.matweb.com/search/DataSheet.aspx?MatGUID=a882a1c603374e278d062f106dfda95b", + "SourceURL": "", "SpecificHeat": "1920 J/kg/K", + "ThermalConductivity": "0.249 W/m/K", "Type": "Solid", +}) +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/06-meanVelocityForce.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/06-meanVelocityForce.FCMacro new file mode 100644 index 00000000..0ef846f9 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/06-meanVelocityForce.FCMacro @@ -0,0 +1,12 @@ +from CfdOF import CfdTools +from CfdOF.Solve import CfdMeanVelocityForce + +force = CfdMeanVelocityForce.makeCfdMeanVelocityForce() +CfdTools.getActiveAnalysis().addObject(force) +force.Label = "MeanVelocityForce001" +force.SelectionMode = "cellZone" +force.ShapeRefs = [(App.ActiveDocument.Cylinder, ("Solid1",))] +force.Direction = App.Vector(0, 0, 1) +force.Ubar = App.Vector(0, 0, 0.2) +force.Relaxation = 0.05 +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/microchip_cooling_result_paraview.png b/Demos/ConjugatedHeatTransferSteadyState/microchip_cooling/microchip_cooling_result_paraview.png new file mode 100644 index 0000000000000000000000000000000000000000..41a81d9f939eb77bfd05e213b3131ca1bd268d6a GIT binary patch literal 276170 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�(o%cf|5>sxz*Ycnn#!~SUHd(qvs6ywLh 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 literal 0 HcmV?d00001 diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/00-RunAll.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/00-RunAll.FCMacro new file mode 100644 index 00000000..b9e1cc69 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/00-RunAll.FCMacro @@ -0,0 +1,12 @@ +from os import path +import FreeCAD as App +if App.GuiUp: + import FreeCADGui as Gui +from CfdOF.CfdTools import executeMacro + +macro_dir = path.dirname(__file__) +executeMacro(path.join(macro_dir, "01-geometry.FCMacro")) +executeMacro(path.join(macro_dir, "02-analysis.FCMacro")) +executeMacro(path.join(macro_dir, "03-mesh.FCMacro")) +executeMacro(path.join(macro_dir, "04-boundaries.FCMacro")) +executeMacro(path.join(macro_dir, "05-solidMaterial.FCMacro")) diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/01-geometry.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/01-geometry.FCMacro new file mode 100644 index 00000000..0012ff1f --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/01-geometry.FCMacro @@ -0,0 +1,35 @@ +import FreeCAD as App +import BOPTools.SplitFeatures as SplitFeatures +if App.GuiUp: + import FreeCADGui as Gui + +document_name = "simple_heat_fin" + +if document_name in App.listDocuments(): + doc = App.getDocument(document_name) + App.closeDocument(doc.Name) + doc = App.newDocument(document_name) +else: + doc = App.newDocument(document_name) +App.setActiveDocument(doc.Name) + +fluid_domain = doc.addObject("Part::Box", "Box") +fluid_domain.Label = "fluid_domain" +fluid_domain.Length = "70 mm" +fluid_domain.Width = "30 mm" +fluid_domain.Height = "50 mm" + +heatsink = doc.addObject("Part::Box", "Box001") +heatsink.Label = "heatsink" +heatsink.Length = "60 mm" +heatsink.Width = "1 mm" +heatsink.Height = "10 mm" +heatsink.Placement.Base = App.Vector(0, 15, 13) + +doc.recompute() + +BooleanFragments = SplitFeatures.makeBooleanFragments(name="BooleanFragments") +BooleanFragments.Label = "BooleanFragments" +BooleanFragments.Objects = [fluid_domain, heatsink] +BooleanFragments.Mode = "Standard" +doc.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/02-analysis.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/02-analysis.FCMacro new file mode 100644 index 00000000..8f4a9452 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/02-analysis.FCMacro @@ -0,0 +1,59 @@ +from CfdOF import CfdAnalysis, CfdTools +from CfdOF.Solve import CfdPhysicsSelection +from CfdOF.Solve import CfdFluidMaterial +from CfdOF.Solve import CfdInitialiseFlowField +from CfdOF.Solve import CfdSolverFoam + +analysis = CfdAnalysis.makeCfdAnalysis("CfdAnalysis") +CfdTools.setActiveAnalysis(analysis) +analysis.addObject(CfdPhysicsSelection.makeCfdPhysicsSelection()) +analysis.addObject(CfdFluidMaterial.makeCfdFluidMaterial("FluidProperties")) +analysis.addObject(CfdInitialiseFlowField.makeCfdInitialFlowField()) +analysis.addObject(CfdSolverFoam.makeCfdSolverFoam()) + +physics = App.ActiveDocument.PhysicsModel +physics.Time = "Steady" +physics.Flow = "NonIsothermal" +physics.Phase = "MultiRegion" +physics.Turbulence = "Laminar" +physics.TurbulenceModel = "kOmegaSST" +physics.gx = "0 mm/s^2" +physics.gy = "0 mm/s^2" +physics.gz = "-9810 mm/s^2" + +App.ActiveDocument.FluidProperties.Material = { + "Author": "SPDX-FileCopyrightText: 2021 Oliver Oxtoby", + "AuthorAndLicense": "", "CardName": "AirCompressible", + "Cp": "1004.703 J/kg/K", "Description": "Compressible air properties", + "License": "", "MolarMass": "0.0289643897748887 kg/mol", + "Name": "Air", "ReferenceSource": "", "SourceURL": "", + "SutherlandRefTemperature": "273.15 K", + "SutherlandRefViscosity": "1.716e-5 kg/m/s", + "SutherlandTemperature": "110.4 K", "Type": "Compressible", +} + +initial = App.ActiveDocument.InitialiseFields +initial.PotentialFlow = False +initial.PotentialFlowP = False +initial.Pressure = "100 kPa" +initial.Temperature = "293 K" +initial.UseInletTemperatureValue = False +initial.UseInletTurbulenceValues = False +initial.UseInletUValues = False +initial.UseOutletPValue = False +initial.Ux = initial.Uy = initial.Uz = "0 mm/s" +initial.k = "10000 mm^2/s^2" +initial.epsilon = "50000000 mm^2/s^3" +initial.omega = "1 1/s" + +solver = App.ActiveDocument.CfdSolver +solver.MaxIterations = 2000 +solver.SteadyWriteInterval = 100 +solver.Parallel = True +solver.ParallelCores = 4 +solver.TurbulenceRelaxation = 0.7 +solver.URelaxation = 0.7 +solver.pRelaxation = 0.3 +solver.rhoRelaxation = 0.5 +solver.energyRelaxation = 0.7 +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/03-mesh.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/03-mesh.FCMacro new file mode 100644 index 00000000..59d9666b --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/03-mesh.FCMacro @@ -0,0 +1,15 @@ +from CfdOF import CfdTools +from CfdOF.Mesh import CfdMesh + +CfdMesh.makeCfdMesh("BooleanFragments_Mesh") +mesh = App.ActiveDocument.ActiveObject +mesh.Part = App.ActiveDocument.BooleanFragments +CfdTools.getActiveAnalysis().addObject(mesh) +mesh.CharacteristicLengthMax = "3 mm" +mesh.MeshUtility = "gmsh" +mesh.ElementDimension = "3D" +mesh.CellsBetweenLevels = 3 +mesh.EdgeRefinement = 1.0 +mesh.PointInMesh = {"x": "0 m", "y": "0 m", "z": "0 m"} +mesh.NumberOfProcesses = 1 +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/04-boundaries.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/04-boundaries.FCMacro new file mode 100644 index 00000000..75e7cfae --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/04-boundaries.FCMacro @@ -0,0 +1,29 @@ +from CfdOF import CfdTools +from CfdOF.Solve import CfdFluidBoundary + +def add_boundary(label, boundary_type, subtype, thermal_type, faces, + temperature="293 K", velocity=(0, 0, 0)): + boundary = CfdFluidBoundary.makeCfdFluidBoundary() + CfdTools.getActiveAnalysis().addObject(boundary) + boundary.Label = label + boundary.BoundaryType = boundary_type + boundary.BoundarySubType = subtype + boundary.ThermalBoundaryType = thermal_type + boundary.Temperature = temperature + boundary.Ux = "{} mm/s".format(velocity[0]) + boundary.Uy = "{} mm/s".format(velocity[1]) + boundary.Uz = "{} mm/s".format(velocity[2]) + boundary.TurbulenceIntensityPercentage = 1.0 + boundary.TurbulenceLengthScale = "100 mm" + boundary.ShapeRefs = [(App.ActiveDocument.BooleanFragments, tuple(faces))] + return boundary + +add_boundary("wall001", "wall", "fixedWall", "zeroGradient", + ("Face4", "Face1", "Face3", "Face10")) +add_boundary("heatsource001", "wall", "fixedWall", "fixedValue", + ("Face12",), "393 K") +add_boundary("inlet", "inlet", "uniformVelocityInlet", "fixedValue", + ("Face2",), velocity=(0, 100, 0)) +add_boundary("outlet", "outlet", "staticPressureOutlet", "fixedValue", + ("Face5",)) +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/05-solidMaterial.FCMacro b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/05-solidMaterial.FCMacro new file mode 100644 index 00000000..fc04d673 --- /dev/null +++ b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/05-solidMaterial.FCMacro @@ -0,0 +1,17 @@ +from CfdOF import CfdTools +from CfdOF.Solve import CfdSolidMaterial + +solid = CfdSolidMaterial.makeCfdSolidMaterial("SolidProperties") +CfdTools.getActiveAnalysis().addObject(solid) +solid.Label = "aluminium" +solid.Material = { + "Author": "AluminiumSolid", "AuthorAndLicense": "", + "CardName": "AluminiumSolid", "Density": "2699 kg/m^3", + "Description": "Aluminium solid thermal properties for CHT simulation", + "License": "", "Name": "Aluminium_solid", "ReferenceSource": "", + "SourceURL": "", "SpecificHeat": "897 J/kg/K", + "ThermalConductivity": "237 W/m/K", "Type": "Solid", +} +solid.HeatGeneration = "0 W/m^3" +solid.ShapeRefs = [(App.ActiveDocument.Box001, ("Solid1",))] +App.ActiveDocument.recompute() diff --git a/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/simple_heat_fin_result_paraview.png b/Demos/ConjugatedHeatTransferSteadyState/simple_heat_fin/simple_heat_fin_result_paraview.png new file mode 100644 index 0000000000000000000000000000000000000000..c2281764f56064b6f4730e2e07a25ceab26f6265 GIT binary patch literal 365180 zcmc$_1yfv2xHUSs6WrYi?iPHI1Shyla0u=McP9|sg1fs64hilWJh%t>xl5cm9x3|HQ)ouK~~!t z1VZos`v>)n37r_Yi0UGxSSj286*oFXO_ZlYidV*&MBIVAA%lW-5o70K zx_lZnqM(Gv3<&r4^BuoOe_ZLhw?PV|K>VLqD)p0kHAox-_P^J~uDD6!|NEs74e$Tn z8{R7U|Jzp&gw`-*ZLwg* zJ2vmOIK6GZtLcc<4|G`Moh+!mCHaO-U;F;=MEieH{Qc(we%iYAE>2X+!O0pGC#BEh zE|{9klpPg`8kztzBK-R)&xy%G8ZfFImG@}vYp=wO2d2;p>*=q$gzyo~P90bd&Hn}q zI2IA@TYF(7Fa=@7*O485xjkKnX7{Mcw_4qr2?vEzVn%?XP@p4%!SCSvO|UKq&{Bcr z_d-IJmzwp~>st~Sq9xV?}*xFb(6 zbo|!<4pM*gLGCjH1XB+7qM*wi2f?FJ<7yJW};W_9o4S!dvM{h~H`&(8HwPwlo)V3*!xl*@Q7yH%y z(YriqpwHwZLW7INu?VqsyHnhZBIwZRV^yAo)J!mmh}%wnYbI7v+ujTlC@8NN@_ z=588oY9;`0R2P5;EOQ35Dej^hUNnnD_;C1wtBDvrefQ7z&=WUpTpv-l-HbSudfjMz zpDonvl{&KH7ika!Jx~^xWle0hg+XVV?79Q_z|40h+JpDz%}K~R)>**$<&G7VgHWjW zCBQb?Lx)feojPL=d_^17sDaQqTqfSns`%cX&^d)jJ$Z-*>3!$(11HGtw|Lv2WgIzz z#2|}e5Qj+VkGXSoQ?^U&y1c=6P!fk25@8rb${dZDww1&2uLkKAR0w-NBgqZl`e)|+eX5mCwp-^D72ul~QnFhV@ zvEH|DI+426LEZD_&|Oa^*b%S;0pWZoSQ-EMS-2g`lLdfa>>jqJeg| zQDO=~^kTGmD%bAyxFUr-Db+^yuQ;OZkbugVe)$z~jA|zCFA^C2xktY7b`wC_xW;Vvluo5WsC{rUkuKz+;cr)hT)$G9ZIe+1twt|Vv{vH2Q5Cj@| zm|47agdj3P4Z37zNjbU|NzTCE1|6r0=dwuWtKiF7g}Qt&qAbm({_l7GO&lImK0vjT zCN6<3S~1QwbI-^Y3Divh14Ho(AI8uI%90n`Xp}E_^7|17$mV2$AhcgXHPAU={b@L> zPXqJcmOgP){+svDZ&^}+M}e!9hw_Jp_(!t?Yh4y>u#iZ}znrt0O!4QbpiPyWu9o{~ z&$x7Ez|6QzagwT)sW<3|jc^;MyQc0E%3msX@)c2<@3T`8;o)zCGz@!^vHy+HLH2hi zwqm5Egw|nl^Rn8#Jpp%h-1$T6wUzmf%g#WifJaiToQa|HVW(8t30z`&zkrj>_e7>`j3o1^vTy-K)C)LTf7V|0aU1 zz@PZA*{1?O%p1YH)460t^N)b`I8(X>9R?&JTP$_9l4VqVSWRZA9Mrv6OlzSjV3KOz!6_ zG1hfxs16#xK%;VHYY89h;kBZY@*rq1dF7Sdd=3p%Wq@~g==`Cc3Wy#0j5q?>r#e5# z9*bO5*zsOE-{kCv57AIziY?H%kWO-o&Cqb8JD_clY{-{+I~h|NeEb)_^+3sRvxlfV z$dU&Iy2@@SKNW4h)dYn|F#Zk?0WzUS>F+3(r#mAk`eIDbRB4LynXmmyc8ht4e$#3zGhT1=RX}W$Ln2lQrKNiho6*h z*+`Ji66z5Rj|8lJHA-Ag_V&dLr}Z^waLH)LyS^5IsiP1OEU2Xu`)d$AgVKcmy045j zXaB&zb)|wG!;`G-S7ul)nK!ZYpsLUKX^~f4sAbaPmDW!O1gN84gflkEEZ+0&XH=(< zB`#&#N2T~bRMnS^pcVWUpTK{)kK?O_xB5Guj%af^7!Z4r_^_rSiF4|d!!>6b9AMBL zinew%HH{a}zmZ*kwflwZy^us#Dt2TVzAn*P3Oaab1zM%m*x@&A_d3GrEre_%BWm{I zLQBYkm>fu;^!GM0OL26@zgvyAJMIfgg7?C~{HT(BGUOGbeh3)gH-Bx(W1B$}c6^*B zk{)_4-E!drT_WmFSQ%@Mh&bQP&@y$;Gm9u$mgSaPilFUZ+PapUcrbe$?8zV?<(d0) zZ0GS+D%^NL0-IHh`GqYQa5~jC(wF&AP*9mhQ0}gpxE3Y=@AgOpA{LNL@PF(uwcKtX z4zPJcobt*2&H^I*}>>nBK+$i^1){B)oif7m4((j6OSdM%)rWj?B%A_DFQPO zV?-5W^3a&5P^2Zb++PfYe{+)BIM$Pa7;RpSinr$FeHjie=CTBD{ zn=7-e;Ci}gXZigns^vB}SPz2Ec;v7u=$}}%@Q{~SyB~rw6(kv3u1Od5SqJYjI?7){ z<)r?DI_!=5tygvyOl307-};0DPB(+m)~+aiB;}&-nc3-{Gnk<0g5g4?yLHl)g{Zm{e#q6mvw^YHGVLf-OzzAB(dvq!)d_!$~Gpv1$+%MJ?V-l!0&N zO&hNDhlGkx8FZETB>?vu#>PL&-2#zFbXQ!oSH#EV_+VTWYm3ph-8b82qx z)uS*k5mt4hPiG;MMkq~toarcFv!8`Bf8N;!%L}geF`#KS1V5Igaq>)s_ zU`!MIK`~*mk>+s%bwhpGbL^I?MyiptvE?bNX(^XQGeVS{Z>>>5ZXw?Rd#SEbHsSIf zP57z9&qS|M>HyS7N9E8tYjiU21Me6&q7(x?bpQH@JrpF-8j=fZR^NIzou$Tv8>&_& z$~mvgq-9@Vtli_<-Xi$J_y{MtaxA12yl12*dmu49-)+&JpNF#X4wI9|JxL6eTw!%( z!61FHf{*6VH9$vr8dn`b4b4ihaC=ZjaO)zaPEhgyQI6PR2Rs2Q-BMCJQR2osRutv; ztc23q!KNeB`3MxbA3~_{m?-~Nre;sZVE(*N_`b#imx%F4ZIZnaBU@v1n?+*>H8l@uDJ1r$4JipzBj$>5 zR5mb*RBS%UP+{dg{|0(w*`u_gzoB!6*cr`_rPj8krYL)eSF2TVWpdPO8-9-`trO+Y zY0dt{nlElx8kRpZft*CR&bp1;Eh@p_#-+|SYTJ13(XaN>F3n`q7B@3T)+5CZeQsT> zfv=%K(GkZ9Az5-GE#4#OW^K|K{VQ<)8j?0npk$E$&fs_^{(>u13dv6R7ULRl*44NR z`K1R5^uCQ_1G~6!$=_Mw-;ml@$Q|3F5WpJ|V5z{cQytp(DZ{HK4;U}`TXAUN8EJQW zwo)??qaDmWjSrIh+K+cczrWk`#T5O;M!9&yYW*v1*GJ}9+BMre3Z`0C}+r^mXWmh&(B+Y~ZVYY*o;Un=* zfnao$n`&c)sAo>1e^N|9HAnP{^L<6luZRA@tvsS%Lnf)^NQ%29fnAS7^cz07Vz3fw zyG_TN63*QCkEC3(+VG}w+lGP&ko)Pu@xqi9n}#e-{ZwWuGJ~YDlZYXj`2`wYKG!w7R^6iRHD9z_@?A*qnK-NVDg6|fKX;R`L!|ry$TM9GM*u;>edYQsqYWc^3 z56T{NSYp;H6bapGfmeRdo&EQ%Fq9@ILo`JzZX;gMppAC{Z$!1AO|jmPWr-s#{ZSi1 z%BJ&G!`YRWRi~b@}c}u=GKqu-UhU`Z&0x$2E?k zpOK(_v1l$|>cAzT)12~Scd4)Lk$bsdF0Ik?JBp&1IQ2)C?LYd$~1fE*_;lP$0o zPS#3t7_Xp060zRy^A+bzgQ447JGNFIIG`?dOcjP%BsnB6B>KCpkE3Ft2`T$)2n9DVvwz=GsMXzu{n@FjEg?fqAYkT=$5n$jW#?7 z1K4#Fc&{uqb@INSs)*~Yhg(rfhWdV;QQVCxun1!pteA&U*o?XktG#-8S=iNCO($p@ z)JF2RFWIjy?HH~tpD`s$vaMCNcYleR;`D(J3-X+QTl^UOVY*MH>LFw`DaKrMYKR-Q zgiIzZkS(&z*jKcRp8hM%AexoURVk^1dAYQ}VB(icr0Ews%$(KxgIi+t1aWMcp~U8v zc!oe@m$tHrN@CtaH24*bz$r%p5_|`JT83}kYH@KUj4YG3NVC@7lBBhLCVJkyz{O-CU1X9`7SkKG#D{1?t(J) z8+N>{Gr@|N!dt9kR#ukPu%{CtF=8AnF_cAoq@^8e%1Aokxdg7A?G}AKqGo5?QEkNx zyZ>yCo&Pg<*PVjmH6fs(fdeq#q1v!`>6)j8r?ZPIerV5^La8JvK&gK%wNElZ|zve*D&K`rlHkH zhC5w5l&67}qW4eey`1RkimV({6!fegaPU3dAb%+d#@}O7hOuv6g_rp-!?s4}|^WOBX(3$6-gQ9Ce*&k^C<)- zSsKCC4ItD8Nn#J=!Oa}b_I|Dqx;usbH5kOLiyD#_rMFgHiYr^JSp#`{eqa{~!Gab0 z!ixkAI(Jd(yZn+nHEX0TZYN?AOEg$g=l7vZYGP;jy3(5Wlj`QE_2|BIp>>~HhfFEiC#eM$Rf>HeuF^g9 zZnS!ye0fxtdG`f%8y@6gHA%{`6{X0iyXHR20#?tF=g8l8p)@0{(v>OhDlx=QM?@^# zJZOob>+5=vp-;CU_&`$h5o<&)i@}l`xjzqb#3Wh1lWRs~+30Ulx`RX~N`!y%5dAUg z`_d~x>Ub57&aQJeo zL1t4v<@V|7svUnAcX<<8hWWo%P^MPM-_Phy9!<$TDig6s1tLt`jZs zhVpsgm7T&233O?V8-dJa(;^S&0I-FsrY zp3TS3v&lN4g3jo}5w)1NR1n~D`e18||Ho1Se&mtM1Npa<#qA9Ug#IC9;6Lxd!s z%9UA29+YDC;Tm^Zt|Od{Pxy9w#CK8Sa&U@b-Cpjis~huqcOrM@u-o_oTN5dF1O^+u_IKD` z^LVbF)GHmxV3aHU_>}@LaKTqcAFEB{mF!ov3|(au^_H5%I*s$E8dS>D_=U^eB2+-K zbX2na)Uw5A`{+tCAQ!bEi#A*SUa6JFx1MBa$9D_JDxkeY zQbWmP?l3b3HDnvnm$UCx<#bsRtfS@>jl{fN&F#N_i%Hfphv7YK}C@$cGmM=f}_(HS6>4CcT8a z8DZSQk1A4x)_KO9vm);cX*7~ylT!p)v)hVJ=U&CYDJ6V*EvFmC{+OGxbVE$_es`v1 zX|{x7ww70IrIBkj&-?+_ln z9*;mS+OxX5eL-&Rq8n%cP$fV55&y+p%}}(GQC8Zk=k&Fb`#sY(2R0o72tS#wX8oY# z3qN|>thXXPbpFGvrV`JVKJ-`xdtjPd*r!-jM85o^iIIH5jeMmMVjz$~qiF!_ckTJO zAMID)R+K7Z#`kC;uPIkr!F-j55KC(n#Z~O-;sw-FRa~Qr#6L7(!q~)%O!XbvDU67M zp8Iy}>OKa@Q-!~crm8_dPu%v?Z>y%&>-1IEfb^zmUmrX{li5Fc1!nf_Ri^P2Xv90H zoNqSoExIcDaPeMF$;o4IRA<=BST#O;bK;BH|HKTf--SA!LeVckLXW_BWW>B28*OMw z#7WHk_R7L0|zMU!w zw&F~so2(-+Q9-WpNrlfsF+G@B!% zcb<0rgo>4;ibq)pYie5(pc?-^(-7N{_Uqg&W0-G_`ADFZbOKvb5vNd_^GGj%kV&Z8 zRh|Vn80_j-wKmOQerw9tsYM0jbuW5+7eX{-mX3*Q58h@ch;mm*m8WL62+`@muqOh_ zF)G+rA2gsibVwD>Qex{gX!AOPixJx563T^M?d2lF*V1>a>FAGFEVUe2N)v-HIA|y; zehMvszYkk8@~qjPy=Izhc(0EqGjpU-DjyTOoQF-o_D&{(!mnmr3stqrh``-kYh?-+ z?qElb_vQ^}ywjhC7VY4Y&t_1=*^JgqROC4vucBn zw^Sj}s_71yJ`0=yC>Yr=1H0_-QKFP(H7DMw7CG9k$FeT4>1(u$1W{BB%TIf=ro;En zc)=wBn{e_+E`w_BuR^4-=Y3i#W8gT++7Bexw#??DJ+&UY3yb)v1ItSVftMV9PEHFl+hn!@`sd`-Xa9 zF%qR}n6e@}bROx0*VMy1eB%b2U5a4-up_cQ*Do+B{^wWL{&~(gw(g&oWs9ZS*^D}S zHrmkLZr`@NGN4dO7ccqxy2FHQ5&n@P9@{PXq5B0)YASk(S=ftB*`CV#Y-3`~V}vEC zK=X;B|9&ZWNOOE9u3Bi33I@cB$~y`&gD!tu(MA4_l1oPo6~8o-eq|^#iHBbi9wbTghm{{er_wJV z30jk_dOK>OiW<{TVArwLhfws_MAKN|vM#4dvoHVvRR!<}-NPb2)ZXdN%hHZ_) zQjLiKNSJ>Cl#gFW797sR-5%gi$s&Sd+xZp}ekRAW2~rOzVT{k5^i&QG73-n}#^7Qm z$_VJ)g3+)z?&WPf#04J^^di=&3T&H>-VsK5=hX+CL0Ths%wT>7hnmkwLzIVRI^Q|L z*|!P@-Mp9DAq6i^z09{3u&~q?J7V2drC^l`i%LApu)r4m7;1O$3K+)x=`l?4lI-6$N%u zp#Vku`OQS}rZ3g@Vl0JauUTpZv|B_X_m;RQD8n1{Y07~mrih<5*PiifvIuOwvqhg* zV@GVtyT{@*6XXvUzZeVz$-uRICIr3VapV{cE(;2dG-0~9KfM-YHB?>kO10ZM_zb5i zog2%9ApTtty^$1Uvhljg^!eF6s>N;2-`If$yS{KiNpf6nV2otUy0>6FD;6_8<%W50 zNzCl&o-pEkTw!n06+K21Gr}^Q2);^BWr;nG%)&9AF@zI_s2||Yx*mPK%Wk2|PH!#} zsedESoVa)4xs&w#gc;Y~fVa$)oJn=xo^%ZjA78m{>I9O)mTM5;KcnH+m|xEt5Yxnx z93cK|r&Xq|wCMWoz~U7hP&t1xakqCtezX04)Ow9G)_DGD8#Ug?lzd@K{6~+*U45=i z3e3S^;zAqrFynbvIW&_TR%sHr@NLa)M<_WtnMC-YG9{~&SyeArxK0)NIR3kYonBWI zhfHd=HZJ16;BWo@;i(NB`}%wmna!_c^zYi`jeiq%_g-tOmDV7{*G*Nqt0yvjXnB6> z<2%rYoDntCKM!`J~wK&^gu1l`wg+?&odyJGXwx3#ofa$et2vN$gPaNjy*eYznL^Fw6k-Rq|FWtP9#XK;gk0xZkiNV&e@^QSlp;N8HSP6xuV;=?L=0EL+AvQVA^553DjI78G~5u49vG zsQEuyfT(H_zedKWVGo9FshB<`ZeK5Nw1b8Ku-+SaFux@?>8v$xtdrEIy873mU#+cy z9(qSuU)!qWBYXk`7y(%8#_)FnQ|9-j22hPM^p*R%y{V0}8#e3Cy2GNP4LY{AA`Q3C z-DQhKe*tBl&7><@+u-*D5~95gqOd_i{yn<@00aG-sZ3%^1T%UUEsI5ScRJuGi_R`R zrbed`6c<>7Epj`%D?WvEg)-p~Xsjyzs;A$s+W(Lq>LJgQXx~V}t;>omg{|byb%N-wC5@ys z;=6d=b(Bmeg2!sdw%NR{PxjcR_?*4G7o=+Ecl(TMYj-0AZYEw!u}w8Ec6%`6?zk0Q z=et0bcKFt+6&8Dr%C(rys_&sD9S~XYsM0kx^rP7@L+eJPS!)ZRZ+Rh(dOH<|ZNpd6 zh_6N2GmQ?rY)vfZW14;WwE%E)OGXlcC8nE!^mO`|m9VmtzuZi+y-|b64nN+zU|%M? zRXACl6DmC;0Z|@!=|Mv0Dujp(m7USmI5P$SJc-YYob!F%-W!Ze7vhd};AzLZoxf77 z@dBJvKU^+6)X+)KCi~`33MiL_bdDRZh>23TJ&euY%`9oO*B*;?GE=%o%kLdYm}S); z?5LF=hv1PXJR`>)dE9+hCw*4TN^<;Fs-mWXp&0cMo8dMcwB`*~`ehq^4hqKZ^DfoH z$2J+D@(-2kt+9-IWgV-}k8$^#o?*|r+C!OAOj{bhb$c%LA85ne_X+?6ok6p5`HGgT zbi6!~EQ_?`<+dvg)+W6Kz&PC8C^;B>&egGjGLkKxuW7^T+jAFE$(Bgi{82 zKDU(uANwAg!oSL|w)-;)QjIv;F2;hb6HM*90v_MQQJCR&SJ2tuFAQ;@hB~@`9w9Pg z?IY-Wy$-t_WbIR`75?F}zXn$rb%ip`&#wd>Zy*Tpz7`vTk9pXs1|Ck3U#HJVAPH`Y{)iN^GF2%kfG*k< ze^u(H*!i~c`%~{;q_ekX#)?Dg34MS78m~9tYE1|n!CC{M$HUS zhKG;ZvC7Npaih0hQH63Q+!SV`C`6-t>##}!;xJ8ee%cXbct>l{9sW7UCd*4>oXUX| zL8Ck}PSlCAFzPWbc60GEPQ+@NSMcOr;BDf9KO;<$#YZWDphr73u*V*j!}H+)^29%g z+PTa(y!$uH+rdUp5J-QWY*BK0h@AwGDhQ;rV80>5-E7-a-WA`TNGWk7&RMlHw)t4; zUfZw2?4)Kx5(6*UIVJEK!rVAOvParuv!b*Dua?N6qi;j>v4{n;%KD0mgs9r1h);!? zwFo2Tp{j()7GWcr5=-T@oCra+G{s(o8x0}tBaqo@>N}&yVsNl79AftYR`*K>uE}NB zDF=ypo@LX61+M7J00$P*Jg-bR5m9tW8-4iu5^tES|C?@ioqMK^uK%5tLBA-0I zi`DP0@cYSR#{Tu(+bk4Q9*vA%uZ#l2^UM^(^6}JPp zau&nNz6MSo0dua)Gcu^#5q%{t#+r#!(dgz&8M8~_U0WXPkU$_t@rmnJ$GUQvsUok3 zu%61*nowJFHIGV;G*7_I6oM6j^pN-*UpogC5mhLs7m^%g!{oJl;2yZw#n*M(k3SgvRY012)%tBAku&yT*l#A4><+5PxEOAz<=bQ2g61~ppR{7vk z89+hy;IRMa<+kfnO|u~}zr$REUG?gq@k%Xc%M(DwsPa;P2g-4O8>lUQ?(!w^ZBQN- ze0kzKGjSIFC1TAhe6i%BY_G%5&k%jmco>!8%awKd<>uf-VS?7lp*<2GA*+cwTIx|X zSjbMI7pVwL6{wq2VamA5*1#pBPGbI6a{UNJagZu}aGjXIcuzR4vikRh&nqbQBf{Ry z+z}dn`X!~Ua79sNz@<8(O5jnlG~^~P#G)4VoljsA~pgrHQ z*d_(NsaJpJ>lLaeqW8Ak+G8E_I2Gs z=rzM{W!;z0bYvnI`NAZ=A1d3@l%E;n*jY`|WWne7UF{;XsYM3(vUCF3T_qcFuRi?B z-LP=QfUA7dSdmlq5WFE|WrK2(=kJBA$A8{Et+?+*OUVZd=yk_KwArlrRd^;AdZSvfdq%h8~NTJ&?0bM8!&`B4AN1gkbR3cwmM;}o(Z6)|8jLz@+CAxLU(0qp}| zK-g&&A?{Vu=W}~%Y#eXWSt2w(uJWZr-;#aWTy#WiMV2SfP8+nlE}yW|>-Rw#j>Nm#4`XOxm0h?Bhovqhb;arh^4{~mArCk(uUpyz>uv4Qqt7q&cQXuiNLj>x zhjxixME&|#S_s9&gcZS$5tlDaKrHiriS`ci*f&42v}*Ph=YL!$M45e*nk;=qd0etM z@wG2|llO4SH&5#Gdh!Vy_kZMDWjyGN88C)iwi}hIm~t3Y>zW8Zwia6XutQ2oN>bCbE8lju` zTxk+98+7o>cu?5T)se5-&zOzPXk!aq8dm3j^Sg%%HCIt!o~>s)4TNA|wND)V6;Mj3 zA^7fAz)J$w0`OEJU*X_GV;X6Fo)RJk;6n8vKt+DZKhC!jyKwj}E}*u+eRPNp>pS^# zUZj#pv{xs=<&RIr#1cMtJ%ZdUfnjmF4g-Y1Q^T)m77JLvj*gd;zo3dN_}3iqT4jBn z#N^B3tf?dEJ0TvCr73b=q(uxQK!_MyfE_V0V4+ZEh{a0|y4#f_7D`z=6^t{V8R#2g z)uH>iH67b`_2R3(c;gJh%4GXKv*4(Qqk|OeA#d_U!Nj?5U`ql!Dhi%}yFnhmeZuDM zqK6BFzk(G~OHg17D=$z)Pqr66FzZIUg>}#%#`zN-j6{2LbL4Ty4?~%5pyu=r=)za{ z=4A_^HQk_a&D&z4x1T8CJKZISylO z!RT;sKPWm}&_K5+_{br(31%g>yH0Jk)MZ+t_EWx@8wx$;cxQzFB}C~O>Em9SFmyJ# z)(^5J7#no=CjF;B<>Mi2Db<^CuXSP4rl}>f&{QriO_Efs=RajwHIhN>2(i=`Pg10B za!6oQTSddf7n<82#Gr?1egFu|Ds<8!)}*=YH`0ltKN$l1e8zXzR15?NQlT-3GX2Vf zQlXpe+fIOrOG7jH@8+te*L??cMgoBI!QD*_OVlRzny)-pc_-G?vYtOT+c!t8z7fsd z7(##pM~`4oiI~cT-y3NwAv7(VOBFkf$X_8&y@-cymn_-ncTM@q&nQmWl1YXih6qf> z5}l7q`kR2kA>w7>VTm?ErVoqbmyiX&`z7^`*V8*P3;JR@A^>bW$aA3r)DStU2VRw0 zwr753Eq$J-{^$xTsd-YNCi9mw)k8v~*+yE161a_-nr}0MF^a#Z;NxV9-8C#51oqZz zS8r#Pn^ja4Sk&0}+aM?I}F3ZA}+fkqSm_48?J5f@9{S5_coSzNb3bsVa2*&=RwBFQe$&6Pl)E z*ep=9urjz+-h$kR0;T62&LiN9esF2Sr1~WjKXjc&=h~DVep|WLQIgfZ zp>B~#v$XOd#1z(RYvhDrt*x`t$jeRzZ<96UpUx=NTp6yM{?e0tSJkYWu`d{A$HhMQ z-3m~eZSq4`F#&I}Oq6NMpe=Y&sjgmp5!!?-Ku z>jpg%s&lz(ow(yW85D>n1T?&R{wJU@c**<$U~1Xp^ItZLP{ zaX^3m9!%wLEK7jtQW#)mU$gm{)o`d2LF)IP=UrR~=sM(A!BoooR6W~JTz8;u4U}-v zpi0PrGBWsLz~W+)V6ck~Mas80O(EquEafiq!S*o>q9c>D1eU%n7|b&q{H-zM~J$qB(gyE|B}r!uoCd!J_XY#wiwpDALVFG^KGHM+Xzp9BbV z*03pSA!H?+h~8DPe75P*SC7yi>_(Q4X{8Ob?#A_G1(-r!+uzeGlm06)= zto5H3?*R?Rx9R@Jvw6p79USjRg?GL>P!=fh4jn(v8GR@Pm=6hgKF9tVe@{T0zRiKQ z?$d~jw6XLVs-ffeAXEL@xe3Q{46$7e`o`nFOyc{4p2M9?l@Ktr3 zBbdu~VzCzUtBYSCSX($vo%n5C=IoJz`yNQy)j_d4-Cw1B$3HD-tYXKly3j!r1e&Ok zUV65i8XM9{-`exZ%&sUIQ&)(8%%)KNFqa`TjLDNk8Mj{lnExjELC=6#0p(r-Zm5-W zd<0F+de}~|5o2h28v65kOCZ<>GG0?QR2(7UcwxOJo^Ass92SAp{{^#yb9wS%@v(CqBkH%JM-LFR_l=PdqDtt|ZYR_|ja3+_^qa{(POV@!az0G^KR@9&K=BT%R3!8$-AJ_I zYn_nTu^0w`KdDU()fkbkH_KOcxv)J$lxUD{gMEYjH;L;kl;){;FW-82YznMz|Ewbm ztpB|T`Py5qkSXO6YQG7CDpWMfF{vG!GzV#-3L>BpY!BJ}z3`cGWTV3S&#_%28r9Wk_P=a2t-M?qvBtg5SUw4F z3y}u%99Ef0_TUN{WKdP5fp))ZS~2URIrg4WG(sltGu`gt>x;PSD@FTb>zXSet(vL9 zsv_*LapNPx{hO|wch|>fFQrHe3jd&p^L0%&fam2;D+T(N+Up!jFSQ5ghL2%%n|_8b zFCUx18)rQxY9G7{aZ*|Q&!TXe8QvvOt$kZd}2CDl~- zxyEg_S$x;2cYqw*y?G-)Z>hZZ{Yqp7%9L0BQiMRxJLq>!;D9Lkpy7B>V{~7#=v%v- zT0Gl!#D%d2>Z71!t`82O?*V7J-CTTDsXV>*@$CH=4$u5Z=JA89raoLzp?xb0#!+?& z*3`8@{@V=`ZP1|RMq4XXpuE?aq2!(y$-CVLsZ1WnlTUXx)qsgi9Ea<<3P%KSkft|r zst@{O0DVDyH|G!%07)^dX1uIO3t(bq&X@`f{K zOMb?PCR_uDtU}fvwMkRh9G?y|&Uq^T;sw@RpH>dn90^H?YivXFO|ON0FG@o^o+?SU zu=;HVloV|rFn=7^hN!+r`_se=C(RcnT-grb75&V}!Tq zO}l88^p5z)__?ZW03ZZt_F#-W;-dV;Tvy^;-#82*X;!j)tvUvum)kedYbgz^zlzHI z_%x!t<@Q||o2<&+O!N{bOGLb<05<(FM&P3D=UZFvYWt;C6}d{e=!Zaj2jR=OW91%R zeXq($H#u!$s|Rdp7x+yds}juN5pHKyJBGuxdkar&acQAO^@wK=3iX-LBfQPFrJGyM z(cFIf!s+j~?Q)G1*SG6q+b?}XAUgZ7-);BG3#fjg9}Zf1CC|!TuV>&9t}jsX<~v1^ zX=_E@NTmzs1dHH@1TL(DhcZO<8_pXl9*vl%MBIZbyn^df4l zCLCQlV28$f9OEea3ArJ=*XJ=V`Y>Tqa0vDbU6SECB_+iseM#5ap^v3 z*%s_$Z$V;tsN=kY9gx1)r*e0TyI(nE|4Hv9s@P9x?3x!*nK-}LJ`x6BtU z6~oMH(by6DSX5f08lzilDVl=UfkHD1^}D%Tna;4<7CxqIF~5g$@{mk*2RYdT|60V; zwYMgAJduSiID2N;#l;FZAJEjw0ImVhr^JMOg8f+#Fl&OtCu$%=#j)xS^k3UkiGZ@h zx`~$`p#kTWR_?1G-XbJINL>Rgi*6hWP6 zJijfGpY!FQXVuCxlf#AZo7fE!$E%)M#mDtUHtt7b0Lxzr-p0B3DYI~XS4wn;qHYp-F(Pi8S%fiAYdGaw<_ux+*P-3_``qA2Lkr_Zm( z&9{cu$D~>orm58UfD%nulWv_;4oRYyq^AoE#>`HP9A9fw(9HB$pJ1dJJ~0ibh2;hg zD-lm#+u1{hdv;-mGzE;Em;BkVfxQ%&kx{T66>;?1+XaegKnE$P^4qxg^0FOJtA2Bc zXY>qo{EDN%VpQ~7sp$?|phrHnh87m}?71TNXu$-4U4bK>v@Ln)-GNEaMC8mO)yFh! zqyBrY^#8PHk|cZMAW&u;AJW4{Cr`)iXXJkZ4JHYcQD0W`5`nVan`sT?u6x!e8sN+v zexD6JZ(rny!RId~rj9BUWH2TiW{NYm9E(jT3uYdU6pn7bk@=Yq;%2r`5^8&O zy`Mk0OC9sLND{R-%6W+rzw8!lxqqITpgibl{+wyVNGi@r*dsA5R{8n6L98&b=uEL{t&ztsD*T+hv-Mle z#NLlM`hCl1BoI()Dos9=-pDv)?!`}&2+48}w%H|j=jJ(nj)RiZl1!@!#?0(g88<*M zZ=XBi7kaZPaNxMbuY_qEktknA7G5d^vrq-54DJ?vu_qOCDQVRh>ZY4%jDeibHrQFF z6OE!ca;gM7=|En3!GeHNgVrr4<>I&Y92XB4)Z&KE9QF%p*UKEP-m>b#P|zshO*TLj zF2(i??d-WPC^KYJY4S_fn*|x`U3F?kKb)uqYBLA)J zVPHM&)9HfH;;<`X1(QJ(S8B>@XjnUfyij zTC5E0hDLd;WVLc(&fB(GreSgucL&icG^9VnoUiR$FO&^OYA%!qT+d;;p;*xNf1Cs; z{Y$oLQE`GEq!NbWs_Hc0P)5=nk~=douEXHyOw z+n`LFj90vtSyzkE8zDxNc>rJX7vLCFx^Tv4VXiUT3iiJ44sNshK4t}hl}LX9Wc*UT zvs$^r>>=GD8VU-Eu9obfmOxmS0gfaU9j1~jc+H8$DPG{34y`T3LMy=vUI#Je=G%VGC~-=eJ(!>B|KaH@ zqoV%4a6i=04bmm8lyr9v-3Uks(%s!DDJea4cXuhENOunmN|&VM{r>)U-TRIgvseqx zoOAYmp3i;`I2vEGwN*ZXo?tshR;5In^}mTB(NMC2=5S6ayi0g`>_l%M)s(4?%ZJ#@ zzdb>U!_JWIizau_lGryku><3F(x%N)elv~biIUT{zWp>Uze=yCAp!E)6{3H^3OB<} z1$Cz2y-Kg$rKFC^{+vyIU3rY@OjhAQCP*)p)jm-bQwLhqAgfV06`9D)cg?%7xtIV_ z0~1W?dBpeV+jbd3Mj`M&t9;41<%PE61Idfjmkc$qG{@8&IobFL>UX4}3&NFk<0=Q8s=KG8f#vT*R0aj zis&BD53&)y-lA^xVz2LfFcL)bPz;qiJj;U0(vL68&k5_gZs&8!zOc& zh$^wD#qT@f=TDA>S>%0@tv)wl~uWY8Y=U@JUDbI~J*)QnaF1#s)m?1MyW^ z?L)6IkLsv=td@7bC0khJ-W`8!#(EknM03R%iMsB_=2na+-@kID63CkFFEGBv(pnT9 zW*d!TI86Ra8T@>7v}`~lF?iwqQc|opH)6$B*`}l3qe3m@m7^Oar-iO+D;?vPiJ;0= zRHHKSYv831Ede{>Ggyg9XKVjEikZLm$Gw!e<1bOtvBe7?ZL+Y+P`(0U5Vvgcn@c)7 zP-BHGH>>L<^RmoeE~C-YOL|I62+U!c&q;@9P9lH)@_#~nMq?A@cP&3R9*Hp8pjF^( zCffzP!e=S`$RgQhvRommKOU>TqW^O{+dxdNJ_ZrC@Bi;;xhHajal{eClaL^h9wu0f znxR#-54h-$v!Y~E@vrJ%;$qZ5)*j-CH!#wh6->Dp81N}5e;n!&AgoHlFd z8sXJ~1AnN*Q$?Y{thGw@%|tK`GlA>blLJy_n}xxLcdLAU0I_VhF!CHnka+p~UHHkf zwq35TX1k&Vr)~&_W)vJaAuyuiCSA6MVJGv5txg%tk~uCLglA&gN9ASiGuY9PcTOto zFw}At%#I@7#sOsEy1ppa;-{}$%3LfB&%rmF$K#Gi#+N}iBLj_A3$*F-QyJFZ6XCLn z@Z8*mK#s|Fz5Aig{l|h0k|*rE7WbW9%cj@wwJITux{aS@RCCeIaJRmL6_b%ALoCyG zBc=>nWr6e)yy54Q+rR>Ef^(H3E=AS9MiGN$j#N_DhB}O>9#BV&1vjpV@xW<@QrYrW z)X6X&vim~qKqT)t3+MWBhS4b00*WJo@i>CZ%QqXrd$xqPG}K-A2ZEr3HMjRDTr0cz z{R^_e8-7(HLPYvm@dGCUC~iWsWyQ~D^~!bOKEk|fgKw!W4&Rfl$#B|{^%P*i7ef7i zpYtshsO|_MRud3XTof1CRy5&bNK$lrAKvyx@0t{bZdjK(P1J@>?dv%_FZFkHC)(%0 z{~7$^om1Hg?$v2H(C?nmsA>UDkg%sP$#X1ET>kzJf0QNu)U9~2{axuBv$X0x%F(bB z7s14+j|a&9k#M^6$KzCNU#RS1Zu40Q(yd@Xc zBT8L70SPMIM)zrh4=0DARm7(|%#Mf?Lo_-Kqz4X7ZGN^dPvdJD(a8X%k&}d?XI;8+IK4Q5c>iMnQntM7*)sx;vTJc(EI(F6 ziKOl7gkH?v?#Ysw@L?%&R4Gbmp0(=w%PE)Z$d~?&gqMf=!DWD0x9ej$J?~x4nLdf_ z<~r<(^tGB9uhLtS@B9eN65&tXzWq>-oPZAHTi1A0za3!NPc-d3A20{Saaqb5E>0vc;LF4aU^A^`Er)khBh=2H!oR( z!chhFpk9@<^A)`vD4A@vyLtI8Y2D9+l2WfYJbw1E|8E4f$EH47yl+vURWsSUs(q+m{%g;MxS_#AFr?KJ3_Vep1yIj}@j zbi$M+54d?9ub!s8RNeU(o9`}gmtG2~Gz-oOV6cYIe$5GhrdC}Vv}U|0E8dJp#6& znyBXfJrm1^m{#XWqh6hh^P@4}FzYmnI_BVnnl2oCA3Q>Rm8--?Xp14O@Xvo23Yq7y zZMtmsx7&>b9w#xuYm@@_=qxs!UY+E_~*|ud_A!n=( z&-8Zn8l%Ib(Jbkyat0u0J?|DYI_P`^p4))rAPq4e)R6TnsKUt9QnHk)(TRZ-B4t~P zVK|br(HclA6Ej0)T(NI?HIX~Z=qxth5fAeyL~ zLU{JcR7*DogBl(O$cTSC@a0Ql{PE`;oI2eEkpPhZr-g3w$_ojz))GBo6XS1?c3=&$ zTTj~}culin(X1a3OWmC!e3xrjRFpths5I|8+}`7Q^lq%QUQ7h@>)iXd{}C4NIk?BR zS;Z)E=p=lVv4+F6G4Y7EGk@}w{kVyYMgI2+tFygJVzj*ttFSUbMy1`;iar z!O~0N8Xx+j>VteQR^IST05=3@u~oxAg36g)pQeq0r)b7@=AHepdwr+6kG?-#{M9u{ zg(K^#V+x0nDHWdHF#!$u#Z?wIiu_QmHabNvj>rpSh0Sl}n5V?*Aj#1#VY| zfFYN#M>Of&s1TPb5ub$$WccC3oBbPb>-xq>;zKWLzkfe|SQ&eFxCN3)ur{B;j?=v< zRc%u6RaV!F1v_Y<@*WU23=jVlEf$HFaQYJI05Y3ytxlc| zt*gh)+I7)Hz*|>&yqr>#iV3eh!GQcGH*{nMVGR{6{FrkMC$@IkDDbK?jAipmN{Y+C zOIQ|TE=S3S4_keG#9KXk#WpAjO^SDe44QdEU!VEjA$68g}aoz1M*FV3@ z@?%CLKcG-Bmt(bd4Gax&XOJ*%_MTu}%LcBr1`oKpuxQl2Mb0b$OY1wjGv6ia`X*Xqsv z+ePO|I2@+4c_C!!KQTbrR?;yIEry(kLTD9PPP{6m)@|#9H$eiu>9e1_VMU>{l$!xh zq{&2EVtVpYT5f2r7}8qFMHuLtw|PRG*b6mP74_sXp2Z%Lw}EXGbUL+!VGs4(dNCEP z{_kL{+Z_i37-_)FtB}oVHpK@`LW0fbrPhhlhmH#5uusXS0WdRPCCMc+K@vc;-t(st zU8$5pLtw3T`dkND@Q1e&ne?U)-^_uj9T(_6HDmTGtvfyW9VIY=ka1}Wq@Ol5A1pi6 z?&ajfN{L)@PYm9pHDz3j0A}DD)_j>5A^g8=Yqa&9uAKphnim_cFeO}k3ahO#_Ki`XBhIH2cipn!9CPEd}6-gi_!b#L* zD=6G(>$bL;_P)QaH=*h@QBPoshAWB&E)K$(H@Wqpxx>9~peUyiTuL+(1QKGKRpJuu zdfN2a^P3#X&fIeZ-W+6w(L6dyV?!cwZHZ6&nGmJ+R*dOJrKS0Lodc+g zS$Hz+=y0`aVCuB*5r5Gw5_Zv+AUz01>$}~u2EHSQOIZA-$v=rhPd*ST(69QVxgLwB znALzJC6}B%ObdAB_D`*GW?5+qQuhrgb1{!e3|aKw2(nNEzgFsRW`VQxoRULxvA&bZ z&}vnz4n*NiDL4Sgp?OcKFiP1yrG5Uo&cv=dTUGx>AEzcfoTx~0H9;6MHcjRujkWLh zDh*7b^e;Hn+qvL%CgI)0QZOoA=EnRlBGGVk2+xNGoyxYS&zP^O7Ef1V47=ly)T2+N ze(IqiM=KPuzQtMgfC**_2pBTx8|xb2e_%oUGjMc zpLA+2_>zvi{rby+-2kJD-07-WXkp)4|C@`{edp9dx>u4IWDk0@#C3X``nN=+vXY4> zoOvOvlv{E$s2FLItj~WvVu`~2d=(z8CXI&nUXrQUB9Jdmgr??(?5t&#A2`Kul=*V= z_%!V+vd{kofHUkPJ+oYK#wjqNe~6-opqarHUM8=BX?4UaN|R+F`)b|xq; zJ06Pj&E;AT&Fsr#N7dEnO8JR2XRdR$?U_Mz#m>BGt2XT~pmgfC2%xHZtITS=G6wK# zQh@C4x&EStO}Q}e-D_!k0qfH`g5JCdh?^`?-#KsFIXDyQfg+uoZ)6EsSalpFcgYv< z5k4mKP?bX_T??1xY}#;)1J%0*aFaklw6RR`I}6b(PMnYzWR-btvbQ6vOWAGU4@RhT zwgxv_#`=F?2(3%NZBdgmD<)jzQ>Qt_fkK)*8wGcW%zl@kMR|T)_6kDL)=d1*WP!%@ z$A-!{N)eT!ZM0hM_fQQ9mnbfbGUu5sM5rW&+3fpH^(i z0Ra=nxt*0J{*<&NiD!a(4AxpzZ zgh<^x)HvgcHU%M3W`OegZihD^XU9gt0J4h59j-1RK9pepbRvy`IskW!a*GU|6;c#( zk{Frkx|AZz)YCFBCZ%Rb|M{x#pE`KlJ+zV6Z(^!k z1nojO<_+cE!L-+1I`;!A7D2J|Ir5-WvJ?iSn_=ELtRzD)wkHGRYIzS^-EyC*e;zq? zm0gedds&At@8ZZCTKAjQ7|zaVsHQl=7X<0_j3D!-xSwNN_?s$6q&x3!D-0te*l0g? zMk+|E<~ql!vA_hW6RUP3jQUb`B~s7Js;eL)u+V`P6cmI`)Toeqw^U-l5fw5q%^J;o ztysgVTLRsLSa7wTjxEHtCo`B3cD_lDs-wT}0Vvm_omfMfARq zU^ZHF7H%f;UR`72?x|!%_cg!RlHNk}F;T(G9iMT3RiVpRW3Tq$^B|eW)6T5uSJS4sWRRUQQ1GblH-o2g~|1K6HF~g zyVEcG0P$5Zo>)@ri{lPIA@ zyZsg~I-j|~0y_%^MpTO_BqmyUrK7O&uxUXq@+T2R+wE(8qYh8{-;1wlkft}t$9(z= zQK7EpsaK!67-}e}WNtveY*z`K`dg#ybE;Z~Rs57GWbzWf(LCz_lK?nqbYH9#e|Wwd zC_1GOvt7MkUMpNBkQ?t$@(3gZh02G|r7h_Ri9dCOkFN2pcbmE%MavZw8oM!W)R#Oc zjGbHakWpo|B&rz7aAbb(ZYTMoRIv5!AF!^?w%{DX3In_C=V5KiSJfJS_<(|C2xZ=q z_5I>`jXmclUKGe4Y-LG#1*m9kJm@q{d15bS&*Xndd`%_X@Ys1vE()+bU0+JgnN0?G zgfLS08PPnqm2$%xpT5e!{xQI#l8R^>aDH`*r(`ny}G4lPKtjsSJ-ABp-YoRUUxVV+QFCo#!>WrTA-+4 zLKJvTb}81wRq8(8Jw*40h#BU$u`S;2~!pmnaTCdgyr?w(}O__J)SgO z=^+)nEJXw;D;^kH{8Uq4OPj-&d<|kNF5a-R@g|*|B>ky?*gdu2N@V$ssH7lZaU>l( z_G4#cbP~q$Tgvd{^ckA?i@+!oVpY7b(_2K)-26L<%#ocTN{(7K?7)8DR6Gc{R!7O1 z$dGMj)pSOqe1&p@D_G}5?gQ6Fvag1pMSZM{^~Zg~l5uZ6KSd!PZpM>8@7=3-nZ;$J zswKc%>G05PaQ3h}iGibBUO1w#JuOsGf_Lc5hga`hRBkI}o%XTxBoX=h^O@7buTOpt z3vsm8Qi|ek{jP>PU%B|13^4hzY>X)@lqenX$v4nUt;1H=S-!{mMNt)eL&1)A z?Edm_Lj-ld>k?x1@oVU8%pc|qDqGKwD<${xN^;e6EIcLeXZvM3^wW*JV4W;}hb8?d z`{P#si7Hp5oRE-xcr&-d+m4edkHTi>iN4WnTya$a&n zX9JjVwA=o zS@^(a2mG@cRLkjdb|ZhLA!Fju=j?{t?LFZ^OQO}BRO9-{jdp82Ussd}%_;n^JoSpo zRqFuHWo7)fz?UD2J^pJWe~Un9NP7e#-KwIiRh_8`2L@l%cm@Mchi`8hdeTPLjlrz$ z;50ydd3}wGl9Nb3?5Flv{>PGI73H=kkz08&<2Z)j@3_g3^!fQO;OhR<4S=hj z6zmtJ=YMBKOe2i?J6hufsudorQK^zB+^Fg(`T^NT{tb7L2wG0R=UkgVesx2a&`Xf^ ziSDZbUwmnz?lb5rqQ{d~(f$*(?28v03W^1>;txrs&4gX||Aa^s(-PZ&NI5Y$b!HWf z!#me(XZ7NGu^$7?G>8(<6$#%_igVQ7S63U3{OjDeFLzYt%_e7y+YS!i2$Nre#YlLX z;#U6-fa?*aaizWCqofj;al)lRokN-`SxUU)sxtlpr!pPpD~3ei1^k;+HD1w3RoHrd zBHG&ALL!(C8J%%aW;+a0r`pf{Qo8NzyI>#6hs}lZ>JQ3a-&o^UW1qs44)z|(mwo*r z_8t^^*|C)@{*|(-{tY{F_R?gN6Jb#s zPMEz|TV;+=n+u=0W1W<~icKJ-C zQb=o_W?PhL8BhS?Ay?#P`|sOim0m-whlwn z?x^<)DUJxGtdmp1Dq!qfd*2*gx1BGyrN*zo?=c4U=wykz#EttYyAq1fNAeRJRy>a4h&NJ*}Nw2w5|z_R!E_4m?JVGj1A zWDo`ls*wnJgy50Ab`j`9JWAe5O(IP|!=mR5N4gPpY($6)_YQhGYd>ljp}F&ia{475^IzY%p@%?v}%?b zz`dmdF>W8!*;iAVVqMh*G!fVt+Fue&|)#yr2#vjJ`eSdI% zufTP;Nh5q-cy!KMRWyLtuPh%AM0fK35loUQwRdi-sAwpZ=7riadlD(sGnJ-nC)i=k z;vqlyM{-`ZNQhU8;Zv)K_iJDVS`EnjbKON%yM7Vn4dnCse8PZ%q{&L=U{4c=-1Sn}D8&T;JQ2 z*s6;JR3jdS3gvL)&us&Iwf#K_GY6SaiqsN1?91a!BL zL@}<6_%Bx&HctFmOAa=(h*MHxaXWCb^nLKppL9_GJi8oP6qr-tkvl34pNKYM_UST` z>Ai^Zr&rHY?zKo3?;LhHijv$;-uc&;P+Uy8ns+X>!0b)wP*aU*^E(FWBKSy_Ugfnf zj5e|)x2Ww$KKkcL&Y?Vcl$IBXTo?^I=~?OBhQ+}oD&H~5O{2cxVC%$qhbwy$v-(?> zj1;+n&0ue01%+3M>dv9bG)9SoP{j$vcsfhMegn! zf6^w5R?J+^$D8x@b^M==>;sQ2e=y@WGSW47DV=YVv+pL75DPN@Rv3{N&7>E4-VDrX za*WL)?2Y2N88W#)KP4m5`L^%bb+9x_@r4xx_(ff}{wV5&R~Z-joZIyHLDZ$5Bv~8j zN)Cj*on;{QY{jp6%yNPD19i-bw?qZItdj1NR*BYOqocdQDfFGGI(IMv>25L^1OY59*G5-cFD8wQ`)y|j-a z5G`Sw_Mx>Pm2AUm@OOe-nuLIQ)9`cFQk0Q=6nP=l%MXg0C~$>XKgl<$_@W3db;f*r zj>K@2?yUU}M?*!qdiHmBMIPuh!5(4bM|Ll1ZyX)YbTrwP3XjfY9X+>RR0zM0BVAq& zlzs|}^i@GF%mrHzTL#9Twy(5a}SNPpX~13ZZ+n4j7tBM6ndc z{m9WUW>{Z_&^D9EMUls|{e+na-Y|5`N=Nm#v3Q*KmhZb-ZVXiN{9_vyeI|hc^stG+ zMc(`fjis+0u!F5&%uA-lrN4K(YCYn0kuslanW@s=cv%WJltWu!|5c{n4@)Cd`}4)C zw~w~YqDi;0$ZO-*oV8f%dOI9nO3#{9@Wi!`GTksm!|@iDZ9}F04orp*2|@+b*h?KH zAdh5bKK}Bx{*;$=%nHye9+|{K6={2Jq}h7TTv7W}G@xY>CLvrR3D&9Poe7 zN-X~!I|2{0hhc|7;aFvUVCjq15?R}9*a}}*GQWehJ!}Dn0Am3zU4JM8>aY*{Oq(EE zz|QV#Z3hItF~`N{=J-}y+5Cp!(u^At;&pMr24-J1yw1K5GVuT|E z^^l(NZ4-ezON7S3%$GI1)^R~VE5^nw0W-fh8#2x}b`f8a@tT=9qC(oN#e$uV>DWs` zCE$8|`^d0yekk~{Fh;&PZ%l{>L)zJx-hhU)xk-H?JKW32>}6mil?sEk(_i)DX=@1z ztH`Ovc*1d(lkiLWz(W;{JWHPb3X@h?+-LuFC9LrB)ugVz6%>_fXCYrn3^X#)SR(Z~ z<&|HShCmssx_b$3B17t|!5J3pk3A6dYbu5x)I~K{WxD{nL*bE_g@{DQXr3s}-$RN| zk}SVnxBSCK)PcVVcgtw-uNHY6=EaEBZ;U~>BW5HLbHlS=8h9>@LN&}T0agRq7DP@& z;*uW_91t21Lf8wz+br-?T>?QESx{I|c(JE>(N(qU54s}ED}Lk^JnrWn^#I=p|C-EK z{OQHCa-%zd{7KdBb;QPB^6x=)Bq=It3#wxXJCB@idLa<0{Ixa{^-K;T&dS!=d#{cj zPxAX}e66o!jhG~nY7hU>HZW~cW{y+U!Q>0Fw7x!@ac_#WFt+9F&kL?Rt?-&eIl2gI zwwZ6mwcHW=QY8{qLKPn?L;Z0R?+p)q4hQ!LN{$Cy^Ap5=>@4v@dB!|7dd-HtcGS)8 z5YjF&It1MZqj7twOIcu79{8+n@p(gSUUa4RV#TjFe-!6laKO_z5>;ewl;`+io%@IP z*E6;$O-O4iH~|L=1?#fnncs_Rao#A5!-}v%I?UD%v+^QYIDGE4jVssm4NAi?wl0+e z3(R-w17C3C+=TNszb&hadp7ufx-$UckRGRAS^;{=tKC1v9YS@a&mS@sENZg*>ym1D ztzA{B|dxPP)zdgd9@x<=qot28`CAwUaHo#SJKgY_OAi1<) zF%0EW{k-PPPM6d9RV%-vYLOw|0ZBbyctg=~*%@z-I)CD@j@|OB0#i_i>tnaZ4g^FU%akQZPCAY%K{N`{I}+X zFMYn%@AtI6Bm__z`n^OAm6Rwyl8b5Slx5CNN{bVXiVNj_`6cy9sjf0lajv<}J?>s% z?wRuMUmb~RIXUi8&xaUckLk?YIbr|}s2LhIH%m&>=fO>f2m`z@nWag|1N7(deq#lG z3bADLLpV7DWN*;-6U(*hy5dR)j0__u(D`ps{zX#Yhi)uYBTUsfDwKjo=q07LL+xbZ z)F6R&#AIA|1T&bKL>xO1C;Ns8-N2kM!H;ST;5{K-1r1CT^^yX*Q zgyQ2PChE$s^XLB-CF$jws8%m{WRL;&uli+CL?0uXXzG?tCy`R4DJ;P=G3o4zsZp3J zQQ~D{;3AgnK!mH)Z%y{2@FqlYxv=sEL|0jdPEL|uc!XD4{iOgk#Nmd0J?N6OOsVU< z}GWL$1=E z;7=V<-V_;XO$kGuWd6R`2&52fnKwkL8}DPisG6<^m}~i9*qbuQaxUo0QK3f&BJC+? zBTxAp+`AU#QoHSToCBXAouvS)XWoJ2)DEvu0K3J3EfI6kxPH;9J_h#qr`{Zk;Cuemp#&U z9ily0Rvs6k_G95bqDFEllg=l^zqkf|lQS?uVf$-}vETgr2^^z`bU!Wh%NEdZX@6ab zCO#6mpE~LoIIuNjZOcW-C|z~BdYvIQa0PWg_XXYkEnkA#1NMpni>}VRbs&56_>mAB zM+uiexnz||yNh0{i^sY=fTXXq%-E=HN(d&7#QLRtJuT%#6otzR<*E7PSU{)%DITAn zF4?jG|6`b}N&_01gxG4m(oZ2#ZB9P;WeFGy zrAuxu_xvG29OhdCLn5EEwr~|m9e=}YJqRlv&l*D^Q9xpqEi#tO>(mUNv%Gz!*ev6w{qHt*4gV~oE$l^5#>)aVlwv~C_Pn*Wo_+z6 z*){R!QXn3M<70ht5AN@Wv$`VV1E`LZ2j(Uxmgqx=X2_+5@!I^kLp`@8^y1G^Ch!xO z&Iu9Z;7#SUCiX7pm;u?7cCuRGSLTZ(#`oC`Ug?>;W?*;RW1A~i5) z$`BoRhMnZ*Hwr)Zy!9sq;U3@PEAU&%KL;|6ea8r&9H#|zE~S!Z$c=I>iR=U zS08#1nl5b>^%4DmuDb+{*h*K^uX9e*c;{!mH<%754Pzb)mo8!(oV<;f@$q?D|4K)})MffmRXwRMQvWwvrX!R!fDQHWe*wzsL+`f13n)G%=x2yy7{dCnk2yYu7z+0sgHj9r@`% z6~+hC5L-6bh$m7~8_q@=FH&wM(`JMc?DSLQq!|pE$V08YYz}FnaPPY~2z_{+lA8iO z)fTkUGVs`wkp2m&GnbqCrzHbc!IX6K4?t;z4;BN7`o-pR^${@iJJ?*erR{!!%@;*K zRrI4DLVw*YWJO9_Xnj^|9aHg|u<7hJBv{v=9{6ciQU{2e0eSF0*H{?QSb1tV(l!l_ z172tjs13C|%WbP9WlCmcugu9qY!$yUnUNyqWa_f-!W}6dBB=%66c@}qKp?1Ei-QK{ zJ0qt*w4D?bXaM&;@Krf-{?CZIKhi{JLv2=f%o@?ffFXNtpf~W(Z1=wS_RIbzCYsXl zwDXk-hDiKV16c+hTwDSp28pDAl)s#DN7@=MUQ6-)_o?7}3^oy@xwMVTA+Ck~5aA@s zmw%RTGiRT|U;QLz))U*^m|`>DB&D%KfCk8(pI_hu5q}8rULjQKB$(NDJ>@~Tto9vU zogth-P2!79`DXCw-qg_^*zP!n@0L+02k7wcb?1|ndVQQzmL`BEaQvkL? zDFmbaxMN#_&l_LyZ&j<)A=6q82G${r+`RT5dfHFTF?c`e?bsypYV@)fOfC9ms42|3 zOdDm&3Bj)k80@w3&IryXM?Ie;6ckHn{_s<9Oj~l!F57#pOeLd=2%G~NSPsNX2{U(6 z!)ousvE(6OO?{o2ZeZlu&_Ubq)Dnw|t3K$<4X-&UU%k0$w3WZ6xUv^LXW+$E{B6u8 zhbp}Yyj^qQO->@XU=1h3P`az5PmwtvJfq0?xQsOPEZhd8_G}Bp?dm(|vtBlHG)C8q zhKuH}{w*WCKBkeZw%`6SKcKDZbmiB2A4(XK)5?XaNEKEY+h2js$a*5%>l%HF@1DuC zei}0?XS2G~VC0fJR#v^+uyTf2$0UKOZOy3Tyb=G0O z6REf(NgJz7{8_Eao`1KlL_L>GKaerdhA>LULTSgM|G4Laol7#hZ!Q9v3s;52p5ad0 z)Ng9et*7a(hM3zZX0aM~d!bX<&&BeJZ%GUeniF4Jq1I*q>>nbU6oCC1%a0C)#nJ=_ zK2@9pYsZ^4xj|czxk}#tr3vQ+G~Vr7k<~PFvm&+lXmZ9k85dfstyO7~q%w#6S18t@ z3_NVJy$#) zOSmAK|FceQQEjX}>3fn8)UZ76>rNE)fQuTt`S0{#OxocU!Koi+c+P-G%FoOq<@5>B z@^5Q6*f~59LE(-PDq#BAsNwuu2}bqxU!UW`Co727#Fvl#>Ci;|35s4}WNfB9JTtT3 z3M+Bt{rZwmX-yFVDiy*@aeV+U6&e~EBhtB_^3Mk(PjK?%rW4Yrx|dX5LD*w-2_m=ewWHWV0w>b2l9Bpv_UhmL zPmhD1lIfr_#HP!?wLH834xTJG!}m7wS!!%1NvG#<$WLPV;9-<)yI;EQWs1#LBrKsi zl{9qZ`g56DFc{2wV(`>IJYQ`-k7!TImmqnBq{uzf>H)xCubkEekuk$cCbmz@_DD<5}T96@^Z_+375N<6=1)_^U5sC(jV*5Z-TS6#@ zn>qvxXX9mu!W|S4Eu3K~-bZoZb#*y_JDWri4xI_vQ!ngc*+96VZV^;M{@|;jrR$&M6vEQ~!mL zw*uNeP1- z7LBc9HJcIuIxO9;x|%XPo??ttpTwn=<>7iQdq5CDitVil6Z(n>5VK~M$2wZ9BIryq zJst;Z2x~VV_RIaAe2|LrpXCTW0IlQ<)0wB}W>7t-CDcgZPh-2O!uC1o1e09##I%Eu z3ngcfo{YxZ<{y0TF{)41+yT{<6B^W;QJ|C3wh7N2QI3m2y0%Sn}tp#%=+Hd!CH#< z4idE%_T8IHIk@Nd;sAmAx+M3^i4!L0D&ll_{;yL5jIe3eYl7#J{YNCE<$iW<(!cw@ z&6edSS(&Ayc8Mh|9xULhuUvfVE-pe%68l-?gkA9fa0Abs`#Tnv_L>ds0G|LS>K;k{ zhf42i`%`Xp#q8C9wp97O3OCx9CUjOumms3j&K`vfcRh%Oad8h+C9LW_} z(K~1g_O&97<3!Z8%_X-&E#wvP4nah^i$rh8<@B`?{nnnKNT3t&%o(0& z_#wMzV6D+Z6%(Y=zQ$4}CJGaErhUn0fNWm)6R9u)!dehfCj*28YHOm?@X~(6O?zLE z*-+!$wZsD<+1OhUYHG~?4!Em)9)XGUz*^X}uG;W2;@~6!(q=w^4^uZYZrJY%-b;pa z#TYNO){McFzb(#zn&5{cM5)+*jyDkB!%RU!bibg>QPMgUZV?*&JY&h zfpN~ei(s;Rdk$^JB-w-(eBC2QxNeJsi_d1YOG3j%klUJ3Cd0tH;W*?bB|PN9(XS~0 zaE2)G%OuoLQ~3NPF5W}9K{(0fwmGN6)lqOmMNSB_(GXoTJ37mc@5(cM)(HJLdT%K* zq`ac@pzUH3eyPZ)?KJilY8cRlcb(qHL(7Y(YyfV?YCedY_k{APRIJAsNjQUYa%tk=kz6@XRtSWW_X1f&kMEih& zE!6r`Jvebzu0%_pE&_ezR0?C8d{^$Iesixll*g|CRmR$*Wlo#(uoHIL4)bry7Hxj_ z^(Q6>sK&VU=4Va^6c^UC%bfKauY%dBjh!rJi!6LZTJBX=UY4O3M$Xw z`~4?IOKxE-nH)pED!it%Buwt2orRMq{ zb8B%p^g1U}CN?@LPLM7CCiF{{oJx1_+}W__(;*7N@Pud}%cw)i%&;aX`TlBhs=RagO zPCt1<1L)xXYu(&tM=oqpsp5v4NZI1NUr1?0_Y5_dgaiEwzb1;jF$o}+d z&rih*dwE{i)olL%9_eV~pgW#hyBDwM2BToL-D#VuwU+;UukD`z;s5p}uOW$HGrDa1 zE6s3_uKjM-4k#oIdx=G6;xI|exV^t4B?W#W;Mj9fMUIvBll}Nqx3OI!VRZ~jROy4C zQ=Lgx_hF%-3uBpobTbI)0kyn>68p?ZdY$M^AmcZoIozHi%zQ0wNnwt(rsur}uyL^! zOo75xc4Jxfl70C`1}`Nl%Onag9~UEtE>LH>Dy8QBn3XK1$CaqR;mZoSTcAZVfHoAI7%H?`if*^ZoAr_pzs)0tSJkv3tM!(XPAVt$U0>PJ0OQ@+aU z%41k%^`ZJD1l}t?q~Y_a+f1{f{SWGqQq0YsKe#5#I5&;s+vQ}JoKu~Do34mz{VAjw zNfK#6mxv?JH<0C8n`{`5&-@!JGBBr2b zJ~;Oft-&lrF+>qysUnD(0%+XYf8oA;!Jie37%5*ZlsJDCTC5Mg9+`Ger-!XQY(}(o z)!i&{l;dyxHeo%?_i*Hi<~%h??5+8)FewYx`ylAxci1`4)PASu$*jB`g}Mg?k|zo_ zsQNn3PL>*ajlORN1zg4jC2T&q!gx}_8JP|MT;3wWPc2%5gyuuW!Mqx?(_aLTav=b{=Gn&GqmLHF|qimG83F)?M+F6Y^pO zb{7i{l1=qP=U~j2tj~!*@mcmDgSsAB$-Jbv^`>I#`@1SKFSOcx$|ObBQE~?uB_1$A z-22xZ5qMkvBWLf)aq>&*gRPV0vroSze}2qEgoUatboG61-_%G|!KJRsuXO#iKfESE zAWA4JB2*oA`3BjUfxGgeD5_Xn*?-H^ur|L!t)Zb4?S~M#0(*nnotL{SMzk21A>4^0 z1P{sT5Qs_i>F)hS%8G()jb|JVbdkM|CUr$_Ez#-{ecUXTYhaRwf1 znzk_<+nf734iNh9B9kOA&d#POYX2V#5L(I9lJt5U|JS$o3@dfs;I7z6^6m#oCY5;EOK}fk_8sY@h zui^sgu5qCi?9bZ$iu5h+@Ow0$`%vvHjFr>2>d^iO>?(cpvZZb3SQ#|kgGM!^cs^Pm z)G#BwAxCBzPn#}}EqmJZ&UZw=DRq(~gK;H~U_ID_B0%(Dt@~WUOc@h0qL!a#>i&J# zWr*4!SqT<*1euyONfCI|7gSGEM#I1GqMKx_YLuv-L`pkZZI;*{Z01Z={6ALgz>GZ) z{>Zqv7m@tMN_Q^aOWMt46J%`-^&mqo6X~=FkE=Q=5ew)W2?gFglX)=HI-kEp*(KRR zUQl((ftmog)9~7!pgOH({h~h4ys!9IJ&F=&3YPuOqIgIhCfBPC!Zu836yQ;q#6=P8{n8+SBbZ>A@?E;a5B+^b#{HOloLyZ zNLeF%*P7kha4stCt~_|s)P$TAisyIM0CNn#elupgVsr!gDe^H(#`u{JYyT@hpUtne z2Fl6-E(>s&Efmm!2|fYN_J+oMX^!aA31rYJJ0f~iUb(8Mj|VbcO37v7Ee}Jex`faD zdvor6N*x`$T%^&>B;GisSr@8r$TsL!e#F`Q>%6PVjYm#o&ck+mg|_Zyk5U5Zd~B`! zD&|k{5=*=uq)B#{MXV16o@u?wu5V*NYn?k7(TTn)rtZ@cnMV% zO;r!Abde~7MtDU?co?cVG}QveXQUSj!pzZ=W1fj1EeVIppti`dTg-O>9O}sV=tX(S zi17=9?}4ls9^Z00SZkkGhq+WS z@`lFqv6cGMxP4^Dz7vLkqWZw(g44JXrb2Pv9LiGbF%XJeV4lz=d*3(28g|pc_0zY~ zxq(X0nF2W{C^B?Ur#KIUTpfNPjO>hDr~ebDL-62;?szbdM!44|5zksiQ>{NGq&#Cy z&S~3ozf9QFlOD7CQ=zBfkyLq3Bk=O6AZI5ngH)hqks$C%CX^}K<$2GA`|w%i4KK0? zQoN#gnqWT)eg38~OAhgt(pAzE=mNR8TI!PL&5}oz_|*Pl8<>?qoKvVHNSEgA@3svD zVX81MRGU_`Dn3Aw&>WnoQFA>oYHf+gAdZdgn!BOx91#6~02VF{Sn ze1224{E*>>sv*?lOaD38pJ=J!o#^pRZHqY%Nj@Vb4l#No4~Rm3x-js`fkCCc&lrwKd@S85`0x6L)XAmAg$@AERG8-vu9I z;Z)gM&?SMtIl8bEyn`LqfA?AHmJ!B1d&QtF!xW>(Cj{f*E8WbbCrW?z&L!m;U-0i9 zc2IqX60v%5lZsH{r`G?SAiS7G!#h!8_(HH6I3)1<*ig%3^b~3+4fQmdctwROx6pF> z=_xfqI_eOX_8?qIj>dx7G6xSjm~)`5t;0wH`LsC0EtYO9mNMO^vB6|$ZNYnrN~)m zB(=jTQOODU>pn{Yq&Uf-6G7Q23nGoN_LIVHvs)yT?W1PA@f9LLp(tL0Nc1dmr$dbr zmFa0B<^tqdET9@i#h&ru30I!81!lyiy*nC|q$)Y{!bdpHN}LhZx^P*t`@vf4^@-U6 z%Zm0QI@^4#j}*~FH$EXS3J4P*vwOeu{7`82k1!T~mUn;vAs1vvoRsmKy=xjdD=Zxu zi~-r<`ls0%NRjxuSXHE^qAFrS6X9lpEa~vI{jfQT?8n6zE(|A39#!Wqb*gjx2#H)V z-3+s9v+8~ z5@Dz+zTsg@*=~)I(BB^fJArT}vV?rVXE>xT zdU^gb&*8mz51l~{k5lyMu8n<{IP`grv9@T!NK&AnhM{>qniT7>Hn!z^(RQE+G#`_w zJk6V~b97pf`2RE`z!_kmuz=i};QgwxGNOC)e_M5|qP)LkKx6%TrPP!S9Ahc8<2M$X z1UjEUZ3_6wEjeMN(_vD&^h8K3-1Q`SONHKijgm9KLbD%mUEzPnja(aNQG5CYJ}bBV zB-h=z(Xjc|*1auhLKVx03rYqE&bz5_3@$Xg%Qkl%+RdU|AUti)!mCjGCEH~Su_BS|@Ed++Z ziEapkcT27LT=Q6b4ep$$cExXCM%9ad@!VM&y9p;HnM6w$)KHf+LG@aVl@h8v0!hC{|$)1!u{Dxg${^ZLI*?| z(us2p`JvnX72e8biH+hb!I*fX{PZzSlPY4{N1*SgL1} zxA%G|VTh8NoMK=jv(KTbXEz0T)hWTXJM&myN}n7?B9xY6N6r*aefcw~__F9P z-+WH495$>A_P96{C-v&%;W^gQ)@P(~tSPpEk<>l=%;gntlyNTggMmr8kLQ#6SQ9nW zXomHiH=Br@I|^eh$dWxS*Lh7e+}|m^p}1%ZLz%fNV0aHh_Cvt)s;>hJ3RaasSkl#~ zY*BgZG>0zGD?G?N@nJ~*l6FpuU+~N?<)sr%y`1f0>u0dK&gnaKyb9XX|5zZ$WD@@O z&CO=D&!B&Axz`_295ED#^^CaJe*dQ!z7iYz_l)TZ5INlQBnK5BNrnD8m1EL( zK%Qs5_YU>V1VcPz{@?k!K5&ILgkW*p5R(DZg- zG*0aC_K`-PHoiLN*9s_+bfAZoQG;AE>vfekYxQkf*pdaFMxcYv%#Q>mQ~ZjF5$xJTrZ!|YVs$taG{tq6 z>3AZ!N*Uo43iTNmYG@{ws=KXS#goAxiz7J}WYej+w6qAjo;T{DRCnNZS)iOw5{w4V zunCI6nS^fh9^_9}lr;%R$OMTeD2W9LvishS(Z${kuu!Pmh(Kj<$1wH4U}$>{7PsYm zh3q1o3*{8AI5Ytm?JH&;L7sGlKQ#OPzi%j3jyJIXe(#S}XIR!hMNCtaA)z7CR&l2M z>qBJ715mycF+X?BcuAYM-ewNE3T1U&eeMsL>h@W3kYWhE;I%%viOYj9k1ghuJv{2T z5sLbiA&4*|H1zH#Qo*&yK>2#g`1!W;66Cm?KuTo5rdKtr0{fc3c90qUiO@k{sf#km z=Go7pnq2l>T-Yv&2Td^WZ4Pw1F?{x>pvg)`c>A{#6NNHX9|^4d)fT_kqZieqXBLk{ z2$njzUiDXf#j({rwKRGFF3B<#NEXJS;$RXV@Tz`L_AY=5RKG})V)rHRkOWb?divm>fBzsnE)hD+ zcB3?GJT3G1`^ec6)0zGK@b#ncChPXYjlT8*Rk(q`_$p2TnsOBQqxI@$So4AUvubPH zXP9AE2QeAFy3_`Il4MLgng*c}QZpknA>-Ii3AD`#!FyGxt;+>%V9JPupj{^Kgdj}f z=XlBGws+LWRIW0o(C^l(GTWRlqIA+dQJl(O8%3B9b4M>1;io?3Sq0RYzO0E1D;rjdMb}xev9>~q{65%HDfHxX{*;YgSol+wxwoS zK8xJk{ne4eX1#0$+MfHOM;_N4xvo+3K=vZ?;!E-jB_ai3`5q|dwVVkYo`BY&byJoi zN8JJwSK+C|=lj->mAdNl?|p{xbT9A|YjTG-qJyM?N$d`yPxoGzQ>YFG=Ov$InLoL( zEd529aB%2@PQW2z6wRYK!mau(rQ(su2E%_Jd$ay6^h~&rP<;RNC?oVOcX(iFDqa8h zv^LKLr0TczH##3A9JGG?#jhZMM>f{GSSh$D$)#p!*pBbbP`3sV*k zvGY2O6LoWV%@E%XfciE2Mwq1_4B{x_a(^_nYr3DzkYh@ECuWJ>?(UJPO_@3Ag-7a@ zTr7XMWEG1E+2FD=~iSU+#h z6)~X%Jtd4we~aZC;Ndw~I99cv@!L!MXH=uu1WLzhue}9szn6h)-Fu}=jT#)`jb=5$ zx_VDDRCm#|`F|5Gei=*D7WO@{P@aLtvO=CHn?O=_v$yEx-*|8|@kH;^#_v7}e(Nn{ zswxv-<@MhRdqj6wR!qs67A@gG|IWZ11w)FKX0Dfxa^A($snZ*`)eDPag~sn_XCe&RI}pnAGX?==!` za{ISAj>jGJ0^7a0S0XInN(r253k3ID9K={(_BA?8^}b(c%KiYTz)&YoO7dX1dk@T7 z2KsFwXe2d)gpZr$Bj8k^DKN|-p_;o~MI=>^zEmY67b}&RHU=utc%iUiRV$;;CFC6S zoS^s(*OmjNY@hEIAlE#3*8_NR?@%lSvmPD+$MIcgIW!?^2GnbN?>~X!uXgYivD!}^dAwExi7nCltZSiJ6t3KgC}DkUmg3mDDu7y3 zka~6h!RrHZi^uKWON4d{xzl|gm;2d=0uBFA5s^L~+~KGt@Ju7O{AV=Opm~GFJKAiz z!MoR%kNf-56f_I zw!gTDgGXYjYV zw>(p(Rhs@D6Go*D7cJY_D7@_*=oeTx7a1p<3Tl9#&?$EV@MUB_55s~Dl6W5dtO<8q zwSKC-uVmzw)T*_QM{&657*tG`2?Y$@e*_r(ZcMgqZXUk{mG1_v9N42uG9rB)-1_`F z8YQ&Wsk42#OXN;fm8aou`kWvEEUZi=%zYb?2ab$cJ6DbbhYQ)*3iMStT6#vtZFD5T zjyH9C{=LlHq~Bxl%aWLj$Tl9Ql~4GjkC3}qV`ZloTuiTDQFY*Xd|ey+@DlaBG@*Fe zd1Q+FD|7KaJu}9ucS)C^jy=T8Xa;ZJ-TRNLDEn%2TK1z~@l*x~JUE(RYRmq2K{++f zU)#s_spdHMy?X5K%rqU#k{;)H32n8xtTp3gk*>u)n{Dh^&tK2$lP|xPW~Q)@)9+EM z54;4YD!-_Whs7w_#$v1Y$L39=6X~y7OuRhoFeOS)R6hP1W8;9dx)zT9i~erD0>=ij zjVd&G*ilJUVGI-xRUfukmprj3^DtO)76fY>mYYUVd+>hXqJMqkNjvb2|nA1h=l^|XxaoU$5Lxu)U_ZDQ$bgw6?%id z8!>#7tZ>6lOfY}Sl!H8x#U8R0%+@}mQ=K7Oe@Xt#4kCFh+T$M7ph9 z7th+*Z#K1h^kvBkbp(McKUkm8^n?2K&e@Xy3@GP7msi#3AiS80O(kBEy?+#TbuDkC zHP=ttTL{x}pN^v0Y7wULf**AHiRSkve6G#<=6 zD{7#LJ97h*RyYEF3fl(`T|JLnW{=GJ})hRim6- zZT%{`a05=(s1t-3k*4Jfa=_{4Q7IPbH+D+7?-7nbaT34ane6;jEExe~msj%wn~+(P z(=)M~mZOxILrWVW1HJlZlPM6MhpzOt@%~G><_1;AU}Y*_?pt{qag}Y;gWO#302{JSiIfjIFx4Do`z9QmV$62Bsft zc*yk^^2?qPljdRQ!ie)JtYUz=$CWm zQ`0yN^>#=PX;@^=^I`KmI;0iRTRIA zQhuwJx{yI3rO~|QRM7%c!FEs7fMG?a)>_mDd*7T7h?$u@FZDrmV|)47Ku;+7d`*A^ zLV}oOUiFA128PWlZ1z_lDN`) z4I!86o%8QLX5W)}Pu#}e%) z8cmansx*USNXGsOp=-tO>6Ngp<;ckiyB`OJB=13Z(17)Lbab@ghfCvIZ0N}fwA+WO^ZAq<`8L{VNV*;Q*4G}tv0>rwcA>K7!dySNUVwR!(LMH(8>VGVsn^sYavGJ5%{FQQTx>g(Nm z?K_s|QcEXWy~^zK$d@`REPs))on_^=I)E!PgC$G)aPB08C7hbd%h6-ucnTfX#svbg zCN;4=Zam!SJWBGNDI6sIj!$%8!P9rDv^};A4c+f%=dD<(SVN`XzE##1CX*`S_~txk zMdShHlWcImkZY%eE|4iIeZBUUJj8e*EXdL@Pothu?9o&`Vo*Q3r4{uAoLGQqW6J3h zt>EbyPY8uui=~rCg-YQkfigm`TRo0h#A;T^#aPpz3=Qw$0`BDXd+FXIehd2-@@M4i zKlhC&g0?3y8|Uix#HMUx#p-P-5l%sYDukz7&%4%vmC5(hbhv-EM^2E>?JggV$TD^1 z$04rY50#FWk^xK(rj)Pi0@aWbG@~Xw!`z7ivt?6Y40M}k)+!@q=lX6tzh{oDh9=Ek zr?Y%^YvY~uQof$hEhJ9VS^$Xzq|HSLR%37I7a6Du9i{NNK8ad-%Q_rv)TvEeFVIzg zU!feI^t*bo&YpCwIjG)5w_!NWM8m9IyWe*1=KV)M^Uqi)CJXhlS6Pv@;KJs~k0HT{ zk`0}v1n0Y;lk37%dapUiIBoN#j$11{;D@^j~_L5AH%(A1CXFDDZyTaZZ< z8RR}k;UYE;W`j<`x+c?{j;@c(YwCL4rj4C{O|6F8^~X8m+uIl z_QXnVhF?DI+|%p~cHi_g&a3**m_2@PJI(k#zwm3z^HDvx=j8};srr&*WxcvPRx8`` z!}9|`p5b0_!@^NZmxXV-ixCr??) zLZ(yZGvCIN69_7?OOZ5ZFEVNhgarC?o)KJjQDKZdG3{}G@nRWDq zjKJ;>G7d8qi~$Goes7g%-p`+!yOc{C;gX^pGU_w$F}K`vRZIaNr9L>wm*!EwbN_WQx&BB(wpjo3`l&P@xCCsSQ2*o-X7EEj z;I94`#$F+4u*INSq-afIbbezAsW5hkhA`xJPL$+aU3M|Wg=%z0KZ!7W(s2QVI2XS< z-J%A1N+$$bYzeK*Zxed6D`4}4~ z)U+acs?vLNLtj!#L9}1_vK4IKV|TT>FbazDzF%Bk6ZI6|4tD3jC?eDKcPJk^04(Yp z2_a`jjEaK`)GpFt7?senEtBD=j30Pw(Su%o#M@5B=^3li{o;*nL`adbyneCb)0L7} z!7N(5t7D7e>=bHv4c_fc%T6mwi4W!!y5r@H;clM>{5sD_YE?LuDZkO>oStk;4?uTj zUs(?ja>qsue$gnCFUZbZjl7NVJzHCat+G)r)GQ9U-pDP~z$S|WKm>1PmK_Msu1KxejRL%wA{^+*qTzn%UeQVQ@q0 z&A8l=y2}to$qp`u$S3i1NaS*oWkbtYch6amPLdXe9gj|2Uc7MMUw_X@=@O+R3;qt{ zdVog%$=QqbH&7G_|00ro@DsRQ!sYB%@lIkni)!=Ns)*4D7a?h?B7?4@sv*+3n7c{T z;taVqBH3K}5=7~ddg7aiQkDk6T@SboY9Uv-@tD9rp`B+|4Uc5uOB=h<7V`<7!4Wxk0r(R~=MiZsR_E-B@|`&)wUXd6U`o|Rn?-o|m0fUz zXWIpP24}&~ZCg4FE1s4*j>h?8x7K`ESRKNiZofuBXj2R@6HF+Ii{6?nTJ_nMO-MZ^ zv>cJ%#dkcPApC)_ic8YQiFPN<3W)n9%oOHChF?%p?X07ER|oqi0uDy@FG7vNe;0`) zP^0^)@R44wJYId)>I;Ig904;H7QL!ghO`>DV@_<`JA!WtF!$&*Q&z8I$7#b5;THPF0!9_fi@Gr*$$2HG_iyur-Y(0F* zUs|WlDX?qNvPcXqldlX9Xkp!RE}Cs|Ht{&4QH`8_Wd~K z-|J@_&l%8+tq4OTDBz1NG^C)--Rl|i)ueNQU&5Vu4DcEHGXox6a4g9-F%};@Quy!z zm=1Tv&(AKOqSwJrGI5BiB#mZ#CYIMNE`?!nzkq0r)ED*%2}WrJArg_jLUF z$5?at48vX0O|u5#mD`9vxa*juLsxEG*GAdYlDdes=Pd0=w=jZ)@Qd5P^Qyy;)2O98 z#3TS+g3yx6I{;)#P2dtPcED?c#x;N~rnlAqJ?4m6*{pNgu4aLsEvFj6<~+L0(JZdgI6jEK^P5ap4J3a=eI!;;Eo6G4Rq3Eiu|;Pglo*8Yh*i#$*>{Vo zcDdzbJPMnt$6zC?$8hk7>~RVKx3dK%t(l=4U;d^ma9p}HSS6+|+&(gR>PS;x(*G(# zVauMn@RwVUP{Rinj&JsOTU8pHAETeJ5}HMnA)pzfl3%f=bg03YaQ-|8d;7OXHw}LT zomN8WdM$H!L`T!tHxDDCExTrDFYe;iDtTS*R!ilu;zT|OubG;$Ga*b^P?MSHV8vd; zDV%vyCSF=MzLcEgXew6-`4a$kY;tZ&pE?R?%#$t4{^#t|#KWZ*QLsIdn?(NmchPf< zP!BI&bychVx!1&j59oq-Dji8hko8c>da6$s{~pv6~Qpb z)m;WdNo{VQquq)j%-%Lo1uW5Pyg2P$e8)Cb6q?yEJUuWB&HC`G)0wci(`^>rKT)bff^M9)7aN! z5zv5wh8+ItCJD7e@?hp+{ZVPvMh=*sQ|b!r`fMb~kTTmeRd^k%w)VriNar1vggf@4 zXWP98u7_qtZK21H6N5sKAp-^$YA1XWMtyZ=`TYUD%p>zap}Gwt;)Kll-m81c!@p}= zfWf7^#t&u+fk{Dn=)%NO7-djv4NtPA0K?MA2*51LHSxwa{L~xM2>|#u@g%s1zq#E_ zrKix|B%Xi~t3h&*aPDEksF+~PoO9#H!HqKm+HzkM7h1aeBGXm~N|Cm9 z7Ez|qH1z4a3G%yO`fe-2hVVz?^0!7f_$i)Y?SFb%F)27w6j#jSP#!V-h~dj{#7e0DZ=^@f&k4X(7td^4$+^< z@v8;$14sq*>bO_l)Ll~2AOgG}gE<@?)%|Jf+Sd1pdkjivDRZ(i2s(9|L`%4*bZ16e zd(92WpWvq%P92{S<5*MmOUORu5YJdW|NGaxEOzMR@po{QjcRX>jN*Vrfihns%IcP~ z@mwRM(8bF3r<2$b0Du0Ixior02j z-WJ^mrtZ|;gT1x;&8+qz7!GhtD(o9MUk+U_SFA(caD%LeAm8loS1L_Gl}oxB6=Oq` zZTAMYO*6mcXa`W}`4m_rAHUfZL2u6M**L?kg&07#%5VP{FA+$*2F{T%{Gn1&@-J-7 z`02i-P|RXp;|CAv%8(Ghcam4a$LT;+-QlqES94sDj(9S@?mM|~;)tKSm zcjJFHlkD!jI96lAwfpl$eH-0tbTvM&SOlwBT?6V*s<4+n>V9iIL%;MGE&VP3s(gOm zIR~mHG`7NpA`rbz@&XO@g810haoS(PDaGDq#AY;&wcEQC2=B?yf7GVZn?#Pq7C)l6 z{d8glEAsm~=URqXV6an1&&nI~{Dj>eDdlDO=5{81n=2DRUj6uZJVwK@S<~P?W#(P_ zrIPSIIrifpAZDt}x|v5*~g>;Je(%{76t#gBeB`LoupvxagCv_peapXK$z zxB(WFGpC~BtcmT~2-%>_Mb`O9OdFZogG>tHr~v$l4*>5x)R1Yb^A6ZN*G$J(nq6>- zpMb2+56ckk-i8YE9kDYZelrTg@W4hD=gJ5&?M=BA9~dr_asyVJ;*9+)68!23V9_%@ zW+BkJaq)q=HQY>jkecE?98zI%YO<;*IN^%%kVTix?TwYLsW(_mSu(#6FxD1(@%r*F zq)JDl9wUIit}6W!hHUW@i?33WWkQG{y=Jg_9eq@>OyFzBn}esZ2uI!J=7XXFUm+5N*&&Dmub z4*i@iaMFGOk&;ROR5kHol7+=lQmsyrniKtVP=6xw6~h&5E%k!uWMn9L+VDTsIH&(2 zC5;Sh+%cb>Oi3l+=wWJgL;N6o^KfgA{PA)ywVm5F`&E_eNFZ~i0qxN39NX8=@e)sXHf`!#Ps>jNe$@y^AuWB z2!ghy61GoX=g=U*&)V-uitLHK3M8V^@(4YF%1s>g-Kx(1#>HP zt36swz69hm+K!PWaSN19c0<0D&u0>a6ywOri<CY0;02T181A4R*9^y7}Xxujzsv%#Ab&ty}!84%M5WmHX^GbK7 z3@u_VKWYdXR~!z{T08E=E>%{a-5U&~na1N{3hWK`QQeT}x_A41lT@NPt5KN&n$KFz zvEP0s$^lQ`8og5+8FvSr1f5t>kW(Pr=OzdOFe?m3aI6{_RnoB80^>7CfMfhC#TXDxYl@Rsz{GckTrwELBUSBY{nrh-ud!zxi~IQ3#P4i_Rmy51 z1c|#2o$9+d*^L*Cj}of5GCkye4$!ES`0tr#+sM>=xZU?m_m9b=)&%od8O_)XuXB!e zLs9HUwya42+DQKCb`Lc+%$!2#0|qRt_T%_p;srfJNEPj zR_g~~_#~Xka>hRKNvJwgo3|HFYKlhM?|rvn3krpq&c;by2>!~9B{CUgeJi+YSdCkd zIooU|_SmD(tkh!RJ;nlJHg38x7R|<3K-!@oGEt>PaK~JSD3&LRz6LYqU-7D~LASn% zTeH~Rcr}sX+Hx8R09ghr&Ds!3n;vQ1)`pIFTulzX_!aF@+K(+PFgCD7^*lwTwl?ts zl097Y8yZ-aH~3Z!yAQA4gg)Iq{Z94e_-_GS&4F!AoO&r1mX-BGIiYGqsqHL0aB;rX z4r&clIEFa0h(H%f0aVrq!O$IsGseS|a!)=FXx+YE8q&A1R2mDf!imp0oKA!0?ri-C zJ%}g}lmp~47vN)sq->vvBu$?&m)!g%aa=k+_RR`L+vRIG5?r0XpUtoJ*q^#Q9G}_I zxUdjzd8-0t6tL!>qRJdv#rg%eDAwH0p^SKy>N-objCnH;ny@c6Jz@4lss-V9)KpOQ znp-}JC`7Z2i5BIq?gk?VOq-Rg@K(=`7KyN3rm;4==vvZOx6bV#q<8mkM^I}=ZsNfi zG)mc&^62W)j?U{{9eJfu-pNNKxczr3y=IZ^V{t~vw!m&~+Rsl9zS_;Y`P}p3DB(kE zQ5q#B5yIH?9~0F(Jm*gO(n(Y8@WUR_5lXrg-=cdkJW`aaG254)gVmp`7AV}w53 zu6%&LKF8(=c&#$L284T7>kmDM#?3PgU-zx4CutUULNm2I+Z#4@>7eS)AK~2@Jm`?} zyrRBpQ``K`L64VGsdIw-qs2ugg19o-84p|K(5bF7+n-epmIN97EkXX+-S4YJ`l|WK zp*Z{9^dZS7snl#~In8Pcg-Nl`*%=0T8JNKsn~O^a-oM2 zRpkT$e~13a;yt}FHOfa@YIR8htN!?nO&fQ9H+OhK%&HJjA*1_zn9!V{x0S;6&`CxG zYx%c)P$;Vsz(SO({SosjX6z5Y++hSM%e!~>%ZZEJ8Vg;*9))86=+lH~9H3!Lsn z1p^n4piBElf#2(Q2J8HL0phWY{^o1yWdTKP2%>6@(l zRDWXG>`oxm5vi#=b86MDA7jR@Zf`-xH~z0`=hdAd>Tm2CSnE2sXVt`vkE=67vfOEN z_&ebuRW8KF8yXM9Il#*CO?wrms>T&s+_Cqd%_&r=oweBcYVL8C;9cWPc&KE2ea&(I za5cf7Jc?PA5y>d`*wxx3`pa$qIgUVF8?HFmsS*kl(oAP)2F|8_)$~wa14mvAz`-o& zSzkrbh`(fNoTUEbVm$~vnBK6T0u-owG79BfuG=`ogbV zrv$PEg-$Vx#JY(|$@jFZ%NJy&*T=%Da(-nfjL$nU{w$ znaI(-LW2Gui(~k{XG<3I1_7Jh{s@n2(bicVZupdDFjR{0b$FRRAu&^ozTNH1<;d{f ztQ`$k59vBFMDDzkP`&mjA0)Mkq?`6G6#KYV@S8SLoFyKwsAZk z6G^eI3O)3>W|8-Ow{|%9oN@a9*Miy{)r+srNMjFeT#UJP{GYGIvMg?(P(KB5&AT#Q z{mF2B9c*%q0%Q}5v7IC;iDQO@G4wWbd|xfp8bU6<{m{(A=Q2B?IE?BGuWx4Dc;60p zNRic>9MvyR+oo9Uw|pZ=faTYby%Lt^`@(1JzEGf?D|o z3E+J6f2fQg_~0sG|BgMXI7-vlE}E5&SAgJ|0HnN|fYD;_&r;fdn( ztp+)3-!oD6^DG&14oJSeng}G^*IZhzYz8c5Hy$=YM|u4SXCKEYC^=F<)(E|6D^T;D zx8}PxSxkD%41xzk<3kZq;BtlB@58OI7-3b;|5_0IKQF-b%lAVK;bPHSS|fZRZd+witO@9QKzkX4u6m7L=w&(*HRNiu>!+`B^g^ProNYBSc%zTtix=T`!q= zhz$qIp%wPY6K@QlzKzCB+QNVC%{zCq4N)`Zeb55MX?zCxP4bXQZY0TpsdRx9sKEH$ zXm;)fZCVbZUT(DId<7VgSaK*;wxxaE|QZ z_v2jlK_cW_R!&EBPP^L2=(sSMYYp!^)~W#s`A^jo`}dNyOW~MDWzEve9824VFquHJ zpKrs4&&B7)jMM+qoA^DN+sPNFQ{s+u`D|1&)H6#fQx6`Z#5g`JLs9-)+U=SZ|261m z8sUqjjkleCJ8WqW5rs;$jOPD-mp{_kJ zWl2}~vdo7X`1k*!|He8Pnr@pTyiRkGnLhHAH*?X}S@f{18Yxjd8}l$|zp%VAVQ)B1 zR+C)<%W|+@QYO5wy}n#i8Y6ADcAhbGB0SE0dDY(8#fD2v%gnR9 zFU~(6h^?;vQ{$nV7l!Qp#s|pL_L8%pC(8qCm0Ka?qWH zvZx5q3Y&%@d`zP2T2s2Kq+Fxva>RkpZtx}Rf}30O|603J!Ij?l!C)Qw>1Sa~^I#Yh z^Y!_R_Abq@6`I;;iaYw3rudToLxi(0{SE{OBbwYJwuYLOPXsP(XC<%t4HV;;ge9#BIh;r=6pd!1H;egS z`{RMOKO^(-sSmxHu-i#_60kSXwbRb;b*&+Yvcp8HLa@)sxU$2(THmVxi?tsvY;3)a za`*ChqR*n`@yD%j_{Z;{YzN6dwQ}~n`3pLJ%XEd@T&%Y)qu01q&w}9nD z>QIY(p!}q0pOV_rtl%B3`iEUXXB0K5D0VWQ+M5Y{8ofHUpc>h!Ta+$bOAp66AkXKf zm_#$ax{xC7o{>L;T8r4X>X6HHra700wfQsK^4 zX|>m-UJe1RB5W{lAK%P)gj(EK2^FsmHxuJ(R>a^jD*9(-LbTJu(W8iB+P`#tDw`)E zT?e4L_>lwt6T~hbp1MO9B=l6N@{<-%EUi|6dr2(OW#u)Cbmv{wIv{RR#NcDE48s>I z#@L++xGN1vM7t?V6XAgKa%h>nOg!W2M1Lul?Of|8CDkLPO5EN3$j1YM;A6+xqTut> zmZcTZorhMb%G231gwn7{nSt%`#r<*(8$GQp01}a{5Mn%OEAKm$-g3^4>E;tyQJY#O zk2a(EMF9fO%7v!&xurlusPMNC;Iorgs@KTn>t!Z|lh7^zlV137yf*!u4h*|YR*40! zayY_$4S8JGR>r;t<`^?zPruY*))S4B7FhK22lBUG{gi~v?{0nho-ZPin{yWJ{^+Mjf8Y}BO%=&;7}sM(A}LP zARsL;bPGdwhk$|%F?4r#H_!L}t>^!e7cABq&YZLNwLjOjEi8mr999sa)l1_I*4m#2 zw)9nhPR;U*9MktYzL6*XFjk;rD8y%5lIw;${OgTRqK|2UuEW{$MIPMgq5c}a)1q(? zP_OZ?l*H96jRm_a`XE6rJW0~D5ujbg?0Jy3{dsrxgc%+@aDQQl#6WBtQp0<=rUv+A zn?)R{yWmv5+12b+CjlDCNhG)>n$QtlBC2u6z_95=6$whBd|8M6h(#7KC~OrI)1QVA zm71d?Sf66_flpY{g@8YgMT{vL*R|V?Z;V4{ybwMqc^u-QbCFQkSoKx6K?jR43`+}5 zLT>5ujuDtfd9@p> z`M^+6U0~Um>3Iwj#GlCMRvoZ7=0|h=@F*#qw7!q2ixsmfkaZ5K+N1FnqBy-T=d<{F z{_qtBBtF#H)ifU0)lsh96=Z2P#ErGaOiO9k_gdE#6&CxF4F9^3%JjuaOhQ?|MHqU$TxO4O=IEW#u#Wfm9L;pQmn{X@78`z zGz%=Ch;f$77I|g_#)^96WJhNaUC=S$iR6h~@#8?4wzz{T!p2xDemHtj4rcYZ*jiJC zAJqz+xOkKepZD&j9MyJ{$MaoC4+Rc$i;PDRAWT7oJ+lzY zPU7ds9lH-*9e92UfG(-|@-#O|X3Ez(fALBby5a!uM zTtO(vk->MqP>I#>&m|z}TkU4mhQKnfK(Wen_mUpnvf%A!QtK4y)H)UD(Fu2<$E{@* zr}|q#WGYfXre_bjGhtUJqsr~2Sb`b+VWIsxlz|z-gq*XCA0Fp-#E zbP;4z|J8{&#aGhwCyQZl?Zcqhh0VcVdHFQwE`Iq&vciq#vpEVp4~OZ9cobxGgO z761#aNZ6iVb)dFplb2YQiNv%?px993f5jWT4psk$LHLcbf|4qHlqWft_#u);Guu%e zJDaxMFTr<7ew|8D%LTR4E;EPtBCzirL3lKefOLV<>#rGaz5%tmrQO3OT>K(%OAFL) zh5rRzM&Kz({CTOT_SYHJpZ;3N?akWg9#Bphe+jgN{#|;ov;TbqqC3a=$z^7H3h;ZW z53~Oh*A=_cq%xg-cf;2O7J68~ca!tlI_?YcT712YF$ERxyFVu1rz4b12TG6!ns0t- zHd`TI_p@W!0{_zrcgX!@v%GPR8Xu7!Y-{PQqlG47$&#ModUx8PD&g<@d%E$if?%~? zKB8>T04s#>ydcZmS^nV`QRND5YFYYqUQ&;Zy8v1ev7n)fr}oFekD{bjfIzJ86v6z% zIQ_!R@qd+4RY>L%INn$I3!T+pw=Z1!*DdC^Ms-;b7O=K0behie=B$hXq6N`sw~S<& zEfNZlbgLlPMM2I^ARTiIGbW76g&s?p zJB#RDeC#wUVR|JlKd!-@lxqk^&#?^A{rfBxQO#Fk{q`7r-0UaW^KxMxp+Z>6L?&>Q z8<&(?lJStO^*(EWI;!K0GQsz~!)0d!-7RfVmz;6JibaAuK~Aydj_AZs&*cB@(1o>CaWRUZ;1tFlw8kdRrv71AIRn{#b6=A=!($o(< zwQSZ)+b1uMv(%E~O_*5=ZPDDFAWMt7*y-(Ca^dp~<+8Xz`&FyoUM(|Np0^@KhV54a z9tfSCL1dJ?=^GNbQrw)%T&6q$q6Yd#6;6(I9Z3i}fxf$2TWCRdbq7gQUya`~NeoPR z@gWb8ni+1MyT*b>$P^+HP&h>$(Wq$dP(m1iwYK2NOUe`-x|HK9st><{IMgRS3^N#` zk6kx1R!61CmxSzhB^{{&7M*6qDouZ(Wa>ISyONi`1g_k7^jPKd zjfrx3NpX(|;Xs^)#^xj*N4f)ds*n2VPC1ZZU#P;gHHySgdI;YYG4*W>mU+mRc;Ioc z3lj??j{Yh){E5?CzgyEjR+T`33gHt-YOB{>o%YPEIzFmtfDd@ycYkzBj!}yW@tyR9 z3;0wCR%YrgOj86lt+>HGoZkHAi(YH(I&{$j%m*C9GDB9Q39l98N|ZH?6o;5JJl^>F zzgkUB$ZyGljApQam~Cv#=Mh^N)LEi+T6@RH3X&sWPRJr1FpK2#^bAU=mx(b}hWN19 zl{c0yvCALjMGLwIoxH}B!hbU8nCX-m%hqK20L(G$kW6t#oauD0K^XI?li`pN_^ntS zb@~<~vLgYm45klSWpai8PCgjv_i|-_FOq@RQc>-^UH0aDSN5&y+V?;fED#IkkMXv60x_PD9(ekF2W;EsCiF2-Cm7Uns(4APy@euQO>RA@}=`&c+e{$3r)sbFl80ViAMsNfQ`)`(UB3Aw>m6;Yas zuTB9x7g5fh^EW-UrGk#@&3&&kQN##2xxI~Bth?PT<<2k6qz?f(0gZzL%ay)1I zp3&#S?Xl}dPqD?8ra@SsbTmH~)YDpx0rc^9DWFx^S<%n%Gg^O|+$iPuaKKIAS&Ya| zD#qS$(DI`sMU&CMbwDKDMJqp-a6a2?uEutbKTsYy1bKEK6W^L%M}6CdD_TAw+C6>*;_YqDio&W=G}y z^_gxY%#YlHo36N2&xwz%7wL&;VcmM?)N-Mb`^|59l_Q2Nx<<(ud;s*I)GQPS2xOf* zn?s-Oy;-NLeH6Nb(5z!Z`<60y7%y-on_Zu=obFLc_njQC&KJXU_R)jG4oGgEsq|^z z5zazP{mGlMvpyNDzbFR&nV!*1kb!wI#{E$B2%n}_!&4E;b*> zt-sibw`E7{ggB_uNZGpXEbCKwWKoH=Wn1|v)-*sx#8Ls=3s;M}4EH7WIhwaeocnmj+6y4p;#>y>Xof;G!Wpca6F+%r)8 z5nGi6I^haAIJ20WoXiQ_uWNS~^4R*{+48>30*JSbTsNIa9`l_Q7NE-=bISVy)stqT zv%>ep8F~J*Gk47qCmw$y8B5Jgs@013R#wmY-}m@R8{#pWOizY5ak0<*7}-|HG?C&r z!QbMgTmQwfZ!NMldA2_8fEPOcSf|&|=baI~10Sq@WBI4RSwH0@lT>*^B|yydgS?#C`gUFb#{}?LmLy6= zis#^nC}UZ1cc_nvzKbl-T>!@D`B^$NZ!ERvOZwjcGuv2vteP5SVhlB=V7KolCpSYi zYSEjyl%AfoQr2Q$Y+L_ftOVWse2Bl<^)0iL!CVc`w=Pj^x=VHhcX*A^PCe8qUDtn< zcm2gLS&;kBFFHgQjV{xRh9N9O$tI+(ZsJG;NnassWqXq0EnEjL-v9cht-?WQZr%~j z$r40{GOFF3ZcXH^;z0yHhIGzE=(HJkp=stEUB8pW6Eo|CHhWH4{Wl!^HM<*--% znVREy-xS2(9_*n%macBpG+4ZQO-cvx4ml-*K8ZA#?eu~ZT^}Z}iVZHB@}{mBp7+d7 z`mNlF-vM73kXI=-*&8O1sm|jiJgJ2`=K%1(Y)p9pgj_)8*vEku{c;Rxk1)KxGhvrM zVmRA>YgXPQdZC%ZX;tUyK~SXmqX%nZGNr75fXz)&QZWlo7}{d<K#vO%-+iRNNSsZ_`_lw>>W|+i)LzX>xS?6fV;WAEYj7_jf%ECRkLJsZ z%xT;5iOufhuT0ltu9@@oB-%*hwu~;GYGB?NQ#HNr$+*!4{z$BN#xYD@8c(e@?(lo( z$G19XMiuHeTc&u&Xu6J^!{$E97rpBJ>+M#a*LUip)533G?%nEwbj3k1y}c(dSt~Gc zY)0`i&&Gi#hgkOeHU}5?#kbMLm~!9fW0YjcWXM4Bbm0k>RMs2UES1P{IB^zKwtZR` ze+QF_4zm9{kd6o9Sea2U0{d>HsI&(80a;NgkQkd#abRrh}$u(u;}?yc5!XnMjYPtSJU2-f`@ zT#z+7s34N(pA47Zfe<1yL)4S`p(qmZUS02o@Mk)diKO~m9Trs{o*6IFGSnv6{0%4-L4w;H};_Jakr1X$gTi;wtjBW(QWb4rb!NT z6uejVN>`T)>%t@OHjnq}wj{_1e8cjP9><3}1e`z`#{dN~DqIOC3b2|g2Mg^I%C|>c z_Lrx4`M?QEUOzvM%s^08Pk#)e0hc%jtnZM6idI!1x@E4eO4;b6T`|8bg~ODwxlIh{b*%TrJ%-*eP|Z(67D|6qQJ z-A7=;{o4h_Y-!HY&Cfmh(|Yvw_iq9uMbk_kOg0}4C3ln0wTq>AycUojK4=Te&xrOp0xCht=YuZcQ*=-oglP!V zx%w)HrHHS5FxAphM}_cKO%AN1lG@a~+8o2O6${;wV0C8O3-R2eYQ%g(+9gNM`JtvS z&S6rYo?Tlyqh8?QwYp&=Bp3K(b}-urnAtz?+jTwO|K#qH`g6&mRx&bJKnIy zTVvlhG3fC|u+@}Ak4d>)9bl+{JKXufje}i!;>&`Y2&{k6dZ&4p2^)E*r*1U2t!Hig z)~${s7zXPFQXEoLVOnMbb$SF>{-@SK)(M_`yJ}|O6)ta$ZvcfCz#b+tu^bnKCYRtj z6Ts`mF3UlH^76juT>EcLEX~Pbg_U__|G5qn-5MdA+vm3VuYp-ro?g?bn7#Sg25o0I zV3B!OU1xV@KLz&S)DY(0J^T5t#OEdJ_Ql-aVLymjEi>cMP4ydj_|KRVMGfqI+`Ux0 zlxQE#tBlR0_~9bVpzHVDPfkp3g@8gfF-N|&FO*afEiu=atMgjVSRB}Sqh}9Xtv4&2 zD{>eANl#v8E0nWp$$&S+X9O7E0BULn=@z-(e5fChvn+PjF+n4L{C8Z;0!b<`ukg`C zFFm$@K9B5y;1~0%b`IyxvmxT-(5jQ8O)+#NJ&L}hP(GUmG?5carl*Yw+sJEvgshPz z272lBm)n(qYzc9zom0M%)K8uuUdgvEN4Ph%&>u5O_dp{SzigXtnOSvGRo6=5x-ly0;?hKK zZXmCZ{uXN9m(b(au<@?Ian;RNg-4pZ*<0o{wJxa^N)}P@}z*%AKwds!XiwK0*ndH6bMgA+RLVpQ=`}+ntj~AEZ?51Kw z01Kwd*3oy~$yE!VeJ9`;d0YrCnL{oUUcGWcc`B$a-%!*1a#3coa=@vTW z9p9$iSQ_H-!KhMEHF{)nyNo=xbn*c#4E?nn&pRufAls9rN`U%aHn%t+8_tM|tsI&< z1E=6+H2hL;*w!ka-!>aDx0)}~i88PK>>IAnE|d}->!7Ls>Ob-P;Gz74+CEOFgz!AZ ztP1bFXwdy0j=j+rdZ4V}PtaKEw)dkLG~o)@czUV3$yQIam`mSw<3>o!9dInVBRQQYkCQC+N6-Q@^oG|zVl(TIuu&b7p^n}69)Pqj>p?~P z?w|m}3}&dO;RKda{*UWD8tHq}D2>9qC9ofccCnUknQ&qg$gS>B$LENbUkYcz7n~1={(bm- zh?s5g-gl~EV~s3~Amvh%D8xhCbsXUw-L-Fw)e?2ZYyeLoZKhSdZBAG^omfP5%P1Vm zOh(A?WWRJ4gQDR~NG4PL^^#5LBV@NxoOMVPN5n*^$DdHpM@;&;DCROvQASkg=7(uW z{}m9VBOzUiklMVI?{ogWQ1B_ka&pzjs@fA{=#cl@$UiwiM}CW|B8gstt7qcyq1@r_ zP7@rH?@!%bmj9!fy1)ZDh01~nI~hIC4PVH-9%m>QEyS&5b~Ecrv1NF~b{0O>K0aEW z`ENP6mf`u9CH6 z_$Qc3w{f-7cQAW5C!69K7=6?TVm$WC=h>zzYJ8m^dSW&RG9Z;Ko$K-1pWc>8jnKBp zFg&P*gd6^=7e^wsA(A~!qFq5EVIkt^4=uuP{sYcKaKYBL|7P*cLbd3#&t+kMn%6b& zw!MA0CxneS=VsZ|r9(J|rk{vSwSPzWN9$w}*VSOTG~4Wfx=nQ(dk$>Ai1?-mqwDcIdi<@3fu3-`IzW8w|&6Ec`J> z5qYRp`Y7*f`S{7BaK+k*mEqg`AU1MKO2HMlZ{b?@Bo?IBPOY;Alw)*&tvjg&GxM@*$Q2)yK57(%Ff-t9r&5xhK{(BB z8w_9~QgiFKU!JEaJ{Dx}B_eAKA=~wAe%Ur$kR6IC$-(`lb<1;PdT5SeCd?# zm?o@8@$b+3j*1e8M&sH^DTadP)|<&@2--OGSq4WAE6LW0PFq)j~&& z2d~dqI+z{>pNKh3-(xSJ_nJ`8HT!r4X=@(}nU~F}-VT;L{=P!$(1hQ+{y^#0;PVqZ zkA%3*O<1Gz-@BdaD6KMU@0}|q%7aR&o73hI@Qp2lhj*BccF?!f(?G}&gQlaJ@c7JHR&XQ}x%_zcj%%@-_&ZJC~en^^gB##_?9dr}F zQHQ+Ei#x$aXZyW4-6#|PeLNFVi5Z&?Xy2@0kQ~)xDq`f+o)qezn1rmKD$wMpk|)IIe$%4%WD_;+JcP>^=s7%R)8@GvJ5L|bt6x^JcH>?$j%r%p=? zAnB5LqVLXOKKJSOYWv_zs&%7SIU3bJ!BPo@Qk^OQeZA@`vyswj%VHQ+hEgIkGMftdWgWeIC(5)0d zC=+m*RZd0KB&r1WkaR*^=?dKe4&*D8zuousVu}Z7)8TsvW1k!#A)}5%@R2lvY$@^H zS!WLCP)ZEap_v{~zH^SO3(lxn_s^fzPXeSOJIdvf3r~v4(IIajWyTL+b84%A~cX}}oV&vqrZAh4q^Nlggbm&<{4dimx zP$|zM7K!*l^s4DcZ8R@V;wB?}Q14st=ezA$mJ)m^1-ss9#A%Y(wJ5H&4~||7JF%|Q znw`C+^s*I5uh<{T(zCmi^1P?i-3@0*z(9l$i5Q|@iQJ-n-q&upb=Y`@2zJfD`L>-p z2d39?f2BSaj{aJuBn1zvaa>hF?KC~coiy`h*r6?0^L$~Y$)-Wj^vwCtwGJ@RXmR_&GD~I*hJ13~w7BFjHb}sTYorObOg$6y4zG|HkX|%hD-R ztFdM!&NZwjD)I77SIyFRm6P?ubFj9}YiJs_7tww3Kx?)&l;PHlI^(+APU7N8Lohi1 z#CYsQWVb$>d$qYizeS(jBy~B<@(I^gXY?O<0c`J(1Ej>SwohAGw)Acf2nJq0mAf78 z6?I05Nf1Z`Qn>jRTMNt>g81x>dHrwthCTVy?(Z)(Uu7<}hKPi)GaVuNWe%yJvFGPoIe7cyQVhg&vFhCFyu|K<8O8QS4S|$jr zmReS`w(bz}P?%~BQ67n?h-JkU)H-2p1`^P{0+5CMN6m8eS`fb(uZGV}*hU05IUa2c z|AZca=AYjbr8EFm;djw7LSWp{-Ol@NyTXX@Lz(OKY&^-QHi91)@%d;w1l;w86f z_-^F?osVm*CjSbPS;a;I^AWt~qTfbWB~mruWnzko_v3tbo)5`3L$j+Hz?rR|*p<)A zMthNBvz<Lv zzVpnnkU&OiM?gPpc^APL#Vk%@+RyQo^DB;qByJ`88Q3*;UKx4%P-cHDwBA&46H-IQFdIqQ8Dt|Jiw$QRn4 z?mPEb8@~rL>*skOLn&^T!zm}oRwtET-VE1!!pNHzyFuy%wA;8yOhr?k46#KzAvdPw zb;civVggF-8rMzX=imhoT+REi4#y|+Y=*U5iJ*jB=Lklz-p?#VLJIVutGV!^cS7(h z)qEJPvazZ;*ypo@I#rMuuLn7k3^*%y7tM!FLuUu%Rp}W5=WKgdQy+zI$~5%R#NUDu zI(;#0DEaD-0;L`mT*@gPp+p?FPPl!1>%Z#`ex}}ed*3K>=A!lzC}2VGAi>KKyU_?f7>`xOC~IqD^UT-9|hFoVye{Plv+i(dYS|j zxoh{84~s*xvTB>m28Vf>*to8x;Wpivbu!?#W%=?yEzRrsV|^Wu1GaI?Aq?CNa}I4R z&aHMo@;o0=6~Ik{7pbRD>>YsaA_kk7Kni5VV%o^hZ0M*OQ&y{KkNOcn@jAKmB*%P! zu_IZvx~8%v;Nr9PXyti9&fGybei4xb>BQxZ&a~kn5=HoknZIkMok0m@m`6hcd==Iq ziHoa<2WwxoQS<9A`+&%XI_!vrKT`)U@+C#5x%e6gPTA3*yw$2SWP7XH@am+!s4RJh zmf(nXvc>J>2Y7+m#xD8sVQe(WH-?g1y>u`~M%*uvS<}MvnoDYLc4jjG2MH`P8KJ!* z?#2T;{b*c@5A19qyALRHiVJ*UUGx(X{jAF>{SKqwhx5y=FWdwFxb+n&R-$dgzew8e zRRLX-MQ9#$v;L>0Jy{RsN~|_bU4ak#Mem2Z?k{5Se7SzLFK55Zyzq)f*!wm0EJcFn zh!%YE2)o%Th^;+Bb-+Nqm`z32gN+Pc*O3!6`$BUpTe4$t+Wtxa@h}Qq0?}ElhktQ`*3`f$L*Tbj3L#AsKUO=s}0YI>c@UF-#|bfhe6KmyD3m z!?@7F80642@}9>17fZ3vJY%%<$Pu~k>)pfaXLrYhVe2O{9`ENAQC*KgIcw?O-R0qn zEi6P>Zu7t1{Y<4QrAhlwkqS?J+Av1Zp$M4r6-41ZV?z9Eyq`k&2e!t^byyi;Y$!BU z#^USqRv~S83yVPlAh-wy1W2XpXFvJQk>vC8>2mfL3%#R&c3$SAO}22g%>%Q;HSawU zYuef4RYLt_iy*2}ikOU@@S0vlTo>*pIXX`9lm$-g1$wFXWWDMTYG`-SEQs>;`#F$D zmtk%_F)s7aqYVvInR!}!fBTb|;t z+_EN}=<}LGsNkkIwxu^6oZg&@&ti4_d7=6_Md~cWhEo_!O z6FMpJomoK+9WQ@&&Ited9KBa0-MRa2G8dWr>1fmMo~IP|`Dr?HUsfxqEQS@Ev+HpL zceGKw+0$j|Ou;so6@@miTBB&fNnMviDf<1*4bVrow>p2h*quF}OG7_A%6W~#ZrJuc z8Hh%xwECl5eIm2?eh|~chIPtRJyAIc?&%vLaGOX-379hr&a>Xo^OcS4H`iKd% zz-maQii5k_gK=W1^mmCJ9s8LYA%!w~rorCr(luqvJ(E{hZxgF?xSSf+ZpTkp^oB6f zQ8lCubA9v}Y)^jt-T^KU9n;J}e0ywqnQwQx)FxGfTc)q-c^jxm=gu-DUu8&#G}nLm zXo5Sp$Wq;og7slW-@-5p7by6I8KXG{B*20DKTJEP)`v1?Xfa3w@|CXkDdIJW;&Yg6 z81?Yvk6P7O9 z$LIU1fp`zxcvP=r>Y9clCa3VyZMApqk?tngw2vcyERM-czL2r_N>?Tq9~82~{bqCf zDswW_T9jsoo9F{?J5*;McgChQlE6lh5QtEzFdGLq>8vsLMc;{oM$lOimxqj`7sb)D zOw4GP*w$+G9yX)=4^zEVQ|o}gz?J*6s6WVuw8VH9(x=9v3H!85Wse2Da3WgD7=}VY+5U@ zSyCM1)S-gDL=$L5A1Eyz-GdGLE~>VQ?b>cU#a%t*&i2_8Q!M-Xm^qK7{wU2dfTK(qZ0(gn@=jD~PQJMpg&N&0V#cpMX;^h2|je)esI^VDPTnpJ5B2R#_P-kP|qflX_KwcT9L z(w?nkPzw#d&)i8#roY(mLDGCBp}GFh+k#vY*WLd)9Vm&z%RLTVBZQ~QBKEfmx-jk!$DQJaea2#s&WP1lOJC)?% zg`M#~Da?G^fG&Ru0=jd~m6a8j)pYqC0ociBs73**>YiER*4c;Uqk}w6L~%3SpTh zVxuHX3wpX{8}%HGN(wm%6n$7~njRDB&?IPaACcH~SHb!B$QSX3yRT=RlNvy7morbt zqt-XiPB2y87IG_w=q6j|2-K8?L{H-+-r_^+w2RADFG=er_w-}MK%#N&asI($JG9NGQUN8)vST+`qdiqF1zg*SpcqVjfisY%}zG$5jM zh_u0@WD00Nt&{D(YmW6vxpgVQ|dWW#LxW**36TSC0**) zk#mSQ^+ZM%oNS`Bc6CxeZ2{E^Al$$S&?B*hHXN88U95r{q*;jCbaet`+@%$ASsR8< zhZJ3ub{h7f|P)&TpAs=FE1~ z9;`LZwD;+ScQx32nq}vY3svyw{T?Z!3n!R0-f`$d-l@#7F9Nn1-P0?Xx1U_DOrobe zdIzLN>IUVZ7EQ%es}P`ytbc1O#Gg=l+$m2TG2xZIxy;gm>hFX@$FB5|g3@F1*S4)G zJmj3mxpk1_6b)2uNLjQ8qti*<{&gq7M|sAjUsc?YxU=V(R?5{S$^;csrzQ%mThf%l z7LuaPp?Q$Ff?Ob#L=(1ua@RV(!%Ai^SfNH>MbevKJUq-L5OxuOXguTxU#!BYQIPC# zT-xJRG?;KF&E)GZfF#5xx7*$3k!#a`VI>6v=3=fZ@t?I%p~9bDZoenh3B;P9>HVsT zr;<*ow}D9Qs!M$j(^y$~gK@5F+EElB(Ism$E=ikAA`(~~t6$=cn&!H9N34SNWFKt4 z8V>Bf8AZ>oEUD4(Gm3M1YvDjiXC-{SXQxkUh({N#^ikp4zC1>Q5S=njd?66^=RL3= zgDt?Nhx}_QxTqh=uKX>@FI1qBwtbtstW__*Bw*B+RDw)cX)$3Kd6h&v*zV5hXHO$} z=KVM+XZIjDsVQ4z@AF_}n;SRN5~NWhiO{N`-c}~=NE&!yenFbEm@$m4su2V@gtUsb0RtwVrJ}UQb4VXHWZ@!?aU0Zn_ zdLKn|SfByVS5V-DM^@KN!Gq8X_^O7WNr)+kcR5 zapdNcj9iqEP04)Y%kG*+9+g?8O5Neq;pkd?I9%#pE)HUrUn6Yo#)RX956CbFM;}a% z4v1Q8cX8oKy>|{ao31c@qLKB5H5YrR9UNksUm%EDx%1d1!x2l0b;}b-odt{Kh@>)K z$pnBE3^F%;RMQ(@o7gP9d&|u7Ax9*Pv%}K=)FCB8_+CF_SO?F!TP zgX(~EIKi&-Yw=&F0vH`SE&FsUY^*Nitb@>Dc$ z|MbdOk!QAN-M!3z=wDdbN60WM4)~GPcD?&0sp0GPoZNcI{4h{a9DZ8x^S6;ETq4Tv z-V1Z9K&-k)37+Uxm*@gmZhFj7#RaJKk~^UYo0HD44S_$KM|?YXz%&L};tdQrE4wMR z)!XafK%ycR&SFbxA+~qpHzDbbFZ-}9KmFB)&AF3zseScsXc%X@%24I4K^G>;C}9N$ zcn}+CVZlb+^y|B@yai!m>H9#>2`8{7kS0#!hraVJp(nfFgcys~?23( zJj}JGZ%8E}0#&sEX)3yCio_b~ecRlV=B2??j4ayP&J=eH~)xVVKJF0JoU(TzTGc$f;K0a}ej<1uXBC(ahZ6xK(F<6mR zQpS}s8&dU;c$M`|8or)BqDF6xU%sQ0nBRGA{s0#+@jzTz`AtwTvOIf4K%Z-TM}m>V zIRE~BipJY31U`>Kcb~H%QPyBmR`~u&0MCCghgOzoVmB22#vg6?p~Bw31RY_5ogP0N ziYyju(z`7KyFV|0_;BikV_47JyxS@AVfsCe3yRN~Jd@n9`sGeiJ&4naSYMgM$UKXA zoYpZqHNeu5Q}&XsFD*v3go2?m%uxY|8d4MNm-*u^3ntt&mFOfbG%+84*@de9=cqT$d2OHyB_;IN4Lbdq58h4iPZ{Em(NNu$&anD z&M?m4Chy=MiRTlsrmYpq{;-^8r8K6(IXXYzw<~YV|CMM@1>bdHZm%$blf_q*y zKai}yH9*Pf+@1aC!+#p1h!RVogEDTP>99Wh9dhkvZyFBXf<66s3L{;JlQ{^GI1!@_ z5V!J~(}B(+R>J}J?fM0Gj`?5dLGaX@pA_&Ds>RPJ3CyNF9@k3~QzhU|`#>XY<93pVzPH+gGtW36z{@25 z>GDxfWte6H%McVKjEuk~yKa@#w~Yv$*ImEN`uIxOeQY6Zu^vz^i?0ozGsL{2`p9;Og(L8)2>+nMee4LT&eY ziWfg?y$L@XlwOS>f2!1|puxHEhMdijFu9gVudZ+!1{zIAhlue?j$LoEcPMr8svCg8 z6d3V$x_0noNET3#-}nT>e`nM|v(83GQM35v#o-o~+Mjk*7apDmF=r}U?Ou|gLT%_^ z2&8D`h1aHGngWI=O^c{OhL;ss9le%3p@KTftqW?$eWwN5-0h*=oxDE7!Xo-5^9s_0 zKf!zqfs6S5{5T`Biy}wWPv#dq4y{=!lU;kFVM!eh9r4H+iKU-n(^E-x?Kc?}bC3}y z63BFTJ~L<|bIZ0P5ug@hE*isC;Am^eM1^eFH93Tqd*q6st`5^ZG1ljV{msu>d9*{0buU z9lX&5vRwbDP&tV{&qnw|d(dp9N)6dg@*+jE8O4$8#$qyeMVSamara652I&-EYv$*>y}4QQ8kE)9%z+s-IVMr%5=@yG;hQWDn%dF2WHg_%>SUA zk#y|btf_HC93HQ+1RJ<{SM0iT$gZlPgjTVn>a%>fe-itkQ?TU!ecaqJnb0_fC}r|n zUqG^}cCQPXtfAb-p*hnK&?0u;4E=f2Q7*D~L+|b&Jd`e$`%%}f?Uc9??{w3bB7p!I zP4+G_5^wCO)g?*PN}nhz5B{OU z=%=;}&aeu?8XODxk+a!)ty2^xjVAHtKlKdJF>i|M*l|zf=)UC?8Twi+{U6hz4-%y$f=?H(+e`qiv_VDG-p5_eKE+#GOGB!&IxcBUA{$E2#u+)b#z+kBU&Wp)C;82dVf~R`6an* z`@(@#evfCdMZqunr`V4M`1#-QEtiA5()xcXmTl^?-6g{-Vl_%J;5nYmYnL2{>4*xz z5my~A@T@dcyVQQHG)udz6ET>V_h_ImN?U_< z>9BqpV3=sw%GT~aL~q&sr)729BrALi&UF?i6>-=n5ML~o`C~4;1e_tkX^_|mb7f9W zSHi)!g_+CJY|QMdYang2m&F}dLA(f?$Eu!75a=&C8wy6p+2nmcAO#hmXLUgJae84I zt=`W!<^wv_@>1OK%WG^YAn4~4cx>ZplwtS5HCuQKIgeo3X zq(+^Cr|A@=2iH@U)ZF2}kieSz48tClYGI6fni<$~%xaYhXfY~GZMDpQ<-$)VF!|D2 zm(&xeOB^xZJwG{ss^Amdd{!!rgZ4K)jsiqTg&Y=8g|eeEZP-bGd+Y{W2tAThjJn_1 zu1fjz?z)MB%mRprq8XUnK^Z+1v={T&;B&}86odZPl{JOzIGq30q!$vl@_6+XBuV#O zAS-Ttm1p}5u5-VP>D0;9a+lbqAhCe!b1NcWcKAEb?S`|u-f(l_#6hd<-%9cEf6_(K z*Q?mzk;?No2hz`xUf{rh{Cf`$sQ&M&z)WgmmK15jgZ)gj+y`{d=LK#ro2EMc*^8f; zAz?6coL+EVuFuxg&q&RtgoxmwbxI{RvMonfl_?uxnyY+B|AZBn`>VZzB(VhF=s1Ex zgM8xv!JQ7A5%>e6_VcPk^9b6dd0n~8E)@{7E!m*Yjy_o_>Tij*OEtOc0$-zoly={pJy$gIdOuNHxc(neU;P&4--Js^N_U6Af*>K?Asvf^pfnOo=hEHX-Cfes z-5?-KEZx%GooB!Axz2U|0Df8Kna|8UcYs|oR5%$WM?dCt$IQM<@V{dr5T%dt6>@ob z80{v4Aml9k+>H;n-)?vE($)TS54NP$-m#h3_lVSTsjvDP5t$_-0&8v6;>d#-wgp zOviNWel@&{DAurtrJfcrL?9Uzh0`e#NRYgv$d&5+Tl_cYkCCi?v)#J8Z*DRS58*M) zf1EJUcld9vkJVpiS~&iNk(~p$e^9ZD)jOR^WHeaSqeW${N|AN+k4oi#UHxOMmLhR) zOT$F3rWtoRs(W;Tu-{lAN`91b`R>W4c^U2PB(=R&b>01M5E31+VEbWjX}9#(>RRxQ z_wy!#%#Q?3e5<_K4rm}u#oc(at8OAu@3!-)NUO;C5s7`Tq&ku4Wau=^|Ernz8tiL| znsP2`4x&(yJ(Aqxu&f|c*d&^Pgl9C$mq{6Vl5K&iWZR^P3e%wJ3Utv6dU~m zW}jLq(}UTS*VO4Ts`=SqUh+uU20=96d+SvC98tMseesQT1SEyCtyG59jcHO;U@&89tgA5sc!l=SqUdIvcODJ8G^fPK9#~?VSWp1%RW}B+ybDB| za_kl>Pe|3oFietN2=kb_10P*BTQRj+Z2Db+w)AFw?>ouZ*MCJ_^T+&5HKGf7oQGg% zyE`Y5S%J=O%#{#}o7A}SFPNJo&ds#P7E>ebW7|lut+YMPdJ+U`#w9_;c;{N(Zq7f0 zY^>TL{eV5EfYQOVD}tUQ;~44NtH(tZ{mr@P2aj%mTar$?Ek^@RgW@#yB$l5{WtAPVjs@6I9$r-_m1ci z*1UE(+<)_C5^1pYHY)euiDrl}n0-xDiw5!FA97RYIpZ^@o_7!iRqkTNRk`No=^E`E z4kMljBUCnWW4ng;l@4S(!Frd54>Mr&0C_s&!>@{(k}6gN4T|`N%>9;J7XgU4`B%L_ z8W1Fbrn9)g7xdHrB)nR9m@`FKjOr1$OmP>(Gs)Qm!=-op& zK^DKR&?Q^+CxRPAimuBluK~j3LTK^;-|5rDTqa&V8N1R|s^LbDfm;akvgcyM)rjq6 z-b^~zsVXKCZ&kA*7u8Tk50ZG?>-vdaR?)m__?#?LBcgc_NtX{h4pMcJWH~!mBJ%2= zsx!0*>D-^HYOMDJFiLpA@a9kPavJE{Q!JuXJka;CO2_gh%#5pKRo=XqRCrcFyja)J zD8C2gta>7Ow6#%hZ$#7P6s%)RM&cC4*+?KPJ5lv^Pu<0Ha{tUSHge#VIP>6$ zFLp|yXQcgjWj$J5sQcTxlDxX|M?eoA5)M*I-{cuR?f_c)x;%nB0%(txx`SBP?dQvX zk1BP|>kp%PeC@uNVtmPVn zdEQ`fH6{)qcKSz^JXL5kH|{((@p}DmJaD#B0Sg(i<0J|9B?@QMP zq2m0G0Hh*ss2g|6A|-!h$)q+#uAaugk;H3MG0zrZu%x6l@mD)wC`t`xV2-3W%M5O` zyUCwr&)W(sT9uSW{F-Y_Gc&sZM;jxi(kvz(24nc8OM)cg* zr3!RWw#ALs#DNet>$V#RR+jD4<1i=M(edib^4eSQujQe-PioJfzbjJk?$4k=Br2w~ zC$zPbRVmhcuf~u}scB(G>qJ-Mp2$2{!u@mcM`9U>Ik3CY-X~)v%mZT7kHznifE8O5 zbM*UBLVFD;YTnTT!&j*uxUGHcH8c@ZaSBTn)emjB3 zC;H!GuoWW?hA_Ot6X|l6C*uDkNLqD-@74fp7LOGxExvZ!nnTN5SQ9X@6J!6$gAViD z?Fpr}{@tYg)3kN}a9>3T7MeVl$$Is2&a(5ZdK&r%X#(cH$==Lmm#Ov&(`duCIgY}^X4&#hcdd(; zR5-V{><=Fa|K-(f+-yuy{~E5I#ls2MDSpn0d!uMGZ>vI_fLYOMM&U%RwAKBAP50g< zcb#vwL!BslS@U#x(-pJySLN>&zcP6NT)nlajsL1<+_r}$v0P{SA(~l?CEWR3iHK$@ zNDsP-MYUW^7e}7_hw^rH@h<$GQ|WX6l)pL$mPGv`q^8bMmTLF#ypKZMZE-@~(BkyQ zeTTe7AD3f~+r=%(%l7WHAfoSS!B$M}2Lr19F32~bw)Mh`_=^23=jtIf)2{;eP~neX zk8jOg_vaV*q`gnL1h#nv#~aQZ!TcDxSk(c8>P4)z4Hv!U}9%hf3RQIn*AiE{NQf0AwR60?MrIjMbzRwxg8bQLo@ZHR_){a5wFk-i9x^R?yJWFN7`(X)D+L z4mbFdbL8_?dYJR3@F^^7txB(ojhuJhQg@l@aziz;=Cn;7!3w`fcXxaqhSs=95in?c zgn!#**C!>9UJ^5R+67V1|my(mwG_NZqH&PiEt>(d2s<;Dm5EQi5HX&H<|fI;53 zt|_3iH(~epf(|eu?W*fgnco#a;Glt5D88iuse*-5i|?fl&cl8I*0fyt`A2yJPARl|)XeU=s731d?b}tbS zQJ*0X+1cUYttRPu`d4|-kl5H+vA7DIISes_X0u~p1h7&kKAJK>ty%!R90$k@J4se+_80Y&g znoGNA;oH#@KWgu{X~X^h8Zw68IFN~7kO+3vY0%F2k4oj2!C@?_T%52|^L9A6Qr6UT z1e1dZHgzh@b3!q{62+|@%CYxEG99icf@I|9+3yDdH4e^KgWGAx$3ME->Ic^(5NVN$ zi$4xdlOy%w8L>!7lNDl)`XJA3j6MH=N|^qGet8rfEdH32ik&qX3@k14R+!;O$X*?G z=vnmi)&>`Bh1L2*^pyHs5;AuAHv;HK%(Evs+$>Mj@`_k#P2gD|XdQPl+9huKutUq^ znb@GX90RV}V_DHDUAEr-^`&xp+h<0p1HESj7e`tqHdQ?zZ!@`R`M+zcZwZ-e0_sWl za(!vF2L=2KX&AwLDD>zr6UK8eGqDGXec{Ci9@RZoby>G zlZv>;U${O0O6`R0RGi&G@SA~r{?pYb)BGM%GlD}`Ftt`qboSqAc{#lH*FgChF?Jh9 zX|1hP83ThdU^O)h@j9(SPM$NFGArv>{kCWdxaz#xFiqUj_SrQ@$3yCbMsX{DA5>v&#}Et7^aUL74SnP(3x zyzYIHcNo5ZuO-m;d(df4xjHXXHp=gtUJ_rb@aGq1I7QkY$V>d8=C;a9t}a_X?AD7= zyz`UnAH|uA0BSbeM{E3Mow7;HO-6Xo+EEoJH+HOf&iV)IwyCncDwB*{SC~@;?9Lr$ zK~9)T1`AC@^*>_=9pZuHtCFX`Fho;58I{97sB_? zV_W*aj2!Xs}$Ac@aTK#Epd0CyBJMbV*5-;{Il`fnXDZxqbvyFVR ze(HlZz$TwyprG5DWCnT`Vs_sbt1lI=B*yP^R-{G;F|Z$xFvkl4xUSR3cmLq6DBh51 zD+nsS70fYzhgQ&L>8_V^l!R--_UuD=fSVOFW!=>L=j*o?1m zBcW96#i%bjHK&IAof#MD$JC9Qx6(ZymL?Z67=eH6wbvazCysh52u8n-w9;Y$3#J&n zoCa0d+_^hXd@x=?nzdg&p>O53f_eh1Y>f6YQd*=M8(^MGN@eN5jc46gYWgA%OggZ=RVfVAVUtjnxz` z7)t+7K(&3&lWoGh==-xF9DlowMm3G;V7hghkM}AE7?PpA91NT zeK7MoN4j|l4Z88^JZms7<;0At`bQ{esFa?5yLKEJV#MRe(C16_8-UKEdKM) zx_R_Lb~gLRb0nT2R&(%^(S4K!6PB@6?HfFnJU#*ryS|I##hAqr;+A=oc*`+ zu)uz@Yz|WUMCYv>SRp=dCQeXoaJf6sM6DH6=Tqw1J`W@grQsU=CMd9NKFDVq;#5lJidVh&Og<-W18;!&=Sc$1LyBX(m23; z_N;KhQ$rtsZSK!`MtAzW=SO)!_R+=6+ocL&BVHG@H+=kr73L#x%G+F z%nz*Wn@!KF$H>C4vcpNbjLj7Tvki|UXD^Y;3sLjWX}zmiQ`24MIHnwUPVM##YJ`_e z@=SC`MO%CMdsL*=cQs0&I4}EDhhP|%0Qg=3LI&EyC@Slt%FT(>TZOLVtZYcEnx(Sr z|CcKDAp-LxCA6--U);eavbbWsmt7-FXK&{AbV_vj3#x#61N0?F?Ms(Kr=Aa8IiFA_Fvwprx*Zt#>&q}S^lm(5V{%;QS~QGkYs^+O z0^!gR4cl4_%QSSi8#M}2mA~1UCw*orF5{zvB@Xr9(Tly+r?PjvB+i@;P*4R6yLn64}Lbv}FisaZ(-%S@p3y@=ESA#5GMZxNkzE`0ima>s(M+pL& zbM1y#h;Ck&bnWc7iXAuA6v9Ndy*1jR$)lAJe`@v?BiS?HaSW%Z81(PEw zSHy#F5E-;|07OHw62mjy!q{Qs?c?sSLO$IT;{sz@zV|yEzyX>Qt$oYixOKMR++8y3 z8ItjNg8<7O&T@00F%fRPjVp4LQ2_uyO=ckhR?jBNU_pK{j){?RDECFv(iUI-Gz$lk(wB0BA){J_6L z1G?ie`Vr#Jy?{JB7#)eQ-CF1a1395XKWx23GZdb4iwd5=C60|J#?$ z=Tw-*fu1eju3YLOv-0Q;&ew=vuny9wsBKHI_l6o92iDo(xZG{@7TV<4G*6$Ix9)`r z0;k!(>KPdBJPymPQ*P0eO$sg-H@T+XKKPhD$Zxn`CEoGBZc-m)o$j^IYMW}uDSdSxRmN%YR-gO8 zy8C6K5IB6E`|6TvRuOmxg1Q##euxpvbWrx5Jb%ed?{%5~U|8F1=es!amCw9nhg&%6 zAclI^)$$|&RQ|P4?c#?Hi@oXi$?){1SoD}>efjtA=ZkBz$H$h{dN&Iz=YSL;GlL025*iIjQHCnU}0eztSNiMrK6+;K0>L7oJs>&-i6~ay@O?exx_NB z+DSWkO>dv`OGa41VBq`LVW_8`!J(Q#Y8NlxlKjE1R`LW3)y?BB#JAfdts5THpGQ{k z7#Of}yLfiKV>V;N2H8>CGh*0atg)e>aT2Q!m4s#6NVRT`ZL=P& zNb}V{y53;UCi*JBb+x+InqAv2XS<%hyTt{e@DJF_onw{%3j#Zz34g`zV85$@Cejs6 zN|_UoNk`#>%tL6WnL!x*om05vaX}Rp&(7L7ZkQt)c^X-vif?febl@r zKXEF<`FwfG1-5bxHx5s16}s+x_*3=G%DuZS4Y7ZZG3R_$ zlepZip*E-ZkA*KhVv4mXUxY>FfX0A1p1ZYFgg^W3Q}p4!}R>ovh9R1 zEQyKgTay-P@3Q{h&KSEA@Yfd~;R72H5{Ha1*Pqg+{GVajnQ(+(D5Ru}5?bTOdv;}d zc0=T8+5edFwCeMg9mz=5?e-S(HlI;_q6k7DNs+eg{4=^^hYcZKW)7GGlM`A#n3njLc6une zA4T^*>Hy&zhOAsIzCp~y_coWo)Z*+mnNAYxH{7#{1OFO53dDQnLPl<^u(a5iv0~`E zpS)9T`C3br6bp5Uc$Kd%S9+V&Y&P%n_E5!?@NsI==qA2Uzx1xzR8P>be%qj9iZUn?NPr$F2Tu58;6Sfx^T|FXG+E z&{CrGm)MGIwEbg5fS2gLhN=|DASRc;iaf<^*jACI>gY34kQvuG-`mypyE$xzGcga* zhbRs@tPeA8mr3Zo=W>Xob~;^_le?G6&`*)dCs>u z>s1LeuLNe?E%#+^z=k zW+VbYDHNENW5yC(v~hfux~`(FN};v1(xz^7M&rFof&$z>d0M#%_g+TsSXJc7h5=kKv6SK$v4Lf9#4d z$7J&B9l)8lizbJH^c$@YyIk8%^Ei^f?;^WDI0|vCS~hAnSlvwt_A#4sT3b~TDk$wh z>}sp#)owQNbC(fSJahriz#Yk^WC_QW36~qm$o}D=BEJ5f{v{ryVdo6R>)@;OPY1faPRwFWn6I z-Y?wpep=n>-aqlPUi#BIy?GY+BHt(AHNOsivQ9}p8hpN-rvmNO!^>My7atB>&^`v( z?v^~f*LL-yrqrCB`BCuOXdC2k$jY@m31A~2Q$Whzp9-(2Bz zD5Fz@8%!Z6>yHnMf^Q#xGB^DoO+*VKXR)Bf8&+;WSN#>KCShm4umgCzk^a3nlI|?_ z`Qhc%G=RUAMzNm`OLCKj25Z+KDOs)I7ZiY&gTzlhoSSEiW?oR{Pr+%|f(k=L`YPs; zYcK*CjhYqO9g^A{(o-bZKnY{o1Qa`km%3gIW%;c`>}{l7m(loZ4K$py6r_3Rq1f{JE`9J*g;^K{Pg8v9st zYh89Ii;Rqy+}j#IK&X6`nt7wXGsJ`o92X(EmJk)s4%LNPn1K-X%(YL--q%O*m@!_{ z!!+gjT*od4b3l~I2S^2cYZQI1%3;=0_CWg0@ygEWOZ|+q^CHYAegs~u+N zvHacm({~~mVQI)Mn@#%@vCYC-0CDbJt4HylHHpa8PA~kKhY5vpRpGd0GO;_qS|PgpvI>5X4K#xf#!Y=#qYbZH_!VwW{bv`Bc%;3 zPNxxpL}tcBAI%c+o6}IYae8Hat5|m%W~F7?c5S7Y@tYB2sAIy}w4JjBC1qXR+IH_t zyLnYzRch)Z)e|0F;M~bT8Zhe1&R?xhx|_ws5ck`*@jzL&=ChoFBDcqDaP17+xOj4R;C@5aR z^0RTWFfnrgP089hV2G^TP6l<&>x2|IQ5DWTQl&iDzK-?Blo-1l_VQp;1FH1cHoKPR z*PlUe7>cwn*YzK%*UYbnG=LMz-j78MMwK6={F#;%Ex+tMC+QCR0B-JXDhM^TdVasR zR{Xh$++>Oq#A$?se|E5G6(`IS|C8z=r+|x6!k=png{m9ovzNhoYa6rfYXY75 z=!cyrQP5uEmOo&sK)(d)#Vo_X@I7Uq={>6=qnO!c+IU9C%g|;{>woV>%4=Tj;(P(Y za`)?0z0(o;QnnuuP_%d{AmUWcC#+osCl&^v(HPaYiFL1&y!$crRn83I4ojPYiicl7 z5jh|iMNlYOM@qtJ^799IW(ZyMW}fpf_&}m+ta%+zcPYW7BudAsD$T%mg|?kH3Q4YC z2F`&5@8MPB{8|vu068@xNd?DpY1Hv2Jwtt%KG(VG#$STwb0HAoB*$OY#pfG| zB(4|$EEbCa^#*<#C&@KrxZ+^@VD4jgv7`BoGe)X72tIb>NsrnN(mLQg}B$)b_Kn$PMNp1>n02--_Q!QL4(; z8n#%JrtAJv;XzKCJ!Snsa=UP2YwJN)GhE2vY|ys&et+TZ2WCm4$@92##a|Xt zY@PiaV)F?J()G*LcB?tnsg}@j$@)Ork~mcvdbDorouus*Wks3i914?D-&izy#BvKO%u{kd;HjV7jruth0jmPg6(kom58`ppLTJSE+U0c}d)dHJ&3B|nZ zJZ3KXu>Lw-KUUx_Mh!J3h69$Tzq?$T>vkv+l4M{qbc%<<@q8lGw#wzN#vAqwd*%Vo^h7#cgu@HsU_&Z+F*m1WUt9?rF(W+lwU=rp2f_j9CoP0@ z(&mnTm{xt+%#+{9#gkq2=agN4PY;t##>-g1dr1ymEPhYbU5mG_2DIO9>t39fNsrAE z@J@CL1BS3?{dcLby~*%_2`pzmZd07la#{mu|jkCj{|VBguSR~Lx_D@QgbxE zBlBm@>ICU0TE7aQr@C@vzyBP=ypOJmGsSQ7&z(#R&R3=>J}#hfulncC?|l+MP&>|e zZgKEVh><^EaTSn#2V#{CctOMHH&53j>t3Y)Mh^OsMv6i!Jq*7|y zMrO4bkUmsUTZ}q(;ja%F#5)u!6_m+F+jUu=Ok7y;yd*Y)4kmxBdq%D6V)1U4NpDaW zCL!P&3nt2*G|VhX4@soxZ3oZl=q|dLH+WGAA38qy@Vs<6Wm$b=MfDEO`0Ph9yKD!G z3lgu3t8}fXvf$i6GLRP5FO?e!zD4+S$Sq^QB| zT;&ZQ(H@hnn3I{TX_ZFWv5ys!PTn9{_xar~SJ57;?7I|&CI`(VXzeG*ik;p^6-1!i z7uZ7O^y-$&e~xomVDpttl7@^h7jH0B{mp9G4jyM1FmPdU=Ci?}Bt%&=R!E#2F(oL8 zieG%lv;#cJ6t0%XX(Tzp5J)=2T!Id_n=($OkBPJG)wTWngjuMPK=+XCir~_eXmvTl ze0-Yi;O6CCKCiC?o%ql%*I#PmZ^2t@llYVN3nO9-BB{<6{{}zVI`K%Sn$*C5%NSPk zDTRtx>J_(n_jDjcep0D}KLIVI%ym5ip2yMaIyW)bR^g}TM-lxMafS$XzXY|&UZE@4P$vsGKJ=`{z zp29<#qeQ&(PYNMAV-_Xj7G|G32kTy=*)2$6*mr%2C@Io+5tDZK9yVUhz>T@EfLB9c zp>qcZgR7PLRX;UTo9!Rj+$?+d(w@LoqU6MbKuM_fpi7h56ofuQK-X^S>1FU}FYm+0 zS>#gCfsetLdsa53&T$h%8wQ%pSa-0OXgzzLQOTR8YS_H_*BYOwb@}-p^u!+F2PT~L ziOwIlO2iztr|fh~r?_Lz@W2!CA(9II@$wS`6No@s2Gz-8mvf=XIF>G@gU4k5_QDvX z=oj?Wt3jT=5QZO~7kJYg948b;&5`TJIPPQXStY9xLgVcN4t}O~N>Uz0++l@rlXp1j zA00d+X;!2M`;CV&M>pH#@| z+S9Vh6??sE<&|3vLIEhun8^P3GX7*b|NNTrtW%8HZIsU`lYPdbFiYy1i~>eK_HCh)w$;6UdcRpAd6l1*>rT-f{UIdk#%oQrA(xHvpEyBKBR$oo-^GA4N&jDUX`b6 zqBx;cbSo;aZDSB(YE0}{E_aj&2PlH2n>Ci7QQ-yy!s9bIMLB=B5G`Xvol~J|R>bfi z#>Bnkv0*8nKQ(J-^o*Z}d>*}t`R5P6An-@Ob$ZE_1O6#*;(6!Mf4j;RIiy@$w({>HG;6=w`Myn6{kme@Mt91q;0 zOHeZ;`RtyAU_l=nLd*Hy-vUd$?CRmYUFYkA&K+w-XCQC$>9Lb;d1*oa)phEb-sV#B z1oepz>~r~e!~&l=_G|6){kd77oZW}0_$17eLU`z;iFL3s%kP+B_Z29Wg0X zM4|fCquxaw(4OHYk9^VPJ#?dK;k2=C^P^DFlg&XAwwTkW2YR{Vz>=&_woUGDgQe%_(t_L(M6T zv@;cN5GYZm9QG+xs`ME9e)xJt@$r_HNVV;n*Ev-&UK7a*4i_IZKE{)^uSosbezY+i zCEznie`pg0Bd;+>FJXS(u~Ep*&8siIM=|w^*2;&2ut#V;g~2yql?`sa!)Tqh;=_ z=#`TW&-8j?%r;vXZCUr%e#P&g#pTN^YhQkPo?+y(L1_*4W;Yc4M14|B-|<)HLFDSZjLMG zp9+EdqJAFP>d&^HV-K(sx8XDU?&d)o4c)c*VGeZE-bAc7g2Y%Gu(}mH6{o9k3 z_>9OJWajx{_tHhGHBL(MUBsw-XyFzXXpb%0tb2ZQb7oo89%3bh4ehOW>Y5lST&D>R zw6HVI7>U->!3Lzf>*)??x{C|>VkG=|Z`*?U^k2IrV=b1ydgEhqUA|yJBSbl4PmUK3n3NMY@blB4I@bg2}4+u$xI{=eZsjZolj) zWrRPLW%HW9L#ru@d_5xw9An$ijA0_Ai+CWisz}hCD}bU2@H@8N<@u{+qtOJ7T~dHSOe{g!lZ+*Y7PrwL=kWONQ5m!uQAYz0Y+nZ-Ab|gz{h$;j?v`A@82qH-N(-q-C=y@01ha}&U?9~^Ddn{Fce$^)oDyyS6g+x z%$snl0jQ1DkU#;4m)pn)ie^;u0DJ_N**tv;bKC45w%W zfkS0jGF2K)IW7yB83{_4kJb^vd9RdrJq`TJr_bu}pjJ*iD6}tqL6oWTav!R-xY#Am z-c}RtayKEsUkSBrZ4eU8wiVB>{X%Q^yKVCvWGBXR>i(;y`*q(CA1^S+_u*S`HTh3% z)6cDAT>l(26r2yZ&kBB0L)l;-2|wR72d1!W<2T#$L#KL>c)RTY>}^m|t{68}UUN52 ztVl(tplBCfIdXK|OzBm`a_V(XGO{)o|PM*Kt zidcVc$R3A)IJ1pbfYm2-(O>JZ2eM9%Ar;Cn zlcqtP#o07#ltF8witabwtV>ZSoII$s#%Usx`;h8)p|qzRydFIX^*|h-VzP!PmYyh< z$7zcEXr5|QCPCOcy6C0}-rfIxQPX{mGl#=3J03VxmZ>|--DEpjlh$b|}OM$dR{)0`M_ar32Y($DbmrLZ%d zQc2B5E`gbtm^xUtN5Ha_F5KMAcHhXyg9BY=Nw+(o(9*M{>gS?m!RgnJJe&fU_p@Na`5HZB!OU4KqkE&@dVLfr#nQi=})0Y?l{a?FtPONjb#+zjQawLHQhxBadbgT7ad(pd6LE%9x0!;R?oUQ0WH? z%4-Tb#0D475=PR583$^BSmk_1vUYnH!dVxu_hzxjq2pE}J`kw)*@^|9xp9ju01)I8 zsCmNs@irA1!nE($l{o|1na?Tpo*AfejSG>oT75zb+xk*uM2CrC#DLrO!=jNxWOPxb z!e-uubLShNYs`uVoQr;Yuev@6hT(6oY#IKNp}h`b+GVP6{Kq(-hsNOG!l92ux(GoRD*{*zV- z+nz^6?u#d(SOZ6uV%pqhTa3jyn!N?r#&~LIAj5ogSr&L<)y_fpz%VrwvBDIk`(w-n zd1LQ-e(ucK!>W4Gv9xNj)F@s_YluAb-!(P1*j8&&zHp9Kwi5DS9%a z@2h>uE%>(;=GAJnKIScZ_;FKevUdu=XK|oqH+IHaZ*5Y)luo@s13Ks&RR4cow|4KXYAGS;~6U*p1>P!((RZpdyfi#+iS+Db+uIVL|bNu zFcaiVjcnSS91Oho-@gb(LyXnV{#L%v$V;kPX3r9f0obikC_OoD8 zyF^tWtxX%~Q$t2nhL`?^u?lf}~Y#|QjuI18U zN;t{>Hq6{G{;&n@y|@LPakn;{#EoY#y`v5~D<}x-%zdNGU#6;DXWiG}4ASr525axA z7YV3Ew!`sf-mDjXlPmEGpH2p6gQ)pG@NHaldr57_6bsz?aV>_hnypF5$v1)DO*v&Z zIhjU5Kkn`2%`od^@(L{rj4~+Gu1`qeX3guqzBD(F*c})BZ8C%3TilA>pBds3H}jQM z3@ce~53Vn_NF!=g+jELy04Hf;$b7#3(W{4f|h z&vtDh?(T)v?0=}LobPol8f=ry^>q(gcG}YAZRADIgk88)2zI=lf)CYH$5owIVd0NL zTQ_!9iJ8VWtFR&dfp{3a3J3l8&xDQrUAA|0-`?Bx%OWH_^jmD~S(C#{SK-!XZ;d9W zerJjYP=P$iu;M&z^a2e~Y8Txx6|FhW@-sghUVJGko8 zIhemI$g%~+@*lEdW_deX?QvI7*_n;+CmTM%q&<9KG4=Xb)U;V!tiaLuX+(G{qS3S6R3{0E+?NQzRGim|M51O4~hhVxyT_}LbyBZQOZlbfB>!gNC*WG`S zZGaPc5FUMjYDUqF`n;-<DKXAY>MKu79t`&`xE$fIpt zei2f=UaiM85FZKz#=w=v;kADqsQqjbA+Is!7%@XNizXjo+n8`-1M~A0F4Cf;Bt-+Sh|}DNTWn*jSUNIg>Go`j{@{Q--OuhXgptS6 z?JvUrD>oSfjD?_)2JP=yg30K3dy`c3tT3%7-a0-7=rXzOP>@l=;bJI|meu+R-C@S6IPVM&56Ze}(uAv4U=peO zKn8Q^W4X=*XU3v-df=Vtxzp-tfp)(-C`}&bC2vkIaqiH;a-)@o2CnD=IQpCsEpOOv zLR2b}TNa2gu*k^=%aM_1)l=KCk0>Zy-A*6T*WI03slXg)S&`G0@CA9&?LMCOoow(~ zaUnoL>8!Q3X2TP1?a=#wf$$A_1Hy6{KQ=k?yl+YJojQ5(Rj{%U>pv8it-Q=?{2_@p z3^7V(s>D)jE@cy9803wy>_jb-I^sybPQyDmCKnw?0#Yo=CMV&B#~E7BExO+f@2^S8 z?gaW4e4{K6)SYCL9>f9nrF*||bEe-UhVOykL9nPPCMCwrCjEzs@cC$jy?)=KXAG>@jVVGnEyDP(?Vir zt%ev5WS~NFLlNzEIqRn~kDrx=j)mn71bz^H8(B_(9Xm;5U1HTvd+NE-^THqE6VrB; zS_Kw)3D7gtI1R0!KW(JdJshEnHJz|(qY{Z(5K}U!DN<_2TwIEJ_~%K?r{?j$AvC0m z7j`f*hhe6XdFq3rC%YiT4PAmA0&{Dw-DD7?8@%E5b_WP#!qcS?ESxm;X4qYokGzm+Sp1oB!j_0riU~iSn z?sQQ+Bw>;i1>ItsGwNH>-@@>(^tjkiRzuUduo>nQbw;hWkR5u&>LS~7HtmY=|B#2g zP1K#oARna#2M4`q8vwKSPQq>`dnf^hFMs9(03HGxLsdDrb+n22Y5gHPhFtM;v=R-m zhmGPb=1KVU(W9Us3H*LmqjVvX!TRudtY%X@et@oX@}}3BamU>8wRb-gUC|c;h{{E7 z@=tOk6!RTpZF0HvZ1n8^1293)zN5f7)u|Sn?pdA48(tgD?K&&h-Xv4n1O!fDh1H|~ zhugQ0IXPKupan_&uG>DsGGCndpYCNoEDM}&=P`j_1z_!k?_xTWb$@-}47+Xa|HI!B z`x!-ju#hroBPEO&t5}&> z4@fdfET>GSa4B)Z)q?8%-yp~i)<^4j@Y4q&Aq-6O8URtWn`+-Rs)bR{G1t;RBz)d| zVDRt})Ej+ATh+^kfAT2epS|s~v97rPu*IjJ9XvtrM*~RU$C=Rwb5y00W^DyFH#Fr^ z0;Klh%huOY2S$?#Ilk$ca{Z~)q6CP{TD`pFoZBn9;3Mb zH#C|Zy4?^z*ue7yt|!Q5G?|Pho6!^tnm1qn(*WA)iQvxtfP=$;E0Mh3r@U7)CMbN~JUaU5b= zC9=iqgXoVm9MA#h`(2_q-3nn`hGot)4>GJQaS-7*yHi~%?2lKO}RC|zC3m1!WYOQIV z-6L@82w`H_S)9`B^&CInrkTK)Ru->y%Gu-JFPTcYcmiQG#a1aF-+zEselH5T1w=$D zT_@N-{$RFKZR7=XP8z7#M_7W)<%snc{v6Oa**usTUJL%7;}f4-cd9AZ?rG4eR7mqI z4ZeNH=00rN<#VJtc^r=eXBeE*Z6~d;N|#?DvvO(THKWnZ?&%o^Kc9ac1F%+3Q_)Qw z+0-62XDl5PMHQ4v&H*WNSb2?M8A#JWYfaclK+!5a?k!`HUwr`~O{9^bxnF~60IAgg zJf)EtY;yvlIfCF(uYPe-7pn8@>C1-ClT-NY_CCA&$>fjL31}uQOsrnCF_UVwlKego zNQd_mrCNmHauZQQ^?^RqTc`B-xClc3l%k*qN0Nt+eGU!-gjfug)1=iALO!|q(lYw# zPcGhD`;ST06UoinKGl=-ftJf^Uj0^>swr=_TpG=Q(=$PXw0KjN!t=oExX%#W;5%<6zbZ(YiEK{Mw z4z`utOl(VF+Ykg0gu3?#L7?#iI62cC9w{zglDz$zB%7T+I2=!_9d1jBZ2tMFF1$*I z2n10$c~RI{os4$=;=>vzwRBpMG&1DMFX6Tx0D|1g^}&G6vJ2>_OZ8p_CGH@lL$-K5 z73I`Q&^~qXgO8@B9ra~cCQ=HFY<6l|?W`!L*KQN3+w=zxW;TnECYk&;QPddBw{;%eNDf?{9wKM5hlZ-xb_m3vqBuXv}<=~rqx<@0cj5Z_F7$P2R9+U zH1|g9`4NF{;RWFP;CayQ!~}sJ9M@quJkDWw>|3dGL9n$UxpEoy4&b-9)9|+lIHRCR zyPkF|wlZbP+l%*4_0F$|ya3yt+#mB4s}@1{nEo*~E6O>|JScIiZP7jnKntvuqlp$l zqe{-V7w|iW1nwzTW`$h&`sDX9C#_Zp!86ykc(mJhXk9L1-G@u90-~rkFiV0YP1G>U z=n;3?QQ(~ARI8$x=HV$SR+!r-tUdb44P-PWPn7{x3dQ_#Ij+r>RybI<~1j zoCTYSlxh*jl|dAJu)d~&&`IsIlq*=p#~?<5Gl8sjrGbuTTw7;EG6A#-iJ~@9SSO0w zQ)_*n1Uz9m_}o8?IXH~j**4hPG|6U`8;b1hx43n;#&M;ycwuA@Mu&Yr`?cswog!r! z(Q~*}szw+-AgQsP?e;2!g<)LoMgFsB?V?l{ty{fEx3`=#(NgM9DGKVkF~9lH=eV-= z1-;|q<0FobM}Dtf=-s6>_};rOvAxaG$KoH0Tu<@KU)!9W&u+;Cuu_gO41wo^Z9O0e zBI*r~jAPi1jxS*ayJ@c1RQBNt80Z#XHk1&XdE@{ffc6-<~}aI}13aw8`e5PenPE9vXfC zGoiB|?Ywq5B#c6C+^G?S=>dxFULgz(tkNTdG|8_#hv|$Aw6)3k!()_4YU)g@gp*6B z)<&U^ThmjaGncja-n*AU2!8uf6;GQpdvcCPIkgUnqYhzsLL4;^(!_8qgfww->qOB= z>xMbN*?fGTOKWYeZo}T8$D`9Uc$KzZUDzxhAUyaP$H$FcdkwI9fH)gE4Wcll(|ADW z4@tA@gbl$0cPR!ziMOCem?*kQmkwIvwkEly$%Ny6M0f zhav5=Q$*>6OlgyqYi|M?X;@gf7=iNNrW?t*Et${ejTkt zwC)b0&rXKi+Vo?=%9JT?zLJ7XX*z7Y{NB{%ox%!{>$CrF9}&5W>-zwV{3)5@7IE06 zdAy5Y13`A7+vzOm?8~%moMN`;_MHaKPNgx@>Szh2AXMYKqW3+viQ^hdP1cXj2haHv z8h!Y@v}3S;5T#}r7thE@QgL<4D6QWQ6c_=< zN$50;4Wum4hu3~2HEA2w-vNwkFHyr>fun1>o8h zlR{pQ%?ff^fi<5yKDTasTI1tSPbRk2w%`05@49GA6_0%0tm8;5JQs(@;`|bxKNj8i zw86)po&Z@ON=?u~GC_H1yTrAtJ7h8f$I;l9OD1EIac1AEp6aQV)z=y}`vl?N$c$gLA@ejIci&tj}m_EkG1_bn8t5 z{{j6Q$9LYo&ebbP&D8#($A_QnW9G8G_n6X?Q`mU*7Fvmk+4wkW62}d+kqj2hOxnWE z%C4}o^LpyJDCl4r7U9t@M+d{3%Xsg;Md`FJt{t*dPG;Np4q7~XRA>LN1qe*1mlkXm zuriyN*5qI~3fj1>LsZn|uYP!qt&KDkA6Gj(eAM8|PiCjp z+69C(5JGZv^MH9ba;46R<1>_MA!P}}SV4&VR0q*z6a>TeHkMPuE(#DM#!7QqqfCo# z&QGV+oId=3?)iAjh~=TvYx{##O?q$z$wW_n?d63nQnb=ED?+borKb{;^2CU3mDL8)ky&s!AoHtkM8rxVg_ z`P3Ueo*&`+F`n1K48&HSQQxmXyEu;*D$RUJ@lqKH#iyBgB?mw(^UUR88 z`aL?ug#h&Oj^@4ZO%5(xPjhmj*xirVKO8&uNJE2VK`xuXXFe}^^_#{Q?)Z9K>2mvS zoxOwB;)Rz`5*(OzpAv(g1n6b&Z`s=q{e2-x_L0-OcUf~&u7CQIFRwi653S>Bms__F z*gH6zNM-)f4=!=#@^o{yr+TU{LVpsl3DeVR-~84#+Z$O*MNP9MsGNlS{sv$r(Tj25 zEUvtnm@@zZMHtj^dqy<*(sNU4JE2o+6Zy-}j{TP(dt_#$aO@w(eDG0#=dGYr4QU@w zU2gE<2tZ@nE7;B!hLs*r&x>|O`Vnuuyv}o1hc~F>YKNP*&Z$(}*wfSx z&rqR2*hve8eCefBgi=bIz^l_dyN!xGOd~xoQL2G36QG{elT(@w&B|Q@_Z%m41u4@r z&`P^R(HY1HV{B%wyz@GCb_I004i#ll-#x*tB{xQ4MA$3C$j&_Al+xgt@)1{7h6A%^ zD<+OL4<2{8bN39Tyk4ZUw_mI>R%T-obYc%nM!fl|$=3SxW2fsz{L{Z3(Djo2Hwv6E zjB)}rsyC9lxhd^Y`oP($+@tIq69h3qpn8unelR>=hO_=^FgQw5)bbd{${;;$o>W|) zxtz5!If*i>HA=g7izpmRJDdTWq1OZi)jQMEPGK>0_EYP<&d7}LAfmUNc~GkwqGFBK zEig}UO38lk&(DaWIOX8lk9?X|7P~YA64NP>AD!gsOKGb2euYvB%epkZcclsmy!}*q z>?~RK4njD@(K&IPe1EfKm?cbW1>y8-52pjC8zu0#a_tQ=r7fTbt@#o{NW!kiqksGr zVYk1J6tUVznl7O?c^;VNWrWD0RIAtTFiC$j%p!(a#x75q1q~!LMsB!%r7N$IDUbFq z)acmf?2}{M)9I1MMe^KRD7Cl-Y!W~nRNO?$B7SgV>T3+kBvUFP%^`3~!{L1Q6C^80 zIca#bNaL`XC;=L!8pQGWRPYqSo`{r;YY}`3F$DcLUJc3THI4%rJ9%`R#lw{2N}F4E zD(oGc0kbEM{`yDP+1bAM_Y=hm-;aAgJs9;PTI~SWje39@;d#mP8OQ8JhLZHdVll_t zZ%o!J)*Bw@=Ps3#&cF@a58}B|(Dk*LZ@#R!a#^x}7_+ypsGdf+u1-N^%9Lt>u3S=I zYTf?cL5uqjtLz^ zCf_7_kz|%mfzhA67Z_FvC$qgYbV5?wd37hETvQbEibgYH@1V`;d6$|;a)GuBIK^iM z17Ly0>7x(vTGd_}XBN{c;^cNxskLZ9>$F20j?d64AVSMzFhA2g$j%aU>$Fbpp<|6{ ztxb&>`q7m^A(7vlS;quA|ZW) z7nly4$#zVp)dt=<-R6U-%MO53YeIi?MtweT!gT1g@-{+fq98)Y3Khlp-7pyhjzl@< zrPXSsXq~k1+sU9@sdMa-;)N?2u3s^@|DeU~yLFUmV;BZ@AxkcI8N*)3upHv3jqB~B zRX9JbcK;Ln_8Ep*z%bUPLT4Pe3A}@;HF}AXNd(KF7t?XbZIzH#&uB)Pl&`*l->hI4H;|@{VObpf>^@Jbw_a=V;L+Yv?KM){h8RZC zNsMQvrE>}?$*q=Cz^USh`oS%9Osco>GV(j=D2~#dLF=BOG;w@F6eZ`Xlm!f9eNgwP zb-M@u-3h~-QH{grC~VHkuyC9NJZLj)@J|F@`IRGFUtDxah>DJXkXfOzVXry?RLyjB^;z7LqrrE12IzM z5i)}i7YkMX^e2B9)0e%27PsykQK>FB{LJM{Uiro6!JAnC4+KFbLEoF;{(OR;}fKGC~Ul(8UTmgHfOsZ z5d|)pVm~c*5<24$+O>Q5-4nEqdo%qRq%0t15iJv_=tnun&4WO5zW)(%b1;CP37uNuwS6`>;QCd~<6WPF!>~8N=zRl50&nBM2?+$*nPh^(Yaaq) zW*ukPIAyIIvsRAD*cwTY4D1|m9D(m^JRf{t<2afJ4?EnveL6LQGb`#j+J0d){m!;t z##%X_n*Jyan_T%BET>2udBj17FsKp7lb`EkOBA0=k_$C>6|2tM%JwG%EM-JLgE5!!%Yg%=B_vNBHjk)KtyM zRMk9=^Bf3><1S$^yM>030=tkO0OxpXlzwzGNu?cr)@c1^d_mnur0-@&oWA!Qxt%pGJ9^*GV ztM~{63Yu4Z{xMAM4?OI)&^-rLV)S?9B^l( z)q~#teEGRSJ)qVxQB=pytzwS!&a^Y79&k2j zouwlynM{WK);rV>KLjCrj-fr^5Dwk57U8I&$jm4bsJKHIRhNKHO}id5t99u-;DkPO zuHdzgP;oG|j#CPosNEroGy;X&tP#h_Iof~htAEZ)*+o#N>!!_H#+A5gmQd;pr8Qlkz@@k2L^Ilq~VNqCnX|R8+OcB3*&gsJs zh=ciQj{UkTtwZcwj>7sYsX9{Q|7Y(#n`Al8EX~I~Wa=z^HSUEVG(Z3ZMR#+XwC=Xq zwzV0vS+ngA`)l?e?U!9!VQtnk%OTMO739U$sQtYKMa z6HkMp=%;-DZON5OhW zku3t2bMoou*PWcSPnb+-(;eNnq;=_B?;FSSUCH)dLZ_qX4=Tj**OxT>PyZqMqgYWl+mhdX zene{45Y|wdx?r3pGukjF!srBT5>(nls}RdB;`-}2-ni0qF4CDO`mIfLQU?;^FstBM z_A*iwM-sM0m?fZj?w8$R<;9x_OVW7u6@$hu(kk=HixqBMFJO#dYd7NYvvKUiqQ1^? zwX;h1_>;WCJM)k%y2Q3|ONANpAloS-gyfye_dq8!+YwK<2Q=C-h03j|z7i>25Q58< zhb-3}R##k(j$^j>A|5?$VN5h3tF2}vZz7X32|9H58`-!ga?@<5ise+$qQ%e&bCR$c zqllt?z))HmOM)%SCmqD}T6acnv1@gQm#&wwgy54ejtGoIV^dj~AT(ZuG>qvTw9x4p zeK7eAU8@06^b~Rl-6GPdQy6qNNy6h9q9vq-?JXvpLfUwR)x5&VTv@FYE=fN`CD~#~ z)}NdZhXOt2upE;lcfn|`Ut8kZ)iMtsADtRWko9`%(a$j1la&2#xekT;$t+w$+P(^a zU3->4-@&hJpjC)U``Atezj%eP(Phw%u)P4|gh(erNSDgW%cIZ7E!Iin0efHl;#9)< z)@v)Y+7Vm3J){)aegWI9X1%X7GS-yN@mC~K=H$7k%4u01anPZ6&?QOs#<`&;Gawml zGYZR=IKBhIV7oQ^;$V7^hE#ufE;m!l zsv>0_A&Y3;M(f47rP8)=iiL5NvwnkwtdG(yEwOy_eTHfg7|LmDIl<3Rd-i|w?;n*& zl6!Oe1<#7+NRqE696}dtlbbDY3?;WtwMg}9Ry}nJC3Zgk{|K71mGIMu=cEi4;OeE6 zt5;yDrg`|d%a?cd(Q10J@zO?#fBN~&h2z}a)BM+8hDcdQ>&}#kkmdLk>IH;!DJ{J? zmvBN(I-NBv`{enR=HE3*@a@SD4dZi5sTN9&kC)8cshlscOr9eekZ9c}O`puZ<|zwz zC*e2}$FXo7iR0MVw#<9-WZska^)es-dt?6~;O_lHo^1{C>!v?)%smZ4R8VUFgiLuJ zEV8JU-r4ai;`!W3waU)`3M7r4OL_}0nhgGXKN++QXPt=wK5P7hW- z8$Wn2VPjqYQ7%$JsQKOJ4fYOtxLzI0S)beYw+Lz4Ar5!ZDnRRKMq+zD(wWdbzDL-b zHT)S#V65`F2qHf=r|+}r}v@O4Wu)i0G!^}d1ZNrdeu-W z+N>;lQx1LyhXWeTfc_xGtJiQ{mqP6p!X6Vz&nxoA?V0|9Px)Qn?#9??M+9e zNXw%rd)U`rBzpRgcH5A|A(Igf#@)%}yEDCEHestp8YlEypCO%T8Mad@G0Nq1D-^3Q zWR93RVbFgD0;+4TPV}H!B>e%M3>fxsye_Xf1K z4^fFmIx%jon}0qT;gptx?UhKQenvRw^l@&imiYPKT^;?twcF#-(+)=+jpKOu)t9j6 zxaB5Mi(cd2nN?1-pm*3tO)3bCM(6v&m;|jlc)rBgvS(_kK^B^rwj4S&*`VlpfkN7CvTDRx4~9r#e0!hnbtxgwq=JZw|5fZ@;E@ z&;c|`9iVlHG5x&4H*HRHl6)3wnnGojIA{^}k4fVmX%fsVnh8r%T&^Q6iBm07SiX)^ zsA9VwaWf$9b~t|WDJq`dhnNx18d>(DKSMUBU=qNPCSfi!ZDUNxKmP0%mo{d5?Cw9Z zc>F}rYENIsvN#QuImVhMj{OR5Z4V)>g%!?8SauEDUdsD==MhXzJot9|-qQ3L+6+eW z&a6tAeSSi?`Im?5UP5b!B)L7hjyR5_Sac{AY)U1YTGhdIEgW0sJ$#eI(!z1Z$56YI zpcGgZ)T)2v%#S}Z#{G`ZVRcXDa(r5TX#S|VfBj|zROM=@>@iuai1~|&6}i9#E^s#f zD3#5_Bg370hiq;)@*9QBduSS3OEaC=?8Zg2DL~S~?Go z0=|0C=I}VcajRI)I*xmOC$fxm?vW-O1?km-#iN&eU`4h2Y~IC2-`gl?>-@oPRh83Hy8=lSByyK34$X8NFmr*O<7&m zI5NSJDZXz=5{=3$BaNn_*){Am1B7%a*2k4X$1PLw175qdhi9h*VajhlJ?5|x;JD?v zq%%nFQ7FDb(pSWt>D63i-$zQ1V)gn=CZ~{+cdtGM6Vq&kJlpKBdl+O6bcNwfH>+}% zmtH-UaN16h#>4w`kJ_VsG1)VT{1ShuhO`QlmTn>B_~t8xPj|0zF2Xq^o7u=xw7EOp zrUj%^#Q|YI8C6g%w~w@Z(sU2kzl0X^$$)3SPLzyE?IKxi)alKQ@G&aI5k1~~-KA1g zRIAYGKyRS<^>0GfR#TpC9*_Dt*H%ls_s%7%)oen2cqI7b^8tf_M#?(Is5}_GnN@5A z7`=ExV!1AE(MLKG+o{aDv>KbEN4w}GKv)KExsR|cYU{7#R+q6IpRj#|v>bN7_&3rx z@AZ=owY9hT;hSBSsePM_vN|$2w#k?ZFJ*sdolGSRZNO}QAn^8r15-JTjeD*Oa4T0#~#v(#k2sw1V zUhtR+!f98Eqs5=hDCnJ;=Vtwzu>!=hS!(w{k$CbOXyS zA}tpo1X`t}$sm*N_m2pB2NWvn*rohlv$8~a{bc|w;Sx2vUZS}duZJ6vHStrE69&s6GL zB%Kq-o-si#r&VYjjSPi^@Uf)NOE0dmwi>fkwTDd(JQ}q+GIi^ELZhj|(|3_73{oxwkiE9(WeC&Yjlh zlFoViWVi@4{rMYX&Lp5pH}YQHIImup5TbyT*@D=={O9L0&bq(_F7W4zKYGvR=6096 z_ZxGibwXGZB(%sdqiQlJIfEX3&u+BS7e2?%h^O!OC>1U0HJ4%`>-Y41o~t5ya1`+I zCr1qOemloq#_?94i+F0)V9?8447Juc-ZHMgj%5|jB%M-9;-EvnsTg$sFe8(k*UBb@ zgOo+eYuD&Eo?=@sg8-+#m&JS(Gl{U{S4g9nqkE5uI=x(mD@l_k7_h9%;}^BE9#E%H zrBJzv>o0M#=n-}L#JvDDA+6NLAZQckrWRhki)Fi%m(Hki9tGTa*cp+|ll`2LenPqa zCdIW4;!Z$t)FNnP6HH~_2lDLC6J*Kr3;f{L7M?TSkK4O_9zN@E)E$m{T2`x7L=+w% zq@=WbYh)ZGjKlGx1ETKir0t!zdTbsXgR@Eyb|}`aPesCHgtM8i@ES0T`hbT>qjXBj zXc!Z%^N>!RXrg{H`aHDw3L#xwe+45uQ;+rR*Qb6TlFoVYD3;~ZZ)_r&U-1`c!cK_F zcd^!4zmJreMD5C@1NQb0xp`xqAaZE6ss!QLlh-Wg?_e}RS_I3n@oMF4(V%{7n$T&R z*3J=eKSbIFx86cp7NzBzl-9C7F`dSkRB`y=*F@b0)z!BU!p8RgG3!73s79WnHdFn1>#0O z&)PhjaLyxw*)_U^v}#yZbJa*4O&nyy3B2hidig`*^#fX*LbJ z`ncziq)mBag;M=39Irt4@Bz}()Gob+$c;=KzXHY(w!5^pc8S`vZj{DE zB*`w2VC7L5ZmCY8a&yWYCBuY8zt*I&B8>y$z9JqZcqN+~FU0H|wlGKvwHphooRE>u z-+XpVk_z17jZu}e-+7E(7OdX-Tcqt_*&YH2nl1W=$Apa@%6@=l`xMGorwE7V7kKm9 zKK0`C1o7e1h)?eijVdN(wbzlBH`l4wamz&AkfVotsCYcd_{k3=dIQbvhg%q)JWWZ6aHx%=B>MpS8LM5VPR2@=BK0hTq4c2IzIPSRT$=9Vw4EY4P3bot69-M)1(}p-9HA0{(V5wdR>N~Ln`f$=I40@S(Q`ca zy_we;@0+apG1==i4?+qG%eBl*%B@hUjjMZOS?xY5G5D*8AOv1{nbOLOqs188^@%zS zqE?r<*GC9}=h?ipe$2{pcKw*dFMfN-VPiab|E5(=+b*C|MR%_?(?2#f>CvIk?DsqdPcUI5zqP8Drwtz)gn%P zyxsGRf?&FTbMwFcJ5h7?zM)i)H0hG2t^BFODvX;eXUb@O1PCl^1G~77l>XdI^ro5OuBXgpo)XqYvQPdF!M>+A}D>F_xfh< zF?1dmqBwCcAK%lnR-ExZtX2(6HO;jvDOayZws$34+cAx%qTLzxg3mV_oCjl?BjfPw zdC#{!zHj(X|NPyl(Cr=c`TWZ*_V!z+y1Py;R9wC6@$>)T#&f?{yOZ$XVV`>s4MMoN z96UwJWaJV)B%(tS`lAoqym0;e*`F78%_n^_;7 zTg7tMu&g3U+{lcEbhMas_8Sa3J0wwu_!Oy~_SMZj1S-J6JET=#mw21l#6zkWK z_ShuA@v{kE*zVHa+$C(Ez6hXAAL;GlxJ&rut2o}GoB4uB1QXG2-U9)}>W!(YpXU|% z;Dx6n!Z|6e^$Qi8!b|jy{(!T*gyZ_uu6{7u7TfW&d7XekbC=%XgDhvzDN!h28xbbk zD^c-7t}nG%tp@Dw!>3<3bh{F({CHxdCuFsAoN8UaN)pEG-`+&U!|k0uMy2wBY)01Cr6%H_05XV_0jRpy{PL>3LRhV9J% z45Q>rr1bEs^WsqqaoA?i+9vKFVc8WNcV+b6N!&z;N**(zk(SI!rx|@WIy*lYIy{@~ zZ%TJidVh|)tjP>ajAA~K8BgrJN(sxg5z?W$aS8qQRNiIrr+q3hGTi$+#W!C zeg>rFjnDIWvRd0Npi@N}%=U2}Z~uX4aD*q?bCsX~tj{SBXJ#m;zdnfu)zX9N+UWg?OBICWOqmAt4(?+S@=t$%onm3O2W9`D&)tVjwsyw%gwv{> zT4|E_e8e*wdq|wzpZdEHVsvI3hR4>JcnaZQSsOX2={y&q9F0?V0F_rZzr9}6|M<`G zch2-?Z@sN2^+V|>TD^g_tKymwS%KpK4!Bxs-hW;FH zzj;ixYiueC4T(jg{$lZF7VfgKWWb9d8(boqQhISuTU&H6bm*5-=HfbWSCmAh=$Cz_rUBdk1~?_q+6Z349;c zC7=4n5@F$ekS^`L&q4FACtsA9Iu2|8TWE#vf3@`#c`$R;3(kPPQZ<8E37XYc8_Ded=`^xdrUa< zkJ)y{Wv8%nK=)Re5&=!7UfBy+00 zIU%uTgqR|nQu?SUMJH#u)Mo!zX+(4PHY)9p=FUQz%(~v1 zs6s4suMHS<=VvO~PVPc{B8PEU<(${Y>9}RINlC*ty~b0Lu!CinvF&>1l&T|)4zS(& z-0EkxZS$pPMyF__FgnF(g*MrDqZL6O*)mN=Ps-f{mL+lP)y%}FGF?G5T66sL6Oy=3 zX>|#NLE0|T_E^6D{`C3b6-Oo6-a&)*<}QQAiO<@EIF&-D`s3uyhr>P|l>Z%>gPLSFwb#&>GA|zFdGP(W6RK51(T76u+wqY2w$W-wG@2oM z`+croEpYwX^Hp$%*gw$RzMG6lrj)C5AGf}y`Ptu%@8zv_j6hPW&EGl0+|DF{B+0&~ zYWO=eTYcJ{nEoKU7L`kevet zB+>K-84>IEGlQ7HAYl-s1YtrHO;<_gS4WHa4JnHrF!Ir<@9DV9*zOWZl-v7z8`$o= zi@G6A+9dHIY0^SU7isxf-lb7Q;a-*{=#=M>PK$au;`(ZvYAM2X#@jHt%?U319go<) zLKJlAH=p1X>eMg4Gdu2_bm}Cb{cL+`@@aH5l6e|s&~%8SEbC2L9;MnVr&KxT6}6`y{?G+HxgwE#^Tw~3=8R5E>@IR1FTwAe_fOTYVwd5(jYUCEBuiE8I*vf3fx z1g1!*(J8iF#d6B1w2P1yu73sFImgTv7Lw3xKPdW*0e}1BK0;_7K54POTBKTWDU}?` zC3obIJc!}$(>{YRnUU23Bw>&4;X~}Abt>V6oOI?GG}^Q`cj+BW_XaxUO-|yxRnA4S zTF9!Lo&6Si*br+{Qq{ufHgCMTj>hnCbC&E5F(jR*5zcJkBgJzPUcGw2FMjDT2tEhE zwy$E@!+412tOn(kH)Xc)t7W|6HN4U?gLJy;S-<{HE~OolO`Rr$n=Ou>e!NhwYFSk* z`?QLno-!4hg!IR;NLh~QOLME7s(4IcIqPK?T9UM;TPucy^XS>Ze1Da5U=i^=Z=WY7 z;nkNzj4|B4GrPS~)^VzjrwFGIP_KHtd1Zg9pM4P)Ry&>b8PciJE^(A8c7PG_jN(s5 z*}C&k@L_E=Wn*2ivTRVwU|EJ*)uGpq==T-*uZ6K?i8^HfobFnv9B?2L34ye_4ZMZM-xEN0s`Z0GrN!@;58_MM3R!vrDb6U>wN z@eg8dTvu%GO7;%|;y6XACDK%oq+?QRIGh}lTLz%5* z34Z?5=kFyrFP^_Tn(ZpLcs~0%%aRxau3JagOW1Y=F|&ehNaJIYq=8l;T1OxRuD3!G zH_s%UH#a&gRpz@4hB176C#2QxkBk{=m*2rH%#uULub`8NBnas5H&5Lztz*K$BUGC8 zhdFK?zkKanr1PDd2dq>>f=KcE+Z~SE5w=@Cv&uP%Ny1sX@&VGx$-(gBGFkuKNu*() z{{HUh_r~TISaNA34HH6=aPP#k401LRqW}OP07*naRMPS&RIUMvC^|w&IUS8+9CVzL z1TkT|MZY;gIt94(ZGaiV=@x2W3_{wdI3t}pP3QL04O*>H^ap@SI>b>EbeuxgJN$+R%+HNxaB?;&BhM5GdN=SdP`eKrBE{aDHQu6BR zCacwe{y_85ueaIV?~eRjq^x3D%g8yIlIMk0+@ZYm5|-l;sPV#`v^}cpui(|zhzH|i zM;e!CuSaX|OVW6NN&-|ee{yMARcw1@q0Dw3@th=_Fkf05$%j;iQrbd^=7TSA-L=s< z3?T4`T1}3&KEaZgX8I@3LXtenC7$`~ed9jQ`S+)jgcHCkl=<-H*0~7h5GSjhr%7zn zq(u_9F}jPIlhJ%0@;Q{PPhxMs&*!(#%JiKikmb?han>{1Ax$?qpX>5aCO&*U|AdL5 z&HTuqEH8Bawq@ppzSpH#w5V0Tn}qb>P;&cj#KGY?7Yn~7Eb0@7v8mau7nb;&AFVBX z+yyRhf$t8!lVtO|f|J$J!=nMm&46w<#`fpm4T=SucV1s%Z6*8v;c>{;?ttBcepWrh z!nUiUD(ECs+98e(NRuW)IvAbe`rnLn29f5!ecC37bQY&#dn{e~{>)_BnwSV5-u{13 z%EI=pp4!u-(hkAk5k?Q4d(S4FuIcjO8*N-CBMXPkh~MAtkSIxEX-o#rs&XE+Q$D)g z%gMnHrX;nCNaxYRj}h9&cB@4F20>G!)Dc>BkX8xDSw>n#Qjzs=I(!d+gv^x3c1k#Y z4W+}(cw@q;*0Ow({s18?8qW@i`_rF=yELD0LPk1=22MlhRH4%}BcMsjpwYqPrZJN% z@{`EqrD-m$OVGN9)&bHk;uWtUrAr!Q&sC~NnjWLn>3!3-Q^Rt~m^?m3+CF~i8gX!l z5CXq^d4{~Cc~5898}~C#PM~dfDX*e_y$Q_EKWxq=o9&LF*)(kJXts8;W5#k5UVhPL z=eUbT&dO?yp|yJ(%h%^3oG?o|0eXkWbhfvNgZZQ{t1Q0#jUrN#Fs6UpLaPOr>;*lX zFeaQr+7rfA(_?Ym5>=dTcy=_?2CkBTGzn1gfUti^*qw-kIk(JK=Hq!V^WRBn?Ua<( zFVKAW1?iwqvHs%JIcz&c_V0a6(8&vSYK)IY_mn04lw%ph$q0c%L&)7*{rQ)q^#FhwA%r<@9wa- z|MeYVjp>oO8h>33jfsZDbNJmE5z~{#N7K(eA0b_;dz8yiDnhCF$DOuqZ4bEnpvrOM zn`M$NB8~InmnPxZ0>{lVQ(bqMotpi;v0mi*)eDoM3tZsO2^VDZYogPQX|y7~xZ9Yz z+5YS&S6E-2zgoJz*XPM*m+ieiQcASe*~HsjogtoS(jFe9nW21wS^ zX}g3^|CQrLmsDxu?tpRTmnKcKzA(!!V>`>(_VQFO+K_Mx>Ev#;Hrj+IoN7xL17WL) ziZrdguZa3b*v@qX6`cAuLS*~8Si6DkjlIpJ8ICLE^_P7qW!ULuWp zSdNcho;@Bs$06$WsFxL&mipAo5%(Sr`0{pyQnO}hUx#=~KO3WT917(dxc(Z$n5#hF zqqKSx+pmx<%@qiC#@V)u5Oxn}?|+r&gl0Ie%yu5(9OjtXZW-krQC!OuHYQ1EKKdLX z?5RHN?4N?YJHI475sQ+MjS`kspIh~uHN;|yd`em7h3i$GZTIH(T|Y1JoJTkvzlu9} z%32LPFC#jhm&LExr}Q8OLBcP8{gi{_Y4Uhhe9HH3brGcO?6uh0?aX=1`Kq2*E(@0G zhKG;3e0gURW6qMi&W>dS6M%UBmYsQR2}2AQX@flhVIMk{hu4`okGAEJF1hKrp z1upQHg$uIz4KWB({_w>S+k1U(TrKnC_s{3Hc3$F{RXg_qgX?X8F+|Z82szinf2|(# z&Wp#K#IHW@aMViX5>Azd7_D&&HC|h~PtENSgef0?a>&8a_$Ha73IWOl_~o@Jr&^sRgzXj}hzDJ| zN6!emd)U5@TP`52Tv~b}8fB7jj>k0pdw+kQUh@gj;1I{HW633?{5lh)F_cP(<0mr{ zS%0ZUx&AWJ@);Zl#Dj!5`W!F_X<>9Wk#I}Je0yd|r(+A&{9Qi#Lx5Hw+*zsV^ODZq zQ5Su_IJpsi^23CFkaGKJMwq1ZsH{xOYK4^aI}gx#)#W^d6Xui7L34+LJHMFw_(if> zm4@^hcS++szGOj_(od}%hY&8t#5v)}7a{D&EP_)iQC@z9LhTAd2((I3afF_b zINEjrVG@#lfKt%i?+{NE)8qK}b6@+s#M3B^RT_`c@v`fL?N$i%eH_0+Y3)|_Kfg-2 z+eQVmm9UfKQ>7tCPk)0-W+%sI$!wLFC7h6*qt22ymAM&g_UN{6gE8kOoRg5UmYI7A zFYhfp2SG9+LXMAvIGJBDI*-8+fK}X_C7iZLYx9us#O|~0jC6WlF7fn2mY3a8_GPE5 zdHl4;=U;APjKOlIKbS?;&ZSz)#_E8}8!pebx*RvU93A%wg82(yXH`BiAy=;iJlkxe z^y!KXAp}4C;4{4WtZ?v(**Dz-rt>hkCSp*0H;u=y7n4j z?*OMz%gtPBytn!Vu9Z#h4m6!(RORp2#-}DvlPBBmWZSki)il|*Z5xxDI@z|}Wbk|tp@Ub6HjIa2`x-?X?gX2C|Vi*eDCp+otn=Hnu-5l=+ zgNP?r2)Ox7*P>TPtEzs`t_V5fWOK`NK6;pMRi7FS#{hrzg&0nW)`*p!FA$uvS=Jas z60||Y2ZdW_HGTkIW`1cN60+Rb_Q(c=)(H*p%%%@b<}rS*q=C=%Z^|6SF)~1hj3KSY zP0Zw$HCo|1?Jsyt+8lR_ktPma^pnWbXkq%hzDYG+Qf%glq5Q$g%dOJ0>oTP%cd@v4xbRwT8B0u_26Noz z-=+3IF3DWV>OcW8nK+eqs0{R(OFnGiNM721Ww9KLO_ShzH&)zlg%s5a>}Zl0-n+H9 zx~&YLBW`g-J1Q+fd@!N%9nKJSaE;^-%kDaNh(4N>a(z#{W`KZVk!j&PcFKTxN@u9e zE7T+=q*PyWK6*m%im$d9mt?gY?lu0!T3=GR;F`gYZpVy&mP!WgA?IeGt^um`48!-# zV3d6IzUz5WK;W;~>nRJCHSyqiL){@74VtQ73-Spv1)cG}pGa_Bm^=7!D_Ic$?j*I| z))A04jOZ;~X{0I=;Rmk>MnWBjux;p}M`F@STGB|-tE4#r$+<=Ar^Uk5eM+)U@$gWa zd^z!oAh!MI?5=ymEy{HL)qJ;0i=%}nukZ6|DW5M3rH}T+nDHEqDFG1A=@Zmeoy#41 z#_#DbR^B<=_{f(|o}0!2^?CKUH03?DG!n!Bm4np-mg+7w(BeIUEPEVVjCnJ1c%jd3OMo&nWIzJ~oRJal zxRkb7vCpo39^1vwcJ<(fG7L1CkGo&%wa}Ux{H}4vD$v+L3L@*fEUD+{4b8RdXgU=5 zl$_MdBuz?c<7jJ)HO+#qB>#9wBaoD(VQKh_4#3J~T_glEtnc2GA*)b)^{kwaJpH$UnL5J-M)+b`R#s!)=B`I%b&PgVzRENp zNrQ>x$no?hEexYPCq|q=KwjesM#0{P#~MQZn@QqBju!IuyF$OJI9G%=`njFj#kj zjcy_roNQ|ClmuuK#dW)mlqIGwI@rbdo19vuqVJdRlCng-SiOyz3Rumb7m)dm0!iP_ zwpy%E>u-2nJAlyC8Le_olaaEhOi7^F4rfFH)aGuRg^x8e;*Bry8n`w|UL8)SrqT(W znAzL^rIkPcUS6>$aF6L+T$C|hT(+*!5L~t?Z0BI174rh`Ky~Hx-9m1#hP1?+4ea;> zSJ#?k+ieAS-|TM3vt1Z#Gs=WO<(Mriz>m}HzKoYSgAs%}gGEN)#uE3abh=F2Wj#Vox}4!_nCQY=SlQzuTn#<1N2O+Vc4$WOmEhDjFP z$K=)0C5|RYArF%sO`EaVMO|@J^omUY2}2^rm^PVfGRM=0b4dgwO{|H~r!P>C)*UN) zZ88)KgQw(gcLc8#)3t#hl<`$;AB)bsI68@P4hzTl7}=58R#I)kdrHOgYBq5m$m+~N zMy^3pX|e$aOLFNXa%T9V+DbDF}0Ibj`W`U?N^Cp{Vt6 z5eLq8DJFsgziv*|nxPg}yGuNF`nLRwk~W za=r}jTQ}1PP2x#&W#c{jL*rD+Z-#rRL{2FN)8H}?@{0S zbnahTkHAtIhIkS6Pi-r6{+u;09=3QTYIE=;=ag&eRwjHpPG{lZ@Ecvn>mqwxT$X~)$lxY5m!8u}IO!UGu3ppWg74R6)~FFp!^1#m!vQEtKG9B5h3lU- z$U7&%d$26_y8Mu-&a1ixk= z0tb7}FDw&wGIUx9o>((FRCBUZHCx9;-Um-^^ed}7_=cb>Xza)4y~F$%ehQIQT`=+| zw?@5tknZD%Z4Sm*a8l>J$I1MscK$QPxadGt-|NRxo=bAd;=Y*K*>3g_iP7ViwQ>d1 z=@TxJlh8Zfyva-LafdlM^W0h~e75jFlU)EABhGOHwj^ottYQz&kQ$o;GL02MrsdY0(Eug)B1wE|AlZ=8Ry0x&?S%DH(U=uH2te-9By1P zs+9GU$+}YMe}ctbck#YX#=q54NgTrIFbHEg8~4)~7vI;>segNz>byz$oQY%Kv?^6Tpt_MlD1SJ+a;6c(3&B+1SRiRc_y!IzrxZ%a|uwl2#Xm-6SJ zKW$~(Yfm2lr}abN(h@c1C)>cqibm2Tka9SN5%}Qm2^@J@{qG&_c{Kt&MEdsTvK?ss zfn$Vv?VRmtaNUrw*dSX43Z`FTOVd#0(5TC@6r6cGxnWxKXhegoOBv#H{M1fbVQ)BmBSN!5!$Qnp;yX5l5Qk`O_ z>QGA2Fii){dFi%~uNnX**H&8eS@1%)y&@;f4Lc4c(#w{x#a+b0{aXp1w|_h16ze1_ zO6IbKUeoWt{yn;-WQ+$ptfhf7ZZPJhXl5iANdnC(n8iqDM}xtVc=;l$rfJBV;x3;w z{pQjjQ4B8)FsP9#Bd)4mk#K43;9}I&9tJFwK$_e9pEVIO!^0w!^S(AZC7oX+EMhNhW(6mPYQyajh|S#~ zf(&Vl2Ws+~BMrweF`RMH?%b{-PvM|ChtLztqD)h2&cE*p2eA2o`)PG<5~n_H(33nE zz&(d1vY+^(DlpG{jc;q%Bs8<>E!W*Xncq78ECo6{A9BRc4&-E)u(N?KRVwNDK(qI} zJd|e3y(nBb)7pI^(UIR5TXkZg0g^W9L$~w4yR8lBmMeF@{CgABV7ww2f?j!J9qbU8o;Ozi0zf^bi#$z3gE8uRpJc4wxNB{? zsO#k2-bq4&mHfJ1>?y%zgSAwhAOXRnf*8w79)uzlQ9z}N&N)JPAL~Uh{`dNj4wi2X z>{r6x<|2&sBQUcaDmW~r3nMQ-+}z{Pk>oNkEvaU$n1ZvlVQX=*@D)@*vFdWiuUV36 zX*j!D1VTbj?#j_BPj;Fb`aWe_!mZrI`#g$A~8@l^=Jd9x}Xsy1t-ppQ5u>qMrOc zr=Y=Wggwv|X=;kT<-yoM6#@EZf}s1%#Sd1&gMTM?KzbJ^EJ)6va;Q2>LZ9cgS^4-) zE6tnu898Hp#`T12^G0tsL(C>{lTiBKkjs|nsR;{N>W&;wR2Xwfn2IEv?5_HlR%}Q- z(n5-+FkE0SrG(-oS#yh+%bs%`0U^hXg9sWqR1U;7aUZQfhDWxk!ETHu7)|$lW01ym zwueD!V*D4Qg7Y_K!d%&Sey2FvgHR{TuXj_Kb9qw^5!dxLXk-iBXIl)h&I!aZM+A)2 zF}RFjQhndcf9E{XJXEv1n+1*U6v9@E`H0(8LW(3jbMIW_QD2&U_b_t-R1L)(Ln$r=knN1!S z0gsNX?if=B-}mD(_}qcAHV4F%N1iRB)zEZ-b{~6lYiH{G;e)4i>~8?7nDy}7%$-&f z-0gp~yXj0rxP#49xn6UDAV5SDcyW*0JB%vqhGz>s(-9E+JKWhQl3X(&>tv{S>Z`!> zH5%UOK!o{{iQ!;h^Cz z=9X@{G+`QfYe}!|Zew)izZTm*!0sz}ILh=zINi}5zpizjSF>^qMMCoJE(qda*WI|u z594ZEI_~$GQuhrK3|@0Qs=~Od^b5(x##d*{-+!}nA6Z!P#C)za!gR!EFC_Rj&te=U z^s8eV(m*KF)`%4gq8x5n<~hc^6diMwdUr)p=dBOQmCyUaLYDMrFL>!4kG~TtF-wXY z{XUzQT0C1P78T;QeA)ylni(*y1>D_otTbt@&mY{|R*c;I{F@uZT;9E;sMe@rbx8@? za2g(J&Tq=bxZ~`nq9l}$?;a46?BDjo$y0*83C1 z>Ak>wLAfMrv+rK94q?pj4jpkQXlq@`@61%$_Fc3f@*-0sddGgcZ-p2<^5L)imyefWrJViu=v-Ob$EK?CfgBTc zTG%S?y`3mY!o+P)_LSn|8pJfg=lZ|rAmo*`OA}tS@yA+66?z+3w_=HRPY!OkD0Lm= zOXK5JDH!grNpsxp66<;Bg6xu2`qTp*w2p?y;U$4B4PD*WX(hCh8xAL82%G#*!NQfvqy!4IvSgQ+~Nkm6jvU-DU{=eDvVVyeHJMrK$Ccy&&OMOrU0p@?vH!IAXXJo1vJH^E!b}YmB8Kw z+26@@FZw-;vBq9h2Xmp5FPZYa-RS}b+mKjXcz&qA>gRv3=_Z1?s~YW6rF7*QY_cws zy487#q_=6opwZhmqEB$n+HP5nqn%{_dlvRiG#u3zotX`O%I~D1>Iwk^_d|5c5|3K? zffZ@r$Js;XLV+6)F&bbT_R4^2F@NF{O0fvI`%J6aews(GuNLKrJa{U5fjuQFqUP(P(!41HX{n z_ZqE9Q@kSF*9*TLqJEY-R`d7F$`D$tusdW=6QwCkT2(DEzX0yX zFxjyQS|fa$*MN}~Wz|rf)$#*NlfGyEZ3B*P}7FPo5jZ} zGy##0hAX>M<%^u|wOXf+M*fpBIML?q1PS! zn^pv$UQkJw7^ylQeX@4nT8^q?I^PAl-|k&0fj>CE)8<#on^0X!J}F#x49cDkrS3z2L)wIKNjJGtDAqJ39;YerpeB+t_CdyS7Mg z&700k^u8dXz7UjKS;Zkz)Xu#|fZnpV5WU@b1-Z?3{#TzYg$e4`Js*`%&YNMDvo!Fo zK@snCV#=`?%P;n;sl)16|mArQY64*$Ov zU|7HJe#y+3No|!32{L&_SO#{SX79%mrbKBr>@;1)J0%?HB$L2tJZ;q6NkyT60tCL` zI|D5|3z~9Q^eoNJPq#4usHjpy2g%3{Yq;9PYhIl%{ zKj@4o!?X_3pKvPv-w$8Za7ZO}Z3|k~X{XJ{_fDD6zGU z>SWz9oLt05oRo8F=o!Dk^?V-yL2MQkj*R_OTjVr-dE~*V!#cU%%UO)=Du1S=?io|T z$Ti+Z?j9@V-GBKT+^df<6E^TO|2%HPS#rihxdB~IQhD;e)pzn&IodShW{1#CTz6He z%OqqwpgU!R&3?=t5F2PI?)1n?S`8M?f%DtDR!#30>_~z`+~$Ok0tbRi>eB+IL=F}* z1achmkMq8V2T9v6P%n@~5`KkAbwQukn+Au6Lx}76#GwrLD_Sl~%a6j0Q7baOUnc z(_pJW1Gy}3$bIukhc;Li?iYh^!+N4n?{AZJ zBq(g;xGU>0=(-w9jQ71M&c=d+!+XX`o!-X*7V-k^ptSIv+<(UzZ=pGczeJ-#iZ zasPKg7VTB}*89?|m5m#Gb4|uY)Uyj%-&N$+CJHd0^7*LS)^3^YW5l4Tq@Y<;_%qNP znU~ZwS-cc?r1DANYCUs z?bhqVo6l?A)wAKpQnj7A{bI1;dy@n?r~e?o5ti@~oPf*Rrubjh-KTAp87`Xn24&hY zE)dcI50QZ-PA0j&UifX?0(Nw1$Cu!sy^i7LE{Czk$zShOaY=a(P4A*Tpx%U^W}Lr1 ziSfmmmuf+g7p-SS^G zb$W+cMEc@J)y~C&4Idl*heZ!aZD$uQ)zMQ$%XWOlfmha!G6GE4XxrAOfVX6JN0g5LV3lL z>T5Qn{QGP-X+JrnJ*so)A! zit&r1&EwJVN|y@V4j@EMbCRmsI|ZC@v4{;~6y_{g>)U=3{47nS*$;UBcr-9+%`8=!b><0_kW~_dcmLFXrHd%~&Nu4!S}GbiBa&|A zWHp2(`=`-(#zzL}n>#WHv+(1j>jzz;J{rUgS z_ASXz{occrF3;!M?T$P z-2WB&o}d=lNTZ=lg28-p6)dRl`2D5H1Vz?VKKx8y6w5uq1+`J+xx@k)h+0qAIN}$K zE7#8UbD#vQK?5vYzw`-QcS(Z|lhV2uNB+W+wQYB=?rCX@#>Ac(jAE{38~?Y82G&*N z;uOx>jpCx*`lJT+)cHo$ipCO_pOj0daR9H;#WmloGDrd^ z+|?0d#Pjq{1{JuwYL!t|FEqdYj@Zr1L9Y#!^Ys~SeyZLT#GCHQqQaKry&Lc4DP+Iv z(Dpiy3SbDF;tI#frnt`*4Viu4=U)Um8z!VP#%QSR&=X950ga1s2W{d|Df$X*y17C( z+rJZtGURULh}hp6r{uJ@6*w+B14=i_^YcB&{*SifZ>DQ}4?a)EMT zbD|1zZo!5lpxAl~%t2y_mQp@+XIK74z}~9=d_4u9p&SF1jF%Q+;ZOlA%H z_*EC%x4couE_#0jg{D67@&Ork_gkcn2g}@2ULQjK<06~>P{#RDjy%{rqAt7NmJXjg zdGrbj-D1^QtuOtE6t~=ypKpS{s1mGP20_S$5y@MF!hzlf*Ndn8dYoZ<{-@^n|D#Z6 z0x*I}f)j|bKL|yd*M^ae3*1wP{Q+{hVa_zko{>Z6K-b*=+o&sHPP6!hX1&u-2)Nk`u-#KT`I6x| z)l(4wVCgyDuLyo8d{2T&@Pz5>ajn=N)1}7Qb$OH&G6p4?7h1Hk*1+%m>H9UHDl6Ts z(SMnTc851G>pyc@FW?>GoXa&bfcADJP?&9XUrW**ory^zm&&p>5CMRx1}? zA3?tlQSE^+7oBK3e&^Yv1lG*74SS$ba>)_|rxScJq#RpWeWIROqyb^d@475epG46h^ZE5F-YoF-D!cFg%F_PNl!)1r>`)jT*cf_nBONLpIAKr22nv@@> z^54RwOol;pf?zmLoMrD8h$W5K^4zkb%w zFEp%XCb60~QEcRv=%G~t)4lIDm$J7%VdF2qDd15K-~0boojaz1g6z-k6f#(gewyO^ zWJ9>%)t4`{xnA4)Ub7^c-AB7{{>Tz!DCH@LR9yJQL}{2sepAmk)?_MgXHD?r`c6Bl zGl(!Xhkt1Ps$5+Rzd0Tp8n)Tj5XpL5Z_?nW(_uI-kn_D(UG2KCUW&$NW_u>wflQ%D||-RqWUxBb;>C-AG&*X&nQLXIHSD zU+H#MhcsBatm})>Pi|AN{Sr_XXONcO<;}+lbhRCr2OJZa>L#q~tQ;IRvN`%3URyVd zp8xVU%}NjH)7ys1k?4VTwT%!l<^7sdVuAi*(>7UaG&U~5y%aS4w4d~AhS8KWCqI2F zZ5AMpXae1DX-1j?YE*)M$NbpFFftD&h!t9k$4yXtEmwdvbAl}ooQK4?4*a!R3snZ(Q#R1UQV%5S-wzK1K|t!~NO4&eu4m z4Asssr()S8n!4F}dv^=)h>wQJ7I>#%kvVCn3UE3qvTh$=o;oQm%#n7!bpaE2kwml` zh|bX;Fp+1NzUA!XOS=ingV?+g`hOlz#h_a2*yg_bdGp;0U@v-7ZhH{gKPb4?Owgt# zy>IG6<@75uM;C#9?NWAf5vY%)Q*)6aB%O}boR2h={Bg_;X3kRS@{zxaK_)|ZKC9WC zZx2)${<%#Rk25(MnEdiF@yYn#6&67@IMjBS)0{YL(YQ(&BO&zeEL4g&cNuo~BJKI? zEOVm7gate+IX<4Bcdhp`g!-fG%@oqahY~}n*Q-D|8JyGPit{mz>p@DrAS+)(E_1K^ zH^bJ1aYKS=jnM?VI&Mjy{b^f2$Wr}kFvutN)X{H-@+y+D^@I{8y%q%0%yBV@!j{oYY+F39meB?Qxs zRfmF~N8{5?@3sHVaT-=(BpbmuTspwB_1pB;M_fG+vr8ezO^-4zqSZ0n;y~Nue2o>n z>cMH#FjVl{T(Oh7Wff8@ z|4YjjSe;Iv_5SoC2{lq0vABVbdH-QbP5@3Tc->9j(;-@G1mI)MbHpo0M^e}p2OcDk z{NPklndA0^!RBfOviY!uOzm{BQk~L+N*AVr^~)EAp(nLnPaUvqS1SMS?1FaZii8M`-DAQ8~EecsR} z{Lxv@EWnuWa#Zgt3N{ipn}~l7UeLUUMU(O}#oZJfm>+7@kht!#hkNe}snKUoUA+zi zVelBwb;eM+m#t8dlYEd2pyLiE0rv<183t(VY{D7$7aD_GxHai!qmo?J8DL{X#~FEi zL8ywp_3PyIM?IT{hws+>?VP3Q{-2bRMoqH2#LGX42vC)s?+kKl#hPpVy!;~A93eM0 zhHUHLzrCs^f)s!zP`KTKW24(Isk^UR zS%%Y`Km);|t+*rSuP0PrapmJQywZK?Fw1&&}c6#?rVy%*h1)0)* zwM;Pk`+iP)VT)Wlmu6HcHXZV4bHdil9h5og+a{$lRZzQxCXc#J*V!6l7h~xBNG*PT z5*@usJY2aIc4u`{2EfL0%jIF<6fir;c)DhV}rULrDO^0Y(VcvPwWLZ1k!n znd6B#HEGO{+vp8~+v;HLLWL2AchIv@QP9U~_=Jt{NQ99ucRFSUBDPcf=5(}E`nPM_qEHBRiY zIuZ@M6m6Ybp9Qy@dCzJxk$MKIBNp_h6}wl*@+U0|u3%|n8uqUl;i1v*D^plBhTWkD7^9j^L&{<{ zDzCemchjy8>!vf+rcHxQXii}w3aa!nO&lUk)l3)XZV8lsoE)$A_6g36;rm(Oc{d!| zzxOoIa*Ml+^Agv07xgF(Z4gpD9EUb60>CH9%sen2WS zK63lISUT8YxQ3l7i~n%t8Rm4#g;l%|`;cU`T}e-dxCe$&*3V?nZSn~=VxnBA;+tjZ zS$yr6GN3bomxu!hOkt16S@HlihJ;Jp{zO9V`ifP2!0Sk(P%iLRCspW~93SdB#~I9c zT&MRQlMLSQItiLIOg&?1*=Ed1IBp&*IbK!x^)xjxGZ_JHS!P!32vCp`*(S2T5&6|j z9ZJ;YDZXZgvB$KhibWLo<`r(eIUVxxO`DGx@QA>r=^ayUh!XvviC%9hd19HNDO`D- zNP||C7n}K{g&D{695a`MBZkHTitf4-0lzjN0itP3T7yvr@18MbE~lUsq}G_ZPqj2C zR4X!tN`>H_1V0{be9}M`>5;m;$Mcr3&g~GwJiTDfRJC2_^wt~TwR=w|4mK{g*AiWq((cnH@j z6{{$F-+dfVel59wvdEHDDYAhCPAr!bb zp^1NrZ5}~Acy@k(%m6l&(9xU8ER3|vZOpWc4kIge-jNwv>8<4JFBD`AkqJhqKV;h) zr^J$3xW7l@CBEI@KA-S7%t#Co1}q6xP?vYI6400SGT5n>Bj0V6H>P zv)dn<7dMYPcjSHm3Y@hY{J8e8D@YMvTsX?$mByjQ9iXJ+n?r4m25pnAf*Lb0rA`Bm zMK@~u7T~0835-TlQWXx~vW|JNSCAczr#{+!JT+ed*?pESje^YjXQi|9$;DfIPm1&S z1y{?H3$~8pEO&zc*lX&*+gDK@Cps*bZpm17mYj0!yfx_b*E*yoPV*si8Da9g-s>az zz8hjS$>5YOaws`KW~X+_Rn=r18`7vF3ywUfPtp%N(o}as_vGJ`T70rVG=qb%pZWU^ z{e4035}SjxYu25QON9+O<6yulyZOa>q1&4`i96*nSoZ8lk?kGQzx9UL?GU+$J5O(% zIgS+wGX29E(E}&oc^`f-_H=edHmTT+y-mM?d%w>2b}z`vRWbSA0UnYu5ui3!Q_Q-H zC|S@x6zA8=R@W*Xx%^IjE$r@yHH8P~sMh(VPsX>x@v)DxpP2TlmMPXaWJKYVyC zzTS|s1|$@PA2LUSL)Ofh1q*UJmZf^;|4!kb+I0~*?X7B_a^MCh+H&SEAeAk=7E&Ln zun(We1lW1Ehzm47{eErtG6T21{)@M&hD{u|;3gfcu!*joZuFc3Ier4Xg7D37a|9{J z0?m@!wsYfw-`Hy^by+*z!c_hW<9AE>*_Gr8c0GXgN{e`ScdwX|jb~!R1zp+m{M`J8 zs)EY@6frh(3j~$G?;^&^O7z(Dn%}%l3iM1b^M~hiOdgQC-e&G!w>I_{G`lu2*1;{5 zjEPTi&GU0VW}c6MBpmuuXMl===T`>_29~bqWIkxNrDp5JB|S%5NOjwnJubiXGLZ7* z_R4KighAe6*`jgBJ4cE35MV4#<}*EXQf^CJbb=iroob%kMQ48b_qSoxma0+5h2N&y zq$$Q`ocqU9Uy3PI9%gxj!b#i@0h4H<36gMbYD=b!M6nkx3JxJB_m9lydUL#tNN`>d z=Vo3~dpJ$)Vn)Z{2dqM2sq@+Ch#*GrX-LvU)x=yx1Anek$kM8P*>ca9}S-VD)F@~1{Qm08H2Q0LlT?g`9?m| z>rt5cOay7ZmRT`x!#{sbYEcjsdAo%C#~Ba9!G3iv@jiQD<-WN+me}| zm$t~`z-Uifm`RAqFs}{|T_bI<5(9>+w4S{`iZoZ)9vMgxy7NDABs?u=pxH2Jde=SZ9b}w_1&8Qc!#kUX( zqm3{QyChG;sXbk7amx-S!dO*1qW(Q%KR|E*5mGxtEn>;SmpCwVPiYwi zWgk}^Y%1wMGlH=?+h||Ij@bH_k4F)D)mvw(B46A+56?wZFB!kbr01kCFIfKE%f&J< zK;wP9cW+T5faufwbr%bK{b|08-8B}?UVz`_+0w21Z@oSLkP~@=%$Q*KR=y`Vpoy!p;NB0g0{QwH0Epk_X;sUr z3VzL9xj!xQdnw>cB_qw!;!eKB_AZEEBZb-vYtang!6BmjetEoNt{|zwg=DLrrmCNG zDbkw>Cr}ZE#A1cLP{ASlo|EYsJNJU;4*Yr}%W01wJJM77-XXDkP0}58u0dnh5n|LP zC0O))##L{PLj`#=z4-rH0M^n!d`8a?@_&~$2N@LC2ZCiheUM0Zw-LL+hGG7~8pj|J za4y{ui|2JknA7KFC3$_Ttx=BmJq*|%5yX?K-@^cmowGdGi&&NokeHNUY<~?Kv3C%2 zLgRC)D$z;AxJgt&&2~B@kG1k4XlXKfyn1sfHk zsa3eZ$HjOlT8mRe--A>m+|*m z4{k-#r;e@#(@$crxvb|(;Uv?vQB4D!Vs7Lgu*~m6U*>tXYUIiVR37I3$qMH1VQ4L~ zq&B8nSg@s1M)HUWXK`63i7`xKkcKt-F-E{^A@`S|1m{iCQ?zbj&A~7I*>ewH6malv zK;bD3P(3=A`y7Mffk2e24?m~`w;K5oZ@+dMwT{3oU}ZJ88ePOJUVKx?EL*0TRHHCH z71;Ef%mtD#;$va2W2ia589mrPQEP5*iyACE6u zC8LF<(j_X825CXffDW&zdMrsdd8Zgn+sw);t>vZw6TD>$S_^EN0wv10go4?BXBRlf zFWugP3dM7|^`N4C#yQx_A&e+#tAzEM!SD)rNMV#Asq%T>BJiUCw@CR^-vbpGAHkuU zm3G?i`QK=>Vs=TVUb_O>{i$K}V`s4SUW5xfG)rP`tWY>0S$~(BIg1%s%xquGXl(*J zD5g`v7IbY4a3P2>b(Q>Sx%M-I$AZv0hRB9@MO?Wk2~V*o;+GJ<6{1&;7Q)nOq-VdB zY5^nFS_W=?eZb0Yju!GqX*aJIc)RJA(}6*Nw3uuYBm74QqsD`>Ze)234)LgaC!)9$t${G4961be8QPH&KoyCJ-%tDCBe+-`c%`NOLUziHa>}I;v%(N(A$ZOr5sz92Hq=wCX;Vk zgd=WARJ|UK{wm|wY@<@y%Ry|d-I|~+!3iNyhXzf;)*pSZXl7W0>>DlwvS9hmPSzwK z30M*Gm&DXKR!y&!AN`<#AdSK*%&ZZqB**0b{+WH-RlrJZHz#*)`IWtoji#y#5)NEO zPbG;K*gj-O2C@eBuE6nqFZ8$2NV3Xfe&$#6cd$4LCfDsvnjWpz8y-uk*??sFFv_;% ziylIRLG6CohxU3Ez0JrFH^PQVy%#`%?Dye@pt?wkSmN0qubu#ZlDVfGz#f}-Et}4C z9PVV2(dvM56ty*42#|b3T`}t$1B8EJ`5wvJ!V z7S?5_pD(I=02LmPCtaa4W_P@qz8oEI6&^-=<;dQhtDGPLO&T6%C%P^CaNtd@HLyz} zbb%w4`a zlfH{Ar_)hkH}#JJI?e4dZ_S5(ug4w6cEv7HUy=@D?5u z`KwMq1|6wm_OwJ8U8o|R8V<}u#*shoe(Qa@wWiV!6}31A z9IM(3SYk;s>uS!DgUNugE%rWc(23H8TN~0NRGia;%5H4`j1G6wa>bO}t?AFdMWpBt zxzE-aY=|X7{XSK5v$A)X9A#c?UwO)P@#a~*^8m9WAVa|~d8^7`_XW}~4R8aVtc-}1 zZdEzm92wG7t`Epid4(gkDV{oQeM=m%Lv=4LWYZ-PbBw`c3{B{77)$>R9U~TDy)_Ib zUGh-vYbG^xBq>gZ!;ZSWdu_#1|M)RT8XQ2bk!i-uPbgrEJ`7fW4gj-EW36nOI2M;T zPK&lnRQIw?(UxXw!Lv7TCmzY>yChmsJq-G<*igXWkl5z#S~Io#DGhahlRysaWE;FQ zO{q-V>xeTx8{lUe*Pz|Q@)vVLclb!k7n;E~cjRyrTH z`Qg#pmBB~FV%%?JnRcDC`;EHXv?+8;%ixO%87L@|H<<=KZRguErNS;*{!^8H_3jn5 zQ&_ASYtHiZscQh)IPmA&)6GvyQ@wn_!p z&xG!$DasNO_otT8&ED}Ik7y}7mXm_1jkI{?Vf`b%tA^+mJoyiuMB4V3)yKI^1^M?6 zBww;Gs3fLefuP45^u8fS`J1fKpNkAYl}-0|?;|Lf7$2TjWOx{}{YX5FRNE=wsoLBy zv&p6we@UjUUeqCUq9UO)mxa84JPO8N&hR~f!3fWP9z8hsJcVVz$RD(cVx5EKS-wkI zWl0GG*YG-$>5FKg+7n>jS@FW)Y($KUR+ZEPvgJR;%w^XfEurn6JdsW2G&udM3~FcS zcc&xE!wt9lbW8Q`%r;o;-^1rmOW1+$UL(|flXeqDs|uwfLjjWbmcPg)WBYj0#G(<$ zOB&uh58cOvcAGs%er8wU>negZ7IRV9+3ex4w_YouKELHELNkNM#lMbnbxkiyMDRA# z@vYgY2p*fPm?AoTAJ-v8u#%qE%0OJ5lCAh*KIQ5w`+3I|F`#35v-B5x@o62rJNf`z zZ_V9i_O9_gDn@kkP8y@}!l0E9@G)|rRO`C3!YwwL1y5Ff?(AgcBwyGNdlj?+{-e(D z-RpFcRANq{=Pm#G+^*C#ptI>=I}bdqlHly6Q7iL%knMAYT{9ST{H(Bke;T!MSC z;O=_z{WIs5o6InK?{_`xSwf${A&ohv+nuU;Ub?ub{IsXa3_FFSE?}#RaAg}YiRd1V z$Ji2~)91lwS;&21u3I45iLSze#g$~#U!l*mQaQgT!UT<*9nP39$>`tZ#MyQM*aDz3 z&N>!&Fn*@xmB34ZJ#ovg{La&R1%-2wMN4Jb>S0V<(hc-71`Yo_AN^$@9YR+6t zN_HY)h74%8h@Sqci;fX^cdAylWj5{CjqgzcTu#c0*vTa{tya}`)$nbj?vfV{PRK}qy-5-=F@aY^oT!wL!I92;$d^xG7BoH5MPpl2a zoH-!!i0Hh#n(x#K0EHrX9NA<64e8(1=(Oclu#I?u|E!cp>nyE^8);m-Cn2m?h&iS+ zKiXQA#qO;#Tg_nr9`J3EMxPU(9|BU90VS2Gt+_I6R>@;J__2JoolWEA?KlCMENiSa zfBdeC!*LRer`|Tz$3lL%?5U*liT!<1Qw2=1?D^QG=~eF&^}i}G@1`KQ7ckX}w`!p7-jUrsVC*Vn(Fagjgd`No4hHSZP&UtooZe3JWL~a)YMSD>lX@ z%PIfmHCfRir^cZ8z}hT@elhYePCYo~2X?rO73nHWwyul>8NKMmNvxO-G%#h#{uyTg zD*U2?l+3R?UPwCgV5`&1Qu zP$vEaA20T}e88JtAGYH#F6}|T5VP2yn!FVN$IW-3 zcdT&>3zSJ~C)7@vnmX`979%dOq2P`}n%|1lMW#V8+?J!Bv@R^S2R* z-PNOc!T$Bv?06`v!})t}_JH)^H*D$Zr-PTm8zC|!6GIN-!^mtkPd`4RGZnXFSYFKRGYVcopsNE>~eOgF+0P z;XI{Q`^l6|F_of{KDnO*EoP<|T-=YUyn4)s>3k?pjqI>_+5OM&_qp$u%`+Yu&g-|W zTd3H>Dn%{fTJUz|!YS#Xk}~nv6gnWe0A?^$)x=WUDR_j6`temDd@?%tHxAxSanhL8 zpIlU|nV~wz%cg`F3w4BgL5nfYD&Ily7 zD2v@YTE4`X;M`<;b;5638zR`Uj8!I&IYRjvh>Tz<83&-_uicb4s1YVEZ}Veu;&F#AJY|8%?x|o}KK0Wy}39D8Eya9Tu+YkcSBPK`A zonTl(CU@P__oywREWXV08IEwO|4e(rq6t7O6ZuEe{&A4+VizC`+n|O&RbZY)dOC-z zg8syHZ;q;4YHx)AX?>kk{6W`2un{n}f5$9X!Zoso8}$U7caRefSlH_=_TSn@y{(ym zgR%lOGn>PW8{yMB3`-r)cTA5R3X_da>uy{tjmbeF1qk>rABk<djUu^JNO)>y2?yU z4s^WfczTQoevlfz!L>bPSSb}bWq+}<#e|24{)zEpLJ7!csfUK#4-toSw=rcR$dXpf zVqex|ZM|Msh$SkPyf?P>C|T>fo(R0#)efm2UM>?H>KdH|r$vsLJk)ps?2KzWLixxP zy?a%jQ7w+QQ~!bEcfsU=WP2>N>aBNls?LbqHHT>Jtkktq&s%6O9wak3AupqZRkZ=O z2qY1V$qY@Y6%3L{R7^4I&fhIUf=jkBmza3DK~1h;8_g`$c&O7r+XE5I#!)*dU6|BW z=6Oekqc%TsXnk}($I2ZfKmx>jet4s@DN5_5Zk_-ctO71x9;uwykZB@xda=g<``Z%b z23a-7WRmnWJ)aGIKWQciV&nxtGKV(0Ez*C4@N)&C-K*cZu3M0K@+wH=0ohAVaAfJx zerOs`1O1ZEjN)XeY9KHQzG=7of9NF5e}LM`deCOtdz(|teRXxhe zNoB=LIkYDKDp$H)Y3J^F40zPcJ`M7fi*d>){=NW6Pa(^g5Gp=zpAOkET9+B3N+JQG z(u3}GLo71tPT))g@+-13bgPQZHwR2210akxs(L>_7R7nl0!Q1CBS65{_}NkWFcVza za(Uh^OQ_@^pk3DX+@Z_^O7C6&ezlE1@~1d&kelq?vDfW$CM;k6sw8?m&!>0H=Nsv- zI@Ok&e|z~NU?%F}eUOS^Aja+Noc|*6$vz<|ylN~6f(=Xyq`!WbnMP$t&JTV^Cq^C# z3*&7Ux$e0pJZ6DYOh(u0Eu<9`-0iq%1U~TGIRUT=u(QmH%`1iaeO@Xa=-G*RP zOJ}M+H2LQ^`Z>wgY!rFS4qhXPJ7^^vXIEwJe^7K!{1Xqtno{9*|D6}ETAN|8$ni4K zCvS^;sxJW;93T&HA&o{2Ik}y17bUsvQr1vXz(|QfFLqS0&6t~Wyb&PhO*{0>T7?J| zfInTZWbjaSyp?wx8OH^rIN|1G?K{u6e?y=%-dP%eLgiydLwvSQ!jXR!SXg42-iRTx&p(_-HnQXO#GQdLoEL8fj}3%y>M0-2|i z;xcTsi2%rrDaXMV$L%LWng2^-VPHf~d$0+<=0UE}6lx({^yU$^Z$0Eh_#(`lqtYA- zKq`G*e&&DpNFftf{FZha$W1+ZFbaQW%GB-%k~zdqJ~Jo&V?<>Vvax#(Aih|7)$zp zY^0aD&`DHqZg5L*BT&)1!<}AQaU_&prDQz4ujP!Zs*3-i>fG{N230%vvyj4DcdMcC zvrkgFP&!k{@%Vu|uj;riDAPcL+y-)p3et~olEN4T|(1!tl6mWJG@`I1pt*|#!` zMLYNODcVv1@(}B$U(N?S=kdAwkx%Uf9r`}^4P{iW`BVuStYH;+5zq=|s)FVvefF!N zJlc?Hnv5}n>AnHTC0I85Ot%jk&V*(MeRXyhEgPyosvHnLB0n100utGR2(UBC zP)rge;Q|l-xJCo_kHr9{P~n3^X~nXBQuP;q)m6dx_)iXok)>DPxZ59}|0W<5oDV+y z4sN`nSaGUb6LxGXFaYf3BIl}h^^E3;O`$8|UCen+kmQ9%qGv}gh2yF^XKf!K=qtQU|kd}cYHw+ z;7R?*oc&)5Gg=Qf%?*wEi=CDue`PDE$p`oo`+EPB!nwNT{_&0B1BY9GF4ENX|K#gG zd|Z)$762S?m8UqOhjk#+L;d3z>_$L6tfcdMELiE47O|sGJ*k5JQjeR# znvJ)KFFw6dS^aaScw=-sk_o%yAj#P87H@87t2KhB86tS}_sgi<4oW!}NO-N+v4OjQ z=w}J!gvO~408~m7>u<1(Q&0VH=$Rk?J%TOS#5y%wv4AZ;c%sgrx^g5Uyr+_v{$7ke zd8aEU5ylF#c<-b7(i}4WD!XF524@f-j%+ zk$`4meYR|TpU_?}-CO;tl-EwKCUXo#U)?f#w>knkiTcZ-P31S(;5PjmOHr@Mgh?Cn zt9^TR`1~AF+P4=m1A2(z#%ujzEMpoAW;}vWI~8)|j8Y@w;}9~={LeCN`G6<*;MC-D zA(68{&aN)n)#iB6uktz)_^&JVU}=n|2+H8_#sEpj@MalfKN)noY|Ofnx>!+w;kqM`QxzL&ger$JBYHdq|>;VZe# z88nSg*m!rryKQXSzK)z}O%$vVs-0izO3(e&n3DMsyV7xhNkSejtG9@dQ&i&!&DH~Y zciFA}Lbbk7+O0OwvkrCZF?n;%)@e4gg4GxGV(!my&Z@`)6YONJR$;AXY~l5k*v8gV zNcI?q#?2E>p5cH(fB7;d@k8{dtueR?@lWqT>eFM^>Z#WgYa%SaA0E(;1z;V1Eei`T z$g`w720B`P28O9(qmv->7_G@fz^~0RDe;R6G_xrKLV7Rlln{fd4{k4W{6ij0_5}&z z7WDu~k5?GzV5$!}f0yJ&V4CX`fBg}`J4J6RcZ)CJw5Bjy>2F|wAN#f4GUnRL{XsA6 zjo5ifqH=i$qze^%BXQXn16t?iJ$$B#w|s~Hwj?azD1dLR*}UFFr%|_>ebKXF1AI5c zP5cy~Tzcs}*VH8Z6wP{*G=MK^`^lPov}*Zg|fDE6(cc9pxGwG z4uUt$*Cf(?`6_&Y9)cWISr+3nN~?>)F{yy2v{J0aL2m1yTLXfYB*#mzc72b$dqa0x zX~hjFR@sTA|I3kIbE$=8^#kn2kbXWMx6->eYh&Y!oN0-d?tY#-KY_nreiC1qG_xWORCwia${w~Fk2RjNZX3odFDMxIP5{}j6aJq-G* zI;Wp%DWt4-!kdg9s%?1;U=Nu*QzyKl=M7PTUF`PF@pBJv&QnVY z2;WL8;Z{=Ux8y2hSrUMM7MUZ1S=d_wN(xd!AT^|dqore^mjC(X4#(j4=gJG7t2GR^ zy#jfn5&HuQWWK)_bn@Ffu(r?Mj&9JOhh@`sr`hP9JFhe6RlU3bteEUKSj|i2D-m>#z z3Z%7u%iEvaVRKgBC@|gs)kCWat*eE|MLPj!dzt>OKu-N;W*jm+Rlb+p4;4{ScD&F3 zS%WeJ%>LI;#bFaaj)tl3DVpgE@whG;IxSeNOh(ml=q|_j@DvT9Eg)qFvb$ZS))1Y8 z7o+#PNpAMy^*F(5dOsg_no^ms;3NZwQa5B6UD<5Gk{j9Ak5jQBU&o#b5X6UzbEV*^ zln^?!)_$0Kuo=P-`@J1Wa1jXvgWDz@QdWl86;iN4tt@L^z7DB)AD3R_;z=>=YD2R0 zvSO5n0%EslKBAl_(b-s1%8fDp^Qy9j=3EQ|;1kK3hy~H|B+GAdA`xmRN-VUV5Nb4` z^;FOqM2LHlyZZXXGannV9Mtve`Gd0t{g?G#nbp5fXrtR&E85ve4D)h>tjQ%Ja8uQ6 zHzbla<1cKkyhwTVM}m>lsMrlYP=l;=KnhQ^cqd0=OFjJ445tWueuPOVHo)WVHGMYE zNn|3w{$e$9j`E$&HvwcORE5$UYO>}!_rcD}g3U|z zHB;K&`Q9U`R3=nX)b-ol+R5!(kG~)aen95Mo^0qF*(WwC<&sA()zWAa68!XY)of~1 zwC)WW5i{xHVLEbZTV&84LybQcGymhp&eU1xLJ5;hRjR=Eh?+Rm9S{TODekXkzEzQj z5C#a=X6w)?DHyUl#oy-lSQozV4@IEHh1hwBQD2vB@b=sULL@)z(@~}%4cUTKHNgQ{ zoqy}v-SX7a*WI_`zPmNO&>yF)f4l)LG?^=FPG_}8EQD3vy2X}2xw_$Sxd-g-kCt#U>%;Cg3%@7A-!hdB96XGHz$ zIm8za=SZBD$`({^_p9Vt3n}+HRh8%d^-(4U|AUzmJ4QG@s)nD4$G`P1OIxF>27(Z5 ztzVttCL%e((*jO}wNps)1m+++g*k}%v6NP>zvE=AOP9qvR1N-D?tb+lG$7u?fw}#^GgE0l-tdYXJjgtdi@6;ayb}z{V9+`<6#mfex6fexB!*JbG#SWt7y5+`_k$#2FR5zK>O=SjW_)hYg&npP8)LxBe~ zrU<3zwm%=fbGM?K)ZHx@ZL$9PWKYx}36Lec1?!}8+Igao*w0EQ(Q!(=GwRX`Op?z^ zn`Gir(MDvgH*8vZqb@K}F{eG^>G+HNTckX3)hACX0ZDC=RA_i zO6o@{t+H#|hO_>06=(A=tF6|+iq>YFxLGbLrHSuF3D_uM>eMO_xnL_s_{_tRu9GLL zBHqkdYW1DY@BaHj>zGO(2(e8AcbEKtra?RwP7DKZ%?>3m z2gsY_B^Po9JwwII!@D|9A(j;QP)(+N|P`Q7D%b_oIZa4!K3!la|Am~ zcM7+7CB!U^Q^IfaZ@IYiJM69T;kCLNc* zdDbg=^wVzYf#SsqhfltllP7cwKv0qm7dG!KY+{-G4^E^&J&m0#)T&km`bk5v(#=IT zA4cEjn01kGY^AKRABh4=$SnGSSVDongFoj6Z4%wUOB7cwpIE{xmw&eSw@)M9bPuiH zhAL8{X^v)U#E3CUEM)}0%*m~=v5zDi@(I24i`{U3r#%@3_x1$B*82HVuT&-n-SrYl zzk=YYV!x?1=ZpmBn`C8rWa%Fc8GAzlCn2zvs=S^3Dbe@}(7|52IC+F2QiFB2!JYA9 z4k(f751mqZu1i1#0?P$1vxs%$Uo^OO$eOB2IrYAVTJGMGvnBgp%{ti=(+AZT4X=rLsX6K6YWqk}wU~?WZ-Rf3!*J z3^dvuGjZ}URD7&*%cp#@v7doH2pVdQc_h*pg93ydQ$pPgT6puBq6iJ?=jM)ItU-g6Og_^qw8@VZyF8Oa-Hdv^VIYX?%mfeiN#MofM^a-SjY$`D z!?sm(chnffSXKW03;9d)=CBw|4G-DVSoFh>H4^D4Y-POc+r?2K=)yZnbH5d{1Qp;b zc2O9Woh!$5@>*moGWV>&GIY#8_wY1N=dBO$xHsO;?eO( ze4mVSAu$ba_oO+tC49`4!KQ=m&m(Wy8hrvsy%^!A!qLF?Qr%+pcjvF3Bqt}Q_4Uto ziz`G%+LrEvy{;<7)vEUl|1K@zN&rJlwOwo5cdR+#f28X7T>Z!{tgoX&`%!9M zTirwYQ}r0fAbk+*x`w;x9b~+B(sSewiAQV-S6)}VuHVC-OOuTG=}&%2wIEqW;=_WxVTh^hFO8@pCq7lMELbi5C-E_@Tdvk`5Nq@u5h z;!vF-v1^WLU?z6ck$OHGsn~2rElA*BJt2Q^^Yu)!RII(fEg=EnXXCp`+9(TMD{@Ej zxGotIFkat;`nH6B>A1pJ+dleEYshka;p$_c0=+{1@HLqAZXEvExoJQ5W{xrNa`*g| z%f%m8gyfmIv3;U9uZ)Y8nu+kjlpg$hv(Wj*C8Ij0rR0-tDfI&}98KKu2bKFMoNY;q z`1+V;s?`=g0>hbFM=?(PEO?aIH6w@?734$AC_Gq?pQT+H-{-PEr8xp z!4Cc?7fbbt=qZU|b6>~AC@^ek;&RW%2=j!nL%=cMD|@i1~3@0dCaF(g?IClY7du*Rc${q z<-)=9CBA?ZQXWj%mtK$bBuf*7JQxLb3EJ``ivBvr)J;I6w!+%D;36Z7rhcms9?%Lz z5mn|axidyz-q-;o4k|Zo^l95H5Qzg-elb5pDm&!}I8z7_eN7=*f8u)`5^XKToxS?| z?Od5c3H-yiE-qKJ9^H=;|*ywdCzQmFKlQ)Hemoo#F1T(3q> zvHSsDxV2B-ohd9($Ou@^NuP`*^37gxoZ_Zy4keOsqR3k#0tv$GB>?tCVCXkyLgGQ}2}` z6xLHC!@GjoTaderUHNH*1wW$ThEe@xB~UuKMNEI;AaFv!y>=(_e~#HT1sR z@6Bz1t5Gznz96iEfrruFs*S;sDecWdxRXnLK1jSk=m+=WBJ_9$q{bQ ztly-R){rB75TVl=IG}oEe67J-&?HwLfa_ znhEp2Uh{Z5)=8!MxPCm~@O^oHL81T{o5U&OgY*Q7l$ZR@i#(M$E@cXhh#N^#84f60 zhO<5$pd(b_>`KO11(4XSB?<=;EgA%B%6UtoQ`)0X ztH;;N>Zf(IeVqHG|8lVU(65##gzcqU$$2zxKaAi=SYd}_Q#s$H^4McFeM+$CLU7^w z;te=e{vyA1p2EB)LQi{zFYvEQ!V33p`Ds2-b~HR|Uozr{_qnhAivM6n=s{whUQwM3 z5xto2=W^46;>d34LD&e8rlGIvPmvf7T2Rq}@VXRzO8N6=QCI|zUtH?L(dojEweMLx zG4jcF8cfd?miE->sOg>or_UwmL&rF*?a6skkRYoAew1fk>UV%iCO|d-h9M2dNzzh0 z&8Q<5JLID<^dn_mQ`bQqo<_vEPEDQm&@QL>{3Z-Us{pD9EWame5&1=A&Y>Tdi)uhEWW!@pRYcEA<2E1 zJih%hm3-ua{tC#cUPyr0zfdeQbhBvbSCjo?_7sPlpJ6nIg<#`4%8~Io6Dou<5W2Dj zI+;+rs6c#4+r!Hc*Q${HnTSB{a+Pb-kV@*noO1_?IHVUM;I(r194c3yQZ*8O zb$2Z4*zMvx^Ty&&@bJPE-;C9y;xoe~VTUVir1ru7bY#kFCyiQgYJdx4ym#Uc5rZSFRkFA$a$4@d z)`as;&CpNA`G`5gY8+{6D z)+r)yMUR`S2KIdcmXuWMzflV5zSR4Q8J4s^vLD{V-C_BhEc)o&P((u?&JI#QM7SzJ z-u|lud6hT{-oZ6wGce1BR;fxE%+h%ZwNQNo9#D;s1h;_F>N*=AlUTS8zR$7saWLd_ z;&3U)3Rr_3&#>KW1zMR@1KcfnM67QQDeqBMmiY!otN^A2j2Xe$yF+XCe+jzyxmSGK z;$T5%PTPXzpJ|OcL%$j3T>n}IKCBOix|zu2l2L^Xczlzv)jGh#Bm;$4awv!Ee3zhE zdSnXUBeIe#kAcr#rNr?_fOd6&ZX0o&NM;8{F>GlGkPF^Ic;f3x6rXRjrn0&bmfj&POrG8K^PjGJ2$b1?*=IOa?til=cUoyCKWu;FJrHoUeOi& zpPoq`u%&)*fzaw8ot8&J4=QfhN)Af%PO?Ca}dVYa_qEvg+nUoT!lHjS(-1jQ;4F$6{Lmc>q7{Iq*ytHEP8>1h|2zH$hiXWC-3}Q4t}hr0m*X!(@xuUB&-%iP zZU=wjo7K?^*3N(XPD?7HH9H|wUCVQeUEgM?+n)2k3}P|k$Fjw{$EW;7yy{QI;$NA| z0pGGZI1`lDg;)?Jc{s3W01=#3PMR5I@0WoW(N8e~H&Do2c1mrZ(LsK_80e1iOnOCt zg4^5aFRQK^Cb7ZkrSlTM^UD$%FYnw~(EBZ{eM{4eF@WD$ofry0v8^Ixve#dsXHF&jq?I2JZ;I8(d2% z?+4fMu*su`w@)v{^=0ZY3_nw3!G{@=Hr0wmCguf$Q0=Wpg7v9i$byg7Fe7@jfxtR_ zw|7r3ePF?9y}{7!*WbA^&{y1H0!B6VuAklw^BCr4B|$4qO=_$MWda-Gk@^m>sV3BOQj>5i0xxZ68G0|%f3Me;%Nf0nIHEk4 zH^z84xJ(Dy*Nhvz8Ao>&T=Ygpo}9S1IM@8W-_)b^R9&~u?Ww)11-HK&2|Cc=fivs3 zu9u7QTe+ub(f?hiW%!?MID0oNo9viG(u{~2F<#5>5LRwbsT2om{*(m}MwnRmGu=L% z8^5d=2ggUv^Lw6IUH;IR!Nm#>{<7tGK|ARw z3t)qGl-KQ$U)BAq?q6_cP^b@9DQ-#Da08n5UEkknx!gsnfR_E=XgLabit3t-q+U&Z zzj2`g!buP(r_!zEK83l>*pfw#FfQ$zp+ZS z=c1Thb}~;`NCsUod(1!6Y46M7T|n*sP`}O z!U2T*LyT|n0n+*sI!O|qy16XU7rJ&(nqzO0N|b-oADsMx+Rlo}9}sGyEq_gC`49hr zr99-DZh?W2a0P0B>n*CT%tL_k)VGtf=1TI3gtg4CwD4;6JWE|8y>+7#XY4-eF*S~a-$idhqxV@&`S`bsn7qzCtrG@S0Jzmmb~#0uwO+}RzK zkv`Z5K&5o!w!8d?*(+R++ZF^{v=uciCV7l-7?-D%N9_@iqy-&QjlD}*WW1&wB6%#{ z@5Mf${+WV?(h0QIBIOI-W+LAgprdz>&rnTy)7dV%bX@z~>Q@M>iEVaGCM>kb z;WUpgfltrwyrI>*cmQkD=u?Jo)6VWQXJn%&76qlNlR$U)oP~zt&O>kEgbH7lkexd> zWD1aN+w(eXZxeT@rD&4*>4K*QF2cmBesWe4aQBh+N=vsqGGXu}ze5^HnioB%3sdVv-dv};sOgKfw~D>2#cWR~$Jgmxz_rrAf6vHN9{v#j-(lpMuBfc- z63~)qw)GLL2J5tN2V1e`hh>%6#!m{2nYYs#ilj<>+xs=45*eUtJ};8I@`p}1C}OMsh+E~9M~Yt#Kb zq^qw%5r5QkMxeqeMGL}t8m@lofRu+@L!bcR0uJdgaXAbc|M%ZfP1cl;60*-;#Zu3^MzSs60=04$39QRn z5xV^pD0Fp7*j}m96fwgRePj%91pB?2;O-e3 zCx7iK)W&Lo8WRptd)*XPY}HAVclL2u+BmIib(gNm_b04k7Cc*Ha^BHRQWF*1uV=?9 zOXvRX1Khxnhd55v$tJr6r#=HBBKOvMs=UJ1F)OagO{`QzCz3Tpb?2c$0nr8Fex7-8-25nB#mVx zWlC1WEd6GV=*Dxq_{!^OMI{$0-QTqh0`B;gyS)bfP|qa6+iXzw(Tu&8{f4#y(G4!GAAK z-|vr`3=0k=%OuEBB?hH&3E(0zo&A^%60k0Ej{!lPuarV7Ae9kiWVK(K>z^cX)EnsU zm$A@a#AmNDvdLw-3vk0iK888tO`3dObp4n24R>~KE7q4P@)ppqFD)P3?lG`kBSu)8iu>s6#x+1urXWgHI2aHsk>57Z7)O24`d#Lx6>gd>(v?F5re=Pu*-v7ngg~P|t z=d=Y=^qKhW@tTl@Nw{zIBW zUORafjU+(FZP4jYMY(XF$2aG-qY5JkOX=ZBwuOo!;H*fCu#rqwFr`6+yN2(qN#N$szV>c+c@?&tK@1;7!+5ahg|6g(W z&C{}#`CsmWH0elr1x7B6w7#ZEN4RzhbKbdYYLIJp^wLPL16r7t`pYM zil8X?$U-z|GGxk*%L*#Z=+!*Nu6gZs9RXyPh2HxX^RY=WkRz*s-Re$lJ05jCCS1tk zY(t?j1Ls3>&i_GW+gSp;H#{4Zf_7w4U)};Dhjg#=#z*+->juvy$jnzy%LZ3{F~9QB ziCbZ)zBm8uc1h?)$6)ja^CtbN-M{90)K9z|@tpOt`~3`+hg7ApoF_T_^h_UOI0R@E zR5>iN&es*?lT)Ad{58^au7n;fa@V-Z(xi@41?-A&1GPxaTV>W>xSE=s=#H{_t$H^H z&S?>nKB6d9SWVW=yCrx|`;fGuqpjTn%QOppj-mS(S)j~Q!CP*PoIAR+{mn}K!c7F@ z2z7e;UX=909l6<$Jp^)E51ZH?X0^h-7zqjTHUz zQ)3?wEwmma-j&en%)di$={t|oUMlx&z`Sj7B*;fO**wv*)%3zJIPW?!{G~!>!W%at zy1`Z30k*j#KBeI03>BX%g}>Q8AdP|jFc)ef6X3{wK|h`EN`3>G#X zIn#&?sRYhk8ZLcxg%X_eM)I>kBzRAH4D(XiLns3Fj={4>q{XhJ94>7XiZYx`it>F? zbzpky303mWEcX7kx8C}m+0Y5zpGg6(wx{5k>f}LQ zV)IS3IKESB6hHv-^FF>A6X0gZ&?%?%2jOT_?(=*ev7hc?L{ASl- zbxPy<-$h6;gd!YrFf`&E+Sr!q@4V#LCTv%IdDZuc@I#ibe$g*(L+O*3tf~V zkrWUxON>F{o^AYh#3zx)0SCbs592S!p>ZoM)S#bYl&{!K5Fw0rOJ?gvdG|S(`bc(Q z-OAPalxKhOFM3-0mvWb5|J*+6=yT0y^PDa7yDf%zu~F&<2h4KqA}4!{^17&R*>-m1 z9)IM&t{v~tJ|mb&0%)W!Z^j!JK1$grs8cw+kI~2NC%NG+4Z>h0O|9F=8pdz{3EQ^oPtE`rQ(npyPI_@WN6Y`rbLlLZ; z5f8`32>%3OQT1vsNKRD2H6_FOz+lOZ|y6J6D`U1E(TN*lHT;8O~ zAuW~?dPjMnEP>-&z`>ga%OLIB8jwNili8fil6IzHR274eHNHvEPR{9M` zqE>a6Qcc)V$1x<|V=q1hY?$i7Rz=m2D?{dqdQ1#`CIQfs&c%(}_wie+N(l*Iw#)^x z9^J6gx%nDcaq!~$x0**U&$5$tN^y|N8T+5-UG(#{rrH>71q)4e?PNm0!izBT#vr8X zIE~ zFm=&z_|7s%FfUv!sBpftQ%`OXwTxapcpLdVTz<8ek04#S-uF5|i1sdL`c5@+;*_sZ z*Rja+;qwk8vRI>(Y@Tv)(glwZC+Ez})gwc)w}B#;aO^>x24 zq6(ff-QGbZ(wfj$J|NPaZ^hewerNc6BEjo*r&tJo7P;g8$}S}oI;~yfwRMJB3Kc=< zA0&{9G%J7hQS_9@f(VknQZUvtPCyU19MtV4>MG*#E9Nv+?y$*ux@6T);Hf*sXo$H+ zt#lPmI*-jns0H8aZdGW&IY%p8$J{j0NZ91~ymj~2H|?Ka6Ju*Xu_V;(xn6B~-o$&f zyzcYjJ{zD9_c!=ITeWT*a2mzUTBbJDmrT%oce5v3C&WAp`-FVL4)kBaK!4HxbTA+fD z!abvDf7!c(nwIm{S$F;*X{Efdl`_6Cmt89aGpgDz>nzI=QI%iA5oa z|ITtTell_^sT&!M{?-qZR85}J!@uHNHYh*n!EOT5NJN>CXs0cA|M(FxjXEv1(Z|R(^|FpoLqeZpgxg>vUmpcU?-O7% zJ1rX&6OFF7p)8&`KDqk;~g9NDwpTh{qeyt6=+C$U3jDE~R#xV6m=q^y85W$!!OU@KhO9X9*G-IbIJ_;P)UlOjoY4^lO~nkOoo6+VAme~&K=Gr>pZK5*41 zm)ojD-qOi~%_lw?ehntZD^EdYUpxAv&8Kb1Q+GNx@oU&w@$@e}ibgyMBNpYkRZ=T4 zS2coFYb*!X-vnI|-0l?nDucY`scRN!kLlKzdeL8dq~&yCWjjC8`fB-+pBJH7DNHBe zN)g$?YkKXH)1)x}lG7j5l+7*5zg%3kz6onh3zsxLCkA{{BIc{%nyvn5k$w)+ve9(U zEn&Q!dJi@<8>e0RW$eqG`8E0_jvz!Aj{pN{P&X+IHQ+vxr!^NRq0X`a>^&JpFaDES zk~zn(&NVjmS6_j3Z$_UdMu~yx0;V1@>phT8vB|y^S$yQ zr7t<%xJH7fb@L0kxg}%^_0M1RG}%x`EkY$_{t(g2gDv(NDOFUoF?ux-sXF_Sa=IUc zX5UCmZa8PPc7HM#qw=g)eb)8&r*8DfFZwk#lEM-vq~bLF5s z6YFi#=w3-^DC7%OZw=nsCPO8dKDGN}74xcsqBCT?8o>2bLnH7p2%0G>nn5hr`I!Bf zCbo0Bj(N{_Cs=LpD}SJAQ?7DITlxwg-6-Jq7+SLdh2!0_7a++%lQ-hGvd5VUav@N; zS!JdzQp0_cpO1@ULQlSRJn-Q@<38(u(E-D?%u5}!VJlq|`R{PGY#ZGVgHwg|96nyV z^_~Z={;b1sx57EkqPHoB#JY=|59fh(-_1~u=y9Nbi?fu*{yB4DhEfo5XzYvD5LZ9ghJZt5S>mrEAKsAQA#VF2mLGeT<{Z$$Ao?+0Q*<>N zg#5Ad3I;gk89lFym&b!$vP-6&l7o*ty{zfo#P>`_{&eGikqeg=o_fETUA>NKHo^XX z09Qe%zQ5?>rv^@Ond0hQyvns%tDCnG?0xWG2-i2YOPRdAK%|X zrwXUIM6P@$C`!FyvUfi#he3kdB~pD8JhvO*OVHC>8|elH{$|&mZu8^7#o5H`ityzv)RC zAvLlPkaTTOl2~QGrD1ycWx>bQQ<=-EG3&38wkd z{11THz&Scr&LXb2ifLaCUQ=~?t_iKDS%1;zNUMG0#VX~JU~{L#UTyN&8`8$KOBY5x z{q{cn)*(SRi>MAK!EF0&R+cUP)qi*S$W^;7IBvpWE#c%u(Q41Xyo*6?u2WRF*FvQ2 zvhvC_a01x*3<6s_Px&*O9Htzfq_o=8 z=dG+a=A^E#r~Ji_zMi%%yZc@K{^wtwF&3JZZNLAutZ%3&`sl*fWLYE@iSNh}B6>MHb2$t9uS@lli2F~w6VT~827mi6rcDllFy*KjvEK+s z@QDCnjz>M0SXg@lVVI~O96^f~F-mr@awT$=I~Q(OdZr&-&~6ZR8aTye?EC^20oRR9 zT-|1;29E}jLbtR`as7PgY;ApxG(9Xgv-&rri9ipAQNy~_kl@&dlYOo)pHL|=Xr*A# z?FshkDUWJLn7INB+9Psc7DK+s2gJNT70i4qE zSbq60kk%wghn*wZhZ_^nnXBByoe`N1nuj#EH!w^nEW8Ouj2}G7+KG$QCzlJnDn)fzFpprpnijW3jt4|UJ1l=Q4JiGpLsPmxHw9B~O>V?rxtrK)Q z+)i@@oX?V0E7KS7T*Vu&q?8I-N@A-Uv2)O!0#6u3J-y{ifag9zw=n{Oci)OB76Wpg zLC(u2#QJ`UA6RrcCo~!!%@(w~`MJxzNaa_ubKH5r30b7`%m3p)(%w6D8x~TLUs@Rf zCtRFb+jy`|5@g4Jylg>U{y zBUYB5uRhcd1ob1q?p{RgD8cvj0A!!7Z4SVH`1jA33VT+22a13AOjBT662~!cY!kF8#x1b%4X$9az1ns#5%4-9f{N~NIq-t}iQwy2*( zJlg5Ae-v3+;x8B7t@~G`6G+Wt#OP5YtVz{Mc3MZTIQ+Qj%n{R?;j4Nbd+UKRM|1D(e(hUYrZP(Mbyx^r_$9!Ef}i7Pc6# z<+%tv0eb!>ZfS}9@-5tA^}=*szj;WnwngR6YosdSWb;0065|%uGP9`MfFDgA@&bxGKxwf_Y{>j1aB#=`YC zr$BRDXQ30An_>%)Mlt>4Z7g${cIRUZ)26ik8g?$*X3NQw_yIxv1g%a7@!s_chHYV* z9_`1Qr14}#No!5m>N1*O2||KieJ*&O2b`m0b55G=IN%Hw$R~in&Q~VfYG zndtrcs^a#Ilwv+5pEKC2^?CHPOYL|%I(ixK47+_|KOyYK2ysX};r=Tyj5Xr;V;s9e zlH?JFhY-)vTLpOSt%!P(5U1I9ZSl@qIK|oSyS@FV-2cD-)5LQ^8swK2G2~=+$UNw* zZTuF$Rl{~}5QjCSTtJ#-GzqCVZU1#?=uBf8o0}v_I*MFgMmbOO%FD^XH5F_-yLX)I zToZfIM&pUBz`b-rPgTu)eLWb^!=DyH^16Y?BQd@y$3G+{%NU&)*(U+ z+|Z*>fCMIDp;B>h2O#O#64x=Y9RpKdkP-Bp+Sya=A0%|TnqEI0 zOFuTKlncD~&eszSzS5Ph^v&y^4Qw9NB-{HjM~#Fq0>hY$X1Pwv-~42@-T!w%wQ!Ak zP{r3pN@j~V?vtbjN@q6!Dbneikzz~5&3x@^-JadnB9>)frA<6L#kEs{*dmNA{Me$| zN$L9FM+QkEFr+{_t0Nu|hJi2zE`8p)wMB%@#>0f|%^u5(MSk@CZ#HTggekS-gg-oJ zp_QU|^A-y?-XK?9XFR?3tkPt1U^ovr5C8E0(%gNFnaklUmNB|FNz)L+n5Er-~4$mL7Jp3=e<2+Lb#eH(i`6=Lp`OuptA;aU*uOD&z=wsSD zk1|*(5wyoH%_ z&`N<2S(_CxbVbfgj*J0dws)S;-r2-It`oLTvNkM+M5pQuc&5b0Hg;}_LiILwe$K!& zot0uY`Q3^Akf`g^+CD@@7uQP#{Rb%3MhFAT8tYj)3p|}gOtXTh9)S>Zfiq1a4nFw> zAjnm2V!0WpXVLP@sdM<0y^nr|Q_f?$!_?UM(N46YwR?{!K0#V8rk$s__VQ^Rr!oi* zPaS9zS!3Z&R+A{DOZ)LQ`b=vO750f{^r}pPaCUvCRtS6ZQu}8)i&*vo(##>Hd!C6h zfqXJEt@h~iU*R{82|FDOna47hrkr~Lma8eZZ)lblQ^H8`@JWXU4{Xf*(abrR%YkQ$ zpreWU!vS^*7-;RIRCCZTF+l48A>2V5rNZF;VgR+B9xuIWvODH->J+Oi-g#^4`}T(a zQ-1mnJM8UE_WjIKYNvq{ChIx1PDxcv*g2+s@Q8l%v;~ipMWj_kn3LD~i=eZ8P$!&U z_I`n$eF&sf4W$}DGC0l!gm6c#tDa{Yv_9ebHJh~+hg>c*iW>G@zN~6TaBri*_D<%S ztrh$Rb25?k3}6`36CYnCDt)CZUFqA^KN)NWp+VzB zva=VmUrVOoa+dz)Cv9Bkn>o3}u_lf+QF8h?P9RP+TPHEj()(Ds9F`H2BnhTSuw;U5 zWVfOnP_#PO#`Dj%^^zPL`v!rrjG0?TATEp$0eG^{8^upXfA1X_Z0|#eK}of`wBlXHXzb(m1>N3kEKz!XRjNQ2PhG_Ck;4 z#pkb=NmGauK@vlpfKq}afkZ(Z3*s2=J!s;Gi;zmB1GyWSv5Hr@Mrr*;-17M~l>kv^ zHWaV-{~I4|^ay($WYom>V@_McXoQi+kPf!JidbmQ9o(930n01lEv(^|*Eofl+29#` z{&%!bj_GzI!ZElRA5=)oBe#;l<}B#Uj=?$$H{V8@Hm%(+u<{Fd6YGce_6GHh4+&0M z2tb%7UL~s|L&icLI z(5-DvyvHrAQK;U=DNIia%+nYD=l_<0x$9sT^H{mlbo+Q0db|6?oyn|+liiPyvN+SxHte6!X*@*A?6Xp;hGpKqG;mIC zxRLb?Ha#r6glQEqj8jM$0_S*IEkL#T0U!MK0V+|02#`j~5~f+137(J=^fu61lMd4O zv)_q8S`ukZ4(2Zfp1pq7%QI@Dk}NwyCBrn#+2{BR0d&x7ap7ejJyr`nE3Nho|EIKj znysfTzPNu#7@l79&I3+qI^?T&iF!vkg;gv!J6>U@L38gOLHlUp^-f{B?r^Ga9xBha@Bn+G+M?frDE8AgP8jU21q)4h4Hhb^8 zFW75ebI&IqzsN!r3Mk;>-tH!w6i!41fI?Q~QdybLdCvcT4ic40_yI3mdba+VAXfNl zN6_d57)}+lxQ<;sd!W8)+@qlO`1Et1y@ME4J-NJN3!b~)8{eE9>~YvKKo}_mp+Xoc z_yKf=E`jw1anME8r`eh3f$QJKD%8l;HnPzAIb>Okh9ukfxV-L?cLcVcf+BG}$zTM7 zp+Xd=Bnb!sC{;uXqh3H1Wh8TsXUw^vnu6R$<`!y~mnd(%cqZu_?mxmVuW>v-J5vJz znedwaKAM{1dI`QCGjt=`oq)kGbL5q%7|Tc2Awd~tH+11-C1a|Ql{VSs74l10u?k0T zwui(sf3}H@q<{Wis>mJC zzW*sA@=22fO}#`qW5YcC-7q4qUG`a8)X`Mv_XFxpmv+aaKbQ_$53@h>8>{H!5#@2h znS?I8zxk)>Ie7$DVUc|83QlQ`xzRD~fAl%s-CvJ$BggB{*_g#AtDR{Q(mVJZ&2%WQ zy-d^{A*1PaRirMdF{FC+&GCK}(M*e|KVtW4g_S17H$h-z4fAYyc9iyLcA!YJXZ zJ3Ruwe=g$r`b&Mbw)ffDot==>3=PeEHsUGAlO7wz$1E@EC_uaG^Wb5JgZkO+3yNZ6 z7VoOB-M$3{Vf*L8{gW8YgD5GN1k90O-e zB2PlsAQ2v_nnOwz(2v{)H55fh$^=!-uB}3}NYmlm_nKYjl!&To8C5NlrajWMhoapLu^|ipVO$6b(R)Wgph<`%J#0$oqPKT(M46~PeT3Wk2hFd z$<6)WH;vtWmAm)APyv|$03ZNKL_t(T8qKqNw9kTLcX{#oJcglQ7!qB}vOG0SqG_P1 zplYD15>)|J%^nxHzy*G{_*Thgre5mo9T@C4zKI6$XWvwXg!F6fsiNp8r7cXSlJ%j? z>1m2vzvZoKkTbvD%3A$|dwVfGR}jYuc5wx#JfC=q*kyQs4|kX%qSKXCk!+zTpsJV7 zw-MGI6kS0k5>2;JbsJ63VOS+J-9gnIH2vhDO{6Zq{|Lh=kYBorQ=U~ty@NKw4UkET zI8F%LF^L?asS2Q=Xv=dQNQ04wNM?^~)`v2S(~Jxb;p9!6OVi_MmzOASzJycBCP30T zj-IDMMiEhvZBs>Qu%NZ5s2x%Xs&crE0xwn=1}W{Kpu5*$Fbs)ffu?Ebwdr8;kaU{) zDuw0iS)9oP0>uw-lp(&biMJn7-;EHlBn;*cm=sOHT-ZTTRkS%%z~!Y^F|7(B_K3nB zanvV{hA4oMuV9y#F`Wv-<}DOer*i2fobuC66uGTk>Rf;2%@VSPj4%4L<3?Puzyq0sAxbhg7$xnX0RrFKr-S!K+yzC(ZKKEs2lT54K4&T96#8-_lAF^=$U97?)imIYp1w;@rxc6wXo}1MN^!o$$>I2%{>Gx1K zD_BOJG-~kbizQZ;vH^a*>9Vssq~3Iiq7)-{_CPs}GAHFEnX1S0h$nz%+30y2)ihAY zF00Z0kn~9Jq)ej;@%-|3k1#k!JdH&(EhEAI^IuOVJhpd-+<(}ZLp)V9Q=d;fpAe}+ z8nalASStHe3nAOPF83d_Xf)5RFa6VZH)%9S95jXmL4uukC|;@{2z}Gi?$- zV&`XH5V_g0NYfFC7{}%4t6aUNP#;a#D^a2-nR(vaDb8FXRzitpE3Q+{EcXmViA+oZSBNFYd3Mx{uJ+*#%9 zDDgZEQ6w0;F>b7~+ev5*j`gV=s-2}}a<$E@%vQ>=S}YK51XAF&NAw>z@jEBaxuw_E zsl9lGaL~YQ9S{wBh%_EgIvCicC2ac=!`3ZytAuW3gZLyKkwinHs6XDv7)8&Hhh1K# zympgZ?R@1{JMaBHaWtHG>>kBDwKI)p2Z(-mm(JtQk!eB_M48gL{swSP(kUfL`0VBP zA`D4}Pc|oOKl}g@g*c^4nD%@Z&O-uv8Wx-(Hx~~u^x0$O`!U@>rR_oAmyAM*6Nh-Z zLB701Zs`WPog;FGwD0|fBs_h>WS-i2Gzw&bG4UL3-{Pg~Hka0Hk_5K*C3hRs@6A!Q zGfg5?efoLGBw=uHkD$Mgn#`Q*^|6I$Jn`wzOb1}7&MWOVi9b0l258nC%;;MgjyZpg=9HUVu+CNxx2M{{g) z#x)d9Ki3Z3Z7aD3Tiabizl)+87)Flu)lGi*?)=Ywdw0mzc8hjr$Y7XV$D{-&XCRG} z1M>4ms#J4B77HDMAmaZ0=3LUbx{~Lwelk5Sz8}-<1Prk8V+B73KbEBRJsjI$;nEUO z?G^M~mDuyy`|tz8W=8N2`$dn!TFi1p!`3Q7e#JX)Y;tKcoAi3Hm2z)vYz1K06^cvG zp=#N^CLHz{?)&(Ik205P{j_SK>32mpOE~%U3F!m~y%4|eom4v~FAq@EC!5e6MVhuJ zCA3n`zc!@l07W@(h11s?hJ77E`ls)p0U1upQ%gx`U( zsj{=%rrsP71R}eps?HH2IVF@&+*mc8^u7E(VVXMTVx}kHhgnYMZX=-CdGdu<(bP=+bWYB) z>UII$Dq`honR=%vq(O-A1;U#h6inPZr6f(0xoT>f#w1}ja9La{@W#sN3eO=vk$*`r z*rW6Kqaz!g{m3n>Q(C);eJ&MG()|4ABw>VIy?jiK%!p@M>r+$fBvMCL=FgDU`w1W3 z^-1SQ@Rnnv8#?7u5mC5|QCvAeJj4Ew)`L$N?%xMgEawI?$x(X~s+V5D%$L#aY+$IU z)85R)4M9z5-Tjo&!DI4^o7m3g%=)9SL+G`M!`_5+0_18N6ql}?Nj!Jn`+L0h0ebOt z)yXbpCCy05u>OEtbq%L7B|{?e={){~a5x>D>Smep>T3Yx*J>#0{F(Cp?j2+*DJ-3x z<9HTE2lugZOUPuJ5qTU*IHbG%8HqncGxKMX&O@9ep9*vyQ{PWmUlm;5g!R?=>+AJH zMnYqMs37$m=IU#pS%9Q{=R>?+Ywqig!Y-}ilvZ#%nTlChx}KH4AA^w&c)4(gPw(h# zKTwI|1l5dC?EuZ5n);m9+ZlUZ-2NjJO`~@Gdx&w#Z`AZj!=n>o*`$q>34XIp6bih4 z9aI-7^5bKsaQV_AKm3#V-=mS6aQ~st-L2_FPdM@><&u{5>fG0DZVEOxG(P#to@_&! zdZf}rq$3XdnKjKqH_DjiBARgu`IG`7BK%>G(0jyB{`?xtweu-CnW`O9Z+Kj}Qeu52 z$6mwZ@vi$!kt&s($K~1qag^}cm(59eZ7yf&8U7&7P~{rzVBf z=g{puVb`Pi#e4L29+LGoj`J^%5rgzd1V`o=J0*lxEsOe5HJjqn&56nhplLde|0&yh z9YTNhzLWSKX?kRxg>kR?9MTzw5#eA+FiK7oDx77alq8?cEww#bIxJ;>W`Ab(`-!CU zn;(K@rRLLjmr|Y}q^7yTVol@6Kl*xOs(M54csrp#NEwYJC{Qd^S*WJG{l?kt3kMCC zTXzm-Vrrfa22!3~iKHkF^OWAK0xElG8YIaORdtY3BRfuqBveJp7C-vIRhE~siIQeZ zq1E;Y!sm_$PI;2^;dvI|J;wXpJwEL1Bf#hd6(cJnXkU6!pT6{Gvq+XL{$9gUrx z9fod4mu_J=W$e-#R=$R+o1}4sYFMPP%j@MYGUa4^v(z;h zxtZH%A$PuphGr+^{I7H4QmjL#7d_3`o_3NpFvtU%)ADVpok-J5R0uTPK{xXlW_hNJSEdPW{5j>7SI94~qv;x&GusCe2mLu)m!Wa% z17fc?`{el4vCGR;HeY-q>D=i3Gaqkdu8{z`Q^6{)pCF#dg!Iv;9BdESyzFpk)1qi) zH_K5Z`R#$AwDA(LyNQl_YdY0+;UgXNYL_yvyQU zu4Jn8F^EH@R0_OK6Q`09X(K-#OemSdZ5p31T1lo7nWUs~N;C+O28 zYvvcoFI>hh%|GY;PLIKM7q>A$QM1Al%?{9V9;%rgYcp4+uy}25tAV0`?;hY(S4hKz zsFi(|a<2O?1j8Od&l~?fy{7-@2O+klQpji9K5`ZM19-GGq}~Wo)#-Wo)*Eg1_S$Uk z4rcm14~eJX4#naNpq|$EDd)zeoEJ_(=am}~)l!UQe7(W_Uc+POz@ym-vwYzrm`6NK zUGVO6O)Mi@_Mq-^|51;(URypF(L9bImi*hphy;V`^|#T+j=ism_t@DR@$gZbo!ue2 zeiKbAjQbtWheOh7*i~|sjT5A^5PwOt+2i_##Y)XYN=c*X@pxyz&fYM)1j;9o&X{oM zP4ao;P#L?+jwVq~hbZK2UV5Q~Whs-$kHZ{EfG`x}M>zIANI0l>=aQ#+r1P!USIFh` zY)oThF(SG?9@A(lnmQfJ939h4#wp{6NF_py$0jw;n*)^(I zG^th!y!qNPw*73eE%k=r%i9U{#u0<4W4)k1{!#cu$JoJ8AcW+>BQL9DIHiYn9yDzo zOk{v+KH|EF2+@r|;{=TKibZ^f%+gdze|OC<_1U-#-71 zyypcj@P~%qYxK#}lF$G8U#?6_BEKu}qm*BM?&3!&CL`W`X&F?FttKQ=N2z^py6`uk zb`Cv3-xb{23h<*8cfU7L!cm0EE=}!Srb)CY}4OHDE9My@uY=XcpFH>5(IhV`; zS=pi#yc++Eou0;*TOo0j-MH-H3b}Owdzv3bPcmmLbq&` zI6_rHBm${xNGb7}4MvS7!@bAk7T3_Ng;R*R6|EI)J(-wp#JG^aEcp9k!JacQX+(pAM6nOCy9Knwn2Vj1G7*;pEy|_ zs;L?A^g0IwgZ2z@e4%QvwxptJ&~a0Cx{_f4VHD$(SI942CiVsl_V1in=VaXr!* z@so(>^=%18tsUIvBl1g^$yHaeN(-Dd7@12(CAj-TNavTLhQkKIpbaSGidRp4@8f9R z{RN31qNt0g#|Y4A#4{8sU$z}Y@hZBL4bnHm-}2exkWp{`M3)o_QBNoFCAzI(FC<7M zJ<^xCj8j=Zm3X?1E~EY4gm|JR=%sx$bKHA;ilLB96QZz%U0I>`;1-%v!0Tq9CCM!SUl3Wj;iomhfIL)F#np{dxo{N;a`o@3j)10Fo=&n2FMJLq}^(^^K; zpWV3RIB9{Yfsv^PREvUgQDSHUO_M08nDmNiszleB^o$+4Y$pkbR6z*PHGxPaQJk`S z5bO_o|qJ>H(k2jh~emDpJ<*F5paLoos`+W{Zf&G{SLjp z#%L5H&RH^~sM;ySvyIz2An{#9$lW3RMSMynaDI{w7<)6f0xn0cBT?9Y)%|)g?psT zNO*MXUn0iD$;>ZPyYYQagG|Hu<~TBQo>g>>(CyIQ`5Y0Su5uer5i?)LsjOfZYiNc= z9J&}*o;Vz4{aN=r_^mqYYbGyWPq58wkk%Oq?ryuZqmwGkS!Pg9b(MvyZ!p-uOY9HH zFI}D~&CT{BAslw_2Tjr>qPTL6T+svg7sCnaTS&p$IjA1<>NgCKeZ^Yzkp)oFdc{L!B6?{ z_UyGr3YD-~L5k@Fo}x}p4v(xq=ggWcGdi7G3cV2#W;(Qi59^7p!_^C;G z;{_DM!OWL*3NcYS0Sv2(om-ixokzfflZp^;bPxFEVn7ZWF83caXm>^o zh6d%bMXhS{=4*@3q%8lw@Vg>%he*>dN%EL9&8m*nV^KEBc+y-|RbG4f3at(_n&+<| znTO*f^0fPlWvWShK6o@l(-i*V zhu^+a+P8)FF#Xol&eIS@DZ^3B?m^6>9iK~=Y8i_TdkDuKR0`^?hR8sFQL&AJlu{*q9JK|cD#hD zX*jD3tgX~w`AUTt+NUXnE5JRZ|lVC?D8^;H{V4wEV_?B$0{vimyX&<}!fignE@!4v z03!D2*FPg259BMCU&U?gA%W8B3s_H#CONWdkrB)^iD=*dkR+ZR&>wZ~1W?C@Cx%_X zEL6!Ytdgs)jz!OGzeYPd=z|t-Uzsf>?TiG!z1_!)RaDDB8GG2DIv^<4SbFaJnX~QI z7g-r@=;2gW$uDls_Jqa(t$Xj21mk|T+F=&!`J8ume)b-|cW+`UBc;G9ERm~h&M76$ z&dGRi`g#At(jzKPfT6?A-iW*R2kh7T7)BYWplP#%s-;E2jjNg3d2d^Ax1SB_m!JP3 znrUO?3he#shlI%vl6Xust4MLO#POXsW0q+wlZfZ2v4vY7;MRMY znOZeM(X;(MEU`sV@CRE|uDnh(@Y(&4Eu%|BLrTWaTVgpo#fXmIOZOw7`my)&V_1Edr3X&0BVi;EofoEOmu ztACq8&nHMOQE(Cp1%a}D1!HBb291|bPU(?sf3ic^8xQ1C50Oe_8WRO=BL85rF zrKcvHNQu9Q~loG$w!P{vfMp>Wh$p0KE1&X3!I2Cf0 z^*L&1)+3vY;)&@{W~wDIZG}Qk@Pc!Dvh-d%;fsBfU^pW7MkKzE&W-7|7IcD90tf`# zsE$o;r8ps+GF937*>6znCc(k!E~Znr$|)4R3u=l873`XdW*=27&mf*M#%p#NHTwAN z5ynFO#3FX3O6Brf?0@(rVF%uPV?@gh=nfMMtAttHz{-C!&?-asE`QNNyk!26%6Jia$T zQ8Gn8O$P|EN1C3mdPY%AAjPl?*kucp^n}tW;)LeC-x3U(Sk7fMH7ngejl=}r2&2#h zlyP6@Ea^mn7dN`p%3r_7_74@lFZk8_A??nSD>07aD7ni%gXuApQsRu&znr6!%VnzI zvywVLkbLk_hwYv2`2A=eUZ$iD>MkNlu~)k& zT9P>d=NE~>Sz>xfI3XjQh2`rwmGhOAwm$nOk}$x`FJt8viGn_(&O_29MAZz6%P&kx z!{Jp&fjI2qjkZa}xW~1$NMZ2`cDaUTT9XA2iRUOb`1P$2x1H^qsvGFVL#NVg>4j_W zkguJdC+qk27`3)$h^Jj%!YVAFC<>#-qnXm_Oc}p1x5PG$!-=^~ zqu_H6Co-&D4X3h>qN;fAJr=IMMSgJ&q=IG|X5?aJPTLf#wt`u0-wF#yvJbYKAG)*0aeY9oho${MF&(41M49f|BSPkBss*; zpUaNB8KW0lGm|h+BA%h!B@P<|oeojpp{6%+7IWCuB1SHU+`7x3zMM@|HG2^s-|_Iq zrR7$B38%byZng6?Y`=ed?(;wXQOxqv?CsF=6W;r%PQ7`uUsu;lIQbhKI$bK7ie?&U zM%MeRXc@s&RON};zo#MgBHZ@iJZ9~4VOx^F{*Py?zB_w@?VXfHE5Y}t`>(3gtejdeeP!h@gfB1?dIBBqyragpcoEd$gY0GHZ;y9ixW4z|V z7K$QID4jvSO@IFZe*XZ&te|U)sM={xu-X1(WyhzJPC0B-tw=7frz|e~`yrlR-tKej zP6yvVJo)S=I={}t+ixyXDjL6&^3v_y5s$VSG@1&&e||%+Z>nVa0vEWzd|Z&t?+DIP zJJ;-kGf8Kw6Y*fjpywT4EE8bf1zl!kB2tdyX5=K(RLXH~sT4>V6NY=FafD`B=;Mq_ zWKT{203ZNKL_t(dD_M6Q z7tQYwjLD5XcKNd{4ae4~RZNx^op00-sy#}%--u^O=Q~$TmP;D-fncu>gHR=vDnZ~= zyYW48)m4(vL$~vY$S3I4Gh>@!0};lAja96bOsz5OBDz(?aPrutRU*Gjn)pv7p3%_9 z-)kX)kVJR{;U4Ljyx67XaXx90q!W{-A-=qW7!LsK(h~XQ%Y=g_x!NV{(lUw~p;;!X zr2-Ofzs1(Ce?jl@Jxu-e$*P@=X13iqYs%8bI7&JJoXQ%7ibB2$6xIB1TJRj5+A^dkAiryJ~uIfg|tl?)#=@jC;$ z4|a$G4WvTxxgKV&LV5iKbUTmVY4P}%|DD)9sV*ssoNJRbjZjc9i+Q4VuHm_h8E}?2Fimsq)Dyjv};#3jz+avte5U;a~Rb0i&mv}Ax7Zkt`;Nf=6 z-ThgoXw#|UlsC_%c504}2*gZ1W%JGsLC-z0Y|fFq{%XR~Vv2Ljq4V=w13tfXQk6Aw z4*Bx)SozwxE#dSYJei*D+2=&&d4$ zK;iod^`^(8tp+>0Pd8lreUiAzc0aDOz1yBB>+|q+jG!)XfeSnt7i9B0hSSteTOIOh z>B|$#Ki=`!Iq<1BgK^J6mKiq9FqLCcDR`PZFL`7t{m^dRwsnd{2Rmotlyf92e}SqQ z<90h0nI^0!AMw?GN)(I`Nl30XYtWN~9-3~DiilVIe|olq^fhrvIyF_{ovX91h+Y6& zd+^0qA-T(Am&)QI`9q~mw@4xn-OS;&cj?|6;59~wAObDLs5a27OzE%+i&%x~xrt{o z8WFTyl2ORP{hy0t$vxBv%`k+a7s?(ZOSe z`;T!OyAzcYGBRFVzK&B}JLPOR+*hC0gWnJgnkXt5hDjV}WsIsef5OA5uCj3L4TgL7 zi2Wgj<;!DLe2SyQ6CmjB5w!(__HU4Bc6?RCz$j+NK3`j>w0;w(a=u>C<4EI#{=Lk} zQ^X0|AO4KUYh&kZ^4C^bu9eW1vpmjJ2=4rU|HlmB%;gMTd2s>L)aJ%97`lo?;nxkF zVr3J(P{t@0F?0EBV#>17ENg5ycD^VXfFuZLeEt=Ny@-5#pT?se{xNQ5E}V?ad6L?x zmvl7KA#6=!dZIy>-tK^KIFI~Er0inb3d@TIH?Cz9BmefHkLRVJopi)j6cr=yU^+GI z{0gS??U<){y=}U?U!W>By0L<$J(+yI^G3v_^^73a8v%D8sO;@On^{oiESk)57FBq> z9nSRhDSAqNbBLlREL?jNt5_xR19sp4fZ@S5N1IX=CCi4D^6>MBQItHYYI5yLj-^Fo zJQ0~qpax+=7z$dQg!>O080HI@mBR_Y3c1QAhFu}(k7(a(k%&(xO1-9)(T&A3kKG~Z z1UX|Sl!Oss-{XJ!AD(T};4H*3c)rBxb58`JG(8qy%EDvh@vb|DjL)lY`*vQg-h%OF7R#Q zf^2?=(T|I49eC{Q_qeiZ@$%)f?cxW+m~KC&(GKYLV+O-#3rcoujTdhgvXU2jsx}@+ zOK$LByUi$4sa|>m)tnCUqrncN-T{fy_duoBpWWZ$&8#0pGi*d0P`mLix#}886rr0Iu{*?T4;VEb5%k)m(FmhrQ!ZH8 zriN}>1lkf>e&xx;Qzpc&OXsT(d2v(n`JE2FH>;j$mPM(yNhta#_L$tJmr+$4MNx3W z`#9xg3M*H!N{c9JglcJMwt=E3bnf1w`NeHIckfN!)5zNtHy0)*J^;G8KsaiiI8Ih+ ziQK{^45yU!z0RA+kO|fP``p0}fM*EKm26Yro$1FJ$wb!XE zQ(C`C{wbYt0s8k2CS~ZOMxFMZyS((GHyG)dU{`QI^YWYHLZ^^+^C zuACk~FQi5!3^X;xR3kogR}ety((@EnHlKQ10YsFkjA7qnu-!o>3XM-6;E9j403i9hp*4;OiQK@f1VdlH(b#3Bb>DaGhd~=@!VKd@38gD zpAow*ilU<%3n+>)Rx!VxJF8L2u2s5O!m!rpJ#vxKBTf5Arq?k|E1>I3XR4hU>4ZbI z)3VlxhAFQ+A5pDjgxfs(mOKO3len&A%Ed;inoP(9o~XkU=H3tZp=r{aQa{*mKZ2HZjqT*5JUROs|70RpE zzLUgrcVFSrR-1ZbfbS=$nuP_!sz5iXWzo zVvW5nw0on>`8Qw1DX$TX8i;5}91O7v3*;7#krbJ*Is7#r+;VZ-v!t(Fa(LsVGPgS^ zovkjamcuR{_Ae=<(#H>XaLUV+H($ocXDX?+kP)ZDlE}{8I}EmWNrC`G#6menNX7;w z3SpEIt0t*PP&FM@*HJVL!_K2<#yFo-Mb$KPyMR?VNjk!Qo#DYl{LYjtsG3P>`DOYC zpHSWW9`5MNELLXYCQfCEvobG}Fe_<}+#zmfA1MS@u}Xen0}+MnefU#U1+>!1nfE8E zo#PmwH~3e)Sm)=z)flyg*vl%qGh0SjyZ+A1L_yHo$LrNeo|<^>(BFDM>^HF%X34|T zs-5m`hiI6QbrB_O|JyB=m&By!ZeAW|>EK`4+aL0yw`Pymot>D5coE&qqpKN7Gqo5~ zi!sy)fQFJ+^=K3v$(~=vD#mph@@M0V0eLae{~i zss?&#KH)sXQMJ>kWo$rGY=YJRd87|l%6Ja(91sl7XIvwXMT{KcDCvZ6mU!;p`o|Ly zLuV1EqnVLHj7Z`>N!%w3tXDbg$(<#hI*MYV>ubz@2NQ&7jMupWs7RSj6e!AR6BGi_ zC|vKM877O*XYSo;BDnYW|0jy9qRPW->680frF^pMaH<@jJ1SnM15%sGJk|7*lSb!P zJ2kZQ26327sR{_IL2d&_s+XWO9%tD2H?JB`wm&ogZ0{Pk{3QJc| z4iz;i@!Grex9;KAw^?1v@y2s`oUvnHvlsKxR|C8tMmG!O%9pTmi^wz{JKieb1Qb@T z&6L>cj)iJ~h_e1%DI#v}{@rAM+(aX<3vN~a)47kAh$Q3cZDL=5oE=2^on8D+=KAV4 z+9ZB}RdXbo$6=?T@hF5ObXj@+2dJilmCN&z z_Yafz@%@xXdx8h87*HrKK7S&{<*=Pjq$7f4dor-k)mErnetNaD`SD|VyPr~Admcp? zc)Kl*y5opALE zQ$JG?WkTi%nr1O3T1ff&I;yU+{NfMLOdGdR=iyKPF3Sy8%V=5^O*^}<@;p%07~lH{ zA?C}D^9U!LPbmh7W{i%q?~|f1J7oxPUddydMTbO$>&w_`3jYC%3H7hZdB$AT;RKm3$l3uf>6+GhdkVJ(KLlW z``)(~*xZ+k>@~8IO1b<4Vk}-){&8{({-R%_-R_dFE~6KhFe{sU07gN%zL$vSA$t9Y zPB&n`?$c@q1ff7T4RV*4ux%SnQz(@yq=ik)@}awJhSmDtal01x-186!moYESmJyj39=pIgaWl~~`j0uAl zg_R9d{ct-aj$dcgs8cPM8RV~L`|y;mnleqm1V+oYT%N48f7mPJm2|$PCVTnrF^m#&qUxHgrwDvpzqs9ZA%GwF?nC(wQ zFzC>G&}F#YN6}KO0|>yC3`$R;4&8QO;G@$S-Z4N<5_$^mjiZa_7e& zouzh)v0;%+W2BI5|La})kD53I4SzHpC~LMrv%y+&S$_UUXr_soE6{uYL)zOzJgjk1R_aE6G1xusp=Z3 z@)%XuF>D*nFtG|XoYFF(+s5teki^5e>oBYePI3LI)y|svfUmyXCi3UM?;%XHgl=3X zj_)Ca%nWk0dHr<)DJ4nx&Gq`pv09p@J<_x@d0x|0?7YtUi|c5suaSfa?iasgf2Td^ z>4tBHcs_rlM-qp8acgI8?2D5oflPb#sMGC@i~9JYy*_IP4SMOAaCY7s>#00JS} zNEst#Hj|_%c{HtzqU4{kT=?l+TxHr|W8GwBIfr3@VSuiIu1hqH?4g3HfvQSW1ynVA zT;R#5Hw0haj;S|}`dgg*KL7Yf;hDx-#}S4KVF*E_5QYjt0R4fB=f#B4B0-?w2MUfY zv2BTCONs@_8?RlE+6#PlaX~gO@SQ|sq;L=x>Gen7dEyC~`q^j&wE8iZFPB&RV=OBUl98) zrM2r%?V9Sf+ca-~NbC*K?IO8_OS5^Rll3Gl3_j%kL4w^({Ce7^O6 z&3!(IC7*1?r>dOO?MP8n4Fv_Ow49YTpF%v{dYA6jm$=Ox3Y)WKZBAvC!tzzpIAQyj znOdw_7ItnEB|kc{-06y^*B#=vZWE3=%!5-|rm%DwGhf1R3aFZaNKUG8GL0E*cj(@0 zFxYCH_S7{pk6q5eFjPuKgL27YbECkejRN&SO2gBUY08r3v9^+9dw0m~yLIZ# z+5J(~GP=Hqsut$0>hx`hr;}A1YeODy*Gbcp-}}>4&dLAhl-M3ui<6{_NJgY0AWdgY zv8K7vvy*gLkLuHs&!>$HNl+AtlutjApsE}ppAuEg$f>Gy(KH2314CEP4F%KGcZ*u72V>P_-XYYY#z818M6_#Ux8BEPsnVfhkvc?sP*dz9gKGj%Q;b{OtICUW~o zDKVV#i9AsNWI{M-F{(ep&RxQDZ_l_R!`W)5h(kzYUK-9nFV0dq#b5x6ie0*drdtT< zk_ZIYn}%SBQeIkd{8lZaq!$3FY$?OjTvmWY2E%U-A9=-v7XCQzP8HZjXxn8xjg*m z{~JZgBV~w`QC146Sm?IIs^ljEx9L!LeRal zOPZu4y_k4#wzF+2B8HvM=Mqk5X$e&>(!JN4_}dtjBd)R%tlScIVFfFHIA}copzk~c zb;Wwfo%?md=ACDN`a<6ok`X6HwSEPXq1WurulS4=b+*8>-YEYj%6gOY5`4KJh$3;lx!a2^;bel zMTNWf57^$Fer8W1oRF!Vn!bRlI%g0=!Ih0ZE6WC@qJa>CPRD2WU`V~;j&mR9pI1}z zSwU4#Q&h!~-+kgFn>?}1w@xgZ<(IZd(;li?8IyG#MbXIeb@lPj!`|KV;^gF}qQJ_s zB8pC$-5resDwix)mJ59E?bD-OE^vY0H!jHL1^%FL zlz3K_mNC~}=f%-KoVxrSBH4giIQr%>@;%vPc$5kzz|NSyH>*VLKd-@kEUMVf=OetNA`NF%dm(w`Xj( zdr?a*i4rNU#o8BCVNc|~-2J}qe7FfD5=bmnlDf6v7f}HekjT9E=FNN0^PY2lCx|wY zGDi28&~qlSmCc%T%5&JI8c8suw=tO^(oF}uTq8esVQSV>#L>Rv=w8w-=Csei6eE&ORAX;1Rv9{4?aUsW(XH9nM zCzl~AiZbfWl%QCss*@eJDaUMSKIOs+EX_+iPvE*Lz8|ww_jvfE&i2m9y}+tk8kOW) zqlF%0KU+L?f91%%djz10Voc0+Rg}}tp3(CFx?VvDZ3Ms$dn2Z#^hwhW*_fJW|8*3_ zM9Mz@@ju)=!z=u5s=ll6^G`zj;8*V{-qUFixhG9ivZ(;Jj%{hUuFg!=p<1yhm!|iI zpX*$|Z90d|bNycHLDMG5zlv_>cvb%FpL%ol^#zxheeb&{O17$;h9N<-&BiA`$7@Vx zubj#v)yucg3J`L#hhoj!kh5c-&6atYX zq;ZG{Q#4yAaW?_*H+)1I<1S4%(#Xv& z`1TwZma@mzn*sNp^k}pKbSr~S-6)aTo8#@C0-pVyr*ziuj9x<$cZWzZzMLzXidmZM zOFIob0bcKo!F=GQByl#^FbETZAZ2}X$ZlguZmxnj5W*f;T6nSE_%uUUKjT^jekgmmuMl1!t#IbjTCI+anG z?XM?;@#g$vigw6uE98@}JNQRn{&=aXhD4(24w~*_+Eq;FgiMAEnJI)Ulmli9$7hAt zH~ZXw)MlqXzD{Ub5#5-_s!0^-5KUAur+D6dWSU|+HAs$@!%GB)siLZ28j_hx!u*^{ zr3|H$$1+YR%W`hv`Nu=xao{NrXW&NQ`Q2})EY434d3NeUe)jR!k*q3!>*&1y?mR0? zg%^hPgW$QpZ#x6Ny3=5L=lJXMK`DDK=cDt}G~YV)Z>03Oc)_PqQZWn_U01LyjcUcj zGBv^|B??o*D52NS$~oJel;`WmSE{IL8Aa(5hEMjlrChR@tL6Cc{TCn8^xLkTddTg& zDb3ceo;6I>lCm_<+a2=gu!NPU2|J$R{bGm-sM0>8^eVxPRxqfTZDP3bQe+v`^ zUBslL(mXvLlJLqmRVE>_lh(nSvBn^_WyR0IapYO399$!W%g+SF! z3@4B26mhCGoKkJ%*315=m^AW8!hp)oM?CB}gu?+z=#!hhNNMFw0K|dPIFUq%G^Vru z#s1F*kMq3qj?cs1WU%Oz7s=000jy(6ZT&!DyAHqjq=}-d7&%b10K=-_6z4IW8H7lV zf~TUOs2Wzjic^`M_4FDWwC_KokQ034EgeT0gTO)PG|U{jy?}0H!Rul0EY2-5*nP&Z zmjQ9w_el}=5zm;9s{09)T8zMHkxbURA=zp zO@=$0`z4v`VK9&>MrE|nBPVZ*mOG1GSp1d1GgyDXjVlSuOYrb%#73h}t9yEu)3G#e zUMsL!_u1T??8`Fk8BBK;!z`g{#}9p+&G(o;0X#Rihy3WLYlzWeg>L0=t4rv4gUXfH zapz}n=d0+tj@PU+tncD&2K4I>sV=>Rh{xxiNJTcPCQ3-7m|?w5binDiR0ye5R2Jt? z&whG-%+G$Y#diI4D9gaJh@#k_?3Iij)!b~tm5VB~GxEr5dw#-S{q5=maJr7ppZ&?@ ziL&H99SiIF461f?QDbR7<(11&o5_yz_Rf%>{CpkHJHEWybq)Ub!>nTD-oqwq>%D!* zJ*d+Fv{(qJRy5}4^nLK}_9U%#I(2U6NuyQXyVYQJ#`vwutnJiOo~}d>sQgxZfq^k001BW zNklq0`A$_gm>PGu@40|pAKdTQ*VJq``3o`EjB;-39&yU zH@C>eZ~cHPtA7q;W;bmQ+JQ;E8!=lgA?80I1Gj8GrlP1M-jH+{A$%WAiK*m6=5k#W zk?`4PL$-G!R3$S=Q53lKjz`<`4)k^|9B{G)5hsMb!CnP$CPgC4^&`hZ#0vhFMbg*N z3kl9bjG||tp_w*zafaON(oy)7l3{a`&e~Hdm)=KJ^-+bR+|L99NGWJN`G|0k%^&SO z*y6_ZMeaY0kqRhE1>H?CO9IW!fcQA@bmKaW2Mu-~caTEj^%K%V$q}ovimIt7ih^O6 zFx^EAdz?{8l0H$?B1w7}hD98QIOPT0>dLX@w%W!ct}XYm83(JA(3wZK=l7vgRSjbE z870?bv0~B>0v7V{`TahAIDS+7dYcd5U*z(Iab`12ByCT!wiD1wCIjcQfT!P#P-V=k z?)_{#I|@JhcpI0gK-~A~ z+}|KMP%@rI39V;!!v1sv6UTTgohTw!6dr*e5Q;gA35<=k4=HU>O?y3P8=%ZJMU@jqOD>AyYKxqcsX4x8ut zty4ErS@#Pt|Lv*2-y03`cKYKpKj-$Y#+`?P!mF?2bk}(E>dR+14+3Sg@zrd-pSHH{Zo@a@4keg6%iZ zrkIlSlvy?#9^1_!rBac^T}F3j$O4cIK2xuc;dSY>Qw9x>VSTc+@%{HgW~vEK*HWJB zWF|MdS;Q@^V7XZ^BGZ)S^Usl~#C8|ZjqwV;9A$=*p@zRI5@Qm$|#1@ zOdF>(i#xN3Q>vjF7HJfqY8LHh59n<@#dOP9#W_r;h;C=jtC811#2#X(&{};;&`gN^ z=|Pb0CK#1AMn1~`Ipuls^B0c*R)1}mV5dXa%FdB~dlkRGh3%Gj=j{@yX0ofz5P2SH z7~#5CvVE`(G|ND9Om1kO^LeL;-|dk`F;>2SU8&&|E>GPyDI#w1599Z82#=qJJYLJP z+qzN0DPBZXvu#&ZgI6!KC^{*oE_k{ocvNpA6P@{@#nZ<_a<0z5_>y#%AgZ3 zr1M~du;U|>6q%-^VN4uE413S;JG-QV$@AI>G*v6{&y~LVddo7 zAJ9-=X>8dquczs&h>k$bJ#rBZ?!(#Ez|Q; z@(VYxi?xa0iz`^^%rGyRU+@Kx?K9l~gUqNr4B-$&0I z;B;`RHB{Y1(+xx%f=toV2;JYM6xOlB<`MX;_u*+nqvK_(xrSRNH**1}JTAFSW1qp3 z24R0lccYI;M!^Y3F9}9DGoCQ)5{9uzcP$Id74r_7=3u+a7*>TO?&0?o(s25IrlPSQ z5J>H7bj!xnmoVl7lmo7inrY({Yq&EDn7I zLaSNmg*=*}ViroMhf1PUks#Egfod9xtgljLeU?&4!fuRA#>ZTWi1^`sHlOwhMqHxW z_W;P1uA`gd;8Rr%hV?FSBuLZod8a5@09LKQKmXpz4ye2RlxLgXOMz!P2#DG}!d|xh z?VV513L3fcGInVe!_A{xHilc;FQ1i3N|Jb4DRdHJk^oiiP-JtVqgLpUD?`sWu+w_~yiH02v<6WZYlLN<3!LTii zd=5oZj|I*>omOUha70OFAm!t=heyEkAavfiSmWlaXP?Iygekl2kd2*}FSjkbT})-b zll2a%h|$eL*2`^|36-pz+NsV_edUc~p%Xx+g5mnfWrtyRh~MhcUj2&h+Cy~hwPPP! zDufh@l1fPsgfVv?Y)pNeNT)9}DN`;-X93Sk7t|x?;EU)*!4p#EXS=LEYanIF|N8G= zf9cou{g{odAs>CbF#(*0adqnBRdxE@*-X>!doQ2aoHklTRobW;=toAYsLan9wB|hKnT0=`aaL zUE^{&ot&#vESStzO-dzmWc{B-IdKBU35(>ZP`Dp_z%YWr&R3*~Ksu8EX}d1E7&s;es*O46h#3= zqM%@!CL(=}B)yFg5>-{u4?uJ{7{iUOFP&-;FV!!z$GSF-nFUvh9iSCcq%v7r=2n;J zZ)Xm<)hn+v^U9l&6Bd?-a#=iN{X-fRbAUqx> z`1PZ`dttLh{OIrKb-VNj5lJF2ayEux;uNl+9Owy4BZ=2tBZ<01K@SCq^&fYNOp)+X&fe59stG(o~@5Y|P?O@T}cIl2A&>+ z<{DAoMo}etZil!(F1ub?OnLVm4fh3m&VIFWTS**s@cPdY=_upt+St_`%4lK5sm?L~ z);H1Z>49{AwL9^DMLGG{_13pp`{;iV_Ot8MiDjTNAQ4X{esmmY9{8hdJJh3}(+oVz zsOt2Ym&*$YD@)V+JWo@%CrCw>6?^!&x$hhcC--+k%KNtj7nWas_TuKY;7321ytbSS zmB;DV3!Bq*5Y)yCk9*@=glMC@AYdNV^m9;A5~hq{9bM87-ng@jcLwib^nBS@A^iRS z>v}{OK4EELnLqj7i_N7z*SUTlbq<^V$V!Dqm>5K3BtW{w>*Yj!pU92D(BHG1Ca(47D}jwiE5d&A8*jS zvqOKqMbtkqTg_C-FWGe0?;+92PbzK zRn4M0FL;cqY2=nmLK6pCid8~YyI2aNQTA2w@p^BL+VdhFmkrI1t@+%7{ zsx~#4JyBA!`oq7bx3P*-ULaq)j8&NBZSl7g4-2D|p_kAbraX8$AdGc%YXRLHy8^4K z!BX)Fi#3CC>GZ7FPCezxYD&G4EfCDrbgsRkQJc}I_fu{^8sJ3|)yhhQ_jDR~`kgw> z`*#s)7Fg$Imnkn_$Eh4sJ}D(TAKyLlxG-&CO5mpu(3t&`3_d0LiO6keSkVns)!Nlcz@Fd#y5L92%*ui&$A!@clujvsJe?x1yW|$?c?Ax6?gf@ ztwnC%-9FZ6$Fg)@y*A5*GmRq-W*YM^m>q_pHBS$to@y5k?%`>`MJ*Kwm#Y)abS%^;YDW1?&a2e_%R?&0n() z!=x8F1c^zM7=)=oDvtKwxJJM`EBF5iw)P)a+jX6%>oM)l3~36QWl)_7dG|&SOFtP% z;#i^8)!6OAvxY!MCNh{@Q8$;HxYc>eE90OV(XqBMT zBpvig;}px%uq|~o%Sxj>%1)jID34PwDe}nw275OuMcE-|CdAGa^yZf==6#BKhyJB+ zGJEYJwClv%Ysl6PGVu7j=PD&z;f-pFeP9#X0X*(02vqFF%M3e1BCk(j=@R9Y8)U1m zkOm>TZP9#ikLH7i^w!pi1_M-G+b^3vDA(2bm;d|%uKRNPyQfY!qSX%AZFKN`9nVkj zgLGtOaXNe&wu-JBSk4OIfTEzPCVupku-~OHTgIFloAYR#{#c@gHdvDCLFl({4 zt?>1|nEb06a?}H-sU?aF*C<_DLVtnult?Bk43fa-(SQBVX9iAHGf59ThpL-srbW5- z?umcrcRTcVpW=5nnW?_YKmVSBq5tZ)>lZDzO_Km`uu2kT8TrG&2}et7lfXwoC1^#6 z=*2T&yLawT|9lH6`=n_HDf{eYyQabCw?9k?!-$VQetKjcrGmn1H!d?6!uC!$H94&) z7IFLpRW*@Jer8T9w?)RtG)8jvjNw6eQ#CQ#hSSSzFD#|J|IYE}z)n5o=buD)z5q0Y z7$QU$DgDeSNp(?_{Kz;do8fsj9eodl$l4S3dYwU{s`FgA)MmbxK^I6oKW1y&=gI02 zAqFUlb>MF@Y1+bQd&cq6ac;O#^yL}1d73PA4U*IwZTs|Nsc8y^p8{#RYkM#z|^ zMyZ&MC~+KvG?i$YMpkm00kx(n6bt8Wv*$Y3p8jB9v*+8a?P|2c3)BidZY&%%WH^f^ zU@|u74Pz3eb}URvks{I%kw&CxKoSi|V~;fP(bO!VvNC7!<|{A1TKC(mMoZ)IYQ)w~ zgr+Z}>I%iHMe>UmP*jDu+rx~Xa$#2DC?SrT1rpo4I$PTzL%+hn(}<@S%}5y`M1&L} zNzwp4VdmBf)k|;Vx0>`fpOb_>7ryat_W#BzTi7#2q!6TGh@uOwJo(FC`+g@<<4J#! zfpQ(eE{c)Eu*;~%I9qZ({3|RqA`%*=nzB)SgPF@Wu`C74ObL8RcXx-%)8j|Iv=WCW zow;c6s`IhoCpWD&=wK z=J3}G7}ae+P@KDo;bcIX1Svare?}UG`>Wc9b_1gn;Lh7jJaRKj1ic2Ol~>WU60L`;SaTskyNhl+xU+M(ZtGbTnSSXsZpB-{43*_f6;8qt2 zJAHzBmz}%oX!<7l?D*WD2AxS1;5WAEuC3DFTt(9@a+Oym_D4|_{C1Dd)&t`HIBTHi zHxb?<|LR}B){eo$#|ndie&F{Bg)1Ss%5{>Y$?WyFa4N_59G<4$+Edz39+E~ONf?j@ z0ZHg1lF7`PTfTs96|meH!eIliw~p!tR4(0O=Czxcj*FtIBwk3=^BHco2pUI$T8ao$ zOSm@IVJ3Gr$UUo0E4MYAD!P#;3Yvs|9VwHkzzG?2mM&h!E{zv2WCB4m0D1P{d+o68p`snL4ld3%cl^iU4J#t87dm^)%nGGou$N!`;D~I)~z^0}x zqG@y7d~FNIQ808B-B2f>(l9kNRiV?3MvmlTh|HctA&zzYKp_aA-5JvBM|hsV4;IO} z64#ZKOM-Xb{==zQJJ-2R((gTNHU|Z^x)nO!WB~o0>-UcRn=mm65|bb{=nj&TVKVg) zf_<1wqakS;Akqj$MiXsZnkq3giESykw#r;ZV`1i3%OL%>=y?m4D=OM3AWekIm-lqG zw(|SE5ZcTxxzejR^Eq_eK{G~8NQuv|y@g03%!bEcXdtA9-=DmxhSB}3_ep9%ynh21 zLJ*H;4C;=>++<}^zhJmk#~uZ`d*B)No7h%|nOAPGxcc9JrG57UNwcHS z4Q#Gn$zJDKute-$L2`Uqr8#^^5M*#|TRLg+RfIgdA;_LY;%9-0F+RtWsE=+I$X!v{ z{OCsn!wlxq&}Z)T4{$2A3Ha|?(OksQSIbt>G)bC**Nss$Fp8_= zW2`7x`8g8NLndPg)m;llWs#+s_s5S%Fw56GYEPC}JC%6~bC)r!GDbejHYS0GZs!qE^2#-GwHNQH+P(7yNQtT&=$4IU+vrwyJxfAAgU`SxZW@^b?}P*aPq51~ z%-wt+RU6*}OvlA<^k{tc1Q8#T5fl+Kd7q2r7WW^eY;Og`amwO?!8hM~@#_abf0&gD zcKQ*wAGYzsqtIg56*S!;3bWGX4s^osQ?e{o1tGdHGTqt(!PELY_rVi* z=dCW~l0K@EIsHAFHowy}3oI^N;E%sK4%sruoOEQ(_GwB?$LR=hN3EzuFR0P72dq)QgvR= zGs-}-#OGnkRe@WQl`~Ta&Ck{fs z{ENS)yRm~9_F%4rZChxDNv<-3IeQT^SK{jC|MybI;vY*ty6a%AEV2FR=Y*}vtkk=2 zH~H$$2A($#HWf|9sT9#HgIxJKjfbBhg^sF}QKkfliV;z~s&JrH52rd$`Qr5>CALyZ zL>w{LS!1xhf!C;$?iRE2Th)oBhqDxcdi3&Y6=o=3yoz0_VB`vDx)EKA17(CwUko1@FuzW*`p>#GAlKort|=SCQ*VE zJwy_bMiI^XcZi04P!#gjYp9yRp#5MUegO*euVLrM@6&vGhtEIjV=kEJxyjGn;HgIb za*E*=h`m0w8y}LJT_g#H=(bDL?a^CXMM;ikV-;25&FXz@Lr#>L4u*n!PQ~{Vc6L3U zZuYUR|1<1df$r94Bx3y7Ty2^1%C$3RJEQ*D2fQao;^76G1+2ccK7JE5Lc2j_QQST6D2t$A{;Hl+;y`0+M}B}AVz z-9(7N=?@-ha=!6&;>t>L6|yX6wxE~wU+Rn@)EOPq2uU>RnH-JI=Q=lVm??-gtwm&H6zs&4InFOu*8 zP!33wfHVnEm2@1R$t;+0EQP$IQp~I5{s3UIAGmC^Z94H~s!oU5e2c2nAx>3(x$(}# zW4+)RN#G&k1k)^I7?T%Ukw&00y4j=z$rGa1fVdxI$5~Nuat;fZmw4~;cvbLrt4h1o zK&C07nq&FxKLbVO4evjny8REr8Isvo3EORUzPd|ib&Xf9s!~Pg$@~vq?r)=nyZ`5>#KUo*@~v+ML}A3opM^&y#eb1UTMma&ReH1km4A`=E1wCeEn001BWNklRK~YeofUt)hbSMlra0XkndMQ8r=_aaH zz;+iW#-Z%#Aou}@;u^Wx6-p~tU#NuiaL*z@5(GT{tE_L)a!M5DZqeQR2+f*7)eVxk zk4OVV8e`>ZxcMb^?mi}o5>#~-E!WwvHt;uXL_7{=?XtvL90$VlZ+si4l6~Hi!GPwY zyLgSQBiT+xRnVGiw42#@nQ|#*zLrud3i3Hg7=vXh=o$=Th0nJWfObB?Ky>5Ay+1K9P&yE5-`)_|icYA05|CT$0m771&V8~QF zZY;D=6~U7y5xs7V??Vts4qlEFW%7KH%3X4WYe){B*GCuPVmS$bs&R79pJp34b0tv0 zF3&Q1{cQ|4kBCzG8ylF;bm)u*ZPtJO5A@bokA3d<-lttVjKcU%<@coo# zOR)Of7`d;$Z2#Qp;ZYQSdgN!CRz}wsh@)LB(;yX-<9PN;Eem8Y5kN(pB~rfdKD?PQE77-DF>sBvp>p2?_G1vNx)QI zeESte0Vz;b10l32+qc&PtCGF%+UWbe46Hu--WYw=M*y9SAT_&29S4z<`>kd^54Jw? zdeB*z&v9XSdW*uj&h>|?-+9>VcrIJr3eCaE<$ofL5F$pV5h9I95)Ua7WI8-KJDFF> zJ1WlT|G#VMdKS;NRT^DMZKlRs7uU}GxBbv%tzpwkFK3N6hi(jJ@CEfwf?>^KT3NYa z&-*2IegUgEi|iZ?*u!ugr#2oC-MIfXLATBOw<^reT9gVeR|a+#-Sw-8{4zJwuTFhz z5GXWSDo<7egsL+C!CP#7x=Cl}6mT$8Zd{Kr49SCCfpUWJQP40Efrf}x@X*qh|vX`|>S<;$il`&3&Yln7JZmu0&z!(geKuJ54$dHW{opP*erg1|{!J zg-#I*dJnU6zIZ)G)w6BXEgPp&BfoHg+}slT7QBEW1!)}e^uK;a>&Z`1R1L!_VY`=5 z)#<_i9(amk_W5@zb5t(9{wwt@4z|~M^4EWfYa6`#T8RhG1~fYXx|zesEubhGao8q_ z2gIEPl0YIvR`PaQCg##BA!{2QRKp^7A=~zGw$nqm9incJ{^mM_li;r?3VvsZ*VrZ+ zXe6WTl4(lvIZ3r5dGA&RnqSuitz#fC{`xAd zCl4mTb79`)PrpCCa_Qj{ji;*$o$jxrMP<*GRE~PR$D=Ox98C8BMamE%$0ePn@eV?C zQIx_6aHi|hg@_N|KRpb4^d#lpLz}=?Nzy(-G|5bWj`p6uh%z@>fFUsLJkG8=<&s6U z;;=aHQms0aOBS7O$kWv!51$-eoHMTS~zaLwuq*h+_@j1 zs?7G$JWr#VE%Tl zbDisV7&hyzl=c2KyvRbzG=s@BL?mH0Fg%SiuoUr>o|#OJZE*df`FoX}3}OQ>NQlw` z^_HL;O_u+C_qF4DRRN+zr|UU9?qs7tMB)*L146$=LG*efYgYRrBU3UhC<@xzBigXtN|u_ixKiY`!eiK+_} zyM>W+i3T1?a~|Xrmp{1|z#3%bKO<1my4?KN^St`OA7LpefBV0G!uHc~Pmijq%v2J- z_s1cjqH}L(a?AB5o_nWok(sNnj-YcFW$pey8Fbzb7il#b*yTBLi&w}WDpfs6_x_*% z#O|FjZ0?oR9h7ZrIJS=K=(w)VT+L;^mIYHgyB^P;_m3D8jh`=Nez640lMbsQ5e%Oj zB*9~hd>*Shhn~w`cmC!djlgiM!Frwk>JG!r7K)~!&v%grw$o|1cyfOW0L?T&N-kfU z#Vcl6cU{*=l9XI+k>c`|BhQbNv>)B4{pbn9ogHlb+NsA*mdEC3PGyeL^2_xt0&M;0 z|D~q%xUgt4^aN|0A*=Ncppc)rfo{5}nu$mRiJ#Kl>>!e}+;ZgTvnK%^6eztmey?gb zJ|H){L>h)@mPOnh5VVFw-AVJDu=O1TiSpn7yRjQ)%a?pzmq)UkdzzN*+=I=D zEj|T2*Z%gGcsp639jn<)TUAprss@HTc2;)EHHwQDG4e$WL+9~denEF_fRtdApB#B! z%bme;YncI=HXZzu&?E9ff=)ot9UqG%y+7)ulPC&k#>fOkFJPFbLFYjUQhjymZya0W zz1K_J*%o-Az$ltng$k7`uj5okuzUbIyBl{goDx=HazR3-F^w<2#%rze;X764E61Nl zyA8N|f1T&+0~AF;QS!$cBckDLc!J`d!>JgrQ_=J7&mJrv~dFQQJsug=59$PJ+$E(?Sdi8R7A1sg4-TQs+ zJ!l@-9{t$f*^~7B?=GV23SWJ_!S+<6qwG3g$iGDxPKWmwH4mDfv$(jDA3@}3bcwB> zL*%*6^=sDe9Be+S&l3&T=nWD&{XKWNteh}Sr(d9s(>HJCSeX6IWzv4r3c{4Tj|T{S ziBzc(#M!=xXami@$iZyLp03Vqk#_=IGrJl1k%bqUG`lhVc!em*F5+plf#E?BozV~N@O^=8F=}_5}Oc659dQe1! zl-_|EWRvr|4qCpCO%}3ppRx73I&uee5F$X+#z9wpu}o#9zz6@!I}DpcKK}FDc#Q!; z+e0gCP@bRT2X7?woMi^{uV7bZP*s6GY@;_fFuU8Rk;m>U-=ccq5+D)H9gN$5&sj>w z&MK*>+$;Vuul0VCm4P0kmJiQ*8odbOI3Yi`LVn>QPGxSQr0}r3<`z%?=7+Q%KB9W{ z3a?Zn^0vtA=Yi&Tm zauyKjC|FjYd^7v3l;)PnEnL8!nFPb(MxDXN4u13$r#QoPqfITB^0@jwX1PLsagH>K znEm+wM&v4}!z^R*534GnGCqd6+9LVIi$}_Bk&>uCAZQF2Ja02R=fv=?j1d6(?UE z$hv@P7#OyVT`5z#yoi}EqT4xitAJCUCyhch(dLEc5Tugp&A0soHQU)H50=w zXY)Nz=<^JE0bae$jca`tYV3nXyBqS=oyI;myeM?0`XmfHmdZbSw~Aw_1hM32k0XLO zJ5Q!Tr=r06M?b-DH89;0x!UC;(5c82xwDRI#LQS-s?N#1hie;s9zU(KzVTuJW1^mo$b-Lbvx547PjpIy@J#ODuX|yZ`o=PDn zC=~>ia!THnIF3Mylr)uukzjo@;K8F^(nLjw@%{S1PEA&BG_{3G=U$dUlV~55Bv^^3wSn z%yXUVA49)$uz6TsAn*dg&=+(E37#+TBZ(gflJw+V`?uda`&_KwMtypx&sGBpGw)6q ze;l4Oc3At5R3wTzDnXMGC?+D!dRODHL+EWI#laH8?5n1!m^!$&N^C8%Qt>F|;KASm zPWf_Xf+G@=*dq=)=%#sWZ_dl-krhsYBPkMuNI{6qfJbIG>G97)(j=u+9a6jYDhnI` zu>ZH&P1EP;+5lr^me;=hEtcNAMz0g{;Hym>Gh$m_koI&qu#fD+j6JJnT%f)WtgGbD2NV9TKDM`}<$5=|#!8TShpcpr?!xq{xrZ>MXt!)h0*z)Lfh71M~C{Qf9RA+Ns zyE?<&X2M{!t}uV|Tjb^@Go(Rl3w68B>-kjx{-I%T<6r&H7)}P*nx2_osKXA4nIm`i z@A>G9U0SPadB85~}54 zI1ak&V7M-Z;}H8kvFD+vS$0t*39%nA+}*^=mC4Uv+8?`-^oMvmy?y8m`vZ3GH&9g% zA&v&vW+ld~^!HtHkCRL#%AtiZcXpA&{KXT&GaiI&|Kbsf6nywv3s)a6Jk|R#Pd9w( zjSz{BYH7H|Wm2P!m7k$7cLlSQr~6g*AzAJMT*`Fv-8@daKCIwSD~npvP$HhJ&0B91jazrtAZ`D&k5Fa|WEXi};zl3%`p zIePE>)-KKa_Xs*IOt*wnUBM|Ia)u6lj6svZP-P}Rq+<4dZQ$v;I{)%dFX0{n!i_DJ z=W8MLMnVus6y05CmpGXNWeh`8S_UWd`YSCQJ7slkhfZg}V3;F{ zQlxC5C`V(RlS+{QA3@;0e;wL`&(-I3);CU$#a?#g){DHxK^=zMbDis4zghjx!{$j! z(hNHNNaFb^&2CDwlLgvyRh@Tk{AT9~{w5VAI$i)@tzQEv@%n4{{pUD^i#UaqDLruG zw^;~*NCMJiND^meNFohTNDef?OH5tj+A29$qg>F)yBe;o?)R<=0bhjQg;AfF6fufw zkj6n~xReAWVIRM{NoncTGXSSDDu>R7WQ#OLh-Cl!B=W|;8-Ziy<|-z>nud-#r3%K- z6bub?UBS>49LM05n#53!Ux6K@8XddBrEk2CF*A?fAM*II$E!D7qM^^zkMHpLfB6Xu z@4m}Hcz~d&g2IIYsy5waFO353{l#A*Q=Q_{D_DgYG{eUG z=x^xM6TDEvE{5b6VjM$3RzASJFpp-rnTd^hynEmL_78FVts_5=B8C1Sq1%&ueLuk) zCYU9Y+=?;b2&-ET#pSD*j*Dj6D4LFLx)^SWRAf*orOeKw(fMn{L)768rMQV1bur`L zy!lbL7XvD-j>a!P_em3pRj!b`lm+eX%o2sAi{vJNM1n}z{pF{mMw`pu`BQSUljc*J zkpcGJC#CuLF>8PSkhnKm)h~@rWZc1iL-@&vx1T`o{#F*8k7mdp=2$ zpZA@gU;6T{yQ=NVdz-d86vaG#D$l!@&zI{ zq;+!_Az=IVFBmirw!08MilSiUQlLF1cvkPzXv8&jlM@Ov(+c^VEJNHLhNIWid zzV%9zO6mBlp?WXm%k==qmn2Pv7tbbHauRq#Cp&)$D}Ml;joUZyIvqUMA(5|;o4$3b-lI9-=~KH|CL;)$ORV(?sE-KAO!k3`|V_giO1;OB=wwyEvLz$QdA%&2<0 zRLhrN2uP*kwi~7imKpCqjw^88Ve1Xs;qx2YfR15SP}T9<`!Il7rsSPh`=nC`4|-lm zr)$${2UKeg(^CoVKiENH@!s1rB$MA<>$SCw9_t%5nynt)o{JDgvKgIH(c;b5o{ekk z+D4D%l^u3!Ega{VUZ{LC{iIKIs#6{4?=@`xeNu0rGw>5s>pHD|AE}=mc|P#Ec!M5B zDho(dHJ+UhLx<3}3H&ahZxe=l4!dz=P!SQSgi0o*Qpg?!%17yL)nKRT;RljP3S9RX z2Ub-jKYJD59uWE-GV+PS7$n2MMTS1QrjCU~hz))&arfBi5I`~4!WuH{=fXs-2d6Yl5W}n^rqVr*r)FcKy!)u+m9#&&9K`smWO~Q|F$j)~>Vu z5r~k|<(Ej6kAna8|NBpfoGyL{$bhr2yvgp`3Q-iIFiB#fOs~31>s|-dOrV#ln3)1* zra+=l!OE5}(zzq+m4S=l)agru{;g%&I}ZN9#qHV%rHw>jw+?3T^^`{bnunE}#7HJF zQd!cK3n0T02Wf!ipZ*tuA@n42lO!jmFtdgDIFM0%Q8bh&fPM`#=+Rzo@!Ul1nMOaW zHNoBc9vhn;LL7}EY3YzeIYLXvpLHB~dc7uYdku(~eeG@Z#Q4FGs;jh?*ZJgM{ae!c z%P2~`O>BD&Ysx@XHNr4B(PRiIahkg%KL0a5yWJx6d@>i$9Q*yo84B&e=3%v$cBtRo z-Um;i#1ln(Z3pz+3Yw87TaKM%Wx5teW-GDN?=PeNc8%pf`y}2*l{kesk*|=*OtW+S z=k&H3`z>a4BgOfJB$FkbR7z!{IJ#f0wIZqm_RWJV4X%}AX#Z+EI<~&^X~0tkI#Dn< z0-hUnpOwu4jkZS+MhI0QcVUjgxvLn-ERh?~y19$ntJ7S)2QuWf7c-cKh7QMN!4P|?w}hM6IZ^CW*!_Lsy3YLk_`L2jz8aD?fv=K z$M+&+_wH|_DhYo3JEIeNAN*{a<(1}eqQOK_k_eF+mOB{3`ufLhm+|P@N+}z0y0jA4 zSF36UE3q(aFLJyrGveBFJ!YmJzjepoSMB|#8=Je-8(rERn|ywn@uikFIz6nHE?ML=Dyf8up+6f#B-fYJyAiccM0*g?wa4sM0<6pgPUj%) zE@)?wZVVdVdaH$pk2ZuyRf%EpFkC9n=Hot-dc(tr9PJ9pY6kGkGhN9@&8DUDQ8Bb(8vOeNWE`!pYF zbCH^yB{%mRiNZr^W+QJIaenTw@Y zD_0^_nP*(ewG0A~5wnet(1HPKXd|M>uQP(!RO+Wccc?dxcLjY|S~?(m&PCHzgsNiZ zN+c^Wc=ooJ8SE~h>Ke1Jy+vyB_)Z=vP#eGm~4~Ufe+~q|uTF znx>*CDpp~F)b!aAlOY)dEdI#{T$tVjO{eBd+RpLktv%=jXm2c%nwTM3njX7sduf~M z%};1NxCtm2<^nQIVB|JIKxX0!x|PG%4;-@7kiGXVt9W3+c_iosdtuCC+LCTDe%?Ilti-RMJ9?_G4C&ci%2cB>c z^{jRz57v5Y?+!3b4ZR#s=*+(M9b^QZJG(^Qunto3xLDjK^80-9$uia2!Gwxt8fXb) z1UzNmVbDMLGEzzmW3;6VfE43aefm9)McI$KpEt zxE5bIv~2wO_Uilh>iT0C4Tq0=pvDs?LKs+yg=3?fd$PMbM3H1}*5LJ*O%hLj7@g`= zr#jU$)hTQ~BQ@F@%j*%lt%Cvo>(_QE z1@gp(NPGI-Z)LE|uitI0YfIWa!56E;0gqIOq%+cD2KlPSu`dtu1K`4i4W$p+au%xv|mC zXc&bG-7cM-`*?!}2tj6gp8WI-iENrkPY}2cs;VIV;@|Pfy(~^E!Q49oR^E>zQ<648 zv`Q2lM78u(0xe-+6>}JwQAixD)p5Ih6nTl<^W%F=DB8h3UpR9OBa=nZbQCr2J1P`) zc&)_gxE;j0!C zrzl^!b_6V7;%>as>zlt1v-& z_5z{fv-yMAp*o+DluI_KA`s!JoOx{c9Mrd2`|*eLch(5KfMoLdN4^H)h|srQ z9gGFePFGTIMr>?EtZxpDb1Z?DP%#S{TI$g-wFjP>l_YQmj}4x{NYrzq3HNp)`t1(J zWSWVKuVCd11l@qn;(;MlTJLkQxW!i0=F1y(`t8y77}=b~tFKIxO{ya8ijxYJyQi$ya znAr)k)0a+!&OMET&!+)Shz)FR-`!?ys25bZ+4@Z2j@st&0v^Q$3myw zjcc=ofce>ociuc5;+^VLr~1|E6gGcJHQE}BD9lJ!M*z)n_EW#STiFgpO5I) z3iQ^yC@MVvk1aB#1yFT5oi1kSGK1zeJ2yYve_gUP#mozDVJRWDViDSXqDZ2dI_Fpa z?5RFyV<5S)b2P0lH91RiVg@6XLrQ%p`%^#dmtBs>}1eulU%j&~NQ>=B;mI z6($IJ0~Y`LZJPJ$gzmu`gyAkhxYs^o)K%2TBq^Mq0Zk*TMHmB{#XA)u*&+z;kC<1f zhK_3JXbB4~nLx7)^prUQpO2ERX^%9{0OGn*5l0q;B8I>kgKH>bCuK#|P&6IQOfdP} z&~!^ixORgJJAZ=``P}T8WG=pdK63$mP{+%TMw0`_#cg$P+8vyFljegJTK89QJELtE z9NK|eeqXlp-Zjl@%ilzZlGhO z&!VUXs%G)x+#1E~=y{+j1TL1tc07*naRQRqy)h5vNc<`FfNV2&B zYlGv{j3*>KxbK0YU`-h4nS+V1M}a3&GI{?`X*miv?)UMW0h*a3RXmHTCh+yuvG2JD zpXti{u_?FF5P+qW*o|%6hD&E{nXqf&w#G%H4rCb-SI-Zau0(8X30Bv9s=EQU9k&G$ zV*F&7nGH$IAMdWKCzDLS`8L_PGj!HhX+Kz`v%dP&;0aLL_z|~uEnItmHJKxS<_eu# zNBb@A9UFQ7I@_ByHa6PK&t-Y*wJDOxmlnDV1zmW1^%}$Z2HL zk6*-p7(8uP((DAZx)I%eNG7FH%Bj43`Pt{y?7`)BRb{tf;JEQ1SrINlP{;S%2mzL* zFjYx1zmTAiQLu(-yo=f2=3?gu&-`;esj4-Fo3{tlc8e!2=lVB}M6C)_Sy2aIhKc_si>-8 zVlo3W$M@beH8_)v&=ulzYr(LF7qml{AUe2&!%HCJYd@5!6lBFs1L<-GJqFE1}*Y?bj_U}pt)hb@g#%VbC zJ%?c6;P)LOe-DZzp%-BHo-AwR{AHhpHfB&SVD{~IDO|X8KO>pQKYnD;_hDd5Y+KUlNxr%r zV$MVy?y6;GCn%kJ71enB|F{>NlU=tTSC5KzCX+h9|Gl#(LjE}Q`X2qhPq*)L<4*lZ ze@#`*pc|8DS{{%{84&ngT)T>(&maB4g=5>Soa$7kI@LF!Q`me$JvL+x6-6FlXdePg zkD)gYsidHg)0rshWHT!1l!~GM>Y54f))j8wb3x?!_S+}V(mpm^nhKK>CNon8NE$_c?9HmRp z?S({~pH7f-CMJglhK zV&?k)_sHcIR|b4}uYsa#6fREhx3sWKoi{QAzVr(inH;I9SqC>RT%fzu^lP7^vl zgQiVyr_1KYD|9zc-e#kU_Z2NOAUUJ%1CXAHBZ0|@3Z+ZeNKTBOWOy3zj2_Npk&@2l z1G<|V*v%S3sANmm_MfxbD};f>_XVCG!`s2_lhXr)2#8OI9-sp*QXKTulu;PBr_oK! zdF;$JnVR#UCI-Z^9z!EdK6-R_+uYM5!kk5U`zZl6)B1?NXBSG=p z$@QFv^{im?u-4YQ++S|7wtjHV_($JeV5;)V^>rNB0e|(Ql_S6jd+oDw2&I6kruQFv z^JSN*XJhtys#BfnR8OT-*nCVi+dB7Ff)gP#j#%1+VV5wliH2<%6h$G5B4#QkGgIah zM=QT>?Lp>l^WY!py|;QymJa^VPJ&C<-6e|pK!^}9Gi5P9Yf_#xNLY{OiswcucY8U+ z#3hW(1efan?U{bZCz0(4cB*}Ky>m4jR2s=X&it zeq;d>amaGm>vzZmcUaqO;&tN*j+yBs@4k70+0ir5`ew-HmgMXigYx9@ziZEvblmv* zQfU;j+z>u%8`xe*YI2IwE{FbgAfGd&*@~(6)9*w=aW9B z5}&f$p~l_5hL+AT{qmbArbVJ(!&>|Z-5;>DEx37SmxZYcg^a|qB&I2`O!;tEjD1yi zZ9e+4fgdOs$unsB!Qi;xa`7L-7ze=fVh3f-P)Q^W66fNySHsZpJpV-S?5;1Nxrpc`{U0Yh^abr{7{4;jBiAOxxT9`<&E%moi4cL=yADonrn4%#tJ!w`e# z)-OIJaO^{`I|`mhVDqq~#OpT*9f`fu$KGyHU)v=L;)$*(YN9AbKp~1+L{Se2_RVUf z42Vr@f+O{XiG+q_X(SRFnT)|yImO&envLxNU)*jnuzfT=OEPU05JkzM+bfK7nH5?@YR(=3PI&y(+R%4V6nN49(TU4Ft=87N?9>Ll z@#?cVr;P*7WJ2Sm=OaA_KX@}$Z9 zti{~S$qms@k{hYqZlzE)4Rz*auJ(TT=odYqZgez?FT6#0`wLX>(KR-Q<@*u+LBPNc z>GgcJwr$on`pnO!c=NT=BYT#8+SXWj;T2ZCS|oY)4X!l*`q*W?AVLppZn%>ex<+Mo zo@VwO5=abo$aj~poC8#Yp9jj^~DH zv!Q3BS?T?Uqrk^1M(Eut_kOU<+9z?li+}#dM~#4jQ1G)`K1%k5k@h9xkiGEh6Q3Uo zLC;DbE#=s{SHtf4`z=alrb52`?(sEu0Imn)%GKI^!Kd8=2z?ZE7H)nYv%NX?xzDzy zsBd){)D?u8AUT<#csWOEGERrQR6m+#-Wdo!@5S42{>|SYH5nhvrq|=vfByxmAC0F& zO^f^TnPv>3o+tV4Z^VOF+llz}OO2hz5{jad$ecwe@$Vk`&}**X+4W-`uZ0ju88APa zVSX-6v0#zUnK8IKl4>u$90t$q%sCSIqvs*J*1)cHaO!b{=s4)qcedGBYXAzmeqaiu zr6Y3ZB&Z;Xh{AZXLp4m0kjPJxEKNN!`Z=g?)7#pnwX{xWZ7GIN32~IqL-0`lO`)J_ zdBUJWGIxR86?3m0FyJOlTw$ z`tbVX1Jrgxe(>QIwiBW#2Fc9%BT>%78Uark;j|kBfuvjtFb#*hcQ^3;0iYp73RTUc zC`W5&g(gYP4N$bB!?JKh)d_9Q|LU^sZRBc>J&DQQN0;(ccntNZxDuqAzbzz36|sZhrd06^_YDtzbVz~ z8lQfdz;;fGJc^+sZXZDx-|vpV<;>KRMK7OJH#6Vk`R?&R_Ox2L`ahD^C8aO_%QIj1 zZwOXCNBTZV)1+c}D89{qw0;*=RjJHO;g>Jt*VYKD%iz0Q znkf+^O6(M08Cg#h_yq2Nz_IZLJ$7zN{LbGk3_JJgU--(u)5o%cJ4CJrwA2;eqtu(n@1QU`SmKzAN_=W zPcRq=`U62KDe-kl&=-{7j`IxX-+YhMWDGK$l_pDneTU|Qcw)lyJ|AhXV;U;yw9Z5+ z%^R;CZ4a`!W3#k2pw_TQpwoAH^jjNv&e2rpZ@)9e*@ctaGeGR9yxEEN!BbD=Nl%|U zwv~#r+r-{&Lq$;qQ7FmI z%+pw2BJe_tR2n4veTp9^`ssGNw3ZiX-MPi3N<=ZM9k{wS9lrP~M;Q8qAqZii7?Q#Z zg2REnlTvGC;PKVJ{t@k^VcQGk9!63jd3F{BXg%0MOIYX`3pFv?BQ#l>CRLgvksGGR zKcwDPoz{&Hn8^-ETRb*MKCTV}Cvakv^N6It?zEB7UQ`+;@^w~Ls`&oFB$lG&P}Tgf z*JXU%2qnUr*+#R*!|gce4E??T^7xqeI$-ll{kM6^|K|M&PNDNur#jWIi%wy4jMleY z>dgS#2?+v;A4q~A!u2BpUlN|s65wH3rotco&f`1eech_nRqozTP^*t0SRBA*AK&jh zQQhU&p~Y?rqjH%ugHNB?I@izt4&8fSa8=!X^uoU)`S(9U4vyB04a%tQdoF?JVcUa!cg{Uc@3!c4R9bF42+f-gsf5E;#zaXckW$7`rotqu zVW3+njC2;?9uPPKync^NSe^7H#q z&NG=!W-_%Cx5>xL^F)!#nNow4>5sZ9uo{V>@N~13@xTCz(`GDp$#z z?=XG!UGfVLMbCz98idnBT4}__eXjrceHyDB95)_-%0rV&GExZqQ7DW7PQfe`C|s$a z9O_-0nw%nc<^oo}h?&U|dZUpP8ANP-@-hBkKz8N=>GJW0NQ?jNXL$B~)b=Kh8{iHH z^QNU@nHtHIL8_3VSIAMCo+h(!5vv$~-_B~2dw==~W$z}`;u!qI3f-g2u-DYxW@)tpnu>Ap z=(a7Mzf9@eMH(y144O^sW|Kj)xeuUG7>aBR5i6>s$EKZ$0z0+WP$4l-7Q}e}5@3xN_|h>G?VQR+HXWUlKXvdqX~~fvqsG z75W2(^^G18Mc#OMK*D;uKXLEY`w*O*+IgJx>=eE*xapT^XyuXT{#WAzl4`tOJJ6}y zNp_tCx0(@lBbN|!OyC8E$LYxztj>m+oatkK(FPp2c;Z7O_qyH9TZ z5<=Bcl!JXTtZ&fRjgQHbBvd&6`$=YBeuM1vG3katIK~Noe%rIV! zZzv(9*L;*QMqiq$VWu;r@_CGjX_A$=j?wFN+5YSk+;$6p&?jAE69Z9o2v6Tw&TC)HZjfI40y7-2)AafH^PPQ|1JJAliPRZ%J$BOe6U#^6qcqLrxff8(G?(g6 z*KX-?^)PV4<3%}JJ0IhF15_=Gt{;HWo&vv%-CHIa)6Wy)zP;In{E5H`FmdrcdesM{ zCTB1+qfz~54V@paM07lz(v@!`6csad5c&V6!1EM3Pj#wO{i<{dn}5&cxPp&9bEr2f z2pl4*9SfHa>yQ4R@+$?+hxM$}YH#!{uBDEqM7K(_oPX^VRH4xM{3G1zfuW1zD%2Y) z)m@u`Q@|cV=3xopBc)D0>+_rM_8wmSqZRrwY>sK}{mbZs?C*lxk!qpFiZ58t~niO;nhE;UzMaQGf}(2q_~z{@;H`dXcmBpP~mxBU|lI<9`1k=nMn&>MHro&$*q6&7_2? zVd^@GgoPG5OsqcwXzMPY-Du+a+DN;UH?OuSWS`A``*51=qrmgIoyUVGH-dXzmG&41 z)^vG_;@Jx%@cg z@ANT~CdHS=11H4wlbUH^(p6oYi(`D20e%G@SP%iFAP^$uH2iMAHsxHKWMG?yV5` zCP3mUmdl;z<7q|a2yA6e<6_4GzhpJ6co(Op5g~znZ z9BSpvZ!x>_V>EFv81h4v`+>r>ciyEmGsV&`?sNZx`)qE4H%zVE14=19qR2x^mniHL zMFXP9K~XF!Wu5PQ>*Ri&<0S14{{4@hIcz>GRS}q~z|sUMT_vH#_W=e{7Eu_Io1Y?GyohF`3G9GgZ4u4eq}TIty%1GZF!M=t!y;XJ5k(!XSK9+mr`w>h zvNrq}vCF0q3ckOCW@^m7a{)yYWGYikKKDG^Hy5#T*Y?*FI0M!{{1KgvMNISgk@r9b zL)H^W>9H`^qcW+H&FEy(@%y(t!61kuX%!=+m^cbHO;@n#YBXIzwp_ug%%f%UbT`)G z_7%GaX~n5@l2>OG5|PbUc7{nvLwo!d?d zvrxvcCQwxc)l8xpNfa|R;#dqYvG&)5s)-W$h$ujb0)z|@G6WeSq7VX)_ZJPi+nXq= zPHEu{-krU3ZrmeZDYFoCDCbW;zi#jJ`RaC^0D*aajuA(!AV6+xQ?GWY%;X4WX3#X1 zAP7m7XULzqK%#UoiJ{1l+kf&tt+k^i28wEs%3VY^M$L4h&_gIHidW^;YbyE76iOUDT2}hw5zJBmL z2|5AXev2?X_zw~SgeY-lF65mz$48YwUi>}Qx) z*KKwi0fRw65Jbb;(>UeV_app3qH6+OSI~8Vt|_RRK+^;Y4N^&qS6({4e(YDNow~uj z2Of<^{>XFxK4;p&t_7`P;7@HXo_s+y6NCk4S|* zzN6h^UhkogiHPp$KWF}sW;aef&gJvS>@-GkhA4~>ibCjw^fs$>x0Y}^Exc|Quh+%v z_DCc&(rJTyC4*rmvGpsU7`#}zO~Q~wQAnrj({m#3ED!J_l|=3$x_NXzkRj9-ACCG& zcwDnYcQIRX9jfEiSyk(uY4IS(qX_eE~C7LZ}-3+A7O``Zz&T3Dx-HmA45~1pp@@cN+#z(jwB{zcWEo}riO$E-SLrR9E z?h0zYM#~p~AYHDIojZF3JUi>Fv~O-xyJcHHkjP#r0XLT6cK=7duBDe>kl+isG8)Vh+wv_b6s#7~ZK3xO=}j675vf$$dDI zQI}r({(f)dsY;4(zcbI$n&9rDhFR&+-%b;G$NLSai4e0CpqSo?&>7zSlIltqyVqxO zLgCDu#_aJ~`6K#hDWKku#scS_zUdU(uWq-weya`ysA?MBIDpP54DnqJ8I2y*|NM`i z%p~ztr#jU?Y@Nd9*Q^*UleFwKeK*O#KlpPI(k5XDUYWc7EBu6iH?-SOSX^@1+V)Vj z*<+V`{iOlfOh_gj((S3VItsh><5ON0Ed*6#^7UDEe!4z%9BvXxmniI^DDfb(P)ra? zN%2CC*M9R|>|UP_{^JMy-fxz$ose!fV0qPNX<0$a09BplfBNG`w^r$N6q+r;=60WY zJvQ7a76RT#|HZEjY(6Yq5u^--w4q?C3Wh2$h7r+Ts1l)|DuPW4Tu;49YY;~k4x*ng z;oCMc3;}_v!-e&~#I^%$C%}sYjt`BVfisLMW-XsH*)6hWyiIL4+Wb%#$uY zcO=TWdw*xYui&1-unC07$R&(gB#K!kpD*v5`qXcCNma7Ac9+~tnyKgCM%4xDpI%4P zr%6uC@?8J>EZ1PAD(Ka=3G5z1D5O&J1Yta=w@k@IF<`199vePgKmN(>P~~Qr#p}iZ zS$W}gatr78mrJzQNL3dxyGIA_d-}3hLMjGx3v<}TEAb#)N|X~EZ)1nzVCYaB5c(c6 z42Xh&DD(+^4}Z`l^gW`$MQfG`ZWzue;07t17*@xETGOK#q- zvcA#8Fyu=P1aNu>|D7*h^GR5s>k>_k1N5pYQB_bCP*hM9i6UUHt#TB_ z6I4+oh(ZV>2tx=%K@dO?g6|7_U$Rr}v%cvtH)HYoD+v<6ex2h^b*fW6flgub8R{gk z4E+It-zRX}1YRE@U4#O&Ws?`qo&E&JX}6(pXVIhHd=f|B(ShQ)l-Drq5ruI*rBDUA zt3~Y9E>8OZ5G#`w=g+1oPg-MZS8onf7UrKLT)NArU)bzaJrw02_4u_{Tqa8q+3Z2s z#5wmiiyv;V^hFD2a5Q@4`8SwI1$=j5bsskSsf#r8Z=eQ!rg#4I3AV#C&=c&Md(dgB z3Q1jHX$p~|6A+I!R8=K|GZOvG=JQOJCwTY%zvceK>kqxRq;IR-e&Avo7f}*PvX;+G zdWT}7%krk=vs-a}qoSJR$}jB$XB4_L)^FonP8LUq?>bK9m`>*9J5hIwt| ztL(vNWl~UY3T#KkapIclC~|P!xR0l4f?+@>5(r(v$m?jsRLAL8zeQ%|0Bo%8HmTY@ ztk%(J=V9GZuVDL843I&H@B7FoAPU1FO#1tfxF=215Hj5FzZm}<5taxrRIoHi>Yyv2 z?OoLPdhfBnOA10**$TP27|^c=%+2b&{<3lGAop>>Q)z7Q;Da@`Zalzu0t_Xfkk4{% zA*4L{bQvxE06uP*gn>^YU#58R@(6SSv=$fH{^Ya$XlLZa4#A3b7XVGqVI?ag&{@ca z%uWpA6juG&XWNWRr`?mPDu`irh+*YX^x}RUFhD5>*UojYjDyd$mjO_A%)u7AVQ^?e}h0+v|O;gkayevZomD>H=<|oMyet( zmAE$4(lrvgMu37NH8w?&yWs?XWZotr-LbFlMHYX(d5Ny#AjfWIG_`!0bq+l+%7=})+GKE>0kKJqo4>W^BdyQm$`9$z^LxCSi9<)_@fr1+z z|9%(q0SPt2P{GvTgn--Md981T+`I3yQ$1W$I6)#2@jKt~NG8S~1VI=_YHSa#_YXEu zrZP)m;V5|STwh}Ivl{K?23AU=d_K)9GwXzUlF&#JXcoSiA<`^D)g;o4;kAhpxTv9v z5_qVgOV6C(&VT&~CDBDOJ*@l$g>x5=m;4CW!g)lW>+Ucr%+V<)*7XPN=LtL?TsOe;!1W~cMntt1Lt%MR<-$3G@?^XX9|q2H$>Q8xnu(GH z5_TIlOY41h8xFdWMo*sEHv+RvjTg?fMxvZgs=>hLFaCOo{;<|OKHde2VxVakhmQ$_ zA`k*18KI{`jDioUkC`r!nHmF~yKSi6;+@Nn=ODh9P799)&SwRiwjJ`(XD-`2Pv#>K zi93LTA|GyP^rU|dab3BT!}@Y0@&9o&d@dZ`4v=y{6b+ElL5O(L_gim2z038fPIanZ zt^UEmX3I{o)hbZ$XPC@%xLi3oDiA~}j&IWU5_Fu@Bf&BX9aKd@hzM1Y6mtsYf=Vte z$Rz)cP4|Bd+8kt=Ngizke^{TcFHn8Z#j}r}U5^1_4;1{NF^^3YISAC@GQ&ZMP%yM> z7^yCbnne*I?fP8=7e>~Z%{^cs4GPA9nW-$7pBq2pU9Aaj-FB(&9_=$Z=93bHw~$hj zNT|##6nWvF{T}&zlHkVAkiDb5Gy!f!-$8BPAA!toQu{#rtj-RPSdXfzOeYo0VRUpa zEqB~%Tr9dWi|)7i(Q1Oa4Yrk~J?wv(@Eitud^=xx4MjCjRgI|vU1d6I)bhokAZ}I-$ zc2H!%Yu6Og>G(UWZ}wT+=u@qAv7G=R1eP_0=Y@pffH3T$syQ?*kD{cHP4T;Y#b>q> z5veM7)Cs(Hi_~P9?7~HorGpkX=I$~Rt3TVn?|Fh=U(oKrX4U251&d@73_YUd3hK5( z%M~N=`Q7=)Z@aTo4Ow0dX*5GRorr8!p;*XpZoxxJ$%Ey9>TZBQP@c%~@{0k9V*qYX zK@dlMT~{!$9UMopTMw!3dMILw$%%-mN=Pvuk;L-4ge*}wUqUtFl;uQmlFa<5nNW9Sm-YAW(q0;M z%sqh43|4Y_1UhBl({I>Bp(J<&-$~gSoAs|KaXt0SRK&O6jRDVgLcY4&WMMWPJZ3q19(<*jw72mCaFi;c?MYZ-_rH@r1Zh3SZbUvnc}$6hVZ8j9Ypdh?YlkvLo=id!D8q}Y2ozPI zDhjG9P*s7Z3N%eY*HsKd<=U0fep>XYPIaokd-?|hn=L!VdZR?kPK`W%ZDtKq3rHHy zA>*D9hiM$&B!~`XtOKt{7z~K~4!+$01Ys1<(CrOgburBg&$TJ#BP`=lRvG`W)b$MR zv?q8j*C1yc46Hm~^5adx!nHRrr_T`u0llp@OMmt`Q4ry{HxVR90P`fNTt(FsjHHLE zCsDNoQRsqD_KhgcRu)O8(j+X2Wl0iNd>Gu!{3g$L$M;x#9LV(iuSV{tQx-43n4>aj zl1QjT67JasSIP;@GZ%0dZz8>eZSj@*Pr%;AZmu(M{l|jLuQk&74Z-F(=?bH1xvDs} zWy_wLzCmjs=}MFLz1QeAwzncG2X=_(m2h2w7} ze<;esQJ$wiXGhWQaGmjXuu2iBX@QxK-!EOBB|9@meRUO~YUJk5lbjsWJM;|w~ zqvyRSI+!%vgUXZi&;NLQ=E8BZoq&(NtnWuTRkM5qI$u23!8D!@cp5Fi$6xLeL}d`i zWw9Ky?ngrBqupyC22KDoQzF0c;(nAYQC83Q_Kt_Tv zicm;#ZdRfQh2@P&1nT}kP|6OOWSwulc67bpq&{0rvQX|*%>MeE;J@0^X^B}3E#jr( zHkRV?i^Vh4w{K$+xK3=SQCxVP#>yw8i7-z z$}C^i-uHCR^z`@{4k=QUxT16-B~dS@U0~1SfP1?I4mjW*@9t#}0`B&J!|h2c?5?CG zXwPl0C0{2a>I_%A%L!b%Y;ybV+F*Jk zRBoluy)wx7XzzXbS{(nt1*|()nUr1utAx~?rrv1tO!-ef{RBbqXeoA&ZEZFCzEZNq zQDU6#BsK8^@Py1Cr+=4$L;^24hNK#_3v(#*@3AcP6IFbElQ;SC&{uE=j-Y2pP>kN! z20(Z&gFpKt0Bi@|U5GJo?0Kx)A2NNbgjtWGL<5YJMCxd02^>5BBC-A~LISn6M0ENi z6mRXGtU^SK3y$!UwZc?ThO<370c^U}62 z_555>#x`BYjWYUOqC+M|Cj4DU3?ITWO&Wzo;zMJkMh_Anda&%@qaXfxo}7V-{;1?S_kfWK&R!2eU9eb;czc33|HZZl`?FpRx+ivI)gU!-21N^jQ;Q`ZIdHCMX0FcN$vm@jdpmz$`usRUgIhm4_qDHm?Q6Y$ zVPUh_Ot4VNYzdhw3Vd(d_{v07CLYxo>KDxAWo8$;YflD&gX=a4{2Go^2LeWiG@d*6 z>84Nn+0`10C5>Dz#|tMPtSrEz)(6X@v|JS=iBvK|CK;#V_2CDAfL3Xdxi@a3#2|jS zL36fEt585vRN_Nfgyzt9=o!)nC#c-JOZiF--*X6j8`r7RHWwg(Sn@Ew-^6vQC|Vpj z(8mkroceD$dF}r~a<_K9%WLCU z*%PSo9CB)iKu@8X1&sVhL}uRHw%@Dzlwh;ncbw|MUj`tt@E%&}7IJ&7tj%)d0Al=E z+G8&w6OdT?Ij!Y6Cgt(fvK<2WFTKB_?CGddfE@TlB$tL1rT_7>6b#57#X~5D*_qlRX{&j@TQVG~$D!jGjD3dUyzVH*vDQk9ze@0yPpNF>(?~4e#v>^80%}w!LU(uFll`W%30d z)7<(z4h=^6(&xt?YhU)YuYLVu=@$w%Yo@_WL8feP9y9`Yu8HTgaI6}h)53F2gb3X} zJkMvSUnZAPi0Tr$CSkS%sttvDBSEPeLhA}#x^5lMZ6bsR1PtXgCPoxS2A_<$f?~zv zr&k;#0srjPz1Mnt)Vdb^E!<{-+R}aWWIsl75W88SJo6E6XX^sn#g zxLnt#-S$HGw0um{;mXx18qFrjfm8G!KhE&MGmNy~;pROb$4d}7aSkB_rMYk)sv>dj zg>m9DVVs>`U&fvOXcKH&+0(QpK8M|Z5=V`pmG6@J=ntt5Jcq~~U4==xaGfi)&2C|@ zRQ`I?XFIy!e!{TX%AKP={u=GR4UX3%1B0?#FI9X!`Z$N^5n!*2`RmV@v5Xt4y1$tkAa z{5zVBYNrO^dGu63_FOn%D_puyt1LP$;4UG6xNJT64(nD*QYZG<_s}(&L|h}Cjx#hE zC6hL|bI;_~9gBb#;39;KqV^+88C1hSPsY%7nO19oc1cDkHoj-zT6>Efx9v-4+S5Ik z`F>&7fVp0d`|+wb2tX{R5{oJ%6FTXXieV@nxRh7l??rFFyTs&lI61M=LcZ0p0Qi0p z-w)4c*gu~js3SIfQvz1Lo_qU(2oZuqZYa*@ULN9JOQviK9A{liLeM{)W%%?t;<N4@00|+a&ikPAzv%qGeqy2f`yd1a!RC8a(!)4YA?ZXCo8vhj#I-gA&KX)A z$dZ)=nm&l4?(7~6@Z7lulIn1G*{9wH*+^n!Cy1oFuU~Vq$jlqpx{p)whz^BGbF5+j z0gNAzSavN8BSC!R2ud{U$KwXh6`7{XQlZ7nTyYb8?prnYwXc2cRlg9hSutbG6f;!Y z2?%TuT2HXtN{2^dj1Njk0;&yzQYAvUreoRR0LS;MSXQkIE;Ut<>r)sVQlA*W+^F}i zRIt4WCk`m&G7pwc@|GPA`j2b3cD>ED=x?!p5azZU`0X;S;wH5EsR zr>GagbLq_7A{v!=;pqgzh+>>LkA3SBL3sh^&U@kck(1;P{3=?aAHVMi7~x>gF`Gzs zgV}3qgO6S?`Ox|VVAD(=q0sjXPGS_vh(jcU+iqc-b?in3-*a)yFuv&drEm3s$_MY{ z3WvNs_?4c^bxlP?lO$pWhX&#l`%WNaB^*2l0=H!{IQJei>UpN$`#zPaDGa;L!HnSa z%g0bunMTXy(nkfB3hiwz2J02gB}fjPB-%fW9#3)3co(??81oRrn!AB$S|H%Z20WK&$$qSXP+J*lU9huRN}G6 z_xzlht8;I%#?0Jqy*s+kX*42p?res1N+*#BL9t%9s8lV=mGFADEf>pjX}3Mv*4Ec| z1vCM^^!d@Q0ehh>m~9Hm*4lZF7!vW^AlbvmNR8~^YV5fb3JoI70*UHZNIHv%+=~!TpN0AWcqYyI;*Mb1ONM;1>;GP^u`6&nG@y{{ zQ!w<;MrPS^&0}%7#gXwCn!5Ww-}6qOMEj`AYY8mQwEle4dcDBXZB;PqB^;}c+isv3 zaa1kFu(ZV8qKCO4;nc(WbSrSF>I$-^AW0Iw=XT;PL$%E*Jf}qvIIC7mLzl?)sSFKh zdUW;UYBh;+MX;D}QmJOB)g+QhpY)JHy}m9G0G;;26{$fzxi`yWN9bAsk+*d~a_J@3u=DHeC;$FXjIM^~=A9f9nJM znOmGl2>wX_C4?R!nNBj;pTr(Ii6lVCDkv&mtHzgq@UH+c)dcqkp9vfDeFDPr1Es|> z?_Zv!<>XdNu56SR(TR^{$sT$RC6YnlBb2p!#WP#XymO0qUy>m3X)IUK6AD7E;yD(r z;yM_xFC)qBDliHJx^ajgh@!|o$B&lKH3?k{Ge7E@gszA0ZQH}Ld@S1w-`hTxUU9bQAcQ=+%c)YS5pC5i?5NS`cTr#(T{tz}(DUJS&!P8Im6OHa|;;G#M zPs<8H)HGcR#VYwic>YI*qrCK7?=lW$OK`0svEre+-rYYnJWBS+G2*%2+ZK!KVsHZ= ztu{xpGTjB93rimFU3D=lE_$C%Y$S@1J<6BY?yYZpZS(Kv!eYSeqQmq;I5E+yWXev^ zDa(B*N(@!WaOTu9(TGeWq7aQJL?SAt>CiI6^VKpPsx_+%<}J&|S`YIgoVd_pkxri; zjce^vp~ZV2F0EQQSNp$(i>>cFL=2zvCmphxwTaYX!{<)kq1Xt2bM!reQaz0;pP0)4%etOr&MJ99b0+OnuMdLWv-(xV=U}W&g$;+^> zeeG*sz4V!f&2nAi-H$w+VEb|!+eu{t0w3EcZ*q+t9g;s&aM???<8$YJoud*>o#eYZ(!&WXHP_Tgv*VxT)|t@I?T-M{1Bnt@ zqlqT(9P4CX`TmaUyxsS;#|oR-um4MG@BRpTcJk3QxW^~W8_6~Bd$s!QN7wNBEqiSG z_TX1|dFk%~D8KX#o_hK?x>e`iAO4>N-ul6=;O)V$pcviosRSOf2vG3w8$}Mzy-R=L zI$FC11jwFE-BtP1J5O`$gvHQ!ipBdy7VbZ99g z(_RY8=D2nfvpI_-Db(_FIPLB%lhLTgh4UE(bK&Gie%a*SR2>wJFTAw(I<^~CsoIpv zZRQtREEPgf8O%jEdN@3mdsFpQFioX22C@-excKQ>M^-E~)A#Gl%+(nmO)x$dr!NyB zo!TK|&1073!L^FC$;!E+cy5rv6Q?#oXT9!V+dU@J0w1k5&-|tPEZodfTdW}UNbIzt zS6{MGWS@J}ElMSedfi8CNa7?JVF*C4k|{!xS(y&{y5E_0xm5`#6LQC2Le_Kw$Hu;Uo6IRWLG%)(MXLg<}XsQ||<<2VI;*I!M^{aJ90eNfqs&&*&|>jb$aKuLNszQ*bAGVAt3Eq7 z-XL)HRx038t8n}^j*RwE`{7?bng$KP$1^>=w$1cEyoD-;@H`W% zwT$PskVHUz={~l-d2qbZWpll(q2nY@J%vy;1Rg=Nj$g0fm-6`4B0+t7*T{cL@{Kst z{lCnxdxapL!i}f#BS|E)hSI2@&s;;Y_vTfzowl=bLI|Dx2M-g==1_G5*9k3To)@ru ze-;fr|hDAOJ~3K~#%fZ&95pP`aL{baUx}`nHmp*GTHCB~!G>7>8dTCz?)U zq-0Wq8KUXL=8av4z;&SW3OqMVdF(j^j*UNggP`5oyxk7kE^947e+teVs$uLho^w0k z1km*qTI3j>GmRf4kd^LZ9m=^J9QC@aoja+~bg}IKS(Yf3W#$&#)lxmO4st}n$l7EM zJdK_R<2bEK8)TI&Mn2e;x2!YTw@=#dO@b!Zs3?TtokxmvxL76d?LYN0(@M% zfzxUeIJh2u}1p?>UD0wJy5cdprH`R8|OOjfDoZxXmJanT~Fv{C&6xr1YPf#A-)+Ny*VboI59gzuC1 z@H+@+>kQF*)kZ64uPoZKETd=|$^L#4qZ353q3O)?0v2!H!t*>*2T%9jK>(#2vlOrA zsogJO*TcSVl@&M=QHU5a5knywRXB7oMF8BmSEE?55R$~i#RH^=M;JbFoaDgP_nr{F zp)Y8+aNqgf0|6&&hE6p)vFciD=n7{KRd#LV+zvRS5seGy2Dm+0CBIxpQ4>gVKZ=s- zS}&XNIC{X{7COzgps*~Mo43g?yR_Q@LiA2fB&iS`FQG*E~eF z*S?-;eWqZuSW%grO>Bb9^;$`Qv0c{KUj*0KN1>~c-vl9W+szOx8$}$m*6j|vL54q$ z>zG)rJg(hD6V zjm;d+$s8J2A1J|5z94b!W{W~0tgol{39Qm~w|h9avYl%f5d+JzAOI~EW4K>pcu=Fi zPa~CFUt$72Sj-T~OrY8YOv|A&UPILH5RYn%4JPS}IK6hbrQGRD__fU?Fg_JM#+c1* zSARla697rZIrtRnkWli zf0mImXGv{<&J`7I&U5nzx4C%W5xG@AfocyQ#~wL>q(_h<(M}fC-AgLXqkr%ZkGx-H zOK`m+(e}E5QJFWy(bRvLwb15+54DYBtehF+A62@zyPhQUa9oUoz{1EOvH$4Bo*G7miYp3tqD3K`9kqk;}Y}GwB@Eu&Ij@g<6 z0<@SQ(>F-FTI9q5nc>`nWzfwRWUk*-$QQb|PaY4b-P$}`Z#!Z9(aKEz*hrMI(Fpy0 z8quiAd&Og1?7M@mZazOBOTUhh{|-m8_O{s-_bPY(27afMK`nWjWbN7xTRc7`pMHtj zhd+JzhCa)%2_Q-6Prrt9^*#I@tS*nL>+g*JTG#)h&%aLkz~R;ZJ-dx>n;h*65P)ws z3F;LxAAg_No^#{#q@$0{U34ckhEL;6oJDRf6Q~Bhq7$g0mxFL@B-cVXZ6wD+I2LlNf^622 z+YKbEx##^|GUNENN~}LiVtAZ*ZV)xH`?|^6&%TXZS={q}car77y}HCu#77tKQA6cS z#3LE;ab1CFNi^GnNL=u7Ed-iaHb?)#qohVgu$xWHT8-uDX`1CS1Z)kSu$p8jQJX_= zE+g+D@m|@2Wml%|hWFcEp);^d+#hdFNH;t0ar^lrIQw-L;vUw-MXK7jLh1<$=}#;@W2b>#w1|TJEU3R_@B@ z9zhUh!Cy)2CWOK8kir*V@2*|DuYK*STTeV}Zj8%ZuOM*o+$OG5#dX(G+eacYXHP`- zt(P0LnAf;F6Q@*?5K@4U1ilM;pNEl5BNHdUhX8E5h~pG-TP6;9g1|=;Lr8uAN7}Ut7 zwm67wv=wBoD1OMIe0!?%BeGeqyqM+SL~PUN@8pk=j?0{k?!NrX!^*D}!djaTsr;GW zW#Hcb`P0!~5(x;vI*?mA(U8hW#mLev`NP_Vp@PQeT~cy{}83QIZk+` zZ}ZtRII-}{X4wwYrc9+{jY$m-aqOj+(W0RXX{*}c+IMbama3c>$dl9`%+2vZbT@Vw zb>tB7k=`|w18-~BUa8$gwi?K0oyg1;Bx~n>R~^B;qfv9f^L*4ugm`X{)X2{8X;um} zmUYGoKS1hn?jMCN-KbG8N6;NGEeY3Mo9c>3+n9i)fUL_HgWksLXRVnnbiHVg0H!d-R$ z_1Cr4yM8HvEQbK9s`UT)D2jxtN@$wQnUj4)qx*)8eeG*IJ+ZLaD=u>tE<3KVVX~ji zdhtS>k-<+lqu`UG<&w(eOoYXJ_xX?wi%4<^EoyX?8fnySbW;u3f{j3JA$3l1kAmF43Qqm>5;arezF$?Qw6r z0h9A>4viRS%I<81O9h*&*J2b)YY+StYvrnhAkvq?ES9!x=j*>dMkKNsRIgWtDOqt| z8N9u#{%n+_X$)O_mif2$W*xMz{uum+bI)l_yh!x^I}g>yli)@h2to1H{~EQvMC#IC zK5*lHG=q~pN+mgge((Zr-+|R-!nKHg@SjjBGf4FUQlrqTQ%FXX$kRIm=OfK;)M@OU ziLb7H^xVStxqbLc)NBbgmL#6dk$dXm>hc(EvTlj^Ti+xzyUoN!kB)vb_hkUIXp|#Q zpQk_Dhbd{;rcJxtV&Tdh^`!=fvPJqLP39M678aYdOb6S}Vp)QAC(cmUO6a=4&;^OO z%=xGGUc=TA3Ln)}Y%d@_FihsiNn!)N-F-J5-Z~J~mZwSFcoPU?z;54ln4R|+8&!Gs zyv9a`tU7{Qbs1;FkaPt;GvfzIjdq6;c#e(lI7q4rzK>U$M>gx|jS_ORgw%YvY^(rg z+vojD%jB0^7?FbrY5UnZCFY{`ndqI>CZ2tX)M#k!)H>jqzc)#%T*GNMQS=CrzFcV8 z?Pc|JU2gpQzaj32*V(cKmIan2(Dh)|YG&vGbrFz0=%Hxc&^dJM7@5(n>xX{u$3JHB z{V7^a2Lh0!%$DnZ<7>N1rnUl|vaImjxqh@yfDu9$+X}M_4J1iyY3Q2h>rB5>iTMV6nu%9x4uh#X_lZ<$65#jNiq;3+6g(5JAakV-xUbm z8csDWgwDQ9z=iX>PkywM?oL*@H`O3t2%o7BQ_DA$zp0%_$0a-(QHVxWQb`R>3qev* zB^0>>kt=|?hjMZI+Sk6e))NPtA!NoVRl|sD*R6%FvD?7qMt%J&eUGz?p9wAIHKyic z)EX+5=_AP!l4fBf2GF7gLEx{(BQv1+m;1#|J8mZIhmSFTgoH)1t6!(`-7} zj*o4JFU$7uyzX0D)g+u=r2&A5A@lX$80)#r@g?SJ1_#p*HVfYOg7ojt9-VX*Pj(O&~U=#F{ZW#iVt7jXLy;wcfV z!Bez72}zG2s~VD`A}MNE-_xuk)?4Yz^EkCU6sFMgH|euF**lLuhkER3TK8@vN^{7y z1%%b@lJ_`Z6V`z9#ruDYqZljHx__(~Nywg&0(!BG;!<3#$x^;-ElSO4(cp8HwJR10)UTfxC2S&SpSt(lq8QHG8k z+hpx@EsOl^1#bQ1K66*{+n$H>XI)~kfQS)-uA%!VyPT~2B(>hfb}MUVCh3sNR2d%7 zxj)-vX13hZ+PP7$y>@`fy3$pT6Cjg+oBTo%+j2VfN>^&;dU)>U-^1|Ek94f2N+%p9 z+OeeSt9da1zVWranWr!3L#-JI7e8dW%ZDnm4)uB+v`_erjO?Q36;Mo$cE zS~h%et)F^RLttUHmbzSHcTzMW5sgTslM3ff?VLIAv!u2qxO~l~S|319)yZZ@IWjnp zu5>@>7xNmkixHMfDvG8c#bP86jbSZqw&t~(lOzuuLyIQyT@R~Pq;1aQccSED>H#J) zb40ZUhUz1HXqrB4%cokGSgIcd=(1iqb_LgMcDu)>Wkv=ShI2CW%Wz|HAxlZ&1ggz&izLRUbvSX!o7s!?xbNF`MUat6;o`*uqiq6egCwhX@|s%<)6%Q?PDsHM6}b$<7`de>3ytEtl<-Ob6iUw1pTxj?;Gt z*=gd-I>KrY*lm0v!TfbnH@^MYV6&H6(JYH&&ti)ZhK{`a8o9ACe)fYmXjH58k57;| zc8;J?2FF4vOcI^`5HWWX(W-*)qXr(TB+zAnrYIN^e1GT*e0BLJDERmYBm({{_eJ`% zee@qaiI&XJF1I-U?f)5o|Krxn45~ggCqmWf?P~he8Hb1gsv4lkpeP{A;qyXKK~(~_ zy9~9K;8JtVO14+%eE(m6lk(Kkt`dzzVlqeqv+g2md9;{D|GD1fqa-CpEPD|G8?$l) zr(IsH%W5Q3L{b?N!^4jpKwGBEyB{pE)UgQ3N&-zAL{Yo5nFfJ_=X!XqgxC4$h-TNo zbH&=3zcIy!e{h8$05$2N^_Ni-2C~*YSWhgMX*EpDwi~`omql_nI1@euAEmy{w(GoZD1BWw+MOp}`ox{DlK7S3TaF3a@A8zo(*S*k_iB|UhmaJV&!1S>@z^~d7Hbhk)1O>2lI`^I zg2CD0y<27CqazHx_yTwS>@Rk`jay#ApS`l@eLXfkL9hv10q5R3xe+{HDSdaRPHnwR z2;R>ADgZAR{{9n%O#nxUFn!<^T*W|tA(PIZt)BTX_r+j;k zGavk0)N=U!t~wE_c7(DWW3ip0WW}lau`ZbOe5kj(-TWmfgw7B?Ll|8FQ&kNpxS;j5 z(9>%J%H2ZehyV8vDc;=9Qnq&R=YMUS;gbi*9m+u9Q(dZHIV~2ZXDBUn*Qjh)1Cpap zp~w4y0MDsWy!tcB_wJD$h@p-T5y)$8hXC47a%7lzZV<%?Em5l(aMuB-QC&nS&TV^K z^NUUX@tygu&lEL{qGXWeC_?IFYWF>aB;z?go+t1eh-4vid<|rj*=1^#Ce4Xqa6B+c-q8T#d#}R4-EtceL`v;Gt&y}hT2-2xfHdZmTdbXIE zD{cv&LxWMi^!eUiO8eT^zCIm2F|fI>ZnZ7J2Ui?Ql|i(03r!zG(Ys5&nE5=86QD(P zB7GSoT|?_np+q%gEnL^N8hB;}xiLx0^2nuiCQ>G)io@k=Hkxs87rj}7#;pKzd|2Hv zd+fU(S7?eu9n0otuUPzKA)qf7kc#eYkfkLO9Qg7tbNkOWXII=xL92>$_X$d4zwRkv zj$9xz|G`7Iv*W5e0M=&Ue6UB^%5L83`|`uV=7X;Kh+s1az*P(ixsxQ@C1U0KxQdSA zyWGF<+Z;J@7?B>pY?=7eH@G_ALXsr(bU%GVgGA=96Z`3(?7X|qGEY{qwHOh*!To1{ zn`4JZ(GH&>FdIaR_ep;E9gMlHlWMJjXoUHuMcMMGI}&wA!uF)qT?GgfC5Gq8fP@ed zLXz;@B9Z<+`cID_scX-u*uW6|M^BO*>0Oq|vznCeEHnM1JCyJAh|BF9plx3wGmz%k zFP-Apa~DZ&$j)0@T;%TMFgASR#8EDN=Uw8_2qOE;YMosz7S=z!e9K~b5$u+a)ACWH zGLdA0jtsDEU}@``e`IntI5n(0909?LBI1pVndRnT20VwS^VgY86~?WO7H( zBb3Mkl}53wFdnyUi!c_u9Z;#ZsMT#+EuUt~ClMbe8VyLN0-ibd=v`~K(h7V|-7hdZ z=P^DS=eY|5M5FsIv-{fDlcasvd;+y%%`{Dg*gyu=*sfx5fDjULMj_HafMZs%8U-A) zj%zhg^f*!3v2x??;Vtn{npp_1e>1+AS0B2aEmz%hf{2HM%}2fR zrvaPWN|LyL;deN8{2)@_5K25rWnrG+{qJzOo#C0uzXRXfxvj01$qF}){R-(^j*(+W ziKdbvbbjz%^tqcm_J6%BPf&AY?q$!?s@v4(HI}U;MQaTVWLkJaLI{=YMHgAy3fSv`JY{)a(@cX@@SXJ7=1~Sa+_pA=gjFo&^7Mc3h99XhEJW^ z1f46giv_H=!y23K-q$EqYYd)x4Lz1%;UC{*dA7XCb@%z_ZAON}b8g!KmulU|u+jPn zU@nx2U;Po+ZnY?tENXQhN$Q3$Uvzs#tmH^qxvq*HzLAv#s+vVnQ>!5nhVF3oxX)1T z@w)JD1WrwYQOzZz!_sn#so4rMGc9sM3ADisYP=JJI5NV(kt3U|ou1uBdOM7ZcU>Q| z;{w`lyR=M){Bnz>e6!0MCWMM4CA+|KMUvD91USwmh6Yo-^1?8NvG+L8rM$=eS(kbv zpxN?iH3OnCK`bhfP9?Z-elwhHw05qz*nag3t*&;j-E=p_9wBGzX%zM`eJP%zKL}ZDmBG6=kDuqdkc5^JtR)Tyx!JV4V{e}br z4h$$%kDuIfo7lh*Lnlv>zi|~w)fv9<;@ZAEpZxW!B*#vp=sJGeWc=plQa>#eCR-AT zY?je8XGjlihR)_YKg6k&k)0NQ_m+Z`Y%p-*6+Fvk=8Z`_s~g~=k$~r)wSj=U(njthaWK4W~JJ zAVUxcuHAH2+ucpaO^2y3X7(IKA*2kB3z5bKzM*B&% zvlrMjjU4Txzk*^_N!Bz zSZ{wDXX?hTo7qb1p>zDqX(Fi@-yAy=1^nC?7HCYgm1%@2Hmxb8%{qP@h zztZ#b#J~_o&K%?J$G7P_aS_Fcqs0=~%^K}$5vN(FRVt7g$dSq>NX&hVUYhM{!|~y+ zrP6jh(nCXxuY*p@7GT$zE@$zY4T{(AaQpAC5<6I;|KM{3fuQiw0Xj3&B9r!+LWtp78gy5C5xtIA%qCst0NN#v6k8P zaf9b>RJ8+c+$dt%9?`=?$g%`NkRBK$GjU)ucrMQpEZ$!Q&v$vca|mZOg{8AiwN0H|MNg)tzAQ+!>o#tdm7o>y(YrgH`v{ zfH1TA+=9bW9*QLoAvU+^d7I&Sy<~ZWt?sq0;BliAMMBr4P7VzjT@PPFgVEJQQ2W}~ zzV@|I`>^>bY6UP?|1aOeY*i6LL6%a;N|^k@wd*+TGLF^Tee=Rem62R;3+T=uJ#+v7 zAOJ~3K~z@O%#GH|?er_JCN?Ged6M{p(f82c(uB zE}6rgESEd!35Cr@bQE{+ER)g%08dZ;L3inrUFh6@_un(~gC9`3xeZ`-ckEHF_UXZ9 zM~;!=&cv(4(CowRBmp+Y=?8mMw(8$kG zD=cA7$}HbmM%E;v6Gi$CK8qTOVpTmB-oK68ap$z{4|jboHSL+M|IeLSAeju|G8R=I zNnOBd-KJcznO`!Qov&^Qo@bA{82YC>d@wy|xlr;H8cu-c`CGc#`nJWJ|L@OOxVe2M z^xoRplpF+MyS+g0VcXukey{87b)K1i=e@V?y^k#Wxb9NdWCer(Y3R~wrrBszA(7B9 zIv}ZQGKMar=`zZLriS0wzV`J`TKlm13Ci&`JYVz#OoWUgC6SdFj#b9B8+djTe-{Ji zFTJ2)Xq#cMT#s;Vst?DN2vE1RUT!5r6a30+k9Nj#p(Hch_xNVVZ`M@o;R`&~>|F=$ zacVj6IC*58<$K%DGOuVU?{WR60|*WuiZDAXGq<3Uh?xA+==UCPXZNB{12&;2g{%k6 zvFe9pOP3J7yMC)Z>CAueU(uSLCkR!!&3D(nBK*Jo6%w(rpn`$_vD1ucJ4Y zxFnw-5>KLM#;MH|@hH)*7BRfAEJy#yar(zck!6|ET$$<1SEWDh@$ti=g@!JY5? zEl#V7rk&gI+^txiRxD1Dh{EV_k{2%S4Q!%EkC8rcl1M6sQ>)P~mS`;%@S1g;MiaNW zxt`sy!ShQJ=WmTVK~eSra$oz}*W=YbY(8eKw_f_5jU;Q7X5R-9X2t6QOskG#?X9@Cp$We9LU-&* z+m^U|cZ6nJ!*?sR+vOdtms@FcP~qa)M_aGz<7tJn2Xp|oNf(0ken6~>mt&dX6 zfk#%z6g-F1#|}{F0iK1b#JzhS^Ya!kgljt}s)TIl2&IORg4dN^wIn|!eZsIA2$`Rc z{SFsqzlHFf9RTy;JE|p;Shds)%x3R2)B=B}}5DcH?Ab|bu=r>=dI3B}_2#6@0M2(u{v_}CY@cpyXc z=7&f#cf0!W&9SeN96wF}(PsgWjXDHSzI7WTngQRX*{EQf7G|YF{hmx~xq{pB5co*? zB#!BE?Df#ve*A@(iT9@|FP50SHN)~;p5(|me7nuv?|%o!44+fITo)q|g-8bqqEUr` zT!g_~^q~sWH*zD4o<2!xU@f*zRmJN5on{D~cCAkN%E!2^wWKub!SmpFhUcH@f8c&R zPF3vC+F7-OE!}MMw+p=W@BW-du~$aoHHGITv>Hm1hVKV}KnP_W;61oh^$bB!!}lBO z+UtI{1%XcxwAt;KPl(N7FZ;D8_qDHmeOlUw&Bvfk?y;3ySY{nbfa7{d%>+g+{LyPy zui&~~m?hC$o86SdTH;7TAW31}IavZ(7RVA|%{f`1N_Ea0>yClEe0Pxf`6)aC-3p{L6fK3|8|e5QXjJ(MOSvwM!Ww6wb55G z6XU277)u|q*pfIo_m^7$=EHY#__^nqfA7&I3Hq$U=87C6#oYt10&rrzCGr!5O@HD% z_OJdAkQ~5wY$P?DSo0hkr`5o2)NpFcn588wv(2fie~cv==Mvc z92brbVzis^{u{KkH18byEfRwV(30zuoCLHh1r|RJ?+-nhp#SJ0)L0CGN9oow^Y7g6 zSw=D&NEo<2?A&_K`iG+oANG@1R*ck#?8qt@|*sA5CG?d@jU$S?El|LqU3%&jf7 zFFrR+E*s^}-4?g*1|4f52$4XDF!7S-74ZEEV0WyLyO*Y&CkRY7ez8KUrq{7%Hu3!4 z?!SUw3H!PyF2dTAqkHPtzV@}ReLX7e!{#1jdm4AE2atr%iOk)uWg7ugYkf$)Y>UZBubu)9#N4bAAB=}Ndb~1kVFWY52L0jGq)r&HJ9e(;XDEdMG+`6sER;Q z1Zw9cNzgJ~qK|1{(@Q_UqjK($gZhxixs&e5hdAm@c70ZEC@hpUYAp#hIzc*8=SX&D z$F}kX!L^%hB$9mY)y)GF&zG@14a-xp9F=mdO{*Q?>&I~Y?sMz8RtG}^oO;-nnox1A zI##QIWiAtoM0r*J(LX8JbhQ-4W50o&JB!tBVb-g(Yb7qs{zs%;$6-ELC(r!eKj-5= z`lDU$;t|6p?A+~70XDa6?-PK{b~KCo!tWrRd>LOcFv|tZQa*&sRs+xJ&ItW`|Jh;m z$|7(7{=Zr4V6ZW2xknVUqSAW(>x>T$ak-QrJ$3?Ngkb}o-NvjIY0lrntXHvHVa%ow zf{_a^k{s>Ms@=R_;QU8_Kzt!A^YRxhOpo8OJF_$E z?cE-54m{uhkN^oBB#;-7NC=dnK2Z9kPYOyAiXa(5B47^!B>*~rggxBh4tw6Lw=+B5 z^qBUhd{z2<^cXfAlPtWY^UOf>VRh{{|%u4e<@AEe|iU9*%3eUYT!UZQrcP_)B zeM887$8c?zTFK(_yCq_oE{-=g$?$h$)|N8xRN!V$uHnYw4_Aq$hAn{8t^SvLAb7y?5C5#Yo=G0!MXB4Jqy)F4;t`54h zF2wpbRLoEpg7HK_d5ndiJh@DaOxhrs)JY|EYITo#-J?=zrE&a-Lp3trwlNR}dCIG=$0{#AP-bH``pv7@<#_^kIbYz&jc<^uj8RSvFg5Tn<8Qsf_*<`#?H?d} z;0VdyJjszhu8sU_0FpP}=4W5}O<3e_mqr;`Z0sGu*Yz7@ri3-f|fm_tr#Tbta)!3_0|4NMUM*!qg1i19^@=`vhj9+0?Q&HNRtH z`XG_fA)`mvK* z0M~sFDN6{kHkW52p>phSH?f$y9O2c7g7L(R_E%$53#79@pWx7ettGLxY{}f5%J`JW z>}-H#H@`<`=R$)^*59c6P9RNOSXUxbNCjay?n6O+qpCEZ;fFFwCKIkbG0Hzz@<#Rx+cExCFk zx{O18w=s1WQ;Sqa+mB(nF=oplmEb_jIx@78QlO}@CNdfL7J*wQ@U7_oAR3dZnkcG) zqQnr=Bn%|JTO#xnoJJAft3jxvD!UMBKX%I$W#^*XuZCn>g@n&uuTo9?5ZLm9t}HhFd1jeV4q&F1c+oxWxgXy(#q zpqa$7akSoUo_qQjfga<=-+YC_rOT_vxq@6SeMSZRlm7s}Yd7OEgI#V-s#29ZjNE8e z9i@bFdVoUDL8@jKsh%Ek`;U+wTx+VBz4;bHKm0O!t*~a_-|hPpJzW_Nj0_SE?W1<* z7ReiL6YASr{1~597`^2%KH;^M+Cw)bho1J(&FEyAi3G==eWFR_^y&@Hy)sL0@zrgO zX{Rwg6L90E&&+H90`k2&k36j3)x>#b*5mT63chg~89E3h)?^MVLrEA&!XQKjk{}4E z&0k(OLi|c35;|v2=IGBybBO8L23N070VdBrIn=h|xRaQkwHdvsGCL=+9odoyx57XA zyuEp$4jwo(EXiwcx=p!RAYcd9&p`u^p}syK1RO9>vz7g0sX&3PEk33PS+OR*Kf1aRG}2q73A zO7Q&C(J@r*1eYfa9Fav4?XB|0OhFI`f?(NPXlc^137M2(WNxHs8bU}suQ_0ZSG8~& z4raQCboYLIw@es1*yR|3+j_Y?p}xl__up!ogut^Cwf(~F7JYa3CpmEJ20n#G}nuw=)>l}x^_V3p}NFn(8zE1-1>CtZ@WJsvT2=o}CZV>1u zemspIOAy9P0wa#<}C)eML zK;YDEq;2u$S8s6XtvOQh0LK+exgZyFL&gk=83W4>`NRv`TTEOJi>l1xgc+7|Smyfz zKK`7$UezXeK3EMw!xq%*g4<&ire|!V1S4HXH@YxW!|1W~-yKqV5IRg$@g~XLI>MJhitZhH99 zw~>k|rDUjI{r9Kt+ZMGEfPe7)XV^dmQ?E{e{3D0?SgED@d;0D3a_R!HDN@ ztZ@R*!!9k8d)K=Vjdd}tfvM8ht@1?nd=xlJi8EuKV5srN)_#bc#s-)Awc+P+i~#yT z1-}%>Z~Z;2K3`jCr>WRSglyV}UZ8Q{1rQJ>x(KGPqSxoiUHk@$y$}Ic!W$!>A#fc| z&A&n1t8KZ@2a#-!eEfMP-+U(`e;bW#+hmia?@Bz5{@hP;XgJ5!zxXSh^6Kcq%fxb1 z61w2adE~$#ns0OcOTXRLSj(va%H4aLh-c5PT_nHqA4%5d@k5EX(10!knj$a+=$b}c zNDM`wwrQ>z7!m1ov;?*MJ}`8q$6Q7)-r#m!MIs1gxXy7$+Y*WW*!Fey?C+uXc>kI{ zWGFG>CfVM8`gRSG?#?hXTH@-P7pTn7(J0rcOwD0g9`U%2xe(YWn@Moy)ZL{7sW$}m zx=*zxxjhy%sWPo_=9EWwS4e8XJ)>3^lq)b_Xi%$r*iJ82L*V%vpI|i+DdU=vC7#;7 zA?Z9kFv{qSI}}P#F0UoKQDB~3Eoy$Sn4Yn?d~J?9V~h8tf)FM`m?%nW;d^W$g~~GI zs>r*#7Lm@l*&vxv$YqU%|G_k)&kjB~ynD{&%C(J2rthC)AfI8+$Noe?)6Zb>{3B0vY0kW%TqAimLJS;2h<$;QFYs zA;BCTGTE~`&S1a6A^VKuz{H#pnkiEJzvACSjaH?jiga0Ih-Pv?IYfk zCGZ@oW0O?pui)1uT2fFvAEhY?gOJbz)TGZzIGW05m-c_LR=2 zvF#F4dRWC6u5+a+v34e{(bH`(I1s15&mtZe7CJS0IC2( z5g3ZVRF#N~Dgs?;kA*JYg4gSDZZ=Gco<_x2srYN(52<8~ryd_*pg&HB$mHn1r6k?BD-gTjN>{%NE$Sz_JC61{6zmDpi+8 zBgC?!XRMTSOXquM@>w=xb^g-mdlalsPerE8x{Fezf(fa|*lDz$1f$7;QmK815tbAssk|s|*(Z@i(^J8>yZ_y!} zD{y;GW4a`1I08QiNyH#7iu816NyZ=^i-_j^!o5&2TjBO(gOS1QnfWZLn1#}^kCB@2 zN%Rb%nL0vI@azh%Rlv21XsSXs5i-)_0ReB_bTBf*D5{1WuThv?K9*JlbD&?x^Py&i zOj*aU!x(xdN#cM`_d`cfw5YyUYY@0DG7Rx*^(9g%gAk!cD|Y3}GlX8`mt)Tj;QAL) zltr~fAj1$L6og2isqL;#N8?pgNcLnf6FQDHK@dtBg*(J!g6^&u{rMO@-3Hmr`sPda z#UC=7`x!>&ztZHV2_Rx|l#?GPcw>7Ly>^eJ>EW=>lOplVKfr$X`-F`)^P2uRlFh~c zh2Yix&myZckmw=d*El$kCfsuxIer2C!ne^9DX#AM3HA?WFn{>Rh{ozP9(OaW`%5;3 zs`Bi=`tQi~W_jz6{tJ`uU)ow|>CV-CMWho95fRatD$r?P4P7LiMOWi|Bg4~A4v~vTDrp#tBdj{O zE@d^%_b)`x991{T4j#owbmO}Xa*6lJ<_Fkw^dMdN$Z8}g&QZC11$Ta~xxb2_P!i0| zH)u3G9JhCgVBTxAB9e<(oxilF%OsnPkx56-<4V<|X8ByWUdFN`HBUEk#1j2zMixai z07)47bf;`~^;z^~KivL|Q`2?czc|;DbV9T+@#yJ(b`PhxGhSnAxn?JbbZ2wrfF zSiGBb?>>aAU>F_;cll&fA*n6!dB0X6y!i%~`~w_OSNUlQ1^pAhj2BD7*M4V93?(wtZC4Ei2v-pIzbu``z@?UpqV9x3C23|5={=~aG`g80 zsYC&T9)9i_x(6fGF{oB}`7f?>`RxK$y*(1KQHqeoh_3Cz_s=a^jbt(gJzX(+d*UP# z+P3nST6Vy9UYlAXoQqIZ6;0KNrS_oc%Zg_{Yq6`hL07sx|Ir5#tw?7gq4Sxa*h?a@ zv2Ukkd04hj!}4h~JW6GkM#F6)q^7y>JD3{TY=YA#cV4mXpo0z`EOf}`1A_adV%`mA z=1p!-r773+wFGk^;ks)TaqCkAPOXVx=DRf}rxm8AYRt?oM>-UmkI_GiKj#s;KKVX_ zy(7&8b2a=>@LDZ;!K;cuD9yeFGL!^iNNjeFYT2Py-^7Oyu;*8q#%^K`DilHY(FDCm zpQJuD$N1~tLLf+FhcJ_ATx*i9jO65@0CS6hCEZZxVsQ_uU*nLU9!1e-JK$v)l<*# ziBCUCeke~mrtsxo|6khgi}lQCmj|+5-SpAZoc_Yk@{Q@!P%prZHyLvb4!!(uS>LR7 zdE1AHY;FWy5$FqKG`8@!o>^|Vs!<8JXjCyNk>IBP5T%4lV%Hf`?mV&D9fDmN*<6PG z4<98n5cz#hTq$ww?J2D4P0FJ;aorHl3vj&<&kJ$g)#Pn>$xPPs&TcEca4KnX@Ag$Dvn$nLcc1g2Ry(Jr z>%4zq0*TJEPY!QNG&|^^gAUe1hiu*>%olZLiY7<*uWwrTVNfw==1nGMlN2j4BmylF zM^9(g5KOx|hi5N`_TQV84CVcn1QV7`WK~rV-<{x*VVzwATc03!p@JJI3+ApNjuhCT zLd6yAi`!T>*bYq0Nbbz84N~H}0n&%ST2L@sP3VmY61@Y&yVCR?d4lqd+mvsQKK>60298p{^&Z99A_w38U4*^z8PF;^?Q&Zm z6|&h}r@7Li`e`TvQxU`#{%_(P~6h7{p81o?`hQ6nS#yj@jAy3<%pZji@p;x z4&&3#67fvt_9K-H@X=5^JLsT;4(sYmnTjZ>B%*}WF8b1vt$`e zR=beqZjNQ%T-qL)$tIX9#!*#JO%o%R+mK)emWJ1W&=Z87K!$5q%~$(iK6D_CPz9H! zJWlS7kxOpvc#DlRGbKSSh|;BNO2Db%ivak6V5VR&ITd4SHX^aEW#M}ulmHp33+1jM z09A?daE8h)j7%0Y(}SLf(R1hwMk-0*Mp0?qN`dnAD`;vT$Q5Z)q=!|zgK5Asr?#$U zE~4V4xLDqYl!7zU|8BAIrTwC32r;;y@ckcduYUUFObTXs@58?pph7Ms=fo!O#iZ!ykuzkHP4h zOp7i&tIj^oGBTKF`lY`ks1#eY)7ngTC(p@)N;X^dEm>ujt0?Ggn&tXNoHvd<2S9!> z&)`D`NTyTx^K(?*d#9S_(I-HkD1v3+ldCGh&(|!(^Otn^0?mFmd}OWo;asZ z_TmQ$iMY8C301BMLR7BQX;?n4+kxal*NicT}$Jh8^mg)hjDoDoK3$tBp zq?sxRO8x-=1RfHdFm$m?SGc8^%*`1~1alF-U&Rk6fDs(~dNd{>$PVq|;E+#O+T)Vd zLoD$r68T|d7$9YcqNv#ADXh{IPIVS{woW{`e~Ddr$iKWPd+rfm@ zi>bIA(jxUKh~;PuK0$i)8vrB@KZ1Ab5}h^j4%)$M`fs2F6?A``5#vCd%z60AUC z1(Gsh6S375fes65sDhygbP=hcie>TCyDwquCU0(0}Ql(4p(6)A7dyVW47ROb9|bK>1!y8h6wghtVL1Z z`!aP7?Y4;P_t`q-0mJl6z^ywzj#=>j`=EF8k=9gAUq5N7>vV%olaeUd~{4JzR4Q?=tku#{?p2T-*$j0&{AqcAYUYQ_RHf8o4 zpWN^W`*(%R>3!sOKZ;NzUzEo56`Xp7c+YOU+6GbhrD#0;k8vM*hS=L*CGo~zY&y0@D4ND2|II%`b1h!~(jT>Tc!8PW`Xj%>u2@L? zd%pz;q;4{H;3w(ca~u(POb3Zb#eDBSp*7}L3>KmsoC)01PjjHhTtPV3i$uG=s=47< z@1wFQQ{9Beo=17@uQzIWoi;aCH(PbNW*jXFsUlK84OI|RHF7InX|JFDBu~8a(xzjp z1_^3Gf=ZBN#>-I&QdIpiRo_5WB&s@us)Fsc|GsP$fGAo3UH;9JNu6XuC6hLI_*l=5 zN9bJ7%(nMH4pE%p#O?x$`0<&FP0s{exa=+EPKD-01%Qt|=aBDf9g|=+kt~&?XvdZv z;=1{^qaFX^&vjJh4m!9W=#b63#A>tIRtSRzzF#5m>-W?bbFL6_{WeJQJaV*%8C!l( zH>;WZk)m}Dm%w-Ny*f^9W+{?vDi$)3c4#y-E}V}e<=O}NN`ko(FFez|VX&V?vUz;B z(PT!u9>Mh7GJa4&D1yXbAIY8r2vx(Hn`8R*O9Vj;-zyOWRfJHGGDM3fh-G>(yL9@F zzJQ`dWKnt+5(T$W!mSk`fcorZlvt9kq+}@Nkc&s>aHeE(eLVV&W$5GDvjqNfIuawM z^4u>!L453Oq}^Eec(;Pf!9l81H#k}NdjQf;eVW=^-$8oqk=k#oFYt-r`#UlgphGsd zQCLbSCQs2-e{Yk5ci-n?kwrCA^CnTG#S!&wVq)=HZQYKQ9-(&Pmnj7164BhKTR+uH z<+)$w*7>s>o_Lvr-#T4FE5y3GIPok0gsWfq8kL*3Hta`gF-D*JAL!k80uf81fA4n) zh94$0l1vmLh4R3gzlGwh&Oy6CB;~R%rxK6jo_>ZA)n?)cKU()(Y&4#g`+Pk^rRQ50L<#pO@&y;qvactE;HLi*%Ws7K5L)%3) zFsOxTDnW`FFGn%RP)qEl{Uw9qi65R6gb(8L4Q8Y<7axdaTFbN(7{&GF{8Z;v@)AriACZQ1`R+ZZVDbd zY3{f$rscr9=RM|%KBl>cP->jJn&a^k(F%Vc6|T(pjBDuM}~UBYz=1bzcOnZd}# z$&Q>xQI{{@cyBM}fJ$|;h%iF3eFsPl?jhMXh!#%}xDHYVAVci(6kct1Nx1|Cq4$7l zB7KWv!#)EmmgOB!V{9fe?^>y5u0*0cfh`r{2TsEIS2sN`o8g@DID0PtHv7Eg9D&tW zw>AOUQKET|A%)6V{_~XXyv4)Dtq*!QI|xBJab$C{xdT{KGedg}gDU%!bL7PAhIIn7 zi^{>zF_Soe*(KQZ+8-?u&5fW{=NNzQ4IY{L5%m+FLSFg7s^B~8!zmVd_x+n3ec?H- z%+2H0TGtCQ{n#)5OZofQbCO!;4GA6F&Upb7od>;gZAjtcxP@sBL)7SeD?`H)6p0 z0T5ad$we&ZQcaOaX!Q2P>F$c{Xr$r}I_RK1bjap5VLK|XypzKXn@?dFG!~S#)f1?I z6GsyFglN9BW0IIg2;Y!A;k22Zt34-PG*|5eC zia<3CVyO&5O|K!DD=~29X$E*2fWUK5^%$Y&tRa^&49Uh^@>!R@q|at7{Nys@gq)r_e*J<7)47wfj~uQ@;X z85}jq-dlgNVY$1(%1d9Sx(Pn}>&&M?>`7eTHYnMe?t zaikgF`GeUa`nnDJx(y)5bXhVw_deBWlg#c@sJe;ouCQR)ei(qe#`H|U)$1N(6F$3! zbRIfrlJ9HpVwjl~T)6BqJDUaKY$5F{uuLXlEul;%b-Hp1GHIQzoVo2>svUID!M#W4 zj@$<3OU8nK<}xX1Rxw+nuX|^SW}&R{?gf`X4k1_ll!^lHPo+rp9a~dxHNjjNZ{x^N zL^J_rW_-pclj!1-NdsaGdfM3B9)AxcJJY_Q&}M3oc=7abiQeQ za>9Lr%B)YZDoOO*B+w^8*HJVLp=xNc7^ZRrMT?G0C@QMfp2>?{nZc`0uOXMcX_s6) zAf`1RN5YU$DuFi0aL=+5>-mCLFYZBxE{*E4pJOgL$M8TGjxV@&XNb}H5lW85-h74n z)ELP`7OkuDKgyPju4*~??ozqw=WK3I_G-qun$Yz41szkwp%EvcCRzL8=6;Ll+-EDl`$JyfT{ zP~jSPx}Mtd7=&FTcJ3t_hhIRs^dsVJD5KK%x%i*|k`ur3Psr@uLwR(;oK}l*>#2WE zSFR7ovZ&v_fmNDYs%O?FNfbvHduAggbL|Yh6(L>iv$^pkT1v1IBh<_xhQ|IJ&8uvB ztQ$ADc@e*R7>>U{VSb*0*S?IXmo~4o0oqx_nY%N?T;T17;SgQ3h0hh1DX;|wM zd&fPy={OAI6k%B5@FAC>0p$ZReeR%x4(<*epUo}6c2v$@&M;q!%v;u1G1tP3Dg4wY z(mOH^%Ym~OLrUxTi7L8AW>+3Pv7B?vwF=m^RRj~(q_6wbsr93?d7h+U1vIRHQdKZs zi-H6tyN|hO!SuY(Y+0us>_!k0xEj)*;3uDS2!)E3KS**qQh=99rB1Qz zVu$@$u7Mw{TzCj*1n1C#VH%YiNExs@Ug1RI`f`y?CWrUL67HcV;mT_(#;`-}%E)YX zviCEa63y)^n-7l9<~0s-kZYS1+Dajv_o)s9Rb{KP*cxbg^DEKli_Wfu7zpU;aP- zgz9{yZNJU!`lq%WSJS@D+g&ot6^oH_L0eEm+c{lQN~Eqwq%)Z!%;pH=38WcE#_zov zYI~BGuX-WX)2g8foUp$z;*W6+|?a)(7^|b4%uuIi)OR7s}TkbJg=~! zin$V*luCED#+j4b52wBe#})kOt$-jLAe3u`X+04m-kTwo&aPE3S7UL$weZ=O2{^rP z^M`q{rg3dLg)jO+U6ER4{w*3-FWo%>`}g{&isVAQAIGf|cs7C4An~HN9yD zu^35K%~t3-bO6;zVkCP|^*DjsKs6Eso`YL2;?(BwtP1`rv%O>e4nvt{f6C3!@C+^% z`*<`zzHS-UgG$3-tk6ZVX0kZD2|bk{sG^%mj_;nuG~ue%z$-pP=*ebMDIKI#2?K{9 zu<+d~fnO)^EfhroB;kS`blxa&CUa#)-3Q<{-9fVXX8&(+X6AQMO(ME>G4s^F#t$X#%youtf0cM+vQ_g) z-Nb$5a~S8o4%RvgX&dwvnrZw)Phy<=<|YRPLen_;Pk)8RY=N(i_TcMD4!`&N*k%v9 zQ$csDE4piKCfg1PS+3Jc@ob-LPVN3hs`1_Iz43c%Rn091%xSe#8gcl-|Bl#mg0NO( z^2&JzzWEznd+-TPtHB>AI zDcZ2#6|cla(kT-O!b}#K*m)v4R}FaWTBI6gvRP95o+EIhMWo}}+r-s-llW>Y!Fv`F zhGQ#o;0hFFXv6YBFoo}5M~G}2BMJ~g5RYs0=d+wS)lJ-da4dd0=%9o4(IJ~{V7@4M z>wF(!=+UU(Zdpdt1iCVb8PiCo66E{3$z?S%shu;Ot$Rt%UP@6Zw{A0@Pa+iX{Q{m{ z*>Fy!DiG5pVdFNs3W;Qbqx-TL>!cq6a6FYu<0hrLN-VVpNwXqJctZ^j8xZ>YU$MGaOy=uZ)4M) z=l3<*QZiS<4`Fo5<@T9x;)|N-s@7hY2dpR zTzj4%um}SO8LlP5PN|P0hoj@Va$P6%4RWy(AKU%C(>))j_A~zzT_cB( zs=@r#_vv}%k1=MhudQ|;$fohkX+Hgllk{|_*)^2o^{>Cd*Z=QtY*=TVO>OSHw`6m@ zoy}^fKvx8s0Ih{d?nYyg@yHicCK80%95R(cCK9j>v)ngsI0PY_95E4kf~!*=j_0G~ zAH~3CuW_5SvXwlw>tm5*PS1KMVsnDI5|Z|m#+AO8t)QtD;_*DDsba=d5($mIUX%X5 zc*p;;gAP6d=-kDd;QH-2#ZnpH9VHAU>G%xUY?9ud9+HVD!fe7+&@=&LHf?V^sC!9n zj0+m(5k#s6<>eLiz^~$Y1@vTs`Oz!LFhDGL;VYVo3<91!okTTs3{7Ha5y@PR2DkA_ zT6WX&9GIHxrm91NpF_{EUy@s>IS!`B=e26=O^?Oe7}fLLc%~r)l354 z#CEFZ*ULsF|(M_jCUhvwyj4 z;#oNIi}<0WTAIYHPhd@4*mMl4Rp#xRb3D6g$@`6!!F<*lk2`xFA$IG%Rb^IVz3uB8 zqx*V>xxt^paOPVR%^kqR$9|2jOpfy87@pO@m>q3NG%@!IMefW z&i&|vySMJ;qi-ol5t2&K++SpZ8k|F07j zHkC9<#5EELjcg`HBCbWm(u^X;YFZoNX*=kkgAXk_WOEZ77_nf)02WoRdqXH&q3CpR zy?PvgP^(Zcj1ssmVQAnwvjl#1sccYQHtCfMrkH^nsc3_JDzv!*xf&&>o9RZLikrii zE^H#y`fe4wF};FdE{v%$KoC^%!-!z6ob0&vD3zNN*i)A&X&N>@@pznA?-2kL0g8|d zp9|lWXhm98BI2wGiK(P$SXE-_t*OZ~PA?<5XmU`jncSMqQmmP*_VNi`1*b8No=AfT z@SHM1W0KHc^z#%bs*dl098;)F*eKcnGHCBMa~Fs=fG>77nA8UaPfc^H=cg%$Nqk!Z z8!OXWf~I3U_DP&KUScM7oP2fVWcWVibJ$@xGR6h>BrJ&NuZUkmC|W7-#xGHg;a zS0i=s2>BBaGynAjq1C`j?V@7)IF#9Y{ZC0$N829DbEQ`vurt`ohO_y1j@^29oqDZQ z(UlWp(V|?0#WW|jvO)COyHy&EIC-ziT%ky8<~qfh8IIl9+zk0%!ml+bPR=uaZGs?X z;JRCLPq=TmhZm_YCB6h}frzdoy-h@P!6erZVhw4Njt5Q|rC5fs=7pyvH8h!kY!;bJ zL?pBY5$#C|dXg56@I5Zi>bT|*@0gEo*|gTO0$zUIrcmf(I}u_5oK-1D;&F}sz6ANc zcqb}s2OV^<2AwCt1BQy5;Y#J?(*LE&cabtAtmFuS0MDN#aND1-5B6`Jw3M7~=IkCy zZWImAx94e8uc8Q@SfYi}7kKz?1*b8G?<|||E)&d|CW1LUV9?jAW9X40+?72=BED?G z+OT~TMWAX8RIxyur9jHa2QCZ+!NT_-6a*pop+JTn#fo5buA5UM1=KbUecno7`x=v_ zIG66MP#vYjcR-0r+{P@bn!~kb@w{nVcXFN9Bu+8%JH1g15h9J;VA0w0n$yTAN(N0G z2Ef#8;7W^Ho8v*ES!3CcQS?pBU>>t_gX6Ll8Q2C?jp@^$r$5)j+rwYv)YyMQ3+>J8 z-9vbKn)&``866wvY0hn4VHF%1%iXg z2O7AD1=HTOpnY%UhVKuPW zaWoOp73V||Ect`Rgg_@ErP?ahPf8*sbU_W}PO~-3k}qg7f$Zu+W;2jZk*LpdKuX@3 zD4{8mvjY#Kni)>$Z(}N(lg`oGHOiF&t{1(>1aU&yUi^vGc>nuEN^MjpqzLEtVbO$zy5orC-03=g#Si(H9>xp-MFzrhu;a)z_s zY^MS_g^E>UbXsz7X!9l8TctQ&Ip9(uk5j#a>y(j5biD^n??zfGf$L#=7id<8TT{CA zd{|Z!%T`z)Oh~_pLy`?_H38zJQR3z&%M3%fqZDN^8Su4P~&I+ z1y=3|>L32ARr^+#ZBNc=r1oPa_hQy>k!akyXNx%TtFPRnmeZ%Kt!1@AZ|Ak(Jm?Z1Tgu~87_{!ho&fur+cw` zk8?csHncEjUBt1&S&kjfVp%@ZvkmTy&oMKrVOd*Kt_S)P9N51#OE1p{t08FEf_hz0 zEY)c=JS5NKtQ$ z;Wz<-7a~JQ#1#x(AmlWLp%6FYapE@a&EA20Gq#f)xp=&zwwhV9&h^8~;ZA2S2c3+%2S)1)@J8LKFjhr$`ts)?LjW)=nhCKoW*Ef?#_plItz|(rM=AE6rANgqiGV ztm$jS^MdY~A2sdY?mTci^(yHTWUB8sZQB!EVNYRWb@toZ)5LGzWavPG{GFGGmv3%Z zUWq4(KlK?(uYH@DuAk=k#Gj(BFem>YadUivGvX>nxPJPPjZih8T>2gc4z5!`E=c1O z{xJP*_Q2lUvb&qGD;EVP(zS(8 zed+%I1yJbDW$Erp5d;#)3Ai(EbM1zU=UqircOm8azw^)66@0hLd+NR+zW=p~Aa`X8_O| z?@_8r`m&HTUG#W>o~fZK28J$(83I*Z`G8K{)tJg|ma#cOB^*YNWg>!EyNYX-P*fd7 zHP;Z#MtO6Bxe_ahCO}{J&Lv>>g~?brf|AJ7PqR&#L@#;r74{9B)z!=ETlAD zO*CysVZNYoYb=KAE68MdfoLv6i-GS&k^TZtA@C}MVSx1ZA*CO^fYnLDAVgIT5z4De zezH=oPc#%opeT!<0#y+xDrl-eRTVT1G)+O*1*V<^CR(;*B}Zsv4k3lg$mCZTHBPYq z`da_4R-E9C`2Wn~*1uhMj4kW6K`vGk&CM{k_tPl8!zaeR%eQ%&J@5ZsTlEshAEWZx zw>T$GBgWq%7Cab46W}R%cH2bk74d68q-MH!d_GnH03ZNKL_t(efiP$`m6z={9EMcR zz6s$+H6Pt-;@Es%ZoK{mfrN+FD3_c0Y%aGoHT-i_vnLQTAdn#kZ~it6?8bWXzXc%n zmES_FN=5Qvgksm&{r=xGbL4rh%+Is;{7X#keU#n91K`@!&%cFPSyt1XT7!8l#-l&= z6tDc}?|yIt-vJ~uCYr9Y@7N%t7uvHL+9|Zk2pa-+5Cth({X|<diT#3-Zn z;{?7D;%tAg)F3T7B8XnF>r80fL=f`VDt z62SxrgMh&EaBI!U+<)Px*P8NH!!%Rj0HGR3O%HRh_IDe$eJTC(OZG)kI+PN!K25zi zL#XJ)dxuet7-l-lar*~Nb>|8yqql8}rCw}jZPYu@A1ClCsA?J`nL;QMr&c5M`j^VM z-lgSW2&O{5FHUcdK`fR*Q)_6NK+~dy0aaB{RU$IE^cRuLt-zhR4Kr7l{twhRrM_p7 zLLphcM0}kzJnNwyqPYe;_;i@t^J#=oxI9_r8M{5@ZM}$@KTQ7&&sM*(CWzCj+FKgm zmVD9LEZk19SBQw_YBh5aeexnl6Juy>ZssN>*pIw``R@1EE3u_{t$8N z0-{!IZgPX(wz_k}^RYv}!MZ6>RE;}_o?&DtdIkpH{R>1Gpz0cr{@lm7{_6Y8Et=EH zwbj?}aEoJE+PBR%*V%sP)Gj{xOOG=*I?tc|cJsY*w`R1P4ofzFUApo%TpwE7n!+kI zbb*wvQA1avMISB(RgzR?inHM`wpgQ;wmG5}ZLdQn0d!p<9@j|5wTM`DnPjsuGHD&d z_-F*k>!5=UB6O6^9flhkTqqpFQ_ZGrqxIv6+F9bNB%gISK74ls)A3bq&Znq3I$CNU zS)<6_)U~DkbuY=S`NR^zl-LCJJi0$lqw3O~mW&JsD2iabc7TeVrZIn(M(NhNeM%{j zVTcSRQijMdAn+>$L7gygQNq48bu#JZOU#uzw}QRYWfDa*(bN4%W$k6Sl3WI!Lr}Oy zXccHw3sJkt82x&IzI{Hkb&s+7ZKSprw_49LGAwmc^Qew*u)KCN|pHIKfWLcZJM(S0kG6G<+470(xp%781^dkMoDjy;Z|hz-MNL@!I7 znAU}63iJhKPgBK`(ib5z@mCN3PkGV z&|r#@-6p$-ca}{0BgfDtu7STvb4|}@B6>N3)>-@JE&m2=Y*yQh0{LeB9$yc{-gR}{Gn zOVSjz63-zeQle!!NVfj9|MwrZN!bdNNXewAV_Kv|o7}_QWnS*?OLz~!1MrZ;02oZ{ zp3b3imH+6O>D-eC1HAs6gM*o>Teogi*L2b=own(t+2c8b062KMnpIs8 z1WsMp$E_rYM9d{l=$9d_BChYe`1M*)|9Nn%7+);xE=kYD$xZ2JbD=QNZ( z35R!1OfDuJ9!*SkqWIrMT0+o-KKW(p3k9@@IlELkBQF2!)v2?U{0 zj65iu0?)-W(umge27x(ruzTU>*?Emr(!|u$ghCR-37bSbhN?=d!m%1#SQVABT>XDN zuA#c4GA$m*5d+{)pemuZ?X+By;^KWgqey>WkWnSqR$Q*Ikd%4yw8G-jFrw(;8_$w` za)MQmzV2!8^FxhiTmgs`V{{L6w)!McY^}w-MViVdvwL5d3I%}!J`b2J@ zP{c8>uj#Na2m)`uHq6*aV8_dzEG8Xp-8ETEHqK#6r2$GM&~=9|y}Q10aP1QqnaeS! zBW+?%695Pz6bjXU#gfNYztqc++oQ)u=!wlOV!I;O(id>_3|jdCmR>-T1RQ7C?k7Re z=Mf8TEn$aYOFYiRDT>FTjRrBb40a`jWfT~QiHxp8VAgYB($9fO|Jn^V!K`u$$2Wq| zBr+|%gjLC-Z>t4F>vJv$3uu_nBKznNL=4f+$p%G+kFfdzwIsm+=F^@AAgs=3-1tItD&@cu~`Ydil|R> zSiH2k4)(x=7S>^Tc}DD0tI3;=SpRC%eY_EPulCDYmncfafBKg(eG$sP`@e1aoLfQ^ z@xA$@81H|(WmhG1m~`UH=)PfG+d#|Bpqs`P1!g;%v&c5tih|t|sCBQcS&AG7&jHuM zNq)+~(&nu3f@Aa2-K}M>eWs86Iuwv&T73FwiK8zaC7;YEVrJs9?um?rX(Iel{tITB(OuS zGGlHYF11eBn-MlCHm~{rArbvLhsEyoDtqiag0MZpVfK~3MQC6@mH+f>UE6J!RkIzX zi8DM+mYJ;ERt_E{7kPeDWFhUpvc*cg}GAPdB-!^^7nylVY}lpgy}PP^YJKJ7`We~Wly$?iso_glEGrKHWz9qGVA&Dn%W^_w{Ok!tq98YF{dh_fI>JdGddDta(rvm z0DAQJywVe!Ti{USLAAt2Ll9Dg^}arq@?mC{qU1_di(gUm@!Ij4JCEavJj@JI;0Q<- z2ufRlSxp=tjq6r$odS+iY@H-I;~?Bc%(=*#NFb;XEI%gNKZNwwITk*< zgHy<(Y3(h(?|oEzftE_}l`pQ(HD|M!gZoj_v*2!^nD#o<%X$6ZZE<8h_7uSg6G4~j z?|sDK{IiSa49?!cF9)&ZDEDH2laM0S;xUueBWUS3vP#B!9RW)^~k&I)8E7S%inosV-frz)N}7(eDWt8 zuI!!&x*q*HgQ~+w>RSMKl1l01PqCyQ#k0zYdY-IlZc{wwdT1AM)|v#Uc=4}j?MzSU?wIQ3=yq>cpL8f6f{J$HtTkh!I zdXwjAqb%JGsMCqKgu5Jvd0=0Z1N)+D9IALznexJ&T{e5gE*WE^uD-S5EXXx}oELuS_Mudc~NX`f_^~hxIX$048 z9Gg%$i3?bs#K8Fp298FNeM-Y6Onm7$m4z6E8yArfIeI9__~`oMDo0~7P$4Q9TuSzH zjS<|bEQ@p1M}I|J0t5mgVa(RJ7xC+V$;7Fha~E3+!5>0>=?j=we*k)U?E|)fi;=&DPx0Z8 zA0jUW2x|`!U5mxBpT)8h2ttW+F};JXvYlwm8e99hUPv}uG3zByH^I49iIm;r?Ckfs zDSVNG`zKLF8DS${58KJJzZI)&*5cUhuvN>Z-u?b=XT0Xh{^qB3qip7WY~&C(vU{$g zn&$Aq$2ytJAnPe1W|-~m=z<_{;rsxxSWis$=&={+iOn6Pn-xI_@iU^Bego4cXMN_tBhhoB&rx_X&qa$ zar9*itN>DCn&8N3e39y;-gR1+W&MN0TzET%fQKkFzBcEzKKgxSRIyc<&CQEEovo0| z$0-y=%?G#ZAK>kh(7YP`86xpRh`zqnZL{OQh-jB^Egd~`18vtu<_hhe{N^+(LYsZ<+OOTe zJ$f2v_yoSIf3U%EHloJk9Q`N%l(`$X$o#?Yui0KUN}PZAZQO?o=81<^w>N-vAF}Zvtn9C7RRnm0O~*$ zzZwVn1di+%8R*-2E96cQl679%FL2F~S<0u-izxv7;bHvYF)Fzyn0f})pTOszKn@55 zM|^m$iYQ6oN!Xe}IU6H${|@EM9Rl%D0`U=ikpz;`XuZ7VRO{b~vOE?)LCGqbX)SzRqP&3jmufM+Q%xk%#75xx@g5e{tZGgv6~GZ4%n zi>)rp(@QRs{UX8!x)e%TDnmzTo7b<6WpleHC%#j!W8V7&JQwHI&Lx+5UJ(2tLg(JX zzWQg+#IW<|#NWs84-hFoB>3q!!L2=K?>oN&z&qk^Z2NhyMt>Ur;2Dq_tqYc3z}8ck zl>)Cn6OjpyuaErUpJYKC;^dA0mG-fi?QBJz+O?y)-3=x%UjGH0$PmTUJR@5i`{94^ z4+#hT$o(73UMYAkCuiTs6GXC!!^G1Mwm6a=^{m8d*2iq_DBkug6z+tTx0y$aAeT%6 zevv>xA>j8~gk&yXp;EEXbQjYcLety5^s1R&#nrMQQj6F;c`VAwV^ufZT;3#;HCR}z zkj@(9^J~fNWG3Ktp7zBnfj#db}zW| z>DBdXKdAn&G`r*HT4fKp=rto9e--=ccX!R2*i6vLORY_yp3GnmCtkx*8l`WajZkD_9a71^IA(Ho=`|36jVsWgRIo8Y)4;A zr7xy(=s<1hwJJb$7L!@>1&Kn@!ZceKdMC%%?FQDPM~`PfPi$_HY$?d}Vw`NLnw`zD z%b0q)!HRicyuGXJUScUD@#Lw&=@T;kHNq7KqB7G@vsCP3oJu?)5z+8+2V1kfg~~|M zAd)PD7z8{lV+o^>LbtO32;tg`!_3(T0;qjHK&O(Kqmr2;pbv5Kuue4Mkj>uUPD#en z%eZz`(7C3E5;4#UNqoTsL+1~WzVcmU!OyWHK_*sFCF=j`;ff6`S{ar6$l#-ZQwxz9d@prfFyz4>z;(x&n?<-`F z3~=K1za;L|*KusNWH!fUwxj!gd-N2>nXi*}0*t@^tB6`|>lXo-xg6KNf02Rf@9ov~ zmCme@^k=Un2^#*fpCt3%_pu6X;@{g~Te}yp+0OpH(fhNNKmGP)LE2+6f!HD3vA*sk zG-h~>MO7xo`WPJW5sj#XLJHx~=4(Ymy#TGf2u;(WP_)SBO&(1bkv5Y}s7H?;yGl=N zZj$vR{COU%nDdJYQ%_V<>FP>lsciD4x4T<)OwGkC%m8qU{Qv~}GH7`dB~(V1hmd_L zo*O|BWo$E#sb#Ru#z}x)DkD?`yrzoNwq_#-RMc1mV<|?-_SiS%ar<_e)Y1@w?BLl^ z1ld7UTwHGvxJ_*A3`QkGAUebke<|7$-?`na2+exY8JE&5mJ;NMA_@Y@$_QB_L7%$B zq1Zztu`zl^(*;sX5;L`~V#R#cxN3-}?rY>8U*p)+e?WAMx~X#W6urHbvT=X? zF^$KsxXrqeAquH^#;^YRwh7G@ir@Ut+uGkw@w~@vhEJbk^u*={*h<2my~I*R;=xpfg;Xsf$-t zAhn=!e8j|c;Neu6rOZIvSQpd03&3bpZ`t>}aY_0H!Tk3*8{C>p;$|kor<1jWERTc( zBnN&7KNZfWey`&(QwM$t$jt*2^9}dc64b#O6A9 zF|C-@6+z2j*NThotMkMogA%dniv#?zu`JSCJkh^b|f#V{aNMW(iZ zZIu8ROvsE4$pix;0l$dfS3SO>IcS>0{G!XG~hHvaVg6Hmt&@??<5lA8*N$ znJvX}Jc$pLzk?bW;gv$;q}xU0wtIrp`R`I+k#<#Bioh<_NY^hE z+hI{P=I1D;QbdlNSXcW^iOtOn)2sbg?>@U*F0>ov;_Xo^S3;H=a|W2!&DHnQ%IEd{ z4{X3j0HRTmL|kTc#K+)(N5H@FL6<86<%&S5B#_CLDV3^8h;+T0aX%3B2>LxF$>W_j zd!@m8^mtzQT#C(X(Z}>+HC@Ar{YiXEYwX60V#Q3QWu~6^nP04}J{tOcL{UXi_oJw_ zmCG}y5{ROUZopDnW_CeoI8Ig-)SwT=ui|-8D&}n*OG8ouSZ*FeOJVC8uIn*6D06U9 zWiZkH5sO7+3|(b*&et{OqF#i3>D>XwM_b)>Vo`+{EKi;t_IpLHFGAKQ6Ax^Ew!syF zS&@!bHwXrnrlZ+c7(Mkvq;B3o%cc-S8E?5xo~?;!=~{-}W^ow^RNaE2@d$b0FaWN& z^#mmwVLM~2K2&~%x2)f6*3`R9;}xx1G`oE3oiwk&<10Hd8pHE*Q#+5Q9LMu~yl4Lk z0^l>Qq6ij8{de#Qo3mzrApaczRNqLawHg3Em3{pYj#>U)Q|q^-^Ct2iKqr3H%D=4 zf$?jEdq`2r{SRpiMS8T7Px!Asb;n~K(PeH5FV$np?hbUK?=Tfanh^&G@p#Y9^op(68?bqI;M~|K1b0s!)Q{dJ^fr3$6 z)4y_WoWo;jV&Uo}FJBHYmySI5WlNf4F#%j}0msr;g=RCKeiotS6)1o&TtZPsk<^;- zbgVL-XJJ+{1Y+YDr4+8EbK!J=@!{@|m8QeROFF5g*8GesBCHwD^N`kA1~VS8iHj*d zogd=ueOdhS)?VwDt5P(hWb}Tr#&R}2!KjW`%b*t*v5Y)|AmF$LBd@%~%!eO>;3NO2 zjAKX**H+7r>u29&km12bnnSp*jptgp zu7xNn2%>^0DuiT*bKd)#zu`$DKC3@_qC)u#{|)ZQ30&JEw>Zt%wf{&sd2f5K=hd$xTxv99KK}E) zSGTqsE$-?YO%k-5v^lSn%P>2;z{sgH?Zsvt&(e){FH^8)S(zFhIn>X-2|u3akxW@E zEQ%~;YF;X$*g0dmrVBitUgXJi^|=zn@iwhGeRF|nUIiMH5cyPza9E)~(JOV*qsQ~a z=SFN=w#cQM0#4Hxo?*${dNK?`%^vW)mM!UI#gvsGfoK?nYTTou4&!+em28JZK+6JC zmPe3%Dy|zvTuJm}WLD!aJx^q4Sme-Xh8xo&Ze)T$s6e-@2g#JchadYety)}YCxO|_ zjavmqh6dNw_SmRQ`SAiDOpk0>a2Cxdy5l36^;X?u>oK)VgL~`>p69W6`v*+E_M;4* zIm@j-_#+&%nlZOtU>-csm?1Y?@-dx?ldCi;%V;pVYY8M;*u>Jihsa0DKUfu-sZ)Q0 z!v{tX_Mf7B>94Ur`LnGJ={Zhd@}d1p2$GKN*x2S%9J>O*`N$m-^2RM|mm>c?&^lFf ztnzZabQaqxA-WohED=#eUJ^fAZsmajQ2V=UYu#yg;%zj^-`e)`^pa6`NB+)# z#`*D|!8b99G4r%zyX@jKPKfnvBMUlG5E6*X)11fCLp+`a&s|!nMB7zhHq#Iu(}s3} z5~}4=;(bA)5ru(7fLP2&G@_uY>s)c}(WA$n;&UN34NK7>wnSs6?pl8%BRbM^9u*E zC}QI|E1Jt^w+xCUk8*j4c)v(|q=N20U2Pz-Iw5E$Fg-`W(sdjyhGSJ1E4;-S;7^E+ zo+l7bP+D9-RgUrcs~PrB`Y4uMB4H6t7g$QmB(pwBa_h_6u`0OM0&6_7dxk6Ck0Ce( zUh{r?)u=Rh>n|uy$MC%?aCfo9;b%I+XUBW?uYg@ZGjh0&wz_>(O_ESH=fe4FvF6@- z)qR_y39h5#AY$4zi_Pi4V@8$MQYL$Wc)GodY4-Z3ZMJr@Y<9~$>tTlm7(RFoqnM?X zngbx5yxCzyTT{|g4=;O}x z2!_>JSKC$*$I4>cI-d7@TQOI@&}Btoaxz3JuONzk)W9Hu(0C6#*F~?)peV!0zM4>N zmr1srz-;E??FyNS%In7@`Xi0^?&h5eSFdN79QPO=idRLXBA_TDsw$!?0*YD{mm4Kp zR+!275k!%bqs4~uBDw`PW<0Fu2`=*{u+bq2Rew_ED9`KflC(6q1m_cZaV%@J?RcNI@t&{j>i@}~rS$11 z7&Fsdk6HJ#zpm%Ab3e^bX?x3N`<~W(9@Zf?&-m6ClkqKMlo>}smM1nXFad1)Gd$15 z@0S=J3^F_v=n2XmJwB(ruwv7)MLv5VQPB6b-Cwn0X0WXyD_`*Ejw|dRdv+%Y22_q8^`q%64;%kHz?s9wKq=BpyJE|cuR z$?gKP9?f+5_;wjb2=MMH8Fh#4=7ueCZ$3y~lTm|X2y&Q+lH){wqg!rXm$@<@#UCBy zT=Wr-m%>!U<1PJ}S_V_gVi^To+gROhRZOgMv?cbke!?n>LF6WvAxV|!JDQ+4mBG|% z)+SMg=vWLjR44Gws_Ua;RT}#Eo3Z!WU;G-gk8SaGTt^25FTq{sWmI#PL;iUp;`$1z z@1EFP|H*bjY_7NI&HkUEA}4rl;oon$v$dP-oY=fP`V9_AIpQ;ay4E1to=-k;9{bL< z)_on_Xgj-B>nDGdrQkjW9{vUX?9>`(uZ!{Aga}N%{YwnK|66Uw-GvuXY$9Tw`3mZ1 zf6=z>Zi-DY93gP_CCVTEpkw>(c<$HwjBCpnP3`xn*!;e8gh#>wT(>oOm}y>LS092P z@aAj7jEw{c1YT?hy2Yf!)MJ}us``!}8k9MF(8ti=_WY67CsbNWm&xS~N@W*O93>p` zNW@((obP4k?XkCcA-@Gy+-41{HTc}NikNz4)m65hL~P?$we3LDJU+RqlUg#7tlMxXc3t!IHp7PZi@Jc zJ~Fp+82TL)UzGU4(@3(6V^ylLb!MsU@nNyjcKdp0zUxVIklUq$d@1qqru%G1(d*-w zc$rvm=Q4VJ9A zO}Z>_JZ=q;X zskmtRXj99^Ic>%i$YjNy*zB?AdEvxnJGa?ZD`vezOKl<&3GKeytfqPV^#?kJIfm5q zX=u90`yV%cVXuhH;Xxlq5BV4$t9|+8N-8%VNVsAg+1K5gS&hY9wqkl7o@-!fF2h4U zUcV5<@7tX4_9+45uGhTTuE@{xB1fr)2B1#|Cs{vqB}iNI(_Qi^(SUSP8Qz;TSTZ(Fpy=-vI9# zPG*Xn=@N^|^e0sIO$N#5;rfjVbMu49YZ$_H?KY{~0Y)#JCw;e{$lyLaN2gM0wPLnh zD_cuNYq$aK>1RpV`*7?MtG$TqH%F8i_!M7lSzV}W#W|*LEg=N``Mg)8%fM= zEeX`nokmN(twhm+2Pml{jHLdQ&cd-JPio!oJO81|x4*xw{XH*9fSSiRuFVs<_?ORS zFl`84{OL&4wEI>~-4OWRve4{CCoAS^Kc>K~hbsA%Yws{0 zv&}rFnQ5?M0%(PY3=hUQePNuTfz~>f8>K%Y5D%E7(^=B}wfN1+zyg{1B6)Qb$@PHc z@*#j+r>j1-zr;D|eI%i=MrO$ja(^+5B@E(=hC6K+SVdygn4)2NZR8M*K_=R|EaGheCfQ7B4GJ@z3`xZ;??q7l)dUp z|3dg<`qj)DN3`N0@R9Ie^OpCoHhk=QNDh95C(=<~Tllv-(*NGJA=G%c@||Zrgcdpq zo;HgRo*H@nFR>WmGcpN)4f#^8|%2O;A%RCDH1aDRTxNZ>5g0i)~=Em6U zaXnV(dwl6x4`I(xpB$*(vI%?pTgme`ik-fgN?%On(1GacwiN-on9PtbNEC`y%UU#| z(4X)#GQ1b;$=lCj(&5%!o5f^pZqhBT^~yCB&s#zen&)`k=UL5yvYwTg*Jwmx|77%q zz1KZnEM5q)X;?Cs?~Y*E!g5{A+_DvOg=QD2`rpCt6NyK6cao7xOI*1gLN`0ti!$_T z9k^gX=EAv9gB5cH(-OIK%ZJm!ajBEQtmn&LIL63esN??4aPF|5n~yXWvVQs_RWTvt!CM>!a^}jiDRIwZ#rn{IrP#ZrdCVD zQq3N#VV7gI_)Dv`>`HDbLujCSoVfgcO{U<+Eg$Jjqb0SSxNJrgCGz((z-l+rD9wOKI22tw@Zz}(KL&tW)*!L#B=|&gJq&KjGLi73J(&#Vo>U?Y5-}69W@O2WY zjk{>uN|Z|Q0O>%ZxU5(%#pGi=+u+U0w;5@T6l~L5v*3jGUM!ua`aPk!6})3_BHV57 zLY+K#n6JEkh8zFsk9K)f%WNbzb8FqUZL?L^+1<2sd+OQ?&g}%~i%ivJ)?5{t8%dnh zDl}_!%hbCfD0`WDd%Ord_X&csMIYB6j^lX-mC|C{Sj-h<8ANvmzbX+42N@Yokcdh6 zeY-cw&@_+B*G!hOBW?Gu2+VrkdM(PniPjfDw&>^flOYVN@e61@0<)eUc{jYP_dqv2 z-oK-x88&JtPN@IDs_0x{zdA)w)Oft8kSmM$BM0%?xXjkGl0jB4r?B)qf*@k+7FH>Y zV~SO=X}4yNZAbjr5Yds7ygvAt$I~|V?gS{6AK2r)s{q7dVRChi^KH?t(Fk=1%L+TPCFTE{&w>cRf z_5VHIO#g?CAG)zjJ{#biLYVsj&zXxEb*XodB;(Qe||V|x<>mB02C){GDN z9Fa^3d~`{tQn9yG{-vFu3J5M+i zpg)ly7!dLM1Oh$*Sq7eAwZ9d&S>0^*(Qhv@R~Q^QA2T}qo1xzo_@Nu?Xh0G zV{and>zo*>|M(F^N#wxWukiST%ey$Ty~9?7W{=%R)8OJ|i)1Pa_z^b|X| z?OV>Y;Qbp1aP1{@Z3@TH@LX%P9%d&LS*ZR~YCp@efGU-MaL40z3co7w?#U2WA89NV z9L#c-?2}8x_rHoHt7w^7mq?CQ!kl?2swl%dbD`q=97p7-j zie8D^X+H}yt@qZn?li4dHi}G15|(R-F4q!OB~(=;7+Bw`v1higx%kTBzX0Hr_7T>- z&&UnDfub)VITiAkzE9!P4|sC)hjAz0C;-$6;F`4rM-+L^^^7{KoA)*|AM3H zpAy_eOy@=^3|*k;JH{K+zq8}#+EJdD3@*D&C47XXp|27QOkhgYg(KT6W9db#(jsOh z$6J+e(LGAN9YWpz%~@!n)rQorj%IUz?fU4s(r$)sLK7f;_aTvJm;*ob&gV*OuJsgd z+j+$GSvS|h^FT06JbA5hX)iugk0p|++I?7W*_UR5L75-@>LkJ7b35Jc(PPUzw@?56 zF@Tkl5qo=rkV;E@d?kcsOY0Jt0HL5nC@9hwYy6027F`tgCS}7##KR}g6N`pOB>GWh z5qU*aHVMnlY%SyIR`9C=ZypcwVBY55tc_zC6lU%a>pz31d6bF|Q35f1k^brdGRTUb z^4ya(g(krHGf{lXvfxu2g&%-vx|o(rF7IHP9<~kng22<6>iMo;1vQ*SUQP(SV!d1u zn3LlnhK3Y;t71~93d-f*C24EVrDtg!_gxbt;jx+*F?$7bK1 zYQmY7zmVDeZ!;Vp;ge5?afLZFtwKougg2s}BC6djvD-;Bd4(ufcI|vU)`uWKIXq14 zz#**9KHO9vQ^P-t({}>Xte`DD!q$t}W@A{xyIT8;z9U zWkyOB?mb<4)8zA7dS^n_-Q9#wjO0Xv9g!P7aJY)&QUe~P9%IC3p1k>4jG%S!}<0TS^9 zk+4iCC=v>GwtO9$5IHna{~|crvF%>Rv}Fo2yDu-YO3D(tUz4KS(+O zSz>t5$G*uRljA$T^6My_lP|oq_-}aH|Ksdm`XeN#!f^UMp2$ZSb>~ps){-jYPd?zo z$N!iFmsv7gWLF@fp8`8IWo}OL(<%FGr!2MY`e|<8V<%7^-Xptz82Q2a z7F%Bg)^haTD>Pd~1*26}6$&ERoWR^dnRGf{_pbC)Dp`ExOD|@f$Dsj_p@BG1%_*_b zGB9tyKHL+UJ$ld+n>)&r852cT7#p$JKN+kOnDwun&e>@93WgD$``WoEQ&s?qry2Bd2*| zWCnlt5?GzDUGundwao0C#`xGcue@Xt2(+Kz&drO=%#|sY5|j#G10bZ72`dFo58lQn z8c3c=C4Il)xH0=NSHzb&JRBjOzKGP6EbA@d*8w;l>ps@rwEM-w6@A21Y1RGL48(}M z_GQk7Vm$cl7T%@z*uRnFS9LS#cTP?fAU9Oe6wozREwS0ju+m~Cm z_t-uP$qXhUh1AZw>hCq`pVYndbaisO&BzIil)$4WWinZVQfa(yZ)2iD)4B;l7#Q5K zaqcC$m4T@jps|?B&_JM9mZV3IWuE(Nw0jxd0RPs@Rz6d*C52lv5e%#9dMb$mvVWMt zaE@ccGaZjx5tgZ(MX};x%XNvFJR5{2VX0-X%p!tkAP53JMIauP8Hme7Lo%U&gdm8N zbQ{waxHVm-s5!(&Poo5@U;K(M$O-i`0*Z|+)*kD*d66eiE2Ptjw${t~*h{}(Y-_zN zI{}^=d;7D|hQ>xX z@>5^q!5@By@?2}ewr7!zwp0JxnT>YkzlJBS>zdByveB;HZ!H_`TJ3(9pTKh4dsms( z&DD2hARsX`5a8u=eLd@4j~+d`())(k0a9t1dk+JE%PZ&0&!ynZmJ}YRLgdQw>PyZS ztcj&msgJ0-NIYyK2vXG@Hfy&EOTZIt1i*C+EIo&*r5l7Lc=%Nq>X#Yn4>8cE;`g;r z{T2_)%q`fY9(ssAA9-#fsX+qaqY#JBjKe6tAm{woxN=oxW@e?I&eqGx@euna{R|KK zT54Uc5Rx0q8pgfM*$a&R(TQj}^S+4VFxsL@a>(>0hyL1IK=LwmH#WiGrGK-$wN)sB$ModiX5Z7_Z`t0NMweVOFtkSd=ZjG44yBjB zfv!e7RAAm+>~ht$->!6yLx0g&%f7zbtT%yBz0hnHmt&(5#>e~&4+c8ED|__l(W9B3 z*xW|u7Zs+SsHD<0U(1V^lYHsz?y-Y=iK@$NbX8>53(RJ2KUENrQ9_4Sx2*_Es97yd zEsdq;5CsQ807-NiO{fg@2Z=`%BBAv?hSkE#8jDE_NgBg5z?iG<)5J9D$TdKq|G=w! zls!OlrnZ7!Z@mlzHWzz20!WDDr&B_j6hy2ssP``HVLYhN+nRDtX3cEJ ziUl)&M_}K z=es+oF1VJ3Ywupx>%GSF@l;iL>(vB(gP~m!my1bD+IQX zgRfi>C|3kZC4o$~OsQm{=`OlH3_u|05%haRqaH7veKC_8_2{ve=!wlu($0!$7!Ov( z&G@Lw(L;WQ2lsyQUc-{OGZ!USl9Bzx_|_TIZW(#3$}C1@iRxw7++hb28?#zAvu{{s z>A@Yc93@j6LsG*8_IV6M%PifS?|7VP-Nt+ZATToI=h)Hku4Imd^;t8kW2`0i2?bSN zeL2$LBKyukm4NX9w_{&Jk>E(?I}OL*F8i1`brvTS$BYi67V~6=jx#uS4S=jEF_qni z?o{u+re*P556_G7eSU^8c}|XN_(cQZ>CTiPSxaaFyt4FbT;pxT*fA~-{4-uz`qed$ z*;u^h=NCIP#KV)nM4vuKbm}j;75f@*&Hwui_ag{U^!1b2fibqjj32-lJVE^KA2Vpx zC%9^#RracM4pA9rIA8y~ZKTXeO>pKThlv#*ZejG#9#;vXjh-bmeeqcjr3J?{Q9?nC zT>e=PW!u>3llDA(dyVevoCSTmsCp?GEG8QlAo2y5VkwHIJAC=w?wMXqQ=n89$QNKK zU7=7ksZ?AveYB}%>w>>k5GWL2AxTec_UN$-^u*={Sj&nzJg9Q?kdN`v=f|2^&;s0< zi(oN?yhg1o&$V%E4acfrR8m+*4!=+0{IMW?5qZ)VL#M2*b zRKlipyY2DsyxGrzeY=whPSfGyClyjl19Y-x)(gyfP96`_-ycBJVQEQVZlOXh-$$V! z;_JIau-}jM$~(w?{TxkwvwBR(fG3v#_@op8&*Qa7wW8){IhC~Of$)_6W3Lj~KZaeY zP@0=%>DnUzO2qhNHpbbZJogumk<|_W5^;Z;vCuvG17!ko(+hYzXG(SboZt$NGHK3B zcLBIO@Xx?=KhnEr001BWNklfYlB(`P9RR{+|OYlk+||Zh*r6&Mf;ocl5?GFyhSisFRnV>#OAUo zjjRaGz2Nq|8C)eudEXm*QfLA=hJhRmyij6uJ+v#<)1E!@&@E^ z>lMXDC;enf;^8Bi!G4Em)T2-k$m9f)sS5dmNx3qFY1aP@cTbFAn$;WzE5-nTSk%Yx zP#Ean@-_A7(W5&(vAGUjBrE0$mLqX@u8+Jq3Qe^ZU0cU-3>;g-Hj6k`1;^I#T)U;8 zvq$`l4s^fn>3o7k=Lk_bM_gGVAX})CiBD`_LM53JxOG=2l}Z3X9Oo1I#$G{^eU!6v z$e}cqT=!%>yCpP}DS?kK`_Q!3^K}xK^<24DJmt9Tq7gLugEeQm@Dc(Nc{vN*; zuGJaM=>ZD)NhHt2cC##Ay20Y5S~&{ObI}SD**>6tcxY zAkSF1$Y4k#An%L|oDZE7%R&=awQf$ihtT@o*HazRki)Hif{1Bda@Xq6pI;|WG) zA4om~cYnheEUV^%=(^R3e#L}oGr)Ad>Vh1Q9R`CMhx&>Pg?2upl6P#d(qiWgmx3A&j;IO(G&z>N8HsN!$b*gQ%J+}`!Vf#rVG;;#X0;wnfub~ z1Qm^n6(FdZlr)<+4$k3I*8c%iU1rTyk=adPu7`G_(x*xc^!tfLeGK&biAGdHA%$@0 z`7r?W=7%6kNasw-nujePz;%X##x{cxG+o-SYJVX%T6K9cG~_6LXs_Y)o(!qRdm5g*aOVTy~7h)o;o@C1A!;3*oYY5wUutk?U8_T}4DlV&;|NJe<8LF$oMl}$F^2|}4O=m@ zC55L;K2mv=;Xa$=<7JdhxFXhDE7LiHV#ULf>grf}7On@PsNlNRa!h3zQ_EmzNj&{1 z0Es?}FTb<4Mar~14AaH1yw#uQmn@cYjV`o;An@AR1c_*M5|`KgWVH}^-H++CU&HV` z7rmT94JAf?^{3qR9TW*Fap`M$hE{fxuuK$sa(JT3e(zk{_g`}E$!~N#qWWK_vL{V#*D;=s6(ck^z-f;rH<`(!it$KDLhUF$d=^QmqX5&;Ld!Bvy;;ukE<7znY_`~ zT8U@j3LsLeVQCpTY^%H+Q~Ce1_nyCzqUn<{E{x}1(XP~uO##^tjvL2Dk zy39=H@w}Lga!j)o^5D}Pj+@*wn!1y>a|w8+g`kworYpE>w@REb;_R77Cx(=33 zyRu5BQX}lYh@fXa5`n; z5s7-XESPcJAd(xzL5vWIwd>e|#Tys1L&uDh=d09OI%^v))kZ)pP6A+M+9*>CD4I3| zk)tZsjgoHWKuUb4#Uhu9G=nR5E94h1BBVg53W|O(YnxD1@+V#(=(KP*H}UV*Nzc!t zr49~K+hDnevJ2BVnnn5UO}?qMXtzh#^cx44iwpLi*2~@6ogis1bxK_%F))~}em7wD zt0A)NwY+}ymP5UBg4dp}U>S$cV%l{im#>7>80b( zGMirm@W$^UXac<3{tsifJ$so~cj7B=dFfpcz58VLo8rq6`wi|d6_v_6e@<){(5)QC z%4eiM|I3FO`H_CVw0HjFr&Q*nhX}oRKF^Ei^Egh(M%iI)J;@^5Yz6rK!92X?W>ZI? zd88wKNA#U>qusJ*Zq^1N&$eP-e*uwszJ7)5r~f-jx3)(=`@VgEjf2-j3Wert{|ePgk@?_%9NPZ4 zbx=3jp>gc9?|66C@1`3qjBwii9k|g-;H3k)(K^3)4{1KR#D~5g(QE}Y8a^9khs~Nx zqcNOU;io@ZWO3oU37h>jLhmjoi4Na=E6wkDNb`}t!}?BGHeFBfcOSUh*35o6uEIZl zv}4tKTp4A(K;`O#4E45#X3k<9@=L;VD)>%i04f1=6>J028I6>gXMS4c-iqMPvJSD$ zg9m+WxYxGN1sDsMN@e+P;r;r7EZiX5V_gXgRe z$H~K>-o1`$Clf!-NTHco47-SKX3>m;Sriq`M$v3oC^Fk;B#c9sz)!w-H7$eduG8AM zP87PRnu(DvV&&$rvcvHtifUs|%z+g6ts36l8tIvNWb7d{oj5cJq)%u06NI9Yn>~Y~ zn<%=DP{#PE_DKjq{^SgP%c0x2jFb_n{0vss=FCjUv1vgnH4K-oD=2R&+<(w!ZDR|- zb{?S3mO>ET(6ihJqj|-e3rtgB_^JmBX@k3+~RY+2|Gx) zMc01`&8?&O9aOJ_h;|dgd*gE@4L^PXeHcH7C(bmJSA29c`V7eZBb~$FF6e5I* zW*Mm3#7HY)Vp(kx1Wlr_LmW8>q4oMs+;&wlgAf*ql0pbUWZW2PM>Ep<0%#nK$qp+e zaqOe025x&D&B_qRA#Q7p&>yV5XJu!x^NaZ1Dt@9ezJtFgR1YW&qyf=-5oHxC=&4MC==Yf=dp4}C6X#( z5aM+Q*S9@?aG@ZZI*sG1W8t!2y8iq~z?_=ua^~zYyjOojdU^@Xw(weYRNX)|O%%;Q z)pZn2BWyK@eU~^4iNk<6iio2SqJX08@WtPKhEq{Nq{$aDy!4ADq@5wO@<^c|-42mi zAoan&e<=|&05NP_j;p-dT-~M}gLh$2vZPdz5;zl`XCuwZo>ocfl z%(4ml5BU)-o0t4Q;br|-n8H2KxSk%%=9UsL{G9V#md%Y)#J&3= zjb==%EfX)5j6!iD%NrLD2TGl;pwkt!+k(}#7AvbRLK)6E(61B6J>Gfa@Sz=hDM`ZT zu~8aaMB2)pJ2M^elOOJ#(Z2s&Dw~}#P`S6F=u7^~|KhpBpTLoh^bF{kh0Sqpv%BTF zJs=Va@4lJg#Ic9ZzS(eWmPH zJCCY>72U;kUAk^W7$&!0EG3GbMb%7nE01Po2)#B=dyRDQBp~Tj?<938x7yXyr1Hm+ zQsQ)1iNcB3dh2lr6+q{pW8sz4lL+!<{gsw}sdLKnMPz?*s zuu%e*=!SSThjwWNr@o2bZh{0oZDZ#$oSq3dHZ2fBrCfn>rH1E+ z_8zhGS*FY%0whgzq-Lg<XpVKXS6q;=+}OnmZhwymm1uz9Grf9J3XeRtne4x8@JzDJxL43kMpZv|t4 z4B*fHvtdtze#>5EvrDt()9uDM?ywiyIBnI{%w*F1@y{2rt;ZMrx>1Vw@RCQ@*}1r* zO0>N7y3gEfa)HYg!A9xf&ILx-3C-sWW~S4;{l@geoW_xk^wjH_giY5I{Q5V}NVi$& z1I%6e#m^_m=N`^;_}0cGYmHfu5x!d^@EXLCHvpIi(ZBfVU_9RHy2kQ~o+K<15~B|? z0Ss#prZ1ko$Mn?TIkX*}R$HUA=?%HXZt1XaDP>F?yF_7=C~9t7Qf*76IAM~{S}e|+ z+`S)g^G+K@%%SBU4E4KPg?xt7^Ez2uknXvicDfPGZb+>e&~_sH09;>U83IEGCs46x zE)siH8hsPM%)}WCYv+1Kk&7Qx3H>b?5u_)Mk)Ax!%Tn7n3Ee|sX9s3vgL)Kn&NFf|dfvZitKwn3@9 zb5I!Fqi|-4rS}ro-pUuZX0Rbl7;!MwI6h=SOIIjz#4vr?t-x+SNh3cqomX`0x3S z=p8rCvN^o}&g(&o=qJbj1+U-#zY#LtGdB2ffJkWM>CC=Ee)<31vmdEjbkDqpefu9! z`sx!O!RDdf{?5bZeq~P%1)D#3lXz+Z7;W_%S1&fxn82SeZg zd>g=a-w$)MDZc;qJgL;lWg%}>wu2ZD4+yLr*+aPja*h|dMZV6!laOY zJmtrZbfl+Q&s@yrmfNi750~*62bo)XSkMGGF;&IwR_JsbWE2yGA-;EbcaHV4f+`el z-7{ES-x-gY9<&1OhRkiL8EVal<<)?CGsKTijNI)YaA{~S0uqUz08v;cj9SD|2PuPX zz?_@0DC8_=rwtH-QWP z{w!1rfyD3BX_T%JOOI4x2_rp)+RK_71s*}SNoU0Yz5u|oY&5l(ILHuK={#Ly24SQU ztEisZF4H1_uf-p2_j$n`KLOpX)is5C_gywOv)koYAemHno8WCKWDCpu{Ku1YVwL5t zh9clt`e66&L{8Fb#oSp*^P3N1f?&sb8%Fn-e)$}8@B9(-Z@s%cb(6pgDF-Ywj$w=?0pWK`kb3 zN-xTozzb2o`PKG*&P{NB`yUTl@ij8{Ds?ih?8)E>zOnr8AAX33h_#JXlg%@K#%8FKXAjskGx*Q{A*n0>4CrM z=S^1EV(N{MdVR7FXm;cWR|Yb&&d=GLI+fu;*`-oX9$ZregA1oKL!kMns`y3jZ+N)s z40?KRhzy(>&C(45uZ5MLBQszA4M_^Bn#!u+1F>9~SQMPd1V zo7MHv4@y56j0Zijl;#KT9{%1hl~u0ZFe#N)bbA@inx|dcz{r}M{KI#cx%d)#%EIq7 z(Nn1;HqEes1p&nA)y;!6w}mhuTXn%DY>>Wn7J&W>uz7~EycG={N&B?*^WP4 zIgORd@#@6q+wXN9!QcJ8Km;zWAWK@kMc(M}^2{2Raxkxh$LU5}Ext{m{y9qQA7uAk z?H;b*!?@7)s~Q%#<-g3E_CFk?n?1&J!2R}XW~}9C?+$j38!@GqTkpdleD?1!eB7Q^ zq(`*2T|M^~q|!zFjjKGj@_&x)$9wTVMJ?SxE#KUJ&-&;8Ip-E~)V{gH@-P2x{2(7u zzt5J<$DNIKOWSwZQ*PN@f9)MUxo1);hX^qq#^pofmCAyDy5!RBh7S#yVfYoYcd<=FC6m#} z=S*g%Z1Q=NTvo?09`79INJsiE=$Wu=I}+eQ=Y~+GTWm0<&-&Gd-LbNVg|Y zqBPLLZLH%q)&T~O^E0HUlg~BmwDCQaZh0N2T1LhZ=|Yhg zPsL2WltBsw%M>Vm&)JNnkg*_=Vc(=m5XF)pjBo-;6t}pxdWY`y59#U|j!kP6GA;;} zN=4zpYKP6u;*j-nOMY-|SA9>D<4Y-)77w3BuOBkEi!p>bSN{+DC6Un6|-MKaBJXo z6n)9ku^bC?_K;Pt-Uv_>g?d9{`F@8|rHSt?0if+-G(WhC5CToh0DG4M+e?lEAAS;0 zD(3);103Wi1{e7MwR0;f>NGS(aL2XOH zvXtbv*`ZjRAe+%hrc4^!3M7{h$ybqAm(CstD0Uh(?GieU2ITX*5+nzvdBy#|FmIs$3?HmqwoNZtLZ-g%rn^ zEM})oY+I$(j>%?{&%4nKsnrciWsO>0q1jZ(`c3a z5WMr|6bo~Mixs7Ak(pF==-gYr#cI3A`Qj?R4_B@U?%l5uOUd+9m!-ui@;QxfZaLh# zv#=%v4FCWj07*naRP*_&$}CfvCeNJ>SuW*}QgBlJh$(%ecYln$)O%}>gT6WS7wEdl z{GI;=BdCFttmWTe#Wk1=Ryh^l8`I|D`g<75=GHNxRJrFaaNJr)7s1f>18dCwt@$62 zUE3R~_Uls){WUlX-Z^e}1ETM(QH_tccpf@tb6gj@-VXH~wVCfRz4ABvQb&J3MkdXv zpTEbQU;hTb**uEbd<>S&L&a-8M4!)U%;x_b|MQ{u_JhngPI3_Z?7d?wj0lHGJaPof z4?3)_4KD=4aNX)-3n|V$mtk(^(OhV+-cb4K>ts=X3mhLtfAEt<=4QW}bw7`Eq$jPX z-m-b;o=>-Xo5gvXnduBETMPi^pz`0^xEx3F@#g`R>NJoYyI((GqMboCn+Tz!n+JnT zDZ?ZYk@S(GOW-w$V;?Jh49!rmi!&qZL<%7=ayf_~jt1QnRej8ObqK@63KPb+ka37m z6jV*a%H%kE(&G4{fn};Fia^x_9aqH*G+bY$-U?`SV!B@Put=GbLRN78_;^TkJ^1{} zAY^U znL3S?okr0;GWrkjI-9ty5?*IBx!yfDVj0J@AG8sojUuX~^Xs%W6$)7kQ&%vo6pp@# zYE7W(CO5-ZAOvZ7bi0yH{RYSwD>sXgo&YsV1Ppu<0!p_csvE;Ig)nG>9)h>?-fqBL zTC_R7l%kL~5JDlJOF*(z7Oa;%>Ww_jra~-lBgCm*m&vi^$`uqv;p+7zsx_C@^_}~1 zcWq2fUEuXsd={o*Wp$HJzc|SYCrV6B8e|BVtV^!mbqL)8>FkcX?iOf1(+20C%VFCJFhQ#oap`lP zjZ!i@QMdX6jW3D5?9ozHn2wc}u?W0ZxHyw(1nhWdM0wMsY9m%c}I{=de# z`AaT1A28qegd5f$a4}vPf8b*=e;ljC;oavftBe ze2M#^fe>j_HG`@y4uIw;$OM?1NezHzl24#bsp4!~FNZyHuI}>4dAy6*056=2c;TGG z${O5T&a+u_XfzJzmOD3-Is(lj9qAGD)LS;6M!BxwZ-3*CwPp?gW=}hiIeJwuInE`D zI)q`HIC7CPnfNK1fngWWZ5z!@p=iT_=BhSa&vLun;NV5bn`?EXY$22`s;(oH9ZQp< zfNmW=Rmv-;)+uIODs7vMW}3~m&1A;mSia7sFC~uCE9)@=GW(^b23`FW0kH(>TEubx z1TjX+0AC$+?~%R=Msh8T)Fi3GB35>aC~#198?RHLv3#FyH384rDV2$W&O~0rwpDap z#g8D2BsIrkqhsPa$-~yl%#xiwGXVa9+rVk85d|)(;_;F3p`qKRvs}loC+FrkcM1KZ zO}CvS1?kVwCxpt`(^<}*PNAs^n>B?}+1&=q-3r2+XxiYt==)!zC^<}XkvQIo7v2q- zdN2M4z_ulCTy*dP`0~1r-zg#EfY|Pf!$%yuZTYH~+(d&*Q-6lCeWLoQ33adx@@knz!xu z_h@qujoAO|{0~W=|3jv4{Uzzm{VfUykJ%gq$Km7pw#yOk4ed7!mrug7>FN{Qo%lY_ zm;P$c{df0s@@GG0^`lP)K=a75d8oIadCTUbls(yM^`Mr`ujXFnqx&(6vWTMW#Lka{ z%q_k1<`S8-#qGP!p{$pqLU6tf)f+z5n#)Eh$)4M61^E8xxzdqU^GHW}G#$a_AyuxZ zT>8Ssad+3)90trSX;v5AoI=V7(Q`N42FsvD6m^NC;cSDci8+k)B&u$qC>rVk9~QfH z7}%6?5?2@n!w-|aq=?a0WyRdPZ?C#Z9A<`+4fJa_WNyi@6LhLKxKWy-mWP zhGH0~RtkY2Xm=BrSD_)I=MZXuR$M~}1uHW{D!+)H&JzV5s%{c`U8bWOc(H}=MRZ+> z>kCvxpxGx!pR1u_A0Lcyl~F`(`3j-iBJ{dg`8hIECowZgf`T~oi98S0H1X<9TC3mS z)GI`ugV*tqQgZ&eB4QiTkPn%vi0pc#ceetSf`um3r!I*FzZkAJcl@U!<4YxU*zIqHr@KBMyT z^sS+N0q!(rIh9XbU`u7emFphm@^F^w-JmIDMBr_rDtSO6)sTs$Gre(p1INxP*Ely9 zqva=w8YSY|I&r&(40`+RGYkA;=`T>y)1>V*r#}5}_S|E0G z-@0?|&+${UA8;^9PBPDw3-DsZ{Ij-cxPh6_?oiCl;F0xyS zq871iU|0s4F@>UJ3H&Ny&>RbvqvW=#_}v!5kXWf{RNdbGQIvzH(eCjrQP3LNrYM6h zwL;M#4$+L^N&A7Mg!}K)CwuxBekVz^6Lkg?!;FH=Ex_!TW?D4MUlVNCu1uc1aS$NA zIfNn+Qbko&6iq=<6{O-~YBLC-B0QDO`h7xi4Kp)CDt`>kOi|+^0FmBBC<>-N{)sN* zkb3iTsJ=pKY92+m5|>pWn0etxxQ!B7EOuoR8f=+aU}5EI>i&GfgR8k1gQQBuRNC_pW1N?R`WBc`NW%{ zvGgLW-^IE98G6t~3taTDixLms|MAKPoY&V_IrHbV^B2f8z8-r%k57jOB|`+9v6dg} zD3sVE7Ai767#WSrwtN9(sJbHUFnXq0fvw_`=_jz8f0l-2F7m zk=6iY>bsI2uC7g?s;#kb34?$+E`i|FD8o>hnoLTUoH;$bSbC%*9qHk81e*s?c~kOF zpJWLG7a6ai8@(*Ay8tta>O@fsMNv?62m(PA^||at``0!!)6)o{qNoarYG9;hi6fUd zatQq{Zl^@x^(OIp3RO>ISa~!vi>8lvr3Fy6UF9UkgeJxDaOPeyVj>Uh374uqzI;W$ zG@}4gA_E^WA}i)7z#JNeY9QkC7%3fLte_|wLQxQkk5D9b=H#x}*74cx!bU)?`zZp2 z^u!6Q{0xeoBn^takfJi7~bvurH+NnZNP->-$}le4RTX2U|7k6 zcpEY$IGsDpzx+om&dk!@n5TKaiL<%m`qvMZ0QsE3;zFLKV=0yv2k+g5Y#l%F$(rM{ zNGq!3gO5x?XJ_HX^Dieu6)J``Nv3#Wz;!nAeN-if?dyoR$1l33l^3! z8VoKs6`U`xC)Z~3)zM}J0V42uZTWA&gRoVil|A<@!RFJUeC1O*+64C6=+Y{O*KS}O z7t1*cNJoL>sP>ZATQ!CshhjyiK!>T)ulC>hNZWdP>byRh`tQX4*H5cDQ5CR;AhTb) zL31GX(o$KN&v1Onek!e(M>^7xzI`3R<`_9{Otofm>yAdHx{jt7QMCp7*X8;FvtJ9d z2D7s!x~^d80z+5O`+frify58u?caVN2}4OMUZmdH0=pPcP_-0_Vi5R1s1pWkekL$xrMPM;_hQGI4Jp zPPK%VwlPzaqzh*;vT1}46B94vHfE^Y{1`}p6F>$!?rICgaET^-y0rwx?7}>DVV=U$ zOXL?{Kv8vs5U9Gr0{p&q=n;=^}i>fAZp4%?7fk)8EBY1(* zSNA#ggEV$=61$kVfIH<)+PD7!Rirt6GDC5~q>$f<6&A9&V`$xWqloH=btoc%`kzYE$eOz9Bz?owf`P6uKvvyaq zdbL9sOb`VShYFFe5c!}Qy&oOWN*EeU#6@PUDogAC7Y}CtgpRd9+FjlA+z+ECQhD$*4Z1!n&J>vdKKxK0ZKUhK4 z5|=(rKe@e6KVWXHe%qG9^pwf*MT^DxgT+Otrob{sl_E*NakFJ{??IjNW)shgh$TeP zuoY1;2Hk1HphFmRaNCLdp$tL>iar9N?||Xz;skmt^+EjXU!C#+KDS|M3SCX<)8pNqA+_L5=9g3Pu7i|h ztYpRctKeM-K+1snSGRGTVXN>c$lTdB!g|@0?_b~kTh%PG#nTv85}Pwn&ZM(J;5kTn z9{?SV^34)x&*-*#mN+zQ?DT7n6&P5vRJ2>(Sh+m&~+rge!qe1j&?V8ySJh5BhdBd_-*L1 zIC+fM-=4&%KA?K+k4cyR8X9XO+jx>X48S}TaPE@nC5g7I-tR}#ZVTmJ;Mq5=-`?$T zF`JK5bHNIhR~g;S)4>iP^qxsPs~K*~V~90iz*^A^V!EvBao zZ0pIc#)r%2jXVzTdw%iKYrt zwnoZQ>ADeJC#3B}G};keFQ)0*gkeM+hdozS4Mo+^%{*4NXH}Et$o9uc9%99RD^u$z z1x_~s$~Z*E5i$<9tyWS-16J5A2_bm?)C@uhZrt`z^#Y1wB7}h=lJk)G2og)2q6s3s zOzzkT+~y{lkwQih)tlD|+Vk7l_WGr3r%??JZL)-B4}MO~yPL@EMFfTX>Es%krirR5 zV!@Qr@lt2xJY{9IB^)_w_NIX%QV-%LdtkwTF`e{FNYOkSOv1h zbEsN!E&5|KrMt}JgvtDzy=|?mH+)(?+*plJj0~BD*HOYI(#Uf$^9h=Gd@*YuU(T}G z7`&cavCLbEfPANnq37r{%fxZa;)2E5(-{;^W4S$tT0F_i>CZ6Ky-R*LF8uP>4P19P zV{#DQ9(jxqIG???#2&)=J6cII%;`Xe3b zNWY)@PQhlWlGN98oEY8MNlIc{F)y6!Fgf8NP$_Q)JXi@H3NTL{w-0Q+d{WvEKDWR# z_5)@nEq?Uopj&CV>T&CSo7M7;6Kim1tw9_PpLb!>=IytpnaOLEns9B!#U)MPw$QCC znw3Qnlcc5#2vxyv*YMjl3MXGh08!APvtFWG*(7w@gq}y}CO-h0Wp4lEXBO}~lJ#pJ z0$}Lp08lj*E2p3t8H7-_A=5G?FP?$P0$6*@GhAPCV=d;wl14j9bGJE3H%fD{cmrEI zToS2KDs5_fdTls?L*UnY_n0Jfml4Vwg>;S6CvA=`?EK%Z)Ka8U3U|845%vrh%nvZc z=-O+JBly+(CXUlr)@BS~ZYgD}eDCc7vonMDdn3%!h;l6G>(r_qzxl@vG$r|;Di{^! z?b}RREi5JZ-~6=j4rk|bn5&mDn`;jZn-2>oj|!W$!UZPk2ai)751aiR>@Iz>A8hW9 z;T$#CVJvvkFtX<{&nj&0+Tr&WHs!GWegABHO*J(DBnnlj&me zFj*}-td?9ZoEer_<>0k3(!&o~-JWLkvyVr%{gWTgqN;+Mw_9wK9h~(#QYI4wp(rS-ilS-+ zuEX4{&D(EGlglRmnqEt=aXkXPg$O5c0HJq@e2?^rueSRzGgI3x(5jIkcRWMx_-TX~ zT{dP*K}o?#dC02?h(_`r`Kg!CjKR1}MZ~DA@#8n=F^&CU-!cTRoKOKtUTO2vM2G9^ z3ZGZcquUu?O zH<`Nj*ZcPWICUs@+7Zlm7|=YNc0=QS=~wz=IK_zlAAhXo?w*hIWc4&&;~@?|TqME4 z`gqK3T7Sh!bCykwO0;aO#lX=vRvs> zZ+NsjF=5yr(vf^-LV;!znoZ>hHjnhw=$VI2$A$Ml@ac5JA;{b<-Q02;eD(lyFO7rG zTGMByxc50MOxr9>4`-U4%T&l1ZEoD_&~+oEwS;OEP_zTM%?N>&og?&GgnnmWlZ*ob zFW63Oq-h$&5RS0$fl3?&5Cug0d}j(J0a0K8Of@63uT@nj0&~hh2o)KdKz1Zh?%lsa zcK$eir%upydgD-$k&j{O7?#1?Z`w!+t{bsYiMU%GOvH3hYK7D)x8c4M=Dx2)6 zn9flraM1UTbfm*;_nrB$ch^7D(=+WxTdu@>`ele0942$A zB#t|TVfC2?%x_CwM{;*nuv~+{ZvtRg1Za6s((pkql@o_1NAAB zs5MC#-bDxvDSZ@?LDhEdeLba-I?*CMc^oTO#LN~^jWH!_dTQML2EW}%GPQOmi2VTH z-$2n6GP;ZOO4zo>i|2DAEp^SNLai=XUGK2DnOG2~ra~^h>|=K)wD3M-zp7PBmfs-so2(3nDVsIg#A2hc#Hzj%N<^8|f{`yjl!m0NVib^h} z@q(FHr$75rpx1=nv5jxPxAA_UA%8(et78giH2Eyodj^r=OuoLs}~*(RCd zYh>p0IMoJgAKoGAbBFhXZ%C&MzV~*H*_oZpy|s-dAAMX$5wrYo=GO;uqkSBc)dRON zV!yTL{x$R8{M$$FYcOte2PzX--@|?=4;rU=z;Wz#Ee`8SyO&GoLvDK<8ggsh!!`D4 zaicx#HGYzAv|DWq-Fe@#3vGYP2X&*p^5R?QX>$NDkF>wKj^x8j9vh`yVNJ?#c+$IX z`W#=1SXon8Sse$Jdut0S`;$7FhDs)*kcRl256!D;V&&9~3?PZa9T(5$atnk?adI~E&kD?BKsT!#{giw=`FOf?W zbcvlb?dGS*SfJT9(=S}aX_g7x9z@#(jMN00nMO6zX#0TLZpnD>xYIZYk&%QrP72-Y zK1hiqN#?T^Tk5yFcr}eUjERDXIE;vc5ZAeiN>bZZH53$0LD2<@rXWQFE31&2IE$hw z1acFvQzedktlSi-;sRD~Y6w1qZj;b+Q4|%;P7`{~?QO5fk5I&})md!5`6gg(S)w94n1!j!%>awv{(^Zr!yhl{Jj{I)*t%(3LdrH3u6Jg4A?OW9=45iJi)0 zW(Pm(QJ}e{fA-V;{mZ^y4rry{Ag@$8nX6!{$%03#4J)gH)is07T5=z60VcrWg30-_ z=Dv^#P%5i@^yyB_XBe)as2a1cUO+|~`O{N$HmaLh0_Xh;{}oGL|F@6ak3^Dr`=@lj{E*n~?z{iE z@g&+StF7p@`w#%|jKQW9D)sz%ChCI;V2)t(5&M;+@2YP*UbDaDgTkiwz1N9mCJ(gl zkrE}=OrNfkd>Equ^I^3gRL)G<C`i~>`|$zeDZ~d=g%D|esFg! z%#^M2&g+FEz$CE@U%Q!nIX?fK%Jk&UmszRo@!Jox_(2l0=?6*dRZtPAhKiojPz{wh z^l;l7xb2OBw*97tp7pogS-0F=RnGz|+SC8;idg{oTE z#RX&>(yrX5Q(YcB-bkStDKs;UVHbKJn!I;dDY^!I_pFS2FLqf}%?xBm8tY%|9VhX- z8@sk83j(@QNL~gi5fP5ROs8_6PUU{@d~B@T6xrFtmAwAo3T~r>m7BrN9K*=lz4NuX zD*kAohrmg|PM!==-71;1Ptf(~w!T8f5xSj1w{2!KJ}Xkbj=2X?u^OG&qUm+2{s>FEsX_5CfHTbe19fc+o%7mn+|m$ZTu z*Bi%qx$q5}n+jKN=#%@Hed4tvUITq(*UVAkpWhc|S zQd#Y_(<`kL?pVGRW~h8sB6rH7w!A|7L5JdVC)vF54UwNDDjEPyM*|ng*8l(@07*na zRPd|!bzFB2MT5*-a&B9osY;K(Exk(ATc}B!5kD+m-uL_uqla~;)%M6BeOPtB{E*aJ zKcRc+ePXA}-p+~pl}Fk7-4CAZ`un@9$jH-Jc#nzY|MFh`z3d@`j;<#$2GYI>B%rxl zQU*j(n<#1{rB6&diIeQxM^zQHoQ2UV+ajevXeo4a0y8y@W~B#axp5pqU~p)Sm?_7x zkBlQcw}cn09llLK*HnUFbm@$d!#Kb`LQzpQlhE&?+j&&gKqzYOM?)wox|JhUSU~hF z#7If~-q!?flgJYUT@NcY1HIBdakiKA#}`CRWuyz1*G%FQLwOZsjG`zMrt?HOlXN

OMY^emNL0B!4e7=oWB9!tF>9GO^x)@463PPW`_TVgKmdA@Bflcd41^f z`PYATjLnA5$Cs0=%Hu$D2Qr7B`Wq#mtJfW*oZ;QKd~AELk5XCX>+2>>$H177)b8F% z?oR354d(a;Lfck z*{sRT>;!9_1j@HS(=uXSINoG3KiY-+%LjARyUAiq=(Pv7z0>_SdyZ+G9?orbe_c88 zpRiC!k^lTJ$22>-;bc6cicIVt&p6=h-?r1vL%Fd&BW|>=ImLtNACr!n%&+}&MEgf> zw2#tne~ry;+xec4_@~E>w)-bP1?`!!Lu_kxP2t9^Ru3{01;I^(5X{Y3yz^F$l>O)) z3#GE)!%H5Hd-#mJzW?R+-k&ZM@PxUv-Ue?USdf6n7J4ku( zmD%3~XqKw#|Iglg2T79M_nn`YzFb#V`{}VeGdpHy4Hvsu>@Icz2%t!cB6t9gH}2Q<3@Qy6Ispq(`^9h)na z^r6&xHZ3&vGhc^zH70Bt0G&;ow;3|cj8EimpkMPpBQDvD)f{A7 zWIU4~QUswSh!m?ei}~f_XuV2YUngvoNunw;2{0`W+a1Bn>^@$%pOUyv5><)(GNE7I z^0}4Yy{qi;eHK~Q#A_+}ic)bd01eA%E23n=pg)k&wprwH~ zTBk5MhMg(lS7))ag*1j#7&w{UWHl=8y*~1j2U&dWCR)e1Ua<|D0AhWTSXI#5WcRh) zSsJxfCMU8SI*@Hz$}F;Z2hVN|UBc$S4TxrWb8Uq3(ki$G@`aPUHu^0HL*hF(P^@8? z9&WyW9FU#Oaq#KK30BuxyFNpGX#s$V36Dl>b7O5BZ^R|6uV5$(tu>}=V>&jLxz0le zHRGkNmdu7P`Rem)ES5toGrc~af6?KC&!iV|$IUf`$wXeqD(u6}=ZR|prnwK>^4Xl# zV{s|uxwC71K@-x+FDaMW?^~dm$(T%zJB*JxkL5!Kqa`H%#jQ1=?CXe!KsQNl`t&FU$prig) z{$1-1YkfR$<1;Kz|0wb3eb~#_cGv-%cGAz5)Nf$fT>_FGW-BlczY~>@3fXGf{T~y?M&sZ?CU9Hru9J2oX++nS!<~` z^J~aMXKZ#d>R!7cxpqB+A9&3+UfX_yZS>@ON12+u{cxN;?de|ByVkN9gn}=8IqtD$ zZs#7m8x;!{-}aHWFK~N1t*objxwK+#aXqu0t%GiVxk?=OKNZisZ-cSX!KZ0y1#a93 zSS*hcMQL_MVWcyjS_@2T6=7N!h6$>GVF?TyEZ4wv1i~2nIJE4}>|NCGX)JdvG)e_1 z)o4S%?GEE+M-fJEUk^=eFga#0KDs+gp!PCr3 zWrOEm>?DfWET`z><{d^3J%Z6Sv#ex2&i-Gr_5Z;e0z zNfe@0dJIhi%uIo#zJ|uc&K1x~5!IJ^_Wd5`~<6~53LbQZTM)T;yA^WE#v-5)U7uQ%SuVI=e`W}ZQnQQ;8^#)TDS&khY zVshNMzp~3CF5?r zc9KY9IVL&^k=147>e4{?e5b6N%Ffc*|0ua@U)rY0-uTMizVrdkzLw3++Dd(26U*jy z+q?soO=V@NO+Q0^?u!`7V0Yy`%jVtfcXJzGujD}8t=|g?f*QW&rB^~`<|GHEO^zJ4 zIWWETzS-+4+mTGJpwVb8IC+1TWA|klE}Cp?2v*hvOXb0tUo)A6Z~jn3W}7VPE%||< zT+z(TF0s7ov%bE2uO@)0$t>Ueq5ZeD&7SsjFY8?io8@K63on;QWP+4I6Eb%Xn6@o& zY@_GZwhS^EgNGj|yn{VYt(Z3#ZB{mn_Jg7yTyB<(5*n+Go`*}KZep4S*^K6qhbJjy z6LMZmJ+P@ZEEdWMi_0pVkKf@eI^JZOgvRV2Am0s@+iC9NpCGVMD!?#Os4#6WO`c=- zpQW?yQN~IkkDgo^*zU@D!i{o~x;~OF&nvbeP~1-231T!_+cm zngZLi7&&r;P*w=T{sUak%U}wHRDwhcgw=^{6_!m#B;<}h)!9JHPI&<%t;Z@OpCt6r z{u=WyyiC;Crp~4?dmz&gHl~@bKYDr?w9WGQmbJU{6`~TidvV;55TyNXH4378wMuSZ)4A!SV#L(hbw*}3#{lUbz2b()D z?pylg9)V5&ku&HcyD!1T#C>- z#1H~u>>lb4ADriXj}Py>Vjr!oN35&{EH3%1Z$xZVW1^^kc*8e;X#bv7b5DP+^saNG zy?Vo8b!`>LzK)cVBvH7Iz$@5fJcDe;q>#689D!{K?55jd_v_bMORE-h6^o^nW<5u} zJHYIg=~%eMfYzfy7#5a&x}Bx;t?T`_+wu9)hRdi4ly?^!;N{2gHx_VnqgZxsTfppA zW!0s!?oh}kTjEo1&WFsEBPy#K2xB&Vz#3jN>5T$(I|0saBn%s^`umA`-cd|*h}kmC zHd#WL5JWyhxxtBNTAC_ZOqJ4~&01ZtTouf%7tq4O$sNRUa`*}ONtU8j!C`|x{;W$B z=Sbugw3g&Xrc=N?{IM-1TOxmjsJ=`bR#CEdwp94(1J-5?y`fmGznFff!X%mDX}m(` z0qlMT)MK3QsbOB z?sM&i&+_Vip!0BUK_4jg;wcCXt#T@KLe3J!k@Pd<8IjAhV_F zY=hGAA)JCkRE+>Z7`=`VqAzG}hRl{M^X`&6Yz9q$f_;mJ9^4)@*BV|MG&_*#((Mks zR5mzwu~YXG;MU9nJh6441gYh`hBy!CGU&y~>DN#WT0@$-V;#0rjKL zlDT;n5pND55Pe>EYq8vJ-FMcX_3Pj*yG1v~o@Hw3rP~9|ucPiX`|-O;gPghF&3b8J zibs!p?e@306!X@FgvF)a=R$X8*IP3;SXgX%sB~OqTN1*?FebTlrM2z$`;4Mjda}M2 zhg?QSay)dVw9QuAYq;nzTy!{kq!Z>6MUstb%=&u7%v_yYvo($!F6@Ekp8nkFU1{08 z7qnV+xVd1mxFQe;Onc`nxjXCaITfa3f!O+p>n^Wxr_z0`bSjP*2$Lk;pAcL@RJx;?|PBHLRhQxST9>@ z0j5?liL8>u8_1*?e`jliqto-gPOYlh;$iH30WA~If+VO@Te?oLu}HRf z6fZl8WlGK*DpSgDb(fr5Fu8uC#{6OjWF2=6rFz}b`$6W!c-pUxhQZvj&E!ZzDJLnf zMttSPGFE94tOUK9w%xLn0|--+#A}QWX&ybJ@%qe>Gy>JWZfbSGd^zOu)hfh?x2)@A zJ+h@Cyh4`7+6v3FuVb4>wl><-=mSNxG+4Q?N))FhL^gxwAjoX#zQZ<8Ju$THI)k(s zG(AW0z~K!>hIXECxwJS+6ea8{)fvh6x_*}{@aDM<%FCVE{v^4H5HLOE@PYT|de(3F ziqC$2l_2QEN5@HTc_7b>8TJC67`f21{BCY%%E}NPdm8WjXE!z3uTilHN;XBy4J4NB z5%7*Ji|?@IZMUCq)>{5J!?nvhuD6{FZJ)RAm}RqX+uOC#fAQDNvbn`(eveo-Kc!Cb z@sA(edBwZb;!?z$=X{pR5r`DNHkS@blB?KuZx}>3WLnnX=Q(VJ%CtVE&2Z6UV%%e- z1UqhJHGQ{3>Ax9xpa}=`1SvX#f61|>l>!YxBumj^2C!*F*-KJ+{_H0 z{o_C6t6$z4D)M&8G)=zq#;V(YOPY}R0&E+lnhAXbcWt?ve@nrw%c)$cDy1VaSh8QA_ zR*9o!WYR#%)M{dw8Bh&o7w%*Klwx7Yp-#R%UXP$p=4t+kmN6n!z_tt|8+(x=%(Q9YInJ5JHfdN}(pGF5)kAAUj&Q3fT>8 z+h$}qk2UfbZaz%SB4LRRkWU^#FR4XS`AohLKt{9kI@%4=M^djn@@lSg%X!zD=zFvp`J0 z21^y6m6ecrL1y|pX+h@Xgu|Ir zE|U|zkAsG<_~Xwn69#D_q|K1ol5kwyQik%_(@alinZK3r=H(psXJ2K+Uc4jAr-=P6 zpxI|F=t=4$HhtD_edrzBzZ-0h{q=TR_I3lBZ@1pPNB7T%?&R1X-}lZA3md-TtIt~kV%M=LAtHwVp>^DE1SmH8CD9u!hq(h5CVjOz-ZQn-1$7D z5IfxdyIV?cL#j<#PL9mbKI&`fAh}V!+;qk5eFV#-ifvAE_SHNuy}61?hJYNF4K-g8 zCk<>%u@+>xek*1r_Q((K!?lLeRKDA&IQ5=(-&GP)U%k;6FsY9qRh3wlkzsiYTzYPr zU}<91VW?n{&!xw2V7rXoxlkii$FSg zu^BMCl>`l{i|0~zcH?Mg`2f(&WDLef>l`^e&VgwcxU&QsYxNB0XU6XsH2Z0(Z1Vhz z4t~&qOn_|0tfKR)f6m{48eu&dAKWINl-9w{2 z-MzNE+TQJYWFp!12Y<4?Sg z*Is>v*Is!UfdBOA-{xQZt6$>4!GqkmetpaOr_Y?>^aE%3*}wl&RI3{RRLW%*=I8n3 zFZ@Hk^rwGHrLwgW!rkcP>C@bQ;v_%)1&|MJojT5CT3-QTkZn|Gq6isFTrBYaoISgA0v?(r35lrManu#hiDa{_14U2Q5Tyz`OazAN+MMq8P|bT*rptyFl?0SZCl9z zB?IDc9m8<@y6<*&rctWnswsq-f@d2*jUGTXO}81ln#0XbqV)E)3Tv#iHHurx;0?K)T?El`;L8d!fYch|_2&A6<2;lKi5jbzj!k2A z9@#8ducbsayc8~@5UqM4rUjS#CS1lx96YZ-)Q*k1R5o&i{ybBo8|<6TllM$yd=w!J z48y=Q4Js9bH)d)qE(MszL4*~93~)+C>MJ+!vWGDo$=bCU?9pMykK{2-MYtZYey!so zeY=p^a*Gnpbc}Ca%A%wuGp;Z#57QdM$>j-aRs5PJT;CuGea>Gg;@1>Xma)v#Emi7nkP180h?i=3%nNhIXp2U%H|0G$P)mZegn(g+3Os!{l>WNeAo3zPf z3}E;1KCfLHMJd7QL#w#9B#bT2&y2HHPfL}wVl*E(v^{A0fuK?m%*@qUUQWF&Mn@Bl z-6sLTxr=T)E;H$}ObTK0O%LaooY*=jiy}CG5wtR}?HTq@d+eLC87Wy5hk73w<%+?Z z=Qk)YuGh>hV2Ru7GK5@+n0&%d);esn}%(@Be1!+lX&h-ZhVSibTav0q0kiD3woO0S!t zyhW*KF*&|HT=vuSc#Yv4WHZB5t2WCOSY8QOS@o&ax?MRln9XLBXa?K9pLpE{hNw5v zb72pqR#zQ`xT8auZrb;5$OJfZD#Mvm9Sh~+lH#ok@fOH59UC{FAv3apY3FbzhOxcO zmdv~EaF*QRqXmPd zyS?B3YRzSNBfVZ;yfn_SeH&a^94AiFe#hZDN^1O-WnS|WKJ-k-1$#4G`a$bjY}S2? z&$C{InYlB)$1S;uosqL`_agju3>c!BKB4p4Kr+)sb=?DSKxs;zl}XaqM)Er|rQmdj0g+gJX=9JZ9%(mR1~A z*L#7cyrNmHrg3>mko3elKw9%M^`VtWxki%ox@rzGIK~YytfVK&Og|aILueOMln8?v zw2GTBnKa#illJ@V)Phvcezd*p^yw82PMOSA6gO7VI6=!Ty)6li05T;5rJ9+76(|Wh z(W!g0iqSHQWsj%zMukX^l@K5_mY2tJ4inZFSzmYqCp$v6cmOBcn-D4qms_E;SkB;w zVe!Ce$`_sk;K36`CMQgWb^!iP@oCM@d*|>QR)2(8;P?)&C4S)S)xC%3`!BBue7#41^KyJK%Gc?4dKlmMl zuo1!_TNom1oxt&i2^y;e)f6gu?I)a>LV1du2v*K85CFLhJW% zQ9Q(ABtb%^=#Zas5zawczpSWUBYXKXJoo$p)~4E;j(v-acYA5_!`S59%~H?%w{Dhz z1j97jpt-ToK*=miK3uuxvs7-dRPl+z);aE2Zlm~or%%pS$ZRR+M%WX_sIOJ1t7quKsKnBWjIIVvVHj#$n8A zIYKU8Cm;5U6Wu9mOmAtFUg+EmmwKD!UnAXXG_t21)z4A;o;k(a(%|iDZa!{<<{(A! zrS{)?fCtm$M23m+-PP*e)1KZ*9X)o8C!czng9i`s!gE`pt);71ukik7KR_mv!S_4k zsL81*_8&ON^{Z(j$G`TYe}g~!!sq#qpZ=}(It%mjT)c3BU--p;#QfYW7cX4c(tckF zPy;fDNtJqcDy2}Wcb!}=&-Z-a_w$FJ`Tcif((xM#HkT@j^A{7!%V`b1evsL%mtW6r zni?JimsONXle7pSdQOC4j9_glouDa0+!>Hr)+C8|ZD2nH5GNL|pEoG4Y=s2N?#2)~XQm)^D?QZHW-nx>Qo0PHiXleYR>sYMDdi%DVPQLyw9A(Wu(K5e4i*J+qY(Q( z!Nw{o8fRt}45LUG!B<|eKxpjzIJt=mLsKWP`=yQDq&Qh3J5_3r$Sfz1mC0i|8HCZf zC6(?whUI!Vj!k~(k)Ae$U88iogek|cTpMA5J>r3=V|W^m&Tle5dKm3H+%VGf;W`cl zQ&Dx(3gX%>X3@Qr^HakMPnfSz6XZ=!HuF+dfGWU+4>V z0Q;vSP985|T6tcZ$x%8q%?F>%GF<3fSBpzA&z-IHxVX(Pn9MJjm?oUN=nS-CLJFBt ze7@Z`$9bULpWVcWwzO0hoV#S8)d;1DNiGk66ro}o3omgbnWtn|aE;CGJ%h@dY?CH+ z;PQJ43-&WmSX;K`?-;o8-!j8Alxw{u;J#bKuRrTOh!ktjFhq@ ziNX0xNq@-fl4W%Pr+yfXBn+;gWPp?JTF*ShxlQ-n&4Af0+cWWNw~(q%>rs{_(aJ(W;ehfz{46E7KCVVQHFnT<74UMWH7iTI6t-#ukT}(Pd z-OMO@xPe>`5M9HS&7cVoM(IR`VYp}%mgVAlCxCr`rYppND7t_UCYF=I_0oRWxeA7v z!4P9uj)gFa?e$HaBce>UG>Q-oVXa1f%0fmkH1$B2)w0*!Rmq4rSSM^O69?-E!yr30 zMd82{HYJ2Gaf=gJZl3M5|ACK?n6o&ZgRlgKB@nhCH}>s>wSL#2gIg$IIa!jhiq;Wv zw1LX($MN!5ULLfj+Er{@2xzR#P_Ntqz$=bp+G&C*VOmHXaQr)-LYM|oz25f4HVnAz zW-wGjhSVyaSPoYvzn5c+pQhm}UVJ5Bb}r)Jfefcl{a$o!C(-BG?dU2?BxD zH9%`YTq~YiYaheNAVdKntTxz5HG^9$P#itP$*CHLr#jb87#nB|;;_oKl>oUnNEy*aX({*y?HOCfKZlPs@{VmX5G6Z@$< zHY5R|AG20D#4DuNzH0;&?G=t>USq^rR0A7oOdZX~N~J8!VPnYtZz*>|Slk zJ-zF6_3~vt{hPnRU;i6F))zLl*8I!=?Vs~~KlnrZ^e2A~$FT|g0Mj)2=l|h<0bt+s zG^T0t&;G@~9Jrr1UVn|Lef#*ufAYWfEI)Mk2!HWgzYTy&rOYRO;(tafjX9voglU*t ztd@ns5I^~ePqJL8@GHOcueMk`-!9$ru(?#xy!c8?y&>-mGKC-tuc1`1B?IVz=?sSs zU*H*nluOJ?6)VPXgmMSzZT*lqzKI&LA`0p{jDTaJyX zbJ))GwwYbGJm|zm&!?6>I0n)*hcV5qRzWX&6f+uJ?qjoTXMBh3vl9SFl}p`nkw{r1 zY-T6zC&Ns^vjwEt;$cjyw~km6*GZx}GV+m0z3uv|nk7`yk}@fYr5SY7Ou9xZo33FZ z3>(YNW7;`PI|IVN^(GO*Aqp#)W*()Q33LpBQZYfJLeQuTgiph8K__HJMrmg))f${aQej#k z)jTqZ@N%PAj>ND`Y}>>jw>tT^^VajZ<1%*a8^UDkU8n0Vq8kd_^hkx%T$X;P~=!E_2KMr`sC7p6nxuY#7CZULu| zNs}eD%FhUa=~~crQ_YS{;ucEHYr(*BGqfN@2!SvS3XRJwuWnGQH;{3NiX&taVOkD` z?O@t2u4QpZ-C!XUJpV$2dLzLy_fuXmh^}v~x!D5Emb{{7=*T37a9DWjd160J6r{D! z)MSq1M@JbMcDZ^p`W;Pl2H1K`>U-FOp`Jwr9{ zm@f;Sf4+Za$R24;oLudCn`zi2Q!zsmZCPiEL=_}~MW zwv9{zWE4=o@*+vpiMx$}Y5+6UX?*Z0@En_nL)M-z97|e9dS7WSt=F z)bia4FmpMReAc8iY_oqlg~~m++*3b2{+Tb{_BMa3eB-v(|LZ^egIkt8`Skla{lFQ1 z?ce^Jp5^7GMO??hG|j&8nZEDyYybA&@bCZKuae8>`Ne_9bP=cUZt;*43$NO%dFBI5VUvIx3E|vJHPkfSFw{G#Pzw*nd0r918 zhwfR}^nEz{O3YG4Vp>yoRPQpiT!tuBYg;cT#$65_$Z}x1-;K^?Z7o9_ztyIH$DM40 z<{-%Img646&2oNIz;SP5|A00+0n0-5w`Q3} zp&9oX0~UsnMe7J{_(<7X4o1lkB}0;^iecJl9g`hCKv-KLtd~jRI+mSFT{O)Sh8!hI zu9GCyzWdfPA|1x|>6e-5Q{qISWJHv#q`)c!hO_A+>;s>+SHR7WlPOHnZE_T*iD`8K zyp?V5bL1$ozxIcG^B#u~F7hJh91sbvw5teHLLzq?;Z?r^y)MEMaO@uj*jZG$Z zs>e;WpQ2MAm-BV&o38NzaNxcL#>!dM$(!|F!!ds@gOBC1Cu!8&#}k6ReVu&mS~t29bV zRFbeUf0M{xL54mu3P>U!%gNwna@d|rK4UZC-eAI}?Qz^vn1qB0gbAonbM_6NN+rfL zrrVQJ+0xeg$!5@OpM%v3`Gfn}|DN|zKL0#fqt2O=;|v#F)~gmTzwS|486tCVnf&N! zM()24JDV98n0;aNqnun$A4uaP9+d#%aFs7VS0(ay&I}nRmjR6@Bh;zk_HRQ7T2%G=JaRKy~@YG`+Ldf^VGT$1x-v$GB!TW>};CjV{~kcpZb}f<>LAC{QH0RtM7Pn zxO);dE6WCFUx^8#am?HJ23iFu?W1I^E50$|iN{9SH|dh`w!g`qxyD5$iP^a~#_qMi_P)AE)AWP0)5dP|U8lR?+opwrg~1t(t(TL4&55b=Pb(GnXoo z#3zY+!Pc;Ba;5#4b_OK_lEx}=SWV*vRRjnO%fT=m9B&x6(7dh$Js^5DYR0_|!Pu$v zSSp#Ik{HJw!L&Q;j^2NepuE+h){?RpFr6H>J%MREIHLCkY1%m~H?{1lB*8Dw64h5z z>#$6aN$Tbl`w_A>MigD)*kAlM@>2(h8tWLQO;lfRT8T}BVPKdRqWQzsGC|1%trS|N z^=4abD;cAuBv`LdUztHA-5Js}LYdUc*Qk}RHT&w}4ULhXJVbTzCQ*HjB&cC|dF)J{ zY-t~1Z3EMC5oT(cm64B(eWKbL%dc07qgfI^!Sqaug&Ge(?lYF({^90Ypkl@9s^qmd zVuE12#}m!YSlF4~8`U7tR5GT%et}TUGJ5z44nFa19F|`u3gGN3*>)KdfQ_p@Y+S&v zU7#>FO=kQM+0p5~?Y8vDi2{pjWnMZDFo9+D|86N@cBFNLW1s9@NtkyOmkF&BIS~TE zdmqaZ<8gTj>esUCQ5htBerM?=7H~KrISD8<2d^cBApCtyqYq@9Ad;F_Id@kd~4fdu%~Za4a$#vJNmj=t?$yZdH*q&`;P^{&J*drFL?1)2c_YC zkA-A*@AR^#Kd0J7iS~Cymo8r5#TTCE@Bi%2wc{@zdib08*mr$5zx03n@9p)T`M?MH z(1$<5KmLcm(6jxi(+}|E)9>dOf9{i8!0uQ7&tK*fKl}5Hk5BNWKl@YG*Vj09{C>Xo z`+tBJ&py9v&}{Yd)t6u5r$71g{Pu7BIt%mj96WT0@B1r1#87V&I zE}TEdZ~x|}@G_a6HvGohKXEF4|Sx0Fftp>-}eBXC% zO|UXZOBK!8R}vZxdE1b=ofUI4WNubBbZQkNdayUK(3z7qGqU(~{e6%WYJ#zWf?-xHe$DB3^D1)ABGZ6VoUlyky(V zrY$L{Se;9Y?iPk0#I}d;c-AHb%eV)KwU#L9BTN%Fzcp!rFijk944DM@jT;2DCA`8U z!xImXhV~gC3=Cs?bG%Xs{>B_(z0w|lo0f~^4q=!!rk%mGGwpV?R&5KSPNKBts!}Kw zqSavc2-EeN2{{eWss}JPD`_<0Hi-xut8C1y68blY{Q%3$ktvSijOoWz6cw9ATgcdj^<>w(QdpqWH< z8XK1&$>2`p85%o@VcSGA7g$;9wH_i21e&Lx%#$k`ys-d5oF1F(=rlw7j^PcrGR; z&{RoGb?IduKQ)1Y=E}7OOO=4A%PkK;s&YH|RZCGcI1!sE1cs3#;~ZezeTxTjSLqL& z>9WnY48w7$yze^!$j{7DJM>}lum2{*n=G5#TzUgP+HRX2Ze4E|klcx7bIT^Xv4jrj zZ@>NDu3PKv?QeI>ZhLS9Ndx;4Z@#{BQpd+P(uD?}@2Lz3)NLfXzwB&?FqE&ix&Sq_%dVCzy za=ChAgQaqnAe3mW(b{af4BO3kL_3XnG(0RjPaLfh$7?w5D7HI>Au@e>)GbY|`W8vN zj_nL#d!?oob<=lnx37sA2WzY@rh`LEJc#8QIE4)?I|XYuGllT{zT4W~_Oqs|voE2g zBtMk8<@FoLC>bDSfJ)MsPSt`+9k&4!Ko~Z{uraMHhGAn^4wmC$I_Yr|!o+kv43WVw zU9?%nFkB2XgK6Jgs&=gvLKtYRP%=(qP~!$N35bJrWYgMbS}sm@6t9rFH=BmN#jR2+ z*(p<_ViX+!+zv3i)q+igAP(0^!j4rZH+Blcw2;jSi1gTo$iye~%L6ACwv%i`eL>Z; z1tSH6k%CFq6?m>7W2Z@a!bA`x;3tBmnqbA>YQ2-8q&{O22TRCMAq)ew#xgr@!{77q z-r2pmd4n6b8k_1{LLz6e%nk^}$t7$%Et6trEQ(W|W7-cilc-MUFCpV~RPZ1Ghwt-Q zsQB0=1Irv|w)5`GCZ&_|*(ig6c5(J%kU*7OIrF}=JFU`}auaX~r zkj!`yL_%%uCe<5@WX30`mzSw6%@f!AmmC04I>2=v?(KKeWp-kGXP4QAuX+B(kmVIg zl4uOkxre$1kJ00kD4Cw;)wx#*D}yKU;^fUfzvpz+y?MD|6w~-?kwu6MhS8a{`^Yov z3=gHhak;)iw0MhTtyR}gY&$`vH7q{xgG|2lsXiYL-0Y5Ev$emw`FuC}MuN@Kw|tD% zKm7l;UH_egO|APlW8WjN+4znRvn8v~+pNu?nav13@YyWJRX3SoWGRZ z7G&BPt6d0wvsG~rU~Y!X&04R#N)m0*o`DwvQ=CB<8pBjP_DG#v)+FnJR0^duQ6!mJ z2)TOGM=OO)8kklV)5>9*Sq!5Kgv{Fu3^uK;K)MrL_WfSVZz1bb6c1Q9&KNlLbl^{# z1jw}StbnuDig>*XRD~i8=8$nMwN~oX9Tu%nGC{`8fwnN4gVSb`AYmdb5Qd5E4q3)4qD%s0?4yzZ!}6N@5Exwvkm7J7bv@NGbvadW^Si{v z!3J)A9LF2(o9#6UmzoK4JS?}cBVhLG_HGwiCCE4+4y#1|3jX>mDoHSG3&VCW?5)Sh z%}iqmizL|~T8)rFfaPXzGB(F1DvS-Kuo;9J&)t4-5`=Jd*5=YRo2Y7Hvr2bC zW~V8W)^FXLx`mrLOt?`)$yG#jA5I~|(7_U8j}0@PH3XYZ8Q#AdsxB$AqC~bxm+BRf(7zL0ZdU4A=#VD(DPY(ZrrAIk>Eq;$D;AwcOAByKz`@NHu-(ZWGQw^z zDeDNK+t$8*V3~x=J@3svH5Y~MJr1LXPlEO^EIW0P6`8li?Nj9YBa;xdshomJf~J*KlEh0SVJ)@5HUU#_2||~k6>(T=p6@gxuA3Xd$rVy7tdqlX zhx$$!?5wTHQ)KLuL=9xrAP&|^;s!Dfka5t=_PaG7qlyz$oM4;ju`qO+KqoLS5c+fI zz#v;Xgfr=4XF6GDGZ~F%udophap}@JS1x7PHx+SkI$)&aGBl*v*f3aKH<+2NF}E<@ z(^r4>7TpO%TbYEzD1CLEhX61{p6AZC-1R%hsa@j3K80oO@3CUG6vtN(!eC_T#6ZwY zLO%sf|0uB4jbCetlye{i!LoxGpCLPPjN*v{Oq_WJuT&uReL%Ciu|nE#lu8;;q_EO!G+FO?Kt2bRULgVp(h8Rv60G7|Bm#AG@ES{rizpA;S=Vd4WWv;h$C=YvCMSA-??C`xeW6Zyxifk2XUmWA z;b$F6qaN|{B5`@1WPKSGbu8^`V-GW28SJ{-t@(W);Xr*JulDYX<=hQu-Yc^I!gu0M zAExm5`>CG2JD0mVRqHM(=y%6_m+NZ;nx4DPd*9y*yI)q~5i#IXf5N zxdCIPDyh2xP%G-p?%_@vMu=7gqfMhc!bdc3@H-OnKEmF&F3p$gkL851xE|wb0En<5` zOgoEddv^##H2XZbq{o(ic`1;lT-v;*v`+sPZaRf5QtPma1_w_Ym>BjDf(B^@Po08i z5)zXFM^IbD&5hyZI@d%e0a34V{3UXxzZ6#E8iZ8$)t{~S?DAM=+*iwj2?LkCDREG z({i}xpWs?^mqBicM1GE$*#fh3U>aS}CQP~^F^;eI^r>C0h7>T9r1iPj;w~D+=iAn` zmM>fjGP^;uy9T9`$>C&Du-XiowY9fM8V;zV1CN2nR^Jl{p zGQ|Xj0r`;}&QJ&NOxtAmP!TBuWTNwQOsW6?AOJ~3K~zYhfN1e`jvaP+=+p$m#oKc~ zpPM(hc%@3YG6{6KE$;xC083@T^DlY$e)FD`q=m63Cu~ZisWr$Rox~nZ0X7L^HWrqt zSJt^6*nHD2`)I{A)=vL0ICT0Bx|1 zEA2PFmdb(`Ug?15hd*GEz4OQWp7yk-dr0qE*gSqT%kiVTtFx3OnnWs;1gSJqrtf8< zi4%<q*SCEVO7b|2SPJ9GOk$eWc~6dNQ_6$E%r2`4jwZ4HK+?WAPf%m^E|{}zTtP+I~( zO9K@-$iPKKHn!*B<_rwo0$SCqmpX@%o%8MFU9!cK?ZiehX%Gdg$Rve$8404A0b-Pj z{vxIQ@4?9pBa=@33)6D&N)zOV-$PjKvIcLm-fxD?j=StZlH_{3?8oNvAH9GHr%#Sx z8a5X$_a=nu226najtnz9uPIKYnNnMzX}TuEC--3&T9uGb%ii`6GK=az-mIWtRLsqD;kR$O1ix8vO|zaR5V7-fZEvWc$12K51-({@iMoD zPclDwnCay&VkTQ-JQtTDzVduX98Y2h5QZi@oWpcXEU)*sDw~rCGKpBdb&1B>IuD;Z zuxrp-eb+|fTqcl@7?NlI5%%_`4-p* z{{mv4!cm%;6CYw@O>+AGXYWmaBu(!8zE4CvS6-EMS9f*wHTTUKa%MQ<@>p`$(n{Ku zw2}o`G6VyD>ld~mTZUj5@E>6t1`Gj~VM~@|*b*dIhehr#DK5D)!y$*9>FN8fuCBZC ze9nmQizm;@%sRSzE^d8+LS;Vr9P!-oiQjeme?*wcAsv}pMoW*{g}=z`l`*lN2k1{7 zOg@Ihl@G}-K0|oz(i2=Mk8Pg((pfm4klLZ)-Jfl&BPZ(L=|Al62yKgl*3S@TGwOo#qF%ibJ(Pj_7SVTHiz(oqTSK8r8s!n6Xa=yjP6^ba#u^)aperLIwno_^5uodv&?!^cwV(%{GKjE?eB8b%L*xaq}f=GkU-C%#g2pffLhB4j6KQ|2+8c?Q^G4!_FlZ1-SGuCXnU z;06UsGjC3;h4^SPM9q!7K4cmrq{8uv1l0xn${Z$*0F5;QAywxbXT1_5R%gWF4q4L1 z=wt*eCn?#PMaN)`Kq`ZD*C|$Bz;WHal~T9KlAWRYs6qu)=Fa!xNcTgg)q<#|&`I|g zN%Zga=O6o^$?ThFW$AuCl!F!W@@B$?qR$z#40heWQ zZ1~Yn@`1dCdChmfHNLp!=9c8+%LiLApL-@?<;>(5wMo{@VnOoGTLDXp{rAa!sP!vV z7OX{^{CY_XWvc7%QGDTbys7-$W_vrN+Z$wieYe|{oBxPA=l&XV_y6#~WASURPno*1 z-7R!|k92$E;AVWr0RN{EG^5D!{Xg13n^SorprYh^-*!(x^F)s<@hQ4_pXk%muLW#Q z(&m=sXTQ{WnUZ4w<|JiV4XyVurj6;vj!GO~5Jyd5voo##S`o4XpVC1}7a={A3i1Rr zvYUja`?*tl&}JRz%6isFAzjjBmr1WIAsmz}B2^KkioN7E2!%lQ>PYrWp~wSbI6K=I zsFNvur<0s1djzN)l_7T{^NMA>;;^N!TgTEQ{Q-g`dpOj&@6Bs6vLpjq5JFhLj}Q{i zIn|j%AyE6!+hQ?Tp#g(cIe2Q@##)Opht(L`mk7r3P$~ycBRQW=1uI)x*aq&91@v zv#|7l-MjBIbMDO^a00Y<8bhEt>MpyBl2dfg*&tvh>E%4}Q=!DEXTFMGox(5oUEjAm z_rdH7g4q`a)|nZy=nUuV$F$m-hYu~=JLUZT79bsmG^wKkm*wv~3&7Nw=SW)#Rx7e7 zLAm+8{?uQ1i+Hbz09tE1G&XM0+R9@iK@TnelBg6yKyG<+(mn8xkY*Q)y^>% zsDi?uR|o~Q+uON2HSqMQHrKD^&nstNd}(ohisHg|QKfBy=~RQ5`^}b89aAMRxYrft$n4w&c z%JNxicf0YBtH5x)?dqDt^_y;|*67i!m|MY9)Ms9z5Uw*7tx}2}@W&r&R&VvaQwFV> zZ@m#v=@gfrjfOXvk zgnYab8$HQJ{?83?{Q2B;BIv;Dle^2k;BfdiLE5uE`eFf{wMgO}()i#`gpe*?X|5OV zX>^RG1C|38P3YIW6he|Eb)H#{IkS+z__y{FRyR@}ZXc5E*nl=MI?dxUqvi&vd>vhD zsOwj7{c5K+W}YbMNx1-b_ronNJkmKbJ$J^A%cnavbiRA=Z&FOsgdUGgVWJY&8j{u> zbe3YWG*3uWoCTGlT!$d&yYcF*P1IiRBo6Aj%nn*J`%1HGxK0jhCh>uI7&xt^dbUDw zuE_4)n}mCP_iooY*ZGwH&$3&+-yG*6NqQM61Tv;F1=_cL zTAQ~!wLm+^BH2MY4g9HTO4DVE5EGg77Sj+W$CqdP_9E7h6rIXIwjg&CEdAC5~sN37YG|45biysb|WQe+`y)N zH{u3x>yF~oQobKs+md^$8MUYnnpwI_d3G2Y_k$*Y(FyI^$7mh0v{2^FH}dDh=9c8j z_2z)9Z0C3!(TX`A-DK-_L^6Ax_RQNLBqg&3w|>=wOn?`jEAi9?$zDzJ;m6Gp*W4tz ziV%Xz{31bh1y>|IQ+>d6Ase&RVM#B*TU=&#ahbREC;W2iKjVeQKS!@!C)rv*bory| zQ7v^}l;l7{99(YZsM58aq5q$^x`~3mG&1(FlLYk=0YxXJO-}S=b>c?*<-_*&e%`=P%%ReM^dxM~nS++$zniP2lGVbyk)NtSl91v@NR} zaO=Lp@uo@BZL(gy(+TQW=#0)Vx<(q+fcwMyC!IV)t(&_5yWZ5HFuJ??0oIyMd6e8* z)tz6tg}juB)3vgComkw_b7XYVFa46`F0|6kuOpK+kt#r_ZXHpXpL6A5oqo1plSRaF z?gs0W92^{qQ!kBew~jKx=7XL!Gm9gVMj4a!J0EfKQSY;qeh)MObaNItyN1qU>T8#% zEIdcJ_W)}%iqk7Bz4SauGi2-X7K3?~lJqiCX;N*8Q8DUx=73r`#!j7v&voKuO0QCe5gxJI~Cs&#|_!%yX~5gmC&`DWpUv zZCab#Y+iW}$Is7oAt>>j_kf*-<&*0-nZ5Wn)5{kq&&F(ie3x*mK^FC`>+gLqko3oa z()4uidm3-y7792)e}Bh;rm!jD&Lw820+!BJSw2-@chBL25B(u4CLAr{&wiaYoBZNh z9rzV97hXr33@f*KzdPy_*Kfe}o81%9-(D9oPb~#J^;C(6&MP>&!E2`<;;F+ybH9`V z3>0RoF#9#qC}Hhh$S*E6dA7LCwA#j(nPqn_JnDA#)HYjSew3#+sxDmcy#xcC3~U9)ipf(p{|0hLVegz&c=1s(^ILC{^m$ zgcMFM#<2Un=Z%SNO9+)i zX9qr|@^PGEULR6=y=g|rd0e1LFj<67TY2dY+le0>NMO|ce;g^V?^@Z~yGd*B23}zv z*PqVYAzg%Wk+n1mAq2)insx?Br0T@p zmXVH&)3LPfmq|6!RXF}M$}NJmY~B82vb0SWH*x$ju3sgnEE1HLkjlp^EDR=n9bKo6 zNuxSZa|f&?jar2D9nz>h(UQ>xO`)K?)JD24j#>dVO%&b18iQ#mTs2P;ZBbjhN^#}_ zUb(>HtEbq#zC){a32U+mpb4J)6|P*p$@LpKSV~7=GKVz!8M{C*wM22|48hdW{^kuF z_$KS=DSQ#*ikLgIuMiYVl&kYd<&d=M#PvPuYj+5DHYqGl5hu4v>xQ6o3a^xxRv8Bn zg}GTOr{_uBfQP`rk-?*i>usDM;M{kA2c1L+$Dz5g%KFDY#w$&cwE7uxcdzXdZr!6W z6L9ftfp^z6TU#k!X_`&_W0qe09@24Ge(Oa5bd=EEsYk&R8kdp~z+ zw?R0Nw0_9m)s*siiRV2-<6e#Zd5*e(32^pIk>{Q*aB8s=EBx>iE-Z@!v+*9L+3-WO zg3YanPcApu+&+U4XZWboj=)}~;#N5A-(taiaPZ1LM}1b{`zVmDTl=1=$M95r5>Wr8 zvt|xR7=t~m*4qT_uc5iLa8g6_L{C;vH0{NSJ~Mr(VKa&aKl{+Iy_mS}+`2O9=)Nc67D>1@X6}x)PP$0xVoeO>Wll~#cb=;^;h77Hn;Ru|o4F76 zxaXUYF47ipojKy@;ZT8X>5lKMn5b`s9t6*E+7F|yKTWCnEI}b-CtEH)!gz$*mS8iZ9y>Gq&DY45PR z`g8o!0+s3KdzQXI#o-!hRPWaUwI1!-23Znfbjr-iMV99!Ygk5C#C#tU#)pHleU}}ld+OGeD1}aXM>Hgt(2O&oM(;B zP4eT9aY@kFyaww~UVIwAJQ@RSEz~#e;TB8y6qxLgxRIgb#KwjsSU%Q`<`@wspJXOu8?b`j;ftp4;9f})3V^ZPfA z^ZU*BB^RFxSdYfXFqkZ*xpNJjHpptv@yQOIUPS-;>_Vmx9_Lm{+*^&XHf47D;JAn| z5^QZrZrs`#$~2osYixa(Q%CFODcZ70>0+CyrB@Krp?+tZ-P=Fo%u1Q3&wHF5O{NLb0_axPB|YF5h{pOkv+@WV^*5UrD)tXBDM#fVVd3 z)iK3+o+yRQbQx>bS(u9XGjBR%Yqv=Eb};dit2O=Ws&xCwxhFr01}h7H>H5az(MbEG zhUSSr3!S*pemN!n)4%<Od90632$k9nGE9q?4#dAgSOu3nQI+ zYt#OpNl4R&Ph`J6e-R-ZGQBmn_Tzqu37LQ=sSqfhJy*hWB#tX_l)!Z)N(q#dNCisf znPH_ANC~ntoMo)V7%(P>Lv3uQEIs^qAPB|&jUk|euiX=CENQu)j*zSYZq`|#tdoLSlB z!MY(!G?E1zN1(OE3wH76^4L1BG&?bSn^)+@(v1%LJKY+Qtu{8xuK{CHbk;_vAxXSV zR9~kwd!FLlGOFVmDh?QSwAK)Z`3+I5o*yYwGGVFV%)tYnb)2w!_d~KcBiySal%lwp zpX<5v@8s6SW<>p7owz=JASTUjA_Ocg_&j|vU~$1iD8Y6k;YW_&@nZ>nE7G~JFzD|3iO?&qySsYI^-8jx!lH`{|)0F2k zb$)@_^IyZS3~x^JCiu%|ZaLzp7Ym%+rW-v-hA?(_|^N^$*EvPY-Wgh!HF1 zev34~@BR6RLNMI^2Wyf$_v)-~#H8ujp&rR#Y^I}5F(Lu;ZyIJ!Jx_7z6wht{>!F|P zb-~V_U}Lk*UM;5CGGy8CbHbQ=d2%RmZfLseW_;u8Z4hoRqivz;Q(BO0UK{^D5uH*? zT5nJ+NPhc!!H{Lh#1UyH+ikkHjfsb^?c-YIjvBMMf6~Ze#|izM@WZ5-&9Rdwtpf=D z%6~%i&;G&T?VH$+<85!!5Bp(r!uajPwH$UXC$DdGt*;z$z$*L?zJ)CwZ*c24H8eN2 z1h?-*y!x^~G7xj36CI}C`RJ#I&vbzP^(*f@p_ZKJIQmk<<{$m>4(l6vX^Z@^`s8;- zssf%rYI)cXn1eEQv_wZ&?!M)c=q|=sqyXivJbFXPt&C}MA7es{Nq|EV+l-NNDg?!6 zdv2z^@-DiD(M_y9c%4T9&u_iCz~bz29RrW9^$pFXD=F(6eOKIZkO@$jk`xyYZ;MyR z-6^d#?A&`FqaP3I9j}OATpF@!`^D2F@h)+Dtp{aYRTsXB=l7GdM9q7cEbP@@EmSTb zq=TWBTM~!bzR37{W2hT6G|lOh(J&?(>G4=&I`Oo&SO3-OnD*W(j$6Ph&N4|NPuGfc z9_{?=EW%_lI*qVKa{uQ)#OnTlh!g>Cv4C5RsV=^WSI&DgX;ZU(Z5`doaGYk>I!h?N z^Udk8Zkb!PjGtbaJfI-bX^fM{4J*gTEld$iogRSCepj;#pRIds!rB^H6k?JTch-Q& z+vJz$DbB9o7OP0rDf^Q~C^sN!ZxijUktMC(G=FNI;`FJB@M(0KpS!^U0BcEFyClsP zaic|CYmr3}Srn5+Az2)ghND&?w^*QjW)813%k;`Cz3u6!&eks;41wlvye%mDhWFQ> zC2V9vpqYjV&7EJ7)yCI;O|u(g0W-@!!di9;``j-D&Y)tq;IS`Z1pO z>cDd2K{H9OjBLX%7y0ft7FqRPqIKzK)M{nw_3^{#THo!gb9`y6!T4jPia5?QKt4d2 znd>aR_$E77Cch_)-lbTOeD^y6mGZ&Xp)P#JYxhWZx4%%ZIdSrnfXxZ(v4DL28<=1G z@!|7+im=&T$CnN^f9o6Aa%tl48=G+Fp2PXG8P+Cza(N&Fa615E&s1x`uY=U$%&4mFEwmlyP5FwUy7bJPpJdqtH?VnM^zqs zI5lKVJP0shGGy)t%t7hw_-SgjUK=~z_0Nnj#$z83&$=vp(N?b79QfkFIuG&XC?Gwheq zNyp-5JDtnU|K4Yl*Zahf#tpK#nFD4v>^^8RLwhUgHD8Kg2vmfC!ty4?>1XiEQ&w`Z4UL~{?=a~wPx4rlC2$h|L0o>&movqhygc!TN?x-OBCNlDup-ON!sN2xW!q5 z$`W3Adc^XXMNQ&bop3kA#P>0N|DKe}rCNTQX8bWiDas2M@k;q|Ort%*-Bse|uzPqH zK1;J_D9oIu`S1bF?VH4nb!N_g1+O%P;^m-Goo3zL~eT5wmw=9UUh$x37}c zmeHvly5v%G6O2K+4u0Wjth$BtTpZs+c^;1Aa>|R*Ny;ZzniB!h!2+bKVNf0Lcv3%zNXzDy82MI6Tzi;~|OQ$uqr2wyNa0~qo>0wYgNjvvGB#YY^(@AcmP4BZ*F0S)5LRo|q2no_Lcx8(l z8p3R-={jV*c8$*x7HPW$;^yH zvEXs-dK1UFFm@f<-lV)zp)&Ujj$a~fHrTs+i>Q|0yWf0gjvxrQb*IhFZcMW|3ZK$7 zctsCUUfl2?|6rnJ{7kZk~Jh+c@qsL(BACgAK+s@w`_Ur!HuAC1|3Yeu3Bd zxplt#t;w0SqeSuEr8%NRq0<&+FXD}J4+!SxxU=pMY<`TleRJRbeonACX**8{HjmSg zv4`LZ!lu|i-&jEW0>S3RFN#qB03ZNKL_t)y-p0&UN2Y)OkM6O(Bam{~D?yva*o?Db z1b^~=V+1n0wUE!A@%h#_hU@P>Ne#wT-@co_v)*~DbmF@ECD-p>c|6$sm(QQT=I5a= z9c*rF3Eul4CX60$L@bW;4#L7*z}b}w#yVWP)sO8vt`+k*fH^38NT>hE>#=EG3(=;z zHOi)WQX~`QNs>%56n`m%oR|P;P)eNT)t4+UJbQR0<}lK1?L^#LYx7{e&GJ%_H(s8l z&~X)Qwl(#-<=%bG&aRAPV7 z&OnMlxdn`kaD0Da#uU@3)7q`qYO(~AW!Ti`lYjUw(1pvs2Epx7AoDP|>?%$^LaC{V z^Q77J5vypoOv~J?$IP_D)$1F$?n`6WzaKOK9H$>vk!5#TT6Fo|x5szR_k*VESe`o@ z;V8@Xy8+pf=G4L&Jm2HNC%0(V+I-dg5aKbJus=uG%-1{m!*Sqm;^fa6Hhc4a!C^E0 z#@Emb!_WNnjgTMw@D7giB0>x&=+b(JufG{^;aq>9X=79J?gs&3*ne(zArtZe*ROuX zOYq6nl+CTf zJGz7FLgju5A$a-4MM_1N2kQ>IHH&iQ#?CvaLCAbmz}&A%z?r);4#1;HFgogdPJ4hk z=oTww2UM`=u|?xS5O8*RhP(Ij^*ib;$nh?~O3hOU48Qr!a3m?mL8{eLKv11>s5dk_ zdxqP0EbAL7)`C>SuDnC8WnxTQ?5I2Den}@Jn6BUzt4K$o9Ix}H7l&BOFkd2lwyZaEaGJe2Z~PJmaOB`7TcwiidJvl!)e>TM#9op(HG z?+`W~qO%Zd3|UmeT8mehMmj!TVH&^GzmJ4~u)aam+&}=n@AKm6lgGfJHv z`o149NB3ExJeOcrGJE!GNXJ7b37a23L?`_?J1Ko!-@$dyqnr|h-NpTY3E%}q+=7F2 z6s~sx$M=z{f4;2I?5=%`8)(Y2ul7LS+KkxVCk=DUq*s_BsGcI2S|r-7v-bYou@GaO zdlXMODCMDoGNt*8IDQf32BhsB8h0;oabB@JXDJmAzi#ed_+7Mch?{kq_iwU!^BN}A z`F;y<{31d~DyPmdb*6vJg>n%{gbLWXaRniAi>_C!P+6JF!E!+LwW}my9g}4k-37|5 z2bp8f8J0ATa31XP;6VdxEmA6=jN_c`%{K^|O68snMz0S{8@^TmGJX3%xEyqgJqR@W zjm@u#4U`P>hh0HvtzES2YWIP=v%hw^+}zlbm?7uWu8bl5^S8zehhdA8eV)Pj5ho5$bYm({Wv zzx@^T>0$4nAN=qEdwUBQI~>cYbv~F_EC}9y(?bYv#AS9EGWXRO1_}ki!a|jEXAEbS z4}P}}S}WH#TkPz_G#UmW5BL5`l3%cVs>=7iGkI|FL|=UU9?OyOHOng zec@p24Zs{)zln*X2c0r4eYotqG4@9ctsOrq zR|p&y=L;+?6sb;mD5cOE!YE^XGvn&jJP_YeXNMOY1DQ&V?&HF|=3DO^oPD(yJK2J* ztu{M*3H3(za#*njq4Gfnp&X=C9jJD2y=8){@1xujNz|ZNT_A}g9)9>IXq^!h=MW+w zOE*!fg6rj-m^iuJ^9GQPhZmHQPKt6Jic`-HxjFAw5^my`7JK)x3_unwIEKdEd!(&4 zV9{}g4RVW|&0ONmVK?tC#8?aGFBEwCsWSK00yg4ZmX~JHb6?Gu)hWvJDT*d%)NLxV z&QbN=RzSTKcY3M08~Du13k1`-rNb*PAfz07?vqxFjY~hr4Hl4&qIzx_uhe(@Z13F1 zWCzDOTWhe!V0E|tuHk%miP?^0#eyaI(Jb$vmEgJGX<6w^O%D__~GVI36`!7 z0?n>`51zWCX6gQyCFaP@jYC(@2cK~%;C1y zQR?}jX$OI3K5ewGv3x4y;(5)PWy9*4Wc9(p*2=N_ko;oElc_r8F*{S>^;hR87QfUL z|NhkLuiSh**!*WtoxtYjp)WLSZfpvE@_s;?4!f`&6)MLmC@$hSRS*Ip+@aXa{W5m< zG2zm7tdqL)xszxG1D)yCYT{@OV?(HJJj?I$2g%)v>aq;e6`Ln;p`a~D(PmU34|CqQ*djc6TXvIw0;=%ke=Ub6iT zaei)f=fCZohRXcwKu=(OECcFHZ{cxAjobs~gLf=z36ZsF1?S<=j{ z^g1I6cTjGD@?5_(Mz7x>Jgg1T$>c1CjyE^aW!jh&On%?##L!r~!}&9cTeoue#4Ot* zOV&ULe1Bm3UK61rl%pt4KaV^BF1yOo8eY(et5pV75sc|?p`(}wAN(90X9zP2C4-i- z=bi~z8B_leU^koQ-g=963S#PMRACx{rR0RX;Qn&#GUK$pC;5|~d#J^fnKLgDOi$xY z`zSBKEgT$Ul|><2S3mAqISbP>luyqg9fj6uFOzZKjr+;Tq$z0>qQjIlipav4v}sxW z@#MrnY4$PJT2{`KIDfXt(n3zPx9+sLd^IIb%n?EJI&Z!)&9hGrhZ}5cTK@3g58tzg zL1voXz;!P&Kj(02NwHVU*xgGJ2o~l~^OaW;3I#hBG_yn#)?{Zr{jxqUzZl@Sl8?3p zMtMwMe1l+Wju-3y=FolHytl`Xf0prVuu4^JfKo@x%)cKh zeNRy?yG&OD78e3$XMCospI+ws6Mgpj{o9WRoBz*+6WIJb^o1Sbxwq=@a9vR<+@g&p zjx}j^geU6(QjR4})=87x(vx@iEs%HYrO3fUIYpETkh0jbE?SddY=Y4-#)N%{w7LTp z9pIpwwNrDzD`-eoS8<%@51$dRHZMhD^d8V6P0n%UTFUNTLZfjC$FX=*88Gbb5>zv+ z2}oKEtTlA2V;luCyL$f@&7l_x^j{+K$OgC=t@m;l*D*TG((DyHJkE_w9|X*y`Qkhp4sD0mT|= zR3ohS<5&kFG$=22%5{W!OtHywKsVV)r_x$Y7B^6CfvLrp5YnZ!dkY~1g{cmN*(7H- z&+puyrqj;B3$Sx>+fksA(#2SMv5qFGa_iRM9J@$Y;i`*x)f(1F9CwkRGI=1yn3OE3 zlf^Z37UC7BDU>hZsd-QarwYOwKHfsQdHk#!5KI*~^X4@7e$%CL zR_)Mo{iZn-G?R4LrFy^Ru^noD`rZc6U&q0qnP0cdr=H=(7yORtk2iWmdl$N^;_@5^bFUQ-s0Khy@@Sq zhnAmyTLbeQ-q$z?GRIjfSC*$)S_r6CeWofdp7-Pju}<{G zlAKUC{6t@DePLnq?3s+SXELDg29;%oDAI(nCW;JUn9*qFqt8idNRrN9s!0-q*29l> zo%JtLDT|yv8*qPBVA<-FTF7OzB(Y$O;Yo)2O_Jk`!V~nt(wZj5v;m!)c&xzM7|(r; zk3X?U2bABYID1e@lN`o`Xc0GeaNRkKIo_*p7&OPr+BVuWFgkbLld6Omu;5AQjDY4* zT$vH088;^Z=199m5hY!0x`biCrPMuMrpm6mpm~^jF}F6uniP{1$n+*gr&z7?&b8y9 zIvsAI)UZX)4&0st;AyfPA~|A-GAUg=Zvic$fh1A3mkn1cx94UY6lXft-6BGHBbjKu z!Yp1Pcd3k88?2v+dk7SyCr%Z;~Z-jMXUR<9I&R#oP|t9jT$9)UQhT~5MyCDd5xXx4TP*9q(^J>KCR9Bhb})!o|nT@a)5Qa*ZyWqs<%gK&q8iN z8wZ--|HCG6yv(?g!TSMoP}Qm7*Xf_Uw?h;k44PdlCP1+udFQPXON$PThUWW!v`ZXY zyi$S}ALge#~gUl{y9tAQ7HQ8D@b7HML(Q(s8oahUpFSHx&<4S8g1fNM_ zXtfPnJDPi|2>kBSh}nnnPtH2TU6w zMCXAjG>%h1c_owz&~XK$1%5e2O)z$J;c~yMv4pk074Nvf*&UlT+{c;(DN6{UIu4>; z3&e1Ity`!K4Dt3|Na?zi4txfM5G9nO(5WU(>R2;iRXHMHj&J(peNF7gM_Pr;(+ClC zR+n|M{YJT4t&Xs0jEP3F|4JzlfF9H7?H>mTb`j}JVKWbZ_QCi@Ot5&4omEH*g>xvk zf<+^xm%9zi93*YWo!TodJ+fh1ORQFUTp^Q^Nx&@>&3ha~A-o7#PT?sohimQad5gJ!&1d^!u4EBiYK8l`- ze#rYD7K!3~on6qh7Ls-s%JK)Fw%73jMfsV-6L$eP)~9sp6@--B|H&U>i8`^F7GpB7 z63IoZ&i6Mj9b^#-gtS=d2n9t2@4Ve{b-kTY->uMU3EJ_s9#9$sS$cR}_1QB;zWp10 z3r-g_qi8tJ^B}384$G%Xyz|!4I{KF?qriFXy5jDAkG=X0 z;(@YO*4keDvFr59yf`vtro2no_E=F@m{yy3A|I4Eo?GiNljS_7>+YvrYjb~spvkVZ zpKg+%qq@=l3-fKZnZ}rP9A_4gJ<#kAIBP(SKqi1OTgL{>L3!>KUVW*0Vy!&USpD_Y z$(|TT(LX)&))Q*UiH@T$tYz~_NGU;~pePjbht>L~=E1{^^-Z~NzCOSNK?oRDmP@QG z_gztw#IU{@vAPy<`(6ucMy-gC0-$N~0Jz@+OKUrce7p+iIfN+W_3H*!?p8-(V-j4B zwoxFY=vin+eiz^t2Q7a4fUxu3nyI1XT>n(BjXKqx(jED4QVqNG9#zU!STlvSqpooK zWlZ;F_-G|@Tyi&NOG3u2vGZ61adID{W2{YjLu^7gC{;!}MO?ptPA%4M5OwMwuADA& zX1T=dbU<~=#Jl*6UQs#22=Q@X}r=5 z%A3k#RXJXU=|TCWd4kGm+Uq{n2!e{@<)<4UEFb>Ll197ue&0pitL`CHke4O#rbc46 ztx1W)hae=y>eD#x=(QJAmNA5wG-CGLZy>8NVDZbRLD*5aJfizvVfNzK>3Ljmo)aXj6otT{P*9YL4llpZuO*mU@ft)? z-+SXIkXb4z%0US7a8SD13AIOF`Bs&kA` zh0jo*ruFc1@Z5duHiVt<7^SAsI)8`l_i9Shd%e$H3#KsvQqCU=nn^M_e!N@?__M!t zhGO9aFi&)%Unl)qTQ<9Dhn9DLmax7#JlZ`7nO!Z;Yrg%B;neT-hGch7aO+Nk_014# z$Gg5}I!|0ASVGEatgT_i!-?(621biL_bZ)G`RVY=?IBkZ)h(9Z3DP(!T#nstx(lY* zfhE!TC%T5mp|TC1s??ayhaLsfG@5M5>q6#!jfGBY(OI1=-O1~b+H4^EZ-x+g>@Fe! zp%B7Hxh_KG7BU^i7%T7!72HA<JA%$a(xi?~LzE}+3yWxVduT4#o2D}Tm9c9`vki<6 zd(e>sw8>*ByRmQN5GtgT|A}raozuzk>f*R1lw0V@>clTPUTM_N z$Qsh9TTgNP<6gCM&>aNLI84Bf-bZPA10mpV{)dYrzwNXwcWai7W`8@gMZueAMvwdD zt4%)ma0ADAacr9awC+DYzx9nWE6c~fM)qnMLX5h(b`?gJfA=1o8a?0b5dObEaEN2s1I@0*$J!X(DaYb_lBX{ETs-gNd6KOy!S!2p z9)PMeN?hP|G^XzA9*_^cQCzX-*aV?t%wq@eFM%R2) z%jQ2YzlV?pt#{CR57!;OKL@RuE6XV>XG&~rhIz)=W=5P0TfvW`-~P=roLU-9`gfue zb@eya9?!D*k58XiHa`#jT3a?Dw`RWkvy^t&ej8Y#Qw zLITFrb_eqKN?{k!W&>*;025pw0msi*(g)1Gyi$aa7LX`cJrTGZ*}hvne5OM*lptv+ z!>;MXC}!xah0dBCGmOL!=I{#hbZa<{m1+?+_ejEZTyGx78BNSG2`~pG9fird$(>TP zZjeL|(0WV}^WHw?*-!x_FJpl$wRnNx!c!qztqO8NVxwTjV2#BLgpu9bo~NC`#pQ%7 zO}O+)%ER>(A?EQ4d6ripw-GGnv6E6Fp8cDiE8Z{V~liz9s`q2}Bq`Mc<@(R{iY$t|VD2b4oWLJ^Qe3ZvD zDi>=t$}QshWxV1nu0Mq{!K$-gj+bB4`)h%^{tSibWvn)Nr_9>C1Edm$vIckl%h;tj z^%Poep?mRX!yP6e6e77un&g8eak@zsH# ztJfP7L30o?yLuGRe6S|DdLu?K$9KLtT0aut`i+q4RGpWepCJgQhXAvyRy!XdC>_!d z{>i(Fc6%FZ>bTxZz3GE4vqHF>KUbjHO!?7|i-b}4dJVAlRu42)u!iGZ7}>_)y$>Li zgX3rpsHt&ey*S(C?(Qceahyj5&0)yQ^^LF3ap7D)OYi1J#E+V<;db7u6}iiTyh7D! z;EMzy#IYgei>h&BN=Kjjh}(FANrFNGEP^z-iR->NHu+Dnpm_6*A}eS5@4}}p^gTe5 zL{o31)M^PETOqZ2LcNiaBnP{;pIR)QfaZw~)uc@GpOwDx&2RC$f9bC<>EO77c z9e(=9KjsgA@cqwvcRn-y+FCZ(H#MJJ$$Hkzg8=im+Ml?`+Po7ZgqOQl4rm-u?w4O_ z_dYAvK}avRs;Q%mL>^zmZzgLqj1JLR8?D=&Orcr7oCkxYJ-Ve_a!DCX@EKbPI&)S(gq2OlJ&?x9gWX`;)^`miD1ZiriwO)LATBBg;CT zi}WnT>LTt0mo%?1YJ&(s-A+y+M|Y)?u{bh}nk@P`DG5C3($Q z&wF|3H)HpZZiDGlD|wQnqDR=+AdN=b;`n7;e+sWSgX>pNZr&l$X`3u*k%YTMjr?Js zComdFM&$Gp5)JL2H6vg;)IJ?|22%_mde?oPR7v3meT!d~wlG;t+}b2;O&(-ANJ1(~ z&MV`8E7wtO0gFI60m=<}mSlh|&NEDR-D=aQPTbliY47HVq`Ldum}OzQ&W&rExc*ZV zDsImjI|Q1oVbC0e%%w$-S6(b0ni=;XwL`u_ha%=(tk@?ym6FO5$uwy~-CgCDLV_thF41WiXxExVa`(cfZ_0~kt90!?Q{r>OHQ|Nei z4?e~VJ z4O%j--Ql-?^DIk?$M2gALg@Nt$o6hTt(H)&dd$rPCp9onbR_+)jq%=6N7X-EeDjf) zeeU_^`7i#?-{pV)pZ*8d9<1^gfA25z-1E=#-~GM+2Ca2xo)`Gf|IUBS|N8g;7jE6S z!RufBDu4B_{|)~8|Mu^(v5|YW{FndL-(_ZYj{obQ{GY5nSmo@w^Zd>K_;2&xyMMwz z`A7f9W9{D;Rljz3_WGvbldBo)8+ix*aUnBzvm8#`1B@Mgbq{a{8x9;P3WrV1VebJ7C%aL_?4pJ9DRInz+Q5P`UblNRJ)sQkm zswz?`gp84n!k?;+jGpZW%W)Dy;rQcx*(@qp!IAkjX;J|cJAeN_d+!+|S-Rf${oeOI zv0~>uGd;7rvw3IZ4ZF)5C_@3Z08$VI+cIUDge=)sv@FAx41cfz1O8%L5(UGiV8Q@J zG5C_EXxiev+#ASyc{lIu&c@lvp?kWjV|7)Xd|rPz6}zgsdwOQ?2F)KBbal_Eb55N) z;r+eO^ZcJddCd!?Y1DEdZMpcWBDPt`QdyNksR_)ShhfeIGN|*MQJpC-S!t zLbbl{Aqr0Q|88FzzT5~UVN4vh;XWpe&Vf!bj71OvE9X#{T*8@{L>eu#5vK?k)Hg2^ zG`jE;2X*40j#uk~T)VxB=@c;x2g@mE(e$W6!{5fR3av?#VJ@Ue%YE0vu=1Hhtg^CJ zB(n8W**(j*+N<=yX&MIzWwN_|9&h^wN!%Yb6H1W=CT8i7wMXr9JhzcWDvcb5If3EW zh!KF2#sOh-i=dH3rsH6E)Lz#nJFlx-WlB?JgfKyfLqjIOna9R>^x>mJChQNIqad@b z^B4SmVKa+j?owT!rMLA{6kWhH6mWabf*^!9&v|U^cK3Cq;xIk2!{Qv=TortLahEim z=G1b`yC39`syi8U5M&17IWmu6jg*Bx&{WP%46FYd90i(E#K?3FI9k2>D7EW2-|(Np z7q4R)gKp&eK_-Cf$~~Z2?Kt$t@y*WT!F44w(CSzsAc=68wkTe@aySs!NRf3I8 zl3;jr`jgNnQOmhErS`L?Cf(X%%Ti2DDyAkK?mJaF_zm}TPeb&R z=nyeV&wlC4yz};1-Z}dg0N?t}-{61xC%?qfv144las|jDpFjM;_j&D=mjU?0Z~p;j zo_d<6o_&@-_+f}R&L(lzyBZpN51#ccc@k>pUUU^ zB=v=X%{F9KsxeYdk4$$xtm5bzX}XKnQ6E^AOBUs_!^BvDI1!xxczB^q5T5J%T?hly z8pA1+f%bb+OtbY`LmFomAaSxuntCmBk2nK@PCw5sNM=1fHSHp>43K2k*|hUB>scp+ z%3h<;sYZw#N)@wcjc6~I9k{*}S)Bk0Nzxz=H~JtuOje1bErbx*?hIDGRlg=AT8jhW za+q>s$1v<{JyJPz0a~{{w?^xop3mKKw{064wQ5mi>)2ZE+z2z3{=sJ|Y6xMVb$lqe z94aFui3X!{R>|xDc^cWR-hr)s7FpeFt5S@Dku@E@y$Ofm69i#nn>6-F+lE$JBU>)4 zn#|Es$_yZ~2?&qCTOC-B_K%~}fK=B>(+#90TT%Go`xw@0Sz4@NVdW-qN>li?sMRym zp}3f(M@!{oF3UX;S*JKh&{(IwdASp@9Qd?J1T-m(A44j$1*%B+vwKoWXN#FpAloz{z@*X0P}5z&uFnTL$lZSjG>!kI2x^ zB5<#rg&%nv2ys7<9k-3m?sA8TWCr28*tX5d6O&xN(*F$6at*iGpH4ptGyzKP8c#iX zbd#-NT3MA`yy~;I_CuzgHOS4J!dvf}9UTOjkk!bxk9)J3@SX2f3BqNPB)j&O7Hv)} znaoU^9U$E+SsueIkC9u-Qf`yLC*0V;udESn{$%0vsOn9Q-P?Eb(CfHE@ICA{>uExo zT(k7l{oUXGZIYy$iI${UJ3`;@-iJ)n>_j=+ z5MHB&>ntrDy9b+}MeT*m5o6!mk`Q&$bPKID#}*4LE#{e= z$ZobfwUC`!L=Y6HZJ6ZqA5(8cMA7JIplO$}oD#~gx^TIV3^f5N8xSV(E;`*NNqw~5 zZ=lzzMI+7FY`^szQ>`dx+DYTges868_C$kZ8;bh20fw1FC=pTZW+7-0*nz>?qM?<%(Y7-t=yePUw_-c9PrzA&|;oVtESFT)-_)(b%d` zU%NuiYVyzn7E22z?Lc{yS|}oZ_;QoA$~3)EOz1-9+>FEN`yG}R4}`gcv6Z-|wr-gh9{@!goh*>*R?^Zmx78F^Vsuj2xxOW5}M_(qW(} zMU2ubJoCgf6XpFQnoTd|op(Jpw-Rc*3FVT(-6zG(Rl$`j4OVWo?>jD_ zslFNk)z&^<8M=)uGHJ0eXE8Bu445%pzSf}8Go&dC!+mKKj@2BvHWcVQ8CA$vab z!RKKjpPzy~><}NYtb@>9sU*H zVp^lyx`fRtanvM^8ZFbM)@RUd$Jn^F$!ve6Xt~DrIL4Cn{=N0tgxUFgS*mH&X@jBD z7^!T$#s_`1xxGqbqcus_daoCe1OlIIqM$fF#?|e4loCiKu*W75!ohHIhweGq-By59 ziqiB0B$1C-Ungi(aZB^KV`t|D2s3pKyPLNkIAAcMYc`2F*w8l{VpG#S{P%Q`4VG6^IY}+~_@_gdBJB!*2 znQ?rsFQa32rpQrKHJhH`wKw_!BTXwE$h6%P*!gZ4u``z2FEA@QA_gzkjszb6c!Mwizg#%G~G3xdUO)^0FG{YDc|{Sou-#v%Z6H_ zUWa-eD(ePk9`m?*z0S>*22!4+KefNRAA2FQ4VO#v7Bkb<$jD?{k3Ll5(TDcm*Q00v zK7F5XGlS1ybCbmX1R|fe39Ne~o1bM}NXk6(RGyP3MrTFbt~^ih+FMzM(sNG-xXx$& zDBRO$S)Z~$5CEs{yN|DY^?8mRJKjl`ZR`Da&++E#ukj0i?XP$K_O0Lg4Q{QrGR6d? zBW8w@H2KsGkUlAWE@88>u6XS&3(w0R2$`dRazAOUhl1vQGEK=?*O%Bym6zHHm_4lB6}zX?=e}nwWM8 z(=1}z!)sPdXHQBUo7A^23|%&j+R?@lb(cq!X^)|GLK1av53Z}2ow1plu_@%uR_h0Y zdLyRMh^TC&e0V;lFf)mj%Vy@x;w)CaoSn;B+!knRosxtNlBkiT`WiM?&LlTJ+F^G; zImN}hXW4igYWK11v@B`0l}XzsT*QRlP9I#RaZ2n*B#jBY`ejU4^TfkbC~5HC`yr8^ zqIEa`nE=ALitP?YC7}zMy|Qx_anvMDchFiRMV&&yWUQQHW_pf^@$8;_l313)HYJuNv27R2sxdd4vN%7>h06(- zR+iARdman}&GGyy58gL+U^Ek8trGL{YfYM7f}sW{A3RU+@@rY`c<*yGj6T9LPiOm( zUPWt7xnwXgZm=+SIJo?@q@3aKx%J^kXn%ML`%gmsPo;yF9Nh!^lQ!uU5+=s)-mtJz z6})yf*SYpzd85uZUie%NJMZZ;qR&8VgCGCshy3_QKjhT?_w(2O#(#=wnEdYVd<%e| z|Es^i^vn$Z-GBR!xV5^<@~Kn&hyT$pB81@g|JCn)%6tCl>2r70fB#1o>l^(uc_CRy59(f?bKex_})$MEmr;0tWl+s^o+57rvih>@O)z+xNbPi5a%DDz#d2W`u znZwzQFHF>!DAc*J3g_3;?tnQ>TD7I^-{V$a#&#r4b$%Dp$RJJHoq9p3tjxS7%?xY+ zLVs{zystD!F_wY2w0aDXcF}2rR7Y6$B$hLdH1Y)gDnba9H9^jvB29ckze>{MjHuI? zBpu!3vsaxK6v{!V61Fqn`fN5J(VaFLUF`+SVX~YF45I|>jn<|}L$+YMb^i3e9x2hO z6-^_F)b}F<#QIvRLyaU3G^RU+Q;?imQY_7zxQ@bg1}9Ald4oth>{MMQmb(LTW#%C< z32WT}UKCe}qdI94k;Va0P|I3^7rrfjhOp7(?AZt*BBYo> z>l*{08Acys7qG^~`Rwd^z)X{pJuRIs_rDV3% z1x?w7%;o8!kO>ec8$`i2%Ca$v$FXu_42!R)Nyx;BGBzb1f55PV-a9{R0prmxiawi9k$p5) zuA-z*5T*n{LJ;iVyXh!8d17>G<6&f3@ReuEY}fK!yzF!7a*kA7xjQ?zM_tFyEd8}q zG#M+~EX)^~p3G+Xs~bMIsvcWA0h>WYsc11V?r`R@Npd6FdJI!_L-YOz9&6PYvtvGz zRimY9yKh;YW>K3VtpN|Ebe|g7Q3~T*K$bf%m5Wq4l$^jW&LO0OR5n5gq;fk(KtW>@ zorXlwI&m}zgwig;S(@2TcYXhXKn`DvU3Wc8$Gj8XhsM2C#kw zrpGi7E_ql+_Y2*s8(dy<*s5pekdOw3RYV!Nq0xNPn8q}wNz;%x+(BRx1{+9~!*-{z z^PjBw#O96Hk;?3YL!G7w)i%XSX}3B#NLr^O-Cy^UU>xP7#7#-GohMAQCubCWjMn{W zm!}?><;K;JBrc<5xAwISnql-|-!6d}UQ~`AUP8TkZ2Xt8;$i zEzOJ1_n)JlpYn&_xA1)la+As98DyGn9@&$o9>rCJP*}Mc9Ag28!QQ$6K_g3{4!!JN zQ*`0$&*w3XqdlD0w+!C?phy@v)HdHCO{3wU*;WfUdqMMSFXUOAKYHYMW82`p3lsQ( z>WgZ2HkoQdZ;K?H=G;b(&5elXzdX9dNpIThVIUJAPR=to>vG>om)U6>*Y#*La^&-x z-XX%us^t33I-6So_4*>EQp)sX%F|DN()XsWyijrWY@N!wPZ+f8`n%EW%U6v)*o4fS z=tpmQG~)t>d72#!KMH@YZ457vm{ zWuOI_K+ctX>6y>nkn^5CV>(Kj>GR+Ep!52LLoEM`f8{R^{Ov2xzre$fJj$>9^Z&i? z@72m0wq>D|VrpuNot>QyXts6j+Eon0pjawVukUi|zTqvT3dQ2Ud%r09++F!kK2`<> zXT*ab!EgNwf&|Y`*xii?!ldPU zpi_vG%jh)0a2!l0hn=5bVJcvCHO4spG{@%xZoYnvB+`4}vMV7ZmMexDQym1FuC00a z{{0^VqX4tBjp#$J-4sAS+`RtwE`A^wU!KNtp1{tP5Yiw{HVB(Ln9c-NZfajB3L5M9 z^;>~PLd?tym5oEu`wp6rr22T-aqcU{{g}|gv#6bc3EJw`z@GqX%hPjmC;jU(;fXI-B=*c>I>R@k;0f}w+o6HOQ-1YriD?Fi|O zmBs-nPY0{AF8J`Hn94>Ga1nC&-CgS#p-+;TtR!gNBu%zZ*5S85JLPivzPoFA-z(qO zy!vLu#@k2`ehOBu(x|VJrorJrGtSPZG_5i-?eUf8hC6S2zM!(9xUupl>>hs}!^)0L zc;!PZOY_hvj|*3G>@>Q^tR2-%Vz1>8yhajq9l68sJVFQ-=7-m$Ha*Qt-)|BGbL=-K zws*p!H|>69RdD{o4%LnBb}Q8!g8sf}w|M-CC;6Gb@E7@| zfBZiKu(`Rx_rLoRfBWzKeSZDdewAA*D=eQp#b5p_f0cjrfB!aVn)31ak9hm7H~9zu z^?$=}{MxT_Yju@l$B*;x{s%wL%YX8tK1lr{N&Ldk|NCFe1mRCX7cZxLbiu(7Bxx#1 zlO58uo~2T@+ltWsc{myN=#j%ykI!>#A@_;6yWOf7y!~EC(@PHpn75;Y;4^A8TD7fR zDYHBCE~J&!LrNE^vH@F~cqB=^6SV?}g4@d}vh#;ahik)UucV;{U{tgxF81U%Wl=OU zYuh2s*5@%XtOCmH_MA*&k0i|8Y}>W4SwyYfwx+iRxW_c9e<;@4roljZXsa)&kOFix za1+-W?EEAt3T3#Mb`fRm?^0+w!=tciH2NIfsk}oR?vf_^r?5$3gK_w4r&syH!x%GKL>_V2B=UBM!a7OVZ1w!i^8x{bTmWoWy7P+$C zpfvL^PHARf`Mvu1yWeVUN1#+0DQA!}kB}O-p!!S`4g$^4`J^!=zd_T83ET*!h`Gs`4;p>9G|;Z@cFl$cDzVW0JXX z7|RQ;T#xzSqlob_#W!BC3CQv0In8!mP*|MBF6FU`2Y;VdD_y%;t#I)>zlS03+jsdk zWVZFtX^T_Kd2((B>Gg(Srv|sy8dTN;f?ys1(@s!hYfLS_m`zjwhG~P4Y@ff;xnG3g zI;K<1uJ;K1nri+1eCK%2&e%NqaGtrD!RxP56}<9#1K%HPmDK*uq|7sZ>VBFVD|lPg zzGb9zkRm{;en;gvzK#$UaXi=q)v_KPdA!oJzek*sv&_#Wy!h4riJ`r483x1KUD*>W zj6FKdsh|33+^NB+t}?UZC04Ie{@^7bYvc0T8(TD+yCXrfHywJI`X_fXSt4Rg)|pb< zOv%A?w^4Vw-e_c>Sr72gQ(0T%rSJR!fBb{* z_pRs8|IE+w_!DPXSX`n~S>vtOU+4FJ_jkUqHJkTf^De8p4p**iQ?EB^dNGaW{yjL4 zqBekvG<)E?j;2sZ_~uXDS;O_py3d8niuJAbU^78$ahr~_y(Tq-Zo1hz6Cg&ZkkDU6 zI^D=l;?)sC;MfYsF>q`H+cqc^axBi}xV92-`Nrr7luko}R!_V*Oply$)b6!t4l%_U zSat|}_Wgf43FhG)gZC=f8D03=_L~s`bShdsPaTx(rc?@HfYb;S2-W&25vW#_RWUzx zi}7-Z>tv=TeweUR7p(fr1KS)0l>2EUZ0eNlwX;M)HgJ<-|ACH91%d*mleybQ`Nyvt z001BWNklo|*i?JsH=M+F0-Scl0 zXj+cR@{(X?BFzkDv?hvRt)f_4I~rhyk;XE!>tidJV0BC5g@Q=VU^r!j9Bxw9AH7^> z@4$L?OtLs7m>tX3z1z^d{-)1brF9($SpNERSmhE{Zv2ky39o$T4ZMxPT5TAF%(jG( zNFfmN;9kH&e#rFlB+ksUAhUB$$0_w2o9H<015IyRk|v@vF_9f_htm%Xhs-Dzy!D>u z#^kd|whews) z`lsJ!^Kw?x8%O7dg62Vx+14=FY)cA|BIVSg!NaF)f*V%}Ha3Yzv|7=+3z@x9&i!jF zhu<>~dZvw9=Oea*I09_eYJ$yeL8aPcdncgYNQvYA@4Bxq>BBzo(P-v7UvPu-#Noro~h1YtrFr}#n4 z_KwfaPDrgD5r((tpkta(^vzDj@i}U{n#qZA;Al01o~L>FjVf!^U9{FHwL=DlF}<(| zDZ1r)I(p_+bRuS1kw_a>MF()&KP{ullaJ4mFPPYt!m%W_l|=>oAjbC-cIz>_4Z%)5 z$AwoV{e9r}9-FDGWky`#*)tOyU(9j+W`kR6O&VT|=Vi6Lp0|H=OsPDERm4!`mYb|b z>zE|jC8aX3d~eDvSP0c#zd*+(alDQQ0Vz?+L|BKP6i9X-z}ROj9Y$G{*sxsOd>Li* z4-_nWc)H?VUAmMAm|P-gl(UF!kCSV=Wk^s!C$oWz_+Fr7)1X}3&*T2L9(iM;KhQOes@ zu$AirOrQk|1?FaKcIzpxzZFrbCI~SF5yZPS4BG&`Nl>q1szHvTaG3&9jDt$d=FbEoO!&&%vk@)zE(+i<@JE3 zmtA9RqonG`=TL6U2pm|ux%vLoFG_%isY%wFa6ryRRp_&OIMq0ZU*e`rahA?gA*R9-o!Avm!1K zra2m}|J>IH^WL*#o*B_cktU2%f-q%$Bj)P$Z4eUMUc@lR$l8_o#L*UUT+7m+(V){# zug$C$(?IPl;_Cpn9GWt1_5h$C?Q@K^AgOoj&e~wv*@{po!^X}PG4>3$4-1(+8_U*d zHwohkk-v?dpTW*ewOWuko%G(LNFULbICFiy&8ToRMjY1&!W#%7m^|@iq#oEbU3-3>l=(#s*+b;_woEJl{b#BbpFpYP9bEBQQksY-9fHXoFO-M z9G#f#+J-3+h%##UMHVcHY$ogLHqi*!FLeS`iU`?8&#GX&=#YD|b z=I4ui>FH@)r#p&RtE7DJQN*oE_C0mocp-`}XZu&mlbg#vmogpf(ll;)7Arr7=??E> zJGh_y*QeH+*xMrZ17hEA{S1g2K4GIl)NB$pn?McIok7_#Za&AUNssZe>T4gfTTdt! z6qPN_DHj@*1W@qeH-&LFK zoq)?%JwE!lr`^#A$lR;Fa0y^p{RVnzdK1vCH2+2NIZZC7X(&y8IYC(x)6KE?%vU>6 z&dB!&YjxiL^>0(V(!D1i1~N@!@Hq8e6T<*=n3`V7_r6~x^(XKs;UpiD6HS(_n^e+6Ga+Js>94(dhAtW>R^i4<_H*wH?tXB&SC8Dk&O}*LEC_b%n(bQ3S|y-Xi)l7f zJb$iRqbM|{Q`>iay)vxXPt4?}4WCJvl7x_qhWXh#nO-vwg@$Pq&xOJ*YUSv%T^zh%6c{l+6A~)f(2i2&qA45hfwU zZG|MBn2-BhJ=?l;#o)pv#r96N|83ATjZ*{5N-Mx9Z6Z|ncmMlTQR}1}-(fe}9yj!*nP5%#c>!{+PzrdE#iN4=~;F z0#>n!nG;CEp)mO%`)PReG8>pi&5)!yj^DhN)hY@fDW*8{n870tb@!!x?_8^9Jw^Ab z4VvxaCyf-dm|%=&*RPO9r@yJ`may_;IHj490J;}8fmWJ-_QiM4IoSVV8Mw>Lc>b{`rlgAhRv6wnO#&%{_nZ z?sE{nixe)(C?MqmxnmWk9(bV>5jL$nTd)2;H?Lpe*kX~T#XJ+^He==C;Ja2yc=e5d zMl(4yWOn!E+yGo2R$+LS;zWV*rFc;Tl}mQDTU7MEXoovn-4 zhLV{O8bd7){CzJ7om|c)a}OiW*L?fC>jc4ZlH@vBMoiYXa&A)d&{9HvZkp!mEt)GU z`0JY_zQ0c$<=utN)0T~S0Brv2^aXCUoaMvtY+sv+a>=4x%Hg^W=Py<<&4&@f>H|&5 z@bSc*9M{i_nx5vB*Mn}lKiOTxaRoC|CQm+Y;vO(x+Xl;9mBx_B^8O0Lvm8G*&extl z*aP76tiLJVzN7d5l0I|rLicpnbq_Z0va(2FfbWg=#oc?rljL2}G^Jd!n4BmwKR3Zx zIb^K7zhTW^4wSnIe%e`TWfV3cMPGXQD%3UB$D{e zRg(Dd@O2abU0TTVQ(wtIdwnyDVD1IX+kwlyildc*LhHU?^;9;H6apc-CKI2g;%E!s zyFlcteQg5`({)8bBN+8YAz}E|+mOFvvWNA^MzeVV6 zktR{Mok`p1DD9@rX6;OjR@$u5iXdn0Or$bVhSM@sYAqvF=XLfzqi20dzoAkZlO!R{ zjlBc%Oi@!HMXOzeT+Jfb(!en0iKDFLN*G*5YmF3O*$Q`l64QXZEhy*Ukz@PA@W&Su zUVAeem<oo2!yH-}dmm;pud7dJS}nX`V!xU=<1&xf;p> zscfXOkfuuz+#-sG_bO`xXnyJhXwBLOKfo!^kc2)-n6*bzmW#4n3_FkMmND#H>ugQ=Sb zL1rA*@f&MdD(?0E@2MR@6ha_`foW#ZXdxlDw26?CiBr#Yfb)#?GN#%edb7!ZfVFBo zbTVMC_Bz+@XDl@E*@mPh7Ya7Bb0u=Q92ccQ+!Q39!S;s=vs7XHkqqn?pM4R#SfX~l z!nGfqW&2WApE?RKp?;(18;S$ z3!i*xm_PUDJGgu}m0c=UN*yhe77&6)=0v zj}Dun+D-TG|5AF#W3HR<_`?mx$0g;Gx?`~1I}tE3?(*d0ljL$=?CQ9Cu=)AaJ=nZU zs#FEWvXtQ=iu_h95+$(4 zM@P&@Nr(~WcQUxHR17z4>2>Kns-zwq?8L1Wtd_kz^gVv_0#O)r3|kf#T*_sGa>?rS zdEBeDO2Ydeg@EAEha9wy`0;Bsn$37$(Ck%|T-gE4t9en@h zNa$>3*+~geDF9^kK9Lb zVV2y?I9|0$v)W+uz4Lg@TjYyl6plSh?ANjKWuCVFc;vBKtAzac)qp4(jAZVG%2B!< z*nINw3KQcdrDArExK#<**i2|PCH2M(wcYM_6NT?%n5Rk7>$sCe#vjhk|M@4siaS0| z?M9VbudK59VK)lbhM~6c)#(R{pL#lH;`{7W8|=Q`uKB!suz9~_;k2IlqoSYxNAw&@ zE%M@5H<+L6KNgj$PDgp0)kg&Nq++l5R zeToo*7rrvb^6}BNioH--U2m|x6H;#^LvDhHi74tUT~ufctBx{9gF+wZX`k)&H%XF| zV~a&j94|3Dojt(Usvd8?y+N}Xp_GeKlbCk@dZQphs1jOx2ttxp4UlP#VcKJ@6jp(8 zm)ojzc7M-9dM{)SEZ+m2akNPs)%t*v9W%F&myTYB^=>+%%>=1aP%xbLApQ zJlOujFdgjN7=~%@3z>U03OciBUk1Wy671n?e&ciKhU_Y z&CQC><;xzbaB%ITNb{hEEY}9jq)TiR#BfUYC-3Qs;(VCjH*E$BjK@8Cnp8Itr0AW(Aoz;#6N#eu(>MivQF z_AY6%i{5iD5K1#~pMha#`xr+)L316qw1_*_pQ>*d{S#twP^Y=s??Bqwu2aG;OwruA zNpt5Kz0teQ+3qXCnsXpv_R6yQAu5#@a0*kHP7!H@oWRh|?P_3(;&+&M@bYMv62OPA_W=Q**xJA&kLmU6~Hba#}xg z*u@F#;&iKhli-Q?+kMOXA-r{2leqT*0@1jRQ5Zh^z85k9BCknvdxOaL5Wv(U53%sv zlax<&Cl;hKvOd3ti8LGx%f$TuewoYbf)mpQ*K0ZI=1Hu4nKR~}phW-Yx_DW#vAMz4 zwuc`i1b#{s_ofXWb{KKEbozz45?G>xrED6@o!9n+p!`sF z?a!b2D$c|NrfakPag{4S_#ry*c>Dw$n?GF3tDl6b>+srZ>!iU1UQgHXr}b}P(0>oT zUD!NjTIA&51ao`YIyt_T{%HW7ecESkCIX?TRGVD6no!;Bww>t(&7V{Rb6E6H0E>$j z&z$+>QdHZpx3pO1>o0WA$)>0I!|(YW^D-C>nTJtU56eBUJV1ZjyfZJ6e-b@@m-ghI zZb$cE^8jUo$LuEm$b%NMGu@l@g-e3;(qo#Jpi_Jg8`k3VpOrG>$n-rc%pV=Ls<*V6&W?3LUz5EIhIG$wu`c48WRAYcNR zb{0+1T2tRVPZVwAM21%<2pPAdv z9BkF-%QTHgp9iKjLl~@N(biU!HLFP*RODrYu6*9&%wuCrPHGA{O}#0oHQ?sWCY5SP z5H4X_CYtNO6i&$`O+x%|M5~BscuKkD^bhi-RY%Gk(y%bhR^P$6K^*Q7hc(gz+%}IQ z!^&g1lSBP!H zSBb;M$aO0thn1Tq3bv_lou>_$k{ppA5Nx{y-sMBXhEx(|+2qTQAj}<=H+VpGg(6n%p!{#I=-Yw?E3;o)}cBYnC<)M1j7};=)Lf zMuM~&xb7Sx?Vc-9?g9XglS3)Z;)KluQ-kO6M&07jp6o87-& z`rmZ@9s6)u6r=QygQL}p-_xDx9&CtAj`Ot_hChU(D5cSiX?ig`I}vZ3 ztqxsIsVuU0JE;`VPQeh!L%hc+4yGF3Zi?!ehj&?+30PYC&-ig_5^v-7QS^toz zTO4h4wySk|$0jd_k{Vra+J?)$(y7MV>B8w_53VpdVNotx?CgeIxfXEostLLTsX%Li zZv7NOBcw(MjWiXS8kSqyw@2rw{qXBIFwE)BLnuungpeZ#-$`62iNe0rQq$^BbMu-X zBSb>lQ!Cl7d6cdCNF~ceK>;BpQVP=0#~F{1t^Lp~vx`xR{IHW&sm*TcqOA@$i)h#u z(vXDy8cDo+N2#)h+g=_kH-=$#M}kS1(%86(-`MD+kk3v#eDlTq4N$5ZF+YAaB=CKd z)eDz-40HG-gI^CYa}uX4sc+mOsBaHluB~CPsZ2p>$-!#5P!BWz8KpRA;P0#sb>+<> zUqzJBzn-028H|OVhqt{$!`P%BhYI5bO_LdKG+Py^B88H^5p$}VAnPS%HDO!VH^i*KO9{c^kuBW@cGpOphT&isjcR=@1zOh{#7q zKBDzn3^7^iRWFq8)I!!OAy=;XS^r-kO}n4Xbq&fTo8{vZ+*pb42r}CmpSZ@?U!0(c z$(5vt<>r{Y|3Q*Mmj0P*RB>;D5H!JF^X*9y5F;XFJ#_H4dmGm3Y`6*zsa(3n;A!jIf+J-#5Lk*yOoBT zWNE3Spwm`;Q`(A-wEB5=z_i_~Gwa)#nfgcs5`;phKBhgMnbC;Bna@#Bw^u@D?xQ-* z9%_X`8OMeo1V1cO-2ka}kTQWbT($tS@AKMugcywE9dF>Ab7Dqb{cehg_KhX6n14vO7q9a1(R&u zI8Pj;JaT$?RJOL8P^&v!y-}x94M5nK?%YVY>~2F~1{%0Sl<{L%~VDX!zv<;(RFKK!y{nfJ#OPn~C z~i;7Gwm^ynMWWA8=L4P>44@$G3CT;%FI{_*OxJnjKF=QY=W6lDzX?leJ3R0Zr4mk5o5#_`wDboU+)hC#+Rc z-uqyjFzUay4-1*SEuw@F+<$T!Qwhq%oKahlY{5r2`J;+r;mL2n{4~weUnke7QoQ&I zG8#RJ(yL(+x4j@#sVXj9l5B1buL+E!tC)N0SbHHeO{;*WSlD55qQKPTEcv`5=bGem z21yF9R!%UcrU;up@2{GaPdr3%YtTS&9i*G zu+Ka0X+H^hH@nu}(@#qGV6&xRkU8q+_UaoJPdyQ_xR5z0-dq`$0&Ahv=(^0d_NG%9 zhJ!Lnty;+T`}^rq89PWhP8eR#20MjrI@sMZ*g1-_n#Q>00^0r;5rDC~-m3Deas2e833DIemKKsV|x<69uK*1RfZK)m}l{(742qB5% zwW0r~>_M2&Y8ONGrUQPmgMd*oT}kAnJ(CIT`qmUkhMFg7(!u&y4a&%)j1rIyN~JUr zPBWWah*O-x6gtf!vW9u^HReuAls!5PwO5uqLl*3G*}nEJY0JHFbuH$`O3cn~%x*nJ zN`W$GfD-0mCZ&ySobvcc=Vm)!z|Lm_kVdt?2G@3%v-T{hMo58K4iGZym1*TC?+7wS zMKOn|IQ1Z&d5PRu2`zdj+cbu`h+*cChCL9iRC535$5Eq|Mv}E+3H`1incv(+iAg{c z#qW2Fddek>#f35p^A5Aq4zAn1_pDW7u3l^1e-8tiKp1@lP>s>1001BWNklE8Co7Y~*bjJrLbmFj1=w;tinnp+|m@L7mxtNL4-~{JtMY8*$ ziMI*%R`2`y@R{&)ZrIIMnq*1`ho_%O~3EzHclcv|Y zPxnOXrO0vZy36>O$HmM3Ks56p$lTk1xK~Crm%^EX+@% zCzcso8;la}Rc{(4><>b3zHI~j*F+qBglRq62b#T*IWz5ZYI&UTu@n1(&~A{!DiryU z7r+H)5>mIw?!sd{slG?*2W;J{vHQj=G{qR_;(0d2F}C&olVU;%6j{1)lB|<+C0}~R zV0QX&nMv(llZy++ZJYSqjTF^81bB~82aj~QUL+FA&s^ZWnL-g|V(a-C~>&o<#Qv-~M@EDmsR;0Qwy z00}lPc}@2~TB|kDP-|(Tzo3Bzl17pS8tC6>+TFKrw=O||yaWkv4vw!=-lYw*_tqdH zePmYFF(7bR?^?AgD>_X|Zw`|-Fs3!OKHAG`?DW6@`$+(E zcw^7@osL50Q(KRb#%q~5oatS|(0MjFXTce)Ghj2E>w{ySdYfTPyWdX44YV&Qj)N>s z2i#M=@seVfr++D3MMyt)=@n|=CqHKV@Y1Oh5vR#toZiBr_qu5EceeS-e@1DqXdNMt z>H<U@Q1ywM3C@ZFF#8HBhWVxU``f2Z@aLA0VT`VLyt}$X zsIxK1l)4-;%W5*;zLBxEG=3~^K9YR>?a_FRpUI7lqSc7%m3jPy$=5V-|A@WK23MY| zaP3BoiiW88I@<Xw5zq7}Z3UtQn@`&&NvV4qfU3De4tXB{Y(es+R4l3@^P$vg9T zRBak)j<3{!!|VjeoCcSpiXz2-|KAN~6~!_9<3Asf+2^pf8>xj0zcjpGnV!zRy<_?O ztMswbD3j!4lw3i3&yOwZg68^~<|nU&tglT^6KThePj9D~^>MEN9n2$eyr93p%j*2& zKOR$WS+tt1WJjp}g}V!y|MqV^D$(hK{7JngXEE`4uxa?_R`$dxs%xv2p_VOAQx6{r z?myV$=(xp6JtdjY2YZtK-QQgvs{K6I+4Vm!e0BPZrs)4Up58C|T+c>-wUNzH$b1qP zu|Z9OO5az^&-pCO`>d~3SY8T|QgKpGIXE=z?D-s&Fhv<)Dmjmk3V0m2a7AjK9eSL@ zhAmQCO%FD#jf?cxtazOOa=7e+V}O)Z1R8`cU{m*DQb+{)RDjTaf4SCkm=uiN#@Yn! z&Eto2NEJLqs2kB>lg|kn1k7i)9?S-qey}?9x6S&%pTl7bleWmR#yBK8ixdjy3?^$0 zv}))}N*`;dn}qcKpOHx6> z;Tk%u73*UWQs(KlwtEgclI9+1`)JIF>nu^sN%EuFu9J@&txOKr5WwCGQXYOkWSLi-_c_6XOC zNLy|EYK3T_f-jz@@`A|wyy^gx2!s6v1GtADaIoJbs9m2J$sC2uESAJ45)&($ zYc1MQ4j#LEaQ9xF&8-9}p9A_){VW@H6HX6TI64Gx!4O?)5v~jmy7kU6*Dor5^LF_; z;YpZZmRupGlYYv_jo104`67v#!?gO>nJhNE>KURrOQiDmjq0}_9?u4v-E~jD%RLQ5 z-WM~?z97xMIQ4yHT3#HUXxKYY{PEKoN!GuwrpY6OfOq`K6TPFgdS^+a1Tbb3C6~rP zvkRG(Nb&xA71q~Izb>|8$L~I_WA*Edp2<4Mk1>bfR`wbPfBcAcd=WizO-a%};Ct^B zk8^leY6vM7Y$@BZd8moGg# zn7e$@arxp3-3+26F`U#>j*k;|_SzhuBoiTYW4&??nomLJks!bpjHeAOEtG zWji^*4Wx0F0p?l3vP|KU#b&e4T$g`8&h(FavtMt0;K63e)rL^AzXQlUmrBJ9**Lr$BOp;7G5B^un`g5SYbg~ zUVbG)&2UNG*%N&EO_S~I+sxl=60NV3b{g0e()2a}w{KN=|Go14y}gqg0>NyciL+Fz z9B?kN}DjaOcW{FZNvUSLaS{#IJDfkXK*e>tLI8T>Q}!!;8M{mvfZ});m-{Y zPljPHO&$Soaa~U7ncL>K9~zQ$^;8fVg&-j+C|N_P6@(a^9O$RauCHm{f3Hd4MR8#zAPlA%wzaW(Y!|8x3>_l@A0=l909g z(Gg=>n5>D(>R8jpnmF&PC~I;)m4PF_(2V@=xBKG|1{uoR61B5Ew%dIq=Uyx ziH=*Fz2oq4Q)N%n$?oTQTbfg%l{RzO)RM&xn+deMjMOQYFSWV%U<)BU{OB6O<&isG z)m(h;r<^=!6CWp3<}1KJJ>)>zEI`~Y2TecFyz{g2^QYZ`|L~73I-OzjAS3RgL!Y_z z6;$vFI;^6j{L7zPe*xz*)X096bLF?sv{NT-AJaN~h>1JQRbT5Z%hD#9IU-A1L($mg zc8E#yi*cIX>Hm*nP+nf+HyJYX&-of5a!2K#yjo>_EdXX~AGEV4_~Pq2dwUyLo8JRY zzNr#j`G#oi632IQ&|F{hc=Pr0cl{Jt8;@J}C{klA4o%b#^=$@q}OZmaZP*%Gs22jPW_xRz5eRsmytYeO@h#KJq4Y^ z=8sZ;6|njEE@FS0xU5!<_|31bv9UIr_4nqMhGe6@){F`Jh(H3OcBfrTb{F{5(oK!@cvo@Goba^*B<>$C%ktm;uswH$TR7 zg!XGslq!3gI?Z7ND`)$G)Xsppi!pb4gK|&bz*#Vf;@%yB4kNtac?2F_%_mx~;MMXp z#?{6A7)(wwnh%;d<9eVOh4AtXNv$dfgUi&annp9D*-Y6#aeR9(W#ebRpd%kpW4QjY zo_KupM~_aYN_A}kZ$3qb5*13M&IjOg>#vuB<)m9>7c4vVUDEb3X(x|jNTpF;NVU=( z%p2ll59#?JGyJH6ES!sNYN)QSvGd7ybegw&pKa|PCIjs~HxV*n7&O!L>-^sd*jO8c z%-OWNFSvEL!^4Lw2w7w8?fm|h)Ghnp-r?kS2S2#W#zw$vF9j283-jplF-d%NV#Khw z&I3JWorBC++HDI$v9~9<_n^t6(zM$d?T(?<&SPhdMuU0*3Rn5|3aGs+2SE6ZS$aDR0^{?I_=;Kc$ zUw=D%vz-Q!v+8etd6DbaraQXr?&W~Fxz%;7dvd@WOm#U;eE>bd+9uA;HmlwH|0a(D z4oS!!cuE&1+uI>dN%}@r>I|Zm|;u&oPZ%jj?p?N#yom1mX~>;}w*rUPboy@n%#)=ux4H~Am;fxq9<#tqf~ z_Ii8@kE2I_9Qz2*yM)vVFY@rh{<-B<7EoRVsXVf@{8-Z7${1jdeg0zrXIU+4{=CW4 zi*1TEDb^-9lai%POxDI`9gK-lI*-l^=@Zu0sm_ns1)_EA=;}w^(bb(ok{P?i6>c=Tg?qpF}!feYj7>x;$G_l`wc;6 z^Y3$R{SBOnkvf=~2HTZ2DOubg?bJz{hoqeovZU4BNjPheN@KDFsXXS^a>F61e1!6l zDj=L+M<|UoN#6`=K+Wxa?)~SFNzzZae(f^%?(d=W&0^xKyI;$rncXO+b8zKy$jdLD z4KnK;#TVbiG+RrUT1GIRpMTNf^XRC6;<&}}r~if5p0`sCY`UP?=}b1H83fEx<^6vJ zQj|LbccYg8S1-?T^-9G0YCtp)={qfLHVOsrzNJ{b@Z{IwE`;8HnDXUUM@V&TD4ID4 znYnCkI3_O>g^rDN%X>eYJh4;;nrU{-+zT7M$-SYdril?ppK*Dv&BmhQ;iD%1_+Rql zW-zKbDr5Kg^)D-2+893{IhWmps>F>3`Yy z?(`Q;(f_^m!c$t4bDc&1>LZ&k-!!D@Bbv%s6;V$xxf7D8p%DF(Ayx{pu-XC|*p+S$X8R%c#cfOdV8EIG+1J8XuK zx)0Aq#2`ZqK}wAZ7YU??7cLS+D`V|IW>KdxKAB-n3^<~dd=TwND=6>msqUi? zX|n{AHiw@x$=ERt&^fZ0BAO$`^JA{V(?HYdF9;Vdu=v~>UTvHjl~+MW3+SM~O{;JJ zg1>+3{~a?oh8!|ClT}W#>bUzc(2%Qq6TFF&hU(~UQst45v{NVToRGGUNm|E6J#(77 z5-SgzCCsf}0haTL1mz=@MkpU^4BD^YRpv{95*T~lW(ir`=uK?+-WzOgDYVx=SIeTA zqfyM4UaWBC^4TUE4m&<~A32ez%Xbkb!qgiv^#=kYx4gn1I;8pKx$Q*MbZV$pIl4{yCAA0Qc67U^@;zd zTh5_MK5`T^)ASH8nkSx8nmwsCh!BF`{OSrDYfpDl>|B36I-?mYm&Os-V)mDr~KrR z$9+tCjCJjqK3}PYQ$aJ0kFchN5dK6X9N+H`C_2d}B<&+;AJJ~y>kZt6P(@0uhm^S) zkJ3@zQbKB^(8V&ZfWFg}CgoAR)8KNFOx8wwAyVprwBW9pR8fojmS#g8T*cgH(_!a3KAJ_0BeAa#h+AwhK= zKg^FOPp{zV6`aV^BZJENW7Xz9j;iw)Y1ManlM~Kayl{c);#ItG1*N00sN9o4mX4_LnWF5$v>ZIudYc+tYdb}oZQR_Zh-S(V*%DTmC_&+@D2 za1Q17mkCef(($Oh&0TKRF{1q9U^;oLk@UC5)8+Q()FZMzE2JTVLK(UWUqnT;?bq_Qvk>Zy>Up!M3bH5XD z5Z5?tYa&k|ulORK(ox?=D}vh=2pn14a493 zvV3;>_$1}%DB$+pk`^>mAT!H8!8uD5Y1Y>k_}N>_lwCU~fhK^i^uO=HsHSRs!>bol zLY?2=Tdj-_KH8ZHGyy*UGG=|XzmLm66F_P(=5vfWTPDou=h(ic!XUC7M)AI4bQCd>9QW^z5H$%^le zKJ%+@v$pUDcI)}TGFrHf7cK%0lf^U-Z#`9roJFB8dG{9`zPo+Q_Rb0I!sy94Hx)F4 zl>=5@{240fNA=30n3MF0{PzU)k7=|GnLnPsr@ROqEeru>nM~TEv3G|~eGf0J;)Nkn z`DkC`MOSj5H1^c!WSO$KMV2(lIt`N65n0^Aq-{*n!j=rmT_&-q#HBvTQGl~<^aW%l z2PNn7l-+(bGheT_-eT{na>oL$g3uL-tVld4<=j!De*RDpauSP@ZvD377 zp!oQ+`5qX-FlYi?+K}A3-RAb)HC}%;#<`5&{k}8Qu4AzNaC1v>@4n*NRl~zalKT&v z92~?PpBSX*Ak`}jx1bqLne~DWK@iqnj4c1q~i4)c^9W9-s8D8 zZ)`M?qQ5P_{b-9uvrSMk7g1(Tx4moF-ZiYRs)?W(1&+5~&9K=;?%X>Ws-ZkhKO_^M zbNx7V4x2wt{j0Cp{7dWjB;nw&!_ID-qmzVsBPGi$QT1oVD@+kVJne?+ih*R;0B58x zCKg;))M$2awlg&FG&8qwfPeS*&!Kh1?FWLbT?+`b9HRMr}!Bm!z?WP#y^Vbbzu`FP^h9Ntfq03`fhV3!1QzurAhi(@42g&t2}?bc53u;RB;Ty|5KBLcl+=HpvZc=Xuwzl_%qM&)#kzimTYI^NDos?%XE*&<=k<(2;zt+ogGIEzI1HEox{=pF+Q)~>QJocFzHbQ? zpk}Dw^ui0Yj&GrKm2ly?AUn?Er>#NI1aK(s zJ?J~mc9lcsJmF%0TfJx*9nF{415T68+GO!buMccln(Qp{YpeLx(@omW3Y1-$wnx_V zajC*)3YSSTbGI-M%FlJrd->EWc{-3b+Xc;0$OO>(OQNtpa2iaHU8pGHxi?@+B1Sho zwsW#Q2AFH}j*WTCQq^INWY(DQDRq@Nbs z`1zUAV<)MbHrt8I(`ErWtsNdbd=)8&?^kJh8?CRN$)Ud6f@bKs0y2X@a{al0+xL#} zg4fXA@Xk+@2N#K^FZw45v`NL<6q}ka( z6QEZ0s8v1I*CKA-7>~Z5>s(K&^T_6pQ|GYx7m)8OeBZFN0M{<}>q+w{Xw3F*i-W_M z_iq`#duZ(xgEepA-f$xhaiQVP0#f!rZM@=4skp!|WgXJM4Jw@`s%`Q_yy$jlm@;`b&xIw4qCMMtN9_twPNEC)ZS1N`X1nE`W} z()I~S>xj6qKL(WDXs0b{Kcmu-zKIFMClb@?L$-JxW&i*n07*naRCJo&>3wxtT_d$$ z;CU}kU!M^ZpjB?<<5KvAkF%&LsESYh&rL5%Ws;*%)Z^iSqlYrvj$@1vxhZ+947A&6E%D4cN^+bTdu7QeejHC;oSCtEKwaD%q?DDPov zQzZF~JV|CxWgObC7Nl-cnVU!ItG(yF3H>&mO~|r3X|hk69)L9%+r*?(ECEZ`K@GU4 zc7b&8IgPUlr54dzA!Rfrt=0~;HKF)zZQiD%T|dqTw9+C~h>ogc=?Qa7FCx7#2j;FR zlIllApF~1P4mSUQlwJYrU63|lyKPwd5%lik??ZVhRbj5w?ZY}WA)tB_1I}hFU;f3= z`_n9sK1uKNW7@B*BUVEiySYt#+U}6HJD4=Vq#4pvC@pyHrFn!@eECg=H8DY$M<=Z} zo(d_`8+>`INu`n^ZOVW8r{VS%!D7Jj%_VeEi`IqAL1pa*S-XLb=BTV)D;+pk6Jye5 z-X6k>h-QdJ&Z@)vpU^qkCT*XTE?268)-^nD5l=7RY)0JKCvNQ`+%O!O1Zyl9E9)C*99um%Pw z!?#K4u`mpnapDMkLAxV3I7+#DKV$berZ)E?QLQ#~ni$g}Zg1z=9DuWycKrmK?)J)% zeeWho`dKekHg_W3IFp%CnNDkK0y$)kY7jDYam}3uno06!w7!H=>l34y7giK2D?WGb zAMt4a6_CT1lP+XJZdUl(&2qqw6UFbpT*b(KN_QD(Lhiuat;;L}%~sp+!AIM`_5S*n zfaV}%LT(21(Wm7#n&+T-u5+F1NpudI--EVy40rAsu3uBEubpi+cN9R6j#EzRDVtj{ zckX34H`(;3E2V~=@?N;!pP7%M3Z7TMPQesX^>5UM&zMD{DY{P`K1B|_SzjXpykG zf>)TLOoGd?wU<7gzk=uI-%XYt5_h)p&kR<{(j&60jEld_%bG|TalHK%($7JclE`<@5J~AgS}Q%I zR0!#zy$VW)NF5XovO(@BYT{m`CT{M|v`=T&w4N(xkQ;b#+ORFCT);UqwYI7&zp`HX zycaEy#g4}AaI{AViPix^XukS3!SkQT^MHZuR+;uwVs*vg%~`xK1VaAw2#&w|lEhp^ z`GR1EY#(|WW?u(E;<^Lk5XEm`Lfp(Hw}A-yMat#sC4v%-e@0o3h}}UDpSu_0|Zl4e5IPRQ&QUKkKnFA>bo;YAT%7^1`SZT~i2zza55 zxFkT9U!$g_$9DDhWy|WKB~BsmVDpjW?)^HudkJZF3BP(mP`N>EVK|aJm@?aYE=}mv zPq5Yk{p-(QJtn~VYVgFMd0JbOe0`=zGOax%Ne+<%Jz2{ln!f*L;ib^Omkp-OzVcFp z=SjZ3)1gxP38Vf_gP^&(B6;TxHP&tg3efy≧LUW0OD=;5eHDZ;>~ne;ET!fDiw$ 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

RwFji>7TO;?`w><8&2W^QM2hZN^(JKY%A|+G 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

d993D}uIj39kY3UmT0UVTU~S=M!Sh#j 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


jIw(rlr#tSZL1BP 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 literal 0 HcmV?d00001 diff --git a/Gui/Icons/solid_material.svg b/Gui/Icons/solid_material.svg new file mode 100644 index 00000000..1a18ad37 --- /dev/null +++ b/Gui/Icons/solid_material.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gui/TaskPanelCfdSolidProperties.ui b/Gui/TaskPanelCfdSolidProperties.ui new file mode 100644 index 00000000..8ac19c07 --- /dev/null +++ b/Gui/TaskPanelCfdSolidProperties.ui @@ -0,0 +1,193 @@ + + + TaskPanelCfdSolidProperties + + + + 0 + 0 + 338 + 420 + + + + Solid properties + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 75 + true + + + + Material name + + + + + + + + + + + 75 + true + + + + Solid properties + + + + + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + Heat generation: + + + + + + + 0 W/m^3 + + + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 10 + 75 + true + + + + Predefined solid library + + + + + + + + + + Material description + + + true + + + + + + + Save... + + + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 75 + true + + + + Solid body (region geometry) + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + material_name + PredefinedMaterialLibraryComboBox + + + + diff --git a/Gui/TaskPanelPhysics.ui b/Gui/TaskPanelPhysics.ui index 2c5d0b2f..111721f7 100644 --- a/Gui/TaskPanelPhysics.ui +++ b/Gui/TaskPanelPhysics.ui @@ -418,6 +418,19 @@ + + + + + 0 + 0 + + + + Multi-region (conjugate heat transfer) + + + diff --git a/InitGui.py b/InitGui.py index 74813cee..0d4281b6 100644 --- a/InitGui.py +++ b/InitGui.py @@ -60,6 +60,7 @@ def Initialize(self): import CfdOF.Mesh.CfdMeshRefinement import CfdOF.Solve.CfdPhysicsSelection import CfdOF.Solve.CfdFluidMaterial + import CfdOF.Solve.CfdSolidMaterial import CfdOF.Solve.CfdSolverFoam import CfdOF.Solve.CfdInitialiseFlowField import CfdOF.Solve.CfdFluidBoundary @@ -107,7 +108,7 @@ def Initialize(self): ('M', QT_TRANSLATE_NOOP("Workbench", "Dynamic mesh refinement"), ['CfdOF_DynamicMeshInterfaceRefinement','CfdOF_DynamicMeshShockRefinement',]), ('T', 'CfdOF_GroupDynamicMeshRefinement',), - 'CfdOF_PhysicsModel', 'CfdOF_FluidMaterial', + 'CfdOF_PhysicsModel', 'CfdOF_FluidMaterial', 'CfdOF_SolidMaterial', 'CfdOF_FluidBoundary', 'CfdOF_InitialiseInternal', 'CfdOF_InitialisationZone', 'CfdOF_PorousZone', 'CfdOF_MeanVelocityForce', 'CfdOF_ReportingFunctions', 'CfdOF_ScalarTransportFunctions', From 23277b53feaee68cee08b4f60e92857fb61dd13f Mon Sep 17 00:00:00 2001 From: Kavin Teenakul Date: Sat, 27 Jun 2026 09:22:57 +0200 Subject: [PATCH 2/2] Add SimpleHeatFin CHT regression test --- Data/Templates/case/Allrun | 2 + .../SimpleHeatFin/case/0/FluidProperties/T | 58 ++ .../SimpleHeatFin/case/0/FluidProperties/U | 52 ++ .../SimpleHeatFin/case/0/FluidProperties/p | 55 ++ .../case/0/FluidProperties/p_rgh | 55 ++ .../cases/SimpleHeatFin/case/0/aluminium/T | 44 ++ .../cases/SimpleHeatFin/case/0/aluminium/p | 38 ++ .../TestFiles/cases/SimpleHeatFin/case/Allrun | 236 ++++++++ .../cases/SimpleHeatFin/case/Allrun.bat | 30 + .../cases/SimpleHeatFin/case/Allrun.ps1 | 76 +++ .../case/constant/FluidProperties/fvOptions | 28 + .../FluidProperties/momentumTransport | 17 + .../FluidProperties/thermophysicalProperties | 47 ++ .../FluidProperties/turbulenceProperties | 19 + .../case/constant/aluminium/fvOptions | 29 + .../aluminium/thermophysicalProperties | 50 ++ .../cases/SimpleHeatFin/case/constant/g | 19 + .../case/constant/polyMesh/boundary | 44 ++ .../case/constant/regionProperties | 26 + .../constant/triSurface/FluidProperties.stl | 86 +++ .../case/constant/triSurface/aluminium.stl | 86 +++ .../cases/SimpleHeatFin/case/pv.foam | 1 + .../cases/SimpleHeatFin/case/pvScript.py | 58 ++ .../system/FluidProperties/decomposeParDict | 21 + .../case/system/FluidProperties/fvSchemes | 63 ++ .../case/system/FluidProperties/fvSolution | 116 ++++ .../case/system/aluminium/decomposeParDict | 21 + .../case/system/aluminium/fvSchemes | 47 ++ .../case/system/aluminium/fvSolution | 58 ++ .../SimpleHeatFin/case/system/controlDict | 50 ++ .../SimpleHeatFin/case/system/createPatchDict | 69 +++ .../case/system/decomposeParDict | 21 + .../cases/SimpleHeatFin/case/system/fvSchemes | 23 + .../SimpleHeatFin/case/system/fvSolution | 18 + .../cases/SimpleHeatFin/meshCase/Allmesh | 56 ++ .../cases/SimpleHeatFin/meshCase/Allmesh.bat | 31 + .../cases/SimpleHeatFin/meshCase/Allmesh.ps1 | 46 ++ .../gmsh/BooleanFragments_Geometry.brep | 572 ++++++++++++++++++ .../gmsh/BooleanFragments_Geometry.geo | 51 ++ .../cases/SimpleHeatFin/meshCase/pv.foam | 1 + .../SimpleHeatFin/meshCase/pvScriptMesh.py | 51 ++ .../SimpleHeatFin/meshCase/system/controlDict | 48 ++ .../meshCase/system/createPatchDict | 3 + .../SimpleHeatFin/meshCase/system/fvSchemes | 28 + .../SimpleHeatFin/meshCase/system/fvSolution | 18 + .../meshCase/system/meshQualityDict | 70 +++ TestCfdOF.py | 30 +- 47 files changed, 2663 insertions(+), 5 deletions(-) create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/T create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/U create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p_rgh create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/T create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/p create mode 100755 Data/TestFiles/cases/SimpleHeatFin/case/Allrun create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/Allrun.bat create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/Allrun.ps1 create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/fvOptions create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/momentumTransport create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/thermophysicalProperties create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/turbulenceProperties create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/fvOptions create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/thermophysicalProperties create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/g create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/polyMesh/boundary create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/regionProperties create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/FluidProperties.stl create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/aluminium.stl create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/pv.foam create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/pvScript.py create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/decomposeParDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSchemes create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSolution create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/decomposeParDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSchemes create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSolution create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/controlDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/createPatchDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/decomposeParDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/fvSchemes create mode 100644 Data/TestFiles/cases/SimpleHeatFin/case/system/fvSolution create mode 100755 Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.bat create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.ps1 create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.brep create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.geo create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/pv.foam create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/pvScriptMesh.py create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/system/controlDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/system/createPatchDict create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSchemes create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSolution create mode 100644 Data/TestFiles/cases/SimpleHeatFin/meshCase/system/meshQualityDict diff --git a/Data/Templates/case/Allrun b/Data/Templates/case/Allrun index efc5f3be..792e1b0d 100644 --- a/Data/Templates/case/Allrun +++ b/Data/Templates/case/Allrun @@ -409,6 +409,7 @@ NPROC=$(foamDictionary -entry "numberOfSubdomains" -value system/decomposeParDic runParallel $NPROC renumberMesh -overwrite %} %} +%} %:True # Mesh renumbering does not work in Foundation with dynamic mesh %} @@ -490,6 +491,7 @@ fi runCommand renumberMesh -overwrite %} %} +%} %:True # Mesh renumbering does not currently work in Foundation with dynamic mesh # runCommand renumberMesh -overwrite diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/T b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/T new file mode 100644 index 00000000..e07a88ff --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/T @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/FluidProperties"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 293.0; + +boundaryField +{ + wall001 + { + type zeroGradient; + value $internalField; + } + + inlet + { + type inletOutlet; + inletValue uniform 293.0; + value uniform 293.0; + } + + outlet + { + type inletOutlet; + inletValue uniform 293.0; + value $internalField; + } + + + FluidProperties_to_aluminium + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod fluidThermo; + } + + defaultFaces + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/U b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/U new file mode 100644 index 00000000..185b848d --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/U @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0/FluidProperties"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.0 0.0 0.0); + +boundaryField +{ + wall001 + { + type noSlip; + } + + inlet + { + type fixedValue; + value uniform (0.0 0.1 0.0); + } + + outlet + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } + + + FluidProperties_to_aluminium + { + type noSlip; + } + + defaultFaces + { + type noSlip; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p new file mode 100644 index 00000000..36ebf968 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/FluidProperties"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000.0; + +boundaryField +{ + wall001 + { + type calculated; + value $internalField; + } + + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + + FluidProperties_to_aluminium + { + type calculated; + value $internalField; + } + + defaultFaces + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p_rgh b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p_rgh new file mode 100644 index 00000000..27e50a00 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/FluidProperties/p_rgh @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/FluidProperties"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000.0; + +boundaryField +{ + wall001 + { + type fixedFluxPressure; + value $internalField; + } + + inlet + { + type fixedFluxPressure; + value $internalField; + } + + outlet + { + type fixedValue; + value uniform 100000.0; + } + + + FluidProperties_to_aluminium + { + type fixedFluxPressure; + value $internalField; + } + + defaultFaces + { + type fixedFluxPressure; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/T b/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/T new file mode 100644 index 00000000..5b90c718 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/T @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/aluminium"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 293.0; + +boundaryField +{ + heatsource001 + { + type fixedValue; + value uniform 393.0; + } + + + aluminium_to_FluidProperties + { + type compressible::turbulentTemperatureCoupledBaffleMixed; + value $internalField; + Tnbr T; + kappaMethod solidThermo; + } + + defaultFaces + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/p b/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/p new file mode 100644 index 00000000..da6f7573 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/0/aluminium/p @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/aluminium"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000.0; + +boundaryField +{ + heatsource001 + { + type calculated; + value $internalField; + } + + + // Derived from p_rgh at fluid-solid interface + defaultFaces + { + type calculated; + value $internalField; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/Allrun b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun new file mode 100755 index 00000000..9c3ef1ae --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun @@ -0,0 +1,236 @@ +#!/bin/bash + +runParallel() +{ + nproc="$1" + shift + exe="$(which $1)" + sol=$(basename -- "$1") + sol="${sol%.*}" + shift + if [ -f log."$sol" ]; then rm log."$sol"; fi + export OMPI_MCA_btl_vader_single_copy_mechanism=none # Workaround for open-mpi/docker bug + mpiexec -np $nproc "$exe" -parallel "$@" 1> >(tee -a log."$sol") 2> >(tee -a log."$sol" >&2) + err=$? + if [ ! $err -eq 0 ]; then exit $err; fi +} + +runCommand() +{ + sol=$(basename -- "$1") + sol="${sol%.*}" + if [ -f log."$sol" ]; then rm log."$sol"; fi + "$@" 1> >(tee -a log."$sol") 2> >(tee -a log."$sol" >&2) + err=$? + if [ ! $err -eq 0 ]; then exit $err; fi +} + +# Unset and source bashrc +FOAMDIR="/usr/lib/openfoam/openfoam2606" +if [ ! -z "$FOAMDIR" ] +then + source "$FOAMDIR/etc/config.sh/unset" 2> /dev/null + source "$FOAMDIR/etc/bashrc" +fi + +# Copy mesh from mesh case dir if available +MESHDIR="../meshCaseSimpleHeatFin" +if [ -f "$MESHDIR"/constant/polyMesh/faces ] +then + rm -rf constant/polyMesh + cp -r "$MESHDIR"/constant/polyMesh constant/polyMesh +elif [ ! -f constant/polyMesh/faces ] +then + echo "Fatal error: Unable to find mesh in directory $MESHDIR" 1>&2 + exit 1 +fi + +# Detect available turbulence lib +if [ -f "$FOAM_LIBBIN/libmomentumTransportModels.so" ] || [ -f "$FOAM_LIBBIN/libmomentumTransportModels.dll" ] +then + echo \"libmomentumTransportModels.so\" > system/turbulenceLib +else + echo \"libturbulenceModels.so\" > system/turbulenceLib +fi + +# Change specification of interface compression in OF 13+ +if [ -z ${FOAM_API+x} ] && [ "$WM_PROJECT_VERSION" -ge 13 ] +then + echo "div(phi,alpha) Gauss interfaceCompression vanLeer 1;" > system/alphaDivScheme + echo "" > system/cAlpha +else + echo "div(phi,alpha) Gauss vanLeer;" > system/alphaDivScheme + echo "cAlpha 1;" > system/cAlpha +fi + +# Update patch name and type +runCommand createPatch -overwrite + +# Split combined mesh into fluid and solid regions +runCommand splitMeshRegions -cellZonesOnly -overwrite + +# Upgrade sampleMode on all mappedWall interface patches to nearestPatchFaceAMI (parallel-safe) +# and add missing patch entries to 0/ field files for any interface patches splitMeshRegions created. +# splitMeshRegions already creates correct _to_ / _to_ mappedWall pairs; +# we only need to upgrade their sampleMode and populate the 0/ field files. +env -u PYTHONPATH -u PYTHONHOME python3 << 'PYEOF' +import re, os, glob + +FLUID_REGIONS = [] +SOLID_REGIONS = [] +try: + with open('constant/regionProperties') as f: + txt = f.read() + fm = re.search(r'fluid\s*\(\s*([^)]*?)\s*\)', txt) + sm = re.search(r'solid\s*\(\s*([^)]*?)\s*\)', txt) + if fm: + FLUID_REGIONS = fm.group(1).split() + if sm: + SOLID_REGIONS = sm.group(1).split() +except FileNotFoundError: + pass + +def fix_samplemode_to_ami(bfile): + """Upgrade sampleMode nearestPatchFace → nearestPatchFaceAMI for parallel CHT.""" + with open(bfile) as f: + txt = f.read() + txt = txt.replace('sampleMode nearestPatchFace;\n', + 'sampleMode nearestPatchFaceAMI;\n') + with open(bfile, 'w') as f: + f.write(txt) + +def get_mapped_patches(bfile): + """Return names of all mappedWall patches in boundary file.""" + with open(bfile) as f: + txt = f.read() + return re.findall(r'\n\s+(\w+)\s*\n\s*\{[^}]*type\s+mappedWall', txt) + +def get_nonmapped_patches(bfile): + """Return names of all non-mappedWall patches in boundary file.""" + with open(bfile) as f: + txt = f.read() + all_patches = re.findall(r'\n (\w+)\n \{', txt) + mapped = set(re.findall(r'\n\s+(\w+)\s*\n\s*\{[^}]*type\s+mappedWall', txt)) + return [p for p in all_patches if p not in mapped] + +def patch_present(field_txt, patch_name): + return bool(re.search(r'\n\s+' + re.escape(patch_name) + r'\s*\n\s*\{', field_txt)) + +def add_patch_entry(field_file, patch_name, bc_lines): + with open(field_file) as f: + txt = f.read() + if patch_present(txt, patch_name): + return + entry = '\n ' + patch_name + '\n {\n' + for line in bc_lines: + entry += ' ' + line + '\n' + entry += ' }\n' + # Insert before the LAST closing brace (end of boundaryField, not FoamFile header) + matches = list(re.finditer(r'\n}', txt)) + if matches: + pos = matches[-1].start() + 1 + txt = txt[:pos] + entry + txt[pos:] + with open(field_file, 'w') as f: + f.write(txt) + +def add_missing_patches_to_fields(region, patches, is_fluid): + field_dir = os.path.join('0', region) + if not os.path.isdir(field_dir): + return + for patch in patches: + for field_file in glob.glob(os.path.join(field_dir, '*')): + fname = os.path.basename(field_file) + if fname == 'T': + kappa = 'fluidThermo' if is_fluid else 'solidThermo' + add_patch_entry(field_file, patch, [ + 'type compressible::turbulentTemperatureCoupledBaffleMixed;', + 'value $internalField;', + 'Tnbr T;', + 'kappaMethod ' + kappa + ';', + ]) + elif fname == 'U' and is_fluid: + add_patch_entry(field_file, patch, ['type noSlip;']) + elif fname == 'p_rgh' and is_fluid: + add_patch_entry(field_file, patch, [ + 'type fixedFluxPressure;', + 'value $internalField;', + ]) + elif fname == 'p': + add_patch_entry(field_file, patch, [ + 'type calculated;', + 'value $internalField;', + ]) + elif fname == 'nut' and is_fluid: + add_patch_entry(field_file, patch, [ + 'type nutkWallFunction;', + 'value $internalField;', + ]) + elif fname in ('k', 'epsilon', 'omega', 'nuTilda', 'alphat') and is_fluid: + add_patch_entry(field_file, patch, ['type zeroGradient;']) + +for r in FLUID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + fix_samplemode_to_ami(bfile) +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + fix_samplemode_to_ami(bfile) + +# Add 0/ field entries for all mappedWall interface patches splitMeshRegions created +for r in FLUID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + mapped = [p for p in get_mapped_patches(bfile) if p != 'defaultFaces'] + add_missing_patches_to_fields(r, mapped, is_fluid=True) +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + mapped = [p for p in get_mapped_patches(bfile) if p != 'defaultFaces'] + add_missing_patches_to_fields(r, mapped, is_fluid=False) + +# Add default BC entries for non-mapped patches in solid regions that aren't yet in +# the field files (e.g. inlet/outlet/wall faces that fall inside a solid volume after +# splitMeshRegions). OpenFOAM requires an explicit entry for every patch in boundaryField. +for r in SOLID_REGIONS: + bfile = 'constant/' + r + '/polyMesh/boundary' + if not os.path.exists(bfile): + continue + nonmapped = get_nonmapped_patches(bfile) + for patch in nonmapped: + for field_file in glob.glob(os.path.join('0', r, '*')): + fname = os.path.basename(field_file) + if fname == 'T': + add_patch_entry(field_file, patch, ['type zeroGradient;']) + elif fname == 'p': + add_patch_entry(field_file, patch, [ + 'type calculated;', + 'value $internalField;', + ]) +PYEOF + +# Parallel decomposition +# Copy decomposeParDict to each region's system directory +for region in $(ls -d constant/*/polyMesh 2>/dev/null | cut -d/ -f2); do + mkdir -p system/$region + cp system/decomposeParDict system/$region/decomposeParDict +done +runCommand decomposePar -allRegions -force +# Pick up number of parallel processes +NPROC=$(foamDictionary -entry "numberOfSubdomains" -value system/decomposeParDict) + + +# Run application in parallel +# Detect new foamRun in Foundation versions >= 11 and translate solver +which foamRun > /dev/null 2>&1 +if [ $? == 0 ] +then + runParallel $NPROC chtMultiRegionSimpleFoam +else + runParallel $NPROC chtMultiRegionSimpleFoam +fi + diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.bat b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.bat new file mode 100644 index 00000000..0a7fd8b8 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.bat @@ -0,0 +1,30 @@ +@echo off + +REM Source runtime environment + +set FOAMDIR="/usr/lib/openfoam/openfoam2606" +set CWD=%CD% +set FOAMVER=None + +if %FOAMVER% GEQ 1000 goto OPENCFD +:FOUNDATION +set OLDPATH=%PATH% +call %FOAMDIR%\setvars_OF%FOAMVER%.bat +set PATH=%PATH%;%OLDPATH% + +REM Fix for error in FOAM_MPI in setvars-OF.bat +FOR /F "tokens=* USEBACKQ" %%F IN (`dir /b %%FOAM_LIBBIN%%\MS-MPI*`) DO ( +SET FOAM_MPI=%%F +) +set PATH=%FOAM_LIBBIN%\%FOAM_MPI%;%PATH% +goto CONTINUE + +:OPENCFD +call %FOAMDIR%\setEnvVariables-v%FOAMVER%.bat + +:CONTINUE + +cd /d %CWD% + +REM Run PowerShell script +PowerShell -NoProfile -ExecutionPolicy Bypass -File Allrun.ps1 diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.ps1 b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.ps1 new file mode 100644 index 00000000..481f11d1 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/Allrun.ps1 @@ -0,0 +1,76 @@ +function runCommand([string]$cmd) +{ + $sol = (Split-Path -Leaf $cmd) + & $cmd $args 2>&1 | tee log.$sol + $err = $LASTEXITCODE + if( ! $LASTEXITCODE -eq 0 ) + { + exit $err + } +} + +function runParallel([int]$NumProcs, [string]$cmd) +{ + $sol = (Split-Path -Leaf $cmd) + & mpiexec -affinity -affinity_layout spr:P:L -np $NumProcs $cmd -parallel $args 2>&1 | tee log.$sol + $err = $LASTEXITCODE + if( ! $LASTEXITCODE -eq 0 ) + { + exit $err + } +} + +# Set piping to file to ascii +$PSDefaultParameterValues['Out-File:Encoding'] = 'ascii' + +# Copy mesh from mesh case dir if available +$MESHDIR = "../meshCaseSimpleHeatFin" +if( Test-Path -PathType Leaf $MESHDIR/constant/polyMesh/faces ) +{ + rm -ErrorAction SilentlyContinue -Recurse -Force constant/polyMesh + cp -Recurse $MESHDIR/constant/polyMesh constant/polyMesh +} +elseif( !(Test-Path -PathType Leaf constant/polyMesh/faces) ) +{ + throw "Fatal error: Unable to find mesh in directory $MESHDIR" +} + +# Set turbulence lib +if ( $Env:WM_PROJECT_VERSION[0] -eq "v" -or 10 -gt $Env:WM_PROJECT_VERSION ) +{ + echo '"libturbulenceModels"' > system/turbulenceLib +} +else +{ + echo '"libmomentumTransportModels"' > system/turbulenceLib +} + +# Set interface compression +echo "div(phi,alpha) Gauss vanLeer;" > system/alphaDivScheme +echo "cAlpha 1;" > system/cAlpha + +# Update patch name and type +runCommand createPatch -overwrite + +# Parallel decomposition +if( !(Test-Path -PathType Container processor0) ) +{ + runCommand decomposePar -force +} + +# Pick up number of parallel processes +$NPROC = foamDictionary -entry "numberOfSubdomains" -value system/decomposeParDict + +# Mesh renumbering +runParallel $NPROC renumberMesh -overwrite + +# Run application in parallel +# Detect new foamRun in Foundation versions >= 11 and translate solver +if( (Get-Command -ErrorAction SilentlyContinue foamRun) ) +{ + runParallel $NPROC chtMultiRegionSimpleFoam +} +else +{ + runParallel $NPROC chtMultiRegionSimpleFoam +} diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/fvOptions b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/fvOptions new file mode 100644 index 00000000..8a9b7783 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/fvOptions @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/FluidProperties"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +limitT +{ + type limitTemperature; + active yes; + selectionMode all; + min 200; + max 5000; +} + +#includeIfPresent "fvOptionsScalarTransport" + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/momentumTransport b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/momentumTransport new file mode 100644 index 00000000..27831758 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/momentumTransport @@ -0,0 +1,17 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/FluidProperties"; + object momentumTransport; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "turbulenceProperties" diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/thermophysicalProperties b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/thermophysicalProperties new file mode 100644 index 00000000..b586c48e --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/thermophysicalProperties @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/FluidProperties"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + specie specie; + equationOfState perfectGas; + thermo hConst; + transport sutherland; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.964389774888698; + } + thermodynamics + { + Cp 1004.703; + Hf 0; + } + transport + { + As 1.4579326545176254e-06; + Ts 110.4; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/turbulenceProperties b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/turbulenceProperties new file mode 100644 index 00000000..54fbcaf4 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/FluidProperties/turbulenceProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/FluidProperties"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/fvOptions b/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/fvOptions new file mode 100644 index 00000000..661dea11 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/fvOptions @@ -0,0 +1,29 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/aluminium"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +heatSource +{ + type scalarSemiImplicitSource; + active false; + selectionMode all; + volumeMode specific; + injectionRateSuSp + { + h (0.0 0); + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/thermophysicalProperties b/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/thermophysicalProperties new file mode 100644 index 00000000..9fcfc918 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/aluminium/thermophysicalProperties @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/aluminium"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture pureMixture; + transport constIso; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 1; + } + transport + { + kappa 237.0; + } + thermodynamics + { + Cp 897.0; + Hf 0; + } + equationOfState + { + rho 2699.0; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/g b/Data/TestFiles/cases/SimpleHeatFin/case/constant/g new file mode 100644 index 00000000..3a17d8b3 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/g @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0.0 0.0 -9.81); + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/polyMesh/boundary b/Data/TestFiles/cases/SimpleHeatFin/case/constant/polyMesh/boundary new file mode 100644 index 00000000..999d67dd --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/polyMesh/boundary @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +( + wall001 + { + type wall; + } + + heatsource001 + { + type wall; + } + + inlet + { + type patch; + } + + outlet + { + type patch; + } + + defaultFaces + { + type wall; + } + +) + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/regionProperties b/Data/TestFiles/cases/SimpleHeatFin/case/constant/regionProperties new file mode 100644 index 00000000..b9df13b5 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/regionProperties @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object regionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +regions +( + fluid ( + FluidProperties + ) + solid ( + aluminium + ) +); + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/FluidProperties.stl b/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/FluidProperties.stl new file mode 100644 index 00000000..caadbcea --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/FluidProperties.stl @@ -0,0 +1,86 @@ +solid FluidProperties + facet normal -1.0 0.0 0.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 0.0 0.0 0.05 + vertex 0.0 0.03 0.0 + endloop + endfacet + facet normal -1.0 0.0 0.0 + outer loop + vertex 0.0 0.03 0.0 + vertex 0.0 0.0 0.05 + vertex 0.0 0.03 0.05 + endloop + endfacet + facet normal 1.0 0.0 0.0 + outer loop + vertex 0.07 0.0 0.05 + vertex 0.07 0.0 0.0 + vertex 0.07 0.03 0.0 + endloop + endfacet + facet normal 1.0 -0.0 0.0 + outer loop + vertex 0.07 0.0 0.05 + vertex 0.07 0.03 0.0 + vertex 0.07 0.03 0.05 + endloop + endfacet + facet normal 0.0 -1.0 0.0 + outer loop + vertex 0.07 0.0 0.0 + vertex 0.07 0.0 0.05 + vertex 0.0 0.0 0.0 + endloop + endfacet + facet normal 0.0 -1.0 0.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 0.07 0.0 0.05 + vertex 0.0 0.0 0.05 + endloop + endfacet + facet normal 0.0 1.0 0.0 + outer loop + vertex 0.07 0.03 0.05 + vertex 0.07 0.03 0.0 + vertex 0.0 0.03 0.0 + endloop + endfacet + facet normal 0.0 1.0 0.0 + outer loop + vertex 0.07 0.03 0.05 + vertex 0.0 0.03 0.0 + vertex 0.0 0.03 0.05 + endloop + endfacet + facet normal 0.0 0.0 -1.0 + outer loop + vertex 0.0 0.03 0.0 + vertex 0.07 0.03 0.0 + vertex 0.0 0.0 0.0 + endloop + endfacet + facet normal 0.0 0.0 -1.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 0.07 0.03 0.0 + vertex 0.07 0.0 0.0 + endloop + endfacet + facet normal 0.0 0.0 1.0 + outer loop + vertex 0.07 0.03 0.05 + vertex 0.0 0.03 0.05 + vertex 0.0 0.0 0.05 + endloop + endfacet + facet normal 0.0 0.0 1.0 + outer loop + vertex 0.07 0.03 0.05 + vertex 0.0 0.0 0.05 + vertex 0.07 0.0 0.05 + endloop + endfacet +endsolid FluidProperties diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/aluminium.stl b/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/aluminium.stl new file mode 100644 index 00000000..3c6c55e0 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/constant/triSurface/aluminium.stl @@ -0,0 +1,86 @@ +solid aluminium + facet normal -1.0 0.0 0.0 + outer loop + vertex 0.0 0.015 0.013000000000000001 + vertex 0.0 0.015 0.023 + vertex 0.0 0.016 0.013000000000000001 + endloop + endfacet + facet normal -1.0 0.0 0.0 + outer loop + vertex 0.0 0.016 0.013000000000000001 + vertex 0.0 0.015 0.023 + vertex 0.0 0.016 0.023 + endloop + endfacet + facet normal 1.0 0.0 0.0 + outer loop + vertex 0.06 0.015 0.023 + vertex 0.06 0.015 0.013000000000000001 + vertex 0.06 0.016 0.013000000000000001 + endloop + endfacet + facet normal 1.0 -0.0 0.0 + outer loop + vertex 0.06 0.015 0.023 + vertex 0.06 0.016 0.013000000000000001 + vertex 0.06 0.016 0.023 + endloop + endfacet + facet normal 0.0 -1.0 0.0 + outer loop + vertex 0.06 0.015 0.013000000000000001 + vertex 0.06 0.015 0.023 + vertex 0.0 0.015 0.013000000000000001 + endloop + endfacet + facet normal 0.0 -1.0 0.0 + outer loop + vertex 0.0 0.015 0.013000000000000001 + vertex 0.06 0.015 0.023 + vertex 0.0 0.015 0.023 + endloop + endfacet + facet normal 0.0 1.0 0.0 + outer loop + vertex 0.06 0.016 0.023 + vertex 0.06 0.016 0.013000000000000001 + vertex 0.0 0.016 0.013000000000000001 + endloop + endfacet + facet normal 0.0 1.0 0.0 + outer loop + vertex 0.06 0.016 0.023 + vertex 0.0 0.016 0.013000000000000001 + vertex 0.0 0.016 0.023 + endloop + endfacet + facet normal 0.0 0.0 -1.0 + outer loop + vertex 0.0 0.016 0.013000000000000001 + vertex 0.06 0.016 0.013000000000000001 + vertex 0.0 0.015 0.013000000000000001 + endloop + endfacet + facet normal 0.0 0.0 -1.0 + outer loop + vertex 0.0 0.015 0.013000000000000001 + vertex 0.06 0.016 0.013000000000000001 + vertex 0.06 0.015 0.013000000000000001 + endloop + endfacet + facet normal 0.0 0.0 1.0 + outer loop + vertex 0.06 0.016 0.023 + vertex 0.0 0.016 0.023 + vertex 0.0 0.015 0.023 + endloop + endfacet + facet normal 0.0 0.0 1.0 + outer loop + vertex 0.06 0.016 0.023 + vertex 0.0 0.015 0.023 + vertex 0.06 0.015 0.023 + endloop + endfacet +endsolid aluminium diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/pv.foam b/Data/TestFiles/cases/SimpleHeatFin/case/pv.foam new file mode 100644 index 00000000..1a45dea5 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/pv.foam @@ -0,0 +1 @@ +Dummy file for loading case in paraview diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/pvScript.py b/Data/TestFiles/cases/SimpleHeatFin/case/pvScript.py new file mode 100644 index 00000000..8b5a2870 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/pvScript.py @@ -0,0 +1,58 @@ +#### import the simple module from the paraview +from paraview.simple import * +#### disable automatic camera reset on 'Show' +paraview.simple._DisableFirstRenderCameraReset() + +# create a new OpenFOAMReader +pfoam = OpenFOAMReader(FileName=r'pv.foam') +pfoam.CaseType = 'Decomposed Case' +if hasattr(pfoam, 'Decomposepolyhedra'): + pfoam.Decomposepolyhedra = 0 + +if hasattr(pfoam, 'Createcelltopointfiltereddata'): + pfoam.Createcelltopointfiltereddata = 1 + +# get active view +renderView1 = GetActiveViewOrCreate('RenderView') + +# reset view to fit data +renderView1.ResetCamera() + +# create a new 'Clean to Grid' +cleantoGrid1 = CleantoGrid(Input=pfoam) + +# show data in view +cleantoGrid1Display = Show(cleantoGrid1, renderView1) + +# hide data in view +Hide(pfoam, renderView1) + +# get color transfer function/color map for 'U' +ULUT = GetColorTransferFunction('U') + +# trace defaults for the display properties. +cleantoGrid1Display.ColorArrayName = ['POINTS', 'U'] +cleantoGrid1Display.LookupTable = ULUT +cleantoGrid1Display.EdgeColor = [0.0, 0.0, 0.5] +cleantoGrid1Display.ScalarOpacityUnitDistance = 0.05 + +# get animation scene +animationScene1 = GetAnimationScene() + +# update animation scene based on data timesteps +animationScene1.UpdateAnimationUsingDataTimeSteps() + +# go to the final timestep of the simulation +timesteps = pfoam.TimestepValues +finalTime = timesteps[-1] +animationScene1.AnimationTime = finalTime + +# rescale color and/or opacity maps used to exactly fit the current data range +cleantoGrid1Display.RescaleTransferFunctionToDataRange(False, True) + +# update the view to ensure updated data information +renderView1.Update() + +# reset view to fit data +renderView1.ResetCamera(False) + diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/decomposeParDict b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/decomposeParDict new file mode 100644 index 00000000..bb5f98bb --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/decomposeParDict @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/FluidProperties"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSchemes b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSchemes new file mode 100644 index 00000000..6398510d --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSchemes @@ -0,0 +1,63 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/FluidProperties"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + grad(U) cellLimited Gauss linear 1; +} + +divSchemes +{ + default none; + div(phi,U) bounded Gauss upwind; + div(phi,K) bounded Gauss upwind; + div(phi,h) bounded Gauss upwind; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p_rgh; +} + +wallDist +{ + method meshWave; +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSolution b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSolution new file mode 100644 index 00000000..66a7b5cf --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/FluidProperties/fvSolution @@ -0,0 +1,116 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/FluidProperties"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 3; + consistent no; + + residualControl + { + p_rgh 0.001; + U 0.001; + h 0.001; + "(k|epsilon|omega|nuTilda)" 0.001; + } + + pRefValue 0; + pRefCell 0; +} + +solvers +{ + "(p_rgh|pcorr)" + { + solver GAMG; + tolerance 1e-8; + relTol 0.01; + smoother symGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + maxIter 20; + } + + "(p_rghFinal|pcorrFinal)" + { + $p_rgh; + relTol 0; + } + + U + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + } + + UFinal + { + $U; + relTol 0; + } + + h + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 5; + } + + hFinal + { + $h; + relTol 0; + } + + Phi + { + solver GAMG; + tolerance 1e-7; + relTol 0.01; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } +} + +relaxationFactors +{ + equations + { + U 0.7; + h 0.7; + } + fields + { + p_rgh 0.3; + rho 0.5; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/decomposeParDict b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/decomposeParDict new file mode 100644 index 00000000..b8e4e247 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/decomposeParDict @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/aluminium"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSchemes b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSchemes new file mode 100644 index 00000000..d85ce817 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/aluminium"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSolution b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSolution new file mode 100644 index 00000000..34897ac6 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/aluminium/fvSolution @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/aluminium"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 5; + + residualControl + { + h 0.001; + } +} + +solvers +{ + h + { + solver GAMG; + tolerance 1e-8; + relTol 0.1; + smoother symGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } + + hFinal + { + $h; + relTol 0; + } +} + +relaxationFactors +{ + equations + { + h 0.9; + } +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/controlDict b/Data/TestFiles/cases/SimpleHeatFin/case/system/controlDict new file mode 100644 index 00000000..08e2f10e --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/controlDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application chtMultiRegionSimpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +deltaT 1; + +endTime 2000; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 15; + +runTimeModifiable true; + +libs +( + // Needed for availability of porous baffle boundary in potentialFoam + #include "turbulenceLib" +); + +functions +{ +} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/createPatchDict b/Data/TestFiles/cases/SimpleHeatFin/case/system/createPatchDict new file mode 100644 index 00000000..d54abb65 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/createPatchDict @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object createPatchDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +pointSync false; + +// Patches to create. +patches +( + { + name wall001; + patchInfo + { + type wall; + } + constructFrom patches; + patches ( "patch_1_.*" ); + } + { + name heatsource001; + patchInfo + { + type wall; + } + constructFrom patches; + patches ( "patch_2_.*" ); + } + { + name inlet; + patchInfo + { + type patch; + } + constructFrom patches; + patches ( "patch_3_.*" ); + } + { + name outlet; + patchInfo + { + type patch; + } + constructFrom patches; + patches ( "patch_4_.*" ); + } + { + name defaultFaces; + patchInfo + { + type patch; + } + constructFrom patches; + patches ( "patch_0_0" ); + } +); + + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/decomposeParDict b/Data/TestFiles/cases/SimpleHeatFin/case/system/decomposeParDict new file mode 100644 index 00000000..25b04043 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/decomposeParDict @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSchemes b/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSchemes new file mode 100644 index 00000000..a68a5f54 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSchemes @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes {} +gradSchemes {} +divSchemes {} +laplacianSchemes {} +interpolationSchemes {} +snGradSchemes {} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSolution b/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSolution new file mode 100644 index 00000000..65326149 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/case/system/fvSolution @@ -0,0 +1,18 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// (intentionally empty - solver settings are in system//fvSolution) + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh new file mode 100755 index 00000000..35c86e92 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh @@ -0,0 +1,56 @@ +#!/bin/bash + +runCommand() +{ + sol=$(basename -- "$1") + sol="${sol%.*}" + if [ -f log."$sol" ]; then rm log."$sol"; fi + "$@" 1> >(tee -a log."$sol") 2> >(tee -a log."$sol" >&2) + err=$? + if [ ! $err -eq 0 ]; then exit $err; fi +} + +runParallel() +{ + nproc="$1" + shift + exe="$(which $1)" + sol=$(basename -- "$1") + sol="${sol%.*}" + shift + if [ -f log."$sol" ]; then rm log."$sol"; fi + export OMPI_MCA_btl_vader_single_copy_mechanism=none # Workaround for open-mpi/docker bug + mpiexec -np $nproc "$exe" -parallel "$@" 1> >(tee -a log."$sol") 2> >(tee -a log."$sol" >&2) + err=$? + if [ ! $err -eq 0 ]; then exit $err; fi +} + +GMSH_EXE='/tmp/.mount_FreeCAhpCCgg/usr/bin/gmsh' +if [[ $OSTYPE == 'darwin'* ]] +then + NTHREADS=$(sysctl -n hw.logicalcpu) +else + NTHREADS=$(nproc) +fi +runCommand "$GMSH_EXE" -nt $NTHREADS - "gmsh/BooleanFragments_Geometry.geo" + +# Unset and source bashrc +FOAMDIR="/usr/lib/openfoam/openfoam2606" +if [ ! -z "$FOAMDIR" ] +then + source "$FOAMDIR/etc/config.sh/unset" 2> /dev/null + source "$FOAMDIR/etc/bashrc" +fi + +runCommand gmshToFoam "gmsh/BooleanFragments_Geometry.msh" + +if [ ! -z $FOAM_API ] || [ $WM_PROJECT_VERSION -lt 9 ] 2>/dev/null +then + runCommand transformPoints -scale "(0.001 0.001 0.001)" +else + runCommand transformPoints "scale=(0.001 0.001 0.001)" +fi + + +# Extract surface mesh and convert to mm for visualisation in FreeCAD +runCommand foamToSurface -scale 1000 -tri surfaceMesh.vtk diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.bat b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.bat new file mode 100644 index 00000000..98a3429f --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.bat @@ -0,0 +1,31 @@ +@echo off + +REM Source runtime environment + +set FOAMDIR="/usr/lib/openfoam/openfoam2606" +set CWD=%CD% +set FOAMVER=None + +if %FOAMVER% GEQ 1000 goto OPENCFD + +:FOUNDATION +set OLDPATH=%PATH% +call %FOAMDIR%\setvars_OF%FOAMVER%.bat +set PATH=%PATH%;%OLDPATH% + +REM Fix for error in FOAM_MPI in setvars-OF.bat +FOR /F "tokens=* USEBACKQ" %%F IN (`dir /b %%FOAM_LIBBIN%%\MS-MPI*`) DO ( +SET FOAM_MPI=%%F +) +set PATH=%FOAM_LIBBIN%\%FOAM_MPI%;%PATH% +goto CONTINUE + +:OPENCFD +call %FOAMDIR%\setEnvVariables-v%FOAMVER%.bat + +:CONTINUE + +cd /d %CWD% + +REM Run PowerShell script +PowerShell -NoProfile -ExecutionPolicy Bypass -File Allmesh.ps1 diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.ps1 b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.ps1 new file mode 100644 index 00000000..8599a63f --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/Allmesh.ps1 @@ -0,0 +1,46 @@ +function runCommand([string]$cmd) +{ + $sol = (Split-Path -Leaf $cmd) + & $cmd $args 2>&1 | tee log.$sol + $err = $LASTEXITCODE + if( ! $LASTEXITCODE -eq 0 ) + { + exit $err + } +} + +function runParallel([int]$NumProcs, [string]$cmd) +{ + $sol = (Split-Path -Leaf $cmd) + & mpiexec -affinity -affinity_layout spr:P:L -np $NumProcs $cmd -parallel $args 2>&1 | tee log.$sol + $err = $LASTEXITCODE + if( ! $LASTEXITCODE -eq 0 ) + { + exit $err + } +} + +# Set piping to file to ascii +$PSDefaultParameterValues['Out-File:Encoding'] = 'ascii' + +# Less verbose error reporting +$ErrorView = 'ConciseView' + +$GMSH_EXE = "/tmp/.mount_FreeCAhpCCgg/usr/bin/gmsh" +$NTHREADS = (Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors +runCommand "$GMSH_EXE" -nt $NTHREADS - "gmsh/BooleanFragments_Geometry.geo" + +runCommand gmshToFoam "gmsh/BooleanFragments_Geometry.msh" + +if ( $Env:WM_PROJECT_VERSION[0] -eq "v" -or 9 -gt $Env:WM_PROJECT_VERSION ) +{ + runCommand transformPoints -scale "(0.001 0.001 0.001)" +} +else +{ + runCommand transformPoints "scale=(0.001 0.001 0.001)" +} + + +# Extract surface mesh and convert to mm for visualisation in FreeCAD +runCommand foamToSurface -scale 1000 -tri surfaceMesh.vtk diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.brep b/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.brep new file mode 100644 index 00000000..34888be3 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.brep @@ -0,0 +1,572 @@ +DBRep_DrawableShape + +CASCADE Topology V1, (c) Matra-Datavision +Locations 4 +1 + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 +1 + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 +1 + 1 0 0 0 + 0 1 0 15 + 0 0 1 13 +2 3 -1 0 +Curve2ds 48 +1 0 0 1 0 +1 0 0 1 0 +1 50 0 0 -1 +1 0 0 0 1 +1 0 0 0 -1 +1 0 0 0 1 +1 0 -30 1 0 +1 0 0 1 0 +1 0 0 0 -1 +1 0 0 0 1 +1 0 -1 1 0 +1 0 0 1 0 +1 10 0 0 -1 +1 0 0 0 1 +1 0 0 1 0 +1 0 0 1 0 +1 0 0 0 1 +1 0 0 1 0 +1 0 0 1 0 +1 0 70 1 0 +1 50 0 0 1 +1 0 0 1 0 +1 50 0 0 1 +1 0 30 1 0 +1 50 0 0 -1 +1 70 0 0 1 +1 0 0 0 1 +1 0 30 1 0 +1 0 0 0 -1 +1 70 0 0 1 +1 0 -30 1 0 +1 0 70 1 0 +1 0 0 0 1 +1 0 1 1 0 +1 0 0 0 -1 +1 60 0 0 1 +1 0 0 0 1 +1 0 0 1 0 +1 0 -1 1 0 +1 0 60 1 0 +1 10 0 0 1 +1 0 1 1 0 +1 10 0 0 -1 +1 60 0 0 1 +1 10 0 0 1 +1 0 0 1 0 +1 0 0 1 0 +1 0 60 1 0 +Curves 24 +1 0 0 0 0 0 1 +1 0 0 50 -0 1 0 +1 0 0 0 -0 1 0 +1 0 30 0 0 0 1 +1 0 0 0 -0 1 0 +1 0 1 0 0 0 1 +1 0 0 10 -0 1 0 +1 0 0 0 0 0 1 +1 0 0 0 1 0 -0 +1 70 0 0 0 0 1 +1 0 0 50 1 0 -0 +1 0 30 50 1 0 -0 +1 70 0 50 -0 1 0 +1 0 30 0 1 0 -0 +1 70 0 0 -0 1 0 +1 70 30 0 0 0 1 +1 0 1 0 1 0 -0 +1 60 0 0 -0 1 0 +1 0 0 0 1 0 -0 +1 60 1 0 0 0 1 +1 0 1 10 1 0 -0 +1 60 0 10 -0 1 0 +1 0 0 10 1 0 -0 +1 60 0 0 0 0 1 +Polygon3D 0 +PolygonOnTriangulations 0 +Surfaces 12 +1 0 0 0 1 0 -0 0 0 1 0 -1 0 +1 0 0 0 -0 1 0 0 0 1 1 0 -0 +1 0 0 50 0 0 1 1 0 -0 -0 1 0 +1 0 0 0 0 0 1 1 0 -0 -0 1 0 +1 0 30 0 -0 1 0 0 0 1 1 0 -0 +1 0 0 0 1 0 -0 0 0 1 0 -1 0 +1 0 0 0 0 0 1 1 0 -0 -0 1 0 +1 0 1 0 -0 1 0 0 0 1 1 0 -0 +1 0 0 10 0 0 1 1 0 -0 -0 1 0 +1 0 0 0 -0 1 0 0 0 1 1 0 -0 +1 70 0 0 1 0 -0 0 0 1 0 -1 0 +1 60 0 0 1 0 -0 0 0 1 0 -1 0 +Triangulations 0 + +TShapes 70 +Ve +1e-07 +0 0 50 +0 0 + +0101101 +* +Ve +1e-07 +0 0 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 1 0 0 50 +2 1 1 0 0 50 +2 2 2 0 0 50 +0 + +0101000 +-70 0 +69 0 * +Ve +1e-07 +0 30 50 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 2 0 0 30 +2 3 1 0 0 30 +2 4 3 0 0 30 +0 + +0101000 +-67 0 +70 0 * +Ve +1e-07 +0 30 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 3 0 0 30 +2 5 1 0 0 30 +2 6 4 0 0 30 +0 + +0101000 +-65 0 +69 0 * +Ed + 1e-07 1 1 0 +1 4 0 0 50 +2 7 1 0 0 50 +2 8 5 0 0 50 +0 + +0101000 +-67 0 +65 0 * +Wi + +0101100 +-68 2 -66 2 +64 2 +63 2 * +Ve +1e-07 +0 15 13 +0 0 + +0101101 +* +Ve +1e-07 +0 16 13 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 5 0 0 1 +2 9 6 0 0 1 +2 10 7 0 0 1 +0 + +0101000 ++61 4 -60 4 * +Ve +1e-07 +0 16 23 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 6 0 0 10 +2 11 6 0 0 10 +2 12 8 0 0 10 +0 + +0101000 ++60 4 -58 4 * +Ve +1e-07 +0 15 23 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 7 0 0 1 +2 13 6 0 0 1 +2 14 9 0 0 1 +0 + +0101000 ++56 4 -58 4 * +Ed + 1e-07 1 1 0 +1 8 0 0 10 +2 15 6 0 0 10 +2 16 10 0 0 10 +0 + +0101000 ++61 4 -56 4 * +Wi + +0101100 +-59 3 -57 3 +55 3 +54 3 * +Fa +0 1e-07 1 2 + +0101000 ++62 0 +53 0 * +Ve +1e-07 +70 0 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 9 0 0 70 +2 17 2 0 0 70 +2 18 4 0 0 70 +0 + +0101000 +-51 0 +69 0 * +Ve +1e-07 +70 0 50 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 10 0 0 50 +2 19 11 0 0 50 +2 20 2 0 0 50 +0 + +0101000 +-49 0 +51 0 * +Ed + 1e-07 1 1 0 +1 11 0 0 70 +2 21 2 0 0 70 +2 22 3 0 0 70 +0 + +0101000 +-49 0 +70 0 * +Wi + +0101100 +-50 0 -48 0 +47 0 +68 0 * +Fa +0 1e-07 2 0 + +0101000 ++46 0 * +Ve +1e-07 +70 30 50 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 12 0 0 70 +2 23 5 0 0 70 +2 24 3 0 0 70 +0 + +0101000 +-44 0 +67 0 * +Ed + 1e-07 1 1 0 +1 13 0 0 30 +2 25 11 0 0 30 +2 26 3 0 0 30 +0 + +0101000 +-44 0 +49 0 * +Wi + +0101100 +-66 0 -43 0 +42 0 +47 0 * +Fa +0 1e-07 3 0 + +0101000 ++41 0 * +Ve +1e-07 +70 30 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 14 0 0 70 +2 27 5 0 0 70 +2 28 4 0 0 70 +0 + +0101000 +-39 0 +65 0 * +Ed + 1e-07 1 1 0 +1 15 0 0 30 +2 29 11 0 0 30 +2 30 4 0 0 30 +0 + +0101000 +-39 0 +51 0 * +Wi + +0101100 +-64 0 -38 0 +37 0 +50 0 * +Fa +0 1e-07 4 0 + +0101000 ++36 0 * +Ed + 1e-07 1 1 0 +1 16 0 0 50 +2 31 11 0 0 50 +2 32 5 0 0 50 +0 + +0101000 +-44 0 +39 0 * +Wi + +0101100 +-38 0 -34 0 +43 0 +63 0 * +Fa +0 1e-07 5 0 + +0101000 ++33 0 * +Ve +1e-07 +60 1 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 17 0 0 60 +2 33 8 0 0 60 +2 34 7 0 0 60 +0 + +0101000 ++60 4 -31 0 * +Ve +1e-07 +60 0 0 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 18 0 0 1 +2 35 12 0 0 1 +2 36 7 0 0 1 +0 + +0101000 +-31 0 +29 0 * +Ed + 1e-07 1 1 0 +1 19 0 0 60 +2 37 10 0 0 60 +2 38 7 0 0 60 +0 + +0101000 ++61 4 -29 0 * +Wi + +0101100 +-59 3 -30 3 +28 3 +27 3 * +Fa +0 1e-07 7 3 + +0101000 ++26 0 * +Ve +1e-07 +60 1 10 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 20 0 0 10 +2 39 12 0 0 10 +2 40 8 0 0 10 +0 + +0101000 +-24 0 +31 0 * +Ed + 1e-07 1 1 0 +1 21 0 0 60 +2 41 8 0 0 60 +2 42 9 0 0 60 +0 + +0101000 ++58 4 -24 0 * +Wi + +0101100 +-30 3 -23 3 +22 3 +57 3 * +Fa +0 1e-07 8 3 + +0101000 ++21 0 * +Ve +1e-07 +60 0 10 +0 0 + +0101101 +* +Ed + 1e-07 1 1 0 +1 22 0 0 1 +2 43 12 0 0 1 +2 44 9 0 0 1 +0 + +0101000 +-24 0 +19 0 * +Ed + 1e-07 1 1 0 +1 23 0 0 60 +2 45 10 0 0 60 +2 46 9 0 0 60 +0 + +0101000 ++56 4 -19 0 * +Wi + +0101100 +-55 3 -22 3 +18 3 +17 3 * +Fa +0 1e-07 9 3 + +0101000 ++16 0 * +Ed + 1e-07 1 1 0 +1 24 0 0 10 +2 47 12 0 0 10 +2 48 10 0 0 10 +0 + +0101000 +-19 0 +29 0 * +Wi + +0101100 +-27 3 -14 3 +17 3 +54 3 * +Fa +0 1e-07 10 3 + +0101000 ++13 0 * +Wi + +0101100 +-48 0 -42 0 +34 0 +37 0 * +Fa +0 1e-07 11 0 + +0101000 ++11 0 * +Wi + +0101100 +-14 0 -18 0 +23 0 +28 0 * +Fa +0 1e-07 12 0 + +0101000 ++9 0 * +Sh + +0101100 +-52 0 -45 2 +40 2 -35 2 +32 2 +25 0 -20 0 -15 0 +12 0 +10 2 +-8 3 * +So + +0100000 ++7 0 * +Wi + +0101100 +-54 3 -55 3 +57 3 +59 3 * +Fa +0 1e-07 1 2 + +0101000 ++5 0 * +Sh + +0101100 +-4 0 +8 3 -12 0 +20 0 -25 0 +15 0 * +So + +0100000 ++3 0 * +Co + +1100000 ++6 0 +2 0 * + ++1 1 \ No newline at end of file diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.geo b/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.geo new file mode 100644 index 00000000..5820bc16 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/gmsh/BooleanFragments_Geometry.geo @@ -0,0 +1,51 @@ +// geo file created by FreeCAD for meshing with GMSH meshing software + +// Open brep geometry +Merge "BooleanFragments_Geometry.brep"; + +// Characteristic Length + +// min, max Characteristic Length +Mesh.CharacteristicLengthMax = 3.0; +Mesh.CharacteristicLengthMin = 0.0; + +// Other mesh options +Mesh.RecombineAll = 0; + +// GMSH tetra optimizer +Mesh.Optimize = 1; +// Netgen optimizer in GMSH +Mesh.OptimizeNetgen = 0; +Mesh.HighOrderOptimize = 0; + +// Mesh order +Mesh.ElementOrder = 1; + +// 2D mesh algorithm (1=MeshAdapt, 2=Automatic, 5=Delaunay, 6=Frontal, 7=BAMG, 8=DelQuad) +Mesh.Algorithm = 2; +// 3D mesh algorithm (1=Delaunay, 2=New Delaunay, 4=Frontal, 5=Frontal Delaunay, 6=Frontal Hex, 7=MMG3D, 9=R-tree, 10=hxtDelaunay) +Mesh.Algorithm3D = 10; + +// Internal mesh +Physical Volume ("aluminium") = {2}; +Physical Volume ("FluidProperties") = {1}; + +// Boundaries +Physical Surface ("patch_0_0") = {6, 7, 8, 9, 11}; +Physical Surface ("patch_1_0") = {1, 3, 4, 10}; +Physical Surface ("patch_2_0") = {12}; +Physical Surface ("patch_3_0") = {2}; +Physical Surface ("patch_4_0") = {5}; + +// Meshing +Mesh 3; + +// Save +Mesh.Format = 10; // Auto according to extension +Mesh.MshFileVersion = 2.2; + +// Ignore Physical definitions and save all elements +Mesh.SaveAll = 0; + +// Save in msh for OpenFOAM as its unv converter is outdated +Save "BooleanFragments_Geometry.msh"; diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/pv.foam b/Data/TestFiles/cases/SimpleHeatFin/meshCase/pv.foam new file mode 100644 index 00000000..1a45dea5 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/pv.foam @@ -0,0 +1 @@ +Dummy file for loading case in paraview diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/pvScriptMesh.py b/Data/TestFiles/cases/SimpleHeatFin/meshCase/pvScriptMesh.py new file mode 100644 index 00000000..97ce1b47 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/pvScriptMesh.py @@ -0,0 +1,51 @@ +#### import the simple module from the paraview +from paraview.simple import * +#### disable automatic camera reset on 'Show' +paraview.simple._DisableFirstRenderCameraReset() + +# create a new OpenFOAMReader +pfoam = OpenFOAMReader(FileName=r'pv.foam') +pfoam.CaseType = 'Reconstructed Case' +if hasattr(pfoam, 'Decompoasepolyhedra'): + pfoam.Decomposepolyhedra = 0 + +# get active view +renderView1 = GetActiveViewOrCreate('RenderView') + +# reset view to fit data +renderView1.ResetCamera() + +# show data in view +pfoamDisplay = Show(pfoam, renderView1) +# trace defaults for the display properties. +pfoamDisplay.ColorArrayName = [None, ''] +#pfoamDisplay.LookupTable = pLUT +pfoamDisplay.EdgeColor = [0.0, 0.0, 0.5] + +# change representation type +pfoamDisplay.SetRepresentationType('Surface With Edges') + +# Properties modified on pfoamDisplay +#pfoamDisplay.Opacity = 0.5 + +# create a new 'Extract Cells By Region' +extractCellsByRegion1 = ExtractCellsByRegion(Input=pfoam) +extractCellsByRegion1.IntersectWith.Normal = [1.0, 1.0, 1.0] + +# show data in view +extractCellsByRegion1Display = Show(extractCellsByRegion1, renderView1) +# trace defaults for the display properties. +extractCellsByRegion1Display.ColorArrayName = [None, ''] +extractCellsByRegion1Display.EdgeColor = [0.0, 0.0, 0.5] + +# Properties modified on extractCellsByRegion1 +extractCellsByRegion1.Extractonlyintersected = 1 +extractCellsByRegion1.Extractintersected = 1 + +# change representation type +extractCellsByRegion1Display.SetRepresentationType('Surface With Edges') + +SetActiveSource(pfoam) + +# reset view to fit data +renderView1.ResetCamera() diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/controlDict b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/controlDict new file mode 100644 index 00000000..1e38e762 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/controlDict @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object mesh; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application gmsh; + +deltaT 1; + +endTime 1; + +purgeWrite 1; + +runTimeModifiable yes; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +writeControl timeStep; + +writeFormat ascii; + +writeInterval 1; + +writePrecision 15; + +libs +( + "libdecompositionMethods.so" "libscotchDecomp.so" +); + + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/createPatchDict b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/createPatchDict new file mode 100644 index 00000000..0f0921ee --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/createPatchDict @@ -0,0 +1,3 @@ + + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSchemes b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSchemes new file mode 100644 index 00000000..0a935ed4 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSchemes @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes {} + +gradSchemes {} + +divSchemes {} + +laplacianSchemes {} + +interpolationSchemes {} + +snGradSchemes{} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSolution b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSolution new file mode 100644 index 00000000..b76321e8 --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/fvSolution @@ -0,0 +1,18 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers {} + +// ************************************************************************* // diff --git a/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/meshQualityDict b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/meshQualityDict new file mode 100644 index 00000000..432040cf --- /dev/null +++ b/Data/TestFiles/cases/SimpleHeatFin/meshCase/system/meshQualityDict @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| | +| Generated by the CfdOF workbench for FreeCAD | +| https://github.com/jaheyns/CfdOF | +| | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 4.0; + format ascii; + class dictionary; + location "system"; + object meshQualityDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- Maximum non-orthogonality allowed. Set to 180 to disable. +maxNonOrtho 90; + +//- Max skewness allowed. Set to <0 to disable. +maxBoundarySkewness 100; +maxInternalSkewness 50; + +//- Max concaveness allowed. Is angle (in degrees) below which concavity +// is allowed. 0 is straight face, <0 would be convex face. +// Set to 180 to disable. +maxConcave 90; + +//- Minimum pyramid volume. Is absolute volume of cell pyramid. +// Set to a sensible fraction of the smallest cell volume expected. +// Set to very negative number (e.g. -1E30) to disable. +minVol 0; + +//- Minimum quality of the tet formed by the face-centre +// and variable base point minimum decomposition triangles and +// the cell centre. Set to very negative number (e.g. -1E30) to +// disable. +// <0 = inside out tet, +// 0 = flat tet +// 1 = regular tet +minTetQuality -1e30; + +//- Minimum face area. Set to <0 to disable. +minArea 0; + +//- Minimum face twist. Set to <-1 to disable. dot product of face normal +// (itself the average of the triangle normals) +// and face centre triangles normal +minTwist -1; + +//- Minimum normalised cell determinant. This is the determinant of all +// the areas of internal faces. It is a measure of how much of the +// outside area of the cell is to other cells. The idea is that if all +// outside faces of the cell are 'floating' (zeroGradient) the +// 'fixedness' of the cell is determined by the area of the internal faces. +// 1 = hex, <= 0 = folded or flattened illegal cell +minDeterminant 0; + +//- Relative position of face in relation to cell centres (0.5 for orthogonal +// mesh) (0 -> 0.5) +minFaceWeight 0.0001; + +//- Volume ratio of neighbouring cells (0 -> 1) +minVolRatio 0.0001; + +//- Per triangle normal compared to that of preceding triangle. Must be >0 +// for Fluent compatibility +minTriangleTwist -1; + +// ************************************************************************* // diff --git a/TestCfdOF.py b/TestCfdOF.py index 5a8eb437..47ccc6f2 100644 --- a/TestCfdOF.py +++ b/TestCfdOF.py @@ -297,7 +297,10 @@ def writeCaseFiles(self): self.writer = CfdCaseWriterFoam.CfdCaseWriterFoam(FreeCAD.ActiveDocument.CfdAnalysis) self.writer.writeCase() - def runTest(self, dir_name, macro_names): + def runTest(self, dir_name, macro_names, case_name=None): + if case_name is None: + case_name = dir_name + # Unset the appending of the document name to the output path to get a predictable place where # files are stored prefs = CfdTools.getPreferencesLocation() @@ -313,16 +316,16 @@ def runTest(self, dir_name, macro_names): fccPrint('Writing {} case files ...'.format(dir_name)) analysis = CfdTools.getActiveAnalysis() analysis.OutputPath = temp_dir - CfdTools.getSolver(analysis).InputCaseName = "case" + dir_name - CfdTools.getMeshObject(analysis).CaseName = "meshCase" + dir_name + CfdTools.getSolver(analysis).InputCaseName = "case" + case_name + CfdTools.getMeshObject(analysis).CaseName = "meshCase" + case_name self.writeCaseFiles() self.child_instance.assertTrue(self.writer, "CfdTest of writer failed") - mesh_ref_dir = os.path.join(test_file_dir, "cases", dir_name, "meshCase") + mesh_ref_dir = os.path.join(test_file_dir, "cases", case_name, "meshCase") mesh_case_dir = self.meshwriter.mesh_case_dir comparePaths(mesh_ref_dir, mesh_case_dir, self.child_instance) - ref_dir = os.path.join(test_file_dir, "cases", dir_name, "case") + ref_dir = os.path.join(test_file_dir, "cases", case_name, "case") case_dir = self.writer.case_folder comparePaths(ref_dir, case_dir, self.child_instance) @@ -533,6 +536,23 @@ def tearDown(self): self.closeDoc() +class SimpleHeatFinTest(unittest.TestCase, MacroTest): + __dir_name = os.path.join('ConjugatedHeatTransferSteadyState', 'simple_heat_fin') + __case_name = 'SimpleHeatFin' + __macros = ['01-geometry.FCMacro', '02-analysis.FCMacro', '03-mesh.FCMacro', '04-boundaries.FCMacro', + '05-solidMaterial.FCMacro'] + + def __init__(self, var): + super().__init__(var) + MacroTest.child_instance = self + + def test_run(self): + self.runTest(self.__class__.__dir_name, self.__class__.__macros, self.__class__.__case_name) + + def tearDown(self): + self.closeDoc() + + def compareInpFiles(file_name1, file_name2): file1 = open(file_name1, 'r') f1 = file1.readlines()