From 950d61d857598cadb2e0b59e333e29cebda9724c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:10:28 -0700 Subject: [PATCH 01/34] feat: Add simulation parameters for the Millennium simulation --- parameters/reference/simulationMillennium.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 parameters/reference/simulationMillennium.xml diff --git a/parameters/reference/simulationMillennium.xml b/parameters/reference/simulationMillennium.xml new file mode 100644 index 0000000000..6824940d7f --- /dev/null +++ b/parameters/reference/simulationMillennium.xml @@ -0,0 +1,10 @@ + + + + 2 + + + + + + From c74c3097135c2773ed40a25d9c27f95644bc804c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:10:37 -0700 Subject: [PATCH 02/34] fix(style): Correct typo --- parameters/reference/darkMatterHalosStructureNBody.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parameters/reference/darkMatterHalosStructureNBody.xml b/parameters/reference/darkMatterHalosStructureNBody.xml index f58eaafe09..4c4b40c87e 100644 --- a/parameters/reference/darkMatterHalosStructureNBody.xml +++ b/parameters/reference/darkMatterHalosStructureNBody.xml @@ -21,7 +21,7 @@ - + From 4b4823bdb82069b7af320df7f5b56b26d2701b40 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:10:47 -0700 Subject: [PATCH 03/34] fix: Prevent periodic wrapping of interpolated halo positions Adds ``` ``` for the position interpolation. This prevents it wrapping halos that move outside of the original simulation box as they are interpolation back into the other side of the periodic box. Doing such a wrap makes it look like the halo moved across the entire box volume instantaneously, resulting in spurious lightcone crossings. With this option, the halo is instead left outside of the original periodic volume. Since we tesselate the volume when constructing the lightcone this isn't a problem - the halo will simply appear in the adjacent replication of the box. --- parameters/reference/evolutionGalaxyFormationNBody.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/parameters/reference/evolutionGalaxyFormationNBody.xml b/parameters/reference/evolutionGalaxyFormationNBody.xml index 3a27ec6c9e..ef7be53b7c 100644 --- a/parameters/reference/evolutionGalaxyFormationNBody.xml +++ b/parameters/reference/evolutionGalaxyFormationNBody.xml @@ -207,7 +207,8 @@ - + + From 7da31607169e619cc1ad68da641c8a009c94e9fd Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:10:59 -0700 Subject: [PATCH 04/34] feat: Allow extracting a single tree from a merger tree file given the index of any node in the tree --- scripts/aux/extractSingleTree.py | 43 +++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/scripts/aux/extractSingleTree.py b/scripts/aux/extractSingleTree.py index 1ac57bd698..04005534ff 100755 --- a/scripts/aux/extractSingleTree.py +++ b/scripts/aux/extractSingleTree.py @@ -18,9 +18,10 @@ def restricted_integer(x): # Parse command line arguments. parser = argparse.ArgumentParser(prog='extractSingleTree.py',description='Extract a single forest from a Galacticus merger tree file to its own file') -parser.add_argument('fromFile' ) -parser.add_argument('toFile' ) -parser.add_argument('forestIndex',type=restricted_integer) +parser.add_argument('fromFile' ) +parser.add_argument('toFile' ) +parser.add_argument('index' ,type =restricted_integer ) +parser.add_argument('--indexType',action='store' ,default="forest",choices=["forest","node"],help='indicates if the provided index is of a forest or a node') args = parser.parse_args() # Remove the output file. @@ -41,14 +42,28 @@ def restricted_integer(x): forestIndex = fromFile[forestName][forestName ][:] firstNode = fromFile[forestName]['firstNode' ][:] nodeCount = fromFile[forestName]['numberOfNodes'][:] -selected = forestIndex == args.forestIndex -if len(np.nonzero(selected)) < 1: - sys.exit("failed to find request forest") -if len(np.nonzero(selected)) > 1: - sys.exit("found multiple matching forests") -start = firstNode[np.nonzero(selected)] -count = nodeCount[np.nonzero(selected)] -end = start+count +if args.indexType == "forest": + forestIndexSelected = args.index + selected = forestIndex == args.index + if np.count_nonzero(selected) < 1: + sys.exit("failed to find requested forest") + if np.count_nonzero(selected) > 1: + sys.exit("found multiple matching forests") + start = firstNode[np.nonzero(selected)] + count = nodeCount[np.nonzero(selected)] +elif args.indexType == "node": + nodeIndex = fromFile[halosName]['nodeIndex'][:] + selectedNode = nodeIndex == args.index + if np.count_nonzero(selectedNode) < 1: + sys.exit("failed to find requested node") + if np.count_nonzero(selectedNode) > 1: + sys.exit("found multiple matching nodes") + nodePosition = np.asarray(selectedNode ).nonzero()[0][ 0] + forestPosition = np.asarray(firstNode <= nodePosition).nonzero()[0][-1] + forestIndexSelected = forestIndex[ forestPosition ] + start = firstNode [[forestPosition]] + count = nodeCount [[forestPosition]] +end = start+count print("...done") # Read all halo datasets. @@ -68,9 +83,9 @@ def restricted_integer(x): # Create the forestIndex group. toFile.create_group("forestIndex") -toFile["forestIndex"].create_dataset("forestIndex" ,data=np.array([args.forestIndex])) -toFile["forestIndex"].create_dataset("firstNode" ,data=np.array([ 0])) -toFile["forestIndex"].create_dataset("numberOfNodes",data= count ) +toFile["forestIndex"].create_dataset("forestIndex" ,data=np.array([forestIndexSelected])) +toFile["forestIndex"].create_dataset("firstNode" ,data=np.array([ 0])) +toFile["forestIndex"].create_dataset("numberOfNodes",data= count ) # Copy the particle data if present. if "particleIndexStart" in fromFile[halosName]: From 3eb152fc67aa8657027ce5024d3cb158c629d90c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:09 -0700 Subject: [PATCH 05/34] fix: Flush both `stdout` and `stderr` in error handler functions --- source/error.F90 | 93 ++++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/source/error.F90 b/source/error.F90 index 7527ce7509..284503bcb9 100644 --- a/source/error.F90 +++ b/source/error.F90 @@ -103,7 +103,7 @@ subroutine Error_Report_Char(message) !!{ Display an error message. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -131,9 +131,10 @@ subroutine Error_Report_Char(message) !$ write (error_unit,*) " => Error occurred in master thread" !$ end if write (error_unit,*) " => Command line was: ",char(commandLine()) - call BackTrace ( ) - call Warn_Review ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -145,7 +146,8 @@ subroutine Error_Report_Char(message) call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -205,7 +207,7 @@ subroutine Warn_Review() !!{ Review any warning messages emitted during the run. !!} - use, intrinsic :: ISO_Fortran_Env , only : error_unit + use, intrinsic :: ISO_Fortran_Env , only : error_unit, output_unit use :: ISO_Varying_String, only : char implicit none type(warning), pointer :: warning_ @@ -249,7 +251,7 @@ subroutine Signal_Handler_SIGINT() !!{ Handle {\normalfont \ttfamily SIGINT} signals, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI_F08 , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -278,9 +280,10 @@ subroutine Signal_Handler_SIGINT() #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -291,7 +294,8 @@ subroutine Signal_Handler_SIGINT() call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -304,7 +308,7 @@ subroutine Signal_Handler_SIGSEGV() !!{ Handle {\normalfont \ttfamily SIGSEGV} signals, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI_F08 , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -333,9 +337,10 @@ subroutine Signal_Handler_SIGSEGV() #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -346,7 +351,8 @@ subroutine Signal_Handler_SIGSEGV() call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -359,7 +365,7 @@ subroutine Signal_Handler_SIGFPE() !!{ Handle {\normalfont \ttfamily SIGFPE} signals, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI_F08 , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -388,9 +394,10 @@ subroutine Signal_Handler_SIGFPE() #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -401,7 +408,8 @@ subroutine Signal_Handler_SIGFPE() call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -414,7 +422,7 @@ subroutine Signal_Handler_SIGBUS() !!{ Handle {\normalfont \ttfamily SIGBUS} signals, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI_F08 , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -443,9 +451,10 @@ subroutine Signal_Handler_SIGBUS() #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -456,7 +465,8 @@ subroutine Signal_Handler_SIGBUS() call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -469,7 +479,7 @@ subroutine Signal_Handler_SIGILL() !!{ Handle {\normalfont \ttfamily SIGILL} signals, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit #ifdef USEMPI use :: MPI_F08 , only : MPI_Comm_Rank , MPI_Comm_World #endif @@ -498,9 +508,10 @@ subroutine Signal_Handler_SIGILL() #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -511,7 +522,8 @@ subroutine Signal_Handler_SIGILL() call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif @@ -524,8 +536,8 @@ subroutine Signal_Handler_SIGXCPU() !!{ Handle {\normalfont \ttfamily SIGXCPU} signals, by flushing all data and then aborting. !!} - use, intrinsic :: ISO_Fortran_Env, only : error_unit - use :: Display , only : displayBold , displayRed, displayReset + use, intrinsic :: ISO_Fortran_Env, only : error_unit , output_unit + use :: Display , only : displayBold , displayRed , displayReset use :: System_Output , only : stdOutIsATTY implicit none @@ -534,7 +546,8 @@ subroutine Signal_Handler_SIGXCPU() else write (error_unit,*) 'Galacticus exceeded available CPU time - will try to flush data before exiting.' end if - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) #ifndef UNCLEANEXIT call closeHDF5() #endif @@ -546,7 +559,7 @@ subroutine errorHandlerGSL(reason,file,line,errorNumber) bind(c) !!{ Handle errors from the GSL library, by flushing all data and then aborting. !!} - use , intrinsic :: ISO_Fortran_Env , only : error_unit + use , intrinsic :: ISO_Fortran_Env , only : error_unit , output_unit use , intrinsic :: ISO_C_Binding , only : c_char use :: ISO_Varying_String, only : char #ifdef USEMPI @@ -581,9 +594,10 @@ subroutine errorHandlerGSL(reason,file,line,errorNumber) bind(c) #ifndef UNCLEANEXIT call closeHDF5() #endif - call Warn_Review( ) - call BackTrace ( ) - call Flush (0) + call BackTrace ( ) + call Warn_Review( ) + call Flush (output_unit) + call Flush ( error_unit) #ifdef UNCLEANEXIT call Exit(1) #else @@ -594,7 +608,8 @@ subroutine errorHandlerGSL(reason,file,line,errorNumber) bind(c) call hostnm(hostName) write (error_unit,*) " => Error occurred in MPI process ",mpiRank,"; PID ",getPID(),"; host ",trim(hostName) write (error_unit,'(a,i8,a)') " => Sleeping for ",errorWaitTime,"s to allow for attachment of debugger" - call Flush(0) + call Flush(output_unit) + call Flush( error_unit) call Sleep(errorWaitTime) end if #endif From 202999c16b82f395d76149dfcc2bd97ac912bdfe Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:16 -0700 Subject: [PATCH 06/34] fix: Ignore `xi:include` elements when validating parameter files --- scripts/aux/validateParameters.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/aux/validateParameters.pl b/scripts/aux/validateParameters.pl index bf4038b489..96d8751469 100755 --- a/scripts/aux/validateParameters.pl +++ b/scripts/aux/validateParameters.pl @@ -45,6 +45,8 @@ ++$names{$_->{'name'}} foreach ( &List::ExtraUtils::as_array($parameters->{'parameter'}) ); foreach ( keys(%names) ) { + next + if ( $_ eq "xi:include" ); if ( $names{$_} > 1 ) { $valid = 1; print "Parameter '".$_."' appears ".$names{$_}." times - should appear only once\n"; @@ -66,7 +68,7 @@ } elsif ( $element->{'name'} eq 'lastModified' ) { $hasLastModified = 1; } elsif ( reftype($element->{'node'}) eq "ARRAY" ) { - if ( $element->{'name'} =~ m/\-\>/ ) { # Duplicates are allowed only in subparameters. + if ( $element->{'name'} eq "xi:include" || $element->{'name'} =~ m/\-\>/ ) { # Duplicates are allowed only in subparameters or xi:include. foreach my $node ( @{$element->{'node'}} ) { if ( ! exists($node->{'value'}) ) { unless ( %{$node} ) { From 79260ed45009733afa30f290d81284190da9e74a Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:26 -0700 Subject: [PATCH 07/34] fix: Reset satellite merger timesteps for subhalos that are identified as primary progenitors --- source/merger_trees.construct.read.F90 | 27 ++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/source/merger_trees.construct.read.F90 b/source/merger_trees.construct.read.F90 index eee8cec90c..288f3a3564 100644 --- a/source/merger_trees.construct.read.F90 +++ b/source/merger_trees.construct.read.F90 @@ -1607,9 +1607,11 @@ subroutine readScanForSubhaloPromotions(self,nodes,nodeList) !!{ Scan for cases where a subhalo stops being a subhalo and so must be promoted. !!} - use :: Galacticus_Nodes , only : nodeEvent , nodeEventSubhaloPromotion, treeNode, treeNodeList - use :: Merger_Tree_Read_Importers, only : nodeData - use :: Node_Subhalo_Promotions , only : nodeSubhaloPromotionPerform + use :: Galacticus_Nodes , only : nodeEvent , nodeEventSubhaloPromotion, treeNode, treeNodeList, & + & nodeComponentSatellite + use :: Merger_Tree_Read_Importers , only : nodeData + use :: Node_Subhalo_Promotions , only : nodeSubhaloPromotionPerform + use :: Satellite_Merging_Timescales, only : satelliteMergeTimeInfinite implicit none class (mergerTreeConstructorRead), intent(inout) :: self class (nodeData ), target , dimension(:), intent(inout) :: nodes @@ -1619,6 +1621,7 @@ subroutine readScanForSubhaloPromotions(self,nodes,nodeList) type (treeNode ), pointer :: promotionNode , node , & & nodeNew class (nodeComponentBasic ), pointer :: basic + class (nodeComponentSatellite ), pointer :: satellite integer (c_size_t ) :: iNode integer :: i logical :: isolatedProgenitorExists, nodeIsMostMassive, & @@ -1698,6 +1701,18 @@ subroutine readScanForSubhaloPromotions(self,nodes,nodeList) timeSubhaloPromotion = descendantNode %nodeTime end if node => nodeList (nodes(iNode) %isolatedNodeIndex)%node + ! If the node being promoted has a merging time set we unset it now. This was a subhalo which was flagged for + ! merging, but we are now promoting it as the primary progenitor of the current node, so it can no longer + ! merge. + satellite => node%satellite() + if (satellite%timeOfMerging() < satelliteMergeTimeInfinite) then + call satellite%timeOfMergingSet(satelliteMergeTimeInfinite) + if (associated(node%mergeTarget)) then + call node%removeFromMergee() + nullify(node%mergeTarget) + end if + end if + ! Create the event. allocate(nodeEventSubhaloPromotion :: newEvent) allocate(nodeEventSubhaloPromotion :: pairEvent) call node%attachEvent( newEvent) @@ -2816,7 +2831,6 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) currentHost => readLastHostDescendant(nodes(iNode)) ! Add a jump if the tree ends before the descendant time. if (currentHost%nodeTime <= nodes(iNode)%descendant%nodeTime) then - timeOfJump = currentHost%nodeTime jumpToHost => nodes(iNode)%descendant%host do while (jumpToHost%isSubhalo) if (.not.self%warningNestedHierarchyIssued) then @@ -2829,6 +2843,7 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) end if jumpToHost => jumpToHost%host end do + timeOfJump=jumpToHost%nodeTime call readCreateBranchJumpEvent( & & nodeList(iIsolatedNode )%node, & & nodeList(jumpToHost%primaryIsolatedNodeIndex)%node, & @@ -2924,9 +2939,9 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) end if ! If a jump was detected, create an event. if (subhaloJumps) then - if (timeOfJump < 0.0d0) & - & timeOfJump=descendantNode%nodeTime jumpToHost => descendantNode%descendant%host + if (timeOfJump < 0.0d0) & + & timeOfJump=jumpToHost%nodeTime ! Find an isolated host. do while (jumpToHost%isSubhalo) jumpToHost => jumpToHost%host From 32079dcef0779c5c677d097a63db3cb716ec1d01 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:34 -0700 Subject: [PATCH 08/34] fix: When pruning trees for a lightcone, extend to the subsequent output time to ensure crossings slightly after the time at which the node exists are captured --- ...merger_trees.operators.prune_lightcone.F90 | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/source/merger_trees.operators.prune_lightcone.F90 b/source/merger_trees.operators.prune_lightcone.F90 index 3421285797..57e54d848e 100644 --- a/source/merger_trees.operators.prune_lightcone.F90 +++ b/source/merger_trees.operators.prune_lightcone.F90 @@ -23,6 +23,7 @@ use :: Geometry_Lightcones , only : geometryLightconeClass use :: Satellite_Oprhan_Distributions, only : satelliteOrphanDistributionClass + use :: Output_Times , only : outputTimesClass !![ @@ -45,6 +46,7 @@ private class (geometryLightconeClass ), pointer :: geometryLightcone_ => null() class (satelliteOrphanDistributionClass), pointer :: satelliteOrphanDistribution_ => null() + class (outputTimesClass ), pointer :: outputTimes_ => null() logical :: bufferIsolatedHalos , positionHistoryAvailable, & & splitTrees contains @@ -72,6 +74,7 @@ function pruneLightconeConstructorParameters(parameters) result(self) type (inputParameters ), intent(inout) :: parameters class (geometryLightconeClass ), pointer :: geometryLightcone_ class (satelliteOrphanDistributionClass), pointer :: satelliteOrphanDistribution_ + class (outputTimesClass ), pointer :: outputTimes_ logical :: bufferIsolatedHalos , splitTrees ! Check and read parameters. @@ -90,17 +93,19 @@ function pruneLightconeConstructorParameters(parameters) result(self) + !!] - self=mergerTreeOperatorPruneLightcone(geometryLightcone_,satelliteOrphanDistribution_,bufferIsolatedHalos,splitTrees) + self=mergerTreeOperatorPruneLightcone(geometryLightcone_,satelliteOrphanDistribution_,outputTimes_,bufferIsolatedHalos,splitTrees) !![ + !!] return end function pruneLightconeConstructorParameters - function pruneLightconeConstructorInternal(geometryLightcone_,satelliteOrphanDistribution_,bufferIsolatedHalos,splitTrees) result(self) + function pruneLightconeConstructorInternal(geometryLightcone_,satelliteOrphanDistribution_,outputTimes_,bufferIsolatedHalos,splitTrees) result(self) !!{ Internal constructor for the prune-by-lightcone merger tree operator class. !!} @@ -108,9 +113,10 @@ function pruneLightconeConstructorInternal(geometryLightcone_,satelliteOrphanDis type (mergerTreeOperatorPruneLightcone) :: self class (geometryLightconeClass ), intent(in ), target :: geometryLightcone_ class (satelliteOrphanDistributionClass), intent(in ), target :: satelliteOrphanDistribution_ + class (outputTimesClass ), intent(in ), target :: outputTimes_ logical , intent(in ) :: bufferIsolatedHalos , splitTrees !![ - + !!] call pruneLightconeValidate(self) @@ -127,7 +133,8 @@ Destructor for the lightcone merger tree operator function class. !![ - !!] + + !!] return end subroutine pruneLightconeDestructor @@ -297,6 +304,10 @@ subroutine pruneLightconeOperatePreEvolution(self,tree) end do else if (self%splitTrees) then ! Tree is in lightcone, but we are asked to split it into forests and trim off late-time nodes where possible. + !! Increase the latest time in the lightcone to the subsequent output time to ensure that the tree will be evolved beyond + !! this time - necessary in case the actual lightcone crossing occurs slightly after the time at which the node presently + !! exists. + if (self%outputTimes_%timeNext(timeInLightconeLatest) > 0.0d0) timeInLightconeLatest=self%outputTimes_%timeNext(timeInLightconeLatest) !! Walk the trees, building a list of new root nodes and any original root nodes that we can remove. write (labelTime,'(f9.3)') timeInLightconeLatest call displayMessage('Splitting tree into forests at time '//trim(adjustl(labelTime))//' Gyr',verbosityLevelInfo) From 48b9bd545a0880cf9ec569ef89d89ad390ae6ff1 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:42 -0700 Subject: [PATCH 09/34] fix: Move the `mergerTreeExtraOutput` event to the `standardOutput` function so that it is called for both whole tree and individual node outputs --- source/merger_trees.outputter.standard.F90 | 519 +++++++++++---------- 1 file changed, 260 insertions(+), 259 deletions(-) diff --git a/source/merger_trees.outputter.standard.F90 b/source/merger_trees.outputter.standard.F90 index 3cbdb335ca..46d289ec6f 100644 --- a/source/merger_trees.outputter.standard.F90 +++ b/source/merger_trees.outputter.standard.F90 @@ -265,16 +265,8 @@ subroutine standardOutputTree(self,tree,indexOutput,time) do while (treeWalker%next(node)) ! Get the basic component. basic => node%basic() - if (basic%time() == time) then - ! Perform our output. - call self%output(node,time) - ! Perform any extra output. - !![ - - node,indexOutput,node%hostTree,self%galacticFilter_%passes(node),treeLock - - !!] - end if + ! Perform our output for nodes at the output time. + if (basic%time() == time) call self%output(node,indexOutput,time) end do ! Finished output. if ( & @@ -364,7 +356,7 @@ subroutine standardOutputNode(self,node,indexOutput) self%integerPropertiesWritten=0 self%doublePropertiesWritten =0 ! Perform our output. - call self%output(node,basic%time()) + call self%output(node,indexOutput,basic%time()) ! Finished output. if ( & & ( & @@ -377,10 +369,11 @@ subroutine standardOutputNode(self,node,indexOutput) & ) call treeLock%set() if (self%integerPropertyCount > 0 .and. self%integerBufferCount > 0) call self%dumpIntegerBuffer(indexOutput) if (self% doublePropertyCount > 0 .and. self% doubleBufferCount > 0) call self%dumpDoubleBuffer (indexOutput) + if (treeLock%ownedByThread()) call treeLock%unset() return end subroutine standardOutputNode - subroutine standardOutput(self,node,time) + subroutine standardOutput(self,node,indexOutput,time) !!{ Output the provided node. !!} @@ -393,6 +386,7 @@ subroutine standardOutput(self,node,time) implicit none class (mergerTreeOutputterStandard), intent(inout) :: self type (treeNode ), intent(inout) :: node + integer (c_size_t ), intent(in ) :: indexOutput double precision , intent(in ) :: time integer (kind_int8 ), allocatable , dimension(: ) :: integerTuple double precision , allocatable , dimension(: ) :: doubleTuple @@ -413,263 +407,270 @@ subroutine standardOutput(self,node,time) call Calculations_Reset (node) ! Test whether this node passes all output filters. nodePassesFilter=self%galacticFilter_%passes(node) - if (.not.nodePassesFilter) return - ! Ensure output buffers are allocated. - do i=1,self%integerScalarCount - if (.not.allocated(self%integerProperty(i)%scalar)) allocate(self%integerProperty(i)%scalar(self%integerBufferSize)) - end do - do i=1,self%doubleScalarCount - if (.not.allocated(self%doubleProperty (i)%scalar)) allocate(self%doubleProperty (i)%scalar(self%doubleBufferSize)) - end do - ! Initialize the instance counter. - instance=multiCounter([1_c_size_t]) - call self%nodePropertyExtractor_%addInstances(node,instance) - do while (instance%increment()) - if (self%integerPropertyCount > 0) then - integerProperty=0 - self%integerBufferCount=self%integerBufferCount+1 - end if - if (self%doublePropertyCount > 0) then - doubleProperty=0 - self%doubleBufferCount=self%doubleBufferCount+1 - end if - ! Populate the output buffers with properties. We first populate with any "extra" properties that may be - ! being computed, and then call the standard treeNode output method to populate with all "standard" - ! properties. - call node%output(integerProperty,self%integerBufferCount,self%integerProperty,doubleProperty,self%doubleBufferCount,self%doubleProperty,time,instance) - ! Handle any extracted properties. - select type (extractor_ => self%nodePropertyExtractor_) - type is (nodePropertyExtractorNull ) - ! Null extractor - simply ignore. - class is (nodePropertyExtractorScalar ) - ! Scalar property extractor - extract and store the value. - if (.not.allocated(self%doubleProperty (doubleProperty +1)%scalar)) allocate(self%doubleProperty(doubleProperty +1)%scalar( self%doubleBufferSize)) - self %doubleProperty (doubleProperty +1)%scalar(self%doubleBufferCount )=extractor_ %extract ( node ,instance) - doubleProperty =+doubleProperty & - & +1 - class is (nodePropertyExtractorTuple ) - ! Tuple property extractor - extract and store the values. - doubleTuple =extractor_%extract (node,time,instance) - do i=1,+extractor_%elementCount( time) - if (.not.allocated(self%doubleProperty (doubleProperty +i)%scalar)) allocate(self%doubleProperty (doubleProperty +i)%scalar( self%doubleBufferSize)) - self%doubleProperty (doubleProperty +i)%scalar(self%doubleBufferCount )=doubleTuple ( i) - end do - deallocate(doubleTuple ) - doubleProperty =+doubleProperty & - & +extractor_ %elementCount( time ) - class is (nodePropertyExtractorIntegerScalar) - ! Integer scalar property extractor - extract and store the value. - if (.not.allocated(self%integerProperty(integerProperty+1)%scalar)) allocate(self%integerProperty(integerProperty+1)%scalar( self%integerBufferSize)) - self %integerProperty(integerProperty+1)%scalar(self%integerBufferCount)=extractor_ %extract ( node,time,instance) - integerProperty =+integerProperty & - & +1 - class is (nodePropertyExtractorIntegerTuple ) - ! Integer tuple property extractor - extract and store the values. - integerTuple=extractor_%extract (node,time,instance) - do i=1,extractor_%elementCount( time) - if (.not.allocated(self%integerProperty(integerProperty+i)%scalar)) allocate(self%integerProperty(integerProperty+i)%scalar( self%integerBufferSize)) - self%integerProperty(integerProperty+i)%scalar(self%integerBufferCount)=integerTuple( i) - end do - deallocate(integerTuple) - integerProperty =+integerProperty & - & +extractor_ %elementCount( time ) - class is (nodePropertyExtractorArray ) - ! Array property extractor - extract and store the values. - doubleArray =extractor_%extract (node,time,instance) - do i=1,+extractor_%elementCount( time) - if ( allocated(self%doubleProperty (doubleProperty +i)%scalar)) deallocate(self%doubleProperty (doubleProperty +i)%scalar) - if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) then - if (size(self%doubleProperty (doubleProperty +i)%rank1,dim=1) /= size(doubleArray,dim=1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - end if - if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank1)) allocate(self%doubleProperty (doubleProperty +i)%rank1(size(doubleArray,dim=1),self%doubleBufferSize)) - self%doubleProperty (doubleProperty +i)%rank1(:,self%doubleBufferCount)=doubleArray (:,i) - end do - deallocate(doubleArray ) - doubleProperty =+doubleProperty & - & +extractor_ %elementCount( time ) - class is (nodePropertyExtractorList ) - ! List property extractor - extract and store the values. - doubleArray =extractor_%extract (node ,instance) - do i=1,+extractor_%elementCount( ) - if ( allocated(self%doubleProperty (doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar) - if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank1VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferSize)) - if (associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then - if (size(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) /= size(doubleArray,dim=1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) - end if - if (.not.associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then - allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row(size(doubleArray,dim=1))) - end if - self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferCount)%row=doubleArray(:,i) - end do - deallocate(doubleArray ) - doubleProperty =+doubleProperty & - & +extractor_ %elementCount( ) - class is (nodePropertyExtractorIntegerList ) - ! Integer list property extractor - extract and store the values. - integerArray=extractor_%extract (node ,instance) - do i=1,+extractor_%elementCount( ) - if ( allocated(self%integerProperty(integerProperty +i)%scalar )) deallocate(self%integerProperty(integerProperty+i)%scalar) - if ( allocated(self%integerProperty(integerProperty +i)%rank1 )) deallocate(self%integerProperty(integerProperty+i)%rank1 ) - if (.not.allocated(self%integerProperty(integerProperty +i)%rank1VarLen)) allocate(self%integerProperty (integerProperty +i)%rank1VarLen(self%integerBufferSize)) - if (associated(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then - if (size(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) /= size(integerArray,dim=1)) deallocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) - end if - if (.not.associated(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then - allocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row(size(integerArray,dim=1))) - end if - self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row=integerArray(:,i) - end do - deallocate(integerArray) - integerProperty =+integerProperty & - & +extractor_ %elementCount( ) - class is (nodePropertyExtractorList2D ) - ! 2D list property extractor - extract and store the values. - doubleArray2D =extractor_%extract (node ,instance) - do i=1,+extractor_%elementCount( ) - if ( allocated(self%doubleProperty (doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar ) - if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - if ( allocated(self%doubleProperty (doubleProperty +i)%rank1VarLen)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen) - if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank2VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferSize)) - if (associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then - if ( & - & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=1) /= size(doubleArray2D,dim=1) & - & .or. & - & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=2) /= size(doubleArray2D,dim=2) & - & ) deallocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row) - end if - if (.not.associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then - allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row(size(doubleArray2D,dim=1),size(doubleArray2D,dim=2))) - end if - self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferCount)%row=doubleArray2D(:,:,i) - end do - deallocate(doubleArray2D ) - doubleProperty =+doubleProperty & - & +extractor_ %elementCount( ) - class is (nodePropertyExtractorMulti ) - ! Multi property extractor - extract and store the values. - doubleProperties =extractor_%extractDouble (node,time,instance,doubleRanks) - do i=1,extractor_%elementCount(elementTypeDouble ,time) - select case (doubleRanks(i)) - case (0) - ! Scalar property. - if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - if (.not.allocated(self%doubleProperty (doubleProperty +i)%scalar)) then - allocate(self%doubleProperty(doubleProperty+i)%scalar( self%doubleBufferSize)) - end if - self%doubleProperty (doubleProperty +i)%scalar( self%doubleBufferCount )=doubleProperties(i) - case (1) - ! Rank-1 array property. - if ( allocated(self%doubleProperty(doubleProperty +i)%scalar)) deallocate(self%doubleProperty (doubleProperty +i)%scalar) - if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) then - shape_=doubleProperties(i)%shape() - if (size(self%doubleProperty (doubleProperty +i)%rank1,dim=1) /= shape_(1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - deallocate(shape_) - end if - if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank1 )) then - shape_=doubleProperties (i)%shape() - allocate(self%doubleProperty (doubleProperty +i)%rank1(shape_(1),self%doubleBufferSize)) - deallocate(shape_) + if (nodePassesFilter) then + ! Ensure output buffers are allocated. + do i=1,self%integerScalarCount + if (.not.allocated(self%integerProperty(i)%scalar)) allocate(self%integerProperty(i)%scalar(self%integerBufferSize)) + end do + do i=1,self%doubleScalarCount + if (.not.allocated(self%doubleProperty (i)%scalar)) allocate(self%doubleProperty (i)%scalar(self%doubleBufferSize)) + end do + ! Initialize the instance counter. + instance=multiCounter([1_c_size_t]) + call self%nodePropertyExtractor_%addInstances(node,instance) + do while (instance%increment()) + if (self%integerPropertyCount > 0) then + integerProperty=0 + self%integerBufferCount=self%integerBufferCount+1 + end if + if (self%doublePropertyCount > 0) then + doubleProperty=0 + self%doubleBufferCount=self%doubleBufferCount+1 + end if + ! Populate the output buffers with properties. We first populate with any "extra" properties that may be + ! being computed, and then call the standard treeNode output method to populate with all "standard" + ! properties. + call node%output(integerProperty,self%integerBufferCount,self%integerProperty,doubleProperty,self%doubleBufferCount,self%doubleProperty,time,instance) + ! Handle any extracted properties. + select type (extractor_ => self%nodePropertyExtractor_) + type is (nodePropertyExtractorNull ) + ! Null extractor - simply ignore. + class is (nodePropertyExtractorScalar ) + ! Scalar property extractor - extract and store the value. + if (.not.allocated(self%doubleProperty (doubleProperty +1)%scalar)) allocate(self%doubleProperty(doubleProperty +1)%scalar( self%doubleBufferSize)) + self %doubleProperty (doubleProperty +1)%scalar(self%doubleBufferCount )=extractor_ %extract ( node ,instance) + doubleProperty =+doubleProperty & + & +1 + class is (nodePropertyExtractorTuple ) + ! Tuple property extractor - extract and store the values. + doubleTuple =extractor_%extract (node,time,instance) + do i=1,+extractor_%elementCount( time) + if (.not.allocated(self%doubleProperty (doubleProperty +i)%scalar)) allocate(self%doubleProperty (doubleProperty +i)%scalar( self%doubleBufferSize)) + self%doubleProperty (doubleProperty +i)%scalar(self%doubleBufferCount )=doubleTuple ( i) + end do + deallocate(doubleTuple ) + doubleProperty =+doubleProperty & + & +extractor_ %elementCount( time ) + class is (nodePropertyExtractorIntegerScalar) + ! Integer scalar property extractor - extract and store the value. + if (.not.allocated(self%integerProperty(integerProperty+1)%scalar)) allocate(self%integerProperty(integerProperty+1)%scalar( self%integerBufferSize)) + self %integerProperty(integerProperty+1)%scalar(self%integerBufferCount)=extractor_ %extract ( node,time,instance) + integerProperty =+integerProperty & + & +1 + class is (nodePropertyExtractorIntegerTuple ) + ! Integer tuple property extractor - extract and store the values. + integerTuple=extractor_%extract (node,time,instance) + do i=1,extractor_%elementCount( time) + if (.not.allocated(self%integerProperty(integerProperty+i)%scalar)) allocate(self%integerProperty(integerProperty+i)%scalar( self%integerBufferSize)) + self%integerProperty(integerProperty+i)%scalar(self%integerBufferCount)=integerTuple( i) + end do + deallocate(integerTuple) + integerProperty =+integerProperty & + & +extractor_ %elementCount( time ) + class is (nodePropertyExtractorArray ) + ! Array property extractor - extract and store the values. + doubleArray =extractor_%extract (node,time,instance) + do i=1,+extractor_%elementCount( time) + if ( allocated(self%doubleProperty (doubleProperty +i)%scalar)) deallocate(self%doubleProperty (doubleProperty +i)%scalar) + if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) then + if (size(self%doubleProperty (doubleProperty +i)%rank1,dim=1) /= size(doubleArray,dim=1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) end if - self%doubleProperty (doubleProperty +i)%rank1 (:,self%doubleBufferCount )=doubleProperties(i) - case (-1) - ! Rank-1 list property - if ( allocated(self%doubleProperty(doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar) - if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank1VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferSize)) + if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank1)) allocate(self%doubleProperty (doubleProperty +i)%rank1(size(doubleArray,dim=1),self%doubleBufferSize)) + self%doubleProperty (doubleProperty +i)%rank1(:,self%doubleBufferCount)=doubleArray (:,i) + end do + deallocate(doubleArray ) + doubleProperty =+doubleProperty & + & +extractor_ %elementCount( time ) + class is (nodePropertyExtractorList ) + ! List property extractor - extract and store the values. + doubleArray =extractor_%extract (node ,instance) + do i=1,+extractor_%elementCount( ) + if ( allocated(self%doubleProperty (doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar) + if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank1VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferSize)) if (associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then - shape_=doubleProperties(i)%shape() - if (size(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) /= shape_(1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) - deallocate(shape_) + if (size(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) /= size(doubleArray,dim=1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) end if if (.not.associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then - shape_=doubleProperties(i)%shape() - allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row(shape_(1))) - deallocate(shape_) + allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row(size(doubleArray,dim=1))) + end if + self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferCount)%row=doubleArray(:,i) + end do + deallocate(doubleArray ) + doubleProperty =+doubleProperty & + & +extractor_ %elementCount( ) + class is (nodePropertyExtractorIntegerList ) + ! Integer list property extractor - extract and store the values. + integerArray=extractor_%extract (node ,instance) + do i=1,+extractor_%elementCount( ) + if ( allocated(self%integerProperty(integerProperty +i)%scalar )) deallocate(self%integerProperty(integerProperty+i)%scalar) + if ( allocated(self%integerProperty(integerProperty +i)%rank1 )) deallocate(self%integerProperty(integerProperty+i)%rank1 ) + if (.not.allocated(self%integerProperty(integerProperty +i)%rank1VarLen)) allocate(self%integerProperty (integerProperty +i)%rank1VarLen(self%integerBufferSize)) + if (associated(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then + if (size(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) /= size(integerArray,dim=1)) deallocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) end if - self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row=doubleProperties(i) - case (-2) - ! Rank-2 list property - if ( allocated(self%doubleProperty(doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar ) - if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) - if ( allocated(self%doubleProperty(doubleProperty +i)%rank1VarLen)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen) - if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank2VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferSize)) + if (.not.associated(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then + allocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row(size(integerArray,dim=1))) + end if + self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row=integerArray(:,i) + end do + deallocate(integerArray) + integerProperty =+integerProperty & + & +extractor_ %elementCount( ) + class is (nodePropertyExtractorList2D ) + ! 2D list property extractor - extract and store the values. + doubleArray2D =extractor_%extract (node ,instance) + do i=1,+extractor_%elementCount( ) + if ( allocated(self%doubleProperty (doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar ) + if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + if ( allocated(self%doubleProperty (doubleProperty +i)%rank1VarLen)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen) + if (.not.allocated(self%doubleProperty (doubleProperty +i)%rank2VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferSize)) if (associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then - shape_=doubleProperties(i)%shape() - if ( & - & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=1) /= shape_(1) & - & .or. & - & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=2) /= shape_(2) & + if ( & + & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=1) /= size(doubleArray2D,dim=1) & + & .or. & + & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=2) /= size(doubleArray2D,dim=2) & & ) deallocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row) - deallocate(shape_) end if if (.not.associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then - shape_=doubleProperties(i)%shape() - allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row(shape_(1),shape_(2))) - deallocate(shape_) - end if - self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row=doubleProperties(i) - case default - call Error_Report('unsupported rank for output property'//{introspection:location}) - end select - end do - deallocate(doubleProperties) - doubleProperty =+doubleProperty & - & +extractor_ %elementCount(elementTypeDouble, time ) - integerProperties =extractor_%extractInteger (node,time,instance,integerRanks) - do i=1,extractor_%elementCount(elementTypeInteger ,time) - select case (integerRanks(i)) - case (0) - ! Scalar property. - if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) deallocate(self%integerProperty(integerProperty+i)%rank1 ) - if (.not.allocated(self%integerProperty(integerProperty+i)%scalar)) then - allocate(self%integerProperty(integerProperty+i)%scalar( self%integerBufferSize)) - end if - self%integerProperty (integerProperty+i)%scalar(self%integerBufferCount )=integerProperties(i) - case (1) - ! Rank-1 array property. - if ( allocated(self%integerProperty(integerProperty+i)%scalar)) deallocate(self%integerProperty(integerProperty+i)%scalar) - if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) then - shape_=integerProperties(i)%shape() - if (size(self%integerProperty(integerProperty+i)%rank1,dim=1) /= shape_(1)) deallocate(self%integerProperty(integerProperty+i)%rank1) - deallocate(shape_) - end if - if (.not.allocated(self%integerProperty(integerProperty+i)%rank1)) then - shape_=integerProperties(i)%shape() - allocate(self%integerProperty(integerProperty+i)%rank1(shape_(1),self%integerBufferSize)) - deallocate(shape_) + allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row(size(doubleArray2D,dim=1),size(doubleArray2D,dim=2))) end if - self%integerProperty (integerProperty+i)%rank1 (:,self%integerBufferCount)=integerProperties(i) - case (-1) - ! Rank-1 list property - if ( allocated(self%integerProperty(integerProperty+i)%scalar )) deallocate(self%integerProperty (integerProperty+i)%scalar) - if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) deallocate(self%integerProperty (integerProperty+i)%rank1 ) - if (.not.allocated(self%integerProperty(integerProperty+i)%rank1VarLen)) allocate(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferSize)) - if (associated(self%integerProperty (integerProperty+i)%rank1VarLen (self%integerBufferCount )%row)) then - shape_=integerProperties(i)%shape() - if (size(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount )%row) /= shape_(1)) deallocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) - deallocate(shape_) - end if - if (.not.associated(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then - shape_=integerProperties(i)%shape() - allocate(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount)%row(shape_(1))) - deallocate(shape_) - end if - self%integerProperty (integerProperty+i)%rank1VarLen (self%integerBufferCount )%row=integerProperties(i) - case default - call Error_Report('unsupported rank for output property'//{introspection:location}) - end select - end do - deallocate(integerProperties) - integerProperty =+integerProperty & - & +extractor_ %elementCount(elementTypeInteger, time ) - class default - call Error_Report('unsupported property extractor class'//{introspection:location}) - end select - ! If buffer is full, extend it. - if (self%integerBufferCount == self%integerBufferSize) call self%extendIntegerBuffer() - if (self% doubleBufferCount == self% doubleBufferSize) call self%extendDoubleBuffer () - end do + self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferCount)%row=doubleArray2D(:,:,i) + end do + deallocate(doubleArray2D ) + doubleProperty =+doubleProperty & + & +extractor_ %elementCount( ) + class is (nodePropertyExtractorMulti ) + ! Multi property extractor - extract and store the values. + doubleProperties =extractor_%extractDouble (node,time,instance,doubleRanks) + do i=1,extractor_%elementCount(elementTypeDouble ,time) + select case (doubleRanks(i)) + case (0) + ! Scalar property. + if ( allocated(self%doubleProperty (doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + if (.not.allocated(self%doubleProperty (doubleProperty +i)%scalar)) then + allocate(self%doubleProperty(doubleProperty+i)%scalar( self%doubleBufferSize)) + end if + self%doubleProperty (doubleProperty +i)%scalar( self%doubleBufferCount )=doubleProperties(i) + case (1) + ! Rank-1 array property. + if ( allocated(self%doubleProperty(doubleProperty +i)%scalar)) deallocate(self%doubleProperty (doubleProperty +i)%scalar) + if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) then + shape_=doubleProperties(i)%shape() + if (size(self%doubleProperty (doubleProperty +i)%rank1,dim=1) /= shape_(1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + deallocate(shape_) + end if + if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank1 )) then + shape_=doubleProperties (i)%shape() + allocate(self%doubleProperty (doubleProperty +i)%rank1(shape_(1),self%doubleBufferSize)) + deallocate(shape_) + end if + self%doubleProperty (doubleProperty +i)%rank1 (:,self%doubleBufferCount )=doubleProperties(i) + case (-1) + ! Rank-1 list property + if ( allocated(self%doubleProperty(doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar) + if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank1VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen(self%doubleBufferSize)) + if (associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then + shape_=doubleProperties(i)%shape() + if (size(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) /= shape_(1)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row) + deallocate(shape_) + end if + if (.not.associated(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row)) then + shape_=doubleProperties(i)%shape() + allocate(self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row(shape_(1))) + deallocate(shape_) + end if + self%doubleProperty (doubleProperty +i)%rank1VarLen (self%doubleBufferCount )%row=doubleProperties(i) + case (-2) + ! Rank-2 list property + if ( allocated(self%doubleProperty(doubleProperty +i)%scalar )) deallocate(self%doubleProperty (doubleProperty +i)%scalar ) + if ( allocated(self%doubleProperty(doubleProperty +i)%rank1 )) deallocate(self%doubleProperty (doubleProperty +i)%rank1 ) + if ( allocated(self%doubleProperty(doubleProperty +i)%rank1VarLen)) deallocate(self%doubleProperty (doubleProperty +i)%rank1VarLen) + if (.not.allocated(self%doubleProperty(doubleProperty +i)%rank2VarLen)) allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen(self%doubleBufferSize)) + if (associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then + shape_=doubleProperties(i)%shape() + if ( & + & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=1) /= shape_(1) & + & .or. & + & size(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row,dim=2) /= shape_(2) & + & ) deallocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row) + deallocate(shape_) + end if + if (.not.associated(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row)) then + shape_=doubleProperties(i)%shape() + allocate(self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row(shape_(1),shape_(2))) + deallocate(shape_) + end if + self%doubleProperty (doubleProperty +i)%rank2VarLen (self%doubleBufferCount )%row=doubleProperties(i) + case default + call Error_Report('unsupported rank for output property'//{introspection:location}) + end select + end do + deallocate(doubleProperties) + doubleProperty =+doubleProperty & + & +extractor_ %elementCount(elementTypeDouble, time ) + integerProperties =extractor_%extractInteger (node,time,instance,integerRanks) + do i=1,extractor_%elementCount(elementTypeInteger ,time) + select case (integerRanks(i)) + case (0) + ! Scalar property. + if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) deallocate(self%integerProperty(integerProperty+i)%rank1 ) + if (.not.allocated(self%integerProperty(integerProperty+i)%scalar)) then + allocate(self%integerProperty(integerProperty+i)%scalar( self%integerBufferSize)) + end if + self%integerProperty (integerProperty+i)%scalar(self%integerBufferCount )=integerProperties(i) + case (1) + ! Rank-1 array property. + if ( allocated(self%integerProperty(integerProperty+i)%scalar)) deallocate(self%integerProperty(integerProperty+i)%scalar) + if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) then + shape_=integerProperties(i)%shape() + if (size(self%integerProperty(integerProperty+i)%rank1,dim=1) /= shape_(1)) deallocate(self%integerProperty(integerProperty+i)%rank1) + deallocate(shape_) + end if + if (.not.allocated(self%integerProperty(integerProperty+i)%rank1)) then + shape_=integerProperties(i)%shape() + allocate(self%integerProperty(integerProperty+i)%rank1(shape_(1),self%integerBufferSize)) + deallocate(shape_) + end if + self%integerProperty (integerProperty+i)%rank1 (:,self%integerBufferCount)=integerProperties(i) + case (-1) + ! Rank-1 list property + if ( allocated(self%integerProperty(integerProperty+i)%scalar )) deallocate(self%integerProperty (integerProperty+i)%scalar) + if ( allocated(self%integerProperty(integerProperty+i)%rank1 )) deallocate(self%integerProperty (integerProperty+i)%rank1 ) + if (.not.allocated(self%integerProperty(integerProperty+i)%rank1VarLen)) allocate(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferSize)) + if (associated(self%integerProperty (integerProperty+i)%rank1VarLen (self%integerBufferCount )%row)) then + shape_=integerProperties(i)%shape() + if (size(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount )%row) /= shape_(1)) deallocate(self%integerProperty(integerProperty+i)%rank1VarLen(self%integerBufferCount)%row) + deallocate(shape_) + end if + if (.not.associated(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount)%row)) then + shape_=integerProperties(i)%shape() + allocate(self%integerProperty (integerProperty+i)%rank1VarLen(self%integerBufferCount)%row(shape_(1))) + deallocate(shape_) + end if + self%integerProperty (integerProperty+i)%rank1VarLen (self%integerBufferCount )%row=integerProperties(i) + case default + call Error_Report('unsupported rank for output property'//{introspection:location}) + end select + end do + deallocate(integerProperties) + integerProperty =+integerProperty & + & +extractor_ %elementCount(elementTypeInteger, time ) + class default + call Error_Report('unsupported property extractor class'//{introspection:location}) + end select + ! If buffer is full, extend it. + if (self%integerBufferCount == self%integerBufferSize) call self%extendIntegerBuffer() + if (self% doubleBufferCount == self% doubleBufferSize) call self%extendDoubleBuffer () + end do + end if + ! Perform any extra output tasks. + !![ + + node,indexOutput,node%hostTree,nodePassesFilter,treeLock + + !!] return end subroutine standardOutput From a82c096ff0eafe25ac49f214f3f1131e8de8c206 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:11:55 -0700 Subject: [PATCH 10/34] fix: Ensure dataset name and path are set before attempting to access them in error reports --- source/utility.IO.HDF5.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/utility.IO.HDF5.F90 b/source/utility.IO.HDF5.F90 index 4b7b4d492a..248c689696 100644 --- a/source/utility.IO.HDF5.F90 +++ b/source/utility.IO.HDF5.F90 @@ -4339,6 +4339,10 @@ function IO_HDF5_Open_Dataset(inObject,datasetName,commentText,datasetDataType,d appendDimensionActual=1 end if + ! Store the name and location of the object. + datasetObject%objectName =trim(datasetName) + datasetObject%objectLocation=datasetObject%parentObject%pathTo() + ! Check if the dataset exists. if (inObject%hasDataset(datasetName)) then ! Open the dataset. @@ -4521,10 +4525,6 @@ function IO_HDF5_Open_Dataset(inObject,datasetName,commentText,datasetDataType,d ! Mark this object as a file object. datasetObject%hdf5ObjectType=hdf5ObjectTypeDataset - ! Store the name and location of the object. - datasetObject%objectName=trim(datasetName) - datasetObject%objectLocation=datasetObject%parentObject%pathTo() - ! Mark whether dataset is overwritable. if (present(isOverwritable)) then ! Check overwriting is not requested if parent is not overwritable. From d7c98e15db6d153d81fd206a89c91ee3cb9b77d5 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:12:07 -0700 Subject: [PATCH 11/34] fix: Copy parameter file name in the copy constructor to allow it to be reported in any warnings about outdated parameter files --- source/utility.input_parameters.F90 | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/source/utility.input_parameters.F90 b/source/utility.input_parameters.F90 index bf32845833..98f234d1e4 100644 --- a/source/utility.input_parameters.F90 +++ b/source/utility.input_parameters.F90 @@ -124,12 +124,13 @@ module Input_Parameters type (node ), pointer, public :: document => null() type (node ), pointer :: rootNode => null() type (hdf5Object ) :: outputParameters , outputParametersContainer - type (inputParameter ), pointer :: parameters => null() + type (inputParameter ), pointer, public :: parameters => null() type (inputParameters), pointer, public :: parent => null() logical :: outputParametersCopied = .false., outputParametersTemporary=.false., & - & isNull = .false. + & isNull = .false., warnedVersion =.false. type (integerHash ), allocatable :: warnedDefaults type (ompLock ), pointer :: lock => null() + type (varying_string ) :: fileName contains !![ @@ -393,11 +394,12 @@ function inputParametersConstructorCopy(parameters) result(self) !!{ Constructor for the {\normalfont \ttfamily inputParameters} class from an existing parameters object. !!} + use :: ISO_Varying_String, only : char implicit none type (inputParameters) :: self type (inputParameters), intent(in ) :: parameters - self = inputParameters(parameters%rootNode ,noOutput=.true.,noBuild=.true.) + self = inputParameters(parameters%rootNode ,noOutput=.true.,noBuild=.true.,fileName=char(parameters%fileName)) self%parameters => parameters%parameters self%parent => parameters%parent if (allocated(parameters%warnedDefaults)) then @@ -467,6 +469,7 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out self%parent => null ( ) self%warnedDefaults = integerHash ( ) self%lock = ompLock ( ) + if (present(fileName)) self%fileName=fileName !$omp critical (FoX_DOM_Access) self%document => getOwnerDocument(parametersNode) call setLiveNodeLists(self%document,.false.) @@ -524,8 +527,9 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out commitHashParameters = getTextContent (revisionNode )//c_null_char end if !$omp end critical (FoX_DOM_Access) - if (hasRevision) then + if (hasRevision.and..not.self%warnedVersion) then ! A revision was available in the parameter file. + self%warnedVersion=.true. !! Build an array of known migration commit hashes. !![ @@ -542,9 +546,8 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out call displayMessage(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision check failed") else if (any(isAncestorOfParameters == 0)) then ! Parameter file is missing migrations - issue a warning. - message=displayMagenta()//"WARNING:"//displayReset()//" parameter file may be missing important parameter updates - consider running:"//char(10)//char(10)//"./scripts/aux/parametersMigrate.pl " + message=displayMagenta()//"WARNING:"//displayReset()//" parameter file may be missing important parameter updates - consider updating by running:"//char(10)//char(10)//" ./scripts/aux/parametersMigrate.pl " if (present(fileName)) message=message//trim(fileName)//" newParameterFile.xml " - message=message//char(10)//char(10)//"to update your parameter file" call displayMessage(message) end if isAncestorOfSelf=gitDescendantOf(char(inputPath(pathTypeExec))//c_null_char,commitHashSelf,commitHashParameters) From f747fb75a187502bc4922afad123890779dfab0d Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:12:14 -0700 Subject: [PATCH 12/34] fix: Ensure variable is always initialized --- source/tasks.evolve_forests.F90 | 1 + 1 file changed, 1 insertion(+) diff --git a/source/tasks.evolve_forests.F90 b/source/tasks.evolve_forests.F90 index d70c584f1b..d8cb21f2ac 100644 --- a/source/tasks.evolve_forests.F90 +++ b/source/tasks.evolve_forests.F90 @@ -656,6 +656,7 @@ subroutine evolveForestsPerform(self,status) currentTree => tree do while (associated(currentTree)) ! Skip empty trees. + removeTree=.false. if (associated(currentTree%nodeBase)) then basicNodeBase => currentTree%nodeBase%basic() removeTree = .not.associated(currentTree%nodeBase%firstChild) & From 75a49921792740042674dfa27a8d8740934619ca Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:12:23 -0700 Subject: [PATCH 13/34] feat: Allow recursive builds of objects even if not the default of their class --- .../Build/SourceTree/Process/FunctionClass.pm | 91 ++++++++++--------- 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm b/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm index 736a67b29b..ee2970d04a 100644 --- a/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm +++ b/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm @@ -1759,27 +1759,24 @@ CODE # performing recursive build of the default object from a parameter list. my $allowRecursion = grep {exists($_->{'recursive'}) && $_->{'recursive'} eq "yes"} @classes; if ( $allowRecursion ) { - (my $class) = grep {$_->{'name'} eq $directive->{'name'}.ucfirst($directive->{'default'})} @nonAbstractClasses; - if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ) { - $modulePreContains->{'content'} .= " type(inputParameter), pointer :: ".$directive->{'name'}."DefaultBuildNode => null()\n"; - $modulePreContains->{'content'} .= " class(".$directive->{'name'}."Class), pointer :: ".$directive->{'name'}."DefaultBuildObject => null()\n"; - $modulePreContains->{'content'} .= " !\$omp threadprivate(".$directive->{'name'}."DefaultBuildNode,".$directive->{'name'}."DefaultBuildObject)\n\n"; - my $usesNode = + $modulePreContains->{'content'} .= " type(inputParameter), pointer :: ".$directive->{'name'}."RecursiveBuildNode => null()\n"; + $modulePreContains->{'content'} .= " class(".$directive->{'name'}."Class), pointer :: ".$directive->{'name'}."RecursiveBuildObject => null()\n"; + $modulePreContains->{'content'} .= " !\$omp threadprivate(".$directive->{'name'}."RecursiveBuildNode,".$directive->{'name'}."RecursiveBuildObject)\n\n"; + my $usesNode = + { + type => "moduleUse", + moduleUse => { - type => "moduleUse", - moduleUse => + Input_Parameters => { - Input_Parameters => - { - intrinsic => 0, - all => 1 - } - }, - source => "Galacticus::Build::SourceTree::Process::FunctionClass::Process_FunctionClass()", - line => 1 - }; - &Galacticus::Build::SourceTree::Parse::ModuleUses::AddUses($node->{'parent'},$usesNode); - } + intrinsic => 0, + all => 1 + } + }, + source => "Galacticus::Build::SourceTree::Process::FunctionClass::Process_FunctionClass()", + line => 1 + }; + &Galacticus::Build::SourceTree::Parse::ModuleUses::AddUses($node->{'parent'},$usesNode); } # Add method name parameter. if ( $tree->{'type'} eq "file" ) { @@ -1841,8 +1838,8 @@ CODE $modulePostContains->{'content'} .= " subParameters=parameters%subParameters(char(parameterName_))\n"; $modulePostContains->{'content'} .= " allocate(".$directive->{'name'}.ucfirst($directive->{'default'})." :: self)\n"; if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ) { - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildNode => parameterNode\n"; - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildObject => self\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildNode => parameterNode\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildObject => self\n"; } $modulePostContains->{'content'} .= " select type (self)\n"; $modulePostContains->{'content'} .= " type is (".$directive->{'name'}.ucfirst($directive->{'default'}).")\n"; @@ -1853,28 +1850,34 @@ CODE if ( $debugging ); $modulePostContains->{'content'} .= " end select\n"; if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ) { - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildNode => null()\n"; - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildObject => null()\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildNode => null()\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildObject => null()\n"; } $modulePostContains->{'content'} .= " call parameterNode%objectSet(self)\n"; $modulePostContains->{'content'} .= " else\n"; - if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" && $class->{'name'} eq $directive->{'name'}.ucfirst($directive->{'default'}) ) { - $modulePostContains->{'content'} .= " parameterNode => parameters%node('".$directive->{'name'}."',requireValue=.true.)\n"; - $modulePostContains->{'content'} .= " if (associated(parameterNode,".$directive->{'name'}."DefaultBuildNode)) then\n"; - $modulePostContains->{'content'} .= " allocate(".$directive->{'name'}.ucfirst($directive->{'default'})." :: self)\n"; - $modulePostContains->{'content'} .= " select type (self)\n"; - $modulePostContains->{'content'} .= " type is (".$directive->{'name'}.ucfirst($directive->{'default'}).")\n"; - $modulePostContains->{'content'} .= " self%isRecursive=.true.\n"; - $modulePostContains->{'content'} .= " select type (".$directive->{'name'}."DefaultBuildObject)\n"; - $modulePostContains->{'content'} .= " type is (".$directive->{'name'}.ucfirst($directive->{'default'}).")\n"; - $modulePostContains->{'content'} .= " self%recursiveSelf => ".$directive->{'name'}."DefaultBuildObject\n"; + } + # Detect recursive builds if any class member allows it. + if ( $allowRecursion ) { + $modulePostContains->{'content'} .= " parameterNode => parameters%node('".$directive->{'name'}."',requireValue=.true.)\n"; + $modulePostContains->{'content'} .= " if (associated(parameterNode,".$directive->{'name'}."RecursiveBuildNode)) then\n"; + foreach my $class ( @nonAbstractClasses ) { + next + unless ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ); + $modulePostContains->{'content'} .= " select type (".$directive->{'name'}."RecursiveBuildObject)\n"; + $modulePostContains->{'content'} .= " type is (".$class->{'name'}.")\n"; + $modulePostContains->{'content'} .= " allocate(".$class->{'name'}." :: self)\n"; + $modulePostContains->{'content'} .= " select type (self)\n"; + $modulePostContains->{'content'} .= " type is (".$class->{'name'}.")\n"; + $modulePostContains->{'content'} .= " self%isRecursive=.true.\n"; + $modulePostContains->{'content'} .= " self%recursiveSelf => ".$directive->{'name'}."RecursiveBuildObject\n"; $modulePostContains->{'content'} .= " end select\n"; $modulePostContains->{'content'} .= " end select\n"; - $modulePostContains->{'content'} .= " if (needLock) call addLock%unset()\n"; - $modulePostContains->{'content'} .= " return\n"; - $modulePostContains->{'content'} .= " end if\n"; - } - } + } + $modulePostContains->{'content'} .= " if (needLock) call addLock%unset()\n"; + $modulePostContains->{'content'} .= " return\n"; + $modulePostContains->{'content'} .= " end if\n"; + } + # Build the object. $modulePostContains->{'content'} .= " call parameters%value(char(parameterName_),instanceName,copyInstance=copyInstance_)\n"; $modulePostContains->{'content'} .= " subParameters=parameters%subParameters(char(parameterName_),copyInstance=copyInstance_)\n"; $modulePostContains->{'content'} .= " select case (char(instanceName))\n"; @@ -1884,9 +1887,9 @@ CODE unless ( $name =~ m/^[A-Z]{2,}/ ); $modulePostContains->{'content'} .= " case ('".$name."')\n"; $modulePostContains->{'content'} .= " allocate(".$class->{'name'}." :: self)\n"; - if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" && $class->{'name'} eq $directive->{'name'}.ucfirst($directive->{'default'}) ) { - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildNode => parameterNode\n"; - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildObject => self\n"; + if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ) { + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildNode => parameterNode\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildObject => self\n"; } $modulePostContains->{'content'} .= " select type (self)\n"; $modulePostContains->{'content'} .= " type is (".$class->{'name'}.")\n"; @@ -1896,9 +1899,9 @@ CODE $modulePostContains->{'content'} .= " call debugStackPop()\n" if ( $debugging ); $modulePostContains->{'content'} .= " end select\n"; - if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" && $class->{'name'} eq $directive->{'name'}.ucfirst($directive->{'default'}) ) { - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildNode => null()\n"; - $modulePostContains->{'content'} .= " ".$directive->{'name'}."DefaultBuildObject => null()\n"; + if ( exists($class->{'recursive'}) && $class->{'recursive'} eq "yes" ) { + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildNode => null()\n"; + $modulePostContains->{'content'} .= " ".$directive->{'name'}."RecursiveBuildObject => null()\n"; } } $modulePostContains->{'content'} .= " case default\n"; From 0ddf7f7baabf492347f5b807fa155d5304cadda2 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:12:49 -0700 Subject: [PATCH 14/34] feat: Provide a method to indicate if a `stellarPopulationSpectraPostprocessor` is redshift-dependent --- ...tellar_populations.spectra.postprocess.F90 | 9 +++++++ ...a.postprocess.Lyman_continuum_suppress.F90 | 15 ++++++++++- ...lations.spectra.postprocess.age_window.F90 | 15 ++++++++++- ...tra.postprocess.birth_clouds.Lacey2016.F90 | 15 ++++++++++- ...pulations.spectra.postprocess.identity.F90 | 15 ++++++++++- ...populations.spectra.postprocess.recent.F90 | 15 ++++++++++- ...pulations.spectra.postprocess.sequence.F90 | 25 +++++++++++++++++-- ...ulations.spectra.postprocess.unescaped.F90 | 15 ++++++++++- 8 files changed, 116 insertions(+), 8 deletions(-) diff --git a/source/stellar_populations.spectra.postprocess.F90 b/source/stellar_populations.spectra.postprocess.F90 index 7e11593001..4bc077f2ff 100644 --- a/source/stellar_populations.spectra.postprocess.F90 +++ b/source/stellar_populations.spectra.postprocess.F90 @@ -42,6 +42,15 @@ module Stellar_Population_Spectra_Postprocess yes double precision, intent(in ) :: wavelength, age, redshift + + Return true if the postprocessor is redshift dependent. + logical + yes + + !$GLC attributes unused :: self + stellarPopulationSpectraPostprocessorIsRedshiftDependent=.true. + + !!] diff --git a/source/stellar_populations.spectra.postprocess.Lyman_continuum_suppress.F90 b/source/stellar_populations.spectra.postprocess.Lyman_continuum_suppress.F90 index 73f719c27a..b4ff60cfa3 100644 --- a/source/stellar_populations.spectra.postprocess.Lyman_continuum_suppress.F90 +++ b/source/stellar_populations.spectra.postprocess.Lyman_continuum_suppress.F90 @@ -34,7 +34,8 @@ !!} private contains - procedure :: multiplier => lycSuppressMultiplier + procedure :: multiplier => lycSuppressMultiplier + procedure :: isRedshiftDependent => lycSuppressIsRedshiftDependent end type stellarPopulationSpectraPostprocessorLycSuppress interface stellarPopulationSpectraPostprocessorLycSuppress @@ -80,3 +81,15 @@ double precision function lycSuppressMultiplier(self,wavelength,age,redshift) end if return end function lycSuppressMultiplier + + logical function lycSuppressIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorLycSuppress), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function lycSuppressIsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.age_window.F90 b/source/stellar_populations.spectra.postprocess.age_window.F90 index 5a3f75b298..a48f9deeb1 100644 --- a/source/stellar_populations.spectra.postprocess.age_window.F90 +++ b/source/stellar_populations.spectra.postprocess.age_window.F90 @@ -29,7 +29,8 @@ private double precision :: ageMinimum, ageMaximum contains - procedure :: multiplier => ageWindowMultiplier + procedure :: multiplier => ageWindowMultiplier + procedure :: isRedshiftDependent => ageWindowIsRedshiftDependent end type stellarPopulationSpectraPostprocessorAgeWindow interface stellarPopulationSpectraPostprocessorAgeWindow @@ -93,3 +94,15 @@ double precision function ageWindowMultiplier(self,wavelength,age,redshift) end if return end function ageWindowMultiplier + + logical function ageWindowIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorAgeWindow), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function ageWindowIsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.birth_clouds.Lacey2016.F90 b/source/stellar_populations.spectra.postprocess.birth_clouds.Lacey2016.F90 index 23139b34ec..e42f369107 100644 --- a/source/stellar_populations.spectra.postprocess.birth_clouds.Lacey2016.F90 +++ b/source/stellar_populations.spectra.postprocess.birth_clouds.Lacey2016.F90 @@ -35,7 +35,8 @@ private double precision :: timescale contains - procedure :: multiplier => birthCloudsLacey2016Multiplier + procedure :: multiplier => birthCloudsLacey2016Multiplier + procedure :: isRedshiftDependent => birthCloudsLacey2016IsRedshiftDependent end type stellarPopulationSpectraPostprocessorBirthCloudsLacey2016 interface stellarPopulationSpectraPostprocessorBirthCloudsLacey2016 @@ -107,3 +108,15 @@ double precision function birthCloudsLacey2016Multiplier(self,wavelength,age,red end if return end function birthCloudsLacey2016Multiplier + + logical function birthCloudsLacey2016IsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorBirthCloudsLacey2016), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function birthCloudsLacey2016IsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.identity.F90 b/source/stellar_populations.spectra.postprocess.identity.F90 index 16ff68adc2..471c277350 100644 --- a/source/stellar_populations.spectra.postprocess.identity.F90 +++ b/source/stellar_populations.spectra.postprocess.identity.F90 @@ -34,7 +34,8 @@ !!} private contains - procedure :: multiplier => identityMultiplier + procedure :: multiplier => identityMultiplier + procedure :: isRedshiftDependent => identityIsRedshiftDependent end type stellarPopulationSpectraPostprocessorIdentity interface stellarPopulationSpectraPostprocessorIdentity @@ -75,3 +76,15 @@ double precision function identityMultiplier(self,wavelength,age,redshift) identityMultiplier=1.0d0 return end function identityMultiplier + + logical function identityIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorIdentity), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function identityIsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.recent.F90 b/source/stellar_populations.spectra.postprocess.recent.F90 index 2036c9e453..31c3fb1131 100644 --- a/source/stellar_populations.spectra.postprocess.recent.F90 +++ b/source/stellar_populations.spectra.postprocess.recent.F90 @@ -36,7 +36,8 @@ private double precision :: timeLimit contains - procedure :: multiplier => recentMultiplier + procedure :: multiplier => recentMultiplier + procedure :: isRedshiftDependent => recentIsRedshiftDependent end type stellarPopulationSpectraPostprocessorRecent interface stellarPopulationSpectraPostprocessorRecent @@ -105,3 +106,15 @@ double precision function recentMultiplier(self,wavelength,age,redshift) end if return end function recentMultiplier + + logical function recentIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorRecent), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function recentIsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.sequence.F90 b/source/stellar_populations.spectra.postprocess.sequence.F90 index 34ac6b4615..d530ce35ee 100644 --- a/source/stellar_populations.spectra.postprocess.sequence.F90 +++ b/source/stellar_populations.spectra.postprocess.sequence.F90 @@ -39,8 +39,9 @@ private type(postprocessorList), pointer :: postprocessors => null() contains - final :: sequenceDestructor - procedure :: multiplier => sequenceMultiplier + final :: sequenceDestructor + procedure :: multiplier => sequenceMultiplier + procedure :: isRedshiftDependent => sequenceIsRedshiftDependent end type stellarPopulationSpectraPostprocessorSequence interface stellarPopulationSpectraPostprocessorSequence @@ -145,3 +146,23 @@ double precision function sequenceMultiplier(self,wavelength,age,redshift) end do return end function sequenceMultiplier + + logical function sequenceIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return true if the postprocessor is redshift dependent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorSequence), intent(inout) :: self + type(postprocessorList ), pointer :: postprocessor_ + + isRedshiftDependent = .false. + postprocessor_ => self%postprocessors + do while (associated(postprocessor_)) + if (postprocessor_%postprocessor_%isRedshiftDependent()) then + isRedshiftDependent=.true. + return + end if + postprocessor_ => postprocessor_%next + end do + return + end function sequenceIsRedshiftDependent diff --git a/source/stellar_populations.spectra.postprocess.unescaped.F90 b/source/stellar_populations.spectra.postprocess.unescaped.F90 index b76312b58b..bcc40af12b 100644 --- a/source/stellar_populations.spectra.postprocess.unescaped.F90 +++ b/source/stellar_populations.spectra.postprocess.unescaped.F90 @@ -33,7 +33,8 @@ private double precision :: timescale contains - procedure :: multiplier => unescapedMultiplier + procedure :: multiplier => unescapedMultiplier + procedure :: isRedshiftDependent => unescapedIsRedshiftDependent end type stellarPopulationSpectraPostprocessorUnescaped interface stellarPopulationSpectraPostprocessorUnescaped @@ -98,3 +99,15 @@ double precision function unescapedMultiplier(self,wavelength,age,redshift) unescapedMultiplier=exp(-age/self%timescale) return end function unescapedMultiplier + + logical function unescapedIsRedshiftDependent(self) result(isRedshiftDependent) + !!{ + Return false indicating that the postprocessor is redshift independent. + !!} + implicit none + class(stellarPopulationSpectraPostprocessorUnescaped), intent(inout) :: self + !$GLC attributes unused :: self + + isRedshiftDependent=.false. + return + end function unescapedIsRedshiftDependent From 165490f4968c699f7e5bb73ef60bcb7e626f51e6 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:14:07 -0700 Subject: [PATCH 15/34] fix: Remove obsoleted parameter --- source/star_formation.histories.adaptive.F90 | 40 +++++-------------- .../galacticStructureStateDeallocateBug.xml | 1 - testSuite/parameters/inactiveNumerics.xml | 1 - .../parameters/noninstantaneous_recycling.xml | 1 - .../parameters/outputTreeContiguosity.xml | 1 - .../starFormationHistoryAdaptive.xml | 1 - ...test-star-formation-histories-adaptive.xml | 1 - .../test-star-formation-histories-inSitu.xml | 1 - testSuite/regressions/adaptiveSFHLengths.xml | 1 - testSuite/regressions/barInstabilityFPE.xml | 1 - .../regressions/outputRank2ExtendSegFault.xml | 1 - .../test-star-formation-histories-inSitu.py | 2 - 12 files changed, 11 insertions(+), 41 deletions(-) diff --git a/source/star_formation.histories.adaptive.F90 b/source/star_formation.histories.adaptive.F90 index b39061756f..ab21acbd7b 100644 --- a/source/star_formation.histories.adaptive.F90 +++ b/source/star_formation.histories.adaptive.F90 @@ -76,15 +76,12 @@ A star formation histories class which records star formation split by metallicity. !!} private - class (outputTimesClass), pointer :: outputTimes_ => null() - double precision :: timeStepMinimum , metallicityMaximum, & - & metallicityMinimum - integer (c_size_t ) :: countTimeStepsMaximum , countMetallicities, & - & countOutputBuffer - double precision , allocatable, dimension(: ) :: metallicityTable - type (timeIntervals ), allocatable, dimension(: ) :: intervals - double precision , allocatable, dimension(:,:,:,:) :: starFormationHistoryBuffer - integer (c_size_t ), allocatable, dimension(: ) :: indexOutputBuffer , indexOutput + class (outputTimesClass), pointer :: outputTimes_ => null() + double precision :: timeStepMinimum , metallicityMaximum, & + & metallicityMinimum + integer (c_size_t ) :: countTimeStepsMaximum , countMetallicities + double precision , allocatable, dimension(:) :: metallicityTable + type (timeIntervals ), allocatable, dimension(:) :: intervals contains final :: adaptiveDestructor procedure :: create => adaptiveCreate @@ -122,8 +119,7 @@ function adaptiveConstructorParameters(parameters) result(self) double precision , allocatable , dimension(:) :: metallicityBoundaries double precision :: timeStepMinimum , metallicityMinimum , & & metallicityMaximum - integer (c_size_t) :: countMetallicities , countTimeStepsMaximum, & - & countOutputBuffer + integer (c_size_t) :: countMetallicities , countTimeStepsMaximum !![ @@ -176,15 +172,9 @@ function adaptiveConstructorParameters(parameters) result(self) !!] end if !![ - - countOutputBuffer - 100_c_size_t - The number of galaxies to hold in the output buffer. - parameters - - self=starFormationHistoryAdaptive(outputTimes_,countOutputBuffer,timeStepMinimum,countTimeStepsMaximum{conditions}) + self=starFormationHistoryAdaptive(outputTimes_,timeStepMinimum,countTimeStepsMaximum{conditions}) @@ -196,7 +186,7 @@ function adaptiveConstructorParameters(parameters) result(self) return end function adaptiveConstructorParameters - function adaptiveConstructorInternal(outputTimes_,countOutputBuffer,timeStepMinimum,countTimeStepsMaximum,metallicityBoundaries,countMetallicities,metallicityMinimum,metallicityMaximum) result(self) + function adaptiveConstructorInternal(outputTimes_,timeStepMinimum,countTimeStepsMaximum,metallicityBoundaries,countMetallicities,metallicityMinimum,metallicityMaximum) result(self) !!{ Internal constructor for the ``adaptive'' star formation history class. !!} @@ -213,7 +203,7 @@ function adaptiveConstructorInternal(outputTimes_,countOutputBuffer,timeStepMini double precision , intent(in ), dimension(:), optional :: metallicityBoundaries double precision , intent(in ) , optional :: metallicityMinimum , metallicityMaximum double precision , intent(in ) :: timeStepMinimum - integer (c_size_t ), intent(in ) :: countTimeStepsMaximum, countOutputBuffer + integer (c_size_t ), intent(in ) :: countTimeStepsMaximum integer (c_size_t ), intent(in ) , optional :: countMetallicities class (outputTimesClass ), intent(in ), target :: outputTimes_ double precision , allocatable , dimension(:) :: timesNew , timesNewTmp @@ -229,7 +219,7 @@ function adaptiveConstructorInternal(outputTimes_,countOutputBuffer,timeStepMini type (lockDescriptor ) :: fileLock character (len=16 ) :: name !![ - + !!] ! Validate metallicity argument and construct the table of metallicities. @@ -391,12 +381,6 @@ function adaptiveConstructorInternal(outputTimes_,countOutputBuffer,timeStepMini !$ call hdf5Access%unset() call File_Unlock(fileLock) end if - ! Construct output buffers. - allocate(self%starFormationHistoryBuffer(self%countTimeStepsMaximum,size(self%metallicityTable),self%countOutputBuffer,componentTypeMin:componentTypeMax)) - allocate(self% indexOutputBuffer( componentTypeMin:componentTypeMax)) - allocate(self% indexOutput ( componentTypeMin:componentTypeMax)) - self%indexOutput =-1_c_size_t - self%indexOutputBuffer= 0_c_size_t return end function adaptiveConstructorInternal @@ -614,8 +598,6 @@ subroutine adaptiveDescriptor(self,descriptor,includeClass,includeFileModificati call parameters%addParameter('timeStepMinimum' ,trim(adjustl(parameterLabel))) write (parameterLabel,'(i17) ') self%countTimeStepsMaximum call parameters%addParameter('countTimeStepsMaximum',trim(adjustl(parameterLabel))) - write (parameterLabel,'(i17) ') self%countOutputBuffer - call parameters%addParameter('countOutputBuffer' ,trim(adjustl(parameterLabel))) metallicityBoundariesLabel="" do i=1,size(self%metallicityTable) write (parameterLabel,'(e17.10)') self%metallicityTable(i) diff --git a/testSuite/parameters/galacticStructureStateDeallocateBug.xml b/testSuite/parameters/galacticStructureStateDeallocateBug.xml index 24310494d4..f4d9a7ba21 100644 --- a/testSuite/parameters/galacticStructureStateDeallocateBug.xml +++ b/testSuite/parameters/galacticStructureStateDeallocateBug.xml @@ -421,7 +421,6 @@ - diff --git a/testSuite/parameters/inactiveNumerics.xml b/testSuite/parameters/inactiveNumerics.xml index 000addabbf..a07d61660c 100644 --- a/testSuite/parameters/inactiveNumerics.xml +++ b/testSuite/parameters/inactiveNumerics.xml @@ -426,7 +426,6 @@ - diff --git a/testSuite/parameters/noninstantaneous_recycling.xml b/testSuite/parameters/noninstantaneous_recycling.xml index 61859dee0a..80d70bb9f9 100644 --- a/testSuite/parameters/noninstantaneous_recycling.xml +++ b/testSuite/parameters/noninstantaneous_recycling.xml @@ -424,7 +424,6 @@ - diff --git a/testSuite/parameters/outputTreeContiguosity.xml b/testSuite/parameters/outputTreeContiguosity.xml index a00ca203ec..25992e987b 100644 --- a/testSuite/parameters/outputTreeContiguosity.xml +++ b/testSuite/parameters/outputTreeContiguosity.xml @@ -316,7 +316,6 @@ - diff --git a/testSuite/parameters/starFormationHistoryAdaptive.xml b/testSuite/parameters/starFormationHistoryAdaptive.xml index 01a7726b99..6babf1e1ad 100644 --- a/testSuite/parameters/starFormationHistoryAdaptive.xml +++ b/testSuite/parameters/starFormationHistoryAdaptive.xml @@ -119,7 +119,6 @@ - diff --git a/testSuite/parameters/test-star-formation-histories-adaptive.xml b/testSuite/parameters/test-star-formation-histories-adaptive.xml index 1b47193c9a..f63ff06f69 100644 --- a/testSuite/parameters/test-star-formation-histories-adaptive.xml +++ b/testSuite/parameters/test-star-formation-histories-adaptive.xml @@ -287,7 +287,6 @@ - diff --git a/testSuite/parameters/test-star-formation-histories-inSitu.xml b/testSuite/parameters/test-star-formation-histories-inSitu.xml index 282646b751..d32b2a0b84 100644 --- a/testSuite/parameters/test-star-formation-histories-inSitu.xml +++ b/testSuite/parameters/test-star-formation-histories-inSitu.xml @@ -288,7 +288,6 @@ - diff --git a/testSuite/regressions/adaptiveSFHLengths.xml b/testSuite/regressions/adaptiveSFHLengths.xml index 2077f808c0..f8dcb65a72 100644 --- a/testSuite/regressions/adaptiveSFHLengths.xml +++ b/testSuite/regressions/adaptiveSFHLengths.xml @@ -449,7 +449,6 @@ - diff --git a/testSuite/regressions/barInstabilityFPE.xml b/testSuite/regressions/barInstabilityFPE.xml index b79a6abcb1..86ef07004f 100644 --- a/testSuite/regressions/barInstabilityFPE.xml +++ b/testSuite/regressions/barInstabilityFPE.xml @@ -419,7 +419,6 @@ - diff --git a/testSuite/regressions/outputRank2ExtendSegFault.xml b/testSuite/regressions/outputRank2ExtendSegFault.xml index 93a43d7b41..0c94395166 100644 --- a/testSuite/regressions/outputRank2ExtendSegFault.xml +++ b/testSuite/regressions/outputRank2ExtendSegFault.xml @@ -413,7 +413,6 @@ - diff --git a/testSuite/test-star-formation-histories-inSitu.py b/testSuite/test-star-formation-histories-inSitu.py index c58c3623a5..1d84cb2ab3 100755 --- a/testSuite/test-star-formation-histories-inSitu.py +++ b/testSuite/test-star-formation-histories-inSitu.py @@ -62,5 +62,3 @@ statusSpheroid = "FAILED" if any(nodesSFHIntegratedSpheroidInSitu > nodesSFHIntegratedSpheroid) else "SUCCESS" print(" -> "+statusDisk +": in-situ disk stellar mass" ) print(" -> "+statusSpheroid+": in-situ spheroid stellar mass") - print(nodesSFHIntegratedSpheroidInSitu) - print(nodesSFHIntegratedSpheroid) From 3a2a908316a781b025b70dbaf056f3ef604fa02b Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:25:01 -0700 Subject: [PATCH 16/34] fix: Add migration for obsoleted parameter --- scripts/aux/migrations.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/aux/migrations.xml b/scripts/aux/migrations.xml index e6bc017273..34ee14a44e 100644 --- a/scripts/aux/migrations.xml +++ b/scripts/aux/migrations.xml @@ -204,6 +204,14 @@ + + + + + + + + From caa7c6f07fdf687f5032ecacb6e44c15a9e3b5e0 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:26:15 -0700 Subject: [PATCH 17/34] fix: Refactor the `nodeOperatorPositionInterpolated` class All interpolation coefficients are new per-computed and stored during tree initialization. This ensures consistent interpolation during any pre-evolution calculations (e.g. lightcone crossing) and differential evolution. Includes a new `predeterminedSolveAnalytics` method intended for solving analytically-tractable properties outside of differential evolution. --- source/nodes.operators.F90 | 14 +- source/nodes.operators.multi.F90 | 20 + .../nodes.operators.physics.cosmic_time.F90 | 7 +- ...perators.physics.position.interpolated.F90 | 1299 +++++++++-------- 4 files changed, 703 insertions(+), 637 deletions(-) diff --git a/source/nodes.operators.F90 b/source/nodes.operators.F90 index 3d7f3813b2..c599e98d50 100644 --- a/source/nodes.operators.F90 +++ b/source/nodes.operators.F90 @@ -140,7 +140,7 @@ module Nodes_Operators !$GLC attributes unused :: self, node, interrupt, functionInterrupt, propertyType - + Set the values of analytically-solvable properties of a node during differential evolution. void yes @@ -150,7 +150,17 @@ module Nodes_Operators !$GLC attributes unused :: self, node, time - + + Set the values of analytically-solvable pre-determined properties of a node. + void + yes + type (treeNode), intent(inout) :: node + double precision , intent(in ) :: time + + !$GLC attributes unused :: self, node, time + + + Operate on a node at the end of an ODE step. void yes diff --git a/source/nodes.operators.multi.F90 b/source/nodes.operators.multi.F90 index ec04f112d8..18309f8e2e 100644 --- a/source/nodes.operators.multi.F90 +++ b/source/nodes.operators.multi.F90 @@ -54,6 +54,7 @@ procedure :: differentialEvolution => multiDifferentialEvolution procedure :: differentialEvolutionScales => multiDifferentialEvolutionScales procedure :: differentialEvolutionAnalytics => multiDifferentialEvolutionAnalytics + procedure :: predeterminedSolveAnalytics => multiPredeterminedSolveAnalytics procedure :: differentialEvolutionSolveAnalytics => multiDifferentialEvolutionSolveAnalytics procedure :: differentialEvolutionInactives => multiDifferentialEvolutionInactives procedure :: differentialEvolutionStepFinalState => multiDifferentialEvolutionStepFinalState @@ -347,6 +348,25 @@ subroutine multiDifferentialEvolutionSolveAnalytics(self,node,time) return end subroutine multiDifferentialEvolutionSolveAnalytics + subroutine multiPredeterminedSolveAnalytics(self,node,time) + !!{ + Set the pre-determined values of analytically-solvable properties of a node. + !!} + implicit none + class (nodeOperatorMulti), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: time + type (multiProcessList ), pointer :: process_ + + if (.not.self%isActive(node)) return + process_ => self%processes + do while (associated(process_)) + call process_%process_%predeterminedSolveAnalytics(node,time) + process_ => process_%next + end do + return + end subroutine multiPredeterminedSolveAnalytics + subroutine multiDifferentialEvolutionStepFinalState(self,node) !!{ Act on a node after a differential evolution ODE step. diff --git a/source/nodes.operators.physics.cosmic_time.F90 b/source/nodes.operators.physics.cosmic_time.F90 index 6b37f0d4e0..e85967d41f 100644 --- a/source/nodes.operators.physics.cosmic_time.F90 +++ b/source/nodes.operators.physics.cosmic_time.F90 @@ -35,7 +35,8 @@ private contains procedure :: differentialEvolutionAnalytics => cosmicTimeDifferentialEvolutionAnalytics - procedure :: differentialEvolutionSolveAnalytics => cosmicTimeDifferentialEvolutionSolveAnalytics + procedure :: preDeterminedSolveAnalytics => cosmicTimeSolveAnalytics + procedure :: differentialEvolutionSolveAnalytics => cosmicTimeSolveAnalytics procedure :: nodesMerge => cosmicTimeNodesMerge end type nodeOperatorCosmicTime @@ -79,7 +80,7 @@ subroutine cosmicTimeDifferentialEvolutionAnalytics(self,node) return end subroutine cosmicTimeDifferentialEvolutionAnalytics - subroutine cosmicTimeDifferentialEvolutionSolveAnalytics(self,node,time) + subroutine cosmicTimeSolveAnalytics(self,node,time) !!{ Set values of analytically-solvable properties. !!} @@ -94,7 +95,7 @@ subroutine cosmicTimeDifferentialEvolutionSolveAnalytics(self,node,time) basic => node%basic() call basic%timeSet(time) return - end subroutine cosmicTimeDifferentialEvolutionSolveAnalytics + end subroutine cosmicTimeSolveAnalytics subroutine cosmicTimeNodesMerge(self,node) !!{ diff --git a/source/nodes.operators.physics.position.interpolated.F90 b/source/nodes.operators.physics.position.interpolated.F90 index ec65c2895a..41aa54a451 100644 --- a/source/nodes.operators.physics.position.interpolated.F90 +++ b/source/nodes.operators.physics.position.interpolated.F90 @@ -22,7 +22,8 @@ !!} use :: Cosmology_Functions, only : cosmologyFunctionsClass - + use :: Galacticus_Nodes , only : treeNode + !![ @@ -37,24 +38,20 @@ private class (cosmologyFunctionsClass), pointer :: cosmologyFunctions_ => null() double precision :: lengthBox - logical :: isPeriodic - integer :: timeMaximumID , coefficientsID + logical :: isPeriodic , wrapPeriodic + integer :: coefficientsID contains !![ - + !!] final :: positionInterpolatedDestructor procedure :: differentialEvolutionAnalytics => positionInterpolatedDifferentialEvolutionAnalytics + procedure :: predeterminedSolveAnalytics => positionInterpolatedPredeterminedSolveAnalytics procedure :: differentialEvolutionSolveAnalytics => positionInterpolatedDifferentialEvolutionSolveAnalytics - procedure :: differentialEvolution => positionInterpolatedDifferentialEvolution - procedure :: differentialEvolutionPost => positionInterpolatedDifferentialEvolutionPost - procedure :: nodePromote => positionInterpolatedNodePromote - procedure :: nodesMerge => positionInterpolatedNodesMerge - procedure :: nodeInitialize => positionInterpolatedNodeInitialize - procedure :: autoHook => positionInterpolatedAutoHook - procedure :: computeInterpolation => positionInterpolatedComputeInterpolation + procedure :: nodeTreeInitialize => positionInterpolatedNodeTreeInitialize + procedure :: interpolate => positionInterpolatedInterpolate end type nodeOperatorPositionInterpolated interface nodeOperatorPositionInterpolated @@ -65,9 +62,20 @@ module procedure positionInterpolatedConstructorInternal end interface nodeOperatorPositionInterpolated - !! Submodule-scope pointer to self. - class(nodeOperatorPositionInterpolated), pointer :: self_ - !$omp threadprivate(self_) + type :: nodeTrace + !!{ + Type used for tracing nodes through their positional history. + !!} + double precision :: time + type (treeNode ), pointer :: node , nodeHost + type (nodeTrace), pointer :: next + logical :: isSatellite + integer (c_size_t ) :: iHistory + end type nodeTrace + + ! Count of coefficients for different interpolation types. + integer(c_size_t), parameter :: countCoefficientsCubicPolynomial =12_c_size_t + integer(c_size_t), parameter :: countCoefficientsLogarithmicSpiral=20_c_size_t contains @@ -81,6 +89,7 @@ function positionInterpolatedConstructorParameters(parameters) result(self) type (inputParameters ), intent(inout) :: parameters class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ double precision :: lengthBox + logical :: wrapPeriodic !![ @@ -89,9 +98,15 @@ function positionInterpolatedConstructorParameters(parameters) result(self) The periodic length of the positions. For non-periodic positions, a value of zero should be given. parameters + + wrapPeriodic + .true. + If true, interpolated positions that lie outside of the periodic box will be wrapped back into the box. + parameters + !!] - self=nodeOperatorPositionInterpolated(lengthBox,cosmologyFunctions_) + self=nodeOperatorPositionInterpolated(lengthBox,wrapPeriodic,cosmologyFunctions_) !![ @@ -99,7 +114,7 @@ function positionInterpolatedConstructorParameters(parameters) result(self) return end function positionInterpolatedConstructorParameters - function positionInterpolatedConstructorInternal(lengthBox,cosmologyFunctions_) result(self) + function positionInterpolatedConstructorInternal(lengthBox,wrapPeriodic,cosmologyFunctions_) result(self) !!{ Constructor for the {\normalfont \ttfamily positionInterpolated} node operator class which takes a parameter set as input. !!} @@ -107,43 +122,29 @@ function positionInterpolatedConstructorInternal(lengthBox,cosmologyFunctions_) implicit none type (nodeOperatorPositionInterpolated) :: self double precision , intent(in ) :: lengthBox + logical , intent(in ) :: wrapPeriodic class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ !![ - + !!] self%isPeriodic=lengthBox > 0.0d0 !![ - !!] return end function positionInterpolatedConstructorInternal - subroutine positionInterpolatedAutoHook(self) - !!{ - Attach to various event hooks. - !!} - use :: Events_Hooks, only : satelliteHostChangeEvent, openMPThreadBindingAtLevel - implicit none - class(nodeOperatorPositionInterpolated), intent(inout) :: self - - call satelliteHostChangeEvent%attach(self,satelliteHostChange,openMPThreadBindingAtLevel,label='positionInterpolated') - return - end subroutine positionInterpolatedAutoHook - subroutine positionInterpolatedDestructor(self) !!{ Destructor for the {\normalfont \ttfamily positionInterpolated} node operator class. !!} - use :: Events_Hooks, only : satelliteHostChangeEvent implicit none type(nodeOperatorPositionInterpolated), intent(inout) :: self !![ !!] - if (satelliteHostChangeEvent%isAttached(self,satelliteHostChange )) call satelliteHostChangeEvent%detach(self,satelliteHostChange) return end subroutine positionInterpolatedDestructor @@ -163,136 +164,113 @@ subroutine positionInterpolatedDifferentialEvolutionAnalytics(self,node) return end subroutine positionInterpolatedDifferentialEvolutionAnalytics - subroutine positionInterpolatedDifferentialEvolution(self,node,interrupt,functionInterrupt,propertyType) + subroutine positionInterpolatedDifferentialEvolutionSolveAnalytics(self,node,time) + !!{ + Compute the interpolated position and velocity of the node. + !!} + implicit none + class (nodeOperatorPositionInterpolated), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: time + + ! Call the function to perform the interpolation. + call self%interpolate(node,time) + return + end subroutine positionInterpolatedDifferentialEvolutionSolveAnalytics + + subroutine positionInterpolatedPredeterminedSolveAnalytics(self,node,time) !!{ - Interrupt evolution to update position interpolation. + Compute the interpolated position and velocity of the node. !!} - use :: Galacticus_Nodes, only : interruptTask, nodeComponentBasic, nodeComponentPosition implicit none - class (nodeOperatorPositionInterpolated), intent(inout), target :: self - type (treeNode ), intent(inout), target :: node - logical , intent(inout) :: interrupt - procedure(interruptTask ), intent(inout), pointer :: functionInterrupt - integer , intent(in ) :: propertyType - class (nodeComponentBasic ) , pointer :: basic - class (nodeComponentPosition ) , pointer :: position - !$GLC attributes unused :: propertyType - - basic => node%basic () - position => node%position() - if (basic%time() >= position%floatRank0MetaPropertyGet(self%timeMaximumID)) then - interrupt = .true. - self_ => self - functionInterrupt => positionInterpolatedComputeInterpolation_ - end if + class (nodeOperatorPositionInterpolated), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: time + + ! Call the function to perform the interpolation. + call self%interpolate(node,time) return - end subroutine positionInterpolatedDifferentialEvolution - - subroutine positionInterpolatedDifferentialEvolutionSolveAnalytics(self,node,time) + end subroutine positionInterpolatedPredeterminedSolveAnalytics + + subroutine positionInterpolatedInterpolate(self,node,time) !!{ Compute the interpolated position and velocity of the node. !!} use :: Galacticus_Nodes , only : nodeComponentPosition , nodeComponentBasic - use :: Numerical_Interpolation , only : interpolator - use :: Histories , only : history use :: Numerical_Constants_Astronomical, only : Mpc_per_km_per_s_To_Gyr implicit none class (nodeOperatorPositionInterpolated), intent(inout) :: self type (treeNode ), intent(inout) :: node double precision , intent(in ) :: time - class (nodeComponentBasic ), pointer :: basic , basicParent - class (nodeComponentPosition ), pointer :: position , positionParent - double precision , dimension(3 ) :: position_ , velocity_ + class (nodeComponentPosition ), pointer :: position + double precision , dimension(3 ) :: position_ , velocity_ double precision , dimension(4,3 ) :: coefficientsCubic double precision , dimension( 20) :: coefficientsSpiral - double precision , dimension( 2, 2) :: coefficientsAngle , coefficientsLogRadius + double precision , dimension( 2, 2) :: coefficientsAngle , coefficientsLogRadius double precision , dimension(2,2, 3) :: vectorInPlaneNormal + double precision , dimension(2 ) :: angle , logRadius double precision , dimension(: ), allocatable :: coefficients - integer , parameter :: historyBeginPosition=1 , historyEndPosition =3, & - & historyBeginVelocity=4 , historyEndVelocity =6 - double precision , parameter :: toleranceTime =1.0d-2 - double precision :: lengthBox , angle , & - & logRadius , timeParent - integer (c_size_t ) :: i - logical :: usingHistory - type (interpolator ) :: interpolator_ - type (history ) :: history_ - - ! Check that the time is within the allowable range. - position => node%position() - basic => node %basic () - coefficients=position%floatRank1MetaPropertyGet(self%coefficientsID) - ! If the maximum interpolation time is exceeded, do not attempt to set the position. In this case we are waiting for an - ! interrupt to differential evolution to trigger a recompute of the interpolation. - if (size(coefficients) > 0 .and. time > position%floatRank0MetaPropertyGet(self%timeMaximumID)) return - ! Use the size of the interpolation coefficient array to determine the type of interpolation. A more elegant/robust solution - ! would be preferable. - if (size(coefficients) == 0) then - ! Interpolation coefficients have not yet been computed or are not defined. Use the non-interpolated position. - usingHistory=.false. - history_ =position%positionHistory() - if (history_%exists()) then - if (history_%time(1) <= basic%time()) then - interpolator_=interpolator (history_%time ) - i =interpolator_%locate(basic %time(),closest=.true. ) - position_ =history_ %data (i , historyBeginPosition:historyEndPosition) - velocity_ =history_ %data (i , historyBeginVelocity:historyEndVelocity) - usingHistory =.true. - end if - end if - if (.not.usingHistory) then - position_=position%position() - velocity_=position%velocity() - end if - else if (size(coefficients) == 12) then - ! Using cubic polynomial interpolation. - coefficientsCubic=reshape(coefficients,[4,3]) - do i=1,3 - position_(i)=+coefficientsCubic(1,i)*time**3 & - & +coefficientsCubic(2,i)*time**2 & - & +coefficientsCubic(3,i)*time & - & +coefficientsCubic(4,i) - velocity_(i)=+3.0d0*coefficientsCubic(1,i)*time**2 & - & +2.0d0*coefficientsCubic(2,i)*time & - & + coefficientsCubic(3,i) - end do - ! Convert from comoving back to physical position/velocity, and to km/s. - position_=+position_ & - & *self%cosmologyFunctions_%expansionFactor(time) - velocity_=+velocity_ & - & *self%cosmologyFunctions_%expansionFactor(time) & - & *Mpc_per_km_per_s_To_Gyr - else if (size(coefficients) == 20) then - ! Use logarithmic spiral interpolation in physical position. - coefficientsSpiral = coefficients - vectorInPlaneNormal = reshape(coefficientsSpiral( 1:12),[2,2,3]) - coefficientsAngle = reshape(coefficientsSpiral(13:16),[2,2 ]) - coefficientsLogRadius= reshape(coefficientsSpiral(17:20),[2,2 ]) - angle = coefficientsAngle (1,1)+coefficientsAngle (1,2)*time - logRadius = coefficientsLogRadius(1,1)+coefficientsLogRadius(1,2)*time - position_ =+( & - & +vectorInPlaneNormal(1,1,:)*cos(angle) & - & +vectorInPlaneNormal(1,2,:)*sin(angle) & - & ) & - & *exp(logRadius) - velocity_ =+( & - & +vectorInPlaneNormal(2,1,:)*cos(angle) & - & +vectorInPlaneNormal(2,2,:)*sin(angle) & - & ) & - & *exp(logRadius) - ! Our interpolation is relative to the host halo center - add that on now. - basicParent => node %parent%basic () - positionParent => node %parent%position() - timeParent = basicParent%time () - call basicParent%timeSet(time ) - position_=+ position_ & - & +positionParent%position () - velocity_=+ velocity_ & - & +positionParent%velocity () - call basicParent%timeSet(timeParent) - end if + integer (c_size_t ) :: countTrace , iTrace , & + & offset + integer :: i + logical :: isSpiral + double precision :: lengthBox + !$GLC attributes initialized :: coefficients + + ! Extract all interpolation coefficients. + position => node %position ( ) + coefficients = position%floatRank1MetaPropertyGet(self%coefficientsID) + ! Determine the number of steps in the interpolation. + countTrace =size(coefficients)/(2_c_size_t+countCoefficientsCubicPolynomial+countCoefficientsLogarithmicSpiral) + ! Find the appropriate time. + iTrace=1_c_size_t + do while (iTrace < countTrace .and. time >= coefficients(iTrace+1_c_size_t)) + iTrace=iTrace+1_c_size_t + end do + ! Extract cubic polynomial coefficients for this time. + isSpiral =coefficients(countTrace+iTrace) > 0.0d0 + offset =2_c_size_t*countTrace+(countCoefficientsCubicPolynomial+countCoefficientsLogarithmicSpiral)*(iTrace-1_c_size_t) + coefficientsCubic=reshape(coefficients(offset+1_c_size_t:offset+countCoefficientsCubicPolynomial),[4,3]) + ! Interpolate the cubic polynomial. + do i=1,3 + position_(i)=+ coefficientsCubic(1,i)*time**3 & + & + coefficientsCubic(2,i)*time**2 & + & + coefficientsCubic(3,i)*time & + & + coefficientsCubic(4,i) + velocity_(i)=+3.0d0*coefficientsCubic(1,i)*time**2 & + & +2.0d0*coefficientsCubic(2,i)*time & + & + coefficientsCubic(3,i) + end do + ! Convert from comoving back to physical position/velocity, and to km/s. + position_=+position_ & + & *self%cosmologyFunctions_%expansionFactor(time) + velocity_=+velocity_ & + & *self%cosmologyFunctions_%expansionFactor(time) & + & *Mpc_per_km_per_s_To_Gyr + if (isSpiral) then + ! Add on logarithmic spiral interpolation in physical position for satellite nodes. + offset =offset+countCoefficientsCubicPolynomial + coefficientsSpiral =coefficients(offset+1_c_size_t:offset+countCoefficientsLogarithmicSpiral) + vectorInPlaneNormal =reshape(coefficientsSpiral( 1:12),[2,2,3]) + coefficientsAngle =reshape(coefficientsSpiral(13:16),[2,2 ]) + coefficientsLogRadius=reshape(coefficientsSpiral(17:20),[2,2 ]) + angle =coefficientsAngle (:,1)+coefficientsAngle (:,2)*time + logRadius =coefficientsLogRadius(:,1)+coefficientsLogRadius(:,2)*time + position_ =+position_ & + & +( & + & +vectorInPlaneNormal(1,1,:)*cos(angle(1)) & + & +vectorInPlaneNormal(1,2,:)*sin(angle(1)) & + & ) & + & *exp(logRadius(1)) + velocity_ =+velocity_ & + & +( & + & +vectorInPlaneNormal(2,1,:)*cos(angle(2)) & + & +vectorInPlaneNormal(2,2,:)*sin(angle(2)) & + & ) & + & *exp(logRadius(2)) + end if ! Handle periodic boundaries. - if (self%isPeriodic) then + if (self%isPeriodic .and. self%wrapPeriodic) then lengthBox=self%lengthBox*self%cosmologyFunctions_%expansionFactor(time) do i=1,3 do while (position_(i) < 0.0d0 ) @@ -302,521 +280,578 @@ subroutine positionInterpolatedDifferentialEvolutionSolveAnalytics(self,node,tim position_(i)=position_(i)-lengthBox end do end do - end if + end if ! Set the position and velocity. call position%positionSet(position_) call position%velocitySet(velocity_) return - end subroutine positionInterpolatedDifferentialEvolutionSolveAnalytics - - subroutine positionInterpolatedDifferentialEvolutionPost(self,node) - !!{ - Trigger interpolation recalculation after an evolution step. - !!} - implicit none - class(nodeOperatorPositionInterpolated), intent(inout) :: self - type (treeNode ), intent(inout) :: node - - call self%computeInterpolation(node) - return - end subroutine positionInterpolatedDifferentialEvolutionPost - - subroutine positionInterpolatedNodesMerge(self,node) - !!{ - Trigger interpolation recalculation after a node merger. - !!} - implicit none - class(nodeOperatorPositionInterpolated), intent(inout) :: self - type (treeNode ), intent(inout) :: node - - call self%computeInterpolation(node) - return - end subroutine positionInterpolatedNodesMerge + end subroutine positionInterpolatedInterpolate - subroutine positionInterpolatedNodeInitialize(self,node) + subroutine positionInterpolatedNodeTreeInitialize(self,node) !!{ Trigger interpolation calculation at node initialization !!} + use :: Error , only : Error_Report + use :: Galacticus_Nodes , only : nodeComponentBasic , nodeComponentPosition, nodeComponentSatellite , nodeEvent , & + & nodeEventSubhaloPromotion, nodeEventBranchJump , nodeEventSubhaloPromotionIntertree, nodeEventBranchJumpIntertree + use :: Histories , only : history + use :: Satellite_Merging_Timescales, only : satelliteMergeTimeInfinite + use :: String_Handling , only : operator(//) + use :: ISO_Varying_String , only : var_str implicit none - class(nodeOperatorPositionInterpolated), intent(inout), target :: self - type (treeNode ), intent(inout), target :: node - - call self%computeInterpolation(node) - return - end subroutine positionInterpolatedNodeInitialize + class (nodeOperatorPositionInterpolated), intent(inout) , target :: self + type (treeNode ), intent(inout) , target :: node + type (treeNode ) , pointer :: nodeDescendant , nodeHost , & + & nodeMergeTarget + class (nodeComponentBasic ) , pointer :: basic , basicHost + class (nodeComponentPosition ) , pointer :: position + class (nodeComponentSatellite ) , pointer :: satellite + class (nodeEvent ) , pointer :: event + type (nodeTrace ) , pointer :: traceTail , traceHead + double precision , dimension( 3) :: positionReference + double precision , dimension(4 ,3) :: coefficientsCubic + double precision , dimension(20 ) :: coefficientsSpiral + double precision , dimension( : ), allocatable :: coefficients + type (history ) :: positionHistory + double precision :: time , timeMerger , & + & timeBranchJump , timeSubhaloPromotion + integer (c_size_t ) :: iHistory , countHistory , & + & iTrace , countTrace , & + & offset + logical :: isSatellite , haveHistory , & + & haveMerger , haveBranchJump , & + & haveSubhaloPromotion, isInitialSatellite , & + & isHost - subroutine satelliteHostChange(self,node) - !!{ - Handle cases where a satellite switches host node. - !!} - use :: Error, only : Error_Report - implicit none - class(* ), intent(inout) :: self - type (treeNode), intent(inout), target :: node - - select type (self) - class is (nodeOperatorPositionInterpolated) - call self%computeInterpolation(node) - class default - call Error_Report('incorrect class'//{introspection:location}) - end select - return - end subroutine satelliteHostChange - - subroutine positionInterpolatedNodePromote(self,node) - !!{ - Promote the node to its parent by copying position interpolation information from the parent node. - !!} - use :: Galacticus_Nodes, only : nodeComponentPosition - implicit none - class(nodeOperatorPositionInterpolated), intent(inout) :: self - type (treeNode ), intent(inout) :: node - class(nodeComponentPosition ), pointer :: positionParent, position - - position => node %position() - positionParent => node%parent%position() - call position%floatRank0MetaPropertySet(self% timeMaximumID,positionParent%floatRank0MetaPropertyGet(self% timeMaximumID)) - call position%floatRank1MetaPropertySet(self%coefficientsID,positionParent%floatRank1MetaPropertyGet(self%coefficientsID)) - return - end subroutine positionInterpolatedNodePromote - - subroutine positionInterpolatedComputeInterpolation_(node,timeEnd) - !!{ - Interrupt function to recompute interpolation. - !!} - type (treeNode), intent(inout), target :: node - double precision , intent(in ), optional :: timeEnd - !$GLC attributes unused :: timeEnd - - call self_%computeInterpolation(node) - return - end subroutine positionInterpolatedComputeInterpolation_ - - subroutine positionInterpolatedComputeInterpolation(self,node) - !!{ - Compute interpolation coefficients for positions. The approach here follows that of \cite{merson_lightcone_2013}. For halos - which are not orbiting within a host halo during the current interval, interpolation is via a cubic polynomial in each - Cartesian coordinate of \emph{comoving} position matched to the position and velocity at the initial and final times. For - halos which are orbiting within a halo halo during the current interval, interpolation is via a logarithmic spiral in the - relative physical position of the halo and the center of the host halo. - !!} - use, intrinsic :: ISO_C_Binding , only : c_size_t - use :: Error , only : Error_Report - use :: Galacticus_Nodes , only : nodeComponentBasic , nodeComponentPosition , treeNode , nodeEvent , & - & nodeEventSubhaloPromotion, nodeEventBranchJump , nodeEventSubhaloPromotionIntertree, nodeEventBranchJumpIntertree - use :: Numerical_Constants_Astronomical, only : Mpc_per_km_per_s_To_Gyr - use :: Linear_Algebra , only : vector , matrix , assignment(=) - use :: Histories , only : history - use :: Numerical_Comparison , only : Values_Differ , Values_Agree , Values_Less_Than - use :: Numerical_Interpolation , only : interpolator - use :: Vectors , only : Vector_Product , Vector_Magnitude - implicit none - class(nodeOperatorPositionInterpolated), intent(inout) :: self - type (treeNode ), intent(inout) :: node - class (nodeComponentPosition), pointer :: position , positionParent , & - & positionGrandParent - class (nodeComponentBasic ), pointer :: basic , basicParent , & - & basicGrandParent - type (treeNode ), pointer :: nodeParent , nodeGrandparent , & - & nodeJump - class (nodeEvent ), pointer :: event - double precision , dimension( 2, 3) :: positionComoving , velocityComoving , & - & positionRelative - double precision , dimension(2,2, 3) :: vectorInPlaneNormal - double precision , dimension( 2 ) :: time , expansionFactor - double precision , dimension( 2, 2) :: coefficientsAngle , coefficientsLogRadius - double precision , dimension( 3) :: vectorNormal - double precision , dimension( 4, 3) :: coefficientsCubic - double precision , dimension( 20) :: coefficientsSpiral - double precision , dimension( 0) :: coefficientsNull - type (vector ), allocatable :: coordinates , coefficients - type (matrix ), allocatable :: terms - double precision , parameter :: separationTiny =1.0d-6 - type (history ) :: positionHistory - integer (c_size_t ) :: i , j , & - & k - type (interpolator ) :: interpolator_ - double precision :: timeParent , timeGrandparent - logical :: useSpiralInterpolation , searchEvent - - ! Get the position component of this node in which we will store the interpolation coefficients. - position => node%position() - ! If the node has no parent, there is no interpolation to do, so return. - if (.not.associated(node%parent)) then - ! Set a null interpolation - this will caused the fixed-at-snapshot position to be used instead. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - return - end if - ! If the node is a satellite, exists at, or after its parent, and the parent has no parent, there is no interpolation to do, so return. - if (node%isSatellite()) then - basic => node %basic() - basicParent => node%parent%basic() - if (Values_Less_Than(basicParent%time(),basic%time(),relTol=1.0d-2)) then - nodeParent => node%parent - do while (nodeParent%isSatellite()) - nodeParent => nodeParent%parent - end do - if (.not.associated(nodeParent%parent)) then - ! Set a null interpolation - this will caused the fixed-at-snapshot position to be used instead. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - return - end if - end if + ! Consider only branch tips. + if (associated(node%firstChild)) return + ! Look for subhalo promotion events. Halos that are apparently at the tip of a branch, but have a subhalo promotion associated + ! with their initial time are actually the target of the promotion. We do not want to process them here. Instead, the subhalo + ! that promotes to them will be processed, and will trace through this subhalo promotion. + haveSubhaloPromotion = .false. + event => node%event + do while (associated(event)) + ! Look for a handled event type. Subhalo promotions and branch jumps are handled. + select type (event) + type is (nodeEventSubhaloPromotion) + haveSubhaloPromotion=.true. + timeSubhaloPromotion=event%time + exit + end select + event => event%next + end do + if (haveSubhaloPromotion) then + basic => node%basic() + ! Check if the time of this promotion event coincides with the time of this node. If it does, we do not process this node. + if (basic%time() == event%time) return end if - ! Determine whether to use cubic polynomial or logarithmic spiral interpolation. - positionHistory = position%positionHistory() - basic => node %basic () - nodeJump => null () - ! First check if we have a position history. - if (positionHistory%exists()) then - ! A position history exists. Determine if this node is already a satellite in a host halo - if it is then (by default) we - ! will use logarithmic spiral interpolation. If the node is not yet a subhalo in a host, then we use cubic polynomial - ! interpolation instead. - useSpiralInterpolation=node%isSatellite() - ! This is to decide if we should look for an event - in cases where we're still utilizing position history, but there's no - ! grandparent that we can trace to the time where we need it. - searchEvent =.false. - interpolator_=interpolator (positionHistory%time ) - i =interpolator_%locate(basic %time()) - if(basic%time() >= positionHistory%time(i) .and. size(positionHistory%time) > i) then - nodeParent => node %parent - basicParent => nodeParent%basic () - nodeGrandparent => nodeParent%parent - if (associated(nodeGrandparent)) then - basicGrandparent => nodeGrandparent%basic() - do while (Values_Less_Than(basicGrandparent%time(),positionHistory%time(2),relTol=1.0d-2)) - if (.not.associated(nodeGrandparent%parent)) then - searchEvent=.true. - exit - end if - nodeGrandparent => nodeGrandparent%parent - basicGrandparent => nodeGrandparent%basic () - end do + ! Initialize the trace data structure. + traceHead => null() + traceTail => null() + countTrace = 0_c_size_t + ! Find the initial node and host. + nodeDescendant => node + nodeHost => node + ! If the initial node is a satellite, find its isolated host. + do while (nodeHost%isSatellite()) + nodeHost => nodeHost%parent + end do + isSatellite =.not.associated(nodeDescendant,nodeHost) + isInitialSatellite=isSatellite + ! Set the initial time. + basic => nodeDescendant%basic() + time = basic %time () + ! Initialize history status. + iHistory =-1_c_size_t + countHistory=+0_c_size_t + ! Initialize merger status. + haveMerger = .false. + timeMerger = huge(0.0d0) + nodeMergeTarget => null() + ! Follow the node through the tree. + do while (associated(nodeDescendant)) + ! Determine if any position history is available for the current descendant. + basic => nodeDescendant %basic () + basicHost => nodeHost %basic () + position => nodeDescendant %position () + positionHistory = position %positionHistory() + haveHistory = positionHistory%exists () + if (haveHistory) then + countHistory=size(positionHistory%time) + if (isInitialSatellite) then + ! For nodes that are initially satellites and have a position history, start them on the first step of that history. + iHistory =+1_c_size_t + isInitialSatellite=.false. end if + else + iHistory =-1_c_size_t + countHistory=+0_c_size_t end if - ! Check if the current time of the node matches or exceeds the final time in its position history. - if ( & - & basic%time() >= positionHistory%time(size(positionHistory%time)) & - & .or. & - & ( & - & Values_Agree(basic%time(),positionHistory%time(1),relTol=1.0d-2) & - & .and. & - & size ( positionHistory%time ) == 1 & - & ) & - & .or. & - & searchEvent & - & ) then - ! Our node exists at a time beyond the end of its position history. We must check if there is some event attached to - ! this node which connects it to another node (which we can then use for the future position). - event => node%event - do while (associated(event)) - ! Look for a handled event type. Subhalo promotions and branch jumps are handled. - select type (event) - type is (nodeEventSubhaloPromotion) - nodeJump => event%node + ! Determine any future events associated with this descendant. + haveBranchJump = .false. + haveSubhaloPromotion = .false. + timeBranchJump = huge(0.0d0) + timeSubhaloPromotion = huge(0.0d0) + event => nodeDescendant%event + do while (associated(event)) + ! Look for a handled event type in the future. Subhalo promotions and branch jumps are handled. + select type (event) + type is (nodeEventSubhaloPromotion) + if (event%time > time) then + haveSubhaloPromotion=.true. + timeSubhaloPromotion=event%time exit - type is (nodeEventBranchJump ) - nodeJump => event%node + end if + type is (nodeEventBranchJump ) + if (event%time > time) then + haveBranchJump=.true. + timeBranchJump=event%time exit - type is (nodeEventSubhaloPromotionInterTree) - call Error_Report('inter-tree subhalo promotions are not supported'//{introspection:location}) - type is (nodeEventBranchJumpInterTree) - call Error_Report('inter-tree branch jumps are not supported' //{introspection:location}) - end select - event => event%next - end do - if (associated(nodeJump)) then - ! An event which causes our node to jump to some other non-hosted node or another branch was found. We assume cubic - ! polynomial interpolation between the initial and final locations. - useSpiralInterpolation=.false. - else - ! No history remains, and no event exists. This is the end of the life of this node, so we do not need to compute any - ! interpolation. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - call position%floatRank0MetaPropertySet(self%timeMaximumID,huge(0.0d0) ) - return - end if + end if + type is (nodeEventSubhaloPromotionInterTree) + call Error_Report('inter-tree subhalo promotions are not supported'//{introspection:location}) + type is (nodeEventBranchJumpInterTree) + call Error_Report('inter-tree branch jumps are not supported' //{introspection:location}) + end select + event => event%next + end do + ! Determine any merger time for this node. + satellite => nodeDescendant%satellite() + if (satellite%timeOfMerging() < satelliteMergeTimeInfinite) then + haveMerger = .true. + timeMerger = satellite %timeOfMerging() + nodeMergeTarget => nodeDescendant%mergeTarget + end if + ! Determine satellite status for the current descendant. + isSatellite=.not.associated(nodeDescendant,nodeHost) + if (.not.isSatellite) iHistory=-1_c_size_t + ! Append this step to the trace. + countTrace=countTrace+1_c_size_t + if (associated(traceTail)) then + allocate(traceTail%next) + traceTail => traceTail%next else - ! The current time of the node does not exceed the time in its position history. We can use logarithmic spiral - ! interpolation if: a) this is a satellite node, and b) the current time matches or exceeds the first time in the node's - ! position history. - useSpiralInterpolation=useSpiralInterpolation .and. basic%time() >= positionHistory%time(1) - ! Check if satellite has been orphanized into a host which does not exist at the time of the position history. If it - ! has, we can not use logarithmic spiral interpolation as we do not have a position for the host halo. - nodeParent => node %parent - basicParent => nodeParent%basic () - if (node%isSatellite() .and. Values_Less_Than(basic%time(),basicParent%time(),relTol=1.0d-2)) useSpiralInterpolation=.false. + allocate(traceHead ) + traceTail => traceHead end if - else - ! No position history is available - this must be an isolated node and so we must use cubic polynomial interpolation. - useSpiralInterpolation=.false. - end if - ! Nullify the position interpolation for this node before attempting to compute the new interpolation. This ensures that we do - ! not attempt to interpolate the position of this node outside the allowed range of the previous interpolation. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - ! Branch on the type of interpolation we are to compute. - if (.not.useSpiralInterpolation) then - ! Cubic polynomial interpolation. - !! Determine the intial and final position to use for this time interval. - if (associated(nodeJump)) then - ! There is a node event which will jump this node to another node. Use the position of that node as the final position. - basicParent => nodeJump %basic ( ) - positionParent => nodeJump %position( ) - positionComoving (1,:) = position %position( ) - velocityComoving (1,:) = position %velocity( ) - time (1 ) = basic %time ( ) - time (2 ) = basicParent %time ( ) - positionComoving (2,:) = positionParent %position( ) - velocityComoving (2,:) = positionParent %velocity( ) - else if (node%isPrimaryProgenitor()) then - ! The node is the primary progenitor, so use the position of its parent as the final position. - basicParent => node %parent%basic ( ) - positionParent => node %parent%position( ) - time (1 ) = basic %time ( ) - time (2 ) = basicParent %time ( ) - positionComoving (1,:) = position %position( ) - positionComoving (2,:) = positionParent %position( ) - velocityComoving (1,:) = position %velocity( ) - velocityComoving (2,:) = positionParent %velocity( ) - else if (positionHistory%exists()) then - ! This node will become a subhalo at the end of this time interval - use its position history to determine the final - ! location. - if (Values_Less_Than(basic%time(),positionHistory%time(1),relTol=1.0d-2)) then - ! The current time is significantly less than the first time in the position history. Therefore, use the current - ! time/position as our starting point, and the first time/position in the history and our ending point. - time (1 ) = basic %time ( ) - time (2 ) = positionHistory %time (1 ) - positionComoving(1,:) = position %position( ) - positionComoving(2,:) = positionHistory %data (1 ,1:3 ) - velocityComoving(1,:) = position %velocity( ) - velocityComoving(2,:) = positionHistory %data (1 ,4:6 ) + traceTail%time = time + traceTail%isSatellite = isSatellite + traceTail%iHistory = iHistory + traceTail%node => nodeDescendant + traceTail%nodeHost => nodeHost + traceTail%next => null() + ! Move to the next step. + !! Case where we want to move to the parent node. + if ( & + & nodeDescendant%isPrimaryProgenitor() & ! 1. Node is primary progenitor - so we can move directly to its descendant. + & .or. & + & .not.associated(nodeDescendant%parent ) & ! 2. Node has no descendant - we have reached the end of the tree - move to that null + & .or. & ! descendant to terminate the tree walk. + & .not.haveHistory & ! 3. Node is not the primary progenitor, but has no position history. It becomes an orphan + & .or. & ! in its parent, so move our pointer to that parent such that we will follow its position. + & ( haveHistory .and. iHistory == countHistory) & ! 4. We have reached the end of the node's position history. It becomes an orphan + & ) then ! in its parent, so move our pointer to that parent such that we will follow its position. + !! Check for a subhalo promotion. + if (haveSubhaloPromotion) then + ! We have a subhalo promotion - move our pointer to that node. + nodeDescendant => event %node + nodeHost => nodeDescendant ! This is always an isolated halo by construction, so must be self-hosting. else - ! The current time is at or after the first time in the position history. Therefore, locate the point in the position - ! history that spans the current time. - interpolator_ = interpolator (positionHistory%time ) - i = interpolator_ %locate(basic %time()) - time (1 ) = positionHistory %time (i ) - time (2 ) = positionHistory %time (i+1 ) - positionComoving(1,:) = positionHistory %data (i ,1:3 ) - positionComoving(2,:) = positionHistory %data (i+1,1:3 ) - velocityComoving(1,:) = positionHistory %data (i ,4:6 ) - velocityComoving(2,:) = positionHistory %data (i+1,4:6 ) + nodeDescendant => nodeHost %parent ! Always move to the host's parent - this allows us to correctly handle satellites that have been orphanized. + nodeHost => nodeDescendant ! This is always an isolated halo by construction, so must be self-hosting. end if - else - ! We have no means to determine the start/end points for this interval. This node must have no future, and so we can - ! safely set a null interpolation infinitely far into the future. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - call position%floatRank0MetaPropertySet(self%timeMaximumID ,huge(0.0d0) ) - return - end if - ! Compute the interpolation only if there is a non-zero time interval over which to interpolate. Halos about to experience - ! a node promotion or branch jump event can exist at precisely the time of the halo they are about to become. - if (time(1) < time(2)) then - ! Get comoving position/velocity at start/end times. - expansionFactor (1 )= self%cosmologyFunctions_%expansionFactor(time(1)) - expansionFactor (2 )= self%cosmologyFunctions_%expansionFactor(time(2)) - positionComoving(1,:)=positionComoving(1,:)/ expansionFactor( 1 ) - positionComoving(2,:)=positionComoving(2,:)/ expansionFactor( 2 ) - velocityComoving(1,:)=velocityComoving(1,:)/ expansionFactor( 1 )/Mpc_per_km_per_s_To_Gyr - velocityComoving(2,:)=velocityComoving(2,:)/ expansionFactor( 2 )/Mpc_per_km_per_s_To_Gyr - ! Handle periodic positions. - if (self%isPeriodic) then - do j=1,3 - if (positionComoving(2,j) > positionComoving(1,j)+0.5d0*self%lengthBox) positionComoving(2,j)=positionComoving(2,j)-self%lengthBox - if (positionComoving(2,j) < positionComoving(1,j)-0.5d0*self%lengthBox) positionComoving(2,j)=positionComoving(2,j)+self%lengthBox + ! Update the time if the descendant exists. + if (associated(nodeDescendant)) then + basic => nodeDescendant%basic() + time = basic %time () + end if + !! Case where we want to follow a position history. + else if (haveHistory) then + ! We have a position history to use. + if (iHistory < 0_c_size_t) then + ! This is our first use of the history - find the initial step in history that we want to use. + iHistory=1_c_size_t + do while (iHistory < countHistory .and. time >= positionHistory%time(iHistory)) + iHistory=iHistory+1_c_size_t end do + else + ! This is a subsequent step in the history, simply move to the next step. + iHistory=iHistory+1_c_size_t end if - ! Solve for the interpolation coefficients in each Cartesian axis. - do i=1,3 - allocate(terms ) - allocate(coordinates ) - allocate(coefficients) - coordinates=vector( & - & [ & - & positionComoving(1,i),positionComoving(2,i),velocityComoving(1,i),velocityComoving(2,i) & - & ] & - & ) - terms =matrix( & - & transpose( & - & reshape( & - & [ & - & time(1)**3 , time(1)**2 ,time(1) ,1.0d0 , & - & time(2)**3 , time(2)**2 ,time(2) ,1.0d0 , & - & 3.0d0*time(1)**2 ,2.0d0*time(1) ,1.0d0 ,0.0d0 , & - & 3.0d0*time(2)**2 ,2.0d0*time(2) ,1.0d0 ,0.0d0 & - & ] , & - & [4,4] & - & ) & - & ) & - & ) - coefficients =terms%linearSystemSolve(coordinates ) - coefficientsCubic(:,i)= coefficients - deallocate(terms ) - deallocate(coordinates ) - deallocate(coefficients) - end do - ! Store the computed interpolation coefficients and the time to which they are valid. - call position%floatRank1MetaPropertySet(self%coefficientsID,reshape(coefficientsCubic,[12])) - call position%floatRank0MetaPropertySet(self%timeMaximumID , time( 2 )) - end if - else - ! Compute logarithmic spiral interpolation. - basic => node %basic () - position => node %position () - positionHistory = position%positionHistory() - if (.not.positionHistory%exists()) call Error_Report('position history does not exist'//{introspection:location}) - ! Find the interval in the position history which spans the current epoch. - interpolator_ =interpolator (positionHistory%time ) - i =interpolator_ %locate(basic %time()) - time (1)=positionHistory%time (i ) - time (2)=positionHistory%time (i+1 ) - ! We want to find a parent (and grandparent) whose existence spans these times. - nodeParent => node %parent - basicParent => nodeParent%basic () - do while (Values_Less_Than(basicParent%time(),time(1),relTol=1.0d-2)) - nodeParent => nodeParent%parent - basicParent => nodeParent%basic () - end do - ! If the parent is not (approximately) at our initial time, back up to the prior parent (if one exists). - if (Values_Differ(basicParent%time(),time(1),relTol=1.0d-2) .and. associated(nodeParent%firstChild)) then - nodeParent => nodeParent%firstChild - basicParent => nodeParent%basic () - end if - ! Find a grand-parent which exists at (or after) the final time. - nodeGrandparent => nodeParent%parent - if (associated(nodeGrandparent)) then - basicGrandparent => nodeGrandparent%basic() - do while (Values_Less_Than(basicGrandparent%time(),time(2),relTol=1.0d-2)) - nodeGrandparent => nodeGrandparent%parent - if (associated(nodeGrandparent)) then - basicGrandparent => nodeGrandparent%basic() + ! Check if we have not yet reached the end of history. + if (iHistory <= countHistory) then + ! Update the time to this new history step. + time=positionHistory%time(iHistory) + ! Move the host pointer. + basicHost => nodeHost%basic() + do while (associated(nodeHost) .and. basicHost%time() < time) + nodeHost => nodeHost%parent + if (associated(nodeHost)) basicHost => nodeHost%basic() + end do + ! If the host exists after our current descendant, back up to the previous host. + if (associated(nodeHost) .and. basicHost%time() > time) nodeHost => nodeHost%firstChild + else + ! The end of the history was reached. + !! Check for a subhalo promotion. + if (haveSubhaloPromotion) then + ! We have a subhalo promotion - move our pointer to that node. + nodeDescendant => event %node + nodeHost => nodeDescendant ! This is always an isolated halo by construction, so must be self-hosting. else - ! No grandparent halo exists at the final time. Use a null interpolation to ensure that - ! the fixed-at-snapshot position will be used for the node. Set the maximum time for the interpolation to infinity to - ! avoid an infinite loop of attempting to compute this interpolation. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - call position%floatRank0MetaPropertySet(self%timeMaximumID ,huge(0.0d0) ) - return + ! This descendant becomes orphanized in its parent, so move our pointer to that parent such that we will follow + ! its position. + nodeDescendant => nodeHost %parent + nodeHost => nodeDescendant ! This is always an isolated halo by construction, so must be self-hosting. end if - end do - ! Back up to the previous grandparent. This grandparent therefore exists up until our final time. - nodeGrandparent => nodeGrandparent%firstChild - basicGrandparent => nodeGrandparent%basic () - ! Calculate interpolating factors for positions and velocities. - positionParent => nodeParent %position() - positionGrandparent => nodeGrandparent %position() - timeParent = basicParent %time () - timeGrandparent = basicGrandparent%time () - ! Iterate over position and velocity. - do k=1,2 - ! Find displacement vectors (in physical coordinates) from the host center. Adjust the parent/grandparent nodes to - ! the initial/final times of our interval such that their positions will be interpolated to the correct time. - select case (k) - case (1) - ! Position. - call basicParent %timeSet(time(1)) - positionRelative(1,:)=positionHistory%data(i ,1:3)-positionParent %position() - call basicGrandparent%timeSet(time(2)) - positionRelative(2,:)=positionHistory%data(i+1,1:3)-positionGrandParent%position() - case (2) - ! Velocity - call basicParent %timeSet(time(1)) - positionRelative(1,:)=positionHistory%data(i ,4:6)-positionParent %velocity() - call basicGrandparent%timeSet(time(2)) - positionRelative(2,:)=positionHistory%data(i+1,4:6)-positionGrandParent%velocity() - end select - ! Handle periodic positions. - if (k == 1 .and. self%isPeriodic) then - expansionFactor(1)=self%cosmologyFunctions_%expansionFactor(time(1)) - expansionFactor(2)=self%cosmologyFunctions_%expansionFactor(time(2)) - do j=1,3 - if (positionRelative(2,j)/expansionFactor(2) > positionRelative(1,j)/expansionFactor(1)+0.5d0*self%lengthBox) positionRelative(2,j)=positionRelative(2,j)-self%lengthBox*expansionFactor(2) - if (positionRelative(2,j)/expansionFactor(2) < positionRelative(1,j)/expansionFactor(1)-0.5d0*self%lengthBox) positionRelative(2,j)=positionRelative(2,j)+self%lengthBox*expansionFactor(2) - end do + ! Update the time if the descendant exists. + if (associated(nodeDescendant)) then + basic => nodeDescendant%basic() + time = basic %time () end if - ! Handle zero relative positions. - if (all(positionRelative(2,:) == 0.0d0)) then - ! Final relative position is zero. - if (all(positionRelative(1,:) == 0.0d0)) then - ! Initial position is zero also, use an arbitrary direction. - positionRelative(2,:)=separationTiny*[1.0d0,0.0d0,0.0d0] - else - positionRelative(2,:)=separationTiny*positionRelative(1,:)/Vector_Magnitude(positionRelative(1,:)) - end if + end if + + end if + ! Check for a merger. + if (haveMerger .and. time >= timeMerger) then + ! Move to the host, unless the merger time is before the current time, in which case we need to back up to the host's + ! progenitor. + if (associated(nodeMergeTarget)) then + ! A merge target is available - move to that node. + nodeDescendant => nodeMergeTarget + ! Determine if this descendant is its own host. + !! If it is the primary progenitor, then it must be its own host. + isHost=nodeDescendant%isPrimaryProgenitor().or..not.associated(nodeDescendant%parent) + !! Otherwise, it is its own host if the merger happens prior to it becoming a satellite in its aprent. + if (.not.isHost) then + basicHost => nodeDescendant%parent%basic() + isHost = timeMerger < basicHost%time() end if - if (all(positionRelative(1,:) == 0.0d0)) then - ! Initial relative position is zero. - if (all(positionRelative(2,:) == 0.0d0)) then - ! Final position is zero also, use an arbitrary direction. - positionRelative(1,:)=separationTiny*[1.0d0,0.0d0,0.0d0] - else - positionRelative(1,:)=separationTiny*positionRelative(2,:)/Vector_Magnitude(positionRelative(2,:)) + if (isHost) then + nodeHost => nodeDescendant + else + ! The descendant is not its own host - trace down until we find the host at the time of merging. + nodeHost => nodeDescendant%parent + do while (nodeHost%isSatellite()) + nodeHost => nodeHost%parent + end do + basicHost =>nodeHost%basic() + do while (basicHost%time() < timeMerger) + nodeHost => nodeHost%parent + basicHost => nodeHost%basic () + end do + ! We may be merging into this descendant at some mid-point in its position history - seek that position now. + position => nodeDescendant%position () + positionHistory = position %positionHistory() + if (positionHistory%exists()) then + iHistory=1_c_size_t + countHistory=size(positionHistory%time) + do while (iHistory < countHistory .and. timeMerger > positionHistory%time(iHistory)) + iHistory=iHistory+1_c_size_t + end do end if end if - ! Construct the normal vector to the orbital plane, plus a vector in the plane which is normal to our initial time - ! relative position. - vectorNormal =+Vector_Product (positionRelative ( 1,:),positionRelative(2,:)) - vectorNormal =+ vectorNormal & - & /Vector_Magnitude(vectorNormal ) - vectorInPlaneNormal(k,1,:)=+ positionRelative ( 1,:) & - & /Vector_Magnitude(positionRelative ( 1,:) ) - vectorInPlaneNormal(k,2,:)=+Vector_Product (vectorInPlaneNormal(k,1,:),vectorNormal ) - vectorInPlaneNormal(k,2,:)=+ vectorInPlaneNormal(k,2,:) & - & /Vector_Magnitude(vectorInPlaneNormal(k,2,:) ) - !! The in plane normal vector is defined only up to +/- inversion. Choose the option which minimizes the angle between - !! it and the relative position vector at the final time. This is how we enforce the choice of Merson et al. (2013) to - !! always assumes that the motion of the particle is over the minimal span of angle. - if ( & - & Dot_Product(positionRelative(2,:),-vectorInPlaneNormal(k,2,:)) & - & > & - & Dot_Product(positionRelative(2,:),+vectorInPlaneNormal(k,2,:)) & - & ) vectorInPlaneNormal(k,2,:)=-vectorInPlaneNormal(k,2,:) - !! Find the linear fit coefficients to angle. - coefficientsAngle (k,2)=+acos( & - & min( & - & +1.0d0 , & - & max( & - & -1.0d0 , & - & +Dot_Product (positionRelative(2,:),vectorInPlaneNormal(k,1,:)) & - & /Vector_Magnitude(positionRelative(2,:) ) & - & ) & - & ) & - & ) & - & / ( & - & +time(2) & - & -time(1) & - & ) - coefficientsAngle (k,1)=-time(1) & - & *coefficientsAngle(k,2) - !! Find the linear fit coefficients to log-radius. - coefficientsLogRadius(k,2)=+( & - & +log(Vector_Magnitude(positionRelative(2,:))) & - & -log(Vector_Magnitude(positionRelative(1,:))) & - & ) & - & /( & - & +time(2) & - & -time(1) & - & ) - coefficientsLogRadius(k,1)=-time(1) & - & *coefficientsLogRadius(k,2) & - & +log(Vector_Magnitude(positionRelative(1,:))) - end do - ! Reset parent/grandparent node times. - call basicParent %timeSet(timeParent ) - call basicGrandparent%timeSet(timeGrandparent) - ! Store the computed interpolation coefficients. - coefficientsSpiral( 1:12)=reshape(vectorInPlaneNormal ,[12]) - coefficientsSpiral(13:16)=reshape(coefficientsAngle ,[ 4]) - coefficientsSpiral(17:20)=reshape(coefficientsLogRadius,[ 4]) - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsSpiral ) - call position%floatRank0MetaPropertySet(self%timeMaximumID ,time (2)) - else - ! No grandparent halo exists. This can occur in a tree which ceases to exist. Use a null interpolation to ensure that - ! the fixed-at-snapshot position will be used for the node. Set the maximum time for the interpolation to infinity to - ! avoid an infinite loop of attempting to compute this interpolation. - call position%floatRank1MetaPropertySet(self%coefficientsID,coefficientsNull) - call position%floatRank0MetaPropertySet(self%timeMaximumID ,huge(0.0d0) ) + else + ! Node merge target is not available - assume merging with the current host + if (time == timeMerger) then + nodeDescendant => nodeHost + else + nodeDescendant => nodeHost%firstChild + end if + nodeHost => nodeDescendant + end if + time = timeMerger + timeMerger = huge(0.0d0) + haveMerger = .false. + nodeMergeTarget => null() end if + ! Check for a branch jump. + if (haveBranchJump .and. time == timeBranchJump) nodeHost => event%node + end do + ! Allocate storage for all coefficients. + !! NOTE: This is currently inefficient - we allocate enough space for both logarithmic spiral and cubic polynomial coefficients for each timestep. + allocate(coefficients((countTrace-1_c_size_t)*(2_c_size_t+countCoefficientsCubicPolynomial+countCoefficientsLogarithmicSpiral))) + coefficients=-huge(0.0d0) + ! Extract the final position to use as a reference point when handling periodic boundaries. + position => traceTail%node%position() + if (traceTail%isSatellite) then + positionHistory = position %positionHistory( ) + positionReference=+positionHistory %data (traceTail%iHistory,1:3) & + & /self %cosmologyFunctions_%expansionFactor(traceTail%time ) + else + positionReference=+position %position ( ) & + & /self %cosmologyFunctions_%expansionFactor(traceTail%time ) end if + ! Walk through the trace and compute interpolations. + traceTail => traceHead + iTrace = 0_c_size_t + do while (associated(traceTail)) + ! Determine the interpolation coefficients for this step. + if (associated(traceTail%next)) then ! Skip the final step as we can't interpolate into the future. + ! Catch any duplicated times. + if (traceTail%time == traceTail%next%time) & + & call Error_Report(var_str('duplicated time in position trace for node ')//node%index()//{introspection:location}) + ! Store the time. + coefficients(1_c_size_t+iTrace)=traceTail%time + ! Determine the type of interpolation to use. + if (traceTail%isSatellite .and. traceTail%next%isSatellite) then + ! Logarithmic spiral interpolation - the node is a satellite at this step, and at the next step. + coefficients(1_c_size_t+(countTrace-1_c_size_t)+iTrace)=1.0d0 + !! Get the logarithmic spiral interpolation for the host halo. + coefficientsSpiral=computeCoefficientsLogarithmicSpiral(traceTail ) + !! Get the cubic polynomial interpolation for the host halo. + coefficientsCubic =computeCoefficientsCubicPolynomial (traceTail,useHost=.true. ) + !! Store the coefficients. + offset =2_c_size_t*(countTrace-1_c_size_t)+(countCoefficientsCubicPolynomial+countCoefficientsLogarithmicSpiral)*iTrace + coefficients(offset+1_c_size_t:offset+countCoefficientsCubicPolynomial )=reshape(coefficientsCubic ,[countCoefficientsCubicPolynomial ]) + offset =offset+countCoefficientsCubicPolynomial + coefficients(offset+1_c_size_t:offset+countCoefficientsLogarithmicSpiral)=reshape(coefficientsSpiral,[countCoefficientsLogarithmicSpiral]) + else + ! Polynomial interpolation - whenever the node is not a satellite at this and the next step. + coefficients((countTrace-1_c_size_t)+iTrace)=0.0d0 + !! Get the cubic polynomial coefficients. + coefficientsCubic=computeCoefficientsCubicPolynomial (traceTail,useHost=.false.) + !! Store the coefficients. + offset =2_c_size_t*(countTrace-1_c_size_t)+(countCoefficientsCubicPolynomial+countCoefficientsLogarithmicSpiral)*iTrace + coefficients(offset+1_c_size_t:offset+countCoefficientsCubicPolynomial)=reshape(coefficientsCubic,[countCoefficientsCubicPolynomial]) + end if + end if + ! Move to the next step, cleaning up our list as we go. + traceHead => traceTail%next + deallocate(traceTail) + traceTail => traceHead + iTrace = iTrace+1_c_size_t + end do + position => node%position() + call position%floatRank1MetaPropertySet(self%coefficientsID,coefficients) return - end subroutine positionInterpolatedComputeInterpolation + + contains + + function computeCoefficientsLogarithmicSpiral(trace) result(coefficientsLogarithmicSpiral) + !!{ + Compute coefficients of a logarithmic spiral interpolation for position and velocity. + !!} + use :: Galacticus_Nodes , only : nodeComponentPosition + use :: Histories , only : history + use :: Numerical_Constants_Astronomical, only : Mpc_per_km_per_s_To_Gyr + use :: Vectors , only : Vector_Product , Vector_Magnitude + implicit none + double precision , dimension(20) :: coefficientsLogarithmicSpiral + type (nodeTrace ), intent(in ) , target :: trace + type (nodeTrace ) , pointer :: trace_ + class (nodeComponentPosition) , pointer :: position , positionHost + double precision , dimension( 2 ) :: time + double precision , dimension( 2,3) :: positionRelative + double precision , dimension( 2,2) :: coefficientsAngle , coefficientsLogRadius + double precision , dimension( 3) :: positionSatellite_ , positionHost_ , & + & vectorNormal + double precision , dimension(2,2,3) :: vectorInPlaneNormal + double precision , parameter :: separationTiny =1.0d-6 + type (history ) :: positionHistory + integer :: i , j , & + & k + double precision :: expansionFactor + + ! Iterate over position and velocity. + do k=1,2 + ! Extract data at start and end times. + do i=1,2 + ! Select the point in the trace to use. + select case (i) + case (1) + trace_ => trace + case (2) + trace_ => trace%next + end select + time(i)=trace_%time + ! Validate that the node is a satellite. + if (.not.trace_%isSatellite) call Error_Report('expected a satellite node'//{introspection:location}) + ! Extract positional components and history. + position => trace_ %node %position () + positionHost => trace_ %nodeHost%position () + positionHistory = position %positionHistory() + ! Find displacement vectors (in physical coordinates) from the host center. + select case (k) + case (1) + ! Position. + positionSatellite_=positionHistory%data (trace_%iHistory,1:3) + positionHost_ =positionHost %position( ) + ! Handle periodic positions. + if (self%isPeriodic) then + expansionFactor=self%cosmologyFunctions_%expansionFactor(trace_%time) + do j=1,3 + if (positionSatellite_(j)/expansionFactor > positionReference(j)+0.5d0*self%lengthBox) positionSatellite_(j)=positionSatellite_(j)-self%lengthBox*expansionFactor + if (positionSatellite_(j)/expansionFactor < positionReference(j)-0.5d0*self%lengthBox) positionSatellite_(j)=positionSatellite_(j)+self%lengthBox*expansionFactor + if (positionHost_ (j)/expansionFactor > positionReference(j)+0.5d0*self%lengthBox) positionHost_ (j)=positionHost_ (j)-self%lengthBox*expansionFactor + if (positionHost_ (j)/expansionFactor < positionReference(j)-0.5d0*self%lengthBox) positionHost_ (j)=positionHost_ (j)+self%lengthBox*expansionFactor + end do + end if + positionRelative(i,:)=positionSatellite_ -positionHost_ + case (2) + ! Velocity + positionRelative(i,:)=positionHistory %data(trace_%iHistory,4:6)-positionHost %velocity() + end select + end do + ! Handle zero relative positions. + if (all(positionRelative(2,:) == 0.0d0)) then + ! Final relative position is zero. + if (all(positionRelative(1,:) == 0.0d0)) then + ! Initial position is zero also, use an arbitrary direction. + positionRelative(2,:)=separationTiny*[1.0d0,0.0d0,0.0d0] + else + positionRelative(2,:)=separationTiny*positionRelative(1,:)/Vector_Magnitude(positionRelative(1,:)) + end if + end if + if (all(positionRelative(1,:) == 0.0d0)) then + ! Initial relative position is zero. + if (all(positionRelative(2,:) == 0.0d0)) then + ! Final position is zero also, use an arbitrary direction. + positionRelative(1,:)=separationTiny*[1.0d0,0.0d0,0.0d0] + else + positionRelative(1,:)=separationTiny*positionRelative(2,:)/Vector_Magnitude(positionRelative(2,:)) + end if + end if + ! Construct the normal vector to the orbital plane, plus a vector in the plane which is normal to our initial time + ! relative position. + vectorNormal =+Vector_Product (positionRelative ( 1,:),positionRelative(2,:)) + vectorNormal =+ vectorNormal & + & /Vector_Magnitude(vectorNormal ) + vectorInPlaneNormal(k,1,:)=+ positionRelative ( 1,:) & + & /Vector_Magnitude(positionRelative ( 1,:) ) + vectorInPlaneNormal(k,2,:)=+Vector_Product (vectorInPlaneNormal(k,1,:),vectorNormal ) + vectorInPlaneNormal(k,2,:)=+ vectorInPlaneNormal(k,2,:) & + & /Vector_Magnitude(vectorInPlaneNormal(k,2,:) ) + !! The in plane normal vector is defined only up to +/- inversion. Choose the option which minimizes the angle between + !! it and the relative position vector at the final time. This is how we enforce the choice of Merson et al. (2013) to + !! always assumes that the motion of the particle is over the minimal span of angle. + if ( & + & Dot_Product(positionRelative(2,:),-vectorInPlaneNormal(k,2,:)) & + & > & + & Dot_Product(positionRelative(2,:),+vectorInPlaneNormal(k,2,:)) & + & ) vectorInPlaneNormal(k,2,:)=-vectorInPlaneNormal(k,2,:) + !! Find the linear fit coefficients to angle. + coefficientsAngle (k,2)=+acos( & + & min( & + & +1.0d0 , & + & max( & + & -1.0d0 , & + & +Dot_Product (positionRelative(2,:),vectorInPlaneNormal(k,1,:)) & + & /Vector_Magnitude(positionRelative(2,:) ) & + & ) & + & ) & + & ) & + & / ( & + & +time(2) & + & -time(1) & + & ) + coefficientsAngle (k,1)=-time(1) & + & *coefficientsAngle(k,2) + !! Find the linear fit coefficients to log-radius. + coefficientsLogRadius(k,2)=+( & + & +log(Vector_Magnitude(positionRelative(2,:))) & + & -log(Vector_Magnitude(positionRelative(1,:))) & + & ) & + & /( & + & +time(2) & + & -time(1) & + & ) + coefficientsLogRadius(k,1)=-time(1) & + & *coefficientsLogRadius(k,2) & + & +log(Vector_Magnitude(positionRelative(1,:))) + end do + ! Store the computed interpolation coefficients. + coefficientsLogarithmicSpiral( 1:12)=reshape(vectorInPlaneNormal ,[12]) + coefficientsLogarithmicSpiral(13:16)=reshape(coefficientsAngle ,[ 4]) + coefficientsLogarithmicSpiral(17:20)=reshape(coefficientsLogRadius,[ 4]) + return + end function computeCoefficientsLogarithmicSpiral + + function computeCoefficientsCubicPolynomial(trace,useHost) result(coefficientsCubicPolynomial) + !!{ + Compute coefficients of a cubic polynomial interpolation for position and velocity. + !!} + use :: Galacticus_Nodes , only : nodeComponentPosition + use :: Histories , only : history + use :: Linear_Algebra , only : vector , matrix, assignment(=) + use :: Numerical_Constants_Astronomical, only : Mpc_per_km_per_s_To_Gyr + implicit none + double precision , dimension(4,3) :: coefficientsCubicPolynomial + type (nodeTrace ), intent(in ) , target :: trace + logical , intent(in ) :: useHost + class (nodeComponentPosition ) , pointer :: position + type (nodeTrace ) , pointer :: trace_ + double precision , dimension(2 ) :: times + double precision , dimension(2,3) :: positionComoving , velocityComoving, & + & positionPhysical , velocityPhysical + type (vector ) , allocatable :: coordinates , coefficients + type (matrix ) , allocatable :: terms + integer :: i , j + type (history ) :: positionHistory + + do i=1,2 + select case (i) + case (1) + trace_ => trace + case (2) + trace_ => trace%next + end select + times(i)=trace_%time + if (useHost) then + position => trace_%nodeHost%position() + else + position => trace_%node %position() + end if + if (.not.useHost .and. trace_%isSatellite) then + positionHistory =position %positionHistory( ) + positionPhysical(i,:)=positionHistory%data (trace_%iHistory,1:3) + velocityPhysical(i,:)=positionHistory%data (trace_%iHistory,4:6) + else + positionPhysical(i,:)=position %position ( ) + velocityPhysical(i,:)=position %velocity ( ) + end if + ! Convert from physical to comoving coordinates, and, for velocities, from km/s to Mpc/Gyr. + positionComoving(i,:)=positionPhysical(i,:)/self%cosmologyFunctions_%expansionFactor(times(i)) + velocityComoving(i,:)=velocityPhysical(i,:)/self%cosmologyFunctions_%expansionFactor(times(i))/Mpc_per_km_per_s_To_Gyr + end do + ! Handle periodic positions. + if (self%isPeriodic) then + do i=1,2 + do j=1,3 + if (positionComoving(i,j) > positionReference(j)+0.5d0*self%lengthBox) positionComoving(i,j)=positionComoving(i,j)-self%lengthBox + if (positionComoving(i,j) < positionReference(j)-0.5d0*self%lengthBox) positionComoving(i,j)=positionComoving(i,j)+self%lengthBox + end do + end do + end if + ! Solve for the interpolation coefficients in each Cartesian axis. + do i=1,3 + allocate(terms ) + allocate(coordinates ) + allocate(coefficients) + coordinates=vector( & + & [ & + & positionComoving(1,i),positionComoving(2,i),velocityComoving(1,i),velocityComoving(2,i) & + & ] & + & ) + terms =matrix( & + & transpose( & + & reshape( & + & [ & + & times(1)**3 , times(1)**2 ,times(1) ,1.0d0 , & + & times(2)**3 , times(2)**2 ,times(2) ,1.0d0 , & + & 3.0d0*times(1)**2 ,2.0d0*times(1) ,1.0d0 ,0.0d0 , & + & 3.0d0*times(2)**2 ,2.0d0*times(2) ,1.0d0 ,0.0d0 & + & ] , & + & [4,4] & + & ) & + & ) & + & ) + coefficients =terms%linearSystemSolve(coordinates ) + coefficientsCubicPolynomial(:,i)= coefficients + deallocate(terms ) + deallocate(coordinates ) + deallocate(coefficients) + end do + return + end function computeCoefficientsCubicPolynomial + + end subroutine positionInterpolatedNodeTreeInitialize From 524241c470b9ef0004cc1aaaea49f1c34f75faa2 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:26:43 -0700 Subject: [PATCH 18/34] feat: Add a new `starFormationHistoryFixedAges` class that tabulates star formation histories in bins of fixed at at each node's lightcone crossing times --- .github/workflows/cicd.yml | 1 + source/geometry.lightcones.F90 | 10 +- source/geometry.lightcones.cylindrical.F90 | 23 +- source/geometry.lightcones.null.F90 | 24 +- source/geometry.lightcones.square.F90 | 147 +-- ...es.evolve.timesteps.lightcone_crossing.F90 | 56 +- source/nodes.operators.utilities.F90 | 20 +- ...objects.nodes.components.disk.standard.F90 | 29 +- ...cts.nodes.components.spheroid.standard.F90 | 84 +- source/star_formation.histories.F90 | 91 +- source/star_formation.histories.adaptive.F90 | 56 +- .../star_formation.histories.fixed_ages.F90 | 940 ++++++++++++++++++ source/star_formation.histories.in_situ.F90 | 89 +- ..._formation.histories.metallicity_split.F90 | 47 +- source/star_formation.histories.null.F90 | 7 +- testSuite/data/treeUNIT.hdf5 | Bin 0 -> 2764808 bytes ...test-star-formation-histories-fixedAge.xml | 111 +++ .../test-star-formation-histories-fixedAge.py | 63 ++ 18 files changed, 1565 insertions(+), 233 deletions(-) create mode 100644 source/star_formation.histories.fixed_ages.F90 create mode 100644 testSuite/data/treeUNIT.hdf5 create mode 100644 testSuite/parameters/test-star-formation-histories-fixedAge.xml create mode 100755 testSuite/test-star-formation-histories-fixedAge.py diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 8c7e815482..a984bc1f42 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -1077,6 +1077,7 @@ jobs: test-star-formation-histories.py, test-star-formation-histories-adaptive.py, test-star-formation-histories-inSitu.py, + test-star-formation-histories-fixedAge.py, test-mostMassiveProgenitorIsSubhalo.py, test-lightcone-crossing.py, test-massProfileSatelliteBoundMass.py, diff --git a/source/geometry.lightcones.F90 b/source/geometry.lightcones.F90 index e1de07f68e..dc4ddabab4 100644 --- a/source/geometry.lightcones.F90 +++ b/source/geometry.lightcones.F90 @@ -40,6 +40,11 @@ module Geometry_Lightcones double precision yes + + Returns the maximum time in the lightcone. + double precision + yes + Returns true if the provided node lies within the lightcone. logical @@ -77,8 +82,9 @@ module Geometry_Lightcones Returns the next time in the interval from the current node time to {\normalfont \ttfamily timeEnd} at which any replicant of this node will cross the lightcone. If no crossing occurs during this interval a very large value is returned instead. double precision yes - type (treeNode), intent(inout) :: node - double precision , intent(in ) :: timeStart, timeEnd + type (treeNode), intent(inout) :: node + double precision , intent(in ) :: timeStart , timeEnd + double precision , intent(inout), dimension(:), allocatable, optional :: timesCrossing Returns the position of the node at the time of lightcone crossing---which must have been previously identified via the {\normalfont \ttfamily timeLightconeCrossing} method. diff --git a/source/geometry.lightcones.cylindrical.F90 b/source/geometry.lightcones.cylindrical.F90 index 7f97e43e11..383ff7716c 100644 --- a/source/geometry.lightcones.cylindrical.F90 +++ b/source/geometry.lightcones.cylindrical.F90 @@ -74,6 +74,7 @@ !!] final :: cylindricalDestructor procedure :: timeMinimum => cylindricalTimeMinimum + procedure :: timeMaximum => cylindricalTimeMaximum procedure :: isInLightcone => cylindricalIsInLightcone procedure :: replicationCount => cylindricalReplicationCount procedure :: solidAngle => cylindricalSolidAngle @@ -498,6 +499,17 @@ double precision function cylindricalTimeMinimum(self) return end function cylindricalTimeMinimum + double precision function cylindricalTimeMaximum(self) + !!{ + Return the minimum time in the lightcone. + !!} + implicit none + class(geometryLightconeCylindrical), intent(inout) :: self + + cylindricalTimeMaximum=self%outputTimes_%time(self%outputTimes_%count()) + return + end function cylindricalTimeMaximum + logical function cylindricalIsInLightcone(self,node,atPresentEpoch,radiusBuffer) !!{ Determine if the given {\normalfont \ttfamily node} lies within the lightcone. @@ -614,16 +626,17 @@ function cylindricalVelocity(self,node,instance) return end function cylindricalVelocity - double precision function cylindricalTimeLightconeCrossing(self,node,timeStart,timeEnd) + double precision function cylindricalTimeLightconeCrossing(self,node,timeStart,timeEnd,timesCrossing) !!{ Return the time of the next lightcone crossing for this node. !!} use :: Error, only : Error_Report implicit none - class (geometryLightconeCylindrical), intent(inout) :: self - type (treeNode ), intent(inout) :: node - double precision , intent(in ) :: timeStart, timeEnd - !$GLC attributes unused :: self, node, timeStart, timeEnd + class (geometryLightconeCylindrical), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: timeStart , timeEnd + double precision , intent(inout), dimension(:), allocatable, optional :: timesCrossing + !$GLC attributes unused :: self, node, timeStart, timeEnd, timesCrossing cylindricalTimeLightconeCrossing=0.0d0 call Error_Report('not implemented'//{introspection:location}) diff --git a/source/geometry.lightcones.null.F90 b/source/geometry.lightcones.null.F90 index 538bfa01a3..b6f96fd7c0 100644 --- a/source/geometry.lightcones.null.F90 +++ b/source/geometry.lightcones.null.F90 @@ -39,6 +39,7 @@ private contains procedure :: timeMinimum => nullTimeMinimum + procedure :: timeMaximum => nullTimeMaximum procedure :: isInLightcone => nullIsInLightcone procedure :: replicationCount => nullReplicationCount procedure :: solidAngle => nullSolidAngle @@ -98,6 +99,18 @@ double precision function nullTimeMinimum(self) return end function nullTimeMinimum + double precision function nullTimeMaximum(self) + !!{ + Return the maximum time in the lightcone. + !!} + implicit none + class(geometryLightconeNull), intent(inout) :: self + !$GLC attributes unused :: self + + nullTimeMaximum=-huge(0.0d0) + return + end function nullTimeMaximum + logical function nullIsInLightcone(self,node,atPresentEpoch,radiusBuffer) !!{ Determine if the given {\normalfont \ttfamily node} lies within the lightcone @@ -155,15 +168,16 @@ function nullVelocity(self,node,instance) return end function nullVelocity - double precision function nullTimeLightconeCrossing(self,node,timeStart,timeEnd) + double precision function nullTimeLightconeCrossing(self,node,timeStart,timeEnd,timesCrossing) !!{ Return the time of the next lightcone crossing for this node. !!} implicit none - class (geometryLightconeNull), intent(inout) :: self - type (treeNode ), intent(inout) :: node - double precision , intent(in ) :: timeStart, timeEnd - !$GLC attributes unused :: self, node, timeStart, timeEnd + class (geometryLightconeNull), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: timeStart , timeEnd + double precision , intent(inout), dimension(:), allocatable, optional :: timesCrossing + !$GLC attributes unused :: self, node, timeStart, timeEnd, timesCrossing nullTimeLightconeCrossing=huge(0.0d0) return diff --git a/source/geometry.lightcones.square.F90 b/source/geometry.lightcones.square.F90 index 0061942570..fde12f4e34 100644 --- a/source/geometry.lightcones.square.F90 +++ b/source/geometry.lightcones.square.F90 @@ -118,6 +118,7 @@ !!] final :: squareDestructor procedure :: timeMinimum => squareTimeMinimum + procedure :: timeMaximum => squareTimeMaximum procedure :: isInLightcone => squareIsInLightcone procedure :: replicationCount => squareReplicationCount procedure :: solidAngle => squareSolidAngle @@ -334,6 +335,8 @@ function squareConstructorInternal(origin,unitVector,angularSize,lengthReplicati end do ! Normalize unit vectors. do i=1,3 + if (Vector_Magnitude(self%unitVector(:,i)) == 0.0d0) & + & call Error_Report('null unit vector is not permitted'//{introspection:location}) self%unitVector(:,i)=+ self%unitVector(:,i) & & /Vector_Magnitude(self%unitVector(:,i)) end do @@ -482,6 +485,17 @@ double precision function squareTimeMinimum(self) return end function squareTimeMinimum + double precision function squareTimeMaximum(self) + !!{ + Return the minimum time in the lightcone. + !!} + implicit none + class(geometryLightconeSquare), intent(inout) :: self + + squareTimeMaximum=self%outputTimes(size(self%outputTimes)) + return + end function squareTimeMaximum + logical function squareIsInLightcone(self,node,atPresentEpoch,radiusBuffer) !!{ Determine if the given {\normalfont \ttfamily node} lies within the lightcone. Note that, when called with {\normalfont @@ -845,7 +859,7 @@ function squarePositionAtOutput(self,output,nodePosition,instance) return end function squarePositionAtOutput - double precision function squareTimeLightconeCrossing(self,node,timeStart,timeEnd) + double precision function squareTimeLightconeCrossing(self,node,timeStart,timeEnd,timesCrossing) !!{ Return the time of the next lightcone crossing for this node. !!} @@ -854,34 +868,41 @@ double precision function squareTimeLightconeCrossing(self,node,timeStart,timeEn use :: Numerical_Constants_Physical , only : speedLight use :: Vectors , only : Vector_Magnitude use :: Root_Finder , only : rootFinder + use :: Sorting , only : sort + use :: Functions_Global , only : nodeOperatorPredeterminedSolveAnalytics_ implicit none - class (geometryLightconeSquare), intent(inout) :: self - type (treeNode ), intent(inout) :: node - double precision , intent(in ) :: timeStart , timeEnd - integer , dimension(3,2) :: periodicRange - class (nodeComponentBasic ), pointer :: basic - class (nodeComponentPosition ), pointer :: position - double precision , dimension(3 ) :: positionReference , nodePositionStart , & - & nodePositionEnd - double precision , parameter :: speedMaximum =2000.0 ! Maximum plausible physical speed for any node. - double precision , parameter :: toleranceTimeRelative=1.0d-6 - double precision :: distanceMinimum , distanceMaximum , & - & distanceNodeStart , distanceNodeEnd , & - & radiusBuffer , timeCrossing , & - & timeTolerance - logical :: isInFieldOfViewStart , isInFieldOfViewEnd - integer :: i , j , & - & k - type (rootFinder ) :: finder - - basic => node %basic ( ) - position => node %position ( ) - positionReference = position%position ( ) - distanceMinimum = self %cosmologyFunctions_%distanceComoving( timeEnd ) - distanceMaximum = self %cosmologyFunctions_%distanceComoving(max(timeStart,basic%time())) + class (geometryLightconeSquare), intent(inout) :: self + type (treeNode ), intent(inout) :: node + double precision , intent(in ) :: timeStart , timeEnd + double precision , intent(inout), dimension(: ), allocatable, optional :: timesCrossing + double precision , dimension(: ), allocatable :: timesCrossingTmp + integer , dimension(3,2) :: periodicRange + class (nodeComponentBasic ), pointer :: basic + class (nodeComponentPosition ), pointer :: position + double precision , dimension(3 ) :: positionReference , nodePositionStart , & + & nodePositionEnd + double precision , parameter :: speedMaximum =2000.0 ! Maximum plausible physical speed for any node. + double precision , parameter :: toleranceTimeRelative=1.0d-6 + double precision :: distanceMinimum , distanceMaximum , & + & distanceNodeStart , distanceNodeEnd , & + & radiusBuffer , timeCrossing , & + & timeTolerance , timeOriginal , & + & timeStart_ + logical :: isInFieldOfViewStart , isInFieldOfViewEnd + integer :: i , j , & + & k + type (rootFinder ) :: finder + + basic => node %basic ( ) + position => node %position ( ) + positionReference = position%position ( ) + timeOriginal = basic %time ( ) + timeStart_ = max(timeStart,timeOriginal) + distanceMinimum = self %cosmologyFunctions_%distanceComoving(timeEnd ) + distanceMaximum = self %cosmologyFunctions_%distanceComoving(timeStart_) radiusBuffer = +( & - & + timeEnd & - & -basic%time () & + & +timeEnd & + & -timeStart_ & & ) & & *speedMaximum & & /Mpc_per_km_per_s_To_Gyr @@ -894,8 +915,8 @@ double precision function squareTimeLightconeCrossing(self,node,timeStart,timeEn do j=periodicRange(2,1),periodicRange(2,2) do k=periodicRange(3,1),periodicRange(3,2) ! Compute position of node in lightcone coordinate system. - nodePositionStart=self%nodePositionReplicant(node,basic%time (),self%origin,[i,j,k],setTime=.true.,positionPeriodicReference=positionReference) - nodePositionEnd =self%nodePositionReplicant(node, timeEnd ,self%origin,[i,j,k],setTime=.true.,positionPeriodicReference=positionReference) + nodePositionStart=self%nodePositionReplicant(node,timeStart_,self%origin,[i,j,k],setTime=.true.) + nodePositionEnd =self%nodePositionReplicant(node,timeEnd ,self%origin,[i,j,k],setTime=.true.) isInFieldOfViewStart= & & abs(atan2(nodePositionStart(2),nodePositionStart(1))) < 0.5d0*self%angularsize & & .and. & @@ -918,38 +939,61 @@ double precision function squareTimeLightconeCrossing(self,node,timeStart,timeEn & ) & & ) then ! Find the precise time of lightcone crossing. - timeCrossing=finder%find(rootRange=[basic%time(),timeEnd]) + timeCrossing=finder%find(rootRange=[timeStart_,timeEnd]) ! Check that the node is in the field of view at this time, that this is the earliest crossing, and that the ! crossing occurs at least some small time after the current time of the node. (This last condition is to ensure ! that a node which was stopped at precisely the time of lightcone crossing is not marked to be crossing the ! lightcone again at that same time.) - nodePositionStart =self%nodePositionReplicant(node,timeCrossing,self%origin,[i,j,k],setTime=.true.,positionPeriodicReference=positionReference) + nodePositionStart =self%nodePositionReplicant(node,timeCrossing,self%origin,[i,j,k],setTime=.true.) isInFieldOfViewStart= & & abs(atan2(nodePositionStart(2),nodePositionStart(1))) < 0.5d0*self%angularsize & & .and. & & abs(atan2(nodePositionStart(3),nodePositionStart(1))) < 0.5d0*self%angularsize timeTolerance =+toleranceTimeRelative & - & *self%cosmologyFunctions_%expansionFactor(basic%time()) & + & *self%cosmologyFunctions_%expansionFactor(timeStart_) & & *self%lengthReplication & & *megaParsec & & /speedLight & & /gigaYear if ( & - & timeCrossing < squareTimeLightconeCrossing & - & .and. & - & timeCrossing > basic%time()+timeTolerance & + & timeCrossing > timeStart_+timeTolerance & & .and. & & isInFieldOfViewStart & & ) then - squareTimeLightconeCrossing =timeCrossing - self %nodeUniqueIDCrossing=node%uniqueID() - self %nodePositionCrossing=self%nodePositionReplicant(node,timeCrossing,self%origin,[i,j,k],setTime=.true.,positionPeriodicReference=positionReference) - self %nodeVelocityCrossing=self%nodeVelocityReplicant(node,timeCrossing ,[i,j,k],setTime=.true. ) + ! Only set this crossing as the result if it is the earliest crossing time found so far. + if (timeCrossing < squareTimeLightconeCrossing) then + squareTimeLightconeCrossing =timeCrossing + self %nodeUniqueIDCrossing=node%uniqueID() + self %nodePositionCrossing=self%nodePositionReplicant(node,timeCrossing,self%origin,[i,j,k],setTime=.true.) + self %nodeVelocityCrossing=self%nodeVelocityReplicant(node,timeCrossing ,[i,j,k],setTime=.true.) + end if + if (present(timesCrossing)) then + ! Append this crossing time to the list of all crossing times. + if (allocated(timesCrossing)) then + call move_alloc(timesCrossing,timesCrossingTmp) + allocate(timesCrossing(size(timesCrossingTmp)+1)) + timesCrossing(1:size(timesCrossingTmp))=timesCrossingTmp + deallocate(timesCrossingTmp) + else + allocate(timesCrossing(1)) + end if + timesCrossing(size(timesCrossing))=timeCrossing + end if end if end if end do end do end do + ! Must reset position and velocity as these can be used in the pre-determined solution. + call nodeOperatorPredeterminedSolveAnalytics_(self%nodeOperator_,node,timeOriginal) + ! Sort crossing times if necessary. + if (present(timesCrossing)) then + if (allocated(timesCrossing)) then + if (size(timesCrossing) > 1) call sort(timesCrossing) + else + allocate(timesCrossing(0)) + end if + end if return contains @@ -962,8 +1006,8 @@ Function used to find the time at which a node crosses the lightcone. double precision, intent(in ) :: time double precision, dimension(3) :: positionNode double precision :: distanceNode - - positionNode =self%nodePositionReplicant(node,time,self%origin,[i,j,k],setTime=.true.,positionPeriodicReference=positionReference) + + positionNode =self%nodePositionReplicant(node,time,self%origin,[i,j,k],setTime=.true.) distanceNode =Vector_Magnitude(positionNode) timeCrossingRoot=+ distanceNode & & -self%cosmologyFunctions_%distanceComoving(time) @@ -1086,24 +1130,23 @@ function squarePeriodicRange(self,distanceMinimum,distanceMaximum,radiusBuffer,o return end function squarePeriodicRange - function squareNodePositionReplicant(self,node,time,origin,replicant,setTime,positionPeriodicReference) + function squareNodePositionReplicant(self,node,time,origin,replicant,setTime) !!{ Compute the comoving position of the given node in the given replicant. !!} - use :: Galacticus_Nodes, only : nodeComponentBasic , nodeComponentPosition - use :: Functions_Global, only : nodeOperatorSolveAnalytics_ + use :: Galacticus_Nodes, only : nodeComponentBasic , nodeComponentPosition + use :: Functions_Global, only : nodeOperatorPredeterminedSolveAnalytics_ implicit none double precision , dimension(3) :: squareNodePositionReplicant class (geometryLightconeSquare), intent(inout) :: self type (treeNode ), intent(inout) :: node double precision , intent(in ) :: time double precision , intent(in ), dimension(3) :: origin - double precision , intent(in ), dimension(3), optional :: positionPeriodicReference integer , intent(in ), dimension(3) :: replicant logical , intent(in ) , optional :: setTime class (nodeComponentBasic ), pointer :: basic class (nodeComponentPosition ), pointer :: position - double precision , dimension(3) :: positionComovingNode , positionComovingReference + double precision , dimension(3) :: positionComovingNode integer :: i double precision :: timeOriginal , expansionFactor !![ @@ -1113,24 +1156,16 @@ function squareNodePositionReplicant(self,node,time,origin,replicant,setTime,pos if (setTime_) then basic => node %basic() timeOriginal = basic%time () - call nodeOperatorSolveAnalytics_(self%nodeOperator_,node,time) + call nodeOperatorPredeterminedSolveAnalytics_(self%nodeOperator_,node,time) end if position => node %position ( ) expansionFactor = +self %cosmologyFunctions_%expansionFactor(time) positionComovingNode = +position%position ( ) & & / expansionFactor - if (present(positionPeriodicReference)) then - positionComovingReference=+positionPeriodicReference & - & /expansionFactor - do i=1,3 - if (positionComovingNode(i) > positionComovingReference(i)+0.5d0*self%lengthReplication) positionComovingNode(i)=positionComovingNode(i)-self%lengthReplication - if (positionComovingNode(i) < positionComovingReference(i)-0.5d0*self%lengthReplication) positionComovingNode(i)=positionComovingNode(i)+self%lengthReplication - end do - end if do i=1,3 squareNodePositionReplicant(i)=Dot_Product(positionComovingNode-origin+self%lengthReplication*dble(replicant),self%unitVector(:,i)) end do - if (setTime_) call nodeOperatorSolveAnalytics_(self%nodeOperator_,node,timeOriginal) + if (setTime_) call nodeOperatorPredeterminedSolveAnalytics_(self%nodeOperator_,node,timeOriginal) return end function squareNodePositionReplicant diff --git a/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 b/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 index c2d0c03f74..50528e8fec 100644 --- a/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 +++ b/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 @@ -38,8 +38,8 @@ private class (geometryLightconeClass ), pointer :: geometryLightcone_ => null() class (mergerTreeOutputterClass), pointer :: mergerTreeOutputter_ => null() - double precision :: timeMinimum - integer :: timeMaximumID + double precision :: timeMinimum , timeCrossing + integer :: timeMinimumID , timeMaximumID contains final :: lightconeCrossingDestructor procedure :: timeEvolveTo => lightconeCrossingTimeEvolveTo @@ -91,9 +91,6 @@ function lightconeCrossingConstructorInternal(geometryLightcone_,mergerTreeOutpu !!] - !![ - - !!] self%timeMinimum=self%geometryLightcone_%timeMinimum() return end function lightconeCrossingConstructorInternal @@ -117,7 +114,7 @@ double precision function lightconeCrossingTimeEvolveTo(self,timeEnd,node,task,t Determine a suitable timestep for {\normalfont \ttfamily node} such that it does not exceed the time of the next lightconeCrossing merger. !!} use :: Evolve_To_Time_Reports, only : Evolve_To_Time_Report - use :: Galacticus_Nodes , only : nodeComponentPosition, nodeComponentBasic + use :: Galacticus_Nodes , only : nodeComponentBasic implicit none class (mergerTreeEvolveTimestepLightconeCrossing), intent(inout), target :: self double precision , intent(in ) :: timeEnd @@ -127,44 +124,27 @@ double precision function lightconeCrossingTimeEvolveTo(self,timeEnd,node,task,t logical , intent(in ) :: report type (treeNode ), intent( out), pointer, optional :: lockNode type (varying_string ), intent( out) , optional :: lockType - class (nodeComponentPosition ) , pointer :: position , positionParent class (nodeComponentBasic ) , pointer :: basic - double precision :: timeCrossing , timeMaximum , & - & timeMaximumParent - + double precision :: timeCrossing + ! Find the next crossing time for this node. lightconeCrossingTimeEvolveTo=huge(0.0d0) ! Consider only times after the earliest time specified. - if (timeEnd >= self%timeMinimum) then - ! Limit the maximum time to the latest time for which the position of the node is known. - position => node %position ( ) - timeMaximum = position%floatRank0MetaPropertyGet(self%timeMaximumID) - if (timeMaximum > 0.0d0) then - timeMaximum=min(timeMaximum,timeEnd) - else - timeMaximum= timeEnd - end if - ! For satellite nodes also limit the maximum time to the latest time for which the position of the parent node is known. - if (node%isSatellite()) then - positionParent => node %parent%position ( ) - timeMaximumParent = positionParent %floatRank0MetaPropertyGet(self%timeMaximumID) - if (timeMaximumParent > 0.0d0) timeMaximum=min(timeMaximum,timeMaximumParent) - end if - ! If the maximum time is after the current time, find the time (if any) of lightcone crossing. - basic => node%basic() - if (timeMaximum > basic%time()) then - timeCrossing=self%geometryLightcone_%timeLightconeCrossing(node,self%timeMinimum,timeMaximum) - if (timeCrossing <= timeEnd) lightconeCrossingTimeEvolveTo=timeCrossing - end if + basic => node%basic() + if (timeEnd >= max(self%timeMinimum,basic%time())) then + ! Find the time (if any) of lightcone crossing. + timeCrossing=self%geometryLightcone_%timeLightconeCrossing(node,max(self%timeMinimum,basic%time()),timeEnd) + if (timeCrossing <= timeEnd) lightconeCrossingTimeEvolveTo=timeCrossing end if ! If a crossing occurs, set the relevant task. if (lightconeCrossingTimeEvolveTo < huge(0.0d0)) then + self%timeCrossing = lightconeCrossingTimeEvolveTo task => lightconeCrossingProcess taskSelf => self if (present(lockNode)) lockNode => node if (present(lockType)) lockType = "lightcone crossing" if ( report ) call Evolve_To_Time_Report("lightcone crossing: ",lightconeCrossingTimeEvolveTo) - else + else task => null() taskSelf => null() if (present(lockNode)) lockNode => null() @@ -179,19 +159,23 @@ subroutine lightconeCrossingProcess(self,tree,node,deadlockStatus) !!} use :: Error , only : Error_Report use :: Merger_Trees_Evolve_Deadlock_Status, only : deadlockStatusIsNotDeadlocked - use mpi_utilities + use :: Galacticus_Nodes , only : nodeComponentBasic implicit none class(* ), intent(inout) :: self type (mergerTree ), intent(in ) :: tree type (treeNode ), intent(inout), pointer :: node type (enumerationDeadlockStatusType), intent(inout) :: deadlockStatus + class(nodeComponentBasic ) , pointer :: basic !$GLC attributes unused :: tree select type (self) class is (mergerTreeEvolveTimestepLightconeCrossing) - call self%mergerTreeOutputter_%outputNode(node,1_c_size_t) - ! The tree was changed, so mark that it is not deadlocked. - deadlockStatus=deadlockStatusIsNotDeadlocked + basic => node%basic() + if (basic%time() == self%timeCrossing) then + call self%mergerTreeOutputter_%outputNode(node,1_c_size_t) + ! The tree was changed, so mark that it is not deadlocked. + deadlockStatus=deadlockStatusIsNotDeadlocked + end if class default call Error_Report('incorrect class'//{introspection:location}) end select diff --git a/source/nodes.operators.utilities.F90 b/source/nodes.operators.utilities.F90 index 639e6c0f09..8204761063 100644 --- a/source/nodes.operators.utilities.F90 +++ b/source/nodes.operators.utilities.F90 @@ -26,8 +26,8 @@ module Nodes_Operators_Utilities Provides globally-accessible functions supporting the \refClass{nodeOperatorClass} class. !!} private - public :: nodeOperatorConstruct , nodeOperatorDestruct , nodeOperatorDeepCopy , nodeOperatorDeepCopyReset , & - & nodeOperatorDeepCopyFinalize, nodeOperatorStateRestore, nodeOperatorStateStore, nodeOperatorSolveAnalytics + public :: nodeOperatorConstruct , nodeOperatorDestruct , nodeOperatorDeepCopy , nodeOperatorDeepCopyReset , & + & nodeOperatorDeepCopyFinalize, nodeOperatorStateRestore, nodeOperatorStateStore, nodeOperatorPredeterminedSolveAnalytics ! Module-scope pointer to our task object. This is used for reference counting so that debugging information is consistent ! between the increments and decrements. @@ -79,7 +79,7 @@ end subroutine nodeOperatorConstruct !![ - nodeOperatorSolveAnalytics + nodeOperatorPredeterminedSolveAnalytics void Galacticus_Nodes, only : treeNode class (* ), intent(inout) :: nodeOperator_ @@ -87,13 +87,13 @@ end subroutine nodeOperatorConstruct double precision , intent(in ) :: time !!] - subroutine nodeOperatorSolveAnalytics(nodeOperator_,node,time) + subroutine nodeOperatorPredeterminedSolveAnalytics(nodeOperator_,node,time) !!{ - Evaluate analytic properties using a {\normalfont \ttfamily nodeOperator} object passed to us as an unlimited polymorphic object. + Evaluate analytic ppre-determined roperties using a {\normalfont \ttfamily nodeOperator} object passed to us as an unlimited polymorphic object. !!} - use :: Error , only : Error_Report - use :: Nodes_Operators , only : nodeOperatorClass - use :: Galacticus_Nodes, only : treeNode + use :: Error , only : Error_Report + use :: Nodes_Operators , only : nodeOperatorClass + use :: Galacticus_Nodes , only : treeNode use :: ISO_Varying_String, only : char implicit none class (* ), intent(inout) :: nodeOperator_ @@ -102,12 +102,12 @@ subroutine nodeOperatorSolveAnalytics(nodeOperator_,node,time) select type (nodeOperator_) class is (nodeOperatorClass) - call nodeOperator_%differentialEvolutionSolveAnalytics(node,time) + call nodeOperator_%predeterminedSolveAnalytics(node,time) class default call Error_Report('unexpected class'//{introspection:location}) end select return - end subroutine nodeOperatorSolveAnalytics + end subroutine nodeOperatorPredeterminedSolveAnalytics !![ diff --git a/source/objects.nodes.components.disk.standard.F90 b/source/objects.nodes.components.disk.standard.F90 index ed79d195ca..14b63777ed 100644 --- a/source/objects.nodes.components.disk.standard.F90 +++ b/source/objects.nodes.components.disk.standard.F90 @@ -830,8 +830,8 @@ subroutine Node_Component_Disk_Standard_Scale_Set(node) call disk%stellarPropertiesHistoryScale ( stellarPopulationHistoryScales) call stellarPopulationHistoryScales%destroy() stellarPopulationHistoryScales=disk%starFormationHistory() - call starFormationHistory_%scales (stellarPopulationHistoryScales,disk%massStellar(),disk%abundancesStellar()) - call disk%starFormationHistoryScale (stellarPopulationHistoryScales ) + call starFormationHistory_%scales (stellarPopulationHistoryScales,node,disk%massStellar(),disk%abundancesStellar()) + call disk%starFormationHistoryScale (stellarPopulationHistoryScales ) call stellarPopulationHistoryScales%destroy() end select return @@ -871,6 +871,7 @@ subroutine satelliteMerger(self,node) use :: Histories , only : history use :: Satellite_Merging_Mass_Movements, only : destinationMergerDisk , destinationMergerSpheroid, enumerationDestinationMergerType use :: Stellar_Luminosities_Structure , only : zeroStellarLuminosities + use :: Kind_NUmbers, only : kind_int8 implicit none class (* ), intent(inout) :: self type (treeNode ), intent(inout) :: node @@ -959,12 +960,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historyNode=disk %starFormationHistory () historyHost=diskHost%starFormationHistory () - call historyHost%increment (historyNode,autoExtend =.true. ) - call historyNode%reset ( ) - call diskHost %starFormationHistorySet(historyHost ) - call disk %starFormationHistorySet(historyNode ) - call historyNode%destroy ( ) - call historyHost%destroy ( ) + call starFormationHistory_%move (nodeHost,node,historyHost,historyNode) + call diskHost %starFormationHistorySet( historyHost ) + call disk %starFormationHistorySet( historyNode) + call historyNode %destroy ( ) + call historyHost %destroy ( ) case (destinationMergerSpheroid%ID) call spheroidHost%massStellarSet ( & & spheroidHost%massStellar () & @@ -979,7 +979,7 @@ subroutine satelliteMerger(self,node) & +disk %luminositiesStellar() & & ) ! Also add stellar properties histories. - historyNode=disk %stellarPropertiesHistory() + historyNode=disk %stellarPropertiesHistory() historyHost=spheroidHost%stellarPropertiesHistory() call historyHost %interpolatedIncrement (historyNode) call historyNode %reset ( ) @@ -988,12 +988,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historyNode=disk %starFormationHistory () historyHost=spheroidHost%starFormationHistory () - call historyHost %increment (historyNode,autoExtend =.true. ) - call historyNode %reset ( ) - call spheroidHost%starFormationHistorySet(historyHost ) - call disk %starFormationHistorySet(historyNode ) - call historyNode %destroy ( ) - call historyHost %destroy ( ) + call starFormationHistory_%move (nodeHost,node,historyHost,historyNode) + call spheroidHost %starFormationHistorySet( historyHost ) + call disk %starFormationHistorySet( historyNode) + call historyNode %destroy ( ) + call historyHost %destroy ( ) case default call Error_Report('unrecognized movesTo descriptor'//{introspection:location}) end select diff --git a/source/objects.nodes.components.spheroid.standard.F90 b/source/objects.nodes.components.spheroid.standard.F90 index ae531885b5..78e26ce89f 100644 --- a/source/objects.nodes.components.spheroid.standard.F90 +++ b/source/objects.nodes.components.spheroid.standard.F90 @@ -697,7 +697,6 @@ subroutine Node_Component_Spheroid_Standard_Star_Formation_History_Rate(self,rat !!{ Adjust the rates for the star formation history. !!} - use :: Error , only : Error_Report use :: Galacticus_Nodes , only : interruptTask, nodeComponentSpheroid, nodeComponentSpheroidStandard implicit none class (nodeComponentSpheroid), intent(inout) :: self @@ -708,30 +707,21 @@ subroutine Node_Component_Spheroid_Standard_Star_Formation_History_Rate(self,rat ! Get the star formation history in the spheroid. starFormationHistory=self%starFormationHistory() - ! Ensure that the history already exists. - if (.not.starFormationHistory%exists()) & - & call Error_Report( & - & 'no star formation history has been created in spheroid'// & - & {introspection:location} & - & ) - ! Check if the star formation history in the spheroid spans a sufficient range to accept the input rates. - if ( & - & rate%time( 1) < starFormationHistory%time( 1) & - & .or. rate%time(size(rate%time)) > starFormationHistory%time(size(starFormationHistory%time)) & - & ) then - ! It does not, so interrupt evolution and extend the history. + ! Check if the range of this history is sufficient. + if (starFormationHistory_%rangeIsSufficient(starFormationHistory,rate)) then + ! Range is sufficient, call the intrinsinc rate function. + select type (self) + class is (nodeComponentSpheroidStandard) + call self%starFormationHistoryRateIntrinsic(rate) + end select + else + ! Range is insufficient. if (allocated(starFormationHistoryTemplate)) deallocate(starFormationHistoryTemplate) allocate(starFormationHistoryTemplate(size(rate%time))) - starFormationHistoryTemplate=rate%time - interrupt=.true. - interruptProcedure => Node_Component_Spheroid_Standard_Star_Formation_History_Extend - return + starFormationHistoryTemplate = rate%time + interrupt = .true. + interruptProcedure => Node_Component_Spheroid_Standard_Star_Formation_History_Extend end if - ! Adjust the rate. - select type (self) - class is (nodeComponentSpheroidStandard) - call self%starFormationHistoryRateIntrinsic(rate) - end select return end subroutine Node_Component_Spheroid_Standard_Star_Formation_History_Rate @@ -871,8 +861,8 @@ subroutine Node_Component_Spheroid_Standard_Scale_Set(node) call spheroid%stellarPropertiesHistoryScale( stellarPopulationHistoryScales) call stellarPopulationHistoryScales%destroy() stellarPopulationHistoryScales=spheroid%starFormationHistory() - call starFormationHistory_%scales (stellarPopulationHistoryScales,spheroid%massStellar(),spheroid%abundancesStellar()) - call spheroid%starFormationHistoryScale (stellarPopulationHistoryScales ) + call starFormationHistory_%scales (stellarPopulationHistoryScales,node,spheroid%massStellar(),spheroid%abundancesStellar()) + call spheroid%starFormationHistoryScale (stellarPopulationHistoryScales ) call stellarPopulationHistoryScales%destroy() end select return @@ -1056,12 +1046,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historyDisk = diskHost%starFormationHistory() historySpheroid=spheroidHost%starFormationHistory() - call historyDisk %increment(historySpheroid ,autoExtend=.true.) - call historySpheroid%reset ( ) - call diskHost %starFormationHistorySet(historyDisk ) - call spheroidHost %starFormationHistorySet(historySpheroid) - call historyDisk %destroy() - call historySpheroid%destroy() + call starFormationHistory_%move (nodeHost,nodeHost,historyDisk,historySpheroid) + call diskHost %starFormationHistorySet( historyDisk ) + call spheroidHost %starFormationHistorySet( historySpheroid) + call historyDisk %destroy ( ) + call historySpheroid %destroy ( ) case (destinationMergerSpheroid%ID) call spheroidHost% massStellarSet( & & spheroidHost% massStellar() & @@ -1097,12 +1086,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historyDisk =diskHost %starFormationHistory() historySpheroid=spheroidHost%starFormationHistory() - call historySpheroid%increment(historyDisk ,autoExtend=.true.) - call historyDisk %reset ( ) - call spheroidHost %starFormationHistorySet (historySpheroid) - call diskHost %starFormationHistorySet (historyDisk ) - call historyDisk %destroy() - call historySpheroid%destroy() + call starFormationHistory_%move (nodeHost,nodeHost,historySpheroid,historyDisk) + call spheroidHost %starFormationHistorySet( historySpheroid ) + call diskHost %starFormationHistorySet( historyDisk) + call historyDisk %destroy ( ) + call historySpheroid %destroy ( ) historyDisk =diskHost %starFormationHistory() historySpheroid=spheroidHost%starFormationHistory() case (destinationMergerUnmoved%ID) @@ -1178,12 +1166,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historySpheroid=spheroid%starFormationHistory() history_ =diskHost%starFormationHistory() - call history_ %increment (historySpheroid,autoExtend =.true. ) - call historySpheroid%reset ( ) - call diskHost %starFormationHistorySet(history_ ) - call spheroid %starFormationHistorySet(historySpheroid ) - call history_ %destroy ( ) - call historySpheroid%destroy ( ) + call starFormationHistory_%move (nodeHost,node,history_,historySpheroid) + call diskHost %starFormationHistorySet( history_ ) + call spheroid %starFormationHistorySet( historySpheroid) + call history_ %destroy ( ) + call historySpheroid %destroy ( ) case (destinationMergerSpheroid%ID) call spheroidHost% massStellarSet( spheroidHost% massStellar() & & +spheroid % massStellar() & @@ -1204,12 +1191,11 @@ subroutine satelliteMerger(self,node) ! Also add star formation histories. historySpheroid=spheroid %starFormationHistory() history_ =spheroidHost%starFormationHistory() - call history_ %increment (historySpheroid,autoExtend =.true. ) - call historySpheroid%reset ( ) - call spheroidHost %starFormationHistorySet(history_ ) - call spheroid %starFormationHistorySet(historySpheroid ) - call history_ %destroy ( ) - call historySpheroid%destroy ( ) + call starFormationHistory_%move (nodeHost,node,history_,historySpheroid) + call spheroidHost %starFormationHistorySet( history_ ) + call spheroid %starFormationHistorySet( historySpheroid) + call history_ %destroy ( ) + call historySpheroid %destroy ( ) case default call Error_Report('unrecognized movesTo descriptor'//{introspection:location}) end select @@ -1478,7 +1464,7 @@ subroutine Node_Component_Spheroid_Standard_Star_Formation_History_Extend(node,t spheroid => node%spheroid() ! Extend the range as necessary. historyStarFormation=spheroid%starFormationHistory() - call historyStarFormation%extend(times=starFormationHistoryTemplate) + call starFormationHistory_%extend(historyStarFormation,starFormationHistoryTemplate) call spheroid%starFormationHistorySet(historyStarFormation) return end subroutine Node_Component_Spheroid_Standard_Star_Formation_History_Extend diff --git a/source/star_formation.histories.F90 b/source/star_formation.histories.F90 index d40126889d..b9e4261098 100644 --- a/source/star_formation.histories.F90 +++ b/source/star_formation.histories.F90 @@ -35,6 +35,18 @@ module Star_Formation_Histories implicit none private + ! Enumeration of possible star formation history age bin structures. + !![ + + starFormationHistoryAges + Used to specify distribution of age bins in star formation histories. + public + + + + + !!] + !![ starFormationHistory @@ -47,7 +59,7 @@ module Star_Formation_Histories Create the star formation history object. void yes - type (treeNode), intent(inout) :: node + type (treeNode), intent(inout), target :: node type (history ), intent(inout) :: historyStarFormation double precision , intent(in ) :: timeBegin double precision , intent(in ), optional :: timeEnd @@ -57,6 +69,7 @@ module Star_Formation_Histories void yes type (history ), intent(inout) :: historyStarFormation + type (treeNode ), intent(inout) :: node double precision , intent(in ) :: massStellar type (abundances), intent(in ) :: abundancesStellar @@ -78,20 +91,47 @@ module Star_Formation_Histories Return an array of times for this history \emph{if} the tabulation in time is static per output. double precision, allocatable, dimension(:) yes - integer(c_size_t), intent(in ) :: indexOutput + type (treeNode), intent(inout), optional :: node + integer (c_size_t), intent(in ), optional :: indexOutput + type (history ), intent(in ), optional :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + double precision , intent( out), optional :: timeStart Error - allocate(starFormationHistoryTimes(0)) - call Error_Report('times are not static'//{introspection:location}) + !$GLC attributes unused :: allowTruncation + if ( present(node).and. present(indexOutput )) call Error_Report('only one of `node` and `indexOutput` may be provided' //{introspection:location}) + if (.not.present(node).and..not.present(indexOutput )) call Error_Report('one of `node` and `indexOutput` must be provided' //{introspection:location}) + if ( present(node).and..not.present(starFormationHistory)) call Error_Report('`node` requires that `starFormationHistory` must be provided'//{introspection:location}) + if (present(indexOutput)) then + allocate(starFormationHistoryTimes(0)) + call Error_Report('times are not static'//{introspection:location}) + else if (present(node)) then + allocate(starFormationHistoryTimes(size(starFormationHistory%time))) + starFormationHistoryTimes=starFormationHistory%time + end if + if (present(timeStart)) timeStart=0.0d0 - - Return true if the tabulation (in time and metallicity) is static (independent of node) per output. - logical + + Return an array of masses of stars formed for this history. + double precision, allocatable, dimension(:,:) + yes + type (treeNode), intent(inout) :: node + type (history ), intent(in ) :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + + !$GLC attributes unused :: allowTruncation + allocate(starFormationHistoryMasses(size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2))) + starFormationHistoryMasses=starFormationHistory%data + + + + Return an enumeration member indicating what may be assumed about the distribution of ages in the star formation histories. + type(enumerationStarFormationHistoryAgesType) yes !$GLC attributes unused :: self - starFormationHistoryPerOutputTabulationIsStatic=.false. + starFormationHistoryAgeDistribution=starFormationHistoryAgesArbitrary @@ -105,6 +145,41 @@ module Star_Formation_Histories !$GLC attributes unused :: self, node, indexOutput, historyStarFormation + + Return true if the star formation history spans a sufficient range of times. + logical + yes + type(history), intent(in ) :: starFormationHistory, rangeHistory + + !$GLC attributes unused :: self, starFormationHistory, rangeHistory + starFormationHistoryRangeIsSufficient=.true. + + + + Extend a star formation history to span a sufficient range of times. + void + yes + type (history), intent(inout) :: starFormationHistory + double precision , intent(in ), dimension(:) :: times + Error + + !$GLC attributes unused :: self, starFormationHistory, times + call Error_Report("unexpected attempt to extend star formation history"//{introspection:location}) + + + + Move one star formation history into another. + void + yes + type(treeNode), intent(inout) :: node1 , node2 + type(history ), intent(inout) :: starFormationHistory1, starFormationHistory2 + Error + + !$GLC attributes unused :: self, node1, node2 + call starFormationHistory1%increment(starFormationHistory2,autoExtend=.true.) + call starFormationHistory2%reset ( ) + + !!] diff --git a/source/star_formation.histories.adaptive.F90 b/source/star_formation.histories.adaptive.F90 index ab21acbd7b..1137e958ad 100644 --- a/source/star_formation.histories.adaptive.F90 +++ b/source/star_formation.histories.adaptive.F90 @@ -83,15 +83,15 @@ double precision , allocatable, dimension(:) :: metallicityTable type (timeIntervals ), allocatable, dimension(:) :: intervals contains - final :: adaptiveDestructor - procedure :: create => adaptiveCreate - procedure :: update => adaptiveUpdate - procedure :: rate => adaptiveRate - procedure :: scales => adaptiveScales - procedure :: times => adaptiveTimes - procedure :: metallicityBoundaries => adaptiveMetallicityBoundaries - procedure :: perOutputTabulationIsStatic => adaptivePerOutputTabulationIsStatic - procedure :: descriptor => adaptiveDescriptor + final :: adaptiveDestructor + procedure :: create => adaptiveCreate + procedure :: update => adaptiveUpdate + procedure :: rate => adaptiveRate + procedure :: scales => adaptiveScales + procedure :: times => adaptiveTimes + procedure :: metallicityBoundaries => adaptiveMetallicityBoundaries + procedure :: ageDistribution => adaptiveAgeDistribution + procedure :: descriptor => adaptiveDescriptor end type starFormationHistoryAdaptive interface starFormationHistoryAdaptive @@ -404,7 +404,7 @@ subroutine adaptiveCreate(self,node,historyStarFormation,timeBegin,timeEnd) use :: Galacticus_Nodes, only : nodeComponentBasic implicit none class (starFormationHistoryAdaptive), intent(inout) :: self - type (treeNode ), intent(inout) :: node + type (treeNode ), intent(inout), target :: node type (history ), intent(inout) :: historyStarFormation double precision , intent(in ) :: timeBegin double precision , intent(in ), optional :: timeEnd @@ -511,7 +511,7 @@ subroutine adaptiveUpdate(self,node,indexOutput,historyStarFormation) return end subroutine adaptiveUpdate - subroutine adaptiveScales(self,historyStarFormation,massStellar,abundancesStellar) + subroutine adaptiveScales(self,historyStarFormation,node,massStellar,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} @@ -520,15 +520,18 @@ subroutine adaptiveScales(self,historyStarFormation,massStellar,abundancesStella double precision , intent(in ) :: massStellar type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation + type (treeNode ), intent(inout) :: node double precision , parameter :: massStellarMinimum =1.0d0 double precision , allocatable , dimension(:) :: timeSteps integer (c_size_t ) :: iMetallicity - !$GLC attributes unused :: abundancesStellar + !$GLC attributes unused :: abundancesStellar, node if (.not.historyStarFormation%exists()) return call historyStarFormation%timeSteps(timeSteps) forall(iMetallicity=1:self%countMetallicities+1) - historyStarFormation%data(:,iMetallicity)=max(massStellar,massStellarMinimum)/timeSteps + historyStarFormation%data(:,iMetallicity)=+max(massStellar,massStellarMinimum) & + & * timeSteps & + & /historyStarFormation%time (size(historyStarFormation%time)) end forall deallocate(timeSteps) return @@ -547,15 +550,23 @@ function adaptiveMetallicityBoundaries(self) return end function adaptiveMetallicityBoundaries - function adaptiveTimes(self,indexOutput) result(times) + function adaptiveTimes(self,node,indexOutput,starFormationHistory,allowTruncation,timeStart) result(times) !!{ Return the times used in this tabulation. !!} + use :: Error, only : Error_Report implicit none double precision , allocatable , dimension(:) :: times class (starFormationHistoryAdaptive), intent(inout) :: self - integer (c_size_t ), intent(in ) :: indexOutput - + type (treeNode ), intent(inout), optional :: node + integer (c_size_t ), intent(in ), optional :: indexOutput + type (history ), intent(in ), optional :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + double precision , intent( out), optional :: timeStart + !$GLC attributes unused :: allowTruncation + + if ( present(node ).or.present(starFormationHistory)) call Error_Report('`node` is not supported' //{introspection:location}) + if (.not.present(indexOutput) ) call Error_Report('`indexOutput` is required'//{introspection:location}) ! Set the times. These are just our tabulated intervals, except for the final time which is pinned to the output time. This is ! because our final interval may extend past the output time due to the finite size of our minimum interval. Pinning to the ! output time gives a better estimate of the effective size of the bin (since, by definition, no star formation can have @@ -563,19 +574,22 @@ function adaptiveTimes(self,indexOutput) result(times) allocate(times(size(self%intervals(indexOutput)%time))) times =self%intervals (indexOutput)%time times(size(times))=self%outputTimes_ %time(indexOutput) + ! Set the start time. + if (present(timeStart)) timeStart=0.0d0 return end function adaptiveTimes - logical function adaptivePerOutputTabulationIsStatic(self) + function adaptiveAgeDistribution(self) result(ageDistribution) !!{ - Return true since the tabulation (in time and metallicity) is static (independent of node) per output. + Indicate the star formation history ages are fixed per output. !!} implicit none - class(starFormationHistoryAdaptive), intent(inout) :: self + type (enumerationStarFormationHistoryAgesType) :: ageDistribution + class(starFormationHistoryAdaptive ), intent(inout) :: self - adaptivePerOutputTabulationIsStatic=.true. + ageDistribution=starFormationHistoryAgesFixedPerOutput return - end function adaptivePerOutputTabulationIsStatic + end function adaptiveAgeDistribution subroutine adaptiveDescriptor(self,descriptor,includeClass,includeFileModificationTimes) !!{ diff --git a/source/star_formation.histories.fixed_ages.F90 b/source/star_formation.histories.fixed_ages.F90 new file mode 100644 index 0000000000..e105549632 --- /dev/null +++ b/source/star_formation.histories.fixed_ages.F90 @@ -0,0 +1,940 @@ +!! Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, +!! 2019, 2020, 2021, 2022, 2023, 2024 +!! Andrew Benson +!! +!! This file is part of Galacticus. +!! +!! Galacticus is free software: you can redistribute it and/or modify +!! it under the terms of the GNU General Public License as published by +!! the Free Software Foundation, either version 3 of the License, or +!! (at your option) any later version. +!! +!! Galacticus is distributed in the hope that it will be useful, +!! but WITHOUT ANY WARRANTY; without even the implied warranty of +!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +!! GNU General Public License for more details. +!! +!! You should have received a copy of the GNU General Public License +!! along with Galacticus. If not, see . + + !!{ + Contains a module which implements a star formation histories class which records star formation in logarithmically-sized time + bins of fixed age and split by metallicity. + !!} + + use :: Geometry_Lightcones, only : geometryLightcone + use :: Cosmology_Functions, only : cosmologyFunctions + + !![ + + + A star formation histories class which records star formation in logarithmically-sized time bins of fixed age and split by + metallicity. The minimum age is specified via the {\normalfont \ttfamily [ageMinimum]} parameter (the maximum age is always + the age of the universe), with the number of ages specified via {\normalfont \ttfamily [countAges]}. (One additional bin, at + age zero, is always addded.) This class is intended for use with lightcone output where the lightcone crossing times for each + node can be comptued in advance. One star formation history is computed for each lightcone crossing. + + The time associated with each bin is the maximum time for which star formation will be accumulated to the bin, with the + minimum time corresponding to the value associated with the previous bin (or $t=0$ for the first bin). + + The metallicity bins are arranged logarithmically in metallicity with {\normalfont \ttfamily [countMetallicities]} bins + between {\normalfont \ttfamily [metallicityMinimum]} and {\normalfont \ttfamily [metallicityMaximum]} (specified in Solar + units). Note that the metallicity associated with each bin is the maximum metallicity for that bin, with the minimum + metallicity corresponding to the value associated with the previous bin (or zero metallicity for the first bin). Note that a + final bin, extending to infinite metallicity, is always added automatically. If {\normalfont \ttfamily + [countMetallicities]}$=0$ is set, then the star formation history is not split by metallicity (i.e. a single metallicity bin + encompassing all metallicities from zero to infinity is used). Alternatively, specific metallicity bin boundaries can be set + via the {\normalfont \ttfamily [metallicityBoundaries]} parameter---a final boundary corresponding to infinity is always + added automatically. + + + + + + + + + !!] + type, extends(starFormationHistoryClass) :: starFormationHistoryFixedAges + !!{ + A star formation histories class which records star formation split by metallicity. + !!} + private + logical :: isRecursive , parentDeferred + class (starFormationHistoryFixedAges), pointer :: recursiveSelf => null() + class (geometryLightconeClass ), pointer :: geometryLightcone_ => null() + class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ => null() + double precision :: ageMinimum , ageMaximum , & + & metallicityMaximum , metallicityMinimum + integer (c_size_t ) :: countAges , countMetallicities + integer :: timesCrossingID , countRetain , & + & createdInID + integer (kind_int8 ) :: uniqueIDPrevious + double precision :: timePrevious + double precision , allocatable, dimension(:) :: metallicityTable + contains + final :: fixedAgesDestructor + procedure :: create => fixedAgesCreate + procedure :: update => fixedAgesUpdate + procedure :: move => fixedAgesMove + procedure :: rate => fixedAgesRate + procedure :: scales => fixedAgesScales + procedure :: times => fixedAgesTimes + procedure :: masses => fixedAgesMasses + procedure :: metallicityBoundaries => fixedAgesMetallicityBoundaries + procedure :: ageDistribution => fixedAgesAgeDistribution + procedure :: descriptor => fixedAgesDescriptor + procedure :: deepCopy => fixedAgesDeepCopy + procedure :: deepCopyReset => fixedAgesDeepCopyReset + procedure :: deepCopyFinalize => fixedAgesDeepCopyFinalize + end type starFormationHistoryFixedAges + + interface starFormationHistoryFixedAges + !!{ + Constructors for the ``fixedAges'' star formation history class. + !!} + module procedure fixedAgesConstructorParameters + module procedure fixedAgesConstructorInternal + end interface starFormationHistoryFixedAges + + ! Effective infinite metallicity. + double precision, parameter :: metallicityInfinite=huge(1.0d0) + +contains + + recursive function fixedAgesConstructorParameters(parameters) result(self) + !!{ + Constructor for the ``fixedAges'' star formation history class which takes a parameter set as input. + !!} + use :: Input_Parameters, only : inputParameter, inputParameters + implicit none + type (starFormationHistoryFixedAges), target :: self + type (inputParameters ), intent(inout), target :: parameters + class (geometryLightconeClass ) , pointer :: geometryLightcone_ + class (cosmologyFunctionsClass ) , pointer :: cosmologyFunctions_ + double precision , dimension(:) , allocatable :: metallicityBoundaries + double precision :: metallicityMinimum , metallicityMaximum, & + & ageMinimum + integer (c_size_t) :: countMetallicities , countAges + + !![ + + + + ageMinimum + 0.01d0 + The minimum age to use in tabulations of star formation histories [Gyr]. + parameters + + + countAges + 10_c_size_t + The maximum number of ages to track in any star formation history. + parameters + + !!] + if (parameters%isPresent('metallicityBoundaries')) then + countMetallicities=parameters%count('metallicityBoundaries') + allocate(metallicityBoundaries(countMetallicities+1)) + !![ + + metallicityBoundaries + The metallicities corresponding to boundaries between metallicity bins to use when tabulating star formation histories. + parameters + metallicityBoundaries(1:size(metallicityBoundaries)-1) + real + 0..* + + !!] + metallicityBoundaries(size(metallicityBoundaries))=metallicityInfinite + else + !![ + + countMetallicities + 10_c_size_t + The number of bins in metallicity to use when tabulating star formation histories. + parameters + + + metallicityMinimum + 1.0d-4 + The upper limit to the metallicity in the lowest metallicity bin when tabulating star formation histories [Solar units]. + parameters + + + metallicityMaximum + 1.0d+1 + The upper limit to the metallicity in the highest metallicity bin when tabulating star formation histories [Solar units]. + parameters + + !!] + end if + !![ + + self=starFormationHistoryFixedAges(cosmologyFunctions_,geometryLightcone_,ageMinimum,countAges{conditions}) + + + + + + + + + !!] + return + end function fixedAgesConstructorParameters + + recursive function fixedAgesConstructorInternal(cosmologyFunctions_,geometryLightcone_,ageMinimum,countAges,metallicityBoundaries,countMetallicities,metallicityMinimum,metallicityMaximum) result(self) + !!{ + Internal constructor for the ``fixedAges'' star formation history class. + !!} + use :: Error , only : Error_Report + use :: Galactic_Structure_Options, only : componentTypeMax, componentTypeMin + use :: Numerical_Ranges , only : Make_Range , rangeTypeLogarithmic + implicit none + type (starFormationHistoryFixedAges) :: self + double precision , intent(in ), dimension(:), optional :: metallicityBoundaries + double precision , intent(in ) , optional :: metallicityMinimum , metallicityMaximum + double precision , intent(in ) :: ageMinimum + integer (c_size_t ), intent(in ) :: countAges + integer (c_size_t ), intent(in ) , optional :: countMetallicities + class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ + class (geometryLightconeClass ), intent(in ), target :: geometryLightcone_ + + !![ + + !!] + + ! Validate metallicity argument and construct the table of metallicities. + if (present(metallicityBoundaries)) then + if ( & + & present(countMetallicities ) & + & .or. & + & present(metallicityMinimum ) & + & .or. & + & present(metallicityMaximum ) & + & ) call Error_Report('specify either a list of metallicity boundaries, or a range, not both'//{introspection:location}) + allocate(self%metallicityTable(size(metallicityBoundaries))) + self%metallicityTable = metallicityBoundaries + self%countMetallicities=size(metallicityBoundaries)-1 + else + if ( & + & present(metallicityBoundaries) & + & ) call Error_Report('specify either a list of metallicity boundaries, or a range, not both'//{introspection:location}) + if ( & + & .not.present(countMetallicities ) & + & .or. & + & .not.present(metallicityMinimum ) & + & .or. & + & .not.present(metallicityMaximum ) & + & ) call Error_Report('metallicity range is incompletely specified'//{introspection:location}) + ! Construct a table of metallicities at which to tabulate. Add an extra bin since we want to catch all metallicities, + ! including those below and above the maximum. A single bin is not allowed, but zero bins implies that no metallicity + ! resolution is required. + select case (countMetallicities) + case (:-1,1) + call Error_Report('number of bins must be 0, or greater than 1'//{introspection:location}) + case default + allocate(self%metallicityTable(countMetallicities+1)) + if (countMetallicities > 1) self%metallicityTable(1:countMetallicities)=Make_Range(metallicityMinimum,metallicityMaximum,int(countMetallicities),rangeType=rangeTypeLogarithmic) + self%metallicityTable(countMetallicities+1)=metallicityInfinite + end select + end if + ! Create a meta-property to store lightcone crossing times. + !![ + + + !!] + ! Initialize state. + self%uniqueIDPrevious =-huge(0_kind_int8) + self%timePrevious =-huge(0.0d0 ) + ! Set the maximum age. + self%ageMaximum=self%cosmologyFunctions_%cosmicTime(expansionFactor=1.0d0) + ! Set recursive properties. + self%parentDeferred=.false. + self%isRecursive =.false. + return + end function fixedAgesConstructorInternal + + subroutine fixedAgesDestructor(self) + !!{ + Destructor for the {\normalfont \ttfamily fixedAges} star formation histories class. + !!} + implicit none + type(starFormationHistoryFixedAges), intent(inout) :: self + + !![ + + + !!] + return + end subroutine fixedAgesDestructor + + subroutine fixedAgesCreate(self,node,historyStarFormation,timeBegin,timeEnd) + !!{ + Create the history required for storing star formation history. + !!} + use :: Display , only : displayMessage , displayIndent , displayUnindent + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Histories , only : history + use :: Error , only : Error_Report + use :: ISO_Varying_String , only : varying_string , var_str + use :: String_Handling , only : operator(//) + use :: Numerical_Ranges , only : Make_Range , rangeTypeLogarithmic + use :: Numerical_Comparison, only : Values_Agree + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout), target :: node + type (history ), intent(inout) :: historyStarFormation + double precision , intent(in ) :: timeBegin + double precision , intent(in ), optional :: timeEnd + double precision , dimension(:) , allocatable :: timesNodeCrossing , timesNodeCrossingPrevious , & + & timesNodeCrossingTmp + double precision , dimension(0) :: timesNodeCrossingNull + class (nodeComponentBasic ), pointer :: basic + double precision , parameter :: toleranceRelative =1.0d-6, toleranceAbsolute =1.0d-9 + double precision :: timeNodeStart , timeNodeEnd , & + & timeNodeCrossing + type (varying_string ) :: message + character (len=16 ) :: label + integer :: i + !$GLC attributes unused :: timeBegin, timeEnd + + ! Call the resursive copy if necessary. + if (self%isRecursive) then + call self%recursiveSelf%create(node,historyStarFormation,timeBegin,timeEnd) + return + end if + ! Find lightcone crossing times. + basic => node %basic() + timeNodeStart = max(basic%time (),self%geometryLightcone_%timeMinimum()) + timeNodeEnd = self%geometryLightcone_%timeMaximum() + timeNodeCrossing = self %geometryLightcone_%timeLightconeCrossing (node ,timeNodeStart,timeNodeEnd,timesNodeCrossing) + timesNodeCrossingPrevious = basic %floatRank1MetaPropertyGet(self%timesCrossingID ) + if (size(timesNodeCrossingPrevious) > 0) then + ! Rounding errors can lead to tiny shifts in crossing times which can (very occasionally) lead to a previously-found + ! crossing time being missed if the node is now very close to that crossing time. Check for such occurences here and add + ! the crossing time back into the list. + if (size(timesNodeCrossing) == size(timesNodeCrossingPrevious)-1) then + if (Values_Agree(basic%time(),timesNodeCrossingPrevious(1),absTol=toleranceAbsolute) .and. basic%time() <= timesNodeCrossingPrevious(1)) then + call move_alloc(timesNodeCrossing,timesNodeCrossingTmp) + allocate(timesNodeCrossing(size(timesNodeCrossingTmp)+1)) + timesNodeCrossing(1)=timesNodeCrossingPrevious(1) + if (size(timesNodeCrossingTmp) > 0) timesNodeCrossing(2:size(timesNodeCrossing))=timesNodeCrossingTmp + deallocate(timesNodeCrossingTmp) + end if + end if + ! Validate consistency in the lightcone crossing times. + if (size(timesNodeCrossing) /= size(timesNodeCrossingPrevious)) then + write (label,'(e16.10)') basic%time() + call displayIndent(var_str("number of crossing times has changed for node ")//node%index()//' at time '//trim(adjustl(label))//' Gye') + call displayMessage("times (new | old) are:") + do i=1,max(size(timesNodeCrossing),size(timesNodeCrossingPrevious)) + if (i <= size(timesNodeCrossing)) then + write (label,'(e16.10)') timesNodeCrossing (i) + message= label + else + message= " " + end if + message=message//" | " + if (i <= size(timesNodeCrossingPrevious)) then + write (label,'(e16.10)') timesNodeCrossingPrevious(i) + message=message//label + else + message=message//" " + end if + call displayMessage(message) + end do + call displayUnindent("") + call Error_Report("invalid crossing times"//{introspection:location}) + end if + if (.not.all(Values_Agree(timesNodeCrossing,basic%floatRank1MetaPropertyGet(self%timesCrossingID),relTol=toleranceRelative))) then + call displayIndent(var_str("crossing times have changed for node ")//node%index()) + call displayMessage("times (new | old | difference) are:") + do i=1,size(timesNodeCrossing) + write (label,'(e16.10)') timesNodeCrossing(i) + message= label//" | " + write (label,'(e16.10)') timesNodeCrossingPrevious(i) + message=message//label//" | " + write (label,'(e16.10)') abs(timesNodeCrossing(i)-timesNodeCrossingPrevious(i)) + message=message//label + call displayMessage(message) + end do + call displayUnindent("") + call Error_Report("invalid crossing times"//{introspection:location}) + end if + end if + ! Create the star formation histories as needed. + call basic%longIntegerRank0MetaPropertySet(self%createdInID,node%index()) + if (allocated(timesNodeCrossing)) then + call basic %floatRank1MetaPropertySet(self%timesCrossingID,timesNodeCrossing) + call historyStarFormation%create (size(timesNodeCrossing)*int(self%countMetallicities+1),int(self%countAges+1)) + ! Here we set the times relative to t=0. This ensures that times are increasing which is expected by history objects. + historyStarFormation%time(1:self%countAges )=-Make_Range(self%ageMaximum,self%ageMinimum,int(self%countAges),rangeTypeLogarithmic) + historyStarFormation%time( self%countAges+1)=+0.0d0 + deallocate(timesNodeCrossing) + else + ! No lightcone crossings for this node - store a null set of crossing times. + call basic %floatRank1MetaPropertySet(self%timesCrossingID,timesNodeCrossingNull) + call historyStarFormation%create ( 0, 0) + end if + return + end subroutine fixedAgesCreate + + subroutine fixedAgesRate(self,node,historyStarFormation,abundancesFuel,rateStarFormation) + !!{ + Set the rate the star formation history for {\normalfont \ttfamily node}. + !!} + use :: Abundances_Structure, only : abundances , metallicityTypeLinearByMassSolar + use :: Arrays_Search , only : searchArray + use :: Galacticus_Nodes , only : nodeComponentBasic, treeNode + use :: Error , only : Error_Report + use :: String_Handling , only : operator(//) + use :: ISO_Varying_String , only : operator(//) , var_str + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout) :: node + type (history ), intent(inout) :: historyStarFormation + type (abundances ), intent(in ) :: abundancesFuel + double precision , intent(in ) :: rateStarFormation + class (nodeComponentBasic ), pointer :: basic + double precision , allocatable , dimension(:) :: timesCrossing , times + integer (c_size_t ) :: iHistory , iMetallicity, & + & countHistories , i + double precision :: fuelMetallicity , time + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + call self%recursiveSelf%rate(node,historyStarFormation,abundancesFuel,rateStarFormation) + return + end if + ! Check if history exists. + if (historyStarFormation%exists()) then + basic => node %basic() + time = basic%time () + ! Iterate over all star formation histories being computed. + countHistories=size(historyStarFormation%data,dim=2)/int(self%countMetallicities+1) + timesCrossing =basic%floatRank1MetaPropertyGet(self%timesCrossingID) + if (countHistories /= size(timesCrossing)) then + block + type (varying_string) :: message + character(len=16 ) :: label + write (label,'(e16.10)') time + message=var_str("inconsistent number of star formation histories (")//countHistories//") and lightcone crossing times ("//size(timesCrossing)//") in node "//node%index()//" at time "//trim(adjustl(label))//" Gyr" + call Error_Report(message//{introspection:location}) + end block + end if + if (countHistories > 0) then + allocate(times(self%countAges+1)) + do i=1,countHistories + ! Find the times corresponding to this star formation history. Note that the times stored in the history object are + ! relative to t=0, so we increment them by the actual crossing time. + times=timesCrossing(i)+historyStarFormation%time + ! Find the point in the table at which to accumulate the star formation rate. + if (time <= times(1)) then + iHistory=1 + else + iHistory=searchArray(times,time)+1 + end if + ! Find the metallicity bin to accumulate to. + if (self%countMetallicities == 0 ) then + iMetallicity = +1 + else + fuelMetallicity=abundancesFuel%metallicity(metallicityType=metallicityTypeLinearByMassSolar) + if (self%metallicityTable (1) > fuelMetallicity) then + iMetallicity= +1 + else + iMetallicity=searchArray(self%metallicityTable,fuelMetallicity)+1 + end if + end if + ! Accumulate to the appropriate time. + historyStarFormation%data(iHistory,(i-1)*(self%countMetallicities+1)+iMetallicity)=rateStarFormation + end do + end if + end if + return + end subroutine fixedAgesRate + + subroutine fixedAgesUpdate(self,node,indexOutput,historyStarFormation) + !!{ + Update the star formation history after outputting. + !!} + use :: Galacticus_Nodes, only : nodeComponentBasic + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout), target :: node + integer (c_size_t ), intent(in ) :: indexOutput + type (history ), intent(inout) :: historyStarFormation + double precision , dimension(:) , allocatable :: timesNodeCrossing , timesNodeCrossingFuture + class (nodeComponentBasic ) , pointer :: basic + double precision , parameter :: toleranceRelative =1.0d-6 + type (history ) :: newHistory + !$GLC attributes unused :: node + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + call self%recursiveSelf%update(node,indexOutput,historyStarFormation) + return + end if + ! Determine if this is a new update. + basic => node%basic() + if ( & + & node %uniqueID() /= self%uniqueIDPrevious & + & .or. & + & basic%time () /= self%timePrevious & + & ) then + self%uniqueIDPrevious=node %uniqueID() + self%timePrevious =basic%time () + ! Trim crossing times that are no longer needed. Add some tolerance here as crossing times can differ by tiny amounts due + ! to numerical precision differences between when these are created for the SFH and when differential evolution finds + ! lightcone crossings. + timesNodeCrossing =basic%floatRank1MetaPropertyGet(self%timesCrossingID) + timesNodeCrossingFuture=pack(timesNodeCrossing,timesNodeCrossing > basic%time()*(1.0d0+toleranceRelative)) + self%countRetain =size(timesNodeCrossingFuture) + call basic%floatRank1MetaPropertySet(self%timesCrossingID,timesNodeCrossingFuture) + end if + if (historyStarFormation%exists()) then + if (self%countRetain > 0) then + ! Retain the required number of histories, discarding the rest, + call newHistory%create(self%countRetain*int(self%countMetallicities+1),int(self%countAges+1)) + newHistory%rangeType=historyStarFormation%rangeType + newHistory%time =historyStarFormation%time + newHistory%data =historyStarFormation%data(:,size(historyStarFormation%data,dim=2)-self%countRetain*int(self%countMetallicities+1)+1:size(historyStarFormation%data,dim=2)) + call historyStarFormation%destroy() + historyStarFormation=newHistory + call newHistory %destroy() + else + ! No histories to be retained - simply destroy the history. + call historyStarFormation%destroy() + end if + end if + return + end subroutine fixedAgesUpdate + + subroutine fixedAgesMove(self,node1,node2,starFormationHistory1,starFormationHistory2) + !!{ + Move one history into another. + !!} + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: ISO_Varying_String , only : varying_string , var_str , operator(//) + use :: String_Handling , only : operator(//) + use :: Numerical_Comparison, only : Values_Agree + use :: Error , only : Error_Report + use :: Display , only : displayMessage , displayIndent, displayUnindent + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout) :: node1 , node2 + type (history ), intent(inout) :: starFormationHistory1 , starFormationHistory2 + class (nodeComponentBasic ) , pointer :: basic1 , basic2 + double precision , dimension(:) , allocatable :: timesNodeCrossing1 , timesNodeCrossing2 + double precision , parameter :: toleranceRelative =1.0d-6 + type (varying_string ) :: message + character (len=12 ) :: label + integer :: i + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + call self%recursiveSelf%move(node1,node2,starFormationHistory1,starFormationHistory2) + return + end if + ! Extract and validate crossing times. + basic1 => node1 %basic ( ) + basic2 => node2 %basic ( ) + timesNodeCrossing1 = basic1%floatRank1MetaPropertyGet(self%timesCrossingID) + timesNodeCrossing2 = basic2%floatRank1MetaPropertyGet(self%timesCrossingID) + ! If there are no histories to move, we can simply return. + if (size(timesNodeCrossing2) == 0) return + ! Validate histories. + if (size(timesNodeCrossing1) == 0) then + ! If crossing times exist in the moved star formation history, but not in the history to which it is moved, we must + ! establish them now. + if (size(timesNodeCrossing2) > 0) call basic1%floatRank1MetaPropertySet(self%timesCrossingID,timesNodeCrossing2) + else + ! Check that crossing times agree. + if (size(timesNodeCrossing1) /= size(timesNodeCrossing2)) then + message=var_str('number of crossing times differs in merging nodes ')//node1%index()//" ("//size(timesNodeCrossing1)//") and "//node2%index()//" ("//size(timesNodeCrossing2)//")" + call Error_Report(message//{introspection:location}) + else if (.not.all(Values_Agree(timesNodeCrossing1,timesNodeCrossing2,relTol=toleranceRelative))) then + call displayIndent(var_str('crossing times differ in merging nodes ')//node1%index()//" and "//node2%index()) + write (label,'(e12.6)') basic1%time() + message='nodes exist at times '//trim(adjustl(label))//' Gyr and ' + write (label,'(e12.6)') basic1%time() + message=message//trim(adjustl(label))//' Gyr' + call displayMessage(message) + call displayMessage(var_str('star formation histories created in progenitors ')//basic1%longIntegerRank0MetaPropertyGet(self%createdInID)//' and '//basic2%longIntegerRank0MetaPropertyGet(self%createdInID)) + call displayMessage("times (target | mergee | difference) are:") + do i=1,size(timesNodeCrossing1) + write (label,'(e12.6)') timesNodeCrossing1(i) + message= label//" | " + write (label,'(e12.6)') timesNodeCrossing2(i) + message=message//label//" | " + write (label,'(e12.6)') abs(timesNodeCrossing1(i)-timesNodeCrossing2(i)) + message=message//label + call displayMessage(message) + end do + call displayUnindent("") + call Error_Report("invalid crossing times"//{introspection:location}) + end if + end if + call starFormationHistory1%increment(starFormationHistory2,autoExtend=.true.) + call starFormationHistory2%reset ( ) + return + end subroutine fixedAgesMove + + subroutine fixedAgesScales(self,historyStarFormation,node,massStellar,abundancesStellar) + !!{ + Set the scalings for error control on the absolute values of star formation histories. + !!} + use :: Galacticus_Nodes, only : nodeComponentBasic + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + double precision , intent(in ) :: massStellar + type (abundances ), intent(in ) :: abundancesStellar + type (history ), intent(inout) :: historyStarFormation + type (treeNode ), intent(inout) :: node + class (nodeComponentBasic ), pointer :: basic + double precision , parameter :: massStellarMinimum =1.0d0 + double precision , allocatable , dimension(:) :: timeSteps , timesCrossing + integer (c_size_t ) :: i , j + !$GLC attributes unused :: abundancesStellar + + ! Call the recursive copy if needed. + if (self%isRecursive) then + call self%recursiveSelf%scales(historyStarFormation,node,massStellar,abundancesStellar) + return + end if + if (.not.historyStarFormation%exists()) return + ! Get the set of crossing times for this node. + basic => node %basic ( ) + timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) + ! Compute suitable scales for all star formation hsitory bins. + call historyStarFormation%timeSteps(timeSteps) + if (size(timesCrossing) > 0) then + do i=1,size(timesCrossing) + do j=1,self%countMetallicities+1 + ! The scale is set to a representative stellar mass scale multiplied by the fraction of the total history time in + ! each time bin. + historyStarFormation%data(:,(i-1)*(self%countMetallicities+1)+j)=+max(massStellar,massStellarMinimum) & + & *timeSteps & + & /timesCrossing(i) + end do + end do + end if + deallocate(timeSteps) + return + end subroutine fixedAgesScales + + function fixedAgesMetallicityBoundaries(self) + !!{ + Return the boundaries of the metallicities used in this tabulation. + !!} + implicit none + double precision , allocatable , dimension(:) :: fixedAgesMetallicityBoundaries + class (starFormationHistoryFixedAges), intent(inout) :: self + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + fixedAgesMetallicityBoundaries=self%recursiveSelf%metallicityBoundaries() + return + end if + ! Return our table of metallicities. + allocate(fixedAgesMetallicityBoundaries(0:size(self%metallicityTable)-1)) + fixedAgesMetallicityBoundaries(0:size(self%metallicityTable)-1)=self%metallicityTable(1:size(self%metallicityTable)) + return + end function fixedAgesMetallicityBoundaries + + function fixedAgesTimes(self,node,indexOutput,starFormationHistory,allowTruncation,timeStart) result(times) + !!{ + Return the times used in this tabulation. + !!} + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Error , only : Error_Report + use :: Numerical_Comparison, only : Values_Agree + implicit none + double precision , allocatable , dimension(:) :: times + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout), optional :: node + integer (c_size_t ), intent(in ), optional :: indexOutput + type (history ), intent(in ), optional :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + double precision , intent( out), optional :: timeStart + double precision , allocatable , dimension(:) :: timesCrossing , times_ + class (nodeComponentBasic ), pointer :: basic + !![ + + !!] + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + times=self%recursiveSelf%times(node,indexOutput,starFormationHistory,allowTruncation,timeStart) + return + end if + ! Check that the current time matches the next tabulated time. + basic => node %basic ( ) + timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) + if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) call Error_Report("time does not match expected time"//{introspection:location}) + ! Set the times for this output. Note that the times stored in the history object are relative to t=0, so we increment them by + ! the actual crossing time. + if (allowTruncation_) then + ! Truncation is allowed - return only the masses for times that are greater than zero. (Since we use a fixed grid of ages + ! it is possible to have negative times.) + allocate(times_(self%countAges+1)) + times_=timesCrossing(1)+starFormationHistory%time + times=pack(times_,times_ > 0.0d0) + else + ! Truncation is now allowed - return all times. + allocate(times(self%countAges+1)) + times=timesCrossing(1)+starFormationHistory%time + end if + ! Set the start time. + if (present(timeStart)) & + & timeStart=+ timesCrossing(1) & + & -self%ageMaximum + return + end function fixedAgesTimes + + function fixedAgesMasses(self,node,starFormationHistory,allowTruncation) result(masses) + !!{ + Return the times used in this tabulation. + !!} + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Error , only : Error_Report + use :: Numerical_Comparison, only : Values_Agree + implicit none + double precision , allocatable , dimension(:,:) :: masses + class (starFormationHistoryFixedAges), intent(inout) :: self + type (treeNode ), intent(inout) :: node + type (history ), intent(in ) :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + double precision , allocatable , dimension(: ) :: timesCrossing , times_ + class (nodeComponentBasic ), pointer :: basic + !![ + + !!] + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + masses=self%recursiveSelf%masses(node,starFormationHistory,allowTruncation) + return + end if + ! Check that the current time matches the next tabulated time. + basic => node %basic ( ) + timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) + if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) call Error_Report("time does not match expected time"//{introspection:location}) + ! Set the times for this output. Note that the times stored in the history object are relative to t=0, so we increment them by + ! the actual crossing time. + if (allowTruncation_) then + ! Truncation is allowed - return only the times that are greater than zero. (Since we use a fixed grid of ages it is + ! possible to have negative times.) + allocate(times_(self%countAges+1)) + times_=timesCrossing(1)+starFormationHistory%time + masses=reshape(pack(starFormationHistory%data(:,1:self%countMetallicities+1),spread(times_ > 0.0d0,dim=2,nCopies=self%countMetallicities+1)),[count(times_ > 0.0d0,kind=c_size_t),self%countMetallicities+1_c_size_t]) + else + ! Truncation is not allowed - return all masses. + allocate(masses(self%countMetallicities+1,self%countAges+1)) + masses=starFormationHistory%data(:,1:self%countMetallicities+1) + end if + return + end function fixedAgesMasses + + function fixedAgesAgeDistribution(self) result(ageDistribution) + !!{ + Indicate that star formation history ages are fixed globally. + !!} + implicit none + type (enumerationStarFormationHistoryAgesType) :: ageDistribution + class(starFormationHistoryFixedAges ), intent(inout) :: self + + ageDistribution=starFormationHistoryAgesFixed + return + end function fixedAgesAgeDistribution + + subroutine fixedAgesDescriptor(self,descriptor,includeClass,includeFileModificationTimes) + !!{ + Return an input parameter list descriptor which could be used to recreate this object. + !!} + use :: Input_Parameters , only : inputParameters + use :: ISO_Varying_String, only : assignment(=) , char, operator(//) + implicit none + class (starFormationHistoryFixedAges), intent(inout) :: self + type (inputParameters ), intent(inout) :: descriptor + logical , intent(in ), optional :: includeClass , includeFileModificationTimes + character(len=18 ) :: parameterLabel + type (inputParameters ) :: parameters + integer :: i + type (varying_string ) :: metallicityBoundariesLabel + + ! Call the recursive copy if necessary. + if (self%isRecursive) then + call self%recursiveSelf%descriptor(descriptor,includeClass,includeFileModificationTimes) + return + end if + if (.not.present(includeClass).or.includeClass) call descriptor%addParameter('starFormationHistory','fixedAges') + parameters=descriptor%subparameters('starFormationHistory') + write (parameterLabel,'(e17.10)') self%ageMinimum + call parameters%addParameter('ageMinimum' ,trim(adjustl(parameterLabel))) + write (parameterLabel,'(e17.10)') self%ageMaximum + call parameters%addParameter('ageMaximum' ,trim(adjustl(parameterLabel))) + write (parameterLabel,'(i17) ') self%countAges + call parameters%addParameter('countAges' ,trim(adjustl(parameterLabel))) + metallicityBoundariesLabel="" + do i=1,size(self%metallicityTable) + write (parameterLabel,'(e17.10)') self%metallicityTable(i) + metallicityBoundariesLabel=metallicityBoundariesLabel//trim(adjustl(parameterLabel))//" " + end do + call parameters%addParameter('metallicityBoundaries',char(metallicityBoundariesLabel)) + call self%geometryLightcone_%descriptor(parameters,includeClass,includeFileModificationTimes) + return + end subroutine fixedAgesDescriptor + + subroutine fixedAgesDeepCopyReset(self) + !!{ + Perform a deep copy reset of the object. + !!} + implicit none + class(starFormationHistoryFixedAges), intent(inout) :: self + + self % copiedSelf => null() + if (.not.self%isRecursive) self%recursiveSelf => null() + if (associated(self%geometryLightcone_)) call self%geometryLightcone_%deepCopyReset() + return + end subroutine fixedAgesDeepCopyReset + + subroutine fixedAgesDeepCopyFinalize(self) + !!{ + Finalize a deep reset of the object. + !!} + implicit none + class(starFormationHistoryFixedAges), intent(inout) :: self + + if (self%isRecursive) call fixedAgesFindParent(self) + if (associated(self%geometryLightcone_)) call self%geometryLightcone_%deepCopyFinalize() + return + end subroutine fixedAgesDeepCopyFinalize + + subroutine fixedAgesDeepCopy(self,destination) + !!{ + Perform a deep copy of the object. + !!} + use :: Error , only : Error_Report +#ifdef OBJECTDEBUG + use :: Display , only : displayMessage , verbosityLevelSilent + use :: MPI_Utilities , only : mpiSelf + use :: Function_Classes , only : debugReporting + use :: ISO_Varying_String, only : operator(//) , var_str + use :: String_Handling , only : operator(//) +#endif + implicit none + class(starFormationHistoryFixedAges), intent(inout), target :: self + class(starFormationHistoryClass ), intent(inout) :: destination + + call self%starFormationHistoryClass%deepCopy(destination) + select type (destination) + type is (starFormationHistoryFixedAges) + destination%isRecursive =self%isRecursive + if (self%isRecursive) then + if (associated(self%recursiveSelf%recursiveSelf)) then + ! If the parent self's recursiveSelf pointer is set, it indicates that it was deep-copied, and the pointer points to + ! that copy. In that case we set the parent self of our destination to that copy. + destination%recursiveSelf => self%recursiveSelf%recursiveSelf + else + ! The parent self does not appear to have been deep-copied yet. Retain the same parent self pointer in our copy, but + ! indicate that we need to look for the new parent later. + destination%recursiveSelf => self%recursiveSelf + destination%parentDeferred = .true. + end if + else + ! This is a parent of a recursively-constructed object. Record the location of our copy so that it can be used to set + ! the parent in deep copies of the child object. + call fixedAgesDeepCopyAssign(self,destination) + destination%recursiveSelf => null() + destination%ageMinimum = self%ageMinimum + destination%ageMaximum = self%ageMaximum + destination%metallicityMaximum = self%metallicityMaximum + destination%metallicityMinimum = self%metallicityMinimum + destination%countAges = self%countAges + destination%countMetallicities = self%countMetallicities + destination%metallicityTable = self%metallicityTable + destination%timesCrossingID = self%timesCrossingID + destination%createdInID = self%createdInID + destination%parentDeferred = .false. + nullify(destination%geometryLightcone_) + if (associated(self%geometryLightcone_)) then + if (associated(self%geometryLightcone_%copiedSelf)) then + select type(s => self%geometryLightcone_%copiedSelf) + class is (geometryLightconeClass) + destination%geometryLightcone_ => s + class default + call Error_Report('copiedSelf has incorrect type'//{introspection:location}) + end select + call self%geometryLightcone_%copiedSelf%referenceCountIncrement() + else + allocate(destination%geometryLightcone_,mold=self%geometryLightcone_) + call self%geometryLightcone_%deepCopy(destination%geometryLightcone_) + self%geometryLightcone_%copiedSelf => destination%geometryLightcone_ + call destination%geometryLightcone_%autoHook() + end if +#ifdef OBJECTDEBUG + if (debugReporting.and.mpiSelf%isMaster()) call displayMessage(var_str('functionClass[own] (class : ownerName : ownerLoc : objectLoc : sourceLoc): darkmatterprofiledmo_ : [destination] : ')//loc(destination)//' : '//loc(destination%geometryLightcone_)//' : '//{introspection:location:compact},verbosityLevelSilent) +#endif + end if + nullify(destination%cosmologyFunctions_) + if (associated(self%cosmologyFunctions_)) then + if (associated(self%cosmologyFunctions_%copiedSelf)) then + select type(s => self%cosmologyFunctions_%copiedSelf) + class is (cosmologyFunctionsClass) + destination%cosmologyFunctions_ => s + class default + call Error_Report('copiedSelf has incorrect type'//{introspection:location}) + end select + call self%cosmologyFunctions_%copiedSelf%referenceCountIncrement() + else + allocate(destination%cosmologyFunctions_,mold=self%cosmologyFunctions_) + call self%cosmologyFunctions_%deepCopy(destination%cosmologyFunctions_) + self%cosmologyFunctions_%copiedSelf => destination%cosmologyFunctions_ + call destination%cosmologyFunctions_%autoHook() + end if +#ifdef OBJECTDEBUG + if (debugReporting.and.mpiSelf%isMaster()) call displayMessage(var_str('functionClass[own] (class : ownerName : ownerLoc : objectLoc : sourceLoc): darkmatterprofiledmo_ : [destination] : ')//loc(destination)//' : '//loc(destination%cosmologyFunctions_)//' : '//{introspection:location:compact},verbosityLevelSilent) +#endif + end if + end if + class default + call Error_Report('destination and source types do not match'//{introspection:location}) + end select + return + end subroutine fixedAgesDeepCopy + + subroutine fixedAgesDeepCopyAssign(self,destination) + !!{ + Perform pointer assignment during a deep copy of the object. + !!} + implicit none + class(starFormationHistoryFixedAges), intent(inout) :: self + class(starFormationHistoryClass ), intent(inout), target :: destination + + select type (destination) + type is (starFormationHistoryFixedAges) + self%recursiveSelf => destination + end select + return + end subroutine fixedAgesDeepCopyAssign + + subroutine fixedAgesFindParent(self) + !!{ + Find the deep-copied parent of a recursive child. + !!} + use :: Error, only : Error_Report + implicit none + class(starFormationHistoryFixedAges), intent(inout) :: self + + if (self%parentDeferred) then + if (associated(self%recursiveSelf%recursiveSelf)) then + self%recursiveSelf => self%recursiveSelf%recursiveSelf + else + call Error_Report("recursive child's parent was not copied"//{introspection:location}) + end if + self%parentDeferred=.false. + end if + return + end subroutine fixedAgesFindParent diff --git a/source/star_formation.histories.in_situ.F90 b/source/star_formation.histories.in_situ.F90 index d054c0c6f1..1bb42a76b9 100644 --- a/source/star_formation.histories.in_situ.F90 +++ b/source/star_formation.histories.in_situ.F90 @@ -37,15 +37,17 @@ private class(starFormationHistoryClass), pointer :: starFormationHistory_ => null() contains - final :: inSituDestructor - procedure :: create => inSituCreate - procedure :: rate => inSituRate - procedure :: update => inSituUpdate - procedure :: scales => inSituScales - procedure :: autoHook => inSituAutoHook - procedure :: times => inSituTimes - procedure :: metallicityBoundaries => inSituMetallicityBoundaries - procedure :: perOutputTabulationIsStatic => inSituPerOutputTabulationIsStatic + final :: inSituDestructor + procedure :: create => inSituCreate + procedure :: rate => inSituRate + procedure :: update => inSituUpdate + procedure :: scales => inSituScales + procedure :: autoHook => inSituAutoHook + procedure :: times => inSituTimes + procedure :: metallicityBoundaries => inSituMetallicityBoundaries + procedure :: ageDistribution => inSituAgeDistribution + procedure :: rangeIsSufficient => inSituRangeIsSufficient + procedure :: extend => inSituExtend end type starFormationHistoryInSitu interface starFormationHistoryInSitu @@ -124,7 +126,7 @@ subroutine inSituCreate(self,node,historyStarFormation,timeBegin,timeEnd) !!} implicit none class (starFormationHistoryInSitu), intent(inout) :: self - type (treeNode ), intent(inout) :: node + type (treeNode ), intent(inout), target :: node type (history ), intent(inout) :: historyStarFormation double precision , intent(in ) :: timeBegin double precision , intent(in ), optional :: timeEnd @@ -204,7 +206,7 @@ subroutine inSituUpdate(self,node,indexOutput,historyStarFormation) return end subroutine inSituUpdate - subroutine inSituScales(self,historyStarFormation,massStellar,abundancesStellar) + subroutine inSituScales(self,historyStarFormation,node,massStellar,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} @@ -213,6 +215,7 @@ subroutine inSituScales(self,historyStarFormation,massStellar,abundancesStellar) double precision , intent(in ) :: massStellar type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation + type (treeNode ), intent(inout) :: node type (history ) :: history_ allocate(history_%time(size(historyStarFormation%data,dim=1) )) @@ -220,7 +223,7 @@ subroutine inSituScales(self,historyStarFormation,massStellar,abundancesStellar) history_%rangeType=historyStarFormation%rangeType history_%time =historyStarFormation%time history_%data=historyStarFormation%data(:,1:size(historyStarFormation%data,dim=2)/2) - call self%starFormationHistory_%scales(history_,massStellar,abundancesStellar) + call self%starFormationHistory_%scales(history_,node,massStellar,abundancesStellar) historyStarFormation%data(:,1 :size(historyStarFormation%data,dim=2)/2)=history_%data historyStarFormation%data(:,1+size(historyStarFormation%data,dim=2)/2:size(historyStarFormation%data,dim=2) )=history_%data return @@ -271,26 +274,74 @@ function inSituMetallicityBoundaries(self) return end function inSituMetallicityBoundaries - logical function inSituPerOutputTabulationIsStatic(self) + function inSituAgeDistribution(self) result(ageDistribution) !!{ Return true since the tabulation (in time and metallicity) is static (independent of node) per output. !!} implicit none - class(starFormationHistoryInSitu), intent(inout) :: self + type (enumerationStarFormationHistoryAgesType) :: ageDistribution + class(starFormationHistoryInSitu ), intent(inout) :: self - inSituPerOutputTabulationIsStatic=self%starFormationHistory_%perOutputTabulationIsStatic() + ageDistribution=self%starFormationHistory_%ageDistribution() return - end function inSituPerOutputTabulationIsStatic + end function inSituAgeDistribution - function inSituTimes(self,indexOutput) + function inSituTimes(self,node,indexOutput,starFormationHistory,allowTruncation,timeStart) !!{ Return the times used in this tabulation. !!} implicit none double precision , allocatable , dimension(:) :: inSituTimes class (starFormationHistoryInSitu), intent(inout) :: self - integer (c_size_t ), intent(in ) :: indexOutput + type (treeNode ), intent(inout), optional :: node + integer (c_size_t ), intent(in ), optional :: indexOutput + type (history ), intent(in ), optional :: starFormationHistory + logical , intent(in ), optional :: allowTruncation + double precision , intent( out), optional :: timeStart - inSituTimes=self%starFormationHistory_%times(indexOutput) + inSituTimes=self%starFormationHistory_%times(node,indexOutput,starFormationHistory,allowTruncation,timeStart) return end function inSituTimes + + logical function inSituRangeIsSufficient(self,starFormationHistory,rangeHistory) result(rangeIsSufficient) + !!{ + Return true if the range of this history is sufficient. + !!} + implicit none + class(starFormationHistoryInSitu), intent(inout) :: self + type (history ), intent(in ) :: starFormationHistory, rangeHistory + + rangeIsSufficient=self%starFormationHistory_%rangeIsSufficient(starFormationHistory,rangeHistory) + return + end function inSituRangeIsSufficient + + subroutine inSituExtend(self,starFormationHistory,times) + !!{ + Extend this history to span a sufficient range. + !!} + implicit none + class (starFormationHistoryInSitu), intent(inout) :: self + type (history ), intent(inout) :: starFormationHistory + double precision , intent(in ), dimension(:) :: times + type (history ) :: historyOriginal , historyInSitu + + allocate(historyOriginal%time(size(starFormationHistory%data,dim=1) )) + allocate(historyInsitu %time(size(starFormationHistory%data,dim=1) )) + allocate(historyOriginal%data(size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2)/2)) + allocate(historyInsitu %data(size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2)/2)) + historyOriginal%rangeType=starFormationHistory%rangeType + historyInsitu %rangeType=starFormationHistory%rangeType + historyOriginal%time =starFormationHistory%time + historyInsitu %time =starFormationHistory%time + historyOriginal%data =starFormationHistory%data (:,1:size(starFormationHistory%data,dim=2)/2) + historyInsitu %data =starFormationHistory%data (:,1:size(starFormationHistory%data,dim=2)/2) + call self%starFormationHistory_%extend(historyOriginal,times) + call self%starFormationHistory_%extend(historyInsitu ,times) + call starFormationHistory%destroy() + allocate(starFormationHistory%time(size(historyOriginal%data,dim=1) )) + allocate(starFormationHistory%data(size(historyOriginal%data,dim=1),size(historyOriginal%data,dim=2)*2)) + starFormationHistory%time =historyOriginal%time + starFormationHistory%data(:,1 :size(starFormationHistory%data,dim=2)/2)=historyOriginal%data + starFormationHistory%data(:,1+size(starFormationHistory%data,dim=2)/2:size(starFormationHistory%data,dim=2) )=historyInsitu %data + return + end subroutine inSituExtend diff --git a/source/star_formation.histories.metallicity_split.F90 b/source/star_formation.histories.metallicity_split.F90 index 907fee6fb4..ef3c0c59d5 100644 --- a/source/star_formation.histories.metallicity_split.F90 +++ b/source/star_formation.histories.metallicity_split.F90 @@ -75,6 +75,8 @@ procedure :: scales => metallicitySplitScales procedure :: make => metallicitySplitMake procedure :: metallicityBoundaries => metallicitySplitMetallicityBoundaries + procedure :: rangeIsSufficient => metallicitySplitRangeIsSufficient + procedure :: extend => metallicitySplitExtend end type starFormationHistoryMetallicitySplit interface starFormationHistoryMetallicitySplit @@ -261,7 +263,7 @@ subroutine metallicitySplitCreate(self,node,historyStarFormation,timeBegin,timeE use :: Galacticus_Nodes, only : nodeComponentBasic, treeNode implicit none class (starFormationHistoryMetallicitySplit), intent(inout) :: self - type (treeNode ), intent(inout) :: node + type (treeNode ), intent(inout), target :: node type (history ), intent(inout) :: historyStarFormation double precision , intent(in ) :: timeBegin double precision , intent(in ), optional :: timeEnd @@ -353,7 +355,7 @@ subroutine metallicitySplitUpdate(self,node,indexOutput,historyStarFormation) return end subroutine metallicitySplitUpdate - subroutine metallicitySplitScales(self,historyStarFormation,massStellar,abundancesStellar) + subroutine metallicitySplitScales(self,historyStarFormation,node,massStellar,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} @@ -362,15 +364,18 @@ subroutine metallicitySplitScales(self,historyStarFormation,massStellar,abundanc double precision , intent(in ) :: massStellar type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation + type (treeNode ), intent(inout) :: node double precision , parameter :: massStellarMinimum =1.0d0 double precision , allocatable , dimension(:) :: timeSteps integer :: iMetallicity - !$GLC attributes unused :: abundancesStellar + !$GLC attributes unused :: abundancesStellar, node if (.not.historyStarFormation%exists()) return call historyStarFormation%timeSteps(timeSteps) forall(iMetallicity=1:self%countMetallicities+1) - historyStarFormation%data(:,iMetallicity)=max(massStellar,massStellarMinimum)/timeSteps + historyStarFormation%data(:,iMetallicity)=+max(massStellar,massStellarMinimum) & + & * timeSteps & + & /historyStarFormation%time (size(historyStarFormation%time)) end forall deallocate(timeSteps) return @@ -528,3 +533,37 @@ function metallicitySplitMetallicityBoundaries(self) metallicitySplitMetallicityBoundaries(0:size(self%metallicityTable)-1)=self%metallicityTable(1:size(self%metallicityTable)) return end function metallicitySplitMetallicityBoundaries + + logical function metallicitySplitRangeIsSufficient(self,starFormationHistory,rangeHistory) result(rangeIsSufficient) + !!{ + Return true if the range of this history is sufficient. + !!} + use :: Error, only : Error_Report + implicit none + class(starFormationHistoryMetallicitySplit), intent(inout) :: self + type (history ), intent(in ) :: starFormationHistory, rangeHistory + !$GLC attributes unused :: self + + if (.not.starFormationHistory%exists()) & + & call Error_Report( & + & 'no star formation history has been created in spheroid'// & + & {introspection:location} & + & ) + rangeIsSufficient= rangeHistory%time( 1) >= starFormationHistory%time( 1) & + & .and. & + & rangeHistory%time(size(rangeHistory%time)) <= starFormationHistory%time(size(starFormationHistory%time)) + return + end function metallicitySplitRangeIsSufficient + + subroutine metallicitySplitExtend(self,starFormationHistory,times) + !!{ + Extend this history to span a sufficient range. + !!} + implicit none + class (starFormationHistoryMetallicitySplit), intent(inout) :: self + type (history ), intent(inout) :: starFormationHistory + double precision , intent(in ), dimension(:) :: times + + call starFormationHistory%extend(times=times) + return + end subroutine metallicitySplitExtend diff --git a/source/star_formation.histories.null.F90 b/source/star_formation.histories.null.F90 index 9928f3029c..d3e3a1fa26 100644 --- a/source/star_formation.histories.null.F90 +++ b/source/star_formation.histories.null.F90 @@ -69,7 +69,7 @@ subroutine nullCreate(self,node,historyStarFormation,timeBegin,timeEnd) !!} implicit none class (starFormationHistoryNull), intent(inout) :: self - type (treeNode ), intent(inout) :: node + type (treeNode ), intent(inout), target :: node type (history ), intent(inout) :: historyStarFormation double precision , intent(in ) :: timeBegin double precision , intent(in ), optional :: timeEnd @@ -96,7 +96,7 @@ subroutine nullRate(self,node,historyStarFormation,abundancesFuel,rateStarFormat return end subroutine nullRate - subroutine nullScales(self,historyStarFormation,massStellar,abundancesStellar) + subroutine nullScales(self,historyStarFormation,node,massStellar,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} @@ -105,7 +105,8 @@ subroutine nullScales(self,historyStarFormation,massStellar,abundancesStellar) double precision , intent(in ) :: massStellar type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation - !$GLC attributes unused :: self, historyStarFormation, massStellar, abundancesStellar + type (treeNode ), intent(inout) :: node + !$GLC attributes unused :: self, historyStarFormation, node, massStellar, abundancesStellar ! Do nothing. return diff --git a/testSuite/data/treeUNIT.hdf5 b/testSuite/data/treeUNIT.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..b802ee407b58256bead21a4fd19719d94bf45074 GIT binary patch literal 2764808 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
&Fyp4oD(*W;9A0B@ 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%0DewKGQQQ)(Z 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

%frE?jTE`1yz| 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%0D}4cc?v%5)0rledMoyyF zoX@R%rS5<(`g>pSt7{MbBR=oSaX{IZ;JoOi9y5{QA4jr$o!J)Kg&N>Z2VL&loCLr4 zk3I_AuD^W(a65Ew&{_EA0Qq(-HT9YG4D&1ZANP{JY2s8sZ%R?l*TH^}wIKf*$dUJ8 zOpnS}I-2~`M$7_K?;fx`1JM4aEbG@UR(?Kke^hP{P@UY!e5#&vhJ*wEb?O|@ z^~-w$f$P?vEC+5^nN58puoLI^`RG09{)d$>87}+1=vT0d3tTOjOS&4koc-OqUG@p- z)#_6}l6f#4_?=eYrbD~8KN{;(UWCi_O#FKBZueWD%YF^VnZSOLpM3zwG11@I-_(J- zTn9Se9xqIJ3x|FTDE94%Tgjq1ugN)6QqaZj9Op$fGy&%evBS)9&%RLoGlW}J3sOGp zx>XWf&PUDs*X$Fs-mJ6OB7Isu%7@)0#DhK9aDi^@pPWD3f%^-Bt{Y|#15{mxlP>oF zDNm8mni1#~NyCnZ3e%}*T5`Js%4`%+j)W)RuL~zdMDmdGW|dGVLj=HdTd{TKSJxw zAH?A=7ILt@M16^098<4LFLU1TGu(|s`RhRz^CkBfIexo`zvK8M_TiX*tjF;`|Il(X zZmDII>u#%&1azl;FRmkS?*adFKlwH#=+@ef{Eu6))~BEc=Lgm&FDTFcwL9r5^=};a z>>fp!FR|~F68v(mpBPZ|1k;c9wMaw!!zRun&Y>2`DoMDSFqZpF@GpmOcW=+sq@PX0 z_UL?^@-^~_{TtBbypHR};Qc1{!9bVuFpl@~KFgHbzE#{m5I>vjpRQ$p4Eb^%kcINa zk38Ynf+k(TdcH?bv(5|ImxBLb@Y&;jWqHdziv*ApoYVSuTQGfgrL?45^G2}z0zct$ zA0rv~o&U1EM?LCM%?w}vEXhH)jwU*Y{5kD9GXHY^l>v0wABY8i@D9+u_#^ch`}_XX z3j)7*>eEeGDL>>7T=CWMi4;bNM|A_OP*coGf>|04#o>&J$j&3{kEg;?zMGBO8gY&#=g>!zFdzLI$ zZ_|mn;KR8spu9UgPyQ_R9sS-x1;LXJH$AInkppE%Fj{b#I=6uR8sT7_`ctI2NS zogD6W$axp%d*^D-4G5R>qjdF|Xh$wnLTVualtbx8vs#Zv0{cpmo^Z zNBs04>J`5K@$PWQo0pgKz8<}PD8hsL{(AZb&d+ww4n~jqa|-!I?;^iC6*C&~#g5q) zK)L_M^3~b)kY5k&vkLO8g9TVGZtjd%!KYe(c?@)C;(=Jez)zk2{&N?&-v5;KqKl{5 z27WKPz-mCbS8Vbn?=rxrvgcY1y81cxEO7fxwVejf*96f0uK5kpL+@V1t{L0ClP)Lg zN$kUZ#P)7IHS7G)eBgE6Y}#S!!e(5JsA1auPx&50u7B|j+qvJo{yWIG&ei6A4eS@P zJ%4|Y^MIVkay$_~D{RMBf%P1>yeR`yRYLmY-a7cL&(?4qF7H@5js@>otp)(Ehr&?ghtnD|8

)s%z)vdp{ptT>|CRBK^N6~1gmi22OVaIGv+pCGtYbLuxG5gL1@7K^!+vLd zUWMbHwd=QM;X;SMb;!kiCZ;F)Q?5^R=@ZoJ{U>X)gKqsc%;>Y7!d@bt*grSp;e=V6 zfs6kM@_V8C_Wl^n|B8Jg^26R7{}b~2D))k;kuHpnpt~E_vmRCc+#E;5&NAyu^bn3~ z-st-Y$mh0C3~0wqEfgit@7*m8a6P^%^Cf(_Kv&{_33T60n;Fm(e@mddwf4SXzGXZH zUDl`RK@a@mh#j!w3{QT7y^Fz{>rAr>h zAnbtxihY7N;Ilh+eZcTl*^NGsav;;C^CaZBBKs5{Q%+zfZ^UGlpMUP=ZN~fO?hDBA z8&BkTYyay!C0*>Ef$p`O%ymj&H{ANW;uX?&?7Ix;L`>TX=r6g-`On|G^C`n4=915O ze3H2M$vGD;e0HOhHxVB1&q)0DfG+;tIG)P=Nw!lrbbs7k{Eq88tfwef@1y?WbvS1F zN9aDfHDb{dgu5H-ab05d$wIxst(WZ)=;H5<^QeDrJo78|>8P)$gKKs&{KXFT|G=KG z7JD4w5-;#Gfc1Vo{_I0h#TZG$N3KPO!4Z>C1IczUh>(Z2`mQ*+8zBQSV zv#{_J#w&V`>2gQR;{2$K++lwV?qkWi*rYdgW2Vzvn`06GU#{&1#8;npnoPXL)75~% z{VdTtSswQJyjwt*ccw?duLlj=2k0ay6ai@e@|5Wf?)3-u?7fNqbIJE6?K;9?Th~S+ ze!pjjfQ#NrDDQ*Ke|{LZ5OnWMUJuZ&Ig0w8tn;X6+pT6kM11FuiOJF4?PXa>m;0#H zQ{)~C^)BI~J_G%X{V`_DDZ~r>fI71;upIqd$JoDIvEu|jH^Ioa;0ydHSaJ^!bnmZ$ z6F~QVK6wXFh3qAZJ;bZwf(G}w{aKy20FSpvBzB2_;~fd*53I)Yt8r}~fiCt6pGP9x z$#2R}&M!c>%KT*7{nYHtk2P%`>r>8;!zxL*m&N!)!hLDt>;L(Hcw$$U^%64q8vc)R13MsY@4W11Vn3bbU@gnRevf@6#FKH7<6UrXO8f*;Kf*mE zhM(z5=p6B*kuLZ5g)D#ZCmx4zdwfJB==Sj!&wyjy5+%?{KK(H0Vh5e$mh*dtL*(DM zgSgngVZT=c(@$c&;XjiO`yYrW?<}^Hz9BEm)vox%NzkSJ`h=l(@42xg?}ni~nwfeb+&P-tw3nw%-T}9Zo@4zx*RSs9|C+yJ z{=|Q#sUMm5L3g*gY#;I-e^0pJ-tZWq48j<3OavHN-KebDW@5mA6%SdPT1g4+%5Lczz?clrW)(jtNo+Vw<2C} zp3v7Dlh3|T&qaEit!BRg?|Yce3Y+c%ihTk0GhHE7Ot|2IojrTjGt$Mc-!;(f$Ayo9 z-zzoRl+Tj8W*j{?Xg26h;iN2Q$8T~S{NA*0j)QKy`#66(^=t10J@7N>iJbt1s}ZY5 z0XkJ{c?j2K>QcUSqTFlZNqhYRDDN!UpVj#NbAek+R#1Ns`-WW4;D4lx|Jg`{i+^4~ zwZGXIK!1FSy$FxD+Z=P^Ht2z!W~XRTGma;#$@XQ7eLV07`z%hoERV=PDP|6!?02y~ z+y^^$1BcyU@CWy`-JY$eABg|wHJ}G}c(wTX0gii)fO5Xfall(#hwV)6-Jb+qh4c;o z_=bIvg8KRTn0}M~*Q9KxBYt2zl6&H}5FXr{#QRm?x^KlO$dP?I^0`}bb6g4Z9J^XM z=3o3DZ2+HkCbE2-H(O14o|;U(*n9G^(S!CD;`j-F)!=u}pJqMF{PO_+6MF${=XlqE z^vO9k+lv!Zg6-RB*n{%z-UB(F*iSN>_R}bBVetD!7e_#jtOGetsGGgc<3CR2awh#_ z2Ag$k%a&ZH`#&u=<9e1iEHC(*WV(htpP*er2x`lwg35ZKw0Nr2fvz;j^m&oRcsa0Q*|!KDcBDp-?_ouZ?|G&u2KGr&K$S3 z8q0nr?*OTP>WY8ltps_SzTm#M*b9%P{32x+L9Wu)dFG zJ*#suW5K6S*BA&scl{{#Ghg=A$shRf891N(`j>gbz%TM9gJ0G=MxK?c0QkjzE%)o? zy)EZWHG4Gqb-v|)@jrtsuD9hJpZs>{9Kv3D-jq+H%IhH4ncD3H=XGzs$T(rf2}&mHk(8~K~NJP!`ud4nJ6((asT;8)dKJK$4?GVTV{OF#Y*;a1rW zrK5mf8(0gt*jqK_(DZAz2k}pRmHcth4HI`$o*Kv+^(M&1(6_2l@YXPg#FD@-_LT-=71&{o;4>dtLH`;s2^ikyy}my6$Wr zf&S=}PG;J3ms1xZFIX?Be$&`aMXzA}%6sF(43F-`ao85WvA_fWOK#7N&l$dMDf=<( zFfrU(5CJIfx=cNU?Cn|8YTXB2CGEt0HoO-g-f~Q{Nbs+?&GA{i$;y2+YuVoWpa<_K z)UCliz;7qcH3jteciuDev0TIs`b*Glx$lE|5Id?&xAin%B;(n?8~~Ji#_SjFy4oC{ ztubF4y*=2E$WhpoW61uM+c7=Q5u60gSsu9m2>F3MTd^<4aumDa)LX=l68Fud|4@$H zdu4g*PFqIf|NgOtX8>g%+O)S{4^zI3+h-y{KXQxnCH!Er9nDcuWaT>Oau26i50{^EFQy~$+$ z^KOippCZ=8BHhl8K4Ih!-qH3x_K4~JH4p0_{wyJ1#&5Py@n?7m@$e1~blu>h4}P7g zJJ)yWY-;YS>4x1OP`=njAWT%p=t*zp?IVAU?{9!E^D@`>diRTqpvSK(+)vrg^@)od zCnX=Z$p5ez%OP0z#g9uF+>A(%`%Ny6ck0wzreF3|I1k7^1m*jG{qziS+x|7zYl2$y@m zY!6OoKScagb6)bZfA|1-=#Sv@vi|js{ONzaNxD6m_2sqL!TB{_51%#lA^7}==dS^E zh0PpC{Z=)1AfCLBUj`_4B;Fw0TVLihpr1VR2|zvU!W_b;OI*T`{U7JEcFbS=z06N) zu|LJ%$I0^Pp>W7Me`+b>`8|rS1|Hmdly=Md7rk;V!d1rP%gHbHCJ94!%L4lqfgJ<4 zMm19(V($rjDqUD>#_t>U3!vLK8Rg*}55vVDGoaiHXT7TGqneZcah8dIdiXbMA_ZDG z60zRAQ3<0NzV4f$gtyLaVfeXDs{r+hp=LbmSHslz-Yv7i=M0|AaQk91Q-23WF@0{v z^P3URp1GRk?zBwA_M$`fk7d2WcBQ_WaSw9zM?Ws+fBxub^r|~`IBsb#CF@1(iR_}h zs0k~`zx%~j;^}g8{_v8nodmkQYxyD2<-F=R!!K25ean4Mmb(_e+Te3G_1r?(;p`Fc ziT{?PfXcbn26Va4c#3$%jGKw4^jWU3-vPS3+dK#;_8GPj?>@$)b5O>);CHhei~{su z&M@iNSbZP(#Qq}xC-0+JpTRgSe!kgW;_a@q_L*N5x({Q2R-NrcXP7h|a&*&otS3Lk zg%6y(=gTQj}ZvThd` zul*#_t<3j1U#eL}Hh^FMFSqF*q5Cv=zXG~nY(2|2ew`7zr=xZZ?}~7DSBe%lbH3+ws&t`uS`)2GP zZm0969i=<$Bi!3Ke;c54?7uyTZy!B27P!t5#`;oUTp+)9Egk1w&%d`2eBSjQ%K>%$ z%*>D2i(~mY&wu8B0{@0`uEhOJyXc@tkZb1~PJLPI3voWuf0lj9|Ap4A!TWi4R`^@; z|M<@<{KtOu?Hl4DJNmwt=mqF<-tmfbv4aUHewq?up0Q81dJWwAXM9*Cf!>m9Prxtw z@e|NJC+P~{V*mF&;knx656%g+dc}2Qvnf z{bEF1xX{Ip>NU!hc?Qrs^ZP^4#eVx8;=wzuVtb!~9-P|-??0`lD=A0rCmX$K!kCwc z7uf5;yFTFd+RU5}?3>M5{=q#JZ%~&PkQ>a)alxgN}Ps;J4RCodCbeb(Q13zWY1tL+$@}KKR6sG*{L^2yp6LwMHBPJVQXpJU zYq%QebJ{*Q11R=_8T`rDe8M-H|ZMU$-D5_NP%{v z6z_q1e|*XEQqE|$58Ws+_Z7Vim6$(&^6dxU_dC@v>CUtKEb-05E&;m5w!NdA$88n? z*V66?6SiP}_5E9Sfy+Gwj$78-hF8HKv`ewe$$Ic^rZN3N{PBQaHM}|x&^p%U9{9!1 zKl_v1_t*!z-g21v3EF|^A(R{3ilxy4qR{rbgy4Yjvsb@XFcd{n&hZWoxO&<& zmhfb1{?CbM_zbugF^BbQS1WJQAG&WSernA4Qt0!`;fQ~CKkH4_*%63`_tK;f@Rkw} z+1r)#BBn<#AM_8x?RV=p1A4Om3Ml8il;Fdz(w01l>zw^n$=1t+ZqIBi;Q5)1@!hJOqAur)26Y$!V^i z#O{P?-%aB7-G-_Mjo$lkL4wS&pG+@s`wFO@Uxcxt{RNSD0#$V~d1r0*bK z?f&i%)7ke23v}F6a76-b1w}*JZlBliPQIF8emQ!LO6#<~g*TzYEL3 z`=|-&_Rt%o>p4Gi{C1M{G4x%jIX|nl#SZiTBTsUFLH)3Z@&o&Q;{TZMBBkC9J>-v2 zebJ5k7lA!qHL4xQ5wA`qjw^D%^bPa#vAM??_@R({psZii3E{q_Rs^!jDsxDnVd z68|$8Q(FZ(S_uP1iRN#D@V)LXClAHpHG(6Bld2VLzPcn*Bl_IsS4^x~Llz=QPo^*@;T{BTu{lYZfi^ULr2%-7F`k%W3jk6Usg3|7W?efbgFL=${zC@|OEXXGl+8 z$Om-uea3#{9)85~5wgP!ypZ#^6Trp4H2L*{ zjSCP@>^E&BUG^1#+y8ySb0l@sy3Fw2N7-KeF{hb-@mp@-d*d(M9?;+s;ybDy=N&1B zm%!~tEvYYwU*!+L-OHI6Ps+vU9Z$ok4`JUC?N$5$vmRi-jd$nU)S*+SC2{B2CS*Ue%( zkb5qi2V`BqdbQK1V0xW(?@YV0+pK4Pi|ygKrXDsk>!q=|IS;t!i;yqy+ba8coNuju zn|6guy43LxY$tw>X!Z-SSHyNKb{d~SuKF?ARPebYyP5gxi=7;|(XJSO$9dC#*F-Zv zZmWr$PgKd(rx-tEpTKL_fpmLFYoj-0EX{nVlFgn#j??ld_KV>DlHBXzIBK`-au9N4 zpPA`#?6MERuSd*23A((8X1IQv;~?mErcaGNGW)B;>q6gR8iIblR=n90|I-BL^P%ztF|*j00WCJy6hfrhWGSogb&Md@c9W$K)UOC&z7d zu1+-Y_;s+{=L8+;O6`%Aqwl=Dk@=a(8tXjje*s7JP1NZ7N~ zvPi_UD<=)nr-bM;NJrTJN1xpDUk@vm;^>&?d>0HX0-QTpIns>M^6+c|2z4lrW z!*DsbtR(-@r8=`d#eX2{AMdX~hd&*TzmKDh{<-}c&zt?wIllkRlOo_#nF>&^l>7Qc z!7u*X@`EmR#Q5Lf{gLzFH1%G;(EMTu_scvn^HsBX1%d0fHuZ7wyFoqL?@^;D=wjd0 z?Bf(}ZRXn{&x?~k;{~oW@7ZJ_vW(eoOs5*e?p!9q_ly z@Z--@09tLnVEKw4JVL8UD(aEC*1^IE_b$F?d5fJA%CmMB%FB3JUQ^F?<(>v`_s60v zH~(-Y;$jys3Ftb*cLf0Llk1p1xd*_0Zr9w*|M?HUH~9*!qr_h#*E@l|1pieG)9H*$ z!T-xXD{)<8R#M8Xm5=4<?MC)79X(UbJa1lTtl}9N5QY`rCEPgY>w$cRUB(|LM0Rpo_n5@{652<{R(TL6>(} zlrR2@sIOQJu9M#j*#*XVH{_}FWtmQ0y(IZ%{2<+*Jn?O~1k3#&)^FgKSL{Eqy{VEv zpJzJyPFIlQEQ(@0y?r$GC)said-a>Y+$Mc&56agi3crDTe`gntvv?l^x!&|sFF+T2noPfUb2Iyg_pFT3LkbNs zFmxYF?pd4p_AB3v!)=nW9QDa0k0D3&IgZ!5?(mzytxM0TM_7Fu8+ynNKm6Gv9QQQ= z#r_WSW9R8?=Fx;>4}tD?KfDUi{VzTHj|w}NEJ|=4^(EVh+N(KlJGqLp{-Ga6O1S#T zqh6+~&N2G;>pa&$x9=rlI_;u=Q;wQjhkCy3*DznfK7)!GZTeZ)WqX*8L(AE&;U9tW z`#n4Xx-R(x>9S5g2fA+2o_Yz+eUMJC?3BZx%Q}(e71*n?+Erxw#Qx|fY%RMB_rhq{`blry$*h_&8hNw5_D_( z6t)lX+iB{%z>??TpoiXL*!6l}1#S;c$9c(mV%`CXT{5;8)#9+(cUqn-0n;J-r{LGY zy#CJAzZQG3_#gbVRubS>eZLC0tYes7KV?xfFNWSVx>qJr&+@{$ah#X)(Y{QAdYoGKz>vTBFa@JW>Ekw8@?=8u< z{_#=5ItQl^9$wWu9PxLjW&U)6Yo`C7zt3@2#azD$K3iSd4nDch!TM1(=dS^7=lzcL z9&bu2lsR2U4)sJHuOD!|H-<10pzOX>o`9-!&7nIw5t|lIj9!LF7v;+ z3b6cazdZBnR=e~N^uRuBa9_hKb&c&SIG^=*JzkCf*msJP?l&m-6u3@XauMR&_5QdG zDEE}&K)1yH4xsp7KnYnQTuu zr=$E@`MLh`zAkwU;VO9{!=E}G`t~2lgMlD!UC|!yYgA zp95h#0aeSEVHj`Y@0ktC&i{H-3X|@B^58Z3;{QDHmx*|CPRjDJe;e`uxK945ng2rfW1S`UOgaijlJ52T{uudgHQ@i`z9QpE z|7Lr)ek{ZKQq?=K+;DCjE^>o&=Ahl!w|j2@-O8Nu3FN6&*^dF&a=#XMV82%E>M&gV zT(bWL?{2KP?5yXY9msnl^67rDEEiYq&p?isy&>llw{mIbTl{G5r~EE|kZwgyOp0zFX&u=ftxxxD0o|Uof$hi+`Jsdz1pdEzhnEPqzUi`-@o#lK2q^C+nLn||e+Yc> z=NBQnjjGK4-r#dT|C;#?`kmORKf(C3#;|>RZ<@0l#1AXmn_6>``k&ZMG>qMI zL%Orz0o%XbXaiy3zZZHc)ADD4s@1CxgunJS_5WE@wjc2$cN28+ zbImLgHEk~*&gKn5yug`b*UKe*(WlvJTkj6NlHydYoJ73@c% z_i|kFXZPXwJooJ!)~~%O0q1)avRh;I82q03TYuN2d)p5T z_x22ZM|$8-duj2TkmFaK`WkfD=L2qSTF!V@-LeT#@3K$8aly)&i{+swb|qcx@J5qA zE^5_ZlgD>Pq3&fN~DR@m?Uu1Az8KwG0sU1_1TJjU2z! zuX%1WT>QEd$~_K-kNBST0ly8v1G^Vi0-OAL#P{bw_i}H)#CY{L69)H$)c0#SzKNXx zj$f9XpHptr%QF}+VlKx=r^{#Tce4M*`qc-!Kc~D>Q`kuA5e2y@*|=#h}CP5$I}aKmJD*F@7-ve|GM#+eo()9$5f>Z+hW7mxe)=MXF6-~B#G4;uzYu#7CqQ?< z8fp6bfcK|>+iM&%uZX>8@H@qttOm65_TK|2eopEGdKoiM0Muo|_X3Ljt!ToKUun4q zeiXQ>p2^fl>JkSdffxRi^$$DR2=|hn;P@(jpH2gp{r5A3A%E@i-kJJepdYKTiC006 zC-$zvC+FWBhn`eskR^&eO zW5yHzS%A*mM;zBwn_no$`>{wIUf8|~F2GG5q3-N!}`$Ehw z-WO0_XkBhq(I)@5!#U2upFG0dp~F~i_QEenSL>3n9%LO!y68Km{5s8J`MYCxn{p1_ z-w`{r7xNoi3W=w6p4~EuhOgUDmHI zUEmyWFGt}h!rW~*?t8g@J`^r=>>GeC?*-ohs^kMqzv^L`{8zg{`8dZ$xK3`Fac$Ms zQ2V}b@>_cc$2Bh|n)#A>oOGQpb|>Q50~Yf?;$MdKBKEgVQ(l&;CY_>Z1NWzm=RD!g zi#7dhZ6;H%Jqj>=x}HtC+y`Vk@WQ$?J$CseX59R+(X@;1Q<*-Uo0t8>3m1oLh@UDi`JEmEjsy3GCnoOJ zc*1g!^RbJNBYrrU9{0V)_9OQVIlsamAL6;LN4Zwl-DaN2wr~&V*0h&w@7B5|w;{*< z@ozJp$oh=op?8V;O&XK#)EP{9g#3$p36sZxPlxPsc&EaR{FOz__>yv@XE~ISEdZaq zW8rw|EgZE1;m-Ky><{v;&&*4+Kd0UXKSSWR8ov&u`!jQH=r=h@y1Y9E^d9GWL^yZe zLO>nXU{|C-U+ixazh8mx%bMSJ%krqfF^?JVSY zV>`V^xLq^L65wLri0x7QlD`FA4SmP)CwRx8^E7@3x>tKS`?cEsE&G}Mb4(cI$M5%r z{3kj?YEciCbH?kCZ`I1r@m1`jCI-K1mYe#lmpY7eu`9=O4Y3RM8vJ(V4JLn+-=qM) z+@oW?+16~!8NTfGD>_M~{v!^?4! zj75CdT|mCA%o~{x{ZrY&;CG5Q;(ZQlaZgx;IuJstQw+0TW1^gqZK|A?j^v}hLx zy4Us2D$xCJ9~ye-z7g!LgYGq+#Pe;Hrv=k5=fq6ElX@L-*=KzSIpV*Y;-Up z_-3>2Y}SeWA>NLm+&e|M+h8#Jli1CB161=Jo@zyOh<|_Zc@-wDGS7^=oMb-QB1JnD%50?O~>G`}! z{LlKH<2UZBfo|Wdc!+#*ACtJ)3nE^(=)aK&7yr0`u-nA&>BFA_N90z% z9;}n8ZZY1JHJbpfueKN%@<$~1vsZ$y@6;lc`Z^OScwo0o-7j;H@h6uYMS6m8=3Dpw z^)%?V`27XlyW5iG>#ZyqK|Ig{JMJ^(efu8Mr@nej`QG?%Pa(cHEBjpVtJvQ;k9p#U z5_Ek!HS>*o9h8@*@^a9{{?KvY!Fi_m2W9%Ke<$xpxYw;F=VN`dfGOv*v!WPp+Yg5j zPu+{_1ZXX;xdC+XU&#N89uo<=E|kp!U0=@3@j;ibFdw*US2g8Ubn|-fsUops$$vio z7~)dCgwy_;Lzv>Dzr%&i_QypLzm`H1&K^A#bUiH1Xh7Mo;rt-)4Nd=T9>I2PJs9C{<1clV?Wo6GE=UckGz3AZ)G0VqwVH=Mf{@+)Gy?H9>+O% z#{rY>EY%3rmmj_OkC1)$vTSVK80CY%Davh^|aQN}Ku-J#fdhTorP%DL&h>%jeG zE%t;Xe#pj{)jz*;yW9S22$C>#sTA>6QsOUg{!~SU&1{>$Sy$IJS zp0MAm9Al|x+6Ovu9F%*mY`3Bh82Y_gOT&fVyPPow(Af~N5754qX+7n{o-*w-Pvc9# z?PcQ@AzbVTlHcC;o^r(Q+6KmJ;&5JZ|Cft&|K_G6lryjn`@23e;udh&djP-e3z&MW z(}?9M_lj8W_T`-K5Dt3};K%)X!UM%$f$pxq%5g*YYB3JDxBee9kKg`@_2JIw$p2!! zjBvYo(rCsPJ4k@;+=@>?x9V?+1+ITP`GoXZ-JXH2MrC06%Y7TRFWHA@IjF|F_&@PW zZ0aGTcewYz3F^`CM^)gsD)(;9coEva^~R~=kgqr78HNAh-4t-KXJzKEpSm*t>fEa{ zpa=Gd)ztrnfj?M}>iLaWzp@UBqMREKDcAe6?M}oKdzH+msHSqqe|A4#K2d+msvR}CY9P)@CDZ_c- zy#L`m=r|W7{nxsqfIEMs;QAEYcLe@SWF6%9du=jsJ+8#!lF z@_WR;A@!nN{T07ExVINSZu~B}e|(DkR=OKpk9@cE4&csSipG`si zVf!nSg5T*qe~Pgzf~J0!nwJ!M~Q`g2v*2h10aGa2~tQ9J))KgxZ}VWf-SE6yu9_al_^Dt;&Y z@gv<9e@cL|U*1dpx|0q92Im@T^EWIn7}rkAlY7YDBnRh(oPlj%WR zP1#=qcj|~kXMuW2Uw&6$FXdk}akPUtUlKn%Dnj^zcjKPZb2D(a=32Iw^Itc9pYNYd5Bg=YU2-q%~#=9zj+|AH^D z$M#>oGxK^|TCS(MrETOt>`p%MqhRQpc9O2eFEsK8_TTXPMSRJqtteOC^<4!Xyc@Lp z6(L>fL%Q4xavr!vyKDr%BX+#thkq_WwY|%B&;z?dJ-i>whreXf&)tdzpHuetyX2Sq zP0#~>!D{dTt^;x}%6S^>bHraY^@gq2(}53h zr#b$ASiyai#7W{f6F;lG|53R{a=eS);=Fd7_c7yrUFt?TmgRZx5M?&P5M$>pGn{~6Qn?GN)i#GaA! z#(LFbKltqNIjLXttI-p|ufzVp}PJe$4O8EyDKl+K%OUrW)9Z{fqdz z9Ji+)@&B!ocf%}y_t&(GfIsbOBFFje`>~{l?KlR|p|J{GMIA#We zkH~NqFz^R%73#(L?td9+^h@(MhOg{h4|2So-!A0{65t0MimgM9hZEeuJz*!6A#F8-Mb)mPVd1J^a4 z?gdn*7LNs=7Q0;FPVE*(zMM0F9_T@@%AC1K_s;d)0=idojj3msYny?q?lIqyp0ecv zK>N#dQ4s=NugF?J@$<@guIn`A{uApZ=<+{nD%0mxCx85X{tZHMVvcNdPEMB--%(m*LQd{=uWQ!%ooI^!FVG*9N$3=$xK{j`HJ%FWWD!O zZr@r*D7R_WNaBBeGBN~ti!UxAp5g;j?{zO-(DlA0hMqW<^Ga79HJkho6D|Q%pT8qr zxsTYd;t&2I>B*PGMMyIC_rUe#*gJsEPq(g;zBeoNOW^lbwW+ZP>DH0T9Oq8zVT8eY zEOE=zVVtW&J8x4?l{D`F?Z*?$`;}(nc0sNmj;rG?8B6;Df7NZH?}Gb1dDjRzu*(I% zDw>vhN}aA`_>)iOd{>*VE`)q5`*6OSk^O!w_?- z(2o-Ef3BRnoBc)D{>m47ILt@AIO%in>uUdF{dM}oe6Qz9922C=`-#GopSH#`@X3CW z_4VifS_yP*#ql1(`Xi$Se(!0@FF<$pmB|Gt@gMkp$2!-yCg~BWN(1WhRe4`w&C02X zPj6j<@bylbh)|*VF0o}@VN`hbf?2@iF zCt*H`8=9Z=aDS+bV+(=bU-Lcd=~|sjFn|8eEZ_V1BesJ*dv{sTt(Yr(7wrD$v7IDN zA?flSI4#oQXDCvD9`Sie;9iFNMjyqkrhKQyZ1Ssy2RDY0{%@2ID1KP-gFko|rp9gH z`fRWLGau=J-|WDDxWt_R-3iC-_S$SSSn2K>N9a>Uh;?axql}&)4f{_ zN!Kr$@?J*H@%TPi=Y7onmv^xFkWY`D&2cU9)5-uByH>W3oUd}fWv~D9bILz&?EfVW z6ZMOoe^(*U;YYceKzS#c7Z7pU$X`4e+rdg#k?(}{{mCrXzCDS0%1_%iwts_Vd@riCz5ray`(N;hy`RySDZ8YE9I-Pt^G*EN zBi(yhhWldpdq+MwM^&J!%=dOcOvns_?@`d2}ypL@7&kuR}ROS#JxA) z*Q6fPgL6so>l6ikDd#w#yocoa9K^x0a`a(+bcVXzPm6!_TjbALl!I=MgY4*2AL^c3=`k`E$*2XR5X z#S8C&?(Us$_B&D8*dAWLGL+|u{S^3v^H=dRP5z+W)xY0wN4opZg*eFZM(y2A7+&Ya z58!FwDssXxKxg%t@l3Z*uzkdC&I4}09JnI_=~*8Q10L|}IOE^VsrU6f=3Cl~{P4>I zet*%qRpif^s5@}He+I-mKBoU%_crNbFAnI8Dr4~Vqh|uwM}J}a=zm6=b{oZ^2pSDx+)_&mfKZf4}KeNEyLN&NQa%!$K{NiU8bZ1h# z10nFw`jqw2Czl>3p81=%fPsB=VAtri>2wtI;C-0Yrv>}hD|3A!=*}OkN@AGd$ayH$$T4T@H_EN5Oh^!6!&*_ zxr~(Ksyh4*o$TvvOwZ?YJ#=FR@H>P5VG_@p{Ng{Ha&+#qoFC4NL`Dy;{nO}!-d#A} z+=D--Mm_C(+1Eg>^SZ?O8nCs zlykBd_wR1een!uBxqBUSi4R73f&SHR-dzA)&S9gO9+#9*-c!W^hksx|+=Bzk|1!!~ z-&SOMBF-%6f!)6Nd!;^g)F+!GgdW8Ck$5QYfCu_o-q&0~K8ZK{5_GX+HT}~jb~Na6 z-bQ_9iQN*?RYU{o2ftGq_HS@+tnTJueRR*abC55HCnW2L`MoczH%bd~;hu8ZF9eYg(DKIa+ulob`rlI zc2(e0B{H+!bod>rYBb2?lemSH_eJG{Az>50m~21q;hlY;i$Ah`psPf!RuS$!6$!fE zE^jPwzx#QnyQylkd_CUcIMB_naU2K!bG?eIDc{~b_aySg#}%!XhyOo=xKDa^g#(a} zc?>@B$8neZ1tw8H1$L0u=oXtnw;v4Pyiv!}liwbaV*~RC_wYZB<#={lESUtlb!Dmf zj(JDe&epBxn?T380ic`{oAK8+mfs=gklZKW{xbwVvEv}@Uid7amp|PZK<9lL()Gus zRsgr|X6HP#XIY1U2XT!3Qz_OE56A5d^p*I_GW~ut`3|OwpS%djZ`X1oaHnX!slb)k zR}zNb@wxMAZ%4XX-->corptSP2j{ygQRN9t51#{g@@|az+m&<4mp=Dg!WqAg1%w?2 z;jRhOA|PkV`USvMsnFkmTAv&Zx>v2xVy1sTi}M}tu8{6bcoqq|z2)X}KqvWZ>M5P9 z*CeFNd6H?@SBJPxsE2!wgU|hV)Ow`LJ?BF}iN|T$wPf@q(wDWl0f_w<(~orFcyd4f ziTv_^g#9Cak2wyoUV~2!F2Z(|I3(nA#6KD6fql3ZKU&@$0sRk`v0cTnh#A-I-tI(xiR;LDBYynZ&vwqF{4TlAH1jEZ zpXFVj&Hnap^flvO-f19zaK2*Ae`&^Nk+?^oi~R-lwfGl(g7RgbvIJ24yoHD_nRpX? zTHa|8Z&_$O@#xfCH@wobsaM?0oyf0b-9)IY2 zPvgx0v8Bh!@7MU)oJ&evy=vgQ*@pWAiN8cSdgMIXEy6Dy z&6klL+#g%@UUIx5UJvO@|2h#N>2mKikMQ9h>P0zM;yBfDlO}*Kct0N81F0DwzGZ%i z7s>Pm&)7bJ{f=t>#>}H`4Wl8~o>ZFaCF~%;uQn$b2fAuo&+L;{ed3e8aGVXgU$z(9 z0r&8r%lnwMfX=q|oagSFdZfpn1NJxXp5e~}d=h8*4CIJ4HRqF@7jqm0aebY`v1}Jv zuSr+a#>9X>&|_jZ^ayeg#};(2@N3R5t50Hn+?smF zOWtV*<%I17{nd4;*AVv*bQy2t6Z(D~-WU8INOtjc-hT;dYnn|%EvO#6J=b6*7Vhy7sqfxHJS7JRSULD7?^GiNM562DF zw{!Em)RoWJ@7|DA`;kxH)g6a?_*nw(@A&Tq@k;;P1Jsvm8M=W7gRjt*Hl8;UB2)VYd;I?EdH39)sWgqu3_kPWYX=`)kTapgU2e zmjLRcN7&DvlY{y*h)-`>PdPqS&oUwKiQTaW=+F9{?XRjn9~lx{%~`jM=_yy<0&e%6 zx1RJ-XDQ#wvz&CfS6u_ToZC>(+xM$-+{rx}^?)_+hgFbc-JGxye7fa2>KFC<8}_rj z12Nx`C>7g9-N>*Q{Bl3yfgf=g0G-(_I1aI|LAqP`%?;4y9wCbG`;T{nt`AO&1oY;0 zH~@MO7g+8~&Ae#VkNohzL%yC@xqs5FGI9SP{{Ih>-u{1P-krT~#&6p#roV;_Ka6y_ zxMDq2_fD0F|L@fgfR>$b9q~7fYlOhJdi?<4`tbv^uW#9$dJFbTpu2=ox(49UL4~HN(d`_V*P2;$6mY3Xxba~f9ecmSkIq!q`bYdTPHA48@g#}IhiX1fkSNN-QpnH$znD07q!Hlm$y|05F z*d<9kCGxvzr?EcqeuGZ-nT>M2r!6#ph1$D(g22lvO|Q+s;OM!Nj(yhgro zoE{x|bBuVJ-#8B?UMtJ-Cf+#%y6j&}dfr-w{>NPQhqdRX&-93WFQGaCyJ+gmihg3%W{QVHe@qU-mOS9B<2RkR1fKAG#Ds?wU{DbVls zYhK=;BZ2Dsa2raMBSsob)N{Z;)?p z*}H&p|4M#u%caY})xJp5VFw6)+=Gx_W1xZI_r&n)gmk%YV!P_!mQo+78Uy)VI{l$D z$md_WxD$L%?4Q(=!Fvcjag@oQ&I^H0&LhnH7~h-y?5(**d3sX@eusM2q8-c2JDu|* zh{ulj&d4wJf*f!1?)f2bft##k8cLr)~wxLY__6El_?9YKq{Grw059Xy`@77+>odX93f*$;z(M_+u1@0$^Vf)Je zm($>r_t3^a%CR*3pJ3gq!*y9T=yaO=;rLA6s52)0&VT&h5ZotLa2xnAw_$$-oE z@IF)g@KV0S$>V*LzB!HeRq#I?DSYtD&-}YCP`=-G6z|WhZr{>Rsl5Nnhjc&o%e>$h zJ0;2yKQ$KU&ciB&K@Z;R`5iXr2HlI0htC4tj(^ghs=T+SeCOS(VxT+omGPVUX2qxA zS3kuS0o^Y0fcJ-Pr;k{!#4E}Ny6U!u?dTR5Pr8*i2kGLshUXQ(Bc8w!!e{a`XbH5n2uTZ@|A>GQ{ zp6#sOtYH5J{yp@m`n+HC>UU%N$omX)Us?1}E|wF14;S2H`&QcApv(VCw!b%NAnWND z`i%T?Kg#dX=jyN=c^8l${CHQ7aqRY}!1lL0o;CD$-N~muoWOfc_vm!f{_hTOd|JN@ zV!Mg|WVW+oO*Q_F!*Qvt_AdLy?fY47w1YRZ3ZZVgk?rOm%wqf}Z}`#l3$-}4I;pUz?X!7mH=RiWNoZ{>gOe9SNB^WWBh-@3c+74uIkO?xCg zrYs%y1bL;`r#-2$^4HQ)6CR29BhrCsPnEp~C*&LQ?IS>?CsCj2zt7DBt|PzW zI-$eyh~@qF6woCu9rdl)C$0-2pXxjrbnEmVn~1Mku#tG@q)&jue*kdrXf(@Ltq1%L z+-dmxBBbkm#$H_F8{Px1-u?9u>1xv2{eZei-#LJC{`NQ1pBG_1)h7wpS?}HcdrX(} zUc#7@{}6V3Hwe&szGO6Uf5nB6;Nq|14sh`cbrVp1nSy%Wdb-W*rxNzKME*?Kxlfb0 z0o;Ge|3E^0a~;ei93qbK}ngn!tPin^3_V+9&h{xt`J;e4By%|G( zi7!$O`NH>Faz4lL8t=C#?rj|SR6dXEtk^Shy;S8tY7hbX_2;ao_0!j@fP3Pvgz(F` z6Ok|Qqh%ewwttGJo@|+)wy((ok>sCkmSRT&NxAx&C5Ye##H~7nV5l#@=Vf z7TWd5{~*&YVZTn+`BX+v=ZJa?`G}tt3FzdfU5`5XM;hSD8GIx{fV|^2dOk^&w4i(C z+K^xD8K}>LxP8v}TGXQ|!&}M`yI*sz*y2m-b^DW2)RRGcSe0`#*9W&`{sO4K^U=32 zSYFvYnNW@{^aL_t%%T@M|_BylQytD7P50ZTu>EidA>$&^>d$Uie+l+QW z@{XA6x%=sR*3+4il=~Zr`@nl?ovHbl2-G`ILhe5#?(0i_$MkN=_+9rBalMqdVBE*) z;lFXe7xcf^wZW&Tri03tJdLu%pLnN*Htgqr^m=I|C<5bPaf|fOgoM9QExv{nsPhcE)J+m{mA{i zvu5;3@TpXX4*`l_rli#bik}AZduxZ60)KG6 zCVmR?AfLLo;XLL4wT$b48ouUh;^BLyc)t}htFYfCemwUD?!DJ1z~_Beoq9;ljX3|U zeLIYQ|FGY8Z_58n`;Yx0G6Lo89KvxRe!-ssmpD`GXJ_pnZy?Vel#KJ!UikU|(w*%$ zLxh>KzX!C!aWL?n5d7-LMcV*j??k?^eXSNd5469Uz0v3a@yAF0F4y)G%KaAj@jo9> zJ@|*?N90a%U+#gBYrT>6S{1eV|_UJ3V7UmUAdE z|3|v((y%>so9u5WPwa02)yhl!e*J5w$COuXBm2#{Kc4jp?1$m^hUJ9gp@}~T&V%4y zQ!l9DhD4k%=Z1jdf5*VlE!dv+h*YtltH96Gp>NKSzsAS60OfxM+dqhtt?Ut8x4jL+ z&H9`vC+C685B96wyf*p0Rz1zQY5aH^%U$*}^V z*>|k3-?%B)@!;L0RWZRe@Y~_|;Nlm7`@eYqC&}A!AEai^=mb8Ale{xRp#NoN%F)~3 zUtxK3PI4ayzv4)T9TDj9@2gUd7zx~MJz^Eo)xot5#GRmsm#U&sN)2&5zaD)Qsr5YTP(b_4TSr>m2WwEvHv_y=ZxYKc3|{J}f_ z@IAV}RN_-on04;j(*J-v@;`@gRr<$Fznq@>%}r!;oLaY%#epvV ztFJ}~l(>avKGeR(eZ3WaM<(`d+|T*OX3+{MJ8>p8Wl51f9Uhx~5WnG$CNjb&q>^X|9iv^k@^jBW!PSWDs!E1%Y4rM(f3-g-<;N2%|4<3IM!e6 zrOdd_)RXH`5YJG5+LHTt(OcaAxZmGP0=ak}T1}vz_z~9&wYDV3kG>H@e&^@Kq)Yr7 zmMeZL4ZT1$_K&<1V?DhYi@6So|1q|k_}TRFJyxwZ#Se! z2JIm4%M5?T1c_On99zuz__+I7$Pqhe(!F&*ya&JdTQ&R392xlie(JMacO<^{DV7`d z3+iU8Zt5xap``z?mi%&V$#pQ^4ray8caW)%Kl~DOzr!ew zD~Y3M+Ouk%r=W}d>NCiJAA7Wq_^V~V$a};$pgY5Rk}l^Eap1SNZM{zVA)D1HIL>*1i~TF< z;y-j3`On(s|4q%Tm&hOX)2bJBGjhaV8R%j!MLj9{%Z&S^h0l>brv47dQRiNfKZq0J zmbpgx!F{*Ct`g5Xoaotxp0EeMONHNSiGOFa-;sDBtjCm;CjeFTC)8{92iLfdQ;*ih zfNu8~L4NmDU+NLD>!+Rx&ik=HVg6$st^<7U8ipMqq#>Z`ZzKio$?5@}z z{)_4CXXmHN)En|{><0LqUygEq*%N1SzQp^93i}OkB<=#|yS#@5ze-y8c1VD|t6f6S zqMiufS-d$9rDqeo*uc$G!M}<+zgdFb@3kKbrmG_b);HCF=?EsdF(L*LL1% zY!~bEK`h74x!UNzLhYzG@$MUP#E<@VK-iO@{9ym-_K#&dI^u7JzCXY@H?$^W2pBe9uL1mS6y@i{D}V^33&0U8HdZG_M%*|w|#+h_&4A*34%d zhvF~d82I3~lyU~2;rWKNpIHyXew>`s#SI>n&y*|v&XF(hD<}R)*}mS~-^}=a;Ie&W zzrcMF?k&NuM(kkwsC1|P1nx|`w-V*TzbNrM%NGIKyBkm+1pblb|Kl0ZRsU+-e_*{M zp7$B`zr@8e?K`&mQ_%HyYnbkB8Di*H^06Lb|G{}K?@BqY1G_!^e?UI#eog9Ey{8h# zhxiNP|7VG}$o6wilzbgRJ$6;t1Ag~ud9xqV6FGmqcRA03uKtZCzy4nmwwt^&VfzIB z{rp}BOn?6LnCW)Sw!Gg6{04iqzA)!VHxKeWPsY_fmMiyG=w~Y`n%|B1qUcxu^l_dq zN&E0SC4LUmgL5;dc`VPXydhDgI1YMt=6Q=XFQ+;83Vl)*bg$-lo-;THJ~QWPqyJY9 zbp1o}ypbs9&=QVEfAEyjpa=iM#h-0b=I@c(q|dK!+Wp@>JiiiqDwZShhNz##E`;Cf zHY&mIcYa97`HcN4^MJ-}3vNL~Wjc?u6d~id~F3f6I0C3g|jI zHOsL-NzQXF`G3#$cAg!l{zqI$e2+Wm66dM2wzkXm?VaNtpv1lBeDYc@eHDRnQvS^O zBz{xxQhxY6#C?$0=&8XyIDT~4&%5jgjvyc6w1VFs^~p})dh;@_H}>mv9H+8>IS#t} z;mAn9Aa1*QpKKxWiN9*r7ys*#uKLcPp4Ex}jshn(xcon4 zeeKbc)&dv%lAGjfTZ?*9;&7e;?vHs-x)Q&Fzytrda-MXJ{J}f2=GWW^Ntbt-)YE>( zEbD>m=NYL-W!#v4Z2H$W(5WYi*)zTx}G~Z4+<4QaT zf$!rztf$lM?>V6Vzjrg{ULSGdL5Dpu_|=7a?0>ILEB3GVtnD7q{Ys^_fX|=4lzP%qJDupeQ0PsIL*A4BlzWl2LJz``qE0XpwDnf`uI zl=IOW)Q;(D{2!c8dS?N)qv~>P3iGA;mHOZ7^db3G&y2fBUpm;#m%NX-&U$CJ8hsr0 zH>L|rISxKmt>O+qiG#>_2R}9ug2T@q=w8|nL%^N7vp7!mzMN5@i$BKAp!+jNneUI@ zd$xN=zf&ud(Y5?S2ESbQ5)Bj6u}K>(UmEN9V(J zZzw1E4C;MP;;W)O`G3#-tt$32^{(vOO+Cc^9qWNFaiURw^>2SOZhHNl40KmtBHhhf zh4Lis6W1aC_6XL;tC>XcyJsw7xmK^Drrcd?xzCb!h};LbZ|a(H+p7TE75;2k{~Z4_ z^RQ5ABd=K()>G`8IgW$-FZjtpeY|?bxo>f96k_}PKi6gbozGY9fIR2cJGQ_0J>hy5 zybB288Tt*D@!Ub|Sos}te#H8yu0yz9%DZmbMTi~mQ?#3#c?Ij^rpZQrXVTzDr1$-d z_dQOJZQKV0_u|%;Nt7dg2e{6PzYe2c0{e=^tzM#@;y2WR954HyDcR0LXWj)Jeoz4e zyNzJKEAN6iKdr$9`F|%kNAbG7H2-S~RA+mt#*eomzxXY@LHRe+a(t_aKeZ+9^yGLD zKiM2VcI|8T!5^&0@&2pdyPV$=uj(lBNjy!~PhZcs0=T@l<@)Aq&qiF2>gqv`wY&X( zq|16akNNJD;67aJ##R!~SbGwn_`x|tzR_7ZZd7d2E)ha^e>uW^h4`ssKf_NW=)wOv z|A&UJf!p0WtVe!#d)-WEKe5j=4_y6D*`*7Z?`t{D5a>q7} z0p0oXpt-+W^$FWo{x6;-zsys}w>stIIF5gRl5`*C+vU=meb&5>E`#4&P?7gNjy-_# zBn}tbA-Es3H!m{v9a<+gLipVtY1#i)Ti5L4P7h{#;oUjpxj9ee;rC^!`5yei{FQh@ z1wohnLmcS1H;M$l>|TD*y-NRPBn-#*(cgc`dr7$$qg{>oY2bMFQx^RceDc1M`bpLA z&wJ9qE+=?TVO5$~0(|y2|FHgQ;v3Ene`Y$?&%089_rTVYn$#C|=H#D&UnT3peXL)t z1@)#qXE)2UkF=@8`fbdWFH+c?ryYxszj3;1fPRh}1wi+oUn~IJdbczJ(8<=l29lFl3(swGJG3NmuLEeUz33D)GM7Axc%Rna)kPG1-jK@F3S}^5Bz@-oNFMy zIrvnjPuXwc4>S|_F^Ox0+Xn|RJe{68S^&8S~=-F#(17k~ehqhp39s0MlSAC@Bjy@qDJ zmH1^G$Awaq0NwAHm-X|0KX@PGUF_)cfG++v`2WZo(kdC`IJIW;|COqJhw{bm2j`92 zSe*UnZ2T<-a_!kI(}LeUkc{7pcjLgN-6E0hy-rSgydMnzYu3|Cyzf(%J99GI*;_u3 zdO;_-$#zhS4!%HsE5{+~e?9sL`%xEeNxECHelp}&1?sZB;7=0#ev#q)UVnEMewUkm z7xzJdU8m>lPmFwWPRjA-*B+D*^|ilV$9WXI8`HN+uwG*4Z`wUhalENP)e3`OHBHCw za)w_rTNc>6giGLXG@BF^axUSk`TTz}jy5L@< z>lxz+)$ttrfjjqalix}HjB@dw2IWY6YOW_@FUESfd5diXUE=-__gb`Ahy3C>C8<~sqs(3S1P4}8w=l6$Tbz}4*}tfwwkaX0ayCB4vouFE=oU;bZ``};?r zJ0AI*yBWC7YPk;!39eN3MxcxT*mHnlPr`l={6%{&T-p)&<%e?pwVSNkg?zYw2aNY8 z{NT)K;K6%V=lku4i6`5b3G+q#_HrE%e;M~lZ}9QP2;@JJ!3C~W=>x#6tiMMwJwuD> zz~z4=_hDjZkqC0!^$mE=<&OBvtV4^3a$Gpwo{y)T$ZJ^oGL?&Ye_NngErGvtb$AMKvp|Duc? z+$T$uqTN-Ab1lH9!~P1KU2Fel{;QpQK(SYP1n8ID|2zVGS<7;Lar?}nJ`=wx)I*MY z!C}7FgQ*YjZUeY8q0S*do$n(1L+@+P^-cVGab5KfXXJOOa6Aw%IzfKaOQ%{u`y;1s zyIg2Td+mVYp!*$$=K<~x&u-SSA1hOjy1&)uK32cpSp?~-{B-VX;6DVoGwD3->8)S0 zP=BklAF^C89B0KXoxc*~>wb6H|5lO=)aUXZrvT{A%BI{`h#x4^eg#hyg@%ApVJNyoKXR;=*veJL|tnL3!Ozy+OOg+ZER8#r=)j#-qOV3#2X&J{|bq zuRDV4yB;==_4m_6a=+o;>R%ar(!Uh}?XB~b%9&Win3gNY$W^9OSG>B=zfEz%;&61{ta*ySFt7O719&x6lqL-lQpqH zcmB##AJCh}7CKmOft=aug`F2nbec2ot{&tE>E zDe~#;2kHR^>zBkKj^X$X$2qX0hXw7;eA2JP#h*!Zgyh408RdV`Z#{5prm@e{8Ou|y zS78|Y$r_%Y`c{|f#{ZjE{|J`ju6|V%<%>OXP1Yx39Q$3JdP9BZPFc?R7@RXZwGT4g zdNP>buRknL+-X$iI?8v#@t1sgzl(bLpVhv~`gPETKf3K5@JT#(u4~@MS63ii?zzqa zir*jp4{^^I=J(3EIQK7dpK*-&QntJSK6TT&MET9(rwl?H=oxd{rzRM7{5B~3#nj@E(eCoOJb^#hl`L2EQ}Fb+PMQ z=bZONJ;?Vu+(<|HC#o9#m9k}i$k%7;Q15$1MsPnOcEv{i{O{u^r+TAU!UqH6AV>T) z_5~i?XUKaTmM8b-uRwQB?&1GCCwV=iuW#ix<0l++NZb05~z?wpYSn=D*a8UW5E9 zE~%-1j`SSoc+Zb?ugSghNcZG_BHBml@d=>w_cQ8K-DPTi;QB%xv(I_cl=7V_X)aQ3 zkE{a#<=&9`L-zOFuh~cWxSkT3Dk_+9$x&JvM= z!>=~!fgNG^o>lA^kD|Q5ADF~<<99g+a}avhZ@fgh_)UDpa<-1zPrS$->K$k7Z!A~; z8ZzUmS}M*zxgX>As;fu%e@DuHf&4)ng81_*KQZ+M-kn0O6~4E0PL#R^+@C);0qP&< zc_&AfYmg)F>1P7U|9-Zo7uzQhzfaBN`YiUBN047d%v%K*_}>WpsKd`H@;kD=0J^=7 zD&!aaJ%o6%!|ZSGkJju5|NC8=LAR$)ivg(V>-D@(L?SVK*$Ope~;1~NRAGpL7G2>0_VnCO7$<%A^v)l>M4t8{rL*NVU z>AYmgE&zA#-!gjP*b*}iQy1TX{CMAvbn%x(edb@N@Pzc%?GvN_B!1Cbq68q(_`7_8{JK-}J%E1E#UViPlO6&e;${Mu{}tN-`Mp6r_tC=@CG`);qR~?w*SOPh~!FJm~zppOAmT=r-VUp7mpWtjgWj z0axvYaa?#Gl{M?c^#@%4)zBtJ-``un@oo3NX6h04A1HBkULwCv_mtnS2i;o6a@y43 zd6?d`ljF#nsJTzEYt`qtmitSO%j z#&(I1i+Cr-jQ3@Uce32pu`>a!O|BWIg%?JnoOr)bV;A$B4RMOeKR<5O9Pi#wtqy=5_*;>9F;|#R{8Wa740}32Ytog+ zfPSfQZ2!RjiFas)nNKe-T}M7=?p}^ld7p6sxK*M5Ho~};7m#0Heq!c_ytf4&#N|}q zt>^(hU9QUwz`%YT@o9;Rp8}>Qxpggsd|`iN;!o%#=?fl41FH1Rx***evo(ge`-tm> zx4Y~@^4&|!{t^F)93OH|eHr{J@9*OQgYo99YQBm1j5XJg5Aj3@cT~Gc*l((V;-3_J z?zGb!e-ckjCv`d2%Ntwm9&oo!=UYtA)8{}4>D7Lq9NX@_ zh4j5I7X!+J&nQ6gd&_?H>LfAaMf?$gE_T$W{g?h23V}c2Su@Wz=43s@?;-2&6z)8n z^2GliU=UYG&XYNhtl2%-zxLXKY**E6_&&(f%fF-?XZzw1n5zP0N( zpLD;r`+@s&BB=-E-j3}j`zo$0s&6f}6W+H(2%py|8^6cNa9||mY$##+KaH~mxL4(j z(L?8ZZv?-pnsEuBGpp)m;%%bY4k{RL1$&M`K4;kQ`$*Sf7X#=PUKj_u_K}Q z`Z^~#FRhWUo`5d?cUdpHYys*4#6=^2>9z}yU*6+h2b8!Kq{}|XAw9Ax>HevzW_>Tz zo8|h&Y|>S^v#hT>_Q)ad%exD%<5r$e)<+2LE!uLD^v|Af9;om=q3#xI_`~r)bn;E? zKiPMj0KYfzGwMx$ad);W-f@7g8fp(v;yUjH)F=BKCv3Bce1YAOD$_aAq+4d)`0Osn znHGDa2+8MHy1;c!#Z)>^zRam&K$m&Kd81Vm);B)Bb|;JcuK2SCzvyY|3$cqNt`@cA zI756~$kD$gxJ9}0o|bTXlk=ead!r1$_#p#b_CNoDt~wngU0-;5kNiuEQ%{N?Gt+KS zMOnVrKK(B6I~^vo-d2)v>`!;wIgU@PL&zVTUn=|OUchmVK)IX0en7Z#;Hn5A>!wdO z0T+9qhvQ0F)jE^kS@b){ zg;tABAfKQ8v(=MsESGyj~Hc$DHE2Cw5}&M{nA!NT!G5zT*BKxZaY6dQ~M^V)V|E zQPV(o`u@0=awPtE2y$=l9}3*V>#a4>U+rd=*2NW9r$_5JtRc_Ov|{wiX9*8hd4CkQ;Up# znX;bw)%Gl=-F7(4XDzz3oB5;bP670rMwxPQeY*^}nmeECRJ?!2Z$9I9$UCRl2-G9* z^tIp%-X&XKPiFtvN6Ownx*L8k=WTDv^&EcJ!S7CK{*>wBzZiIME&#uepo=3=@~eU- zo|ApoivvB-BY{6JJNpI7k@wJ?SAid9-F?6l@O!gPJcazgPmnHJjP=sJyRseN26}uv!+b}~d@hycKIo442SJ=q>OE@A#ce z*^eUKdXexp=n_Zh2%y}bQ;*8~XCwbeXaVTn<#|Rg=WKZtxVrl5y^sK1W7Z)+?^rpm z@8YL|<%zw~S@2;U1@xvYeFr}A^UZS9_2iuY5{LR3=yt`N`@pBf|0JN;5gENxW$h;5 zVpqlXbbDT7zuUjJpuUv2z>knFaS=_wNId3{;LgZeq^lpZQ~!GN&PRez?YMsp5Pr77 zr$^pi2`F|h>|d;Jz@74QSsynXhdi(ob&A&;g#6;~f_e^qO@Pb!8}}vhzxN38+vB!# z{;J*6_cFcMlAfT8I-z`Nw{4)y{~)7JR-R_NTO&%Z2cKU07u!K)nNNCPU+dK`%zW~H zh3gH@O(4f@Kf~zHmCgg?w>Rxz|H=Du>OaJt0NwdKuj$uJO+N#@gZLP7Z_EDHU*)De=kI##FaQ2A(+=V{4Eeo;d-=UqwmD~z z-)q=zFX@ZgvHc~kAIFKk@-)Yx?DwuAJ+SvhTr=jAxD=p^z4j^M*tdB}+>_*jw8Jv$n95kE@f?xc!-ir{Z22|pFv}W91 zLwOT6J_H?cyMT+I!QH@h_&sZ2w=MArNrzuH@|Ek%bzM#FvIqQP&qui`>n+l~l^wSm zdZ9=_%zNbXZue(>)Q-ufe2H5CdT?$l|Ci?jx4ReSI26A{W;|}*JsfoL-@EPwymw1m4z^6`}UJq!U>$VDX`Ts+@PL*;a=^LxCKM;owxclW`?g#yEGOc2I zgY6tA-iSn;2hO^(`^h)sJ--+0TuAbH(}#22m3t4if8fX2kNcAKN1QL@(S`|M@WZ{f`z?|EpHT$nQi&P6D6YJF=bKI!P~s&v~&flKHcAm-{f_@b^tQsb8&T{%gz3y6EKKe3o|%oOk-gCyX83W=^GdB00!?vbmVQW zPk!~Ktf%$m$y-d%FzGa*oOebbpV&F$JW=A>rgoUIrcSEJ0T-x4j4Mbn5yF`DC8* zUQhgjnESw?6O(|?J938nuoI{TJXD)F;@cyi{(56d(8aF?&qwWjo8N%$J*t-ibh%$i z137wW48O;Ajji%!C|4h^&wD(1SM(bB{R&AH%7I-ZU~sOhtG<1Kbd~FBZl-Te$aaK1 z56cz1B=WCH`yO&-onU_j_ITdp%(Sl&zn5H>{lwFFuPXivV!&_LY0LXwC)-qWuNb~( z_D2ow z4?gi@L;def&cO1-uA1las&umCnpic!2j zb_y0W{olAX$Fan3<9&)-qZhwd{s)q-XSb&Pk*b%0`DJ}g3OTUvfqe0|kPCR=SITeQ z-qa`g?tGxDEmJw}tzIn(fZuuZ%GfjXdBgVhyXGQY&wN?{{8sv7v`?^GXDbYTKk{#W zkDA_)f=o3H?bIzoa+NU-scc zyw`M+<|N&1laX|_ZK|PP%V79N*5ZE0(Wy#8j@+x#UP86(@D_4(@hqQ#Zs*xWx=xet z6#JoeIhN~QY(}~t7svgJ+)La;zTjPp(=+=(@LQcr6@(nI7vuP_DpkKk`Das@avFXR z2|oQYX0)<(*(M(8V9VS+_zhIB)c^wh2Lp{Rheo z?60iFt0~8h?SBPyZ{l5+C+|6#Uq^3ZyNKO!D##DsxjU`O?!$M>xd!)zUW4V-1D5zb zfE;;`^a1$ge?bD2tLD#N2Y!7mY8#+8s{r-6x90PQ;Pw zne|ro2jG|YH17ZdKS^Rgc?x(CXU3^^ZwK;=T>$y*!im{m;-81(CWr&BB8qc;5kL0a z7f5_m>K%9I`|Xt1_cOMO{J-KpDTuq}Jj>5@-pzA}`wf*f*+G=22HY4$nC%7mmDnRg zj`SDXQ})I8kna5U(v-8eH`g(%-xTf_<-CFQv*Vhu9|Auj`gGxOkRx%L*^f%%WI#^* z{n01iQGfdX{>X7I@y*#@;(y^K_|*Lo3y@#@G+zPkWG`vTjXAa&xXklgfD&KB^kc^h z9G~(&cmwjOQwwi0-}}^Ny^{Ygz~%n~^Qp7;&l8Pg2f^Z`i)h=)226_dCqu{#MsKw3_MRapC;kc_Q)Z!c!Myd&qeZ$EW_HGTTl3nQ%O)RC$=+I<}SL()mm8Mt-Z^P}b8q z@sIhQAYPUH-$A-7=Wr-b4a#{Cc;J6tKgn$7*N=O-ACb5KGr@;=Ie>cE7>*CC$_bX^ z<;c zo@RXjtf!y)f{y+mJsf{XpH0F4AJ$*rYyjOI`s6U6 z^>tgegHHY9BH;Rm>(mRud6T*`eFfBn#!O!?o&@4>w}^M~)n>|TGeADm9d z7n1&AhGP+spSk)zK&M~bMWDkz4Y+RmnB&Wvy3f!h4io715ufA4_fxJXf6|YmK^J{^ z1u#CIT)#(@6P!=j-JLt&cXrRAezea$ehhwp%#eV_Y0sb67mv}p8kl(I%#pwUEU$EW99~J4k z;!>6y*p15fQ-0vrM&g{EfgC5@MWYY9*O?D_@%|@wY}-%ybJDS&RLf>9h*#*y^8A!5 zs9%CO^;WyGH<2!O8Brkt{;cU7=U%=F9ACkGr@QVQ$AQGT<@i;(%3lY+Gh+8-<`1`X zVD}{PX!w6c#;57WqlfR2um7Z{gwY>f26WQ>%YKl!5Nuy3c$e6>>IOoN|LZ2{;%6Cr@~-GUpuhSV z$DO^U66JV{8*)9DcOBf1=!P$!fzP_TJ1zHRshjNu9>o2&4mUCXA4`;ZLi&?5+<#kN zr!o9LtT5mC%Q+*r-WKjR1Ak0-p8&ab&++^}fj9^u!9Dv^vu|v?h5K3Y$DRrMG?_=_ zb4IQCl=V5=ivJ_rF)O)W*L}XuO?vp9nCK^dr!G~^(5uhp|5T@Smb0j@-@GH~dg);9 z1O1Ez*su2GFU2LC=(4Xid?jNtAYC1}FpTo&7UlmjJNGWOpV$qo2VLSslkUtt^D+YX zuRBhXKf#D3$nVTZdJ%LvA38)B_V+CD>bVY!{C?!$mBRGb2YV?%_i88hyT4?{ zTHsEFZR`)PWZ&n&?{;B(-0p$h$th{Dj$Y;rU0lrV{cy@#Y%KJ6`AJJhy);dM4U7+KCE%^Ll z#V7~yIYGBmUpD;jPO_dVL)MX?Yb%a)ocBZsu13uL3o!UD@%wO!eBpTOaz19(qu1?O z4;3?R2=lc(v;}-lC3gYy9~rt2PYQgQH#5ejcb?^9-;aD^w@G~{{;sb8_foE+K8Kw=MQU& z1@3cSAons)N&jv&&taU+4If89eyOdA!RIAv&2r%1vl{YAynFIDe32UIvhO|*erMrc zhwycK))#(_fUC9t@H_kgi4%ce{L^zjTC+xQeUtc&)JtyKM;vEP_d=wLpDLCkenYQ9 zj@PZhYe4;P0ggM_UsJyX_PtJ;jr&62+m<{Qe9{lBuadaspu1i3vp)LA9`BHDryhO^ z^x%J=*x_)VivRr!piBI_nc!0$o<9SGe?rjhrs?;PUZ<;BZ)Y5s54!4qpY0sPAw%3? z(B=KZWv0vhF!Fi1GZ=b!zaN}Kh<)pS;PWaUWPP!|fXOzTo zM?R;;CsPUKe*s~asvLKA{VAOPV%NC?^5AC*=_*J2j(~x`RbA)9N6hzeck&1EmSLYs z`m=oJ0o^qf&PE`=#GwZc|2}}K+o{=rUiSX%Z@r}`<>==bxF7TGy<$DZKg%)lNu0h2 z;Sc7A+yhY02YwG_KYAT}Zq@4>!KV)Gnh3V+B z&ppb0OuWCzhBfYhZjTzuac4!2H|uuBBp{qO2p${D}hE6lT_|a$jx2;w)f83Xx54yt_W;{Ns$MGoV0qhs2a$g^OUY%9f2`9~AKUg~( z90u+*x@h>$^jHpDRUEM{1lYIzuf&(HUkRw&w}}EB`!C?ZyFforRkoA5nTzvD{9d00 zpTue7_u0d)kgg*#Zv;K?|7kUD&vnonewyW41^?kV)?xcC_Fg!yi#6!>Q^<+;4-$^=ApR6DL!R72asMiE-vh_{ z6Ra0@+v>Tw?u?vHy{@k%<-L-B{y5L)y^bc%u=}SQ2l;AQpJL#*_Z~9$DqHuPecp@a zyhoDvL6j%;N(esp(E{F&c!k;Gg8yQc+u)=Bz%TxzNw@P( zX8TB7Lh1>5-*JrT@26}*ezEg4{U?6zL3c;iWIq4eT#gH|6PZE2aQsS@?Zp+~L0oUA z-)N2tox3Od2kRo_h&>1Am9>5)*H35LhlcO?9O`4dbAcTBpTzqkFJr?f%ANNM*GGv* z&ie+jJGl?K-|yd-fWdn(#7O{-dkK7Z5a$Z<6hL=BO8S=R`twH-z|&{tzDaHSelKwN z_XC7K66Du;YjM0g?FOW%Cb&~=V=VH^x#}xG@fXQ`i@ZxrKz{LG3Fu6WeG55W!>R1o zz<-%rcLv9!yh}Fa_P@`5@ILsD^VEHMmAI3kmVx%UcdXAV=QYZ+PM2pn)}eF>Q6I54 zInH`S?0pBQW?kdBg53o1*_+7k-)%$rxbKdDoFX;2Pqa$6;C%DGjpq6g_z4UA+Q@px zbt!1Sct4p3svM;JP6s)U-8{?KkM5uv>p-`5b!2-xOYXizdFsPX93PhWe?z(#(eo+j za({IcxcGrE`^3Aw9)qqkBpw48_@|Nc9*!Tx`)0oIIgFpPG37hs{$ankiBjHzJa_qg zqu)=Te7WIIyzMH0!aP10%m3 zQI6khpWYe?T+ZFu&Z_wW&f8%B<_zB#hjclI<2V;P#oHl4y$++Ff$k(2!S=BImTVun z$1wZV!DpT`U+#Pt!7ui0c)s(KpkJdS%@_DJ^*ea>}E;w>2cC-H2- zZ>RWQ2vB9dHxzt&`hQD+OFV#8fKG+;YeBaw4fsFq?lM}6<9+mf;}$do3o^I_4J1gA z-av2(?l8E!`(VL>yASRb+-KwNu7kU~pL(ADHus!;PgefFdtV&M%E~8IU0u7Sy1J*k zWRr%ocUU1xe=~`k+96mt?}z#YQ63L z{`Ooct>rejrn8>kK=u9)B%SZw2QAlD#Oiv!ZPWf%S&l|d&cBodbi%vae<^_^;?)N9F-1i?Pow@#k zqG?ZcOO^+h+|YW^{GQSB=Dv6K%wPLP(z)Ygy6q%==OgIxG4+<-PtCk+T3)SD_g+hS z)6T=GC){!Dw^i2oz>VYjcirEwrX91^^PaT1^f;OJh-BHm z|LE~|#}oH;Y-Ly_lN#?o)=tZZ8E5INu4lf3N%~;vhtBrUp2|+0Z>%maaa;eM)JGCF;}L58Yp&z# zvYvf;jn+qj4~L&fSo-5ixh3yF%*Y61G1r z(Qldjc8=lpM;wp-Gh`A?6F z=KYFpw>$r}ujIk^lCSjR(B;F%=`yzB4nv%6e|ObiYfR@d2FrC0*QevfLg2SjKA% zF=2Onbs3LC|1RS$+iAb7mF4!7dQLq&bC#CRK&*Do-#Hyy&%1f9o+ay9`Mhl9_Q4-WB@227Jl&da)jM zx-NguvoyQb4_58l`rKvOZR!2Wmt>D#Z>AlLmU9`;PSX2K`!0Fz@$S8?*O`oWuiNK& z{YVTe|JV?PfVHOFGYlO?v!&j1O%w52ib>cko6U=f3bu`U{di7>K0X z>wmfFZKw&m^M0E5rFwqM^PtvWGM=ZT4@}CU*M;AV!}>p@4@T5_$b8?^^AKQu2h)%3 zu%@fKTFbe)KK1Weod+zH{7ionC;vgwo$GkYk$n>hU-8DlC_Lt!kh2{^4&?(Wysz_TQ`d z->azgjO>SmO*S|&UXFgJ7l@c6C&x&xV+AGH>t8;!sh*(>aDR)>r3B_0`nx^+Ppbb zmz(~4Atvbdn=s$^=SaLej)U~0lW=gr#)G1-Vvb>==@+5fVcw4{lkm6k`AoYW344q8 z->UJaqG~;CZGLt~!(*rDeZtH)>Rb=zy@#f^Pwy1nc~ngM>J=d-9PAZ6RP^sjuvwPd zC10$QaA4ObeSWqQPMIt5?!5IfKdXd&F_P+bnf}>lB)!{@$ZC?UuPpcH?7v3h&HG(F zUotO>hRuBQqRh)7>CAi_di>4!=X#z^`(oX0&(Cd7NIJKlg_KuG?_>Tk(_T}z+gJYi zafuH;PrX*soBkKK#c$(s{8sgjgw1=Cpt?5MBJtZeDfB_`7__w`>((4-3PM1ooT{&&F|!u=OGeq zzgw?sYyZTO5^v^lx+U@Q{44tU@1CzN{-W1+pjhvn8ZLiwml(`^OHY`-N4zZWO(~?7N9IZ014U7;4gcu65S!uzK%y^1l|;@^5{9;>0(Nd_eN^wS1t* z$6q$-2MK!zHrL}U@1-@LsFmMKytS{dUZ>u6XKzcq89(){#DDwy%m)@MSo@{K%eXqC zug)$_Zzs#Cf7cgu#-lOqq@CkmuduT{$G2&D@J0T4kL2$;)Jw~aJCC*09};h#-<*7t z#n>bHTPMD1y=vz9)blOxOC_CYcXC~p2TEks-`l2tj@B3Md}-#pwtoM0+jF}8*UUVB zUu8YhE?wV?xZ@(&Ki1RV`N5=PG=H~WyS;Zzq{8xd%==OKyKehAGw+wC_nY=Mx*e-xclIOY3Eh70o_AUE34(K7ZR5FN;Q7+3XS(osHNL) z%EJwf=ewxP6D47DJ?MSIrXQbtSCDw0Y44;~ZZb_<-VxlCY|<(?)_7KZ)o`US<6Bteg3OK(aM@kuY0>fH{DKOu6%mlWxiKQ zZ!O!e=f%pA+Nr-xe@BTo$&A1L4Z`vUpllWl$N&(Scc=?DJC>B+Z zt7)gaRl?uCvn}YiKSY*aIIu_4GtaZH(lOl*Gmgb^S#H<8=PVzUYqW%YwL^5fzm3Cj z@a7p=-;4{eTXespoB2l1O4vTX{*=ad+_6ZM{&}Kzaxy({ZofcZiIjh8dNclzrZ??V zLQFdMJ(7R@2z_p{GM9WQ@n)QUr=CsNK>xlwPn&1q5Y0c3?cF6w=c)demTS9eOg&Ea zly$mYR@$K6cWpDCk)#VWZ={;}aX#pJ-7{&u(G3c*80KD^;nOaCst3r zF1(*_>v56qZj#=8uW#D7=yh%8L3QF|_0)0@Jk;{I{9U_rIejh(czfN^^>WuZF9s5y zb@p>tX1%VwgGXt3H2r?{IDczjzNqsR$;V2P#(6G@Gex&k=Jk+xcU*t-Ui6{l>#Ny& zsiyBV*g0Q)7U}+)=N{c2)80_yy(tIjc3X{8Uy${zc)fHxgE{?rKd^en4oE(3{{(-{ zYEJs0ziPesZM?V}xi#LKXS^OqPxMm}<@w2*Ve&o6H?aQK&ze8;#F*dDpCoLa&zEzobqJ)c}TpSWuUHa4eY1+`q$sMsqycs zX?Zs7V)VS2cJ$Bm?^gV(=hfUVbU%adb2{~Jk8+yM%%7wA1UjzJaudAKL+`(V1*4sE z6?u>Dudl`)-7a??SMzuDdNA*moaYiV9=&eI6tBjcc{a{S*q1V^#(Ng#yrJ6@dAF7a z5959MM?Tl|?sr$uplwb$Trpj@&%eFdDp}98J8}MA&lXzWoAz9~AHmvvRMXDI@$)3T zZe+e*SZa3pkd$xz@ zaqwlfPwRFy_~@LEXLYnbvRkHFEAi&{m6mt6pKXBWufWJ>dfnS225bFcefby&HR(O& zwmIqheAexA=RXfj$`oFo&kJ}SNjkUxt^Y_dE&t~I$1RCB`=|9+a79q}*Pl7sUX4#v z?7XhWb!Xa@UXgI%PK4bdMlppZDDUvZg)48A%_!c6EoO`}VyxZcfct z+L6oh!24l0)s*RjqSP0n`Mu=aj|%L=fgV?j zaqZ-Hm&BX*9Zvlj;XBRWvaacNy5mTBj}F)J?;Ch^m!_YT<#MQ5&&+EZl&~r1JJqex zrc1okqZ0PTU%5~8o9B3m_k8zglZ4GYF7&!P~wP>wdF;tdIe+<$4q@SKY z-?%>yXn1Q}XFJ?>)rVT@-~ViJX7{nfN%m9UvVL+=~rJ6@=S z&3IwgL^ICoQBA+>*x#yo|EHSYiJ`KdnHNLDsh#p}{~FM8=50FVw#3VLJF1yaRkXg} z@R#U+Jwlh;?s(w^<7m0Irzac}YL?5m8j{Wv?%`PpoA$I$J!RU*O1#CmgZ6|5%Oxzo zOEsSNzE+}EgLS<>hUxJLc6q7g&{{I;kfaMP`%aI8)bEl`o|7cr6Z?wpzwhIg3li^3 z9YNQ#&HEr{`L>4=Z{2&-M8Z~sn9oG>oTBB+^sCeDGtXI?zda$QrVp6+Sh^nV$!yQd zs}lCS-nw1%?W!B2wJX9J5i1IKTWwo zmz(dLvOKW7oO8WxNqI!$`JLd_H`d@vdL6p=7x#ONJ+sAZS>IpxsU8RWSa&U_<~_U~ zN9jkT`SX6j?f+u>cj$6EMkOuB-hz#9NIG+$Jg(^{*9;An?K1NuNZ5`xO0NSe-YsW8 z!=HaD@!#GfW+^jO(_OB!S2X>NoO0UNJ4wR6F7=)3zCc$e|6;x8gv$DduWEWb!qEki zE->M$rZeNY>-lxZ(J}MC-;?y_z3LN9$M0El|JLJX#Vn-H3uZhaEq|t+%o#}^h#&G% z(?_ZORKoH-L^R_VKazO!zW9d5N1S(8pn|k$_q?i7I67T*VH{*Zm?+*FhEAeJL zdaduJpP;07=b?As1DJkJnm#x;jqZ>1*V6Usw9(^c+SSdI^?d%&pvLFuH$)614<45I zfSE^9!uEIdcS_jIQ>68Te3#SsW2rYvyk&leh|*tK;;pJv0~%lSpx)O_JEH{>Z#Ryi z>HXJQ>hpmaw?NC686R%9q<6mynBOJWB`o8z$$D1(-zQ7h9e>N0uc_Yu?16udmw30G zy|uoC#s@xxER^*E?Z@wt<=@^P?JJ@8Bmek1dOl2l7U#as_+j>)icb8h#CjduM??2Y zKJGYl<~^Zv{ND83C-J^2<93U7=mITAW_+KO8XvCrR9&x9>Mf$xH`R;~N$=%<$JN{S$O4+#xoC)+s-_=y7UoQ z9>|dItt>bFtMxu&#^2i@@xdfb-%Gsp%ca*6c7Nx78$Y|tCw(vaZ9E|}UxcK0`&$Pa z9o4_C}tZ$WHto@zL_G*1-?mtesirjCWtmlidA^A>8_x+X^5)O<{m|C9qJn{Ew z`SSgEa*D<`NxoUM?@miC=}mjHcN*V(lhf|)%Yn-hHsi2s{bmpRVW)(HvwG=wN^A2p z-A=1Zq?a0>HHKby?mXgde_bo~gbb2@;E#U#TpO72MURvHV9*;`&p$oUqY$GfLJK`# zp6tIT()7%8XSbcC?G^*Aj(wGMW?X(fUcoU{^!x-o1)P3Xm0qY;x>TPu-Hj|-pP6x; z?n&5;GxS+B?Vq%rXu!O0(sUgQXgg9n#wM+&z3p3um*Zu=&uiGc&(n5lW_~?wC+WY@ z*V&I(vu?`zZhtj1ACH!k!0ZK1JJexiwZE9@2chjgr9Vfgq|g4lwjXroyL8(VdoF&b z=fS*Z-ze$K_XI7MR{kkYJ$AW)ZkH$b3M~irxV*{aI9ZEh=ysX$zb?pn(r!Z6PnJ>l z-{1OsXP%DMaWtLzKCJbN>F2w~N!RD2XvT?r7-9@`>XuaYKiE5pj@uyb=X80JAzB}s z`S8waID9LuKdhpUb^pw`KYIK9u~R_a@z!UG~>AJyk??>O1FqIrIIP@h0^A`jgtu zd0M|o$GZshpYDv4vTR2bS~812=yn~itJj04 z-6cKm?mT+_K8N#3dSB-8x<7&L3$?xtmWrt5)Ql_jR`%DErwEj?NF6UGF#oq-C4bXi%DFC>&(H2wK##lWm#+1{>Cbsw*0)FG zO)2R;Uqkh}3YPKd?|sjJLRuc=JEiQ8_uXebztX=@(g)%WOsJ-7s(;5^2ioq!ZO`pZ z9QCKdCY@<-?2&Z#mpmafhq>8&ykKFId@a#qs)_vP8SN5l7qZq;?pyto1MSz7tGdWu4^XA8||bwFeZ``ZJK@h}M(7Ki@j_|Av&> zPthAX|2x?(Gf$M${(A6=>5{LfMEiZBdEYu!@-yS9U6OF{V8Jb-nV)&J=pR(qX$Q`{ z_GX+vJGG`c<3_h$x6*tFX`A1e7rilX(kFX!nY682x2ZL9ks{ttWyD4_}x3yo}Etc=&jUhNI=ZEbF=Bqj~DRz9sSQ z`(?AgTF;yL`PNFj+m1IdIpSVj?{rQrKjyf-m*u9N&|Qg_dGjRfuaLyq{~@O|pWv`Z zT5p)=`Ny(6@c!C5)%0T#y~m?zc{B6L>hrF&OV)DNsrNluF719pjJ{Dr_59ftx@!Gq z?&DG9ya&=0aN56*i2qK~TZ^;kbBjAZr`zAxynoU9!aQ#}?Spa^*6UCDb4mWe_67C4 zy5En2?KApsHwfvg#gS33R<8=CO zZa=B(H419EaIatUJ!YH4oA0{;$=`g}^h?@+@F6vzgW{9{z1>1d2e`3!r$h7NqbGN&%oHndVjXV zO>mCy{Yar9CY|Yztoa8``ydIM_Sag^d8dES_2hS`m#8*m=w@ zT|PdY)@$zkPQH>`^nAPh2i^A@zIK_1$$Ei(<#l__I3jvp-FXUR93aWhjK^?S)3sQj z*NOX{(99z_R+jr$+|}b~e!tDtaJqO}j=ag|t(Eo6xWHNuoAKWlOV~euiKaK-D~?P0 zK%04YB;L#)b3-)kv;CqOH*&t{Ewu28_-%aOnOizZ*zP_{>kIRIeNNMFojg?It7g{U zNv2<g9Bk)tx6CmqnbV;U4#O zJ%5vft3u3rfd|%3(Tu-&N4ekS0|$mU@fkC`m*wX9O!EmYTd(z+wY^9% z#KfC=>V|0AkzP~zzH9oc-IB1?#;f&{)pP2?Pzm4o>!!wg^E%h*k101vd@yGztyj$Z z9X+q6z11#>_uZYoOVWFvEq$fw%=ZYoA;9EBy86!rTTw+r}^8>E^GZ_`thHZ<)(hn{5|IVyo5c=lIe2$ z;K-K}Htng;iZZ^jT4cto5Q%TpeXWGe_zAZ~pVfZ1F8`%^Z!!36_9K;keQvu!@9^9Y zHQk~^S}r`#PU`h(=0QCkBKb}0tLxcIj;xb(o*{iMYW$P#y8mu_7`sHi`x0;ZVQYQs z_K!5rjZY=s!}tpJrm9CJAFJ9g<0anm=Di`|;2*wsqO`{lJ-4F25#90U1B)8#^OZNg zUyrkSAAci6(q(ENUXHKdzM;?4GOx9)XGN^`QP=Mr)4AWR%;7wrB`OwM(o4TLJuf|r z>i$_Ryt>>IqnT>Pd(z`*=A(Wg`Pk|9=<&DH*U|lx`c3|RpweTf95kqYQPKs!u6!r) zR{o-@nU_G@vswiUH<9Imjw3(Ia?`%rDKC-6Y5u-(Ids3RXp=r`K4yNU!jdk%Lfvg|MbyN4xH#dvsV?B%ZM&iHCBTf5ayTs^-l8>}&lKr(u*4?l9$Ecy( zVcLn_lCb}2Tz#JPOfCCZ@(E^Zy;}^_*`d#gp33=NNZ9_|aGWl;2kGw-GvBdpx3rJb z^fL=;diQ&r`##^7=bm%i53hJ7>8vM%_4lVY+0V}LS$R#5m&|9c+i9LJMJwmu&i%Z` z_s;cV_DAB)yyE&CYkv1=ywz%`^E=JVPgK|}cgvkO;{g3TZvQs>U4e=6_f7j5J#MCd zjFZpO3wj;+I-PWWe|c#A62lq<;Wqs|AIW=S3ESy+E)-?_XGv%FPoGch3{y@>*u1aQ`&*!3l;@I8=JSwvYe2Q0 zYTw7tG(PRVy%P4tPveuYdH>?Xo9{gmZ+~gy9ET0b^g8qPN~PN&7M;}V++Lqu z)7e+M>iy9Dt|s-hrsw^=ZTiKBN`Bn0&F|1-nh)b6SaCegeg?a*mUJ?{yBOSDNyFC3 z80VdHMmyf@J8G~@D(lCYWQXRB!X!=4N=Nc&DrS7+`H z30q&IEY$G%68j_^xR-3Fgxz*5(r;11rrhdzwkM97BkAnAf9r7!j%%|~!e+q#`I1iF z+lt;LA$q>ef?cxQeGmF=ob@`{7fU+Re&5L_Wlt@arvHc@Ur+kFFJ-;Jh!wg#Ff86u zNgrt3MC)H`bsepD{GB)I{m%Vf?~gO>xuo;0>FwNqOXRyC`I!0Loco2_zx`sZ0}}7c zk?E4AKbhm9hSRp6CSjTXLBj61ZRR;e_s7gzs`1`D@7G8={~y`I>-FE+WoX&|L$LDbv;kTEqb3e z<5HiH?eKl*_F9&k=Og|5?sM+9ajK86)#Gg1c|DW#raWqT`Hm=I)9?O{X!;d9<;8ve zuFzGFpF6*j{Qi}6avXI%o;S^Rv#Ywk^;z=^jz8`k*Scf%eTlSJlI8wKAN9I3{cX9~VYSu0Zn|ke}=#D=w^L}dl{AF4m zzSU1vs_5T0?X|W3@J{YU!PCxHS@%?_#2L^`?f+xB*KfY?uBiR5k4{#Xy(S8$>hilV11IKSJXluimEVUOV#+ zyY0oyeSfROoAz4QborAky1mlwM8ekVQawb|-r}wp%v^j`sL_s)M(Zi_{$J}Qv;WR< zIGN*+EH~}hb^q+n2~SAax4q9w(QU60cs}Z?gk?T~5Ls^KFBZM=y6E<}-+!h3q%Pl< zbfy^CTXamQ(b|2>+5e`;mT35Ryi=kX&)nG#>J`(jSMO7190ENare4`2>15oS5Xt9k zuZf}^JI7KDNBgYj+wOJCsZW?6)%2UYBI}v?x^;caj4LT&&+#UgWj!-*#u*7)m$n@g z?ci@4G)(_RnXgsSnfF?{pVqu0b0z$(9SZG^?EQ^jYC766nD$A|^>C<;md`-Ir}t^! zFX{FA514V!B)u8`Ld&B)Z||#630Hrs=f~^se?-E*CRLs5jQ$A$#(A_uD`@><-q)Rx ze59Sbqz}eDqxDE&R@6fpKW2%u-xELGmgUy!-kQ$7{=%u3GC#a7@n#-{ZK9b^M&sRa zTBKdS#$OA46(Y+|jnnh$iLi2$uGcQJ))%H9*9lo}|KZp2V%{5R*exG{+Gq4U`}*Yf zYkrJ#Z02*=#0T5Fdn$VJCfg$UNxKM5pJ>@S3A^*0OaDiSm+w?!;HP$bWw}+S z#6dC8X6|Q+H~rsrzk($uY}at?cu&OOyXQAWcU~noy}ZW^k@)C+w49lKDX%4+-J+KI zZ5*+ZN%i?TFf08%S?;!*mUgC^Z^?{$K7)x09+3RZyptO5W4>GS-CfIvcgotwlHQ$f z%389#s-*YyYw4Wd4=MC{*^CFJ+iS-lEWacrPB4IP`_usOfeKC!mcf0wx z<(f~K-Fn>zsvSHcVT<-~R;ywyb@}kNJ4GMk)dm0VrukSODlU`w;MY=HLXClT+w^=` z^VSZMuo;hRzMA`?bDsK#_e*;7y?U+0dxjO(S zd7$IXYm(kK=JId}n|3)`k9oJ`)pBd*UtF#E9RCoi=_d@?E9nC_o9W-TpYGP@05h(e zmaD**1IuK&eBaXbn8(i={CTN_t%mjVdU5B;@vb@ToR^tro$@m;scxS&>!#KR=6BB% z&4+gS)`%82HJ>8kKWluS%KBVlo)6wg*t6xQ*P?$x{^z1EYy20YsZX7Jo>kSbX}96r zACt~?>i^WKbpPxs2Tw}+VBs3iLycDTaeANg#ji14^Lf!luMe-={v~}Cr+%8g`-P;J z`J*JAUF+>*(TsokNaD?NptE0De${#-*uL&Fi4UHb;B0^VNp~b{_o;MG<4aG}c+(E{ zi-cv|CDDI2t9}o)cAe9({C?2%^XF=M&w%kx{W9&hW4d0Gdd_z~w_iid53`+o27C;W ze0>9tif(%w&kv)V^zQGl;zPB3dom@}c<-+GdOf?}y@QvU=<)XL`*W`5`?$_p$A!MW(wlMabbq~3-)g+H&yjf3epAcyw{b~AZ)iPduT7}ezZuW< zuBJPe?6l^y{`%$+vz{5Z(kV}jpKT@0UPR-gw7DYb~flfRXCYkO+vKHYfhJ&E^UUZU5n^}g6yU0!a7-VcJ0gRdnl6>+ zeI+6+m3V7PSKTi6_mG+2S?jHD^TRW*vHi7&)(h_Yb>GkqJ7j&|*p;*7@A^9Ra_(<& zb57Ry7C9G7yuJ6%ISJb{x{npj_mO#`JD;AJ7u7i~1MWG$!;YlX`;&L;G`-)Mc6<9J zz04ySBAWKJqRh`F@t&*IH%Qo@zOvRgX1=fM67Q>~=K8zpRI zI(Sz!{X_J+lIL0tr#*T@l=obrlJ3uGQ#HPW|B~oCUU7`Z=b2tc4Bi^2<=i@2Zk2?6 zB^ysy_v{=k+9yluewpK>`OEiMiI;JfG+l>AyFw(qp@`nkeVHd|{=U_l^!Qo#&bQQj z%13k7Ym$74u5ZSwX7!?QyQ#CLf%9m@m%s z&(`B$<`>cRtw-xG%lg*%qyu#Qh6#21?8bYwUYBvWB;IR&S4g_xfb$w}#@Rn5@$R^j zf$xf6ljYLxKn$31J2l*Ro33ZA&00s(|MXFpyX|_+dm6pY{Tq%wlJurOx7Oc*5qWlK zK3nU&5`%f$zZ7MB6VWcT=#7TgHq!dr{9f1d7+m-Aoy1$YYifL;!Nj$pCg`mjS?`ZB zo{KCG=ALm|;{CDqYP=a2O8<`Mcb}GPxBZbdb)K{R4Hhnz^yWLQ?!TQeyY8>2+y286 zZ`z;hewqG&rzL+YZ{-7`Z%qb04yHfbMF|H&I_U8>^Cf8g>8V#*uV;J4-@2a6->T_e zmD0cKo4#B3D=_=;5s7#E&)Cs!JMpGnx5T^i0J!5o`nGh__04mQ9$#yp&-puy>tp7z z)4wDABxQXWPeqjX(V`hwOSdmrE}XMpv?n+1X*In$4w|2glcImW;4VEsGLM3UO}l{m zqTm066VB8~kDISam3x~1_EDPNcj$ngC(n?KPJGPV8gIsDaL(&_?|Dh@X%SiDzqQjI z*iNr=U(%<}-(@^W-|=!Zgh8)szBIEmO_>Wv?M7z*cC*5DYoa0=2rd}7{ z#wRuHM>YM17dcOy4RylH2!MGS6Ar{%)>bX~8% z;Eb4hf47qlS}4n{4Jqc!dUn<^0X0geNfIAud1{`7{ic78Xr-rzKzO;enf?%#SPSgWJ06-!tzyf*Mc%FmK9(nr~qF`$xK7_p|dPeIRlY zJx=!MR1YQo+q~>Kqv~;&@eDMd?`G(I*{#1#x@Qvaxs&sbXzk0S=fR%W{)L9kxU%B6 zaUy1~xG!PpZyO@0X_V%v2zn0#AtoyS*NZ8XX-i{FQ&efY@;L*G<5^v4xrq`M2KcVr# z?$I>fUew099%k1#r|E+gUQ7Dmz$97^dgI1-&c7LFRP$MMNRPkWKCfTH`!YG{TZ~>M z>-+l7TrJw2j!%^3zDPaxOW2H`a$F3qPN2)p{9Jn8r9Ym;`>G_@`p8#fua!aWrY1sFr2^HUHT9-$*7TYlIIUURR7tJ`uwC zpGMIX-dW*Q_dlcE|M}m_|NM9)(*2I>DfI1l2dhKrF{IS$0Kkg_W#w#&9(5b#84nYTU75<2H@zx9L=}O{2!$%v=EN>bL3GyltCe^&56-+retqwj)cN9NM&P z)YwV+|Afod@7U4Jzg^po%{!UZ-EhZ-^;h1cQ>6= zt6QcPcmDZ**LN9oK{%%x|L^L3C%t<=pn9_+n0j9F{Lkw@-*-P~mY%E5{lUrK%&zDD z&;Jrj{2ua${Nd{S^*ng|$^W>OP1<&7{NJCkCe1r^>{QO2G}5=}+`2*I4&|Fjl$;Uw zxO-S0mau=}^8F`|u>2?<$8&fdFX9!viq|lRyZbhsC4cYV z+()|ocmNOKVLXaw@GPFki+Bky;}vW*EbVyNo`177>DpjhY>%C>3wFis*aLf_FO2;N z55R#q2>-;vxU$UYA+p_JT}AxgxE9ypX54~XaXSVu6nElo+=F}Z5FW-Ocnpu@2|S6X zaO>BOy=6cCt8OFxcHD(~a3Ai+BX|^#;R!s2r|}G)#dCNbFX3gpf>-exUdJ1F6F)z) zI>`S1SN%eI>#?(5I1G;wFcL<_7#I^{VQh?paWNjo#{`%V6JcUZffzQWh| z2H)a){D2?v6Mn`o_!X_H&haYQ{(4P0ZecA=d>Jf<6|gc^!KzpdYhoR&hhD6Y4X`0L z!p7JXn_+Wofi1BWw#GKt7TaNa?0_Ay6L!Wf*cH2BckF>Z@k@qW<>fer^(*mKMrU~> zjEqq+2FAkJ7zg8Gd`yH%@JCFF$uK#lKo6$GRG1pmU|LLv=`jOl#7y`TX2vX-6|-S> z%z-~+PRxbB;IUrqi^y?xJx=%pp24$t2`}RnyoT5D2HwP5co!ewBYccc@F_mS=lB9& z;wyZOZ}2U?!}s_BKjJ6+j9>68TD_g)6Ar^;1dNE0F$zY-I76o9mg5`Nc*G~bg!m&S zMGvOLRG1pmVmeHZ8Sp2}g4r-T=D?pZC+5Om@K?-@c`z^L!{0DJ7Qlj72yG0(!dL{0 z;_p}ti(^SFg{3jZ_~k#z@%}esk}ej;#UC&MCc?y+6q8|cOo1LuiK#F(rp5G_0W)GI z{0TE-7R-v-FgxbJpD`!q!e8)L%#C?4FXqGFFn<^e5H5&?(8drfj79Ly(IqM5y!@N@ zNOvC};3Is3Pw_dv!q@l~-{D96grD&Xensn;vz_5EJVwOG7zLwZG>nch@H>o&u`o8q z!MGR?zsLCa117+Pmct3?}VMP3wFmI z*b{qWU-V&r9DoCH5dMina3~JL;rJJhz>zo#N8?x=hvRVqPQ*z#8K>ejoQ^YaCeA`X z&c-=77w6%8T!0I45iY@{xD1!$3S5b+a5Z+F);Nls&u-WY`(QsDfCF(54#i85)v*TF#6FJ?JdyM4+Ly2o2jfs2hQt5Ck;IR}(Kr^z;dq>Y zlW;Ol!KpY6r{fHqiL=m;vvCg2#d$a%7vRD$E+V`bm*7%dhRbm!uEN#$H?G08xDMCj z2Hc37a5HYft+)-hV*o>OC+@=CxCi&*K0J`V_6;cq|K>r`9mXSg0#D&-JcDQP9A3bS zcnPoIRlJ5lyn#3I7T(4?co*;CeSClq@ew}8C-@Yf;R}3;ukba#!MFGh-{S}Th@bE? ze!;J3WpK_%I1G;wFd|06$QT8qVl<47G4MN#iLo#?#=*EayyN*ZQa=98zeqO%N8%_P zjbm{fPQ*z#8K;DC8sX_U6KA0x=ipqNhx2g(F2qH+7?sJn zOoM4L9j3<&m=QDKPna3AU{=hA*)a$Hj5#qE{(`?^Zp?#uF(3Yh`LO^N#6oCe2o}a7 zSQLN9VptqYU`Z^6rLjyH%Mvb!<#EF2v0J5FxlSTH9cSQ7oP~azjdO4=&cpe*02kq6 zTpGsZgjeBeT!U+I9j?a>xDhwuX54~XaT{*O9T>n++=;tzH}1i`xDWT^0X&F@@Gu_1 zqj(ID;|V;8r|}G)#dCNbFW^PIgqQIOUd3x+yiWKA-o#sY8}Hyu^18z>T;GH{%xEira8I1~3$N{fF)${XRU1hwv~S!J~K#kK+kEiKp;1 zp24$t4$tESyoi^=c$x4Oyo%Q_h}ZE3-o#sY8}Hyj(`y{5@sm-X^xcBux27Y3+BL_m zU`?!rwXqJ?#d=sD8(>3hgpIKYHpS-H0$XA$Y>jQOEw;lB*bzHnXY7Jqu^V>B9@rCm zVQ=hsWC04!}OQ|Gh!zE z2{U6B%!=7CJLbTgmSI818ZU}tc`WB9-1+@^t{%`2G|fAVPkB9&9FJPz?RqwTVoq+i|w#I zcEFBd>`b@|cExVk9eZF;?1jCt5Bjhl_QwI(%bRGZl=HCmCcY2$MIR2pK{yzP;7}Zf z!|^X1fg^Dgj>a)K7RTXuoPZN?5>CdcI2~u;Oq_+YaSkrPg}5k;iwQ5mrML{2;|g4f zt8g{`jcaf%uEX`X0XO0%+>BdrD{jN>xB~+iiaT)^?#4a17x&=-Jcx(zFdo69cpOjQ z$uOQGd>YT-IXsUS@FHHq%XkH^hVdHVAl|^6VZ257Hs((lqnBI{|6~D{7sSF?1dHPD zSR6}YX)J?fu^g7iKd=H;#7bBht6(*(jy1wqi*RkMgY~dJHo%712peM)Y=+IT1-8Ui z*c#hlTWp8zu>*F*PS_c{U{~yh-LVJu#9r7N`(R)6VL$AT18^V?!as2^4#A-~4FAFr zI1)$UXdHv%a6C@LNjMp&;8dK3({TpQ#98Ra**FL1;yj#>3veMW!o|1*PxgA+My?ar z(}d69S-gN3@hV=!AYR8CcoT2q9lVS8@IF4khxiB|;}d*}&+!Gm#8>zR-{L!bk000*U zCcz&uDJH|@m;ybR5>sJnOoM4L9j3<&m=QDKPnZR>Vm8c{1tO!9?ToY ze1w0){8#`BVj;9K1X~Q+RbQ^3*4P0%Vkhj1-LO0Mz@FF(dt)E$hy8H?4#YwDCl1CT zI24EBaQq8L;K+Y)6!D{R435QdI36e9M4W_^aSBewX*eBc;7pu_ew>YSa4ycn`M3ZV z;v!s(OK>SJ3*&OaD{v*Q!qxaUuEDjq4maRN+=QEP3vR`2xE*(307G#n?!w);2lwKB zJb(xBP#6yrK7vQ_7#_zHcoI+H=`fxld=}5)dAxuZ@e*FfE0}WOu*!0s{hMh>mjN?k zCd`6aF&k#b9QZTl#9Wvg^I%@ghreNdEQp2B#tygrSRWf;Lu`bNu?aTCX4o8CU`uR;ZLl4- z#}3#LJ7H(+f?cs2cE=vr6MJEA?1O#LhyAcW4#0sp2nXX39E!tmIR1qr!Z?!fC>)Jr za4e3)@i+k|;v}rRs%UY!?!sD?_-a@kYhfL%i}lcp4X`0L!p7JHn__cpg{`p-w#9bX z9y?+u?2KKoD|W-~*b{qUZ|sA8(TDx8e;5Z49*BS9U>t%&aTpHAzi=du!qGSe$Kp5~ zj}verPQuAJ1*hUPoQ^YaCeA`X&c-=77w6#uT!@QsF)qQSxD1!$3S5b+a5esoYj7>D z!}YiUH{vGTj9YLkZpR%Mz);+YyKpz|!M(T-_u~OPh==en9>Jq{48wJJl~=CA|El3h z9|5CcG>nchF*e4*xEK$=$N2aICcuQ42$Nt^OoquZ1$rR1D7VlAwVb+9hhLoe3H2G|fAVPkB9O|cm^#}?QUTVZQ# zgKe=Lw#Sax2|HsK?26s6JN5`;FT%aC54Jx)C9_<&|6~W2cf>B(6}w?~?16pJhy8E> z4#GciFb=_?I1Gp5UpN9s;wT)0V{sgg#|bzQC*fqAf>UuCPRAKI3;j47=ipqNhx2hk z7#9*=go|+rF2m)x0$1WHT#bL@8eE6#aRY9|&A0`(;x^olJ1~HuxD$8bZrp==aUbr- z19%vZ;4wUoC-5Ym!qa#L&*C{ej~DPFUc$?G1+U^Y4B~aXfj99M-o`t47w_TyFg_&w z2p{7Ue2UNTIljP`_!{5fTl_dFcM7?l|IM$YvnD&~!(#-Dh*2;qM#JbB17l%qjDzto zKK_6SFd-(w#Fzws#H5%ElVb|>U`kAdsWA7)R z4Qpa8tc`WBF4jXY*2f0e5F24*Y=TX(88*ij*b-ZXu{Gf~*cRJid+dN6u@iR2F8^Rx z;=5sY?14S87xuOUBb_~;k|zr&aq z3u9v(jEnK`dyJ1iU;<2ti7^TOh)FRSCdU-$!IYQ^Q)3!Ti|H^uX26V?34g-Om<_XI z4*VH&VlMmzb7P(`<|UjDf5ZG(01ILvv@rw=V-YNhzhf~hjwP@pmcr6l2FqeOERTO+ z1+0jburgM`s#p!HV-2i{wXinU!Ma!vz1R>NVT=lOBT9YnZ^j~BT>Kv6;}4h^li-h- z6q8{J^k7O%g{d(uro;4@5i?^Qa3;>eIXE8|;6hx4%Wyfaz?HZP|Hd`A7T4i=+<+T#6K=t+xDB`C4h&!@?!;ZV z8~5N|+>ZzFARfZQcm$8)F+71M@f4oMGk6{^;6=QQSMVxc!ysPA8+a3M;cdKwckv$H z#|QWjAK_zsf=}@oKF1gM5?|qKe1mWC9lpm8_%V#12!F;e_!X@_PI(T8;V}Y6#7Gz! zqhM5whS4zweuptJ7RJUn7#HK=_ZT04zyz2O6JcUZfg|G1qzQuR=9zWnm{DhzJ3tFX|{SSxXF#<-!NEjKTVl<47G4MN#iLo#?#>II5 z;`c0%k3V1nOo)jvF($zuF)1bsV{*bNFeRqK)L~3RI4!2fjF<_3!pxWjvtl;PjydpW z%!#@17yK1-W1cYPC7cg`!~9qP3t}O(F$4=^5iE+oV=*j_C9oux!qQj<%VIe!kAGkV ztcaDcGFHK=SPiRV4XlZ^ur}7gx>ygrSRWf;Lu`yquqigf=GX#TVry)JZLuA;#}1f3 z<=0D69~HoYSO^PaQ7neVu>_XH(pV;pWeJzV@>l^YVkNAMRj?XX#~N4@Yhi7ygLSbU zda(gE!Y0@hn_+WofvvDLw!ya84%=e~?1-JQ3wFis*aLfFFYJwdurKt%&aX9{kBXA^+!qGSu$KwQ?h?8(KPQj@-4X5J_oQbp0kF#+O&c%5+9~a<4T!f2p z2`(H?OJGSXg{83! zmc?>d9{<3KSP3g*6|9QYusYVjnpg{KV;!uE^{_rRz=qfe8)Fk}ip{V&w!oIy3R`0v zY>Vx%J$As3*aa4Js2={N)ZI2-3+i*89mrQZ4{Te7?rcE&E)6}w{(?1{aw zH}=84=)->49|zz-9E5-3U>t%&aTpHAzi^NPR1!X6{q2JoPjfO z7W#2E&cV4j9~XpiA>l>17?wYUz~;|AP_n{YF3!L7Irx8n{B z#hthdcjF%1i~Ddt9>9Zm2oK{CJc`Hh1fIlGVLVOv44%bvcpfj{MZAQU@d{qWYZ%1q zcmr?ZExe6)@GjoN`}hDK;v;;FPw*)|!{_({U*ao#jc@QRzQgzU0YBm={ET1lD_Y&1 z`XwBO#|Rh+BV!bdiqSAS#=uw@8{^>4`775*eHPYT#P7yExDWT^Q9Opn@g$zY(|88Y z;yFBz7s7av@Fl#ASMVxc!ysPA8+a3M;cdKwckwfz6#?T!f){% zzQ+&v5kKK){DNP@Xf1HgUpNep5ilY~!pIl}qhd6Sf!|?FjD>M9E`E>k@dr$R2{92S z!5=XxCd1^I0zH@#Q(IKRR?LRkF$eyPIWZUhg1=&J%!7F` zAO42cmtLTFu?&{Q^7sci1Q9O<(@D!fLGk6xy;d#7( z7x5Ba#w&OguVE0c;|;utx9~RJ!Mk`5@8bh}h>!3IKE-GF9ADr|e1)&^4Zg*9_z6Gb z7yOD=SLeKh!w47=BVlBWf>ALVM#mWV9md317#rhYJp3Nx;}4h+6JZkk5tCvvOpYlq zC8omEm-)BOJf-bb*zCku@=_GI#?IISRWf; zLu`bNu?aTCX4o8CU`uR;t+5TZ4P(U~uO~}A_fJ-0c@?aN)v+el!rE9D>!BCxV*_l6 zjj;(f!{*omTVgA0jcu?kw!`+=0Xt$R?2KKoD|W-~*aLfFFYJwdurK8`t1kT!-t!xPkCS+=QEP3vR`2xE*(307G#n?!w(+ z+(URT?!*0f01x6JJd8*1C?3P(cmhx2DLjp5@GPFg^LP<2;bpvv*D#3J@dn<+TX-Aq zgz+xndw3ro;6r?bkMRjU#pn0}U*ccmtLTFu?&{Qa#$Y!zzSFqD`91< zf>p5^*1(!r3u|K?tc&%~i}kSqHpE8Q7@J^IY=+IT1-8Ui*c#hlTWpUVup@TD&e#RJ zVmIu8J+T+|!M^Cje%K!e;6NONf8r1viol@OE$Q5vLMy1To(TRNn>yW!sXcv$PMS<7|( z=UKmf=Dag!&Yr#Z`#Q|I$NPN1hkV4xe8Q)E#^-#&mwd(7e8abV&ky{_5EVbY4nr~& zzX&q44#Thv$MF1;Uoir|W<*9}WJY0BMq_lwWGu#J9L8ll#%BU1WFjVJ5+-FbCT9w! zWGbd+8m414kmNtui(nTn~IhH06O>6ww4n3-9amD!k`Ihd2V{=?k1=VdLMGrO=WyRip8n2?E>m`RwF$(Woen3AcOnrWGi>6w8UnTeU1g;|-6 z*_nemnTxrZhk2Qg`B@;yLb@=EuqccDhb3(<#nLRpvMk5)tjJ2N%qpzPYOKy0tjSvc z;WxI|;kW#bby<(~`8^x3A%9>aHf9qxWwRh#>L2+Ne`YJTW*fHUFKoy5{FT4413R)4 zJF^SBvKzaz2Y+Wz{=q-ln|;`q{n(!aIFN(*7YB0)hjJK)a|B0n6vuKL$MbJa;6zU1 zWKQ8!PUCdW;7rcqY|i1_Am`}?T*yUS%%xn$`cE4<2Uyv`fE z$y>b5JG{$#yw3-G$VYt4Cw$5me8ty%!?%3L_x!+*3^D!F{uYv<_yt2V48tng0u z>a4+19lrGIOEX#5%&kC%_O03K(tjcPv&Kj)ATCB}) zScl)SF6*&Azh?tB!Uhd-o9^@e&<`Ev{F&^g$p5!T><{6&lIiBYQ{>zKJ#LK+GtGveR zyu~}b$NPN1hkVSZe8%T|!Iyl+*L=fweE%PQu>B)LhW@l4h2j?s%`gnha175c`4uBD zA|o*}qcAF?F*;*0F5@vi6EGnYF)@=cDU&fdQ!ph{GY!)+9n&)dGcpr1GYhja8?!S9 zb21lmGY|7JAM>*S3$hRkvj~f_7>lz6OR^M8vkc3!9LuvJE3q=GvKp(i25YhwYx5h{ z3GzE#m-Sem-?IT5@&`6zV>V$^He++PU`zhUpZGIdu{GPUE!(j@f8}rNz>e(1&g{aj z?8feVwWUFd!0|rVH@3g!dw$?YhS>V)`$IAmzhG#FVOWM^cz(&R7=d3iA|o*}qcAF? z1sPq(U@XRF9L8ll#%BU1Vqzv?QYK?^rerFnW*VkrdS+loW@2V$VK(MqPUd26=3zb- zU_lmQ;UJ6XqAbSZEXh(V&9W@V@~p^8tjsE`%4)368m!4$tj#+7mfx{1>+yRwU?VnV zGd5=nw&agN{;XTEHQTT)e_=be=db*Y9oUhb*qL3}mEGBczq2R*;GgWp-t5D^?8p8b zz=0gZzc`pfIF!RUoFh1rqd1ylIi7!WLXea6WKQ8!PUDOqXX;s;&AFV%`CPz-T*M_@ z%4J;66d@kTZF5+S?;ZiQ+a<1UY|8TYKYq*{pxrv*(gJ$_!o*_Ff_w3EW`0je#Hp4kmNtukvnSv=fJmjGWf%Cx#j^bF3VC*E!@g&+|C``$=%$; zy*$8!JjBC1!lOLK<2=EWJjK&I!?Qfk3%tlnyuz!z#_PNhcX*fgc%KjXh>!V% zPx*|``GPO`im&;GZ~2bz`GFr9GSsL2J`}%TXog`}h6^&h{)!R!H6t<-BQpx4G8&^Z z24gZ7V>1rpG9KeI0TVJ26Eg{uF*#E(B~vjq(=aX5F+DRdBQr5GvoI^OF*|bvnN#Ot zZsuct7GOaZVqq3zah707mSSm^`Ttnf*UPayE3hIfu`;W$Dyy+NYp^D3u{OV99e&5U ztjGHNo(=c|8?iB)uqm6dITOFw@$vtj9zuLJnNGpfOv7|c&kW4SOw7zI%*t%c&K%6i zT+AJ0UY(EmS%3vuh=o~%MOlo+gDjy-u{6uDEX%V3E3y(RvkI%S8mqGgYqHjV_>Jv# z_$|Lk~Z5Q#{QxJj-)D&kOvQ7kP=7d4*Sbjn{dDH+h?Pc$fEh zpAYzmkNJd8`Hau`g1sBweHu8A^kIJv;2{3RAsotK9L^CO$x$55F&xWr9M8WwffG5I zQ#h5=IGr;%le0L7bAz0x7jO|5a|xGn8JBYfS8+Aha4pwyJvVS8H*qt!a2vOC2X}H8 zcXJQ-avu-yAP?~{kMJmu@gE-N37+IBp5_^zw+xA!Ysm~K^E5~Sdyh!nq^p)Wi?i34c25W z*5)^?!*BT=>#`o}^UR0hw*u#rvpmlW{FfJbiI;hWS9y)sd4o53E6CgW4)5|F@ACm4 z@d=;u8K3h7Uk3SFzu{ZH=SPP4`005G$x!@)p&5o@8J=JAD@NegjL1lg%qWb?XpF&_ zjK$cD!?=vc_)HLFBAu8?n3TzwoGF-+shFB+n3n07{y)rMdq!qrW@celW@C2dU{2;@ zZsuX$|1h8J`B{JkS%`&Ml*L$*rC6F}SeE62EUzoDA}g^ntFS7ou{vw8CTp=azhNDI z%kNm1_4z#;uwjrt=tgYJCTz-PY|a*J$)ET$Td_6Uuq}UKJGSRJXAb6Mt{`*kJj}~{ z%+CTW$ighjVnG(yC0LTBSej*6mgQK1l~|coSe4aSoi$jK->?q9<#(*hdaTdy*?{UdpRbJzD-sCOb<{jSUJ>KU7KI9`l z<`X{UGd|}FzT_*u<{Q4{JHF=!hG_cfyc3e4_yt2VWy`Tg1LvpDrqXGcmg$(D8JLlo zn3-9amD!k`Ihd2VnTL6qkNH`E1zCuNS%gJdjKx`kC0UB4S%&3Uft6U9RalkPSe-Rk zGsxQd8`j~s{El^5pWm|q8?q4_vk9BB8Jn{OTkVC*&D_du+|C`` z$z9ydJ>1KE+|L6%#KSzoqddlcc$_DAil=#oXL*k2d4d1(A}{eWuksqN^9FD77Vq#b z@9{n#@F5@ZF`w`mpYsJ@@)ck64d3z|Kky?%{rKtp5jw~)IxNF6JSUAAzbkOwnanAi z%4wX=8Jx*koXt6$%Xys71zgC*T*_r!&J|qARb0(AT+4M_&kfwf&D_GR+{W$P#Xa21 zecaCjJjg>l!lOLKe|VfHc#@}hhG%(>|MDU)@iMRQDzEW6Z}Jvz^A7LwJ|FNAAM**H z@)=+96<_l$-|;;^@FPQv{j@)ZWGH^Y&Nl3y_bzh*>6Vq`{PR7PWT#$Zgw zVr<4?T*hO3CSXD)Vqzv`GA3tAreYeVWjdy324-X?W@Z*50%qpzPYOKMUti{^=hINAcR)5F3tjGFnz=r&R zjo6q?*p$uKoGthxf8x(<%{FYyU)YZA`73{82X=eSL0y;C%95 zR`>N9tjSue&2LzT-|{=wWj)sC_iVt1Y{bTF!lrD-=4`>1{EZVz&&-o@SA z!@bfJjBC1!lV3$$9aOMc$#N;mgjh$7x*tP@)9re8n5#vZ}B$o@GkH1J|FNQ zpYSQ4@i|}cC13Lm-|{^_@FPP+{B#@(8DuE^1w%6o!!jJh^Gklk2>hB68HrICmC+cT zF&T@o8HaHhj|rHNiI|v4n3TzwoGF4#sZ%jE(=aX5F+DRdBQr5Gv+!KFdP@W6k@iy-Sc~{@#eLmnLKIRiXG=uCPz=Mc49D>Nl3y_bzh*>6Vq`{PR7PWT#$ZgwVr<4?T*hO3CSXD)2{Nfp#^g-F z)J(&)OwSC=%q+~x?99Pj%*{N^%ls_Bf-JOmgSp<#^FJZ)T20>V>p)MIG%rV0w;3Pe>mCpDV)mboWYr# z#kriv`CQ0FT+Ah0%4J;66@Me&=^ljeZUEbpZKH_6O;Zr{2bH3n9 zzT#`X;ak4r2YzIT49 zjL!s2$V5!cBuvU=OwJTc$y7|uG)&8MOwSC=$V|-4EX>O6%)y+@#oWxpyv)b^EWm;+ z#KJ7XqCpnZ#aV)-S%zgOjlo4JKsxt%+> zle@Twd%2GXc#wy9m`8Y&$M_GA^8`=w6i@RE&+;74^8)|nMP3T>ioVKgyv`fE$=kfc z`+Uepe9R|&%4dAe7ktTAe8abV$M^iej|`Fa(|#V3q4)(uGYrEr9K-V~M&Q?s$ViOB zsEo$wjLBGx%{Yw9ctIx637LqAnUu+xoGF=_X_%Jjn4TG!iJ6&&*_fRlz6OR^M8vkc3!9Luu;E3y(RvkI%S8mqGgYqAz=vkt#yUDjiL zHsB9z#KvsGrfkOMY{8cNkw5Wgwqk3xVXxkOMg-0Wz1fF-*)PccdH@G<5dY#}4&hJ^ z<8Y4TD30bBj^#Lx5Att4ffG52lR1UcIGr;%le0L7b2*Rmxqyqfm`k`c$YuJo%k>Jb z;%cr9a-Ck!4cy4h+`_FvZqwVjgFCs4ySaz^xSt1jkcW7fM|hOSf;_HI@Klgz^jV(c zd0ybZyvR$u%qzUc>%766yv5tR!@Io4`+UHMe8k6m6690;jL-Rkula^=`Hmm>ks{U4&!i+;7E?*XpZ4nj^lX# z&54}E$(+KeoW|*#!C9QmIh@ORoX-VZ$VFVtC0xp7T+S6-$yHp`cOT5f0yvl35&Uf|V z_6!{V-}3`MGDQ7PUk}Mp{DPqwmf;wlU-BzPU_?e@WJY0BMq_lwU`)nhY{p?+#$y5| zWFjVJ5+-FbCT9w!WGbd+8m47>W?)8UW)@~;Hs)YX=3;Knx)?{UcP$yuDkxtz!OT*yUS%q3jPWn9h`T**~j%{5%h zbzIMl+{7*1%5B`v9o)%X+|51Q%YEF>1Khdn+m3H=XjnM_%AQ=5-;-#uksqN^9FD77Vq#b@9{n#@F5@Z37-b}Oh4xf zzT_*u3G%Ie$M^iej|{Q=)9*7BzhG#FVOWOamyE!#8Ih3~nNb*((HNaE7?ZIWn{k4S zrxP$C6EQK9Fe#HW1yeE=Q!@?IG9A-112ZxcvoI^OF*|cGCv!13^D-avvmgtxaF9iG zQ5I(jmSicGVOf@E1y*DwR%R7eWi?i34c25W*5)^?!*BT=>#;t+X9G6m4{XH7Y{F)2 z&K7LRANdnou{GPUEq`GjUCvDo!Nz5*^S-VgTJ#U|6p(SVPE!Re-7Y44hr%w zJ%mFUW%&Kpf#dpTqv~jk&KQizSd7g$jLUe8&jd`!L`=*iOv+?T&J;|^R7}k@Ov`l4 zz>Lhq%*?{9%ob#Jos+qkn|YX*`Iw&tS%`&Mghg45#aSZAlDZU2vkc3!9Luu;E3y(R zvns2xI%~2PYx5h{;kW#bby<(~`8^x3A%9>aHeoY1XA8FEkNk-$ja{vc&5dY#}4&hLa;7E?*XpZ4nj^lVv;6zU1WKQ8!P789np23-%#o3(0xtz!O zT)>4~#Kl~~rCi44T)~xG#Wh^ZbwRGz8@Q31xS3nHmD{+TJGhg(xSM;pm-~5u2YHBx zd4xxKjQ{XBPx2H`^9;}O9MAIt|K(*~;Z84j-sTQ{Wtw|vL<{J@V4G3L|j{|km;ScYSGe#x&Gfe{&rkr{=XoK>fAvLP z;uT)yHD2cp-sCOb=3U<7Lq6hTKH*b7<8!{`E57C%zU4c<=f@yJ#QpU83CU3Wf}t6P zVHu9$`6a(%1V&^eMrIU7Wi&=-48~-vAmiw`jK}y)z=TZ1#7x3uOwJTRrqrpJnrWDp z>6o4wn30*7nOT^X*_eYlnTxrZm-$$bg;<0|S&YS5f+bmsW!QPptZxFx)2{5n-`SIY zvN!v%FZ;1S2XG(9F2kR$adjt+8+9?NkY&%Zf=6FHevIgQgfgEKjcvpI)z zIWNfhdO?s2^&&3j5-#I%uHZ_p;u@~yI8y8U5L_`W(;m0x$70ukb3b@j7qt7H{(o@A4k+^8p|75g+pj zpYj=>^95h>6<_l$-|-_u{PpQ|9Fn2<1w%6o!!jJh^Gklk2>hB68Hte@g;5!eF&LAv z7@Khzm+=^%37C+Hn3zeJl*yQ!DVUO}nTBbZj_H|!nV5xHnT^?*gSnWS;$uGLGd|}FzT_*u<{Q4{dwyVu5uf(gQ2Zju&^k`Y z%e=y?yvFOi!JE9r+q}cOyvO@|5adJsh>!V%Px+iL`I>L|mhbqUANY|WbANgsLo*!1 z^DBPMh>XO@jKZjl#^{X6Sd7iMjK}y)z=TZ1#7x3uOwJTc$y7|uv`okJ%)pGy#LUdX ztjx|F%*8y+%Y4kw0xZZvEX*P-#u6;aQY_6fEX#5%&x)+fDy+uptjSvZhIRNI>#;t+ zX9G55BQ|DJHe++PU`zhUpZGIdu{GPUEq`G-$j1=(K@;6VPx z!5qqA9L^CO$x$55F&xWr9M8WwffG52lR1S`IgK+ole0LRb2yjtIG+oGT&NduF_&;D zmvK2)a3xo9HP>)0*Kq?ka|^d|J9lyycXKcIaX%06AP@5>kMSQK=Lw$VDW2vTp5-~7 z=LKHmC0^zgUgdS(;7#7*ZQkKs-s62f;6py*V?N=bmrV-=j#r0yl*jlFkMkr?@ifoy zEYI;gFYsSp;$uGHGd|}FzT_*u<{Q4_dw$?Y zhIsYqc@D`?{DPqwhG7|w;rSIK@M}h7Bt~WwMrAZcXAH(-Y{p?+#$$XYU_vHhVkTiy zCT9w!WGbd+8m47Bre_9bWF}^27G`BOW@irOWG?1rUgl$d7Gxn7VNn)iah7ChmSI_z zXGKfJj^3J%43Z6Wu5GS z<3=3DWjw}b0w!isCS!7@U`nQD8m48sAk*s%%*ag4%q+~xY|PFa%*EWy!@MlOf-J2KIDy+(Ctj-#&$y%( zjUCvLo!Et4*^S-VlYj6}_F-T4V}B0hAP(jb4&?}r?yQ{>=%T$Vr^Sshq~? zoWYr##o3(8d7RG$T*$>-%4J;66HT*I~8$W7eLE!@g&+|C``$z9ydJ>1KE+|PqN z#KSzwe|VfHc#@}hnrGN;!Hl$l*J}^{&Yt{(f3i3GurK?uKL>Ci2XQcma43gyI7e_K zM{zXAa4g4j0w;1Zr*JB#aXM#m7H4w~=W-tBa{(7}5f^g_mvaTza4pwyJvVX_w{R=B zaR+yCH}`Na_i;ZD@E{NI2#@j@|KV|-;7Ohe@{B&qb3D%r{Fj$_nOAs?H+Yk`c$fEh zpAYzukNJd8`Hau`f-m`+Z}^t)_?{mbV&SLPQ%Hv57YxlXJlw5Z%E0UID39?U9_LA( z;%T1YS)S(w{>zKJ#LK+OYrM`IyvbXiSA5Mke9L!yALIx9 zks-Q&dOkz(3x;MGhGPVN&4`S~=#0UbjK$cD!}v@PWI~;YiJ62+nT*Mqf+?AbshNgp znU3k1k(rr=S(%O5nS(i*i+P!k`B{WTS&YS5lBHROWm%5px${|(q=DDNXLsv8+{=C3 z&jUQjLp;o*JjQ=`oF{mar+J2Fd5-6Kffsp+mwAmhc$2qyn|FAZ_jsQV_=u1Bl+XB_ zFZhzL_?mC{mLZ;hdfr1Z48t-U!}Cji#R!bV$c)0MjK=7U!I+H2*o?!tjK>5_$V5!c zBuvKSOu>{)#nep0v`o(o%*d?F#_Y_&T+G9~%*XsJz$TIVB@FEMP1%gi*@7+kBY)!0 zY{k}W!?yf|?bx2bvI9G^6FajDyRtifXHWjgUhK_2?8|=a&w>1lgE^GLIGiImlA}19 zV>mX*zx6~;;$%+YR8Hdz&g3l4<{ZxDJkI9=F5+S?;ZiQ=3a;cTuI3u9gE^Utd6<{^n4bk$m_=EP z#aV(SS&C&?mgQKU6(7@6FajDyYhGT0vzz}Ud{k}pn6u)3-hGAHS<5!Hp zuNje%8HLdpoiQ1Uu^ET)x$u3G7=it2F_&@~mvar*a$S(?^#*R_CT`{yZsj)a;7;!1 zZtmfJ9^@e&<`Ev{G5*8jJjqi$%`-g9b3D%r{FfJbiC1`)*LZ_Bd5d>=kN5e25BZ3X z`GimTjL-Rkulb%I8REmI-+M@gVrb4-JTPitznIC{oWr?Xz=d4I#azOrT*l>G!IfOi zwOq#y+`_Hg#_im}UEIxm+#loteUOKEghzRd|L{0Z@FY+14A1f$FYqES@iMRQDzEW6 zZ}JxJ^8p|75g+pjBbUt?Iq-Y^Y*ZbM(HVoWf{d->FdpMGArmnPlQB6{G7Zx*Ju@&9 zGczl*F*|cGCv!0m^D-avvj7XS5DT*?OR^M8vkc3!94oRCtFS7ou?B1M=a~s327W)S z*oJNS3)}Hm{>BdM$S&;89{inu@K5$)ANFNG_U8Z&P|MDU)@d~f<8n5#PZ}B$o z@GkH30Uz=)pYj=>^95h=HQ(|b-}56wwEy%xg=8q6`F+%vf#>fW&+`KRX`Id(oW(iJ9pUyDfybMN`B{JkS%`&Mghg45C0LTBScYX;o)uV;l~|cond^ME z|2@v!%*XsJz=ABq!Ysm~EXLw2!BQ;EvMk5)tit&%qzUXo4m!l zyw3-G$R{i_waWj-Eyqf%%&M%;nyk%;^~3$|`y(+jqc9o|MK}<6_#qDS2#@j@|13M< zf4A$!-t5D^e9+*x|K08(AMpwQ-TuFiR|#>2Gxiky-|av8uTZm>`vW`rl1AaT2F$Q> z|H^=4drp}ba72%0lLHnUkaA?e&J~XL3)tslyKVvZ+zatbz=<`xH2r^#+V=9dfsV%Q zX>wE!^bU^b+O~M0NAhIf@wo$iiibulOdsgOoPKCt;y}+}=9VL(2RaLL{@o;8pmT9w z=;Ut$JLmxxxWD&7pbN2g>bh3~-H)Z(ojwuh&z9AnT|ceJ-oV#CyFqW_W|nAJ~{pc)r5BX@T2c;J>`cOT5ejsbY){-2T5j=vd3vj)@%jI)!wxSM;pm;1P%2l#SviPC{_Uh@s# z@*Usv13xmvl26}1v+c9IfpKPWHs^3I=W#w4a3N!!9+x37PAtY|9L8ll#%BU1kb!l|6b>72otoWEFLOfC0fz$POyXot;Z#oJbk5*RM(7xCYhav+jKs){!l;bK=#0UJGZ!xpjMIpX z*@Vs5oGsXrjen~+EAaiFZLV9eC4b`2Y{k}m*y;J$z&MZijL-RkFZqhE`G$R(&KnpQ zr!V`lKL>Ci2k|csW{L`}x(CMjY$~0aX_%JjnSmKOb4$s#fpKPW4(D>PJ8Jx-4oWp|Cs+0?iQ;3CGghg45#aV(S zneobif`M@|F*CC;E3+{>b1)~1d~q#HV4Tku)x}txC0LTBSej)xcuRv6f$=^&L=WXK z4(AAt%766yu~}b%X_@f2TT?6P=vsEpG~dPFfG$D12ZxcGc!w& z%b)M~_$sj9xRINJ+^pj@y!$k8Kk=D>37LqAnS@E1jLDgTDVd5t zeJFk_a6dn@6$W7eLE!@g&+|C``$z9ydJ>1k{ z?9sseY~~hj^$Ny7#Tu;4JT>p3RBgA6m@&xFUJK%oOj#81?!8dt2woVVz@^ zb&h1#IR;zj=x?3lv)Qb7WM^yZ9&Omg`bSr8v<|X~!>xymU|8!Q;kd>+$XfQZ4$`0d ztb^?5HtQhUImSB3SSGg)l7eZigQVjo>mZw%#X3k+ zjxpaI%W({A{u++qIn;b~7>BdD`DF{X|VW( z`#I1&Y!LtAU=HD%4xi>}Z~2bz`GJ+prz*1wtFqeXHeag7>a4+GXWDa5!0J5WMD>SVrFJxXY+v1cF|pf?54Z32M@XKKg=UM%40mv z6O7`zJ}RRzI%6;vV{?-0^U0jTshq~?oWZcJx5F_!zvNepz^_@`_47CUmfx{1>#;s( zyB?myd7RG$T*yV7=lXU&7jPjLaWR)Lh3nOnOvThp!?aAte_elG%$Qo#nBwYu^h+mT`xA^4{XH7Y{I5o?D}yDmvK2)a3xnUmg~vb zjLUe8&xFkE`Z5c%F*|cG7gM>;OwF`R$Mnp=(ylwpupG;?0xPno>(W2ii@n*0efj?7 zr_Wvdz>f^!dNw3Ov5)K8zU&ude?5Q$`SjSQ&oO$&=X}AJe8ty1;X3&wPyHXd?lRh{ zBT>{S?(VL^;#hEZcXtR7oZ#;6?(XhRaCdhPP6A1A=RNw&{pXBvf6cMexp#E0`l?pd zI$L;|S9q1z7}CC|?&3djI1aR`q_cYTV|1PuqFO`+*KKt@ppA<0bvi zFSCjBL{t98X6)&F(Tly=hwq#>-tz-L@{#k$V?NhXZtme; zPI9i9%qg78qs}+Sc$_C#-8rWQYqAz6I_FH{WKQ8*=bLwY&ky{=xn>7hzcct(7 z1Ak;+=a~K+z=0g({4$io7_(c@--lu|4i`F~1YGR(5*BtYDZ*kb&V$Y)hj^GrIN$kW zAs2CRF!wlj?BjkO;6c`P-l)g=Y`}&r>zq-JeQQouv@fm1!uFj- z*x0_Z31`|j&SG5q!g!o+zc+&sJok*qC-!H5F^TTXW!AwzGJt2$3**%i1r=Z?K6hkU!1V7IAA|9%|0Tn{loY6 z4SVbtGTSHgurJ7CAF$5-KA-z~Rrl|6?$dkSkCV9XUiDnCjr(XQ_sgyBi%&hzo9;dr z$^C4C`&Ph~?o+Ke$9-uoe{>)EiOt=2TJVJX%t?-QUm3>`?jyks>7Q42AF0BstQOGy zq&jP`CjazY>@M%|KD)ZFbYpk+V0`zL1Wd?8oZ`MRmD4z#o!nPCvkSX&y!*%mPUIy1 z?EaCFnV6X=+&@w>6;m^l`$uMGVOI8a|LDj59KcJSJ6+}#US&e}i$qMqMeYxaxs=h| z527;$>s$XDup!r2@7Ho&KdoGG}>`n#MfINka?gERS?^|u+DbBlF&E4MMZ^*9AnGP`v-2XpdA>+?_indPk0 z0n2+`fkUm^!#JE_tlwc7jw7w(qd1x$oX8e^podf$C;WBccE7?<&x zfC-t1iJ6qin1U&pimCYx(=aX5@nYb46)*8JuksqN^CoZcHt+CH-sL?$;6py*V?N27@aW~i?JDp zaT$;CnScqIh>4kmNtukvnUblPnj^~ueXb<9qx|#noWMz(%qg74>72otoW%qg78X`Id(oWrLFuEj;b-U}t!i=XjnMc#)TRg;#lv*MoV(>zlmA+q}cOyvO@|z=wRq z$9%%S_&1;OAO6e#_?$1;yIs)d0R#5+x*z*<00(jqhj1u|aX3c=bEMa!IGSTPmg6{q z6FG^KIfYX>jng@UGdYWMIG6J{p9}cbbK-aW$WQ#tFAQ-d=yQ=F8H%A9hG7|w;TeGu z8Hte@g;5!uF&T@o8HaHhkMWs+34@u~>m*FdWK7P1Q-VIfIhaE^jKevCBRPtrIhNx% zo)b7Rn3KGo%qg78X`I1XoXt6$&jnn_MO@6KT*l>G!If+rDd=;k&Der1*@~^%hHd#f z+p_~ZvJ<au{Zm$F9&cS2XSyPhj=}lBRG=d%2JMd4O4Z1${0!U^cI_ zGY4}r7jrWY^D-avvj7XS5DT*ii?SGtvjj`AG|R9o%dtEwuwpPPd0m-RSdG{Uf> zo)b8clQ@}Ecq?Vl=euw7Pu}HyKHx(>;uHSGzxgzn&%FMJ|MEXR=L^2%E56}dzTBv0`)V|5Msyhy+}UdLrT zCSXD)Vqzv?QYK?^reI2@VrqWFG)&8MOwSDb?*H(6|NIC3$e;K#Gcpsi@E2xh4(4QT z=4C$SX92cc6!bj@t=NWb*^cemfgRb2o!Nz5gW1jN?(D&y?8V;f!@lgt{u~g@fnE>d zU=HC>4&(4(j_`UUM{_L4a{?!FGN*7Vr*S&lb`JVJh=A?9?!b=h#Ln!(uI$F{?7^Pw z#op}0zUUFeYOKGq%?O<9HpH@fe>8n2?E>m`Rw7 z$%C1~>r_n3bWG0-{FdKwdeflq51GMPoXt6$%Xys71zgBQT+Ah0#^qeWm0ZO&T+4M_ z&kfud%uQZz<`!<{Hg4x1+`*mP#XZ~`%za+(=K&t(5gz3+9_I<>DHHU4D|wlp1z3=U zSeQjvl*L$_C0LSWSeE5jo)uV$m05+=Se-S3S<~xUtj#*C%X+NO25iVi{FP1El+DPdHtRrxU6^3_x-HkDz4@l zuH`ze=LT-%CT`{yZs#A|!JXX2-Q2^y+|Pr-JmmFZ9tq}AuaEIKPw*5^^9;}OJTLGH zukku>@Fs8ZHt+CH-sL^s=kbI=-=B1nr+J2Fd5#x&k(YRxS9q1zc%3(Rlec)Aclamo z@_sNMc>R!%_=JD)Z$9NS{=h=VzVLpeN{BfK8T(Hz6E z9LEWq$Vr^enViMhoWr@C#|2!-MO@6^?go92SHNaoH)jjBWGl928@A=|Y{&NOz>e(9 zF6_!~?9LwS$zJTuKJ3f>9KeAb#33BYVI0np9L3Qb!?7I4@xh$r^<+-rR8He`&IsmA zuV--%dxr`7p0qyf%YN+70UXFd9Lymc%3&PN5gf@;9L+Ht%W<5*iJZjAoWkjx$yuDk zxtz!OT)>4~#Kl~~rCi44T**~j%{5%hbzIL4+{jJb!V`OfzHja%Pw_O*@GQ^qJTLGf zFYz+3@G7tII&bhMZ}B$&-;RpLM+UpEXLw2!ICV+(!ng_by=2Uc~)RWRt{!0uWPU-n}rJce#7Q$!Io^r z)@;MJ{GILCo*meco!FUO*p=PblfBrRec6xwIe-H>h=VzV!#JEHIFh3{nqxSY<2arZ zIFXY$nNx!~&Fh(*%{hGYI_P^K-|`*b^8-Kf6F>6{L%a$4{}Ym-7@A=imf;wl5g3_K z7?m*?ld%|^aTu5Jn1BhHh>4kmNtukvnSv>Unab4&!i+;3$sfSdQa(uKyDB{h}MVk(;=gTe*$f`3HA!CwFl-_i%48 z_j$da2Y8T&c$i0cjK_I`CwYped4^|sj^}xS7kP=7d4*Sbjn{dDH+hS9ENM{*QLa}39F9LIA4Cvp-ea|)+& z8mDsxXL1&2b1vs`J{NEy7jZF{av7I%1y^zvS91;526LU)>$!m&xrv*(mD`yyYS8yl zWMXD!VOIXaY|PFa%*kBL%{z&-i-Q2^y+{gVq zz=J##%)?$E;ZYvrah~8wp5keq;aQ&Jd0yZ}UgBk5e(1&g{aj?9Lv+?B#X9-d^`%U-n~v4&Xoz;$RNtFb?Mkj^b$ko+0S_(A%*+JFp`= zu`|1{E4#A?d$JdMvk&{RKL>Ci2XQcmayUnDBu8;H$8apiaRMiD5~pw~r*S%Ga3*JQ zHs^94=W`(!aWR*0DVMR(_ANiSI7@}v;fA5eC#n24HunfltjL1lg z%qWb;7>vnSjKg@0AIt<^CuAZfW>O~O$+`*qew`Pmc$#N;mgjhZ7kP=7d4<<_oi}(h zn76#X%{%;)cX^)=_>hnIm{0gOpYj?1;lKQk&-sF{_?mC{mhbqUANY}<_?cfAvR=^j z4#lzSYj*j1{l{@UCvYMsaSEq$8mDsxXL1&2a}MWn9_Mob7jh97a|xGn8JBYfS8+Ah za4pwyJvVS8H*qt!a4WZQJ9ls=cX2oOav!gZ3;Ml{tGveRyuq8i#oNKW(_pZSF$#s^)ekPOW*49D<{z=({@ zD9k?0Tb?+18uFeh^{H}fzb^Roa8vJeZi2#c~9i?akvvJ^|R49l_{%d-M2vJ$JXDyy+N zYp^D3u`cVeJ{zzR8?y#;r?upt}qS2kf& z{>El(&X#P&)@;MJY{&NO5X_EVcVcIDVK;VX5B6kl_GLfz=Kv1mAP&oRvEL;W&=x1Wx2R-w%8~m>0di#LK+G>%766yv5tR!#{bK_jsQV_>hnIm{0f@ z|K?LZ<3IeD&-sF{_?mC{mMbF${Z8B}uI3u9f@i|}c zCExHZKQP?N1sT51_wbCsh>XO@jKZjl&X|nF*o?!tjL!s2$V5!cBuvU=OwN={#ndd_ zt7Mw5|9i@?EX%PxE3hIfu`;W&I%}{NYqJjPvL5TR0UNRr8?!0%yvm>Q>woWjEWm;+ z#KJ7XqAbP|EXC3+!?G;L@~ps$ti;N!!fLF+Q@;Q94A1dAFYqES@iMRQDzEW+FmHH$ zlec)AcX*fg_>hk{-uLqcoZ$6DPU2)v9a{Ek2HNB+c2%*?Q#Q^fiD-zyx$GXf(rGNUjmqca9$ zGA`pWJ`*u9U-;hSmwd(7e8>0vz>oaI&kVU{c+9W=dqOcZ!?0?Jpx-H~#_FuWTCB}F ztjl_=&jxJBM*Nj4eDCuruI3u9<9cr3MsDI}ZsAsj>yS6{*Z;i{7?F_}mC+cTF&LAv z7@Lv$PK@~V|8HbQVN^zE48~+E#%3Hg@Vib8*_ch(l)teV!xp#@?(2V#aE!=EjLaxp z@AslMa1*z1X^ov>zW)DP#uZ$}ijg0O{`#L+Vr5ogx$Bw!_n((%1y*G8xKl!X{l8Di zwV&hu@AZ1V_;cykpKTBElGW#y|KIBxj8ixK|6T{a7rdSC1;6im!Rz>5@I$^Ae7Elf z|IPP;FZaFRTYTU5JHI<|+V4&j^?lqQ{O-hYzdI4t_g)7K?|Z8w@K3)(ahI)p|8r}$ z_r1&=7|Hh}M`kzQPu!gc{9eUD4)#5}L-@t-SA_8WwPSpb>^Ls;dlrlNjqfE*!#KXb zGcLRMe$1}S?t30{1itst?_QkXDgNqv0E64uKX1wez8^0k6EO*sv6SzPE6p-2#|nJs zcQ)Sh13&UJoBQ6h7Hr8@Y|WQ`rz5zp{PWj*!?!%{cRWt;Bv0`)&+sfm`M#!rp}h{n zunfoWjKI-;A7l*2avaBV0w;13Px?KPQ#{QxJj-)D&kM}xdvP)`GqW%&e_=Le=X1YT z@`5kw{biF;12E#y!Lx2JGqOyxrckX zkNa87_fZsQ36^9jmS!22cEcd#Ln!(uI$F{9P4+8#&J9+a3UvhGN-Vc-z)0Qp6tcm?8Ckc=lwq68Ih3~ znNb*(Fa6%pE57C%zU4c<=MKMzw3EBIn|rvI`xwFB=_4`{BQq+av8CTpYQ@%U!{6DC zz5TvYANFNG_U8b$_q$6S*pZ!r+1cwZ9Ow6##&ZHEauO$V3Xl4|rei$L6FeErQ(m8D zL4RK<#KJ7XqAbSZEWrbQ|LGtP@i33@D33Fv=h~T=nOT^Xzc4$ac|IJSF&LAv7@KjJ z&-2&(EWm;+#KJ7Xj((r26FajDyRsX*^QhmkI>zHX!IRwW_pSDFKkIvb){wvQThFP! z^Y<_`Ptot$RhJe^zo9^zJ3v5&3FBKD(2S=GL>T429vf4G>R{C?qQ=CxnT z$K!sl@B}m2KV{|s`=Nn>eUjfLyugcokMI)9+kaGGMEi(H9Bn@^hFRR#v$CT5bS36? z|INe0epm1aH@RPKW*_&#zC7vo15YuF`&b$Gr~K|W4ctGbx(~##o=>tqhq2y1@cVs% z_2YZ%$1LkdV(Z6X>qmd<$M@EcX4a36){iaLkCE1okk*g&){p+yj|0|^9oCO=){kV? zk8i9WTdg18SuZ+RC$d@}mRT3FSr5uu2acNmTh048=KC4*ys`Nm@b!Rw4Zc1ge8ZLI z_bT4?yQ}v&*8CpF5axGC4l}=pv!VIjh?C6k$^6FrPQ&`Dee{Eox4=65=F zGQW?S*HO*q>E>~0^S82jyTE*1Y@VhxKdpCJ^Q4J+lFmGtVV-0#Px6~5f0!rB&69BE$v*R>ntAfr zyqIG?Tr>{`=>O%Vpx=w=srM>6AFA*8x~{0_4La_k--o)*t=E8g^_q`I^?HmA^xBYL zN(Fs?WeDB&)@vWu(Q93H(Q8-6)oVP4*J}hO(raQi*KG^#)bB2a)Nv?|*7F#?sUP$` z5^q^t-z7Lj=TkXd?=u)z_wjg2|EF2iJgCMGDT6*&_mPRri^L3Xenj9n^JF{+m@fla z!Mv%+x#rJ2Mlz2gGj(7-F_C$dn7Q1ya zVeR|Fv4H)2K~A!7pUe^V>!X;_K0PzPj7^g0>)(+=*r$)RFCWJt_UA*{&)-M;^M&81 ztsMA!qTi)G80>dx<6CcrT5rNxZ`xaL+E{NASZ}IYZyH)}7Fch(T5q0OZ)RI>+E{Pa zS#OqEZ+csAB3o}_T5lFvZxUE<8dz^qS#Ks=Z@#hKFiJ^5%o z>0$k-Y2D~(y@+L<2xEPSZ(V3=J=ks?_#7hWdz40)_b<)&BIfx-^LvVU9m{+^ZXQ=M zf8Uz7@y*vT=II#ov!8ic&U~D09!4<#Qkr)O%(oooSqJm$g?ZJ}eEQ2gI%)odF>msl zFB8p^;pRu+{+Ls*EA*OPuM_k-TCX|u+DWhd^txZKQ}r6vK5~~{N9*;BUXSQ?mR`Tr z>(6>Upx11A?W5NMdflYgLVB&K*GqamsMi#Fy{XssdJX4%xI?f1>2&>Y-K^KGdd;lYr+V$6*M#<8+4cI3Uf1Y#u3lT~b*Em_=ryliGY8v$HPzP@ zeO1ucc71KsS6zKg*Vht#J<-=LePz|xLw#-0*L!`v(AQyoRn%7vef_JihWc8euU7iH ztFI3F8m_Mh{!aczUjeJ>tUBZQ`*?h=(A`Sr(_enR)Zr_p_k1D)FY59Vi|Vr&PwVsy z7wL5|uj%$Wo9VYX7wdQlBl&x5WS-FVN#@pf9*)=f1WwiaG=AgxM8Gs&Z#ECMa4V~t z7u8sum&}vPyuyv<%_eTeXFrL@(nSj;I>*}n*nykfp=KXy>;3F2d9+Y5d&aghr;@{SZrva@O&)C$uk<9ay z`PPl%){Umtjq=uwYu1g!){U{&jT_dDg4T_|eW<5(;+=J(lXc>eb>g0NVx)EAnswrt zb>gR|A=-UCmqo4Gy~$UHS|^HT$Wrd>>qLIsCD9sb)v2J;oP)N zeCv0(|FurE@IISJes?*o-!EQiomlF9G*SIN>}l)4Z+>k14X>6*}*Caff$yJO;`nGPglRsfpU&sRBm2Daai5=!=kuIheXekT&$+etIjm7W zFSOg|Vbb}$#|)ou_~QB6C4Zj?m9O%T|38-y-+EtlYwuI8?|r||oF~>eM`ZK9&_KuO zbv#YS@pU{v$9;61LB~yW+)l?E-S39E-+i|KU*mq)$Ng@v``tG8yV34m z((Cwl_q$9wUhICC#r>|7``sb?sZH*8G2P!z+D|ofKYL;Szs&vXw*Ay7_p8tL|3loL z>boyZa6d}rK2+EJXSe-SfA^c`_WwoQUrM;IoVTB9;l2^kePXElLR0sFe%Afu*7um! z@oxg_wsrZi{ZwS@>Qw7zNb6-q>*PG^<3j6Va_iz1`>FcY#W2>zfT;ufD#ox*PPa~u zv`*HvPA;=f#bi!mXXyHOUEkOBWL-Da^)g-0({*QE zht_pOUC+{W3|-gIbs}Al)^!qHXV&#yLv&t|Gi1qC3SsW*AsMoOxIm?{aDxS zbX`K%J#`&L*Try5g8=Uh8j*Z(-z=GXNYU60pwR9zp^by;1%aITG|<1Yh(zRza3j(h63q>iWQIJAzF z=s32Hv*@^uj{nhdR~++=yQiYSLidmb$7o$tLyWL zKIiK5l0FCO^OZh(>9eXnhv_qcJ}c{UlRmrY^RYhj=rg}QkL$CMK0{h}`|7ivKD+5N zzCI&bca!L|r9OA-GqiPgtUllAv!p(!>2sz&obZz)95paKJ)0ai$34zvyVQX>GO;}!|StNtyzd+Io^j@Ror zzmBWv_`Hty={Tv5uj#n0jzc>KZ`1KJ9na8lWar$8I&Q7wc{=`C$1QbyO2^}M9LhPh zx{hn<_<@dl>Nv5EXXv<_jwkCli;lku>>v1xp0jbFt_Sg&zOOT>&XaMO-j_3`{YES{ z(*LhqZys#mM)P44e=;wA=412Y3EP?{aqUmCnkOmEla=PlEc2v=d9vL+NoAhoGEV~Q zZ+G3k(QOCaKG5x-x*eh0tGa!v+aI0ZqBy?|(QOguw}j4bwVmH;IKO3gemkPu%ermj z{B}dP8Jyq#(QR|*w}{SfX`J6yIKM4%ev9J#cFOs!sq|FSSk(>`BbGdWk3NCP7T*yD18+S0G^J65|bB?UfMb49pnZ>y>E2lbN zPUBPO%x5gVPE!RYv=1WY|Gy{ z%(;6wM{p$na30^mo!rIL>JU4byUp^ZQgz<8*#-uK&nS{LFLC`{#Lq7x~$J{0l>P zE)bGwJs(KN^vuBKo*T4aOSWQd&lBpfE}z&R{Kb{_39FdZ^M+rT%;!QQ_`GIdJ+5Ot zK4m>FW<6eSJzi-&u4+9VZ#|x4J^s@^VzYh357y&b_7Q9BBc9tw{AC}p+diVC^|*rd z_@RA74eRlI`-sNY<7@U2E$t)v+eZZaVm}eW`uxnk;vbf^zbMD3*6V1TZ@;mCzu0$V z<6rh4e>0i&JUNfskDOp``;t67V1IIuGwf4l^0fWR8P>ILsmJN|FEjYrKIRMe+RyA` zM*Esf9AbYnlq2nPMlrtU?g_ZuzGnqX+5eR0ar>YXTxLJCoJZ`7j7VP8|gzNWr?O$qy&3-&ep z>}vw^B#n78**uA3p7b?OdYUI`&67svNgMNIoq00YJo(_*#l^Zjt>#AlIZ55{cs)Kgw#z6-9**R6x|F9)=fp-?AJ|h-7L|~ zeBG4R%~0J;(#>Vvtkg|v>+5;lEYQsZ-Q3d62HoV-O%dH((@k03OwmmZ-JH@*J>7KD z&2!z{(MExH-4n|->epqo*;`A;_+b@PpNteb9n z>n4)*YL;&D=w_F0X6R;{ZmQ{~m~N`;W{GaT=qA5zPUb}%~9QK(M><+sMF3-zc@#gbB-$Dc|$|b8>V^Q5X<|4r+D5FShuq3Z?XPT z>u#o1t`dh2N zy!xx6zq9(=qrb%ZyJFpHt-p}^+Y-1>Teqg^FQWd&>#v3WX6x?<{Wa6yas7?a-xupv zCH+;^-yQ2#7yZT4-(>xD)ZaM${iMI-`pc-lKKi?;zXbYQsK2QCtEa!!`dh2N@AP-y zy46yDG4+>Ge@XSXRDaX-*HnL-^_NV4+4T2={>tiai2g$BZ-oBdd){^3^R7UTsq{EO zk1_SwOOM_3m|BnZ_1IF6tMu4kk8j*Zm+G;r9=Gdpy&i|?F^(P+>2b9lQ|hs~9>3G$ z96kP^$HIEtt;f}RjHJgydaR|#zuiaY>+y;n2kY^T`)D6MR@dVQJtop)RXuLeV-G$4 zrN?}FEU3qmdTgx6(0c5z#|C=rp~r-JjI76GdTg!7y?P9*$MJgn;67Sfk2CZ*TaO9# zcutQs_4vi}*JOH(tj9@u9HPf6dR(Z-XnIVi$7FiUr^jx3eCPRVKRy1V$Fq8j;JjAY z^Vg}KzmDf2ZTgIv%Iv+&b>6lnq$H#P>M#pz`+(pNct*d)={94Bg zbR5UJI!ni$bi7Q**>&7O$Cq?GUB{8!*X!%Jk&d6~c%Y6`>v(~V`{{VLj&tkydmZP~ z@kkxt)o~gfuhVft>uL)fZ`bh-9cR<=e>(1>CmLv5!iYat@L8lSzKR4+# ztxnhIbg)jh>$HSU2kG>&PFLzQiB8+;w6jh_*?&&bX;z(X*69SDuG48bo#xYNd7aMD z=^LG9*Xco>{-D#|Iz6S+vpNlQ(MuQabT^Il8;%Cp^XZn&)HXbj&(7vK_6*Oj z|MlFui09QMJ*PhC`E+~Fr2`%0(!oj{WYEDx9gNXIP91dCL4O?_us%$)K19>OZtKGs z>qEe^)`@dGYP~qd+18CY{7xs|GoxNI@u2nO5VPwi2m4xI`mvy%3URabW(x~jcZ#r< z^`|y32i74TvK}2~O6yQ6-m(teW(Vs~M~1f^Mc_{B(k?!CAAP|&)~UISZoP`Zsn)G& zY-jyy&qda;#mr(o%gVOawcmNp`gWd^t#eZt&UzP~wXJ(~SkL-bpHJMc|6*V3VLv9f zE~eld>*HMZvQGBqbnE2|X18wUV0!CkF6-wo>*sCjXDaLGYU^h_>*sIQ&n?!^ZPw2$ z?(@&w=R3O3CvsoU;eMXReSEF^_dNISHtyd6ce#)6X4=61mHFJ)^D~S4dsbGludT|_ z_P1jg!MQ6U$JpGsDnnBP9R0HfG1N98R0 z=Gh$Yb5j#I!sn(&^1aVbeF$bvpQozDI^5~=RlB%{$9&%EcrZ_Rox%4Ye#`IpJ7om*7|zR`ntsWn$-Gw()v2f z`g+HDdeu6*+WMK(x|!d4dC@vq-1<1qx>(72c*Htb!}{0Oy7#yB?wWNjm-X$vb#09G zEVXs)vh^#n`|K9$ReI~xI_uL=>(UPEQ7P-t5bMuh)}7VXn`G9R4%U~h)|D{!S5vGb z*{mO1ts9f97aOb-6|4^htPd5f5A&=K@2n3wtq+H-4?kKT`dA-MTOZC@AIexC!g;`q0bzaNK&3$vRNV{10@MPgiSo^@Faa>S}_n^6IL)u7>F9 zsIF$~DvquW=xU;_F6-)yt`_Mkqpq^)>V&TH>1wF1O6qF2uFC7Gsjlwo>a4DQ*3~mz z4bWA5U7gTXNL{VcRWe;I(N!N^ZO~OgUG>)0pSoJ4tGK#qp{usK`rtk_T30{nYK^W& z>T0>Jis>qwu1e@?s;>UkRYqOy)>S%Pb=B1oT^-j|QC)@5)ev3%psPR^Wp%Mz7ddpX zP#1G_Q9>7kbTM8R7j&^q7s+*TS{HM4aaR}Db+J|#xph%c7ngNWQWq0+QAHQWbWuwe z?R4=>7dLc~M;9M;F-{k0ba7P|QFXCR7vJh)gD!^aVwWz;=wg^Ip6X()E>h^ClPf&cz1je_p@!e#6Ga27m#&@dm zEo6NA7~he`_muHnV0;rA-=oHNn(@71d@mZ`<;M3HKNv8s7oNcZ=~YYJB?}-v`Ebnek0% zeA^h`4#xM3c|YFxW-`7TjPF?EyW04cGQPQtZyDn|)A+tLzFCd$e&hR{@$G5epD^!F zoA)Kn`_Sh7F!TN=^S+GxNjCSBKqu97azrNubh1(>OLS5}C!=&ST_-nmvQ8)Ib#g@~ zOLg*>PVVVst4<2*q@+%6>!gxSX6mG_PR{G(SDkd%$s3(K&`D99gmu23u9F{ia#ttu zbh1w;nRT*5ClhpXSSM9=GF~UIb+Sz-8FbQHCj)d6-8wK|Ck1t~Ung^QvP&nmby8X< zb#$^)Cte-=_I>OhUw(0POj^us!pQmWP(m|=%kuX3IyvUlTH@sB!x~!=wz@? ze%47Vopja7cAbpTNf@1M(#as59M;KholMk8N}Z(B$saoTQ74^sl3gb&b&^vj6?Ae^ zCp&Z!Unl3SC%@_By}!4t)yYHW>WMlDqmxlOX`+*9I!UjSUv+X&Cqs4e*56x7>!h4c zu3Ari*GY7pjMhmjoea@Q8lA+~Nd}#C(aCY^Ni?0z&`B7bRME*ooh;EwDxF++er=?a z@H$DSlQ=q=ZGSq({xq<@#MDiH-GtChE8R5HO)TA%*G(E?!RChF$6Zo28_ ziNDje*G);?^wLdK-4xf>pS+%}w28(akTq*{7SDx_Rq!Je_q@MK^796Gb;)e2yoU zZW`)llWyMo9M2Hl{Oj*@1#~l3HxqOdO*e;iQ%*N8{hcnhZbIm0gl>B2rj&Edbmy8d z&NWG$YvKg^yG3Gsjnr2peRbAXdwnI*S5192(bp1v_0-pY`kJq=_WIhSuT}c$udnF( zimR_>`bwg&#`;RDuj%?qudjUi+ODr<`U-1Z+N-as`g)|V+4{Pmum1Xap|2kLs;sXe z`iiHo3i?{Fug>~C%`l_$5&-&`6uiEMU zdabWw`kJh-Y5Izzuao+!qObS*3amSYbg@wv8FevJ7gKamP#3**F+vw7bunKT3EZ!a z=whlauIu80E|%#ct1fcs;*2f|>0+cV%IadjE-LGyg)ScI;-W6H=;FC9hUg-(ea#tN zgtf0(r;AkXS1WYUUl*HoQA8L0ba7u7OLdXJzNWP<+Uw%8F2?C1qx;o*U5wGiDqWP+ zMNVCm*2N56ywF7!UF_4vx9(Rxba7l4r*u(57oqHHhU(%+_p8#@onNdwd#yWbtUKMU zJ4dWLKU;T7Sa)(;cj|b4I@xp6Xr7l&@SHT1_j}*-Tr{EQp;bHwUE=xYY|lLdy>`^= zBfZws>k+-~)obA2FYn*q>)+4m-(Te4pX=W*sqex1o}llG`d+T@6#71+@45QEr|%p3 zUZ?Lo`YxpJEBY>_?}_@Zs_*0auC4F(`u<1XH}#!Y-=Fk7Uf*f;eNErd^u1l*-|2g! zzDMYLx4z5jd$_)z>3f~NQ|i03zI*69ynXw0edpBoANroE@6GzItnb45uA=XS`u?cz zJo-MS?~MBHukUmEzM$`N`i`LQQTooT?+W_P6>Q&LKqu>U@{>-c>tvEn^6R9hPKN2^ zxK8HkB%V$V>147_uIl8RPL}8-vrcm8EvIX z4AMzLot)B1Xq~LlNnrk@bzP>oE^%F#ey&R|*Cn0n@~i98)^%C$x(sn$KH4{|a$S14 zF1uZqEw0N**CnCrlH7IK;JT!BUD~)VKf5jqU6)L*O9|KIfa|isb&2k}9CuynyDtCP zH!N{oZrV4Da9uvyHw-d=>Y6{}%%2qIPi^yOr}@*@{Q1|up|JT=%=|g){?N?)32*)k zHh&tMKYh%fq~=d_^Cy-0)6V=kX#PYre+YoPit28i?pElo zitfhgZnp03=x&qlzBeCl>Tb2}{?pwP-R;s{3Eh>~-2>fK*WEnb{i?gGx@)1ke!Bat zyQjJ29g+4(sk$-Bs3IW8H1gU1ZN&%IfZ#?($i;$Lj8m?(XWYj_%@Gx2Nka zzwYYkuDI^b>u#^^hU@Ng+G;+dQ3Jw!RJ0*=y@tZ=F@s*>IgD)L9jsZPr<<(gMot?10{i?H2I_syi z`a0{bvjjSeq_dh4P*0)kRo3682I!mClv(~p7I{WNglvHPtbT(0E zgLPI}XA5)|RcC2+mQ-hXb=KAT7U(U3-iGNdyxuzKt*zb?>aCjI8tHAJ-n!}Sncn8; zt*zeH>utH-`sgi+-eT!(vECBut)bph>urkO(&#O>-nQs%vED-IZI|9E>FvJWX6o&n z-umk8KfQI+TSdJM(pwz8mDAf=y>-;vJ-r34Z$sDjyz5)q_1*0Hu62EDy1tWL-vzGk z1J`%E>zmPi-r9MeZzPk z-V4{alIt7GePfC1o6CLUU)MLa`^Fj9x1jsRG1qsl>wCfVZRGmSaeYJke!)Yo?=S8f zBhBaW=5tc_jWy z%{a9&PIt|NiN>k1aav-W<`}1r#wnz63U8cd7^i5)shV+0V4Ox8r$ojnqj6ek9?URK zZ#?hZU>+1VPFKx?amMM0dC=K7Jv0y68mD5$sk?ECWSoi^r^V($3*&UnJjiIAG8?De z*4=8x>6PbE9gI^&+VzQZeHu|DC_Px>uwb5 z?m_Er8SC!zV9%pE=;EO+>YBfYb+Jbm&2+Is7h84lUKeL{QOx}PsEZT2h~|B?5xtN0 zo-W$xqN6UNcpq&KT^!QIP+f%dKHBlRSfY!x=5IXjqwQw?<}`m#>*6=_H@WxGRy2RV z=%S7J`%V|_}Xea9;;6;60Vh-~;C*SMk1Dl%Pzj2p-cJqLa4ziqiU!He$b&vh6 z0|OYw_f>@D1HDD?yMFWaHraiCiQZo8t&II-VBM&sj|2M1qmQNfSfGzG`WU8<$@;jW zk5&5kMjsdSu}~imtsA$k8yoeJUmr#FaoxI6P9IbCQBxnMtsC|A(ODlatQ&t?Hwx+_ zq&_C=<6C{)vTnrE$1Z*Rq>ruo7^9E<){Tn#7_Eor){RZZKaFwkZoC8bG2VR{*?33c zY~wwLd5w2I?zX<{;Y{N`i`%U?f3Ug^YOuH-O0b45YI3PQmNA4*Lb8B;;VJ7=R_Bkw z)~8F>rz_T{O4g?+&L88fPuZM5s@NCivoAbmU%1u2u)lrb8T-O)_J!r`3k%v8HnK0A zZeJMNbJ3}ui-z-D^pWSHi9Hvs=DFxn&qe2WE?UIvRyFZ+A{<aI%*X!bUo`V>p7~b5Jlkh}%`vZbnoqUNqf+KiZS!V@`4ZYZDQupcHBYjcCqvDX zE9S{H^Q4M-64g8zZ=Pf~PpXo>VYT3YjOrnkO^NlQ`zd zH1j0TUnl)N)?a=79o64H{k72FD*bKO-$(tO(_eA@ebV1a{YAH5h-ANTUw>`&*GYd- z?H79L@38)c=`WQ1!UX*-)n7XMh4}Uh-SwACe`oa9On)it7b@v5gwNfy)!%#lo!4I^ z`-Lg`yR5%l_5~mH*GzwV^mj;q74&yse*^Uw&VBun{vx@rFVNo<{Vmns8~v5l-&p-6 z^LwuY^mkc*Y5jicH+~0orv57E@2dWK=x>_-`s**6-`)J6zy11)?)NU+>u;d`y6SJL z{?6#Hr2bCmFNbwHuJ0uZ^jKYwNA*}xkE`^!RF4()I9iW0^mtQ`>-CsHk5~1$OpkwC z5ARzKx9PEn9!u%*j`gsz9%t#Xo*pk)4;$;ThaTTr4&+> ze(PZtJ?_-wL_Hp{9#+%i1UwZ`j(@%r0%?J-`Zj8{eD z_1JjTGF}UfR}#6ZdVZ2Tnue`?Vknx&j zyv`c0`o?Rf@d{!6*l)Zt8?Rx;Yqar7XuMV$uQJB#r14r|yp9>KrpBw9@%qjBvDx|& z&H7Q^`fQT0at6KW14!B3nP6+UF&=&#P&lx57SezI|SC`@BH6-E{j}x9xR% zU$=L3J6yL{bQ|z5{RaHo>+gIH^?Uxnh(4DZiIF)_?}Ip)1$}O{5DPP&&#}g50@iSU zt?K@o&F5MVn;)0VkJj$5*UgXgKG*up{AlL>8o}pUzwx=&<>tp?_t(fi*Lu?YXyS9N zA$+cNtNZIq^JAg=YYLxhUFCDFqkXRRp!;hrpKA>`)#qEMF@n#zM&ucvcRkC3KKELP zGkpGaCg=Mc>_UF;^RPeiq|e2kW(S{-4cO7^kM7%__&IPs_xag}e8liRPaA;|xy0vd zmvR~B`n>Ht&gWL2zugwh?OuoVx!iCJ&j_sL^SZTJhjlsE=XmFH0T=QopYP2W%uHTq z<^-SroybX?%qe{2^T7chd;J&xW^SJ!4w%R5yv!fa=Zg!lAPWVvu-AY19P$qC! z9yarN<>qX`mTbk=eCB&L|KY#>A?)x~~u|0eE9?qWZ#TLGQvn5+` zuGDF-}pYvG;HSkFKhX}%g63F zD?C@o;(INV_+HC!zSpuziLBB8|IZDC2;7$nx-V^TU;5d7X@>jKWcQ^4?n}MgmxjCl zoUosoXFnC+{p7Iy)D-)vYxYy;?WdO7Pi1kx$mxD@+J35_`^5t`|PJG*-tgM zpL$^bd%=Dxv;EY6p6d^`pGssub=rO^jQhn}`>B-nQ_JnA`q@uyvY#q!Kh@WM>Yn}Y z68ow6_EW9wr`p+1eezs?to_u__EYQZr$*aPt+byiVLz3_eyWuH)O7o)=br0lwx8N- zKb66Ls=NKvG5e{&ct-kFT|D&sxVc)#^`oQ=l2gz>)S?>OU) z_fdbx>0-Pe`8&?<#=E%j?qR$m8}FjVdx`OGX}qudJ5DC!oyB1ezw z8ShrcJCgDK>^>#`~GS;{?XHit#;UeDj&l%Z=|M<6F-7jxfGc zjqf$%yTjT-^IrFvGM)W_-;171&wcU<9pNiRxrNPjc;w^d)D|iG`?Mp?bmZAT}!*Jm0Z^+u4`@A zb&>1Z)OEe#y0&&*2fD7I?5qECT`Rb*F+gZ-Hg`962 zI^ULZzP;ppd%*d2l=JOX=i7YFx7D0)OE}*)cfOtHe4EJmcDD0v6#I}s?{V}#NbjNb z-d67|^&VI6mGoXu?{oFuN$*eGCuZoqrQTQTeX-tq=skkoqv?IV-s9@MuHKXDeS+Ro z>OH&OH&{pJ>;1F)#CG?Ia(chxJ~37Ar`;!d>HV4eL}$I1(|dot$JBdiy$7yiX4i3{ z>zLAY9O*g^aUC3yvrmo|3 z*D-_Z*w}SEWIY~c-FWAITgJLk-nwzk{kENTBZhTjjCG^6^p@rR zzzO%;=;r-Q^F6G2Ue)|wWL_^dpHrL9H@t7+SMxc7`JCQ-j%z;8F`vhp&vnh`RpxVC z^EuE{89nXNQ+7Qq(9>)^71z^1J&n`Tc|9%FQ!+iB($j1`{i&z_$KGAXM{#`*9}lj@ zt!Qv4?pg@$?jGFTJy6`;3MIHZ6o=qe+^qzPJH;vTFq_Ze_4M$a--ZZ9?mv0I&Y3&2 zJ9o|<+ug}|>S;Okl#6=GM?IaUo{CXVW2vW#)YE?IsXF!4mU_BJJzb!la#K(LP*0<& zrz9MQ&Qed|IS#F-o>EdztEi_T)YBH~sU-C@n0mTPJuRo65^x;qNIi9M1|3aM)Keeo=_vJdf_f@VJ%!@b;3U$?wx(Y&FwW6+?QCCr^t8&y;P3r15 z>Z(0;b%Xu=Wa_FZb+wqfnoV7GrLICySK+8DPwFZPbyb79ic4LMrmo^sS6Qg571Wg{ zb@dPX`*qY+N$ToP_EQt6tAp&Px>Hwo*xz@cu1Zi>y{W4R)KxL+Y7uqSn!38geku!f zm5sXE$$qK^b@h_#f-clmW$LO8b@c;vbS8)ZNe2 z-Er!!5Op__x+_cF?WXQ3Q+F+?yIa)V8R{+@`!n$=_4f>iQisDZKKr=@c$~UCfuY#% zg~rv?=^9MJelRI6rEZsDf9iJtuBVPSU=ixMDE6bS`{NDj`z9`;&KF~B_M>sI4RzlZ zJ5v9h(1rbL5FE#N7>}9Q-)6=&jE~=O4C7=hE@!-~z*3Bx()csuCl8ip9F@V}7*Esj zDdQ?D`|DkdtJLhTdoivKF|Lj>u1YYjg0sIK%D76;{<<{dDm&w9C*x`*Hy;^ z1LLYVZ zfbkWS>()t(qg0F^Z^lhj#)}u@Bt7F}1LI;e<6#%$paS(jin@PHy|1OtlTqJ2sO!Ge z^AFVV4C>d7y4_B_PNz;cQ=iqT%i`2y4eD?a^%s=u&jQrnQR*)%^*4z6J45}+aXdEL zdl=h04BNXC+q)gxI}Y2s8r!=e+j}0{y9e9*A;syia z9nJdw#`=1*zH3?)mSl_#>Z%NiS9Q8ee`p!&!-=e^*xmOj!u0qpuUSy-}|ZW`PBCw>bpMmU4i;;Kz*;GzQa=ArKs<7)OQ~0dldEU zO?_Ws|5}s%Yc%$+Q`o=eW&c{6{c92SugBTHZe#yCg#GI&_OH3wzgA@bTA2N7WA?Ap z*}ukQ|2mERYgl!^Bsz6CkU9)b9k!(oTT+KHsKbiXp*wXrlRE579o}KwO`{H5Qisc_ z!}-)H`*1IL^y^Qtl$9lhDy%)0H-B|BUtoLfxdob%Ao%N2xdM{_a z6S3aSS?|=W_YBrME$dx~_1?yMFK4~OG5+?l-Zfe8dt5inX8fJwx?vFG?*-QleHee$ z7=ObVe{mRpRTzKk8Gk()e|NcVkp4|V|4yKPqtd?~^luOPH!1yFkN#~%|BB1$=M~tW z{vLoY>GxN-i2h%U-PsO3a5LLu3$9_i{EkD|K0`4E+bJf-WqZZL6>PVan3(OC1Y58j zTVfivXIh-ecAbUk*uLqpFx$BZZfAS%z!hxwl^CAw{{!x$4)$X$>Y+B?r!F4g9O`2( zo~KSO;9%-y2)?9l#891?`G6>XzFM<;J zIEngm;ryr^^)`b#n@xSir>@RWS9PeXVANG2>MA02HHEqwMqO2-t`<;Nk*TYnsH=pW zALZx#s0Zgq|8QTYALmDpc%J%kzAqVu@39o(`;t@mzT{}WFPW9^uLR@!E93cH%rJfz zBgey{)bj@FISchXgLNyeT`=_bru$=F&rJj>> zzQ2Nc9z;EFqMnOW&jYFF+tl+?>Ny_g`|YXcF4S`{&i5x$&snMGb=32C>UkCQT$Xxv zqn^uA&oij!7u2(C#~5tKL2SnmY{zzN$5w2|m~6*NY{$B6$60L0E^NoU?3aFHJGNpw zu3$SZU_16=JBDRDMq)e8VLQfTJG!$S6S5sAupJY#9doiBe`h<+VLQ689XGQb%ds8* zV!!k&+wmy-rQU4E2ke)+upP^?9s98zqp%%Iu^pGO9i=}L(4V8}&j|Eqclxt4{pm`7 z)}lX~(w~dyPY?R@3H>R{&(87}vixK$e+=TYZmpDfchFreGQ<# z(otV6sIM;6*9PiqB=r@H`dUMM^{2k}P+wcAuW{6uEA^F(`r1f+rJ=q$QD51puf^0? z4(h8c^>vW?+C+WDpuUb%UyZ4+m+TLgQ(xDquW{5@FzRbK_0^F2noNBqr@rb_U%RNU zLDbiC&QnTIU!|$9v(#4`>MH{EHG=wTL46IRzGVBjvVF#|eIl}bda!-EuzeD;eQL9P znz4NrvwixoeV(#^naB3&%=TH&_F2L98Nl|5!uE;9_F2OANx=4L!uCnY_W6zNlZx$= zpY5}S?X!gK6PoQ~eJ9q%_4r=&zLM3kzDCs#d1v3U>cHFhN&Vmw zC7PqX(SQBm^?Kk<$8pIRp#9)k^X(0*UyXs&4;~phJNno7dHTUM!ISG&JsZEQe(>(o z-mzVbUuQpfReO5Par`xY6aC=crJG|tjNe8-xP=eu*q+93ydR|c$hAFSi-S6&CM&n7yyqtWz(wO{*I>%e_} z7Dt^MO+Q$5{=L_M%i9y)RzDa`KbShO9|vB0J2}RQ(e#5gPD~wqS{-<2jqMmeM$-@0 z_%U@5ICbEj+2fMczedv!rVc*eIB>~-_)n|9jiw(=9sGCWz$-^$$2c^aez3-&se`Yh z4qQ%lx#-w$8cjb~=TW8(zV14Bd*Xs)JR40vSmW8$!FN>$?)x)3*4JqI!8#6@I{3cp z!1LnR^Hv=gO+T1AFyp|l`vKSUFV9)^V>JC>>cEVHfZh*yB&hG$zZgwFSo;@K2c{1G z%Q|omb?B`1`bN_arVh+F_)_-+9%p}c?5B*T9~{R^Qx9f5Sm)1QcpbQuS$4*%SEK0% zQwL@oeC_)I@1;o{`!l2I2Wx+3>cG^&w@?SJE2o{d*28G}!PJ2n2jA*`!2NYB$9~Re z`oY@InL03aVCukr9Jmdic*^P@qv;1z2WA|Y{ea*01Fj8!bnHisrXQ^RsHp=}2c`}J zZX9@cPd#b%r_uC-sRJ_(%znUs`vK3Hi5>e>qv;20e`@N$)Pbpk|6m*}T5`hC??%%P z)_&O3fvE#i2VdMcaIKodQI|&357zP8)Pbo3QwLw)IB+kq_qes)jHVw<9hh-o_51K#b|9JT7fX!^m_ff)y8 zKVbF)e%TLr_ATc)ju=fpILREI&eGl@QAe^F`9lbbzsJU*$cDMt z`9qHD5~Jw{>wMJIfvE#i2WA}D><8SZFFI%)FN~%iOdXhUVDW*nIP z!1uKu@QRttvHv%kez5lcrVdOUm^%1+$AN3jk^3FzaYoY*)^(k!15*d44!-(v;OY5d zpS52%ntm{KV8(&j4}6*X0k3vV9Q$db=?BMkw5bO(9<2LnrVawN4!jGV*=vnAqv;1z z2WA|Y{eb`W1D>->JNBnW(+`gO4W=H*3_E$#J57z$5)Pbpk zz^DWFk=u7!%Qc#QFm+(Yfp7N%o?#0+_8Ugi57vIe)WLUJ2T_mgbZmd4=?7~+VCvw@ zu7kMMecqqZ^n*2CO&xsJI`C+5V~2ITG@5=eb@2Z47&~m=P^dp57zlC zb>QyO+R-1zZ>t|XSB7_NSK}Aj4~v#~S^Hy8W8n6~?9x8VH~Og`T=!kuYSpRn-~Hfu zDzl?szI9!%{<6if{l5|2d!OBGtjt#m;l{4F*2k~9{2A0SzcXEzw_9hujx${%-CAq4bEe0e zhK_c2y570+yW{oH^GqE_{C>#~t-SlBk`Ejfn|9yPF5jbjmLBDbIrN%8`>qvx#tQDx zWk%yWj_JQ0ylv@yC998lXWw$f=n^HGBNn}054>qj7d>mfyRm{j2-@ERN;)SC_XZysh`|U%mEraxBNc zdS{L8SdM>n&+Ku@S}*_VlK=3Zj{fnd@Ar$2<@i^ZlU*)4-j9EMd*TAy-Cw%z&*+%n zzj|IAd)|6K{?+yT%X8Lp{HsTT`i|xJSNBkd&RXxszj~bg*|8k|>QZLe8OL__r`}7G zI+o*CT~|&!?buHK)ctiV$8!9u+wh5}toP$zT^s)BSdM@7@Sb|odO!Zvb7o@4a{TO~ zB`2)+@&5jozjUpd!!f^qbuY2^xb=SgtLv4jj^zZDUR&=Tv))&L>(PZZlUOcJx~y>$NPH z<8=aCx6S1bIo2nDb)UY-=l|0Ow0(jH&i}m+;Qt@(-~TuHssFFexBm~xxBp+kx6k!< z_B>kOK3CD%bHeoVmGpBe^m738?=?UA9iIL@j{3g8{vNt~|5Cn>Cg0nU??=ez+3$C$ zpLCx?-|x`(J@oyL_t*LVz7O(^-Vf3DJ@owzeIG;Lr_lEy^!)_8`vP{?`F7XscGux{ z*VlH}$+p+OHrKOu*QIvXnReHW&aMM}dwu8I>o?zCr}_5!%eU8CzP*m}?RAoGuY-Jh zo%6}pF`szd@~PJ+pL!kgsn;9+zMk;ob%S585Bz%G@7MEqKcAQT@jTnF=godSANK2c zt$)u~{d`{P*Yi$)o>zYE^GG@G^zHeiZs*(cOWn@5=bO^b*?Fg)?%VTFY3J;GR8QCE zr_N%1{^~5&=eNF%^?9&wR_EPzzq{4v<94x}r#n;5@~PJu`nuwy>xi%Pb5v)ar|Rnn9qa1~ z9qa219qa239qa259qa279ot=}NZ#&xMe=snEt0ppev!Q0b&TZgu4g1~dtD=+^VwYA zyk9?Geg0;5y(4+M>mJGb_xi`#b&s>_9cR}$cGov{*E7zpUz}aHIJ;i)^>vCbuTOk? zUE=I|#M$+S)9VdiUQhV;`oXu?3%K&dyJronPwnMSVV~&+|SypVQ}M>O4%JU&;AYV4rvB?`!Gr zXX)=_ef0e+^?fV(o|PQ;<@hegaXDVgaaoSP`uM7km-_hk;W(#`XZk*!9G65n4vG4B zr0>7!<4s^4U*x!Bcbt*@e}24ia-4B?eEF}BD|W{dyW@x5@xu1_U~@dM+yC3`@9p;Q zcKdVN{kPqI+h%`lw}00AVTon`tJV8siRFHRR_~uBmiq%*y}#D6-TeT)AD39~&m|75 z{krVm_4Tk^|B7<`E6Vk+=-2CDx&HO<@kKr_6XiPB&JW)wme0}bRNpuDwu$BY$Ig`F zoNtxyEq|(V{PeH#z36~aj^lx?{@!+A$8tXMx&83HbNxN^&lRihyUX|9|7+#`(3h^9 zr+zKU`SjPSTnBt@%5}@vs$6eo9TXg?t!!Kotf$Wdk%#3pL~zP7%hXR8fX3J?EBDWdcZu-$5}u6`g`a8 zeJ+rh-*?Yda`L@P|2|jA%>REsm&)1qTFvx;c`nzd_M@}!6PxJ)^PDsP_M@}k3z_Kw z`y4sn_NUX|X$98v=*)5h^m%++)?v7|M&AKo@3!|@_$(WXW(=9gWdB(On%1!YkPdIevs$07?U~r{d4z&ejbjANA7pj zf6c&Eo-<^8vCr!7&(#n5c}^y7;^_a+)erK#EaREIR^5NDe$dY)GjVB0{|9tG=;ync zc-J1Q&I76+?4Flr@_8KnEd3zQ3p8%o?Kr=<^uLwoCmQoQ`bqjhKTq;|k3V`&vTy(I z#n;+SKL`3-iPiJ0?f$RG*OJ%IYuqKSe9UZ*!bS1(y2%AO&=+{;$&e>pm~X`uJ0MK6OB;|G$%OWBET&zE%ETl&$l# zY_|I6{qr3Er|-X~waJ=p>#KVk9n)=eSy9$8U37oCeuLxn@cnbb9I@yfZtQw%y6Ey} zP)Gbe^-2F%_f!Ahl{|-Ap0BN+m#v?Bt)E-1pDV4O|NPPOnbq@>_4A4KbAa`8cJ*^> z_48o$^Hue8N%iwP^>Z!lp7ZG2=O6m^`GCHCZk}(SC+F+utNHOcV}5=9mVcjH<=^K! z`S*E8{(b(Bf1iKj-{-u@^EmvfJa@vc+C5*vw|V`1fKQE`{m$LlbZ5WMb~fGLzuyj^ z-y47G?>X(-`}g;UGQV$s7w4>9fcdaTSpVL`ud&_l6h1ZY@831}^ZWI_ z{eH4tJ7?dUbvE7Zd!3(}_wV--W&QyBexkGQbvc{v$M1Lf_4_w|{r-qwzxVN}pWA=x z=ggn_`KVt%&-3f&Q}TI>U-j?jGjhNFQ}yfpd_Ug@_v`&*Ki;qP?R`+Y`;T___3ZAW z+1;;_`$hlNb*fyS%5|w+kIHrE*M9w}uRHbirM`~T*NY!r7pm(&eO;%o*Yx$5zMj(8 zNBVk4U%%+<5Pe;tuM70~zCK^q=ieWlZ>#fXeO@c)qoO|F{OJ5rohRz^JAIy}&$B){ zk5cDF`us(om+12iIUf)|Ixo=2Z*{!Z$6|9LMDNB*z;$Zpd*!_T#dD zmi_G)zyAoN|F0_do6I=>_wxk*vvJP&mT@iPS;p~)@yocC@ham~#^*=lQN|(TPsW{$ zHyLL#zU;=;_c~5we8}-nj(c*v`*57&_$J3SIiAUJOpaf2+>+y!9H-3j>EXYBKmUy! zpY(Xr$18o@(#J1-9Mi`$eO%MWH#yFE>gxn`{;$vL_4&I#Z`bGR`aE6E&qe*Y>W9xk zL%z|L-WU_BV1KEa$&+-YdsJInVuYe#?2SoX_g>*AM5dU-{kH7CMcI#QWxuZdu%Fk@WmfkyUnU>=78`n*Z5E981Y zt|Lqxn>zlVbu7=Vk@G6ipZB*+T?f79=lEi^!eC_^RNKAk7llGeSWw2sn@k; zzialp|8u`<_OrLFesPHs&7s}**M0rH0JEPxVfClJE_8bRr>^((^_;$L3#jWf{W)7e zU$@EU0%rgFdG^1~K5x_K4|1PHl=~}MeV;{Qr}tUZ{S|#b;pJX$$!%kkON&F4Aa)#tOa zztZQYA3p#4PQK@1>d(~Qmvq0&)T61#FR30sd~ej|dvE%>O0J_!9h*A-|LfSV_kHAi zQIzvWxql<~XXO5i++UIVDBpS=%J=8w`b3oL6j82M#P9v{*l)cqbRC%O?(_fb^yfIA zyAI6ru1>a@pL_o*&k;1=!|?fCv)+GvEBE(I zU7734|Nr_@es5*!;@hqZvwgqq?fc<(RQ`ORPL9`ebNv2 zN9De#&G!R7wO&89eL(%+5p%!r>$+cP>cnP0_#ge>9y5NvuJIGl#|JYWZN{VeJlem{ z2mRi^$8GA&)Y<1e|26d%xb*vOQ_TMXi;_m`YefY0FbUoU#kJeckKV`=WNgo6_I+{O~d(~Q=e&M*_W6~m$FHj%&G!1bw%14JegE6 z>$*cff8)b*H~y>Vo67m_H}d>+Ilq(hwh!lHa-Q{>{?C!wj|9wq#Pnmp^rQY9Tz~HU zrJP^M^`BhV1@w3}^O2gvk84U+Ed5>85iBVbaTX_TX_Btxyb*?byNQ@*JEs~ ztJZS82F&~G|JU0qha(o>ulE&ex+wquPL%)iCCc;kMLBO5LOG7T zFM)?v9k@>_`M_bZY4?^>~Wo{G=7k@2C&gRXyF@4CKqJ%6a< z@9g~O!}nU$_gLh)>AwB`%KH*E_58jQ^zq}vapNmF-#6PaVDC2vc7F!;^7Z+pKA+U* zj~|^cs`EoRFVyFO`n*q{=jro0eIEC(y)K|dn4+8o;<-6EET^c_> z5bXV$-l-pYo8?oKSX*z+fi+gUb||rEmzU`W`gkt1=GR`e$?J9!U!uLtx3hQS>DF?6 z>yS@ue}VSru*Hz1FTn<*RH-I=EE-QIrkoA6!pu}QBo4iaP<7B$Dv-5z>{3liZ zn2I;OYv0p)-`Z<7dEIWNFWbp{>zuSdZ!=xLpDU`}o4YRUto2BC@83#Zd`UZr#aA|Y zS)Q~@$nqr?bvwz6GChu(Kc0$pdzmkZYImYi_eR$GzQG`sePU6jiy@f)lJ=5!rd@k^ zo!RPrJS3L+8fK6W7%WqM)qJ#3~+yZ)-3 zwAa?Boy;fGB^Kp%C9cSPEu6fMhU$ID{Gz;`UQe0cf%)b2yAgNCw<$80vHER2N}M*O zPhQMQ9L^>$(`9~9^3IIUa%H}ZDwe#wpCoE}G8IdEZGPIxa`be&yu5#DpPA)k!NWb; z7O?tJ8@%Vg^De}qOuu9^zh0iiVOUNKlvtK0@k6y-$;)!I&pxre%&h*<^9QYF%Rt$s`fHn zTR^pw<%-h2IPD}KZrqYoR{z==S50?QaXb|lBu=363016LFFDg?e*HQXn4a3na`bXD zI$5r?&*sbJ=BAw}^UM1dC7+-6mGSzag$bG4qFcQ*YX^ChCaynfqeW20Kz zMQo>H$%`}8^pz^s?FKPjmb**EgH^ngSd`@rCqF{9m*tKjFYjj@vCJ>|i7GGiOFQi} zwOm<_CwZBFCh;t_d|95fo5%D;D6y#9%j?Pf%b8E|oquf@%G!Q?Y}C^w7G*w(#ceE4 zVzIEz>ugf_Nh+4<`_yu)5l>U?<@G$t%lnzB=9l~&@}1Q51u9-dd>m!|rK;U>;uR_{ z?@L_6ba9r7H>mlgANr8rit>IUgh>2P(D&OjF51Png8Q_S>7t%b@-@`*Brol?TUoy3 zGphGhnOMw1{E+#wsrK@EImze3-1sxf`^-x$uP^f#ATMzt;^u1pqN-hS;;>i}OR08c zh|AjKE2_M#|8>^88q?+d^t!k2zO_AFQR1O0mb@s_MV*&;9Lw2jv%JYFFU!k7zA8#y z+(}-XNn8(Sqr4As9{KsW02ksST#WL1%hYsP-b(Vae&QPP(rztrH(ZY!a3gL~ZXuTC z$n@-jFy^hQmf%Xw? z=9B4nng1Rx#s@abmG|+O=}+(}KEvnu0_AN9ze%pw*;||=3 zGXHMkfw&j<;eI@zJV<;<<&O{_McrQ~$e+Yuv)uMs^$|@ec{{_}wEscnWw}wvM@3n# zOc(9)GX31lf4|=ZEU&CuZX)8um;{qzNz98WP+tEh;#8O#<#kf3_L3JfGCdP!#w?f> zvtf43fwI22h;!r5mOcm-vBWcoGo z*HKX1d^gFmP&9P-xUHR7yYB`&TH>>;(V(l)Q`~fxp->ThV6(1!|kk)6tjuW52 zlXwbGV-VV(B|eAe@d92%>93H?C-G&bCnf(E@m0Kr*YO74#9Me96RG9jCok{!A@L)W z{&`IN1fSwFl;yr47XKlBjc?TScf>BdFL@uLY}ZP(3qiXSrC!gp>P$>SoI&Mfx}Di+ zpF_=;i#WH+=OeZ=Khq1Uc9Jh@v%JzO-&xIHp11;5#Nk*Ot6){EhShNZ*2G#^TUnR5 z9!meo>q*>*>5^}v+BYL^jxDeyw!+r90A=~@iRFEFB<_ULPhE(+VmIuLvfQ4;q6cvw zl-HH%{mA!6c^_J-hoQ6^hOv@In_$(covutz?4(@^HT@^zRG1pmU|N*d%|z_X?5dr_ zIc@S4$>&wm3lbMnd3pV!6qd#^SQdL=d8~l)zN!&d!Kx_zGE2n|llg3~ z2`cYSTo>zMeQbaYQ7^YCd3nFhiCdt&pH{@Ju?@CGS#Epcj@Su1qbyI_btB&$<$c&G z+o><@f06mzV-2?IxrZ<9PrHGt{a_UjB_4*uaRiRUQ8*gM;CNp;MYWT7noVBTbEcX; zk9fYy%llYFelae=>$nV;;|g4ftME@;gTLcil=ruuc!SD^sQd5jwT00#?LISQ)EeH5+T%ypK-d88$nb-xpVmFlc*@L(z%6j!C_P{>aSGDU$++XDf5)Z<`xCn>g zaFq8euRn_XXdH{ zJsz~O#={Ae*qN7T?`<>RUpDz0Lc2^z`YkU>F=jU`Pywp;2BpEO9stk3Xn(5s6#y`jLsFpu9gZI{6rCdMx4}RX&c2 z;}OSKc~|0um-Msq6KFRPB|lls|10rSoQA*Qbo9g-D6cz~i8F8}&cfL^7iGEgi5IB+BI3ok1efA6T#hSHmb;30HLk(mRl9Y> z_i%%aThx4Bs@-J29AwB`^NK z^oUN{MP+(4)h-5cOqGwVVtG9=0n=SoyLiNjRXzoAGL%@%r1GhWGhkXwr`pMMQI;p~ zGYjprVm39uw983e%uW0==0R!iMm!AjV*xCP@_q^v7r~+^%PUS?0wpd*TpG(@SuBU; zu_9K&%2);E^{Nq9#~N4@Yhi7ygED_z;(AygWjjba@i(S7v9URMY2T8#6}HAU*jCwr zxFdGL&e#Pfwe=Za-H2uT^dy$oZ+m8PYHJ*hL5V-r5X|34EvLVV^>PO@eF%EtFdU9D z-!v6VUL42t@v2=r;z=s6mp7H^l3z&di8Js5&cfL!^UWomhZ2j@ZZXrB;8K+7vR*65 zi>ruN;~JFqYl%ai_1V7bi8tUzl-Jozyal(S)WtU9?YIMX;x62cdvGuA!$0sK9!7cJ zM~RQ&aXf)1@f4m$ng1;DIXsWj@6t~Ek^b?fomS?T_Sa~49dF=GyrsNLd=KyA1AK^~ z@NeZ);%6w^I0y1*>BXtckU-Hr7FRtc&%qJ~qIH z*a#bA6O?|D`jPcm#PpUnwjnS5(2lr0cEFC<374w4D{(jMjyYk_ftVNFFdyc} z0$30Wq4Y;8Vp*SI#Ko|Ljit#;e;%XG%8@UR6|f?XbP`u%dUdRUHL(`f#yTi_0o_}tL95joI&ODsaTd1nS6FN zJr{9qmCvJMH)2`7SdqN8DEVSo8cSeFl;z0uGOE4gwR*nF%qQzB(_FTRJ7H(+f?Kc~cE=vr6MJEA z^uRtS>m%+UFUuc5926xUtmdCv)@R%eBR?ER;7Ht!qg7s}k5l;x#1nB6PR1!H^)QuK z)@O3h+s}f$-yew4dilihQ1UZXJIUL*TeV+Cyj;1;sq5;{))<9Ck|Qs-}6g*7n}SI=6i^b)N*Bh zX(zGxLbZQI{8Z(o{af{zn~ZlqhJV><%nTaJ{)m)m5)Fy>k*k)mLFBck{1&* zJr@3mu`v!x`*_6hQR1}32~}Q}pG4)85zG5dNi6H1ia0f&yZK`exYu?U`_UWyTq!V*{#OJQj&gJrQCmPhFyaRT|u zSjEQb%zc9=WiyYtrmr5TpQ zpHZe4ByNvIu&8QRf>@T9S50rAVp+blugLUDHtq7* zrb~a0BQLKvfp{WL!pS%Vf5oXd4S&Pw=!r9MCeBjMA=b_(zW^8FB3z71a49as<+uV@ z;wsFAYw#_u#dWwIH{eFxgqv{-Zbj+W5Q%)o>vr-xY}`$L5AMa|u0HecCq96G;6WQh z^SZ~>^y4a)`A?HSgJ)6K^F{K1;+uR!4q5x7RQY|3gAq~kVTh%DIO6asA3@D0%aP^E z@lWLcmIE~7uBTldK8C9HxII9z< z+Dy+wJ}VC9oux!qO=1W%=dFOI(q-5?014SQV>bb*zCk zu@=_GI#?I$DH{-L8O|cm^#}?QUTVZQ#gKe=LzGnP%Al`wUurqeSuGkH`V-M_! zy-@nqgSZd&RrVw9j{|TZ4#L4Wk@r26co+`H5l$RyGkt~A;|08kf8r(d#>;pG|H21&4X@)3yotB)Hr~Ozcn|NREcYStBjsb_C-@Yf z;d6X}FYy)rgRk)ozE!d0gHWFm2PF=!@-jUX`Op{!rOw3&ym9W_dFIb*A6In|KT5_3jeiM|r)6 z#EALVM#mT!6Jud)jDvBN@re_lD<;H5m>82_QcQ-)F$Jc?pD-1sRVESAIa zSOF_yC9I59u$qb`UsL64skkn2J*NGwUgyvQh8}F)8+N9((W2w#~XMPrM=95hx}c=j%PufKz zFUBN}g|RUX%6##N<6{C$h>0+pD_>SMK{cc`LO_&!9rLVi(pYKhQ+Z2mc&vh^(@OBN4}i00&zvGj8(8I zR>SI818ZU}tc~s}mVAAiyi9M*^d{I8n_+WhOX6188q0TkI?39vHN&ac3#+Q>(!L6L ziGLw>SMBQ&*T)7Z%Wp*780CF5C6?t&z6JS~*h;mN_HD_x!}iz#JEF9g<#!?96}zFV zUk~D*DD(Fw_P{>a7iE5NAo)Q!7>D3c9EKxsB#y$-I7a2isd$2lW&X+Jr{J$B>m}`e zBQJUq&%l{D3uV4J#B*^T&c_9~P`Q|R2`RlJ7R@rH^ef7>Q6)9*9=0Y1XN@v-t5@pF8kyxwTxP-{OY-c)gr z#y-=tqqKWOJDDzdZEWUyZnNB1D*r|;*G0XqEI%0e;1~j7 z90?<%tWQ+pXejS1260S`g+HRq@61HBPmD=0DJH|@m;zJcPnZhRU|LLv=~3EcRI%i< zkk5+QQ2JZiiWCjJ@oU|w`XnLj^q0W64xurL`g|)E`x?^3ehxM@mHpE8Q7@J^IY=+IT1-8Ui*c#hlTWp8zu>*F* zPPiSrU^i^Wxa~pQ3wxsn_QAgR3--hQI6ygA#WH=EO@1W#Q8*gM;8+}o6L2CXg;t9XWLFYjkI`8hZj<$a0^ z$S=f2xEPn*SSu718<@%?>6xryo>kn zK0d&Q_z3^T$M^)F;xl}%d`bKY|G_sZmb^g3mQ>j>{r?tsv zAfFL4VP?#NSus22z?_&{8ERXhw$^?$3jTnSPfQ$H<)wWz^3hT9F;)9m#JMpJ#zlFZ z_{8%1uEa9Gv`a!hDJH|@DD%tvDMUUMrp7dw7So};P6pzPmEm4-+nz#+N#dg>pJ77obgq^VqcExVk9eZF;?1jD21N*30 z^8Lv7#{oDH2jO5GfR>$B`>D5nVyDxT19t z@>l^YVkNAstft}`Dy~J`2th3Kh%$d;VzD`K3v7w4ur;t;c8rizvEgP zH;~_mn{YF3!L2CE*+#q_ci>Lkg}ZSN?!|q$9}nQ1nPrPx`{6Yx@j~LoxI|5tb~4{e zHGQ>;rQJ>P>(C1~;wIdTTTot4+HWVn19#$X+=F}ZBJRfn_y-=uLwFdE;88q=vb+<- zC-Ic>Eb%!!j~7suBmQZVm+5PneqFVb`EHTFjd$=a-oyL&03YHb{2PPJ@~IDr#h0p` zibyJ*@co>hMyf1OF z%Ku4xUga;S_#*Ko^v2701^>dUcnz=P4ZMj@RV?}YHhG!;H`D*YCpPV$lYfCP@fFJa zuZhLCDwceRzkKRBB!&K6 z=!yw35hhV4B~FIPF$JbnrXo&_X)rCO!}OQ|Gh!ypj9D-%X2a~tT*SHYXUv0nmHCMC z<5(4#WH;b`Bk{urk%83&-4wr5oP)&;%m4S_uzKifje;*%5tQ=yxxAM zA5b17K7@zy2p+{_cmhx2DLjp5@GPFg^LPO-;-7d)#g~b%;9qzZrGK`lSn}cnHT@y6 z%=ei12|mSV_#9v0OMHc|@r^QUaG&}Kg5fY2>h=MnsuEGO-v{ z#gdOrJ`Tpkco<*lN}LcAVPcf!CM8aeDKI7egsCt!roptB4%1@>%!rvVGiJf8m<_XI z4rMOl-1sx*!Mx~(`7l2gz=Bu^3u6&1ip8)vmcUY28p|ll6IZ~BSP3gDs}fhkg;*17 zE9(%uV_mF=4U`Ru8)0K?f=#g*HdnSJZiTI}4YtMh*a16YC+v(}uq$@M?$`r+VlRB* z<(|aa-;2Sw`NY96D88ee3vm$DPUaUwFg+xOLYW?#I3tF`C@AwsAdZNUFf!`)(a6WZ zm>3Ix#Ml@I<6?YFfUcMj6JcUZf=MwMCdU-`lZsOlr@^$C4%7S6oHp%plm8j>U|w{? ze3%~#U?D8*OH0wN3YM{%uRQq*SQ9I$_OhI6^NPQhPss&YE9C(gi`I7>N)c&_pp@j@pqW%@GJZY8m}ig-1y z!QXK$uEX`pO~jjV3vNX(+=kn62kyjOxEuH2UfhTK@c{mTWwr&4W$o`PVl9+>B^B2s zu8P&Lx@sr$OZ(bPuY>MbS6QF90X9dOzcFzWY>LfL+KVm8x575q7TaNa?0_Ay6L!I_ z*bTd55A2D((F6NnU+kyi0mK7w5Dvy6DE%{>c!ZiR?X=@*HvuQ&B%F*>@K>CQ({MU^ zDrXVTQTe$lp08qA&LZ-QaWyVg?Uxg;z?HZPWxh4U;yU8BD!+wzD|+EJ+-~D;@_TSE z?!*0f0RO;)cnA;U5j={=@Hn2pQ+OKB;8{F}=kWqw#6R&8dgEohf`8#vyoT5D2HwP5 zcpLBFUA%|)@ge?=kMRjUQ}J`+7x)ri;cI+@Z}FWn=ysp|T`*;E6^9}YgW;6niGRQd z7!f03WQ>B*FgnJ-SokBx#yA)k<6(SEfUcMj6JcUZf=O{qkVE0D{l1;E)%2+x}57z=;I*cb=nVmyqG3D6Z2VPZ^zNii8F#}t?nf5KFl z8q;7}Oo!<)17^fbm>IKRR?LRERGgdmXUv0nF+Uc-f>;O(V-YN>ET-a;#HFw_mcg=E z4$ET&tcaDcGFHK=SPg4nO{|5ru@1UpU95-ou>m&3M%WmeV1j2m-@QK^xM-7;&!ncO zQgLeHw3rUlV+PdA&rCiGX2opEoW!{>Hx|G=m>1nJALd7CFBT$S7>i(0EQTepB$mR` zSO&{tIV_JAup(B%%2*YvVRfv5HL(`fMt7{ItgqTh`$ps&V-swK&9No6!q(UZ+uGQH zd>1vnGjS)Cm*sRP-vj$$FYJvT*a!RKFDUc%Cmw(UQSyU{2jMUrjw5g+j>6GS9MAL# zI1wk|WSoM(;#8c5zu|QB#2GjfXW?v|gL82n&c_9~5EtVTT#CzZIj+E!xC&R}8vGsC z;yPT98*n3T!p*n^x1twr!|k|R#e0bN;y&Du2k{Ud#v^zXkKu7VgQxM7nl5>1e~#(r z@d94NKk*WJ<7K>pf8kZUhS%{1-oo2>2k+uNypIp@5&n&j@d-Y~XV|~)oyXSkVKhoC z4paF_#G`ETW66)h@i+k|qAY(h@f7?Orz)ord*Te7i3@Nx&cV4j59gz_7Z;LWipy|0 zuE3SJ3RmOrxE9ypdfb2;aT9LFElMxq?YIMX;x62cdvGuA!~J*w|Gr zjwkRWp2E|32G8O-6-!?9R?~GX?XJ=8I^MurcpLBFUA%|)@qzLY@!u-{g!mc0z?b+6 z|H0QzbgAbv&Vpc242Hom1ctIEQjT>0#?LISQ)EeRjh{9u?E(}T38#; zzAbRmI*!~ziN!xvUfNw&d1-%@{58CeH}ED(``g5K@Gjm{-dFM8#EtAAu%+D!LS$(!{ZMa0V850WfbCQ7#(9^OpJv;Vr-0qaWOt7 zKv$IZiHH+p5=@H8Fgd2cl=u^-!qh63yqLjedM5IjF$-qJY?vK$U{1`1x$$SrqjV$A zr}Bk}3u6&1ip8)vmQu0gOOr2yWw9KV#|l^xD`91p5^R>vAx6Ki2@tb^`Y7wcht zY=8~15jMsq*c6*#b8LYvu@$z)HrN*1VSDU=9kCO3#xB?uyJ2_isq9Vcfqn27?1%kv z01m`KI2ecEP#mGAk5TbxV#$vuo`4f^5>Cb`_$yAuY4{sXM^BuAGjTS~!MQjO=i>rg zh>LJBF2SX^442~yT#3mW9=%{4PwY&sre`Nkr}7zyGh!ypj9D!!YWu5t6_Dlfi!;vgK1 zLzKgahvNtwiKB3|avbq^oPZN?5>Cb`_^Wa%u{e#`6KCK|oQ1P-4$j4SI3E|_LR^H4 zaS1NP<+uV@;woH?Yw&kmi|cSbZorMW2{+?b^ulep9e3bP+=aVw5AMVLcmNOLAv}yn z@F*U`<9Gs3;we0hXYeeZ!}E9nFQPYI#;Yjvi89{}rr*R{cpLBFUA%|)@c}->NBB2B z#wYj`pW$Hdcw^^JOi!lTrBQJ@;`EpS zGh!ypY-4uvIWQ;Y!rV6ICGUp$uqYP5f>=mdgjm{_RI%jCkS~knusl}4idYG&U{$P! z)v*TF#9CMz>!3T<#d=sD8(>3hgpIKYHpOPx0$XA$Y>jQOEw;n<*a16YC+v(}u&a$d zZSvB-FVn?ei2GrG9DoCH5Dvy6%3;LAaRiRUQ8-#TR>k9qCnzToPsS3veMW!o|1*m*O&9jw^5_uEN#$JFZo3Al`_Za5HYft>}f@a69h6 zowy5k;~w0L`*1%Vz(4R19>ybh6p!I?JfS>Id!4Ze1cE$89v7s_!3{?KlmEo;9Go$F3o+8FF`RF2FDN>5<_8V z{B7ct-PZ9*^i;9rXOY*_=c@Mei5K8PT!f2piH$4Cufo;127kA4J^2l|5jWu$+=^bx z?Zi89w~F@>@5cl92Oh*jco>f;j}afo6L=C&;b}aJ=kPpUz(4U4dgEohf`8#vyoNXM zCf>r^cn9y{eSClq@e%%wkMW6(FKzPD{w>qBE|YxfH3$a9U>F=jU`QLokPnODFg*UC zjHu$s#8H&dh@)c+jES-EM`dhcZG7?x&=nJ6B20`)F&U=7l=u^-!qk`s(_%VIj~Or% zX2vX-4YOko%!#=$H|D{-=!W^R02ahTSQv|7Q7neVu>_XHQdkZ zVNdL>>_glaf5CoOKK%KO)^SIysA9=iAzxKZuTES8Yho>|jdjo+>)P0md?Rd(O|Yr5 zIdKbYiLJ0Tw#9bXUfGej6L!V!*aLfFFYJvT*av@6_9q^I191=z#vwQqhv9G>iKB2d zj=`}w4#(pJoP?9{SLIaVY4{s@;tZULvv9VJ3srsz@p4?ITtU1NSK(@0gTLci8#j>O zh?{UTZc%!vcsub9j!}yp0T`?gh!o-*a zlVUPVjwvuD{)DNNX^7KeI!uq}L)BVg9Z$rIDwh0Z@>kUKtHjq-{s!?)yoI;%4&KFk zc;Cjq$v?&?_!OVvb9{j>@fH4qukj7O#dqiu+NWQFU{DN>AuuF{!q6B7!(uoLuZ%z( z5hGz_jDk@y8b-$$7!zaRj~E-{U|fucu9y%LVPZ^zNii8F#}t?nQ`wlFdNeii;5!x3M(&GFTSNVR@{86|u6i3UO7ehBdGz z*23CY2i>tQ*2DVP02^W>Y>Z8?Ikv!7*c#jXKhpj>*sAh>;PwFt5s{Ww6ayp$3_uVB zX%qwnOh84&LQv_F?k?#@x<%;}QMyFB+n}50w>{UI`OQ6Z=JS2#`Rkh3d#$|=91eT0 zd!2LE=2vXYCj6S;@LM)xbGBehwqk3xWjnTK2X=!sd z59A;Y<`52L^!VX=1V?fdM{^9vavaBV0w;1(;8Z;=aE6}AS)9!|oXdHE3-m(%$VF`Z zXwJ#8*OAb6!Mua+$WFobF1l+l@2-2WCwm3<(S6yE{o`@4`4A4}Fn-VB9Kn$s6*xwZ z<#SI^^oF5p7`$VL2#KXWmca4DB@IahEcS91;5avgu+ zdj7`WxsjXWal82rZsTt53EZpqaX%06AP?~{kMJ0e^8`-@o(}q~J{OPwnqS~WUgBk5 z;njG&VSbahc!zhHAZOhF%Y;nCdzhF>n3TzQFO%~=reI1wz|>5`v`okJ%)kekk(rp8 zS(ugCn4J&tVdmf?e3Uu)7$4^o@tE8EDdu5b=3{;qV8Ot`x(J`)vwV)vvnY$PIA351 zmgI{p#nOCltJy}oT51h(roX#1X$yuDuIYH0U^SOWv`6CzcC;rUET*9S6FV`!$lB>CfYq^f= z`71Z@cW&e+ZVue4w{bgna3^i=E$NfCOgFM6|Jj!D{&J#SzQ#{QxJRgt$ znqLUEU(%NYuj*^O&KtbRTfEIXyvqc+HhH06O z>6w8KG9xoFGqW%&voSj#;=|0rNBAgn@-aTnCz*@6`4saoFY_@!3$P%cW+4`45kA9b z`5d2TQ5IuyzQ7VJ$rl4l>z7!DW%)A8u{IFh3{nqxSQ<2iv7If+w(j^@+Mr*kG}aW?00F6VJR z7jPkeI;FF^krV*RbJ-}-sCOb;aw)^9QXe) zArtW)CT3D56w8UnTeU1mD!k`5Ak8<;3Le*$M`s(;FHW1 zk9o}VG9UA^01NVI7GmMRXY{jtj?c3wi?KMP{Y&VQe37MCnq>mZ>GG@)SVdRmD}0sJ zSe>u225a*5z*@RC>+nscYL%;d?DZf6qfQ%i`k)`w8JUThnT1)IjoJASbMO&9%A9!DwJT?SeteD7T@MOe3$RBF6*&A-w*syH{i$ogr5cT&-EAll8yKk z8?y<&=C^FhW^B$DY{^z^%{KA)T`=#cJF#=n-E?>MU@!J&ANFNG_U8Z&t5e4a&FjK%o^ORywg zWGR+r8J1;vR$xU|Vr5ogRlX8fO;_h@tPylHf5W^MYqJjDfCD**gE@plIgHyl!IFXY$C2*>q#u=Q+S)9%J zoXdH^e1Trb9|M2VKXY;5GQEN;xr(c~hHJTwzi>T&oYvdb3D(# z_&5Ivyr?hnGOzF|uki+N@)mFN4(~F-ytseAM1hHQ5+-FbCT9xX&y;+CshFB+n3n07 zo*4o&>P-K`?6yC|hna(qFee}5<9vcoG8c36Ddu5b=41YNEM#7oMfgnMbGj&tu{cYx zBwu7HmS!22<;yI`3arS=tiq~%g|D(2tMfJ1U`@WxH&~0cS%+`(ExyBd`5x=C9_#ac zeh~PP{+OSzAwT73{35WC{)&y+gkSR;HfK{d3+63!OSTGZqua6_+p`lp2HjbAVOMrz zclKaU_F`}LVPB^1fBwtZ^Lc2xV4fl9j5-rDGYhja8?*BvKFl0^gpV>OALHXeKcRCm zH=kl2=4C$SX8{)E(<~JDjDD8S@p%?yF%}Ojsb6I2z?XCxmgUPV$MUSeimb%Stiq~% zg|D(2tMfJ1;Ol&YwOE^V_$J@t+kA)b^1Z-%x_&%du`|1{E4#5fd$1>au{Zm$FZ;1S2XG(?yQj^_kU-Y-$ja{vc&5C?MzhjLiZBlJj);%JWHSdQa( zPT)jN4xFNY;8afIbk5*R&f;v&;atw+d@kTZF5*x8nTxrEOSz28xq>UXimSPXYq^fU zaD6=fZoZM5xS3nHmD{+TJGhg(xI1u<{*!yTkNX3U=*Xk`7?1M=Px2H`^9;}O9MAJF z{>^{*FE8*CFY^ko@*1!6CU5aJ@9-`Y42gSQxQB_Egh`o<_cA%}V+y9^15Cx#OvAKH z$Mnp=jLgK$%)+e9#_Y_&NBAgn@-aTnCjxWn+&$Adi zXG&W)_B`E%-5Jf}v%mcYa3BY9Fo$p`hw*z3=LnACXpZ4nj^lVv;6zU56#l@eoW|*# z5%g?5hjTfP^SOWv0~hI^_%jy=^QC$jmvaSIauru|4cBrVf8ly=2>ea|&W+p@xJ7T} zHg4w*?&L1+<{#X{Ke;#P{W|oJ`4JxFF&^g$p5!T>=2@N#{73)G3%tlnf!B28b$x?3 zd6&0?PLMh7|5rjL;yp~vBuvU=yqC#&Utmi808=qF(=aX5F+DTzL1toRW?@!lV|G5o zhna(q@KNUEV|<)X@JZ(4Q-OJOUgl$d7GOa>%|a~9B77$BIbD>+SezwTlBHOhFR={E z@@1A|1-9rpsdnsnw-wtmnn!jtkL;v7vkSYj8@sayd$JGvvLE|%00(jq2XhFAau~no zaE{nC0xekfh+YY zuHjm)<1bv#U%7$5@%NxN>Ci3a+qi=}xr@8`2lwz#?&Uu24?L`o@FH z=Xjof@$bNY^#xw!C0^zgUgb4j=MCNrysH!Riu-?>kcoH?6Eg{uG8yk>a^A-jyq_ug z08=qF(=aX5GXo!FMrLAWW?@!lV|G5ohna(q@KNUEV|<)XG8c36Ddu5b=4SyGXLAncavtY%0T=Q| zF5*x8nTxrEOSz28xq>UXimSPXYXg7L>-j4;aAQ1fGT+QC+{W$P!JXX2-TZ@l0{7~D z+|PqSAJ#{Bl*f3SCwP*lc$#N;mgjgr9{)D~mlt`7mwAO(d5zb3gEx7Lw|OTp;efcW z_e8vhiJ2tuUY(rxF$M2uN^{*FE8*SFY_v|^9FD7R^T0dmkFMW`}`$j;&@DAo{aYf-mg>g0j6SV zreRv9V}_tJ>P*bcEX>Mm%+81SFmv!x=Hz2RKdzr-Za&34%*%Yt&jKvSr&*Xq_$;4i zQ5IuyzQ7Vezo<*`C6?vOEEiZoS7aqtW>vnzS6Pj(u?An~8?43Jti!kXHs9g9e2;Zm zkMHvXHsDA6n4hpAKjmlqoL}%uHsV)o%qIMr->@m0u?1VQ6wBHmUVsG|kKlbMU z4&)#X<`51I`g=W`BRGVlAi9d4*mvT8*a1~c`E!XiE{>lyfjlXjvH*qt!a4WZQJ9ls=cX2oW;2!?Tz1+wB zJivoI#KSzoqddmrJi(KJr}Y`04Lq;^;@|v-|MCJiU2RY@_B^(kTe*$f8SS@A@8%!e z!#}x~`?#M6c#wy9m`8Xtn4i!md5WibhGzrM>%aIn|KY#9z>B=Z%e=y?f!Fm7-sCOb z<{jQ;f@^V~_k>KudzhF>n3Tx^@6#!GKU4AnrebQQVOpkRdS>8*%*ag4%q+~xY|PGw z_%L(u5$5D$e4J14N#9SZ@LM)z zGd5=nwqz@|W*fHSckIB9?8MIO!mjMb?(D&y?8V;f!@lgt{v5!8927W259Kg^&*2=w zksQU*9K*33&k3B!Nu10n{DD(BjWallvpI)zIgj(XfD8E}7x5?l%*9;7rCi44T)~xG z%{5%hb^L|Dasz)0+^9Em3%7C`A531SaO`;|6EialvohK*yMBld^ASGEoP3Or^9er5 zT+Gd(7@6FajDyRsX*vj=;!7kjfW`>{UoMbKVd_D&M){S8}TbPW)ptRZ}=^nvKgDRC0ns| zU_0HO-?0NbvJ*SA3%jx#d$1>avk&`n00(jq2XhFAau|nm1V?fdM{^9vavaBV0w;13 zCvysa;8afIbk5)`&gLA>)0*YOvw=dawr z-?)*RxS3nIjoZ0{JGqOy`3Lu~_4En3W6uL^*^ce`9XqfSJF^SBvKzaz2Ya$N`vmiT zx<3bSAO~?Uhj1u|@q3QoNRH+hj^#Lx=LAmVBu?fO{=li6#_62FnVc0kPtWH9F5*x8 znTxrU%eaCoxr%GJmh1Qn*Yj6y;BWk$8@Y*FxRu+uojbUbySSTs_$T*rANTVB5AiUM z@F@Fs8ZHt#aQjJW@Q37LrZFfo&G zbL&cv$Ns-=;Z|mxkMV~mb_LZ9R*p5a-Z<9YtY zzxfaUHhH06O>6w8KG9xoFGqW%&voSj#;=|0rN12n4 z@o_%ECz&fSkIu_{e42$=m__(3pJ!1PV{yK~4^wr`9{c|g`H}vZpRgf6h=VzV zLphuyIf|n>hGRL7<2iv7If;`wg+FjAr*S%Ga3*JQHs^32=W_uU@<%S>PyCsSxr9r( zjLW%#E4hlRxrS@Gj=ypPf8+1m$W6@GKU^;n

aQ}{D$AMDVwo5Td*Ztu{GPU9ozFec3?+#VrOax=Gb8@F=@cXAhZ z^AGOfpWMs+JivoI#KSzoqddmrJi(JZ#WOq`cwYa-zxfaUNBY>; zXXI=>hjTfP3;81#@hASw#azOrT*l>G!IfOaHC)Se{DtfJ8-M3UZsKNc;Z|6K3^D6Z^V~oUEtt2Ttb<&g3l4<{ZxDJkI9=F656~#Gm*xmvAYU zaRpa$6<2c&*K!?y;RgN|xKVH7W^UnDZsT_D;7;!1Ztmfq+{^tuz=J%*!#u*HJjUZZ z8F)&c;d%bWzxfaU<{6&ldH%(}`49i)1zzMOUgi~E<8|KTE#Br` zCipt;^Oul`cn=eEPrE_MW1r`}+{gVqz=J%*!#u*HJi(JZ#nU{)vpmQ1{EPqaUtZuv zUgBk5;WggiP2S=i-erRJaex1WOvHPbm`RwF$@tvu?Dxh#e??i0#rXnDuq0n(DVAYb zzRYqg&x)+X%B;#)_$sThI$vWA*5vDagSA+PZ}Kg^!*}@}>+(>kok?S#mm@sNV?53i zJjqi$&9gkm^Zc9t@B%OL60h(ouki+N@)mFNE)$fF`+FqhJxt62s~0AT{XGYA5C?Mz zhjJLd=WveXD30bBj^#Lx=LAmVBu?QEoXTmO$=RIC9(9%_j{SXlvKRZZANz9v2XYVx za|nlW7{BKTj^b#J z`@AOS{Y=RRn2M>HhH06O>6w8KG9xoFGqW%&AL58R8UFiojpP`P!n z%4wX=nViMhJapuTgt5=hVIJXep5RHI;%T1cIiBZV{G0#q0xOKI_TR^?$V#lrSNJNc zvj%JOb=G3?ca!~h+!Rd72bhYfnU?9eDaG%xPe+2y+`_Hg#ts!n{I_36c4B9C;a_#X z{cpd&`42DfA`h(o?{-uP4)PF>aP0ch{~c!nx2GxiUzhyo>Tj|Ch_m0ncV*1H3w~P= zb7=c9Q)3Qj`_br_CAvR8FlLJ?JG#c~e78yKnCs6aXdH9o>n$6^O!L*@H~;@#ovX;J zv5p+j>Z>xbj@;Gd`{!aExoNkiu&Dej8 z$QRE4`d6$YJ3aaKkyuBTYx2j=SVt}%SL)YTFJaWnbj92Km&CS5Rt~zVuA6V$tk`~$ z^@EP)`>Na;7uzrNU_A5RpGZGAwtwj6V7^5^Q8!b!*#7@l^V&aO;IRi&w2B?)|LPh0 zpABr@>hCXN$N7J2dyk8}ztie^vE%%|HND40uAbDrX6!isSJ&D9H~!A6v&xo_9p^Tq z{$Jj;e}dU@kDvI}rJ}LpgieWP9_=^X_8H9Z$FRJye=RVIG6KSwDp-Qu_yXs zEY4_NLYL%=EXC6Nrs6lJW5;RAW{l=7bW65kYqsGZIqvR_9p_K(Wi;Qf5AYxl@i0e} z?!GB@oKYOjXg*et<9JTsM5bt#Wo7I*Dfs}Sd1{@8X_=1cS#RR3d9mZX&ky(^8}K83 z%um>mAADPNQtUV%^Ak4YXZ)OB@Js&P{PNJ)<0CKW%e=y?yvFOi!Ojh)_J|!Pva9aK z?(D&y?8V-EtjZT{V#kSmQs-iBKE*uD%Y2-;;^nVm#|izxd@84L24`{>JG6QFgV=FG zJDYc5S9WI)_T-pMMQX*46FS~}0w;1Zr?AAhYL#M-k9<)_mewz^49oIm<~!28MC>?` z1$03^%|a~9B7BCW?m1R4cAV0DDX^@5ndMlX71(=4-N$0b>BGM47dSu<-Y=Ta|3_l^FzL07yCFxS&YT`0!y$YUt}qk=1VNgmw6$@-o>$xbCH*LnOAs~*La;b zc$2qyhj-aL**kM$AEyOdvK3pi4coFE+p|MpXWfMlKbmuL?BnF%Bh1Oi_ynJ1F6L$) z=4HuT1xCh>`yxy8C6-}XzRYqg&x)+Xr@Rk+9_D2}=4SyGhKh|2V<1bv#r@X&H zUgl$d7GN3oCx4mcSe_O5ocrHC&!Q~O+U`eLhi~#NzRmvbe>Z>wIhgmkU(NmO?>;I6 zqWh`%z3qfNa&O%4Zy#kwzn7JXHT<4PO-}NA36nX}&qa^oOMX7_0YAqz#?Si<^79Y9 zeLuUI>l|lY=cw;G$8WB49CDqbo9i5fILq~pom}F&$8j!o{o|4Iao0imyAG24jkxO} zNnHc5Lw0kS>mhF>iMuXR(DjftZ0>r<1G(a^ixhJ`WE*F>?(xa^xa%S>xV~}kow(~D zHC)$7m_P1%#}?NuI#-RmuCd&8h*nR=UAM^Wy21hOa(!T2#<=SX4XyKwwvM|_keatU z#;x~vSij%Z^R2&oO^#c~FVv^4tJhdppV33CkH2ahx6U4_lUnbdW-|7*e(e|dvGwRD zfg`LhM+QD+y_hGkf%V@YqZ>Bu|!73-|XYC7^Y zUEO*rvWAX)UGKAAiaekr59ub>Ly_O;$fi1t^-g3u9hpJ*v!00@s0VQ{zqDS7Y^A7UQsiM-6m{4BtNY+=37lC9X9 zZP=EZtOFvq=&ga<^$zZ2YUlltX?4252X#h{ay}n9Mvvtb$%XsuTIYUn1c7S zmhNbk5*RPIW#UIbF}-OwQtLKIZ&3@(KMUb1^rc;sNKY z2YHBxd4xxKj2}AxY`~BBF+X8Le#+#|FYjXt-p`bLfT@_8xuf$)=3!puV}2IogU%B( zG7~d13$rpC$2uPz$MKxNiJZjAoWlOj2M2H<2XQcma43iIJ?DpYS)cFo1AfQ`oaKCR zHs^94=W_uU@odujv7Gxn7W)VKiC!AkC$=rO3d6<{woo7~HC01q? zR%LtVo!_w|JFzpn@b=ZX`@!DfT_$k8nvjXu*?DUhc4aqqXAfT77I)vXOT5f0yvl35 z&YjMGcX2oW;2!?Ty-eXe`F^J415Cx#OvCcdrz@}$E3*o#a-{R^Q5?-N9Ls^u!v}FN zhj1v1I!`ag;(UQ6n8bN}QYK?^4sm`zoV}gr_hnb-``vh@Lfp@>UgaBp&aM`J_H$#4 z`HP>ATF)o^T+fr-?B`>)u%n+JY3t`O{?|HVjdey1>x;hD6(g-D4q8vlw~lzqx?!(% zL*z8;hRE~Q4Us3T8zL85H$;}RUWlw>y%2fCx*_s)>xIbC)(w$$trzMs>Rr|kyBT!@ z>xjsYgKlkI5!p8A>(&{OH-kQ9-Eo>{7|knKe^g{8M)PFWBlj{nqxnedlu;bbXkO4d zga)Kv$ikYliGBXRaa;zk!q#^uc8`%ih9kNMf&dZq(A zvJ*R7$8=>kc4wLvao-Dc3Z#@z@Nl)fV>yOAa zdM(%SUF(j>y1E|g^A+oj$ZEPeU*mh$8IkpLea^D3h@7M6GU>{=?_)&XtCO?5^+9N5 z^D5k7JrKD||G_;h>ij>lxPE~p*u(jLPxfMO_TgUV_xre?2Y4`=JD)$mgFM8;tmXW@ zHtX7v(LP4MUL@0 z6`9}bQe;D~Ly;T3?nL(UIun_|>q=xzuOpFf1YOJPNMs#dn@3z9i#(=}vbool$dvbivnQqPjUQZ$i>A@`MbtJNoF3cQWKO!I1Ia$c-M`0G> zGi>km<2!a>NA7k#>JRSWpUmuaBMY-K8z*_an9LvefY*mqOwGDp59+Z#XM6si!?}^3 z@8@wo^Ll>I$NW6u`pik5;^&^fzu=cl>-jnz)3cE0>B20+hde(&%p9ER`FI+qbGYZ< z5gf^nJ^y~fhFs+N_b2|$hdmGH;3ItA^KnrYV}8%e1z3=;dVa3P>g?uux;uNYClh<# zPQs+@<@vie`|zgq`z_w)e$VFzna=ZhdcNxUyc)-OJ|E9vp3lE$Nzdyq@;>X|6dYmw zJCgmZfBUn$^=}Vev;Mu#+Sb2yxWxK*DK}XE=Cbbn|N8oJFk0X8cJO_(T)uynhdaCu z-Tog|^g0#UN=KH{cf5{8=JEZvX9G6}-;WDBo$u4#wqF(Brz_9YtP#wA^ST-BSJwCQ zqVMa~(2-SjwRrZ69`~5<0~TS_Ido(+FKAvUp6zqJj)$%_pUJ2@>CwUCR_Wr59v2;V zrSpXC(fLB)68+Tw*e^QHR{NC>juUNv%lAJcKMgvXM=p2%5_M?w_)i?CVQ{?9^m^w% zp?{i3hTEg>&+Z5wAMXE0usu4?Uh}lRulod}j?ZYn$Z)^t`@}gM?~!l2Q5GM?j}iD!P^yqfQO|9|x@$9aPdgX6xZ>#=@3`+aEMfYG1p zV|~u~^#Af!u;1mNuLpfI=%l{?AAOv=wkI%87;KOBOKhGb*q%%$^>YM~8G?@HnS%M_ z`q5w>?Vr&+zWuV=o{ib#InE=&Jg4sE=N;m6aIn2m(D6O)2m6f<_K)V# z*q)?b-0#Um`~7QvA$WYW-%azY!Q+!U&W&ImJuW)_9orMwKVk6kqx}*G^XNE{_t`$p z_2~`#nbABxf3;uak9tw?_-OkI^CgTvPPBcwdDM~7$6syx8m?uuJ=%YLFkc+>M*WhX z530_ZjOOuKC3xH``c+m7juRcfhIxI~+Smdi+e=XK@JU29KK;boBV> zc*AX9#4Wxrw3UZ>j5~sk_TOzD^&b5v_XgXe{UQ(Aekj513G#?bt_HO3g*@Ha;qsK?~wY?ulF*~D=AI+oV4Yhq37r2f& zJb2tl9X&pBY%q^L&II#ou7{@D6Zd<8xAbjB+wTS)%@cXtJxt6bOd5~T$BRs1zx$b) zUj-jGO>n$)Iz6x2|3RIRnHU{6GFvc@{$AP5I}MHdJ;xF3#_sIFo{aYIt^2Sq`>{U< z1P;>C$BP_lK8)Wp`go)CXpZ4ncI0?Y;6zS}$Em@5x}L@l?~D8W%{Kg$pYd~k!D#+-C?iot$WbXC5>S6PkK`5J4mW-zZ6be*8Tt`zrs z!J$pfo3S}tuq9iuHQTUVV0+z-9oR9Lch+6lHQ3%=_h3)|MCJa@)9pIdfYXAoi})sw|JX(c$X`g z=+U^pcM{&i#Ec%7R43#3m*RfEJ3g1#K8@3Z{b%Y~oD+}p%%kHi&!5gi>b zr+zG$Kdzr-F6IvQ%d7J-KMSxRpJpKz;j_WKs6OWV)-USFlEMC^bZLGzDem|BBfkhb zns+pB!moqL3hzz*^S-VgFV@ceb|o!IFKbc zj6)ec{(C)~jhe>Y=iqBb9ofyiDVqiRwa_iuI#lnQ z^Ip0)`>-$j1rE>yIhaE^hQs-4FdrTCSUrw6{Jh>hE#rQU?~abdC=;fu70PoWr@C7Z^Qmq4|%D=8->}FXj?1<+8w) zdKFi54cBr#f8_@L#^1S-C91~VKP0kL&?R*lmgURAe&uxqRtl^d^eeg=tFsPk@^#i? zZASaOso&z;d^gzdJzbaeSfB3)HqajhHq>A7GiKqJY{Y24#<~etuZ+9jO60nrqxrAq z8~9tW-$uQOTLQNSy+iNfZXVzs{>gpZ&uG8ML*|EhB%b|_o1frGp5keq;W?fUyr8e~ z5-;-#uQJ*%@`m|MPHh`^znaLIdU`OQqvvv7uzi7E$VGvRgI=PSaXD9TC0B6`*K%Fp zdi^Um@HhU>joi#F+{$g-!JXX0y*$kQJivoI#Av_JW40gX@0sK7_Y=8IZ(`Kj^$zaj zF7DIU2Xi>baTG^$497CsZ$i+M^kjZ~H157rkqv|XLVwPv zztoNR6&te&zvee=8gz5rf-TvKt=Wcc*^cc4I|kiZcV)L=dk@`fP*=T zLphA!b2vwEWYDAa7`9CucOS2IjQTs>ft}eY=q|b|yRkcauqS)5chG%xKlbMU4&)#X z<`51I91-*=J%(e0?c?km2vk;+r+51 z>8*@5RdREkMTH9#N%1>b37mH_qYCs|MCJa@)9re zO5inphc|eWw|JY;evye*#eM#xPOP6;7595uPcrH}`YA@8SLb7X7GOa>%|a~9B7BC= z@;N@wqAbSZe1RocGO(0>iDiQA<#c&gU`1A9WmXA%Mb~6CR_ANM_FB4jFn?2jk|^%J zd<_}(XZmw~!7tf}U$HTp@N0goMbKVd_D%Fp;Yzu=c_#IM+xP52GJWz%?UVcwFh*qUwF zmhIS{-?0Nb2Hi<_VOMrzclL*Nw{R=BaXWW#CwFl-|KOgWqxnAb{XD>fJQR3XpWyMJ zPwFHM;_fe+lu@VD$(e%pGur-uPQ}zr!?aAt41pPSCT3<9W@Wa(hjos4%xV4@ALkQ% zlDU|hPcaYkGGEZqyrB8hEX2Yr!e@hy=FgiKWib|K@=xRL%Nm(lr{n`n#b|pPotEjC zo*DQcGX-YR*_fRV@!`Nn^rP|kxcL)&lDU|hPcaYkG9UA^K+w^=ka=M~!)N&%iw5(s zU$DIdOY%i_8X9*W+sH1uE4#5fd$1>au{Zm$FZ;27;6OcygE@pl<8iq82#yMRv>wB; z9LMpTz=@p1$^3y+IgQhU?KAZ(&gLA><$_>7Kjuz}=Dpd6U*(Rwk9T7>;n)0z-?Ay2u{m3?C0nsI z+psO$@jG^4M|NUoc41d`V-NOZFZO01_GLfz=Rgh$9IA)$`(XPBJ(8n1I&hpG&&iw= z^c4LAr}C}Nod?A3v;H>U;k$e-!hwu-xt{3)L18J-P1um9rT z{D=SY0x$9sFY^ko@*1!625<5f@9-`Yw2u4pCuAbt!^BL&q`a5O15@bx`2bTh4bw7x zU`CyZnVE%IgU+rW;-+^qw~zh**vu{5%58x=^iJ;LZvMeN+{=C3&jUQjLp;nQJj&xd z!IM12(>%koJje6=i+>0Ht1s{(FY^ko@><{xeUrC%n|FAZ3EzwRyeDG6d2cq0{X6vM z01o6J4(3n}ar~IGb|<=jr)ez=iyg zi}+LEV!eb*xs1!Xf~&Zid-}({Kg6Hh%YEF>13bt>Jj^3J%40mv6FkXNJk2va%X2)> zzxX%*;lI4Vi@e0kyuz!2*YyqF%Ig_ z@k3aha?Ut z@Iy8TY^XowXZ)OB@Jlvg#ms5z#y;Y{bAHK2{EChFHNWAvY|3VA&K7LR=X*{1?~P)M zvKWi=1(x88EXC4%iDg)pFS8uWvjQu!5-YO`tMV1T%4)36*I0u!`8wZVt-w0^O}@o< z`5x=C9^dB&{E!X!5kKZ9Y{)kT^s65Gy069Btiw0?7T@MOe3$RBF6*&A-{%MXkPY|| zKjtTF$WQqhKj#FR8He`&frYW;%v_4 zJkI9=F656~#7pjvcZFAZjn{dDw|JX(c$W#T$K9VlArmn%lQ1ch@m?n9eN4gonUW7M zRbU#Oj_H|!4>BV&F*CCkJTQ+4gwqQ%PVr#ZxTef3+ ze#Z{%$WH9cF6_!~?9LwS$zJTuKJ3f>9KeAb#O>~jyMw#9n}2W*|Kwio<9;6CK_22^ z9^p|Q<8hwgNuJ_qp5a-Z<9YtYzxfX@@FFks3a|1SXC#k%pR}2r#o3(0xtzy^{E>_J z6MyDnF5yxx<8rRxO0ME+uHjm)<1bv#U%7$5@po?ICT`{y{^>rNd%2JMd4LCbh=+NE zM|q6Ld4eZ-il=#oXL+7~@o)aae|doyd5KqemDhNaNoP#R9ee&r#(SBZ_b~!AKb$~xtII6p9gr5hj^Grc$CL@oF{pT1Kj_1 zAO~?Uhj1u|@p}&E2#(|^j^-GSI&bhMZ}B$oFyZVTX<~ohM7)QInS^gtjC&uUTCB}Fe2Z`M9lp!= zSeNx!pYQVnPIq7C8Jx*koXt6$%Xys71zgADMJw#6A!AGCA+#{Y=RRn2M>H zhH06O_q89CJa+sPyq_tVim91~X_=1cnSu4(pSnKZ=Lh_d4fqj1<|k~(B&ByIjr}>3 zGCA*K3f|9@oacR@=5qlT@<%S>58f|oDyMTMUrTZNp4gwG25a(lzPhi_f7`3EI$z_% z8HOf`Jw68?;iH^$C&Pc+=kel^A7XF&p5PK|kFEA!*J1j1ll|8jxFf~yvE36i_P)Bu zy|3;&-dFb*@2k7Q`(4HNz7x@Xz!Q4E+~_{u`Q4X0f%|QjaX;;3?uQ+D#QRSi<>&4< z{RNx2A9PdR=f2Dju!Z|1x8YjvQ}HXixDRkw-u1o}_qg9~U-!Ko#EIU=Vk#eVf7M(} z@4lp&*vx%ETk(1KwS0jaz2C()e&D``k;U}_N96mmwLaG<$){oO0ME+u3>ri z?Wh=7NmphSR^=<)>-|#p2OiJ|d5DL3ge|?FO6$Njx-HwWJ-_2E@3(R%@UBka_uZrY z66t$*!27Wr3OuZjFxu~!KF$Pw&p1)wJvwppd&o@6Wc=Ryxs2h+z)?X*`;Rpr$KKxe zWgz&=>V3US=8ZV-{I1dS5eE z2)dH4%qr~ceQ6@Q>F(^op6tcm?89_^-zYMJevlcNiCLJH+1SGS-n3*Zwq_f)WqW?d z4&3N{ayD@@w{R=BaR+yCH?w>g_j?UlnT^@`5OeTRKF+KS<9_Zw8?*EOq3y1Mwz$?c z(Bi=@xVsbF-QC>@kl^m_?(XjH?(Xgyfsl{@fh2?ofpd1P(Kmk;m38*6b2X|dZvLLn z`_4K0Ye~lBOu>{)%^AMaGn2D8n{zmq^SFQ&e6Ot{E3q=GuqvyuI4c_D} z-sTcO7u#op}0zU;^Toa(zm(?dAJ@l4L*Y|i0a_VXR0{v5!89K^vK!l8`d z{;5wGiIEwFQ5lWD`JT}m{?51jgMacb9`wDVLp;nQJj!D{&WP@Fh{VW@!l;bK=vnS zjLlCOhs9hUF3u7x$x*7pXw~n@jNf^A}{fX?^qq>F&^g$ zHg{dG1zRzb>t~sng?oMPY9IG=o$p?)=LRlwo#(&(epMykM;zn3%rkwj>bCDyZSXy+ zl)fu<&3C1i`5x4FzVr0R_Yt?-mlm}jEo~oq&-aBY+jj=evhNJ6XWtok(f%{AiG62a z5BtuZeC2zJulbelDt^sk_MOG~-gg#1aE5*7Os2R0%)ke}zxa?b>>p$DfPLaYX0ad4 z%3bz>yE)N*ZW52$ryXN8`>yJoU>`M+KieO@;&%I-9ZY54lA3+&L;7-{eZ?R~v`>h{ z1=jrwS;#uRFb`U{AL2ag?D^c|`-pp4$NIM}%UH*jWnJshdciu?x^gxD@jb)$ENY!s zj2C>j@FH_scje*;>!*>t;roO)dCPYRZ?n4fN)1M`{)o)U))7;f+j<}mYns<72* zjsCG$|H!O=^w2l*=ojnsiG2D)RsG~+ zTMeA5z5_$4@6a5lzQ?nL`fkZt>U%cRsPD9FuD(C#G4*|%Bh~jP{?_|H@A-Yh^6I++ zE2;0wyyd&9x7ksBcVZOv9hKwN_XM_8-|aX;eUD^H^__~Js_!^Vr@qs(m-_C_bLu;q zx}L9|!>Z%j>UV{@U9DbIs?+ZyNs3h3*yVq=!1$txh(plM(79raFnIPS&fF zr0V2Lb&_74EKnyI)k$%6azLG|S0@qF$#Hd(-S>CSn+J!xzPiu6H$px9cKbiy+ZZVK zb>w}loX3~%nsU8Ep8Lr0_wrj{9IlGKUDh9dqP9W?O=Hw!Y1PIxLt=iSE+TT8`k2lU>SQEqsF#{ts&1Asviga_)Il9F zk$OtZLh7n8dzrU-^Ud4;+&}j_2bsqP^SSTSzTjo^+7*U3zeQjP>;96QWj#Ne6Rg`O zF^BbfE`FGrB+>u;E)>doeX8~OG>)+@AIo9Z=fnA{@6-Oq+QILXzDs+`cWKl5z3yY{ z`px=HXZdTPruxe}ePw_?(op~Csc*#AFT&{)@%4w+`oezw;C-n7 zyw_@i`u|Pcmr?IC)%hIt9a~*rP|vm0@gM3pzPb&kUZ<$jVd}G*x?HRtBdWuc>Mw!1 zE1=$bsIy4&*;_7CmdKs@yva64R=En{H$N6!tyhgK*JS?x1<@Kt( zo|V@{@|sCrv&-vAdCe!UL*%uDyzY|MQu5kRUT@3mDS1sHuaD%lySzp)KOU6V*Ydhp zUZYzd&XL!y^14!9bIEIGdA%mDv*b0reOx1XZ7Q$NLEeJzEf$lz;QN8U$=@4h zuujX!Tk?3DW#zIQugK?Bu9DN$yf3d0*j8@aakc!eVPwDGM&U(yzQn?EU4+x+dj{vq z`8=j^eIhM)%YEQp$92^~V1388)kWZ4$2-+Y;BLn^)J@S9W7_brsmcaZ7ep zZ-Lz%_uyf57fSzvs}30P0v)@N|s&~YO^QPup%pSzJ9QP zi}+lBcoC>iyku+rq79R|uCiR;D6em{);Fr_8~62%Gy29wO|SytiVW_a&tFoPHF~iC^%%ay-w^_VqmH2+tLE_ng}#&tV<$ zyij`2!z}Q;#|PKfZu>nWOtIRZ{m*tGll#Lvxv#pp`;=c=H*K+>$mc%QkTR8_#f-3V7_~Az8hk`J7&JyXTFFI8cd^WKm#n8+nBRW2{$FPv``UVHl6mXB_5T?2RCDvw4D(Vd^HEdt z&=KpY;pUxRtpCfJXDXOqZdgyXH;+UzZ;Ulhv^FmcGY=%!_haerX@Y*PU!Sp_ilXn% z)mKC7pEdQ%W%}ew{V}<|c-MNWxxN@qUrZgWrx;UzjK%r-qv6FNUmebbpyFhB-fMWI*DB8 zlIzWKy-2SAZ1$h;tnZTRigNuxu4l;gdAaT@*U#j-n_O3r>w$6|Rj$j)^;)^^DAy0= zI+tAMk?Uh}-9WD2+Sm4y>)LYNNv@;F_4{xB^Pc}$a{akn@09C5?Q2KN_0RUT#pQa6 zTu+zlXmWj8uB*!RulBXE<@v*i|GZadyc`ddV>E1x~BACg%=G?vdc^0`hv2g~QL^0`tzd&=h?`P?F( zBjq!ee8!j04f2^xK3mIY2KihlpPA&dgnS;9&kgeViN1S6KI_ZpkMg-xK5xtCNcnst zpM&JHu6&M@&jj*WTRwNmXFvITCZ9#*v$%X-kk6L#8Cu^RDxb~dv!8s%m(NK0ZW8(I zAfHF%GpxQlRX+ce&x-OnPd*pQXMFj*DxdY`^B?(4BA=1;*%|UVNyeglc$Y&|}oFku;_1WC|Y-oLUx;{HjpUwTh{Jmn393PS6 znQ|P-I(WYvkC)?1a(qgT=gV<=InFA_$K?2c91oP^qH?@lj*H82Jvk2UGY{@BPb$av z<+zI+hqW)>C&w@4c!3;8vEQ93$DQPOnH*=A;|_9sS&pa6aTxp6`f}Vzj-Sf$Ksin< z#|z}RpB&GYb*AJLfzLRmCoUdmr>x|fJDfg|oUH*4)r#jfh zZ0aF9pQ(!<*+qSHWnAl%JnAH+I@zdB7O9i=>SVtKe&H8Ftq*PGyB27$o7SS>+KH%SJ)@6|8mSS1^&2l_u-+7#!?LWKlH~Y{xoMk^c zn_KNmw{f=p=^Uo9Pfg2o{KURBA|r+HjQ#9cp5uAOvd<0t)NvffWe@w{z+R4fvkwQ` zCkGC7JdDHH$v!%;i{q{w7rf_$6F89v?7I*05Dzo8{dgLtWjfBWPoK+qoX@}Q-{0{c zzUOuO`Ww8-TYPW6{=iW7|Dl=Ab%6BDz>I9?`apYjU`IA~-Jl7ZvKfE09{7pRxzYMy z6Z5#vke5kaZ%D?7o(pa5dCidhIM}cKTR&c69r3Mo#BS?|tkw}xd85!+|fYivz3b&(#=BpN`Ju))_09 z*Lou#f3og)&Sd&{a$c|wxyZuSBSm=9y5tlWSf4E973-9%Y-+vIjPtEq7Vy3G%Lg8_ zjycX8)-yRd#=2%KCtBZ3Vtm)%6L7ut&IVSp?y1ZR);|}y&N^s4&sqz$_7Iq_VNUSM5Q!n&rpbxj59 znw!=&$E|B7Sl5KClVIOCCB$`&boPxc?HfC*lWpo`v^x3QzHy^E8K_PUtCQX8WP&La>(IB&h(O#WZlH?EfVht}KU<@;~@ z#*y;eM2@G*Z*sY9B(DeMbclTZY~NT)9?Qz%RqO3Gau-3~M#)(#`5G)&N#rTI9Ho?> zu5xqIx;moV%#xe;_Knr#X0hBXlba-RbIZE8iQI&in-p>rO>XAM%{aNKCpR_h(~i5& zTgdgW)pE1U^@jiJ{o7CF<}10`AveY3ri|R&mz%0`Ge>S3$jxQBX(l(l41T|qn^^keA-VZXKinfXljY{P+|-bpNpkaAZg$E|8vU%F+zghR$okeI zxhWzyhvjC0-0YK^dU8`vZtBa;8oBu(H^t@VlHBChZ$`<@ExEZPH#OxZiheUyZt}`a zZMi8bH|OMLkK7ECn=AHFdF`XB*+-SIk80t1!#vj;V!I!Bj_VEKt!qBkxBhK@@2_ti z)VHSTTM^9fd-Sa_`qnx5J0X8_GIcJ{uaw$R{3iye;4F$iu`@hx2not4f*><-|8cO z@#Jr|{PmQ-Y4Vp%{*udI4*44*f4Af>f&8tMzi9H;O#U{@-&Xm{EPvnWTOH&tmi*Eq}@6FQ5EnmA|U;H%9)#%HIU}`^)vN2d;O;wr&pcI72^-r5_H` z5BuqdssGFSJO;>PPQTy&+y1|+JSLLI&GML19^1)dW_es9k6Gohv^*Y>$IbE>SsqWz zV5wj}DQ?`tmqI9uvu9U3uIij|1fKCwVL;k0s^tl01GPk74C; zxIBI?j|1c}p*%*B$7J%@Ngj{MV|aO-E{}hkM=Q(Y0(o34j|t`Rx;!?N#}BT*CX>e~ z@;FN#$H-$Hd0Z)v(d99{JSLOJV)EEe9{+Uxb(lQ#tK>f6Zfm z6~?}5hU>56U4JcVUf&|eS>*WNo~sz8ub$CY7wW6A9QTsr zb#k0vj(f=QZ8@GV$C1tJ&E>eI9KV#~k#d|`j#tR>Fgac<$A#rMiyRk|%D-@oPEmBgaYg)nqIz&qbI)t}}AGeDB~2IbX@H@_tO-Gs=5O zdCx2F^@86UYh-j&1ra#(s>A)hIEQ%)mUf9{ggbaJ{yPDjh> zemSimr=#TbnVfEv(sO`^scjSa-Dsh>+I3pCw0}n zqpj=gVO?iG;5z$T*~2&N5AR1c|X_5!@4g1!gcXzu7_`O9elOx-iKZ9j_Nvh3)i>Tx~`qi_3Q<%W506! zx{T}A68ISAFfezIKDN^|v{UpwE56#`;|oHq-Z-^GEaaPaLWb4r6ltFa?+B zi%U63e;myD`s4!U*Dnh&gT9%Oh4jyH`sdgBXDa=3v;G-R|7@dw?$JN@>7Tjv&zI); zp62;P=Jx{T^|a>mt>*D%=I_qt@5AQrBTN^pTUpF}UYxnj>v>qm{9c!nt!t++qWxAR zPO;9N%JCHV{Tq)ptb=QEh4t`C&bKaJz~a`&B^cE@IT{yPFE8eF>*g7p z;JK-Z{L6Dwf3u7mc`)nCF{U(L}^^64Xc^^aNl#t!|WhCWe3 zf2gTHEYlzU)E^4!4`=j;&-8~O`ok6d;ky1%MSqCk`rZWnA&34@O@An$Kb+Jbw(Adr z^oI-jLQegll0HyW{pYo=-)dc-)&6p>T+NWHkk9S^+y3&TT+NiLJ92eZu2#ua4!O!F zR~O}~m|TsOtBP`UM6RmKRcpC=ELYd$D!W|0l&cYP6<@9{%2jB&+9X%WuNfx#}WUf19r+%hhLcwMDKb%GG+gDkoR@uJdx#}xdXXWaGT$PopP;xa!uCmHiCAs=ozga04OXQ-0eltqHnXcd5)Nj`5H_7#z zD{`?!E*{Ip1G(5L7lq}bq+HyQi;8kFLoVvb#d*1CBp2P};-y?Xl#3#A@lGzL$wgYZ zxF;9Um4$DOqxfmxGFXUpYT%?eTUUJc2E+XhR^W>s{TXE7c1oAZ@DNe7w6<6yIc&Di;s=(f4g1}-b))i2N&}CXe9f#;Qpvv#&^B( z&1-xM8{ccjx3uw{WPGa`-;>6-j`8hae19;$w~cRJDe9Ic&;l}r=@m*(p6B^&n#0zu-;8e_<9ovRW;VV9jqgQue?{F_RQF-k{Wx`>P2E>f_xa2x$IU18%nxVH4<*bG z8})%T`alhRV3IyCUmtj=4{Xy1GUx+$^?|kez)$+X6FJ!{C#B`&fSh!)zds=-3+1G# zoZOI;R&vr`PTtDNQ#mOsC*key=gY}wa`ISC;>pQzImsm_2jygjoSc!9x^gmIPJWk@ zeR7gfP6o@#2sw$N4=k6Hl5%oFPL|5aVL53mCza)-iJWYdlW^{1C?hA=dHxUIhi3R1>~fjoRpB0i*ge5lT{(E4^EJi(Q=YqPCCj-Upd(?CsX7koSf{E zlTmVVMox~%$xJy(DJSXWd47TIawnospRB={cB4(`9x0A%SjwLSu7`0 ztWTR*pEl56-h{|a$ayHX+*FsFMsl-IZo0|MQ}?^fk()MhvtDkN%S|7-2`4v^%}lwuAUFNw=10HNb(fopax+M7 zqRCBpxmhPSo#f_`+~k&#i7ey96XZbHe;1i2X`H}NHBi1@%hz)G>Mmcq z(#h9+`N|+)#pG+he65qO@cPm*`Kl{lKgic&`MN1z!{zH&`5GW!wdHG!e8rQm8uGPW zzIw~oQ~4?+Uq$5Wtb8?>ulMpbNWL1&S8w@>BVQ5prG)a;R=y6(S15gHl6?IxU*+U$ zwtUT#uQ>8`NxtgH*I)9LP`-lsD#%4}KkCPxAN<&RAePHT0`t{bxtJ>#59H#eT&$Ce zJaSP;F0RT&DY=*^7s2xZ)m>kHE*Jmye876^n&5p8iLGm{%0+nVnr(8C%6zp!E{4m+ zZn-EU7sKS@JGodZ7YVFuI>|+Mxp*%Z)8rzD`D(jdOp%LCa#2w(3d%)gxmX|!6EW|19mgXVAyi{L4HU^s(yZ)nopD zLF@Ka)?-Vp$10jvN1In?=zF*Hz4h{)LcXuc_fq+OBHs_?dz*Y0k?&IST{pzKJ-XlJ zuIYOh^u5ON-Cf`NS>Jo4?-kYe{?YfQ>wD?s`@Vcfm+$@Zomswj%J&5MJ|f>$<$Jt* zzm)H7@|{w?d&~C#`ToSZeZG7bl$URMrDhw~D{dAZ=cGiwNF^+Xfd-XU>?%vDY3%RQzcTufNmdRZn_4uRQB~_2-`b^zC(WS5fZH%iUVJJ0o|k%N_k*MCFitegH8e0MDP-dJ$oMR31G zCOKQI?`M&-QgU`!&Nj(eBsn{!zcrMzpY*q7a&||58zpDI>u-bQte%{Wm$QU&R!7cu z%UORp`%!-@DrY6+?4thGO3uQ_*)Tb4E@%DaEPTluXY?_??rN32@ zv-xtiNX`<-*){#GftzZroQ;;V+H$r+&Z5a#Iyp-!XGP_#ublm%zkMuk z!Sg9y4VAao^43q@YRcOvd5a@&)#Pof zy!Di~C-PQ6-h%Uc!+NE%d1JSF-s=1|bbe<$zbl;Ir_S$w=QoFWmRTb$;tOzt5fDrq1sg=eMo%`<3(C#rYlW{DyO1)UVEOE$273d1H<9Tgbfe%K1%g z-ni=gmNajicYc>Tzc-!Vmd@`I=QphP44!s=^O`p%I=|D^b5irh7WG_RJzrJNo7MAW z_1s=PH&V~RIEC!Hy^Yhqy_aB~aq4WG9;<_y#_0>=w8l6sF-|>=Q)uJ#iE&zBoT3}2 zdd4Y%ahhnH5*eo)#%ZHESYVvqy56}%9h5gt_te2O<8)RX^fpf4tAj4ashn}@Z=50< zr!vNAwK`~TobIcG9L6b^aXO;!)-z6TT#xEuoN5}U4#p{xaeC)^XAFI}nZCPS-+k+P z=SY3`g}z%<-<_oIPSbaz>bs}(-75O-FZymQeYc1GM)01trt0_1M{;pq{RZp4bpP_6 zw%~b{=%IYUaau0M%0+1FzUgwYMlRB+-+1n$?WcYVs^2Se z(MJ6ycfVpy_4`3CI;-D5<>I&`>Ki5HBeZhG`D<4zjUJd#wwHTNhrnF3e|LSlzm?q;+9S>%#fgg`c`EI@i88g6pC`xGtL5 zb`HDbcyStWn34H&V|DATiTd?C>#YasajSVez4g`|^Y|L`_>boC z$L8@p`gJM&`lx>0NWcEr`-Otv4_d0ne(Lde_4u87ETbO7smFQhF{^s~Rz1d5kH^$w zPW5;|Jx*7Tr`2N}^*BvEzEO{R)nf+rI7mGXSBKHn-!k=ALfsu#Z%fqKA@$WrJylXi zjn&TvbrV*-lvXF#)JZ;dGFF}3RVVk=NgZ_(O`S|vC;8P$U3F4iom@~S`_#z@b#hIe zHxIdv4CaGi9ob&~Hp$<9`FkgS*X6Ig{QV<; z!Fu6i*NKAtdvKj7r~ECpUI_N@{0*1C=)TkW zxBQ)uzZkxY*N$_3z;CuAJ^En}(#|fUlSs;(u zul*hCBVLf@AA&+nM!~OD@NgjvD<4AdoDUU1Uv6MWX)DM@* z;}QL^i9A-3$ENc5vGEGoKmOb6e<9xs{crsv@)cHA4Rgt$(~Se^u8%V(1?$ zjaPo-^}=|iFkY98S5f12+ITH8Ue}CQbK|wpc!knGP8hFT#%rAMnryrh8n2DUtBUcu zWV|*Quk*&MwehNFyxJJA-TFs#{iC}6@zDHLLjRbqe>^sSeP{k^rhmlOKNjjACH0Tb z^^c1B$1U^M3H@WD{&Cm*RaF0|tACW&KicXaOZAV0`o|*uBZ~g==lx%E`;+-E*e_=e_RacF@SgKvpA^_fKN`gm4BiJ(%60D&{M3FbKL63b z%GqBvWPKLb&r*19ag+63aNp};*J*EI??=kLVa{KzdlnRy*$@i+jFgx&999-*E-j8t$`6e-x_$;bFP6UJ?~nI3q1F_ zkjp*)+LBp32m7PCy5xD-E9~L9*q(f6o(_B;?8`kb`;e(1m!4PtnXmYozwlR1@t)18A)M|waHiw+-ov?p8@Y*_xrI}`r*j%-a3*Ilx%YOa zWGbd+Snux)$MB566W-f-lBal@(Y&uSI%Be{_j7h*cMkAA&Vd}n_TIzUfgL&8`!~mM zEcbfv=05Ic3h&!Y#aZ63Ih%i)NB-hf>(Og`XI}Y-X}ljZE!%h>W?MG${>x|Pn+@ih z+}>}Q#Ct6xc(3J`-fOwfb%m0y-|q1HOLo_97g+z!c0Hhk^>4`gXfB$6mRbMCH@}>* z{+(m~xNrS?!}Wl*t_S2cUlepb;EMU8r2W_g*Key>{~mW;zn1x;o%!Oa>j5{dr*c_O zy>?xHwDnXX>!~Z&Q{l`PTdk*3nlIK{PYtu4+GRae+IniJ_0$vV-!;}#@vWyiT2FPe zp8Cgi{i)Vd*{!FxSx-&2p4w#6zHQ@^;bpUZmcnDtaf>#6?MQ|GOx zE?G|n>yY3+jUL9k!$+>ySF!)DZ~Zafcy}@0PyCKE%Xoijyw@7mycoUX>Z zyzw4jyrUTJvc`Lj@$O)}ANU<7r}55hypJ01`o{ZrzvJ{Y-nEQ(N8=sYc>m*foS4SD zx$)j%y#Me!&M4#k((gFMjCU};A+N8jH@>UXb2arm!T8QKzW0sq7UP>vJ>NFItBvn7 zM!&?8%HNIKY^Ebvf zj(R?7d~>Mh{l<5i@jYdHYa8FG#`iblyT|yZSI@zD4eI8@j`KVJ=Q~;dcHi}P&TEEX zz3#jQ>+;~flaTw)($>{!tgE*muhhw0-AE=QX$UI$qsOQ8$UKk2k5Cs`}(*b+b|3 zTu?WGZPZU-eSNb5+p4E_+@r4cGKT$WOxDm>Yx0qL`-&y?*;1UT{$}wzefMdg{`)~Bli-?p&7tz>_D+y3^X{p}?C+k5u6#q4kE+22;MzinrKyUhMJk^Svr z``f72BQNc5<5(ArvMvZ~p6H^FbkIlQ>La!Ek!JF~R3GUj@0s+G1^P$_ePpvfvRWS* zppQh9_vre_a(yJOKGIYlNv@B~koT1Go?qT~=p)PJ{k?f&zj>mXKJtxuVy-@N#XK=c zA9-n>=q>Nn}_X?8pCqU9URoJkD|+Q#p?roX3OCV>aipkMmf- zdEDeY7IGeII**r~$3xCz0)6AA^VrsT4BqRL(tf<7ejM6Kh3vQ^o{EJ#(nc`H+>_fzA;7L=%jCq)i=`V7YX!-O!`7!{otbcHir6N zsP4n7_qytQmHJ+*u2ZY$hwhtbrJf_I=M3sOu6kago~Nqkrs{c47{ImZ!hvX{tP>F%R8Umr>PyOU6 zym@G@Jmr_CeeyJ0o_5MpO?fIQPqpM}xjg+PPle>^tUP6tr=jw6Ri19hQ&oBT#QZQ( zo^r}lb$Kc%Pp9N*hdd3Ir;GBGOP(srQ!(?yzvU|UT`pvTmsik6cxjt4I3%EV;U<-}jfRpY;14 za#cyL2Fq1+xvC&n>*cDmTz#ca<&mp=a&G+86YZtGaU4MXsXBRVcaoRIXae z)o!`^+rD6|T)nn0C@ELd9Y;6wc_IcJ+UgZZ9#ZdZc zXwFavGnq@D&CQ+aVi%{WkLlc^PPVd&da24H>ZT~Gs-J3Hq>dKzje7c>dG+g)>MDzV zJxE<$Qdd{iRV8&5PQMGUr);FY zuBxxk)mI<&^_%*7tiDRAuQ2wlbJSC2b@a8q{;B#oqOWIHC;RmEsp{jTzFtcmOi>5F z%KvV;PbcpKP@-KD3nlU6sGQ@;65Q z?#SOg`TO6F_ZRkUtL@tc*tflMeQ%lZ?q zi{Cp(>H7)%-dRt7e<$BZ#w!- z*RuL+YyEYx{u*C@U8uiC)?c5yUh=UVc6Gg^qkUOC*Gp=B^s{ z_IC&CxBmX_H2&_-{oNh?-JAX0BmCWe_`BEnyZiaO5BR%x_`ApYyW{%16Z^Zj_`6g2 zyW9J_v-rE0`nxOmyPNyFANad3_`9R1zcc>s#{TXX{_Yj(@1A|b81?sueZx@o*TDQT z(fpFw{8G>SvRC~LRDaLy8;YyHkDcEkauq!9nAZ7i;rw=TeuMdYtMeS(7c$EE4(@*n zp0^G9-UjD?p7TF|K_5J1Jc8#VcNv$UF9rtvF}`sM?sE&Q>^gREAJtyt7Cg5b&iWvD zemD5;^L697%y$4D-=UzO$eHhgHl^Rk_eSwTMg1S4)}5yp@_Fv*^!9_2=~Jyo>&vLp`rj&$-lZMRhyS?^fO24|YR+&b2!V2SXDQ=;$$9RV zoa%nbyzXBK>;9FQo{O2_xtLL&izy%CdQtHFf3V*8w>$^)VQ~FB#`6RMD?>2v= zx8C0>&tv5IfIL@}=h5=~qyD~0o|9VdcMsMZ@*LKBf3`g5)u;F9&olMq?fP+beYm*( zTSK0g%JU!cTtJ>fu504_%XPn-)-@lyE)lXXh1|ETHI9RfV`SqP(>Sg)j`59SbK{uO zILt~8FJjN?J$Si?9zwmz6|9Isjr3^tBG>q~u%V|C*=!Z^k@j#Z4~ zX5-l1I0ol)sy-jx`RuRH_qGmCVV&5-`D|;QxL%(hVqN%~b@(dlz&z?M!$HKVZ4$VuLs7ftMLk_ z?)Dq6pN-c-;}uoi%`#q{jn{JHmBV;-G+tMX*9_woR^2sFca7EE_vVp7!91ew7OK1c z>TZs@%cJhns=NH^ZnV04sP2-hyA9@%Pt7A=m`8S+M|PV>a+pVcGLLjKkHj~RxRlc=B~! zzFN!IpZdWT`Fbi}Gvq6*d`*Ny7?#fpe`HC)I zljN&|e2tc`H1ZYnmyo|Z4=_G`j897A)71F1Gd>%P&rsv@Mt@mte0m$7y~by&@fl@& zVjG_X#%H7PNp5`F7@v&BXOZ#Ato}5xnmz z`2Ffj`EAQ~Y|oAi`sYRG@e;4_Ht+BrgXhy8IsS@YGgt?mHZEs)mgjkamw1!6c!&3R zpAYzu!SBKyjejS0W>@xPFZO0%_G5nz;ZP1|@V1iTmsc_$S7ue#U~Sf6UDjhmHeoY1=jUv}mTbi@*qUwF zmhIS{9oUhb*qL3}mEG8#J=l}I*qg!qzkMC|V}Azg;t%G>P@c~V&j^gjD2&b+jLBGx z!vsvk#7x4ZOvdC)!IVtJ)J(&)Ovm)hz>Lhq%*?{9{EXR{ojDjh$C%4;ZsuXIuef4; zag{fDi}(3}5BU|p;kSIuC;Xm2@;P7dC4c5CzUD9dmA~-~f9G5N!9V#I|K>Xe&u_kW z{DGl7-x-==7?#0%bs{+agb^A14iMXOpz#==iJ62cn3AcOnrWGi>6w9gtGcpr1GYhlwGiGCU=3q|dVs7SPUgl$d7GOaZV(?yt zB94o)7=!1OOE@mcQVgy${9wQFj6d=@U-DD^Bw=;dwyUj&wGSs7=~j6 ze!_^1#K?@osEo$wjKP?U#n}9maTu5J7@rB4kck+)-y(_Qq)f)-44xZL={OZrGx+^5 zcyCJ&`@o*;#lGyv{v61`9KvB7&Ji5RQ5?gu9LMpTz=@p1$(+JzoX#1X$yuDuIh@OR zoX-VZ$VFVtC0xp7T+S6-$yHp<;Jd@?9IxjFZe;Mh|7OQqxRt^6x<2;p12~Amdw7OB z9>I|u%W)jfiJZ(SoXTmO&KaD^*_^|G!IfOaHC)SeT+a>M z$W7eLE!@g&+|C``$z9yTz1+wB4Bp#t$njwwVQ}5`Q@`8CXTlJ_<0o^RoGF-^X_%Jj znUR^8nOT^XpD`PAFnFI+F2}iB=f>%76>zMET)Z}Tqi@jf5& z5x?Ts{FaaTgx~QgzvmBp#vl0;pYsJ@@@Kx{YyQGt`5WKxcfREx{F8t2Z@%L{e9sRI z<^HA648yPt?r#e3I0A$Fq9Zzv#K?@osEo$o{W>um$7C!9?-85eI{8FS;$%+YG*0I% z&gL8j-&L6JcmWr2F_&-|mvaSIauru|4cBrV*K-3mauYXm3%7C`w{r(~aX0sHFZXdj z5AYxl@i33@D39?tPw*s9@ifoyEYI;gFYqES@iMRQDueG91^3V0@b5Pnyss>r_cDcN z1b)JZjKs){!l;bK=#0hK{FK4{dvP7dX96Z-VkTiyCS!7@U`nQ9YNlaYrek_$U`A$Q zW@cele#UIf&K%6iT+Gcp%*%Yt&jKvSLM+T8EXram&JrxiQY_6fEX#5%&kC%_N(|oH zRmE{tR%7sf!r6X*Tfl`}#Kl~~rCi44T)~xG#Wh^ZbzIMl+`_Hg&K=yzUEIw*+{=C3 z&jUQjLp;nQJj!D{&J#SzQ#{QxJj-)D&kMZBOT5f0yvl35!JE9r+q}cOyvO@|z=wRq zulNnWdpRbJzD-r!B%;%(mHUEbq;KHx(>;#d5d-|$;L<`aI$r~IBj@EL#P zPkh0b{F$%#n!oT@{>C@_op1RE|K#6%$A9>q9~kPhYn#LTzwc`a%`gnha177jeX5z< zcbb(sn2WiYhk2Qg`B{JkS%`&Mghg45C0LTBSej*6mgQNIRalkPSe-RkleJizby%16 zSf35pkd4@wP1uyp_&Hm!C0p?ee#zEs!?tY4_Uyop?8MIO!fx!&9_-0p?9D#x%YN+7 z0SxX_9_)AshjJK)a|A~+c<<$C$74B;<2ixB`+gI;FFFyEG6hpJEz>bQGcY4FF*CC; zD?ej4W@irOVs7SPUgl>37Gxn7W>FSnDVAm#mSs7XX9ZSdC01q?R%JC-XARb5E!Jio z)?V$kHs|MT!Io^rFZdPefgHra9Kzuo$VC*&D_GR+{W$P!JXX2-Q2^y+{gVqz=J%*!#u*H zJjUZZ!IM12(>%*_JkJZf$VXK^;?FnDfip5yskz=d4I#azOrT*l>G!IfOa)m+21T*qtf zi@w2|yv4h`$4C5%U-KJ&%g6kVPx(E6;4}WnpZJ_F_>w>KHGko+{Eff!E&t%3{EL6{ z9sl8beqd4~#Kl~~rCi44T)~xG#noKHwOq&b+`x_8#Le8ot=z`# z+`*mP%{|=9ecaCjJjg>l%p*L?V?53iJjqi$!?Qfc;5pn2jxX{OFY^ko@*1!625<5f zZ}SfC@*eN=0fYB!1@F~Le(1F6_!~?9LwS$zJTuKJ3eW?9Txl$Uz*;AsotK44!Kr;dmrR zaWuzpEXQ#?Cop)w^CZWUIfYX>jng@UGdYXF`|E=D)z$U9ay`~(BQ{}EHe++PU`w{* z7yOc~*@kV|fx&xdJ2~#mF6_$g?7^Pw#op}0zUAWgNz3JjQ1NCSnpMWilpb3Z`T#re+$ZWjdy324-SrW?@!- z#%#>a9L&jF%*{N^%Y4kw0xZZvEX*P-%3>_e5-iD5EX^`3%W^Ew3arRVtjsE`%4)36 z8m!6Mti!sj$NFr*hHS*fY{I5&#^(H-E!dK+_yxaYYXYf|&2!w{*^9l|hkeyoFIe`;7 ziIX{%(>R?oIFqwDn{zmq^EjUixR8svgiE=M%ejIpxr(c~hHJTw8@Q31xS3nHmD{+T zJGhg(xSM;pm;1P%2Y8T&c$i0cl*f3SCwP*lc$#N;mKS)DmwAO(d5zb3gEx7Lw|R$m zd5`z`fDieIU-4^x!*BVRPxu|5@_YWkXZ(rJ`GPO`GhgvFf8nou!{7Oq!FLHhc<(|e z?@F&LAv`6=TtF5@vi6EGnYF)@=cDU&gHA9M=GDVd6?nTBbZ zj_H|!8JUS$n3bO~8?!S9b21lmGY|7JAM>*y3$ZYZuqcbMI7_e;OS25ivOFuWA}g^n ztFS7ou{vw8CTp=a>##2Cu^}6=F`KX{o3S}RXA8DuD}KQ**_v(GmhIS{9oUhb*qL3} zmEG8#J=l}McQ|`H?!&(9$Nn6^fgHra9KvB7&JhgWdw$FNQ||CC@9`^s&2RabPxzGI z^9MfTk9^J-e92e*g}?GQzTxkD%Rl%h|Ki_#$A9>q9~jDefI~A3!!jJhGXg(hL`Gs{ zMqyM&V|2z~OvYkte#$tE%Xo~>giOT5Ov0p0#^g-FluX6cOvAKH$Mnp=jLgK$%))HU z&K%6iT+Gcp%*XsJz=ABq!Ysm~EXLw2!ICV+(k#QWEXVS!z>2KI%B;ewtj6lB!J4ea z;JdqZ9M@$%)@K7YWFt0a6EV`I4(4Po=4Kw|V}2H7Ar@v47G*IOX9<>MDVAk9mS+W4WF=N+ z6;@?6R%Z>?WG&Wa9oA(%)@K7YWFt0a6ECi2XQcma43gyI7e_KgZIdfc07h-IgaBwffG52!S}bP zIG)OBoX#1X$yuDuIh@ORoX-VZ$hqE|HjfLrh>N+5E4hlRxrQ6Kk(;=gTeywexq~~o zi@Ujpd%2$nc#wy9m`8Y&$9SA4c#@}hhG%(>=Xrq_d5M>KmDhNkH+YkGc$fG1fDieI zU-4^x!*BVRPxu|5@_YWkXZ(>r@i|}cC4c5CzUD9dmA~-~f9G5N!9V#I|K>aX!}t8a zP`=v`nqe50;TWC~_z5F25+gGTqcR$!GX`Ta7Gv{M#$jB>V|)hRok-|75fd{BlQJ2T zGX+yJ6;m@U(=k0WFe5WDGqW%&KVvp#XAb7%UGH7I#|M1GZ}=@A^C`dQ4}8WS`GPO` zGhgvFf8}p{!{7OqfACNK#lQKE|L{FOFqH3wgk~6qWjKas1V&^eMrIU7Wi&=-48~$? ze#$tE%Xo~>1Wd?8Ow1%q%4AH=6imrfOwBY*%XCc7jLgK$%)+evjMN{@0hHS*fY{I5&#^(H-E!dJ@@JqI48@6RTwr59nVrOXz=@p1$(+JzoWYr# z#o3(0xtz!OT)>4~#Kl~~rCi44T)~xG#noKHwOq&b+`x_8#Le8ot=z`#+`*mP#ogS) zz1+wBJivoI#KSzoqddmrJi(JZ#nU{)vpmQ1yugdR%qzUgYrM`IyvbX<%{#oydwjr$ ze8hi(_m=zaV>pIqL`Gs{MqyM&V|2z~OvYkte#$tE%Xo~>1Wd?8Ow1%q%4AH=6imrf zOvAKH&kW4SOw7zI%*xN0joF!lIhl)jn3wrjfCX8Ig;|6}S&YS5f+bmsrCEmMSe_MF zk(F4PRalkPSe-Rli?vyYby<(~*?h8VP1%f}vjtnS6~Ew@Y|S=o%XVzf4(!NI z?949g%5Ln=9_-0p?9D#x%YN+70UXFd9Lymc%3&PN5gf@;9L+Ht%W)jf37p7DoXn}5 z#_62FnViMhoWr@C$N5~qghGRL7<2iv7If;`wg;P0=(>ar~IGb}gm-9HE3%HPrxR^`0l*_oBE4hlRxrS@G zj_bLB8@Y*FxRu+uojbUbySSTsxR?95p9gr5hj^Grd5p(-f+u;3r+J2Fd5-6Kffsp+ zS9q1zc%3(Rlec)AcX*fgc%KjWkdOEkzvegmmXG;_-|;EG=MQ|wANdoX^95h>XTIWV z{=#4R8{hDEzU3eMlYjAVzT-c9&kqdcJJz8YhG7|w;TeISFd`!{GNUj$V=(w`_A%e- zIL;G1$l|T zz2}Ka*IJ2l))IBAsCXO7@A=imf;wl5g3t?7==+8jnNsCu^5MO8ISRqfC-tHNtl$$ zn4Bq?lBt-QX_%Jjn4TG!k(rp8S(ugCn4LM8lew6id6<{^n4bk$kcC*7MOc)@SezwT zlBHOhWmuNwSe_MFk(F4PRalkPSc5fLi?vyYby<(~*?^7Mm`&J}&DfkR*pjW-nr+yY zf3O|fvjeNR7qcp>vnFe?4(qZW8?Yf8u`!#lDVwo5Td*Ztu{GPUE&pIUwr2-+WG8lJ z7j|Vg{>kqAi+}SU{>vWh$zJTuKJ3f?*pK}=h=VzVLphAYIg+C|nqxSY<2arZIFXY$ znNv8G(>R?oIFqwDn{zmq^EjUixR8sum`k{n%eb5?xRR^5nrpb0>$sj9xRINH=XjnMc#)TQnOAv@*Ljn- zc$;^4m-l#|5BQLe_?S=ll+XB_FZhzL_=a!!jvx4upZJ+y_|W~3kNB8R_?$2Kns4}) z@A#e{_>rIZnP2#o-}!^T7^vmaVgLKCVGssoFa~D`hGZy)W*CNLIEH5gMr0&LW)wzc zG)89(#$+tUW*o+4JjQ22CSg)0V{)coN~U6JreRv9X9i|uCT3<9W@R>JXAb6MF6L$) z=4C$SX8{&uAr@v47G*IOX9<>MDVAm#mSs7XX9ZSdC01q?R%JC-XARb5ZPsC3)?V$^He++PU`w`QYqnuq{=s%^&kpR!PVCGs?8p)MIGz(ZiIX{nQ#sH*x%766 zyv5tR!@Io4`+UHMe8k6m!l!)3=X}AJe8ty%!?%3L_x!+*{KU`v!ms?sANrGYX?JI%6;p)MIGz(Yk&`%uQ#p;(IfFAfi*q=a^EjUi zxR8sum`k{n%eb5?xRR^6hHJTw>$!m&xrv*(gqim91~X_=lGn30*7nOT^X*_fR8uf5C3Hk_GEANVPF2oe(cWy9K^vK z%3&PN5gf@;9L+Ht%W)jf37p8uoWiM`#_62FnViMhoWr@C$N5~qgFe|e$ zJ9986b1^sbFfa4501L7Z3$qA|vjj`B6ic%V%d$Kxup%q5GOMsEtFbz3uoi2x4(qZW z>$3qHvJo4z37fJRo3jO5vJKnv54K}_c3?+#VrOyoFIe`;7iIX{nQ#p;(IfFAfi?cb0b2*Rm zxqu6~h>N*|OSzmYxRR^5nrpb0>$sj9xRINXO@jKZjl z#^{W}n2g2PjKjE$$M{UZgiOT5Ov0p0#^g-FluX6cOvAKH$Mnp=jLgK$%)+e9#_Y_& zoXo?#%*XsJz=ABq!Ysm~EXLw2!ICV+(k#QWEXVS!z>2KI%B;$2tj-#&$y%(49jL!s2 z$V5!cBuvU=OwJTc$y7|uG)&8MOwSC=$V|-4EX>Mm%+4Il$z06Cyv)b^EWm;+#KJ7X zVl2)QEXh(V%`z;@axBjZtjJ2N%qpzPYOKy0tjSue%{r{hdaTa|Y{*7z%qDEgW^BQh zTpIL#rhpt@#^qee)m+1MT+a>M#Le8ot=z`#+`*mP#Xa21ecaCjJjg>l!lOLK<2=EW zJjK&I!?Qfk3%tlnyv!@S%4@vN8@$O|yv;kj%X_@f2Yk$@e9jkq$ya>MH+;wU{J@X= z#LxV~ul&v*{K;Po9PD==1z}JIV{nFGNQPo)hGAHSV|YejL`Gs{MqyOOU~I-=T*hO3 zCSXD)Vqzv?QYK?^rerFnW*VktI;Lj^W@IL2W)@~;HfCoI=43ABW*+8cKIUfu7Gxn7 zW)T);F&1YDmSicGW*L@cc~)RWR%R7eWi?i34c25W)@EJSV|_MYLpEY#HepjXV{^7( zOSWQbwqaZT!FFuV4(!NI?82_>#y{DefAMer!++U>J=u$&cQ;BFkoRBtjX(I4zZhuG z@81v1APmZ249*Y?$xsZ)0*Ks{Ja3eQyGq-RXw{r(~au;`V z5BG8(_wxV`@(>U62#@j@kF(;QAh81SzA~$@8mqGgYqAz=vkvRB9_zCK8?q4_vk9BB z8Jn{OTe1~fvklww54K}_c4Q}ZW*2s4H~z`L_&5LIzwE)D?9D#x%m3J)12~X_IG95? zl*2iKBRPtrIfi37ffG52lR1S`IgQgfgR?lBb2yLlxqu6~h>N*|OSz28xq>UXimSPX zYq^f=xq+LwncKL7JGqOyxrckXj|X^=hj^Grc$CL@oF{mar+AuYc$VjQo)>wEmwAO( zd5zb3gEx7Lw|R$md5`z`fDieIkNJd8`Hau`f-m`+Z~2bz`GFt#iJ$p}U-_Ls_>;dF zXz%Zw3&Nlb#^4OWkPOW*49jo~&j^gjNQ}%VjK=7U!B~vVIE>49jL!s2$V5!cBuvU= zOwO@^PlgT1{c)VY$(+JzoX#1X$yuDuIh@ORoX-VZ$VFVtC0xp7T+S6-$yHpM$j#ist=z`#+`*mP%{|=9ecaCjJjBC1!s9%_lRU-KJj1g*&kMZBOT5f0yvpmm z!JE9r+q}cOyvO@|z=wRqCw$6he9jkq#n*hpw|vL<{J@X=#LxV~ul&aE{K236#lS&+ z&p{9dWiSS32!>=RhGAHSV|YejL`Gs{MqyM&V|2z~OvYkt#$jB>V|*rHLMCDoCS@`v zX9}idDyC){re!*&X9i|uCT3<9W@R>JXAb6M9_D2}=4SyGWDyo+F&1YDmSicGW*L@c zIhJPyR%9hsW))UtHCAU0)?_W#W?j}}eKuf2HezEoVN*6^bGBehwqnAM`+xnvbr2{C zlQAVzF%8o)9n&)dGcpr1GYhja8?!S9b22ycFfa2lKMSxR3$ZYZuqcbMI7_f3OR+S| zvK-5^0xPl-E3*o#vKp(i25Yf4>##2Cu|6BH5gW4!o3a_3vjtnS72B{a+p#@6up>LM zGrO=WyYWwU=U@Dr|L|Y-U{Cg9Z}wqd{>Ogo&jB3BK^)8>9LC`s!I2!r(Hz6E9LMpT zz=@p1$(+KeoW|*#!I_-J*_^|M$W7eL zE!@g&+|C``$z9ydJ>1I!Jjg>l%p*L?6FkXNJk2va%X2)>3%tlnyv!@S%4@vN8@$O| zyv;kj%X_@f2Ykp!e8Q)E#^-#&mwe4Pe9L!y&ky{_0ga!%3)l|>IfO$woFh1jqdA6S zIgaBwffG52lR1S`IgQgfgR?lBb2yjtIG+o+kc+sOOSqKFxst26nrpb0>$sj9xrv*( zg|m;@QlESjKs){!l;bK=#0UbjK$cD!?=vc_)NfrOvJ=Y!lX>b z!V%Px*|``GPO`ns4})@A#e{_>rIZgoo#$ZgwVr<4?T*hMpCS)QeW)dc4GA3sVrerFnW*VktI;Lj^ zW@IL2W)@~;HfCoI=43ABW*+8cKIUfu7Gxn7W)T)=36^9jmS!22WjU5-1y*DwR%R7e zWi?i34c25W)@B{nWj)qs12$wMHf9qxWivKs3$|n{wq_f)9yYq*vvo1eKJuuoDk4bw6m(=!7zG7~d1 z3$rpCvoi;CG8c0*5A!k~^Rplevj~f_7>lz6OR^M8vkc3z0xPl-E3*o#vKp(iCTp=a z>##2Cu|6BHAsewVo3JUHu{m3?C0nsI+psO$u{}GmBRjD(yRa*}@lST=U;LZ@@L%>| zPxfMO_F-TC$A0Y30UXFd9Lymc%3&PN5gf@;9L+Ht%kiARiJZjAoWiM`#_62FnViMh zoWr@C$N5~qg%5VJ6ANJnVE%InT^?*lew6id6<{^n4bk$kcC*7MOc)@SezwTlBHONd-r+so z=L0_EBR=L+KI3z~;7h*ZYrf%IzUK#ib5JG{$#yw3-G z#K(NXr+mg2e92dQ%{P3@cYM!J{LC->%5VJ6AN7Ge<=Wib|K36^9jmS!22WjU5-1y*DwR%R7eV|CVG zP1a&<)?r=NV|_MYLpEY#HepjXV{^7(OSWQbwqaZT!FKGxj_kzF?82_>#y{DefAb&q zWN-FiU;f8_?9VFUu5An0J5^bY)meizS&Ow^{cgFV@cz1fF-*^m7>fCD**gE@plIgGp)M zIGz(Yk&`)vQ#p;(IfFAfn{zmq^EjW2xr9r(oGZAJtGJqLxR&d!;qhHv?f@A-ir`H7$TgQc$2qzhj)38_xXSi`G}ACgira5&-sEc`I>L|mhbqU zANY}<_?ch$mEZWCKlqcs7%0^5x&&qr24irBU`U2yXog`}hGTd}U_?e@WJY0BMq_lw zU`)nhY{p?+#$$XYVqzv?QYK?^reI2@Vrr&kI%Z@hW@c7qV|M0XPUd26=4C$SX8{&u zAr@v47G*IOX9<>MDVAm#mSuTXU`1A9WmaKTR%3P6U`^IyZPsNy)@K7YWFt0a6E6{zw#Tu^Cy2XP}1LX8JIyBl))IBAsCXO7@A=i zmf;zJkrEmg)D0sCS)XK*HGaW?00F6VIp7jh97a|xGn8JBYfS8^3sa}C#W9oKUMH*ym< za|^d}8@F=@cXAhZa}W1%KM(LA5Az6*@;FcMBv0`)&+shI@jNf^A}{eWukb3b@j7qt zCU5aJ@A4k+^8p|75g+pjpYjD?@ipJ@E#L7yKky?z@iV{hE5GqOfAA-NF;ME?eIA%W z7?i;noFN#Jp%{i?8IIu@fe{&rkr{d@kTZF6I(0rGYX?J z8ly8NV=*@4G9KeI0TVJ26Ei83F*#E(B~vjq(=aX5F+DRdBQr5GvoI^OF*|cGCv!13 z^Dr;-F+U5iAPccDi?SF?up~>d49l@RE3hIfu`;W$Dyy+NYp^D3u{P^4Vvkfq1NK2A zMrIU7Wi&=-48~+E#%3JGWjw}b0w!W&CSg)0V{)coN~U6JreRv9V|r#}CT3<9W@UEf zU{2;@ZsuWL=3{;qU_lmQ5f)`}mS8ECW*L@cIhJQdR$^sVVO3URb=F`_)?#heWj)qs z12$wMHf9qxWivKs3$|iww&fpe$M)>Nj_kzF?82`6lim3j|K>mZmp#~%z1W+5_#gYR zKL>Ci2XhFAau`Q&Bu8;H$8apiaXcq*A}4V&r*JB#aRz5{7H4w~=W-tBb0HUTF_&;D zmvK2)a3xo9HP>)0*Ks{Ja3eQyGq-Rnw{bgna3^U62#@j@kMjgi z@)S?=4A1cbFYz+3@G7tII&bhMZ}B$o@GkH1J|FNQzt@l5H()>f;7|Typa#Ex9+*KG zl))IBAsCXO7@A=imf;zJ5gCb*8HG_9jnNr{F&T@o8He#0p9z?diI|v4n3TzwoGF-+ zshFB+nU3k1k(rp8S(uI4nS(i*i@BMHd6|#-S%3vuh=o~{#aNQ1Sej*6mgQKU672otoW1KE+|L6%$U{8LBRtAuJkA4a>--gv{|9-9hk1lYd5p(-f~R;dFXx;Dg3&Nlb#^4OWkPOYR49D<{z=({*$c)0MjK=7U!I+H2IE>49jL!s2$V5!c zq)f)-Ou>{)#nep0v`okJ%)m^{%q+~xY|PFa%*ou$!@SJT0xZZvEX<-T#^Nl&QY_7~ zEXVS!z>2KI%B;ewtj6lB!J4ea+N{I6tj`8)$VP0;CTz-PY|fT!#nx=Yw)}(b*?}F| ziJjSnUD=I)vOE9c-~5OFvIl#z7kjf0`|>~b=Kv1mAP(jb4&^Wo=LnAED2`^Nu`fCV zER$*0EXARb5 zE!Jio)@41`X9G55BQ|CeHf3|RWGl928@A;iY|jqt$WH9cF6_!~{FB}J7yo7t_GB;i zW*_$Df9%Kp9KeAb#K9cGp&Z8H9Kn$s#nBwYu^h+ooWO~k#L1k(shq~?oWYr##o3(0 zxtz!OT)>4~#Kl~~rCi44T)~xG#noKHwOr2)+{jJb%q`r;?cBkg+|51Q%YEF>13bt> zJi?vWh$zJTuKJ3f?*pK}= zfCD**gE@plIgGN*| zOSz28xq>UXimSPXYq^f=xq%zGnOnG(+qj)OxRblMn|rvI`?#M6c#wy9m`8Yw$9aM$ zd5WibhG%(>=Xrq_d5M>Kg;#lv*Lj0Cd53p-kN5e25BZ3X`GimTjL-RkFZqhE`G#-# zo*(#;pZJ+y_>JHBgFpF;fhPUVg`f<^;0(c#48_n4!>|m`2#m-`jLayE%4m$vn2g2P zjKjE$$M{Ud#7x4ZOvdC)!IVtJ)J(&4OwWwW#LUdXtjxyj%)y+@#XKAsD@vn)oF2rX z9L^CO#W5VqaU9PHoXAO>%qg78X`IfPoWHT*I|o z$MxL6joie|+`_Hg#_im}o!rIU+{3-x$NfCOgFM8;Ji?BA%rE@PZ~V?5 z{KY`Af6rH724PSJV{nFGNQPo)hGAHSX9PxMBt~WwMrAZcXAH(-Y{p?+#$$XYU_vHh zVkTiyCS!7@U`nQ9YNlaYrek_$U`A$QW@celW@C2dU{2;{9_D3!7GNP3W)T);F&1YD zmf}Cd7uE{M-5%`CKJ3eW?9Txl$Uz*;AsotK9L`Z3%`qIyaU9PHoXAO>%qg78X`Id( zoW(hu%Xys71zgBQT+Ah0%4J;66%koJkJZf$VG48t-U!!rUSG7=**3ZpU_qca9$G8SVqF5@vF6EQK9Fe#HW1yeE= zQ!@?IG9A-112ZxcGcyabG8?lq2XitPb2AU~G9UA^01L7Z3$qA|vKWiA1WU3MOS25i zvK%Y0A}g^ntFRiY^K6cbWdic`JTLMRFY_v|@j7qtCU5aJ@9-|~@jf5$As_KEpYSQ4 z@i|}cC13G1-|#Kp@dH2c3%~Lkzw-xw@)rZ;{9V7m48ouc#^4OePz=Lx49^IR$ViOL zD2&SJjKP?U#n_C)xQxg6Ou&Rp#3W40WK7N!Ov%(t!?aAt^vuAF%*4#h%52QRT+Gcp z%*%Yt&jKvSLM*~!EY1=v$xa4+LMGrO=WyYWwU=iltXUhK_2?92bykNr7-138F;IfO$wj3YRbqdA6SIgaBwffG52 zlR1S`IgQgfgEKjcvpI)zIgj(XfD5^Zi@AhLxs1!Xf-AX-tGR}2xsL0(fg8Dro4JKs zxt%+>i@Uj(`*?r{d5A}Nl*f3SCwP*lc$#N;mgjh$7kH7Ec$rstmDhNkH+Yk`c$;^4 zm-l#|5BQLe_?S=ll+XB_FZhzL_?mC{mM1^8C=ifir+9{Ed5-6Kk(YRxS9q1zc%3(R zlec)AcX*fg_<#@jh>!V%Px*|``GPO`im&;GZ~2bz`GFt#iJ$p}U-^yS`GY_Ci-A7> zu6tkxVNeERaE4$=hGH0oWjKas1V&^eMrIU7Wi&=-48~+E#%3JGWjw}b0w!c4CT3D5 zV{)coN~U6JreRv9V|r#_MrLAWW?@!lV|M0XPUd26=3!puX8{&sVHROg7GrUiU`du@ zX_jSqR$xU|Vr5ogRaRql)?iK6Vr|xCJ=SLfHe_QqVN*6^bGBehwqk3xVO##ec5Kf) z=ho*6$g8}}$NVh7f-Jh=VzVLphAYIf5fOnqxSY<2arZIFXY$nNv8G(>R?oIFqwDn{zmq^SOWv zxrmFogiE=M%UQBOwG08dQHEt%j^$Z_m05*VS&h|MgSA+jby%16Sf35pkd4@wP1uyp z*qklclC9X9ZP{UCvh^Ta2ls`24`{>XLAncavtY%0T*%+7jp@hav7I%1y^x3*KjS@ zaXmM1BR6p~w{R=Ba|d^F7k6_H_i`Wi^8gR>5D)VRkMbB#@FY+14A1f$&+`H=@)9re z3VSY}pE@81db1Dv@;~P-U|vu24A1f$&+{TL@iMRQ zDzEW6Z}28>@iy=9F7NR^AMha`@iCwB8K3h7U-A`S^9|qeJwNaxKk+la@GHOZJAd#e ze=$(6-}Mf{pbW;~49U<8%Ww?Oh>XlAjLK+?&KQizSd7g$jLUe8&jd`!L`=*iOv+?T z&J;|^R7}k@Ow07l$V|-4EX>Mm%+4Il#oWxpyv)b^EWko6%pxqxVl2)QEXh(V%`z;@ z1MdqZ4w%0~Jj^3J%40mv6FkXNJj1g*$Md|vi@eM$yvl35&KtbN+q}d3e87i%#K(NX zr+miee8HD|#n*hpcYMze{K!xI%rE@PZw&O|cl`r12!k^OLoyUYGYrEr0wXdKBQpx4 zG8&^Z24gZ7V>1rpG9KeI0TVJ2lQ1chF*#E(B~vjq(=r{?Gc&U=E3+{Nb1^sbFfa45 zdBnl-1LmOxTe1~fvklww54K}_c3?+#VrO8uf5C3Hk_F`}LVPE!Re-7Y4 z4&q=A;ZP3a2#(}vj^S92<9JTsL{8#lPU8&D#y{DefAMer z!++U>J=u$W*q8sYANz9v2XYVxa|nlX1V?fdM{^9va(jnwF#`H~CwFl-_i!%{@E{NI z2#@j@kMjgi@eI%M9MAItFY*#E^9rx>8gK9>Z}B$o@GkH1J|FNQAMr7t@)@7=1z++N zU-J#$@*Usv13&T;Kl2N}@*BVN2Y>Px19kj;zJVEpK^cs}8G<1hhG7|w;TeGu8Hte@ zg;5!uF&LAv7@Kjq;zy!r0sXm(tGR}2xsDsTiJQ5FTe*$fxq~~oi@Ujpd%2$nc#wy9 zn8$dWCwP*lc$#N;mgjh$7kP=7d4*Sbjn{dDH+hS|B2f-m`s zula^=`Ht`TfgkyaU-*^Z`Gdb0=;!ag3Cti2#`&v;MGokz1zg0%T*BpC!IfOa)m+21 zT*vj?z>VC*&D_GR+|C``$=%$;z1+wBJivoI#G^dM<2=EWJjK&I!?Qfc^Sr=|yu>TK z%4@vAo4m!_yu-V^$NPN1hkV4xe99Mm$ya>MH+;*8rL#v2=!?jV!l;bK=#0UbjK$cD z!?=vc_)Ne=Ov0p0&QwgzG)&8M%)pGy%q+~xY|PFa%*EWy!@SJL{4BtNEX2Yr!lEqB z5-iD5EX^`3%kr$iO03K(tjcPv&UOpphYvW{_Uy<`?949g#y{DefAJsw%bx7T-t5D^ z{Ez+Ep949FgE@plIgG(_ANiSI_>JHBgTEN4>+kvnW)KEtFkb01A#^~Uukku>@Fs8ZHt+B*@9`lY@iCw9 zDWCBam_Znn!5Ew&7?L@E#19ovzue5j zyv)b^EWm;+#G)+5;w-_EEX^`3%kr$iimb%Stir0S#_FuWnyk$_tjqdrz=mwZ+l4NK z2&l_l-s62f;6py*V?Nfe&T0-N*|OSz28xst26nz!#R2^>(LJG{#We8~T!>7L{Ky4D2_$F^;&Vbj>QZQHhO+i2W4 zjcwa@leCS|a%zCR%U&88;P4+^`UQCGuOOWRoL8++^8llE zx?elMXgruEdxd~MAL5k0or(nfc`C1rn4L4=&sTY7%G&e+e?H44XI3Q+`14Z!(t1kt zfInwujycUj2mJY0o(PfrYrw)d#k{YMzYh3wehy1r_d&p)N3wXAYnKE5T#7pv7d#&D z=Uv>xy)5-Iz8Eoz1fF-*^m7>fU7Ik z4-xQn)^IJ?aXmNi4{qcp=IZz2L%^WV%{U*`sI@)mFN4)5|F?{jXU(Psj_&U`N5LN4NBF5yxxWB8u&_6K~Oh>XO@ zjKZjl#^{W}M$6W33ivur*p$uKoGsXrt=O7PyO&!Y@O4_U66{hc{m}CgAIg;7E?*XpZ4nj^lWyDBHe&z}HE|)J(&)Ovm)hz>HkB zuUMymud|#h`8!u}HP><-*K>${g@@3b8PY zuqcbMI7_f3$M0*HBH-&x;6zU1WKQ8!PUCdW;G=!P;skuX$9%%4e8%T|!I%7tulSm& zf}RN<@O4u&4bw6mGcY4F@fT+1ruT<_{Qs8=vYA`BmD{+Te{v^xaX0sHFXJ_O`8MF| z$7cd2WFjVJ5+-FbCT9w!WGc4(UgTN8zo#ABvjaP_6FajDyRsX*vj=-}SJU&i0{%U_ zxrckXkNbIm2YHBxd4xxKjC)$mJRk7y*~@+0&jUQjLp;nQJj!D{!IS)L#_S^j|DIgT z%{%5VJ6AM6#n-X8(~p5E-k zzU;^T9KeAb#33BY;T*xl$&#-K`1d4XQYL2#rebQQVOpkV2If!m%e;WETY!aFm_=BW z#aNsrSc;{Y&U@(7GXpa+6Mtc5W?@!lV|H%o6Zk&yt=!HX{F6Jmi@Ujpd%4_uW>;_} zS8)y3avj&Ri}&DlXAkydFZSlaNrCUjI?N+H%41CD{R$bFk(u}li+C=1F&1YDmSj%P zzx|E5n1?kzkFpkPvkvQWvghAT;Z#m%IM1tzz{#GYGUeyCr0vfTnqiY&on>(Fy7y1XLp}tx%(W++~*kYKF28c zIkLLXk&PYP@94-r?tAp*ZudX-aI*U#Qy9v9kkH)jKFAJ^bRT3CPq+_qk_X%eImj9A zgUn=d_d!xHt@|M9xW|2vz0B-BNEY^TAEY;PyAP6w>)rR*z`X8nx6y#IqioZmM)e{bbBK6kEu!Izxjd_0r07|MA! zG{bPB^Xnu|W=rSMR&33=&X@BzpXryoFIe}k# z1fJu*@*Dr-cb0d~s=$h@#L7Sa>^xPORalkPc*}X|Ht+B*@3D*XP*-+iclKaZ=bdPb z&KQizNzOA8 zn2?E>-gzPeGcpr@VP^JrUg*QV?8p8bz%$MPXL*k2d4U&siI*A0zCS9XF*;)~7Grb1 z{rmzh|m;@QlD3_S-dCn{`;1^;n-P?4MV16<2c&*K!?K*$=Pg z8m{F!uIC1(u)j^oR7}k@Ov`khm-%>J`ETd*Ztu{GN;to>y;hGzsu zWF$sr6sG;Tk7RmgU`A$QX2!BljLkTV%Xo~>1YBf4xR^`0l*_oBE4Y%A?FXlDDyMNe zXK*HGv4QiCvkc3!90%EV4(3n}<8Y4Pe;)&%2m75r7{q=xD1&jhed`F0 z6{yGIxpPfYUhQueC53GhEJRqo^hx1!fqCKUMRt` z&I{%Fzjt2r-J=K|-2g>2}&(1?wB#kt`sud%uFLkqTKEB14q=+6Nh$j{CfU-*^Z z_{@3ZIbZN4OFDm)VriCP=-7dO-x-Es8IJRuOXhO{7c#T+Nfu^hHa>PvdBUfB#yI{y zFfQXUJ`X#$9N|$OV-Dw+UzwA?aj$dCKJMoMPIsP}!I_-J6V5d!d5Wi5)A^{!mr%re6yQ-xR>eu{Zj^JWF`)Bo*BZS9LC|!F(WyOqZze#;NK@j zXACZLURlAFEb4qxj3ro-N1RKJ@)(bEiSx)ZF6RpFcm6oYLp;nQtnb{>fDPG*jalA# zqXH|k5-YQTb4EipVq>m%uGqjoxRIgu2mU=qXog`}mT*2O$xo9VJ!28`% z7?sf&ozv{kr*j5pau##jhv#8l=3{==wC}FNx~#{-_SZ#OjKz7z{`oA=@jNeZmwobX z?%`hU<1qW;;T*w>_Pv*QnYrw1bF;F2YZVr?FD=Gq_MOc+&%Sa#W7;>y;vD_B{?+9z(vD1EIjD5yw`-{W&6|?OpQrSmjuz%QZ-;m9Ip|5>HKKp`=_5lT4 z@2k76Uv&LG;5wba_4tPSgB@I7gSn3GaJ_ux{@xtdzi_T|Q(e#6x^A`OLf5H9%;dWC z3tPJmwc%;koim)|Iy0F;Tvvj!s_RHKR%eZ$x{lOjE!O4(_s1Uc5g)Uc>q>9-VPD2} zU5UfEjK`U-E3-J8bJ*Q=r3ZVm7pJ(MOyx9AXJ*%tEX>MmOyc^Hl*yQ!SzSM}F*|c` zkn6`_4&hK*NYYWosnE0A~Ombx*jxQV{S12|KP@-n)jQy znHkLYjLgI*?$12sGqy9o+p`0snb*-7gIUe#Y|PF?=5t~u;VScZHP>*C`8${M*wXxM z#n#+z{_fzPOl%G(VN(8P9_M0iW-^z5VP;k^pDVHwN14;3Ifi2y!rTtYP#kA|kLLt_ zb$|?$IOpH+oa_8MkCU8#Cv&v(?-+h^ z{{76F&cC&|%lUUVPdNXkaqjKq`tsiOrL*hHBiEOEt}mlpUoN}8Ja&C~!lz92D)8rq z(=aX5F=+L`pC=B^kPOW*?CUz!pMyArL-}jkz@J0T!vZYGLJZq4@aL1mF$$wI24k}9 z$iSapF2{f94oR4tFjtXoDKZ>=#)&u^vu9a%*?FJ&K%t6 zI=+dUxs5xxi+i}2`+0x|d6-AI-#+005AqO?@;FcN4A1f$&+`H=@)GNW4E(w9x~#|g zY{15B!e(sF7Hr8@Y|S=o%VYLGCwP*lc$#N;o)>tDmwAO(d5zb3gEtv1P2kVFM`sMi zWNgM^T*hO3CS)QeVNxbza;9KPrebPdu@Ah;YrMgmyu~}b%X_@f2Ykp!e8Q)E#^-#& zm;8&bSaC_?Vr|x8UDjiLHee$*W)n7LGd5=nw&Y*-)35o4|L|YF z<$HeMM}FoPe&sj*$M5{XAm0OjKO!iDF*rjoBttRu&p&4h{Jn|rjKD~Y%qWb;=#0Ub zjK$cD!?=vc_)NfrOvJ=Y%4AH=apeMkk7GQia4M&B24`|M=Ws6PaXuGtAs2BmmvAYU zaXD9TC4c8C4ow~SdnLm-oFh4w<2Zp6If+v^mD4z#GdPp8IGb}gm-D%R3%Q7kxrEEO zoKKt|pYj=>^CjQ#Z~nu7`IhhbfgkyapZSGf`HlbaJA*U|{QaDu494IL!H^8aunfo5 z?n|%XIYrf9rr=* z@*eN=0Uz=apYj=>^95h>FTUbyzTw~ehyU^|-|;;^@FPF*Gr#aFzwtkQ=MTKg;#lv*Lj0Cd5gDshj)38_xX^I_?S=ll+XB_FZhyw@fF|jZ~nu7`IZAZ z2mT)2AP(jb4&^Wo=SYs?XpZ4nj^lVv;6zU1WKQKYPUj5H?yQj^_kUd49l_{%d-M2vJxw^3ahdjYp^D3u{OJw4*b2~ZtTt;?8#p2%|7hQe(cWy9LPZ& z%pn}gVI0m89LZ4}%`qIyaU9PHoXAO>%qg78X`Id(oXNXM1Ap)N9v|=_AMr7t@F}11 z1z++nzT#`X;otm+|MD&0@jXBC6F>6{zw#UZ<9GgGkYs`XdxJ6Fpu&WkMjgi z@)S?=4A1f$qxA~>eTW#0$ykiTxQxg6Ou&Rp#KcU(q)f)-Ou>{)#nep0v`o(o%*agq zg_)U!S(%-`@;ByUZsuWL=4SyGWFfX)9{79x?bx0j*pZ#tghGRL76F7-eIF-{lgEKjcvpI(ydjvk`pfkI&8@say zd$JdMvk&{SANz9v2XYVxa|nlW7>9ENM{*QLa}39F9LIA4Cvp-ea|)+&I%je==Ws6P za{(7}5f}4|pV#}!|M;Ch7^F|&&-n#qFa~D`hGZy)W*CNLIEH6LMrIU7Wi&=-48~+E z#%3JGWjw}b0w!W&CSfwBWGbd+8m47Brstd%fzQX7%lTZugi@Ujpd%2JMd4Pv_m`8Y&$9SA4c#@}hnrC^A=Xrsbc$wFE zlec)AcX*fgc%KjWkdOG7r{V@a@8=B9@jNf^A}{eWukb3b@j7qtCU5aJ@9-|~@jf5$ zAs_PzpYj=>^95h>FTUbyzTw~ehj00g@A-va`HlbaJAW`pyuj~oPzGlRhGZzVUlREI zqz>%JPVCGs?8ffw!Jh2J-t5bM?9Txl$Uz*;AsotK9L^CO$x$4`u^h+ooWO~k#L1k> zX`IeEoX7cGz=d4I#azl|T+S72`7rRgQ?1yVZP=FW*q$BOk)7C?UD%b~*n>UUi@n*0 zec6xwIe-H>h(kD(!#JEHIf|n>hT}M%6F8BRIGIy8oijL-vpAb`IG6J{p9{E<140Bo z$7>)5aWIE)D2H)4M{p!ZaWuzpEXQ#?CvYMsaWbcHDyMNeXK*Ixa4zR@J{NKk7jp@h zav7I%1y}NSuHtI04_>zC|6<_lW|K>mZmv8xw@A-ir`H7$TgEI)%{fCD**gE@plIgG6{zw#UZ<9GgGkdJ|1Cn$q4I72WbLoqbNFgznLA|o>j zqcR$!GX`Ta7UM83<1s!HFd-8$F_SPUlQB6{FeOtn4bw6MGcpq!G!A?YWJ5M$V>V$^ zHe++PU`w`QYqnuqwqtvCU`KXhXLeyXc4rUvWH0t+ANFNG_U8Z&?z5PT(X?<`i!F5%|2!&D_GR+{PXJlRLSKySayZxsUsKfCqVqhk1lYd5p(- zf+u;3r+J2Fd5-6Kffsp+mwAO(d5zb3gEx7Lw|R$md5`z`kdOG7PxzD}n+HB$G!#QK z48t-!BQPQ(F*2htDx)zvV=@+FGY;c29^*3s6EZQAFe#HUIa4qtQ!zEuFfG$DJu@&P zGw~N@W)@~;HfCoI{>q&Ejk%bcc^I}$;B#5SGXf(r5+gGTqcR$!GX`Ta7UM83<1qmf zG7%Fq36nAzlQRWVG8I!Z4bw6m(=!7zG82DcW@celW@8Ti%AEX-xtN=In3wsOp9MH< zX5e#dhjRo+aui2%499XD$8!QFauO$V3a4@!r*j5pau#QE4(DER$*0EV|CVKE!Jio)@41`X9G55 zBQ|CeHf3|R~;xSM;pm;1P%2Y8T&c$i0cl*f3SCwP*lc$#N;mgjh$ z7kH7Ec$rstmDhNKH+hS|B1oG6q9oA(% z)@K7YWFt0a6E1Y{k}W!?tY4_Uyop?949g%5Ln=9_-0p?9IOH z$Nn6^fgHra9KxX-#^D^vQ5?-N9LsSW&k3B!r+ovTBma!g`GPO`7hmx;-|%n#!+-gf z@A#e{_>rIZnP2#o-}s$B7^Gj|fB&Ei#^4OWkPO8z49jo~&j^gfD2&QzjKNrp%{Yw9 zc#O{kOvpq$Q$OyYfc0^f=XjnMc#)TQnOAs~*La;bd5gDshj)38_xXSi`It}ml+XB_ zFZhyw@fBb54gcmp{FiU}o*(#;pZJ+y_?6%IAHVYlgEk2Kz6ax^O|^Rld=8U2g;P0= z(>ar~IGb}gm-9HE3%HPrxR^`0l*_oBE4Y%sa}`%}4cBo!H}DT`Zs!jE z$(`KA-Q2^y+{Xhv$m^2>-w$zvH+hSER$*0EV|CVGP1a&<)?q!?X9G55 zBQ|CeHf1w5XA8DuE4F4Ewq-kZU`KXhXLe;bc4rUvWH0t+AO1FO`Tt%Nn~S-bhk2Qg z1z3=USeQjvl*L$_C0LTBSej*6mgQKU6oaIwP6F_leUiQxq*LhBR6p?w{bgn@K5gKF7D|m;@QlESjLfKv#^{W}n2g2PjKjE$ z$M{UZgiOT5Ov+?T&a(YWrwsVtRgUFZffZSam05*VS&h|MgEd);by%16Sf35pkd4@w zP1uah*@F4r7fc%Pzo!5Tu`r9UD2uT;ORyBnuq?~5JS(swE3q=Guqvyu25a%G=gOYv zMPA}%Ug1?<<8|KPP2S>d-r-%|<9$BhLq6hTKIJn`@%-DVoW|*#!I_-J*_^||m;@QlESjLayE%4m$vn2g2PjK}zV>p8~n_?{p5k)Qd6U-^yy z@jHWV7!x(%e{V1bX9$L5^-_WF5vswOti?L4%X+NO25iViY|JKX$~B(Lyq4>@o*VcF zH*ymT=06H3x3pd!S{JCcuUU( zU+uZz+dT*Tv-eJ%^WKT#p4a`=dnZnL??gn;%?|Ck*J1d;`zIc{Y`!3G1splRxV++Rd9Kg7Y#{^8oGM=Xrs_JdY|kLog&mF*L()g7(_ANh%&*}(fs8nO`^ zvk9BB8JlyP_nB{j zU&<}s<{jSUJ>KU7_VGTIzU;^T9KeAb#KHXLeJlU*JAW{U-**qnU<}SX-p6v6_jsQV z_>hnIm_huWaZmjng^b z`(YMvAs2B8mvR}Ga|QqM9+_8s%{Tmq|MD&0@jZ)pk6AGm|M^}smSicGW*L^{aPOrV z$x$55F&xWr9M1`i?)QyiFeYO$HsdfJ<1+z!d+$vj_GLfz=Kv1kU=HDF@5wpCvpmQ1 zyueGm!mEteEb#Xl;xhpgG7*z78B;QT>%gD8Pr!ss#KcU(q)g7K-qSOU(>a4PIg7J7 zm!-U~tu)K9EX%PxE3hKZd+*N$UgRZS<`rJ$HC|^I?+NP4ZtTt;?8#p2%|4vuy+V^Y zg;P0=(>a4PIg7o$ho}$xvLE|%00(jqL;3ls&XOx-j~#l?b(5y*qH;oM`<7jaWIE)D7$#SQdf3k zclKaUPWIlVDV)k_oX#1X$rIkkbdsldnrC>H=UCX^BNbs$7GrUiU`dwZVefT1!lOLK z<2=EWJjE>T*JoumW@irm%HJ5teeKAM!l;bK=#0Sv?hhAaAr@v47G*JZ^WLfM?7^Pw z#op}0W8P17oF{mar+AuYxX*j6_VWM_@(>%kuh*DOna=&Q^vu8=-gosUcXE~YUajUD zE_R=%l5^@o=hQsTsVkgQ7dxkxaZVlSoI1@p^{R8~8t2rc&Z!riQx`j@KK6dZJKm4D z$+P;5Sk}3-9H%>X&R`Aa&YC>!{CS4;oIC5Yt8-^J{_TB=|M0H&D&AuO z=gxxs?mde?IMumx8dE!Orr|B`U%bu8&W};J%QS9O!yE zh-bV<@GP^t&gEb^*Rg`GPmNq}X1RVuaUGa$o`*1>pLma7Jo7Vy`7z)8h;M$3Fh7Qv z9~sP#R^~@H^JBaDG0yx5YJO}oKZckehs}@O=Er37Ba!)$!u;4_exx@yx|$a`%!yUz zLr!y{ym@fK9N1y~$FT0tTkp-R^AAH0HVU{w_>pU^?{$3WeXEZ+$@-qmAl7$Kj<&wX zu(9>sgww6>8BAe)r({FxyAcmq-v>F&`X0`AJp!Ne`<^AO?@}ydeV64G?^V6ZcGh=$ zhPS>WaE$dmmaVMs)*Nbm4`Wj6I~k)}-!YiV`cBR6)^`t{u)ZT&*K@4r;MQ?f>vySj zyTW=+YMtKnzR!gl#(!x6V-8$)So&4MJe(iu8-Ak>LuGYym>twxkGSoVWVx7dYPF7nd z39Xan)=6sXWUh6R);cL@o$RtsR$C{btdoP*Ne%1dx%IKoy0~IJ47Cp4T@8GXMnBzG z)B7l$$JTdcU2oQNPaQwiZ(iNz*J}Zu(CbMy(raV>C=>Xc&>*@Upx1${r`P)Isn=eN zsn=Kxt=BM&r`Pywt=Bf(quad!t zU(d!LlM=)W_WXhws|wk zya{FAbTMx_m^X3Eo9gCGWAkRIdDF|hd1c-#FmF1THyh2HRp!kA^CrA`6V<#~Zr;Q( zZyK35$;_J>=1mIoCXacu&AeG|-UKyo_Lw)7&6`K&&0O>5f_XF0y!qR_>1EzjGH-^N zH_^?T^5)G3^QNnL^U%Ec&AiEN&Kxyg>YFRy%$2_8NNw|@o4FCqya-`V#5NyVmoJUV znAG}_I>*40bv>5O$0!uly_-AuDy##kqrt&iM#U8C1DdY!7*33|d^YxleubK6FSg$$tI#92L^tx5AMf6%*uUGYY zM6XHodPlEa^cu=JakpOo(dz=eMzTMgsn5 zP_Kzx{}$-ApI&F{HK$%v>ovDtN9pyhUX!|Rtz&y-KN(add;TSS9NUS!v+1>}UR&tvy1pvuYp1@p=&QcI=ICpszFz2SufB5V z>#4rB>+6fY-sQC~ImRg&aw2nHl zGaFi0jo6q?*vWe9%r5N8z1HDA?&kr<^!H@37@Kie!@8}>TCB}Fd}Lie<`X{UGnTaO zOR+S|a*la0m-G3T`S9we=EQ5ZFfUp%k^3r3%#D)fMhkPJqPcO?+&E@#Ofolan;V7A zjoRi$KXc-b=;-Hh?wAwlyeIr`bE1u(w+ZJx(W$(5d969|yPv0t z=zX~7%!QWTlNxMz;Qfr9eh%h?b-%*<5tDfj;0Euzo8&!j$NZc~eed;}=e6D#HURfjzvsk7(seDvIxS)M1d*>fvqdtO3nzo#GG z?}?xC`^vHW{%kM5&pFiZ6?XA^ZsYwP);_;4l-lpZ%=P;oKiprt>hCjx6{wo&|1$}a z&d-Op_jA<^{hab^`=$-f6FL2yYGOYZnnuU7bsSsALv=h*$7yxkT*sYtyv6lywCmk> z`~MBDcLQDT4!GX^>3TQ8^)9}Slj?Y@>s=ZhcXGYUs^b-|ciCO<%DCPgwV&GRdKcAo z?u`9ZW7oB}_W!F~$L`rrjd$JpZvQ{hb*iE3(^S``WUfc`U5EDBPYrS1`Pcrxxa&+Q z*OyE7Q*B&F!n$sZa-C@5x-i&vAhEe0)qGF!bDo>m$Ly!Vo4d2j)u85QW%F{eIl0Vy zOl&S*x1VZgE`~4{lmFaLF^c&Zm2=F=apq)gb8?kA8O@wbZ%!t&zbayX)z5k0oAbah z=YfBn2QE1egmWG!?mRHZd0?{hKu%qU(DiiZ<8jW#QFJ|6*FQF&+!8QP+v>WduA}O@ zysm5MdakZJ>H4v*XXv_xu2<=Lv95dQI=HUG>UzGeqv*PpuH)%?g02(jI-9Q7>w3Pf zKQ{<`-}zQum)7+yT~F2ZNnQ8S^>bZ!)^#ae_tSL*U6;`H@49ZM>)X1{rt2KKKA`Jb zy8h@~+g;aHb=_Xq;dTA}e&BQdqw2bmuD9s=vvchTUB7XzEvV~>x}Kuzh`K(i>+-sO z>s%X6&p(C+K38arj{E7jw2o)%IJk}z=s3ELv+KBnj^F6GmyVz6_@s`5={UcRr|3AL zJ}2lig1OsEpWXDCNS}4}*;1dY^f^GEZ}quMpWXDiU7s8DIZU5X^%+~AYxJ2&pDpy6 zMxXQanNFXD^toG~YxEh~+&!evn)-a9&qeyYs?TBie6P>``mCT{nygPXgP^!ZtzrS&;mpY!w? zTc79kSyP|?=`(>o!!~UxQmVl=y<=5r|USJeefA1a)7wb5)j@#<^td6JXIGFQlO&!{Q({X$q&((2n9na8lb{(hC@vl10 z$zggP&YQZv#f17!#8o<9&8YSn(bz=yO}R<`o4Lh0*ven5hs=C#UA$mN>!TB6+MndG zPLf(DYps*{)=3-dWT$nK%sR1lI=|I&e*4Y&?YM5Q>9&LO+il&Zb$)xJ+t$u+VV&PnI=`)Pep~7M7Qy-L ztn*t7=eMBFZ+|+!y?1_F?);Y2`E9-P+eGKLqt0)2o!{m-zlC#tyXgE@)cI|`^V@Rg zw-sE;U!3PMGYii<-(BEEc6Z+E!Jho#=eL762L|PH=fM{Y=Uf<`tDO(maH(_RGVXF- z+|97gjp5k9`LQ9FJ4dcycIU|)oaJ0Oo3ETNU$d}tW)T*5-Ymfb&YcI@!TGZz-#LfA z=XB@M8T`Y!bR%atpUz|o=hT!;#n8^JVHlR-c+7eBI8X2-qdMnCV|2z~Om=k+?#Axy z!JZu8oIH?&IG97&-Z{DhJF*i;J716CSdQZ^=kDFy!@W%IJf4CnnTj)=(`Ruu=kTlZ z`#1i_@4V<-e~FiQh2LGTe=vyie^91!A0Rc;FfCiVKhTD4*^YJHH>k(@Y`_=x126d( z*V-SfV-EKjeq}=U8xk>$-wSQw_ciO8$7jvs66WzH^LVX!T-`jLVjeFvk001aY_pHZ zXdd6SkJw-z@vnWvOZ$j@_7SDc<4Wf7Q~QWo=J68yh-T*TP5X$p_7OwuBYxON1TmLi z+fTe|5sYyZy@#9tuv=^3}O>24CAulAn^C%%uA6JRS*x4m=IbThEY-~u-Q3m9 zX5AFfO)=fv)J=Ka%+yUS-JI1;1Ko7j&A+<2ubV=;31WUu*G*dU@{VqznvZ*QlgT{X zuA2$EIjEaTx*4yVe{{1&Hz~}s-nto}n{ejVeBI>J&0gKi)y<2t zhx9i~e<}5sUVr=amsNj#^p{tEf9Nm2{;KKkg8ugFFTVb+n_KPm7gT@Se_pT6t=aku ztG_AwYoosf`pc-lR{A@ozlr+$VQy8?Uv>T6H@AA~FP8ph=&zgpChPAP{Uz347X1y> z-xdAE(cd!tMbuvd{jJyEANotLzsKfQTm41VUl#o()Zg#=o2|bV`rD?zMEc9Azl{1T zufLJ{3$DMh`upO3*Dd$EqS-em)8kYTGV_QA0)8i05esmrEU5~x= zxKodt^f*$FG4vQukL&fARFAFom|l+y^_WqQMfJE(kL&dqPLD_RSVxb4xsEQ;<8?ib z(Bntf(SdrbsmHN;jHk!ydfcwZzIuGA#{zmRtj9BYY^KNHdK{w1Mtbb4$GCb7ug64s zY_G=ydJL(@DSG_sI$BnbbM?4Dk8$;QQIECt_{06zM0yOb$LV?;smE%1T&BlJdQ7dy zM0zZs$KHDU?EdRuJ-*T71wDq*V^Q~CXSx46(f!vP&R4;ltERgDI>!Cid^%pQ}ED@dq6*)o~1Sb-s?f>v)xpf75YS9beV)936*qU2mx4 zCOUqt<6$~ZuH&UT9<1X9I?k)(3_32L<8eBEsNb9p}{XKRWKI zv$I*hNwQ#zch!@D}Xro**5{7r}Xb$CgK#dSDQhm~}AREITm*j|S(ba-8d zzv(a+KkD%l$LVrBljt)kFY7d{{pVJlrqbyKosQ7yPMwz0>2RGs*XdfFCeUeTo%Yaa zF#FHxI?bWeZ91K*(~UZ0qDvFwuOtU_M;r33K8k7nm0dnO+|mm_;X9dBhw! z%HMR8i-XLS!7Qw!BHU)qY-dsPrWos(J9T;O=ltPObLbe8nnTHW*BrXXuI5lThBk-7 zaF2Pkm;btczU4ymX%QovQ&Bj}yqe9<=2jOjH@{XeyE&GF9nG^&ylAdn;tca`CPSHX zp;_0wtH%cBUPHccoqowd=HOr^HV>0Y+ieeFbsao!5ciT1gZ_}zZ@2k+VU-e*kv-&m|$-`H&5kQzc)3GU;N(GSJw9XQ*~I6d;C7tUhd~f zzh8BVr~&!XuhsAUlW?IXUy06=IecP^@e%6-W<(seik%0ub7u5&B@8;V-<7pxOrI1 z9PDWR{blamH1G15b6?E2iRM~z^X!^A7T$GsySbIdyxM3^jWVBhn@eTPqmky&OY>*F zxs%Ae>1xjOGG9X2U(Ga6a+)JM%#Z2j#%A-Pk~vYxe5hZ7ZXx;mk&1-go%tHZjQrmJhZI#CQoj_c}_u8Qj_h^|KJ zDx_(K;-bkSWGeRL7ZyqT?wT)Nn)i%}hsO&^PTVWo#pc_;`1Ho^Bw2&J?ryb>hq23^F877o$d3z?eo3j^Ih%p{nh82 z*XMh|=Ude0JKpD8!RLF}=UdI^+t%m%%;$U6=liSA_npsow9hx8&-a4QH&$olmx2wVE$>+P?=Uc|- zo5$x{&gVPN=ljm*o5SaO$mg5h=iATcd)m4`XWf^!?t@$Rqpka2tow4-eNNYtgRUnv zbaGrLg>X>@X3C%^0DrA{8{WQR_Q>ZG(z?&+k8PUh*P zzD_Rbq^VB&=;WhLp6H~wPC`20&(TRHojlY@ES((GNj9DA*2z?z9Meg4olMcm2c7(> zle9V+pp&6GiEIum(Me&Q9MZ`mo$S>~U7eKGNj;sc)kz3H$52cs7j^QRPDbnGhE8tj zq`FQb>13)-a_OXoP73Mdv`(_>WT{S)=wz%;M(8B7PTJ|Dmri!-WTH+&=wz!-hU?^* zPWI_!nog4HB(+X<=_Hd*dg$agovhVKZk<%p$r+vO)=6xgTry8u>g0>RZ}~$fPo1x) z=_G_s#_OcHPG;*QjZT{CEx5YZz-#j3Oc!Ao^;YlWSvaVNjsg4)JaO6#MVh# zo%GbnDf1+fPUh+)gifmIWSLG@>Li&?ZaKd;(Mf2Xq}E9coh;DFMElcv_NP&GGekE* zbkj~Zt#lJjHx+eLM>q3y(^)r9{5{=F-L%xrYTYc+O;6o~&`mhqEYM9<-PG1ieBDgc zO+wvd*UbjqEYQstzsIvpH)V8lTQ}2mb4oY8b@RgC({<5JY2EbKO+?+4)Xgg0wAalY z-DKCzuev#?o7%ehGeLd6H0)1W9*ARWZ)mLAARn^x>eZ|sOC4FtuR}XzX(N`XQ<Z_H$cIzvMxins1AM{m1Uo-SITVFBsbw*#+^z}tw zarIS17h80ZMHlmQF;f?XbumB}V|8&x7fW;z$Mx#CE@tWCmM$*qVwEm(=pv6U&g-Ix zF2?DiyeuW7G~F1q-xi^;mk;(E177ZY`{P8X$hky{sKbum{LZ*`Gf7YB8b&h@IV zE>7vQ}umC->dbVMBnH2y-44W^nF|38}*$}-$nF&UEgK&Jx$-$^?gd; zb@kmv-*5DNN8kDN{hz+4=sT6ZZ|XaezIW<7y}q~Td#t|q>ASqX$LRaDzBlSSslI#Y zyRW`O+qcircW!;}()TQVZ_{^GeHYbtHGMDB_cwj#)AvbzXVLc%eP7h~WqnuBcNl$- z*LOC3SJHPLeIM0#A)Rc}$uByYqm$`6DX5cvIvK5#Q#x6slUO=As*@QyxuKJbI$5cc zY&yxMle0Q0q?0i^DXWtMI;pIaRyujClS?|us*}HUGF&Hdb#hiG!F94hCrNaY%J*fa z?@LVIm%+X-{e53j`@S^wed*}?vdQ;lr0>f&`-XMCFa3RA_W8bS_k9`X`x4jpC9&_z zX5W`ozAqhoUo!i?Ec1QI>ibg4_vNtf%Vyt~$i6S9d|w*+zWig~u+sPCj(x*e-nDlzQ`h?0WBm-We*U&^C~EzbuzoJMKD4raLR&v0teq8&chcAA9Y>4YaUEQ70U2)xQ)ZH50Rny&M-7V1Fecf%< zT?Xs%j_%g$?jPN~(A{3$mC{{B-96D=P2DZlT~poN&|Mqd4c6Uv-M!LXIo(BYzh$xR za#)WqbeGV2JfXYX*5e`F&C%Ui-PP0GY~B5*yZyS$Y;KRx-B{hlGPhUhuC(q>>h5>l z9n)P?-Bs0HGu>_0U3m9f%Iof??h2UOlXQ1qcMo+}Pj@lR?K!$DsJjNbE2+Cnx;vn| zF}k~|yL`HI$Nu=!8-e3zOB?*Po4d# zvyD0%p|j{Zi>tGBI!mInRys?kvjsZKptB-6+pDv6It#0_Bj#IeoxL>Q7VGSq`8Hf< zAI!G_I;)|xF*=K@vuZlqrn5dedttui*I6N*oi^W^>MWSf2J5V$&id#qj?TjAETPWY z>1@CG7D8u}b@s)4E2FbHI-9SvI6AvvzSYv%cjuynIt!<>X*wIBv#L5y+zPl zG`+3RTU@<0)?0GD&D2{;z2(*0cD=38TQI%t)ms(4J=WViyS&fZI&^{ln!ocRj89RuFB0B@&(w^_j3rr_;P@b+8q_7Qkn6};_+ zeP6}C8)M)5vG1MOcYEx65%wL2egB4iAHu%Nk~coYzV~3?|6t#LVc*BF?W zS7G1Ruq@fuGLCPjlj@W%1Lk#KGnG={wdt?;#F0#7}P%2j}Cbr-_3j@zW>7!6Eo* z1N?L>ewrFTt%skkCl2<N~H@y2D>z${VFXw14 z0vE4?i#KRjC5~64{Sln}M7uX}y$|i9;HI1Qaq#m5?WV;0X0#uIr;lh)CjL*Mos9QZ zOiueZaP|r9RQxaCHQ?!QP07rl{n(H85X z>#;66Bj-S`=KSY{oclbN^PazO&U0tZb^eiaoX>M^b4ku;zRo$!vp9cwGUqRs;r!(? z{BQK6{6F+I#N$)MV;Avw3-Ne8@wgfBcsB8PDe?F&@pvckxCrt1Ch>R!@%VS*@k8SA z_r&8m#N%M%@jc>k3*zx|;&CV9@fG56cjECF;_*Mk) z^$2mb1MxJ3INFi;xrMmtL%gg@oV-k&tW2DoL7coroV-JvY)za@N1R+hoUB5eY(t!M z5hu?QCl3-Qrw}JE6DO+>Cz}%|>kub<5GR)tC$kVIml7va5+}pK-)G>j0sfu=e}4jh z`-8vRz~4jQ?`QD$3i#U){QUy{o(F&Zs28TDUicXN9RmJ_gTLvh7mfpePl3NP!QZ6R z3!}l`jo@z)>V?^<7mfvgtAoFnz~8>$uTH(NCHSlH+|422??>?WD)^h4df{U5_a^vT zo%-Ns@V77c8xQ`T1b>@@zmLJ+so-x4^82UYZ))=TIPiBd_`4DOeFy$F0e_>w-@N=^ z>?z>yP4Krc|GT;%|DQS*{A~{Y-Ufdoz~80d?_}^dJ^$1B6Zm@!{Pp91F%JiSr-Hwu z!QUm|?%-IAg2!jT;~?;O8+g1CJZ=FV&jpW{gU7#u$GgGf z0Py%Wc)STbegPkT3?DuS9@hhpL%`$v@ZnbA@e1&`3wV4DKHL*LjsTC}!-t>1hZ}&$ zDZu09;Bjg2_z`?KJ9vByK3oAjJ^~)cfXAod!(rfYG&W1nUB7dy~e{2JPYzTks3x8Y%fBXjixB~u|2LAX5bzXn? zV|(hnTd4D{q0ZZoI&Ws`yko%af57eG;Pzv1`#!im3*5d1Za)XNU(hbjbEiwtE=k*$ z=TN7nord;Q@O>KXNZLU>r@9X9y0o+L-0JMKbI@)_KHc8uS!uT+zpl)4txpjjZx9~` zkzd~>J{IM<)_)Qo`;uR$;oh#q`aJQm7tgiUc&_yU^6NLm$F=0w zI?uJ<#&fOb@?7f^1MX|LjW-D_ya(OyftG|%xa zOS>HH^0cFQzIP1mg|rvZUQGKb&;Nc#`*+&UX}_RdgXe?Sq+N@)i*}%&d46~x?I7B9 zXxF8EnCFZCK>G;oqqN<$<7xNhIpqCl_oqF8_CVT$X#dIc%KxJMlJ+awuWA2HdmiuE z97TIR?FF=>X~)ps%zHR*p}m#%Hrm^1@1PyUdpggj9Zfri_CnhJyti{c+WBc0pzXtZ zJ13)^oOTM@$9Qk&8`Kkwl@fc8Mz zk-UHNblNj$AK<;457ItFTjzb7^V43)`!z43{ee94BkfDnqc79`OkVkgc0t~cxe)C> zybp6<+8ucRk5O&OZSkMmLV@)PF}i*yfl!! zbUbZv)Yr(UF-wXpreIx$93V#pB-;?6+sqpt${M`?KZ;QWwgTK$g-*e&bGXN7(fN?7B2|eIL8t zg))~Kj@b1&?7BC0{R?(I2)mw&T_>fk{tCNpj$LQKuGeAL zRk7(+xgG7k#M6GXzbCF9pzX)}bOzeZ;ngi@|4O{QM>`0f zU59oI@pmEZ$MEjoY~kNeXdBFHccqzV1D~J^V@Tn-@eWK zc5UXj!{0TeWg&jY|ju&Fb$>EK2vE$y@@iOc< z06Xr99iPOGXTlplkZ*^=8=Ju!?~rc~gEwY?H_n4M4uUt%fG-w?C+2`37K0a#h7X=2 z-}WQ^#}fCG6Ytv)=hqS6Hxkzi5YK<%+{7Nl^Hjw1qQvv8#B+;y9z{IwOg!I4JkLrz zFGV~L1y7HHr&YkyIPi2Oc-jy=oeG}L2T!kpryIf3yx{2t@N^}3`T#t=1D@^xPpgBc zf#B&4@H7}aT>zf80#DC?r|rShq2TEs;OSlPv<7(k2|SGgPYaTV-U3h4l7}7uPXoZy z-Qej=@bn0H+88{Y0iM19Pj`T){^X(Gf~RA^)8yo#OTg1A;ORl|bP;&E7d&kNo(6%Z zEy2?@;OR&3v^sct8ayoxo=yZ$FM+35!P6$-X-e|L+2Cn8@U$6tS`9os0iNywPbYw< z=fKnQ;Avygff~yv|`U$@OJ-FH!T>TZEx)5AF z2TvUfu0DtFj{sLgz|{%hYI<-r7+l>9t_}uQ@4-_mf~%Fm)no9~4&dqs<^@NAt8Kv5 zA>e8{a8(0WGlQ$$!PWiX>L=y}XMn4(m=_EJSLcJPG2p5nxOy6%+6-KM%lWQZz||z+ z>TGaz0=U{3TwM;XCI?sZf~#4<)k@SIhf;TZ$+_BNs5{mNcfSXB%Y(Zs!QG|cZe4J9 zBDgyT+`S0yt_62?zk<6rz}+q2Ze?({Cb)YA+^q-h&INayfx9Qb-8SIv zKyddNxO)@atqh-i3-10ydlvZn9qqjETYuVDz~ig5Q^I#s(cS|-@12o z?Wy4QG};Hi?}M}(fa48mPXW)T(tZN2Kc&4HeBVMlC;T}V?IGa(P}<*u`{A@Tcy$um z(Zs zBCggXu68D_E+($}QO}PduKG~VZ$*4PL42)6eBDHRT}ymzLVTS?d|ga@y-j@GPJAsy ze7#P5T}OO5ft^mG21K)Fl@2A1{s^I%i;QLbW{XF>I5qw_)zJCVa-Qas^@O>KiJ_~%$ z3chay--E&TGvNCM@cktC-W_~z3BLCL-*= zl3BswNN_kAI6M>_9taL+1BY9I!v;9K8XO)84nHUE#)88G!Qma?@CI;r960O?4*P+_ zao}(^aJUONtb@Zb;BbC$xGFfj7aWcQhySB~eweu13>T?qT`hJ6phzIR~XJ84hF&Zp7-fW3dDy&1dTLVGOs zA3^&E{O}0vz4+rk+B5OXS+uj^pV?{W#!vIm-ig2NqFn&LEl7I+{yUI%N&L7J?bZ16 z8rr4t>oTJ1u!;I@y{m*&(7uuoZr%h=wwFH1aMM;tFt{BA_tK0&QwP9hGz0{`oQ`whYSE8u)T@I4i{J{>&o1&&Vyzw?6I z8NllT;Pi0t`6RfU8a!SM4r|m$n}fTnz}q-*HZS;k6I|^AuKIwh`N35`aCIrT`W?91 z4qV*`u4V*Ri-D{8z||n?qY>0cKe4WJ3iZ)fyjT4d>Z87#XIYQ)l9zH`aunw!SK|Ci zAI`6g;klUK@m$PlJQuSeczzH(uLz#60?(I&=k>w!$>8}s@cc4(z8*Z!O}+mdcpeL$ zd%*Ks;Q2Q2yefEJ8$7=To;Lu`qrmeP;Q1-=ye)V>7(9Otp5F$~tAXbq!1KA_d4B5s zH^B4M)cf~?=S8UZ?*z}MgXf3A^G4u#BzXQic)krh&qKX`ICwq^JolmAzX&|91fG8n zp2vXayTS8j;JFJtZw{WX0?*%r=T*V;Z20kX{5Uy&JPbb`gdb;U+?0t zL-E&S#N9*q>tFb5EdH97xVsR49gM%O!C%YbuLJSdi}-6a{^~>AZAaYgNZfrw9yy-4 zo13^BOWYkx++9rEtw`K0MBJ@H+>Ipe{zBaKC+=<`kIYOS*^@kSFL~sC^2oB}ke*uY1AQso?8L@bxJ88V$bc;A>&<^$_@45_}B@Un_&JTfo<< z;A=DR^&I$m7<|nJzFq-edxNhZ;DbBB*WbX`Xz(z77Fj(}S;bz}ErbYb5wu5Pa3~&-wVLAO0DEe~!XG^WmSJ@y~wv z=N9~PBL4Xnez_k19EpD(z(055pVRQqO!#LG{BtY*>5qT*!9N4=&lUJ*ar`p~|2%?! zZpA-S;h)FxPpwvKz518e29>t^llPfN<%&rg*c+Nrj{kmY*!tK8kcjNPO9Uc35zZTEQ^@%>%Dn@FCnQ)im3 z`o1;myWzi9*9X(YXIk&Kt$);ap6F+VbAD5`%BQ^E@Ab-C-R4na;IIfpPwDaHswS9^8G}5cwO2LfBJp%wH;OpdBBn1 zcMn)?-_Y-~`ABjc(0)#`i3_xM#g)VDU` z$yci1jpNp8zn`=ET>KvKto@C{#){2$ylZ#(#D0}axxK&hv-)~pk!R76^RMsC72{9f zqu?9m?d-pP)8N%Z{-*~8F4epC(#}Ulf3rRpIMFVS+wY+T2ubh6?58BDLK4gpF zzuK_t7OwhFzbQX_-F4D&3st{6PRg~=-d)HQcvPO&lbar2eJ@WakN5Xje{a*_@S}hxV8B`>{a@0+h@djj>^+L>r5l6?;D5pY*DrP zQ8{a?Z*@fcjvYJY>>hmnOV#gbck-wA>;Kj~Zw61*?z=SdbvOL1z3S(@6ucqtXkYD` z@`4-fDjpn9JK6q9UU~Mi*CSqw+~HsCTH9*Iz^VP)cD;YZ620~8K6{7$VV6xB8&qxA zh%F-@r5&DqCG6V$_0dDC-{l46Y_7K5$oQUk&3GZd_dNRP^YJ_K+OPVgpNQkai)+R8 zGoCV$Jldx<=Q?5kGJg2KIc|*j4Lf+9yrSNIuiUkrUJSm~zWT?yB=7&_i++_nj%R!u zkK)#GdLG#^>Lu-v_8r!LaP&i7NE}?f({Z71ZTa=0CEk>?yEWTc@x6Sw-l9<-I$mqV zMW2b^jgJZSOIttUDdhoo`dL12E;V4|svmKaJaX$_gYS!d0vG>(_SR16U&hm(o%U7^ z`AoZrW9{8N<0%nW>fNhdaw7fVv-(ZzZyx$=zxpCoEACns-5&O?AHVW0ai8|aPTjjN zaZdGpksYbb!l($20p}VkuS#W^hc35?CEvtU&D?$?gEnrE{qrT zG(W4qcxe9l>F`G7UTgs*Wt;?@?viiMe z=HXXH+c7V(e*BdmI_mxwd}`c!z4eFsmhYo}(r>jJ-X9Y3{nXknTJsZiW$nJPYgXTj zYx6@dJ4IZl->4(<_X%~{#D1gBDS2p_s(*2n_92g^-xj{89nbbB{URqs^7IwuW|dv_vn%GQ73CZVq$OEd1HAPE)&dq42-s7?+K~TVECaCcdqo^|O9c4(+Ob_Lq3VzrFHn z@L&^ON!fPZ{e_+ErXNc3Y<_{Eq$fUl}+0Q;srzJ>>70hbXVO&`#c`f0e(s za8ImPDM!zDhqvbq^`PSwUJL$hJ@A+Cx9cX}uO8Y-|7%})QTzFO#s~8l zugkmuuJpTn)*Li#)X`1WS=CE<>$ko$u<~msFUY^zDd%tKGaL}wDxKU*f?JrKdPyg2+ z`95%<|80x^YQ29KC;F#$$KjEe>^J4PWB9nZ@80>Aty=HX9~tk&hdio1JMqzp6R)#h z<1}$H?Z&Z=Qg9JCsZT!34wW3g!pYr}N1Tc)@0TaUOOC_5T0Qlv_7oS!f%S%d_PVqK zc}jh~-a1koroG^a`pO5i?K=Bbv98z{zELymE#H{u@Sp1?+D-h|uf8YnQM-9~%nOxU zJ9WKr^mzK6h&R>8dRcqeil5HkwPRkl#Q2Hv1JBeie&y;I*ScDM5HI8d<4pS*NAk1& z6F>S#KWGo-6i3d3%(u12wh0{dZ1{ZO$oq}Ml5Yb?UN4T6M>)LSI$k@-3-+7(82`?% z(Ld#*9_{Y)RLJLj;>dNDVvp%6dy1p3zS~E>NgPdk@x1Z-u#*Bu_M^YFU&$v?PieQ5 zd-S1!qmp+wtNIZ~>eGG99FK-S$v67J`*R%Xm-2nP-sk$n)6tLg>D`a_$w!T)w~0Dk zd5xdO_Ul{|_hCPO7srhuXD?IzUjO8ZiPjmkmw6&Tn@_3V)l)uDo}%Z1Rlg1RDE&Ug zPU~0S_YB#6$EwZy>CgOT9&nywfAXbxYFyAa)_KK~{>eCY-2=I`yMFdMd8yU+>yXdi z#gpq2j+^$dexVMMKf7n!De#o`#;^Lnv|CmBE01m0Y%7h5@8Pj>f7ChRN_p!~Zhn7t zUCPPz$>$w$W1Nc%?bUd8*Qt;raHs#oSM889;(OKy}eGqCqJmy zgmu_@)laWFcaG|_c9WOHmv#_0u4Cmqcz%QUUVphyWW6lk zB4>U7C)@iq#xL^~{g8Tg;LGpDRkrY{^Q&U#(BFBP_7vyVMe3>kjg4OoeCbE^^Zv{O zw=FWP(pP-h);^#2{P-R{TNm9j5zf+X`z~=`b)EQ8FZrW;%%3M(4-t=EU&agkD3|f$ z_sTEc{JpvMF>6)h`hES8^V@ive%%wR@11w3clIZLqL=q;w=!O=8;eW#{~cGn8OOuubto6SL&W} z#%%(JtZ!ML^=!Xi8=vwR{%pLnSMa9e=!fRi*W6q6qrUpRw6*GcuNSwiA=B+zeXrll z8?Fm!U-gw2)6O09N3S=Iy{>D?Jp#AC!Y4Rw{O{fol^o8C>g<1bz53XH%J059cB`*8 zNzB7L@hp#sXMa~;aaa5k`C9zQPg!SDUx;V(WNnW1cMkd4m+*S~E$3x6tbUijO8*0@ z&*De?yKbu9;^0^Psds0-VSbYJhWmNq3>-HH^^5f{?Wr7%gNFo<)vv#^tCCN=^bDHw zq>z_$Ncp|%M6Ul_@_nqwXg_(TYxwZMaW6iMb$`ciymx!xSw9=!t>N$8Q;jQ*j3ck> z#CMKsoqX24`&9RL;=60|Prs?wJssbEn*Aq_IyvnRzP--YI5#f3-@iZRyZO0;?;E?F z)tnwY8qLZWD(Y2NU?eUfD-{6}bjgpRFg| zhi{I3EAXuyz21Jye)-_)KG%VZ{Q}?R_XVPV<|(ct_p)z04^e+;7jffyqP$tgkNRAE zbbt0>?8g*4gdXbK=^y7`wXMDme7ipA^|ddb4}7Qn&7bg!es!Flckhb*pTwK{5*G}= zpwd^o>NoE%`7Cg*f7PSD$6jrm%m2nTdDZn$?W3Hf4gXsgYPX(KmpY`9!|#=&vmgCn zzv5eYZT()m`F(APi`w%l?PY!Fe$`Q*99PL9KD3u|r@XGeIo~zk4!dr)>VA2>`H#^b zMBH|)D~U7x?Ea+w(%yO91pbV54f(RQ_^5%^cqL9Ek2DvUH1JjHzu+z*2j>ILx8lEc z_f$ix-?Ls3|KyY8clJ@lhx+$gFPORNM?3j@@-62M?9cNW<}LZcx>0?_oq0>S#edI7 z^^>b{d*+`Z>@6-FU;mpwyZ-mt#Q29#y7vA!@SlF7UJ-{S&xC&U-+Z@a=n2lna~U^y zqqfmccgOGYZ)ZzAl=m^dI2ND&?)pLMVO-DkT{}N;jzzm$|9HQ3k9uf7e|NmDadUT7 za{IaayY8#2&yJtpn;*boW5^j%|1|b|GwwIf9IT}abjE* zJ=*+f-t0X8#=eRCYklth^=tNtb)VMHUqqe|C-R&2svo)CCSecbi+z{$duN`IPviyT zYQpEJBa9F6TKGTq$&Az1_t(U@DG$8rdXe&WPkmj~;h8_JyQ!b**9|(gl3yH%3;9(% zWZdm@NURr%E9LAt`^t!ua{ZSTpLw7C=>Nu>FGZaAd+DcdHNNW`&F$WcI7wU?C*sR< zLY;Buc`(j1+OK{pcAT;rM|-Mo;m4RSh&%N%-o0PDcwNfpJR7;(rxDM!eJ{GI8n@@z zzf4oLc^~=|9*g?C-sh_m;`c>=j(8E@#!K2!y*=m0{puwjD!=h!oQWUt(d+lf8=fOk zF74s<#!ETRHn@`4@#N#4tzVDz8RJ{r$nWZ9+&I4LM1J=AGS6u5E6KaWiTO?ZX`jRu ze3F@pGOI#_JcC4*4Zu{QX`+IBd zyCZJA-+D%zsF!)oeKGM>#*g@M-Mew;+Yvwc`vly#@eh8)gZS1@_NSkWTfbM1tea^rmF5syW(H>9df)SX1Sue&i=%;@@Xga)!wbAEr}1%nFoy*`_b>N^XMP(?YPcYlv|uSuKTU_=XKUG+S}iar=HhdZO^A&_h$XX_0E(V zTsxjPPCb|(CmuLA?Dtk==gB@zuP*V>lO8rnh|$JuSLU8*tN{_;=H7KdR`#cjw3G`&pq3WjQY^uZQZA8 zT+(v=ti8^H9^%34Z9Bg=j>SchEBXV@@Y5iQ_hQTQ1#=uJx{L{@uz&ov+1}-Kz#aHxr{^4gNZxyoY$56qhIakby?4Ce^1nv?te7?wehf! z|H7Xl4og4sc6*-WdK`I2yEa$;G}bTNZ`N<(*L@G|Z+sPbW8YjomA{vrCyIZ0rNmLh zeZkj&@E^D;=ak}{p?VsJd0rCy8n5+h2cH=C^L^*KzVc|V=1hx39Gbt>r*+({vEOXo z(ca>tcF6Mojddq@U%c8D{KUGR_B394#(x#-?9J!jjyP=a{7vyo@Rc|=zjXS`e#E!^ z+xorp9^*BC?^qWRSK3Ma)VKWJ_U8niTA;FT&tVT97Ir3Ih;zp^f2voG@BEAPJ@?g= zyXS>9F01-gj*M5=FXU(U9b8w0zk428CE`^(X-DI?`^TxmFUpnUs;BcwZH!NbzW%RbDt;U6aVFB>mlnV{H{Lg(O7e)cD?Gk0IqjEU;TRCnkVLgu7hdsvOc2Lq?u=+cm^Kt7D z_qSVL&k*xH?eFi#a~UsqTYEW9XDcoox4z4fmsWE5*?l(ST0f@!;05EXe)GKTcy`_m z-=^KQ^Z!na_4p!B@ThWmPR06B`JIQFm#o){o{@h%Z)x6hKh*h!_AoAtGyU&#Yx!OT z=2!B2=lv-kywbJLA?ER{v+bpr5=` zA27PTZtHp`b`=*{FPyqd#B5Zuj4Df zaW4KEBZgcO{Sv=kZ@=2n{{8HA@=o)~ac%#TcjSk(1Nc(D)@eJp*VBC-+wpyFhIkS8 zzOO|)mN#m0jwJzU2TPvTd3jGrR^qH+C|^T+w1a$V$a_rn^`%n|upy_Gxr z!~f#Q`H%7>ukd`deBa%Xx0OrWq+i*$QQlI|N8YyX_WC;SwNSpUNl%D)Z?T^4xaMvB z+IVEOcD-%f`@9PILjE-Ft+&Oga^+`H%gIXXh{Vy?<)Yhv~nu`M2%)68n;!JYYWbd+}epcH=e=Fh47LwdZN% zEyoq_`Psb2`1YSXKpcplv=_MX{VC$v>-=6n7yTozb?-d%(6E>5LLGIzxU@gzHSP=F z$GlKHv@Yp?an+wZqkLZP{o+Nv#AkOwV|BmyG>S z@~`Vf#*u!J2b9x%Wq;Pm&J(>a>m}zQ)E{ZLzbzCv@SJ1)^0TAOY!4H$M<`2Y5e7V z6ZY}Kj_xi*=v<`rZY3 z-g#rz_wa(aPrr8Xh3i<#m-d*zL$g$NR1fPlKYP9PUMFAlJU8-y>VEO4J&QcSZ{l9w zk{7g3=W|5$#~!}0>aYAB{OtYa9rX~uX+O^^QvW-?xUaAK(23D6b)fz(dIrB}*No>r z%QUL%d&wK}D7W>Y`Ahla3GFA3mx`Z8Y^ciJKO)A>JsE;wAWx8Dk%#X6{ZiEHal{cF56 z_MbF(Lj3qy|2E&<<*2Iv?8p6}3Hn6dmrt}?vvtr!{NeqzsrsK>^=I8Ef9hZHRrHSf zLAetD#F;!|9I99M2k%CGWIvAUdS&C&ckc>&Iqzcs!#EZ{DUbCH^ zz5Sa1<&}Jn5`H&6%6-8r+AZf(y9^FIrhPd7ZU5!mQN*F~MPES zclkp*D6ijZ_i}yAU+S07AN5SPc@{tFclp=x5~uY8j|n}fKeJ!_?EF-DbADpIH?m(m z&m#|&b3_+}oy-%=SH*$$5!d#wUiPoP%9Hr?y*|8$wfUQ&CsgBkz5T1F{fghlYRAR7 zOL3#Ut*7&SAMD?Y8|xeK>-v)QPh+102Uc>Je~n-9CceGi-(BDEJ&*PC=Zv`3F7lE0 z6}f}Q%*VF!c6nYb@|^ZnesN;n5%&C znmzxB`A7QC_Y2Zb>;1n^7UL49+R6TkAEPc-4(oaCYyL7G<&kp#bkVQ;;`tRmYnSGZ zrv$D%UvHd=KkaS2G>#f|QuOP-BK+w*u=E@GQvH>y^xL<(&-eal|DIENVxL<4h%f6! z`AXaty`qk{f8*6Wsr|&2&;6M9oA(_V`*mKQc4nPXIdWcc)O2kg>U`eZ`5*7o)GyjW z-cb(gA#q>c^A|jn@!I(wF73*>IqmPhN~3Z z98}>d$9F#+oEzWbPkHrM;^+MfqE6C3#%p8ObDLHFeio08CqK#C%I|pgFFz%|*zffE z+8R%^*LA3C>|cAgmVIbYB}e1Ym2R)v`ojN<{a*1^KmGdkZXNT8uE*~>FYM#_TGwN!%k+ceYJYLoHSNEmep281JD)^<+D*Rl zdhIB0B~OD(^)2Jod)ryOdSBzp-yR!sQ{TE?CeK?}D3`p|c=fEEs{7Q#HhG`-^msnX zI#Zs~zRIE9eV#`=_`ST5a$$e@(E7=^Zw}lx@M~VrbHTiqD*4Vj3O>=^*6a3XKWS(8 z&pOUgn4gTRl-GS`aA80Cr>uhyuIwpKroDNua^mNOn}WBrlejGBO4kj4xGwa?rW4f# z;zj&>UPB&{x8xc9X`SqRQoXv*UA@g)#;?4{x|n<9toOqpak@B!E-^L)@|kg<9O6>@i(AK6@2;=kZ|}Do=k)Kq#Qi7VTT>f9 zK5%EeS(n>yPoF;R`62I9(+;%;puW3i>YvnagYRg`ER9vq; zu#fsHzt`Ju+KYW%@n?Ql9_2Icx~?r`GNBJecs=(59|CP{mJj*Sow@w^N0Q0 zuRNu_Yu(euyvFM~&!x$W%{^W?t2~<2ze1%)?hCrU+i}iWzEv;nU;G>M56Alzzxh816V?|Z zkLVx$BEN}O@n*ke9M=ch^{Dexo@;h}MZ3zQDX-^<+4rzt-~Xz=d&V_`-^8KvxX$N% z)O@NQX;2c`%@m{&U`2TCU5Y62im2p z>yKB3|2xh#Ye)Sf|N9)a-y1iHYtPehej)W?-tTqlTiW2iUf<79$)i6UxAo2TvA*ej z`b9f=o!^)1q95xvWh$?RY>B`BnScuXxqI&9(ltRV8m*L~t9B{#xR}>!kLDk`gAbM4@%&wR{Vbkc z?{*&P{o+~tcwWTyx~}~;4}7bib~itlxLdTcPwke)qTcg5?I;c$rfP06na!&2mEZH~;zB#wpK@sL`dMqt z9{qCeR{S`w>yGA8?dJW)Tk=13f#ax;eks?_SB)nwe4a%+mG6VMjbHC`Jw59{>K~tL z(|+Z7$Gxlm{If>rUgC=f{=1wfyg|tgiQd^;2%gNq^nF?H<+j=4rn-UX)+| z`Q9)4RUiL%LjAqZd8=__|Hg&0jqBuG{f`=3>t{za|fvC%w;nX#Vs6F0`xhC+@sYTqvLK6Vngs(c=Hn28jtGf@7kmLo&OGwc=22ydAsx* zyz9P>@9|OI+ST{RdZ~J}_I@VnP1hB~gXG#A9=K#Imcx$dY&CwB`9XRkl z{bigQXGOkty+Zwxe(0z>wPV)|tHio*!F9V%@0iExALoIMY5sb7$OYdjulk7-`>$U) zf2^mLdG*S1ANjAz|4cZp`qwz;Qa;E2xca0&-0x-lUU@O(cU=AM`FZ)sagsMW=II58 zvs7}XUs=cSJf!y2-r0}!ANT90PXEhW;;Q9&Km06zYESLooPL9|!hZNMdB}Atc*6VC z*Y{A!o7&ZQu#U)hGmgn8`5tZR@}9Y-3mz?c_pRjlm42>Ex^Km2agzLqz0^Z{7>BN} z`utFN-)HctJeqs}4$Sk$MHwf~OEnhXF3w$R7xm7T_5Xa{$p5KzJ;it+-`c7`%Yfh z$*=k~+zoNRi1kNwU}@D+>-Xn`kix3wTHIex5Ah4Z60u4#e7@j?h|pLy*u`$ zT4(&bonMJdanssq*pbzJ+D-pyPxG7lI)CYG&9{kT8#&nK_9=O4sX+F5?%xzF_L zsXGO~rW_sj$*--s_lo*d|C;BulXmqvQsdR<;+-crj=Uy5#B1v1zQJb??qAtWy|rKI ze?a)5L*D$IIx}(Nxfgg#o|A{k0%PW4i{!!jyzo>Il9{!gg{lWi%DTm`}cl%erqIcxQQva=8+1uxMj9cv@ zo}A|w+(zA4dwu0*bzjD_`Gfo;FUfO_Cr_SeA2{XEZ{*|R=h$!XT%h)HpGdj%SJ5x> zweo8}zxR6eN*-mt=X?IeUF(liN1W+5-#?&V3*W`QmT_M0i+u|1AWqBq;aErTx*}K9 zQ`$q`R381>DQ~&Iy#Y=Z<}_&PuekYg+0VaC!cB; z_0~Sdhx>WTnRp~FTt7~Ky*%u)u($jL-sQbw&*`e)6LTE zuRQ5j>}9;FukUXXhw7`}#aY)I@0=0#V&BL6l|S<;{OEpMIY-nL_CycwvtBFr$GV07 zvp?^suZT;Q-=sfpey#${{8g@SKW z5AUO{%(!r!^UC?7ZgpJcDtZQA$~Vd(&WtBpM+xy9^ zU+2CPdEa#)acmwea>P1-dgwRp;XZec&YJ? zFUlwSUH!B5y-U=s+Nu2iQSh*N)N!m&jW6X+{U_}21m0XXNStABdDZ$a^28#w`GE_ zl|wr!kM&6MHv78G#d_LxvhyG8qd)b(&q26;AYWT&7*Ezk;>&Z$e(uD-@^+5rdy9)d z2ZSH|zX$&3A)j-=9?lc&M|&xM!jLO zz4T}HhyNYF%v)o<(sg35&;F>heGjkehT_jWCLc71e;ajPSucup6Y;Oyj%(fIyes37 zd60V5CY+m%__x3Av$j37vYYcq?Vxwp z@ljvDdvJ{B|HOi$PJY%O$}L`6)8E?WY3HNXRXmq3Pbi0#*)m>KEnk zdha)0{G9!>e! z77G6oH{wbjHtvl>&rPV8^2+DpB)NX@VTqsz2E!f z5$)YQ-|k0L*U5j@FL@uh@_jiO2drbsN9FsNPl#LRH|ACCDjy}U8%N+){E0Ki6F2&~ zSDeordLFv;(9px@1mJhaS5EKO9?GTPjC;p*-s|sqKX!4xllWpCy!q-sPpRaw-txZ8 zC+ZE4CSIwBT*ps8XdlKcc5JU(^4b3NtLvpH_oP>xQ_15z(D{k-Xm`&~Bu|m|jDPLr zXZv@5!t=7__oyGdPPtsKF8hB`7u5FuE}oa^wO`a;uQ9)Ls+U;fXd zz5b%U#Id-NueGcC*uVR(%GKQMw&45Dcog?pKlmIr&pnDG`&D1-7kN(}?D_ltn^*Gt z-X-gqPQLH{_hP~K+CB06+z-L`?pKMs+Dezldp^9*^=I*>oJEhBs`2%kI5vOi7yT%Y z^t`u$>u~Klp8BOR%QUh7<$GAfmv&Hp`w@rkTgo@Rc%;pX^0f0u-}l4+fsFNa3=X3egdHTIPFSuLy)pG*; zKXLlQ`kQqw<#(M|o)C{+^UZu<_(?m^W}Lud=2QKf_D65e;fVwFH$HqnzWz!)V0Z5m z&z>KsJ@{eZ)BBP~sBhhONc*CHbGxTcs`PRl%KME^?VfgZUGUbw#(JLD*^1Y!JJDNt zw6p88rQevB*JoJ$cfIZVD;|R1>_>Zfopx5gln1+sFYlMHOJ0rrG_N-#*bp`%6ADpBX2vzxbXJ&L`)6;8XdPL%w$XT->^@;C0sX`p0$F^dt48c9)Ok z0qyAZW&fnTZUV1+9!;M2yr}(Yue3XLlsL6jKG*5I-#8b~+CjO}uHeLV2IEV-SqEqj z*OiS&>r#1GUXk~-OBeOO?`Kjj@uPiGZ}MI1gBkXz@Zr34KOp|8VU1t%G#+P{V`}%p`#X64uFt2GJ?Ur$bpNc$D4~kpkwu^e-{BOS1uGahZr~U=+ zu}+bn>A$(cX2Ji7FZl;PGOy+MuBV;2Wz?_5o@-Th^#7c_PCS_h-EZ>TTgu0NNsezF z$oO8@3s+Hh`aaUy<|Eqk`(-w7pL-#{8pq2+P?lk|)JH*Z^4v+tYl5#ije za;D$?|81TZsV}_lF_oQ)Jh5)(db{`a;;UJz>%@_HT>tw1810KrX!ISNf@=KFfI&`Oi4C z)lTLCdCS&1)p}hyluzDseE-i`|F~WtzqnqMdeoMW=S>d?Ds@iO|MGSH z-D&rZIO2aI%KG7Qffwh4t~b((3;(Yr`OEbv@R09Ku$}|Iwduy}5&g4{XS~W2@~U#H zr+hD7w6}5Q{pG$`m$Y8%)ql)Sc8;8MDb)@)oZ)~)phb}#y{&6#;4ym zE_tkd&d@rVJZ}6ro^});_T&1RaVifcZ@ErSeztDWKiZ{?7x~+M8wU@Gd6CySzWm_+ zN5(yI+WPX@qbvQb&+>Qq+x;`^6`r4VJy*FCzw#|OE_j#@Kg<}db-8|FojC3P-B%;4 z>&&Z!AGr3;dAoQdp2Uaoal-z_iMa4O`9Qz-%zjMpammLqFYtTu zrrrEMfD%WMM~o-!rCnUVu>R36p5Iar{oJ^4>2^KM_rogTdd-VISX%>vMC|`RUKO|2A1% zXS^VX^Jd?xqJPA{&-oPGMLpd0$%DgVT;tdIE$cdEp8H9~AL7bKU zYvdR0>^V{Kon=g#ZV%PAW>jUCj{k-1(t(VnP+-OJFYl_}cw;K1xhvSMT_4R#-Jy(1(Po=l# zkIO#9xAFf5yk|Z8Tji3NZ)*p6PyUxDiX1U-5Km?OXpgFY{i2#}8OYc^F@A)h3D*rm3{NXs-SNqG)=3VXX{$1)pJUU-@ zy!yc>oe^?yE~|4r&i+a(Z$>L_eI8N&D!2JZKU;s)Uwr7Gum?Qr_u|4h@V#NiNrU(P zYG?PE^PI2iU(Vm*J^4d<#anHiaqaT}-X{;sEAl4sk@|Ji`@UyM`?#OrI6gP1AGM49 ziMzr(?ejbn@@~6MmoMQ1aV#Fv9`IRh;PLUig}8P;VLTT(BOZ)f{bhVx*LuHlJC5ru z>MOo7kHA;;uV+2A^0Ro?zv5KC%cr?dzS}xofe-Sbag;55uUuI-@P26HHSNUvIdgq& zn~{fyT=FaaRX(3*61Und`{h3EDDRbeww*timx*KTC~w%0yz72}IF-+g^SsY>Cgk;8 za4-ADKBT;_pX3SsmFwr=xbz?U#_9k2#;%EdVtqk7E4SCBUhYFuFNk;LRv+)v?}<#;fsM z`{lb`tNx9Lw7>DmygU6$TpH*4C*}5c&ROQ~)SKeIyst0vi2l$HjZc1VRPtmVv91Ou z#?lBvA%WPCTYFzEB-X%Y8*IS;%J8@uqm@o9Fahmy^I!1gI zf5tvR+MT?tTt0tgfAWL8=6pb$IiBx%Pyh3N1m)IF`cYhIue{GZ%Dm9{)*tGtz0}9~ zy7jB|hu8UiFWwLQ`@3=C`i1t$`NK5Z&ldi`Uhtj`A^sB|zQ2@w)S9_|N_Cy%Yj5i!`%69CUvqxXdy17y zdy5zGCQfTlT^(^P-{t?fux_Rv`ZL#?2lZRKl2f^i5A7hX9M`<>KC1O&`s+^{Mqbe$ z&c|Ip5I@SPAI#s5xz= zPMnGt?O@$vTok)S{p2|IXWsC-?mkbo`P#Z$oD#Rz@i{KPH!u7t=Ar2~*EOi8b6o2m z>Ok?lGntw@t<~g-Qt(A?QMiFVUMGH)&pcmSck9SE+R5uY@00jAZ0{2*d}M#bW&Zw;(I3RVlssXc=KbE{&iX`o ziyvZsWxnzEuEk!C`HSmV+Ryr3JnIMJ*7pIL7Ybe$3|w<=(EUfpcb_czi@KrUI@USM z`@2HE^z*PK_p18yd0C&sDSnQ6Qu`^d=U=_wcqyNQhkb8TiIdnzFC6NxQf&P~>Xo z9qL>8Reu`4;@Rg&8n65&>JsBo{l%p?Z9MkR$Sa93u4!K1i#KAm`HK50HRFUfDlsd^dr+NZ5;a%N#bW^1Jt|kA7AzgccCeXqLrJ6?I8U_7s!b~Qe~J3QhidAwu4!8mZ%6{rC9^IeQe&!kdt3Ks(@Uit;uFFveh)eJHclT?=wK%HXJbdGbW8%W^?MEK) z9KCq({JM39`p7f-SHH>U5Jp{8#KVOZ9ufW&7L{{u8I^7uK(R z@1pj~`T*Yj)jY}b6r7**c?SIP0U)+@Xa=pqvB|c+a%KtBD4C}vY*p>Q5zk0v&<$TxkW8Y5`{Ox(Ja$WFDXI%A? zFL3UB&gZw}2lw4Gp6E}0cfG&os?YbX>;m38ab!H(uj4vTF<;BK=0EWwPo{mT!|f-(ClBg>zqfAod)L28eK)YT zzWTrLP3&(tZprs^V8_X;wih2oUd`vh&1>+fe zeD2%(ZF7CZ`j+?TST`E)^1bz^;~AgIs~_`sd4{^#I#;~t&*Uw5+dLruyS^a4^q>2m z#*5>Y_0Wm(knt!Vr{30w*t5(Jma6<{U7dJcYC!O|pKVhQ>k#|<_|Rjkeu|xgC$wks zBla$O#QRB%Z|!MZSWo7C;5g&d`4u?ue?c9-%5Y&{D+@>ZeDyj?-6$e2T_M=H~aT|S@MZ_siXCN=RM-RXZKf+4m`TQ zY}|L$@8Zii?Bf5)&CmKld#Z=|PQUnEiTlyUtN4_c?Z^Fe_qodR)G-h4v}^esco5e; zdo39IvdSfIWD8#^r~Fvv)p0)1bxGwe=Wn9U(eCymPUKJ5kHx9|%e%@W9z56MJjLt9 zmwr=U&sBK8b)oBIzv2t`ADCCEPmzC;-tlIC#*O2dujFa-iFVL`t#`U-uKLUCz@K(i zF5^4(1aEnt@>0L~-ah?noMoK@A8K#MbN;2De6LjQ%Tb4F=j<2U>sQxLt-Fif!MAz6 zd`uiWzwvkFmT&TTWb&4FZvFg4?1#%I8K2aT&THfY<3+jjgFNN?>$JP}c0BE^p0&ef zkLS0vSK^skcT2f_-l`WL^$i@8 zCrVz9b#v=i`7+~%^PoAO0dK~odM3V@*QjSV@9)zOo`XwytOJ?9sDI*&eH8yMNjr$w z#!SQKuJp;g3{I3sUiA4j_0wOb?a+Lcb|GB^6eTm=h`+uy~ z;q{Z_+fROWU5Cv89REtG{iGdye;2sdZeC|=UU8i6t9OdL;yFO$!E>_KY2rehd7fB%Y9I0K ze8_lq-%i}g6NwY-S^v#1^>&1y<&rLYb zyJ>K|uS9+Hk9N=fMC&4Om;Vn0@0mv&KmFwYG4fn%)>Hg1Xpw8u3K#N;>vdi0?sa6~ z*}Ce2z7y#o?$t~G`aj2cZjAWxx?Z@7buQOI^La1Ny<%_u=eaENM%mwP=L`6{**)D9 z;5+h#`ul$d`dxkzC;HX>3vuUl<^2V*uHDNIA-8pcxXO64uH^hy&ZB)#FY|Tl%;N8m z*Zk-@n0Z~h*{X+e<9s*shWoFalS{kGAM%#ZG0CIwd!DE4m_L{w^oR0mFYBVj5&Em2 zc1m6cPx>LB3p0P?SNku1iu{`X;<*fYJ$cZ4&w7q>m-`|w*=kSYyvP;%zVdVa4jzq9 z{j8ttFZCo&d$yaqohRHU8hl{P_nMcS7xN7F;p7+XZd_>><5@Z72YFK7)-Rr0DRNnl z#D1yz=m$U7w*Gv06*rB2-khy!%~R@?a==&G(|Fe|%B`HGjd-+9w!RjR^19b6zxL3d z`M(aVtD4W1-~Sy^F72cIo`cT!K$GX354leuj=W!ejC_}#jheKql+yz-!W z$iuF86+1*-n{m(kC0f7C7Pv~gQ7>rU)Q9-+{t5eIN5;7(zZWOwkNnIzIoBV=f%ef) zuKOu}vCAHTclc1fwVUHQp6k&1TfAg^z&rA?c9ADNS7Dvhd7u30{r+wqQ-1NP9TN{7 zeA#QgqKzB!f_6(iT>rs8nMYioA%AP%Uh}iagWAV_#h1ABcl{tv)z{BnXa8O=4z;)V zmQTdD_jyi8|Es4sH170I=|6Z<{~O=l@AJ1M4q`rUf6AjDl*{@={D>$0YFyjD@ufY~ zTlvf*j%)sLU9juzd)xWM_g=7H;QFrilh@T>e<@dKV}9A0Pkf(d>O=ja9Li-s^%Hh& z$NlB=&r-!#>P!C6Px{00l*{YIk-VcGzRy9wId4>s)Qfl!SNgSQy;WoV#XM8uDtJcw zxSnpE;=ZZ<`u{-AL&UG=(v`#Wsp)6WSvrr#Uug&HUgFJu@_(CVJZ0s|p2dFcd9&-D z#IN}C_Z;86F=78A{8I20>k{I#=pXaWBF}W;H=gU!FZx@*n8(%6ei{p`6z8EbE~edh z@sL~pQ-}Gxe$l@2v-1Mu%z0L8?CVEFfAXF4W9x46k^Lubc@C!N5%qlHo%__!xbeW1P0&&B?OJnDSZ`xBoN>hQjmz2r;nYCNe=ug`J4JmWZ> zel#ywHz}{{3-XKWd1b$#z3yRs%Q;8wW*w(}w3l}Fyoh;NJ;aUIr5wb)yl4FQyRCT3 z>yXd>eebV$(Y~&?^bFa(eeT`!G1P&^seUoOysfin{N}!Z|MR^3EA8jq{rd}@;7+C)HpC-6#NYeKmNE>8-I?^K5XI7z_Bq*D;e&rW;+Pz#C z^>ndEYt>_OE=UjrmN$Ven4!gy-EK*>UO0 zugM$albjcL|A5u@?d|`r8CHpP9`AG9Qm2I8o%m3ma(;Ah^z+SMgO}7p+-Wb*`}(=~ z({=6kIv&r*%Uj~C(|*36z~7BO?@NB`sK>0gT&L*uoI$K3-L72PNBbFf)*I#n`^|i^_AzTkT)3{l ze5?~^-dAw&-^%}Goc6vtezgDOck>{5N}iN=` z2mgsraVAdG%X*;LJ^0EvG|p|6JN@E*nDc}~{t!GQzJ2apxgF1QL>b@C7r>?O@9_O} z`bB>Av*$?tT=a{2FURBgbl>wKuDo7-dOkca<{{ci{c|0Q_!lSQKzkPd4v2W1_TqWN z{^ZYcebhNA56@fZclGHy@A>vRB6(b#JB~Oj?|+MPq~f;VWu9t0uM=M>7x~$JGxKEX zNj~u0S>6W@YG2KLXy{|!!q3hF>_@w6Px0bDlmEMCToL}N8^w@o9`WXVCkqg#G!asF8!rm@{zoq`kb|KzfUv7+lA^hq2-!fj* zui96>RBrw4euevgey^R(Ps*qK)&b(se3|`&1M#cA;!^%Ju3hJGJaKBj)*p>;#{{o? zpZ&-$;#7Of$Kt<>{|!=~f}e#e|B561t(@L(UeZ4DP3?%&7OC#{dgI*vO!?gL(ynLh zuuXNJ>rdiST$l5i!K><3z7Jm2-+s1kkk74Se2&a@Chch3bMQj#`U)PgpDzB7N_*uv z6V`2GzK}dhJ?Z$`MV{=eE3!Z0OFwm&)2I<=)&u-+ZMiYpA@gockSQ%#bMTQ*3ZPBes|tm?hE^P9#_AL8}aG)iK_|y2CwTkaicuO zb@u1^5qMRsT-Gl$KJdSO7MJo{+JklR`q4eLkvWvW{-s+L#l263Deo35B=k}5(_)7VI)h~81zRGjLF%K6_l$PpL0;q`YR^3t!=Xuh)L!L0oI^#0Bg4zw(#$6L{zqpHb&)=lbrS z?N;GVxf`n;*Pj3Q|IFCi=Ml_jssCf!tQYaT-c`|RuUwzxe%BcsM?55ssgLbfeeKWt zJYS$cjK8!e^9lXxebz~iC!Wop@_hDV95`RK-;Vh}`iZ>!|L|wb6B~_so8LRmkvq@R zpGEG8_64o~JKtNNUHpGY@3XFI9`keT+h;x{FS)Lkda^!bT!=T%ae7`d@zcR)&bwVN zs;@c8q7(5ud}@7dzU%tD&#>w`?Ij-M19{$jsC_b@llSEp@o#)2etbWN=gfUC3p{4r z8xPt+d^kTTIEs2gyE&fM%LC3s#9h%V&IhQ!ep6rlmhzIf6Q|DOI`}d9({)$pJM53? zN5@khKl{7-7*ED^@u3_cC6rOUduGi>7GLbCEOg$T@TUsvY#Z{p(lnQ{M7>yI#I@ zq1CGK^E%fHIPaT&rry$?J-lZ?d**(raqKzv{U?pO+x+H!s{8EeH`krvG3yV<7mwOg zT>5(_KDA$&C&#?HSALH9uld-1?XP>>jO~2{?45ND^AP=Nohff8K0ELy?yN_&SIQ?Z zJ5Q(XG>YsU_7Fq_Z3tH)k)V=@C9%|%L?el6Vh@#Gu_Oew)mq%z z*IG-fmMeA|t=LLcFRjMbseFXXeb= z&zX7V`L8&KLLShGzGD}_WgXT9@0Gtuy@C%K|3tnPJn%cY&KF`IU491NZu7svn{yPrq?1OL#&MKAd*`6AzG$Txi8jIetp-}JRSQu@Kg zU-=yU;765UZWr6N837X9QG*BlhydU^0RTyz1~Yc#P5Yq`-7=p(X-y; z7bITrCBA}Zb`0Ew=fn$qdB3eI{6g>;2VD5Htt;%4e%8saSI1}W`4FGsd;ihqcbKQ% zPyAR1egGH!)y50Fi(lzc>zUo@_7C0ArP&*4yNAfD)+ThrYpMC#U@a6XnZ9nD#8~ora`jFnJ@2YnBQDK+KA3WH9 zaZb>4^l$TqKBG_BJNT`2@GH~aw*QykaVvit*SzqLpW8g$Z=g>TZ{!r;z%RO0i9eHn z@j-pB#UIZ&qu|f|662z)I2oT>H@%84l-5!H(2!q5KjYbFF<-%(b`SpPN%B1ERqq>@ zJX%kiH~5L%Oh0#F?28uM;^e{qMlX1GAAiGl_g52d=9kBJexmSq`mrZ(_&~nSy5Pfj z{zqXvrSk!!J}o``wW~!w&vW|C_jL9B_Go7^|3hBjiQgrU4R7=td??*xY(4TaH4c56 z{NTJY{I~bIzi@*O-ZJDl?;!;jJi-$=%MR!HFZC*u-_f!0=f0cqeUH=V(fw8M?Xnjk zhuh>j{b%rQfj|0-r|>ENvG{R_&q`j5d!_4zKLU^DH{a?dSL^yU_h0b`eGM=5zV+t! z1?0EA7yD_(hiChQ?fqB}J2s!b=8WLqgkRp*{PGIsr;pcHyL057;X^)xT+$;&uU&p( z&qL<@Tk;TX+(S2Tz$<*u|M5A2H-75s*{?e#`r&VSInOhVdKbL(GW|tfYhB_rdE#q) zE%=Fi;WK=pEc|Bt(#8vZhZlG>Pb>G{z|Stqvw*XW7w4QxF4CUTfB2j}gUA(WAWMZF3fW%u`chym-RMy!jEb2hFn?)J%Ya8qu)k7HOv3d z)_!Hi%lO%N@NGQnr03|@*%Lk-eg^&OJ^Efei5~Sl*I~Wd&CjmG)B1_OeZYq9=t93v zr=Pxa@UwlBZ~aD`v$Y;{D!cN*@AY$|yY}IN-^xF7e{cG6=9fQ2KX4TM$?x^Qt;8#T zcy-coA%~4mqcm>$8RT%3bKep84m{(nqW|p6vENKy_ygc8cvFv>Uwl5h^531l!C%Aw zZh9J>;hCJ6clweLA{Y(#n8y>6+ zKH5Cf&3gskkUy;Fsh7zCxhJ>QZ5(i*8+g>M!}mJ$4}ID0^$5Od^M}0StFpJrFY@g8 z-#qR7RoHp&)w~(cRR8n88{d7vv-K*yU;Li`CG*_*rBR>KbFE*$~JC z)=e)r|0wdHwNB^Clg@4Y=+BSBpX$~}KIlL6b>EHW_}2Vw{6j-t(;k-|8|;++__oHA zcTT-Cd)!?wyBQCE-~)QM^jGo~c*u|S;eU9k@dmok6SZ!7{Pth^=EkqWuk_S5e6qLj z%uZ<^{Mynd;uY}~`dU}MzlDFoe^JMG)(@}zYWj@*g#S7(l=Q;))=!_Br^!d`J2v@@ zbC=W4d^z@88{c$2lKNVl1W)aG=nMEC;UtgnS@4nH{Lfc=zUNkXgulwCC;r4q)=jRh z!*?&%iT~xrTEEC=%2$~e+-*IfC)pQe^-KEcXI^ocI=;up=mrn%{jh(>7mpYHE#Mv;>3b0UdCqu^#=({E^ShTcX$_{SgOI{zy-PTj*KPCsU^IA;YPMbE^C z^@$tNRb18TVITM*;3_>b(537L|Mdk&cYjZwDD8>$lN=T~8?L&+ zGkuP)(7Ex?q47M&BhSXeZ{8<&jXz>s@F?*cJi;G%@H05gS9l?3{Gh?VN8bit$aU#o z?lt!|uIV>v5t{{!MXUA---Js=zn}-JxxDE{u4gOa-=){ZS)F% zcJ<{i+#~oS;{*48qLc5i+PWiujsL2i{Au5nJm9m|FZ^t9(jT?%U3tgO_o)Y+D};CW zDn8?1q&`L``UIZgsXd>DKA^AhY5FtpR_hw#1o$wH5?#Pm`c|GNOMGk`cq)AGlf+%* zF69Rwfe-%3O~G${S>ij-jbncL9>2}*{+##@*ng3&3!L!V#_REe{GjtJFaMp$1CV#~ zG&+V|qc_TqrF}pz?^T)lkRG+}<;!o=^W5&`I_cxTwxO@}!n2Y*+fOtec-pxAyD|DU z{crLD@8lhPTkyY|o)D*+-#F|9I#@S6!LN0~v;O86CrmH7?>#r`R;M4@d%^F+zC0Q$2H4ifs02; zFXeN7U>i5=ka4!GFXAhBYVZdA@Pl=@XWI8-;HTP<& zx|@F%{AXX2ULe=#=sat^FFwli0`S__6@D^2k~8l)U)xhk z%6RJY2VA?K+mgpjxiw$$k#&eqvOoTqf9Lk`eVKFM@XODI$1VHkp_fPg^qzG(N9)`X zeAW8t33iNqOFptrc&K%e`+N^xiXYPMi2Ly${x7-@^NjF$Up@@KvpeLW=ta+xcY4-& z{FDppvA#A=_<02%_}}uyIB#Ec%=MBR_^*6d@>}&!ej?BK6aFWs+$+vo+n;ai3p;6C z{e7=E9RNr@0Fov zXL-Lxdq2)=@c+X|^yECqh#U(1r6F8U7fDfw|u7N1z3dBLxJ@#$NJ zzQ#}1Nsi&&bNI2&EpUB(v)>Os^EG}yIsBWvFA_hXTk&o3f$`x}oHY6Fy{@JT)#JQL(KG#pqDR`3Mwd7z)8M)M1|Qa8o$B<_hzI;uay{go!C{^1V_EAbU+inz zKktJR9*Pf>kLicPH+`Dlc)RI0|96B}{6t@E z(RYzYL|5|OzSj-Bfw$p3;xKg3UUq4)@8|%(^fmb@cvCOd`qQqf>t`Lt#pn1}yLDI} zJ%t~N?-O6`J$5+sbn_>}KOisOL(kGT=)jLpe&T->+|DUwKX}8(%MV>P^keNG5B%BY z4SQGonQ)V9<2k>>j>0qh;yXBaZTt}YC7v)&gFE=tI^lD2&SkH_M&kMYe^SXa9@5M1M`+%#P3!U;e_U|M_+sJtdFg91y!I{w}!lUUdEgd7>{G zzlPuDyh-8BzD(u=t;f990p9rsU%%G|F8qm(wGMc>-A!YErP?#DDtJ>)iXN$d(BHXB z__IIa`~RBPK6K)ZT-H4D0r?y}K@52ZAz^CY~u0ME63()e6{awPuRc-?!x1NCxxFRZle$3fBudq#&^T&4-r3%`CW35_feOg&HJUv13bw?*dK#e`{#8pY0l?- zt98gXl-*3f#B=n5&vpJsjGipM$^0U?;AQf$MaaGP@e%vg)^~W&Iq9QcjU&F#{P|>$ zdD4L*2uFBE^jJ@57%Kc_$9dwF)c?EmvW z8|x@NoagP>6?A|P@H@YY-qvBg;4S#?cm6E#9Co_tnaIPL7r&A-?~@aJH`!~__Yv;$ zpoq88q2Nq?@BN0)JvZ}ujxL37c#^M8dc!mOMK9tP@EDKYn!WLBsJdH~e1Xr+-WSz)ddA2Y&Q3ukqjq{ovJj)`_0hqa8l+ zLo36+<2(F}?&JJzJ+Y5J`PtjzJ|*!v{VHDo@7^bO*3s4*=cuf+^hD|vaWej(pTRZq zA9~P(_z|AqO+U{^ycpLy-LI#geN6HXK5_vM)&*|XA|EJy24_x$y`ORm2@Lg~vU$B$< z*+<@j$FOtoV?O6dtb@MNuij65lT-2o9&%|t^!dm)#;^C1KIrASbyPomOz*JEskgV_ zEBpuh1jez?18#7_gL%+z3mh>XKE?OWG3jT1_)<3>JearE>t2TROT4dtgFoiC?>PEh zMK|{e!Ds3L@F|UJo?1`lm*@kf@#$aqEPIuF+|DaLHSEY|507&B;G0Id`kVJWCEDNk zf+!b<-Km!syIqvCtDYX^{D+r_a(&xBeR9avZyyw8JO2}Th1H{8`FqiRyT9+}I9~nm zs87y*Pe0%LZ&zPzo-f}1{@Cwa|Lbv4U%v5#*k_yG?p3}1s%PJM({FXeG4cNNzz5zX z-uv-0d;QRtME}VhKGMhk*rLCG*rdbrqW$`Lg?%3q^~upk#JQr$1J3Di=l}EOH~o0j z;c51z7sq+A!uxyQ-JhpF+3*{A^~L0j(>L(olj-p%_kQraE5CQ&O+Wm*`0C#Uy!g&M z_}X{>rKdiBg^rKmJOloi9e3^fY{n<=tGgfkxJ@13;tS)G5Az#m{@W+Tdc4=-k;iPt zp&v%RZ0}!Zw|TAm4WFHF+VSh+N$-60rr!8*x+&Rh{7G)esrj3pjPF;-(d43ke$>`+ z_@m%54u9D=tEWCL;4%N~SMK{en{k>QIWXYK@50#?^ssL2iz8nh-``pH>e}~t1;eCC;S9cr7y}%421K!#`c#LEJgug-#YJRNVCBC&YN||D<=^;2ECyD+Sm7=N}z( zFmC4WORpF=;qaY*yC36}&3ok0{f4!!y!RF#(|7bGJk@${c0ufe<3sONfBT)^_}!aq z=B3{X&g4h)JGTnH)#rb9Lg2yo@y1Jk%RKN(PZizSnT%8B4_^mfy$8R(`zpPYd{uZ? zmj_9_v#;Rie>v|0F7vn-q4Y_P>pA?<_vWXEw!l3JI!}eaDUV|Py6mS?(-`8Ij5TEe8D%)gJ00oxb$G*E#u|cnGZcF)?+^^;p7MKf40qo z&Z(E`dFE}*+wc>3o8@=H`gtxN+uFkp!RJ^uKI?IN#tBVthJUP|`-`ogUNw*V&COHo ziPzHqd0&rleMi>tcHjn2#}3J%j)FDfL{wBLC-Ibjg(B?$>-X;)eCzethNzZ}Vqe_W^R%N8AEW z^A}zJx8wc1=VkS&Jt97$=ck{zUewWja>o6m-u@SI{N}yc!MBOJdzBaaTsP{@<*eTS z!x+D<X85U%nCb`M>^Y_+5+Z zt)nhK*rrT+9ywbd-&7js;#%T|M!n#UhVBW*%%)@;=~q*NBjKiKMnZl+3`8KX?z&{ z;ENqxe&7Y2zA2CMTkRA1thT=~*@uL);WPX;`i8v)Z}Ue^+Kfw&Sg-e1 zKeKRWcf{VI8KcFug(w|d4Edpwr^LF50gBPa*&M!3R0wf1;E5$d~msK0JJb5B%l7s@f}l$~X!CIlllu z&a>k~aU_3CfAgEiKIhn9{Aqms8{EGVeB!_L&S|;7GU4>yY1yr_&Wk)k!ISiYFL_@1 zKk-GaH~YgII`XIKv(g7iPjW}^^E=sL@&~ShC+CBQ<}dFPbh00jezo`b0r;WL=Zedm zN60(`em5WaGY)x%56{tKa_NU$KH<6YrmQ%A(8uk6zgO7WkKb?nhTrfv{+BZJIQZ~q z*)#DC{hjLsU+FLQGU00Tbo-R{Li}lb@r$~6uJ|^;TOH#~b>pdnclObLiTv<7jXL`B7sYj}GhW)q z7cZtiNj~|({4Q|e)7hUtH{K`b{CejXz^^{P(xcKJ?)L+*tKfjw(o@zy(3iha^XGYF z?~`|aGd{pSzK>XZ|D1rwd!Ey?^DBHQ{7&x|-{-kJ@u7GgAG^=aJ{0|o59ME0?|5s( z3pGDK>6k0Vz4nt&9u@I{=in%NeaHdglPhhND|T>^agg_v{_itA=y~(ad*s~nmN)Kx zOU4W2(R26a*l)GIZO`xWneZ#ME6qPS_s+XL-!e|j-}rpDc))Y_JFRnk@D-l&yy@(- z)7TFlpRe;C)a8%w7SD}a@a6OAK8A zek;bU_H(`%`7QIYBc9v;*%Ft9owhD3?_m zzJ6Qi752Z`m)J++2aV6=z4Sv*em#EW=QcWqou;Ss<1eyD?5vXgEdAMDa&p`A`t!_Vv7_r3-l6w< z)CVIEGkxoy$NTI1U#FKj-s)-Jihi?8oE_!jd$)+P?Kekh{@E#qMtz?76?ru6%WGW} z@J=rO2T?8`@a^8$X7AoZn#{c_wn+`1H~n{fYlq4|s3nmB5G3 z=(FW(t`&JC{$D*$y#vG9(sTB!i6Ann=o#eW}p{4I0|evyw6$Dw1x*Kq;o zUbnw~z@PESB>y{)p7en{3%J@m`^S5EFBN#uaq`~7b{il6w)w+Of=4_5uJjo@eaKH| zn|b81(aF7Z{0Q>E-_Z_E?Z%<^?0;#eH_I-HQ{2OpaX-C`KP!IEJODc&?}2~qKgtiG zzvtpN`3QCE(T=alt@vI$`_Skd`KIcZ=S|ehF6OymeCs*9pi|?ALpSt5=c>z3STkYJ3xRzQGakdg-OqXVWVl6X!tJr@Zai8~ElIUH6&6H%ESD zu_@PI{#=x^r+h2Q#X%=LZ_~c|&R0WTjXyc%_}6UOXFvSV?c%xlGhSc3<8rT$_VmA7 zJ}&s&`_{2|_oL5=aT4zNr5_u73=i^pcbA$W9&HL!R-t$v^9(srVzSIHxZH3c1*T3@{VgHIx zKJc4|ZTd~l{dA1OA46C2Ql;}B?n6pF)XtN2`z)`v$K&4~>&*RU^e1NxpNDUr*SHC{ ze)Lnpk@NUZIlpZB%RdRakvs2u&;2X>zj~f@A?&0x%p4(e~<*qUR`Wx@L&8D5+DLzfO$h-ORsS>`xwM7oYZ-5tZ%@+Q++GgJM zKmH`}!mh1f{ff72+PADf2M2NF-{)Z{npJH1`)`M(DE1K;}3FTF>= zliwSo1NtxC|Efm@o^pSGanxT1ocN^R73b!E4BI)s+iu>2*Dd|RUok)Vg;(F9iStK( zTfX^@KiQnm6jvG-{+IW<+oQL_JOAeGI=`h{q8s{pf4$F#t{8aui}UWVDaSam^df(b ze#&^fjW^xAhtBeL@Qp9&4f{i$gMaaf#p471^p7TY_;}~n)KlPfZ=G@758*r@Kasws zpXpt2I^V~SLDxpNu;1V_54yGXV>WOW+=t%acLQ$cK+Zcb^b2^sXMFAI#&^#j|G@bC zv)SpFxz1)DHveCz%VaLhk< zttW5ZuXE(^k$Qgqpa1=a&2#W>p?^25zrME~WGH^0U>R-(ie)-}x8& zMdlsthxzb@{G4;g%jdrNSwX+NPqyaG^Kz>L-xBL4_vFWV$hr5(5&F0F2Y$ezA3Uy4 z`Q#Zvx6B(`2m3zyC)1yte(#{euKOqU-qiUM#y1~(utg5S|6ac73*E2Ib0&@7LQm7n z3OjX0<5&ArZlZQwiCU+YXcZu5tonm_n~v5!)6!JcKlWT*ApCzDUs z&p7zrz7{+z9)C{oLD4Do47?P6`GxfG*AD9X-M-}wFB^Pd-r0qhi+no#@qZ^jxc@76 z!$ZDL4&VXY#se??TkYxJ)I51EaDLXs!VY@RI!1Z$yxHf7TgvYfR}SA16rbcd{)!iK z9n(8J;u)Lu@h89~zVg2P!O2&i`qIEhu7f-@xI*3wAN;tK3waNCvOe?S2l}Jo?bw(n z-^YK}%io5N=~eId;7xz|ZR3|5jsAGzV{zj<{rcuT<4<1s`Q7kAFUb3`Blclu*Wdre zTj4Y>y8th(J^WSe_<^2)7x*wv%U3=q)+N47`I_JP*5NJn#TN^eMT55By}E;4|LjkrzI2 zD}G9^J>=yP@91Y-`j!4@dB^bc?cZC^h!^;6WyI-iUu`$OSzr4Kk+-ov_!0k1-uwq~ zuF^W>=jJbd?DID8o7Z#p)%#T+{0aDmmm22}uNn4b%la=Jc=~9MgZaDg3_s+H-d*1H z#u4|*C*wBjI2BPBZ0_ep#P(;nM>j^lUyae#!Uc8_89zgPiea zGtOPU=!fBNfWOf(@&WC?*2gDa#9iU9jeIhH*{OjCb_reJLD}Rc&PNs=&U$sn!=Mif z-??9JJm=!pXW!!~8@R}a^^pht@dZ8@`DYtne0lFPV_bMmJi~{0+j?pq`z_A9-TZA2 zOT2|V6n%E>7e+gLzf(yf^SQ_ z9`<(r2dkcs%l`E4fcm zuU`xP$b2gJ8(j|BwBxVk5APA@+ zJ;>Yg!kc$_BNy-_u1){OI@< zW$vexUJys5zLAG1`=P(Qq;r z>G|_t8hnS}^(*|PAHB`apZJ`oZRV2?MMrXKUh>w)-810JeWk+VIj096D_@!Co7+7D zoe$Xy^v!!x#b@|X37?H#!6&T@dsgrzpZZQqo`-)c{*#}YocGPhyV9rD1yAgwINSGH z>@m5-zwp7oD8F2uH`lqm=##O2_+{7N5&qC0eCBI@Xv6{V!OvQrvDa?nf|GtRE;zl9 zAIw+%GCwr=i@Q7^_%i7%ZftlzaMO+stqgxd9tK_D)x74zud^@yEclfD2bcbZ-;^8p zwXVtQZ{Ooy|8b%Zp7DeyZQwIMJ#QZC#9y9Q`|2N;+@#_ARmt1sI(CN=k?0EhC zPu*-&ClAf9iF0FhzHRV(`9I_pe$dhTlk0q8H@x~Uto};-#n#c_2tNc~@h|w=c^cz} zUg8Im3w%{}kG{)&)57yXCxw1@&cZm;OFiXLNuQ7}a?Rf(w>4kd_vs_{4m>Y@>pRy9 z{O)&b*q6!U|LONO_4%U?JvPd;i}sP6Q#L<2#=ra)^TV_6OPr5x@C2W@#{(YV+4&Rt z7=Ms&eB<8F#XC<4KLcHy10>Hyr?j*1ZCrYsA2xm9d9i->-FlY~{dnx-fuH}vj)ANA z+xI1zZ{-)m8~wcgy^{j(4PUYU01xt;&cA?HiND43=|%X>j{LeZigj zroPikc&!_MgUk5sd))i&#wQuajCpDJ$B+D!qEDXFfxmWN$Za;`+Rp&@^sm;j-wUqt zJLs1z&BOmHKFaT`i{BF7(jSYvEn?pE->tXt_f0qL_9<$9_9XY8N>9TlKF|BV)(5{n z_|$svKmCn<&b#ZUEIpQfdD)LkpLL&rJM}y{z&~ZjGR`5FMTf+HnU zz3=Yl08-ETz6ITs_#6KDC(EBawfpaR&eVKGNB_-QOky9gol8G?vo7N}U(@*Sn4m}E z7k=8hA}%R9r2K)09$Q`Z4dGYQ)9zs*|K!3v#i!_<{!hVm{TJRl@V_g5=yovUi?Ry| z&qxn&n4e!${P4l=-8#m1&r!m$`u%T59>V(g8}u(eCx7VP@D=uA@{zNH9_Um0RXm;d z=PY0M-M>w^*rnn(-zmQR z*s$~b5_oC%6a2=8F7Q?NKIMN5;K@3`y=9%jr{b#h)mOpC;Pib3d0=nax_9#r(9b%n zpLq8^`_BW;tdnYc&obeJ?NDB3;&Uur<~4bOIMWDj(!r@ARKe?sg~nsOjTh-SCC;0ImNWHg)i$6MGNdqGRes z_=IP2WM8@3^E-QfGI{lX3VPdk@KEc{@6zZwcGkM9%=;I}ReL}3r`{u%);Y=zeX)A$ zH3DDufxv-J$x*>8?n=A9eA%By9s*qa^tP_$Q)1pi5|c|bsjL~ zpzx7&A&=i z>Lu$$5AW6YzL{SD?{wc=_k4EdW!C@lso-PsQF5JrDgL9EmU(Xyc+f|j!{2s468hFT z+vE%Tm+&DzsdE&`2l(0e;#K3;zEb`-**f9Hyycf9AD5rTZ<6N~U%&71rv`syoI>xx zuk|-RnFhV(!!oZ=E{fkW9}T|6t#1-}6?%>TKGFexz1PmUL>z2>&*6pqRowKA_nozY zkN#SH<9(4&#MjeD{>`rk{PbViZ+RN@x1L6?Zr|yx^5HF1s&KmacLWW zH$RO2aSu8=j`*kl$hCf3#tr$C*PP@%r0_8R%-edt1%2~gl`VLUePnV)ALF~}z5h1$ z&%{OELkDzec#Hg=a&qkJI^E?N?)Uio`Ot5rhw?sc|5u^c(XH^1a#7>Zhq?bq-fJI${C#1sz-yyZ zk`s6+eU)@9xYO_EugQndujs=sW>3(&opbH`WX@+M|IYvBKjOQ`!guC#ya(>8 z|K#sFf9oeM$^CzPu|D?L@S_(${D;VskuUibd;#vZj_^bHgXGkAviRD*Exc)OWy~iJ z+x&!1ANS0;uP^u0_*eLY{h?2_H@OY}rTp7ndOz~t^h5K9LLZKF5%1W4MCaw6-w%4! zJV}?y?217T_O$F6JSV@yAO2|g2))HWDmpmt=KhsuzUw|4zLo#llGl!P!fWM2e2e{m?x8**vkW2ek_?kT`x+MOKpEB+p@knp_KOwr%ckU@D z`=0qh_8tGR6D1#cUKGBSjsL=))8FjmNFQ+Hck`6KKL3)DhcJ$Kwc;`NB&0tCpVl=$ z;BQXfN+))Qe@eepJ3lt5*B|m+{F&|GmM3rWbot=tA>ZlTW`iU0qT~r3(M2h~CGXy&|M2(ZfcHioLfj7@ z;xhE|9zD!{%#yy=ub*{^Pv|51O+WMo&+J+Eyz6HD%L`xI>63c2#qlQuAEdn0zUQqU z7x915N1h_>8MxpDeca1Ij;!DPFxFjsc-UQU6>#CNUGoH8-H%Scd7s>rUC6wQep~1h z{sp;l4i%osnR`aox81MX{lo{ll-+QDDtPIyEcqSiQ+Uef^ko|_>`vX|@4uvZf1>@i zc3;5p8~m6b{rNS%hpc(z&(qGLpE$ri7{90Vd+G`FTDULC_uhZ}neczyvxLv!pFQ@y zE`Oe14UV!K86OtCoS(8^?0=TGJvz?C;%{`d{|bKcN>4k#w7A6$?;QLsu3%@9U*MCx zY&oA1--Dn7{&C-~^|tnqCwimdBkXn2OTIAAx!EtZ9(IEsMMw4@o$Z5JzwzA{X@2s^ zKW87=dv+Ax^RM9#oxs6vRlDy6k9}SEALLj+co&bMkM*j{`?zNap21uEm2$}69>15Y zd0+6|!!~qYz2s_l3VNsCK6&e-;+!}9wEhtf!XNnAGkzodlh^iM@B=)So;>shx7^H! z->o11;Tc`zdB{cODbg=P5BN53(Sw~D&hsqZ^R>Hg;IJNkA9&=W$On3Z8$IkN%5yci zBR`5RL9>SmVvbA5E{0T4cX`S$A|J6A7 zYm)c8!^iZGF1+1_F7!J)!M>6o{tx|P9{hgLsNuOmBNg;1|5~XT6_%Yd;g++*?HduxIoEe3xEL z{)B(`S$huu;CHVDzuj~E#p;udPKi`x442AdfQyY8{SBd-Z<+v}eAAf|N#n0_| z(BFL45AX6__y?TyWR08tF*=TRo*jpGasqDa25<3O`l<45;L;!8%Nx;`BmPSd%VVb9 zunu@IE`6mWFVokadGdx2@m;fX5!aDtcF+9mIlQ-d!hV~N-L!7{fIb1whlSBMrz3`wUr-k>- zXSTf1Zg_9|+Yz7PpDp>5kc&2dDhzsfq4 z@DGlH-#vTzeNgG$sKW4o>((FT$7gpzHdWr(Jie9>5>fKkYX7!69#F|IBmx3*PZ(!*j$d#;2!8y@h`8 z*!=j|w?SX?u%q%M`WGJYz5UqK2mFc3H^KAZr_D{F{WyMT^0~Y@y~jTQw{;np{x=^x(E7!`QG=)JReD++ zB#zAaCl7sA_(k%2^!D;g|9**(i|o%%_@AHuSjcmrJNy(}NjK{upZE)(dLP{iUl~u4 z1N;a+`mE@g{6z1O-_ld54+^gdpE@|ou4FzGUTPir9=qs&GS0{^Tsz+29U4NA8VBFBF{ieeZUyu;b>jZe`&y z^=849=Z^3@Iji+qSHh)V!*iTxDE>(Pw!SuR=vR82eDf2`kIwKv`KKpbb0Y_}&eV_A zufI4~-nHUYb|Ld2;33EA__X}-sslWANv;8=RNZj+DjA?oIAIW z@3-~ahd*xfoIgr_t(%;v*F33*=x6w|9{g0}$`|H7sr6Y0eBpcRFrRa5Z6D^BHt>=Q z<5-V-?bzd%2j4%|FOI`s;)}!&{=h%QkNLdAc@_rb4jeD9T=-z5h zg3I{nUw{Yx@Buzu?epOO-uVCY2LBNJRStO`@ZeYT!#_TN7xE1c)6ZS_v-sb7>hIAW zSs(w+eBf6f=fn5l#vipld1U$!U$etEd(aUZy*18*f6xhhZG91c8XsRMz2~|7kMWJO zrC-?7)<67A^n<_2J8ra3*o~CKl84ln=waL~cA>{XDfiyP7yetNfB8$h{NC=Tq#pqf z=!*{WHuOweN6ZT@c&PW-NBc3u_kQSyo^77+!?(~m@&owKJor!lZO`*u)d*j$BjG4` z6FztYkNV{BhsSxF_8-I8_wyge`rqr#F1Xi*Zi|=yPMi~(&hOmM`~2vS?z3t4UD;}K zWSqNOeCLJeqp??K0f!KE6>&8qwNdEIbwA3-z$9R z{x|jM9sfAyQ=eS-Vf}q})c?J*?*6yxpZBKW8{ZL>UcSzo9=yR*(epnJk9xtI^s4XT zGu{-B7oW4E`Cl*Rqnf`Gc0oV#>0G;W7F*TUg&z&O~`2hXeJ!<_wE_si~{GMl?x|N^d4;)jvzxxj`IyF4S`HG6S zQr?YI-+O)fL7|W2ft+8&AM&95BkMHI;x>1W^(=4u$jG-A-TaRy^`-N)@>KZCICI}C zB;3Yn_8`uIk#FDe@NdR(d9C3^Lj~d*e zm;Fz;)ejGT%s36b!DD>mxCgDZUupARos-OS3+4rnbBg4;=$`j6u&>UA$=7N(9{%J9 zlhcAH<1qO)aTh;`Jlnryx9KzMYyNk9S5k74-wCsOrDu1=9o-MT)B)Gq;KTP1^E1zn z{JL=pUx{zy!7qQZ*`c2Ic<{SJ&Kp0+{=NS4M&PH<;HC9DCio`rD~4}&ZG0aed*69% z@D@M#?}z=7;a*{{^b5TQkK#V_&p&bR%WUS87lJqM!H@aiTYshZYJGXW177f3 z;VbE&9sa>*oPvY>5kF_%-E;4WKfN!HP8lTjdVTMd{a25@Yk%)^`$swdx6g(D(c~liNawWqdCK)&pAqL# z+xLl4!hidZW1Nd5Pm6ziW7Hdd!*B4NW7)Ml*F!%$XIy&d%!h_Q&JNgDl8>6@|6)C_ zdisODn=zic_x(qfUY+MYjpxo)RXx8Wu)bNwTk7tuC5P;8qkqJQO+UmrB=z>cfv}78 z8h?zwYy1(<$${^()ZM?)=8OE2^Zewi&X2$8z87xtcJlp=9&vuacRlk@ygUBWqmDn_ zLxcal-`3mrZPV|=-~RK1Z`p0*c^`b`hso>Y{T<|0{ND18{}K7lJm0wZ?0FY#>i)|o zZ{(a)jqm=4+}{xokT>x$y}>Uh=i(N6-F}wyhxm#d<74<@XW)lkq;IO8dV`)Uc+$>o z(~J3ERqHTb-CJzD^k2azpPs zPfoA#8@-P&tN)F@8Q))_ySSkE=;a69e6ucm#P36A{y#p!r|RQ*L451E{`im_cb@(XhnoJn(Pq8o=Ld^J$qji?mLAPGfgYq!=}C5!T$l%b ztDb(GI(m?os*{)ePbt3leJXy(clfaOxsyMOzmw0~caf1#+p*nwvwYuo##z zB0g59hpV1>s!EkZ5j`W{ zLk^ofM4p5_a=y#_6@T&H{b%hRPYnOve8$(GUK01IyYH~|(( zbB+JBeJ&OHBhLr4`C}i;xk~f3_E>-0$Nz5n2l4$H|3MyZdfh$0w|Q=#bn(HTgg+q< zV!TF&h_AhmZ`A1@{snsgAMmI@I?z9(z2=|si`-vO`Mtb1%KcsZ!+L(iUxa_?T)oo0 zA?zVP(f-0%Z*X=wqW|*0%4U@m`rgMqlI~yA?z;*0+jm#&qki^9DxZ>a)%YjuqV}?*AH4a^ zHvCMU_?7am4{2qDH`rak=qVK5d`E6ep-y`w!o!b#-;Cpg_zwv>(xWYL2LfyFhHsf#Oql_=a zCG@>@$n%5WdWz5TJ5_u*@(KRHNB9fBh%fk0_7m_0{j1ck^mO`N_)A_{9lx<>_^-_%82DkiRdz#J}HlZ)?OU z_7C_C{1S16duRNAY;m&-x?ht1$yn#N_`bWoH@WsTBQ9z9>fa&#=N0<*>ggwyzx3oq z?C0^LYMe)(8vV&DxZn@G>ii<|zOA0$IaYt)J!XEc`5m#}LhkvY>g|7A-7n<_WnKe( z@*2kH_j)ew10O$C-FKMYw;x3>S%3NONe|EcN12||&TnOBwHt5j@4ss7F#hyCEI+E? zuz#KLfO*83^mM~R>@yixoIsvxT<6N){qnG{ZT{E^vF^;0ynaoWm=6furj7 za}s~%=U36c>{0V0!_Ls_;&u0LRKN7++xo+=uXf+froCbpJU5@R@ms|EzQ@>B|FcKL zeFo*Hq#wdwuqWlG9C)$tUp(h`upguU;d#@~u}>_HU=K$9U+sB6y!~+RE9<>)T`9(G z^w`axVZYcX_C%c0& zX9w6Dc@yv}@0p^gR6zFIB$m1xIh-mbcZ9onU9wYrNdw5MR*a^fP{H zbPW9~-%@%x;{bUT{H33|=lmael=4^dK9SmoPyOEbD)#;4d%Y)5#LuYravbAUJe>A{ zzQ@mPT|Ev?{mcL0kKohVAIg2E!uvU2?0JLKzwCI~`J^*BR`Lt*$LN3H2Ye-7Ro_+) z{)_Qy9QVl_bVl$uejejr`pk2FW$88FbKdX#7{~kLJk{TS!^Zr`-_u4Pa zeTa(pGF~cs|BC0Gka{fq1^$6j{N^5@*~Je(Iq;TowEY79gnb3^uYDBzAk8ktzNUE8 z{s}+By1=hp-TsO9;e~x-cibDr57AG)h`hqT{WX5Eytep@KHaHa`Y`uz>A}V)dvE14 zdamNVJdeZQWw(o;(yu6gHsdRGSc^mn%VK4yNCMa0p@S?4{Iz8IQfgl z=f{u!CH=|YSLYWPr|J8M*VtF{>2Keo_&v`VYUls4Bjzi8k>5Es`HcKOf0G=F_sKmw z!#*2_9c^}UzYX2-1wRyB`H}1qdnJxBFTb+%L&7Jo!0weE$@7Nt2-?AIed3+*d82FC z-PXUKyLXZIes52e>CUUEJr^9tf4dXJrDzw5d04rF}_trF@!sijH~jJ-^F7M(OE{Q|xodPbu|h z|Eiw)p1*=W?T;H@UJL(=o5elk#dG63KVw{akKJwZx&H<);un0xu2wzc4E#&}JXbGz z+n>w$gMZoR5$6N&O^rA7=Py=&_hV&Tj=#6q(ct$+x2tW|Q}1V;{Iav;O}){7x_NJ> zI={j5ZFTx4^U%fzA3Z~Ue$je^EBqSpdB5u9E#XIxl1K6mFV6i8b#R)Gej^WK+2|7I zB+0S32EUE`iyue+Fa93<9_=Mh{!i{Z_N%?^s13d9x&P;;zhpk8e)0j}Bi~ALBL5^` zpd>f^*NU&M^jAj)|KxuF=xuhy``T+?^Tm5c9$EZGzlh(IWk2#(q~5p{}%UC4ThWxaKK-$ovt#P9M|5^mnz}Pp}U${tr9<_alFW-x__xpU`f+ zu{0mOOdrx~^t*Ot@mcx<_^kNSdBx;A{HC8eKY{-~%00epaQA(r)KByVJys>XlzM99 zA9egA9xnTx`8MtBc-7x>LgeGr*?;5VNBpgx0Q&-KXz zHo1)b#af5`J^!QH0WaWFf&;$kSN`5I4>{nBo6hyyqWx!`R#Xr&-q?(%1_Bl$v=rN#ed|9 zyuu^-Fa4S4D(Tm<@3~JvUwe*Et3AJ~6_?p3V87(=>9^uTdD1M450j78@p04h;jhx4 zRc5@*|MZ@Cu}a^oCBGJ5?()yW&f`z|vdWCp#7X?a249b}(jS7KvV*yQPR_+G@&uJP zbRNyU7vFeK&(mgJLq0%W1Kk_Ek@p}6@)pi@HoQl^L)|!I={@7iGgN7R(|nn?@x1aQ zc}`Wk{R47|Psy)+lhUV|ueQ%sc(Tuy`{IR1{fB+J(${&ugIp+$&t9-I^b2`GH+~m? zjGm^4>l}i(PF$bgFElz_d~3WV9&hcD&u{z~@rAnmD)t}0dQN|CE3a_9@XPtv^r>}- z57hejmEiSJv6! z+H)(PspDHEJw@O1qpR*dzAW`u!kapMC+<@g9g;860e|YJ1m8#>aG?)6f0JrYl%PkTS?6#q(l({I<<&}Dt*bt1p&du`*gE9h18@S_I5 z%Ktp|!w(g|X1uvrT|Ulh7$07g@I2CQq?_kT^io!Td4Y@v%T8uHds=)T@0xL~=jKrd z=g+M>kD24a3%{r8886eP>;Zc4^F5cZS7*=E?N6w;GVHE8|E~Eb@qKQ651IL{+Q*Rp z`ovXYUqk-Ob9MfpdegHfZ1}6{c~055L6TPc+E;P?;@+TU+J^$kT ze}2!wzOhT}ELJqO2Fj{VdN zkMb|>i&3(p>O;xTX!C{Lsd}Er8sjSdgi@U4efEr%q za(!^<*Nj6OzPp_lKiX$-{uiHTiC_3>O8nzFzE@QyC{%X6jo%(o4{^5@QLW_}%h3!nDohY}v)10KfG^D5;l*-d$$Y)3Ei zD{H>-eReJ7nq6T(n*9m?+P=KFz4i&6Gu{6dU*CLpY@hxYEsL-7TmyX5qv%L(<@@AK z%Ad*n55^E}n>tcyiI-)WZLC2y7fmi&%9taGL2mv2$8{7>f7 z=|At$kMa)6M)&ahO26j)a^wshTEEaA>@vA%dOY^) z`EBH1om|LY7C$B*(+6#zsqgovKgB-alhKZu|L2wTDt)1>_4!Ve9?yN*QD4&=@Bt6> zh5loSua({#^;)fyogVgm?ZcHmPrSGI|A3ACR>HrM9#9|kzURuK&!AVd>t`Hvm8Tw` z(@Xk!Pe1w%AE+x!FUk|7Kib|8yV2Ga-znk)cChN{PvHa4mGG(*pX}7%dsPnpTD>>4 z<6m^fhf473SL68Z0AKiiz`E2&eo4P>8@~+u3gi<#&0E1 z#xWm0sgl3RKBXVZPhgMOCwXV>>g-ipU*FFdO8bcLPEN_ElAMqAvEB2r{CWKvzsLDL z{7`(7|0k?=_o5E%^jY;Ao*Q4Ozw-auKJqI(D)9k3fM3v;K56szb8Ga?;4kWjKj{x8 zKBC`>pZK5djo>fwpXie;$9S7wQHrCt28I2lJ&o&HEYv7?@&SCsV2&nc}({IRV*oIfeNq#Y|gGS(Aco)_K6drO_O6~Cf; z@&UfUhf3or@zZFJ8h*tq5g+4A{M_D;{Vx1me8FC2-n#Kc*sWTB>czsFcs%i4?K^xw zTy#WNbW&#*2K?81`kPODlO;QckLV?OgFn;g5_z66ewKG>_8|OB=OWtrqh96kTs*E6 zrz_1TUKmU9o^tF@AJco*Mecr4{J=}mDe+9+wbNhh;x;}`{iGj#hVSGht7ISPuk@Qs zPo+MRkNLUfXcyg=oA*lMSNfcuhbQ<`k|QPg8%xi3EK|RRt5%QIE0WZ4k zRO+WhM|h~xJmv+*IB&`q{@Pa3`}8!qOg)UB%nOg&i!RRd4SeW5{oA_Y{yF2&hxoGi zF!daG%va;&F4LEc#eMP+2-m0X%MHTAE2Le z*yKowkCevWsgB?9nf&^;`PqY%Lvhns7C*e}+C5L4cpUWyJ;KkUC#xL%M|xI#CEp}Z z<~!~>SD5$nIVb2IEawD$FW2&9@g1&vuGi;3;Dil-y4PC2mM@F@qMT1OuJefYot=yH z+fi7Y=Of(*=-iq8;l>B{$)ofgp8oQV_TMX?nD@-d=Q;1luadWJ{22ZgzenCl z+=&h)r}6=VeJZ-LWBl#xM~=sS) zyEyu{=^yi3=r^VIimNmJZhE4}>ltVBli|HecAS6B59g2U@ErW~t~xzC(#8DbY^RdE zmOnH2E%2zMFX;vJq9^I4QGb<6jrm=8<$d!1 zq4XPg#&uZF*siXGZ+KxZs#lX?cRcDPSA)M__!#2TdXF7UKia%X z>l#bX(RcazmGhi?M!qBM8+%sxO}}cV`bgKYpXb`qN9nossl($~>SrDJRQpc->-oTc z`g^X_t^~ije&A5jlViz`fM0cd-|!LowDCpcp<2D?H|zhK&*|Uwr5xCoD}3>{h7z9f zJw7NtXFpPY=_jRrBR`G&U(eIuH_up-3+=|C2gmu;$8wx+T&KFy`iqY6Bwv{&x}r1u zdhZu4$M?r^i(l;9%3rF>lc#+ZUo?L2^2+~{hjNZG^(MFrzp1y-Rldae27XAxQ}`ju zW>?}nEBl;P=6N&s5820cZe4rT^IW|1Y0ky-7kxKn9PRq?n`&Rx{O&s%?l<&3P5EJY z&z8D*3Z8u5IdS^gd2@1E``39-apl93PWBaxUU{BKzGm_d7lfa&yytB~zWF6>{2y)h z-OKLVk54~`-6JRDzxZh2pW?sdYyFg-lSkv0oTc64SCpTT{uX}(AITf?U-6IpUK>C1 zgZ8cM|Brq#y1TClz3LvkH@j^d}hk5e4b^iSw@@YDb1Vei4y@E>;BcPiCC??Y z`R^4E$&c~V*tM*)H|zlWf!{|xDIQkRo7I2VuPAv+{atkPAMm6be3M_L_p4-|vSfGI zGx}Y-y65EDdf{nY4?I-4L%t6FtbeRmJi|Xu{214J)en8>neqIU=i-X7Zk~j<);r_@ z3m-%NZ^WCr{$mNhW2qneuB2xxk2B==*%!|nenRf?%}#axE;*FA%F)kYD#BRuovkwhlyZIO8f86XrM{M+Z$$Q?{KtIqMJLwnt!gF?*-WW^s zj^naZ?0n~cXPw*f9y@40J3QohRCc!HH~AjD@FV`!u0GNe zzbd_7{9qr!e;87q;j^7ed~bdweiaXme2xFuDf-bo##Pq3k}v6@vD~J2@aw2Y@U8eq zKF5A(<~{N8m_L&L|Ox#`G3NgHwTCOw(p1N zW%`nS$6xrg@k7KrjSu6T1wBx5yu*H2=`DPeda3wJ-Yo4IyGeiWt4qJ6|25W&Z~0pp zFY))-!BNiXYyR?Lze^suv0wae`i$P!UT|josvW$}A6L8YHS!+aYR|l>@7c7&Z}aow zo^|}!=oI{4_c84G{op@*?tdHpKQX`6KJj0W7Vr1}nYvFs?_nng?yvOUk<|;Ie8;fk zFWN8er<@#l>D}(Boc+%?P7OTme}0rrZtfBN4|?7_+JA6blC%{9&tHqM>y4Y zD!o6Bm+k0Bp4652b6Y8|J=_m~-{4QZy&rVe4zG<~7Yltc=FPMJmVV#g__ak}=jF&# z*2m}MSP2f}qN}iCbGwsEJMbtubEO8e6A8|OU8z4};=e*V~BT|cF9#`(z= zc$MUZ99S3rRxduqKgnm_GtO9g4sYAW&GGc3uXZZO@zo2?0lu*v{n54POm4t4_^&mN zb$f2U|Bq#(ThAN&AJ-1!!J~2;T}C-K&d}cYqvySIKI5_1o~u_mzzOc1%EDXDPfqYD zKY*X1Z2WNOMvgphd=q{Z`^8@>dzyJ5`(g6s^5WadymzSft@56~`kwH>{C}4F1M_=A z`(@3Z$NqzT0{a)@F{S^8JBQ>uNAJ}>#PDAX{lt^wzKQWFKF#w{&U1+`8vY`#5KoFT z;a5D$U+^6ye~5q6_#yHW{21}Ry65~Z{tPi&+h+Gi`5WZ0`tQ{4{VeIvZDr;G$s4%T zs~pA~^#?z4EXhB;Kwl`0vr`@Yysxgm(sScg32u6Nhtj$WKk$<0d)U3vzGyG~B(L#v zN_?-My&U7Pt@@TyS~o*^Z9f3@ARv3u;b`7mf%3& z_J05VTAZHxf*yefrS=g|^rHBRUQ}=Ei}+Ywsa^b4`cU3nIp))cc6jDDs*feUB^U58 zmW8L`ypH$am7LZ4!?_;*oPOR@nrG}c*2(|aUq5A|OT>YtAL$kTO8Psc4>P`K@I)Mg zAC>eP{xlCfqaXU$K7xAy>}O@(!u=}p=sT76v6TAR=TbT!U|e~6rTm9FeKG2fv0Z=f zm)^p~xt9_BYAAtT*(u>MbzRHd}5AS*_ z**kO?>kZFgKRqAo?B6!{x=%5i*kbU^2#U+TB2r{1eN|M%zY1L|M%(3?qjc){P`Rl*m% z7^g~pMe1Mc(qCEa$tUQ7ZbkpWu4`}W*ex%D{|j#Z!QeldM_KE|um8u=INM5b;^3bY zKj%I{!${N3`NWfzBb{JB%fKQ-Q18dpE{oyuRd zAN^YPp8ZKZ>$!5APy3F3Li!>4S%2fdhy%*sPrpUI{2lgeEYohVS7RJe>#>fsn2G>hseLRK8%k)wbQrOhu+q)g%1u5zrpu#d7c_SG&%118s`>|Rsf zkGL->zvpQ93q1LcrTOHY#a+H5;D`I4wdXC56#4e5=X};*d3pPh;yV99_aEEzOT??I zyF6%**k_O*Jo83zUZC+!_ZO4z(MvmiX!Xe7;g@k=eoOu<_Oa#F%D+qecwb%&9n{SS zpH)x#sl!LfA^VYXzeV5o?+a7z%}*a}8870i`96<|d*{iE{_5nS%^&?s4hDb8b8_Z= z@~9-Y`qy}=C)D*dH3XcemcFY5uVUxAku;om0z_JU0EaoByM|=z&h7 zU%@VCNk3HS9KZN3=ix_?CwwGdf)DYlJXG;(o^x(+27fm^^fL1@`g^YK+_qAld8{|O zhJIAa7qxw}XqP9dJX7Y8^dpbX1JQT#Px4#N7ghc#?->RUJjgG>2Ru|9pZG8NqnGpE zukx$p9g>dp6@RU*xBGMGn)R{+c^-y-z+e0+7 z4sjSh#^1_q>q)*GpR42NwywypSDAPuC;F-5^ReA?dK4b%HTsdh8~qaN-qxP>z<9l+NP&O9r8q;8&7@P z`{3K5^d3ILhb5ozApTGv%95k>KS~aUeuY=#iFee;()&B~GcP)|^+f!LAH|Qe^WPPG z;yL*(xg6pj@8J*q)s^^o+kAN*&Nz#&Kd}3`+1~gs?knK`s2fk+^9Fb5A>-lSQO~Gb zCpy$RM}Kgr!(-7Y@ej{6&OqmCPdu7eS?`bWrunt2E73(gOZ2ebDpN0@$4>s{PE@((^Kewf|hezT1peBa~F*p!Pm z?0vgUIlI>NqJ8qOPweg2zFM@eo_b*Ke~(49uUC6S`{FVCNBioVz5o23|9E_i_v=UX z_BT8!`Y#`PLLdJJ2Sxkrst@bq{MU)mzP#pjqkVqsr$+nYa@UIX$sPK<^Q%0wk8{pd zqJ8@ABclK0c2AG?`5k7_K0obR(Y`$QY0h!58|{;QFA?pFcXYhX-t>%UpT6VE#|Pd{IlRO9uN}{;pIxDk|K0tfefhRN z&g_v_>f=1%$liWpA7}Q0W21d`NFRTCsb}}`U-Y>cfBB(~hv`)l&TC!0kMr28_I16m zkH5U`1<`-~!kcz@KGMfuU-@X7ub$QEJ3S=ZpM7NXpMCSn(SQ1>7x(c``*HN2>~)i9 zU%tM>Ie+)r(SLopj?dYXpBMcXkH0~*&#&Li^htGnmAKG4TsU-|Ej-{5n8mrk$65wDH@iwmw9 z<4+F1VvIBS!mIl@pFX*_A9vZl-o-1UeSTu+^VK8z_|qHo_Q~`AE5=`6r?;=Z)8SlR zbd4Bi{r;rad%E1MpSoYP&u4w!*(F~R~2?z{;TtP`{d0J zi1z7MF4f0*PnY-E{Vx;kt9N$z=U04P%sacrkNWukmi%y+j-TlRkL%;#F!|wEyPlt1 z)Ymn=@NzN!?6TSaj@>RS_uVtv*Wd5(&tIGE59{MhKhg0seaKNU{`!Tv-lu2(*L*18 zS$s3`_QcL_^B>%%!~ea`C$o2T{-1yB&}g6hck1nw)5W(x9qo%_yIxwH-|02I#igTt z`RSbZNv{YzOmE-$VYN=9%lqsqcZvSfi}iI)p49E#Va^?jWA9*Li?bUi=2SI7VAZtv*h{N43p{P~Z&KAeBF%h&ub{_Xe;U#+jv`D!xj z_*p#f=;%K=uIuN;#orj?td>uV_SN+-+4<^*o!{1vx_q=xzuNh5`rJ21|LJi*jq#V~ zcYH2B*7as7&(}}y_?(>I_3iBbInKRS0nh41T|Y0M+wIr<$lJ!evzuoBCwDx|jz~Lx zVUGX4m&Ur5M}0f`Pxk0^SwH@*(LVWXw|BFLDx9iQvZKB3S1iEgi_PwV5XU()r%;^KQp|LJu)|4a_+ z{4;rFhiCq^cLqH3t9Ly%Iq%Ru?|l+KM?ERVpP$+Lug>q|uioAL#>tB((SQEIH}!G$ ze{f&d8`Gb;fA@1Hd!@bpmo9hnC-na78+U(ldYjHyv;WL-{v`G7VM&)ScRjFpc$df7 zC%b-Lzv9nh-sSt#p1!89ck*{#?$$Tx{5CnQ(`9vH$LI1(9iG)b9naI>O#VFf1s$I+ zx`Ff|z>XqG}Ss&5;gz2R_-j?@Fx_{%t z$A|p>ZO8xO(cKO%{yY8rebZk2d+$H{tvklNvlsTbWAS@k4=gTz$rCo?tPbt+yZFSp zvEJ3Sei-9V?$PI6zo_%o{BwO>%RfxMy;-*-s}s^ce{;8Mt7j!2-u~3S-Up^1a)-CX z`0IDxF4`xz==x!O_qRv;{NM*g`{Ev{C*RWb?fg}J-pTX29$Wuj$N%E#zZ(6Q`*ir{ z59#pCFPr|!-~a5soAu4ld0U_N)_wfx)4QIWy`+ybJ>siIRMXMI8H|6?!L;rv#o z*ZjwS5#vn$a{mtJiw+68FaKYj&OGqz;rZiRNuhE?BwuYMQiO6Pw9XWT9Hqi0)hCJ$ zM53h#xhkooY?q^piqb*r=szc&-12&srb{3 z`%T^HN3Iw7@2_IM3%iIz`hJ$^htcrWJP$wZ5b!*m3a*B(;DFhn{AvMtl}b?8sWkq_ zNpFfj;dA HRGz&zeQ>B|D|D$ep9! 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 >0sQIBeFL)u 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 z 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

)f!QO0#4JKMKBpr~sW>Yu-KG5hiJ^k3}S zK^(iRm$iO4>daA(leN1=o{CqBIzVPOd_Q>kIr?SGM>KpHTVKLX$v5CG(4X7=rQJXH zxihdiQQ;nJ4~e zF7~c*XEtxyy_m&EWX|0b|I=_H?Yt1@SpCTFdzJ}5EI(E8ZxOd3`tem+@-2RRFzpj@ zjp9!_zbC)%-anA-^yszBeFBGs`V`jeNBuy(Ov)L!DSJ3x#qmk1-9ddcyhUH*CavBq z@`4w+=YdNk`q<a-_ET6#i65WeO8k-H902cI z~yg!t`k?z_c3rCRSiQXFN& z9YdZb{cU=S-^D$jc78_e^-jeX)OjFtUflmV>SOrgQ=C`Qax=&moELDs!T%1(xK90~a~=N9^i?HT?P;>gL5__t2mF$xX2X#NZi?8!u>Rx=@+TI!=aF|nIRTe|bRmwho%`MHsjY4VaNg)=QqAYU z{)_b4`HJC8#pMdH9oskB{XFU(Q4Y2~1Wqc)Yv+n_&HLyV(wh5cu>X%sl1|TGB6eG& zAm!?nFD~@P4|3kJdMEzy%A_ZQYoc}RW4rG;sBy>a>I>2T1J`J& z`|ch4iu0u3@ixjI=iz+c;%n|{USEvt(K9COM&`F@J*2e)ll&vs_yCBKsThsL?@hRbZ{;C7w_ zJVEM9tab0wy}u6T`{M@Df5po_Vf(1t!uC*4f_^utmR;8MO~z9GhL3{$7?I~qf`5no z8~sFhy5b<$ZZNwRSVp<^D93e`Kj%Nn6Q7(fGIqB4Ch6FPl?_hZbd#Ik81$=QF%W3XZ0Jb-fUR+0>@$Z@6Zp?6U`^_pH9dJ#Iw@gQ_CL> zD$!moo&fp0YzO@3`@nPNxUK%T<-J**K%C!l-myFw%S%I^tgOqdKIU~<*bZ=cM4pys zQRWKLm2@lhwi_St=D&8I@xYBDk8=a5Z@{IbejDB*aA>I~R?j0n*Jq%6FM~VvU2~yp z{QKl@_{yW?o7Dq}nmy0&N&7cs{>>j!?pE*3|MF?^>+2KBFaGR*>>u$>)GNEs@GmSD z`L2j%p40dt;BeErZJf{L6BI*=kZwHXmCaG1dpP zU*oS|@fPZ{U2Ro0(JV<#O4yoauTHd$SWd@Ej#}yUaB=b&# zC&^cIlXY?Jxs->kLxDfW_L0xc{z9Gi z(*IpUyT|%p^q|8ZVqd32X?Ob(%E9muEUz%!Je_>9ICR`w&<|Q3NK*c;u8xn$&mx@` z*Jk%}af@%+uEhh#7f!QZtFwlO6Ko3_tC$j z-l+J6zc;fz#O=_p#{YHTc*04u>Hjl)R$QO(cozB(o1ajRj^C4hE7>k^_BXh38P228 z>-Ctz_L5CQhjQF{UlKj^4doNIyg+@3mIfTBKlVz}V>r@w-eLP_J0~&x`M7Kr`dN$9 zLtY2{aeVXMajrkqPau63&t!QLs7El`{XbGXVXIS!I;czC@BWxZ>OZd$z1p;q`e*kF z;T20cu5{Z5(HmV)W#VHmd_}#pycyt_ChSk~EDc8q>puP-=)4+iX}pWiDNa(9zo*Q1 z?bpgUdgK&(OkM-V)2`qThPd}|pV)_=#aB_^ZGW98E|1lFO)FJlyO`f2_dM3I^uke++vQE(Y%3-@l$ye;>WS-J_1=9qdOG^3FN5gwYop;JNDZ7Pqqb?8WGW=!3 zkvBY4(o+aP@4(d|-C>2>=_g>%B1fyM@Z7(`AI;A}{+HN?=4l)La{6m` z{vPz)!FeUvD|Hg0`+Cw2(%eU6JX-HQ9dL?v>b09gzh`y6V?D1$ytO1(B5JnZ*{k9Gd$y20ug*t`ckETJ#wLCPJt)`y&&47UV0ZJjCS;k~(@ zF&s7Ed2n8Y{R+Q3Rqy4VGaMst(k-M9_b!}g!jie!zTGz%E=+RW7V%3O2Oel$1#jRs zu1m14q+EeN+m`yX?WEWZ0wmmb_ydvi;TjA0|4IK*P8NTQd^`H@K*wizOkTIzGVjzc zL3;y!AN_GUdl2Q~JYMh~=lm>ko;YRT@CPA+JjG{=k3q zXTSrZoKrn_2ozV${2byhH#&N-KBQgYT$~f*9?x}tP_;4-9G|XRp!?f%jmz8aqH;+ac)FCLLQL( zzC5qcG5xDnuHDSK?fT1{Kj3e=lP=Xy)V-jd1DA3zf7iV0X#aNlE39AX-=bvua?)w_ zX}XmXd)OrLs)&Oky{YC=7=9n@kMgy=wovi9fiF$F^YmWHa7*ky*zl@=N5%aG>Q9Nj z&$?3dQtPN2{u}C34tMlf{Jq7wS$;I`ZA8C|{KN6sd5+(>_pt4F>T`T;H-69T za}QPEIO26R#cpmxpy{7Jr9BJ$FDsA0>mIbOtD3VqG4W&dH3x5OXT zzLI{>@KypFhvHrvegn=w#os8-HsUYH|M-U)9A7Z}y3ZXwn8(FF3fAO$0(D$Sm*t<@ zIso`oG7q+BLw*9kNAzCrx5Ce=Cayg@FS0xl;O$T@R#zSOZk%_L>j#TIXkCIh5L`## z4A2ha8P(X2;h9<8qg3O9ksnAtLGS24P2F<4$|v5whV+G(3(!vme>_P4W_g>IZwUWIzhiX_!-?7GxBRkWNr&ABC1*O2 zPrl-HX6mz@x{~s=d=%tiiXQyGI(Qrx?%zf@dXcYAy-JVXMt_jBufl#T4m2A4tjP6^ zAA57Wb4rsw}ga&vfG);cMf7`jgHr zDs=0;LnhBe@kH$0Dmjr?=1I-t@Q*(}#`O!lmVxdQ_}`@0;s|WN9%auh;|~AfItp>w z^uve?=X_vwg;0-#K0AdvfwU!xuLk z3p>Be+yiUAa0XZXpZCSi3ST7OEp9By(pUI5ZXNZ*8&rei3`?}2omxFd%%l8&nll&u zw8bT+e;uaX;#`paA>RDPIya8^xnp9-Z{}e8z=futvpCeue5&{!hRY2H;VLH9S7iAFLwVooEGo8oieWLPKzCtewKEO^A6bu={*qq z!f5xNfByvbk9`v7|D?v7L)o6j2jYBK>_+jrfm=nnV?Q~J&kdZ#_ruyd=ufQPCGMBS z|7RIQeFNXQPKcU*L_M{*9^_GWaqVCq#(6r>I7!qcBR>(ZP5ygR57Pf7CH^P#lh$=L z+(G1-aooP%2P1EV<3=3~@&|dz?BDQK!VP=HzjgY6zZ-6m<%y>Yu4jM2ef!9d=+|77 zcewCb@iT9Iwv_y9d-VYKiM#~SAH^dA{xzQi4#aMbPuI!bGt)$$OHZZW#r-Pv)bPb( zjW;!W@#`mi-p+NSS8gU>fR`%U(F9W^@=?%`@PWpo!57Dme95mAUSH`yt z-tGE?`i=8V`W@Ie#}!OE&VDRTBWZMmdJy({n0!bco-cYC*6HiUYv%;O5n=z(mo4PO z%f)1VQT$Y|>`v;b#rYyno8yIF7Cvje^7!aDjyJuzA@$hun=<+Eb8}M;sD~kb>G{U8 zu4+DodTRAeqgx+kJ6?mLly7{^8PSvL9v8h@^8)EZT?5W*ezo&5zGr>fqs7B#?52v; zBgT0q?LGSA2*-na4*F%g2al(X6aV)2kBQ@h|IdX9Hcr>j0eB+l~FCpHU`zE{Bjh?P5essiQ8PCMeM8EPZAHsIDo?KF+n*3k)E7;%3eE8ta z)T6k@U>T>LmwC??CEvYrCq#d9P8~#g6{jC@9qbqTH0qz>cH%xy{E*^x1*7|MJ%@VJ z^85V@d%AY)Uc~Ub47Uhz<&;0_AadMRUm(Xc-9$Vgd z{Ni@f0bBs;72+M~Pdv3_t3PDwD zNn7fPS3u$xQGbE_2%bGFcA#;o$U~?8T7I6@wMz#tk^QRbf0X3{`!T%6sD6p{jy|jB z=r1Zydx-xW!SUgqa;^Kn;RE_JF4ImeAI9$I&A-^b)Xs$shuQG=3`fQCU45w{o*7P(`9DLMw<^K(5I#s+5)H$U- z7``0VJA5vD>-J^To16!~a-XP!u!(XgbV=sPg-c|gqIjVe2X1nRhA)?S?~5(8SFcSU z_G9%0z(4v`;QjG;&w9lgSR#y>TrKM2>Cpq<)21yPKo8~E+iN5mN(X1l*m{Jh1H?Q zzMs!W+uF(ewsk)FVs%F>FCO`&^y3!ah&uGtcf$(=E(-aS9-Ft^jVpsMr29{c3-y}J zV?S1x$#8tF{gA@)I}FMj^nHLhRG@3cq1_zMduhi~@q)Ak*}nVik> z?ad?pvsFFv*YM8cW~2Ua{|~O%*WZ0&y)JgExG3I3LuI|Cc;HENj^C3Tu4TK)eRq*w z|LSe@m$pyDK1=MjSR2l3$;&-x2Z*;2`n4WIYV|;Men-9o=Z|#GC63qfT*IZW%KA;u z+kmqr>lHoMFicm$nyD9i%^AwW@agTIFS_FZ$6@3;YefC^Dz#!iQLe3g&gy1aoj0t{ z=#SFR`cR*N*F(PfJHMiQqUu>jyKx#Wm(~9>{6f?brC;?PN#*%xJM;NaajfDz2Sh)g z|5@heIt4bk_M-AVcTf+s?upHl(at+)Z+3rVapZQ-8&@1g`^Wx{`j}?#!Et%H>eHV` z{+;yK$j9XWEeBb8s`c-$xl7EMqI3{=f3DDbiGlI^1}L5^z*en zl)Kdt3YTRW<=#&|IY)l_tv{4?rur>^#8+&`_7R3l=*{d!J^}xZ?`Qn8jx)~rtk|34 zrX-hJ%6eJX9l?rb;tz{%A)nJ$`MWtfa9+BH^z>V~-+gB4cJ^o_`h9(E(Z7*d#2z(| z$?ET+?!D;S4{hjAg5-AL8(%yrj9obHNsVmz@95nqE^6=OWaH>QeZ|32;$L!6{hvLS;MAyIJ z(ju;jaK$F z@EkU7FDCpd{$bcm`kBxhPCDTSI3L6d zs)*b^{Dk^#=V<8*ue1I5NR<_i{>*!IFOVL@jjwjUCrJlsU;TQRuZ`G+o}*Y?JI=AG z7r=8QzoW4)3LT1@95p;6-}T-*zU5`nzxEf|e){c(b*?|VN3e77^uJpuPjAW`^4HdT zc3&C)H(LCz;WhVvPW#i0q3!JS1HO5@c_aX ztFx&7D$=?bz=PgK{#^GxpU>o3S{?L8)k%ldU9@~-#4RW8J@1wZ^v~gMXJp>jx_pQq z7dueg;jqU~;;)t~9(4N};&&7e5P5=wNXH|8@ja_cXZ6j~;+3cusGGokEdJHbFG9s( z!F|s#*G>j6`GA}!S-o29qh$Z3c53k`s7ppU0=KaZ>8M?ne6={7Oue{|eiJ{Xb>o6J z1aI8%Uc#q#P%hB_39cQh3+aDclKtBGV)XTsvfj}9$>icPwi_N8MtLBQtuNmn-&Eu~ zx*z!h|H}Ci^TH^O)8hIkHrVC98~%~^XGgL3GFv$=I~Pn^)ubLq_h*y-?`}pvopx9v z^p5Yl#!X+!_9*o(+?q!lW{H+o-fbt}Ww1*oU~+pm%D$vX|nhhY4T{IocAuTd)RD_&3BCE)ik z=L+HPm~!;jhEo`6K7iG&&%|FBmiS=YlkTP*PQF6_h{eb?Uv&{iQw4d$&43me(2TJt59RNnZwsb?0LGcMef z|HJty{Ot?cNv59Ih@I>o_aU?k#KG`6#H;t?c(3co_YwcX_M+W9T024y=69h%RK_+#n~@`Lz0 z&S964FGIJ=``s>cUX9MSmi6O-qnv;3oIY(?iFy#Oo4v}t=WAX9@{n)*$#evxQx7984@98D$hY~kX{-}p3a?`rf$j2hx(f7a6Pxw~%LvatS-Zk=A zNJp&rbD4TuD}Gz<=*2lQ<>dEh#D3CCMYw*jx>oGU zwG@3H{aXjuKI$0C_zw~MLre>sP){De<|yhdzO)pMh9@B=zo!S zL4NzyuHkdGpTxZn{k!4A87^-Ue;{(u_)V095ItMIp8h=@IFx+z#`F?9%6()P^`*!L z@;%!A7xmoml5h?o-#@Ll&pj6(o<)9ndrMOP5MMz*n%sJf^AyTa(r$s1CVu<&LgHsN zUm$~{YWHV~zi0DgdSlnIt{;m-!1*TmZ}Fa}Dl-4Ui0wI1xIf@2iod!1 z0{xPoJN?4ZW%VQCd<8gv+Ik=NW*ndY$|&j$aLcLx=_|98ez`Y{?(8;%?bNMAKHK?^ z-KSa}OVYb3FCLvZ)`8n`d#r`KB zqP^Jq)^JlSZy?;BZ@p_DafpfU(0@2DS)CmCvyN;}&v(NM zf!NFImDw)xZ`r@)E8*On^dnAw9p7tsC&w3-TEOuk-hlMkeFSiC$VZC`e)B`!f{uGZd?EE{&XXl0CS8ofQ76+s2xn#;L`mgZT_T$|9-qb%h zPa@8c{0cNK8}}6AU$ia@@Gm(oZ~A%m?-e~Q{879sJFm97aB;)=)I*zp!!lbJyZ(~p zdFfZ77xZt)ha^3~K_vaa+n}DMT3;RaQ=>V~mo~AzOx^Nswa2i%dj${2?AhYGQpG92 z`L@jarE`s9JMXQfJ(xWrkC^S)Ih{2s7m~gM!>A`%=d^a;{URybO|?Ft;hSgnXHVZi ze-c=oz3PSOZvw@W4fnoJ{l|SVOA4=${{6#O<4(e$0z37@dWqwke7{iN4{DSz=4353#5$#?^y+t1GYS)hU;5NRG z^G)&#cwnNJn&%rdzgz73jVr|;YP|*EakHIFeFMdPG2G}N`*X`(`@prLd<}ov`(Zf! zp}%DX`}JRLLi_P8uQRH+&%KBJ3+)oPRXa(i<$FKeo$mwBaj^Rx^)iRL&p7K3GH>PE z+>GDfe}w!6ZY}j8{oo$TC3)><(qsCawz@=rgLn?=ThMj^{fXsQTl~Al^J=*dFq?hd&YeX$7l6yERWEuT~6lB!~b$z z7WbUCEY9(HdXEP@Hm;K_jxn5em9*btIPK5dGhFm;^F{GndLNqp@B;NAT(e5-TJt3R zKVPDK#Wk;`{oDK*FZ_8sUMCS>ATzLckJF4cr3^G`_qTW7sO%6_!Ji~*_D@m40xm>hkNHzj%IIO@j>KI zqVc`aoMB>b8aL-R+CcdO2W)}sCm7d;dLC{Y$$8!@Q=j^u!HL#*tK{|GL)`N?pAi4G zXdK5Ajm$#-fP5mh7rnlm{I)ujmS<>rEjEut1!q%#ac{HBwQKoimY)RNSZOy3#n0)! z%zvRdTE=v@=qh z|Ks~A(*6-I%XMY&+6wwx;EPGWS~nATXM8?$PX6C$>bZaVU3tFNPb(e0c0OwO!nTe; zeMia(kMPg#4}U$0pI{~BBq`vb-tDMG;c1{`ya!n zuzX^x0}gz(9j+ZO`!w2}?MJQ7w&jB*^>TD#f7ec;JQ45Cb(iIJ!k&bF#cQ#+#i(OD z`Z3#=$MbyISN(G%^*B9nl%LVbMbsx-CuHJB*Olh)Y1I!X2XB1KrH&5h<7oGp{QeK= zz@T>9dX9Qlln-#9XjeF&806mbhs|Vrq55mX*~skI2i-)yvGZZ<2Ps$7 zUl2Rg^Bs#HMZFb{197J#T>BXu$qSP>-f(sS(rtbZe)~)JTqZuHNn!DCue2Xd`Z~>| z{#o3uuXrrx=PaMY8(T!|yYYGYRg1ItHx!e3bl6+;Kfpg1f45)&+eJPP=jTj5m7Y6T zJv=+#jh-4K?++L+`#p{827Z9}rM2hSPdK$P_0`wBKELK_@n1Jj6FnXIJ?S*OuHccG zY}fGZFt5q`iu04ffdznz;|K03WIcCm9zU(#aU9m6T;u#9>9hI)wtqx@J<@47bN-Z3 zi(GqAoR9M$@}5N>Z^+B{t)5b_yV(HBr$UFG>|gOr?7SYhJmLo{O_%ww$xiBr)wv1t z{>b?f@%#Kg@HXhL{X3eAztMV>Rv*La6x(@5lJ8sbZ#RBP{RPg3*jc5?z$J6gnzGk5whqo-?yzH-h zn)8a`fLa`3=AKk>2`oOx@>2{q$nZW4C)w`TfTziM-FvkL`Hu5#S(oHqL%*1*pW3qs z?b!e2qWG8Zmr;JG%S8Hc-^uTY^AI~z+ z8`AIM9)bKs-BX!|wXUW&{Tlus=YaBmjY|feKK+EZybR?L{5^(x4*caIj?ajT=D2*j zpHjRb!=E-f5kD;cs{T>w=lX&ipVf`BI0~HGlPc6K?dHfxC z479gM>oIusFL4}Je;&9Y%N)JQ&qMjU;Y1o959)ZyJa~T>nJ0^#pdYk2df=-h9Iw`~ z!uo)I%;FEtef5!R3Q=Fpss?I{UuG{RK2z4##cdQ;S zaO62pBwD8)_wdv&!|O^FKO1#sh5o4r#s0NUi}5q)d_Vth_@Rd1g1VF9Prs{9JxfmS zmU&j=2(3Py(FHsjp-=H=kk>`IhPj8x_@1pW%<;?OIP6{s_v%8Q;`sx2f$~K@(FXEY z<3e!nEBdT;B!D}?^>B3E<1%i=SpWN?mKwxmBY{5-2KmulQuWVkR({_5}g zMZMZJ?$hW=7pLN%6yGNKvo`f3o>i9q%I;+h*THaHt)3U~?B~1oY@KEIdYOBfMQ7L^ z>feb!d-MbH!SL{c!;i{*w@Gk(t-d4jSLMBOZOHHBz$LNAKg&>Vh=1k!Agp+t^Ah|m z=}6OS$T$CT8;;BJ&XWE0=x;60GG13&zPGbcS51uZ#F;Hq+8mQJfrIxKDp`1zu5VtH8Ss1JWhVX?)Y4It_1nv4?ZaKQ2uwh&hrZ_ zB>ku>wvOW;wVrZA9R|wBaA#pPnv%;JT%J- zLVja6*N>OGkm%Lc{X?+O8MF+kT{hi&*8Lk*`S?LFm=Rkco`?mbC%z3BQyNLGo<+=d* zV4QzKtQ6ed?NGMcZzc64m{M2fxedRxbHC$$jr15E0?rwv zzvx%ef#oXcN0~P2M^NPoj>GarqEj!5e=s0CqaGW@gh7Vno_0Y==g@3o#;d(Svzk1H`)of4WHgI0W z@2F3-lH=F=Uc=E(S4`nN6n=hy{>$oK8g5^3Y7Fhe<|V_Y0iG4H;O+yL_3KF-%EW+Hb21m$^U8x=aH~qRiUGIarzTG z_ecGCwvRX((vSQVjwjOmVT=F3ezw1($MRSaUq<~gJmlc}W_-`$s$xCI_x`zYxO)$A zXW}ovc!}}_j!7x^d!Y3^{db-d|El$~?3~y9t=&ULXFglb_eLxxJr+*@JeeWvXYe1C zo9+KmSBd^QR=f@`pGWxu*JPl3-ted$iSEyEtL+@c_A6Fj)9PP(8?UB*A`X^(v;3)O z&$sN)aErnzkJ1j~y-n$7?VcvHK7IXn{*HW3;g8-wWam${AcQ!%_oM>VfXRg4S7YMW`0Tftq!Hx zBk*ZSui=7XzsC6|R-6VqzfV4RoqoyUHq*QJQ_lXP*XWn*9uW1Bg+E&7D&AXZiyJ4- z>DjK~*jn9_a9DMjw;q!FXp0xIdoIIG^Y6T7uxkf(uxRh#6aBm4M*(-0?F6j{3g5Jj z9qRv5Khl3Eh<#3(MLII|TK83?+;LC9=YTgtKa;@=R2;S7z--D1btuVi!|y@dfsFs( zikuIEw;Ir%EKlCzpOB|Rx-1VRD9~jy$D?@eHviyUVyyce`%2LRt>2CFv6=4oboev$ zJGeiS`BC#Ut*&XT`Q^YhVLOO7Cp~GcS496hFBku$=h~K65LTPS|J%M9bqvXG@2ZCM z2VPoP=sEGxFw&>>s}b)&I?}U8DVI!~mEKeP1s{`n`QLrwzouQa!M$(yL>3=~^}noh zwH~zL2&Fww?03&&zT*3s7iFDh`FPLG5xSdCVL!m_8ASSuoe({-c*drespod?Zt;)N z;yQAEq__!~SJ{r8j{}d0{@3#M{O@Dxi{+0Ru2*2V{u`Q5zx=Ov$$DGyB9R9{eT@tk z#pkL)uLG_e+Xs#T^~~x8d!rAt z-LQF1ndiPa$o4Sbke|TQ;5yFgw&MPS?bvxP?nnALe)<(36aS|5imcvFIBLDf!{THV z-xzTmB9H#hQD5v{5_FR%#rUyyFYNx=Ci`|(%p5IZRO3+>kXcOUiJaEDRvWEu5mRuPU1`L3L2ux_JV z!%7!9?;1Xzt?R6Qm*Ec~9+vMJ9$^N*Q|skfJu;-X(4SabqCa(o*lnQ}loRTla$Lcl zTKsPDcjCUS z*E&Af{bKTCar%v5&L-ib&O2$n-Q)-I(1q@IU#9*f(>n2a;3jZ?5q%;%{Gqo+I~}Uv4ah{DPQ3C z)6T;8){cog$UTj9Y0e%+clD3{Eenro(u|I3#=tX?M z68CBMx}ol0>^v=6(^ve<h2lWEs>&yuVjM18WjAJhXAxm2pc_N{JG@casy zUv*!A^9`BT_k}|pJ+@y(-1~a>-R@(ozCH3;DL3Eh*MIXf?K-$^1?>xXu+&@N#F1{C z7s!0{&O5>%tAp{|e7=YHMDAnF{*cGV_bpyAvipveIr%=~oP<9OuI4B5?ZmHXeKV^! z9X5K4egyYY)IZD%^cQK#hMWhj&Rqt7yv^r)9`}G;ucHn;^*x@lk>g4>W~CkhkAv$O zZ|H5*k7VO1etI?9l5YRA4@no|bSZa>cSL*++c*4g%R>(iwxB&&J$TDQh;C>`zF@yi z{vq#;bOgC>Yv<$wzENIS?{Iwap&qiIK3bo8kckh|IPP@q!m;i>!Mo_R20G2aV5Ye7Gpxu4bgi58dP7jH>@ zM!Y23H(aDlec`=*X^+TXroIAio!?Qvjd~sZ^(OrR)}u22=)GWidIIH!^AlO;{nvr- z8?Hp$v#jh-G;S%bG`%zBr}-OpUW~X9_7^XBgL-B4tYeL9usHgt)OfCEyeIOKFNRYI z{BVvBang-l`>4}Gy|Fk)-1~m9&9YC^by9M8DCL^T zLyCt`4yd;(e% zwEQ{xzqtMl)WbOYUa|N4w~JqFuz-B`mwv_HaUM%O#CnwNT09iyInrf#QpxFsBFD3v zL@)CHD)WZc=QR6;2Z98-w`)3ioYA~ z#>{fkp5X=8E<4!$Km0Qb$B+Fm_08_5Y(B8_5vz-wem#fJVZF}x44)V4M9LL)Cg^{? zzb=a$^!x{Sw3I9G)M)QGN8%@N?B%)FBJw@F{I|&S`KX(tFYPyt`iA`|^$>9<^y7xt zh5LNAgZM3erbS1P&sIk%ZID&`vgV0-3mzh$v96)KfmcU6O+T&2bzS_#ed2!<57O|) zZ5?BAvsNF=@LYf+CVuCp3tP$8A6Lozt^C5enf77#%*cD?y2o&_EFLVKJdJdPO~2!O zVdtpc`?s+@yB7#Fe=T^sJo$t3BkCibr#_+16Zsi;xr6+IK9LW&59mO>sB!s#`-GpP zePzz!OXs3~26`Wh^W$-pL(ZRN-Z@ct3|HCm zT!K9hlkc{k^Va@KzF?h9J;1q`@b!e;zekGGm9%V1J|oYE{=+MMz3gA2b9^6h71Z;1 z>p1cUdExyiM?F7@UmYO7PyLzWg5TlusJl)%V;@TSnLk4Q?MU~&>1W!bocJMKe*-^4 z{Pm9|DF^TCv(ziEd>)P;`)2WLqpDF45hpHoII*6Lzr`TYrzv%px_%IE+{t}raM9ix z&2d`(F7Ed@UgY=jcf;|DuL#Be>phv(M-H<#AiZ`T8y$Ir@=J?;!to>CP1;%TO<(e< zYRdNQ-qyeS@Bq@KaoUJumU&9=IpT-E;CI6ZOKX&(e~r#;m-b(sPJalzO!C)1lv~y< zjkA+KR)@~=C{wNbg!R!9_N(Wc(dX~cet@e(`2hcxeD)i57eBHl&ms3baDplCVAj&TniQaT8MSTc|Jt*T+y+A%Ef46!MsOvVuwQu!6khj9`hAVG% zoa4(g#J^~qM+QG_*LU>qm`CLQdfsew**@2Bs-v?tW!`!79Q7-`@_*EyOq|cp?M07H zZKl20xwqM|;h$yB!-gLa|Df@Ah{qGZrtux9)5q}|ezM_k;=CiG9O@RQz9L@wp!;t0 zVV}6XcS z5BquY5%&(%yQtBFv>Vh#WqaO?GGpBP@tBE}U(z_cd}_V4IPcrij^@k2?=#1y*`V-wEHB(c{TiCBWVsZ;3}qemW;dGgebm2AiIIf|sC-FN?rJme?v`$Z1T zR+EqZnE&JIyW_ta-|&x&G76CUgW_EkQL#B@pET=s3@n`Uyp}@`Zag#dN29G5Bm3rP9+*_}q{3g|)9|Qjd{jvBc zqOqrP91uT2eF@h7WZyeq&3@s$m~zLt8Re2yn#K3ya`o)f;~ocBPB%Z{@dnd=H&U*^ zsoCu6$GH#NkGRu8{O<8IgpV3|yaMGX$Ns(yxTchY;&^ec9J}`w|CSy!oc>+$&q=R` z=eggD{A|B20M0$zqjNLGO#mN*^35lgVZYNmYOtRL4na1CdXO}nLVW^`IQ3Y0oVcGI z?dk&$fsIqri*nZeHFykJZv5nR1KBPgCji`(N8ESi`zY=uJE;%tEA_nKS=7(`%w31D zU*ViCX6Fa*qaGrTihe+Onc=6CI1ebk7x?AFSnsZD=%>J2!SzQWPakKL9Plyw9sHF_ z4{ZE=9G~K0peJU>^$piSxHsa_3eVib_6xT|{D?RoH@~8MOV4W;U;ICt*Y-Vb^1tLv z+Kckibswz#2=MeNXY|wbT=_70AKG11wZtsf-~71R90%ZeoBW$Df0Y0C@tIkpKD1}y z)CC@oI{*1M`lra_O97|iWA`5Nqp9ylI!&m(V)p7#sr!uYf6DZ7)={Q^ zbxxzcO5cTdkNXJLtN8Z(fV&@a?9=jRh0 zTD#An>8&g$EB`n3DY~Jl>F=3`nqH@S*)E(HaU2yV0^V@`o-I0q&!-=LM7t~Q`_HV~ z)0M9{h=Tv>*(c3DeSTbC^?2%k;Q0g<$By$JYnSZH$6H6Mr_g`oCmhK31Rkdcc_ik? zJrAXDXw#Y7I6lZnq};HsvT{AYH_rcuvz-%9w|RKQU(`F{%L~s^d0m;ur9d8?>GNf` zQEoaX18ynX7hOKW>|FRt^IP$`r1{U3m;6F&%e{K_%rPnTDsT}IuGTI1eVd@uNrhVi@SpUmFr%K0JRa5=|SJkY|+$q#MI_95Pa zdW<+u$_4A*Wt7uXZ}YqG#*=Fn(?0>9oq7u16P649H2Q^Nop8c<$|D>;)aJ7qyI8*X zZInldxSXM^$LDorGmbaC8+{J#1?NAD-0#AFNDq3A{z7>l;lh-wD zyV$tP?DoMn_WAix){A=v`cdI2;rzh#O85@S2QSr$`-||D3+M+@@z3-)fa^EZ$9WKZ zJWJT#USD$jqxfsuO|_9KSqRGQz!w{B>K`Y`l%*qj+1yK@V}ir(4EwJb|~x^#kHX*?*kZvERC14rbj; zy$lcgjq*mmi?wsDN)d z%l)o=4d6tvy&BJ8awGHO8>(5oRWG4lBR`qX1uY+-TrhvK9YMN`>n`z<37=H@C%!h_ z-{%vib3cLn4$2Wc(9}EGh0cY6lR$ZiR|h;}?1%X5b8 zbgr+0**~$q?5ds|C*>!J53svBBhE*>x7gK(S^zwgb1&urWu?#j=s{TRv__^{@u z{&|V(S)9j@v7L*`v2>NlpEH8oL7?l z{YJ7Miu519{ zJ+}H^9LIHK+~`;KQ~o6A)Y!(q*?jgx{-TJ(ZrRw@y(>SY-ieP(_#438WIM8ZdzfAN zJXyqD(B6QHoI81Ay-xdzPfbl9eV$YF{^!&Kj2HKRahuBgJso$k>HAj=_+Iwkt!$_A zoRDWhJrhnR;_GM+;FqO8$fCPx$ME+yj~!dp_O~9_54_yeqxg!aSWj^El`E+i2WRHj zmha&6(Tr7`2g0jM&33;dF3sfO^B;s$44lV-?sweNu^su~quE~JglJz39%b4q@Sf>6 zwLVjLRIw|11ABF4c+k#h+B-{{xRFtMe)FN^#u-JT1O2-oEgE7g+x{ z{7C)N`T_BjTu0#Eo9jyDJLY3=H~sOro9Vg#QXdhg$??!WQT{jjbrjcS!Tz&ZPjpp% zekSdAa{dXQIzk6(d#Y!v0*z6Hkz_tGY>b|1g) z{vVY8lI;Tz`R(pI`1h!%*{7Rm$7#j7^bg_6N!IVPmQ&8);~DCn*M3a6-Pm87ziIaz z*bEJe&2SKlcC5ztKPA-reNl*LAwDD)t9G-!Z@B`MsjGPYibb6OVf8^IXwS z){~S!e+YjU-*4*yW88Pe3uiYyZtd`TC_Yr+#d98r2aczG=co0cod8ds?E_u{1Q&zQVUJ%;Zi-h=w8JoVxp&Ev6Ye+=9j^Lsv@p}?K3+RWy? zem8#1@qOqb>UkFYO+AY$G@?F6mD==kzk{Fc5q|pkV({H^od`cQ)BPWDH>RJfno({V zFX4QFCxdc$tvP>W$)S8-_>qXiq@5RW=Vz8-KNNqbJXPF}&!JpA-VN>pJF_1?E;iis zAkR629Y3*r;5jVi?;ckno41AaIMKR4^#6elNWJ4UV_s53+OLrJfaWkse11@#d5-;;DMO_pu(KpGhWNO}h`C zIgk1b+-lkt?vL2M;DI`9pW^7WPKd5-L4TurxG>pFyTG~fL#}-AahM-yu!;T)`3KZ< z#CfrO;%7yiJLf;eTZ!iu`Inq`6%P^$H@{^C>J{SGsVBgXro4gMK>w59Gl%61r%-WZ z*$uCoeRw|F@QMG}9?aYHkDB*z4r>0f!+gp?ynD!dF?)IG0+x@s4znZ0Gw7*2lpBZ_;SPnaGt@uMSI5lZT`mN^yCXxu)fUmUZ*WC<+#Xx(jVq? z{DA*RKPSFu-RFh}-OBM2uRZv^SU&i-s25uA>Hb#vX~LC}e?wm3WH-Lb^Hn^%_@;xN zy*cjDOP_OHsq+!x^%uAkp0`Btr^3$xZbdKZ&n?Gt{)$g{-|X1yE8?!W9??B2aG(>m zr%ubR?i2Cn)LY<6upMc=TGWrM>muqI?j<(3=X7p}`wiMpvTh~y6!y{(hW)p_kTPzn)XxZ1~x#1+E>6Peb06+3jO1D6inV?i?54%|Rb1KgIbA-$=Lz zQOQ!2N3q}PQi6U5d7!3$?b@-wh_f2t>IFW6`PWsKP;QC?M7+Aq;(1~@dxI2u5Zb53mllI z##5fix1}8_?o9jvY1syRKdt{S<$-(yuCt=b=b1ge^{)A8&vz5={@3hra=*SDwD&-JiKcgD8<_vD zc#W0oaRT$+gH69Y4@7~-=Jz?sv*dg)d|&ae=Kfp-xLj;caX)**G}Z&2K>8c-C)xYr zQM>7O&TElyUFv*m>)yyGpdKJj*E(+*tB@d+Qbb!C%l-sbOH?VLk-7`jJG zPQ8coYOwVL$`$d-^ov=Oe)I=8Uu1ifR|g#KO|CrPO25N;{5d=DGuVIN0I=VPr?Po` zAdffM_k zD^Ke{-Crp_EZ%f1#|d$->?e4r&3-o5WxdFoVLfq~nv^s6ENM@Q%ZmQ2Ot~Pw-R#)M zr6VpOarLI3T}c0;`}6eB#nvCs!|qsac~d@S924*i1o=Ys1`v+-Q;u-TuFqX*7-NB4ew(0_a% zcxP-k@V2@C7oN1_hWJs_1CL{_{gu{3p~pu{POeNn!hAvdF7kXk+($VImlWq&V>lk3 z*9`JBe>E&;J;A7HwqEr3_P_z=yafI^$~)|HHpdzKqm*yvao&^%6g*Xm{VLA+EA^z^ zfscp&Sot8xVAnp4Bk(XO2c7Ta-Pcmy`Q{0% z2fUMJM;=F5dQ#x4opYe+qsK?ad56uT4UVAvgIiX7NWHlGb3O+tO$dPnW!Yime0NPv`T< zLp8hbJX=~HDQ^q$N@j11%CJ1)xB{1p`jI@^fb!Elsp1h3e?fi7FJD5v6W(h4*O?qg zo$D989E(0SIs5n-$b)h#$@}Bg)HmQpn_szkjrG6uBK|+~_jBO6;QX2OI+5~BF1&&Lj9+eG z>tWC1iToqey8&%DALE{YpUOMJC+)4s%hdca-~+xVzP9Y|FU?Zbe@B(5_wF``|aAJ{P<#;~Py>i~-VQf#!^X9tGNcY7)-#Go`UH(6x`zPNQKMC|| znR{M&gUZiToC|mXsJF?1Rr!8!-wMhrzWpMWgLBDl?)~8Td+Bd-wQE;7_CxuiivL1< z3CBCT`NS1$ug9my{Rf{9hFwDWVPD35Zo2sg_8a*~OWpH`m!p0`{;WT(u)yrh<8&e3 zzOQ=@^0IO~UQu?+{ai2T9uoe3IqN@a8pjXB1KauC^KmC_$1db|-(Kx&V1Jx1(&n?M zugYUWyb9Y1-q>}l|H=F4H{eg$4&Z^0aQ{!P?#6b5mtX?FcNxX^ly?(fS(Wll2fa%@ zOzKzSIY!ta`@%gB{MS|P6L`Lqqt@Fv5481<=Vufilg>M^e`0%;Zz`NsoGZ|;i2p-* zd}-@vZ2oL|>m#h!^GSfWfcjA2Rr|aN;c+WpGP$Gy=MTg`v!7WFyH6LdNwED<`ZdMv zFE1yKJ~oIkR#`3;oIh$r_(P5ukYb|h_7V7b*_u` zDg9^q2Ji7kPmHU^FhUUG{>{k(Kfz5FFStXHI6IJp;!*?A*_E_Y^EN@$6m(z zfycr2=I1r!ci@)L9|ku}dzj^Z`XuK`<3q2!TApHyBk^0j&G@7;aPPk@8aJ1 zxXw0yldqvZ0_V#7ef>(5zi>7bPltRhJ@+o#duCm>M|i-lYnuhgU5bbg|^2=H~#{t%}*mGAF8j_pmJ7*2cF`8L-3gWT`%U#6#?-yHi# z+DF>71Lq^~5A|icU%LN2_o?^+;qQjO|7w2P$G1ox>2bq1uzt@EfqXjpb?`V*U-JK* zLqDWEQ}Djh?hu#4^3wke>E+&!2Y+hvnmEhW&7O}px#>rabHU3q;#$fr`?Dkc72@+* zP98qS_rvoawRyp>7o*Xi4|nAYhaTrN)Zb*|ZF~;-cJ}t#5Yk*&x{v?{7P#@zL9$`O)2O=CUj0f#Rcpuq|BiWy%>J-{vbmtYcSJ^FiSxk@K zX-2&Sj@&Y~|Id!pTj8u`C7aV8q%T^}7W{Ot$K&05Vcio<{x58#o+y49`vud#XZ~V+ zNK3MQ3$N~|Z>dk(Ka1x!9&{1qr+D}D``Xk`#O>MpK0hpc>U-KR_&Llk-@Ac+0XW?J zjF0|@dcx&J5s ze71u9Z+ZglI=cHGlY@^R1s~Hl?su#|*dOI-q`~==2lxujE!^aycI`&42ZS>!{_N26li@y-<64Ygjf2fU2!~Uj2u*3k? z*Zc$89nPV9uszRK=lDmH64NukK0utZt#8i1!|Z6yQS4{Zy(Rr!v~4l%81m--qkdoT zQ~ntD)GRNrbSLE(#Fx-M<647kzVbXk@&mxFHb3R_H*uat|COHi0_CjppKM^b&9yt8 zc`oIoxI5_s@(idq!tu{MA31n8CI=;ud7N+YvP3^z$KT`69(vuiNB0jn*B`X$@+hEN7_TMW23d_ ziHau2R}Qo9hfHLoL!Zs=U(B^OtBJ3qQnpNIYlZwU4qM;k+Qf z(#CPvD*N@zi3`mUXb`= z#oq{AbM_~=a6kQ(@-Y$DM7zVeXMa~ubbQ8fkNmzf+p(5@Li&A^oANH=F8sN7{^rS)AMSw$yY~=xM*oC!8!u18m4!bsd%XH>n-6^c zUhvi%d_OsFvH9a;-{bp;BWJtAoraf}&b^-Fi+fU&ulDitFXwn6F4FAif=g^&Q2BwL z?3d>+&pn=n&i8^^`{*y?8~(@gkblT|199n_-Fw1$EaG6Ee#7+N<2NFY_B}p#U{#KD z=@eBde~<@$?RX?aizdOJWT!ayG`+pO3H1Tzlx&ycr4g4&{SBUd zlH(x!Wb9w~UV#_m`M|Ni<8!g*&kcwD;N%B>IO>UTzja;>JY3UHAO8_8c$5AS_|0rj zwxu)mTlZwez1=@I@j30Ugdc&pa+}Zn`d_@Q;?D`fne;pPm^n5dcKMp)5q;Ib=0Csh z6h3Nv%syjbxvj4b$0kVej*QnHT!uEnsl6H`0Q#nuJ-f*F-r&#y3J#i-M-PUjzKNl`xyKvvbehZ&5++LmI8T|GN z+n4UUo$?9KeS_bjPi&voFUdpy+Vi(fr@bOhGH1OWhfH}A!iUBD!|_8L*(&#(crBuP z>%Hy1NAKNW{g3z4p8)rXehKF@>|flsD*K219p$BaSHwkfyuxYUb9{=p%Qe^X|Hvb; zaeTNs`;Bv5TQ^MDZ1ZAhJjYnCn7(>`)9jD6d=7c+oL_|}o{jB6eFWaYY}an&O|5XB z(l_D9CFgWo&fovr$#ppRT&;gTt}s6CKU)_y`Gft-=HJe8V~-aPeqXjn@%`YFWB>C< zj-fwL{37C3DJS9Q!~=e&9qC*E=Q|wtY1L7jgo{!&0dF9I+&tm)AwHxX_!#|$j zdNbH{HrF%ApP)YxFO~9Az>`bAn_NAf_Eg}TH6Fs}f&a>O35OEvDYLsvZ#VtA^DWa? zzu(pV82B8c*bcuwMZ7TA_2P*SSAWfR2}d1x3AB6oVai*)?#RcZ-UC()}{v0~4KEv$mvR$;3@bmVjXO$nI9%rkXZDo0WKdHP# zIjS=4NpV&<&+qMi7w>H7&#ludce383L@&xI|DiACCL9o)&$0Zh z>oz{8xI*y}DVgz*>05_cWrg%2-tYp7jV(YsX zqS2I7`SbZb{-Y(^Q^bAyJZ9lDV;-j;5pNc7`}khEuLt!atyPwGCjL}C2YhPUeON2w zc%+l>rhJuWtn&-S@4>Hgd@;{aKXISbtu68}$f$KD4Lc_pZf%_8v7@nZQ(U2 z|0ZgFy3Jp=#`JTz7vQ+dZz=CmJd=nIHUF@pA;%SQbDWnIAEA5uVDo0S2Y8DtSNNdO zfYRo_K75hoC~p<>I_INg)89MUuU6-BynuIa@~ihE<%fJz_B(p;blR8VeGpf}_5^R7 zKsk!9vA|FBd}P?q*!@jTT zqi0gDg?kNL&HnEHVfhstFYGtwyYK0aLrfn^T|~QuKV$#W`%hszqBl$PyY4xZzlnTj z)6-$M@Duz2=3hPUQqZp5cGmanD#|r2^)Ka+`+Xqx|72d-(j9DwJP*%o=O| zwC@MIa&Rv|y+nQ^pGTa$t@}MMWL~+U>C5#kZT<0Hd5(|b-4JJH{`KA-^p8axsE=XWzDNp3XvVO!{QBH~r6kZhK;3#L|m)rcFr^S>P_$b!6@9~_m#KS3FHVEH``d_z&PSpj@?2&r0nW>)yk9l=B(ZDQuVcnspwS zt)FA-0v|Udo(;NYFXwl} zD|6m2`07tyInuRD_N4t+)~z+$n_cpY$=&-I#GSI9RQT2lC!2oUx`+N5dFa&FWN}@} zUHpvc{%dR;bk6VZ5!22`(Eo%#mNxzM>)8DIZ|88_{JoO$z_lMr#+=FbghQ%(UhxS> zp05|@5VrpNp)bcVY5X$VulXVKI1Y$|>gVcHzADa{t^dz7w0_+4C*=n`aM}y_89MR# zb+6BMpTX#x`Fnos81u8=oY0=W_>I_J#ltGjAbssK+BNWw`5bVe#<+Ipcb`LfV153v z`yS<6DW|knE%R#+yvF$gd5?Tw`E%kUNPIqs`0}!)&(h9-gTT*l$$uQz{Fav}FW?8T z+;qW-Z&PlE{LJ5h_iys_JeG=cLHr=wTi~01^Dy6wj(?GMDZH5cpxS&c?wr`X>HTBy z&>Qqq(e8_8y858^cd(!S9su|)*4}^Xnw&@U;d)H>70G{7%|E?2fa8L7mFa`W1w-Bp z?YcPMdiyWhU2yW+@vN`rdK>5a{-%FT$G$_kgXi7m^#h(`xkY?sGMn-duBZGY@(S2K zoyTCGXmZ`ZhxQ3P*LPffMcl}Qy6m^^(UFhOc>(vy%iVK`E8_3@lI^rZqDHtNo1P?3I^^{5R|G>p#%Wg0Jgsp?qpp zwDLUvZ8*3B+mnqxhyE?8^t0A6l#}vHv_6&H0B4Nr8^t>$!XxlFGnfb252pg|59>U8 zzTa}wf1hWYzu1w_g%#TIQ+W)CA2NIK@zUuz&CS0Ezogvbv=i`saGa2zPkAa2DI2oM z#;JZM_6PV&)HC4+C?7Oib|?Lacw99PfhUIT#6EnalUvxl4dsaa2A>y>P5j?ZvoD_) z5#Bbz`u$l6j(_;e71P}N+4yT{Z~4F7`8`;4_S-DipJQOZXY03m^Iv!WN1QS3O8h@X z{8pWaazP#p?FjMzluOp(BYsaVm}33*yc1eSE6yxA<71A0e9rqOk4Z=5u0E{aX+O#r z!hMP9O_ihBU*Sn1--q?bgBQ~tl4TRkemzdR;x938@b^N09xP3}*18hs#hlNB_b)Iz zUHI8*wqsw9{`~wquzAMECt-iw%l#jG_tYb;{}nHj`u(x)#f8(5HP}6z?+tvL^2PlX z#}j#YY&Uoj=|7?spHhF&UR&p0IMn8?SzBor$lK<4#tkNMyb=FJ|BQHEzK`=x+H0|2 zuU6jr@AI-{x8e_zA4ng5i{mAn4c!w2-4AE~aZY0T?fIgM`_wl-uzIIH+nMt6=MR{F zH@olI&quTUz+0ieh(9mS?>d(i&m7{-IsX)Vr=G_SJOvyVob%qt^3Qw0=F>G>=eh4# zkD0wa`xgI?`FWiCKjKpd@bm2o)Jx>`QC^AP_XCHEc8h#b`o-vf$Mtm2BW{j*raTn< zi+@;;Qr{5A!1@%YAMHGUmU}O1Hi+fnJbo#^zxY4OCA)1Z*Bih~r+lTq$RDKs7kGUy zon!L#am?U(Fux++@=uzW9q#^@V`%>x!#)tM=+{gd(67@nj|KK|u?An!%Jc;@c zm21WM34B%j9yYAP`i1|9I4Jsuv_#DICqGU!zi`*L)cXRL^P64lM^wL)>1B_~)LZ2J z)88rYCL4JOO&lA9_w|RC^BeQ#d zPmVkXvn$_T@J~=LGw~($=tzA^?s|lNQ1gxA#pAt0hPZl_?}T_0elPGLJnj_Y+~}8t zqa|K6#dGPLr-;k&IIgi`A42FC;RJZ$_KdklxKeGFZ5Huy`Y{07m4e>eBd{x zC!RMCaYb))T)lnjTpxInZ@T}7W$v}lQ~%_=9lpN#4flWGS@Sb|s}uDpytx|35Ag@o zqh#Gzwob@y<^O|0t7%{2ZxsKZa6^(uhER`kj~k+RInAHI+2rq-SGi7C9!uc)Wp%$R z{73j#$_IJ!-CTQxXNC1_JN9c!3zMHeKMS`0$94+$O?Xgw_itG*ctj~DuP^*k9{olANzUA1H2A=FYfsx%h9|7J9@{xFP^Zx+BRFaoKcSD7x?r( z??*V?if2HcBK1gd_~;+&!+wtQ1?1V6?dvd~{!6&J$xoM>oxOj($@Qgk=y!_sVvADL z8^wR8od#0x74L#`CiX|?-J!>m6mL{~-}yG)p5G;|u_kuy0MD<GSKs`^okI=ZSiS_zt#1_xLy;qMY(7 zyV)P{JZQd8>qLA%^80l74L+~9B;Y*{WB)v^r1*8jvm5((qXKv3b>q)b{EYGdbx#o2 znZfeK|Dt%pf}g8v`Ejnkyw10jll&p}Z}d;;nKAvV_5;edRGdIs^&!due&6Ore~yHB zJ)5WeJd68%lSi%XrjH+8X>w?M9N&k2ab858Am;((b@MaveBs48Y3cH`Q}|VuleC^| z<5PAE?GJv|#^3Xo=jWaEjO!n8xM?>y@1T5vZ?e$+KmPFp>J{Y2@sGZZP5-XC)BN#8 zb4R=9kf&_xs&UmQFY!7E2O79)wD<7vC)uxH$q6hcoxYpxQCy|)#KFTx{R_vWTptv1 zs~%@6s#KqPt$cR)d(I=chaANIl)0Agh5jBL@o_`k|FbHFvkY7nzMp$sf}r|oY=0hh zwRMi?q13q<;vy%TCrT;FWB4ngJyz=@=Mlj~cu zzd?yJHnP9|TwZu`f$nqsIy1WS4(eTgb6|Q?bE?fJ2lQh(h);gcl>^)x^S@(T-Oc`Y zI*ay`OuLkRSoz6OnQQ4ckoUp&lk3hk{kXKA`D-8l6O~@Zbu0MFsh{HG1b(yG^VK2e z&vf9WGhKb+lNWxpc)bt@Ka}m+cQECHJRuvmk|EnCJ`v>i&vnmbzcgdH$`2R5S#tBk z^b6tsKg=)qd_Al~r@Hr&=jYmcS02Rmu<-bj9TEErKgQpKo==;-&s)gy@;kel-p{($ z`sMk3H1A^`o6qvc-9~v7d1oG9N&GRI_p&2T`hUt5|1k8~#^d`N%`ePcw%C=MjyaP4 zMY!3**H_$F;`8;A+INk0&tv;T`DuR#yJCNY8;boI^+UV};0wIjy{Gd5;L~%Q!KcRZ zkY~X57V&AGrx)?=953W^aK4PX4rM!WenWqs)~><+WUaQ@JW|AOtsCR&!+8up~1>)z;tKd3kP z8P}NIcwDXMyz{tjP@GZh#_58-%3t4dn=)0Lw* z0i17g+_ST8H2F3;qd)uOaYDkwjyC&6j zYs7(@oc7hDoREL?4(s>4G_Xg?%N6bZz~9FDa4yo1^&R+w*=N};!`*k>qq7{He}Ug- zfct-V!pSzD^m&eUjD6uFeBTv{zpzOojx+jecKqYSb?*1X^J8ni)Akqr%(_8Cu zK1jrabj&WwCqA|X^&`4<_9oWz#0lH@S#vt&sPizzxr9>(nP2(oefkaP(P;O4*7$yo zPu}YJ$NBw`Szq$g^Oy)1BYk>@`7z<^ z+d01Szrk6zvb@-zM+p}PafS(>KkO{ZFR7B)b3RWn^m!D@$HKiJ<*vL?!~?M2^qID1 zmp&gLx~&D**U@7S@_EJai{Cc+V&xE5ulO4fAJ6B*s#T~L;-3pXs?T!M6Pok?$^9|= zn-1E+@eofYaK$+u;Q{STKMyI*bw^U?5&AXV2Z?_wXtS2T14o1HhyUmJC~pvUYj){z zC$feXACeth*5tG90KOMqa~}09?be6;jRH5~`i<;Qy2;}BlJ7g%x?+Dh^Rph0KJxst zh(EFZd;W6dh1otrd-vj&u>`y#@gN^GIbvaKL z`C}~?(+|{K4_nd4cYmfn)y```4;G z{St6JD0j^3T(2me8aSr*+{Ir}p829OY;RchPu7R{OnYzQEVdutn1uzR$fTXndPdZ_)o@pnX%LiFih{AFnh&Rq{@g&mBio?#ZfkEHB>w zoXL6L29r;}il(>z+zC8=99Qr!+dSj*zoU!0@cAtH!R*`Pf@POJZhq#^E-W9ojMN{* zYtjBNKXYA`O`T6Y%+9%#{RJM)eAoYY>|tyV;z0Ob_~Yr;zk>&vzIZ%)@o#2VP2_$W z`7m6!6!Emzy~6flKSsU5`M9-5c~r-jolU*H@yNdJQ~BJ8-(!EH@{{fP?Irn%djOUX zo>v>Mr!F1i-UE+~$!o_r>S^Hb8Ku973v1(^lmEj0k?SSQYaB<(L45DZhXJp{aJJ9$ zujm{E{=(|>c3Iq~p3|KA3O?qaMd@%G$>VeF{6LOZ*y@#;uD+<+D`sCe_2xRHu;UV&IUd08 zVEYQ(h!T4!pZNK$d@tJeX?ItS@VbP%fPBRv?*G8$q`%F5UIq3I)Mw@03ZDr43anrF zsJVEj-x_A~+>+sTPUG`pvCpDBA|F2h+Bv(#U&_y z7Uyerj^X(}lph(M|0MMx{c4NN6H_ju-wFC}H#_xtY3UVp>7SD(3+Q*im%{Y}@KI?; z!n+9jzexE(e@#CRsc-(_i`O}?=pGMo`)fE(et(8_C+8F8x#jgfV*SGFNPWCq`rIvM zm!Cdq^WDh9%^u!rV)pU-X`HWc-rI}gJjxXD|@8*^F{;MFWeiNUutj{^*?#NF6E|kC**V4 zeE;tR>Us3;__x@8&$oheFOI+X7or&jCOv0s0s{=QLs zmAS|N$R}QD&%bbz=~v_X&9A@Q-`e5v#PVKWa-NMleai9Fy?WI1RO|O8N77D%Q#w*V zqgU6MT_3)Q?MQcB!{323#d;7|&)>r*Uu6ARiBmYgM+Y>b{(zr_`UN}(v*#|WOs=K( zn*TWK1j-kFh;jm+nYHih4WUihI_- z7E+IMAAg|y?jr9u>(2h`93Tlxn%w%fV80NT%5helK&<_v&!Y}6sAB#1ajU}X%#JV1 z`828UhuPCXojK0J?~H|?;dv{Ib^pvolnd_7Y474`5Dz6`j2u^-cj(vPqr>7`w8tF_rLrd_grIX=N_kDxNPDN*ZiY( zk?w87BM+b8-ov~xzqr{;$4|%+L<^3oxJ9#0pewKRG=EIgR@cC@a7Roy= zo0>nr?{AJ{^x=KfAKexrvBu04&i&kZ9<$3?OOK{ z`E}28eXD#e@t!JvSG)<~u0LpxIEUsZ<`2^cA9sXvEw-z`NAGz%{k!~c!Ar2Dw)v64 zZP_m5*V7)77Tws6p!W*OBk*yP>AYX4|Hy0Oc!pap`h#B8IBy}2#r)O1^=Kz)nXN2ed{x=-MJ6AQ=PMpe@wMe|UTOM# zaZ`KGnQ2^OU!1@S0H`!fQ%)oMiUd>Rh&0 z`wYZQaXd8s1)s^&oy^{zIDz#E7b5m}N!cw+Sg+10i}Qunt=X>vw|!r$8I<#o-zX2| zA&YMbJX*8e?{SN_P2b8LHkaT3ewgbu#GO&^5}&t)_OU$0ui~7L-?0v7|6(8ig#85P z7x3qpU;L{#^(Q&$SF^tgXH!1$gFmyMidW8kJQw_y`Q76>n4bH2S9wI>3#9)*90uoq z%$tW#T-E5CvDrj@hn4Az_Oe96Yo^CyP)@1dQff1k*9rt5#9A4I$c<$ye8(+j^o z)Oi}tX_iy2Pj2V$*~~@OFTWoF?)Vb-JMc10K7QR8zSq8^`#*1sONIp|l%{MmO^ zhq>RwgST_t9M;QBk5q2>7X2;Om*ZK^MV^2CyMy>0>lypMkE_ln%^c41ykA3{J?&0- zM9Gm)aGZs|gZ(7OEiDn-zTfA~AU(rY-#_ z;x5@A&3gsz#4YEue_E%5r+pCH+k3M4nHl@-{ZqGaoYNogG(YC;5#!DIPB`JhlTVvG z$M*_cnP0x+xE6UF$2?4XD9-n9x}E(l@U_~k<$6K;f%vdVTrVo$C;Rf4UapSoD<~R(q9&M(yP8(p_0V)MeVRs5cIywv=WU*BYJpGEx=PeE|{m(;)Xk3(oLz>}h0i`O`r z)|`5Xb2{3q^aAk}v;*K*&>tv&H=Hn=QT~giutRPyV$%TJPMEN6fB%< za`AYzunUeG>f`=2T(E|6RvfzU0P+!6^=H3IRiYok{TlTk-?*YL`%&Xf$|b9|cbWSR zJSfg<4f-C|8_oQSSoJ%PhYkJl9w}wU1XdJN)rZ+HHPKL-rT*+7?%CKIj4ScPoC&+;{Nq znw}(O*e~$VQ@%J~H93r{Mtu{WO8i@Sj-T)zqMyc_-`umC`ltA8@UYMx;cw|*5U;>- zzPz7HxWq4#c6)~HP~JCq$|xtDKjvRoTk86wyd~U6 zjp6q#o%w&@G;#c*!GD>4d%TR`i8@Q%bKr%dekpDvJ@H?*196$0r*JNB@@UzZb}Jn3 zsKGqSJ9%Tcjr&vIvt429Ybht;D5m8$@VjvG5HCghP#kJ9qz3f^=l7Ho^5N(w3!H3^ z2PZyd@UA`T+KqED>W6skA)oo|ce;r0XQ=?T?4wK>f+`)69RBD8uh~gzX5=YfQZiK5E19 z20rBi_T!HyXh#K~d(%3USN_%mEEjk~95>-5B%Z$n=l9kwpEnzxQ)&atn?A|>*UY^v zCp@l>>HUixIo>+&4R7k*&pj_*v9w-U&acYLLL9Zt>qD!XUal^|@y2|{|06z~c9iw( z!S!4b*YMb9oEO7J_u6`J*c5yJq19tueZrGSZm3NAh<-)Qx;z1aNN%<`sBK0jG`^ca8k zGaLCW?%js{6 zeTwqx?myJVe?l)?kNG%T+~=%x?}dNN;5-oCv(V(}@4JNer}!`6C2~GSyb0HLVeJn& ze%Tup`9AQnN4xSepLc*bN&X+}^P&9z;p-;2&tyVf`ls-<2hHEq%Gf{nMb;1e%`Waa z#8dKnzObF?L#KhXOYpeTFQxu`3jDg%tK6?^!B1f0ci?o&MfvpEGiP!9le=H0JajG# zen9%Mcux)XFM8~zF|K~$=^#Fw^~x{koE3cIY`^fwV}A|;o;mBsMKx((N%bc<{{$<} z+u+JAcy;~#BF-r(NAa7b@r-Ct-gU!$X_A)zcHlO;1dn?YPY0t+ghh*X3 z9M^b#1G7uNzEPZ`?&E;BLj4aX)?dN;Jx{rCBC^HnDWCL%YiJKRe=s@t{A$Eqk8|%u zWf#(4%THq;PydH~BioC64zrK`wM;(mlr(?k<4ABWNBIOhM{sp95Ys>KE*Ua*19!mGvu+sNjqH?FQDH%=wDtXgvYkIGazuYr*kA z+@a~`8y(C}JTE11?pZ$Wqs(5)enP*5d@9NL8&~)b# z)|d8J$$q52EwbnC*~0SEljgGhiX#+HIQTAD4tQ+&9{iE%gYbUd|C4?VJf_r($m5V9 zZ<+l?KJz_p9P{yI25~%-r?~D0jvnhn{*9IE^C1wY#`y>9ZuU2r_leCzTk23RlaD4+ zkClfL)!AtCj>laPPGPwBbH1lIG_02>ugKp=Cl9=4dQtr}^B)xtrF`-gN1Hx=(s-@V#5nR{5TaE!$_9$$Hxtq-dl-QSfDJZ&4-&-SzZ;2GrlL-;a?AEn;r zmz_wv*SZMnSNemj{Z!g@`g?2E2iyVr^`OFF%B6@~_xT6l7c#r6`vvs^@tzmXnU}$MMQuH5{*k zPuk~Wfk&A76o0V5#{0z4EC=g(`irc2PwEBo>CN9ge1+Me=iAD^t7G+g+-byBP!70% zw9mOiD4+QAb7?opEAN9@_VM3A9Jk_rv&O|{2fywg&*wWHNcrpjEjj)^_5*p4BdHgi&NDfC zyT`pM+l~7e^M|vi(XXof!1G8J_mWq3XFbV=cW9U5qg6a@*|jG*?^Dj>$`=G5!dmzL=-{_|NHz2tfxD= z_kb&8{p)ul<)wBj?+WKDEDwI4{f#O#;<*U&fbF~2gXD+bZ9egM3E@F?IPN&#qkSZe zm$Dw*4^Up>RTa;X<}JioS^LWz#plBx?xVf{XNK}q-ir2}$&~k4FL3Z|+@f;)3}4-4 z_I<`+&ZF7#VJ4rtwfU)dzBGP_&n1VHrkq26Kb6+p+0V%*`2IiYA=Yo^mp{FW<>NfW z`t|v?Rqi?P`qD0hYYJRg+MnXEfJe*s!0SP|fme#pgSUz01j2jy^8y=hkJk{S%P0rL z?Nk5NZ{XBZ-*JD)a^q`0HG9`R*2Mbe-#;70aR+{=*;jI?+113-<`)jWj^hOU2Fe-d zrnD#VWZ+(v^$2Gz_Bd0~uvL67z41)?!>C<3z8_Xww$#Z({0zzG+vwM#{8zRQ@r!&f z@^OUVf1?}}hpK%U=4twUtozzhzJ8yie0lLAqMc^nCmm(}_s(^+AK{81|B34Z;5$$r zI_FSc3gW44{=dHriW5FBS3E zwK^EG#}y}%RUdH``>)Pr#6O(Wdzhzn&qGLNH_`1`f6>?futQ>Ie? zvvmHPA^!igQA2{ih58@@*F2u!|Ts@8x&ao+{ zX!%99{`Y)B!2618Fzf z2MEtU+VKeW6?jzEE|2Gx|8_6iqkg1oT2n50^+WhvQtmMO^t@`qhfCgBXY-^#U(5%e zWq!%uQ%MhXz8on&tnxtmN$_pHOZj$vg>u%pbCKtM{&!~oQ?KLrq~k8;_uTtA?fb>k zS@6NlI-KpwI)?18&h>EbL;VEa9s8G^ypqr5KfS@vNcY1RE_$4LN58ko=}Sa4;x>=a(wC^M`&v z0DMzEC;s82*>wxt`@zefn1As3&*EiDN?k-dj~`fW^SY1g6kkHtc{k;l`*nHv$Z;k& ze_oV(9-jQG-Yh>@R-f%D@~|#_dM4{%bqD2E;BEPNASzjEsr$X~r(T{Iry=hD;1Obf zCYtETbl8)Bh-L7x&2=H`!74(m6Iycs%rccVqggwDJq|XX5_?57QV| z5AYvMp67l;eb+ry5wBNmDD@$J?EDSxdCbckU)|rw*FQl$P<)+mK5?)1DEl#e6Wa%z zY}ys#Nobewm;8?N?4f+lwyyMfp}3c0dDzF9 ze?GY>=c}yG-E1Fldf0y82vENHNv-)@FzZ^*BjWQx+^v20_#W8T&`$(jZ-jFZ)ofvY z)Sqi0FUjT=&o`rZ0mMOBd;U4r{EqPLd>pyoksAcHuV4MR?GNA7i_cZd)mL#k0rVel`2O;1)g~ zwP|Yh{)Vl;lZPr%ZkMiHeXBz%< z6ZJ{?f5Ju1KU>EB;T(p3PUp$EZ?}G~eT4tVxf<(5{QD?ZkL()rsr}#M`Xerq`z*w9 z((h@#3j6^6zlh&z|DM&m{V}tv%@b_B`Q}8*T{yMEt5Q4=&TFV2z;87DYV$v?i;yqH z`2;-Q16=!n>&WuO`xcG*AHR!-t-veqblwO)f8R^?`_FADfAEZ&f4KB%{$D&8idPK> zji#Kn9)q3G-{fPSw)KMNsfNE8?#f5|+0Vq|8vzf+^sZuEd)~*50YBLKfAgEPN2IBk ze5YS+@~rzB^+)$IQTG{qU;Ien$c>v_eNp8KlutV57t`~7k8{75UUDY&JKR-{egtvW z^w+_Audv=^@BQQ0-tBkvV>y4_vyz{FeSr9P`Z3uj{JQxce?Ab`{lfI4|3~z1!NqIY zZ{Y8;oshrjuje_`xClQwI6Yu_${WgGSj+GDo$oG+(0oSwf!7sA? z;?+y`UeA6hKfK5vT5o*T1>bg)Mq^w#!rKB~3FQNRAHJ`7J7_(?+CT4U_Di@N$kW~E z-WMOE&ee3EEZjNZZt^|hZD1Wje;WL+BlQ7s+x%U2nzu2(B7dp-ztqPYC~qj-eg)eJ zyx(E29ZBo0^b2W;*!u5z=a4^c_Ic03wv^i|Jy>7z@|mV59yc5~p@ZD-$g`&XYkwbg ztI2Upm%nQBh35xA-f&mPOoCy@9S>Sg%qJI8UJ*!1v4k zDPOX{J83bV@<<=(VB_M??UbLQ{VRC4=+~7u4IC-1pR)7p-bCwf<-3BX!=8U&AKR7b z-0{Ho%ztbhPQ69ElF510H2QP+A@*12NJ;Y#D5s>$D0{w9P3jxsMCd1R561o{?>1+B zz+<&_?93Z%JUs3b@}BuUKDnvMV`xdf4}1#K3xA%2a_skfuIyv;6WUoQKkHPGmjGCkAdR>j5vEtt&>qOg#oZKg&zsd5ryvCog!wja%k^FMGtJi(PGJxx4M zi0;SHAL=RiefeB`|5F@)#jh&v6u3>M2UlOpafx<3L4SyRTAOz!tYqT)7@uSsV|>b99aJ1%{Fg0tU`I}-dVV0!W%=LrRkH$Cl0z?LOB+B{GM+F`ZdDU zlTAC&^uBiT|LAk})tvrpkH7B#P9e(yt{de5UOf66<*OFBxSqF9JiEHL5AXTJ^vcKY zgqQZV^`hsC5A&ngFXahqeIuOWB2MS~ij;5oNP-h<-!LMo|MiL#48r9o?`a! z?;A`b(0nUTI4Y-)puZ~cq*h){ z{RLjVJvZQV>bdgKu)ZG7@fiA;&F|jt12=>IFMe(c%M-3l(rBycM>LrBfO`enL;g-P zD|gCH)}wgMZ0kPy7x2ZOEbtlm)-LV-_HjhZRLBMZ}I#V z_pF|0NVt#bC-1U-amCqeuXtg_qXzsb$^*R0=6^jtyl}BKe+R#Q&G8Yw2l%+@4}(>A zET()~9Qd^R1fN)E_lZ0b``zc2=Z%k{d~{zKmzZsS{=>2x*guco9yvn~g zyn=o`@jM{7SL3`XJekbL--ioFa2&8s?aTIioDcYE)~oYLEdwDRdBmx!u^r}T`rjDy@1ECAyx8gRZRS5NSvb%2NBM=ANBN#`>Ei`s z&Hfu*MSrVxvGRDbQ;)Ry+s|L(Yf~Hm;-k55&CCA6@zFjf8F$+<%5hd}>*xF)HclP~ zRqHI39lpJbKh8<&Of-mg@)L zc5=LdCuQ@(+zVJ9)`=FuOB-(2S}S-OaR z82HpIKmU6&^|QbsZ@HLySMV2(>Owh6UvUo5&B;;t^|)_M+;_#-B-fU-@$qrR$@m4- zN8BfyK41S6<&aj4N3)#cmUA46^X=2@d?3E%CO(&3{|KMcdQ^OZ`HAncf8pgTsQ2Ja zu=V`5#Vjx1)XwznhNk9M=Dcp}g~{dE4&=%56L~Z}sTY53G5hg+pujgU`FI?2#RY2~ z%%4Av@{S*`%65Q1BXi|MOYbwkaKZ8X9Xtu<=RLly;v0p-g8LJ;7kR7nyV13GnE!e9 z4%z|uk!c6QbId#sllG~=v*&x+4J+x_aZlHVa;x7`_qgI`7w%_r)c@En ztNU=em&8ga>Kc+)$ijug|7wf;}Tb=<#$M~LMWyxAV- zGChAC+mZVDNcT-u}zl^KeO%M{fDO1>b^?cfjee z`HjCCSigraqyI)82geEb3$z2oNpW1TZ=wH6NA%%55I;AHc7=5unLN+xKzRX=k@7BhCdQq}^@`3_lkIP@J&6CHKhwP*^0_$QNVasS44$BjRy zJb<&*$Ca;qDBi;(|v?^exg$sQhqw0%5Umn{xM21_um39T5c3B0CGvR* zinG@_3GgF^QjQ)63-`08$7g?F>!~WgQ9rd$MtlMLk-YXd?I)W31no2RxN}9^zj#rW ze8Ki3E|Tp9ehK9o{C=(JqmT0hA3OC#d6L3g47OD;{b_r#>5b6L_8yt=mE$XNfqP;qG~?7isU{ zeWE_b9;Y09Y19Xtb5dWEN~I~6aM|g!3-BIOzJcev%vKt{5Bv<}A-tA!T4?^$^FS(Z zJ^SX%VXl6h-%yUoUmeBv^cY8b0S^V`lAZn;`>lNPA|Ao>5Fx*k_8w3Cnf*@g{gLBa z;G6cnmE~*SB|jIoJ($ns7aVW(`~0Bf?~BK{c3>W&eF4|DKijo(66KBaSI)=cnGeMW z((!G|330794jXSXJ!*U$*IU4Mr+mYXrD&g-$EyrI-XnNvS)bN_$^+B3{=U`p^76^lgYcOO)(-L2mU)K#NiIFi)>Bod zQ12B-EB?>C)<-j0&&ZRg-vut``h{kX&wfX}P<}4XpG~iC7&(~lm8wMj1s=f)_g#5f zY7cn-sBbu*r~c&4=Ci&iI-BK#zn5~uzTNzi&nHbr%%xsuAI_&9Woy5syupiM&wG5C z#Pgx2e~z5(>Id!!e+M5Z<&wX#k8%;N7w{rXpFO^7!OP@vCc}1(xX%I~2kj%8yOixn zXIw~o%o<-$|A;&amW%vt${|1fC99|PGii?ZM8yCKIjd85NZ$}8!`{wO{;tK635g}o=UeYtoNJg;_C@_Y6V`C4Y*qo#5F z5VXFR`mOn1II)Nq9pUN`&ZBTau@1L&PrX3{-S5esBiQf!k8$j8eAXBAgTg@u{)qX< z8;>-5xchT!XSZu9zv5iSpD)Fw+p}EFZ|R6<_JRXo-sX7D8E50}ajM-AyT1a5`@@eYZ|!Re z-iB7^QqIUfV*7#HL3t|fRCM^d<@CX&uDMTCjst=+0pJ-O;0`F za{Nb2$|ZfHHb23?#_`iWK0I-?>8o(%uWG}7D~>z%=fj%Eb>1c1z<9Ot83C-a{R zZyMzKf%{F4e~^@+zeijs|L?|ve~ZrMyeOP=<+Z_2XYT#npSPyp*S7KfbROj(JQLv; zCp`|JT!ZWOo1c55Hs`rK-cLQlxjWw%-gw@5liBa_6_--p*H-WAKH)d`eCqL;qA!=4 z{disi55MyW+ZQ~@b_D;7uzBZ-Ln+S!H~stn%-#kb$mjBRSDQZ{-k$9W=X9Z70O~2$@!m~Y@Qu=BHvG^{!Tp$#`ZRS zxN_$Nw%_xqXx%1!cHk>fzlHAs|Ht*Y{GrzKz;U#3*zpMK%|3a6?MFU1zawvx^(0Gw zH~SdyGe0%I3in^UG{ARYe-wusUelQR3H~_t5BDl;zs?$Hhw|IC z;C=U*OxZcZeIgEt(LcIa^&!ms*sofLO}g8EhD zMO56w^>4Vl3I89?X-Ykb?_N5M^I5BHwpHFUl`?rIp!JzkTM< zOI~T?;p5SP->}QolOALF^;n0q{YCty-xo%kd(l4$HzN7^ah4Y?`?r z0ne7}S>y{-uawuDe0l$DS6{*J}nm3Uj!uOL!&kb|W0Uv6^!KRJ)Z= zlQ%q`dIekr_BS1N%MjQ8u+w=g5A!nDJJE%&u$**7TU&2xf4l8y+6Uq%+0JZ#8SA&- z7sNlB-2rEc;{=`wjz^|^$2aU;BC0ZvdJO!CwXS~U-2#7*^MLSqfrn@QQ0u9g%goQ$ ztoosQ5AhC<@bi(So%mULD91T^wmR)xJnD#VwE0-)Rwc*V?>>J)=g?_3hV{jsPY$?O zv@gYNAbx`W9{9U#zj!!-Kgn?rK4JXDSLR2=%OqSCj|))nc3(M_{tkH4+&^Rfr#wU9 z);IfzcA~iauth2J8$M1?e6heandSNqoC1!k^61jjHgFsh&l3;+Gmcv_vgK0BOZPqx zen5W!UMU-Q&!-(l<@kKiWU%?cmVZ%i5zpGqy$?KD(*vK+2Y!0$5%{_27t?1S<2)I* zTE>1vp6?}S+>!DUf01w)lCR&Poe94Xe4(6Igu9QpcaDGfVi(#I^809iz(M2q;=a%9 z*yG4XkM^e@(tSSm`{u_^x!&es9~XvooayVTM@`>O8bCSd{#LvPy3fYGlJ5hD)BKrV zhouirG`}!SbE8o5@*uwWq&Cc`A=A8-4vq_k7mob@n5ld`2Jl zJrO^O=UYJ>)Ef7H%qyI4l4Y}~H;OmOW?e=3C(pdV_8=~MA|`P5ZU9?QNVlmA3(082S&a(>cz{mj$jE^%QaCkGl3j zK5Q@UC%FDjO1{ndvkLvTy5Er(Kz&!9A9HXFpq=Yx?5zJ#?>|-+d1C zTlNE7XzGb@=yYF{)Vq%JXR*HYc}4Iav>W7W^S!*ov*wo@)inKWat8f4cuiP;_IzvF zP54o1{*Ln&_9sryWjT;*FV|k=KhU1QCqci1`_6gp|KMxje2aTX>M7!_&Azu(<#;Ne z2)MiSKi~^_nB{G#X7yeABmJS`9`XKQ_j|Ov675wuJ%Ptb0$#DL(><@c@^f_08hTzj z++z%M<)q(NT)@xZeDjZ|TtK_f`W5?D+HZK$z2=X~y)%l>dtN{AKk~cqvVvh%%r1`Y zZg%|f+k8*wNr;!X@%M2{;KiUlW_535KQ%ujHLE`8>WQDe$m}g1#d^SRZ0-JZx7m}= zr;pFCPCuRfej3Xc9(Z=j{j@XfPoT%F5Aj$gZ;ubFy!`^FdHmV5-_Ymp2)7{HIk=T; zmw3

N6-e@C=*$`kg@kS>V-roYI2F&Bw>W{ug@0IWA9xD0umSwIzx-SdHRioZz6;Cn$bJerGN#CQ^oJO=LgE?{>gDr{$=FxeH5oJ-iY-7Q1<5WK2=}%_-W8UDn-(u z)0`%xK}wwr(M&>$oXQX-B-1q=!!?DAsAxKo<|r~x$CU{`=- z`(I)I-hY+PV{hLExhDThuj5{re5?Bf;8at75Fg+@_dV7XY-ey?1?t6g?CESzIAf{t z=el*&SK&23vmW8bDejwaIAI@R-!J-w`UCob{HF8s{Ka=(WqnVtXSs+&W99cqjK4qF z#BqdO8s}HxFaaNq?}cxFNcm50Il$=Z?~C(?DzJTuXI;P#KlMr*57_~1A4mSi{*d|$ z{!u1}Yi}oC0&kP;a3tp6j*pkQ_R4Psb|~zR?z2)Khg$Z-!nc<_DbCrbzjc3|?b>JK zIi?}`FRIaq>jc>$Cf!}UwnOXEpm7(@Z?GSJi{s&OgrOH$zHoMhZ;E&n)Z+zx=I?Ex=SjbO_FU@w zxWiDk8}k7BhyG6^{e0YE`CldtH&Ab-wWd-2bS{wy-|x~ZxlUGm=*-&*%8whr+xpeZ z8T`jhANe@8LEE{kH~q9N&kqWIEI!V7@=trpnQ&P16Z@0SHt6`@<#Ns=`QRS>z7R+C zm$j4&#UT|=tKyr66U&gE@nsKCzG9E-hVwv{uQ-F?SIQ^&n)9{J=hFQF=^_28xDMeD z8;Tf@|u}CqLhNI{6>#D$d`s z4^CPh%>E`1E&trT7hYbD?JC4op87uPNe=m`1D^{IF5krYCx2}l>%)1IwYTVg)`Pf# zic-vXZ~PWa%})VGL-ZgjdlV*hpSruex!*Gym9{u%q@?Y0m<%jD_jCrFp{ z@-`e_tb5pQ`4@=av`!Pwx8hd-=Y5VVH>oz$)?qadGkw$K(pB#F;LTdpQ&FwsD2IqM zXyaFO^C#{(_8a_O_Rjfn?I{=eSvARDz&Evd%I_1hxzCZ`5HHf++v4%m{x&~VSEc(4 z_mwriyuF3Z=WBa1gn27mF~BKx=-4=bZs}|=U$cgUU;nCW5Eu< z`2W8iEC8nS)Dfe1gDN<9=8m2$p_27JJJWxuUB zl!#wPxtD*k;)e@|Tk#{qmXq0U#YehV##W;L4=X2Q~;hfUO>7v?} z`Zz+08zVbH>_a$C^0$ZHrM^fGoJ#qHe&YA}rfsCZ;;Dvbl%t&D+<^U$Hs5Iat4*=# z=`zRgec)s9d&NJ7-?Q<}o733-q{>SsUl;w$-(`mae0P2?d+coJr#9c+J&JSy?m6j- zc+IRof4(B?#r-VHDd3`doTd2tZzu<{=TdyBaLb1*Pq=E@#{e(M+`dIj?i~wuoT*(}U%{@$)=$FG@aus5 z(Gk?cSjUqt@t-5PJ_!5Y&G#`6T6?^IhVY$WuVVZ-_3JLKeff+h$EBs5@ z(;7D6WX&qQdXk`04YGh!?c=d7k2n&PL-=KJyksX4&3%CUpDk-l`XGKL`w9Pbqqq0Z&$s?& z<38qB>fQW-9yZ?IK2dgoIL9PkC~jl${Ze}r<2}!#gi!q!h1lR+DBYF5qHD% z@%l^by$5=b&e=VK_&(-$woCqvTF1j~lI;!-Z9CGHlYjWfP?v^2URd<@o7B7TKd^GH zzJz(K<0v=s^TItS=Rervkp4Pv4eGaGztJC#Yj)y1j$1(1Ui5k&m=qKzu&7Q+@!tH`O^k=`!1Id3!L?3AjC^qx6F8M-Zox-$hf-H9Ft+j`erOFYK@E!h|1<_$K5-%!kxB z!cCGs1OA$Q_j?<@C)_FECYe4K&Y$-e(LJutYq9R*_p(=%zl!3`XMVhO{}=9fi}Wer z=JO3x6 z*P8qTc_lq?K2G`<@IgE-lkg~EU(NX%`*Gv1pXc&>*>i>7U$78=yIv3Dr>n=1e(;mw zcj;9vS)c5)U`Il}RveP#@9pbcy9@g9yR&RO2Hj+Q+@&)0E6!bv-q+nr{>OfoawNYg z+4p6>o$y!YcerQb`XFk1jnT>bJpfOU@|*s=hk6+HFGiQo_ON}fN#xgKQr4sMLEXnE zH7D^q#LHy)$)sngXJF68@r(c7|2DrbKg#&e$34eB!rCQ!4EeL2xR~D~j!rN4op7gs z2f_9zZj{y?QKzos-FxA&PjZ}O-vQiun~#?rYkKSITTTBRejmppe#h|jqLRPa&h(~* z{5^Q8R;epb=f|=m1I`)s1L$n>e#Zu;z~`49v$Sh}n=kSU7O)(T51em1g?clZdkfR> zkimQ}>feCnC~ii+uMGDw!Y2ivG9P<;7TB>EeH7Py&%cxd*+mL(DD`%_ith{D3hLjq z#}W4afm4|V@1J7p?=NnqUIA_n=^Xcbm3*EK-D~{c=rvmxe*OaU@u^?&Irho?PB_-! zH(Q5p>_K|UPYCgajQ_knK>Y2qq))!?YJLy=r$vrluv6iC@$%T{<>RA3zuWIM-()|+ z5yvqt#HsfFk?Aq#+rFz>OY7(O^VuKi%k;^&na`Uy<~c-|j$%G|`Zwws_#fH(p6>E% zEcg+&K!Hc{wltY`I65O zZ)_RgU-2OG@Z+=gdpswcyO+4A$)uk{K1+CSj;6UwqZh&#gmB90a5Ua;?7{U_HEvR~3Xf&1v*?t9$dOmr#y zK8L%s5J%^?TgLObw}*uP(qk^Kc*a4kF6x6G!oxuPRMV$zidm29gFgZ3B0piRpVMZHJ$u|eUQyB-cD3@DRG}7lgnpsGd|gfd*T&Z`PT>3-v^bK#=hycleG0fl zwLW8cusb0=q0fyj9(ND-#eAN6KM};IX1-w8+hY&E!+rh#vCcpo4eA5o5Jf&tb9(mq zd|$Y>!UIt}@1Xn%QzZCl0 z=;m=afTv1*oqTeZ>EGjq*!hOXC(}I~>|wcHfPD?;%lyiX97o{=>;4e&|H!A=C2w#% zGq0ZzPnCJ#sq;DPKe+yl8a5(-YQGPA0QOsU_V5Rw-U!!sr5?q4jQkN?*n{suPg7nL z&rkN3h||P=1HY8?PxrOvxQ7e>=J-V6T}(CK1`l=Nd$QNZKAYc%bM7)e89A5F6EBbP zx*x26O>Sm?V3%v_mEk9{J;KqFT>@~S#yWn*J?1d-ZSCh0mjZWSs7vJs2z%D?E)V}< zz8{WXI*#uPx8t_wNiVG1NEhKj%ibkkeG%IO+@?wHJNa(`2bKAt(bp6B`#ne7KINkh z)O&~@$8it;xSe!Oj~Hj=`*VZ>KBHfEM`Pb&dD;I)ldkX|V!NXuJ4x4INg493@Roqj z&i>|g`x>47ejEPjrmyGy%Kc^Z%r&HAp_AIjR z$~J6^GBpzq_(VuI`o(%T2BiwWRu|2@wVta+l z37n3_?s?v2pULN$S8#qrd`P|@)#=Idqs^U6?uJ%h&;HdOWc<2p$=fcU%5K%a7bc%j zUuMw|@>?O^(<@V1Zt!Onjx%tGIBtdK-i{$ryqM=_kdI)OO8tyDhRo~!74h=e-t_vl z)IW%Gxr+Vm{@NUuA|5E^3~@RsC$Q6^JZ6U)4hP}|vma@P^G#niY-D`f`bCaozU;{U z?63FBF4$ptK2aQd#A_k_aBn$=_4|8RjI+`8x}=EhnYF7U%k%bE`Hjm)@%R3BTfGfF z<@m(+&18EEe%9V^RJcRHU!(lU4xoUSaph8$BY$k!^$TAaabm4K-cA;N=hUOJrxNaL zwy+}k8~n#KU)_;>k9nQn=O3KY%e7m0>`AnRdP#T#uTK9fPaJKy`KTjb*y}U zuabIv2;JYp50!FPz=836op&0+_QKAKe2sG#(hGjl)VH{g=6J^~PqlHMa5vMS-~Vjg zuHIP2V5@`yN<)NAoMXLH?xb7%5%;T*8XZ`3E5j~fC;D$FH`S-6#Mm(;@Sklx%GBhh!ewhV%81PT*xU2S-Yv+l=lVJM<6YCM&mGP7=zb+w zd^dkjZ;sec;5f1##TSCT9pzbc6CN7;-Kal=YooYB@|#l}X7~ZKANiXVtUo>ugYdng z6Q*-K6<EX+*pYjv;xNeBc#&sz6 z;iFx>!ZQ@UMO5KZ@;B_~IIj62{W*_lp9vgK_80fy)Yk=EKp$@acogGZxmtJ0A3BTL zv)pX+Gn6;jp^>k!e`Ja{5d02!AJhwl^W(!u4|3%JKckrCp18sE;JAsDckSDt&-lCi z4x=xx8^Z5K97nmqc_rmrc2xPwGueLN#j?J9>epO%z#p3HB*oRpgd_3(ZKSi}%pz{i zJXd}Jf9v<6`OGgGYU`jE%JR9^v)ISlI1dQe4&X=5Wq;&{dsZpmhusbPiF*K+2Rlpl zOXo|uj|YV~NaQQwLS!F*!S`ji9n5`!{1v`@tj+Tuj$A}~toV=ghX3MHm&bmbdN&Tijed=f{ZRYzpPh|PBtCpV`*3)cX@ZBdY2RIT&M}L2=eQKfqojY^fg=0Q;GJ34;$Z~L=#`TEsUZ8(Cj_{A5T*n+%IeEAF85BqS=Biau| zFO*%zay>3q_|Z_)7m8PR#orvKuxq<obd>*q{KOPj zRJg{V&m`9_#G@mB0vCG>+r8^S_6L5MY#00-sb_S*Ab%S9oeRHE_-Mh%-$*CLagg1b z;Ns(`pZspYsC`r`+dv9`uN757zf= zC)Sg!Uw#nqyCHuAuY~+kz-^p6%I1OZ>hn9<`z5ohF)#Z~*aMrsSyG1j0DkzUXX;lT z#_{v`+_DEvZoG(mF8e+C4a1MbexH$Yd}QAU`vR_aw4W2cGH@7d9vo1I{Y}r^&lGWX zjjp5aVm}eblHX_Y%M}h+t-owPw750p4}8S>F%C=v;aYmU3G6#e&b?iZa5#d)N0)HC zy&i-e0QVJ&4tB>AXSYBjIn$PAT*82ZLK?v7cJ^C8NhNU$|err6=hr``T#P@1&#fKcELlui(}v z`JV1~;P=dW6<<5Nq8Xpd{saER_WtM-SYFWjeU6jx&I))JmG*O86mI>C&lRT~>-d4> zqk~>I{psRYf`=x&jGj=re6jhOui6~ zQdIn=@yWw$Nk^Img8BTh8 zyXs`bGBIqGrCAF{!oH{W9A`+ITu73K5J;XI)DT<}+BK7alX z9;`7O2gUIPJ_q*^*^V_#;m>R1{dFCd7nTlZJEGzb+3)zg zV@+NrZ6QA(9yj?GdWYYK2Xv;Mk5BrLd{Mw(o_93q3IF`Xo&}#kjrr{RlH!tIp91i|0JCcWe?pq*u97IU8d;|ZAZDh z@My7*oxpPZ`CK&ZEw&H$1vWqUI7-R%FF7A;ABcUm&DZ|CJ@e}cokNA|8rVATg2~oj z#g~2VS6ly-sGNz#)l900iD&NyR zu>2on512e~u$BAb!)#yl_$tbu>{!DiJ5uiRne~jnzh7{?l*FOU|Q%`dI&c{9T;4 z^SuHtu*a7v_y>6$Eu8C9eqm=f!nLPxUN`<1$^-UM3*7Jd{59-1a6Cwtd~Z3U*At7G z2HoH1IKgk!=)B}xwkO|}*?i#r&ypj5HNCg#Kgv@w?n};lX@wcoXSnw=Iqg`MdBtgu zM<&K6KCXxS72tQs?}b+YKfjS2higOAODlisPC9!(9L2RM*wr5Mhv^4@KbBnoJ^3P@ zJb>*;YWzg`4x-Mc*Y50XdP4i6mUo&yc2)|+Kb=|MU$DYmhz)p$!1NQ*rf80-#kFYPbb>;QFmazQh z?dQ8R_V*iz*Gv9NkNv??Zyl(fQs-5^Gs}LZzdUNGUpFI84Cmwgli9{69-f6UB8`alBTxD|Kn|VoUZj^nPpk z({tY?T`zCLaZCT}!S8W?ZsWH8R`OLY{QO(z82@{_PT4aA$JC_0m4BFUqk^+58ef$E z$N0Yd19Ms5>SdNMGo1P$zPc;hg>wzc58}-6_pIR*+b?u!!8E$4#NKavDBG9q|AN0~ zA2j6eQQzB1zvzwH_PxKCPdg8>-#tDY?sM2L*db9*MO!8rpZI$l;Ij>P?aZ3~V(n^s z%~Y3HylLQ2G{eX0Nqd_5jJx)_#v$E}UDOi`)F*{W@ib4O}a> zJDAj&^FPi5+3)1p?&LSEx59o)IS&dyC>nf~@ngyT){f6Rj$!+~eP;Z_2J$ED(KtTg z;s)gNyj~CTuf9)~?&tT|UvnOX-SSA%rQa{(nU*<*a-g^p1;2^&+Vg$vx2)ZVw(aBI zSGn?M!9Cgt_q)zHajra$`C6mNPrw5i?ef5zGCuNnlky{j{$x9Fe$D!Dj?Q^a`?93n z0YlyQdDPhW+vBOg|B8A9a#-Y^XXXFo`XBxoEJrvL@Gm#|`8YkeM`L@mj>ry~XZ*2s z`D#~ARQZ$TE{(mtuHt{CgNBg5QXl6X_C}^Rd>lK)FA04d5#a_1$2g6iwRy;&-(?$H zkdHJUDBdd0llfk{t}ppcII*|~A>S12kh{Olb_+K;_$xKJ_HwNFBn5wh2ah2ggjX!T za^3$5FE7aYkk0bUDd6%PeE`eXeH`#zC{N&9n}7e;g#0QT0@<}IE_8mucw6szoGsY7 zk*}gl?y`Q|y_NhSKR);=l7BR=!Y|AZZpwK@cukQ%AJI6^aG|kRO`|8g8Io zRJ_d8$gU*kEUq`(MJV>sG{9sslAjQln0i9?obc})>z>OG0(OfmUvU&8kGGL^X-c|9WjEV6 zd|bxn%Xg;PIJAgOZaqGw>`HYmp!-h5{T|72@i?f62S$Adzb5KY;l3c=o$2=<>OIQ# zd%DNR9ZP!2PFm}P#K+ZAoVWO>w@jYyIhys!4lR`*_(^Y?oFDzJ$?>CONEgLf3;vyN z-&eSl{25fcn*Gf0sK@buJvQG@n;u2EN4$A!*U?w7y|UZTeOXfJR(>b^r^wsw$&M(T zy@+xtyJF$}0;kF7`tNSao8rpHR}N+SfiG$8)O~K>iR4e%Z!*<=E%4rp9UXxe#_>+? zn8JBS_qOu)O6nbK{BhTBY)|(48uFR^>@k0Go`+oo^%vq)8vPFM!g(jU{Xe!d5nk_~ zGpM(94vhFy_Wo%rsrQok5!)}kE8tOa+|$z++IXBa$@J3Hx=a)AcLO~{dLs@2`z3oF z;NsbS>%%`d4)N@3xgJnFlJx51sn2k3WAj<{>da^Uo+9$N+QO59-JrE^>OovD74T*! z&SZb%Y9Az|Ywba-Px!QOYq0sipIb-gG%)?N>AyGK`@)ydJv(r`jcy)S0RHv1kI3$1 z`*5yc-z^$Seh~g{;eM%3RnuSdEZ$turU~_5e*Ad$AL|-EPyBgIe(!h8%g!^pYmv!u z$w*62=)@Fplv$tR{$SqYxP_05;{2Ta_9xTyx@$Sk@#1x+&;Nd&`ZcTl6x$tiJCpRz zj((TFBkr?}!~JKmpSkxFkEXt9{quHRR$EC#l zV&y*5%G%-Mdl&q%y#Jc!6W!;^K3aa>z~8ZbnU5Qh_t?Ml zqV5l|9f99h#;@OK{qy@^;a>yqf%;VE@1VEI$qC!6T(4KV_2?oHC`B5U8KmsnqX_E7S7Si7Ui?cdwk9@ybpd#X>jaoDw!zZd+hKbg&O0B*bO zk1m)^`H{Ub>=KP1IzCDL6Z-RV#R14X4s0O~<<=WGj*9ajd~BUlAwI0F3$6{xPx;Pf z)D!WLRitC|irMMPK0dCpljA3Q*Mgtww8uFf($CpldsrUsr;LBrJw|#U{-TY~A>~ak z3b(Sjx9vaH95Tv{FL0qAp|gfx2+~XVFT(Q)R+Uix zv%asG{#o$l0#^?F_xXEtVj~;xUN6}A3upVO3MLPeYVbSRTc_2lvwqzd1#gs4@5s(T z@eZ{gm;G%1Y)(C1z*q9P1kr1&$Pd|*FB)IAeBIjPaa>?O$vpgzjIU&W@ZE0qH$4Am zYmdic(Y+4rh&X?R|NPE*6gb7>N!L2J+kVpT9~AEkIMb9j#RFA8WWR^_!*kvDz|&{F zh&M<2;XI3U!u&$|!B1$SdoP)@mgQ-GDO`)d`)x}Nd?7CC+Gb<C-R|ieSxD$`W5^?p1Q%t?U2PxwO&E|6}C6+IEV5f`#_y{YTijIlv0nw zpKgJxH@x8#jAh*0`#$S(amx1BIl$y%de31l zuk)(thOhX0_SMxKf7n%14uH40(Y+U~t-6lsPs>-i6nKstf9>ysr#D;v*ah~T=VQfX z60WZB&lI0c^RnVU$ZrC6qNZ=X{Wt{i7VeAu`CDA` zL$0f`-uLi(__A*(Rb^z)XwM$fX>urSZ&w~HTFU<8K9J+D_~5{eEaG?y$Hd5@do?+|17v}VE&#}McbMQeczTf0;mKW^oNj^%q9AtW9 z&NcJg^U&kC#ur@0=fS4`7P1^4w-oxH`~uv}_55A&LC!yXr_0Cnu44K5;;YB;`4uxv zj!sETFI6)?dg1xPew@!02RS+7RpaxzPny1IRo(dS`6}!e{PZ4TJ?*aGIAx#K>&E=z zb({~PH=1+2B>#vDYjW@B0o@nL&NXd%KF1$%X!)JuyUXt_+i)J~0Q_s?kKNC(9-Sw_ zp4asKkju$$!0)tndw*-#%aH!M$BX`1LV1C|tI5xZb0nQbM{O6G?6`qk3SzhomfB1KF#*v z9@g}vKj({^ePHA4aToJBt=KQwtEXp;w04!h~?#PZg-I<%g6%+=|}= zXN%>ArPC=_@<-2CbuoJTxD~-wSHDI2Zk@(7eDPbZ2M~|l+Sw;EdcIzr{e|5(>7JMT z!SaRkAFp_X`Z|66Q`>(I|JVAf__#h^Wg*`C$^RN1KksPkr|bKXe$ipC8Gm^^8r%bp zcI^u;%gG0b`@-j$$7#(1Q^SYvV*7w^V(YC=T{*tFUmwc9JofS7bWQ|37uFM3@5D5_;WpN% zIKZ$Uq+CYBn_D|Ku4an;Cx4GS-AX#+{@mutXRfsJb{|9j2|FyMo)V6>@PdSArE|Kx z!veNDe)?W(cY{xvhFu$RoPk%!a)S*un8J^YzbBU$S-Y>^PQ4e^Z9qCC|DH9;jSJ$S za$In3IfUc%!SzF33Ow^cE=?!aVZE{!6^>ta{Tpnz;zk7i{w=Gt-Q>dGH^m=aM|uU` zP6_e!IM2%8GT7I^^!wK>*^UB^zmJD2{B_}h$e$s3XqwIU8!spSq&4p_zE<3dU8{^f zKJIK@w>9-o!C$pvOX>ySEcSK%Ea00rn`v??JUSo$N9P3LzO!v!@$pc@)eqSF9xqDq z>7vo^vHqx5Eu;6QrZ(OlCrI}h(#L_;#iu0Hhl=X~d`*4_{Ob7}msX2cxHR~o5%~)D zQslGbiWy2-pL^y1<*$H4JpT~VQ}cT4?FfWF0KZp`6V5dzupM((+WeWHV|u3ERi<~A zt}y-V@jBC^icHRv0qmdr_H^!}^Q-W{BaPoqA4K{IM_sss!toZ)K@ZjGpLZ>qn1Ml%Mda@#|To94EyE(SBX$hwzgy zedyztA)XrLG~V;C{qAx9(@Mv4JTh-r8ZMttI>9fN?MNP}#Boo{RA;^N8 zVs!Lz$qG1+iyx!@P#l(Y!W{CGQu$TKeXn4D!y1FR4prPR%x|O%*3)A+?jFxED*Bsx zRrbEZ*^0I*@zyudP@8d1G`(BaQ>&08tL33s187(Z}_SORMv_&U0WFO*uw9U(;VzcG~+MzaU-F zl;s!v_#c08h^rU4Gi-(A?k0VqhdFNp2b%QFeY_g^6Dz*2;_t=YUJ>UZrq?fRWqQxYT@)Tm@ZqI4 ze-7Da@150+d=0z<<`FN&^xn?fN09D5o=rSv(_oiRHVm2XQrKTCVLJ0C$x+7VpH89P zg8c;P7C*Jz`m^(0(p&y#(dt_$CsD@+CU^e+82H1+hd140^0KPL_~C%(**?T~Vk+EF z#i>x-44fZuoiG0^o#QJGqT&N&*X^Nv0pHBlM?OwiHmNbk2loe7U&EisU-08(s`&5u z%jcO~_1_FB5Hf;|fP1@pAMU*}7{ zmyUav>$}L8hj`33&n&%_&xL0nK6WSNR(7$9M-6;y$~$mG26CKwRU&@}@s-9WZ=J$% zf`22+6<(L(lBC|g59gq7@cRR&GKD=9*M0G4*P0%@wyx>Zs>`kYH8xoP`~6~a;rCtg zQvzTJRRT}aef01+A_As;}3*qU25fd`h+D_7P#lZ zly>CTp!RcYx9$VrhsN>8xd+!f1-;vNn#sNQugyKKnAUUh?+S}|kv|oG1^6K3E1jbQ zH-Y>VHeJebMcgauxp;p|@@eexvxR3RKSag-f`6Rpt#aS9T=^v@Bdc*df#*ZI=e2HN zJ=qmE^LN?h=$th^wgJm2;Qp*TjpGb_ZIeUqH!XV~tY_Fx=|kXtQx6Fj7kY~IB=eqP zIanugK9)at(4__Ilm9L7{;mD%yK;Q8XL@nGvtR!q{bm1`mc7>WrH^|W4INH>lzn@i z>FWmcP)JvKVfUihCk9{0!o#%x|o%4u$ zKknCo&tdOpdP)9Sk6lH+1}?MF`^;C!-{4o$59g(PANFFlZo6(wdeTdEqmCwEG#wtKdTD) zMYwgq8>f6Fy4SksHS%j5Uc>UUS3Y8Y0*|i@K4Tt!%hUtm`9~VPJ0EL$#p41aj)w7> zw^uLNVeYz^^EvF($;XBAeZ1g&cRRLMae#x1E3lr}`)A`EsW18Hkio^|BkyNXh?gY) z%Y(jo%RL8fHTg7eQq$Jm-j65#`C8`l%fF+1h@XKsLj4jRKil}FcoOFm;O0?ZA)X}Z zn4LI<^KImD4&tAtQQwAT4L>IRp+DtGX*Bk6%7NmZ0r%77=F5Rbw@K}pk7xB}Ig0x& zdgFZ1_-gq_d=I!Aln3w;Q^XOryst-iGFrce9!DQ>AvrG5r$3SJfIn$^@bYq|FMM1k z`4J>dth&a67#jURBLNdI&|oq-(h?+-S;Y8+0Uthte3C8y$n<6Vn>mh(0|i_n zmM1$K_#tupv`&(I=-xQ!@f+XIZn%u~#v8w({=zsQ zH~7s^E`-Y!^eM;j%R9CH zKGw$Z$KEzR_th~u5e~7Bw-GB`Rsur_8oUbl){Q$pZE{(@uXXEDaW^q5k=ZG^y z{y{wGRg|Y&Ug5YZ?sfq$)8BXMd`I{e>EP8SZ!ZRY-1mt8U~=f~H0A%C{4j<6iN@W| z@yf0|iu@dYnc6tL`vk{b>tw}0P`sYtnjydgwUnop|B|wo7rM;u_~tezGS%r96hGUTJa>cW3)>UP1oHK7sRxL-@7QUXxttjX{kI$2KoyYQl&uIGUfM<aWiGW#L_7sV@3yteeFr`TTjEt=l)`=nfcE;ZWOxO%%lj2Gnu z`253I-}P^Benq@ErfO#}bQ}3Y`}XXBXUU(*XVu2K?|=tpa##PQi7p>`J8Q+UOMF~U z;LTCaV3%O?{N(wh5B771vR%}`9()iPPY^VI5 zaL-TvhaCy&s=WNFuU3aw&&(@9G~>r%h-)AYT*baUdZ0tjMN^Tg( z@?@WoZ}^$z6#BRO8S3S1P>mlyc^HBj`gIcTuXW) z9uwPJh!b+w=f+o!zGiutM{GVmZi~%FWq;%M@r@6V{@H&mDCfGDRy^h8&0^Ct9-k+f zRoBMXeRQNCN9>MtzIPy%BUX@tB>~UewWBY+Kezg5$xqik+exC$8 zcGCk(%J4hH<)NIVtGANQ`Jo~C0P75Xr#ML3zbJl2TKXx!50?MT_6omA_zJiui9E(ZP%`A_q{>#_xcsPaS~o{=J6hcAER>v z?c;+DH?bbs4+ka9j1S)3Jdfkvwe5VD!atnjkMk6cCvZZC^Y>G4qg>`^Z={?C-}j*$ z=i76W2k+O4xP+Wnvy0xQJiuS;5w_Fc}G9#-TyFC;aCSgu1$9OAnH@$_~m`Ov3%Iq8Na>x8R?_=mWqD_ zyJDOF`u)N86*nQ>f3nTDMQ-y#=}0QDl6+C8WO6xoiC7 ziKf4%^k`Yn=sU~i1@BLbxR544{@y0I{t4!x->m-5pCE7wdW)n}gb*$e93CA@nTa9`K=isIf{k=i9^!W+YGd1hlIC(!C z_{G_LbMEsjU-3tx)33L6jP&8Wj>FyedHJoqn11oU#HI1;)hD_X_uu4i?W=X3n)`Bv z|0R5NoWGL~3-)-WH&Tyj-*vK!Tm54X$y_^t67I6@TY_Qj$lt;Rz`Bn5EI#a^@vhwP(o;sT{2ixLPXgcN3FarP zqrBrhgZef0_PnsSAl-n+%HM@wj{9QMNB$lY_wW3^5D(Jh0?E%tI9byB(T<`?Y|pr! z6I?2P_JaLGw@K7bg>xU_OkPu;^Sf|v5eLZhy|)_?4g%J7)SCtW|BbIxFX$Ww`h)aH z|Ey_r)q2wVWdz>-FYDiz^o%|%<@fT(()}C!NJu~MBi~D(y6@fH|_4be1t&j1$?7ljrXY}0wn_ruK%l-p5iTfw`Z`*pv+dB!z0yz1UOT?LBeekzp zn&6UYYK{g%71TC0Wh7(tUl0y7mD_u*9XXXCi$Omx=QP@Oa1<$)IPA zKARVF+_ituyq-*KY3nlYFDZOj;DxeZvV#_`2hQnCe|I~K^D^*T1l^wtrzxDVl>H6;`HS|o zICIJ$<%-0>6XyLCDBhT>rb56q@MPA;X#2g$F({Y~nYC7%Ty{viDo{|D#oFVF`9}l!o$M7Q@9AOxQXfR?Z?*N&mkUfTuB$N0(HXe@kGeFy|19JG z2?N=0#22vji??%3Hm)|l=={6U$;Y<=jw*jwJT1jv&pZxD>~Tr4exV%7UlM+1lt1CD z1c$bzo>Tlz_{Xum!jsp06x3ZnJyzKF-1jZpEqfc_T3h>i9%y=CMDb|XKjGrbjuG)m zS&r~UgK~4Jr=yD=Vv2o;(Z%nBVb5-IdZOV`BMvtE9Zfox{87;RXCFoSDGsjuce83O zO^^R`>=^R*+NzWXe!}`8=3b&en%7AIZG#eUra_;rsF8AD9Y9 z2Jvk;{<3$4KOy@c{%|hWSBe*beHrzWaH16l3+EnuUwD1#3Ds>rJksJjMhDa|`P*Rj z32C2*^cVhs>>7lln;h2M+JEwk9ADrgaGp(%UB~tyt^%Lq9FzJqzvxBIX9b)N@6QoG zU&`;bek|b4?|G5>Pk#G|kHYpM{wet$_i|kKB)7lB`A7Gph%>sJ{olm$1Ny6ll0L!X1=P4>1Q8*By4i2?N1wD z$oi5BpBo>vI>y?&;z9N^z4i{)t2i6!afUY%);x@Q2==VTUjqX6BdpPm^JbksFx(q!Wqlo{Ed7Ff5%m>T%Gra*;TeK zp7kN0<9wR!4X!zl^p{;|c2ZrAgU(MBuLFMYY02^5;doDAPZFeVlJN()gi(D{MGA!2RL)MmJr+_5km| z^yB}USi6_kw^Vx5pAQNb34TGOEBq9=zDb7v`zG6YiNzU8^LuO^bk}CqpSAjwd?h^7 ztlV14L3q+(Y%g$=$QQzYQM?e~W=?kH1{b!Veu$g@&hd`UoM`gb|1r`v5nfBt49Z>B zus?st`7`Aud;4qFuXEl){eHa*`y`WNZ%>1Jca!rEo+5uFKOeEkwF7a$D6hJA!MPj1 zgMX^&r*;!LuE6PC&i8}uroX&hiS8{Br*MUPj&pf?e$Lq}KM2>`y0Y>B(l2PzjPr6d z_)gA~h%03C|L=!TFM;1kKgIQde;&(8Di7Gq^6T~a#HG0JUdsHuquG9(yDxP4U__I( z{C!97($54XSffAC9I9GaZ^c#-+JD>$z4ZMX7w;0Cfh#hb>tHu);| zaSh^oA7}sK>>Iw1_~uNLO%HM$wg19Cg7X6G4yZ5CZni6!KFj8(IsI5~?&AsTJ{-7w z?6+_nV1IAxzTKTzPr(lE*?-uM0=~=iu_k}h9=GqkeUQ$LwLX#mEY2go<@kF$ZNvq& z`S7^*^W5(RyxHfjXFq_KLw?8~y3pjlaTDXG-NX4jxT2fwSKb3WDDnL|Fk!KY)d_y z`M9|9cauME_P}_yQ+`?LODn7&9=8JV>?Tl-zPg&fD~^ZO5r|W2dM+7Y^UW(C6}$JN zj%Uwtsp2}xZ(VWb^K<&HaL;8Ik9#`yH~Va^)id``rnr}(-YMXR`TYa#rANB&6%R!A zCc)aCquuYiU%)wqjsNqdw*MVJlzI{V07Kb6zYoo8H=NJ%u3u~Wk*c*QU)eE7*?4$8 zi1S2~>#4igzQEfFD~^%kQ0C{gAH{Zfzi#2O2^S9hM?EEe6HZ3BD7AH(*O!W$2K;;K z+30~gC$ZehXR-alTZi8%}3Aca6?~^8_#%~ipAb-eDMfOq!JCbc@ za6A%khay~p;PP|G_wW}XUDDuq@^Lb39?Q*IzD_()H;~_x&$p7knorWlR@-{Q`@0w7jxD>1{g9uxaCd>TPrV#g&sa~ktTEf0 z_glbnfgj7f?3jf!o^7hk@r}!mGP%0weH(utuM2ol>?iEf_&oLJ7m@epD&YInn@m2$ zeKglO@YCeE9PWWhpP*7e`2fxWQ{WS`y|AZZ{psATY`5^-G_QbPZ2W$G)%ft%yICIM z_p%)5d6uJdX!%1U-T?VI+<2AEXTutio{GN`AO07g7wl>4ji(-worm;v=J`4K?r`h> zii>UBPn=@<+uuLp9-@fy<>LuOk6lH+mET_BzOw2K9KW>XH#R=r-xB+C$}4c|OI@VDY(MPjOn><}NBOk}kuI3WM>x7bKePVi$GT%&KK-XL^TH)o z+#T4pQy;{KAIEkD^M9m#=a28>@1e)3FZeNeKjXr>f6u=hpLE5=q!;4O8~=4!YVzUN zAwlyI#t({@Ijld|3s~=rW&6Aw<37pe--#!ao{7g_P<&>^)5AJ=ILF`b`wBRUUw=D+ z{rC6P@c*%Xd0bJ%+o1l5njg#d!tRdk3cA0xnC-Z$8s!DJoz{=1j^lfAquS()^tx*7 z7y4=A>+j_h?^N->fLmdFH*PG)QF4~P+}`?i>kpJ8-7lv@nv&i+C)55QtJso!A%Bz1 z`=P_$o$`VC%;eMKkSPv%IC3-TC>-wKoF^x`{uOYn&-#0a%V+Z%j&dpdT$oS(yr1tO zzC7hr_~1Bqoy70`{tfq{)_?COBm7s{!-Sn)Ccg@&9r}&=LY&Ndi%1`xiv=E!9DX6B zOFq1d$y3Af%`fVYf$qDd1*!d@AAL>)ud!E>USG*01|O*tJlPAfD#ij$XRY*13-CaJ3)K%k1Sm z7_J_*+P#ms!_+JBhG$I=eOQs@<<(9$`8vY}}_2I9%{`#64; z-vysGvUSX~)46ZPIXwA2Z@Q7s^V=))dAz0#`5*kna>Kh{uy%NV4a|=wKldDM^LXbi z)OWBqv-Qz&HAs)daVrAvuZ(j$9z)$kIceVLziO z<@r25>SOAcJTu8b3bQ zkaAS;v*_1>-^)%|`waQ1|(JlcKw&w?x52bvI z*bd+@u-^ECg|@T?ubUBoo^_gj&_7s_rvo%$tc^gijE>O6JU9prD|4f|cA^Uh0IPf(=?=Yee2K}?|sS&#g0qBB0W@f>_AQ;lQn;~Ys|fwO1pyRE;m zoap7>*)HK$2oD$MvbGKpZm;gs-|x=vfEUE)IA>vd!#}RzH~^=6grmRC7s3H$Sbo9& zcHzyG)3kgglh@wEn99Ek_dVo?*yDc4E;DR7+4P!^Pl$7FVFFXJ5~( zJx_0Ds`Dt#->LV*5AHjS?FA04@tOE=`+>~EFPC%z4m$O&?p>lXnXS`zd}r&rjdyZ9 zLXTe`JpCK>CgMc#d&So&+~@fF+k)M#$5qsRJwM|R&c6kGovWWOp?rFOHN@wA)a7Ak z!F>e$w76cv{+OxogM!yCr{0B~AK%x!t9Z8X8@6?s$2Wn0A^QQmO!g~z^&9fN;*i3= zmg5M!4C8}_gRP(W1*9`@cWs<;F~|1${S)ls`?)-DpIN@*(}g~Mc~qf_&1=i+TfgJ4 z_3$$|jS(z~`l& zMVvp%d-U-H{;u;>;0cd&<;k8}_6GTl%SN&OQ(rax^Y`)Wzx?ilThJOHg{fqU`@`{~z_@@p*Yn_DfW z9!ZYrVDreJn>cQ=la^mU^6W>jc{=$uJT33W{&s(Hl1t$SM*2tI&IW!-wx98Fa1~dh zVE3~mpgarD4EN34ziGdcy>sDUSFZ5J!>1Qbba~(;m^}J*X!?rTD+Co=+jyLR9{C8k z)|9hg^p)gq;bQ3=T=tUC`|NkT?R&cyS~i6J!8tnV4x9`212_YwCwyER#6LED>HW%* zH>a__%->@n-XO;@o70Q^RD6-N@ig*V*sz_+k-xvpuUpUZ)8CenU&H4v;Ct!*fbtwY z^;fa$zx1f?xv5q84(ucqYw|>svWBlg%UO1cB z57>Un^GCL#vW?@J-;H+tkKVnPdEwmWYi2R8xP!ssyGd`@8JHfp`N!qtn`v!WFK{{8 zKgA19I~--}olYaHU&254@r3i6zcc#XznlFH4{pK!0#}G>`fYpiOZxdTqr=8;_#WaU zk{+)yVmiDMdJ&W@Zeuw$p#_yqG@>%dz1Ji5!Cm0`j z|1|ln>Ruuna5C#rd_38+M7v%xIhx;w^+i|wJ=wJr^C8Pko+_qXhVw44ac?)v^sbLb zr1M6^ujTxWbr09|if;frU7Jr=Z#B7`{0Zp?KTZA~dc6(YP#a(2h72EV`qSg#34bm) zVW0K8aToSic$|^{F7|fc(e>BxJEk|MLc)QVt7tna^Bfe00DP>I1~{WWaUH5X{2QJ@m%A5SvZ-0s754&H^C)umxC%WgblVpG8m!Wvhu){UF_;c;p`?Em~ zIG(_9r5;5*+xJ{KurK4e9O8GHp1u6XVf@|WJ@M)J7AAk?AigGlQAyMZohb}OSO+czbGfN z?=RpnJbEknQ~1Bo?^d42Q&c`55SZNib$C9a0`s`9VSUj(7udY8dYQ@hmjg}T4ll{r zo+dX_euQrwesDDT1?MoFw-BGh=8gXAC?}Y=jo+FsAin`0pXJ5lJG|w}%MT5gGTkwY z;}KRgI|tmO*z>*R_?_$;!fw0RKG1KG`!4BzBK0!jqcD&Abe5ldct6KI@%C8o(>FPN z_%609uK2C#X>Vs8x2tM$+M>SE$I~hGbO_)1%ji*~KiieoUTAW2-mz?t)~nf%UsJDV zkB#SZ;q}O#0Cu|8-alR;U&v0Nu>Sm_lzK(?7jdUcIKS&$E*#v4dP4Cg3-~T`Z{aw^ z-|V;gpSqCkm0wT6F4^DP3qJ*TWTwXkKF@Ijz6{%?c(zH~@2%XA&L{nF-@)-rhrey< zODjkZ;6K^?d`Ee{hqxpB9dRJ3H}by*+WhMM6Y{DzkUr^AZ746{^q$twS%%vne*oai zPjcfde3-=hTV+1}baMUx&eu8*mwj0H>{m9PK28ttrq~|s_X64fZ}^$t=QHcEeaVcY zNMGDnnm&(?wSN2a(csZ{NT*=^%f{cEDwE#ux1+woz25}#<+?eeTpB1|r9WrS7c?WE zMyG7%ya~HGrtzZ}kJLSN?nOH!yj*@dcI_bbONQD%g87&4w;! z8nm0m@3TRTN$=$5HtY}V##o->h{2D;@=LdqKht;jFohoo=@7P?$nU~?e`G%Ev4{Em zriRSp9FX+{AAf7}%DLMYxc(zvDES2Or>tGa&M`i@^=x}yVFsUTT`v41?ceh6FE@T( z+1B*Ck4qqbSIpawyLuGAC;D}q%|k_{lw;g08a;nGl;aiM`!V?-{BA1C6@DQ6Cddcz zgEx{+uy-&zX`MBto$<5BSBomWOnSkNg5{Kh&Wy?-8`z#Sr*5mvx z+VMDl$N3-m4(FzngQV^uJtFic*)?EjhBOGi?c&m?Y~`L2(tP@oVJ@GPKHb&Q=LSW{ zXM4L1cKNu&z}Tf()fqkiA1CC1jE+5r8sJYAMO&hR1dDCfZPg43i%gKvQp5&f~tv?@?x%Y}L?&k8r<{NruNU}8* zJG(R~J-I#eRoAlpVR1{=n|5n6Ji_yA?_u}5G@Wv|FTZ(FhJ3W+diEpe+HErHiOL?@#{CZbwS!!m)Ln0MsaoXcl>e;er1c)|7#5z=%@Pu3gl7{ccm$E)1$N!>}4GnZD} zUgYxGnr}&mr0!LuLsYiqz3w^QZ|I%})w)@KcOBj*LpChl-@>K&^ghK*o9^Z~Bo#}C zM)*Bm@Dl4yyS;v!d!A02!+r#t-y!{@TD!Wq_ma|$Y-ikIr?s=}=PW1Kd~ZwlUA*8y zqtlM-$tUrGH6!`muIJd#yr|-j)FX{{RB`WzGta)+rO}S5ts|t_-uE7KY1n!P=^0d; z)XU}5M%#L2OskD>X;$^w;Vz9AlqLPauWU!!?PT^Z2;L(fMmvsRJM*S*jN$to9*iS= zmz4fA)#cMEU$A{?xAq*Dbjo?8XRvwk-S+&NAran7>OS?j%f}rqz0;-1t}5M`*4=lH zOT*SJJ4Q&;Zu>{OG%spIJ`Ohjdb`Ufbw>|$XR_^ztv?a$e2%7ts#WCym;9eqec9x?wD-u2&s+3#??Dgoc~tiE z*!>=N7(LAW9&Fyqenw?GdOkUo?Mo`2^k|01>6CQ5OOw(vZ6l;XwRNOJRI4TVFbJM7 z`gC}Pe3(^TdUuA`;ts!)-^14Z_Ts|qig#AtG4k4dpYtH9* zfp42ecpjIW%jemegWJ3J^P=DGbZOdX1@&28)R=l8Ua*Mcnbcj@J;L*_cs|E5sMe1C z3um?}cE9IM|DBj2g&yhW@z56}e`xD16Z#t9X5|_Ngaf!+4zD8s~zp-qdfT`DSa}{P#*f#!=+*C>eL?qhAeXVyl5nU4}wJ_BKLge z71W1Ot@`a;J}&v4`XMfv$NG|8$FjZfZ>;5>C#6-2T$)a)Mm`FQH;})wy_3j4Ve9&& z6XNz!ALmU|>W8%31*BVC(t>;y?Rbpuf#17jC@-k?Fy%XJeF@ha`SeMA4!UyOlhTD& z-^{J7FDadSRfNydMjeM{NR!gK)PLd3ck8=+w4(vr9k#B_^3y4U*)PmL54-2_f~uxh zOP_uqa_`q_&ieAAc1_*$VDkpfBXNf!qwn57$xmT%TVH<{pRY{%C3WxM_{Sx~+0MLZ zH-AqXT{j|f`?YQEbhnoC8>Da*o@!x zwD+qPkw3G&7qgvdqe^Ti))g&XdFhlT+H$zzm%(R<{*|67Wd_QdDC&67qY4i2Sl#C z(l3U%6#ZoVdC~Elx01S3yJh%2Z+brSxF@=Y`RNOMf8XTuVDnL=e^6}+m<;b@-PFnD(($1TXRH|;rDD!RgNq4)b{0kub1cF7DoS~8(D5rci`9v z&%@R?jnDYrA=K|!PkH@t)NuEEI%O5d6>-R@$I@=q$Uo_nG8~_{)#%^O&Lw#MWw zpWcgd6nFTHzhfWLH9~n|@#$S$3i)7v(I3(wY(2yJSL=iR8J@=rUSK=I*0acuaffG2 zZd=b~zk_O@^>O9I3tnOQLA3|Sci4B`>3#>_-Q&`v?k0{`IP=9`E+3UG_e6#?tJ;R; zL_1C!=6+A=p2m4GoO#pm4Een1X7)So@CNxJ?ohQugx}Lf8_6H(l(p=CvTK9QlWWGb zbI-HAFP-gD=m*M2v||(HCM>>};~E4FdSrMWFSxm%OS7tLJG(UP)|2uQFW6`DSa%5f z3;tmJ>6BJABfOV4J&W?5Ro&akeV5d|mGe+mbv}PjryOAQwH`~pOiJ(m|9Cp{0J*9v z|3ARB91*cpL~M#x+693EM4;fZ7CWgB5)z8=(n%_NQrV$^@X|>&frM1TYAKEn+ihHW zTt=sKT&^YKHtjZ}w&F6c-Db3YDx&Sa{66PYsun2&Dt(39d~`Qd2z%!7u< zy~c8be7B@wFsXcetphR++iK9pj|NNiS4zG~@zgO7o($e4{Yk5PRnM$7?>3crv(I z`j&QIsD3sXEEqL9dUKt@Y}~28ONw6+f0N>lj?qi)7cKQb`q2>w%xb6XH;BJjZ_rP= zU~iotE*3s?OYm#a6M}x|C$Z68;rI7@V5$Cs;|=2p^5g5=`Lua^959%#?Sy|?9l{$kljss8faM$g8N7N67Vz0zmo zaWLfXOCQqaNs?O>EtB8#GdJDhc`ojK$_X|aCtLosxjirU&GIMF)Gp~`sr@?1r!-L+ zwfs?Z%AJniwEG|Xy}{-e#fPN0I`F^wizOj_!F`sV6t9z>L{r-yHax95T$?ejB#3-s~Fq=#AS9{K64_O$dl z8HD*7L%{VPpu2+y_Nr}sxwe~=y}mH$!uOZ8VvKe68hj^~(vs{V}UM903Q zSEc$}<)2CuACX>^CSG@s<&TCJk9k1a{Oh?6=%yE~Fvz?m_??OG=6rg-^eP)a@&Rw@ z{rlHhzEb_}m4=rl9u0ccIbQF_-bByF6UiZ~t-RIpF+N>mFzvoWek$qzlhWPvnE09W zZ<9YyiifJ+$>7R6oaL`hieGVKQDS(h{Xg3S{n=_yGB_xD+__KfO8UPL|I_Y8IUipa z?4t8S*=5{mh5FU9)hegCQF19we0rOw{Ag;!?M5$6{FD3%vOW-thHZu8aEn;TY6eOOLoF~ z#74ti;X&zDY2sz#pPxKc@-4Nm&h_P_eU5yk_U7f5pKYC6Mvt7X@v_8;^5d|Z0u3Lli7vo3U-<;z-5`KhP)#(L69 zqbGx{+YS1eM0S*Rzp3()!SketZu)&HH<~)(dT;qFuUcjKv++HN;aTko=_mcM>^P|` zzRl>22X1vh{x0$YPwg?7jlWOn(eTRs4m_#6M)gdaFAILAeaC#ump1>{G|0SF_JzHl zZMdKOhU7;7c)qjr!FN_0opoB#{H^ zpwBG6*V0+Xyx#+DeiQJcayfo#i_x>zr5lYNMQ@Tmr`=cN?cbnu))hBfI(j5Ix$Bc5fBE@;T{e+C59}i#v}7Som7UVopz0y<8?0SCO z+oF224k-JGrrwg<`}fuEq;j&#i5tg@&ic>>dp;Zgf%wn*M(~^Er40wY)PCMh!TO)Y z|G0PR{6HTc@ua8K@5sLJ%Nq?(25*r(nNKP|>oxLwS?zbBoObfC^7a2HKDqL^>Wg2L zUq}X@8MAa(_%HD-8r~DyJ9D}8%N5=%eJ)KrEj>Zr(px|IW69A^KDEi7kA`2f%mMt& zxjCOU2R>B3x7S0bU#eMpsr@n8Bl9`gA?tXXEuHzzr3Rzn_o=7SsCXUCm@u%i`U^G?E>-qLEXZY|NrB_+)G(C^~mpo)w{&3k~ zR=Zq!!MNcX!x;zH45rO@h|auD`WAQ25g(Z6tg&?bfb1sjJfU{SjX%lG;@%JUI(xqR zPm&jUw!`qa@pJJl?tEPQ&00?^G}_@(S9sobXWqTxU7w)A8$9{lp;Jhhwk zuo0uD%}Z1c{!4OazOMH~Q-2rVv+=s*>WALavizm`-=zm>_lx2W>-MJ^-46{bKkH<9 zKYzC5&idAUo^)53?U(zDEkEm{;v@5P$v^HrvMSIgR1emNZ!w&Gk2xO5zLwFp28e;_aM%}<^p zdARcI{ADg8YidWw!Zw->3sm`Y(N>2Qp90_38xGw^Uym+FN*?AnQ!hqbOQ&(DJ9vgDN)}yk7bJ z_$v z4R3hyD*^VmUTipaveW@tKbPF_N76$-^YRBR-IY7C*C;wddKXQ7Q~jqayiooYIp{s~ z=S?doZmgBuUEwQg7wft~K7-@xmX3e8$pe$(9?2O$f0fbW&Y>zlsXQrtjE3JN{dChO z$nUeh74)tBR`Da6x+wU=!DXsnQrWHiaqk-{Hz{u0W93Fu@4eGtGPpzeS*JeVgR}1_ zy=C4eJ)0dTxWZkdj&$~C?(znkzmR;h@eiyvde&ML_&nX%V(IM1sl25B>R?~>N9Bjv zKi^>K?B_{7(eVFDe`nVrOB3VLE9S$hpDWLdIzdd3wDZVMUvqnRB ze~J7_+z9(9Zu-PgqqANmJ#>Yer5~(+Y%zK=__O%!3NH}<!T=|MEL zBKVWSYj+zxYkf|BI2n9I@{M~Z?=(7ky2N1IdAepWihgszAp3Oc?}$rKf9r>q%RjST zB)%Yb)jO>oceW?LA1ccaq|F!0Zn%F`&$;RUC;l@YxJ%`Ze=GC{GpEQ7T;W8?)6X0= z&&r9W&J&+mZw!9Aa+CBtDV`yDxx)3!tQ!xOtNG;)$i1FVeHs`y_NyL#<{k0}#4n6_=t<>mw;5y}p?W3# z_de*rng51*k6$5v68CVw(W9v^h!1J?BO5&^{jA=@zThImOA~LEUNGOi$yxf~V?obb zyMx^ne=GYS?&cB8&pMad>B@I+xBPzSp94RudHhH{#4}{$vH0nxKd0x@=Iay7&-f>d zyM|t|)Pu&oBgI!&c(vM9YQI5#GVOj+`js|kq~FQlgQ|bp-MGr}9B~1Xf85)YKlf_c zUsfBFzQv6Pq`&06IOIQDe2Av5&;8%tj?vxp4_A9&+WflSo7Jw99kD((tB0z0);dP= zX5UKs9rrGnYtJFi@c#PMvLiovxyoUE{ticaQv8JI(eQy$!(Cy6^gnH`3iec9y4mRH zdGJ5oN9C7U4^us(sXN4nQu{Bt9{luP%kPK2ztv#edo0*#^$^t~?)*XgX1!0in?57( zt2hz-N%i~Ed-%B4o=0ybNArVT_;=NQ_6Gw$$Lr!-GWaLeFB*Q9$|pWba*R8L+wHkh z{qxdu{FL~{I6-!m6rU3RST`15qUaf_7xVjj9M5sD;aLXV^u?+le(|8;jLT(5+4vcH zE-8LM<*iu^P7v)S-${3zL1R{O`m=jjI|r>wO$cBIFh2j&}$ zqI1M&^jhg@_i@#m_!^bVx{B;AijGpf7+=X=*q4_+WaE+ATWWt=&&Rz7#OI{=aq%^+ z?o|FL`mOks6dxOPyfx`>*yDlhC+hj6f7vaDC&j<5Gf3RhjSiSrAD8|yPYv>G4^%(m z#?)ToiGtiK@5$*~s`fl3%`xZ-|GL5fnJ3i@CWAv%9{Z50S6aO>_^+Yoiq1NW^d%bp z_CDn=76M6X053e=c6<(gV_euFP zKlJZGubV$>S$f=fO7_9HZ>IzIL&Zl$@2!^q$ZC_~H+CT0O+T#unUZC{ac_6v^Hh7( zo==KDRXL11@3(Te_fC4j{8@gC{o3tDPX@mi-;(}uk{9z`<)i+aEWI@GtECQzKI*+m zf2a6Ws{crK5KVnJ$hC5x^kjB?9(O)ex976)lI$X@9dW1ONipnyC&gci-&yP3qGzr7 zyS>u)?-Q)F<~ndcSrc`{x{c+*z=|K*3hm>|86VC zm4A`f|AX>V?AJ=av)X|NEWe-m!wr@%?S5YQ@K=KD-vmD~{^RYI&i;Y;6HUFWZFn^G zQt_F7d(49pFDJWXysh`dol8{ztTsn8|G!D_O7PUu@9BQyl-R3=cPYc?HOY}BE5UuZ3dG{PyAqCTl&B{QqGr8 z-0w&y&ai3uvhio-a(>CE1NSp`Nq^1e{d{$C~kw7W|Bop%2kuadK{VkE=g*g@2aZv)0GOKlDTIO9n6A?RZa8e5b~dSu5FM?`6Dtq|yD* zm9l5z^Hd+|CB4XM7fVmr7Yz1N9T&gxuV>qH*!z4BWdCrL;n=J6B%1oY%41(n&(Tk- zzG-!<3=!MYv^I=Z&Li|GNWhX zzf(DWCQ^Ps^!z2tUpab>LFUCP0)D*sM*Bi~@$#UL(J9-MUi_5winy4TY^dm6-=EJ*&M>^72FXivLOFdqHn|PmMa#{mg~3U*cbbK34uDIi}Uu z>b@JU;dEcuKdFT4w#J(i4V*RZ!tV=p0y>w->81XsWv?Hr1-3LMkjtv{BqNq%r{<6XH`Jq>+JmNEUc<`(hT(BtAw zZKJ#C%k(^Yq4&G;UmsNd$}jbNGI-(j%2$5upuwyb_CHJQ_nzm$srQ{m#~$=NaRG_p z^jDHwsr_T=XWV$F^0O}?{%5V*#yt6`pZpr*>a`9$shlYNX5K8lw{f1)v(|m$e_CBG zKg_acO?H4O>I^A$V>Lje#cfzXWx6F!EF4O?Es&;$brWlukwj^mR_)LAh{)ji#A$5 z#&=6CpP%`t_#Z`I68{;W%dV3C&%}>p@K?3dPo_=FUuu6=_UMNm4E3oUA-iI{Dn9wi z`=m#H^2BwX{K+7UbNo;kKM?nz_Qj2Y_~{D&p?;d2_gne+bJ=m+`A6lWK69-cSNQxE zgIVnfcGMytwxw^$SVyY4w|F_tu;bPs(mtw^?WT)9TkH*HU|YyFKU1H_LCO-TT!)`kC)Z zUs->+*YXqhEB~9-9#Z{F6aRXb(OF-X+!-(L^WeMy z=O1m)C;fGjJLi+GGMxAhm76yIy&=3+klah{-{|?$#ETCao&I0^VSFWdrro!Q?@94K z*){vQ@<*48wre?H`SZg#wx4DOcwCH;lsLsI#Z^pbt>j^(GH8uLKbpJact=TqX| zmn4r;d%51{hqkVFpjQ ziML;2uvGtu^nraRy~oe|Mf{07r{wawLiyuHGHUr*N0D9mp+EdOZ40jYuPF73{H#2Y%b^csVH=>AOx83(ou`kA8InN-fc z(}8ETE5=ppWM8HFf60E?$Cus2y;0d|+Wd+5&w7IVT3UUD_<*0&^RE1_ zTOH*PpWif?4BnuAvQ+>5mPp=qn9S$JL-VR z;8F37_=+oq7vH(WVBEMu`jCykO?+d&SAM|Hygh&KeCc#TUb@Nyv)X-o4aSW(?Qp=PUzMIjQCK(hL+2?!`&ZJB zDEgiF!}{qS%OCg7RQ|MkaJ>i5T9N2!_19yDGk?3oU=)38x8s+%Yqg8@XxT&3pH@4v z+6M8FxTYID`CK`~jdM;^awpC!_}j_dE3KTQc$DPMc>}ed^*yzJ_PlB|71otGH?!9A zb52wBPb#Yy>iPctvTNdCC6{RUNy(GAe)%ExnS!1arjD@uaqn-}8Z1rxXtOuG^R`P2 zy7E#zpA1ggV>st3MjVjwwB+Op7cTMOQFKjc$6(2P2bT0-sP_@~AA7@#b9Nd%?uGL+ ztm7{=oc>Ar6E{Bps0U}9+%)J4x2`o9P2DPg#kt?yFB~R0#=Wqgo>YF9)2B{x%KusM zjdg=-z2UP1!N$b8`QXDt|O}!!Ad5`YFkoenxi1{B@;=UTS|>bo|!_ z!;|8O^xV%JBR;3ix2nCwd4%!F)Gpa6^VMaRpL4q_955PwVx2+abi`-QKkW11#KS(v z=;%Z6ca`~)5A#a#CmC#1J=w3GXZbnDm)Ad*eZ`Fr$v@LSNMAU2qI$-S>&7fU^DNaT zYkfleCH`6O^+RDlhY&%~!>@Z7-X z-qR0wd#?Hp$t~_&CB0@pVUE$`&KspirFw{Cg%6So^;LV=UkZL~=&~`(@5(10G>H7~ zaKO0t67h}m!s2%{JQ?h=_AKci=ZHouzbo9c!SZunK=#ReMs)o0n9=>@+MK`FEeQDJ zsb2JO?mO+)q$k<9&+Y3L)jO-rlfISe+Xb`MLksP>Xlk$Yfpcb(S2T5_>f;KJi_e@7 zlAgqk^Tki}=oovB@!L`dWL&HA)9PyZGtOt{^7ya)mMniKD5j7$DQXrWc0NA z2GxUe-)oGXRQ^%?VjWlgk}LoBgGSHBcLe+VzqpdOtDe}&Ri1S8H`u}OLt70ezITzq zqpGuo=kp8&xTf~1qbMdGn9r|vA(eRJO|7hwg@hKZ`1bXxZm77#fRlT#; zf69+>?sClY80Yn*hsC6-#gEPxD=CGqn3~Q-)iZl_LTZZ=CQHSUE#xb8{L(^D}TlKY{c-a zcBk|u?e-t>;H;Oay{zl0T+RiF&zvKcJ|z9uOD;*V6~@QidxO69-y#1S_g=cMvem7g}(Nl((|4Y^*eSGmL=s$J|yNI&pz;s^db@V9c`TB|4R3;I8C z*miqQ*7{oRN9Kr5yvK;qqv+iY&oAq?4QFujOx1^T!O}B7^SfN1dskX|ss5n+SlXNSKL@uj3-oh_1N|eC6X%*V4oa&(%lqB^(g)VBS9^PY;<>rsUMqRAzIuT@ zPd{{t!K}7ceCC{;^rckaa7#$H!S<)qES@_H`1NY52+mc0DX_QdeG@xS6HcCp)mV`r)d`%Uso#2HB+{LmM3ImYr+ z>~l)~_?3>6g}fgDoe$iaRT1uZ+{x9_qK!^0EIQd2nt< z^1vVIc~^e(I(wdZ>l%ZliC3$B#4D)ZVP18`=`IlZ$;6$qmJh}Kce58Ki*B=Y&S!=6N>lv~{YdaX#V7YTl3CAFe&%N*9-Q^= zdmX>58;IYfi8VpL`pc!~uKZca2RYyD$(Ob6lsyqYD*Yh7Ht&aym7cKgCcmBxzAL_Q z9%z}B&v|IoFB$wXwsMHC7r(hjMs}Ii{xIU8XRVUt8%<3-?7`FO7h4A1^m`Tr{PEzg zXCnDcH~oiEM|x@E&Ej+12bSbpXgp37!pp7;dcbAEh7mRo8bFu8kPrhAx&G~uB3;hfAn%N`15tl1^ zGpP;)Jm+FZI`>oDV~}$bk~eQY&v4>?uQwPC|4{zRl}}jeLD7G; zFYb(9Z#eN5YYh_rB!86@pAg@8{v4z8cayWK{T0_QFgzL#@-DR>mY%bo zz0yJUL+d0b&f`lTqo{eO(UX3NJB)jWj(PBCINjy|eyF4R6Bm1>2S?wQ8=ZJ>m6KL~ zzt8CGU(9p-a&A}eVLkj3!~M*YdO!1f=^^V!k`Lp>pwA61h$LUB{oOg1zf`}lVKA+3 ze#i@cC+J^cTzXroe=^87+9$nYJvG|eaWaL&ccPqJ?z`9;wc@;{tg zyVWcGRiS_DyiN5_tA{l0IqG$crL)cv_}K5NKCTe%Podmom$Un{@thyE!2C=^;b&e&5 zv#%uokhOZMKl?6vj&s@48~SzigXpvDn)%Ot_FPi@i}bA2{#Db1`^j)FhPXM&D{Gy0 zr_s4rX~Y51!-fZP|3~l-laqDBv)0+-FZ-=E2Of8V92sXfJoxPW4fK~mkMsKoN)z|U z?0~Z)!W}N#z0M zW8E|GxAyK_ukV!{IY+j}@|7lT$o1zs*(2)#;#*R=PW9p52+@h>k-uO)Z;9u*xO0r` zC9MvN@7xQN)90?Rbo{#X%1zH*?!eKrwMO@oUVbI3C9)Gg`Mx!x4}Ce<*~GZ?FzJ6} zlhKLS()(TESCTX9E4Pc@{JQLs`v_&%uKWh+VQFIOW=rS(7u7%RG{+1l&adTwN#!LQ z4YFSq>d_i$d(q!1I_rOV`%jZzxaq}rT7J%Zh|c)_GQ<7M`QmHb`>5WVwYI1poC8-m zQM6L}5qFLjpNMObzjx(NNpHDtLG8d_Z1I%GI@v7-DLI$#Ik_E;1bwcZztxeNR7Tc& zVAguZtp;8B*?NCc`Ka3KC-+E?DMxzCy2K*oD-5e1$zXV;;l#NFeJOgNsrh^l02g5FS29y2d;E_e&NM})yE}2SNQ7P9y;Yq z@8jMZcZT#s9x-}a{j%E6xKjR{^KA0loKrX<l34vkN98dDdVi29y}=)qlR8Qvf&hjy@lHXvQ z5c-$F!Q8Iy6=dIE^<(^(m(#sfiw$u{odr za8Jk|=83FZi9ei2ko_>;7G%Ff{=-eLmpw*Php8OiyTb84=EY+k5cdv^R>`O(ix zzd0u^Kg7IW^sF_f=_t3<{(YD)oZ;iC=)}M4{rIVd(HRelkAB99zom%<+l=mq?ovKi&f~d; z-!8pk|0npRVqv!@ANSW336H*J1d?e#Nh(EEwY zWEW|7N#I8Z zda}->^iqA(0ncOX*GfM*#~$P{dCZ8>qv#>E5B|s=Wb%E$J!7t9W^Ht$!vS$|k*>71*& z%Ny*zSoN9R$7Nqf^74~s>{h<&%hV3irDv}EBH1_oUwq&mW63EQY!2;i|3>;l{8?^4 zm&+f=y=^KdZd@ZfWgevZv2VE9-b4Jv*#^}(8x3-QhuX_}jqD*BzEpO~d`JF+dsW3Ry9dmZpLwn9lKT}^UqAWKh=YoL zUF(6YhX*~1Ub9Q|q01Vgw~8+{ocCX1c&Q%rmvv#;1@Rg?ES{dy#EeCKbdS5z5PnnpYf~s7x#{k{1}($J)DP- zU6krSlU!Kem)u$J7JsOGe&zv{>!$N_xPwY)cXgHWa~?+ez&^70$Ni{@Jr_6f^{m1BgPqhG z_ZmGKeoFFY|3G$4KP5e3J{fzG@sFx!Ha=&*;jZwyT#qlf)PZxamF$WA|5cXG{M_kA(NNPP|#qRX?-dU^INE?22<1!r6CU z>L7FfpWd5RLwui~Y~1Ui<2Thl>Zfw)e}g_353kvCY4be!CH$G}CYt*6PNOq#6W>ei zyLKC%^nV@vz|1oFH9zxC=_&W-$=_tPMbeYB`y#!UbA+OEKdJP9`O02TIm~laPwY+Q za}VKsD?e_Oq*qD*4(S8&*K3W=Jx!{=oBp}R3G5e-dFaF^h!5PG-w{5${#|KFPl=mV ze%8~2Tng7qUd*@kyq^r~;EW&D|EA4<4t7v}f!fb_OLoM* zcwjPECH+8dR~w$SE>=0{qvXT7i1dhkT=AXuk0@X50<{-^BYlga=SUw|2bEmn&d--v zKK8FvUa4MP=D^wi7vGZNQ115@%b#w z<#3*n?+U2B#E;6aFu%;}y+d+mT%z)m!B^$SxZj~}l7fPAiA|W>n8)aIE^9Qu~$SH{(d@ryuI7yl5({TXJuN+QGe& zxgR@1dQH6jR!4b^n^b@Pli!P?$E443@4nzqiod){@9q9t`eFA;8P0u9(kJ2vWk=jk zBRwZx{y|IU9-eC*AgMUnBmF_kaPC!*To@-U@Zijg&oD?_l<2ef48@IYY9IT8(zm4Y zoXhXKD-E~% zhCR@gmrFm1^Bi^H#OJBKj5kg;oOt?09>~42@;}5wZa18DGPRF&SMitqc^q1a_gboV+_+QvOZ<8gZnj)eq{utOp$Q z;K|^dY9D%8wsh93WRHx4#Yf_P4j7&9ujqZH`lq)T&c5PG4>k!+cKq zz&!wgPt6yLKb&(5dRIH@YAZh(oV81^_(a}M{hR8|_itp!Zo06_lP?;cqjoVaXjuNN zcBJ^sJ(=RaE4)j5;#{fZ#`gl`my*F3C9kyE8S^|x{JF|yeze_zbB~b9VLv_hJI@a3 zjYDOR%!}0@vwn85@>dF%`^erO?ny39+#x;?=aSbmtkt#vDZX9h6Bl#7r4!c}?4@wy{f4t%nd|*Y zD;#**T&jArUZD08m!JEm_7=;}Jm-4L$Nuap!NQM%KP)bHrOMzaM(8%8eTriw~Sv zUTXBDIA71RFTTWs^Sz3Djn4i;UjOf3Z*=;diwvgKTgD9fd>qaG*b2ir=ce+B+uv_E z@i@|3zRwc$J3lAIJtp!utOMK`o@<Wf9|&we_Wy4vHZ+u zUS^Q{6{Lr8=OuSL@T?Z%PnoZ+wsh9-UuTf<$2td0yI+;Over)p85fKHtaqs#?$Lj( zzh$DK?=)_COu31k|yE#{&dZ*3HB#*2$x!RGB@#~leGES0QqTzp#{;-ZD zKbW<4OOJ^=lfAQlx6JZqt(AE@zFspt?tDRd#Xi2|j^4=5*hgAp>3$}^?`v?}8V621 z@hwJYzNdB(w;B4W#_Ay7=`TqhtjEeP`JpEcSpFz_LjIQZrSlvZ;~x2M<_~HQ_ISV1 zxo1#(=Q~2OPwstGeHb^~;4Qs!sQAqJ9O)6~Mej8_`}#pYdz*4Tgmb=}f4;-nbN!i@ zT0ZU<$lv=%@qu;Ms?piU&h31q_sZdP_Wm z^fRsAB{>jhvBlDpe%QBWzhCdg4}AU8_T2d4V;)Gni0p>%!|Zq9v-ds{k3MQR=eyOe ztoE4rla0r_JaonzdN1n{;zLpl`%A2&soi`hWQXPBywH6HDM|Io#>0Iw*o)+qR{vwn zk?IN?RljIzu+eb#zopMfrLX>v{#5T_A8fg$CzVKkmUR>Hjr)*Rd7}@eWp~WKr6=55 zBDoP~C4Gw&s#16Cg6!tIui@rmk1yszw+IP<%W zPJBgdkbMg2C+BU~dT_>v(ofc@mmALfQg*?=uQYu2JY(Egoa^%=;!iaEyHKCXNW=2^ zq5n!8Fs*)CbmCDOhI8JvV~~1{c_8a$@;h;7eegHYx5Uq+@nZtD;!IQ@`a{_VN$Wg6tQ+nOaN|}7PP~NdigB&l%Y7ItjUEkOHRcUY z9kwFC7wvGM#H$4R>UL#UCSObEyN2Q?`yMKvenN8hLvNB_f}eVhc!v?E{9jc4xv#wJ z!I@`BF3f-T8IFHlW{|igm6KM(eKo{~N)GrN)i2S@iFe4tah`%u5`}bO0H?OEqOD3yv6Y}_f1GYv5%$)Ppi+(^=L-z;k?Cq zqg(v60}?l;a=0g7c9YePnrC$86RL0Ac;^Cd_;^^SC5}>ZBEDg+=&gsOhoy;wsweXo zjW5_oyV%l+Pn2FHgU|0ZJZ)Yi`{lbd%1{4sor9kA!}>7ua`A_FxeJZX{(#D(zgK%$ zUz6Wr+^u$VKf_(#o-ZC1Cw-SH5(uLB{vW&-vkD2hKd^Dx>o~ z8s#Tl`o(@nUe1Y?Ny}Mw~q#owLFq`(6h;ko|M{6ZG#2qn9Rb z6rYKcUu8IUdXGWkzr-)rk<>pi{y)@14zsk86C$J*=uPam8vc z`!h=%&mpJV4Mx$NO5CuQDE?)&|EKz7?X<(KMHcUk$& z)5ZU!c$Lzbmu)sW->n<-K<2+A4w#J>_Znp1ReBH&#~TBFnCzJIapDtl3I4XaaH*x! z-`wwktglKge0R2CIP;E`1~3xnXqVCOL5qEcnOC$+-@?of|O7 z`l9$w9QOjlOA}`uFz5=0NKQ%rBXc}B`%6m=GG36p=}!f*zg+J=sQjGgQ$FJL?{&)G zkza!k(j!0fji%Al?)#e_NZhIPkoXMwGvYJUPWY&H@m(Y3CtgtcOdLzzo)zMMY2xZ! ze@>lmkKZ}e(v!jIt3)sC z+-Ep;y4)cCNAjAzmmNPVf9MK#uTZ|}!&QIu^ioHD)=O_N$bAnghjrLx9z5yawcY4` z<~2dz>YrDASO=Nn*1KXSd%xhG?T(b;DSa_WWi?9{Mk zbjAs5J+RciS$Y&jFBx@)*FPxzWIbYy2Tv*=*lBdmIY^GIbBOP(ABKLdd6wG4yjcDR zdlH}H#;NN6_wJi2N4`@4ZC)O`DI) zpK#7t?c{v6^n-Ok;oMUpd2)Y-_>zr>??y4c4*FcbQT1V-Q+1RdH%4SXjCVxmd#T&P z`x??u&hx81QS=(+^OKL&?YXr17S)S&v|}wl@vS!+9e!*yoO>ifKU%v@@@0MhR-M{r9-q*nY-r{RKXwnb&#S#Z`f#IB26Q7Cill+2DO`b&uyX?50!k0L%+rFto9t`_cPB` zyI3z0ABl&ZW9jTe=lr-%`rv2kqekccUFn&d-mm_f{iutL&i+NNC-s$v6VH?LJH+p$ z&A>0>v#zl8w7dJD2XgLJ_Q`p_n~d%Xe^)(9^&91P(Z`cLbjC+&7x%1*Puxcr6!}4(-eajgfd|B<~z2YC|a&I#_;|tZF^^RaS-Ivw9@}Cg+HFJghALHnYjLvri z#tgEbJJ(>TebHVAv#`k5nCU*hRi9^W^R-qKHAZqE~Ua)!ZZ zIFlWrpIZ%QUu?u6>w7_dmE&c%@FOvL)(Yo@@jt;1i%;u0yPwi4y{K^!{wBAh*ND%I zgXJH%7hUDJ=_A!1&d-N_qPtLf#Co~(gztNaAI#q_v-h%JAe?c${PF*t6QB5*cee=CW&svYk|CZW&)!wA?PPLbFm+B|D7fbwz zd%qQ*OYOsQJ-BC?=XpOgt@irKbMyCI8RQ%NL2`5D%XV2l`UCj`{8iC`v#+2@?~AFX>`u3$&VAqcBu#FJH{iC4 zEO~JcW2jf{Te||iC%dBk4a3uJh*KagUvgz1YN3aYKip#JN&obqKNA;?d2rSX^LqbY z{N_HQ-3~hAa^+{7q;AGoa>fdaj%ccVZ0;xaPOBO<4mT-0yxiFaIcKHz(Z9DR+yeARtePx3|?s1m9 zxtBnGfccy1Oa6wXGoH}63qNw36aFsgTNKS5wRHTN+LcxhQM=g3m)=KH$ErNy&%{4B zecw9EKRf>OlOK?N5y@AHMyS2$zwDd+uZoq+{4e)cGy0AT@;}$;Hm)(qx#ArL(f<(#^9 z9_Xg;l-)63mHy*TqzA0)jX2WLQ`s5wdbNx3UCTpHiWl5q>GZ$SKh7u1?=Ww<)9B2T z#iykB^KHsE{ieAF`F_%f2Qp4tCVaBK)?nOt&mIq?pAK?s{PeYfe#`-*bFa!e$1ice zdQWNM@1gukh*#qK9LHHY>v{`35KWLC%zlr9{Zi>oT0N+CbI*UvDc@<5PuzI7_=mpB zj^MxQQL4XJ{PvS!J%I6i-rgr2be`;I#$Upesq5EUQ`M&NZ zgWL-hN7h%x zPdELI`z#;pzRMjjDeiv2ApKC_%hZc%hWnvw<)6@d)rap=?)A{QXH@=ydo}kN&Uri4 zi+NYDL*n8?zPifG#*dMllm5%a2ksHL$?+V2*@gV1)z_ayDPx)Kp(zF^(TIFexScq{EvH)Am<8YPkv_I zLC^E-|Ehms-gKqm+~*PU4ZePY6Moz>qq7bj=>2B~y!$it*Tl20P% z*7}#Zh7;#MVvuuDK`#qm737|vtBp>7zQ_adgR&dqEu;^e1C>8w-{(4|_l}o-5$CM_ z1%G>-(V73r@A3T_@hj=SI8Ps1?ntLUS*3ifZ;csDivOA0*}LSAX4g-W;>xxooqeK) z2fD(noxJ@v!_hCD zy%& zym5{LCWCNZG46d&dY-j1*$45m^ORm(AMpM&gI{T!ExEua`3L&_OFiXq?(r7OpN*fW z_WGGQs{;PU4F%}MTZ{BI? z?6XNvSqBn7*pFChbiOYryW#uTa}DR-V)Y~J6UtAf%@1xdI`@5uf2E0k7M=YI={4UY z4|d!8Q;<*Nr;-ETNtM6A{-rnE7k9U#7(cW^{)KxhLVG4Up}m8S>>;g&I0V+qB_Gy- z_1>hozh=*K9%q+9`t5yQFvOJ-&n&%X{-<`a?kaxUcZEX!Ppch#zfARnBR3eGbDKGT z9@X>Q8@9>le&&Z`9++0=9Wcmx+l2zsHFW(eO7U2fh!X@ekuh(UbmHciD5q9qn+y zxOcAVkrbbih+g@4kY6F(w`}K`jgG&}_58s+-|=dnD}R2}kU2#x#_n*;7H~B0f8@te~vx4?PD7~8RXxmp9%Lp_{s0xYV^{?3snyHqlh2O zUvKr$?Y>BZN&iZf$9*x9Gxt!ce$3x*aHRX8({p})N_70oV$o;*x9mwzyVu`mko{%# zXRLdycHmL8NAG2vtMZB88+B0mKGOjYv^aOevBQ?Ztkw_tE3evWIB~V&b2k2mP`}Ee zbsjq3ziV4M`&}xBak=b*?@Gzu)9xQ{uzcL}D|_S|lkA1>wy3>+GOVMcH`^WA@C&j# z>J{{$x@v=m?q{Boey~1zn((22U+19ny-e+&eM-LAm_7d-r&%As$W)nMDk_c zu5viXw8YYh|5W+h&!zTq-@NpTb(tWSR`Eq4-yyLhKl8%{h9~`Bs=cfqhkl?K?qlRW zFxlN~d?o#O-I2dk|Fi6xd7JbrtzLGQ(fwqs`V)63dmx@m_2ph6=`C>}^SttXLvmps zT>Z8ye^uo~!@t~P<+$mW$p4huSI@Qlaqs9YMrS`_XTT4YzA^v0!{~e;L-m~9A12$B)jGw+nYVv zh>s2O>fSECM$ua7KXxy<&#p_eKHISTe5ZM@LFU<;1KyCn5w|qoaMp)+I)EPv>-ofE zzS8h$D%^LCKa*W0{qKbO3~pC_nb*r6xR+A)5e={0sON@{xYP4E--Q#5h98jra9&3G zz&oR#l8vEg$=C8VB;7gZnHW;|=j;cAb%Xq(l1$AC$dvj%l+a8|OqD z9>{l3WEb2Ab-n{-|4w=kcNVF>uKauHf2sX5*=?!*@B6*-9V{C}Ua~jlYp*q&@!+w7 z)t^b9lj5J`|43Tw_~APTDxZ5q4p=@nJ*4{JcO)O~BN}ngSr?Q3kmG(2ZujUK#P3KS zxPL+AaF6#22buK?)idsFliy(-Uwq_TdOf6XY=eQfa+c(DT~ z?qQz?f-f_iY1>@}|L^?b%wwt-?Y-RSJR$q$yStJef6L}ow3`Mf9glF zPws~Z@~>}|y|d4d*W*s{jd7gx%avch#q$>8Py_5Nl0Fbu9PF_5J(Y*wyxYoW-%R}H zzWy5x=f2#n204eIa*1yU?`>Zqdnb-sV>El#}1^2Lq+yu%>h-&20>?P~`51L8k%rh)&Blh=9jao_1ZmhPtSmz`we z;a={z^QyH*XCL5352XKAJNSN`=&WO?pNczs#DDtD?Uvt7KSMb22lB7%M~@ku^Agf? z<`1fOG<^Ow9y;rw!7ns#7ynq#Xo}u?`-nmA(^zbfdljS)#2p1cPz~om{mchKJ@W5h zF<+H`Af8?PPx_yhUeSMC9LoFsh@-q{>PM0j_qIuo@#}$~{Tsy}#;>vm;^?IBe4k1B z!1*}&J^BgfDTZ~a;|vlXx5xpA&ysy|E<5nQ81Czxy&p0fep-Hjd&oC?^26U1_8jN( z+TKJF#T z_4TsTEkF1FOK<(;(c%y5Op)$4}CSj$;q3Y;WKNc zhjHh3TP+>RB7?5{tL+B4&rtm5oc=vd^vz|1j91kz;$L&Wc4=-e6Nh=y8MjJLlS;5t z_KVgV-M(AqfQ)lA{^Y*Vz_-F-n*#mg(l^$5|8}ABKl^46Oa_n7HOTtkQU_q1w?uHd zp!Z_G^8Z;LAI|!u{A%1gf6S9Vsa$fv@-vPVKe^{h{Nw(rpbwLms=dT%sDEHSr2d8e zT6!H#y+i(-xJo_G_a9U~_X{qz@=Ns(OOEX0NguG2tL=ShbML4@<_(v4Amhrso~Nw~ z^yf5;p7dY6OR%y??n+iCgy%%?^ju+$FwWqglui3d-LZwl?2 zyyhHBM?Ncz4qpO)3(uClW0!5Cvu}A;NZ%9u#YDAeIO9H*!}kj3J8mLE`Ae-?aM*@jveM^&Iyt zv>fT|j|RP}JSo01&e~{n`W@*x=f^G=K72~B|B1iu@gx%u5coGZc!lBYPwRcmJuxfC?rk&3_j&`LXL^!z zss64FMo*h3DL?mm#fGyVe3vtNHLOqauk5ol@n@C8y->14;-+%@EWE_>qp#8v_RUrs z?kA7fAvhDx9TP9G+;F~op!(Z)MLalh?Wz~|zKSoztIK{^m$}sPv%Vm`b<_Lqwfw|O zh!3m}sNL9;+QWAeg_GrL7xKe>P#TBuJwvsN{RPRLbvxN1>mmEBJkIf*VbITD_vZXe78{*$kLpjn#{qA6drI~ZMQ2Js*?(WEeC^Mw-OSVUKH_(z zSBx_kS~}wc=_T>G(kJ2#)PJGp;tS*Vm6nfqfkg(nCrt8U9i?tK^OQXQl6yQj>)Cn^ zeY#TV)Bh0ke6Ub@$vrr`jZTdvKfaG9ez5KAo?r2zz>cF`tu|&_%3^Nh4;$-(8GC_PW+kpIUE1N_Zp<9+<&vh(z$O6>x{=xUvF7{)^55}v~XX5V_RtDM#JG=A-?mdc9$mJD*wQ^L+xSRNBTkB{T6#~TK(8g4`koz zGQ(NNlU_tq8`NIrGioRIrEa%$o=|%^e|?4F^h;H5)aHj(KkgY-{-koa>d*dl$I|h$ zYYj4Q7JstV8}}Q|{PGgP?k&MTbl)2C4__m_jXM)t9r-w4oXh1%$t|n>?jED_y>saq z=brw6GuJ*gaXLlOzrhggwt^V>`z2SwIs(ki^q*t!+-;x*i`&N~|F!kDyZ-L5VpXMJ7 zk2^`=WAPESD;q!lUdx{hRtRT(LVDNE~#97!15ChBz>S?S!g)-5U72eOA{YhZ_oYJ-M3ph@fQa?kozXY_h{<9 zL9eE_N&h*gm+SR6#81{+q=%f_$?a>O^a;PB=ZQ;>tvpwFe#aS{{`gG>x$jSYly#cx zJUH?8Y8UHNKl(H{-`9}-axbUqZ}%BlKJG1RJ0RaJ7ylWL2KiJjP`mh!mguZY>pk4N z)$rt>T`wa}?KHzVm$t+K`7W#YkXGNa&4VVDx2_lrNQ54J2n=k%oi+;hCZ za7q>(zoh!2_qThfrHR+AbHHr;h!Mk+O8CAraWp|L`MzK@^-Rf){Ve&RwEGLapYyWf ztDkw_-Bu3qE@~(HZ#xVJ%I|Uy?qUy4Jd4^(y{@)&MxQgcRchxlFA(Nr(){~R@X*1AIcAx^94!K0~v-{TAphwrJg zZzwxt9df>hOx$MBkH)9umx$9|XLRBday|c`^pSP>JDlZjhJEC?af8`G>?yjz`-V(qW_ii`)MC&Wo;RB+x z@3mgareEjZgO9sJ=Nurlr#AbT2u^%b_bdKBivt+vC?4NXkhkKm-`JJ!P zx4S*~llMlxBObtRLCyhp2;zri{t(~5^C<6~SkBS&*E!!<*er-$(y%=73%4)KY_pyY zGjDMFS$DiVkdJk-zh_@$c_7}5+kxLhP&)UMw?-iSzezZ8LtPGfc35=oQ*IQUco7~i zycc49$UCIwJL`MvUHtl8U(QFaQ2tWi-eE!hXSvO$*KLnr+;dtY$UP173%$2acs}`& zD+TdG7&1P4%-Bd;aN<5J6CFKjInLYv=y6o8e9GgC{e=68^|_H=q0H>-B(y%@vpmH`S>pJW%i|R zFM1=%efCc46a2KDFK=J#?>HavIN@AttG;iJ9U2rQ4v^)E_=DZTStnbbd576_^kt9e zoKIRWVeh&sfTMqR3GzW3Q z`Rp;*hxglt132&2Cp|Jb?S9B7FS|!{;z(Fd@Qd~MXJ5NM<$sUmjP+2_ZyoLz-ZQ>0 z@*U@f<~R3ZEidKDu*+|bJk)i}f9TdHy}#9ZT{w z^QFZ9u4fkgx8f$1n@|3Hw;+B4U4qy>+;7BNDdhBP{+@XD<^%7*6yx-wS6naR zRhiB?LLtXJ?qBqx^pGtsEjm)2{v*h|H4vXp2 zcW#TMQqLrBb3b;w$|E23c*almDy1`z%?kkJ#qA=VvilSJ(_+zEarp2@PxYUE`U%nT zFS4Fu{kANE$By?ETiF*u|1MW$?Uw9`emDgRIXZ0L( z`%AS?Sl&4g_59Q5IdrdnkNZn!1|V@^&A&#^E3H4{)S$~_-E>VP89U!`!uoYb1VLZDR1i5W3(~*- zp7*n@_pzV5-K;bA1(F-1$5VT%M+*Lb(tIG^y8AcGysZ++$9$anx$T+V0h~C%%MGXh zdLV+qf7b_l=n~=hIUNl^&Xe4J=ASfvMwU8XD_$1s@P6e-FD_Dk-siS{z}_^F@M!tW zvgFqae+v5ds!DHE&-1vZ->eVlpEVIWaoi3GV%M-7aqnq3faBNcamzg}%LVbou8z>z zCnbJOA9p`sC%#tn2LAF+?|st^g1R3RfTdce$1Q%G{(bgsuNIy2@3c;<{L%8s`%=~? z+4Mi(9ZAQ&VR`0W_{{;7dZzxte^YqNFSIn?e`j?1F6$xAGt+pSJR_|irqVi?cLMv< zcb!E)KXjRJ;+t#`WF1|||Cd(@=l<0;LHrQw5tvQ?kH6#I!-@dfiW^JZskOozqwDSz zjB|M*7st&%&h^~?+=E#Wm9J+{RSi#ZQ4q5I>eeXIY zI(}@aoke^y?1$?_$6w#&<5%nXiu-8pU;M0GF7dXGMCI!}dzbR_{;=!GI@seAf2lp9 zbC1CN(WriRI0_$4_xqU7(zxz>n#*Uu>Uwg{Qd2(O!*zf0PDmcW@q2K+n?nbZ9_{M7 zR`ll38{QCs><=yHoFm*NI`IfB|E#+#M~%@<`$Xq{t;=UzCw`9J;{GB2i+>M0kmmvX z1l)f1d1+o4dsCu!T)k7}#E$K*2k*Gu;BrTMEmzs}jN3z;i_0VVh(Bk!ZT3FLbo8hB zg1&S)dcQ*XX#dY1cK*sQt^_tlKVkW%zgGru;>WrCQs1V#qwycRKe-2go6eqxh?`)ar#SrPpJoR?C85hXCFTz$T__E5N3Yk@0m~hyTq~B?|kiF@wg^l zy!nA$ILX!cO|C!l;Nn0zrM_Da7>+;P{l&ZTE*Jg0Np$q^c@Y@8_PC$17Y&&{wav#8EOoxX0#tac*xp#@=;J zBp-f4?#C>9(>CF(0}ZK<^(k?w%~$mBRZ6G-uMa@pliMmBd(nU(=L}l{kbBPO3+G-( zl7s1YS$=qD%I)ENtzjpoyRfzkoyAph_~4D zg+EXspFMYqUK-!(dgill-zS{;)8j6m{YT3c=Zqbq$BucHquBAy2O@ZRWU=|jyOBqf z4(@SLo>=H{lTW^ViRhv2U3W!bmi^dr!g}Pl8o$KJ?2m?L91z6csHlH>=OLS3<#u5g zo~Lxyv&QjryGS_v8Wbdss{5bw1@ogZy3Bkl)n0H)>BK=aKN-(S&gbr_i_Sf>Bv%s$ zD#oYwc{~!oZi#TdbAR!E*)7J$XZHwlZ?)j-50?wa&YAc+`+-vdocX}{;oISq{>$~I zS5jOW-UDmQOpEZBkw{H|4x@PwVU~}wC{=G)eErY@v zqaP>>QeW4H_ize6ePD;^*v~D0+{19cu%Gb!8>j9`>!z9K+#1QoI>qvgUGhZ2yV7_a zzwuZg9sdOP7v~@51N+IXruX!F-0(h&zau`;K7CLBTkr9XaW0&Aw5@txC!BaI<^yrr zRtE5vUpwzYdAxDXcF6Reot8t!%MFoy*sqKEH=V2UE{FNXdg40eCtl@dZMNRT*@ML%?{G2VWK!g`1_cD*hS2*()cs2x0wfA4sm^4 zF81=*>O0maZa?>b?-tI!r!I&*b_ZbVy+!=VJ>Gdg%<}_r&YeGWJz9_CYmWWC8i1wo zjqV@(`6|M(LvI%3T_EdW_8)Es@3C0_Fke}(hPEfWT-G5sDL?15?k_leV+7}(gU45M z=#$om#J63peAtt>3O0HU)*}#qhHP zAgJ8A6t_H1?W(C<;yWD?y)^!-G_I@ZJe_l-qoRklOY;b9RKMuo#UJtl(eYCp6`l3{ zfMBV%>dpW}U*9U6=iRN}^2vAY3t*f_`}acE8TAN`f9#3?43->Gg zy~MBfuUHO4*Nn#<=UFdy`R(Ip=(|SGuM0VuzE<>R@1W<;&^C9c((z~Q7mOWWEco^= z%QNwaJ+7KV-?4rmUgK%ygJV|-a*k*{UmD+O{&SDd@_@ga^*rO!{4Y#cLPZdN_GJOc{TBB-@6R0+o%_gcH+IO&h2v-9`K3JZ zuO9Ej`6=Y~h2}%KveMu4exmuzy%p;f-RlW_&${872xNZg2td}Og`B_fk_gH@rUQcI z%751a5I>%J1U7q3Q)b{wyZ9=eXC zaojfT^0{wux9G$jvV5=}s048Ko2KKBv|c!V@v8+(eWP!TK?TvR@Fo9Orf9u~bh zl;YoTkNAc}f7@N6bH8P;AaUte1t4|~^NV@R^HQ9<{~potcT4)V?L4=Ob1?ITb-#a) z{nN`L`M59W{=-gvlW@)(tS|G~tKBZ*$yv|vo}b4b=OpHHbL=lISGDc1+c(V5=FpRdgK+k{5y(2s{EQtRaQi~n*rr6^XnusYdv6cq z85qv>8J?=PqR?0Ve+kAg#Y)diU+{QJb?vRuNc0nzn7Q!ree z`gP{bn}o9uF#p--xIV;rDdc3p`aH~BPk!&sv2w3)ojVG0&))hIKigx% ziPvR5H^<&`Jb>rzje0bEhUewb_Rg1{65jK7xf8p zuIF*r96Q_n!+oRlyVWBr0_lo(u6&KrPoGM#$L%VOKgRXuoXqmTdH%^jKIDE&%9rk` zan60EaOBYP!@j>?IR3AeuQ=6F7mmN`upoMIm0&*mevc#8tA%|1?RL>)$Bot-+Gh&q zys<+NKUbGaT-ntDocUr<5Icq2#eRCD@ri%3UW{|ezXQI$JdzK;6t@TaeI zmrnHQ&2{0;-UX?=sp^3M9_OBvn?6>(L^$@}qW#}2`16jfO2G;Pa`D_3DtpSYtf0je}n+b3E z)t72lx?l0rFh42(x=4DKrTYe~*MEH_828$b1t90+^$6q~!S%=P{h|PlearRXexv0F zf0d=mM?KtL^#8L182gAcA5D%}zcKHhh|t-`U8(fex)!_JVbK|nn?!GpZL?m*FT?p+ z?|a?E`+(*nZ=f=8@?9Uq2*R8vj9(lj@oS0lf8I5O#pnj`nt!kKDW8S*I6r_`O{D zIZs?31&6+1eqdj*Tre-K7ac#Dnjq_+bA#Z>1^zwG`OX)fW#_uzIbU&qV(-`{dOrJJ z^B+5S9>GJ`UnTi!+iiUnJ5u~8&I!y9=BL~IU3>ETWnEs^ca5IU9TuJW^fuwx3Cth% zg`Pjlm2ZxU-sri(`jfaCZZB~|EFZiFX#Gt5T>ox!>_A=l^Vww2q-NHK`DD*2(XmsT zKfJTrE4)0h&H9n|?hToTssVc5o&2rK6IZw&%au2{f4Dd3al(9bMEQuf;&mqa#`=eS zhJTNE9D7sxX8$fd>H6V+oaD3n3+4;=pWXl2^pl;ReYyLCIBzbO-!UJE-);V)-(L{< zUDl0ft9<+-{JZRD76|9uBbC$s8?UdhZ*Pduu_GT{od@o&h2RSer?eCM<4Brq+{PI=IiEZ(Mx?F zbN}MUSN#4b3pskR+f}MP)8m8t3@i0L_XIpI@cz*fe_z{pTri*AQ1I<)x0m&n$91#! z`}aiB`PY1yKiJXEk3jry)(GO)@89Qq%lv2j`S-Hve=o+%JKeuo=Q~_J_p!I=JM`%` zLG0bGH~sJaXuWp{-TEl+KGS@}@5|-0zuBYj!puiKPjhe2{ofdUWJGl4=Tz^p2RyDh z*E2uSXO>IO#|Bcqjn2=xme&QGOPg=32i(8xTP-K@+j0Kt&eX4+zcG$I^zOj#we)E| zdGoyyj5rA{C(G`${BRz#IY7^Or&lmeonw9y55*9_HrJ;)^nQ;!>@QbF^0Cf${fPr( zx!~P{q%WsGv_j?34@;G=H2#7@@4c?z!???3zID5ZTb=aa(DPg$;>x<5()jL;DhK_v zSmh9(?WKb350l(Zzo^G}-|kg{%+n_Vpfvs&%PsSc$1C<4>lxlpJ`hPK$1Q@T+L`wT zAn{3ydXG4NnE4Oq$N$CSmv+`8`S5%4?>2j1Q}kncS02A-w=2s&Y5BoV`zqz<9lxD| zrP|D!1moO3|E}J*3EyuBu zwx)7g@6?uRy~X%TcKq1U>v76H+T~*xI;s5JFF6!}*f0D$#BHvM-rBd6#(#8B>D(iB zzYw3s<#7M|gy{HRc)YjbNHlwMx3fI*RF8u&^UJ#O;Wt_dK-PojB>X&o$NI_q=Uia7 z(?{o}@_X;`xXZFB^O^bBaw&gze_xyRIEhnL*Ms$w#}oEK^PxPl(Cx>M$^5~OudecW zpKhzZCw{Z#lk>@2MaNFmAv)`I%PD%(a>RWN_Y?0kn@`N=uTp;Iy?KIJXEZ;t=X-u5 zZp5w#89R&nmAFRM|DkR20nv#Q;Bm@+e;|MpPucT9oZ424;LLv;10c?wFyFZ!@9~jM zpLJaHygkLaVjb@Jp)}sH!BXvw)=R`+Px`9%{Nti? zUT~ve-o9#7FmxsVP43IO+`RpslcIC)Fpaam5#PIo;`Y$L>w>;(dw5U~`$5r&PjmIdnoQ7&O?_8XPs>QM?CE<5uBR1{hTMX3&*~{P7pn?NRWH!MgJ}^ zKY2fQWq{5-0?QBgiH<2B*l`|G54CLVmD@ND|O ztS1^h*C#pX+)>mke_bFMyH+^@`Ca!r=cCJnmn#>f@i6{K%GcetGeE}=;!dTP#?yN; ztdBf?xd(1~=(=H8>73)v4?x}j7T$WF5c}O`(aR(I?h>7MGMpd(PPdEq+}$4R7Mqlh zcbcqk^X@--{4{&3Nso4(D5vz2$Fuxug>x>j-f-lF<|p^;wnymrqihtN{g3An;u9_r z&iiQF6MUcf6S|(iH$vz9wNLa??XC3)#NMzx7az1YTi{0+1=)@~d?X4`eJn(y~M8~eWS1_Ob z)#(Uiz2W|A#cyl$ywvr<4(jpE{nLHUKl$B4uD)viGH+jPdizC*FV%-{fK?adWLh-t)g=-yU=j*MfXNG<+>gCZkb8D+2X?ZXgySb$%+o8)hcJ`k8nXVbN7CunHG-wu_0C5;hPrU(_16X< z=Z7lG_G}wK?`F_XB>csoy)!x+jv4`t$|>@p~<&t@_|Uf0gL1 z^A*;ScSlgxjaLg2U*U=XY>b}ka_}4XxWXUA{Nw!5<+ASed|4h@T~mJU7g~RDer0)Y z^qgV-u}-#pvTk-iiBHboo8CbvPn_$1#tzpXDTjTt$2I$mi-gl(I|DFwJjLx}edF=l z9Qu7(boLdVheFraE!WHgX*^Ecd|xD;xY^cc*zZ>f&)a|F`fyLndR^~}2I$1uSfX_J z{~AHP2N{6O+na^MpJm2px4R!&@xK2zE>>|LWOB~+<9z&}zH1JRC;9Jwv-y)v-)1>x zpRix$g_&o${oEI=M{wRj843XG`Xdq8sJ?u=aK^9c+4N5=|JVn1DV_S?B3Q0$e!U=m zEZYT}y;lqeV554>^2NHu;{bcpKGE?j9*jWxx9Fey?i9T_G?2z=$F(k(bF!C+&V3c* z{NjZXoO>~@7xyacM;O|U9~YhV{_z0Jvj0f>urg@*j2*u^DSFkICK zCV86plyU47?qBYyBsuTxGhdmH&42cdE}wI?qFw*AN#%1N%H=f2Ru2g0exm!A_g(iy z@X)o{{MR|L(pl%Zy^ZR(EkF1lxZkqr4TkvdZPIsH=VUzqc#pz-$Y+muT$A7Zh+SuQ zboyh>2mE!t?&Dro!N=tHg1_W?m(!R0Y|xh#;mF;h2!!8mZ|u0m-|?=2<(YZU?ZPhX zd7t+pYW}YBPnQ3@`=+YCXWhO*^sMu$V!nHc$5Wj8qw~j(AJiks_<^Q&k3Q;lasSNq zXB|`g{?Dy9uoLtvf2sENG+&K8Bgs?yg9E0IuXFy!=#1;deS@u{;}_|C_~k4V&iUVx z04$9^&Glp)n-9d7@b9v|->CFB7p?z^fAFSge0Ab$?KAF2{6UNU+3j(_KEV7T?!4Pm zuKer0`YxM3BgxlHiZ_fu;Z36BFIKeoJDY`LNB4N)Ucfm4oby!w9`B~6c8^aV6rKBl zZa@C@?%!tbC6|ld9Q)ksBaroQE=auMG_HDIcv5)idN}pt=;+IW@h+!xez#6Ie)?_~ zdfxJlzUdboKkKwl={vZgl2LtKI zqve3}fW^Y`t8qO_eV=jvWt~5^ykcLuN$L0>TrJ4HV}W6oUm}RVsq4c%@ZJc{dcpGr z@lV$Z=bZgg!;ZPt0i5~5{KRi*dBV@SRWMH7?*1a4OrP+4a~n56 z@3WYX?2FEi(;_&pU$f ziDXYFPKNsze>soqI90cPF4aEg`eJ`C`0*CYF?Lw5Kg$#8J@-b>kDQ-#(_#Hioce;> z#e8qQ!#T>P^n1VECP@6PLhqb%`WlIJ+9A=i&K(~2#LM0nK)LT>xeQ$+)(ho{e>f>R^N#1Oa^*WopY`pzLv-R1 zcwCn!-eZ1n{&b7z*zNiwkax%K5G+r8YJs56{REkZ%@6uvX8_0U;{4oexkfney6+Ke z^rU;a{Ll5lU*2-ZI{i>2o%t#0udZLG{_1_|?V`8F6Z^Eo0kl**$9y4PLz0uupQU=X zrSp5@g;-9wf8z05s&zaN`K~egWXl8mH=nU9-EY=5bmY|43bQ^uNpJ-l6-a zTv_P)#Evs8N1V6csC;?*We1#ps$9V8-T)oW_<92V=2dCYqMv@TUg@0I zc^naU(DmnCdDo9~&Wn`Jy-4$m`*Eo~lXGps^v_xkuui)$g5%HN@33cBJ{X^_H-4|K zZ=;(0*zv1dsr%jX?!k30OsmWdwcKInRuN0!_b z!8upoBsy{StWUBm#m~Twd8g?3QJBx*1)nZUd>cLDb}=7V-W8Wa`LVO5{+|4@QomxLb7et@&FTpYL%KWwM`s#$QasM(8Szq8E*eiOe?~|@4 z=j`Sq^1LNLZ}x84F39^@ZWr=-y>Q~dnGf7+IUK?B$&b8Rkht=$H|w331@Kl}eBv~C zoX}qPBkNz!E9_g$N8*m%q5SwC`1jBc?!WTLAN@PT!8HHF%sWRS`8bb%t@5Lv&4)O5 z=3ddczvOo5-ALi=3zFV$Pxm45n-~y1PR-sgh&|bQq&alvpz*P8T*gA@)7sA9Dt?Tkz;~+ce*Enf0^Zx`R=9&oqNdUBl~>wo$+UW z;+JW;z#f(OI=*|W$|3H;7JZku|DF2>Keol9H+rsmz3AAvwh3}CW~pGKn%>34-nBzG z`qc8t`qJsx4d#iCz4_Jv%x6EI9ilA-wue5-;4D;^5S-3e|CMsOji8<^``>)vd%)DhW^p@ z$Da2B(OdV|uxpz?_!C?IGj5;Z^qFs+h~z`h3=2m;n?J-maDQQ!y;F4ji9DaS?DCw8 zu8Yb)`>5p+Kj0*PbC0vUur4qi|D2nhZ}PGAK>p^~Q(b=6IbO)i;Bu$WKD%F#dz}LT z*c^IiRgie4J0q|)f5(mR(psq0PrvQ+=6s{50;^6q!$k=6RH+57jk03?2n#~tUG zp8vVe?fwdFS6a@>m49@5sX--@y~Q`$R~F7X)cnjR|KM@QIn%}f9sh+DN@xCax#&Uv z4)Gl=_q;b|J%E09KXMLnLf|-e#an3Em*QNCgU7uh^Cz_Z%K6J9hw72})X#r=r=FZJ)(J-Z`x_KW>W=iY<+tJ%Bq&7$Mab5xKxyCp#-&GEnkIZMw68>AakM)Sl;l9>(eaE?^<&pXAxx!h$Umk$+a}&g`!@tA5 zO^-M1^R6%RlJz&|weysZb))+mKZ{jS_}uy5dl=XpJ9}LKa_(>a!+v3@@O*Y|$gq9+ zu_%0Uh08^LEDw#IyHARaf1&#y`^&S0m&VgM4*p#)H(t9j574n|o)Atv>&=4L!EOk^ zZ2F~14*LG&ey1N7MaabQbo;sQa!mkdJZ~3l4n24(8vnKH6=wc2>F3U$S#P$+7wZgv z$9~-HVm;|`jGb^X_+A-Wt_C9!JEd zF+VuJ^Y~}q+OK@PYq3?3^_<&Dd=YZ}<^n>*t_xKhnU!(f=&4SqPEGOKrx;cV# zU$swk&ZA7%{42aUbn{8Wu}dtUjq0VABi>tdKXRYa{6vqXaWnZjl0>Pa)`SAkn;%lYoprl-{Ic;7SZEW!{Ziz z3%8eZQ1cDH662vQ`8TmI^E^mDC%(+Cvwpz8&*P5!XobFhg@32nyTkon9(knDQ$KZn z{J;|*#?Ev;-rF<(SjTzZFZI2k9;sL8dh&6>M$Z|G0uX;{kBi1=vU@PTZcsY<-{XXw zhI+?Q`J27p@%Q+LEf-!I|Mg)({O(*1^Z5edoXfhN#3i-7V&^blSl^x(m47n%E%5ud zDnIX;J3r@_&QCqoi;my2e>cp0%KgMI&KI5g5SIuNkLYwXexu9hJ=+7KhncH9?ucJt zx#8Wko0O0D5X>Lqu6P~6ImpYDKb!t);zQ58`4N=(LT*=io5#<%qVet)hf>kYRfpFA=U_>OxCmiNZ!i!CqsL!1)5 z)Yof1WA7>Y_ix> z@&4h6aN?ot6U2|j{Lec7();L8f3sWp^X^fX!@W|s7k}s5L?;e_S?h<4jUFemhH@Hvj_LjzIsqdR<{P#Y~ za)&*4g}x)+lljd0^E%_*FY)i-H@hd29;ZqN1&NpA{=*+(P&jdwl6+)e+ZMp}KBVcD zbUxc0+p$M<;v<;fc^G02C`nxXxO5@)+CKzT? zoVrF&@;Am$XLW?0b+)-*xo5UQIPo{lH~Q^q0lZOty64Y)_FBs=expf`b${qS=db;p z`!(XhsnL51 zwqN-e*LMmMKg#uFKC>L+|KR##$9YvCJ$C$;#}6f6mGb|M+spY*x9~>K-dciRO?(*p zVd78sQukYyU3V&w55LIu%EvkWX5$k_*9gzMKj`|fF5f5|Kjd-%a$nT?f;gCN2lt#U z?_p-pzsGwgsa>P-_ul$2^tCIa4aXW zf7V|fXSC1bmN=G{tLE4P=6Bxy;4*!W{i!a<{oSJfTKrq&e8l_l?=^Zpuq=|R)Yo4N zK;9KIKk)}JWFNCnbmFCKj==IrGZ$n%I4H2*W63-e9OAn>s8(#aKG_OE)RR#CgmoQFQhzE+7BkLD9LlZ+T!} zYk6;suD9IAxrWC>mc8OGeaE~t9Dt$g2d*!C?T_HRqhdMazJmJ~zI)tpE;CR0@f+N& ze5~J{pLm~p11RUSCnJzJfc{or1(`HJ`Xg|LQ1udq*J$Z9~GFV`Zmv|Hb{$ zsHS^jl$gfd*z*nsh>&N%2gyX;Kae|+d`M~>G)=!MPjZU8#njgu>dFNAvGv4+H za$ou!LGIxW2=dOC{Cd%wLl>Ej|3~VV&VQ_np3k1z7lH60$yd>j?0<^!zrnwQ zJ;M5r_fxFDh|6PnX%1x`U-(N^R1SVNhXwQ5^J)RexuU=4{;=hqdY=*<`MleoO{a5;=GeuDL}%aY_B4n7+vO3r!sYYsUdo?c zQncfdUCQ66-gi&*cmF;t$hl2wS9XE(AqVb9`7Z?JYkx*P0^x`Az@7H?Vvd^oEPJDUui}MbTbNr_FCHl3lC*w2|j=r=0=bcgO@zVG~>!UdJ zOY@WX$w|+5Cb? zyXf4{HJ|a*P5n7>z~dCXnB-}4{SJMHU)FE{Hpf1DcN832cw9Jo=`z8*`-!PO6De-8 z;>Ra?+K*soyfEPpruMc!SdW?7`Pf3=q5B5BdpFhWcoq4n62zx_Xw@iHMszCX~ zsk=h3+4~PCBCs*~2lJWuMc0VVzUK9!;|FDa^1bsns;_f??$h6?eE1931@rFL92De! zxW^0U2``V}+_Sq^kn=Ft6T6V*m-ph_ADqXp2udFs98^Bux7;eoeQmdc{mE+K?3bKg zsvWc(D=tldjGfs1m`%UY=cy{Ck{_Y*GHw__BI5 z-0b$2N6sA%;N^*Ld3-ghy9+s8u{J_)j!mTBYybWV;jD{2kLx{hHN$CqJheyk zQtc7zbH?RH(b4A~zpeEl`q2GCoT*fgYWI5O!>+qD0;$2Oz~54>R*!(nt!bGT+im%;^9a-_mm2~``8PD(CODE zIj(kJA3;mCvn;pV^I0dnQ5`iu^Y&zi#DBqZ&igLzf8Mck`P?6K|6<2+KQb-~`FzB` z$9=FuPCsP6Vt?PS@^ybwkoB(h3h_2veyQ)fp08;4ra(G=32HkF)kmwyz9^R z?ic(ol74GD>GpCiWBI|}ljLLc(arij;stFK!?PwbrL194B>-YomxA%8c%YDoF<5BEGlTm<(^ zKKriiN@w2RB1n7__ir}c<9g<^>HR0p$8S!{fJ9`-#T`euYK*erI}|%Bw1e_2qyd zezk`Kkb4&HKh8B=PtI+wPV`rJTyk!o`f2)aZx+4O_xO_$$oz6l5c|p60Bls>a*uG% zSCTxBywG}#`v-N=@%J=8iMQ+W^Y-6XOmF|=sz5sNT-+}7ira}@X@lszPqtGqPF-xd zX5Q|O;CcH;-5%lq`1i8u>$i!{eOmJqKmM9<{9Y5^EB74?pkXG(wZ?yDweUE1Nzv{U zFA@Jfm&5xi8oJOz->dkRb8=&3Eig=3D6cSQ;1AWEW;X zvM-X4edO5zkk7t6>5bXmDl7F!P|t7xA+z5nT6r12CKZg!>zNi6Q4-t}p&* zNp8D7)T4apZR`1F?;Vyi`n4EG7g$aj)n(RWE&B@V-)r?9_hQ^{_%&O95O;99%d4H0 z^3R=Xz0UpYs_6Xw{wP@asQZI+-5sKHAJB4$z18WwbJQ<7=MP@T;AfTaTJn43ezV&{ z9G+Vv`FI~_Q2Dtho%Bi848rjX*(_KZKg049y0#bc__TGRSGjU=UGzq^ z*Y#kZYk6cn(kSczy)5a|p#|>mEL-k+Ab;j-v$xNDL;qA#{$@(=*nA@JJ?k>_ z4SpInM)zC)=k1Gzm7jazhRv}l*N1Un{enM%`-gZWUUy*^_V@VXyIsU3@c2UhZd5s( zBm7kWq967NBG>L$)|p2mIOkdWgW+DwPd1IXzsGXTdG;>Rv<&3 zeKPT3XmP=}6)u;!R~`rD%DZn-`P9?>+Z_A8)A1Ku=--{|uv{tLaU>slZh>Il{+EfL z-9v`>FT4KPbc#!copNm;AAVg61o4NlJQEkDVjMfPV0mKcsR+a$b%pR&+)m#2HD8E} zl;nHvah9)Aai6Bq^H;8Sb8Mf-1@e>RY%Fe2IlAv@Sosh42lakcgx=`+)pF61L)VA> zo%6%b!=h8~yCabIxb_IgU&ivuJ6!b$o=xAsN|5%xHVD@KVE!vBDL=P}9EM8|HGQyxk8)|*3> z)NeyC8xS42^|&T}Lh9d<2Tqzk^W#FEesB5ByDO=EL&N@_^Tq3wk9C~ohxaTCx%sTe zM|14#ZINXBiZ%xzaSZkg&%0B+2-f-TSNy`(E1h%p8wH8~;d(PKT7D__PSM%ttcieT z?_Ei*rY=bJY+Gl!E!8&M<@B-h-T%Y|HJ$sh{tkc6O9J2HCuTbOZnyG>t|x2}-u-& z+<)C4q2o8PN3hZJkjH!8ec1hnoz{HjoS~$2#IrKHxhkelv!m)!73No*`9{3Mf z?{N=0$-(UNU9VQWV*DyC|GZanjlL^a4mmw&h^w~Kq`E}#40E}wnFA^jfbK9+ahAt>tmOScO@dXG!y@gC*N zyI)cl#E;SKz~8ePz{{0E%NzGOmI`OxFf7P8FUH3oEEk+N*F;CJxc}h$-U!ZmvtM-L z_9Xf2O!em;^ML4_8=Q_n?scpT0PY122%?S1u}`{QFwCsHBLL&n zVUM?b^1be#e75tL==tPd881(S)DJ_?tBbCEbp&$m`V8Ut$E*;}_%pva@7*Mv^Tcuh za!#;MIPnQQE?9RI^-uA5v0J-d_z`bZe$Ktj&(ioekLx?urh3Y~srH~>Od>JR+cTpoTTTO)M* zd95Gu3v)ZkzgPM3^XXT5D;{8Ly^9~5&;$51X1K$yUx#*XN%vbi6L#B_vG2xwWF`tPGrcEhm&3g4{Sx)C9HZZg`aG`qo#z(y{b(`n_Z9m5+pp5^#i^$G7CTNA zspNuBEAATmslrNjU`d9!oMsK(?0*Q~E_}Vt#^ybhK|9*MoJMK5u1qDA-+;Hl* zPTz5#>iPiWymFWDQs2K=-m$Y=Z*UL0E;{xF|1RfE-Y4-s`H1Mmt+hO}UN8Fhurvs{ zuduu`-rPRUi_`B8UAR~2+?zZQobMZjokDA_nuH~3>>`kJ#&MTOwT~GGy<|FrmUZC_WyTtv)zHC7N!w++tAon1WzUq6C z>qWdd*9X6U>t*h>czmIk7AZgXdeS(^+J_=I@g;VM9_L=@{KUsOB074~e9qgiv%cfL z)@;7A8(_ZCa^su}r}XwGod|s1>}|N7#OE^q8rADhiXP|QV0|9v zeqsKzPcqP^!Jp`igkc9$&ocw_N!+$GKFHdnA@O?DH<(Tpj56k_K&pvj4(05~JJ70O?OYTR``>d}xw>6#k+pcdu`Kx`(pLc)X zauBD^cX`B}N&2nlBc_-7&N9EV?99E&U#g|^QSR%zUU~cHEkD`x3+|4jXVZ^Q<#(5l z2hc{(IjNrG$seQH`+L{FIrcJ-7yL$?-m+hDzpozoj{9-u6X!Vdgi{aeFXHDEdaUaD zb8hP2V_mj3kPrXs<${cx+ar+s#+Ik7bK!6RC*H&z5y<)7M&m`CaP&r!x0$!4_H-_? zUV-l4lf6{=i67^FbclqVYgVq~y>bFIGUg7c1e(Z$uH^+YF@k!hj z^A$VOb)q*$_d0*0dT$z^o&V{6h*M?PBecyoABorMerA7uQ{=ny$V$r@ab}kZ=RL1J z(<|v-db9T(rvh}=13{2=5ZPp+#bO3 zuQT6xKc^mr51mMS>)7OZnR6!dDRjNa^=tH;v>cWv`ph5VH+mkx?&0?0S8>?o^p-4F z#5ufEICh*{1zES>8~}NDig$xwg!w}|7K@Hw%)SU@oqWC^_d$oO$r5@|7okbGIOJdQ}8+j+gZA=u0Lr1rM0 zvm6p<>8R*gw$O5eUE-zyRv!6R=gX#l=l;Y#e_0g0lGgF)@j>My9=OK`ez4XT%;QO~ z^c^&Rct^+l$If$oB)iTd3@i1zpyJ6U{43VCtXpppj^DG#Pu7|42XPOhDtgxW#G2vs zhdht4PI7zk^Is`C_H?&{`Ex)x?=vPn)-#&M@%Wu5MCYBt-r)3sV}iUpX+1#P%ap(R z2j@o*o6p(wIq7#h&&-{Fym&W!{JW-e-|p(Da>nmZc*oOs2*>WfJpi-Lz4u1|>$fWf zb$%Ft#Dm%#fpO|TJx&`v^J}8F;>i<-cCXU;ZiDD~_gm^waPsb=o?o`!ic@J{&%FV+ zi+!KvoOnW;lt0W|?)NsOzxte?_U(4$GQJ@{>JFn`<0J&9}fWHy!m_VpHAl-yXe19CB0GGZaI%r z3-&5Meht=J*mtd$v~P%_kN?ShMo+qbvG2ORrSWIor*z_gS0aDWL+1!KdYQS{Au>C_4vvsKVkilO~2LiNY**vdghZqGQH9B@!cv1zfH?E>xNr`${pS5 z-($V){=%N&`2stm<%c+AWqrrHK1r`mrguV1wR@AC%zS4cke<)J_;eI(|Eb3>=SfS2 zW3MxxW5=lFoq2pwfX;d77Nui1Um+a5QV}fmEi)gH1COg_Z`t~}F?#LRNIG`O*9mf8 z$o$MFzj&MJ6DwU`&YLWkd3zC$ck)**k8`O5f$xZ0==Nf7SuGs@tb+e3zCZVy{X4u< z=lZZOasOerT@=aBFI&GMZz16qTJJG0tqi1c&o=e%#FLgN9ecnff}!nw*2~NbZa4SH zuMMJiJL?He;t`GIw7QoS09@oULbN}!zkL9P-x5o1weh?ma#0R`V`O71}wLIsu z-z?=39B9S&!iKkK0Rp3V{^Zi#z&6_(j||Pzu0|UU+m!Z0FHg!;~#%n%SChOrrQ%eofnoX?XEBP^!AG0 z7=3I}&->jj{7Nn7oTIOcq_cinDwuVq_@($wxnHTD`NlXt5=h36()GsFbpbiWgaV!P;^qq{xj%0;QZqi=P6@CPuxIrP&)t{>c_{H$9OA7?i^KYnS2oG(xP zJN+@|=Y5wQ%FjJ|uQyt8gUXeE8&34UPvwqG9*pGEdtau{_PE~p>?2NR-*%1Y*x~9C z$hk|Bt7^B$HTEWd&%XAM(ivwr2Vj;Z`#bwX%Ln@KCeu69`5JZ}%M<65!=jh^K5<6` z;-6Kt=S|jES$0ufblw;6c;J1}bpf1v6YekeHO`0sfxlyYmE>~hgnth^wdvT|ha;ci zck=uIWWAXSHmbk7I|3OOtAar1_b!Zpe0Eb^kpEpL$a-jD5S&Q&0kKmQdUo-xqQ{Q= z>k&x4)q>b56MgC;>jC0oSbkXlx?hM-=5ZZ6TK)Cb!JzL)UU*vHV_$av@*nR{u_L-) zh?C@Ya1K=tBr>1&M_`uy#{3U$AFl~RrhCXR{De$RYvRFi)o=PiSx zmn-iW5M*w;sKJ$S%fgZ2CC%!R|k2rW9SFz(& z)(fnkEO)#Ec(cmE-{&mlYgC_dJi(pjE8p#n(D73(3vxdumD};y)W4%^HU;RRZM)^U z75^Ih-+s~mZ1jT~2wd`EzqwAC(d*LF%th3~C zLY&#P0TjP=x0m}GE+e!u{493&R0=mc2QBKlV=ZkNZUaUF6sG zWB;%sl8f`5n}gwN*ChO3tZ$n`W#`MgUw@zIt@poJ@2w1AoQu^XFv}jdS&)13djqi4 zm);fSoWlJXJJuW(y*XBPJ@7BJKE>b1;|n{K<&b-^dm{O`hkC2>b6+cs+w8F0hkwjL z(Odh-eD?oYe{hadj-roVx?Pa-2$#dWX#K$c&A*HP!8)gpzjCV}@uXdE{F%*9^JJsdl~fh2jq=AN#4*g2Y+c6am~@ zE%N{U6~ft{dc5(!ig4~tm=ElSogaI|TG2Uo^m>AK|I8ok!W)9xU+9@^t8n5unx18EGarb@;&Fwa+Z9T0j^%DI`{Magc<=jH7F@0D2ZXPp=K3r8<)5p0gV zrXGQf(J#8+Tj!+tV!o_JFro%c9B-tiCHp#1n1SU!n!WqHOP==!jpc&YQxK5F?y zzZ`e|xkK&;&Y$~~&iSk9<%vHoHa>Lz3Bktb&#kxdr!~Jhk50eez1DKY`pWE zyxsJk*XNP+y!$_je(pLTI`_iNPuAfcN9Z&67xpmsJN{Rz^&R)&_bET?@*~1o$M`$$ zu^bkicnq#zdF00~pM9qFOxF3~)PLh&^>>O3ru?iYi~Q+6BmP;ITlAvkAe&y{`eL6M zRDS%l-H+HI&2Qp7>=qq+y6MC{bAIj}SPsjT&)yM9Z;XD~^iu7N;UK(c#5i)2^f2#R zCi*Q&zqR$Ibo}N-FHd}}7J;GbMvo)*m0iZ$Ug!3gCkCwd6lWoj5BakG#m==%xZax; zZ1l9oMe@&%9XI5nmn+*mE?7q#6po+oAwkZSO(*WH+rvFamxFv*u6S=_zw$MQCTq~y^a0i1)}4J`69tM^?kP&{m>J^@t?Q8 zVm(!i$MY-~VdgK=ILeY;mvy`41bt?D=sH%{_rz6NBFKKF&`(`1hj_~7GyXG!fpp>t z-mQGu^cu?#@qCgTW^E@#C(euM>@&;<-k=6|F5Im;XM-z0ju z(sVh*3s@D6KgaTnzF#Yx{i4S`@>0mtyHAVGzSrY|ezaaHkCejojl&N&I$8@^Xg?$`DX4gWF2sa@}rlR3v%vXj=<3NBmX{r)QK+> ze_Sbg-hMdov$r*l*1LS-=2))Kr|vKOBrFfayX@6>{Ep=_>pa{1W?kUliE|Ium5x2r zIM*=u;;M`xlL+|m}==rMa!+DGK9`8N6zgT}BP=4fNLj)3!()=O5@x?)S_65sF zm}ztWV5i<9I`#(3J?qpwf^$#Ke9ODbu0MX$?%z1IaIe$bpXzeiuWk}vs-0*4VdqME zYWBs}7tP+&mN)$34k#b*GNkfnA3qq3|H$(a=P8y4ID4(=_;(COV0q$)?yu(11;<1u zezf%!_f*YK&XfE*#7Q-s^D&Q0;>uaB*|%E{Ql>4gVYKxqS9x$3)xygoi&On8@3vmZCy!a5@IL$cNIH7X)BGWRgzI0becO1P`@P%2J);GI?|G*-wR7^D zi&P%t<)rAmhnNc|E@k2~=L!LweT?NG%kEhk!MPW-STMAWxg6}Pn}y@Qw>AJ9qi0y( z5l6y&#!kLg>2S{djy}KE`1Fr16~unz`tc5-=LzCPx&EwUcR9T;*_rUaSRKgEeGtoM zm^nAqb7tEzNAmy7Iv2Pd+zXy(`rNn7 z-&VY(*zttnp!`$M@b}H$MV3$Ioj&C!ZfVhv?_Mb!yG`o%k$+eroO@X=AHRO{5qrqJ zqUW=#te>dQU;w9_RR6i3d3!#Uf=XnfwW0K^_* z{e|E69?|i;8WJ5lulYvYIO`SOCpnPlzcrsZZ}m9hyz!<;e&(xfg86KEPoq@(lk?~8 z=cjy?XSkl|8Mlk`!HV){S&EO!dcghMy2qJMCVw>UJD;n3rM@ofJ>vAbeVk`h19Z+Y zi}CnA%Om#y++NOQPU$=1BbZ(q-+om2v*}sapE#E0LwV#5x3|={-RHCX?nzg!;g6gWTcW>{X>UoTaD z{0m(FQtkSrhi8VjijJS8`-69V)(YqStQ~@^Gqy$``+>^^8>9Wk%OfvK@;W`g;Lqb% zDV=vWi+UFG*vK#T1$|d-y|eqFRl;fUlE`1)S+M*OucMH^*KY~XIp^$GI_o@-AMR7` z6rFR0-pF74R6_t_k615=f2H|L9QYff(CM*mLFOaZkMmNO&w26U03FU%B7gCBO5e>s z#p{q(9BTH7{eg7sAsYm-vlaaL_B_+OQ=F*Kb%y!CeNp!x^L`o^J;|=!7=3~D2mTV> z`VPNa>r?7KKY}%f@*@GrzQ=OQzGqN$;*ndQunu$muqzm{|8~0@qmNdKd{+kY^Ipj| zLH6182n=nXus%l*m~Z%b+%9_Txcji-+&gaw;N&a%ue0cf-zGkHruYN+ktF>;`Sv7- zqmT7G%l+)Kz9-JjX2ERwRrLrUZjJQ~dUGIv^IocdFQ1*~ergUKzEyPWIs*}iy)Dgm z*(IAq$DZc;;Ai&=;fNl)ciPuud{ZHI3 z;u5((IcM^?YL1mX&bS9*dE&l>$0O_fN~B!kNqf9Azk9qePrIDhF*6)U$1l<2ntg97 zXX^VWMCbiU*N1z;Za1WpqN4{aC&c@-e&GJoA<^-}Fh4mTbvdl}cZtsYWc|jxwkCpx zuJiT>AoEP>*U2?*AMr<%J{f<$`>9cVpMQt=sYjF_`>X4r^;}H&9?@I(c(J<__4;Jd z-o=SulaE@@5Wir+`Ny7@%BiJx;J;}7z`HM|$EkDOF4ilS!@T`vcSL@t(Ubf$xz}?{ zD`V5Rd3^ARp&7cSa!RxSND$*_$ly z_!D|ObFR79^v(sAXZ$MGMRIX3({e_SS)br1ndZg0ODwO%tGvzMWgRY`I27~s9e&tX z1wh{YpxfJe{{Vlsm8MUoclz``Q6yh^WY;aCH+qtv9{%dqr^vJEykqNfO0_2}ResJF zt>?o`vu?clFXl7v47q*iLC+(+?_vJo@4Gwj9pl3CoK2_qM6g3{5WQu0*86-BJfB>5 zLiASrChT2DMQ@CrWjf<3&0DkGmUsHs^&y_I_1>TTg(k-LsT}O+_xt;v7hG(7=55xi z*uCx+oqx}X{6Rm?4?yCFo)Vr-|Bv+t_7wL6cKn+}=bXACh@Z+n!My#)mQU;vg9dXvE(iad;&+FBf2H%M_gh(yIiLLE0(A89jtFdyoo&dwi(7?rFYmM<^JXI^tU=kVq``>G2?XP;Ea-C@fQ>wWhZaoermShw^=e?PTSkae5&4D-~h z19ogj3g_H7$<4&k)e$_O{L^p%5|_j6B@Vmw2lZVcI&x&a7iMz*F5}kn-Kajk z9!ck&uUiDs57wXM%K3HSiqju}aq4+%4S5GIg0qglP_SG%vmSt)Q@GyvHw=i5-@``H ziHqg_Aa(mfdA9eoT|GYyGySvL}9`QWRy<_LczdnuY$+Vwk{#~H_<;ox3&#cR@7mnR{ zvti$g<5766%Y0*hVtvSc)ndFKTds8Wovt5oSe&18pG~53j&&peL)Vq&FYz+dx+J@B zSajmznJ=85xW7uZ;}y|4?_U+2zRQqvwx@|s{Mt$c62Ix7Aa?U4hn?>}DIB|-=Y@Rs zBl`n5{uJgpWDC0N#ypyEwPF%=m0?(lg^9+b%qG?KZ!&Z0WtiiPxR# z+kWnF056Yx$#R9g`%nbWvhNHB{&N0cy&7hAC3$K4-8G^&hjyKaK;AdD{$M?Fspz~v zWPY+=3&QbN*(;cJUXp&lv+DljzMkcW_hnsg#)sQWyw@@>6aaKW#Ud&%_0Gf0z1Rems!QdjT7j zFLr$0_2s^t>AWLW7ajY6ezld%N{RKKU-!i*ueH(HlJwaOLd59fETH+*tF z_E$mq(XSnb?J1rP=gyY|(cAAD7UZ1A>ziip63YYU^(#fsyHB`(n`19@ec5M}MCU$~ z<%)6ox~P2Zi-!XcyLy^O+6#Ty*>^^S9%i1@;*0wW{rxJ@@zeD0q2J8sFtgTt2yK63 zzHm?2^3dpcN}-QlNH`S~C=q)Oz z)OV@N$G&4dfF9g0I`<@ZN2S-gh6OoKSd;MW?nmrtshr6<>s{hJ{C}d}JV4H)xc`34 z6<97~);NH@9^2UQ+U7888((9!Wm#)mvaQj*(ny+JNh4XZq|q&nu1CkL-epA`<;~a3-US{8DY3xYZAp1-z5BxvN((qONHT|5* zg}vMnz~c|4{OW@%B?tDs4jaB*_4rQ2ftLP4fD^_h1JSvDT7Z z;?Go0;@3-Gh{Lig7=78#)6w6ko}3d=yJw%u+i&Y&IYP(0d5%HWb)@(BTPk1Tq^iEe zEf62+ccq`i)lxZ$$Gt@F7hgCKc)z ze}MfE%+(HvKis1rJIKDp8hao6QxdG5RQ>U%zsAy~@;jyH#6b{$($4TA!?zoskp6^$ zy^;(53p*ot*28B9An}Ez57bBUV|_sSLwqFVgFdc{&{=#Aqh}p!t);1nAnOjd1yZ!z zax}>OZ~@49lT8NMXI8r)j_sjHn)!srvFwAMv^4WK$$|A?=V$N6Q--e(o~Hf?KF$xM z@z)a{+J$xM2k~3jVtDosM?b+@itiW+ z&~g4z-{V}tN=u_(2Mlsg$ogoob5wf8`HS_2Px^zGr~2UemS!JLc;@%gL(Xw{{-Dzpsz3g?a_7Uk3 z{zzK`c+RIupE!T1e3Il%#|%&0IJbv=TclU4m*~5p$Kx9?AI|dgxEAfk!ef#5D52VW zyXxoS@rxGU+4okz#68>kF6aGKPtMu8ok^aOzOk>UeAy?F9N2G>eljmr`IryLj+MrG z(!kfaA4mE@d}DtvdC>DIT;b)L_@n6Ch07#g)^k-J_OFga-p7AKe8Ue_^qgyv{^Fma z_RG0&$rmX4*m^>E&h7X(Wa9U#FZ1!ERvy;rv+q49`QUHm_OrZL^5s5N(Q}^pcB5xM z^h5-(?y2^LAHuI6Cf$usfuDo;Ks(zWz_ZS-@-g35JEdRC`1X|YVcs@ubnG9iUSVKb zdTa4O3{N}Sqvv@)m(9A>UQd5Z{X%JS?i(U>%!^e%?DvR02O~XBJI~)~Y1VI#7-XGt zT?BHUy!4p;+--&@&bs;$&SjJ>&3csbXFpJUqkYQ0v2T2fo;PwTC-t8bp=VrFG<@3p zzS=wfJpLW*ui?=*(PJkTN7BTH7oU@b!1_^36DP^#)9`yPlH`p0 z4bS*Rc+SD7{GsRP(r4ncir>TyUlZ*8$v)YyFnx#QLL5l73+|y49e%UYNBmxe=lqe& zyXkUdUX%5Y7fK%(pRKU(GanIsX>$56EzLMid?Ajc!*NAm{&N z_tN|sz6ZT<8EzP=W$sqH3$G4v4 z?Rx6cyA98|)E64$ynyTL)YDZC=6|B^?w54s&v_QvyV&=J2kbq{FFPK34oHsd$1L=14>=TB^t}ZZ`tKI2*s4Y3^>Bg`@=I5e^uWE0l$=9m9?drl~f#+%G zIikbAN_@^u+*dO^^Z%zCj5B@?gL&HuOVdwfcJE5rQSN;@X87F10r8pphGaj8Tjg@> z936=~XS`Vz9QgGzgRBF%e%78YyTy4Z*PDTXET1RU4)On%o?9Gidk??cD-4zM#b?&Bq=$TGqrK0( zXVl@RWQW=Bmp*V0quYbt|8zbUCR3v${|5}xA4$)Vv3H-#AGw z$;$Ok@t67gx&R&PL9$E4i4b4#H)n1__L;h)&IE4Aonhb9=`?gqdxd; z$vaoOS@stHB$q?-b@7vZTD4o&E2M9^+Fi#2*)U#F`MBrH-_QKa8pzR&W0s;~BE z(dY->Dt*9CUTg1jd%9Dt>%{ z-(ZR1!}Q~lBXI{Z{i)t-__X<>jScD1A(OuX4GJo$qp-@VH#W zRh8bynXR%{%o7(Yzwz<1;NX>#3*$)Hm$dn@Vxta;{B$$8OAz&=JS;gwfZ>KPdiSZ^Y+z;{~q&Q;iKq zS0Del^oxFCj-}g$$7B~6SL-?BuAu-P|9|OC(*JptlX>^B@Dp!!J(xP~?^mB8J*Jw}{hg@d#%&S#y=E;fSxj*_=!?z1hsGRuysGN3>nBnpJke=}V4VEU3u*%PU zIHF7QiS(9ryj%2q{7Nrh^W)N!?tGkifaFX38p(}w_RfdonBHeyQ{yK5cnXp4aG&Qk zgRD0%5uEPX8A#*zw9wL}^7)y*^~oNFo=?8s@a)g2ylKbJ)5X><$%}n}*?M04(vDzs zwfn@kcEkO@@gq2Bc=DB=q|F!UIrcL(Jo7~HpEyg7AKN7TWS>#`oGW%zuhQhPT}IEn z;i6|h$-m$EJMWi@gOU&N5Tu9P8?-J$AEs}UyqG`9{%{X(W;g!&ls(5ESnVm!l!ldV z{l|KP^t<9W{nHgn4}41a`uL2>gFn_w0(8u?@3-d`@7`b-c!$c#I-U4iD!);3$kkqW zIPjcyrtc=nCnOif+2RlP5UbprOI0}-Pwy9f^EuL6*4YLl@3S7bMELy6BuC`7#_)_g zygzFFSo(&al=Osg)JCIce@ym=^$N+i8*d`b&YvX76~ePmyU^&7r0aR}-3yfN?^VCX z_)&6-txqg7Jo_5zf7#cP-KPJzK7uEXf%snw-P+ z`;qf!<`(Bqr@v(Qw0D#6jJIE7Y3>c(D}2-az_3FFOLLxUhe5`V;t%6F@rV7Sn+%UV zl>XrdaeE}4Oif9Dh!-qAcl{A5hwK~eUwoiGg2XwwBk&sjrR4}D&Pjg&axPK)$rV3! z!tlfgm;Nxn-4sZMforn%>+vBNw+LS!yjl9p`2_XLtc%`m^!0J~lL}^dAC+djexcDbFH!#3P3LpxJmpV+q3^Taq;|wUzT`rDrepSAy|Q~} z1mZ8}?PYq!JWInzuYbqahuG&)d$jgv&+%VS{fL)!ERg2Bf!nL8f7uc(-5EY^_+0VZ z*>{K34)8Om89tesJ{keJ;>+D`6w(91(zWmJH9Yr4DIek+R1A+FquK@M!lb|KAIr|S ztBgbH_Dbj>$5J$=@+Qq@NLf4jn&hAM?$G=AzetX(f8K5RC&_B@ znSJM_mNt1C%oUH0Mj-ZceE_nbuX2{kPm_K!U%$)njK_8xY&Y(gUa@Yn$I{$$cGw{G zy*~nx*qsLPqZtXnwE1(DkNYLJTN;0=BL;~xWac|Gm%gr+K>@SX*%X z;Wp-Y0qGYCmxO z>Wr5HWSj$78-etf(xW8#z_CCYe+1DpK6d#h530SitMAwQ-23YKHSrV4k@LEl9N)Dp z@-}|oX#keSe(->$iEFyS()4?>xAn?dk_-LpoCucjo%oIX#2?l#RbSe<^n(7iBD!Yn zZi9>~RvYZvL;OyqSH!Uvf4FB<`o_M!>P0^~5}?N~Mf%M++4ZpRnHNX!?5j&37`HES zx}SP^`aUB(emdKX4*R~rV14j=Z!$>yR+W$TxGRw6-oASckAIljC->-zKVkZjQNt5g zU2;$QJzihhd*U9$Gmntou|Dhk8NWvMgnQ(q*ZBP%4bX88PVciXu+rWm4)SrsyiqFJ_5FhBj)$TZNJ8b!|o~`$YSFzaBS4t1* zZ(L8Nt}7cp46KqIOJjYqYwg0wu>hWRe90$QJW`CLxt~t;!hcWs;s;zdJd|q3N%DWE zEX{hQ>>T6uY9P(JwCoFU>Lm~6yEVfT|Io`f@O1I1U3i!BFHQbR?-S?J+jGy?#*ChG zohKrYl1SgVUt0NazCi7beJs_Fexnee;yljg2<*mngijj{kAI-#!F_$wqwY9|b|Ja5 zE+e^c50UHz{>W-a?62v&vE}Oq%=2a6IXApQ`A)4oV6aqvkMxUsW+caY<(1+O^Nv-K z=ftNNGRXLDzCp$*Y7a@$lAea?^V4AXEN(OB?$u7~gMW~nX*ZfGf7ib~&MXk0iF>X3 zGk;LMXm=M_{_F>dZ>*YGY~_j61ItUEy8QPtI{EU)IMYXU+i$&pONHMu-2D z_|5sAlBMx0Qu%YmAL#qUBM`qCf2th#7fJu|%eXQceex^WH|*qkOScPKPX!=)ulCRV zLvB}Qc8Q;*@`(6Lytji!Py3M`;y3SloPU<`r{9rYlqUaMdXAl0?)2xZGswBxr%p1HYah$REEBwOjP%4*$*- zvK#FGNFTTdSNyM!&r6LSIZF>YS0KG(zx^6}kNT=!Vc_K(EsdRD8GziwBL3ux_jx%x zH!d=Kt~PH?1ahung~Ph=>=Q|EnD3owc+So0JT68DmwP9GyZ?~_6R-eMOzHw7qZkK=h~zXv;*0hH2+TNA^p`z z;5qvTYDf58sUDm^l|I)iH>!N}Bd15voe&=X2=Rw?GvyO{exv%1C<>Jm+ivi*sW_ zzCC+oCpo{V=k&{K4Np8i@qzU=@s)L$Jpp`f;@h&5^}%-w->&{}rO`8f&)UJfOn(Yz z7@qk+*&yrA`wd#0%K%K0rOvnhEA(CBhNIyptCAD0PGT;Ds-5r0_ERy(5p&$j1D|E}Qx z;9ew^m-9gWJb#<&O?-IuYxqS;FPLYEo_iAY-R}G=wjLW%KCP>TXS}t*(!^mX86;kg z>WQDvt1Znw-d=;;7vk-Fazgajb+uFcSH&Olmmbnj&o=sczP~&mi{>NZ;@mm7Wt9$II3GhC72jZ~Fbyx#CCm8a?y+ zZHBLp|4Yr%tWztWFuhQC&M#-_ONvIv{jci`;>V`)(2vS~X^oBT!-p=~guQz()Pw9R9vCgn`yK%bmCqA_J-!A-A&)I)m?awb#`=Vc$ywc{p zV}@tlM0PD#`=#o|Ja%pb&AC05hkd@XrCCS1I|x3gev9)UsvrJ?M-9*Vj_eh7LFFW# z=P}3c(RYbUDfts0?u6k(&!xiSukZMQ&mAy)obmNE_UpY}j(<&hgw(#sv9gdKN>3>WEFiD=J?{ZFTPb9@STlDw~ias}SU21s7 zZ>lfrCNA%ZZR+2NXHp9GeBjbdpPHg)-+aXItW$|^#DUj$IoGto@t>4l#hGbB1TXLiNGlLUO_Gs{F)( zQTZ4@FVg$Xq1^^K7pn54&FvN8d$*Piwj0NkKYmx9E<7my6AwdtBhG}sKl5qHEA)KV z?Q?cck9p&W=hK$FI9Dn;vF~@-@XSwTXV^z`y29d2&u^2ya<7QXyYiWXMvp)1Xaus( zCVR-dq7X=jfsd=4?8Dt;&)bdCTEjEH7>)e0FS5=c@pAVCAp0rDEscGXox!ih`CR$7 z@?o5Gr$7IQ+866=S-XBr^5GoAhQRA-XG-<0kKgR_E&Khs?Z#5^r#?8(^&x-TYNKag zXCwkSA0zn?ckx&t&G+2CO^!&9V&Bwp!?W(GG=3`5JJ$bXm%_l!qGz3FK{UGQ5$9Xa z;Fza9&O7&Ri{HcxywC8+QT6J^$D@3shVS01M8CEokcL091FZXOw&(0;?=(F3nUyS^ z=Kr&6pJqA!a`7j&zNPlhJ>TLR_R8%^@m$H1bKR0#X)^z2&u7y-gT(DtIk^W_{3L#{ z>dAhwx4ZJS_d5MW+YK^)JraP7C*P=a>!adpyK(Ve!*~6o>Vv0^Mw0D9HcuS<_&H++ujv2b3lrmD)4+ z4c}*Y&M~Q7unw{@lIGm%J%-26R`tVAUG0f=|AmH!ui_W;&r2=Myi?+Dzg>lKfG$T+_kp=Z5xgF)h#9`p30YYm1T_mATK7wMm!vk&0Y&XwXnHMyBG;U7wpBJ9>2K8UWX?0jQ!}Ym$uD)Nd3`h?-7b(4AUoC6z zD}}dxIWOl|R8H0pZV!|je^clC^#2~T=ge3Wdw5#R7{IV5~5Cw!b)toFw_v z-0!M(P_Mjr)Sk27v{iJq+r>Bh*QF2mS!D8EE zeEiNpzTD%hew2ReHp`#=g<}E0yjc3l`mp%VI=u2BE}Zn2_^GQSbnFw}YLN9qms9`U z>y@r99tz;o{I{eB_(_XT+!wV-_})>`u}-;2^o8Yf96us?FrL50()Eh_h1JJDBRuCq z=8L|uAlP%xTf3f(59JNdyxsc+?lZSE3JAvNUof_k$!SNQ^E2H({oji zWa>L3fi(NXYA?Cs`;;H^_1%VtQu@b!*Q+f}``l}gbvD&E418bZrGHgF!nqmAJDGaX zi3lC>`IHa)v!j+KzL4~qb5kmR+WEHhiSll@=fvx;24H>gR>>W|TKC5w6`dI?cN8+`q?e^Jof!jy(w)3>Bg|EHA1EnEZ$Y$lV}Z&~ z{5;p2^5_!7$G(pr2!ifE%{`MDCKJ;fj_8hyhIRNRG zRi0$Z?=Rw()dBFH<+84IuU`4vy>lxg5m>lfy5uinahnX?foxr zM>AJT59^h0sy#A~Qa-GQN-os%9MR{`SZ6Tyou&GAGLN9D(#{8+H}nqz7&oGTZfOXX9?4NrR$o_VtH#A9`Rn7Lo=pM9~rB6P@Um(g?1 zMeQ6vP`4k==Tr<&oN?(D<2jWlH}QM*7rELZ;d8a$s2>YG*QBB!d`NttJ-Gev{mb2k z=RQ`IgZ*~dJ?^)c{_wu*LE{OPs~fK%&5w#dVftAay`LwpkN?5tJN`+1m+_$Z&$^=Y zEm!;t;nV!{RG#iVu*~~*M#@o|e3SGc3>-OXY3{Re`pyHAXVU*Il^?%$wL9$jWkGbQ z>O-8YOpd=+`SIUVKIrj~(Xs9-eU7cF@*z&#RS`Vv4g2gl_fMUQ{Nn$lH1t7ld6!+-ve<->Z)E~8^U zGVJM>A2djOR>{3xt;_DVdv2~-C zX1{PmF!8tzu`fH{H}H++hG+iaeCS`{`BZ+s!0@GVpV}k)JHj(xmfZ1g*bwabqseOK{0NoI>b?Z!p2qx4@zqi3IXZ3J?kRi=mURC_FyTap)XP?b+NE))J>2aTS7 zO!`Rt8u2NadZzNnuUqwHox{sN)e)bW4~j2vYD?gK?$vX>Y0cGlERM9{bH#Vx7lFh< zlzpUqh~G*7KMLP&oW9tf->rIKk7`P1<1pe!EDyXMdcLFj#MZku+jI8Kb{M`iIa_v+ z^-|yK+KugRihBP1vO)Y6RIl8`Go^3b z`=k4S!Wm{8+>X z)=3XW@a;m-ck6@Qd$Q(9F03!Cv*&zY`LYg}@$-G&z9uix`^?8efG+mEPyGw$rH1T1 z-jqJDPq;Z)s`(@5Xa4=gXz9+;g$6nIqWZEgvsLNAb6g)Li;^$A}Ad;{^nKKPKn z%Q?@bPXGFSf#;=i&gEO3FMcyVIme!}FD5+gUE>1$a5os9xa0R2WL%!Lr@u~v((hNl z%Xu!>lZk&2p81#TD)(fn-7&r!F#6oY$7DBH*HwQ-9H6;T`0KnK^-NtFNVglMib2-5 z_C*8zr=%yuv04{M;#Vks)d#N|jilMXzc2v9z(b=E$UI%;Llg3klD@wdlFGMDnc<4miH} z?xN{rUKZRDbN0-fuUa*lF*vZshzL->>hr z3y-V4q|JX*z32x8nTM+U_)AKDv2U;BTpIh`2FnM3g{20GzjPu3*_S+Q>9qMV?~gl2 zHSWWIOy4I?g8Cu+-iAa!vv`NmkRsCz48&IW8YELkA2TWp5NbZ zi{x9HbbsnNv#V-&_P3;0#5oszlDPjB{!Wq?;}3m@@$_r#{Uq5ad%^f!`ElM+dc-+y zw3O*a z#>D?H?eS4r@43O=!{2R5u=o4kqI&Y)D#NpHvnc?$e^mC3_(fi?=36!!p7~E!-`_eP z%H>NV__XPM(Tv|+&c#0}fBgP4`}?2LZ`K>t@3gCJ>A9V=SH1%mh@af=Cwkh0%E>y! zO3S}Kex~Gz--h$E@W^b#$Ck%4FHNr4F1pGWq$ixOQG2obl>&6^6JKl3OXV}9-}S-q zvZaZuruyP{EV;0by2S8|LxgAFa)s!|$1gX?ey8-jH2ErT53TtH!*j3jjRDBMo7bzk zdyU~ahg32==ldO>|L66FC$7q{;pvxDZsyn5TAKCK)q)d#4;J(5$7X@Y4_=C zeB=(JtB*fl^<|tRd8PS<;t%tWoBX-o<3P?TC*#Zo(cY`veB2=S|48omS&RhIvGr;3 z4gaO3k+j{fZ1^z!w$#$Br;HdRpA`W}f3?oi#H|rTzm^!jT}Why`S<0KAJ&t_&)7Ps z?-JKYa%eZ|u5S~s95p)bp^`r1-zR&8ACB5P_spnV%;y#a$l8q)89)DTPb5v8Z;h+N zz&B;r(&l%C$A4?9(KE01b~5%Rm7DmZl4BUyFM8IwyuD8itTlS%rt)F;mRg#4wEGQm zf1BE8cbye~&$6Bm_&Fu^v(It5-O4BSeME9$-s0tLepBCPT~_+cJt4D=9{;sD23da< zeY;VTollZ$k2-#}>?8LvxZN8cx;{crd`#zKAxN+A-%>keJSP5gKbz{Eb}mRQAI?px zec}JVHIm}K4du@{4t=*i{z|8Be)(A7Ipeepf1bV@1|D{O7?>w}1ZR94TE4;UPv0Lz z$GW@pFgNl2yDgtmd7<;OyRR|naiv&S^?ZALAB1`AZlh=aMDk{RO!g;9et5|6oNJN1 z@b3{nIB)OmqIp#GrSg9rj*#IeDLaGxRDI%1qVlHs->nHeM<2XAy>}>o`mrIyvmbjP z+VinTMNhxF-thQ&jz%E&o(a!9;YhG_=lN=n++UUT3wy+eFz|rd3-?!v9zM-Cdg4(_ z|G7V2{9zs9HHPP0u=JJl-6}8ZPSXGS;9HbG_aLetz+XuDm&X2F`ont49g(*=7c6{| zd{ONMKUT?!c*H7y7`Rg3Wj|GV-)*{^Z6}X;Ezd>?hz9hcaD}IkQahW7{;!CJ~vY#aS zcJ*y4KkH@-Eq~hA!T>ClA6NOQ|4oMH{wLLg^8{Ysf#V~F$G=GJv|jm;=$WSs3EzCF z_=EqA@c7Lrf6g&^JDvGo$M<~D^`{ZlAC=0#J8AE;E+RRyub}!7U(@+NaIWM-+=kV` z=%z1OXY|A^&g|0n)$Z!!gQ9O2eyDsHzZ^IET=5&yx7@@BMbCMdlH*TGfAB-lc*4$g z7@l=-<)5p~s9oYeT@}8!Pxg!PWM701fA1ZJCw_?fWBkaa=V5xqPQ!=kqQ)CZ{|`4f z-TNyBxp)5F2xL7(-=&|E{Mr8(e^|#<`?PpA0W$g_Z%6q}UhmesluztCqWs~D>sjY# z>y4f`I;tn_TK2Fs`PmV}2hjcIJtmxZ2_q z@sG;(Jk76sa}?dM_z_!Yh|iqsSYr6JbLf;{{uPo7>$S3zj6+r%9{=Zq0m!=QT1zty z75~uRm5whlrr4xfj{JdgbS;C;r1L49`B6>|QeEao5{b zzpspY=hVK~?>uaD%x@M3U}^G%^QU>a%AKqIM0Sb&N6D)+_8!TJ{r~MoPn^h_!L&EK zM{w!_^(UqB!TSwQJS4ZbeXmrzU|h7+@XU|4L?GjmoI& zhonFFFRe0q{BARO+<(;4q32w02lx#H(u`ju7sh#)S{gq&=|B7Piy~?KL^cT4E|A_b zjxAZ5_*BZD5@q(_=b5}c-W&0ZB*$DW+rMv}P(Kp}u9H1%H=a^`=|2`*e)aJe?F+zm z^{2-zjb5r;jFZl{H0K3{=iG$&7F!=(Z}?>DN3NH>o5XMYFbl!($@irHtUF3iLeG%& z7W*lF631on9QFI6-amIp`05+gFQlE?sNso|x6EL> zI+C@+r){=0anfCHle5*HS@%|XiR(BLc+5Cld}jYv^kJYNJMqUy~&X4vTI zccp*ax1;>h&gN0WvmP&b#MW}vkMZi#2p+#s@qu;8<(4MCf!l+zgKF38H|x9HlO{fM z{!aSSZd{$&F+b13`p^k~|5E7*anVK3eeTj*;$3Roh5ydNz;_tes9xp|5lN-__hj@R z$m)Ntw~KKfzu~vG!RXqBy1tM7y1~-i->rJFo+*3Ad{*{~b4Ds3{=Cu$?u&GNOMWXm zTN-;r^<(~B3gpB7?wtm6wTFaHo4)VXJ-@^KDY7?lCRM)pKZw8RvHE%R@LYSJd(Kra z%J*8&??5pcetJ}R#=X*S&NoyIA7@@BeX@AUmd39`ReIGkyc>FtM-`dqbm;AXGYMtN1r;+Gqqd%KixGW9|Azr=gU?8c<% zm@iyrblgw2Q}omCRD0oE#hwVB^$3-peI41UcEQJq>=P>={B@)!vGv-~2sQD!w*_F@ zY@Dz(_hpFRY44j38lHaJ%a=c2?S}dEe#0lp-#TBK1@W~T&!^p3E`4n`dc{xnU0-hW z%nR;{z@)$Bc0GUoh^4vTTWQvtq;HH5oDb6%joS0rca8YKdRxKL_<@y#@5bG)eDaC_ zp7 z@K<`-wX66eq>=aGzvN52_Zux8TO-nwwCVi<{@T*pdgW(o7xm%wn)82n|xg>F^;aShx6o9NJt+X`#?sWz^_aV9C$Dnr4KF&hJBcZi{-)_=H`@6+!{gVf_L+8W79WU1c)8JG-`5!AJ|5wTclNAEn(_Va0OY)r z^p$bnJf#P3SAB{5B|flEEdHR+dQO}_wR6_{?})sQ-;MZ|^t&G#?NoBF51yv-vkvF{ z>D#@`>BppR_`Qh#_?L_rp80_4#dlO6^hOX)NuJEpHX0pqK`%0xHoq)>GQRcxb#T4P zg}=4%^}&BQA-dkLNKfNTZzb>^{`?ufEIj7|w-}y&U+sta@{pzR@048dqjvi2yde8r zj<2@#J?#A=qvyPv+Dno=;&!?Gx6(V>{{}tp|ETznUA)lJx!TLcAL6BFe7@J)*wyOi z&$;%4QShk^2EiW+K+YwqJ>y3tezOnha%ugy%E>)|jvqKnddNK1?M2}-)r)&wTz~SH zs2tp9DZX;Qpz>jTK>2VlxxSyPoqNE(%ek=8DEMQ2pZTi#1;#m9yM9RhVcNMycB3@e zBRu!>>if)tmj>R)e_3hzb3y9ia;XiDMxJvHNO=4#4hPcgGbmrmk=eH|>bs?}cS(+% zXV1!c>3pM4k{hJY#HE%znO|OQcs< z(!I0y7(Q3?II+k><-os2`k5=%^j-FIl`s1)YIpU)pJjSDIoICjJh1po{8r)3ej1)Q zj#>WStwqx4#d3q}6S^I!OsoEkJ2h@*eM)kKuc{YunpOqqiF+-4(w|C>+@CIc+KoTi zF1#Si|Ez-LkKJ5o@0BJWb-pEGZY0fqh3Zk7ykGRhZyGi{{+auNJ@0*%=;;qsPR;{4 zKZ-ju{I3@nJ${3dFY*!|e`oc}%y-p}O63zLjSl~6*M}+hdnuJaD*g~pMsgtT!|DJX z=Q!3HJ^uMF&#LeDh3TgxN8(LLA4-$CVCCR79BEOuA52LC)JA4od%<>?D4{>eui;QhkXp;p32e zpX>>Kamz*DoXPm$ehb76R6eD#UnpPprz98rgJlo7uTbA*-*a)~dyG?VHdq?-c`<$w zk`E;t3Bu2)UhJDLjii}}dj91%NUn@y1Uav({5hBB?XLBS1xC;QqvR4>ZyL2UHJ4to z&MG~@KScWdr+B7?W5)ti*bCK@bL~4KY0eR>HGG)<@K#GR{!=?;-SoKOi7$8D@SLYm zKZrleJ%(qURC>#Oj?!z^JDhL5|4;o5_Vsdq?<y9{a_Y7@qT3uFuoIyTj6qBc(UQ3s$=({)hO;`60<2 z{|@nw=NZ2qko@bFe(|4sI$duHPpBQmz9-ebSdSCmus@6JJM8c54T3@S%GLH}?YsKa z!-nrUDm?wW@~54sT=hZUPh`BdEkeh5eQ^M!oj;t6z@-1H`VQ|M2_%W{EIQ6@y4@f? zrQwmk=omj$B5BrJ&NDpcv%H;7{bYZJzs(?VWtBhU#%Balq34B?Gyb`%XWD#H?Fj$% zQ}(<*ewW${=NgVh((I$le&BDSc0qr1ui=T4u`mExFI4@B(_S-tecboSIj5#H>)I;~ z&v;Ulk@q;qy3`=!@1jA@!KxgL10^rUcj7bi;7lL0bF!_c zyq!+IR`kU0)c6Je{>(ls)c4p&k=*ddaQ?85q3=u`m!2X|<3!^+@@1W8b^y_;dzF) zIN640eyi_>>8k|U2Rdqa=4;|JhL`yDqtu#y-2>=u72rG#Z?| zR&vLGV~62ckCUCx)t0IKG4H(E@QiCDfA*K9H>}&Pjo^t7Ecr6NQ9qM5^Ci(wbk74m z!}->Kw(3JXLD_Bmaa1189S5WTQ+)pE>|A!E@@m7U&28#Okd(d;T}}ATi{?f>e~b9d z{+a5Pt8H<+RQsjtbIyEG|!0OW9uTxkvP#R zKjVw#Mo*ke)suTA=31Kjbv78Je-odHf2wwuHeY|2;oF6_^pNrHoJgAW!^H+UFQIZ0 zhf(F>`PGI;PyM^KA1FW8k0p2XRPDs>TMT-CI%o9l>Zz>VZCr0@&WCIcK+b2#9x>lv zW_bD)m8ZMDhdsN&@a;lQv;-yutI^qgLP zxp{_XA3n3!U%fMu=ANt98Dw8Z^z4_fur&KABLNuu_KR=Wp{3E%GmlFTIp3x4a*kuz z@c3C31F*Y(f?ZX8IlsHi@RU>iGWL5Qk|s{nCd0>>FG^m-n{oMcekMHQf)hr^`P)4P z>*E*7&ZPOPh38z-ZpU9P`#^stIo8L&t?%IvB7U|D=Zn5H`M+xS_!*1@@?%^qJ}}Od zzTt-?yO*2TCc3n9PiFtllYC3%Yo$-D`(0+=<$EImm@8hX^2ffH>N)-)k}vxr&i{#% zw;LVt#YYUb8{ZP18qKkE+BtsIAb#AEQ|NiK>c#r}t0HLj-JSoH8QG)m{qx)hA%5Dt z(dfd!U>bnAiFXLk{^4ffd)_NN@x1h1?p+l>+l9{_Gy2lxPrdvtkC%mCn97s(J|;Z& z()nC@i~1w%q4$s6=NfrG&2Oy+gUydQf5)FAIg}>9E_rcZa;9(DeO2YH+l?OoBH@WY zto&IAkR4-vSM@QwAE6^o%TA-`T$K30IpxgWeqf#9sh9G}6+Ny@?EAtV!{c`$dxd}G z&PW>lm3+D1Q2DSAc361Ei-G6#$0|4TOx2J3UKSX>-FQs-<3}sVc@TXUf1Fyh_j*od z_*sWVUwFInC60=|i{Gohn|3~!8a?OIRet8fcNjhK!Nlh<{jc8c`yac;@Z5hQz7VfD z)9Y#JGk*Wdhq&~Mj4oIF7mX{@&TjDy`##6tFYYpkUMYX}J(Xr$rS`@5jz@dm|Msjt zuPFtR_%};Wn6Ie*#LrOsN_!XRyPVIEJcvUf`;#Q6ix2o4FN?g-`dnuBUa$HS?@|2+ z=dNTouou!l#v?`ho~`E^Ew&aPvV4elqIQRWhxo?+kLt&|!Lh(|{J@pwyrKBP zdaLrMA9p*Le{_9>j&X_F3*$}o>zvn^2IWt?Q~vl9h@ZrNlb*DzpO8MVKXi}LqmL^L z#@1`ZPu2~UZ@c>FXaLW6YPmtq!$^+YGpBs$?>8I1K7L$$y^@D;`!ZWbezk%Pq5|V8O9@euTg$okEzccGCcDZTsxeI7WV`eGjr8a?}syUu3Ww=e1qf*(J^&OP^!kp^d^f&l4YF-&jAJtwZ?{9yP2KM%rrgAGQ9UD{%J z{IoK?xyAWYT|7(AGyiP*E$IvX7u$@Ub*m-zyfk^b>cMy zN{>0$_2Ni6N%rjz{Bkdx@?*VN{49-KE55ZG9;b|c(DkHpLCxs7CrR|ViA$@IH1|I2 zH9YIsvK!1hTu;X)WCyrc%=LTxlWqqp`OED+*5Nh_Hb1k%V7>B%?ZM!9{~}B0if74A z66Zp8k9#La4Ile{rtjK%ULegn%6h{yPC7pT(HFHl_7PnkV;5y`sq~-oGMQZbo<`!# z3ZM3Rd=>gtm7h3?2bEv>$2S<{+^71BWa=(&FNwz~YBypgx3ljSUGjffyW67rrkx*o zK4U8~z43UV#9bBt@z>Y;#A8(CB(eN{$Ut^H|Lj4zdJ||c@|DWY(usP%98Gq?( z0%_)>vY+(V%Aa+v6NabXT@`_>SL*x3=~TT+lh2afA#R}Z;k?cs(f2(hJ*5ATJ*W?^ z692J#(pSz2pJn;6ud&$azbX5UKV;GH#5cIh@M+%fNkWfgUpb#5{^Q3y8hIYGc$V1V zQXtJaB(;lN?ZuJ{cKbn& zNjvXWxfwS}-o!yyeTlm(JB2^u^^E~guRP>(sdYjm%{rd&)NIJotdEI4S6jJ0 zkY+rz*6^IGTxXDdu#o^{U0d~H{a)X}j$dnd&Q0!&{C3Zkv7Ryg=c4Ep?$bqLWDzjUe5an4Tqi9h!dOXJ5eY>@N7s{)X7@~S`aC7sXZ zrOOSE-_XVg#INp3gPhaa6o9ccDgEL6guc^_r-5BjyW@TW={4tsDn^fAo8znVg)f!g zv&Hbl3z2+jPfI-g67elJanp&&bK)V$94%P$2)LzfbsN>L=0@;`bjleA;=r_#9{4u5iC#)$rJXtlxiUIg;+KgK^$a z`b|A07v_6A1J4<^iO=YzzMD)vS9s<SlhyM89$*=2anM+ndP zNw=SUU)y1L&Yy}utmCU(tj~$hoC8-n>0hAloBzAfV|PX)zr+#A+TV@?fi&lkl~22H z|6zL$zcansBfX+t$`3t}Jn8S1Z@Y1}AnjV;Wxc3o@8e&h{O}(<94xH^!pHHLUSCl{VrP~c3dcN#>HTaO^f?m!xJog2QU%A>_ogck-tTlWXc&6mYx!;1N zljIeu7xNP772_A#Th%v|Dt{c`zd_dS(fE9 zKg(xG`QQ&PJolJOF3exWAL8|oM)HfT&r7~t|Dblk<1G`f=b$}Ldz(iBFzH|6{Na35 zB*}TbV*$v%pQn3Yt9HTp!wrU~oJS&%{ihoYVy~qC^!IA-_|>Uh!zb~dxLfxdo!v_n zfV5NbAAP&q@bn8y9R9oT@Z%;+hk<{RK5|Z5;|lzBq$g>|@1^0qQf6m-|CjamOwTsR z4(Dp$J!$zQ$yZkyWPL$;#XhO*C;NS>KmFK$&*FJ~aOz&C^YJe0AR_@h=f$ND%=5gR z76-+LWNJ+9j`8$%d#_z>-EH)-b+PKpI)L!p)2MRgiq9X7JjdU$7y!imQ2)a{fv2LS z^DoKT&3*b_Y`sL~sSm!gV$T_eromw0s~ap$+vK<`&K4f^#H%Ncj_sK`noO_TyvkKj;bUqJUpnQoF zzS{7t6YD+VGpgJce?jz(Ifnwz>*GfxFYY0ep0SUucENcU)t~Xd_6! z&(ShZxxnyY`WEGbUyRPvMA z`f$%}X6Jp}Rj*v?P1<4ElNRm7&$Dx9_~~SN@NCr^Kazz;&wYwYbM9AsrT>3j0MB}W%W3ij zYb?z?QS|tEtAD{CTF;aI`wRA*{gliu{Ex<=+=rua0pkFbkMX3&SB&G=N2r-6slND0 zNgnJ+tu=fy_47=QZ&i7)Pp>sR`rvYzYQ$Nj+l7lIH`Z~)AMBg-kaM--YntCD{$ppw zfA*1756(YGzgeGqmE}u+t#JtD^mfrI4jGKGCbvSy_p=*d*+7}!Lv@9>BpnWKh0OS8$JHE;w%0FnO?nrz2S4kVbzy=u*7HN zCA&fVyy3`m)-5jy^Jd?)m%ufVqhQ@u6KvHyJ)jE))N`r&aXrs-OGjfw%wSP11|p zgvb5PP1MrJL;Q;+U+yu`xWf8*!^ghAQ~vaWX9m*DgEPK;QTCAYdEyiCcU52Fcu8+q z7nI#grjB@f=`2w@VElHKvgje#_NhO*=Mk4sPJhjWHc`bT6}bH$VT zKIfK?89vUOE`4R)-sRpqvCr^n=cL<*{vT%bI%l`xOXZ17uUhJ#lH_i07rpLZ%Q)$! zMu%VgGK2Jo;v4fv^*i|WiO;O_h;N(^kv`bG*672)jiV9BJz?TAe(}XXI&Hq#%afeQ z>~7C#j{k<*SK7Q${3DL!3d0kRR_&Jcv70T;e70o)CK2J=tL?8BGW zN7CE_vN-@4=SW_h16~$M6Q^9`8P0K)EY19Rwn3h#oZP1^xl_O8hG#u|eE<>{ci7XT z%Ab9TA;TwAe$O)JzNKgEzt1u};~UAM@G zKJ>g;o^o%V_(|OBJ;K+XtNw-cAGJGM-!VM#(vJiH>t?PGefNl;oLfC= zcw485K+YHFJ89GX#)+>hd}*wl*`-aIUvLgUfei=@v_Rrc?r?CtGVpE&(?GJ5scpMe~3WtA9sBoyj=RgI^+q%r_JZ6Ts z)UN3tS6Z5Rr26rCWtI5JdAFkDpW1FP&AZ;Re(LGo!)m9w+K=>II5lE)^~$>i`A_*H zk82Fix}N$G#^owM_EGsTuH2>PWuLd=H@GxH&;Et#%RSVt_tV#^|42Ju7M}em$-CQs z#FpQ~o+O*puIZ;`#~7z9vHa8KKV!Py9Z^6DMqa01|&N)#5_!Fi*4k7n@ zX6@APqvakA=}YW;tJ)*+(Us<0xa7&cv-B-j`zP^-_~k1j#bBLknZZ)|6IuJcR^LZH zuQ5FHQ0YgQzQgsd^Q7v<{bsUb%Q_e-zv$Jh5cf8_mX|AgpRXBi24?=s=j{GXqSmTtUe zxk20a4nX2K$eyOnzuRqT;;u+9LeG}_qn^J??-PeYdd+&Y+COnGyV==Z+BfF`Pa2*$ z-5LJjBf;oeA6RercHupe5Bs39C&afY8=mtj(nH35k}vUiCGUFWnJ%Bgz9j*=*z$9c z;H6jGe}2&L$ie%yqR+z^*9%WP2Jwyf3G<`9-?x6Y!Cdhi(IYo~2me^{A(`6tdV9`z zY>UA#FqYY$5!IV`Iz_`X-c5tSiNSLXGCy4xf!t$#z|ze3%F$rY)Dna2!*2*c&gqJu z#KX+&cVWNbxnJf`1TtSZ%hK(_ilYXZ2daFfG52G~|9GwN1JAuX@|^o{)+n9b8&VqE zsP@QwOZ{EiSyi*=j5Ci!p!tUxWPMnAQX2b}>WMwf8=m_g%E6xJKd*e+RX-PtpSR;X z@0NbD4?Ar1%>Tp>%Byxw|FPEa^}&ybKlRF!su%0{S^N0FU4iF}C+0>V>ln_rZab=+ zIpX-INguEyw_2L}F(hyHzcyH!^Kz8{#E-5V4bE&_Y%mPWk{t^@H)iE`zg^}#FA6;G zo>w8xm+H+u7_03)?EI)f&anwkTuIm0#w8~W&pMO7n@k;F9!TTQCq57drDD(7_m>^R z4`1o-{Y6%Pqi4NJ@=m6@>jBlPgfH(B-|)+jT$q>K9-&V=zTd(6&*e%t52?QR1IQk7 zPI9y1ImasbVh6<^?(g2?_&*y7Jddrv%-Y+k3@#foe6Bd;?PcOL|9)e+_})D?g5Qbc zMgO4u+255N!OuW^Wj|N?$-MhuBtPPO2~RneDc$%-@iABPdqVL8SG^csOaGZ)NM4-l z9y0pU*qjpvi5qm6!KA+~zG3erAJ%bHU;J7fUwoyv-^zDocNqVx-J$0heo1D3UM%|9 z`bt*M)a6_G!=k`v@N>}n*nx%7(v|(P8^mK&eb{%{FZ`hU?XZu$(bBemZxFru=)*w# z$qrbW`Lo&`^Cjg^{A$@#&S^+5Xy1v^rOl6Jc#r#npUCV0p7?c{{Kh0F@I6uZzfpZS zUn@Og98os<(DOQ_i5qo?(Z!h`?sWWbhAmB86qSp4waT65=Sp7avG_{dIIqXR7o;E9 zZ_j`1O|o08KTH2Pk9n2l$2eK-nfo*yKV4P(#h*fQqdb{jy?L+EGv8bsfQ6wS+&-7fS$Vg+-OhU)DDE><`E$jA<3^AFk=h~i4cR}=zk2`J`OvD!W8xXA zeXx#tejv@fKzhTtWMw4HIp*z#C$6F7jlY8OYZo}F1fF{@rH913ak*DsDtkg)f7v76 zye2|New&S+cupDr->iICXBRzwfv&HG$E8Pc=80WKPaLtG5lH`>wWqW88=kmiTMc&O ziPHb5zTn00(&P@6hqw}V86D?HB`@s1_)Pq&O#gk|6}@)-Dt>97(GzFI^}mo)f5N$O z@d1DOtRMM<_)N)iMvp(E^q6_F*P{`a8J_v7`s1|ukmQB`wzr3Z`*qO|u87bPug2|U z%kLk=pG|UMU9I1qC&>cIi*b?iV}5#501KbRN8&T89pGPfk>NRCdolvKe!%1MA(A3-gCp7#;o~sxN*l z(ogoEB!A*ai~p>1i=V`gko{m?Px2#PncKJKklUZyffdSc@CRxavF{w0*WmDZhG)F) z?XLWP`ab^XqGw-F?TLFL=NKJ+Ez-~KIx79(BE!?(WT(^ovsE7M>C|^QXZwoC^Q8Za z%AfegsyBYWsxRkOq)+%8-Wecc-{xfoxnE87;Xm=UU3lZ&hR07gYu{%ri%QSm7=ZA% zq;yih$zbezXhQ(9?!8*+R&lw(Zv6H*lM_ATS;?7k=hDD)&QnW|(3AB>kKMo7@a^h8 z$BfZR8y`ct2$S=#RZFxYPFIvj!M(_Bk4J`^9? zg{w0Dd%Q2?vCy6qk4}7Go>_>bu{&B9!VgD$X52Ak_%N_p<$+Fe<^B-y2fdOWroE&3 zF6~gqUtxIsFvMrh@8_e@)qX8~i+$J0ju2PZ++R9uAcs z{~Pg{_=+kgap+wS^Ivy-`J&sR<Z{9`dRj^*INFJU&S}tyZFmF*|`yX z?EBCWgN&nx0uVkA8YDil^pkab=|^lWObt)`Zf~cFpSNP2`N>(}Y41+o`v&oqd6u`+ zO5XK$`mbb9hzoSc@?jrAc7(X*nVmc9sNuPz;v7=gquT5B+wdZGF|#`(gde+vvBdcGn3q(2cIaSUa*IX5Et;ur09 zbLOX+d_T84@E-B;4%z#;qR%7n170Wm%y0ER>(8?1%s;mY-+Gti&i&4kV`*}(+I72n zP<*4^>pShn>FU=?x^Fwl?#2}AbdWje7Ju^dYJZpOZ?>AyV?os9;=OxbJwyD*eTJ| zzSXXXPgAt#^+AunMEs^@mL@()#?MzspSg!Z@8^p5?Xu_iV;ql0*E)Nd!7%VTwJ*-q zt9;zMwLE~Y4}Mp8;{LgOCuVtjYd(?-? z_-t{~4bMK7^2rrlZ`*~>E1&v!ZBO8Ny|UKxY5r)T(Q|H0dX@I}3g2!#B0aHt+>M_2 z2htPlx8#W5f%Gl(+~a(1d3@-4<-Eg2k3G)X`yVC8wD(}v?sj{=o%gxiiYJvn=V(R8 zID07aK6Z4c<-_`~><{r`B{$}s>VLcU%d;*iI?k!wZtt;ek@uS-< zKjLkdET7o=E6Kg9fB3DfvFEY%Vd-1wnI(GW`OAgx`<(PPSM&XxQu$x?J^cQa4}J`y zXMJ3H(r#qy*To}}3-hN#f&7WrvcdAhe_+@kFOu_!$L$og*V8$V!p{H3-;0Q)zt|M}ZySvt-8IG*)2>6`6y2k^9)`}Mr@KR!+z zd`R;B|L^g+w`9-jm47%EfUFB&7Y$DQWUWEg`}YT6sr-WVO0&*p(8dJ;$hxERbNVYg z4Uhka+HaD~ar;o~oE1Pbzeo+1%D+S_3O&CZF+BSj>hG903|YF}_$$%l$0>ay zuH>c&9>1Rx_MCY8(r5ga)ekZbmEA*5t{<)E-5~mjWh!TBtb0zmC_6x$OX)M`0#6wo z_vnmd^eYW=-br$0{X~4g{(1Q)S0A?LoHr2viKprMId%Ltf6w{GdWrfe{7RHB{krsz zamr0b$9;aX8}LE;LVQ}aYxZqbU*Z~c?aIpop-h{JB?UndQ?i6jfi&w`yKP{7C67<5{&+*7v19oc|TRG&!Plnm;CbB=u^` zhqy%8ust+m2eAxPE$0zkfK8CZ2`#fN{L^hV{{x8y)vK9xzxRJS{8#k7R#2 zm#lJd|Frl(oPf0fI{YLhC&mj0?LFoL^9@hE_gEVF-4+1!GlK@vYrRh#SLsiw{0r}= zs=i;ye0wlL$NJeWqel+1Gn_wA`P)^G@5nm3_`v#(>~I8h>Qx|HPE+F>&3N2JrZKO8>b}b+OT*H%APQACu?Xci}q2)31ro zv_I9K{q#()|M{rV6Zb%Ld`bMa_`Jf;REDEHZ#|-RjsMXr4NtpMdnS(5ke>H>+(OQ= zsGdpxGs=c%oL>$=&KpbryK!`hx4hf%thW^-kiY99Kg5mS7J&4}su$y5$(Qx6ryd5+ zJYM*Ab&t0v;=&j`{oPpxnJ4Qxb=wX2T^j~}$~d{6Ds?!Ps9{DVpc z>y>*X$0S*O%+lPG;Chpv5dRtfXY=&#Ja>=xll|Tga_>}DexLuA%744h@?l;ieV~2% z_h(Mu?)dM?4l=)yUZdwPiO}N@r*;^ooBq6T@iL>wA0=z=*OVh^;<*U2@8$Y2@R8Yu zXWk_}N&4TZ_LWTiliRII{u%b1xY%m%#Me`P^hY-Z@SMxtXwTEmXVgCMPq|e1+NVYh z&pM~%AEqyp{@|BVHaz$Csr}Ul&s2Tc=a$|QM?vk6eQ3$O-6)EVbuE1#|AI`8UlAU8 zKR%26n7^vNoCj0+Sl4v>)Vq39;Ca`-hU-3SaR1JFvsb4?o!DhNnOAc2xX< z>V@8@UiI+<;tz2%c1Gw}$6R6bv}frb>sU8intA7XgTw=peIUNVB1<#wP(Rvkyu{mk z&F{fu-kn6A$JSxx&pb?ekv6~J^&P9KUE#NJr{%-?>SYF5&&>2JuXarP&Fs(fBp3XH zmPhDHlQ&2YyM9F2g}H{Ooo@(0;#Zd}O+D34*^gaoc%BH)c?h+4{E!z5pRGr+j;HV9 zSGz#?sZU8?OXc^do=Ni4Vd0avxt>qPEXSx1&{9I((S?}^H&RS^CIZx$s{T> z89nE0rHA;#=)3q+4hui=o7KUd*EX-SH2y%UFL9Dr319pR$(?!3EPKwlUE`%N{TkU3 z?sL<3xYtQ?Njtw0o^>GUIsVv^FY=bY(VvNboZpt-rk%I=`<=@rcl_wYH};i8Un(zE z`(oU=*UA%HZ_N1eXDTo4uWa}<{|ncr-mQ`g`XD|qzmvWZ2VMP_otyQ1-Xs0&_J8;p zy(p3o<6hYv-dB5Lo$qYJbADsLLDr|mFV=t3K$`g0k}u<4)q{M_Fg)imB(HX(q;k^k zq@THoS>h*h@^&}&vO~(J_!qKk#0A?Fc_06?qlRZaS>@;cCeagTprmdf9j871Hx$>aB+j&p26jkbf6Ne(;ys5e)YB4O^OZY4IDs zImwrMaGek1pHY4B=iYDh=!d>b|0#RG_;<76Sua%i@O#bp^9Jcpeeg%(5B>pbBXq2L zZ7}+7+yKsp>O1&F3eS1o6OqS^OU3V8@z)0eY2qDc<$qjqW1TD0s|WNw;zxDm_G+W= zu19emA}jwNr6;j9SNRifOXXr7CO&ultYY8uUCv{V?)7~BQRC6l*#C(hzx|sHPro5P z&`*eOwC_7aU-(33_t)yX+#f2vtyjJzIkH}~Oz-#o&rZ=-pOMM?cuDxyWwHj3&L{++J(1Ai_46TisqOtReVOa5BfAI>ctkG#)1@nVM^)rN za4?BzjBOCcU|SflvF!3H+cWk|&+Zw`Opj)!$IIB(Y@Qj-)?PFi!bM@Z2_jn)-N0p2 zNbcvLfQc(2+m8qW37`Z5v>?gN7jZ*EqHNqG-*cXN+vtxj)p^fbZ`C=cPF0;cb&B<) z{Lc&T-5>bvuZhc}oN!Lwe#d&Tlsj-rzTtnh zC(6$Y&lb+PmAyH>H~hNs0>ArECK^=yip^1GhaM<>ALamPoLBlyvHIlR5HJ-`|=@ zna?|J5bvk-$I+Fu8F;hx{)ZB2x3Ncg#qOsbLY{4Jvvs)8d89EGc*H&47b)L=Yc^l@ z*`cfQRjU>M1nwcQpR-S=d=j79da{pvW4w=@UVVtawB=#fwqC^JGS5D%{Nvt%N{^NJ zlWFLWEQfea)|YvZ?Mr>nvAyiuZm|6R-`7K)$3~+|!%l z`SN$(9?vmM&%7@$WD7op|2ffY)c=Bprx1TI6N;#nPYqW8N0{ z*l~B84(;9&DSjpDZORdjf6JK!82fg`*Uzudc`FSS3iUKbyKh9aNC7bpkq<(B%EyX4tUOab62C(_Ku6)+ zZ`v&Q-)m>yt53d1d7-3j0j~{y^Whw6?PpFzia-7;)0M9E$6ncpe69AIk0pMY7uY}X z50akv5Bpu>3MyC4xpIF<&wspkPZIaKSLMCQcHsx8-azkf$dudjOHE7rAB{Y5666c# zjtkwUKP|t~($6Yytn;h>`<%kZxwFbS`_`Kh@8f@H{pyn^)<${QV+(%&7TepNFXzUH z<0HS2+kJt@xsIJBotwRmJo8-X!o0Mq&oi!0fZOwT*dF#NqzC7Z@65ols|&}^sL-jJ z*WvFjUx^n|`s>oxJEEMta*geQvZ>^69gmcKKlK}&R{t8k#JDc|v1sOt6pvzg~e(yfuQ4}N*1-I%~16$|Lt<6}}8zBKG78{nOCT6*(LDkK^&YK3n2B zbjBzB4)zxN7jdTVPx1cnpA`+$+2Ek&u|`Ed1hVR3V6g3i4^`SXWXmxNaWFL zewTjpy2vB9>dWTTEk_f1?4pHU6Q8sH5r0>`P5g+8Pp?rP;7e8iqqoF+-I*Wpy|}l# zl=D{U#kg$!(cdlMRlK#dbZ>z#%uNKGbL#RR|6TdRxqR!xJgCwG>&y4&U+Q-w4sqr^ z=4VBJj1PbNI4%JoNm;Q|uA;L*k749rpD`0?xS%<(zw^$~ZMW{kniN4?3Gk zB95Wy!sG2kp7n^);v4xL=A9db&mK`e z@qaDyIrtZY0Vkfr!g?_+9PFB<$ng5-EN_$}N6B@|St!mVk3Fhx&~Df9c40sk~u_upQWKZEx!P zFU#Y-4T<-NCoBK>{@P5A`TkfUMgPk$)}@zc@|?@w6>!e&NFU_$wdRNZ@ld4PBUb1$ zvg?M(bFSoo>Ey?iPwX~@t}~ad3pn~szOp~l$dM;rVWx_+b;UM-_0w3b~N*x zIDVT=2lf^{Fj&R|{D+$X=N{voi4=QUr3WwEo5?Y6*q%s<-zr_uzbW9@E$>bw?d5Vl z5x)h$)0sX{^k;u{FMO+auIP6Pe^*Le*3@^d^h2K1d+dMsKKC80iE_D*qFK`OluzQi z*x%t(rB8~zmHn#SS^N*53Vi%rwwWLQjQIFR6@4}Ns?v|fKXY|FXP;X7bQ|R!7xv$) z{{AE4vwxy|5=Z-{1U~y5cSc$t?ZwmU+ZuW7mbVFidcW*%O8=bxE%iWNDf4FTb+Uau z{^K7nAGv46`nQ+=O}S;AC7rQ*t7qz?>rY1c^ym9CzxYSo6KQ?&=7$q$XZlsvvs=aI zA-kg%xcG3<}VdL?|CTjyN$0sl1cHOxFym!r;$i$iT#T6 zQ0f8BB~JvrKKT#UA3tCFJ@XyQX}12yW0~iiyD8tDysna~a&DjaA-0!u8e<8(o_&e= zi*zO)`<{Rk59oL%O+!a*ANv4%g*W;wpEya%XM1_r`mp{NpL3VCuQ_$E<4*XsMLEQ) zHf8_fMTs1K)1};%o2)-}X5|@u^JwNd_TECD{%4#FeEd~UW)k8G6n)$O5!(y>4OV&RvZB>7APl0?#j|guMm$-D;S4z8=Zc-kI(^&X5 ze?3 z1_Ms~@r{w^vKJ~I(=CMV-YsJpfo%z|v1D|pIuE4{8>J^bE{`OBtN_jo`+Z6fs z@XuOL&Z#KxsqZ_M-ySY@YR-38^N2rJj>Sd+ zcOH!RY4&H%Q@0XmX=tzY&wYl?JnXfj7SxVn)@*xzW!}Fvo}(Au zV7ge&LlF3GP3teU# zk0z9{@APs?2oMTeXlw9*F`@}KS#O69(7^hcSg=@r%1=|QorH%Ykjag zD%bVdHPVg!a>w;r?fgdrpE#qI)14^spwLg1+&oyu%eik}lLK$!pQLkI`k5lPi=R|K z^zPrR&z|#E@fusC8~w(9fq#PYG|sP%#dG{hPA5|CyOOWSv3SHK-xqNF{?=xnZ`>6r zb`kY$dw89B;zc!uSNDA|AD6G3udBxKBg#ML@2zLgA0PU?I#C|y^9tYR|GV@czQ&d) zueNxebmoiBJBS}Yk^tkEX}egT9LnTb2UuU$o9bKE#}5V^$+8^ciJi^lpsV~OZp@}c zJ}=y0IkeOM2t7{*ygh%pd}5!Y$kqJ2gtIO+Pdvm@{^Bc#3;rqj#e7FTW49a0l*2t{ z)}MLuRgq`kqv*GZGCzTC;&YFDH9lS>J@Id>=(_rm#Cyc6alB{VV|(#`*%EN(4TU~~ zB~CMT)dFAog7u;2%Ln$s{eFA-`RWnc)yTZx8F}ktQ4anCwiiFK(!P7qKhjtiDSp|HM%o_!4e88!Wge>dw39XAJlZ=VReu=0rix%l|$C|8UlmeZNOS-nI*Q~ucJ+L3vi zb>H(+q|^6HPxg(h5B87i0#2NliawtyY5yk6!SBU>!gGkC;j*cJGU1EZ1ejGR&r zV81@UAVz08F5l7K}!M!5Bk014pM0vHvOYV*|4}3^@W}m1U zhmzkTUh8D$Iq`pP3Ox1=uZw(hD!naI&O02Bly!}IEA?F}Ux*hd9D92+p4SH7F5Q}~ z)7A_7!(9n5>v-jXb(nHetG%zt|HSV~NBr=7pLi?#$ywpD+C6)_5LzG2ray`aSGEmczd8-heX?R(?1~FFm=p=U~9;uUj%H z^}aq*;^zBZ#sS++oMrjTdR+RkZ(%)=$3mB-iI*kbBMyc1XP)1Va=MLlAmH3{c6H=g z|61SX+^-x7cp9qwyobMC>C3@G0VmG4aznhdlbKw7@-4Otx%=_R6R%l15cgqUBH!~T zXWe7FxOYr>CXP(e^R2(Oy!P-W}x?+2qC))S83*!c>78*hF^z}a_` z{_XzaSB_p^mw~f>wcOg^UrHa&k4qoc6Q$g#*VyklXLxJiGoBpry^#;t|C_B3ZcMOB1ePQj07C|SRefMEsy$K9`NqWH;X)veyH$k>3Qvd zGq09U_}^Jy#(C+0T|{}vD^DKE;Bjw&^e0ZP-=lwR7vBGyj#Jo!gtJb*G~mR8wEpZ5 z2xq--zv5h|bYPw>ow=_?eZo5Nfy8@xWwz+IiOZ}Haef*BZ}-2(`rxNp$>-Z&7jX28 z{fl)*>EA1lj|QCcz=iG$&$}`5#OZHEN?d|c&*=|aF8e??WuJdoea?E$?=nAsPQibH z<<}=y`5tyF<&C)Q);rc6f!Cb-r7I)tHZCmnTfS;EeZ=Wm7jVuun||F496ztIMB0moLcF<)GI`?k9S(RJdb$0L{Uqg+IBW+3 z&c0qHpFMxTm#hys`|5?S%kL`RoxJZg0q0zR^BdMrDV}rhgY<0oe?mTTzpMOVf8&9` zuTQ?naS-{HPMz_GEB?MpcxUAIlz;rYET=xZt*YmFwi9_S<4LWIvz_t3^84J=W?7VSAfXueJW1mvcTq{3-iUb8fA0 z>;&?qIrS&X19X;O*k`u+J?@{4wB5hyM2>X${7sSPJlN?-nI~2K{7&h>e!&|8-WlH| zADO4@&gQ?N+_G*|Z#1WV_DH~)FW9cI*G3*Yhw`3=u6#I=%_|pMPxxW^>?;-gsrM;A z?C+KD&Nt48KX9M;^yB+8?-Pgac!7UId0^jXZ@@X%aVp^0zpN*5wKiw6%zy4rr0gR% zBcFy&RP(6A2Lp~>Tsknnlb^(2Xa>C5D(43|-(2x|w{lKA9_4{^ds{Mi>|d+*I3FRu znO{l|?(v$4a^R=$6aQTPGd>;)c)R~^9?PV)!8!E|ap=YpS5Tuf<+F~peZ+G*5#{vkTG*9rFZXIZ6!6Y;&p)li zx#!&dZ2`{<4;6Ws=v4B)rXhUg56kxkF0!8zZ&*3UPNLpm-MYTuJ$WEf;VOp0q4An_}xac%=`NXOo=z)cbSjw3_RvR@{#=_<%;`R9q);!sGQ`1-;wX!JF-55 zpO&^({rWS7Zo?n3A4PnhD3ALGt8#v!)Cc=$z!|?Rhy5VshxPSl@rfUnc@DpCj}*W1 zO79grN$>uUv~;_AxHJ7%72P(dSJ|J~o8rC2(qFjuypo^aciiE8kn+YoG}4JL**?xs z7Wz#5jrg_NJ5EM9#38f(_$`!jrVh3P&i!o48Sz7uQ_goNhs67l4*0p+&+yZ^G4T1j zCi8>+Ryn~=b50`Pp1<@^!1KcEs(KwL{bGKX`U-zU^$h2vFAsd^A>FV8D!0tH%XXHEfcJ&GN^|8cr^oMZ#?cbWo$X2FU1NFp%SeCZ&v_&Jl=gSxM~$YypL$F@?2q!D{i8j?TU*X%o)foW)O3Eh$nEfN z+E1{5H51R7$Fw5N3kT0;QqCt|lt?*GW&cI)Zizhh*gcsP`+|Cy`>CWq_r}?em`}^! z_VQ=X1|H+8dZsgd+lE9QJBf71AEgm_`ui<8(uFtMuNk+Bo*B7ZI&seG;dst|*}h1* zFSU$UGk3}t=s6Z}^qzcW{Z;5td!Bq}fA?hKId;GM11}GJsnWZ5W;n&q4q^N5`R$4{e-W3>w{hk5O_0q1;Hq07{t$QSH|YZGwn=JvXWZJ7I5P3R`R|7hD@II?it~eKX)YZ_?_A=>^jO9 zX~sPTe^kF)TRdbxA}(($;Mf7zWm4jHH6vx5 zP~UPcdROGphr+SnyfO0lLrMqYK<qbqmVRc;M@#mom`50-XMyyk4cnYXEz z*k7|B!H2UMDEg9wl6LHSv%mJkt?hAe%AUk z-&`GV;-Xf1=S#L1|E8NVaP*P#&p8U^iTTsofOp2r`2wCxPwW!MQ@}^=cqE>4F8x@f z=;5P@v^O8)-Y~z9eadzrZ^|+L0Cxs{9=J>WfWDKzocHuO>s$GSU!8J>-q;@a(BTKy zk#HVVx-tJ!-!Z=)Nx+HwFCB=dGeBkB; z8v3Eg+r)dNU-%gXoWFIMAMDVUgZ%DI-;4`mH?>aQ2h7WD@M)${*(-9Ut+F zbv(mfr+#4FX*taElmq5-exG(oPtJAN-#EW}Cdy+SW%G0>8I!OPmDjPYKc!|E326AO8WrPaM^U5?S{DOFf3m z`9IDfJ`nJ3W3BCBA5QsU|L(#p{1er<{cKb0M>izk_*=*q{62PNvYa-6aN@RDAMPQyU5sCs6?lpJiv3OcF<$KmICQgJ_!Zq4 z`TFb`>5tz)sn66ScLW^%+>l9Yi~n^h((Xh#N5#HkEs^g`|B?EE^Y_XT?N|Prb8nX) z_+_cD=^t+neEjH@OZtW59rmdGmNW9O@=brYKXDK3zJL?oNx6Yuw`H=}Kco-yFZtV@ zX>JWTcIiEdly!q}>`<0hpIo&m;H>W}`D|8las9S{xBLH2x?taJWb(`()O%0IzgXOD z|6_k^Eb+KKU-mVT`%Hp{G%@k{QBgZ_YH+b2k5J$0_0r`(5mK(kbE%B%U+h*%Nqa z>HDV4H@6q~dGft?|1W2frrzhFhw7>V_bP+H2a6Io!|EhYXIaSV^vu;%W z)6mzIpVYT3fAJ%e4%pEud7Dx`kyH7?d0^|$zH1rB$A7QzdHg?4CcZO(tcMTeWi3mZtg00 zPppX)KaLZblzX$38|H7<2fRK1=k`O!Vda*2L6O6$G3OJk^Q8~|x+laRevS1c9<21{ z9B@0}oI5T3WpqZmwU>XY;4dE%-tK>Q4}RKmmM@Yo-HGSz&%9r&?Kz(K#UHe)|KG@8 z{9i2xe{}1K-&GmcCO>*_;Ils4nN8m&eemyAUva;ca@d`@u)H_?k(&aaacLs(pN_A# zbo*E$n-_{d688cYJ};N}HucflN)qSQxdidCV@hZC+nQOtFIMt@OGwF2|C1#m|}br0wpEKd~p^X{g*&P#e5kI^h?f{fc|~s{9X1IaR#d+Tu?= znt6{n=hCM;@k056T|>D_OK())aKFSu2`tK!4(wN39(Lf7fOC&r#rHDbM?c&VaNMPb6mP;JJ zu|#>ytK}o-p~`sFI&HtgkE8U*{$tjYec{p%$1l1s-op-~d=hV1J%XN*U(Kln@#&9u z<|u#aZ>0nKP`01AlI!Dr{F&7c*x4+H``;{|dsBpW8~2v)E|+^znOAR&_n5y|bn9Q6 z$)}}9#Alzn9eM8YSsy9)!yiec?csK*&(yocXa88fvR@&c zu&YQP>}1jty{_D0f0pmGv(&#juYo>l$9L1vx5Oi!LE-1z2gd>qf0PsUNw;M3^y@7F z@5MFd-U8*5dtArjIq?IPZ_Z~pf58rYNc`b{F5m6{ZRc0ai~0k==hV7vYsw-HTcCs=lP396Y$#L@5;~m3DqbG=u=2n@vhZ%>6PAbFOgU$NcyHk2 z=Vp2MZN52^XB{cu>Z4CsAMQD^eXOsgLw$0+@ZP+a`JVlV^^f|N^9xk!!PG-;1P#@Yox5-*G0;`^~yhSETj|rv8NJn;_O?0=(Q#Au$#65 zjy+{V=ydUe2S zwZBw8@e7t7oU<-`82(-5g!3`Bn{mp1mIpq4HuDyKx6+gGQvBNDM{O7PP0ANqz9aB@ z_lL5dVtrWmZAie0J9#!o+UV|!l>Md?iG=p~KKmz!GI`?13+LRvdCt37AN(|L3ViJC zrvnf9lF#^!jzqrO_?&XWx-$8E_CDn{_1)*ViQj3#Z@h0`0w4b+`9aGnzAUTHS$EkF z8MmwYT&SF2|B+twYwHVLH%2-2$r1ZC^i>}4i~sy}!10SIbXhER&9wCQmc#nO_RtSY zyCw(yE`G*-uRc0sJ=vdZMET9Ba!v%fE&X!j1L`&G_>X0tgQ1+^cef_;#9fgN_=z}A zW1d{}!0bzl9++yC@nZ31M-%v*8y21ihUG8zm(9W#f338q@xDd|4SRK^AKqzuxfjxM zh+`+eum|o5yq38GL9}PJ7fk+4Xp>l#h zl6sFf)FZbYmjdw=cohfm)x!=3Ub^omWiT=1V@w~k}DSxq(9S?lY z6+K$u|5o(HV!2m{xaF$@-WmC6=~G*LkM)Bu%5!J>3FV)2ei!=w{8yBR_WV=Q2mW4{ zd7tN3N80ZHC;63@zHlt^*cH_isqcT;AF+d4AMCiB#jn;8_|-^f;^%Ek@!s4m))V{F zrody~D;+qerXImwBb}JXoD6*8K}#R}!p8!i^HS;)_I>Y-e0}yle8kRO=sEaW zzsvmWK;RQ+#QL*8eOvbZ60ZV3c;$-rmhUWmyPB`gt`9u!!LvT>w@BeTnZOJvpywJ@E@zUA}ird1swxJ)e$GIPyfP=fVc*OuP^2&pGgtF1+`lL_NBV z|Mzs1!}&ku89zPe71*8Zw`pjzd}p3j$xwKC7y2a`VRZ(X0rw}-!7>7`E5^Z4ZioH$yx zvp#x>dJ#Vb>DHNkPJjc?wSBC&)IaPun`b@fdyK!ru{#w0 z4g9$M9{ba-D5n>{19`IE*louGjvuM*M-E?_$urI!3V57vi#+=C&5_6dLca9QId(?Q zX~c8pYgfi|^ql;qA8g6w@ONn@QsTnOZ`RKn15W(GqXB1spzvj8&ibRr92eN1SI>Z1 z^v&?sY!~;qRP8_a2FsbgN4dhE_F?lQzf^O8Y~^lL|Qd+_sl_Njvh~SF1d5 zKZNqoZTz+MVV~+X$>*O?ZrK-B-?6SKa^H8}ns|`&f zjC8=iN&1A}L%i4X^WnVo{>XDq;J!%P!_9Uw|L>)qiyu{9YJ>eJ0?xj_@VxS|3V!lb zz$5N#CM8~}<>7yOT=+m0Z)E7}Rek@lxqq|B)%20lKPJ~4OuPr59*Ot4XG8hno`AA0 zXk1pw)4ApQGe2Xy81D=HC$4G5d+3Gji4^}0@z{5ipZKHh4R~jyir3U%&Os1o&HAvf zdMxvt{l=ni=5H1sdv5i;=lPs*`z?V-{1e;Xp8u_ikE3^|fcN$M6P_(Tex%Ajess2r zdoH9i{=)Jx_5Fczh~KvD;~d>XQBG}fv-+Vv`dQ1tE_qA9iGwP?u(wM$#=AQLPJBV- z68&Sn*!Pld*x3tz$G59*@rQ1SKU|$R9DH(fYM@rf&_KB?7ycRZeRZ%8SZ z^;zWcmsQ^K!12?WJm-^aKYGD z!*^!DoGX_v#BH|yJ%1hMKhmc;SL{^Sf#f%F=!EB$XIc*ap3NwS{hHFgiSerZ)2joX z7q(b_#IuY%_abkIl=bPJM2bCFI)pz;CdYhVIqyur{L#p>Pb43S6IjNz(QiqIZeyX~ z&y@9DbM9W-3!j8zpE#3zznqt7_rJ05ZK7X2gFK4I7o|UT$g#l356J$*IHG*Q-@O?) z^B?ogsh_YN_0jj(kC;bTAM}}efN}Yp!0*nK@jVSaWxqiGst3^1TjDwQ)Q+UUn|MsV zu^;(Zz?nbEcl=A_8|#&~2Auu#;pFp8+alkd-z=PX_kI_?tqnMS*e85m-FM7BzxBj_ zcYnaUjbwWm@8nm{?~Zx4{f9Ve@`ZWJ*;39cod2Yuw<@2kKkPs3*KJ9Z$34l)A^a7e z`Q5nz=ib{w=Ycgv&oq+#2>DSC>$6|6z1>DfzOr9$KV_eDQ|5i_P&*O;?PqAL?|2d9ue~NJQ!Cg^4^K|jq*C_DX zwZUtpTf6^L)pxs=&wYB(+4sLIKKm&5MxJr39w~7&D|}K{IwC!iA!j|=G?aJZuj?{O2F&0Wxf~jN&=64kXFFi zUsG=JyW1IX{1w&1#BGzF`0)tGui%n+&iMuVX=nNa%3qT>7D@Oi>(ibu=kn0&Zwfem zqVgTRurHJ6z8dALGxDrQB2OF>+s8iSb%}hlRX>|aIj>vVJ^$agM!q}oxa~?y-<0p@ zFY8?&{YCo`>s-ra9kxFC{yO3K1+_BywDeBrSMay+W4s}q)6hQUfq92{=8@_f_K|K% zyw|%g61#`|gnu_idBhb`9ys@Co_jr%PvQ@$H}QY7JlZdv@wXX^_wakz9Vz!Hwi7Aq zVEIlwZS_-o_*&(mGk%fsPy89-pl%a?xY$v#KRlG<{pBxR67c5K@7pfcRqF!IIZDf6 zf4TIdg?>}~(v)-j$PNcy>f2_DU)07#zCKy(daT=}1NMpAMbe0J*>(t^QB7@XvB+?&gh@FL>~Kxa>)5z%fX*#BnMt^-n3NK^~Afl zKH$jXWsxEWmP336>A`wwL%^F;JESN47S6p5$_wWR?O*NXAD15Z=Z>Z*XL6@}!cJ{H z;k$gHKiL0zc7E;;DE(+=Tsjc0gWa|0 zq3M_29`CWADjYv_>w|w*`Tp>_2Lhk*xRg6`(ec3NzA*Wo`u_M#mA~a`#m1*jpyBoIpvV}k>YhHnw6aY{=pQ_8)aS3eYYnApL-+51I{|V z5qbP3)Jwg1Q|uSYNAytz|7H0?d`9INd%0tN|aJTBXdf1B;^#T{pU zcvE~2xsm>yr)ou>xcOTWDfSWj8+u8-jb6Vj;OtAS$)xx-RPcA~3OIJ6qA!L&=y%y4 z-V<=<*VYez1MAOz!kYt*o>UGQ$DftS;}5qk;MC9h=YbDMKl;Jt0mlzVIb>g_j3dhj zZVfp5-qM|O4wesJQ@}aL_gE&y&$|^V`(~#SDe;f&r#(Mj{Kk$1yxsq7<%)Hoe2@Fe zgfG9y`ZGT5$l!4fLpkC6SLsKKue>?ny*TmQvsmD@%eDu+=Xb<@rTsmxJf=Kweq(>) zc^)`mzwS(L_dWIzZVJjws>crd3tKJwX=K!TIdV4IBXMLR_ zt&eWD{{X)~^2|q^Z?J#diahpI^%U{s?Z2ECmVej*#U~ziD+S)tM=HJXzT4tG>}K{m z_J4$=SMaJm&4ToALK9;q&GE2J%|yztp!O;Os-oSNzNxnLPDSZi&nA zVC0dr;YjJvV~O;K@o2t$c_xovfc=_r{6yr@0~bb$JZ?;;pI2T(4g!uJ+@*x|zo{nOC99u7QOpj@#IR{wC{jPUyCD(MvWiYKsgPY!2a zZ~tb#b2Q-G7p6Snhh#nR)3jZ+#a(`vIE9sd*rS}+M-N#({r?s5KKsDRZEf+F?GMD8 zkx$V7PRpPFtBDL=d;SUGtfy}bcx|xQKhb}?Gg;;-wu^H+){k|r?ZV!yo<#2M4Lstc znsSfY$wZ#}w|zekJg3lM`S;EQ9DAAdZ?=k`8+LBXVZ3%+KwpVZ+!4!RULii~CG{xl zkzt~|3-@D`@oT8WUt%8eFV}%jJZ$?Z=Q@>l{P=fAIoy}x`*~s9dNKaq z8*t>Tl+*X}imtu*W0l;@SN2inoq=DgRra5m%an`M_i4wwyinqq;}5J{abElWz{kEi zo=IzquPAcCepe!kpG!4PUEp`Y-yZPh)PVJ5U(0s0-zVQw->>?9XXG=b{u3q6bG^F% zgLo#kJN9LxoSxr5a#-j$f8@(gE?^APs` z{4V!>%3t;iPDFXciL2{oAeM!vK@;Mi%zZ?^Uqd7c}1iSUupMH2t2Hc$b zZRyavABy`GtS9~VNQ&oke_}bz*Y1k^5ARhh>rm__J96MnJ!4ZmuhmYM`ZUV9e)OT` z6aU8cQvVGZEXGacyuJKHfv=3qPvUOxPdq1{%p-xvJWP6UFMxEw-fRDjcx~|UwzJg zSfTg$e^ldWiJwfoh28NU=K+)-;__QB=Kl{wIkmx0RqcAb=!yQ>a|6!#3gN7y{eFA- zudF}o;a!>M*h#kr9{f{|xcBs}!ly3S8F1|T@)LXE*?_a(aZ4hNxU7+f4`(CA4q|<| z@94J3qc5!|elPaB=G^(p1O8U`#B*pc=H9KSHj;k>YXuPyE~ z-<-SPc=GwlX5g{^X3G8G&O@+I%dfQbO#5|r;$zAQ{)B#)djW)pJv;Gsd;Whvnn}su zXukiJvB>9zS?hy+zg6<9Z%V+qx3?X6&PP`K`GWe7dx517{)p0(^Ft>BzuCH0x^o^% zxkFD{fAp&32j`KuM0xBF%6G;c$3Nx;${YR=cSkv_3*-y_TK`Yr6JKLnz}x-bEp!`f zE9cC|EkCb(RXFR|@}0h^s$XwVZ?n&~Gs+>3N}*@taoa)5uM0Tiv-Bn|rToQT+HoM_ zwkMv`&!kg*@;v#B-aHd<{PdL@T69AuPy9~X#rU>0^2{UU7jaHbC7+i##mpb11A0@v z)t&ig`QDi>`?UCB91DEx{?ZxzJ2H9VvRMxMbk?Ii{5AD6enH9=da|@@@s+PE@BdCa zQqHx?C;X=l=g4zzAmI3wNiWWgq)fIx`k~#46o0BSC13fg^#9mq;md0t3wUSx_lmxm zsW&2@`d)cDQtb572|o<$$-Z5|n|N$Ap0f|oN|9FnC)kH}1RVQQrKkT$Im6#eeqnd2 z$8+Wx_TT#KR3#_d0d&1R z@Ue%>N8;hD&xu=E|9kjr!z)hVAV(+SUhoeM`WRx1vWH&t8`UZ{ZQkLC)-_tlz8t zy1K~!((f0#uY9@GbNZ^gqMW?&ua?6-KGGR`?CL15w)p?a7ve3oB9C3o{`kZF{j#6T zKJr7!=Z}crvrpsqvN7O!pqw{GUpI2(7k<)m_@45B9k!B(7s)Ty-_i~LUgZkCGHf{u zZ?Io5o~mz{=Ug6e?Cbk7DgI!E9y3)O%hB)IPSy#^Dd#-)h(G*=!q@4mZi@HVk3AZ2 z?!#zC9)E$gk#as@UyA(D3F*juW7Pc8`-`4wd|AFUr`9R&+*fxxo@2+iKKKc2%;cG0 z-yHDf+>?(*p7rqaBhUKsnn*b>SjpR+n=*OEqq_s%p8r3}3FFa?0Y@)h5-H~(A1&zv z%3WI8s{9il>rB9j?{_Rx<^!c2!#k`eas8z;cEYtuykYwr_baXs{O-(a)no8)L*&!a z+wY2$_`nm16g#T)!OvE`(Yx=XJ^YMP&eZ!Wxw@;O^QS7k{gc8|U%9shyK&KD!y>Wf!ee6Bbtv8Qiomlk4@|PY6{NDKm3gpq4L(8+vImRKX)|nd;Nj9`qmTspzW$H-fTI<9jyBC{{4Z^y5`|b8u9KT z&wk(bNYS^_4SgU#SnsV4IQJwfKb%WmA9?08H$}?*4&t-!9Ltd(KVo}h{Sv>t@>Q$#3upXPUWvOZ9h!50dpgDYgJs{4^-Q79^v&XPkKCEeW9%tC_{l`R zHu%1(y*uyAWU<>HPo&%vBHz)A*0VkQpTgNUwZE{gQBL!~rF#OOeX(XHAzp)ek@Kz9 zI92BN_&fMsyZ`nBNxU5;U-`YX`zPc}XZ+7kM>+M`&q@dOUoH-O;-EUd)CP;)jP)nURN6iK z5&K=Yal<3Nw|I%)#gAV8;=iqa;9m36zNODupNQKL`0SHa?KtP=M7}fq^U|$%KA3)~ z{BvKV-@`6b+B?-JU-H0q`HNpgBi_gV$^Of^C*go@3ON3H*1tRRKa^Yg&u5&(>mRFRYUbJSP(-}*iL=PUYm zN;}6tzAnn;p132Ca&NTw><8Xe^8dIgQsV#1N9>8WW%BL$?M0t2AMv~BTj@}r{8QoG znRnQ~x-!fQw!P>t`#*7mx97lX-LfU{i9@2CA?LdT9{T}_-_-Y~j^Dj|lUO(S z9DfP%J0tfOIh{RfyYj+1+na`7Rpe;7@yaL%|E`J-Z;=kzsZIo(b3*$vDdW)AM8drN zib(O_dwV7&KEsuf=X{{_;rXLEvV#lC4|bqNLtq1#mg&r## zlpp-0S_S`oW05j$-jPUq{AHiP`d~*NEAXdWceB5>IfF+04&@fVRr?$Ayk5LonJ2V| zOB@pTdb#+M&)pf%)6x~n3I6)cfD^YxzQAAU!@h(3W*_BP;B$UPdNWVm5%~Dg$`|Z1 z75z)xT-LM7KXDzc=MV3hI`8%YjedO_P^ZV`LEk$leUL+q_hrS@5cSeRw zeFna=GY5X7?AvqBMEU3bG3m)YJ<1{bA1sCuKMVR`UgH# z{c&Jzl+Qj&RnDjEzxW$e^ShhJ63>Zq=X{a#waD-?Go^pb}kKe~1=MM2I{lhwXSL9jGpG>A@9*$jXRQS}oR=}|*ZHYYh z!ATF|X~;hsP7;u}@p_E4SVk z6 zqu!LjBmR!`;eJQ^H+Hlu0?z$iwg)?Lk>|nH%3Ei=#PRN}*Sj-mEbxh&p}gT=u`ZLx zu60!S%D*bFy*SwP-_rqyF3L}Bv5b4M&k=Cq#I`ai=iBV3tOHl2$WMN2GT`jDT^ITA zBaM{v^~w)^tJ^a9+T!{$u1%D<#I)zCfHUvykCgeP`hk5L>4*R7nt-?a%l&Tniye(T z@re9Bc2~C1 z6YD1FfdAx?fO9XK`T={Z{TP2<>yI7Z`s0s%ID?1Z>fXS|u2g;R=Y)60uR0#^JW%dK zfp5}*bBzxb_!G)=cjhmIbAG~gE8~>y=bo%mufdbIXUb_Wf7tPY{R!*OKG@nQhj?E1 z#&gymz6U*Cn#i(0A{~eWawJE7{PXg$+i1#P?wc!o9$48J_{`_zH|GW`{NbAd&iq<9 z`&U(72nk@MCwR|TB&Kk66wDjl#pUmx(=;&JH-|67?X@oG;bQpOwW z&%T0u{Gp%x1?nr#X9=&*&KwB*=F~4)Z~VzdGkM|^tP42tN|bZ_mxUvz>TUd5i@t3Y zKjb`cN;*SN`zhmNd2e9y)+nblQqJ$R=Xd#C^uQYe&idm_CMC{HRnJfEEbvA3bF+2v zHIWB@D3cOzQTp`k7TC+{@tpfD+VLEJ#G()9zhQltmmUo``r?j6+Ma*n+DJR&zf<@z za=moL9{Ihe0zT5PU7WA59M&IYyk7Ym@z@7fPxS6}f7*|z@2&P@{1^*;1}-Z7wwCY6 zlpFrYi4=QBk+Y@uZw)y5X?MV}(@9_Yz4Ayrz-<9XE~Nu@5cMQ}sT%^`vv*);Y-Fh(x^|EHwf>}6n_TJ(PULt# z{Pwp59_tb14!>UEtQ#A`7e9M*q^#F12RbS*jL+&l{9ub5OuonVcBWSxXIZ}qM-G(> z=5y*p#x3O!zen|68hY?lDgT|et26zTQqIV`ivC>rqT^$2aZ&vC{C_(U_??l>wikVG z`Pjvd1)On0{^FmxE0ZVgi{-FST=k=+QQ@_6euVS(&RgKG_2NE+BZ=48?^F)(J5#T+ zKO`Tq6I;J#>u)Rlza)OdwTg0iPx(b(7I|y^^QnMy?ybUKxg?Qi-r+p6+4`FD(48pp zg1Qsks+@Apf_dzLz~`Ki-(^0fJhJa~pXJOJ`)7CNN$JBp%YM{t{H*k0KiKly{eNpY zwc6T3_r90=yf*l+;uEj@fgInNI={%(#CzpC@fWNoc3kVlc>(!O93bCkzpB)C;2zt{ zeFH^K27ki$SkH-%|B?CnFY80`iPvAsSvp(#??Blv#$Qf2_g9^a^4S-){>|0{RXJ0(55Hph zg1v5A1`EF)=~SP6RQX}w#PN+dDXn=fF_}lz0 z=Q-44oOj%xqMYUJ%3ofo;uDVl)LoW8{|(C_zPRt9w{8l2`lEd0yV4ImbalXq7bKmL z7u!qR1oc(;r(~X^$9DuC`^UFOJ}*4;rz2&3-i#D^mJWH~51cPyZz}v znnx9X3hb9}2zY0tqVvEvs`iz8QkWO3$JoELz1Yo068QL8$uIQYmXd#HEYi;SiOEcg zon%9#PoE2(J+GqkZ>>%7eD(#(L$~qn#{!RWdtIcQPgUNVQ^gOzJ%5q#xZf-V-te78 z-j-h~-MLQUSitdHZ)H;2yCYKKk6AwSwqG;v8V@-0Cg08u+m#pkD*9YK zoWN&2svLD^{$0LcFKuPu(BVSU>1pf3ceh8L`SY$wImaO1Ym2X!p4g)%5^(&rD*ZSo zf7!Pw^>01%LEmeA)$iqn7b^eQha8{SpWp5Cxt8_ke6VoV|E~%->u}|wK3VNAEZ<+` zXXS3o!Jc5h<9w3i5&PEmclM9159?O>OuYVw66G;2TR#1Nb(GJ3$9TZ8=bg=@%vbF% z+~;>Fk!L-zGvMvz;y=duoHGH({@u!?*fF<6ieH8GLEkD*&DP)fUC!A^AMCVu2Oj&@ z_B+0~Gm-Dky#JAav(F}-IwSvfG~nos!r!@Hy2j@N|7JPdGpoE2m!t5vimS;ya$n%l z-~QpLNM|o;CsOu7EvG&F?y4VuaV+5MpPtI3%r6f|ir>OmBIVwuN>0vKui$^VDg*A> z+1SUieaweWCg44P7}kB;1CMjXt;8?qsMQnbH|3Ul)a<{+vn_HoH71<#;dy~iJb&d1 z|H+DO<^CYfXDgr3S-!Kb*_6S@FIm20ACeB(8Q&1)Ft2$mlVInO-pG&jz&>~~;KYHJ z4)xI!(vvu@@|#pR`QYZRaHZeJpgKXNORa*o54d8%^NUM~KG_z@Ppz4WPV3B2yaTIqvb-*PxV zc2mIXlSASW&u?8Ok6)F1VV~6Yb5BSs;KV&Ul}PhKIhTcADs-6r-=hI%-Dn=Wruvxq z=&c!eT6$7C6E9xA8W=F1ye0}zi{3hPW13n+VTD{775A&>t zqz8T!uT9_+mrTB6AGhD3KkZ-m0V%I>f0*SgpL!(lu@_i>*45>^lOKI3;Jx@=oTrt) z_?2u3cwYIM<3gM_&XHeOxG><&))(wwtmDT5jz9Hyz_~ZZ_M?|B6FxKkEYpb}Q+|lg z;B#84ergZD=5#z~UTwX)jlbWM$P>3jeaHIw=6H^M$$DZ}wmtA~v+%)JOaJhXj(mM` zRWnlji>h(tJ<=_&bk!@wAy7Vh`wN_R5l%lmk$A5=Q9Bs#a}Lb;c4y?AI|JUctD=Xc zGk$*i0}kfK%rAPV&|#*&H<9OFX5|Mtwmj}9kUq`U?{5iw{65!4%6N7lk@BDKLtphA z_ue~iWL?|JJSDDy^k7_b{)wNb{iSCIBR=cF1Rj1V)~DO(YsY&bM~Q^EKguiizaodz zzo`DlPH{BzoOMMdheyRHu7Kl9&wqh?6s3Q+@qcYst@d5t;Q%CQ{T5;=<{0w&bdh8_K2kbxj_rm- zo^_|=5qh(g$r9&SIpiGMy^-(5ac$2}A5P@i7nlC*^Qi|YQTaiCN>An&qZu^puhyUQ zZPK9^_mBO$y@}`CAE*2f_uxpuKcqZ&XLi_6JJXk19`br?;B&v1@Sa~E@_Tu}xi{lX zCMAx9^B#Lswz&zH-58cG#DEZu8;xDQo6 zaqr^o1@8m*nht+odg5QaF4uT#_LKJnobxBGZ2E5L$9bbxBG10XSirG&DmSbn#K#Vz zzQBH{T(DoK+)|!&Xd=ZQ-#p{B&#{AT5Z-@-^1(d5k-@|7Y)8P^$FZHP zU#<^0@pBFaoOAEepLyW(GCAhEcO_Ed3|9T|I{Pv6>UzK#=annyS$+2s`(u0gE0)8& z-ga;vtQq*Mf0TRHzozJw?UqyBcY_>Uo54dbNFU)Pq(khZB;f2D-VrJ1{UGv;Tfer1&e@-y&{ZCQsZv;Iqk~aSZ+v0?T<|CVNcl`l4;_ngxQ9mm(rBQ0O%MTl)*V*qdsL zPsz75RQ9#o{a>>_*dJ^+`&?IuPrRi}dDx+C7xQ`P%>34J>ys}RAGv=p@QH_A=rVAs z(nC9~KmMB1Aq}1Jd3R?2!N6yKT6k@+8iywj9SC?Y-UaJ3>B>Dk!kK5PFF4<@KZAvy zA5Ns$sjVk+ApN+%%zCDwUCJBlSmCMfTha~xH0z(14i>phyA@X z{v6@--yaV+``QmApWkD->|5VBZxpwsr_x1>9zfC=mhSpSa(u>=(TRLHnIuPaK=W&i_ogRn>P_%DQ3Uy{&kT--`W>^Z3d+^MF$S+2VJIpKCMlSm#xG`vaxkgT;S{b8&@V zqc5|+VSlgEKV2K|u^%a4+RM-PJ?;-^wUOGPSE$#A3M16jospk!0XPGc!T);-V=G|m#>Hv z`>*uJ@3H#s#nPGnBb@uU)Q9*tTR!$L$3IF?FET%}{;Wf7FMb8e73&M-ojB@`#dnx5 zt@C?xzi+>wKTH3JkCJ%Kc_HPuHuz%aZ|vi24SdeM6nPu?xN?TQ>B_(-&h=K)*{4or z^7xzVi#+}t_Al&2`vT7Te`loZOWQ8)cd}jh@2O`v=UMUn>wXtIhj9FqZbMlsFyot9M?Kb8>GCIOoBudj5m;XMQvq@HBK^q0hp1)d$=Usr+MyxZme} zpB0{#t`*+fM`pg?^!d_h;rRWDM|_kU0#2L-+r>Pk6?yd5rIGUf&P0+I{@HqV8}IeK zJn+)P0q1@a+sQn{aScCA{Q`Zd{>0z^fdcROVIICa^3b(zI`y+>5_!%Q9XCJsIpvOcv10{(`Kf@{YWvGL zu=El2F6%|*p?8jk{h3<>kM*qh*xziY;U{&m#TT@3*}c@y7)}?c^RiTN3x;hza)QC-wEkYJ%22L z*Y1C<{f_yw{G?x~fAG6i4vDuV9oWY|9{8M}Gtd5)dJMlP`IUxVU-i>V)dQS+9SQu- z__Xz8{wCd6Ph6RSH(TXgFm^oYMV$RZfzLU>WAPmSWy{AdBz+>jMFz~isqIZmXHO@x z_)W>LJn-wbi}7lk@ZoR!-R?wnj(+jnGEU8OAI|aK@TU$$N_>i&6KQ9>VIF(x`heqC zEWe10uAKDZ|KO*0GVrmJs0Vxga@Z@?yTomj4%joL1ODop#UFZ>`W(Gve?dH+M;_PaPI7I5OW*iQWCloRN-TKLSk{i0SYei~1ods@7&(7kW7?Z&V6`oKr-s`~#x z`uF%w9QRY1$Lx=l@)qy2KAiVc&KMup#dFrx4<}OQDe52gTOCI@XH(>@?@hY{5BVI4 z6u+=r5-EN~$~p6rv49hw*?!77)l&h{kaz+^1b`x&||_`SK5#8lQ3l-xj%tMya3yUycfQWK5L)w z(WflGwpjKP#WDtKkr9{RfFW0x5Ze9mWEZ|p@yk4=7B{XkrV(obhDwEo03E_!C*|ee&0e zTupt=dUAiJ?PC2{%9;AqSmOKa>&QpsQGCY9W5Nf^J=56nY**a-6>#QN;uEjZ?{hz? z^DE9NDS!A6mj2TBrdu-jyx};Gf6-3!i$iM@Q2g}DI8nuWWS;Y;c+PxIK4ITe-yjcn z20r#-<)OX&9O=!y5{-a!-msM4y4U*GXZPJ6aN^7;CyZZ}{Qu4BfY)k=tv`PHMV=R) zw4Cn5FW6sLmsk#Q1aB07aru$VTlmA+AF)p;Z}8oIO&plxS^Vngx20r%@Yz#R2rqY*lUyd`JKN|};>o@C(oy_{+CoY|dOIGA|@y7Dqp>2Bu zKlPnkeRov;qCbZ$XXd@?G0yjhkG-K8aP|wVKXJTLc+MttT)uS&qV zU+Rp{hbMfG{V(f-pPcf^dGOl;k9`K^zh}S0Z)0t|hd+vPOZ*+_$a!4HwYcvh-s2pB z`iM9%YXToXs;a+_$Zz}}q!0Ie?+$#*SDvs#$$#v^>UsQY?4S5EiVua0{-5~~>4F|m z53xR#4!!%981GYjm;FTfMZ7fWfFIFI1J3@_mPFbazqxAf6&nMNp1dKEa^HH9tCjz$ zo`#BqN5ik>)E#oY4&H|5k)2&F`!ykM!k#Y{p{=zz4J(>E7J*3^gwbHZS zm+zhNe>f5Nwc3-8r;PVL=RDJ~fDq6^8T#>3>2bBlnvk7OtZ@-SX z5#rB2tF(9MO@5bkxAI?~{A1zu$q!ZXv&nK;pO*SfeN%eCPvQ9WS9xsXz?PGn@5WjDg?P1^8`tm*7g`QUrP~z6|{_?>{yNz-mJvF*9oBuQUg&&%7$UJE{ z;GBEgpUU$>m&tQ?MV|Sa{gHTj6&*V_1{^!fLy@+Z&k-N}Djw?*%c;-)vGr-T2Gk?? z+o+#wi$B`VyodeBdJ^}>`lO+MDRk)nP4VzEEA;96UXj1P&GvWvzlF1JVfm~BH$*+K zH*%9#>!C$LaW%7v61sz_))BUwdD?*PVH_^}}zh%uffm9Efs=zp31E@2c{Kznb#U ziCCNTl4CQ25ff zS$Jpq|EQO^S6KSfPwq?NtyZ2{2RY6V&)0Sl-?hlez<*Oeuuop`{nrZ}M@t+<^z&s= z4*RxMd!M~A^6W?LFdg{hqnSK@!P1R&gXJTq(wF`7n*)#YSk51~SJ3*iUMc!`<=ByU zp86hsJV&~8(0NFAX3qXW{3_)Wy*(=4(x>i>6#Z1%HTb0Zi2Z?w0?xdu&}Hd-$5YN1 zDOcR1UFyH^TKPbK5zhH7>reR=e-7Ue<-i&1$vpR`B2WCQ(M(z&T~XfR{?W)YFM4C7 ztcy!OTCDDQ7(KHk;61xK=dI-n@mi0kfcLlVkLT=j3hz!F6HYu9+mE~yKFnTnH1N5v zaChJ%pTgPqvb~%?lz+9sW7Z$P2l3nU_dFE%tcS0NlsE*X|1Q5sImJKEdZU-*V|(~x zwu|*zB|jfJlz0z4qFllk=}NpA`Gp>^o~*OhNBNwS84vt+f33*#U@tz~y@vyi{%+=Y zKKw|Li}_!-y}feryKTjD{HUxy=Q{1@?3Zr~IQt~qQ#_yi!NVnA?yKUwW$9njKWaZD zE>)>--zUccpM6m4&Gz%t~UqL?9M?Wtg*@sgeKphDDTJ1NKbLLg*NA&8( zEWFs?IKLttSP#h;;wK-B=Xs@eNW8&g#}awsAPVQcvU>y0KIBaSCyuxDWL_ga{!AnB zJPo}-x^Yf?Rpi_AUpkOT*`HGnbML$OjMvhKa~jGgek8WHIrs0U#Gk&$@`>wUyRai{ z3pn>6O=QxZ|2zA7djj5^EA}hwFSZN&>#YH=&u%kMysZtHJoB>B-s)aC{2HVWe%L3) zpS;d~#5m}C*b%n}oO6EC;py|ZeIuL2pDq4Z%){1X@bJSp8gTYeF1N5R!-=b$|3gM`!eq#&(fLrKI%E{jj&&IM*h3~fVhl}z{4-Lyg%~NA}@n~q5Nt)SNJp{{`^;z zbNa2{Z_aHU4>TG`M``3}y2LD$1`G6B=}!`o;Kg)z3d6A6d^zf9yoQkA1b2KlhOJM}I5-*sV%`A1v|f zh*xO6**~cG|M7!SPtFa>C;r=NeJ2+!zqYu|_Op*`yV2M7N8XU6$}QuO?Ws?`-ty=l>J#F@S#Rzu5ug3+!-?{+>xiEh z%DE8if6ix^S2^BcSGT^zfx0Qa&%Hw}(}5NH2mS!7QoslPqZ%I<%6K*T(JKNEIaj{1 zTOW-){-rl3QsPMze)P9mnJjXn9J2noJMzuBPe~u_W0sG7$o`20+#1j8ldG!v$x-E* z^{Vw`JOxS^CY;<$)CXj`V--acS^{*>~A{h*>}p)>mm>X**+ z<(7v%X>XL1hISUdPnPqu*v(SFIX|JCA>ZONel!Ely#Ur9KbvbJ&$xC$CS|{_$nC&4 ztQY&(uZriyU2=VgU#)!O9xTUS){zyTuDw0**eAIsQtWZcIq`qjxU62~oS$^S9wl9vk6o3)OGD?C{y02)Jo5D8uZMo*ob8rG%DD{N%e-`B zCeMEBO^JkcgZ+Z_y!Az|90@q*hlMk5Y-aN8Z^wI>xBNWsVAPEWqk|^Y@c|APOZLT?({_Lb;`)EiFgDZ2`4~k}FDE;NIW-_B*Nn(0b>avya)?+1=Th z*??o8U)JxzA6=aTZ=%>)anB_E8{wIJXRK|0B_Tj+i zUer!S-;EDDuRHHd z5nrUprRl#ba&_uU&I|0@s`4Kc-dg;LaufUhT~ROgY4(fzGshMEUD+p$ly~2-r||d8 zH_OLAPWj9^&2oq*XM1=DsH}HOmB7YpH?Ii{4eA~_95b9=k2;fTpY`3&6fQe z``W_Ki?{fD;-IsffYS3_UrJmwsBTi~a@ue9Pj_eAz9_x#(5fTRC)K5{M)zdc&F-pP^k zg=23iosg5lu}iaF?!9e4er?K2;`&ze?v2tDJ;y+l&;Ho@xOcSu_&-Z$_P?$>oI|z* zUTb#YSV_muWb)V}ZjF@l?15zd*^Ue4tqAz!z~9^zaN-n{a;KL$Z@K4jo)YgtI-=KH z7kHdAY(Mw=;^R+Yxy&EsMyvnLwug01e#O4*pug*XhIAv|!uH7HcPL-+Kk0*h*m5}E zNl*Mn?#tkDpRghDiJy2hQtovuAAN}OfqMwk+WdCQM<2c}gGXEl`vE^nPvW>qfA*1u zZga1(9OC0O10VgObVv)0($0lncU+JwcPGAc|7JU}*SFv7JMRlP_HTuMs`m@n=RF{N zw!{yG?@Kv7AF+Jwq6e) zZTX=S52-!)#*qY^_vNh*|7^c=PO92j{2N=dA6cEjV_$erA|=j}{o#J;aKO1=uwLG0 za2|HvW5qA68Q<}5mcJ>XjQ_%Clqa>`r&=%P!>tK4?B!QyQsP0|e)M3~A-h@1L{YT5sX&_TWFCNPKS( zmUy_tzmZRPAL79Rf2!@rAJg{m4ww9i|D1W^`t6N!xo5E)?2LCrp163zkyp|Izg){{ z%oIPnC*HAb{;~6%`@Ty{Iqy`C;Rm%Z@|-8GH68fNJt^{)|33Oh`Kmot{Lp#7Mt*7! zzSR9B_nyZJ{@<7<&de6e8R;DfczbZ8d_wz5zlLtC@c+PeV^3J%V;9{Y_`Kg|`_XT^ z4`IExzt|5qGT#}OGQK@yLxE3x2l<43fbGI=&2orm?L3FC4`tBs`x;K9>|<;v`|!&$ zdF)wF2b}d-d4(T?{EHr3{z9KD|JQ0)O9%WaoL`e8H_0cd?~9HjC9jF{SZ~DVp4Rrl z-&K3cxsUbR_7gX`8TE31VjlmM3jdRZ|A!vk9p!P)E&s8>S-x$|JX1Pz4tP-lj{KJY@iVLF{O(N|IOo;U{;nI3M4tV& ze8@ev`Nnuz-&_4fzgnCBdPT3~{Kda*RpMvF4UnGg(aG|=nRl(sz*~#AJ6`p%m)#V3 z_5-#bxu_g#E&jgaMqF>#J?x%}TjK{Dex`VwGd2gj(Jbo)_JQ(ed+Hqd zi1pTW4ZoI{x_m z>`mm*zuG?5p+e{WpB@f4@k+0bl=ENV$AvG;@0{NTGjQxo98b^oMz3U@^kKIr;E?-+4aOl=0y!nUHlk>X$ARgSI zfMZu{eUyKFCXe3Z?11OFB!6PBUd^x1rua^r;%Xih`&HsX6uK=guiAIs*1$u5SJ890 z5qbPzO*zLMOyqe_MY$01WHY%=`~l*P9gaM4bc-CGJy-gpZ;}5e`llyY%ia&(qAa{zq?(ULqoFkKpyl zs+^ye?=!nE3w-WJ%uh}ncV1$zwKDMWFBMMwa@)iB+!XLm902^dluO9lTLR8~ntX^p zqoT*5%>l=cOa4Y*CLNex%LC3kn-6DF{4J{bUpN|Y-jBX3;OG&Z2f63t@-6p=_LukJ zoY&|VonPpeD!SYtU9pQ)j-fXfAG?8_Q6Bbj(wX;#T^Blbv%HISXW}zIndGHe8BSYGn3Dd*J}bFemM{+ zb|&&6`lI!kEcRWFFMKK8@aOS6l-ig0ULSjLkr$k60-y8A{(ut)MgF6F`-^>|`0R7! z1N1wV!@k7!b3bH$a^gGEjd9--r!Qy)Uh0|>J~{AuKtPdI)j@>^}bvagu!m!Ht{x{qLeaa=ejSw8n} z=UZOi|K6D>7rQt47<+*Akq>=(r0DaUr}#VFT;RLcMT$R#_{8Iq-te#VM?WW>c^Axi z)Smhy=QZyxRO9*%=|DWB(@_rkQP&CXckNeu>Mza&oPCP?*NH#C`fxblaX*&h`}miw zmvh*I0dJ39D&I~{e8Jywt}pdY6@O&z_bs1y6z>oGJa?b+ig;YkFZ3_sa}Vh_!dH8; z<$n4^;PYO+a))~s;k*my_@bX`X1;UouI5Kw{=x1?JnYGYGY*ay^U89FMEB7rJ#nv$VhWfOz-;NDty-RPBF2IfFff`0S&v$dp6eB-@Ff zmhEIcwO;gw6`h}Nzw%t`Sk#Msg>>lj8+*#V0molRe&e0;iVidXx(s-ptJ|+y?>6gY zow+UW>q9rn|BdmVmhl~*JsxoO`441L^vbpixoCeI<6Y9FJ(#SYebBXm-=6vn+u3=) z3Hey$|JaQcy~_DL&c}gYA1d$Xa*wNgBObv?;bUKUIP*RHkR#>%aaSVEa}E2094Yf{ zu;}M`KU6q==r@YD^nK|=9Af+1d9Szg&UK@Cr1YzQo%0QTa9%fN{`{d#J@H;ul*2l6 zN2JIZ#}D~k$=|<{KKPePXZ#^cKc`;qH_+5SMeOIck~C#bHFQqG2~pu&)==qjdIU~y@vQ{;gL#?eXi>N zD>qy2()+KCa@wQ6awbyl>+X(}`<^2ICpz)jj>@;(D?LBH*Qd9O&wYUV6XeyO#=IlW zo%F=t*Zy)IwVd`~y^Q<7dCn)+6~`UB?`D*T{i*Vqak(au$KIoi@5r0vC*FnM9q`V1 zll{QHwbV3V}GRB|6Y+IoxZ8a!-fCc8F}v8PDF|wrTet7+s@=` z^PjMt#O-%}aUQ=n;OHad^VaOV{J{RSf-kI1e9v<~Q}|@|_(hQiVtLrzNPp}^q(A$S z)j7WQJZ5|FL)&J4>8XQ}w)#I~y_{nl7x>5df?t614f{>utfLPm@EhaLwEfuO%Af4B zq#O1f=DGKDys)!5E`IYLt9D)Ge3%?KE&p>bXgjzkXk^Oe94|ilN9QB^Zt2N+xZ;zi z`un)w41D;okw}R%Bmc19DD$ZIkB$VK^N0L|p3CvYj@a=+p1Mw>r`(#stIdCLB$2fG z|H1L){n)Bsw<^abN4D5L^oPP(Pj3l)NzP~dZ~YQ2*a zuU8H_|W zS{`}im*dO5m;8@?r1dn$i(N7CuMdld9hYhMscN3Sq8WMgxSJ!b4}I8n)_OmroI{>F zUU{i*p7rHu;1PdR{%7BAxx^1}+}P)?OMK@&UDu&=eyF**?+ks1^&?YwS?&4#-#3FP-V9@Vr#nRrWuBOA5T% zFPsegwD3dA=ltgQ)_Py!IAT8}KcdG`PV>G}g?F`d>G-{JzjZLmVgF#e>eG*pCi1+4 zWBI)ACWTm66S?*Yk2 z_#Md4(BZaejh?dnw6H@yoE-VM<4Sz3 zYMhJwCvJ~;_~A7(zox#s6Dj&U>zy2UQjzohzf;)bI-kj4?S0mi8 zux?4WR{w<+y_QJ_)|HciPh2DUit|XJYwgD)0mlwNx)Coxczx`D$>*F~m51=P_41x> zC5PYRcr}_oBOQo$y)sh{lqvIb=nm&uXI`Tp5FfuHzq5Y!1wQ-w3jfKLgFfiS1f2Qi z?};~Kz39P;e3;)U-8knc_c;e_2>eF#4TTTK3O&(d-5hZ23!9n0oDa*m_x^Z!BG0?) z${+les`mV>@`U$clt=hUmvybH`1xWdR_5Wvca*oB1C^h(`43ty@7QgNdblUt9OdJW zR_HT6yffh3r&fIU@iPCr|Il%7jDJ^pa_?t*cn{2Vgme1tD2MZz@(Vw}zR0t#UXn>$ z-T!Gh_~}?baViVH4PNcIckG1N#|cNjARiOQO8MWp$3g!tf8giUjB?S#*-rGs%013; z8v>4>-Tp+1A6}Wi^k&YcR`!(Uv)$t%sw)C8wcgPzOM;* zqj^w#-bX9*di+JsQ~X|?7wo^BFX-#HBfpTZI{xs)ulINC zk4roI|4_QMr%Jpd?vbTud+HqL3;Jl=$^C--%sEed-m{gS*o!&t%qRI7zqB$>NB2p8 z-ifdJ`(EkCz5GbffpHLyp4jraud$uP)vD zCSR-Fr##_)$#G}>-I9RfA5-ze?8BKn_YjRpnKuU#Df6oIXX$|R9C;wTHG7TqVgGky z;1P%XXrzsqvOb~5cAleuzboL3hwVqMO2_)p*PZXg^KhOrKeq-R_7bK1#g~hZKcnRk z|IYHULw8*8gI*Q*_?`P1#AU^A_E6vxSETA!IZyG<%Y6Z_^=8|NAC!E-zWRZH z^A2Ny53Y24@pF^^c^9+vYv|TnvUpD}`-<5MoDcM8d%%e^w8C`aD`SzyeL*6HZo`?s zsq0qD<$QTZ$q!WYIpBKPv7>}9u8HsMslSyz_zU{GTJIyR6!6jRL-Cz?dsd{_9hLoC ze|h(l_if}`?k%s3@953sbKaknAMq<_2p>6K=2w4tAFZ``fpQW)wqMxgI!@@}&ky|i z*qH6XAGwn2H#`3Iv86Nd9e!JxNSQ}Zj(nag?-C-v-B+;Bss+5`x0t%#S?JgGMfr_* zS%pugp6b2>y^8ej#2MkesEUry?N5}`9<1(P=B^)%JbJAikz()o>P&+F)#gaqN6P2K zCo26P>Ax%i#vaLWoE-TN=OcD4j!R>_IU3*b3v?XOM@et?2c?{;ue~<&z0rK+hD4fs zeqX-IJJhnWaDL=5r#?eoTIB%|2H+dL`+PTv?gpd)EWfnf3p+ z$m2)0A<|4d??`z+({W*+VLRDh+D_tFm-#ZVbSi<@82@9(iT#xPR-4~b_-FP>(i!`k z+oQZ%Z~IsxLGNI@@auLQ>tk;}9B}TPq5mgCF2)V8NJ`!Cf#;l8aIJl=sB34Hkc z)saW9X1`bujs%>0Lfc1NVd2;TZw@%?aoHy?zFs~iG?&KvS`dvs$N$Jt%>BlJp94*L$*d&cLo_#N@F92fLmj^pIW z{kD_y%+A2)9Z%%|a>(_8ec1khqj!=Y*xx#C=>O&O*6hExGT*Vk6CZuU>d3=S@-y*s z_C%g|C5}7s{)I#T-38vbBk`3u7UH!>Pf0)8dwsyMBd|UAqsX7^pB*pub*D4m+k?d} zn|hW-zSaH54@F8`NY4}aW$uVP@9Wx5{1ojka^NKaXB~7LITtk}&v|!4q{PXs`2V{{ z%#Yk@`+?hk)>q-gQ#+Z!XMZKU)%_Xyg}5MB#_w`Z@o!?>1|rY8CI1l5N&2&%m-bAY z@3?RecVFPKKH2`sfuG1Ho%c0(ceISx=%+U(@FqtNyY3LzSUC6ej#qo|X8B=q;@{*u z;<2qM_-hT2?^&Nq`SYI;5BpO25PhNYjs2hHw+GAp9dX&5N1Vs)Km1kry8BaG zqI~YV_GJ?E>yB?;D)NDIm*d5IEY3UZsiYhJ9?nxJRgM2p;kWU1mXBRR)&2`NC(7kM zNcwQUxygEF*1L`)pPZldp^Ge^@o}DEFL!I;;m2Fbn;uw^$P?%L!AwegT*9KuQvbNwv+Rd z?ZZFGdU+S@j>Ko~r=3?J2%@J+~tV>>vDoZ@}@x*_KK1yRn_zqgxL1&-P7@yj=Oly}$J2-tmU` z9ruim7jZ^TMjrj(o=CZGD)MRJyUI828%rKPy3F@Hmrn;C`}K0pnJ;z`oR>!ej(x}W zOp3p_bRy2;u|yXAsP%Q?&b4OGvYqJTioELn*V3=9->&NIDf4dr=jHeIV7rXV;BOQ; zx%j>c|E7vh{=j;PV(gAy;sy)wD{vfZ5T%IlWMcmh|2>iy(x-*%S_1y2Z`P-DA_yIfKt?oxk|7MOz zH{u_e=e=0?0y^vq>5%$`f1Kw!9OMK$Q?#$%TkIRRXBWnviC;r8DqDQ(j z@tONJ`I9*I?u)2zSHS79e8T$is>rh*Uz|xB&E1y6Jwm~sc+7DpuE+_$k3W240+0Ja z;hlF(nE%QF^g?AEhrTGEvyZ68?ft{?JNyKNqX*rX$>J~We8ex;dDV$qj-JSVAy>uc zeGSJGzar-Y@483_T7F}cgCC=GW4v5n(0@HU;M}usPo&rr6?s0od2=S)T3pzcNU=*T z{4?_|*UQO?|8p$h_y=1K^4t2;!j4k!QcM2hoG<@#f44jEc@MqpS4K`>m&x)@#{Ojb z@5;l;fj7x-$R)>xxK$4Y9_RAIk#gQrZg4(yyi(V7j(6Oieb|4=uh_|&qGxa&!T|fB5l0=6ff; zQ+@i@(L|1YlX%?s9LnU8)29QDed4Cb^Deyost^55E8xgW+rzpm-_?goy!VbCm3w^0 zg?&#|PI=#%IG56abHd3e2RljS%;doPET6a`CrbJMQ22KAl12s(d-UT0N3K@$;mWc; z^sm?(aQLH{O)s~9%#TxvJa)K81J3&6@9JY`+h5)dE^@DSbD`_vzpV{??wy?%+y_?u zy|dpA%epprspWR;j<`>DpTN7>!g+sWP5i#r`xfbs9!)s&Mml2W;r^fdjZ*L6i0xoK z7oNIqbUsr4mMDk)mF44C+rgI)Vm}h!JNEpnJJ#F6&pY6}H!7cVzrQi^+=Fb26u)ZA zM?T+_$#cHk74X#ey$ZfYI%8+DPxwOFZ%+;seOu^j3%uONp?50dJ9o46!T+J~;nGln z_Y`|?>?h=Z;tC6gpOlB#_edY~iOVzX;C@Z|WB=^9vX4<-aqn|g)QdmhYXXnB5-TH* z9CN<%4t&8UZf^#Tf5qWM%KG))M@iWSG&3pd)U}af520MGPyds@OA9}JI0d}23qh~( zw8&!*sa!?xC|%h9xUR8JyE^lIa$uMIiJeea;<$&wB7cd}p1t9Qes~GWYz8@+U7%zb^3bhgcVB>iT)9=&wJ!d~``O{}R zj+DPT@atoD7I`wT;JcQ{+wFl@tG%%rmlDT_^WUm~*GD9z1BN& zu5ti7{M*bAl=~Xq1F&BFN~?MI)%Ee6cLL=T^p55C1It%upzI$V$GkKrf1)39o~FM4 zcO>zhIGwhK^Pl6(zQXnp7uEHzW4}$gWxfpjX+`I!+b`^6Er)n_JEA_uSNfxOABysc zV=W%`7mg?SlL03lgX?{~GndJyuA=8beoLu=6`+516_gCE~Ob*_2A`1TgRMfhcFz|l{vj+FN-q!0X8 z@Ml(+eec+ZOM8gxA9%duYX8`eu1w@xizN;K`sE^*1|HiVaP)Jw6Mds}<{rD5fwN9H zU&vby>vBrK@q;@Z-#dOc*sB~1IQs?pko)t^@g2J-;jG{GANgj#(9e`{pL(A4azA%V z;PVUlmUD{ba}HDvaUW3R^U@WzBkZUHpLOtgiIjU@`MDFX5x>Su{XSUqvBXzB9(nX7 z#}g^PEA*WDzWsxbg|n}+eb|3nZ^Vxe{QC3<3qSOK`A8;DoF?gpe#vs-1Nn|~zWpVx zto%S+?$W>Bxr0$od+HqP#cs`c#QtwM;Jgd*P$ng=hx3v7?K*`%Q@XKlm!8~j-x>J4 zztPMjY2h0OBdyhnJtyn-O)0YT<^6Ev!Qse5@9vVmz0hIt`~#8ap3nJDYNMmHqIEXeaBa_>&_~5+8e7%V#{L5Brn?UwByhuuqeZ(Kj87_6A=? z%6?usi2t?o27Ujk1RVWl!C&kx^I-by8v>v8tgJ7+ms$>dydnYb*qJnDR+Rn@6#F0S zVx?z&>|>5UdWQ{xk9^*hNmJiR=Oy_SiTvci(K9*HiN|c$9p8c3`{2R)+_y4E#Y)|bwCjMBl3qsFl{pi#8 z1f2C#zQIn;6n_-q#G`W_vX8wg2j0>e`_-QMS>;lD@MjC3@V#R|+5d-P;o1+oQ>Hu~XX^dE|yE`xNIL>+rgOb6!~+ zDfi{_F?uoEkN$T!;I-aQJC69lSRQem?+>N)AoONt-Cgoix`58a- zs{Lz=oLpQOjPLmSR`TQ(r%HZ6{$*V)>mBh(0^S}ic7Vvc6Djh8r{qKQveKXZq2tog zBV+$7eUMjs1E2k{e1`tW^_n;)qXAD{&$7ShsqI(9LkW0$^lJG5`^8F5|DJNQJ@|XV zd8gKX@jmnBz=uDjC;lRqgWYp8;MmE?Z<7OG5DuR!Z;1yXoO_IWGkEA%gttdOWPQ97 zcVEEKA6gFgZ`N0vzpASD>y5#k5RcT~u|E*r z82{A6neyNl`4>H{eEx)APv>3f{&mWa`t;LJ2R`qu9*UH> z3A>2FfO9`)N*sFUHFm)3GH~t@cE$I}k+WNokNrxd*n1Br67c04=E+DV&$-V2vhFxu z*w+^R9Qfr!fuH(*s~YzglzFiD*vWv`=F7T_-=uKXsV%~L|5<$Aso0!B<9_Wy;q!}* z6Z+I00Y{%ApS1cX9T)TqHwBz?m-~YD)H`ek`!?q#@#T&tzN2s15GnS1mXAH*g_%6} z#nKtQsK2Y#_MJ(nedU~7tjIDYbAG{pt8m`gP=0bgeSW~x!vBzO z+0WU2?thfqym#n4#SYu{AiwVpeC$@_6Xf)8CXau~-bB)g8`*gu89n-|0*?Ka<+CqV zP7(iayYQ(SUY+@lJ-qXR_$u;q=lw_QE3XxA^o^EZ>)mHL#GSC-h=WCb*t`s1f4Utwo*Z{V{(S(!-F!b^m64|i69pSLYi;*vWq#OZKc z(0eWqIR3`A2RoE4kw;%EpJK;gz4&`MUiIn4(y#I77d~Hjm;AzeQl}EX!;f4zb{x_N zJ4xqJdur14j{UIoSLcN-LQ9-4(R*jTlo6c_|Ch=cP3KyNw%B&UiUMc z8+Qeqdy5A%X{}bpbL#pn%g64e&}*j0b(?tKwx9LsVBiz~pv>RJMd@cfx)Uw{MT-RPX=s-mK-L?->d>abovnQsQpyh?IT3 z{7n2N$FXDA+8BS1^F92n1Fz$MfZbn_1EZUTV;8$3zOxUKKd}pIny>VtdG6DV6yLF% z2zYy{%xm76yglH^(L%5BKdkDRzbNpq>yjUMM`nBEiQ^@Ip^r1qxv$LE?pLf!e!u&4 z!TVF`(4M;aSitd5RUWmc>YL*`_Snux&dWO^&%VW!xIOnKvc&By?dW@aeJ0;%KC&#} z_yuKVyHfKSh4=X||tz?XB^h{nz;cCtj6u40}}P9r}R_Gw}A*Ir1m=Rn9N` zUZp?wk+?gKvyyLfpKBv%k>8rzu@5mq9&wRBW?lJEPIOoqY9@V^UEtYsJ#AB1si05fa zKaT`H`k7lJ<$g!HvY)X%(8>ATvBN@deIW2A2VQ=ECPn{L)w|kx$2-09J@TN8`|Jg_ zpLRQb@R@P|zdy^zPTzTs9gO_Iy68THIE%-leEiHGFdg|qMTe0hH^zU*b%wYj2NQVp z=?9$e5kDpHTm2>OUwf*^J4P3-B=FHY-?sPD4u5&GJ&STL;@?Lezm`>z zHkyAvl1RB%a=k`Rp}b%}uruJSr?#Jap-q`A^JGUNWnWnMa=OHO#IERAz?oOlfpx_C z(XZ?YIR0&gp9U_oU-(Vz6@Q^iK4HDQHiL)%wEe=KRr!hEWSK9Ey~;!MUCM#Uf$vy9 zdhg>=4*Pev?8keA9i55Mx8 z1HV1^mTDjJ!m2$z(v@?q^hEyIe)j+JKj+)gC?7jN%g64Zls|CV_H&=;_;T-KzqrpA zk9Qj6$Fy*{<&d|&-1B-<;w#({?P>Ktvub~__vC#u`Kmp*q0qB?)P4}(()mI>8TlW5 zgK*|=J<7qZ)B4~O#|?e{)_`ND_fRH9-(KqN`z`6*>i@^W|FiG5e)LmE10TDDs{J33 zuaQ3$KQ9xG9eAN@&si%1pEzU{|G!1PAWqP}fa8}d-SE@j82PkN-XX=Wp_R#_kGVNg z;J5J+$Y#i{K%9u+|!kQ_IEiyi5GS-`MVEWKK(2FG4LN1-JWNAh!cHV;IU3h zfBcT68|Q8D*vB2QoUw0~c{Fgoa-4gN3jSpI7XPBbz{5{+L&5*B^AvsVx(pckG!$^+ z?AR~#xQ+vQm~8>){U+;WUu8Y?b2#9Q@mEOy&ihTgCuD!I11$X-e}?_;#8JV2ytH%V zg~D0a><956s(w9dOQziVbg^IK9bfqp{%8ig)!%3(QuK10BhNl&prq?}C-SZCpOH_P z|C#^t&U9)1K>f6F}%@4=jm-{Ws;|FOGve}sMPs(_=faa>sU zi+m-XNWfW792d?H$^7Er1(9~%!Q`AWoXK+jz9^A4ntv=kxp$J^J9-A}`{f7r50;Nz zfP6AJa<1*ij;6?^TDuYDOpe^r%%s={bjp8aB99%r^dU~(hr{n@RB>Ed1ZI%5f!bx$T61RwcgIho+Pp>>nH_#<9rf{#oS%a$9`v*QF2s zackpujq#C+{);b&Ja%4NbEH$Ng>z0R^y$BNWxyFf>5QNKpm>AN6Hfg3!dFvYm9HA( zZ?-+G&v*H|x$dKp)~A2Lb%FIm{^y-5=|Eg&`G@gzKa4%L^>*yxY45i9J^L%`WqmGu zKJxn;0?zueBhtx{$E+89>T%)KeQU=q2zh6@?0d@mYBqNzeutf}a*6vs+k?K{^0{A^ zo}4pn7yJIgR}&wo+S#))>fyZ@>5L!G!;yz?>>vFUpL-|U$9<#aVNbCyfk%80*Mp8f z6YKZ!fU{0oKKpOm%lXoNp|_Hb%xme&dxH-JKJPVI4)#EfZ*Bf{*2{kI%FK7>*-)g! zDchPN9X;jva{pp`c;90<;GOdb`iN^YdCo0A#pk~CRN^!Dptgs7o8yi? z-13P}Ud_`DWu7+ID?fRkQaV$U?d{x~&|c>Y_k{(%xcpF*pO;=#_^^sYkG^n42Hxs^ zzU^WEVZYd?-5>az$K_Arvo`_{dx-r3NAKu-Anvqq{7jbzoOc$jmwnW}OrCqoO{TN& zR$gI;E$ZympLjxLUN4^Kc;S~MKNCNv@Keuz>BD=djxX}I z&};g+$|dYk<+u9Kbtj@c{50hs^qSJ2_a}v;2a*1*{x6sEyRTIavyNF0`{`<({G$qf zRCp&oHuqQdi+#w!s0V%4nncRIs&vP0b}->|K0Y3 zxIM~A?BR}OzDGQ-NI56&P9)ry6uCD4WXGXB^)2bZzQ^$j|K}WdQ&(Fr^T6@I9=D9w zz`MoAF3EB@uWbnYR`*urD)Yql;h$@Y9;T7_j^BgrXm$T>;lr5+h1aM1ln>~4Z_A)@ zo^;%apWrwmzstNEeE*L4j$e#?h98Oi(2>XZXUfm$M=c-y`mqFlN6(I)aC7{g_u7@` z$eFE?hyJ@G4+b22E$ica9B_ZmdqAF}IZrvx;n!<96X&hV{I1n~q2pYut(5+}gLiX$ z=U#BT-}_J4U(RXEBhUSF)&63y&3rY_z0gQ}$1dRhMA{zww(^4V>-dHftJd3dC2C2lDD?tw%xt;O#tZ;`LIr#^k%$$)dNblmY{wjR!JjyvmV84u1E89e0D z7V*a~x4-!7IzGAQO@)8PpZQSW!B>{k(K8?yihgEj{8jOL&Xoru>A<|{&t%cZRQ>(#smMoMut?=2>NC)=1f51*rK486G7x2zI-`F=uC+_QPC-iP+ zzSrhosT{6PAH6S;B`!yy=jgYT53T+y3;&E?T=Lx~ls}=jF8H_FPU1@`XLyI_fq=7~ zyG~)pBj4hG@4R~=enQW`Rq%_C2R?RRwx51ke(rgn?Zn>N@ne6|%;4c4raWmaex=Nl z+4tFg?6(U&r{_-u9&wrr-;Mme^uRx=%3mh^nZH*i@OT$VIO}?m8{O-h0iPTx@hfPz z<#P{sSp3=Fw4Kc7GCo~<4hEd~s})|&6n&H9&b^8J#{IYLWqp@#k2}!0VnRY{7@gd-G1R;=eVGcDDthV^1B@!IuiJe z@qe@(_#Ik5>ydH*zoe?&(^WfvV`bo@Pj|kv&ylZNi|-x|IB`vEC+qU&$g@wfeD>Ai z6K`Zq22R`!>BjpNwmdue9=jCrp_AjneMm*$5858~fwq%*;e247FLY=gtmyNx^_DaEybY0d_5-|+Wc$(M z4+VU3;OVVQ%KB(~IVXruTpjD>U5XR&J>D-$B>06`KK2RnIq$OAU*4s#J=iH0{_Xy0 z!JjGilg#6dncwH7Vs9UQPLW5RY>kv24@Qc;t$aYdb>$CsX_dUX`J(uaKBOm7{Jx6Z z7&_bb@LuYsfD<=&B$0OB5yCIA@ayy)cLyAO^DU9Guh^SO*>{NFnE8SI#Qyo9@bTGe zBSkM+jn~thN9dzZCg9A2La*85mznQ=h4e;`syu9uezNdw*R6&B$3Il)-2dlS2R?cN zf0q{iLcZeuUAapfnoHt)#2d(gH}N$2mv=nuFLGBt!7f|51^pa%>Ab7;{_0r3*{3_dcz;MbvtJaBKF)esx2{j%VW(sH@b!%)|B+*+ z*w3|)xwPpw9L*$X)L+_vX9eh6&zsGO-hDf=88%m_eXV=+D z-h~Qyqxlcghj+VdXYRS%{b_r&=pR_$%|Bs3)4ZX=zxd(!J^uF2Kjx?ME#ySNS)VMA zdw%J|I=(01*g42=_37^^&;HxaxGnvd$Az9fzgGBW;7QUa;?pI555FCYa)_5v=*oLg z0VmFubZ5V~Bfb;AOFrlPa#`fr-&sy4o*40a9e4H>cg1%~9!~saUt@pS7hRXh<45K= z5}!_f!@pj9_OJ3Y_6E+QTCK7R9XWkl;%DshlmpB^`GojFcLbdHx({Yj?23iskF-DF z*uBYD>_^J_J4>KK;OKuI%B0wHS`U7lDCCqnElc@Y{oLmTt&H=>VTyl!4O)VqzsSqu0mrW2Jn}_;;5~BroOdEzAF|btAB=AES zmzfLg7y6~O0cU)~Jpt#O;P{0f zZzhjCQ%)iun~`Uq=QuXTKU(NB`V#v~oE?9MzmfG)pK_m?9N)=_TjYP@*hok8h8v>1 zcz-mJvY)b@=&>${e0}=s$_M0T#m84UZ?GHK6yJ%@R^-FPL|-P0KHvHpF@0Q(wY6=%J|NHWMh2CAFkjp{JQi_eP2Hj@LKH` z4>4{28``_(JwC-fs|ps@$^>x65(n{=j|_S4sLX|L)C{3q5T=@jOfW zI`K$H`p=1SkQ0t8{^O>Ao}KxFJw-*wO=W&B9^R0E6Hndo;Cx@^-N3sq4}9#@Y)9%V z@)>)P8v~zv4(X8RW}Fx3F)fGq?S-BbOU^s)Z&ryvRP2qB|I)2p#l7J@(u(d66uB|* z73q+dzTeE$lb1F~SK7Tf%E4~e{xUD6M{D*Y(xKJ=uP5+6CfHk0SR>&}1^ub|Mg`)$rw>{OJijq!E%2R}aN zBl;)HAuf?{^5KR^oA?pOv4Ho5Jzukgmj8Rz6^d zEggxUP{z6EPox{~n~0CSz*SK`_VOE}{M5DczQ}W*>3DPgSSx(tQv=9PSYP(0$wSNLCZyl8Ks|I%j5C(c~8ANWJ*(`dfvSf*V3 zbA_`%w|wSJ`Q6;jmqxwqsUM3+JR;=*=d&#VC%$Qs=lwsZ+W(1T0k4mpl+L_YemIjS zp4*XtbH8Re_z77*cAnC$J@~EC?%I#77kj1Qz$b2Oy!5p~x31T1%+~j`Q&E0v z_7>*@{xw?zULU(@eWcibIk~iah0cTvx zxL5IBSikIVZT|D}E9W}fgM7Ktau%+w#^ob7`um};m-V9e`ZC}8-|(V+Ux$-3hBaGt&=;P?%`CX-?}R^(srw+hG&= zi9F}}<)%GP6OLWE{l@RmdU?mtcH=j4B=FFiolK@rmX6qKDt1Dd#Eq3VpG^&r1#Il$ZYRk;G^2JGwF{_Yu|a4oXk_o|K>HtL}>L+}j^d z{Kb#IlCuXkXY%lY_-SE><&u}rc^7C~;Ij{Kd{f`;wlm%#5Z>XlTD~rWMSL#Dg>y|A z_wF}~k3ZtTEyPyBMk=iTL9nfkcj-!J~qt@1bbXr|2j{(z%z692#bnjg8g z;Ey}+xL0ueq1RvrpLJY5L7!OoVsPfA!pGL0iIjVB#|8T$>EDU(ie9Dg%jorvBYx5H zXUFf1b8?Xb-S4q{_UEO(v6J^F%B|Hli;tep`AQss69KPJ7dr?1r3&3f_B&qe%cT$e zBR^p8d28U~=OAAZr(_{dNe)Y@6kK#jPi-2Cmk9y-%y@3n*S+3v`1UQu~)i1@VLJ$d^j`fyhvRo&Li)a zY>4md8{{|kv4y|qr=A&b>?frg{A&C0H#{u7_LO6Z&#XVTpL5gp$P?#kWu&$FzjS<= zziTpC;tDn+ZOlC7)seEFmM@5lxIXgeb<27%eXsQ+CpV>lFRXC9cxS_Y<+);y1f7&K z#9bVS-?#dUo`)Kwd!D<#$j`wMn=A|Dw-rO&V zAAUCles!5wi)UFr>yq+~`#AH&@mG%V4v+H`dl>uM@n*-8A#6MRKVUKuE zl+U`XoMfIVSFz7?{_<{mkyiufN`LHTP6R%BgpHY$akRbl=_lJB*8gkbJNto6@tu2^ zBavsGh)T)AE_O$ECepM}_Tk*STQ70wq(AYRr5ooo=QVm&+cP;ZR?1nr#P7^==S!=5 zh5UeCM1GHWjZr>!WVQ!-TMqk&g8@fBq1@!10ml)#$S3T-lvDVD*?#s@i_5@IU7xkT z*kKm=Kl+l*QBGsLtQY9ZVWeeXDjmfvz7KN6#p9Hcvj=FTe&hhQT$1xoaXWsP+^S!?z{jn#sT=d2(3j788OnF!#*MhG5 zo!8;_8F1p~xUS@-N$HB55g&bqa)bSe>o0Mqg!ArOf%kp0%)joxc3yPe&ujH>Ec=|r z^M|7Rh&Pi-S+BN~^z_C=9zBcvz`4ls87KK1f3%9u>zuE=b7wik0kGW8y&>@mqyy`v z_lm2_dToQ_xL5PjkFU#895-GI`Q8)58s}}`?BMY{5cu;+`~97 ztXuNu$hY`iIPZAJ z#Py5)v~p&0mr|f{<8FU@r?5wJ@D!b9RF_lHus#de9qgu5@7tZr5op0>B;`w{@{0D)Pk1IBeQ^_oVw7H%A^jj9Vflo{95_`~919y}I(8b=Y}F99qlaoOf}2=U(NuNO^Zu zI;XA=D;LnaIxpGhNr%?rWzH-3N;=l3H;K=9NPq4bioEGx*B9m0dh526cOuHXtmP94 zFn+1WGAZ|t|L;*!=F^Rdlyj2w?3`238x9AY`_NV0wb-=MdS8gFsdK3A0Pc`7kNBIf+ z8s~3&@IB(=7kQ0%J!f4ODft z-c63|cfNB@mJaa6hRny-;zu5el=79g$nz9=-Ve22^xN_|@%zd+^!!bs^YmSX@0w+w z&poyMM1NWMmUzsGVvrx!H#zYp@p;chIOlf9iTk-`2CvosHu;V7nS9ClcvHZME1^6= zPh-FE`w)&^*zv+o;r75o-?KbY{KSS53GZFXSIqyiZ&`f(Jpo6)C^xx3IFKX1bjW&n zH=-GN-jUi8Dd$7+Q{PRFFaF%lC+;6B{J$>qr};nZH+sy{&hDQ|ckah+7x!(p6TO_{ zmAdwn`GTBI)Wdo5rBNUEGG)AauXrHf^|5jeLQiY^@k?;r@dtDs5l2Y6V*l>^Vn0#F zV|<6}Df(Q?$FAP-=-jKKx3e7dAod@+I_~h@mZ%qd&WAE7cER?GcvJEx_nWSN9X_bd z|5r7R4>-RVmx90eq^(g-TKLq7C@1#uk#gU1M#w51qTAoIjr#8{B>m= z?E3Ah-k&<(!~ZRVM?d6G)>-)wKPKBx9H)Iz4*OZ>1N1QE{Pn7U*T)_&_)`b$2l~Bh zg%ACKat1kQd+5jY1^?N?86WwD^VbELa?sNiei;99!+h_W;|VbDTG>zZ%+fXNYXXiO zmk!9uLLc6j4mfsJ_KW-V!jH8Ldjg*N7Oa>1m;T7JZ@oWK{CX{i_Z4j?a>Q{bj zYUNMv6UsW?iTgCLy_DbkHRTO)y9(Y^-k2#i;)o?u+HJYS7qtD{Yb)P~*H_v<^Pv3o zgnd-kFUg14d-^;4F_n|pJ^6dqpP?w9IQG(~KJ>rjlg_&m+zS@?*o&+A`-zfvl{ibp z!Ioawk*<$&n5VWAd$dyi#KiRh=e})!BIVrf@9}T9onem_aPA9^W>WU?8zLWeAepo= zo~1MU;L^_Nvt3UbGsQ2gwRoQU9oC-|_{61mej;~mS0{cH_EhpSap{f(9&xshCQ{a$ zosmbbY%m>v&%KE}_fJK>Ep3y3!Y?r3#4+2SNwG5;jFfwT)rk~(IxpY@`5eAo7I6IW zt(SGM;=89w2mIERGw3TEU(Rb~+{Yf0F4$o>FWB$AEXpBn#;HuoJGZtUedWg znaLwxiacL>$2RlLA4;D|-XBhUZ;#G69#6z69DCV40q1w(^B&8lEZ)!B9^wJXC)g{< z@9_>n;3F@j3;v|a;acsz&PVM3+ROOPJ;>%v+Gwt`oy4&<4;_vL9Dk8Ri3Gd1lbMwG zLxtW;f8~5(9kg8R(42RiTkk6P@0QQ7?n%9CiDF-dR3pKd>wF9eWk|l=b|kCB7CF{c%IBPWK>{5;jO!Qv zzK#d?X3j&-rRAJKoY4#(=Y+M9(qHLG+%3nQb`|+CRWI|j>ulu}_iOSO_B+Di?_tY9 zUl1w&=EKSK6aF6iDc3LdH5&rnp6Zr=kRMxe*=bD%e@=purA8UJuep@`&a1?d}YA7FDUSt;s=4fp?rm( zVVOr`ebqc_TQC06(wTd2=PT!X#}R$Fc=(MR&XhYjvD|WMz2*Fl{eJmA`@TINrk)<>7U6n)a(H|X7;PJkW z{c6pYb2ICR>uKuyIqTzHsgjN#k#D(gF8!K)RmD%o3!P_Q=zPZxV`ZjP^tN{;QsR)G zhfM>87l;pEtq45cN3osQpUDrbuSKqnEv}F6ysIvs zv)^8q$zzwiJK)4&t>n+GWnAXIwl(1Ov0|rzJ*xD*{{DeQvP>s;xGFr>52Z>eld>M1e|$X#~6?x+M$Pb-;HuC*7%Yfr|JsjVOt0VonH}bSCehKGY4)HjzG^1SXMQtbc3bx~kID<2*8_DlCDBl?=+tHr-ocP?E zlzmv|9rmfWNC)(-@+EesTcZ3>-EI4`*O6V5qIxy?MfE`!dwvdp`gca`y(|9qLh zi|5)7>=vXO{w&KA`1R?(EBriN?g#M0-Vo&wH{f)n#65L9(L-F5$fNJE{pd3ae0;@A zGT_OPKWjzGe%pGG_s0@>;-Sh{{8u@K-KFvhd*$O9Am<+WkT^93-u*-S#rouajegmF z?%S(*@rsR!pJDG%@$KJP4t689hd9y7x7OmXDff^MjvIF1!~U+nyq}9*m-I*et`9ip zi!#2=w<)(<-A&8EAE@w2C5MsQ!nyahUfvb8{q$?M<#&JgNTxi_SruO$a=qaF*CLm@ zckhVryzeZ1uyc3Z@n`gRo%e;I#9Aqs$YL~ zTLO+hwQ`Jm(yHI({UGc_m4lq;2IKdfvuqFgZR;Ukg7cC1B8Q?J_E*ve{i68Hv(*9T zT@3k?^R@g;{NVn8H=45*|Ce_OiHo&A;M|KiUhS!3FTlA}enGxDPQ;6_AMo=z;?IA+ z%sb*HWPXkvp>hNMbeuScSa0gOx6Hd*z3|oeN0k$tgLg+coI6W@X8)~{A1}Kz;LP*e za(rLP&I|lQ9IsaQ+oUgXddhhA{&V4zk%dCfg>}-C_^i^0`6%7Er@J-E!;k9rM2ddG z-`9uUUdFxmYwoY`Gn1agT}T-;&bucQDd+C(k;k4$e&PM0djk$%Tpn=r<69!-d~`UG zLU;4nK~(*%m2&!j;Cy}}?#@!SosDMKvG_gw*o>4o8`6!qi_({Ut@EZn_FU=AeL=;a z?{nNZ?~BhpPF3H^GA@g+a=zrA%jAdDRo>krZh`G&e^TVy)H|HV+;2$#jy@tSJj3$P zODV^g_hmh3K2qe>!nKQC9{XTK|JLTG5?7!CpKKja`ObQ*8!_1d; z!sq_^WWYOd;Ob+`jt89mfpp`28Oy<5RXFlrIQQGui+}pozz_e1OiF!@KYDoiocVP+ z;GBP@8+LK>VZ0L_aL!qak4C!iE7FtmrgUdtJ&=I2uatj?qfyPfpIw^+KJbBq@x7zh zt3RQ!K|^x$4?xWJ#}eB&HisCoam>fzL?Tp4{^^=Mnpt zGVe#0j;8oJzCwB-&q_Jn9lx0J&Jp$imuB$7-!t&Bhb;A0@vrbJE8{*l=lCJtqzCu$ z&I|4rr33eU6wo3FYh{toG9bobBn)Ye}8}C z_q^Mqydtiw^BuWc_-b^GbmRWp{xaX}FY!WbKYBR#aopQWx5ju^GgBIVnvM(fmu|$< z_V@6k{LcNG?dKgo=QaKderFy@hmM~<@AFmlo-LfXO!6Ck8@98xSmJ2a$1bux#5X$_ z_2buYAd$v9!;$aAD`Fn)N#yXetJ>c!zhK`g-{O~Pe~F*q@9>}B5cs@1p>)_e|TPmsl_Bxbh$U+h)rhIj#J} zU*GwNAJOvc?>}A1;p%>HX^ry}J0ZsxJECg5p6)uw@1z^&c-tR-%25vfn!6Gy_r;da zJH7Uo`>Cw~uaA9E`d}Aje>ulHe{1s>*`GYOrowM*3w-oag?|RWx+;_BeaHI(p68Ny z{BL`};nS6oa?X-o*!dSZ(6ePn0*)SbbA0E%AVtbLv^|k9Z*It>+}}CBuosff#EEsi z;au8`@A#ET2lnmqKXPa&0cU^YJ0?y_+1-7C5HluCZ?xBb{B z^aUQjSdsY4d$P&_>~gG!ny(IcURqi9KTA(lK4IT^L%=5oE|6}-pRVZnedQkUNu(R+ zXy*mzwVw%m^mD?|i(eXf-mxhBJXhW);N0@~qrkBX8IJF@-fuhZ+^cQMWLeLh*Z8~H z9{g`DKkRl>e4l;%OyErpoM-#lw>&rC$OG#o4&tiF6DRo2NO{NR;Y`Z;@EMV3o?aYj z#~+7r>Ww_{&W}dQIF|99e%+2tzA;nAB`tK~HT>nSfOGHd{tbPt^h6&k{ju-AIlkw) zx7hy1_&3DI{%~u+vC};kDRJ{%m++@|eqjG19oPro8sBN>m65W4lb<;+9*#Ww7TbxQ zv>LzP5YD~2e9M02P~f!(zjSY;t=Y8|yxLEX{G=Ih{BQ~%j=!kL>;4~@5)Z_FVK*%w zV2`jm@QLqL=)ZWb<#Wy|>-Ok2`4+phX5e-1eQNV}3C~NPY6YBgkaTTNy})|03qT7NP033`=WgA;aulh{m+*lh@X37z&r6zIM-L}&X3k-;O)`c=}7Tg zD10?`*UJ<6&O6KaEjll_A9-=$)oOn(ozd@DFL8t`Iy_1Kz%E_7p2E9hCWAd$05%Ub6B6|26rl^S&_ai|ZGDC*6tXYRWz5iNMDmQu&5oyL1M!E8xhDBHy~+F8{Dj4hI~& zhl-ynf7a1UqyzU|wm&VrtSd!al*db`P3dgba&uW-quWt-P2H{>>my#Qr>N{ z{qcTMz=>bJCgAwX$+y_g$UmIZ(^kElNMfU z`-o%ae8lePl>zVAL$VL{JNC1-zdhC3nfctYd&EA?^3l^ezZ&B|ls`GAxlhAi#dWhW z{!_=lG5&n<(bH^;ayZ}E{+NG>JnuqEf9ysp{=8*4;K&c*><=ub)&Dcn4LNE#+!H!Z z_{WLQdhGadu5jGrTpi`qdfzKO;p>4+7JgNpFu&~=@kVS9`U?33f3OsIjEi*Re$;u# zeS66-e5UYq-&;>4@bELUUiS00pL34&q6d~P)YHu1<(}gQ5-IjV@*(=yV+H<^s+@+k@ll-T z+^5;D_S88k;OJB2gHAkN>=ri#962t3BR`}M>&8I9+2`-bBiF=71 zukB?WIUaEC!R!xq4Z?ZnPdNM0($AhZm33kK%ht=ihU*CSBBh?G$^B6dex%A<)<65j zJZuVIT&w)y{N;SWA7Nj>(GOTYdaau>dDeIN5PJ^$!~WNKjJy_~{Y}YFe8+k@9}Fjc zM^6i!cypN?c0L;uX>0cWLdU@w=QVQL`NewZJjG7baUhP(;lRh<(eWZaXW_e{Uy%R9 z4l(l`yOU*+qQ9{{wc1mZCr`xLnE$1tiSO7S*njLWZ728a(t&u4;HjKxwX{KcaNl!Zz-hnZ!9K=zvClgpyk|=@^BwzvvhEE0*|C5_ zC)>lm_qOEadzcX?r-fc@q}zY z<7>U#4-O}Pf0pY3_AF&w2F?g?E%w{5(06C>8qJHVdS4-*AO|fU{lvP&cT(pe@>V$K zVELT5G{W&85sqB9U%X>jwe!oCkDtD9)>qq!zSVhCt99ak{;qiRYb4sk`E+;G%X{zg z5ARf!_SWjkPvT#da)wI$jd({T@bL?juefItzjMEjU7T_f%G*xXSLxQ-KVwJgJmvmb zI=8yZ{d;@rjTN2lkUy~-kv_HB^QK4^(&q(gS;*(w?4Y+fMj%OW+~@T`#aV zcAlbNR^FkvvK;uvb|Nos$lzn|c31qaKK<$wk;firIFYgrN>Ai@p>y|}pUSzHbf*pG($DoN(z4{cTr!@RLMWO8y65BuZz~(@Ah45?dvUfi`TpIde=oRTpMHvO`!#p5Tb`-)0Ofbi4xlP zDUX^>AaQ~q0dkd40wO#D(JzD)exLI>-)r^{&CdDGopRdDoH=u5Rlr;A`@|de=;W*R zfb?YDWj(}0kgqsztoioc;vc_Z@r2%aN<}@LaCZ)(2non?^Po0 zU$8vuzh_tEk^dK$NCz&F@9EDoBR@EoeunH9?Pu>CfOss@5xbT0i@)tyMS0fS_J?yI z@x%K3NWiIYG*aT^zA{qcby|LA^o%W$Z!8{^|5<+=h&=vNmq&_y#s08w*${d5>o1Iy z`=~WtZjjHJS8pl6SzqLQz0j=TYioXf-O>0R=c&@MT6xy(Q69N*T&<~}?2qr<=ga<2 z{LT&L=SFu%3chbDq^t+zSK`<@9`s|%HSg*~IrcTqx5O{79?l~i5B4MJh+R0#k8J8h zdG41d|1{>sC-1;1N9fO*KcC_JI5@d>z4ectQS;}!kCyoT{F@vXeqOdSIG5*}%zGuu zW9M}o-HCDW!+u%0fUl&>%;@J%L_HkyrTi?Mavnjyi#PPMeAv4m7jb=}JoZ!JyvI`G z?=4#c&V6d>*qwcrdLF;xmsJ5Cdb)JvT*Lh(_nP+=z}UB)cd^G`Tao8nX?4Og?gV~l z_6NVFb@6>>I_+%mgZ<@x-V35U@u!qK&Wb+t0Qg*5l%V`_7C~>6e9{gYwI}2#Kf0){{{lzLB3; zA1A*}z9ZXRT9fiK`9bwMewES}dwsj&ci4ea{#L$xq>$qsxg2Nz3x_K5#1FkR;MkpQ z7k>`N#Xjtc3Mltr#6R~s{LZ+3KH&KOE05R5J~>CeTxL&p>T7xE43{A()8alWRW zLGP*;*q>b&@OWRkkg}e>D)QagZjR&h8*07!`?~^;f3EFd&pK7eqc@c+{CHDtcwaQ& z%opMd`+K`0&%G7#gTIsf&A!3!Wq8VZ;JbuRJX-wVPi1-D8P9PozrgSCM=g&pQQo;< zZM($J&-rogz4mi(?AwW-W=H(6jxpa@{Cn|?z2&k(zp!6QC*JQg#ou9*@LJx%vv{K9 znuLGd`th5Q->|=*40tcz*TZ&<_78;<@9I#+cl2b=3(e1NiSqdI9}PHiXnmYV?ib$w z!@C0Bojoh@Ilf-~-|2s@e8~Ja8s)eLYkB-OtRFk*y7(RUZ^T>Ap9cGQP2WA1XI-QG zvK~r4U-|M4);BjL9J^ut{gC}6Za~s|^6yd~4!?DCl;?b+mdB^cr}&F0N8Eq8wc7&Azta5Nw^v0PewS6G z&HCMt(G~f*=U0H*+#Xsvt<-Rq4#Qqb9O*ro& z?2Gd3U!6y=kENW}_oW(*d^e=`E*^e2<53p8C^sm6~?YL&f4~wtH(0SI6pU-I2!}+vu?&-^i_#=-e{9Dq6^DyzmIkj-& zgxDYKI*t!N1^HoS^m5B}mha8}k4;?{^{~!RK8aJ1^0M>?>L1>Hw0`dQ2q(VErYPT8 z_yzfvU)mq+65@gP+meneUEAfp)Gbk-cWT5Zep_`vbN|jd*>UmiuD@fxR4;Ka(sKCC z*)QxS$yfcy>T#X9CF*6JWV_r0vp>uW@;B=+^;j=%Joby1SCnUdJ5)%(OWp1RJ0p*s zM!XUC((&>Rp?nC1*Tr}2VDdBjkku7=`g3i-S?AR4=KhuVG~0v^Kh5#*{y~lBPg)+o zt~)Az$9)&&hx?L{EL6^SbV4C%S;z%9S7%u zS4W=v`N{v>FD&HI&lg0Bef32ZDf^n^k%!OKJMjI+$n(xa4L>ZN@!ybtsrMHuz7NiQ z(0*c%aUN(a{y*tEIJQN8X8(L?l*7({Rf%-?HPSua>k2sQ)JqCU@BT7zz;ayu8%n@u zrax@Ev{du?O-BRHy{(!*kGT$Fe!D*4ysL3{MZ!5v^5Nw3E-vJWA0hs+gSl?tey4cA zztMF9=W5T4-*J8`pErhbJUuL9QEqR zV=qoRHlOTxdEY+U?R)RNexLopOCx3d{HQ{Ty~TdAzH$7#11Uax`&R6isaN~++!Mb# z@xZzMZtGdN+y0ckhr}~>S=)sUtKvKNFYd{5lkx-h1o^Jf$aq2Y*ZHK?eo(&VKDzxu z?_3qXgI``?+B}*4oETRw@h?~ISg$#Mb6;OL>*m`FzvEn3d|@}1E;G|-%jd1BPv`IZ z-YZ|Ro=AS{|GM)Q>))->9{2W?$5wkomaE^9zz$}4_V4W|hn>Lk_+f~LM&pUn1$&xw z#!tPj=hp2}p7>J-{oT~(PZjdq53ya|t&xB6XOrK!_jfePv9C`4U%K_?D9<^ucty`T zzZ0iOdSTadyy$)B5%#?~9}PT3dB@HpU0CNFh|Y%}wK4R3@l5=KlkvNr-$bYXJ)J_H z`<{AMUzq$8?}$d8b3*$c{uhOOXW=ic zpYsm;&pNc3@ZS=@(5YEbj`QJ@0q0y<`l8p`6?x*_$`8!nb^RH?kb8<_h3}j{$sfF1 zA^))N*&lG;y|N$ROF6~g(E4Y_|3z50+RFvZ$u5v*SgcDareS)3##;6CsO7$T3);C*zY@__l zxn#|UV=dv6%NJX|z8A*+Nd3UO#D@aTIfZoLyl7{X$Nq43A)$ZLm-n&lC--h{4mj^f z+8^v%*`JA{)BfGr73I4VkFNE}wesoAXw&l8H*Jr7js1*x22s9uFAV#Q zdXjTM<&N{mi7M)Ao@sxu+lilEe1Ggw&G;UE@rAUr@U@h~iM-dqK2$xxdxiFodkIO0 zg?~{l;H!4U@7PaojFgs6mH69yt^8A#(ochXZ#M-TKkhXZDe-!*jWq7Z6jIjN;)nMg zZwWZ`upZ>p@v#4`_0|p6)9KH5Ww4X9qkL=r*@p{h*p{l=TFmYO}hx5?HYu|IWMm_i? z*uRJ8-;uXS$6h=K=F9B=)E~5?e53I_`HAxx`$0Sp%MVWevhDW#fxv5B&)KyeIF?>@$$Ze`j-9h>H-w|>s67q+D}crH#aK&yR)s^0*)Qg{u5`j zU6E&3N>PhA^+k-!)3-2AfPN3h{M>*Clju-y2 zKk)O*D&W{9gmaHtda=)vZyJk#dQJR}dt7z@k6lxdWuGq|h@V^6pX*81rP~YNd*{fU zgC39a=wbWGdmq+=9j>PD&q*)*PVIl#9ilw*{>vj}zVi3jwOqI0Uv544*{M%hS6mq7 zh|936MES{=ZHhees&Yi!Gv^EBcrf7j4gQZp%KfTik+QFlpW}Qm^1XKtv8UJ{_+L3d z&d#p*j^36oyr-<*MGsybzw0(%EkE;JIC|xxfMXvQKfSo4#0|VW;Ekc3(iQ*8n(i-B zZ_iABO8UYN>a)SQ_il^w*eS#tc1HOYJ$`AxIUki?;A@rn)Bk!fQq}`m@8pfots+0Z zXHUR8%TKU8_rlf(oOxLM6Cd*K$a8<&{v$u)hqzp?6h8dcp8Q=9`Oe7w_LFzG><@b1 zb{mT$_r`bnbxEYe`@67^c4se8E;vUUj6CZtPd*=4&s?O$;oG@$Lu%zYxx1aC;p+wjnN@jz8O~iWK{W^8j(1tOq`||M&%oXY2{5qCDr4@(=4&@xgia z=7j$+<#*)glvn&pq)Th+nEI`E?up%3y^6k6eml!&*kAV1${*)BmgijF{@^#iwxV73 z(W!q%>bN)kFSI=8&ccbKlzcexwr50n&bh=J=KlYeH>?(tE@&aopPh4?9I6<-WS@ zmZkTkJT-ppTH(ZftoS}SH`R_5JJ9|@%DZSsA`hKwetEU^<1Z`T;dAG4?!~mCJnK>U zhVv@>h5b=FVxLeRu){pja*O*e$?|Cr;XbZ%hkkutMK#1fmA%;GSO+7XFeEE!P1I~QmxbU|NoVHkO8!#!5}*BSYe^x^zW zx!_(%JIZ69ab9gSUY`8ceuedL9wFX{4}Gjqj&VPESNV+z*iM*q_vk_)DJ*IO`ev$@zu-VcvIMz#sIwitpHCQ*SM-oEPPZVdS8BH-()}FL+RUDcw?=vpRg`|hrQi;xId@dMSRJG ze`#~!JA7I5>+rUK6X$VLA#F`1f3WUJ`Zn|aJN6Ov5B7~(F8M8tdlsoQ?h-cmlPP|Qg zLw$hXiu}y`EXnu7%l;1g&TY|d>AOOC=iQ#9*TCDe{>ELmSA6F@SH7!O_RBw)^!ezzYr(zB3O<7v9OL$M=Bs<9BWzJuZIGr)#4;_xh5KryJuH zdE&kw4>;>p`&0VTPq60~K|FQq!Ozw5yr;T5%CqiQPT&{6qqn6ye#^>vxB1t?v0q7F z-oKJwJ-apj-;OulTdSy!b!Osc<Ter43#S@?)@$~{2) zkKgN>C{JAR>-;`)f9lW4cjR~*t!)8Ef7RgYpo^!l|W7j%f;#Mi&=qcx4>^P2>eVqNo-f~&g*H~P%9{fj? z1L*2HvpbRZFW4Wehp-FZ9Ob!Z<9L}bQtno|2Ls;o=VtuRugHhLS0QCREPt}^UR#kb z!*<$OhX13%&)|7+!|JMljGwJhxx zZ`el@K6|BjZcTkR@!vmpeq}wEy)sg2to6XIX5>rXZziA2e@VO%H&1#Kw*^2{^3)FQpB&2 zuZV9XpL5={RrvHDi)ZWtt|QoYys)BtcQ)_Y;U}p45>G1Uqq%q3PxhzI^W4WQQ4e+z z^&$5-9T)SEc;cP<)IUFqyZZ}KKlg?bKeNAQJ;ZChCF+4Lj-Pcy;&t}C8w1{If8KF% z&%_ja>D>Y6y#Ahwv|7n{CyYb7cSbg-SFu~}j_<6$#XoXX^Ya7p6Zd7MJN^^$73&D` zMm(S!3O{4NBHwa9MmjQ&Z3=iV{w#9QtjJd@#s2r=*|z3C(GEE4JMm9HvfYvAIzHa( zRF7fTlHbq=mXG&p3cmx7_Je)+wH5hZ{lu}9-n^@mcy6?=kMih4Um9@s4bp}4Rppp?MCvi*)$yYr)k~aLDKD(Qct~>G0l-K4v9T)Sw?V*30@x3~oem>lr zmmjzfmh#5pwnK&AasRZ&OUBiReO18md$S+R%i4ocZxo-6#V-iw-0!ApJ3 z^?5FKCh;DAFj1a3=vS9WNAkRu_>GSH;dkeT9$k;?@$w1pNZTLm1oi{FkL?o|F~>Wc zaj22Al&_)x+!FP3&Qt602Wq~0$^L+|?o0i){1p4i`%v-~_Hg+I`}8$Yj(2X7jtl47 zF6*7O6>!d_gfjx=3ww$3KFGUZ@jLGQsmEAb8%_$u?*39|gsgza*FPr8)8kEULq-Lxsn(;Dt$k4-T+_1JN*suGTh!0~)bi}V zH%0zucD5IbPxc)<1CGD$O_6dBCHc0F3q~9e$4i_($IHIp@+ikTv}yU~SJiKvmp3cm z;lCMh<^kc@xy1wicXfaM*>SN?Qm(PzUmxYm(wpoL{>kzi{?qas_c$$&9&>%cx!Prw z_1~QM9bTK|SI%_a#GWC&na`dZ<=F2F=YH1q$YU?q6)Aec{$rPtUzz8g7;xn7Z!RMx z-iUbP{)Bvreo-#CkC)?JINNy`zmb>5@9;wwPQ1+Q&*?V|mw@-b)OzsivmVZa#WQhI zr^HX2CIa2(t zq#tpD<)hBXoctDXgDSqWK59qW=}-Fx>#>?|eyo1RuS2=u{zyH~zF{Bj{JoaYk&iTZ(k!RhYzQup&y8QlR$MG{igch$f%2QuGmq}-1#Sr2w7^Vl!M zBj+oZM|u1|rB}CE+7)^JJ+ttK_Z-Fl;9U9{;m>tWz`5Tbe%UA4PvrR8faBLIKX4C0 zykb97uGyE#x7<75QBjP2#*Kv(yV}mkwl`iOc<%n~k z>!Kd)Q0bvXA%91s4z(uaCh7nGSA6H* zl6s5#3fV5}{ebfxlkIT7PPyP5S3I(A7f;+L*lzU5w-`T@Oc{roc98O{4~#Mg8@y|^*>g@_0Aq5a0rBA$p_r#@%>B46R} zRO_WHZ;N)z@NcWvi0>p_IwNh{Z47ml_cHuE>C8IqM3m>9>02w)KU9AC@7}_nZnJBD zxTh_@5yw})C7zl5!TQJ)yxC9q&OGst9XIpsx~PZwKJ{n+G210RP_~ab)@{vJhDE@cSas7eVNab4@WO|T)a2oxRBGM73JdI zNtDN5Ddp{S!|&`nw*{PcZR{t0PU<7{>9K&%O#gHCb7fvW<6KKQ!Y+_}HSxBQigLU^ zZh78&vV6oiWose`+CxzvMscp)U$Jeki*F z&b=P_0KbZz0VmxYaQwpLWBB|92_N}~%YZi)KbiDc8CNbj?_FB}6TewK$$e_&jNe^U z3IFRH@4!b=k1aQ^jPlGIIo^SMXNh}Y&dc42N_g*Go6x6GzBezRk8GFqbvxkrJtV%S zr_Ze-JG8Dg{GX&3^VuH>D?kpa1o`-QQPFVE1SSoc-X* zNST)}kF*;2_Zkn+R?iRzrS8|ypDOYFbo#yZ*6r*^v;6YooNw@p-xl>?hgGgwKiVGt zNgIUs?WpDD3j0aiTHE103GslPYfqHJ&TPB9$0nTp-gN=z{O{)c{vG)fd-|Hlx8@%u z|1j^^AI^KO3OMUw;q1dt6!P3lkpDRsmk)dIXAv)4ImJ&yIR3`U1^c7q!<9|;hx<-Fo>!0{iG z?##Yez1onJ;p!W4mjtR`wJ=a zvE#vy*!tsKB;br&KIUDk8>-0n4=9hsTR9MU=&XKbA8kF{({Vhk-!{f~?539$Qtl6* zs`$%&A%BPcdZ>^mp0jwy@5&TA<#50`pR+xB-mb{guKmZ4RJs$tPyAs&J6iaTpPzK( z{6alRyc6+8yrOo+cl_nHn>J>gcN&Y&vpw+R@7Nz*UMR-<$JWpKSw4qP4hFn;kA?M$ z_~G3|`4)XI-*A2^-MbU-IuPZ1=h4tzeZcwDo`7Qycl`M6sdqUCmmjc$D385yz?aGk z{_ye}_XBFY_1$Rw^*aZwPu5k`%lig<1J1oq=|%kfc14bPUbt$ZH}6ED96b{+ zoRi2W#AlXX#2ZOI9DTEL!TEVR%5#rger+_~;CJ+Z{0tu{&%OK2^jG@gFCib`-(&sV z*>^cE?1%DO@BEj0_#2{r{C(9|>{H|u=(#T7)T3UYA1T-U6XJn*rH3oN<412h_>m@l zhX1i0aQrOAAO3*q6Yd8pztzCU55;%%r0~wj3G?v%HNu-ky5KJ;e&OeApLethzvCW= zc*I|2OOz)L&}QNFI*0v=a)qDCXuvtguz&2kt#4-Z!cz&)_Xdb(pgeKDVE^G?^XOyO z8?E{0is#-tp!l^*x0%sXw?;jj_bC_LBNsp6mk@C5SGQG>HqVr9*zd(ZeqiFCbHS94 z(V@MCa-7q+E@j@aea_2LUfO%5H~!i+o}X>~_`jLQ9#g~TR!2RZ{%0ybVXvvk2OkHV zb3Myp7nC2cZ)W{d3&{^tf0FXJbgA`}rDMt$>k!Km*H6B!R&qTP@#ZRO?JN&DKN2Tc z`614u`h)wZI||>+((cr^^PgB7`R?rP$0B8YmUvtEi1cIMl<>*R^`oCF`C4SCWA!T1}|EraJ$F{c~o*Dfc`-lIm`j~t3mghdd z_3$og&2L*Tiu#DRpLl%u9Pj;E|M=O`3BQH&q8$G1y?I>u$L_f^;M{Lej<~m^Jh1O_5_^!35oyNO``$t#Z_P)ygTyT z%X8e&HS1Y;s1xvbCqB}_xqKI%eWBywJ#x#p+W)<`@V&EquI1s+D=YHxKA-UZ$I73? zLD&&+=IvUazfSzHKUD5mryh^;-1kZR49~VJ@~p!LBZY75Cw75tk;jg?KGJGnT6x4z zCFxN6tw&tg_>P_TvPjuyo+zZ;7Z>l``;q?GKT>bZ<#`JChPFg`$ zb^H&%o7eZrLxtaU`u{*U{>!Onuy+fu-vvgVlh5ZqsvgGw+;&+nsn6oQ(t{bD zKVz3upZDVXg7@st@ZZ(HFVYMAl&HTN`2Fnn_H-*SpVtMZ4lV^Ot9Xq4t@mmmYv}4M9tk*_8oCmclQsPqyXS_ES^2pUz;mw`vBITTa zZz08Q>-q}+6UT)gx$7U!+nW{NS*PVZ)%V`S|ME4`WpFO-+1!JauUhQ~m2=iVyW)4% z=}LJ)?_2-i*ptK`>*}M0@9@QzD2G3Ly(vfBaFb2f8L7_q|5E;n!z9 ztOM;2_s-hZH~uyI&%2`X)5Gz)m;T_ELVNgA%IBQFB)*4#Gx4)<-`a|7yq8i)IWMXCGyBCld~3k*vz30F zYl?5|U0VWP`ur(T? z({S9ZizX4=h)(t`9b=!Ka?)aJN5^CQS-~kw?{q1 z4G}+_yNeg>5%LN5H|l!Uy||(r`shfM=U!;7FHXHM^2E=v(Q8Kd^k>7<#q(xi$Yo>+QuC zMLx3rh4+ge?3(Q=e!sBt)JRzm*iX)+X7xB{-j=fg=^IqZQ zeji`5Ki%1#;%jF7)J*}$pW{R!!T(jc#$QG~%6umOaGv3M2|K3!?>7Hayn#>4bw(a9 ze{sI3US+@3tf-H;{^Aq=RO?~BTpMug3+lu0n=It9dnJBGZ#Wp=;ZOCz;Mgt71@|V} z0mr{zKJ4A&#;$Dt*{3`+zH<*yx!@ete)ZN%;63M$g-QF*xytH7`PS60pYnGjACTYa z->S%CzYzbOg^?qEuj93HjwgPI<7Pkcd%Uqwp8K`Q9}l08eD;=r6G!Wwij;Vy@-6U=E6SC=SKWd(s`Yx_uVMc$eTfg3bX>e* zN7RG8(ta{eJ72JGm!G*mn{=<&UEneKbNO(VTgW&+?0fcPJsa8;^>NQc`f@&dMZh^9 zwm<0G`gbcM0cRg8y*bBJ-mx1WvixjiIp*4-na z)_~&=E1$A2*;~lNU#?q-leM=ZkG;u*VKtyl9M9?px7M|tQc zey~^B4)-g>KYp9mkH19f-G!^vZ}iamp_}}RoH#D*fcAs?);WI--(o#8qj}#FJ{C{d z>5fFZGov4tKiOAH7vkoNPui{ZY5G6Ly`U(M{3(z4Vasoot*Q!LMZ@@Pdl*6C}a zJpPTlBG0{5`#Ctdc2mNCB3+29pZytqigJNpmGyFtobtQ$?z;bJUyHbzQ6Kli#V6-r z6Okt_kiWzK^v8yma8cu;b#q(*AJ|Ir*`+Q*jT} zbq@RB?G@GI&u2Znb0DAh-n+(bB_7Jsf7>7K$tGTx?sL49Ysc@gCt4pP*jvaGhfw~* zj-Z^gOEB{w~b{6(X$C>Fj+Ai@t)SqSP@zNRmxz1r8>iu4N zb3aCT8Jv909Z^5~^x;T3KTwYmzuIwezWss%96tl`$-PbWIqN0mi*wEE<9m0aWj(!h z4)G(Kl7dQ8hTxQh<;A_Uwl>af8RSUkMi6Tmfv_6AjduV|LhO`kkWC|})) z#;Jhw9=-EZy!%p_-*__M5q~=J>^rR={U9E&7u5YpI}QEI@lLMw_g&(H#P3?|3CC6X zrgHr;lIOR~L-Hr`QOilbr;452c8Lon96R^(3-w_CzcNzJZR_#;b>e5`%vAwrzm)Wz z%J>c37dsqq_D#Zhmr8y{E>gcWcS=Y6)T9smt{xz6fPBmQq0)tUrpDVJ+MnJzDfcJF zt$+0QcUH8+{;h8REzV!Wmpl;gGQ22WvFA!h>~6{-`}1w_9lfu9z~50h2Os_pzBo|$ z4nJGI+e|;2(s%vdfa8~~oDjd(`b%H#kD!y|;XK>=yUjOQek{*@O8E!7z5S$p`^h}49I+0NFL<9-{_ONWQNBT*O0m~wZ8eL{7)Q9 z@dDm9W%&p79 zSJcD$Q8@P#Yd!Nv;*EP+ju(GC+r`cxpK~6(x9~galTO&blfPy!7S29PI);9)D91UA z>yXYu+DX_i)N=pyb%pPopC;ZWF0efIX4~cdul>RPBK~>jWqXvzzs}#|@3JQHoD(07 zl>2nb7xdW_dHmSqE8Zuwe&W$wQ~_sSp77SydqYb`(Usq5nV z;M|SY!#&yYfU~~0JnQnr+vJbrJM^LYr}X`)<=8KXAI?v#XJ+)OyW;oQDKYp^7Z)vWrWkD<7MPJmMhIe&F7| z_{Gm>N5E;PUE+JQlk}K4seH#hsDRImPAf*fykNVm*Aj2b&Gr7i?|9N>;s@df{~GaweWo4X*;gk1N1m#ja-L`X z+<%rnGvi;8j@^#b^o-|*+TB)<37=af%AS^1}%3UKVL;-7ag+Z8$D zR30g$#I=)ev16)lIA;()jm2-@8RgKE{;oB@a7&c0PUn3M))V3tJ$F#}z~iJBerxuV z`$H!Kj(sob*!LXqT!w$idhmyLyu=+5j-O%Tq5u2hhjpEJ;~hKkkKIbSz)w{;=e^1! z_iP*|c69sCyDip_U2AJa``wBCTcaQN6SOfMTHzD@@*(do*dOlU%2)VBN>})EbH(o)L#xN5 zJbWOZA(zS*>*8GjXT9C7NV^liCjRg%kY3DtYZBf+WJ>(|LOJk|e1H0@*2DgOZ@}5l z)cxL9)A>8{Pw##{af!qSe0)=s=N^H0CeFOS!)`AA@zXq5MSab)#0USgKk$v^*vCuv zhyBSXKPq0Z-`juY=^LYd&Rvvu>~BfW>Hl*e;cu(?>{!Z2-+OC0eXi@7YG6cs;twc3 znLjMgIa1*|`nJ}zHz4^93=kEmC% zOYbT1yE={o{=3%0yAQ2^qi=KGpZ`{_ALnls&U#V)z+=8G^2osjQ64|lb&;Y6?GN&-e4v*$3ZLFp_@g2N~53TKm6skROGQYttzD0HC=bH zE?!%aNA4~QIQVs*W&fD`F!J52173#zO*-=Ky?T;+uJRS>)Rn+@JF^D z)*I^s-fdRL3MuayC46qw{&J6aZvk4J{-?VuQv6-4kMUT(41Zhv;O}KWdFNgFc4tdX z*Z0+OcCGY6uPf)oW856|;a?-YhzlgV7yp~_J~qC0Mn3KQf?v_L$aBsq-3G_<{W$0$ z9YkV zdmT01o|X6+`k44)o=<&_e^Qj^oJPFNjGoc1$aCK*<$8Lk=9^dS4mft*m*w}fB<%6h7m@xz|JENYkb4R&eymR7V zjR(9JuK@p;dj5T5>XW6u?DtZxr#d5-S{^xnx%JF_M)}0fG8*-CCo;Ym@#NI2;8#A! z|3P|Vr>*(3a$KyxEQdU)ub7vcQBUdn#gkQ}!~dA{I{l$F0ViHStsin<$$9jlfI~mW z&p4%5S$b^tbNs)omv^Kb7bAE6Wj)`n_+9Bsz9tT~^DK5!`-%TX_IK{5!dZ_g=h)4X zU&b@80_zp=(^>eqbclO*CF-sH0Pu_39_?`cFWq@(dVl1xuRCtuojp?gp7*=ZzkA|4 z@+5w^znlG8%J|!y=UToR_=ed2B9 zsPe)&oWFZG&iwLH<|m)09&RlDrscUOBY$vSET40Za?i9R>4Kdn>ArZ5<=J1{8vW$no_L6O=TSfYCDH@G)9vw{`RMw9a}JSqkA**X zyx0jg2AuuAlbd;%(U<_;;=O zfq$0n#D!I#x7rVGs3^z2TYb{=!;JgnQJ#5ceWa`pY?pPn?Q%cIeQ0Co$;uJ)n*7W8 zyyL}h=$|< za7JF^<=q!l^vnelXIDcr4b#J-}C1eD1wZ%e@!j zylZ#2@Rgm8m;I4)*Yop6en;aw_pRhl?ERJ_zHH6cS13ni_*bMae6TCZV}}sWW%!fI zGkA3#KtJ{6_k(wuj$OYsQvPkM_`^F*;+g$pmY;sgj@E#lmBxJ9d4t#pUL{fbt98+fkltg@#w-BGmw{nF4gmmTJs`boF-y}Y{Z|C^259YWhA8})$J@kNhM^7go z_2)aY+*4>*d+9+)WeA6PyFDnGC%Z&Bay;Kw^pRwKe;CI z@V)i(j;7;fKHV7K*(XXzOIzm0`I?C0uvWQ}y;oPS5axet>3G5*GyE_rW@ zdr<0O;-82I)(_W4dFDy+j{dv2B9C9CaL#wd4}Mu$e)(}%MtSJnu1N9AzA94gfk_w6 zv5rTc{lZfUDfXnzkrFS|c?5mEz9Nr3=y>68tNnfF5#kPuXYNyo2l(@zD!xyxQSO*$ zk{|k>c2~gRi{wMzi7n)@M~G+k*{kC_@l&J={j(hVv09G}ivP|?&!6YUr2A|`c-%XT z-*aEdadY4FNtu7X`jhuPw?>|I@GBziy;INm(`e**4?Ejke3g0x`I2A2V@=}T(t zh(_bJspltu@iyz9yVmh>UU$fP>USsc&rJMG6y;)O{LS)n@10Wat=4>%aR%5o*YrBi z@nV;>fAma!h#h`U*8il#(Jt>Z+F$&Yu+H^LW>~kP_$kK;(Jn z!2S%2#6ACa)@@1mzUL^1@MrdO?7i|2_s8TX-aE|tn(u5! zyWE!$&#a@AOZ?$C1)TM_c)=fKM-}CkZ%|IVvn}Do{c8ujJNvKl5BHkQgNM5R?-$Ox zRJvoocHG>bNj)%jk$Q}K$~9i!a($sb{E5`h*jF}Ggh!M;<%jwn(vSoGPUF z-KM^sc$VqR^l!Vg45H z=xybi_RorPorPy)KWERspv3QH4~aM4jkz&|G zQ~dK@(1Czgr(b(_MG8N+BW=z1C7(>6n|!=<>BfMwK9nxppFA3Q;>F~;pg;Xpu%9Gd zCjNR)e1|_C6=|pc^AnMBuDT^s0yc16==PO_A zd;C4?4&lA^GyI+X>red<_Qb;P*{{ks%u}h)>UT5QzsUEjAJrR!W3P9-t@+*J2Ysg= zV4tc!>BWyLOS>Hx{+;5Ja|iL<+h5~Xn{=F9E1z(lCq3D}*W|iubDDGuPv0LeCn@}ABrFBtLp;J zJ)>H#2Bkaxm0JSN`^(~=xGVMteY_#y=$%s)DgHdp*Z421uXtCt9dP(+Q>4)C#zKle znDZm&B;p6Zq#RfOm)aHIv6tE}_E~!idET$g{tZ8*UL~IBSisqTZLdht1M(N~Or$&h zFG;7#^yg$hWPi}>mS>)^UFPleQ4ck#2bph@KS%y#Q@}a*-&K*8rB&@niCZMy*{?g! zxSt?=`We!Tb8_`C_c`q^`=D0gcdhpBl)KaaSH8kO;<|uyuR;CTi(|vS^;E!-7k|&Z zA^vBkACP}~?-yd96A#2YQ@-$=*?9o?8 zdHjcV2b}kcZ>#vrI&e#-o8(*KCEI`2OB)N{I}7Qz-&x+~c!?Ka|CztqeqVmV-SK<; z*K7yBw`0QlUm?Bmo0MOeC(em-o&GQ7xK_@zUG#zD=qz8Dc;KG7<(3~Oz1TNpx#8#4 z^0i?7#2Zjw!w1QC!^20TUCybG#_yqo{o!7jdWLyay+pib=`u5ZiTv3ZYB(<9TuUG9 z6VjJ;vvS3}FJ3wSldon*KW;yfpLP|^EdI!Ofc>j_sdpcf``Y%O^^$y!--LPqKcwpm zKO;Vo{Ec6*`Uij5LkUkmI`&h->BqW&bFOE9xJPGw*xRHJ?^>&Wh=(Izl%=Oi$IkL2 z?Pu@)S7+fPmd6iCenuau7m2SW9b5C?YFD&_pH232VVioAd2w67BQA5K@P+)0eXbpO z-m$k|ykEb!kmsJ4{U9#1{bGMx>z}u6ulUZpoYDt7-@Yi%``8{ir@c6c_5xmyCP3JHJ z8vZw?Q-5%>kVilJd*VQva^Fe1^Zt|Nu`39Nk8BtJbmfKfoaC$NU)T}#RHrXipRkU+ z!u-l6>5D&(_~-m@G~oF4B)={Fm2lQe!vW{s%(h60FCrhH=X0Gr`iz%X@qPBpy8dmgp?ZRSUIHzQ@gW`lto;MlJuKIaz21MdsiPxxB8abBTZ zQ!e>o{uMhaevcjN%a@T7zgoS)`RL|=gW*dfC2nfsVP*A|k%vCgh55wsu)nw6h__n! z&b)O^MZ!6e^A~nN`JDS^w##`~Enj(0YH%*?ImE@4zQmbxT-8d(Y3WX6+&In;q$BSM zsYkHu=Dfo?uFxKSYd1x^+>;cJ+}j`Yn{v{#^Ruo{UV8ovoZ~Am_}43^59{H%#pDb8 zlcWC5^2dAflk!)`8|1!4P2a7;(F2<;-~V&sjd$bsRQ#TGj`9ed4@RE(LpdWJ&b5Vn z@BD-J6>W$6M3zTCWP7vcCEgl!{G655_4?q5c*Rb)H|l|Z4ppSYp%hQ_ujcc|rd%(4 zb60#v?>R2+&y7W%^Obg_tUIMIeuwf++>;T${N_D{@6cPm!e6ExaNe(Uox?ph@y`08 z1RQ_6TM8-X^!}c>_C0--^1kpX=^cKSQJ#Bqw#&VC^(y*OJmHsM|9kPQ@Rz>4SpKf9 zkzx;UUZCAL%ev$Ma{}x zS^BPYXMbe<_*d_a`dRNt5B!qF6Zc>D2R!`#DpK^AaMlS|1RQ*)oKK`5GVdeh`ieN> zS^j~#{x4_!3;$F8VL#Q5@5n(dM<13y;0sgYcPmHOU8NK8B7}nn>qlQD9_BycckBwv z5ph?9v%b8%P=DN4i?kQl0{_0l$37#U zaNi*78TpBH=e|tJ%k1wtAMuXD#wgEw8MVCKAze5(kpIDt^%9RtK0=>0E#JtvwBXz z9{UmJ@fG>F-zI$Fk>VMC`Df|3fFHJ5hm%OKz_^IO?V7FOS zQI30kHQ&C$dYLE02m8X+Q4jW#gB1yS>Y7N|$LuMQpIlUap^M|AeeqnKo{=B;{cx0@ z86Q%wKKy?4>=)&8{CsbUdRV8(Pv}GW7JdK2PXgzB&H5SlmWn*`b3vwg?!fr2j6CN9 zHx^RncjqVgTYe)>uzbrtN&NQqYw+cvD9?NFN!O95I&SEg{6CWZBJhFr@UF?uD39Ke zuFP+#x5tjJ4>g^iN7a(v0KUy*aNJedmveE z?BA@9c$wl8{L5#&?`q1qfqaV}hVu>kwR(In9gq4s4^r+}XILKol@ELGPoSr57ymH% z3Oq|M`f0zh8wqD0B7PXJ_+fs2Nz^|xdhRV1DfaD+k!SxZKFdk7^nS5w6+E0qgSNN|v-fAWNAsL_j zWIZBZac-(SWAEM`^)sJ8JyPQP)_nU3`3gJng#qXMD&=nB!qLbh7xES7+8ZLzzp;ux ztd|ZJQufW(&pDC&`!K&P)Nuf&r)zoo_>L&gz57}pZjgVNPuB$;dsD5a{vq);{LmFy z{&V&GeTnpX*iJb2P~xFphcZ6#gFln?qyKAu+`rd)M!#dd_$6k#IJ`UHtgm)fq}C}51*Ua>P z-4=Q1C;ssRkY1ek)cWwo7Ztu^|34Zjc4pzd^JV;eq&s$0=}Npb`4&2zTgC4tvL5CQ z`Ii0OaKO=L;-Lp;y_M}Ye^B$uQ>>5pSjj()o#F>Ob?S-!H*G7_gFRP0LwYpo4ZqMr z(u*&FeZSTNAG$K&$d&6_@F;!Y=k>yu@2KaI^mpK#LVQNtor>S#Z)yA7GjqO(c=-YE z$uIh;o*(a$Pr!@)XWb&7;LjnS;BV{ikn5z^WZr*7-;EaQ`{-Dt?E8*aq&+(rc2nEM z&MH6PUsUtm|C6uq)3aXemdY>sUb+)ssh#yadwryFPFP5}_b(ke_f&77mumcHoKxl% z=^k+hqdfcVlNBlVa%=ouE8W?5NiX7+IUljUcv+O|j2x@^!u#jMGxpER zBaa`s?Xn)c(eERlPrA3a3-7%HjUSHuiJ#oo!tb!>NO$6@Nq77t954Q5=Hbtz`^sla zl&8J1ij?yj;p{u4d+)vk_bP=W_v&Hn2B}B-zL0ux;`H9)?|;9h-vwE|F(@B0?}_)p zx!<+_$jLFw6IZ74ch^{+{k`%IWmAtWH&kwEX4+CCb(B8e{LiILdSX z@uqk=9W}o49uQVHu{UL6IcxJwk?)djh zcjR0=u|Hg2Z2!~thjrIO#=oY#qkokb)@Swa>-hSMzbxJHvzLzSE39{B z`u(W~1~N_)cDm%d@vmLsxEFrQdbzLTyvaNzy@>Z#kMj?AS#IQY!g(j69eK`~r6cb; zs<(+7ARU?abG8fS-l4zNyER@%Q+}mcs9dAJVQ!dgqqhPux(*voE$h z@zT^A_>o>IeCj2Rhjzqw_zh?Izo_-p#={lAM-S`^IR4-%k9E9Q&XsI;aPGII3-&De z1AQ(3LudJh^}YO$o%B%D)0%pPBffs|`!6X+=v(;#I;cOn-*d=v0|&%EMV}Mp;dAN2xzgJB&bSz5e{@K55kNUAoi2p`o zllYJO9tr=zb%pQPORtGM_x;;#Y;*<54bj1Hkd_q^p$vP<4 zAuDI9-x#;@)w@rR{UG_IK0o7LiN9k#l5)M=JYLZbc;Auf*7b!v`_5Xf>hs>dcQ|g= z!{PyXPyU|zE9r$Fk9rKdlD{MFw*1WfXvd2`!CBVdJajDTFT+1gxf`C%_1N-@r7w2I z92f7TMtR~Q)$+JSIx+t%kDS|VEq?#M^>{xhf1#i2erCMu-aF?#|I(S!75NIgwB@j; z+!XcjK628le?WRM{=>p&^IcNTXY3FA9s5H(Ap3(}us`%$d~!eB{&22ge}GGO;^V1* zyR$7*;$R+)`pfWVYQEYheL2^&-NxdbiHEt@*lzfXM|s}ev|a3^Iqso%N#C9w5c`|@ z4||0D;haFd0X_Y!wmbAL$Jw3DdyX*=M}O#- z<6*y$;~m?0O~4u1l~p7|FZVm^ZpTafmRc@yeZl;n@VTElF5=tB|2?}R_7um-yW6(U z{W;quj)!pk2~yurJy$xmrZ&iL#OtwL#*z4++TD)+#Jg6J;t%Nj!n#4dfq%E~ndz_H zRrubW{f)O}xi2WsgOe{3-dTQZ4S$FDEq#x;Gs>5x-EWQZz4JKkLrny{JNwnQ1ROhI ziIjOP;S)CtXT7*d_{zn%7ru9AfBfdivu~~S(+_S7IPYW%XTRb6&{_CDw+6hk@O0s< z1EpiU@1Etq_iGj3IX72Na^J`LtAU4vGhbK_b}!2lXE)m&eyAP4>-7K7akbjtv^@St ziO3`RoDpKZyh|J64{9y^eHL|lk0KfKFvVc)d>W%ze3&pkEEb00uHEK4tRT#cdg zr=lL_Q|Bq(!H~Z6Kg+it6hGDJ-#b|-*PVEe{bZe|eDl7M^%FlK`?GwFa>PA1%MVU| z`}I*j^H%a{`w#2#AI|dq57zSfe#;Xt>vd5cJ)k_b+IzDA)XbKl7aR^FFQRI}3mR>e2|l zy~h6FH@435r(Y|*TJ0-e9eL&*<)YDe>V1WL8NTtpiWECSJuiJox_3sZ8gC0X$M^2U zrW1t}zd!k^vH06H|Gd$5IX6f=jGnO}%2z8#Um4|@H(phdpvP86%J1(hq%+eu-&>J# zpIH18pRwlKt;ts-FL7LhbLR-}Ht(zP^Dput@4wtv_&xqYzgm$JkLa36yR&!QTS!aa z`)wCLM&+9KR$dkG&dB+;%ej&3DD2vft6I5Ee1d=ZaAx#7>g{Ua3yzEPpu|t}oyiZ= zzbl_`pVj`9r61dFXXNG5m-Y8(MSG3Lvu(FpdE#W`i4UZFb^1ScUm=e_r1-~f@ZyR* z`)K8ze%c?_^G5^DKL6$t>Bu*7yi*JEC-wmKAl}IIQbpRR|7w?Kg7ovEtKbdsHFSISFNA8nKwl}yq_XnSa(}Le(2fH zk%>d`yRvk(^|M~QJj%D)C&q>My;V5#fqJs%XUqON$2I@hc9iFwK>q1AFBOixReq>W zzs`O_dE3Rl)r|720~}Xp&IWChCj{z zcV}N>{pdsasw}M*J~KMyxHu1TT+Gk+Mg5JT&5n!nm?ITg_8s>W($e>}8ve8!BF}ow zadD5|`q7W}pSWuWEx+{RnvTERuA=QjF0T3kJImpK6QA9A89h;tt3KaYdhou&_tw$uR*>*M#t(@gwNJvRHZ{2lSYeD1iYf696% zp0C~@K7@Lp(b%n=a-Nd&%UHfwMf^SajW`$W_#Nxo#LxJjbt2Dwq~y2ZABpGEcSnwE z@)woUPX7g+Lb>kj_r(MEf-Z{RRj0ozywm>y#|6D}Tzwz3p3d?c9T)rci~N1_d+IUP z3Bnsgza#!xHy?}dGvhz^=8BZKvNc^kEu8!NuM9Z$5An}=)bT>T^qu`W;R_EOFzw&q zxbX9HTr=a}Q4iz)px)q|&~f1pa7mOOoLhDtoEg8@abc%;cEDTh`y5xb@>h$O}`fZMj^XC1QukZEqo`vITEKa#k#UJ3l!tXo%$v>>$N|a}wknpcB{un8u7~u>EPtuj+b}|Ij+SY)%^Je}R)m*KHMf&M99dd}O!na{jPA z;Kbh$pX~c{ejNMV^#Pw5eV*gu{L67+PdH@x`M+`=Y|VfE{>%@Y8!7(pj*D|5;ly>a zKg36?_55GjPxcW>uZ2gd9|p(nuJM1)nDtC_vi#^HEf3!JCHxyXuH{cUu1^1bw+Fnl z@SBdSHTC5CBaa6ZfnB-q~_au)hFEFb6gSUtMI$-?A7;2IqXF* ziL_eD`{VfA-5+`E?l+j?2VBSwPQF*Z!jHmnu|GQ!@YejR9T#?S^;H?ZEZ3jyzqLH} zS;s|7mhX(*XFod&m)ueD`|9+g99LuLg#3?xddlhWZz~u0#abSJ#9dLoHT78O)tWlb zaiO1&1RS|kuQrA*y+88UIWLZs^NN(CzRy^HZ=a2vJ1*X5P`?pB%W>f!c4OgpW$9av z3%~f?Q4jGQtiQAHX2*s9xO8W~ax}^}7SFanJ-=!8Y4-+vaBjqQIlog6FwYzdc}#VO_jlCK)xb@Ti+6nFE6!gNpYy9~K6#*~SNcWszL)*PuIRY9M|x}4_a}+}_MGh! zUsb)`YCk9*ItzbV)AyU#MfuYA8OKF@CE?g{oR8p_9M^cR-#Cv^&k)~9dUYp0@#^?J z^N!eW(u=rz*3Y@|o`iqGaUq|MtM`5f@3h=h;&%(La$LmQbX=|Z*WDNJ#?V>P z7k}>~6-ONH(EdE|2eLK$0Xm5Ol1F;eqwp-zUo`zD+aUb z?2{ZJ#N2ky1rTWG)ZebRccKOc_zkt@g5ni{vC-PzN(1e`b*HU9sy?&qg1 z&-)1n3g64{e+kDgV}Fz{!(Yg8H9l1H$szfi^{;vuIk#Q>V@9Jq{wPVW`FGdj8dOdP z$L>t|8u^VJ*F>&YS??Vy{HoP{r}eXs*jACp?%4@AewB6qZx^4PkzaRQ?AL{}4sl$i zZ*A(&D+*jFKXn$t>@9aN(V)@SU*BozS@usZ5|5&@C9Px$i4}PFEex9^C;P_ui7w#w8 zPw+ApaNhgL{*UH6X!z6Y4><2H2(MO-SiXl(;@>9tL@@Xu_ekgPpSu6^M70O z&yjY(%ka-TuEDWOYWzH3Ipv<^TZUc6uDxXRLL;rOfViFVP;>XX5-4^Bir-iL^^I(?|F=dD@K;(rKd zKa~1yX}|5VkJuXJIWM$7gL6ZUi~F+nhjVq|t#;0*_}@EEVVAzH@H^sa)_AzYap9Me z<)h8Ra+!-DleP zp7nG7a!2HeYg4y-tfu3mv;LvC+5b-er{&Mi@{_VZi~s0&tAX!`x6a6e!ii_KKkDOr zVNbE%d+ZN!x8(=UYb`%B`rDl-hre4pQv5}2w>tf6w#$7v=|y~D<*ORlA)Isau_(`d zTlu83@V^`v_YP~l^pN9XoYIkdj*g3WF0H@S{;Q-*eZO^P^i$HYHFcK#=bT^uhBUFTS%* za$NXJ*&iUA{9WIj%6m2NIpNs9vV8lc@*(rI^{_8&XFcDtUE;>SGVPtQAHTx>%Y!=umib{#qU=7qQ@N<@_$2Rdv{nK`l=`KyL6uF z&VHko$4isn#`63P{o%OE(#d*U|LM4}J36kxxo70KrruJI>nrL*{NJpHbwWGZMV=iO z@6$RiMlPRV7qk9qrQ^7;*Q(EXH{SBt2@}uDZ&u%OuhxDN*UfQZe{4nlyg%i*8bfDF zFV1t-GrT`qm;aIdWS?a}xd)tlxI82rKaq`5PiNs592f5f3+KK~U4B4%HHO}k<2wDH z_MiLt$v?~ISf2X~sh1WqzG$OyGWmAuKF5Whjr%6nk#+sA+EQ%y3CaH}>#U#neCmzC z$&L2E(Ri2R<=p4`=qK^6?(}#4Kaq}&p*QRaIQr7^#2>5c&vSC_9p!jOJ|X^zYrDbn z1G_BGxu|%&Tzcw+g(vV@hA@# z(oX+*uZcW*@)Fa@530BMZau`gSzq{$-p>AyTu`_BJ@pmuE(j<7iFlx<>!O}c|8?R4 zKLq=aA6hHm#Pif1!u*qX=sWJX@Y@p)jiF~}|NGxm%jwrFkNnpB^LXh_oam(cVy+Vg z$8HmjJu3S%y-R!&zaa52J*}KpE8nyK#P_>4`olS=`-swa^Zk+M-sM1~#4WTxt@hC@ zKfY&miSOh8Y=1ia-?N{@Yfe2d@)z2>xObEMF#M-uQ4jYO?N2qZCC5Ab&m=L+d*`+-3Dz}t~Izf<2v>@!)UcT zHZnR+IWFk@-sf|k^85Pbk3PBQId$&2=bpQtd#>C6&N3gX5TT>&!F=u{In9G?BP7AmdY4 zzWCpZp81{ZlX!Jilb<-=^#I^ryw4lh--${;Exi#pS9(C+xrWDYDr-m6#h*C2%M4Fk zU)fc=^lH~zp>V9>@oSM?u`jaQ((I2F4CY5?YzRR1o5TnEzd-5EOzDmL^UlApTl{&i z$nibDl>D4;%C2~iN9AI_F>CMhDiOZKO;A6^JxaAB?pc?FFWxOa%rm67O7*b;!?TXQ zEdWEo<>9>%<;%IN_~#p+6g}_dsa}Z7B75T;X@mWqxKZm2;{PSRwMz#`5A540-z53A z`eE(|XXSdM>ZMs*?)quHQ})Ap@s-90|19Z~xbUvG;x!i-zCAKidP|E<@qypj!RUv- zu*o3r0JapewA;Sd|Z0teRl81>IdCs@}w;v*V3H7ugyHM=J@YOZ8;uSZplg9Bk3)fxYhO3|2E~z_;|VTX_xkUKQ{CW*Z=6j8rRa?xzZc) zJ)C~3r2FK=DUp7-Zzeg}zfrk3_w{z#e~0vj->b&Wq;D*%Ka%GBS9&83f$WWW ztn01yap|pH8W27AxDK@6;}0!)Shr+yF7t8?{aJd$uUqA1o~e0kWoV1a#rqWEWB$#S zFY#g|XIea0d^m@jV|eOCdTS2v5Fg%e5`Wsg^i~-9Z<90IE+iUoA%J+ZTrJVDxA0+uJV;dxArP`AGyhm`8=v#}t zoetH#yhE>6`(-~e)7#PFgMXyj3w~;DC%FNQgWPA6-q;V3-twbQNgmFFlrQ>ry%koA zo_juvEMNRJvi9=t(i`U!8x7BU7?LOSd|dLdp1aQQ#3zv6xKAZ{?42;fbB|Z;l=Cdn zW7k(3o;Y*TTf5Yf{<+_Emf?w8p?sM)yPU(voniQ7;#D6U zi+|{uCcWX$D*1_Drgn;7jqv%hpMzj;g-EWvqosU_>nr==JX(CH2jPiFD?IlVuQz() zNl6c(=l8D9(XXoCU_6u_Xm{IuZcNMUzl@^(X(!L{p5Zv z`{8^pAHZ|oq&*+bm9zxIe#E1PVFIUg0nqLtI zO!5#9+~p~5P`>PAR|9gPN4N9VJnak7U#}3pe#oxKcjjrA8|2=N>!Ej+=<#!toN4YB z;hV!BQN0jXRPBZKr+kyXCzLOCFFmk-Bl#<1pOyTa+g6N!I_3T+_#F$+KC0}2^Dgz< zY3n}WX&28;Gy2>m$~RvwY_Z=nPOmY@y#(n2{@#yOzvBAO-q-HFH~n`%?kT_b!TL|- z>b`4+f4?YP=PX{2+!r!>{21Kc%J+(%dxWf!6<-Vr!#ZPsy;VVP#{~SAaDPQ)3#D{$t zm5X_i=UY8mdS>1#e0yZmX8nHbE1EYFFHv$5FWK?c>TB#fcBXt;C%PW$a~Bz&aUj$4 z&s1ORA1L3-*e>y@41H1KMP=wi(sS&5UwH0cX7r~Oj1Twx#h-bv_>-f`#ra64|EndB z#rrmTdv87f@lVa{?d*9`=?gvI>Mr5&pS;=ecdB0Sk5azu|6gW!^p}OuT&qAJgkF7&$|%+ zKYI3Q*9Y`bsdn{$;e0CxaW+KHd4%#s{#y*6O!SMMd9CYVY_aIM_v!slW3}j;{r-ME z{v)-(&zQ$}xq6QhJ$|Yg{gI-leiufgtG(3ate@fd>XkPeo_AY ziJtybc;3^@_`G|i(Wg^CSNkQ7zv%IElpNjr=Jb#H&V5Ri2fHpu`(5$Rq9dM^ApO(~ z;}^#lYkm>OXV#34`w-s07N2i;`uj5lOa8uh?ELKkOXEjb2>|xvRnPhI5B5jWb`E2B z{M~N1H1}xLj<|QC^0H0~_C1}dI(^TH%Pq}*K|KmyzRsbyYsP!&t6BTpLyrIK#vr;a zl8<|$S-W}r2E(&Y?fLaw`d}nY9HrFo&EX@5EY16|uJ7VE#Hah-59ez4+jru3-4}rP zJ3JiuOS{@&ka1M~1NWfsuymT+D|*h4-x5f->rcI1_~Pkv9KL3&;h7&wud#QmD|IezdOgC&|C;vNUlOvwnED@?(EzZv@{Q-t%VrUKz?s{$~H@?zeP)^qbxvPJC14 zuZ*n}J^jgUeJ>yR<|w+)?6)-MA=x#hLAKUL-LzSl*3z^di{;BSz>ASZL{(oBKmZy;QY%cs@<`_I2fU#pSe94ELKI2{fj;n z?i0PeLu}viuOEy+-fh&nj&Uff$5&_Nykh-GQ_C|xo5hFmRr#mIUVX2OO;>$2Yv)LwWa9s}+wby?E4^<4b(YRFd@=o<&gpTu1(TB;$WY3(Ji9h$##FzE7^uV~a)9Bl!KTAK%7sUtv zLh)ss%IyAKnLfJx>e0e;?^yK}3Oh6X+$TQlk7xA16(81dDnEYBDqrk9QFQD}NnhMs zS{;xhKYFC^f1-09-OJp}P-m-a}0_H9*9kyO2%iM^QrxAtI-j+Uv|m)oxU^A zRCz07Cy7rw^<~vB{hRpkez)k@*WVTRefNDsi!*6y{Jiu%OrE0hhQd0p|N7zLlOO$( z_%QEUZuG>-tsBgjk9Yj=pRTlYyYv;+BkSlpBWdPqiw(~`FUgy4oT&2B4`%#dl$~_X zd3o=AlYUqDsPe6hohSb6#PHU!QrcwZ!&T4j!2qyy7Fb7G!QIZ zxL5fmeY2$>=9B6_d8bAF5`Gvy{`78FzMenw#BaJPg6IB! zYTwysP`<3MZnZS?&D#tT?@{@tQ~k=9I4YT*dzCNiGwGZ4obu&E z{&~u`lD*eM`&Pcq;lsp-{p(vSKhBGkf4+RF@@4!G#BWXd<6gDrSDi0;@C#MH7&~9g z^m)gC@!_0N{XsJEpURhW+2s*@d*pE0C;Q;amwtSq(X$V){26DJANO*zd_PgK@4S~H z`h5B2;>Uie@@wOt~L1^YyyXGvD#@kDfJPY0e|Fa*ato*1yXl_@r;H_tP!U7yrQd z0W|&+iw%a!TRh*!R|Sb5ey!n?iMK1AwtjkVB$;mw$+PTt>>Fk6`2dv{ zR6X#AIPl6BeEh{&4Dwxg&K*^svGc17 zqT&1foHUNV&+BdMhV4eryMU61`Gd-vFaKWSKy&zf$xXbt>z(eGDlhA$%pOi%82LSM z93?;TT$C^OPfMaNpQw7r|K07X^|rf=o_W`64B~Gh{WohX+^+ktkUX5Dia&7{BoFU7 zyF9gq_;Y?KJ(Hj0;r_nUx1L-ezEdBOJZWo*=-Ka;Jj8V<2l8dyxzp%)-_QH8&S^&m zOD9jOy!7+p7drgN{ye&WZfm)Lokeoy~3FTypBe_!Py zPKD$l&c$q}KlxUJ+@F^`m7$kO9^$d}8J_chm%slW<&VC^Cyqao)z{Zm-;95nr-hz7 zB@go_wRhrzN*?@PM9=+>xl#Eoae0PZ9^%8_VENG>-)u17_-H)>*;m+Rkal`Ou=Mys zmuL9B-fuK6+-7*@Q<*%+DPR0FT%O7K8U1tOTd5x4`svN=eG4|zAcdEyi|H&eJFXjHzvCxuA=C9|M@Qa9p|!_8$EICg>RR7B`50?UpEzw@p?&S zFEF}xskYG|^E{Ooe^QN8oRe#Q$h&xw-`-yqU2?YM$KT8AqcuzN6R%wIbN^QPGR{e# z?C(iV_Up2GJyiK%zgHVS+NtU*Nj@w*e5V0jycRqqz0|G&oY z?31`0Js(&fNplVx4A1?syDZJSRnimpnIva>Bqup}mrwmK@#C`ga(2e|;WyduyYU&g zujBTVy<5$F4e=rVr{rY6UHuQ|n`-yGZzVp>{?~4`{PFLW{G40MKJugPheH2ZQ^M1)0dfZ((8BRx0eLIGmZ(5ziGyAacLFj&qz-81EhE2_KQE~DeHsrtNOkQ=XI*5=I~LHGvD|>*+26q)jR$$k~5uJ zl;t;irTw1qS#q+EE;)&R;c^b`l3lQGDmj?vyIyl|l6_UGf0mszYgapdsv$X($CV3$v#EvpR;hj=-=x(@n`(Y^!Yx?*{o&n;}9n%k{=pYdtlulIh(cbxZT&EmYn!$i4XCu zy&enSQ+})ymIi*!d+Dyvp}OS64zzA+*3MTy7027c69-!I`* zlF2hJ$bRl7!?XU8JdBT*TRLs+%2BonvbT87D-?@8?;XcMn9*{8MuBF2Z!f6CY1Mb7EL@)`M~<^$b#Jc%oz z{sI3E(Kl;flAUq?{|cigj=A*K?Ekssh@EAU6F+d3FKrD=4*C&?Q|kxpcf<{GJq#_@ z@0gECe&Q=*OyPyBjZzeVpK*xy`a-`gXf7d{kzDf#J7)lTtG@pjrdJk$TdC8N)e z{o3&|62C-r%v)sVY3?T*4UfN~ z>%X;Gc12vz<%W;r?!Ur47Uj$Rw#A0eHx8EE7LOy6WaS?@jPtS+&gG;p z`bXu9Uv@>`r!xPy+AQgnen#UJe$uXo;j2ZDeaP;34@>yU*!v_W>k8$If0^XO&*t^U zm-zUSlXn=MPxekpyS`HNm7z!7-pV(s{LBm7o@?`zAASvjN#cIpl_8%uaDP*B(qDQ1 zJ@qBYfgi5Q$9zoXWgD0MEDeyG#$KXuL=!e(Z9NTqXXj z)2EBR@m1-O`PGKV@0nMq9j4mByba)Av8Pe#U)1!@6AZ@V>`%BbMgkE~t)PLT5ghjS{|TfM9_ z`{Qm8V}H|lold>h@e}J@o~*vu=MaSQ=OCH`GSa11r|5Ng?PkWxF z+255O+9Mu^g?DzvhjCf>{OB8{FW&c&JhXG)ry2G4Dbm)*YY{%2r^|kb3!>k*M_$zL zINwyh#Gmp0f2=o?XO-}bN0NtouxFS&>C|@R8#^bcoXl&)k2ohTXBOW(cAnm1`8J0y z*7}k6!j)eroS4IwkJsA;?@~n4_$#`claK57 zVe$pZiJ!xjM$bAglkW&Y_RC$KvG=Ln5kKJoqoZFEo_91QC+jE4$vLg-t@LflN&E-r zlYCq4F>S5SXn<%0QC+5#>v~h&7Qk{xZ@h{l56n{<89| zb~&pb5EW!SgUQ6J#GiXf;vdIfFL`+1SM|g^K>8&Pne@;uT_^hH@a9aO z$xQx==!w^)a$z^3&yRZCOz!7;J(M1ny|F(add~TdkBGs!pXfOU5P#wYi9SjGP4vV= zcR34%si&Z4{ULhx)tr7}wdjfODth*zl*WHm^voMXk3Bkl-(~tvJRs?(+3({8^5g>i znKy|3@9&HB-mKqs-$|sukUklQUuE>o{+*iV;P<{RlE(i~koo^w`_4EldgfOLS(-Q+ z0|vYAnDQ=#=!vU-hvAv$i=J`i4o^R75%=jHRGF?UO1l>o_P1dH*5badg8b%U(Wx8=e~mY^KM$d%kgWi zyOW8|Zc8(t5Iy~s=-Jm0J(AA~_Py@$9NHsa+-da0y$tH5(ftGm8!?Ps0{UF`glh4#3PX$oOgKslibA zw9iNCdv38bete>94nHY*=-+1;p7;KQZxc7c((DV&H^@G8M*k9*zkJp;hUXrq(zILE zJMlW^8lHKC=()e)-&>v8hG+fZat_}i{_HCY&pk8I(;h{S9_9z=8UJJt#F5r_=1Y<% z6#Au~P`FLsIj3^|o$)N+e^EZf>6&AFxL=gniSM^ps)O^Q@ZWWNEBvp%vp&4q@XeaX z@xV`3cF2CS?6xvCSheq*7rFesN6ikT@$1p=xgW25xgW5|=$JQ%F3s(eyo@`+@Wh{y zeXu_wd^cVc@wEr^yPErN(w}L+i*uTc&o3m8#aVT_9nw2-6O=Fg(|C7mVu;tNVs?o9q`Rv3L{=mOYq4Yxir9s@m+GH#iPZaenR|-Q>F3~uSD$(J&R9s`1;IFTH?d`(M94j zF`|Bp{b1pdzi4>;RU{|(c*URbyBfi>A0m5YKTQ15Od){h98&ec{*Cz1pJ+Zzd@%LT z^fwwGh#MjPY3u8fpZT2RjlIt-G5*{ymL9mLD*o_2DS#(#l=4lI^CTDdjHVl&cjs3} zpxsL`$a(Vg0O;B$_sGPb`KIiXIA-FXZ~R>K$$hDFjh=g%DktZ0(m!#6W*9zC{L~0! zToQluIWv%CJd^zS#{a545sz*`1W!LLzWIiq`w@TTWTPjZmGdut(fN<|i$C*ijeo?! z5r5tT7k}3G;@>W1`&GqDG>*mIkBEP}-f}&)p1e%_8*f!P+og|r{nozVa#p|S{3qV2 z@r(9yrO`9~ia-7ug6QYQ2tM?@Tl~!*&(jkp2JrYXN&fukG?%~eO|?_z+2Y@&DZ z+H2LmV(-OSKl3^9=e+7#<43%A*H8II*(3XD=NW(Ybuv5qgWJjYni~yId<60T`}}`+ zyZBdzvUA7MbuK>-Hb?05<^Rm|<8cM-eIetMZ(J+>_<6d1h(|7b+2bG+&tCGg?{t;$ zqo0)g)VugIUKAsInl<--3q7l4@7$NY*yuUmbNR>K=kj-sRX>?bd{6RouCI9q{q{AY z?|WAK+x0QoGwZ7JqOs{)>-x{mwO9vTVDxG34{m3z>&2h*tdikv{uP0=FY)J|zxc<_ zY`6RF{JmB@$>{Qp>&2h-w&cg2wSFQlj^t-P?fk31xG6x-eu4Pg{*nFO?#~&Xc~eH8 zN`BUH&rJiHw*F6clk{!Uch)t%!SJ~QTt7n}k{xn>A^C~7sCgRqOT?e~_w`24d5hcg z$U^7em^$3~yhiflA0U3Lmo5_h@L|q>?2F>hJygk0yjt<+K9B2X}@1=kIzg#~<2Z%rO=S==jYQBg+fcO)iQ~ZhJFaBhCs_{>! zI$68*b4cbnYG0gVdU;D1Nq*wBh(GI|Y@Y4!*RdbwdK)=G^_RAuQ+wq6;Y{Ptev0_> zPK4xT|6!KlL*YH*Pdk$QoR7?L{3j(paS&?}I_gn){CdSd=}X0*PX(io<7>TsCw{4R z!8`C*8=n0Km%qME{COW_uHo626d(4N#fP{Ts;_owuK2J|>+QGiT{A_W#mykjn)tBq zHP7(G1ZyALFyz+wjG6L_ho|>4Ei%^2JX?{OMmb zezBh}{_M}F|Bt;poqx}%;?Md|{SWgU@u#0tzr_4F>sNo6)uYeH+9N^wVLw&!v)?2B z_!UYI`1OlF_gGWxrbUb zKEyE-f8yk;yu`g)Xn5uulCwGN=Uv>py2H zH+t6l(wn`r5=nC2ta|5MSoVWohw^275MP%H|D5*7AxUKWexA z-VmX$RM*OGh)1sPoSRBc_IJb|KV>ghcD{-~g!D|D?9ATw-J*PRA5yu9o1lJ({ZOrg z=oeKU_7A;1w&qEG-rrDpxaX(xalSL%`0(DA`13BG_|wmbe<-|N{5daHKZJg(M$dX} zPc+!LQ+$ZWaIvMs`x;rfKIQqA-*cki$D7cY8SEdGs&OyT_-&IbLwv?zx2#~ z9py{^q{ZF3cdd^+0{+YNJ8c%trSM|wx!r@VT-kX)*_v?6H zLgj6j&hz>z`FRWaQ@_Nyw(33henxzFS7(vs%e{mw-*aU@7N1r4scFg=KVZ=_FFn@q ztT&Y}=U1+Wk>4&fJo{(Lm-Z$-v!9^y#?Btkx0B6(Mk>;0W#~uU{!Zm(AEe}b#?^1| zey;i-SZjVB3M;aFuT;LoUs+)EN%DaDh1kjbF*=7RU&aH;!@UC6+wjHG^WVqg&Tmy- z)-AJ*PwdV7w#RlUU-l{c43A#3d{-%7{AW~N_BE6*=VJO!yYqZ|KI-}QJS9H#t7=Eo zo43Q_D$h4bR9@z_8{wp(8H z+xSgM9?sh_M*Q;Ey z_jTR+Qoi}oPwJy{m~KrU479`m2cNC z8$V^$J8_WReseGQxm)4KUf#kC@h48B+6C{fDPPt_S^smy^Z@^~Ys&d!M7 zr7FXOZFW&S2R@A?yR4x;{qdGGW9J^L7vJ8k{Y>yd|@43D3?@SKNc^4}-B<$lrT z$oJR@;=_Kl+86g8M9;fc;={RbHcq`q^l%hC`x05dS8;uH_N%<@`azPD@k8{)(a+@k zux#{A^{*>$% z|Ih))`+h&;+8j&ccjfYqpQLdfe`e`Fj-R3R6Y-uK5xQi;-=|{T)^BO<5$`p~y<^Ei zyx66dChpSx1~~_p9QYx-9KCOU$neb5Zx2B3oo%x;=ehe0@{U|J0GqX&cUU_1M&T{4 zq2Vh-70K5wZ4{n+6pkM|dbiQHM|KL2-@f<|M{bYdxnDVCkbRSt!P1lIU<7iXPx${A zzo>Sv;o0XAp7qPBKst6F_i}b>lAn5VeDAII89jde4;rLjSRH_rKf_=6KqM8%|7T4A zHv13TXX(&$j`Tx6cZcw`UkZ<3r^CJzMBg5{MCo?DEPlzvUz~n;b;jo(B^Q3V>x>WQ zu)=dLC_MArn&H#j)A~Kt&yut7^W+yw2q;|J3oxyE6R6%C}wj_aivZ^6|6h z1ENoJ{tig9=KF%ggV++trCFOMIol%-h#tRWuixtXBq#e_l85^q+l;<4cKBcfa=*#j zW$#NRC;R1@9^4Q`hx-?vZ|@zM zoPAz@qd!%@TN!%c&H!J|uVtU?e`ub<{7mJ=4?*&N|1a#J@TGY4K;jC99W@Wc|{|GC4bvvt4>t^^PC8@Wk&G z|JeH*={fY=uXacI#E3c}>Gd?(<>MuOs&YG>_JNECw6GzeccV_GN+#3*o?)eJe9DZBYjy|t` zBh9&gUDEdn@#nn)@nN4%^}>0R>YMqj^5I=7@k#pp{vG~^uK(6yYXjwL)?VlKoSZHG z?fMz6&t9)z?k9^seulC`=Dp(2eAV^TvqF6E8}Q$k)`&m;QQlwGmt}Uc&h3A)F1@8W zj~mSU@#0?@`>yyC??~-|b&&YePl!MLx7*c(`%N()6aQr5H?m9aiD&J7p4Vf|?>)xx zbhGIjyV+vpP5M^KerV^?5BqWA-!A==e$RSE_TL;{B75VU*zJDu8hvM7DSfi;5uW*? zlyuy`^J*LU0;~tOX8m&^?1?D z6J7r5XT=}CEXi3J>&iDI{=|K9{Uo1oyB~jte#iUWUf%iv;?Fs&^uu|aWA@Ndcc2Pc;2NEAMWFe5BvHmZ@YfD_|PwiPrkfJ^t@-{cA9%c zeDG%wo_3e<@%u;USA2*kCOss{Z^frl{cp9G(DN7B3GZTgdu+Va`AlA(@p)NR?hJLKcFta5c-H-y9zLLY;hu=(;an%<3Fsd4l+a9*+mxu0JjQ`SPjK5Bo7L|Ijt!!#R?VQzJi9zT77k zAJ#`3O%Ii^M}@Bp&CmFFTvPTZ#iw1biBG6twDOCI7BsD7~@)q8Vz zdB*?wjL(GkBgK7^hy8i+iJfO1-+EAd@COq;{Cqs>``KF419}r4e<0CUhI*aP_&>>R zxj!g*?Ea_GSH?WvBl}jOZr5WroAUNP^s>x8-Jd=7zIlD%d-t9I@r}i& zGWG-YSKLO}YQJY(5Ff_vY9Ph@Rq}K1N_ysePJEK&GSL&?QGBoyl`D4q9zt{Yr5S#* zW_;4(kEAc+If#FE9O3?p@T?1j=RHT!H)}t4`qsNM`k%;tIEVCnb6bS3R6peWr#|R> zYQIrEG7hU;#9J1g`$59vckJ}JQygD9B%{AV`e)xGs_LLiu2)&&qdNR z`*EV@UdSk7%aa+c*ZBubDom*V;|dO zbgZwHZ|wY=njw1jZ6qh}HY_$g`(m1JFb`GzHix&qMfAnz_eQ>Rt~T9Z zyHt2{0McJ)d={!aVe(@S8J_+7vO(5UYX97i+-~Vg)!*?XzS5GY@AXFv-!47!W=rGO zAUo#2=XyGLc{`6NzkK;Gj|M(A`=<@rclLQU1V9|0^HzhLkGP!-ZP*n^RmL8;SFn1O zT zUq5J&I0X+xAaM(vPjTUp;oJ2Wg=Zh@982fRja>#SL+9_0z-H~ix}}@7EABR!Of>F` zfHe2|-2sSSzUnLKdv-8ddfekyw?}@W`ei=!7U6qeF1>M1@^CP^&T|hNp8fQ!Jde6u zQ`;XjJnuhCZ}TZ`i>PI{{@x1*}wdq#uxj! zz+ijiCdnBlJ1%GAt11uY7P4FB7lTH}czR|qIQFL5mQE(F9yG{(ceT&hJK^ms_b;~^ zo_8;#AN)`D2GU`2aGT-rXHdD?rLVdE##(PRe3?EC9aKF)+|B%6??{3vMelP_~6E9lj z&X?P=Pijhf!EgT#`;PzYKm-t{P;~6GuTr}9l=u)g=C;6h?hSiAHr8#j@2uOh`k2t~ z*pE;@L%grDeP_IJd#wIMa^lBvx8d{UKgrIU!~Whn`|Q#)^WLm}u5 z9PU#+5{GK7r5W#4-gN4%S$U6`Z+Pxu3C}rT*53{1B6#E)2*7k|$A&1_r+F&xXsRCb zjc3K5`%~(F+aq7wV)X16t6xf|{%OCZ(Z_(pZzwp|?+@Aczc7O5-nGWBX8(V=-IkB^-zAT!-y;t114c*O znOlRw+CNs@+xKSwS6y$z&&{)RGV!_W`-@8= zN$z)QzRA2@`sCi!V#8xMGXj8h?tnqgcQg4;TW#qud7kPwUq0+Dku>`XY7hA9xV?{# z$qvKh=mSPy8Oz=u&#hItiI<%9N9C>dd*WzIPR6MlEZwZ#E`FRJ?XooIXKE+x@7^3p z=gZsgH$3~-0|A)k9+#bS&s+LTTQBi?8ZCJ{>OJnE2wj-G`m-f z9JV`>=A6UFjp5@|f9yL~0%+DD%M3Pa8&zK7>#eYKd!#CR;Qpw}lNMj8_LjE(D!Wc5 zo{*j^Lnnxi_sQL^hJPpf!=FL)yu-IX!Y}FT+TmdXmL_hF+IOXz4qBS=>aqX`h0h7! z>|dz*tyHJ0KG@&R>i==&%RK<;FJFG`{r0=&@TEf$*d96jdV}U~6@b*|7E9yTwo!2S zO!05m_p2Ro{;Kk@4#@h4RnjNt{R4sDrNx!9x7hjcUi&@!?@I*>pOoJ4pOfC`ud;Ua zZrO9vw|AS<`~EKLY}F(CJNjKRQILGBJJb*1cdYtlJv9&#tM5G;r`WIGY zy8^I1@|g6=yd`T7!;&*Uy3+MO`j_nyx-@sw14hp~?T#c$?Z?==qlPUm5$vJx0%cPqlaUv)qoxHtaDxe)sF5!TR&d404Y`{U_&m(m(gM z)h^gaEe5`)#Y0q&#DQF8^r7%4>4~^5_gb3y?KKARD_8#c@_VJ9N_I}eJ4~ua-YtW}`y?QrBU>5Y9| z(KY)!sz>~+ZnEFo`_2Z_sSnETI6uqEdz0&9I=UM>7O{yn~k1(CejOj1kxjM zqNES*ZBzhl7YV&_oRSG%-Ha$;}W49~iJvA&PrFc?Ymj#1TMT0BMVj`iGpOQVlc z01&TT{TOjh?un!skM$k@f7K`PVeb~cysm1H@Rrgm@iNuEIA=LK7`pF_O$NE2l9g+z z^imm{FS)w$D)XbCl)mvpbbIK&yIOm#%9$iT6Q6c{`h5|8>|@<%d^um&IKz5pLnMV? ztLiXMa=mgWhIYn)enf2Dz_$Yqa#(xjPMVFH8MtTJ(2M=odA< z#E!p*9(xa#eGYelCS|rVWgXlTm zAG9?6^Hm0EH_}hO;pg1M%UK=3=Nq?4Kiq3kzsx#8@~2ZDkR7rQxzv8ozJ&Tg;*QB~ zoBj6>MzEZ-NT2u{EeND}S5fUKKl&fiA8}?=!*hPSJOa5-seXxf>ZL#K6MFlqdpw)` z=xxi4j&}pqez9BWF)dCPeWjYkUvB-w+yGtZInd?r|I%P2jsMNEU~oLh&MQ^Fug85| z)kAw^uIdYa;XOu=A70jv+?v^EU3QMWoo{^1U)&)3^C}PXXYWtT{o>QC{fF0M@0rpA zcJKBu)H>RJNB6s$s@&XraQ(IJ^?IE8&N`zbzT>W7AUWFU%Qwmn z@#kJ{__XyZ<;#A?)~NJz_Zq%37KP{DqU(R8squvSC~7bGhX(Y8kb`4&C+M=T>s{1zaQB<5P+PYWP0{<8SH3rH2m01x1Yjpm4|rV zYFB)czVWl&ZFKlS2~Yg$n*(Y3UA4z%ZJzQc-m>Irm%hKr=)3Xtn*C?Vu6Q@IVtD$G z+YKgt-@n5k_mu83$iK@Xf4KK5J4uUsq)*;wksjNnr)Age`X#bk_RDSy&~qO%YuEk` zGV5{K4}P%HXC?D+HyC}M>-v`FKBM|c_Ki1NntfMq7h{j?wR9*fU1%`rJ4x~+ z$^WQb6R&wy0NotELgmgkzVu)uogY0>_Jg0upnb0lJs~{)&axl;bG_di{g&EGd!!=$ zFz=V%c%L_`r$be*#P?IV@Oza0iT81Z@#TF4*%$k_vLE8tE8ShUg~F*jB6Q4St~bbg z#=8QLdQ!cot?#IPV*e`)kN>dhk#lWtKT|JJ{>|FSvLD7L_5b*vyIj57?}_}5b+zn? z_?pr;?^5`9IX-^8@r~mZwM+b|vvOTF$MC$fyU8GN54~KuE#k|2Khkr%zE<|bxkyR$ zg@2TtwCmrMoXz3i2;#S{`ej_o>g8UQkNt{<^FLPh!+BUak{|CCsJ`%*Q#)cG!1?z~ zNzbe+RbTAOdpj9vXZ_Fgnfm?YpQnlMQ0o|j#5Yp8ILA`GI zdD8bG=^>pua%Tk3`OsEx|!{HFm}Zc77gerqJO$R#89%?j%=kYmi0($U)7bI%CAkM6 zyKk4Cm~DL0sn6~=$huPHWIS9FNOPZ2^+=qo>nvTVUM4yJpIsd;eX<`QdrPODk^K0V z2+#aN`mc=ri~7~>JFA>SNl%rbwd%*X=XtX6r$2DJ9sac17k-o_2hx;q#;KkzB}KF+Agx+gE+2`VH<`sr}-=BzwdEqGWW` z^HHK7KJKPKI*z-)1^$m}PZqby@XgwDcSRuY1bICcc1xd}hp#p~c2EpJ{0$^$e)M&k z*Wv%W-oED>KfcGl$IjQ(|1eFEy>fqD<>j8C^p78y%Ef;9E~6)|jM_K*+iKUuQBgZ> z4!=?M&wl0N2p#VXd3j4ONYBh$B_Hd%OYD1?oIfPk^PZ)FH23h;KXli>*thDVT|e7@ zH|qD%h$AKYWWBP|e$V-AX6F~HerX?bjbF3>%j(~|?}?la z-zw>At6%2*5q%Fm56a%~o6q{KM@z;(>6`EM*l@o}{8UejpxgCFeEvCfuI!KbMa}T^ zqso`}Nz@MM$6g(bK8wr5J2N{h&Hn9u2J?;LU&?1Ax#l0{9@CQ(RvEMDbBMz7J z6MH>w2T!jJ2kXnZC;jv4#WvIpilsxRVfdB0TMx54sbA12e& zcjnmd(EB+Cxi7ph0K4y-qwyVv$4^xHBW{cLlYO68eJ~z)yKMdEGNZ$f|7wGk>ic&E zAnz8*-td=~JiIq4yXDAg8T>rSKNeyr-bUCK+Z_-A;(#sRN==lt;A2<+a^Pji)B zfi&}U@ugk|ERDUX-ec!Vx7+IDYS+XKTjt+yeS3tCdpOcJ=NWaw6K`Ox;n@egN$H`J zTtCCVl${d?BWp*+V~j4D_^a$3KOT+yyldq4RrsLWRqHpJmvTQt{Nwm4^@qeYkv(w# zNcn}y_ltj;yHe$69uh2n{O;5q@sE%lq`3!F@9gWTJ~*#de%<#~lfIc7BfsMw;2Qfq zehjMTcIi>+f%V5``_4L2?XoiVqU?eFBe%C=PoI6KU*2z!^{wg=KYaB&oIlIX*?&{L z5SQV0qa&`d>b+eb*cC{&OONd_*c^Uq8V%OoeVsu#Uu%&40_mOi&u+Ce>si@(S{zWhxSu8caK0ga^k4qF z(Sy}basNp9CKJcVe&YB($%`N09l`jI-m}j55?@mK>fX!ad}hG#yw4<<7SmmUH1n|g zA`p7xYAp@7SU2Ge7F*X`Jgze&U|W?%5ZS-0Yj* zYxJzYw+0~VzH=S0S-#Pz~ zJ$3IhGA?KR+}6PeTh4>-F-ZS*bpSSpXY98$adk=tX;&)@67N8Ej(tck*ty1g?ql6x z-`n+HNlxZHs<-Yt)T{^3()W>HEjNf?x%f2uUm>}eZ=M~%6X)R}`_8+XuE*T3y?n)U zR~epjt*qV?)lX$?lj;}07PWi)sW%7cn1}2$di)wQK99@Jxj%Qa@FTySX^?rE^v3>< z^Y2u486JBX2teiqw?rWE&{bagKaB^x=YEIbnLm3w7>G#=ekTJFY#cxREe7$ARylc>a(5ujxr+J^{6QqYz4KxCeEGSo9s2x<_gO_xTy@nC zei<{2u30;5g~7CVRU>+OiKTf5LiJv$jw@gKWz`?+jC<{Svv!}im-5zSku>dUk>TU` zrv@XiS?g~EAp6Jj4d%-S%Kn)rOTVlaTu;M4-52@J{a}q>_y@V1#SaY{p7<_X0x;h= zPo8@AHEbH7skMP$F(((U@!WLGxtj`lt0?T!6;_3NCct3A=rOFr%; zth3*xt##5H60Nb{;m7HE82g6mJDqaB9q!LcPwCXO2aFE8ooA4Ji=_s;e&ayveeJ;?t|oFyuD7}>*q?J?0-t{ z`SR9^}Q_S{){Rpj@y zci9*3u&Tb3LHPXsDIoX7vvJ}pvNQUVJMBB~_PPC!eQIYQSs6?BMj+#i z>J2{>)faIXN`_}1d|Lq0zpCEj_>t;ocppjiji1II`_4GKDFTV-Fc5&;_ffwXdj3!N zeB)$|f9=wDciDH|3s-yM{P&_rn*F8KhR1(;FakM$lzmi&9#=cVkL=Bc$6s6Z0p+eh zn)48qpL3E*B+Yy^XE0x$ay!XIwUcz}GXnv9?9?8NK<+ng^7Pka7tQ|TRgb*0m>Qn= z+JgppNA}*xU)BMVgMF&imd-cs$@u%ciu-ZmmoMMCUGzOS?+VZn?`?-c+Xsz;KEGl= zRrSm|Q}#{09dC4uTdNGR->!KD?_^XXY2N8p{+uuPxKKM^^~L=i)kElcQgU)`rv8rg z*?EEAA-DK&kFjWJ&UvJ#IG)J;Xuu^?I8036xi9zC;h(G>aqECy*?>9Vt`O;tP zJz{e(x}JjOA;c$;J+KZ@KY*XzV$s)g*BZo+O#B!h7Fn8i0i_S(lgR#A?_M9kClept zCYYQiJn;{+{`1;eG#~L6+W5xs`!(S@@2kzq|p;!P2Zcfzo@*tBVP&N zV`p%WVDC$0|HLVjeY35;$?*9`VP!N}-Yt2!$Etjr{iOwlXP-*-!TR3&t=_K=8lG{o z7J%*2OxZ&m|BwBK$4^jlRK_-_{f3@K!|>cUmOZeacbn4nSU1T2vBm}DxIK{Oy*O`GdFnkvF{6=|3eqPWleoYxHsa6VeZHW~-J){^b$KJxSRC=WUX+GV~3Vk9C{u ztyxd4 z8)PrM6Q_O^I46kyG090eRqtu>ztui@zfbjn-+}5sc8*r@y8nDK;q4Cl zT5EXDQ`89`hzEn=`56+Ez<-W~b2I06O*x%N_N`IUy$e!`{mR&NRdTHc4ek5xQ;zyFv|5fdU zb&C2A#s%?ZoR<9fp{xC}E~wh?c!ze0!BBXW+86N=y#9)x5IyG*uK(O;HyB;_{VCo( zl0EQ#kJ@#Zbbl-6gKB@&M9Jv6m%S(Om-(r;kBR3VjHFrL={xO6dSqU{+31LuEj;sM z*#qyD|cZ3*q%$o0ZAAOznny5`Ud$-^=SH5BHH) z2GW)4yTqS&N~Oop^GW@#yWh@x1D8bTc&~7+(Z^o*uize&?2&WlO@`;*n%WWL&WuRf z;@cP`-m=;e`#Q33?rq2}n*A&8^Y34GIs4Yk571Y}?ovC&A428gy^ebg&$y>{#Q6JT zD+hkf(nH$%(>;+i_bbGwJ@R_x!+n!oh9^G!(g0+Ce4|0?LwY5?pX`+Rk;Vn=q#o^i z?@=X#+}Cye3|*pjluW#0nZ9>^bw}Vk>nLw`r9^hcJ0R!Ucl@cYFvxzr+86QU)E|VN zUv4ry^{94)J!ksvo(~9PZx2uU6{YFPWtNxht_yv(9_tLU)s&tv9iQ6VQl8GBtPVVRK z2u9aGdA&j6Oei15d5uT-0ZKpYv&)_s2bUWi^ELIK-FHKnzo>oT_xn)fJNpCPzB)PS zpZ8vO8=mvK^9{29B*^`&EtX~ubffggeu2tGJRYy7`ulGV&?S8p@h5K5VoT!> z*)YiY)?frO|LHe~9jkq{>pij)_Rmya_9=yr{D*|o)DA@O+*GJ#8 zGc8TKTx$@&J+&|1M_3m~Gf&$gd}nN)LGEYG_4MqPYxNx9u5=i|KUo5jAtr8`_|I~ zDc)g!FamjBe5pb1cij^V4&U0aG~=ww7bYK3JL3FB@^h|qy3w)EaE-yVcwS}?m3fxt zJrVKg?r(FSbwLEnetXqm+WPdMLFBk10O>a~JH1eJ>@&RDzLU=z4HB&nfd8~)(!hHutRRr_LI=-=zPoZ(r|N2L8|uf|Px$^c(Y4jSh-W3eH2eQ5n6~-{Bj4@4%>bmm-(rw^GwQEm z=Z_05&3LxQV19J49|VttbM;I{>%?$=gem=v+u;S)jti7GQ!0@5xVzrmpsVs@4i645m;kp0R zur%kAYYno`AbVy%W|O6ft95Vy5`XS=OXIID{U^z>1A!#>% z<_;N*&|&8ni?07ATMd$*#%cV{ynS^}JIe6*OG%&HpOhUFXKJJ2yJ_xusvYB}w9@eH zy072qH)J39v8aDz{j@Xk9sjPIjSl}R=|9a~Mh(A}A-=rVqekNedtEX}^vx+v)Wdz_QqYw2|AOE(1|e%Wt|0N%}!ou^Yf=LXWO57j?~o+Yk_ zQdGNO{kq7$6Hi<8?87FJH0zB^49`5r%iB70qorf#dD%1Xb%?&(&vMQ?VBeGE^u3Y4 z^aIxgApRn|3^I?G9+(F$h@|u7JH?0lE@~IphnKfBTY9Elc{$maH+uF}t`7FQ(Z6^* zN#f;}W`4B5VRjEX_sUWP&pcFi!MXJgrO~KC?jOtxz%=&_<;%Ru+e`6h-d=j29B{hP zHG)HaZ;18(a!YgWDSM*6b_CLC>vcN~&p2_A!!KMQ*#B|aL#68D4))v^ptJi$_MJHC zw+8_I#Bm1M*Igfh7Edzpmv@8(iGx{>r19UFX?XHE$I_e+%RcEZ)J}N+KrlbL{6YIp zJeSo5L*e&oFQI3}pryIbJrIESi(X|A`@SOzzE16hdkM>guT9=>c;=IoQvT9=L}p`P=nnbL{uTyO+JO@3PeR;CG^S{rCOAiBGFuIhU86aIRN2y0qx; z8{*IF@)Tw$|1kNi@?{-ydVr4m!s16942^@->k9il^NShwJ@03z>Y2J_|bxE@BoI^ELjL#e)) z?@Mpgi}NpDbE$ndf3XN;T$vsK>;p*7cIgDS?_5je?fS>2xw~Xn+y~ic^!RZvHP|lw zq!EG4XRcMc{*#>s*%uTZKUK|luzR&H{I6x_-1ktu5^qfX+u!4;7Pt6#k|eW?5ATkt zeQ|Ddg{7GfmJD)kx;^rj{`N|P_{ZNGfZPX=onzm#49`BJ=-H1*ElvNsDhQwX&rDq` zdr0~YmHqHL*(bkLec?AyF?!sN>IR7;B0W%!E2E|Bxn6_B&sV;@TOfMs<@^Ai_bg=3 zwEq=Kx6W5Tfq&|T$amHUD-F-R>~#jYkE8Ol?wsxE(bJ>hTW?Uk5HDBlig8r*#D#mn zzC$m0lZk)K+Sd=If5yQjf$z+NuQy11$+Z#4I#YbuAIS25<^6`|{C2TH?v1G(vCkqq z!M{%Yc_;X;V0488J-@zZ7g?I~;dutr+#{PK5I+jdmpHGMopWzziQy|_uhzUgoqFl| zV08WSR4&@h&6dWlW=Ej4CxgUe5*_vD?J@Ui**S9mY8qcTugdIvzw*QXNbL{1J15xB zC+?TsbDvRiaQ-X1#V>WPednIL>Yum~%Pmd3fx!r*AG|miEH2w=F!a1p_Qw6>&6aN0 zf3(YBW#}E!GwY^eB%N>Ee}mzdem%bxLrbA00RCrM8FVf~TS_Z3;Y8}W8G{<8u5eY5rk z;fa?cd%*5xcl777&t~m+nwuUz0@FfA-&U|tKG3bxykT$Pd5VaOH+Gp4xh6%kWQ!8tKHH5O7@*| zi$7TX=NrC%$a+cbj(t(-n|qRKchsx&-u07Z-XXhUUrKh*xw_=ye9PNc`J;0Jd>Myc z5rOnG>VG&_SsN^w#cOJh>{7eqKG^LMH0u$`-;Gnsd_(Q7J#x78#{P3QPr6O{(I4I( z_#J-3`yzny$-b$V9f36SKG_4~vh+h7IJGU9bA5ePnt&NcF~gOLk5? zR@Dph64fu~uM6#W@U27u=P%m=kouK8`G&_!XCHCE@QiQgMIiXhPQIi3@E^L_@NxVA z*&FkS!vksVt4QCRUuvGfeTwBq$2nTTzFXWEOJmo|EZwfVJ^a&c}xVCi=0 zmca;QK0PY{lVqRl2mPu%-1k;LX7RJ^du3>JFar7Im65;Pb5g&OZ`^*brTM3P7&oME z-Y4A^LBj8<0L0Hv-8ivpKn+(tRccVehkJSGp$)OqF;>!%rx#FS#$`vN3FEu=I(^ea_ zcxC~}yl%av@uSwfmi4&ooc>Skk^P4`_MQItm;fN&o#bR*;r3ZuG{f+m&#JuaA5|@l z9SYC5=;L7F_?3ny?x6I_IfvRK@fMUX<$sxdkK+dkkG?dY!w*UQf4g-01Cj5nYgQQ~ zZlmN3lY7-avmUMl`(FLjO$PDTsYM`uIcnFu*DXG=bFSJW@7COE-`TIYD*&6r^VA+W zzY%}V)r9B#?k3T3pUdcoYqyj734&?P&p~)EVY<;ZYoC#xId5=#=zLA> zmv!N4`_8&h?U(te+7tcU8=|2n=4hO*R3Dd};b*P#asNfX=UiCrnSSz!06B5U#2F{mjp`>e_j0@{`UixCJy;hgX}B) zc^a@gKWD$d?S1&ogAqLQ-z$Q_)^Yb3#6Mg0h@X|pnQwer<7!%b|6t@hpy&h?#<@Ay@zoW#9R zy{EaB%1gb7Kk<6%#)tk}?YBJ=%9ggc>IRwrtcgJU*_03d9~1&$;tPOEaHWzsGobk>Qi%Mb#twx@TD$dz8HR*Q&hv#$ROLoYSZF zJuSXZ?U#2NB^P$OQNL@fQ~P4wExT_Hzt`)3=+(}r{GOX5zsGNFz39t3_gI?qpqU0~ z@23SI^A+ihc(scxjoqogVxLBK_4jkek#G0gcgAy-3;$`g_jJnRTJVmo>tTG&9HZ;L zua4cR-{ag#_P~5fka)58N9aP&joCO`Qn{P8S2PSy{G!DH$o&PC4}a&H;c3^ZSL{&z zM5TJseTK)5RbJv_X6<*I`fcKOt6ekBs{KMa%jlU$B>_l(y2T*xXGjl>r?*DZ`0qG= za=P@%`qu4vbisApWfyam}Q`$yN=ch*zeqrujfmsy&)SXUclKIHW{_M>y6;d}o-qRu?9&Z9c?H-!Lk z8%RJbSr8(S5TzkFQT9afc$JsL_Vt=Ywy$OT+Of09YZ7IR8~|UH3{qdGh%IYrRiP$ByH;qMwxq?z6Na9X+935`V?|Fn{h2dgq*{)|-wdaP0X< zgU&u@ec%%VhYtqiy<*G3K2qeicC&KIdRsZ+{Baz3{LXeE zXO4H)Nwyce^>#gWc?k@6ji?O`7vY&4&KGV&3xN%`RSjxXXEJRWrXRIPvNd(q|ujz5j- znVzZQAB&%?d}!A%QQpwwxB9#Jx%(r3t@jU$emMC#%O@_Q^Az*&rpQOU#MJ?L-@5RB z{`<-s>y`CE&)pv~e|z#rwu^Hn^#bqo%D=d;5c%+%QvTze-~`V3qTl0v1l!HIbk(j) zp6mBm|K1vO?9@+WApW;64u~F59}-XHO@X7|Z%;t{ zo0W@N??vkE&OK=SQcJtKF01nY+Lp*q+;7`Y+zZ=@Tq!s3d!y;Z3(w@^zW5!1Q(yHA z_i^Mu>oVdCVL^|tP`E>FNtJapok$bZJsx}f97pqzBhlWUdVM`QX|)C0VO zHx&8cgZ$4Y-=N&$pD`G8;=alMo~hzLfF4_%q2ouhJ<{9ahc>#T6E5_$X~0iRX?;RYt{$-x+UoNJq%|c z<59i9dx6Rq@0GkE=){x0H6VUNrcVsN==FhfKJjw_xsPMJh+85*u?rjsI{sqz8}=US zP29nH(2;NJ!~Xxiz*#R|6OemB>J8!!$Oqoru%BA}f2~{-xBQOChaZOJVCO9IF!toW zp!1Haa?AYXcR8OH?-`ve<74JM_CF;kf7lPy3$$Zn{Jzz7hxNx!c6s3K$umknc6Z)g zz3{A{V_#mL0N4qY2kz;*en1~tPu8#MLE2a5o!%9u6HiOMguUtd%t{U1v#(aZzDgsZ(jH{e_vJaCzM0>i+eM_BaYa?fb^UF&il*i z6YON`lk_Ja4v3$-@`qpZu?)_5-x2gyf3kl$e=g&*esv}PZ?rz_6J8wou?s4nt^RM_ z7dZ2OJpu72xhx>|BF9&4_O13S@zyqH=-5L`zjXi8wgk%gnf$@8%z6@kR{7&Tw0x#N zloRX)t0Mozz$uOo&Ogey8(TJzp(7_(M>=ts3P0z*q<(;YQ_ztMzuRa&H552@LHU7Q z=V%7Uj-ou{r*=5fndk2fI`Z!KA})E*YqdXpF!Psl=bjXB<_h%>c6sZ=c(=cJ56HR!~bQ%;B%YW<1#bbHWq_gQ6} zPXEL9z*(mY8)N@dvjqPvE->JNDpU(1A z-*?4{AEvx;KhN=roxSjD(Yp&@M*qTjvN3(G{KP(YL#BM>%>E*7fa^p0``q|0>*(bH zxj$&XV;6IL;fJgq;Jji}CY|~7=71f0V?Md|vB25izA6E+r`!^d`AvSZ9=$XNyNx5WXu7b2gTzs3T`zCN6SKJ{+f$@)vVc&xj!K7ciiE(XS4;&iciE z;ayVo5aY6pgTXP&X;1!^^1ypzLy;eSUXAx(G#`GUD>8Ka5^jui_UG28)qnQpz_C}q zIw1bXjw8;8tA5>hYle<}X@5ZWHM zr(G}cYG_x=&>4^YrgxuK_&NL7t>Oz$ZwQE8vB<;Z;-SFV2S~5gK4-hQM=PCrElVWh zUn3oVU-^%{!}|10m3v{tO>jK2KV2L7xfi4yvQHhzV7xn0$@y!laq+er5_Hbn`U>pC zm-*6NflrJVe+}M=k^j7FvnNBxUhVHVKUN;lr_IREeHq6GaVmcy^5G|5=J%f-c(j$?_{>4^**E(A-2E5IIsOLQGP!>G-pxbOsmJC*|4NaokteMu za^!chkEpNkpBapN_~A4HrnwKd5)i%cP~eQqO76d6J@I>24`5$j75P%%S1gA(Bj(4B zt(>s#yeHC;fBU5|{Y%OP>%mnSI`@k92E@LqKIgnZImO@5dUpJ{JMlbgy^EC-)&+CV z_`CmEo`B4McV!@PTl_BP+>M~454INiquT>=URU&d*Aw?8CKjHUTzdj!MuoGJ^ z*4@r0?Rxi<{=WWg^%3z@q~fAf_DzL9 zb0dxm)+x#f=NYa$*}pr!a`*epkG;rx^bEdzPofm$qRRj5(hu{uRC?oO@*lltzqI=Q z>!HZce%|(QzwJm4eBp!2QSRQLyrD0)M?UV|s5f}O$@0^pmoAU|#BEfbc~`Hh|K@Fx zzw_QM^Rsm9JC#0NP+qYA*>3!-Y*%Y${QmeI<4(Q7{H|W*p55V~^L~oog>y>+#}9r} zz@E`hw=$4-A&N-fXgY~Wb#rRe4@qOix@qTOM!!K+g zU}O3v$8x~2^VA#cTa{Lh%Ze`#SHJ7C{`e1X@^{Uz%OCtOluzt_7X_WT(3X?> z&a(dadn+fbkCdO(H+xUyW4zlg_J7tFyI__7T=StP+M;?|2&bdKp@BByYN6t(85_I&Oa)KYk!N^BEO67t3$qmzI7Hn_N z=sUMXI`%O24F0Z`&pDU#4eNIKO`OO3BOmci?+%Eck8;62&3?oVyemN`UchjqGk@8S z^#9hNb8n^UuP4lppO4?;oN#C4XFsCcvVJXmK6!_FragIa8DG6!`=cD<(2fM;-iG#vA>*h}OGaUSg_>|HP6 ze;@0EKdk#`?#C-v)bFOq&pTJPi+yq7=hzF2{EnO=vTe5h0Pb2j$v7Xq&dm`V&z~~X-@OJeHdT~?W zwb|d@mI3TDEx%TKT>XQb+V9APe8B%ixyJ83CG-D`e8YZG^iFNH`Fp0yJH(vdH#7Md zA4e0A`@Hr$cDGvsXI@hO@Lrhmfj@+D+Zek@IcYSj`!e&_IDfP!Z6@#J5rZv?t4Zi1^1^PUz(*H{w2IU}L&ESDBssxxl%1RO&bX8}=XT zfor4>K3Dy~eSwvM6Ca|I-``grm=F3AWb8T0L(kM^`n^30a!1hHBPZ<_>?7+Uop&&mPvq8d$T^Gh(wP34iasI# zu`ej+jj<8i%lxSxWFAz0SPxbG@{l-jJBFfs{CuoWd-4q1&;I^ZL2r*V%-^{O#r=2n z4fmXspVT*bTjXnXeP&Gtvfex<92+U)f4;WRRyOKb?p zd%*Xlz(@YD$p6B(_XfQaCkOlX*1%aO$%oYU`}R9_sH=kxv>xnx9!}tmu|Ihz=)_4Y z`fC1>G9E|!TyJ0}v>)kr`-O8|Br$WtABVGM!Cg)uAEc<7e@Ku%?u>YgX50# zlxqU7)vi?jnOD?5>_5u5=o@oMUQvOevR2dqE- zwu6zM`?uA4X@9}hb7PT^D6c}EgB_NCi%fZmh! zfXpN719I>CiGZAs?o2?|9oDO7^xck^j$bJH*>O2BaN84^e8j2Voq)90erk*zyf5hN zgDi)Ba2!Q^te`XgtKS#G%TOX8{$7;}pk z{rTV4|Kt}ehjnu`k3P08Qw(-S+l3$0rUcGDNcpVIR&jRvA60&6_w|vV@oc{kug-j( zd5?D#iyTg`-x&EAcl}8?uUv6o&iWDW^Jvf~#^0;HLN6CRweYn3!w;tLXXeGu7sPK@ zFHH;|eaaq75Y9e<^h^A-E_#X%>2XEOt_d)R*X++XmnM*=dxSWoOnhY~pJP5Y7aiR()G^Nt6d z^+Gdn?gcr%hzoL83VhKwtbc3fPV3LSzcJ|Om!hv0K3Uqk@CM}+{j?*K%(_DP;e5w_ znYFdKg+y1^HKX3JGpuQ`MEjrbN^;fK>V{TAATRm;!DlX z`d2#h`;THgG{&whdTHSc>LvUD?uz`3JLRr5{|e;?d6ECvcP>t(qkoj=@EggXjIU(@ zdB^4+@xJAbTfT3*@rykwebL*SiF|QCBXIobV5-9$;Hv}Y3n0)JuFY?Q8-p9QoNBZb>@|ksn^1yrD zjyvwjJ06*L{4VDo${XwJ>!V!!c^(#aomcT^{>H%Z$C3Z7u74?fShRgbhR*#S`I+W! zel&1$+TZxw$PeCiD*fC0rfreV`vwETk@EgB`{vCFI_K2;0}|iK?{ZEn-{{W^GIZi2 z9}9^8m*sQsS$?oTwq1;et%-E>_A=qvuiB5?54PSBH$CX+d+Uk)a9iN$8RZT+E#r6g z0|yFymHMYW((^&`2K&O7qW%wPP!Z7=7fR}}m&OaBgzZ4R7%zas(pvhu(_>beXzG4Qv?6OeVg>z2Im zmv;u8^P{~%XFvEz;M@l<_3d6+_*uR4fYN=UqO(%RZr$Gx}GL1)X*~ z?idIC3A{b>)Ds!l82gg^WZh_aJyQ=>`sZ5vi~X1VOB@XO@RRlVY~QZ{6i^yl!_2O_=Ee2M($zJ`2ikDPcs=-l&DZ+H9^8q;MTK|H-%66xIAyC)!aA@vpa z8Pr#t+YAMr`#YA;xluEN6Zi7o1Z+Wev8mS&Mn2ZX>jQG%(*9*1Q_26v!$HSxDj#V7 zwI$!*%TMm5KA1^opZl7i6DNOPz|>dPz4#M29`VOfue9ss{WZ>eh9Vz!d*usz@Vyz7 z`TOR8l()RVXW1^~*>-XsHxP9Ed#z`y>xBJBJn*3eJ$IM5cFb>nFV>&I5A1YBzs9OsP=D4*f3v(RcZ~`foa3I1ecD zHF~J@$D$soZ{GT+zPH=&_-||qI{r8(0&-uW@NNFA0~wrq(^n?|>t(g~B z?cIGz;5}3Q))V<#894VQ?o2@9HOo)t$8&?udx@6My4G>U`sz^78Bg-9XY`Rr0>=(t z4~SjY@sj$sA1(Nsh7xq{pE;hmpVSCC_C)jZeZQN#zgGICe(&l?uhq(VDd*$znf0o2 zO}m{}Tk~I$PJAfKW4=&6dj>!KSp1&&>_Z8NpPq8ge#mwqhlS7cXYS0Tw?{_&F5|*^ zKm0XtSfCl`{a8fo%n!`ch+gj zIri5|f2?tQao(~olaKRF^COq#yIq%D8Fb=u-=6^N^NRcpzFj`>ylgJKoWQ_8;p+^;TN+PURVSJ0p>g_{pmS z@@~6y{0hw1sVDlo$luiKcSJtc2lar&yD0MC^`ougC*NYf^A5|2OgembJP`lG`sb4+ zz5({Mu1M!zu(7_o{ooeRm3a*VJ~@$oJ^{%An&f zYX5S-MY&9U?>-WA-o;R!i7Vvym`4Un{;%7=#AQ})@Q3j`++Q2b{EoO_$`^LR;mD7E zkd9qwQ>3@+m){$7{3#v|oOc3-0&-rUzT(_XeaAgJ$1ic8oCi6#Y(_rTtMV87el;%2 z{Xx!;>~H)*ZcmYKevRc25AmpY|7UDhTJ)dQJn|0voA+N&L^|u5qZx=FYcn8vr9T0Y zoBe@fZz=NA{Q7x;w`L~Qd*PoU-e2xbv;I|n*bgiZdg^=mqe=MON*>Pa3w&by*Q`JL zxw~?t&;9j*fSkivuZi)`J`y@T}Akhp2qll_zO$2i&=bo|DP{+T(hp3L2+TONKUk3~9mkj)9myt+Pc&WY?7?uXqR zbl!ioUpQ~R$Ml)e?Lo)ycPJqCSIcMLYd<%}{=xjjeJbCbuV0@d-}Ks|_nLPpm)OG{ z_pE33MLEQ;tMupDr5-cKuMB$6)VdQHNWX6ii2kuZX}9%3zp6Lbmv2g>vp;rROboyF zmcZGc_GDmQNa{V-Y052j59OKoX^v~`{*Eikb-WPI&+_pnxF&v&T>r~6K;l*17dUYk zEB@M@2vP|3G4$^=lEUtvpn)+ zuPyS~_w&}1dR&>IbAQY6)fjuW{m8zp^zTAV{f7Ok@MrQZH%ET_td<5OPLB1*f6RK~ zU#1-5rzjmgzAo}{&)fQQue|EVrH2!A^!0fK_8iOL)MtO-@M%@RIA_Q}?CQ!He%(h3 z{TGx^?5cj3eTMzOxxtah&-%X^`H0V6^w0R2ju+M$$_wXA@~3C?LuI_o*Eh%Scn3%R z;7_a`J9t@>gMly%KY4yG#~3q`>!_pPUV*Q#P8vsE&n_32(?G< zaNOemUG>vhwu|_c@(umJA@N<-eU?KU`lIo^PTbLnfm2eXb8oSkf%px`U)IkrNZ@I% zM?Hog`&E&Sp3x50Gx#@!KXYfV3Oahdm4NIQi`-W6zj#lo@S$s)b}`}{G&9+HrmotU zfZVIKeCD;Sfnz6b1jOH@(_Ys-tn=+p>iuYreDn1c0l7b}T(!Es^myRNvwY=zZ(jm$ z&A&i8>-o)*o)@xw$|oPSA6Y+Ca`LmvQOC}Mz1{k8k9kM@t}%VmdUBs@dje;lQ|W{6 ztGCg6>w@0#CvDeTk7e+P?-_LbK-UJ2ea!Jl{%wW+9Q%cPkoQD7=X%namxdx8e|6=Y zepW7G-4k@)vF+%wGc!1TsM7hx9`UKyt5Ic@{ha;W&RzC3G?>!TE_0AXPQMV;1IHpAyT+)2<)z&kg{7vNtJwFiX z_-oiN-1{^?{+~k$de77cq!Wit`D8w{-x)W9InqaeY(3c*Sa1A%Zw&gxaM3^HP@W+< z4zO$aUDnOYAATEaB0uX4#}WVAmcU!{|7`!_U*~rz=a!(;Zux=zSv|wMj`D+e6BR$d zBprL8?TUKG@7T{4{WJO^^$&5l_XVA}?)D4&J@pLs?ZrXoy`5tjfPF=I>lu7^;q&Yo z^)378b0Qs%Ul$O+=2Fku&4VeZbGNFOxCgIZV!a~YNII*eFS{dyu+Nb%oWofET5U_w zOCu|8j(pt1a~%C7PFn8+EBsymqRS(lc}u?GPa~i4`&k=w_7T!KXS82fClxsz`SPJ0 z>0MLm0pdnV$KK-j#U5*Z{F0Ot-lMl1*1a2|+=%BAko&~e6aG~FSl)%m3ls8zak?s# zkN6_{Q^2lm$|v@Y>jGz=wKM~XV`}-tY z$cGWq;w>mYyhC|7@jLc``{MWb zTOJj%{!Zc_8w|WXdB%o-yuYaY=Y?+%1jR%9?Gx*lRkFKxF zAI^&_zWlNM)$0EfzsEj$Z~TsSEK5MvSNk)N^N@{!6MxEm8Sm2-{wzGt_Oed2A6fs( zPxP&F+^)at!T25bbc;N6ue>H(&U)pD`$>*R?D*AN-`Oi7!M)S{n`#ARl_!R?*p5KxbcYFd%Ws)Emq{tF!oL9lyMnt6bqH)))EESJy{6V@&wQZVGw&SncQbRAPyB__p2=?yT29|R zwu}9i{ls~aPkLve%AIkc2FTnh)>rCfd&T`n7N~h&lCw_-N+E75wLxwXj z-dzctchV0BWIW4%&cE!J_QAdWm(A;~M#~z1Wv62l=jNeox#{^$hXKP6W=m zsq(JECsP72u8(CPc60So&*1O--CC{q^>L2; z%1DpWxsQ-TKe_m zca*nQ*Dono#7kKfzrzngK4JG!zoA!lCFuCQNatR{k;un9UhvTms88Zu=tBS4`eb@} z7aM<(N)MEGGKkC9jP!|tj~vZF=9LuzX_xXyKRX}cFZH?voqg!yNUzPl{@#GxA1mvw z-W#iSKh!Cw8gJ(pIU3*UcN^1JD&LLiADE83I9|}3^+b6czm(Se4*5yEHv5l#W8qK# zHv+M=D}R{xcLp6l zXUpN;LgkEePy3T`SM*iaT?0At&E0x)5?*b;9;(R!Lg&R3_9n0*94Azzf+&hK~HmEJsJ?Z#EA^xoTAjTdx!nou7BC} z688;vL^}Ta$|2_q50v~L-xLu0fclDik?Je#g0}}9|24}&pQ;}?Ph4N}zau5mk%Qxb zW4D!#y|;XKa%0u5$=*n39r3z=op@Z>YwZu-v9Y}oC#x98C~*9j z)MLo6^xEva^)q-TmaN6CXh=RVPJ24FX~pEzGDdaP?pk>~O6tCxrqCOyr)S~~pN8o%oq z-7o*~+k7x^>{jNl)qYFzyJsyi9@K^$89ig1_Ufhs) z*JpMIWWJWpe6lKo;V(3jfY_7lU+yVx3_5mT^K%d7MBu!$TFJ+c)nm*<>Z8s*ee{NO z;w0KHlvDUU@FC?hEjmkjyI$h*Gq2k&-uadfoXc-be24vo{nD;qS@Ms3cyrKev+F87 zc9-?Uf1>cM*<71R#t+PXM}Af%aL%t%&^fm(e3fO zmjB!nkUzwQupiT++pH(|UX`DTfi=n}=PmMq`w`b?%4Hs@zWc!<&$Y$&FZ)9Km-kyM z{dukRX-|Icc+`jU9oKae1E<`QLD5%!A3vYF1Lu6@>VS>rFFJnPlh-Q`tXIznI{Nbb zfD_~YWdE{1Se=4CGkQzFcKvPglk-x?dDszyjz7k+4D6g|x9in;U;l;bG4A0hhm_=e z+p#BOryENA4m+9cLarXo;G8?#|J+BsJJNdwzb~Ej`SwUBE}ncwZq&ofd+IUP&6dOa z6XMw2E{pucH^@a~HO4+}{job1eh!aXFXDS0it@0N z4`(3fGCv;>KaA49wZA+RIB|MQ{pWtwddB;vLFfG)>&ZO-XaeW`imHFhIZeb94LbKJ z&5wPl$l>sv_XQolJmofeI!C^)Uok)a_{uHw-CpyZ{2%G@?oQ;xuIM;wj6GS>yN{}u zke{j_{>paYS1lj-Qa#GyUEd?Z`G2>6na|e*P8{gckAuZ85j}ik(D4&nm4V!obiA;x zbA82p(jRozbGD1`T$jKZpBn=HB);+3komFGyPj#y?6y9vFUvStc%J>sxw`EoerTl! z-e3B6>@xKj_imJno~h!e2b2zf3O@&~xHrCwzl!|fp2vX<&ixVjmKR#qv(bENRnVE= zu1rAQpK=^ww_F-@+H-kvYE*>$ep_ zCys~fG1jG<15bVB-AvxQw;bs58GqLzx7|yte*e`Cnf&$hV$emDIm>Lccb!|}V^J^pZ^ z@3b6#XFB#7>%%^{jO&r|zE*3#<9GU<-Ttn*{_ZFTKVjvWb?mmF1fcn__}#n|($5AspT+g{s&f4F*pd)C&IbzPC`>iz}x4*3@E zX~lPmw^#aQ>Tm3K?8h79yZK~WKKD$O^CRpYHwGQKb=>ugzV3M7=+mJDY)r4WKRfFU z{6|)1=*-);7eA9n1BXBM*TnFt`x7{RP1X-TJ@rdI`Az$)U4O#-th1IzKKw}>FP(h{ z{{9<-&N-FimAEmbT?^kdKl9bKnRMc=sUNVM`a!`<-!CefQoXFVhd%@7Rx}v;TFxGtbIT-V?H)ut)8W z@8Hk5D*=(iqQ|OpN!n#Qc*n}`($Y1NpY_P{fVJBHRt}io3m;})zB@r}_3xCQjO!&i z@ap~w=Y5qNenGv&y3GD(AK|)-bEr-6`-$;=$AklaW;yKJ)&lr%h zkK>WfzH21#cD<__UxyAB`qT1(b6NE;eAy~}q|~2z#qaW7cvb!-MP6sFu>Hhmbv$yO zcreQ6zEm|H=PwML`NnaC-CsVS#~nw+eXsiE!tTh&{^^AY*y{S~iNNu@QlI0$voq-U z<2b%J54GOdCF?=Q-}P7q63=2V0n*&>Sx@3D75&z{Kz?GEGrc|XF56GsIs1e6vhIlA z@h-gbj2}eN1GRTKep~&;UmE_{zu3dnd+m`UMg9ja-In=1{xwy-9vKXrabMcscTO`! zdVTt(0onI$&%oH<*<(4 zmx1A*Al|jA$p1jGS1@nw2s-P?BIlEDke}GQ{XXmB1Cib{`gXs^d~jU`=beBftp zhF+_^OFpn(P!CTGpC&(hrrv3LiSMy3k&Af3L&DMf9q-udZ_Utox9&vHi4$yn7!R8= zXqAM4V{MLwn zH%AMC@0ua>+yTW?XiHh+2M>OIVZm(1M%nH5jf|tjw9YRwmzKSog3+# zPwk9!;!7L}yz}lJ{MZ=bU&hr1iFEwd)NjOxvs~;>u9Ju#q@4fsKGC@CW&E4J^G+D|2K^3kh$_AD zKF2TnVB5?3Q9j_0uKY*b#>{7luPq;tFY{yHx;yBcv#9s@e(B%&Gp`7G-0Mh@K3(EE zq(zgZf9mhLKj@raT0Zlg{N(&nIYiGN&!m%MV?e%VJ-LTi$@#3~6aOpe#CMjT$lJ2W z&wZnV3D}q}_bIqvur27U1NTZFEB=s_zbf$5_uRt)C&vF>Il*t|?7&%{*k0tr_Htiz zrF7my$)w{K_&`AHRO$uJkuD9q)&DDw7tZt4dz`b~n9O%tE7IGOXE=_K-wOiA|LH_P z>=NoX?#oyo-fOYF-2d91NXL)KeuQ6^&;0=P8~Vw9XI_&3vlZ0N8Vz)u-CpW@^hb3KGbUW$_MthYjc#- z|Ec4V&igaAm-~LV2OYm$`c~ZzY>XrI5`6c&?CaH=*xCF( z@uH8KZ)QRLhMl6w;lLy6H|&J#66G+?EQfbO%J`X_knh+h50&)4QEpk6yMJN5>Gpbp1g1s!=(?}Z<6q%;1PB_Q+VxfwuwYWs`(OKTH2 z?=%)Z&wSr;f&Fe<&{;?Nea^v3efpktONQQ!o*v)?arTg5$r6V|iQ z{FCF6PJZ`I%)6TsIQl_-g8%l)z&mzL&NY-j{D(FMJ^U&H5+~XAvJO@svTl+;#BWx9 zm=~0P{4I}}e|EO?%h;v^nP0QcbX|~7zQz7!o{>L|>2GZ=`9D#~^Xb)hw^}~_GV%wx zTpjs1-&EePJ31cQlNUN3Irmy+I`6h+@^N3le7pmu++q*3{?uFfAYPO5-k5&Be29LD z-(x4J3;Pe+@16HWi1%xKI6o+I-Zix@^0Dr=9OebT%f48gINW}>)wQLJm#OFO%H)r@ z5jTN8MUkARFD`HjD>?ZOV!%+Qh3zkLRXJwf@wK3mDvlI;mP>tp2{ z{~7tudl>Q`{cgK?x5Dqyj-@%u>F?OFFKUVt7c?OD@?{B_7ivWh&%IyysMW4leuyXV zKqj4a$mJ#9&Gskra2YRSBX>r6TJ+34k>0tV%X$3b!0{&?7S5D+G}@D&EcKeZ;J%~~)ibncDIH)<$9SqH97P*dMI4`*Pb`IP#Eb;1RKV<%Ss zVDEChG%?&;zT02!zjJS+$kU>Soxg~yVSTt4xjlZ*eOCLCb1Un^I-}yx)9=eP>DF154!x_l(WY z`Od~jpBOl0a{{7&4hN3E=*qykr?4U*_B!Q>{j>T9`@oT)qu(s2a~>V>O@hw(z_ASE zoh|hq@%F3sK3({~=)09%m-jO{x3?V5cjW{7Yx#*^O6iy05`P?hyfezj-c#goWW}xV z9rW8xK}Q}P=bSHBa{01DL7y1kA^)k_cv6tnfiC@kKWxII5n^z8e^BpPv-sQL1#Z*^v(P~6~6U;&hdyJ zz4HtAPn1XWUT@@Qed4&|ea9;QhxZ2^yVVN=V(*t9KY8b9{?cs;I`Px}F7wVY^NoGV zdZoF8J4`?MkA9EyNA(+iwflq4eZXqn^MN(xcVAU*@pIf0IP3H+3BW$?KtSxr$8+H9 z;{sBieC2$z$jS8A)|3N3tuSnMfa%sjd;@bBkwiXzvz>VnR4(qD)LZ!gL002tm1#M z<5e^Bocf49gpapoc)ekXfU!0uCD z894iP%jbMzAn3I36#;9tV0l(}*Z~jU>==igge(Bq@EAXGZ>(hUc{m43~=&>qJ7jaG0Go5!F z&?m|X^W^FAd+e9$G3KK)183c#9>5RO{z4zQ4#eNMo=C^uayatgceyeFXs_!d_J7I^ zaqt|!?5EUM?6Z|0^ttuO3tiITe<^=v;igPEtebXNUVrsY)70B-FLLNOYEM4fc46nb zH1hEtukCF#e^6UYzOnfRgs_bbmxoCy&J||Gw96U-2vI($Pf0D>S6A) z$zSZ2CsL$O|A&0zUeaxmA3MYDpic~My>y>t1`dr|U-dpC}2NH# z^HS-jtBjtA~cT*-G z@m{2}Uugu6pUB>ToEPm#z*t`g&i-y`K>Yhs0`?4kpzvXG@j%c!`zF5ZxWoQ#d$0#r z?Vhuq=&KteKYC92ZA@=cZixqNxt;c+ukMU|*f->7t@n9H5;*%Xzsoww@>^XmJR0=4 z=beGfBg!ZCLFK$P^C9Wjjn_wdd!%K*G@6S_yXMbaoS-B3>LU3uU;mP30!7X5|&$8zwOvt7u^p7=fE+wsJ{=12x--Rk(qt}`6z=s)!s z=M!rJ=iY_i!T(e~u}#{9zv^KUjCG2Uw5Q6Li)^jz{87`(5VCRT(Z{iLP3DIW z|F9%}*W6U(t^U0t&jWv6^v(36MZXQ7WjXZUT=Y9}OZO!Jb}Qu^JDdH5|6ciS_b>Z< z`e8|qe3MrnjQkS=58IEd54Q#Vr{^gT-7nsIuI=l*f69H4GJfZ-y(&fi+RN-m#;fHZ zhx1W?;+-j<#EWyhu&=o+L*{;vbmAD7b^g?QHznxUd+jggALSYQjCzxCd~y7)HFKKv z!4F_r0%u)*SwQZWn;$#cvkQLajRC2z{p-zQV31fAF7FZkRtDrxU~Xsjsk8 zZqJc_;d@8pcgRU2aKcc?KlT$l5*TsG{4Q~?QU*s(`h$+&gY6~Xil8&@Y+pY4IpvN0 z`VEnfxUtG1>uURv^O4do^>1#D^w!Kj4`(3b!Thw(@yok&$^+|w6_JngPRB*(eQo9& z^%8nZI{O04$4^!{#IHwr=6qgx<{W%md?)-)qCD)^Rl7d5IB@I=$`A8bhi_XlWa4OV zNkHtQ))W6d`GOzK{-95cm;0yG`#FJk-j{1kU#nhf_5YutptC=A++Yu~KArobt^Ve4 zq^G{mK9GUvnX;}p& z=Y4Af=UsZ`i1SV55P5O@qkmqUNatM5@rxZve#X6(ptF9H|JWP+9_yTSIq2iJ+iuRA zPXvw~{HlQH=}ig9INcvO>)5q{^NZ3i!}~0sILzil->I+C+>^&Lx!50U42YdieMr1P z`yD%j<+08_l1L}MwBrSRb#dVMlT~~;rS!}2`9nQA8>ZMlySF3WG z&yRH0Csp}(+rRi*rl6z0)rX8n=Rsh_$4^`o>BMuXzWaY2Uyv?M{NdeD#|v`x_%q^woci`ATo!5vb zul%>`-#!s^>>byd-aUF%0%x68+SUK$iVQ}*&PhPz=8nLzuPzSQx$lVGq{u_}%Igy3 z_TZL~WDfyEYeMNa-KWKeew^j6S zNXIY2^3gB#D4%mZ<$^f#@(26r)}XWBEBWVMQt{_|S0w1fu~B|_cdY28`T_IfZ&;6X z;(eC-Oz)Im+(S~&<3AwZ@V7BeIQqkM?wQ*z=1toV?l|SXkot#x;Xss&9(W)0yd^UuN-2}xHa(3`k(xc$DiCU7&t}! zlll&+e~53;jQs374irA=W<7Y{S)6p+ zOPp%UC$5J5gdfw2$WQwYXJDMOCt=wiVQ*C)Qs3Y0%R%R!TLR!`pgf?T7YEM1RyynA z(l5j3J8tkF*=zcA=U(lqTLZ@qQ{-pvN%ar*6#0ywXsKu4HTEO+iY=M^oEL71-{B`R z5_o&^4UR|r4lJiJ_7dr=#~eq*ohkE9-+L{Gedx>Mcid~T{GP!-I&L}j>4AXwn@Deu zoKekp{ToxzD?26YO3TO3V|mb#!|MaGUn=8bq^moFqgU)V_^AG2-gr&q!+vDH6CbtW zXJ6HSzu~yRk3fBnJ#bSg=eLf=@34={NBY(Fa*wAPFaPN{!p?I=_?;P)_v4gj>|pAj_T-lz4m#s{bHLDp35fqf zGXsgId|5#56I*}m`d0;xK3J8cZ?T-txQ5@WGIZ{ptA9AJYX;7}zuN;6kG}A8>bqqe zjeJ6}|S{_!KT zJkCGtcj5@ifAsUGpNahQm)Z{O$IT4RdfV~H_;Y;mj=A|ealh%u!f)Q^iTuo~>Mh>0 zJ(9q&TUX=jbC(9*p8Pr6i=9$E!}(exLnl7fPy%8HwtV~pZVsHdnd%4PM#vZT1IsdW z&S~Xmt#-5h#XfOs(DB1i&e13CcZj2D`8}hL4JFdKr{*~2T=La{hkvASda#wj;lnur zi7Qd`%xKw%q6gLn9ec0e#lKp8f?ZL4fnBI4(s`HtzJSahDFLw)-Vm@h`wIEMzT#CG zly%d}fPBYsfqiBmNk8+ZfYevH<-4yC=l#ck_?^oi&Udy3&N_R4K;p$!R=&bWE4M?1~O$kUm zeDwzQ?LP6Y&)Z+D*N!`7Qb0?t_(VH zeGe7*>LRzzZJRT6{0-F`oP#On=zZk_`}(rT&ph_8&j7hsWBquS%>2v)M>1smjGYHr zcNY1azkOfOS+^btnC3n%-|$PZeDtlbvmYn^y?mq|w?%&DZS@}aHq=v`Z>6BKzuA{e zzi&8j&Mj^X9Dkg>0pY9VvOX;QocqCLL2ooitS9YxP6lV)u{r^{SJccv#^ZGfh@R;W z$UAhF&pjT;-Ng9+8wxu2AJuQ{f7LU!-U-{q__u%2+ZRPX);sc_{h4xw92WWSI-#6Q z47}Wa#||Ywc^9R~?R;-3cXqN`&paYO@jtb{xTj-(F|VsPhy&fqe2;a!{A0gT$>9d& z1iy^aqdxfanxFHalE2w}dHk-UXLyhJc;M`#)&%5!nes;5D)kI@Ro5-Z!P}OY{&$`A z#?l1Nye;2a^QWt4;KOAZI`+#O0!|EkTK-^PU6#P{d$Hd*e^t*wdU??CbGDwu9kIW- zKfXEW69Z*kH!=L@WgPX7Y{}5^t2mPQiyxqTV;`dYV7D3!dad^hwu}AOl^L|-e^l$e zu(Wq}xqL=WuSulyUghnP5Ba#Jz~9}Jz}e3@9{KMDfg_*x7yG$mIq>mufZ}pdV zEx4C#zsEg?Ou4*6DIZuzmvJ%EKa`+zF5>!!bDaA#80)uH2^jBM1#FLe@}UgGuTOa< zo~`4Zb+qFbJ$b$93*Wpxk&pfRhQJyB$^-VcO8-1yyRak6|B3N3Uhqp%|FGUs|I~UP zmp}A#rGM58MR~kaWc`U_YCW*O3*zS?BY8Dw)(#=|A~KOzc+~KQPqFSc5%LCzcb#>jC}0Zh6A>`K5so~pY0+phV5m4cr=sFxZV=^u-i#z zJ-au9BF9St;t#Yx0oj+?U+h~q1sy-Xvc5g}^aFu2U)&s!_zFe;^pL1RXu6o+iGV?PWdu%E*trTo;h_ zMu#px@l$a9gP)l7B+G?~Klod!XNV)G{J@W`LFc{iYMuE?%fau&e(b#4f9!!9=Xpi-$J(p#0_DPpXpS!ZOYrd|Y>DYHU|5mQBk6#q|Sc4^-0J6 z-mb5Zp606a_px8Hf6-@tw^qBn@Mrjk@`3fd`P=n>Jf0~JzYhC@@u{3}zsLN{YnH>k zW%W#Z^6?^X)qQi;tJa@$fud)I|Gv^QYt;{|C+>^#f9fA~mi1xZARpk5a>h8iE0K@= zf_etMq?|BLEreZgX*Vte9Av~BVmN;P6hkcg(NsGRy-a!A=BOU)q z%WpK#E9;HHu^&7GopIs3fZy`Nk&pFZZ$Rcj`-^j4>(4qyJwyDlqL;=`QQolkZ%kx| z-%A4$-_`u+!>+(tU-e}m_dSmXq@1e~ka@%WtjF&UI_u9@1wH&b0=Bv?Dtwsyw(}SM zCF&X8C$fC(AX_r|u;a^T07pCm`o|(&_gl8H{sh z>w|yo!NA$iULKHppMIZv=E@c8oEHSWK@YzW)5l&|>5b<*PT5zlNu=}cv-H-?zxiG48%3Yg^43W2+;d}o z?a$!oSLqYu{nnrLOg-rMui1~prIgM-(ej9^U_auIW52T={<#$8j67SuF;6OQ#1D7< z!1?fg)9Zg~IowOx8aV3@+Z%r685}#W@`=8YZ|vLD8?0ySckFdVerkjE7vpMU{H`|p z0qezsc%FSefSk1h#1_ivjCm>0Gbz0v#Sl|d)o!>*vW`v0NO zXPW`(J zJ;1wo6@Mme@5I0_Navk|X5_>Fq8^a>O8#LVH9zvNp5eZU^A!Gg(pi7s6!|$%aXm9J zzEV2tFYC*_v5G(E9E*I+v!@70PRa-L>Ft5DzEi)YMZaUaCdN;fKlp_@pE0i&{m}K4 z{AZtVP5h2HX7a5QR|T-KL;mnyvw9=OX^wou=UYyiyGuC< zzlWd`-^={1`8TTv@C(|IpkrTL60mcBiha<_0>>_LeW5?4T+y$u3LJkH<*G4O-uY#H z?)<@fp6WN&DSnstxwd5TW3M?JzvKKsK5`D(2s(Zu@*h6SPsWY?!n);}L~^TZS*d^j zr=+9r?Ptzw4rbD^gIySq^?VuE^QYYvIP+H-*Hhovn85M-tmNcX*9MLs^l(7VFC4#| zM_n2?c6!GJawna0IOV4{d%t|+T*CUmhaWvde(aO#XWHrb?fADdk2=2-??yWQ7s?g; z=Q7@j|CHnR-TQ1m_iu`v44+xbA3JX#(mU%hb-t~ux18u{6G z7I_%{p?u~(-KwCYzY2Z)c-5}2t_?c&xh)CEyR(jKI8gd`viNThKT-Lt)xNne@^gN6 zIP$aabbPXoGo5$wtUrDX@(Vk@>F~4YrTWX7Ieymr$IAoax3VVzxu<4-VQ*O;IOEju zi#+YmrhjZ>K=jj^6tMq44h7CWKz&7gE9;XN&QN|>-}Xd$&uG!ZjQ0cPufOBgfSq{V ztjn!8`tz!w6Gzed<41FU;Bo&~IIzb4g|Ch~>;^AQq@&kt7w-)@?pT+;Ch{XMMgGTk z*pKwP`kZ}~bo}0noOi#+_FzwP{w4m4`8lt5T;pGJwciLMn2X-eF538IPOwkxkpKg;|{x6J(1p?to#Ybzj$Tf#Pf07F%K$- z=+8ds+_wqHIg#~8?^NUNFVw5;`ghDvmi7|M6@J5s>Ob1jGR z)t{VWZVx(fobS#+?(JG{{0QxL{PX1lde8Q<{_?x{L){noSr<9(I{QBCyblDOcZ9YJ zr(R#pzvZ1k`~?Q2k4`%7h_8P*aP+X_j(2mnC2-=B?Fc&h{OrJ4N7!HZ={tUYdT;wb z4@WxRE90tq?-7053_AYAn{uR&Zr&4+bx8Sc_Z5z#IFAlG_MANl(AfuJUtAtIew&Uv z?9JxKpH%)&4F9l_)5{%qtV>pB@^i1&`fzSj91df0JCd}`%9cfb7J_&w`+{pwpYA3c=7iPKf&bNV6sw`a7h ztMkbT>%%$7>d1$kU}=GK(wQGG4xD{}^xS>B{fivGpwNr|Dt0vMgC6_&On&?>o$u1z zOYBF+yZuM}<r&}N7ZFA)39=hYJF*c+N`t7p7k$2^R^E>Ip ziB+%S7cD>WN3Hnwwu>_Pxu@*-BJP~yi~AC<3p)HP{n%gD`KL#^KV8M|lzp6X$hy++G9So)^wP2v<|sprTR`HB6zjPHRt^N0N*k)QQ%)nDg3j<_$pH_BmscO=rW-#C8oA5cz_ zgPlQV{NIv+=x4_}{N5Av&bt+i>jClc|K&JhK2-jh{~Sm7SKbuq_#qw20cW;a&-Tc$ z-<=rVUG>Y@CFYwi@rv0WSq|?&`F++c)`vLx)-UWiQ6BZ#7r*0OWakUYUlDZH-8+Kb z9;rEw&@<02__1XHd!~wgl708q49M_=@Cjw`kx+!3*zszfC(I=D>CFW9m71fBgzGazxW z4<`WUN6I1b%7v_Fl{fZNw`J0iE5|SM$@w+sFs}r3Vw~ojByk)%TwPXWyipwB|pp9J2qc>i?8-!o81by!^KHZ%;Ptms)Rm zuLQoVi*k``^*8(PV_E#dbEQ}DLWpO4PtfWAu7JExTJ&fC+2%(M%XnGzjqQnK_IJt& zEn1zyv5PwHu(z0>^Vh0>-?lvR6TeIT(7(zp`gC*9@vnEhaNd2n`I_4{N?({(p0Q)} z1&(|Tm-Mq8FPuXuhxozDhju+H=N&&R_KDIv{`}bCpBKMpUUj_iWy@#$FUipHcelTY zmuorr+pG^d-zjo9H)4D7uP}cnP7Zp*ae@%Pyu5PlZ9UpS+g!E3YC{%H0b<&8K= zLhK}#gFU*)fBovR4jA~p@=sj!+x>m@?mY8FncrtlJs5QAY5yWemebMy$WvcQ-!FgA z)5V!vGxIQt*@!+mk-#3@qV*jHFS_Ym!O z?AWU#KkGQ^H6qI_F#RpZGbJ)3Muguczp-@sC;#{CEE98GQTg ziJx&Us(i8^ToO31cD40qUt)baem?9=)!U8c ze<`1gt4}>cIo!`Ia@F;tJy9-xCqm+ftG8>j*D05*hlFuXoXExdvXvZ8*e}F4-4t}< z7AS|zcgi9A1NneG%yO|`T$Ra(9PEqyoZH)8%HJGx&Yia>0OLiuVqQB{eELVWt6l$7 z^(yNV`wPER`M^F>I(Aa~i~Dw#kDiwQ!M7*}yWM5NlVx9t-u~w$&`BRC>CY?j-#hqY z`7{6j_6Hq5VfzdHuAZS@W!*BfyU?cwR^`Z7TU_Sr(LUF2*axmjQ1N^7`}|Hi`^T%K z*H^nPO?}sudX9WpJ;^@H_Oi}Z4`2^-d=W?BVEm4CM46W-H?GUz*u!=Noq5gtth#NSVO#$Rzyl*9NG@=j1CZ?`FDwc6?ed%t7-vEL|f z@$O#y4hh+u0?fWuc>`Auu)lLWqE9WCbBpUT+2UM00o#)$4g>4M%|XXMyB>7Tca%5g zoeKhIzaand)0R%ZJ0ExAKw{sjSd-9%me!9_4X9BmWui&&r_8 zORE!*cRG|e_^Z67xtaYz#}CW=*a594=~ou|71B9JPMLh1Ppl7mquE{b9(JC<={Ng@ zID5(i=hoJf^;eOru3s$WPY%B+x7s-U-K-dx6e_k-qVUb-Ua%rBK3 zmbl-{7dIs6talFxr`MPLMc21hW$5fDl^@o%y938BXl+2^30P11$#KCsnR3g1;xfIu%1<4@q6Wj zaiyGL7g=Hc$`5K{{L{`y_o&h|4HSLcD*KW;s+@wjAQ$S zxXGI{^iI4o?l~6v*i7N)z$qKzcldMO8TqKmrHQ}vi~Y!Xi2cqvzxlD_+Aqwnmc#tr zlgZCK<~%}NTk|u|$v4h_l@siQ=4U>?DDtzuv%Ni2Z&l7a?<)|uw8%;Gh;qWYY0+=> z50?6jf5?8M2>Hf+j#8iLsXL-v{0FTk>pta{`zFc>>&|DTNMBfNIrvK|Cyb}P@jK#> zS`Pd3TLQ<?H{*^Nw=D`J4HPOJqM1&#xKjtkabT{LIvM=+U1GIyESK zW&@rB?fvpV0uaB#@|j=$J-&eY z{4V;yaf*D|Uh4mqXUL8prsd>?$K?;CSEit2Hx!PXdtV0Ud}>KR&Ryhl+y<;CB z92gT=ZO$j>hBo;o`K50L)@4qS18)GBN1Mk~b@=)xP#ADhMzvEor{EU+;B0u(R z<)L$a$~aRV@b57{=i1hXeOZ6x$8M$GBfXOIcP&oP>38|SI}XYN^Xt~g&;G~uVyCR+ z;aS$RWA|fyEge3*&~lm|SI*n@5AKiObAO~6uszwZKJCc~arBY>%e}UpiFEdz%0uTI z1iORs!#=a0dAPthMcD z?z=lrv2IV9{H*sXe!kFt#LsP`^ts=ZZ}d+`u3i&#{08M4_S4euGYeM+9X|xeL3{H5 z6LltVa#dCSe~JsXBO_Xa!f0CpiY<#^Ap%lxi9m&&A|a4aB$ZB52@sMBkgW;H%Ti6) zY*w}1rp9vAakLfJc0sQ-D(ch-DA+C_)#5fbDxU(jAP4!4^v*Tc;BRgbK<&yA2# zF3k(reJ!;-e5419I~K^Z&T2$b<~7wLabGVBc3ljUD18GBKpbglArpMevnV~$T@-5C)j03&wOvZ*yyo;lb*SMNP6abS$bxjk;>(M zJ=Cwt#W=5XS;7LTE05@Ya5r^&7V5`%rT;8KjEJPI26(k&9KRpebEy;}dGZO)vz4szZ zdGByg>f=A-zSm3R{f>`3;r+Vy3dxDRp7fSYZC1JX?t9q!JATTpx9)!nM>DT8zMTI^ zZ=73-5BfaPaMtznm8N^lX`hEiaOOAZAuqp2`eEIu_ws$?`sq9%{ZL;oHhTO<>VcGX zliDZstM4!Kn>Cz!5~LsePK9$nui6j(Gs_~+S=TJElz0Nt5C6B=@{Ak%1yatxQhOU* zWjO18>6!UYIODzd)3L7Vo%!cH`yFu!qzBe3pEdmue@yaZ*~^6U-F>vtF+ZPXXLCN_;Y|gC(i$HASK?H% zIQGk;C*J#&mS&f8l$2j^V#T>Y-%=YDa}&wuH6(gWYQ zns>N|af9f_$B(cSKX~!avU8*dzO&{F?@VeOVBf&YJAT6HhGSon)?+>Kf&a6FPyaye zCk%W?IC_4a;poTPNy+caX8qyv&v<dVTuS~dds6ikXJ6{|ReGJ|=X+88mv*<%_;XLU%ZZwV-d^)Jqo)gQ4l5k325!RR^fUK~h>t0Q{OmsMZ*u}IJOgGzqR8Q&bC;~eT@qtCK! zDlhZaL6IE(fUdXnJ!SUUhI60&(xCJ&;*Y(!_unbsC&`A6&m+(2zY8s8o;)XzhUqU} zZ+YS$s9)1hjy4>--|Hd?=L}9?oi9BVTi;3b;@>rSdDpPfh0^O(@2pGI&+22Zc73(( zRQr#;!V06y3tj!b-dI$(d>p)fwWXnS^A1bdU(tBiuYN)NvZ?9ajz351mtt*pr{&oP z+GQ#GfWv_#FZ|;6NXj|FI!lQkbGfC(*1x{hQd_538U}W6S314)ZqMJhD1hgMy?Rex z-hQXy+()AJ)^0A_WBGdH`?m=%zeDXa4jv+$`wYem#~wxHtxukHi{*)La-pUD&I{KB zQtm&MyxdEs=iIlha%WQ?x!LH56QO#iy{P^4M~)Uf?fyo4UT?f#>pbpbzsd5?v!9{%R;*Rk9_o|Fj~YGe=+gsfapKgy%8z~9 z+wts^qK~r&i9Rp?x@FJVXVLhN{gvK_|Co=nliyt%?0L3E^+`Ml>4|+f;rYyS^?S~J zt~NUM2U7ofq4@VlUMqU$n``ZP7`ROJQfzguu{?HGF3;eB+ame;*wK2<{CAx_Z&waU zdN@zN$NpAwu`j3g41cFDy*W2}?5Wirh$rFny{u_C_doi2p!_UvXH&o0ZFsSj;tkT? zEsx!`=s7=CyUxo8iN0Ma-(b(#mldD-8I#pvskX+CZJzl$tS|CC()PS5*KcChI2JG#xD|DWH) z`%jC?e^UIpCsg$9%B|8zz41-a)4x2q9;z!=0KkB^Q#>H zjqtpCsQBPFFk*OKe!s@2V(Yn1-&-p_tm_l~M&Y!Zl}69+e0@5yHjR5*^?TM^UO(Nt zw*~0p;G~)2RjChZ`i9Q`g_D5`wsO#?Dh1Vb8yuQepG9X4}LAuH*s^X z3gok)Ez$$yy3%aun`%GyJso+BJ&5#NtlfD_ARh*Xl*g`mt34;~o8F7R;1cD#KNU`# zKGhfY2CmQA*(xt_s+)n|aewA2qmR8mU1KTp@6JGqU$DxXWvM-s?!3ux;<4zx=vnQZ zI5ny-;@z)^`rV!+{}YlYl-{|{@OI^T)erXGdN2N}q9;DCX&)f@7rY`b+PfsuSoi5-|u>(=UlFCc$O^`J?m<rIybNlPVu^>D9mD;M;Z^PJ9#biGxpV4dnS=pKmzxne>?#MpeIj*PL(9 z@w-s_3e(TpWBE9Hg~qYi%TzAn6scY~r;{Ftf05+x3+MZw7Wp0PMAZxD@7Ee1zQfXc z2h|Sgr=!BNJ$oXL>yuwoy|DiwIXSOA#-0;5QF^BTud_Vsq}M1Ne7V|bUVfqE?2jBU z8hK890qG&1`M%!E_i~zN_d0*X^_MCk`;q}Rb#UDGbRfaRZt6#Ejt^R@?$7vB9I|Q{a)>Rrm!@%9* zkN>vj2kvQ>{H$Bmu8I?WuQlsx?=Q`JUupcYW0L&r!|8q4DOU~Wyusx!Unu#pZyt?? zPrOt09!eGQVf}PT0LPA4?VSC8?_X*CNW4<gN z)wscVv*f3Lt#W$rN7z%21b%P+AxazWFUx&sOFi%QiS@>7Rqy@kU8x;zlYUqStDlDH zGd3AL>wruBcRx$*C7-!L^7lJGQGa1SO8tfJ zU$tlK50@J~>wNL&elW?;KI5_g&bg+y^P!WLD_?#48J5!S)h~*zBPBogfJ;Al_r{Hp zr=hgk`^8XgaUhR9o%r*;FFEJ#VP&3{{H#aSt~g)w{#E%my_fe({=9po>;TeU12Fht{w>{p$^u5|2T8#(pX3=RK02xROc!pGzLT z&leg!_aUfVac(L38DB1rz!u-cQuYHy&py^t%d?KY*3x?8pru2O8_V z9xFSg2jb}_{X8N5?7K*Q&Qo0f>HM1S(xUMT($L{nz zd(L`lQzYe_UUK5^yyJ82e@xW@-sdx zG@N!T{$YB%@VxsewRiR%BtLQYv@SOLp)WyCJguhvuGqSNXCUSN=p_Grq9=Z}#zVgE z=h^dq^~2(y&unx#2Y$0Mf-}E~58nmCvCFL+&bjeMOY@mo@sG1BB|rPHYUkNdQ2pjJ z%OyYesEVHW6vDCN*SNtxw&Np5tPSupdjjK&J-5c^FnyQ!=Y@Ak{&sUb)z|N@Fnab= zj<+-neB#7eD7UmS@~wZz=ve!l?(<3x36-ua7x@z8i9*Bi_8^Z;$V<`3O6v z3k}bv{>9%rc%*RlVHX8p;wU6N45j(&Pj8CgoM&FCwEOcskSBhFwpcG=loFf4tC6vA3H+HkH7JX$n*C2SG~OBJEb4&(t&2MNNz+T47)q6tY2KFnWXFf{$xp|)GD-XK-g-wz_?;hszk3C27v#wkfkb{5w z2L52@qISZ$j`(NUKPV5bauA0|{Mjc>`gePTcI9v4->#e@`6>VA2tUSIwFmY?=UYC` zKI!#1b&b{`?5oZXqT8kVinHFYIbVOX(X)@{>(HT}>@d21bwKjdkECbfjI9*jX%0r7 zhk>(Q{_4J08jb|g7xT8>i+w(ZzqxPn5V>>hHvB(6~x}Jk#j08(gj573N9)dLwFlqrZDQDSvx;fR6G1wMNG} zNAhFuTQ{8h>eN24GxmDV7OGvrUwl~yZL;6R-h|}Gj$P{>)(?))J|Owwe}d7`9vhbC zGykq}hI5XB<%x5x`K~|m!Oej@c*StOH&bWxK3Y{_4reCx2|lcHxoUvhHq zL(_21$&QSq^|6yxF7&8!5&uK&54%v8bMQvh3wB|{Mqiv*A-q2_>E&vUZ#Nu`22R~XKBg?>l8!Qnuj^~uSRlzY7OJI>L!8qO27L+(Rc8OgQBpP_OQw@2mbSKV)q zebq+bIo}J_NWwnURhDv2=Ix<&|8c?andhZ)%?vAFc(wFGysOlnKkVbc*o)Ho;m2xk z*;HBO3e!KjJ{q5{pKH;s)bH5$S9`!OX|X-W?o@i4vsWf=XZqd4*9D%l|D^VYKZ@!r zOrLkX;aT=)jpytys$N)Mr+$&05qZjYh{gx(0aRZ0i^~C=bA9y}&O3y2&ZgfNTdTdD z&pfF5<^J$XozHr;Q~Z}yuDo!T?pS=H&x4pR&%B{@Fj$ zIL*2KWyT-7cGVyE@okOvzL~qdT+=`B{?$ElrQzAsVJa8*5vyGEH^bp`)sL{#6<_QgR4(?r76ki!=@W-L-8Y9V<-1JnmN>NPhuP5ARW91i>cDfx;kwbW z-z|CAkJ@f{Hnq&hwdzBvFS8#qoc)l6krY3Q%PgI{pOo(wl?%OU{AYfY{OpIGXLR^) zdH*VXNjU4vR9_y?n0p7+4w>&3h;QfXYKMIPTom{{>rBmSeCJ7C+J)Ee__*d*)|+Z4 z*fFmXeY)=q`z4Kg?7v)ZIOl`cMN6B@y&ZOMRej-y@BOI!xyAOJ?{Bq#-e0qPHuc8D z=c`)-S?oP8j7keC7yGXxhPTIm=kws~1L`0Bk)F!Md8_o+@A$q{nEvJxqvt#P{78!3 z^fIMGpL9JCC)M)A4N|%4V;@qv_`VSxc3Wz1oS&#%=tbqqveQ(qc5{Quh5VO@&*YDm zT8iD;Wr39Y5WHO37H_wVyM}Y_;&P7M)rjQzo>95_)xOGwotesI@zes(vB#C(Xb-7> zHC=DXzn62*Mud)grPl}k;(sMN_+qEKb_ji{m!THHTA>d#M$cC*hj52KJZ&E`o=pX59i8~ zpSTk)e`z1-kN)TFZRUS9KHxv9dc+Q3i}7LIy~FqvYu8BrIQx*^JLeC;_oDg%-zSSi zKk&ANMvona=2=?ka>F@aQad-luShlwxIdTOpI~{`oC zP30%vYHBZTSAhM2^ee=a8Jl z1J*pl{@}3TVfsUaVjN0cC3=0bx9guUwf(1qX)^) zeQUz0PsxLSs@f0pjpXP1Sn{(!E&16$k^FXkV0^;BDO#6so+9}f2UU;kBZSCv?jKP7 zvYt@6(459A#?1x(yyE3*eA?SpbFs>m4c(@4@jb6{*}kgLqqp^e6u(L78T(n)3++|? zf^$}t3;PR|i+(t4^xWgUI9l47uW}K8b%WvbBbBQ^;^z*m2c-wj3%y)3zCZSV_BQvP zV|>`JmOQlkRIa|{$G%Q-v2InlI5*b#hTpj6{ki+2IWJMUs5i~$oSSRDn2Tq@J&Ing z#(RbX@58=Q^@9Dh+6DH3!tvu!xrp1Pa`iiP)fe#!)7j?&T_f zOZCOR_^{!WSM7v(SM49WER~CKP~!l8)Qh6gbyule=+o<~@@18ac*Lr&yztBGMOU8Z z>y#;vgTa2U>V@yAR9`G>#J2O8O)|g6P@b@^Pqql;p%tNpgnirAf}Z=&{d~{@JILoa`s6KeFzY9CPy& zeju*@(gM{t^MIZcUuCJv)qR8XKetZCE=Y1>ALHZF>8V^_S4zB_4T0aG??xoS?n`nKAIkMPwOev# zLj}pnz2mA!_61d6tj{IqTtA(&o8=sJk?~`l;&RSZ^}hP#63I!qt_nQIj>Ovo{xe3; zzJ=uMSAUV@J6+>h9Ng$~4*7bk-uSKL2_?6u!cR?dau1%yH@-uqPxiwW7+>tNyuQYd zls-8h6kp;29O^c}%|rpikkR>{eIOv3@boS&xg*5k)!Lk~0! z$8W0A9(xa5V>tdLdM|#67e%tzTP+Ku#7&YOvZ0qs9_(`@ z5B4#t-+t$N8eh@0_}Ay`EN1R;z4eZk-q^qJ?}`EM7o2;Eo_qXKd;PNH$-4(iKiFyN z_ng0|9?^s3p|S4244tET#7;``5P!<$A?}{!FFl^Hf5CIQJr{9da%p{jk2%?-@r^eO)7Y(1-NHd4%NQ`}E4d@6n^bxA%LE(|P%G zYR`H3&q^0dcql|1a9Cq8GbHXOfGjeE2k$w~iL zJK@~j``_5dliv1K{m$7r5}#Q0h`o@?L%dPR$#@|CtVi@-+MQDTy(A~!4@u5_U2kJu zABSf?>+8(Pr=@?sb6n1u+Z&Rzwq9~#f9>N^X+>&p&y$?o)8%q@iqa?N-Cn==sRqi) zdQ5m9dm!V-x;yE|zn8EptQ*cgrR2o#RdV8w>GN0NM;8YkV_z&eId@b)!k$%pxKB{@ z=tFYG!K)JP^A>hT(tjBE56NF|yfuy6`>B0$Pn+atJXX2rzmgyOXqUfti{ziPD`$UO z?F~Jv{j^xU%|Iq4^olksWTaLy^EXTIOnKZtL*-f+JAecbN!G`?X! zc&X@T_E-H9e@Jr1*`W5ocbMpjUy#-t^IZ?qf1c|nNzeOe-eJE*@54@Aa++MmAHT$; z=j$Y=#dk5BcJF#j_ihtMKyqUDulKeq4@*w&Ym=PV|4UBBGs%gcx#T21v*?jq`sBOY z_1rjF{D~8j^!Z8g!7j$@vG+c$>zGHAoDJ7!;r*`9>Yr9ie)@ex-hL<7b2PlpaQ0_h zKdslP-r1jVeRlsX>E{(LPhmfoXYBQ&H#;`t$NVmw_U3Z3-ZGr;lUg9LE)e$Qyb1cv-ofxqkh`1JVWv$m-rALSp2aQlAP8q1HZ#Q zOM1u7M|`-iP<+_u6g_ssl83k)Di`se8j;^oZqYLiiVx>E;=_J~aO@_;hjCvx{XCWH z)#8KytK=tMz4wc$@2LG?HzfMM`(>6^h#o&e;l%G)WADc=+Vwp%ePJM6n6FdV2W{Bz7G+=so0kWwCzGxv=^n-;asUw^M!GuJH!@3gP&< zdHrTbFEIZ7k^P*{_^HDA?zq74_W1u(xtOQKpYs{52RMJ&tLM#Mi5|O(b1k2jZxcO! z3(kLPpG5(jbBr4!3I4CH=aGfyd;UPt69-Is;hf}x09~Aoq9-nZ>vQax^NpVSqNRW0 zmpeUvX+|GPpK|`Sze!HMPu^_w+$S#jF#TJnFMsn~qwjYnMIWZmy4>mZ50>^v9uUsF zbEWdtx1S%tQ+Tb+6;C6-mwqU+whs68+!STAuqS zRNlP%O5yl-ik|iC0rtFId9LtKI$Zo&cbpgOcVn63>HCOtS^4ks9i@7iyRV*hevZ+% zo72LH`=WC3UH&q|xj)Y7$972`>P_-wL%DF;lj!*_9WwfC=nm&I{UPD_aa0X&H?NuF zFFx=;&hWf^sPoAlNbfyK;{xqnIPu4wKFdyW`aj$d`5ohw==rV`|N7)FgcEmE^qe1` z5}=B+4acjOh@SWb;-8o6iO+3w{O5^&up*rGkMzuWzyibb@)5#m4@u9LR17apd}B0{ z=7p!%SjxV)=;Lf})bgwoMbCN38G$VCAC07(Hz)eNPCt0BaQ2&A{=$Cq19Wll#lkt? zSslr<9$Oel>F1-7w4UNmVBdLWAdj7r#xd4YqQ{>>^xRW08hOsXulN^RXP+I&_d5;I z6E{or=7(W;eezkOkraQ-R9=r)#Qv!0xyMiR>=$1YjIQ!?e=qmd>37Y0&ovzXYvJ7g zD|+U`B+q`MMn_x@(c_0A`eJS89>bZ(M9(^2{Nvz9#fSE%dL-VD=;Q3L=!rulde*rv z&-n94jSu?+;?KTC;(wUv`R)}x@rafL=B+vbE;*Xtkl5>HVx7Ty}nJk_K{Iny{=QB@9e&!LM?|R>J z`tGYPw{o%nseTlDBcf;iP4sV9eGykmIChl{qc?l&KuZ4>&i=XUr;{c99PIR2ST1_v z-y3~46om5~zrt|Vm7<5A zy*HcsZ{f@z;y)KpK1|1i?<0D~bC+}CkHXn!620x81>RGiyiIt!`Kh|SmwiWBMu$F^ zSjv8w+F`%CRycemC+BmjulD%e;?KCc(CD#?N%PBBgtPA`diK*LKkF{x?2qcbd>?9l z$Bt1raU?~L9ZxwJzpmS-(SL+8a+-x}eOy0Z^9{SCCdmej#_V*4QtMbrZn})Y5ZxbF$FWI2{`0b95uMnQktWqBPiIhI! z0E0?UvEA9$FGexqnmi#n$bj=R0<_;f&{^=ex@3J4MlBCn@^8 z{ISHprh3FrO7yfx(bL|1yz9Qf$Bo&gqQ~!8^=tQ!`umgrX{YJq`}8K!*T>qTN4^!J zt9?N9VfuZ}XYf-RzlbLy{j|qVae1cxbJ*xP?-f1!F2b=VN#pPBqVIPubo%Ujs`tF> z{kK?KE*!m!KX#-(PE20l_{3-G#-BLs;-Amlul1Pi7aES8jOZB`68{U98IE1P%hU69 zGWyauOS})!=jDHJ`k`BV-;n($`(3|tsQ9y=xXALw+To&Sd=$?4(WQpt7wYs?UnlcD zF8X%!f4tufeNOcF>AM~ZUlV;C+`23BbLP23e^KgR$^W`=vdWcBy+rc&JKIE$J)q<# zK3AgOBL3WeAU^fRw_Ki)7mA*JMbWn_r;EN_c|nrroQs0JzxG&?|HnH`9?pYBUmrVB z^vv_(L;Q+`MvwiO=<)9qJ?9I0Z#I-AdiU$W9^pcx=X+H2+0;(abABNH*td!ve`fJ# zU2%cYW2dEYIu0J@^2}}#f9{V~f6vR8Bt4vPp3$=pDSGycM9=x5=!+A76MZ)HR?$N# zdd^2g&w51b5aO{W{+A{G`z8M4730soxbv@GAbR!@M9;l=!ihuTd`cbZlYIh>TioNM zbqnK|aO^^a6BjG3bE?uOb|J!A4?C!8Mw}HzLyjK2OJ-GOgQaG>od;1^ndh9jMGkVTNG`ORYj3*QQrhvkmf{b+$*0{|4db{PZ7h9{e^{c&>#@Vqul%FWMyc2&-^pD+UIQP119_v>>t#(## z9IN++fk!15--VK=-F&wA)hAc#dF=guo&BD3G>vcg(+FoBRX3b|taje-9H(^?-)9#X z-mW~R_r%^i#2@?q2TuX7j~%D-u};0o=&&{Q{r1}j->sOn;h?bLGuj$-LBW!pQ*g~iEI6WUB)#=A7{Tis+9QqfjsB(S6jY4 ze)FiO4>tpO;@CEoue>wq@tM~MpV?pa83&IM&Ux%c;oaFQjUK;u>8Utz_$I^SZ2bzu z*-zAXiQUu|!?D+BL{j1=3-5Ps842Vm(aOl*cJmX`Ykln3+X8v&ec15&Db4-9gMwwx8d}EeQ)H2rtp6C zik9J=*IgJ%`_=cU-m;-TjT(->)_lXm^q}eu`}i9jZ@$*>V$I{4#MxtSFdX~CMTTS7 zAbm3qi9hGz%N+MO2JOn3!m+bbdE4Xndi^wS+!Odc>+DrV&%F>EEG@QPBAj!;HJ0y> zyj1kX){x4@yl}bUjJKla9C25$e2RC?{;}%0Up+D5zOTo8DmW%jb zC;mmkFIRiOFGzT?RS^z<^_%wiuY~92wZi$H7LI?j%QOCH9^i{Tf%p(V!1+wfmG}43 z1NWY(y~o}aqPKe^U7lwu4Fk8UynNTG{qVi%{kig0wUaqJ-F)UuZ@;~BM9+OJ4dcUo z_M)#(-XZ$AdtKQ#6n(Mwu;j<@V71W~Yr8jEivOb_j` z_zSr_Lx+lsT|bp`g=6RL z<4pJE;*UL`<266W3)4$P&p0UD;tfa2$3BYl>wWAxD=+tgD_@*&dtl1w7Bhll3Bzop|(W6i4k9gC`0b0HeOoW@%m$|~9Od-AcZolKfd1aj7Rkf-C;r&sZMO0f z4@mUHWl8$EQuG!dEApKAA@#doi5~kG(G$l!>F3`?&pDdtu}=^^aSS96`(L8RuiX1b z<3&lHKRJKyN3{3kU5^h_ocL##e>Mm&w*EzY*hfn8`}tko{gmWE|0+N8w&bZd4oZ5M zvmZSy$+blEoF}=y%4bQRvG>7^f%kJBs`08{^?5k&e%bZYSt)t)?ngwAJFv@N?Q6Wn z|60E@e@)}VezNHKK9W4x-?|=#uJ!i~9+}c-h<~wGa{7UPQF&wUW0Hq+C)Z2i0O!-X zLHvo=k>q(;&nb73{{r!4AJXNS+AaEaWq;9g&g%SUS6*v!S{(F9%6UNIzeDuUNk4Ob z3G8c&-u9u49{XwW$%c*=J?Dr{U-NS!>;tb3(9Om1=6)f`g^b63{ABURzS8wJHXxk)CA?g<`&`bk1JoXfZ=*c^R1K3q@17uf{2IKz{(gRUsP>oG zC-!o6yj<8HX}yhIOOhvZJ~JP2Im_#W7h8`D$4~LVnAyL#4+s7-?rL0OJX+xS$(2ew zZ`XQ;c06o(>`hi!n$LXX`bf(D!Bv*0UtD4-^}Z{T7AM^Qh?ug|1cTC_rjA(Y(Cf%xbnj=%cE z!1FL&lzy?_5N`1ZgqQA?9`o|kYS-AC2jK(dr1ys$ADBAT@P73#-Va;_=OC*ndg>d{Hc3PhJ5W+bRNqYXc@Z!XGHrsRbHb0Ou?+MQf z2RYu|DEfBA{erWpDUBzbE1hlh#nx`s6ZRXz+3z{m@K9PMoOn0FDUs@(`+QV??4#(r ziSsPcW6vc#?>;CT`zqmi`CF<##u4GPL*d2NX5qwL(fGl6qxiGmse0u+GvN;k=R8L^ z_mVi?-FUvqNy&w0Q-8ZAlH>dAyg=ITywBS~?SA3-p@=>&r~R42O$lEhoO3F*558Z8 zW4A6oVc<^T#HYU6_+uv{dd@|K<98;UxN@mnFLpj9kFUi(lJv|urrHzx2%^V-{;U8y z>?(z`j!gVd5{^HI+6Qs&g|ojTJPa%l-mkt(IOo@A8lU#~r_?_1191Az(P|IuUyHt2 zd$Vx%4ZQu#RGrVrIU6FsXa7s|_$!MK-><^)pH1!R_rmkSJA`v?dxpIi|8U{#18RO_ zeWG?t+zPcn)>R2_h`v~R+~>3Ijl$ute!=;gaMoMmPkUCs!@pI0*ar|j_XUf8oPC$K zr|Nv+#HANbyAmFz-Ts#Sx;L7f#OF--hkV{1IacrGzB{$2`q=BWF2L{f0;4BhjObZ^ z3AgzAhWD#IZ-0gJgkyh~%5|yQO|kYmr!TA%|GE2{Lh18sBfqDnP7C}cj;-p0b)@Kv zt$TMH9!k&EcoGJV+#4-FeMHOfdZVE60sp(34exgz8Z|r&yj%UW-P|!|c(HZnUc=cx zQ#-7Wee@2)>y4&x?27bW;zr&reDa_jf#-Y&)GePE{`xkhtcL=5_S2R}{?;e&xyw@g z2u}%?Z@hJt<%#ccyV9|PPqUQolr@%S*%u{GyYh@nEKgj$D=f{jGj6ez_3ScB*>Atn zQtWeYvJ^k36_(mPV4e@s1AaFR%VVE3ziU5Pj^e(|FJCFSqBk3*qhY zbZ*&QC7k-yd)wn3>6`dQtBoGNf8p%=OW(xXY#2_z5}*3yT{|t$ew^f_ok^a&`yXk% z{IT@Ky(_6+J)SQ9`zkNxQ2WCVS>q*kz%}v59>LPs`<}){>_?vB|Ptb>UhKd?_R~Dg=5EZl;PaB;O%YpADsW}YhEgR{Mo{} ze@5dU`x-w!1$zAWg<}uk`1tt20X&~63(sf%>f_nOeM5#5KS6l0^^cReX@MZ1i*Y0`#j-Y>DJ4k>+vkc~5*E6V7^PUf^l$<-+mz6VASc z`ZabQ!tqlT&Uci?2lG#g{0{ya&#)h>7$4#`3Fn;4@!nd;JMJ%spTBUlstT`8dOK;I;`G(yFLZpZaQ1T&J}Df(AK}DR^6_|b z`vRj61AY%?oUQq|TmFG?+CggnD}*zS2xq);dGJS#{2sd<;c@m6(c?d;ahmf4$=R;_ zR5qUSq2$@5|1_`8Xoekz=}^iE$mSvd2r_^`fk{*&L8o>51O&MZqt6VW1rNTWLHYK7r`*=hA!mt`m+wu<$wg@hj1|M7)`# z*Cj4b?J(iQLlI6~apBlIrg7581J21M5AE8=)xk4G->-gMIQ!CiFY~2v_VF$-IoX#H zf7U0$8E4OS`F|-s#4B|Ap>1kcv_Ik8C*b8C`Q&_~?|0tr@0~r~^_2ClH@rT1;q8%> zaZcl}#TO2iZ$2)Z{auak?eY6sh8J5W-4RKNU!eE0zP{P;y!@!>L&?{}^+xS>!~4}+ zZ;Pa1;Q1OSWABu=8s4r{ZZw?ripKf8d+m52OFvKJPDAY>8+!Oo!-;R{au2<%krX@d<(9`U z3^S8x) z3FL_ru)y%VyFhy8oKfwG^M;EI57Wh)EyW&6$HBwL zEX9uKg_g2TJIvC&aK6{?^g){ESWjxaC7!Qv{K52l{1Pt-MqfT!?F4_5MfQ9ANLM(% zFtwk@mlz&O<(-Dp&wYJSc+pnF*+06%@Z!W7q9>l&GQ;EGsk;s5zOzOo#b3zhouOOS z2eSQ<|ByWFS1ym_ixZc&gje6b((@ZT&w2S3me0HI-e4(lzBdI+rp^{U=cuA*zeM!-;a(YejQy49 zIfvOC$g@AJ_7J#d(Vk?O+>)P5MrBBY;b_JeuZ>IQL9HK~`ICdk3hv`kC$B#q&>32H~=et?->??_${r~F> z?^mC`A(9d=*y*P~F8VotlDzBlXPADE_{Z6kM9(=>qW8G&?eQCZei<8a`3rZ5J{$Vk zsPX4qrJ=O2pZIf+y68Dy5Iu3EoqzAOqejPhKtt*DIeD=Bz>cKPA*Y`l*k*XKHr|S) zbMY03e<0pP2;={hj zdV5a%O6d)M5b>eCNe_AXea>g_290~Hr!@|64)1(Q3$F6te?)xnS4#RUBzc1P5YKW~ z;62RGJB^<2=gTa`KVy4PdW`rWzsl7g>8oAkB`Uqvd!~Bu>ye~KU;>7dBhj=N%iH|2flvjEtK8N`9J6}+L%%;YrPxgOB&v+=D{kzc! zKfW7QTN(#nBK~>zhq>eKXMx?h>YaPcygdx87Jt@pUf#h4;?F*m^Y2~Y^3QyuWqjCo zU#WCzwd%1we!uv0UMW2j$5#B=*VcH|uC!8n{)6P?yT$o8ekA>4FQ9tQ%b!-g&&8|h zcf4NW;AZjXJ}bSKb*H!6+3#t*!tX}>+1C|+>{rB}a~bjHcj8~Hy+HhlzrNJu?^pjp z^&U#T-#QoX0Y63Y=eth)xpzeTIbU}DXCK^czsEmqxuu*#slM8kZ(MKrx%Q8Ky>GpqNu#~&1b;v0DVb~kFi!#_NYbANRHv(Hq0aX*FX zg?bP@`&r^oyaT*^cPn;~#=iNuupNPw{HK1SORY* z@b$n@=6LhbW%fJPBf`VBxil> zN1~_SX#K=GQ|+xk@&&aw>{7&s{Z_q~aZBwy%hsygdG}(~v&HKVypMfh=`TzlDjfgx zmf_qRq4#sYUus8R9d&$NQ|Zj@J0f)072aTZv-`5NKKY{UkraEhy_Ro}f1_q;UOq#5 zMLyxg@xIXTZ0Hi{DNG09oR=JHc;4M0J!L}|I9?koM#E=L5Z)etiEzIE&M=()9F;rv z{Jr$63k)ZYo#TTKN>09;HIE{xaQqa6vu?aZ^qnoj`_;EPUO2hteC7+sPTI>`+p*N} zyt`Ou~Juy`KyfoquP(=;!Gulf{(0fV!4}SWsngFqHEep|{sQke}%pKz;* z02$+WqQ5~n_f`t8Hx3Zacf4@!7ujR<>=!JLr075K|FUrWG=&qtOL!byA)I;0=?eqG z>yrx|pEzH5yZI{NdHFTM`5q9C9)%Yt=I$REbpAv8I^H^5^u$?6{GTa2O#ejdJ=!2f9}v!c2*SBbB;nr^-fsS< zaO|3#Pvuj>i4!lJH~|_5SU(BxSI_IJ;f+>~9Nazf0f0?eXh`V;3TMm_LMPLq*}lxk~(Z2@j{l)|Im5sY{X4pHuH!>%ml)n|e%bNyR|&@saIxWxFT%t0s~s;N zbcyipzY6F6@9hCP>}f7`{L!l|WveHbFcG4`#t9o!m)=FPFytc$Inyi zK=h{dOkRG+g+|Z)1fuVEa?ukHFY&q0*KdtYmjvjDr;@%erdR8C&3j*KIOi2w?{U5= zIrHwPPP6B%^F$w}zqQfw#1m3GHop+d^SkRU4W$|Jqn+#bw!dIF`-jpuaT2_Jv_5}> z=m*}Z_FJr7H)46dgKxEz`vW#vnq}@+#d+8r%1`}H?SlQOw^%;!p7>Vb+0iP0UMSpU z`C{#&JB3djvLuktvO|SuQ>Wb)$#Fm5nn2pFJVSKF);%{H&iVIMhSwX1>3!HU+$g+y zTGQ}2`?A|D&pF$urPzaS2&CE2$Hli;Yqg@~v%d&0))on`H$Jq-@Yq{(bs*)uY0UEY zP3*Rm{bAwQnWu8OzgMxg&ozPPdD;C*m~W&{{5>3>`Qa`0`*!6!J1xz!+k`V7s63qC z2#$JR45J|1fIr z!|rCArP%d2eQRda^2OSf!ujqK9;VL`&iypk+4FqnR^i#u!NNIb6OP`6=QCb^*l(#l za;~5FU!{5_zKgfh<{J|JXsXwfQu}p0%ibrP{wRFz{=W8jNjUciZZ&zZOB5gCSEwDZ zzayOQ9_cNV&UZYETa2Fj;+(#;zwmm)qL)VjPQ2za^bP(akcX9 zXA}R$PCxMZ&Bh_p#JKa9O6g%gKF?S}YZ3IDM0dgJ}V@hftC_U+Cm^SBfE zyKR>IGs$1O^Lo*H3J(MBKiFD5@_V)$9dYBGe*B-DPpu@}_}X*6i}haoMby5Fwg1$(M*M!^*n6oR^F1Uy z_JZSulZA7Sk#Ov~h4cOA{h>S;m-6Qug2~Z3MD05p+9P`G*@R=qt#;Y(eA4mK4yUjE zM(wX({ffqG{H%mCzY1r6*vIkm(|Rv)@>DMN#eH94@E*~J(kY_n+*|atE9XD)rc~bh z*O(qy*E{{d>r%VFO7!jVcMHc3#M^!0JmLM$vxIX_B7AN>W!>+381ZxHy!>6S$FVa+ z-ydmjw)e6A(0tYJ)Sb_a-`m7_iRMS_c!gtsBYO75M4wGngku-6$@o}Y0;PlBXa@3} zV{WuO`Vu|o8^VceA)I@ZM9=r7@NDXjNxqN!eo5)`j%P)u=e`r;$M@B`V0=r@7mmNm z<%VO=A)Iz1KG@Mn|9qzlXZ;|Y^`PjvpGr7(rox#&h2y^`Jd~~!f7WrUj6ds~s{$$Z zm};+ow>uelqmMrWhe-eUH%k8Y_>kz^&Hcrn`=nIAtP30;|6lRp{LbsW`jGUCALwoV zzNhrO-@9j^HVyTN)O*YEtp-I0|0zcsGozr4!uQ2NQ8hS$e@Kb5#KR~p`K-g$@NoD)h8 z?sZYQvh0c54d=f2G>+ca4CKS~{=#{a#xv}mHW(fUKdbU$2a?9Q>>9)KnZId05K5m- z<^O>2*jp;RKQbzub*1Zn`qf$|(2g_?v0t3(|(E8%$ILry>SnAQ)R>#D!z-R}#pH=gC|io$*gFK-I`p7Xbxj1Tb$G!F5- zBpmw<;hfhAFHZcYaN^sjp7KP!6=_mBz? z0|yGXb-Cf~@f7c*`>^Vpcpk#*jrWKiJ$O4v_lgqFN;q~MqxO6DkA2)K{ipLU-6uRR zyf@)r5*}xd6ONyoaP0QB1b)wb@M=%kZ3`zpmGDs7ARNE!G@dOIULQL&(SLMqJQL1+ z4q7MV2C|iE>(Co*=upSI_ayuk!t-t?^`FBX&t58= z^EmH6-Ioi`yY6Siy<@^TS9N^mz$A~y87NM?*zxj!@M7(GsUO~bO{Bhw?~~f?quvj> z2h{L(^C|V0IC!A&e8%q^&89veocJH=Z_FcC8$I8N!tv8kzha&e&OVoL_Hz<`uyD@b z6aR~Z$HD!D+dX5!`1M{Y9KWp%;y?SO@GR?XvwS{ty5oc25RSc&WA&ha^Z~sPG56-_kOh|obP^(W5i7nJ@F9M8-L=22=90Pr2d(g zzrD_I{Ah(^M<$$mNF5)l3$Ks8CH3LUU+Vh2T4wC4X%^E5bR? z63+cm!m-_KcePM?r{-4`x%=I=iEW` z?aE(8kA0wU=v|)P+`WolP4YNBdeZ#GdO$dKwX2OEd=sC&!trMmZgGwS&$H~Mk_UT4 zpT|3W;j#C1^%LyL67K#Gadxf70owH{`#t-1Uau4H^zmf+#ERkA&m_IyESxxg=SJ}U zNV;#f@LTowIlEZy@Am#N{VvDHx2j#SzDn)u5%tr4r=9c{rKeE3S9mD-c}ubO+?9Gy z=Vik2WAJ&fd-_ttiD$3=8wOJRw$g(043C5VD!O7Toy)WiKi=?u=Lz+@yz71&*jt_! zz_CA9Kk8SX_+`&M|Een@<{zfa>^e`Jf-d*w0F7biY3V*K%Y zP3_?snxC;--(fiGAGNpG`0T1O!&X7R4l(MY~s`Hvd|DRw`q zuYUEL(lheiWH|AERln@B2+yXzB%C-CY7cpLz2-yWn>hWzfogB{u`|3~Pb?7sdgB7& zjA!~?e`K5F>5r@t9tSTL&iyu$zdq^b%h<2_yiu7RHF=5?9v3k$Z<4&((37r*nQ`Y^ zeP3!{Hw&*fwg|_+LwGiI{~qH*{BYsKqf2_)B%FJ>^uGGo57fS5udjM(kGmY)10@_k z7~#Yd5g7s#N}S9WNgxygvDA;rLYvXWrjtd}v21Pkn5i@HqRY>kP-9Rd})H z_Rl%@t{ZOW&XM&0&Lf`GxWW40@!lg^7jgfY@M7yR$&H<)@GLt*IQ}=n^RC~QM}OXG z{ILTPPMlf_HjOiZ;2jzr!B?@`x`HRvg;?#biyx5dO1M! z+0^GX9&-LBzI;Duz0|H;CcHoLCx74c)xtR+70&sRaN@A|`l?qH&b?v6*}ro>%_D_p zL;DJ6e_iV())SjdPS)c|j%ysB{G#LBR~C7m&%8=Fb|k|2?h#&Wr8p9WMNVJ+lgl^c z@e}HeA8$1N#fg6ro);ErzQnG`@z&$Q*|%6{@4;SEcwSyAoOwhzTxdA!0_lzV(|pRg!?5A_3#xzhJ4ZNw z?vpXR-}#EV zbN_wry%68LaEJKOPB+?nv!U-M{GriE*6uqGq{NB6#q#};UrH|aIV2C?<-&~~?{#VQx^P;a$-K66#7->ezP7i$X~FQ4Rk>Ylz%c+35-Stm%ZjK9)z zz40;ESL@lriBB#(@2*gJ8P7C-a-J$a?Dwnu?eSM#A9)}4sg74(C!Fsl%~#kBuebMd z&!lktWQAK?BEyRlw`%>AckfmG<7b%g-HsRD>+NDZ#bcc9yMDXB(tMQ{o+J9a>*sTv z(+cOF3&}(LQg7d59#@Pwiz-*Kw!iZ!yFCeZ>%v)Aj7H>QJl8x%ymjHMZyhfmEIb=} zpK$#5R8RG>?{3!b%1hP;eqWzFLO5{_6aHG^dBN}RVErSUcs5rWJ#n5@uNIFtk~Mql zKuSCV;n)iZ2NFH@t-^_CA)I)n!m-;@J0MPzaPH+)|7U;4@u_9%f81*$`eJLVaK4X( zW4EhuCk#C9>&4ca623gi`5oc-TWh|;-b`|4Q=bx!U61IITlC!DBAmF}qUXEQlX3;ZFX?=_Rg77eXu-Zwx`M)mbto!Y8pWI57 ztMahu*^d)_zk0Of;r_iO=UG}Wv@74&d$F?-&iAYIi65Ty%zP|9e2)vqUq<-f;|m#j~R}Aa2iiud8Xz2)m?X4 z$~{e2DjmFRm8JR21@E+!{WY}@{E{vWaE< z*0r}rOPiNnYkBOr^*iElXkO!cAvks2RyzsaX_1v=X_|VrTyx_Xe13KzdsB= z66rIad9%i0&ePN`>y3UZK-aJKHU6+JQ+<2Fked9MNdg3Cw{C|%(^n+zaNB>rNIhR`#$#XBZ^PifFe|WauOB{l_ z(KD{(mU2#~dL=$f!k^=MF3pIZa!DTS)VDdk`%w}Xec1Bs&#AtMQ@S>i$6rJ3f%EsR z_MCg%gcJX&VR_cq>PPH@UKPm~Ylo>H;!mS?5oZroeLm_V)h@XIV7<|EkHYF; zY42IyUdFmkUwWtNmwkl|dOrB?!n3Iv=Rfd9;lx$*air|)ZoWH&=iO7Uj_~Ci*xSkE zbJUM*AJlN}0T51HJ&lvZ*APANnN%+9$@IM4biZB3hg9CD^nUt}&_KUxV_!K9+z8JrxSL}+#hkL-ioo8#rhx;2Z6`z4A=QCSW{bP6IdY=BJ+BtS` zDj#;F!m-oz`kLLVa&b@cGUJ0^z%wmHKJnrE*ZB-Q=H;64`GWXa(vQXI3{Z3apW4IT z<&iw`FQ%^p`nWgc_-=D(%FKQF*cJ5Iy&`oF_h|D@BhT z3zGsxj-%|1vC!U|^tLGX${sYdxvqkirk0_7di}c6uMNeD+@h85(W%fJfSJCqw zr12B`H1WsJO7z&no?~=;*DtYj?%aj*7V*b_UG!#G5_yh)`+TD#ex>xBmtUlD)$Tbr zoc1hw_P0cjorLJw-xB}1d!u>NQln?wl|I>rbpF*#yu6+MC3@cSIEwcbt!Pj~w9=ZQb-5T`H96Fqvn z(BwdG-fp{2&-cUv!|~hFd+K8!x;&Eacj{{Q%mbp2z4xj8hk?T+C%E2^eTv@8xG4U# z3+WI0Sm~4fkJNvI*k|{8tnN+Yfa`%cf8tMk;xhujBfji@ z_WRiL^#Fb=!-0H07ten346Spx_r&Y5vB>*TY4^nuI_l>cMvuLo-pjs2s^9xvp4R78 z-umS0^IXPE8!Eow9^+o^pepk9v;{x}^dOsSu%llnkyS^R&Cs$CJv=IsLl+$1W5-^(y|@ z*SP%MH(YA`S>Mbv{?v>3V~4JJ1bvDx`>~!jo|gWxUzhxO;XPii>My)rO4mrw*zrma zq0|w7%CGw6K6#%H%Xdf~^ep`l2UPmzdrNv|{igRJl5p((g|iMi!Q^B=R{Xga!t1xN z&f8UGdcK~I{6zG`yHWY6H}T=zMDOK(zf`UX$xnT0JmH>&!|nI%>$>~{A6Od6^IZIi z16{G_+zTx}*!_wx@l4dNh%+KStWzCN^5fqqob^dCe)#W6&-lG3{+GSk_%c46?dgrq ze`+7;hjohUW9nw{VP7xJLl0`aq2AK>Nbiv^!3Td!$;19ZJ(6c1K_Gv(L43?p`tMNlKQdT}l7!-$;JOJ+%|o zYtDc0T=C}|Qu=LIs*;Cwx%7ZMYMy21nekM=C*GFmSr=Ruc^~>eFp%J%KhILm znbiL0?g7D$QS`(ON#jiIwMIuj(D)ao-ERWFa`C5r&a~&mT@fGRtX`)4%HyWOIpS{b{*n9onNSYT;yTkJJ#22>#md8)yRN*7yk^@==jc8JHh{0^!Oztc_u{9 z{h?m(<8Ko^`|b1XclafZ1XBDDg|jYQV0dxjFy}wAF!6tmx5M6E(TCD%$H#u`@=t$J z^}>82obQmt|8CJ|*}O!5;X>n&pPA_U9Y5beKW7`x_q6ES&HHvMpFNPu`*Z1yb1mU~ zC!A}~8RxeKQof^v6Gv9`e5Z?^`OxVbKNEc@eL(ct(64vd@A)oMeZ@h)=Yn&l#Q%%Z ze;D|L=sAxUJ?Gn^=bjevCoV^N?@j7=dHMCC?~iy~U)p!#f0gQ`-+8b2{QdmAa-itj z75DeSZ$R|KMHhWGwchCq>%^aR*A^>pDE<3RlRqyn@%o+ImGpen|EKEAUqDRxpo5(q^ovQ)?hl|2+mxLK;R(*Xf#b+oh<_tqJ8rrhAz zilR1(quB0K<)8zWxR;{1{GRvw-qO!6fAq&3CKVz3l9(#Go zo8LG49sP63$KD~5$Iesr0Q>LO2fIEnBzgK*o}anzD4lWYKgFrXJU=^C$zw<4>B-G= z`QiIKAIAM$UHU^xKm97n^L?m2Wt`~g8F<>$Ip*ivT6=HlWWU!sOHVR=hvYf$T=Kjp z>BkR=?#p=xmq*0-u3dh}_sg}%E3UuuBFQJyi?ZjME&YryCEq{4jP(!YKjUig*gH`7 zWgnlv$KGGo2D{JLlH2Tle0To72EHZE{#)^8?bS*T`@qEUOT5|S>HlZX^;z*GIWUud z()rXe;`G-gPy6NNYVvH?Kd@($=^?)*Pdl(CnBL6ppL$;R#qWUR@r%6C`t~Kr?RxCJ$G_k1dzHR+=?~)V(stEX zcAkmJVTbSXg9oc#A$&r_1&vXK0om;y|=XcK5^{P#90T}7Py{Fm&EZKzB&@c zE>=80alJU}R^n;y-mO8`-R~LmbmEoP1>$k=kIDz^cE#BTx5eZuRkv$Nrl0S8aIJWA zY_;V3>%7g{E5+mBGS}1feFvPgr1F(aA0XZycRMorOX6|x3nP*HFdriQtV^kV$DUA} zbDZ?NY3>y9*vpHvp5ytDT&?yuPQ^w<4R(OaPunLHh&RXHneiFo_<2%$8mEpDZ`OWV z)90_&au~Z`Bt`nKX;>eGQD2BT|Y+c5${Rgi=8KG`txP? z6NSB=IQAPEf4<~7PgdN{2Q_)-f%N_1U&{4N9V5=Xrhk{CFUa(}9XWn>ZV9^2hxGm8 z4`1^5GZRm{?-Vz?8Pm_XWE)H#f341k2gH-a{cGhXe7`O8gEyHx`-&vb`Au6a&c05S zfBe&kV^<}PKSOc$^R5rbg@J3tIah7D{f_!e9D5FN&XLIY7uK14rS(;{BiL^&GkMN2 z6;G!7{`qee=erlrPq@7?c0~G4Ik#IJfBVwI`;|QNSFXSMVR6m{)_t*8SZnufmwewE z^MvB8bFVQTI`^sFVP0TKBn}a;v`&&9)?1Z7%;$NDce)+x( z_Rl)+4vDi)?)6FUM)BrYc0M@g7utPopKc&zK5?_flcBrB@nh@taeYed2=>zA?4QZn zou|cl-!9);C(imy#(g~jdoXeA(Zu=Qm2d3J)qP_x6~_)$`OJPX*FWL=*qOic_f=|L zV(DYw%1MEc^+r$6^zUwnil1|-!lCUqdi-12b04Ye{dMU|YxWwuo}YMT%|g~c7FZYx zJ2rUecDc-REVMZ5f@&|ZXHh!)emn8Qru<^QL**QQ11?|sz2us;=a1O$Y3Ic`$4c^y zyLK68-mPk3rR8?$Y1hxinGcF?5IX9q@L1qF`u^1;&Jf8{T}+cQI*!8y&ml? z73Y^KSDYKA=S;h2iDNhA_V@3#5PKNuAzv@IIDS6G8Aph7zSPCW*>AJQ!geVYXPy0gi^r+C;@G!| zQ=ZN-&iT#%A19yB5T9=Bwh%whl4pE;ig;2HXFhP5#p&OjU}2g&O`LO@#5q49ZybAe zz4v7LmEw%I4iz8TDqd-QUHMOc@)^eQrzlRpLhp=@_ z;e7IQ;+%W#^7ZFt@++MWUnI^t;P#kU`Fdui=XK`<;>}{#j@RC+`h@v!=e3tep8mb_ z?j7fvJpPlnMMCxm`u8(l6VI2oh*QqQ8E+R&zFG8kocR!!&&~}Aot)&ES5!U6xb^~* zPllW`kDS$i7mMd7p4b|>j9t1o^Jn7BPl(h0W%|E+VL+~3e}_2!IWvCfMaI)^(d7qT zCXT(F>u=1;`0K@4@9^|YKSvz<7TuS2R2=_-;>>?nB6=wgx-aE(i^b{pNZ#z*1MxUD zB2IfRdDbz{H;!Ksapu9rsn3*el~Lbk#Qp`BAO5-I^An#>qv;!bi8$*Le&5M&h;yD^ zCcpGz)1OX`isKi-<%^#e#}BMH^Q7X;A1Hq~-&O4|cF))AK2w)SzF9n7obi+DN9^4$ zHT{**7l~sRCC)tSWyaaxp?0IMhjH7v#yQtS96$8BFZGX}i}`W2KlJDPzJt&5^c0Gc zC!ep2{J#HQD%G!gdo?yDPPy~}rf{%vKp@V%qQ|H9E;i1*&-KP* zZ=tuN18*rA$9`#<@%)7Mo3KZiWASAAEj0_%?sG<>g}D)zEALnyh_}aIw_AMD$ICQoRj7C@!%)LlVpuJ{X=o~ zYl<^JulJ5WXw|Q@&zbyb^{8~+C(eAHKkvW~RPN){bH$lgTO5#MJwxTHS@ZD|?UV8? z4EX-#eB+5NrjLF9OHICA`n~$6v3HaBKkV4+_pUa%IOydo-}u5!CeON%$}|4rlz-S? z>ARwyU1{=^cjX8E)m46&PZVd|=-+p@qkcH+oBEzPPs;Ntx5~#mV}H8I^fYTvC_m^g z>bqn7EP3h+@nqWl`lh+>JMVr^`4kG*`}a7pSm|sQcZuV-L!AD%o-0WX5@(;d%QxKq zo_$y1?b1o&?AKmv>508VUH`x{#o0ftd}e>C^Ulw14anjDUGj|AHrVf2cNAy+MEz*| z5viZuKhKwWLUHm(9KV?QuG{0k7w6mt=?R_tl@IJca6WyGICiX(XTN8r=W=o8O~pA6 zT^zePr8iEUCO!YyKRD&*PLjXk*w1D6Jt(`++x)(rby+@aS4e%j!Je1=Q=Iuoh1k)E zGe4m?>)U?+$#1G&!mo@teiQt9(f8$HKdW-cz6WvUVI?05ZxL@6eg6XU)hZ`;zNO_a zcItYc_;VGfeRVyst?-4KICkCozVhXN5%1gE+CGVZKKvWF-m2TRaW0EE>ssRU z+x0!s4_{^S%tLv6x~S03XENR_zEE-AlS0lZ+iJWr`YNyYGyB`h=+&w5IC#3Z6Q%FY zw0M$yc%y~sTiCZ_Xpir_!}*!|{_u~X?*soL`z6<#r*?pI z$n_lfP2Ospb3##s}fK6d`Fg`Ddo`E+=O`eV)F zB7NuVr}O%G=sgQej(y8Y7yAjko-BOp2Itr6ec-oIob`=)#@X+tdJubCas0BBjkoK0 z#Tn--WL$Q&arU1mPJ8Otrw^ZPob_YH86PU7A9$7VO6!f;bN-Jw^Dg4-e^MO(vd&BQ zUTO05FC~xvLl37uJkvP)^<7Wle-$>12b^!b(mG1{%lJEQwDULG>e_bN_3p^$d(aO3!&kR0uM< zym9>PiQ`X9^7!>T!8rR;GX52p9~(PS@|@EixsKhLIOqSU+_SGi4s;6i2Q4e!pKgT%d^(x*TKf}}28a&T9={okM7m81J#na)NT>s?V7a7N%DEl7WKNbDPna1(^BhG#yh1hFd zX}n#pC|;@Fm;LVL;+!|Acse}W!`zuJUwSO72U-f**K(EVsf@l=an3Wy!b`>R`=mJb z8Ec~5Z@ewu-}m^Bb6|(xDvrNx$>q!2T)uSLEYr_?au(0p?V%TB>G67wbz;9>f9wjA zXTQJVmC<*oK4Trk(^>t4;`pUeNIfZzpI^oM{Q>q%NNCw?@>INzFZ;pr%EU1J1G87KUB{YXT41ve-|ER=fUBRQ*qAK zP>6ltW%j(4>Khd2eX3qZzsd>chxzY|57r`bte>B6@|+*$dWM%~{L?CL%xCKN^cTfh zAC^4+KqSxk$}V5HQu^_~FV1>_%d>CC^fRw7J(ba)tG#3%`V!;RN0R592g$Q;rgF>v zt1LeclRWEpYfU~Bj=Vb(a_-G4i!<-L!NPX^nd0QfVvEPYA@zIlpL$m$j-RDD#`#V+ zSy&leEl&Uab&)v!k!}lw)NA6*ug@}`pIE)cc%^#rn=KxDv1%dv`L+iBHjDS(841(w ztCjxd*cY}2;+59(?udk(ld1B~{@bmAc$#aef53S+s+X|8*epKzQy+)d&Qtw^zhb2y zyEt*`qjizrV>h7Z4Fj(f51p#YHU0|L1+H>#tav(nzw*`2VK&Z{-I2f4e|it>&sh_Q zr^7*_w?cSZiDlmEKRLiUY_=gW79W0$|guYW}EC(Zp< z{UpX&RpacN7tc5TPn`F+(B%&nXWqd3RoyM>AK-UkW#D&}YU(`qb@jvep2XYr3&fds zo@;t+KUg3Lg|*_G3pG0uXI@+SnP(8kU&l=2obM-|ByQ&xI&&{E&iZR6e`0puo6a|$ z44tIsjf2j~ry0hvQxUP^AAw{*&B?9&d(%I`!0Fbtxt6MABiW)T_X`W z*58gbjz3y){Ev@B;`GB`83>zW4d<;xM=I{Q{ugI)z3+!4?cOGi{sW@;hb7+}J6xQ8z(K~DXL0>G_e;RI=M~1A z#gB+HZ=!xQ&vk@x{5!jz;)CMk+mP{OD2gXTRdMdC_rg4l^Xa3-$+u%oo_Seu&K26G zc>S*9Eo2@{yj}m8IP=0M8}Iv^!51=Qz*&FsI$cnfx`U+I=|>#PtlFAdWrf8;s-M-t{!jcHa82^w577r@yqt z<$hMM5Wh_-|Do^^aqQ~!yo_VSD=nYjqy0F}gI)OPrl0kH$)~x@pJex7Jy*N_nB-|UBu{;QjO1%i z-W>QH^V=F1vA*>x3`Y9#w(+P;@DA29`tJCoTsDwVV|z#>4%>e!0Z!M zdU%dZ|5Hj2=he7;^#s>nD7?w!WAC$B`bQ*>{g~&&sQbGP126IP4-cGT@|^#%+(O2i zEc70&V$0@dE)FVlsx;w&Nd!8M|nQ<(>Z>^8OB-vRC=(-&-9Gx zd*^qa&fzzTGY&Z{AWyq-lZE(Y-xw_{zu3$F(3yLThr++#Bi`_NR_v~J8&8tny^+7z z!>+ZEedW6XVeEZs%;L?lCsc3KU)&)+^>)d#FRxG9IY<4?k&tzaTP@D-wpf@<&s4jNz2GK`Xr>Nabl8ZbYjmy>UvwvIdg01tIUi|jmVj*_J&ZmE+{z}^Yp85mL+KauOpQ?%D zPeS<-2HrIi`5p5e;`BGf^AkT+y~;YfKi9PHE63lEIDXB=E3HZOAMo$7-Slt{gXdfB zIPp;Uqv|pIxa;}b^_{8@^Nl6W8FvPLhuw>R7p z@=^7G?Y}oU_TMja`MkLG1I26qCeFA*JQ=z-OZUd5{=1UCch0L(Jra96#aX`+XTO~| z>vb+)d-&Fv*mw28754kS|1bQUiBk^6*`MO_MfYdR{zavm^`j;BJLat=&%RU1;U8U` zb;f$M>(#$09(##G>|Dh0bE)@>UpH~~Nx6J$ojCK_;+5+6Z*e^%iv#*t-w~(3>%4Wo z^Qj|TzV(LFLV-a&5HuR8I1gOWl|8wDiz_zRu*+ z$xC%#?1LmJJ&+&S5(fJ=UicN{5qXv zA@kJAuh^@twmADHB;VxR2ag}3>+IhtS)BCTY$5(0R313LaJG2&#KjgeZ=w6-8y}i$ z@pdUJu#j~KeHZEQpRctz_qonO`~W%6T~>C!YL4?~h||v$#~$M{$xO~UY2jjjo#EY9UJ%67c6Z;n~4*acDH;a?*Y9vm-;PODo z{!Vf1N0%69|KrR+znA@pUTD!&BA1F@!meqTAi8GEA z$1YI3FVDK1%TK*1HNCX&uD`We9RD`r?9&j(51crDKV5$8d9HuDAkO@yIQGv zemGoD?QY5A_e31KPVuyRo$Igd(|ciER-APvar{U7dz@T!Wl(;*ohNo>lE)5B96uq- zPxb*x9=oQiOuk+6bB6l%mW-Qc87D4z{J<=aCO00hHBP@t9J>T@?1;+7@f#}6d9UL1 zo3rxf{n$$NOqE0YQOuQ|Qd#AM`D8Djx%;mXuiqs-%;$(>k9M`|f1{o^?e^_9H;8lI zisYGZ$@F|(`tidq{fy_A#)Ri76s|Qr=KnSFmvM(U`o$~Nqol|DBiVK4Va3_!A2`P6Tj{y5LlnpUOnUG~;Ln@;iS#sUv!sXmz@KaM6v=a*p*Z_g#M8+; zB#%Ef)sI})eL3egt5*}{1M`7i9tJK}`mqC$9{jPZ{4n3AcBE4E_lO;kIO7u6GyYWn zy{MhUZ-v@l`rEp1v-YWdf#+sDT;B=f)Y~JmcKroA0%1CNUd7`1a`_Gm+x28~AY`B3 zwHD8pZ`p5QnwzVB4eQXVH`}Gz`;2q`o40$V4W91a(%r_H&v;oN#9yMmH~b=uMB>j8!{r*Vp8TPo@cmHjbPyCMS`(?j$#+T}T?b0L4H~f?8I}4rY?P~7K>r5~6 zrrQG{=b3G@c)PS$*GZ4R=ZXHlwpZvmX>TRZIncXIp6^Nb$Ifk@#gidlw`BZ%n#IGw zZyJFxN$%Mb`HO#CJsiovq4cbFA;*tRZ>)-`-%?Ik!*mJ?-AGQ}ToV zIyb<1Kie#1pRvjr_I{T|;>-YshIPg@VRIDSvnpU3}<pr=g&9ZyW2Q+S^m63W#un^YxR8CB==)*(>hhhV?=nt5du!w` z>jGK%f6Z)*GyYj)VdxyF^pkGs=RAc?#_4~1y)?O2^$7DK`VR54zA8y;N9Nlk&;Ed#$+b)KmH+H-Q2oid+gW-SpC7r-cuexx4c!!ov!1Y1 z;n0Dqm+*_I^iZF_DRP#j#Ki?P4 zg~{|B$>Y~t^1Qc$BA9hg$)jgcAkKNFDsR}4EB*NI^m;F=2byEUE?-@@(BxV7P(6TO zEphziNuGN9D7&6aKgW5oG+*)L*^=j6T;&7vWS;*+uR7JQ`}wt$qwG65qxy-*jW(GUI=7*7L+G)fwXWfpT8ISDblUwIiH|AkO$SAESBKJ2SD1On=P$#X7} zIORedzrf;rXDcFdtbdD#&Y9xP+9JtwF5G(4gPn%Ir|BytkDml_&Lb6PK0=)JTXEXq zj1P+A$8w$Np}*~XbVkN~y$rim@z6O$yjfeTd~4QxeH4Ff)u`V;ye1I#_rbR7XLx^W zVAR{&>9dqC_%U8=^7->^n4uqljQL~EqV4e`+WzWCHXkGMeoJzb1fb1@x0`j?@~L%`5NNbQ!TOU_?vP4 zljpg7DSCQJex51zTQ{2=_P9$eq?}5=ZwHWeeIFP8i)(@F*rj>8$J0eF@B8JG>1A2@ zI70b@KNHFK_g~pOk;&5@`Fk8X(B-F}&eAz?bKpAln?L8&5ep+x>`nB3>9;AJ?eYDt zzt@z0_DLw8=@%$H*ca=)un$o3^xvzdhjll}Wi zop+0~pJajQ!Cr4oAS7R1iD&o+LZ{zC%x~3g}}T?CH#%B2It8^-O$J?~iqVFl71{iL*{4j=wfNFYT@LFu$Sx6nIeTm%kNbFuuo3lE>eL(qreS7{~5W>BkOJ zdXmKbSoim%vcJQht8bSw{mDI%-{s2(-eDo%^&Uli{cbBM_z8H^5WPHE;Y{jt==Pc;mW6G@dG!y{73Yjnl-m$=KHA{XZ)e>1bd@25~Utm z6bMv#gpl$m4EbK#2KeuX`KD_;>_1pg2l&weV*|+_&wz- z=Yfk;pPylzeVrPYFdn%s5M!SH@dpU`4wc`Wv!;GJb{Hqf%A`_X$~ACfrsq^B8YetBiIaB!A5-^+m($Nom| zhkTzOh%;V#Vh&9r;KV*A}c*Trsio|{)S zj{ly;fv{5jjyU6nMaJoOiZf4igT*-ybfJaJ?|M2*Q9K#?_5$(AS(2x};XJuoobjm>6{E*V;=kbblDgu=BR@4idFW8Pex^F73|GZkmP-t{LR6UTqFIP1cauT+02&bo!3 zqrZQR^(1lf_j;w1{%If?taoMUJ4c*xs5tp5jz6pHJM;8YZ|M2+WwPiH*KuiTl^!+d}^=QAmtv`c>9BoSxaBaR;-fB%y|TIA{f zk>^YGKd-gtV*bz5)A+dLSqD-1`bU0F7d-uqr&S*DU${_ua`Ti<-oMIkI{8WQIJik1 z`@O48Km9Y^mwu8s{b85yen8&~^D??`oZ2Y;_<52Z{LqOr|0q4!Ylvg7l<^PEHvN1* zE?>Vyob?rP`q8>C??oIxuCq+OS?h^&E}rs%_biUTO6j4#6=$7DJRSaJJ@7mByS~MK z9|~{2&f=BP`!-n^r=BT}-TT>!_l`;}tW@v5ClWG`^I8kBPuUU(u@Ar7;*^^UEo5A= zH4x?}Hi_e(eP$%yu778n@n-F_cUheJUG;G~dE0j5mDT~`Na%Ukx755>zjeU!Km5G~)S2Pvs%aeRyXi zS>(UUa~$l5bFQ^G=i-RxC+>Fn?$bLYKXr_F=)5D7e@LAEoAfuw_KD-qO`P^MyKhOn zGWuL`_Th*#pONvujhKGyU^4z%arOg<_;!@cTG*kvQ`k zE=j-)Z&%u3F7Pv z6z7~4aqNG$nSR!PRX&+V*E~ity-%ERq~x*d@p_|tyg1_z-PhJ513z!p{(WmCWL%{5 zbDooU+T9^ezemp-3g5WJ-(wc!5@q`<6?2_*u)uUdA^mW*P9;t8{(|@=y}`qN5t6&<9xE` z`BTbEPjk%e0a$c$#~1e;}j;i6_Y!Svg%LPP@A#+STGUS$VvFG!SRs@QudP z?y+9J1}=8q`kVByzf|Rdal!49Z@pCVv3E?ypWbJjc}DR{>-TzZ`H6x!=PZe{KSvxt zaeGak{-n~wd6MFc=f%_R^Tas^O7D$%ZgK2!#G7M&{(O>rb&ucoNOAT%y8Og{i8HRt z^v@NiUn$PISC*bPWaVO|IQAjV2Y%=8zud^=-EU5%^;>cL;EPkkDS!IsrzO+R%lN(G z_yv-DrP|tU>7-t(MncZl+2r9{#o2Eu&U|AgAH;ElYY5k`-E^*pbalW4grayGniC0Fi%H&TG$3D;XG%oJT&zF4RWtsjb zcLaXVzHsqm=!>`7^(6Uv#{VWxeJRd4*3O3y5vSaUv+q_Md(0c`_mnU3O7*dkKs*j! zDvqDRx?QKdinHz@j{g(!WN2N+KTOje}e&q7S3&k0?WO|-z z1b&CT?e+G1?08*I=_lgsFBNA#S3H^CCEgydh;z=Jcqm*bj@_Q?=^Z4Fe_L_--`AOb z_DO88Fzr6QJrL4gnHLFIPj)>67fT*Hpe#L0oOezW$8WppNA~kdPjl>4>7o5Dn;z!> z)>{|`UMS8yjoOLk*mdH~n%j*t|E+eYGJ3ywGUV%n__cT5dQqnT!EFJ3*p1FLz05C* z(=QV@f1t*b#P>lm&nb?d!}-SP2d=d+?T&8^gw)gG`SO>YPwo@Pzoqmv$Nnmg{hv7F zeWjmqy*TaOwWf!Cd3Qv@cHQkDm~Xw=c)Rq@HydXk<%orxQ>Atx8G2Zpa+Vs$kKe6< zuvz>3or;(J+)U1mxXn2G(4`;yniY0E_TIY1IPKP`$FElVk}r3+8c&D!?={Z6`?(fx z*I%mq@9$S?j~}{NeEi$uY1jQ5W3Rf(c(dl^p?^*!_5q&0;x&?|pZ!de!+&~~j+I+2 zUKw4r-a^WQ@;yKCHl?5WS>*@wTbum)CvLHj^V=49c$D(R&KtKlcDr*dWc`1oh3)Yp z)jnchaDl}+=V66~Y1h|Hn0I+@B+mF)&&4^ndJg>k1mo<-To?$G>BZ8=y2#~`DDwi9 zK*)S+%|h(7)IXqKH_zhC|A=!wpvoI|S96VHe<6;YoxT_BJFhX$I9|_5c~<#herJ|( z?3%LY|GCN=>nK-=j~(pgq`utiPy9%WbIz89_*wIMd-~%uEsp=6n=DMbyQ-0paqp#p zkbP0&*sm-$j{k*AjN=bfoc1N-KQ9_*f2s4rXVk7?zjB`O(3vaFz6Q0A%va4Yo^PBZ zPQOhY4QCqXyy(7uapw6>H_pDg6$%UIERDpm??2h%jPoVW_akop{EcI;p6Pk%4iTSvfjIu7#Tmap!#M4|^stXZoPPaJ&w?`# zpmd^dc_fNm^KTy@#IKvDzjKHU{Xmp3eGRdE?}RIO{OttaFRwM@O7~nmFaa z`Pd!ep|C*t%zWN+O^?kN215Kgh_jylEaS{?EH#c@zsdvSou|&SIOi=H$38%u=l!8^ z#{H6~9T#U_>D4C3eh|rHHz>~YzRWoOrj}U9oy5uigDuYckRJAPtNdWEJZPNnMf@M{ zakBS1o&hB6;&qV(Gz-Bm3?@)z60mBwzfEICdOS9?R zFS#CwH*5d5+c@?k8UK;m2fpuJ#*^vebwB(;Z4N}6#Y=ZYLiPtcPaaacfS!hN&fOBn z&Mpl^!@x(jMZ)&@z0%*Ty>E;0=2&s7c>O7_$A|CQY8=00squ93N2-@O4{w|Cbojna z#<8Q<^Wq0}yK%n1Ta251g2ltY2O1VK&RHJ`nK$%uS==!ah~lquP4rOZfO+v9#<@?; zIP-^UN8;3-y8=2KVle`=byrme4=gWuR zZoEC-^zv4EO6^Q2yl|iM(^f>TCAAN=M-g8~gcum~)m6;y=kVrmBuFCYB zAkO@hc%}7h@g(`Z%G*EJHxG0@#dmr69J@vJ5`N44Jx^XE&b+?!?40g6c*`ccZ)J3@ zIPL1{Xz7^peR$aMi?g0AZu>J$p6}cB49^f}zD=CV)#iCr=KdGOutW@^^$dg>!f61VQW zSH(l&WiH?Pne^~}R1c(+$2uRKtLNf8?MzRWp2YW8G5@Lh2LHRNk2#k>`srUtzFogJ z%b(#p?YWv`)4MHw>}$&M`F;D1ht6?3j5B|r_uDQVH)#v$CPQxbpHBXd zzH|IPs601oU)yW)^i%acvoBrWMSJ}5J;w1TNBQy>#PL@pPIx`K6bFu$@tYWa&BNdXo=@6`B4OlE<#+TI2MOGyVZ_em}=}?EOONkAtT=Z~g5G45bNaZv0=Hkub0p~bB&)>_~ zUw2027>}H0oO8VWy-fX5oObz0{F%$wAJ_Mdot5}M&vDE4 zWsDvw&VHVYOb_<0lCO+@VypD#F3b3Nu4l3#&Uo)amv?(b{D+9M&T@%Sy$C_rQJ`eo@>{S6vscl2A z?|j_Ayy<3(n_nsm@o%X5IA8w3CW|wVs(i+8^0q)Uot%1SBn+Lot1M*R%gg`3f4sxu z`SRH#7P5~{=}Cq@G-mO9xin%S>nlo6GX4I0ES~1RsPY&(_lU>d>+d$+E={Q%G0%|6 zZ+o+G^M7GsocfFME%xre)8hQg%F7mU#yfXJAoB;=d#*SyoG9KNf2;C|`9|?}Y2JR5 zC*PH?oa?82ZWf;-o=#@xevEGyZ;yZfc9UnHzVa#Gm?NGHT`kVOFmdcjJU<&Z?=yME zsd^86zc;kI;@B15YS*#Pmwcu5iM@&sy>UrAf4JL1X*#cpl@^cm{)%oJh zu?M|<9zH_yaqv^?O`daY#5r%q>woOmjpN5%oZpM%hjN{9_W!FrXI<6n|GN7LZq~Lq zZ@qPg$uXXlJpOORo3+*Aj2G70b@n}rC&?RKK6$%1c2744yWai4NF<~k6~_)f+v#u%Lu8)XUM(fV& zM=UgX&Ljpq194;@Bl*e1~|m_Ab>I&Dwe5>~qWXw7eb}=?&oz1cdy2D{-U~ zqn_!1hB)KrD~&U+mGRv-M&hyeqTR+T)z_+iY}eO}8pmFGk8#c|*7sj&U3jN){5?sY zbpWN0b+o&U^ZqskLj2w>QatDFBz|L5|FHh;@`H2kvg@Spnm~x%g~~^od-M+D*w4-g zg!p4uxop?Z-yeyS(i1$~sPB+^Q0))%&*vLwzDxB;rTVcw7H7Ti3JV#}I3Int*Y{I< z=NON@yS&~hH&lPKu6~_y>_WuTN%zl({p$6`u^SM_kKl;KnfI$$_>Xhua&J(5*&O?( zIDSoCe(Y}5bJ!t@r<`kOze^I|r^`H-^y7C$oc$|apG~}ep2@|*lFJWyea8CMT;r^R ziHFV~RIkL|X;&N1H(u;~V3)YPck%MKl%JK+U#mXAj((|e`}q- zOIybX&@^|aIDV1E=`SB?oOveaQ$N&q$@u0Jv;_P$Q_r(3q zHQpS1we#}R`VJUBU0|GbmyEk#>rlAzQsd0yWqJydXI}qu8P8AL=JL5y#92p~ZJcxP#5qr1 z{S(edQ@w%T3~}}!iZc(X?+bs2;*6ignP1K7nV)z)JNpA-*PeMP@goPEdM&&gdT z&Usj>H`ynh$)A0#r6*3UQ9aAPK$q{9#2NqSd#4|n^-o@QoypTKdOa|;UmSbhvT??H zE?>LQq^ zbA#90b1^?D&ODv-?&sCc(tavE{r!d5BZ*VrEQ$QC(z+*m|7*kBxIcF`CR_va^sb1_ie`MuT(9>5Av2k7&;HX z-Qvuzd%DY?*=4*^U2v~)?C@7u9DApI7KY9vZ;picy}8-q&9S%LZXxaY{z%9=gXELs zZ<3Ew_wN=Tn6or+op#an3>>U}IQACm7pB8ksU5^lK>a|@(OPKo?fOrY9_-vzKiWFK z_;|X*Le6zmJ%t^BzK6=_ryIsO_p2TWnctif2(aVbYGHf)T;&(@S2Hc1cK4(fR!04N zLgt$HSu!he$u`s>en+|6E`31NyGWXSD~67cPukWd2(93-$G-7RO)Md<*e= zr+na?!`b4)&sd@`_guA4^uw-Ee6peMfqAs;7N?%NHsdO1_|4ww@ssCS$ojDBpE`e! z#Vez}F9SP(t1ON^$v%aJ?hO|5J)W$v{^{E-r3L;dFVZJ-nYvSJh0H^uc-#)^5tv9Ikz$62P`$73~g3=7|)60FKdPIIM~}8 z3B$lgUB1@v@>_hKIDUjO`F73ZIrmM^i(Q2{^S3L-YY(bCb58c6h+I19ei})SxSfY& z9D6a9hkRqjF2x%ci{qDjb>MoXb)@r&+cNo&i>JA-EC2BqoICYGJ$HS|12G zKXkjrS#PLXh`%xMIC!x*=dLa`j{h$4(8-I_FA>i-zU;i<{xDg0Q#oUw$%bIRD_*?K ze$V``%a>mxo+O{$YCIjjQ=EBFar*zxC*LcM{a_~lh{`$p-o>#a(|z0ZFNvG~LDR>2 zl;5}Jel^+GCwb;CTt4&1i~U8_ICZYq zS5vPNr+pJ|*Wa&xTYEex|FP2$=R72F))ig8*3)~$@7(5?Sb6%g%a?t9jq#!SZJhrr zdHkbFp7{lF{5X2KZSBtV+_lm4wCfus&$%_?tc%=gob@~DZx$a_xxyaId1q33IIqR| z(7CRsU-4>JcrVQA3xRG_+b>M z-=h1n-{BTd=j!V%#GXG(=X!Dcy;O{|k6zy$>!0e+VP_>h^tb){ExuRsoNJ+Uat>1V zoqj>`)Wgz~FQ4jqTEETsPsHgLWqLj@&VKb9l%DaLINy^vDN+4dX{{1xe?z8cMwZTp zRsZB0XRY^iH|AQ%`6aHW^Xau7|JrpHGLBWf#JbmNi{rm?wuQ_OdpbvboWnTwRO8rv zNKdmks_%<&W>y}4B0Y>h^&Q2*udI@uUR(0`6;Ad0($y+QmC-kP{x|-pc)sx!>1&sk z>pikRU*&;)?5fZ3o2mW)_SYlQJNW1oA+dI1`92Ht<*)3Bgp6mew>a{9Eo2{}e$T%6 zMHXj&({2yXRy|y)-oMP^mC-YHS;)D!s<#=3dA>~kV8pMlQMm( z!Cp_#69>=UD*5W}{gLbJFVT0H<}OH$w@c5t!#MN({+;LkqaKL1ODn|LzbcO1sY2Ep z#hYV`Hb}1i3FT*g;%DOc=@iFL)pEOz->*BPh285ie)k{0Egk%B48t!K>}}Nphyj zGvlWPff)0o%7@D6Q(Gc&*1hHj3n$MjMMCUu#FOOL%6HZ`FESnqhl$fph~xk8Jmc80 z=(}LwOC=CzpUs((pjlflPCrxS8T+!+jOWW2igP~lb%8j)KgRj5vU+|?**JD;uQeX0 z?iI%`!L`O2zd!u|VRP(rs{iTt&oxf}@dXxgUYj`ks>Jbg|2px~UVW#`r(9!kp7>Y` zIagAg{W4cuob}a{EW|I(#%N*f*f|zA|NRznezACayfVw;?3;O$g_K*DAG=T-dyin8 zdPwzo-=8M_8pQDv>wMtGoG*OQ`^1%FFl^s8*_`s+2<_I z{D$+w$1gOFolaJtf3ak7{7YP9VeGx#`S?N3OMb2{`)$P8zv8_9d&y&mydm;C?9FG| z?^%Zu$1W!0^DZ^cz7&Pcv038Gk4TPvb>i*Puh&Q9*hh1*`_ZXxUD&L{6yx_OV{ zjOWFfCpypMI5$)G=X`i^&Sep2Tq2Hr>$->>{Sficd80Vz%1NGaf#=s`L-|DiLGsv7 zDu3yhisM&GoN|1Y-IsF#GWiR{v18QxqdaH#b^l}Z>-7FesnXATTx;pU58>Ia=Yv;T z$T-aT}7@HJ!ecls$nw1t01KV!1usy!?%~A1hsQ%@gn$&n@bjs`7;u6(Y?fM_K z7*D4Ea7QG--^QXqn4ft0HV?OmlRxt<-X5Q~-NNSB4^*#Gzh7tZO7)S3g?w)rzeUf} z9zSh|ar^+QzGZx+_n79&JB?Rb?njYvp53Q-W-p&kE)!>-bFXpg-HL^k z)@P-k^N#jd9Q)vf7UEAyJm2`ZIP)TljVD7RBY~h&M4;`k*MXWpP@*Yk~I z#ql?r$!~N%F{b=yK6$6)GQUtfv3S~DCeD5q$@6_|4d`RtWQWPOOOIvxKeIIur+yOW zeB+gocF(3_8hhVS zc}}~t^!vUat$g_jaXY`u^?vYX3-gVA;`#E^HH$N!ag&9y*L2?axXYD4y25y~w!rmI zzBj7}UM`;Iwma{BZ>h<#zNPET3yITi+-Mv>_u^q-tvLGws>aQKvxU^R;`l>eXmRu7 zV_`DA!{zIb&9^x7HR7T3esSz8Z!peydWnV1CyO&4x!&TH)^~2SFm&4bP9f?igw9VE z8E5@i^7O0Kj`!D9*$*puz6aHt%y%nY%+u;SrGI#-{XPu*UH4Che!eRbXI@$D1?MAI z?0W2-DUO~Q7N;L4&bq0-JND0BXdJsz*OUBO-wWrfh%+xW->-i|oOPs&EY7^9czgVO zamu-K{A1a5{M3v@{$kf~K~U&^So0IRMj~;uUkZfS_h#}xSNU&`A0&=_oH+Zp#1WMq zo`1gmF7_T%`Oi0w*7MR%O1@ciyD8dxarPg%{NP`=MSjPAnzI8zyZ+hid0XPN$LAX7 z{fg%suW|Y5ZQ}If#4A;w-=JNaVe+ht=skzR;;oT5>*D+0XC&$LTwq z54}qLKgP{h*zXvB-WCbzXP<6y=ApgZ6=!Ao2aht&db;#;F0wd&gI^ns7Z#{rfgexx zOW6nX8squK#a9JF>_f!yb9Ah6#&5cB9Q=Sd{ns}c@B2|_Ke#ykhf|E>zg~K<-&Q{v zJq5{Ezoh;~e&TE5>_2{kasDa&^nbwBWVC5}DF zZ09Fk7P#KGSeTdf4ZCtHtSm&a#koZ9OmhPQ>Z|m5eiw zrT$eqdAjt_pAu)DILn{4lBb_`mC5tnh_l`#o=*N$>BoPX^yDW#u6{N9;Kdnly8c{U zoOuF&-qQP}CrMr)&hM`<{mkD;zFqo-`qlV{a-R9y$1X`6yAW~uvy#W}jX2+-IOWQD z(a-;5|4Wvh&nbW6)O$AA{jkf<^z3xrb3aztzv+3gx7GW?FPG#gmy+lHmj`~|EIzp2 z^svsOd?SA(Px%n1-uCp2ALQk*_W5-#f2QQkA57r)_^n$b-aUJcg^Ux$SqB%#u6(xm z_z79Q?U$Y~@cNm?^Ak_(354nJwfim3{);shkAv^qZDHu#E1nLo+HUdY*he;77<)5R zZ&Tmxx45leS=g@s%)hVPpZ)iRSE`*#hNe_bLZ>D@tT!(;dHgeYdFcM;R>iv~N*;Rv zFIUxzRvE{y{t658<(K*QReMtP7yZ1Ojbo4F-%B=*z%E|AZzsok`Lz)_(xG(HZ}oI` zpIB;~d|w#|SuftAc%i%2LhPEvX_v$+RX@iAGhgKs5~^3@;Pnd4KX2f7v~Q}<<5YVj z5^ol-TNeoNU)-=b_J?~sd`rgHj#wPK74>V{rN?z&?29u!kKSq5X%DXqgrT$3(?2|V zmvQC;^c>jf>-{!sQyD)%>1MxR)#TVWruUf)xg7!LH_SI42Da?5urlg?1sKOHR=o9? ze$PHMFUJ$FSz;VNe!4&P&}xfQzbvzmeX4ptNwU0V@&36K|L`YJFDsp_SFh0ZuGb&T z163`~xK+G8{&u~8^eKJpdv#tfi_<>peg0!V!_eCec0Dc0$H8}rvkz*far{k) zvoB2?`}B)kex`VS;s@f?4`&-^9%Q+N?0?GSCr`6@nmf~Z$ICD4O(#gMvr7383P-!1 z!Dk(99D5jX_NS}f!mjpU1>}=N)c5rIPQwR-AQ2aprAa>-@Jj#>Dbzz|%82<3!`l z+6r;jd$RiS?I#;2f5cf=%Xs;8@z!Q>{7k9bux|K9@zJ9)`7evp|B^iOF5;v|occ}j z*mJo2P`R&XhUvi`O8G$jtopJ)k3@az_nlZEd7kT3lW&)1W_qIJu?H8YK2bj4-(Q^j zo+0`1o#Oa^_3w%E{fsw@C2{=0W&C?HBwu{FCJQg*fL6X8e=l%;!iC{aNV=h5vE=rF$ihe@4l(4y1a7_gW0-Wjri-{Jv-P z%W*S}vv0Q=6&@o_dm+v^(dApOb@}eQ#IctUXT33#pC|=>&pB$!2ka1TGJVV|USgd7 zx8(6(cC+#J_(@v>VZQO`zDUUY&k~D=&f{AY7S^gBr(blH#n~S#9;YtcABi)*2o{Ec zC(=L|r?!YQeyc{}Y4>g7&Ej3+Y4=Ib&!JD;7P#K5y-vJYT&eH0UHb5567URv@>AQ_L$Nq1Jh3)!=)qyb0y+Bk@2|hgFoOaO%6MaITohf!*$o8k5KF`3mFgo1ABH>UZ6Td3cq-HuKrW*~hDVqaSlwAWr>UGR}Iw>QmMO zE-=pg&V|PDTcCD@c6UY~%6#$Jk&tqQt)8yp>3VO>JD+NDtQ&ZJh@ZJgoOwub>}mXaAGk%Fd?}bb<9OvqoZ2dm zKa$rOXTCc7PWOnDj=XW~@jSmv8^x)24lvF|wk=>UstrJk2=vE!PA>?D_iq z4CAb)%{AV)CujcQ%t(xJkmT8ancertXBlTbK|EhRK%9POFwS=>PXAZ$op${k9FVyg2r5=Nrea+tbs!U*(PORGf36vitsJlgVM%S+tOGsPcjINS^s6ar(*1H|!}T zPdjw3$@2uW0)N?`F3z}qMkLOBf%Ib!FHSuqJ^5rFx&sPyRGZ z=OXFhyFN1}Joo5puMLFwi4dpUzR5V_RF!A^!>GPOkJnSlL3&@DXCzKLDvnnb_L@9?zt$M%JFHk7{}bZuyI5r$e}c=!iyd+NcC9py|A3W|zwF--Xa9)W z8}=KnHO{!i`RGMA2jY}()#uDth%-;S!Z`kNl>g1K=ZNz>%Z#%=xGCzo&!@IaP4y$< z;4}4oah{XfU(Q9i(d8d^UiN*@oTpSZ-d|r11G6NLUt_g@$^$>-%f6Fs z#yQtfJofSn0&)CDDc?EYO8LpW#C-AYS&eAdyYBat{-5|i_Kl8xbC+Gm@3!=?&r$NB zurK3>Eeu>|{4LHnPw$cUF3!B!NaS)HJXrEfk1GAKH%~m7{+i_Juj_evKJj$;UUB>c zsC=ZuH;Tup6EZ$u`IhFY;+57TJ7U6prjA$|6ux035@N3+PCE2{o3(4jV{es0D<1)| z*gMMO#m^|je(EOU~?Q9&UdJIocfN!{`nF3VsP% zzpISybot3^vhURG;;08yuH#e?PrLsndHR>)>=RPCVt!KJ4gPQSUTLR1K6F)9-rY`` z@ptx}-c+&lvhJmNhyJLZi}MZCo-^LOz^;=IdM@U>&$l@B^GOy`F7#ad??8*w{vH)A z9Q~>|`*KfJy!DP?A?J=O{q&zMwm9~2ms*HF4sq7GuMi*qb;&~7Mb%^0PFg$+?3gWH zUgo@feA(jcqrJvL{0@pUZmC$D`F~xfT@q*B@do3}!(VS9-%TbzYk|d?*YWFx7pq=n zfAm7*?1!IkA?>SpyZ-h?&i#Dbb}1*`w@1W3nSO`gO6g}`?u{moeXBT{vh=)aiE+j| z(notEJ*-bJHQvt7$)#LLKFzt`m^k>Os$H+NzUumunaeERKR=}}&w7=b@pRQ zK6K_USG;(G(p4F~NxWHmZ^plpac_4xw|RxhW0#}!(ob|f1GkAY?(^puIxXYx6UU#T zIQw(N8NX%Yo$raWPN?_Jyo~eOv-I4|2W08lBu@Xy^P~O?m#>{H&iuAG-+?&wm^l4f zJvZ|s;@CsGp3X($tb1mB()Co2%ks%N_EzH9L%5#Ct=WD5^=8Wl#tAMzdYL%>6|?&u zD~?|naoRg^+B@-fy{+$pa^m@!%kGLJgdZgDFLwT*ehzjZCDTJYyV}Bb>D#)F{n9xWPp03Ly^mL_f5^B` zo0yvocdS1T}oX4z+1%eKe^bREA8GQ&Uj9o^&xS_kK&A%#rclJ={LCkvEPW}CsQ1I z*5&p*%#(}L9~P(G5of=yIQ?e5NA^vNvrZx&I&;O*C;iybiL)O^<(7RZu7B)LdcX7w z#hIUwJYRx1_Ri8nJu7+qVM!16eB#V6sJzj>`+WzB&ZmxX{n`0w^y8$T{il+*bAj#o z@FOgF)=ND7qt59c>U(7UL*EPEaaPX1DLss1^j$FikskKxNuG7O?EBgvPXA8dFLrHS zZwx*tJ**3g^Zn^NWjw0yj`=@v{2r)&;Qi^l#?EqMAiaE-ULO~_8!Y|ozpWc*--0-H zFq_3Ek5&I9o&1#Q;mYX8wiss~RsHHD`Jy=UF58Xs-t=7ff7dv-QvLJ}zyCsoQ;#T~pYU-6cEhI{PrHTGuRpHmWS;P7i!)!T{J`D}KhHem zmByQ6FBHeFRL_r{kJ>@@k$L@4?5LblpU#$^iFf*UI{oIXyeD&{r|9dv^asW1Ctof3 z#%J_>VNb5_hW@ZP`&h-Puf>@coNMwtpE&0!W$n*LG=D{U^!+k#>+(~VlwJP2%dRQkH$Di{OlV|`Tg=oPT%iy>OA+k`#txZ zbMtmt)^}kart;z3LGn4b5I^;q*Y~@&b2-Qo}9SGoMo*TkQU-K}=XxkEnA&5?Za?d@vt zqvEHYm4D(`il2TZ9D66VE9}U`&;B5nb6EVu<5B*J2O@s-l>WV~?<+spz2y9FtXclM zLv8W1&h~cRSucL>X_S2K8Fl`V?HY#}=X3ctiJ$ePx5J5tC7=C;_}Q;YKI63biI45| z-nTNf_o5e2{c?UJe&T=#M=zQ4z1ZK|daiKplM$YEZqa**m!kH@`qJ?{ZYci1!ijUM z??>+@e&T=&FIN8|9DDy-Bp=Dxx7D7x-%mJtOyS%owkFu~zL~ot1p6+12X+@518MFR z5YBo0bbF3oX{+JI;qhITo;tV4I!ksMo^{?Mocyh}bnJa)(OUK@q?lj6h4J(4BC+F+E!~xL03;W8;4Cnk*`=&7N zaUM9wn;XHI|1zU#>lYeFZCzpM&@<66nw4Ir`sLhhm8IjTpZ8~_kEwqX$4~PF_b{b; z-a9FreV*nO> zY3&bNEY0{VJnMXAQy^Vzeoy6tepoo`BFP6=y9zxOqhb8d z`cBGipVIx`IbgKdyssXh_|GbheTV9e^{BUtiLdGRoSW}8e%ighpYuDH+w&i)Px_0` z3*{l8x|9@{PV@n>|PW zB|MBjy~onnQ*SlOdD_JR8hZ8%=P%(<;gpB>>((6A8{_mv#-9~72`4U&aN;sbK6)Yl z&c3?Z^|N+}&4a?RL(Sj&dX)q7TaGWx`8Upr$S)2b=k?w{L;UEEC7=64#Ls#AX5+&i z@+PC)hnnMG5YBo^l{z%B_;?zPS$6uqqa7yHDjr5WeNkA7e4!L;^(y;nORKY2bcz22U4e~0+n z_3vq1;1`!0f9Su_`FoFwA3K~Yj34`L@pBJnK8}1<{Omu}p4#O}eHZ7Lml%K2_eJp+ ztFKmmxK~B_;a+&>A9Q;v#>wf%AI2Y0IWs?de#VBx&w5+@#DS80%K2@^j~}M^vDeo4 zi5-FXiRaw!griS){`wDvrz4MeJFAw3qc;-Hy4~B^ z_!BBO+O2Tz+ZE0})A7+!;pkPoo%NiM*Sq^e;1?~NeWY;wCtQ9d75=~Rv>p(i);^~C zX8))1XT7NMv3p)3--msR@T~Jm)jM%(^7`H+yjwY5IR3uEx%bNXCysi(l=llyTi;(T zdG#NPANh{gdc|+&D1rA`d{g7&yhr@l+pGLJr&2w!4|O@^omU$_>viGy)#v=%XBy5p z=k;2Cxp3}r5P$4-dppjbeE#kIiPvN6jj9jsBM{Cwqx@u@|IEv=?EIsrN)GYCg%ejy z^EB&jy%+m`;poqVbDkrd{_6a-)9;9uzsY@`|Jv!o*%#g}ytk?MGXHwH^xh_%@!aM2 zUz(Ti;7ak2KB)Z1$(6#%SB}q={H*g$FR#JxtuTJ{vXW1H2;rR1E;pQWFyUEg*vqSM zjri%mYA12>`I66lV&Z3CaBZ;PjeIM|FLyb$FXrv%75-h^Ut;nZPx5*^NBrEc?D7X6 z_Ieq0`OL4%KkKU-Og{63(%qrd-}`L-`-Hdaf92&l`n2+i-qXu*vM!u)^*ob9+>N^; zly(0yrH78a$!J=8-O&g|-*HEP;0M0YD1K%~B9w8xZfW!zD~z_w_umx{;Tzqj+~ zR>QNxLe0zA4Xv^?=Qf#9{Jb?DqOV$MY0f2f3a=c|d_f%5<&H1eZItzq#zXuCZnHG| zxjja^m3QXj)usiOE>``%SN2QlkHn*z7?(yhXVw=M%5$!&-0_D>#L6#j-Su%mJZ_`wUch+c}EQ=KD*>I zKCH9n-JzQESKp(2vX0XDjbDM}bAF)lllG(e1b>NxCWrG1@e!v}>WLWljagmYh+&l|(n3g!zpsrri@O3S zcA&!3k<0UWDycL*mgsDIDIC-ZsWw`y<1BUk=d=c&BW^9yI+lz-=! zglC-@!rNuP-wuCbub<>)!Z{z)_Ym(+<8;<}>kiN7xbngMh`v&Hzik3=|n8<#)+4#)cr={t$ua3j{ecVbHvBX*!!-{ zCLg_4&c9FX9X)_>?3{(iQ9thr{lDB~{H&9d58`W!Kk55`aLyORPdsSh#QhPDzS6&c z(&clWqj8CQ-28j`59a*ag;Vc2|2Kpa_f|M@qm|A&9>14!>&lgVoL*c|l6^?zG^Nrmn%6Y4B;!b(Ga!8c8Pr})6DBUhUNAj@OUTgVhedBzk zpXU7Aa(v;c$aC~z!tqlQ-W^&hocn8>zt9oRcpRhp zdj9)8P7&uK;$vMRdF}G~xtudSU2nR)N;qiw!jDk%RP3ENVrlH8G%qq<@6z-7?Hi5a zXCOZOi#30tAIay3S$ZCNuGKh(-@~H(cm6${rp5v6iEovhiQ_IcivMQbo?ZWrK7DQg z$Nty*Vc%!w86S2zw;OJDKoLTDI$r&ymviggdHetJTzj4su2TP{9@W1%R~3JpJfv|c zE6v$pe5{{tHX6of?+VZ)IaT8x`noidN?Qwk{7=r%chRo&UCG$z@_EPYc)N`s)Wl!A z@Ic^q#o=3aTN=Npd|mV_&9hmdsC5P7f!am8d}+)0+w~Q98b9_?`tEl9e&L+U-DP-M z`nrTXN9DtO_JU|54?K`%m;<;`V7>(;Yf`H1a$h`Gd-j za|z*D>5pnpoHOP4isdG!J9Mq^_TWis7o7VpH9T#-NI3D^)t>NoTO$6()>h;>^RCK) z`_r^O$~ub<8%{g{)iZjo#ep<_E-KGt>`UIhdcL&KaP((6{uh-q>mIGA7{?Apo?~Ap zob#O2_=#)a{bTS^jepqL%r~6-M1}J{;rKz_Y7}RP{5{uiEdh$DbD<+#4-CjL(;R^ahfTU+2Ea^CWRUAm(4mZx4P*IO{#hL9cN` zfD669aPE;8jy-P0aO9{RvY)I+(#%^|8P0ms+vo5rg%fw=GQ+b%5Y9NGc58k!hI6lt zaO|#poU3fQ*zj(nF%Y5DpSSaR>B2y|IJ{sWLfP-#A=)`xa=5RnX=(HX!pTo5kVYRX zoO^~fUUA<2Hp9`cIe+~!jX&5&pYQzV3NH>{v?9WXe|gUTzCE7)!!o1jC6piHiwkFc zp?*sIfd0U9{A1OBSvM^;e(V$^hw~)iVf?+qpFLL{zd(4>_kVKy=vz%r()WbMPxiZd zFY?bdJS%+J@!qER(N`${X={`4?ocY6@mudr`mV}xKWFCrQ{_WkHR0Ibi68&-X(pe0 z-84=UKSDTqjEfA%UPUxJ;!zs=;ZKM+owXYpg_C7kb7{zJdV(ZUZ;IOU`KGj3=0d*b&A zpNhB2dG8LxDcQwF)7k^)1t|MB;j{+& zH6MRFCA}B@#<7NTE|v3tCXJRJU3raB_CNV}cgBU5ZVx`Je#SYx#z*v}&pzkE=i}FCM-)HBMua~Zd#&0TalO>vL(jvzh4Rk%D>w338hu$vvjE{F1 zjvbfs!M;Q9$tGUA!Eo+h(|1js+jJ}Iwir$v!%b1o@AUc{yJ4r{#pWx8)4p6@b#Ra4 zAIj&Obvb>(KEv^Y(DxOa59Ra7R}MJ-h~rh)J0*R;J7_reG?LGs>POtedB||?|I_z! zZhloHjlZ4vlfE;(zl>aXwehtFXX(AgVZXlvJE0|pbN_qODCc$q5lZ{12WY$ea(x&3 zpZ$gxoBy`faN1 zYvFLz^M{2qPn~S(BzdoJ>c{0YC*~Q>JygO&&!^V~(%56EJh*3GIKN+QICjU&BNTmy z<4IU)IR2l)yOqP9&*9c$!?7#VxD_W4=)2f=%{QF5O|=Nc4)K6d##_yQtnbwC@&8r% zU{7^jFuvLx^}k~CANLtQc7vB0PW`FfVvi&oy>>9%;*Ccr`X{x2zE|Tob|U&-;?51& zbMz|52Po&RbCe#RGa$-6yhhQZ-e44e;Q^z>6F$i(aq4D?R{UNt{HV`%JX9Qadr$Ow z(=5$+c#UZJIQ1X$f3c<0){kZyC2ry#PwzUjU>E05@R*v~999DUs`r`PKD_(j|i!Q182^j^;W7uxf* z^-mfkThfPt*6&P8S8z_~mRh zoc&Dx-N(#!{3b8Y(FcX|o?v*=w@>XVZGA>K_8RK%?ZNM;Ulg17=J(Tt6tmnWtvy;$5#HjLo0siXka2TFR!nA z)bEH3a)bCs-mQK@9B#E|?6Pk(9D76I*g0&lH2c80M&smJ!Z}w{Ib$C@&v3^5jR8vh zVBz>j+-x}Z%EG74>9FUh3a?a!cZZ%_1eV*~B;fy?uUPFmalMWB(w2^0z)9k8@Jh z7k234kG-pfv+oqn_`lHJ%Q?04Pb_f$@gCvC*AtFkr}IyKK=Nbne&OxGs~sObOE~k= zI(sko0;ydw4(51W{OC!%9hQ$OKkdQG^7o!Coc^NnLH{K=^ef@WQ~7X?r}2Y+BKfRu zluz`I!n>6-grk=gj{n43%TLBUvIOm~xJ(lwKe#YgDO%p%y=U3Z%(XabFIJr;#g?1*K_`|}{uc-ZJonLAEV_p}w9TrG|3vG@D;2GU{tH7&!5zoByGo{Mdk=HAbmQR+)_ zvqGl#;s>I2HRm{*H`3Or?+oy@2Y+~v@uwp{)jZg(%v3+;Ty44G=*|5*nltYSq+{>w zBf@ig&a`%{@NVOSl9QGG?@r?@4iBl_SR69rXI|4fF)N(=c6;6~Uv;nJ&!`>XSEYQi zFTY#(#DDHJzI5cAyd4DPoAY^>(|PF;dro{j@naX4Svo6KcNyiL!K2Y=W$OV?e?s+- zJ-^B^t^IhHJUOO+5^=EGEbsurNzIn5yu}itlDCY)hSJ<t(k8!t$ zL~mI$KF;ws7)_F6^j_?U=U5v3?pCA4>QB_JILE%k(%6rvJlccD9gd`F_rdTud6n|T zdP_LveZJwG8>`)7hbB4bMZ`~>TCEefPyIl&-?N@K{$%W;O-AG7lgdBqi5o1PwvJIg z+vP^fCW#1C+McGrT)=NZ(IUBoB?^OKU$D!|MU3I+StRq~0 zqo{U;{nhn`Ghc0pMhEvVw={m2=Xv@h@uOc}d%gC5dxr5Bs~+!>ebOC)H0AI8p#Of!=~n(G?^gxM?+$%ea)@KH!uZjf zt3ML=Gtd7;lFxd2dgM9%ca!KyP36qGetrNa4z=W?j}|}mf0g0*XQ@447ckw@tOw4I zQ1pzFQ*8c^fA7TH1;OyKuS*X1i!HJ=`+ylniNhqEa#26R9`&p!{0hmzZbbcpI8V0( z@Z#_Z%0F?7B!~W>a>IU9{P<4@=Un%6lY?Ep_}S;Gd}wELO%8SddN1c+${+jtdBP{Z zq4tlSQssu8vnRq&90SQg517mOubYjZ`!n+L`DNA8+)JDHJ3psO#;#R+puV0Tc^*fv z%jGc)9gYTWD$GNvZuXjz~WD zR_Ob?jUTVH=iK`%e(a|8z37o<8lII73(q>AJj>FQ!)Zp_<$o5Ao@k+^r|h-T+V|D( z7zZoDJAWnlw!ew+VV9})k3L`HNz(Tb@we+|=k4Kwx7zRM*W%~io`sg?d#*Lwu6w<6 zu5y#`s^9a*`cU7+y&gVpRBrNdjC-Xbzaze+`UQ3s)9iOs>wo@I`=P(6UvLk5p8rBF z|786x^sJS9;u0u5WiJ+cm#Kcy|ES*a4^g{_z5l%0-plxVwNd;h&J9ZYxg+aswKLB9 zG)`jQrT5~muJ^L<^nTOpaRBk-ReRytHx)8C3lvFi`P(k0(7FrFx%*voo5?DPFN`!ltBvp=-oq5qM5`oqcgd;Cx@Hau;; zz{{s|oASf?qux&(5{+Ya&zJFY{;GD(`JU&eF#Nand-QzL*n6={^Af0cjESM^@}L?s9N4dsWp1fs-=*LcPJ>+PoY_8UzO^`rbSK5Co^ zJxla{?xR&b5(h@@hx&bs@lV+);ScNWf9&7&9qc!hAN*ic{>=NzPgeM#@`K((`QUsb zZ_gjf^Z60)x04@Ge!}?Ml^^U7-=_C9XSlrbapGs*S34t)=$W3M7wNss*UAt242{F= zC%qm==AUbP*dcg+N(UroDjxlmKR)|wjaT$*l@I5nJ`Oc^C_nhU2EDKPQk4&W2r3`$ zQ_;LgKRU&pqd!!8Mt_lycem@iSuf=M;+ciU7kfQ!0PRTcW#8lVUg*_()7l2T7k$G; z#!o${99Z`YXWY|!i`6m7FAlqXGUxIOjURt6l`H3QlFvAk%YXbvdrmu%9L^W@UC-Xr z)#vxBB0+qNGv2ORYn1+#RZ4|)QB z-hXZWUGp!n-*Ydo%8C2KgrgS~AMxEKhj<{XBYfy3g~IoF_ThX`O92_AuVh3Kt3|UX#n2Jl5qD7P_3yqsj-rlRVvwIrYQ(1pgw{F}Fn&xjv+;%7crKJmj9Kl>k*e^z=dm+$t7 z%!3t^gFT~v*VxVC$BsnuiN7y?^w{}(Uvs_j<3~GNzw3FmaO$gMX(Z`6c7!VFJezOU_<+4op3nCPM}p*Vt|%NkVBxIqeLU%V+P`o3Qz}pV3^iVHPA8o4QaJtd z63Y+!b>)95emL{I$_;&$zjxg2Cb5(6H-7wMbNnusGja4x!x=9n2mcn88{>FhzdLv8 zdH)GVBYgO4H#}Vup0-|bMEKAjg?B427S4IVVZ&LsZ!!L<`=0pDLxy8Nu+{Li^^Q!m zcF(~`8vEdFmQMQIE}DD&_D7P$5!fD}#M2OEoY-f0aro{XhI786_aw>aKqQ4eQFy!j zlTCqi=y~-(gvQC&==bQyHU`rCt{M41^uJ&E;aqS-AlkTh9n|mUZ z`yl;$8$metA_~t6@6F5S{&mLBdHinU$8Tb@rP+t)_(9>U+k~^uTWim|jm5%4PfIxW zW(z0YoN(?-(f2S8tucP?Vc!*@Nna+sSnU^{)-vJrD}5*VT^(REy;_8}%V!Ixy$WX^ zyVLM6e!0G%{jcz1^C!a7*08=a8GEJ6>A0N|_gCn9Xm9nv@3V=u;wNr|aQ3;vsZW>R zKcw%${@d~7kD0&s8vo87*H^RN7v60=sPADM$mI+O$9_UM_tW@$J0Erap+b&-MtHG$ zr*O^(^Y8qE%NcWfC+<%djvbBgw055O+vWEu&AE*z_b9lW(Wh70cc!%i&fj{)cFRBh z&PwAS?Y|rRsBqRh&NouiJ`a7jaN=BOAISKc@Bh9ioO=?5bN=FT>P?qZ|GD;AadeY# z&ZAt;*uM%d4zCc7{jhNS+_avfod`#dE1Y-<;%}Fi>Am=UY_t4hHzj`b0m9Rk$F0H+ zE62}r{^~06bMKDU2k1A1a~|SyCSJ89AP>7@?bBJeZ8iCU#zjjuiUsJ@H#AvxTuo*LdAdQf=m{hIjEJLmY{ zD?jKHlppRnU1^A`U!n^GUk3X+&7!!7bySO zZ%ID$sBrwegcJWD|K7WlANGei{tn^z9Si6D)9bnSC7YtXuQn_>tn*c_+_UcZ$S>ww ze$eMCKg3B8j^9jA=pYB(ixMG*b(T<)9CvNZ91FEh$L z^XsG0{C-K|2nWO2kFOP8IZyL7>*CW4XMS8`IQx~VrP()p=W|f*`w)&kHm`@v&Whli zqwBkg52g0oWNl-DFiZHP zukUD|Y7eZFZ!{b~hE+zBzUj*Y1iO`a5!!9I-7otLZ&xGp=Nr!aqIn*>ARkvIpSsoX zY~p<3jH7D*tOpkuj$QigM)7MEj=pW7rHSJvoVaV=AE)duhd<~1$v)xOc`kDP2Zdv= zDV%v=vEk%MIQt{VM+>zGiXJ=1-=guA^Gf09+l8}_6+iW}#P}IEg?ERZ5P-=M+EVa?Zb0{LF{K+2;$VMG7YlsBr3csmpzG zxlztzgrg@B&b}wd&vO2W?>XMQRCrpuMmYYm%k1~q?F(ld7d{nVhB!{nKk}rPPt)%` z;a;X({!*9I<8e#y6VCbHE`Ii%l8?SbIQNf>AAd2WiCgB+$KNQN_~M?QJRV+qu$0Tc zFUKF!cd&2D@m0c!yXN0lJy|$$)r5B|R|w~xWZ~#Poxkv;mv_VMEAej-j^CGX&Vj^_ zo>DmWCc?1;^6wg5>2gYs)vWyR!^+>gOgQmj9k1l&Uz#Tz{kL%Zzr@deQ2E2o|2C5o zM?WF?oD&M?9AEtCiF5w<`g5cy~Y9j zd6j1VRsTy{z3YuX_O8Dt8XY}rgQbaEr~ck;94FlD)`U0CnrAfj&bvE8@r!C$8okjg zjTWoV9F0)o%4$7{J;>#jPFwDGM7x$8>~=K1;1A!@^V+n`*!8mG7qb-&3$@1ycX zPvh_HoUqSu;$*H2Q1+J^@38mTYdGiNDi`e1Z}Rj%4H(5vNaHEv+Z;=`>kkcxmcOEL z8IIYOW*;S-`BOOh|BB)1$lEl(;fJ#@kjAf3<8{0Kn>~><=d79!*vHSXbdszQPI=uL zNOAsfMKn5kW{y92i{YG;U1~V%%iTtaL#uh2a|6vE?ZG9&v5%Y^c#d89dB!&tUz&0F zM#G8gd4}Q1n9sZ113xE_q+Pu#I@Ns4ymo`|!NHds9>!lRoOUqVaQqaWZ#0{D|ITQ% z@Z>B@Bj-&A{Efo_6^%;YgfmIQDn`{_69Dqeqrp^tHmD zjpI?jrTqVu!+7rN6E&tbShYmUHUc4M#7qC_vMZQ`Jw2SG3V^?3VPNcKMhip8mDkS9|b%JA*y% zeEM$Too^p98pf+f1C)DzgtzNoP(RBi&c4fV&N&W82=^fQI6s=S0%`WW8V9h)oM&n5 zc@7xO3jd|wvmU4muTSnVnk27K{yEq6avc1P=chE?`&aE-+nnz;D$lIY^?uQDKk)Y8 zTlHPt#!|`2CSESNtXot2T{`j#0cWSC$8{fquokdIC{)=md2lDnbD+gi}0-Q$Qn!IU%X0m#QE`$cYNdz zqTR{{@e{XM-@{MTZdiA^oX$Vzd=F}Vz@I_mf7V&1_j2Fgc9S1_f2(@o-VWuHcsZHj z#pb#C-Z=XA4e?F(?sEL&2V%nW>c_pD`+guijC;AY>vQ#c^ew{Ek^fdX+x;+s--Yq0 z`oa!M^-`?!sKXFu5j@T7xe#4GTco@G%e4*!GRjyg# z1zRMi$pIkprtbMDR$n9>J&gE>3-A1$-%C#Hbvr-&B7}3E=lp}ORXZoHtLl?@m7bsK zOEnI#9u$s0nsDqtR@!^nCwl)VyWJ`J*cFCP#Q|geEq?rW9Up$3_^EH<><85T@W)bn zBQB|zPxURrxer_KXWkYbNAFo;^69Cb&*rN2krZ|uO7ot4+?pwV;uVNLj-Ho)uiqO* zJQd{wKg;|(e!R)#Or4)G|BD|#QjJI4Pv+%Q`q}aTANCuP-yU4B(9-A^#82EX$>H45 z^Ig49-x0<)2)8(*#-EiQcX<;plzjHJ;^SN}=RaNi-AXF{DSa1qW*Z{EXZ~Gka+o)i zAI{$-r#Sq})NtYtyZpj4;^*Aj`I~>MdO%+;e*9L%Puw5zvwjdi>qeCu_xw5k#Jj|w z^i`D~;$AsFcEpkQJ*&S+o>G3Wa~412yUXYN$@0ZI()nu}G@r2k_WYM0c6{Us@v~0w z`fQvi9KFwN_Iva^Dj&|NgwsC6Py7|-2mQU;1M`#TyYmx$H-7gnXLw2ey>C!^YnMy8 z{BQgCnENl|A1j>r;^Jo=>2gNi=={~c%(wh>8y=sTaZvB2UkPU)pz=c>o#*F-Ta2Ii z)A8nC)tqTwRxj$R~Z?xXaIwhAg`cCmP z?@B&;Pn9=z04~3^MmX_R9Z#NK8xfA5j?aVT%_?vFXdF)x;piEJcZU`WCqBU3z|XMz z&^#W-f4U};#!hZlfN-uW96hr5i_IBx4Cj1PICd=JXFaC%0s1m;@1q`H7yFg#jGucf z@_N2&b+k0`Z5)4r*K@vM;v`z^}>ExIQyMf89#b!;Yr`q{@$Lk zR|IhE7#&Yi@uO!v&v5+w4@INHW#NotCBw0w6;8Za;Xu<3FAhI1$BVZ|(wq}sVL0c1 z2bJ!BvvBm4GY#kdcj45BaQe-4!drfi6#d`j^j}&roO_iHL@4$q!m&e9|0CX_aPEh2 zyl}^C&U#TedNSeIF9|0;zHs!YH<}#mxpV$M3+FubCd09R zR(~Pxh2x`73vbt7FPu0gE~oWejUV_K?2Y^kKTqN4xi?!HeYVyo#Nl5VNORwg=0)NH zYh1;?>T1K;_oyGSZ&1JC{PM;K&U4i#^6#)T<5%4%_8kk1PQ?M{UQx;A9!s?!?ipBS z&%2H9YCVX(tjZt1f8j~ra*ZF@9WM*;v0jk;c6pV5cVWXi!|DIZ59O$Ozz%(@;Zt#t zV(+K(dLG_scvkwNzBg@kg{QSI?=gJJKAAW^c|Ct{!0=>je0PLor4OhcxG!{XAYB|j zs`4yWZx&_WEB?@bl78Q=?`_)e+JpT~;R0LU_`i5qM0zXU7ZITyHq*=?e`fPL*)>qZ;oy zA9<_r($snAIdda?jHjD+0 zJS#mQoPEZgQr?~|_&3cr}H=aVZPuYRd!Y5e0Z zb9!|yf4*??FC0HI$0xob9KGA+#$O!1SvdO=;n)S0g;#&6a<+R{JiSUd_od|g*DW!e z^CgvcyZrmSUTzbP-rn2)&`6GdSUCEiykBI(X%9^a3m;@6w=e?ad= z-zPcP`%8Y3Y!XiSC_l^}E@${geJ^&E;^(~4^WS@tJS$u-96h+onRTz@ zrG{|qI~|`)R|N8fUQzgz|7>^Y%j%EB)%Es<9#Z))d{FhyeKZ<3xMy&u;n zw?`=Puy!~-d{rP#d=8C2Y3s}_!Y7W?yq6@8>G#az8gJN_sy}eg{ciDfUhd;f@-M5E zF690-_0w*!H22PFJ|s@{UQ1)YG&ew#zP8@qF3&m`N#ZZ9aSZ!O&A<3B-Dx=S3J(P+ z{YK+WyPl8d&C?DVp4RTt?-(}^MAAv}z(C;t*n8tHqgm(f{SjIme%-DBP5SChqu2xQ zi%`~O8Yhd@ZF?Q>7oN5r*l6iEdC7jGS>a6K*j28zbdvn&fKk?I!ijgN{(ybZA;W1W z!a0XqWNFSN4jWCz&R2ezUwk|)ozfDXELQ#*_s@&4b%%<=i%pMn&c0mZ9Db^I8h=*W zs`(VZ>slloC*Q8}z+XT({a}URj2Fs3aa>f+#LHY|IQC}y0<>L!weWQ0M|HzP|7w*V z=kUr8_sXhXlfJuDZpEs{&A^XVc-l($m>l$fc{zMoIOp=a4evHG;pvFS6D~H(!to2t z`M>7vrn6<2^KVx>Nk`t{c;Su0iGwMe^3C}@?j`rp4#b3iV;(On^k23!kPPG72O>0% zE*3v=n6f~ced<7ja&9d=j$SUjUH-?W;lvqq`K3p81kz#rMB&8qQ2BI+s>0Keg7c4j zRyg)KYDaO><7{A$AsqW1;c0E=9+S^LNjU4vZ6+T(w7egkpUYV;JRQmJfgQcV`8yTi z-Jvh${5J^4Zg{K7;roRbhuxkL{~Y1nhR3HuKc;#o&W+}I&Z%}qeuiI=<2_4+w+F|B z<9{NY@lE|J^faA+;$ii7{Jn%1nalZJwjsFtP z{(Pn3N#9cOx9h8fb58E~*scFRoc)~IbL{=*rohkA+9^5zONHaVC7igC!m(Fb9^u1( zP5t;;dy&Q;ml=-zpzv8tKN8=XzyQL;)>Yh;I zItWJ}>HPiwv)=f-jgL6q`x4>kF@&SX5Y9Q1Be(-kXn$neeG~LAP;+<9%-v&iB`hA3wb{LG(P~#NDn% z((U@sg|ol$d8qTl+YG0jDxYc1<8k3XE*$yd$3Lr~-wzH7=U%#2;CICN7!Y25RL|q& zoI{3lFOtTSVspQ@$KHoD9)|I)j#vBCUyIEhyTxCgB|J$k9Ekj$xIyZV#o<4Bdg3dh z=#M=A!+)(b^SwXke%FxL_YF296uWd$i+gYBB5{R9hhMFJ97orwK9jy{lqODW-X80l zjj!9dUil`j(is91@Ow~Lcc@k(^Q`oO4dToFBhuPU`X1(+`G&{dS9v*> zcB$O4gS|Qk|H@{g=v|Z_;%rtd&AuS-C*^A*Y1ZqP8lJYERDDyQS6UkXvo}O2{$jo^ z={;$#;k3ugBb5EbieR+&wTp~$jyfwEZN8{x>11r;HlysHZi-OuUtAcV=%tq$#f(Pz zM^Af;r77>_M!9DxjnJw4;L-c)J=kk3G8{jjS;1)O*DH;h-%GS~VZOeP`!jAgocrHu z5lTPN_n=p}BarSk4lOa9eT=?48S7tVIB~SpAGq)CJWFE-EF8Nyl^^ru8HRKJoN)Br z8mFj-*9forxdwi|sz3Ip|MNNc@psG1@3k5q&7UWN6R+FxQTID%+&;tbY+}7|&Q&%3 zvfk)7yx6=|cv|~~UhE>r%(( z3FkgP$w99;-Ei)2bNRK;3der!a>L`~|8abzmcMtU`UCgm3db%;IQz+~#6S9=@MrZq zNjk%D=D{21Szc~mmmK_&UH<4hg;UNs|1mD7yx+^G@c2xV&$@e6fN&1F zB0@QjzS<~yaN${Dj?0-m{yM`gE@ptT{}fL9tr*UF-`mg7v690+BH!DcDWravm3sU%1*oc4nTR z=D*%x{G4|Q$F4*C<{x4>@%CK);C~9o-c2}huUt;y&;H(?`-G!s5ssg~p0=`JK^}N3MamWzjxyEdM|bldH&sAm-s3E-qKaV z*?;u&Yqv#Qq1}Jur8fUnlXO7|6Z)seNz1w{J zDLv-$r|!q({!j6BUaoS+-%I?Q?@2!XRFZ?fP5D8esqqlKiP}SP_{O}xF46c&`&Bt$ z7pMHt4ke%dr}rj(*KG;pEA-E}*WR0q%^fh>9s2RE01e~6dV7R+E0^pxnzkO_7oc(S z_rlxt{hI$-7u;z${=$+&+ywRGWb7|3!?E+YD?-q>%rr{;`6Iz-=|_hxjb5~B=_I*c z{OL%#Kayg-uXdA_HXRD2(?`}v(&zy+ z4~CxmGsDx7zgulMb`v@Nn+=9@ez(kU^ZQr2XNSs@c}I9w_}N;+i^F5Hj3RkuwEr7V zE1&3l{&W%PwDmE`$F5ZKALpM}8XxwM$`9>U-&?GH&g*mX#hdLp{r}P+`eXGc;yJ2( z8UNpG&(VL}Y_vW2F0Ch-H&ySfNAmvk3au-MpRW4nJWcHg{lPB({byDG=m~DHH1~n3 zJc)m&`l8;hHJtfN>lyCNU1MqV3z`R#vHuVr`oFZ!a7w!0Xt&|<<~|B7>U+>zD8KCI)Q->_tDLb@ zQ+sDzQu}3G$?W$@-{}X9W`*TD0+e_=%4g{RZOieV?S@k>dHt4;7~UQFgxWdxA8b^* z;`h0-9vTQdZiOXadf_yOY2t2ryYx*`D}sz z{)PIk(Btd#Zl$R2jlH`M*mL$#`vMfZ_*s_bo)oXg!VB&cUill#sU!{G2bU-At{c+k=17cd<|N`FP|P>Ni;^K6X3$Ztf-7ExhySEyhpWp0!4k~r_Co4E?fU1{??cb4 z#E;$Dt>PQIU;PpPYUQ&#^hfchBR^9);g7W|APv2DYW&zki9ht5CVuWkQ~7XjrTAG# z?lgYRy;Q$h$NfROjrsbn;_z=IpEzO-lNTqqiXXd+g_h0=m-skW`fueE`x=)&c(wSm ziJxQvKJ>@pC*EsaznhpLe(a{az9v5)nic*@{LE|O=l+CM#*h8$zfiU z{9<#)3j1Aqa6Dbnv8H{?EmaURnG} z-}ATHdqe+_aQqy!t|?akXN%$Zp$o?jO*nQ24a13NC>%Rj;l#xiPCQ4K-#fW1!iQgn zaO?$yW2ctm7Ym8uOmxgYMTzT=6_VuBRvNv-q)tRk?-!gG=na z-O6V+nH=6L9KTiJ#E}t>y_2`A{x8%bd|Bru!pX7lwDxY{%(EJ|@h@<^_3PV=AGz0SoO`3yPp8&##N$~XkQXQ0;%DEY z@5T>ygX72gcMToM^K-5Ev8NKw`&|Cu=hqoO_ZWHpM|x|Kbi2MlIODeP?ogV``Av@h zF8{8#>Ahjx&n3|Z@3r6K$E$IX{-u6{zGuMjtnz88Tv$x&z!sKdpIXr zZ2ax=TXq>g`I=^F?Bp&qivOeXh5ye&OVduTk4DQk3+Fz76^3VpCsZ%Y-@@bQ?^YYm zK3?rU^nY$oB#j?{$_@Lmx}~w(5&u+sAilcK2jhQ}%W-`v#-=e$igfT=kF@4mmz}yV_e;`tCk|?@{4d=k~RMd|;2e-|(z+k?>?Jk25*((gTKL*P6@u z{Hj2j^`7vo@J=tc-rH|C9KWc85z4uaaL!GZ2a;)Pj_|bhS$zllfF+K5JU#4wgkuj< zGdxbt6MuKe_bGgTYB=juy*I6$s`h|Ai14&^qHyeBRetOT=No@kNc3I!>8PDfwMXt3 zR5`Tk_X+1b>t^GRqYtRuh@+|cVcnSHv%NegN{*L4sCG@iABg(h540Y@{$KCKPDnWS zDGMjQi|42FCzT`X=dJcT{CR|j{_hFr9#P@X#UH4T^lGcTW!L*mame6EAOL=>{U+o%uhXsM> z+$$kGjxH5W9CP8J-_IZM8&`j3Uo5=Xe5u!K;e&ZUuM5Y{U-gHcO*rG4<0X&hj2*JC z%bLGYeu~4d_Woa3D4coT-`n#`)i-|Z!if{+{LMwe+vP_!o^Wn0yj@-*9KDXO11A;; z=l*211N>$kFI|=69~X|DmvHQdgkujS9KUIe2gLCfPJBe?&*PNi@0{1~$JK7Ivl2i0 zNa6Se2*=-QZKQbd=TN&Mp3HVjvkw%`JalUyofUQo$DT%bu{v$5@XmM2M)CjhemwCU z&8O(A-WI{p-`;5yeYfTp^d_mL(~;L5G0ME>{d(vd8uz#_{HWo~drJcp4%HL!W`uLT z;r*ibZ}q+GM}$A?PgDA->MKdyZjpL^p~)fMY%@ZMpV2bPIDUcAcKyTZU){=Q4_lh~ z;5wsO=_Y+ovH68VmgXLUIYzk`J@4-aHBMm9bhF{aFZ1!C^-ua8_nY2gc+&S%;qCH$ zKK@l7nr}Ggxx%@BUhilBeyihObvYyF3|N|ViE!eUJOA(^eFt_Q&R@OR`CI4hF@Ee| zC7<|y!qInlzv=zSTs`mGs{FD3RylDW`HjMp>B751KTVSH5i#x6qTO}S~F zD-N#~-W~Ed2h4xh8b9k^eNX6b?eO&at3)UE`gaaLq;|wOeyQQaF%ZtVsm3ep^DZ%* z`0fKnxj#eW685m?Te>}X^MFy}_G$bFAD0?_{_HUBIeO0Q*_TabGzOo6ww-0}O^=tMk`8c#z<5au;xcVb{CgmsT z`|jq*>#!HR%P8&Sh5+UMK7B8GnVjGK!O`ESeYER$YkWWtw#N90%cp#V@tf3tSx>9n zu;UYsAC>aMy%n3pKluU4Vc)2Jik`n=IP;v|%RbfnN8$7>hNrF1s+|#6%lkp&9^uK@ zr_^rn6H|M)wDGfU5RQM6@X&vrexq@N^PIVcGoLIs9DSSG zHSKYh;oLv5*ztUwGx3~?;grM8hI3xI!zkxD-mYtJEIEFr>IXZW1%c=6lP@>QJ(nsc z&e4>A?0nQu*q5pOh4F>@UhHzF8GjgmM*Rc7oYj`*eCuS-!j2g_Hi-=Y(ITet`ejdgDV6{?m(~Q-1u|PpKW!&n1WYSQL$~vQPEMxyv7oAG=9? zH|s;SPvX{m*Kp1gXBj{Cewzan{vSKO@KVExlP#Qb_?_YOhu0e39a^V$#Xj(5mL?9> zn*tO+E#cUWooP7dw`Uk`_ca;CE=_Xz^H@tKW78y`_)}L#lAKGu+$j35seYvKi+=ff z!;`+J^j)kgud_7qVD+AKWS4Np>FW*04)k23%-b6RlzCD(>&uG_C$6(_^w;`+*1H<_ zyNwTcIai(%PP~Wd#&2;l0u)KJBmYwlml;K#`h~@#wKVqc;zxfYoH!F2hqBIhgrhIW z`A@mg_&H}$d7uyU_R#a!!Z|-uez>1p{N}f8{OsF;emD6E@iWheAG`O94aYxEIOTJb zrCINkjbh*8c;iHuGtzs7;n?E}$1Y#|tdE6b-?1j}94Z|DYR#ibUvB46`h#%R`@+!& zs-0us?C;I*@5xHP5RRX|aB?)m-pl!=aQ;;O8P6^^oDvj{pT=BElYiAe?M66p@5MiL z|4w&krpupPDx7vb(|*TznahtAOWXY;qMgAU|A^|>?x8n4^h|R(y|<|z@mCU#U$(|2 z=Bbs&mz5SBG0M4>aO|cxcsln}8T7bz?C-Z3PX7=;=Z%YkrE7&DAve3R1nH)}pZU$)e6?AL^IueIhK?g?3DIDQ5B@7L$^ zk&pA(M+oOTm0#AuE1ci${<(KjIPttz8lDw?EdH!i5RUz@)*)%D?(ZF~4Mg}jceo=! zyF(WUFIM{oqNN+tR|ROCe8lrTIg+n4X4eg8zbKsbqwuWom~iyc{ymf5RXuPIhT20~ z`;72n^IeYT<9X;mPB`xuPP`5Em#p&~;c4x;!qHy~ZzKeSy78@Q%PZtiK z@X-IFn&C+@GYkBm))otA|FtA4{f-@mC&}C#zjW@<(apK4+>{rs&eC8UhM(@f8m^W-C+E7-*Yh9bG~raI~rG~ z{Oh}wUupcJ-;|A?cqogEzgV3k9KF&dhT~Uti{Y%_G_IkKo^CjHAU7HwdVZzxt2=b8 zZm#hYpH}@BeU{n}>$95-FE(E&96K=K=u5><+{L|-=iQ<6 zRQ|-boM-%T@(jl-A8@=gDSqOp2uEL_cE~zT{N2W`fynRB8w$rxLO6En!m%e4&blU- zA2ohq*Daj*tHP7M4+_WLT{v-vglCnpYAw06aA!(;D1D2?7n?V0<3b{d|H<@Tw=dp8G?%yU_UVrNpfG5!BA>0u+6e__(KgS0s(zTK%Kjc>y z-^y^tS?vpo!~d%M$I&ki7>*u&u2Js)R6fvat+X`ynS}vLd`*>4vH4N8YwSg}PU0St z4N=c;5+x3u+ByF6D*tTa0rgAtamvq>y+RoG`&zkgF_&}UfXRuYm3xe46TiB~DC=&O zPn>*4^@cs;cEhoA(syjY32RqM&%p(iZ%8;j=FxDdb~7{&I+GUIV8y^R1Rs)?SoQYIy60|tPCWXJM$ub{zuWkh$^pN~ zZ2=tnM2!!j{|71u>^qfj_Ls^}w{ncP>&^=gI{&UbANSrD`91z3t3=DM*ZkR;DN zYWzvxfcUv*R^N+1_)_CX&#nAmpOyEI&)yjfubz9@o)hO}z^VI%bAO%ZzcO3=S?MFn zPj~2N2aPYA_>}r_oE*8;(yW(r{(n(@vOn4%z}YuwoJ{(@uli@*H9vxKpN{ysm(<%e z_m2kfq;HV`JN8~Z(?ER+xuLFT})+wtUbcg<|a$}sCZG8Bv+-|g3 zeV+J}vCG8I{m2?8u}2m^ah@vTAADH+_|K{Ra$j{b*zbqei$C_hTKvShQadLO{7U;B zcEaMv-f55Vqt_aU&~D|OYNz-omMzVGaD`FgsrdNObGP`Du@4Ox-Y&mZ{LGUVTRIv0 z>T;uL?Lu#VgJ0bpNXN-j2O<=Gt=CKE?29bjt$bveQT9cfj3#|+#E-r}{i-|Ub|uV@ z=h$=drFOyoPwh1w>Fx^P_|u4=dr?#`?0e3NhF99+C(ecViO0JufMb8{RL<-p z&y0o-e|?Ej{KPcQu-`h{(!>c7j-E>8hdt7+0G>_!Q0*z{J63Yg3-m{D?qTzMjy&Px z)=>Rq!|lEWql}M|gT4E%K(aVIE;;DoRL)3Ne#~Ae@|^p$ecT)AEm|6Vj^yJ%sP=_@ z)6M`MdpAlBdJM@yKXQukcPrnO9L{OiTiWc-0u*}#$uYk>!;8cD`f&1+yq`SZ^V9c( zK70Obe1WR#7txRO2VlE5B0{-0%;hwHnHkPL$j9e`pC1#yTKUJ$RQciDL-`5)&Yz5Z zQvBr5+XDlH$z`2UGs?K3@s)L^E(?6<_vK0@Ox=egSr&kE;=pYK+= zp>H|I@Z#`B=kNP(=dUjif4lrb@n;j;#BX-x#*cnN{Mi4A-~3M`r}}Xpzs9zRAAOJb zIVW}biTk@_?<4+p{XO}3_W_j~>(KK}4)_0vpLtvIxo1fHS*Jgj@Ag#iPc#1RP!xZ0 z_@L*f`thxjGjXZ-(~-wiZmiQ)U+8Ubi}t(9@ACPuU;M<05kLBHhn+Mwc>BrFUsW~Xm@{f*B9Cw!R*0((Wl_;G1L!G~Mdd@#n<&30@jh}PfT7(iWSNz55$>Pr@{9F%v zbK%{_C&bVECw|65;b|+^i#d8>3Prd^7-y~l{fm(S%wooaFbEyA@4V($L0jm z%;Ua}>h<_g*afW-K5~tZbE9ulJ8joLy3=s(QPet){p?#U-K`wjU^E?Bes6?g7dl<( z)_e7R-Jyeb8;%{$OvBkvc>5T6=TXBMKZSFDhw?>S*CUQ!==EOuC!Z(E+YTGfenIVx zFWPKr^vZ{f;!m&lQcqe3BxB#!`Z4Q#^0L75cG=H6vBTeQ{OsQ)pLwleY3gIIQT#Gz z1!!73$K_X!9f+20eQZ%MI&z815qp=W;oYI`Qp2a>m1TwhyC;&wj`j8cO{_zk08)q`1s* z+J)z@v)b#c=T^0oZsT-Ve5Pj~2e zwX=5lPRGZ8=6K~1;rQ9BU0?@#hsjAt(t!x&ehSH_->AKDKB9IXN9)2lFH^h9CZ_y4 z|Cqn`3#v!-W0Hfvh07mYrh1Q)rwb=Op4u1Vui6RrLh2{jbF1FD7h`*{e2n)fpTwI| zJ%pa!!n;Eql@D=b)IRZdb-Z$l@a~Y`V~KuQcrw;hIkSFLJ)@Tro^{@@awm?Z+B148 zG^BnN%CFw zm#p(Al?(H$<6{>I=X}7+t3KEJ&B(V@Zj_Jksd*g#bm8bz^Ksya+BBg|ki+j{ULl|FtunpYtD7{h`P9{3O5IVDgLAMZ$^eq5ho}z9pRfkdGJR z9?z;>Kbqr3;n;s`TuJ(Z@GyRkaP+#u@n=`NO=~|=J3#-aeKY$#;oYIX7oOH05YGNq zIQ~wO!|`v9`}sBFk8t9$NGwgcT1=6geglC0c z2#=F9g=6=x_QyG<#zpLAgkzU19Q%0T?Bg}=u|HJ1Ay{UB=ITX1dWZ-YcAQUE#!Un-#zrPrSd3o+KPQ`nuuxZ>gOp$#s&Ce}>YW_o;ni z&w4n*$NH*i{KR=wy<;cqo4+P36EntB1wkd`R_zztk%{y?(#ZcG=^m zvp$<^Y3!}?bpkMN70Z8-67ygy8yq5KfX^9slBR{r@u;jACeHJtU`Qls6WR5<(3 zH$>9JQ(0hm*7@O7|5AAokA9BfadNu&vx&D}7fEBkIK%K{?4`od^WG3iVu$&b0A*j~ z{GEH}8qR!rf>Y<`e4=V;&Ot6Q$~l|fi#@}9PoFx|={to}KDSz$c01c>=<)fQI10jv z-*%JX#pVq4YsQb%(&)eP_x!i&g>#Svh7*TNzw0*MBpkaj;phqVyR6{-i1J!!{ESz6 z-fe7BeG$(=ICgcySaO`!2cPpin&qn&k(7cH!KU%m3 z{Iz%Ia#x5_9?n16&H3-h>5qIo>3ONkEqqou`(WXmlL*J3RCpLa?Bh)Gl+xH|iK15% zj=hlcH$Ic&ON65j%+q)0zk7+}jpzG&Cw2<&R=TT0V(s@|l+H>o6D5wiaQwxTj+4iV z7Mm@{^Lrhz|57>OmmwUzyX4a^oqzbv{@$T4YuseLA{>21j_2`8#y=<=J7>=i_a8>` zHC4~-BjyIu=%MO{vmW1Q6hELv0TL(kdu0lr-4RKrBVW||5P!xsO1B=^V-)?5#udtK zgQdgx%mYSQr>OliFK@H-R6K9?hd%F*UA)`yBw2lzQS61b1ZcZ_|3OQ)>%Y6(D0YFu zu`fR=yuAE~(W!O&)H(Z9+$QX@bN&Zh?$9|}H=$n?o=yC9j#t;49PEgcpKjxul56*; z8qWE$k3ZFAElYE6*({@+2W|*Z;&&agGb+Bb^z1iEhKKRf)eacPwEo8)>MX;#$8v?yv~_`S;#@rQInwyGEH<2dw{X@IXGOys zFJ53c@h9{<{tS`-rtXt!*MA~@^tGA~SpUopJkB~l&*l8>^^tV!z2Q2;StqDmX%{yb zj{WU)!{HZ>enImQeJi(EnmE`e z8cl0YLcyy=%GrH>)184eZZ83_U_!$Ape0GPWIWH8By`$z$#>?f7 zzf*Xe%<}Q(Pm;^NOE~LmwL9V``ux^+ir`zG_uUu!e*!+4f z|HNIErd)fCa?hUQy(cv-P5G)mx$kJZrMXviuTjRaTLTom$<_$L??n9%J@e8)n)5@A zKirdiP|wHRj)?Ob$)P^(G&~tQdv}1Owcp+qq3DS;kH^tY)9~)la*aQ%Csx_>cK!an zhNrdXw=9ici^jhx|7Fg-4j9gQSnuaP<9&g2I1pxSZU5lR1U=D z83;Tlo{Hpht}GnA+AhPpm7>}Mem}zTv)1^=Jtfyho`?Sb*eTj`ZLS|U{>lKJb^7x6 zJa4+C@q3*k+L*5L#!uPXO@7ZxI`To)FXvW1UN%>pWBkOOUm1;#KAnHZpHex%=Fw{eA~vx)mO4x%R;urzj?(~V|@t>P;-U$64C z`%w%hew*4C{w`jxJ^$hBz3Qix&+gD&hxGf-CvP>%{UK`q?eZsuPx(hO|LZ&O3&{EZ zUwc;{Tjf>8-&?>{Bv_!zl#N{-StuHVc5dAtWN#_`+8A&tlWun7-rl~qz2km#@4Xk= zI^+)5j*V$ilf{~tR2u^lX%zoKw}dxkDsEk}WNMcjX!8 zPu!n>g8r=$ybwCC<-SeN=i>bNI>EyyPY}nwh2(?y{OOe7gKLSy4hM1Qtxwp%hlk!i z=)r|tiQ~J}6IdT4j{dyTTX~iPd-6f0?|W70r9yWX?Rgd*OL_8cz5f}TTr1$T8nmk4v^_e*I1?v;e zR})7$Add4N#Ieps9PJzV3YP)9NsoPe)Kl0`Nx9+vR?>%KhYjAL@f=UI zNPG$*oo@_|t~B)f$w%xHc=F!Z-@<*zOqW&lwCcObbDA$>i;SH09w`4FG}u2U4n0i0 zg7FOL(SB}`?_xfhc%e`2+Csk($9kpFLt5Xl?$3DQ{2X!E%W*t}#=0bNjFX9D-zxP5 z){}|jo*}k>=pRN&Km8qpuU0;bcM-=vKc*M^1=&s&LhFfReuw1~;~}M=Z0C0|-qrkV z{HM0B-7gwF_KxC15#r&&=Sh!o5#^72ca;A~D{-8UQ@MryqU~noZRCUVix1mKUpV&E zwUv^p{qNALltT;$mOTw>-G`ebK`Mb|!ROFkVd@=e|RNqXh1? z@htQ$Q2MHI?T3V#dIb;1));(E#DgFARrLuDyIE|PVP}?d9v*t&5#o(q#Bt6(=7A37 zbf4hCw&RDz@7v>p{iOYZ+tt4%j{O=5d5`mvUlBam_W5s!AM@6f1J;wsKiL0G;@Hm} zllQo%;j1=WoI_>1fb~1pmtflz@j~bq)c>$EZ|dWh@RZ?^|O&R0Gvc(Coz zlj6s|#iY35lRrLS!-XBlCp@^Aha{dKyZtfZQ*Rz5K3$&H_iyzRuUtqxKb7nj9QS!Y zA$V|9_g#C_&nX^y?hx_*+sVHWvSJ?S(63ke{%05;%lgSq!7c0DfQ={aXC;pLR?{zj zo!`ZIF{TUWwRU-+^TzXxC+59Px_%HA9QX2m&8FL{{3l*!{^mFQ{ea-u-=gWAK1&?; z@DR7E#)xCSnE8%#@x+IR)IKow6Omr*9Sa}JDpx+M?fbS*!$ZfJU&DG_&u>UP?%^w#4`+ID-iPH1`jt4=&mPqG>xknXm;v#_ z4)z1$;ywT^Cw<`o@nc-0c<2q5TYK@11D?PWBZ~KRYkBT}y}kp$<0F<&w1fYK zW4(|#`aQ%kpFnzR;@3()W$Y9Tx+WiMi3dl2^qBBRKZE@noRc7qbFjprM~GXNj=RzC zqyERflKUkb>=~MR^aq2hT`JgtXZ_7j?IvCbttI{NkZ(Wa!U2X4l@rH)bLs)ij}wPo zx%=cj_FEITs?HF{x!+d7ale()kGC57YNek%(PQI%_~aK9$2nx7wPOgbWd0ULeoj4xdy1%kF^{ZrtNbHz%$q)B3%|K_)gd_MQTK>zRn=2}V!z-0;>S7)zk}=9h(phW1h=fCS#g7-1H`dDRYiaQ zMe6gy$T6ii<8|zFrT!mo)cF?lOSgLnk8v7tyZQv_p=T*)tb1rWrhcgW8}DludfZpv zZNtq^X*{tW*CjagoZ@4;Zy$P_`WfT4w9p6pH&PC;^Flp_{$@&W%lethbELxc;KRAo zqzxDMm{I=N$3z_CbmE1+GQ}5`bBdox*m&=azs2%{{SKsuy+Y#QlSheT|GL3r_lp8(^0tZ*BB>fy9IUa}of8JN_e_tMl zKTz`6vAw=tGU(!EzxP$9l_K*$lfW|Q1Nog@uC;vao7d65#IorItR+?@bVF0Fy*=S< zi@1>_@nyj~FX@k4KVsc_aRK2=dS?9mZ%%JK{^vWFST%;vb>y=(>2yZcTh@Hx<5v37 zg};0m;cXLMU=l zk8&&PMpBuW<2K|{(QMoZ2_IVltuBh4%H97s+zR~3FMpG1FAYIa?$;xZ)IBG=)x?K238o&7xE4i~tpsBugo8YbHr9Vq^_S2?6Z*adqPGW=oCyrl#j|TNSXUzAOSnJ6) zfN_P4M>^efuDcea4xn-RCoxOobl17@tmDe`&s=(sk-$UZA!)x{@AZ6E%h6%eKP%}yUt%S9 zHVMq7_qso$<;V}?*RyM-_k6xOKiPC?WT5`yglsgONv0F&PG4Wm=$DX1QJ*NsTq>Rw zy>hMN>-U@1SE*dK8Tl0J^T*hafo4I+M+X)4J>BV)(KK__XIb8nm>2c6j-QlIOBAZA zArj4|-I>flKNmkg-NkrSP+uv(dqq0Usg~w>_0?;~ezniK`MaBnd{!`hNsQ^ zQ%s*N$wa=W-V;8vrEactF)$v*_^2KhKE+hcuZN#K^vd6YtL|th^3ilhp3%y_r=^0dt_=UKPcZWSg* literal 0 HcmV?d00001 diff --git a/testSuite/parameters/test-star-formation-histories-fixedAge.xml b/testSuite/parameters/test-star-formation-histories-fixedAge.xml new file mode 100644 index 0000000000..a0c0f194f4 --- /dev/null +++ b/testSuite/parameters/test-star-formation-histories-fixedAge.xml @@ -0,0 +1,111 @@ + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testSuite/test-star-formation-histories-fixedAge.py b/testSuite/test-star-formation-histories-fixedAge.py new file mode 100755 index 0000000000..2c9b3b40a7 --- /dev/null +++ b/testSuite/test-star-formation-histories-fixedAge.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +import subprocess +import sys +import h5py +import numpy as np + +# Check internal self-consistency of fixed age star formation histories. +# Andrew Benson (07-October-2024) + +# Run the model and check for completion +print("Running model...") +status = subprocess.run("mkdir -p outputs/test-star-formation-histories-fixedAge",shell=True) +log = open("outputs/test-star-formation-histories-fixedAge/galacticus.log","w") +status = subprocess.run("cd ..; ./Galacticus.exe testSuite/parameters/test-star-formation-histories-fixedAge.xml",stdout=log,stderr=log,shell=True) +log.close() +print("...done ("+str(status)+")") +if status.returncode != 0: + print("FAILED: model run:") + subprocess.run("cat outputs/test-star-formation-histories-fixedAge/galacticus.log",shell=True) + sys.exit() +print("Checking for errors...") +status = subprocess.run("grep -q -i -e fatal -e aborted -e \"Galacticus experienced an error in the GSL library\" outputs/test-star-formation-histories-fixedAge/galacticus.log",shell=True) +print("...done ("+str(status)+")") +if status.returncode == 0: + print("FAILED: model run (errors):") + subprocess.run("cat outputs/test-star-formation-histories-fixedAge/galacticus.log",shell=True) + sys.exit() +print("SUCCESS: model run") + +# Open the model and extract the recycled fraction. +model = h5py.File('outputs/test-star-formation-histories-fixedAge/galacticus.hdf5','r') +stellarPopulation = model['Parameters/stellarPopulation'] +recycledFraction = stellarPopulation.attrs['recycledFraction'] + +# Check that the star formation histories integrate to the expected total stellar mass. +# Get the nodeData group. +nodes = model["Lightcone/Output1/nodeData"] +# Read stellar masses and star formation histories. +nodesTime = nodes['time' ][:] +nodesMassStellarDisk = nodes['diskMassStellar' ][:] +nodesMassStellarSpheroid = nodes['spheroidMassStellar' ][:] +sfhDiskStarFormationHistory = nodes['diskStarFormationHistoryMass' ][:] +sfhSpheroidStarFormationHistory = nodes['spheroidStarFormationHistoryMass' ][:] +sfhDiskStarFormationHistoryTimes = nodes['diskStarFormationHistoryTimes' ][:] +sfhSpheroidStarFormationHistoryTimes = nodes['spheroidStarFormationHistoryTimes'][:] +# Sum star formation history masses over times and metallicities. +nodesSFHIntegratedDisk = np.array(list(map(lambda x: np.sum(x)*(1.0-recycledFraction),list(map(lambda x: sum(x),sfhDiskStarFormationHistory ))))) +nodesSFHIntegratedSpheroid = np.array(list(map(lambda x: np.sum(x)*(1.0-recycledFraction),list(map(lambda x: sum(x),sfhSpheroidStarFormationHistory))))) +# Extract final time of each history. +nodesSFHTimeFinalDisk = np.array(list(map(lambda x,y: x[-1] if len(x) > 0 else y,sfhDiskStarFormationHistoryTimes ,nodesTime))) +nodesSFHTimeFinalSpheroid = np.array(list(map(lambda x,y: x[-1] if len(x) > 0 else y,sfhSpheroidStarFormationHistoryTimes,nodesTime))) +# Test accuracy of star formation histories. +tolerance = 1.0e-3 +statusDisk = "FAILED" if any(abs(nodesSFHIntegratedDisk -nodesMassStellarDisk ) > tolerance*nodesMassStellarDisk ) else "SUCCESS" +statusSpheroid = "FAILED" if any(abs(nodesSFHIntegratedSpheroid-nodesMassStellarSpheroid) > tolerance*nodesMassStellarSpheroid) else "SUCCESS" +print(" -> "+statusDisk +": disk stellar mass" ) +print(" -> "+statusSpheroid+": spheroid stellar mass") +# Test that the output time matches the final time in star formation histories. +tolerance = 1.0e-6 +statusDisk = "FAILED" if any(abs(nodesSFHTimeFinalDisk -nodesTime) > tolerance*nodesTime) else "SUCCESS" +statusSpheroid = "FAILED" if any(abs(nodesSFHTimeFinalSpheroid-nodesTime) > tolerance*nodesTime) else "SUCCESS" +print(" -> "+statusDisk +": disk final time" ) +print(" -> "+statusSpheroid+": spheroid final time") From 9b22db20b064c5f85f98e7071049395f98e1469c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:26:59 -0700 Subject: [PATCH 19/34] feat: Update `nodePropertyExtractor`s to work efficiently with the new `starFormationHistoryFixedAges` class For this class, with star formation histories with fixed age bins, only a single template mapping from star formation hsitory to SED/emission line luminosity is required, which is efficient to construct. --- source/nodes.property_extractor.SED.F90 | 273 +++++++++++------- ...rty_extractor.luminosity_emission_line.F90 | 231 +++++++++------ ...perty_extractor.star_formation_history.F90 | 7 +- ...xtractor.star_formation_history_masses.F90 | 33 ++- ...extractor.star_formation_history_times.F90 | 64 ++-- 5 files changed, 382 insertions(+), 226 deletions(-) diff --git a/source/nodes.property_extractor.SED.F90 b/source/nodes.property_extractor.SED.F90 index a908a5383c..43e76987e8 100644 --- a/source/nodes.property_extractor.SED.F90 +++ b/source/nodes.property_extractor.SED.F90 @@ -63,7 +63,6 @@ & factorWavelength , toleranceRelative integer :: abundanceIndex type (enumerationFrameType ) :: frame - logical :: useSEDTemplates contains !![ @@ -209,7 +208,6 @@ function sedConstructorInternal(component,frame,wavelengthMinimum,wavelengthMaxi self%metallicityPopulationMaximum=metallicities(metallicitiesCount)/metallicitySolar self%metallicityPopulationMinimum=metallicities( 1)/metallicitySolar self%abundanceIndex =Abundance_Pattern_Lookup(abundanceName="solar") - self%useSEDTemplates =self%starFormationHistory_%perOutputTabulationIsStatic() ! Compute the factor by which the minimum/maximum wavelength in a resolution element differ from the central wavelength. if (resolution > 0.0d0) self%factorWavelength=(1.0d0+sqrt(1.0d0+4.0d0*resolution**2))/2.0d0/resolution return @@ -256,7 +254,8 @@ function sedSize(self,time) class (nodePropertyExtractorSED), intent(inout) :: self double precision , intent(in ) :: time logical , allocatable , dimension(:) :: selection - integer (c_size_t ) :: indexTemplate , i + integer (c_size_t ) :: indexTemplate , countTemplates, & + & i double precision :: expansionFactor if (self%resolution < 0.0d0) then @@ -281,9 +280,9 @@ function sedSize(self,time) call Error_Report('unknown frame'//{introspection:location}) end select sedSize =count(selection) - indexTemplate=self%indexTemplateTime(time) + indexTemplate=self%indexTemplateTime(time,countTemplates) if (indexTemplate > 0) then - if (.not.allocated(self%templates)) allocate(self%templates(self%outputTimes_%count())) + if (.not.allocated(self%templates)) allocate(self%templates(countTemplates)) if (self%templates(indexTemplate)%countWavelengths < 0_c_size_t) then self%templates(indexTemplate)%countWavelengths=sedSize allocate(self%templates(indexTemplate)%wavelength(sedSize)) @@ -293,10 +292,10 @@ function sedSize(self,time) end if else ! The number of wavelengths must be computed, or retrieved from a template. - indexTemplate=self%indexTemplateTime(time) + indexTemplate=self%indexTemplateTime(time,countTemplates) if (indexTemplate > 0) then ! A template can be used. If the result is already computed for this template, use it. - if (.not.allocated(self%templates)) allocate(self%templates(self%outputTimes_%count())) + if (.not.allocated(self%templates)) allocate(self%templates(countTemplates)) if (self%templates(indexTemplate)%countWavelengths > -1_c_size_t) then sedSize=self%templates(indexTemplate)%countWavelengths return @@ -338,7 +337,9 @@ function sedExtract(self,node,time,instance) class (nodeComponentSpheroid ) , pointer :: spheroid double precision , dimension(:,:,:), pointer :: sedTemplate_ double precision , dimension(:,:,:), target , allocatable :: sedTemplate + double precision , dimension( :,:) , allocatable :: masses type (history ) :: starFormationHistory + integer (c_size_t ) :: countTemplates integer :: indexTemplate , iWavelength !$GLC attributes unused :: instance @@ -355,17 +356,18 @@ function sedExtract(self,node,time,instance) end select if (.not.starFormationHistory%exists()) return ! Get the index of the template to use. - indexTemplate=self%indexTemplateNode(node,starFormationHistory) + indexTemplate=self%indexTemplateNode(node,starFormationHistory,countTemplates) if (indexTemplate > 0) then ! Stored templates can be used, so point to the relevant set. sedTemplate_ => self%templates(indexTemplate)%sed else ! Stored templates can not be used, get the templates for this specific case, and point to them. - sedTemplate = self%luminosityMean(time,starFormationHistory) + sedTemplate = self%luminosityMean(time,node,starFormationHistory) sedTemplate_ => sedTemplate - end if + end if + masses=self%starFormationHistory_%masses(node,starFormationHistory,allowTruncation=.false.) do iWavelength=1,size(sedExtract,dim=1) - sedExtract(iWavelength,1)=sum(sedTemplate_(iWavelength,:,:)*starFormationHistory%data(:,:)) + sedExtract(iWavelength,1)=sum(sedTemplate_(iWavelength,:,:)*masses(:,:)) end do return end function sedExtract @@ -413,11 +415,11 @@ function sedWavelengths(self,time) class (nodePropertyExtractorSED), intent(inout) :: self double precision , intent(in ) :: time integer (c_size_t ) :: i , j , & - & indexTemplate + & indexTemplate , countTemplates double precision :: wavelength , expansionFactor allocate(sedWavelengths(self%size(time))) - indexTemplate =self%indexTemplateTime(time) + indexTemplate =self%indexTemplateTime(time,countTemplates) j =0 select case (self%frame%ID) case (frameRest %ID) @@ -497,43 +499,68 @@ function sedUnitsInSI(self,time) return end function sedUnitsInSI - integer function sedIndexTemplateTime(self,time) + integer function sedIndexTemplateTime(self,time,countTemplates) result(indexTemplate) !!{ Find the index of the template SEDs to use. !!} - use :: Numerical_Comparison, only : Values_Agree + use :: Numerical_Comparison , only : Values_Agree + use :: Star_Formation_Histories , only : starFormationHistoryAgesFixed, starFormationHistoryAgesFixedPerOutput + use :: Stellar_Luminosities_Structure, only : frameRest implicit none class (nodePropertyExtractorSED), intent(inout) :: self double precision , intent(in ) :: time + integer (c_size_t ), intent( out) :: countTemplates integer (c_size_t ) :: indexOutput - sedIndexTemplateTime=-1 - if (.not.self%useSEDTemplates) return - ! Check that the time is an output time. - indexOutput=self%outputTimes_%index(time,findClosest=.true.) - if (.not.Values_Agree(time,self%outputTimes_%time(indexOutput),relTol=1.0d-6)) return - sedIndexTemplateTime=int(indexOutput) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed ) then + ! Ages are fixed. A single template can be used if we are computing rest-frame SEDs, and postprocessing is redshift independent. + if (self%frame == frameRest .and. .not.self%stellarPopulationSpectraPostprocessor_%isRedshiftDependent()) then + indexTemplate =+1 + countTemplates=+1 + else + indexTemplate =-1 + countTemplates=-1 + end if + else if (self%starFormationHistory_%ageDistribution() ==starFormationHistoryAgesFixedPerOutput) then + ! Check that the time is an output time. + indexOutput=self%outputTimes_%index(time,findClosest=.true.) + if (Values_Agree(time,self%outputTimes_%time(indexOutput),relTol=1.0d-6)) then + ! The time corresponds to an output time - use a template. + indexTemplate=int(indexOutput) + else + ! The time does not correspond to an output time - a template can not be used. + indexTemplate=-1 + end if + countTemplates=self%outputTimes_%count() + else + ! Templates can not be used. + indexTemplate =-1 + countTemplates=-1 + end if return end function sedIndexTemplateTime - integer function sedIndexTemplateNode(self,node,starFormationHistory) + integer function sedIndexTemplateNode(self,node,starFormationHistory,countTemplates) result(indexTemplate) !!{ Find the index of the template SEDs to use, and also compute the template. !!} - use :: Display , only : displayMessage , verbosityLevelWorking - use :: Galacticus_Nodes , only : nodeComponentBasic - use :: Histories , only : history - use :: ISO_Varying_String , only : var_str - use :: HDF5_Access , only : hdf5Access - use :: IO_HDF5 , only : hdf5Object - use :: Numerical_Comparison, only : Values_Agree - use :: File_Utilities , only : File_Exists , File_Lock , File_Unlock, lockDescriptor - use :: String_Handling , only : operator(//) - use :: Input_Paths , only : inputPath , pathTypeDataDynamic + use :: Display , only : displayMessage , verbosityLevelWorking + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Histories , only : history + use :: ISO_Varying_String , only : var_str + use :: HDF5_Access , only : hdf5Access + use :: IO_HDF5 , only : hdf5Object + use :: Numerical_Comparison , only : Values_Agree + use :: File_Utilities , only : File_Exists , File_Lock , File_Unlock, lockDescriptor + use :: String_Handling , only : operator(//) + use :: Star_Formation_Histories , only : starFormationHistoryAgesFixed, starFormationHistoryAgesFixedPerOutput + use :: Stellar_Luminosities_Structure, only : frameRest + use :: Input_Paths , only : inputPath , pathTypeDataDynamic implicit none class (nodePropertyExtractorSED), intent(inout) :: self type (treeNode ), intent(inout) :: node type (history ), intent(in ) :: starFormationHistory + integer (c_size_t ), intent( out) :: countTemplates class (nodeComponentBasic ), pointer :: basic integer (c_size_t ) :: indexOutput type (lockDescriptor ) :: fileLock @@ -541,25 +568,45 @@ integer function sedIndexTemplateNode(self,node,starFormationHistory) type (varying_string ) :: fileName character(len=16 ) :: label - ! Return a negative index if templates are not being used. - sedIndexTemplateNode=-1 - if (.not.self%useSEDTemplates) return - ! Check that the node exists at at output time. - basic => node %basic( ) - indexOutput = self%outputTimes_%index(basic%time(),findClosest=.true.) - if (.not.Values_Agree(basic%time(),self%outputTimes_%time(indexOutput),relTol=1.0d-6)) return - sedIndexTemplateNode=int(indexOutput) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed ) then + ! Ages are fixed. A single template can be used if we are computing rest-frame SEDs, and postprocessing is redshift independent. + if (self%frame == frameRest .and. .not.self%stellarPopulationSpectraPostprocessor_%isRedshiftDependent()) then + indexTemplate =+1 + countTemplates=+1 + else + indexTemplate =-1 + countTemplates=-1 + end if + else if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixedPerOutput) then + ! Check that the node exists at at output time. + basic => node %basic( ) + indexOutput = self%outputTimes_%index(basic%time(),findClosest=.true.) + if (Values_Agree(basic%time(),self%outputTimes_%time(indexOutput),relTol=1.0d-6)) then + ! The time corresponds to an output time - use a template. + indexTemplate=int(indexOutput) + else + ! The time does not correspond to an output time - a template can not be used. + indexTemplate=-1 + end if + countTemplates=self%outputTimes_%count() + else + ! Templates can not be used. + indexTemplate =-1 + countTemplates=-1 + end if + ! Return if a template can not be used. + if (indexTemplate < 0) return ! Ensure that the templates have been built for this index. - if (.not.allocated(self%templates)) allocate(self%templates(self%outputTimes_%count())) - if (.not.allocated(self%templates(sedIndexTemplateNode)%sed)) then + if (.not.allocated(self%templates)) allocate(self%templates(countTemplates)) + if (.not.allocated(self%templates(indexTemplate)%sed)) then ! Construct the file name. - fileName=inputPath(pathTypeDataDynamic) // & - & 'stellarPopulations/' // & - & self%objectType ( )// & - & '_' // & - & self%historyHashedDescriptor(starFormationHistory)// & - & '_' // & - & indexOutput // & + fileName=inputPath(pathTypeDataDynamic) // & + & 'stellarPopulations/' // & + & self%objectType ( )// & + & '_' // & + & self%historyHashedDescriptor(node,starFormationHistory)// & + & '_' // & + & indexTemplate // & & '.hdf5' ! Check if the templates can be retrieved from file. !! Always obtain the file lock before the hdf5Access lock to avoid deadlocks between OpenMP threads. @@ -568,24 +615,33 @@ integer function sedIndexTemplateNode(self,node,starFormationHistory) !$ call hdf5Access%set() call file%openFile(char(fileName)) if (file%hasDataset('sedTemplate')) then - !$omp critical(gfortranInternalIO) - write (label,'(f12.8)') self%outputTimes_%time(indexOutput) - !$omp end critical(gfortranInternalIO) - call displayMessage("reading SED tabulation for time "//trim(adjustl(label))//" Gyr from file '"//fileName//"'",verbosityLevelWorking) - call file%readDataset('sedTemplate',self%templates(sedIndexTemplateNode)%sed) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed) then + call displayMessage("reading SED tabulation from file '" //fileName//"'",verbosityLevelWorking) + else + !$omp critical(gfortranInternalIO) + write (label,'(f12.8)') self%outputTimes_%time(indexOutput) + !$omp end critical(gfortranInternalIO) + call displayMessage("reading SED tabulation for time "//trim(adjustl(label))//" Gyr from file '"//fileName//"'",verbosityLevelWorking) + end if + call file%readDataset('sedTemplate',self%templates(indexTemplate)%sed) end if call file%close() !$ call hdf5Access%unset() end if - if (.not.allocated(self%templates(sedIndexTemplateNode)%sed)) then - self%templates(sedIndexTemplateNode)%sed=self%luminosityMean(self%outputTimes_%time(indexOutput),starFormationHistory,parallelize=.true.) - !$omp critical(gfortranInternalIO) - write (label,'(f12.8)') self%outputTimes_%time(indexOutput) - !$omp end critical(gfortranInternalIO) - call displayMessage("storing SED tabulation for time "//trim(adjustl(label))//" Gyr to file '"//fileName//"'",verbosityLevelWorking) + if (.not.allocated(self%templates(indexTemplate)%sed)) then + basic => node%basic ( ) + self %templates(indexTemplate)%sed = self%luminosityMean(basic%time(),node,starFormationHistory,parallelize=.true.) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed) then + call displayMessage("storing SED tabulation to file '" //fileName//"'",verbosityLevelWorking) + else + !$omp critical(gfortranInternalIO) + write (label,'(f12.8)') self%outputTimes_%time(indexOutput) + !$omp end critical(gfortranInternalIO) + call displayMessage("storing SED tabulation for time "//trim(adjustl(label))//" Gyr to file '"//fileName//"'",verbosityLevelWorking) + end if !$ call hdf5Access%set() call file%openFile(char(fileName),overWrite=.false.,readOnly=.false.) - call file%writeDataset(self%templates(sedIndexTemplateNode)%sed,'sedTemplate') + call file%writeDataset(self%templates(indexTemplate)%sed,'sedTemplate') call file%close() !$ call hdf5Access%unset() end if @@ -594,25 +650,27 @@ integer function sedIndexTemplateNode(self,node,starFormationHistory) return end function sedIndexTemplateNode - double precision function sedLuminosityMean(self,time,starFormationHistory,parallelize) + double precision function sedLuminosityMean(self,time,node,starFormationHistory,parallelize) !!{ Compute the mean luminosity of the stellar population in each bin of the star formation history. !!} - use :: Abundances_Structure , only : abundances , metallicityTypeLinearByMassSolar, adjustElementsReset - use :: Display , only : displayIndent , displayUnindent , displayCounter , displayCounterClear, & - & verbosityLevelWorking, displayMessage + use :: Abundances_Structure , only : abundances , metallicityTypeLinearByMassSolar, adjustElementsReset + use :: Display , only : displayIndent , displayUnindent , displayCounter , displayCounterClear, & + & verbosityLevelWorking , displayMessage use :: Error , only : Error_Report use :: Histories , only : history use :: Numerical_Integration , only : integrator use :: Numerical_Constants_Prefixes , only : siFormat use :: Multi_Counters , only : multiCounter use :: Locks , only : ompLock - use :: Stellar_Luminosities_Structure, only : frameRest , frameObserved + use :: Stellar_Luminosities_Structure, only : frameRest , frameObserved + use :: Star_Formation_Histories , only : starFormationHistoryAgesFixed use :: Timers , only : timer implicit none double precision , dimension(:,:,:), allocatable :: sedLuminosityMean class (nodePropertyExtractorSED ), intent(inout) :: self double precision , intent(in ) :: time + type (treeNode ), intent(inout) :: node type (history ), intent(in ) :: starFormationHistory logical , intent(in ) , optional :: parallelize class (stellarPopulationSpectraClass ), pointer , save :: stellarPopulationSpectra_ @@ -621,13 +679,15 @@ double precision function sedLuminosityMean(self,time,starFormationHistory,paral type (integrator ), allocatable , save :: integratorTime , integratorMetallicity, & & integratorWavelength integer (c_size_t ), dimension(: ), allocatable :: jWavelength - double precision , dimension(: ), allocatable :: wavelengthMinima , wavelengthMaxima + double precision , dimension(: ), allocatable :: wavelengthMinima , wavelengthMaxima , & + & times + double precision , dimension( :,:), allocatable :: masses integer (c_size_t ) :: iWavelength , iTime , & & iMetallicity , kWavelength , & & counter , counterMaximum , & & iterator double precision :: metallicityMinimum , metallicityMaximum , & - & expansionFactor + & expansionFactor , timeStart double precision , save :: timeMinimum , timeMaximum , & & wavelength , wavelengthMinimum , & & wavelengthMaximum , age , & @@ -641,8 +701,10 @@ double precision function sedLuminosityMean(self,time,starFormationHistory,paral !![ !!] - - allocate(sedLuminosityMean(self%size(time),size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2))) + + times =self%starFormationHistory_%times (node=node,starFormationHistory=starFormationHistory,allowTruncation=.false.,timeStart=timeStart) + masses=self%starFormationHistory_%masses(node=node,starFormationHistory=starFormationHistory,allowTruncation=.false. ) + allocate(sedLuminosityMean(self%size(time),size(masses,dim=1),size(masses,dim=2))) select case (self%frame%ID) case (frameRest %ID) expansionFactor=1.0d0 @@ -676,9 +738,9 @@ double precision function sedLuminosityMean(self,time,starFormationHistory,paral end do end if counter =-1 - counterMaximum=product ([size(sedLuminosityMean,dim=1 ),size(starFormationHistory%data,dim=1 ),size(starFormationHistory%data,dim=2 )]) - state =multiCounter([size(sedLuminosityMean,dim=1,kind=c_size_t),size(starFormationHistory%data,dim=1,kind=c_size_t),size(starFormationHistory%data,dim=2,kind=c_size_t)]) - stateLock =ompLock ( ) + counterMaximum=product ([size(sedLuminosityMean,dim=1 ),size(masses,dim=1 ),size(masses,dim=2 )]) + state =multiCounter([size(sedLuminosityMean,dim=1,kind=c_size_t),size(masses,dim=1,kind=c_size_t),size(masses,dim=2,kind=c_size_t)]) + stateLock =ompLock ( ) !$omp parallel private (iWavelength,iTime,iMetallicity,metallicityMinimum,metallicityMaximum) allocate(integratorTime ) allocate(integratorMetallicity) @@ -706,10 +768,14 @@ double precision function sedLuminosityMean(self,time,starFormationHistory,paral end if !$omp master if (parallelize_) then - !$omp critical(gfortranInternalIO) - write (label,'(f12.8)') time - !$omp end critical(gfortranInternalIO) - call displayIndent("computing template SEDs for time "//trim(adjustl(label))//" Gyr",verbosityLevelWorking) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed) then + call displayIndent("computing template SEDs" ,verbosityLevelWorking) + else + !$omp critical(gfortranInternalIO) + write (label,'(f12.8)') time + !$omp end critical(gfortranInternalIO) + call displayIndent("computing template SEDs for time "//trim(adjustl(label))//" Gyr",verbosityLevelWorking) + end if call timer_%start() end if !$omp end master @@ -744,12 +810,15 @@ double precision function sedLuminosityMean(self,time,starFormationHistory,paral end if ! Determine times. if (iTime == 1) then - timeMinimum= 0.0d0 + timeMinimum= timeStart else - timeMinimum= starFormationHistory%time(iTime-1) + timeMinimum= times(iTime-1) + end if + timeMaximum =min(times(iTime ),time) + if (timeMaximum <= timeMinimum) then + sedLuminosityMean(iWavelength,iTime,iMetallicity)=0.0d0 + cycle end if - timeMaximum =min(starFormationHistory%time(iTime ),time) - if (timeMaximum <= timeMinimum) cycle ! Determine metallicities. if (iMetallicity == 1) then metallicityMinimum= self%metallicityPopulationMinimum @@ -879,24 +948,28 @@ end function sedIntegrandWavelength end function sedLuminosityMean - function sedHistoryHashedDescriptor(self,starFormationHistory) + function sedHistoryHashedDescriptor(self,node,starFormationHistory) !!{ Return an input parameter list descriptor which could be used to recreate this object. !!} + use :: Galacticus_Nodes , only : treeNode use :: Input_Parameters , only : inputParameters use :: String_Handling , only : String_C_To_Fortran use :: Hashes_Cryptographic , only : Hash_MD5 use :: FoX_DOM , only : setLiveNodeLists use :: Histories , only : history use :: Stellar_Luminosities_Structure, only : enumerationFrameDecode + use :: Star_Formation_Histories , only : starFormationHistoryAgesFixed implicit none - type (varying_string ) :: sedHistoryHashedDescriptor - class (nodePropertyExtractorSED), intent(in ) :: self - type (history ), intent(in ) :: starFormationHistory - character(len=18 ) :: parameterLabel - type (inputParameters ) :: descriptor - type (varying_string ) :: descriptorString , values - integer :: i + type (varying_string ) :: sedHistoryHashedDescriptor + class (nodePropertyExtractorSED), intent(in ) :: self + type (treeNode ), intent(inout) :: node + type (history ), intent(in ) :: starFormationHistory + double precision , allocatable , dimension(:) :: times + character (len=18 ) :: parameterLabel + type (inputParameters ) :: descriptor + type (varying_string ) :: descriptorString , values + integer :: i !![ @@ -936,15 +1009,19 @@ function sedHistoryHashedDescriptor(self,starFormationHistory) if (i < size(self%metallicityBoundaries)) values=values//":" end do call descriptor%addParameter('metallicity',char(values)) - values="" - do i=1,size(starFormationHistory%time) - !$omp critical(gfortranInternalIO) - write (parameterLabel,'(e17.10)') starFormationHistory%time (i) - !$omp end critical(gfortranInternalIO) - values=values//trim(adjustl(parameterLabel)) - if (i < size(starFormationHistory%time)) values=values//":" - end do - call descriptor%addParameter('time' ,char(values)) + ! Times are only added if ages are not fixed. For fixed ages, the history is the same (for our purposes) always. + if (self%starFormationHistory_%ageDistribution() /= starFormationHistoryAgesFixed) then + values="" + times =self %starFormationHistory_%times(node=node,starFormationHistory=starFormationHistory) + do i=1,size(times) + !$omp critical(gfortranInternalIO) + write (parameterLabel,'(e17.10)') times(i) + !$omp end critical(gfortranInternalIO) + values=values//trim(adjustl(parameterLabel)) + if (i < size(times)) values=values//":" + end do + call descriptor%addParameter('time',char(values)) + end if descriptorString=descriptor%serializeToString() call descriptor%destroy() descriptorString=descriptorString//":sourceDigest{"//String_C_To_Fortran(nodePropertyExtractorSED5)//"}" diff --git a/source/nodes.property_extractor.luminosity_emission_line.F90 b/source/nodes.property_extractor.luminosity_emission_line.F90 index 7af934701a..3dcb6ef01c 100644 --- a/source/nodes.property_extractor.luminosity_emission_line.F90 +++ b/source/nodes.property_extractor.luminosity_emission_line.F90 @@ -68,7 +68,6 @@ & agePopulationMaximum , resolution , & & factorWavelength , toleranceRelative , & & ionizingLuminosityHydrogenMean - logical :: useLuminosityTemplates type (varying_string ) :: cloudyTableFileName contains !![ @@ -197,8 +196,7 @@ function emissionLineLuminosityConstructorInternal(cloudyTableFileName,component & component /= componentTypeSpheroid & & ) call Error_Report("only 'disk' and 'spheroid' components are supported"//{introspection:location}) ! Get details of the star formation rate tabulation. - self%metallicityBoundaries =self%starFormationHistory_%metallicityBoundaries () - self%useLuminosityTemplates=self%starFormationHistory_%perOutputTabulationIsStatic() + self%metallicityBoundaries=self%starFormationHistory_%metallicityBoundaries () !$ call hdf5Access%set() call emissionLinesFile%openFile(char(File_Name_Expand(char(self%cloudyTableFileName))),readOnly=.true.) lines=emissionLinesFile%openGroup('lines') @@ -329,6 +327,7 @@ function emissionLineLuminosityExtract(self,node,time,instance) result(luminosit class (nodeComponentSpheroid ) , pointer :: spheroid double precision , dimension(:,:,:), pointer :: luminosityTemplate_ double precision , dimension(:,:,:), target , allocatable :: luminosityTemplate + double precision , dimension( :,:) , allocatable :: masses type (history ) :: starFormationHistory integer :: indexTemplate , iLines !$GLC attributes unused :: instance @@ -352,11 +351,12 @@ function emissionLineLuminosityExtract(self,node,time,instance) result(luminosit luminosityTemplate_ => self%templates(indexTemplate)%emissionLineLuminosity else ! Stored templates can not be used, get the templates for this specific case, and point to them. - luminosityTemplate = self%luminosityMean(time,starFormationHistory) + luminosityTemplate = self%luminosityMean(time,node,starFormationHistory) luminosityTemplate_ => luminosityTemplate end if + masses=self%starFormationHistory_%masses(node,starFormationHistory,allowTruncation=.false.) do iLines=1,size(luminosity,dim=1) - luminosity(iLines)=sum(luminosityTemplate_(iLines,:,:)*starFormationHistory%data(:,:)) + luminosity(iLines)=sum(luminosityTemplate_(iLines,:,:)*masses(:,:)) end do return end function emissionLineLuminosityExtract @@ -408,69 +408,97 @@ function emissionLineLuminosityUnitsInSI(self,time) result(unitsInSI) return end function emissionLineLuminosityUnitsInSI - integer function emissionLineLuminosityIndexTemplateTime(self,time) result(index) + integer function emissionLineLuminosityIndexTemplateTime(self,time) result(indexTemplate) !!{ Find the index of the template emission lines to use. !!} - use :: Numerical_Comparison, only : Values_Agree + use :: Numerical_Comparison , only : Values_Agree + use :: Star_Formation_Histories, only : starFormationHistoryAgesFixed, starFormationHistoryAgesFixedPerOutput implicit none class (nodePropertyExtractorLuminosityEmissionLine), intent(inout) :: self double precision , intent(in ) :: time integer (c_size_t ) :: indexOutput - index=-1 - if (.not.self%useLuminosityTemplates) return - ! Check that the time is an output time. - indexOutput=self%outputTimes_%index(time,findClosest=.true.) - if (.not.Values_Agree(time,self%outputTimes_%time(indexOutput),relTol=1.0d-6)) return - index=int(indexOutput) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed ) then + ! Ages are fixed - a single template can be used. + indexTemplate =+1 + else if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixedPerOutput) then + ! Check that the time is an output time. + indexOutput=self%outputTimes_%index(time,findClosest=.true.) + if (Values_Agree(time,self%outputTimes_%time(indexOutput),relTol=1.0d-6)) then + ! The time corresponds to an output time - use a template. + indexTemplate=int(indexOutput) + else + ! The time does not correspond to an output time - a template can not be used. + indexTemplate=-1 + end if + else + ! Templates can not be used. + indexTemplate =-1 + end if return end function emissionLineLuminosityIndexTemplateTime - integer function emissionLineLuminosityIndexTemplateNode(self,node,starFormationHistory) result(index) + integer function emissionLineLuminosityIndexTemplateNode(self,node,starFormationHistory) result(indexTemplate) !!{ Find the index of the template emission line luminosity to use, and also compute the template. !!} - use :: Display , only : displayMessage , verbosityLevelWorking - use :: Galacticus_Nodes , only : nodeComponentBasic - use :: Histories , only : history - use :: ISO_Varying_String , only : var_str - use :: HDF5_Access , only : hdf5Access - use :: IO_HDF5 , only : hdf5Object - use :: Numerical_Comparison, only : Values_Agree - use :: File_Utilities , only : File_Exists , File_Lock , File_Unlock, lockDescriptor - use :: String_Handling , only : operator(//) - use :: Input_Paths , only : inputPath , pathTypeDataDynamic + use :: Display , only : displayMessage , verbosityLevelWorking + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Histories , only : history + use :: ISO_Varying_String , only : var_str + use :: HDF5_Access , only : hdf5Access + use :: IO_HDF5 , only : hdf5Object + use :: Numerical_Comparison , only : Values_Agree + use :: File_Utilities , only : File_Exists , File_Lock , File_Unlock, lockDescriptor + use :: String_Handling , only : operator(//) + use :: Input_Paths , only : inputPath , pathTypeDataDynamic + use :: Star_Formation_Histories, only : starFormationHistoryAgesFixed, starFormationHistoryAgesFixedPerOutput implicit none class (nodePropertyExtractorLuminosityEmissionLine), intent(inout) :: self type (treeNode ), intent(inout) :: node type (history ), intent(in ) :: starFormationHistory class (nodeComponentBasic ), pointer :: basic - integer (c_size_t ) :: indexOutput + integer (c_size_t ) :: indexOutput , countTemplates type (lockDescriptor ) :: fileLock type (hdf5Object ) :: file type (varying_string ) :: fileName character(len=16 ) :: label - - ! Return a negative index if templates are not being used. - index=-1 - if (.not.self%useLuminosityTemplates) return - ! Check that the node exists at at output time. - basic => node %basic( ) - indexOutput = self%outputTimes_%index(basic%time(),findClosest=.true.) - if (.not.Values_Agree(basic%time(),self%outputTimes_%time(indexOutput),relTol=1.0d-6)) return - index=int(indexOutput) + + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed ) then + ! Ages are fixed - a single template can be used. + indexTemplate =1 + countTemplates=1 + else if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixedPerOutput) then + ! Check that the node exists at at output time. + basic => node %basic( ) + indexOutput = self%outputTimes_%index(basic%time(),findClosest=.true.) + if (Values_Agree(basic%time(),self%outputTimes_%time(indexOutput),relTol=1.0d-6)) then + ! The time corresponds to an output time - use a template. + indexTemplate=int(indexOutput) + else + ! The time does not correspond to an output time - a template can not be used. + indexTemplate=-1 + end if + countTemplates=self%outputTimes_%count() + else + ! Templates can not be used. + indexTemplate =-1 + countTemplates=-1 + end if + ! Return if a template can not be used. + if (indexTemplate < 0) return ! Ensure that the templates have been built for this index. - if (.not.allocated(self%templates )) allocate(self%templates(self%outputTimes_%count())) - if (.not.allocated(self%templates(index)%emissionLineLuminosity)) then + if (.not.allocated(self%templates )) allocate(self%templates(countTemplates)) + if (.not.allocated(self%templates(indexTemplate)%emissionLineLuminosity)) then ! Construct the file name. - fileName=inputPath(pathTypeDataDynamic) // & - & 'stellarPopulations/' // & - & self%objectType ( )// & - & '_' // & - & self%historyHashedDescriptor(starFormationHistory)// & - & '_' // & - & indexOutput // & + fileName=inputPath(pathTypeDataDynamic) // & + & 'stellarPopulations/' // & + & self%objectType ( )// & + & '_' // & + & self%historyHashedDescriptor(node,starFormationHistory)// & + & '_' // & + & indexTemplate // & & '.hdf5' ! Check if the templates can be retrieved from file. !! Always obtain the file lock before the hdf5Access lock to avoid deadlocks between OpenMP threads. @@ -479,24 +507,33 @@ integer function emissionLineLuminosityIndexTemplateNode(self,node,starFormation !$ call hdf5Access%set() call file%openFile(char(fileName)) if (file%hasDataset('luminosityTemplate')) then - !$omp critical(gfortranInternalIO) - write (label,'(f12.8)') self%outputTimes_%time(indexOutput) - !$omp end critical(gfortranInternalIO) - call displayMessage("reading emission line luminosity tabulation for time "//trim(adjustl(label))//" Gyr from file '"//fileName//"'",verbosityLevelWorking) - call file%readDataset('luminosityTemplate',self%templates(index)%emissionLineLuminosity) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed) then + call displayMessage("reading emission line luminosity tabulation from file '" //fileName//"'",verbosityLevelWorking) + else + !$omp critical(gfortranInternalIO) + write (label,'(f12.8)') self%outputTimes_%time(indexOutput) + !$omp end critical(gfortranInternalIO) + call displayMessage("reading emission line luminosity tabulation for time "//trim(adjustl(label))//" Gyr from file '"//fileName//"'",verbosityLevelWorking) + end if + call file%readDataset('luminosityTemplate',self%templates(indexTemplate)%emissionLineLuminosity) end if call file%close() !$ call hdf5Access%unset() end if - if (.not.allocated(self%templates(index)%emissionLineLuminosity)) then - self%templates(index)%emissionLineLuminosity=self%luminosityMean(self%outputTimes_%time(indexOutput),starFormationHistory,parallelize=.true.) - !$omp critical(gfortranInternalIO) - write (label,'(f12.8)') self%outputTimes_%time(indexOutput) - !$omp end critical(gfortranInternalIO) - call displayMessage("storing emission line luminosity tabulation for time "//trim(adjustl(label))//" Gyr to file '"//fileName//"'",verbosityLevelWorking) + if (.not.allocated(self%templates(indexTemplate)%emissionLineLuminosity)) then + basic => node%basic ( ) + self%templates(indexTemplate)%emissionLineLuminosity = self%luminosityMean(basic%time(),node,starFormationHistory,parallelize=.true.) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixed) then + call displayMessage("storing emission line luminosity tabulation to file '" //fileName//"'",verbosityLevelWorking) + else + !$omp critical(gfortranInternalIO) + write (label,'(f12.8)') self%outputTimes_%time(indexOutput) + !$omp end critical(gfortranInternalIO) + call displayMessage("storing emission line luminosity tabulation for time "//trim(adjustl(label))//" Gyr to file '"//fileName//"'",verbosityLevelWorking) + end if !$ call hdf5Access%set() call file%openFile(char(fileName),overWrite=.false.,readOnly=.false.) - call file%writeDataset(self%templates(index)%emissionLineLuminosity,'luminosityTemplate') + call file%writeDataset(self%templates(indexTemplate)%emissionLineLuminosity,'luminosityTemplate') call file%close() !$ call hdf5Access%unset() end if @@ -505,7 +542,7 @@ integer function emissionLineLuminosityIndexTemplateNode(self,node,starFormation return end function emissionLineLuminosityIndexTemplateNode - function emissionLineLuminosityMean(self,time,starFormationHistory,parallelize) result(luminosityMean) + function emissionLineLuminosityMean(self,time,node,starFormationHistory,parallelize) result(luminosityMean) !!{ Compute the mean luminosity of the stellar population in each bin of the star formation history. !!} @@ -522,15 +559,19 @@ function emissionLineLuminosityMean(self,time,starFormationHistory,parallelize) double precision , dimension(:,:,:), allocatable :: luminosityMean class (nodePropertyExtractorLuminosityEmissionLine), intent(inout) :: self double precision , intent(in ) :: time + type (treeNode ), intent(inout) :: node type (history ), intent(in ) :: starFormationHistory logical , intent(in ) , optional :: parallelize + double precision , dimension(: ), allocatable :: times + double precision , dimension( :,:), allocatable :: masses type (integrator ), save , allocatable :: integratorTime , integratorMetallicity type (interpolator ), save , allocatable :: interpolatorTime , interpolatorMetallicity integer (c_size_t ) :: iTime , iMetallicity , & & counter , counterMaximum , & & iterator integer (c_size_t ), save :: iLine - double precision :: metallicityMinimum , metallicityMaximum + double precision :: metallicityMinimum , metallicityMaximum , & + & timeStart double precision , save :: timeMinimum , timeMaximum , & & age , metallicity_ character (len=12 ) :: label @@ -541,10 +582,12 @@ function emissionLineLuminosityMean(self,time,starFormationHistory,parallelize) !!] - allocate(luminosityMean(self%countLines,size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2))) + times =self%starFormationHistory_%times (node=node,starFormationHistory=starFormationHistory,allowTruncation=.false.,timeStart=timeStart) + masses=self%starFormationHistory_%masses(node=node,starFormationHistory=starFormationHistory,allowTruncation=.false. ) + allocate(luminosityMean(self%countLines,size(masses,dim=1),size(masses,dim=2))) counter =-1 - counterMaximum=product ([size(luminosityMean,dim=1 ),size(starFormationHistory%data,dim=1 ),size(starFormationHistory%data,dim=2 )]) - state =multiCounter([size(luminosityMean,dim=1,kind=c_size_t),size(starFormationHistory%data,dim=1,kind=c_size_t),size(starFormationHistory%data,dim=2,kind=c_size_t)]) + counterMaximum=product ([size(luminosityMean,dim=1 ),size(masses,dim=1 ),size(masses,dim=2 )]) + state =multiCounter([size(luminosityMean,dim=1,kind=c_size_t),size(masses,dim=1,kind=c_size_t),size(masses,dim=2,kind=c_size_t)]) stateLock =ompLock () !$omp parallel private (iTime,iMetallicity,metallicityMinimum,metallicityMaximum) allocate(integratorTime ) @@ -585,12 +628,15 @@ function emissionLineLuminosityMean(self,time,starFormationHistory,parallelize) end if ! Determine times. if (iTime == 1) then - timeMinimum= 0.0d0 + timeMinimum= timeStart else - timeMinimum= starFormationHistory%time(iTime-1) + timeMinimum= times(iTime-1) + end if + timeMaximum =min(times(iTime ),time) + if (timeMaximum <= timeMinimum) then + luminosityMean(iLine,iTime,iMetallicity)=0.0d0 + cycle end if - timeMaximum =min(starFormationHistory%time(iTime ),time) - if (timeMaximum <= timeMinimum) cycle ! Determine metallicities. if (iMetallicity == 1) then metallicityMinimum= self%metallicityPopulationMinimum @@ -671,26 +717,29 @@ end function emissionLineLuminosityIntegrandTime end function emissionLineLuminosityMean - function emissionLineLuminosityHistoryHashedDescriptor(self,starFormationHistory) result(hashedDescriptor) + function emissionLineLuminosityHistoryHashedDescriptor(self,node,starFormationHistory) result(hashedDescriptor) !!{ Return an input parameter list descriptor which could be used to recreate this object. !!} - use :: Input_Parameters , only : inputParameters - use :: String_Handling , only : String_C_To_Fortran - use :: Hashes_Cryptographic, only : Hash_MD5 - use :: FoX_DOM , only : setLiveNodeLists - use :: Histories , only : history - use :: File_Utilities , only : File_Modification_Time - use :: String_Handling , only : String_Join + use :: Input_Parameters , only : inputParameters + use :: String_Handling , only : String_C_To_Fortran + use :: Hashes_Cryptographic , only : Hash_MD5 + use :: FoX_DOM , only : setLiveNodeLists + use :: Histories , only : history + use :: File_Utilities , only : File_Modification_Time + use :: String_Handling , only : String_Join + use :: Star_Formation_Histories, only : starFormationHistoryAgesFixed implicit none - type (varying_string ) :: hashedDescriptor - class (nodePropertyExtractorLuminosityEmissionLine), intent(in ) :: self - type (history ), intent(in ) :: starFormationHistory - character(len=18 ) :: parameterLabel - character(len=30 ) :: timeModification - type (inputParameters ) :: descriptor - type (varying_string ) :: descriptorString , values - integer :: i , status + type (varying_string ) :: hashedDescriptor + class (nodePropertyExtractorLuminosityEmissionLine), intent(in ) :: self + type (treeNode ), intent(inout) :: node + type (history ), intent(in ) :: starFormationHistory + double precision , allocatable , dimension(:) :: times + character (len=18 ) :: parameterLabel + character (len=30 ) :: timeModification + type (inputParameters ) :: descriptor + type (varying_string ) :: descriptorString , values + integer :: i , status !![ @@ -717,15 +766,19 @@ function emissionLineLuminosityHistoryHashedDescriptor(self,starFormationHistory if (i < size(self%metallicityBoundaries)) values=values//":" end do call descriptor%addParameter('metallicity',char(values)) - values="" - do i=1,size(starFormationHistory%time) - !$omp critical(gfortranInternalIO) - write (parameterLabel,'(e17.10)') starFormationHistory%time (i) - !$omp end critical(gfortranInternalIO) - values=values//trim(adjustl(parameterLabel)) - if (i < size(starFormationHistory%time)) values=values//":" - end do - call descriptor%addParameter('time' ,char(values)) + ! Times are only added if ages are not fixed. For fixed ages, the history is the same (for our purposes) always. + if (self%starFormationHistory_%ageDistribution() /= starFormationHistoryAgesFixed) then + values="" + times =self %starFormationHistory_%times(node=node,starFormationHistory=starFormationHistory) + do i=1,size(times) + !$omp critical(gfortranInternalIO) + write (parameterLabel,'(e17.10)') times(i) + !$omp end critical(gfortranInternalIO) + values=values//trim(adjustl(parameterLabel)) + if (i < size(times)) values=values//":" + end do + call descriptor%addParameter('time' ,char(values)) + end if ! Add line names. call descriptor%addParameter('lineNames',char(String_Join(self%lineNames," "))) ! Add tolerance. diff --git a/source/nodes.property_extractor.star_formation_history.F90 b/source/nodes.property_extractor.star_formation_history.F90 index 7f5f371f5f..5811d548d9 100644 --- a/source/nodes.property_extractor.star_formation_history.F90 +++ b/source/nodes.property_extractor.star_formation_history.F90 @@ -87,7 +87,8 @@ function starFormationHistoryConstructorInternal(component,starFormationHistory_ !!{ Internal constructor for the ``starFormationHistory'' output extractor property extractor class. !!} - use :: Galactic_Structure_Options, only : componentTypeDisk, componentTypeSpheroid + use :: Galactic_Structure_Options, only : componentTypeDisk , componentTypeSpheroid + use :: Star_Formation_Histories , only : starFormationHistoryAgesFixedPerOutput use :: Error , only : Error_Report implicit none type (nodePropertyExtractorStarFormationHistory) :: self @@ -106,13 +107,13 @@ function starFormationHistoryConstructorInternal(component,starFormationHistory_ !!] end select - if (.not.self%starFormationHistory_%perOutputTabulationIsStatic()) then + if (self%starFormationHistory_%ageDistribution() /= starFormationHistoryAgesFixedPerOutput) then allocate( self%extractors%next ) allocate(nodePropertyExtractorStarFormationHistoryTimes :: self%extractors%next%extractor_) select type (extractor_ => self%extractors%next%extractor_) type is (nodePropertyExtractorStarFormationHistoryTimes) !![ - + !!] end select end if diff --git a/source/nodes.property_extractor.star_formation_history_masses.F90 b/source/nodes.property_extractor.star_formation_history_masses.F90 index 9bf0476278..eb6ae95c94 100644 --- a/source/nodes.property_extractor.star_formation_history_masses.F90 +++ b/source/nodes.property_extractor.star_formation_history_masses.F90 @@ -147,14 +147,15 @@ function starFormationHistoryMassExtract(self,node,instance) use :: Galactic_Structure_Options, only : componentTypeDisk, componentTypeSpheroid, componentTypeAll use :: Histories , only : history implicit none - double precision , dimension(:,: ,: ), allocatable :: starFormationHistoryMassExtract - class (nodePropertyExtractorStarFormationHistoryMass), intent(inout) :: self - type (treeNode ), intent(inout) :: node - type (multiCounter ), intent(inout) , optional :: instance - class (nodeComponentDisk ) , pointer :: disk - class (nodeComponentSpheroid ) , pointer :: spheroid - type (history ) :: starFormationHistory , starFormationHistoryDisk, & - & starFormationHistorySpheroid + double precision , dimension(:,:,:), allocatable :: starFormationHistoryMassExtract + class (nodePropertyExtractorStarFormationHistoryMass), intent(inout) :: self + type (treeNode ), intent(inout) :: node + type (multiCounter ), intent(inout) , optional :: instance + double precision , dimension(:,: ), allocatable :: masses + class (nodeComponentDisk ) , pointer :: disk + class (nodeComponentSpheroid ) , pointer :: spheroid + type (history ) :: starFormationHistory , starFormationHistoryDisk, & + & starFormationHistorySpheroid !$GLC attributes unused :: instance ! Get the relevant star formation history. @@ -182,10 +183,11 @@ function starFormationHistoryMassExtract(self,node,instance) end if end select if (starFormationHistory%exists()) then - allocate(starFormationHistoryMassExtract(size(starFormationHistory%data,dim=1),size(starFormationHistory%data,dim=2),1)) - starFormationHistoryMassExtract(:,:,1)=starFormationHistory%data + masses=self%starFormationHistory_%masses(node,starFormationHistory,allowTruncation=.true.) + allocate(starFormationHistoryMassExtract(size(masses,dim=1),size(masses,dim=2),1)) + starFormationHistoryMassExtract(:,:,1)=masses else - allocate(starFormationHistoryMassExtract(0 ,0 ,1)) + allocate(starFormationHistoryMassExtract(0 ,0 ,1)) end if return end function starFormationHistoryMassExtract @@ -236,7 +238,8 @@ subroutine starFormationHistoryMassMetaData(self,node,time,metaDataRank0,metaDat !!{ Return metadata associated with the {\normalfont \ttfamily starFormationHistoryMass} properties. !!} - use :: Galacticus_Nodes, only : nodeComponentBasic + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Star_Formation_Histories, only : starFormationHistoryAgesFixedPerOutput implicit none class (nodePropertyExtractorStarFormationHistoryMass), intent(inout) :: self type (treeNode ), intent(inout) :: node @@ -246,10 +249,10 @@ subroutine starFormationHistoryMassMetaData(self,node,time,metaDataRank0,metaDat integer (c_size_t ) :: indexOutput !$GLC attributes unused :: metaDataRank0 - call metaDataRank1%set('metallicity',self%starFormationHistory_%metallicityBoundaries( )) - if (self%starFormationHistory_%perOutputTabulationIsStatic()) then + call metaDataRank1%set('metallicity',self%starFormationHistory_%metallicityBoundaries( )) + if (self%starFormationHistory_%ageDistribution() == starFormationHistoryAgesFixedPerOutput) then indexOutput = self%outputTimes_%index(time,findClosest=.true.) - call metaDataRank1%set('time' ,self%starFormationHistory_%times (indexOutput)) + call metaDataRank1%set('time' ,self%starFormationHistory_%times (indexOutput=indexOutput,allowTruncation=.true.)) end if return end subroutine starFormationHistoryMassMetaData diff --git a/source/nodes.property_extractor.star_formation_history_times.F90 b/source/nodes.property_extractor.star_formation_history_times.F90 index e6123c4e17..27808bf098 100644 --- a/source/nodes.property_extractor.star_formation_history_times.F90 +++ b/source/nodes.property_extractor.star_formation_history_times.F90 @@ -22,7 +22,8 @@ !!} use :: Galactic_Structure_Options, only : enumerationComponentTypeType - + use :: Star_Formation_Histories , only : starFormationHistoryClass + !![ A property extractor class for the star formation history tabulation times of a component. @@ -33,8 +34,10 @@ A property extractor class for the star formation history tabulation times of a component. !!} private - type(enumerationComponentTypeType) :: component + class(starFormationHistoryClass ), pointer :: starFormationHistory_ => null() + type (enumerationComponentTypeType) :: component contains + final :: starFormationHistoryTimesDestructor procedure :: elementCount => starFormationHistoryTimesElementCount procedure :: extract => starFormationHistoryTimesExtract procedure :: names => starFormationHistoryTimesNames @@ -59,9 +62,10 @@ function starFormationHistoryTimesConstructorParameters(parameters) result(self) use :: Input_Parameters , only : inputParameter , inputParameters use :: Galactic_Structure_Options, only : enumerationComponentTypeEncode implicit none - type(nodePropertyExtractorStarFormationHistoryTimes) :: self - type(inputParameters ), intent(inout) :: parameters - type(varying_string ) :: component + type (nodePropertyExtractorStarFormationHistoryTimes) :: self + type (inputParameters ), intent(inout) :: parameters + class(starFormationHistoryClass ), pointer :: starFormationHistory_ + type (varying_string ) :: component !![ @@ -69,25 +73,28 @@ function starFormationHistoryTimesConstructorParameters(parameters) result(self) parameters The component from which to extract star formation history. + !!] - self=nodePropertyExtractorStarFormationHistoryTimes(enumerationComponentTypeEncode(char(component),includesPrefix=.false.)) + self=nodePropertyExtractorStarFormationHistoryTimes(enumerationComponentTypeEncode(char(component),includesPrefix=.false.),starFormationHistory_) !![ + !!] return end function starFormationHistoryTimesConstructorParameters - function starFormationHistoryTimesConstructorInternal(component) result(self) + function starFormationHistoryTimesConstructorInternal(component,starFormationHistory_) result(self) !!{ Internal constructor for the {\normalfont \ttfamily starFormationHistoryTimes} property extractor class. !!} use :: Galactic_Structure_Options, only : componentTypeDisk, componentTypeSpheroid use :: Error , only : Error_Report implicit none - type(nodePropertyExtractorStarFormationHistoryTimes) :: self - type(enumerationComponentTypeType ), intent(in ) :: component + type (nodePropertyExtractorStarFormationHistoryTimes) :: self + type (enumerationComponentTypeType ), intent(in ) :: component + class(starFormationHistoryClass ), intent(in ), target :: starFormationHistory_ !![ - + !!] if ( & @@ -98,6 +105,19 @@ function starFormationHistoryTimesConstructorInternal(component) result(self) return end function starFormationHistoryTimesConstructorInternal + subroutine starFormationHistoryTimesDestructor(self) + !!{ + Destructor for the {\normalfont \ttfamily starFormationHistoryTime} property extractor class. + !!} + implicit none + type(nodePropertyExtractorStarFormationHistoryTimes), intent(inout) :: self + + !![ + + !!] + return + end subroutine starFormationHistoryTimesDestructor + integer function starFormationHistoryTimesElementCount(self) !!{ Return the number of elements in the {\normalfont \ttfamily starFormationHistoryTimes} property extractors. @@ -117,14 +137,15 @@ function starFormationHistoryTimesExtract(self,node,instance) use :: Galactic_Structure_Options, only : componentTypeDisk, componentTypeSpheroid use :: Histories , only : history implicit none - double precision , dimension(:,: ), allocatable :: starFormationHistoryTimesExtract - class (nodePropertyExtractorStarFormationHistoryTimes), intent(inout) :: self - type (treeNode ), intent(inout) :: node - type (multiCounter ), intent(inout) , optional :: instance - class (nodeComponentDisk ) , pointer :: disk - class (nodeComponentSpheroid ) , pointer :: spheroid - type (history ) :: starFormationHistory - !$GLC attributes unustarFormationHistoryTimes :: instance + double precision , dimension(:,:), allocatable :: starFormationHistoryTimesExtract + class (nodePropertyExtractorStarFormationHistoryTimes), intent(inout) :: self + type (treeNode ), intent(inout) :: node + type (multiCounter ), intent(inout) , optional :: instance + class (nodeComponentDisk ) , pointer :: disk + class (nodeComponentSpheroid ) , pointer :: spheroid + type (history ) :: starFormationHistory + double precision , dimension(: ), allocatable :: times + !$GLC attributes unused :: instance ! Get the relevant star formation history. select case (self%component%ID) @@ -136,10 +157,11 @@ function starFormationHistoryTimesExtract(self,node,instance) starFormationHistory = spheroid%starFormationHistory() end select if (starFormationHistory%exists()) then - allocate(starFormationHistoryTimesExtract(size(starFormationHistory%time),1)) - starFormationHistoryTimesExtract(:,1)=starFormationHistory%time + times=self%starFormationHistory_%times(node=node,starFormationHistory=starFormationHistory,allowTruncation=.true.) + allocate(starFormationHistoryTimesExtract(size(times),1)) + starFormationHistoryTimesExtract(:,1)=times else - allocate(starFormationHistoryTimesExtract(0 ,1)) + allocate(starFormationHistoryTimesExtract(0 ,1)) end if return end function starFormationHistoryTimesExtract From b5700d4ebba5e9cd49e28909e4a29380eec9a5e8 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 16:38:37 -0700 Subject: [PATCH 20/34] fix: Null initialize pointers --- source/nodes.operators.physics.position.interpolated.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/nodes.operators.physics.position.interpolated.F90 b/source/nodes.operators.physics.position.interpolated.F90 index 41aa54a451..b7c546bf60 100644 --- a/source/nodes.operators.physics.position.interpolated.F90 +++ b/source/nodes.operators.physics.position.interpolated.F90 @@ -67,8 +67,8 @@ Type used for tracing nodes through their positional history. !!} double precision :: time - type (treeNode ), pointer :: node , nodeHost - type (nodeTrace), pointer :: next + type (treeNode ), pointer :: node => null(), nodeHost => null() + type (nodeTrace), pointer :: next => null() logical :: isSatellite integer (c_size_t ) :: iHistory end type nodeTrace From 2b8a7f2e65533630995a614cdc8bd6761655df2e Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 19:24:00 -0700 Subject: [PATCH 21/34] fix: Correct spelling --- source/star_formation.histories.fixed_ages.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/star_formation.histories.fixed_ages.F90 b/source/star_formation.histories.fixed_ages.F90 index e105549632..982b869c41 100644 --- a/source/star_formation.histories.fixed_ages.F90 +++ b/source/star_formation.histories.fixed_ages.F90 @@ -31,8 +31,8 @@ A star formation histories class which records star formation in logarithmically-sized time bins of fixed age and split by metallicity. The minimum age is specified via the {\normalfont \ttfamily [ageMinimum]} parameter (the maximum age is always the age of the universe), with the number of ages specified via {\normalfont \ttfamily [countAges]}. (One additional bin, at - age zero, is always addded.) This class is intended for use with lightcone output where the lightcone crossing times for each - node can be comptued in advance. One star formation history is computed for each lightcone crossing. + age zero, is always added.) This class is intended for use with lightcone output where the lightcone crossing times for each + node can be computed in advance. One star formation history is computed for each lightcone crossing. The time associated with each bin is the maximum time for which star formation will be accumulated to the bin, with the minimum time corresponding to the value associated with the previous bin (or $t=0$ for the first bin). @@ -300,7 +300,7 @@ subroutine fixedAgesCreate(self,node,historyStarFormation,timeBegin,timeEnd) integer :: i !$GLC attributes unused :: timeBegin, timeEnd - ! Call the resursive copy if necessary. + ! Call the recursive copy if necessary. if (self%isRecursive) then call self%recursiveSelf%create(node,historyStarFormation,timeBegin,timeEnd) return @@ -313,7 +313,7 @@ subroutine fixedAgesCreate(self,node,historyStarFormation,timeBegin,timeEnd) timesNodeCrossingPrevious = basic %floatRank1MetaPropertyGet(self%timesCrossingID ) if (size(timesNodeCrossingPrevious) > 0) then ! Rounding errors can lead to tiny shifts in crossing times which can (very occasionally) lead to a previously-found - ! crossing time being missed if the node is now very close to that crossing time. Check for such occurences here and add + ! crossing time being missed if the node is now very close to that crossing time. Check for such occurrences here and add ! the crossing time back into the list. if (size(timesNodeCrossing) == size(timesNodeCrossingPrevious)-1) then if (Values_Agree(basic%time(),timesNodeCrossingPrevious(1),absTol=toleranceAbsolute) .and. basic%time() <= timesNodeCrossingPrevious(1)) then @@ -607,7 +607,7 @@ subroutine fixedAgesScales(self,historyStarFormation,node,massStellar,abundances ! Get the set of crossing times for this node. basic => node %basic ( ) timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) - ! Compute suitable scales for all star formation hsitory bins. + ! Compute suitable scales for all star formation history bins. call historyStarFormation%timeSteps(timeSteps) if (size(timesCrossing) > 0) then do i=1,size(timesCrossing) From dc5772fcb967d461032ca36b94af97da51b3811c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Fri, 11 Oct 2024 19:24:37 -0700 Subject: [PATCH 22/34] fix: Mark variables as initialized --- source/nodes.property_extractor.SED.F90 | 1 + source/nodes.property_extractor.luminosity_emission_line.F90 | 1 + 2 files changed, 2 insertions(+) diff --git a/source/nodes.property_extractor.SED.F90 b/source/nodes.property_extractor.SED.F90 index 43e76987e8..8b51c1f8b2 100644 --- a/source/nodes.property_extractor.SED.F90 +++ b/source/nodes.property_extractor.SED.F90 @@ -698,6 +698,7 @@ double precision function sedLuminosityMean(self,time,node,starFormationHistory, type (ompLock ) :: stateLock type (timer ) :: timer_ !$omp threadprivate(stellarPopulationSpectra_,stellarPopulationSpectraPostprocessor_,cosmologyFunctions_,integratorTime,integratorWavelength,integratorMetallicity,abundancesStellar,wavelength,wavelengthMinimum,wavelengthMaximum,timeMinimum,timeMaximum,age,redshift) + !$GLC attributes unused :: masses !![ !!] diff --git a/source/nodes.property_extractor.luminosity_emission_line.F90 b/source/nodes.property_extractor.luminosity_emission_line.F90 index 3dcb6ef01c..dd39980c85 100644 --- a/source/nodes.property_extractor.luminosity_emission_line.F90 +++ b/source/nodes.property_extractor.luminosity_emission_line.F90 @@ -578,6 +578,7 @@ function emissionLineLuminosityMean(self,time,node,starFormationHistory,parallel type (multiCounter ) :: state type (ompLock ) :: stateLock !$omp threadprivate(iLine,integratorTime,integratorMetallicity,interpolatorTime,interpolatorMetallicity,timeMinimum,timeMaximum,age,metallicity_) + !$GLC attributes unused :: masses !![ !!] From d1a33f3ec64a8ef111af177f144f928f0d667ea6 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sat, 12 Oct 2024 08:58:57 -0700 Subject: [PATCH 23/34] fix: Correct variable attributes --- source/nodes.property_extractor.SED.F90 | 2 +- source/nodes.property_extractor.luminosity_emission_line.F90 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/nodes.property_extractor.SED.F90 b/source/nodes.property_extractor.SED.F90 index 8b51c1f8b2..1fd81b8c96 100644 --- a/source/nodes.property_extractor.SED.F90 +++ b/source/nodes.property_extractor.SED.F90 @@ -698,7 +698,7 @@ double precision function sedLuminosityMean(self,time,node,starFormationHistory, type (ompLock ) :: stateLock type (timer ) :: timer_ !$omp threadprivate(stellarPopulationSpectra_,stellarPopulationSpectraPostprocessor_,cosmologyFunctions_,integratorTime,integratorWavelength,integratorMetallicity,abundancesStellar,wavelength,wavelengthMinimum,wavelengthMaximum,timeMinimum,timeMaximum,age,redshift) - !$GLC attributes unused :: masses + !$GLC attributes initialized :: masses !![ !!] diff --git a/source/nodes.property_extractor.luminosity_emission_line.F90 b/source/nodes.property_extractor.luminosity_emission_line.F90 index dd39980c85..5070ff4b22 100644 --- a/source/nodes.property_extractor.luminosity_emission_line.F90 +++ b/source/nodes.property_extractor.luminosity_emission_line.F90 @@ -578,7 +578,7 @@ function emissionLineLuminosityMean(self,time,node,starFormationHistory,parallel type (multiCounter ) :: state type (ompLock ) :: stateLock !$omp threadprivate(iLine,integratorTime,integratorMetallicity,interpolatorTime,interpolatorMetallicity,timeMinimum,timeMaximum,age,metallicity_) - !$GLC attributes unused :: masses + !$GLC attributes initialized :: masses !![ !!] From 1c51ae5fe21328957a12a0bc6cab61450d895a62 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sat, 12 Oct 2024 17:24:30 -0700 Subject: [PATCH 24/34] feat: Add detail to error messages --- source/utility.input_parameters.F90 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/utility.input_parameters.F90 b/source/utility.input_parameters.F90 index 98f234d1e4..1f3821551a 100644 --- a/source/utility.input_parameters.F90 +++ b/source/utility.input_parameters.F90 @@ -430,8 +430,9 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out #else use :: Error , only : Warn #endif - use :: ISO_Varying_String, only : assignment(=) , char , operator(//) , operator(/=) - use :: String_Handling , only : String_Strip,String_C_To_Fortran + use :: ISO_Varying_String, only : assignment(=) , char , operator(//) , operator(/=), & + & var_str + use :: String_Handling , only : String_Strip,String_C_To_Fortran , operator(//) use :: IO_XML , only : XML_Get_First_Element_By_Tag_Name, XML_Path_Exists use :: Display , only : displayMessage use :: IO_HDF5 , only : ioHDF5AccessInitialize @@ -543,7 +544,7 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out isAncestorOfParameters(i)=gitDescendantOf(char(inputPath(pathTypeExec))//c_null_char,commitHashParameters,commitHash(i)) end do if (any(isAncestorOfParameters /= 0_c_int .and. isAncestorOfParameters /= 1_c_int)) then - call displayMessage(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision check failed") + call displayMessage(var_str(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision check failed (#1; error code; ")//maxval(isAncestorOfParameters)//")") else if (any(isAncestorOfParameters == 0)) then ! Parameter file is missing migrations - issue a warning. message=displayMagenta()//"WARNING:"//displayReset()//" parameter file may be missing important parameter updates - consider updating by running:"//char(10)//char(10)//" ./scripts/aux/parametersMigrate.pl " @@ -552,7 +553,7 @@ function inputParametersConstructorNode(parametersNode,allowedParameterNames,out end if isAncestorOfSelf=gitDescendantOf(char(inputPath(pathTypeExec))//c_null_char,commitHashSelf,commitHashParameters) if (isAncestorOfSelf /= 0_c_int .and. isAncestorOfSelf /= 1_c_int) then - call displayMessage(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision check failed") + call displayMessage(var_str(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision check failed (#2; error code: ")//isAncestorOfSelf//")") else if (isAncestorOfSelf == 0_c_int) then ! Parameters are more recent than the executable - issue a warning. call displayMessage(displayMagenta()//"WARNING:"//displayReset()//" parameter file revision is newer than this executable - consider updating your copy of Galacticus") From 3db37760e5563b550e4e1a53e129c2fb2467de6c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sat, 12 Oct 2024 17:25:42 -0700 Subject: [PATCH 25/34] fix: Use non-default object name --- perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm b/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm index ee2970d04a..a61f5cdda8 100644 --- a/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm +++ b/perl/Galacticus/Build/SourceTree/Process/FunctionClass.pm @@ -1858,7 +1858,7 @@ CODE } # Detect recursive builds if any class member allows it. if ( $allowRecursion ) { - $modulePostContains->{'content'} .= " parameterNode => parameters%node('".$directive->{'name'}."',requireValue=.true.)\n"; + $modulePostContains->{'content'} .= " parameterNode => parameters%node(char(parameterName_),requireValue=.true.)\n"; $modulePostContains->{'content'} .= " if (associated(parameterNode,".$directive->{'name'}."RecursiveBuildNode)) then\n"; foreach my $class ( @nonAbstractClasses ) { next From 73418e399694d61e0e5933782ea710cf20bbcf1e Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sat, 12 Oct 2024 17:27:01 -0700 Subject: [PATCH 26/34] fix: Update `lastModified` --- .../covarianceMatrix.xml | 2 +- .../covarianceMatrix.xml | 2 +- .../covarianceMatrix.xml | 2 +- .../covarianceMatrix.xml | 2 +- ...ncentrationDistributionFunctionCompute.xml | 2 +- .../pipelines/darkMatter/cosmology_MDPL.xml | 2 +- ...mology_MilkyWay_powerSpectrumIndex1.00.xml | 2 +- .../darkMatter/cosmology_Symphony.xml | 2 +- .../darkMatter/haloMassFunctionBase.xml | 2 +- .../haloMassFunctionBase_BigMDPL_z0.000.xml | 2 +- .../haloMassFunctionBase_BigMDPL_z0.492.xml | 2 +- .../haloMassFunctionBase_BigMDPL_z1.000.xml | 2 +- .../haloMassFunctionBase_BigMDPL_z2.145.xml | 2 +- .../haloMassFunctionBase_BigMDPL_z2.891.xml | 2 +- .../haloMassFunctionBase_HugeMDPL_z0.000.xml | 2 +- .../haloMassFunctionBase_HugeMDPL_z0.490.xml | 2 +- .../haloMassFunctionBase_HugeMDPL_z0.987.xml | 2 +- .../haloMassFunctionBase_HugeMDPL_z2.028.xml | 2 +- .../haloMassFunctionBase_HugeMDPL_z3.037.xml | 2 +- ...aloMassFunctionBase_LMC_Halo032_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo032_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo032_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo032_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo032_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo059_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo059_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo059_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo059_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo059_z3.984.xml | 2 +- ...loMassFunctionBase_LMC_Halo0662_z0.000.xml | 2 +- ...loMassFunctionBase_LMC_Halo0662_z0.504.xml | 2 +- ...loMassFunctionBase_LMC_Halo0662_z0.990.xml | 2 +- ...loMassFunctionBase_LMC_Halo0662_z2.031.xml | 2 +- ...loMassFunctionBase_LMC_Halo0662_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo083_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo083_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo083_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo083_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo083_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo088_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo088_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo088_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo088_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo088_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo097_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo097_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo097_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo097_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo097_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo104_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo104_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo104_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo104_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo104_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo110_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo110_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo110_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo110_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo110_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo202_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo202_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo202_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo202_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo202_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo208_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo208_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo208_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo208_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo208_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo218_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo218_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo218_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo218_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo218_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo296_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo296_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo296_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo296_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo296_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo301_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo301_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo301_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo301_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo301_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo303_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo303_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo303_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo303_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo303_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo340_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo340_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo340_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo340_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo340_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo374_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo374_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo374_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo374_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo374_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo380_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo380_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo380_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo380_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo380_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo391_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo391_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo391_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo391_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo391_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo405_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo405_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo405_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo405_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo405_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo440_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo440_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo440_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo440_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo440_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo463_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo463_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo463_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo463_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo463_z3.984.xml | 2 +- ...loMassFunctionBase_LMC_Halo4662_z0.000.xml | 2 +- ...loMassFunctionBase_LMC_Halo4662_z0.504.xml | 2 +- ...loMassFunctionBase_LMC_Halo4662_z0.990.xml | 2 +- ...loMassFunctionBase_LMC_Halo4662_z2.031.xml | 2 +- ...loMassFunctionBase_LMC_Halo4662_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo511_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo511_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo511_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo511_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo511_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo524_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo524_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo524_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo524_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo524_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo539_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo539_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo539_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo539_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo539_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo567_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo567_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo567_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo567_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo567_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo575_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo575_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo575_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo575_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo575_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo602_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo602_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo602_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo602_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo602_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo697_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo697_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo697_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo697_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo697_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo711_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo711_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo711_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo711_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo711_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo721_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo721_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo721_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo721_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo721_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo767_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo767_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo767_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo767_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo767_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo802_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo802_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo802_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo802_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo802_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo824_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo824_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo824_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo824_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo824_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo850_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo850_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo850_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo850_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo850_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo853_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo853_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo853_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo853_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo853_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo914_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo914_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo914_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo914_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo914_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo932_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo932_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo932_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo932_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo932_z3.984.xml | 2 +- ...aloMassFunctionBase_LMC_Halo933_z0.000.xml | 2 +- ...aloMassFunctionBase_LMC_Halo933_z0.504.xml | 2 +- ...aloMassFunctionBase_LMC_Halo933_z0.990.xml | 2 +- ...aloMassFunctionBase_LMC_Halo933_z2.031.xml | 2 +- ...aloMassFunctionBase_LMC_Halo933_z3.984.xml | 2 +- .../haloMassFunctionBase_MDPL2_z0.000.xml | 2 +- .../haloMassFunctionBase_MDPL2_z0.490.xml | 2 +- .../haloMassFunctionBase_MDPL2_z0.987.xml | 2 +- .../haloMassFunctionBase_MDPL2_z2.028.xml | 2 +- .../haloMassFunctionBase_MDPL2_z3.127.xml | 2 +- ...onBase_MilkyWay_Axion20_Halo416_z0.000.xml | 2 +- ...onBase_MilkyWay_Axion21_Halo416_z0.000.xml | 2 +- ...onBase_MilkyWay_Axion22_Halo416_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo023_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo023_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo023_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo023_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo023_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo088_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo088_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo088_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo088_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo088_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo119_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo119_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo119_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo119_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo119_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo188_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo188_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo188_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo188_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo188_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo247_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo247_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo247_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo247_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo247_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo268_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo268_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo268_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo268_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo268_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo270_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo270_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo270_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo270_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo270_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo288_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo288_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo288_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo288_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo288_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo327_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo327_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo327_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo327_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo327_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo349_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo349_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo349_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo349_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo349_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo364_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo364_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo364_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo364_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo364_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo374_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo374_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo374_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo374_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo374_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo414_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo414_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo414_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo414_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo414_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo415_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo415_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo415_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo415_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo415_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo416_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo416_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo416_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo416_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo416_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo440_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo440_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo440_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo440_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo440_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo460_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo460_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo460_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo460_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo460_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo469_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo469_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo469_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo469_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo469_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo490_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo490_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo490_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo490_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo490_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo530_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo530_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo530_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo530_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo530_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo558_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo558_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo558_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo558_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo558_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo567_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo567_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo567_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo567_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo567_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo570_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo570_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo570_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo570_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo570_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo606_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo606_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo606_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo606_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo606_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo628_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo628_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo628_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo628_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo628_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo641_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo641_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo641_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo641_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo641_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo675_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo675_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo675_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo675_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo675_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo718_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo718_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo718_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo718_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo718_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo738_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo738_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo738_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo738_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo738_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo749_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo749_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo749_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo749_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo749_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo797_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo797_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo797_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo797_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo797_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo800_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo800_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo800_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo800_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo800_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo825_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo825_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo825_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo825_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo825_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo829_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo829_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo829_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo829_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo829_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo852_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo852_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo852_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo852_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo852_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo878_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo878_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo878_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo878_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo878_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo881_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo881_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo881_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo881_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo881_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo925_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo925_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo925_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo925_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo925_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo926_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo926_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo926_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo926_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo926_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo937_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo937_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo937_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo937_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo937_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo939_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo939_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo939_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo939_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo939_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo967_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo967_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo967_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo967_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo967_z3.984.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9749_z0.000.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9749_z0.504.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9749_z0.990.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9749_z2.031.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9749_z3.984.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9829_z0.000.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9829_z0.504.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9829_z0.990.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9829_z2.031.xml | 2 +- ...sFunctionBase_MilkyWay_Halo9829_z3.984.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo990_z0.000.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo990_z0.504.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo990_z0.990.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo990_z2.031.xml | 2 +- ...ssFunctionBase_MilkyWay_Halo990_z3.984.xml | 2 +- ...tionBase_MilkyWay_WDM10_Halo416_z0.000.xml | 2 +- ...ctionBase_MilkyWay_WDM1_Halo416_z0.000.xml | 2 +- ...ctionBase_MilkyWay_WDM5_Halo416_z0.000.xml | 2 +- .../haloMassFunctionBase_SMDPL_z0.000.xml | 2 +- .../haloMassFunctionBase_SMDPL_z0.505.xml | 2 +- .../haloMassFunctionBase_SMDPL_z1.000.xml | 2 +- .../haloMassFunctionBase_SMDPL_z2.021.xml | 2 +- .../haloMassFunctionBase_SMDPL_z3.032.xml | 2 +- .../haloMassFunctionBase_VSMDPL_z0.000.xml | 2 +- .../haloMassFunctionBase_VSMDPL_z0.490.xml | 2 +- .../haloMassFunctionBase_VSMDPL_z0.990.xml | 2 +- .../haloMassFunctionBase_VSMDPL_z2.030.xml | 2 +- .../haloMassFunctionBase_VSMDPL_z3.040.xml | 2 +- .../darkMatter/haloMassFunctionCompute.xml | 2 +- .../darkMatter/haloMassFunctionConfig.xml | 2 +- .../haloMassFunctionExtractSnapshot.xml | 2 +- ...haloMassFunctionIdentifyAlwaysIsolated.xml | 2 +- .../darkMatter/haloMassFunctionParameters.xml | 2 +- .../darkMatter/haloMassFunction_MDPL.xml | 2 +- .../darkMatter/haloMassFunction_Symphony.xml | 2 +- .../progenitorMassFunctionBaseBigMDPL.xml | 2 +- ...enitorMassFunctionBaseCaterpillar_LX12.xml | 2 +- ...enitorMassFunctionBaseCaterpillar_LX13.xml | 2 +- ...enitorMassFunctionBaseCaterpillar_LX14.xml | 2 +- .../progenitorMassFunctionBaseHugeMDPL.xml | 2 +- .../progenitorMassFunctionBaseMDPL2.xml | 2 +- .../progenitorMassFunctionBaseSMDPL.xml | 2 +- .../progenitorMassFunctionBaseVSMDPL.xml | 2 +- .../progenitorMassFunctionCompute.xml | 2 +- .../progenitorMassFunctionConfig.xml | 2 +- ...itorMassFunctionIdentifyAlwaysIsolated.xml | 2 +- .../darkMatter/simulation_BigMDPL.xml | 2 +- .../darkMatter/simulation_HugeMDPL.xml | 2 +- .../pipelines/darkMatter/simulation_LMC.xml | 2 +- .../pipelines/darkMatter/simulation_MDPL2.xml | 2 +- .../pipelines/darkMatter/simulation_SMDPL.xml | 2 +- .../darkMatter/simulation_Symphony.xml | 2 +- .../darkMatter/simulation_VSMDPL.xml | 2 +- .../spinConcentrationBaseBigMDPL.xml | 2 +- .../spinConcentrationBaseHugeMDPL.xml | 2 +- .../darkMatter/spinConcentrationBaseMDPL2.xml | 2 +- .../darkMatter/spinConcentrationBaseSMDPL.xml | 2 +- .../spinConcentrationBaseVSMDPL.xml | 2 +- .../darkMatter/spinConcentrationConfig.xml | 2 +- ...pinConcentrationIdentifyAlwaysIsolated.xml | 2 +- .../spinDistributionFunctionCompute.xml | 2 +- .../transferFunction_Symphony_Axion20.xml | 2 +- .../transferFunction_Symphony_Axion21.xml | 2 +- .../transferFunction_Symphony_Axion22.xml | 2 +- .../transferFunction_Symphony_CDM.xml | 2 +- .../transferFunction_Symphony_WDM1.xml | 2 +- .../transferFunction_Symphony_WDM10.xml | 2 +- .../transferFunction_Symphony_WDM5.xml | 2 +- .../pipelines/darkMatter/zoomInAnalyze.xml | 2 +- .../darkMatter/zoomInSelectInICs.xml | 2 +- .../darkMatter/zoomInSelectInSphere.xml | 2 +- .../darkMatter/zoomInSelectUncontaminated.xml | 2 +- parameters.xml | 2 +- ...n_disks.spectra.Hopkins2007.build_file.xml | 2 +- parameters/baryonicPhysicsConfig.xml | 2 +- parameters/baryonicPhysicsConstrained.xml | 2 +- parameters/buildTools.xml | 2 +- parameters/localGroupDatabaseUpdate.xml | 2 +- parameters/mergerTreeFileBuildMillennium.xml | 2 +- .../mergerTreeFileBuildMillenniumII.xml | 2 +- parameters/mergerTreeFileBuildSimple.xml | 2 +- parameters/parametersProfile.xml | 2 +- parameters/parametersProfileLarge.xml | 2 +- parameters/quickTest.haloMassFunction.xml | 2 +- parameters/quickTest.xml | 2 +- parameters/reference/cosmology.xml | 2 +- .../reference/cosmologyDarkMatterOnly.xml | 2 +- parameters/reference/cosmologyMillennium.xml | 2 +- parameters/reference/cosmologyUNIT.xml | 2 +- .../reference/darkMatterHalosProfile.xml | 2 +- .../reference/darkMatterHalosProfileSIDM.xml | 2 +- .../reference/darkMatterHalosStructure.xml | 2 +- .../darkMatterHalosStructureNBody.xml | 2 +- .../reference/darkMatterHalosTidalHeating.xml | 2 +- .../reference/darkMatterOnlySubHalos.xml | 2 +- .../reference/darkMatterParticleCDM.xml | 2 +- .../reference/evolutionDarkMatterOnly.xml | 2 +- .../reference/evolutionGalaxyFormation.xml | 2 +- .../evolutionGalaxyFormationNBody.xml | 2 +- parameters/reference/filterLMC.xml | 2 +- parameters/reference/mergerTrees.xml | 2 +- parameters/reference/milkyWay.xml | 2 +- parameters/reference/powerSpectrum.xml | 2 +- .../reference/powerSpectrumMillennium.xml | 2 +- parameters/reference/powerSpectrumUNIT.xml | 2 +- parameters/reference/simulationUNIT.xml | 2 +- parameters/reference/structureFormation.xml | 2 +- parameters/reference/subhaloOrbits.xml | 2 +- parameters/report.xml | 2 +- parameters/treeAugmentMonteCarlo.xml | 2 +- parameters/treeAugmentNBody.xml | 2 +- .../tutorials/darkMatterOnlyMergerTrees.xml | 2 +- .../darkMatterOnlyMergerTreesSubsampled.xml | 2 +- .../tutorials/darkMatterOnlySubHalos.xml | 2 +- parameters/tutorials/excursionSets.xml | 2 +- parameters/tutorials/haloMassFunction.xml | 2 +- .../haloMassFunctionWarmDarkMatter.xml | 2 +- parameters/tutorials/lightconeOutput.xml | 2 +- parameters/tutorials/mcmcBase.xml | 2 +- parameters/tutorials/mcmcConfig.xml | 2 +- parameters/tutorials/powerSpectrum.xml | 2 +- .../tutorials/powerSpectrumWarmDarkMatter.xml | 2 +- .../testParameters.xml | 2 +- .../NFW96HaloConcentration/darkEnergy.xml | 2 +- .../testParameters.xml | 2 +- testSuite/parameters/Zhao2009Algorithms.xml | 2 +- .../parameters/abundances/testAbundances.xml | 2 +- testSuite/parameters/activeLuminosities.xml | 2 +- testSuite/parameters/barInstability.xml | 2 +- testSuite/parameters/benchmark-quickTest.xml | 2 +- .../benchmark_darkMatterOnlySubHalos.xml | 2 +- testSuite/parameters/benchmark_milkyWay.xml | 2 +- .../parameters/benchmark_milkyWay_SIDM.xml | 2 +- testSuite/parameters/bolshoiTestTreesGLC.xml | 2 +- testSuite/parameters/bug1066052.xml | 2 +- testSuite/parameters/bug745815.xml | 2 +- testSuite/parameters/cgmMassCooled.xml | 2 +- .../parameters/checkpointingCheckpoints.xml | 2 +- .../parameters/checkpointingNoCheckpoints.xml | 2 +- testSuite/parameters/checkpointingResume.xml | 2 +- .../concentrationDistributionLudlow2016.xml | 2 +- ...ionDistributionLudlow2016Environmental.xml | 2 +- testSuite/parameters/concentrations_200c.xml | 2 +- testSuite/parameters/concentrations_vir.xml | 2 +- .../parameters/constrainHaloMassFunction.xml | 2 +- .../parameters/constrainedMergerTrees.xml | 2 +- .../darkMatterHaloRadiusEnclosingMass.xml | 2 +- .../parameters/darkMatterProfileHeated.xml | 2 +- testSuite/parameters/darkMatterProfiles.xml | 2 +- .../darkMatterProfilesAdiabaticGnedin2004.xml | 2 +- .../darkMatterProfilesFiniteResolution.xml | 2 +- .../parameters/darkMatterProfilesGeneric.xml | 2 +- .../darkMatterProfilesProjected.xml | 2 +- .../darkMatterProfilesTidalTracks.xml | 2 +- .../parameters/darkMatterProfilesZhao1996.xml | 2 +- .../duplicatedOutputPropertyName.xml | 2 +- testSuite/parameters/extractSingleTreeRun.xml | 2 +- .../galacticStructureStateDeallocateBug.xml | 2 +- testSuite/parameters/haloBias_200c.xml | 2 +- testSuite/parameters/haloBias_NA.xml | 2 +- .../parameters/haloMassFunctionsBase.xml | 2 +- .../haloTriaxialityMenkerBenson2022.xml | 2 +- ...tio_0.005_alpha_1.0_beta_3.0_gamma_1.5.xml | 2 +- ...atio_0.01_alpha_1.0_beta_3.0_gamma_1.5.xml | 2 +- ...atio_0.05_alpha_1.0_beta_3.0_gamma_0.5.xml | 2 +- ...atio_0.05_alpha_1.0_beta_3.0_gamma_1.0.xml | 2 +- ...ratio_0.2_alpha_1.0_beta_3.0_gamma_0.0.xml | 2 +- ...ratio_0.2_alpha_1.0_beta_3.0_gamma_0.5.xml | 2 +- ...ratio_0.2_alpha_1.0_beta_3.0_gamma_1.0.xml | 2 +- ...ratio_0.4_alpha_1.0_beta_3.0_gamma_0.0.xml | 2 +- testSuite/parameters/impulsiveHeating.xml | 2 +- testSuite/parameters/inactiveLuminosities.xml | 2 +- testSuite/parameters/inactiveNumerics.xml | 2 +- .../interoutputStarFormationRate.xml | 2 +- .../parameters/massDefinitionsTimeCurrent.xml | 2 +- .../parameters/massDefinitionsTimeInfall.xml | 2 +- testSuite/parameters/massHostMaximum.xml | 2 +- .../massProfileSatelliteBoundMass.xml | 2 +- testSuite/parameters/mcmcBase.xml | 2 +- testSuite/parameters/mcmcConfig.xml | 2 +- .../parameters/memoryLeakFormationHalos.xml | 2 +- .../mergerTreeBranchNotSubsampled.xml | 2 +- .../parameters/mergerTreeBranchSubsampled.xml | 2 +- testSuite/parameters/mergerTreeBranchless.xml | 2 +- ...rTreeBuilderCole2000_intervalStepFalse.xml | 2 +- ...erTreeBuilderCole2000_intervalStepTrue.xml | 2 +- .../mergerTreeBuilderGenericLinearBarrier.xml | 2 +- .../mergerTreeBuilderGenericSolver.xml | 2 +- .../parameters/mergerTreeEvolverThreaded.xml | 2 +- .../parameters/mergerTreeFileBuildBolshoi.xml | 2 +- .../mergerTreeFileBuildBolshoiIRATE.xml | 2 +- .../mergerTreeFileBuildMillennium.xml | 2 +- .../mergerTreeFileBuildMillenniumIRATE.xml | 2 +- .../mostMassiveProgenitorIsSubhalo.xml | 2 +- testSuite/parameters/nodes/nodes.xml | 2 +- .../parameters/noninstantaneous_recycling.xml | 2 +- testSuite/parameters/orbits.xml | 2 +- .../parameters/outputDatasetSuffixes.xml | 2 +- testSuite/parameters/outputSelector.xml | 2 +- .../parameters/outputTreeContiguosity.xml | 2 +- testSuite/parameters/parameterMigration.xml | 2 +- testSuite/parameters/parametersDiff1.xml | 2 +- testSuite/parameters/parametersDiff2.xml | 2 +- testSuite/parameters/parametersExtract.xml | 2 +- .../parameters/powerSpectrumAxionCAMB.xml | 2 +- .../parameters/powerSpectrumAxionHu2000.xml | 2 +- .../powerSpectrumAxionMurgia2017.xml | 2 +- .../powerSpectrumAxionPassaglia2022.xml | 2 +- testSuite/parameters/powerSpectrumCDM.xml | 2 +- .../reproducibility/adiabaticContraction.xml | 2 +- .../parameters/reproducibility/closedBox.xml | 2 +- .../parameters/reproducibility/cooling.xml | 2 +- .../parameters/reproducibility/leakyBox.xml | 2 +- .../parameters/satelliteDistanceMinimum.xml | 2 +- testSuite/parameters/setProperties.xml | 2 +- .../starFormationHistoryAdaptive.xml | 2 +- .../starFormationHistoryMetallicitySplit.xml | 2 +- testSuite/parameters/state/retrieve.xml | 2 +- testSuite/parameters/state/store.xml | 2 +- .../stellarMassWeightedAgesMerging.xml | 2 +- .../stellarMassWeightedAgesSimple.xml | 2 +- testSuite/parameters/test-UniverseMachine.xml | 2 +- .../parameters/test-allowed-parameters.xml | 2 +- .../parameters/test-lightconeCrossing.xml | 2 +- .../test-mass-conservation-coldMode.xml | 2 +- .../test-mass-conservation-simple.xml | 2 +- .../test-mass-conservation-standard.xml | 2 +- .../test-merger-tree-write-base.xml | 2 +- .../test-merger-tree-write-secondary.xml | 2 +- .../parameters/test-merger-tree-write.xml | 2 +- testSuite/parameters/test-output-times.xml | 2 +- testSuite/parameters/test-output.xml | 2 +- ...test-radiativeTransfer-StromgrenSphere.xml | 2 +- ...iativeTransfer-atomicMatterStateSolver.xml | 2 +- .../parameters/test-spheroid-power-law.xml | 2 +- .../parameters/test-splitForests-split.xml | 2 +- .../parameters/test-splitForests-unsplit.xml | 2 +- ...test-star-formation-histories-adaptive.xml | 2 +- .../test-star-formation-histories-inSitu.xml | 2 +- testSuite/parameters/testsParameters.xml | 2 +- .../tidalTracksMonotonic_gamma0.0.xml | 2 +- .../tidalTracksMonotonic_gamma0.5.xml | 2 +- .../tidalTracksMonotonic_gamma1.0.xml | 2 +- .../tidalTracksNonMonotonic_gamma1.0.xml | 2 +- .../parameters/tidallyTruncatedNFWFit.xml | 2 +- .../transferFunctionHalfModeSlope.xml | 2 +- testSuite/parameters/treeFilterLabels.xml | 2 +- testSuite/parameters/validate_PonosV.xml | 2 +- ...date_baryonicSuppression_IGM_evolution.xml | 2 +- ...te_baryonicSuppression_baryonicPhysics.xml | 2 +- ...validate_baryonicSuppression_cosmology.xml | 2 +- ...baryonicSuppression_evolve_withBaryons.xml | 2 +- ...sion_evolve_withBaryons_noReionization.xml | 2 +- ...yonicSuppression_evolve_withoutBaryons.xml | 2 +- ...lidate_baryonicSuppression_mergerTrees.xml | 2 +- .../validate_darkMatterOnlySubHalos.xml | 2 +- testSuite/parameters/validate_milkyWay.xml | 2 +- .../parameters/validation/default-valid.xml | 2 +- .../duplicate-parameter-invalid.xml | 2 +- .../duplicate-subparameter-valid.xml | 2 +- .../validation/duplicate-value-invalid.xml | 2 +- .../validation/missing-value-invalid.xml | 2 +- testSuite/regressions/adaptiveSFHLengths.xml | 2 +- testSuite/regressions/barInstabilityFPE.xml | 2 +- testSuite/regressions/bug1053153.xml | 2 +- testSuite/regressions/bug711424.xml | 2 +- testSuite/regressions/bug725315.xml | 2 +- .../coincidentMergerAndBranchJump.xml | 2 +- ...cole2000TreeBuilderWDMNodeWellOrdering.xml | 2 +- testSuite/regressions/cosmicEmu.xml | 2 +- ...eadlockMergeTargetInDescendentOfMergee.xml | 2 +- ...adlockMergeTargetInDescendentOfMergee2.xml | 2 +- .../regressions/finalTimeBeforeOutputTime.xml | 2 +- .../immediateSubSubMergerThenBranchJump.xml | 2 +- .../initialSatelliteNoPrimaryProgenitor.xml | 2 +- testSuite/regressions/issue142.xml | 2 +- .../linearGrowthForFutureModel.xml | 2 +- ...ludlowScaleSetBeforeTreeInitialization.xml | 2 +- .../regressions/mergerAtFinalTimeInTree.xml | 2 +- .../regressions/outputRank2ExtendSegFault.xml | 2 +- testSuite/regressions/particulate.xml | 2 +- .../satellitePresetBoundMassNonZero.xml | 2 +- .../subhaloMergesAtFinalTimeOfTree.xml | 2 +- .../subhaloTwoConsecutiveMergers.xml | 2 +- ...thInitialSatelliteInProgenitorlessHost.xml | 2 +- .../treeWithNoPrimaryProgenitor.xml | 2 +- testSuite/test-cosmology-base.xml | 2 +- testSuite/test-cosmology.xml | 4 +- testSuite/test-methods-base.xml | 2 +- testSuite/test-methods.xml | 162 +++++++++--------- testSuite/test-methods_MPI.xml | 2 +- testSuite/test-model-integration-default.xml | 2 +- testSuite/test-outputs-base.xml | 2 +- testSuite/test-outputs.xml | 22 +-- 726 files changed, 817 insertions(+), 817 deletions(-) diff --git a/constraints/dataAnalysis/hiMassFunction_ALFALFA_z0.00/covarianceMatrix.xml b/constraints/dataAnalysis/hiMassFunction_ALFALFA_z0.00/covarianceMatrix.xml index 6f0761752d..f8d5550792 100644 --- a/constraints/dataAnalysis/hiMassFunction_ALFALFA_z0.00/covarianceMatrix.xml +++ b/constraints/dataAnalysis/hiMassFunction_ALFALFA_z0.00/covarianceMatrix.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/dataAnalysis/projectedCorrelationFunction_SDSS_z0.07_Hearin/covarianceMatrix.xml b/constraints/dataAnalysis/projectedCorrelationFunction_SDSS_z0.07_Hearin/covarianceMatrix.xml index 9db9181951..1ec0f09cfe 100644 --- a/constraints/dataAnalysis/projectedCorrelationFunction_SDSS_z0.07_Hearin/covarianceMatrix.xml +++ b/constraints/dataAnalysis/projectedCorrelationFunction_SDSS_z0.07_Hearin/covarianceMatrix.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/dataAnalysis/stellarMassFunction_SDSS_z0.07/covarianceMatrix.xml b/constraints/dataAnalysis/stellarMassFunction_SDSS_z0.07/covarianceMatrix.xml index 5e9e3b6846..675b7e0137 100644 --- a/constraints/dataAnalysis/stellarMassFunction_SDSS_z0.07/covarianceMatrix.xml +++ b/constraints/dataAnalysis/stellarMassFunction_SDSS_z0.07/covarianceMatrix.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/dataAnalysis/stellarMassFunctions_UKIDSS_UDS_z3_5/covarianceMatrix.xml b/constraints/dataAnalysis/stellarMassFunctions_UKIDSS_UDS_z3_5/covarianceMatrix.xml index 89f61e29a4..aa97cf0483 100644 --- a/constraints/dataAnalysis/stellarMassFunctions_UKIDSS_UDS_z3_5/covarianceMatrix.xml +++ b/constraints/dataAnalysis/stellarMassFunctions_UKIDSS_UDS_z3_5/covarianceMatrix.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/concentrationDistributionFunctionCompute.xml b/constraints/pipelines/darkMatter/concentrationDistributionFunctionCompute.xml index bb6d7fd535..98f4024d12 100644 --- a/constraints/pipelines/darkMatter/concentrationDistributionFunctionCompute.xml +++ b/constraints/pipelines/darkMatter/concentrationDistributionFunctionCompute.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/cosmology_MDPL.xml b/constraints/pipelines/darkMatter/cosmology_MDPL.xml index dab73d3f34..b0bccfc576 100644 --- a/constraints/pipelines/darkMatter/cosmology_MDPL.xml +++ b/constraints/pipelines/darkMatter/cosmology_MDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/cosmology_MilkyWay_powerSpectrumIndex1.00.xml b/constraints/pipelines/darkMatter/cosmology_MilkyWay_powerSpectrumIndex1.00.xml index 29ac2d7b7e..0fb4a6211c 100644 --- a/constraints/pipelines/darkMatter/cosmology_MilkyWay_powerSpectrumIndex1.00.xml +++ b/constraints/pipelines/darkMatter/cosmology_MilkyWay_powerSpectrumIndex1.00.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/cosmology_Symphony.xml b/constraints/pipelines/darkMatter/cosmology_Symphony.xml index b0b1cc0a9d..5f5dc4d932 100644 --- a/constraints/pipelines/darkMatter/cosmology_Symphony.xml +++ b/constraints/pipelines/darkMatter/cosmology_Symphony.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase.xml index d86704bb23..f20b180ed4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.000.xml index 81e475a9e6..4923263874 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.492.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.492.xml index 8ed47bcb06..e9fff50369 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.492.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z0.492.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z1.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z1.000.xml index fb6655f3ae..97f1c7b471 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z1.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z1.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.145.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.145.xml index f5a36a428c..c72513ce0d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.145.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.145.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.891.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.891.xml index 569e782d06..4741b0ba84 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.891.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_BigMDPL_z2.891.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.000.xml index 6c679c67c9..b516185d93 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.490.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.490.xml index 53315d7dcc..e14ef7d78e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.490.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.490.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.987.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.987.xml index a3a8d2203b..f479073e92 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.987.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z0.987.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z2.028.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z2.028.xml index fd3638e654..a8486b42b5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z2.028.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z2.028.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z3.037.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z3.037.xml index 4765d28ec2..68e228adeb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z3.037.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_HugeMDPL_z3.037.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.000.xml index c2663636d8..b80fd6125b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.504.xml index 50631dc85d..8b3596e781 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.990.xml index 5bee460fc9..e8d6c88c7c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z2.031.xml index f21116d321..69a3890ebc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z3.984.xml index e16bc77e05..76f0c83d89 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo032_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.000.xml index 49162f0fb6..a30bc9b913 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.504.xml index a0ae1f5ba9..7932855f32 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.990.xml index a78105913c..9328820730 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z2.031.xml index db561c222a..d445151d5e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z3.984.xml index 1220213711..f77e8fb7d0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo059_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.000.xml index caeb71fae6..77c2ec3ada 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.504.xml index 17a67d0839..db14c7c700 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.990.xml index 887986cfb0..26d55537ad 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z2.031.xml index 117e764934..656a16e987 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z3.984.xml index 7e46bb0fd2..168b2254f9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo0662_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.000.xml index d3a8e8c5ba..7ab3c85e8b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.504.xml index 3c1502d3d6..c50525e34a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.990.xml index 596fe66c5b..be6faaf0eb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z2.031.xml index 14849fd5aa..4187f72267 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z3.984.xml index 6e3651e6df..325051d21b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo083_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.000.xml index d72a612b9c..9a4de9bf81 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.504.xml index f8d76bf446..0d0484a299 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.990.xml index 5ff31b94f7..4bec358654 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z2.031.xml index 6475d73a62..f92f176409 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z3.984.xml index 1a66241ef9..f635a02654 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo088_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.000.xml index 1687463409..79b13f3407 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.504.xml index 138fab4265..011abec47f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.990.xml index dcb221ac5f..20be8913b9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z2.031.xml index 11f70b250e..c724dc8a76 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z3.984.xml index df8479f541..758c04e9af 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo097_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.000.xml index fcc931d992..a1bbd9d9a9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.504.xml index 58125b18e6..d45dfc5d27 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.990.xml index 4dcf4f0076..ce514bc836 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z2.031.xml index f971755ed1..b91fc380df 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z3.984.xml index 84bf304c78..a43697ea98 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo104_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.000.xml index 582d45c613..3f4634af2e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.504.xml index bb055e7a01..4a1f05ba5b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.990.xml index ff5ad36696..9f6b6e602d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z2.031.xml index 71dc9a2b91..f5f2e8a0c5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z3.984.xml index 76aa7962e0..09ff0a719e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo110_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.000.xml index 9d99afe688..717aff0e12 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.504.xml index 0ea9be1f01..fdf1bc76e6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.990.xml index afe6d775bb..6b398fe809 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z2.031.xml index e5338d8573..56666225ab 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z3.984.xml index d16c30369f..8f9ef646dc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo202_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.000.xml index 2d12fdda09..15bf44d744 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.504.xml index c994bffd27..9f6118a6e1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.990.xml index f0d9d5b370..3d60e40ae4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z2.031.xml index b70dfdf61e..633587486a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z3.984.xml index ed9ae2375e..8533a26297 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo208_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.000.xml index 9afc63cf0f..1e8f63feb6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.504.xml index 0be7154669..7f50218c7d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.990.xml index 18295048a5..6785e81b28 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z2.031.xml index 3b69074387..5cfb69c3cc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z3.984.xml index 231018e5d2..6fcc00cc33 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo218_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.000.xml index cce405c3df..9344180b0e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.504.xml index 257356aaa5..d5367663a3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.990.xml index 7a5e467699..2280aaabe7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z2.031.xml index 2a02873224..16d1607223 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z3.984.xml index 0d5a3b9053..f8e9620cfa 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo296_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.000.xml index b4328147c3..a1d37f8e64 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.504.xml index 3462c3c634..b576e67288 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.990.xml index 9a07f584c5..633888eb4d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z2.031.xml index c23e8d1e16..360681ea1f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z3.984.xml index a35f0097a9..8fd499c170 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo301_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.000.xml index 61f9fc811b..6f4af46271 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.504.xml index 40100bf4fb..34bf512647 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.990.xml index fcdf3f5478..f269f6557a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z2.031.xml index 65e4dcc4a0..6e9b7fb1d2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z3.984.xml index 32a919a4e9..3c8abc688a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo303_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.000.xml index 1596e7b553..55b3c2f385 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.504.xml index 11d050d3be..e06b8be81e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.990.xml index c4faaf5c45..a3edeca4c1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z2.031.xml index 2333757e13..ae96a7a713 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z3.984.xml index 82999811b4..eb544fc998 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo340_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.000.xml index 71b4fb196c..f4ad314d8c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.504.xml index 3ea7b5d1a8..dd88d541f9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.990.xml index e67d7e6d6c..8322c936f9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z2.031.xml index 4dfe7d3867..589e80d37e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z3.984.xml index c431a1f981..128fc4ed9d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo374_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.000.xml index 972d9f771d..13bb8adf95 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.504.xml index 59560d8f0a..e369b0eadf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.990.xml index b54e76fa73..7d2f533767 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z2.031.xml index 3e9739e91e..c5f8bea5a2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z3.984.xml index b91d8a7ece..8c0d8f40e9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo380_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.000.xml index 81902d31ab..58301db096 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.504.xml index 9a2f91d53a..a0f22356d5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.990.xml index 9418687056..ab28c080f5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z2.031.xml index 4b24d528e5..4df4a20f86 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z3.984.xml index e0b7f53d04..9f7572a38f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo391_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.000.xml index 7462f27c71..3fe49cdf02 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.504.xml index 4e12d6acc9..26c1ee7935 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.990.xml index 15ee078b61..27b0913ea6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z2.031.xml index b3c2d86f04..bcf42abc7c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z3.984.xml index 25751713ae..ab5c3ae3dd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo405_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.000.xml index 28683f1e03..7c83c7e2c7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.504.xml index 785eb30091..5c1da5c53c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.990.xml index 773826da70..519204f8ef 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z2.031.xml index 95fc9f998a..5091980263 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z3.984.xml index 5c3ee454d5..602f9b779c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo440_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.000.xml index 46e72028cc..8e78742558 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.504.xml index 04deb4be19..1eef61435b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.990.xml index f2e9430cb9..85cf0b3e2e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z2.031.xml index c5de4fd4a1..e67b359f59 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z3.984.xml index 04d15e4ccd..df3309c20b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo463_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.000.xml index 0bf8786ce1..b1db146dc8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.504.xml index 8f99f43db9..5dc436e181 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.990.xml index 882fb58650..5974016a8a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z2.031.xml index ce79c685b8..422ee7cbde 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z3.984.xml index 59d9a07f72..76267fd34d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo4662_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.000.xml index 5d07f05a7e..c66c1a5534 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.504.xml index e19982db8b..268e47cf3a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.990.xml index ed781fe1a7..6dd48e5acf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z2.031.xml index c53b9fa8f9..ca83a23c28 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z3.984.xml index fdc0082f1d..022c626440 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo511_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.000.xml index 10cfc46cfd..5441cee607 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.504.xml index 647cc8286a..6ffd5315b5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.990.xml index 8fa3ff72af..d93001b1dd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z2.031.xml index b1fd99d01c..3903d4ee7b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z3.984.xml index 707882fcdb..c433a7d10d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo524_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.000.xml index a5b957a6b6..d0df72a83e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.504.xml index 9451b16789..877e340789 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.990.xml index 2d6748bb74..52c004894c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z2.031.xml index 77c61d3365..0fbb2c0f40 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z3.984.xml index 0be284afa8..1bc2404924 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo539_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.000.xml index 45d3236b41..0090c978f3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.504.xml index 5e11451264..4d28f14758 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.990.xml index c73172635c..9043bcde1e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z2.031.xml index 7cf3412df1..b486b6b8ff 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z3.984.xml index 84c11179fd..2cf441a291 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo567_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.000.xml index 3e1a220a3d..2006fd5dee 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.504.xml index 77a8f3859f..f8ca38d29e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.990.xml index f22a8f2050..1c00bffd15 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z2.031.xml index 929ea2d536..05e69bc1b2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z3.984.xml index 7fa4ff6f62..64267879e7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo575_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.000.xml index 293ee8faa5..c125347712 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.504.xml index 111980de80..d5248dad6f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.990.xml index f418588f5c..8fcbecb528 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z2.031.xml index 5c857c31e8..ea59bfe90e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z3.984.xml index f2db1f6904..17e08e09b5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo602_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.000.xml index 3d30c3f0dd..5df11c0159 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.504.xml index 250112a113..606fc33694 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.990.xml index 27349c806b..b674cb7bf2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z2.031.xml index 6f18422f1b..6401b3c801 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z3.984.xml index e01d4eeca5..98ac39ac23 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo697_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.000.xml index 2b5c7d4fe4..695d4198e3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.504.xml index 40414dd586..eba9f9fbce 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.990.xml index a4b31b2d5a..8727eca6bd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z2.031.xml index d3ccb26ebc..fc389e12c3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z3.984.xml index 9e5f160398..23bdf343e4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo711_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.000.xml index dba5993743..46d42d7260 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.504.xml index 0216c74cc3..110d449e25 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.990.xml index 276079ebef..9b6f47ef75 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z2.031.xml index 1537c5b8c8..dd9ca7627f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z3.984.xml index 48449c916b..45f3b3c4c6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo721_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.000.xml index 5312d32468..543fc8be6f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.504.xml index 0c4bacc682..ce89af65ef 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.990.xml index 0240d7ee90..e6378031a6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z2.031.xml index 925e191b03..bb5f448910 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z3.984.xml index a960a0ec01..9c900bba1b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo767_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.000.xml index 30cb18b59f..b1f0d97e6d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.504.xml index 00eaa81d03..b577a643ff 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.990.xml index 354b2b8352..8d4ea713bf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z2.031.xml index 042e5a4823..2153c4a5ba 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z3.984.xml index a2a4595c48..173cd8bccf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo802_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.000.xml index 86578a8134..6f10c5d930 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.504.xml index acaaeaf4bf..6462b4d1e7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.990.xml index 370bf9cf74..de37fb2661 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z2.031.xml index 79dba7530a..59f631a9de 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z3.984.xml index 450ceddeb4..42a0c3c12f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo824_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.000.xml index 13d58b7730..1337a35994 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.504.xml index 630565a365..8753363ce2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.990.xml index 777a6fb809..d5cf972803 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z2.031.xml index 539620de7b..4d7eba213a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z3.984.xml index 7a15794047..4ebb87914c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo850_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.000.xml index daa315f48d..844d3ae282 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.504.xml index 6fec882deb..a17b6ecf3d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.990.xml index ef17c0e236..1a2fd33c5e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z2.031.xml index f7c3991916..d7c5e94070 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z3.984.xml index 03ec5c880f..1dbb618a2d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo853_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.000.xml index 57221c22a4..00db9c5e8a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.504.xml index 49530ebeb7..99d68e1c9b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.990.xml index 6f448e6e07..603f5bcfe1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z2.031.xml index 8dc9cfc355..ad1c82c431 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z3.984.xml index 20be1623fd..f325a74a48 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo914_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.000.xml index 3fc6585af3..7b9fcb5663 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.504.xml index 51b9393264..e620054b60 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.990.xml index 83674727b8..61621902f6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z2.031.xml index 61377f1197..233b8b6be4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z3.984.xml index 3da05ad428..07743e9031 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo932_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.000.xml index 4ff3e0befa..7d6107f4f7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.504.xml index 1095a5cd6c..2c61e131ef 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.990.xml index b6f48f56b3..d93490d945 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z2.031.xml index d4c69a6cfd..f8b0e583fb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z3.984.xml index b5824199f8..5d69be3575 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_LMC_Halo933_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.000.xml index f216dddbde..df769276b8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.490.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.490.xml index 3b2ea0438b..3fa7fc2ee1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.490.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.490.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.987.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.987.xml index 3d81e5279d..d2f7866d5d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.987.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z0.987.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z2.028.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z2.028.xml index 003894d46b..67dda0dc1e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z2.028.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z2.028.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z3.127.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z3.127.xml index 7517482cf9..ca942b23a8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z3.127.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MDPL2_z3.127.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion20_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion20_Halo416_z0.000.xml index 133a2b64ee..53b83ec42d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion20_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion20_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion21_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion21_Halo416_z0.000.xml index c9f8f65c9c..ad5e80dad1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion21_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion21_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion22_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion22_Halo416_z0.000.xml index f3e3b688ba..ac7aa12bab 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion22_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Axion22_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.000.xml index ca187f59ff..002fb85ed7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.504.xml index e29699f6ea..2aa3e2275b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.990.xml index 85c4e22976..eb9e26ec3e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z2.031.xml index 24c857e603..43e5de8d70 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z3.984.xml index 20cd6a653c..a26fb3055a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo023_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.000.xml index ff8374e88d..1ffaeb4466 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.504.xml index 394fae6efe..bd2b67ff23 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.990.xml index 3c41a685aa..78e0cea1ef 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z2.031.xml index 22c077d649..886141151b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z3.984.xml index aea835a1a4..aaa7e254c3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo088_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.000.xml index 05caf39e6f..75b7ddc20e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.504.xml index 3a9e84f16d..37d2350750 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.990.xml index 4cca77469b..d8584882e0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z2.031.xml index 417804e358..30fe839711 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z3.984.xml index d774dfd8e0..266001eb84 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo119_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.000.xml index 3a2dafdf4e..18c3dd54fd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.504.xml index 985c9a01b6..e4e5ee50bf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.990.xml index af297e0cd4..bec25370db 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z2.031.xml index c2cf05d586..c113761cfe 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z3.984.xml index 3942b0e445..152a9a0af5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo188_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.000.xml index 4821923933..3d6c0af2b8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.504.xml index 427fe77e63..5d38ab1d97 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.990.xml index 5340b3f0a6..7aa70b472c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z2.031.xml index 2865294dab..787cf50fa1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z3.984.xml index c1dbfc3580..982f9a2b47 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo247_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.000.xml index bb122e89b2..ed18e34585 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.504.xml index 771da50195..382ad90550 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.990.xml index 7df8c6c1c6..f4763da949 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z2.031.xml index e1bf846d62..65f48722fb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z3.984.xml index 23fbb9e9f1..0323f7b706 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo268_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.000.xml index f751d0a97d..4f2945c0cc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.504.xml index b410b9919b..207e1ad470 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.990.xml index 709101ddfe..f2c238cc10 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z2.031.xml index 8f999e65ea..c2e4c9db81 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z3.984.xml index bc9cf26bae..c1bdff52a2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo270_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.000.xml index c7061578a2..89fe955c05 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.504.xml index 275614bbfb..ccda521a26 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.990.xml index d54f2f05e5..d01267ac36 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z2.031.xml index 4b63c8ae19..b6296803e4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z3.984.xml index 2557e51b61..7505657d41 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo288_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.000.xml index 77b3993192..2fc97e27e7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.504.xml index 84cdac5dad..879b0a653d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.990.xml index e62e43fb93..b51cd77584 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z2.031.xml index 4efcbef6cb..44539e6aa4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z3.984.xml index d8530db9b6..ad2a1dafc6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo327_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.000.xml index 8de07a4c18..a0501cd533 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.504.xml index dc22c9cf46..d1bc7212f3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.990.xml index 2496b18033..e5ea5b9d58 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z2.031.xml index fca6fd4662..40fffa881f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z3.984.xml index 0650cdb8db..82aa85a6fc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo349_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.000.xml index b5a012f928..1d3663b8e6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.504.xml index 4535f0ff94..5c5426c715 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.990.xml index 05f37ab585..b20ee05ec2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z2.031.xml index dc7c504ae9..faee579fc0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z3.984.xml index fa03c74158..49165257ca 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo364_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.000.xml index 8ce2265c11..276197dfdd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.504.xml index 95366ce53c..956926945b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.990.xml index d9860c5c13..4227e8768e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z2.031.xml index 2c43749714..a1e913009b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z3.984.xml index d8e3677968..adb8bccf6d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo374_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.000.xml index 62778a2dcd..705ac9edc4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.504.xml index 8d84bcd973..e6c09f232e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.990.xml index 80b4f94f1b..d2a9920a18 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z2.031.xml index e43dff6ec5..ec8aa6cc98 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z3.984.xml index 38c54facd2..8de340708d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo414_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.000.xml index 2d62f6b1d6..934c31e775 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.504.xml index 2f18f4ef89..13337bfb56 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.990.xml index 6e33ef57e4..4a8818fdc1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z2.031.xml index 3c799b7e15..e6362131aa 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z3.984.xml index ca4dbf5c16..9a53cc0a86 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo415_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.000.xml index 24c369d05d..a80ff8dc42 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.504.xml index c5d8590e23..587d2a4c37 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.990.xml index 720cdc54d7..e7515fd180 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z2.031.xml index fbb4ecd479..22071d8316 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z3.984.xml index c060b0d804..b339fcbe84 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo416_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.000.xml index b391c62496..6f2608649c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.504.xml index ce5dac796a..959d72a2e9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.990.xml index a9d436fef4..cbed845149 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z2.031.xml index f89cf4a226..d198510ddc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z3.984.xml index 0b7cbccc46..0269751f18 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo440_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.000.xml index 05b9b6b777..11e9fa77d5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.504.xml index 71657b03e9..a8a0eaf70b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.990.xml index 0740e6a1b1..cbde0e8380 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z2.031.xml index 805b6db508..e99ce1d30c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z3.984.xml index 4a795bcf02..c6c211139b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo460_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.000.xml index 91c0f38fdc..d8b1457dda 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.504.xml index 64cabaca5b..8dbb9ad6d8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.990.xml index 48a3ade67d..7ba4f7cc9b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z2.031.xml index 7dbd5da48c..b68847fbd1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z3.984.xml index 13f7206050..058258f471 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo469_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.000.xml index e9941f71e4..25ddb82ec8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.504.xml index 97e4d4336d..eeda2bd4d3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.990.xml index 37c35804f1..eed96e7a4f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z2.031.xml index 392beb97e0..5bac8cd09c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z3.984.xml index f5bb75aee6..4cf3df2a3c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo490_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.000.xml index a687fac3a2..012a4f0aaa 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.504.xml index 2cdec6fd6f..b12ad3d41d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.990.xml index 57cfeac0d3..3be23e9534 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z2.031.xml index 89e743a8bd..41d0aa7458 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z3.984.xml index a53c2d17fb..0a377329ec 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo530_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.000.xml index e3534d677f..ddbccbdf9e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.504.xml index 10db062154..a0a7fad29b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.990.xml index dcec430afb..fe4364a303 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z2.031.xml index 6208a20427..c46ff99751 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z3.984.xml index 370e3ccf78..8c742fb083 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo558_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.000.xml index ecfbee1dae..71427db792 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.504.xml index 63087b3c60..f28310c12b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.990.xml index 68cbcdd246..779533045f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z2.031.xml index 9a037ea881..a8d20c8fec 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z3.984.xml index 67170a0c1e..989ba63681 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo567_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.000.xml index 6f6e576b27..0fca259afd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.504.xml index 0ed08fc9fe..d90cca1b40 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.990.xml index ce234d13c9..65cdd2b061 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z2.031.xml index 0c7d7655bc..dac9cfb464 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z3.984.xml index ef902787cb..836d0a4d09 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo570_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.000.xml index 973214209b..fef4548af9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.504.xml index 80c0cf8414..dda946152a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.990.xml index 948e1df43a..ba409966b3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z2.031.xml index 2bf2b0bf4a..55bbfb37cb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z3.984.xml index 45d72777d3..fab41e64d0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo606_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.000.xml index 41ce3f9afc..9236b2f61a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.504.xml index 49f20d2916..c802713ec5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.990.xml index 49da1da847..3bcae3cbf7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z2.031.xml index d2a6a010db..62ca16133c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z3.984.xml index 80002912ac..f60caaa3be 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo628_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.000.xml index 4acadda519..2bc5fa6bea 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.504.xml index df39178012..0416be6d5c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.990.xml index 12fe86cad2..3f2679012d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z2.031.xml index 2df2931310..01be1c4658 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z3.984.xml index 3988caca1f..1a8dcaf337 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo641_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.000.xml index db625e8fc9..69c0c1313f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.504.xml index 8a84bae1b0..e164e7d8ea 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.990.xml index e515a37a88..2ac938efcb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z2.031.xml index e34e0d9c92..14dee40061 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z3.984.xml index 81d5b867c1..56eb846b39 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo675_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.000.xml index 53f1dfa5bf..e211a39bf5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.504.xml index c575fdcbe4..4da2788a3f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.990.xml index 1d8d141d6b..50b34c1b12 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z2.031.xml index f7b48d7dd6..2849a2c264 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z3.984.xml index c968e8dd92..5b4a53bee0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo718_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.000.xml index b2ac3fa144..09008bd0e6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.504.xml index f82890876e..e3321bb1df 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.990.xml index 4fae1fb601..2cee58b24c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z2.031.xml index b16f5a0050..d079370425 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z3.984.xml index 31a905ef60..d9b30781da 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo738_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.000.xml index 8240a229bc..c2b8f060d1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.504.xml index afa9c09027..5909adf65f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.990.xml index ab48631a41..7c596737f2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z2.031.xml index 21f92ac027..11cad62ec0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z3.984.xml index cc7acf7699..f44930aa24 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo749_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.000.xml index 114eb608b7..7d000e8ce0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.504.xml index 70e0cf641a..2caaafff34 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.990.xml index 234648725f..763e3463b8 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z2.031.xml index 5a1350a8bd..b8f57890c4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z3.984.xml index f9e8e2f9b8..4fdf21c9f0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo797_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.000.xml index 05987de4b3..025144792b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.504.xml index 7fda20f3a9..f454dbfc5b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.990.xml index 2c37905ace..1f7831dcfb 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z2.031.xml index 1443e85cb9..88d5354e58 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z3.984.xml index c6466e1ace..6351e212bd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo800_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.000.xml index a75e879db0..4bd8679b0b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.504.xml index 319a9be0fe..41442e26fe 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.990.xml index a191267f67..2c907d546f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z2.031.xml index 01e3863ab3..36165216b3 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z3.984.xml index 27b7c55123..6145c51656 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo825_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.000.xml index 0a447a7e71..34c30430f5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.504.xml index 7466865b7a..83f8850c72 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.990.xml index 27fcf11d46..94bdfc1f56 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z2.031.xml index d263e1c488..58917b82c6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z3.984.xml index 78ffc89401..79c2d47f93 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo829_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.000.xml index 981e64d9ef..207ca56811 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.504.xml index 3da7af383b..c3ef586c81 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.990.xml index 661b40fcac..29b413e39b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z2.031.xml index 491dbf4d65..1dd60990e7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z3.984.xml index c1e3dea014..fe0ae97a7f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo852_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.000.xml index 8304f8143c..cdc3ab00f2 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.504.xml index 6e04cbfc15..0be8bbf18a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.990.xml index bcd33b4952..bc7933f9e5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z2.031.xml index 73055cd071..aa4d093741 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z3.984.xml index ca70457a2d..726d717920 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo878_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.000.xml index 568cd60e6d..356957cfa4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.504.xml index 2483244c0c..76b84894bf 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.990.xml index 72f48a68f8..c05fcc38a7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z2.031.xml index 41e1591efd..59c3a55ba5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z3.984.xml index 20d6aab0f6..213f81bed1 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo881_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.000.xml index a159999d4b..d466354e6a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.504.xml index 1069fa98f0..1bc3346a65 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.990.xml index 4c313eabdc..ab11d4d9ab 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z2.031.xml index 5746f840f9..d6f624c7c0 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z3.984.xml index 2027f5903c..45d827db3f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo925_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.000.xml index 6f13b7fbe4..c3424c8af4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.504.xml index 2385ea98fb..9c971edb26 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.990.xml index e438f007ff..d49295d02d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z2.031.xml index ef2cacafe2..08b1ce5082 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z3.984.xml index 2a34d4d84a..ea3b079175 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo926_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.000.xml index 1af1e47688..b7b9c9627c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.504.xml index 687773fe33..a2b3ca472f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.990.xml index afdc0748d8..2d20feb4e5 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z2.031.xml index de7627dba9..4935253723 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z3.984.xml index fb3cdd0628..774b25c7f4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo937_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.000.xml index 86be29a1f5..5a23b42802 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.504.xml index fc6a7f721a..9ae793a344 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.990.xml index 0e4f44411f..7228c018ac 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z2.031.xml index 8d85ed365b..4cb4207c21 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z3.984.xml index d89ec90fbe..a99e10d340 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo939_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.000.xml index 24c90f4213..dcce1241b9 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.504.xml index 36f03a5006..9073700917 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.990.xml index 09ae4252c4..65a7eefe9f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z2.031.xml index 4759e4e89b..db6599cc2f 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z3.984.xml index f048806550..f8de09166b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo967_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.000.xml index e5cc380bd4..e0435ef6cc 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.504.xml index 6a432d0131..a236fcb48a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.990.xml index f0bebb7a07..dcf82d9c6b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z2.031.xml index 40635355e2..d787825114 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z3.984.xml index 3dfe8fcbca..806e9858bd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9749_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.000.xml index 476348393c..7b514c7435 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.504.xml index a71abd91ef..79325c1b1d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.990.xml index d6c03e68f0..8178b35416 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z2.031.xml index 96c30b6d4b..90800e8da4 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z3.984.xml index bc2016c51b..d78ba6fdb6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo9829_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.000.xml index 7a5266ba40..e9d9a6fd46 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.504.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.504.xml index 9173a7ada4..aab5f8120d 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.504.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.504.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.990.xml index b51bce2ee1..94d257460c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z2.031.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z2.031.xml index 27902904ed..b86bd23963 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z2.031.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z2.031.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z3.984.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z3.984.xml index 1294707058..6a498c4e58 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z3.984.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_Halo990_z3.984.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM10_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM10_Halo416_z0.000.xml index 1a0b7a38de..b70d8f0ba6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM10_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM10_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM1_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM1_Halo416_z0.000.xml index f67ef6d21d..bea0d7cc4b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM1_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM1_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM5_Halo416_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM5_Halo416_z0.000.xml index 0360f279b5..9a3a25dc6a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM5_Halo416_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_MilkyWay_WDM5_Halo416_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.000.xml index c9a3c0b37c..6979452407 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.505.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.505.xml index 3c7fd1b1e6..111990605a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.505.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z0.505.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z1.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z1.000.xml index 9913f734c4..27be89385e 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z1.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z1.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z2.021.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z2.021.xml index 9e2e885843..77990cf948 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z2.021.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z2.021.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z3.032.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z3.032.xml index 8cd25b515d..d2d0ac07de 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z3.032.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_SMDPL_z3.032.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.000.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.000.xml index 2705049879..e5c7f27eef 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.000.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.000.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.490.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.490.xml index cad87475cd..4cf47cda4a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.490.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.490.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.990.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.990.xml index 4318c71164..96cceae1e6 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.990.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z0.990.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z2.030.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z2.030.xml index c690df706e..fc8034211b 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z2.030.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z2.030.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z3.040.xml b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z3.040.xml index 53d6f9dd19..68ea6baa5a 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z3.040.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionBase_VSMDPL_z3.040.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionCompute.xml b/constraints/pipelines/darkMatter/haloMassFunctionCompute.xml index bc5585625b..9e670d4442 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionCompute.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionCompute.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionConfig.xml b/constraints/pipelines/darkMatter/haloMassFunctionConfig.xml index 6b41f89588..f08cb0ac75 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionConfig.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionConfig.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionExtractSnapshot.xml b/constraints/pipelines/darkMatter/haloMassFunctionExtractSnapshot.xml index f80e5e8589..e8f23eae70 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionExtractSnapshot.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionExtractSnapshot.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionIdentifyAlwaysIsolated.xml b/constraints/pipelines/darkMatter/haloMassFunctionIdentifyAlwaysIsolated.xml index e97ac05531..da34a498c7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionIdentifyAlwaysIsolated.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionIdentifyAlwaysIsolated.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunctionParameters.xml b/constraints/pipelines/darkMatter/haloMassFunctionParameters.xml index e23998f145..38c88e1f1c 100644 --- a/constraints/pipelines/darkMatter/haloMassFunctionParameters.xml +++ b/constraints/pipelines/darkMatter/haloMassFunctionParameters.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunction_MDPL.xml b/constraints/pipelines/darkMatter/haloMassFunction_MDPL.xml index eb9ce1d7ed..25520a93cd 100644 --- a/constraints/pipelines/darkMatter/haloMassFunction_MDPL.xml +++ b/constraints/pipelines/darkMatter/haloMassFunction_MDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/haloMassFunction_Symphony.xml b/constraints/pipelines/darkMatter/haloMassFunction_Symphony.xml index 519a3d4aa0..f9605ab7a7 100644 --- a/constraints/pipelines/darkMatter/haloMassFunction_Symphony.xml +++ b/constraints/pipelines/darkMatter/haloMassFunction_Symphony.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseBigMDPL.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseBigMDPL.xml index d26fa2031d..823e24939c 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseBigMDPL.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseBigMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX12.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX12.xml index 686cf24724..43c27bdc05 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX12.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX12.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX13.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX13.xml index 3f13c3ce0d..40390ef837 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX13.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX13.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX14.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX14.xml index 420d52ca35..849722555b 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX14.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseCaterpillar_LX14.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseHugeMDPL.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseHugeMDPL.xml index b0b4dfa3c9..05fe52aa3f 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseHugeMDPL.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseHugeMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseMDPL2.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseMDPL2.xml index 49c4e7d0b3..0c05fb8244 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseMDPL2.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseMDPL2.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseSMDPL.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseSMDPL.xml index 29befb3b27..5b138c01f3 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseSMDPL.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseSMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseVSMDPL.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseVSMDPL.xml index cfed26268c..966ad0b4b2 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionBaseVSMDPL.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionBaseVSMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionCompute.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionCompute.xml index d2721c491e..cbc2fefdbe 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionCompute.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionCompute.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionConfig.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionConfig.xml index 035bbe2411..911bf362d7 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionConfig.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionConfig.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/progenitorMassFunctionIdentifyAlwaysIsolated.xml b/constraints/pipelines/darkMatter/progenitorMassFunctionIdentifyAlwaysIsolated.xml index 7735122c67..7517993722 100644 --- a/constraints/pipelines/darkMatter/progenitorMassFunctionIdentifyAlwaysIsolated.xml +++ b/constraints/pipelines/darkMatter/progenitorMassFunctionIdentifyAlwaysIsolated.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_BigMDPL.xml b/constraints/pipelines/darkMatter/simulation_BigMDPL.xml index 959396010f..0f1801e6a0 100644 --- a/constraints/pipelines/darkMatter/simulation_BigMDPL.xml +++ b/constraints/pipelines/darkMatter/simulation_BigMDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_HugeMDPL.xml b/constraints/pipelines/darkMatter/simulation_HugeMDPL.xml index f1434825f3..7e127363ad 100644 --- a/constraints/pipelines/darkMatter/simulation_HugeMDPL.xml +++ b/constraints/pipelines/darkMatter/simulation_HugeMDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_LMC.xml b/constraints/pipelines/darkMatter/simulation_LMC.xml index e4a4ffc942..d32c3f9fe9 100644 --- a/constraints/pipelines/darkMatter/simulation_LMC.xml +++ b/constraints/pipelines/darkMatter/simulation_LMC.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_MDPL2.xml b/constraints/pipelines/darkMatter/simulation_MDPL2.xml index a6759bbd98..789c80ffd5 100644 --- a/constraints/pipelines/darkMatter/simulation_MDPL2.xml +++ b/constraints/pipelines/darkMatter/simulation_MDPL2.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_SMDPL.xml b/constraints/pipelines/darkMatter/simulation_SMDPL.xml index 03a37b8776..9bf1489c05 100644 --- a/constraints/pipelines/darkMatter/simulation_SMDPL.xml +++ b/constraints/pipelines/darkMatter/simulation_SMDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_Symphony.xml b/constraints/pipelines/darkMatter/simulation_Symphony.xml index c52819cebf..b3354409ba 100644 --- a/constraints/pipelines/darkMatter/simulation_Symphony.xml +++ b/constraints/pipelines/darkMatter/simulation_Symphony.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/simulation_VSMDPL.xml b/constraints/pipelines/darkMatter/simulation_VSMDPL.xml index 06612cca36..10f267445c 100644 --- a/constraints/pipelines/darkMatter/simulation_VSMDPL.xml +++ b/constraints/pipelines/darkMatter/simulation_VSMDPL.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationBaseBigMDPL.xml b/constraints/pipelines/darkMatter/spinConcentrationBaseBigMDPL.xml index 29afee9203..45c92a8ca9 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationBaseBigMDPL.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationBaseBigMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationBaseHugeMDPL.xml b/constraints/pipelines/darkMatter/spinConcentrationBaseHugeMDPL.xml index 33e79637dc..b610ec02c9 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationBaseHugeMDPL.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationBaseHugeMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationBaseMDPL2.xml b/constraints/pipelines/darkMatter/spinConcentrationBaseMDPL2.xml index 8a3507b6eb..70ef2d5675 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationBaseMDPL2.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationBaseMDPL2.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationBaseSMDPL.xml b/constraints/pipelines/darkMatter/spinConcentrationBaseSMDPL.xml index c77b4dc655..211c8ca6c2 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationBaseSMDPL.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationBaseSMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationBaseVSMDPL.xml b/constraints/pipelines/darkMatter/spinConcentrationBaseVSMDPL.xml index a27ca27b94..d6b021c3ef 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationBaseVSMDPL.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationBaseVSMDPL.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationConfig.xml b/constraints/pipelines/darkMatter/spinConcentrationConfig.xml index 4f44c9a28e..c9c5685478 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationConfig.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationConfig.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinConcentrationIdentifyAlwaysIsolated.xml b/constraints/pipelines/darkMatter/spinConcentrationIdentifyAlwaysIsolated.xml index 8f594fb3e0..e0bda0b2ab 100644 --- a/constraints/pipelines/darkMatter/spinConcentrationIdentifyAlwaysIsolated.xml +++ b/constraints/pipelines/darkMatter/spinConcentrationIdentifyAlwaysIsolated.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/spinDistributionFunctionCompute.xml b/constraints/pipelines/darkMatter/spinDistributionFunctionCompute.xml index 5f7958d659..dacc48f835 100644 --- a/constraints/pipelines/darkMatter/spinDistributionFunctionCompute.xml +++ b/constraints/pipelines/darkMatter/spinDistributionFunctionCompute.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion20.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion20.xml index d60c3c6b20..a8512730a1 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion20.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion20.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion21.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion21.xml index 16e92f04e3..e455d23078 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion21.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion21.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion22.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion22.xml index 019c656e7a..fdca4c2f4e 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion22.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_Axion22.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_CDM.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_CDM.xml index 9e139a73ee..3c4110a320 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_CDM.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_CDM.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM1.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM1.xml index 031946d8f8..4297e9ba87 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM1.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM1.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM10.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM10.xml index 144c25e043..5364a8aee6 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM10.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM10.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM5.xml b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM5.xml index 9cb92b5c7d..57252c6c3b 100644 --- a/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM5.xml +++ b/constraints/pipelines/darkMatter/transferFunction_Symphony_WDM5.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/zoomInAnalyze.xml b/constraints/pipelines/darkMatter/zoomInAnalyze.xml index af4086498d..bdc499aadf 100644 --- a/constraints/pipelines/darkMatter/zoomInAnalyze.xml +++ b/constraints/pipelines/darkMatter/zoomInAnalyze.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/zoomInSelectInICs.xml b/constraints/pipelines/darkMatter/zoomInSelectInICs.xml index 584dfcbd51..02aa51c786 100644 --- a/constraints/pipelines/darkMatter/zoomInSelectInICs.xml +++ b/constraints/pipelines/darkMatter/zoomInSelectInICs.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/zoomInSelectInSphere.xml b/constraints/pipelines/darkMatter/zoomInSelectInSphere.xml index 7a0c0592d1..a37fafefd9 100644 --- a/constraints/pipelines/darkMatter/zoomInSelectInSphere.xml +++ b/constraints/pipelines/darkMatter/zoomInSelectInSphere.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/constraints/pipelines/darkMatter/zoomInSelectUncontaminated.xml b/constraints/pipelines/darkMatter/zoomInSelectUncontaminated.xml index 1a8a9bf18e..2f6d9e798d 100644 --- a/constraints/pipelines/darkMatter/zoomInSelectUncontaminated.xml +++ b/constraints/pipelines/darkMatter/zoomInSelectUncontaminated.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters.xml b/parameters.xml index b15347b00b..01d9c6be9b 100644 --- a/parameters.xml +++ b/parameters.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/accretion_disks.spectra.Hopkins2007.build_file.xml b/parameters/accretion_disks.spectra.Hopkins2007.build_file.xml index 8533488fb5..c8ad64a5a5 100644 --- a/parameters/accretion_disks.spectra.Hopkins2007.build_file.xml +++ b/parameters/accretion_disks.spectra.Hopkins2007.build_file.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/baryonicPhysicsConfig.xml b/parameters/baryonicPhysicsConfig.xml index 352ce864c5..0d14c6c0ab 100644 --- a/parameters/baryonicPhysicsConfig.xml +++ b/parameters/baryonicPhysicsConfig.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/baryonicPhysicsConstrained.xml b/parameters/baryonicPhysicsConstrained.xml index e2cd4096d4..263612e52c 100644 --- a/parameters/baryonicPhysicsConstrained.xml +++ b/parameters/baryonicPhysicsConstrained.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/parameters/buildTools.xml b/parameters/buildTools.xml index e4a777d5e4..54c78aa5cb 100644 --- a/parameters/buildTools.xml +++ b/parameters/buildTools.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/localGroupDatabaseUpdate.xml b/parameters/localGroupDatabaseUpdate.xml index 1c6c802832..3b1ceccdfe 100644 --- a/parameters/localGroupDatabaseUpdate.xml +++ b/parameters/localGroupDatabaseUpdate.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/mergerTreeFileBuildMillennium.xml b/parameters/mergerTreeFileBuildMillennium.xml index 7e1c46e002..23c1510e29 100644 --- a/parameters/mergerTreeFileBuildMillennium.xml +++ b/parameters/mergerTreeFileBuildMillennium.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/mergerTreeFileBuildMillenniumII.xml b/parameters/mergerTreeFileBuildMillenniumII.xml index 8626b81233..cfa8a49c57 100644 --- a/parameters/mergerTreeFileBuildMillenniumII.xml +++ b/parameters/mergerTreeFileBuildMillenniumII.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/mergerTreeFileBuildSimple.xml b/parameters/mergerTreeFileBuildSimple.xml index f47ae76759..d4b5141ce7 100644 --- a/parameters/mergerTreeFileBuildSimple.xml +++ b/parameters/mergerTreeFileBuildSimple.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/parametersProfile.xml b/parameters/parametersProfile.xml index 7cbd466779..8163d1ca7b 100644 --- a/parameters/parametersProfile.xml +++ b/parameters/parametersProfile.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/parametersProfileLarge.xml b/parameters/parametersProfileLarge.xml index d86396e88b..c48304037d 100644 --- a/parameters/parametersProfileLarge.xml +++ b/parameters/parametersProfileLarge.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/quickTest.haloMassFunction.xml b/parameters/quickTest.haloMassFunction.xml index 69e96c5382..93933f75e4 100644 --- a/parameters/quickTest.haloMassFunction.xml +++ b/parameters/quickTest.haloMassFunction.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/quickTest.xml b/parameters/quickTest.xml index 70c32a5a64..1e97d22749 100644 --- a/parameters/quickTest.xml +++ b/parameters/quickTest.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/reference/cosmology.xml b/parameters/reference/cosmology.xml index 06112ee29f..54ab28899a 100644 --- a/parameters/reference/cosmology.xml +++ b/parameters/reference/cosmology.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/cosmologyDarkMatterOnly.xml b/parameters/reference/cosmologyDarkMatterOnly.xml index 9d06ff273f..7c8cc27fe4 100644 --- a/parameters/reference/cosmologyDarkMatterOnly.xml +++ b/parameters/reference/cosmologyDarkMatterOnly.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/cosmologyMillennium.xml b/parameters/reference/cosmologyMillennium.xml index 4fa30689ca..129010f70b 100644 --- a/parameters/reference/cosmologyMillennium.xml +++ b/parameters/reference/cosmologyMillennium.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/cosmologyUNIT.xml b/parameters/reference/cosmologyUNIT.xml index 842dac3eb4..bc2524b3ac 100644 --- a/parameters/reference/cosmologyUNIT.xml +++ b/parameters/reference/cosmologyUNIT.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterHalosProfile.xml b/parameters/reference/darkMatterHalosProfile.xml index 110c35f235..0acc4f9d9d 100644 --- a/parameters/reference/darkMatterHalosProfile.xml +++ b/parameters/reference/darkMatterHalosProfile.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterHalosProfileSIDM.xml b/parameters/reference/darkMatterHalosProfileSIDM.xml index bcfd551f10..9e2bcd7a91 100644 --- a/parameters/reference/darkMatterHalosProfileSIDM.xml +++ b/parameters/reference/darkMatterHalosProfileSIDM.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterHalosStructure.xml b/parameters/reference/darkMatterHalosStructure.xml index 418b6ff3da..b3fb82f50b 100644 --- a/parameters/reference/darkMatterHalosStructure.xml +++ b/parameters/reference/darkMatterHalosStructure.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterHalosStructureNBody.xml b/parameters/reference/darkMatterHalosStructureNBody.xml index 4c4b40c87e..f6e5b07e68 100644 --- a/parameters/reference/darkMatterHalosStructureNBody.xml +++ b/parameters/reference/darkMatterHalosStructureNBody.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterHalosTidalHeating.xml b/parameters/reference/darkMatterHalosTidalHeating.xml index 856ac3833a..3c7ea5b1c8 100644 --- a/parameters/reference/darkMatterHalosTidalHeating.xml +++ b/parameters/reference/darkMatterHalosTidalHeating.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterOnlySubHalos.xml b/parameters/reference/darkMatterOnlySubHalos.xml index f1c293aaf3..08564e96de 100644 --- a/parameters/reference/darkMatterOnlySubHalos.xml +++ b/parameters/reference/darkMatterOnlySubHalos.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/darkMatterParticleCDM.xml b/parameters/reference/darkMatterParticleCDM.xml index ec3d89bdcf..7b76b8c30e 100644 --- a/parameters/reference/darkMatterParticleCDM.xml +++ b/parameters/reference/darkMatterParticleCDM.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/evolutionDarkMatterOnly.xml b/parameters/reference/evolutionDarkMatterOnly.xml index ff71cf5efa..ba95b0501f 100644 --- a/parameters/reference/evolutionDarkMatterOnly.xml +++ b/parameters/reference/evolutionDarkMatterOnly.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/evolutionGalaxyFormation.xml b/parameters/reference/evolutionGalaxyFormation.xml index 43045d15f3..f2fc3508d4 100644 --- a/parameters/reference/evolutionGalaxyFormation.xml +++ b/parameters/reference/evolutionGalaxyFormation.xml @@ -1,7 +1,7 @@ - + 2 diff --git a/parameters/reference/evolutionGalaxyFormationNBody.xml b/parameters/reference/evolutionGalaxyFormationNBody.xml index ef7be53b7c..698eb1b165 100644 --- a/parameters/reference/evolutionGalaxyFormationNBody.xml +++ b/parameters/reference/evolutionGalaxyFormationNBody.xml @@ -1,7 +1,7 @@ - + 2 diff --git a/parameters/reference/filterLMC.xml b/parameters/reference/filterLMC.xml index e96891c353..0cebfc1a5c 100644 --- a/parameters/reference/filterLMC.xml +++ b/parameters/reference/filterLMC.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/mergerTrees.xml b/parameters/reference/mergerTrees.xml index 4cb67846c6..f662d92671 100644 --- a/parameters/reference/mergerTrees.xml +++ b/parameters/reference/mergerTrees.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/milkyWay.xml b/parameters/reference/milkyWay.xml index 83ffe78314..4536d9636a 100644 --- a/parameters/reference/milkyWay.xml +++ b/parameters/reference/milkyWay.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/powerSpectrum.xml b/parameters/reference/powerSpectrum.xml index 70d1f3c65f..eee371c8bb 100644 --- a/parameters/reference/powerSpectrum.xml +++ b/parameters/reference/powerSpectrum.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/powerSpectrumMillennium.xml b/parameters/reference/powerSpectrumMillennium.xml index 13fb3dc9d6..190832c97b 100644 --- a/parameters/reference/powerSpectrumMillennium.xml +++ b/parameters/reference/powerSpectrumMillennium.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/powerSpectrumUNIT.xml b/parameters/reference/powerSpectrumUNIT.xml index 289f8534a6..10ad841859 100644 --- a/parameters/reference/powerSpectrumUNIT.xml +++ b/parameters/reference/powerSpectrumUNIT.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/simulationUNIT.xml b/parameters/reference/simulationUNIT.xml index 4d7562d9e0..7c363b3bea 100644 --- a/parameters/reference/simulationUNIT.xml +++ b/parameters/reference/simulationUNIT.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/structureFormation.xml b/parameters/reference/structureFormation.xml index 63a7ff151f..91a42efd48 100644 --- a/parameters/reference/structureFormation.xml +++ b/parameters/reference/structureFormation.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/reference/subhaloOrbits.xml b/parameters/reference/subhaloOrbits.xml index 0149cae17d..ca6ba7a4d9 100644 --- a/parameters/reference/subhaloOrbits.xml +++ b/parameters/reference/subhaloOrbits.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/report.xml b/parameters/report.xml index 6289b0040f..b2a73f5452 100644 --- a/parameters/report.xml +++ b/parameters/report.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/parameters/treeAugmentMonteCarlo.xml b/parameters/treeAugmentMonteCarlo.xml index f3ef07b601..fc132bc45a 100644 --- a/parameters/treeAugmentMonteCarlo.xml +++ b/parameters/treeAugmentMonteCarlo.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/treeAugmentNBody.xml b/parameters/treeAugmentNBody.xml index 7357108aa7..eb1ef70b82 100644 --- a/parameters/treeAugmentNBody.xml +++ b/parameters/treeAugmentNBody.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/parameters/tutorials/darkMatterOnlyMergerTrees.xml b/parameters/tutorials/darkMatterOnlyMergerTrees.xml index 79e806d5f3..594587c625 100644 --- a/parameters/tutorials/darkMatterOnlyMergerTrees.xml +++ b/parameters/tutorials/darkMatterOnlyMergerTrees.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/darkMatterOnlyMergerTreesSubsampled.xml b/parameters/tutorials/darkMatterOnlyMergerTreesSubsampled.xml index bf808c2142..4163b1902f 100644 --- a/parameters/tutorials/darkMatterOnlyMergerTreesSubsampled.xml +++ b/parameters/tutorials/darkMatterOnlyMergerTreesSubsampled.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/darkMatterOnlySubHalos.xml b/parameters/tutorials/darkMatterOnlySubHalos.xml index ecff09bca1..47090bd9ce 100644 --- a/parameters/tutorials/darkMatterOnlySubHalos.xml +++ b/parameters/tutorials/darkMatterOnlySubHalos.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/excursionSets.xml b/parameters/tutorials/excursionSets.xml index 276c8ddabe..0839b8b01c 100644 --- a/parameters/tutorials/excursionSets.xml +++ b/parameters/tutorials/excursionSets.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/haloMassFunction.xml b/parameters/tutorials/haloMassFunction.xml index 47adf0658e..e1ddd33ba6 100644 --- a/parameters/tutorials/haloMassFunction.xml +++ b/parameters/tutorials/haloMassFunction.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/haloMassFunctionWarmDarkMatter.xml b/parameters/tutorials/haloMassFunctionWarmDarkMatter.xml index ade7176c81..1420b793af 100644 --- a/parameters/tutorials/haloMassFunctionWarmDarkMatter.xml +++ b/parameters/tutorials/haloMassFunctionWarmDarkMatter.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/lightconeOutput.xml b/parameters/tutorials/lightconeOutput.xml index 64e6498d03..e5353fe537 100644 --- a/parameters/tutorials/lightconeOutput.xml +++ b/parameters/tutorials/lightconeOutput.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/mcmcBase.xml b/parameters/tutorials/mcmcBase.xml index 7f0ca953b5..9745b19f95 100644 --- a/parameters/tutorials/mcmcBase.xml +++ b/parameters/tutorials/mcmcBase.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/parameters/tutorials/mcmcConfig.xml b/parameters/tutorials/mcmcConfig.xml index fb8cbc42f1..05db1411f2 100644 --- a/parameters/tutorials/mcmcConfig.xml +++ b/parameters/tutorials/mcmcConfig.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/powerSpectrum.xml b/parameters/tutorials/powerSpectrum.xml index c7efb11c35..c734179789 100644 --- a/parameters/tutorials/powerSpectrum.xml +++ b/parameters/tutorials/powerSpectrum.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/parameters/tutorials/powerSpectrumWarmDarkMatter.xml b/parameters/tutorials/powerSpectrumWarmDarkMatter.xml index a8cf20765a..8d7ebc15a2 100644 --- a/parameters/tutorials/powerSpectrumWarmDarkMatter.xml +++ b/parameters/tutorials/powerSpectrumWarmDarkMatter.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/DiemerKravtsov2014HaloConcentration/testParameters.xml b/testSuite/parameters/DiemerKravtsov2014HaloConcentration/testParameters.xml index 99da13e935..4bcffaf692 100644 --- a/testSuite/parameters/DiemerKravtsov2014HaloConcentration/testParameters.xml +++ b/testSuite/parameters/DiemerKravtsov2014HaloConcentration/testParameters.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/NFW96HaloConcentration/darkEnergy.xml b/testSuite/parameters/NFW96HaloConcentration/darkEnergy.xml index 38eeab5baa..fa020ff24a 100644 --- a/testSuite/parameters/NFW96HaloConcentration/darkEnergy.xml +++ b/testSuite/parameters/NFW96HaloConcentration/darkEnergy.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/Prada2011HaloConcentration/testParameters.xml b/testSuite/parameters/Prada2011HaloConcentration/testParameters.xml index 99da13e935..4bcffaf692 100644 --- a/testSuite/parameters/Prada2011HaloConcentration/testParameters.xml +++ b/testSuite/parameters/Prada2011HaloConcentration/testParameters.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/Zhao2009Algorithms.xml b/testSuite/parameters/Zhao2009Algorithms.xml index dd2086ab83..7bdd450f79 100644 --- a/testSuite/parameters/Zhao2009Algorithms.xml +++ b/testSuite/parameters/Zhao2009Algorithms.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/abundances/testAbundances.xml b/testSuite/parameters/abundances/testAbundances.xml index 5cce713ada..7db6904adc 100644 --- a/testSuite/parameters/abundances/testAbundances.xml +++ b/testSuite/parameters/abundances/testAbundances.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/activeLuminosities.xml b/testSuite/parameters/activeLuminosities.xml index 5d02bd92e0..d916a2e82a 100644 --- a/testSuite/parameters/activeLuminosities.xml +++ b/testSuite/parameters/activeLuminosities.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/barInstability.xml b/testSuite/parameters/barInstability.xml index 6393a2ec96..4ed9de37df 100644 --- a/testSuite/parameters/barInstability.xml +++ b/testSuite/parameters/barInstability.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/benchmark-quickTest.xml b/testSuite/parameters/benchmark-quickTest.xml index 2ae6a2e28c..f72713d75a 100644 --- a/testSuite/parameters/benchmark-quickTest.xml +++ b/testSuite/parameters/benchmark-quickTest.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/benchmark_darkMatterOnlySubHalos.xml b/testSuite/parameters/benchmark_darkMatterOnlySubHalos.xml index f4c2bdd750..d7d3688389 100644 --- a/testSuite/parameters/benchmark_darkMatterOnlySubHalos.xml +++ b/testSuite/parameters/benchmark_darkMatterOnlySubHalos.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/benchmark_milkyWay.xml b/testSuite/parameters/benchmark_milkyWay.xml index 227885b179..e6f8438e03 100644 --- a/testSuite/parameters/benchmark_milkyWay.xml +++ b/testSuite/parameters/benchmark_milkyWay.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/benchmark_milkyWay_SIDM.xml b/testSuite/parameters/benchmark_milkyWay_SIDM.xml index 5b3e4a9589..1ece3d7bfd 100644 --- a/testSuite/parameters/benchmark_milkyWay_SIDM.xml +++ b/testSuite/parameters/benchmark_milkyWay_SIDM.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/bolshoiTestTreesGLC.xml b/testSuite/parameters/bolshoiTestTreesGLC.xml index 973ea301bc..2b481b9e71 100644 --- a/testSuite/parameters/bolshoiTestTreesGLC.xml +++ b/testSuite/parameters/bolshoiTestTreesGLC.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/bug1066052.xml b/testSuite/parameters/bug1066052.xml index 060b7b363c..0381ce6604 100644 --- a/testSuite/parameters/bug1066052.xml +++ b/testSuite/parameters/bug1066052.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/bug745815.xml b/testSuite/parameters/bug745815.xml index f57224fb85..f41370ff99 100644 --- a/testSuite/parameters/bug745815.xml +++ b/testSuite/parameters/bug745815.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/cgmMassCooled.xml b/testSuite/parameters/cgmMassCooled.xml index bbf4ff3bae..ac05e727ca 100644 --- a/testSuite/parameters/cgmMassCooled.xml +++ b/testSuite/parameters/cgmMassCooled.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/checkpointingCheckpoints.xml b/testSuite/parameters/checkpointingCheckpoints.xml index a4ad46b306..10640ed3d6 100644 --- a/testSuite/parameters/checkpointingCheckpoints.xml +++ b/testSuite/parameters/checkpointingCheckpoints.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/checkpointingNoCheckpoints.xml b/testSuite/parameters/checkpointingNoCheckpoints.xml index 788c2b855e..d287ba5773 100644 --- a/testSuite/parameters/checkpointingNoCheckpoints.xml +++ b/testSuite/parameters/checkpointingNoCheckpoints.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/checkpointingResume.xml b/testSuite/parameters/checkpointingResume.xml index 133f971603..0c650a639c 100644 --- a/testSuite/parameters/checkpointingResume.xml +++ b/testSuite/parameters/checkpointingResume.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/concentrationDistributionLudlow2016.xml b/testSuite/parameters/concentrationDistributionLudlow2016.xml index 77343c813d..4a0ae1171a 100644 --- a/testSuite/parameters/concentrationDistributionLudlow2016.xml +++ b/testSuite/parameters/concentrationDistributionLudlow2016.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/concentrationDistributionLudlow2016Environmental.xml b/testSuite/parameters/concentrationDistributionLudlow2016Environmental.xml index 678b1d92fa..f2ffe9585c 100644 --- a/testSuite/parameters/concentrationDistributionLudlow2016Environmental.xml +++ b/testSuite/parameters/concentrationDistributionLudlow2016Environmental.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/concentrations_200c.xml b/testSuite/parameters/concentrations_200c.xml index 5be6f089a0..395fc2a929 100644 --- a/testSuite/parameters/concentrations_200c.xml +++ b/testSuite/parameters/concentrations_200c.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/concentrations_vir.xml b/testSuite/parameters/concentrations_vir.xml index 65321142f8..3c08d37b9b 100644 --- a/testSuite/parameters/concentrations_vir.xml +++ b/testSuite/parameters/concentrations_vir.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/constrainHaloMassFunction.xml b/testSuite/parameters/constrainHaloMassFunction.xml index 39ebb36860..2f38c3f393 100644 --- a/testSuite/parameters/constrainHaloMassFunction.xml +++ b/testSuite/parameters/constrainHaloMassFunction.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/constrainedMergerTrees.xml b/testSuite/parameters/constrainedMergerTrees.xml index 43c67f7a92..742f9c91e8 100644 --- a/testSuite/parameters/constrainedMergerTrees.xml +++ b/testSuite/parameters/constrainedMergerTrees.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterHaloRadiusEnclosingMass.xml b/testSuite/parameters/darkMatterHaloRadiusEnclosingMass.xml index a52535a8d6..ddaba162cb 100644 --- a/testSuite/parameters/darkMatterHaloRadiusEnclosingMass.xml +++ b/testSuite/parameters/darkMatterHaloRadiusEnclosingMass.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfileHeated.xml b/testSuite/parameters/darkMatterProfileHeated.xml index d2f742c243..5768442209 100644 --- a/testSuite/parameters/darkMatterProfileHeated.xml +++ b/testSuite/parameters/darkMatterProfileHeated.xml @@ -2,6 +2,6 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfiles.xml b/testSuite/parameters/darkMatterProfiles.xml index d3852755b2..2266c92bad 100644 --- a/testSuite/parameters/darkMatterProfiles.xml +++ b/testSuite/parameters/darkMatterProfiles.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesAdiabaticGnedin2004.xml b/testSuite/parameters/darkMatterProfilesAdiabaticGnedin2004.xml index d3852755b2..2266c92bad 100644 --- a/testSuite/parameters/darkMatterProfilesAdiabaticGnedin2004.xml +++ b/testSuite/parameters/darkMatterProfilesAdiabaticGnedin2004.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesFiniteResolution.xml b/testSuite/parameters/darkMatterProfilesFiniteResolution.xml index 0323c0752f..2bef9bba9a 100644 --- a/testSuite/parameters/darkMatterProfilesFiniteResolution.xml +++ b/testSuite/parameters/darkMatterProfilesFiniteResolution.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesGeneric.xml b/testSuite/parameters/darkMatterProfilesGeneric.xml index 82428a9269..cba0880a69 100644 --- a/testSuite/parameters/darkMatterProfilesGeneric.xml +++ b/testSuite/parameters/darkMatterProfilesGeneric.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesProjected.xml b/testSuite/parameters/darkMatterProfilesProjected.xml index c4a4cc25c0..2fd3ae1cd9 100644 --- a/testSuite/parameters/darkMatterProfilesProjected.xml +++ b/testSuite/parameters/darkMatterProfilesProjected.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesTidalTracks.xml b/testSuite/parameters/darkMatterProfilesTidalTracks.xml index 0323c0752f..2bef9bba9a 100644 --- a/testSuite/parameters/darkMatterProfilesTidalTracks.xml +++ b/testSuite/parameters/darkMatterProfilesTidalTracks.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/darkMatterProfilesZhao1996.xml b/testSuite/parameters/darkMatterProfilesZhao1996.xml index a29858fa0b..6c5113e5e2 100644 --- a/testSuite/parameters/darkMatterProfilesZhao1996.xml +++ b/testSuite/parameters/darkMatterProfilesZhao1996.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/duplicatedOutputPropertyName.xml b/testSuite/parameters/duplicatedOutputPropertyName.xml index d598de7f05..f8b07e3847 100644 --- a/testSuite/parameters/duplicatedOutputPropertyName.xml +++ b/testSuite/parameters/duplicatedOutputPropertyName.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/extractSingleTreeRun.xml b/testSuite/parameters/extractSingleTreeRun.xml index 77983d0c5c..0cb406fb0a 100644 --- a/testSuite/parameters/extractSingleTreeRun.xml +++ b/testSuite/parameters/extractSingleTreeRun.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/galacticStructureStateDeallocateBug.xml b/testSuite/parameters/galacticStructureStateDeallocateBug.xml index f4d9a7ba21..6e6cb27b43 100644 --- a/testSuite/parameters/galacticStructureStateDeallocateBug.xml +++ b/testSuite/parameters/galacticStructureStateDeallocateBug.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/haloBias_200c.xml b/testSuite/parameters/haloBias_200c.xml index f81b809817..ff377a704c 100644 --- a/testSuite/parameters/haloBias_200c.xml +++ b/testSuite/parameters/haloBias_200c.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/haloBias_NA.xml b/testSuite/parameters/haloBias_NA.xml index f81b809817..ff377a704c 100644 --- a/testSuite/parameters/haloBias_NA.xml +++ b/testSuite/parameters/haloBias_NA.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/haloMassFunctionsBase.xml b/testSuite/parameters/haloMassFunctionsBase.xml index b406fcfe9d..ada8558549 100644 --- a/testSuite/parameters/haloMassFunctionsBase.xml +++ b/testSuite/parameters/haloMassFunctionsBase.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/haloTriaxialityMenkerBenson2022.xml b/testSuite/parameters/haloTriaxialityMenkerBenson2022.xml index 51d6d6f471..97637722a0 100644 --- a/testSuite/parameters/haloTriaxialityMenkerBenson2022.xml +++ b/testSuite/parameters/haloTriaxialityMenkerBenson2022.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.005_alpha_1.0_beta_3.0_gamma_1.5.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.005_alpha_1.0_beta_3.0_gamma_1.5.xml index e9b8348347..9898ef183c 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.005_alpha_1.0_beta_3.0_gamma_1.5.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.005_alpha_1.0_beta_3.0_gamma_1.5.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.01_alpha_1.0_beta_3.0_gamma_1.5.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.01_alpha_1.0_beta_3.0_gamma_1.5.xml index a2176c02c4..698b0f3f13 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.01_alpha_1.0_beta_3.0_gamma_1.5.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.01_alpha_1.0_beta_3.0_gamma_1.5.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_0.5.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_0.5.xml index b6256aa090..2dc732051f 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_0.5.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_0.5.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_1.0.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_1.0.xml index 0626a50e27..ffd3af26c4 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_1.0.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.05_alpha_1.0_beta_3.0_gamma_1.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.0.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.0.xml index 58d2c805cc..724106af14 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.0.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.5.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.5.xml index b693960d86..797fb3bfc4 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.5.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_0.5.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_1.0.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_1.0.xml index ebebf296ba..abe49a0511 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_1.0.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.2_alpha_1.0_beta_3.0_gamma_1.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.4_alpha_1.0_beta_3.0_gamma_0.0.xml b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.4_alpha_1.0_beta_3.0_gamma_0.0.xml index de908e75ae..5a2edcfdff 100644 --- a/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.4_alpha_1.0_beta_3.0_gamma_0.0.xml +++ b/testSuite/parameters/idealizedSubhaloSimulations/tidalTrackBestFit_xc_0.7_ratio_0.4_alpha_1.0_beta_3.0_gamma_0.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/impulsiveHeating.xml b/testSuite/parameters/impulsiveHeating.xml index 0587a9cdb0..f3dfda6b9a 100644 --- a/testSuite/parameters/impulsiveHeating.xml +++ b/testSuite/parameters/impulsiveHeating.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/inactiveLuminosities.xml b/testSuite/parameters/inactiveLuminosities.xml index 335a89fb5d..f0ffe2468c 100644 --- a/testSuite/parameters/inactiveLuminosities.xml +++ b/testSuite/parameters/inactiveLuminosities.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/inactiveNumerics.xml b/testSuite/parameters/inactiveNumerics.xml index a07d61660c..eef39ac389 100644 --- a/testSuite/parameters/inactiveNumerics.xml +++ b/testSuite/parameters/inactiveNumerics.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/interoutputStarFormationRate.xml b/testSuite/parameters/interoutputStarFormationRate.xml index 3d1e3b644b..99632ae62f 100644 --- a/testSuite/parameters/interoutputStarFormationRate.xml +++ b/testSuite/parameters/interoutputStarFormationRate.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/massDefinitionsTimeCurrent.xml b/testSuite/parameters/massDefinitionsTimeCurrent.xml index f16eff2dad..0c01f399c1 100644 --- a/testSuite/parameters/massDefinitionsTimeCurrent.xml +++ b/testSuite/parameters/massDefinitionsTimeCurrent.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/massDefinitionsTimeInfall.xml b/testSuite/parameters/massDefinitionsTimeInfall.xml index d937967235..c1146853d7 100644 --- a/testSuite/parameters/massDefinitionsTimeInfall.xml +++ b/testSuite/parameters/massDefinitionsTimeInfall.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/massHostMaximum.xml b/testSuite/parameters/massHostMaximum.xml index 748b0004e2..0061b7497f 100644 --- a/testSuite/parameters/massHostMaximum.xml +++ b/testSuite/parameters/massHostMaximum.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/massProfileSatelliteBoundMass.xml b/testSuite/parameters/massProfileSatelliteBoundMass.xml index 3e9ad40321..377d8e9a4e 100644 --- a/testSuite/parameters/massProfileSatelliteBoundMass.xml +++ b/testSuite/parameters/massProfileSatelliteBoundMass.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/mcmcBase.xml b/testSuite/parameters/mcmcBase.xml index 7f0ca953b5..9745b19f95 100644 --- a/testSuite/parameters/mcmcBase.xml +++ b/testSuite/parameters/mcmcBase.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/mcmcConfig.xml b/testSuite/parameters/mcmcConfig.xml index 695f852a56..0c08263050 100644 --- a/testSuite/parameters/mcmcConfig.xml +++ b/testSuite/parameters/mcmcConfig.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/memoryLeakFormationHalos.xml b/testSuite/parameters/memoryLeakFormationHalos.xml index e4a58fdbee..b1d8a0dfcc 100644 --- a/testSuite/parameters/memoryLeakFormationHalos.xml +++ b/testSuite/parameters/memoryLeakFormationHalos.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBranchNotSubsampled.xml b/testSuite/parameters/mergerTreeBranchNotSubsampled.xml index ba69bb562a..6a874998e4 100644 --- a/testSuite/parameters/mergerTreeBranchNotSubsampled.xml +++ b/testSuite/parameters/mergerTreeBranchNotSubsampled.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBranchSubsampled.xml b/testSuite/parameters/mergerTreeBranchSubsampled.xml index a74366d8f9..f7a54d3223 100644 --- a/testSuite/parameters/mergerTreeBranchSubsampled.xml +++ b/testSuite/parameters/mergerTreeBranchSubsampled.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBranchless.xml b/testSuite/parameters/mergerTreeBranchless.xml index 2c347fdd68..b6e7441ed8 100644 --- a/testSuite/parameters/mergerTreeBranchless.xml +++ b/testSuite/parameters/mergerTreeBranchless.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepFalse.xml b/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepFalse.xml index 6181d6f76f..e44b79db4e 100644 --- a/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepFalse.xml +++ b/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepFalse.xml @@ -1,6 +1,6 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepTrue.xml b/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepTrue.xml index 37bc8909f2..dd97ec6dad 100644 --- a/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepTrue.xml +++ b/testSuite/parameters/mergerTreeBuilderCole2000_intervalStepTrue.xml @@ -1,6 +1,6 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBuilderGenericLinearBarrier.xml b/testSuite/parameters/mergerTreeBuilderGenericLinearBarrier.xml index a4defbf5ab..f29abac391 100644 --- a/testSuite/parameters/mergerTreeBuilderGenericLinearBarrier.xml +++ b/testSuite/parameters/mergerTreeBuilderGenericLinearBarrier.xml @@ -1,6 +1,6 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeBuilderGenericSolver.xml b/testSuite/parameters/mergerTreeBuilderGenericSolver.xml index 0ef16f7beb..63cfd0756f 100644 --- a/testSuite/parameters/mergerTreeBuilderGenericSolver.xml +++ b/testSuite/parameters/mergerTreeBuilderGenericSolver.xml @@ -1,6 +1,6 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeEvolverThreaded.xml b/testSuite/parameters/mergerTreeEvolverThreaded.xml index ddead38762..3f5ef0b76a 100644 --- a/testSuite/parameters/mergerTreeEvolverThreaded.xml +++ b/testSuite/parameters/mergerTreeEvolverThreaded.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeFileBuildBolshoi.xml b/testSuite/parameters/mergerTreeFileBuildBolshoi.xml index 9083725edf..81d49311a2 100644 --- a/testSuite/parameters/mergerTreeFileBuildBolshoi.xml +++ b/testSuite/parameters/mergerTreeFileBuildBolshoi.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeFileBuildBolshoiIRATE.xml b/testSuite/parameters/mergerTreeFileBuildBolshoiIRATE.xml index 43d8a3e3b8..ca6ccaa85a 100644 --- a/testSuite/parameters/mergerTreeFileBuildBolshoiIRATE.xml +++ b/testSuite/parameters/mergerTreeFileBuildBolshoiIRATE.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeFileBuildMillennium.xml b/testSuite/parameters/mergerTreeFileBuildMillennium.xml index 8780ac3a2e..44997ed8e9 100644 --- a/testSuite/parameters/mergerTreeFileBuildMillennium.xml +++ b/testSuite/parameters/mergerTreeFileBuildMillennium.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/mergerTreeFileBuildMillenniumIRATE.xml b/testSuite/parameters/mergerTreeFileBuildMillenniumIRATE.xml index 67e8176cee..dce412028c 100644 --- a/testSuite/parameters/mergerTreeFileBuildMillenniumIRATE.xml +++ b/testSuite/parameters/mergerTreeFileBuildMillenniumIRATE.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/mostMassiveProgenitorIsSubhalo.xml b/testSuite/parameters/mostMassiveProgenitorIsSubhalo.xml index 8c965fa624..54509166d4 100644 --- a/testSuite/parameters/mostMassiveProgenitorIsSubhalo.xml +++ b/testSuite/parameters/mostMassiveProgenitorIsSubhalo.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/nodes/nodes.xml b/testSuite/parameters/nodes/nodes.xml index 8abd992464..a9207250fd 100644 --- a/testSuite/parameters/nodes/nodes.xml +++ b/testSuite/parameters/nodes/nodes.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/noninstantaneous_recycling.xml b/testSuite/parameters/noninstantaneous_recycling.xml index 80d70bb9f9..4a46cf99d1 100644 --- a/testSuite/parameters/noninstantaneous_recycling.xml +++ b/testSuite/parameters/noninstantaneous_recycling.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/parameters/orbits.xml b/testSuite/parameters/orbits.xml index 3cfa8a7144..660438676c 100644 --- a/testSuite/parameters/orbits.xml +++ b/testSuite/parameters/orbits.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/outputDatasetSuffixes.xml b/testSuite/parameters/outputDatasetSuffixes.xml index 18e1335590..f4999f1f1f 100644 --- a/testSuite/parameters/outputDatasetSuffixes.xml +++ b/testSuite/parameters/outputDatasetSuffixes.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/outputSelector.xml b/testSuite/parameters/outputSelector.xml index 464510b317..b84d486704 100644 --- a/testSuite/parameters/outputSelector.xml +++ b/testSuite/parameters/outputSelector.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/outputTreeContiguosity.xml b/testSuite/parameters/outputTreeContiguosity.xml index 25992e987b..d15733d25a 100644 --- a/testSuite/parameters/outputTreeContiguosity.xml +++ b/testSuite/parameters/outputTreeContiguosity.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/parameterMigration.xml b/testSuite/parameters/parameterMigration.xml index 75c6d74a6c..f1f7f65184 100644 --- a/testSuite/parameters/parameterMigration.xml +++ b/testSuite/parameters/parameterMigration.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/parametersDiff1.xml b/testSuite/parameters/parametersDiff1.xml index b15347b00b..01d9c6be9b 100644 --- a/testSuite/parameters/parametersDiff1.xml +++ b/testSuite/parameters/parametersDiff1.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/parametersDiff2.xml b/testSuite/parameters/parametersDiff2.xml index 2f875a5ef7..cb23e25e34 100644 --- a/testSuite/parameters/parametersDiff2.xml +++ b/testSuite/parameters/parametersDiff2.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/parametersExtract.xml b/testSuite/parameters/parametersExtract.xml index 5b67eab965..4ba2dcd51f 100644 --- a/testSuite/parameters/parametersExtract.xml +++ b/testSuite/parameters/parametersExtract.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/powerSpectrumAxionCAMB.xml b/testSuite/parameters/powerSpectrumAxionCAMB.xml index 296673200a..e668a64155 100644 --- a/testSuite/parameters/powerSpectrumAxionCAMB.xml +++ b/testSuite/parameters/powerSpectrumAxionCAMB.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/powerSpectrumAxionHu2000.xml b/testSuite/parameters/powerSpectrumAxionHu2000.xml index 6f29db7238..fc83fc4f56 100644 --- a/testSuite/parameters/powerSpectrumAxionHu2000.xml +++ b/testSuite/parameters/powerSpectrumAxionHu2000.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/powerSpectrumAxionMurgia2017.xml b/testSuite/parameters/powerSpectrumAxionMurgia2017.xml index 169495b538..2bd1d357bf 100644 --- a/testSuite/parameters/powerSpectrumAxionMurgia2017.xml +++ b/testSuite/parameters/powerSpectrumAxionMurgia2017.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/powerSpectrumAxionPassaglia2022.xml b/testSuite/parameters/powerSpectrumAxionPassaglia2022.xml index 47bf6154df..1658545842 100644 --- a/testSuite/parameters/powerSpectrumAxionPassaglia2022.xml +++ b/testSuite/parameters/powerSpectrumAxionPassaglia2022.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/powerSpectrumCDM.xml b/testSuite/parameters/powerSpectrumCDM.xml index efd87249ea..e8e2fb4da9 100644 --- a/testSuite/parameters/powerSpectrumCDM.xml +++ b/testSuite/parameters/powerSpectrumCDM.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/reproducibility/adiabaticContraction.xml b/testSuite/parameters/reproducibility/adiabaticContraction.xml index 9852ff7d91..94739c670e 100644 --- a/testSuite/parameters/reproducibility/adiabaticContraction.xml +++ b/testSuite/parameters/reproducibility/adiabaticContraction.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/reproducibility/closedBox.xml b/testSuite/parameters/reproducibility/closedBox.xml index da62ce4998..a9ae69ab93 100644 --- a/testSuite/parameters/reproducibility/closedBox.xml +++ b/testSuite/parameters/reproducibility/closedBox.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/reproducibility/cooling.xml b/testSuite/parameters/reproducibility/cooling.xml index f36d0ca46f..2dd39c0b02 100644 --- a/testSuite/parameters/reproducibility/cooling.xml +++ b/testSuite/parameters/reproducibility/cooling.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/reproducibility/leakyBox.xml b/testSuite/parameters/reproducibility/leakyBox.xml index d18010e952..2e3e8d9378 100644 --- a/testSuite/parameters/reproducibility/leakyBox.xml +++ b/testSuite/parameters/reproducibility/leakyBox.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/satelliteDistanceMinimum.xml b/testSuite/parameters/satelliteDistanceMinimum.xml index f027281396..d1f68a7f66 100644 --- a/testSuite/parameters/satelliteDistanceMinimum.xml +++ b/testSuite/parameters/satelliteDistanceMinimum.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/setProperties.xml b/testSuite/parameters/setProperties.xml index d6a8db8ac7..0eab55ab60 100644 --- a/testSuite/parameters/setProperties.xml +++ b/testSuite/parameters/setProperties.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/starFormationHistoryAdaptive.xml b/testSuite/parameters/starFormationHistoryAdaptive.xml index 6babf1e1ad..44741258e5 100644 --- a/testSuite/parameters/starFormationHistoryAdaptive.xml +++ b/testSuite/parameters/starFormationHistoryAdaptive.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/starFormationHistoryMetallicitySplit.xml b/testSuite/parameters/starFormationHistoryMetallicitySplit.xml index 02233b39ef..296e326edd 100644 --- a/testSuite/parameters/starFormationHistoryMetallicitySplit.xml +++ b/testSuite/parameters/starFormationHistoryMetallicitySplit.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/state/retrieve.xml b/testSuite/parameters/state/retrieve.xml index 6fe429acb8..89771642ec 100644 --- a/testSuite/parameters/state/retrieve.xml +++ b/testSuite/parameters/state/retrieve.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/state/store.xml b/testSuite/parameters/state/store.xml index c982285595..9d0f9d0cdf 100644 --- a/testSuite/parameters/state/store.xml +++ b/testSuite/parameters/state/store.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/stellarMassWeightedAgesMerging.xml b/testSuite/parameters/stellarMassWeightedAgesMerging.xml index 27368bb065..6c70182c4e 100644 --- a/testSuite/parameters/stellarMassWeightedAgesMerging.xml +++ b/testSuite/parameters/stellarMassWeightedAgesMerging.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/stellarMassWeightedAgesSimple.xml b/testSuite/parameters/stellarMassWeightedAgesSimple.xml index dac33e19bf..df0bdf27b6 100644 --- a/testSuite/parameters/stellarMassWeightedAgesSimple.xml +++ b/testSuite/parameters/stellarMassWeightedAgesSimple.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/test-UniverseMachine.xml b/testSuite/parameters/test-UniverseMachine.xml index 51f40f5199..b07081c9e8 100644 --- a/testSuite/parameters/test-UniverseMachine.xml +++ b/testSuite/parameters/test-UniverseMachine.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-allowed-parameters.xml b/testSuite/parameters/test-allowed-parameters.xml index d3efec16c1..93723f63ba 100644 --- a/testSuite/parameters/test-allowed-parameters.xml +++ b/testSuite/parameters/test-allowed-parameters.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-lightconeCrossing.xml b/testSuite/parameters/test-lightconeCrossing.xml index d5243f732e..b5fcc4463f 100644 --- a/testSuite/parameters/test-lightconeCrossing.xml +++ b/testSuite/parameters/test-lightconeCrossing.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-mass-conservation-coldMode.xml b/testSuite/parameters/test-mass-conservation-coldMode.xml index fec249205c..8c5c909c08 100644 --- a/testSuite/parameters/test-mass-conservation-coldMode.xml +++ b/testSuite/parameters/test-mass-conservation-coldMode.xml @@ -15,7 +15,7 @@ 2 - + diff --git a/testSuite/parameters/test-mass-conservation-simple.xml b/testSuite/parameters/test-mass-conservation-simple.xml index c8a42cd98b..a4f040e028 100644 --- a/testSuite/parameters/test-mass-conservation-simple.xml +++ b/testSuite/parameters/test-mass-conservation-simple.xml @@ -15,7 +15,7 @@ 2 - + diff --git a/testSuite/parameters/test-mass-conservation-standard.xml b/testSuite/parameters/test-mass-conservation-standard.xml index c24ccb9ad8..c2308deed6 100644 --- a/testSuite/parameters/test-mass-conservation-standard.xml +++ b/testSuite/parameters/test-mass-conservation-standard.xml @@ -15,7 +15,7 @@ 2 - + diff --git a/testSuite/parameters/test-merger-tree-write-base.xml b/testSuite/parameters/test-merger-tree-write-base.xml index 26d49bf726..efcebb25f1 100644 --- a/testSuite/parameters/test-merger-tree-write-base.xml +++ b/testSuite/parameters/test-merger-tree-write-base.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/parameters/test-merger-tree-write-secondary.xml b/testSuite/parameters/test-merger-tree-write-secondary.xml index aa1118fe37..d0c45ebd00 100644 --- a/testSuite/parameters/test-merger-tree-write-secondary.xml +++ b/testSuite/parameters/test-merger-tree-write-secondary.xml @@ -16,7 +16,7 @@ 2 - + diff --git a/testSuite/parameters/test-merger-tree-write.xml b/testSuite/parameters/test-merger-tree-write.xml index a2c7866cf8..8fc5debdb6 100644 --- a/testSuite/parameters/test-merger-tree-write.xml +++ b/testSuite/parameters/test-merger-tree-write.xml @@ -16,7 +16,7 @@ 2 - + diff --git a/testSuite/parameters/test-output-times.xml b/testSuite/parameters/test-output-times.xml index bcc58ed3f2..29bce986e4 100644 --- a/testSuite/parameters/test-output-times.xml +++ b/testSuite/parameters/test-output-times.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-output.xml b/testSuite/parameters/test-output.xml index 61fe8e37ee..6c16173088 100644 --- a/testSuite/parameters/test-output.xml +++ b/testSuite/parameters/test-output.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-radiativeTransfer-StromgrenSphere.xml b/testSuite/parameters/test-radiativeTransfer-StromgrenSphere.xml index c777042a25..52b2b5696e 100644 --- a/testSuite/parameters/test-radiativeTransfer-StromgrenSphere.xml +++ b/testSuite/parameters/test-radiativeTransfer-StromgrenSphere.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-radiativeTransfer-atomicMatterStateSolver.xml b/testSuite/parameters/test-radiativeTransfer-atomicMatterStateSolver.xml index 7d691ce19d..0bc227d6b3 100644 --- a/testSuite/parameters/test-radiativeTransfer-atomicMatterStateSolver.xml +++ b/testSuite/parameters/test-radiativeTransfer-atomicMatterStateSolver.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-spheroid-power-law.xml b/testSuite/parameters/test-spheroid-power-law.xml index a4f8da48d6..62f5a4d1c3 100644 --- a/testSuite/parameters/test-spheroid-power-law.xml +++ b/testSuite/parameters/test-spheroid-power-law.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/test-splitForests-split.xml b/testSuite/parameters/test-splitForests-split.xml index c2edcd586c..4032868589 100644 --- a/testSuite/parameters/test-splitForests-split.xml +++ b/testSuite/parameters/test-splitForests-split.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/test-splitForests-unsplit.xml b/testSuite/parameters/test-splitForests-unsplit.xml index d49cc9dc26..7da510bb35 100644 --- a/testSuite/parameters/test-splitForests-unsplit.xml +++ b/testSuite/parameters/test-splitForests-unsplit.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/test-star-formation-histories-adaptive.xml b/testSuite/parameters/test-star-formation-histories-adaptive.xml index f63ff06f69..45bd333058 100644 --- a/testSuite/parameters/test-star-formation-histories-adaptive.xml +++ b/testSuite/parameters/test-star-formation-histories-adaptive.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/test-star-formation-histories-inSitu.xml b/testSuite/parameters/test-star-formation-histories-inSitu.xml index d32b2a0b84..da03988279 100644 --- a/testSuite/parameters/test-star-formation-histories-inSitu.xml +++ b/testSuite/parameters/test-star-formation-histories-inSitu.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/testsParameters.xml b/testSuite/parameters/testsParameters.xml index 42b0cdaf74..b8e1459e4a 100644 --- a/testSuite/parameters/testsParameters.xml +++ b/testSuite/parameters/testsParameters.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/tidalTracksMonotonic_gamma0.0.xml b/testSuite/parameters/tidalTracksMonotonic_gamma0.0.xml index 21f90a9d39..83144a43a4 100644 --- a/testSuite/parameters/tidalTracksMonotonic_gamma0.0.xml +++ b/testSuite/parameters/tidalTracksMonotonic_gamma0.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/tidalTracksMonotonic_gamma0.5.xml b/testSuite/parameters/tidalTracksMonotonic_gamma0.5.xml index f301f7319b..3ad5843ffe 100644 --- a/testSuite/parameters/tidalTracksMonotonic_gamma0.5.xml +++ b/testSuite/parameters/tidalTracksMonotonic_gamma0.5.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/tidalTracksMonotonic_gamma1.0.xml b/testSuite/parameters/tidalTracksMonotonic_gamma1.0.xml index 20ac13525e..1006effd98 100644 --- a/testSuite/parameters/tidalTracksMonotonic_gamma1.0.xml +++ b/testSuite/parameters/tidalTracksMonotonic_gamma1.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/tidalTracksNonMonotonic_gamma1.0.xml b/testSuite/parameters/tidalTracksNonMonotonic_gamma1.0.xml index b0f6c38883..dfc28a582e 100644 --- a/testSuite/parameters/tidalTracksNonMonotonic_gamma1.0.xml +++ b/testSuite/parameters/tidalTracksNonMonotonic_gamma1.0.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/tidallyTruncatedNFWFit.xml b/testSuite/parameters/tidallyTruncatedNFWFit.xml index d2e0675919..7d3d8d607b 100644 --- a/testSuite/parameters/tidallyTruncatedNFWFit.xml +++ b/testSuite/parameters/tidallyTruncatedNFWFit.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/transferFunctionHalfModeSlope.xml b/testSuite/parameters/transferFunctionHalfModeSlope.xml index a6a6bedeb5..2451c7043c 100644 --- a/testSuite/parameters/transferFunctionHalfModeSlope.xml +++ b/testSuite/parameters/transferFunctionHalfModeSlope.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/treeFilterLabels.xml b/testSuite/parameters/treeFilterLabels.xml index 19ce6d4930..874960caaf 100644 --- a/testSuite/parameters/treeFilterLabels.xml +++ b/testSuite/parameters/treeFilterLabels.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_PonosV.xml b/testSuite/parameters/validate_PonosV.xml index f55dac4cdb..1d3bbd9bd4 100644 --- a/testSuite/parameters/validate_PonosV.xml +++ b/testSuite/parameters/validate_PonosV.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_IGM_evolution.xml b/testSuite/parameters/validate_baryonicSuppression_IGM_evolution.xml index af95af2537..9b3dc36a7a 100644 --- a/testSuite/parameters/validate_baryonicSuppression_IGM_evolution.xml +++ b/testSuite/parameters/validate_baryonicSuppression_IGM_evolution.xml @@ -1,7 +1,7 @@ - + 2 diff --git a/testSuite/parameters/validate_baryonicSuppression_baryonicPhysics.xml b/testSuite/parameters/validate_baryonicSuppression_baryonicPhysics.xml index 08e6cc4bc9..07b847848c 100644 --- a/testSuite/parameters/validate_baryonicSuppression_baryonicPhysics.xml +++ b/testSuite/parameters/validate_baryonicSuppression_baryonicPhysics.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_cosmology.xml b/testSuite/parameters/validate_baryonicSuppression_cosmology.xml index 18986dddc1..1719e36494 100644 --- a/testSuite/parameters/validate_baryonicSuppression_cosmology.xml +++ b/testSuite/parameters/validate_baryonicSuppression_cosmology.xml @@ -3,7 +3,7 @@ Taken from Zheng et al. (2024; https://ui.adsabs.harvard.edu/abs/2024arXiv240317044Z) --> 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons.xml b/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons.xml index 3376f9d3a3..3c2d2053ae 100644 --- a/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons.xml +++ b/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons_noReionization.xml b/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons_noReionization.xml index 2695530e7c..5d784a4871 100644 --- a/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons_noReionization.xml +++ b/testSuite/parameters/validate_baryonicSuppression_evolve_withBaryons_noReionization.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_evolve_withoutBaryons.xml b/testSuite/parameters/validate_baryonicSuppression_evolve_withoutBaryons.xml index 9b2c1cd529..c2d586aed5 100644 --- a/testSuite/parameters/validate_baryonicSuppression_evolve_withoutBaryons.xml +++ b/testSuite/parameters/validate_baryonicSuppression_evolve_withoutBaryons.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_baryonicSuppression_mergerTrees.xml b/testSuite/parameters/validate_baryonicSuppression_mergerTrees.xml index 0d5b0cabf6..842b67f0a7 100644 --- a/testSuite/parameters/validate_baryonicSuppression_mergerTrees.xml +++ b/testSuite/parameters/validate_baryonicSuppression_mergerTrees.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_darkMatterOnlySubHalos.xml b/testSuite/parameters/validate_darkMatterOnlySubHalos.xml index c25ac20630..8d08391c66 100644 --- a/testSuite/parameters/validate_darkMatterOnlySubHalos.xml +++ b/testSuite/parameters/validate_darkMatterOnlySubHalos.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validate_milkyWay.xml b/testSuite/parameters/validate_milkyWay.xml index e6a8aee21c..79af584f4b 100644 --- a/testSuite/parameters/validate_milkyWay.xml +++ b/testSuite/parameters/validate_milkyWay.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/parameters/validation/default-valid.xml b/testSuite/parameters/validation/default-valid.xml index ff004d6c96..9c8b7e0aee 100644 --- a/testSuite/parameters/validation/default-valid.xml +++ b/testSuite/parameters/validation/default-valid.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/validation/duplicate-parameter-invalid.xml b/testSuite/parameters/validation/duplicate-parameter-invalid.xml index 4a2511885f..516ee061c8 100644 --- a/testSuite/parameters/validation/duplicate-parameter-invalid.xml +++ b/testSuite/parameters/validation/duplicate-parameter-invalid.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/validation/duplicate-subparameter-valid.xml b/testSuite/parameters/validation/duplicate-subparameter-valid.xml index 80e45997c9..60b4080a6b 100644 --- a/testSuite/parameters/validation/duplicate-subparameter-valid.xml +++ b/testSuite/parameters/validation/duplicate-subparameter-valid.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/validation/duplicate-value-invalid.xml b/testSuite/parameters/validation/duplicate-value-invalid.xml index 24affa1f1d..f76f272648 100644 --- a/testSuite/parameters/validation/duplicate-value-invalid.xml +++ b/testSuite/parameters/validation/duplicate-value-invalid.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/parameters/validation/missing-value-invalid.xml b/testSuite/parameters/validation/missing-value-invalid.xml index 89e9a357ec..02b2760469 100644 --- a/testSuite/parameters/validation/missing-value-invalid.xml +++ b/testSuite/parameters/validation/missing-value-invalid.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/regressions/adaptiveSFHLengths.xml b/testSuite/regressions/adaptiveSFHLengths.xml index f8dcb65a72..be94c48858 100644 --- a/testSuite/regressions/adaptiveSFHLengths.xml +++ b/testSuite/regressions/adaptiveSFHLengths.xml @@ -5,7 +5,7 @@ 2 - + diff --git a/testSuite/regressions/barInstabilityFPE.xml b/testSuite/regressions/barInstabilityFPE.xml index 86ef07004f..733c87927f 100644 --- a/testSuite/regressions/barInstabilityFPE.xml +++ b/testSuite/regressions/barInstabilityFPE.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/regressions/bug1053153.xml b/testSuite/regressions/bug1053153.xml index a478475a7d..2e6de7c266 100644 --- a/testSuite/regressions/bug1053153.xml +++ b/testSuite/regressions/bug1053153.xml @@ -5,7 +5,7 @@ 2 - + diff --git a/testSuite/regressions/bug711424.xml b/testSuite/regressions/bug711424.xml index fc7d698b68..eafff920e5 100644 --- a/testSuite/regressions/bug711424.xml +++ b/testSuite/regressions/bug711424.xml @@ -5,7 +5,7 @@ 2 - + diff --git a/testSuite/regressions/bug725315.xml b/testSuite/regressions/bug725315.xml index a317898ad7..1892f0fc2f 100644 --- a/testSuite/regressions/bug725315.xml +++ b/testSuite/regressions/bug725315.xml @@ -5,7 +5,7 @@ 2 - + diff --git a/testSuite/regressions/coincidentMergerAndBranchJump.xml b/testSuite/regressions/coincidentMergerAndBranchJump.xml index 627ca6a2f5..6fef400d70 100644 --- a/testSuite/regressions/coincidentMergerAndBranchJump.xml +++ b/testSuite/regressions/coincidentMergerAndBranchJump.xml @@ -6,7 +6,7 @@ 2 - + diff --git a/testSuite/regressions/cole2000TreeBuilderWDMNodeWellOrdering.xml b/testSuite/regressions/cole2000TreeBuilderWDMNodeWellOrdering.xml index b5cda72d3a..eb14e199a6 100644 --- a/testSuite/regressions/cole2000TreeBuilderWDMNodeWellOrdering.xml +++ b/testSuite/regressions/cole2000TreeBuilderWDMNodeWellOrdering.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/regressions/cosmicEmu.xml b/testSuite/regressions/cosmicEmu.xml index cf6517f4c5..fec748963f 100644 --- a/testSuite/regressions/cosmicEmu.xml +++ b/testSuite/regressions/cosmicEmu.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee.xml b/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee.xml index 80c99fe1b3..faba6815c0 100644 --- a/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee.xml +++ b/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee2.xml b/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee2.xml index 71bac2d6ae..3a2d92603d 100644 --- a/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee2.xml +++ b/testSuite/regressions/deadlockMergeTargetInDescendentOfMergee2.xml @@ -4,7 +4,7 @@ are not allowed to evolve until their host no longer has a child node this can result in a deadlock. This version has the deadlock occur in a non-primary progenitor. --> 2 - + diff --git a/testSuite/regressions/finalTimeBeforeOutputTime.xml b/testSuite/regressions/finalTimeBeforeOutputTime.xml index cb56153784..107a0cf948 100644 --- a/testSuite/regressions/finalTimeBeforeOutputTime.xml +++ b/testSuite/regressions/finalTimeBeforeOutputTime.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/regressions/immediateSubSubMergerThenBranchJump.xml b/testSuite/regressions/immediateSubSubMergerThenBranchJump.xml index 9f0504c22f..2013d13076 100644 --- a/testSuite/regressions/immediateSubSubMergerThenBranchJump.xml +++ b/testSuite/regressions/immediateSubSubMergerThenBranchJump.xml @@ -5,7 +5,7 @@ 2 - + diff --git a/testSuite/regressions/initialSatelliteNoPrimaryProgenitor.xml b/testSuite/regressions/initialSatelliteNoPrimaryProgenitor.xml index 2f8457707c..9a9e19a183 100644 --- a/testSuite/regressions/initialSatelliteNoPrimaryProgenitor.xml +++ b/testSuite/regressions/initialSatelliteNoPrimaryProgenitor.xml @@ -6,7 +6,7 @@ 2 - + diff --git a/testSuite/regressions/issue142.xml b/testSuite/regressions/issue142.xml index 7ad7b99a75..a4c5943d30 100644 --- a/testSuite/regressions/issue142.xml +++ b/testSuite/regressions/issue142.xml @@ -1,7 +1,7 @@ - + 2 diff --git a/testSuite/regressions/linearGrowthForFutureModel.xml b/testSuite/regressions/linearGrowthForFutureModel.xml index 79f3a5c708..7f486a1060 100644 --- a/testSuite/regressions/linearGrowthForFutureModel.xml +++ b/testSuite/regressions/linearGrowthForFutureModel.xml @@ -6,7 +6,7 @@ 2 - + diff --git a/testSuite/regressions/ludlowScaleSetBeforeTreeInitialization.xml b/testSuite/regressions/ludlowScaleSetBeforeTreeInitialization.xml index 71040c4ea2..d6619825ff 100644 --- a/testSuite/regressions/ludlowScaleSetBeforeTreeInitialization.xml +++ b/testSuite/regressions/ludlowScaleSetBeforeTreeInitialization.xml @@ -4,7 +4,7 @@ initialization. Previously, this lead to a bug in which the Ludlow model entered into an infinite recursion. --> 2 - + diff --git a/testSuite/regressions/mergerAtFinalTimeInTree.xml b/testSuite/regressions/mergerAtFinalTimeInTree.xml index 4dc8ff6bab..19e2cbe46a 100644 --- a/testSuite/regressions/mergerAtFinalTimeInTree.xml +++ b/testSuite/regressions/mergerAtFinalTimeInTree.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/regressions/outputRank2ExtendSegFault.xml b/testSuite/regressions/outputRank2ExtendSegFault.xml index 0c94395166..0e5268214d 100644 --- a/testSuite/regressions/outputRank2ExtendSegFault.xml +++ b/testSuite/regressions/outputRank2ExtendSegFault.xml @@ -4,7 +4,7 @@ 2 - + diff --git a/testSuite/regressions/particulate.xml b/testSuite/regressions/particulate.xml index b706c37127..686d1af587 100644 --- a/testSuite/regressions/particulate.xml +++ b/testSuite/regressions/particulate.xml @@ -2,7 +2,7 @@ 2 - + diff --git a/testSuite/regressions/satellitePresetBoundMassNonZero.xml b/testSuite/regressions/satellitePresetBoundMassNonZero.xml index f1265eb589..2a06293a46 100644 --- a/testSuite/regressions/satellitePresetBoundMassNonZero.xml +++ b/testSuite/regressions/satellitePresetBoundMassNonZero.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/regressions/subhaloMergesAtFinalTimeOfTree.xml b/testSuite/regressions/subhaloMergesAtFinalTimeOfTree.xml index 94120f9fcd..b7204250f1 100644 --- a/testSuite/regressions/subhaloMergesAtFinalTimeOfTree.xml +++ b/testSuite/regressions/subhaloMergesAtFinalTimeOfTree.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/regressions/subhaloTwoConsecutiveMergers.xml b/testSuite/regressions/subhaloTwoConsecutiveMergers.xml index ef223bd9e8..b221542408 100644 --- a/testSuite/regressions/subhaloTwoConsecutiveMergers.xml +++ b/testSuite/regressions/subhaloTwoConsecutiveMergers.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/regressions/treeWithInitialSatelliteInProgenitorlessHost.xml b/testSuite/regressions/treeWithInitialSatelliteInProgenitorlessHost.xml index 69d4cdefe3..4dccf9104c 100644 --- a/testSuite/regressions/treeWithInitialSatelliteInProgenitorlessHost.xml +++ b/testSuite/regressions/treeWithInitialSatelliteInProgenitorlessHost.xml @@ -6,7 +6,7 @@ 2 - + diff --git a/testSuite/regressions/treeWithNoPrimaryProgenitor.xml b/testSuite/regressions/treeWithNoPrimaryProgenitor.xml index 7452261c2f..d3835de7a7 100644 --- a/testSuite/regressions/treeWithNoPrimaryProgenitor.xml +++ b/testSuite/regressions/treeWithNoPrimaryProgenitor.xml @@ -55,7 +55,7 @@ 2 - + diff --git a/testSuite/test-cosmology-base.xml b/testSuite/test-cosmology-base.xml index 0a275ab13c..51a815962b 100644 --- a/testSuite/test-cosmology-base.xml +++ b/testSuite/test-cosmology-base.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/test-cosmology.xml b/testSuite/test-cosmology.xml index f9ed58e91d..a7955e4923 100644 --- a/testSuite/test-cosmology.xml +++ b/testSuite/test-cosmology.xml @@ -16,7 +16,7 @@ 2 - + @@ -25,7 +25,7 @@ 2 - + diff --git a/testSuite/test-methods-base.xml b/testSuite/test-methods-base.xml index 8907917af5..9d902d1391 100644 --- a/testSuite/test-methods-base.xml +++ b/testSuite/test-methods-base.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/test-methods.xml b/testSuite/test-methods.xml index ca8afde498..f68508e412 100644 --- a/testSuite/test-methods.xml +++ b/testSuite/test-methods.xml @@ -17,7 +17,7 @@ 2 - + @@ -28,14 +28,14 @@ 2 - + 2 - + @@ -56,7 +56,7 @@ 2 - + @@ -116,7 +116,7 @@ 2 - + @@ -127,7 +127,7 @@ 2 - + @@ -138,14 +138,14 @@ 2 - + 2 - + @@ -155,7 +155,7 @@ 2 - + @@ -438,7 +438,7 @@ 2 - + @@ -450,7 +450,7 @@ 2 - + @@ -459,12 +459,12 @@ 2 - + 2 - + @@ -481,7 +481,7 @@ 2 - + @@ -512,7 +512,7 @@ 2 - + @@ -520,7 +520,7 @@ 2 - + @@ -533,7 +533,7 @@ 2 - + @@ -553,13 +553,13 @@ 2 - + 2 - + @@ -573,7 +573,7 @@ 2 - + @@ -610,7 +610,7 @@ 2 - + @@ -628,7 +628,7 @@ 2 - + @@ -650,7 +650,7 @@ 2 - + @@ -669,7 +669,7 @@ 2 - + @@ -722,7 +722,7 @@ 2 - + @@ -737,7 +737,7 @@ 2 - + @@ -745,7 +745,7 @@ 2 - + @@ -794,7 +794,7 @@ 2 - + @@ -841,7 +841,7 @@ 2 - + @@ -855,7 +855,7 @@ 2 - + @@ -863,7 +863,7 @@ 2 - + @@ -871,7 +871,7 @@ 2 - + @@ -879,7 +879,7 @@ 2 - + @@ -890,7 +890,7 @@ 2 - + @@ -917,7 +917,7 @@ 2 - + @@ -928,7 +928,7 @@ 2 - + @@ -938,7 +938,7 @@ 2 - + @@ -947,7 +947,7 @@ 2 - + @@ -960,14 +960,14 @@ 2 - + 2 - + @@ -981,21 +981,21 @@ 2 - + 2 - + 2 - + @@ -1003,14 +1003,14 @@ 2 - + 2 - + @@ -1025,7 +1025,7 @@ 2 - + @@ -1037,7 +1037,7 @@ 2 - + @@ -1049,7 +1049,7 @@ 2 - + @@ -1061,7 +1061,7 @@ 2 - + @@ -1071,7 +1071,7 @@ 2 - + @@ -1079,7 +1079,7 @@ 2 - + @@ -1088,7 +1088,7 @@ 2 - + @@ -1133,7 +1133,7 @@ 2 - + @@ -1179,7 +1179,7 @@ 2 - + @@ -1224,7 +1224,7 @@ 2 - + @@ -1272,7 +1272,7 @@ 2 - + @@ -1293,7 +1293,7 @@ 2 - + @@ -1305,7 +1305,7 @@ 2 - + @@ -1319,7 +1319,7 @@ 2 - + @@ -1331,7 +1331,7 @@ 2 - + @@ -1346,7 +1346,7 @@ 2 - + @@ -1375,7 +1375,7 @@ 2 - + @@ -1394,7 +1394,7 @@ 2 - + @@ -1511,7 +1511,7 @@ 2 - + @@ -1605,7 +1605,7 @@ 2 - + @@ -1659,7 +1659,7 @@ 2 - + @@ -1716,7 +1716,7 @@ 2 - + @@ -1762,7 +1762,7 @@ 2 - + @@ -1811,7 +1811,7 @@ 2 - + @@ -1859,7 +1859,7 @@ 2 - + @@ -1907,7 +1907,7 @@ 2 - + @@ -1955,7 +1955,7 @@ 2 - + @@ -2008,7 +2008,7 @@ 2 - + @@ -2056,7 +2056,7 @@ 2 - + @@ -2120,7 +2120,7 @@ 2 - + @@ -2180,7 +2180,7 @@ 2 - + @@ -2245,7 +2245,7 @@ 2 - + @@ -2414,7 +2414,7 @@ 2 - + @@ -2436,7 +2436,7 @@ 2 - + @@ -2449,7 +2449,7 @@ 2 - + @@ -2494,7 +2494,7 @@ 2 - + diff --git a/testSuite/test-methods_MPI.xml b/testSuite/test-methods_MPI.xml index 07ec330312..24ba028c8d 100644 --- a/testSuite/test-methods_MPI.xml +++ b/testSuite/test-methods_MPI.xml @@ -25,7 +25,7 @@ 2 - + diff --git a/testSuite/test-model-integration-default.xml b/testSuite/test-model-integration-default.xml index e3896ed924..bb50cc98a7 100644 --- a/testSuite/test-model-integration-default.xml +++ b/testSuite/test-model-integration-default.xml @@ -3,7 +3,7 @@ 2 - + diff --git a/testSuite/test-outputs-base.xml b/testSuite/test-outputs-base.xml index 4bce691da0..5cb69de7e0 100644 --- a/testSuite/test-outputs-base.xml +++ b/testSuite/test-outputs-base.xml @@ -1,7 +1,7 @@ 2 - + diff --git a/testSuite/test-outputs.xml b/testSuite/test-outputs.xml index 425d36b726..e44edae50b 100644 --- a/testSuite/test-outputs.xml +++ b/testSuite/test-outputs.xml @@ -18,7 +18,7 @@ 2 - + @@ -30,14 +30,14 @@ 2 - + 2 - + @@ -47,7 +47,7 @@ 2 - + @@ -58,7 +58,7 @@ 2 - + @@ -70,7 +70,7 @@ 2 - + @@ -82,7 +82,7 @@ 2 - + @@ -91,7 +91,7 @@ 2 - + @@ -100,7 +100,7 @@ 2 - + @@ -109,14 +109,14 @@ 2 - + 2 - + From 14a93e7b2fb9994033e031b7db671796dc89d8c0 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sun, 13 Oct 2024 12:33:30 -0700 Subject: [PATCH 27/34] fix: Adjust absolute ODE scale for star formation histories --- source/objects.nodes.components.disk.standard.F90 | 2 +- .../objects.nodes.components.spheroid.standard.F90 | 2 +- source/star_formation.histories.F90 | 2 +- source/star_formation.histories.adaptive.F90 | 8 ++++---- source/star_formation.histories.fixed_ages.F90 | 12 ++++++------ source/star_formation.histories.in_situ.F90 | 6 +++--- .../star_formation.histories.metallicity_split.F90 | 8 ++++---- source/star_formation.histories.null.F90 | 6 +++--- .../parameters/starFormationHistoryAdaptive.xml | 4 ++-- .../starFormationHistoryMetallicitySplit.xml | 4 ++-- testSuite/test-star-formation-histories.py | 2 +- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/source/objects.nodes.components.disk.standard.F90 b/source/objects.nodes.components.disk.standard.F90 index 14b63777ed..d18aca6fdf 100644 --- a/source/objects.nodes.components.disk.standard.F90 +++ b/source/objects.nodes.components.disk.standard.F90 @@ -830,7 +830,7 @@ subroutine Node_Component_Disk_Standard_Scale_Set(node) call disk%stellarPropertiesHistoryScale ( stellarPopulationHistoryScales) call stellarPopulationHistoryScales%destroy() stellarPopulationHistoryScales=disk%starFormationHistory() - call starFormationHistory_%scales (stellarPopulationHistoryScales,node,disk%massStellar(),disk%abundancesStellar()) + call starFormationHistory_%scales (stellarPopulationHistoryScales,node,disk%massStellar(),disk%massGas(),disk%abundancesStellar()) call disk%starFormationHistoryScale (stellarPopulationHistoryScales ) call stellarPopulationHistoryScales%destroy() end select diff --git a/source/objects.nodes.components.spheroid.standard.F90 b/source/objects.nodes.components.spheroid.standard.F90 index 78e26ce89f..0d11068beb 100644 --- a/source/objects.nodes.components.spheroid.standard.F90 +++ b/source/objects.nodes.components.spheroid.standard.F90 @@ -861,7 +861,7 @@ subroutine Node_Component_Spheroid_Standard_Scale_Set(node) call spheroid%stellarPropertiesHistoryScale( stellarPopulationHistoryScales) call stellarPopulationHistoryScales%destroy() stellarPopulationHistoryScales=spheroid%starFormationHistory() - call starFormationHistory_%scales (stellarPopulationHistoryScales,node,spheroid%massStellar(),spheroid%abundancesStellar()) + call starFormationHistory_%scales (stellarPopulationHistoryScales,node,spheroid%massStellar(),spheroid%massGas(),spheroid%abundancesStellar()) call spheroid%starFormationHistoryScale (stellarPopulationHistoryScales ) call stellarPopulationHistoryScales%destroy() end select diff --git a/source/star_formation.histories.F90 b/source/star_formation.histories.F90 index b9e4261098..5efe48667f 100644 --- a/source/star_formation.histories.F90 +++ b/source/star_formation.histories.F90 @@ -70,7 +70,7 @@ module Star_Formation_Histories yes type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar, massGas type (abundances), intent(in ) :: abundancesStellar diff --git a/source/star_formation.histories.adaptive.F90 b/source/star_formation.histories.adaptive.F90 index 1137e958ad..43ed397dcb 100644 --- a/source/star_formation.histories.adaptive.F90 +++ b/source/star_formation.histories.adaptive.F90 @@ -511,17 +511,17 @@ subroutine adaptiveUpdate(self,node,indexOutput,historyStarFormation) return end subroutine adaptiveUpdate - subroutine adaptiveScales(self,historyStarFormation,node,massStellar,abundancesStellar) + subroutine adaptiveScales(self,historyStarFormation,node,massStellar,massGas,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} implicit none class (starFormationHistoryAdaptive), intent(inout) :: self - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar , massGas type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node - double precision , parameter :: massStellarMinimum =1.0d0 + double precision , parameter :: massMinimum =1.0d0 double precision , allocatable , dimension(:) :: timeSteps integer (c_size_t ) :: iMetallicity !$GLC attributes unused :: abundancesStellar, node @@ -529,7 +529,7 @@ subroutine adaptiveScales(self,historyStarFormation,node,massStellar,abundancesS if (.not.historyStarFormation%exists()) return call historyStarFormation%timeSteps(timeSteps) forall(iMetallicity=1:self%countMetallicities+1) - historyStarFormation%data(:,iMetallicity)=+max(massStellar,massStellarMinimum) & + historyStarFormation%data(:,iMetallicity)=+max(massStellar+massGas,massMinimum) & & * timeSteps & & /historyStarFormation%time (size(historyStarFormation%time)) end forall diff --git a/source/star_formation.histories.fixed_ages.F90 b/source/star_formation.histories.fixed_ages.F90 index 982b869c41..e4a4dc2d1b 100644 --- a/source/star_formation.histories.fixed_ages.F90 +++ b/source/star_formation.histories.fixed_ages.F90 @@ -581,26 +581,26 @@ subroutine fixedAgesMove(self,node1,node2,starFormationHistory1,starFormationHis return end subroutine fixedAgesMove - subroutine fixedAgesScales(self,historyStarFormation,node,massStellar,abundancesStellar) + subroutine fixedAgesScales(self,historyStarFormation,node,massStellar,massGas,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} use :: Galacticus_Nodes, only : nodeComponentBasic implicit none class (starFormationHistoryFixedAges), intent(inout) :: self - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar , massGas type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node class (nodeComponentBasic ), pointer :: basic - double precision , parameter :: massStellarMinimum =1.0d0 + double precision , parameter :: massMinimum =1.0d0 double precision , allocatable , dimension(:) :: timeSteps , timesCrossing integer (c_size_t ) :: i , j !$GLC attributes unused :: abundancesStellar ! Call the recursive copy if needed. if (self%isRecursive) then - call self%recursiveSelf%scales(historyStarFormation,node,massStellar,abundancesStellar) + call self%recursiveSelf%scales(historyStarFormation,node,massStellar,massGas,abundancesStellar) return end if if (.not.historyStarFormation%exists()) return @@ -614,8 +614,8 @@ subroutine fixedAgesScales(self,historyStarFormation,node,massStellar,abundances do j=1,self%countMetallicities+1 ! The scale is set to a representative stellar mass scale multiplied by the fraction of the total history time in ! each time bin. - historyStarFormation%data(:,(i-1)*(self%countMetallicities+1)+j)=+max(massStellar,massStellarMinimum) & - & *timeSteps & + historyStarFormation%data(:,(i-1)*(self%countMetallicities+1)+j)=+max(massStellar+massGas,massMinimum) & + & *timeSteps & & /timesCrossing(i) end do end do diff --git a/source/star_formation.histories.in_situ.F90 b/source/star_formation.histories.in_situ.F90 index 1bb42a76b9..2de18b1c1d 100644 --- a/source/star_formation.histories.in_situ.F90 +++ b/source/star_formation.histories.in_situ.F90 @@ -206,13 +206,13 @@ subroutine inSituUpdate(self,node,indexOutput,historyStarFormation) return end subroutine inSituUpdate - subroutine inSituScales(self,historyStarFormation,node,massStellar,abundancesStellar) + subroutine inSituScales(self,historyStarFormation,node,massStellar,massGas,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} implicit none class (starFormationHistoryInSitu), intent(inout) :: self - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar , massGas type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node @@ -223,7 +223,7 @@ subroutine inSituScales(self,historyStarFormation,node,massStellar,abundancesSte history_%rangeType=historyStarFormation%rangeType history_%time =historyStarFormation%time history_%data=historyStarFormation%data(:,1:size(historyStarFormation%data,dim=2)/2) - call self%starFormationHistory_%scales(history_,node,massStellar,abundancesStellar) + call self%starFormationHistory_%scales(history_,node,massStellar,massGas,abundancesStellar) historyStarFormation%data(:,1 :size(historyStarFormation%data,dim=2)/2)=history_%data historyStarFormation%data(:,1+size(historyStarFormation%data,dim=2)/2:size(historyStarFormation%data,dim=2) )=history_%data return diff --git a/source/star_formation.histories.metallicity_split.F90 b/source/star_formation.histories.metallicity_split.F90 index ef3c0c59d5..6b6ae18e1f 100644 --- a/source/star_formation.histories.metallicity_split.F90 +++ b/source/star_formation.histories.metallicity_split.F90 @@ -355,17 +355,17 @@ subroutine metallicitySplitUpdate(self,node,indexOutput,historyStarFormation) return end subroutine metallicitySplitUpdate - subroutine metallicitySplitScales(self,historyStarFormation,node,massStellar,abundancesStellar) + subroutine metallicitySplitScales(self,historyStarFormation,node,massStellar,massGas,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} implicit none class (starFormationHistoryMetallicitySplit), intent(inout) :: self - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar , massGas type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node - double precision , parameter :: massStellarMinimum =1.0d0 + double precision , parameter :: massMinimum =1.0d0 double precision , allocatable , dimension(:) :: timeSteps integer :: iMetallicity !$GLC attributes unused :: abundancesStellar, node @@ -373,7 +373,7 @@ subroutine metallicitySplitScales(self,historyStarFormation,node,massStellar,abu if (.not.historyStarFormation%exists()) return call historyStarFormation%timeSteps(timeSteps) forall(iMetallicity=1:self%countMetallicities+1) - historyStarFormation%data(:,iMetallicity)=+max(massStellar,massStellarMinimum) & + historyStarFormation%data(:,iMetallicity)=+max(massStellar+massGas,massMinimum) & & * timeSteps & & /historyStarFormation%time (size(historyStarFormation%time)) end forall diff --git a/source/star_formation.histories.null.F90 b/source/star_formation.histories.null.F90 index d3e3a1fa26..b50581c672 100644 --- a/source/star_formation.histories.null.F90 +++ b/source/star_formation.histories.null.F90 @@ -96,17 +96,17 @@ subroutine nullRate(self,node,historyStarFormation,abundancesFuel,rateStarFormat return end subroutine nullRate - subroutine nullScales(self,historyStarFormation,node,massStellar,abundancesStellar) + subroutine nullScales(self,historyStarFormation,node,massStellar,massGas,abundancesStellar) !!{ Set the scalings for error control on the absolute values of star formation histories. !!} implicit none class (starFormationHistoryNull), intent(inout) :: self - double precision , intent(in ) :: massStellar + double precision , intent(in ) :: massStellar , massGas type (abundances ), intent(in ) :: abundancesStellar type (history ), intent(inout) :: historyStarFormation type (treeNode ), intent(inout) :: node - !$GLC attributes unused :: self, historyStarFormation, node, massStellar, abundancesStellar + !$GLC attributes unused :: self, historyStarFormation, node, massStellar, massGas, abundancesStellar ! Do nothing. return diff --git a/testSuite/parameters/starFormationHistoryAdaptive.xml b/testSuite/parameters/starFormationHistoryAdaptive.xml index 44741258e5..b7465407d7 100644 --- a/testSuite/parameters/starFormationHistoryAdaptive.xml +++ b/testSuite/parameters/starFormationHistoryAdaptive.xml @@ -98,8 +98,8 @@ - - + + diff --git a/testSuite/parameters/starFormationHistoryMetallicitySplit.xml b/testSuite/parameters/starFormationHistoryMetallicitySplit.xml index 296e326edd..3dbf1d73df 100644 --- a/testSuite/parameters/starFormationHistoryMetallicitySplit.xml +++ b/testSuite/parameters/starFormationHistoryMetallicitySplit.xml @@ -98,8 +98,8 @@ - - + + diff --git a/testSuite/test-star-formation-histories.py b/testSuite/test-star-formation-histories.py index dcb66bc7e6..b8694e8db3 100755 --- a/testSuite/test-star-formation-histories.py +++ b/testSuite/test-star-formation-histories.py @@ -33,7 +33,7 @@ else: print(" ...done") print(" Checking for errors...") - status = subprocess.run("grep -q -i -e fatal -e aborted -e \"Galacticus experienced an error in the GSL library\" outputs/test-star-formation-histories.log",shell=True) + status = subprocess.run("grep -q -i -e fatal -e aborted -e \"task failed\" -e \"Galacticus experienced an error in the GSL library\" outputs/test-star-formation-histories.log",shell=True) if status.returncode == 0: print(" ...done ("+str(status)+")") print(" FAILED: model run (errors):") From c82bce5f0b11bb87a7b8664ab25d2b4a4a3b0bd4 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Mon, 14 Oct 2024 08:25:34 -0700 Subject: [PATCH 28/34] fix: Adjust tolerance in tree building for test model --- testSuite/test-model-integration-beta.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/testSuite/test-model-integration-beta.xml b/testSuite/test-model-integration-beta.xml index 1b49105ac5..bc2d5f844d 100644 --- a/testSuite/test-model-integration-beta.xml +++ b/testSuite/test-model-integration-beta.xml @@ -88,6 +88,7 @@ + From 3bd6a7c16c869b56797e3a91cbe9158deb0d0487 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Mon, 14 Oct 2024 08:25:53 -0700 Subject: [PATCH 29/34] fix: Update all instances of recursive objet builds to use the updated approach to this --- ...r_halos.scales.virial_density_contrast.F90 | 42 ++--- ...k_matter_profiles.adiabatic_Gnedin2004.F90 | 67 +++----- ...on.virial_density_contrast.percolation.F90 | 146 ++++-------------- 3 files changed, 66 insertions(+), 189 deletions(-) diff --git a/source/dark_matter_halos.scales.virial_density_contrast.F90 b/source/dark_matter_halos.scales.virial_density_contrast.F90 index 421491af29..248cd427d4 100644 --- a/source/dark_matter_halos.scales.virial_density_contrast.F90 +++ b/source/dark_matter_halos.scales.virial_density_contrast.F90 @@ -93,26 +93,24 @@ contains - recursive function virialDensityContrastDefinitionParameters(parameters,recursiveConstruct,recursiveSelf) result(self) + recursive function virialDensityContrastDefinitionParameters(parameters) result(self) !!{ Constructor for the {\normalfont \ttfamily virialDensityContrastDefinition} dark matter halo scales class which takes a parameter set as input. !!} use :: Input_Parameters, only : inputParameter, inputParameters implicit none - type (darkMatterHaloScaleVirialDensityContrastDefinition), target :: self - type (inputParameters ), intent(inout) :: parameters - logical , intent(in ), optional :: recursiveConstruct - class (darkMatterHaloScaleClass ), intent(in ), optional :: recursiveSelf - class (cosmologyParametersClass ), pointer :: cosmologyParameters_ - class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ - class (virialDensityContrastClass ), pointer :: virialDensityContrast_ + type (darkMatterHaloScaleVirialDensityContrastDefinition), target :: self + type (inputParameters ), intent(inout) :: parameters + class (cosmologyParametersClass ), pointer :: cosmologyParameters_ + class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ + class (virialDensityContrastClass ), pointer :: virialDensityContrast_ !![ !!] - self=darkMatterHaloScaleVirialDensityContrastDefinition(cosmologyParameters_,cosmologyFunctions_,virialDensityContrast_,recursiveConstruct,recursiveSelf) + self=darkMatterHaloScaleVirialDensityContrastDefinition(cosmologyParameters_,cosmologyFunctions_,virialDensityContrast_) !![ @@ -122,20 +120,17 @@ recursive function virialDensityContrastDefinitionParameters(parameters,recursiv return end function virialDensityContrastDefinitionParameters - recursive function virialDensityContrastDefinitionInternal(cosmologyParameters_,cosmologyFunctions_,virialDensityContrast_,recursiveConstruct,recursiveSelf) result(self) + recursive function virialDensityContrastDefinitionInternal(cosmologyParameters_,cosmologyFunctions_,virialDensityContrast_) result(self) !!{ Default constructor for the {\normalfont \ttfamily virialDensityContrastDefinition} dark matter halo scales class. !!} use :: Error, only : Error_Report implicit none - type (darkMatterHaloScaleVirialDensityContrastDefinition) :: self - class (cosmologyParametersClass ), intent(in ), target :: cosmologyParameters_ - class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ - class (virialDensityContrastClass ), intent(in ), target :: virialDensityContrast_ - logical , intent(in ) , optional :: recursiveConstruct - class (darkMatterHaloScaleClass ), intent(in ), target, optional :: recursiveSelf + type (darkMatterHaloScaleVirialDensityContrastDefinition) :: self + class (cosmologyParametersClass ), intent(in ), target :: cosmologyParameters_ + class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ + class (virialDensityContrastClass ), intent(in ), target :: virialDensityContrast_ !![ - !!] @@ -148,17 +143,8 @@ recursive function virialDensityContrastDefinitionInternal(cosmologyParameters_, self%densityMeanTimeMinimum =-1.0d0 self%timePrevious =-1.0d0 self%massPrevious =-1.0d0 - self%isRecursive =recursiveConstruct_ - if (recursiveConstruct_) then - if (.not.present(recursiveSelf)) call Error_Report('recursiveSelf not present'//{introspection:location}) - select type (recursiveSelf) - class is (darkMatterHaloScaleVirialDensityContrastDefinition) - self%recursiveSelf => recursiveSelf - class default - call Error_Report('recursiveSelf is of incorrect class'//{introspection:location}) - end select - end if - self%parentDeferred=.false. + self%isRecursive =.false. + self%parentDeferred =.false. return end function virialDensityContrastDefinitionInternal diff --git a/source/dark_matter_profiles.adiabatic_Gnedin2004.F90 b/source/dark_matter_profiles.adiabatic_Gnedin2004.F90 index 4ee6a9e148..acf6d2d81d 100644 --- a/source/dark_matter_profiles.adiabatic_Gnedin2004.F90 +++ b/source/dark_matter_profiles.adiabatic_Gnedin2004.F90 @@ -183,27 +183,22 @@ contains - recursive function adiabaticGnedin2004ConstructorParameters(parameters,recursiveConstruct,recursiveSelf) result(self) + recursive function adiabaticGnedin2004ConstructorParameters(parameters) result(self) !!{ Default constructor for the {\normalfont \ttfamily adiabaticGnedin2004} dark matter halo profile class. !!} use :: Input_Parameters, only : inputParameters use :: Functions_Global, only : galacticStructureConstruct_, galacticStructureDestruct_ implicit none - type (darkMatterProfileAdiabaticGnedin2004) :: self - type (inputParameters ), intent(inout) :: parameters - logical , intent(in ), optional :: recursiveConstruct - class (darkMatterProfileClass ), intent(in ), optional :: recursiveSelf - class (cosmologyParametersClass ), pointer :: cosmologyParameters_ - class (darkMatterHaloScaleClass ), pointer :: darkMatterHaloScale_ - class (darkMatterProfileDMOClass ), pointer :: darkMatterProfileDMO_ - class (* ), pointer :: galacticStructure_ - type (varying_string ) :: nonAnalyticSolver - double precision :: A , omega , & - & radiusFractionalPivot, toleranceRelative - !![ - - !!] + type (darkMatterProfileAdiabaticGnedin2004) :: self + type (inputParameters ), intent(inout) :: parameters + class (cosmologyParametersClass ), pointer :: cosmologyParameters_ + class (darkMatterHaloScaleClass ), pointer :: darkMatterHaloScale_ + class (darkMatterProfileDMOClass ), pointer :: darkMatterProfileDMO_ + class (* ), pointer :: galacticStructure_ + type (varying_string ) :: nonAnalyticSolver + double precision :: A , omega , & + & radiusFractionalPivot, toleranceRelative !![ @@ -243,12 +238,8 @@ recursive function adiabaticGnedin2004ConstructorParameters(parameters,recursive !!] - if (recursiveConstruct_) then - galacticStructure_ => null() - else - call galacticStructureConstruct_(parameters,galacticStructure_) - end if - self=darkMatterProfileAdiabaticGnedin2004(A,omega,radiusFractionalPivot,toleranceRelative,enumerationNonAnalyticSolversEncode(char(nonAnalyticSolver),includesPrefix=.false.),cosmologyParameters_,darkMatterHaloScale_,darkMatterProfileDMO_,galacticStructure_,recursiveConstruct,recursiveSelf) + call galacticStructureConstruct_(parameters,galacticStructure_) + self=darkMatterProfileAdiabaticGnedin2004(A,omega,radiusFractionalPivot,toleranceRelative,enumerationNonAnalyticSolversEncode(char(nonAnalyticSolver),includesPrefix=.false.),cosmologyParameters_,darkMatterHaloScale_,darkMatterProfileDMO_,galacticStructure_) !![ @@ -259,24 +250,21 @@ recursive function adiabaticGnedin2004ConstructorParameters(parameters,recursive return end function adiabaticGnedin2004ConstructorParameters - function adiabaticGnedin2004ConstructorInternal(A,omega,radiusFractionalPivot,toleranceRelative,nonAnalyticSolver,cosmologyParameters_,darkMatterHaloScale_,darkMatterProfileDMO_,galacticStructure_,recursiveConstruct,recursiveSelf) result(self) + recursive function adiabaticGnedin2004ConstructorInternal(A,omega,radiusFractionalPivot,toleranceRelative,nonAnalyticSolver,cosmologyParameters_,darkMatterHaloScale_,darkMatterProfileDMO_,galacticStructure_) result(self) !!{ Generic constructor for the {\normalfont \ttfamily adiabaticGnedin2004} dark matter profile class. !!} use :: Error, only : Error_Report implicit none - type (darkMatterProfileAdiabaticGnedin2004) :: self - double precision , intent(in ) :: A , omega , & - & radiusFractionalPivot, toleranceRelative - class (cosmologyParametersClass ), intent(in ), target :: cosmologyParameters_ - class (darkMatterProfileDMOClass ), intent(in ), target :: darkMatterProfileDMO_ - class (darkMatterHaloScaleClass ), intent(in ), target :: darkMatterHaloScale_ - class (* ), intent(in ), target :: galacticStructure_ - type (enumerationNonAnalyticSolversType ), intent(in ) :: nonAnalyticSolver - logical , intent(in ) , optional :: recursiveConstruct - class (darkMatterProfileClass ), intent(in ), target, optional :: recursiveSelf + type (darkMatterProfileAdiabaticGnedin2004) :: self + double precision , intent(in ) :: A , omega , & + & radiusFractionalPivot, toleranceRelative + class (cosmologyParametersClass ), intent(in ), target :: cosmologyParameters_ + class (darkMatterProfileDMOClass ), intent(in ), target :: darkMatterProfileDMO_ + class (darkMatterHaloScaleClass ), intent(in ), target :: darkMatterHaloScale_ + class (* ), intent(in ), target :: galacticStructure_ + type (enumerationNonAnalyticSolversType ), intent(in ) :: nonAnalyticSolver !![ - !!] @@ -297,17 +285,8 @@ function adiabaticGnedin2004ConstructorInternal(A,omega,radiusFractionalPivot,to & toleranceAbsolute=toleranceAbsolute , & & toleranceRelative=toleranceRelative & & ) - ! Handle recursive construction. - self%isRecursive=recursiveConstruct_ - if (recursiveConstruct_) then - if (.not.present(recursiveSelf)) call Error_Report('recursiveSelf not present'//{introspection:location}) - select type (recursiveSelf) - class is (darkMatterProfileAdiabaticGnedin2004) - self%recursiveSelf => recursiveSelf - class default - call Error_Report('recursiveSelf is of incorrect class'//{introspection:location}) - end select - end if + ! Set recursive properties. + self%isRecursive =.false. self%parentDeferred=.false. return end function adiabaticGnedin2004ConstructorInternal diff --git a/source/structure_formation.virial_density_contrast.percolation.F90 b/source/structure_formation.virial_density_contrast.percolation.F90 index 7b75c66fdf..9386307b3d 100644 --- a/source/structure_formation.virial_density_contrast.percolation.F90 +++ b/source/structure_formation.virial_density_contrast.percolation.F90 @@ -57,7 +57,6 @@ logical :: isRecursive , parentDeferred class (virialDensityContrastPercolation), pointer :: recursiveSelf => null() class (* ), pointer :: percolationObjects_ => null() - integer (kind_int8 ) :: selfID ! Tabulation of density contrast vs. time and mass. double precision :: densityContrastTableTimeMinimum , densityContrastTableTimeMaximum double precision :: densityContrastTableMassMinimum , densityContrastTableMassMaximum @@ -104,13 +103,9 @@ double precision :: densityContrastCurrent =-1.0d0 !$omp threadprivate(densityContrastCurrent,solving) - ! Unique ID used to identify parent-child recursive relationships. - integer (kind_int8) :: ID =0_kind_int8, IDRecursive=-1_kind_int8 - !$omp threadprivate(IDRecursive) - contains - recursive function percolationConstructorParameters(parameters,recursiveConstruct,recursiveSelf) result(self) + recursive function percolationConstructorParameters(parameters) result(self) !!{ Constructor for the {\normalfont \ttfamily percolation} dark matter halo virial density contrast class that takes a parameter set as input. !!} @@ -118,16 +113,11 @@ recursive function percolationConstructorParameters(parameters,recursiveConstruc use :: Functions_Global , only : Virial_Density_Contrast_Percolation_Objects_Constructor_ use :: Input_Parameters , only : inputParameter , inputParameters implicit none - type (virialDensityContrastPercolation) :: self - type (inputParameters ), intent(inout) :: parameters - logical , intent(in ), optional :: recursiveConstruct - class (virialDensityContrastClass ), intent(in ), optional :: recursiveSelf - class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ - class (* ), pointer :: percolationObjects_ - double precision :: linkingLength - !![ - - !!] + type (virialDensityContrastPercolation) :: self + type (inputParameters ), intent(inout) :: parameters + class (cosmologyFunctionsClass ), pointer :: cosmologyFunctions_ + class (* ), pointer :: percolationObjects_ + double precision :: linkingLength !![ @@ -138,16 +128,9 @@ recursive function percolationConstructorParameters(parameters,recursiveConstruc !!] - ! Build a pointer to a container object which stores all objects needed by the percolation density solver. If this construct - ! has been called recursively, then instead set this to null - recursive construction can happen as some objects used in - ! solving for percolation density (e.g. dark matter profiles) themselves require a virial density contrast object. By setting - ! this pointer to null we avoid circular dependencies between functionClass objects which lead to memory leaks. - if (recursiveConstruct_) then - percolationObjects_ => null() - else - percolationObjects_ => Virial_Density_Contrast_Percolation_Objects_Constructor_(parameters) - end if - self=virialDensityContrastPercolation(linkingLength,cosmologyFunctions_,percolationObjects_,recursiveSelf) + ! Build a pointer to a container object which stores all objects needed by the percolation density solver. + percolationObjects_ => Virial_Density_Contrast_Percolation_Objects_Constructor_(parameters) + self=virialDensityContrastPercolation(linkingLength,cosmologyFunctions_,percolationObjects_) !![ @@ -156,7 +139,7 @@ recursive function percolationConstructorParameters(parameters,recursiveConstruc return end function percolationConstructorParameters - recursive function percolationConstructorInternal(linkingLength,cosmologyFunctions_,percolationObjects_,recursiveSelf) result(self) + recursive function percolationConstructorInternal(linkingLength,cosmologyFunctions_,percolationObjects_) result(self) !!{ Internal constructor for the {\normalfont \ttfamily percolation} dark matter halo virial density contrast class. !!} @@ -165,11 +148,10 @@ recursive function percolationConstructorInternal(linkingLength,cosmologyFuncti use :: ISO_Varying_String, only : operator(//) use :: Input_Parameters , only : inputParameter, inputParameters implicit none - type (virialDensityContrastPercolation) :: self - double precision , intent(in ) :: linkingLength - class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ - class (* ), intent(in ), target :: percolationObjects_ - class (virialDensityContrastClass ), intent(in ), target, optional :: recursiveSelf + type (virialDensityContrastPercolation) :: self + double precision , intent(in ) :: linkingLength + class (cosmologyFunctionsClass ), intent(in ), target :: cosmologyFunctions_ + class (* ), intent(in ), target :: percolationObjects_ !![ !!] @@ -190,41 +172,8 @@ recursive function percolationConstructorInternal(linkingLength,cosmologyFuncti self%densityContrastTableRemakeCount= 0 self%densityContrastLockInitialized =.true. !$ call OMP_Init_Lock(self%densityContrastTableLock) - ! Check if we have been given a percolation objects container. If not, we expect that we are being built recursively, in which - ! case we require a pointer to the originating object under construction. - if (.not.associated(self%percolationObjects_)) then - if (.not.present(recursiveSelf)) call Error_Report('for recursive construction a pointer to the originating object is required'//{introspection:location}) - select type (recursiveSelf) - class is (virialDensityContrastPercolation) - self%recursiveSelf => recursiveSelf - self%isRecursive = .true. - class default - call Error_Report('originating object is of incorrect class'//{introspection:location}) - end select - ! Generate a new ID. - !$omp critical (percolationIDIncrement) - ID =ID+1_kind_int8 - self %selfID=ID - if (ID == -1_kind_int8) call Error_Report('ran out of IDs for percolation class'//{introspection:location}) - !$omp end critical (percolationIDIncrement) - IDRecursive =self%selfID - else - self%recursiveSelf => null() - self%isRecursive = .false. - ! Get a unique ID. - if (IDRecursive == -1_kind_int8) then - ! Generate a new ID. - !$omp critical (percolationIDIncrement) - ID =ID+1_kind_int8 - self %selfID=ID - if (ID == -1_kind_int8) call Error_Report('ran out of IDs for percolation class'//{introspection:location}) - !$omp end critical (percolationIDIncrement) - else - ! An ID was already set during recursive construction. - self %selfID=IDRecursive - IDRecursive =-1_kind_int8 - end if - end if + ! Set recursive properties. + self%isRecursive =.false. self%parentDeferred=.false. return end function percolationConstructorInternal @@ -346,58 +295,30 @@ double precision function percolationDensityContrast(self,mass,time,expansionFac !!{ Return the virial density contrast at the given epoch, based on the percolation algorithm of \cite{more_overdensity_2011}. !!} - use :: Error, only : Error_Report implicit none class (virialDensityContrastPercolation), intent(inout) :: self double precision , intent(in ) :: mass - double precision , intent(in ) , optional :: time , expansionFactor + double precision , intent(in ) , optional :: time , expansionFactor logical , intent(in ) , optional :: collapsing double precision :: timeActual - logical :: useSolverCurrent, useTable , & - & mustRetabulate + ! Call the recursive copy if necessary. + if (self%isRecursive) then + percolationDensityContrast=self%recursiveSelf%densityContrast(mass,time,expansionFactor,collapsing) + return + end if ! Get the time to use. if (.not.solving) timeActual=self%cosmologyFunctions_%epochTime(time,expansionFactor,collapsing) - ! Initialize choices for how we will compute the density contrast. - useSolverCurrent=.false. - useTable =.false. ! Determine how to compute density contrast. - if (self%isRecursive) then - if (solving) then - ! Currently solving for solutions - return the current guess. - if (self%selfID /= self%recursiveSelf%selfID) call Error_Report('recursively-constructed percolation class object ID does not match that of actively solving object'//{introspection:location}) - useSolverCurrent=.true. - else - ! Not solving for solutions - if our table is sufficient (ensure it is up to date first), use it, otherwise request that - ! the parent self performs the calculation (in which case it will update its table, and we can later copy it). - call percolationCopyTable(self) - !$ call OMP_Set_Lock(self%densityContrastTableLock) - call self%tabulate(mass,timeActual,mustRetabulate) - !$ call OMP_Unset_Lock(self%densityContrastTableLock) - if (mustRetabulate) then - percolationDensityContrast=self%recursiveSelf%densityContrast(mass,time,expansionFactor,collapsing) - return - else - useTable=.true. - end if - end if - else if (solving) then + if (solving) then ! Currently solving for solutions - return the current guess. - useSolverCurrent=.true. + percolationDensityContrast=densityContrastCurrent else ! Use our tabulated solution. - useTable =.true. - end if - ! Provide a result based on the chosen method. - if (useSolverCurrent) then - percolationDensityContrast=densityContrastCurrent - else if (useTable) then !$ call OMP_Set_Lock(self%densityContrastTableLock) call self%tabulate(mass,timeActual) percolationDensityContrast=self%densityContrastTable%interpolate(mass,timeActual) !$ call OMP_Unset_Lock(self%densityContrastTableLock) - else - call Error_Report('no method selected to compute density contrast'//{introspection:location}) end if return end function percolationDensityContrast @@ -416,21 +337,13 @@ double precision function percolationDensityContrastRateOfChange(self,mass,time, double precision :: timeActual logical :: mustRetabulate - ! Get the time to use. - timeActual=self%cosmologyFunctions_%epochTime(time,expansionFactor,collapsing) - ! Determine how to compute density contrast. + ! Call the recursive copy if necessary. if (self%isRecursive) then - call percolationCopyTable (self) - ! If our table is sufficient, use it, otherwise request that the parent self performs the calculation (in which case it - ! will update its table, and we can later copy it). - !$ call OMP_Set_Lock(self%densityContrastTableLock) - call self%tabulate(mass,timeActual,mustRetabulate) - !$ call OMP_Unset_Lock(self%densityContrastTableLock) - if (mustRetabulate) then - percolationDensityContrastRateOfChange=self%recursiveSelf%densityContrastRateOfChange(mass,time,expansionFactor,collapsing) - return - end if + percolationDensityContrastRateOfChange=self%recursiveSelf%densityContrastRateOfChange(mass,time,expansionFactor,collapsing) + return end if + ! Get the time to use. + timeActual=self%cosmologyFunctions_%epochTime(time,expansionFactor,collapsing) ! Compute the solution. !$ call OMP_Set_Lock(self%densityContrastTableLock) call self%tabulate(mass,timeActual) @@ -520,7 +433,6 @@ subroutine percolationDeepCopy(self,destination) destination%densityContrastTableInitialized=self%densityContrastTableInitialized destination%densityContrastTable =self%densityContrastTable destination%densityContrastTableRemakeCount=self%densityContrastTableRemakeCount - destination%selfID =self%selfID destination%parentDeferred =.false. if (self%isRecursive) then if (associated(self%recursiveSelf%recursiveSelf)) then From 09936f2e11fc8b607a0e339671c24d7b57bde0fa Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Mon, 14 Oct 2024 09:46:21 -0700 Subject: [PATCH 30/34] fix: Remove obsoleted variable --- ...on.virial_density_contrast.percolation.F90 | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/source/structure_formation.virial_density_contrast.percolation.F90 b/source/structure_formation.virial_density_contrast.percolation.F90 index 9386307b3d..f06352d0a1 100644 --- a/source/structure_formation.virial_density_contrast.percolation.F90 +++ b/source/structure_formation.virial_density_contrast.percolation.F90 @@ -195,7 +195,7 @@ subroutine percolationDestructor(self) return end subroutine percolationDestructor - subroutine percolationTabulate(self,mass,time,mustRetabulate) + subroutine percolationTabulate(self,mass,time) !!{ Tabulate virial density contrast as a function of mass and time for the {\normalfont \ttfamily percolation} density contrast class. !!} @@ -204,13 +204,12 @@ Tabulate virial density contrast as a function of mass and time for the {\normal use :: Functions_Global, only : Virial_Density_Contrast_Percolation_Solver_ use :: Error , only : Error_Report implicit none - class (virialDensityContrastPercolation), intent(inout) :: self - double precision , intent(in ) :: mass , time - logical , intent( out), optional :: mustRetabulate - integer :: iMass , iTime , & - & iCount - logical :: makeTable - double precision :: tableMass , tableTime + class (virialDensityContrastPercolation), intent(inout) :: self + double precision , intent(in ) :: mass , time + integer :: iMass , iTime , & + & iCount + logical :: makeTable + double precision :: tableMass, tableTime ! Always check if we need to make the table. makeTable=.true. @@ -241,11 +240,6 @@ Tabulate virial density contrast as a function of mass and time for the {\normal self%densityContrastTableTimeMinimum=min(self%densityContrastTableTimeMinimum,0.5d0*time) self%densityContrastTableTimeMaximum=max(self%densityContrastTableTimeMaximum,2.0d0*time) end if - ! If we are just being asked to determine remake status, return that now. - if (present(mustRetabulate)) then - mustRetabulate=makeTable - return - end if ! Remake the table is necessary. if (makeTable) then ! Check that we have a pointer to the required objects. @@ -335,7 +329,6 @@ double precision function percolationDensityContrastRateOfChange(self,mass,time, double precision , intent(in ) , optional :: time , expansionFactor logical , intent(in ) , optional :: collapsing double precision :: timeActual - logical :: mustRetabulate ! Call the recursive copy if necessary. if (self%isRecursive) then From a1c0f7ef58ab25d12ef1b5bdc11e5170402b88be Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Tue, 15 Oct 2024 15:23:20 -0700 Subject: [PATCH 31/34] fix: Restore original behavior of branch jump times This reverts a change made during development of the `starFormationHistoryFixedAges` class. That change resulted in deadlocks in trees, and is not actually needed. --- source/merger_trees.construct.read.F90 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/merger_trees.construct.read.F90 b/source/merger_trees.construct.read.F90 index 288f3a3564..8e7d29f62e 100644 --- a/source/merger_trees.construct.read.F90 +++ b/source/merger_trees.construct.read.F90 @@ -2831,6 +2831,7 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) currentHost => readLastHostDescendant(nodes(iNode)) ! Add a jump if the tree ends before the descendant time. if (currentHost%nodeTime <= nodes(iNode)%descendant%nodeTime) then + timeOfJump = currentHost%nodeTime jumpToHost => nodes(iNode)%descendant%host do while (jumpToHost%isSubhalo) if (.not.self%warningNestedHierarchyIssued) then @@ -2843,7 +2844,6 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) end if jumpToHost => jumpToHost%host end do - timeOfJump=jumpToHost%nodeTime call readCreateBranchJumpEvent( & & nodeList(iIsolatedNode )%node, & & nodeList(jumpToHost%primaryIsolatedNodeIndex)%node, & @@ -2939,18 +2939,18 @@ subroutine readScanForBranchJumps(self,nodes,nodeList) end if ! If a jump was detected, create an event. if (subhaloJumps) then - jumpToHost => descendantNode%descendant%host if (timeOfJump < 0.0d0) & - & timeOfJump=jumpToHost%nodeTime + & timeOfJump=descendantNode%nodeTime + jumpToHost => descendantNode%descendant%host ! Find an isolated host. do while (jumpToHost%isSubhalo) jumpToHost => jumpToHost%host end do call readCreateBranchJumpEvent( & - & nodeList(iIsolatedNode )%node, & - & nodeList(jumpToHost%primaryIsolatedNodeIndex)%node, & - & timeOfJump & - & ) + & nodeList(iIsolatedNode )%node, & + & nodeList(jumpToHost%primaryIsolatedNodeIndex)%node, & + & timeOfJump & + & ) end if ! Move to the descendant. previousNode => descendantNode From 7a5685be3a5f1f65648ec99e5f7b0b21a88fd518 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Tue, 15 Oct 2024 15:24:40 -0700 Subject: [PATCH 32/34] fix: Allow some tolerance in when we process a lightcone crossing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow some tolerance in the time at which a lightcone crossing halo is output.This is necessary as a node's evolution could be stopped very close to (but not quite at) the crossing time, and in some cases the crossing time would then not be rediscovered on the next time step (due to numerical precision). Using an absolute tolerance of 10⁻⁹ Gyr means that we at most get the position of the galaxy on the lightcone wrong by 1 light year - a tiny amount. --- ...erger_trees.evolve.timesteps.lightcone_crossing.F90 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 b/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 index 50528e8fec..ea897ff24f 100644 --- a/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 +++ b/source/merger_trees.evolve.timesteps.lightcone_crossing.F90 @@ -159,7 +159,8 @@ subroutine lightconeCrossingProcess(self,tree,node,deadlockStatus) !!} use :: Error , only : Error_Report use :: Merger_Trees_Evolve_Deadlock_Status, only : deadlockStatusIsNotDeadlocked - use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Galacticus_Nodes , only : nodeComponentBasic + use :: Numerical_Comparison , only : Values_Agree implicit none class(* ), intent(inout) :: self type (mergerTree ), intent(in ) :: tree @@ -171,7 +172,12 @@ subroutine lightconeCrossingProcess(self,tree,node,deadlockStatus) select type (self) class is (mergerTreeEvolveTimestepLightconeCrossing) basic => node%basic() - if (basic%time() == self%timeCrossing) then + ! Only output this node if evolution actually reached the time of lightcone crossing. Allow some small tolerance here - + ! this is necessary as a node's evolution could be stopped very close to (but not quite at) the crossing time, and in some + ! cases the crossing time would then not be rediscovered on the next time step (due to numerical precision). Using an + ! absolute tolerance of 1.0e-9 Gyr means that we at most get the position of the galaxy on the lightcone wrong by 1 light + ! year - a tiny amount. + if (Values_Agree(basic%time(),self%timeCrossing,absTol=1.0d-9)) then call self%mergerTreeOutputter_%outputNode(node,1_c_size_t) ! The tree was changed, so mark that it is not deadlocked. deadlockStatus=deadlockStatusIsNotDeadlocked From e3f3679d3e85c4ed7e9218142a97d93af08f6227 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Tue, 15 Oct 2024 15:26:18 -0700 Subject: [PATCH 33/34] fix: Improve error messages --- .../star_formation.histories.fixed_ages.F90 | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/source/star_formation.histories.fixed_ages.F90 b/source/star_formation.histories.fixed_ages.F90 index e4a4dc2d1b..2c313480f7 100644 --- a/source/star_formation.histories.fixed_ages.F90 +++ b/source/star_formation.histories.fixed_ages.F90 @@ -327,21 +327,21 @@ subroutine fixedAgesCreate(self,node,historyStarFormation,timeBegin,timeEnd) ! Validate consistency in the lightcone crossing times. if (size(timesNodeCrossing) /= size(timesNodeCrossingPrevious)) then write (label,'(e16.10)') basic%time() - call displayIndent(var_str("number of crossing times has changed for node ")//node%index()//' at time '//trim(adjustl(label))//' Gye') + call displayIndent(var_str("number of crossing times has changed for node ")//node%index()//' at time '//trim(adjustl(label))//' Gyr') call displayMessage("times (new | old) are:") do i=1,max(size(timesNodeCrossing),size(timesNodeCrossingPrevious)) if (i <= size(timesNodeCrossing)) then write (label,'(e16.10)') timesNodeCrossing (i) message= label else - message= " " + message= " " end if message=message//" | " if (i <= size(timesNodeCrossingPrevious)) then write (label,'(e16.10)') timesNodeCrossingPrevious(i) message=message//label else - message=message//" " + message=message//" " end if call displayMessage(message) end do @@ -650,6 +650,8 @@ function fixedAgesTimes(self,node,indexOutput,starFormationHistory,allowTruncati use :: Galacticus_Nodes , only : nodeComponentBasic use :: Error , only : Error_Report use :: Numerical_Comparison, only : Values_Agree + use :: ISO_Varying_String , only : varying_string , assignment(=), operator(//) + use :: String_Handling , only : operator(//) implicit none double precision , allocatable , dimension(:) :: times class (starFormationHistoryFixedAges), intent(inout) :: self @@ -660,6 +662,8 @@ function fixedAgesTimes(self,node,indexOutput,starFormationHistory,allowTruncati double precision , intent( out), optional :: timeStart double precision , allocatable , dimension(:) :: timesCrossing , times_ class (nodeComponentBasic ), pointer :: basic + type (varying_string ) :: message + character (len=16 ) :: label !![ !!] @@ -672,7 +676,13 @@ function fixedAgesTimes(self,node,indexOutput,starFormationHistory,allowTruncati ! Check that the current time matches the next tabulated time. basic => node %basic ( ) timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) - if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) call Error_Report("time does not match expected time"//{introspection:location}) + if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) then + write (label,'(e16.10)') basic%time ( ) + message="time ("//label//") " + write (label,'(e16.10)') timesCrossing(1) + message=message//"does not match expected time ("//label//") for node "//node%index() + call Error_Report(message//{introspection:location}) + end if ! Set the times for this output. Note that the times stored in the history object are relative to t=0, so we increment them by ! the actual crossing time. if (allowTruncation_) then @@ -700,6 +710,8 @@ function fixedAgesMasses(self,node,starFormationHistory,allowTruncation) result( use :: Galacticus_Nodes , only : nodeComponentBasic use :: Error , only : Error_Report use :: Numerical_Comparison, only : Values_Agree + use :: ISO_Varying_String , only : varying_string , assignment(=), operator(//) + use :: String_Handling , only : operator(//) implicit none double precision , allocatable , dimension(:,:) :: masses class (starFormationHistoryFixedAges), intent(inout) :: self @@ -708,7 +720,9 @@ function fixedAgesMasses(self,node,starFormationHistory,allowTruncation) result( logical , intent(in ), optional :: allowTruncation double precision , allocatable , dimension(: ) :: timesCrossing , times_ class (nodeComponentBasic ), pointer :: basic - !![ + type (varying_string ) :: message + character (len=16 ) :: label + !![ !!] @@ -720,7 +734,13 @@ function fixedAgesMasses(self,node,starFormationHistory,allowTruncation) result( ! Check that the current time matches the next tabulated time. basic => node %basic ( ) timesCrossing = basic%floatRank1MetaPropertyGet(self%timesCrossingID) - if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) call Error_Report("time does not match expected time"//{introspection:location}) + if (.not.Values_Agree(basic%time(),timesCrossing(1),relTol=1.0d-6)) then + write (label,'(e16.10)') basic%time ( ) + message="time ("//label//") " + write (label,'(e16.10)') timesCrossing(1) + message=message//"does not match expected time ("//label//") for node "//node%index() + call Error_Report(message//{introspection:location}) + end if ! Set the times for this output. Note that the times stored in the history object are relative to t=0, so we increment them by ! the actual crossing time. if (allowTruncation_) then From 8c90b8ff6e7cd158cf3e79f84a3211a6726263f4 Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Tue, 15 Oct 2024 15:26:37 -0700 Subject: [PATCH 34/34] fix: Do not interrupt differential evolution if the interrupt occurs precisely at the end of the timestep and there is an end of timestep task to be performed --- source/merger_trees.evolver.standard.F90 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/merger_trees.evolver.standard.F90 b/source/merger_trees.evolver.standard.F90 index 070865750c..ed1eb4007e 100644 --- a/source/merger_trees.evolver.standard.F90 +++ b/source/merger_trees.evolver.standard.F90 @@ -457,8 +457,16 @@ subroutine standardEvolve(self,tree,timeEnd,treeDidEvolve,suspendTree,deadlockRe end if end if ! Check for interrupt. - if (interrupted) then - ! If an interrupt occurred call the specified procedure to handle it. + if ( & + & interrupted & ! An interrupt occured. + & .and. & + & ( & + & basic%time() < timeEndThisNode & ! The end of the timestep was not reached. + & .or. & + & .not.(associated(timestepTask_).and.associated(node)) & ! No end of timestep task is possible. + & ) & + & ) then + ! If an interrupt occurred call the specified procedure to handle it. call interruptProcedure(node,timeEnd) ! Something happened so the tree is not deadlocked. statusDeadlock=deadlockStatusIsNotDeadlocked