From 54b3830dd9aa5da789c96d813386e9dbb8f5c810 Mon Sep 17 00:00:00 2001 From: Ignacio Quintero Date: Wed, 24 Jan 2018 13:03:37 -0800 Subject: [PATCH 01/14] Add data_type to hyperparameters (#54) When we describe a training job the data type of the hyper parameters is lost because we use a dict[str, str]. This adds a new field to Hyperparameter so that we can convert the datatypes at runtime. instead of validating with isinstance(), we cast the hp value to the type it is meant to be. This enforces a "strongly typed" value. When we deserialize from the API string responses it becomes easier to deal with too. --- src/sagemaker/amazon/amazon_estimator.py | 4 +- .../amazon/factorization_machines.py | 50 +++++++------- src/sagemaker/amazon/hyperparameter.py | 7 +- src/sagemaker/amazon/kmeans.py | 20 +++--- src/sagemaker/amazon/linear_learner.py | 67 ++++++++++--------- src/sagemaker/amazon/pca.py | 13 ++-- src/sagemaker/amazon/validation.py | 6 -- tests/unit/test_hyperparameter.py | 21 +++++- 8 files changed, 101 insertions(+), 87 deletions(-) diff --git a/src/sagemaker/amazon/amazon_estimator.py b/src/sagemaker/amazon/amazon_estimator.py index 9ed28c1894..9fbdb8b631 100644 --- a/src/sagemaker/amazon/amazon_estimator.py +++ b/src/sagemaker/amazon/amazon_estimator.py @@ -28,8 +28,8 @@ class AmazonAlgorithmEstimatorBase(EstimatorBase): """Base class for Amazon first-party Estimator implementations. This class isn't intended to be instantiated directly.""" - feature_dim = hp('feature_dim', (validation.isint, validation.gt(0))) - mini_batch_size = hp('mini_batch_size', (validation.isint, validation.gt(0))) + feature_dim = hp('feature_dim', validation.gt(0), data_type=int) + mini_batch_size = hp('mini_batch_size', validation.gt(0), data_type=int) def __init__(self, role, train_instance_count, train_instance_type, data_location=None, **kwargs): """Initialize an AmazonAlgorithmEstimatorBase. diff --git a/src/sagemaker/amazon/factorization_machines.py b/src/sagemaker/amazon/factorization_machines.py index 5340fa11f0..66972316ac 100644 --- a/src/sagemaker/amazon/factorization_machines.py +++ b/src/sagemaker/amazon/factorization_machines.py @@ -13,7 +13,7 @@ from sagemaker.amazon.amazon_estimator import AmazonAlgorithmEstimatorBase, registry from sagemaker.amazon.common import numpy_to_record_serializer, record_deserializer from sagemaker.amazon.hyperparameter import Hyperparameter as hp # noqa -from sagemaker.amazon.validation import gt, isin, isint, ge, isnumber +from sagemaker.amazon.validation import gt, isin, ge from sagemaker.predictor import RealTimePredictor from sagemaker.model import Model from sagemaker.session import Session @@ -23,34 +23,34 @@ class FactorizationMachines(AmazonAlgorithmEstimatorBase): repo = 'factorization-machines:1' - num_factors = hp('num_factors', (gt(0), isint), 'An integer greater than zero') + num_factors = hp('num_factors', gt(0), 'An integer greater than zero', int) predictor_type = hp('predictor_type', isin('binary_classifier', 'regressor'), - 'Value "binary_classifier" or "regressor"') - epochs = hp('epochs', (gt(0), isint), "An integer greater than 0") - clip_gradient = hp('clip_gradient', isnumber, "A float value") - eps = hp('eps', isnumber, "A float value") - rescale_grad = hp('rescale_grad', isnumber, "A float value") - bias_lr = hp('bias_lr', (ge(0), isnumber), "A non-negative float") - linear_lr = hp('linear_lr', (ge(0), isnumber), "A non-negative float") - factors_lr = hp('factors_lr', (ge(0), isnumber), "A non-negative float") - bias_wd = hp('bias_wd', (ge(0), isnumber), "A non-negative float") - linear_wd = hp('linear_wd', (ge(0), isnumber), "A non-negative float") - factors_wd = hp('factors_wd', (ge(0), isnumber), "A non-negative float") + 'Value "binary_classifier" or "regressor"', str) + epochs = hp('epochs', gt(0), "An integer greater than 0", int) + clip_gradient = hp('clip_gradient', (), "A float value", float) + eps = hp('eps', (), "A float value", float) + rescale_grad = hp('rescale_grad', (), "A float value", float) + bias_lr = hp('bias_lr', ge(0), "A non-negative float", float) + linear_lr = hp('linear_lr', ge(0), "A non-negative float", float) + factors_lr = hp('factors_lr', ge(0), "A non-negative float", float) + bias_wd = hp('bias_wd', ge(0), "A non-negative float", float) + linear_wd = hp('linear_wd', ge(0), "A non-negative float", float) + factors_wd = hp('factors_wd', ge(0), "A non-negative float", float) bias_init_method = hp('bias_init_method', isin('normal', 'uniform', 'constant'), - 'Value "normal", "uniform" or "constant"') - bias_init_scale = hp('bias_init_scale', (ge(0), isnumber), "A non-negative float") - bias_init_sigma = hp('bias_init_sigma', (ge(0), isnumber), "A non-negative float") - bias_init_value = hp('bias_init_value', isnumber, "A float value") + 'Value "normal", "uniform" or "constant"', str) + bias_init_scale = hp('bias_init_scale', ge(0), "A non-negative float", float) + bias_init_sigma = hp('bias_init_sigma', ge(0), "A non-negative float", float) + bias_init_value = hp('bias_init_value', (), "A float value", float) linear_init_method = hp('linear_init_method', isin('normal', 'uniform', 'constant'), - 'Value "normal", "uniform" or "constant"') - linear_init_scale = hp('linear_init_scale', (ge(0), isnumber), "A non-negative float") - linear_init_sigma = hp('linear_init_sigma', (ge(0), isnumber), "A non-negative float") - linear_init_value = hp('linear_init_value', isnumber, "A float value") + 'Value "normal", "uniform" or "constant"', str) + linear_init_scale = hp('linear_init_scale', ge(0), "A non-negative float", float) + linear_init_sigma = hp('linear_init_sigma', ge(0), "A non-negative float", float) + linear_init_value = hp('linear_init_value', (), "A float value", float) factors_init_method = hp('factors_init_method', isin('normal', 'uniform', 'constant'), - 'Value "normal", "uniform" or "constant"') - factors_init_scale = hp('factors_init_scale', (ge(0), isnumber), "A non-negative float") - factors_init_sigma = hp('factors_init_sigma', (ge(0), isnumber), "A non-negative float") - factors_init_value = hp('factors_init_value', isnumber, "A float value") + 'Value "normal", "uniform" or "constant"', str) + factors_init_scale = hp('factors_init_scale', ge(0), "A non-negative float", float) + factors_init_sigma = hp('factors_init_sigma', ge(0), "A non-negative float", float) + factors_init_value = hp('factors_init_value', (), "A float value", float) def __init__(self, role, train_instance_count, train_instance_type, num_factors, predictor_type, diff --git a/src/sagemaker/amazon/hyperparameter.py b/src/sagemaker/amazon/hyperparameter.py index 0d86191474..a3ac76367c 100644 --- a/src/sagemaker/amazon/hyperparameter.py +++ b/src/sagemaker/amazon/hyperparameter.py @@ -16,7 +16,7 @@ class Hyperparameter(object): """An algorithm hyperparameter with optional validation. Implemented as a python descriptor object.""" - def __init__(self, name, validate=lambda _: True, validation_message=""): + def __init__(self, name, validate=lambda _: True, validation_message="", data_type=str): """Args: name (str): The name of this hyperparameter validate (callable[object]->[bool]): A validation function or list of validation functions. @@ -27,6 +27,7 @@ def __init__(self, name, validate=lambda _: True, validation_message=""): self.validation = validate self.validation_message = validation_message self.name = name + self.data_type = data_type try: iter(self.validation) except TypeError: @@ -35,9 +36,10 @@ def __init__(self, name, validate=lambda _: True, validation_message=""): def validate(self, value): if value is None: # We allow assignment from None, but Nones are not sent to training. return + for valid in self.validation: if not valid(value): - error_message = "Invalid hyperparameter value {}".format(value) + error_message = "Invalid hyperparameter value {} for {}".format(value, self.name) if self.validation_message: error_message = error_message + ". Expecting: " + self.validation_message raise ValueError(error_message) @@ -50,6 +52,7 @@ def __get__(self, obj, objtype): def __set__(self, obj, value): """Validate the supplied value and set this hyperparameter to value""" + value = None if value is None else self.data_type(value) self.validate(value) if '_hyperparameters' not in dir(obj): obj._hyperparameters = dict() diff --git a/src/sagemaker/amazon/kmeans.py b/src/sagemaker/amazon/kmeans.py index d3fb5d670e..020f496d8f 100644 --- a/src/sagemaker/amazon/kmeans.py +++ b/src/sagemaker/amazon/kmeans.py @@ -13,7 +13,7 @@ from sagemaker.amazon.amazon_estimator import AmazonAlgorithmEstimatorBase, registry from sagemaker.amazon.common import numpy_to_record_serializer, record_deserializer from sagemaker.amazon.hyperparameter import Hyperparameter as hp # noqa -from sagemaker.amazon.validation import gt, isin, isint, ge +from sagemaker.amazon.validation import gt, isin, ge from sagemaker.predictor import RealTimePredictor from sagemaker.model import Model from sagemaker.session import Session @@ -23,15 +23,15 @@ class KMeans(AmazonAlgorithmEstimatorBase): repo = 'kmeans:1' - k = hp('k', (gt(1), isint), 'An integer greater-than 1') - init_method = hp('init_method', isin('random', 'kmeans++'), 'One of "random", "kmeans++"') - max_iterations = hp('local_lloyd_max_iterations', (gt(0), isint), 'An integer greater-than 0') - tol = hp('local_lloyd_tol', (gt(0), isint), 'An integer greater-than 0') - num_trials = hp('local_lloyd_num_trials', (gt(0), isint), 'An integer greater-than 0') - local_init_method = hp('local_lloyd_init_method', isin('random', 'kmeans++'), 'One of "random", "kmeans++"') - half_life_time_size = hp('half_life_time_size', (ge(0), isint), 'An integer greater-than-or-equal-to 0') - epochs = hp('epochs', (gt(0), isint), 'An integer greater-than 0') - center_factor = hp('extra_center_factor', (gt(0), isint), 'An integer greater-than 0') + k = hp('k', gt(1), 'An integer greater-than 1', int) + init_method = hp('init_method', isin('random', 'kmeans++'), 'One of "random", "kmeans++"', str) + max_iterations = hp('local_lloyd_max_iterations', gt(0), 'An integer greater-than 0', int) + tol = hp('local_lloyd_tol', gt(0), 'An integer greater-than 0', int) + num_trials = hp('local_lloyd_num_trials', gt(0), 'An integer greater-than 0', int) + local_init_method = hp('local_lloyd_init_method', isin('random', 'kmeans++'), 'One of "random", "kmeans++"', str) + half_life_time_size = hp('half_life_time_size', ge(0), 'An integer greater-than-or-equal-to 0', int) + epochs = hp('epochs', gt(0), 'An integer greater-than 0', int) + center_factor = hp('extra_center_factor', gt(0), 'An integer greater-than 0', int) def __init__(self, role, train_instance_count, train_instance_type, k, init_method=None, max_iterations=None, tol=None, num_trials=None, local_init_method=None, diff --git a/src/sagemaker/amazon/linear_learner.py b/src/sagemaker/amazon/linear_learner.py index af336a8e6b..d1d9dd6cb8 100644 --- a/src/sagemaker/amazon/linear_learner.py +++ b/src/sagemaker/amazon/linear_learner.py @@ -13,7 +13,7 @@ from sagemaker.amazon.amazon_estimator import AmazonAlgorithmEstimatorBase, registry from sagemaker.amazon.common import numpy_to_record_serializer, record_deserializer from sagemaker.amazon.hyperparameter import Hyperparameter as hp # noqa -from sagemaker.amazon.validation import isin, gt, lt, isint, isbool, isnumber +from sagemaker.amazon.validation import isin, gt, lt from sagemaker.predictor import RealTimePredictor from sagemaker.model import Model from sagemaker.session import Session @@ -27,40 +27,41 @@ class LinearLearner(AmazonAlgorithmEstimatorBase): binary_classifier_model_selection_criteria = hp('binary_classifier_model_selection_criteria', isin('accuracy', 'f1', 'precision_at_target_recall', - 'recall_at_target_precision', 'cross_entropy_loss')) - target_recall = hp('target_recall', (gt(0), lt(1)), "A float in (0,1)") - target_precision = hp('target_precision', (gt(0), lt(1)), "A float in (0,1)") - positive_example_weight_mult = hp('positive_example_weight_mult', gt(0), "A float greater than 0") - epochs = hp('epochs', (gt(0), isint), "An integer greater-than 0") + 'recall_at_target_precision', 'cross_entropy_loss'), + data_type=str) + target_recall = hp('target_recall', (gt(0), lt(1)), "A float in (0,1)", float) + target_precision = hp('target_precision', (gt(0), lt(1)), "A float in (0,1)", float) + positive_example_weight_mult = hp('positive_example_weight_mult', gt(0), "A float greater than 0", float) + epochs = hp('epochs', gt(0), "An integer greater-than 0", int) predictor_type = hp('predictor_type', isin('binary_classifier', 'regressor'), - 'One of "binary_classifier" or "regressor"') - use_bias = hp('use_bias', isbool, "Either True or False") - num_models = hp('num_models', (gt(0), isint), "An integer greater-than 0") - num_calibration_samples = hp('num_calibration_samples', (gt(0), isint), "An integer greater-than 0") - init_method = hp('init_method', isin('uniform', 'normal'), 'One of "uniform" or "normal"') - init_scale = hp('init_scale', (gt(-1), lt(1)), 'A float in (-1, 1)') - init_sigma = hp('init_sigma', (gt(0), lt(1)), 'A float in (0, 1)') - init_bias = hp('init_bias', isnumber, 'A number') - optimizer = hp('optimizer', isin('sgd', 'adam', 'auto'), 'One of "sgd", "adam" or "auto') + 'One of "binary_classifier" or "regressor"', str) + use_bias = hp('use_bias', (), "Either True or False", bool) + num_models = hp('num_models', gt(0), "An integer greater-than 0", int) + num_calibration_samples = hp('num_calibration_samples', gt(0), "An integer greater-than 0", int) + init_method = hp('init_method', isin('uniform', 'normal'), 'One of "uniform" or "normal"', str) + init_scale = hp('init_scale', (gt(-1), lt(1)), 'A float in (-1, 1)', float) + init_sigma = hp('init_sigma', (gt(0), lt(1)), 'A float in (0, 1)', float) + init_bias = hp('init_bias', (), 'A number', float) + optimizer = hp('optimizer', isin('sgd', 'adam', 'auto'), 'One of "sgd", "adam" or "auto', str) loss = hp('loss', isin('logistic', 'squared_loss', 'absolute_loss', 'auto'), - '"logistic", "squared_loss", "absolute_loss" or"auto"') - wd = hp('wd', (gt(0), lt(1)), 'A float in (0,1)') - l1 = hp('l1', (gt(0), lt(1)), 'A float in (0,1)') - momentum = hp('momentum', (gt(0), lt(1)), 'A float in (0,1)') - learning_rate = hp('learning_rate', (gt(0), lt(1)), 'A float in (0,1)') - beta_1 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)') - beta_2 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)') - bias_lr_mult = hp('bias_lr_mult', gt(0), 'A float greater-than 0') - bias_wd_mult = hp('bias_wd_mult', gt(0), 'A float greater-than 0') - use_lr_scheduler = hp('use_lr_scheduler', isbool, 'A boolean') - lr_scheduler_step = hp('lr_scheduler_step', (gt(0), isint), 'An integer greater-than 0') - lr_scheduler_factor = hp('lr_scheduler_factor', (gt(0), lt(1)), 'A float in (0,1)') - lr_scheduler_minimum_lr = hp('lr_scheduler_minimum_lr', gt(0), 'A float greater-than 0') - normalize_data = hp('normalize_data', isbool, 'A boolean') - normalize_label = hp('normalize_label', isbool, 'A boolean') - unbias_data = hp('unbias_data', isbool, 'A boolean') - unbias_label = hp('unbias_label', isbool, 'A boolean') - num_point_for_scalar = hp('num_point_for_scalar', (isint, gt(0)), 'An integer greater-than 0') + '"logistic", "squared_loss", "absolute_loss" or"auto"', str) + wd = hp('wd', (gt(0), lt(1)), 'A float in (0,1)', float) + l1 = hp('l1', (gt(0), lt(1)), 'A float in (0,1)', float) + momentum = hp('momentum', (gt(0), lt(1)), 'A float in (0,1)', float) + learning_rate = hp('learning_rate', (gt(0), lt(1)), 'A float in (0,1)', float) + beta_1 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)', float) + beta_2 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)', float) + bias_lr_mult = hp('bias_lr_mult', gt(0), 'A float greater-than 0', float) + bias_wd_mult = hp('bias_wd_mult', gt(0), 'A float greater-than 0', float) + use_lr_scheduler = hp('use_lr_scheduler', (), 'A boolean', bool) + lr_scheduler_step = hp('lr_scheduler_step', gt(0), 'An integer greater-than 0', int) + lr_scheduler_factor = hp('lr_scheduler_factor', (gt(0), lt(1)), 'A float in (0,1)', float) + lr_scheduler_minimum_lr = hp('lr_scheduler_minimum_lr', gt(0), 'A float greater-than 0', float) + normalize_data = hp('normalize_data', (), 'A boolean', bool) + normalize_label = hp('normalize_label', (), 'A boolean', bool) + unbias_data = hp('unbias_data', (), 'A boolean', bool) + unbias_label = hp('unbias_label', (), 'A boolean', bool) + num_point_for_scalar = hp('num_point_for_scalar', gt(0), 'An integer greater-than 0', int) def __init__(self, role, train_instance_count, train_instance_type, predictor_type='binary_classifier', binary_classifier_model_selection_criteria=None, target_recall=None, target_precision=None, diff --git a/src/sagemaker/amazon/pca.py b/src/sagemaker/amazon/pca.py index 7a23f60c7c..48f99c04d1 100644 --- a/src/sagemaker/amazon/pca.py +++ b/src/sagemaker/amazon/pca.py @@ -24,14 +24,13 @@ class PCA(AmazonAlgorithmEstimatorBase): DEFAULT_MINI_BATCH_SIZE = 500 - num_components = hp(name='num_components', validate=lambda x: x > 0 and isinstance(x, int), - validation_message='Value must be an integer greater than zero') + num_components = hp(name='num_components', validate=lambda x: x > 0, + validation_message='Value must be an integer greater than zero', data_type=int) algorithm_mode = hp(name='algorithm_mode', validate=lambda x: x in ['regular', 'stable', 'randomized'], - validation_message='Value must be one of "regular", "stable", "randomized"') - subtract_mean = hp(name='subtract_mean', validate=lambda x: isinstance(x, bool), - validation_message='Value must be a boolean') - extra_components = hp(name='extra_components', validate=lambda x: x >= 0 and isinstance(x, int), - validation_message="Value must be an integer greater than or equal to 0") + validation_message='Value must be one of "regular", "stable", "randomized"', data_type=str) + subtract_mean = hp(name='subtract_mean', validation_message='Value must be a boolean', data_type=bool) + extra_components = hp(name='extra_components', validate=lambda x: x >= 0, + validation_message="Value must be an integer greater than or equal to 0", data_type=int) def __init__(self, role, train_instance_count, train_instance_type, num_components, algorithm_mode=None, subtract_mean=None, extra_components=None, **kwargs): diff --git a/src/sagemaker/amazon/validation.py b/src/sagemaker/amazon/validation.py index ff3259be8f..ede48cc9b3 100644 --- a/src/sagemaker/amazon/validation.py +++ b/src/sagemaker/amazon/validation.py @@ -10,7 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import numbers def gt(minimum): @@ -41,8 +40,3 @@ def istype(expected): def validate(value): return isinstance(value, expected) return validate - - -isint = istype(int) -isbool = istype(bool) -isnumber = istype(numbers.Number) # noqa diff --git a/tests/unit/test_hyperparameter.py b/tests/unit/test_hyperparameter.py index c168f3275e..db7ed3f64c 100644 --- a/tests/unit/test_hyperparameter.py +++ b/tests/unit/test_hyperparameter.py @@ -16,9 +16,9 @@ class Test(object): - blank = Hyperparameter(name="some-name") + blank = Hyperparameter(name="some-name", data_type=int) elizabeth = Hyperparameter(name='elizabeth') - validated = Hyperparameter(name="validated", validate=lambda value: value > 55) + validated = Hyperparameter(name="validated", validate=lambda value: value > 55, data_type=int) def test_blank_access(): @@ -55,3 +55,20 @@ def test_validated(): x.validated = 66 with pytest.raises(ValueError): x.validated = 23 + + +def test_data_type(): + x = Test() + x.validated = 66 + assert type(x.validated) == Test.__dict__["validated"].data_type + + +def test_from_string(): + x = Test() + value = 65 + + x.validated = value + from_api = str(value) + + x.validated = from_api + assert x.validated == value From 354ded3b6596154814f6e8cd3352c9f4e8358344 Mon Sep 17 00:00:00 2001 From: lukmis <32072210+lukmis@users.noreply.github.com> Date: Wed, 31 Jan 2018 11:17:15 -0800 Subject: [PATCH 02/14] Add wrapper for LDA. (#56) Update CHANGELOG and bump the version number. --- CHANGELOG.rst | 9 + setup.py | 2 +- src/sagemaker/__init__.py | 2 + src/sagemaker/amazon/amazon_estimator.py | 27 ++- .../amazon/factorization_machines.py | 6 +- src/sagemaker/amazon/kmeans.py | 6 +- src/sagemaker/amazon/lda.py | 127 ++++++++++ src/sagemaker/amazon/linear_learner.py | 6 +- src/sagemaker/amazon/pca.py | 6 +- tests/data/lda/nips-train_1.pbr | Bin 0 -> 1055608 bytes tests/integ/test_lda.py | 77 ++++++ tests/unit/test_amazon_estimator.py | 1 - tests/unit/test_lda.py | 224 ++++++++++++++++++ 13 files changed, 475 insertions(+), 18 deletions(-) create mode 100644 src/sagemaker/amazon/lda.py create mode 100644 tests/data/lda/nips-train_1.pbr create mode 100644 tests/integ/test_lda.py create mode 100644 tests/unit/test_lda.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 86b55eb7fa..ccf88d1de9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,15 @@ CHANGELOG ========= +1.0.3 +===== + +* feature: Estimators: add support for Amazon LDA algorithm +* feature: Hyperparameters: Add data_type to hyperparameters +* feature: Documentation: Update TensorFlow examples following API change +* feature: Session: Support multi-part uploads + + 1.0.2 ===== diff --git a/setup.py b/setup.py index 6b048f83fc..1edd9dd2dc 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def read(fname): setup(name="sagemaker", - version="1.0.2", + version="1.0.3", description="Open source library for training and deploying models on Amazon SageMaker.", packages=find_packages('src'), package_dir={'': 'src'}, diff --git a/src/sagemaker/__init__.py b/src/sagemaker/__init__.py index 098c067f96..b293cf2f5c 100644 --- a/src/sagemaker/__init__.py +++ b/src/sagemaker/__init__.py @@ -15,6 +15,7 @@ from sagemaker import estimator from sagemaker.amazon.kmeans import KMeans, KMeansModel, KMeansPredictor from sagemaker.amazon.pca import PCA, PCAModel, PCAPredictor +from sagemaker.amazon.lda import LDA, LDAModel, LDAPredictor from sagemaker.amazon.linear_learner import LinearLearner, LinearLearnerModel, LinearLearnerPredictor from sagemaker.amazon.factorization_machines import FactorizationMachines, FactorizationMachinesModel from sagemaker.amazon.factorization_machines import FactorizationMachinesPredictor @@ -30,6 +31,7 @@ __all__ = [estimator, KMeans, KMeansModel, KMeansPredictor, PCA, PCAModel, PCAPredictor, LinearLearner, LinearLearnerModel, LinearLearnerPredictor, + LDA, LDAModel, LDAPredictor, FactorizationMachines, FactorizationMachinesModel, FactorizationMachinesPredictor, Model, RealTimePredictor, Session, container_def, s3_input, production_variant, get_execution_role] diff --git a/src/sagemaker/amazon/amazon_estimator.py b/src/sagemaker/amazon/amazon_estimator.py index 9fbdb8b631..cc92fec0f4 100644 --- a/src/sagemaker/amazon/amazon_estimator.py +++ b/src/sagemaker/amazon/amazon_estimator.py @@ -47,7 +47,8 @@ def __init__(self, role, train_instance_count, train_instance_type, data_locatio self.data_location = data_location def train_image(self): - return registry(self.sagemaker_session.boto_region_name) + "/" + type(self).repo + repo = '{}:{}'.format(type(self).repo_name, type(self).repo_version) + return '{}/{}'.format(registry(self.sagemaker_session.boto_region_name, type(self).repo_name), repo) def hyperparameters(self): return hp.serialize_all(self) @@ -200,12 +201,22 @@ def upload_numpy_to_s3_shards(num_shards, s3, bucket, key_prefix, array, labels= raise ex -def registry(region_name): +def registry(region_name, algorithm=None): """Return docker registry for the given AWS region""" - account_id = { - "us-east-1": "382416733822", - "us-east-2": "404615174143", - "us-west-2": "174872318107", - "eu-west-1": "438346466558" - }[region_name] + if algorithm in [None, "pca", "kmeans", "linear-learner", "factorization-machines"]: + account_id = { + "us-east-1": "382416733822", + "us-east-2": "404615174143", + "us-west-2": "174872318107", + "eu-west-1": "438346466558" + }[region_name] + elif algorithm in ["lda"]: + account_id = { + "us-east-1": "766337827248", + "us-east-2": "999911452149", + "us-west-2": "266724342769", + "eu-west-1": "999678624901" + }[region_name] + else: + raise ValueError("Algorithm class:{} doesn't have mapping to account_id with images".format(algorithm)) return "{}.dkr.ecr.{}.amazonaws.com".format(account_id, region_name) diff --git a/src/sagemaker/amazon/factorization_machines.py b/src/sagemaker/amazon/factorization_machines.py index 66972316ac..5297367947 100644 --- a/src/sagemaker/amazon/factorization_machines.py +++ b/src/sagemaker/amazon/factorization_machines.py @@ -21,7 +21,8 @@ class FactorizationMachines(AmazonAlgorithmEstimatorBase): - repo = 'factorization-machines:1' + repo_name = 'factorization-machines' + repo_version = 1 num_factors = hp('num_factors', gt(0), 'An integer greater than zero', int) predictor_type = hp('predictor_type', isin('binary_classifier', 'regressor'), @@ -194,7 +195,8 @@ class FactorizationMachinesModel(Model): def __init__(self, model_data, role, sagemaker_session=None): sagemaker_session = sagemaker_session or Session() - image = registry(sagemaker_session.boto_session.region_name) + "/" + FactorizationMachines.repo + repo = '{}:{}'.format(FactorizationMachines.repo_name, FactorizationMachines.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name), repo) super(FactorizationMachinesModel, self).__init__(model_data, image, role, diff --git a/src/sagemaker/amazon/kmeans.py b/src/sagemaker/amazon/kmeans.py index 020f496d8f..b684b68f07 100644 --- a/src/sagemaker/amazon/kmeans.py +++ b/src/sagemaker/amazon/kmeans.py @@ -21,7 +21,8 @@ class KMeans(AmazonAlgorithmEstimatorBase): - repo = 'kmeans:1' + repo_name = 'kmeans' + repo_version = 1 k = hp('k', gt(1), 'An integer greater-than 1', int) init_method = hp('init_method', isin('random', 'kmeans++'), 'One of "random", "kmeans++"', str) @@ -132,6 +133,7 @@ class KMeansModel(Model): def __init__(self, model_data, role, sagemaker_session=None): sagemaker_session = sagemaker_session or Session() - image = registry(sagemaker_session.boto_session.region_name) + "/" + KMeans.repo + repo = '{}:{}'.format(KMeans.repo_name, KMeans.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name), repo) super(KMeansModel, self).__init__(model_data, image, role, predictor_cls=KMeansPredictor, sagemaker_session=sagemaker_session) diff --git a/src/sagemaker/amazon/lda.py b/src/sagemaker/amazon/lda.py new file mode 100644 index 0000000000..30367b2b0f --- /dev/null +++ b/src/sagemaker/amazon/lda.py @@ -0,0 +1,127 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from sagemaker.amazon.amazon_estimator import AmazonAlgorithmEstimatorBase, registry +from sagemaker.amazon.common import numpy_to_record_serializer, record_deserializer +from sagemaker.amazon.hyperparameter import Hyperparameter as hp # noqa +from sagemaker.amazon.validation import gt +from sagemaker.predictor import RealTimePredictor +from sagemaker.model import Model +from sagemaker.session import Session + + +class LDA(AmazonAlgorithmEstimatorBase): + + repo_name = 'lda' + repo_version = 1 + + num_topics = hp('num_topics', gt(0), 'An integer greater than zero', int) + alpha0 = hp('alpha0', gt(0), 'A positive float', float) + max_restarts = hp('max_restarts', gt(0), 'An integer greater than zero', int) + max_iterations = hp('max_iterations', gt(0), 'An integer greater than zero', int) + tol = hp('tol', gt(0), 'A positive float', float) + + def __init__(self, role, train_instance_type, num_topics, + alpha0=None, max_restarts=None, max_iterations=None, tol=None, **kwargs): + """Latent Dirichlet Allocation (LDA) is :class:`Estimator` used for unsupervised learning. + + Amazon SageMaker Latent Dirichlet Allocation is an unsupervised learning algorithm that attempts to describe + a set of observations as a mixture of distinct categories. LDA is most commonly used to discover + a user-specified number of topics shared by documents within a text corpus. + Here each observation is a document, the features are the presence (or occurrence count) of each word, and + the categories are the topics. + + This Estimator may be fit via calls to + :meth:`~sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.fit`. It requires Amazon + :class:`~sagemaker.amazon.record_pb2.Record` protobuf serialized data to be stored in S3. + There is an utility :meth:`~sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.record_set` that + can be used to upload data to S3 and creates :class:`~sagemaker.amazon.amazon_estimator.RecordSet` to be passed + to the `fit` call. + + To learn more about the Amazon protobuf Record class and how to prepare bulk data in this format, please + consult AWS technical documentation: https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html + + After this Estimator is fit, model data is stored in S3. The model may be deployed to an Amazon SageMaker + Endpoint by invoking :meth:`~sagemaker.amazon.estimator.EstimatorBase.deploy`. As well as deploying an Endpoint, + deploy returns a :class:`~sagemaker.amazon.lda.LDAPredictor` object that can be used + for inference calls using the trained model hosted in the SageMaker Endpoint. + + LDA Estimators can be configured by setting hyperparameters. The available hyperparameters for + LDA are documented below. + + For further information on the AWS LDA algorithm, + please consult AWS technical documentation: https://docs.aws.amazon.com/sagemaker/latest/dg/lda.html + + Args: + role (str): An AWS IAM role (either name or full ARN). The Amazon SageMaker training jobs and + APIs that create Amazon SageMaker endpoints use this role to access + training data and model artifacts. After the endpoint is created, + the inference code might use the IAM role, if accessing AWS resource. + train_instance_type (str): Type of EC2 instance to use for training, for example, 'ml.c4.xlarge'. + num_topics (int): The number of topics for LDA to find within the data. + alpha0 (float): Optional. Initial guess for the concentration parameter + max_restarts (int): Optional. The number of restarts to perform during the Alternating Least Squares (ALS) + spectral decomposition phase of the algorithm. + max_iterations (int): Optional. The maximum number of iterations to perform during the + ALS phase of the algorithm. + tol (float): Optional. Target error tolerance for the ALS phase of the algorithm. + **kwargs: base class keyword argument values. + """ + + # this algorithm only supports single instance training + super(LDA, self).__init__(role, 1, train_instance_type, **kwargs) + self.num_topics = num_topics + self.alpha0 = alpha0 + self.max_restarts = max_restarts + self.max_iterations = max_iterations + self.tol = tol + + def create_model(self): + """Return a :class:`~sagemaker.amazon.LDAModel` referencing the latest + s3 model data produced by this Estimator.""" + + return LDAModel(self.model_data, self.role, sagemaker_session=self.sagemaker_session) + + def fit(self, records, mini_batch_size, **kwargs): + # mini_batch_size is required, prevent explicit calls with None + if mini_batch_size is None: + raise ValueError("mini_batch_size must be set") + super(LDA, self).fit(records, mini_batch_size, **kwargs) + + +class LDAPredictor(RealTimePredictor): + """Transforms input vectors to lower-dimesional representations. + + The implementation of :meth:`~sagemaker.predictor.RealTimePredictor.predict` in this + `RealTimePredictor` requires a numpy ``ndarray`` as input. The array should contain the + same number of columns as the feature-dimension of the data used to fit the model this + Predictor performs inference on. + + :meth:`predict()` returns a list of :class:`~sagemaker.amazon.record_pb2.Record` objects, one + for each row in the input ``ndarray``. The lower dimension vector result is stored in the ``projection`` + key of the ``Record.label`` field.""" + + def __init__(self, endpoint, sagemaker_session=None): + super(LDAPredictor, self).__init__(endpoint, sagemaker_session, serializer=numpy_to_record_serializer(), + deserializer=record_deserializer()) + + +class LDAModel(Model): + """Reference LDA s3 model data. Calling :meth:`~sagemaker.model.Model.deploy` creates an Endpoint and return + a Predictor that transforms vectors to a lower-dimensional representation.""" + + def __init__(self, model_data, role, sagemaker_session=None): + sagemaker_session = sagemaker_session or Session() + repo = '{}:{}'.format(LDA.repo_name, LDA.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name, LDA.repo_name), repo) + super(LDAModel, self).__init__(model_data, image, role, predictor_cls=LDAPredictor, + sagemaker_session=sagemaker_session) diff --git a/src/sagemaker/amazon/linear_learner.py b/src/sagemaker/amazon/linear_learner.py index d1d9dd6cb8..bd5f2b9682 100644 --- a/src/sagemaker/amazon/linear_learner.py +++ b/src/sagemaker/amazon/linear_learner.py @@ -21,7 +21,8 @@ class LinearLearner(AmazonAlgorithmEstimatorBase): - repo = 'linear-learner:1' + repo_name = 'linear-learner' + repo_version = 1 DEFAULT_MINI_BATCH_SIZE = 1000 @@ -226,7 +227,8 @@ class LinearLearnerModel(Model): def __init__(self, model_data, role, sagemaker_session=None): sagemaker_session = sagemaker_session or Session() - image = registry(sagemaker_session.boto_session.region_name) + "/" + LinearLearner.repo + repo = '{}:{}'.format(LinearLearner.repo_name, LinearLearner.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name), repo) super(LinearLearnerModel, self).__init__(model_data, image, role, predictor_cls=LinearLearnerPredictor, sagemaker_session=sagemaker_session) diff --git a/src/sagemaker/amazon/pca.py b/src/sagemaker/amazon/pca.py index 48f99c04d1..fa0f7e7217 100644 --- a/src/sagemaker/amazon/pca.py +++ b/src/sagemaker/amazon/pca.py @@ -20,7 +20,8 @@ class PCA(AmazonAlgorithmEstimatorBase): - repo = 'pca:1' + repo_name = 'pca' + repo_version = 1 DEFAULT_MINI_BATCH_SIZE = 500 @@ -118,6 +119,7 @@ class PCAModel(Model): def __init__(self, model_data, role, sagemaker_session=None): sagemaker_session = sagemaker_session or Session() - image = registry(sagemaker_session.boto_session.region_name) + "/" + PCA.repo + repo = '{}:{}'.format(PCA.repo_name, PCA.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name), repo) super(PCAModel, self).__init__(model_data, image, role, predictor_cls=PCAPredictor, sagemaker_session=sagemaker_session) diff --git a/tests/data/lda/nips-train_1.pbr b/tests/data/lda/nips-train_1.pbr new file mode 100644 index 0000000000000000000000000000000000000000..193cc98860dfec377d54de56e997e013cf7a36c7 GIT binary patch literal 1055608 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

2w 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 Date: Thu, 1 Feb 2018 10:02:06 -0800 Subject: [PATCH 03/14] Add support for async fit() (#59) when calling fit(wait=False) it will return immediately. The training job will carry on even if the process exits. by using attach() the estimator can be retrieved by providing the training job name. _prepare_init_params_from_job_description() is now a classmethod instead of being a static method. Each class is responsible to implement their specific logic to convert a training job description into arguments that can be passed to its own __init__() --- README.rst | 23 ++- src/sagemaker/amazon/amazon_estimator.py | 25 +++ src/sagemaker/estimator.py | 190 +++++++++++++++------ src/sagemaker/mxnet/estimator.py | 38 +---- src/sagemaker/tensorflow/estimator.py | 51 ++---- tests/integ/test_byo_estimator.py | 71 +++++++- tests/integ/test_factorization_machines.py | 43 +++++ tests/integ/test_kmeans.py | 47 +++++ tests/integ/test_linear_learner.py | 71 ++++++++ tests/integ/test_mxnet_train.py | 32 ++++ tests/integ/test_pca.py | 47 +++++ tests/integ/test_tf.py | 30 ++++ tests/unit/test_estimator.py | 12 +- tests/unit/test_mxnet.py | 6 - tests/unit/test_tf_estimator.py | 6 - tox.ini | 6 +- 16 files changed, 556 insertions(+), 142 deletions(-) diff --git a/README.rst b/README.rst index e06dea8b3c..c80ef02d4b 100644 --- a/README.rst +++ b/README.rst @@ -97,7 +97,7 @@ SageMaker Python SDK provides several high-level abstractions for working with A - **Estimators**: Encapsulate training on SageMaker. Can be ``fit()`` to run training, then the resulting model ``deploy()`` ed to a SageMaker Endpoint. - **Models**: Encapsulate built ML models. Can be ``deploy()`` ed to a SageMaker Endpoint. - **Predictors**: Provide real-time inference and transformation using Python data-types against a SageMaker Endpoint. -- **Session**: Provides a collection of convience methods for working with SageMaker resources. +- **Session**: Provides a collection of convenience methods for working with SageMaker resources. Estimator and Model implementations for MXNet, TensorFlow, and Amazon ML algorithms are included. There's also an Estimator that runs SageMaker compatible custom Docker containers, allowing you to run your own ML algorithms via SageMaker Python SDK. @@ -1150,6 +1150,7 @@ Optional arguments - ``wait (bool)``: Defaults to True, whether to block and wait for the training script to complete before returning. + If set to False, it will return immediately, and can later be attached to. - ``logs (bool)``: Defaults to True, whether to show logs produced by training job in the Python session. Only meaningful when wait is True. - ``run_tensorboard_locally (bool)``: Defaults to False. Executes TensorBoard in a different @@ -1178,9 +1179,25 @@ the ``TensorFlow`` estimator parameter ``training_steps`` is finished or when th job execution time reaches the ``TensorFlow`` estimator parameter ``train_max_run``. When the training job finishes, a `TensorFlow serving `_ -with the result of the training is generated and saved to the S3 location define by +with the result of the training is generated and saved to the S3 location defined by the ``TensorFlow`` estimator parameter ``output_path``. + +If the ``wait=False`` flag is passed to ``fit``, then it will return immediately. The training job will continue running +asynchronously. At a later time, a Tensorflow Estimator can be obtained by attaching to the existing training job. If +the training job is not finished it will start showing the standard output of training and wait until it completes. +After attaching, the estimator can be deployed as usual. + +.. code:: python + + tf_estimator.fit(your_input_data, wait=False) + training_job_name = tf_estimator.latest_training_job.name + + # after some time, or in a separate python notebook, we can attach to it again. + + tf_estimator = TensorFlow.attach(training_job_name=training_job_name) + + The evaluation process """""""""""""""""""""" @@ -1244,6 +1261,8 @@ You can access TensorBoard locally at http://localhost:6006 or using your SakeMa `https*workspace_base_url*proxy/6006/ `_ (TensorBoard will not work if you forget to put the slash, '/', in end of the url). If TensorBoard started on a different port, adjust these URLs to match. +Note that TensorBoard is not supported when passing wait=False to ``fit``. + Deploying TensorFlow Serving models ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/sagemaker/amazon/amazon_estimator.py b/src/sagemaker/amazon/amazon_estimator.py index cc92fec0f4..27538edf59 100644 --- a/src/sagemaker/amazon/amazon_estimator.py +++ b/src/sagemaker/amazon/amazon_estimator.py @@ -65,6 +65,31 @@ def data_location(self, data_location): data_location = data_location + '/' self._data_location = data_location + @classmethod + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor + + Args: + job_details: the returned job details from a describe_training_job API call. + + Returns: + dictionary: The transformed init_params + + """ + init_params = super(AmazonAlgorithmEstimatorBase, cls)._prepare_init_params_from_job_description(job_details) + + # The hyperparam names may not be the same as the class attribute that holds them, + # for instance: local_lloyd_init_method is called local_init_method. We need to map these + # and pass the correct name to the constructor. + for attribute, value in cls.__dict__.items(): + if isinstance(value, hp): + if value.name in init_params['hyperparameters']: + init_params[attribute] = init_params['hyperparameters'][value.name] + + del init_params['hyperparameters'] + del init_params['image'] + return init_params + def fit(self, records, mini_batch_size=None, **kwargs): """Fit this Estimator on serialized Record objects, stored in S3. diff --git a/src/sagemaker/estimator.py b/src/sagemaker/estimator.py index 2bfce13f59..c672703315 100644 --- a/src/sagemaker/estimator.py +++ b/src/sagemaker/estimator.py @@ -152,8 +152,60 @@ def fit(self, inputs, wait=True, logs=True, job_name=None): self.latest_training_job = _TrainingJob.start_new(self, inputs) if wait: self.latest_training_job.wait(logs=logs) - else: - raise NotImplemented('Asynchronous fit not available') + + @classmethod + def _from_training_job(cls, init_params, hyperparameters, image, sagemaker_session): + """Create an Estimator from existing training job data. + + Args: + init_params (dict): The init_params the training job was created with. + hyperparameters (dict): The hyperparameters the training job was created with. + image (str): Container image (if any) the training job was created with + sagemaker_session (sagemaker.session.Session): A sagemaker Session to pass to the estimator. + + Returns: An instance of the calling Estimator Class. + + """ + raise NotImplementedError() + + @classmethod + def attach(cls, training_job_name, sagemaker_session=None, job_details=None): + """Attach to an existing training job. + + Create an Estimator bound to an existing training job, each subclass is responsible to implement + ``_prepare_init_params_from_job_description()`` as this method delegates the actual conversion of a training + job description to the arguments that the class constructor expects. After attaching, if the training job has a + Complete status, it can be ``deploy()`` ed to create a SageMaker Endpoint and return a ``Predictor``. + + If the training job is in progress, attach will block and display log messages + from the training job, until the training job completes. + + Args: + training_job_name (str): The name of the training job to attach to. + sagemaker_session (sagemaker.session.Session): Session object which manages interactions with + Amazon SageMaker APIs and any other AWS services needed. If not specified, the estimator creates one + using the default AWS configuration chain. + + Examples: + >>> my_estimator.fit(wait=False) + >>> training_job_name = my_estimator.latest_training_job.name + Later on: + >>> attached_estimator = Estimator.attach(training_job_name) + >>> attached_estimator.deploy() + + Returns: + Instance of the calling ``Estimator`` Class with the attached training job. + """ + sagemaker_session = sagemaker_session or Session() + + job_details = sagemaker_session.sagemaker_client.describe_training_job(TrainingJobName=training_job_name) + init_params = cls._prepare_init_params_from_job_description(job_details) + + estimator = cls(sagemaker_session=sagemaker_session, **init_params) + estimator.latest_training_job = _TrainingJob(sagemaker_session=sagemaker_session, + training_job_name=init_params['base_job_name']) + estimator.latest_training_job.wait() + return estimator def deploy(self, initial_instance_count, instance_type, endpoint_name=None, **kwargs): """Deploy the trained model to an Amazon SageMaker endpoint and return a ``sagemaker.RealTimePredictor`` object. @@ -202,21 +254,33 @@ def create_model(self, **kwargs): """ pass - @staticmethod - def _prepare_estimator_params_from_job_description(job_details): - estimator_params = dict() + @classmethod + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor + + Args: + job_details: the returned job details from a describe_training_job API call. + + Returns: + dictionary: The transformed init_params + + """ + init_params = dict() - estimator_params['role'] = job_details['RoleArn'] - estimator_params['train_instance_count'] = job_details['ResourceConfig']['InstanceCount'] - estimator_params['train_instance_type'] = job_details['ResourceConfig']['InstanceType'] - estimator_params['train_volume_size'] = job_details['ResourceConfig']['VolumeSizeInGB'] - estimator_params['train_max_run'] = job_details['StoppingCondition']['MaxRuntimeInSeconds'] - estimator_params['input_mode'] = job_details['AlgorithmSpecification']['TrainingInputMode'] - estimator_params['base_job_name'] = job_details['TrainingJobName'] - estimator_params['output_path'] = job_details['OutputDataConfig']['S3OutputPath'] - estimator_params['output_kms_key'] = job_details['OutputDataConfig']['KmsKeyId'] + init_params['role'] = job_details['RoleArn'] + init_params['train_instance_count'] = job_details['ResourceConfig']['InstanceCount'] + init_params['train_instance_type'] = job_details['ResourceConfig']['InstanceType'] + init_params['train_volume_size'] = job_details['ResourceConfig']['VolumeSizeInGB'] + init_params['train_max_run'] = job_details['StoppingCondition']['MaxRuntimeInSeconds'] + init_params['input_mode'] = job_details['AlgorithmSpecification']['TrainingInputMode'] + init_params['base_job_name'] = job_details['TrainingJobName'] + init_params['output_path'] = job_details['OutputDataConfig']['S3OutputPath'] + init_params['output_kms_key'] = job_details['OutputDataConfig']['KmsKeyId'] - return estimator_params, job_details['HyperParameters'], job_details['AlgorithmSpecification']['TrainingImage'] + init_params['hyperparameters'] = job_details['HyperParameters'] + init_params['image'] = job_details['AlgorithmSpecification']['TrainingImage'] + + return init_params def delete_endpoint(self): """Delete an Amazon SageMaker ``Endpoint``. @@ -333,7 +397,8 @@ class Estimator(EstimatorBase): def __init__(self, image_name, role, train_instance_count, train_instance_type, train_volume_size=30, train_max_run=24 * 60 * 60, input_mode='File', - output_path=None, output_kms_key=None, base_job_name=None, sagemaker_session=None): + output_path=None, output_kms_key=None, base_job_name=None, sagemaker_session=None, + hyperparameters=None): """Initialize an ``Estimator`` instance. Args: @@ -365,9 +430,10 @@ def __init__(self, image_name, role, train_instance_count, train_instance_type, sagemaker_session (sagemaker.session.Session): Session object which manages interactions with Amazon SageMaker APIs and any other AWS services needed. If not specified, the estimator creates one using the default AWS configuration chain. + hyperparameters (dict): Dictionary containing the hyperparameters to initialize this estimator with. """ self.image_name = image_name - self.hyperparam_dict = {} + self.hyperparam_dict = hyperparameters.copy() if hyperparameters else {} super(Estimator, self).__init__(role, train_instance_count, train_instance_type, train_volume_size, train_max_run, input_mode, output_path, output_kms_key, base_job_name, sagemaker_session) @@ -422,6 +488,22 @@ def predict_wrapper(endpoint, session): return Model(self.model_data, image or self.train_image(), self.role, sagemaker_session=self.sagemaker_session, predictor_cls=predictor_cls, **kwargs) + @classmethod + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor + + Args: + job_details: the returned job details from a describe_training_job API call. + + Returns: + dictionary: The transformed init_params + + """ + init_params = super(Estimator, cls)._prepare_init_params_from_job_description(job_details) + + init_params['image_name'] = init_params.pop('image') + return init_params + class Framework(EstimatorBase): """Base class that cannot be instantiated directly. @@ -528,12 +610,37 @@ def hyperparameters(self): return self._json_encode_hyperparameters(self._hyperparameters) @classmethod - def attach(cls, training_job_name, sagemaker_session=None, **kwargs): + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor + + Args: + job_details: the returned job details from a describe_training_job API call. + + Returns: + dictionary: The transformed init_params + + """ + init_params = super(Framework, cls)._prepare_init_params_from_job_description(job_details) + + init_params['entry_point'] = json.loads(init_params['hyperparameters'].get(SCRIPT_PARAM_NAME)) + init_params['source_dir'] = json.loads(init_params['hyperparameters'].get(DIR_PARAM_NAME)) + init_params['enable_cloudwatch_metrics'] = json.loads( + init_params['hyperparameters'].get(CLOUDWATCH_METRICS_PARAM_NAME)) + init_params['container_log_level'] = json.loads( + init_params['hyperparameters'].get(CONTAINER_LOG_LEVEL_PARAM_NAME)) + + init_params['hyperparameters'] = {k: json.loads(v) for k, v in init_params['hyperparameters'].items()} + + return init_params + + @classmethod + def attach(cls, training_job_name, sagemaker_session=None): """Attach to an existing training job. - Create an Estimator bound to an existing training job. After attaching, if - the training job has a Complete status, it can be ``deploy()`` ed to create - a SageMaker Endpoint and return a ``Predictor``. + Create an Estimator bound to an existing training job, each subclass is responsible to implement + ``_prepare_init_params_from_job_description()`` as this method delegates the actual conversion of a training + job description to the arguments that the class constructor expects. After attaching, if the training job has a + Complete status, it can be ``deploy()`` ed to create a SageMaker Endpoint and return a ``Predictor``. If the training job is in progress, attach will block and display log messages from the training job, until the training job completes. @@ -543,41 +650,18 @@ def attach(cls, training_job_name, sagemaker_session=None, **kwargs): sagemaker_session (sagemaker.session.Session): Session object which manages interactions with Amazon SageMaker APIs and any other AWS services needed. If not specified, the estimator creates one using the default AWS configuration chain. - **kwargs: Additional kwargs passed to the :class:`~sagemaker.estimator.Estimator` constructor. + + Examples: + >>> my_estimator.fit(wait=False) + >>> training_job_name = my_estimator.latest_training_job.name + Later on: + >>> attached_estimator = Estimator.attach(training_job_name) + >>> attached_estimator.deploy() Returns: - sagemaker.estimator.Framework: ``Estimator`` with the attached training job. + Instance of the calling ``Estimator`` Class with the attached training job. """ - sagemaker_session = sagemaker_session or Session() - - if training_job_name is not None: - job_details = sagemaker_session.sagemaker_client.describe_training_job(TrainingJobName=training_job_name) - init_params, hp, _ = cls._prepare_estimator_params_from_job_description(job_details) - - else: - # this case is only valid when called from inheriting class and then the class must declare framework - if not hasattr(cls, '__framework_name__'): - raise ValueError('must specify training_job name') - init_params = dict(kwargs) - hp = init_params.pop('hyperparameters') - - # parameters for framework classes - framework_init_params = dict() - framework_init_params['entry_point'] = json.loads(hp.get(SCRIPT_PARAM_NAME)) - framework_init_params['source_dir'] = json.loads(hp.get(DIR_PARAM_NAME)) - framework_init_params['enable_cloudwatch_metrics'] = json.loads(hp.get(CLOUDWATCH_METRICS_PARAM_NAME)) - framework_init_params['container_log_level'] = json.loads(hp.get(CONTAINER_LOG_LEVEL_PARAM_NAME)) - - # drop json and remove other SageMaker specific additions - hyperparameters = {entry: json.loads(hp[entry]) for entry in hp} - framework_init_params['hyperparameters'] = hyperparameters - - init_params.update(framework_init_params) - - estimator = cls(sagemaker_session=sagemaker_session, **init_params) - estimator.latest_training_job = _TrainingJob(sagemaker_session=sagemaker_session, - training_job_name=init_params['base_job_name']) - estimator.latest_training_job.wait() + estimator = super(Framework, cls).attach(training_job_name, sagemaker_session) estimator.uploaded_code = UploadedCode(estimator.source_dir, estimator.entry_point) return estimator diff --git a/src/sagemaker/mxnet/estimator.py b/src/sagemaker/mxnet/estimator.py index b41975345c..2793089c0f 100644 --- a/src/sagemaker/mxnet/estimator.py +++ b/src/sagemaker/mxnet/estimator.py @@ -14,7 +14,6 @@ from sagemaker.estimator import Framework from sagemaker.fw_utils import create_image_uri, framework_name_from_image from sagemaker.mxnet.model import MXNetModel -from sagemaker.session import Session class MXNet(Framework): @@ -83,42 +82,23 @@ def create_model(self, model_server_workers=None): sagemaker_session=self.sagemaker_session) @classmethod - def attach(cls, training_job_name, sagemaker_session=None): - """Attach to an existing training job. - - Create an ``Estimator`` bound to an existing training job. After attaching, if - the training job is in a Complete status, it can be ``deploy``ed to create - a SageMaker ``Endpoint`` and return a ``Predictor``. - - If the training job is in progress, attach will block and display log messages - from the training job, until the training job completes. + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor Args: - training_job_name (str): The name of the training job to attach to. - sagemaker_session (sagemaker.session.Session): Session object which manages interactions with - Amazon SageMaker APIs and any other AWS services needed. If not specified, the estimator creates one - using the default AWS configuration chain. + job_details: the returned job details from a describe_training_job API call. Returns: - sagemaker.mxnet.estimator.MXNet: ``Estimator`` with the attached training job. + dictionary: The transformed init_params - Raises: - ValueError: If `training_job_name` is None or the image name does not match the framework. """ - sagemaker_session = sagemaker_session or Session() - - if training_job_name is None: - raise ValueError("must specify training_job name") - - job_details = sagemaker_session.sagemaker_client.describe_training_job(TrainingJobName=training_job_name) - init_params, hp, image = cls._prepare_estimator_params_from_job_description(job_details) - - init_params.update({'hyperparameters': hp}) + init_params = super(MXNet, cls)._prepare_init_params_from_job_description(job_details) + framework, py_version = framework_name_from_image(init_params.pop('image')) - framework, py_version = framework_name_from_image(image) - init_params.update({'py_version': py_version}) + init_params['py_version'] = py_version + training_job_name = init_params['base_job_name'] if framework != cls.__framework_name__: raise ValueError("Training job: {} didn't use image for requested framework".format(training_job_name)) - return super(MXNet, cls).attach(training_job_name=None, sagemaker_session=sagemaker_session, **init_params) + return init_params diff --git a/src/sagemaker/tensorflow/estimator.py b/src/sagemaker/tensorflow/estimator.py index 39f9601b3c..463a57d9df 100644 --- a/src/sagemaker/tensorflow/estimator.py +++ b/src/sagemaker/tensorflow/estimator.py @@ -11,16 +11,14 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import logging +import os import subprocess import tempfile import threading -import os - import sagemaker.tensorflow from sagemaker.estimator import Framework from sagemaker.fw_utils import create_image_uri, framework_name_from_image -from sagemaker.session import Session from sagemaker.tensorflow.model import TensorFlowModel logging.basicConfig() @@ -153,6 +151,9 @@ def fit(self, inputs, wait=True, logs=True, job_name=None, run_tensorboard_local def fit_super(): super(TensorFlow, self).fit(inputs, wait, logs, job_name) + if run_tensorboard_locally and wait is False: + raise ValueError("Tensorboard is not supported with async fit") + if run_tensorboard_locally: tensorboard = Tensorboard(self) tensorboard.validate_requirements() @@ -166,48 +167,32 @@ def fit_super(): fit_super() @classmethod - def attach(cls, training_job_name, sagemaker_session=None): - """Attach to an existing training job. - - Create an ``Estimator`` bound to an existing training job. After attaching, if - the training job is in a Complete status, it can be ``deploy``ed to create - a SageMaker ``Endpoint`` and return a ``Predictor``. - - If the training job is in progress, attach will block and display log messages - from the training job, until the training job completes. + def _prepare_init_params_from_job_description(cls, job_details): + """Convert the job description to init params that can be handled by the class constructor Args: - training_job_name (str): The name of the training job to attach to. - sagemaker_session (sagemaker.session.Session): Session object which manages interactions with - Amazon SageMaker APIs and any other AWS services needed. If not specified, the estimator creates one - using the default AWS configuration chain. + job_details: the returned job details from a describe_training_job API call. Returns: - sagemaker.tensorflow.estimator.TensorFlow: ``Estimator`` with the attached training job. + dictionary: The transformed init_params - Raises: - ValueError: If `training_job_name` is None or the image name does not match the framework. """ - sagemaker_session = sagemaker_session or Session() - - if training_job_name is None: - raise ValueError("must specify training_job name") - - job_details = sagemaker_session.sagemaker_client.describe_training_job(TrainingJobName=training_job_name) - init_params, hp, image = cls._prepare_estimator_params_from_job_description(job_details) - - updated_params = cls._update_init_params(hp, ['checkpoint_path', 'training_steps', 'evaluation_steps']) - init_params.update(updated_params) + init_params = super(TensorFlow, cls)._prepare_init_params_from_job_description(job_details) - init_params.update({'hyperparameters': hp}) + # Move some of the tensorflow specific init params from hyperparameters into the main init params. + for argument in ['checkpoint_path', 'training_steps', 'evaluation_steps']: + value = init_params['hyperparameters'].pop(argument, None) + if value is not None: + init_params[argument] = value - framework, py_version = framework_name_from_image(image) - init_params.update({'py_version': py_version}) + framework, py_version = framework_name_from_image(init_params.pop('image')) + init_params['py_version'] = py_version + training_job_name = init_params['base_job_name'] if framework != cls.__framework_name__: raise ValueError("Training job: {} didn't use image for requested framework".format(training_job_name)) - return super(TensorFlow, cls).attach(training_job_name=None, sagemaker_session=sagemaker_session, **init_params) + return init_params def train_image(self): """Return the Docker image to use for training. diff --git a/tests/integ/test_byo_estimator.py b/tests/integ/test_byo_estimator.py index d0c1a18e07..71f3c86862 100644 --- a/tests/integ/test_byo_estimator.py +++ b/tests/integ/test_byo_estimator.py @@ -29,6 +29,13 @@ from tests.integ.timeout import timeout, timeout_and_delete_endpoint_by_name +def fm_serializer(data): + js = {'instances': []} + for row in data: + js['instances'].append({'features': row.tolist()}) + return json.dumps(js) + + def test_byo_estimator(): """Use Factorization Machines algorithm as an example here. @@ -79,12 +86,6 @@ def test_byo_estimator(): endpoint_name = name_from_base('byo') - def fm_serializer(data): - js = {'instances': []} - for row in data: - js['instances'].append({'features': row.tolist()}) - return json.dumps(js) - with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): model = estimator.create_model() predictor = model.deploy(1, 'ml.m4.xlarge', endpoint_name=endpoint_name) @@ -97,3 +98,61 @@ def fm_serializer(data): assert len(result['predictions']) == 10 for prediction in result['predictions']: assert prediction['score'] is not None + + +def test_async_byo_estimator(): + image_name = registry(REGION) + "/factorization-machines:1" + endpoint_name = name_from_base('byo') + training_job_name = "" + + with timeout(minutes=5): + sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) + data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') + pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} + + with gzip.open(data_path, 'rb') as f: + train_set, _, _ = pickle.load(f, **pickle_args) + + # take 100 examples for faster execution + vectors = np.array([t.tolist() for t in train_set[0][:100]]).astype('float32') + labels = np.where(np.array([t.tolist() for t in train_set[1][:100]]) == 0, 1.0, 0.0).astype('float32') + + buf = io.BytesIO() + write_numpy_to_dense_tensor(buf, vectors, labels) + buf.seek(0) + + bucket = sagemaker_session.default_bucket() + prefix = 'test_byo_estimator' + key = 'recordio-pb-data' + boto3.resource('s3').Bucket(bucket).Object(os.path.join(prefix, 'train', key)).upload_fileobj(buf) + s3_train_data = 's3://{}/{}/train/{}'.format(bucket, prefix, key) + + estimator = Estimator(image_name=image_name, + role='SageMakerRole', train_instance_count=1, + train_instance_type='ml.c4.xlarge', + sagemaker_session=sagemaker_session, base_job_name='test-byo') + + estimator.set_hyperparameters(num_factors=10, + feature_dim=784, + mini_batch_size=100, + predictor_type='binary_classifier') + + # training labels must be 'float32' + estimator.fit({'train': s3_train_data}, wait=False) + training_job_name = estimator.latest_training_job.name + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=30): + estimator = Estimator.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) + model = estimator.create_model() + predictor = model.deploy(1, 'ml.m4.xlarge', endpoint_name=endpoint_name) + predictor.serializer = fm_serializer + predictor.content_type = 'application/json' + predictor.deserializer = sagemaker.predictor.json_deserializer + + result = predictor.predict(train_set[0][:10]) + + assert len(result['predictions']) == 10 + for prediction in result['predictions']: + assert prediction['score'] is not None + + assert estimator.train_image() == image_name diff --git a/tests/integ/test_factorization_machines.py b/tests/integ/test_factorization_machines.py index 76fbb93ac7..cc04ed8d6a 100644 --- a/tests/integ/test_factorization_machines.py +++ b/tests/integ/test_factorization_machines.py @@ -13,6 +13,7 @@ import gzip import pickle import sys +import time import boto3 import os @@ -53,3 +54,45 @@ def test_factorization_machines(): assert len(result) == 10 for record in result: assert record.label["score"] is not None + + +def test_async_factorization_machines(): + + training_job_name = "" + endpoint_name = name_from_base('factorizationMachines') + sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) + + with timeout(minutes=5): + + data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') + pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} + + # Load the data into memory as numpy arrays + with gzip.open(data_path, 'rb') as f: + train_set, _, _ = pickle.load(f, **pickle_args) + + fm = FactorizationMachines(role='SageMakerRole', train_instance_count=1, + train_instance_type='ml.c4.xlarge', + num_factors=10, predictor_type='regressor', + epochs=2, clip_gradient=1e2, eps=0.001, rescale_grad=1.0 / 100, + sagemaker_session=sagemaker_session, base_job_name='test-fm') + + # training labels must be 'float32' + fm.fit(fm.record_set(train_set[0][:200], train_set[1][:200].astype('float32')), wait=False) + training_job_name = fm.latest_training_job.name + + print("Detached from training job. Will re-attach in 20 seconds") + time.sleep(20) + print("attaching now...") + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=35): + estimator = FactorizationMachines.attach(training_job_name=training_job_name, + sagemaker_session=sagemaker_session) + model = FactorizationMachinesModel(estimator.model_data, role='SageMakerRole', + sagemaker_session=sagemaker_session) + predictor = model.deploy(1, 'ml.c4.xlarge', endpoint_name=endpoint_name) + result = predictor.predict(train_set[0][:10]) + + assert len(result) == 10 + for record in result: + assert record.label["score"] is not None diff --git a/tests/integ/test_kmeans.py b/tests/integ/test_kmeans.py index 09780f69cd..bcaba3ce02 100644 --- a/tests/integ/test_kmeans.py +++ b/tests/integ/test_kmeans.py @@ -16,6 +16,7 @@ import boto3 import os +import time import sagemaker from sagemaker import KMeans, KMeansModel @@ -60,3 +61,49 @@ def test_kmeans(): for record in result: assert record.label["closest_cluster"] is not None assert record.label["distance_to_cluster"] is not None + + +def test_async_kmeans(): + + training_job_name = "" + endpoint_name = name_from_base('kmeans') + + with timeout(minutes=5): + sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) + data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') + pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} + + # Load the data into memory as numpy arrays + with gzip.open(data_path, 'rb') as f: + train_set, _, _ = pickle.load(f, **pickle_args) + + kmeans = KMeans(role='SageMakerRole', train_instance_count=1, + train_instance_type='ml.c4.xlarge', + k=10, sagemaker_session=sagemaker_session, base_job_name='test-kmeans') + + kmeans.init_method = 'random' + kmeans.max_iterators = 1 + kmeans.tol = 1 + kmeans.num_trials = 1 + kmeans.local_init_method = 'kmeans++' + kmeans.half_life_time_size = 1 + kmeans.epochs = 1 + kmeans.center_factor = 1 + + kmeans.fit(kmeans.record_set(train_set[0][:100]), wait=False) + training_job_name = kmeans.latest_training_job.name + + print("Detached from training job. Will re-attach in 20 seconds") + time.sleep(20) + print("attaching now...") + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=35): + estimator = KMeans.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) + model = KMeansModel(estimator.model_data, role='SageMakerRole', sagemaker_session=sagemaker_session) + predictor = model.deploy(1, 'ml.c4.xlarge', endpoint_name=endpoint_name) + result = predictor.predict(train_set[0][:10]) + + assert len(result) == 10 + for record in result: + assert record.label["closest_cluster"] is not None + assert record.label["distance_to_cluster"] is not None diff --git a/tests/integ/test_linear_learner.py b/tests/integ/test_linear_learner.py index 31b9f506f3..6b287b3186 100644 --- a/tests/integ/test_linear_learner.py +++ b/tests/integ/test_linear_learner.py @@ -14,9 +14,11 @@ import os import pickle import sys +import time import pytest # noqa import boto3 import numpy as np + import sagemaker from sagemaker.amazon.linear_learner import LinearLearner, LinearLearnerModel from sagemaker.utils import name_from_base @@ -84,3 +86,72 @@ def test_linear_learner(): for record in result: assert record.label["predicted_label"] is not None assert record.label["score"] is not None + + +def test_async_linear_learner(): + + training_job_name = "" + endpoint_name = 'test-linear-learner-async-{}'.format(int(time.time())) + sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) + + with timeout(minutes=5): + + data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') + pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} + + # Load the data into memory as numpy arrays + with gzip.open(data_path, 'rb') as f: + train_set, _, _ = pickle.load(f, **pickle_args) + + train_set[1][:100] = 1 + train_set[1][100:200] = 0 + train_set = train_set[0], train_set[1].astype(np.dtype('float32')) + + ll = LinearLearner('SageMakerRole', 1, 'ml.c4.2xlarge', base_job_name='test-linear-learner', + sagemaker_session=sagemaker_session) + ll.binary_classifier_model_selection_criteria = 'accuracy' + ll.target_reacall = 0.5 + ll.target_precision = 0.5 + ll.positive_example_weight_mult = 0.1 + ll.epochs = 1 + ll.predictor_type = 'binary_classifier' + ll.use_bias = True + ll.num_models = 1 + ll.num_calibration_samples = 1 + ll.init_method = 'uniform' + ll.init_scale = 0.5 + ll.init_sigma = 0.2 + ll.init_bias = 5 + ll.optimizer = 'adam' + ll.loss = 'logistic' + ll.wd = 0.5 + ll.l1 = 0.5 + ll.momentum = 0.5 + ll.learning_rate = 0.1 + ll.beta_1 = 0.1 + ll.beta_2 = 0.1 + ll.use_lr_scheduler = True + ll.lr_scheduler_step = 2 + ll.lr_scheduler_factor = 0.5 + ll.lr_scheduler_minimum_lr = 0.1 + ll.normalize_data = False + ll.normalize_label = False + ll.unbias_data = True + ll.unbias_label = False + ll.num_point_for_scala = 10000 + ll.fit(ll.record_set(train_set[0][:200], train_set[1][:200]), wait=False) + training_job_name = ll.latest_training_job.name + + print("Waiting to re-attach to the training job: %s" % training_job_name) + time.sleep(20) + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=35): + estimator = LinearLearner.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) + model = LinearLearnerModel(estimator.model_data, role='SageMakerRole', sagemaker_session=sagemaker_session) + predictor = model.deploy(1, 'ml.c4.xlarge', endpoint_name=endpoint_name) + + result = predictor.predict(train_set[0][0:100]) + assert len(result) == 100 + for record in result: + assert record.label["predicted_label"] is not None + assert record.label["score"] is not None diff --git a/tests/integ/test_mxnet_train.py b/tests/integ/test_mxnet_train.py index 94feb6e9e1..593f31e5d7 100644 --- a/tests/integ/test_mxnet_train.py +++ b/tests/integ/test_mxnet_train.py @@ -58,6 +58,38 @@ def test_attach_deploy(mxnet_training_job, sagemaker_session): predictor.predict(data) +def test_async_fit(sagemaker_session): + + training_job_name = "" + endpoint_name = 'test-mxnet-attach-deploy-{}'.format(int(time.time())) + + with timeout(minutes=5): + script_path = os.path.join(DATA_DIR, 'mxnet_mnist', 'mnist.py') + data_path = os.path.join(DATA_DIR, 'mxnet_mnist') + + mx = MXNet(entry_point=script_path, role='SageMakerRole', + train_instance_count=1, train_instance_type='ml.c4.xlarge', + sagemaker_session=sagemaker_session) + + train_input = mx.sagemaker_session.upload_data(path=os.path.join(data_path, 'train'), + key_prefix='integ-test-data/mxnet_mnist/train') + test_input = mx.sagemaker_session.upload_data(path=os.path.join(data_path, 'test'), + key_prefix='integ-test-data/mxnet_mnist/test') + + mx.fit({'train': train_input, 'test': test_input}, wait=False) + training_job_name = mx.latest_training_job.name + + print("Waiting to re-attach to the training job: %s" % training_job_name) + time.sleep(20) + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=35): + print("Re-attaching now to: %s" % training_job_name) + estimator = MXNet.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) + predictor = estimator.deploy(1, 'ml.m4.xlarge', endpoint_name=endpoint_name) + data = numpy.zeros(shape=(1, 1, 28, 28)) + predictor.predict(data) + + def test_deploy_model(mxnet_training_job, sagemaker_session): endpoint_name = 'test-mxnet-deploy-model-{}'.format(int(time.time())) diff --git a/tests/integ/test_pca.py b/tests/integ/test_pca.py index adec22345e..b13994f35a 100644 --- a/tests/integ/test_pca.py +++ b/tests/integ/test_pca.py @@ -14,8 +14,11 @@ import os import pickle import sys +import time + import pytest # noqa import boto3 + import sagemaker import sagemaker.amazon.pca from sagemaker.utils import name_from_base @@ -55,3 +58,47 @@ def test_pca(): assert len(result) == 5 for record in result: assert record.label["projection"] is not None + + +def test_async_pca(): + + training_job_name = "" + endpoint_name = name_from_base('pca') + sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) + + with timeout(minutes=20): + + data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') + pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} + + # Load the data into memory as numpy arrays + with gzip.open(data_path, 'rb') as f: + train_set, _, _ = pickle.load(f, **pickle_args) + + pca = sagemaker.amazon.pca.PCA(role='SageMakerRole', train_instance_count=1, + train_instance_type='ml.m4.xlarge', + num_components=48, sagemaker_session=sagemaker_session, base_job_name='test-pca') + + pca.algorithm_mode = 'randomized' + pca.subtract_mean = True + pca.extra_components = 5 + pca.fit(pca.record_set(train_set[0][:100]), wait=False) + training_job_name = pca.latest_training_job.name + + print("Detached from training job. Will re-attach in 20 seconds") + time.sleep(20) + + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): + estimator = sagemaker.amazon.pca.PCA.attach(training_job_name=training_job_name, + sagemaker_session=sagemaker_session) + + model = sagemaker.amazon.pca.PCAModel(estimator.model_data, role='SageMakerRole', + sagemaker_session=sagemaker_session) + predictor = model.deploy(initial_instance_count=1, instance_type="ml.c4.xlarge", + endpoint_name=endpoint_name) + + result = predictor.predict(train_set[0][:5]) + + assert len(result) == 5 + for record in result: + assert record.label["projection"] is not None diff --git a/tests/integ/test_tf.py b/tests/integ/test_tf.py index bb602b83fe..dc3c13cc96 100644 --- a/tests/integ/test_tf.py +++ b/tests/integ/test_tf.py @@ -13,6 +13,7 @@ import boto3 import os import pytest +import time from sagemaker import Session from sagemaker.tensorflow import TensorFlow @@ -52,6 +53,35 @@ def test_tf(sagemaker_session): print('predict result: {}'.format(result)) +def test_tf_async(sagemaker_session): + + training_job_name = "" + with timeout(minutes=5): + script_path = os.path.join(DATA_DIR, 'iris', 'iris-dnn-classifier.py') + + estimator = TensorFlow(entry_point=script_path, + role='SageMakerRole', + training_steps=1, + evaluation_steps=1, + hyperparameters={'input_tensor_name': 'inputs'}, + train_instance_count=1, + train_instance_type='ml.c4.xlarge', + sagemaker_session=sagemaker_session, + base_job_name='test-tf') + + inputs = estimator.sagemaker_session.upload_data(path=DATA_PATH, key_prefix='integ-test-data/tf_iris') + estimator.fit(inputs, wait=False) + training_job_name = estimator.latest_training_job.name + time.sleep(20) + + with timeout_and_delete_endpoint(estimator=estimator, minutes=35): + estimator = TensorFlow.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) + json_predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge') + + result = json_predictor.predict([6.4, 3.2, 4.5, 1.5]) + print('predict result: {}'.format(result)) + + def test_failed_tf_training(sagemaker_session): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'iris', 'failure_script.py') diff --git a/tests/unit/test_estimator.py b/tests/unit/test_estimator.py index eb999c4a18..7542cb6880 100644 --- a/tests/unit/test_estimator.py +++ b/tests/unit/test_estimator.py @@ -70,6 +70,12 @@ def train_image(self): def create_model(self): return DummyFrameworkModel(self.sagemaker_session) + @classmethod + def _prepare_init_params_from_job_description(cls, job_details): + init_params = super(DummyFramework, cls)._prepare_init_params_from_job_description(job_details) + init_params.pop("image", None) + return init_params + class DummyFrameworkModel(FrameworkModel): @@ -251,12 +257,6 @@ def test_attach_framework(sagemaker_session): assert framework_estimator.entry_point == 'iris-dnn-classifier.py' -def test_attach_no_job_name_framework(sagemaker_session): - with pytest.raises(ValueError) as error: - Framework.attach(training_job_name=None, sagemaker_session=sagemaker_session) - assert 'must specify training_job name' in str(error) - - def test_fit_then_fit_again(sagemaker_session): fw = DummyFramework(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE, diff --git a/tests/unit/test_mxnet.py b/tests/unit/test_mxnet.py index 1f09b54849..a325facb48 100644 --- a/tests/unit/test_mxnet.py +++ b/tests/unit/test_mxnet.py @@ -201,9 +201,3 @@ def test_attach_wrong_framework(sagemaker_session): with pytest.raises(ValueError) as error: MXNet.attach(training_job_name='neo', sagemaker_session=sagemaker_session) assert "didn't use image for requested framework" in str(error) - - -def test_attach_no_job_name(sagemaker_session): - with pytest.raises(ValueError) as error: - MXNet.attach(training_job_name=None, sagemaker_session=sagemaker_session) - assert "must specify training_job name" in str(error) diff --git a/tests/unit/test_tf_estimator.py b/tests/unit/test_tf_estimator.py index dd73ac293b..367e66da65 100644 --- a/tests/unit/test_tf_estimator.py +++ b/tests/unit/test_tf_estimator.py @@ -379,9 +379,3 @@ def test_attach_wrong_framework(sagemaker_session): with pytest.raises(ValueError) as error: TensorFlow.attach(training_job_name='neo', sagemaker_session=sagemaker_session) assert "didn't use image for requested framework" in str(error) - - -def test_attach_no_job_name(sagemaker_session): - with pytest.raises(ValueError) as error: - TensorFlow.attach(training_job_name=None, sagemaker_session=sagemaker_session) - assert "must specify training_job name" in str(error) diff --git a/tox.ini b/tox.ini index a42fe09296..09795ca02e 100644 --- a/tox.ini +++ b/tox.ini @@ -27,7 +27,11 @@ max-complexity = 10 [testenv] # TEAMCITY_VERSION environment variable exists during build on Teamcity. teamcity-messages uses it in order to enable # reporting to TeamCity. -passenv = TEAMCITY_VERSION +passenv = + TEAMCITY_VERSION + AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY + AWS_SESSION_TOKEN # {posargs} can be passed in by additional arguments specified when invoking tox. # Can be used to specify which tests to run, e.g.: tox -- -s commands = From b45d79c487767508321322fb5848876749a257b4 Mon Sep 17 00:00:00 2001 From: Ignacio Quintero Date: Fri, 2 Feb 2018 14:56:26 -0800 Subject: [PATCH 04/14] Fix Estimator role expansion (#68) Instead of manually constructing the role ARN, use the IAM boto client to do it. This properly expands service-roles and regular roles. --- src/sagemaker/session.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/sagemaker/session.py b/src/sagemaker/session.py index 0a175825b3..7a74303c8b 100644 --- a/src/sagemaker/session.py +++ b/src/sagemaker/session.py @@ -522,8 +522,8 @@ def endpoint_from_production_variants(self, name, production_variants, wait=True def expand_role(self, role): """Expand an IAM role name into an ARN. - If the role is already in the form of an ARN, then the role is simply returned. Otherwise, the role - is formatted as an ARN, using the current account as the IAM role's AWS account. + If the role is already in the form of an ARN, then the role is simply returned. Otherwise we retrieve the full + ARN and return it. Args: role (str): An AWS IAM role (either name or full ARN). @@ -534,8 +534,7 @@ def expand_role(self, role): if '/' in role: return role else: - account = self.boto_session.client('sts').get_caller_identity()['Account'] - return 'arn:aws:iam::{}:role/{}'.format(account, role) + return boto3.resource("iam").Role(role).arn def get_caller_identity_arn(self): """Returns the ARN user or role whose credentials are used to call the API. From 8a054f0cb9257695e5c4cdaafbdeaa09b7eff7bf Mon Sep 17 00:00:00 2001 From: lukmis <32072210+lukmis@users.noreply.github.com> Date: Tue, 6 Feb 2018 14:39:00 -0800 Subject: [PATCH 05/14] Add FM and LDA to the documentation. (#66) --- README.rst | 6 +++--- doc/conf.py | 2 +- doc/factorization_machines.rst | 22 ++++++++++++++++++++++ doc/index.rst | 5 ++++- doc/lda.rst | 22 ++++++++++++++++++++++ 5 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 doc/factorization_machines.rst create mode 100644 doc/lda.rst diff --git a/README.rst b/README.rst index c80ef02d4b..f60aafa109 100644 --- a/README.rst +++ b/README.rst @@ -39,7 +39,7 @@ You can install from source by cloning this repository and issuing a pip install git clone https://github.com/aws/sagemaker-python-sdk.git python setup.py sdist - pip install dist/sagemaker-1.0.0.tar.gz + pip install dist/sagemaker-1.0.3.tar.gz Supported Python versions ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1447,11 +1447,11 @@ Amazon SageMaker provides several built-in machine learning algorithms that you The full list of algorithms is available on the AWS website: https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html -SageMaker Python SDK includes Estimator wrappers for the AWS K-means, Principal Components Analysis, and Linear Learner algorithms. +SageMaker Python SDK includes Estimator wrappers for the AWS K-means, Principal Components Analysis, Linear Learner, Factorization Machines and LDA algorithms. Definition and usage ~~~~~~~~~~~~~~~~~~~~ -Estimators that wrap Amazon's built-in algorithms define algorithm's hyperparameters with defaults. When a default is not possible you need to provide the value during construction: +Estimators that wrap Amazon's built-in algorithms define algorithm's hyperparameters with defaults. When a default is not possible you need to provide the value during construction, e.g.: - ``KMeans`` Estimator requires parameter ``k`` to define number of clusters - ``PCA`` Estimator requires parameter ``num_components`` to define number of principal components diff --git a/doc/conf.py b/doc/conf.py index 83105e3ab7..3675148d67 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -18,7 +18,7 @@ def __getattr__(cls, name): 'tensorflow.python.framework', 'tensorflow_serving', 'tensorflow_serving.apis'] sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) -version = '1.0' +version = '1.0.3' project = u'sagemaker' # Add any Sphinx extension module names here, as strings. They can be extensions diff --git a/doc/factorization_machines.rst b/doc/factorization_machines.rst new file mode 100644 index 0000000000..4427f0cd35 --- /dev/null +++ b/doc/factorization_machines.rst @@ -0,0 +1,22 @@ +FactorizationMachines +------------------------- + +The Amazon SageMaker Factorization Machines algorithm. + +.. autoclass:: sagemaker.FactorizationMachines + :members: + :undoc-members: + :show-inheritance: + :inherited-members: + :exclude-members: image, num_factors, predictor_type, epochs, clip_gradient, mini_batch_size, feature_dim, eps, rescale_grad, bias_lr, linear_lr, factors_lr, bias_wd, linear_wd, factors_wd, bias_init_method, bias_init_scale, bias_init_sigma, bias_init_value, linear_init_method, linear_init_scale, linear_init_sigma, linear_init_value, factors_init_method, factors_init_scale, factors_init_sigma, factors_init_value + + +.. autoclass:: sagemaker.FactorizationMachinesModel + :members: + :undoc-members: + :show-inheritance: + +.. autoclass:: sagemaker.FactorizationMachinesPredictor + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/index.rst b/doc/index.rst index 968cdb1024..1a840f6257 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -38,7 +38,7 @@ A managed environment for TensorFlow training and hosting on Amazon SageMaker SageMaker First-Party Algorithms -------------------------------- -Amazon provides implementations of some common machine learning algortithms optimized for GPU archicture and massive datasets. +Amazon provides implementations of some common machine learning algortithms optimized for GPU architecture and massive datasets. .. toctree:: :maxdepth: 2 @@ -46,3 +46,6 @@ Amazon provides implementations of some common machine learning algortithms opti kmeans pca linear_learner + sagemaker.amazon.amazon_estimator + factorization_machines + lda diff --git a/doc/lda.rst b/doc/lda.rst new file mode 100644 index 0000000000..f6b965e577 --- /dev/null +++ b/doc/lda.rst @@ -0,0 +1,22 @@ +LDA +-------------------- + +The Amazon SageMaker LDA algorithm. + +.. autoclass:: sagemaker.LDA + :members: + :undoc-members: + :show-inheritance: + :inherited-members: + :exclude-members: image, num_topics, alpha0, max_restarts, max_iterations, mini_batch_size, feature_dim, tol + + +.. autoclass:: sagemaker.LDAModel + :members: + :undoc-members: + :show-inheritance: + +.. autoclass:: sagemaker.LDAPredictor + :members: + :undoc-members: + :show-inheritance: From b400fa487970e907d34e4a1b1192f0004edd07e1 Mon Sep 17 00:00:00 2001 From: Shotaro Kohama Date: Thu, 8 Feb 2018 07:08:19 +0900 Subject: [PATCH 06/14] Fix description of an argument of sagemaker.session.train (#69) * Fix description of an argument of sagemaker.session.train 'input_config' should be an array which has channel objects. * Add a link to the botocore docs * Use 'list' instead of 'array' in the description --- src/sagemaker/session.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/sagemaker/session.py b/src/sagemaker/session.py index 7a74303c8b..84844f54e6 100644 --- a/src/sagemaker/session.py +++ b/src/sagemaker/session.py @@ -195,17 +195,9 @@ def train(self, image, input_mode, input_config, role, job_name, output_config, a directory in the Docker container. * 'Pipe' - Amazon SageMaker streams data directly from S3 to the container via a Unix-named pipe. - input_config (str or dict or sagemaker.session.s3_input): Information about the training data. - This can be one of three types: - - * (str) - the S3 location where training data is saved. - * (dict[str, str] or dict[str, sagemaker.session.s3_input]) - If using multiple channels for - training data, you can specify a dict mapping channel names - to strings or :func:`~sagemaker.session.s3_input` objects. - * (sagemaker.session.s3_input) - channel configuration for S3 data sources that can provide - additional information about the training dataset. See :func:`sagemaker.session.s3_input` - for full details. - + input_config (list): A list of Channel objects. Each channel is a named input source. Please refer to + the format details described: + https://botocore.readthedocs.io/en/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job role (str): An AWS IAM role (either name or full ARN). The Amazon SageMaker training jobs and APIs that create Amazon SageMaker endpoints use this role to access training data and model artifacts. You must grant sufficient permissions to this role. From 795b03032d441b0822478e44dd2b1e1925e39192 Mon Sep 17 00:00:00 2001 From: yangaws <31293788+yangaws@users.noreply.github.com> Date: Fri, 9 Feb 2018 08:03:12 -0800 Subject: [PATCH 07/14] Add ntm algorithm with doc, unit tests, integ tests (#73) --- CHANGELOG.rst | 9 + README.rst | 4 +- doc/conf.py | 2 +- doc/index.rst | 1 + doc/ntm.rst | 23 ++ setup.py | 2 +- src/sagemaker/__init__.py | 3 +- src/sagemaker/amazon/amazon_estimator.py | 2 +- src/sagemaker/amazon/ntm.py | 146 ++++++++++ src/sagemaker/amazon/validation.py | 6 + tests/data/ntm/nips-train_1.pbr | Bin 0 -> 1055608 bytes tests/integ/record_set.py | 23 ++ tests/integ/test_lda.py | 28 +- tests/integ/test_ntm.py | 57 ++++ tests/unit/test_ntm.py | 327 +++++++++++++++++++++++ 15 files changed, 603 insertions(+), 30 deletions(-) create mode 100644 doc/ntm.rst create mode 100644 src/sagemaker/amazon/ntm.py create mode 100644 tests/data/ntm/nips-train_1.pbr create mode 100644 tests/integ/record_set.py create mode 100644 tests/integ/test_ntm.py create mode 100644 tests/unit/test_ntm.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ccf88d1de9..f7810b3187 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,15 @@ CHANGELOG ========= +1.0.4 +===== + +* feature: Estimators: add support for Amazon Neural Topic Model(NTM) algorithm +* feature: Documentation: Fix description of an argument of sagemaker.session.train +* feature: Documentation: Add FM and LDA to the documentation +* feature: Estimators: add support for async fit +* bug-fix: Estimators: fix estimator role expansion + 1.0.3 ===== diff --git a/README.rst b/README.rst index f60aafa109..63dd2f102c 100644 --- a/README.rst +++ b/README.rst @@ -39,7 +39,7 @@ You can install from source by cloning this repository and issuing a pip install git clone https://github.com/aws/sagemaker-python-sdk.git python setup.py sdist - pip install dist/sagemaker-1.0.3.tar.gz + pip install dist/sagemaker-1.0.4.tar.gz Supported Python versions ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1447,7 +1447,7 @@ Amazon SageMaker provides several built-in machine learning algorithms that you The full list of algorithms is available on the AWS website: https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html -SageMaker Python SDK includes Estimator wrappers for the AWS K-means, Principal Components Analysis, Linear Learner, Factorization Machines and LDA algorithms. +SageMaker Python SDK includes Estimator wrappers for the AWS K-means, Principal Components Analysis(PCA), Linear Learner, Factorization Machines, Latent Dirichlet Allocation(LDA) and Neural Topic Model(NTM) algorithms. Definition and usage ~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/conf.py b/doc/conf.py index 3675148d67..be63a6bd20 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -18,7 +18,7 @@ def __getattr__(cls, name): 'tensorflow.python.framework', 'tensorflow_serving', 'tensorflow_serving.apis'] sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) -version = '1.0.3' +version = '1.0.4' project = u'sagemaker' # Add any Sphinx extension module names here, as strings. They can be extensions diff --git a/doc/index.rst b/doc/index.rst index 1a840f6257..9e97ecba83 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -49,3 +49,4 @@ Amazon provides implementations of some common machine learning algortithms opti sagemaker.amazon.amazon_estimator factorization_machines lda + ntm diff --git a/doc/ntm.rst b/doc/ntm.rst new file mode 100644 index 0000000000..628cfd7de8 --- /dev/null +++ b/doc/ntm.rst @@ -0,0 +1,23 @@ +NTM +-------------------- + +The Amazon SageMaker NTM algorithm. + +.. autoclass:: sagemaker.NTM + :members: + :undoc-members: + :show-inheritance: + :inherited-members: + :exclude-members: image, num_topics, encoder_layers, epochs, encoder_layers_activation, optimizer, tolerance, + num_patience_epochs, batch_norm, rescale_gradient, clip_gradient, weight_decay, learning_rate + + +.. autoclass:: sagemaker.NTMModel + :members: + :undoc-members: + :show-inheritance: + +.. autoclass:: sagemaker.NTMPredictor + :members: + :undoc-members: + :show-inheritance: diff --git a/setup.py b/setup.py index 1edd9dd2dc..80c9fce712 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def read(fname): setup(name="sagemaker", - version="1.0.3", + version="1.0.4", description="Open source library for training and deploying models on Amazon SageMaker.", packages=find_packages('src'), package_dir={'': 'src'}, diff --git a/src/sagemaker/__init__.py b/src/sagemaker/__init__.py index b293cf2f5c..93a62c2a72 100644 --- a/src/sagemaker/__init__.py +++ b/src/sagemaker/__init__.py @@ -19,6 +19,7 @@ from sagemaker.amazon.linear_learner import LinearLearner, LinearLearnerModel, LinearLearnerPredictor from sagemaker.amazon.factorization_machines import FactorizationMachines, FactorizationMachinesModel from sagemaker.amazon.factorization_machines import FactorizationMachinesPredictor +from sagemaker.amazon.ntm import NTM, NTMModel, NTMPredictor from sagemaker.model import Model from sagemaker.predictor import RealTimePredictor @@ -33,5 +34,5 @@ LinearLearnerModel, LinearLearnerPredictor, LDA, LDAModel, LDAPredictor, FactorizationMachines, FactorizationMachinesModel, FactorizationMachinesPredictor, - Model, RealTimePredictor, Session, + Model, NTM, NTMModel, NTMPredictor, RealTimePredictor, Session, container_def, s3_input, production_variant, get_execution_role] diff --git a/src/sagemaker/amazon/amazon_estimator.py b/src/sagemaker/amazon/amazon_estimator.py index 27538edf59..22022c65f3 100644 --- a/src/sagemaker/amazon/amazon_estimator.py +++ b/src/sagemaker/amazon/amazon_estimator.py @@ -228,7 +228,7 @@ def upload_numpy_to_s3_shards(num_shards, s3, bucket, key_prefix, array, labels= def registry(region_name, algorithm=None): """Return docker registry for the given AWS region""" - if algorithm in [None, "pca", "kmeans", "linear-learner", "factorization-machines"]: + if algorithm in [None, "pca", "kmeans", "linear-learner", "factorization-machines", "ntm"]: account_id = { "us-east-1": "382416733822", "us-east-2": "404615174143", diff --git a/src/sagemaker/amazon/ntm.py b/src/sagemaker/amazon/ntm.py new file mode 100644 index 0000000000..21f0c8f1aa --- /dev/null +++ b/src/sagemaker/amazon/ntm.py @@ -0,0 +1,146 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from sagemaker.amazon.amazon_estimator import AmazonAlgorithmEstimatorBase, registry +from sagemaker.amazon.common import numpy_to_record_serializer, record_deserializer +from sagemaker.amazon.hyperparameter import Hyperparameter as hp # noqa +from sagemaker.amazon.validation import ge, le, isin +from sagemaker.predictor import RealTimePredictor +from sagemaker.model import Model +from sagemaker.session import Session + + +class NTM(AmazonAlgorithmEstimatorBase): + + repo_name = 'ntm' + repo_version = 1 + + num_topics = hp('num_topics', (ge(2), le(1000)), 'An integer in [2, 1000]', int) + encoder_layers = hp(name='encoder_layers', validation_message='A comma separated list of ' + 'positive integers', data_type=list) + epochs = hp('epochs', (ge(1), le(100)), 'An integer in [1, 100]', int) + encoder_layers_activation = hp('encoder_layers_activation', isin('sigmoid', 'tanh', 'relu'), + 'One of "sigmoid", "tanh" or "relu"', str) + optimizer = hp('optimizer', isin('adagrad', 'adam', 'rmsprop', 'sgd', 'adadelta'), + 'One of "adagrad", "adam", "rmsprop", "sgd" and "adadelta"', str) + tolerance = hp('tolerance', (ge(1e-6), le(0.1)), 'A float in [1e-6, 0.1]', float) + num_patience_epochs = hp('num_patience_epochs', (ge(1), le(10)), 'An integer in [1, 10]', int) + batch_norm = hp(name='batch_norm', validation_message='Value must be a boolean', data_type=bool) + rescale_gradient = hp('rescale_gradient', (ge(1e-3), le(1.0)), 'A float in [1e-3, 1.0]', float) + clip_gradient = hp('clip_gradient', ge(1e-3), 'A float greater equal to 1e-3', float) + weight_decay = hp('weight_decay', (ge(0.0), le(1.0)), 'A float in [0.0, 1.0]', float) + learning_rate = hp('learning_rate', (ge(1e-6), le(1.0)), 'A float in [1e-6, 1.0]', float) + + def __init__(self, role, train_instance_count, train_instance_type, num_topics, + encoder_layers=None, epochs=None, encoder_layers_activation=None, optimizer=None, tolerance=None, + num_patience_epochs=None, batch_norm=None, rescale_gradient=None, clip_gradient=None, + weight_decay=None, learning_rate=None, **kwargs): + """Neural Topic Model (NTM) is :class:`Estimator` used for unsupervised learning. + + This Estimator may be fit via calls to + :meth:`~sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.fit`. It requires Amazon + :class:`~sagemaker.amazon.record_pb2.Record` protobuf serialized data to be stored in S3. + There is an utility :meth:`~sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.record_set` that + can be used to upload data to S3 and creates :class:`~sagemaker.amazon.amazon_estimator.RecordSet` to be passed + to the `fit` call. + + To learn more about the Amazon protobuf Record class and how to prepare bulk data in this format, please + consult AWS technical documentation: https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html + + After this Estimator is fit, model data is stored in S3. The model may be deployed to an Amazon SageMaker + Endpoint by invoking :meth:`~sagemaker.amazon.estimator.EstimatorBase.deploy`. As well as deploying an Endpoint, + deploy returns a :class:`~sagemaker.amazon.ntm.NTMPredictor` object that can be used + for inference calls using the trained model hosted in the SageMaker Endpoint. + + NTM Estimators can be configured by setting hyperparameters. The available hyperparameters for + NTM are documented below. + + For further information on the AWS NTM algorithm, + please consult AWS technical documentation: https://docs.aws.amazon.com/sagemaker/latest/dg/ntm.html + + Args: + role (str): An AWS IAM role (either name or full ARN). The Amazon SageMaker training jobs and + APIs that create Amazon SageMaker endpoints use this role to access + training data and model artifacts. After the endpoint is created, + the inference code might use the IAM role, if accessing AWS resource. + train_instance_type (str): Type of EC2 instance to use for training, for example, 'ml.c4.xlarge'. + num_topics (int): Required. The number of topics for NTM to find within the data. + encoder_layers (list): Optional. Represents number of layers in the encoder and the output size of + each layer. + epochs (int): Optional. Maximum number of passes over the training data. + encoder_layers_activation (str): Optional. Activation function to use in the encoder layers. + optimizer (str): Optional. Optimizer to use for training. + tolerance (float): Optional. Maximum relative change in the loss function within the last + num_patience_epochs number of epochs below which early stopping is triggered. + num_patience_epochs (int): Optional. Number of successive epochs over which early stopping criterion + is evaluated. + batch_norm (bool): Optional. Whether to use batch normalization during training. + rescale_gradient (float): Optional. Rescale factor for gradient. + clip_gradient (float): Optional. Maximum magnitude for each gradient component. + weight_decay (float): Optional. Weight decay coefficient. Adds L2 regularization. + learning_rate (float): Optional. Learning rate for the optimizer. + **kwargs: base class keyword argument values. + """ + + super(NTM, self).__init__(role, train_instance_count, train_instance_type, **kwargs) + self.num_topics = num_topics + self.encoder_layers = encoder_layers + self.epochs = epochs + self.encoder_layers_activation = encoder_layers_activation + self.optimizer = optimizer + self.tolerance = tolerance + self.num_patience_epochs = num_patience_epochs + self.batch_norm = batch_norm + self.rescale_gradient = rescale_gradient + self.clip_gradient = clip_gradient + self.weight_decay = weight_decay + self.learning_rate = learning_rate + + def create_model(self): + """Return a :class:`~sagemaker.amazon.NTMModel` referencing the latest + s3 model data produced by this Estimator.""" + + return NTMModel(self.model_data, self.role, sagemaker_session=self.sagemaker_session) + + def fit(self, records, mini_batch_size=None, **kwargs): + if mini_batch_size is not None and (mini_batch_size < 1 or mini_batch_size > 10000): + raise ValueError("mini_batch_size must be in [1, 10000]") + super(NTM, self).fit(records, mini_batch_size, **kwargs) + + +class NTMPredictor(RealTimePredictor): + """Transforms input vectors to lower-dimesional representations. + + The implementation of :meth:`~sagemaker.predictor.RealTimePredictor.predict` in this + `RealTimePredictor` requires a numpy ``ndarray`` as input. The array should contain the + same number of columns as the feature-dimension of the data used to fit the model this + Predictor performs inference on. + + :meth:`predict()` returns a list of :class:`~sagemaker.amazon.record_pb2.Record` objects, one + for each row in the input ``ndarray``. The lower dimension vector result is stored in the ``projection`` + key of the ``Record.label`` field.""" + + def __init__(self, endpoint, sagemaker_session=None): + super(NTMPredictor, self).__init__(endpoint, sagemaker_session, serializer=numpy_to_record_serializer(), + deserializer=record_deserializer()) + + +class NTMModel(Model): + """Reference NTM s3 model data. Calling :meth:`~sagemaker.model.Model.deploy` creates an Endpoint and return + a Predictor that transforms vectors to a lower-dimensional representation.""" + + def __init__(self, model_data, role, sagemaker_session=None): + sagemaker_session = sagemaker_session or Session() + repo = '{}:{}'.format(NTM.repo_name, NTM.repo_version) + image = '{}/{}'.format(registry(sagemaker_session.boto_session.region_name, NTM.repo_name), repo) + super(NTMModel, self).__init__(model_data, image, role, predictor_cls=NTMPredictor, + sagemaker_session=sagemaker_session) diff --git a/src/sagemaker/amazon/validation.py b/src/sagemaker/amazon/validation.py index ede48cc9b3..7c7fa4f2a0 100644 --- a/src/sagemaker/amazon/validation.py +++ b/src/sagemaker/amazon/validation.py @@ -30,6 +30,12 @@ def validate(value): return validate +def le(maximum): + def validate(value): + return value <= maximum + return validate + + def isin(*expected): def validate(value): return value in expected diff --git a/tests/data/ntm/nips-train_1.pbr b/tests/data/ntm/nips-train_1.pbr new file mode 100644 index 0000000000000000000000000000000000000000..193cc98860dfec377d54de56e997e013cf7a36c7 GIT binary patch literal 1055608 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

2w zD07ihYv5%q(8(uwi@ciOqoKm#vyn&UE=?0i8t1YmoP?jRDPsXA`v|}E>Xdhv;GKMb znZLKxqjg1TyzEQ-aJ{eS5Sl>2o3Jz*@uks3-bpvt7UVgE*L+^`aggrOkbHtyGQj)R zA*U0Bcd%naT7?6sZuG3e zs|w)=EuV}o4O!^P^%~(En-R{zu3TBF7uUL~dvJ(Mt)5l=UiA#sm0@Ph`8AiQgX2kr zk3X+DIhZ%5^N=w6Dwx%Z_J?@Ti($p*Ptb?!29AfjRp+g%2n(Nv`m8flh1OaAz>MrV z_f-D{9ueo^koX+o87u0YtoI02S|h*MtZq+vOpLC7tp4%(Q&62KNu|TSYOuQD>4wi5 zzGxWHXf}c~cAyhzF#Gs>6StxXUvK_89pT=^U+3WXm-Wp}bXj=(%`?^6b6M-<=K+oZJJ{Owy*6ME1tt^H-(eipaihx<=oT5CavCF=Gw4}Co!qY~?k@7I5y z_5DK}1n1!(xI=|lL?fhPKkh%h=bm^xtkfN&fGGX^{wFd21%rXpN>IgW!&UoB8|f>x`JVM!{DHGPnGQ1+lZgK`Ef zK_EpY4u+{i(}sGG#(Etg+xa*e-cUi?tQ6$I5%I_`nMh#0j{{=j@Ep_%IymAGdM`Xj zH!%z-*^6T;g1J@ocS|s{8FTzUcyZ!dyTD|$nXjF zrq4C*E1R;;&&rQ=e&*K?nOi?7k#&Cbdr$r@3HkSGu7#(jei!j?xy0Xa02$F?lNWM? zf(xYEMLuH$;t`zaA*2kSOP*1n@Q^NYLQ^;`>*Nz2x0VySyz2$;=hNRG`CMAYNmFZs zCOVybf#gf@8agOjf~KFtsk4LrZfyOtBi+A`q0f)gdb|!A>B2*3ncunQCEmsu8~XR3 zhddW~JeuFqkT~aak*4?n`THaC{|1Ua@_H$+hsX+@H1)d!sA%NVdx;F8g~9KUbJ0Oa zywC;j(I;!+@vp&e&XpbqPUx1_FFYpX z+@#xhW?56-He|^wI{yasXBAoU%De=xsRMJ-Y4V$L=DdU+$7iKH&*@F|b8v0)Q;%)n zJjPu3DC5KvN4h}HEse7^bkaQz8R2(nywKIYzzJUT$eN!;<`(!o7)nNecA*K*zXqR; z;a@wxE7`{>XO$vT8ea4Z6n#!8bn0>L9gtT)hez|1hjX>o&;@8|x|@&mnxo%iP49 zbD;~bN9%C%aBY|J87X7wy-YdbCysQF!N;|^H+gW^e4$dy|NQq1m6DnO+u%`|*=5%w zPGeu${V3VPGcqPg+nS*!&jsysX|tT$>{OMl+=e6A1T}6RHbK? z5-K07oD+0U#bOi%9k0T8j2zeyi_rgJNwpYscw>s{U04&ZaVb5o`l{-QNL4)q%i?VH zbJfpRe^kAo`t%wRH5MUdb(8A$n~V$VYc;YFt>Lc8J@~BXV=cHJp-L0 zW}*LEUY&egQqS>UQtz&Nyza@m*U%5nTQ|FIB!a}5rg{!x;_vH6H#mdj)Yk|UkJW+V zTN@@eyw@jVTaw{9YA>a{qJ5Qe&fye zF)DWBQb%@@E9z*YM9+E^zj0T^Z@lh2w@Y-FU5MhijqB?VuxW0?nz^gGNHB(DPPa%T zsqzy0RyS|AlpinrSfE10)0ACv7FJCP?3&CTS+HuddY)H7;mdmMMT%-}uY0)Ao~IL3 zpY@JH%!UU&BWA&-+1BSEESWi>n{{&PjJ|XGF2L2cuSgH$HZJ$QkEo3>B&5==d5vfd zc9VOKtLc2u+Hm4CDetkf(N=1!ECDgQm2Vmbk(0%2K5v#Fm(CR^J z5wVdlXs5Ds4iCBxOXsu-7vGDLJ%xkghit}0IAb_Y56MCdMXn@?!iPY@ZLqr;M03V)}^L2qQlT8|WmuOFS4ccVraG_G}ut zbL8HU`$nd!E_CiuQ${UDNV#{^ZCFB=VF%qsZ;99FF0md~&}`L~}9W0xYG zHFj*=Snt@$9~d<^L#{gyqfra;^|4gi*(+j|9|Kp7xcEV{~rBGGUV*@wGD0_HNcWV&Z}N#O|F4)jZOAH`K)t8P5|S=9f#9h_%|Vkn`Q-g< z?qSN<;2|HMgRnF{!Fx*KF+Ydp;GwJyoaiS#5RdF3e6l7Cge#3s-cRw{pqsMFelYe3 zBukv7wlVyUXLNCaK<{I z-T-vb)7Cvy{)h8G^vIczO2Yto71 z&wx0~pv#;*q=_zbO*!&efW!NQEDwTnTbTV8HYc{w13#2x$N3H=omT#z#SYZb;4R%-9hf+)X z;TJnqVOhnM71zMRJzeok#dF9yxLMI#aYdyJ`PC^p&gUb1pUmz19 zKIlnMQP7*9h$>M?g|-oh^`c66)fxW6v~J`iEJ0~nPqlPdz;CN9guVN^`T~`e5RaUM zgEi7?9EY{bLQQ!!-XKhCsy|ga8p+bDRe;u9BuB4DK-Rh7tHI1mNDA2-auQ{l-oxLv z4(ZUDpPxnF^IHheTCX~v7uI@?619=AdylAm1z&I$yCuG?{kHZL?TcGf=NM9?v+Ly4 zp%0Fo5}(w4TDK5^T2b}pqf5y7dJk2=*7`3t!WPc|;vGV^66-&#{{#h_mNq!90=I6f zqD^lagekjtYr{-<=W-h^LhnSDZF&SN_;sVO#?#O*WJTjx*upzu3-5>P3o zw(x@{c}S!#Zt}j#l%`Xg`Z|c@p>XXIly5rv?y zH2=_ia*M4kj>AHJjbv(;vE72;u1yH;%7ahOmqrQgDzw*PbrmUb~LZKh%~6XFm`;hyb(4IyPy z2W)_~y%%=2ujtb}bR1cORO~}2`gCUC9pzDcIB=2f;=XTC`k=#u?!m@B2P=Ep;OT?I z2PY5CP<=?=4yKj;dPwBZMaY$~VQHrh%^Z4Z=wWN~bA~NNlJn7~km?j?`r6I~)FYeMn~ULf(D%bL*A z!=x!5{c|VX)ca3!5BMoB`b>VoJ824E%08xy(gi+S^c%mM!pC!f@ckM3@w;+iEQl-JKMd=}{#ITkx&`&p;aWn7YU(ziUbsx=8nE zd8a;G;X`67)@a$b=a30BKztQm50tr5=60FfGEd5!MapwA>bssqx^o0tr!RonVV7Tv zno9GK=IqPg*!|i0&rVf%i8y)zc^F>c7qql)?hmGCb+?Nqa(#>O&LnRU-s*P2~#cA^E7l~F!#g zj_%u9?Lc3OoL2Aj;XUe`tw>hBg~NMN>(tgKacD1ST?B_$1QL}QruVjuyX~sBDQ$~+ zXm7W%{T|ha;zj#;II{D&?sIkB?J)DZ={rE^E{weJ&D|AF8esle~mU+7(gZWHsAODnHWK3e<5ho-0lcC>P6ZPeKs$;i~m zfjet)zh(Vaz@?R}g7xyz-0#Rw1vqZ|5{`XM{q7-eWAlJL1Fj8tHDH=i<%qo|7^0Vg zl;fp8Z~i%K@YKQ6kiqd}Z~>fEi;%l<5eMg)Xn4M1SQ0|?=AgP!>M#3$IfL3pg>Y6K z7=BQ>s4k4ShRh8wLh~4yw{}z;Z0ZsI(e*Vd3a)c0Ym z&Alzb1BxDzm9^s6->FCQTY$pn-^20wl)UCA4~N2W4!nio)pS4J&|!n-(R?CLNSPA+ z##-UAR{Vr|UIMT8ur!^JL-Bw%9G}%D4RgVn`*U6z-7@r)kkR@~9C>A3Vjqq7YG`Xn z9zL4|I0=wz%5yDxN?D%IFaP7PWSI+m5d=aHCn!V_A7G7zY3Zhz!tK?^BGM$dI;PonRtN04qEUA`N zJ*PU0*d(hf;({76$lZNkGYpmc=OP%2XFm2QOAc9uz^B)^0-moC`V*ei@G|-5t2pWk<4Q$kRRY)#I;@sfN&pn)}MtylJ@=MQWIo@d0)C@8Y6% z_cxi}#I|1D`Y6tLk6UlS`7RClxZB%i>qLx{c7^Ia+@J7`Jf!%BEl*WFY7#HOI|%tnMP zu}w2e&e+`(P;iE67)QI`LD`v1oax^8{Qnty&*-SGu1&DO1S3q4Uci9C$OdCD#>QZ9 z#ut%I4mQR%q1T$}^{ubxhr4HbX07Sf(?yg;l1LI!Tyl^^7Fkf_EM!0=fhckkAhL*> z=Q(wDv2|UtzaMAqbM}7rzPC!!)!Fy#;I>`cc75ApZBMi`M& zW$EU)EK|91FKSn^QS)+S+=fcZu$au;4%<6i?=Y(4B$IJ_zvKK)X-K&^ilmFBctx7o z`Do`e<|S!Tmx*2Gn!MY*E6o4s!JD!?A@3SM>Q_PN|=0V-6oK+IW_fqS8E62gg2ns6efSDZCD zxNN@6`uJze3(Zw{oq2db(ST(L9@>JPnfvQpv{GiruLHmSiTzm$USJ;jE!5$QS-1=z znlxzMpdEt_n&6=|q1_qdg*Ng%<+``Sd$Y8+W0t%fwF^;1`tOp@f&d1o=F8up04&e;Dt%PkDw0z?W-l+mU!87a6I{eYEenhTvVx7p(9}14@T-pIwv6 zT<}~6$yfi=D2s$6PxBqDi4_`2kGvXjC4bJ^2IXSI@U6|#YzbbT zf+y{5pYc9mILH&qIe&hxl{r=}RB%GIUBAV~dj5x$z*-FTTs0SrP;J*CPGLo+vHVN{ z4@TsU<;$8>&uLFEVq2&KyWY>k??>asmgq!UljmYM7zU^3xW4d6efIk!mU@1Su%2KQ z9cuA%eWBDf`oQv@X_t05f|e3XnYk`_qD$HW{FPRw`Fbw8!jtO>bzxKHg7JH<;}GMy z2Yx2nrp)LGRiB%D7kt6^JQ%&!^PmUkFXc0ej;1mXe-_+>mlq3r0l5Y!*McXXco{*= zMW!j`T$A#9khR9h+yO?0@Jiqz7k)s^HIMqT_EOp^VbAk3kl%qwHmFCw=qKT`xN0re z5}d4sQdj1hYQDtm1tMT+SL?}~eA)y__y}FwIAJ@o#V3ka#${;wSfsThUy zfeF}4=h$jDPiqv{@YfuHzQ3z#22cj_yeR=W2JcI6)+)dbdZ7)Uh_8L5_SM=qP-p&j z?WcHWx(2&wmVtbN9dvfx92A1g!VX$GT``SdL%kg+37JrTZ2e>;6EJLob>>eXvH3#% zJN2ISF~92LLIgzY#+y}kyL$M^qfh1`jUbdn@W_;dOhZC+Zi_s#3omN% z9DxxV5D+o0rQ7n7?RzyBsRZnEm4`j})z7cnx2#32N46Q?W+gNGB-#Vm7MG z2hAH-zHi<2)nn|;cYU2_ib2k|X#}TDx2sSo$nmH!&$Q@+ZS(P-^&rxspQF0`g?3lk zT`{}xP;tjl_o`E#P=SMO2m(*6CC5Q?z8-x2e6 zbxHqa{r^ND!o&WfO|={bAgo0I!VwdK5UMD@W56lAS-oqj%AfxE47&D?F`^>enE>NyM0v+D8S4D_qY*Y8(rat}YLR(KB| zUn^#0t*GNR)Z|b;J5PEgSPvZ zxd+GVaPYe{SSuHMl#wsgZ*jka3eOi8x(^4~@ZUD(CG=o}@}bZRSQ+Jv^_I2I@`(## zxONENkG0GLn49~x_eOqD@gxqzRXom#^XfU4N14n8Bhje~tM&N1$Gxjy z0-oy&U#QoHUJHg)^Tj@Sn(tTFa@1Vx2#-2JE9cx*Sch}9u8z+_xli%reu$+^>}%>e zF^ekJZ#?AR=bNa5v@#h;;SF_`y^6Y#uMl&v9Q*3krp)@xaFX%)WU7O8;adigF*p%>F_yhxGt3@& zCX#FCqF8z+LWv(YoYrVpqhr_~uSaFbIS3xkXuKI|wu{u>cvX`vh&Z_2yWv|OFKd3e`3SQIK8*Lz*FJsv>6jJ^5NRMim+l~; zmL<_|qAujKmM>Zsv>Nw0yDX*REi}_<7a^f`8Qw={V@G@vot7>lv33d)YImal>j4vU zuoU6IXHAhHzMCG8x{&Ppx(j83)}!OnJ(EzIh4<6L5aj#x+jxZdW}9N@TQ5p%#EOM9_Do^5-)a+kcV{b@uU+(O*J zs1El#hJtzbb~=yff<2x0cAktPKwFR~dm8m1xg-7qsj=J*hoTE|e<;F^I2{4ISGuux zQdaju^le?zBdtezkCmoM8h^r%Ykckfz}ONk6rMNf!XNinu}fV%wK1rgX?_sZ{3Lk=S+cRr=^>SI(T8ia%T-n z9kd>M;>&|Jql@e9!9|0g4t_a!){s#{=b`7)5fl#!wPiK&2TkyY9@RL!J+2p1H>yPJ zK}?0o<@UDSX*#*`op>MS&}P5Rq22jzOyJ$9bmY+LX94GYR+Qjjt)D4;ZgS1%jo`FA zq7C(26s!vy#Bwde*z>NHF6FVF>ryv>A+|_etiAU~oUw1^g42AFlRC<##&9lcp`zzN z#vy#6BG;6%NOH}SxdW`hoAkqIS+a}LK2@;E2ucO`SdlIkJ4TJBo?mG);M zHi*?YV~0HX*;zUHqGK@Xnz9!OD6GbKuOW7XPpqC(9<;VJpK}h^QY{ODr|(hAICrf4 zEm+#Nat)5(0Q#XQ5 z>If!a=jGxo4{Pc;7>peeoX_%P?LwyIu@*}`Vg*Mk_saQ#xYsh`1nYQow0;ZNb`@4+ z0jnc6$WH=R+md^vKKVhbL#$8D`8OhKp>iFK4OkswTnzc#8q2w(a9s1gsH0_OZts^e zkqf040Ct1+dLoy#qxi&9?t;o(@UrH;2b7LiE;!BCc*p7z=h`{tT#F7V zd75$_R2V(idYn5J=Ysk$dgGqS=iHCsVCbKfOFragU{0Ly_`4963C2Td&r!Gl)+Me7 znZBNpse7V+3$^xXeYtOSP2!26Z_7FD36<+oE<9Jw1xqE?9mm=b ztWff0UP4#%|K_u~3a7tYxvqR);cM9YrJhgeYPsX#(}rLJkadq!_pCm@wjp!TlXaNd zYf$cBxET6gIhQr%qDQ>Ug_6hNTA2eXy2OZ_e9<8lyusjlvQAR->gux-7f?2QPRy97 zYSE3Gckj{j=Yd21{lA9F!LBN^rA$KE?6Ns!uOTjJ7S3RfzY%=n0%Fw1luN`ZObX)E zXX6wm9YtcdmWwaHw)_Tk|GiuO9?oJOA!cc2g@s6$%|w!H0L5ed6_3Mry#HnjPG+7~ zdKxtiX|Jo{IUcBdrt&#+IU%hpL=4vFxGJPYbFpgI9SMe&rNIGllvC z7gb|t;4wIvSzmoe_1x;0s$WKV+3P04X=e1S=-KE-uncidn-J-AEc#^hqv%jq;LMoA zq4r$=ngp+N4*bsXHPUKqHL*{{HOACjSaVU$G(u#-kq3*T1*X!P> zdlM%*PwPIb`?BsU_^VmyXK)xEYnq9T+J`O%=S{<}>9&{fn)(|M9iLl2A4Q_B)PHJD zccvpPHuK%hw#UJdcaI}l{uWMpTokiqg6y6KBV!pezW`D5n@w`;)z};GYM;jrLwQ@q zQ>}e3>%BAY-9@5o(R&FEPd1#;C=n^LI~$GrVCDx~KG^=j4xIiRK@q7_COwvMRl`iz zgI!H_!WNn&*fsEanE-pvq`;2&G7$-|PriJLLb>C=nu(L3 z<<<*6_|=53lS~@yy|0VV9iiCx!#i*?bnTm)h}Fu3KRgb8@QSt@QC8|g+xYKOzMp|| zxdB^RD)0N-@QUxiE57dxYnRY&V!IR*kH5Oz!FI>n7~92jrI&H9;-<7uZNI=o?5{_xR~G!|9qo6*e;(OkK2DgfcUX%eRPmh>P=ace z>8`-?x-)Rn#Ay9PonIi{i_u<_Os|D>_|-wK87Fvl->N_7^_dP`WukE+3-$4}MEiflg zDg9@lmDpu?-%t9F`*DHsy_0@&O&aWJq`^Ld|Gj*`ssXD9tb+%Be85$lL#_FF?a%vu z-j9UXyEu&+HE{I6_<@rLrVN}0k9-k4@(lwI4J<}ihaDzC_TDeg5oI>-*EGbKo%r?K zueW|J{59vd3%}ilKVJNs-!>Y%I%vt@GlTPtH~wt!4J5|C8nPDNxbnqQcvdy#b-Y=^ z+cBfxj!IYYWC)z4&qB);a^IrSYo7aG=882x{s#C7m2*Lpta1e6}JzvI~-BoD)} zGV*l8qqpaOi|{qhr|{I3wV_I;b-i<9Ib2d)(;>z1N4h@v z{7l*gu?BDNThBGl0gihRUPJRE&Vh}{x7QFEZSsC-*DXb-#Qg{cRP$*^+vHsHG?p^% z8OamAP|5<i`LWAbE}dyNa}`oQNPFKDT(<^EjD=bAFdu1PrpYR%stAJ!ax46a3P?1AS{23vZ# z;Q16^=Hv&oP3jS6vBb&u?huRNTAA1%57yv>C$zMCh1_QcuOaUt!uFv@ zz8}{WUeMxYO-dVX1is($wT##RMp$3XDRX2^Dsy{{u#V^RXg+Ol9kye2xu#6`GMBa2 z2Ib`W@Yy3_!g#?cO1#mxGyodr+50iJ!52I5ZE`BU)3|x(A^&|unek2P&Y|c}CJOtUt-vP2k1J-sdHT(3DCIK@ zzDrT1=au$G?TgBfdJ&aad2;3X@L@vDFUBCc%x}x~6je#6Iebk8uvm94Lq zixaV%)gGIkYNL^h%c!#5)^iC(mW_%YgJ!}r;k~3rFGS%U`YyTAx1t|LkBeCsb0X$S z%vN|TM@*60JT%Klskxx$=9*bGchua8GPSS$mDz|d+ks-WxwYbLq1p{^Z-$?80lB#| z5oNZx&I)8`97T@ClRC5OZb4z5)OTEXAv`y8>t!M{_X^7K%tBPzVf0bESpQP}1eDne@A3twC3UOq&O$=EU{0M0$e8xnN-9kCq<)5wmYz_R0)1RIB%-?c&%hA@aSkvkn z@^zQu-0Yam*gXedVomFPt>?E{h>|*qUrsh>WM{v+^3}bs+^;j>A><*W<1)O1P&UWO zZ#I9s-IT?7YMN=pfA`0C>)UJI0|zP8$4$<8AZWUPc_*%I`PBXE=bI-NQIV zJM(?s_ZiM|X9Wu7WZLtzxj0EnhIg>mw$><&D~?M*iJXup5NN*(&4iD&Ki>XC`?>H2 zF2EC*jGT}4omh%?OQ&pPeq8J{8@@nx=aJ@Ijge+Ikngb&MQ4|GU5&G~^*CK)Nt_4B z-5uL4x!a>|Q%%$0)!o;0e}wFhCD`$A>aiKkHgeEx<6IAa&&@seV88G7V)+}k3m)G) z(UiW~i%7FSQ2;01mYQXu+2TF{?DU`aO*eTUE+Wh_`|m-Sn<;3nvG&K~Kb|o8AiJ@z zpEjUiz?}i7e_nuHJ7dX~4_rNvd-k)xutD$%?9%@<*}7~DJRjv_LoI>tp_I*(A@hc8 z81llj+AuqGo_#&V$yn6mI^n~zTXkZt*NK`|N}r9_&jkA%!81di7v{NQ*TUnoMRbI6 zKOl0ij$p_yO(q!E+9nk&X#hk1Z^?BcQSuyMg>p`Pu6d7~2kn}?E^#5AV94X(+RO7t z;wgNTMzo>&KCsO59+wL^^I3ALX`aI*K+x+2rm!8HQb zMkK74N32g>Q)~q-kN?~J@_BGiuH}k&g4?Q#gl#a!Q) zw#7NI4hHutGS_^{ygFP5EuT68h0(vqk@Up2rh=m_&RtN>Irw`ma?v557|r+2y%;Bg z4l!cWtFPD8l{IzvyQ9}Kk3@s^y4r^8vFF!o*p{CK&mnyxv()jdc}oa>?L9yP{b zEyjDll<5&ku5F3j`!f>0z6aWMBVE_>dVB6yY-s8LYt};X*|nT=UdONGTpM0#SP#Dh z*4iP@v33HMdavtUQ-{OL=eh`=)rHI{MJ{?m#Rk{Z31DcM@crNmR?h`1lo&mCm7b&K z#PMgVv0|S%@GzyHKt~4qt-8AD% zKvB`jm8VoruAEYNlWEMi6>T;Cgm*Hc${Z9GU0U@PPE$r#3+0DzsF7JKgl#%;~6O(a^gn8cM%q3eHA0#coB!-{|+^aVo;Bm@H(O z-*~S8r9v%><7FSN`|#w4q2iz$&`#qjvdvSP&NG#T z*ivJfDG9nCXCjBpsmR@rRy13Q^N=mgW+C%s1zG?;|70@GK$e)y^XH$wvPD6e{c^U& zEkyn0!fRn8z|k$ov^)&I(l~1Tma{nfc+mQJ>tSu?puW&bQwsC~V*Ym8 zvkw;kobqMLm(#vnhYXld?B6a^{PR581m5~;`PVDaDDWa;0GX-I5}+&K-8@I(Pqx)y zv%pZ{&*9&V`fi3f2MKvKXN*^K4}Q%=cr-`QHF~U*dLm2D50`M>^f)v$J*Jvo0^XgqjC#?7F4v!LEmpOEa?D_HMb|Qo2v; zo(`WT%eD?Y*CQWU?bmUNamQrTJnA{hWYUBRdmiX@0p87h_%}SgxYB!ZpEah1#)!Tt zXr7UYQl2;Z#v_Afa=+94uJ^lT&M;QPzgdsg88>i-@wES>AE%&=;DR4B;ptrX@viZ8 zG7(G2IKpWIc#^RLQG|aExHf>zG+3)>6}+BI#0}2=H4|RXO!z!k5iK};Q1YNzgLZ^{ zo`k_;22U8gXYgs9QCvmDU_1(V9x$gACE^9Y;2Fi**ZDL{YsD<86;*(InjoG(dqrWKBwp*e6ErMR-mG zo?t{@*3=0I9+bM|QO-GsU^Nwt;Iu5P6G4|Uts7C#{tN^s^zX1D^V*N3OP-e>UPC6f zNW*-4Pa-4V#n5uj9mV6^*pQ#0tQCej9RGAJ%EPvS|J~XQU`~F}+R*ps1JAW`(f4Cb zzTikTM)L*h#h1X?@5O=5fP7B%T~XJoFKbubhfnE>4*!-o=ii07roziTh%HBCLe)JG z>%vCR+G-*8JQ&J}{WdN{Y16el>S#Tm$DS$kw&jJD$dOSxc5o4df6`%+l09m^MegHiWMJ~5i=>kD3ZVn=ke+;8m&Pq5Yb zv$NL`nNZ3EN1mRC*H)iv2X;hPXaGDHBNjNXoP3`hVSBLSw>-fUBld(+#-U~Wz2N$H zOC3u^N7JE@{bfyi9=_NYYIK0}6H6N5dm+zJGJ_*Nu5`S<7xc+nSuwhClWyII3_~mJ z=_cFeXqntH1!W$WnTU3IN6X$R%c`Dij(4TpU1Y3}D!;HoZiVEEC$NjZipF>uIA3^K zDZ|wCoKtx{_Usd?OsO)pN;1w9LXGgQhI7{Eq7B{=lWB7ryZDjFT%U#9_0`pmnFe^F zmH@Y^6;!)ZE#Bm=FG1$|{_01nUqF1+OOwMsEP6Oj8fGF!Dm{8b^!DgK!_iTD{&nhK zOHIws)2R13234R~>+`0n0W}pnco%#4Q?-iG0AR}7OVI)#bh1#0cHBj%0=2&O7_{PE zgX&MqO?=ZCRQ-JR&WL)`>Mg*I{Upv7=G9NbiNaD8^goD_{*T{%ihcSboF;5Fd-O>r zV(D0H9-7=e!%4ziwBUaHeu6nk$ZvGMQLxd)Mwc30#(sP%B9%fp>c>7vHE~L7KYWZR zr8Lz1WQ@`kG`X9Hvx95q^kD5r`>`88{?WycE~6e)@kcY8EjPRJtgEM`yn||IL+ewqp04i>7uDk&*NA+r8f%$BDvTlabEKpP_SvJKwK&HaJJH z+YS}iUlx~%$Rg(9gqm{~BBp38B8t|uU*A4dW}opyyV~zYbGxyqAa$ohe8)dJ&gz)a z@u=N%huYeO>VQt{Jk#W`@5UZ{BzE7^kgs#x?7YvJN>Wq0CZnMp_uVJD`b{;^gl?&b zDq=mUBZwiIgdFw@*lmY$bY}Hjhq$3oMNsCgGfQV2qJ@~XKB~_ofuN?5$t?_7Z0Z2{=JGXByGH81f%HL*TQ(JP-Jsvm*c= z=iHlWS#Qs?$Zv7Pwum4TU7^G|N=NfM#HoEM??d6Jr?Fg9PM(9oxm=$-BPYf)T#wA? z0+Zyucko2!S2{j5cQMy%xt6Kbq;TXD7YQpmLWyxPL`TzD&(A_|1{3$!&q`Zj*YB|@ ze6c~S!3*_#Z-OTc0>gXJJUvg1gDGHK3{sK#IM+OnO#4C9G5Ei^j{x+8e{&zMweP6w z$edLEuLjke*OlKRx$l70_j#zu$rl-Uj%O`6(%NyazYpPSUBCJ~0ob7}!D(6=Ut{!K z@InI~yTT7DKIbk5-_MIJAJ*pkQ8De7e9!m05;*=G zu5gM=W`c(jlK~ z!TQvkd=Bz7U$B3nz>%l1)c0cuFBabm*Ma-qhxStR!kEQq#eFvB9NKV? zMFp*uHL_7b>rd3sD!^GnR?V%5Z=xp>M8|>A$jg|F$R^gH&98N>R=M!=dT+nS7RILN)grp|3a+->ASq}sj(+u8?A4#dUwmr+UJC8}*D;Kab~kkw(i zIVWHy#P&{)(T2MSHMdxCD-+(z(ay&^KkfX?WJK`XU=nF{1syDYWm2N_*9pcdB& zQ+eQ47iLJfUFRZFir&oGu4{j|W-=rWbvxYcCK_`;>NcVKitf+5Pd3$YHz6|WMvsCX zx6MhyL{#URjTYUrO+Eyhgyq7wIScRRS+C+=et0-r;o~gsv&6Iq+tnw(&w0d3jp&=& zcL^#HTsU}LZZR3mVIT8Elk%!df#9N`rz5=S8T2u_u%mj({C5sDmN;l*v3G|GT`;VYQ~dU+KtoG!>iVITqU+ zw#gTn;aiz&sn{?Wg(aW7B=7xs^hDp-h7Ro-Tk8Jhp2#mvM!g`0*wa+=z506XSpDC5 z&vvfmk>fCf0na53a(DLA3Taro>YR%E484~Dt{#pBxO3dQ~8sP8_KU0#>pzsOFhx$wev z?RTr!GN&E=yWrS+s1AFSi7ib97|IctSOfJV)ts?&p9l zGY56;nmo?Q_gN~}A&*1!C^s^p9y|Qpl!tMca~)84%0eS%ex+)SyAAnoqu{uWEi)70 zUm0Z%mbq7EMA=kxOjJ;I+8ZWutlAnkxBKE>)2urh+PSOar-`s^_XcsQMg-OsUmYB7x;#wL{eoel;nZ`0XdK->dpD-mSR~q~AkqF>tp{-HR==HTx=XXO^t9Rs;oLn!NEqF^ z*>LAp*4+Si?g&aF-!i?WAEC|2bOeVjLaUK8?_4v@Mpo2YV?x9Z);n77M7;;~#-j)v z3nec{DY(rj2Di6<9)iVgqti5dOz$_xQ4<=>YA_qAE%T8?|Fl7}2@pF5=g*G-u>`n& zMemJ&e=?lDCGYRVk<|KzyO84Yq~S6o&IcO3Xtdjeh_MyjQgoE2!?)|hJhUU(-{eG- zJOqke#*x&kCJYrzH_qR!rgxh@Y+7vE(QSbH_tG3otwPD z&;3Z2&&SbJA{@R;XkYTI&7VkF_~> zld<8Qi*)#F{b#`S+yCRG9}9nc{NqSCfJtbf!p_iV;R0U#iG`ULAe3yEZGATtp=3;k z=fPJh0?P8x`tAYBGH*6VU?+ar^Xn-bf6e)AE?hw-)m$(RAq&!_4hr%p3}IzO2q~K~ zWZIC7A!~<|GySk3@}Qk_?O>EDm$jx^=30HfQ1$!mfTyusiyfJh?$f_B3L{uUEuZ#cf#)Ef>k>G1 zeag6Ray^(xzL(e$>b2>3YzWR!D|75Uxm+teF%AZ)+_$z*K8K6pVCc`q``2q?^qP7c z+TLI0kc(Zd%X!f121>CZwuMrMXOLWbdkQ(=$^C|}W9%Z<%id>>0*S}!2acXgWSOon}Q7}o?Js@f)z?^X)>c5_u4+!j>U_PP_aiU zzk`(Vo?X!D_U}mJI4_}ZZ5w_BJpErkFrw$R*&>3DWAU%A8#DaPYS9fEH)}s&@PGcV zqsokilQX@{Hk?rvlzC)w?o;919C{=BjU42*B*Ud)<*=RQ?vz_x{wiFV7v;xPn2ws$ z3oERsuo|w+g$gfFH*A%OlDl4U7S5(FAx>^mr4*b_WkhX44eCNvpq^EEcI5zEn|r7t zwhgCKbZX`y%SEb(?X3FLWV?((q+AM4s20JA$ulm@aCCQxuRf*vrs`YJ*@b;w5>4*? zdXslwfU02&O@Eh7|Jsfmm!rtLAC1$g7d6-)k=3bh*L-Fwg^jL7=Y@5`79;PT=ThwM z@}SmZ(;;!<+uLzQRrL1b+Udx<&#ZG1HL5q6dS7P{3-_YlIJhA^cMA1vNk!l5P^SGc za{@KZRPCU+T8GP!_y7ZQN!zq$+`dIgW0Bv z*WnLxKUmf{2N7}$;F7SC7jswEBSP*H9FnU|<~7ZNJ8~Iua>Y$Yn(i(8k-2jBqkG7< z--@o-XAm8C;N#uRnRCAaCs21kxrhEO?A>zl(<|l_DyhY4^lsT<>UZ7!?7qodNoYB@ z<>HoUtuhcNx35(Yv2uy1T0Iwe_Y+&sge!8gbzbYD*0b9%YvppAC+OI6?2D6dNY2>G zT|u}eiC?Zo{z@*oxZL?NRKa=zPNL|f?1F0&s@HW0PDugIpJso%_}i_>UAg(~_V0Fo z7vGjqbElAjzY4C%8C2>Tjy#pS&L61LHMiZ$c59KNa?|9fEQ>p5T#@C7mdix6+%}vx zjY7X{7uhKfJFM=wwqrhAj{6;-b$n@D4p!k>-f1PypDrRx6n2Sy2m|J;ciH0#_PRC^d8wewf72~G3_(mUl!t|DYwscoG~rz zo7Xq1UrPV|I8!P{C+&GSQyPo&q#Zx)frhS^c^VUGE?CNPto;%=+E8|g=WsC`j1pMbkhS;o3ZJ@>=7JA;>c7rc)$E7xVFaCqwJYTx4&?0R}8TH>sA(+6TVF@5RcwCazvwh&oEoweut^6MLk{iyl!S zx^efP|I6mG$I6~4I~$uszW-*C*-+BN8Z`L3RlcD7I24tggE!sT71Ar7s+fo5iED2z zLej*v%Cjn`p^WVOw-&y&7A^i5p0v2i?kd~x9(xg5kuW4F59OEm-a1r(X=L?L*!nF( zJHJ2hmU<Pwwr+&BfyCY~K!osPAZJDlc>-)#w&vLSyL#B1eopuk}J#6wEvPSC%F%@C#;B|wy z4$c{TcJP`ZSBKmg@;V@g`=+woHx);R_e~F@W9~&qJw&E2|6T(4Tav#gALeGL=Tj2q z`Z-exX)waOA7C!P&Juvnj9cxqes&`u|s4$cBqKM`?Cx zTjZP*7m-3{_?8OBkF|plzP8mD9&xV1lzJWt46(Emu$0eju7h?RzJ^*mf&~?QSINUV zu)}!^_45-vsiSm+FTCDXNBBZ%k8{C!ujN7}SW*u11m{>DpZ&rUO03LFLTOV%i9MX7bAc*p8*@J4PqQ(pdV>ak2=KZK`hszqh-Q(tek6^ zi=L}=g(tSc6d2;D&mnx7JLFlJ@QBfT(UHGLSrao9pDk$h1GEKQp$2DpJ`WWe*c&}4 z-?+`!-*g-DKbMtRRc0?s8f}gL@*c_QJ&C;r^Lkz$MQ-J?wwUO96?Z#>UOLN*k6N#k9%qjnznDsGJP!i@i zPWm^PbN)l-oc|#Lxo0AP`*F=zHB)MxG%v{}yuJMG73Oq*LY?U-mY;!EZh3Wz>a3}I zxb9B8AY(boG!vkmk8+eR>W!*D4h8WS)!&G{)ZzMTLio2y@>W2eMMYtPMDIvcI6vc)6!;&oN>w>&@JZqLsbW5@Ig;nKI-ZbpJ9%S4_> zpmdV6$642I8v><=eyqRI-y%)w~5`R;x$xS_x(8GzK31Y4!ml5-eW9+ znQ!#G+q1CeWYc7rMIW!4vX23rV;7^S`-nb^QS$LdpA*X_0ki(UYhn} zz@%j^{OLSSs_)|U5(}TWXrOj-!07=KaY|kE^TdICy)+A@+6xD!niotgeR3SHm$H95 zic{&8c(If<=)j;YgEwG5bV;2-zkzCwQU3SCd!a|~#oT`{>QJrF-;(^@$lnX;f0Re8 zWB=|%-{CV$^C8#vG@f(HWN4WSzFvpzTfD5P%lS%sT`!+@$on!5)XqgmWTNAx24{5~ zOEpIG0+72NjFEeI)Yp1q&j*~Zl+Pd-QsOk_oc3B+U6E@Y*Xn3q7zbH+4qJkCtPW)y zT$4t$0X;8YV}sD+|1*v8D_eqfg-41Jz;J|TuR%NB?@8PBSshZ%=bSvv*K@ZNytZNR z9vgp=tM7s~sblmkU(e;9ywr>F!v-am6hz&g#dm;-etQRL($78DmjxsBcjeC8~fYOm`IpFy)NXZjQp5O8W zD{CVI)_X6G7jH3PeOY^Ov{ynGYq^H}%)B-WhGj^gH7!J+Vby?&-Ov zEe`6EAHX1=a}LhUb4RVoa$q9}%o0%k4%6r2T4Nl$CQr{@tmU3$&hMQ#;fL?T z-VgQ33xE>GK_1tlLmubka|mCk#tKiU))gM98^I2-EpWe-bI!rSGoS(8VMi(#;!8qYapLCSG$CxSeTw=!eL+U55xa`NT-7fj%9>`~@;Y|@tSkW)OX zGWx%@?c9CvzyFv2HWob+R+L#^W=ENw$SuBD=4qKpWtm}o6gkFs%04PP3OUAU=ow!4 z#>jG`@QOa@pgvw(O(~%CRG`sRi1gzhHbDCk|IufdksSv)vT)9O~^XC#EnLr$DC@*P!VaJdG&v!T8?@Bf3ez41g$gTBLQLS z^Gx9S3PgSc;K-gsT_iuMA~6Q!57R#`HF{388$BP6Z8o}W72U{a16Q1 zmvCTk5544yZU6Gze_cTR)7v;cm|SCejU~uo-j1$vBWlv^U0?#-_to5wsF71OZ=sqJ zj}sU#!dQ_TwI0@*g8mHIZ(l zIqES@e}Crtv)*Usv-^I=`x}jmoq*_*vkimj^>7Nk(eoPJKrlS(Gi~``tBF84@WDa! zOTYEOsK)V)XPEj-Tbt}M#}^ZtPDD8TGC1HnP(O9Qb;C10+K8^{yATq8=c7V|#j{q^ zs%Gm@r)lcPb3S%IUh?r;IOubl&ue}QS<$yYd1i8=m)ZdNP*e)@qL~$a%R26RK0Ec< zxzBEXb_`IjvhnJASt=rgw$byf>n6(WFsD#GW}KHp?>rt{EqE+1Xz ziV;RXwskV%S5CJ++xlGVS#bETwYlFW@r!+kR!RBtBC@8X*E(MSyg;N1d&`Ah0PHcr z^AEpy^v#@a-EXta3xND@FCk{7;M>utv%2cLtncpOWxz1>keG?Ca|hbq#A|_PZI_07 z&Rs@W{lo9~qxRE9XCgYWufZ#VJN6a9g1F^ztMHnD9oe_X?Tb4QcM$cUj+)m7R}p6a z0)h6kO_a;}_8Z!7wDnk}GSuGoIe49L%j8-Qw?X&2JM8Ijs>2_s6P4HTddC}h&G540 z*iPd*CE|c)9r{lkMF#dOym(k@GO)Ap@}ao%@Gi`}X3lk%$+SL=gPW`9M|Z1Bk$n}h z8Ams{T`%H=#C>F3uR}MwO{m*ifPQq#P`Pzi_ubw1bl=;3A6`)$z)Olds3r1v}AFB@U^Sgftlzzdw{PaP50g^s=3+lbHJN)b+%ZEG|@(d9* zdyuOgu2t2W@%V>d$K&s)9kZ==)Dpzw>;DZhCzbzu@~roj@_)d={};vp1|b)W*pW4< z49Ya0YZr3iQ|8+LSpm!iD>gOG%cC8Qcd#agw72>{=+%=ob+x{Ct#Py|Ygf(5`$rqV zdu`L6=5ftId-Ai8>yZW_8|wK?zpJ(AY8^fIL7&6$gu67oHj^c4nJ0cTZjS-n(MJ9Ts z=?LFYT*Ji(Vo<+2KZE*NkT2IMp=W=#)aBnRb)A2}YJKYQI)++Xv=J!92Jee;fWnm>gzS<0kP$w z8t;f6DTde)zO1!9et-NO;gD;3@uDZRx55VGn(BKIoY*UkY8=iI$G;hk;!!^j`k!n+ zkyd7VnVd3z;yf|Wl&R&3;!T_>KEkPD+8ZkogB3bkoLO!zP8JuUgw!&eE50f>2kzYl zoGBI~9*d`nqbeSRbH`|`n{e+YzL{F-L8Y9iAY8fWaN-UjE^7|lx2(6eB0N7HCyQsQ zT&!{#XNx>p99L}#+%z`zzF2J(!toQ()H{?@JRGjrnCRr_87NfChTe0~5bs#@@#vE# zpZH4j95`ZUQ84Q8zY5`WrPi2ZovsHp9@cnNVsn!-+{w54!OlFU3E{eK=q{Y2=LpizZg!;E$!4dT4L7Fwtutlo4v-t$^SM8 z_hvInLOnOl@fIK~pKbBxeLw&E%{c8m@qLmr$$9DUq%&wj@{8InFvV;SqH)B_xDo9$ zY)Po~#%1BD=i&C*=H&At+!eNwc+p{8#|v;y?jUk3q0?A6Cz+kHIt4l zk+KE$4xEm%`St!@2YMasb;6#Jj)b$3YtKk0z~xwtlD3Ix9Ff!ac;6Fub{xliR$6_04#wHS>Vz=1? zZXnL=?$6@}CYiR^F3wU@f7$R01NGTDkAeD`I8DvLdFmxo{OJbHRpSwBHWJZhTLvE+ zd}HtHA4%GW5IZ{|F;VKiYIl$XRHNvV{X)qDzts{_zZE>Gf20bzLW}d7dKoqH#f`BXWNv9&Cu5-?I-G{hb(@(sS%w?pG*r)D>G^TAIwu zm$gu@9lyQ?<}TNY{?mPU?KxJTd}9kV0G`hdjVDj+%UsJvCX^V*>X4ebT^l_+=XWSL zZO>=rE~t!1a^VTy4}1`VYdr)<>Oj^){qATP=b{(p1223{!*b~8c|hT5OUp{kJu+hX zJFayC;ORB>UGRb!G7sAX&#`>rXrhCr;KM(%5|G`!sqfCk2vGA2v;UH{b*SDIxbVh3_(rVB zG}|0{9VvGae$n;vcgjyP9?_)=*`~2a8j_VaR@z)?vN_^n%JTiFM^UW8l!IffId83e zi&dC%-nxw%OpLg^UgdF>$yK+Z!3W!h->Lcxt;0uDn}YgFi;%g(V!C5-Y_%0xE2E-E zM^B8N0{({WQ5Vt5V>n9cPOF_?`)cjmwb{;thf&+>oUC&OF`D@} zl6s1amkb<6J%-0L1C^JujL)`U#KWcR53a#`%4<9at;Jb;iOt0`kSQY##W%pCx(t8nc@w{h_Y9>xUuk+3 z-qbNP1vzhgshQ0(aLlw8$4n35Nx2^veSE9=c#}c16v@sfK0RdCQ4aKN+% zE&K9u%yg?oL5tDwt#0CQ>HcTKP=YrB9@Zsf*A%v#(rQMlHOQ_hYV{O;R_^DgO|E^hsxNSHv+G`GqUdGKpEhe@O+1&nM`$O=vP9VngR{LUjT4OuR>2R_` zM#nWsiau@pt(Wk)CK-P#&}k1E_hq9B(`8eZcU^agTMIY&P8s1nuite(F-}T=2;g8MeliFvMX)jU$e{2!5eL|T& zIsML{>eAW%=lciyk3`Ac8#a110G})Wr<*9X8*1CPdO#+Qdd?t%)%|&&$?m!P^O%8C z5Xs7_OZ30a51fW0o-D+(p2Q&!y|9z0yA%&kED@EL7XFt0+Y0z(o8XgO|LqozdLF|g zV;0cCLAOnu>)lWr5|b<4lzsfrxv#?i{h$7i|Ng)KpD{CQ#Z0Rebs3d;1MvHZbG#1qHIC~b_^y%-j|<&X zq-)VGvGNYpV63j5`@rKMPblY(<>|Q#o?wJ}^|(&LwTEJGUScSlT94mv37kid*NSvK z@`ALK|+ zJQ7}T)DgK*k;$4g5>CstP5?GFUd#OUzQ{9}2-gpQC+Ac88k|$l@Ia|=Y=9reS$P#2lMcClr8dt9vOAKST_PM5>9^Kf49FAUOT0&y|!fS;JTd4+N&S% z$TUvohL(bJ!4KQCm{`x>Sx_)S)%PdY5F7mbULIu*bUDH}J117~LWz-i@E>quFA{Z? zZLvwaE$ltwTx40rnvI)w=-6$@zb`e>Z`%<4cB;(nGKJXmuSV?Kqp~l{zABr5W0BS7 zP-G@L`Rzv^jk)Dlm{_+B<F*kxfE!hYS6v7PfOU&lvxwzanS8YgDeQMlpKd0v zhmJ{(S09FBl0+Pmq(^5&--}*~1g!lrf5x1QnT5^&1RRQNuW=aL|3x*^O`%n$v!5~@ z{T`#22D@=*nO+(fYVk;K;b)J(Bkvx6H&nrh9sZ6rc!&d% zoY>Pi7-7%tnb_FpH@tvN{mDk5dPSp9sVL8uP+k7v3RAIYc$4HNtXh|ZuYJnx{0pRcO+%truGz{TYMEz>s>ZiUYqb@zVN*X(`Fz^v zOHoqw`sW3R1)GE;k~6J0w>j_yk3$&o#r_z1U!TV@$ck?^+YTA*=U0HbMC00?K_|Zg z^u@T}b`Fj|wqcWg==%pqkl%rHuVbiBG#=$r@1RhsKWQ;-F)%Nua;oZwi^$gzH)YlA(jQV=|P zvpPb_r<^jG`!V;~p>0x5zUFbR2fru1E)6So{K}@*bM19B&ui-xuC;{M!}#Cg?7b;H z+VDXZi{Z0;uEmb<^fkznq50mqYwbCtc2100d%hE|?qAltCuQR=a%;~AOaOyaFpg&} ze4+Aps&y!%9;tjEu35*VRIFMpx_;xYJ9h6g;NQlfsr52!jahwwNg=n(j5kRkTM#pJ zyzIHMg*Iwv)f-ZcU_rU7omLxFNmIJ-h}VL=66XAwz583;{j?9Oh6LGL2P|5;0^dQ6zyd4MKYp+Zq^!s zD4;d9r{fKGXp_rii7p(uXekL}wm(aL+QG=}w zwlxSKVPaM6Mr>&_-dlkvpS|xTAwA-C4X2q6=QUj1FwpQIQY7*l7ByVaXcgXG=Qh&K ztgkeB+Gy7Y`|R87V;?NSo9oR@wjc^aCRyTE z)5501QM7ZO+3uoo9Nt=|G(XpT*e7XdWL@+L-&K-r_@2S~4;Bl*$ttOZzae1E?+NRbi*y8@#`d;e?tsk}Cgg4fOZB~4dsoGj+*_u#m z&GvV*X=(k~yt7{Y&CPFDeYfVjwRl5ajLq*}Y=2o1>d^PuNMXoE62moYcqg<=!dq#k zE#!u`yH8EB!mGGH&=p`V-bOEOpJwBL*co7(X$`jvTi{Ws8nwK`w2n6s`}3gV5+zw@bVr{5%;sb=U5~du=M7xUc0dkW_rPi-l=`&_gUCy zU!OnwoJNvCVV@jC`Y^`lUcU$Z=AfqkLd5u->i@KV%8wa8o=5BIQKqUttNGuy^`lmy znt%3yDL-%f`LL?giq?Tc+OorC!Tz-p5}AT z?}Jni+6h=)%`Y+k8@ahI?E+)w{A}tvAVucKGuZT^GC{Mho!d z=Pr7YC~=w}ur_HY%-3^!Pu|Z%yy%LazJ3sL4$2%$WgQzA;=7)E5j#Q!FKeLzYp=J} z_hIc|2%k9KFZrB{oOCGo4*6CVruK6RUVj$3ZV3wgptV7JUcArBM8~@(pL%`_L)G!wlBV30vGaz##$Z0QpEh`VNtuFOA!nV}?6C3o%h>NxN#W^t?T3>!&T@PRIhSCP) zj>hOYY>U2NNM-KBd?;*?a`-u*^LoUjq2@oDn*Ha0`yc=F|NCDf;UgS_cQ6s&!6uV5 z&Rl}!Z>&&t%4U~agj|BGayJn(Gqe0$^8)=y`Kc9>P3iy43i0OU`Q$fK(8DbI%|G9~ z{AOBIM%2crOL&QX1xezJp(%=*h>EW(@ftn#t@UqBt8&V`Jg3LN*XQ>UN0V4}a@CcH zq}hueW{jdqMMC%*^BR3)wQN%jmL5cE_4$aXSz$Vuov;3|`e^tPTceriz0xFh2hB_L zH717UK0JvLHMf|muzTFwQkk$&I2M&DEW zPvjUdeumx4p4ORLcTwHrbx+rQS$7FuqaQ}{_KbS-%}aD<8tgQ=21n}UaKz~310!5E}sANXKFW7d&9)%Y5^l+FHd4Ps<&+9(;;lV!#MeT=lGJKk$xNX)9$xUZnG5r#ZuIp{S!?9 z&Lhtt^UIfC79*v4+*jkjnq{&LSp5IwS69Cp`So(shMKk2wtll84FK}-l6~WM+u&pL6G_l_yA|R^{DW@kruW$6?oYZu zH5mw-5c|S*0Fz9r^VnXqP1mtyrtjEpypkW^dl~$Z?Y-}rs25ghTY-*am-^iAliZiD z=ePIWiC6UdO!Ui@zPC)zu_SmV1^plOpJ`)XwwqpKp>*dP=2iWCysTf13bz*r%tHLj zRpXzy1Jeg)4BUzI=E8xQza$`~`NXf2f181q^#@F!G3FgG#%121&8Xydz~mb&Kq~Xy zA!CQ`L2t2Zs;*l_#=DGs9q;nAX3XQ7QHS{MUO!{>9M2sGYd*IP#a!s?=aGIkg=__> zgJGVBmX?b5JZq`P>-`-*2XfbASFT4r$0PeYTY-PTYP({GJh_Ie^u1WFWr%Jh>L?qO zi;n!i5gqbHE<7(4jK&3&p2&mhn!=-w607j8orm#OH{j*N20xq6 z^7Ut+4e~|Dtbrwl|DVaHTyz{YCogERA}2LA6i)O-my|r=YhBLCCr0zRW*ijn$)(IA z_hC(p)-gEP6Pu*u5gSz4-y?hmUdQNJO1n z?pn&93+L72UfZA!hujzMWeenv)e*VRu7#3c133MDApnfXC5}w<#FnFMo6iYbtHsFk8@xL_(rGsz0wYADNM6M(v za%E&SCijM3*>A=x`%~C(7bAdujIFwK2=$hVO~oZ9`7(Ni$-TKKA!87qXpBwOmnqv^kz7Cu4Lp9G~1J3l`2Y98=*1^-zJa}QPb+y*lx>f6L ztyhRa)21(*CVVs&uj{v>zR})~_G43h`lCy>&e3z!Ia+`a^ySTh&7L<) z`#2rRyu+JknHInSv#AahBYytr7=)g$YjGSe^I75OT8kSk#(cINFZ9oSHXg6>*S4CB z(!|S9z33>y&Ds7p|MMxWucO!2I#erSzb&?PSo%epN##xa@&+0^glZL~d>v~0yX))S zh+(<+^#g3KHzVvk7s2K?zg>Z?b!c0C84)bpRLh2XhqKFh?3_Y4d1~AS1e9+@Ksjp= zv9<34lfJvwwDc`*pMb4&a)&b=@;j{Rv;h@_xRKu5sQ|5e$8;Xoc>-S7pX_`UJ+)H0 zY%c6=ElKxAvA->%I1~$cu%$9h^ zPq}FIaPg-{C}qrz@H)Jxzck>92?pQ%^B)7p3}i`T27+fG5d0*XJzN;L^p~{=1!pwN z*k33Ax(M6jQ@=hk6@PNjewUl$E2i2{JkoKQh`R<`;&5%B|HT~K7q4@0@70aDQ#a}% za&YzEww{Oo{^c10N?s7p0w==rK;t==XNX|Mw$LzM*=nJlJAxDaFkbFQ>4}UwqUTp~ z;fH1RvxuIdz&lpIG#uqxr!<_#=sEEL+EAZUuB~yU&Ar#tYtA_wOJ%KX1(ZC@2aoee zc!RO>FrMF?wexLU$?rpB9AIcuczRBrtoc7o=7Np&en0l-#$totS)Wy zoWu3VWbO0t^;+g$D)%dta=~bxt87QY_^qC!srnA6^E=j*)2{sAC!a(3a!o&YoO}7i za!}@4Dr=!(8^Fliv3dq$=OX(HRd%W8mFw%|*w3hW#LL?C=sTWu0BgY(!dB2Dr>*Mt z8d_J+jlR`0bM?6cVo%A5afJ`;P-|a*PWlr;V9dFi(seL*Aaj+z@Be4+y`rN!x^>Ye zgRn6OFu??2vcVV|OfUv7LTN-}{{Na2{&RsyV+o*XowKyK2qkkgLBfcwPhJ#$0gz z_Xj*n54V2pmq7V{B3Livemw5g)@$=#1uMKjYbQ^zq?WcR)Rb{<2e_seJXZj|=!#7K zcETqWnaQ(CuoVbPJsWt+`~&Zqg|%r@=EQPNtch{1DQgQmVqbKK;}Cl?_ZU2pky^qR z3Z5yazPvA%z8>Xb*NOGp3t-386Meo0uW@bR3zlmR+qkxQO>-`~q!xzAY|K5zT5OXN zr#=JvHMzLP5M8gH6DK?;O)TNwXeXq5@FUbI>O5fRxbgq?-~PcK!plmngkxbN3KpF~ z_z@%XV|5FZ{L(ARtinlVN0}>S-Y6%7FD;h^i`K!-un{$BS&^1Si*}+aZF0HYbkMc!12u<1;bQ&j|$(5&|7A?;>xs~5l-j5)q zlStQ%L9*_O&(q;_xC*yJ9^4I2KYylN4tLNlWjanik*cf_+ojw=ZRLRAiD*l`t#ClFj_lETxi}r&sy7Eoyi1VA8?Q9D74gsB#q+=M;w)8&7A~7xZGnTr(`sw$BPfQnvCZD^()9U> z{fgJ)kSwH*gyY9x>>7+hA(Is(A zxg%n%g$RP$io!>Q-CrRcm#tpnRQ=ZDsN9;1gxoxJhFX9ys8#4r%(|_qJr1b?NOVr{ zG_|y6T+dAif=cOmtLNNaalO{|%JLUOn%R3LoE6Ev_u!nBq52h{?UU2z8mhETK?x*Z zTfM7&A0rue8cta(ft1xRzu$bEu960v3cCpRL*&3H1Vgb1(%pgg1{NX(mnW`NRS0P> z&RXe%b5u?M&swL4oW*%7YsedQ=Gvm%4?A$$N>e3}*jjH1iXO4vDsu$le!H%n58G95 z;v>Ij{C?{9%Q$m|t4x7ysL2@11}Pe8x2MPC`cGW9k$B52f~8~EqsHo9B;Teg$HaBGC0?V#>L#4Re5H_lJ&Rp9 zhqd;HRDB&B66A=dLcQ#Y=c+yLbgWyErH*e(FBG1Op#AmyiaY8BZ><;fEZFxQDBq7l z`F%K{gzrG-cO}<%fTgZE6b?L6zg@j{Yif~Vcra|u3uND=F{EBS7o272Q7(MBt_|Lw z`n6Cl7;gZq=n5u;dcfHn`ZWqh?0X;+yvT~JAs0TWC2K>Eco}Xj_iAcsDtyz{U*;O? z5*=JmFjj#37a6Ht()9w_3c#ZcxvmAd%-zIt@LoVIJ(oR*3u{~C#{HW2X4>YQ&%!-g zXNZ1XvUY>-(lVh=TU=WjBQjgBJq}%$wlB7Xx*htWr|cOr!CR(%LoU}Zkpk<%J(zM{ zi}u=TzSv%8;9QV%h>ZGPtW7&IH!;)^zBw13NliV)*Sde<>-U@XOq+rep2&r7UduTr zhIlUqWtv9#M3Tul({*uRzuGN;RPc)q+SEB?h)7L z*;8y$Zs}ozFL<#flo-x=-!kXgrFA*CG3Q$Nq=AO$2v#u8weU&#e;{iU$9wj#acv7j z)}%5-m(+akO}@-UpKH!73^#{o|DgE>A|_^+j?&DL}t=ra&1TT`~n z+^6gdPGekHb6|hAz0w!W28{cU|NLhR4vxOem4nD#xl!t7sr*vUN=+=y- z*_qteq+}7|(vr}ige^(vBFoT~Z_|R)k>KsC@)U_?Ba3USP`NG%$acAp!{M%)NpO!H z)y}a;=(+g@`7ZNR-COUMH@}QVji-6F*n4wVtqfFqim1J`_I4Z(SF0YJj8n_T5s?i? z?jsLo0ctz#{OZtG8HiN7r|RLx>sYnTI4~Z>Q85#7YB%fo8jeiY?M7Cpm^C`pSSNR9 z{bU>+PuD+J{|YMRPH!-yK}>_yXg+e&-*zMkY2nPG*%q=3b)Y<`1a(K%&5dXjgLpRP z)MUZsCap(Se!cDMBvgc&-gpHLlF6tEmC^Vd+K)U%5;=2g&NYce>yfmk3Fwx-vH6MS z`OO!!u#rBVj6>ujb$pD(!SPzl{Fe8SJF^Y0xO7zoYPxd1ZEba})eTiicW3MA-_AfK z-Q;hNqR~hZ9B~g+gxiMivQ$>hZ5$>GPzmY?(#CVz#^Nw}5E(VkkyFFkPY;k&!=oje ziX2CsT~^p#gCpj)_P+YMJYeqnG5bgFkBd7jRZh8WI9hr;KJOUODXP;vG!xmbYC=VJ zUaT@}Vo?w3!cX}>J%nTK$xqMGRD`v5*;mv92OWE_&+nSi^?BDx-RPuS)opdRt=;w` z1}+`-cHQc@dFq#ZbYm}4wRYn|6VMvuhOYVK?h(;rL63!qep}wdM#jy0ooypWPUhSk zRW*0tsblB0p7YQYWDAnc3wo{S9gkz?>fUR6Z^B{oK<`6v=w$MK!1=s0YPL zP}@<1_c_wgi~5{GEvSpC8Wh`tyzD!<-(vK1=kb$SIrq>Q+4{;8FhHQ!*35?@vG<8d>l$&{rdLT*{BA!9W6l8eoI$J(^$9weM#%NBl1T~M8glZ z`?xYP4|RB>;PxvRH4znfk0D>j{$s@-+x|F&c(@0u5-;0)%t0di?lFf|qYt|OZsQm_ z7st>QV^@vM9Gg4#Dh{HX$ES}kz(MrMczVj5ujfVW;HR~NPWU#1V@?k+U8nx z$rBw@UgBI|w?w(|yHnCV*!tdhUGA}nWN#t-5aT_gz9l$K z$@5@NzUa6OnOsvSah%KVFz3{>F-SQCYtBucS7V%bv1MXqPHGvpO}@-2FA2kI367L& z6RYIl1v-}rJ`go+I_GWmd++3%cKmZ(n}2)%8uuuAf4NV}fLBA~)crejsORL1O;XC; zg5exI!7G_z&(xDSv4SJz+LYN?%UPjy=tr4gNU1}N*U%L{WrDRZ=bBV_3TM1$CZ00E zvRA2zC11(3Ey0Oh7x)}XN6%$FB*5QPWI`?I*m@|Nw8f!cFL9KU$2s|yrV5WWpPR_s zucvu`f|_!E<^?kWb7dPgocg?;pNBcGO{}FUWz;7nk8%#b4*0SbDl&6z&c&YKOxv6j zYdNkVSdp2pRb*nv>(Hf+$ZSJq8FSNyV4XbLF?Bd6&&`4RHizOncuu(&dh+?EjO(`g zy*9CG9^e{+F|WlrhX;e_I@3P+7KZ2rqQr1GWr29Mfh#T#URJR*f&<%)9QFUf#TE${ z+d7rqf1}h(ga{tM>Bw9922Mz`%gie?zf4A%6J<`8IgPfDZ22fT{>yM$+N~&r;f(V~hnft{&oR5-Kw$AM@CL>>m{Xy1L-K_F;j#Q1%C!=N6 zQdIb0cD0>wo!t$dQ+;XmL#To~vj$6GO|H4R<~no&xrP(bgPJUP#kPyr;V!$c3SRLH z^r+U1+S?E;xKf>hw%`oJI=6*51jJV5 z=bAV57d2SiV1;syrK7rSRKq!_Zo9eRj)s?TvI$2^MY_dS`2z{pAyX#-XPfQnbaM}< zoA|E}z%}*~r<$2K)nqh2focJF8qaT%h!f4FCP_^X<3w|&X-?C7=n}HASz5DnWbv#( z{?3u+N1I2rh=H?gV~cYLIee(jI1^FlHm2p$mRoh;;RjVEU=^waq~Wx4LS^%uhr28f z`8=$8o8D?m>uj8NV%2#k7jHZO7FVf_G}b$ksK3vtq!g92FxzCVPlo~JnL zT)}DQ(GTz2ZD@Z2uCp~iCa9B5REOCemUl>m+w8bM=5=NX0h7sDHU>PciD&@B71SNIo^d$60ais(EIasb;dcMb9+|ee6t)qMArP0pw2ea ztQhMR`iOk6iYzy33T*A3iq?o8bQGBfms*MnNPHAJ363;YwoO$v1dgDxt&Pl{Nxe3p zqV4luHqJ1<+@8z5SvZT;19tW~+vf?+EmQjL>YLK{JWeiB!7XqJ}O*rq11=k;9^f z*~50>baEDsGWYOR!!HlNinGZBR1r7;huKkd2-*JIKAcO={B~AVt39IH65jYd|M#aj zpDY`(am02w%U+^C$O+V`EgBh%u*4;!mcm&UtwIuCj`p2RKKwCv%#tz7k*#wYPO*t& zC*d>_KQ>|PRutIELEFL22xj=qU`=R_I^x#BhY@_t%5DY0HhZ`TL=4;TpEaS)d%k7wXbHQW=y9 zRw!jMr<`lCL2B!@N8{xGz>m>#(*|W+Q&;$;+;hm(WSf!=eG(S}D~mvgbn*Eb}9J&}vPSLa$N9 zGKiNsZE!BO#U`l-d@ly&$Mt>5TJV;ZTaXjSAu^%Vk$Ev{@B`^tBG)tq*Ptz1__#-6 z)@gn*+mLZhxrzT%zYdq?lM+YTR?9@st7RKPKi+?$fg#QYhPs@K9j?je@L+Jw;l;2q zh~sOq^xV{yxlroK+)u$P#@84RXfo`|cLDADaT?>+RQR@DTO!B3nfr2)`>zc-b!C`* zHHXZr-y@I4xj{`Fb@^VClK-!+C%RP)9pRaja<0X$DYNvogeRC{d|+%ngfF!b*)`8f`Ff@MI;Ed4lZ%2_OOREw6)uHi$f?d%8b$b;=J}dLFtaA^%S+fU7htC1zPCsL{dB3 zLQL14$dAJvFjH-slMq9;2Py4YZ~|;<6p07_ET@(7^>LKYI-{$^awD98I0GG`76CX!9@~ zIX1^z$Knyc8;u?wV7t2-8(o&l%0+zGZS)S0Rn79Apg7h$G|Xe_I-BO*M?(j9`zZB5 z{}f`z_%J{7$EkRX|F}aw9@|es7w||#hOrzLAJXquF<~C`{oaoa?S-E&{(J-5*|&IT zzfVVnWpq2MiesHZiuzpZw3UU8?AGo()h6~x_ha4D5go=fb$0bW8+t1=KeQlJTH~=O z)=@--UFz|?$I_lFdTvw^VNXyJD*_MaPohuvEtROwZR|oF_vLHGz{sy1c=XOK?2i6P z1ENs{_Bl4MyAks>d(e6$nX}~8G1c4u#Wzkj{KS&blZN0q;qa(XX4TNsm%{1Kxai1dUVZKbgYP4*y}-IK9?>p_ z*bLZN6xH{rbR737dSZ{% z97?XQVe-wn^vT&UoLlFzyPmdKhkQQimRH4$rKWNq>|4>b6H zBzU2sXKA~#7Jb3}D>-q3b=oj(5hJ!d#x(^alrmyv{VD3i$(oeI(soGY|D1f<6q$3* zwZdqe8&q`UUMA?jukeKu>(|$R3%^XS`L_@|CiU~R4G*cF3$^}+eHSo+aB^QF^BVWz zk?ZJtl>4GB(KD$j7mUgCLhq5bZ_@^bAIG)v-Vn>RWn!=vyin2km(*duB)o0naIfZd zJcdm4O*wg7`*{Z5Ys^L0(mbKUcZ2V7;9bUA=C;AJjJe+q?#By0-*eG1sru9;0_dI$nlsG?D>slH^JLX)j>w%nn zk-0S9|9Z3?!GDU1u1RH1J+E<{Vs`X3i}3v8M5gJ`dWmruRS=!9jta*o#C=k;5a;Z9V#U3 zLXCv%;Az!o!_{%U`l1^9kQu~N+{+s8;P6<2a>s{i9z%xEHIzKgM~=|_nvW3(#!_XI zQTlipN*|xXiEdJ@s9Mpr7T`>mj8HIdtyjn#nx(?Q?$lmeXB{$zwyI#T!a9#oxNLjf zTr^0Z^3|HJwtsaAXS>-dQ|NZRd-dMy@UOY`7u09y*KQOmyIB7c`hdJZxYw=*M;jbd zCCg4W2yYmLtf53?3f*h?q2W|GMdCu({4XiwP{`qsBWRg^F63dz2b}tj!6mW;CCpyH zA+i<@k*f&r%026Sbp zc7Bh4c=E%`9~QJ*gqD8W+9kEi#W`?N`zh!M!pxzI?H{&(+&&g3!HFGW;ry7>Ay+#- z3Q;sUw&Q}1tCjO(a;GP7d_ zaZ=Z5UE{iL>$b~Hv z_n{xqIb>ds)!OZGPz7-n;FM_hT-kG5&rH-}nA9u0R|EpNp7i>F^Wq8wb8S{`kk`H6 z^nRz#jZc*WB)0D=lu=IZyHA}Uea+K-;ak&mg$7?~vpqOVhNGzRrT%yOhwBioizuud z6&4c~8@2(#Tq&xt-y8&UT^X1?@H*Q1%^tK|l{cF@cnwM|Cm^)zFx(}V24|zK-<`p) z2D7anoBD+hjY3e@-Jv^B$6*h`xz6Csc^N0p8N)ZCwfYITOjiGTSUF96C(f&=>cCUy zOBLMZQ8`DKarV5bD?9M)d2&RSs_U>q1$Ipu6+S9r)GWAAw&MJ`8%~s02=j^_y?=B% zPNK1Y>_L#%Jssr50?n7lTt#r#oiT54A}ty-Y3w4LO5@;GNgTU>+-X(kA$@!X94mzg z@_L1u4=jY{OB+(LUcD;d%zChj|IC_HC3r`bpyQPs-?zs1D1U3@d(su)`_|Im$E3s& zEQl|Cr^HJ=ob)u@@xZd+7k?Q&Fc$BYGcbDMMHI@IGZKTE`tC$?$y3%*gd**}s>rIv~=9fSSZ z^U{Y^&8a12Inix(kj2LyaL(Q z^Qt7^>GxFZntc7wK2(jy{^+m@|HwuCs614V@&?}w-d^2<0FVPUyfv=tebEd&-9D=J zL$7Ks`0_Y{K)eV7VVx+3!tbt?QY!;_(ouMhy{=A1o!fPM!R~WWnw5d>7wgTcAB|k- z-RgPu`3CnIOvjUImS26{a64*4JwT@OVuW*SMmWcdM)6;-M62SR2u4qCQqc5a(-#QY zc+)Ju`Rx{yS{_9$sM9(q!}HBy1fH{`>Q;nboI?1;hBm2fZnl~7-P-RCVPC@54f)?) zM3tx8Z9lXvLcTJJsJ1(UJx5ggIqjDsV>zq6js3=}A8&NXMA_8Mo#u32(%J5ugk8nr zE;gP!vt{rVGz?}C#l4@8;aT%s6%ziY+Z1aqo-cd4A5vvdH=+5$&Cmt@ux~z5=F{XC zJtm>c*b-zJry{SopclgM(*B_NdV6OX^pbfz=6P9w4K4)7VR6&y8C;{;2tTnvGx1pi9;Lzo(hi zgVU=AO+j@f^MBQL{O|s$KRbc{hkd$E9r>Sk!4`)b!{S_jt`$#zZpb&UFLPq4Cu>EW zYvZ$53aO zX}+mXo=5);L{2O*LWOVgOdIChkA)5Y-1s}WwQW;J=EPg3o?t=ceIYhR-!JFXsfsm+ z*l|)~Odhekj_8}z#5wf@M}8ogd5@-@3C6t@(=+bD)^pJ_*IolBa#GqYX3u<|^?PH= z)f~1wCD@})8!`*S`C7=Q+(mgwuSet>Yu>AKF80Xh^+ay+c`g5tYica{)FJigIsY%j zj!7-ZIf&&@dK$~MDHFNqo3B-PLPb~E({|mUpkI z8)3DF%dbEfZ9>IOdWV#Ur%#Xc4k^8|xALOT5>?DV6rMfB;n~wX6v6kU8t%caiHU{2 z=S`atAKd_R`F2X)* z3qow~A<=Mp-OUKFz4z5~JWpD$LTk4mrSMigMhGx6U}M8A4Y#YE)*L)1idI3h++}5< z3gR!2Q%_5zP{?*P7g7W{bs$2iV@?Sc}E*{_lhTU#f7%pjAa*%4>TIJ1+*iK1ZPI8~FT}wZDQO z*O@=Y{jI)P_7TjB3_hfYN8m)D`&QT2tpF*dzA+#?G$U*hoW zrT|ZBrlZp<>t|;4zSw&bLRAy{Z0)lRX?96{j-e?1#Xi~CrA_La-@M7M0(I z=PrAO9UXQ8NpwD6|3mEL;)kz9$SVE(m*L@GgygxI==ypJfvM@*qi>JgHuA{GS0fpa zdIw2!Q%BDoy%W`2o{rw}#~Ji|WzCitJW08s`n@teZa>oFCXJhkI+?lS){alb)06EJ z4t@0Vk7Mol?2onMPk$Ml`DM_wFFt<$K7QuR&mZFHLW{5Ev+4rh`Pr4VTYsjVHbrhh zE^}hI_S-e)!m~Ag2)^S?J<$~&apcLMKR|ebAr+qBgj$9^F~qt`_ztGd1lrg4R4-It zSL=yQ+K{LV!CM;Rr-oeg6c#wq5n4=c{9lQjlo%N% zKhWF?a1FtQ=)b3|oz&L46NuBVf!F<%O|ilEMCPP_8f)4hPubCP;>ox5+OHc5tmY}1 z#`)zXydN&;IPbx!!!>b!K6SV@c$P62Y#<(O2)})(VH14647S7ud5pQV!Q+s75V=s{ z%lq$NL*J|Qh;`y+Z9``1_g>y(x7IUlS%wXBP7H03l27UiKt(1ty$&5yUoa(6u}`@N zc4%Aiv`x{Q!2bn#ZIB7h#@zo}VMFlTC(@4Ks!|tgkyAz6Tf9IZ(zP*#FucLu*#9iWa@KZR}Yq8cd(lRd4r zzbrvN9~Q6&p?92vn$SK>=;36J4zQk5| zGafjG!)dw@Tj5e=j%8;bUcna7YbovjKf?r7<0c|vWFU!#=bxo<9ha|v$KC9R5D%~MX#Zw|X?`%L*%OdlZh+>2Q#q{NXEpU>-1+B`hkoYjr4(Ufil-6rW;7ZG^CnQ9%i*lCuTV42;o zcV~IU9lGiTi_?Dywe=&<-719kQja3IMt$M4b5Y@92OfDA!Z8}(dlg)wS5zH~RBW%G z_gRA8PIQ6N0lHLgu2WSW*o*=5vAyOa(F=Ga8XabbrNQ0#SOwLl3`~Qo^DbPS8?edF zfpe1~wQp1j#Ug~&hNGh_H`*8K86#gFj`0OmR_sxV&l77?7AQqjOdUGPpHUb?JD6q#MxRV z7*gk4Vy`TXB^8W0m+O*>oK)t-Dh#O1MeZ?V#86I|X|otVfXs;%+oEU6Y2RF{Ie5bN z1d==Mi}tDKq<^uiF;1J7LtpgB7n`Pikqb33!Xp*CoD0VOSJ%?=PN8^BdM-BQchmyk z<&Y8MArHeZ$J}<{C{y-?I_}f23%*>}iRap7=sVY@%nO{kE@^HBut#0D!7rw(zY9c< zGLZ|f*!}B!wzWNCZP@VYHTmY}opQI9(T)dm;w^*cw9j=2FiIEmKyva-xfk|47$(o0 z+mKlp)DvpjCC{bhikkBh?!lumCE27Mv1w_nt*NEoGm)G3@~`Hm4(*w1Q`gT2#;dPO zx$qS=_#(43k8+ud%twRwl>ee(Gi)wrmRgD^z~hMidsXU= zGf;pa3C~J%Rq=tf*eXWpEGl35HTs;dA--;B-2%kdJ+I3`Yb#WdwM=A9y~5UT5n}3C zY9L7!QOiPX9i!^jDi8D_YzgOt*w_%BK-n~3&eX$@aBK-Ls0g}vWKCUF8^UW%W;9)< z$_Iq2@&U`SDcpe4XeY55jKUMr6Ur;izC>*Gc@tjgC8(sGsGgB-Y`q!JM-y9bL$=f; z6bWGb+-y80Wo2#psAs`PUD!72``GVSe}C!w8{f0x=To&Q%ts-#7s_kxZXc(%gPYZc zFb^$1Gk<)5=ckhqDK{UziO#5P;hK(X5hXVnTS7OUogVAF06A1wRME5Nc#0a2P2e%K z`^@UH=;s62{#}G$dk;zie1K>BShqL7yhHBPDJuc#|DNubx?fZkv~S@#>J#)KTH9lt z+U)IA1pxR&l^$+x_-y1%t?K#6|5TM;?i0P2;F;=UZ1sxp6g8snw7!e_uIqb9ZTMF7 zOUAQQW=whdpX~p>zprs8Bi!i!ejIiIN&n9Vz8Dk%5BOeHqU^}vjKM5Yb_tt4Zut_2 zq~N(~A&LNGqBz-6)syJ5KYJ>D_(i1uOGl#l*x=3lJw|QruHw0>FJ|pLN|ME*4A~-V z?k-?+XQKkPZ0_caS%HmRF5=Rn5sh{gUh+-j=T7)b?AbKNo=yG2?<;>(CHQ5PpjV%W zJ+mF3SMzhpxqoeZcI7iH)a9_jbuk|04vgQfzJ~0f$oCjnu_ILO=~Fmj1uwMN^|XEF zTJyJM0)}bVIkz;PG@w1>JJ6|X;)~q_biA-g)i%3 zcKKcdYiT?w`zMnA1xKvDN7pChPCeRc%imgz6Rj>Y{JkpR* z-+SgUcrMWa^>U6OJP+6Uby#{%Dsobp6KBr3wjmdNj|1z+gU{E?H8BbgYQApr_;<3v z{~w{Q;@1Jsh2iFK+(Qdsg=c9w*CG0PUhrZZ?2&%dXV zX+29*;y5QI#w)l0_d$%)KG)>){h}RNyR{v!p+lL+iPgBapp=QeZyx*{kFDAb__zP@ z&xLT%o`G|A147momhtHNN4aHYtBu7Hf1|`#WuuYOy$)N6ljXBf>&UKfzQP4Or%JDQ zsp9-f3o6~hh9a$U9#R69;OSHp61iiltW|x<>6E>P4TaP*daT0!qv42UBg6~U?BK=K zGpk?2v#0F{>)!=;>v6bRui|;ryP7t(5UgLs7KfW_F<@<$!@Ej=~?$q}UavDBT8-}N$ZHR262PG%Q8c3ymMn_7x9?A5;x27NQo2WPFF z$`$c@Jgut#_xSx6!Ee3@I)Ms2{6GD>!^Qt=3`Gq+OaH%%9aGM^tc42h?^0Xa|2z7E z<>&D4+W+6h@xK1fz5VZ8=f7g#((l*bxt`p+Y2Wi-(05+r?_675>l4?IdlBlqMxZsX z`(MF3ZP=f9(`T^@0#(sa$ZNSA=ED~;odE=U4q=N|A}k%y}k77(lg2=mD!I%@Q2GhEVHL6O=x${jMv>aVK5s~!%w(efI*Yb4g(^5y2*M{8fGeZ9`KdeiIetoOA3rUrK# zJZP|`;k=MDA?`+#8_hzY^VmkG8%_Rt%Gb&0lywBXvd(`U)p%ax#f_IV-qZM16WIunx1XyZJO8A-E2m)HO)3R+tO@*v#e$}nz@_LX`bC8 zrsdjJlUv8M-qU&?PVMQf&$qtVI=A)p*7>dPw|>?71J3bL-^So9Kj+)I-_H9s;oHn_ z&wP9F+vnfDN2&A0ZI-p!(q?;`nET=^wIxxc$ScA0pZ76pMF<9040Qzcu=p6gg?4MS4N$3*w z^ZcI|{Ji+*$%vBL(QSXXyWJjkd(*85vFqooY%8(*oY45tt)b_7<)Y)&onH5Pz3Elh z=TV=C{?q!;>%X-Bs{Y&hpX%@Jf4%?1{*U@k8?bP|rU9t~_73n2I5Hq@K=y$9aL>#M zTM~94>`+*G*qJbISYFuuu(x5e2ksoWc+jaq7Y1byx<2ULpbvv)58gR=&){3wBpe!Y za>#`tZ->kt`efLqqV%d3uV-m-l z8Iv>S@tCx+XT}zejTpCZ-2QO~@zeig-1~7G$8R3LeSFUNtK+@n*G@>7aAZRIgwqqw zpc~cukFicm=!04K(FYS*J$Od-pd3^Pm;ZP949NG0@P(4k;nmay%2*;&Vn}6f>$$9* zHh3O$$^;V<;J4g~HP`0cybl}q;Ks1@y@-92dWg~ABQA|2UU+>&ee*!~L>zS#R;Yd- z+{W6*oH&oB#B*(7{As*a^EZKV;;KSUJ<$JQzWUo6Yg^B0S8P&u0&EJ8)EvZ#OmqTKr2{*b))&3h(2v)WzlW-a z2^?RG2UP5du1oW{rp(f>S#WOf1;e?*XiC0U&lR4!28MF6!?_28_eDy+$SucOWWpC4 zCKX+wq7w)syg>FupEQtM>FWCvJ6^0!JwFC~CBthJxkaq`o?=bB$i?Pg-gjX9GU#|r zJv|q>$hfwRYdNp65HcIOPQKW2Qa{ePHt&;szf9k!r7@-rCx$Y<7s9udPVlPosJPIx z&&dDwkN^DVlv3=#y13L5JQ88mg^8u}5W)P!uo1zOq@4$nQ+vSSNZ>(?`4?wO~ zI8pIT#hgmF@dzZX@{P(f&;;i=9)aW|H0Ralv#MmG8bUZKAta%W-9c1CxPXTt^sP)o zHH6LZrlhF8sC*E@fSj1%*}6X}YaiS~M^uL8@ZreQ8Vtv|ga;${@L=Smj1fpVnGfI~x(_i&SpkraIeINX|k8<7C!dg!VRjzdE5paq{7JDfD+k-Bj;Ly;G{p z^Ywa>2+Ubse+{~yx*LQySOnio7D94npq9aAbUwY(u(08?hH)~xV(mbWbl@>2sylRo8>Jx1E<`Bv;-~8r1G5`;$wlk@% zPq)6=`a$bw*q`~zF}vHupf=q(U5J_0>1M;*lGpb6_uJ4|=0&?1?Pnt!Fsprb`y1_V zs>t;1KV~2@{l$-S)T5Wkj^|Xte-)jckBBZ?~TLs?~dR~8{c z{UG|19_ewV$Hbmf@qmUg>N!1cq9$faCvN?!{ zHd!d0yZ~KB7vq6V`iRUC`6H){^7R;H&fx}lR344mueyt-AzbFeA5mlGqm|2j6it4J z2RN6;t{!(4okLX?KcCx7WWSaVwf)a+p4JY2R6FRn(XT~5i+}3x09MJLjg3 z*c3_`=d>Ynr%cvP>e0GRzPS!$m-oi+K@(@2*Ej6?W8?KbnmWbihK}%QQ_V?b4m;$z zu;#EZ1TWOQw}5i3>&F{5Xwz-11@m_)^*JnUgZny(R8>JsUj!{hS!;x(p0;ZM~+9Ys&x5p47Bs&Wqg-?1{}l{J+TbYxQXAx66CO zu=G%T^0a-Ss zbn>{S4U&*01T$fqCOe+>sl__oQ%+@;q-iQ`G@6Ro+!`e=!-A%ue_tqL@{>#9zlO zr|QkBc~$RJos2qWGf>5BdA0r34yYadMC{}ff)lZe-yeK2_%gCfGf}03b;~B#oL+M_ z8nw{Xc?i)`SK#WL{v{h%F8lJRs@HK3?#>OhcGfzi+EzY8HtCyMZ)?3n&9cne)9cKr z6II8qvr5&WW&_L3b+hZ{*S(9}(mmMWvzkX{y|dWQU$2)}?@7I<^`_UKT|W___F34~ zFM@kCUA1gUY`7Ks_>_=rReAaqoTCfi9*z5YovK9k60ub08eeSuP_>$T(fB1YPER7d z{t~KtY(T5YO)9|tdGq(pi<<9lk<#)!BB}~n7PfrY@=435EuUe>U(|B`H!IMDB@=u8 z2iWz`Y?aVzBciOfwn|2AvJ0(p(0tO1bHKA!J6o?tl$EIP zq_#8Ku5Wv+Z8n-thO0&_FTZ~U$LoEB-bbR%Bu@g@+s{LG>P|#gE$NV?a#MG9oZjge zDpNo1RMcsjYP+&SwUxYv-T&O5wjsb|J6|KVTk99kNbHT1(cK@>f7tb#TQH|^@&IcENc?`$xY%2vhtPia>)>~^PP7B)* zc7G2wMtDwmAG%i8A=`)Z!iyfSd%WrK77Zn5ApR-^=Y_jHr=k|wMg-pb!tQo zP2S?y^30>p65LtDwqs6ED}EpekVM?D>NaCFw_g3*r=)3puf zk4t~#{;?dc;{t^0=Zy7^O&NC?b;ah6-!T59%8Sh~>z}k_ZtR+mxv@*W3|{zUP#!8{ z%Xf;Db%K80Y?E6c9w~=Q-&T9)LUUUOdVvE_**D`I0 zoHk7xqU+=fhJ4iJgLmx0Wihnd>tBNnR@!Y<8_Ib zdlDLmN7=gn1Mjt5<6lwUuVDE1@fd62^FHNXZ9^_R!I7F+t_2?mYwB6B%ON&Qnasro zDdWs!t>ljX6ZL;%*mPs=#UR!qb>PXTJqvse=QTwx{7+HZadW^Xhq_*Xc_2A?N}trY z4~2zIk%=y8qQ=<)NwA4cmexl|hW~op`S4kF7L_Wg?J}?dB5@NXQ0?tIDQgcb--D zZP{25F~8z7q_`fhbP2oh9YLAMOn8C3g!e&3L2g}X z_)_KU$~l#DD`$N64tw)+pWnfg^=O0^?yqv7$|3C1uc&&%Y%#wJ&)75ZjGfsFk=UoR za^8CE&fg;Ba4KpIv$=eFwcKiVtIfhw_MO2=*qdhtpT_lqJo~}orY2qgA$>UT%n0QnMPHlV&Jz;WH%4;;L?Hy`z5Gk)GnqF$kJ^9M!+mPR| z5fxx^TI993jn?n)TYP8{jfB@jX#GC_n~mRW!d`qgvK=mAKmPEWDD1;;s@CrdzKut^ z>w3gIobcBMo{e4i*0$Hxv-j}tqrTts{WVkvcBA>>!ygv4TZ4+g$J<3C(jf))VT$k^ zezw|y=in*)whnvL9z3tZ5@a^a?No?exNrBp{ih`4H)Lb?&C0*FditK*CE@2iNN}Cj zb#d1N*mwI9TaR_S(yg#t^e=mUIq=J|U(!^PE33v_S9|XH)?@6p?d~hE<36DF+po|s zCIL_AGm-Afz4v46zGwDeAmt9-{_wpDrSxS#ti=9%Z_jk>z?Wh7%{su-@uYqis>`JH zUW)zpVN{eULegt8G9WIfXZ1{cebu+9?-JDh-HpcWx!8B_#8dkuL{>Z*5Eqt-z4s#| zy~ZQda`qqwS)Rf(`%BniM-JJHK+7almU%hEGxQvG))$7p9d>^B9ld`(t9H;=k=*+7 z*P>s;f1Cf?rr$RIcHp=3zj?8XW*)>1^p2ULddKWSHpEHnp%;x@s4^jTqGL?fsA~wj z+>Gb<=SRn@t}zer-2UB|I0RlUMKzhc@gMx{)>WQs6f#-e4%zFq7);Ny3p$X!}aD!gLfW%~O{WP%rrx#nEfLM?4ysOXuLSdJLuH3*M5 z>T=Dw&_McvHE~WnZ8>$#wOh+=2NjIiBPB-GA}1x!gTeU(<24D!0#EcTjgz%tgqnQ* zj&dzLncK9X`JBr&E%I>>GF*C1%Hh##Q%)Xbc4@w>1;e$-NM%@<3r47I z@B~L0=cFD`%fOg2%XmLbKIi5TTPBaWT(TDXq{Ny-VZifX@NXb8(e;8abILfkG?ld* zYvBo&^iOS%b7J{_?0-#Khig;UoF9kGv}ev~&s?i(0B`e5 zrtFbocnq0bQ!spueyo0-g838`eZl-!*VME0{V9sIpQq<8zIJ`@-eRvI_+`Z}sx=E6 z`)~g~v(zkAt}+P@hX{)xh7Xn22W<*UL+Q$ma57w~d>KcXdzB+Tdy5>Yr3esm zD>p*{N>}m#!vt&w3SB@7wy%UG+oUk<+Sev!S+$MTPF5?ZHX9`?H^I4(8SF*%o)5vZ ztIw%EAK}v^pgwLa8x*WOVRR{tEj#XqV4w*LG2ACQ?9*I-qHH4QQlOk}HI zqO^ur8%86Udr!zAxFFslk(*uO_cl7*=w_q5Mz0!u!0~4Z4nSU2`tmsX#9zkYXCrdA z7O3p4tfmF(=<~MOjONRm$0O+IaC2|-$I2za)|iKp?9HRlyB2d>&Tn}R4vP419;sCC zO>jdb!42VQb+px)R*zd3p&a>4bc2uow&2^ha74UD0Mfee)_-?FIU&}!J=Hb~%~G-v zh*Z$_(Dz5b&&6RV{D&#+BGDrAb-OtT`lcfyM;(UTKe9n)REKC3%3R&yFv61ZIy~&~ zvO_Xz08Q=`f!aTXoj$-ZF$a!`ZOScC(0L}D5uxmC+>gUjo=ygzhiX7uyB$GN_>*p1;iky=CG(f_%0V$74O5<=S9~0f zN@sCYiqwHjp3r0Jp!7a;ZjVJhmi0*Ju@T3mMD4I(`OPCeZuYploUbA~G>vf>l3ml(j^p3>g>0s|;%4x9}N2vEIk$f5go)-6Aty~uD zCVvr!sVjZ2_PwJL%U|`i`^EQL*>9CJ%^JD(5O7`7>F zGaMT)!)6Ygj}G&*2hAO{6BUK_4&FcbpgL%s#xd(Tdd)`;xdS%_D+;9!-KRpNRv|>{ zFkBdE!)7U`1&enchU?=|phSB( zj$T_wY{Stj9bxYUBPPOuu^R4+jiYv=So?v|X`?f6^vXiDp_`*$z=^R1sp)Lq`S6e9 zW3G?6hcK#laAkPM&Kwto%0oGDX1pG^e0)3_r0n%KM`2u56yvI9*7Qm?*-@JxA0wk@q=lgcpcnl?UV zmpJ}bDhfNq%5YxWX~$d(mefldhRsKqPrwkoP-4xw*s!2)W60X1#5;A&wdk2VQ(xwk zTLG@&)jW}tiVmq-Yo6?%J%)~n_2c;-2eJdcV4V94vBSSji1FUJ9d^X7%ixEE8ux7Q ziRIr#ba)MO&b7zD%RMM+@Li6%xhB?Jx5f3uj@Qr=o{9GuawpcbDZ1uf)RdcZu|LGP z57GDI^mXOE;knl@)9;b2EnsCXc7)o7j5y(Q&fzk6lnE~?)c60+_bOT6=OfSw81nwv znlCm)*9|`JTdq|S6+Oy5xDS<2fVtpJxeYnjq*ZAfRN;ggdZJIP%mY!{BVVXshUk0u zLT+h{M^nMLu@;_7%PdW0?Z*bVw?LRcJg1FMVJI`@<~#(i$$!Rh;LK~7HcWjrm)8ed zewnuAU(0LN7(bu7dU&;tx-NO5VawjIp@oRs3CFh%lkO<&~5Xy)`Hqg(D-q8?dPamnugN+ zGrrpSRfaz;A{Hl`jrBI+Y?FwlkEhTM=_&%LZr7WHs-=;rTRIzUALDV#NvMAir<+G` z<7B85iKvE4(e80AN>trKg2alDwK&-vg(K&Msy(r-(UnGb8$E8s04pX;to-^ok|q{4 zUV$p6ry8GWJRk0yb4@NanT4~>vZi$GoNRgq39r|YR1v9CDt6#x^St>>w1G@RTE&`{ zXK|i+-Es<=KJJ7&=Me&|HnifohRGFPv{>5KI;FL*dc{rDuUP!;HI%WM(`Exo{@-i! z4CkAV&YmM})7xgYJ+GWSn-OGn6eX>~5n#2d-DVf?0B4+~INdz^(bM4|&NQrZ zAyqEUb-dQ`PREIzqC2fbszsryc)@xX7dziZx~RwuJ)Y15 zp$Bn-$q!wIc8>`?HYsP1v<^6g<^e}l^T!)K3VXPFPV5iHPr@c$Dmz<4h(uRC{7i_${Kt@g<8=K#O4BpLtd#c zs~Kn#wG6dSGl!lYI%(MSVbR0p471TP>a=R{n5>#b6#YnfQ*+|={P_q*fw!qnll z#4hKiz8h=SE;8|y`!SeP#@`V?Pk$$yI)8U=X?ub2He|epIZRwhx{N0eB%>WupL6p5 z1fKf^k&#Dz6VJK1R#@=F#$ROm{kIH^*f*)@`G1$So{4eJMaR$A*YK~k4dQrxCtiL_ z$u}{a+ZbYpYjaMSW$;8sULZc@E)$PA^LxTJ)!D#7#ObkKJstr-}^b< z&tmosnUi1az73pQn^Z7DMMhgDk8^V^IFkmFm!xO$J%mj)^u2kwmizp#UJrQ7)Yo=g z0eHNIO}>^1#-yCv7{ZhLa;}AMX(QtI)X?*g5!QfhceEIGpWc)J&*~`1e_NaPVBCkLuOWYH(UE%~CC22-T69gBf39^V==as-u)($5 zcZ~DBcVNY)1stzQ>LtaX9gzzqU(JQ$H8^F|6J4(Z=fT?2Ji&;*P?O(2^rJ12yS2Ut zRIow?!?lwqvSJiCbNx{#cz#f2INsXy8xS^h#DDx_vdZ{bg;>I~Xrgf)F1VX;!r7${ zA)YX+^o`Q@NT0LOUkV-w*_&AC(32Q zIk!X|OgC1zSRqH{>0hgmUtw~^^{9b-pyDB&4>S|GK$me`y;kW)r35(YP6g$|RX4rz z!ph4lr&m4=XWfj?)_k_-vs7gDAH-4i-e;3PpN_^GR}h1^SH~Zou5!Ohp^8Ba|03dx zS#aa6!?E@%>L?c?(|=0U=_q};6p@H@<=sX!;!_-NnJ*MwZ7HG=FH~C6`>_ZoNCB%pvGlXSiX;l#3ePi;Bb2x`9h3Gq%+U{k~NmEewl{@?n4!u z7>mXnJCHe)jHB+ATF;O%6pjeR2RQ0(fkW?#a_AKzV`yvLbhPI<4VT`ly6@rCn+2!d z_OEhO_7I(WE9$MTx2E1&<=)G{G57}Zh}NJkb8`JuRhjv^>JGdJr50Bqj`27m8E-aN z2Djc8^sn33aDPKj!vi=9)4jJ7?K}1;2j8?tigL|(4#TlnITZN8zU7&g zmsCCHXNYrLi%7>ED$0>Z;+d^tTg`68+Rj^B?LxF;O6y5*^W~`a9{1b4Y_k`~U~%$g zwY>}%UjbTtoJ2)u_YYHl2>)R^Dmt^tM`XK|I1DGC+SBoNC)>SmHyK@t=ix}~bNcz> zA7eYLR0rd{4lfY<7_TZjN2@HPCpZ+(>AV2WzWu5Yx`sJ zh>e_wOr*ssD)Kh6kfw%4gw7A$t&Yn#P#yYF=o`dE7KKiS%WoB2eY^d&p%3G*Jfml% za`G`YGOg#{URQg0Rb~>SBUklahbqx0ab#vzQVbk?`*C2N+&8u_TZ1I`-K$)DSt?rc z3XacL``*(oz7L3+T-NVEznp$o;o7^85|wvwh~A0F$>#%(gdGpNgrhVgCwHPV--Ur! z2IdUBf!w7RaP!Sa!OA^@($GG{9!z&1V=8@lOH+`wlsF_AN9xmX`8^u4cxW6B(}#v0 zL3HKap%aHq8n$v+s*$;L9W6!Xpa-*Oc>3_{;a5@I^17;)5CI2Z4&pB904(_JAu^ZV zsNAJlXfCoHN9<#0FmmVjN62BCg8B)YRrKXue;1m}imU6hA(B{6pk7 z?VNBFPQd~*$0-*TF@vtu^q;>^)eJsSGbqu>akBLHt5Ea1_V3O=ekc3Bt3Aedwyoz* z%-^*wI8)!WZ_0@=as1s6gtd+PGx1`Jlzday3ZP?a911%sHskzT2*CxiCi%pYfL&t+LLGH)#T8OnUME74( zjg`->sY_d?K4rr5U@mJ?6URAmaPoQ$jJ%&- z@Hpi9Vq*xd!680om!T^d;l%(ayt1Jm=VH@>u3!ZxYreKeT3@ay7}An-g-;#9SLNJ) zpTV;$)J47Xu>T%aiYJV;Qj<$Zqn1EqnH6PN;p<%)RuDL$1N&Iti``QuHw?MZvR~HOgOOEa4);YJLSIGrTV8#`EtgWGgYu&rgmOM){3eX zQ!7>l?d_{|Kn3pIQ1!kR*UqSYvi2?2XL@^`q&lb79{**Xv#1I15PSO%s0*+cH34R$ z&&px!#sr4^sEMVP#u8%RyH@x#QuFw$a3uA z*?KQRO|y5+ z-ZxvLDuN}TCfJkaNvbK|;TA_)9BpwNA$o7IlmCDc?C~vcpaA-@HcG z>Y3QLUu(4t{a8|3FaP#In`NjBupXUQF8DK*)+0182lZK#zuyPPRX8$~xL>#1+3nBj zpuAi-uI`{jyBFP8uETLvfN;D89Wy)TcD&i~92)UG?iAU1ap!B;kNdKd=Akygb{%|o zxywH6$R~B3)^(e5R?X@*Pw%@A!bz2ZFuVD1P)+W>se5AgE8Smqf8Bi<+U_k!n4Jgi zsdw0Ke+Zq106XrsQ+w=1L<{lmCx2ga90UObBZ~uVH12WNp z1HRSRCtvT)L?fND%`dLxz-IzJp`+CQ|8+RKaaH^^p_P2+Cy-p((XS=O_|9}}F+rY@RP3n@@3|t@^Vqe_@u;yCqn0kMa!!B`` zpzFmDtk6I!F};>Pnln?=Qb#>V}Z)te_im2 zC!ccixpvCUbx9Zx^k~P#a_{4H@Jx9iTTZ!&;Wb=_J(*hu&(x>f#!xto8G?Hfo8>f^$@IWP}3%5 z9Bz#jyosTX!su)Ib&UJ7XhX00-6!)v)U@>{u=2ml|67l?Lk#~1MBmgQPjr-A>o~F0 zu??9=&;Mcze9ORc9tb1$os?J;&-a-aFZd?b#E{R=u-nj`fVILHJf*MgnEK}2f;=o# z>*~J&_4xjIwXUtHTT_>;fivgS$$t@= zovo{uSZ#N;J^m*E*{JvZxY{Bl^7(26&Z)i<&jP&FZ>nI{(>3yH+(t+%>yRYW+^vFI zPu4tD^9(A0(*t-PDShF1Mlk2gICudQzPto4;C)q_BvL;o*ak0PI-U@)df=4W^J*`w zy|MOf_yL*NcO1_M=GNU*cQgEdd_v&TN0eXErJFAvStCfA>i zkXLqPO{sqp6$G!=zh3`F{hLVa3vV#J!SV)28>HzvCihgGa6UQM2Jc@Q{C_z}@r%Rr zgOrdvA)6a*Z?c1|9^zrZvul=kIxAR2Xa=-sE_bq9z9r{(89SQM6|} ziP|RKrVE-aY_?H_z_N$yBh(#a&B1jo67d{iPm9zRw^|gmc+%o2o+B)1xe!kg*0;>o z-oV!_Cm}p`(>GfYBAblbBN+-OW`S8i6<1v@D_ehoJigpfl3oxrNV5JwC8X?f@}*=*YG{+pie?2bfyZjyX?xICs7N1BB~p%?RBNs4PD64BAv#fDArSDX9pk0DM+*5`>(Tisw zKA+-jJPBdq;Oc&B`t8CKkyQ8;bNc7^f7XA>fT{2+-W~98z>2U9VF_WWVSDj>1Go{B7hcQI?w2LI+R^kghOIi5);@_9R-{?_khsRK@{mSnJNIjf3V%CUgcpX=%MtfWF zoaGdrv`id18KJ%_My?vU4NqJOM!p*9tK`06RPv|{_#zjM-Z^^T=>4NTqYsWggv7+N zqm%#GqtX%GV`mY&Eg<%zsL?#8%VNKf26{weCcZ=bMZ zLaynD{2d<0pmX*7&u5O;3qDdW$X(s{-Ot|u^}B%I4Edc9O1_Q3wG(4$z9}O{2KhGD zUX3H)v@3dow<$%_5BkkgIK4YtetVnVpnv;hPhv~KXFY{W&vmFnYPV2aV~9>ROTkeydUA4*tU9K z5=b{74|v+KjO&VBxt37Dm~zeo@p&y<+w2rt{BKDahlSzAFm2d+ZSu@H^<?a%3TIV z?1_#CGB1X$F~o8R&N9}b;}#xqGS{zLFk(a2CM`)uz6`+&*5b8r4Zj>~#Ul;%@nyg6 z!fW?}@4*l|qHC^YUgBp+>$?Kj;paj0No`%mYzVE_0y@ zukG>gOuop>xdp!1Ha`!-GpXpCJkCuUB9qt2wbC=LQ%nbZ%4tJzib79tT$?<%v9|Qw z29;|k;`MUw(K2GVc4;dA$EJ?xnpE`oy+r=M!V_cuO+TrFdlCD@x%9np?i{=>|AtP! zbM4VK6#f(T1V?>W0GyNer@poYEQhJbwTYLx%L-1Zgb>;R|1k@P><6Vb;+TB^;j+(5 z7ybXNy=PRF*Y`hoEfK|r*o`gL*kXyMndl=LOJeNNXpHg2y!g(4X3fgG->g~dH*>{; zfC7q&ir`~!V8^apLB#@guwc0=DvDxPY&f6Kxo2MwPcHd>|Fh=BS$m(|&T}vDaP~R7 zRE)#L_9kR*MpgE8@}949IFppa{YVANE=LWU?VqHn%kE;7&7X_XoVKcEv!luhbostg z*0kiXKY_1VmGrDF>&Dfd? zYv$CvrQGWh6z%jC)qkymWs`AHo~r_7d0jp&WV*@#r8CV?*=z*M7KXf5xuA5R6V=7} zSvbwN>&#bKplQhe%&8k*Z+5-CxISlLeHQH8iK6|$K8C&5u(jqCN&R%xvd;(Gl> z>!>!f+QhY)+vY`^smKyN-ZmE@vdiHdr?)!~2l+0-WZ$&2+aHCC{6bx`-$wH-76Oe? zVX_-KWS|)6Avnj&Ixg?HT9*Vp&@mg1@xzYAsEiYVP+6a2e6~}3=N)LJ%E~x%&@%Oo zD$k#S0{!RV81oYT7%t(jDaZJZu9CwXQeMX2>Q>zCF~VqbyI(=E{>UD&J+hTsT=eCG zFWqp6GkfOsyxj8v3WvJk4#$7B9S-q6RVQcF*O$MJKqhJCH-}W6oX4n><3{N0673Eb zeR~M`q))zkuYzWG_uh*F{s(%$?0x_H`#;Rm<@%rYnTs<0nSBo{hxcjUw^o8K7FvLy z*bi`RlTj?x*V2o1aPr~mz7I?2zfifj$^L9o_F&)FKOL>U4)wpN%7-o+uyepJRRO11 zUEfRT{!-PUeapZ!1j(`v&WVBUK~n~W!@b>(;{7L7^RMNq>dh*ZOPW6<;-{pa;(uO% zYy53+S0AI&P2$jHa9J}|IPB}8A5?zn-d_q;y_GKZZVb^)QVNpMrs5ej<*7x}YC z>{VH%8OSRAFk%KmV7H7+Q=KOwI73{zE`;m#K;9TBN7yWls)f=C48I77ZH(7arxy z<%1`3ZW9mm|4#G8p4X5kO$O}|@1{R5ar3iVn3LvTSAVbOoP3e-IAq1XDgU3~mbNK& z#SZCi#~PGTbUYh>H^e^aq9-)b6`s(Ya~rxs8xZER<1uKa9_4I0W~;bQfqM zN1SwlimrdhNmFy->$ykkh&?Byp3p>J=7i*PIC)N*7c!z(Iqai6<%DhtuA#|09pL9d zJ?e-aq0-U%Vt1|aJ85g4l7qg;kj@xM3y?e+im&G)OCIIi9NLELYi)<@QLOFZ`k>3- zhUgHw3>!kX95hpgHY^O%ILzL`R^aW4#et#x`Wgv-EJvi=NP(kbKcsvYcZLkrTe+ zVSS-12-z}o&5twm$)~Q3VL9YU=b(&}=h1ZYS)6N8m%nS&CC)(^TjQjgwq;H^;%csC zNV5%G)*_ul%?-Y#aYDhB9O;@z9S@%GFMb~eP08u+Mb=v18IKy^hHv zjl=ANNga_DeS!SW`Mb!u*I`e7|6HUyK9|@NNPXL(&pG)VE)2D%feYQEd0q`E%VFuc zKzU{pl1Ew61bX$HG(X=8Jyb2Ic9Ul9{`?>RJw^9vTZbFpT@?<(4Lw`2uwrDTDD-Jt z2M07BWm6YaURZfGZh8+^&ZvAIrGrWqdNp0 z%%v(DGp6C1hN-G^+hcY28iDBSJB>;jy@q4CM(1EYM-Jv5}K0CK%B%DX-$Gp7N%2p@f zIzGZZ>rv%8zH7axjRz%$?zEZRHm2>0w%ZY-%^TL6ZEv-`iy}km?M}dne1<*}&)Pq4 zzxeY_>UMQ6?pGhfeN4c;>Z%T_aksi&-K{=Fhqv&KakyPQ*6{>7yq)S;gqzjHa353Q zK(edb+fMI0MRrc;vZhO6m&aW;eQ^eNsaxSPUNIuKx5HU1?zXG@bHr^&_E-uh@m-G% zxHrxE^4yoN5W&3x9VT)Sy?r09VtB7By`J=X*6U5Lz5Xcf$6r19>J4JK&!MntEF4C5 ze0%ZDOT=@>f19FR#;k97hkE_n0u&=E`t~`Zyy-wL#@*@l-g^<-oq@utufLDLz3Dqu zh{)Y%TA!J4C3$yRfP2$}R)&i3p51RwzXko0;7TsXUFnW~Cv}G9tgx7{m0_#H*1)Os zgk1>pBG2+^*sHJzbyvz#s&pU^t1?9F{dN|eq6-JS7!dvA3f23K9iwLqWR~SD^o(AC zTuVBVS-M2g*@1b83Qrrf8+W8P2Hk-x$@|ecgLfdy@*ZwPUk!dYca%{a^0}2!=4U{#to=FeBE#lT+2fA znPykG6y#W@!Nq(G_wx0K*(2xT7W9P5uAGX3MG3e8Wt4dCsC&5oWJfs9=#0^s$gt!M zC^Ia59pYwiV_%E|pN8)JGOe$V3F zXTB%p-6+uH5x4Qq9i0ybnh=u_2J3len#QL{=c_#N)IaaZA%CYnoTjT^f1}S+Qe6 z>Wi#E@=Y1iIk>I`=;X`1rLmT2i{}d>V?wb@nhm@1`8oF(>u_#iZpyncH)Y5pjj{>{ z6g{Dt^guKZ^et_Jd~;CO);!|mc>~B=nkLX~$^f@9ghyP~aB18L$?t~mFU0%~wXE2o zjOd9y;RzJFg3#yBitkxdkFs72(Q)!*9g|MlU$FB}I!-<6%l}gKJg^}$=KLcb8d)u< zMZ3;Je)@Un|3a6LO#$auSb(asi4~Tht}KIrQ!AXtE#=J$1xUWlt9Yg2t%|pCQ#rHJ zY&eRkl^$2}If{v>GP@dX;=Rf<;3Dq$9@ z@2%k5!3(P|uD%R`y#;U#eGXwd!g^2ENUoV))8`QGN1MQ@s;>q^cR$pQP$hXb!UbfQ z?(>jX1n8bXjoI4>$Ys0kgSc6YgxlwH`3jZOccxx03i0Hl6c5{XuR_~yI)Hfy$Gu+P ziw+yl>d(XN;;IJ65NsQPo5XXtM|_4FvoVbqHD0V*b+ebotH$q}EJ3~5EQHzmitVgZ zH;J3jMdL)%JXD)~)|9EawsHd3;2v=!!frF0WuxfM#K0BgUE++-B0fvPjbe&&3)4P3_*vFxSJ71?zSZVdM_OgIx`qJUG_?56RY|+o z+r+euS1#f4c28B(ZfU#s?WK)iLw&I^lnZzlLA3i&bM~ydExeIU&i!I?rHa2)pK>vH9glGiM{vW9EPj*gC~0J|LT}3 zz;g>7H(q^J0@pD5>)BtQ`nurjjBl=f^8n$ss}WqAqRQ}O>Owqp3yZ&vLH`Y3_lWf;49!DPV2J(LA6i&%;~!hH;j2GxU;}oXdSf9Sh-eszo`hK zT?WT62Tj1Ihee0YLh+rINCYl`Gx#1!z>E5?>Ax0EVH%Qv)B9)lKi&Us|7W_x#sWBm z^HFl=E`nw05YioFxt(0NfA0oH4VtA&?l3%d`ruh`{!Z(*gvD_F<_%ebVAyp-HmhLR z{YVkMI>i1d^`~vh{mVuljp;)d3|%-hap<0*#c%@`{IUg(;66BlURASp5z>RN;%+e- zF5q$m!tPU{u;+9j?DOGt1a}}+*mv9bdc+#sF|x?cR8+3b8g*e*KEhyc!3}&cs$|q` z-5xw)^maIe$KVWJgfsYX^z+e6;RtRWa}2KFHI&>b8I!6V!Ds}&UWW6>0y|sb_B|iR z7UAoEJB!fP)u>*(Z+!arjXV%U+TF)P|y1!oNo_fKj;pxe{@Z|4|tim zp(DCZXqo!|AWyr_L0hDGHP5t7y39q-oC{7UeB00o#COtUE_womPDtD4+{DQDb_0I?ZTx@z_p}Pkyo*LJZcl{| zXyI@W8|;;pR#!S%>1?HQ=*V4IX?5it$hTv)n@g1+poPN=)V$e_TbMhzgPBt05`z6A zsxGOTj6lB>Y_F#vz;A1CMsNYP*@X!8OGl93^XhN0(T>7ao2?xp5#SeFYfi2G=*FE{ z>r$=9*l4qr-7MAQVQ1}h1o`D5$Ztl-!jNPH_8nGtF06;cUfk(*4xydhX*7749y%j5 zA~YV&9oX28eYp>Y9tzD0eH(hJ?v1(;^?2{{3|sGM^%Jo5W^;#^Xz##wc2^s)E>3*I zoe1RP);n9>vZSdhIPp#9HCfo?dXp)rfWw~L_mSK79^re7vFYB7JC{36-#4ADx7sARl)MQx?kCWHV)@n-f#J^Afn6Hss`uFd@-=y-x>^^CIcB&hW zqCTu*liN4L%Ct^f=d9Ogw!oVX_SW8xiZ=KA74@4LmY~Ara>CB5P`OA{voTvOL=A{l zd0(CZ4+f2oy84C_+SsVuKBpVC?5P~Fe};|LSuzT zKTY{L62Wlyu|0h|^z1KJf4PQ+3a@cLab(!@VK0U)8J;wJscNZk2;0)a;U3&bd>9dl zkhk2C(?{(bbrN?FvABcqjy|etIxhaT6hUqo2y)wkEoI(s1;2ej&ulhDSdFF#Dae+( zK7KoLrLJL1$^57@zeh~WLrxTH)V!M*j*Vr(A9wyJL{o%^=%0OB0@b*u{GvMclp7lO z_mp;n(4+>zg@|6W%lTX8-!uPa)!#S&cJ+|Ich1${dH|ltD1C!Z9YqW9o+q7yGNLbd zARcLM{f?O#=F{^A(4{RG=#(dvA!`JJ=KosCQ-=RX1ShmHWbU*M zh7F#7uH{5epxczu->2}bf3WSh3mwX})Zd{=7dwP9$QQaPt8gtRGM1hbI{BuqpAXwS zH}ycC&*Kt3{kfcW`MpwCMpv7ihy?89mG`gJ$C9x}rmxldg31cOr7-!GOB>Y@40m zsqsw87Uo<>t<^VlLr_rdX6-uv^soQ=zh+k0QQ>xl?Z|gIUvX}w_(}_q@v;bK$Ga=< z!3Oti<#Px%+J+*IFRM%oicp=IuLczdO{toNGLBQKO|8Z*Wd+ry;r#d*PLE5mshy$1 ziL%t`aSS%L>(%-34HZ&!LKk>v0f;;3R~8krTW@7caenOUQFgCRX`Kxy=iuACUJ895 zDrd+y>fWqdh{6t+>b*pv$21*4l!ue!hxOlJ8#^DlDJZlg2ZfM4}&aGRnB;H;Mmry~;|t|LG~5AV0+k^7E#V z&7x7_aTU&u<yQff zx%JiKub$#mH}Pv0ZoG~&-J1yad4PbQ)#^mo7vyt8hxt6h)|V%_8QB4;=GnYJcm%^;A4q{ zVw}?Qj5ZA$+>_`fmOF6jAfD2$!&dkBphTR|X5x(2*YVgp_@?S5<||pSd&mKt&))qh z>gUv-c^bRxm;JvS_$B=p56)xf;v_Z`C$U?H?-;&Yox&bh#R#4bpN^266$r=ijJS=B zZ}`aQk+Ttw!-D5iM$K2DIQLW#PO?6Ay@ahWvp-&po`nn;lBA&L;t?{WW&%C4TCSDyBPn* zZTx-9`@!q~TmMLtcZ%;FV7$i+J&_T6=A5>beL&I`uHUPsoEv;E2LB&WhIkpiepV;# zKbg~>JAggWwF2-w22JT3&m2fzY&jv%w3I&VO%CwBCQpV_mvgV?3(v+}aPkDVH15(+ zE0J6?Cy;>%aU0MHc z5IRb}9Q(3{^SNXVu_tqZLN|Zzv|&4*k#p*hSKfC{o(Ds0+Q2Og(uF3FbmAU^XKP%b z3v&x2&haz$Xt{2h?g128%F7xiB%i~i5f{4JTWT5pJ^247AR}__0Q!EK=Fy%-TtAzC zPCE{LThBd!UX8l|IV`O&&ufvUhZ~SG@?3(8tUxE7b6e|)E+J{^^Xtzl`W`K7>WH4p zup{!M34Mg|{HDI8^+Zl|NjGVeq0hM&gE9&NcNum?SM;3F(z*gE@6j~kPIg0wnG=<{scKJ^bsDk6{sFoqz+pZecE06oyO7DS3?xO(1QUctD%R zT9mc5tunfx@n=$oX6Ti%OMMJaAUjGY^j;83!7&OXrovi8f23B(K~pEjd@QWA1pD+; zIEglz08UlihdnwYJeXS^i9_cbD7PM4Yd(&e z3v10rQMPTWDBGUe8EQ|?Eb^$3H6c4yT*o~`c9e!pQ3uVd>g+&xe>!43ZlK)~kC+c4 zu-{wvN!>&oD?hJSTJJ->DfMIO$JIYj|1b`iPaw8~Q60CiKc9oZ{v;GxTh`ztnkcuWwLj+}bQS{hdHkH) zDZFzMx&klmvI0fUQoneQxD4iSU&H~l-EBp;)!o*0+urRk%9>s2b`=NFMcsVuj~-)x z{!B+>EJ6#UtzQ;=`3QO3Q`NDwFCIfmtrzrs*z>sx)}PTUy4S2;b9!y)wW-%O99rMP zu{Fc>pW^V^i(~8gIJDl0-Fq}b^%o;9LkgZ{sbGCCj<07SCS!5$CB5z5smSy89bvCV zG)6jh^cTLrhF$&p?`Qt77=_u-BKMo+&Yt$!+xM8t`aae7a^HnkG$Jx=gy}y)S@t*m zeDN6T!yX_&-&dA>1EMi_knKj{vXlX-12(F_{23}NpF8|$1mhn?%cCWOlGG9Qu0b~k z-5OMYF#I@GrhWb3l)t-N+5km2khNKMHIwVcSVVps`BZlAa`#E-K+|W5gHx9jy z-TvdD(J0bxBLZVT+8oVPg~;~ffcxdJq~Xcxh98nR>Qk?v$ZD(gd1()0W9M?epx&oI7m^&-p*fHlC|I+fG~ZJT0-NsS^kn z*+4ue%{HDzo|pO@N>=j~j_->9#|0O8&iP#2Ba!C8+|qi4=I5s@X*TJ4h#i5X3$CD^ zJLzh!dFB01h#ksWhFvdk*++)(xiOdTma?KpD0)shd8Cy`H*MIo$pIa;p4PQAO?WQH zobuiD_v!_Yd_Jc~Xv&U5hcu@h%5!)qYuHix4tvz4 z9OXGgrVP|Pem9h-P5Io^`Ag`q?KW&ESrO&2?Xp!|HDJnH^sd@k~7U*5^KVcW#Tj@RH@z&Tu+ zM%>*u^l(sZRj*l`|NRn4b(G(}}gC7!)6!s$ED-K8b! zTAaRnT4lC5-sWPP__jM$Om;3>DHS2SWHnNA*M6SzdFtoeu;)Mg`5l#A@iqu(ri4Hr->$*=>Yr3F{7{A4N{FCml8GntS zlb5=|X*^n-ZcquhbFhbxM}?+MXlj~+3QhA-m1!3C?fVf$EeW=4XS(;hL*E_w&imaX zq}cNOeOd4H-bZ?8^`3=2`+c0kFZdw=0VuPuS5HIuNxq7uW&_hxeJ}KV+xIa-Pqy?s z-S3PFJc$omkJhC*VK)&$J+ptbuElf&4U|5X8%{*A;qV{l{y6W)H$SdIfnlc39#qM* zY*osr>4?DzIEUvR{Q-99wkjLE8#{B>Tzc_y%+M8TS3c#J;5@C-H zKaM^4a|D~59w;#k#JP*ZxeXT`PM{h)|bCHU3eudrlVwLiG zxj_&l^qipBYQ2F}*cPq;DR-h}BY z$~gwRZals@S=5?M=k;me(3f3 z!TS)K;?{rn@@^pXy#v70?-+SEm@+gQ&FT)nf6cNuM&_AJap9M8eI zDc3Tr?A#3<|MThfMP4BJ#Qky_FGG`O*U*NH@CCZXhM{j6xY+j?G~s(e<2zo-Xg+c0 z=M{OeC6IJm>$wbl(q-OK>^ncN3nvXTZS$2WY7+W%qb_h6MD3)=$LxMEkoDDyWu%J;Hl>^)^^$t zG^ZU77lxm&aoeQ*gWbQ$LC@>ZEo0wdi?aOr%lekaMaQFUSq__=i;U<7f~pP^WJTUw z%ao@rWltcUlXL2MF-%!`M)D|Q@&qT3xDDtrWGGLXk^|(=Pjt$I)G>K#ZiOxis$Lsa zZleLFGD%`4YzhV?lus2uQf>Z4C*b^^68x!t?H)9{nQ|v2Mma8-DE2?tpouIox zQ>!kndbjE(?1ryYD?}liS-Mv0eHC+(ifXC*Ys^Bm)N`nlT3GWXT8YLYpgObGgIW&} zP(1|!)ja3kgHY<5x`fSiv>lllvMFS9$QE5AbqV&uQ$oXa0JX2B2=f?y5h#p2d5V+n z$of&pT};7Fn5W#n5;jvCOm8rw!AyURR0dSfYiOf7>TwjYxq)4A917U5c+JAbCmY*M zmZ5FPizX2WsXn6Wp>Alp5xe3H?250U9_me0M2&2=NVOMTt+EzpG+%`RHXB1giW>hu3s9Sy{p{{8fauIprorL^ItEq#IVGmJes zf~-SUCe7>q2$e~5dmQ-kH1Z2$dgk}Mf|!$QJ+C9~&3$fO z->ZG6Vt4Cnv+<^1vdR$jgq=d+m|N;xI;#I%oJwy(i1mKNogC@UmKtdTE)AHicDeJ_ z*>vfT(@-$xAa=N~29^w5HfTBaxxU63iGx?ExRXl=u;z)hG|JeGn3G3C9uIjoB=@I- zs5tr*Ei$eTWw>=bcD}wgq5Dx|bnWo8y!|xzYp3kUiqVaz$`eQS8zo~z2MCH(Tf5uH-ICVBfpBkw3O%Rin`5je_Te1p0gS(Y*R^-2(Ldn|Ff^84h_jxTvGVaRiSvJ? z$l01FbCLBJbdi~C=uw`sN>0mi?!~Y%oU$Q?t_412Js4h%lP1qVy4ZKxQ8MIX*oKbi z3Uq;IX+CkWCwQR#S)yw~+7KN=&TR}OgU=*9vG3HSywHf7@`?_cDI>CkqBxQH9`KsNu0=5^>=m@Aw5GjRTwJS%X{O?wu2+=B?s zcGx!UiM$C-{%LJjXfDTd$z1qiN4{^xhmIE`kSz6tPF)*w z(m2GHz!2l}k=8Qo<9Euri#moL=a!xmw>3`a(YU3dtikWnyyp~tdG7+Z)^{0p_?$9V z`UX$d@jtITw}$c=sn20!@PCHV15RjZNIr2wv0EPQfs7Z!He}6b@acz6tJ=I>=U;~X z-_vx}%7X|@IfDc5TNR#E*reJgWK=wcWA7^{PQt<@iz+2yv!9C1{&pOIXIHvhN!lqS zBE0-Y<+qjJA%k+)Cr>_kiWUmtRbs0wR^>`|R@sH4@GDiOzzHY}Dn_}I4+uIBN7#7; zj>XeeufiF@r-B~^Csk)HOHYk=HFo1rJYDr7EU7uARyaBkvQdJs-yn~{qj3bjJLE~o zI&={{g`CM%p=&}fgkA}~icS9PdfD|(*E@sY@<=p6VCc$JZ0M64K!&dSe-)>y2HuTGztY}i)BnCk%`>~}zja&|8Yrmm=it6b%8{7KQ&)urn$ORQm2W*kpo)!*OV*V<+wVNwgBz+*!K|>^C?VqO!*?If z!E4l%+@`|OJ^gR?FX(@}e<8|;L=A|Bi!k%Y1<1RM9vDAx?ZB7HEl3@7WKfpBqh9jh zb%WOr-k<_jGI1b&4bH(bqh{olA(1~N{IuZb`*03k{G5zt1RIBLLb;H)a1hdd*@JME zt2iLP{mZ>y?!#SpfclYha8!N>g+pEpTZqie^>7$+;VhI6|A58>o)O1JoEdQrS(-~n z+9TJDT#MEO?4dUwbt6~f_Xh4uHf$2Omf5MoR;*W9Zw;G0e8wNknap~r}#(e(- zqLc4@_mF1k_mM#Aa)`Zu3n5Eg4$-rLD?Nc&#|@k^gksZW;3i%8LZe(6S=f_3ib=N& zdtL*lJ<7>&+LyVh@6r0CQI9hGza+Ro(G@82ghC_q=($OE88Rl_uc!HxGi6O&WQAsF zS;jp6Awfa`bDmxpObPfQ{TiPW7@SfkMhK=0J7%K zg>oE>y%js0TNqvp^$hx1gilC54!hDoN@ymu3|W)@?{Kb1 z8ClDVXOPbzG~t_bp*ihS#wjNg(h?1{|!Rdlriyc#xv0#e@4Q$tkC;GLFioG8MO;XPWnIon-x?Tvc920Y{euM z0J9Jtz!ua{xl*YBWeVq^Kq0%9XIDOjB83li_zUaUM^#BsAuv0z_n(7(|Kh6IRST+K zsFs83DJ8+XtMA9L|4nt|A5|k&)vZsjaj(YtnwhmO*UGQ869@bsYBR`%LF>NombEIt zt2Se?E=RZL;MluYFdusq=` zguTSzfIm?m@n@jLSz7ZQ%}+Oft;!M3YcXGiy6~`nOUoUoPM_KG5L%p_Ls`NIb?Cnl z!7d31ZC{2e^;xJ>zpeE6994|47#9HS@g1uQ60S#0`pxhk@;g25^0v!# z)zkYfE&~=I;GKR#QMVV}W}|<1Y4-SYD!JRq;<|Qr!Y!njQi?DSDz`XvRWdv`k0GO;k zyDg7(#JY&;@(g>~fj$3g6b_t)D}i;WCBGMq$sViHfu(3pwg~(F-MZ?^5gh&#Gj0#(Sg93t2e=JpLsi_ErVJosMT|{v4pe48>*f?m{paV!x4Idmgc;Vn>x*^$S z6|kO@J)JLjXJgc#+N1zNZ3bJugaB=u% zln6X9Vm10?=b}@#uRvhJsAUM5**M$FYVkKvDllR6LR=s)MfD+qWmp~l!I-yW zBGH)az^~_iz32~FUp02!*z0If#>(*1RAu;V1km{Q|7pLSL;%e@6bXDfo}n|j6OLo| zpQ753ok7St>%bRJWO2ZfNz2i8Y&-V-M#XpR`LXvu%)Nic$G!i~hN0UV250NNKi@C% zj`-WV20YTt_lQ%*)Fp1t#kSBb@RhzmZQqph%NRU!P2tPCRd_--=dJ+jP|j<-7e)S` zpt9qzMLSOWq|uJh3Hg7*LppIn`CKM0Gy^JG=!(3l%lEto`Xd0nfW+MxE)K1ua80uS zX@`2IJ<@H>6S^C7(m6@X{8BQMO^4*H8+!J`gBhAuK?7JLuMGrvx%lMgv0H+-rL-boZ zJ`e493_FyUHO)0>OXy-tK`l?c$$CAJGofD=a%J?5&q_M&$nfif=EaaXd$POq+yf}M z@Ga0dWKP%(&qg_sHTk5;+y-vyk;l34g(q}@{C>Cw`L@>a5MqdoU)OjR@+`_hk3(=m z@`P?ePXM}8mUELPxX>-Jq2)Li8IQ&}C(gBnC%AJi&u39y>j=#W#m^&M$?MPVG4)Jb z^C?f6&HDSZfqO9s$>ZOYOXHT%0EO>-4$6qU$unt`S?l<@s4A$5v;8D$B=2)tFObDR%ar8aXIHex}Ab)JKe| zxfEq&@@f_!u!jwhqY&E8V4iT*@Hi3)tK9Q%3fYcwu;>TNe8s=L%ZW6DqVG|3gd}t5RIyc87L+5p+Pu8c-Y?f z35v;VZM3sdjtb*R!O1_1kw0(zx^WVMc}_Kn`ZN*e{`WsELVd)NPv4-IbH5{ zS%Ts*>$+Y>ZNzMqmU>O?)}M5X>At@Ek?!}pKfs;o~g>m zTvKVNQxUj+x!1#9bH3V&Cc{iaE%@rWDhK`q<-k+)-d#f2?|&POq|@!+rKwQ%EQGN~ zAc%d7E(M;3J^Tgi;t&2%fE|1s!h04Yko|I>n|by+7}`1boc0+D$sqs+O+${vYzZw^V)B8u*we z_{la&M>{&Rc3~3zZd&fC9c}maF5m{T?kh#FW={nwVCf|=6wrH2O0@+jY2JbJt zFD=adcJx~1>IQfg$~yZXI_+@{a~;#ZZSaKd1&#X*&KbYK=cG-}WlyPa%+0m9HzVEc zpevfzS9TzGQQI{2Mb2{Qn=-7&$2n!ZTFxc%0{J}ww`DGnbYqMN@C+^GGiW*5=I>w# zhGp6W|FqVpj61*@lsDHS&hMz3))Su6*Xx-&w$>-4j7QG}Dt%28TW)i1;@ZB*(H?Pu zJf9Sv|M~twUu4UJv}@@>oP)Cbek}~Io^O`#Ld$qGo!^tl2u(rFcWEf=%kPEE1zLt2 zb!fw>E3)Jj%Jbk^t#V{tkf9B+r`_?kle@7Khm9=O}v>|9$P%au1&8vC<~H4@+(>asP_eN`cy-arl-6M5?wsYF*6 zuUXY#YlDLgF5(WL6n?=x_yr}ZTKZO$nB0ldl4}~@S3Us?OI~PlvB_l=mb}vBDsBQ2 zKHaG*r{8IM7sVwbQC4z+I{QyWJEEt}nBrR0yi}EyT!Vr(M_RmUu}t@*rEkFYLnWV0 zZ#BDBe5*vHwq~KAO&Y@d3su{pi)~_5nE%pt$KfF`wRH#1`uBc*8*xB!XgNer;ckaw zq_&o#-|SrUn_brN2E2twsHz^(DHV)+q0oIq2KmxpnE=a1LWg=6_P*EqL+@4J zUx)AT9!aoKKdi?sK;{n#@E+JNMB0=^piqu4)EM>;X{E^A(%%8<-^3WRSEuwv5 zRlH9E;(gBf`@3Z&alyAXOG>Bp0JnUJ(Q?2H5*ZoGVQmk zi1%5KQZ-DIy)&U`!pjNqC{#m#VGoMcl>Yufm84|KZ1KcLNSgKj;VV?L@6Sv$1==?G zltlgb&i*?xS9Zw+GKDQ_FLgtyuGobt0Vbd@aTqN8j& z_$H6I4Bz^p7phcm*O#3)dBD8^N8INsBp{sqY{l?OQ?a34k6hKW2wh36oP-MLw<|AH zO@E3%S&2>T2~=I2hm6&fATL5zc2!M4mTFY+hTzoT!#Lu;9sCrB+;4*;tM9D7w|aW@ zi~68@F}AWN5x$aM^BQtipCV^n2?2?%D{iy-zr=(ah#-r9QW>a9nf>NND&+*yAQ4z_a;!s0vFj#ObR ztd)Kem0PYgxUU-jtil2JF@&(NVoMQ@vzInuhH7?`LL6$xW8=D@=~-l?#y6XX5cVUe z%yOgIx#lS?Hnm7s*{HX1jC~G=*!R%hr$mRRTv2^88J@BaZGMioy4dPm>uarFwoXA- z>MCqkb8x7=8zCyu?U%N9f4&nNR%W6uS2b7`bXMIF2kiIzP`k1?8 zR{pvL+s8{P^YkskMmCPyqPj^k=X3)?#vlF0_CLGEU%-Jgw~@IM^00|yPstlNW-h=% zbD?ShGzCY^mnWqmWF!MYBfbM>#*55DC6(Yg&HQ<$Gn$1?Z5EtTx9s1d`FCm=f5YZ` z!o*E^lTO@r=$9u;x|1h!lV>^XaSiTQJqBI$oX?_U9dc^F2OHhWd&ki}bWHoE9rN92 z8Me)}Nw;91cHD-H$SXS5F?Gx}giblX9sOM7c|qrQ;M57xH1!#cb;X`QK8N`Xb|6_z zqnyb%^~9b$ho5KI^V9I$mSK~)*N_vQX|r71(EHok0lrs}DPs@cm8>by1-pU^B#qxS zA@%w5P*Bgy*aTnXOu7wOOXLX!H=Z?+9&Jq4>-}Xs1L>4Eb>z9sbxquqHR*!?J3i$^ z#>U#_TEwG1IpGni0X?xnXo;+bB2S*+9`FPw^tq6 zbLw#XC$etHSs12%H-3NeU4TbhCf|vhd|S&3q%8TIn>5pgMI8>vn!^Q};%PePR_S`BnU&+=FRiJ(79sx`m7_nI z^~s!1)}z|xX#@wwBG~^i5`5!=R>OC?8gvJVz6|+4T{XGdvufVpSHa7wud9Ao)xDgK z;Goqtj?~Cj$N#aYe_7zK@^iRWmbwU-Q9B+L?U&YGU3)9SgYMKWL5R={RK8pU&uLT0 zK3(~eRWBE!b!rk)16cQR1+D{p=>R7}S?}^Xyr>+c0-vjwTQ3T!z^m$SN1dPJsA%s? z3Ak1N0a60qqvupogY*VR8@yEgrWQ0@gc_J98YZCURHCYaxu#JHdQL^E`u1l~3zH#3 zuNtpuvaiYhCQK4$kkGQG%aI^_7FB<4G`*$j{w#r)mD+48>R}#imWAF^$D8M(>(s60 z;VqaXoQU8dUJ@L{HNnXi?-4-6gaBR)h7QT9@F0AOjUJkGDP1 z_GH_;NEkkbO9Ef*`>6IY?YFmog{0xq_8;1BfCsi4p+)a;Y2d2~l+a-j>H?ka;Kk*^ z(+DXzJ%oCnC};Ve^B+h^5T-=F)kSvp)UTx zA0GVh`iD301gG?wiF!l~SIX{l8=bGt_PyJ8uC?1@+t)|d)P9?B-EdJ|I3%g-hO^2q zd>r;JtTb$9|H%IHkbtlfDF{1t3c?{=KYUOZ5H>1st{<>-z~KSM23#I+bwKfe=L4qU zN+Q+YA?qN5n9kx_qGaH-K{E!$44N}2QB^EDGALVDEn1E$`nv|7AAA8GBzWIb4SfXZ!K2*%o}xK)MdZVd2iGM)obh6=$E56j5&NP!ui;~(;fYQ|9i$z)0_gd1rQ>W|Wu(9dr3YGsPF(&6>wktLf%yv38D39%gX;SQxYS@m1HDuFra`#52%gr&@0-4E z9Qv|xuwBP|_xW(XALX4$+^ye_d`AWvA{&TT9*sKxPVe9G{k8)znt;>foyxB zV>@h7j{iUW@|b%tLQI;&uE+}H`oz`H|BK9LGUaS7M?TkmY^)=4gkB8FiXGB8WG>L8 z5%&a;5m^&bmY>l{3K~UE^mZI(}Y& z@7jj`-)v|(rLXyvQ*-?+#5pAH$j{gG^41g^CZ9B~)}tNEm{ZP!IU(sTjgK%sr{9+5 z*;a796FS$TKJCV7IkmR_9$W$B`MlI|+TmR6 zn>NbBDNFktfouh&8M3mL=-YTMx4{pzuE_d$q1jb~>a^>^Mq%?R%&)Mh!r}_aI{P}c zLV5*Hg^UWP5S{e|&e_?DxfSy&Uafeu;sZEotjx5m(k^6WpI5EK65*h2K|XfOCn<=} zI{ry6uC}(T2(7{@CCK4m6{d5@;kb)ROf#w_sOYQ7uSAK`=xTyqHwXbO=WKsq2*W! zqP3z_v{sU8I(DK?YUsw$O>ojKh34a;%Y%!qoVquVxxHN#Wqk!V&6m%?_5}M>E=NxN zYpR0NG(>JKL+n-xuDmYd!fQHO1J7%?py3)+bDGvDqR|4xZk<3D_rpeu;Ha%_%*>95 zaMLy*t7C7IoF>z71(t(6?wg<9)!7{>P4k=HM;3P^vbg6qTh?qfniuSavzDQn7hG=^ z**psoU3A)tn!jou19xp_i~Z`VtPl-@r?otZEN-?fm!1A`aH=T7@P7Y)mvBcJ;n+_nq4eCz8D z(>g{X#%l>K&{ELGAirZwr$vbH+S%y{VVuetD{t~a~h zhO-t8M~&^vZXu(4SN9hxrt1k}y7ql}6)su{oU~OvSEKHeuc^U(v=?66>n0i-ELF}K z8w|feb_mP77Ju^?8Q$WWC6&2yV~iJ_vMjh^DR958_hx2@_xoEa!#f5(K{p279yD!m^xze6p?C>*4NlZjUE66LuHg>Beew=j z^V4FuO`CsC`#A~?$(Y~G;;+f7x>MdS7nQ?Qtem9;xJuq(ThM~o*975|s_e95#7>nZ zGIM0)$W^H6l!2=`UzWEo&dZA&k>XL$MwKY%C}H%L(Z@%hK#q6Hm_1|m|9U}1c5Ojs zNY>b?sOGc~S95HKFctNjY_uEBLq^C#WQ3%Q-+~ygedG5dE5w)Ay$cS}RGkS@Fp-YX z%t?`xq9*OY72VZI_a-s7`;m5r-uN!-=nrjWeAlLry%1K`4_#J2m^XMH{eF^nll@O~ z@c6#695U3Uo}z0W=VH^Oi>&b6hMv;F+@*)ea8BH-;bi@PLFnWWw=`eofuI{Ql(h-@ zeunP<>`=PUH|;xZEaWqWef&RYaXmdmR;>>jc{YY=Pv)eNuXIcqq3P#$>A7FlK^NO1 zN62CQ2j79{sAmXZ*H72a;GaXbjBWtF$XejZ&%+B`_QT}UhT;RtT=WQS%~v!nLz+3K zKIbl>YuubG`2aF*L&ub{L8m^UpC0xRcdjQg0xhja8>XxWbK$k*&&RZH;MAd<%=K@Y0B?FpC zC(om0Wlhoq|0hU$lx1!QasJNOfTBa5-~vetME3-crH&~ZNLPMmDQm$7hmAp5r@lOc zK#!J@IdwT~4MpFj<;Zhm$eeuAIG4e>vPX!)x$r!|<>w=|m8|}mm^fuQr@qjICUX~f zw!s&=K(E20Ea{d(6I^)Y6X%fMtMYVY4bce%-LONtts(7-oTYIk1Ki{1g-#6$YS;OT zasTW82*)=3W`#U#uUYzZgG!9{l|4OKX$CqRWLLhV%N?!7hWc($YSk?&*@1n&rUcIj zz8hQ^99MlV(xI2A4hKw$PQq6D1R}*EYwktIuX8oe>wAy%S_jeLAgflm>h-lAHy)X| z^9V=cL%izs#U5Y0>o}p(ps&?g<4=2FZ?7eFm(^XR`g>ikyA&mm(&`<<{D z`dZ%9*Xb*x>5-;Ko6c>v5XFu*HcM-ki93xO%^oy+*sK^GzA~F1#%B3Bw#g~jCLhL~ z#_JXz(BZ&W_UK&8^N1|F)3UT>BsR-iak~+RB#5=GGFlyN{krvxHXGV(La&3^w)5L2 zq2y5>5+D|Tz6qVZ7*Tdeb@SzoMofn}9THINXhFwSxWPEo@gmY6)~j-;XVBwdFCxog zRd27&U*vwl?q2J{1a1|$*<}*+ zG;5)?2XST#kj8MTUmjx3u3*!fgK|dfaPUIiC#0db!3kBqbm;)kfT!r*#ll6K5LI?? zU=D5z77t2R8{8u*jo}>ZRB=rV{=Ac8hIXP{5M9$k7kO( zF>G7&uyOTu(_J-Y^_cBrb|OK+R$JJtu{*GBEgBc`+iYxH*~KdyF=f}$#b7(Sc;!x* z{(C&S=WbVN2}gfFh0SaH#HAC{aGrle6({nl(nP)_1@`p1f$~I$aFYMZj5Fg|{+v(! zXZbTe4W0UFushVH-V^@6WBi@-Z(9cc-|$`M(tp?TcW*+GHK8f5Y(t+kp$ilpC4+Sd zojh}H;$Fy#KIt+%n$Ef60}9QQ7d#NOM3>Km&+n8m`8H%-7~LSp;gpp*WlTMx6OvB8 z43ifK7dw;}z8}{#{~Y#BobvpC>w%nwK_15l{p`eT3?&C>Y5Z^Nz>Y~XypPg2YDiE;zAQy zlSe(p2PE#%b6Z2wI7}JSp4coSC!g8;jGE@R<&ZJy{M#10URfLRri?s;NfX=_9YVp4 z^+Y!i6dU|KBrZeAYFn0uqAxm}3(x%d3!nQ~x7Hm~`rs@4+B0JQLcWQ-(w6CeFV{p%Yq$T%ftg z^5;a{7I_V6n>I)%X<)o(W5TkhqkuEIrYrnd0ES8k8`1!xX23>84L14 zBP5;c2;bxpr~C;0JHa{sR>TH%oO;f=vIjYL09h~TuqjY# zxEz>Xc}C@#=vqK3O((HXOoY_Pmm4syv|A$%k>^f-Ml0? zRX4oe?0QR4^yx^wEO%q-d5vp0M_m)_ zLT(KE8c%5y-iX%)GaGHgbwN&}>nQljc&?32ikiGfZ{sP->){mv%RfzNI;ZJeM0RaJ zPq*W$pBoFl&h;03O>MRrR|e;FGl&_@BbzV6bphkM7~8cGv0X=79D^@(1@T?EIt4uK zvuE&sX2Jhi)@pgH6|Hu*Iu9@CO6&KnkF|N+CaJ9#9gg4NiePDbb~(;Qr?=baZoIt1 zwho!_eQqL-YXLl;54aGR(`lD#1CfUauA7~1by|wdn&d9aQQCF(7b#z?>bj=u0eC;z zUGosRm7{tb-|Cjz{c897C>Hgm2QLApqp$HgbqSD>_A_xI_z7AQb24l{9l#iFwMoYmI?JNh2zo37eH6!(1!pD7bXU>Blz6br$gQR&}# z{Vu3Hof4FVjmJd+OTsb{ya-;@QzU~Y_1}PW@NMv^kQWKp2ff23!gQ3E zN*sI&J>+tgw{;(}Sj$zq_?00Mh`x$KHc#BpDZj95+-}5KT}DHQV#HUiLxT9rVI{-p zX&qI`;f2FD!rRJ)r&Ty29FbHWq=TOxbrxAWPj&l;jidLYi`)#femFDc>X_-j&iHk~ zuWNtZhzuTfOwLeO1Q_jGtYf%>O>A(2imbrd+QkOCwEmOuOWdg|a9ja^@Hbl>I$kVoZ=K^vK z@@OiLs_oL zeUeM_6$CDGku49}0c5QJG&g9b4X>WN9CTAg;SM<)^MBGI&(8-g_Php8nr+NQo{-BZ$r*S+ZYz+d^V5Jw63N3rVY|u zq-z<4YdIT`eDX}0wT|cULWX=(M(mXb|4G(w3pP!COV0_t4xV35(`myFAVXch>_2>` zB11cZJ0W>x_~pndIpaICv|JfoJd2_mHbl+?8VA=G8gbi@bphvaKBGCOuGf$WByVfJ z@Cf;iFy9lFmJ!=B7accs3>p3|nscX~%$<-rNA>sS)OXG;y`GcqHl9OdxQ>Z)PCX9> z={(Q!KMUr>$+I=z&(nG?EA&H9yYGHWf+upW!ov#lkbQr?;xhOl@qXW9S>@#@BE?*i zQrx5Lg6FZL%FZg$LAQe*1U(9R9P~11N!4VOkSeHJj6$>fs=a{k@icfd^6rmSXTylt zn)zrCccbQvT1#uKt-Z7MuG$&6HOa4i4c^6+5VnY$<}WH6ud+r8;As@1fYgT&H@uCh zXe$w`@ZRAq(~TrnA`s~aLXfV*zbLN%u6_a<$?ZqB zNI`?!4Ptc&(t1@|HXL3>9Kw$-!<%^7xC8}d_ccjJcj)*}59#jE_f;|3Ox&X|;AjCF zM{H0TBD)ZBbh=p{yoe9Y<~C1nepGo73tFs(2f>?^T->9q#7zpjML%e{0XHZcKimJ= z(a%nO7T;Uhe1S%<;afz&x5(EGBx1U6=$?WW61liz$?kCyU8S?oSNee}BDJKa zt$d9KJy*le*wHH%*&qkuYaE8JvF_`W-@M1I%j|Erf4f87yUh45=DUsGZH7PL{jT7< z$Li)Kx%V=76^Gzg995x4EF?7(8UAnJSIq6R6j>cB`mF4;rO&xO=lkULIng%<`5kZj z&amd;9wte(mfO-V3;7+)_-9MG1a%Wr8kUTJqYXObXlMUj$n8k)e;7Td-}krCT4Ke3 zwJ0t%_s4ngABxdhZo|NhxS!dE+nJm28{&|~u>`j?>(FFQdQT^-7IXVm2kLve|8&}r z9SA{Ud%2{aY!!Z#ICRC(^|-Csh-?jJW?VxhfSBP){&o^ahaVfxh7yIt-wc0?hH|{M zxsFzHA4c3Ad2i%0T~^AA!ctxoqg^&;&6w0N8~nqM6)^-`Ap{oUbEw zyz&%sCtg$KXbUIaLy4((6Z8MLjckk+f3ExUI0BGf|GCXyV2bfaVb$O#q=)+NaJGkr zZV3&x;XRn|jq-5rugG)h_fC0of%sNAI+QJsNBbV|DHCX28*~nN4zq@*rRgT0a?Uwv zBCGzFIBdEM`)+)GkLHUV(RCYgl#%E40(a>l&*_BZ3ypX;dB-;$4&LWsWo1R)uOC3iX@hn}-pTuS zbn?CYuC)#7%OJ0eJ@5k68MZ<9U{IcaA6|`%{s_>-j%CP_?;K*sNf%o}ryWIu?Ve%A z?~7s6rDeDuro8Bg4Z<>e3Cu;u109ib>F1{`KMU!PHBDp$ioVPRiVc~Y&tl@jZ>iTQ z&mQIerYGMCAoaW$Vn^AKf%D4P;j)U ziH-Q1Xq-Q|mp#0w)e`IoAGM0X ze(*M8Yu2}Uf&Jh`>;{*%UxB^gruKW_CT;I9+BNfP-$m^C?slD}N`~fkzu5hfYC4dGecrdDe&aG7dR*8ZZ7-# zJnZE5AeQF7%F>CpXPHZEfjy1pBt)eoJundn@b?&VAp9Z9@+3UhLCe zAp15EyR@yyyuCLdT!n}8e3vCav#>{dGmx3Kse`s6%l5;d#KFmf+4h(DwX0NRrbj>B zM62Hw$e`V$8U^fCd$HBSjt@IAENOW1@TICQ(<$u2W{=o}9oXp+B_kFf1Usn(f9yddOva=v?5DVwN}IgTU)Y~}sXXqb&eiqrrHd{fq> zDLUUbhArY{boCle8O~*hP3j3vK|LQ4XbsRTO)sOP?G}Q^cOh+acrfIDh8MUSgLJ2^ z&;(kB9BF?UYm!HO`S}p142Q`RT=<-OwTuVQh2iGV&#vYg7n&1JHlD-DleyRtNV;vT zBXVwoCbCZGmkscYB1;)BY^k|G<8xFF^YJY3JQ(~giI;gU%v~5lCyzgW&V@$4`8?)a zWK4c}IDbEEhb__XCOpkozdIV|dK`Q%vCX;Vn3G1nM?=mzWG=dH&G%|3bMjrFSr~+z z6Zh+3E;7P5c_K?5aghHmYS}$o-Kobr@)VOVF8SM!_j-@`Nt5|Ch4& z3Xbad)<*}E!8VczCfXQmqKz@eIDlbWHeiwsHV)XN-^0J^)HzkReCs}(y7y_w1_Tla zi!8Q41c4ADh$vt{ATr2+L=rIMAR$2He7|o^uc5VnBm10(uI^r`_l%^i)!l1-i@i2o zLuKsVXW3NxaG}L)suJ^Ni$4GN=n8Iyr4>d2YqR(j#!P1dFrI!I%fzmOe^xAKeOt|G z-})*maniRKr+jCsU8{b*I&n5H)*#B}y&CJ_kxh_TY5HSZ#UEqIsOhiYfmb$1%0`_* z9KragX+VS-2M_E_^t0$Rz`-Zg4j@`!BBBNE)LCbu0|)?ruI>e#;3Xn1U@p$^_SCys z?;t#{ef6)y_nIgvgC!{Vdb{C+hFOi);{JbXx$*rfMOw@jOXIENZg?BcuO)APn zJ!!)-uIJmnXuJHql{lk2|GvN7)OOP(=6UA_dn|vA$$(EjSOA|bRN%Fw{Ro`ST|*4O zc%07V!*hFzv_OByk-%&zgy(j?rhI zyisoXS9IA7|BYCijDlX=b$!=>+~{vWs^4+vG5oj7U$O*L2*mvue7H;S;CN?GA1?c= z6JL$_I{E9DiG8bjtn0BJXep0S@`(WMjCtM#udPT>HP=X?*6dyZr1M=yxu;}+wrBO( z)8`0)+m|Btxv1~$zN6s9E&4Y9+Y^X<=3RU)ZsYgjEbX)udzu80_D3l5^aN*VBL|Ec zFcvY;EZ15vU^GtEh^YAlUfn7bdAbI0_MJFWJ2CLmz&Ie8OvG(`zCf}Q$Amr}@8X%d zH)GID+`!+KWIfm5m&6ZF9Gn6_FCTcCPX|xL&H9ERc|(Hm?ykv6S;Fuc!?#%R&i}<+ zy{j*=*iYAqIa#O1Mf!L68`Zx#_WHL=x}!YPD=%o~VZQZVE@Q*c)qWXy*q}W&^2_i% zdaAE|Q|p~XJ+;A}jWm_Dc}mmX=IPkxsU6qY<6PymSNZaKm7}i8D9t-3-G1*YUwhjI z$0BR&Dvvf)o;|;-fQM%DIi@a~SC=&9+d6z-2My1w<2Q85dwJBeX&l?lUc)<9Ik5{n zUcNooHQ2joVEu4{P8FQaF4_B%A=9)qS3Aoz1Yy+V}o+! zQ&z{Ed-WVkKg_dikwzJt$GJX#dA+SeT{fFWJX}nd!QCVXs5uvDos6A2nIM|EFVcs*q31-IZ zjM)RMib7NzB~Hb89PX{e(cT0}s5>q&f;Zq)-j~$68`{sse1kG-*` z{stWE5s%_Bu7z(jh;MkK;qpf3;9iy>z?86o+Z!JMa3I~xYdGM`KtSm#U{LIbb9ubU zDIE1pFpg!>TMy-+Z=Ck2YPJ4F&u7St2Skxj7 zA*4^?NG7zNje|bc9DUS!msA=p!R2qfT>a9W+|oACHb(+U6W?3$-UVF#o_~L8yTo=g z5KKy#_H8%WVH#;@yoOSPN)6+|3JcIM>4Ee1Pyz#fsPmhx4$w zoGAd$BTB@21b*%n$MYzHJri+dyIz7jcT0FDolpjN=F6q+oFNC{fIb>3VD3Cq+(Dmn z+e>_iwRK}w*RA0KAENBvXZdsfeS2k<#$Lvz=l?xvn3t#H7@n&#rYD^(OgHZ;(t>C{ zG_^??(sj<>J6E2qR~{{r3}pjm4f0(ym2(VTd(!Q(t`n)JtZVeiS3Mcy`-`NbG+R$; zw8ydb_E>4`b*y^qd6#F;BaOYfUOQ2+;h1Oe>XT0Sre>Y6t|hND?fpiFbDQS1?HZd7 zN@l{*A-=k08VgIqf#5fk?UV4SZI3`JkRVco3 zX{95Gah!r%=`}#hURQZ*w4aRJjjH(HBcuG2@&Qw$yT8WaGp?mA;br<2(G)KVKf_2Zsy}cu) zGm{YYcp9~af&gD*;mnC}aK`~3dy~Mfos%2vB@I?LC;&osQG=Te#-e=YLb=6GZM0GH zsirngZ=8Xf>`X*Jo@vbZ$2m=sfs(xlE^i*{5%FGo$(t@5UY?^SHVri0-E=?BP{$$S z@gZUzX96+e1TeAV5b1cY`D2N7JpRsXxVeW>hiHtTV$W-t20ZNTK*HXM6VxjLsz&69 z_}1yT?t7}Zzr6pR`Ed$d-!Yvgb(-91Dv+-i zBEs=jr$e9QeUkI(!A~zBd+IUHRCyQ9j49rOKluFN=i@rh>g;yj)Hz%3#CLU0>9P}f zQ@j~3>M|WD)?2=Kf%DbUu4CnF^#GvMrosK)@60iUG9MwXaZc>q*kriB+hY&omV7R- zs_Fb@qmohXR~LX)eeWw)FT;f$YxswO17_bUR5`_aM!O10FG;0*) ze}5bf?vwB5{g44HiQ*srLZQoxxGNtgx8;lB-0nuDqN}(u-!A8=M-iLo{xWmW8aS`K zC(n}`@~4CU9Fl~*q@_b=AtPzYu;s`~IzKF9_$tI2UJ2(Ub*l+qHoIQvgpQ#-n*-;z@v-vg?nG`klb^ju>vh~6pZXR7Pi-;dgMsE4L= zm9^LM^2y6I-(Oe`HaKo?JwuoWx;?hn^3u6hr1e~5->Vw{-Ai*kvaV-t%j;Nsc^)Hg zKbt)+BWry&*Q4iPu77XTe;DDr;qMaV*i*JV+Y#xI4?@>|Ht)D8Wb|j^dStnt?rW&$ zJtJ_Om^D@3Xz{QA8jYaM<)|k=`jx4#Y(NswJp=_X1tk(ko}cHQrQt zM3qrhCL&~WR@DNOkJ%!pxFywZSI?_)6Yg+njZrn1)l5g>O}fN)Yi@aU>#G{5dGWO? zuU&iX+3WFAGG-k>2Cmi`W$MOXj(P+qI0P<`jv&no(U+pHM;ApGN8gN|6+?)DwA#y% z_CweAK2CPmBHf3s?`{(?P=vIfr#Ri62IS#9xWB=A7f@<*ww&(J> zGg?9iiknU}C%gm-nBFWIr@J@d`c7;n1iyuQ;$1c%=2l!YLJyidjf zRA80_8cZ^vYcD>V4A=N1AlDcu`beDP&EgpE0n)JB<%|RzFx(&&r^06taImf09yrDa z;1q9k?jYo#1ZTkvIiNHAmxPQykDX!M;o}lEIue1S$#8`WQLbfq_r2Zk0($LWkNI$i z_ro1N3WxYPPKEsd0~iO`wd8NMBXsn{H&?$2mGsOZy8oJtaRA(VWAQ#KAs7; zs0KfJK~&g}o)H!EXA~;n{{1^c-ywYGIG%Tg^0W_tAGBq3Z2JCq$51xY^nTLOT*J5D zk9=3DUFGXMQXiJF>`~5VY}-0EO~*mV>DZRF$Brd4+1D?+PW~~2L$zxN!fM@Q*+_h+&Ym;ZeJb)(p+GAa{S6)vWVV)V=G#%5nW6K)b z3D)-GL1|HLgNhh20WIISHj5GEvy!V#Uz;;T}0R z99MNVs+9BWFjzGc*(}GZ2dfuVpI#%m#!`u(yjtTL&JXw0d?FRf$04)jyj*{umdfNg zI5kYhso_@CB4=jH*r;U5kj{jwG$wkx)FaP?YZQcYMC2u&5}tsAw6N|nxJUbt%@UMo z%F*?v)H{c>z_F4Cy%(+!k(K7vUsHb++@O6p2ONpg3yH=By4z@(IsH2g2PhOh$uqyy zH`f9=HiVc&d?!c+vdE`3ZK=kBjK}$-($zMsc6lAqLLN&a5?<{yX8Ko4~pn$^U z)@yO5w_GxrC%5HA_PO^Szqc4Q#;3u7+0yQgoZnsfpva1XWR^1XSH{CpN&ct^SJ#Qi zP0mO3ctw{?IgumkD|3$Bt}D8(>ADW?M*&Xd z_I2A2=OaNbq>nfyUq1ZOk0{5va5z@r1df?1xyV!*iP~^izrF=LB4!g`LT$Lm-BYA4 z9OE1x$|dw@!FbJ)Yv>?O;aK(UG8~Qc-Ya|G?7afWLy!AR>zgFG!t~g*#n=DC<;l=~M0=JE zUBAqlhEIKMXGL&Eogeu*c>#q zr(@U9bnfNzbE|FTh3A$%o2O&i^hJ^ZP1gyW9G<=)px1K@QQ~r9`alq%isac<6;iFf1>8*Lt8mo-xSl^4z!|yWa=$?Q& zx*o?acma>ipqbMSo33N`k?4VPWT_`V7xdKQ`s{;f9SUGeSR!K6+j};F$(_^j@9k zbwX97Ls>A)o+>!r@L&81vPU4RIdcC{#p5TsrGO$Niy|G&GfsVgHgrG^tH!4L) z=n@Q!EBT#yV0971WIYf_x8VMq!J^~ejDPdCpa-pcD+h;(MQ`1BYi!eTO;g}g=Qh0tkNQc| zIAkLo#BDkc6;p7exLc5e?%+m!!#jIWUwUcF6|FK&ZurGk38)`EyY+nBobPL006+T* zf=68-2OUN2g&S?=g%1z!v|Rzzpp~d0eG2#IS?`~Ie@45dxItfx>I+054P_w_Cx}JK zZnwYF{`iOYacDReM}~PFPRNnrvX9n$v>Vl<8AQrFq>I1_Vg>0$?Oa=ok=!Mx*BQ-md%LrB6d$hR5*IlbqS`)F&cj zlvqG>V%^xSz!W_NkNp-ZJrhwh6gHYAVWWqE1oT3%fL56-rExvR_n6ot5m`z(J@zBZ zJg#R#&n3VBTHbTL92$;9#?mqz7v_o=f8v`{-<-z5A#c@Z^_quz&Z#Dc>2R+jy^fkN z(>uMA`pg$(pmoS*+Sqp!YB=QeErEx>5%{8yB*^q0Zr+z7$aM2}TfW=+T>(&mUcmFu zgzvu%MadXwItnGp(gtJ?2*@sA^!JI_1MC9cXn_QoW&me20kxX%419nC#F1+7o62+SSTvh|%X}xKHT8Z! z*6#!PUVA!c&!0Vek+asaWo#QZ-8(KLXRZ6Ua-L^(EIry|3)3(TqNzQl2Q1oEd>$X> zHjVNR4PA9@e$diazV?pc`OwSwZ)8Qrtiv&FsGjJW&#F9KLwX}0G`+}U%-)vQ-xXW8 z%+C<(2Ru5qewp7D$k}#mIi*LUkr#z^*q6um(sizV(6hGRGk45f-=9T4ZhhC} z`!Ek${IE`h=d^kHS+x%s8|8gI>N=JT$815g0Gf+NU5s;(#Jze5*x!ZgycVwWDBPzPRv8Nrq$O21!EK&aZ8?(dQ>!nmz8HtbTL6Nz zyvBZNZDpNB%S~Oqyz(jbpAEotzX6MdNG{pgx3>a{}W}(p1nRvf=-X(mVJ!e zvnNK)joO0jsqJ#t9tt;|jobEp(MfQo)8I^RiAfZ2&G zgS7kuaGi^Bpv>Hm(Pl@gx+S%a*G`w>ifqv8BUs~ergo%*##@oCy#CD*NY7_TX?)Yd$^K8kRN|12UTP<$4c!V4EB*5{nL2CXpILA!RU)O2}05vbQ zy3=Y*YnCM=eA1)V&yk=%9{@^c0ng8%(mVu}9&MX~Y^ss(UwMC|WKk`}ZTe-n!}mW} z)czvi_zNT%pSS1xB^7@S?#y?gN-x1O7Z_;%GaWa4eBk5po#IS5>5@)qo$@*r0+xUJ zr>g<2RPt$}+?of)1)e1!nYo?UbUD`LWS3J?jW-0W6xVeY?#n}|`J6Fm&a}asQyDF=7(Hgrsn5-#hdbx0;XRGaHS#uV3y*Z{6Y7J-Bl%C?8^$qNP?AF%8D{ol_*=;&$OjXxOpd|(p7N0WcN zCO71Va5tWTI=UgqrF^*|zkv*?Rd8A_r-E7XoVz*Cx!srN+<(@OnHu?=JJR3w-@Pv= zFFNS$cL3iD_FQDlJI1C5%)5kquT0SJ2FAYhE%bd8mNha;5BH>_h2^j|$M!rdYrXrt zG{@2jU`#$~+VlT}&Q;ene4o)}uRQiL_sH1%NMp63HdQ8I*-@I^JD#;|p6)%=HhGli z+_m(SuRZ1LvD$Pj9mo9tP@d|z#&#tAGBn8P+_CJc9WRY^(x~I*Dcyb+j@8#uo64t+ zNMp52zS^{DN>`rR@Y?rV_H9|}iw?fK@K|Z)^O5fwn#yEa@{T1hwyZgM$`5+zA`9E> z^I*>f-)Cfq<>^>+rBjx4zmbzMZJ3{Zz|hsU&zkG+p7Mqp9nOQ6obsC*K5g{3WF5@e zR8DY5G3U>gKAqC--e=jebybFIC|!HMwT5erg>U8@`z)T0*^@{6uEp2&*hiA(cM^qG zDK@05HdNND??$j4rdhm5`nD|{Q_ivU?B^62i}!anl_%f3r9&IEuYCTDIoI|5)>!G< zhh;1qk$5WSvup{?%>RvUem7k3)t*--2p&I+@@dZ=bMDpA=kP<9pEEo+vR-}4sZ7us zla^rg1E70(@*P7)bUk{caqZtd>-)RK_^Z9%;{84e2;W#vK4^~jQH5m^%mgpdy7dBi^s9|I6*#GF2~#t0EeH^a5Rp!|AhCRjewBDh=`rv zcrpCEhMT!2$O|6xS+&XTKOxvjoT=^Um0J{s20{8kE^u)M7!) z2f#+S(CT`tqE_Qt$H9}2$5Hpv*2{3*&7|HWSt5?Uvk)IU9!KBP;pad5bd-VOA~gQG&$meOSm@9@ z9f2yL2-y?BQHbl}B6*Ae`A={F&eB^v1SdfL%C4Jm7|x^cG{nm$Ii=VGJOVry!Bx{^ zGY~8LEOyCPOU)7Z%ixu325Qy)dLlwsQoE;NH^5`?<-k$M5gdgDasa-gXKv3K-z)}P z*XeK0;Lw|;vu5=Q#mr6z`27SNaj)xBjQzm9KJk4M`Vt1831&BO(7h7{i@7UU4J3t$ zfWluUWwZ#s%A&MFzz;nBdE0@gJJCA6;o zbVp)miJEZZ=bJx2`1v_f%m~?)^2-hs&nm$FV9}s8gR%x41Ni-7l+4Pcd^QYyzkkSqAsIur%8ua?0%P`L&#*cK=Ec22khP0XzpPz+xKYfZ zMl~`~yV!~FKH)pXEr%}eAoDKbd&-AK8*Iwsm~_syR~~!ivv-Z0@<|gt&-=^=I-AOA zPn!ETJe9Ni{;;jK)<;;!mbJ$Y)?rhc+Tc7up2wET@&CPF^|UwNA@x+w+q;J6L+_L$ zCv@;A!xlgzjbpDpo!dN)wUO_5^f%#*gfS`H!MS0G|s~`^SNzZkQm zpND75$=L8IXUp1STTb=Kci8a!bz;lvQpVP|$EqL6rp=>{Ynn~hvD(z$fh>8PvvJNo zfTnczu9>SH?J3K#6M?Th^6fEY?YV1oZJOHW-X{Ea06CRao7Ca=$nR7B-phGb+Mq0( z+Gao8(A8d3%v~cxdyW}XPv~Y&I%(Q$o21!u85^35zJ6>3zUMo#ZRl8geO7;@bzmpV z_t?~D3fnRILG)po(N`O;k#UTS_Fj3?)xNjSG~aQc92vExy;oo7*&}IIepGB&3vz7%d+F;b57e{`>xTU-GCYUFs6J) z?91n}?RjlDM$fPMI)@F{8k6rsYft-TY}=J*1g}3@5PX@N-Ydts8-b@ZA9#TXeA^~! ziTzoSzJ5(*N+Cprv3aej59f+dpV`_}8 zv8=`#Y_zT*-S8n`<5DEmkoAp|U)}fW2B2;*u4u~ZD_{Q$7a(f{KCZyjGiDS$V~ZAH zlf^n?j4O(do`J1Zdh|Bb7vuJ7Dy~7+#cYk)7E=H~xoa`c5nGg6yP$SZfaNA)tHmV5 zQFTYxorcO0i|S@#n{@(LBXWmNX(32f^naHkyRUqLjuv8y^<< zxigI~H!f{_2erv&HkpfyluX1H2Yks#vy5uSjX$6#Cmta-cw*DQBhUT(FhbsA8Que2_0eHYs>x6R@FEbGZt)f4v|MC zZAM@dwifk|18w)wJRvD`uCnCeZMKz2JT-c05tP-zl zw)NO27dCOYu-V&lAJQCI={Vt=z26*_D#ur4t2Q6eNeg=|!UfK}-iv#$=zXmBwcg86 zA7gpnBYm%8n|817vVJT3Wg#kQbH6S90{sfHX=C-{$Ni>#I}0Fqj8RI%We%g1SOs|x zE_IH7SBPt!tKS9sZ$|pV}tknw=o7H?*=Mx%tY)`;gH~v zkwYgB-8A$vu7joyn}gbBhk-Y;YWPN62VEF`X?Rf>b0nYfOov~_GwrGyv!iZ}bPIDt z-)DU9@tvpdNzQfbSYy96{xtTbjLQ1Jx7+XLe*tN((G|X-tDa+cI`><1%7^KAZ*%N| z7KlJ6kN+PW!;>E4;buLhyP)}ujMui(wO2kr3vF|*Jjb%3H1Y$6F1;l~`5>Cl(Ablv zYp~~B`Sx0*v5_xyJc}*oH*{Nv<9}>w&(fz(f7lOtXl2%e4CmU)tYhe9Xy#eehOMVG zl~*6arqjnD--T_J(_U$|Jb&gghkSrK)K^{fj%gxeo-NEbpH1zvFC&LJ^=-b6DaXd| z&!$DPp?tfiUFvg>!Osw7?2zW7k+1TkY4h6G?@MG=$MmWb$(GutKA*vb4x7@ctK)DF z+N-glzmNCOlg>G1`8UJfL1QmE+CwhV+$Gah=^`S975#_xeLKG4+$d5-yhD6e#HPZ`S6p7PX=3pyL= zr0MTVz|j0gCx|&|lyT4~uf5;Q#kS#xd5{y^d`>hMd>@+j90$Kv`MC z@V(;%t^pagAextN&*gI(8C#aRwj9Ug+jN&QmYidaRW~FbGr4N?TP-?u?lTmaA?r}) z?FKMIj=pmGl@S%^R7|dz3fF!rZcm6DGCf@E?Ovt%mD40iU{B>gtE5y(tGcr4DinJw zuKEc0AqT4!Rl8el7K*(sms^xsH8N|kc<{cOdjO|5`L)1nN8r+r#ofs=qz4?Xb);5) zt%6#|<@Thc*7I5~1Wu3fO@Bm9LXnYKk~pvg4nA*BLIs2;z{#JD0&vMFKe9jiNOWAx z?3n8@f7V%2XH%W*I{U?;C#uMJ+?uQhsNOcX^ACV0G7UvY+>03X1fo!A}kTNq)i5*oSq@ZDWmNQIO1E{<^w%s6I|~n z?=NpR_k(0{xc8$}+|>4qfEdlab5r#t|iC*+-$`BOyoI?RXfD z_DLxrw;J~!YvE=WeliUX_NdPi&ArDgIM-`%^RfT)0u$|&id&Bpo#%JihP#djU8cgl zW-(wFX}SBl?&_B9%iK)`}e+0031yY1$-wy`?nl~1xAO(ndn*QVbAI~6ceEF8clw)(P_krqa zKm2cWX~(g2)vn#scF-fEI;8U*%SN4mN6y8Z?>&{b?UE*RkB%+l1Ft>wn;QF^mv`qu zTjYx@dbLBEj%OGqO?o3wepsF~YaW*K=!EIUhUz;;&dVoVWg_(|uRUeFe>>zUU;Ci3t8?ugL#G`# zf*$2u^E2vi{f&~&=6%K>X%^kF#x~vOk@MOqqi4Q5rHL*-x3R4~Z3GSNck5Y6vt@KG z$H?;YDa|XVGNeaQ4!yq5^mmuKUOoM;NVj>jCcie_Bs>sE z@ZoEZQTaI$8N|DQlQXu~gjz|GL3|u%{by=jtTiEOj-2yvk!`?O*#gW(@YGG9Yi|I$ zc3#Y*m@&2I)SibRsspwCz|NUmhiMPnOd!>RI_v9hMA}0Tp;ONgI<>Uk+IodJ)h|M} zFwgXp-dOfVI?Bf!dgCsFsJ0_tm5?RIRZ=9@wA|71p42W} zWwM8N3GVik)_=Cn6pS9`4yR+|a0KC0v$1XXONz}D0d{Z%QY0q5KN;m_mIH9`CbEXp zkS0;^0jn3@NBzPH*hnyZ>VTZzvyx#6!l?2EfqQ?4i^v{c^HG*0PVD~Z`bTjc7j;}J z)ePq&dw6s>X(A8XiEF^&Uhv84PYOQ?qAvAyY%NA&YZ0nSy-9+pW|<(Wtq7kwg8-@v z*j6NAQ?c)hgQhmMi@Maix}L(x{UT%&AHZ3Co^#B3iUKrqzH|kPdk#PcS>bRof~d60 z;dUfboB#&*MQk%he@zr_)~x;$C-hfMS_KQz1bS?j6Z%;_XZM`jGZ`C0G@$CDQf%6CEAYb?_ zFuN}aEa7wH4bS{>F;3hUB6Ij8wjYEhOqK);B6uJC`4mpwAIP~o(=OaWHwK;kb)$q* zG36rBq+GDx^&C`0oR74N?4hODhGY)gJ?u8pE>=t8g@GfKJxC?SQjKUB#v{DnAm&bk z8g6vxy<)#x?01cq&UcOze)ojpNc5feZ@nd_HmS?8i}ujGFFE(>QqD``JQ7|1Z>b&1 z1S9ANu%2t^-t#o-vgw)*WF13euXOg5i$t?!!edKUpVM#Y(^gm(w(YUaqptqHC{M76^D;Idqw?h4vcBIuv$ohVwtiQ>nMYcK_WtR)o5D_zHjEv8ZtAiH(A0(x<1(K^ z=aeyH?Nv_a+ACdq(jB8q8rQPtk>niv`+$zhMCxgaEkVC8Bku!^Es~B+^UB%tfa;^q z{D)`KwH)fGo_Q9bVH`AcpT$>R_?f^Hnk7qlw)W;3R5k!w(D0PzV9qh=t{HRgGh_BT zRvo+lH@>B(a<)Fl0VAX91UW||Pjs|5--m1QD5G-P>pB687sOcUx=tk9wv1zRymoaS z;>YZ%7X40(pN9_n7opIXR>-UH7cMuRRUjC8{wsd$W{wIVI`=YerIbnwP~dW5r6q!c zw7JrjN(U;9kSmV0m5VFCKsxutDl?JNy#q}WP1RU{ufn&-7fOYG8ITySJW9g0z zso^4iiD}%2ak&vh4Aaf%ThX%-$8-cqA|tS~NklStsA|xtx^wELB5G-I-6go}SSQyV z+XYJf46s7)2#EUVdP%6fejT_-ld#J<_(lmXJnp`+8atfH4OSpp=|O|J4fCX8(0NlF zbAIDg0H!ZOq6q5-?L(5tB^1e=gq_YD>~Yp1J>)=>Lz3)WfLiQlnv8gp7)ZPXS!{MW zqk(?Joz6N*{AP@jYk<`=-kv1T>fGyW#$IPWkdV$aKifQr2&GV($kKOi0bG6IyUVfX z*^XV$L0pks#U;rxT$3zlxd;~}SC9_Ax>XkTJKI{lXf>ks$kt<#Lb4X=;Jhli()v0s zOL9?d=ti5{ZN?*YBm=vix$n6^N{WAf4w6P#R&z6wM2L^XeNJ5a)b;^fmz zwjm~owc2kWBI$02`+}1+vf~`t-P}hs(&~?&Vuv%SQxd?`ccWr^7Irq5v9lSEosIvq zxX&iZwaJ#xwgS)e%x4)Wy?F?r>V#B(E=Wl)lSX!R-re~M5RE&6n_sQ-xxp#c;HNCTei<%&4NlYTy0QmJg=9=X`u316=>^mhAiF=*t{TJf8 zB@bw+7yCcNj)#{ntXp(oz%^7ZnvCL{yQFSWVYm`}#t(;nC_we18$ZP1A|`*}aqNV~ z<1%J763|%@emC|(g}8>fCW$6{u?LziS1|W~d5B6z$r5>V#azY20ivB4t9Mb`XdV*K z4*@&r{NM|NuV6QnJ!B$a+4l}DG->F2P$j-pE@tk8MwLlg6>n@YSaF0gIIv1u|k^oTsj+jO;|w4h~E?UGks`#YJx<3+MZ`Qe`b z=PIYR*z4HlsUHx~=Qnn2S@Jk{j12Wnm(KA29%CobR#{F;i(Sgw7D4j zt+_ro`2oXI8hg^&3lF``i!{D!{%%x{{&5gCbRO0L?RW4T^lU;mJ?Hwl{f6c;x($rp=J`x=? z$_KqXGj9reYMalk<1%*5=Pg4s`m|k!Zpnsuevw9qZhIo@?oHuJ!^L`_OC}=cEVGIJVaWChF0uF)fDv=K@@NECVDeGsTwy4prlv zxFz6bU=cP0g#ITG>cT23s;t8W$CWA*4gCKlL^_?R_Ndy->dX~C20W)rQuUtYLo?-? z<8;j;Yz7vgUeb76a%_5SC$isC!G?{;6>L zx7It3D-L2ig+NjFB5~p18^@)9=(YMq*Z?d+%EH2i*(ev_Hp*x`WfL%8a>O$M zfEvmY4^>Z^i7mhZfjo_Wa~6^jj=ouh%T(!y;yzooy`GPw7X;n43l z(N9@z_O>|yj3)x1-ZU{##ce0z3S$Zq4_Gv`xLpb&py=2$`}@iV*FPxzU<9r(65B6m ze^d&H9{(_|Lpt)m34MA2Zv7mTAYiJ&vW}UEfI0>EQ@Zv$KR)@fUy6tl0`+32v`-Gf zxgY;&E{cdU7kpAUD(dNHBR`*v$f!-9@Ay0)kx>`n;NO9RpCT2LrbyWWR!sWi3tnX~ z6MSLU^9`RS4PJ}Q(na0^Bk0MK;!?}Nb-D+f1@kS^ePj;oVHXx)7VrRdmmcB^nUH}3@*m{ zEOxK9?4CC4xsII(bpHQWI`y;L+JW@ zaIQQPZerA!z z-F5fFVH^b*&}5+K7r8e23PMw`y#}uj6m=^<5jN7S#G|Z;_idXHxkZXA?n4S?>G_e-bsYKkM1-J zC%NZ4J^m!|vsn_C@)R}V8Su{N6xN4N@4TV&M#QLW>3qG*HpHY5)Mr=Mi(QM5M@neV z4FL9>{AIcnz6?2Tmt%`!Lsj7EsGa!gdSlRSIBbW1z58pNAk**pEgrEZ z2jQ^g8;7k#B2I!5@cwAn6I1Y#G49P+?{ePDdY99pVx~mZDD>33)OWD=Z&&{=Nw>!; zr!>d>t&;9qW0ezq{A~xpqmINl8#&HxIga@b^4f_cM_C8@vODnjMQajyz?kqk8T2nLrDergj|6bt2Al)y3IN!ez=^KJdOcprvMBIj_RoV=g#LK7zw4m~y%6ltckeJ@hfJMAgZGqf$ z2c+`PRmAjem7}gwr1d2rmN)R)(brDAb`FPJ^iWs{=o!3}Nwt>Zw)=do%eAi8x&dFs z56li8b;U)^ME%PxQV)p89b@3FXjE>uOF;`u6|a7gMc~Q)bKPC^y zkUH}=OM6dlo`mD4?E*ZW1(f|w&C-QI6C6J@GLnp@^|4)@bxYmaa^QDwu`#%?RLn?18DeU92DhznG4|X zLSRyq2zX#Rj)>->(q$IzdUNHLcMghckHj(1${rhV0L0ojD-p{YkTTk*zoGYVrS~1c z0iH*K9HGGv^*w8nIV2OnaTNt7!bUq-@LxcN)+pu+<4_vF_EBJbw|?(Q z)4v1lNpmb2j%}XU!QZMaqqerE9P22Q7J} zIiPvvl*gWY_9~;jEn|;WUVT8_yL7i*h0ho^3zUSmnyoDUTjrx12Sc z2+yhO(2iU3>mqIo9T4tTrR{KKnD7pH;9N z9ojtZk#|5NU2SvDvGhh(*KjdczRE}HDHEU_%dXG1+bw2U^;e=>^!@plVgK=8afqp1 z2B`I|QWoj32uoHfLi|j6# zL6}-)AV4sm*bq~-2Z&e*rZ6Yd-CRU$aeKn$MH(=MnqDcWjvTw#U`z`D|9wMJ` zM$Nf32`#d>W?{`|H8l=q6QL>eKVqN_eLMYndvD+-7dtXdur{KwO7^7$A$a0I(f(>EUa^_&iy)T z>+;m}K;6G^+5Q-p?NjO{N{sD7WEHN$3F?b_Bi>*Q(k#G>9F+Q_GwSaHRv=GPAJrez zU~+@M8XQ67Eiw#oqIw~G;m+K`%*Hv54@kuAwZ>DMBsH0b?7~G-Ug=bm^G%8*yKo1t z-VePw87Hh602{gd)?~!mreb%K+w?Ln+4;SwXar!!=MRtq5Ep8#g)3?`=gd|h_qdUSldh3 z8Qp7jztxjg&w&!SqII4`+9tJ`)n+!%X9?7P3+0!_w#`JW?G&8MKEZD3RJ&*Gp3C{{ zQe4O%mn-=vAEW}Bgjt2$IjsloAFGj$?=Y!D02lL*JFG%J;e9E?#B9R+j*~xLiZj}^ z9|r}PeR8KMou+o0CTF!bky99ltNF8^-1%e#VA^MVx>7O=Cz%u61D{R*d}bIEut4@$ zD>|FmBxqvRoLbPomat+UQxhPlkXrhXN=s^`fs<8OKPdl>t& z7jpJH>gzFIk3(6fNwP;<-aWVb!S1KzB)GKu#2z!TUnA7X;~vaHE-(D|{=5%o#(98& zANdPobm#xF=9d${JOw`BBvT}6&!AI-E)Tjn=+U5Mzor8SKIOLsC>XU7*Z<61%o|*Y z0DudFFJgC?G=vemGmyP_WM~{P0_P5!KWxRYlf#OU!?+btDrbg2l&D?o7qM?_PaKuy zFL6}n*N>T3zea+EqoVIa*LwGb-=}!5Dqr7+I%iLs>P6zKjLmaA>jW^j`L=!USmca8 z?QpKTP4TYRxxW90d;WK*J=O7B`pTmn9XsH2tn%!2tTK^$T|W}frg`n@T-Q*aN#~+# zp20ECS%#<23Yp#3=ZGj{{cOF@#Cep_55ku6Z95#hXpV_?Lx{HB(^{X9O(fv+uq zxtFFqyLXJ9S61ijb?jiQf8R=@ttHko1uS`c9Y5&yXSemka+J~Uzu0L^T$f|&x@PR4SGvlPuVcS8E<=Z%pc69&m?;1K z2X;1xD;%v5F9oEEfp$Kj;-rdmfpWeSyPAxOD=OZqc)Q|Ul#_rH4xV7GP>_jftyCRu?>2EB@PUHg0yRHFl`3(gA60v-_!as~tw4)H?U zQUnCgdv7sfL#DQyi(ufTAFTOcrvw9+TCpJ|a%01&5biwk5ei(4`mYGaxt=I}+M;obJ55%a$%%yX?cBW84>qzqp7JQK15{i={l&-fqXb5raI* z+2CY50cRiXeVzd0WaXD@u+w<_WnAnel#AMe;9$ZjhI0NEeYNCcCkhxcXfQb`p=m0m738%n+RM z9Emd-@qHpfgc)s;Cm@T*u$MTGy+qOv(|<_)VKH#WSD~C#0Qr6=u)8>i{l$$R+<^;m z!}M_AxgSe@y!qoTgMG3VnB#|V%R~UiDL@`yhuy^$V4oyoU-1yPOp6dkylhbVpyhyJ z%o?ynJJkH>cb7v78`gGWS6G+T`LkzJ`;$LE)jBXeM zB$Oq|jzV>P( zENgVs=MXu52DBh}E}DZDK(lp8)3w;!e3i5LzH;RKq#ItP*pSWRSX*`NpO*tUpJ~dM z-smfha*@VL^Y*kUG}Cjwo8JNYFb|*6t5@FKfnFq@+6scNGNiF_9yFiZHMFn|%sCDi zIgY8r-wz#g?x2NrAftT0MW>wVsH|5{>C!`9bl6)zmw(d%-_|3adaj2~nSh~@&$)x1 zW5=@Za*k%()Un8Vc%-pWM)|Ix1xPnMwZXX$P1kfWX47}4%27sbDlJm)7`cDrdFTO; zJ+7(tBiZ2ddFkFc^#h)D^f~xG;#hTjmK?`y{@(&R-5P5v*%tppRwbb?@MKs&N;^cYdw`wUZh@W z`g=wj{EoxAmOY1K@7%0QdHq?^Mpz$odn`5#&2eH5Rr9rYf9QY20Rbh1@R(m=$}4MM z*$D&`?rY*JE&#y$ii%SV!24|ApfK?<4SSkNm8T$1oym`TDj$>m4Wrce0sUkmisc5Y zUaZC&nPZ3pyAr;SnOif{M6K_8^*j(z=Db!aabStKgDJtDC%)D^q&%(#{t0220Aox`4pDUoAwN3$OL zqFZk~My&hl`nz#U^Qit~NsG)vVq}4-<@BP#*oJ>JWJRX~h%xg641Paxq!PGCP}6lbd=+7J(6g&0ID}FNAcW; zZzmusp0_p0xUET($g~5^j{qJ%|J`S}oq3Gt_;l=yasUlKw$+kWJ8>KH5c{HeD4Uxj zyP_mSt1(8t5O^n(+QzqCF844yQJX2_y^9hppY;B6?1@s4CV4r0BXeGm9-n+L6*n@w zBtojM(`UbLX-Pw=PdQPefYe9_)Yeu>+cdIJd{L19H2jV*eB9wyoPP zK{+|r?KrA3jdnIVTOAj>pBG;yBPDWM?Dp8**!P4|B2%&F$wngN4n)_FKvew#V4I9Z zkzB^sGYv8WNsw8w`q>W_gP~<$7n8^(zRDxoRhC}zcsdHIc9TAPkH6HkMKPxPwYY`Y~TEj z(vD4|yy~$39X5j&O=VSv^QMqdx&v7qlPU(J_i@KzlRa*R?xC&{KWXa@(;#VHMG8c|)pyEk`;z3t-KAc%% zcx(oWM+s6b(@}(!s2y{wrva;jAw&}qI&`pRDFTNsy!!mrok(1`|Jt9grvR=m4`~a@ zwYCc`$LOfBNLR=}qQY(o7WyN48Y&N^!!f-OJx1Kp%$ThR54r<*ak`x+;c|v54bjOg zMk?igaWL<|!AwBt&pN>EJp|%L1}X~?bK`uYYX)&61+L^GLETu`a4a$kZ2_sK}J%y?_(Te&91VSCdZ2n0IPG{5Poro`VEFGuf( zB=K@%vrPcqJJIZn9Kn}1yVL9l5+G(F0V4RWzr~mq6QvH({+8$9W=@xopUJIf8&JI$ zZIari!m(V5@}D_4Wu@sKuh^|D{AT;=Tq+^zL9cwT(a&c@>#6A*90*NeYiie${9?svK`>9Gz6<8uW3dvnj7J#%~R>NyhN-!pJ9 ze)^knz2^1e(f9@&izoID^xlZW@cAglIrZDy-_8CQK0=O7- z{0iXo5f$Uy_rV`h2Br;M3RDapYt!AE_|qf+daw9tt)OEZ`swCRFMf){p|(1FOtrlF zv-`{HUvhA?y%fjU`QqXw{<;_;GV=u=W8L75gZB?EkaSCi$7G|r(6gcAhRs9y%q$xl zV?ASGvKoYQD3&&eS=^vTu_qSB`!_3pkAL$w=?Cw3z88#){;k@*yl?DxfO(GujgG8g z@zs{kW7EalOLIVTtoIUS0;HjN*VSk8fv02bDbE&(r!xQ4Q#XJ{Iok4@aU?y;lCHgu zMbG*!bZ*O0Heh|`f3pwU{Oker)c5M@T3$WMQ9cqql8y50*!r|bU2Vd{TxEi0T!wGH zKhk6kd=?$c9CQawX&jSo|GbsQo~@~6gL9EJJe74ZrycDbGuJiQvjq&Dzju_SoX^n6 zw|^fwcOj>`+S~H>IFi2KvMu&J>#0q<7n?>;?Q5@coJXPw-{`8W_Fnlg9iOpMtofYK zb`^ z>xXq=!z<&r?Akmh0-bzY#?9afl@IhBzz$2q{ub$3* zmafv+J9tL&Y?|wlJyb8R$edQd@F&|n#NPy}@2*~0{i)fmJW*W|@b0uS7?5oR>wLAkcIad&slkj@Z>$h-5 zy%u161#tT>*Sdym<&nr#9*->L6;Ugrb|O!iIm$`m{BMaSAm4F0iGCL2$4PW9wg7)& z6EM2&GGK6Ts+$dTm0ZaZI13!^8+A*7v2q(5gHUYFT-h4L%h~hj`qS&LLQKx1`V)~C zuvj(-o3J@J-{>kf2FrlIo!NLbPMFUDft$64mIHk|A6tMR&X-33b$cp+_!xJ?Yyf6C zk47FqJ{

aQ)+exy@{VU2oqp`2h29zPzZ}(PmkQygAT(>^qB*2Qc^DZ2;fPd3Ohp zSb{ihUXJtT@hvB|oQF(+^)1s|v98dOR>xYMlnp@<@L5K*=C)uy5Vvz$?`eIk^(o{6 zB(<536X@M-_Tv=#NSmXG$VqLRhV4RzoJ5~*n+DXDRqyS7@A`XV-yi?}1mL$!e?Q~> zlYs6^X%_oT{) zq7J2k?UMEp3!CO4=la=4i5(YqOhX0%v#(cw%#B4(ryZTnVSB;6fsvo20kfN+e(|5q z`ZVX$U7wZ$*e}jR@9g`m2)P4#lDz}x*!Mo4)Ol9t6+nLpMe#i7>~={(98bPrb&vjH z;ukA%lD+$jy@=(R+jX8~5Ttbtbe-1iPh<|?GJ#qx4JCq|Z2KfOykQp!% zSpmd}*D;bHuf$Cq~EOZ~3(E9o~0dEV2$ zWrp{>?_8W{Gmd8`G6JrC_ZV?J%lc>b&+5McTbiT&ZzJ=2?105UjLAkUPr-mI$O=eB zBu{~$#xP!I*1$&tpGbuw;&PvsxSZ{BUhV#pf|Kggzl_I8^$bMi5Z>?TuR)wkGyj|5 zepi1RC1=uSWdn0*@a4hRa4Nk3+nCKmb`6&2X|S0e!!-1_cu ztoIIS_MGpapvBjBlHbty4hzdilH2{pH=otEL)|Fr`EB{(#=ckHXXIVWHpgDM@N=2(!12g%&gZ3G zB;5e$E}GYlJ&&a4x9u5ym2)g!ruiJC**5L5>S?dM-9}gD)VJo8Re5jkSUh{IcG>eg z(K%%}c0f~Gzhm4VP4)G2sE+n3?>9D-&SzC#5Iok|B2Q@n&>S?8*PhQ{jeW2|IiI0v zA6~=QbICU{WdB?#>kU($PONh%;238buuDccPFjV z3Hb4DSu2#4LW4j@^vgm1-nxt!IbH9mWb-Bx~ih$00@}-DL0Q z!>Pai|JEtLoH|wK;nosafRM;R0yP;S0RkklM3aQbQRJ{pM&uxo;eOv(b1bIX3vZuu zA7+g)N9tZnQfrPLsm1oMZ+^Y%n_OhmkCQBtXWx!TSEQ3TcdxK&b=gQe4X5mV-`z18 z^UJ^Aj=4A&BNIVqBU}C$vgMyS@i=dvM2{q9%csQ7!t4LXIA_n0CfW-m2(YE?LDc0Q zM+5D+cJVl8b1KeIWRBcIN5&O6WuI@)DWHeYi7{E`eqO_=dX}83FQevmGn!`ScFsqZ z$k;B6(S4CEvpMl|LDzKTitOxqwd+lsuqSpqf-XwM=){ksF z(Pk6vqsS1+K#lD_(O*vd@(8Ew3{y#a{@1IfjyC7FJj}k? zg>FmvgRc#~jvCtAm<5`OoR2)KhISCo-KSoiyAM>4*;~E*XfykU&kZj7S>gHi)AMYj^Qhe@IhByKaX_M zlusR=G3>qIkWqWw+kE>w4q9?5PiV_KMn-80gP=!nqr<&pT{_cVE{7xSp`V<@q`Z=-*=Yyc|z}w+K!^5*Puig|cR%w~IHsweoB)z_&DV@BK;VUf~RDGLA zJ$^pYbkUw`>=EY*8W`F0o-93=GL{X!hUgml>u{Cz>&rfhU6t!$U7s`uvYwF-5gObD zbPTS#C1K2lw<=Ys*XUm@JOB6poKb2gI(zOmr*5Xl+(Nc@`WqYG7>!JCcH>Day`=PR z>BE!q<{a}LeKp>spL+8?5@oW>tS&Pgop>(dJ^Hq?S>!^y`aSG=^n{#hp z#QA$zrID55apq1ilP%X*%CEE+Z_XdcyYn%XQ!3BG*_+8TTPp9Ye6I3yoWkR(3`NJC zM455P`Ie`vysR=bW^&9lR>l!|jPsDlre$`>sw%{%L1>|u*uQm*Q z$~RR%fW(^Q8q4qo{SFdqrq?X0Sy=04t=mYhSynp}Nj1aJqg+qnnK*~%BBdq|r}1;h z)E;L#>ab(^+PWKXGG|In2;Fr?zL$iQnwb$BwLgfn@3gQNy&IFsiz;8}cL z!^I7YaT3pe{|E-yJi%$4-E9ynkF@! z*)&Hw=R9wkfz$V4^v!ws(dcIB@}7JJ(rOMhJJ;-dvsAn(pZ2erm{eITvnta*-7md! zrs92g_$@dmRPI4`cJb#EzsSP7Zl==Q`7-#`*smshHTA2x(lO`JR}XK zi8tQ&QMtP6n{60l^HSzirhGf=+u3sF-hh1V+j!3%?nBB+lxJIW3gz|I1<25Ti4*q} zd8@ta`#F&*l-H18=<`|R!Q z(tcd><67x@<6%fmQilm0!eeT((WmrKha)(1Cn51>V#i77c$1EI+lM<|?s!!uP_Fx_ z;HRU=(SF`(YUfN0tV!>(S-b-je%{@dgBWoTH zT8!-Kvx6_=jD0`St>#r;by=RXN4z>`KdBb;uv+;&=zQw``}gl7&ja6cLgidT57_)@ zv?$NOAmnI=x-OPp>kgh@j(LWWN4i4djwP!)!Dux5nik)-rS=Y3&rF+d1d+}bedYF6VHFWuH z{?)aqLwSXMUC;3SbngGkt_wZo2mCg$SDHe-2ksrey!ot3R~>$K#i<{%_dXjTdk@^! zlh0ywJwVr%^?f%1@atpg{nn5Dvn}%M#cO$3e!IULJEYUD18D0JCr#;;BaOeW0ZZ12 zExD(R%JN=mn>1U8dtG`Tlxyyjb*$^C{Oj!4vXrs+{_B_EnQM?nJ(bn_b`4FhuevI$ z^2*n}XMGmxsGjnvZ_`NkK-2FaXs+uT7_sl$2h5&O@rbPXo^75j<664j>+~%d$KYz; zwxu-Mbnw|}kMbd-qn|5a_9|~f;aPmwiJ60U(=EFWX8+3NI3*uJ&dGM9ku&FHaU|bl zvN1m~Baz^G1_{qpH$*ufA(#ywGNkAt` zCYa~qY<#TBS)`disFEGC6S*d%T$d|8xNPM?|UTm{07d)6Qu*pRGH|r zp!$001an{N9fLLEY9!Q1!gQYnHCE#6yt~GEyvrVrx7jywg3iVX`j(`p$JZW%1a-d4 zo{3X*2Hs?E#p!wfyQ55v;{u$TJybb{^H3(r)c3r4JLO$AyX<@N9{UESzBB)X)r~VG z?_`qyB;yv~%bb@&xyA{S)<FwzF!i%wz$Ve5E=x z*dN><=HQ&nJP;0gWIZDj(YP3I;MBYkTde^u5)odp4e?sgY}9pdvKs*LC=La4~G-h+39f;vODI=duVq0kN=tPp;LaI{c{1{M6(0SaGZ+s z@%DLf|8;l+&3eSCcnh6@H1*>HE@C=R4(bq@=Mj%nG5a`%&%?~{nDpCh)E%Dx?eU-| zgJuohHTcNjV;JT*)at>~g6H8?ug=4ZtH&&;Uj7Eo!~7fPvw-lg{{AD+0_*t^p_ykH z?Whffwv5sg3J*FCmg25$!#trO}RO*;0DM4({c5^Ib-0Q9ifw+$gqa zGo<%ophsxoj`AVv0uNYw`<^Ig%aW&i>L{){gf8e@VUTBuQEfWpb>yYO~(R0o9d0ktUIG2ZY!2IkY_Cbq=JD{sxgpcbA4j%csDEB8B zBTHTg%fm{tes5H#IcP($bWc0P?Y+{1KDvi}glAnZ2z!p zQ#r+5L!+$iI|v^%Lcz_?N%a*{PjNp~JzFMZ?74u%U#H`zb59+m2P~X42YaDebd?F1 z-x1H^shz)qw5fdBa;<%dYvTIktE@sl4Y?f4-)i*5fWiOqKmONPWOJ}P;w>vn`!42N zrkk9Og{IH@%F+|iJ7o2niDi<@q$0QDa+&94*5SN-uk53;Y2|JrzhkMKnlme`lm6|8 zD=fsRd09mdC+G2RpOV~;^LV>l{PtGlWb^GZN2K%I{8Y}&BcvoVzH+)`W^Y7RHgh_1 zt9UpupG3D1=4PKl=k~mR2GJWNS>7L~;f&0j?5)Vao>u+2>Cm1i{Xcf&4f490H*f}i zP?KE|Pu9AGb8u?yb-=Bl?Ftf1_zkk`h zOFr?zFr0~ZeOUNm(TBSl9dC5GQ5sIe&oQ5BZIcU4Zem8}_@;@H$5Du0h|lmYdHF}1 z@jiJ)GY_ZW;UA~Vgv@FGn*XmHyg$D2$uJB>&oepI#h>nIz89zA0vU)t=Ckpi&6MKI z>z^f|JoC=y2kDo{6FRFOX|ohv#}-(fJ{IA894_8umqU&}=iu|Wc0=2xqR-(O$=%5M(ZeZu1y0CI zI~5_jfwnX=djPyhpy>`5sQn@yOzsgdC0yT~Bm9 zgY1n5U5jNFRu+04KJVtrEX}Lki|`iN>#?WDp&o~OTtZ$n-z1;tc@8F8^i)B6a{&-r}{`kcX}tT8w{kL|m;ZywIg&v9~|j^fTM=!rg||I+>!`j5i7 zIT<|**ACc;ULIQpjztG_o}3eYT_E|OD0a@|P2bbQ^Ik#);w{`1d&_xkrw$Y+3u<@lZt@@z0P!68d| zCpHjymXNMI`QK+`)UIRkUErDKIj8S8k7KX;l=a^i_xAfu%6M3=k&SjueU_?>ZIikI zvm$h3%cc`|%!_(5yW z@9lT7IoLf%A8bzvs#)P4PRg`HljVF}f-%5H#{!10C80P9EvH zxaaSf>N=F+0zK2vg@(P#M1@92d9+Vlq0$M}9(g7B-0SBwyynL~tb0+uLdrQ< zDlc|@^71=?>rpObWL1YyZ7KA8G+V|c4~st={rRZg>tF!#TsGg~-q4gsT65S98G3!- z-23&&*A)QHMH$i*w{`UAZr`uUc}ACe$KbZEA6Gq_Zqqzt!+nh{Th_KgdB-fJQ&xX= z#8rlT?p1CGz9aZxd&>QzQk6#Eb?(u#U;jb>u?&HW{89%>6_i?thK?+mJ#3mfvRpRv zjZ3Bv&Xm$q5yoIA9JX~lQu-Wv;jBfH&pagg5w?FPn|l zj+@HuE4LnF*l(ED^%pDTR($mK$ahA)!=YM}Fjgy7`sBn(^3OO7_)V{rffOL7-G_r5 zmrZaZ?5d5HGFm1AEw8)=g|rVU53RznTk#U;SXX6Bm2F7K{{x|pOI7B_ER9)*aL4JG z3*y4v_~!^XadWDsRZW*Bk4y)8SoLMqGzc$8JZR{5n_aj6%ZD%y(1JgNFf+tq69U5eIL! zBnze0O~)`{wszc#WTB%-7kXAV{=G5pjm2o;)$ipZoj+L|z(vx9=drZDKT!W_{m~7W zI>aCdQ-@pxL5?(x7iX{d{ShCG{2&=_-cBjIE&6ab9K9!v#vp}%UgK?zw>Qp1_~TsT z;>I)4@G%`pL@VI@twTD0zPNz*&=^0i=@=B^rlL818WQ_G6yu(2dI=8UTyY0?p%C{7 zhH|lEPsYbf;Sy#_Bgkq0N=D&r&cE^yBng+^u7`sd4wvLbN^c849oBrDxQV9`G+8Sy z;vJ0YibvAXozL%@g4_9DW+VMS{mX@4EyBRA)kyju-(oc!#u;dozY1X! z7T3;1qS5%46I$*;V*g_VPQuRNW&}_2TRm=-)Orz|!_{yO$9+E$sYY|ZUxDQQBj2C> z{tu-1Pe2Iex-`b0?r;q9Ex3rY(Fos*JtzrBv)V2;0hCp3v(VvZjWmV~58pc1_78+o zF1Nkk_Ho-M;xvvxX>D@56lobb0uA!#!Ew9_*YWv}FOdEp-+oT}dF|)7PjA26G>{CJ z-JWlM3q=9x2)n#QiqeFRQxSTZ+i_*bY@{e1?Rc!?3G@lN+VMIH1tv+apw&_?aHZ44 z&NI|)^Z0l1n8T_>RomrkaX;ljyesQ?Rc(@iOEe)m06jyoK!CDVIk z!0qIKu1g5kyzDUpj^|30v5}w#&|69g)R=fT%V4}fJPgR;gzuAqfw5FGJah3NOz2k z(p=wO>6BGl5gNZE(8+TQpS+NTM`R7nHIO>`xm8A?@QfU3+!NYA6Q$XF)zhCx#2)Um z2k#X&96%5DTw~KQP-O{2hF0I`C{O9S4_LayJ?^oHbA_N!sPcpk_Way_x-IiTti^}C zixt8Oa=`{y05}(M*Fc*`ys~v2l@%FFS9O9u8xHogI|Md7l{b*Q02X0H-`v-~+w-1O zPoe5??}G0dyMzIQdjscm zDyNV%*Rn-=W$1-$S%Ztdv8nn3!EX+F08o~t&%MgnIw88vji^zjU8PZF~zTyWh zJzJJ?4&^PI%2%k@P-xSM>s}${Y+UseI?(Ci`#x-W^7FxWj7$iyzE7Te4|23gdH*$C zLmL9Q0B|nK@cUL-(i}r4&9m@;(Q|DYaO&7J&&WAOj(pnEW$!)1BedyyKMIwnP;EIr z+oXpqnrGpvDMmsy+DL|R-LU;-c>aa+cK0>^d39!-5Irs)6B>9P< zoC{S_(PJ|WK0yd$uofbuGo~sVz9*yEdvR5^+F?-Vc(oA90~pv@Q2jVcb_=UtheyC9 zC#E)~VDN5X&8OlGESB~u(%kzE#PWz|oK0#@~ zVwCNkeUD+DaKB9!?k=jo41peoc&;JH!&81ygJOhuo=E9#vKe=^1E>BI4d-IuRoVwD z&~I~!G~C(uVF7w>j%suZLwB=~<}^-D`D<~)zku)#8@r!Fs?+19&(T_EwlsI2X!>t% zMO*g_oaXaBzKs)o4$1^BBh2&klO>188_sybj zGQP=@l7R!?79;4h25C^+T5fNd*Ya@7J2=^om5>kH z6gb@B2~Of`ar)km@Xig4u43}j{7zY&rgzTne8Yrwin~1SG8JQRHJnp~V9v1ale$kw z)0=R4z&4z+3y=zR0EtlHunxO;vgHkfI}0$hDi5b?26mVh^|aRuoU4=ir1VMcvj`=+ z#}U}MhSaE$I7@Gr!Bpq_F2l+BB+kx>a&ErZpRI4)0oh23Iy&GFBt_jq6P%=h(+8#v z%)trz=)g$`^c+Vc9G;zbm?WuZzowu8&M1tzW#Pb+L5Wf}@OUr>+=fdAB*yatd$H%n zL}EOvVlXD5d`h%l?08=2-@YI6*`P5PeNH&~%rH=OB6MR<=tjooi5<{GSPq}vfFjH1 z7I3|e4VCX0zV2-q8z*072}4+v~k<6jjIf49&{?3{~NE9QMv%66g0|7HNtHEZm8L+ced2A;-nNpU-{de5 zzZ29kdU_4V+B3$fc`LM0ANwI#ZWKM$4}nM7Amo%5j_j-ozSbUXLNIe@@J3&jwF}TVR z3U0{+Z5%cub}ZacJ#$TaPh9UsaX(-F1}(X0*9a)z{48u4wW~5VPig$!B;7T394BT> z8N5#JpNw>#l~OKxs8nI8czKh2Fp5CZcNQtg!j06YhABZjJLQ+7*=`|qe^EWHD|8rp1vfK zoU;n0p2sk*lnFY^aDF>gcmI2n>P?sTv-@Q1PM$PK947B&ci^-(tl?z5nJsQO2Pd>! z@AHl96{OzeH`*!XoXe4VGX-ZeCf{tAx38DcO67TzB#b28j5FGGoYAJDkTbDaGTyX? zBoX}}I-}>HGy2j`*v{}cQg3)Fn{3KAuQwlov)DPbFTC~HLyRDO@_ClLM`hE(9a749 z=F6)%kIg|D=LVd`4!1blA|z?(JdF+eCfu}e+_#C5VWUsJorrdYJcs2W{e~r+n_3@l zJsQnYm~6wAgf3d89KhLYvnk#@f_JGKof~Gf&NQUkc#?|#JeEl|JbR5sTa+>FR<=t- zGnB**NjP&IN2|g89SbDYyb$j>Z+Ezlpd3*n7i?|vat6p3;?~@ z=L+6Z?vS(92{b-A+jlbFPhRi$04e8>@J4bJ(#@w!;>;4fl}sF%E$6ARzfAfiOA0a* z@FsErPE;(yI=^N%zQQTb3yHxxwXrCocU?~zWsk+`ZuO@ z?j8P}VG(Z~8`f1mA^GG9O(E#qD_xI=QWQF+sU+KfL+wq4JcbGK7Afy|?95mr&_`JlfvYQ(X1EDA!jR8#<6v z9fiu*-yMZYC!~GdyOs^5DWpvnRF;r5!X)#1NWC7`@8l5RDx>n;Q%>y=w`Dx+ zxs)%^+J}f+dzEuQ3m6`u_@jnKp4#z%=Uewk9_7g=}WXs(e|BU=vXSJF7}+ zm34Rz%*>EelG2}ox4%dKc@jRv1b7jvs%B%{=l!Y=s?J9y2%D|bi+ECP9ExA3Va#V? z^+!nZACI<;Yik@vnd_Ar*U&2FZjBf6PI!9FnKiSJ^k0aw*Z5iqXuQ6r*1=kb;a{)- zc69CB+WTrBfQONf_r$N#{@F-ox4b9ju+Nmbi;xq-e2^J3i76Xi2Hyq2#(caN z-hlVQ=jFZd8h9B&Y2=s!Ph&1xIUa9#r{V7RL+?-jU^(6iXQ746VZ0eWjh2pyA10$5 zHVld zkFrq?a1%|~pMI1HuVihr9nCH_oBZ*tj~7cGNcP7YK0f^M9kgPfh6e0QO|fjwr$z8m z*ka~h^8$D$MW4leKJxSU&yRe5_VaVd`(TsxQD5x%A|HN=3qR!;n$DcY1gEP~CXn*g ztglkxvFt_e#|X4}oC1$!KfIMu-)uo+$CuwEApe8yX10C1tYs#=6}~tA15Ia&Bo`#F z)sG9T}c)1*{jxlDTEd*u6gi#)U)b3WX5myqRg#-2M<| zKBd9C$?mWgZk!?!TrwTx+G#;=&~*wk>7C}Z=BO3EoqJ-&*Qoj6in=v)opXPQ^@le+kIX4obH?8 z8|6ukM*`Zdv#j72Jfr13S0S^5O(BnAg4F091Fah}-Y*@1sZ=|pHyV)-Zxg4p;<;WPYROU!c zAGi}^LXQrdi|mapzifril!sYT2Yx;J>sd63e1dX==Xei2A8(@1|90WGJ@PL4*`Tz+ zO9$^9yj`0_GMD3jbGFpOnvwU=H)_UQt66@VZ?=^E%=#<*kv`ANv(_=sKG*mBi+mT0JlVr0?UK$#y5js<5kJ7|g09P!Q+eeDjSZn2edSeFJ4S|fUErRj zqq5PU1G&K8kd^Pxx?kGoqHYgd(=oXJ8ZPL5n!Q&&+Og@xNh9A+xA!5#cg^=e9WGnO z#{a~FtYelfr?@RoIi(Yl$7Rz)*axu$THlw-+xo<9-DrE#`28v`K>J3oxuJ8fbmF>r z4>mm$@~+WW8Rh%`XDZ)@Dr?h-JC;qs{d;pyf6}+)XvfdD?MAKx9my3)x2I!R?EQB}R!Xe22+1rL5%}QDC{1Zu zUinDnGjM1|R2f-?eSH$8>pT-##=w=?`_DK@Wm$vf7zQSY%T5$<@=U zhv3Y-fHO0>#ws{7yO88Qs^%&;I`@QA*_qz5 z1?lX^-aYm19~dZGh%}dpb*CfEWkKCsnI&}=$u03nZplL$`)rfO&T+Egem<;ZW?%XP zaAcM=NSEI9D;wlDxEh%$m4Z5ER}$N^QN=tO4oyD#(kFkoQIgvWQNcV0{V=o8%clrw zE^Fbk+-#EEG^^ zrXi^E^j`@wFRJ*Hhmy8_{?khmT$vn-jf$gYj(ycVll_3^BN-+<6>1Zb){`-+cIb~&e$0dGGNV1GK^-z-8FtJ(Ca%l=j;D}< zehs0SnUa8>@zYwkD|dfdgoGF-pleD@vZTbsNqFXYw-MdPcAwRKxi}=AR5>5&eiG?0 z!{L&wlZ2RXcOVY6UEXsA($4qx%<8q?)H-XYplL`lU)MVwLv5K^3cFX1LJ=gi=npbrSAFCFBzzNE`TEv zo(vUEB_BIz^5B%gbCC@53;~?8L!R4x>KVT|^(uaIpmxmO+T~B1_>KK+3CMHh)pJ&# zKcxR|J(GoQ$+{MC1E+9%z{RW4+%t9B@3%h|Z<*iiW)V~0EkI2ZAWv0>=v zyOz9d&&C5P0~oXq^o*?1qWz5g*Q8yQ zSIBE9UF8XtW<%oSd047Xs4_~6?0s^|k3hqxyn{u^`+Jbl&1F~JnQ?{d+%ZW+*Mb3s%t})S!?MjU#`h}G54c(GzUcY zgdyu*xsUw*sjji3*ZY%v8B6>L7$ zx-QZ~*en0px+_Cqdd1fDxx9*Snu1{WVsvU)TFSNt;yYJ_sdO^ddjOy4>=?ay{zbnV+2+z{@ z%c@S$Tub+qvt^wqd&;Vu%_q)f^NG8lap^UpeeQryPxsVuz_Wi3JnM6+O&d~P_t9{% zXUV`fx>EMNdW~9k9{ispN@XB@|EB3@dIP>u!W;CCmcct(`^KI(&PZZcIE{a4>8+T( zWq1D{1Ak~Y=IFAw>6y1il+7x8ABp_Q?>Dx5@?LE@DiE{z2Vlr3p+jHO@-89`##~}2xrqVi;2h&61T&@|C^1mJ-pKI`u zf>q+AAb1QWbfs2VjKI(CDu)pGiAOJ|H8GoFHY0&71>qki|4+oEt^-w1BluH{QsDX3 z7FJtdZD{og2>eV%=x4U+czUM#S@D|Uq%e4Mjh#{)e7DA`nyYJ$kbuu#6b9c!uqWK@ zbQeNC`w{fHj^f}+b+X|>-9_++MZxI^`)qx8`@6^CKV5ov2K=UF2>k4=djmzlb1=ti z_j}LZ8((h{W(H)`TVC&ay_@w$$lQPx^;e?*Q=asHif=Fr>1OFD1YXu48)X9d5)ev4 zC#Y!+IpJ$Z!$%F*qcFG#{!_{aTRxclVFvo51{;k)QScoU2rP&H#BQhz0c9Zov=0-# z9$==|izcH{0zA3tA@QLOBixhNY=W64kk{-W<_RqRn8BWXGTAHPlUZigZn)f+b9S$M zTKMTibcCYk#Mxfs5%h_Nx5U|A4?lnQ`AW?9x{iQP3PL{N9;v4g@=5+`rOX%zPxhMF zVp@xN@S-@+>qU!EDEDQ+XV|yw3^nQ783_AqgXgpX6TMEMK;RJ))ZA9-)->G*twyxo z08i;yYfc<^-uemrrMU0c!B5(UpwH|!nC$KrxOVLOcT$^h3~XO z3W2Z3-jGs)7nt`oOXd%(#Z=u5=oiIe;CxK{I??ug+sRV;o7Qd#65MjyZ99He%iFF~LE-5*FNDF%IBNU_0~o~csOd#>k2bds8n zf`fCI1U9X=hfvQ+Dc^O`g_VW7?87?s=RbbF3_mNW?;QAATVy8KSSj6QuxDStV+i)J zWcOKrdRd7mGsuOH^=KdiJjWxGz>fWTTKY-tkZw{8@C+R^cF+`*>OLCu48^)9WgggU zgn4#H66F}{Il)-Z(OQvM&+b|=`L)Uqho4p7|9`=HRs{?mf{gwDl61$XN1Dp(^H6n^ zu8@4D zQ&{4f(4oA|bB!I9BMeyIGv$?M<4RMgJjaq(p2Coir#j@jJ|1Z{Uu~3tJ{{h-XK2j* zae(VmJ=)}Y-JW!tuW~k|O|?VFz3>fPWg~RhR9Z-74NYYN7F}^dE-wmC?GdWH(*Cr! zex54xcc5*@#vSW^Tnqm@Hu*bh+af;1NAr9(9qdCsnrrp}A6@r^lpz!vp#T1qCw%K? zL^+}1zC6|U@%^?UI*@Zz2QY+X^JvfBm#|~;0tP2PV$a|a9ZM!?{fsG3ncqpXWk8GQ z`f$-PvVp&$6QT^3UsmXrZ3i-3A_u6SNAAPyUw2Q7~_e7d4 z|3Pd?T^F`&osh9jnuq0J5f5Scuj%~7JyXY)xA(;LZ-cmNWIaIc?RzFInjMuRkGSp~ zl{Zl73e^_nBC^)^7LlVqR%Gw{PW|){<&BJ=7c{n%9}S9*u|ZodmeBONhNrrY;n$Dy zGf-amcPeIm*?NtB>Wn@~|7~)qSqK&#D0RNnddYRW@sFF5?{?&kqv8rplVNDPOD}%& zpc(Fvi#q0$WzL|Exwy<@Gv=ZAEw-)Qh(Tz35f+L^w%g7MPb-Y7I1j_nIO<^~TGsv{ z;h@xamc6qLPS3DP;}H^CBTZ|EM#4cHhqeqA&fDSgJgA(EX0@zu9uYGyWu^IQ!olQExmN+|tR(tCugqAr435u!qeE4c$cb^D;O#x8T@J zl1w)j4egT7MVUz2qvPs0yv^l7TUWmcPtcGTIXbJM#MmI}nHojRRa@)LS?#ClAEbS@s*or=R z{>h6^GEsB0S1O?kKfQ;Hwj*$D?n)0M_AeR-=Vl*9KivF0{tJ#yOOsI0=`W|lp&2D( ziW6l_F~>g~hC_3)#qAb%THJ4u@^$Lh`@fF+h8b)t@Lb!h*+(&rtMl(N*`}KLMnEqw4093MyYUc zmbJSErzQazZ(G{$XrC-uZVVQ2xY~4#R@>TfH?rHpU5l=D94#TEg>Y;VJI(4;+$mY= zr_*J01jnmwL=AN~WR!zWMUT2Y?v{#PMGP42>b@8C)29(KVr$&ZJq}3Fr~rM6Zpl~) z29B7|me6Z_uSvaT_o92Vuva!hNIQBJ^g3gD6>Y=N<2i6}ZuGe?!;U%XnDsux`f z&3?sblk4_h)ISR@O~HV37;v08aD~+S92q#_7x$Mr=suM9%WfIO_WYL@za*mWCp_@@ z4>NS)(yuq+?j)jpZVrYXpN5l@g0U0hhH%*N0XR6$7PBch9?UG06TJq$n zj>?dxOL>IHaZP>a&AsZXp3;qf(EImH#KE!DH>q&czS|I4m*|0?T;eqHVZzW*K0 z-?YP@O~k&X69P^fu0@N;;eP)L4?xE=dc>p2D&2-IWM%(XI))dKweCf2@p{f{Y>-Y} zxhI8|jcE6(G_|Qv=>cPhKLf#ib|ZYyi8}_WzV7M!xjvrC1VNAB_UAKno*e={8Or-< zjwK)R$&;si*YE;>ip%wVI^+kj1pdwMG1`5RR^mF?dzRg3_Q{ufGS^j^@L8!O&+*Ap zFG2%PafK1PQS<^9O>zDE)8`58C{Jybpc%ev{{ATIVo`=mb!EyHsY#7+_hx5_uCM8&;vfX*X^nAVi9tw{_9`> zGF;>O|YqhUc?IUBAAq zt2lKPC)B;_5-N>+r3Z~(WN&o2*JayPUH#urnUJxea;oP<=rJ41R%z7vzm}j^(;9?( zCcv}VF5Q~a-#CFfo-=QZC_PaU;n=NdAu9N{Ak^~$!JfI1s-D$vZhAAf%t&;6z42B~ z*^6c8l$%#Bu6$bglnP7W+aw{;%@f~-L+m!ex8V@GIqz(RXY=@-pagQ(ql$;a?7|6e zBN5PvuRIn3o#p7?^Z*HO8C5n{*)AcR`S5HCV_wFj{xf7oIxnueL42F})fS*~XB}#H z_M?N-AJwi`yHjmg_2Jdy5yY8=Fpi6EPAjYLtbW;~zimM3o7V4)u9;MGAyVL;z}uMv zZ|5vVKeIEyUK7N*B3)jKYCo#|y!QM$Ya|^`>v+~mZ`ZT$hTe^@%Tzcf!Y!4MPIle( z;`M~;{(+RZagq>6-{%0rJ5!Jtrzvrx>yNKLw|+J}p8~1x;cyR*_Q-9pslhh*Khqkf zO6RBf4Hq_CgkjNn2=5d(%zi%~KG4JWhkh^}6+c^1?KADe_3(tYqS|MNRQp^(z-Kyo z4jgZE3L&3`jh9H!=L&*8FB`9DGD;HW@}qngi0>fEj7cbaRm98=|< zeVzvIXu}sn(c5*_mvbVapVMF7{W1C|)wxz9;Sm+K9{Szr?+$%;2_6w^ec1E$F#5d~Amp4lwj1~38u&o>ek?+G$3r)R^BAAUz|J02`;5SlX?Bmgk4^^c9(C}iS)KBvu4icH z5vc6B(fJnqpm8R|v)=S>oeh8JXxGB7_t3lbG7{**l|1?Ifjp_-S=lol9?t1V7uJ)e z`|1LOZ|?UQE-7-`B{lAR-*x@g_uGK_oL&7M$r!z~{%88LSJYbcin>a3;aO*@FbRv*O**vw8k&Ho6;l7^)YNYMqO}U4oyp45@M)Hoa;{ zj$N;l$y~Xmbs{mGxpiVv>y%H5dG##TXAqy&irdgN&m{Yq#pjjE$p23~19eYm^SO5* zPnv)Au&zlN+lJU7-_WV6GKAc7sZPkkZMxX8cn8ci*8&c)uCI0o9V1UWj!(|BY}q<~ zJ>~iDMd=D{dzH=ol+gK$>*+O{>*s)M30>dM#j$Mp~y| zzmI0)Pxj5V^mmKbrXAfAr;csQv-T?QzqY*(L0;t?3s)J^6erX@b+~Mvjn~J|g0fs8 zOU^StBho#yY`uUbYwM{D`M<*ke{Yp$L&ws$>5AL-MHceI98UWY3=&X!c(1+0cWGW69Y#{ z=p|&pbFtKh%^RZE(C@<9tDIaD`sy<&U7-hF{V00MCv+ea*&CcRu?;?XibsQ_g^auh z800c~e+mCWjy7#w?j1u@NSZE{jqvc9T_aB(=_*So@(K-KZ3Lsq`aVy@hDDG3y#4mD zr@UkA67pIqAMNKOGLZ9(tlnDydoJDE&;_0H4%StC{%CT3n!P7(?`_+D+_PnYlW*%2 z4_S2L4i@QZOL5YbMi}z#Z60yzsV?`K=CgWH^c_M_>Mr+mecUpJy$ zqt5>sS88~vnWg5z>Dq~a(xFmkWCmggId+f#F$+0%%&nVRdM0X*GD~MlW87PB&PJ6{ zHiAi`-b#8a1yx3u-@5wNowxRvy;Amh+0$^i?v*c++2LtYWfZJ965*sIxLnz9=OdHu z%G;07P;JvYo8frfMHby`8MCpv(w<6trGdhuO3x*ij?ULY%n#p(u+j+B7|n*;wGX*- zcdOi!wh8NyJ-0LFTFfT6Uo)zvR^488N7bEG4^};as-rR0vf+ZQK|{9naKCQA0ed1Y z*jVJ!O-44|%<8Fd!Pdh8TUjGZS}6>#IUO$7NpZFw)jCr9WbF}k;_FPWvjdrO>8LY0 z`|hy1@iHZRc3l^a)j}DYv8QgR?uEKz-<$DXjs%k)zV{e8b7PP*w@_Lptf+UW-f6Vc z9Z`RF{nYxo^><3n+|&Bwq}u3Fg9*r!36b>-WL)B4Ei>+{(SZ|d5^<^~K zeSvWq%%0=84Cc;FlMvG;I8xeZ_jbz}t!B2Gjas9XQfsuW)y`JqThA1S>T&DgaH(<; zWZL!J>F+|)`fVoMDi3ZIr;smhv!zX{v(CwL_Bpp@*5XM_TfFtdNQ9S`#%_$=i_E#l zXv6y=Hm+@a+sSRGwVf?9$yXtNjt>rS_RQ^h5Dwa$UJDR_ zI)E&@Vl?%g*85Ozw)CARA*hFN(#F9}TmJKL$+BC73_G@;J160&>HX&Q%Ro?yP8%Ej zy8ZLejBbKyMduF4fa8`WId?nZy3ui4jnLE?IBnbDu(1&xoBPg%vzGH)9-K8eX_(`< z4*{v^gD(!g4QFkU1f_Nl*)!w}0#oOQ+?LQ3bMKDPZ#(kJZ`)ZXCa+HU4CA-)xfYD_ zOnmh`3%q)^8o2;<_}n$mM_X3xffs^|;tEwRVDz~s&)yT)bE(oPqq+(sH1d3W)l*qN z6kXL(XrAS^Y_$IiJXeMEb6dLhHC>BNdvZNMTSjr7dlk2@t+?_C6?cFKxy(Jw-q=?e z!m_ciWVm-M9lbBoi7QmP+E%(krTcZ1?wad(fLzV>yE6Bxa<)AiS3Y3~`u5(&qv=AdZy~?Pr?xVri$*K2( zg~GRFl&<>r-p0vypl8$czLlm>WrL9KfzKK;P_N-&Puw$*cmTN4iE}BP(B^R;ji+># zRj70u@@Js@|0g#3?};sM;~wrUa()M{b^`W26UX9rM7k~qxQk`mQ=B|5-A9Fn@3#>! zbb$sJTg0(kEa92&PHmIsVdf|9C-f{G<%cXAlu>(> zC9X6-R5?HVcXG;)rsv?Auj8w{pKtGpJ6NxiReCficA{Kg?U64s{JjBg)74&tALVz8 zGRo)Qzv_fxOj5ab8a3%W`2QUNhc2sB4jj6}aOobFN|)Iu*AY*Su&Tr3 zXG(PKG0LRo!|^Mu^FRuv7GQ4TGBlfDv6RNu(ve9x5>pa$5KG%-oWAkWVj`p78k0vz z$8QqcK9);uuFqBzdraTFr}bYTt8f)!YAlqRfzEk58jgAYDSGB@{4fX39=qi2Kn`KB zQHDg!mNZ@}5wmCF_HkO`2ILavq20ubCUpH0o6bTW;o_#do1PT+k4+~SL%Rs~Z>%Yr zTH9=EvkT2wFjesJ1>*_^KNo#rdy4(7of zy#3i8luU*Dd2_;wwwgHh<@qn~e>ohE;NGt$OT26gTtDU*GG@jc!@cO0mxx|@```fH z`9^aK&q}wv4bmm=DY6QeN2aTsX?3>MJGxG%aX_%TTx^ps+Qbk ziNw{$NXb;X%xK{(#H?=XyKU%}*KHgoA<~s&hrCS8J$%_?yp%{4pf6q=T(@xMAf2~~ zm~yxbrBaNu-RPZ)Ji-N-&9W8+Q#bk)^?BNdrBdViCiG22!PFutm)arj+!^E-KJ1&+ zZ!$`!lHt&;?#F1{UQBM8*FUZQiTI<#Uw26lz4Pchep#{(XCUiv?r)ih&7FqBck#FL(n;?!oV{m* zR}IMyXCBhOOX5t#gc^~!+|U{^FRPbdT<$8u@Ur*nKE7a>dkoC{_CXaNLQ7E>p>-+aA z_b2GPpG^P%7VLRFu?O5We6_ETb|bj4S%PNWn|%)@&OVl&Eo0-6YxwMuuFHR2{=amL zZ4a;qKZB8{ENS*Nh`WXsuz19|{5;3dBQ~%Pa`7Gw^mGrJo*{q7eFQAJ>N^%qao3`W z4)!67rn*V6$Gf=R8&|$U>M5W0 zJj;&KIU7;sZAd=X5a`+T2yWSOj4b6Ne0&Dd?fr4{SxEP=T(bgzq*0bIvRB;PJLwS_ zb6-LO-7`GyxkB7?!6x_iefamzzmauSACR)t=L&MczAm9f*}FbDmAC1t>p+%E_mnMx zTR#uVxjtF7t9cShg+VHcxStvE|7l-38RYS)~OH&jI98yEff5dTJvgqxWo}erM#XE#e~oL(JZ{ z-l$Tq(RTy>$B0s+N=?B~#aX46pbUvFMnS1N5;x*-#WX~XIIMjGijhW3!rs)f zwBpOiaK&41zC@~C(pw7=KPo`FUh!KAt55$(2f zBx1xOq%^n?uR79=sytbGE^I`j?WgFtFce+sMk8J{9nH3xuD83&?JC(Z8)GI$Ml9Zk zvydezdg0D=`_Y;14{5VKOrk@x5gl3}u0yE$6Vst?6yifHL)u$&DN2y`qop>Bkl0lF zWbGo9AWf>X7X?U{;4nO@6OWPW+M|w+Lnca)CQ8g`0|qZ%fa9=8hAuJ%Zw!i$IC^n` z#EUZPZK$^$jkeF$TY=J}r}bafUn~iDEIp!=a0}5PCfJSpFclFY4=Hu~8eM11q0KUAr`b2NpyK=oBguc2=tv>isGW> zpInC%Fz3@nIQ|zRB9v_o{}-EIM(2bvZ~zKEyNqbiO%o3ak3~;0sdGosESs&eSD`uf zs21Z*3}}NK{x7w-)*=DLMfbnva7D&{#v%5TEXADy6R{XG6#;31|J%fl3lj&GS z#G&b%Fe?2b(&*ya4Mm*iq$JQW!V`x>{#rzKG@`>1=tDb>Mw{$(#BmPD@biZqvrJzE z@28O{A$oxB2+5tpy%BOuQ|x&-Eh4}VHUa|ob1cNi}^Ud??bteiym_`2BhKO&Q{k)2W-Ki z-Icy_H-E{-;XIr+ck$Oth{X((k{}NU^NlDAdW;TpYti1CDRbdbi#(VAPsUyDz3MG@ zrFP84+U0L(JrMr>1LnCBc^3HgN>|8d2cJ3I>obKmxRg#@`N~s$g$`w~RF-t&znlM| z!Z*(+;`Ux`*pRwv!=~GKG#L+iA*>|p|CQSD%R7)G&BG$DdzIH~QATlrW>0y)tj)L2 zZ)!tzO4u{s3u%77>e-OE$7^FL-EYq!-~0?z#x>u`+}J-~NA*S4*j9boa*aKe`#aFH z?!hlln*pG{F^`&!v1q*YH%2I*Ka{`D9ezHT0lD*i)WD2RyETk>UAR zd4x(Q6x_(!JmUOpA;WW2)?AM~+op|+%_#R3w60_0A)9XWXu~ttbPP^tUx&ETD9e4o z2bJdk8&f)=e`#Kx+9E%s*N$SJ*S2NVp5vpdj6#)*2K~QRl=0i+UVjd>Y1<`_IyO!B zq`6ojBNOfVD(gUoOZNfbT-+<&*7tlom32wS(&r4J&|pVxN9=&t{58K{s^ggJ(55V7 zN52o+3Xx~o2^bwh4@>v1g-7lI`u06!8at}vhqj*bNVD<7*xp&I)caPAf zDNb3(@N5~iD>U#4Mb5~ozC!XS!_OBoGD=e!@)ai}pV0NugV;x8qu?s0}_rhFSNe$Drz@(Nv}uX{qp9gF8#c*x*-y=d~vBcvV5bcua+uO)S2Zk4T4qi&IjJVN!63x{S@#W59=&}Ms2#k~~^#I?zWV^fS8qzO`mbQ=w~<0=iS zG!hAMnI=wh)VMjEB+p7DHkX@?7)cJ&;>J`-!7QPSDjpo1GgS`8u)o6Ms{7GE?qJm` z5*3+;^tW7@Ab+D;u_VAvLhaEeB)#1*4df=*m|Y{B0Jlw=$lb5;sKzri;hrYZk=->P zASG@>t)hd*H28+$2S`S8() za~sWTG{4cJMjIL(Lrml`(%{0ayM;xF+aevl*w*wB)tnW7< z=J5oHZ!6ktkhn+64<6cWvu)fRwA`M7mfK4)`7}H^h!f}^Ao*>wI74h17p^JFL(JoX zaf(K?3r|Iz*)HwJB|k1j^4kN{6m3R#1-6T0s#`b)^0LG5j^jJB&q5j;qzt%7;i;)? z&wUvQZx1`p`6)}HBDttID){N>Pj08Bm|I`a>3FA;o$kYRn$r1D=M-_8#&k{SIvx>{ zY}6cWN4nb$q`OT-d}L#{!fwgvz`z*ECh5bFhorY7n6i4cd!gyXuob-+t|D%d+H+A) z&RgBsGpA<(Vkh$@_3de|d5D^9f-4p3eIDHx7&qC9dG@E#e<9)L?QpBc_H~i?##jj> zCFf1@8{;I$`(2ZM4BOCT?nM8S{cralFRs?A0h^KXRxt2BoGs22%9Vz5OnuWitXC!Z zZR2k{B@&W_W^@Tm8JYfvtLrTWBOEYfWq zm9Zgl*T^{vecy}HZCk3N*ZjYQ0bWzD3n+VhraRU>kfwAOxP2e~>w4fjX7T4AO+ElV zmup=kh&^q22C7}kDbC*`*&CWeh((%X+2VD{BUD|5E@iRoJ#pGln&JwT{yL~~epo`@ zvTxI!*U%~BTD;$5!}q7xus^TbQ(M&YsEbA1=2I^OTEHyfSu%QE2Q=yulIHnjl&-dI zn8fej`tAeJ<)RGrh!2kq@0CuTJP(W<_cqVQgO-eA;d&1?jd;M4v2oYXdsz3X_gLRY zQ`^y?+Ef@##-^2!v+j*DzvH^RACWPXT%iv zY>SZFwg*9|L&$KuT)GfhZZArYeAC4crPc7^cEO9Afx;$cyG?&>y5W-g%FeP>va^AunCOBFtsmA0QIW=-?cs25BuPk_bAsMRlsO2aW zJ1s}C)5cZ|bnSqzcNV#Bw_A@yrrRIr8=+Zl?4~ytL9TlUa^*Y6ojWogcKi=>5$rnj z!$m1`dMw@arpD&RUW&aAZ|`~RNQAyPXlap5j1BjZ$VHJ;5dvWG2!Ks)Hye3wE8CrJ zcNLxVMq_4deEUr4AaSw%Rp}v-g)S0%I~?qA2!%~AI|MtjqXdha7I$2U{(9`LcfDgg zN}JeQ;tGnICUrW29Jn#ae|ysTc9-HVk4%3(whO=6^?|euXAa!mZd1@KdikCa4X^4<(smmYyBSfd(v-I z{{-~iTiJg%yu29$7D_m6`GCU%j-fZj7WAcX(RVLAH+=TX9j?{iUC^vw6FvV`REe)OIK!2NlMw!Do~mrH4S4c!yke5L#Kl+# zD(}CBz4xF)J^39VG~bOaL)s(jcf_%-!|#IMiC^A}VvBly`#gV>Ci>vl$G$n1EvvZ7 z5Ryi@AfRoN`DYP({47RRWlBKsJgfkg-;P6?`7TP>^U*}t&}^JKa({p&=&)O2Z*)Vx z>)F?KEnYNT2YfDDhj@rIi>@-Rp#?0S>e@8V@GG0|G@6XkBG6~kzLwfn7=*0jlaKJs z_o8-_tb2&2qk19QQ=0~=yvnFe*U0+m%Kvvz?NaV_HXPhHdC~aM=(e1V>%EZXVYy;6 zX7XEg8}<8-afr(lpq6C?dcz&~$01a+JpRXW^oF|>Ni<_@#x0$LbN#9}@4k8e&FnIV z&3nMRX zq&{UOlFX8;EUJ=QB_y4$Gf|sz7$^5XVy5Eco=`Qh>anWFt1du23e(H>MaG_9Kr4cq zh{HUqHm&+`q?d8{>3E#c*W!fE(WePAzGo@Utn5}5Gx7h&Alk*=Jno5%!Qe|@G z)5ADv7c@VORs-RxlH*7$yN|OrNAukIoRO53U*zJX%_z!jsWH*h_GOIbnIlyuBjlVN zt})4PaiGOn#8xh#(j@8Y`Cl(Uve`JKnK8DKBVF3=wtS3;%ACk4`#~$Wbx!MCv=unp z`W(jcoX4p<9#NHx=v|$Lv-UkCm90QZ*<@!t`c*HMQ}ziYm0iHOnk@uo$>`E>1m!wT z)5E20z-c6u4gGN}VkI+CFR~P;<|7@F<&=C?hL)!MGz(|t44jtJa7qr>iDY+9M3u^8GT7kEVRmX`e7;aPD2=W*-1_ES`;1R_+yi$^{K1E_;4H(h1G7d48NS zAxqw|aMdStLFeib8wfPP^5@k%;03VsnePI(^@$6gGG=klr94|+Wo;VqA?AOI(s@0_ zqd~R*Ctj56>iswtPxVPt`k!p!zW$0wdD{7t4bVted$tXs8y)gp;5>(uu1odQzV0cj zc+lX~QJMpsOZN&@#t+GlMpM0Lkn+0xe4DOzRpxbj&)hH1mBbHNzXz`2(S`#&VC_lM zy+Zq1u8}8C&w47SFlb~Vde*g-rZA#|>%NW_f<5K=q2uEPa4nUgZQH)!mb~&DpPcOf z!Vc|IhAW8W8GS;%w!(m+sZSV!U57MV7I?eZu&&ChK4A!ap<6nx!AaNUSbSTbeC4UE z@|CW8LdxjgFE4cPZJD4YuekDUsJIv9yXBdke3c<|u=GCsPjcd@v)b!}Yj{atA5>fe!LuHm=wI=Wv@_C6aCT_2sY{GF_?KMU}q z$-1H!v!N_9yZQ|p{Ga1WO+u%$`K1=4YGoZ- zk5EAxf&~-aOh*y?eo61jF7vd^V$`afKpA{W*&Ah_h*Pn?{ND1H%HKw4;AQz>g$)%p zN^oFg#bXt3N5TWSXf>VqP7>0*ro+Y9fg<=+I2o%et(7r4TF1gFmW3Fjb3uXwaaD$5 zYUn7`v5Y~0AQ`>SQsHh~sB#IlETdv}AW$&rpS%CLSBl_IR6Qxdfg+h1x*9IW7K8@! zF;?ezwUcl;CZVQ>=OGH= zcYa8>V?yK9#%YZ+@bdo*hUmO(JWgDY3vfVQpuQ!sX)0d)pM?YR90l*2KbjJ$a7q0* z{o{;}m!nDaSR{C*{;LSD{+Z^LjWIflK3#$r|3&D0cHX@9XNAl4&x+)w{|u>eNyjVy zp7lZP<8wkSS=&+!XJjN^{I5WI*S1zgtuk6?iz5<3k^6J$aklZhP3UsQ3YYnC zM%Xs`)c51tOlva-<8F*8K|@JhiwP~q#)(%k|cS}mNYLWd2MOC z6|JK+$*Z{S(01WLIx<8DNnX2u-1p-_>2o#;J*B8KyY7?TW#KaS>~5@rxzlZ|yy*A3@9cgY zFZhS|Na&H+gOfqSgLGc@Sl%6tNLw!GHQg0r)H z;3R1>orlD&qF=_t&EZS^i+H7f8;M&}f1C5${NJ`7WYcy_aL~% zv+cYNSAFH*G54Z-LI*ZIEWJPOZN81GJ%te-b+Dr8dZ2TuYyi0YTybsExL2MHmF^h6 z?iEI44d1imD5J~1hOL`~@8Xg5edu@W8aoPu*gJ+s7%;eA|Kr$__y0R=>ba1z)Uoe@ zd&gXte6eH6*|OwEWUTMYPt$vGXwTSk0f*o^ToFET%FvcV;2v-;l~d?~=3oWPB3v*%d8SI7M=QBDyR2g@0F%<3Q2d2t{cS;d7fpP zznf~8^7cMpRp|T;P08ws4f2M5 zIu6%7R!@o4PAtITdS&Tic}Ji1W;Swf_P=@T%||k+ayOa^XS|hTS_-F>-H5mMY%9DD zb1G-cK|7^F8V=c~P#(Ui;uRdSnS1lc+n3Q+`0Cp?P*0&{;&C`+ufZXE9p2_&LLJ2; z={6Ovq!^7XoU3??KN6WY=P{{rJC4%}@#cOaYA2Xmvq0Y5??P71(CTB5Q!^Rm;G3i% z{AKmH8cBFt&qH%Ut?{)E;%)sUd0W2>ErXxej;oW2&QUA{e~hE^B)qTZvH2+u%@c8C z=0ujg@|Hdx$K=^4{N_>llDwfmjJNZnq$=W3gP9Fea6mrN@EXd!voT}x^!wLP^38Yh zBN}aLbOf~z87TKIl49?SCfkt*a{+JVwGHrG6n!6)Oc>6TbU(^Q%>xU+w>C?_ftbhP zInwnh_~~49e7c0AFsG$VL<`^}(ggT=^IR$Tjz__F5K~f^^OFAM4NOO2kEhiww7*mM zt^30kap>-}=$oxl-u>j8G&%V0{(!h5@ zn>0Dv?rn3o%}Eqf>2j{iT+|_~ zN84T2Agq!S?y1OAapeHZrn`JA&jT!5?v6y&!D1=kzS1+R*JgP${|An%FM5S~A4d+# z<33MNynW>7WAa9RR^Qb!#{Nv-+jt|t`2VBqJ%gjVx^}_F#$YnYBol1FHpUp+IDl=y z<{*QC7mSGpYz%x=Gv9sd-l-|q)Sa5Csk&875IGAIC2`0SQGm!u91tKfB1l9*lSD>j zM4snay;rk!+`|5T>{@%Tw9n~o9j(323cXVhjlx)zlhVlkc%Q4tF_;LiJdM>wNa^fEZs%+FnHBb z9IwhmAml<(bVlg7M$T0)=dQ(X;~fhh!kjc0gLuvo@wsm62pRlebl`f3>+0jT`BaYw9lYOwb-m;x-NleOXb$HX#1q=O zgcjv9Ag}P7>#^q^XtoWi`dlM3(04sbm+Ju!AwLfruk&Q!buWbuWH@x~Vy^teHI1T6 zd2K$OJ4RO#o?>t+Ls*30d@f2Sje0p0r;s?(Blqm%@qBArj&r3`2Zz!LLuPH`v(4w> zTD-Tc&nUuc(Wy)Ej^Y7BX0Ei#(BmrIdibK0#WFc z<#p*bC?wtk-m&C~Q#$WQX}Z7CbWI+a8y$-GLl1QKZ+L7O|2~e9r4G`RZo?4pj*muq zkC>K0J>(Rk~c2hV485@BjJ#4TT%~5TapdWuHS; z*TJvPhNZn+Y;EQ!&w?9!fmqrHN?s_*TCQPB+bwmz6!Vjl5ZQj|&6{r~mRVmW1Mx98 z%A~=SeIJoAiLkF(!!^BpR{1^1Rh|Z`y0F5~ig9pZr&r82S;~xWpM_W%_DXzctm~nY zr@RcE;4eswOrp50nW22L%IPYTVrHNxJfmf@V)mhq>vFiSpS~52bDt$uTpv`ORc$d^ zccde-{XjKs*0H7f*6Js!-!(bQ<6(a@W@dklvv6SFuJNSCbHvWfg!}qY%_WFvUyG7V zgKLeDT;&?&=H8^P68oCi1$k*P|+H8luwKj3Y^G_Ngs4w#bCL zdPj>~aac2IW<4C$J0uhNVavI#QenG~fP4B7I=!>2;UPGv*?z-oeH3+9H^6Rx;><=4 z^5Zr~W6!~MzXQ8{szjh`oz)kJn2BpU3_S}Upt;7DAI~6SCJC1MYDAl}@X}C3nWw_> zoZEpJ#f+EP)bVD=xK2|LSAGXAGgw!3S?7IdmNDfgTI`d$%;>V9%QZNflT1|kwx3V` zd=~LDPf%HvJ==$L8{2IbVrbI3o$hu48Nx#mMV{3?S7ON1d+bDpa6ykuX^kG-G{p%t`blp}-PW_* z)>E9kjd!4wW=ukup|M?K%(eqA1Tf`*s;C1Z>3=NOuO-Q-t2l+n3D;wWd! zge*Q=hSw+SV(6+(N9YYHksCXA^&%#A)MCc(8`N^Yml~YK%(ri7%QBHBnr*bNz zki48Lzs<)vugft!DiidrDH||2h0*jxvyVI!RNyJ&(4h;J}}4?dj)p%^nUQhpqz#uh27Vl~+91 zoXgrk2T=JurJ4H^K3m4jMNgFLq%M`=oP1ru=W=e=x|hx8fX4$}aE6a_M@G!p(lHG? z4ft<~B__Q#4^bY6rRl+77{}XS9Md$OS8_huhqKYab5tZ9_eLV3Jizo)f59aQ%m{SN3kC(Jg7U?OFc#Vfu*`JPW!gnB6<8-w%2o4`3&Sn>^oabUK+fU+1UHNz3-hy@43NJgy#SZU6$cF*)Unm z+6|31HA+YGf$fbBz~y|e(St@05d8i0qrqa%-hit)TxB#1<}9NxvYSl(WCmg{_I~>C z(`PVeH+{AT4Z4qgc2mq)Ht0S9L-uCV9GI`e5d`jiar}#rbe$Uq6P8gJX+dN>@>)4qA}&75z;PH0va-G;I{XC&ovh7|(- ztmUy*XC=xa>-)W8!j5Y_vGo+VpwF~E>D+OiI3jvjHF zIvkNE0+&17>TnxHbKH)}V(Mme^g3RLb2{f=9@+@p5|eiv4Bi8s2mKU}QaMR5dP6XJ z6T3X>Lf7;+>6#-A1(tVPg|P8U-5zv%-0gWcZ7J}iyNig5^*y#3 z!*^KEF+FD>b@Dn2<0PXj4qFJ&0G`%+M(_KGp%{+9@#H@1`kX@R?%`tiUi)<&8gb17*TKBKDMfEa3`iKT3@rd&))}q9Iya+U)){^AcFfba%g!@(M&)mr z&ygs@Pjm72Z{s-EwL;M&&x7#ugm~BR72&a;QK0Moj^XtTt~eRxS4ch`#BuJJq4t3A z0!Nz4{T-wZKM&=L(-Fb@H)+&k)9rb*>rou#RNlk9Wb9wBUwNZJl^2?& zs|X&~7fn`iA;^(mKljS!-d&@Qbmb)<=Z=LVAMqMzsl0wZ8?W;ali-5h%9Kz6EyT_v}m{x z`1xIsrgT3Hg2v&1kNenkofGep&$<@U{%34aex*C0k#4Vb&X^9Hrg*|=c;Yx*44YTy zjt}pdHDx$-9W;2A`#b1Z{M4g^pA&x*s_zf;xlvyL^MPhfdCCahK-trto6j=@9QjFC zNLdc9$Hf-aL%itneP$EP-ZovoSL&fmSL^y*OAl$GC~I4n%)w*hC>M3@)8&}8{tf8$ z7b_3FHqF0Bkl(SH*1h|ARF=@DaqeLR zIgGxLnd|pJ9;N*SDor7DI5Lmf|7OF^{r|_%5@QfP&ZY+|URxs_)egOO1jmc}s1C|z z*~eeMWkSg3;E<7m8Z*<)!Qv)zQJ=n%SjxrmVoB*6rQ_Zl{pR8~m%h0S9{5#d*1-pV zAO81r1d@*~H>=!Q2_)ZN?nt>|<%gF)i71y*6?p8(sIaxd2}HcGg?2ck{7du_18j6IM$4gu7{qW5nl(yPWs|~3>4AC(&5g(IMeM$8!%TLcJnOil| zYwi)x{5Yv1`qDF>R_g|;&CC(MJZp$9MVt(qY+sZPYg43}=z_XSrO9?S>dc%)+k^{s zuh%UQ&;9gwR=<-a4YwITvt0c5arK6y+u8~oXSTtQpO07?2AkiPaP#RBaL)D#LlIAt z03UuPeE4^z(hQ?&4k4~)PQxjvF|$DWteu7rpN$k&A+CmD=9AG`EnEEdQyQlWGd*U$wQ8=eoVgh)*8jh%@5Tv7aV>dK!nEl+X6!ki*(C+s*N2^5?TZU+{UR_~`c| z!2IbKqj9vMhd%wwM_)chdu>(@b-!95$DE^IokCriRn0CnyV~p)Du_;Mezy7SuR~ui z`Q|dBY{CKN@!uwXJKqGEuW7LszWZ%0a#~!FSQ}T4I(aR}BD{PH0?g0AZ-1@T6Zr0@ zzcX-<2 z8IC?nrDAAC$ITsCDf9rED=h1@y3<+&nUC*0vGZmeer|W3gu~B97Sa%0K3(d@gj-@C>V6S%I!mN3=rwr$7a^Sd zQqSSNMxtI!ID2+G+AR#}JrsS@7^Snn_a#&VU4?f57y3Ny!x$ZQOk2`-4H{vO|8?50 zw|<@d+Z^%x$M;LYfheaRL&_hEuRj587tSGCXELI7=;voYv>j-CeR|+|yZ+~B=FX0I znLGQeX3XQ7WwR@XpHuq0QmD_Yzgv@!&#n-L@)8n9nvGMPHr~eRT;&N>UTK7m(H%07 zJT3;I&8Kre-oJK?9Pv8m{}20rgX+@#^*QfZds3csh01HMRgdBbbxxXVba;S{MdRGo z9l*LPu2FdgVqV$&FLNz9TZVJh!+CLox`RF)Hm}ev`Qmiico+J(4q#B1Le7b|_50^G zZxI^gY??h+zE|lE`Q%k50?l=~21e7byws(0@~Mnt;gxQ~zoY+CUhc_3eucK|tMIOo zBTuy7ykDQLh1ba1zdc9w5n||C<#bJ2%pzu?T@ zN;JDX1bzpDvaW$DuXy_!ltvuSNc>zvMlPrjvCeLpk{sy-y$TWfN8i|s-UjKYiJ6D0n2X7h zerDAxh$4DebvRnPt*f>{YVRCC=Yt{D*$X;JV)&m|X9WLRi66Qt@k8N$2d9w$dlfHN zmg4ow3F!y@@a<)_w$#c*uY-}bN7Y_ldsXcynb;J zZ$~Q$Ki${s)6U9ED_9royiI@C=&04Q(_U)p!{Ff1%N{ zMzc`=^3q4MaXMLzMA#>I5wirzu&Ez!`1tb2S3XW|vJ|oZ8`1CJg>*cafyQrnh%p)@ zy$*6eJN{Wd&MVjCrOXk;6+M-d{xD zo3SnrU&^d*cBk3XW)qMYJGuF+=5w2`LZ-mB=IjDJ7L|EYzFz+I%CA==>L~G>OH!d{ z?6>2-oncp;1ar5=bR@~nX_=1LqvtKBx0;J4a93MBmlrlGkPypG z&%2y_yr@~xCa29YoL7=!56M}DuVWlifW>B90dI z*n^G)!+VZGM}i}$TA3&5tgKaey4Mvsf$WmkFUxvw>Ya-;)`z_drB3CnK1=)T#VMqq zPa$#zveB{mWZyxkQknDXHAEn-llE`%=+T_r?+nf#7m?I@6}5W`kk*>=d;0Hrzn}g+ zAE~W{sNypTFJ@8)q@g3hz5%xf+(9*;K~lLgaw=in$}7wx$bXqfaI!|su^MGVzB~dx zgZOMA1 z@HS2D!w8RWj}T=)KlV8_1B+a#G zoEOJSIsd&|#OD4uJNx-c9<-UDDj=lWS&xCo!Q-<`hu(d&1q!|0(* zzzn?xLgiJuYxpDAW%jUTqRlDq$0y^uh|_%ub*;Qz4Uet~qv?vsMcGGWExgKezowRc zt~qosd+r#TYv?wOb9=4w4)87pq2h`_#RJ;%Hb3Y54s5#WP@F>E3;9DB%HxNm+c;e- z3|MsjCdo^j;$1`MUW!v5!at0R?h$ZeZkBHN-{VSbEU^hE0~e=)LwL6leBDKj&3FV( ztwd$b!zJe;Tq;fK<@24!b5zY=F1^nZN-r+GzVu0SKjZt2y*MAND08;V-7=}Ba(=QD z$6+wl((*fzS+KV}Gj|Is468W2Vt&QpathdoY~7=HckxuRb%&$wW@6>Jcw=#;@;!uA zjYmu8geu9%+RZ@a&2v%^C%+0qtk&Y~MS+A^9e(S~TPv$>#G8w|Ro7Hwh}GF@&u|8q zYAWNivGZuy|GN=bwNKtr`2&oT$hZq|ygy}0&fc{g#R_I*^sp8`97 z0p3vTgOz`@&apaq2(21ZcWm9sD1tM;?gG@qM1Zz-5num&Y?cACb{46_Q?-^@e- zoc&S-|9ZUw)WHwdA69>4{Uy=^ZB703`Z@J;>z_r|0oyz;Zg2wG24j);8~6SQ)Wn~F zlfWGm#M$;i76P&28ZJORe7>jHfHxEq8ZAd9{A|>~zk@dw^U?8a%}3rxC*)nlRRm^D zL7u_6#ureTbFP%e@jjl^WLlHyO=dTlj|!cKnhg15?5E5IzA0sKlJVwZ5#CzNZMvXo zR?~5)g@63>o1fqN{Q4K!$Rv35Wl##@urlW?c~_AvZ!6BB3jUO4r<)CJKDPM;SpFNE z?}yEwEE&PKzKQ=f?b|hYPq9U+ao(3|oGax0#JW~TP=oV)t1FUKFcLWhW4>SceUfxE zyV&|E>fO(lw-JY6-%pKAh+PtUQUbBUbvUP@y8U8=Vr}{%17&Uw{cufc+p`*Hf_Wz~ z7Zo|f_Wtd5_uDO#PG%2(Oq5Wp)2L`aM6wNrcbL&(W`{W)_IB7WnZmiS`)|VTAKh^o zEdSh&Ydamrn~258I2eWCt4%-cm3I*HVf!!sc@r%EEWCqYUhoFw8ocNl>^2w`J7;v8 zgZB=(-A2LwpWA%{@(m86tW6HG4o-Ftb)V3KL0GKexf`c}+#V;)+lawEhe@BZZ9R7) zAK@J8d9qL0x?lF;L@>1XRJ@T`(R*v}?WT%7&ju3_o)zjdvu^@2hj;hgEa!n_sac=* zTb{gwn2t*INhobI2gPkte_!)^4)TZ3;3RMpcK_Ug&+YdRw`lX;E4Bt`-6J@yoMG4-N6t&faK?# zcpKV0LDCGJc#Z&ui^0!WbXnJ+Yx3ya*3CI}@bf1R=Qf|t{ql;Bwx{y?^>M8<%4^M4 zr4Yld89qXr&*9qOiu(+B zUA9jDyvThUU3#CQAJ-8uc)zR*-7aVmx|vf>hsuzLI6@BM1)90utKvPI2fV7sA>Po4 z)9+8|qzRAew`7&awd55S4F)VeohyvSPn=`PxYnF_Tb6T<5Qc+c%M#DEXK1&4-=Wfj z#mL#;sqzv!X8dolFZWcsYjo*#aIL=`5A(|A8uYgj`MxYU>T;|#b?G2Y=Y%7m&xr-j zhgTluSLlLI=j4&O!8w2`$9bLDmutlbEgr=M3{Ii)MAp{z^SoR{&d7Rz&MS2LX`T~v zqx8ECKkwB0KmMIuVxPPoxFJF?W`^QYO9ZNxTxcgA9tJ<&Kv-RW4m>Vvesc0ijF@6&6=m zT45Vr2wXzjtm~3qoGu0U!->V&@-pBijsaS-=TE7RnTNJn(~(_~QRM{8e;WR~Vfd%w zbpYFCjjy`5>VC99zEbr;)$w=*kXdb4wSCB|c#0~REZ}q1q!CZ3vAV{_8s}=PM|e`c zl-+0IaMhyK3SBTeX00$LY`n^-M`fxjA=79Ltx9sA(~GA;(S9SjqHG+I{;Za1>sc329d{xDLB)tz4`NyTaZnuL_%4KVAMA;74hb39D@ zWEB4?{Ao~^NnJK{ISupvF)}RJfSAsG=2x(Go=eGZd<5KR6d-G)l3 zezqab=ys(WQ;g3e&}dGNc|8`QdgTll_Var#=((!rnw}nv`@EiKdOqwqrPq#L6MmWa z%Y0O^JYn)K5_%^g@Mr}>kG8`7Ke5lBF!3+I?a$DoCBJ4N?tpJA7XFpBa4autvN-e{9JA!MgU$b0`4FLA*UzK84DoYa6pluvNDZvKBJ&c!G~`v;$c@Iy}Z zbFDf;7M^t1T9d~yYtB{PhWvh%rjR~PofqMaqJw;%!H0bGB07AuAl5=Rc*jq-K673J zdAs7e?CXg(=jW{a+(UUh%&CKG#|H;OCS-7=b07I!2!U6*h+gohUKz*p(SUjXF59$AJti^Bfsf_9f7`^-s ziqMERH1cqeE^-R7kLs}@d4tLW=$W;{J$(BJFZ6_zUv*-wG(yh|?&DZAu0vQ8$GL0f zT=O?!Ul-^6jS!L^!aM}%=P7O-cm=PYM*Xs%fgYiSQ-0UNDZk1g z>>9oxpwcO)b3*FVwVy_OG@SC=^avmI`}VN;ileE#XUXz6DSH{5W6_9@&@mT2AEZuO zhHK@s=frWXLwWp=zg^UCl6LC!I<%1=FpzP|*GV{wUER%xb zP}j>8lnJ46+K6(a%1x7(IJxC6A~j`H`LX4vm(M^U)?JdMG7jguV-n(ZPRg-fsc=77T_mXtLB{+7Nl@8~^WEu6;nbArIN5Eg>{Z@X`IJddVb6mEl#M!EB?m8h z=EbDMEQ-lM7Jb57o)nClRCN_z@En)Kl<7F(9Yg+n2rqiBRl8N~MD^2h&U-9<4%k?2 zTFq58_aeA!InH?3&|HlzkC)+9&*NH?YfnSL))hG8J*@pq&UkK}d3EO3VYh>=c-^BV zqh{eX&%(OP>MqC0?{M8Gc+oTOok8yoes`Q?(zAfnacOm&gj3%RIrlBCzpVa>`fKX1 z#mk*sd9gFS!3+uTn$sYhh{99g&i4x6%S6WmzSf!0@KM9Z4Tpa?=EFZf-1gxkB%q9G zv;;4Am}|eIQ5Lf8A0W)@d85^lRFve#w6{o{R2=6-C3zVEE*G5-(xs%- zE}RjQk(zSUIwOwwZsd3CaZ23x-F}pqI)YQ;b2Me!Ek&mGw9adNuJtXa&>7n%p$*ei zPD$(I+if1T8INR@q}YsDFLrC}HWZ$E7CRl~VwcLNIrKjmAKV9W&+h$g?9$QRTKj)&6w*Q2SvW;!%p~faK@15Y^$13y_)5_HD~hj%qD3 z^v5AVg=ff&&Y4J4xzhQ%G(Db=*F?ELoj~K`!8lDW=yI~ll`i+Yq~jcUQBqaLcbzX? z5VmyPiZf((*MnVeO47=>ZsSo@c3-!V-N)d?Q5s$u9mY$e5YCaad!+POhrIpcJ+9+4 zIR-7?GJEbo*8Y@U^Kph8{mXbXew+WxahxJgBYB0XE8!F5ZX~cA?)?OXW;0C+%NR6( zn~vZyrmsvv0?Tw1o6W(Al4&f9O~d0e(h6>Fzil{K?(Mfq8-3FaiUwHb?wS)?=Ae+ zUR>)48Xf$f=SI;-I(e1Pzpv1^zmetIF?0JGipYUZJ`UnN133>_bFLlVTJ&%~49cr* z#JS!B=kyVCO+Jq_43)8AWNzqO>v%Kv+tihaA9y;T?KI```p zJm|usd9&k3q8*9cJzj>M-|0I`IMGF%KCiYacFz`}PcuyecDmU~NOCIpEj1 zUxs+G69N5vp24Y3@{)(^$URznx`w9wgw&yH$_C76iu>SNX@B^BV?m3iJcRt-se^O3 z7@ml%MR&|x;RLgvu8TlRPWScy`AhRjZ78I@n4&Q+ZB zC(A&B#vb%0yI19Yl?PQGRw=A9HD)@(vUb5{KOb`;CLgVl7reCv?`ZZQo&0Xq7ihCE zRf4m2z zzX4nRA#C{rXuB{9AzN2r#ScMRMkeg`$9108NrJ_GNK(hc1z$B4BN2@k=0<8@t&qU1 zV@Mevfj2ebkgTlw2@U3;`NH1!LhlWGfBySR(EgZZU6~Y~46A%45-&EQ64tIpyBl4_ z8ycovWHsL1cyHr0={S=TEcFGGTO5LP*p!xtgZ;-0izNWt5g6KIFb zcQbL4Y;j4f@fCPOa|7*=AAPwP7Wk>J67go{WV49~t-95G@;5W2z445QjeWbt9lU|r zhGdC*Ez^)H!IWy8ykm)L>mp%da=R(*rnZ}gw=7JV(8TU7c+)bf{e<=t+q1eA6DOv1NI(eHCM0(A zO$*Z|Tm(;TLgEAisK&!Kz9a=(`F3SZmyLL{vO&@&wxcuH-k*ne9U*U5*jOP6#adk? zQCz}XlnF?k@bD&uJ;9!IpWibJZ%!`3>b=|Z9vU8p%e7AUB_5XV_Fo>OW>pfb-u=C= z;=RfB-ZvyTYGt2XDc?EfC!x)2&x3|vaG2XPdv5D0ZtfXfLDlJd?oyxqoGwm};zQJ< zI&lxg2aHY+cQTIFcoeVyr>IMDqSNeU?D&$*vx_T$_!dKJ$#=dQt1p4Xyy(ungcI@iRz7=-^vY?#Nv zTxo(Ggd7A{^aW zXw|#%jbku;SC?8*dL8TxBX8(tF^F4!7VvE|ro}-dcjK4K?O+BH<|yi`p36M4w`*uG(@tC(?2^cUB;duAnAyhy6aF0DMt+5y$D1~KHX(a>^v}~IgV;lu(QcT+2hhEMPU5>i-~0Ko1RbSz zO_PA5yZ?eE6kZyt8`D_UdJWzPthcjR&m1bA1jdbj&luvv|nw zSnH5A51P5(c2a!`{W|`@J|1NCIi`GmNIAvHoHBmgf8l?G%7%;%#|L#ULf6nJ!x1!V z&p?|u+FX5rU9IP^=!x=dcZ^P@6Y5-b>pEn3D?_hq=Hwy$pM0LG$L8nU!Jr;Op_#QG zN19$!anRra!9{pLBaSrHtu%!;&7PB=YYq=X z2YvDZOSe7O>$IhkNQ+Lg!#Z? zcwNv`heG|^^DLU`atu!8bgi;~2UU+Bik!8dt%tnahfwAGbfqZ_S-iw?tul@^SDYX6 znM66o%N%QkiYF{ipJ(Jn#`n9majL7HZ%@T5^vh7c;zHJ({E8>kVdFXHJ#tU|9l78o z-UH6hi};a^=!5W0?>>tWHFBuLkrLr({(Lc__q-mC6`}u_rAp_UR$=MV5n&<<{xB*e z9ZkYk!+XpYyllXmUgjvuls<<^T_|nBQejRXEqA?K4ib4En1ZA;q^yr?BKgDZ!I;eZ zvIyw{G~Z>9gkTkRNucMLM)h69@`t-5WWuB#k8(at;Jt6!@zR`TpM>2K<#D~*l` z`L9*K9%&0UxyBSE^$xFj9py&jP{v1n!=n(r&jO?KBj)pgI){+Nd)Aa1orx6QwRJZj zmOs1hQ4|@yU3a8J^Y2Cq?*bGT&3t!NM17}qZvjrnNY zN7G?kC&RRU{81J>$cJHE&y#fBbsz8ec;Ckd;X@8dH-!~Vb~c#^6Fc~63OXsIBeLVk zXKVy^6Un-n;y*qk&A{$|{#eXwc2wB=MfMkqQD}7Mm)E`=^3^zWQkeVIJW1ST$)0`i zD^G@Bd24gF2b+&FJ^5d2JKtMUrf2B4;U-};u&*GZV_S=xDA7~cVglkhW+I|PjqH0Z zH@7<8>O`xP@I9w}x8b{uh~XFmQ~S>M`&yrEJ;IrW24QZS*=^<^cH;#Sde<4xGh2iu zA(=NB>AWo6v+9S9;)lM7c#TnQ$DqjQw6^onU*Qz`E1X5-MjCo7Tthl9<2DZd_~^%Q z%*G)U7hTz54Z13v7Vq;ynBrc?QytR~t&xgI|Lus@U<0wm@I}X?nCKOW^uOQbs6=FV zU2|bxC&BNW+b!&Krg6=A|A1YM7>ZuBuMfSnud}MhZ2PNyt&c ze1zm9{3pE17mb%bWYwoSWo_`3>593^3Xj>Fe6BSo59!2tiU$mtdC6Gpg?YfN9YD{_ zsf&Lf{I0UCy_G*?_yU0bL0KK7aZY~6@cL<7*E4%4jgb6)8KE0qr4ttbugbdCKD>U# z`}sl^pUtCu)K6U;p5YAuDlc(5S7_4}N9b6*{7u_5mHDseql~Rbb=Z1eHFqIjtc-Q7 zHqR}+Zi~)6$m3wRK0Kd${%asF`MO%)A#r{_t{sEtcSs)PQ#^T^T6%1}>f`T9}BXpW!8N(2ek%aK+bqL8|ot%sCR)?$m53f8zYG!V)yhoakjjS@N%4VsL zlY$_OL-1BVj~VsWq_^0DY%EOcSyeL-h>>0Oq?A^+TCh})dp8* z&795E4@NxIgKCUJFvdFgs-MBoo`5in0tvr(@^%IiX3wEYPS{7y(CJJBV7!2bn&ve_ zr;kew|8p>~pTof3jar!F-dzAc_0D&9y&ETfYI>;`p&rg%F|lXExL()b2+ZpT4dULP z@_w3B?4K&e^+9yojYAEbG#Jzx9DM`EbSCQEJp1VRM+K;Uxd_$y>7PFH@d)^)S0FTc z>L*N+J@x5T_@?iDIz+-SHX$T>RMSaKr@${A4#K$EG!<2E!gVjNe11nNU#|G#!56c? zTn7W1Ug`wYzDW`Dc}lZ{W{J&`n$3c@dNcgh>Z87ZAdOR~)_?Gu$7n{DfC`ssFrBZN zVCa)Dp2x#7s}Znq1OXeTTU~E;2SFPd-(`I_?0Xu{^S;l5m-;LW=;5u$p-%t4 z){o(-UfE_}n?n-5@fc=wl2pW@3B534KGSc_K#r|HjA}cj-Sl>DyQQY`CA;nphvB@% zB+Jfezo7j>3E+6xzOene4jVe8cgRG*b6$tS4zoHkgyUw%yJA8w>6F!}z%(IS_0xJ( z;=d|B?8oT5n*rZ-&d;ZQ&J$Cb>9MEu_j)F3-7M*QORDd$ zg(o}o>&0JPUh7<8z~Z&_2p%-$3;OO~XN9g$IN)uj-Rs?VDr#eH1SM^2sqwL`sUhJ=FVTe4SUI!uZ9E!8&inAeg=-M@N&p?$`yx4W16`E@%U3qNi0M8M^5Z#23QM~S_ zFaSCSe-AEsefLZnagI&noY!IFC}-B5g%4n^gL*h8ozTD6U-mKl(fC4^d_D7-*nGBr z*W$JD_S~^}g4W!{oU|fz-m5(#a~mW#c!;PL*2|ps{_*!`f3Wp~OjOI<{=p8Zn7R9dJs)I$u)ARrs^_PDNLM@q zxo04RdkY-#I}qjaq|sAJtsM8!_>U%j6psp;XKFszuatE*z}3i z*39|**ys75kAZ{!22L1{5ec&xF8abRXCe7=k(@A2A{Hk9t6N{KY8FB?4BhmZCJyF8 z^OUdYo*(n=RMgGiXiD(RMfsg@75Cop{{RW&M4z%9j+;Z;15x=6% z#Wt7P+-Nfel{M$dDdKr-qPXAL=ZoiuixT+~2PeFX=$Fj4gW8Q~_a_3vPqZ8H<9utQitgX1<$}a;-EA+W*z-W9cOf0D$m3 z%AnK!ffU@?ji{Kg+n%*G*THQ+tmiBQjqkzML2~@B%Mm5xO0(m!I8pFC!4$~L{ciWWBegZxA`x=)?}t%Q zGlV#qNB!dlPDfnKHT!JwJAL;jUi$72RFBzPz3fmE8{>bjMApSUZ_NJ&K9@WU8`{q& z;_c_0P4mwkqsPXpe9-72jW|zv0bPuUj5Q}8hhuP@NBE2$dmXgslu>>{ofqLZp8;{o z6OB)4(d;gLe>%|oFLSV$>Lb*(?&}%4t`%|*ovTilI1EDW?EnTa$VVJuWNr2j8obh! zuDTU3Yw*$z2vNq!`T2#0eaNrZr92MhjU4GN=EMapoa|%dm6xBDW3E?myqC`Q$ET?n=6ixJb#!yIk#n$Zu7rt?oeK@-+VrP z9WHn{6wm!QY`u!J@s1^opN2xwb?R7_@I}3it{kH*LtrC$*0%rKsWW2be~u8k>54fACbk{fqV#qIL?(O{MOnv^8g@+%@?xP`We}D$C9Be*Bs>WeAi^l zaqgF;yz&$`SGw-Ob%fW*a~;8fZu9u@w!R{9WJXTulyi)JTc6Sil}=v%juq#roI*=C zc~u8xR0naM6O&OoP^IC&N28~2G9t~{5i0~w{`nG5OAM9D_c`e5%ZT%huWx@n?8#3= zpiD~1jFMYWROJwQW2M2PzXriFFW#6}Dh*!!bttW}2Ys@Jqo_(ck}q$RED^z7G|R1Z_rhwQ{!XG;?eS9g{ulyh=84_D6E^#z z`s~NMTD<#{r62EH6vJE%tNr48E8f3_ZoG-G+ZjBw_k(>OJ%d!seT~nf943AHYhaBZggrh3wd|KSNpCXhlkuO#!x|4;;_SbB=d(#onPSNh znQ;;xLyMb!{gDWYVK=KAUnHRqZ`zmJzPu;i{cvE+Nz}7n)oe|(cv#%$n&&sq|9as! z&tPlM_;$G|YqGILp7g0==}Wie`j#6I1`{r9a;oLCmh8HFLQ*ibn91Ys2EnI4173aj z^pS?SxAkOaTpPDdD(vuMZLXlg{fjmUv6~Ttz6C{0cE(;rBzhu3VOZUso_u!Qz4$}0 zZL$Qx424JkLAxPH$eas1JoCrnKh9{+(wB@#Kh-`Tp)heBCUltCVK!{=Y}nvT$4rqf zyK7AlOaXf8vZF2wluYjOpi823(@jV8`Bl?PcX_v!-BzO*Nlv$9w$c6RcwX{cOJOMB;UhY^n+F9j{t+J4$^((jXzp1Jt<8R%S3f_H#k;_On6hg!+HQrmKwdg{S3ygb#Wgql;_7ShP~U zb4`TQ6#^7_g}gp{ZtkCa0fSdaIeVV!yB5drlTYW$uaLApu|@SLuUwaJ51XbsY@98l zbj5|N>rot`@)f7YHF8SV-<#+#_Z%ulx2<3J4WH-J=|WGS7#+H=$m4qbIvsNj{7tA1 z*QY-s8)Xm5@SZ$C4&|i|Tc_g5&$(mqDvdIn^S4FFb%;2F4_I@@;EL0wIw=#v5Ls(q z-Zyn9UinoY@zH3CQ%HW^rwe{tht56V9Uo2iRvyX*FbIir&HYnOahwMXU7&xh_hxuR zx5Xc_=DM%yb1Yr1Ew4HORmO&t)3wgMDEpAduQ!N$3|R8y(eGV#DlEbW8Rb(vp^M>Q z{5#fqE?L)28b{EHnOdq!!~WAt%qy{@#BM}Q-zqT{=HL;ybXjLF9MnOV?wXS8-njY3 zDb(3m0B0`i=-n?psLaeVqspe0y;ycaxwLXO5zLV;$%YffVSBJ*0YW(#$T16H9LbfI zNXp?MNjjvF#4v#;G;X1#@+##dUsLT zd@>@TCrj+}s+wNS?KKY|{&}`(VVYQLdTkeGTV5R+YMbgVd?y*97h|RV#R3>SuT124yw!J#d9yXgciktDgtI z81}^&7-84p_I&W=V6+xu^55mJZo}QVy4iR%5Iu)Lia}qG{W|aKyI*I1bL5+g--K(* zt&ys7=UT+I9F9PWjV(8c(=)5(JgI#V62oiCcT>OHB<@d|TXcLTI6ItdGz>k~W?pO- z3@mkbhAYHffO+*oDqn1GyR+@_wnGtRe5c*$AMgHn|HsELua>r7*?u3)tHCgi;x}IR+ChDOk9NnAe;NZO3bz!$faB;5emIiZdYqzo8$4LkUqmySL zHu)ONu?IcoqPF;{o>x#)e5xe=<@XwlC}piGPIGL3?<2iWqB6#f-p^ryQsm9?#&E$FD=_insMfoBQ>UhdwgmIjE1&F{7S&)<)B% zIP&Y9kUC@yXwxEdLwA%9GPXSVl-HiyJe(^}5d02?(p}6WG@H-b$4?Jg@~TH6c{v=z z!@1II_)mD0-}UM6>-4WF=Rl_GKlna$4?m<%4(jpKimWX<`E43yZJg>-=ox<3;tLs^ ztw(SMAFz0B9^xGzO?eg1HDwg)JhH~;#ousbZT$x9y*LkioHWsAT^DhB4MEI>$Hqamei$tN0iFhlW# zh<&(Ix?zi!?K=NE9tElwl~`P23+i>8gV8(@CUYhtA+DoH^@-OXnrP^G@Sd`VXhz8k zB`=nIf~bfCZ)Cr5=#9H?JV8`6y{B8?Jv~+GAv~z*=p&k6`a0SP-9++XMwwk@&Y`8y zu(C_bhU29R%T7d$L^|Rl#=)bSQDJk1TtrCRLBup;rN_d+UIX)bz0~wzMUP39ryIZO zy2{%tUyz=n&r!fG90`$7B?(6|xhj{c+>9xN(LD&B)}*)QOVso%RQWhj^_=)y zhrs+^gU+HmsvS28i4Uqhh9SNP-qviG<1eaDfS+}{RQ5Pq<1YNH3GlHlL|Wo%cv|UY zefajxTF+|5p~lCm+G%Js6!x>8t36wa*IleLvM%Ez=GRSuZ*?QQtC=P$V(U8(VZbjz zVj_!9$Jbi~!+ob1?u+W5Hqj7k5jTAtX^CUr+kyhqr=-C2473^AikJxcSNFiX8v0-r z8V-fyAz0LIU87v2Bwm0qKk=g(AI*WkHB-E;vm38$yt?rb#6K(*<32;m*$sxbH4mkx zZ=>N5y{&r@^Kcyg)@z7&NP&@mBvM}bcGDfG^pXGhGk9FXkq#@r%=j`JaSqRrj2Lgy z5YIJV4I}?Ls(Ot3Ch40TRP?wFf9nf)T*rPp>s!|px_j{L^KX~6NJX^6ZNxkL3Dcj^ z4p}Xax4eXQL)TkniMhYx`z_yZgO_#B_xlk!JsHOT&DKMmohW-(=!}NPl|4ld;Sg{Y zKG#BcU4tkcJuh~*L_j=)&y`(8!)b_&f!HDC@P?vr^xU>L+AcMThil+-o!Nd44h75M zX&r$IAUp_!y{wFK*w`_n)?lFk?0)6Q7`Vg95D`zn?Bx+@zS~7PoUz*0~r1BC$7%Rs&-OUi<0?`U zw}ye7ejH_N9M>L(i{Tg=uZegaHb437weVQqhiB1w zzvLy4%Gh(oDGz0%(QTa0`MXkiH;R7pDKGg#KAt~(*JksoUcD|t$C4MkPhMs8v-5oW z7pGt4_*vO|*!(&dx?YD*zv>aFJm#~fyvUk$Q|q%UA_uyzDZ`=bBG8XFyta%zw`GZU z{PJdB(v;W!eif&5&*D>BaXOVwNO{-Da&FUGik$>U&9#I2K;7 zQ=y+0O^!I%=m-H)*5*@PHgpW1jkD*Z`*nE0rScvDNw@hq*Uyu`Eu~S18--Wtgrdvh zp$u^$LQ9t|qjQmk4qdyD31H}&kk_NvCTkyEdHuSG51-FscD)Jz{(t^EuEfX^3rnQn z*s>g+{ycnG^QXek&ptXSC0CR@gPJI--e9Q5IviA(x|xY1N-_>8gQO-3 zt7>~?LS@d%0p)&~3uP~%+~7zYPIklpzqI@YyaCuJoln{K^suCK&PC|Qm`YP{L|I=c z7h&71kHXN8>6Pcm8vq_pcsOAnoFxd*-iq+-kSRZS1(i|`psF_0Ij6j}?=1#vPr|X} z9;&6xtF{n_lD(*@eFkA5H}HPoakU}UhgBb0eN^?))yGtiM@Yz@)u$j_n>})_9bqRfPuGhL>D;|AvSc-6-1b^(o8wFNS znJ(2+HsZ}f2Ku4yLvI|0Z?iwnNCbn-d}lWLk_9NwUG{Qnoz4!3Ft$6n^=7X6yyr4s>99{N*Fh`Cp z$E6ncV7!aSKnV8*gouonBg-WOZYMWh+IU;zY}8RXi2&|Ja&TFTO5Eo@zW1@)WNVWn zC{#EcJyesB66zr(v_K9q4Bfu;*<}Q6-@!3vcvB{ZvUlo{NVlAMNDa;T{MzS(P*uf4 z*!FN7WQIsG=pnqjxbW4GW-}2s5^DCm*>Lp88ISiD2T)7pf>cqNh4jyjE$+798;j)# z71`EuCk`%5`($_2N38~+4$EJEj09%n}XG!9|g$w&*$#ZhKWmpmL}_WZoh1d{BwGhS`z($*ZjYr1;r4oL!$D^RI^N9anb31l&&3Ek*)Cxx zcY8kQIlb4sUaNaCF15(k}~z4zf=$8o&tIFGj-1-&2l9@S@JpQ)(Pl8X?O z;eE#-{A3XhKqqkU+4bvQ9D0u64an%(c3F$G`&vFG;93YqYFl{7LFtk#o@ew_@hJRrYd}_!B;t^x0%T+jKs{ zJR@D}xki2uLwWQW$8|Iu=^>-X0T0*Y7@|<%x82q2bxn7Uz z5*+YKQ@jl+&q17g7S=k#7X>%L{04$XR(P$sy(j0cMN_?@C^*vmc*=9AoXz6_?_lWv zZ9gA*NhdxUZJ_z=$Yblb=e$>2mb`8he)7={5Lt^ZvSzJ%nvxH=Tgq>))85wso%}8a z@gW0)3V|cu!8%}uEpOB8`5(HcPmfKZcK&!%y2(GR^k=i0s|FN%!K>*v=sp$pk) zyw2a~^wVvfoC}>gEIp~#JzO@QQvh@h@(DEeRu6Oz>QZ00P3K(K{=K=@Ve_aSr75&| zh|{$bWseYWDyNWqoRbzXbA`n7ckBA_q`OW`YN>{u`t~0RFZ|{bTM@~8xWq`QN0R&6 zBNY6*1#^~-Vq6%sC!|Hpx;OISWxrhd;G56hOhZeU3zB^}x?GBwt#Re&mS0eQRe7)c z2$-y?6;@a9kb9U_ky(Z*2v>P&t}YWZbp#C6!&P!o$nRm5U5HY?7_;N8)T(={9)wx? zpz6qKqpHnD$Vz&(JZbY1f@ylI+5@RDG7$!8V)a?@o1cY2`Wyx+Ls^ERx=21e=JVh) zUk#J=I6USL(C8(;*1lRdV2nPjm5jLLeYG#bAiasW=*%B9m9vT@9o3 zXk8ZbW5p5o-8pFd!hn~2De6aqlr=|I)z7MbRKi|nHb{gydRpp^tbXtDdr#m!A186i zNhszw^1~Daz-*KJ!Q@7Zkv+Ie%J&_W0GK};Piedy-tui|0rLzEU{;`H-+ojc8HrGs zbg4d)0b}$2r@_xge6|p#=GD(0z|3Up7kbEVe32m$$nzx(Chx1$2!k0bh54BCcdq%^ zuZMoK^_$FZj-tupO$me<*J4$R)hNfew?%G?r{WKHQB`C;0%9^?UNQ!mO<=a5>h+lK zS@U|X)Ds!k`a)}F|J{V=I|E+tThc6%1^8HckGX&AqyQh|j<@~r2>$Pp$N)@&@B1bK zVjjSNT=C;Nl-{G+xEO}x%nl<^DP%s(!^D5h{#WY1($FF?wNoCNzD$65$b7!lFbnhG z<-YpUjh}A9Ks<@|FPnefiF((^eh$|OS=cREf?T$VQJB`96|Rq(3fD9S7xladWAALQ zEAVXpiFPl{;LH2v+%E;c+(!oAwBEa5@)h(6qP1aC-vxcy&~UH>v>ZdRy$SuMqKRR4 zzw7X35AL7Z|N4N1@M512XX(*)o5NU^SubN*CfA6WSfgy370cq8zd8LoCFI{7ht6#p z=Z>M-_{cNe$lEm6(q+$Wo@hEf>-i`9nsr3Z=xrJs2)}d2-bxFB)|C8)#{~?Sx$!78ZG(Vlse8nl9|2IP5bu50)?d!JZ zl`S2LSJ{A(BP>pb@I=w?0jD&9QGPE<*L?|zb1@XBvbt8t>()7;W6Ai})M4w1%#BRQ zK4DPyWB~M3b{{ z0i*jbvbHXJZpqr$sr$Nym-_yq(zek8|94{VuXD<&jN)uaI)@);uU|FyC~tko{=K-4;C%b2 z-UttM`FLEj_CuA82C0vD>e4x(YvErdXVdg=le!d7T^wBhlkY%zZF!w5wDl9GpQ+Hz zettbF8#LEa+}f`@!iRl|%&Euh#r=72+%qg6bGY=o4Zj=k-~X@wCl0|VOG>PgzKOd_ zJeHn`xd=yj@>eAq%yC3^y9hAZ|5hC0x)Wd~vj|@%Jhu<3 z(QCW4`p)Wy5mIui`fY@jjFl366KllRSX?7d()Z%fFou22w}{{NB#h+5TJviyK=R&T zM1CjNPN}^fM)FelYOmM1Q|Dft`*nuFG+qEtZEoEYbx+kTtox{L(mM;^StN;j2i`gI zP7X}v_;+W%nG$DnF~zOjTav-Xhg$#Nu#Ck+-^t6Nq(a^cy6bn#muFT zZhdqI34ROFM{y6*{7%4odk)EdR~lb!d<`b`ZN!(4gi%fJ?Ug3?nhb_n{p6G7@ZF|; zmhssh1flHzY#!46_BB0#81r0sZE0HHZo2IATXMDd4At-mg-wZGADrdE`2>~cioQZAD!tkCP zI|Uuf6U2XeG4?9@m5=ygvUqMc|KP#o9@I7tRj*xmZ&#w~_2sr#Q1yBQx-f2o|MpJ1 z6r}v^{V`WcZ!kK2Nc*Af6Qy%G)Be&V;qN#+x7QJnGQQ&^nC2_ty*>7?yZ3Z=+1!g}WMxiA9Hi170v3`6GmK^evS<#ip1JX-=_F1iobw2A+~ zQ2wUY+yz}_2swz0wy)qp>uSlXPQnQmz8>b}cZ@FHA9;umnEA9=>wU1n1q?rV?YV!g zG|%ws+A(W|lv7#a$mgdCkC6*1gq-quzy&P4&K25w5a$@)kR=l|bJEGLH2o}8hhxi_ z&p>6AM0g|;r0aii=^t z@v7T~#nBW`sGt2#=nZj=Avz2s&eq9!G@Q*7(E(l?Z_kxSA!#o5;+oLr<=itk(ktUy z`FHkyEZEKGQ66*Bct3=cA#}~0>!yY#e8AgK_5+SQGB@%eBTrt{sdKI!;5n40a~rSv zf`*s0fF+}{5k9jw`IV0}4{O)L*);#0Ysc^^jqAVc0lh(k_k47l*Pg3B^6T8DyTJ4N zA&zrG@;YV&06A2K_{!GjE_jQs{I-nBD&(`3bQeQ^6AtDoqfq&agUUx);ZexX34`oox_mnzY>U^m zcu2XS<>JZ>FE^pw)N(F5CnGk9;c6Yv?+7=BzW2~A%X!XVCruehN4z3QiHJg*T~b92qZHHW|mUI-)j+S>`W zX#OU`^xaoGA70@Zb!MaW%W71sxM+OB3+kRkOK_UKBj1_wPSQKG-pPW|d-Ra3Hk8r_Pxy|wrUQh_XaD4MA&0UzT=bPVy@jB$2 zk?4jPFZ~e5d^=HURAiwWVk$hu8{r||A>QF9EuXgZT5b8R;JfGW2(uOi0}VVxNS{EA z^aSUa!`SFdiH<(o=5d=bQWB6iMPE_S%Q*P`nH&cnGiY1Tjt-Eq(W2Q>01DpPi?{JT2(F z{-<>Ki4(i5hEaMSRp3~iVv%%6gvS^L=^9jkd(?Gmw}stybvxAUj5G^>(QRJ$IX&hf zT;N)dgQ)j571iEydfn_*(CZew#+!cGjM@}opD{hg%X+ghIAfs~^v(NiBwDh}f{*y1 zGy+${b3ghX&K__D?O1LP*fX%uuIpAA)uGFdtrxLF2iJ>v@ow2A)n5L+^6xqFw`=~s zZJg_)lXswb*3|Pqvp}cvuGvPT@M}aDdb2CFQwRJ@#B>f|ia5&g^aTtBxWN zve9@#z`NG{s9wSV@szXZ)Tul=mo@n8{X`x(<#h~QboxH8P!#?4|6}U?13aor_u+M^ zKEjaML$6EuD98Od6sM3h4zATsR~n(xY@CfRPN&VUd)Sb2T$9f=Q1y}~_h#@OApcJi zA22x8&$W%?+_88#=OCVga$E<^T5+yL^UPdvTn7wJ_jP=0;>o9UKU8_w;vvq#AmpHo zLX|HW>%$v9rTh80)}cJFg2nL`(d*kY=oD{@8`X&esMW*$wi z;>fFW@{1hyQ5@+u4}U+T*|=zHFN!Ymxxf=T2HLVp3s|(EHRt`3KiW`zlzr9TAL$`W zr@g=GC6DgqU_Q|7%QZdrb535J>+g@Ug12boRUL%-+fiIS`?nP3yVZS^KcYkTh$0gN&A%_#j*(HQ zI=K#E1PopAgr33sX%2aHSl_qGD!)QMUgXVZY4a#v`EBT0*H?tk!iz4f$;&yR>QI`j zExb*43|@F~efs?=idk^|#NOOTx9fXeIAx-f*cS*w#Xy`g8&p#Of$m<}#L!CyJ zc$xbkpQGf9(5<}`7l;k>3^czp@~hrxFl6)z-{0_3KJW@2rBSEr`<+uihwuPWS7hzK z@76K9%2ujU?cIi*I(O^+`+)!W_lOdI;utvt2gxMVzFCKZ80kCN|lC3YmwfYUusC{ zp{3{IsOgp7Q#ynZ|w8eB&Q8KW3_KRg(mWBqS`6 zIe-vRfB=C237VWUB8LWq$cT){^E|8fYPODB*mvf~uC@0{`}FD7(OzdIMBmS=G9MB6 z8{om&B!=q^n64>N3s8)^rJ53}`B^_wWgNaOWo z_1GGttr-02HB!ZtJuSxUbr`cRrAXr_1V8OXVa8`LZCBO0j}WMYcW1)1-GbtbXC!f$ z=ItH?K)tFRS0}L!tNWzZxl|{i|)JuY&$3;|rLA}>7b@z&q zd$Rt}_hJzUMN^ldP^l=ce&D@FCO)6WF2kWR;MsWuvv&^6-XIc*GZ2fv9Fh2=5QBfU zVf@DlA1{SZ=MhS%r-Z#Z>5W#wpK}Oxf$|#NgdzN*(W^%B;@3IU_z1$It~QQGc+@tS z#TUdJcAG4RFJ~j7@^>`3++=psg-us9-3`yqa~Q~rKOG4J`ME^pZ$wl+(~D2SRDO_`vKiZ9N7@krV=B_T5Za`W8gDJbiB5tW6WprrcK7Bfsi^|LJ* zT6I@EKnYUh@uWoTk8U-lRa~oaFs!Gwn%OF)RXReiwzWD66Fa%}l-3!oH?+=fO)n8m z?F>m!PDDA#)iAX;p}Erp6k(^SeMZVc-v4GiqWs-&pMSgfyA9uM{BAFbv7eOQs5idL zmyoR6-#-f*;X8jg^TT_CL0enJD4&O(sV9)KJgmbclx#oN;Z%q7;yt2)o+M=>A9sAx zv7qC)A48=hLx%cD)Ha&cX|eGko$GW_asY0^lQg>X(#{$1Bdzb8)%kVjQ9mvDDF=zo zq1r|?+S8ESd_ls!rlElQLWFzWl-fpi5jwvrH*U#*$U8$oB$u-@F&78}+(Qxnog9{C}{X-+!3@JA7X2 zbKCpBM4s#BIUa9hZJf=||6^R+^q|r0#p{~9Howd*oUU~r<@I4N{x2j{nirB+`Gc5q zC{L}J5KZU??*cA_z5w7M>IM|L`TQ#D2cE+zimv?R(>dYa$V8hxZ5i%iuXP>-Z)FUw zeO?~3R=f>eFRy)lZ<(tO-QNpI57@e`xr6KE@LM>}DMLMug}3LVbGR0rYu!7@xwTe2 zp)DhLFQ2szVD2+R^ch-Ean^kyUw9vDPP}W@g?Nl?PBj=;gK6_ z$2pzbEQXuu8~nWTYn^e;v8!qo5$7>w0LYh`So)VFEl{n3-KA8W1#F~&%y6{);2GH zkGfVE1i#NC!?peUlC_5?{24uXuP*%zP7!=w-6|h2{9MQL_h!C#r5Ck-)0oizZwGQN z2KhOZpE!qW49*pAU*|Q?Z_Eci4&_ludB%l$X`<8c%N*Z}%GhhpsiSh+s5xaDw*IPH zkG}l|{ntELtaN@ZEw&Ode_N!C|8SI`%7Wdx1(xfh;;)M*!uiSStuv9+%@R~}eU2;T zqAl0zQls99duQ%D^TkfhL=522(!)!Sgq=DcCH%9|pzCUxvt`qe*UdPPv8Z6C~ur)VDokdzrGOW!Fus8QtJzn($ z+@=$%ZLW3-WvR|qyMXAyI5yz}3p8zdP#gt$Prz*1WpcO>=6+q#tSJAQW zv*zqhakK7|HeP2xIR8QXhs)9O_vD9XKHUA$tcIx#7c^Xr7($I5T#l@7w(i;sYm>HR z5;DG*qgB`IPiCMszzSHFhf%0%c2gHtWhhc`>1P{ZQ?gvu!p}FG23?P&J-~irPd<=R zRj0l&-Zp0I^p6zio@;c=VYdfOt z*tUPdZOd|2Pf*Y*)Xr-sS_te%d|__P3$YSMx0@waVph9sN$c4T*KHhP3}+z9a477< zDUut0zrzbSaL2$xOo0=3ea9@M`E2gE1(Ald6d7kYT_O!x_=>TH37ryA`f66EC7m+S z?u(5EPINkjTDZ&`zuD)9MiWTT_7`1Uvp*AiX49`a{c{-fHIj|hh z!wnpVxI`uo9YJj3T*M{@d$GB2TJPm>1~YjmzRzqV4`sp~9Ds$m6DdS$A1><~goQZ1 z-xNeB=A%&o+Z4F{7l@6RF71YoAgyTSfZd2!%tfW#gRl(q#4?;b=osw6kX5(`#j-My zC7zFpxvP+7RJ-`_|39Uy@*XHo@RmNCPxONp9pTz^PraYQ z3*BBAFuGkp$INvPg_Kd6S6D)CkT{7R1m?e9wDEPm?q;vC>OBI#0`&qEJbYcI{#74+~a zjWQgnU!i_R^6|dQUmf_592JF@+j2nQr-Y~gBT9hf9i0Ozufx>vSJ z!%v%i(Y(d~^*{Z^h87!MY&2}w#}d z54-hw$&sZdm0DVAU#b12&cf6Bpwv)Uu+!gJ2n#j~e%4Kpf8B z5bW4H;%Q}8+w-!+%cY{6azVLg@USwtcXv3yEgpSK8070W-qr0=wTyn%trde6A5|<6 ztCm@BEVR6&QX1^rjmUmG4&N$U*%e6m??{wg4*6DdEBmWVh9`Be_)w1{6Yh4EJ5@$T zjf$EI+m@Mdr=s!^5bRc6FCoDPVc*_`eY>#QN?5pOr0DVpShd>_5PVWXf-e}qD(jlD z(cPa?M#8PJTmpn|z^Z)>tCr;?7Q>@@ujU3#Yxi3|VuboVlCtZm2yA zw(Q(G>+5Vp*zk=y_h8K?)pgPAE(7*#sFVbQhVQ|T8dpD~{y}8OO@D6zEZP0=o?dzH z?t8=txvd>q2p7Hrw z_*Eanry38B>Olk`GyM2Yvyt$nW__{ci|uHacS>yFea#QR3eInSxB30%Ptl}$Ws7U5 zdUmwsY1qCuVE67qCf(65A0sSzi)7Q~wtCj;RjZBgmhNwTwDpD7!Pb{szl7g(BK)R7 zcupUD^+?KB?EU&ILX_{BAm!jU7hwytHrkeNw|@KZ+sEH-LII0|-(5!$i<{p)kqT)e zzEAl+7zb zD2ig7{OK0LoLLZhUzhz|4xlT{LfFCk5$?=ZeDs+f?|Kpiq0hl0-i$1~)nWth=zg&K zISG26(PLeY^*yp-0q;Y9nESAQV}DtXjJ)f=-1z17FD|U!13eG-%2?C;Hd(Vaye7yHnv4gXvRo^9)&lu5n3NrN8_uV5IdTfI2??0mdsQ#1s zAMby^{{z%X+w$9actw{E+<^e;>f=4tSJ!9s=23`jn z`0nrb;TtU&@-%D*4`Z#3*Khh^KdcdTuSPl7s?SUP61Xuq^P(qkB3=A9<9IG!Er;%sgn}lt!GM6?I>wiJXz~d1URgkKaQRInQVC z%IhAoCq6srDreJNOSerYzw(87ES%rW$*04{$-bc3pI!A4I-mtGTny#)VIDMVp%pW$||gEzGszjAj6^h6e?Zi6i--`48Idw&V^puZG`-s0c#)f5wCi==1~2d>)A|j zkeBlq_UD>($MCBT#oKE?cmfzf53kQ!>v!M)Cj)!gI)s<}mW<%cwJ2}UqARasqt2#oR~T%L^&5yf%%#8e5M|<`4wlcU5`HU6qxH2 zz6g5!z=h0p8Hw4_`4;q@&^q~ z*S5T4U8`fsC@-PTDW~fI@T$kAE059?I^;JpUVfp4?_<=?(p4J%+_&H0|M>U+K2{<` zSvNTqw#q9c7A7FI@Xr!S5*He(oje)sv9FZ8jY!Znr5=}xduKLkCLeg`DEw-%r6(c! z^BhtQXTYx(5Ub=dVn2r=<}*#w4RimM2J2&g`NQQOi~X@u;yV{rTvKr|tc+u@G3Z6R z4lCofSQ)f2Mx%D}JVbHkRKAR4!-=Sue6-3+SQYE5PN=p6_QQi}Bam81|JYXXj2%Gt z#B(S^7mChgh2+tuMsmoKm<221r1;3#Iy+Q#V?oW$uq5`?3`*E*_Uf2@{U{NfA9g&Cn8wqIYG6N;)XiZ#^B*ZzeCXUs=R{v#v zmZ#hJUO+602k(WvV%hKSHcef!8yrIn=2}<^d9W2|DJ*Tc9d<%8tb{#CKwOIGOLk?v zi54y|#V3|8)ihG2p2nF^^57j?CNY-_U=buB32_-}AK(1!)@Qfj6;7pc&Pn-Bpgo0$$TG@4MWk4tYp0Q$IKts z{kRVvs-c~RA)aw@r!8_eSHIK~oX$re^>A+I6gi!b`ROW7=J$SD-z9VkU($7H*F#;O zcOBI&4plLxc3Xn(j2Yb?N?nXJb1L5>J}I8dpLKWTM1BP^jKkrNVktY;H{J=a)P5u< z(ld1xXY@aNrr|t(9m$Ee(6P~#SjHW{o>S$t28sGT*+`TyoD9*t*H(0b13v&H-T zAfC@WrR(!V*UGPu_(&s&y_83xqx)O5p!LiYJ<4PBy5t29b%f;&jX1e3&>f5**BIm{ zFNb|?-nH<0ci~~l17*nb7hQ@2y&3j*4WC?}HMg(F7XeSbk#yT~{H&_KkPb_q z(gPOGd)fq`xmgDQ3(*X(4|x6EajtttniHpZ zrwCqK-nDpayy{RKVF0{Aj2`B`J4QAVFL6qz>|JwDZGD`JEbf}dFP*r)AbYd zBso#~P?=3-AK@f@1+i-RtF z@Xu7bf^#)XJL`!$v2qs9)9gdS0?+fSEU2=k$~wt~+FWI;yvrXRH8Ls%Z}8Vf?TyMo zPmNKx?U?m+=iL>x?;+yMt&@$@^rbr2aGp-6yG)8a|0!8c^Xu)y znfefVk6cDs5B463LuS)boTMKjvndYm;g`I>6!B%#O{bCU25ETzKH`AoqkFPf}qx*B;*%Rk#^V$K$Q&en*j%`)+3eJjq@JX14E>0a|&Ek=Y3 zKCeK|(Pq3u-!EtCyw*1mJ$4^&%f}&tY{u7%B!2Ad*UxaSK7*(+Hb8uWx8!?KeeMSO zhpfbV@n@(z=i;6Cz8_Biu(r)XoUTu_Ioak+n;UIzq6%HUGa8X%tL2UOJw%Glidl+` zqRY|?eKg*Nv%m-6hHt^!@GI@EB9AE0{&f4;4sjhOclZf+7d-(*qC;=PvrsB}%1E;S={( zoU%vvoP+M@>wCucn$#3i0`r zPN;M8C~wf>^?oNdzrClEC%KIY7dvQgsJ+h8x&FcsNN4)B=A@P0=@aYKOFM}t)i$SP7 zkzgdcW6M}`n^$>k9QAV@(7zwb79k%1p1d3m24xRs)Cz^#0bJf1pS8*}S&SpwXdxHVlBKypCrt z;`KL0886+|W6xEeLZ#_iq2dVxW^c~D^vd{6I7&B=&wJu*UdQ_FD8JrM-Anlib*_8b zYvos{G?jB8uQY+yT6u`K=Y{w|D{4&{FU{UBXy{%(`?Hc}%XoQ1*A_LsOcfNm?(+M; z`8Ixuw0wD3EJZS2jufAa*r62I3?q^466#{O5f;N8u^HIKa3NxZ4!mefeLFU*uW2+Q7I`@UAT&Vj`cD>*5A1JC#G%MhV67ZEzgKR)sCsgJKpKf+n2w)HBM z1I(8C)>j%$L~U!g@!rOVU_U%YrV1^HJz_WHqc`DF$yZt1WNVXTX%R!4;XK~UzcjHr zq3Q?EKOc&IgrRryjM7O&&4Wy-Xq_)HI?I};OGm=%h|+o4d`SzwtzXw-Nz3Jk)5*bG z`&Ed}8G)XJ6VR0~5mp9kUf*x^q}5Ku=p06T&J;xE(As!}>esY2Sp7Ov?2Ti1kI$y- zp$gciVR=0I<`v>}Ttw<@LYtW#$XnTsPKE)gf=xSw@j2(ee=6_zX^q_fA+ybU0?I{Q1V8{R>$In=NWs zzhGPE2c4%P7AJ@%H4nOs{5cL0I0t_|CDz7$MBYq6*};4i9b_I#C<12}dKt3l;0jnA zTM&736#Wd(pqnA{Ph#<|f3?Kmq@o`7PSh;8j_8|Zz0zTM9PhQ}*JHmP|Mk?bQ+glm zeG*l%$M#u|tdrAHhVW&dc*Nao!TbHAut2UO>Si3O60AeCO$OSr??x?x83VQ=*W~1Y zdjpd2e*X}1O>V#%p(QeP&DI(FQ5vImTzt-#vdq&mdo+=dkLN|2yV6=j9Wc+1K8Kd_Bzn0M+A#(PA$8eZ?a?f)JVx|hKS`??m+*5&iybxmmV z6*af{0+4Y$`iSFDdD3<6H*+7LjF=E4U2$PvevjZQv?dP20X~4?dgwlDt#d*zpYCTv z?>-LXf*6Flr_Q~+N>{uOG8|k70gIBe@iI3uwjR!X2Cq=*MM3-TfINXB^pX}dG)JNN zt#Pl)oC9(mX)oe+knZJkEIAjtl$X$^{YAGWM_K@Dm37UW@*K9T^60e$3~wPGa~;IF zpa&!9P=3eIf<|VAC96DP=+Q&G&)}$sbA_bwJMv)==jSl|`dkn^aKr~e_hHyL&h0h% z?6uF(2{}|hKLh7FT#K$a8}d3GBTv|a*KNr(!?Eg%JX_e-ufJ}ws=J!^zy!t z7PM$wE1h${ho-uMMwYxbzs?nE?_C(Wk2zz02aAJ)-Emq1IFG|CW$b%8hFL`^GGsbPyAJ%8zI{ui76Dv-txDZ9*HdlZAR_Qbhn)Ak>2_@x^tvp`p zmT#}T8}5&5FlB~U83`9i988$=Rc=-p6ZI#O@>%@tXw(T9G6^tZj-UYC=xR*JUx|(qMh(`_H6^ zTS|k4DB||G!LASXA@Sh+2aga)lnvKM+(*gA^)a$xV#C!9cQ@SAFclpx7sIG|`SI(p zGh|z%U1-#kE2Z7&6dBey9`2B3Qr7K8<6$W4wiK?AeAGIh4j0H#I6n#yV)XFSIiIB= zyod=0`#!()`BiDov!&Tqm@$`|o&Dn67q7k;11AWR3s#5Av?aEj(b8=>r)7qu*57Rz z`{md#7o$wu!7tB$c^@hEV_J){H?@A?p?$^32)x;^eTwEILj zLsoa+09Odjl8G=(*7eu`<76`&BEx=}4U=T$FIjMg-1x9Z7*7Ib_F>JaLHNp~0A=(u_G8@h0Zz zY4xbb)ywTe)wJ;Q1kV=7dcN4tE58RXG6u(IQlaOP#T&4Af)<}+&2|63gF)*#tGwRl zwc^A2t!p98XRSF8V(f~bS9xuI2fVsgNIv52eK`+UIHg5`e_(Ibr7#ko7xzzimB+QN zg*eBoIp700>8N59Y^Qw#m$>$h-t_RxJp!yV&CUeNB zzeM*@9)-&582!2?v~eo$T6~K0Ldx;?N4&2Hex=*8z8LG?>3#6X2h3XcQ2h$SdwS#) zPd??Dl#URcE6fqm`XIX@q5e$}CL$LJ0ksMn=<T~}P4Bgjd+Be$K*dG+?Ra^;YuVT6 zQi3g1J=HzD=&HOf=(Egvv?iMIYgI2Ubn%AWq_kjdrzei>fGLEh{bQyRR>`Y zi%0Q}eI2|OGX(FUd3jwAowDTdDc(R`69zCGYf#3;bs>JpEsdJaga7?s(~3p$4t;&h_mudQ|dUQ*)g1# z&mc87OTzKBQQg8z{{1*1$KvJw`@U2dS*@O`|npZW6~DIdkNaRyGu8@gtpr~E@HHJs5c3yHHVB$bcX_X{Lo zXe&<1=eu9TN!gE(p=CWb;hg-s2gCH20kiTcZg8|#j z>-v10kFy754L&va^x(6DCk)*OQM+gOnzj+(S zxjqL-*AeCiJ@?>9O>S*XD`YKKcLUd6?*rv@uWEso|T36HrGc!-N)8JoURGU z7ckclNssdCb?Mp*9ixNz0EW{225;+Dngd$A{dwNP>$5%&{|BiK8&aRHb-y91A2iYh zZ=mujR2hZJueJpFc)v*JH3X;!BU<+`_nvg}5;_LzT=86ohnE*?7eje%9bp-355KQ@0;9{Y?@d#1K4bW;g~%x)(>CiX&tW0Qt$g!n2p^@f*4=$2nze=%p8;ftUJh z8ScmH;Rt$Ys;h_RniMa3j85X3fv?bh=3Xd&0Q5f$kK*3OPyHMYM$pV7$&rV6^4WBL ze|`_n2ORmy8!$AkZ8_IkhvycK`~hq2U{0JL!!i1~x8QJHavkPg5Esqs^4uGT^1!K# zLe>T(-ZgYv&M`RNQ_g)hk2NQrbdG?*6USk{hu8g;Mi|7r%RC`7uLWQ zl*OI+PW(H|VGXRo8~MCQUQ;>|nLb~l!vQo%(F zmYZn8GOOb3igPM1uDB640Sn;HMv_73P5aYIFQf?WsLF9j*1aaBZ$rUCAq!zvm4#@z zvQa{YPT*}jTdf?9+FbQP)sgaseHGrY@2a*R!9wg7nqGY^3f}U4JNtx=kTSRPQQ-DG ztb`=768N5d7~ZqT*II?rwvUirFh=@?9>yE@{k1RDUR7spoeN?m&_-BZcSYS*Xr*!m z$-2|!Eqi9YEs|Vt9!a}n>d%3#kX?VXymQ}Ie=_=o?nVh9+6uFy=fGY#6n#DV7T&)X z;NAPw2Gbm)AHpToea=ys>Vjqh8 zJcC7%BqeTFwa9332=C)xqGihbmJ7tXIMecJ%c;^VnR8s%Kkb4J7dE)_rH1Z&1)%ZoBr(vSQxqA7JN&aA}A@q8|6Lx0eKHU69Ga; z5h669joW5koB3^0+w7L|w%6L+Yct$ZMa8Ao7c+=Y#?pxwfD zi(qG@Nm<(r*cuEKx`v*l$?d1$o&2fxdF_)sOqFuBLD(F5=tjB#R>zhfxBYk=;X>Dc zd02Qi30K$;Vsxxp@D+q3h+YSB#A@S-O(0 z@0JY+uTK#&FmgOa{LC3+;^KJ%c?j zik-2k*NI;Ddd2>l_3L&73FYFA{F7hD_E{l?X&EH+2&H)@AxLOh-xq!3`^`f7@BDtN z5GZuF-vkurN$8){e~Kwno7#VA|5g1@_dnDBdH)v(Av*M%J7D#IOoR`yXwRX6S73)^ z4!VIi^h=Nq%*G|p2Iu{L3q@*Q|DFV^BxA_laM+N%r~k47?2?tW!?_C!YDcBiE*Gd` zo+;L|_L_MP+0Pw$?g7tdkjxF#XBwen(NtD>mBzITK0c2lJ>zUS)lHn@z0fgxDsRBE zRy?7|dg!XpZ{Z{1M32Q|>y0$04$)&|!aA+{9Om)dI~OvJktftO=YHI`prM8LC7we+ zquIj;TmXaoq;t)|d4S)sbuE$R!fSYflq-T?`5ePz!vOap{vXKO*Y5+ri$O?y0FZ-g z2Sct!A?U>G^@Zv7^@6Ul!fWwUE|Ls!96<~p2KihA{eZ;lo?QFP+O_f4HIN>}P(IOz z?}2NcZ=0F##HN$SyAJPZUys?xg)Rr<@8pz6b-is5@+d#~gjat*X1_@C0nj)o?*ek@ zel}#UAYBK+f_vA14p{e!+F5M*)&@x@kP-b zql5gMt6UIsuJt>%X~LtthR>&K=owwv*&KP<|TPltoK{w|2qz3sW;2m=<6;LVzP z{2tmL{5yEtZ_c_Fdk=fA*QU6jwTI7|lg_n`a|}Ibpz^rZT5+o1mRB5MScbAjKExY! zx=h1QfB*M?{U2kCEiN{%_&Ov^+$w&j_|Ot_O3X#dL?|+eUXl5xo#mC1`6UZVJ}vpI z>)+zOKrgR~J*Nc5E)u6RP4QznVeWM!o_Qs9UsR7XgA5GGYDue=gXLbk() z!bqgoNXBL~(m146&{~>NC0i_|LsgC-HtBMeTUACy&5D{6HBYRjAlg&zkVYX>k&Jyu z{3@@iEvTLai)o{jLfU0KERUJL;aTyAgI0Jt}+9ZZa4C6cxk(Ud9aagz)E@&U4R0qQzY49=liF{W|}2!CsP`1g}pTQgZZ$S;t;Jg^CQ|zk3JgS za48yrJo-2p1yLE5lm}aBRO7LY$2Fb+TWL4aEH1!K%0P%<|I-r*kJM+d@;wry!qw!R_Dc1 zdf6(z^(r)x+>dgod95EJZfWUPc}TdRmXg1j^38H-A$jkcrxLxiQG7G!VKI$? zy>#UJW8deZXcDa@7EYqYv=GfAx0;xx6lbYJpUjcAxk&H!$1tfPIc9OphL|leCtxv6 zZZ{K!ltT7WD9w9oyKN|Yx)W_crnleSel(hZ%Siw1Y7EQ*Zanrq7}6SR@8p@X9BRBawM&SO+9wOV#&Y=Nh%D}9F*|42*VLQznv;<|9ZVY-l z=-HsD@a0?^?3WU!c_^qfVMzRtDPH^O|EB%)_>KK^vv$_vzZ4hV&-z@X>;EYIUl%Ys{0hPEU`{<8wtnSN8lhwHkyqD*eoNkG z=8CiR29#!BtHHT|DyvXF8}N?dQC;@hZ_$Jwy7eEQ0~SqrY<|^m{}x2nTrcM;_crJnKKpZe_o2M# z2Cvcxb?##B-9vHYam-L2(m3?m1DN|Tl+HQnvM)Xl>73gsE0#%&F2ftnBRc% zz7488b#ZXbA@46$uYm#J$>SYw(@$Op!_Q&q<9AOQac%@U@gfHp0G+%Xq65%1^JwVN zc~}=@g361z$XGC}$Ab&wA?sN3y#KCQ+j#0#8AAO%d-vly2s(KXhjzbA#fJaee+@16 zs@TNh@vyXx6hB*hSP5o;tSFIHB9sBLrsVFDhf5wSnNTVbtr+K^rN!z}Cragtg*6Uw zXe%WTWGEUj((kmZ^lmg{yjyx$*{rfl(7NJ&xd$k3l~6trQD{>tysEIX;%(Sd>niP) zQdTTv#lo<0m8TjjD!1~z$`2(qJ+{giS zw`pRvRn=Bk+l>Z`*Ts5zSnW}@$4FF9uAYKMi_@-txSl1xC!R8P4e(>~z(I2M6%G&zj?hp6EGj#)& z*6fd$!ymN|O&1f8)Sij_kB3qaYeM7w@I}28UsMw8tbL!{hOITd$>JtyNM%oNvJp{j z^hgDp+=5riZMqDeseE{);y#@Y%PUPv&OSm`$ez!SOB=?kD2$bW78JY1C-tYKwdWu+ zBp$gTkHs&w686?%c%+7l#YL~wl9p_}c)sQ2FQhYJ`T5WH2&P2YYAf^36>#MDY zel_Z=sb3vO{M#!uVH}MjT8q9;78`4uG@D?S$cAq>BKqyZx4Wf0?bGi9u(giC&Z1vx z-VZ51Y(O!sqtaj^#hLGVZ-|3%?g0{zhTZ{O)T?1|n z7!S*f4HnO%*~DcezOxM1EaaJF4ay$01?9JH3@U&fwjG|VXRyR(BI9J;?|I>di+K1j z*JLYmO#(H;KCFzIQ7dbf+f_t;TUVZ0p=T(cUwoDkM;HK9y3!m&Bc19chgnnT95^m=6-&;sCL z-iQN8S*{6v2C6=#>zZ^gPrxJ74EmLa(6Q*8dvRRb*I@JOzCwpy^)+~TTx$=Np8zgt)fs(tAqhl%9rIwt_Mb%3g&<@kC1I`pdIq z?gHeJPpNQPn%~WS62z8xRPAN8wXh*}pb-Ug#1oMvo`gK{(>1Qce#nOp zCP^%Z18B@X3bAVw-d*+X+IPp)j;nndHp5N$VxH8_uCo;xF1y5Pcpx!ssmOF$RyP-I z>ylt6q}5wiZ!_Z8j@CO_FDRvP$Jd`K*)BWk?}F73ho%#3WVigi74X!Yd+)W_4M)X8 zb1OPunzJv3)vyLu!(;K!BqOHnl*xM8g>3TWQVi?BM^`_(i|p~$A8&`v@Iac@z5aL@ z?1syY?!rSe0XgFf5zBTM{+UaSZ#16!$wDcFwe6ELpIn9o!BSXhupW+~Z0=HI!;JrI zfn<(v`FuBG)~+BUhE_rf?1cTW6LOp7HM`mDUbB43A-@dY%nRg@uakV3IpT>q+wwxo z{FZ*$2QR)Hg~C^}5U)1A^&xm(CZG}BV)$K{Ii4)Om&ad^LtYG9vEM~j%nK>3y8#W^ znH%#AIWa7+JL>z<-^czi8coJB&yB^_$2Yf7szM8n7=!=J?Kz zhdbuL0+=D?tujn2i-VnxAw!0()t_`qL^-QeM60ow?x>#@|CILAxGrhPk9pK(B2N8F zeop&&8M4Tex(4BGN$55iC3M$xTi@+`w_vwC$ zN?Ikr|B`|1nCri!;M{+<=Y^h+dp?2pCB9bzN?T2X-z5~Qw!ineKIwhe_1z_HD)MpK zXDQwMezV|L+0y?ua$_d`mV{zfM}GTrz*-d6-9BKS6tsGUyz$EeuMT{GQ~iuVYows= zu)%wN&&3%&|M#aj$7i67RdC4FQ06$#^80y~-}B}yzo}+aR?TvU%voNa7Yg}&aLn_< zeun7W=2IM@Ydw23rh>exD~LIH2#H&PXA%FG*gD=erwr*n1MN9+k?_hxS)0x^X@uTu zP@2lx&^zba9zmm5aRJYo^gpc6?8BOa{EmUTCQj)tXi8UJrRkbb2WdL@LR*j0$R7zW zbdN5ZS7nIfa1Af#(J>($=em!BIoAQjDKys}<^`T}UHhziMqR|a7^;`hF>BZGhGi{2 z#o2PI&#&?pzw+sKMtRrJr(hok^A(ZpM8JHL!4fV&K3HN4Cw)jPtI^yy9O8LH=o7v;B`$swmoED zi(UgE_37tPS>o(D*S3s3R~n(_88kEZM|FhxjUJWpb05R2*AnpTrMyAlIp=UN{G1zE z;&cytt~!MupOx3;f;V9CtDFs0uZ;`OAnNvT9Um^53 znExCTiUTB#gE(7Xz^v`hp*%hGy1)~jLofB%I=piibm}0Vm)C(#(kP?QJEu&Trq=*| z?>_dLGCEwNU+H08_O%-xFD(eX{aLBQ=g}8QZwME4sWj45y7cQm4@GS^6w5;1`om(6 zBy;^p@w>$z6`u(2!G;otN{lHPiq&Fy+nI>gT2%5>$tP%uv8og!v>ue2_|80Jti(z7 z`svb1Wpc|rE0a`qUfGRhZzE^rF3$K*5t}s@c`JMVwW<7LLltxT}IT^4EPXsR6Sia7CwZ; zYWw88|Fqip>g%hY!fF2wqOEx1--L7i1hl?bQgdm|w3;hxo)s^_{hH%(+P_lkI!^ra z;48TK?(KJ{)DF~+uQRz$a-B(a6A*E=3i&C+>y4{7p%FM=s@~N4 zb8xCpd~XI?VDMzW3@3WFq&_M!SI?stzrO_M`GWVKzdtLSo08q&V1sK7Zs1hE?}I1s z20Z(Kjj4BkxToO>w3wqGARiT>UZExwJpp+*(NC0ol%!AQ;Ot)T$;c+LO-45v(_})E zNljP-Y6Cm~XPU-+I`Pv<$ZL`|Xgvz2`Byl}4@cv<8Ipmr?du7W<$fCH z`A{s?@^9DTJ^vP*=1-xm^t|sfkl&t#xBO3$fie;&`ak7u|Ir^twb_Dbs{J_EXF1u< zA?GPt(S-`t9+O7WPunKPtdKl+mZ;_Feid5Nt;Jh@#!_8s_qyFMyw{)8eh1F-Q*nyV zz$yMx#|Issb$o&BlQguXJA#~(Dad-Cfj9XpI;D47i9)rZw$Zn6re}HDEYyR_LxEcN zr+ugjmDDAt%W<6PpW$sjn`6XvosNtY)`Z$E@9}x6-_>m@-raAK))+ZB&EG;xx=^9o zW5_*WEvVHv%OC$`0^Z_3@3{=`?q?&reJ*lNb|CBI;jhQ=_I?!J-*4}85IHC3@$P92kJ)cty^wH z)we&Z^!cIB6@`j-@Vp7~nd5ox2+s2y^nr)NF;H}1PDs41Q|E=CEoXGAocvFC3*B$& zSD8Y(ZG9GRBp%{iuw!lZQjE=kFkSo9X{tBS$?d=U~pE*I?si4jOeR z-kuZ3br8eF;G9G8D&se}@Y>u9NAZ9vN1Tp;(#<}$yz(o~UQ=H2kzjO$GleZ*+0dD5 z%Ul)eu<1H?tbJsTb&xnSY`R{D54582q>(Su^{I^V5b9iY7X?+8P|jcW=Qn%WvbsO@ zyBNAwJ<3Zue_Qri=Y*u&YtFg9;sS(}2j_-| zwvB7n%KJ8`G?n*TvW}U%mVWZ-TIm7M`B{Cu7IPg6eJZQa^EtwF;HgLDywJ61ob&#X zrw1X{J`RK9oH){XU5=S^9WZn9*n>PA-hI7m;rR!AB4_DzBgp9W>K@eXqm20+#B)s; z0OVZPwu}qBu1R;ews52o*FNUW`yii(uJT1eo8O+>{0?+_XJ2ojF|=#?Fzb*>?nT~W*XCHHc9%-(~60e=AqQs z`bs%)#uQZYSGIeS#8nxk(5H~8F&C@nBAkmRT0)IvIAo5%8S@Y&d)cLsWyeOLOW`dTXUoxZ;TuhKjlN6a1bvGi6>q^}uxMU91yM(~4@%7{DPpY3# ze>U7PyXv1p@YYKhZWCa*&4N>ADbi+kqb~`=xQ<3&F$pvN_eV+*vc+P;J$rvdgSZAW z#Ed&7=371txcwiT_}~GG3>3hKOZ;g1M>9Xlmi~rUKN{I^9n85P$_=dkc!!kuO_v@e zxiIM-HDU@)pz#(sX_!KjgdzjSJ~{o#Sr~X@#ju-=5U+F;EPK^t1QKdiHr?KIN7I`K z?3(oHv`^1{`ts8SpDl->mye{HC!bCEoQ2HxiP1;r&7x-8n;n(_FQ(btLm$MA=w9+j z5^VN0KZLF&FPbyV>q(1=66Cd{WtvH)8S!N*%)f#!XQOM$CX^o7jv%kxR##AbU_T7N z+}5|?(wX?xOcXi`Idxus#qK59C_`}m>zmTKB;?w;hk^vl5$v_&+ruyer+v5TyA7se z$y4+!86ja`x!>P19TeyPkoUt?B-tdincOBFuAVJzR=~}3*BRS(1zbI^+s-g%;LDiT zF>&oCx0}*#DqKCOR`?ftmTzizyxrw?PusmfS%RTbDEJ`~Z6+htW(rCZ-0W~0hT_DI zbogX++=?FNA*auyj#GY|{^P74=fGrKgK`D?P_E$hkN!?0(A{Jd%*KOAyg7%?CUgT8 zbV@+kg87}(rMF2|=k1+u!W~4zF{8`cF6&JK&I1^bGvE};`Z@dOt3Tg>A^B(5S*Czm z77WRkD4#YOz0N0hTYygIYta2>k>Mf-|4mW*Ig)NFx2!kU*3Bi49pRIV#UauFWpZ@OM1>aq~`2_iAlH7 zDx~I|LKl=#QqW*CN*PT2jY&B!N)FE*ux!9elvQJ~VRk>6j2`E^2b~eOQQn}jgR=(b z41PIy+3zcVzlo9t`EVa)4cTOzNAw+SV~w@VZ)&Wqc{gg+yX7959w_>(w4a3zo`p6( zVAeKH`4y*-c+NQ-3|%X~-_W>Ly3Q%Xc>wSa^Z$Tz!5hfuc@T5eCp6EViX%^WZpkQK zXu$J-xC6*F&y1u8G1ol^N%v#87@YesYeV}o0 z&EJb_<~E&k>QFwVDJ+CH^5iGI5DjaUi8j9hUH=6_p0WW9+J&|r&h53zDo&x|Bf)>d z6+i zPbnY3Af0m#(p>|E*V0Ko#RaUn;#6MOHl$8l{x5UT-zIPC3hLept!uRT-Zt0$!_eFh z%4oea&XulnUF+YXu5~ZRx+a}_dC2Qpe57+Y7Ebl)zV_NXr<`l#sYmJj?dY03f>(%Z zAWnzMxE5V;3Vjxha<)F9DGs_xv-y=*aVk$p9G@q;Phl99QKn(5ZwCK94Mo^eO!>9V zNQ@a@VkYdUeI*W-I0M%f1J|a*dOB6|3aqCmCI2jyjK(NS5w?@k$TF{oa`-lL~8zr3To$kq#~`F)$M;GDoXitC9eFDI;nP3O4VknkVTo z6A;QaRh(N)iWz~Vm>uZyeyjTE8gUZN_9p_`Zb&JCd+6<+T5Er;H0jm2_T3ZG+nuhh z$FQE5_VT38M%YKs>Q1dU$CO=TF@cjPx^^3`Ep~OMYb&MxYLsf;BndCHmJ;5ZYWg^) z!PRx(y_@gde(xo$CYEmA7`+F!Q(p9|=&|o7OOb(W6lHUf^l}8QuHXlkKDY@x=?OyE z)*$ueBznQW{*ZxeCmY^HZ^y+SFZp=s$E)D{T5q~L()qPfTA}1My4}d%cxdBcu$fqz zjgGLT=<9eG&ajtAhnXO5us{>HX?D}IO-FyqqHNm{))tR)Y_~tVBcW}3KhFt=w!K1d z+X4i)ZEtoGg$QE5pj#~P1)XB|zj%UVn2F8zO27DL%}2FJYO$=vt`_@Sq#*%j#Fw+a zoDKWv{+AP4&133j<%t^~QIwO`i$X8VT-aa-JBb%#3$ZX45aV#j4->#Xm%8P?9Fj(0lx zk>0{$&^uw}6#V$~$H{Pv&Fi$$B)Ob21)*7H;7O+x33%H87ujLB$nJGM_R}!w9zPX! z&V--iQDk7*&nsc!Y=wO@v};_~3DQD^&aw?%16{Wx5RQeS6JX;kl#cT3C%+LE&NXA( zZ0>Qm$6SQItwz$z#GdhJo$|cr(q8H4<9NFl%Ryg4%FF9tlX_3>eV{iTX7O;AJ?JwW zuCjD-mYwK3s^7|f$6?3ZL=ap-zff_uOxQB{ux3{Oc1%)SG6!rKkT`J8!1-{OT@z>7 z4A?VS#-15AnD)%Y!8fIq%G}>~BP8w?ESlQIhyOR)GRNsJJ6bR7FWXfwYJ0tMCyVfx zx#oGK&!D2ti=^wbOL_Sm)42^J;RR>*Qo6!;JPVog+rxS$Doype)?SY1n#tqk=b9sk zp*p-giuXe03q+75P3bD<0LP*0zd(-+<-PpG1&j{Pse_Pbd|j(v$Iy#h8<}W8FR#kj z(5s(o9g*Y}M;^}Kb|%w($jiCPDxUwdbxz3NpKEw+{9EVdI>@8@c;|1E4?vznd4iZn z)B`+!qc)8)4seulFob62LQ@?0R6n6t2XWNF@5~PM@X0+bLdKT& zd3d;1oI{$2uGb#ku0i!!>O{LI-OOoeKm_`MCc7J5;~wzf(M;^r15Xn%i~?!x+tgD;^pHy2zr>`>_NQZ2z4Gwz9^h6!+8M1&jH;Wt~FPj zLh{QT&@n@4HY6YE#Bt7{^MIM#{C_uBdF6AVqewmY9`tvk{0be<-qaJs@R^}}0)g{m zIE3cjM1qthULofJ;0oUId*J(lx9L(EbyAm81i$jxFbICG9Rro-de$~wWy-|7xvqeR z-zV#+%VjIotKYEw&wcy-=V(}ri{XdcTkt&V7uMtH z60s%6l#GMzxV7YXDOi^YkK26&L_RF_ywp$>RG5#Xr!DZm4KE#AdX$7mt|@)G^!d^= z$_y<#9k%4zve(KEEjO}UENsY|%x7wR$jF)af?S-{h*3Pbd zvi6nQiFKycnOorO|%f!?|_Q~sNcf-cp)U-tphsK(bz5POt~RHxy$n}gzZIg&WF z3~5uF-`g&px&!YGjUFC7B6?)>sA&4^Rz|Op#zD8DpTqtf1?!Vxm)qXo`TjiwU*^C^ zclLukSe{4WquVK^!0DTN)-Vobz_)#T5CNCd8ZBG`TQ13T3l^$y+wYDX_8WP+<4?Jw#;og z9rorHc;eV-D8JQ%R*zd1w0hR+MXO|ZgcV&3Grt+2U+S*w*e8EZGO}*~PV=+I~&@_3byd-_$;U zMxQs^KWaas!)T;zC3HxXq^&U>=X9LcaUbm2BS_i0gMtmTXJ5fzHyy#9!A=)D-Rg7) z)@uTai!)_wsd(x(bl%(f!A}o=TG1t0{Bn0-v%W@nr`t8NYc|R>ob9@;+m3Ftx-W)} z8i0+u6Ny?m-A{Hu+x;Bu)e$|$p_$QgDK|d$mu0`Kfln?6A)eQNdH73m&lJ=2lST7F z{<&K{AHbGP=#_}#4eNSs?X|ntsb05W)y5(abUwUwyMH|yZUs8F&$vG0r5WhXK9^wK zro%&b70o~&_8o^(4y*dDfqgrr|GfT}`seju{aXgCS~fqr_uI$;W6}O-&VVHh29*X# z=TSQE+Q1tK3B3b5ckZA~gN_Y4Azr&@gJ+{;Ll%5>>1c>_Ih5ul@u0(L-}>L!w~y*Z z-LG5DHTJD*JtO7$=v}|%{|03pi=WSF(P5t5I@jkn*8vRIBjaGrVe_djAMhMXiv+_w zhVP&7yMLq8-beL2k@N$nbXz9UoP3J6=fnjqn)3J~;jHgt$p6CsRMp9S9SlO^Tx+g8 zML}DRbDK}~3GN^2R2hXu=_CD*B0j6gTKn;g>^IkD>*d@b-s08$h$o$AE<(lIbHynn z&9QhDPh6k~n(`2a&)VRnE)L=;&k-;%2uNNZAcw7ka~HU~=H5i&i6o;sD9btJT?_~7 zFu$RZPFxso)^eXQr;Hz?nYjk#7YLln5t5hpm^2+q*Y#T=Z%OL>pp~`dVDd3 zbrVlsKZm(?;y85e-BW2cUUByMQstHA8l8SZGxwg8!#unP)-^aPYwpbue5RlWSBM8R z2R!yQ>h<KsxxmdXz8PzHioEKF-aWvJOVTtbG>bHR@i(E02RY*BqQHk3!eblt=Ie zM}CzNsPYE7x;FQTvOWvPIY-dI0HE$m=oq|f@LVh1XFiY5#ufXr(;TD6#!>VpGLTJ%TXN)y3CJplD9c-G64o@dX+U&Lw!?~OU5kS7L|ia9XqN9tG=k}NB-VvQ>}wWX}VPX z+X^@50rZ;+B2@Hp^_y^bzJ!UIT*HNN%G!UgYK)gq(L9)>BWg{rHKW$bTD#GCY67zP zmLp`8#^{}QAHwnZ6!knNBXIOI>Z*^akh3ut?q0qjC3Qa z0d9wBdPVAcOszMgUWyo}8PcQbI5Gg~D4j1=0ke&hG*#+*tb}tkJ$gNyqO8Dv1}15$ zxI|Y;HNf}=3Fv6+qW1c{2B{4eG&s}Xaf2u5Y&-XZR8(MpB>8}QKRozh>POqeSY6w2 zQ^S1?U!da0a^oEJHyVzb>`NM@HChWd>9$6!$DWE>fuYV-Nib5kA)NHiCu0yqnvE)f zo1{+Qu_igjI9-YERX5QIHyOdCi=}tfeKAu*)juAh{>OF%ke){0Du$4T0!VjA|Eghd zjpj5@g}J)A#ZJ@!d5KDa6C{juk#w)xh&;kvRAgWC<%m{^t){_j&2P1$bw=xnU;T-& zQC0#O2UqE|uNRyA!Mz9^U4`7iCsK)B9j8OTn}*E6b>D49AFCVRz5H$jDuSdN2kJCb z1xfi~6`ZK|e^@Kwq6gtfJ<(>Da|=$?=T0&@=B7(!_B(A0q?1(&jL=I`GjL41WC$hJI$VPr^%<%JGF)^MT&P>5M#z@EKbO{jM|I1+s z5nYe^AxCK&a?? z)N$W7U_WY&3?Ddd;5w-!cvy_lkSY3N;OId~QcLhGY6(t8ZsJpP!b%*n1G$N}-_#u0 zRSvf3_Ud6@>-y?ZYpa)YVWINbsn5qkFaqAo%jYa*_^jnndBt<>0B^6APa$be5wfZ; z5~N%tyyBFuka*5z4H(op@G7J55A#350gsEJc*1~L`z*Z9mDjOolu^1uTc1t$%9CGZ z2m{tyb=Y*pDRjZFbHYeEh55aju5I0}B}*HEyf)o$=#GU~ zobpj`(9jj9kTl2W(0LI1@VdEXmAS2r^7zWcFJ5)Y_ zhFAFs9SoJ>yb!@&;1vD;PrEObW>h&jbh%+6=y@;%ZpRJJAX(N3#~oZPTfAk?*O`H=$@o;kY@98PMp&Hm2 zyv`}FbH|$hovc@mvavCR|L&>7H9ASxeZ0^InwL(T@BzwP*Vg?iL?CRAD~ z?UIg5nT`U)F%GXh636_k$^k?$PDBa506a~J60vwT%3n1Rd0soJ9zdqo)N0qNJwUYL za2(=yAzJYi4)QGDJ-kM2jWO^tCBw(GOT0{b#IJO>W zM2^>49LpJ}82kPxDX_P@!PpOuz&msak%=ciTrbD%eIFh8DCeUoXnwQ-UZT?tXMa2w z@rg@6PD6C!OO)kcQ4V^B7U8(PU&`sd{A5j&wK!%UKq>A^O%^tN-E`Kci6;860Qp&r zHVpZF?nn`iEW{gbM!X@tKMPTIdlZUs>_nX55*(iC`N>5oj{KG*5o`Dug*ZZfx-nl$Yw!Kx6f&*u z|F8+3oFi?LoGDHUA`c(IgOd)=O-|bvZ7&-y4WkS<$+38C`)u*XoJDlu>JEuG4j+c^ zCGE#$h#@?I1MqOklUm#d9yH3KPcS+Y}@WI^f8Yfv%tGk^+(L5JLHkc2!7e1IvCT8$jk1fBPL@v|<9CSmz zmc(95dmZU@6dsnF$c3VZWepCz=Wyhm*gFYF-n8E7y*Eh7?BR$ZOp=1xr*Yg}hH@M0 z`))u^)B$)~Cc(>+-|rbp>E)oQ>)rlG;AMI7+gKcKM-9wCy@?$h&l-AhZ))hht`YU3M!A$C>S6Qmx$xiho4;}W zyN}3Yo(1F~-L;+#h4fi?<<(~h`NBBNUBm0(e?lP|^sCJO7f4$PQCi7-pt&Zs&{LeoIwPW!$E)u z5+ET2B1kkMBQl6!QX?`Vh%Azr-*5F^&DNpi@80*vuC?|``*ce>I_s=d+_?c`!?tD1 zDqW%Xytiaw&u9Kusw_XZ;)Hw#^8PoC;k_hO*rItnbH%y~;R7HVDY)7ayR~^c>O@_wu;6Y5y>v zL*)s-jP?2UdgwmOrY&pZuE#cc_F1;}cSDx3dp?mdLK%ZwhW_j%>PxWj_ov=J{>skWXyEY%^ ztFEm_Iocpk`C*%&yM`Y$kh~b{9F=tppEkIZPRPB@S6%>gudMP^PxmV4n6o34cG%UW>?42G^rH0qh;K z{D8LYB6^lhQ4@nN~Ylv`vhi~j>Nn5#COJ&nvUY3d3dM34xO$~l$waQ>FK4n zm3~tCb?Mq60%^89f{&^FT-q&cmv#$$d;X}-SoFbOfCumqm__O$i7Q!3hzi~t zBM;-+cHul`=8UU92k*#J@rL{W(ziI9^ws;58_Y&`ysQSd8pI)4Ycn3d&&otnHdff& za7)9jNYpB5_~e7MM(K_AN;`$gjUP4MYTkZlqm{xv>2`gi zkg8QEZ@@1$zk+F`0h9*)iFu@ZT3$dh*3FhLTQ9^6(xkslmo^D2KiY~(IM1X>!eM#G zeHL%HlTBy59MdEr9}N;RKV@e;K9Z-lo78?9-eqqeN> zyX&cV5a053E{cC%W2)#dX?wtS2b?Cl4DAlqbm6R4q2V zncH&#x?3Oqb}imir=g(%-%uw>f9tKik05Poru4(xg6TFH-LUg-MkcapeKaTF7hP0?F z{YT@0J>{nn(z+o2=Yv0=L5I9tc{{xv@1$4!y6x9hcni%w*Y0oWc;9>xO$tt;w{F%J7;Ro{xgKwjx=h@)ZLtYHIF!Y*9d6Jx`bLH?{ex_RZJ@cVz(b?6?kHiE~y$|R; zL7~zW7Dp%F#r;J20qfqPG_@hn;yXrfU}H;yuu|$-Hvi(?$@Bd*Z5ZL-M#> zER`YT^8x3h*s^lJ1<$7Wt-TL8R}sFsZlN1qAL|;uvaE?Et%x1VrhPxJ3fZBQ2cPl* zOU^MgwMD)zrRmxHtV&ZELgg#u*>b+cizsLKHqS9IVjttVPRco;lSddZGCn}^6cQ)T-pd)FyP%V&eEA-+SH2gj4gP!; zS4dgM=qe2BgHD>4&d=lnJ%~kEgl}m2xdVnzIofs2o{%)9D=&ODWXW@|{8+BR`P^oI z4$6xRpyHIJj%|y$uNb<@3g6fv&hIs>=g}u$zX$sqwc+wCV@n|I85*Hu?fr({$9%7@ z*%#5bZ1MLi@E0;Z!*c+M6Y4cYvKa)QXOrguhUKj@_2)?$+Vt8{8lmDUWA7dCxztY3 z;I=H~xon!^0u4Xlk#V>u51)bGk?J^3bViw`t^V!*{hx`bIarBgj%_8M%W#!L@8n~^ zO1wO19z>lwM>k@q3WhZN8o+!HoUQ&g#KJJrIm6z1}%=n8{72Sn^19nsP=p zak-35Nkw0-Wzv<4sS|PUXCSwqjgy(hzgeos$2I&z`fW|e(8LTRMx5s(+ z!Utazm~rzN=#90l6$L+3Ajbp?axH+IfMH>@k2UpTJG zvcH8vh&yH6Nnz|XJQyyNaVM+^&y=Bu%%bNT+cRDBy4^$i!W3l8FU4EifV{VzV1^rx zLefI0De_@yiu|<4;+`Av2*?M(8NIII!H+fGQ_aI)MsH@!Cn8&ZGamHV26@l-x6rrh z$@hElhy(c(^WgPwQ~&N1+JDP_>+h0$ z;v3iE;bFVn%6<0YMlBbKZx>Sa|syLTW?Fx=Pp-pca8_KPAKv#VmQdW2tpENGD zt@4ypdYpBBkg~e0J|NE;62Au9_wKM!$%hDSNlY+0qn82Ny0$2wc(!e{7NmP{lb zY1Fm#9dibuixo6`l`YOr0CLpv8K`pHEAEBlxmbiM=KxnZ;!1ZdI{Ezlw`EmMb?v>4 zE8o_Y@7LHDS@V7S4UK+aOl;`7$QK#wI~JQpR_&_{p@XGAYyDZaiVe|S@Pb(M)reEy zXQ0~hLfW!r6n7%%DUYx~Ki6NK5y6I@Py1?5Y4*NNgwH@7l~t&A(wIto>fIxh8%4W+A|O&6ZI&M@CPpR|C-7WY1D*?Kna7@67TGYSthLh8GU zoAU!^Z`-hO>eze5F|&QgyA7K5>iw@PF@EJZ@;5f&_3~{DT}giD>O14*<#K4?$~qa^ zURY{9#;x2forZei>t)8s3+0@$=Ow4(b=kY{0N9%<14CE#mYZMxD!hRQSK}KJsCsZr=pA1cJV2g7qS$!$IFrE&B2VfF|6fbjVCn-ta#rtmEk?(Dk z&cI8MF_K>Ie7%dv7#V>vF7r*-tJL~iFwW%^az}1UD)$0;VV#2))@vGUZZJ~%S{;wM z9W$bL1vI6zR>CJNGrS(LqE8ZaK+VL$`%Wy{eD;tqNvY^$9R$JhuTyB-$YIy5- zjC2_%3EJ#s^%P0kC(+^e#Yf|1tjm=)Puq;btLro9UUm25iJt_}*|z{m+5Wa8#5>{G z_8VIJB8S8Q%y?sZupVEFRyp;t#s1zJiz6n>%mmoZb0#=iSI5IUG*AKJoQ4^y^)Un%{#+xxS2g z-;kG*&}Dfz<(i(#W2yI@)pa&%eiwG#0-q(&b${18UH|B|x?2uveea@MFTIxB?tjQD zY>snzje#z4J*M_Z?-A&cg?y9Kc!7Pk$2s)pz0l(ps(v@2S5;2WbLdxfz2~fNlfPa6 z?Qx`EzeIoDf_`R92zdAatyITp!#QZ5hE0pa0wZ#4UN-j*Y7gLdEs} zj>e;gT%;weMUYE!lJzGw3LI*3^^K;ZQ*Tfb*Q_rU!m+lE&&)(*FWtHa`ok)Dr z-lBWXP(FWG)TRv`$djjX%Cq;BQ9AJ;7NHMI>Hk?sU9Y}(Z`%y>^h^WAj`?hE1e>-E z8xPwvzvpd=`F^Nl%MuTG&LNE}?k{Z64$p8bT^G20P4-!|r+Zt+E6+XoN)KAN>iaF4 z4>%Wju0>aUFYM#_OhHRu?bte`*>p$G09+RvI#>TLsYgELg9dU>x@#bD^6fJO2aPiH z@w~i$7#j5)qf5v|n#waSVed)TeZa^$29mD0>XSxX>2g1}Y^YoSa$I5i23Nif)uv6e z@wfO9Y)LE+bl32l2r{-!n{V4EPM$(r$A|BZJlF7Tp5M?uiw%9|*??6c&qaC4`T!k+ z>)!9(Lr(4LcdL6Zq&?T@6Xz1UIMXXDbi5KnSc#ERi@O{7LR(6*(eQb=b1zF4q82ytom8}pI`Ga^Gf8t6@`gCH zg_XFOrPh|-Q2J!)Imj7e#!w~#J8U|<1g_nJcQa9eyQ$pfa*xZ6t1!O8#0u+VistBw z$rbliyjpQgr3>QF<%&ah6E59tX%97{@{-C+E3c|NzRDsb?z1+RSwo?bEo0DpcsjC% z63`@SSJjhMFIK$*7j8vVA{q~`j>?RB6!jPlqd2Z5IXW}?7_x_6MK7(kz1nNZAesW_ zZFmh<=O&;&_jZjtHS*!Gy{s`33H@wDJOSaM3pKBxF83kExX?{YthEtMqq5O1>QSx7 z80Rv(_9e88x>Y-`c7E+w5-3_*XI-83aNn3~bf?ZeIB^q^?!UEeo;Y#C-W&N|Dw;;^ zK$Y&adP~tXD!bl6xN@w^9aDcS+&Na}E~vi{c}F>L=GegaRs9XfJi7J%umoCL+kRG3E$zkH$8fBTb@G8)h^-*6^{E0&MzVU!!c3eKa2}iuXzdZWf%ni%k|a zjYm1aCaJ?c(RAX6i{RJ=#jP8LI^3jYTV%8g2fI9##!>Ojmoz^s?%hndcgLkj;5BlR zHlPkSyVdblXIkxQeGabO;=f&oOSb~;p$@>UdxREIbnRBQIc}zQrXvK!GJyl19737E z%TE$Nee!7m@{$q|emW25?qb_qgrJ_aohoxX@3&jgKE3^>_Gj9kg>y&8F0I3GG=@4P zQ#+@dnVs8^r!@JCStuR|NKk5S$9Oa>KGX4X$EO_&I=<}q`paRRhNIqgd#4i!OTF$i z8U+M<5R$rJ#0ePl5xuB{nnmm}D@q>C+6j ze~HLl+9=sep$5izUG8I4%SZ&QW+8iNTDJ>u`yO{IM9^wn_c`6yO3;dJo-V=(ywd$@ z_Z!`xc3+5gPiYv_@)Qk>Ioop?3J)^E4UBKV30#2IPm3j+DMzMzu7MNi?=`H~aH+x_ zgDTuP2yab8>*9+DYK=$vLHu{izDq(0!lmz?!697m{g&@vem~-e8OUNKkbBT7?k$K`_aCbt)5&=``n8V*F|YyoPsbH8yGM9 zIavx2_Q+TkwljYG^K;bSPLrm_>(JIX3w5^zzs?-MX2z~e{alT5gsg!t;3n>dlX(8O z3%|WWL*p5P&Y>vb4xGjLzi&hsZ1~`5gQpLk0avkLa5~(>&}f#IC`VXt=RW;T|M1T@ z{^8+z(Ff|4A8YzO={-*Gd4#+_lOE=o`=2eNIAt6oJJfTp4(r3F%Bdc8h}$yCiv<6v z9PFu0Tc3I^79p2|#l6aq=G~LVMHz)&T=k34jgA9oKLb#Pdyxes-`2NrJx`&{^Ws5c zhq966y);`+c{a_qul#ATk*`(xgaNF4elE|?U+n3%0qWkbIKCG>Q|&q6aVcFP`EB$& zH2i=iN50Ay2meaO%PX>vU^~wKtjY&ey@0_3kR#2(`e)arx^KxEUF8!hZrcEVgwG>3)Fxn%y1F;th1m1Zikxk9RFBY6c@NLlBTm_%ktMD)l?&T} z>_1{dcKKOsI%Re5qYYz+kaW`c*@@e-dIn(-JT9eC*7q0tK9)VvF|s_zRXqb~N0-{C z4C5}kcZ@9e-u_xDLmP^#JZY{)C!g0qI#-ZT&mnH_&G$x{+O^?d(a8&_otrFDz@WLHCaN>|Pn~p7KNWd$MfU=TL@vuID_prBKgSdEJw5 z%Q(gkX#p(P+AHpW<}-A)qfmK8_@2)jpuUHu`h=xot?!PqSfo1!>fWZ=`jPN|t`ohv zT*;^gP3cb#{`)9YpTxnROvE72Z5Rc*MF!U-zO(b4DJC=+@*$ZPxB`CU29$g6D|Nio zE7YMZF3nJ3sISvqv?P95+FxcwnMq~h(2zI<{$&6jrXLN77nR*Aou2NXG9~lf$EZoU zQvNwc*-S-MiYuPxc~qs0sTfyrNyQ9|wwYHc1xbYrAm&!OW_g?im1ZD_xT^BO$~jUl zJ`+CY2?-g#kV+MLoS}rnjpA!giJBj^1pX##RF)uIxG(x(^eK3mg-ATyjON7b12wJs zTqGX8uAWe1WsS@lyO4aizeYA%6w~9p3!n2LQV~OKil<}jO&0vk+onzNI*bk7UMs8C zPI#RMP|-3R$%%3BIumNAisyN!_7ixWsqi;BP&DLoj;wnH-sWwD4DZ#=eeWv#%p~}k zm*8VwhL`yg{h#K+$6QuFv3^?ptr#gv53{g-90ug9F$T?rpFz3nD=pCjAR|6J8B89~NiyZh~? zqEco{`>hBv?rneGgc)abnA724hcoB{wc@iZc%%$9E;K!$*qC??{L$bS_u!Foe9jgb zptHB*GPEVW_2q5jk?!ks4jw7}QTMC07^AZeVaSxu3`FiT9x2D^%y#IJ&P7Aw6R4!g zM=j07ScW9k8(rFEC4A8&Nt|Rg4SPUkcggEAUTSETbe)M2I-vmM<8H5vKgv-$xo9`M z0RHE$Z(br4$pNABd#pe(a;v0JG8oB0p*LlGjvxJ>(j=vFYtIaXB_Dk|r`Nn*N$@-$ z^rGMSxc7_R)8Tur_%2NjpVHugu9BeSZg`!qkX{);dgXD{&kRRU zas&L%DL+p8ap8|kB)yWp=TZ2YuMvVwho`vY@AC9-XW(JZ!?2ufgZ3jBc?mw|Wh7hPgO|DZ_oeVO1HWhg zeiPp2O{uO~Ib*BADF^-+$b4`yv1Hl*WdJVI#(n5OpWsC@ILK(U>G;|RQsOk zg2v@wh2_lu8Oo7n-@k1c+Ya@)cMVjY(h0eIW+`7G>3%NQ;PaKzZ74F}+qB|v$8!#K zb=f*9M;_^Xu2MXbJY|$mT>rm2Mqg+aPJ60j%aEpYwWrW)!=|f_>eD8l8(iy5`uj(H z%KNY=%e+@VaceoixqQ|VKIE0BXSzqC`rG{m2x|EiukCdVP%W(r`>9NknidRE$2a z^!(DRN++7euG>oQD}Ac;`O+6lA1aekcG|la-p$1H%9rJ~m%om_Pss=+t;U1>xJrvF z9hOF}+bRc9ZaxWle=Dk_BJb}E9^x4`(yYI6<}p4Q1?PoTLs@^vqb{M9>nuFRFO!hb z#^{|WIlmS?y4v_^^O5^^s9FI6M=PYQ>(lDQlHQ#|sqbJRuHGk3kW%J=J z=C;_=;$VwYElx|-(d3p>TCPUp)nj=49xl@;$4dqubN9x#nTGJr4m@m!YK*qaqxQXz zpMSFV(<7fwX*(Sc)q5m&FST8IyXoy$_wURD`}pZfdI}XJT6}|kINhJ zxXg;8ogF!Aa%875owjs()@cDAlCx1mw7>Jg&L>e~{?K`XEWHWR9CZf*HP58Td;-EW z0X!P#$BvQ4s0`DrL6{~~Pqeek?k+i9E=jK5d^{fC=$eoAsO!7!LW|S~cr;Gwz7FkC z*&OvTdP0RdLb0}J6+$v6k(C#E7@m%hOp=6TP9Qfg=i7~V49>@c@WWoCO$*d?JQ6>b z?7VXb!7TfJ!VgoBm6w6)q7yQSW28I)AL)~Wth`iI7VVHC@|%4p;{kXxnx3AOQu50Z zgjtK`rva%jI*-h}SwAiRX$2mNm!Y8i&!3;7oV*aVMw}t}2*H+XzfO@kk<&3tBkQ+p zJOs}hv|v#Dprk=tq>pO1b|uKpe4e&GFkfAcq9lt;NR54f)w8)`2Z_ZVBA z^tW_q1IsnG-r}3-?;7q;|_Vr7gj?Z!p;dB>Q~r*^zhuZJ+AY=mobK;xn< z>JhpI+V+EnMp>1!`NYX1^zwb?x?S)CMuyOqBksLso3Cf7EjiEFr7Z_bWo+EO9@^s~ zjn9l;InlT5426t~Jy#oZmfEv*757=Xl=J3dshpexz76#mHUJyG*rMN~*d-lHbQD@P zR3>QgRG!dYwBeFweWtKo(CzCY?tm7gyx|e*-tpSdYqDg+_CT|32yWyYi>LA`t9u*T zJR4V;ps~w+B)-xdBPV-v4a)P|Hq7S?STx#pJbU{*+Trp;SD=139_UiWx=xjK44ph( z$|F=<Bg?wQM&6nH_Qi}XN32~=&K#VVt+rt6Faa+IpSWsO6T7m?b!16 z8O7lNCwgz$+D%)x{pIf?ON=Tpro>phZ9j&`YZnjKTk*F2Rmqj|V0{$jI1`YswLx;V zvP#`7#q#?A3USiQY>`~86;gz=@ZEFeuHvCuNB1RHJccs-vv^PbN9C)P?^J$RxuEhw z$;aA=(S2;Cs%=!qSDjt;jO1ZmLpjZ`sNqoyk%x5w#WZ8^Sj{o;JEJe-k$N7A@|RXi zK}k(E9;>h8v6_W6536rLKd1B>oA6-07w^WIhc%(*w3>gQaAvub%oL)xQ##&+=SsoM zL*!tk*3L$;{v-_TOGD1p(>etxo4JcZ{b?xF&y;xx{(8%#&1x31t=VLg0+WV*EQG13oTIIv`ng$yi1n|gxsKLtyQ{+8(X3SAD1>sr@AG!+~ zPDE+{;t%$qxPO1+vnZUI&}6oh&RlPj*Cf8_nx-3?9z@gC1QgJ)?dqcsISM|n+1TcB zc+-8W`IHtjTP&C1dnql0D3_UvJgU&3caGZIgiNZFAKm}xF^0S^!K3!B@C<{{u)T}O zqFRqut8BD-u5GaG<+k}K;osYiZ>(2#IFG{pYaMQ3O2K-R?K4yA!snYMODeA8A06kK zvF>Lu)}6!hhT~CtT&HwoN?noieHVFB*uhp1J6oOY zPCg#OvF`Hnll*equXm|E@+JU}Km(kfNugmi;W04_s1ak?_ zcOBbpUbo%d4k1(O2C}4P%7FJnGMC^A9>C{HasMt9%J@+v!v}D_k=Ai|EAarnv*%Kj z#cb?#4iDfHd#9ldE8j)u%Y*j{c@Mos2IAfPZX8;%t~Z^WI1=yh4@XfJbH+>{Nba)% z59AN}yzVo%??Swd-t%LwJbDLZc>8H&KHcs=65X8E{**6|-pf(qzw76HKi@F}+)w;+ z6Kz-T;H~r@zb^bW2k)gv4j6-?|M>$JBJ1h&fCmE}p$Thfg!_wu<1t_0Bziq9{yhT| z1SX*1KLKShTZinz`{!$T^SpcLrBId=-#x$Jb9ljd?Mc=AbKEIg0t3ljXxb$A4 z_X?LZLs!~c(C}k$?-6;uX921`$Fkuo1`il|_1HIh-m`37Kja-O7mIW*Tb_IJ{D!W4 zUZ>I=ONV?HJl;oDR-xaL(=&n=Ei7j~vwm)c%J=bX>-$l<+Wad>S;w5I(6%)cwjIm< zKZr-rp{~!^DegSAA1Frdw6SfUuXqvL)>*WvJmRjkx37aTwwxdPAeJptEbftu!FBR` z(b{dt@LfQ~ZCe40?t@+*eopK6m^gKPMvn5zCnTLqae-IsOi#8P3J!wbGc|l7~WeEet=(?cun*4x{ zk)gcmlCOJ#o_!GefQLpo>hZhr8Qu+^VeAsp$KtYS#A%PvF)+-x_G(jky7w7-s!O`! zlvO!?Ud4mO*d$Ibg;U{hHyRG=IeK;Ji-8U=OHV016*)DxOS3*>W0`_7%j9`KLpr(c!!!Sl@~_LM zNnJ*$*nTwnxQ?qd1;zFUBwL2X_N>jAf-ITEl`|@DtGokc_IL2AeM*(}GFV}AmAx3` zeN3t}I9@?}yK-{ccof!eL9Wc4=mo|b*cW{y`gQblQ(Awy8Vl>E!4t@>e%rieAA#x& zzGi=dS!v_p3rxrB^_wW0AC7vA4CKY+*GfPR%(^<+Qg5-K?y|bMreNNE@8ElXN_W@c z^~TnlhW@TAP&%Jgk3+f-BO~T&y;~@upI(1Y{e7smIEi|TKT$fr7@083-cNu(FuuVg zyn0WNT$tnrsc7jnx*>;gZ)!O~5*(}G} zo<>Wr3vDMzv3x$O&PT!g&TeN-#tLgE z_H;jp0ol3TpCDg_gBsGl*@T>xrzoDEhjRIwD3#Acoy5x?BYMuloU%G`|@|^N+qO!0Y+*7|w89Ud!K*%#a-bL|S~Y`eFIcE2RG64DwS({K6p&oHv$-*YNi+Yb;dr zkU8MCJo%p-xE6!0Pomagk>sMh9JCdq7qpQ z?8MW4`RxtD@8UN!h)!)#zMy*O-XQl4bDtm{abM(K^0prDG4}n&wn5%r+{08R09(AT zh3-pl&nx!o+Iz(v*wCeR{uvBdpF!=Yj(7i`rBmOwLEN>@bAaoLbgw7RZ^`TV{|x#p z9jSvg=Y;jFy_{kHoGe|Hx9tTyeB}`;PCXk}J6>q(6eq8Ag|=e+I(z87~P%cXQ%k942m*^qRVCsdx&bWiAD5h_h(6e?Zil+L~4`PTO% zw7;;YI)t>X_HDY_CiL?8cS@Sd=y?Iq)TRw>IqH$;8YsHh$9S(FG__&t5Z6V1kJvZg zf!OlcRr@wnd!z|&Y!u)cW}EA9j2+iwPvoJeeEz-IwiQ>t?u*!g%^;Q!D}Y6rILi*{ zq&Wtv4W;XzkTfry|5Nz);?=kH6t`u(c2tJYmJ9FA+2jcyP<6cWN-qxjjIOOm+_h{{ zhU+aGk!ZMPm7^WSz0hkfV99!Us%z7U>s}${0%`})F-!IR%7dJ1aGymZu8Tj%0QRoM zcMMMGv*@(%-G|TA@57Q0TDa;thNe*Um2aQnl~Gxx>$8omt1?OpTGyaF!m8%)L2Z%d z8d*aA-Ra+|k9*6GjfZW5PdP53Db();Q13xu8PIIpiJ;?xrZPTr&1%1mz2`YbmUgJ) zU6|LMQXccVd;Rk3fBlz#{h$9HazrP=4Lx3Bos8_xDR~l&0`9;O9rezUcSgxjk)=}B zv9i>vQYocwVOV!zsRWdCY(+80v(i(`EI}d18I0=zo~&7zI1RnH?dbpv6kQRosq9ev*BM=gk2j%ERwQ9Gj!MIDdIi8>i|D(VaZR(Vm+ z5wseOu$7CVjxz{a-NQ7%rPcOUJC9)1bc`QKss60GU)l#S6KomWR0gkhU^3uo%mvJo zJg`~F16zW?RZxmLUf1;38dhs^EtYj0Lg;E%?G%KsuA+rNUhPM4V&~LhUf2pL=*YvQ zz^8TY)V*K#Vckb{AJ=_~kXGt@>2PT|;(MCpiS33fdjW22UOf&fS%-p-bc`y=seiWq z>-r36ZFv6>f?A`+iA`#7xxvDi#mF4XK-&Q3jupmCK~cvlacS2yWcz?U4cV!B?gtBy zN5+xfOFu|Qf4CDLJV1DhBfZla9cXk?+6p{tw6bv)hMMdaclS_}V3SSg6L+EM_zx$b zp+G#`-Nzp$HA{xWyA4GjyU{6bRP(WLcc(PZZhoZsiRLHa^1f<5Ou}EQ&{p7Jiz8C- z@d9JMS4)p;j`_}Q8Q&_Y)qTl4o7y^|b==>kq4XmU4)IC}jh%)|eEp;8GT8gROd~vk z?s0`5??#vFJ8+E0!ZBWtGLPHnA~zYCXjj_KgFBqpZbbXZ?KdJD?MC}49bA-h9PV%& zBT&*lJMr16&o06_p7{Bs&(}&p2g7E25jcB>PI5cH$U#}hr7tc^VaNQAZpX!FH?R&F zYndIlOE~RJ$44EXbzBZ-IW+8>jR*F0Is}I~1@7|RulA$$K<-zoIwyAKux|#`E_I$^ z!f6@KBj=ej4h}SfX){sgu@HqGtKmc+j}2m$VV;E6bmTXu8ipL{ECkqgcG-m>+bE3w zp3pU}>vH6_%|K?`rf&Pgu5?QG^~i2Z@1EH`8{<^w!kHe`BNLtHcJNP+MM&uHmOx3%v>kF10Cvi_dnVHG_v7_{WR{Ui9gNz>F`g% zpN9X;nTUVDG2ivGwj@~iOQN(PIPuGfU#I>$n7j0Mm8ZPFmR@f!y19&`w0B}WHc zKvvxqAl(y9n$sxk}cyJ9%;0#Fsy6Qm1pbQIQ8}akWCldI>+Ye zne^N2GgZc=9v0=elpYB>UcR-rb&JCz*%TV=P{+0(@cayHo7A!8smJ9Sc*N*Zrr0xK zgFNa5{{wQx*|O<^8(aKcP#&R+rF*?52Q9>Iaku7)jr!eDmE?UunK#uABEMu@ymAuUT!_ z*Fze=3&*lcn##Jyp6(rsr*>3E_X_np4q7_Y7rsL4Gpe2!`i!g>x}@W}W6ZVFHe-*Z ztE_DcGj+zlTLm@sy?PJ+@Bi1ojYj-$FQR|PN?a~+r^K?7Y`DD-nSR6GVTZO+rN)+; zh}wGX&9<`Ce3|HYqx4PmW?P2XA7?n8FM9!QRzcascQ>Fn+g3E&-d8TWd=QoMY`OiY zd|ZXusGeU`VM&E_i3pyr5R@XDY>ZalCN=X|pcA{E-weg7VZLdDA#yYr4tbjjVBZ$%&R>6-lL)2$TuAd8+=^9)n z_FPLtjBhs@Warj;fbyBywGY&uBTmwqIveYpk$k_4brUd>XDcFo*WnyZL$04raZE*= z?@YaO^{&->U5_>I3H3MD-+?&aIH`7LY0Y#DRcC~cL)Et+({H5Y`R$B3Bu>)VnENqL zV_w9JLDX+Q%4?>7kbqpjV{nPm&|mFfqtT5M8mBj&-(*n}IzxNJ8Om;Q8KpMkKb(x5 zzx5y9fE$$FEE7)9o@OVT-NKL`*1OMW9^ZUT^AwccF!nbRQyxRL?rU1EZJCVt-};uP zTCQoewpDVg-K}o58rOO%hWxB-9crE(s(WAl(H7(eh9ZKurPCUVaZX_5&t=rTbL3CX z$FD#3e=_Wo(Vt92lrZztZJ!2EmU9#x*K!aSOl`LTZV(%2&uG7({d!~!?n9?Fj{UiZ zDB+pMa028x#04|I3`*YMBy?7rD8qi(NIR4xco;=GOOYX% zgABn3aBF7Ez@KAMy*|st0bfZo?d4robXkQmoz9O!ZoQNc4^7j_%heF^H- z)6hQqAo`|F{$}bobH8CMFa@2{_J5Q8%^~zoTL>5C3|yCKQkZkGC);J8`8EyC%EaFD zWa8r%os=n$1*lG+C_~yee}7ntbf&{~NkM*KpwH1h$55gEtj~zP*Ws2d zm1fy5ew@{BcE3O2jNIurr~jh<%lbd*|Fr+h{wIDqg}lJSD9E|+bMDV~f4+yZoY}w3 z3r7SC5feNqL)oWGTrdUB#%_!QV!iq$3Q6e9#EE z8q1_^{RT>Q)}dB?%-{p)iFR{HJ|;ni%5@}0_`lJw2)^+va%x8(t6hFQ{0jR%LfpZ! z?@9%ar+&a@)S}(j&jD9qc#C4W7{Wg@70FF zFyEE~?pRA?&E9Y1$ak^S4)?@;gfVIf&0u}A!Su25{*2Y z9uYS-T?473c=%dy4rx9kqvz`0vFNrA`C(oJnIe3CH`XH0-V1Kg$hVhcc&g`GvVP#o zS6GB^&Q+d$u6I7D&-z`z5#e{5y0&efb#|X(lKXBLVNjpLspsoOTF&>)g`@nN- zo^8w6R9Ur09WL&vtKUT%+m3a<%6j#S$Qyf_)1xz@k4Ilc z_bvJyp&>mh;d5+|De*guw~>!r!cfmG4&+%>)2*3MGYLJON7tHyVW8>ADJ-Z}SnH44 zcWSe**6BKzP+9b>&Q_@^ibwb6;m9UjimIaJl25p!-fooZ)4NE+5S~no;mN6gss82q zlM#T~jjmb;-=Al^j8zSGG$@3RF&19N!k7&)0Tl4Fj_5+eO&Ab*=!5gfDP*W+5`rz8 z;9*>A^t4e%<1FMA?w2zDvlzvb@Znnc6+6*a>mj-}7k>B}HAT!U+zk(dU9_g6k5)YV zipwbLztQ}8^W!Myzk`81uUkxL`A5rH@G#g-E4QU9{>4}n_0zjxuHkCQG^8Jqg|dDY z^^f{^^2dqjp_L_ln;B9`kltDA(K+iWx;Hc9a0#*vSGP?@#v$vFP9f{?JbF2&wo8MD z5yX(5aquvv9H}hr^^xRuTsG{E3RBmEBf#OYC+Z%>W)@?)-Fk9jW4X z?2&P!x!qrMpCNw7dNc=M*R0_^Mxbxj7}O^%l&)C}p}fTWc?M37_B__}M9)#kKfKv1 z4x>ktQJ<87fJvxJ^9uB6-h=_9Tck%bhmfYj16lOL@*gysMnAIn~ z?~1-jebdk@>t^2^>CPPAFRfoXLL)o-?do?y!XtP3E$)B5{~e4WP55aq{E;|hC}trT zavomE>|ZvaMk!0YkR*&EJv-plfNcY_5aLLeyu?X^;t<5Rh5$yWGuBpV4)APns_BSz z4+BZX+h9$S%f8DC>W5<()9Oc0sb79Q`Y!YS;rHBA^xndImEQM>i!5NIdsx^GY!P=2 z^aE1fAvAQ=SLg$sd_vN^khGxTiH^bB*#B2ZGmFoMwBcY8>eBP7r-og5!E3^*VKp z9hK4RP)NGtk@3p9hOat7&tB<-v_*ZDam}7Q(rww|aLTEyQ;d!+Lpv_zjI92S={^X$ z&n!KY`$)KB=m8_oy)8=}?nzhuNH7RKVmc1vgpVij$$`rR(9j{&P zl{Y!|?K5eQGF-%i1{QZtBsz5+vjP$R=E&1?0v`Lqv-my_U-i7_z9k1e7mIYRm$(exsT&~%Z7e_nB z7WaB>#Diu}oHEMu8M^MtSDaA!gkGM?k*<6~#mOg+kk@M4Q{BIU{28b|akZ_Gy83gn zX=;Ci#}S8Et=7w`CtEi0va?g zDY2r&S_vr~FOh??vPaUW`JCkPv03v7Y1TZe)KV!a%QSA^hSI^(^U5T{%{yD>Y8e*} z-U`X#%P%|i-9(g?Z7nyp{P^;T<&(;gS08mEddnhj(g95XeGRHLmd47kh96`uwI3~D`sXDIeV(I0! zwQ2@}Pmik(j~XqReM^wfw-DKToZ-4JdOx!FW}=H*0FGf!wM%Htd`Fs2B*Qs;h>+AW z$=zc&w*$!FI|@fp8#7O@IZNiYE~-^+jR@q3FAn%YrsCwjc?Mk|V&^$HP~8diUJ z{V8b4%%MLC^;g#41SfJUM*oa{f1I?X*Z>zY`~6TuibDlO!we_TT1y#LPSmOtB&JEh$%<4wo_qEtxO3x%F}0$B#cAhi1%A5R_W|=^Dw< zJOAkw%gbR*c2&l+b<3#GxJ`e z?L}eif-Xxj7)Ueo0+WY6lj=)yyjpq(BtpNz}d_}BaCx!HDANk z+#)%7S$zun6rvpl+cO_ULyS;n-u=GE5C&rqED4V1p?>Ej5O%HqqyB}+#0!L{KO! zMnCoM?45D_O%Ji!}TDQ2V6OmTR5GJ>~T*#oL(A9Q5!g@0ImiG|Ics z)p)PUD%9(u9WECufTete-(u*i~qL$84U; zFt3%eeP$^|St`n{;EV|Ya%XhB0)T_5%?7NP3eQ0WTEbBqq5 z$_9yJ>Gz^^pCv;Y_hFjhIR=vN0@wXed4%m)g?5ur;N}Q8oK^0 zROf#My0FQ!!e`L7Ifrz`XydD()@--7^Xqi!CrMp=U#rF4c%`;#XX-yP+Ev_> z(JrH_jF)<$167X0mpCQep+|W7Lo=PN5FqE4z>W;5FsqXx`&+CqaH<2qfKm|y3i#N$` zYY~Xj?$NtZ5%i+oxcU<@PBi3Gq#`htRsUf9!)SSTs{V!g*UZotdKmOAZoj{)K}yVy zm|ZcuQ5kd=KE)i=0v$!0ivp<#n)kt$4-S9u@PnkruN&`ca=Ix4P_HELlrAG(CL`dK z(L4=lY#iKj2W>105pHr@CcsbFiBQw)mPxJ7w#scavGo*q3ke7|(POytH#WIj_0frs zPQz0;jO4W|ZP?h3z5&OBuKP6Y(+mkTJ^OSTf=oFQT)NQqT3dfRj%f*nnC7-$46k4t z64x%bzk&c$e)|y}k~=K?YzM+jehg;G`+O%FTjWaBPNB56*xm6oT3cL4rOtDB2W)Mz z51s)7Ori0h555}HIYpY?9qN3z^WDx1oeVU(OGaqPA3F>+Ij_)PngOMS(qB5cON#Z( z&qjBn(By750!pLteE+0dfeZmn>3&Rxu5je%?r)~{n1yHi-92*9*zTb9mcMlLMnt^5&tIQBjR@UstGyB>;$#`lX(RUGoL~HT1 z&V;qaGQ=~!-%>oOFYX`Te@Xw;{u}xqMH`FJKdt`h0G`lUCBx8At_$o&2of#A6ZgwOGf~@;A%UTXgJ%tyjb?TChOGDWjlRu1w3~Ipv7rlfqR-YT zKO@Rl!#g@aDeow!9B~F26$So)QGjCC|`oTxmXwuQY}By;bEL>l~%2e8A#S zPU-f&Uupjgs%_g&Bpvc8Ys-0Q{QpcD>MJZ_%i?)IGv$MZ@3-Vc-`YDWgENTxES{c4 z8hMfULeu~G*3VFN--571dwwo{E~863Dl2@?XLc>V%Bq~$vG`s)x-SmWjxJj!Y~N$s z#h%OY&~4q~aM~Pd{an3rv`HD8Zl6P*{d++VERGyGBBCilM zn;!}HL6$2f*62bfX!J?9bsV#oGawh{+rLkc3Dbdlb*Ss5sl1#8TQ2nC)TU*_mZJ>! z4whbz+9sXLrrWs9BkowT#7T3pl+L}M%Y2`TEB&9{cPQtY&!eA9bk&}Lu6+h*Dnsa) zrPn~3@Bv8^9Iy}0QCwvmBcpp8@^{nT3l4ee`~y5fwP)K=+FyNk`T;8U)*0qA+jO2M zdjnmZ9mG|QyWx+Fee>Ch@F|1k8o3}~BtGqs?gMlT9suNZbd3$sU9;!UiMY!94Ia_1IbUUc zmaGGudoJRX;demDz2a(@a)KKe03^-lL}$EPg2gn=yMNQW@Bi^H|Ne)x(_4-4l-s3o zc20>u5&bw)@aeyQR41 zPk0_rYK*M8tY&J>Q#DW5JR|-GBN)Trd8|bbg5=uiXrFxmJqRYFsAer%Xdg6VBv;o> zt$Q7VBtxAC-1m~-OL=c2;ut~kJ|4jLSSDpQ$E1y3UcKA!IR2OG<=T5h+d>M zN=NkKM5Fx1vrt~M4>5|Qrq7!ueK;4%ZhJAm<_e+{*DyqKG@9rgX?_e{1sJDz*1WL! zYeXyNwuo<$Ccel#cp-;do^E-j)oT;2c=@*j;bwY?reNkK`UbrI_%a4WKKbM+{Eu0m z9{6-7MnfjFT_ur-b10g*0ndYe$NF|01$nFeqz*GXBz8#Zu(rc~X|_G(vp+Bp@-9ke zvJj8h^ZBvQ^O54V^NV9&9RK1Ze2_axb1RTinl*?~?Cv(13t;KuQ?EMYitH)-{c}5 zaRn)Fj71FZG6H_d4iwUyMzY)ME`D?e7~gf0q`YNx-P_gQZFslw-Dbc?VWU09AX3mD zU^Ck79fhy*r29m~BhtP(_ss=FB_5i%#8@P|&FgU#UP~w%5lVK;>3Iv0h~#f`zPl$B)J_#q=Dr&to=WVqMI=iZQvA~?({dgTWNW@jgC-A3LxkbTpkqjd z#xKVq{&=$>*XC zf!1E_I)<-%mDjx&M&!drvHzcNHf`uR)IVZ<2joSxY4mKK+E5+tm2dOH*KGJIL#Vjg zP}xZOwyesL7QoWI+OhRri%)r5*2dM&TQVLUhpsXT2tSZXs86q@Q7 zsB(_dBV3Ql*wBmjvA%1)CWT^K?E?lB$60EJvLYAZe7_|>G&Urc?EP6n#x-&ZY10Rq zL%QK{uh*qepXVt@K9}Mu-NLOp|! z`>GMnQhO@P?}oB27VYr!1%UgxCxoq_g{z+ObRP*iMt_BM9c_S9H`4bI$%fF3ok)CM zTO_*D9 z{P%y4D>19YLg`G;B*I7NOtD5ndOJ`-cA{hsLV9$l*SwSbP7tBJY2sMVGYN%f(4(H+ z>C;O;k^tW_xYXy$j7LIYs8>beyMD9;T!5y4TQT}|U%AWWm{xeT{B5|_&&tQ4nvAt% z`_U%wa)mgw3CyUtr{d#^uPcs5=r6C*?MhFOP8f%-^~va0|E%)JDq|4v|zP9QvG!J}Kbu^j>&OpW4Hna&G9X$r8!_G`q&?=aTo(*Z=>f$K3sE7xEhDx;6#j! zomF$bNi;l-Fd+kktVWxG4jAdRwj)URN~T@yfWv;L_G59_S4*qFKjE@pk#>Ovb;i_< zt9z~PJ+upaRX6j!J*Hh?e7%)$*4Ikf;b9~mUZ}_J_Y>>SGbx8#>t~{I;6c*`pQ(ov z(IF#Ef`bR%Km2~q`?ucDL$?gqbi?0>saV$AdXm}9~1#cm6SSa;u83-KC zF--*H(MB-ggB1uM9zoxXagvUBsL}aGI~wn8oR5IwuqIQHjJRDoXzXi}jaGuUnmk53 zL5{3F-PA>>@eFF+9wXp5OX}P>xRzZsCNyWY+cbn8cQoIL7XU}`3Lx|XU?$oLo<=*t zAd(exWxCc~)W5N}{)Cp3TP|(6%Cs2FY?;&YV#~`db1`=-qxJdLlVr3lgOV!|mfU1s z5j;Z*;|ZiMo-)(7?zXw#<{<)=k0n&eMuSg2`9rGWj(qy+(-CMiIIS&T957&c1;NVv zw)fkPY&W6Z%yx_M>fm6zCrD(RB0=x+uXSb`UlY7<8-+fH?#dvX$)%_yEn^(Hu=sp#%4c2|LQPLQv_Lw2H zajcBHA>-2#98(wcs%m7G(nC zDH*Qo?>DR88jRN6hD64b{m$S8!zHvByx(skf~BYXUq@2oWAyfTj#mxie_Hp`7_=6Q z`*}WIHS9p(^uo`N(cz=eyl`OG|15O)VCb{}lfOn|_SaOrY?vjl8#o0lbwJv{J>g*L zgx}(STY^adx$>HUqj;IfxbgQb5?f!c~XBg9) zDh&n0wRrm&Z{7VS-nykubb6ig1?(qS#jk@3rGV-m4Q-8wPrH{K~g}2OUET7^r(a*M>gGaJfd-=J^fH0pu#e<9VR*`wVz^ zlpU+ztB2>a_BQUf=+xJ<^mjn_0q|7MhScHS#Zp;;-o5#rC`%oc_3mvtd0a}fA#K>a zzmlb%Eo<9xBiJuaHWIyRgueyK$$Ke4TgNeHk;bKazo7>K17`UEx%^z#cjubDLXk0i z{hZ1ZJ;-}yYW*s!kK*7+-(`c4Er+innidmpw(J);|uZ@weP z$haaOz2V)crr!+tZ~x-QjIyx^sBSH>Q-Y~?N)(nDR&qqixRO&#u9IFOk4ru)IU9ap zGNzTCduN6ucxIHk0`HF@)rY0Gm)T!t1(G{c%HAk@0BN1W%g-x+s(h|=CM+mFy28o| z=P;XiSjF)bmsAW?TvRCyKs!tc13!L_z`xU6SX2L5pCeJqyCJ#7?m4!IchlCzpsIJ7mS`>Z5xWkQmXH( zepCXkOzvc;mC2nuYV1d_HLu3=8k|fvtL9vkh+RjC*f4Y}WQ+HCQW&-z-3mi3-N)5k zSa(g`i**a@2H>CNqM1AU6|RAImR@fgrjy;PcfZ~PN#C4@Q0jhoWk>2C!=&QN^>0Z@ zSja1T_5NgpQ`aD%`l7)E=~=iBshg*fyjdXq3OT2YC1DrfiA{kgw)BHcbS?}vanD3p zHNWv>cwLE70CotoiZ?ZV*3|#uILs)_MWbIxqb#_irOVS|+7n+u=iTV%Y}xPv<1ix)$9; zGC$t_@!gN_d~(kudhUVOG#wt(@^Gm2JUpk{ZKt+d0gtJm-4rBvX0@lcvyQ}ht| zxns?JP$7^@Aw%DnJ8vPBLC<`Vw-E@pX7W!{GzXKmpgC zu9LbYU|Lxoe4tSHbRvSM0hDnuc={9#))&AJ%EGL&1K(Wx<_5f>i3pvp>aiW=T<0;j zEU(A(o^H>0%q&ajxluf#v+#&!N{jXUUQ5s^p8a$w7@OyIm<@LLbj)r&pZ9rr7^ZhSi+VL<`T|ab(B#`?5i`C2UY$f_W6n{q>OFD_Lo$jFra7gTC8ie zaR>hkY`cEQa_?Xfr)kyTwn$Fi+9Y#L?4 z&qS6i>AI*FG(4aA-$)*5d_PLQElb=1jdYu*G76PX=wd0oIB46laepzoDiZ`>akb5# zYZy0tl_6AIWpq#IT72%6$L}$KJ%7K0q+4guPE72ZGsP}s)V^ckq|pwc4^Vl;Ro)AW zXDulu3qGgB_c;Ep+yG?h~riKaY(mJVfgk!R~V z;JH{ubRp9Q*AOstkvF*h&I=84)C*d2`Z*lvQ%09B=-6}{7d`Vmkj}mGZQKvK zgZ1BHi^d#O)`qI5*J$%-NBItL^7t8CgWLQfdY)?w%Y&|R_IdnX`L`di&hr_ZG)K=f z`sAq{g_Ps6c|O>*_mtJW16kEA4yr8qF_tZ%d-PRSp`PU!ITz68{YTEEOsQC?dCnr8 z_P7Fu=TjL##R+BM+WiK10KI1`ji1rWqrOe!p5LoY3wUH~p6WYBM)#DlaqfeVQJQ1q zZCf^Nul1Sy5oB#W;;O6A%h$c|jlBRMm+Je9IVTcb?g?Ib?;h7h+tiO_L$B!#jE*aZ zIbFR6|NYk zp&$IPaudoWl}kk;>+Ny{<#v=m5C7{y`KO4r6-pxO=!#>|x+A;dp^7=^2mjQR*l{}a zJ$PdCD=(_-!WW|##wgpyD(NV;W0&}A(zb(Xuj3`Ewi&6fBhWE^iu7_^fnJWQk^Y*E z*xI8g4&PdeqPwH;z-CsPhuGRiNrgRV3h(A13HD+2lp5!1JVc@^J35Z8ImSfPCP-(; zWi>a~%&57oW|kD*T}JBbL-=M-YEG8OT57GGNP@jo>mm9*zN|H=_G-k|4q_D7YItjZ z)(OI6TT?d!DX`<-oA%yxH1eRo#t!rGNPbO(uf{eWR}e{CTz?57X^Ap`i@hIn;jOW_ zZt45GB!=cTh?gnSYY{V>f|%Lym>f)#z8&M2U9P>&LBMpc^FPV4?o< z&pw)m1|C=1yhK;|-AI!i{Rta*oI(SS(VuemGzV9R=1<>3gv*Z+Thl-PL%g>=pT{A}l`846jB_pMxK?IQ zul#b0l;_<-A4rbUdTt8zE_`+AtGn>so_{s9^UTisP^x#m^GGMo*^H>x`mZ-3s&)74 zd<@Z=gv3~;#9ocP18?q;q{U9_G7n8U)*v;Ou`T*_p*9^m5#xH+<$0HvU0z9~Yi8HQ zh;=1(-G|s7f*^8Je^hiTh! z0YkMyUFpYsJMP=Vh4`Irc`f7!QWAIhP?FSJ&ew} z4=?YWwC9-Fe=$n`cBAkw7g4RJm}1RHR+@B%6qSuWCLXAPv!$AUorZ{vQO@Y{Suverp^jwGbc?w8cr`M<~izUlX~h+$0_ z`~Z=wHRvFDd&ph1<~V?)*>K$I0OMBs-o&jk>qKvb zEb8!?GH7tUHTXr!wRm9?P*K9|q{Ro<3Sym#!I zXI-yc*oO5#!=}-OSBJFXWbFUr)T`?Gzi!(i?zN-Wtk9NMnm!xL9ySPVIohUiLSP7o@2g0o2GL7ZoPCrZ0k8*=vX}B zE>;`Z;PM$BA?^AB9Ygcl(eo*zIQ5E?Q#&f7P~<&&lr6%yejdC|J&!Qp(JfAIsQG-6 z_@t>_y?&Q=u~eSFOI*5Fxk!*Q4px{4+%-#SVLP^*`J6>`LE}Dv71l8{+PZ;jBCk|z zQNACvx6U&5m9Ee+vI?{kZxaf#z6t?CT>gb}hcz zCS7=t30nLj*QfgCe6{C5o_?`c_N~3zRcP6P$xvTz-LdAW73smF+x|@-z;YF`?=znPr?=^-9%e2wx3{ z^E5hYEK(9V&o~LL({W5Oz7VwpuG9VKY0~v@DLNkdQ8zfJdV2K?R1Kb~e$LblCZKAN z&Qk#bSTE5Qzp%y(bUD0TlZl5jQ6rdME4$VKI7uVX<1nrEpGZ99gyNNTcA--65S*mE zI(N~NgtLh^z(Lx9?j(1`L0Vcb!Sp7fo0MJeGzM|~DM^Q%Rh&@&Bx(cCVNUVr_s65l z;U2h2hml}75wnVyBdB$ViOL3D!X0=;Zjh^F}Q&6ApEVdgN?14Gq;+u;lyM{*#O0{zkwKfUEK zI6^sag>JVxkNzY~0?hbmpA6YzC&Te=*cksH!dUm)O#OHb!dTleVyoce1E2i=ja_R@ zR96s2tD+4F^^ss2)7rF!XxgMyD~gDl#TQVG5G;jSx9z_+{oUWI7y)^8T}7(~E>NIE ze6S!03apf>&{$Uy6cw_iMXORownCJs{bo1=hjpd>adXa@Gc)Jz?&XFrGxLpON#&Ai zR13P6>{yzj>IENwxzP4eFCY+c7E)8Kfn}a$+ru0HLcaqF^)4S+{s;^unP4cPG{5c@ z$HGs9JDCQ*oP$@LXtLE9aaC0Z_C)*{k+JI37;B*iU}%IX@rk?eJd*q_sQSQ5tFNqn zjtapFz@J>*ad0;a%sgR|r~mko4+Ahp{Xtp$7z29rX-9AYON-cW!rR(W)_3S`|zEnsoX^_c9~oY?PU z_r;z>P^&KX?8h#!5#}=Oy$i{F|7^@)Cc^!j>cB-f0Q!4_`vZ3&td+Gn2Z?-x2x^ta z9gC}vYXzsto_Jz4am7;-ABC~Xxi-*=&{bwaNkRiaPG5otX?u^sagw@agn`b1PYxns zuLr4m6#}yoJ^H~-CPN1-&zGoa|w{<{uuMg z&Cefivsw09P65(%Sh`UM_|P(9ag5agh7+c#8SlYWK7UTx{8tYvOe60g{XI7R?s@UO zE&3+Br|1%0!ZWgGK)%^LzUNeWZZ-PRh>J#Afj7v^L@T z);ubsx!C9<>4}ZVMfS4wf5~P4|Bi-sZ}eGx+3EL0^U2n_y-D*eb8mZHU!ThvJi-sz z8=60o^PbmlLOyi4%ni*}KWBoz(ji^4bE~ygtxdAlo)7WmR63$7@&vQrg!>V>pYr8W z&({~)^P}sym0!`9J@3)iz5!d4y7YaLdE3*PbaXwMi>~a+zKp*7$lrp=>oXbf=S!c@ ze#x`vRQE*xLz159B|b<_7yX~-r*w2(k?H4?jQ)obnLf8FAHM9|YR@2hH8*La$mlnf z`PdmsPtI~u(|Z(O&PjBBkf%2dPDksnuxDPm^ z8sVARKnltn0={TKq0_V1(oyF06WB;15T30*{#49mw_$v=hPu6^91Ei*17h% zKQcE-2RGZQpEoiu1qDt+KocowfzMBor;o_GpGv3t?4i+*D?(Y*L5!YI^I>oN+7 zj=z`w{wxmq1zEusrb-| zz{&u)4=*5?;#gXV5~5sYK2HUXr~#7bQb;0)k;KKYTVd|7)a7>(P$4Xl1vHVjq7isv z5UqPphu>j5Q2{*Bvhv!>nuvO!2{$v0SivuHKC&gUE%It)yW$ubiado-3N`ONhqk?s z!FgE0yyp~7$uv_ig_>!N07LAL%2yboHmZ&TDNRw$C=t3Fbw6tNnt?UMZhi*{qF`Mi z+V>VCF|L2zj`d|g5!5{E5zvDjJR%e*xdbkeE-)avIVrAhLrSzQngS-L!EoLNMv?0= z12Hy65Y##=3oU%}Hx_QJM|fl(+GgF`)Cc5{gYd{`LL4E7YQl>G3%T zl$?yOj;~`3F$DZj#rR<~0nPxo$OYhr+%2VGFsBen6Em0ZOtc|5l9y Date: Thu, 15 Feb 2018 14:45:37 -0800 Subject: [PATCH 08/14] JSON serializer: predictor.predict accepts dictionaries (#62) Add support for serializing python dictionaries to json Add prediction with dictionary in tf iris integ test --- src/sagemaker/mxnet/model.py | 3 ++- src/sagemaker/predictor.py | 11 ++++++++--- src/sagemaker/tensorflow/model.py | 4 +++- src/sagemaker/tensorflow/predictor.py | 2 +- tests/integ/test_tf.py | 9 +++++++-- tests/unit/test_predictor.py | 14 ++++++++++++++ 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/sagemaker/mxnet/model.py b/src/sagemaker/mxnet/model.py index 931b50676a..29427617f4 100644 --- a/src/sagemaker/mxnet/model.py +++ b/src/sagemaker/mxnet/model.py @@ -20,7 +20,8 @@ class MXNetPredictor(RealTimePredictor): """A RealTimePredictor for inference against MXNet Endpoints. - This is able to serialize Python lists and numpy arrays to multidimensional tensors for MXNet inference.""" + This is able to serialize Python lists, dictionaries, and numpy arrays to multidimensional tensors for MXNet + inference.""" def __init__(self, endpoint_name, sagemaker_session=None): """Initialize an ``MXNetPredictor``. diff --git a/src/sagemaker/predictor.py b/src/sagemaker/predictor.py index 7afc3dbbc8..2e3ed0101b 100644 --- a/src/sagemaker/predictor.py +++ b/src/sagemaker/predictor.py @@ -240,7 +240,12 @@ def __call__(self, data): if isinstance(data, list): if not len(data) > 0: raise ValueError("empty array can't be serialized") - return _json_serialize_python_array(data) + return _json_serialize_python_object(data) + + if isinstance(data, dict): + if not len(data.keys()) > 0: + raise ValueError("empty dictionary can't be serialized") + return _json_serialize_python_object(data) # files and buffers if hasattr(data, 'read'): @@ -254,10 +259,10 @@ def __call__(self, data): def _json_serialize_numpy_array(data): # numpy arrays can't be serialized but we know they have uniform type - return _json_serialize_python_array(data.tolist()) + return _json_serialize_python_object(data.tolist()) -def _json_serialize_python_array(data): +def _json_serialize_python_object(data): return _json_serialize_object(data) diff --git a/src/sagemaker/tensorflow/model.py b/src/sagemaker/tensorflow/model.py index 20a47188e2..2892a6bc7e 100644 --- a/src/sagemaker/tensorflow/model.py +++ b/src/sagemaker/tensorflow/model.py @@ -19,8 +19,10 @@ class TensorFlowPredictor(RealTimePredictor): - """A ``RealTimePredictor`` for inference against MXNet ``Endpoint``s.""" + """A ``RealTimePredictor`` for inference against TensorFlow ``Endpoint``s. + This is able to serialize Python lists, dictionaries, and numpy arrays to multidimensional tensors for MXNet + inference""" def __init__(self, endpoint_name, sagemaker_session=None): """Initialize an ``TensorFlowPredictor``. diff --git a/src/sagemaker/tensorflow/predictor.py b/src/sagemaker/tensorflow/predictor.py index 6d326c56ce..1b6dd260c6 100644 --- a/src/sagemaker/tensorflow/predictor.py +++ b/src/sagemaker/tensorflow/predictor.py @@ -32,7 +32,7 @@ def __init__(self): self.content_type = CONTENT_TYPE_OCTET_STREAM def __call__(self, data): - # isintance does not work here because a same protobuf message can be imported from a different module. + # isinstance does not work here because a same protobuf message can be imported from a different module. # for example sagemaker.tensorflow.tensorflow_serving.regression_pb2 and tensorflow_serving.apis.regression_pb2 predict_type = data.__class__.__name__ diff --git a/tests/integ/test_tf.py b/tests/integ/test_tf.py index dc3c13cc96..32dc1627c1 100644 --- a/tests/integ/test_tf.py +++ b/tests/integ/test_tf.py @@ -49,8 +49,13 @@ def test_tf(sagemaker_session): with timeout_and_delete_endpoint(estimator=estimator, minutes=20): json_predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge') - result = json_predictor.predict([6.4, 3.2, 4.5, 1.5]) - print('predict result: {}'.format(result)) + features = [6.4, 3.2, 4.5, 1.5] + dict_result = json_predictor.predict({'inputs': features}) + print('predict result: {}'.format(dict_result)) + list_result = json_predictor.predict(features) + print('predict result: {}'.format(list_result)) + + assert dict_result == list_result def test_tf_async(sagemaker_session): diff --git a/tests/unit/test_predictor.py b/tests/unit/test_predictor.py index 1b6acb671c..5d863467ca 100644 --- a/tests/unit/test_predictor.py +++ b/tests/unit/test_predictor.py @@ -51,12 +51,26 @@ def test_json_serializer_python_array(): assert result == '[1, 2, 3]' +def test_json_serializer_python_dictionary(): + d = {"gender": "m", "age": 22, "city": "Paris"} + + result = json_serializer(d) + + assert json.loads(result) == d + + def test_json_serializer_python_invalid_empty(): with pytest.raises(ValueError) as error: json_serializer([]) assert "empty array" in str(error) +def test_json_serializer_python_dictionary_invalid_empty(): + with pytest.raises(ValueError) as error: + json_serializer({}) + assert "empty dictionary" in str(error) + + def test_json_serializer_csv_buffer(): csv_file_path = os.path.join(DATA_DIR, "with_integers.csv") with open(csv_file_path) as csv_file: From 284c712122b042cf8b0bbef12a59897894a823fa Mon Sep 17 00:00:00 2001 From: lukmis <32072210+lukmis@users.noreply.github.com> Date: Fri, 16 Feb 2018 13:00:38 -0800 Subject: [PATCH 09/14] Fixing timeouts for PCA async integration test. (#78) Execute tf_cifar test without logs to eliminate delay to detect that job has finished. --- tests/integ/test_pca.py | 4 ++-- tests/integ/test_tf_cifar.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integ/test_pca.py b/tests/integ/test_pca.py index b13994f35a..219e722c13 100644 --- a/tests/integ/test_pca.py +++ b/tests/integ/test_pca.py @@ -66,7 +66,7 @@ def test_async_pca(): endpoint_name = name_from_base('pca') sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) - with timeout(minutes=20): + with timeout(minutes=5): data_path = os.path.join(DATA_DIR, 'one_p_mnist', 'mnist.pkl.gz') pickle_args = {} if sys.version_info.major == 2 else {'encoding': 'latin1'} @@ -88,7 +88,7 @@ def test_async_pca(): print("Detached from training job. Will re-attach in 20 seconds") time.sleep(20) - with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): + with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=35): estimator = sagemaker.amazon.pca.PCA.attach(training_job_name=training_job_name, sagemaker_session=sagemaker_session) diff --git a/tests/integ/test_tf_cifar.py b/tests/integ/test_tf_cifar.py index c08426a93a..399aaab129 100644 --- a/tests/integ/test_tf_cifar.py +++ b/tests/integ/test_tf_cifar.py @@ -51,7 +51,7 @@ def test_cifar(sagemaker_session): base_job_name='test-cifar') inputs = estimator.sagemaker_session.upload_data(path=dataset_path, key_prefix='data/cifar10') - estimator.fit(inputs) + estimator.fit(inputs, logs=False) print('job succeeded: {}'.format(estimator.latest_training_job.name)) with timeout_and_delete_endpoint(estimator=estimator, minutes=20): From 81531d4255ecd7ec011b707c2209fbf138ff257c Mon Sep 17 00:00:00 2001 From: lukmis <32072210+lukmis@users.noreply.github.com> Date: Mon, 19 Feb 2018 13:21:18 -0800 Subject: [PATCH 10/14] Fixes in LinearLearner and unit tests addition. (#77) --- src/sagemaker/amazon/linear_learner.py | 12 +- tests/integ/test_linear_learner.py | 11 +- tests/unit/test_linear_learner.py | 554 +++++++++++++++++++++++++ 3 files changed, 565 insertions(+), 12 deletions(-) create mode 100644 tests/unit/test_linear_learner.py diff --git a/src/sagemaker/amazon/linear_learner.py b/src/sagemaker/amazon/linear_learner.py index bd5f2b9682..b265ce7576 100644 --- a/src/sagemaker/amazon/linear_learner.py +++ b/src/sagemaker/amazon/linear_learner.py @@ -51,7 +51,7 @@ class LinearLearner(AmazonAlgorithmEstimatorBase): momentum = hp('momentum', (gt(0), lt(1)), 'A float in (0,1)', float) learning_rate = hp('learning_rate', (gt(0), lt(1)), 'A float in (0,1)', float) beta_1 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)', float) - beta_2 = hp('beta_1', (gt(0), lt(1)), 'A float in (0,1)', float) + beta_2 = hp('beta_2', (gt(0), lt(1)), 'A float in (0,1)', float) bias_lr_mult = hp('bias_lr_mult', gt(0), 'A float greater-than 0', float) bias_wd_mult = hp('bias_wd_mult', gt(0), 'A float greater-than 0', float) use_lr_scheduler = hp('use_lr_scheduler', (), 'A boolean', bool) @@ -62,7 +62,7 @@ class LinearLearner(AmazonAlgorithmEstimatorBase): normalize_label = hp('normalize_label', (), 'A boolean', bool) unbias_data = hp('unbias_data', (), 'A boolean', bool) unbias_label = hp('unbias_label', (), 'A boolean', bool) - num_point_for_scalar = hp('num_point_for_scalar', gt(0), 'An integer greater-than 0', int) + num_point_for_scaler = hp('num_point_for_scaler', gt(0), 'An integer greater-than 0', int) def __init__(self, role, train_instance_count, train_instance_type, predictor_type='binary_classifier', binary_classifier_model_selection_criteria=None, target_recall=None, target_precision=None, @@ -71,7 +71,7 @@ def __init__(self, role, train_instance_count, train_instance_type, predictor_ty optimizer=None, loss=None, wd=None, l1=None, momentum=None, learning_rate=None, beta_1=None, beta_2=None, bias_lr_mult=None, bias_wd_mult=None, use_lr_scheduler=None, lr_scheduler_step=None, lr_scheduler_factor=None, lr_scheduler_minimum_lr=None, normalize_data=None, - normalize_label=None, unbias_data=None, unbias_label=None, num_point_for_scalar=None, **kwargs): + normalize_label=None, unbias_data=None, unbias_label=None, num_point_for_scaler=None, **kwargs): """An :class:`Estimator` for binary classification and regression. Amazon SageMaker Linear Learner provides a solution for both classification and regression problems, allowing @@ -186,14 +186,14 @@ def __init__(self, role, train_instance_count, train_instance_type, predictor_ty self.normalize_data = normalize_data self.normalize_label = normalize_label self.unbias_data = unbias_data - self.ubias_label = unbias_label - self.num_point_for_scaler = num_point_for_scalar + self.unbias_label = unbias_label + self.num_point_for_scaler = num_point_for_scaler def create_model(self): """Return a :class:`~sagemaker.amazon.kmeans.LinearLearnerModel` referencing the latest s3 model data produced by this Estimator.""" - return LinearLearnerModel(self, self.model_data, self.role, self.sagemaker_session) + return LinearLearnerModel(self.model_data, self.role, self.sagemaker_session) def fit(self, records, mini_batch_size=None, **kwargs): # mini_batch_size can't be greater than number of records or training job fails diff --git a/tests/integ/test_linear_learner.py b/tests/integ/test_linear_learner.py index 6b287b3186..5d4317fe48 100644 --- a/tests/integ/test_linear_learner.py +++ b/tests/integ/test_linear_learner.py @@ -44,7 +44,7 @@ def test_linear_learner(): ll = LinearLearner('SageMakerRole', 1, 'ml.c4.2xlarge', base_job_name='test-linear-learner', sagemaker_session=sagemaker_session) ll.binary_classifier_model_selection_criteria = 'accuracy' - ll.target_reacall = 0.5 + ll.target_recall = 0.5 ll.target_precision = 0.5 ll.positive_example_weight_mult = 0.1 ll.epochs = 1 @@ -72,14 +72,13 @@ def test_linear_learner(): ll.normalize_label = False ll.unbias_data = True ll.unbias_label = False - ll.num_point_for_scala = 10000 + ll.num_point_for_scaler = 10000 ll.fit(ll.record_set(train_set[0][:200], train_set[1][:200])) endpoint_name = name_from_base('linear-learner') with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): - model = LinearLearnerModel(ll.model_data, role='SageMakerRole', sagemaker_session=sagemaker_session) - predictor = model.deploy(1, 'ml.c4.xlarge', endpoint_name=endpoint_name) + predictor = ll.deploy(1, 'ml.c4.xlarge', endpoint_name=endpoint_name) result = predictor.predict(train_set[0][0:100]) assert len(result) == 100 @@ -110,7 +109,7 @@ def test_async_linear_learner(): ll = LinearLearner('SageMakerRole', 1, 'ml.c4.2xlarge', base_job_name='test-linear-learner', sagemaker_session=sagemaker_session) ll.binary_classifier_model_selection_criteria = 'accuracy' - ll.target_reacall = 0.5 + ll.target_recall = 0.5 ll.target_precision = 0.5 ll.positive_example_weight_mult = 0.1 ll.epochs = 1 @@ -138,7 +137,7 @@ def test_async_linear_learner(): ll.normalize_label = False ll.unbias_data = True ll.unbias_label = False - ll.num_point_for_scala = 10000 + ll.num_point_for_scaler = 10000 ll.fit(ll.record_set(train_set[0][:200], train_set[1][:200]), wait=False) training_job_name = ll.latest_training_job.name diff --git a/tests/unit/test_linear_learner.py b/tests/unit/test_linear_learner.py new file mode 100644 index 0000000000..7ab79cb91b --- /dev/null +++ b/tests/unit/test_linear_learner.py @@ -0,0 +1,554 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import pytest +from mock import Mock, patch + +from sagemaker.amazon.linear_learner import LinearLearner, LinearLearnerPredictor +from sagemaker.amazon.amazon_estimator import registry, RecordSet + +ROLE = 'myrole' +TRAIN_INSTANCE_COUNT = 1 +TRAIN_INSTANCE_TYPE = 'ml.c4.xlarge' + +DEFAULT_PREDICTOR_TYPE = 'binary_classifier' + +REQ_ARGS = {'role': ROLE, 'train_instance_count': TRAIN_INSTANCE_COUNT, 'train_instance_type': TRAIN_INSTANCE_TYPE} + +REGION = "us-west-2" +BUCKET_NAME = "Some-Bucket" + +DESCRIBE_TRAINING_JOB_RESULT = { + 'ModelArtifacts': { + 'S3ModelArtifacts': "s3://bucket/model.tar.gz" + } +} + + +@pytest.fixture() +def sagemaker_session(): + boto_mock = Mock(name='boto_session', region_name=REGION) + sms = Mock(name='sagemaker_session', boto_session=boto_mock) + sms.boto_region_name = REGION + sms.default_bucket = Mock(name='default_bucket', return_value=BUCKET_NAME) + sms.sagemaker_client.describe_training_job = Mock(name='describe_training_job', + return_value=DESCRIBE_TRAINING_JOB_RESULT) + + return sms + + +def test_init_required_positional(sagemaker_session): + lr = LinearLearner(ROLE, TRAIN_INSTANCE_COUNT, TRAIN_INSTANCE_TYPE, sagemaker_session=sagemaker_session) + assert lr.role == ROLE + assert lr.train_instance_count == TRAIN_INSTANCE_COUNT + assert lr.train_instance_type == TRAIN_INSTANCE_TYPE + assert lr.predictor_type == DEFAULT_PREDICTOR_TYPE + + +def test_init_required_named(sagemaker_session): + lr = LinearLearner(sagemaker_session=sagemaker_session, **REQ_ARGS) + + assert lr.role == REQ_ARGS['role'] + assert lr.train_instance_count == REQ_ARGS['train_instance_count'] + assert lr.train_instance_type == REQ_ARGS['train_instance_type'] + assert lr.predictor_type == DEFAULT_PREDICTOR_TYPE + + +def test_all_hyperparameters(sagemaker_session): + lr = LinearLearner(sagemaker_session=sagemaker_session, + predictor_type='regressor', binary_classifier_model_selection_criteria='accuracy', + target_recall=0.5, target_precision=0.6, + positive_example_weight_mult=0.1, epochs=1, use_bias=True, num_models=5, + num_calibration_samples=6, init_method='uniform', init_scale=-0.1, init_sigma=0.001, + init_bias=0, optimizer='sgd', loss='logistic', wd=0.4, l1=0.04, momentum=0.1, + learning_rate=0.001, beta_1=0.2, beta_2=0.03, bias_lr_mult=5.5, bias_wd_mult=6.6, + use_lr_scheduler=False, lr_scheduler_step=2, lr_scheduler_factor=0.03, + lr_scheduler_minimum_lr=0.001, normalize_data=False, normalize_label=True, + unbias_data=True, unbias_label=False, num_point_for_scaler=3, + **REQ_ARGS) + + assert lr.hyperparameters() == dict( + predictor_type='regressor', binary_classifier_model_selection_criteria='accuracy', + target_recall='0.5', target_precision='0.6', positive_example_weight_mult='0.1', epochs='1', + use_bias='True', num_models='5', num_calibration_samples='6', init_method='uniform', + init_scale='-0.1', init_sigma='0.001', init_bias='0.0', optimizer='sgd', loss='logistic', + wd='0.4', l1='0.04', momentum='0.1', learning_rate='0.001', beta_1='0.2', beta_2='0.03', + bias_lr_mult='5.5', bias_wd_mult='6.6', use_lr_scheduler='False', lr_scheduler_step='2', + lr_scheduler_factor='0.03', lr_scheduler_minimum_lr='0.001', normalize_data='False', + normalize_label='True', unbias_data='True', unbias_label='False', num_point_for_scaler='3', + ) + + +def test_image(sagemaker_session): + lr = LinearLearner(sagemaker_session=sagemaker_session, **REQ_ARGS) + assert lr.train_image() == registry(REGION, "linear-learner") + '/linear-learner:1' + + +def test_predictor_type_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(predictor_type='other', sagemaker_session=sagemaker_session, **REQ_ARGS) + + +def test_binary_classifier_model_selection_criteria_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(binary_classifier_model_selection_criteria='other', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_recall_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_recall=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_recall_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_recall=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_recall_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_recall='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_precision_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_precision=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_precision_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_precision=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_target_precision_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(target_precision='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_positive_example_weight_mult_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(positive_example_weight_mult=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_positive_example_weight_mult_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(positive_example_weight_mult='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_epochs_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(epochs=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_epochs_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(epochs='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_models_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_models=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_models_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_models='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_calibration_samples_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_calibration_samples=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_calibration_samples_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_calibration_samples='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_method_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_method='other', sagemaker_session=sagemaker_session, **REQ_ARGS) + + +def test_init_scale_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_scale=1.01, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_scale_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_scale=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_scale_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_scale='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_sigma_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_sigma=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_sigma_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_sigma=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_sigma_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_sigma='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_init_bias_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(init_bias='other', sagemaker_session=sagemaker_session, **REQ_ARGS) + + +def test_optimizer_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(optimizer='other', sagemaker_session=sagemaker_session, **REQ_ARGS) + + +def test_loss_fail(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(loss='other', sagemaker_session=sagemaker_session, **REQ_ARGS) + + +def test_wd_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(wd=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_wd_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(wd=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_wd_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(wd='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_l1_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(l1=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_l1_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(l1=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_l1_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(l1='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_momentum_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(momentum=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_momentum_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(momentum=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_momentum_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(momentum='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_learning_rate_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(learning_rate=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_learning_rate_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(learning_rate=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_learning_rate_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(learning_rate='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_1_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_1=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_1_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_1=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_1_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_1='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_2_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_2=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_2_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_2=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_beta_2_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(beta_2='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_bias_lr_mult_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(bias_lr_mult=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_bias_lr_mult_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(bias_lr_mult='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_bias_wd_mult_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(bias_wd_mult=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_bias_wd_mult_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(bias_wd_mult='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_step_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_step=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_step_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_step='other', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_factor_fail_value_low(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_factor=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_factor_fail_value_high(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_factor=1, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_factor_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_factor='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_minimum_lr_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_minimum_lr=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_lr_scheduler_minimum_lr_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(lr_scheduler_minimum_lr='blah', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_point_for_scaler_fail_value(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_point_for_scaler=0, + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +def test_num_point_for_scaler_fail_type(sagemaker_session): + with pytest.raises(ValueError): + LinearLearner(num_point_for_scaler='other', + sagemaker_session=sagemaker_session, + **REQ_ARGS) + + +PREFIX = "prefix" +FEATURE_DIM = 10 +DEFAULT_MINI_BATCH_SIZE = 1000 + + +@patch("sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.fit") +def test_call_fit_calculate_batch_size_1(base_fit, sagemaker_session): + lr = LinearLearner(base_job_name="lr", sagemaker_session=sagemaker_session, **REQ_ARGS) + + data = RecordSet("s3://{}/{}".format(BUCKET_NAME, PREFIX), num_records=1, feature_dim=FEATURE_DIM, channel='train') + + lr.fit(data) + + base_fit.assert_called_once() + assert len(base_fit.call_args[0]) == 2 + assert base_fit.call_args[0][0] == data + assert base_fit.call_args[0][1] == 1 + + +@patch("sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.fit") +def test_call_fit_calculate_batch_size_2(base_fit, sagemaker_session): + lr = LinearLearner(base_job_name="lr", sagemaker_session=sagemaker_session, **REQ_ARGS) + + data = RecordSet("s3://{}/{}".format(BUCKET_NAME, PREFIX), + num_records=10000, + feature_dim=FEATURE_DIM, + channel='train') + + lr.fit(data) + + base_fit.assert_called_once() + assert len(base_fit.call_args[0]) == 2 + assert base_fit.call_args[0][0] == data + assert base_fit.call_args[0][1] == DEFAULT_MINI_BATCH_SIZE + + +@patch("sagemaker.amazon.amazon_estimator.AmazonAlgorithmEstimatorBase.fit") +def test_call_fit_pass_batch_size(base_fit, sagemaker_session): + lr = LinearLearner(base_job_name="lr", sagemaker_session=sagemaker_session, **REQ_ARGS) + + data = RecordSet("s3://{}/{}".format(BUCKET_NAME, PREFIX), + num_records=10000, + feature_dim=FEATURE_DIM, + channel='train') + + lr.fit(data, 10) + + base_fit.assert_called_once() + assert len(base_fit.call_args[0]) == 2 + assert base_fit.call_args[0][0] == data + assert base_fit.call_args[0][1] == 10 + + +def test_model_image(sagemaker_session): + lr = LinearLearner(sagemaker_session=sagemaker_session, **REQ_ARGS) + data = RecordSet("s3://{}/{}".format(BUCKET_NAME, PREFIX), num_records=1, feature_dim=FEATURE_DIM, channel='train') + lr.fit(data) + + model = lr.create_model() + assert model.image == registry(REGION, 'linear-learner') + '/linear-learner:1' + + +def test_predictor_type(sagemaker_session): + lr = LinearLearner(sagemaker_session=sagemaker_session, **REQ_ARGS) + data = RecordSet("s3://{}/{}".format(BUCKET_NAME, PREFIX), num_records=1, feature_dim=FEATURE_DIM, channel='train') + lr.fit(data) + model = lr.create_model() + predictor = model.deploy(1, TRAIN_INSTANCE_TYPE) + + assert isinstance(predictor, LinearLearnerPredictor) From 06249d47ac8d69bf23dd153809f22cc57bd6d7ad Mon Sep 17 00:00:00 2001 From: David Arpin Date: Tue, 20 Feb 2018 17:27:56 -0800 Subject: [PATCH 11/14] Print out billable seconds after training completes (#30) * Added: print out billable seconds after training completes * Fixed: test_session.py to pass unit tests * Fixed: removed offending tzlocal() --- src/sagemaker/session.py | 3 +++ tests/unit/test_session.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/sagemaker/session.py b/src/sagemaker/session.py index 84844f54e6..cf7ace5c93 100644 --- a/src/sagemaker/session.py +++ b/src/sagemaker/session.py @@ -645,6 +645,9 @@ def logs_for_job(self, job_name, wait=False, poll=5): # noqa: C901 - suppress c if dot: print() print('===== Job Complete =====') + # Customers are not billed for hardware provisioning, so billable time is less than total time + billable_time = (description['TrainingEndTime'] - description['TrainingStartTime']) * instance_count + print('Billable seconds:', int(billable_time.total_seconds()) + 1) def container_def(image, model_data_url=None, env=None): diff --git a/tests/unit/test_session.py b/tests/unit/test_session.py index 4251ffcab5..0256b54569 100644 --- a/tests/unit/test_session.py +++ b/tests/unit/test_session.py @@ -16,6 +16,7 @@ from mock import Mock, patch, call import sagemaker from sagemaker import s3_input, Session, get_execution_role +import datetime from botocore.exceptions import ClientError @@ -177,6 +178,11 @@ def test_s3_input_all_arguments(): {'ModelArtifacts': { 'S3ModelArtifacts': S3_OUTPUT + '/model/model.tar.gz' }}) +# TrainingStartTime and TrainingEndTime are for billable seconds calculation +COMPLETED_DESCRIBE_JOB_RESULT.update( + {'TrainingStartTime': datetime.datetime(2018, 2, 17, 7, 15, 0, 103000)}) +COMPLETED_DESCRIBE_JOB_RESULT.update( + {'TrainingEndTime': datetime.datetime(2018, 2, 17, 7, 19, 34, 953000)}) IN_PROGRESS_DESCRIBE_JOB_RESULT = dict(DEFAULT_EXPECTED_TRAIN_JOB_ARGS) IN_PROGRESS_DESCRIBE_JOB_RESULT.update({'TrainingJobStatus': 'InProgress'}) From 1380a26817fb7075ccb519dbe29e83c1a888c93a Mon Sep 17 00:00:00 2001 From: lukmis <32072210+lukmis@users.noreply.github.com> Date: Wed, 21 Feb 2018 15:16:12 -0800 Subject: [PATCH 12/14] Use sagemaker_timestamp when creating endpoint names in integration tests. (#81) --- tests/integ/test_linear_learner.py | 4 ++-- tests/integ/test_mxnet_train.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/integ/test_linear_learner.py b/tests/integ/test_linear_learner.py index 5d4317fe48..1db3534b5b 100644 --- a/tests/integ/test_linear_learner.py +++ b/tests/integ/test_linear_learner.py @@ -21,7 +21,7 @@ import sagemaker from sagemaker.amazon.linear_learner import LinearLearner, LinearLearnerModel -from sagemaker.utils import name_from_base +from sagemaker.utils import name_from_base, sagemaker_timestamp from tests.integ import DATA_DIR, REGION from tests.integ.timeout import timeout, timeout_and_delete_endpoint_by_name @@ -90,7 +90,7 @@ def test_linear_learner(): def test_async_linear_learner(): training_job_name = "" - endpoint_name = 'test-linear-learner-async-{}'.format(int(time.time())) + endpoint_name = 'test-linear-learner-async-{}'.format(sagemaker_timestamp()) sagemaker_session = sagemaker.Session(boto_session=boto3.Session(region_name=REGION)) with timeout(minutes=5): diff --git a/tests/integ/test_mxnet_train.py b/tests/integ/test_mxnet_train.py index 593f31e5d7..be0e418a8e 100644 --- a/tests/integ/test_mxnet_train.py +++ b/tests/integ/test_mxnet_train.py @@ -19,6 +19,7 @@ from sagemaker import Session from sagemaker.mxnet.estimator import MXNet from sagemaker.mxnet.model import MXNetModel +from sagemaker.utils import sagemaker_timestamp from tests.integ import DATA_DIR, REGION from tests.integ.timeout import timeout, timeout_and_delete_endpoint_by_name @@ -49,7 +50,7 @@ def mxnet_training_job(sagemaker_session): def test_attach_deploy(mxnet_training_job, sagemaker_session): - endpoint_name = 'test-mxnet-attach-deploy-{}'.format(int(time.time())) + endpoint_name = 'test-mxnet-attach-deploy-{}'.format(sagemaker_timestamp()) with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): estimator = MXNet.attach(mxnet_training_job, sagemaker_session=sagemaker_session) @@ -61,7 +62,7 @@ def test_attach_deploy(mxnet_training_job, sagemaker_session): def test_async_fit(sagemaker_session): training_job_name = "" - endpoint_name = 'test-mxnet-attach-deploy-{}'.format(int(time.time())) + endpoint_name = 'test-mxnet-attach-deploy-{}'.format(sagemaker_timestamp()) with timeout(minutes=5): script_path = os.path.join(DATA_DIR, 'mxnet_mnist', 'mnist.py') @@ -91,7 +92,7 @@ def test_async_fit(sagemaker_session): def test_deploy_model(mxnet_training_job, sagemaker_session): - endpoint_name = 'test-mxnet-deploy-model-{}'.format(int(time.time())) + endpoint_name = 'test-mxnet-deploy-model-{}'.format(sagemaker_timestamp()) with timeout_and_delete_endpoint_by_name(endpoint_name, sagemaker_session, minutes=20): desc = sagemaker_session.sagemaker_client.describe_training_job(TrainingJobName=mxnet_training_job) From c8fa80b0f0ebd700c3cbe1c827107dea0526e329 Mon Sep 17 00:00:00 2001 From: Nadia Yakimakha <32335935+nadiaya@users.noreply.github.com> Date: Tue, 27 Feb 2018 09:27:16 -0800 Subject: [PATCH 13/14] Support TensorFlow-1.5.0 and MXNet-1.0.0 (#82) * Update .gitignore to ignore pytest_cache. * Support TensorFlow-1.5.0 and MXNet-1.0.0 * Update and refactor tests. Add tests for fw_utils. * Fix typo. --- .gitignore | 1 + CHANGELOG.rst | 18 +- README.rst | 89 ++++++--- doc/conf.py | 2 +- setup.py | 2 +- src/sagemaker/fw_utils.py | 46 +++-- src/sagemaker/mxnet/__init__.py | 4 +- src/sagemaker/mxnet/defaults.py | 13 ++ src/sagemaker/mxnet/estimator.py | 28 ++- src/sagemaker/mxnet/model.py | 11 +- src/sagemaker/tensorflow/__init__.py | 2 - src/sagemaker/tensorflow/defaults.py | 13 ++ src/sagemaker/tensorflow/estimator.py | 28 ++- src/sagemaker/tensorflow/model.py | 11 +- tests/component/__init__.py | 12 ++ tests/component/test_mxnet_estimator.py | 68 +++++++ tests/component/test_tf_estimator.py | 68 +++++++ tests/conftest.py | 33 ++++ tests/integ/test_mxnet_train.py | 12 +- tests/integ/test_tf.py | 11 +- tests/integ/test_tf_cifar.py | 6 +- tests/unit/test_estimator.py | 13 -- tests/unit/test_fw_utils.py | 158 ++++++++++++++++ tests/unit/test_mxnet.py | 174 +++++++++++++----- tests/unit/test_tf_estimator.py | 228 ++++++++++++++++-------- 25 files changed, 828 insertions(+), 223 deletions(-) create mode 100644 src/sagemaker/mxnet/defaults.py create mode 100644 src/sagemaker/tensorflow/defaults.py create mode 100644 tests/component/__init__.py create mode 100644 tests/component/test_mxnet_estimator.py create mode 100644 tests/component/test_tf_estimator.py create mode 100644 tests/conftest.py create mode 100644 tests/unit/test_fw_utils.py diff --git a/.gitignore b/.gitignore index d67b44258a..02fbd0283e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ doc/_build **/.DS_Store venv/ *~ +.pytest_cache/ diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f7810b3187..2fa38e4d50 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,12 +2,18 @@ CHANGELOG ========= +1.1.0 +===== + +* feature: Estimators: add support for TensorFlow-1.5.0 +* feature: Estimators: add support for MXNet-1.0.0 + 1.0.4 ===== * feature: Estimators: add support for Amazon Neural Topic Model(NTM) algorithm -* feature: Documentation: Fix description of an argument of sagemaker.session.train -* feature: Documentation: Add FM and LDA to the documentation +* feature: Documentation: fix description of an argument of sagemaker.session.train +* feature: Documentation: add FM and LDA to the documentation * feature: Estimators: add support for async fit * bug-fix: Estimators: fix estimator role expansion @@ -15,16 +21,16 @@ CHANGELOG ===== * feature: Estimators: add support for Amazon LDA algorithm -* feature: Hyperparameters: Add data_type to hyperparameters -* feature: Documentation: Update TensorFlow examples following API change -* feature: Session: Support multi-part uploads +* feature: Hyperparameters: add data_type to hyperparameters +* feature: Documentation: update TensorFlow examples following API change +* feature: Session: support multi-part uploads 1.0.2 ===== * feature: Estimators: add support for Amazon FactorizationMachines algorithm -* feature: Session: Correctly handle TooManyBuckets error_code in default_bucket method +* feature: Session: correctly handle TooManyBuckets error_code in default_bucket method * feature: Tests: add training failure tests for TF and MXNet * feature: Documentation: show how to make predictions against existing endpoint * feature: Estimators: implement write_spmatrix_to_sparse_tensor to support any scipy.sparse matrix diff --git a/README.rst b/README.rst index 63dd2f102c..12f8cf9b8e 100644 --- a/README.rst +++ b/README.rst @@ -39,7 +39,7 @@ You can install from source by cloning this repository and issuing a pip install git clone https://github.com/aws/sagemaker-python-sdk.git python setup.py sdist - pip install dist/sagemaker-1.0.4.tar.gz + pip install dist/sagemaker-1.1.0.tar.gz Supported Python versions ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -114,6 +114,8 @@ MXNet SageMaker Estimators With MXNet Estimators, you can train and host MXNet models on Amazon SageMaker. +Supported versions of MXNet: ``1.0.0``, ``0.12.1``. + Training with MXNet ~~~~~~~~~~~~~~~~~~~ @@ -185,7 +187,7 @@ If you want to run your training script locally via the Python interpreter, look Using MXNet and numpy ^^^^^^^^^^^^^^^^^^^^^ -You can import both ``mxnet`` and ``numpy`` in your training script. When your script runs in SageMaker, it will run with access to MXNet version 0.12 and numpy version 1.12.0. For more information on the environment your script runs in, please see `SageMaker MXNet Containers <#sagemaker-mxnet-containers>`__. +You can import both ``mxnet`` and ``numpy`` in your training script. When your script runs in SageMaker, it will run with access to MXNet version 1.0.0 and numpy version 1.13.3 by default. For more information on the environment your script runs in, please see `SageMaker MXNet Containers <#sagemaker-mxnet-containers>`__. Running an MXNet training script in SageMaker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -682,19 +684,24 @@ When training and deploying training scripts, SageMaker runs your Python script SageMaker runs MXNet Estimator scripts in either Python 2.7 or Python 3.5. You can select the Python version by passing a ``py_version`` keyword arg to the MXNet Estimator constructor. Setting this to ``py2`` (the default) will cause your training script to be run on Python 2.7. Setting this to ``py3`` will cause your training script to be run on Python 3.5. This Python version applies to both the Training Job, created by fit, and the Endpoint, created by deploy. -Your MXNet training script will be run on version 0.12 of MXNet, built for either GPU or CPU use. The decision to use the GPU or CPU version of MXNet is made by the train_instance_type, set on the MXNet constructor. If you choose a GPU instance type, your training job will be run on a GPU version of MXNet. If you choose a CPU instance type, your training job will be run on a CPU version of MXNet. Similarly, when you call deploy, specifying a GPU or CPU deploy_instance_type, will control which MXNet build your Endpoint runs. +Your MXNet training script will be run on version 1.0.0 (by default) or 0.12 of MXNet, built for either GPU or CPU use. The decision to use the GPU or CPU version of MXNet is made by the ``train_instance_type``, set on the MXNet constructor. If you choose a GPU instance type, your training job will be run on a GPU version of MXNet. If you choose a CPU instance type, your training job will be run on a CPU version of MXNet. Similarly, when you call deploy, specifying a GPU or CPU deploy_instance_type, will control which MXNet build your Endpoint runs. -Each Docker container has the following dependencies installed: +The Docker images have the following dependencies installed: -- Python 2.7 or Python 3.5, depending on the ``py_version`` argument on - the MXNet constructor. -- MXNet 0.12, built for either GPU or CPU, depending on the instance - type for training or deploying. -- CUDA 9.0 -- numpy 1.12 ++-------------------------+--------------+-------------+ +| Dependencies | MXNet 0.12.1 | MXNet 1.0.0 | ++-------------------------+--------------+-------------+ +| Python | 2.7 or 3.5 | 2.7 or 3.5| ++-------------------------+--------------+-------------+ +| CUDA | 9.0 | 9.0 | ++-------------------------+--------------+-------------+ +| numpy | 1.13.3 | 1.13.3 | ++-------------------------+--------------+-------------+ The Docker images extend Ubuntu 16.04. +You can select version of MXNet by passing a ``framework_version`` keyword arg to the MXNet Estimator constructor. Currently supported versions are ``1.0.0`` and ``0.12.1``. You can also set ``framework_version`` to ``1.0 (default)`` or ``0.12`` which will cause your training script to be run on the latest supported MXNet 1.0 or 0.12 versions respectively. + TensorFlow SageMaker Estimators ------------------------------- @@ -702,6 +709,8 @@ TensorFlow SageMaker Estimators allow you to run your own TensorFlow training algorithms on SageMaker Learner, and to host your own TensorFlow models on SageMaker Hosting. +Supported versions of TensorFlow: ``1.4.1``, ``1.5.0``. + Training with TensorFlow ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -735,7 +744,7 @@ Preparing the TensorFlow training script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Your TensorFlow training script must be a **Python 2.7** source file. The current supported TensorFlow -version is **1.4.0**. This training script **must contain** the following functions: +versions are **1.5.0 (default)** and **1.4.1**. This training script **must contain** the following functions: - ``model_fn``: defines the model that will be trained. - ``train_input_fn``: preprocess and load training data. @@ -1419,27 +1428,49 @@ A example with ``input_fn`` and ``output_fn`` above can be found in SageMaker TensorFlow Docker containers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The TensorFlow Docker container supports Python 2.7. The Docker container has the following Python modules installed: -- awscli 1.12.1 -- boto3 1.4.7 -- botocore 1.5.92 -- futures 2.2.0 -- gevent 1.2.2 -- grpcio 1.7.0 -- numpy 1.13.3 -- pandas 0.21.0 -- protobuf 3.4.0 -- requests 2.14.2 -- scikit-learn 0.19.1 -- scipy 1.0.0 -- six 1.10.0 -- sklearn 0.0 -- tensorflow 1.4.0 -- tensorflow-serving-api 1.4.0 -- tensorflow-tensorboard 0.4.0rc2 +The TensorFlow Docker images support Python 2.7 and have the following Python modules installed: + ++------------------------+------------------+------------------+ +| Dependencies | tensorflow 1.4.1 | tensorflow 1.5.0 | ++------------------------+------------------+------------------+ +| awscli | 1.12.1 | 1.14.35 | ++------------------------+------------------+------------------+ +| boto3 | 1.4.7 | 1.5.22 | ++------------------------+------------------+------------------+ +| botocore | 1.5.92 | 1.8.36 | ++------------------------+------------------+------------------+ +| futures | 2.2.0 | 2.2.0 | ++------------------------+------------------+------------------+ +| gevent | 1.2.2 | 1.2.2 | ++------------------------+------------------+------------------+ +| grpcio | 1.7.0 | 1.9.0 | ++------------------------+------------------+------------------+ +| numpy | 1.13.3 | 1.14.0 | ++------------------------+------------------+------------------+ +| pandas | 0.21.0 | 0.22.0 | ++------------------------+------------------+------------------+ +| protobuf | 3.4.0 | 3.5.1 | ++------------------------+------------------+------------------+ +| requests | 2.14.2 | 2.18.4 | ++------------------------+------------------+------------------+ +| scikit-learn | 0.19.1 | 0.19.1 | ++------------------------+------------------+------------------+ +| scipy | 1.0.0 | 1.0.0 | ++------------------------+------------------+------------------+ +| six | 1.10.0 | 1.10.0 | ++------------------------+------------------+------------------+ +| sklearn | 0.0 | 0.0 | ++------------------------+------------------+------------------+ +| tensorflow | 1.4.1 | 1.5.0 | ++------------------------+------------------+------------------+ +| tensorflow-serving-api | 1.4.0 | 1.5.0 | ++------------------------+------------------+------------------+ +| tensorflow-tensorboard | 0.4.0 | 1.5.1 | ++------------------------+------------------+------------------+ The Docker images extend Ubuntu 16.04. +You can select version of TensorFlow by passing a ``framework_version`` keyword arg to the TensorFlow Estimator constructor. Currently supported versions are ``1.5.0`` and ``1.4.1``. You can also set ``framework_version`` to ``1.5 (default)`` or ``1.4`` which will cause your training script to be run on the latest supported TensorFlow 1.5 or 1.4 versions respectively. AWS SageMaker Estimators ------------------------ diff --git a/doc/conf.py b/doc/conf.py index be63a6bd20..5ec0183dc6 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -18,7 +18,7 @@ def __getattr__(cls, name): 'tensorflow.python.framework', 'tensorflow_serving', 'tensorflow_serving.apis'] sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) -version = '1.0.4' +version = '1.1.0' project = u'sagemaker' # Add any Sphinx extension module names here, as strings. They can be extensions diff --git a/setup.py b/setup.py index 80c9fce712..a98d0dc753 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ def read(fname): setup(name="sagemaker", - version="1.0.4", + version="1.1.0", description="Open source library for training and deploying models on Amazon SageMaker.", packages=find_packages('src'), package_dir={'': 'src'}, diff --git a/src/sagemaker/fw_utils.py b/src/sagemaker/fw_utils.py index e2c19c65d3..7d39c63119 100644 --- a/src/sagemaker/fw_utils.py +++ b/src/sagemaker/fw_utils.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -28,26 +28,28 @@ """ -def create_image_uri(region, framework, instance_type, py_version='py2', tag='1.0', account='520713654638'): +def create_image_uri(region, framework, instance_type, framework_version, py_version, account='520713654638'): """Return the ECR URI of an image. Args: region (str): AWS region where the image is uploaded. framework (str): framework used by the image. instance_type (str): EC2 instance type. Used to determine whether to use the CPU image or GPU image. - py_version (str): Python version. (default: 'py2') - tag (str): ECR image tag, which denotes the image version. (default: '1.0') + framework_version (str): The version of the framework. + py_version (str): Python version. One of 'py2' or 'py3'. account (str): AWS account that contains the image. (default: '520713654638') Returns: str: The appropriate image URI based on the given parameters. """ - device_version = 'cpu' - # Instance types that start with G, P are GPU powered: https://aws.amazon.com/ec2/instance-types/ + device_type = 'cpu' + # Instance types that start with G, P are GPU powered: https://aws.amazon.com/sagemaker/pricing/instance-types/ if instance_type[3] in ['g', 'p']: - device_version = 'gpu' + device_type = 'gpu' + + tag = "{}-{}-{}".format(framework_version, device_type, py_version) return "{}.dkr.ecr.{}.amazonaws.com/sagemaker-{}-{}-{}:{}" \ - .format(account, region, framework, py_version, device_version, tag) + .format(account, region, framework, py_version, device_type, tag) def tar_and_upload_dir(session, bucket, s3_key_prefix, script, directory): @@ -112,21 +114,37 @@ def framework_name_from_image(image_name): tuple: A tuple containing: str: The framework name str: The Python version + str: The image tag """ # image name format: .dkr.ecr..amazonaws.com/sagemaker---: - sagemaker_pattern = re.compile('^(\d+)(\.)dkr(\.)ecr(\.)(.+)(\.)amazonaws.com(/)(.*)(:)(.*)$') + sagemaker_pattern = re.compile('^(\d+)(\.)dkr(\.)ecr(\.)(.+)(\.)amazonaws.com(/)(.*:.*)$') sagemaker_match = sagemaker_pattern.match(image_name) if sagemaker_match is None: - return None, None + return None, None, None else: - # extract framework and python version - name_pattern = re.compile('^sagemaker-(tensorflow|mxnet)-(py2|py3)-(cpu|gpu)$') + # extract framework, python version and image tag + name_pattern = re.compile('^sagemaker-(tensorflow|mxnet)-(py2|py3)-(cpu|gpu):(.*)$') + name_match = name_pattern.match(sagemaker_match.group(8)) if name_match is None: - return None, None + return None, None, None else: - return name_match.group(1), name_match.group(2) + return name_match.group(1), name_match.group(2), name_match.group(4) + + +def framework_version_from_tag(image_tag): + """Extract the framework version from the image tag. + + Args: + image_tag (str): Image tag, which should take the form '--' + + Returns: + str: The framework version. + """ + tag_pattern = re.compile('^(.*)-(cpu|gpu)-(py2|py3)$') + tag_match = tag_pattern.match(image_tag) + return None if tag_match is None else tag_match.group(1) def parse_s3_url(url): diff --git a/src/sagemaker/mxnet/__init__.py b/src/sagemaker/mxnet/__init__.py index b0c1db825a..0bfe3fb16b 100644 --- a/src/sagemaker/mxnet/__init__.py +++ b/src/sagemaker/mxnet/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -14,5 +14,3 @@ from sagemaker.mxnet.model import MXNetModel, MXNetPredictor __all__ = [MXNet, MXNetModel, MXNetPredictor] - -DOCKER_TAG = "1.0" diff --git a/src/sagemaker/mxnet/defaults.py b/src/sagemaker/mxnet/defaults.py new file mode 100644 index 0000000000..9ea27c56de --- /dev/null +++ b/src/sagemaker/mxnet/defaults.py @@ -0,0 +1,13 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +MXNET_VERSION = '1.0' diff --git a/src/sagemaker/mxnet/estimator.py b/src/sagemaker/mxnet/estimator.py index 2793089c0f..42cf12af36 100644 --- a/src/sagemaker/mxnet/estimator.py +++ b/src/sagemaker/mxnet/estimator.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -10,9 +10,9 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import sagemaker from sagemaker.estimator import Framework -from sagemaker.fw_utils import create_image_uri, framework_name_from_image +from sagemaker.fw_utils import create_image_uri, framework_name_from_image, framework_version_from_tag +from sagemaker.mxnet.defaults import MXNET_VERSION from sagemaker.mxnet.model import MXNetModel @@ -21,7 +21,8 @@ class MXNet(Framework): __framework_name__ = "mxnet" - def __init__(self, entry_point, source_dir=None, hyperparameters=None, py_version='py2', **kwargs): + def __init__(self, entry_point, source_dir=None, hyperparameters=None, py_version='py2', + framework_version=MXNET_VERSION, **kwargs): """ This ``Estimator`` executes an MXNet script in a managed MXNet execution environment, within a SageMaker Training Job. The managed MXNet environment is an Amazon-built Docker container that executes functions @@ -47,10 +48,13 @@ def __init__(self, entry_point, source_dir=None, hyperparameters=None, py_versio to convert them before training. py_version (str): Python version you want to use for executing your model training code (default: 'py2'). One of 'py2' or 'py3'. + framework_version (str): MXNet version you want to use for executing your model training code. + List of supported versions https://github.com/aws/sagemaker-python-sdk#mxnet-sagemaker-estimators **kwargs: Additional kwargs passed to the :class:`~sagemaker.estimator.Framework` constructor. """ super(MXNet, self).__init__(entry_point, source_dir, hyperparameters, **kwargs) self.py_version = py_version + self.framework_version = framework_version def train_image(self): """Return the Docker image to use for training. @@ -62,7 +66,8 @@ def train_image(self): str: The URI of the Docker image. """ return create_image_uri(self.sagemaker_session.boto_session.region_name, self.__framework_name__, - self.train_instance_type, py_version=self.py_version, tag=sagemaker.mxnet.DOCKER_TAG) + self.train_instance_type, framework_version=self.framework_version, + py_version=self.py_version) def create_model(self, model_server_workers=None): """Create a SageMaker ``MXNetModel`` object that can be deployed to an ``Endpoint``. @@ -78,8 +83,8 @@ def create_model(self, model_server_workers=None): return MXNetModel(self.model_data, self.role, self.entry_point, source_dir=self.source_dir, enable_cloudwatch_metrics=self.enable_cloudwatch_metrics, name=self._current_job_name, container_log_level=self.container_log_level, code_location=self.code_location, - py_version=self.py_version, model_server_workers=model_server_workers, - sagemaker_session=self.sagemaker_session) + py_version=self.py_version, framework_version=self.framework_version, + model_server_workers=model_server_workers, sagemaker_session=self.sagemaker_session) @classmethod def _prepare_init_params_from_job_description(cls, job_details): @@ -93,9 +98,16 @@ def _prepare_init_params_from_job_description(cls, job_details): """ init_params = super(MXNet, cls)._prepare_init_params_from_job_description(job_details) - framework, py_version = framework_name_from_image(init_params.pop('image')) + framework, py_version, tag = framework_name_from_image(init_params.pop('image')) init_params['py_version'] = py_version + + # We switched image tagging scheme from regular image version (e.g. '1.0') to more expressive + # containing framework version, device type and python version (e.g. '0.12-gpu-py2'). + # For backward compatibility map deprecated image tag '1.0' to a '0.12' framework version + # otherwise extract framework version from the tag itself. + init_params['framework_version'] = '0.12' if tag == '1.0' else framework_version_from_tag(tag) + training_job_name = init_params['base_job_name'] if framework != cls.__framework_name__: diff --git a/src/sagemaker/mxnet/model.py b/src/sagemaker/mxnet/model.py index 29427617f4..f0bd7b94f5 100644 --- a/src/sagemaker/mxnet/model.py +++ b/src/sagemaker/mxnet/model.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -13,6 +13,7 @@ import sagemaker from sagemaker.fw_utils import create_image_uri from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME +from sagemaker.mxnet.defaults import MXNET_VERSION from sagemaker.predictor import RealTimePredictor, json_serializer, json_deserializer from sagemaker.utils import name_from_image @@ -40,7 +41,7 @@ class MXNetModel(FrameworkModel): __framework_name__ = 'mxnet' - def __init__(self, model_data, role, entry_point, image=None, py_version='py2', + def __init__(self, model_data, role, entry_point, image=None, py_version='py2', framework_version=MXNET_VERSION, predictor_cls=MXNetPredictor, model_server_workers=None, **kwargs): """Initialize an MXNetModel. @@ -54,6 +55,7 @@ def __init__(self, model_data, role, entry_point, image=None, py_version='py2', as the entry point to model hosting. This should be compatible with either Python 2.7 or Python 3.5. image (str): A Docker image URI (default: None). If not specified, a default image for MXNet will be used. py_version (str): Python version you want to use for executing your model training code (default: 'py2'). + framework_version (str): MXNet version you want to use for executing your model training code. predictor_cls (callable[str, sagemaker.session.Session]): A function to call to create a predictor with an endpoint name and SageMaker ``Session``. If specified, ``deploy()`` returns the result of invoking this function on the created endpoint name. @@ -64,6 +66,7 @@ def __init__(self, model_data, role, entry_point, image=None, py_version='py2', super(MXNetModel, self).__init__(model_data, image, role, entry_point, predictor_cls=predictor_cls, **kwargs) self.py_version = py_version + self.framework_version = framework_version self.model_server_workers = model_server_workers def prepare_container_def(self, instance_type): @@ -78,8 +81,8 @@ def prepare_container_def(self, instance_type): deploy_image = self.image if not deploy_image: region_name = self.sagemaker_session.boto_session.region_name - deploy_image = create_image_uri(region_name, self.__framework_name__, instance_type, self.py_version, - sagemaker.mxnet.DOCKER_TAG) + deploy_image = create_image_uri(region_name, self.__framework_name__, instance_type, + self.framework_version, self.py_version) deploy_key_prefix = self.key_prefix or self.name or name_from_image(deploy_image) self._upload_code(deploy_key_prefix) deploy_env = dict(self.env) diff --git a/src/sagemaker/tensorflow/__init__.py b/src/sagemaker/tensorflow/__init__.py index 8f8940cdd5..e6e93d4b01 100644 --- a/src/sagemaker/tensorflow/__init__.py +++ b/src/sagemaker/tensorflow/__init__.py @@ -28,6 +28,4 @@ from sagemaker.tensorflow.estimator import TensorFlow # noqa: E402 from sagemaker.tensorflow.model import TensorFlowModel, TensorFlowPredictor # noqa: E402 -DOCKER_TAG = "1.0" - __all__ = [TensorFlow, TensorFlowModel, TensorFlowPredictor] diff --git a/src/sagemaker/tensorflow/defaults.py b/src/sagemaker/tensorflow/defaults.py new file mode 100644 index 0000000000..8f6baf6ff1 --- /dev/null +++ b/src/sagemaker/tensorflow/defaults.py @@ -0,0 +1,13 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +TF_VERSION = '1.5' diff --git a/src/sagemaker/tensorflow/estimator.py b/src/sagemaker/tensorflow/estimator.py index 463a57d9df..7f92908176 100644 --- a/src/sagemaker/tensorflow/estimator.py +++ b/src/sagemaker/tensorflow/estimator.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -16,9 +16,10 @@ import tempfile import threading -import sagemaker.tensorflow from sagemaker.estimator import Framework -from sagemaker.fw_utils import create_image_uri, framework_name_from_image +from sagemaker.fw_utils import create_image_uri, framework_name_from_image, framework_version_from_tag + +from sagemaker.tensorflow.defaults import TF_VERSION from sagemaker.tensorflow.model import TensorFlowModel logging.basicConfig() @@ -107,7 +108,8 @@ class TensorFlow(Framework): __framework_name__ = 'tensorflow' - def __init__(self, training_steps=None, evaluation_steps=None, checkpoint_path=None, py_version="py2", **kwargs): + def __init__(self, training_steps=None, evaluation_steps=None, checkpoint_path=None, py_version="py2", + framework_version=TF_VERSION, **kwargs): """Initialize an ``TensorFlow`` estimator. Args: training_steps (int): Perform this many steps of training. `None`, the default means train forever. @@ -116,11 +118,14 @@ def __init__(self, training_steps=None, evaluation_steps=None, checkpoint_path=N checkpoint_path (str): Identifies S3 location where checkpoint data during model training can be saved (default: None). For distributed model training, this parameter is required. py_version (str): Python version you want to use for executing your model training code (default: 'py2'). + framework_version (str): TensorFlow version you want to use for executing your model training code. + List of supported versions https://github.com/aws/sagemaker-python-sdk#tensorflow-sagemaker-estimators **kwargs: Additional kwargs passed to the Framework constructor. """ super(TensorFlow, self).__init__(**kwargs) self.checkpoint_path = checkpoint_path self.py_version = py_version + self.framework_version = framework_version self.training_steps = training_steps self.evaluation_steps = evaluation_steps @@ -185,9 +190,15 @@ def _prepare_init_params_from_job_description(cls, job_details): if value is not None: init_params[argument] = value - framework, py_version = framework_name_from_image(init_params.pop('image')) + framework, py_version, tag = framework_name_from_image(init_params.pop('image')) init_params['py_version'] = py_version + # We switched image tagging scheme from regular image version (e.g. '1.0') to more expressive + # containing framework version, device type and python version (e.g. '1.5-gpu-py2'). + # For backward compatibility map deprecated image tag '1.0' to a '1.4' framework version + # otherwise extract framework version from the tag itself. + init_params['framework_version'] = '1.4' if tag == '1.0' else framework_version_from_tag(tag) + training_job_name = init_params['base_job_name'] if framework != cls.__framework_name__: raise ValueError("Training job: {} didn't use image for requested framework".format(training_job_name)) @@ -204,8 +215,7 @@ def train_image(self): str: The URI of the Docker image. """ return create_image_uri(self.sagemaker_session.boto_session.region_name, self.__framework_name__, - self.train_instance_type, py_version=self.py_version, - tag=sagemaker.tensorflow.DOCKER_TAG) + self.train_instance_type, self.framework_version, py_version=self.py_version) def create_model(self, model_server_workers=None): """Create a SageMaker ``TensorFlowModel`` object that can be deployed to an ``Endpoint``. @@ -221,8 +231,8 @@ def create_model(self, model_server_workers=None): return TensorFlowModel(self.model_data, self.role, self.entry_point, source_dir=self.source_dir, enable_cloudwatch_metrics=self.enable_cloudwatch_metrics, name=self._current_job_name, container_log_level=self.container_log_level, code_location=self.code_location, - py_version=self.py_version, model_server_workers=model_server_workers, - sagemaker_session=self.sagemaker_session) + py_version=self.py_version, framework_version=self.framework_version, + model_server_workers=model_server_workers, sagemaker_session=self.sagemaker_session) def hyperparameters(self): """Return hyperparameters used by your custom TensorFlow code during model training.""" diff --git a/src/sagemaker/tensorflow/model.py b/src/sagemaker/tensorflow/model.py index 2892a6bc7e..e4d2a5811c 100644 --- a/src/sagemaker/tensorflow/model.py +++ b/src/sagemaker/tensorflow/model.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -14,6 +14,7 @@ from sagemaker.fw_utils import create_image_uri from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME from sagemaker.predictor import RealTimePredictor +from sagemaker.tensorflow.defaults import TF_VERSION from sagemaker.tensorflow.predictor import tf_json_serializer, tf_json_deserializer from sagemaker.utils import name_from_image @@ -40,7 +41,7 @@ class TensorFlowModel(FrameworkModel): __framework_name__ = 'tensorflow' - def __init__(self, model_data, role, entry_point, image=None, py_version='py2', + def __init__(self, model_data, role, entry_point, image=None, py_version='py2', framework_version=TF_VERSION, predictor_cls=TensorFlowPredictor, model_server_workers=None, **kwargs): """Initialize an TensorFlowModel. @@ -55,6 +56,7 @@ def __init__(self, model_data, role, entry_point, image=None, py_version='py2', image (str): A Docker image URI (default: None). If not specified, a default image for TensorFlow will be used. py_version (str): Python version you want to use for executing your model training code (default: 'py2'). + framework_version (str): TensorFlow version you want to use for executing your model training code. predictor_cls (callable[str, sagemaker.session.Session]): A function to call to create a predictor with an endpoint name and SageMaker ``Session``. If specified, ``deploy()`` returns the result of invoking this function on the created endpoint name. @@ -65,6 +67,7 @@ def __init__(self, model_data, role, entry_point, image=None, py_version='py2', super(TensorFlowModel, self).__init__(model_data, image, role, entry_point, predictor_cls=predictor_cls, **kwargs) self.py_version = py_version + self.framework_version = framework_version self.model_server_workers = model_server_workers def prepare_container_def(self, instance_type): @@ -81,8 +84,8 @@ def prepare_container_def(self, instance_type): deploy_image = self.image if not deploy_image: region_name = self.sagemaker_session.boto_session.region_name - deploy_image = create_image_uri(region_name, self.__framework_name__, instance_type, self.py_version, - sagemaker.tensorflow.DOCKER_TAG) + deploy_image = create_image_uri(region_name, self.__framework_name__, instance_type, + self.framework_version, self.py_version) deploy_key_prefix = self.key_prefix or self.name or name_from_image(deploy_image) self._upload_code(deploy_key_prefix) deploy_env = dict(self.env) diff --git a/tests/component/__init__.py b/tests/component/__init__.py new file mode 100644 index 0000000000..e1e6f4571f --- /dev/null +++ b/tests/component/__init__.py @@ -0,0 +1,12 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. diff --git a/tests/component/test_mxnet_estimator.py b/tests/component/test_mxnet_estimator.py new file mode 100644 index 0000000000..2a6bb088d3 --- /dev/null +++ b/tests/component/test_mxnet_estimator.py @@ -0,0 +1,68 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import pytest +from mock import Mock +from sagemaker.mxnet import MXNet + + +SCRIPT = 'resnet_cifar_10.py' +TIMESTAMP = '2017-11-06-14:14:15.673' +TIME = 1510006209.073025 +BUCKET_NAME = 'mybucket' +INSTANCE_COUNT = 1 +INSTANCE_TYPE_GPU = 'ml.p2.xlarge' +INSTANCE_TYPE_CPU = 'ml.m4.xlarge' +CPU_IMAGE_NAME = 'sagemaker-mxnet-py2-cpu' +GPU_IMAGE_NAME = 'sagemaker-mxnet-py2-gpu' +REGION = 'us-west-2' +IMAGE_URI_FORMAT_STRING = "520713654638.dkr.ecr.{}.amazonaws.com/{}:{}-{}-{}" +REGION = 'us-west-2' +ROLE = 'SagemakerRole' +SOURCE_DIR = 's3://fefergerger' + + +@pytest.fixture() +def sagemaker_session(): + boto_mock = Mock(name='boto_session', region_name=REGION) + ims = Mock(name='sagemaker_session', boto_session=boto_mock) + ims.default_bucket = Mock(name='default_bucket', return_value=BUCKET_NAME) + ims.expand_role = Mock(name="expand_role", return_value=ROLE) + ims.sagemaker_client.describe_training_job = Mock(return_value={'ModelArtifacts': + {'S3ModelArtifacts': 's3://m/m.tar.gz'}}) + return ims + + +# Test that we pass all necessary fields from estimator to the session when we call deploy +def test_deploy(sagemaker_session, tf_version): + estimator = MXNet(entry_point=SCRIPT, source_dir=SOURCE_DIR, role=ROLE, + framework_version=tf_version, + train_instance_count=2, train_instance_type=INSTANCE_TYPE_GPU, + sagemaker_session=sagemaker_session, + base_job_name='test-cifar') + + estimator.fit('s3://mybucket/train') + print('job succeeded: {}'.format(estimator.latest_training_job.name)) + + estimator.deploy(initial_instance_count=1, instance_type=INSTANCE_TYPE_CPU) + image = IMAGE_URI_FORMAT_STRING.format(REGION, CPU_IMAGE_NAME, tf_version, 'cpu', 'py2') + sagemaker_session.create_model.assert_called_with( + estimator._current_job_name, + ROLE, + {'Environment': + {'SAGEMAKER_ENABLE_CLOUDWATCH_METRICS': 'false', + 'SAGEMAKER_CONTAINER_LOG_LEVEL': '20', + 'SAGEMAKER_SUBMIT_DIRECTORY': SOURCE_DIR, + 'SAGEMAKER_REGION': REGION, + 'SAGEMAKER_PROGRAM': SCRIPT}, + 'Image': image, + 'ModelDataUrl': 's3://m/m.tar.gz'}) diff --git a/tests/component/test_tf_estimator.py b/tests/component/test_tf_estimator.py new file mode 100644 index 0000000000..5d718558a6 --- /dev/null +++ b/tests/component/test_tf_estimator.py @@ -0,0 +1,68 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import pytest +from mock import Mock +from sagemaker.tensorflow import TensorFlow + + +SCRIPT = 'resnet_cifar_10.py' +TIMESTAMP = '2017-11-06-14:14:15.673' +TIME = 1510006209.073025 +BUCKET_NAME = 'mybucket' +INSTANCE_COUNT = 1 +INSTANCE_TYPE_GPU = 'ml.p2.xlarge' +INSTANCE_TYPE_CPU = 'ml.m4.xlarge' +CPU_IMAGE_NAME = 'sagemaker-tensorflow-py2-cpu' +GPU_IMAGE_NAME = 'sagemaker-tensorflow-py2-gpu' +REGION = 'us-west-2' +IMAGE_URI_FORMAT_STRING = "520713654638.dkr.ecr.{}.amazonaws.com/{}:{}-{}-{}" +REGION = 'us-west-2' +ROLE = 'SagemakerRole' +SOURCE_DIR = 's3://fefergerger' + + +@pytest.fixture() +def sagemaker_session(): + boto_mock = Mock(name='boto_session', region_name=REGION) + ims = Mock(name='sagemaker_session', boto_session=boto_mock) + ims.default_bucket = Mock(name='default_bucket', return_value=BUCKET_NAME) + ims.expand_role = Mock(name="expand_role", return_value=ROLE) + ims.sagemaker_client.describe_training_job = Mock(return_value={'ModelArtifacts': + {'S3ModelArtifacts': 's3://m/m.tar.gz'}}) + return ims + + +# Test that we pass all necessary fields from estimator to the session when we call deploy +def test_deploy(sagemaker_session, tf_version): + estimator = TensorFlow(entry_point=SCRIPT, source_dir=SOURCE_DIR, role=ROLE, + framework_version=tf_version, + train_instance_count=2, train_instance_type=INSTANCE_TYPE_CPU, + sagemaker_session=sagemaker_session, + base_job_name='test-cifar') + + estimator.fit('s3://mybucket/train') + print('job succeeded: {}'.format(estimator.latest_training_job.name)) + + estimator.deploy(initial_instance_count=1, instance_type=INSTANCE_TYPE_CPU) + image = IMAGE_URI_FORMAT_STRING.format(REGION, CPU_IMAGE_NAME, tf_version, 'cpu', 'py2') + sagemaker_session.create_model.assert_called_with( + estimator._current_job_name, + ROLE, + {'Environment': + {'SAGEMAKER_ENABLE_CLOUDWATCH_METRICS': 'false', + 'SAGEMAKER_CONTAINER_LOG_LEVEL': '20', + 'SAGEMAKER_SUBMIT_DIRECTORY': SOURCE_DIR, + 'SAGEMAKER_REGION': REGION, + 'SAGEMAKER_PROGRAM': SCRIPT}, + 'Image': image, + 'ModelDataUrl': 's3://m/m.tar.gz'}) diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000000..5c79f39272 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,33 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import pytest + + +@pytest.fixture(scope='module', params=["1.4", "1.4.1", "1.5", "1.5.0"]) +def tf_version(request): + return request.param + + +@pytest.fixture(scope='module', params=["0.12", "0.12.1", "1.0", "1.0.0"]) +def mxnet_version(request): + return request.param + + +@pytest.fixture(scope='module', params=["1.4.1", "1.5.0"]) +def tf_full_version(request): + return request.param + + +@pytest.fixture(scope='module', params=["0.12.1", "1.0.0"]) +def mxnet_full_version(request): + return request.param diff --git a/tests/integ/test_mxnet_train.py b/tests/integ/test_mxnet_train.py index be0e418a8e..2508c6dd30 100644 --- a/tests/integ/test_mxnet_train.py +++ b/tests/integ/test_mxnet_train.py @@ -31,12 +31,12 @@ def sagemaker_session(): @pytest.fixture(scope='module') -def mxnet_training_job(sagemaker_session): +def mxnet_training_job(sagemaker_session, mxnet_full_version): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'mxnet_mnist', 'mnist.py') data_path = os.path.join(DATA_DIR, 'mxnet_mnist') - mx = MXNet(entry_point=script_path, role='SageMakerRole', + mx = MXNet(entry_point=script_path, role='SageMakerRole', framework_version=mxnet_full_version, train_instance_count=1, train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session) @@ -59,7 +59,7 @@ def test_attach_deploy(mxnet_training_job, sagemaker_session): predictor.predict(data) -def test_async_fit(sagemaker_session): +def test_async_fit(sagemaker_session, mxnet_full_version): training_job_name = "" endpoint_name = 'test-mxnet-attach-deploy-{}'.format(sagemaker_timestamp()) @@ -68,7 +68,7 @@ def test_async_fit(sagemaker_session): script_path = os.path.join(DATA_DIR, 'mxnet_mnist', 'mnist.py') data_path = os.path.join(DATA_DIR, 'mxnet_mnist') - mx = MXNet(entry_point=script_path, role='SageMakerRole', + mx = MXNet(entry_point=script_path, role='SageMakerRole', framework_version=mxnet_full_version, train_instance_count=1, train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session) @@ -105,12 +105,12 @@ def test_deploy_model(mxnet_training_job, sagemaker_session): predictor.predict(data) -def test_failed_training_job(sagemaker_session): +def test_failed_training_job(sagemaker_session, mxnet_full_version): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'mxnet_mnist', 'failure_script.py') data_path = os.path.join(DATA_DIR, 'mxnet_mnist') - mx = MXNet(entry_point=script_path, role='SageMakerRole', + mx = MXNet(entry_point=script_path, role='SageMakerRole', framework_version=mxnet_full_version, train_instance_count=1, train_instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session) diff --git a/tests/integ/test_tf.py b/tests/integ/test_tf.py index 32dc1627c1..0add482acf 100644 --- a/tests/integ/test_tf.py +++ b/tests/integ/test_tf.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -28,12 +28,13 @@ def sagemaker_session(): return Session(boto_session=boto3.Session(region_name=REGION)) -def test_tf(sagemaker_session): +def test_tf(sagemaker_session, tf_full_version): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'iris', 'iris-dnn-classifier.py') estimator = TensorFlow(entry_point=script_path, role='SageMakerRole', + framework_version=tf_full_version, training_steps=1, evaluation_steps=1, hyperparameters={'input_tensor_name': 'inputs'}, @@ -58,7 +59,7 @@ def test_tf(sagemaker_session): assert dict_result == list_result -def test_tf_async(sagemaker_session): +def test_tf_async(sagemaker_session, tf_full_version): training_job_name = "" with timeout(minutes=5): @@ -66,6 +67,7 @@ def test_tf_async(sagemaker_session): estimator = TensorFlow(entry_point=script_path, role='SageMakerRole', + framework_version=tf_full_version, training_steps=1, evaluation_steps=1, hyperparameters={'input_tensor_name': 'inputs'}, @@ -87,11 +89,12 @@ def test_tf_async(sagemaker_session): print('predict result: {}'.format(result)) -def test_failed_tf_training(sagemaker_session): +def test_failed_tf_training(sagemaker_session, tf_full_version): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'iris', 'failure_script.py') estimator = TensorFlow(entry_point=script_path, role='SageMakerRole', + framework_version=tf_full_version, training_steps=1, evaluation_steps=1, hyperparameters={'input_tensor_name': 'inputs'}, diff --git a/tests/integ/test_tf_cifar.py b/tests/integ/test_tf_cifar.py index 399aaab129..967fb24188 100644 --- a/tests/integ/test_tf_cifar.py +++ b/tests/integ/test_tf_cifar.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -38,14 +38,14 @@ def __call__(self, data): return pickle.dumps(data, protocol=2) -def test_cifar(sagemaker_session): +def test_cifar(sagemaker_session, tf_full_version): with timeout(minutes=15): script_path = os.path.join(DATA_DIR, 'cifar_10', 'source') dataset_path = os.path.join(DATA_DIR, 'cifar_10', 'data') estimator = TensorFlow(entry_point='resnet_cifar_10.py', source_dir=script_path, role='SageMakerRole', - training_steps=20, evaluation_steps=5, + framework_version=tf_full_version, training_steps=20, evaluation_steps=5, train_instance_count=2, train_instance_type='ml.p2.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-cifar') diff --git a/tests/unit/test_estimator.py b/tests/unit/test_estimator.py index 7542cb6880..1c957b8b98 100644 --- a/tests/unit/test_estimator.py +++ b/tests/unit/test_estimator.py @@ -17,7 +17,6 @@ from mock import Mock, patch from sagemaker.estimator import Estimator, Framework, _TrainingJob -from sagemaker.fw_utils import framework_name_from_image from sagemaker.session import s3_input from sagemaker.model import FrameworkModel from sagemaker.predictor import RealTimePredictor @@ -324,18 +323,6 @@ def test_init_with_source_dir_s3(strftime, sagemaker_session): assert actual_hyperparameter == expected_hyperparameters -def test_framework_name_from_framework_image(): - framework, py_ver = framework_name_from_image('123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-gpu:1') - assert framework == 'mxnet' - assert py_ver == 'py2' - - -def test_framework_name_from_other(): - framework, py_ver = framework_name_from_image('123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-myown-py2-gpu:1') - assert framework is None - assert py_ver is None - - # _TrainingJob 'utils' def test_format_input_single_unamed_channel(): input_dict = _TrainingJob._format_inputs_to_input_config('s3://blah/blah') diff --git a/tests/unit/test_fw_utils.py b/tests/unit/test_fw_utils.py new file mode 100644 index 0000000000..c170728b4f --- /dev/null +++ b/tests/unit/test_fw_utils.py @@ -0,0 +1,158 @@ +# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import inspect +from mock import Mock +import os +from sagemaker.fw_utils import create_image_uri, framework_name_from_image, framework_version_from_tag +from sagemaker.fw_utils import tar_and_upload_dir, parse_s3_url, UploadedCode +import pytest + + +DATA_DIR = 'data_dir' +BUCKET_NAME = 'mybucket' +ROLE = 'Sagemaker' +REGION = 'us-west-2' +SCRIPT_PATH = 'script.py' + + +@pytest.fixture() +def sagemaker_session(): + boto_mock = Mock(name='boto_session', region_name=REGION) + ims = Mock(name='sagemaker_session', boto_session=boto_mock) + ims.default_bucket = Mock(name='default_bucket', return_value=BUCKET_NAME) + ims.expand_role = Mock(name="expand_role", return_value=ROLE) + ims.sagemaker_client.describe_training_job = Mock(return_value={'ModelArtifacts': + {'S3ModelArtifacts': 's3://m/m.tar.gz'}}) + return ims + + +def test_create_image_uri_cpu(): + image_uri = create_image_uri('mars-south-3', 'mlfw', 'any-non-gpu-device', '1.0rc', 'py2', '23') + assert image_uri == '23.dkr.ecr.mars-south-3.amazonaws.com/sagemaker-mlfw-py2-cpu:1.0rc-cpu-py2' + + +def test_create_image_uri_gpu(): + image_uri = create_image_uri('mars-south-3', 'mlfw', 'ml.p3.2xlarge', '1.0rc', 'py3', '23') + assert image_uri == '23.dkr.ecr.mars-south-3.amazonaws.com/sagemaker-mlfw-py3-gpu:1.0rc-gpu-py3' + + +def test_create_image_uri_default_account(): + image_uri = create_image_uri('mars-south-3', 'mlfw', 'ml.p3.2xlarge', '1.0rc', 'py3') + assert image_uri == '520713654638.dkr.ecr.mars-south-3.amazonaws.com/sagemaker-mlfw-py3-gpu:1.0rc-gpu-py3' + + +def test_tar_and_upload_dir_s3(sagemaker_session): + bucket = 'mybucker' + s3_key_prefix = 'something/source' + script = 'mnist.py' + directory = 's3://m' + result = tar_and_upload_dir(sagemaker_session, bucket, s3_key_prefix, script, directory) + assert result == UploadedCode('s3://m', 'mnist.py') + + +def test_tar_and_upload_dir_does_not_exits(sagemaker_session): + bucket = 'mybucker' + s3_key_prefix = 'something/source' + script = 'mnist.py' + directory = ' !@#$%^&*()path probably in not there.!@#$%^&*()' + with pytest.raises(ValueError) as error: + tar_and_upload_dir(sagemaker_session, bucket, s3_key_prefix, script, directory) + assert 'does not exist' in str(error) + + +def test_tar_and_upload_dir_is_not_directory(sagemaker_session): + bucket = 'mybucker' + s3_key_prefix = 'something/source' + script = 'mnist.py' + directory = inspect.getfile(inspect.currentframe()) + with pytest.raises(ValueError) as error: + tar_and_upload_dir(sagemaker_session, bucket, s3_key_prefix, script, directory) + assert 'is not a directory' in str(error) + + +def test_tar_and_upload_dir_file_not_in_dir(sagemaker_session): + bucket = 'mybucker' + s3_key_prefix = 'something/source' + script = ' !@#$%^&*() .myscript. !@#$%^&*() ' + directory = '.' + with pytest.raises(ValueError) as error: + tar_and_upload_dir(sagemaker_session, bucket, s3_key_prefix, script, directory) + assert 'No file named' in str(error) + + +def test_tar_and_upload_dir_not_s3(sagemaker_session): + bucket = 'mybucker' + s3_key_prefix = 'something/source' + script = os.path.basename(__file__) + directory = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + result = tar_and_upload_dir(sagemaker_session, bucket, s3_key_prefix, script, directory) + assert result == UploadedCode('s3://{}/{}/sourcedir.tar.gz'.format(bucket, s3_key_prefix), script) + + +def test_framework_name_from_framework_image(): + image_name = '123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py3-gpu:2.5.6-gpu-py2' + framework, py_ver, tag = framework_name_from_image(image_name) + assert framework == 'mxnet' + assert py_ver == 'py3' + assert tag == '2.5.6-gpu-py2' + + +def test_framework_name_from_wrong_framework(): + framework, py_ver, tag = framework_name_from_image('123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-myown-py2-gpu:1') + assert framework is None + assert py_ver is None + assert tag is None + + +def test_framework_name_from_wrong_python(): + framework, py_ver, tag = framework_name_from_image('123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-myown-py4-gpu:1') + assert framework is None + assert py_ver is None + assert tag is None + + +def test_framework_name_from_wrong_device(): + framework, py_ver, tag = framework_name_from_image('123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-myown-py4-gpu:1') + assert framework is None + assert py_ver is None + assert tag is None + + +def test_framework_name_from_image_any_tag(): + image_name = '123.dkr.ecr.us-west-2.amazonaws.com/sagemaker-tensorflow-py2-cpu:any-tag' + framework, py_ver, tag = framework_name_from_image(image_name) + assert framework == 'tensorflow' + assert py_ver == 'py2' + assert tag == 'any-tag' + + +def test_framework_version_from_tag(): + version = framework_version_from_tag('1.5rc-keras-gpu-py2') + assert version == '1.5rc-keras' + + +def test_framework_version_from_tag_other(): + version = framework_version_from_tag('weird-tag-py2') + assert version is None + + +def test_parse_s3_url(): + bucket, key_prefix = parse_s3_url('s3://bucket/code_location') + assert 'bucket' == bucket + assert 'code_location' == key_prefix + + +def test_parse_s3_url_fail(): + with pytest.raises(ValueError) as error: + parse_s3_url('t3://code_location') + assert 'Expecting \'s3\' scheme' in str(error) diff --git a/tests/unit/test_mxnet.py b/tests/unit/test_mxnet.py index a325facb48..ab6f99ddb4 100644 --- a/tests/unit/test_mxnet.py +++ b/tests/unit/test_mxnet.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -18,9 +18,11 @@ from mock import Mock from mock import patch -from sagemaker.mxnet import MXNet, DOCKER_TAG +from sagemaker.mxnet import defaults +from sagemaker.mxnet import MXNet from sagemaker.mxnet import MXNetPredictor, MXNetModel + DATA_DIR = os.path.join(os.path.dirname(__file__), '..', 'data') SCRIPT_PATH = os.path.join(DATA_DIR, 'dummy_script.py') TIMESTAMP = '2017-11-06-14:14:15.672' @@ -28,46 +30,13 @@ BUCKET_NAME = 'mybucket' INSTANCE_COUNT = 1 INSTANCE_TYPE = 'ml.c4.4xlarge' -IMAGE_NAME = 'sagemaker-mxnet-py2-cpu' -JOB_NAME = '{}-{}'.format(IMAGE_NAME, TIMESTAMP) -FULL_IMAGE_URI = '520713654638.dkr.ecr.us-west-2.amazonaws.com/{}:{}'.format(IMAGE_NAME, DOCKER_TAG) +IMAGE_CPU_NAME = 'sagemaker-mxnet-py2-cpu' +JOB_NAME = '{}-{}'.format(IMAGE_CPU_NAME, TIMESTAMP) +FULL_IMAGE_URI = '520713654638.dkr.ecr.us-west-2.amazonaws.com/{}:{}-cpu-py2' ROLE = 'Dummy' REGION = 'us-west-2' GPU = 'ml.p2.xlarge' CPU = 'ml.c4.xlarge' -CREATE_TRAIN_JOB = {'image': FULL_IMAGE_URI, - 'input_mode': 'File', - 'input_config': [{ - 'ChannelName': 'training', - 'DataSource': { - 'S3DataSource': { - 'S3DataDistributionType': 'FullyReplicated', - 'S3DataType': 'S3Prefix' - } - } - }], - 'role': ROLE, - 'job_name': JOB_NAME, - 'output_config': { - 'S3OutputPath': 's3://{}/'.format(BUCKET_NAME), - }, - 'resource_config': { - 'InstanceType': 'ml.c4.4xlarge', - 'InstanceCount': 1, - 'VolumeSizeInGB': 30, - }, - 'hyperparameters': { - 'sagemaker_program': json.dumps('dummy_script.py'), - 'sagemaker_enable_cloudwatch_metrics': 'false', - 'sagemaker_container_log_level': str(logging.INFO), - 'sagemaker_job_name': json.dumps(JOB_NAME), - 'sagemaker_submit_directory': - json.dumps('s3://{}/{}/source/sourcedir.tar.gz'.format(BUCKET_NAME, JOB_NAME)), - 'sagemaker_region': '"us-west-2"' - }, - 'stop_condition': { - 'MaxRuntimeInSeconds': 24 * 60 * 60 - }} @pytest.fixture() @@ -81,10 +50,76 @@ def sagemaker_session(): return ims +def _get_full_image_uri(version): + return FULL_IMAGE_URI.format(IMAGE_CPU_NAME, version) + + +def _create_train_job(version): + return {'image': _get_full_image_uri(version), + 'input_mode': 'File', + 'input_config': [{ + 'ChannelName': 'training', + 'DataSource': { + 'S3DataSource': { + 'S3DataDistributionType': 'FullyReplicated', + 'S3DataType': 'S3Prefix' + } + } + }], + 'role': ROLE, + 'job_name': JOB_NAME, + 'output_config': { + 'S3OutputPath': 's3://{}/'.format(BUCKET_NAME), + }, + 'resource_config': { + 'InstanceType': 'ml.c4.4xlarge', + 'InstanceCount': 1, + 'VolumeSizeInGB': 30, + }, + 'hyperparameters': { + 'sagemaker_program': json.dumps('dummy_script.py'), + 'sagemaker_enable_cloudwatch_metrics': 'false', + 'sagemaker_container_log_level': str(logging.INFO), + 'sagemaker_job_name': json.dumps(JOB_NAME), + 'sagemaker_submit_directory': + json.dumps('s3://{}/{}/source/sourcedir.tar.gz'.format(BUCKET_NAME, JOB_NAME)), + 'sagemaker_region': '"us-west-2"' + }, + 'stop_condition': { + 'MaxRuntimeInSeconds': 24 * 60 * 60 + }} + + +def test_create_model(sagemaker_session, mxnet_version): + container_log_level = '"logging.INFO"' + source_dir = 's3://mybucket/source' + enable_cloudwatch_metrics = 'true' + mx = MXNet(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, + train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE, + framework_version=mxnet_version, container_log_level=container_log_level, + base_job_name='job', source_dir=source_dir, enable_cloudwatch_metrics=enable_cloudwatch_metrics) + + job_name = 'new_name' + mx.fit(inputs='s3://mybucket/train', job_name='new_name') + model = mx.create_model() + mx.container_log_level + + assert model.sagemaker_session == sagemaker_session + assert model.framework_version == mxnet_version + assert model.py_version == mx.py_version + assert model.entry_point == SCRIPT_PATH + assert model.role == ROLE + assert model.name == job_name + assert model.container_log_level == container_log_level + assert model.source_dir == source_dir + assert model.enable_cloudwatch_metrics == enable_cloudwatch_metrics + + @patch('time.strftime', return_value=TIMESTAMP) -def test_mxnet(strftime, sagemaker_session): +def test_mxnet(strftime, sagemaker_session, mxnet_version): mx = MXNet(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, - train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE) + train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE, + framework_version=mxnet_version) inputs = 's3://mybucket/train' @@ -95,7 +130,7 @@ def test_mxnet(strftime, sagemaker_session): boto_call_names = [c[0] for c in sagemaker_session.boto_session.method_calls] assert boto_call_names == ['resource'] - expected_train_args = CREATE_TRAIN_JOB.copy() + expected_train_args = _create_train_job(mxnet_version) expected_train_args['input_config'][0]['DataSource']['S3DataSource']['S3Uri'] = inputs actual_train_args = sagemaker_session.method_calls[0][2] @@ -103,6 +138,7 @@ def test_mxnet(strftime, sagemaker_session): model = mx.create_model() + expected_image_base = '520713654638.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-gpu:{}-gpu-py2' assert {'Environment': {'SAGEMAKER_SUBMIT_DIRECTORY': 's3://mybucket/sagemaker-mxnet-py2-cpu-{}/sourcedir.tar.gz'.format(TIMESTAMP), @@ -110,7 +146,7 @@ def test_mxnet(strftime, sagemaker_session): 'SAGEMAKER_ENABLE_CLOUDWATCH_METRICS': 'false', 'SAGEMAKER_REGION': 'us-west-2', 'SAGEMAKER_CONTAINER_LOG_LEVEL': '20'}, - 'Image': '520713654638.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-gpu:1.0', + 'Image': expected_image_base.format(mxnet_version), 'ModelDataUrl': 's3://m/m.tar.gz'} == model.prepare_container_def(GPU) assert 'cpu' in model.prepare_container_def(CPU)['Image'] @@ -119,7 +155,8 @@ def test_mxnet(strftime, sagemaker_session): def test_model(sagemaker_session): - model = MXNetModel("s3://some/data.tar.gz", role=ROLE, entry_point=SCRIPT_PATH, sagemaker_session=sagemaker_session) + model = MXNetModel("s3://some/data.tar.gz", role=ROLE, entry_point=SCRIPT_PATH, + sagemaker_session=sagemaker_session) predictor = model.deploy(1, GPU) assert isinstance(predictor, MXNetPredictor) @@ -128,13 +165,57 @@ def test_train_image_default(sagemaker_session): mx = MXNet(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE) - assert FULL_IMAGE_URI in mx.train_image() + assert _get_full_image_uri(defaults.MXNET_VERSION) in mx.train_image() + + +def test_attach(sagemaker_session, mxnet_version): + training_image = '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-cpu:{}-cpu-py2'.format(mxnet_version) + returned_job_description = {'AlgorithmSpecification': + {'TrainingInputMode': 'File', + 'TrainingImage': training_image}, + 'HyperParameters': + {'sagemaker_submit_directory': '"s3://some/sourcedir.tar.gz"', + 'sagemaker_program': '"iris-dnn-classifier.py"', + 'sagemaker_s3_uri_training': '"sagemaker-3/integ-test-data/tf_iris"', + 'sagemaker_enable_cloudwatch_metrics': 'false', + 'sagemaker_container_log_level': '"logging.INFO"', + 'sagemaker_job_name': '"neo"', + 'training_steps': '100', + 'sagemaker_region': '"us-west-2"'}, + 'RoleArn': 'arn:aws:iam::366:role/SageMakerRole', + 'ResourceConfig': + {'VolumeSizeInGB': 30, + 'InstanceCount': 1, + 'InstanceType': 'ml.c4.xlarge'}, + 'StoppingCondition': {'MaxRuntimeInSeconds': 24 * 60 * 60}, + 'TrainingJobName': 'neo', + 'TrainingJobStatus': 'Completed', + 'OutputDataConfig': {'KmsKeyId': '', + 'S3OutputPath': 's3://place/output/neo'}, + 'TrainingJobOutput': {'S3TrainingJobOutput': 's3://here/output.tar.gz'}} + sagemaker_session.sagemaker_client.describe_training_job = Mock(name='describe_training_job', + return_value=returned_job_description) + + estimator = MXNet.attach(training_job_name='neo', sagemaker_session=sagemaker_session) + assert estimator.latest_training_job.job_name == 'neo' + assert estimator.py_version == 'py2' + assert estimator.framework_version == mxnet_version + assert estimator.role == 'arn:aws:iam::366:role/SageMakerRole' + assert estimator.train_instance_count == 1 + assert estimator.train_max_run == 24 * 60 * 60 + assert estimator.input_mode == 'File' + assert estimator.base_job_name == 'neo' + assert estimator.output_path == 's3://place/output/neo' + assert estimator.output_kms_key == '' + assert estimator.hyperparameters()['training_steps'] == '100' + assert estimator.source_dir == 's3://some/sourcedir.tar.gz' + assert estimator.entry_point == 'iris-dnn-classifier.py' -def test_attach(sagemaker_session): +def test_attach_old_container(sagemaker_session): returned_job_description = {'AlgorithmSpecification': {'TrainingInputMode': 'File', - 'TrainingImage': '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-cpu:1.0.4'}, + 'TrainingImage': '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-cpu:1.0'}, 'HyperParameters': {'sagemaker_submit_directory': '"s3://some/sourcedir.tar.gz"', 'sagemaker_program': '"iris-dnn-classifier.py"', @@ -161,6 +242,7 @@ def test_attach(sagemaker_session): estimator = MXNet.attach(training_job_name='neo', sagemaker_session=sagemaker_session) assert estimator.latest_training_job.job_name == 'neo' assert estimator.py_version == 'py2' + assert estimator.framework_version == '0.12' assert estimator.role == 'arn:aws:iam::366:role/SageMakerRole' assert estimator.train_instance_count == 1 assert estimator.train_max_run == 24 * 60 * 60 diff --git a/tests/unit/test_tf_estimator.py b/tests/unit/test_tf_estimator.py index 367e66da65..e3eb2c2734 100644 --- a/tests/unit/test_tf_estimator.py +++ b/tests/unit/test_tf_estimator.py @@ -1,4 +1,4 @@ -# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of @@ -16,10 +16,10 @@ import os import pytest from mock import Mock, patch -import sagemaker from sagemaker.model import MODEL_SERVER_WORKERS_PARAM_NAME from sagemaker.session import s3_input -from sagemaker.tensorflow import TensorFlow, DOCKER_TAG +from sagemaker.tensorflow import TensorFlow +from sagemaker.tensorflow import defaults from sagemaker.fw_utils import create_image_uri from sagemaker.tensorflow import TensorFlowPredictor, TensorFlowModel @@ -35,47 +35,8 @@ JOB_NAME = '{}-{}'.format(CPU_IMAGE_NAME, TIMESTAMP) ROLE = 'Dummy' REGION = 'us-west-2' - -IMAGE_URI_FORMAT_STRING = "520713654638.dkr.ecr.{}.amazonaws.com/{}:{}" -FULL_CPU_IMAGE_URI = IMAGE_URI_FORMAT_STRING.format(REGION, CPU_IMAGE_NAME, DOCKER_TAG) -FULL_GPU_IMAGE_URI = IMAGE_URI_FORMAT_STRING.format(REGION, GPU_IMAGE_NAME, DOCKER_TAG) - -CREATE_TRAIN_JOB = {'image': FULL_CPU_IMAGE_URI, - 'input_mode': 'File', - 'input_config': [{ - 'ChannelName': 'training', - 'DataSource': { - 'S3DataSource': { - 'S3DataDistributionType': 'FullyReplicated', - 'S3DataType': 'S3Prefix' - } - } - }], - 'role': ROLE, - 'job_name': JOB_NAME, - 'output_config': { - 'S3OutputPath': 's3://{}/'.format(BUCKET_NAME), - }, - 'resource_config': { - 'InstanceType': 'ml.c4.4xlarge', - 'InstanceCount': 1, - 'VolumeSizeInGB': 30, - }, - 'hyperparameters': { - 'training_steps': '1000', - 'evaluation_steps': '10', - 'sagemaker_program': json.dumps('dummy_script.py'), - 'sagemaker_submit_directory': json.dumps('s3://{}/{}/source/sourcedir.tar.gz'.format( - BUCKET_NAME, JOB_NAME)), - 'sagemaker_enable_cloudwatch_metrics': 'false', - 'sagemaker_container_log_level': str(logging.INFO), - 'sagemaker_job_name': json.dumps(JOB_NAME), - 'checkpoint_path': json.dumps('s3://{}/{}/checkpoints'.format(BUCKET_NAME, JOB_NAME)), - 'sagemaker_region': '"us-west-2"' - }, - 'stop_condition': { - 'MaxRuntimeInSeconds': 24 * 60 * 60 - }} +DOCKER_TAG = '1.0' +IMAGE_URI_FORMAT_STRING = "520713654638.dkr.ecr.{}.amazonaws.com/{}:{}-{}-{}" @pytest.fixture() @@ -90,11 +51,60 @@ def sagemaker_session(): return ims -def _build_tf(sagemaker_session, train_instance_type=None, checkpoint_path=None, enable_cloudwatch_metrics=False, - base_job_name=None, training_steps=None, evalutation_steps=None, **kwargs): +def _get_full_cpu_image_uri(version): + return IMAGE_URI_FORMAT_STRING.format(REGION, CPU_IMAGE_NAME, version, 'cpu', 'py2') + + +def _get_full_gpu_image_uri(version): + return IMAGE_URI_FORMAT_STRING.format(REGION, GPU_IMAGE_NAME, version, 'gpu', 'py2') + + +def _create_train_job(tf_version): + return {'image': _get_full_cpu_image_uri(tf_version), + 'input_mode': 'File', + 'input_config': [{ + 'ChannelName': 'training', + 'DataSource': { + 'S3DataSource': { + 'S3DataDistributionType': 'FullyReplicated', + 'S3DataType': 'S3Prefix' + } + } + }], + 'role': ROLE, + 'job_name': JOB_NAME, + 'output_config': { + 'S3OutputPath': 's3://{}/'.format(BUCKET_NAME), + }, + 'resource_config': { + 'InstanceType': 'ml.c4.4xlarge', + 'InstanceCount': 1, + 'VolumeSizeInGB': 30, + }, + 'hyperparameters': { + 'training_steps': '1000', + 'evaluation_steps': '10', + 'sagemaker_program': json.dumps('dummy_script.py'), + 'sagemaker_submit_directory': json.dumps('s3://{}/{}/source/sourcedir.tar.gz'.format( + BUCKET_NAME, JOB_NAME)), + 'sagemaker_enable_cloudwatch_metrics': 'false', + 'sagemaker_container_log_level': str(logging.INFO), + 'sagemaker_job_name': json.dumps(JOB_NAME), + 'checkpoint_path': json.dumps('s3://{}/{}/checkpoints'.format(BUCKET_NAME, JOB_NAME)), + 'sagemaker_region': '"us-west-2"' + }, + 'stop_condition': { + 'MaxRuntimeInSeconds': 24 * 60 * 60 + }} + + +def _build_tf(sagemaker_session, framework_version=defaults.TF_VERSION, train_instance_type=None, + checkpoint_path=None, enable_cloudwatch_metrics=False, base_job_name=None, + training_steps=None, evalutation_steps=None, **kwargs): return TensorFlow(entry_point=SCRIPT_PATH, training_steps=training_steps, evaluation_steps=evalutation_steps, + framework_version=framework_version, role=ROLE, sagemaker_session=sagemaker_session, train_instance_count=INSTANCE_COUNT, @@ -105,28 +115,28 @@ def _build_tf(sagemaker_session, train_instance_type=None, checkpoint_path=None, **kwargs) -def test_tf_support_cpu_instances(sagemaker_session): - tf = _build_tf(sagemaker_session, train_instance_type='ml.c2.2xlarge') +def test_tf_support_cpu_instances(sagemaker_session, tf_version): + tf = _build_tf(sagemaker_session, tf_version, train_instance_type='ml.c2.2xlarge') - assert tf.train_image() == FULL_CPU_IMAGE_URI + assert tf.train_image() == _get_full_cpu_image_uri(tf_version) - tf = _build_tf(sagemaker_session, train_instance_type='ml.c4.2xlarge') + tf = _build_tf(sagemaker_session, tf_version, train_instance_type='ml.c4.2xlarge') - assert tf.train_image() == FULL_CPU_IMAGE_URI + assert tf.train_image() == _get_full_cpu_image_uri(tf_version) - tf = _build_tf(sagemaker_session, train_instance_type='ml.m16') + tf = _build_tf(sagemaker_session, tf_version, train_instance_type='ml.m16') - assert tf.train_image() == FULL_CPU_IMAGE_URI + assert tf.train_image() == _get_full_cpu_image_uri(tf_version) -def test_tf_support_gpu_instances(sagemaker_session): - tf = _build_tf(sagemaker_session, train_instance_type='ml.g2.2xlarge') +def test_tf_support_gpu_instances(sagemaker_session, tf_version): + tf = _build_tf(sagemaker_session, tf_version, train_instance_type='ml.g2.2xlarge') - assert tf.train_image() == FULL_GPU_IMAGE_URI + assert tf.train_image() == _get_full_gpu_image_uri(tf_version) - tf = _build_tf(sagemaker_session, train_instance_type='ml.p2.2xlarge') + tf = _build_tf(sagemaker_session, tf_version, train_instance_type='ml.p2.2xlarge') - assert tf.train_image() == FULL_GPU_IMAGE_URI + assert tf.train_image() == _get_full_gpu_image_uri(tf_version) def test_tf_deploy_model_server_workers(sagemaker_session): @@ -148,11 +158,37 @@ def test_tf_deploy_model_server_workers_unset(sagemaker_session): assert MODEL_SERVER_WORKERS_PARAM_NAME.upper() not in sagemaker_session.method_calls[3][1][2]['Environment'] +def test_create_model(sagemaker_session, tf_version): + container_log_level = '"logging.INFO"' + source_dir = 's3://mybucket/source' + enable_cloudwatch_metrics = 'true' + tf = TensorFlow(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, + training_steps=1000, evaluation_steps=10, train_instance_count=INSTANCE_COUNT, + train_instance_type=INSTANCE_TYPE, framework_version=tf_version, + container_log_level=container_log_level, base_job_name='job', + source_dir=source_dir, enable_cloudwatch_metrics=enable_cloudwatch_metrics) + + job_name = 'doing something' + tf.fit(inputs='s3://mybucket/train', job_name=job_name) + model = tf.create_model() + + assert model.sagemaker_session == sagemaker_session + assert model.framework_version == tf_version + assert model.py_version == tf.py_version + assert model.entry_point == SCRIPT_PATH + assert model.role == ROLE + assert model.name == job_name + assert model.container_log_level == container_log_level + assert model.source_dir == source_dir + assert model.enable_cloudwatch_metrics == enable_cloudwatch_metrics + + @patch('time.strftime', return_value=TIMESTAMP) @patch('time.time', return_value=TIME) -def test_tf(time, strftime, sagemaker_session): - tf = TensorFlow(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, training_steps=1000, - evaluation_steps=10, train_instance_count=INSTANCE_COUNT, train_instance_type=INSTANCE_TYPE) +def test_tf(time, strftime, sagemaker_session, tf_version): + tf = TensorFlow(entry_point=SCRIPT_PATH, role=ROLE, sagemaker_session=sagemaker_session, + training_steps=1000, evaluation_steps=10, train_instance_count=INSTANCE_COUNT, + train_instance_type=INSTANCE_TYPE, framework_version=tf_version) inputs = 's3://mybucket/train' @@ -163,7 +199,7 @@ def test_tf(time, strftime, sagemaker_session): boto_call_names = [c[0] for c in sagemaker_session.boto_session.method_calls] assert boto_call_names == ['resource'] - expected_train_args = CREATE_TRAIN_JOB.copy() + expected_train_args = _create_train_job(tf_version) expected_train_args['input_config'][0]['DataSource']['S3DataSource']['S3Uri'] = inputs actual_train_args = sagemaker_session.method_calls[0][2] @@ -178,8 +214,7 @@ def test_tf(time, strftime, sagemaker_session): 'SAGEMAKER_REGION': 'us-west-2', 'SAGEMAKER_CONTAINER_LOG_LEVEL': '20' }, - 'Image': create_image_uri('us-west-2', "tensorflow", GPU_IMAGE_NAME, "py2", - sagemaker.tensorflow.DOCKER_TAG), + 'Image': create_image_uri('us-west-2', "tensorflow", GPU_IMAGE_NAME, tf_version, "py2"), 'ModelDataUrl': 's3://m/m.tar.gz'} == model.prepare_container_def(GPU_IMAGE_NAME) assert 'cpu' in model.prepare_container_def(CPU_IMAGE_NAME)['Image'] @@ -202,7 +237,7 @@ def test_run_tensorboard_locally_without_tensorboard_binary(time, strftime, pope 'following command: \n pip install tensorboard' -def test_model(sagemaker_session): +def test_model(sagemaker_session, tf_version): model = TensorFlowModel("s3://some/data.tar.gz", role=ROLE, entry_point=SCRIPT_PATH, sagemaker_session=sagemaker_session) predictor = model.deploy(1, GPU_IMAGE_NAME) @@ -302,15 +337,67 @@ def test_tf_checkpoint_set(sagemaker_session): def test_train_image_default(sagemaker_session): - tf = _build_tf(sagemaker_session) + tf = TensorFlow(entry_point=SCRIPT_PATH, + role=ROLE, + sagemaker_session=sagemaker_session, + train_instance_count=INSTANCE_COUNT, + train_instance_type=INSTANCE_TYPE) + + assert _get_full_cpu_image_uri(defaults.TF_VERSION) in tf.train_image() + + +def test_attach(sagemaker_session, tf_version): + training_image = '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-tensorflow-py2-cpu:{}-cpu-py2'.format(tf_version) + rjd = {'AlgorithmSpecification': + {'TrainingInputMode': 'File', + 'TrainingImage': training_image}, + 'HyperParameters': + {'sagemaker_submit_directory': '"s3://some/sourcedir.tar.gz"', + 'checkpoint_path': '"s3://other/1508872349"', + 'sagemaker_program': '"iris-dnn-classifier.py"', + 'sagemaker_enable_cloudwatch_metrics': 'false', + 'sagemaker_container_log_level': '"logging.INFO"', + 'sagemaker_job_name': '"neo"', + 'training_steps': '100', + 'evaluation_steps': '10'}, + 'RoleArn': 'arn:aws:iam::366:role/SageMakerRole', + 'ResourceConfig': + {'VolumeSizeInGB': 30, + 'InstanceCount': 1, + 'InstanceType': 'ml.c4.xlarge'}, + 'StoppingCondition': {'MaxRuntimeInSeconds': 24 * 60 * 60}, + 'TrainingJobName': 'neo', + 'TrainingJobStatus': 'Completed', + 'OutputDataConfig': {'KmsKeyId': '', + 'S3OutputPath': 's3://place/output/neo'}, + 'TrainingJobOutput': {'S3TrainingJobOutput': 's3://here/output.tar.gz'}} + sagemaker_session.sagemaker_client.describe_training_job = Mock(name='describe_training_job', return_value=rjd) - assert FULL_CPU_IMAGE_URI in tf.train_image() + estimator = TensorFlow.attach(training_job_name='neo', sagemaker_session=sagemaker_session) + assert estimator.latest_training_job.job_name == 'neo' + assert estimator.py_version == 'py2' + assert estimator.framework_version == tf_version + assert estimator.role == 'arn:aws:iam::366:role/SageMakerRole' + assert estimator.train_instance_count == 1 + assert estimator.train_max_run == 24 * 60 * 60 + assert estimator.input_mode == 'File' + assert estimator.training_steps == 100 + assert estimator.evaluation_steps == 10 + assert estimator.input_mode == 'File' + assert estimator.base_job_name == 'neo' + assert estimator.output_path == 's3://place/output/neo' + assert estimator.output_kms_key == '' + assert estimator.hyperparameters()['training_steps'] == '100' + assert estimator.source_dir == 's3://some/sourcedir.tar.gz' + assert estimator.entry_point == 'iris-dnn-classifier.py' + assert estimator.checkpoint_path == 's3://other/1508872349' -def test_attach(sagemaker_session): +def test_attach_old_container(sagemaker_session): + training_image = '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-tensorflow-py2-cpu:1.0' rjd = {'AlgorithmSpecification': {'TrainingInputMode': 'File', - 'TrainingImage': '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-tensorflow-py2-cpu:1.0.4'}, + 'TrainingImage': training_image}, 'HyperParameters': {'sagemaker_submit_directory': '"s3://some/sourcedir.tar.gz"', 'checkpoint_path': '"s3://other/1508872349"', @@ -336,6 +423,7 @@ def test_attach(sagemaker_session): estimator = TensorFlow.attach(training_job_name='neo', sagemaker_session=sagemaker_session) assert estimator.latest_training_job.job_name == 'neo' assert estimator.py_version == 'py2' + assert estimator.framework_version == '1.4' assert estimator.role == 'arn:aws:iam::366:role/SageMakerRole' assert estimator.train_instance_count == 1 assert estimator.train_max_run == 24 * 60 * 60 @@ -355,7 +443,7 @@ def test_attach(sagemaker_session): def test_attach_wrong_framework(sagemaker_session): returned_job_description = {'AlgorithmSpecification': {'TrainingInputMode': 'File', - 'TrainingImage': '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-cpu:1.0.4'}, + 'TrainingImage': '1.dkr.ecr.us-west-2.amazonaws.com/sagemaker-mxnet-py2-cpu:1.0'}, 'HyperParameters': {'sagemaker_submit_directory': '"s3://some/sourcedir.tar.gz"', 'sagemaker_program': '"iris-dnn-classifier.py"', From 5846fb6b35cb83e6f1f38509339f1d849a0248d0 Mon Sep 17 00:00:00 2001 From: Lauren Yu <6631887+laurenyu@users.noreply.github.com> Date: Tue, 27 Feb 2018 13:10:42 -0800 Subject: [PATCH 14/14] Update changelog for 1.1.0 (#85) --- CHANGELOG.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2fa38e4d50..fc8b4c9882 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,11 @@ CHANGELOG * feature: Estimators: add support for TensorFlow-1.5.0 * feature: Estimators: add support for MXNet-1.0.0 +* feature: Tests: use ``sagemaker_timestamp`` when creating endpoint names in integration tests +* feature: Session: print out billable seconds after training completes +* bug-fix: Estimators: fix LinearLearner and add unit tests +* bug-fix: Tests: fix timeouts for PCA async integration test +* feature: Predictors: allow ``predictor.predict()`` in the JSON serializer to accept dictionaries 1.0.4 ===== @@ -24,6 +29,7 @@ CHANGELOG * feature: Hyperparameters: add data_type to hyperparameters * feature: Documentation: update TensorFlow examples following API change * feature: Session: support multi-part uploads +* feature: add new SageMaker CLI 1.0.2 @@ -51,4 +57,3 @@ CHANGELOG ===== * Initial commit -