From 9476908639aa0432dc8db7e31d58cba485d184ad Mon Sep 17 00:00:00 2001 From: wyq Date: Fri, 22 Mar 2024 14:10:30 +0800 Subject: [PATCH] add _eof sub-package for EOF analysis --- .../org/meteoinfo/chart/geo/MapGridLine.java | 6 +- .../java/org/meteoinfo/chart/geo/MapPlot.java | 8 +- .../org/meteoinfo/common/util/GlobalUtil.java | 2 +- meteoinfo-lab/milconfig.xml | 26 +- .../pylib/mipylib/meteolib/__init__$py.class | Bin 3076 -> 3144 bytes .../pylib/mipylib/meteolib/__init__.py | 4 +- meteoinfo-lab/pylib/mipylib/meteolib/_eof.py | 740 ++++++++++++++++++ .../pylib/mipylib/meteolib/meteo$py.class | Bin 33860 -> 33853 bytes meteoinfo-lab/pylib/mipylib/meteolib/meteo.py | 2 +- .../pylib/mipylib/numeric/core/_ndarray.py | 42 +- .../mipylib/numeric/core/numeric$py.class | Bin 146314 -> 147554 bytes .../pylib/mipylib/numeric/core/numeric.py | 31 + .../pylib/mipylib/plotlib/_axes$py.class | Bin 232670 -> 232329 bytes meteoinfo-lab/pylib/mipylib/plotlib/_axes.py | 49 +- .../pylib/mipylib/plotlib/_mapaxes$py.class | Bin 89674 -> 89015 bytes .../pylib/mipylib/plotlib/_mapaxes.py | 38 +- .../org/meteoinfo/map/forms/FrmMeteoData.java | 8 +- .../org/meteoinfo/ndarray/math/ArrayMath.java | 104 +++ 18 files changed, 981 insertions(+), 79 deletions(-) create mode 100644 meteoinfo-lab/pylib/mipylib/meteolib/_eof.py diff --git a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapGridLine.java b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapGridLine.java index e86cb0d0..1d1a7668 100644 --- a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapGridLine.java +++ b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapGridLine.java @@ -24,8 +24,8 @@ import java.util.stream.Collectors; public class MapGridLine extends GridLine { protected ProjectionInfo projInfo; - protected Extent extent; - protected Extent lonLatExtent; + protected Extent extent = new Extent(-100, 100, -100, 100); + protected Extent lonLatExtent = new Extent(-180, 180, -90, 90); protected List longitudeLocations; protected List latitudeLocations; protected boolean fixLocations = false; @@ -476,7 +476,7 @@ public class MapGridLine extends GridLine { for (GridLabel aGL : tLabels) { if (!aGL.isBorder()) { if (aGL.isLongitude()) { - if (Math.abs(aGL.getCoord().X) < 1000 && Math.abs(aGL.getCoord().Y) < 1000) { + if (Math.abs(aGL.getCoord().X) < 100000 && Math.abs(aGL.getCoord().Y) < 100000) { continue; } diff --git a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapPlot.java b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapPlot.java index 70ca813d..67558c2f 100644 --- a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapPlot.java +++ b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/geo/MapPlot.java @@ -757,12 +757,10 @@ public class MapPlot extends Plot2D implements IWebMapPanel { */ @Override public void setDrawExtent(Extent extent) { - if (!this.fixDrawExtent) { - super.setDrawExtent(extent); + super.setDrawExtent(extent); - if (!this.isLonLatMap()) { - ((MapGridLine) this.gridLine).setExtent(extent); - } + if (!this.isLonLatMap()) { + ((MapGridLine) this.gridLine).setExtent(extent); } } diff --git a/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java b/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java index 9951cd38..aa3c2bc5 100644 --- a/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java +++ b/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java @@ -67,7 +67,7 @@ import java.util.zip.ZipInputStream; public static String getVersion(){ String version = GlobalUtil.class.getPackage().getImplementationVersion(); if (version == null || version.equals("")) { - version = "3.8.1"; + version = "3.8.2"; } return version; } diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml index 1b040270..6fd07f0d 100644 --- a/meteoinfo-lab/milconfig.xml +++ b/meteoinfo-lab/milconfig.xml @@ -1,33 +1,37 @@ - - - - - - - - + + + + + + + + + + - + + + - + @@ -36,5 +40,5 @@
- + diff --git a/meteoinfo-lab/pylib/mipylib/meteolib/__init__$py.class b/meteoinfo-lab/pylib/mipylib/meteolib/__init__$py.class index ed5111b99e20c4e80fce382c5eaa8eec6ba1bc0a..90febd028f394dc5045600ad48d36c1aa0de3b73 100644 GIT binary patch delta 1071 zcmZ`&Nl#Nz6#njeuYCi>lqZnJgh&WhXc;U{sNle$qKF6Lw32t1u&<%KQi^fD)oco>OJHtEoz6sAqkMU{Y?Rx-qc>2o7 zm&z3@5+Bg8j-fc77_1!`x6j3gYy0DgNNwkMdo*dQSkD7e39F>DNbj~2(cwWAem*2M zY1ODPP=#7PCsh>%P-mb58yQr~3ddrWrC~GwDK(aEMZEz9+ZggJYcOJmZ98FEF6nUBcK+=>t|QoV241tj&ccH0zYy!eIVCpo+cxv+ULOqfN&?9N-IbL%|^i zxuUYig#Zp4=s+hwsBB$z)P*i|>jFGARGF3k=5v$Kqp- zHV@?l&~A`D;6fN@gm#W$4G%jD_4au9Y$T!LJpbY7(P9`fZ~?=-%h{rhU{sV#@aIm8 zjqwF%zjhhp1}@E18jKJZTM8N1KFYr#N}W@fkr37Qz0 zF3TgvB6Jcm@-sXH*d*Bw!d7nUCsNKdG}G%>GI0Cd8X50U5z^-23(2OL!G`XTVtTUZ zFpVra&9W@2X1TyQZ0hivTdLD2WgULEP9?}pV>@{b0--lnTWRe1L-V`IzeGxrvup)c z-d`4x%2yz{{v~;rCrNM6I*WrdvwvK>Gu95`#n##r4vK z=JrRwKz=sE>zl(7-)kI`<#`kzs`8sBWLcgin=!e-jSPBUqwf{vi?;L(mh#<%jC{&0 z`esgL!#etLb}3v+#YMRA9fBb45b-uOxYLFS PObX=y?&6+Ml9>7p;C#`l delta 1018 zcmZuwNmCP15dPjwl9>#_!T~f=X|Rjai{im@#7}|<#;irWlDUj zw865S!O34Tr%k~QLElJDSwRsWmTFZuJQ|8o!WSe@z85<+xKPHRm}VdpGEEh`DCiBw zBY|*`p_DJMZ2n5h;VqJ_pwfXo*sH;UeGD0+K(jUyeq+-O*Uk+cKh{o`08J8AoxLhu$RHOMwL9QNlZF#$=53aJYg!#>!6`cooEB5Qu;w|`s&KStC={$wafW}kyx0Bc z(8%qa0}Sm#dV$}y`f{n%iw2G29tTWZ6zmfJVcpCw^F?dBdIeWC^dZF0+v?Q_qQaw} zzqOex&Q+yby@p{8L%7Zdm2iQ9TMT*sPSiRSi3GYrK?QfXthQRms^57$yhDA>9`c`R zTbV(VFpNTiDh8n?I>lQO+6WolGdu=ZBgIz2Y<|byF{&h>&cWqZ=TYdFbv=nv!*9`@ zDYWWZ3T=9R3Ke~uz*&?xyY<~A32b4_?ktroC`_P&ZZ!hID@)7-4*r(8v+RG1@>fJh zSF5P{kJYvn)hdzn0d>>xP10ZtPw44_oqyBTk1E7fI(9l57$GRquTR$ty@-)Sa$!oKa#Q7O?PLWc0(;}Davj`d8S*Fn``idR_bS-DMkT+%P zkuwLwuXoQPm_Tn5;o>9)(q?wVFt{w&Q&zMU-AH02ZO3o}H$|RLWw-`zPqOrMPpQ*h zNK3Ryivoiw0v>_>J|j(+sP+FdwC-nAEnx!B2{)4PE;YF4!x-)h(tvS15M&S&zW^{& B#@GM= diff --git a/meteoinfo-lab/pylib/mipylib/meteolib/__init__.py b/meteoinfo-lab/pylib/mipylib/meteolib/__init__.py index 8c3b3e41..2af2a97b 100644 --- a/meteoinfo-lab/pylib/mipylib/meteolib/__init__.py +++ b/meteoinfo-lab/pylib/mipylib/meteolib/__init__.py @@ -3,8 +3,10 @@ from .wrf import * from . import constants from .calc import * from .interpolate import * +from ._eof import * __all__ = ['wrf','constants','meteo','calc','interpolate'] __all__ += meteo.__all__ __all__ += calc.__all__ -__all__ += interpolate.__all__ \ No newline at end of file +__all__ += interpolate.__all__ +__all__ += _eof.__all__ \ No newline at end of file diff --git a/meteoinfo-lab/pylib/mipylib/meteolib/_eof.py b/meteoinfo-lab/pylib/mipylib/meteolib/_eof.py new file mode 100644 index 00000000..b8333d1d --- /dev/null +++ b/meteoinfo-lab/pylib/mipylib/meteolib/_eof.py @@ -0,0 +1,740 @@ +import mipylib.numeric as np +import warnings + +__all__ = ['EOF','varimax'] + + +class EOF(object): + """EOF analysis""" + + def __init__(self, dataset, weights=None, center=True, ddof=1): + """ + The EOF solution is computed at initialization time. Method + calls are used to retrieve computed quantities. + + **Arguments:** + + *dataset* + A `NDArray` with two or more dimensions containing the data to be analysed. + The first dimension is assumed to represent time. Missing + values are permitted, in the form of `nan` values. Missing values must be constant + with time (e.g., values of an oceanographic field over land). + + **Optional arguments:** + + *weights* + An array of weights whose shape is compatible with those of + the input array *dataset*. The weights can have the same + shape as *dataset* or a shape compatible with an array + broadcast (i.e., the shape of the weights can can match the + rightmost parts of the shape of the input array *dataset*). + If the input array *dataset* does not require weighting then + the value *None* may be used. Defaults to *None* (no + weighting). + + *center* + If *True*, the mean along the first axis of *dataset* (the + time-mean) will be removed prior to analysis. If *False*, + the mean along the first axis will not be removed. Defaults + to *True* (mean is removed). + + The covariance interpretation relies on the input data being + anomaly data with a time-mean of 0. Therefore, this option + should usually be set to *True*. Setting this option to + *True* has the useful side effect of propagating missing + values along the time dimension, ensuring that a solution + can be found even if missing values occur in different + locations at different times. + + *ddof* + 'Delta degrees of freedom'. The divisor used to normalize + the covariance matrix is *N - ddof* where *N* is the + number of samples. Defaults to *1*. + + **Returns:** + + *solver* + An `Eof` instance. + """ + # Store the input data in an instance variable. + if dataset.ndim < 2: + raise ValueError('the input data set must be ' + 'at least two dimensional') + self._data = dataset.copy() + + # Store information about the shape/size of the input data. + self._records = self._data.shape[0] + self._originalshape = self._data.shape[1:] + channels = np.prod(self._originalshape) + + # Weight the data set according to weighting argument. + if weights is not None: + try: + # The broadcast_arrays call returns a list, so the second index + # is retained, but also we want to remove the time dimension + # from the weights so the first index from the broadcast + # array is taken. + self._weights = np.broadcast_arrays( + self._data[0:1], weights)[1][0] + self._data = self._data * self._weights + except ValueError: + raise ValueError('weight array dimensions are incompatible') + except TypeError: + raise TypeError('weights are not a valid type') + else: + self._weights = None + + # Remove the time mean of the input data unless explicitly told + # not to by the "center" argument. + self._centered = center + if center: + self._data = self._center(self._data) + + # Reshape to two dimensions (time, space) creating the design matrix. + self._data = self._data.reshape([self._records, channels]) + + # Find the indices of values that are not missing in one row. All the + # rows will have missing values in the same places provided the + # array was centered. If it wasn't then it is possible that some + # missing values will be missed and the singular value decomposition + # will produce not a number for everything. + if not self._valid_nan(self._data): + raise ValueError('missing values detected in different ' + 'locations at different times') + nonMissingIndex = np.where(np.logical_not(np.isnan(self._data[0])))[0] + + # Remove missing values from the design matrix. + dataNoMissing = self._data[:, nonMissingIndex] + if dataNoMissing.size == 0: + raise ValueError('all input data is missing') + + # Compute the singular value decomposition of the design matrix. + try: + A, Lh, E = np.linalg.svd(dataNoMissing, full_matrices=False) + except (np.linalg.LinAlgError, ValueError): + raise ValueError('error encountered in SVD, check that missing ' + 'values are in the same places at each time and ' + 'that all the values are not missing') + + # Singular values are the square-root of the eigenvalues of the + # covariance matrix. Construct the eigenvalues appropriately and + # normalize by N-ddof where N is the number of observations. This + # corresponds to the eigenvalues of the normalized covariance matrix. + self._ddof = ddof + normfactor = float(self._records - self._ddof) + self._L = Lh * Lh / normfactor + + # Store the number of eigenvalues (and hence EOFs) that were actually + # computed. + self.neofs = len(self._L) + + # Re-introduce missing values into the eigenvectors in the same places + # as they exist in the input maps. Create an array of not-a-numbers + # and then introduce data values where required. We have to use the + # astype method to ensure the eigenvectors are the same type as the + # input dataset since multiplication by np.NaN will promote to 64-bit. + self._flatE = np.ones([self.neofs, channels], + dtype=self._data.dtype) * np.nan + self._flatE = self._flatE.astype(self._data.dtype) + self._flatE[:, nonMissingIndex] = E + + # Remove the scaling on the principal component time-series that is + # implicitly introduced by using SVD instead of eigen-decomposition. + # The PCs may be re-scaled later if required. + self._P = A * Lh + + def _center(self, in_array): + """Remove the mean of an array along the first dimension.""" + # Compute the mean along the first dimension. + mean = in_array.mean(axis=0) + + # Return the input array with its mean along the first dimension + # removed. + return (in_array - mean) + + def _valid_nan(self, in_array): + inan = np.isnan(in_array) + return (inan.any(axis=0) == inan.all(axis=0)).all() + + def pcs(self, pcscaling=0, npcs=None): + """Principal component time series (PCs). + + **Optional arguments:** + + *pcscaling* + Set the scaling of the retrieved PCs. The following + values are accepted: + + * *0* : Un-scaled PCs (default). + * *1* : PCs are scaled to unit variance (divided by the + square-root of their eigenvalue). + * *2* : PCs are multiplied by the square-root of their + eigenvalue. + + *npcs* + Number of PCs to retrieve. Defaults to all the PCs. If the + number of PCs requested is more than the number that are + available, then all available PCs will be returned. + + **Returns:** + + *pcs* + An array where the columns are the ordered PCs. + + **Examples:** + + All un-scaled PCs:: + + pcs = solver.pcs() + + First 3 PCs scaled to unit variance:: + + pcs = solver.pcs(npcs=3, pcscaling=1) + + """ + slicer = slice(0, npcs) + if pcscaling == 0: + # Do not scale. + return self._P[:, slicer].copy() + elif pcscaling == 1: + # Divide by the square-root of the eigenvalue. + return self._P[:, slicer] / np.sqrt(self._L[slicer]) + elif pcscaling == 2: + # Multiply by the square root of the eigenvalue. + return self._P[:, slicer] * np.sqrt(self._L[slicer]) + else: + raise ValueError('invalid PC scaling option: ' + '{!s}'.format(pcscaling)) + + def eofs(self, eofscaling=0, neofs=None): + """Empirical orthogonal functions (EOFs). + + **Optional arguments:** + + *eofscaling* + Sets the scaling of the EOFs. The following values are + accepted: + + * *0* : Un-scaled EOFs (default). + * *1* : EOFs are divided by the square-root of their + eigenvalues. + * *2* : EOFs are multiplied by the square-root of their + eigenvalues. + + *neofs* + Number of EOFs to return. Defaults to all EOFs. If the + number of EOFs requested is more than the number that are + available, then all available EOFs will be returned. + + **Returns:** + + *eofs* + An array with the ordered EOFs along the first dimension. + + **Examples:** + + All EOFs with no scaling:: + + eofs = solver.eofs() + + The leading EOF with scaling applied:: + + eof1 = solver.eofs(neofs=1, eofscaling=1) + + """ + if neofs is None or neofs > self.neofs: + neofs = self.neofs + slicer = slice(0, neofs) + neofs = neofs or self.neofs + flat_eofs = self._flatE[slicer].copy() + if eofscaling == 0: + # No modification. A copy needs to be returned in case it is + # modified. If no copy is made the internally stored eigenvectors + # could be modified unintentionally. + rval = flat_eofs + elif eofscaling == 1: + # Divide by the square-root of the eigenvalues. + rval = flat_eofs / np.sqrt(self._L[slicer])[:, np.newaxis] + elif eofscaling == 2: + # Multiply by the square-root of the eigenvalues. + rval = flat_eofs * np.sqrt(self._L[slicer])[:, np.newaxis] + else: + raise ValueError('invalid eof scaling option: ' + '{!s}'.format(eofscaling)) + + return rval.reshape((neofs,) + self._originalshape) + + def eofs_correlation(self, neofs=None): + """Correlation map EOFs. + + Empirical orthogonal functions (EOFs) expressed as the + correlation between the principal component time series (PCs) + and the time series of the `Eof` input *dataset* at each grid + point. + + .. note:: + + These are not related to the EOFs computed from the + correlation matrix. + + **Optional argument:** + + *neofs* + Number of EOFs to return. Defaults to all EOFs. If the + number of EOFs requested is more than the number that are + available, then all available EOFs will be returned. + + **Returns:** + + *eofs* + An array with the ordered EOFs along the first dimension. + + **Examples:** + + All EOFs:: + + eofs = solver.eofsAsCorrelation() + + The leading EOF:: + + eof1 = solver.eofsAsCorrelation(neofs=1) + + """ + # Retrieve the specified number of PCs. + pcs = self.pcs(npcs=neofs, pcscaling=1) + # Compute the correlation of the PCs with the input field. + c = correlation_map( + pcs, + self._data.reshape((self._records,) + self._originalshape)) + + return c + + def eofs_covariance(self, neofs=None, pcscaling=1): + """Covariance map EOFs. + + Empirical orthogonal functions (EOFs) expressed as the + covariance between the principal component time series (PCs) + and the time series of the `Eof` input *dataset* at each grid + point. + + **Optional arguments:** + + *neofs* + Number of EOFs to return. Defaults to all EOFs. If the + number of EOFs requested is more than the number that are + available, then all available EOFs will be returned. + + *pcscaling* + Set the scaling of the PCs used to compute covariance. The + following values are accepted: + + * *0* : Un-scaled PCs. + * *1* : PCs are scaled to unit variance (divided by the + square-root of their eigenvalue) (default). + * *2* : PCs are multiplied by the square-root of their + eigenvalue. + + The default is to divide PCs by the square-root of their + eigenvalue so that the PCs are scaled to unit variance + (option 1). + + **Returns:** + + *eofs* + An array with the ordered EOFs along the first dimension. + + **Examples:** + + All EOFs:: + + eofs = solver.eofsAsCovariance() + + The leading EOF:: + + eof1 = solver.eofsAsCovariance(neofs=1) + + The leading EOF using un-scaled PCs:: + + eof1 = solver.eofsAsCovariance(neofs=1, pcscaling=0) + + """ + pcs = self.pcs(npcs=neofs, pcscaling=pcscaling) + # Divide the input data by the weighting (if any) before computing + # the covariance maps. + data = self._data.reshape((self._records,) + self._originalshape) + if self._weights is not None: + with warnings.catch_warnings(): + warnings.simplefilter('ignore', RuntimeWarning) + data /= self._weights + c = covariance_map(pcs, data, ddof=self._ddof) + + return c + + def eigenvalues(self, neigs=None): + """Eigenvalues (decreasing variances) associated with each EOF. + + **Optional argument:** + + *neigs* + Number of eigenvalues to return. Defaults to all + eigenvalues. If the number of eigenvalues requested is more + than the number that are available, then all available + eigenvalues will be returned. + + **Returns:** + + *eigenvalues* + An array containing the eigenvalues arranged largest to + smallest. + + **Examples:** + + All eigenvalues:: + + eigenvalues = solver.eigenvalues() + + The first eigenvalue:: + + eigenvalue1 = solver.eigenvalues(neigs=1) + + """ + # Create a slicer and use it on the eigenvalue array. A copy must be + # returned in case the slicer takes all elements, in which case a + # reference to the eigenvalue array is returned. If this is modified + # then the internal eigenvalues array would then be modified as well. + slicer = slice(0, neigs) + return self._L[slicer].copy() + + def variance_fraction(self, neigs=None): + """Fractional EOF mode variances. + + The fraction of the total variance explained by each EOF mode, + values between 0 and 1 inclusive. + + **Optional argument:** + + *neigs* + Number of eigenvalues to return the fractional variance for. + Defaults to all eigenvalues. If the number of eigenvalues + requested is more than the number that are available, then + fractional variances for all available eigenvalues will be + returned. + + **Returns:** + + *variance_fractions* + An array containing the fractional variances. + + **Examples:** + + The fractional variance represented by each EOF mode:: + + variance_fractions = solver.varianceFraction() + + The fractional variance represented by the first EOF mode:: + + variance_fraction_mode_1 = solver.VarianceFraction(neigs=1) + + """ + # Return the array of eigenvalues divided by the sum of the + # eigenvalues. + slicer = slice(0, neigs) + return self._L[slicer] / self._L.sum() + + def total_anomaly_variance(self): + """ + Total variance associated with the field of anomalies (the sum + of the eigenvalues). + + **Returns:** + + *total_variance* + A scalar value. + + **Example:** + + Get the total variance:: + + total_variance = solver.totalAnomalyVariance() + + """ + # Return the sum of the eigenvalues. + return self._L.sum() + + def northtest(self, neigs=None, vfscaled=False): + """Typical errors for eigenvalues. + + The method of North et al. (1982) is used to compute the typical + error for each eigenvalue. It is assumed that the number of + times in the input data set is the same as the number of + independent realizations. If this assumption is not valid then + the result may be inappropriate. + + **Optional arguments:** + + *neigs* + The number of eigenvalues to return typical errors for. + Defaults to typical errors for all eigenvalues. If the + number of eigenvalues requested is more than the number that + are available, then typical errors for all available + eigenvalues will be returned. + + *vfscaled* + If *True* scale the errors by the sum of the eigenvalues. + This yields typical errors with the same scale as the values + returned by `Eof.varianceFraction`. If *False* then no + scaling is done. Defaults to *False* (no scaling). + + **Returns:** + + *errors* + An array containing the typical errors. + + **References** + + North G.R., T.L. Bell, R.F. Cahalan, and F.J. Moeng (1982) + Sampling errors in the estimation of empirical orthogonal + functions. *Mon. Weather. Rev.*, **110**, pp 669-706. + + **Examples:** + + Typical errors for all eigenvalues:: + + errors = solver.northTest() + + Typical errors for the first 5 eigenvalues scaled by the sum of + the eigenvalues:: + + errors = solver.northTest(neigs=5, vfscaled=True) + + """ + slicer = slice(0, neigs) + # Compute the factor that multiplies the eigenvalues. The number of + # records is assumed to be the number of realizations of the field. + factor = np.sqrt(2.0 / self._records) + # If requested, allow for scaling of the eigenvalues by the total + # variance (sum of the eigenvalues). + if vfscaled: + factor /= self._L.sum() + # Return the typical errors. + return self._L[slicer] * factor + + def varimax(self, eofs, **kwargs): + """Rotation empirical orthogonal functions (REOFs). + + **Optional arguments:** + + *eofs* + EOF data array. + + *kwargs* + Parameters for varimax rotation computation. + + **Returns:** + + *reofs* + An array with the ordered REOFs along the first dimension. + """ + neofs = eofs.shape[0] + channels = np.prod(self._originalshape) + eofs = eofs.reshape(neofs, channels) + eofs = eofs.T + + reofs = varimax(eofs, kwargs)[0] + reofs = reofs.T + reofs = reofs.reshape((neofs,) + self._originalshape) + + return reofs + + +def _check_flat_center(pcs, field): + """ + Check PCs and a field for shape compatibility, flatten both to 2D, + and center along the first dimension. + + This set of operations is common to both covariance and correlation + calculations. + + """ + # Get the number of times in the field. + records = field.shape[0] + if records != pcs.shape[0]: + # Raise an error if the field has a different number of times to the + # PCs provided. + raise ValueError("PCs and field must have the same first dimension") + if len(pcs.shape) > 2: + # Raise an error if the PCs are more than 2D. + raise ValueError("PCs must be 1D or 2D") + # Check if the field is 1D. + if len(field.shape) == 1: + originalshape = tuple() + channels = 1 + else: + # Record the shape of the field and the number of spatial elements. + originalshape = field.shape[1:] + channels = np.prod(originalshape) + # Record the number of PCs. + if len(pcs.shape) == 1: + npcs = 1 + npcs_out = tuple() + else: + npcs = pcs.shape[1] + npcs_out = (npcs,) + # Create a flattened field so iterating over space is simple. Also do this + # for the PCs to ensure they are 2D. + field_flat = field.reshape([records, channels]) + pcs_flat = pcs.reshape([records, npcs]) + # Centre both the field and PCs in the time dimension. + field_flat = field_flat - field_flat.mean(axis=0) + pcs_flat = pcs_flat - pcs_flat.mean(axis=0) + return pcs_flat, field_flat, npcs_out + originalshape + + +def correlation_map(pcs, field): + """Correlation maps for a set of PCs and a spatial-temporal field. + + Given an array where the columns are PCs (e.g., as output from + `~eofs.standard.Eof.pcs`) and an array containing spatial-temporal + data where the first dimension represents time, one correlation map + per PC is computed. + + The field must have the same temporal dimension as the PCs. Any + number of spatial dimensions (including zero) are allowed in the + field and there can be any number of PCs. + + **Arguments:** + + *pcs* + PCs as the columns of an array. + + *field* + Spatial-temporal field with time as the first dimension. + + **Returns:** + + *correlation_maps* + An array with the correlation maps along the first dimension. + + **Example:** + + Compute correlation maps for each PC:: + + pcs = solver.pcs(pcscaling=1) + correlation_maps = correlation_maps(pcs, field) + + """ + # Check PCs and fields for validity, flatten the arrays ready for the + # computation and remove the mean along the leading dimension. + pcs_cent, field_cent, out_shape = _check_flat_center(pcs, field) + # Compute the standard deviation of the PCs and the fields along the time + # dimension (the leading dimension). + pcs_std = pcs_cent.std(axis=0) + field_std = field_cent.std(axis=0) + # Set the divisor. + div = float(pcs_cent.shape[0]) + # Compute the correlation map. + cor = np.dot(field_cent.T, pcs_cent).T / div + cor /= np.outer(pcs_std, field_std) + # Return the correlation with the appropriate shape. + return cor.reshape(out_shape) + +def covariance_map(pcs, field, ddof=1): + """Covariance maps for a set of PCs and a spatial-temporal field. + + Given an array where the columns are PCs (e.g., as output from + `eofs.standard.Eof.pcs`) and an array containing spatial-temporal + data where the first dimension represents time, one covariance map + per PC is computed. + + The field must have the same temporal dimension as the PCs. Any + number of spatial dimensions (including zero) are allowed in the + field and there can be any number of PCs. + + **Arguments:** + + *pcs* + PCs as the columns of an array. + + *field* + Spatial-temporal field with time as the first dimension. + + **Optional arguments:** + + *ddof* + 'Delta degrees of freedom'. The divisor used to normalize + the covariance matrix is *N - ddof* where *N* is the + number of samples. Defaults to *1*. + + **Returns:** + + *covariance_maps* + An array with the covariance maps along the first dimension. + + **Example:** + + Compute covariance maps for each PC:: + + pcs = solver.pcs(pcscaling=1) + covariance_maps = covariance_maps(pcs, field) + + """ + # Check PCs and fields for validity, flatten the arrays ready for the + # computation and remove the mean along the leading dimension. + pcs_cent, field_cent, out_shape = _check_flat_center(pcs, field) + # Set the divisor according to the specified delta-degrees of freedom. + div = float(pcs_cent.shape[0] - ddof) + # Compute the covariance map, making sure it has the appropriate shape. + cov = (np.dot(field_cent.T, pcs_cent).T / div).reshape(out_shape) + return cov + +def varimax(x, norm=True, tol=1e-10, it_max=1000): + """ + Rotate EOFs according to varimax algorithm + + :param x: (*array_like*) Input 2-D array. + :param norm: (*boolean*) Determines whether to do Kaiser normalization the rows + of the loadings before performing the rotation. Default is `True`. + :param tol: (*float*) Tolerance. + :param it_max: (*int*) Specifies the maximum number of iterations to do. + + :returns: Rotated EOFs and rotate matrix. + """ + has_nan = False + if x.contains_nan(): #Has NaN value + mask = np.isnan(x).sum(axis=1) + valid_idx = np.where(mask==0)[0] + xx = x[valid_idx,:] + has_nan = True + else: + xx = x.copy() + + if norm: + h = np.sqrt(np.sum(xx**2, axis=1)) + xx = xx / h[:, None] + + p, nc = xx.shape + TT = np.eye(nc) + d = 0 + for _ in range(it_max): + z = np.dot(xx, TT) + B = np.dot(xx.T, (z**3 - np.dot(z, np.diag(np.squeeze(np.dot(np.ones((1,p)), (z**2))))) / p)) + U, S, Vh = np.linalg.svd(B) + TT = np.dot(U, Vh) + d2 = d + d = np.sum(S) + # End if exceeded tolerance. + if d < d2 * (1 + tol): + break + + # Final matrix. + r = np.dot(xx, TT) + + if norm: + r = r * h[:,None] + + if has_nan: + rr = np.ones(x.shape) * np.nan + rr[valid_idx,:] = r + r = rr + + return r, TT diff --git a/meteoinfo-lab/pylib/mipylib/meteolib/meteo$py.class b/meteoinfo-lab/pylib/mipylib/meteolib/meteo$py.class index 659c41988270e9567057510be62adccfe78fba78..bb252a008d16731a70012b0edf722542508ca611 100644 GIT binary patch literal 33853 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 ZbnYw5wg1q*N;l_eU(=qTo1FIK{{lcOWDfuU literal 33860 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 diff --git a/meteoinfo-lab/pylib/mipylib/meteolib/meteo.py b/meteoinfo-lab/pylib/mipylib/meteolib/meteo.py index cb449912..45f951c9 100644 --- a/meteoinfo-lab/pylib/mipylib/meteolib/meteo.py +++ b/meteoinfo-lab/pylib/mipylib/meteolib/meteo.py @@ -19,7 +19,7 @@ __all__ = [ 'moist_lapse','p2h','qair2rh','rh2dewpoint', 'sigma_to_pressure','tc2tf', 'tf2tc','uv2ds','pressure_to_height_std', - 'height_to_pressure_std','eof','vapor_pressure','varimax' + 'height_to_pressure_std','eof','vapor_pressure' ] def uv2ds(u, v): diff --git a/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py b/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py index f5a96919..97d95ef5 100644 --- a/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py +++ b/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py @@ -100,8 +100,12 @@ class NDArray(object): #deal with Ellipsis if Ellipsis in indices: + n = 0 + for ii in indices: + if ii is not None: + n += 1; + indices1 = [] - n = self.ndim - len(indices) + 1 for ii in indices: if ii is Ellipsis: for _ in range(n): @@ -110,7 +114,7 @@ class NDArray(object): indices1.append(ii) indices = indices1 -#for all int indices + #for all int indices if len(indices) == self.ndim: allint = True aindex = self._array.getIndex() @@ -978,6 +982,40 @@ class NDArray(object): r = ArrayMath.round(self._array, decimals) return NDArray(r) + def clip(self, min=None, max=None): + """ + Clip (limit) the values in an array. + + Given an interval, values outside the interval are clipped to the interval edges. For example, + if an interval of [0, 1] is specified, values smaller than 0 become 0, and values larger than 1 + become 1. + + Parameters + ---------- + min, max : array_like or None + Minimum and maximum value. If ``None``, clipping is not performed on + the corresponding edge. Only one of `min` and `max` may be + ``None``. Both are broadcast against this array. + + Returns + ------- + clipped_array : NDArray + An array with the elements of this array, but where values + < `min` are replaced with `min`, and those > `max` + with `max`. + """ + if min is None: + if max is None: + raise ValueError("Only one of min and max my be None!") + + r = ArrayMath.clipMax(self._array, max) + elif max is None: + r = ArrayMath.clipMin(self._array, min) + else: + r = ArrayMath.clip(self._array, min, max) + + return self.array_wrap(r) + def rot90(self, k=1): """ Rotate an array by 90 degrees in the counter-clockwise direction. The first two dimensions diff --git a/meteoinfo-lab/pylib/mipylib/numeric/core/numeric$py.class b/meteoinfo-lab/pylib/mipylib/numeric/core/numeric$py.class index 7725279e5a0f5290bda36bdbb33b8724f957e684..fc8775d79d496a03ed91b91e0074b2db8d7d9234 100644 GIT binary patch delta 50099 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

DT#r{RO}Noc^MvZ<7392C-aMQAez+LLGe@bKg~2 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%0AgW&#KQ10PI##H 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 diff --git a/meteoinfo-lab/pylib/mipylib/numeric/core/numeric.py b/meteoinfo-lab/pylib/mipylib/numeric/core/numeric.py index 6738532c..03ffab08 100644 --- a/meteoinfo-lab/pylib/mipylib/numeric/core/numeric.py +++ b/meteoinfo-lab/pylib/mipylib/numeric/core/numeric.py @@ -616,6 +616,37 @@ def round(x, decimals=0): else: return __builtin__.round(x, decimals) +def clip(a, a_min, a_max): + """ + Clip (limit) the values in an array. + + Given an interval, values outside the interval are clipped to + the interval edges. For example, if an interval of ``[0, 1]`` + is specified, values smaller than 0 become 0, and values larger + than 1 become 1. + + Equivalent to but faster than ``np.minimum(a_max, np.maximum(a, a_min))``. + + No check is performed to ensure ``a_min < a_max``. + + Parameters + ---------- + a : array_like + Array containing elements to clip. + a_min, a_max : array_like or None + Minimum and maximum value. If ``None``, clipping is not performed on + the corresponding edge. Only one of `a_min` and `a_max` may be + ``None``. Both are broadcast against `a`. + + Returns + ------- + clipped_array : ndarray + An array with the elements of `a`, but where values + < `a_min` are replaced with `a_min`, and those > `a_max` + with `a_max`. + """ + return a.clip(a_min, a_max) + def square(x): """ Return the element-wise square of the input. diff --git a/meteoinfo-lab/pylib/mipylib/plotlib/_axes$py.class b/meteoinfo-lab/pylib/mipylib/plotlib/_axes$py.class index 8fe2a97612dd6b73402c3efce175368fab38041b..0b65cf2965c15fb865f91ee932494230b1bbaf15 100644 GIT binary patch literal 232329 zcmeEv37lL?QK@ZKAq_X6}L_W7XMeqjI#_ zu4%Qqd5JYrL^Dj{5-)L)eAwHpH(PtkEt9yXmne+17cjDk<%OzA+)Lq%p{zE)kV{;O zf=D!5odd1ryq9>y&{#LvJ8$g$)CZA@|IxKK_Q|tI_7nF_+^>+hPvZW-12GCz)V;*U zK7Fp-2(kZw#4i*35A+hh)Cc<;7V1sl?lLctJ&M$peI_vov>t8N%PoE|iM3whVy2F? zYSjivL#E?$FL7zV)@EDfg}K_aNvy|Y9Mm5N%F~@@YuO|=dWpMtRcg-9b9OhQ`x7Je z+APvnAbrxNx2*tld8yVmiK{?iBa+&InHg&~#>yT24H7jIwfU<4+69^%YtHJA-Cp9p zaUf=^O^{@3c|%=@$0SBj8W=+A zN`R0(-dV0!0qVnpeEDD!htQ~!JrNV1ni9_W^c@`zcfztg;9nd$( zXIkgsxR0Hv(aH@=W3;FL4+918b&^Wg-+% z0(_(M0L&FEuZ-DgE;e*N4PbN#I!N${?4i*^<<6W*%pxs$pt+i|m zr!hT;$_r!q3+vEu6>cb>Ma3pa;y|;3)XiQZBWv6w+F$~E%I(@TSWELXaIy$Y26Z;n zI0%zCi%H$HI5SgiRVy+slUT+=kYbCSTHPcb1*}|CZqK1_lXwh%G#2NlsvOqiP*54e z5wg8&&TowdOkm~Z>nEO&cp`bguV9cBaODnY+9aNgLCy=#o`SVGUt0hrPHg}*)fSiD zQ!!iz%}Co%JY5_4buW=@0Q6^I8Fp3LzDRyrqzMQ{s;T);hApZvPm= zcyO&z>pTRDa%h#!fPDOIiMJOLuSxtVa8fFj>-AE}B>o%?G-XpZiN7GSs+|UQ_VWkO zZ8q;pyqmkktwbzf8vsWxluGl>%3{6Bp5BW|ES1&zARVxz9MYvo39y4h@1Y7Nlt1}S3_AMg@)?VYb&;zPjl{`rNDl`^nsFI@#Ae&QpE zkLD8}PW-KxxOZ=J2NoN`r*esp0p&BL*?M!TTt}PtUTw8~BJuZmAmNiTcFs$wG_VCk zGSOPZ>i9HT0)n+EKk*sG*k^$le6`#2eIfCz*2Cu#pC_8X05q4{opK$`ei6&HRKgBl z?sQtElArhzH|*CX{sj`;LKExtD^dV`1O>jvo?n;vIv^_x9eo3-!_5X7`<6@-Bn6O% zmzeLB{h}h?%7Ct%v+C%+llV6R_FYo*=qhc9RPsF{;y-{>j=e+%VG{r4CB|>`=nk4VG8kDmb9^=iX-9_GGLJxhc=kW1J|S2qwcGmBWdZR3H5WlFL_ zyelwD6h5vQ5G%7~k@$^AA+o&KX&MhgWNwBBBS@qkB*-lA1&Dlam!b?z`eL-PuT?&K zxLWRTFEZXkWf4Le_4cq)NTaO158YwGqI2dPK+c{c6B9=c8SfgDAKQOm!gvqEj7%Ik zYP>Okd2ICHHTZTI)Hl`abei*8^C;S>S7$o<>lgs+G#B*81XfO~HalnYu0zSCR`m?z z5kPeUzn0yv8&GtKwK_cCc#l9cQ?s%M8}E_myn6Fuxo*5kl1TMt-<#6$LRh;9+iug={p z@A@zv7F_1o$i(Oo=s449onN6{ypXC z)3dGSVxwZb$D%-|HhsD-bNBdgLMQN1C-jM+O%|Df6v^$*cuxXQBdr=y^sAA~cI_5q z{+exZs#!<-Ps8l)IWo4-co4Rp(#r{cTJF0FPhC07PkhIF23O28F_5EUBcq3n_iP-w ziFXjiSb3^i7n#|64#1zT*A|TTT+j&e_sWmo=E5k|%k2&(*&Fq}=X)=}KIy&CPkf6z z=7+r(Lw>S?+(vS8h=&_x=e(C9w-0!Go0Td=qfdD+&wDTPAnTp#MVMoqtB3+C zHQndC>8cnE#+5MMhkWmY+Tuq*ux!J45Chkc;|c_uH+hMDuEIgg z9J?(t&wX`?t6SC1Vyn@(~q+vQYF2>1MZ-}{(${{JwXpiARHI=q;_f-QGo zGq#_nxn3L)K|U$S{VTX~UC_AFH*yR?mwoRuI^M5> z`9())yss+*jf{DVmw2n|l1oMqAB@7~xJ0mYnn3^1a2;C|*3AefE2vZCK3$usVO&$o z#o^%duHj-|l(?3O+uMYmZvs7_{183g_PuZD$o~yO4M!dmH3l|=KRny@=O$PRIq+S+ zOLWa}ymz54;`F9-#mjj^;mo@85Ma--qDTGaBPTHoiN?-#y5!UgEDD>~2Qm zP`iAWSb1LKHM?e4GJkec{A1nq;+RP$eD6nsnPd_&Oh4guU^94T%MES?EEKhBvDw06 zj4*yz&mu*Ok>018&3d)mAjyl!Y^%BoCYezoH-K1+nPkpSrWNG8<$DzG1~y;mB_8i; zD@E4YTsJ(PQg0V-N3NKK3MB~Am@NpHf@HA@R@|>*gmKo|u050VvDJXUC|sE2o&4k) z1r=u$?mH!wyazTz@@}|V4yT$MVTii9>SsdO7W;spO7w35!_X4N8wW+49V|Y&I7qpE z@TL%Sle`-?jFICLM@;e(KY3S$>z*oETDVN|Udjkcl!OL0V>i3D7fR*@v*mIvCYcw^ zE`Xy96%-8^zDeH4PhP6s-w)de(ZXsbSp@5yhMpb!Z}OKd!|l{M*yA^2pM00=i<2wg zgC_a62Wxgx6=i_sdg$ioY`spih)Dvzv^zl=_4J<>7~|;!uZSOOyQ6)#T=_{p$0m z6s!;Bexu+~_*i7icByo=L=9ZOw&bYC#w5`-15iHJo2{;vgdo^duK>?eVSAxG9T^$V zgxI6-tq9VX2ldx*pe?dwFKJ(`hgoaLNM|Hpy{p2ul#`VH!;y$Ic|GV%7e6iK}{#lkUX4>hU*ueewhjlgX24ec85t zBa}2yFPY>`V9cE=OzKG};|e8elkuxn_7aa>%}8;6rf+)$Uj@3Av;1T^IYqFibptq| zB1Tn-UvO=bP)u>XP)%pQKx>h_qGFP#so-i<{p7qTxRMR*57Tw(&65kdPORNI2|ZL+ zk6I?#@sme&F$s47j8e`? zrJTq4$y;=8pJ0VRolBGa6_q+lOVkCn2ev@82!)}8;FOk2GTTYl?QpL&N$3jiytqKC zttb~sA`o?;FXZ7&K3P#4U!UeDpR8~|Z&;uRqy3uXGXjon;lOb$go7OWoNz$Z2W2;p z)+YHJJpgs}{#-x#EbSedJ}O;Z@6WebShl@Gq6&K_7A$o$yFV6Q7@OA~5I}M~JZFo;mC3_$`!>n~hnMe5)SG zCxBfc{dVcF9C=LgPa+c;0{3XaNhtMrI6F+$cJiIJg6Oi7@7Anw zDz=mF0TiOtPQDieRBP{{f;;&>vP>0R-mhu|2b`5>K7b~nqQ^u)VV?X@7n}+M)OIx8 zbXSEAFZOw)G0U^S$Nc1*b(%k6^-VF9f6~si&{cqPoRvb9_Yi6i%0KNVRSli|jGfg; zYbN=Rc2*-F2d;pQG3=s;UVFOuf}i}nj^c}U6p_|U@=H4Qh&f~63MdfY;lzR{-9Ql; zQmQLqg?bSY5iAF8;C#|@i$oxR-xp#DSMz#1{((j2GI60Q;VYn-j3YB(FTXg* z{E?shp$_mT*7y|;(4;*3O~%}83|xUNYtRt~$p>W7(`fh({Hg&O-<%TRn3`?S8sPZhNFiEZaV)KnhVs*oqze^;nQc!t=ab4aG*zN ze1c1DD^$U)cmLd=`$Jm1x+vDzbwvfFTz3_?Nm7Bsslj=79u{>@z!Z+d)ea8N6La`J z4G$lf^yPDTdaefhbHyqUVhCqrMKrYmb%&PF+ODAxptYC;`4mpY+Q|46GC)dgsZ4$+ zRK>E{(V1ddGS?NwkQ0E6!+f#as3>o07hzHY<$&ZiXbsiFgdzuXZuh!qIhy`wrDB=hIL3D~@d6Fa|gWNj#p zgQkjQ>V;JG67mXG9t0Yt8Es_-GoWO$ax>!kF*(`Qj@8wQbyd>EHsl5>poVH2svFi7 z=gX&|j;pn%;YKTe7vY$^7Aox+mI#ylo1TLUIjcv=c7xI?H$c#HTL;#^`sAe2sMQ4z zSzYqFV!3i^5r$NFBJ3K3NDmO_2iJCwCIF(ie`%p!o33?=EE+7H`SLRD0$f4hM|3yG zT7luNqYJ4W+0xn2AQ4fm4BqjmfxT2stXLDO-Jx9@D`@GC#uSDqV!sp?Vl3$=%3uE6x}ee`~f1 z3r2Hs7K-m?u|3y3D;puF1`K1a+UQRTwx52mbagFO2F%z9poRETn+|DshCm0{Ro6)N zySA$ZaX|*~ZqCJtGD5;dT^oQuLQ!3fwBg0mf*?08f2G%**Z}FJ+Y*(%B`6q?7ds$4 z;G5W{&^C<~(;o|yliVfOlUaiUVY9>!vgvNpza!X`gW#ANaGwbu?Lvc-Q}dyteez5peTZ{n))SViEMIj9Czx?voOY_?t^de6Y*2` z6Xj9r{y1_9_uh}oD9C?+m)Lx~(W*{2XB%RL*ZrmVsK*fboXed>TrvRb1OvuKBrMdV z9*D!0ip?f<86;lvyZuYkRoMyp`inRPUq5FNS9PbK8cYqrSuX|S%AFP)&?TQ92NhAC z@)Fxu(HpLQD#ZNs<3G?B8>Mkm4AF{S# zRvWki`jt?+=8>2q99|j@*yVX@`km2tXt+b?KGv69bO*QB6JmkS$PU^+J`DAakBjUoe@bsA;@+>}*Ma-g;pEi~V9fgA%hZ~ZZkrS16N=z z{aNq4Eq87!XgYD+X=2FlH*tE74*|9l$E_+>x8KBd*EOk|{nUaEtZkJ(6_9WV_78A? zfvr&bJS;Xo@o!?0q85pqKrJBp{c72YH0>HNsWUiR*Vc9(BV3YvSmwsIX&H6)5tlX|kB zdaUB~DPZ@4K9hQ?#pLq9R;Y)*=z2R3OfLWIFbNyn&k&El?x&uvh=6H95V34h&jKRE zk$Pb36<&6)L&P{ZuhLAwCP`M|T5|<0t&3`yt4@@`V72l$tV`O9IvuDnK5Wl66L^5J zrC^g8;Q=$qh`WuIi(7E=r(GU<*pMqjB`6R%57+O`+6^HkLoAd95GyEWeJDr80}Uz` z9K7g2gwaZZVs{_iXnU?UBPvn&LC|jzAo3Fq7|?TKU#!$15Q^VbQLY|Pp-^0?Emi9= zJZ$R0fYqT90aSYclbi}J-ax%Z84}0IbuoO34@Xa9bT1Ik&L}^mhk?40#-^uxMp+l? z?K5hz8sy#konp>Q7@V0BlOjB^ju)rX+KCe)$k5L=B@Mka2WLgMV4tyaNr z&*DT;IR*9$sdT=4Dq1$OI_+vAbh?jPQgZlEqL=e2ICZTelYtc=NpkV{YPao?3Rg8S zs4KEHDg1104NzP*aE68WUaRQ&n#KcJD1B!+u#OScdO*WeD?Y3RBXExDUI@e@YsWpG zx~qy4RKKcGr>8z$VqJ>|)CyF_&dX<-wF($)lt{0igJztH66Vpr1ZH0P&Qq306|4G; z@fy|V^&khHg5n?=LrmZS>J&x7fNmUwYs8#PFSaWAtG*IZ25C~yfnMLTF_U_3cK7EI zmjeGFLh@#tNj)DavQ?9MAvPl6q$c%Zh{c2)L*b$NrTEF^u72sMm)oDhc}(h+5ItGg z_3|oP+ZKlvxWIf}^(OUdn=QsFlX?w)y5(n5ufvJf{S>kN4LF;#ehn&tH(`ei2;ZdM zf-^Mtvz8Sm1JcS|pTpQLFq@*X`1(2go5+|+v^7ZD6c9wr4NEibAawT}KgJ)0EFwfQ5* zC-xt^e&pCbllp+3-}e&FrI9+6A0N^$6KG4mniR~m;(3M%xSsb7OzLmLFXP-4OzLA{ zEn5agTD99j_7YZXQZUip4FCyOWBb?HOI@i?Y1vU>KFl$xf507Gl;sZ*-9|{-07xm@ zq(1AXepBU_&w*@2XfdfT0Iy;T8`!$l%kFjykejATYT-T=vl5+`++t4&(VccsB$vUS zWfaI1Tt>e@lFLaIEo2d15MK1~*#QMcg_pQYa6xj3^2+~3$wiDP7i1UlzPKQ}ghJgp zWtZ-|4k0f$sekrUU(`+JU$Du@&SFwu!PXmGu^!k8J@W(HK66YjUR#f{XiH!BQ(x1T zzJcn&o$P_F(8l&w?^Q>A+fRKAHvY42mDg>D52UXD(11 zsD}qGdINGtw82%{lt>}&OVOeBT57tf-L6!k>Kc>!9)uckBuxD$bq73ho7DF)E|j#b zw@vE5A$ElyOzKB|N^hQ}egYW;IXVWD_8{Nzr-fo*>vqq(XV;)?p8M(&cIUSFk@4BF z*o^)|v6bOC!hmLwm|6d*`xT(WeF$gN*1QE#O{%Ss?cD&Z;zJ;1*v{jEw;ax)9D_=Z zXR81}V4zxY!z$t*u+IXJ7{h)|It>DVSQ=ofZPHmktv)+xqjM1CnREdnAZ-M;llH*Y z9bRI;>xJt7Aj^HUS~w1hlN`rm=v-pb7oj&aeo(`E0g#LRv@cYez6*ei_G{9210+$f z2ev_n`Uux4A>m-{2{%HMu1EwfJsp!&S1E7Ou;bD5(E@l_eJ0btH8>b16UMs*i8CCSU37@U>g*b4|1pp;Dkcf0u(v^n>0*+aB#08$X)t!KRu)!tVg%g z_4>fJEBds=Oa4JqQP?qO7Gq;5VTWqcTm1A!Z51wIDYRunL;*T6O~&(FI-Oti|4wwTStxE)3e;zEE|3^g9%M_0`y?2?RW`%gq_gyXO!mpN;J zG3exKC2xtAydhGuxLy?xi*3jsRE=M;eqWci#H3+H{}c8THdU6|)Zqvkft8(ue57+p1Lt zwq5C^?%{AGemY!dVisV5s6&)1<`NcDQ&-bhYKrRnVY07b(eDrAKs{vr(01+GG+cxq zMROLux|Xj&6#-uvM0{dp>##QLnkI*%8nnH*056$pWgSeY?4aCk!^}$S0T|?RbFp}~ z40(o25be>dFg!KPa-F$FXj#cNn#Ex{Ck^*rQ9H|fj#n3lV}1O-D+6=MJ6Nqk@Jt%E={2=Bb-pL`15DJxEh78n zy70?MEd!HvMi61rH>lA`kTZe+r9_WOKSEuc#i2g^NZlF*oNCvgtA-43_G(({vvgZ7jec3C0p^5IyrPyt+^E<^IK^)P!*a1SOw^PZNVZoe+IO zq321rvQ$`B<~!&_zJ_gw19vVHGEIF-P@tKCic4@GM`RHmjg0om2_@GoPt!MuY%*j9 zoMkqxONQjGBoMl;I#@yv)?Jb0u3eD=dxH*Fa!L(+y;f{taQz^ey!>k;R3uz*9dwb7 z2G@t>xZ*LW70PXJ?XleY3Ko6;l2^NeMHC{M`j-nEgh>%XrA1g2xOHJuBDC}=(hQ5J zhiacPXTmawTL9-&gj1|E&o=rLePo}aiwk`UKDbXoo@VDnn@^S7*zOt8+@zm~KuZ|6q$f2dF}e$#=&b_EBHjGDF5zX>PS@sdgZ77mg)OlXTBcEqwyKMx}#M>Of* zL0gbE_Ljxb)TCda(h0XmE1kTEhYsxhe)=VP=zuY<&|aR0os!<`CjD|YRy_kiV2A_c zXL!Li4I5l~8mDuUhWU-h9|fSTVXo7#!KENDoAhg#C@-1x>-3Uiv=}4eZtb1$B_(P#$RqeNqF>(cr%&mr^aGeHl9EY(h$3*Ox-hV9yO$ht z{3GzNLe4p&>dCQQ=IG~0UJQIibY(*T9Opnp){s>g%6L}l#pw}OiS(4Ca_NnO3-s29 zlM!r&dJ%KJR)Gnfhi1(iqF@)ERrw3DO0@;v5#5-IMFyuXF5OtWiBci{UcULJA_7Q2 zzQ>v@F3ShoF8kuO2b{58Td|^%a7o-10L*({aqHu6{T%=&iRa6uiQ=in`Gq#GuPhgv z(^!D$uRgQ>EIbIElM29HTCaRA#D}AR(C5$LE~;bvDA>bzX_HC+ogURlP0A)ejukKH zH0i%bAz;y@{~vgWE^js#UE-hi(;rcq{0wN4lxWibNJa*C2cU9b+YT=os-gn2)J(m( zfz#wt@l3mjdnwW_mHd!LpsS}6!@AUC?%{mdlu+ExTSBfH=@~1cmJ2apy^~26KRW_v z>#8>8F_dRxk$58j1zG`jpy3HZ00LpFJY!GPwr252t9XmOA{WlAZAK2nVW*V6ln%*(H#qjM zFg#h8gv+g2aW9C~!gS)1i(b^|-p0zYc{(C{XBobHBba}+sEAsTqttVSs;Rk9D!35e zVFs76H0TI{>rA2M`lZeWIx*ZVXpp2O8j~0oLR7n&;UYT9V+>b3-#;nJb|02E=`TR^ zz?S_*tR3meq`!pC6&s|?uStIy`BNtSRWES~czSFvw&lMLcCSlJyE5r-U>Q{_vrZiO zmhSiP$0Z}Q4Sxq8(PI4LcexZ9WgrcUQr@*;(l9I0QAD~_Agti>eLtZSKz2@c4a`mTg)QNN-uZ&wIatI_ zmwiF+d|^xYIng_3a(*VOTS7kE5|&J64GtNQ{_($oE4O%=Z#tfSt}}ud@!fGBTFCH7 z<=VKgFI?CcF6;{z_Js>ag(9wa|2*0wGk5Yc7wNumXBw(xCoq}2dWnR|+#Sb-DkHc| zm0JT>Ug0H;*Qe#=3I)-%s4Ni*3TE^`EgKj@PAX_C zX=0aFuYF?m+B5Uyq}mY0<|l6msP2(>hZh@YcX3d zDTipcolTb)s6u3Kfh#AE;MS$dDy)HlpnnvPdht3PTD-H!4sSB|1hrV_;mo~Mk4X=) z;OSqJxm2&O@#DA{Mok7zzM1hOW25^_=KfHos>W3M7{ges;W6_7FEMeu&3CKY2Qv?Z ztu8a*XYQdS{~(A$f(Fcj$qZ$8fA#tN2YYW;NPeqlKJG}~3PhYRDo#VByAs4PvejiG zxa|g|8th3+_5v?V>F&-o}e57xMJ9AO9Sd=J@-qHJgr9PT&6Ut4bbJEwa_-qVPCM2rN@Pcp?68$qAcnG`OhcVkLST9{+mmq3>N>i55p*qY){r%3V?~l0p^$*#4&K9EHv51RV zy9JjG;Ls5P$c+c1fhlI{`u}M!YN0)ICtc1^Higx;P-9&JA0skvrZiOrdj!RfR+Iu=9yIE2C37ML$FYKC| zVoX3|8AfJ_^~7Eh zR@g(+j%|pdO{VT=s=7rZXloidb0)KZ zJsJV%I|El<>6te=NJZOME;6Tydz5{je_h>uRULn+I>5r{;MPLBSjD-E!O9SoocEyA z$5gbMp&u;{$FgsRzQ80Wz3xh#5zpo=INc(!qTGSQwO*?{hjI zg9v`|N;ZXr4xT)#hhY+8txE+A4xXYc%Hhhk<_ZNz%0=A&fY<677r_zwn{$j24MOu5 zQV#Ju-JHi2&zNz5a|)OEq8lIQK!em;=m3z5s2b^hMDxw8BPl5jW6mV3ZU+1%EPG0$C5hI7jkYR}jhsKF*k_M-2u?M!5VB zhVu5{V?c`f^y}5dunfD8;V@bSs{{N3!_(NmP6dOn>lq9(obU);sft!21q3x?9gz4$ zM5it+s-8b~ju!wLcn(I`1ZO62z3#&|Koyokf+=wvO-M;Ky~B33+2{smgq;&5XadOC@o!)J!7^{T|%*GAV0>BO2V z*KyGVXFq6x>P=W4aLon$dK;b#ZdTo-)q=U<$B1wI*W=CD?!`H_(;^6;Uj^y@)Nx zUS)}O>{{bkc%uOu<FMG6LYX0h2HV-b#53O1N5lQ|2)#;$9VS;pr|4X=%59t9Q6^x`~1jhM`1 zpu{MZa0vphV@_8~B`Ec|1*ZPk_Zx3`-{SD}JV>0@{-SFo$I_ zPr*2FZE1es%B#HO6C4_?UW7R-sZK_q-n6+=1fiqtyNq&>1r1^4P`tqV4L16#-X!D7 zccwPXC-f#16jZNlrl$ zHyPYT&bzUh%(KJ`TNIiHATpQ?ZY4t(*e2pk23M2qNreDlu|ChwJXHxF_mX)_533Uv z>H--d~N4D^!=zQL=*t z?iyPVBFbKyTcOU+=AKzm?nlQDROffk%wl4CzAQm^+|4;5J*@tPm8^?Gg>vGuk>nu3 zP_T98dYJMYwMsjx@BlibDY?B8;pnwq~c+6>;@^ z0|v=W2h0)2vz0p!%P88gwK`JfNQo$oF35ZLf~6i}ZO=Cma4N2~8kcY22(pGO&ljnv zpJPXOm5}Z`S|x~}1TM3;>yzE&5&VpIkA=>=e3(q;#aQOS9ehlw$-ERxnt>HcB3GKs z%d_u#&r=?6qk^AdSb)r{u>Q|5E7Lg97!I<6(c2=vL zHJLv_6@7KoWDrWg$T^Ww4KjbGZ0SsOX>O5>?Hx1-*#=GKoepS=urX{F=;GaoKcJ6+ z)5f!3UXwAI_h2YMQ1J7;e&$8W1>Xm5X(z#C-p>JxW5B?bxUKvyM;s#v`)NzzybDWK z5bxcUaEV~+VkuI|q0uoWF|pkIVvY3BRuD5E@A82N+TwJ@TKt8B>MUjT2pbNV23Hfi z5~8*p$tZM>ikXKetviKsg-9v4SRwb}B<;q-bzxs})aHUMk2_P(2rA2s@_cPNzC1V) z7GXtOK+gE1FWDvBA6hUPoH)*qe$CSFe^dhZVa{^aJ_m3@WsOe2!feY zWR{B7JdX-)dIq?J*Xn>F0-`Fe6Tk<*IJ7WgLGL6jyLwvfHT^0sGLxsu8Ji`rYI+Fla9$$TZ^7bp~BGG9Yac9u-$Uoj|5&WR&3M<(-4WZJ1P znQv?6$sqIJ0E9!h$^5&%Z7sM)cZy?^`46z63U&vm#lUX&0fvm3cv4<2IrHWEX;*@^d1u z$wP3J*d#q_u%QMLDrR?r_m%)opY$j0Y ziE5oX7MM!ib3ax_m6%c@2uDB)RDoJN)(-{LXjPzD4K>m)G;S2%qeJ0V7z|M-hE3QW zz*L$DfKi@8c;;9)s3du!jF4;*jiWvHY>bL$YTQFyv-iLZ{U}wp4^rO_M62Qz>Tv+f z-4n+oEx`GZ-hgSo{}=;|$`OdH@-C!ajN~KLDwjY%t}g>}E2KLk&LMN zS_Nr6lyS$Nm~2Gsz1Wa7pnT-WWH-RzFm)a$r)&-afh>n3GbW46j9H~)lU;)hyY@}? zB4`c~v=FZoXD`Ngo`Mb@Ic&0bfqZkiy4*I|yHU`B$rSGvXD<<_x9mM2UWBW{WPb@o z#`YgRIB|{1-Wx(hV4X7A`>3R`pNEyo0c*4}+55R`4OU#RI%ITL^s{;aGyBVEDPTV) zI{-PNHqWQG2d>)er5@)fVV|{U(j3dkgc89Qlo5Y-%oVr$+X=4a9@PpK4TEqG9Xq&( zD;$4D*4kDDmG+Q|tUZfzD6fpN%O1i|e$vxLD2v>#U_Td>FbEv>e_RP8d}yIbOR&Bu z;RLWzvh^UxhDpUx!yv>%EA|N{rx)>GBnDeZ`%Y;)G%SQ0gy{#TiTyqw{xV3{ z*x9O|U8_uCIAAdylU?VOv(l`|ZU7%pMT~r~=br2)a2XodOm+*F_hF=9#ekD)cB`JF zB44fqqXHXZ+3jc@TNM~(vvmkMq3qSj8$C2~aKFhu7{{g<4o&tU)UMbAp~)grKA(1t zVbf&y_}K^Pv1A{Hp?t<<4*;kI*$@V<+Tx|cVD576hv!ARx>#WhWdO301?3m{U?SSr z7?ZqXI9OZ_dO?p2Gi-2A=x3xyzWr+CuDQa-x}qMrFQ4fr)!5xW;67YHR^$nHQj>*4 zyP2=H=OlD}_Ter(<55}op~P^=&t9Wz_XyUmu2++V3;P<@REgmVFZDVHo?X4ny|8M} zBgmkYJGv<0yrK+V&?ewice|}W|0Ao`PElx6q1YOnZ4Wq0OP4}>{SN%wuxWBKT(NF_ zMa@9BfB8>1Gsrp-hksv2d9#OtG0Tn&ML4^Q zu%pfEHV4JzXkV1q8lVZ3p-5lBN)UT%q&rxm1G|+Rc-QVM1|z4kC^nwJ_a^8|F~(nt zE5tg6KVY#x(9_KpT*^W^Gg({*%fV1UA~xBQpM8Wb@-h}VL{J|4w|U-92LV^Gxd5Kz4c5MPX8C#A6o=elMTK9r3sTg z}6@^9!Dwa^qO< z{<%-fa59!zj9ezzm!q+ny=1{T|`EX8zz6{3F$_JMQuF^;=_aFT#4coI)N8Wg+D>_9Ux%AM$cur@a{4|}q+k@J@=_m=Hpkldp9Se$S0yGN z8y;ddkT%*I$Tqg@n{+^%?9=`1)0CusgFCqrk;y(2KX|qnxN3*zz1WqHn)U521b*SN z*B2+6ayExHzlzIRvsjhuit4+z48F_hLF9G1BTsjl2)EOxrt|#P>g~SuF|ZaKw_#Na zuM$CcT%6~7p{-W6y?}?KWK~1mr(0(P%z!I#QDX_Nuxo`k9q4dYT?&D<^@XX$>c=*( zbJlkP@m^{o!4Y|E1N`_A1y;4cS4%FuDFU=R)R`R}`aF{c zuQ75zU|>6Rx8HG9_o}--Ckq=m@4yy0>5*Q-LAy$~6MJyHg;K|^SPQ3k`_S<}egzKO zGkJB`_fLy(lYN1oeZHdOMG%Pu7bg1>h(s=+z`*v+Ug9fmls^q>0^UdZvR<%919oVc zi|e*{BcE2J(2dK>>+A*ph!wyNosPWa4vsdFHunbK0uypqqj*pzI2H6@)MQ`o1d3xp z+!m94rJsG7q6yxZczDgElWPv)S2ubdWm}}M>>EO_vm{sA#-}IpMABG z+3T?cqjY7mZ-k{M`ekWgJ7P254pLiEQd_$1q}I#Wd+Efk;}vLQ>2{LZ3Y5EaJ4tPY z=KfES8eF*Vy&|cdFxj{I**7b#!L$3K7-gC4+q1jBc!m7S?*5L8j<`^(4s74*<=*FZ z1Ce_mO4Q&njYm==`Z`y{UdwVt$UT%RK^3W2g#!l*>T=4=mpfQz<&GdYvbzQw~l`A#eEEipu#uxx+wVu=Aw1i+=XvOnY&cQKYqc?L^f@=@ogtwuBL2$BF z{n+No5w|CUt3=+(%RFg?L_^S!{^ntpEI3?L9^sl#2ln+$R<6$oyGC zl=%YS2q}s?8E}}JR_8&bRxK{jgO)`Lz)P~u%TXE$=ajSo;<7ts0Jwq{y^jzyI5~+s zY?op5kW*q6?NH@C`=Bt~;vh(eomm1xZG>__oV;lv`KU6aMeh-}v2%8&alZmvZ@?)y zS#n|3Eo514%tz@M0!8nE2f?anRIgSI+nM8~@>wi%e1+g`KXOqGb3TW6x}}Uyn>Jk8 zGXTNyYC{0m39@OCiPM^ryYLhG_V=oaR=ih%>(b&-4+Ozw#`+-PvhZb`u3?0`qH`kj@`_ z2L;U(hxN0B570>=i3W6Kol`gWj9ZAiTUoUa*HlR#L6}RhAH6ybZbu4}O2L(H7(Gu1 ze2JJ1MMpb||7EL`qwr9-HZT&VLc`J;@wgCmCQaZnaUwj7gv7d)1Dx6ov7g{lnf z33OOGg-ayazr;C*!xAoOvVVn>G6|D=vdR86BnFi&j@GIpt!bRA|HjY0Q^g5fWk~@` zCi`JD36EIrj|1DcdHGK{IIT>8OaTi^p?w4NbsIt9}lH3xv~Q8^LqOT&>P#I6-u1fwvoz_J3heE7F5V;Ru zzB$lY9Oib(I{L;Zq0!-EJ|K7W-`GUKqZX9@G5y^zr6e1b#f_GO@L3}KU>^+YJKB!$ zYEEpFT4f*Kh5*Vf?B|=e4G+29InbM9;kFQWCB!d0SU|7(RB$^8xYRRa!ZJx6d#(Ob z{>rkTyD!u>mGCE!&}Fnj7q}K9>km`83@x(jHlPcFzH009aFytSf1l+XQq_7$AOcY^D%Rlq;F!}F zAauIrqr%7$vi96^FA(SAu$mY<49!1SL#u8v>g`p5r za;qj7=lKpsP<+neX!GYgAgq*bA#U7W{tqNp1Qv{}s})dk8yc~@xtlG!1#%*8Q!9`N zy4$d8^ENc&R&#e#So*i288V6V1ohFs~Ci^kCy1_$T zW1o<@wL6#@ll=sQ&8hk#QlCU>-^e)b*L(`~#;-j-a%{iJ{sX=q9Xmd5vY&u14nvI?3Hm)#2;NiCQzr2xKSjfZv4{zlV5gegd z8UT5T;K6wd4$b%mt`5UgxCFw|w_!1&ot_r%2+k0W!CjHLPS!)ypMT{0y`LxFVm$1^hJ!%Zmu}S8hCfAC@kz;2SJA z>|4`V-n@BV<%tP87L&!zdk=nAxNM(yi@;=mh?Z6KGua>}r*DJ5j#7`Z!TcmH5U{^3GTr@Rac zv%C-hXODsHS9z&-J4EhPi|~Y$fgYy}*CYgza`|@p+nq|Kdd4kr9H+*i(yHJU0h~?F z)Z`je&y0&@zAkyunmD*a$z=`qnjM)o+hMCZQ$nXv;yhNB_&U?jiS_pFL_s;wilDN2 zL&WPj97hTFPovEqve$Xfx6v!NZSHMX)m&_rTLm|3caYpiXBf@zgCWd}h>u~&blRc{L zQaF)|uF_qa?!~gYa#Nt|>45}P;{I^X<|Cvg8;XWNTBSjmklWF0|KKVD=xuLOYD5>C z<7y*3TvPV83$xc@Foz4j$%UH9T>>sQ-2^|mClUy^Y;yO??*6DgW|7_f{=mqUZr|MM znB4s#i+epng?l@VNHtPrl#VjzM^`N?emWklp<+0V`ay zm%c*Ea!l@F+1=l`-`h~*{zxpm@{@&KHzR>|hQ9Y6j6z_)I}$8%zqg^6!Y-BqtA#qT z3QbjMOU2}HyCG+nmdW9ALq-;h$vpx9i&8Q7NbCq&!sI4Vx>RaZXGozOEduJb5>dvKycwB1|WQC;XP-q7aW_qGIUY)7}<8`kT+P0*^I3@eZw z81IcnVkq($6FvkbTzzim*u!<)PaMuIfjvm$CU*;%6R~4*^c1YMarprcHkurKlKHC) zlO=w^B{>gi1}{0v&nM#aiQ}&*{q`~ry~#bvOWaSv90vu|tNJu%EQntYp39k|M@A1% zm>k@e!>5O)uw^~X&z)7a^y?@k)MawdK(~nc4^{NQ_8ngOv>RkUc4U$4%DBV@esr5S z-Y+IU3Yho>j)YU2FrV|`NZo6M?tXJHen;y%*CjCuP?akyjV!l)7SF(AE5KzwJk}Ug zwrX70Hn)pN2qM_>7pkxl?S+n-Zb#KwoC^^f30w`XUM zVlk_^qb_`)KyDC20*|5KiXTr=dew84_QIQ-?UnA9#;=rG=>U&v@TT%02)pMlXxK6K zZbt!J7r!7^OvNdSatD`xKmpFe7aLK)h#?WOaD=Ym%7T}iXL{e16|DxRPy`BS9FBku z;hH!OzI>liPQT(QDFv-N!?is$CzJsF8>a0r?*ESCzy0{{`mQU$M+1L+84FMG8g>rO zj2eUvi-KA94sNFz8=h3+C0z$^Egdg#(+(y$#wQl-q~%;$dv_RP&kKpK5TY;KN?J6PVneYti8A zIPha~e}T;u^{>a-R3J6Eclo&&>ZW_EJ1AhfOztl^AUHOZ=fyg<1L5b6xK%7?hb{ZK zNuWSn+vo~iI5YgOpBZ|X*|?jq;HDgRQ2w*C^$VgdaL>F2C;iC4Y+j5bZVg$29q1}z za7fjGP*qcK4uub@DX`oJrgpxJ9Q*b$KlfL<*kNQZXfIsdCI?eHwGnvr8D7to zfgM}C#KYV|K8S#>n&EbA1~7H`E@2%@uf~Hzxle-|ISB281i8=nxlbuL{|Iox z?oICV;6(u_S9rOfxR#FAA>=+~ES1A5aJ3IBY{ptky>FJ9DuHV%d|EbR4AH9X4?YjFXe$RqyB>KTFAwC1bMt zL`1#}CQOk@9piL;k+&xxYDdDPFjTVsnA*kGQFo=M638I+l6jmzN%p_L)9uH#M18+kU>1+)1Oi- zatB!4Bq34p8E=(vWz9K6xg|s94&kz|*3~`TP6Cn(DIho5G(g({3?e>DAk0KDc%>s6H+Ziu$wx&s$5M9+U!sj z?2&463h7&|2X$Jjmvkm4R}5FBT$+v}>^xY8!pd=N4WDB)IC({{Q-O>?ibh*dQ2Mm6 zt+xehm;_&r0dc6@;uP?_gg1cX=y3Py z{fE%=I$Yd6b(h478m-M31Td`jlvI0bwB*U|k|AL@+X{3QybP+_F!&AkEx8_QH}|j` zllvkBf=2bMZeu3*CH!>agvoswvQDk7MiXt$@CaI4$0~3C|Jh39Ky|n zcuejadUDfm@^(t@Tlh3Sdidbj{?ho#Lwk;lncR0&K!Vk{)wvEnOE^q@SH-aXjf(y7 zJ)EwNA0EB-`2Ny$BV)(+o7{f_h=a#Q_8lLY*uSr|_sH0hVu%PmGVk z;mTx?Gj`WL4por9!RJ}2o%pVa~WC#R6+pb`e`tzF08FMhhkV9b6$_fH~?n}ZmGU=b$7fgM}DHQ`3C8uuVm)$Tk&gljci=o)we*Txpg zQ_3+Bw_5Zt2-qDZcmA|~UKmBQCG%n#LQq|Fe6fz~#x$+|XQWe95#i&}67SMp%R@yd z>r@^gvvaTq9_1oPh42T>qGK{NC+Q1haJ*XR6+l+FiNWYoQJ#1pxI>NGkrp0a?_x0# z-~z~EJK5$9{fyk*Z&vGBLO{fv;mi;za2rn(Wl_QsZr$OJ(c_TE2np#2RKn%5#YfZe zdYQa;(Sy3a^2LFlUUZWtM9PRB1|}!}2ZC=3uZod_NPn@Jnw%sZO!f)gDYd&#Y0`kR z0~BvW#K}P{ghAY&k-xYnE`RkAR!PbUjAisx6$x_#5kHO-w9@aSDE@Y222r}~f<(6X z;97X()Fn%6NPI>p;BM!DT7ppdU&DmDjaqTDOa{( zCS+|cav;;xREfrH{GjNZIqU;Q3{3D`%^ zt2tBgyX`hC5ntMoYxt9sLCjgUED%JV+<|pDVt2*^I_@54@BAzDv~^$Y-e}O5bU?Hk zY3L@-50ME*qL;H_GU|FFNDlsRh3$G4D2B=YgT=M>+ww$^g{c@H6(EdtWuZNlC z)WhWEo=G^(fnrQP%OsOs;Oed3E5!<`1kY{33>3Rp>O!5!b>hAq2?K=!FL?MP+MDLx zRHUH4l4Cfbs5RnCiXv&~+zebxm7xQX_Ve zpSuxs2dQI4P|&r2KP2lj$0jYR%hz&<7+mo>~BqR7*xpE5n1!$h;%cr7c zBN}jH9)@EOLC_P-7)}pDn1L*0%;D%KJ;5A>04}BU1OrEF#8x<6t;^}u7{r2iFTOyk zGv+##-^Vqsse!Mwnh+sc7z1Z%KJhZfEk4kC8Uw#+wL!|RZp4ttm<2TF4)oe%3kN4w4VIZP9Sk@iNn_5)FQqMG;EowsMlq!_K4ajR z={}a1>__-$5>Ygaj)7eEin-K07Ol}gLT3iPnyeU<8J7bmJT_U8j6oPV>YJz0KRs=p?kE0I%l`(Zlk>f|j+i1|qC7Nqs(hxr zu?}9bQIGjMZyam3W;ZS@Lt1ETgd2Z#TFLoqcllA`sNhwS6*d72iD5JgboS zuz5C6i*Rz~7B5B&?7-pkGT9pBo`hKJ7nqAJ1XlZ616z=?8e@J7qbikXk}s78cHrJY zroG5_)XZ-yZSHAypsqLO`M!Ccj`D@*s|2)_cuXAFfivwPw+)ShTdsb3WG)x0Kx@x< z{1dW1V_xE$7i(Xz>93(FsI$CK9oVrQ(8)NAd8Kb&p+#P$i>ibmOG^VgaIT(;LBrTF zh`@u);&cr`x+0o9SI(Xg*+P`{9}BArKZ}A0cLAz=SY#2@|A)T$eFXTIp5-)WC9AChVQ!5of%D{!Fpk%=3?J#t8g@Cvg><~~bI)VvE zEFeBghO4*8!??W?5;ktkn{R{jMCGOT|c*gvRa*mR4_%?jxOUup>%*L^Cu|;p39sz>{xD!Ij}h5l26A z9l{~Ix2`cCR9&FrJ1Ahxhkc`uBb$!~^brTtn7^|l5IG_?g00=?59pUoxYPA2By-z_ z@ChBl2~yNpID}97=Hog8pRz;fg4CFQup}-S#66hqq@xGoJ_`9N0CQlnYR`+tVOS@P zE5LTI{k(5JtI+UbT!G)U24>fu8&-9$loW@UQlG24mCMhtdtsFw7(&ysdj3X^jD z6t*3dV^Dx_NrS+&EI)^Zje$jg&zB2vv4k;S25ZHaafvEmU=GOEI&dR{sPuKDN1?nP z-D?cA|MZB8)ccli{#nuU9Xn^jmav@I>UU!_D%(A9hF$HX8(}xjgbV9&tmh`MG{E6W zg3AXySklqK{f7!$0_0wmSN_X4-%}`mpt6dcM5$}c5ADnfxe4fi5*y;1Vo*j&4t(e5 zbZTMx;M58Y%hcvQowUf8ly814=*Yw5L5eShBRBb6Y*h-1fDUZ_H>`|~pL*8vxZ6l8 zgFvaXmiPU9UctPRoiznhXDxqcz|LS2TjZoSuz54K{X2^YGtt}&!xN-aT({5P&Cl!g z!~7*c1h3e&n(Zoz!$Nv#ScWC9~*4pd*{C)EG#epk-zwATpC2yQb zN;O#B{QNJ=jqyBelQ~OfCVyG>p=Ta1C9y@}PBhLjCJ$3&?y@$f{j#>nUk;mKX}*d2 z>$Uy{7nXPW`AWW;_gMWpLCeHQ7CO)n$evgt>${Oojd z>XgYp1_%aQG5NC@e2pI*6r2Ml%KIJ8oe-1jsI86SzsKJMBO#Zhe#mwg;wJhJD zbwG;WUW^L331jjvWzD56CjWBGEny(XGWl2HXig@l@?HK_IQHRI163?IB$@p0qj1aK z5i|K$gQ#yY`PZOzno&&tb@+g`-vH>^=9T^`IP~dtALJJGH zp`8CR+hnD$B4-)Jzs?b1diIz+BymX|H~DXIaQHfA^53z^VGKD-QCTL8*tU>c~!5_C9XHDTEqOf5K7o(0`AT))$;M451 zDclX%Qu0Rl+`=Wm7S{;uJf?6@f=h#pDclRmTDvtnWeS%HLTmG7MAR+Z7qFZ#h5Mti z# z1ZJyn1#*^_PlpLjEZKBLCrl)kd*5g+utki9wuiQ#gWsEE4eB6s|?D8phfb#^7*+~?e5SzN zf=<|`0LGbjAsbBr8^ap?DRBu+0eb@;Y}R;?rT~3+-Ua?M1!%kt!c*~@RNE9FFBHNU zdZw^|!8U}-klDfy&KEXrQ|O=`ZvR*cJOf}BDl;gwL|7{zgj`;ny%BB>1PH$t6n1rts@X zE^G1`C`vxrnnw@M!jD>j+TSEBb2U@=Ei_OA`9F^+L!=u~RhYu>V7cfq$MW^U3oyK( zfGNBP;HoHR3NJxgmJrtn7mUB=%x<8KGe{SiTL>w&BA$0)mK3U9+7;Ob9NFp;d|qE+E9(Qy;JweVMH85(2Wd@zN-Mq71I*WaL$ zxZ{|@2a%l8`X2^L1Q~Aee-vMw&zrD=zawE;=P6V8IOdV~bQS&{AJ7DUi;G<0|AimK zh*9`7;6Vv7E)_mQ7Qqd%@Q+Aojn4xh*=$VVpEz`Y{m=Z1vHT0_S}E8RzJk%7ZS(MD z3SUE7&qt>4uYfQ(LYTrgk)sM+Q}{M0z=`;#@NaBD4uYoe?`XLa{P++2Xazt13y3^h zIcy3)V4{u050OB&Df}2PQ%*N)5`cLQA+tMXO%lnLjA>081#94HYqBWVE}_aABYkSg z0UT3_QQowvHGHTPbFJtEgyZ0Ojw^|lwU)^}L`n)}1&FY)0u*kJAqJjJSbi3jvSSgZ)x=mWbE zaCG_DVxvLX+`*h%gY9Z9+D9~+DoGMI4uFS6K5mEbboM^JEAAz>L{9@^HtS>VibLYB z8C)||So5GY*aa_wA+BBuUd-?k<3pqU@4?CZx zHu{NAX==0Yy;@UO_}-f|waxe5rm3rZ@12_3;d{4gYNzkLS5v!u?}M7!?Ry{7)QInW zMpJuz?;D!h?|c8Qse``vBTbF^$+V^(?kCr1>X4tjtEP_l$xAhLt)Cpw)VQDAp{e73 z@~Eb+_mj71>ZG51vZikIlh4xBO@8u)nkxCpS7@s2C+&Er{p6eVTh&imY|Q$}&+E6E zpZv0>PW#CpYHHq3r8L#_Qw2@k?5FOcskWawqNzncb%UnP`l(q>E&HhjO+Cs_Eo$m9 ze(JHBdYqqnx~87sr+!mYzv8F9sHrFWsjq43DSql(ntH0AvN(OZpSDo_hM)E|_nChB z5=}kZPv1vV&+*ekntHCE-l(bH_S4%n^?X0QQ&TVW({>y$_S2{I+e`iQM>O?vKW#De zN-LYm0OjCc0$EGy(F}xF@sZSt^uckhU0G*op6ymRG>K_pD zNK>Ch^bk#b4p*8r^#$B_)YKPo)lgGkf}69Zz6{H~roIZ5gQmU?yS1ji0jsj6U=XnM z{2kbB_1kx0)YR1XU@_Fxf5Hx@sqe$2rK$ghWk^#$g4IP+KY@WkQoaWzzNVH;6 zVol|s=G9alsuE4%pwY9ngq$_!95e#;+nGRo`L(#|EcAzVGUdhn8`9A4iP&jpD*^2)fU+m%gf)4GYWA*!S6*a{fI4c=y)w|EYTqFgc2&|9@s@W_M3< z??wWNsDMD|bOe!v01-t-1OY+>iJWr|Cg+^9$>9h#$ygFO2a|IK^BOQo82bf`;RN^p zRL7aw-4por`~IIF4`1!=c6D`icXfAFbx%)bYOeGdR0*)9YW^sNKKxMWGjD;VITTUp z!-5&hqCrGn4ut3kwTdFKWH90Hu*U}5?Q6dGnzYYB`|q%mRG)YBv7*U+Ugormc{Q}` ztp-DhA#EFkefkCa1q5GOcB0J(NjOG*asWhq^7N~GhBuqfJI&`z^U14HR65(c>hlTn z`JDND)qK8ZKEE=b-#^k*qHpS{f|y9dIrG_Uzw$b2quJ~uL-hnvq6%_rCMsC?WQ zpguWMp+1fLCEgULzMFcLJ~ZDyHJ`KfXB3&wUgopad~Rqyw=|!-n9qI9=RxN4DD!!` z`8>~jeq=tsFrQzWPtzW;DL3w;e~$;6&-u*fNb|Y4`5bFLS1_MOzIb=@{YCR>>KS+I z?@8Hw_BEe#na|PYb0_n;zxh1XeE!yaKC3^=hEI86^L=geImvu(Z9aD}pQfGUE!WZy z@@iuB$*XMD=cVTJYV&FOP2TXQ(v7~!wdv~n=lWAFyOi&8yPWzodLTDPsP9jjPt))6 z9Etoc2cy&{@m%%Eks$TSaUJz(^hXZEsPA`}&wI@0qvq4JhitMdI<~LXC;PPOlbulY z$rhk|${w5gG;&LvnePW-nqizVDi`Fg)enMlz%*B$+Fom!9#q?U)hZ7JeI|B9ZT%*7 z#BH@n9Z6f;q>ggifJq&dwz(#CRNDqk>Zq05=9$#dUYZ&3F3@PqxVXKo-{5$9uuwQI z?uga*n){xp?``gTS$!YizE{-ux!m`v`aZ~gujvf)*dN+!y+zW6%SOt)Ju` zYnynSQA(zXfzR@*k^-iUH}XH|9Gmzbbe2v14=qYVHn%^t*IK2zTiD*)vLO7Hp0G^_x3-!yRhng6X_oB^ zS*F@7roP*{@4CL*+wbkQR9Nn4%ig)bXlGA2KnR`Y>?&pNUZCF9Qk!CTx8K`q110yK zwwS#O8Ta;ta|_|Vwu<{pF$YQ&4=!Zc-)1po9q7L6DjsaVx7P*<%R_D1hZh(f?g^&i*4>pCHLip+?QHvllyY}y}dR} za$jL3y~2t#Tz41ar9c;y|eJ7J$8{JVEB zFaNfH-k=ZY3;KcnpcS-%6bt|Z!Q5aF7z`xud|-aS>JzD;hgEzaL}1+PrJFL-TA z``y7?9e0J-g)_n%C$^{IO{N7~gR|?Y?nuL1VW>#kesGkR)l>e#@}u;}MngG!Vu!Gw z;WAxWpXq*^X$G0n@WJW9tcF={tk3$0&6+E(?PpiqE%kXG*Lm80t}iW<@wWPme`;7* z8b0evyQ@CaOKJFmZM!tgiJ6A4xSaRY=X^U2U-voRb)=8flYWtgA9&JPj`W#&(r?o6 zYfn1Lk-l0_`ePdY)0572r0>;{mZCK5_M}TV(ogD1d!?naCtcW)epOG}nwI){(zP7v z_w}TM($WA&TAIg_hUI$F1=G^}o^+@q6-!3V9cgJe>1yuqL#4EIT3Xm=Th?V;fNWKn zax&T4+y0Jnbxez=O{(>q8J0VyCDSIgx4o-=EKi%1md2_QD$^!qO4uMRt>8=8(3P-O zeH{)-OPhGo!yM_h^`yt8rQdkc6CCLg^`vK}rIS6WU4B}_(#ssz^Xo~k zN=sLG(rX;)<@KaDrlspWshg9+TkA=0PfKo2N=tV-u79W}eIqU1?YX|?NdH_<`hHq^ z*OUI)k$zfF`f*zNizof7B`t~dWR@VU1S~i#OKa)Oo`sp1MybmduI{qEQD4H8G}_paMs5g~ z>f1irIgPgVq@L@4*K^$`jdt^->o@_r>PZhwqy0VU1WOvpXwNT((Gh8Mh$lVLk&3Zc zAU!3Gj`5_YInu@INzYEBGd=0Kj&zNB(ht+<0#EuEM|yuf>8EM*i6{NslEzEdlm0D@ zW;xPuiX$CYPx?(7{lk-PSq_fl5&zP~Z(aO8kktR`^uzRL0&NNA^0Oc#{ zNqeP9)syydq%YT#wx&scPnufNiWmts{L5xanMoEfqou|f3Ct7LD6I66)@X5m=VeGsV#;<*%b6|7NojJRFT?t>t<`!vHMulR zPWPmjTX9;d^^!lGCRcjWXB_F~b);pK<#|V1cFNLnPCe=HwCt6oJi>APuAX#4S{~`S zx|OTfw0hEw((<~VbQ8<9*M;?@Q_}Kgp482-y&kV8-99Z(b)=$f}?%onX%&&Xplhg8%zMxYb=~zhB0IDx2w)U^r z;PP2%`3%qI9LHuo*fgK`$`_~Q^L@5UTs9d{J!HEgEnn`l*;qwuZ&?z0$aZ5|zSd`R z#%S-;$(C=_%;3#b^7gdsE!48JPy;6_cjoUtnZNsH{_dCgyMN~ITCUO` zr{!0CrJc>+=Q%2^rc+xF=FF3GNiQR@Y7|A3Lt` z>6Wzr!;m(g2C65g)%9Gqs-5ztSI=-E!0_;3D&e^fusApyTn4TLH-cNhZQw3&4|oJT z16~F1flt6!;Cmv9yfQE(bQmrG)&kptBf#X==-5T5u{t132!ul}bP|knoaA@B&;35WcAJAS~f=*SF z!3PuDqv^q4+CHYgKb4657)fC?{iW@52{g9-jm}jA2|M`PiS1?Rz8AWsgidAsLFn2s z68}OxlQ`-!1rFkvXE=z@p*SonbQQ8`5jY`kWsv2Pd8;%%_+WH`KS2%Hc z*zeL{XnSpWp_6n;n;y1KY_DqOox$k#+6s9&(omf8j39=#y|!YJP|Vp3Va-)~C85L` zLu8p-KIoV>Jsf1@*|xnlo@9x{%S1FK8W0X<&LI>(AY4%Wkqiijsz1sD!r}6Viq1PR zRu<;cqG`CWYElV^(dx4&cLqb+YqE0WlGVhn(%WmR`9xy;bcYD3yJK}ps!8`0guw3twbyii=NnJUF|xh3wl51u zeO4NxA|j1s((OQr>lRCtSYaBD<6otrHP@hGF6Crfu^?NERmJs{Z0v_;+h}Feu?V(7 zQ7}3~1d|+2unmjFtzIaumo081Ra~!paaNC(Xs>Nt1ItxX%9o%&ytFFg7ngA zGK6nyuT7R;vic)FxSpAGZ^{y{B-)}#IjKM?@i|2~rAR3*MV4o)rQEVeIk`aDrYSpv zY3(&xw6!(Gq*-%vZIk=i2{ASIvnx^DBhSRJZ?8#UI@b(SL=Zc|rOU+~SGC)&NV-*# zR02SXbo(OdHmZ6ubLqw%XeoCnQcf#S&Sfcg63UvI1JiIjsALY@(F~Qv+G{&Yx}L@K z80H62%6XJh?y7Zy8SRYr8egO>b|;0gBrNX>_cYs>{JuB8GkfyazVg?Ma6g1rdb3e` zZMR}E2dH8c7d>&owg*8Da)K~~_7GAzLV;T9$%w7NJ=KrB`7sR-QOs?3$b?L;y%a$$ zp9`U3)u(x`eH1}!J{J`vSKsEjs5%5~`CR*}9~teLZV{FZ)6?_yT%LCu=bj`phlUF z(ETgqZpP&|tQdk`Om|1>^tp6817>ckvA^+5v_>ASN#{1K+SMj^ZuA{n(EdS|*HKF5 zK}}^ovb_d(s->IwcwLgvE2V4=j!~()r|VOXRjIl?>r;hMU76pPN2ZhIr#4ho z#`s`T^p`X|leTHEF)cuQ4*fNs=F%A~ORiI!a3DAc91IQthl0ZZ&QO3u7yJes3626sgJZz4;5dL& z7@Po31UPKL$>3CQ8o-eX&H!g}Hkm{C+Cjn{jl@9;4x)3>9&T}$2$g8gh0@jHX%w{q zEnk@QizK~mq-go{@HXqvER8zhRCNXmK!S2u7Dh{TYI~iER019b**KX;`kT`+BGCl^ z2Qjz^T!PFzL}O%LlD~vvFh%@UiV)^)AESvA73YpSNYqDh%6Nl8@LRI;O{b>PHrM&YKo#q(duu^20@d|-=6HM1>XR?3iK6;;K;GHG zu}P*Gu15ZAz;)ny>cO)TrXFKVGt5I#Hx&hv7OrcDo5;^|3nu@HrX3a{|L^KVt?#L9 zi~bHyJgsCnbr?wo!s!k;rQuU3QIpQNgRDH>WU{VgvJNHdbd^;$6r_!3@GZf~tz*Lz zLbSznFauURA7xlgG_1yu`9a0%b;If*zUAi0H%(tQ;r$@IAAu68$2+DC#VBnJo`%SK$!b)kArs~-G4^DPrJ<wC$p1NyL#1~S8I^85id|51_`iqMAf+D`82p;D%MNFb^Wd>Xh zrr)X}l|l(DZihNf27=4GGU*=nQR4UV0}#rnNUDT(s#Uv9vrzPLhKVOIs|X z;YPORv?VNTMVlQN+O+8vM6-h}ldj;@k!sFffO#SaW`m!=&n!cHg!~gSXN55z^V&AX zuy6x3#CAqc=GSc;_9;rEtt?l!%<`ETpkZ%{;361#u+!+t5Bx>2G~>AL%Wo%om}j38%AplscluocN-W#^TCCgovA~-3>P2n3|NT6#U-P1 zFmwEtl%E;x+DTy8hE&oy31t#;K0-xNii=?4b)CV|tnZ%Vc*~<5a51uLJODsTfAIF}l`p1x3pMsWVG$6r(jP4#c@>Gye z2h;GG`CE^OfkAb4FfEy@E10lES12F+KTJ(UTLv;PMuB!P8gzig!IA(^DqI@iNrlUT z<-l05JQxS?s6srda6G`93ReNEg4MwU2G>S*aFxzt%43cxNtHK3Qhg3p`gLQGTbem7 zZ7P*YOPkY7bb}2!jeuwql|_!%PBgSa)G@uZrFaq2Ta)V8$f3Xj8w#LgIUQly2vL^J zX2M2CPDodmQA4j%1q)OL0Dok5E!8jG83v z9zbh2S%^fr)6%Z0Yt0Ch7TUt6?XJ>%XsR`w;<-OdBDyLku+Xy7J|^~f2Q0SqR7?*{ z)Ox`;5%CT9iI#G^L}b`XGKdUmX+J4biR<=zTEnd+UG0XXdYJ3eM>2ZIy-g-nt+;9F zAl)01I#p6-nzMCvyDHL^nPp3BZ~q|b3O4Hs*8C|vKB@GXTj}k1c}gP06A$skLp<>i zPdwZd;E9Ku13d9?3or%XiHBPOyzvlkJe-Pda&>`T|Jd-*Kk<{jD{bY zNi`ZS8emcnlhj|X;e;}@hBGZ^m3&Qk3@9Wl6cQE+2@8dUg~Gi6VWE()P)JxPBrFsX z777Uqg$Dw{LgB%Huuym?I1FXyb`E3gonid>UD1`J5K|xB7iCxR*~asf^TtAYR$Fsv ziBO~sb%e+IpHFvvUvNWJz$PRh6%vpNj{(Ob8Fw^j$-+MxZ(?U;IY~(-M?^%jlZAU@ z$>h|Y@}9#}gs6#|&~_nKi+Is(=gS|N9TQnxR7_PYnzVF*6W&x=FD|DEZ#|qY5(+i_ zo4!873zt_SeBkqn}@MWa)jHp3|FTuYLc z^5Qm}U;75}?BHy?lP#C%3RYFK>nOS+2#F1b#0JAt0P(@_G(c=HJQJJ^&H?ArgNOo0o$-Hu1Eks%6YF8>{_uWK`uJKYf(V}aGqKOt=@1^KLi*69AMq1SA zvp3KpH~V=lx=AwhtVK6ll3%Vxhc?inD{1wsz}0{dWq2*P9^3#r!A;<1`pQR}vs2V< z2%(?Yk-oaUSk0Y_;}xPigs5JN?({$Z-sNgIMcsx(w}U&tok(_<)uQARJw+vA#ZFg} z$w^C*Y({g*e523wL_Ku!JwjzV*({%Ws<_W*Z_vqZs_;wh1Cl{nqTy5#UV_{Y3Q1P6 zGr^UfXU&H!^QN=r!$scaG?Ek{cJ-8qk}+!ZW_F1N<*$U_Fi~=ow9ILb2s2UGv_vyz zrr^$CL6RTy$@k`xNqa)l#PVp^48d8DJo%p#^(k9kV^RO)lk=i7JL}~J<pt? z%S`3zFtzHYC7M_LrFQ6iP~y2_=0_W4emt8wW7j`l%>87e+)w9ndxd*Ja_dt`vduY` zmVHrvGTWSD5#=Hn+VEGqoTdVu!7^lexk)A!!l=(gj#r9uKjY=5MSMfqSP6MvRi)(O z9xX`7x}J-ByjEl_7PV4kIroHdp*@$p5Y-NlW!5zvmO{OMc%c7D{et zWh@Z%ogM6-U}7BA73?u@S8&$6rBYWIEZG%2&=tI@%#M@f5%zF8m;q*jd%%6*0q`Jr z2s{iP0gr(v02>?OQ{YeFS@0Zq9=rfv1TTYEz^mXj@H%({yb0a{Z-aNhyWljHe8Ip zP?E`0QX<)x%_Z}T(JW8Y!(#N6P&HbNzV_K0EJn`a@N>gIBty@O(SHlczqJ^BW0^Ny zjJ_@M{+}#H-wCtki_!N!IX}bGH$O;P^D!xl(U1R0QM+t;jTfVzd~#k?w-|K`g;=fs z#$r?oikW}SVkCQO`J#W#VpJ+g?%ZNjVzmD1#i&Hx8)iC>`PLi=&aPlQ290Lq<(~6m zR6->vWloDxi6u18y2)ZxVkPTwF)Fc$G+c~IEFf07>z0I4AD>vaB$WF4#KMw5qx6%+ z=8Df^Btc0{(qJ(v)qG-o$*n%IQ1bt9G5UgO_e(Gfd7p`hL zPfPOPQO4E@hfwMQl5Xd6>Gt+Ec3eJC9A;53&O6e^W4TIq%=#K@yeqtXzeko;+h zwMeALWPy#unM*?@QOnDEM4~PTRdeUOzZJS+Sz)vl+CZ4$8DWGdTVpNELP8-)jf5Fd z6h;@Mh0!he?c~n*cH~)DNKNDYqtJLbJEcV=eU6PcQmA@tyhVi~+j#z@E~Si;)L+ng z?OADbr5d!}=!`T%RNs0XLLo`E^>WfIR+L7URA|0vUj$!VNKNy7Q)s?5NMAzI^UXKD zUiX$1sy0bzrh8+GA~jL3rLyH|u^W_!ndHiA+(63|%WKpG)Nfg#lO?&aLpvUl<%C4{ zJjMzmL&(jj87pbRIxXeXWX&)2C-?F~VH)`RLIdNUmBvYWzJXWCH}I-Ztsqowl2G5k zB%?!CM2w-0p zm=DYk761!^Appm(Gz<&}3xN?}VXz1o2^IyTKsy)>I)Lz994rBr1Y^KbU}>-nSQab? z#)9R+IIsd>$GWr<7!OtktAJI(YG4g80jvquV(p!6*WU8MdhJc_q3t%L?exVuvbt;} zE!lYO-B^;$Kq{<~!H;C!MAFR^-aswZV_eW}1+~~zGG%A=?2@>dBx+XmI-~iiC2{kf zOQwddWWVTdA(=!^>>Z}x65{tDcdf&qPH&=-LPSzEvfhpLTVbOxU#KF`i@FEy=MJl zec7p4ev_*2+%xmWRo|t^yiw(ld{?1szGm$X$!?xif3;>AL)CP5akV1H?oDzSQHwcb zeG9)K-yV|BG;?u%<9KpuPf0f`*BqMJ$4*OoOD?lxoL@y?xsMn1YgIW#*gygI?YV4I zH8myF{8F*MDqCxRUD*fJm7Uc9%~4GX2Rg#+`t=CnAFQNmx_)IxWTr(9as12z)~wQp z_RPLXr4OrP->_bFYgihTXNRjKUE!dva0h~r5`$E0)p>GnW@$sP5!e`P0yYJkfz81d zU<%k0Yz4LfQ^7Q_9oQc10CogBft|rFU{|mk*d6Qv_5^!_eZan8f4~NQ=|FHWI0PID z*u0n5UYK3X-sUjqNA$>1R9@fMCTq~q(iD0PS}Qwt*3t90eNrzwUmw#Xiydy};l6B^ zW1D0#7Dl5|j%$*|bZLE-OmFF9t8=M?V@J^#M}uR)vEVowMoyfo%e%w=reQv%DNd$D zeLtNv%qdOEFEmVU!alW0oy{I#Msvnf8PLI}iCuVtWrL;+O3}Z(|_^QnMgM5O^3o0v-jAfycoU;3@D7cn-V(UIwp#*BJY}LP(E&p6k<(B<)6f5jbP) z%RK_pdhfZ0(T{~jlT3SLht&HJWqMe&G>vdE{3A)xWckM2;M$PLr>dHI?5OlEBC)Gh zVpmPx%Vg&3m(6jU;}PT&C6=6s6tVs)V%gAwl-J&N5-KA9;E?FY+}ol1ROs5SBPorr z?fnpP;_LqZEXxmlZ^rNQI(|Z|%q(*ZNb~zr=#*C0HJjU8DmtSWj>4bQHMD;(((b5e{c@gJOY}k8s@(ZAwJX?A zb>CugFL~(`@K^9D_zZjwz67(tSKx2pYw&lvmzQld(7NxDLtncpHTYLiszzFe0b8$i zdmz4h5H8wFzBSi6!ttelfgccSUn>?n!TJywS{H>%to^mtMI{ky&RQ4I@xMgtA{5v2 zYp!(>Nd!RL8iso7u^(oT+J6aco zSSuwEffz7hMio#6Eua@bJ0qTBlGnKzt$WfKffv)gDRSs*dC|IPKv60@2R-+jYb~Zi zgt?P%W8Dxk2NefbG*^*UH%UFMOd53qjYWg=4{DUDL$OgxU04UAfnYA`#Ea>4ok~|z zCt9Gi5dtot>Lm9EOPv-hh>$O( zvE3y~T%?e5w3VZ7nO09yL<^vK3xXkFC>REa#YPK(5ny4k2p9<#1*1Sa7>%~_^27$( ziebkHlq;-7TbGgYGrgK``<_}*ZFXdGHc+_bgn2`4Ra+fuRGQVgUe%YkEn^?y??GFM zf8;f2j@qjBKr#a4>n$c|Go4f0BTaMmq^&CzrOb^GqjL@Qe0+~NO)q7&b!ExWOj}oR zi4C-MRhQU6TUWDkG||?j(L5sjVqHf>_#-0x5fT1~2!BL`KO({(5#f)|)1 zz3{}tx+Lj4SyE?P)Cn;~={5_ZorRJC(qxwsBR<+i zNOFf>gq{)M9z|0|ceHDv(CF&Ccs}G9?Ixtk2W-4K+Ci~QkA-55(`^TE z+Css;VfHMN$^!FFPv+Q4l0t$>HKUL*h}bIBNfli3NXDuYA>d1jSdm6HR3)^6q$zsA{D>Zi_{Tn z?N#*Zb!@1!iA6*t<@!CENugnJ(l8S`N}@ zp5)ZS+un;O7s|CpM`hW`GloTWM>k|A>r;{4O0YZDP|J1JzHmh?4_WmSuRN6HBA=O@ z$C;d59jvY@so6XETBGAdM%{+blGQ)S>K>$83I-<#RSkn4ubL2J-d1#v)`}0@8SDr> zb`tcs1AmzwJw(`wTRjJ=C=_WY_sC1Hn(7`l*a=6&u48)is07iT>gIZi=u}~n)uhJ@ znq+SXY>iG+<>5Ot(IlChP8XWolvtAtYEG;fR(euA!%1(BvZkd6r9qUz?rwQ&jm|6x z7|P{mTmz??@JW+H>z}>Otu;EUm`ScdGnpjlX>53zf!y6`(b>gJ>P9qOQt9bjCU=cm zbdIV9QBZd^T6C`bWUodWL`wdlfx(Ja?maLUtf{NfqVt>OI**d|6>IuJHFqsrbU{Jj z=;=b=nY-8Mmy48`qIXJ<;xD)a&Fay`k|tIVK~l964o*}sd|YCm%pDGgOB9FsA+xrZ zWYL-`Yt5ySUhatt@uTQ6&n0?Bnp9;m8eo+4a!+G?FJUVe>T?&cE^rrET_I$Zo(kj? zPjsbcrVC7?=V&EU)Kxy!6eSFOrLLBAS=4)Mnrl3l=mk|NV+ZIUZgj0m@3CzbLe%Rr zY+h1q?7D9FT(1avtg`UAA;X6tGi{u^X}2}HQ4#c5E#cFd;q#j2ldsoJilC*Z<`F(O zdp^b~%w4eC8r`A@dd-Q?t)5TxhL%V2_}==RBIrFQKEKcKc}w$=Jf6>OilEP&_}rf1 zbCTvGc|4yx6hYrP@wqd@=N-*Q@_0UXDFT+I=4vSI{0Gmc^n>Ojc|4!H6#)xF&wLmh ztT}3=NAGDqlE?Fzt_WmaZ#pbQo*ABxY<7qqN*>Q=rXrYcPJHh1e4-CDAIanS-0KPK zV?gs70>rq8RJZ1J^{S6&T^J0V9o)&8unoF`E9LIS5`P@VEsgA%?Ay&dEEBi=Q3-y} z|3UC$Fs`*bI5e|YLX58~>_4WPs~PLbX9pX=e&4QO2X%P~2hZm4{|~|Z5?>3q57@Df z*rkuAf@xq|upQVQuu~uH2zCNHgI&O`U^lQk*aNUrAMFL$t&iBPC!8Ea`vG?BBX;Z~ zcI=5k1`)gV5xe#gyY|r$;5Xn%a1=Ni91D&E$Ac5VN#JDjc`Bc$fz!bm;7o89I2)V; z&IRX#3&2I-VsHt#6kG-_2UmbA!ByaDa1FQ?TnDZPH-H;KC%6gR3~m9pg5Lo;CAtmV z4(p*{H2|0Sez@Tr+i3dP#Bx9C%UR4ll;PyKO`w7F0HNrAKnpZc!_(x|yl{b`Z3 zxljFBk+iu_{dtkJxljE?k+iu_{biA~xlcW-NZQ<|{;EjY+^7Cqk+iu_{k4$J!KePa z&?tXUw&!H=tFa~(ed=$Dg*Nx8zg2~{!35t@?s6$Q!QVkp?^CZw;dwt+`_%u;vMXNg zB_X))8?xK50Xy-jF*q`Fm35+3;ohgN&rHrAP0j{Bb(hGf+Aw^Ua+~@ieIY(|914@{TG7;}j!_L{7qh5oyf3B! zigS}>pm^q{tWODed-v`EhpeF@u_3{mwcvQ;8VvqEBQ>nz^9Ix@u|iwW6Dce7mQ(UA>(>KF??CvbD0I>xv*tzG9+$7sr&ed?GQ0S--l>KJc#&OUX_ zlwi3u^QmLB-O}{nQ^#oboPFvT?X%44ed>5_pW4W$jt5D)Eb2|22f_{UV9%wIPaUHj z$be2ZXM+zC;|DlVU(%yj@;Kii#*=_xPCj)^A2~k8mytZ4&jN~|$7+c@3ugE<@~Pt? zieOGYbv)GbY3NhO!xX`seCl|(=hM)qju%n{45Xghc|?X!BcD26SP{(0r;ZoN@Ht8M zSI(!7M=F9j`PA{E89vy>GHd62>UfkQ5dXNT8cKh)dp-?)>UgvwV7T|pr^EAU=u^jw zDFT_-dz5E!&!?eJ9WS8>#6Rwl&yt=`L!UYx;|c10YBlw_HShmPpZaxtzc;{};4Sbr zcn5IcFXF&o^gj3i{26=*{tNsCd;~rQpMbxDPr+y4bMOWD5^%aK`U-HmEaG%o^mp(L z_!fKz{t3PZKY$-W7nlux2HpBI4te!l2}B?U#24Z+sDLVH0lh&V&=2$nHP8y$Kneze zxxn0D5Eu;R0rP_S!2DnVupk%$hJs;WI9Ldb01Jafz(}wt7zNtFXwU%`1B-(tz>;7L z=!Z}Jh4ra}Z8-r%ErK-|PRpTH`n}v(PVrdLF>T&0%@|GH{zn=frpBy4Jd!ztl(`K$ zUXIenQrg!IOIt~mCQoQdY2%BfSIlk10x?PiO;GvJg&yj^2rsjul?wxnE+Q^~PI55@B=bG&0?j?%EIR%&O=aa@iZ zJ2%eZWYF2alMQc?WREeU_4)#jWu00pypN*GNDy9x? z#ham4n}f+<3fK~C1-1cG!8EWP*a7Sab_TnF-BHCpZop^Wh!O9LC~4f!48i>h6%}*a z>@Ugy$hiwcu*)1D*GxLCWb(v-f2KtbgAx>`N)kQvv5sHn zlza|2m(s_&(zCU^NR@7Dd2z9H-`aDmm_UP~N#oTGd-YI?J&S}?*IRP4i)+YP zGF6Xiaxc*hR-!hUOjB796`jqk_cP;liGTP^HuW{@UXplkwttp?RgEj z7F-9e2RDElX=C>!N^*f7uJNSq*2s1D{=Fwk7+0l5XFeD~pu`f28TNF~9{Nyk7`qGG^;OGst<1RQ#YM8Kw54 zpM-}qg}=*MZFo*$!M-e*d$N|R{+TqMl8Yb7@HDmQ45pCqsORaQlH+FiIWgryxA-y1 zt8=+ENKaCaONvzAobwA;N6#}Ski33AA(Wz@JWMACl(Ow4lg^WpuKNRXgy~JSnF{E| zPx&;gkxW`=a4cD$_N>Fd6j<|cT>K}WJ+^D#V;tmGJgj=Xai}Yn-aOjJeBwF;UFAjT5iW7PtogvhcYqhAj6XOmS#;>d5 zdNnPMdko??ghn@om~>K}WRO9bdF4p_rk84m9F;!L5x-TCO1;`4+xYGrWBj&~O2RPB z8-X~7ZS$RUaYFAK;XRvPXQ&OATT!Mb14{?8yS>0c{Ig(JaKiZUUBQ!G!QNfLh5W15 z_OpWF%#1Std#Ld};9hVaxF0+S9tMwqN5Ny@aqt9q5yT;Cb)@coDn= zUIwp#SHWulUp;;Uyb18t z2_rBe_JdMkrF@Xad#nBvYJW5;JHC>+b!odpZN`?q9NyT7p)|rEp;6;570YU?9rx9%+yCM~ zSX>ES*Zq1REGdbUT8)z#?V&j1pzE80#mZ|Jbcsjcv8E*?zTae*3 zytUgL>rHU=XiqT##wEOnleJKt>)nwX6I3WpDzi$RNPVD}%96M$iM+FujBF*;dfVF* zI>Qx6TrJ04i0ZkoE;PA1Ww@^)++#V+o#!4%Z6{>8E22DiZZS*N6dD_8R4*%U&&?%) zRB$aJ%J!)uG!@r21q)U&UDb0{1vff=7f>_9LZe$M(B4`H5n;fFNsk z)!g$j3GPr{B6XI)R8)#_&&MQNs$#JF>Wa}m125@Gwh|hrKSE15{$GAAl1o>Ttuu_Q zD4hX2gUM8vlE!C>^`IYIFyeM5JPna-D>Tw8#mXuvN>xa3AL!I8l+}mrhbvJ~1TiK$DRGR%8UTuHs$ zlLOm9xm!jsT7H(YJ-IL@ORWXekKXV%HfA$ni&E~c^N86^m` zr)07HZpI^>KG1dgUP6$-MF&3Gt}2X0uO4^~w2@T2sB`qnla#fOWtEmTl~zhs1VK7n z&e|Lf1-^nV%p`@a$l@LYO7@fFd>jDRMe3I$W4%`c**xK;&N#_AG;@3^zS?VbXE2Il zaT6?GiPcK~;X4_=rh=UT*9;~H3#Iw6t){B1WsqFr!Pu>!xn0v*qRya2GtV{hA;LC0 zvP}7AJgu7nBqu;~~%LZ!-pKx>OlCnK08AY&f<#xpZR zD&OzL@g*Zs#dne;RnBIEKw8=lf?GNxUQe7HEm^W{S_}!z?S{iKiu>GDqh85NAHwTc zA#iiMEH|0Ra8KK>GHV|vnREV!TClWonWaqE63-7GbSPAHPNQD zJn4x-T9cIe+J!vRl$=!LRXo<~o@q-?R=jZX8}JGaf!8TQVAh{o7k z*lGMb8I>$^9Wou-A8&I%CT5Oo@H$cZJYQ#U6lI>)tV}ysh`cga{I8UL#+*u*mj7QU zor<5CDf$lDP3p@OB#Nx6s+O1@n@>zgCP(x`mWiT%xPWMKj?hGqq#S2XulOU&Ftcs>Rc%VcE)aGB3z|7$l6zoE=FRmUM%)Ry!8y8C54($lmzh;CG@L@XmeU9x~{_fAs%Y)6uJH*Rt=D0@2CqrJAE zwWn`ZX$!#A->oEe;E;^9%4|vUpb5%`K2ZYLr*Xb_--T=RgwXUixnd zyT%m2J8cN~QxQ8+v1Y=$ut9`K7%(!>b{uT<})Eaq@mUsA7`Du?TE#gHu4zmYE2{tddH zWyOyy=(^ka+xB~Ta9Q_zS@pYkZPM}M5@9?vBk4U-Zl=?8e;NH|25QzDrYoHG|9om^ zxD7ut#2d6#Zcg$O*aLOM(o8vGKY=lv3Y_chJp_12k*S8P_B3+zYOdN&3{N#=?C7aX zn}mU7HPnorQyE0K#f=6L#WJRI?fCB~|0BYqvGP;GW0IOx=i)U2!`yWFxMDPnYGq6h zb6IP!3A~D|w21N&*oVply?0jS;D zVja9eF#nS)*zRufPx;i<# zd82*)0qH&*MeYu!6@Hbcth<8|gitPT7(~Ece-?C&=~{?C!v!X;3RayN$7-= z(8&P6Y3PL0(8=6@)6fa0p%YF+C!B^(;E-?{I^iUA0;gms7zWtwP8I?q04Jf7MF1zE zlSKh1p%YF*C!B;%Ishl36HY=WoPtg`1)VGfmIlj!Wx-gmJQxR70GuXH#)Fl?DqvNx z8dx2y0VV)W;3jKz@G zI0={>1C9m9f#bmm;6!i|I2oJ*P6KCvGr`$_^K{9%;5=|XxBy%TE&`W=%fRK}x8O=} z6}TE)1Fi+vf$PBy;6~61ZUQ%hTfnX6`|tR?4cr0l1b2bE!5_hNFayj4_keqWq}>l5 z01twPz{B7X@ECX;JOQ3GpHK72iHGD_PAj}EEQZJ zy=!6)Ihokft0b#PfnT`Z6H4Q|zpf@!W?Gp~F^>EhhxhBKWUkj#{=CBnLS<)K>tD#M znT@3J_NwI1LYVO#D9cOqVWuoBa}`+?0t(b7rn4}ut1Ig=#-on>iuq`mbq2gsBSB18 z!;9gk9A+Is&N<9^E^e~7%;5Bqa58(q_+czQB8pjiK9)q`VVnF-8as{OwoRTn0Pv}j zNZaA`l=ZCjDJWflIeesSZ+EUJ`K(w*ah3I(dY>y64H#FX6y@LZoGm%>QB6arpEQxP9D4X2B>zQq5RvQM_a;qSod~j zVd@HAl8HK4GiYT%yaV0^?}7Kh2jI`(L+}^y5%?H<3O)m$gD=1=@D=!)0rjCBP_5_d z<3IhbZ*MIJ$dksh<;j35ha#O-Z8t*P04bLwT{PMm793Pm(QvLEFVi%I{a!a{$}lq< zoP`56ZbXzBYdI2sV895_8LUVtC|{uzKZ46>s!nvf%AP;{lsDdFN3~X!(<|!z&R$qF zBu^q-S0XQ0r@dkSol~14I-x6J%^y`$Wg~5DZiVqV;La zsI@zLzIoX0XwHFM!!j-a`u7E5XD2lMz)6|#BDpntJriXP+?3~)RD1ZZ8Eb$2Xf?4SUigkhN_emk}AY3!Ke_=cv&$v89XJ(j4(ROWcBT6+T zQ;&)E$O+#|g9(%K#hEEtN|gvRx9;g@8q`BjCH!C>hmswMedRCzst(zME#omXsFrEX zVUno*HOh@|g?_mFBr0NO^WsK=i}92fQn|(Nt=ENkFuXFeGr`!u>Abz9anxxm zYh|h^JG*7NZFDHsTo>Az)L^}maLLY7#k2Qr|Gzw56{r_R6YCZ|wL9c;_{D9|msc+G z{ktsmX2tn$5m#M@BAMKlYIzmOq;{ejj9r;lR)s(!y zZI4g;?alJ)Qc_P!#nsB?HS(pIXLy49kl9!?x||7$Srmq_EnxuFMg=*{RidXguobskQUQ#h>>B4SQ zAaZS{c&T3Za^;kGbHz)~FSTI$cJwMC=EXOK$}< zJKiK7)YhtmoHj^Cqjl0uZi@W*Gw7$P(w2}JB5p803L|}&t-C(Cysc!(PKHJI*lkFc zw^P#01Cz{DWrNVT$K~x6!2k$S8)z14rMz+ov%F)mu%dhH_IJxW32D81EX<92jK$8M zJ-El^U7S2c_c%N#7(P3=D;fJ!c$>Ugi=gTO-v`s>0UZ8(LR~}oVRvwNkb48y+yss! zu$uc(Udz>l^27`!todKjjwt-xXFm1wfXvSlZdO08miaNmV%5UWhDB@PXH#HSVqs#a zCuFG2`^CC~chx(YPf>4T{(V=lp8mf(m_I}81qrK#pA~DOtD5Xpcq&y4^ z2Md7_U}3Nb7zq{yqX3cQ@@UWj76(g$F@Pv?d1|D?1w@m}>w^sd(d6<*U}LZem;^Qjn}N;2WUvL80=5KOfvth0 zO$FP6?ZEb6N3avvg#eA{sd~v}@PLkZ1{X2_FJ?rfNyt1V)5|4(jJ?3zgv~HfhX>U; zdo?R$y#02+fM4n|>O1z*lDrPrOiP!!M13)Xep znDR~PIS;py1m*64ssKiFh0$DLG*@EkI+v|0@yK2hbMJLQduv64JZUn>)D#BvB z+{O%w5ib|Ys<3*wrSx@WKOvbcE|`QalvQDUEKtefrm0-;wZgJw>!ciXiJ_=alse`T z4M$Lx7jG_0H)kU^;ohvVDuz-QIeCJ-^N}}qy2YK@ujqJ^v2B#!l4dT(*Jciv(bW1G z7pkIyOSQfTU=L6zs|kaUf`pqh0lJ^#mjy-aeC$K=(g6C%3XSE$FqI)ftXxQbHldEr z5)V^XhDnNb7K*j+;ToNn$UD54*O<8NZO4dZB2P8WvZns(&@ZG!)=rl0SX0BCtRou9 z8f-)UMH=S!c6E-;$cDrwz^m27Hbh7us-mJgB2U`*aVwr6t*BUz(5M)`6s$}X|KMb7 z9;%Fas8X3MqDviw+dAZ_NzTZp@x7waxknjbtYScpu{Nf2Ph|c&#I+4i}~3_&nhaSA+~zPbo2wR^amI&Eex&73F)sGaLbUl z$$(o{vHcYTZaK-28*m~F4I=|ixa9}jSRwCuz`00WWqHM0N9ycrTRKD5fXWJz(yaD9 z47hE{yP^^yJAg#u+yL+*tkjS=Hvr80WIELVP$3ZE*TVo%kq@Ey&kO)B>?$IxWBflJ z0JdUk0Ib%qA@l(7609y%=0v3HF^Tt9CaC;I(|v|Dvp>5x^HfwMLSjb~(_|p4U*?Ra zoDZz1D1>novC^9ExT?j{TVmB2ccQ zJfn`xYClEG%mphI6{}Eu%`EBj>fnUV%W6qpdkk0&*-brbxz$Tpudmi2RzKDuMYEZr zk(svP{1mK*1mbQNp1+X{T49`RT$${Pv#}sUruT>|TPOli>c(Z^Nmr(LCfOjVZVo)@ zijE8@ebSS#vtZZ+;-SULHgKr*Vkx4TnXyDQRJf}$Raom7YBEfkqt>EN)%8}Lt{yw+ zqyALqQDv?&2T>)6Y);il)VX6Cr|R_W+8xuX@~5a=$Fv$p7WI=b{H;i|X4RnSn4XM4 zAQxb*Y^y4oH2{kt0T*AbsQ3e>Dr$|a?l|f|RjQJEF7;;*A%O}CfFeqkVn`r3AQ=2p zxTyARe+(At4z|c2!0HNa?Fyz49(ZfTQb%`iZQ+QNemzB_Y?tUPUBT(Rk3#Ln?=(+W za2w~imRAmODZqKG;M7)dXe&6hmBC;hfMZ*k58&KZaBkHn4sK-#7zS`|D>%265dg=w zf@533v8~|PR&Z=9IJK3$|l z9NUV>wi>{xtxNzov=toL3XW_AN4A0!TfvE~YzS~$(goY)FZYy~H_f}>i&iLKzo zR&Zh~IIop$0M2V=TY&Rg*#UQ9v~?Hy-iNz@W6`IC8lOXdrHNdVF01c(s`q5*G; zszZCe(7Fv>cSN;vLGE|&UR9kKih0en+~6hTY^+w8-x-4M zYSYO`z~I#5Q#s|iv&qiQaj(;@C z>aVa)OIpR}JIudAc567@9`otE{tsv>90Y^n`dO_vF=!ooBnl=WUgE%`E!TBlsBiB10#y-)a!+~`IOIwN9Be(enPLmP@6V2!%X-0twQeFO!#KoOy8-hZdd&mDv>=- zAPx3A$!r?zezgv(Z57>M#zF23WH{aCDZ?X+lyTNSll=XstI9@Ak#Z z1rcJm$&#y!_hg8juTipEfu%PErx$6%X$4wuM$PcW+g2BwN*C|RW)@i{Yrrzwpni3~ zr=F!Oy_%&b!}l%JXw8C@-Uzs_j&|(=t=n6zpk)QV>k6&44yC8u)1Q?GAkMjv?qSZ# zgNjdIkz976N~dSSGY?5x+ZwWJ;JwS%&OCnmr}D7MNx;LK;$jTZ0J5At;!~}u*w3dv zs#0tG0M`bO`m>i-dCYT2)>kTHD<`)8P$-`86n589SQ-hQ^r>YLZe!H(fyDCk{?lUKe^hNsH^zo;$E6YV(GWNK!WLlv~-~RD})_LF8E3 zvt)Wpelm{3mLjNe9K<~Fe6$BC)=2g@ zqG`MfN!H$ltcHyVmBS&)*58n};&1P7xEFptO+DVr)MM-aC+k5aK2-f9m9~~}(Qk5( zzgGTBXd_7Te$%|Fm6YE!pZc>WzX^S0DwQ5o`mh-yd{h)6nab=sAQ|PBLHC$##b9O{9Xm;>*Qu;pF2M=w9u3(R@;2wOjb-RKix`LhA zrR*+EZs3v44my+hyMkMI^B>eZ@xd$pW(S+Yq$_x*J9s>kCt;7GJ9sVo3*MT3#wA=h z5U1xHa2_}xTmUWv7lDfb+g25}ttxC=RW1j=1y_J8!PVdza4onFTn}ylH-VeME#Ox0 zJ8&Dg9ozx#1b2ZyfV;sT!E`VK%mnv?UX8p6pq|3Xb5v`l|?3h>Y%Xg=U44PIhU`>f>G7_ z$I9+mFt^KuSdukb`88-<-N_U-J*v##g~Q<1@(%YPnQ6J6PvOqJ;B^R@HvJ4N)1!&5 zW{u@$4hEC$=CEK8G!}(4%!!<@ma8nITFM@&8q5WLIO<+ytQA<=BV8n7xE6TYss}hr z)gd<7#~V#Li9>Cosb;pLhS@ab*QpzAe8&uz#Dc8w8zDa{lf8l0!X9FEVF+@jnwMn} z#ZpK6MVwr}`-r%bR9&>>PE1zKhFg`UGsV00*4u1VDZs6_=5fjDqLL-=3(C|idPYTb z^bNU3)sZawa}F+Ylp#t0?+UtO-itIl)wF#xE?3bkurVViB=o;~O4@{&34 zISU6}LFb_3IagQkl-7syl+G!xt_WGya~9Xec+M_(P+duQWi+hLadw_~b$orX#*sn) zoqt_b+e8_Tb$+w+v8$^T3a@jUor_&v)faBvX5+(9xF=h!$g$`(I}f|MdV#dgX?6~F zbq!y*ZE)jmP`D?XP~ceSGdusfx@J8`;|RggldT0=ZVq(rbaidvpkpiQ(BzNoX4=VZ z9mO4~ox3`hcUP+_Q-fYYQ5FYn=DHDswr9b%;t|Mf^peoVsGq;sofq)HXA}R4L7FL zn?#asoi?dL&S`UToa$7OIWuq6T?^!*IMr!F8o?^>>tMRUT=_Z}XZ+cNuT$Mlc&H^` zTwmV$Qr*5FK(bfC({Zt)Dk_ybN@YDA@oJ<~R3NpwlTbC@hB`W!Yj*Hh(iJ>77LR4m z?%?2zL!x)5T{Sd6s9bTLvl0&D)+gU7N zYp2>Dw1PH}f&pM4mREYgArh1z!p`NEh_c7D4%Ro zRolU6z*be2t*YwcU5*F@e5pJMsLu}tKa!y4qAwfnmHv<+7o_f z2?xFJBeyZm8m*q>QcjHzyy&s32Q1g2a3;fCe3Bfht_?~KcQ^D*EIh*LF0kQxp)t&W ziCrAz3C`--nbLowW-A$#Xf-R7H#g4_DrMNp@L868=VtO9rDr)AUiNwIt2GDbtgzct zJzug2QO5eRN6lp^xj@pDovKHwdLY5unNVD$D5Mp5eenzQK&CB&!yvd=2-H*|x2w+5 zw=zkELb-!JoSqzKW(++G=0jL^D~r8uj`Z91Jz-L)9T$H{Q8Jm#S|O7Wq~CI29M2pfRM!ht zcJC*@RVL*6n5CBc21PE0D=Ec*B&xgwEN>JVV~R5zWWhE@P>!3Pnfg>sQkBWhqQg(jJiKnns2 zN*;ldwwR%4`!_9=-Qem>M^n#FsjlUxi@!&a%M3fNtfyFdaeBx__qrZDa8OlSd-+Kg zadNY)nZ|3%l;=Ha(fY7arkXU7(GfM(YbDWBFMr#)S1XL0dqrW)h1RGHvzzal^N{F% zky=Y+C*c3zBto1AR3rA0F0+~GqDRNE5GE{INSYD`=^NS647j`wTYJVp_sg9wYLXP)VA$H-j6w z_$#QM0nP+xfwRFm;9Nkoy-KvbdJ(u75M{4k4v4N-uLM_ttHHH^$a?h#a3kmhH-lTi zt$@<1w}U&to!~A&WW7pcz4}Km9n1hT0g?48k@YH3b#9&0d>+EiJJs5Gl%Q@Bs#NHd zm*|uz z9~B9Ufke{})aPR%RW?_#HGKs06EB>NB01@Dr#GvAEfk!biGhnD}Q_{e0Nua;Va&qC&} zmCWn<_VIcD?((KKPWA7$4+Z_hbCVmLF)FjCIHdW$QKHl}U)=>g%9Quchi^VF`nSR= z+d>x>TFA%1zf*F_0@I*{M1%gR#L8%p&-=a0`ybMvA5>X&O;E2vB5$K6@UqQTtd`BjxC`gPswec8U@LOxp8^LrtC3D*20)$ zTGO*j{%+6U{UDtkT$C)=9UPch?XB6s(Q0mz{4yW9lH=6bTR9`4?lYKwyMw+>Qp)W9 zcLxtONo}4FlZJf%UU^-?Yki1r1-AqeyLt({0$v5Lf!D#C;4SbDco(o!UVYzue!%CS z!H0ky^C~;$)la}*!KdIe@HzMr%mQD5zk#p8-@!k?H{e_F9r!2s9{d1igYG~APeDrv zA`pWzHp_3V&C+sWzysS*GI(2vNMf^G$>_&sX;GWXMVrH(_9cDZqIzAMpEle|+cKX} z>g8B&KhHdit6wkU>(+7{pvv5y&%uKKIxL91vB9cdHEj&YsX=P4TUkcNaLZBM0 zqQi~0(E{F5+p?(5-e4hV8D$fVyjcUHrQIg_eSc>XwT!lj1FT0^3V<{spbdyrek z2w`5o{OrDz=CZq(5<2z(&%OC(AA@C+p=D_yQqd$@(ofdQ$j@z?s>SLSttzs@=?y*z zTG;{{X!Em|yQgbH(xge)ytSdAvU0~XX;*IFazHV8*X9;8(Y9PVVa9^Rv zoJwkWy}2L5D@q1gP*b^hA48~ZOI2~{KBe29bS1@G*#mOhy}4$~E#cOn6fN>Ij#(>L zle}5|x=T%F_%+fa)Zgt{x2!It%B-q?{!tsi^I`1DI#{1BmSmXH4r>(4Q!m{}69PCN z=n#II$onhQ>MM6hYTH8{a8kAh_KA%#->YNz_p8gxlLuWWUkmPb&|4;`_Q58{$a$Fd zQIBS3BC$H^EAMF+;U!>T)_!OE*d|nw8Q+EzJIc9hAB%ei1YBrZeGggKWR_B{eb;@jo<8eOvNF%i1843SK+D>y zKZP`7X!$3R<;l>Nb%X|c%D==#=*5{Kab2Ith@F)tk4puZkBn}uFXnz6>(kIIF9E<=9 z1GXPqMgl@jEtqdDY(2KH_1MC;W6R<|_$~?9c5GP+EDe?c%K^3?Tb2hafEB??fUU-s z)d5?LEfc_+fNjE-bpYFpEo?EiYyc*Ljljl$Eyk8jG0C2_CK;E$s4!A;IJ&hX4VNa* zGZToW?Ig{Z(WLzDg?khW%AJK$7N6`~x{Lg1jT%X8Z@W}aaLU8w;eeK1ZN4;lkuG$( zwQ}uNC_j;#vh8!Z%#waVXJNC`_Nzt}7+rqqX0a^oW1cqS0l1buv}hv{$Fb36?pZAJ zbtzLuyPn^?6}Xo#lQ@^XJHf9HEU&)$GJf0J_{puf*C56|#lqy`X}w{T%5~rwGsD+) zU&*AbisA%9ScNUDmi@e7iifhDlr3kN=$h`Y_=sR>^1hUn4Vj1$bU;zMKda{dyRJme z+B#72l8Le?la4X12fKrW#+c>*rOT5H+G2F!ftG_aVtu5^WLDNw&KB@FG{ff;2>h)< z_2#|Z`Xt+7&H0jgxTGpGRL8Q!y0Q^R@qUlU&TfO$t+W_ZoF{hR5fs5JMz`@t92Fm%3dtso3zjp_+U}U+In)bHW>`$7R@jt=Wh* zC(TPC#~0cBBge*@ttVvIe52X)@oY{kviVMFjyG?-WqMME5g{AVLK{{r#c~I_b1b@=sb8;ipwkM#SktpymQOS-`ssTh5SQbgvU^ zL3;i7lk&H65oDnh_wOu6DA$s!#L4OgDz--Nz-QK%rY{imo*kUUUd91k!RM?_7j*@j zb_J_+1>1Io$B&y!x&GG%vWDykb^<$tUBIqjH?TX{1MCU*0(*mfz`kHVus=8e90(2q z2ZKYwVc>9Z1UM2L1&#*CfMdaN;COHXI1!u#P6nrdQ^9HAbZ`bZD+tT(&aB>-YL~y) zy0pTrv_e{De?zS=zmqm8`ZgJt|M!xfS%2cDF8^&p`Kw+2+Y9`AaQW|01<2ILX!3LX zo$|8`!-g*ZU6LvbpZ8wt5e<-gBn_l@Qkhx=_}BbWaH zo7l+Zf6yj2bNO*ma?19LT>eLjnSP1O|EOeY+ZkO-%Peh78W|lg_hE3P<$nB&!I8@S z`F18j^ZdN|m@tvara0T-@m)r5KQ8ITu_aBKjT zILFlTln|*n01|q~^=bJz8#gdMmMk~M;Fl%CM7jH`KgElZ`PBruWhKaXQD)qA2EU=y zXX-_(3obnCB+CUCO#QSO^juNQOi075MVSymXE2VkU#QO`wK5?Qses8TuL5yW%L?+M zX4%s`p%V>R}{q+qH@0?Rsn0Q>D;I&4=yag-rs*sNR_LeQAz7eUJ0+)JwY1ED+AA_Nf zY|E)i94i&{zxKz_zkE&N&M}n#l&Oj~cZogMP<~TL<4x1{EKt(IWtQ-k63|VZyJR?j zxORqBpK52_muh!%hOxb8p!|-eMK>@9UOy)JclDJt;|@Jc{6?sd!Tm<>yTBO~ahu=h z0}1y=qP9)$c0YU>Rny6pBN>l1`y%>tC|AzkY#NCxN6Rhc$}t+6`31!;p>5ur4T31^ z&AAP4&T?HVu^0VFE>d1~$)S8YZ}kUP^#_-$S^f7w+$uMLo53yMR&X1@JTKn??gT#o zcYz-QcIuSbsZ+ieuv4deKX?HA2>clQ6g&tX0uO^nz|X*=;OF2m@Hlt^JPDoxPlIQ` zv*1_YIq*FAHFyEAvR8fyu)0@%1+bb|ehvHq{1N;Kyb0a{e+KV>cfot$eeePJEBG7u z2WI-D#0^w`H$E%-i)mp6a{x1a3T=}~VTCr)Zb~>ay@Dx6=QV@NHMFduCggT_tI&*7 z%`IzuTT8jZcuM+acyk93D>x5CtSKlB-zKl1n!Wcf8AfQAj9sCs)Z{f;czupohBCBH zi-*?x$U7ED);hA*Xa#%7S-NaPMGQO9u3*sU9wph+9uG1o)rXbH7*En$+LYi$V)21O!(`KFf^zCVqENSBt4l!mDFsZ^m- z#Z})ITnOP3UTTNaC$i@p?3bzHa}MkSr<=)|h1e?PDE*vYfx2Il1K}hq>e_Um4z@pNwt^QN-q&?0EUV)JE0_&p-5txP8Bl)0{=p(Vmj4_OgFj~T%f~>5o`Ia^o$=95O zex&|EHM|#h&GkH*)s#kaY5MK@E-Qe%Y?2 zWh;upl%hS#S=m?%fuXIfrwIpROQKhs^L)%PAb&$*~ za+u_pK~!c7O}C_GuJE^?{S#$6#|5Gz+GY@yEhOB_TH930e#)h?rOLv%>}SoJN>#q7 z1e&j8~n>ixMxnWnAGB<-dCVBdk@pfnK?^&Igoa{f5iOb0F!9}%9(sgR(O2R)zw zil79_paQC(2I`;znxF+j&f9;^UnfEB??fOY)}>-v>d!A!6^U|qkmCRiJ+16bp) ztOwQy8-NYLEU+=y1Z)Oo11XCwz?R^PU@NdS*amD1wgWqW9l@8F_{~ZtethhvC|fdn z#O^$ZMidp~l0xb42TPO64$t1i?+^)BeIoM^rcTM;z1%9qK2$ zv^_qX=!Xl51Z8(Sx*6RO84|bf5wEHC1!7_z<;Y01%@i*tmUm)`+xE7!s*<~*AfD^`r%?9mjv3?4_6k)Ct-H+!Z2P{vNP%Y@T4@@|JrqpsgF%#y#=XNe>Fh@xWslYHJV~@nJ`zA7{ybGBk_e$Ih zRVQnDgBv!cUECb&Rx=)(cZsPvw5j9fGp7hAvwbdYXrNx-GlqsEK2?ZifQz~qe%_mI z9PLnXU!dCZc;hRlsq8YI$9{YD;d|cr%IPk5o;O~F7|LED?K3sza%!wF8YkuKHlk^X zdw-fjxi2oLc&3v6KzZe?Bv;94vBxqNiF0b4Eu`w2@a7Kwuzija7*pwSBcPZ`ZrDCA z!>r8%>iiVvYg#plF3auTB>xv=Vz>Dy?E+clLLqG*^hLCI(68&yp$7enY#Pa+uQ^K% z`li8Ntg=dIG9(Adn*NxeJU{p~Yx-x8=?@M)j&Zd=*m{2Od)dGO7&sgp0geJkgJZz4;A?=D`pWTumHNtw;3U9GedQEzDmV?C4$cH;fwRFm z;5=|XxBy%TE&>-bD$Gqrh5QL-S6KH4l=^jKE-Gvtj|zQ~RnN-HI_{jlx?U*T#t)~L zZjf+kq1n~*;7qvQD50tG!)d#lBuo@+c5v|ggJ_2ojT;@D1h*tSI_cx15aPCk!0BTb z`}QQz>SK@n9Z8^7$WHt_ldz5o`7Q}H)0vL5I+O3T@-y!iPWd@Gekh#G{(`}jpCg{< z#PYS4a9)7cx?5u!t%ZRsS}UuUbbPU1m#h|35zU8moie^hQuW$l+ib)6$?nyBn%>!I z;iiIuOh$oZwjtC`Z9R}-)~2?cj{K3PrCKjhTR+akZc|%M>HS1V+trqtPwJs`QHVp& zRq$QJX(Vb(qNjJs8nyM1$||94YO6QM&ky=#E7JVj#j2}}qS`AE6ZtyO2d)P`$0;_%e;)iAya0YfR(4Oa(zS-MwsWlKRsN`1*)z_{8%dgpaiJIbdB%k} z3jYL=JAB_-0b2}TeHc8cKYGGoKz^{79^(}8B2B}$J>C>9v2wYLY^kp#D#*R4sa~wz zdQ{%rV=yP{zRntOEo(%p&HR>QQrI_PVobuJm_V_#IKgEm^0p>nbjJQt{KhRKCGpk~Q{CJL7H`0Jwfl~wEZIxUovh=)shD?#w7oNG*_az5r0Wdb8Q+&QRDpSI z#q9R$33C0x;o58_$-%h_D|nSRz@NaIfK|N8+u$AWE_k1&ba2v?y0dh8f(7o$nAgASgV0!Qjqy!>^(FM2#uR~4>L@>##+t!Wg*3tz7Xe#X<@ZX zNc>hO$8D&iDc0|2TWFOQM-`a1f26Gf<7zb1k31^=y?Bn*J~;NtR|%^WX*!kvvIp62 zQAKm6^OEgBcI2&+<4!%ubQ>McWSkwc2UVen2j{jP6a{%~>i%H&Pjjn_e~aO2d+kp% zg9iQOBk(ck2lK%vU?2#p*xS_{=mOoK2jD!amOzC*_SK}1^=x6(b^cBYbP?o;3dfl~ zR>hy~j9Y0e(tO2Al(})TXvw9{Rh+QKOJYsPxTgEWnODX2Xv`STolsp|UbYQu(tP4X zj1H6+vF&LFIca-C4suSzR+kVSs@zheTyohj!(4TYkjOY0tIEO&+Gx$OF}nz44dUup zp*OZ&JV7p;L=0~XV}e{A2UYTAFiAX8B5#nYj&D!rlyo|iNM{06!wRQzKo{q#Nl2*t zgeFQtZKGYg0@3K6F_7_BSpP)gA}S{i3>mAclN=XcgGlY9hPx~mhJ|Fjt4@|Qyb2~u zt`|*70^LNz+MCs-BvABc+%)`D^eaZmCv=c>YC;<)q_pvGLu)6{)oDWOm8;p{VE2Yr zr)ziv#%<01HCT}|qKmN_uU+d6d3Jkfbr}t>XTt4v!s@aT?iGkx?d5W&RLP(u4ONmM zbBmKwxgz?4CrcBKIwj+#C;7&cS31jkBDJz)alz=oR9!(ReGMHi8X0A#dQBz(rc-Jm zXsm z+VQjIcWv9FTJq3fF*M#HU?jkFRdsveW5QK~WbNhZ z4nokTLE7zQi9M(SY11FpepdallgEPz4O5M*$wf}S)JBxGnIQVI5*f?k5}T502klE{ z4cRGdCN?Pr-!?II3Tjs&^%|uf=QaAl3`S~)3_X(XE@`MrX&cG8CSrcDxoMVDF>He> zs}@yOEvnlCRxYYLfiHnCgI&O`fbaJ4rS|yi>|KSp8Qe`td<9lf;i|Y993YGrq86nk z3|fnJjuVdpwpO(gv6Yi?+`1T&6J*%c)q_+7Dk%O2gpR9b#W$Yy^aaO3cZetIpp8M- zR^t2^q7IEg7g=H@m2C{tTuo!JQ?BX}!dXgSu!)gtH&~^e8iN*}nHXt*7-~hestYTs zzSXVhgc8bw8j#Q>vaSoZ`B^Hq-Gt)%EE@zi@SZhLE;*{LfU^XGt2J>l%Ce z)8J*TYpv*U92X0!Cjy+=Rh-$?QvlBFDvs>x8Q?4`_=co{dyX{~oaa1k^&7B>3OB_S ze5o*%Q8sDMnOpEYTbRkEGv=-GbqBqwmkU9v!#OIaBd;*Y?5CYPsc&&fQGs54cg=%9 zHho5IHUB+waV4pww#2!a*Hy|O`Ifj=EQ?RNJ8lXFW4t@A`b{A-i(2uWjv@?ZxU_po z!)=Lsk~j1LGIs$&MR_yjkGKBKH*-$bv9RX!1HN1hT4fthrYz#rEgeMH2vO4XrL9QQ z|I9`49a0&jD88!<7FZPD6S7oMh%j+cNE+#)pzkc8D6F!UqPR}UjSew-I8NO=9AE7d zBB?9S2JtR@IE!?y7m}p3gw$6QLwuY=29_JzM2_1<`sh*h#zYLaJeZ--C5wd^CDn2r z)Hhg7=0?e6sg}IZaZ=Yl%+0jP$HBcC`JraU7%;bp9*YfYWvL^Jv^8T_OEhCvONO)e zqQ!ncH=m)?rPV>!YvHCgcMEB|%Bw3IweDrwGqkO9ucQ$#m1g$iY>p=)hpi&lnCgd~ z*G}CbCZB#j!Q1na?8NCv$|a~{Rc{(w{u}7WOTlH}a&QH>5?lqo89%?p^J;Jn_zw6k z_+I?HmM6abY9F{B;M=d>2=L=q@#9zV;WM!bs`&7$_o9dI?5KwyA@5N^&NPX_c{E$_ zgX`g+3u)Vmp{Iu*6M_Zm;a`|!{!2alIH?Sxe4bDS3sgQ&3Rz0|czRgUNGqRT3i-n8 z;ir|{S3Vu|@H0Y`Xcp-)pGyxvODcmD#jljX0*m4~Axjm7*Xt#XbWzAE&(KAY(!(z( zxnC4<>b@TSjSz{d7+ep(C?rW~3F&9h!!NaoED4BLFm(j9`rAZ|LG|z-G$oT8ER)Z< zMza7tjAXHXNoN6@JG5X1Z&~*&3s$Wr+Ft-t^e1F!VrMc-Y=K=5;O1v0BSZ zj}?0yDcLRvQEyhjt_MWG+!!hqjZL|+T)oS48H+ixC%G$6t(nlesyr*DS8)EC> zs}0W*7k(}>bjioh4XxcUUK^pb;@#72P^*%KMdVfQp*qdbLonu#D0d#2POi@9Ub|$E ze4l&;r8a7?SYPiPizuTtifW?dUTBKXD7BUoQP(i^L|az1(kK=soyAB;JhaYttA5nl z;*x%LKUv~68B0W6r06|fa>{xG(PO7>U+z#sb$!AQwdYZ4V{OXr+`LYdaxG3R#1p03 zI7<~DW#C&9+!yD4lB_mfNvJSBq-FN|jq1^J>oa?_J~-K4o1ipQRHu(^Q3Tw|RGTO? zrZor)nhOgbzo5Rcj^!H(J$-V^XKk{O83QLNaY>h9Br6#0in5EDddD$bdMuLErY?XA z5-BP>`hNNbZ>DJ^5z&=6ua}Y6v6BJog=>pz%xzg0hS2x`rMqQ~a~<@JbuRWvd}%Q~ zi=SLtY`!tihqv_Hgp3RE2f5;(N+P2y8uE&kz|O`;C5>z)3G+rVcP@i6 zm58?R2bhi5R}nc9v?_!f8^S1el)g>$khlP9 zGlz`1=@2nj8#3nXA!4pRWX#Qnh`B~4X72L#9IYiZkuKYyfPE7F9pr{!C!kO z^amd<-yiI}=0LDYhk4fg;0oN1n{|B@j2qytCI4FJpg%WyAc#6dVsfU_usZ{mL27K~ zsNut|vC>?tfjVG8y4C`{AOgd{a4-Ta0$6^jjRq{i$O(%Y%P?~Dprl$G3&w%*fMu8( z%P_UcU<#NDB%CFf8cQ!VmRxGf1D0HBD}t5c=PEo`1v9~FV0EwtSPS#vnZ$hPT@rU1 z%i)c~X(oG6s8Qip=qPD4dukEq_R~>Ex;*9mA%8GlsUqaV3^kf+dY<4E^4=0%qL~h| zs;7l%(`Yi)h_SmWHN(>z7pTs-*-JvM$J`IseQkVikIJS5>@NYSv{V3ZFAGFpfk@^y zvhM>woluxhkvf~_KuJe*o2MQ;4-V&-YX=F*ATtL&7AVf!-is+OS))tJjOFm!!Aas# z;dyD;I?lzec9e_JFO2oZXznOMZh6u<%$Govr$2WY;%m>B5%+N7rsj9{bY<-bO*Wq2 zWvoZ3l*IYCNTTkJln6R5B_GfbVdBb@)Li9>xfaGjxd_ zBQYh0U!t%zF3h+@zovX;VCh(-!P1CuoY15PV~Ids7#HmXl-*D@ER@cxKjvJ(?U0<{ z5-Yr*8cc@6sAqU$^Tke9NM)fyJ^fMJ=NJe*NkU_1dU~nJp5v>XY*R=+pAic#J^2(H zn0z}T3AF9)ROKOdc(!yfXE;<-J530BHxy-H3^O;4INiqWDE=8P*k_;SV@{sfPkR(z zq`>5z`Lu@Oz<)(x>P|A&wl}hNj*_Ugo4*W(gYAvf=x&+N z?(1>abJfmOnZ)`~-S`RuoTslCoI4dM_u<#hSN5}9k-CWzlOw8J;zoXb4q0ZI&!M<7 zW6MhIBIT9MYKM(6!n0FWW7+zGmq`t^7K@jbNb@dP`-ZaHq*K-|v2hnZYlAii$r?46 zbXu<#^X;E1SwPlE3PXc@F{|uUWfwzmh4S*M%*_X{v~d?cUtOzoZ00c1g&&n9%I~hq zqjxh(Gb;R+KSa0cS8i%lXs5ilZJ5-QI#sKa|Jy3ROgjguQ?m@@<=sthb@4~9*!r*Y zZu0frh0T}9+bLg8w(n`aWa6N$^A8m6wfYL{xh<jP)?fVNWfh5yOg4n6h7kq`( z`ZP7K?3~NtdMnI-Uv@bTQr2#?33jMR$^K0$jMq7xFgM${w%N_mX7{_e*%AE~NAut6 zCQ`fArMA$c!yw(pG@aWucWs)kT^%f-;*jkQl}#KV*^+eaK zyCgL+6Bx6cyXA+2%E90)YH6Md;nk>%d$*0d@Xc$GkpxEfxYQE0WZDO_f>Q}rVjkqp11jNi+Lm4ueb%ZE>Pjd{Ny*nalifz1r=ZgZzi|jCg$(liRua|qJGa!C zAo`s5>P%355jzvK0jM*<`Xp-Bu@E~8`hp)L{ZBpVu?GJ?BR!%&qBRy#1d01Sd)m|9 zKT-Rc(&9Gs+q>@;c~l8TLSWq@LT$z)srbi)Am#cH;&?9bxQ(6l%y(@Wto%u^OR_?` z;>W?%`N2j^%8%!gg70>oeGl+Or1Vrh*pd4MX7>kA66w-Z*g}5YX_kJd>Fm!FbrX0V z^|>N`o_JGL(9g%OKR9(D*yb~f+D!(p`pmHgg0((#9Qn*ve{jg~&si`}_Xqd&2M357 zCAV&{1rCorz@A_)us7Hze(uY2f50ZQ8XL@NY%r@G3=RcsFsmI7*ko2aGJYP#^Js7k z_!>A491l2*TVwxH?Ighdr5gK}YNvwJ!0F%&a27ZloCD4U=YjLV1>hoZF<>pfb_uu) zu$EuD0-aU+@N2B$*RBQM2Yujra3i=0+zf63w}RUN>-n`i z!Cl~oU>>*|+ym|h4}hP7N5Id(qu?>{IL@L!C(feM(wtf<0AOn*_-;kzw2(^{lBTi9K9$@}qw@N(X+FHm$EFdvo_t4mR1Y7U=0ziUfyi%5VrE`j_&|mv zIi4Y-?Q#VESprQN6#gcGh7vt2iwgEGI#c5Bc*OsJI4bp4l`7C##@HXERXZ3@GFc`>!jKWdjBa@H})v=VJ$C4t0vLckpH;ZK; zkH?k2XsB5DHZ)F0oF5bpafLjx5{V>qf!B3qr-C$Ea!ryCRT z?-Efgm#nEsm2e+fjgqDE%}E+v^^AJVmB_NaC~nAHO+Zlm-KDO_^}9>?552`t=hGs^ zf2ycrWp!Z5+0h!+XjvN9hGWU!jt^$3eDHiu*2(p6zXtwUzD#(Ekth{)x%e%=zjLI^rLzT`l99a$N8E?X=cWloR_~wTAAO9 zKM@i&jtckD++}m5b_wFp5bZXz`1D796JF9Hj2kF^$*0PD#4^@1iiMmh?@>LY3i0>H zd!)sG>iD3CFjl#tRym1*Y&dy(SiMZ*0FT*84H_o#>Lq`Od2JSy_(SY#`-d3V(&~9{ zjBu$O`9rB(bLWHYg??%_{?fWOc=M%oZSnd=b!qX%JZr9V<%{alB4=`LLXG$q+X8F+ zRp^cipAejn3IjZPqGFCmAu4wBC`QE|9;K*Q-6Ac@cJxo4f}RRQp9p={isiHB)&5}H`N82m1HqXctkzG0!(@y5 zhq)C7f>XS3Hbb)j)F15HA7Fyc8VF{4fyr*bfv$0xx4LSCnS-%Ak)ir!@H_B(@CtYh zuzjTVNAL#t6L=H61>OdK2Je7(!F%9+@E7m__$v^)zk`2(e}aF3e}n&k55Y&^W6%%g zgHOPxK~T?`clGWdSL{tphta2U3bPypBXB^}nG;Y+!)OjP*ZOEFQ0*37{N$3I+^&R} z@~^6Q`0JYW#cXId6&7zNiMr&n0JA=AsC9+fY1Zz0RI_$pYBj5fvA9c%;nSwI z%;!mKjHDHhzdA&UEfBvbjv)0gc+8B6sIOS5BLX>0q7^A4X^PUfC<@5zrttbWk4#I< zC$r{BeY_*fpCqXbD=x~}N$sw~ii^v4PP;cV@65>%YrfPcxTr<)f*>M?o}w#`SN$9R zCI$JW!Du`)=jW;YgBP5*Gtyfts6I*3)`fgy_FN(c2^QmjD1gZtCcF|0?l-0wWU!Ww z8*4DRvzb9##v$FmVK37qjVY2wVnC{LgKlPz)Bwsvj_R7>KDQXeODRKf7Q{|{VdAGY zRS05hGL}VTNa`|OOHu+_VcnaNjt)~MYEqlRNTkkRBcgD7nr1?HdInZ~y71Hvk$+0E zp9~bDbK+BxxzLn_$B`6u2oWo(or+M#lBhV5=FD$~5VZhQql(_O>e1|P&|0#3?^BlN z>dRWGy4Mq_v`I@IF<_E=oJ11uOziO+64SIX#LUkVs9P`Z^+u znyj&JtT>JI5-WY7OlF-+w(JeZ^>x$PLn`)5napWl$zKy6p44t?Uy-ro+6mqL;2g!$ zwdhYt?I)UiI<-BlXEpi1xQx`ie6yxySMlo`YStKPUXP0OJT!Q$#151{r0bZoIm3#} z6PvvX!-_NXM~_KW3_=>FYDN7(txI~Nwo+U9^Oc(2yH%gnmgK5!Np_9rl@^{iciG7f z;ie+&7O(oonk4$!&0TgP0qLIc-F?hm>WogMNK>Zt46#sobC>$2ZL+QA$)*)-Qc&5V zt|L@TD%2SqUE8R^(Uq0fdS2_BDHHLf+L_ii?b6Qnr8UGt#+ z%!@JCixI1!4lx$@Vr)eWX{VBsh=ESu9)+GCyZubO4ottB;`b3vpC2nzh-CcVhx*@I zxM{4JJ;Mt3(*x{?V0IrY%D0v!QG$zW`oWs=Wtf%N*{ zc%FrF>p*}7symSop-s`PLtXKH!HQ1(6ZLJ=LWv|ZdmKw6%&_9R;qB3GI= zEvcQ1E~2IHO-79{+i4+VtCPz5hGVwYw^tIw$RqKqc?X*%z4$8`HzZjKMu!WDZwk+i z$x?YVH(twvQru`!VO~=-vv0YzM#j><+K*EON$!f|(xZ)hec$cOF!B z(d-X3sI<)2PlgpYBcnR1%+Vk8o-Oo8VOa5t`lC3kxRw4W4J&S=KU#!IgB)V$+0_bQ z<__cOoQYD}&E==K#*j*BcaL)6l+qqv3~JwNJH8t8TkD<@!)b-VI-rcX3)=yG+J)_a z)U%YCt@%%%<;^}`Zs>UAhUu4d61$rcqJ7(lm~R;(yKk+&pAd<|DC>bV>*JhOt?%EK zj?gPJx91VMuLzyU5#O;>B2%RCL~)-)!QY_ z+VG&ljkPk?CUIz65?@Ls(UOZpJESnqrf`^~5GBX*BrBA$8M@E#%x}up6tmfX8_%D| zd&B7wLXjHWrQ$6)sb&ZHBfS`z{?r;Tf*4n*Kgu8FMagt1KZ@U@j+Q7byb;#RZ@L%W zPF$SH9C@(eKu_hwgMc<6n<1k{r?tlUx#Xp8BN&@`iMtaG7keV15Kmqbi zPqNyy)P$sA%z`mfASRU?2lTV_Fi+_5p<>{&w;7E70rlad@iR+cxnQ>4{F1-F{5IZvI^pKrCo|*>8z~BBhML@ zUl(mwhB={^7GkW3Gu!y>2fwKJ75+E;rdobyxwK9-X-$pOg3;M+2_2Xbe40(@9HpH$ zsNj2(-not$a~ly{=;Nk+UM5fm<2h0BU^vEewki6PcH^d&#Y64XGR{1sgntp2G)6U? zMJ08*hb#ANu*4@_q4D1jRxEOwI>_v27tP*0hdc zQltaHyB)(MV;=>*1HprytR@Qs)I*OgKeI$rW3?rBU%+OO`bfa(o%*7HMCywJLhGE& zsdI9t&dHtn1TYCq22;RNU@DjnIlu{?IwyGQoZzX?04oAc@zhs||K=1=ol`vZ z)xhdt4X`Fy3#=VK*WtM?*Z^z@HUhK2#$Xe$DcB6m26MpXU<;`rRdw@NGyxRxt3-$y1gRg)CfRx)o;9zhFI20TP4hKho zBf(MNXmAWT7JLGe0~gTtk4jdg zYC8w|9h3@}$ko3`-;RpMpaw*DUn>ejte#}cT;@CUv0(`1_l43N80o>NTeweQ*00N? zpS@9^QNrAcT<^=JRU1)O#WZbrh zwx8W2BQdd3d53lX3ONzSOBdT4>bFYrB7Hnph(8UWmW}$g-I~*Fok=yKlG?*8_1iTs z=z8|rV;;#+QiDgl+=44Kb5*Fl>?XPW#_q0>+i&W3WH?i9_LN8c&LmJ}*4d8Tie3Lf z5}0JKh)MC@^f-I!e&Q3E^}8U8x?~#`Nyla17o0{2BXYWYiaO2DCNNJE_**6cDd4-? z62Km5m*5^v;2)U;*j81)H%UO&2(urdtluZ0*;Xi-^)J-jj%4mnl8H+q)%G5cz~uX+ zuBHAci6hxfv&NL^%ZUf%$3kOTq0X=1Yd>f-g7BXtX*j;FN&Pelbam$%(Su2#E|Y4- zx>|oI35=UI*>Sc0a1to}A}u!(JtCnCQ)E9&l5wKD?)s<%winsYlQ^A=ERY&~Orx4v z^RHd+z|bNWu5fK_<#%`(ec_G!UZS7eOI1gK=iaw)cMJZTWOG;!4 zE+w7cNIHpDR)*>Aos*$?(F&9L^kpoqnLoVrndLFeR4Vz3k(KH?IKC{YNl;WgEiTzP z(so6EFr280loI`&rOUr9blNAh#oDtMV<2O2p|Eg}yu!U4&{5R(7)AY6CwcJ`(;O(uW2;XU*3aK975y*nRVuotoccGyCpv_o6_f)#!$=Bg0i)2 zylfm?t^d*E6ZcDrVESd;^Gy}Jp_I$1?B_^EbS5pmHxbGVb>>zF-9HhZ#gIN1U%Dn~ zn|mEhR&?SlHDQio#8rY^so$ovXAtbM@%meu+hL^T<<>icP^SthjtByK20^IZ zB=sF7sHRi!PH*$s%lf-Q(=BNvpS=|Nc)mzQC4n<2p{NJ7tNk{f2>wOF{oG_PG;+(q zAK0W)U!oN0wE>u0NQS&vuKqVkLo?jA;q1g<*g)>q^fYA=Gr`ME3=012Wpt0s8`su< zR}EkUr{*>?smv|g_Ie3>o~`oQ(z25=*|3ET{B0k?wN!0mvY>GeCo55QgEhhQGK8{7l#1^0pb!2{q&;K$%6 z;HTh0@DO+yJOX|O9tA%KkAYu+$H5cem*6SzG&Vn z2Aga&%0l^BCmRj=YAXFfCmRjAK#H>Ma%el*XrL@oq{Tre8x1P6eT?-c8x4khA((xWN4t6%oW{=LMFzGXJy3q zkjZ4Bv66(RCJT*~<<)}9lgUB@<1wo%>|~*_ss#S8CJT+#BsJd@8FaGHSY1emm@G8b z_{@@t#pfHmeKJ{StR?9TJy~e1ZH4i#Y)PgzYNsz{^ zCJT)XRX8+ihsi=?BPaQ1m@G7AX*BIG#cznN{_K;5#wL=+(36G6rjAd3$jL%uwo;nO z!lhyaCzA!~$FTt`eKnpeNPleq?g<76Z)G`E`dfSloYX|;$wFgu&4SqD*}iG!JJ|1y zEreze`@ONH3!H(_S^K>)SHk^HGw5ujv6ad)EG>&S8)$F|Dhh^4DfKV%v`rR{3!*_L3;n_E{lVS?!8`3!hPEle=b0(| zn$NoHOra92%T;4VPy%I80aZ`~b&d?SRZT% zHUhK2CSX%A8*C1?09%5&U@NdS*cNODc3^gJRWds$FKcE8r4}`K7&RCbzZK684ww4u z#paE#U2?7E2noqk(RS3f4*tfG5|*f7>1xw@uONxodmeCgYU3y&k@gf7ua=%|bYsuc z{ANgHrn@9W$8;i+V8Ud_g7UXUuU$WAd^HJkCXEyPYcA36C}(CsGCoV9$GNcYX_&6v z$AQNusXAN8W%&db^ZO>I|a87G3)o7K!9$ zz&cgJJ-t%wqY``n!hdD~#!YQbvndsCFex#&ON2dL0%No3GD3A2h}!Qn5>B4eC}V9` zlIo}ASq^Ng<#7K;EJjcu`ralAEUuI$WErPF-z+d4m87Z;5+&|2|umRv4D{E-v<^G`=k~rY|RLTOz;^&Ek?m1ESU)mi#Z=P&uXlk)W?O)!UeU7YGV0EF*;@AG zNaIGO9XY7XGESf}lQQ~=5k~0a3cJ|_whLqAL18BL>kQ&Y#RoMNX_=ac_a!{@>EMZS z#`fHvMf-E%Ctd5ymruFS_MHCU$Nj+%`h$b?|8u*<$O>NPlG~th7&sgp0oYg3I0~?* zqQRbu274+R?5SuR2aX3PfD^$<;AC(rI1QW*&H!hEv%uNl9B?i;51bD!02hL3Zsg%D{LMdtO?_Po=OZuR)xUx)60X@;oA;DU&VPV@%-Bl0a)uxzC_99+g0~g<=Px8hxro9P^)N zi8Li8icOEc;3zo#BH?5$N6+i}coOKua2%dU0z27tPbPt#%(JH?P^uz1-<17O>;wdR z8lsk%WqeplNVDIGZ9J1rrT94YM2|_%bg^f(@hn8Q{L$|y|d z{(4?WJI<$BLY@h?UkgFIwbph6qhx4sYt0&GiM3|8m8iA$f@4yom}AdCd>cAPUj|!8 zOg4ld=WjHL<-}o8q%z!8zAPoJ-J$IF;P_tT1HolvkfR;Lc}HSbl) zrf#H_Sg9F)Y|8cJL&W*5h?C4vw0!;Bi}jvq*<5LE`1Ws5X0@~NvgYLi$xHJ6ve@)= zD+NZ+>e8gTL!KE*gowGjz@k*7TZ!&JY|Bx zDFwAH<&44q3HLV^#9b`p{{!x1{7)Y1+gP;qd!Jd<^!@Q^p482oY(!iQ6)K=ob+WqMEBXdzjogw4e|4deu({irjYe& zm{=h|ko{C!<9(6N@1|LgoSQZLMYEroHTWL650pUWhSnn|)M8c{o$$9Tv#dwXO)35^ zr0pI#Nj&Z(GJP0w`M&W_D^Ht8Zoi;0KR1zU4iD=OHs}vF?9ZLtAMDkitIiLO#l-tK z=rTVBg8jYa`eZBhKyX^-t=Xo1oA)-kSw`J&!L7kGtf!xVpMnR$L*QZX2w>s7@hJE? z_yu?zJOQ2rPl2bwGk`_&#&h6#@N4h__zn0iV9~t6qIu)@fQ9qMtKc>8I(P&83A_p3 z0&mB^-{JW__zU;|{0;ma{1YqhrNqh$=I|>Y1OYeSH~J~ksQ5DKR~q|#TS?~o8AUX? zc1*9lz0XNE`bm2}X}_MNJ#rW0ejE12w6Hlw)0W$;NV_>!()Jo=QLd5oHq}}SvN>*W zDXjU}94|!D57Z>YSZPj>H@!@-xb0554b9ZM79U4lb5b^86hNFkYnU}B3y~*h{+!I% zAj78oNEc2(+B0a1wtg=OU7auX;T~-_gxN`Ndi0Y3HW?ZbJ;=p?Bem^ix^E5W{OW# zM3EY;AKxM%`Ts&2m1}~YT+1h9o#c|Q6sUe`t{`M;>$e*Zc`hwz&JcnH)L{3=5UvQJ zGb$(}*AiDsWQpehW(0c~cV|3;HCHxVO!e!+_q5(Gd&RQ~3|0{ubLU%fFP{z{#iWf! zU56y)rTX_+BCXmXVf;L{ekI|VF5%=-E=|}rtSEn8D&et2THQtRr4h|fsN~pY%mv*c60mt)_FZMRq zmRL$*W*7LH?PvMKBDZg2>4l4v{$A5k)=}2+W_e94u1!ppQ@j$ztJ7RpXieq3CnaZ? zOX_{OCkS6(!h5Bk#n-vG{|75^Q-_p6uv zq0LPOqPRl&^V29D&=>l!fMR;dluuS`xVM%Kam zf@%38nQK@lnU~v1azhmU_7Xls;qM^f3o87b5+-ehPlnKssbRQyD8q163i#hFF4+BQ z&7D=4VbY>YXdvl0GIy4G@^;cU8Ia;`o5OAus+yq^mA0z{>I<5iNs6j`&u`y+q^Y@E zMylNF$fLbQ7d-3|OLO-up_oCA(9V^cdswN8-!W3vom6|e!0(yBMjU9WX)nT~uBS+v zoZ2~ab8m^3&I~Oh$&A^^w*;q#B>y(M)OJFVoQP@eBk7kasq_u!eT9W*C6&1T_=oYD ziWY^P@HH9skftTPOj>@Sa+`5;e<6^@7L~{z71KLi>yjw%8SNxP^#OxW^~O|?9GDR* zx4H-w`>*910=wV8d5}#lhw7Kc5XL1-ItORcDarkczE|EZ^fVchQ{`Y5IpUQZVd+Q@ z71EAtLU?uY*)r;N*F1qoN?_XePtnA^z)t#_N7*!zC6HuF zM;b>lcFq|`c-Hba+)UyseW`Tn-jB1W)qS-(TS8S zK2b%nNG_?9oJg?}j;YLixp{I{s_ap1yGGMIMWtE1$nsb$!(;T)@d?Z3nS<~+OL>g$$Rpt3UGr=R%tvJD zFmZZ)!DvFxm8jav32{=NC$GKQEiHji-lt_3wKAQbr5q#TCml;V=wg=k0-@D=7gPbV z@Z7vm`O|YTYxVM~^uqI^(gyUpxW!E>`nA~R*9VJ5z5v(}(O5CF?aJN&7IDM3_O*wVz9cOuyzBbz$*}h8ty4li}_%3H1wbT&7m-RWZ%W zHK8Sl+p!_a;ix8aj;!vH2u5_5)Rmr0vDS^r;{I`!N5GUqhJqP76ina`84BR_O^*hR zDKskyO>VZMp%4?*zz`;Rmx3~5NjGVHTf+V9Ps(K9UT)L8TG=f*X!d17aE)bGnqt@q zy<_*CEW4>0cJ>0C=699dm^8b@CnvnH1Cqg#QBtxd#E#dsSzgOzc-fnBn%`GmW7E9S ztNhLD9J}QVJE3>%`m*en&#<%C>NKy{_E9Lz{+L}ys zPm%du>j5E<7F>YF_S!9g7< z4;nTQ?2#p1%zHti-0G2=;JxYzg8u~D6R;#-j~Uk=ysC1aHmN_jvp=`oi2mT)%Xjg| z%bM8(`-A=a1OC54kF%YtzYpYW+y1hLqH9jTUWO*Wnq$E@zy{Oi1TYCq22;RNU@E|? z-kc7W2FrkD0h>#kY%XoGxwN?gm;qJ#U|+Bw*dH7K4g?2*gTW!-P;eMH0vrjB0!IV(o-~gIUjytr zX&w(w04IWzz{%hga4I+roDR+aXM(f9+2CAo9ylLd0N8iZWZy}XJtxgez@^|az@C#P zdrq2H0`{CVzX{lL()>2K8e9Xu1HKEs2d)L*2iJi89rJGcYf z34Q?X0zU-vz}?^;a38oIJOF+iIvAY)=bxHt zwR6#kyYXL2pqkw#Le}gRA2QSUkI*DD4VSqOvjT1D3G_%xAiE8>`B65~TrbjNsYuRa z^sx$Amx7PCy*6cW&Te~^{H13fHKmoys$+MOnSFdRSS&O9=nzY09|IaIHT$SY`q~Jr zyQ-BFvOEFa7@D*~yfm#Y3D-fps7=Y-XCAwz`f{5?LTqVA`{@iul1i_Fje~@aYq*%@ zFLG#8s1r;-%BHXdsnIU9==d6ebd*F+8#j2C09rvd?rvUO$wN7b8+q%WE|qg2p=h$H z?2<`^`ik?=F_jHSh00F4Y-wwng*l}pMKbhe3hU{UeI}{Cmt9nKS8Ip^j=snLrhVbn z5SJJHM`}gHM@^;6TQ8Y7t2&ur)>qaS+(t6PGE{cSDwWo7HoOII?>C7;5_x|JyKVGKWt>OWSI6&xa-#YTMB5H8fU)5_K^bm@^Yk zyI4Tz;x06CM~T9T*)AcW-f)z^IHTyTn@}!IMFvW~t(=TIYG0T!<)h-D5x0bpn%!1L zF}kFfs>MlJ9{_DTk!hTUYC$E3FeE9FSbe;5duU4NlHA4WjiD{;Rg?=V;S>!jH15sT zM8~i6B~x<}!SS1v<(J)jZM~0T#lw$=H%K7~zbPKST@62p;P@>i1X4*I{L&nwZcX(P zXqdJ#og$A)bRvdhZBNr2O}wfQuO5)D()5XgM4aKst7V<`aZ}<+Qp-4+bW*!Jnq@tj zb$C79y0TQ7xlrZOTi&rM?WwHNo8?<8WSEuq z*5>iD(S!7T>lba!@Y34Xq(yJns({mqnS=_XGVRQIwOY*dDMu7RC#kO{t(6@?lrvw2 zb2r#9?QJp7r|WDZ_1J|Bay55;otDWxb4od6bY~cYQEmWDGPtP?Y6||P)SK8n3lL)STubt(0XQo`O z>$XK(f*;Cp2!882e%-$_{3L?ow_b){>3|GB>y~Y;uW3=fL-5ODRiC#hII*LZvmhR-GmMZza0 zfRA*GWov{0t||b!0|Qa zhj#~O@*wPXaO}G7$+8nWXeW>0zAQmE1dPGy`jC&9_`|#PO1HkOX<>DAt`AwgZ0+pv zd*1Mq2(JEj$@0tkFRf>~#c)kojvbQUZjN7RUBgczIDQP9sr)>wfou!rgQd6|nv)tOpWBgUa7|To?TrB&BN!z4v^fG5idMwXZ? zR$Vmiv^b@c$Tvl3HTFRXMXX5^0{B>ebBq39^L&cogYD>5#UYtgx^K-iZR-_o9ja+z zPY%(v>Hn7BX@;Lfa8-XqhF_Z(dJ0y;f7D7iQq!7}=I7g8M>%Hs#|<-~cFc~k1X({c zU(H;4KD&Z&&Hf%I?VakRUAI42XEogv&A#Y$_+)v1aNgqmxoLXTjni)X>4jvRfBW^S zW0H5g#*2M^e{d#lYfV39uv>1IB`J03UU00+|D?1?z$J!3JPMuo0LAHU^u3O~Gbh zHkbo82U~zG!56_?uoc)EYy-9h+k+jzPT))6%V1})3)mIx26hK~fIY!pU~jMw*ca>v z_6J`92Y>^?LEvC;2sjiR295wnf}_AO_-QXr{IvNnD9DcU?t7>8K02-Uv3bG6^B6OF zACF3xX#bb-<3yUZ`CBI2C-ax=7`Z=qe*0;61urgrXX%@{yK~pgK}lXuXPTg$>8y6D z??k1mNmEICKeCkHXs5g`Ne>0|@N_8W&skcMf5Jw(ygkw_QR#*x`KWZ8CB3GdbY4^v zgWCvQy2p~<*iQPBsC2(0ebAEL38}fWpl3MY>J{=zP~PjmB`FExc!=(k~t9 zbC&dxcGBNQr57CO?=0z4?WBKGX2Q#MnIStUMyhuVJI*=h$e|iPox0Ikj54p;S%{`Nj0ImY9CN$`qb_Zlmxs z($X`6!;13VEOR_4j;68OWG6ZH`M zl|v&a_TWc!e8zLEY^Nx+OlV~C-eEpdI7i)d>xs;Yh_-VU*swn4vR}w=4)v;o;_k3 zOCgZ4`%xEN-_f z9${Hfq`QPfzppGr5etj!gheuGl!W~`qfQlN&Ui^?zQyUHR-eR_7*RoIH(KC%iW;-d z%ou5%Y4PtGRD5$0K~Ipw{PN2C`{d+0&Hax$^uz*l^kg{eql4 z4xRu{lB3_-9QiHnIn9xb@RB2%eYzR^VNkAqOM4C$&%@%4ghkgL#v07^lj!f2g^c^c z0tKCB@wTwgu4Y%lTdxX{)Od#_Na?AsNqA9us<+si>Zu5BMua_2$n z-D$oL!4#1Z#ZRd8UWbJK>=G*dC7lpAl(pVT+TCoh~c$el~$6nq3>MG}b zA@p@Pb_=c&sgA4;H=QjC3iE>_IJnEylz+4Mx2USbHG?KC=l9?h@G5u>`~kcU{s`Ux zZ-TeL+u+aOUBG;^^*$}`UrCE&D^^|ygfEkoe!09X;NQsdX(CIi^$&cN=ePcF1QMD_jI_8#G-E@z{%~YAQxp}Mk~Wy_(njxV z>kmgD$0A@Pvh*ghiraoD8Ermm&7(lKl7Ww!$o3J;D2FHcPhxTf)Zyw zv1e*+Dn@e1e3sIFa<0Hrc$GeBsI#t2jzfvSo64(LJ&olHnyPq5IW|2>RFx!&4xk~-{pRw6k*bWZS&EgJ*0SDT4=i0JES$M zEiEC`Q6r@&H*s`@{|L`v#p%r0WG_V9J`EXj77N-tF)AuXOJ+vK8a2i*U$ zXinG@d84b3rumoAaWwy=NGW`~ktf_y^OWn-P8O?p2<*ukGoG>H!iGPgm zkk)4AN9DVt!ozd9_$$iqXzy}HP-}U!?iubXEF^2g%9H64@v*_48F~?0&kWVp*7gf` zOQ=nyP#x$CBI|!M^Kp~O>xCaPiAD{u86@0Y^MM10(aaRLD@?ncCEQb}^rEbIxhp3# zA#>xJ*|1|z@P&IRErapv_Kbgg#YnIy4EH8jN}Sx<{VbAO22@yRH0cqPck*F2IeHiF zOYpGb;*>)+;(i)2f?uwSh`D(^CqrVlsD%4VOw}pzJ{Oc&{H^Omr_CBc{9x4LKCcr^HOkL>fx{J&o4w>h2N{J!E zvwPt<%V=#zz$26iMq6^`&!~?j+?7`0kwRi}+{16_=1V9&rYRcxpRt7!l`#1OpLMD=k?4GUE`A+EhIX;$RkWL;6Zox{@5y!|e#^ak zY9RS70^fO5oQR+h=r_5>7-HjK$1(p30WGLt7=OgP>j?dbxqQ@GK4Si%e#AU~F^^)@ zvx)aD^SBa3%&}fxzNUpf7Cuq=3tD%sInV;BCb6oRrP9(2)e0FZ*Jxtm_RUI7zU?n8qECKWOZqr z;nH}}q#^V!4Kk7l`M88f<&{mJk;*vB1>R#K*W$(;C4JdM-j+MOP_H7uc@T)IZMEnW+jmFhRgoMu6O~ufA3af7 z)}`id&l1>L`lA??*U=yJ()IL5i?9vMF9J6*zX;vf{3=IfIdU_1`&K0?&o;lRQCW^{ z@U9k><-7#H>QPw^LGY^)mA5v(SWVkjesNDC8sDCT2pKiweC2ZSCL0}lVv4?it$iUy z6cZ(Lh81{wQJiCQ4`ZaOrjouXzx*|hk7*!ZmsGR`cA148EzY>~FIE=PdAx-Ux+(7WY|BhMxDg(j&-mB!i-~8b6 zo{zh39|(5x0+VxsoG4tcKX)lxJj8F7TRvcaK)5zo2doR$0~>%1!A4*f*aU0}gmyNV z1K39pZVA{&5Y7ecBhcUMB?z|x+k)+Y{LP+%a7VzNf{;B0A$tl!_7sG>g5ALGU{A0Y z*c`wvI5+|v3626sgJZz4;A`MGa6C8xNW7E4$>0=l zDmV?C4$c5)g0sNc;2dx+I1jL-6|$riUIe}lE@qYLp7NJj;9N2Ymil2(7w_FtH%z^| zy!+H2l=tqITPtR>)4IHGcX#)lyvXIc!xm8v_(A!gB((Ro)>IA6yU^14h1L=pnZ9@M z-05_@L+4JX*Bw50dZG6(bEg-3KbK2JIH zXijrd4!Q63hzUM>dXmxnQ;_z46b2V)p>RhXMP^8E&(k|CDe2uE23IOo(WCl7Cc*NF z${X5mD{aZ6eIT7;@26pKof5Ttz7KXvQD|>8v_AJo(kZejBn)mfWIp3xWXXON26q~= zvM1j&S+bYI;9f&k@yK4vr^~Q>vS#_cFnG`qS3Tl)vbizDQ^VkKLtOKS|Is<+`C;&! zA+CGGA9qf9xiI*hA#OP0uI?=HsVeiNF!+-pZhFL(3~`a(K>cqN2JaiBZ&Kd6Z2DszmuW_^TQf59Cpcy6Ds7X!9_) zM7Q*()-aFn?1FqCs*SCxj;MU5uoayEhqFlxw!3Iz$Ar0!Ok%^m#Ex3%#Lo2-J2lMh zViFtSC3bSAF^L#tmIQ4*g+ zxHrSxTSmAgJbrH!TDWGs_St=x6h`+vt=Vr#`;@_o_Q@bcC;w{L6&b0Q^it_B$b@Yn zQ=v$8;3H*5JlwKfVb{hc%`q-bHq)fXm+o@d6}QZ>9$7I<)(X2$HK~pB$QoG*%cz!k z2#?B_Yd){ke120az5H#h^zt>D>-EB}^Gw-|_tKn`so28Onw^cpt{02|6FlPW3z;4S zPx!;L5XBMU61RwnUc|jRbJ;lT`n%yW$s;}}%Z1#)h0Itk8-!i`CgNl-;^7%(8jEyX z*c~g=DIW1x^XWEI{;qH_3Z(n&uzRFQeLz1!1yR+7sGGW?pLQb*8oT>i9@t%C4ppM=>v>e8?i+d3qVAh{)T8cOc{HN# z+j%sj?mKz3B5D8FUD5%tySne;5k;czu)E5V=5QS|u)De+;jcxa@^w70yTsta?h=Cw zyGsnNMUAppEb4xYzp%Sh!*;(OcCT+5(=;!)ul@ftw|@@1A27L{?&bEaOs~ytALeJ6 zCa|{c_ zEi_oV?jvRK8F1z(`LXeysd-T16gys{G0_ z`r{sv&W>+HjKiuCg83V&2tATNgGVFEOV`I4BAva(jR!o!URok*q%2v8)Z|2s5T{3+uKf}w#qw=qKED@ET=dol|eu2lB zsQe<2vC@EAiV)#9KkC}|92sZz-~#UbTD8U2<= zIm-Wr2gMYt<$z(D^f|Vi(0j{t|Gx! zL}C^#B2f#k@n9A$5tv0wbZSA0lUk7CgeeS3;UXgtGkFj-3yLb z3k%;e5!dh{Ru&vF3JcGgh--Qgx%Q&9NUAFQ7SOYjR7KCe+99N}3sKMdJb1Su4-DX0 zJm?U#5n6!O2vs39LRCnOP!;d-pem%CsfxewXhmfy+Au2rod;F%PagCL=?YZEzj@Fj zq(<0fKTn!(&r)HrV0!afp7fKM$fcbzvGi0Kt%e%LR6jzb?>Uv!Fbl+>qy37!aid21 z5BZCR^f8ZWBzYF;=kus*OK6yGiSVEDj&>yUSOwqZ(Hr%w$s>w-*5!dWMjS80O(~5q zrL>4CrIE5;APuP!@EC2{-=Zd)igID#>L{b6GdJq^2a7O_NJZAjxHDa!F<-m$;rJ zm%~ghhno!HdXf%>?vi>#cTsO-w&wuN&>>;*ZPWPH@iKG})z_QKk*U6(qow+Kj+Go$ z@|vRpsTHD9jfbtiN{PR)>V$8_NKuU{75=J46``c@p-Wl~%^%fwA%D>Jq#$T}kE zhNZntQLpPsc6y=JObIqvQEMYdFG`xGtJlEbD=8j^iN|;_ zOqkYvRakn^6wi8|5LXmh!v+;Xaz;s@*-ElLu3b~A3KxQS0#VMd@St?w;DN94bsh+D z9gkYnb3KoGRB7;NM3okgX4G>hk5<%k7Y~X@9HyP{S<<9pf6aq;BY4m=U*b`YDkFJNSg-Ox&i8pB=ihkLqn>~9Xhc09NsSeH z!tyqz#x`(56uJwok^iTKRge}%VM&=aO_{Z#!YKXyS8ABKq zK8^=@n81TPOybdsDpPonhp9Yzqsnw142v`@>EY5|P-oI!Mwq-WV)8yRDy+cEQBh$n z9;tCrtP_*Xjl%N3Og1<2vbjN_)mT6_rSW3(N!zufzY0$_MR=692$(fGw2ckL2Z9x<(a6EBtBT7_06Rd#+dm1VTAEvM4U z5LbvQ%kv;@`z72ZfcF42MlU4hO)2<7=M#W`etb6R)w>|YR%NtY)`N=N~t-aHUO-*%T=x`6S+`C7lzeUOupuL z(a$fn%7d1l(S~AvkcBl7g`q>TKn+QY!Xz<8c6nIc)Fi#Rm-J;rPQXYMT|lC=AxV>@ zB~8p`ljhZ7H8v`?@Y4KNTbejisD`yQyKQM|&Dtcd539!-F}L)RypAT69z9JHs;nz% zR@N6eWzK+{q>r3xHzNCnS_G=O7!YRh7ad$iRty!f>lr;IV+`w(v1Ift+!0pKF;aZd zlj62^Dd=nDY!j7Yvjs`<5G-h5kMdY3Deeoa_ZunZdQ#les%MP0xGd&q`C^e2#X6xi zYyl%m=ZicjimiC?avL5L#dbVswiV33j`AV<`wOc)q5Bu9twAV<<}n7m0#VG2#g=&^5xwRKFEw)V3024-m5(5f(J z=+SK8DJ2_J$Wf9d6|G=|G5VS;sf}regvv26q`gYJVMw@@2hPQB@@SYfVY2j9{$f#A z+A>)>jt5yffkzZoa8XW+ip{Y0q!Dx*Cup&bpwm;jrGj#!NuxPwI(QxsiY7(FIg8W^ zYWG?>E8>Kp=#5ocxq!bYdNEE>nbNdSnM@*(vm&M{a$d#*```*5$axhH9Vtr4l>^i2U7>1oOjOL4~bR#7Uh7!{?)Y`s_R<}b!N zDep#sh`^ERW$) zX(SISNIE-Oq2W2LCpixV1(ZnzDpv+$8L8JbE?cH%m zoMjxq@q6!Vd(Y=BpLg$RI(6x`Vwi=5gfs~Y2^%sbWVmL_mTk7&bR}hBAtB{LVuTC{ zsVj!auyq@9JJu)*2^nKpNyxCUX3J_dTehsZ?EAdWvEE%Hg8qGl55M#7cki8#@B4e7 z_kEuC?hC>Vx(VpKswQVAc$PrrP=%bzp^7zawuKOJn9r)(%sooYa?Bn4cB4K#rOi}> zs(@&gC)g zJjiFs=>JKBXTkkfkDqYLn`EXd$-VkT9`WS9m9l9t7fAN%v~8ZWfs{q2Q%?9Gi+63= zr;{J`B)^lAtf%^z30p>Wa-%0Xo|3E@o+W>1%jC?Z$2`d&q$I2J?j)bEWpZNDc2DwH zO0u2_V}54KWBP6E@Fah7?c^z2j_TwlPx9%MWc{9*>mg6+ZkF`h}F&QU^}_$(L<;Ucc58p5#ma@wLLHEf@6DoBw`#c-b{y zD{S+llXrQNGyZYBM0I1lo8m@k98!On8vdd%9%7T=F159B->`cB41(D!^)h#RmYF3p zQbwiHzj6C@-@2{!om+x`a7*xyYN5$~oqO7kU8E`i^y_F&RZY$ls3t!Xs3yM_ad5(2pn%U=TxyVHgP<#|TC-hLae_1STrg5HK;`$>d}BkG@%)- zXhScZvIqpUU?nNc;Llril8XHlA2T+SmsKbM($5u38 z8yc}4P1uQM>_#h|L>rz)JDx)aUO*>aL>FE{H(o&xUd2AVhFpiYF@ldUijOgd6F7-e7{{lWz~`96X-wfuOyg_J;4EhGJ`G7PkTjA`Q!6A{|!Dhy~cJtinJ*bOiP+u_3B2%`vzLeYuqr2yt8A zTw=ZRAMxA3Uk|JtzYY90Q038I5BxUp*8{(Q;P;XIe&YY_D|0Bjnx1&j%Cy!H^EtHR aL#jgS@3*AIVS8x(25W^CQ8%8lGXDa4d4hld literal 232670 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 delta 15748 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 Dbw| 0 && _gridData.getYNum() > 0) { - viewGridData(); + if (_gridData != null) { + if (_gridData.getXArray() != null && _gridData.getYArray() != null) { + if (_gridData.getXNum() > 0 && _gridData.getYNum() > 0) { + viewGridData(); + } } } } diff --git a/meteoinfo-ndarray/src/main/java/org/meteoinfo/ndarray/math/ArrayMath.java b/meteoinfo-ndarray/src/main/java/org/meteoinfo/ndarray/math/ArrayMath.java index b81815b2..f30f8d41 100644 --- a/meteoinfo-ndarray/src/main/java/org/meteoinfo/ndarray/math/ArrayMath.java +++ b/meteoinfo-ndarray/src/main/java/org/meteoinfo/ndarray/math/ArrayMath.java @@ -3548,6 +3548,110 @@ public class ArrayMath { return r; } + /** + * Clip array by minimum and maximum values + * + * @param a Input array + * @param min Minimum + * @param max Maximum + * @return Output array + */ + public static Array clip(Array a, double min, double max) { + Array r = Array.factory(a.getDataType(), a.getShape()); + double v; + if (a.getIndexPrivate().isFastIterator()) { + for (int i = 0; i < a.getSize(); i++) { + v = a.getDouble(i); + if (v < min) { + v = min; + } else if (v > max) { + v = max; + } + r.setDouble(i, v); + } + } else { + IndexIterator iterA = a.getIndexIterator(); + IndexIterator iterR = r.getIndexIterator(); + while (iterA.hasNext()) { + v = iterA.getDoubleNext(); + if (v < min) { + v = min; + } else if (v > max) { + v = max; + } + iterR.setDoubleNext(v); + } + } + + return r; + } + + /** + * Clip array by minimum value + * + * @param a Input array + * @param min Minimum + * @return Output array + */ + public static Array clipMin(Array a, double min) { + Array r = Array.factory(a.getDataType(), a.getShape()); + double v; + if (a.getIndexPrivate().isFastIterator()) { + for (int i = 0; i < a.getSize(); i++) { + v = a.getDouble(i); + if (v < min) { + v = min; + } + r.setDouble(i, v); + } + } else { + IndexIterator iterA = a.getIndexIterator(); + IndexIterator iterR = r.getIndexIterator(); + while (iterA.hasNext()) { + v = iterA.getDoubleNext(); + if (v < min) { + v = min; + } + iterR.setDoubleNext(v); + } + } + + return r; + } + + /** + * Clip array by maximum value + * + * @param a Input array + * @param max Maximum + * @return Output array + */ + public static Array clipMax(Array a, double max) { + Array r = Array.factory(a.getDataType(), a.getShape()); + double v; + if (a.getIndexPrivate().isFastIterator()) { + for (int i = 0; i < a.getSize(); i++) { + v = a.getDouble(i); + if (v > max) { + v = max; + } + r.setDouble(i, v); + } + } else { + IndexIterator iterA = a.getIndexIterator(); + IndexIterator iterR = r.getIndexIterator(); + while (iterA.hasNext()) { + v = iterA.getDoubleNext(); + if (v > max) { + v = max; + } + iterR.setDoubleNext(v); + } + } + + return r; + } + /** * Return the complex conjugate, element-wise. * The complex conjugate of a complex number is obtained by changing the sign of its imaginary part.