From 0daaec6198536e22dd53f02599ff2490aa036294 Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Fri, 4 Mar 2022 16:31:51 +0800 Subject: [PATCH 1/8] add eges model --- .github/workflows/ci.yml | 34 +-- easy_rec/python/compat/early_stopping.py | 3 +- .../compat/feature_column/feature_column.py | 13 +- easy_rec/python/core/sampler.py | 43 +--- .../python/feature_column/feature_column.py | 4 +- easy_rec/python/inference/vector_retrieve.py | 2 +- easy_rec/python/input/csv_input.py | 1 + easy_rec/python/input/graph_input.py | 236 ++++++++++++++++++ easy_rec/python/input/hive_input.py | 17 +- easy_rec/python/input/input.py | 4 +- easy_rec/python/layers/input_layer.py | 33 ++- easy_rec/python/main.py | 38 +-- easy_rec/python/model/deepfm.py | 3 +- easy_rec/python/model/easy_rec_estimator.py | 1 + easy_rec/python/model/easy_rec_model.py | 3 +- easy_rec/python/model/eges.py | 108 ++++++++ easy_rec/python/model/wide_and_deep.py | 3 +- easy_rec/python/protos/data_source.proto | 5 + easy_rec/python/protos/dataset.proto | 8 + easy_rec/python/protos/easy_rec_model.proto | 8 +- easy_rec/python/protos/eges.proto | 10 + easy_rec/python/protos/pipeline.proto | 19 +- easy_rec/python/test/hive_input_test.py | 64 ++--- easy_rec/python/utils/graph_utils.py | 56 +++++ easy_rec/python/utils/pai_util.py | 9 + pai_jobs/run.py | 4 + .../emr_script/mmoe/mmoe_census_income.config | 2 +- samples/model_config/eges_on_taobao.config | 129 ++++++++++ 28 files changed, 711 insertions(+), 149 deletions(-) create mode 100644 easy_rec/python/input/graph_input.py create mode 100644 easy_rec/python/model/eges.py create mode 100644 easy_rec/python/protos/eges.proto create mode 100644 easy_rec/python/utils/graph_utils.py create mode 100644 samples/model_config/eges_on_taobao.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8dc01a6e9..4d48134ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,39 +52,39 @@ jobs: var pass_label = null; if (labels != null) { pass_label = labels.find(label=>label.name=='ci_test_passed'); - } - + } + var fail_label = null; if (labels != null) { fail_label = labels.find(label=>label.name=='ci_test_failed'); - } - + } + if (pass_label) { github.rest.issues.removeLabel({ issue_number: context.issue.number, owner: context.repo.owner, - repo: context.repo.repo, + repo: context.repo.repo, name: 'ci_test_passed' - }) - } - + }) + } + if (fail_label) { github.rest.issues.removeLabel({ issue_number: context.issue.number, owner: context.repo.owner, - repo: context.repo.repo, + repo: context.repo.repo, name: 'ci_test_failed' - }) - } - - if (CI_TEST_PASSED == 1) { + }) + } + + if (CI_TEST_PASSED == 1) { github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, - repo: context.repo.repo, + repo: context.repo.repo, labels: ['ci_test_passed'] }) - + github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, @@ -95,10 +95,10 @@ jobs: github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, - repo: context.repo.repo, + repo: context.repo.repo, labels: ['ci_test_failed'] }) - + github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, diff --git a/easy_rec/python/compat/early_stopping.py b/easy_rec/python/compat/early_stopping.py index d68ee618a..a4f9092d9 100644 --- a/easy_rec/python/compat/early_stopping.py +++ b/easy_rec/python/compat/early_stopping.py @@ -299,7 +299,8 @@ def custom_early_stop_hook(estimator, if eval_dir is None: eval_dir = estimator.eval_dir() - if isinstance(custom_stop_func, str) or isinstance(custom_stop_func, unicode): + if isinstance(custom_stop_func, str) or isinstance(custom_stop_func, + type(u'')): custom_stop_func = load_by_path(custom_stop_func) def _custom_stop_fn(): diff --git a/easy_rec/python/compat/feature_column/feature_column.py b/easy_rec/python/compat/feature_column/feature_column.py index fbadcf2d8..172173dc4 100644 --- a/easy_rec/python/compat/feature_column/feature_column.py +++ b/easy_rec/python/compat/feature_column/feature_column.py @@ -228,8 +228,12 @@ def _get_logits(): # pylint: disable=missing-docstring if from_template: return _get_logits() else: + reuse = None if scope is None else variable_scope.AUTO_REUSE with variable_scope.variable_scope( - scope, default_name='input_layer', values=features.values()): + scope, + default_name='input_layer', + values=features.values(), + reuse=reuse): return _get_logits() @@ -239,7 +243,8 @@ def input_layer(features, trainable=True, cols_to_vars=None, cols_to_output_tensors=None, - feature_name_to_output_tensors=None): + feature_name_to_output_tensors=None, + scope=None): """Returns a dense `Tensor` as input layer based on given `feature_columns`. Generally a single example in training data is described with FeatureColumns. @@ -287,6 +292,7 @@ def input_layer(features, cols_to_output_tensors: If not `None`, must be a dictionary that will be filled with a mapping from '_FeatureColumn' to the associated output `Tensor`s. + scope: variable scope. Returns: A `Tensor` which represents input layer of a model. Its shape @@ -303,7 +309,8 @@ def input_layer(features, trainable=trainable, cols_to_vars=cols_to_vars, cols_to_output_tensors=cols_to_output_tensors, - feature_name_to_output_tensors=feature_name_to_output_tensors) + feature_name_to_output_tensors=feature_name_to_output_tensors, + scope=scope) # TODO(akshayka): InputLayer should be a subclass of Layer, and it diff --git a/easy_rec/python/core/sampler.py b/easy_rec/python/core/sampler.py index ca3a8f15d..2d7bc1d2a 100644 --- a/easy_rec/python/core/sampler.py +++ b/easy_rec/python/core/sampler.py @@ -3,7 +3,6 @@ from __future__ import division from __future__ import print_function -import json import logging import math import os @@ -13,6 +12,7 @@ import tensorflow as tf from easy_rec.python.protos.dataset_pb2 import DatasetConfig +from easy_rec.python.utils import graph_utils try: import graphlearn as gl @@ -76,46 +76,7 @@ def __init__(self, fields, num_sample, num_eval_sample=None): self._build_field_types(fields) def _init_graph(self): - if 'TF_CONFIG' in os.environ: - tf_config = json.loads(os.environ['TF_CONFIG']) - if 'ps' in tf_config['cluster']: - # ps mode - tf_config = json.loads(os.environ['TF_CONFIG']) - ps_count = len(tf_config['cluster']['ps']) - task_count = len(tf_config['cluster']['worker']) + 2 - cluster = {'server_count': ps_count, 'client_count': task_count} - if tf_config['task']['type'] in ['chief', 'master']: - self._g.init(cluster=cluster, job_name='client', task_index=0) - elif tf_config['task']['type'] == 'worker': - self._g.init( - cluster=cluster, - job_name='client', - task_index=tf_config['task']['index'] + 2) - # TODO(hongsheng.jhs): check cluster has evaluator or not? - elif tf_config['task']['type'] == 'evaluator': - self._g.init( - cluster=cluster, - job_name='client', - task_index=tf_config['task']['index'] + 1) - if self._num_eval_sample is not None and self._num_eval_sample > 0: - self._num_sample = self._num_eval_sample - elif tf_config['task']['type'] == 'ps': - self._g.init( - cluster=cluster, - job_name='server', - task_index=tf_config['task']['index']) - else: - # worker mode - task_count = len(tf_config['cluster']['worker']) + 1 - if tf_config['task']['type'] in ['chief', 'master']: - self._g.init(task_index=0, task_count=task_count) - elif tf_config['task']['type'] == 'worker': - self._g.init( - task_index=tf_config['task']['index'] + 1, task_count=task_count) - # TODO(hongsheng.jhs): check cluster has evaluator or not? - else: - # local mode - self._g.init() + graph_utils.graph_init(self._g, os.environ.get('TF_CONFIG', None)) def _build_field_types(self, fields): self._attr_names = [] diff --git a/easy_rec/python/feature_column/feature_column.py b/easy_rec/python/feature_column/feature_column.py index 5a208591c..811746241 100644 --- a/easy_rec/python/feature_column/feature_column.py +++ b/easy_rec/python/feature_column/feature_column.py @@ -377,8 +377,8 @@ def parse_sequence_feature(self, config): Args: config: instance of easy_rec.python.protos.feature_config_pb2.FeatureConfig """ - feature_name = config.feature_name if config.HasField('feature_name') \ - else config.input_names[0] + feature_name = config.feature_name if config.HasField( # noqa: F841 + 'feature_name') else config.input_names[0] if config.HasField('hash_bucket_size'): hash_bucket_size = config.hash_bucket_size fc = sequence_feature_column.sequence_categorical_column_with_hash_bucket( diff --git a/easy_rec/python/inference/vector_retrieve.py b/easy_rec/python/inference/vector_retrieve.py index 4baca38db..e9d1a5f40 100644 --- a/easy_rec/python/inference/vector_retrieve.py +++ b/easy_rec/python/inference/vector_retrieve.py @@ -13,7 +13,7 @@ try: import graphlearn as gl -except: +except ModuleNotFoundError: logging.WARN( 'GraphLearn is not installed. You can install it by "pip install https://easyrec.oss-cn-beijing.aliyuncs.com/3rdparty/graphlearn-0.7-cp27-cp27mu-linux_x86_64.whl.' # noqa: E501 ) diff --git a/easy_rec/python/input/csv_input.py b/easy_rec/python/input/csv_input.py index 50ecb668a..92fd29109 100644 --- a/easy_rec/python/input/csv_input.py +++ b/easy_rec/python/input/csv_input.py @@ -24,6 +24,7 @@ def __init__(self, super(CSVInput, self).__init__(data_config, feature_config, input_path, task_index, task_num) self._with_header = data_config.with_header + # only for csv file with headers self._field_names = None def _parse_csv(self, line): diff --git a/easy_rec/python/input/graph_input.py b/easy_rec/python/input/graph_input.py new file mode 100644 index 000000000..4c751b7f1 --- /dev/null +++ b/easy_rec/python/input/graph_input.py @@ -0,0 +1,236 @@ +# -*- encoding:utf-8 -*- +# Copyright (c) Alibaba, Inc. and its affiliates. +import logging +import os +import sys + +import numpy as np +import tensorflow as tf + +from easy_rec.python.core import sampler +from easy_rec.python.input.input import Input +from easy_rec.python.utils import graph_utils + +try: + import graphlearn as gl +except ModuleNotFoundError: + logging.error( + 'GraphLearn is not installed. You can install it by "pip install https://easyrec.oss-cn-beijing.aliyuncs.com/3rdparty/graphlearn-0.7-cp27-cp27mu-linux_x86_64.whl"' # noqa: E501 + ) + sys.exit(1) + +if tf.__version__ >= '2.0': + tf = tf.compat.v1 + + +class GraphInput(Input): + + node_type = 'item' + edge_type = 'relation' + + graph = None + + def __init__(self, + data_config, + feature_configs, + input_path, + task_index=0, + task_num=1): + super(GraphInput, self).__init__(data_config, feature_configs, input_path, + task_index, task_num) + self._model = None + self._build_field_types() + # build item co-occurance graph, the weight is co-occurance frequency + if input_path: + if GraphInput.graph is None: + GraphInput.graph = gl.Graph().node( + str(input_path.node_inputs[0]), + node_type=GraphInput.node_type, + decoder=gl.Decoder( + attr_types=self._attr_gl_types, + weighted=True, + attr_delimiter=',')).edge( + str(input_path.edge_inputs[0]), + edge_type=(GraphInput.node_type, GraphInput.node_type, + GraphInput.edge_type), + decoder=gl.Decoder(weighted=True), + directed=False) + graph_utils.graph_init(GraphInput.graph, + os.environ.get('TF_CONFIG', None)) + self._walk_len = self._data_config.graph_walk.walk_len + self._window_size = self._data_config.graph_walk.window_size + self._negative_num = self._data_config.graph_walk.negative_num + logging.info('walk_len=%d window_size=%d negative_num=%d' % + (self._walk_len, self._window_size, self._negative_num)) + + def _build_field_types(self): + self._attr_names = [] + self._attr_types = [] + self._attr_gl_types = [] + self._attr_np_types = [] + self._attr_tf_types = [] + for field_name, field_type in zip(self._input_fields, + self._input_field_types): + self._attr_names.append(field_name) + self._attr_types.append(field_type) + self._attr_gl_types.append(sampler._get_gl_type(field_type)) + self._attr_np_types.append(sampler._get_np_type(field_type)) + self._attr_tf_types.append(sampler._get_tf_type(field_type)) + + def _parse_nodes(self, nodes): + features = [] + int_idx = 0 + float_idx = 0 + string_idx = 0 + + for attr_gl_type, attr_np_type in zip(self._attr_gl_types, + self._attr_np_types): + if attr_gl_type == 'int': + if len(nodes.shape) == 1: + feature = nodes.int_attrs[:, int_idx] + elif len(nodes.shape) == 2: + feature = nodes.int_attrs[:, :, int_idx] + int_idx += 1 + elif attr_gl_type == 'float': + if len(nodes.shape) == 1: + feature = nodes.float_attrs[:, float_idx] + elif len(nodes.shape) == 2: + feature = nodes.float_attrs[:, :, float_idx] + float_idx += 1 + elif attr_gl_type == 'string': + if len(nodes.shape) == 1: + feature = nodes.string_attrs[:, string_idx] + elif len(nodes.shape) == 2: + feature = nodes.string_attrs[:, :, string_idx] + string_idx += 1 + else: + raise ValueError('Unknown attr type %s' % attr_gl_type) + feature = np.reshape(feature, [-1]).astype(attr_np_type) + if attr_gl_type == 'string': + feature = np.asarray(feature, order='C', dtype=object) + features.append(feature) + return features + + def _parse_sparse_nodes(self, nodes): + features = [] + int_idx = 0 + float_idx = 0 + string_idx = 0 + for attr_gl_type, attr_np_type in zip(self._attr_gl_types, + self._attr_np_types): + if attr_gl_type == 'int': + feature = nodes.int_attrs[:, int_idx] + int_idx += 1 + elif attr_gl_type == 'float': + feature = nodes.float_attrs[:, float_idx] + float_idx += 1 + elif attr_gl_type == 'string': + feature = nodes.string_attrs[:, string_idx] + string_idx += 1 + else: + raise ValueError('Unknown attr type %s' % attr_gl_type) + feature = feature.astype(attr_np_type) + features.append(feature) + return features, nodes.indices + + def _sample_generator(self): + epoch_id = 0 + while self.num_epochs is None or epoch_id < self.num_epochs: + try: + # sample start nodes + if self._mode == tf.estimator.ModeKeys.TRAIN: + start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( + self._data_config.batch_size).values().next() + else: + start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( + self._data_config.batch_size).values().next() + # sample paths + paths = GraphInput.graph.V( + GraphInput.node_type, feed=start_nodes).repeat( + lambda v: v.outV(GraphInput.edge_type).sample(1).by('random'), + self._walk_len - + 1).emit(lambda x: + [x[i].ids.reshape([-1]) for i in range(self._walk_len)]) + # build positive pairs + src_ids, dst_ids = gl.gen_pair(paths, self._window_size, + self._window_size) + + src_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, src_ids) + dst_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, dst_ids) + + # negative sample + neg_nodes = GraphInput.graph.V( + GraphInput.node_type, + feed=src_nodes).outNeg(GraphInput.edge_type).sample( + self._negative_num).by('random').emit(lambda x: x[1]) + + src_node_fea_arr = self._parse_nodes(src_nodes) + dst_node_fea_arr = self._parse_nodes(dst_nodes) + neg_node_fea_arr = self._parse_nodes(neg_nodes) + + yield tuple(src_node_fea_arr + dst_node_fea_arr + neg_node_fea_arr) + except gl.OutOfRangeError: + if self._mode != tf.estimator.ModeKeys.TRAIN: + break + epoch_id += 1 + + def _to_fea_dict(self, *features): + fea_num = len(self._input_fields) + assert fea_num * 3 == len(features) + fea_dict_groups = {'src_fea': {}, 'positive_fea': {}, 'negative_fea': {}} + for fid, fea in enumerate(features[:fea_num]): + fea_dict_groups['src_fea'][self._input_fields[fid]] = fea + for fid, fea in enumerate(features[fea_num:(fea_num * 2)]): + fea_dict_groups['positive_fea'][self._input_fields[fid]] = fea + for fid, fea in enumerate(features[(fea_num * 2):]): + fea_dict_groups['negative_fea'][self._input_fields[fid]] = fea + return fea_dict_groups + + def _group_preprocess(self, field_dict_groups): + for g in field_dict_groups: + field_dict_groups[g] = self._preprocess(field_dict_groups[g]) + return field_dict_groups + + def _get_labels(self, field_dict): + return { + 'positive_fea': field_dict['positive_fea'], + 'negative_fea': field_dict['negative_fea'] + } + + def _get_features(self, field_dict_groups): + return field_dict_groups['src_fea'] + + def _build(self, mode, params): + """Build graph dataset input for estimator. + + Args: + mode: tf.estimator.ModeKeys.(TRAIN, EVAL, PREDICT) + params: `dict` of hyper parameters, from Estimator + + Return: + dataset: dataset for graph models. + """ + self._mode = mode + # get input type + list_type = [self.get_tf_type(x) for x in self._input_field_types] + list_type = tuple(list_type) + list_shapes = [tf.TensorShape([None]) for x in range(0, len(list_type))] + list_shapes = tuple(list_shapes) + dataset = tf.data.Dataset.from_generator( + self._sample_generator, + output_types=list_type * 3, + output_shapes=list_shapes * 3) + + # transform list to feature dict + dataset = dataset.map(map_func=self._to_fea_dict) + + dataset = dataset.map( + map_func=self._group_preprocess, + num_parallel_calls=self._data_config.num_parallel_calls) + dataset = dataset.prefetch(buffer_size=self._prefetch_size) + if mode != tf.estimator.ModeKeys.PREDICT: + dataset = dataset.map(lambda x: + (self._get_features(x), self._get_labels(x))) + else: + dataset = dataset.map(lambda x: (self._get_features(x))) + return dataset diff --git a/easy_rec/python/input/hive_input.py b/easy_rec/python/input/hive_input.py index e4a978e74..094a182b2 100644 --- a/easy_rec/python/input/hive_input.py +++ b/easy_rec/python/input/hive_input.py @@ -4,11 +4,15 @@ import numpy as np import tensorflow as tf -from pyhive import hive from easy_rec.python.input.input import Input from easy_rec.python.utils import odps_util +try: + from pyhive import hive +except ModuleNotFoundError: + logging.warning('pyhive is not installed.') + class TableInfo(object): @@ -42,7 +46,9 @@ def gen_sql(self): sql = """select {} from {}""".format(self.selected_cols, self.tablename) assert self.hash_fields is not None, 'hash_fields must not be empty' - fields = ['cast({} as string)'.format(key) for key in self.hash_fields.split(',')] + fields = [ + 'cast({} as string)'.format(key) for key in self.hash_fields.split(',') + ] str_fields = ','.join(fields) if not part: sql += """ @@ -59,12 +65,7 @@ def gen_sql(self): class HiveManager(object): - def __init__(self, - host, - port, - username, - info, - database='default'): + def __init__(self, host, port, username, info, database='default'): self.host = host self.port = port self.username = username diff --git a/easy_rec/python/input/input.py b/easy_rec/python/input/input.py index dd7c216b6..edaff947b 100644 --- a/easy_rec/python/input/input.py +++ b/easy_rec/python/input/input.py @@ -561,8 +561,8 @@ def _input_fn(mode=None, params=None, config=None): Args: mode: tf.estimator.ModeKeys.(TRAIN, EVAL, PREDICT) - params: `dict` of hyper parameters, from Estimator - config: tf.estimator.RunConfig instance + params: `dict` of hyper parameters, from Estimator + config: tf.estimator.RunConfig instance Return: if mode is not None, return: diff --git a/easy_rec/python/layers/input_layer.py b/easy_rec/python/layers/input_layer.py index 3085adc7a..fe76ab513 100644 --- a/easy_rec/python/layers/input_layer.py +++ b/easy_rec/python/layers/input_layer.py @@ -3,6 +3,7 @@ import logging import tensorflow as tf +from tensorflow.python.ops import variable_scope from easy_rec.python.compat import regularizers from easy_rec.python.compat.feature_column import feature_column @@ -34,7 +35,22 @@ def __init__(self, use_embedding_variable=False, embedding_regularizer=None, kernel_regularizer=None, - is_training=False): + is_training=False, + group_as_scope=False): + """Build an input_layer to generate features specified by feature_configs. + + Args: + feature_configs: feature_config.features in pipeline.config. + feature_groups_config: feature_groups defined in model_config. + variational_dropout_config: for variational dropout. + wide_output_dim: for wide_and_deep and deepfm models, the wide part generates embedding. + use_embedding_variable: whether to use sparse embedding(kv indexed). + embedding_regularizer: regularization loss over the embedding_lookup results. + kernel_regularizer: regularization loss over dnn kernel parameters. + is_training: true if train phase, otherwise false. + group_as_scope: use group name as variable scope name to ensure embedding + sharing between different feature groups. + """ self._feature_groups = { x.group_name: FeatureGroup(x) for x in feature_groups_config } @@ -63,6 +79,7 @@ def __init__(self, self._kernel_regularizer = kernel_regularizer self._is_training = is_training self._variational_dropout_config = variational_dropout_config + self._group_as_scope = group_as_scope def has_group(self, group_name): return group_name in self._feature_groups @@ -187,18 +204,22 @@ def single_call_input_layer(self, feature_group = self._feature_groups[group_name] group_columns, group_seq_columns = feature_group.select_columns( self._fc_parser) + scope_name = group_name if self._group_as_scope else None + reuse = variable_scope.AUTO_REUSE if self._group_as_scope else None if is_combine: cols_to_output_tensors = {} output_features = feature_column.input_layer( features, group_columns, cols_to_output_tensors=cols_to_output_tensors, - feature_name_to_output_tensors=feature_name_to_output_tensors) + feature_name_to_output_tensors=feature_name_to_output_tensors, + scope=scope_name) embedding_reg_lst = [output_features] builder = feature_column._LazyBuilder(features) seq_features = [] for column in sorted(group_seq_columns, key=lambda x: x.name): - with tf.variable_scope(None, default_name=column._var_scope_name): + with variable_scope.variable_scope( + scope_name + '/' + column._var_scope_name, reuse=reuse): seq_feature, seq_len = column._get_sequence_dense_tensor(builder) embedding_reg_lst.append(seq_feature) @@ -231,7 +252,8 @@ def single_call_input_layer(self, seq_features.append(cnn_feature) cols_to_output_tensors[column] = cnn_feature else: - raise NotImplementedError + raise NotImplementedError('unknown sequence combiner type: %s' % + sequence_combiner.WhichOneof('combiner')) if self._variational_dropout_config is not None: features_dimension = [ cols_to_output_tensors[x].get_shape()[-1] for x in group_columns @@ -257,7 +279,8 @@ def single_call_input_layer(self, seq_features = [] embedding_reg_lst = [] for fc in group_seq_columns: - with tf.variable_scope('input_layer/' + fc.categorical_column.name): + with variable_scope.variable_scope( + scope_name + '/' + fc._var_scope_name, reuse=reuse): tmp_embedding, tmp_seq_len = fc._get_sequence_dense_tensor(builder) seq_features.append((tmp_embedding, tmp_seq_len)) embedding_reg_lst.append(tmp_embedding) diff --git a/easy_rec/python/main.py b/easy_rec/python/main.py index c30111c40..b85a55b0b 100644 --- a/easy_rec/python/main.py +++ b/easy_rec/python/main.py @@ -240,29 +240,15 @@ def train_and_evaluate(pipeline_config_path, continue_train=False): return pipeline_config -def _get_input_object_by_name(pipeline_config, worker_type): - """" - get object by worker type +def _get_input_object_by_task_type(pipeline_config, task_type): + """Get subclass input by task type. - pipeline_config: pipeline_config - worker_type: train or eval + pipeline_config: pipeline_config + task_type: train or eval """ - input_type = "{}_path".format(worker_type) + input_type = '{}_path'.format(task_type) input_name = pipeline_config.WhichOneof(input_type) - _dict = {"kafka_train_input": pipeline_config.kafka_train_input, - "kafka_eval_input": pipeline_config.kafka_eval_input, - "datahub_train_input": pipeline_config.datahub_train_input, - "datahub_eval_input": pipeline_config.datahub_eval_input, - "hive_train_input": pipeline_config.hive_train_input, - "hive_eval_input": pipeline_config.hive_eval_input - } - if input_name in _dict: - return _dict[input_name] - - if worker_type == "train": - return pipeline_config.train_input_path - else: - return pipeline_config.eval_input_path + return getattr(pipeline_config, input_name) def _train_and_evaluate_impl(pipeline_config, continue_train=False): @@ -278,8 +264,8 @@ def _train_and_evaluate_impl(pipeline_config, continue_train=False): % pipeline_config.train_config.train_distribute) pipeline_config.train_config.sync_replicas = False - train_data = _get_input_object_by_name(pipeline_config, 'train') - eval_data = _get_input_object_by_name(pipeline_config, 'eval') + train_data = _get_input_object_by_task_type(pipeline_config, 'train') + eval_data = _get_input_object_by_task_type(pipeline_config, 'eval') distribution = strategy_builder.build(train_config) estimator, run_config = _create_estimator( @@ -302,7 +288,8 @@ def _train_and_evaluate_impl(pipeline_config, continue_train=False): else: logging.info('train_steps = %d' % train_steps) # create train input - train_input_fn = _get_input_fn(data_config, feature_configs, train_data) + train_input_fn = _get_input_object_by_task_type(data_config, feature_configs, + train_data) # Currently only a single Eval Spec is allowed. train_spec = tf.estimator.TrainSpec( input_fn=train_input_fn, max_steps=train_steps) @@ -350,10 +337,7 @@ def evaluate(pipeline_config, pipeline_config.eval_input_path = eval_data_path train_config = pipeline_config.train_config - if pipeline_config.WhichOneof('eval_path') == 'kafka_eval_input': - eval_data = pipeline_config.kafka_eval_input - else: - eval_data = pipeline_config.eval_input_path + eval_data = _get_input_object_by_task_type(pipeline_config, 'eval') server_target = None if 'TF_CONFIG' in os.environ: diff --git a/easy_rec/python/model/deepfm.py b/easy_rec/python/model/deepfm.py index 8734de8d5..f1e4fdc7b 100644 --- a/easy_rec/python/model/deepfm.py +++ b/easy_rec/python/model/deepfm.py @@ -49,7 +49,8 @@ def build_input_layer(self, model_config, feature_configs): wide_output_dim=model_config.deepfm.wide_output_dim, use_embedding_variable=model_config.use_embedding_variable, embedding_regularizer=self._emb_reg, - kernel_regularizer=self._l2_reg) + kernel_regularizer=self._l2_reg, + group_as_scope=model_config.group_as_scope) def build_predict_graph(self): # Wide diff --git a/easy_rec/python/model/easy_rec_estimator.py b/easy_rec/python/model/easy_rec_estimator.py index b64c04f06..3e125a9c1 100644 --- a/easy_rec/python/model/easy_rec_estimator.py +++ b/easy_rec/python/model/easy_rec_estimator.py @@ -75,6 +75,7 @@ def _train_model_fn(self, features, labels, run_config): is_training=True) predict_dict = model.build_predict_graph() loss_dict = model.build_loss_graph() + assert loss_dict is not None, 'loss_dict should be returned by build_loss_graph' regularization_losses = tf.get_collection( tf.GraphKeys.REGULARIZATION_LOSSES) diff --git a/easy_rec/python/model/easy_rec_model.py b/easy_rec/python/model/easy_rec_model.py index 7ea15a564..b27996354 100644 --- a/easy_rec/python/model/easy_rec_model.py +++ b/easy_rec/python/model/easy_rec_model.py @@ -85,7 +85,8 @@ def build_input_layer(self, model_config, feature_configs): kernel_regularizer=self._l2_reg, variational_dropout_config=model_config.variational_dropout if model_config.HasField('variational_dropout') else None, - is_training=False) + is_training=False, + group_as_scope=model_config.group_as_scope) @abstractmethod def build_predict_graph(self): diff --git a/easy_rec/python/model/eges.py b/easy_rec/python/model/eges.py new file mode 100644 index 000000000..5a466e294 --- /dev/null +++ b/easy_rec/python/model/eges.py @@ -0,0 +1,108 @@ +# -*- encoding:utf-8 -*- +# Copyright (c) Alibaba, Inc. and its affiliates. +import logging + +import tensorflow as tf + +from easy_rec.python.layers import dnn +from easy_rec.python.model.easy_rec_model import EasyRecModel + +from easy_rec.python.protos.eges_pb2 import EGES as EGESConfig # NOQA + +if tf.__version__ >= '2.0': + tf = tf.compat.v1 + + +class EGES(EasyRecModel): + + def __init__(self, + model_config, + feature_configs, + features, + labels=None, + is_training=False): + super(EGES, self).__init__(model_config, feature_configs, features, labels, + is_training) + self._model_config = model_config.eges + assert isinstance(self._model_config, EGESConfig) + self._group_name = 'item' + assert self._input_layer.has_group( + self._group_name), 'group[%s] is not specified' % self._group_name + + if labels is not None: + self._positive_features = labels['positive_fea'] + self._negative_features = labels['negative_fea'] + self._src_features = features + self._positive_embedding, _ = self._input_layer(self._positive_features, + self._group_name) + self._negative_embedding, _ = self._input_layer(self._negative_features, + self._group_name) + self._src_embedding, _ = self._input_layer(self._src_features, + self._group_name) + else: + self._src_embedding, _ = self._input_layer(features, self._group_name) + self._negative_embedding = None + self._positive_embedding = None + + def build_predict_graph(self): + if self._negative_embedding is None: + logging.info('build predict item embedding graph.') + src_embedding = tf.layers.batch_normalization( + self._src_embedding, + training=self._is_training, + trainable=True, + name='%s_fea_bn' % self._group_name) + dnn_layer = dnn.DNN(self._model_config.dnn, self._l2_reg, 'dnn', + self._is_training) + src_embedding = dnn_layer(src_embedding) + self._prediction_dict['item_embedding'] = src_embedding + return self._prediction_dict + + all_embedding = tf.concat([ + self._src_embedding, self._positive_embedding, self._negative_embedding + ], + axis=0) # noqa: E126 + all_embedding = tf.layers.batch_normalization( + all_embedding, + training=self._is_training, + trainable=True, + name='%s_fea_bn' % self._group_name) + batch_size = tf.shape(self._src_embedding)[0] + src_embedding = all_embedding[:batch_size] + pos_embedding = all_embedding[batch_size:(batch_size * 2)] + neg_embedding = all_embedding[(batch_size * 2):] + tf.summary.scalar('actual_batch_size', tf.shape(src_embedding)[0]) + tf.summary.histogram('src_fea', src_embedding) + tf.summary.histogram('neg_fea', neg_embedding) + tf.summary.histogram('pos_fea', pos_embedding) + dnn_layer = dnn.DNN(self._model_config.dnn, self._l2_reg, 'dnn', + self._is_training) + all_embedding = dnn_layer(all_embedding) + + embed_dim = all_embedding.get_shape()[-1] + src_embedding = all_embedding[:batch_size] + pos_embedding = all_embedding[batch_size:(batch_size * 2)] + neg_embedding = all_embedding[(batch_size * 2):] + neg_embedding = tf.reshape(neg_embedding, [batch_size, -1, embed_dim]) + target_embedding = tf.concat([pos_embedding[:, None, :], neg_embedding], + axis=1) + + self._prediction_dict['item_embedding'] = src_embedding + self._prediction_dict['target_embedding'] = target_embedding + return self._prediction_dict + + def build_loss_graph(self): + src_embedding = self._prediction_dict['item_embedding'] + target_embedding = self._prediction_dict['target_embedding'] + logits = tf.einsum('be,bne->bn', src_embedding, target_embedding) + batch_size = tf.shape(src_embedding)[0] + labels = tf.zeros([batch_size], dtype=tf.int32) + loss = tf.nn.sparse_softmax_cross_entropy_with_logits( + labels=labels, logits=logits) + return {'cross_entropy': tf.reduce_mean(loss)} + + def build_metric_graph(self, eval_config): + return {} + + def get_outputs(self): + return ['item_embedding'] diff --git a/easy_rec/python/model/wide_and_deep.py b/easy_rec/python/model/wide_and_deep.py index 119af575c..b26989d90 100755 --- a/easy_rec/python/model/wide_and_deep.py +++ b/easy_rec/python/model/wide_and_deep.py @@ -46,7 +46,8 @@ def build_input_layer(self, model_config, feature_configs): wide_output_dim=wide_output_dim, use_embedding_variable=model_config.use_embedding_variable, embedding_regularizer=self._emb_reg, - kernel_regularizer=self._l2_reg) + kernel_regularizer=self._l2_reg, + group_as_scope=model_config.group_as_scope) def build_predict_graph(self): wide_fea = tf.add_n(self._wide_features) diff --git a/easy_rec/python/protos/data_source.proto b/easy_rec/python/protos/data_source.proto index a05134d12..8edc4ee81 100644 --- a/easy_rec/python/protos/data_source.proto +++ b/easy_rec/python/protos/data_source.proto @@ -18,3 +18,8 @@ message DatahubServer{ required uint32 shard_num = 6; required uint32 life_cycle = 7; } + +message GraphLearnInput { + repeated string node_inputs = 1; + repeated string edge_inputs = 2; +} diff --git a/easy_rec/python/protos/dataset.proto b/easy_rec/python/protos/dataset.proto index 8059af72c..85d07f88e 100644 --- a/easy_rec/python/protos/dataset.proto +++ b/easy_rec/python/protos/dataset.proto @@ -100,6 +100,12 @@ message HardNegativeSamplerV2 { optional uint32 num_eval_sample = 11 [default=0]; } +message GraphWalkConfig { + optional uint32 walk_len = 1 [default=10]; + optional uint32 window_size = 2 [default=5]; + optional uint32 negative_num = 3 [default=10]; +}; + message DatasetConfig { // mini batch size to use for training and evaluation. optional uint32 batch_size = 1 [default = 32]; @@ -178,6 +184,7 @@ message DatasetConfig { DummyInput = 8; KafkaInput = 13; HiveInput = 16; + GraphInput = 17; } required InputType input_type = 10; @@ -247,4 +254,5 @@ message DatasetConfig { HardNegativeSamplerV2 hard_negative_sampler_v2 = 104; } + optional GraphWalkConfig graph_walk = 26; } diff --git a/easy_rec/python/protos/easy_rec_model.proto b/easy_rec/python/protos/easy_rec_model.proto index 6f8ca590d..70e1318c0 100644 --- a/easy_rec/python/protos/easy_rec_model.proto +++ b/easy_rec/python/protos/easy_rec_model.proto @@ -10,6 +10,8 @@ import "easy_rec/python/protos/feature_config.proto"; import "easy_rec/python/protos/dropoutnet.proto"; import "easy_rec/python/protos/dssm.proto"; import "easy_rec/python/protos/collaborative_metric_learning.proto"; +import "easy_rec/python/protos/mind.proto"; +import "easy_rec/python/protos/eges.proto"; import "easy_rec/python/protos/mmoe.proto"; import "easy_rec/python/protos/esmm.proto"; import "easy_rec/python/protos/dbmtl.proto"; @@ -17,7 +19,6 @@ import "easy_rec/python/protos/ple.proto"; import "easy_rec/python/protos/simple_multi_task.proto"; import "easy_rec/python/protos/dcn.proto"; import "easy_rec/python/protos/autoint.proto"; -import "easy_rec/python/protos/mind.proto"; import "easy_rec/python/protos/loss.proto"; import "easy_rec/python/protos/rocket_launching.proto"; import "easy_rec/python/protos/variational_dropout.proto"; @@ -65,6 +66,7 @@ message EasyRecModel { MIND mind = 202; DropoutNet dropoutnet = 203; CoMetricLearningI2I metric_learning = 204; + EGES eges = 205; MMoE mmoe = 301; ESMM esmm = 302; @@ -95,4 +97,8 @@ message EasyRecModel { optional VariationalDropoutLayer variational_dropout = 14; repeated Loss losses = 15; + + // use group_name as scope_name to ensure embedding sharing + // between different feature_groups. + optional bool group_as_scope = 1001 [default=false]; } diff --git a/easy_rec/python/protos/eges.proto b/easy_rec/python/protos/eges.proto new file mode 100644 index 000000000..61409b2f7 --- /dev/null +++ b/easy_rec/python/protos/eges.proto @@ -0,0 +1,10 @@ +syntax = "proto2"; +package protos; + +import "easy_rec/python/protos/dnn.proto"; + +message EGES { + required DNN dnn = 1; + + optional float l2_regularization = 2 [default=0.0]; +} diff --git a/easy_rec/python/protos/pipeline.proto b/easy_rec/python/protos/pipeline.proto index 1a351337b..136e89d38 100644 --- a/easy_rec/python/protos/pipeline.proto +++ b/easy_rec/python/protos/pipeline.proto @@ -14,17 +14,18 @@ import "easy_rec/python/protos/hive_config.proto"; message EasyRecConfig { oneof train_path { - string train_input_path = 1; - KafkaServer kafka_train_input = 2; - DatahubServer datahub_train_input = 12; - HiveConfig hive_train_input = 21; + string train_input_path = 101; + KafkaServer kafka_train_input = 102; + DatahubServer datahub_train_input = 103; + HiveConfig hive_train_input = 104; + GraphLearnInput graph_train_input = 105; } oneof eval_path { - string eval_input_path = 3; - KafkaServer kafka_eval_input = 4; - DatahubServer datahub_eval_input = 13; - HiveConfig hive_eval_input= 22; - + string eval_input_path = 201; + KafkaServer kafka_eval_input = 202; + DatahubServer datahub_eval_input = 203; + HiveConfig hive_eval_input= 204; + GraphLearnInput graph_eval_input = 205; } required string model_dir = 5; diff --git a/easy_rec/python/test/hive_input_test.py b/easy_rec/python/test/hive_input_test.py index 07d219c11..95cafe22b 100644 --- a/easy_rec/python/test/hive_input_test.py +++ b/easy_rec/python/test/hive_input_test.py @@ -1,20 +1,24 @@ # -*- encoding:utf-8 -*- # Copyright (c) Alibaba, Inc. and its affiliates. """Define cv_input, the base class for cv tasks.""" -import tensorflow as tf +import logging +import os import unittest + +import tensorflow as tf +from google.protobuf import text_format + from easy_rec.python.input.hive_input import HiveInput from easy_rec.python.protos.dataset_pb2 import DatasetConfig +from easy_rec.python.protos.feature_config_pb2 import FeatureConfig +from easy_rec.python.protos.hive_config_pb2 import HiveConfig +from easy_rec.python.protos.pipeline_pb2 import EasyRecConfig +from easy_rec.python.utils import config_util from easy_rec.python.utils import test_utils -from easy_rec.python.utils.config_util import * -from easy_rec.python.utils.test_utils import * from easy_rec.python.utils.test_utils import _load_config_for_test -from easy_rec.python.protos.hive_config_pb2 import HiveConfig -import os if tf.__version__ >= '2.0': - #tf = tf.compat.v1 - import tensorflow.compat.v1 as tf + tf = tf.compat.v1 gfile = tf.gfile @@ -28,10 +32,10 @@ class HiveInputTest(tf.test.TestCase): def _init_config(self): - hive_host = os.environ["hive_host"] - hive_username = os.environ["hive_username"] - hive_table_name = os.environ["hive_table_name"] - hive_hash_fields = os.environ["hive_hash_fields"] + hive_host = os.environ['hive_host'] + hive_username = os.environ['hive_username'] + hive_table_name = os.environ['hive_table_name'] + hive_hash_fields = os.environ['hive_hash_fields'] hive_train_input = """ host: "{}" @@ -40,7 +44,7 @@ def _init_config(self): limit_num: 500 hash_fields: "{}" """.format(hive_host, hive_username, hive_table_name, hive_hash_fields) - hive_eval_input =""" + hive_eval_input = """ host: "{}" username: "{}" table_name: "{}" @@ -56,10 +60,11 @@ def _init_config(self): def __init__(self, methodName='HiveInputTest'): super(HiveInputTest, self).__init__(methodName=methodName) - @unittest.skipIf( - 'hive_host' not in os.environ or 'hive_username' not in os.environ or - 'hive_table_name' not in os.environ or 'hive_hash_fields' not in os.environ, - """Only execute hive_config var are specified,hive_host、 + @unittest.skipIf('hive_host' not in os.environ or + 'hive_username' not in os.environ or + 'hive_table_name' not in os.environ or + 'hive_hash_fields' not in os.environ, + """Only execute hive_config var are specified,hive_host、 hive_username、hive_table_name、hive_hash_fields is available.""") def test_hive_input(self): self._init_config() @@ -244,23 +249,24 @@ def test_hive_input(self): feature_dict, label_dict = sess.run([features, labels]) for key in feature_dict: print(key, feature_dict[key][:5]) - + for key in label_dict: print(key, label_dict[key][:5]) return 0 - @unittest.skipIf( - 'hive_host' not in os.environ or 'hive_username' not in os.environ or - 'hive_table_name' not in os.environ or 'hive_hash_fields' not in os.environ, - """Only execute hive_config var are specified,hive_host、 + @unittest.skipIf('hive_host' not in os.environ or + 'hive_username' not in os.environ or + 'hive_table_name' not in os.environ or + 'hive_hash_fields' not in os.environ, + """Only execute hive_config var are specified,hive_host、 hive_username、hive_table_name、hive_hash_fields is available.""") def test_mmoe(self): pipeline_config_path = 'samples/emr_script/mmoe/mmoe_census_income.config' - gpus = get_available_gpus() + gpus = test_utils.get_available_gpus() if len(gpus) > 0: - set_gpu_id(gpus[0]) + test_utils.set_gpu_id(gpus[0]) else: - set_gpu_id(None) + test_utils.set_gpu_id(None) if not isinstance(pipeline_config_path, EasyRecConfig): logging.info('testing pipeline config %s' % pipeline_config_path) @@ -270,7 +276,8 @@ def test_mmoe(self): if isinstance(pipeline_config_path, EasyRecConfig): pipeline_config = pipeline_config_path else: - pipeline_config = _load_config_for_test(pipeline_config_path, self._test_dir) + pipeline_config = _load_config_for_test(pipeline_config_path, + self._test_dir) pipeline_config.train_config.train_distribute = 0 pipeline_config.train_config.num_gpus_per_worker = 1 @@ -278,10 +285,11 @@ def test_mmoe(self): config_util.save_pipeline_config(pipeline_config, self._test_dir) test_pipeline_config_path = os.path.join(self._test_dir, 'pipeline.config') - hyperparam_str = "" + hyperparam_str = '' train_cmd = 'python -m easy_rec.python.train_eval --pipeline_config_path %s %s' % ( - test_pipeline_config_path, hyperparam_str) - proc = run_cmd(train_cmd, '%s/log_%s.txt' % (self._test_dir, 'master')) + test_pipeline_config_path, hyperparam_str) + proc = test_utils.run_cmd(train_cmd, + '%s/log_%s.txt' % (self._test_dir, 'master')) proc.wait() if proc.returncode != 0: logging.error('train %s failed' % test_pipeline_config_path) diff --git a/easy_rec/python/utils/graph_utils.py b/easy_rec/python/utils/graph_utils.py new file mode 100644 index 000000000..0291ea4ac --- /dev/null +++ b/easy_rec/python/utils/graph_utils.py @@ -0,0 +1,56 @@ +# -*- encoding:utf-8 -*- +# Copyright (c) Alibaba, Inc. and its affiliates. +import json +import logging + +from easy_rec.python.utils import pai_util + + +def graph_init(graph, tf_config=None): + if tf_config: + if isinstance(tf_config, str) or isinstance(tf_config, type(u'')): + tf_config = json.loads(tf_config) + if 'ps' in tf_config['cluster']: + # ps mode + ps_count = len(tf_config['cluster']['ps']) + evaluator_cnt = 1 if pai_util.has_evaluator() else 0 + if evaluator_cnt == 0: + logging.warning( + 'evaluator is not set as an client in GraphLearn,' + 'if you actually set evaluator in TF_CONFIG, please do: export' + ' HAS_EVALUATOR=1.') + task_count = len(tf_config['cluster']['worker']) + 1 + evaluator_cnt + cluster = { + 'server_count': ps_count, + 'client_count': task_count, + 'tracker': 'graph_test_tracker/' + } + if tf_config['task']['type'] in ['chief', 'master']: + graph.init(cluster=cluster, job_name='client', task_index=0) + elif tf_config['task']['type'] == 'worker': + graph.init( + cluster=cluster, + job_name='client', + task_index=tf_config['task']['index'] + 1 + evaluator_cnt) + elif tf_config['task']['type'] == 'evaluator': + graph.init( + cluster=cluster, + job_name='client', + task_index=tf_config['task']['index'] + 1) + elif tf_config['task']['type'] == 'ps': + graph.init( + cluster=cluster, + job_name='server', + task_index=tf_config['task']['index']) + else: + # worker mode + task_count = len(tf_config['cluster']['worker']) + 1 + if tf_config['task']['type'] in ['chief', 'master']: + graph.init(task_index=0, task_count=task_count) + elif tf_config['task']['type'] == 'worker': + graph.init( + task_index=tf_config['task']['index'] + evaluator_cnt, + task_count=task_count) + else: + # local mode + graph.init() diff --git a/easy_rec/python/utils/pai_util.py b/easy_rec/python/utils/pai_util.py index de7ce99aa..c4ddbe7c2 100644 --- a/easy_rec/python/utils/pai_util.py +++ b/easy_rec/python/utils/pai_util.py @@ -26,6 +26,15 @@ def set_on_pai(): os.environ['IS_ON_PAI'] = '1' +def set_has_evaluator(): + logging.info('set environment variable: HAS_EVALUATOR') + os.environ['HAS_EVALUATOR'] = '1' + + +def has_evaluator(): + return 'HAS_EVALUATOR' in os.environ + + def download(url): _, fname = os.path.split(url) request = Request(url=url) diff --git a/pai_jobs/run.py b/pai_jobs/run.py index 163eecc72..121dba427 100644 --- a/pai_jobs/run.py +++ b/pai_jobs/run.py @@ -283,6 +283,10 @@ def main(argv): ], 'invalid evalaute_method: %s' % FLAGS.eval_method if FLAGS.with_evaluator: FLAGS.eval_method = 'separate' + + if FLAGS.eval_method == 'separate': + pai_util.set_has_evaluator() + num_worker = set_tf_config_and_get_train_worker_num( FLAGS.ps_hosts, FLAGS.worker_hosts, diff --git a/samples/emr_script/mmoe/mmoe_census_income.config b/samples/emr_script/mmoe/mmoe_census_income.config index a6e820ca7..9201af431 100644 --- a/samples/emr_script/mmoe/mmoe_census_income.config +++ b/samples/emr_script/mmoe/mmoe_census_income.config @@ -564,4 +564,4 @@ feature_configs { embedding_dim: 9 hash_bucket_size: 400 embedding_name: "feature" -} \ No newline at end of file +} diff --git a/samples/model_config/eges_on_taobao.config b/samples/model_config/eges_on_taobao.config new file mode 100644 index 000000000..fbc43a307 --- /dev/null +++ b/samples/model_config/eges_on_taobao.config @@ -0,0 +1,129 @@ +model_dir: "experiments/eges_taobao_ckpt" + +graph_train_input { + node_inputs: 'taobao_data/ad_feature_1.csv' + edge_inputs: 'taobao_data/graph_edges.txt' +} + +graph_eval_input { + node_inputs: 'taobao_data/ad_feature_1.csv' + edge_inputs: 'taobao_data/graph_edges.txt' +} + +train_config { + log_step_count_steps: 100 + optimizer_config: { + adam_optimizer: { + learning_rate: { + constant_learning_rate { + learning_rate: 1e-4 + } + } + } + use_moving_average: false + } + save_checkpoints_steps: 500 + save_summary_steps: 10 + sync_replicas: false + num_steps: 2500 +} + +eval_config { +} + +data_config { + input_fields { + input_name: 'adgroup_id' + input_type: STRING + } + input_fields { + input_name: 'cate_id' + input_type: STRING + } + input_fields { + input_name: 'campaign_id' + input_type: STRING + } + input_fields { + input_name: 'customer' + input_type: STRING + } + input_fields { + input_name: 'brand' + input_type: STRING + } + input_fields { + input_name: 'price' + input_type: DOUBLE + } + + batch_size: 64 + num_epochs: 10 + prefetch_size: 32 + input_type: GraphInput +} + +feature_config: { + features: { + input_names: 'adgroup_id' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'cate_id' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 10000 + } + features: { + input_names: 'campaign_id' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'customer' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'brand' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'price' + feature_type: RawFeature + } +} + +model_config:{ + model_class: "EGES" + + feature_groups: { + group_name: "item" + feature_names: 'adgroup_id' + feature_names: 'cate_id' + feature_names: 'campaign_id' + feature_names: 'customer' + feature_names: 'brand' + feature_names: 'price' + wide_deep:DEEP + } + eges { + dnn { + hidden_units: [256, 128, 64, 32] + } + l2_regularization: 1e-6 + } + loss_type: SOFTMAX_CROSS_ENTROPY + embedding_regularization: 0.0 + + group_as_scope: true +} + +export_config { +} From ec56cb7dbc4d6faa9592bfde5b1681432abcb966 Mon Sep 17 00:00:00 2001 From: weisu Date: Fri, 4 Mar 2022 17:28:18 +0800 Subject: [PATCH 2/8] [feat]: add type convert force for conv1d --- easy_rec/python/layers/common_layers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easy_rec/python/layers/common_layers.py b/easy_rec/python/layers/common_layers.py index 883f2a67c..80ad1496f 100644 --- a/easy_rec/python/layers/common_layers.py +++ b/easy_rec/python/layers/common_layers.py @@ -65,8 +65,8 @@ def text_cnn(x, # conv shape: (batch_size, seq_len - filter_size + 1, num_filters) conv = tf.layers.conv1d( x, - filters=num_filter, - kernel_size=filter_size, + filters=int(num_filter), + kernel_size=int(filter_size), activation=tf.nn.relu, name='conv_layer', reuse=reuse, From 80492af04f5effcd58d4e7466183618a9eb1fa97 Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Fri, 4 Mar 2022 19:38:28 +0800 Subject: [PATCH 3/8] upgrade to new version of graphlearn api. --- .github/workflows/ci.yml | 6 +- easy_rec/python/inference/vector_retrieve.py | 2 +- easy_rec/python/input/graph_input.py | 145 +++++++++++-------- easy_rec/python/input/hive_input.py | 2 +- easy_rec/python/main.py | 3 +- easy_rec/python/test/train_eval_test.py | 4 + samples/model_config/eges_on_taobao.config | 10 +- scripts/ci_test.sh | 6 +- scripts/init.sh | 32 ++++ 9 files changed, 133 insertions(+), 77 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d48134ba..11efa13f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,11 +21,7 @@ jobs: TEST_DEVICES: "" run: | source activate /home/admin/tf12_py2/ - if [ ! -e "/tmp/easyrec_data_20210818.tar.gz" ] - then - wget https://easyrec.oss-cn-beijing.aliyuncs.com/data/easyrec_data_20210818.tar.gz -O /tmp/easyrec_data_20210818.tar.gz - fi - tar -zvxf /tmp/easyrec_data_20210818.tar.gz + source scripts/ci_test.sh - name: LabelAndComment env: diff --git a/easy_rec/python/inference/vector_retrieve.py b/easy_rec/python/inference/vector_retrieve.py index e9d1a5f40..7da123579 100644 --- a/easy_rec/python/inference/vector_retrieve.py +++ b/easy_rec/python/inference/vector_retrieve.py @@ -13,7 +13,7 @@ try: import graphlearn as gl -except ModuleNotFoundError: +except ImportError: logging.WARN( 'GraphLearn is not installed. You can install it by "pip install https://easyrec.oss-cn-beijing.aliyuncs.com/3rdparty/graphlearn-0.7-cp27-cp27mu-linux_x86_64.whl.' # noqa: E501 ) diff --git a/easy_rec/python/input/graph_input.py b/easy_rec/python/input/graph_input.py index 4c751b7f1..30c5b2513 100644 --- a/easy_rec/python/input/graph_input.py +++ b/easy_rec/python/input/graph_input.py @@ -13,7 +13,7 @@ try: import graphlearn as gl -except ModuleNotFoundError: +except ImportError: logging.error( 'GraphLearn is not installed. You can install it by "pip install https://easyrec.oss-cn-beijing.aliyuncs.com/3rdparty/graphlearn-0.7-cp27-cp27mu-linux_x86_64.whl"' # noqa: E501 ) @@ -40,6 +40,13 @@ def __init__(self, task_index, task_num) self._model = None self._build_field_types() + + self._walk_len = self._data_config.graph_walk.walk_len + self._window_size = self._data_config.graph_walk.window_size + self._negative_num = self._data_config.graph_walk.negative_num + logging.info('walk_len=%d window_size=%d negative_num=%d' % + (self._walk_len, self._window_size, self._negative_num)) + # build item co-occurance graph, the weight is co-occurance frequency if input_path: if GraphInput.graph is None: @@ -57,13 +64,14 @@ def __init__(self, directed=False) graph_utils.graph_init(GraphInput.graph, os.environ.get('TF_CONFIG', None)) - self._walk_len = self._data_config.graph_walk.walk_len - self._window_size = self._data_config.graph_walk.window_size - self._negative_num = self._data_config.graph_walk.negative_num - logging.info('walk_len=%d window_size=%d negative_num=%d' % - (self._walk_len, self._window_size, self._negative_num)) + if GraphInput.graph is not None: + self._neg_sampler = GraphInput.graph.negative_sampler( + GraphInput.node_type, + expand_factor=self._negative_num, + strategy='node_weight') def _build_field_types(self): + """Build field types for item features.""" self._attr_names = [] self._attr_types = [] self._attr_gl_types = [] @@ -111,67 +119,80 @@ def _parse_nodes(self, nodes): features.append(feature) return features - def _parse_sparse_nodes(self, nodes): - features = [] - int_idx = 0 - float_idx = 0 - string_idx = 0 - for attr_gl_type, attr_np_type in zip(self._attr_gl_types, - self._attr_np_types): - if attr_gl_type == 'int': - feature = nodes.int_attrs[:, int_idx] - int_idx += 1 - elif attr_gl_type == 'float': - feature = nodes.float_attrs[:, float_idx] - float_idx += 1 - elif attr_gl_type == 'string': - feature = nodes.string_attrs[:, string_idx] - string_idx += 1 - else: - raise ValueError('Unknown attr type %s' % attr_gl_type) - feature = feature.astype(attr_np_type) - features.append(feature) - return features, nodes.indices + def _gen_pair(self, path, left_window_size, right_window_size): + """Generate skip-gram pairs as positive pairs. + + Args: + path: a list of ids start with root node's ids, each element is 1d numpy array + with the same size. + Returns: + a pair of numpy array ids. + + Example: + >>> path = [np.array([1, 2]), np.array([3, 4]), np.array([5, 6])] + >>> left_window_size = right_window_size = 1 + >>> src_id, dst_ids = self._gen_pair(path, left_window_size, right_window_size) + >>> print print(src_ids, dst_ids) + >>> (array([1, 2, 3, 4, 3, 4, 5, 6]), array([3, 4, 1, 2, 5, 6, 3, 4])) + """ + path_len = len(path) + pairs = [[], []] # [src ids list, dst ids list] + + for center_idx in range(path_len): + cursor = 0 + while center_idx - cursor > 0 and cursor < left_window_size: + pairs[0].append(path[center_idx]) + pairs[1].append(path[center_idx - cursor - 1]) + cursor += 1 + + cursor = 0 + while center_idx + cursor + 1 < path_len and cursor < right_window_size: + pairs[0].append(path[center_idx]) + pairs[1].append(path[center_idx + cursor + 1]) + cursor += 1 + return np.concatenate(pairs[0]), np.concatenate(pairs[1]) def _sample_generator(self): epoch_id = 0 while self.num_epochs is None or epoch_id < self.num_epochs: - try: - # sample start nodes - if self._mode == tf.estimator.ModeKeys.TRAIN: - start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( - self._data_config.batch_size).values().next() - else: - start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( - self._data_config.batch_size).values().next() - # sample paths - paths = GraphInput.graph.V( - GraphInput.node_type, feed=start_nodes).repeat( - lambda v: v.outV(GraphInput.edge_type).sample(1).by('random'), - self._walk_len - - 1).emit(lambda x: - [x[i].ids.reshape([-1]) for i in range(self._walk_len)]) - # build positive pairs - src_ids, dst_ids = gl.gen_pair(paths, self._window_size, - self._window_size) - - src_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, src_ids) - dst_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, dst_ids) - - # negative sample - neg_nodes = GraphInput.graph.V( - GraphInput.node_type, - feed=src_nodes).outNeg(GraphInput.edge_type).sample( - self._negative_num).by('random').emit(lambda x: x[1]) - - src_node_fea_arr = self._parse_nodes(src_nodes) - dst_node_fea_arr = self._parse_nodes(dst_nodes) - neg_node_fea_arr = self._parse_nodes(neg_nodes) - - yield tuple(src_node_fea_arr + dst_node_fea_arr + neg_node_fea_arr) - except gl.OutOfRangeError: - if self._mode != tf.estimator.ModeKeys.TRAIN: + # sample start nodes + if self._mode == tf.estimator.ModeKeys.TRAIN: + start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( + self._data_config.batch_size).alias('rand_walk_0') + else: + start_nodes = GraphInput.graph.V(GraphInput.node_type).batch( + self._data_config.batch_size).alias('rand_walk_0') + # sample paths + for i in range(1, self._walk_len): + out_alias = 'rand_walk_%d' % i + start_nodes = start_nodes.outV( + GraphInput.edge_type).sample(1).by('random').alias(out_alias) + + ds = gl.Dataset(start_nodes.values()) + + while True: + try: + paths = ds.next() + paths = [ + paths['rand_walk_%d' % i].ids.reshape([-1]) + for k in range(0, self._walk_len) + ] + # build positive pairs + src_ids, dst_ids = self._gen_pair(paths, self._window_size, + self._window_size) + src_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, src_ids) + dst_nodes = GraphInput.graph.get_nodes(GraphInput.node_type, dst_ids) + neg_nodes = self._neg_sampler.get(dst_ids) + + src_node_fea_arr = self._parse_nodes(src_nodes) + dst_node_fea_arr = self._parse_nodes(dst_nodes) + neg_node_fea_arr = self._parse_nodes(neg_nodes) + + yield tuple(src_node_fea_arr + dst_node_fea_arr + neg_node_fea_arr) + except gl.OutOfRangeError: break + if self._mode != tf.estimator.ModeKeys.TRAIN: + break epoch_id += 1 def _to_fea_dict(self, *features): diff --git a/easy_rec/python/input/hive_input.py b/easy_rec/python/input/hive_input.py index 094a182b2..c96b59391 100644 --- a/easy_rec/python/input/hive_input.py +++ b/easy_rec/python/input/hive_input.py @@ -10,7 +10,7 @@ try: from pyhive import hive -except ModuleNotFoundError: +except ImportError: logging.warning('pyhive is not installed.') diff --git a/easy_rec/python/main.py b/easy_rec/python/main.py index b85a55b0b..14cd1360a 100644 --- a/easy_rec/python/main.py +++ b/easy_rec/python/main.py @@ -288,8 +288,7 @@ def _train_and_evaluate_impl(pipeline_config, continue_train=False): else: logging.info('train_steps = %d' % train_steps) # create train input - train_input_fn = _get_input_object_by_task_type(data_config, feature_configs, - train_data) + train_input_fn = _get_input_fn(data_config, feature_configs, train_data) # Currently only a single Eval Spec is allowed. train_spec = tf.estimator.TrainSpec( input_fn=train_input_fn, max_steps=train_steps) diff --git a/easy_rec/python/test/train_eval_test.py b/easy_rec/python/test/train_eval_test.py index a3bc6fc92..bdc244188 100644 --- a/easy_rec/python/test/train_eval_test.py +++ b/easy_rec/python/test/train_eval_test.py @@ -561,6 +561,10 @@ def test_sequence_fm(self): self._test_dir) self.assertTrue(self._success) + def test_eges(self): + self._success = test_utils.test_single_train_eval( + 'samples/model_config/eges_on_taobao.config', self._test_dir) + def test_sequence_mmoe(self): self._success = test_utils.test_single_train_eval( 'samples/model_config/mmoe_on_sequence_feature_taobao.config', diff --git a/samples/model_config/eges_on_taobao.config b/samples/model_config/eges_on_taobao.config index fbc43a307..777b4a5bd 100644 --- a/samples/model_config/eges_on_taobao.config +++ b/samples/model_config/eges_on_taobao.config @@ -1,13 +1,13 @@ model_dir: "experiments/eges_taobao_ckpt" graph_train_input { - node_inputs: 'taobao_data/ad_feature_1.csv' - edge_inputs: 'taobao_data/graph_edges.txt' + node_inputs: 'data/test/graph/taobao_data/ad_feature_5k.csv' + edge_inputs: 'data/test/graph/taobao_data/graph_edges.txt' } graph_eval_input { - node_inputs: 'taobao_data/ad_feature_1.csv' - edge_inputs: 'taobao_data/graph_edges.txt' + node_inputs: 'data/test/graph/taobao_data/ad_feature_5k.csv' + edge_inputs: 'data/test/graph/taobao_data/graph_edges.txt' } train_config { @@ -58,7 +58,7 @@ data_config { } batch_size: 64 - num_epochs: 10 + num_epochs: 2 prefetch_size: 32 input_type: GraphInput } diff --git a/scripts/ci_test.sh b/scripts/ci_test.sh index 1e6696353..1c06b159c 100755 --- a/scripts/ci_test.sh +++ b/scripts/ci_test.sh @@ -5,7 +5,11 @@ pip install oss2 pip install -r requirements.txt # update/generate proto -bash scripts/gen_proto.sh +bash scripts/init.sh +if [ $? -ne 0 ] +then + exit 1 +fi export CUDA_VISIBLE_DEVICES="" export TEST_DEVICES="" diff --git a/scripts/init.sh b/scripts/init.sh index f6e266faf..20c23ab80 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -7,3 +7,35 @@ chmod a+rx .git/hooks/pre-commit # compile proto files source scripts/gen_proto.sh + +if [ $? -ne 0 ] +then + echo "generate proto failed." + exit 1 +fi + +file_name=easyrec_data_20220304.tar.gz + +tmp_dir=$TMPDIR + +if [ -z "$tmp_dir" ] +then + tmp_dir="/tmp" +fi + +tmp_path="$tmp_dir/$file_name" +if [ ! -e "$tmp_path" ] +then + wget https://easyrec.oss-cn-beijing.aliyuncs.com/data/$file_name -O $tmp_path + if [ $? -ne 0 ] + then + echo "download data failed" + exit 1 + fi +fi +tar -zvxf $tmp_path +if [ $? -ne 0 ] +then + echo "extract $file_name failed" + exit 1 +fi From 8d51d2c13c0d37a0ed6e257b3a535c6f89d00128 Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Sat, 5 Mar 2022 22:29:16 +0800 Subject: [PATCH 4/8] fix default input layer bug --- easy_rec/python/layers/input_layer.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easy_rec/python/layers/input_layer.py b/easy_rec/python/layers/input_layer.py index 4f83072f4..517d028f4 100644 --- a/easy_rec/python/layers/input_layer.py +++ b/easy_rec/python/layers/input_layer.py @@ -227,6 +227,8 @@ def single_call_input_layer(self, embedding_reg_lst = [output_features] builder = feature_column._LazyBuilder(features) seq_features = [] + if scope_name is None: + scope_name = 'input_layer' for column in sorted(group_seq_columns, key=lambda x: x.name): with variable_scope.variable_scope( scope_name + '/' + column._var_scope_name, reuse=reuse): @@ -288,6 +290,8 @@ def single_call_input_layer(self, builder = feature_column._LazyBuilder(features) seq_features = [] embedding_reg_lst = [] + if scope_name is None: + scope_name = 'input_layer' for fc in group_seq_columns: with variable_scope.variable_scope( scope_name + '/' + fc._var_scope_name, reuse=reuse): From 070507bd6fbc993fbd7d973cc8a6cc0afe0dabea Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Sun, 6 Mar 2022 13:11:28 +0800 Subject: [PATCH 5/8] fix ut failed bug --- easy_rec/python/model/mind.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easy_rec/python/model/mind.py b/easy_rec/python/model/mind.py index a749e6dfe..b3a66b304 100644 --- a/easy_rec/python/model/mind.py +++ b/easy_rec/python/model/mind.py @@ -72,12 +72,12 @@ def build_predict_graph(self): self._is_training) time_id_fea = [ - x[0] for x in self._hist_seq_features if 'time_id/' in x[0].name + x[0] for x in self._hist_seq_features if 'time_id_embedding/' in x[0].name ] time_id_fea = time_id_fea[0] if len(time_id_fea) > 0 else None hist_seq_feas = [ - x[0] for x in self._hist_seq_features if 'time_id/' not in x[0].name + x[0] for x in self._hist_seq_features if 'time_id_embedding/' not in x[0].name ] # it is assumed that all hist have the same length hist_seq_len = self._hist_seq_features[0][1] From 08a86d1f95f8da431e66c8b29db39f82e1f6883f Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Mon, 7 Mar 2022 12:22:07 +0800 Subject: [PATCH 6/8] add eges model docs --- docs/images/models/eges_1.png | Bin 0 -> 220090 bytes docs/images/models/eges_2.png | Bin 0 -> 145741 bytes docs/source/models/eges.md | 168 +++++++++++++++++++++ docs/source/models/recall.rst | 1 + easy_rec/python/input/graph_input.py | 8 +- easy_rec/python/protos/dataset.proto | 10 +- easy_rec/python/protos/graph.proto | 17 +++ samples/model_config/eges_on_taobao.config | 7 + 8 files changed, 200 insertions(+), 11 deletions(-) create mode 100644 docs/images/models/eges_1.png create mode 100644 docs/images/models/eges_2.png create mode 100644 docs/source/models/eges.md create mode 100644 easy_rec/python/protos/graph.proto diff --git a/docs/images/models/eges_1.png b/docs/images/models/eges_1.png new file mode 100644 index 0000000000000000000000000000000000000000..900f847ce90564cb2da3e37b1eebf5a2c167eae4 GIT binary patch literal 220090 zcmeFZ^LHeF*EX7Dl8J4rW81blv8|cdp4iqz6WgBHb|$uM^YlFD{o=jP^ADW0?jLHc zs_Lrl4>qrT?G96vmw<=CfdK&lftQjLRR#fpzytvSErkLD-XY-KEd^ePS&E1#N{NUN zDLUAiS=yL_fKbL68yKKS(NYc>8X6c3jnh!UIJhc@hDItI_zrZ9bxm~jca3%>rRwNx zVj*pQQtbiBQ|fNAhKnS6uB9I;r;zHlwvn&0du}Z2U3|hw{1f71{pdV z4;wCxg@vW!XR~)54~EqGX$XS~j2mVs>yuHD$Re)bDFEsPN<&UEmL=93_?hH{B>0c+ zN3fxJDPa@^2_um+2v7n{bwa`*5K>eTM?|m*GW^7RwM0LQgV*mPxnsAHC=e0`lm*mo z`(!6alvvnU*i4LmJ$Sj#H}G~E%;EM#eaczPj93R?5Nt?BnqY8nt({DaP~XHtO9a3@ ztm!}X`ulzF%N1?@gwQ2?RtCL`qah)eZD?&9%!^{R{s)p^Ff$0ImkhPXkaiG$dqrXfe@z zN!xfuu@Ve4F)(n|d{|{b4jGylI9h&Cu@f2^I9iaXqN_Aj|bn6hmSjIFtMLdX#OOM;NgPElz(5a3vMQ`|D=-o z*R6kjUQOulG5tH>KVSNvC(=n289Y?-rPcrMFZ@4m>p409Z$B5_RR}c~v5r+ z3h>QhOkMnc#`f=lP=Vd$a)^~W{jZZa7E_1(*Terz(I#B5{ZKBBTK9jQ9&l>^+aM^x z{yVk**wg>++J9nBb)Elz_iJ7wg@FY$e+Lc!^0jtK zf}0=j7a!td5xS>FsOw2UhpX#fBm1vM{&L3#D&Wa_=gi}ko^3Mwt>~4Q?b?#b3je7z zKnIV90=DA55Yp$=gzBn)`;An~=P$2+&j|K$Bk+-T`|;BG@v`ypws9^bY+#8F%|N(d zdCl$$_i@tsZf$|WdFyFHYNA1gwAD}B4_lCGYGTnRi>8=CA7$?GL z+pYz}(B`#@PR!(QXs{aH*)-}!!5bfQEeg20v1$tB{rpI)^gQ|TI!V-tzaL;yN*kRPW==&bdSCo5X!{rR@=q@lpx?vfXIi` zEzWB;U*vOKBu@|47j1xw9k>5mlJYZ|2U8{0MGh>NCSn=7e}6<=tF^`ar+h79EdG-| zNaVT+Ik+v$9_fzMkVRci4Z2=Yxt`D(`X`}K*D(M#YcAHTUSCxrQ#ItVkOP>3f|k!? zk@s>Dd^S3{H!WD}cM#`-+$VZb=U(>kl+;5j*44Eja;vuW5VwZ8GvHF)s`+NQmD`1u zdWtoU-BJW|NP);A9SC=GZzxzKNw~`&-=Q3?bwLmt zGA24Bf~)V^MrcZ!uL0lC#`O3_4H5{->$m&$d=NyGu16^XH+RVlQvP@fi9SZ6-WyQxT7`0*{ATskaA0c#T93sD@xIA@ z`PAY`OKPjc{P4EveChVRDL@4l{dzODE^hWH|d1>@f@Wxp+DzqDk_%uPO* zPiloD@6eVcuTH23!$V(!BZG>YK^yDTB11pfe%#xFop(`SL4SOF!nFPpDRU$~M3w*# z!D+#)DS_SfxP|Dek=idSFI;M|fa%qZS?v0%L{ALA$>gFk6Og>6A@@k(drcwm;3)9$ z{?MrpDg;?TCsVo(pLnYN{gV|V!6=9C4adgE`$N&>jQA6Ber@CK>=20^C6uUuv(eFD zaR$iVoOhr zs>C{T45zo(T-9@F)vu8+l@9$hdU0Vf0qUpJvREP(E(>oF{p1m{k&Hcy+73?2JZP8>GcK9-WTk^sFg=`VOza zjGBstH~rA@&~EEKs=a>S*yMdELih~a+>;oe+dN9s5!2^fhUeS}{nzcT*X61=ElIt% zV|9h2M6mAE(wSmkbj)lsKzeEe?+)w%B`vu-+1=`>5syNUJlAoYU=0WWg!yUjB z3lu?)g|OEj2RJ$o_%62mH%@>*FyBxa#EDZo7qvAdh|K8(e!G>(=yhoLt5)DKK)~(P znDFITz4Q6ca^8V_rtd%a@{DAKJ)Wotf@-_-q~b}R+nR`7%ZBT0E0pE;UWsZDY8 z;?UH(CKsvBDH<=*=1TvJ1Zs2rcape?ie%8-_cIK%57v7&ef<_F`!}!VS#{V$3?J7F zov(WglS?}iHQ{b^uU!JKy#lXw0xvA@eosu%x9u0+wpquZjuxHMsA}1<Az7E3tajm+SRqx z214E;zHcJ>47z$j8i6A-4_FWg5Etosa6YU$`aY%jKDkeNW*LV1Jvr+?IP2e=>YHJG z&+rm3cn6xH5@n54kadQqc!ri?xo-~F!xZ|*$|>Pc;dn}UpIQM6HC^P+51yS5p03Tk z_?7PC*6%=L!|9#ZOJkZoBBmhFGHWU7`#R`5mdQvZ_rW%h{alj$Ymd&BszNI@xwWS> zMr;!aS&}dUnk?Te@#agF$M2Z8#hAA}{r3XIz>eD#pQDr+M`d+T@09oOrqc=dd*{an z{TDXwsub}mj=~#@a+8+j-<2-yC%PAZgw>gr8(#fK03KPNoC~7oVy~CC-urdR$t0h= zf?H@%DW-QQ2)p~=zWLG~d;lq?qL<41b%)S)F1mVZlPTHAxXboAFIqwcO21f1KV@9Bp{T;UU zuz#T5UR==Nitn(Dp0Ioe$@i5%O4a#x)>6A8a}lgVc#tzkAUoG~omA!3gPLUkX1>wk zy>TnI;dGO}ftPRZ!@QTudMXL}7;pu_;0Aj6RHpuGCW+RfZ93{(ppO)LhZ+guGymNL zQ}C{1)(xJZ?p>*R`xdTL#< zg)NHpON+HG+y;5{KAsnRZ}SK%{C+x~>CCt>*Q-;R$vk!0ZPD@tuj zBzYW9R!HoGkR=&%3IuL*5Pu)j<+)u35WZf92&|?qx31sOYw<;8QhU^=2Ay~=TNY{d znJ_P<{?rxtyv%=b!>`~=nIyz*{6l;jj(q*pjH9)m?prr8A^t#A;3HNROZ>~9EnK(a zKUh&_r^D21|5vnCO#{_8;>xkt|F!Pw4!83Pm+(3^r0r$x!VGKpJ24wJ(+O&tsvdMG z(@oddwpcn+$E5dpz;EfEExRfI-IMn*bN+-t+B)rx=XnP2BN=QHceacau!Ar8Y$u}+ z#=p`c8ttBg7`$@QP)pk2yX`m=1s$3`zeD?W$n*WjsRkS;PaZcznEVY!qt z|A1kK4nucuTN5Kz5o8&g^trDSGR$OW^fx{Nbr;WnYsRw!n}(&`8CUN-6k{*~SHapL zH_xya?~e~uE+qXtp-roep!VB)okx~1vZ zrildQdplB4hoymj(ExXW1#NH7X+IG7c>1h-*Yr&C#v8;Mn&%phBcT+;<`odk(Qy^! z4AuCAwKvU$dwvU(9U2&n`SxR>ZD6pc7)e@&a@L}^rIpPc(jJ=CP4joug@>vDLwew}I;+b8> zj7}deZ%Wq1u(ikV3F}*q>!k5Ho*4@sT|(ByWO%u^iin z%Nk-Dn7l#I$Fs5Q@RiqCZZ)!8r^X(_Vi*N<7R@zni+hp`N<)`@PhgH^-Zk?UitMmD zK?)q|fQrF66=uj6-a&q`r|dALVXGY0*KsO5As3OKbjYW-Z$)z|lrJ26eQ&t z4O~Gl_*n@Ho001e{SLS<5^#vvJvY-=Pgr2k7aj|(Rk-xPk2c}DZ_ry^^O`X!uuUVZU=bt4tTrX4dNoabr>Bo( z533ZgHz}Oi2f&A2OMQ3$7BgkD>Et@6UIK;!_BZ)%ceb`>Bv^5IRDB2#3zI z4(%vIY`@|JJ&b?Osv$S|eyZU-8fPGmc7csg%feIH!K#Fa$s z^w=YONXt!%9yZff5RG!RAsxVF*#QpAVDb{AF%{}G9GwBCH%z8JgwQ5%F|cO(nr2x8z9uWV>Tp3` zQC&X@I5F(oN%4>|v&K22WLNqG%ETn)s86mRXQkVQMDhM77|ZPIjcXKUzWP+s^#s!* z-?cO1*7u3v62zczXp5JvInjj-&me_)$6$G6Sfr~ynvdP}I&+m{t1W)I<`$|_t%Z^M=7sLjP(m6e1gC~%^8;j}OK%9GpMhgwV$W#Afnp4YPI=pHpQGpofio zlP=@8n0Yf&;$+^vItib12#vs)cTxkW*uGCOP=)*k7Y`2Inuyvu$KkO%pKx0++_qmt z2!W<$iEpq@O}A6?x>?x|(z#a;af3oa%)WuAB=RtZe5IF(z(>IRW>|~1{V>%2sX_^aYen&{hC`OfVTi{kjM<6=ZfpMV*F`Lk?OJN$}n%RQZd>t-HCV)#UCr`~_fcUC`J9u7(V!nqw58POoyVCt5Za#@RZXul(QbNG6brh8(< z8?2zX20lr5!}pn_+c{M4_B3LE8uK*(&Hz6$qvEj;Jf+M^q&lDXbC(S=0+|1_zZ6aI zzU&Gs#MuVvO{aRB1CjO7LV{VrN{UQ!Nq_%(REnQ6hAdY>V_SE5izHUZ`@KHtP4+O<>w=`sPpV%ZIC0Wml}{(geLXG0V*r@FhDv9;LF-{*@mka{EO;gq ztbH1PD8DSYKPg|<^IQ>k;v!sWC$6bHvS1rc2?~+l<5t389QD$;@zAAt7c>t>1l?n( z1n>8zPH;nWVzR^r*|5OL9fAi=GB!htZXSQCOz>J|=zDq48FBqHU} z=RmicMz#HuoB*`eutT;3WdJmd`aN^w310+7{uZ<_jSx>&jha=l9H8Ti#|%g2lpU@J z1NU@LZsnW2|IxlL@JkgBI~l!xqJ@cv6v;U#hZ@8a2TT>B?OI)9K*HvZW7&vc5){(j zQdwUrNMIz>@o2>u9k>r@igg8Iw?a*V5qP1829h6ng;&dF7o6vRl6L8U-)>|=sM3aK z+{X{a5_}`E#qyI^#;ou{zeJ%$Htjv&p!W_@B=eh|31d)>qsyb2Am95a_@_a#cc;&g zE|S-MUSa)htNyanKtRdnJIGCtZjW7MkDsp#Po#0 zWrvDtd65LW#Z)2@Wih5Dt${PcD)UO<$gLuRYSMyAUGMR!ku$Rw_t%@P;a9O4gV*qn z?@FQ=D`EIYgY@auqTEy423?6p29OZRi+8mRuvK;sG)NMNfcKi1b0x(2!7)!PgV zulmFTfDVe7VIf?VCMHm*EfNpg&Telq0}oboLet5Qz}#{&^G*|cULvuK0wK8|WPa=12x6z>-t+!Nh~wo? z@~GXhr#-_(dy!|BdTM)+eJh30{|ITRb>KH(f%)V1GZ>WUFW66-sRYuvU9%x>V(Jof zRW1!>YrEte?!CC{23#?L9-UIH+P~{R(x?CLP|zPsL3v5nMtXK>?i{o8vA@4>drKvV zVnlQO_#ym;fChlyDbr_I8}Fvl>q z%Y?!;;^fBL+6I2yWui_gFNxVPSHi%uaNPQUG90Rdmaa`QX~LycQee$NtUFoNpM1$B z_@&n*SBs6WpHOgquaEd0PT&dC_X;z!d&jqKH%UiWVa|>y6$^5vCw31VT%ZnFLfD{V2X-D1Uz+vFGas ziEryON3*~8JHmb5%scjk{$s8zs$>$~5__8~(oc5Fif25ztPh*v`hY&#+u!6a6Z)ua95<4zN-^7M7?c05Y_|sqo~CNht;&C7I02EH8I0ziU5VJ7O4^o}qoVAI z8dk_rMOfcHWLpC0OJH92I&SOZ*rrnAhBL+=55@U3U=wx|byk}Iz$7OvvJ+)}dNt(7U^&KM>3HAM>=X67R5D_x^}m!^mCa%= z2?aB*kLY4(AZzo*@5ZOJ?Rsbpi)pF80`ZYCGu=T1sqJt^m6wDUCPJuh;n?8H>!xlH z{(^}-%%IhIVMY5fz!ROcYL*WQ`FF4l2X1%B*L6`GYc62#x-;)@%!M4^J?`BIX$40&T#c}%xLnQ8vT z7FYykx5{DY6S})#ToKOwIa=LDk+_WrO;I;yQIvIKc~mOFDPQKV0O~08ge`d#S#G%v zzLUQ1H(cwz31?(AX zF)5(#IP{jju-lO@wfM~tq4aBk8mYM*F+wB&3^_7z_ZBM+)qP&m+@6yzaswMi3eVVD zm~+W6Li?N)?#Jtb%%egZ$cX6rHb#@%xV7Gneian9dz=-h-8$7?Zrg<0DA_5#o-yB;FVVxp8vUATX~#b77o_ zyk#i!3R`VZgJ_5n&0tL>?BtH80O2hb6z|(QOtWXYddYbo#c-dSs%Emf;^QFiKGQOO zQy;U>aRvJgdwASc;iDv};3rH=@ZvNXnceTDnm>M4e);7|(Ec_R!f)c%&yV(r9*7Az zMll{wCM}m8#$SS~O@%&t1F?_a0**N;)_4GHviy2H=XCq^m-UC|1F&q|7oOeXJo2!0 zuG?-meT%GHJBn(vol@yTXOE0)%_ro9<+D3UWbT}G2}22tuwy}Anwfeoo4|im zO(?>SCu z{Tz_U&TO95w^q)-Feerd)k)?X=T1Xv-S`Hdn)LfUE~!3arA+_r*o(jrf%-j1)}?nm zPn{ye4vcX;O~ENik3o6Q^8j{Jly9F>YB!cBBuDJgI;*vv9W_GO~zxCge z{3KK2(C&<`Gh$O2W?=^RZVn91awqL zu{N<^iSN+O$KKqy24I194pSzch2i~mK|AI#&(n9>k6;1G`CR($n9Z_$W@EAhgpx-|>%Y zDb`es&r37Lt&l~lnCvfwe`8PkI*|OKd2d5~eOfo!coRi4vAvXr=qc&a`CQgH5_%x! zDN5)G>#JFpJkX1VVaYwWZC+MhXT%u1mMqLX!Q2v(;~da7^@!-eWG*A$8rSkha)k$L zo0+uBDz zB9bwdy3Qf2N3DCu;#Z2?iRPJD8lBrW_q{jwy@d3giU%K@n-*jX?Tj>G%D`==Bte28 zbzim&|H&aKu=y=LI1VkkJ^`8bU>;Xg1dz`w^HnE!AxH26r3x|>wIi387%2@zIy1jU z!1GI_rH2!xJ1_LNkSZ#eA1%K#ndq3=w)`iXSK`;YFpRUnR_9R(tq z_AJH&0ee~fpsE4Wh5&9KYhyOhC4&*3sH6`5e8kgT9=Tt}r7-U~t$;eH+fL zHU2K{Leg%;$;^@9Ia8>^jH6}*XA)X7szn`|^PtB2tqVZC8Vd6(abek3<%(T(kUyFF z^X;Y1XXPEEp&e#?KFF9IjI>@CWn^)S8fd7@ z^mixnO?g_{7=%vLXla3)V9gD;)M7-pdO7y)W8TAqD}Bb>(qglG<>i|V^j&FVF4CRA zLcne3H?_6dbw(X#%g5XxL25qcGK)KT_kDTa$gIbdRvF!6<$2W;NT(yqFpGTWC=zIk zqHU4tXc5kcqSzjKL%h{q(J|2EgSE>X%c3j~YOuTvph7xw55U|2BsOPQcjZ5Ot@cOS zK&}(cROsCjcQ5q)Rl2_?2a`?Eki;OaEA8Bs=>SIN~(WxHk+~2rZsK_!I z(ER*~0->|u^c6J)tC09XJ5@8RH+f791=_qk@rSW*5zm?w3ez@3d<3?qLyx=W`VbPr zx!#o*EhuA?v4Jp_h}Wvp`&0Hu%SX2n(@PZ^ zkP-<}XuV38Wa_dg7hFGTFPZ+ABcgg>`4lo0N=^14$t&jfpelT5Jt>O~dythM_TEzM z5GaNp7-*DUiM2T!#IC=`=q@UignDyHhhLQt-?37RgNvVL_si-5|GVHseSUXztlaWv z`d?6rF-lx-0d+yI9%M~^cwxarU}F6A z6xWJkITmzES^(BLZ8C_rO#D|Ek*nMLp-7>p5B1pR?#V*%d+u^wL5iyWDUwtm8%#AX zlId{H%knnSRTN7R!VZjBoj8bH|6CM7c~&u%uwx1sV|9pZG2dc`P65^ID@~wsjSj$h z8O}VD2NYt}4d>b?6nm-SHeT4rcp@q152J$1Bv=n~Z6W=J9ns2H4a1hCtWXE7od zQc>!MdyK*dfp}bWSa^>@&u98vsHyOJY4};cA1cI@F{BSsN;o1)#fN%MQmFFkEa8bw zGU!^}#Lxw~s?UVCM&j33$(Ny%SUSJFOVl_Iloam%1m#?2U~hISLiu!0 zHrSdB9x@s@ntyXEP6I(`0_A#bjCAc^*_ouL7-JR&1SkfEPNP9 zEsG)%7r(;ssHLE9l9K>{is%$UCk6mLCnQ|l6SVx8B@Kf$H#syus4xc**IqJ-r0)#^ z)RjM{wLx9zkP)1c5z9B_y91;)4=SibomXTJ_-Lxm=?HM=oiS%q2|#p0f>+8z+# zqHWR`MPrdYpX~+$;&y{%>G5pg(!y$}+LMAL>FsyB?Rb<-g#dZD2oD2M=`j9wP#l&? zYfKLF>y8Umo@*y0xD$b^{_b|6#bcUx5soAD`nGg5cEU+-2POEnO{knJb2DyGTu)Pw1Awek#5HOTdYO_^9#+1d7y}H|PqR40!^?2rHhe zCj!xXyP#*ao@@KI*QgC8O`Vu0(X;(fM5xL#;{PzsPj$huG%7W?gbd*_ofWa@$MEao z3iXV+xUj}dXj?<>c1|h3;dMKQ3Fk6yj}O7GeNi>RWvs=K}PVd>5y@uPRs!rI3cZqWH#e1s@f z?AzjFpAZ=|Ue-g~LE5{R2o|n)4fEIc3D*u4y;olwbgRs>K1v2K6OdiH^l=Qy7H~AY zY+$VL4euI1{1hE-*lwY99o=^unT-^gy{z*xh@nrKinC@POOBUBJh@d6fZeSIh9WHw zXX1uK3IaAck|#OAWs3)oP4W?*p@KQAST;BZ zkyIz%JGBU8U})^9eb&KqH`sBqLP{%FLa{wo{SvNv!Bh5JIjR$U0#%%1%1}C9sC6gy zYMz;8_TmT0D|o}v$Z5OqgeMw_Akk#d6dDBQfvzQ_4JD$GOT0xjllOSb+jEpcVt!7N zCm+5eyr}_GW(F60Y;z}|L99{B2jx#8)qd!o`ws&i$j`%~JT==7HT0RNHnBltS}BN0 zGNzuvnZpunr0=|Ms4^A4D&Z`y@f-`S?F14K%DxRs@H)aUX&;BHx8=6GuQD>x+hFVA zv2Z zpbj?~ZzloPwerWq8(_L-2BD6U>faAf`Wbv`tnRY)9$GivUa@IqBb|zwljtkj8qsXA z!-%<(mg7zpe6AB%zE*M@O?aGKI=Y8-+odsXA+NI=umW_7mI9bQjRtAot5&v_=ETZl zvvPb33_UR|sxNUEbe&C;EE|Bx%?2Y#h^^FXF0eSq*{nA;Y{=_g9=TExxKsI~*ctn7 z8!zkX=Ea3G$F5}~c6A(s^2xSO$+puqSRf6p{L*51@%V7h;BnLa7Ez$6Nurc-a z*ALL>UBS>eESb+Zh(3w&vVM-0AV*L+%5a=u^6bJe7ycS%Da*IS6xsZ9pCv)f!KXn& z{s)x`LeAOzzUtmdQVRmj=L*v({|2%HQEJS%-S5myU<4|9^muB!g9!=~>aI@n$*a3G zSx4g3jy*l`eI6>TSpuuCGDs^g;P%;zgl6O%A^zrtkubPox@k zr|adHQ~!m)gM+G}(S*SFy=<#pz4g_pHugdmKx>$Ii5dE$nqGHj)U`JQ`BlFmWP7DY ziJN#Pj=Rqu0qa|a<=p({kzC>}5eedelcptK7c&wA#{S%Gc}KrD0Tl;{Mtt9@#P1Lo z6NmOhj2@aA({Jk!9qJl-6C3LjLE=QvGKo8bK?Bry`x89g+o;)xh{mtz$&xKYaVqvf zG&=rrmXtzzeTzc!B8cFQIZk3)u3i9DI~x@wL;tf88te3$0_B(*hLpbd*274aiRQO6 zTS823cdBNbCKHhMR5UA|cR(aSdQexr?pj*bB$<)RjM0>be|NX3Y!+@_GG29M`XcTT z)E7*md2^b+K?K$0OsSz1=L7+7--bMapC|6T8_}oQkU{tt(ku)sSp4bFU5RE|Pj(*X z91LaT9`=P|W?xFvj~j;99tNzVSzoIxE48nM$tp?bAy8Vkpr~ceLJHT;hA8@zT6^5!_@ItyE3{jd;Kjv+iaqrBC7I?#A2lO?e)AjpqE52?rw^g!cJ0 zmjBQ0h?78z{h&?5^7?%kKPnsD6bXp5iH-(OrEm1e;lue!0F)c9&yz?7PS zO&a!Pst4;=-KfZ90|wM26se8)_Y81GLV6XcYpb{O-<&??+1`y6J@&7P&nra_K-!v@ zv0>Kk)gWPKmKV11RSv{4hKRT%<<@C*u*wf;D??l3b?EfK6lw9Ek&aJU`+C(5!~vyg zc+g@aBj)^23~rNrHK| zb!8e%<;bd3k#I5L<90dyBoCEbEKCyJ;!xA_(DeLAjdoqwj~GRJ1V>k;R(2Oix%#HI{nh-Z z-PvmsU0v|Bad_{Cmjh`KHV5d0e$nFhQ59zMJy9C%9~2Q}wefbC8?XBuj;|(ipOaB( zsP9$E$!@O%u!F$pQGUc3A-ZL^4AO=b@+^d+(3rd?4$mx>OIyL#5{x7=8kZ} zuP(*Ky(Bv*02*nlGeX!fyG`9Q29#uydygH0(BeoB+mbGjFmyBj>=L(PpXK(M9$WDo z^W3;j5ZVB0<#o^)5p(L5L_{5?TgoI>9#`G=;BP z{C2G?Yv)u7?%{HH^XaKS8|N?zJo0tHdbg^>wf1?43?N&RRtA_dogRTutS&>K#@bQJ zTwe7EO6nlKhVGQQ<-`%l*YJI@lf(>D3n=C2=MX2MUvWo+GscpK6{oS&zit8VPRqx* z66!diteNuY?K2hb>E8q2zr(bUy~U+RAUw+uqtW8;fp@Wj1kIFz3x|cJP6@JvGPtwr z{GIvWfr1;wJz~`P{oyP<(V(e}CtE*@SNUEI?*x9)E6@aEmqQ5EdOD1d*c@WQE58~& z@EHTa3v_J1EnqOE=DH65ibRfV7MY*4J!nuZI%RgM-hTY0uyv=GR6DMlGz&<4?mWC@ zF2G6`?bwzYB4ji)+9cA9v?sAqEMvn;2YcT12sKOp#I#@e%X$I!6_c zm2eD`x!Sjmp7ffc@MA8Cg^nyCg5Bq=ntb0Ct*q8HW7^v7=W$kU+WS7LGv#)owMk{_DL1ns%Jqb!|asUi5_ZWQLM@uPuIBkZ^ z)9hL=tF^2We>rmL2);DP_I6Hjd35Ex8OFmDP|T3?$~KM`T=9^CymtHI6axI!X?)Hd zv&%N-RWyk<-5{!j35}8(SUyC2%fjyjf_HnU+rhixnz3#HsX+qoI#cc#fkLM^C4uOH zU56F&wTs=zrj>s_)U zfJ1g4&27r;%>?e$;Gvj|9Z|tNVhFm^a4@u{>=rh3~ zeh?-93VyFSxwD!Eqt_1?8y9HN7uuvhA>9cy9xi5@B8=?f%@wP?sHj&i&uN@&WtJ#x zCV?g)1+={qE;%VKopcVHFoZ(TK`Ajtg%&-5yO|D8HY-`}v#Fz_V+z-6*93hwA&pC^ zs*U8o@?@6^#E9}l$@!}Sp_A?M;e87v^Qk4z`!EueH*ZeO1+*(PGqbiC#YG6EdQA4R z)C27~Ga!DkD|44?AK4AjpiacQ!3Eb2pdNJL{xE6k;fm4AQ9w@xU|wFV-j0CzKnCYQ zYkQ$A#!HdL5P(x^Q}a0&IXs-LnCmtflH;ybv^ejk#^oK69fkppb;l4q9B$Dr4->)n zEv3PZ^2yTBuF2#BQ8y2`L(B-tQ;w+5Lw5&r?`) zgpr9ROMuNJi3ey9gm&1P z&6}oUt(wH?&|34$EVoY%gtZCQdkRnw6Y@ciD#iXhR6CzN+ETrjLl%7Ubr!` zC{a(u>DmPcNA@t50CYOrq%~*Wy3YRkFMv~&rhqu-QP}G$-TV4ch<2Ubh@{p*D8f81 z@S!s2ebi6zh7nzw!-cJT7Vy)Uv+3R+#c@dF#A{ zQ9-2n$#Rlbr%*E(t9*Kt%!HrP;6mCTlVzff~b!wIX&$E&4xMo8lUr78U>=uq2HIH!s>`$+Q)ZzfPZ`uAM zcPU%uq+z`KB7qBomXsh1ewm-g7qgG0!*gHQNE$&<@S!$`1-j!1cpF@^M!&(SP(I0I z_O$sFyypCn=9g;`W-+UOnus}9p&s>KNDf};Hxuw7f0r=+p>vEu_t}SIF@468B~1bl zU|Vew5s0W;7>Rq1g{)_0nv7?$sGIJ7sPh9GtOUyAd2f5Y$dIz^w`37EfK3FZ$(k4w z(S+Cz@dm@Q!W9#TL&C(x= z5L0D0ItMkVY}$5Am=QVN2$3!K4{0L5Vdb_Y9pxFM)QCS=ySp`{EbF+1Fk_@qWKTKc z(ayAA*PQ%Z7iq~Vs$xJgi(Qo4^geD>ho-8{=lE_yu_Ty1<=&WJVckFzNnGMfR_=-w zeZix*S6Ej4TSG)otTE*LmLRxOup?Pzm5|mU;N1AM`wBnxyb6hg)B9puz=qvWWm@Gx z0RZUIAG;C}aHV>C)at}sHKbl91EATx6d#5r_&Mn0Q4)mIn>un5#o3GJP^ZJ_#NCMz?x@2Pmf`U~uJ&d^_0JGMT3i zz~0P_*Z5(ngU?StUTO!?qS-QHT8F&e4!(kmpw`+&f8Eq(xCWxEp(USrsBcp0jP*Q& zXjdC)*LDde&Jo?ZK0U@xOmD?*?6Wr!e?piUVdbKKLehvIBGp@L01)XpC^)cCD0m;M zj1TZ!Vl@2>><&y0YdVMCV8V<$ks<)nYP;?ZHTx$z=yY8RY1q5S%fkrs7 zq4>L40$v z1=Ymvv70|-=Yt1evlV$qJ^f6OAlGzr;BTFHz<{ps@ENiz#`h?uDxbTu0yeO(Ul3Cd z!Jqa1s%V9GA&V1jSfmYDAzun@G}&gy@KnXLT2m*5(ek^qT+L* z6c12DGfBXRCp}d(Jggp!eh2wa7ll5s2}he0UY0d=h&!5f1RC&rgl}xEpeL$W=jTG( zKHEF#V7N{)y~ouYh!9LXmTQSJL`f_9#7(pQ2(UdF7^ZMxuIWc;p5Qhr?|qTZyv$#= z2K5ZfEc03#)l(Buaj^i>DVe4FiHfodeN&`*3`O`y19?KeV1U^`I4HGP!fxvZwg6KV zx!wvMJ1~K|>;)5;ujYJ9TpN7v7^QYDA;k4xe&LgRre*bw2!@m4YPHsC4?ddVC@fq( zxU%b&l$6jtq{myNXOM5eS^y2ZcYOytuRMg4_>px9{xs>~kf^$fn`KtfpXC9moAV?NKB)CaW43;wJbckZqAF(gP zlcqAb6@!|;j7~K27bRK{xmgfum*p%WlcAXh^+3DxPP_k-0@%apJB!`pViqQGM6XBm z0Ddi9*l~B>%V-p8LXmpBE8MEhGWH%}POxo4hnFSQ;FA&|^SU~oa3iw;Y%r{)JT$;+4^uY^gjm%j{Yvn5!i>4RWqyu;p{##MN*%*- zuVGVHU^9Bj3_BxjYDpQgG4qWg>WRh9p_H@-FHo#5PoOPHK@;34As_^$owxQlut83(h*r@nB51j> zc(@x2YG&|~h@6b_e#yOxm-tRC?MCfeBcx`vR5vH$A(|z*p0MoG`A-Q|>W951&F(tn zO1Z=`M8hH&f@%iPlZLg|oLBH@piq(Qg=b?ses#GsG{=d9dwjg=L&4gg#5V0nV>_7M zI@_EkRtbC(;dS1d60}XVZPyD=#IxyDyU3u=#9}eF?1%am9j&EqS`MzQ8)%1ai zNgn6s_+Kk$IAi$eM?V^?Q4I9*4XdP$7zyv4djPSn)$CN}qBq1Lu(Ql_a)G&M;D=i{ zY{+L5sCQr$HCyH=>>>%bnJ=x=c;$i1{~H;JGr~o3qK@W7<`idiX%uM_@s1^$K>#dZ zR5UTL0*J{=b#2|T?ZkJz>s_suxAaCULvsM~Pv}3BHm`!uvaKcNaNN1~|MD;YlDX)} zu)HV7ku4&*uhT4L3mKY_S>V8Jyu%&tpkGSNlK7y*`+b#zPP~$EYEi%^kk9PyP&NA; zv{;e)M;`$HD(NezrdN`$luF%8;tEo#Tuf5=eqd$PO4D*G#x<^S4e`+l@dj3>fjKpx(~&R3&$LkutNw7c5PrML_h|E!v<=xvUyLh=PI7#GAut=gS z-!6;D9~F%@hT$iQ(5F3(z*5O6ThuRz&=!x;oWW>Rh&Fml_vm3#c@?toL6GJ%X&Wd4 z7Zw6hQRc55!nXCAF+1_Z6Md|?th&&VDrC7&1h=jZdE`F?l4^PQd7Wx7~<)Rwi@U6D}k zE)x>`^S}9__KdNYz3gS?9yt7VMd~`x5Os>V zWO8s}xjgDok8%hQQMa-&?4{%$;?m?eWMs)S{h(tiq6<#O=q}>k#IW0 zgA?pnN;OEDV00E2^b7#OXXW#;EHZsabxR9smz}X%r6CXT!FJd#6CUAk^p-pVZ+qL@ zEJiRcV^{nmANj~DT;U3YiQ2dmdz3svN+sTPgk?S&vP<2m)}NURNf}Z==Q|yO<-HmZpme-zMJDDB5qht49DQ3g2bfqiV zHO8(;Lrd%PEr6?KY+g`!?CI{k`A&y`&1w?uv&S0l3f{etWr@RSw6#-u13$ zF2TnrmT@|YWe;Q0!e`V{aHX@lp2=ieAlKA7zVsUd`>seEZmP*1X*-#HLscJV7?{?0 ztMv4BK{C>&P91e-Ar20>5I-sN}8HIF`VsJ}`7Cx!>EqNZv$a>M|d19%^KyUAj(IXoh ze23Irs!FR!U|HGdry>(@M-V>h+anjwr%PB<5ud(Tz~ilNeQTq?29Ku|C1LM7Ah4_{ zPzP=Bsvu^B{cH|#u@PUz`SNicZ6V`E8Z)-&!ew{5w`!I{YnV{icI7Kyd0HlJQ=w!? z?dR>vtB4^}9|H@MWNidmBqy0Eqs{v^$W-mKz$_B;Rz>?BTY$hCV7N>fFfOWM7RZOeXCArMuMOKC{m@=OjVv)GDF z-KKAc%a_HnGGhCz=wSJ!`guFH@_pgWvaa}w`e%J|41?*t552HygK2IW6o-?y$wy_k zaQ}P)4A5KsNZ@=32&p(Eaclab-P~oS$kj0zd{AOP( zUrh4&R`NN069p_#&%#$eHXrG|?|rXvaFCMLE0fPRz3ENuvX*r|m#LuXUM{Fe>-1q2 zwib<>JhvFZe5nx-f8}Z}(ZsUBXpd^sw6m`&|Cx|P<#PMbJDJ%~3otWZq|{(^t>@Jk z2r!v$ce~rs(m5J^OIXxP3@~`A9pE!#ES0yY!OXuTsj{RUP1};y;f^G#EYvs^^+h8# zd2}5XIGE8Pu$}xA$#@X5=-UXa(al`i;g<8L;vWR2lO)@_-t{hLG+1Aw`!c#`-9E&S zxtOL$mGBX!Ui5w(R8JbJu&b)empC!GW(`AR;ypRX`O*}&dGV2l+?=!(Ml_|e8`EJ1_5iKj*4 z({^ZhXe1Pal{*f3l&UJXcNFO;FX`yHK2sM;TFOjO^VQ&4Sxw5*Gf3)Hv|18jpC10I z?+(xTTGzT3zcj`Jn)$L%U{^p`a?^tFWW8`Z&4e4<6&9JMn%3%3+eAh-pUC)oGqo!| z^eNP?NEn`J>1pg5zHg$BAa|OB@w(T&4!pjV$r@t$wkjH@8kje}@r`|3jY|8X;jp{1 zt(1`rL{*O}SJ=R}C0+ilN{#cDNlqWqcjXg|QlwD;Nb-?5ga+=#V5?ALI>H=%s$eC@ zJ@^O>7y^f5d5c@z!uk&X*#_+$YBm7EiUPRI2VD2M*R{Ua`U?pG9?U~9;UkP~`i;m# z$W%9FCJ#H!nOOEs*cR$kJTvgK?P6pO{gm_w3x6SI7u+I%26gt?XEUl9s5iXf4V@^F z0jYok)eEa~cgCk)^nQGzyDCZ8Dtt?@_&nM}+#4ObconG%-No-ub70IVf#rRwIo!NT z5~y!FWxUNLd74QCF#EnaL0 zpJYo`SPA@mx{sueGev3Ugp#Mf zbsr9gsVwQJePsxc&&LQEnaM^-tCNf!Yo1!7PTmS?#zv0LA{ZehpVlW3X(wh^gf~xX zRa967!|6cCY;2dD=5>+D*GL5MOxbZt$(CY{80dw^$zq zFrQA{no3vuLpEts7r9Sl13>^>05qU)F529KiRGP1qx?ZE$-e3f>m5_PKnbK7bf&B{Mo zv1xT0QI#=AkA_-auZ4@Q7rmP^`{|Tbn10;gs16-cs*u0o6fsz|A5k*_`_ z5#TKwjyePEBJi6$fNMx$86C_QSVmPfMVxzH?QjV>!D0$_A<4_XgkSAX^Nt|^*VC`GzLtaS*Bj4>TPyM;q|YCh9;R+^IjoNsSrS&k$j zUYfAdjSSL?cV7~ab9fHrK?m^9M>zuI9)zLfQJ>(#U)U9q1d?NlIk~3@-UiHFl=DEn zoi|QRyZ|dQSsMy;2?J`nzT{4rr1e(VCEhh!G=V9_9uI&EjIPvX8q0Q=Ae-hRkhBs~ z07<5Two87*;>kIcPPUPms7ygUi8YVxO#k|3%E!FR_kG{@nfWkal!PfJ!yj%jspb8QYC{ak9UuZMjVKA?BO}!w$z?aaXo{PeVWYNYCeur@|131h z_^2i!QWY*$JmFL`(9;0iSI9IW7yd3S3aeP37<#le%o+ykd(rHXnmhDj>Ty8FcIWh( z_2Sd=B<)fIDdzA`T}+en=*puGPQ@kcZta$FO)JN&i#DgNce9w^UNUtwbuH~AG5@T! z%g6xg9Eh3{kxC$xNivy+z+(dR%33Dw^g|x<5Dtdv0yD$;NQYo~539srPK&HXw|>Fg zg8!m4d|-ybTOyHJV8l+6Bo_&>;5IQpGm2*X&srmc0?tr1mx6{WE;9|E-uE~HR00A~ zApy$9fA$9q24W~M^)rTbx4YfVo$an=(IR*8F1@HZYAYa|5@Z30Mq~7R12hgbWgzB^t#dE8O@~F2u88PXBP{oG0FnN`KS>? zb4!jR8-kFD5ssxHE#h3_Ly)xO4COA08vgMoNlOL-jGPgGFme=*RO`7*7!1)!yX!(G z>w#z_8Fz;@|_TovSjqNyXp^R&+or_fZ(} zA)6XJ@~B1tg_1SdrYS{v=nR?JS1dPc(I51n2R-I7kI5uZw)G)k+D#dcy!;ndj^-@c zu}lJEZBKmS6ItWz2g0O%K{bIi{3y?bCF-%4?=Fu?P+uRvcfRwTDpiH4E$x9?r$e8X z4@Zq5tylB#n8qWJR;|iY@gb8?49+2Nm&#+(;xE9gbT$ckZ+k5ffL?$~WSWyOgw5sp zm-CN&i+=`FXJ>#kR|l*I^~1!E#3c1oJ$BIh!p z$A$J+nfvzb8qs^ju)c6_ET6-fg5dHYP*befr;|iE{UNfrPXc-C?yb9PB9~+s=9S0@b|CZf#!^LkT+#Co z%zY9HOra8XALd#mNu&~^DS4H*L$Dqb$;C&=NU}_uB)J;}OJFI37^#+IiHRlS74v3E zBR)PxM0HPELN3EAG7o(EkisZt`hBB`bGX$X_Sjd*~!pp}bKbr4Tcf?klJi=|eD`g28 zdSq}2!a*YmLneHblzrKhB79^vZF9|QUeoCFUG8!hUqkB|8G$xV6FW%`)aQOBpGJ3- zlxRaS*0nL!Bzaz?-aVS9bj*Y!md)Z=GGjTLvwrOu4^UIBsngs?c{UX0$dIjQUCNun z3g?O>A}4++8yb&!wTxd6hjKms;9_=jE}8^dre5Cq>M7(B8lummPieX{l`S$|tp*_M zN^*Be++EY)Q+{{Jh6mYzRwb1$_)589U zBDjSBWh(1HZR`gV!l{CU@$_n9Lads61sVF?>f4OBMc~F1 z!%cPqt}x7fczTTKkb5K~Ph`MTrYE0#vU5{7=MQ|~0}aJlh9`1pa7N}X2_a3t`xgys z$o&&(7QKWgnh`a*@0aOgrdzTLr7(iLb&tUJzW2S2B3W4O|55F=R>ow9QXs^W(WGtQ zSVe$3rPWXmI*?8*${;LYW506&gf&CMNydXRh)zi)k=(Toj!0?kXX8cNJz-(nDW{xb z?GKgH)@Yhc@zkbJM)5q32Cg$~%w9$yijjUPI7I8Bx|!IaZ$1`IIkDG(4}-v0!*&Cs zhh{wTv6!?=mBZGfD;gNi7YJ=hT*jE>C}Db9F+}nhArFx3Zz&eREylsp4fXcVt98 z=v<<%Bu{IK#^NU6Rk{&xbs!3EDhL@U{AG+j1X+5C5FfM*M?*qoB!<>1;4Z9A^#Btu zX21yzd<4`r5c0}B4g4^bXqUZc;*#FhJ_U9OuSlQ5D~xz=Q*4h)j$WjWOu(ba#DqiO z5aS9K(z?(ib_wv%u6^xmdny}jEdViyqeYx>VC)a&0S*25;#H3;s^T$`m@vNWhVaKQR)ZUpvJm6B&wXxASj zGGLoVbWGyhLLD3e=@_NePtuljfV7mV4du>(6fkKATaRI`6ntiD^ql)`y-8fY5zCp7z!X$Ur8k#D3arL@@yBMQhOT-Q}(Ehu}z#o|Cy+uy|VPo`;C1>0C({D8{c?u#-)bJ5NFMf)!oiL5Ra1lsNMF#rdQ58qi zoGg3Qt6r5!>4X~V9}P+Cjx=)w+$}XLp!TH={e@eQ4Ren|4)GKrI4GBvLq!JHy3SjwTUuao2{G3 zeEImdB5j=Zc^gy1tE7r?BOJEk1+X14k|c6Qk|`7=(PeO4>E4-Vp6M?fY#GHN1b9X~ zkM=FwfXdm{=^z*y9K3bORF2CISBxufmtx}?dI5Z-;z;Y){8Kuw#y@5;HDry(+cfWx zEt!kyb?hNPC89HmCNLU8Z!J7?rX7#hAD$a#vS1s*kVT`SHc7PtP9mrE8GE)D!*|rd zejI7-njs!;X(OY7D}4I6ml0r#q+gBS8-+ z@5{%k%kKID!HyLLCTavG;WP@n82lB;3t#v`heYaK z$;SEIw{M^A4+NHw6UcWpv}%Hy2g^Cs?)>!&Uz(gIElGkK*U6pcL)#?bofY{fV+>cztwd9u#p{D>H2JVIq}33Im}R1eX`^5^Q(=g z*x`lDh_-^zObdVwS;oeoPUB!C3z7@SVh54>>Ow?dR7f4sjVPE%mq+V3xREvk`(q%Z z(l#pkusXSr!f58B@E4-|7c^@MnI<5iM(Q3FRbGWM2WA_WURUXi8aSFqBSj_&#db$F z8h$~uzOd-k>3Y@*B2tg!9@|@tAzht6J4%>7X!V-EwVzt|pd=7(8Hilxyo)ir=0&Hp z?mkE^BBoagGxcC2#{QoBeFaiN;d#$x3m93uvXS5lP#53 zxl7BG@%gv!)R|-}sxp}(OBnw!Pf3$C88l`wcussIiJS;*kTyV=Zat+Ko*tzNtKN@c z1fsg?dcDS3$@Vi_I$;Txu75xnbrPUmQNL0CAxj`Cr`4eJy)-GU!BT8X+Kf_J)kcTC z#R`XY8CJOUaStL8)uJJzX#(b->5qT+5c~SfC+336nN~I*5o|H!niA5eE+^TV5$jGN>EA2Z zzA_4pOr;X`{bCmyzwmW7GyqI)fTG>&UiU%_LuASlC(jT@EO<$lvZWRdLQY9iBgvQPY>3d1 zjgwG;X=t9Z`O1@d$y^e-6ByaM-~DdJ03qX3QD&tx$sZ(kj?uQxnZuxuGlQXnv!4^qa9B#1yxhHY z*Hkbhn6Qr@p429}+fz(DZ-CfYcL)r~R9kO6+o?J`k zx*M%Fw#)G&q?!DHrqu@-sZzQm7lxHGS_t6K1Y;Qzo_gx3d~fvLV(v5Kj!#%kzMBN5 zBMPxeElXi#q?TC)@Qe*Ai(xKP#CePWu)>F&rlz^ymem+EQCMqXR=$rCqMVX$BH_?1 zb%r4U1YjDDzu*1tXJT27#4z+gaSrf`xbrIJsXW z0?KINn_4pstHo_7bC7|CwQ`1^)L<%i!{iqh+5Q?mP`OKK#iT`~Ha#+2t@hV_>4>bA zP~Fy3P!*|M2u6O76FzDK1a_sx>AtKMF_xr%FhF1+DJLmtt!Ppl4Iza+YD=`8U?-k< zBFEU_R_Q<8Ln)w}V%0mAIA=82{9??`3KZQbTb)U7yewz>>K5>^AQTN79u$KNZU$D2 zKG;^Hm)phK{{*etu6UcrQ)NqPc}?-6edojw*R@|4KGq$3RM`dz+zm4*sw})k&xi3C z$4T0t;10@3PHDtoA{831By{Nxe6jSZVi0UD_AyMEuS@O$kdb7P!Jw@EC5Lhc{NS0d zJ4!<##>K(tOCz}$0oXGAf$T6qHr9MHy>$h10jyL3wqo?u`fKM88$aXLngO8t-iF2< zP3lW7!eSz=`8r#d)i0H>NYC_$S7E*scz?zp%Q|co!N-!3WIcI0&^Rg@p`kn8iv=)C zBW7w}r0_GI@eF2x&$IHn@T8(t4px@UILhMqU-6nf_2#h+-V*+VY39sC#J&nRd*B3I4g|TSQ z0)yD*fAl*fU*XorJ&3@8zH`48SyZg2vcZS(K}G3L`gUsUZLS^gNgqgunXo!-(?N7n zhi@u1U8pWm@-2Ja9oTwBLU#hBL7DgV5i!BYZ4fXO83I`+i!=&%F;Xq{KTRxt7Z=y| zB5RmA;rQ&^w=ZH$L6!-3mN0MgiIIw&!oD>Ij)BS8_3az^5l4&_o>NTmDXDR7mvsRa zb1{cBYStkeF$G*net{mb#ZVHX9(oBNT>tvlH}wq!A1v{*NG`-4&ZH6!$SDG>)Urq% z9C2hS+d;twCOG_vK_Pkg43i5QkemSxOvN{#_ArEO>cTr zX4pzqF4cSG)zR=6y`84SczDWFp27oUd>SLLnuh#}KmCbPi_zbX@US|{%eWNP)WW(K z?ZafHjBd(!qJk^6PR53p*iI>6>fKrupD^o;bVNR0PJJ?gXOsa%K~i3a$%{TuFZb)_ zp}D1420X7wM-ih1BFMIv2)q^ zORbbQZ{59G5ulI9DgvVt3P|y&G#A>uipS-v3Df7O^aQp;CR#MQ#4--0ji82aG*6$~ zeCzRTtP)~CDo>3jN|T|w=7R;^mK)~Z!6tE!%7 zzfzj)W-jmYP^O#hdb+w+g2O}ntjq^l5kQnRf%cK)zyeKf2#u>Cb$LJuZzOqV$JK6!UiNS| zR{M`1Ki2mRR%!283OSk=9YX|jZ`KE^^iO?zUmyvm*HNc^h5T)vFt3=SrHDOO+X-Un zJm(U$Y!Kw#DFQPWT^3SeH5zB>QCPLpV7fx?RC=_*$e0czvqNFEWQeJYjy5(7i=K00 z?SDIeHWKN>_Vb*cek|uCWxzv?7^9{v>*$F%{Unt4mX$y4W_@#s$LuR7DEXx!7T^DOq&Q4I7QN}vT-Oz z+-@k<*#~v!WO$R9QY-M3zGWK7%(Ai4ZdvO-t|PX3BX4H2VGkZFHTGE|G;xW2>O%9M z|M{O8tv#crkTLjuMNaTrtbs-ZyB`Q8OjnngBn-LaC(fOKmM>gZ$;%U_v-%)sg1G&pTycF0afP>Bc~k6?yg{% z!|fE@nHa(4s#-{6{vN_);dIyd9}WbGat9fH@Njx8o(Zlj!kWBXAF~#6Dy!5LIgEZa zA{Di&aHOww96tL%k!zxB?eJ4nz+qcrMT;8b!RLzGIHpXCSLu*L7$QAx$01+xc(F~> zBQaeZv*Yg|(be&l|0qlqlQk8AOzsd2!jQai;5f^Tv*=X(of{`HOd_^n1RMB7(_mEQK=ILf;`&-<~+#RFG#oa_-J&xGs3 zKOq};#YRFm6F?&6jGpgj_p}#Qox$2kvh8r*EX#&z31Y?Ir6U@KoVIJV%srZ# z()cCq4pmje&vvY=28E+RZKFJU_DtG^oG5?qd*8#kQmU)nw zk(M>SZKf8?2-(R#B9vpB1{>b7AwE)n{^x)Gm9KmSHMQ%duER}P$Ow8&K#z#)1rB6< zD#kUHN`((6thV;p~uE3k4niE>jG{|y2|x; zfA@EGqX6X!2h_#(&d$#CS>M`ax7B{Kw*wlx-C68m6_6!l48^j%T)JG-^Sgp%-G(2;hk=#7(o;o>okzqGbc57Ew0&yc zsZD1%E%GGfq7Y@sLQSyJ0ff_vWsnUQCQzSDm*A$F2NNH{)GoaniuM^fSC%wH3z-xL+C2(4 zC#Eh8lc)x=r%#Fl_K;?hRJt{D4M(UEeA@TsNcx7H*kUlgc`X7R#%UO_6r?Vy6Brw9 zBz4N63UJ7PDeVmzI9$A{Ra#xzWtsq!cFnvI`Tg&I-^CWU8r{giq!5RPDZg{MlwgQs z!vwSq$I&pHx|MC))F3b>3W5041)>*7fY96YUylyVT(L2}Sv&bAg|$;!HF8SKP;)F5 z{n!-yCPb(0sldibkK~lt4k{ulzZWt)hCnZnX~YylNJ^09&q%Q^#>MXOcojKXkb21SZIZ_Akd}Ez*CSeCbPH z@=CDPhFc|0)ie|9G^r~aafwKYBLbqCYG_3eTr1j0*ChbqJHfCAFRlMrib5>p?tCKEwo|;BFP*5{&W9g+62ta3kt#aB{NEI@%MN7!`q#g1izf=*Ta$(< zL~13-EbaRkvMm7#zGlJSuJHu9O&VZhMyjzix3KKUum=m`5pzt!1ORA=H>@clZ4hH5 z*5a1AE>Q3sObMCIOO1#9|J=|0oY-3%3~zXtdQXYFtbweKc^Ge<%W+g}bQ;-=a#?K3 znXwwau+!?`2n?)*cr9zpbWvPcuUp$}J*@MgzhSO=go5ZeC-wa)o#U#1i%pUv-{_InwqcOyveu=PpXM3Qf!*c#{)!i)YFg$Y`-4LEZyALm;41 zG{fwvLa5=^Qlr2X_|B!1LYzsM5ShJqH@u7I_}!kAD;RQft0)1QIhXxs19U|>Z$WDH zs-?Qb+66NbPK<1I@gzOEFJpYR2p?l!8QX5bHTPXfYYT!16hiq<-R&T_FT)wuPbq|L zi{&;xWbF;V)B-41+d=RsSC4r3@S(Og*7;bBEWjGQQdM*m{T%XYUa11|6GI?_?H^_9 z(wCaKh&HH=l`FEQi3%AJa3elZ<+5)Mn>|h*V3SH(qbaq>g(E2Iz|h-M(o-D@!wi}O zzk>+_D6f)kt#9^;KP^R>)JVPX0jX}X+^pkKqhLB`qYkB|8-2noolSFweQFCS%b;t9iXPsZN9j3&Uua*SH!(Xpy1esiVjeaWkgE@ zslp3y-d4~L@yYzm#3)mXx+F$9*;uuB&4Y4$Z*QZbSlR%d9&ecjbQ}^f4EEzy6gJcD z6`(8@A}jj=$zZ^#7oOUKbVjy0tL5$_PQy3}8dnm@7E65CA2bXTbxO%LtwHdd1)m|L_kX zMD~ETl@e4JPD87mad)7+>c)$<0Gf&8{Q56*X6d42vd zOYTtHU}hepFtOQRk$?Dyf3T)>wB;4S;R+l-V%3F@0YRl=1ObCXlTfh7q?;O5VM*p7 z+5*GwjDZVHVGyU(-P5k1|kp;f+iNzNz0oQyS5Run#rSvWoB{)`DteqE?Jv{&Hu{ zznyars2N|X*NLdguOhq7z!Jj{WZXZ+wAgegIP(_q04S1(QvL~_^ zbRExnTYwH%IMt0#Xh|AG3rc7aK_VLs&GoAH-h0nyEo8YSt=qHp3PMv>$k08yCdb)U z9e-f0G*T18*OXP{%O72?J3Bjbqr;mmoNCJyr+F*^5ZQfAsfrppG>!+FfOcVAG9)|R zsuYo_eLEr7AZxusMz&-|N8#g-KgK5uzkmO}L0Lu6go-Df*ke36K+pvg1c@=op>5ZA zg4`wzFtZw(CFpmqY`90`yL2OC7UD5Wo-Wg)T-I(wn!Ul1Yie;p!~Ix~V{$`n5}7y0 zz#UzcdhfuP2^f6PPKi6N0mGWlnQ~CMrv7Z))Y*(lEn_XS$Y71&7bD#=)-i7gW5y6d zn~}NV25^?_nD=LY_Gj7TKDB3`C{#s#2PymJKBjGcaWZ4{1|Rwoldibjee@$6{YpXZ zQCX+)R%~v3eE8vqZi_S%?IWdB6r$NoXW?tp%IU{X{nSr^qnY@lL(~APF(3xC!eEvK z2r?W_T5(+YBTs(5QyO~;4<0<&$6@fbYQ(i~-l-R|EG}I*53L$i)FYPgKV@+OK}gt* z8s%0nK{6rqeOtt#v>ODR7HnG_x1880?lDPIX_YcX1D7Kc&0*US<$*_kSXCTj9)(&V z`W{s}z(nx4;sZW<^vHkDT5Qmy2|ZF#xcM=)B$v&7oV)Vo^GiW?GH(H+6KRMVmrvr# zy;WAHbCe^zTN>CY<_aXvY88}Y-Rm8D@A|ps;IHG|ZPXE5Z{ed7pH9S#Ej_$7h16rxj#{Bc3*D+<+rN z8+1qssfFGo9HbeDG_>KJM?jMh;EOAJ6r~;6i^dZPIS(d0o2K!aR1=qwWgw8whCC)V zWznEORHTS1zzi80c)_?Vi{&*s$ST+P%jq&QDiRQyTF~$DPQ`RZ$zoDF7UqjKebx%W zM9P6z(yDmXOPfmf*l|R0lX=IshgOaIs1cbb*vl?h17NZPVL0?S$ z?ce@wX`$6;%83r31Z0?QxZ#1|(xVW_lipeN33xj+pgU-2mf-Tg!O$iSV_*q|Y+%fl z$U0g@qGQlxX1slVzrvS!fP5rU+qhlxhHkpB);9IqLQwxhuX{ zsS6xXGO_|9f&@(Wk6bSEZkwI)arIRPK@XC^Dn21s-2vi?;B6Ii#$jcR>Rv(gFU=O# z?in4RQ>nVDIOX{2f&Xdu{zbV622YBR(Zp~X0~g@ns=7QTb#XxW;MJm_gkv%UhpJBCw)i*&|HZnO4{6=YCb6M)n)l&s zaJBJx-P~RueU_=o^nLq5#tmElb~ozaVxa~luRsqTCDEg7jYA2K4G743C)9DY zD?+Z}Farpv0N0ko002M$Nklu-m6);hfE%^KpnCw zOXjR9rN{y))aTigp&Sm2w~J;DfXTwDS6y<^bT!KbtzLqSIG_ZADL4GP7SoSG(<+?c zw7O4xS(>AE2{SX5u5~D10yS`ot?j}LC=FOzLz}HNQ^(7)b_V#3bY?Z~E3&+OSH~e6 zO^k8O$?ho!+aLLaxswi{x>PM;k-@pQ@&#;rS|D6f^uCL;eJ~*O9PGt?kjkL-(n4{t)JC-4cJT3ZV30j z3=3(*%V@`Ry@_B|rw9`@>_d}apEhV*4fFj)my$R<=*t36huJxNt0G2d0OwY5q#3X; zZynI{@EIvPM;LHYdPb_2^zL%R&^<-t)Fx6s5M5s}d7Po6ySa-**zGcdZXis5GxBPodDVjl!zCtQ8U zaSDQ9K!OM}eFIidLI8I$+c1ks)5&7tlhfNca3!m8faUkjS{Y2 zTj%Tk(;1mACG@CS4f2lVj73bhrUX%hiVSFw8?4Z$D~~24`*B_{@k+eG79{P-MQz*o zw;6jW>+OFg=*4srUz&;M((;C%K1e{_LN)t@3(5$HsfD5$Nw3Owsvkbjl{*rpB z2?e7tmHDFb%oFG%I1RIptJ?=>fAm8x79&9k2V|5RzC`mDy-~6vqd;^VXd8l2gY1Bp zvl{&@G9n<=tDu%r3c&+a%YvY-ZK*myR?0W(1a)aOvt4hjF)HVBW{!QN6vP!y1Z8L8 zg&AA682}u`L)%9O!`2G^-5#=1hB+P8VIaFgr~mM@k-2JhbgM{d2?#0@Km-Yl?W^PmIlq?0j@w6_U3 zB1=LR8w0e(BEHm*0%i>H^;x%u_y7DogPsjav{jrQO;v(a?;0m8PDZL;x#=LY%146>F-ny&D7$ zpfFQj5-H-232)z3CY!=ZBul?GuQ@GohuIt2mN9@xt<)eRo4gj;rXiZ?_V`XdQNRG@ zAQCmMJ8$8G4?gHJnx&_TA`1r*XvOyI9Me^*HZ5JOI5oOp-=#2RYXZ5bMT+3=%~Gb_ z4bmMr+aJoRj*izs4SIG8(q4R$1#yrPiL9)I^@$nTwSRAW;TD2Lwu5?$1dk9XP1%CS zDAb5{$sO!_wc$J8`Hp*MEAgth$uaRMgp3jzMISuC?T9w^zz_Y?m&))jS2arksY)*RMgSD=o)g|+An?SOKyujd-e>37}zB(*4Y7N zQIJP-9;qa&xinuCGXUXc>laHA-V3n(XrWOw0S+$<1+ghqx`dfaTot=px2r5OkM73nzfD*x(v?_wbFR?x*!b)l&r^MUWKnze9$>&#@K((X6$vM)W8aw0_MU!yX%oB_M~!u$^1BtEfmoF`Os_M8{%+oX2H;#N;YxrLp%&&e1` zt)#^egpn>HXktKz?Z2-qD1*aP#c(SPE%C*0Jo-d}OJN+~&{}jwzc@HjR!}HJS#fZW zwZ2#jay;nJM~}e^Lq{Sdhc3enW8WfiZF)WUVKYWE#S9~(<)EAkCbCtwOc%C3vI(YdkZozvW}qu5Otwz1d-+9Ax%6eObZ1MsnH9|KBGs zX3vVJTb8UKX6j-?!N_U5iYKpQGCwzNn4%(;ioNLQAj8jgVne!Zgqshkvr~w}1Gnw6 zOl;RuX)h_fALo-yhFov8JbCg&ceX5dF^9{U9#(CXrup~Zf8VICmS_gAIo@13KQ_L+ z2{~*rjvAW^&d<*colY##1Q$pmNQ{-3OPpjHC7CH8b)-t_;5E4e=`7KjPbtH?LI0A> zi)%T6D8nChltv1~;=pYU-d**MTw|RBxeJN3N@M11OJ~PfGbp4(S*g*ZELx&B3BVdF zG!Sq=cdmSlREr2!`R$z#g_@=@TH1PDy#Sy7DpoAGW_VCPjvL9#_ z0hG3vZ+adPhGv6ZoCDhI7js?W$DWQ82BQ^zBA8l=qn~tg6;W1}TEucA!t1b9(udi( z+lHtSZKy$33K5npR>YdX>`w5wjVx-=s!`cfxRn~na%ypw$s|n7hub}yp$!MfPK_j# z@=6b5bKBG1NYw1Y>UteJWK@+J1523-O4u^9A*Ca*RsE4AH`0caRcDQ=;M;f$#<=a^ z2z~b(Z9L&wA4e_v@ef%dp(N@iBU;@M+2GZ6ia$dQFdMZu;M7dURcn!l4EPz{Ox@^CfRNd`qi)6xXc0(S5S3Ay+&~&C^#mH+i+y*XpYwH?UEh+{)pvQvnQZ$wr^R>VUnEtcg9y*GX#tC~=5Ry!fVj85$jUG#eE97}m8%)X(m zcnm~G5p_Y9aI3|Mnf(i0TR*KvXt+)DstYJiz2L4DC!;|5nhgc(;EoFWsFn@~|J4ZyJS`kGed`>ME=aGIej9v?;NxpY3G%1(Ky)b0b{*o_#&rm`B8ZuhCqNTn&Q#!U^i z{!5#3XT3XtNAsdl&nRhuJYMxNHaVR)#!&|#@iHbcWH?4l`Z7~;Z=jJ44kyRaJPR`{ z8hOFtgPW}pY3w7vv><^LG;#Ee+Aagwa8qRW+z8HrQ4^%~IV z0%Kqa+Fg(ExKCnGHmYj*S_|(A%!vokC|36B8(i6 z+5gcW{gGY(f)f)7%H}E;Jy6p@#6|(Lyb!8{cqK&BBTFume2_C{eKDoipX*K#RD}CA9X*Qon zFxXlPMv4VCBS#8l3B);vE?x5^^NKT3S!~A0Y_jf7)39M1ojYW42|sfZV*q_2vfJFU zPnXQCA~MtvRDrBgL!9^!FdWU)0zoe`T&vd>KZi3WM{3=~1X|U_C~zkABg#q4YLu%| zxjj~$e=_<(C6`F2i0%pEf|a??T_=~Vyhd)d7q^kZTN1^Rg%hsK#aclXa%)OJ z^Lxq!j|aKZ=1nUrLdDWZAy;}HqgD}foO8KU7n7Sdt*GA1fA&nxbJ%TrTyl^!F9HI(%=f zS0^!;nHS-SD(3xLhncWxVJwgR$pSH++Cj7j!;HLDZyse~_7#}2vD;xi1bRtplp7Is zAvJ21rZ_zT91wB4n6`M&&dz8Ju$DliT=>K7-ASZ`CR8gDQ>-z-U@fZ_{EvWMw}on0im)U6@=^& z+Er06B%*t${H}T|kR-UrovT znjSI_nQ2*-8W;`qMn6W*+7-8EHJnPbBHNBu?UszpOeujH!Lz#PXMXJ8oMa@Fg|fgm z#slZPbGgw!yX8e&*S5u`BIi#2CC)`D_n>rMMC{GG(BbY0uBZ(Q@ozf#+j|!@E zYB?p|z6KbEN^6&fAnj!w<1X3+j32oTTnE_GpaKd^2(luUgDv2yM7i3j|=7o7(8kpibf*!3$*hX{&?R`Mb4oBUApN_0*BMh?Pm)@x5 z)<4plKt*B-5o;p~*$_O)FZ{wUxD4+bjV|jMgd3FLZy?X3QuJ?OWBrrDw#Ki$kZ>%#b9N?=e6{!YYmS#ti_Q2B5UbP6e2qyjKmjQxjV8D;5ZvGJ0#*xx(t-pCgI9!k+wEfi z%r6@bVeHxC$|T-61JD^89c|f_9GdJHgu2nizc(5?|U0xdo{4#3TDhP+7V0 zgMu!wPuLUuv(kVDGV^LR>j~|}%orYn!B6(ElQCvs@Pr`Os>NE+jbdZFNBcXBK^AHP z`r;lV#W2u!6u{Y5b#uKeXkz0zpu-v4Lwrk{;I=*yv5BcvgM669ie$+V--z*ME7plI z3iSfj8Ibisb6;b7bWCTB*f4QR332W$+Wf*XYp01}ryL2ZY7VN)8vYH-1ggsb>W`F( z4Me6-#Z{2VI!@4`z%gU;YU1#iHgrAiAAKrfZq=bGg;kJsZ^*& z3A+y#mo~o~v3kkVBxn(D@F6UQAtVv9!bQo;vSKV%X%M;gtj+!b82}N!``zyv6ChBI zDK$)0H<=C(;2=0Oo^-S3vbKu|8_-BflkQQQ)BQb|>jRoh5smH;We&_Es8k7YHKsI- z@y2bbnG%$6KR;j9ChN)Omoc%)yja;^Ttn*Ba7ghK#4Z$kGbY=2L zC+Uay5X2sBd01m9_@KHTKX9K{u&h2|yE-0Aj`L=7llVT!lS*YF5Cyn8msw*S3`RC+!wl#m)hB1hF@D zMfnuJWewECRa#mjnq&=S+0S^7hZ*Cm*fC)kio-0y(l}}S7LcqLM2o`_gGgjc(gsZP zva@JQNxm)vgCi)*CpVVz360OD3I8}{#c44B$FL6pnlvIWwJ0kJzEf)k_|>A63Cmri z^Ye2+1O?)YL%0N7%t0#RZ=3SC^ro0{@dgeEL4UN8_HV9ya>pQIvQQ?naE84S!vOkT zyR8sk;$M1~M?bOd}trXTy`okhz< zTtRC>98#uX#Hzrt62Id9{re#JR7-WmhIp-OfT|#@?Q+P*Si1(?Z`+RiXF9Q*K$FQ0 z{zf92%IX66q&j9ZOPUSj)8p;XK=w%%#v^95rR%U6Eo1h^gv~M=g$6fHwd*HlQe%s? z-`Uw2EM$l^TPFg3*KvxfL9 zUFtwbqWD!6bPMna&b$(Ysd?E$e|DwBEdUw=r>hMyq51x&_4?Q`A_9E7=KeI2M_OZ1 zemHU?0wUc&Aa;#S5VxQs%kP6Ar>yN zT|Cu!M9M;q2&PqO$a0-&;NegHoG_$c$ zX!FJB$2d*fIs$xY=ERJ-8CH#q#{rS+*3JO4x~WKlVY6E}5cE5J3Iz}`pio7z5oB^3 zjUk{Tz+u~P>Ig<%oFHiS;)bE`Y|2)>C4#eY{ZY5FXV0}TKE%daS2dpE&q@Q@QJdD{ zn$_5)jXdHqdlL>8^7EkqwWT&oxH6;b)g2rXwjT3tf~>)5UNYoB&3^Vpjl&(;v3)iMy@{m zItcbaJR(8^u4cG1!bc?qCc&pJi5`pL3wkbLQBYRDMs4t;iAen5L6}ORDGmn&+@rF# zBs^N0n-fF0Ec8S0*hWebN3yJxJ(Lq|me)*fa88L^sR2D*>o>5loMaq(s28w9rt2@|%w=}p zyd}|ldG?F#U$dD{e)yxYWz~`#1?!Ce?Ib;$sJfO5V5*YvM+~s^P;CBZ3F! z9b~0>7t*AzQH)?-#@s1#S}IHP*_fkGr)Bzk%~z}KEbG#W!O&qXwVMdwXrtPCC;lq| zkLE=afMDyWibW82y{rojySOiR1SSjw1;NGb%`kD8;Mo&oxgI50ry0vICo6pcN|+n+ ztoT2!2C289RxDk0h-9@rzLJjKbz~w_ASop1#7@5%%U|ZWlV+PET_xivhq`>IaMVb3 zSvhSZRa%jaMEFAlf|=WYdpNJ~wu$2`-|%oIprMDK>J_WPB~^*3R9cIRLl*O3z16(7 zZw0ZTxO!!QI03c~{oug^F1M_3RBHI+UHdl?|7sAXETstRaUfQNO}z;VM`(?OHw441 zlq`?n=m=qA)ymSTov%LHMN$?-?ueEtUeG;-Tdjf2&z6&Qv-4Z?s2evsCC;3z%gqW9 z?AKU&>Vqg`Hh}&h(Ran{Ir1?q%8|_!;Ru%o_+qII&c8Kn=x$@EC}g4%Xo~AK5*25q z5>uUYh8j@Wc{G7Jg|m$IHzAIdELa^OTG2YD*57rXCr_T}^=@I*g;jA1pNR&voqDyM zL>A&vLyxQ3$Oag~J|aF} z4{ISZ{P6l5(fDQ_!!x;Ct(utpiJ%J?hH-UaX>3@*!>n2-;geIOF0q36!IjP;OBGm3 zCt}p5BScv)e&D-->H3mK)rCW2W+*Eexx}%&wjIFKeZ^W46`>H3;dWT1dB>#bobox4 zcAapD6r40xj4PE2Di!LI(|q6%1juS}x5X_}z+{9^+x8$F#zsx0yvoOqA8RQ+(K0FC zP(X9olTgucLOOIj+Ap?crU=R&5#f;A>9Z5<8zuId5tlm!C1?OL`l&)1f`Q8ke>K)F z&!0c{HOx4sS;AEr5)8p;az)VSOfbj@q6lclVL)}4aHK-T(+Mh!acf0r+dhrE?%W-w5 za*!3!`Qd+Fd=nQkGegAap*Pti@(7p>tC!(b9b}LDjDKfcw+5KT4AIsMHosZV*)ngLNGKJLz7@k z87`#=9>wMriP9d2TE=abEvrYl%#mKe>4m16s8Y?!%$gpWcPCMgr8=4s%vhE_7QVhg zGD=`l6fUN#)CF^Tcx_QDPrH;@iNl|=jP(!x;13*IIsLZgb}`2FenxMRR3oaovhfg5 zr5=lePjv&7r~_m_=1vAs$728{cvkem2Oo5cY^t!2$f>X?Xt{6tM_i5K=qLWv1)i|+ za4~K!Tq&5C!*h#8I57DYKA7jm+OPlmuOnF5DLzs}`4rzu4P>8MpM@B{T}kjgN%u00 z`+(D}vL6~?PKvmM$@P`C5agCv7p~S~Q^thB6}Oa!X;*0NdWeiQBI1acD{h^gp~_ut zdnLPO!5OqQF+^5mL|A)rg?OVY1pu4U}QpuO7>%P8nxFb#abVH7~m)W-tYY$NLC?so!FkWa|0J04eZ{* zDXWSUjBKNyv>k9Wwaa4qLYP&A2mJ!XT?T*N`|#mIHyRY@Xc@*$AIgsTHNRARsz71H zbd=$R#`VS8cvi#^9i8IH;H~;_{yWO=6T1Z+li0B9#EZ^_mfJ*Qjjn6MQ@t|sx5GJYFj57-JZCqTl0+RjJMa;qm7s?d89qnGXYqKUA`fO0m z+8glGs=>gF(Y)w=d>AOrAKnSfVu(lb1l#Dt8;>i&$x8U*5Rei~ z4;E@>ToydYD}_6orYj1e^Acj6){4h=wN;TX-C0qwyjBvm&gjZxJ-pn3uL+hKj#@U* z>|1jtt>byoin#pdZohA+IFyE*p=-NZb8WRCimbr3QfUPnt)%q|F)7%XMZC-EX7}E# zP6RPhia0lL{evrFkz^|!L_t}kXf^3EMM+#GL_z;&e({5vQ)oPp*8#{?h@5b4p9V6F zj9kp$@C`+V!7^EhE>p+J*c!E1k+(6a0=~J#x)YH>(1opxosapzGB{G!izfJNF9o7p zALM~pVyeqNrmR;o>DOxuRoi8^N1%7R>CK(CSLNkN{*^Vfj}bT&A~h+7)n){|;koWJ zxv$5=snoUxvP1A}KrE{6mf(SyCNjL9Wn!PTN~PnpG8+eO5Sq$e`kpRlDM) zOE_*-1SvpoHgVD6d&Ctu<+wQN9Y1M3$WgrB1ari!AW{-=tTI)h9mP=qBsh)Hn?=8E zEIZf6hv4?P^fGHrk93=8$`YzL`f3zt5&|?pG$p1Me!In};RQ8&2TZ69vWVbTab;@) zt1{lcy@p1iS`aln*eTG~^yviri ztz;w$Rv&~t(E2_=1iW4WP?R)ZWUa>_cQ z1{j#0qQ7Vb>s9T=m>FSJNQ0D~#1U)1`J_m#Ba01;{%OqgWXV(~ZNy`)5@Iuj!!Qe^ z6lEIn$I&jH7@7u$K7|HG3b!CJ4*2^g!>kF#9hS1-97WrQI^I!KZ|~MB%9Nnn$2w7m zGBMWl`Uu`5IR)t+i_4WZAR>q|Gd2C#;)R^vhw@!c&_?2?lOC(<`5X2fx*O5Tul`o zrMqTS;_&6LJ zL&x}t6#BTb!r-f07y2864Y^i2r}SOWKnB3N?58*y;#fMTWhZ3MhE2v0*d9z~sW(BctJ=L{mabbzIDEP8F_o2}veG~O(?4a{ zTxk51g%l@{D!7!<%)AwudL!$03AYwYm~m5GEz&dZ*z)!2tpc=z@$50l<9`E76I2}Bqffek+miVHOi2OxHMoyN=WypMi6}R&(T4F zM{o-k_#rO<~U7U1J{wTkU}5ezK`;4?7Q@j$$H*W9cV;v8>C z!8fUMJoGpFQm&di>wA3p$@hpyM|u+5l~&`xv8`TG>!>korD&^6nj25X!8|4Ipa!z% zjF3?|k7aMpOk7x%#cVS5V)|iDEg}ap6j(2#f@87Bq(cT#gzd?_?1C>A+#HWT`?Eju z3Knk`g}0;m*iaWqF-8QdQVVy-O&kLrg8v0@?sWhDeS?75k{2dfa3~Oj6zS^iFnmX9 zNxiiQkv)nnK{Swd>C$ql7^~A3jhR6*GdE*hUjnJI9N5|uam5UT2jY!ZMX~`9MbKOa zQrBx82pE3zq7fOERM)HxUnz9NNU;qo2gj$T44xR^$dVKw)x~V2<5SwZvN@0y2@cZ< zv#p%UdSq`9!YK{YNrk`Nvf;%yUirZcmKg2Wxq^rYCOH12%SRmSfYFqNVEANIuU8&? zTgW_Rx7Qx40fAo)Za#8x+H|alK6~%pJqhp{A_^WOh`6bi;|K0Q#v}jM;zt6*YQ$v7 z6>L)GXL_-MukHd1ZAZVD?BRQ?$q*^aNwV9L(h;|=^*I$TE_?$K!JAU?sR$sn(&>|= zKJ@Ux2OrQp1i9f9V`CMqsu?8j+7<&Pz@HE%PKLhQE;I&#@*h2VycRulx6!6n(2|xiUOA(i4;$bSi$q7e7fuukqa?$R-`FQHwoFD+J>qMfFBxLkAT#HR#>5 zc{jt3QI5Qn%%ovv;c^+d3qA&CC)+j_zxAzefwby?CLBde*X~7Q)b5}$&WuZd1WVuz z8S4Kt3QTT^fh#*%(rH%0$iT(ZXf#YdmsotgH$*s8yetX!!exMLD1RsSa1{wl6{Uv#m08L!Lw3zS_@6zdf~(P zOF$cAQ~NfB6XY&vfSnMN8L$vW#nW)w#*6l0$-a4`$FUrCo<(KwY?YN-@r;F|kO4y| zEek>Mbey`jicCdc``Xv6EFJ$g9%j|ot#E>151i^>85oz0GiIEx`H(Ws z!`F!IrB+KO3eL@AgnSj2z;}{H7IJ9P5`bel(&ajrFqYbyw6toS)WDwE<2D9{l)Bt? zvV+OHoB3!Mvu)}v;ygN)f-63Wm~mS~*JGbm5wOlxEyb0MVIDrAykTMgbVNWlDTX&$ zHjm5;x&X3#ynp@Ie|1Ys+BvrQD~5ft#PyBpjavE%5?2m{t)^V3w@XC{xzMZTA&(Bz z5>oz=&c=s{&kTrvq(Jy zwlC1AB`a;z&2#>hx*+%I5}6k*ZH1sB%MwIZB}`q~*Dzu$2ZFVw9eMmnM-4xS+r)?O zemJ+E>?@P83If5=x}nLY2@2JP&dm=oFQ#F_5@fZ^ZT>S7x=jyETEWwJyRE355QoVQ zqIYIp5%_=q|H>sOSbI!rC<6bw|*S9^(UI?iruzn$At!g z&)_rW(NE^BFG$d{?rdmvJC&*p5%3H83xp~4=8209!fOrWq#7eWzI9!(09c}UeWU_m zWhux26_Go|OUnhJtU+5T+~sr%smHRRRFST1*mIuk(0C)ui&!S|ay8SmREfh1tO{1E z9eI*&iQDqwLL+W9uWCV-7#+8*d?nk=>aA>RYjg7uuT7y{r4b=32-!?vN%7>#6W2#A z3eEb?)lpDml|#7Cj(~v&SM&jnskY5JK`bK zwLx6@b}igZ6E8(i*3b!ZeKAP|%nxsgCiX(d)2B~;mB5jmd!E1i%fIZ9O3!s~rM^k1 zx5nr7Y2c<&rg=f5#8{8+(>eupGU=F?+T}K0NoQc8DUzi@a00;J5VV&ATTYJYgA>Rv zHQKv(5dC~z;~_dq3E=FRUu4IY8)-{jb7!ua8(OVj%yQtXJ!<|{6)CqEqBHPv$6&z6 zaxmbXVMDruQ-QZH2Eo6yA`yw;)YYR>jxL?DdSzD@n(-62(xHh{i=HdZi*t7E`>C8U z#KVD*MDvKC-3NEA?H!vI5$6PQ@bm>2-MOQH4y*0zR%CjRrU8j<>pygC7V~eNt_%)f z)dhjvqgtdfg97JV6>h1>ivMUTTOeSN@By{5U}Hj{M*2ZPu>WNOHI&f+G{jX@)1wgo zs5yM&ow|)87tN_oDG*knEV$rNT5OL)qdRH$vH(7(NaD<+jTM_RicqO75ATOd3nQA* zkA1?&29dE;h)yvG1fPQEY4;LlMBa&5L#H&d=p)HO*aOVNpMEDH)O-huoU&eM;L{Pw z;~3#9DTnVz+k$O$i&cA(noNs`S2`PyYu4>fGh>R)zcs@2Mw^wAo=zw9M*NPuBs{X- z#=3gJjC*oHdekp$N?MsaV6%an0;}k_dcO9vXsqMgcC`dG;ohJr7LqDpX+Vz!kV~u= zn1E53xFS(AeE7};RO+MOvQ9A#(2tl}N=VZc74_(&BmVZusjTZ0P8)34n8U_EAycXN zK!Biq87_jB?`}_7V_6Dtl1=~YxXG2>w@^dMmWm72meiIMR&xH)#}~*@P;aeVrP2~X z_Ay{dXEt>LY>~u$wF()`Sc(W>kBNpQ=Mr`V-DdX}T(;-=-d6dcwZFcv-uNU=aw%d! z^q!m3bqfv~2M-@Uq!4h-3!`?BQ@A@CsK;dqtgcSyE;noUZ|#otbOF8x^UyCshL(P^ zG3k1ic(OuZoN&M+%gjI!`R;eW>q{HHdZ2T8gp7W<6}-MU5vp{!4XDx)#DR}a>N_9A zchAaUqj}EdbAO>Z$k)f@ou!-&j3w|rd?Jhf8w0gYUdPJ>U}P zaE67S{^_5#3G2)dyp>G_8yh=1P*%%2Sm5gLHZw>Nl}d-78LJnhSQUcrLa`7BI3^~= zLx!WcTolIAxUw!^aPt(GWzA~pL3U;zrJ@iKXcOQA;?uVVc>5eG+pKcc(wx;SrY;b0 z$S6z5RaU~bsjg>zY-*eC3_g?~~U`yDu zvoj`Pmtp_Ky(O5aeLZlS{(v>KteYS3Oeo4poTQ%a zaDacMY9O*-1^)o4JCU_#{hQs=fF`(#9(3w@5aaZIlj0wK_@O2+CP-(Q=nUDb(7a7J z%#t-`kkT&hS)B8Jjr`8K8WW)0*-+Wh+H(IaQ7798oYf(NvR0#e>y`~BbleKR!T9BEfFvQ+Jo(Km0Q zDZp_<&mpk)u`NCzJDyUhwH>q??kde^`~Mr?_=Y=pRv~Wj`3DYsq9053uGVKb^e790 z+I1mmZ|LFK@{Z$SzV}g6z72-c%s!DRL~&?hG##*z!V$E~b?Dr?cQ5spyN}2Te(N>B zPBNq{!DFWA+YQdFoEUR-?Yx*-Ll~>8gV0ZKHr6^R>z#g)nPucK(RY8+cL8){`?%mC zL`Uv*D_nKMIayQ(5->QH(tuIOf*zAr*gpH={<#A{-x)I1jda(|?cJfDU5)X0q-4R> zV(yLmJ8lGcO}eQ8nyi|Mij2ng1ciu<9m0tY9O;P92p>e8ZLTF{2#C9DEpo7d}nq@!>m#a)J<#(^dir+?4ZF!DztJZt4GyISkbaW$HHz& z1WzLD8SOz(Ku1|T*P(_7i#)T58}eo`{xCH7)hkZe7*Jew<{HLtyV;w=v~B+4T~`VM zpAa%MK}G2Yk=S-{sv=tkdBX7!vN%@5j9{FIjSN1&>R{iC70$y!&>S2^ssa&ffX9y? zLx@hXiewebN*s>^0fbN~%Ctd)AXgS7%IXRsOrp)BG&)tpNE|QQn6`knjRLtUGRuk> zKwON!sQc5#9YJDDY;;vth-_(a&00aavWf3+5qz(R{->eCy!mlPm>TW=SjiA!RJy@G zk+p(cICMps^HRnJ=IQaJ8rY}g0|hmclO85#q*Yw+V3y9V*3NaH_^r=klPr^%Vm*{v zjF4g{WZsSzd{m`AZg@;-)L25P1`rSl6x{LQ5%`j;(`;X$u-BH^>jFB0G&E)53vaI5 z_VlF{|_7`b{7%QeUU~p(;<2v%=%bIAtohFzM$fjrYe$&PWKlCy8i?Hq^!mR0 zU6gOD+iPq#^4Tbyngj9h#o0i9HSgWYtyWXSN}6BcN32HZS< z{`|QYCoFpOH@C~2rMq2LElE_>AaRn&WdTm^+1Z&LFLO4*T`xCt+mp7`K&|^=YwgqP z@L&N%@Na+n+kAMKO1Tp6U>`r2tcrM!t5bXjHL%m_^g-K9It~Lig1NHc{t|;6<79Gl z^4w92e ztU7eE{bZW-H+VV`k51p;?mHxn?8q{ZYZB*nkWFbb;!V>S*!`7&SM=RQvYFWOPE7MP zQ+gH)m12i`S$8TRQcBe~6mAtDibL!s(Ih_bZ0m@Wa$o?gQPN55RL z8pUv?(s(ev3X$4~)dE?ORW1-c-RQyPGdt@+QQjyUKPwP5m;&$J!M+u|Th_w5Qd-%o zEPTMBHsX{UO+W#rIEEXY?5CR+iVH$d6@+PNAggyPsipWP*U4u`7J9#F%Tv=qV zptvJD@V7Qc?Bwkx1OM}f7dJO?_zA=L{O3OZ#fwRq4h2Bn(EOdbVbk8 zosBs(DfIe@H#m3`=;+BJL5-p(R0tto5Vr-CMX2@0hw$AA`O96xZxi;t+I;pdhmXq&nyiYB#!Yg!y>JDUE@ z(h}bvz1mi{%yo5&XUm!!O%!oi!fiAIw<~ZQT593SdKHsPYz18VBEC~ya%Yu{pd#9i z6YhVW9Z#7xT^O?)eRg(cg<%gVAD;aG}CN)53#c5q-DE-E$+a?}vFU&C6+C`f>)MhkNBL`&?@| zS>URTyP4Ll8oOAg)nr4H<*yx9gQ1HUOxgwS`}gldGxR}|&_|e4#_Vy1))4B3fN-RB zMvjmkV69;8AFS{#l9ePS;C&27D*dUS2iqH+xcShDzv!n%-+O7gypLx^OnGXa24WpD_zeV1b-YnANulDSmQZQ7^!Gp zh2Y@m!sa7)t+|f03Qoh~l~h`)7f->Bgi?yoYRH(8z&1E}_4L2}+rRbhk{L?D!&0wR z!xRv4@63E>ug&Fix=yjq~g2{Gmo!bs{7+?eSISBqQZ$OS zH2#uYf<{W?UfLzbasf?U0S70+rmRHiQENub5N$=+-Q?JSuxXZOCNLjRs|8tfs%X-u z#7+&&0-{!+aQc+?7J(Oy+`+Rq&tJ7~Z3r+TFh?=9^CZ0q%%!x2VPWLz7Z=nzSeE9< zUJqEU@x?$>gE9k^8eCYsZE}@5k5Z|Z8Nh84tF(sJTWq-MEh_Z_v-c`3BXkm^WI@iN zc1n5}NMsb;b|bi(UDhZzy)64oFc_1iM#NK>*VrWJfxTIEnYX-}<&pOAsUp-MAFlC~ zdlxjo&c`y7m#s1naPFexHJei|fbe_m!ni~#Fv7;YY)PpS0X;IU(h(Q?5`hJ={$kU| zz&I49tQyrD12-xr2>z3ZYh-b+H#y4lE)!qc&VnvxJegrCk%^N|8et&ZD52ghX4t0- zZx$aMRC|$HA?u>#1c4x7bOkSKTR_bLAC7n(`dFPdvfF55^!)ssuL2WV&9_Zw9|RFA zCtfrMQpa)gpU+T5*#^e44HWROk59STjM%^)Ci{`_;y3@?O=-8HT!kPt;68r#!7V>1 z)AYfBT}pE0xEe1McexxCM>ehQqZ4BU99_jWd=nGz)KU49Cr=toARpFe)T*nNvdgBp zVFxL%9bR&Gv09Bci6JxL^wwl(l#8k&*|?&|1KoP{0K|K6Vtpkw(Hp} z+$Rj2@bQ!F8F8Vl%;}c8_#@5|9J49Ke|DMF;g$!4G~QZ6fzwRyUwb#!R`}*X!g&^P1p*{vl5TW#Tm) zqjzV|F1|{+=+-orch)zqZ5wNN>0Uf@Hg2hB51~!)jsO5a07*naR7L;6C$^1KaUM;N z$pv`DU_ex)dBy&g_s#5n@s{;TUmbJk?Uir7Jsey3mIeOT#34D^8Kf#miUQSTt|NGl ziFQR!PH4AD16fq|AT~$ZE_L|qbw0hxR+O=x|I9>&a;>$qJa=oO`J&w%#1}c_xsfb)UudOJTS&Z#e zVdu^#53ItesC5RML2h`V(ngOPDB3&0Qs!jmf}ZW>*u?Q&3?rNISs()S3T$u2w4HJ_ zQ;Ju~~TbG?Jjh{J~yt18{55Tu3g zOg(@g3Yu$tNzJtgaHL*?ReG?S&oM)UtM8oCY&EKL03ay|*NcK)N5bLR*_lqqj~bB?6e=ijKo4mTWjNUYWty+u z-gm9cp17r&+`~j-tlD8p5EeniZK4_9n5Bbv_v5e%89Z&^un>o9vqp1b_|hXt(%B_v z_C`@nZ%!ZN(ZfJ)Yyzufp>qvN{~jAEspSCAa;ZW=MV^`=w5pg&rHJHVq1lT|=~En5TIM#I2h>=jgeZs)H$iAq1xvVSJ z3O5t@K&9L^Ypk0QVR&|z{56g}9dq#C{LSAu?QwKUUT@ z7A85m9BE&^G=oH{jR{(1!(r~DmgWfpGxJ74e@B+r$FX#5mA^!#he_?M0yT?HQsa=w znx0b~d+_5{y*taU!1QV9g$Dt{*t5-Hlr!u&JF@Ui7NrtrExx8}lq!vZh%*}|#3tPg zchE|i!NaUnbm(d&xRKsaDa$ml*d=F~e09j!Lk;nLM!rGtCOl^FRDp9!6AK3#PFCg@ zPGc#Nl_Jg*O#e4Qz#GCt`e7mUk<^$S4u>zc4=6nt)q-K)PVS^iHbvmB{v5+>$ z8OQt&la=kzhyQy0dYE~46JvylkmjY?q%8Uu4Eu&JBTR})$#Nl^7wB0UzEV+(h#3C$ zY34^>&{68Zu0Vj1fk@t-wPye#ZNOC#lS(y!@Ykvv(IP_f=s>Vi?3(*JCN?fKsmvHL zlvlE+^o9m#xVE4-dTv~(Eov0$Y*fK=HO*M6^xBBq#HZmlveZ@M*3gJ})MVfw)d*5r z!a@fS+6*o*(d=>TN5YJrC2Z9A(ns{8hH@rKC#t3&G0K237Pkn3>(ay0T17=-vhHpY#28QfRLd+|$fMZ%LjZyg;t(y+qW4D!Hy18Vwa65yIF+7`D_987( z^#upowwYYs_S%Iah`>PyP4_t5CQZE`fBdoY7T@wkifeiU?XV862Vq!8O9U}iiDt#j z72z|u#3VjDJA*@$kSQb`>SC2jR{DA*ybM}^hd;T73Imn{;Qs*gHOJu7NyU?H+8QwUKti~)ae822^qi{oamw7M z5ZX)CwTOZqP2BK}uCCIU(M)h&`Y_#lhtbpq$6mQuZ-QyM-$(oo!s&CYn*Q1CD1nA4 zErr7|T$Bc^JL}zW070hIbtHbo(;HG}D|n4*F=`-|kM8Dqzr_tk@(Z%S$xP1BU`~R- zLXZJU2u5dnHWKMHGz29m7hGCFWJl>9PvL+DsE*#WngA^u)jEKMDVw(GmR)L7@LI5f z9yin;F!kk$~jCb%k469<9jQSCTURsv2$UeATb0}4YeNh2HEi3To# z4agF*;KY)2T#Ys+p%nb+oZ>sB0Zq>gin%2|jq6PTU%#LP)3CYIP1h_6M1o%}^hSd( zz?)woTj(1(xzL6_j-?Z9*Ot6Y!N>Me!)lP~a)ONl2ScTdQ`)-IwGQ;BbKRUKz#(Sz zyI7iTBB3MG7NrnL@tu0nV>!GR?6c14^$%SB(?b$MqWoqh03R}6t8?VFbzDh|KzLUDxb zt%IvVAF+zsM~A&F`bO!fR{vC9vwkxhpVSUq|sS zNz#Vy#`}$CjebBC=!D6CHd3MEoiApCP9vMLF^Pu^U}a{~(Gi0n*sw4rXO#0{UfOdR zjYlnZb;5oJvZ)Nma_YZ_u2|S_+S6?C;#h( zbx)?P8EgNW;&Xo8x6^i@}$MBcyrAJ#NQ? z8FFnmO^M(vtdSBx%)wQpNbQ>~RaTY+%*oxZ^e_Z9TxDjl7yoFgPVBK7B|L^xDU>m= z-9-U+!VhzD%Dpuj(E3@_r6GLs{P}Zd(f$O^dzj{9ukn~KGczKys0_^QWx+bn*TO~> zk?JvOnPv8$9R_z+<7^Fm$8=l{m&5fYSy}85ydjC{^~sK_kxtqI+M?N)McjgW`0$}` zv3Mbta_Z?xT@Sq>;=EgI%s@wnZBI}yo8eM=&EBi6ychQ4B16WuJ;Wt%a1F;J{oeP! z_pNVz%L`oZzyH3EFLKK>QS{ZqbIYH3B}HYxO$vxuiCTB^&$*Y5bU3J9YOv>Gf&0>9 z97OC%xufB9SK#b9D}MCoQHK~hW0Fp&1;PfBDPa4Q{_6Ce`v%CRMaH+2F4fIMS5qP?|FPZ%cf#0ViWM+yMUySy`FdhJtz=oQSXS4DnN=TM}r32uQ72dQ`NtQ6_gIF*VMpF*U-JD}WS0rkR3AO>W3NzD8WH zE8Z@SHzJR)st#xHV_>7;@Vo(kn~$TeDqRPfHEUY-ZSr<&>PnL{WL=o-rG<#uOtCK& z+jwR$E{;n3dX}%wHkyqd#+*PlENXomy9yYQDpJq^i^Dn_j=XeBTc>s&jd&(W2PZ)=EHO$>?W>W$eTm-18q-@%;HHD~NozZ9 zl{eB^>HYinHGz8&p{)W^zDL&e_kaKQUL5FMeK!^R)|~^x6}jT0UOk4$>e*MHX~dop-cz7^G%RZ!b`c@C&);Og0{1K z#~W6;)4q`Jzho$rCVjmblbx>5@KS?QehE$-J+YxR?Vc)lJ{eOSJyY_O`T4o|C`;R^0Sc^}D5YyK zFq=)z5pAOzb8MZ1+wbE}JBZfr91TKq+-M-8cEtraJBi<7;69V9ho+G1Hp~qb?d-@y za}w92z@vH5_`_?$WD2HCo1ONy*&M?Hgdo5SVV_8H>1#SUns%U_u51j)(5iGFotQ;%39r8qKXYwd9|LJG-DVqUUX7WnlMvplNz}=bGdhbu zpPIDzqx>3WFkgwu>MgD!X$#pWPo6lrGGLnZ)#zO;Ye!jdgbl06$X}`6>qcgoQ-$6~ zrPO7K&z*1^(_J`Q_*}Jc(xJ3cM3V?|1LYc_Zg|3h3Hx!}=VG=4TTTln&>^ZLN`A=M z*;#iEU5bA8>={qb9Ysq(LOCsTROm~PS3e|t6IJj?eVNZohVK0PWUKG$xjW4(#;27o z3t{t^^c`1UxAt93-H?SC$#p>I&v{?3=hg3HyP>sS1_yDsyIqgxx$&iiJXPyvpGLPa z;Z(|h6ftt2wsupLCf%%d@e13%-|HoCuau*(_K1B|zbZUGQ|Ch5Q9NaOW6sNWUZco| z=UU^z9dCTvwt#~%z0b#xd>t3J*d{4u`nn-yHuR-|S7l}=zAhYGj}}m7nXbw+Fkesf zf(%yqA&kvlk8d$*bR(WpuKd_B`KN#SC(3m3M=Q7#;2WisX)^+;oz>l0;B{EnZBnK| zgNg*!t|Kr)#>S{Xc8Y1(ktLR!4SUl;$I+1$*G-I;dcBVkxL~Cp8A8G5FDk2OC*>3H z#%kbbUUciT45*>X=86H%mAniw6=Y=6+1a*UP=L?c4AXFsVv8ofG0jORyQa5E?Sr5n zht;KfNQn30pWtaAEtycY2zAwz``YnXN;BW9LUjU~wfJ>cs-i4JtVRn6Hlxzk3da)d zTIr;&q)<`s-sF}T$2B4Z?U;aXL7&$u>}N)gg*_PCC}q))P7AxVkx`DWSX=a zYsKu9OD9X-!}Kq*Rx`uE=mBzC9kU;tQ{w6xV5J;9Cw>kXo!mNdbe7_3v6DULDzuH1 zrr`}bQ8B-BT)qG743mRhZmo9p8ea)>jF#8r&bi*iPxj4QZ%RuzcyyrJ=X@~f_=xW$ zIJbmp8*8K}Ptzweuth4oBx6|Dy z@%calg&L6(Bu46&vT+z;7(*6KF$hIjV);-x?-YB^nYH`B{oB7`*bQm~n*rVQ?n-KE zcm8j;E`nlcN9=cziY&_UNm2GkD3fLSf}PzH`y(3NW(w!Ib)6BFTf$LsZJT@V5ZfNX zXm6bd4=d`Fd(r?6w2n#@jF4IC)MDw;&nFiy^NRrf`OjTA6v7vN@{2G(_l3{@@BjFB z7KoH!c4pQ3yAf3xwrU`)vwMUfX2~U95Iz0eYz-XEi`MGwW);>Wi&-ISdINc~8rj8D zmPtWw99&C*1e~&0NubaG4Otr7uSe%9b=@W$x-!>VVA&}jpW!w1|EfC446-hxj~b`> zUX|3V;y0ENT&3pkYJXQoH{AM0uA6LDx0n}*k9k7Pkewz;myEBfpA$X}(BWv0&OHj? z^h~i{qw=9_cSn81s9qCtIB%%Hh*YV%)ToCF$g0JX*F7M|GTw0opI$I^qDwju&kZ=E5a5&I&zUPdz6X{h7XhH>#&e$CxNPC9dtd}doJ$By6MR9E6 zT-UCUEUI8pa&67*fF3TMw^Yx_U0%90H4NWnskMmH>>#6C@r8i zkT*cTTwsSO_fxW_2B4uwJC}ch)Fm89#iJGvRd;m?cN3GA%wFcvnJ-HmXvd={ z%79|%xv+rCRgqZRVdlCgLJNyVH`NJbSM_xZdlZdD1h;Or`C^ds4X+XQIjfd98*81@ zko|^g&s5lkz%prGpjH1& z>)c{TOe&SOxD266D|q!v-vVZu8O9_8;_x^4A->h*d&Rypymn&hVuTUFn^m%OLqy87hW4M&@iukEbB`f|NPysW&7C5zo#;FkleB>d z;wc0~jipWW4(;g^5UZh8^I)zH$vPat7X~6R2N>oulrvX!vTexGtPc+T zQ{ske;Ambn6B$ui1G8uxl%4@G1X;pZ%#@m3<^`e0NDWT#$_~!tUL`U0Ry-3|aNt)V zatCpAY<<2!S52I6L2v3Bd(c>=F>~GRRTXM%86?4sExg{90gicVBd_1M>*)62g9i_M z%+~(Befrvt0tqF4S0uWboo-cNLrTM)m-n2Py6?(&oi8ngkVO$Ei_#pkczq2S(bSF# zN(d5l4aC8n8u>1ldzgRx$A9ds#?@|Ks1}zc+{~so$PgqoO6c;0N@=Xu!M-KFd-7hA z^vbSFn{vqle*_0Ph1b@=YSM^|ae`l1*kzDjAED8Im^_xUUYmg{7SwTScl9z7k2%JG zpR#$e%m}9#8ta0ON%%+Pb0t+>=_Gg^O&U;4S2$e71QaSVy>b$=Ht^T7uariro~2Yh zt4WPoR5vxsO__r~Lcy$HkSQ{WSK?t0-VcnHbR&H_pk78rKtcaw*p|-Ey zy9TEafz-z`uv?};MoyyXGPER3V^&T(C52#kk;Q0JsaRm23KlD#Nf!?tXs5OqZM;K? zqj}L|X9>^v*o1WPwnp~BH;S+-0r3?dq{m5Y)87YCaOQ(a%$U2c)Co>k|DU~k3(+;Z z3cYXK`}^*NjTa(P3vr9yd`bif@vwTeqVW)nHo?Y2*1*aQupjd(!3k=1I@3%&K~+wT4CU)8^Ru|>odyId?9`Y z^CAGtp-mzzEhX*o)vtcFBdNE&?QK5W=7P67sANg}BwFY5`)SJMRG>NLak_fMd#t|| z!>koHFz<(%PRKZ?PT(tI)8N`Ue)61(zMi&mkVt<>O;n1 z1qUJK#Us&u0!XEN>p#!1C(CX9;e=6J4qn`25qVQDRK&6Iv(QDS4G6@Y^BFG z7%+PF7?a_sU0D;Lc1K~I9FA-bx~dV6%)PRS)1P%PFfHk3hQsnKda0aGhi0@M4DcCE z5a9oR|M@@u@Bg|#L8WJ;An2$Ff)N*FfrYg#mRh~w@R@nh^%xyO^Vb_rCwWsLYI>3$ zhSZUC&ajg?uk&?^fBL6?IT&HJATiCV{cc7_dcq^jM4@m8L1oOtoc zDwsRXggUNc97*I9iSg{7^#l0jfKg5B4Vn zqYs}N+H3H4@7~2^uN?alk}stRu7pr5Wu|;0qoDX1HhSz0OKHQS8Yj!@<}Z9TwD-4t zuno`Hu%c=1y}dmgYH>S;^sf}HB0}5Kb3CqL)xbS9pwH;omREod2G#?YUldzXU?R%( zsRLau^g|N5^l{NJRk`ebua@enz~K{Pa1;9NCuW?r;jg3*l*aSGO>5VhlqPwpu? zoE|*I1AKSK>x({9aa?t4`ceb`??G6moGYx2{ELZjuC?5gxC^?%J<%=>f*D*_&xVbtp)~cP#1MD=pY|NzNLVxL(eyLpP zG+(YpY0jBaD9m(pQYog%VqmPpNna9V_&T{|uk$>gdg>{E9OaUK2(^A3UXX*Dx%3`~ zsfd^eJ&mzwZqZx#&%V*^^UnTv%4_Q0AXxV2`&T$NBDev>ErxA^ z`*^t9AAj;Ee}Z8SmCmEL^QN$eNo*T{*REajg^26duiJ3(2Tn6sP>9LtB;iXxQHY;N zZ4g99uJ4@N!NjW1Re-C7GV#d|G$9kSw|wny+I^!>9(7HFLhKE1r&eqfBD-uUutc7- zfB*iAzxa!ffBfT^m2a#IDqG&dE8{u~RdTAy@^H+2k$!!zJ?+@h(`6^~C0 zOdqg8j6=%&%fI|fldaxJSJ=?3Ng>7ViNERcL6EQf%CFQjIn@wQXtqQ)YD06$F!+Lp z`hz(B6D>s@$$9uoWN7fE7e*}}Q9F{z)l8%%3MuSs_|sp)wEDFFV+Z?Fit(Zd1=6!5 zMS|0CDJ6opG}foct9|d9edDMwb^x|wX0Bh20yY}fvr3F_$chLZwgSqCV zTqc^n&BQU4E6A95;)y35NHTmqX8ITfyU@JiI4O`4Qde@MnMaXJ7vEmt&G3@lUk83y&AAOJsorn{DOZHvMc1s(aYzrdey7A zC46RR6ibslE_Yk_Gdyj5$+nTd1Ne^b_>Qmt`mfiEq601Eqc5104%fatMO{cKi>BD4 zU8(xTEM-{m=jW&w3_j{*7;ZBPJc=^Y+PtNnRgS zb6h!xu8QypDbs%=`>$z4ARtKdDG)N>dl!}tuMz8eM~aY)vfx9e3W|jfmQ}9Ud=#YlN0w2i?!=>@UiyK3lgWqB=$*L+>8(|P?{%zm(ZT^hFKgV!Nb>{t!zHkP>*wC?^OLL?-iarhS ztH1iIckbLVA9BD{9d9rLPBAOaU`H+GaL?R@c7y5dZ+|=8a-Q9o@SoMDWkYPEigblf z%JipVK4YOEkJ=XseOrMt@rEn}4I#wpFuX;38(D}@ro^0E6!7+kfB1(+kj)6bC~uSZ zZpXx3XvpJaDw1+YDsZQN`?r7F$N#mv_pLO6c~5b2B^t_#hzW~Mi5tvpf5c}@k{2em zxHD+8OjC05wLWEH5{HP#+YnTv4IP;NRE#qHg}BX4tlGb@C1l=!nJVI~;?$dRhR#I> za4t|0=ItWch1sHHSy~M~0RfgLn>!MTOhy!HuZt}21>x-_`n99z6HaDIov_3O5qD+d z-Ws@~UNps+HJUM-qwlS%6=T)FqoV=qrIoUaf{tID(l}diZZM{^<&*ufVSGF~@;w|* z$4oJM2(*_1oqjkIbA0!TSG^j zB?zZBdCyy-15LkRhopJj0&xCAKlDRh-1QN19u)u0IbK=QK(*0%bNFb{Z}{VxayT2d z9;}AEsh{|XpWsb7yYnGBo6C;-;6RpZN(sL>_3AK!i`+g(&yO++98ubu;eL;g3bP_8 z)CoPFD8zsw0I$OGguREQq1E`E-}#*mLTlnGDqhkz5+yoF=O3B|iRq8r-}=_KI&8O{ z^s<+|Oz{RRG;r~f!ad;zduYV;_`ARRyKYH15&ep<_zE7oxZBZiAXG~g#XJoQ98tkr zA>RBa=7&D?A>N>u7i>@TQ9wn~;VGC@b!9Q2)jYbPO%=RT4Ey@My8OWvHY^iz(;N2U zP$>ZggHE7%mqBcuyz5=>vQywHxLrA~v9!b>qOq#3;s~B7s0)+C1n_|!(Yv(odiIk~ zK53e@V2`Vb;u^Q5J(`m1vpKkDQDTnBk>`kx^0#BgWr}v6wj$ zUejgXnNL!06H9302|Qr7r@FXe{$k!;O($cHxp*UNDW1P?kA+Dbon$HOP z)Tq`!5cLwn4>hb3;f!e z&%n?B(I5R$=ZgFRlw$x8p8y51r%2sEmyTQe0^Z^BkInCW?|a|*&Ub$A_kJ%X-3o>| zBlL8g1pS5>QjTYB?s%jS+g15&xS~C|&AK%KoT)Abid`7N*ehT8O7a@2&Q!U(=5WZJ z&;ryrWf9*cEQ`27VAtu_e(l$I`2N%0?dX)*3?PorA?vXeS=iQXOeQ$wraId<0lMg9 zSAsGXQBif>=i;Iw&8<&rdehXme(SgDQFK@p@uMPWI*CNu3qD|We|3{$`NNo3&AH;u zcywD2k4ZR@g8xW_*e0o-&lC1;g=yTQ^dtEvo!ld{E=OX5pL95!TK4@DX`OtB#bo~! z`sg+}b>(Zpi=}}p=S4Tnnu9b&Gw-7{fnKa0v~qJ%HQ)~6Z~fM9xw4pTG`&5Gp@Cp! z)%i1{FRC0Di!W10v&SgVwbD1d;SEl@cn*%msMo9#8ue!Im6*04mORaMYR8+H?duH6 zKS(>GA%d5sd$9%D1G7bTS4FDJS;8I>sFXF|k(w*VPe1*%(-r;(BisGb)DBZYwE%?O ztGo1=EqV1%%5bJ5009Cx zwgC_nw0mOG<4Aj9!ToUO=g8I~(|@9T@nhn|qzevaKkJUqousra%$q+m2B^+w`D`d? z_aUX=DOzevbq_2H+tu}m^8dgTwN`W<8n~ifG*ve6nnBF7%crGc@RbZwRz}o-s*)%QB;(%;QR*SDI`S!I(1}-BH9X8w?7B#Ct3wVf=Ol>_! zc69&_Coh^u;r)3hW<+3Ua)j<_jonjSXO2MaXlCfg-hs8e@8gk0*xTE4wC?>_U%K*& ztec;CFK5oluj2#Hn-{^gb^ zZWI`#4zxM^sClCvhy0M#atc0E2;$ztrA+stxoVC;V*`7XQ@;&UIzYTsU9cG2qirwo zx+zVWhAMYg_cmZh*aX}?R->~1w9Fy7FLk+i&jIFH4KvG8QzD_F4;Zd;p+^c`g~Lx| zlOgeS03Vr~{;)fHgQ=`4?CIEv@C`Hj2yXgJyHHVrz)xKO+!D>B02ZQ#Hz{EJJAXz{ z=kfN<_kG{@c|#tnp{Wtg5w^sO9OG6`rW5_juyyBu3%BV+5uxGWT^>7JbtH*f%C1?* zX<++_^m+t+oZc>3`U?}yC6j84IL#O0nJ!I3GvRJ2xMr;yc(gR2V`Er9ud7=xb^E${ zR>iEKYyaP|Wm9JQWQ#cbbTiOFuGqO&>C~Pj3ZQ2?XP-TE4QuP1ho-ywMlds)k?P2Z zf8s3HtCE?&JL=@Ypy8jwV|!|B8c*${UFQ|fY) zf?wftVreWN2@W0Bf%7rO8<8kLE@f0&kCMnadEM(?$Fl$Z-~WBr95kQACY(Xu1;9fU z@gco8;ouZm4!N?j>JNZI%p9=x!ul>nz&r#+!sk|zs}o%!6CAgg{KO|d0gYNtF_>?0NnC&NqzI?P0F;@)mRwffZYRv z&Wf?;+hC54-NAOn9S>MSB(73mDRDCNYYUHEUkayOMEs!?%I*lbK24d@E51QwsBHmM zWL~u|W)s0)%!UiCF08`A02qDou+j7tZ^h-pPrY3ITeog`WgUH`k{aeI_}n7Gd1v8P z9~KKb$@c2tgg_PAE~P0&Ap{@Up-mHSC%ERW8dx=u2CkeJ-E7jV8r&SZc8FC2mrMiG zv1bJh5ZC{ccXBV8_-8B5XelFu+2L(82W~!l8nPEQ_7?(QoEzPWC@Hu zd}9INQ4#M*JCt+5)k^^sB4yB)jEx$Ha+)lL>CJq-&N-*890#-L>e6-9<99}SXl^wU0QkO9J;3fYv z@HZ+QZWSz0ri(3h;=Hx)J8&ELOAdom=FlGmckG>$YuMt7k#;#bCqt@z^Z}s(7;%G7DcOt!#ej=ea^}o zfbK#|l)|*NAO)WX59dMCn#aB;-DiLHXY*Cua%7kIK9F0!eZI9y836=jY>{2C{AV1L zE9E?R+l8j8afN^U?L$qV|qpZhsmGtl7ZJOa3~(UdNf zA}btONZq}A_Z{zehjY$5ckVbijd(a>K}9g58CMctVVS7G~T1noAdo#OBq?viH(WlP*(FTs}vUd7W#5RF{&vI+S4xls1gqqsJhbg7RQlMp;1Jbj}p}L@9 z8(Og{+%C4+;Uw8-7d%3vrD1FX2w_MCkjuq&?e3b4cT7@LjTpmmB^EHSB(gytLMe(@ z)}ut90B~!-s~?oBn75v#}}*l_cA0AKsHU+WHtbePhoi|)wzJ<+fsMA=@O4+{7!pLZgT z46=N_!9T+TeD4ixF9~DDOHwCJs+bOW91lq(H_bGJJxZq^4E)=_{hLG~4rNI<6{9Z^ zeQFWpN}1`xBke)1ApC$zO?7I4CUIg}JqDl*7&P$I1-?4r%DoqTb((gSbk)GBfwR(p zWz722Jw`PBZ;HE%k3IGndvV^Zo4N*VQZ6iDL1n(=0=d>p96pajDrYr+{nvl(eNn4s z2yjT@ab&T$DxPsLi4PdSk5xRb`dcQ-_b#sgeQ~}@7FM_vd~PuRfcbog)ukNvO#pSJ z4d$RPHu;vAGv2JUvNR|lhBdKAVZ%IPbwQAxtrmXt6+umkEPyN1wwbgD=gqC`VP+Hp zv&3kYE+r=Addt8uuaALo&*Wxp*YP~Y*gOKzQ9Q}1jw z%--G}G*!n#IN?hdN(ayY7y_5iOS~=~`%2j$RB*q*0kwc)JT#ytF|Ouu1E@xy7IX8( z|8<#v98Eh@-9TGD4*wEsDJfoE<_Sa^OhBssIp>La0WGLe#5D@F2cuK#Xs>A2e`aXZzTz4M z^3VxiA8S38J~)VgZC!bD$H&_(&5)(&hq8pqo>h!JZ*RG?V@k$Cjlt| zV0+iyic-YKl|7Q%C7lX#o^25S>7V|o&Mem#6AU*u$joo5qpL;#SjQ0uErEAhNDJ+s!@wKY=@?Zlu0~NoJ*PbDU;|@inj{2YGBpCs(~}nKx?^0 z!auLL{K*XE82HkUl;~SyGWgD`C4X80x3&YkKI;8UE{8J#rWKwcJX}7HWd6Jpr?Ik%R7VdI z>BQM7U3qocCzqy)A;=QbDl|q#X*e^B<4WL#`C!ilpZNrCc6%!_!;M z4tpUBl?p9b;<7KP^Z@bG{I~PRKK3!ak?V*_iFH@J393^sWOnM^yLTM{IRWExI|8yt z(20;oJSYV@3K&C2DHPORI%CwyCu#;Y#w5yx24R?qrD}}%vfwy(#e=_Mig;yk31LAk0nB)xy(7L0F$9Y&iJ$clIz9;o-P{_3xM{Oqf~>Z_dK zg;0%AhTNlOb(Z-2^Ur%Tg7zGyrAdIR+9@Z@gjH~)Rw*Ta&gXoNeG`rcM|w`chPMp> zhtmgSagFRp;K3a0E`uymS7b2NLL5qq$(mb>7pPPKV;c{tuJ$s&VHF(#&Fj~%^FVxI z4uz>@gT3`}7Y)?e>J^%Xl510Eu%=?$%|4B8JItQu7k=Rv+FLQM^%FzpnP;ByAv#|r zu-sUB+zK%aO)n@Iw(j$P&DVU5w*zebAge>_y6}Jf*MHrgz4!eKXvUqb5P(uRsjYWm zdlwwk&=hnY(}+zX-BLwI2E9nvf)+BK=>g{9iW*0U)0ZjLn^x1OFC+K}q8)s*q8V85 z4~52>O+ZKAYNyraI{0dz76Bv(McLVO-RvL!;U6+-)EM#M(_>SmtSFQl5fmH*i(}1PIS97e{pYa)=!7N~TTe-)(ZYe_9 zD$;Utx>_D&sd!Ebi*8jrKJv*W$5uYt>^SK5?c2WU#5Em+4Gxb>-#|N$N0vdh0)@AD zYYxrCR&$&#`0yJKhe^%q`ns?CI(InFgN=(%vkpl!S{%&%V1D@@rZ4-lFU#ypgmf5k zeS?On)PaxAK!^Mj7d6pw1%r}r+_>Qw#9mTnRt2X;00PPmPT9VS`;NV1%-9&Ec?4Ho zi6Jn-6|oQEMz<8!VY$_URYhuUXS2@LIc&0E0(_MUjClvk{>Ym7&Xix)SkI|mbWo!T zC-c$zG``-lO9F42&tvS_M-Mr?IkA z?*<@OV8~K9WBPY~=XYNE(wA7NnX6qw} zpA4IMqo>8^IPF{hyw=a_M!|Lo8HOrrma zv+rXDs2gAmS!b~3BJZ?&!NK2^wM$|j3PD{|Lql7RyHkrZ1?%1@n^HdOvp&neqt%xN zVF{2LJ|(~b5WhVsrb4B}azh~Rvh0y?IQ3gY!O4|u0~Rtg$S9OprEwLhFzML@0#l-$HA{)cRpa4O zM@n@05?3$!^0nzI(W-$}181xOD+-ES2yfHb^ksGN2P9ftTRd8~;LNgg#vGgvxmHS2 zSP|8b#SCEI*x`0V)w1mjfo0=GO7Et&Bo8l2weC*J0|qjf@R0sn+OrsZiivUNQ%qh} z?QD%WSIvvg2%A=$Udr}jj5-u@VlOuYtqFk@mFpt0?xFQ{d$t;zY1&tDdlO8$Klp<` zaIDSbm8Bp{3!UmM1won@SjPTVYP{%SW{}~RSiS7L-~7$rbUdZ(Aj64UKxnc!_6%<3 zU6!I0H0#nVaxmZ6mJ0tH~YqK{6-a#It7|k%~4ZJoY3JP|M4H&F@dArC8-b){OYg%>L^5CqazY#H0`Zi zyLOEe;!+03tb%KNQVrDZm7;b!*O$ZwyDX}#w&NBl;xzk+j)ZS+kyXmp=ciX-vSmrf{5 z8Z|K-8%N^fxm+=1%mW%(fI4{uk1Rfk=s*rrL67c*nS_a^uUd`~2OBBAW@2h}gUptY z_aJGpy5uSvx^6%*Na$By22R;m_po3WC_s~ zTWwS~b{jNSBgN|WTxgb-Llte!0$g zs(Z+_7vxw12#R|Q2!V;lK69m$Lxn>K2m-GjgC)2>lf2i9FBk$7n{IkvHLk2l*u7KlCd>$7Y)=uwUM4c zw*o*%vJqx1XeM99u0u+q0 zinOd&)*)44Q%O%l2OGll#$7nS2hRWc|9x;9jvg3&oX6Oa1?6Hu*AheUXe_`d0yxHq zAbgtszTf4K4WTtILNYHoeD*4td(^6^^Lw-bM-R5iyutv%8wy@aG485e-}VVTm%y!n zu3hNon6ZxYfqmZGSZ2=%z6W7ff@|%1wyDf!A_jQizVqkChp7YeQhb2jCWz&riXcd| z&Fb9^%WK>&c|KOWOO&yC(U+((S5a0CtQt5U4On>ikd_<^7)#VTF)Jc?f9ZbF1+}P@ zbv}%oF;xpKipAFZs1sopLL1)Ba-F?1bS$WM?%c8GZ8O^vJ~$6iUOdDGO9c>DEFLT| z$8pZKV5=pdL$)(k-y=d!gW_})#r5U3X;8KoT~VFhTP`%Z@+gs^CXtKC!IQ|9<#jvg zU|`uxlI}RjNegp|Pv~S-|3NL=uD+D%sdfP0n=kD`Cd$*n21t>^CjbS*&H1n!5Q^gj z579>fz9yDf5s!FQH3y7^heL-dxYBPq&s=L|8F>y{*z^jF)R%wxmqV^yq>lz9h73qWfS14g9 z=Y&(Q8&b-~Wc4P#Em8XCwuQFFr`7=7>YQm<^MG{^ODAo+1O%3)SJaexh;E~^sm|Du z4&QYE+aFSl4vhibx~{>`O=N0)JY z7D2anFTL+IN;HR4wMD_`=8)SgLx;8F%WeBIAJn2a2EbygKbq=ws9>l9?3aP`JX>3t}W)+!=f*+w(#3FvO zr2PN@KmbWZK~#$Q;tU#(_#Y7fgmNftGutJ&auC7BlITG4Cx7xMS#0zP*=eDRl#F9Alb6>@)oMxq z)0e83ZO1r<%!`h4wS@0wNG9MYsw@=#{LlZ~QK6fJ*>G_(}};<@PHbCZ%xNnZn*UjprqD?nfzd1(oXjyjiEU zPVnl1$}Szut#!R(>P?eNnp#lN5Em2I9vJg=h4!y9gtGJ0OIQbOwH)t3Fy^USUOCAT-$AFPZ6)7 z2^46~@sUE~1se4lCSKsOz6;$0H%D>W)eb?>Sk$W^{ig>hE|Z%a)MB97in0%)3dk`K z&sQN{z38jZ%Bzg4238H6Km#pZRx;~>;JZrx@YZcKUWD~#RzyqJ35Y&Ys0T~u{wh97 z;FH*^cFf~VLb1~@I}1!mcx`R?CG`FLK~bL*JD4ga9=_l>7S@R$Kn@ntNF9!fb^xlT&F=1?l$ zY9msUj+-$IFMBe0(%lB+T_D1!_1EZ%$gL5P;)i?Jk(@MMHJ8)3I;6x>#Yi-P=N1zBv6g%RX9J*Y@oA;Fp5u95T7H5|u`D+oX* z1jx}@Qs#hBj?);q1c?q|vFg0VT}R)(qCn{q#lDpQpIe)5lPDNj2&ISx^^#pr)89Pe z$2C`nKiHrdmn~D>Fb4mi-2OaMbpRqziv!rZckg!0n?7Yhc9#426WqU+zAfMLEEhr=jJR+uP^a>6fNoQeRu2NX~f0M&&n zRbbB}AcP1?q4SzgT^`o2wNtzD9t-^+6*V?5glu~l-N&uu#6fH@i zpC|--RMtKq1lvir5zY26jR>0>aFngd#NfuVSSehoZeqFWsygr$2`{Moib%VPxoTk5 zz^Z{Q8n6IZKP)F!DQ33?hMnga)}AXz+M$+(1WwDzC0;EuM3zf9rBRDxB6|w{XoNPr z$>w~X6UCcy-PdwUE#j;k3be{vYZauZ2&S=gxTO{DKMUt-Wa#_qiA%`ufB*ZrD7NaE z+E#rV?Yw2qv(r2#8efY6jVoDp?pbdf8}Hh&=C5DBjtJWV=VU>1+30E!qzGfX+&}YY zP63nYUkv8A0G!#XsJ19Q90<~bxn2ziV}Y4f;+SHj=30k9IhwwBR5A4;==8%5l=qW$ z4;^VKBU9V^bza`nuYBLj8xuLD>_6v(3J&s;;3O^q+aKQR(}-wdgGJ7T)9AXQb7=-5 zWK7~bAR95Vse&cykp&4MK|F%V?#$UuY+Eh9;^XhTIIFq}3!ay5T)??!P@Uj1JWK># zR`-E7?=jlS!K5qGw{PDrE0$7tjKwp!M~G>JZCs+2Ny zY4&k6W3^hu5tjuXDYz~_{^LKcERE5pyX)@Qd(;{HLDb&fUYx)WsP$10QXSr$P-zsU zph;JSz{SFkHwEk_@TGm(h%%AIIW)f0@UQ_yp~U@a4hXXKePO%lx)hwiF>-I+y45CH z=~FN^hPdqv8%COPOVxvX5rEoDyVp9&JI!&JL-I;g3Jz5S1A;w<;4$DZh3zR7tgNOt z#^D15Ov+XDGKP@Ht6#z7MSJ^3|FlhGENBi_@d@Ro1`1MM_qx~dA?-9ZmPxIknL&Tn za26wdz#*#srj{z&&hQ1#rAdJx_!NURoMU7!R#1Y0>E?y3x`7P{;#-1QDKrzlB25U? zs4V2#LZVURV$h22Oi?2-hOv4=tUfSxy9mq=@q$cBT7B;k6tR*1}2Hq_*N( zqy?A3tmu56x4-@E{@#;+;;LtV^FwJZy;kC-exxI%EH$*KpQ}DFtVS!kT3FKDC$GzL zo1N4FTt8-e$z^9V-<{Dh$aq8y2%fgUxOa~2UwM6*%vVou-n{7qUdKR|(Lf4-fOs*W zE^)3xoq~8=QN@y5=Q+&Hs1YYEg-{bq%p~H1Ld#B~rC==^!Q#eC)N0>g@t^@@sYumt zdCOZ6Y?lg-&R~@3DwMA}hrqUGxPQJ3hZ)0=2zA0G!BP9v6_80?5h>7A?a^OY+4R9` zeKN+dG#tWIUFxD7AM)X#;uB7+f}H}1+3~s%cbbRKS?z3A=ZS$7I6MPNA%ZFdM07v( z!sm@k@lhpqutx`R#J9Tom~!St$#Jv*=#G!K{%Ovvt}m=?^*I!Og>Bzf`Pkn!<(JD$Ag+V?)C zxTly83?V@@9CaC7H*VbUe;MW_+xk{s!-Tvxg6RZcBTt}D>`|S4Ng4**^%J9D&`AeC zt`*QnR=Y@n=KSBfZ^)~{hY9%PZ7v&MrW$NWH+=yNYNV7#sSyD@5=|oG2~3%?@@*7^i2{vj(_y9}jSGoo6#&#gE5BEfMCwJ#jcC>wHG=tj zPLsIS9dRhmZj&-7wCI?dy1$U zf*4I9A|tgd$6u^TeSqhwagmbiq%^XM&1r7smWds89DYCpf^O=!5n7QL6gE0_NX8}JFQLF;$d$i zQ94r8$i2ii9fH+@L+QWwd%x$5n&X<(!w({I#nlc_O1<>v5__t{o{oed|5@>xSby*b zJh+7{5uZzb4#U_hkxmNkx2syHrQ#p+6d;X3Ds?S2+&x;<4>pf@ahIsxG8p_<8hry%? z(?Ka))f!0pazcQ7>BH(pU-~9q1za_-YG79lSg~5V+(LZwo8Qa^wYvDWR;#jH!8*bI zu!>8(#0v&v#cE1kVhS`!Gs!EqDl?dP0^Swp2JkkWDLG8=UqSv`vacU05`HTyQc@nw zDyy!HHUMYi10VQ+4~)CH?fqK^%lv23u>i;gO=}VjX2yX>Y!i*o?2AeqDtE%UH*5}W zkJoqEb`_}#LZzQ#j~6YZd0Y`t!!bAWyTBxsxa3@7_}Z6kT6;m@H}X{wfk1pfSu_c= zQl%rf)WFmZhYf8{isziF)h;-Rb+lr{VT`Tpe@AW5aCiN4tSXR-!tlA|c3BY^hlZ^< ze~%UDy=e9#>(GIxOXL321x+1$$Oa&;ma-_vh3)?JigdCFsEBJ9j90bu1KqsfD%dt+ z)b^(`aY7t`A_2o{BA{%HNc6}~b#ELdsf`y0(F*d4U;EnE(h?Zjw1vk}LS2{7$=T?R z3_})&)$5SlCxZB>DAS?u0{94!tK<9)-U|V>(QpL^ELKqrSCJIe;mX!St!5D67ID|k zNr6wMyiLX-g)&&F{GXV?BvQr^MKzgV9)LX!fe4te+ye-7Zjc&o?J}TnIK;4800nFt zk1jaa5rZFnWC2b%+xn3XIrf54!0?F7mjg>YT;s(|iB&=YFi+=1-oh$v%pk1~@TL@u zj#wgUQJ6N}Lhx`FB6UKV)_fq&zc4Vl<3`bADSA-qnJGrW1Zw@F2TIZ_+bV zop=k*y4||>8H?IQL!f2@-Deb6$3t!LXes=DxZO7J?uYJLcGbYDfmH*Kq6Vxt z)-WrFH=-?0cGfLp%Z0%sob6W2qbT?W&z8ed*fB&7CU~&5RpV&P$$_ zRomn)yYh(Oz!#PUH!3=hNA=b~JO>NBx1$*fK8NPwC_wvW*kyBL0KO(p9FJfD1?GZt z60h1m{`ljJ66bI14=x|`f_|2AW%QtY9^%{&O^lH)8NoQ@WHO-nDy4@oXw^l0m~Om# z)OG@Q^u~=FrI$#22ewW^qDfHzAqwKOS_(Hzjgqgf_qut z6Z3u*WOGMT!3{pAt^i&Wr;%fZpcLG4`5e4>`#_3A)TrfDBz_V_7LFR(sbs;%5D$lM zpi4OF@s_5`Dej;`P#4EQuV7zBWK>k~5^+vgN3wl93629ChHp4H1R(Cf#~b^4X+%;K zSZ=Zd_z7aCcKG2Q8)Y6xE#2hQ#KxlyBmeA;JwiDqa-~zd*YgLzic$qSfGUN+bwLDx zb6L{8%Hc4IJ&mCAE?%@ON^3g_DaeKlWGV2CJ_@H9^Fufgph?%Jm!4fW&@SZi zcqF$Po&NbqilmwT>DTBO&5Y`fq_914v>iW?u@^sTtSp=~k72oD{LDNY=g|QJAi&p2 z6puG?oj*E}HA_er6p>3zxl?I4k77&;fm~wz)0o(6HE(*;n+!vat4>QyF0`4-JdkGK zn>}o5d!fTAy$RfWWm2U~nBr^KuJM-j7IUC$^JXMO=+HmFOF@>8?G-IM8q%rMT=&Ia z{Kc+uX(^)^4`wiPPMdRt4a8dx=OIW=G% z;wCw|Vbi;5$p$5-QwuMiG?F(vCSgbFmUg)TmT<3kI_dRtquXDc z7RSH7Y~);;L*mdZ1=3ac=dH9Db9$x)o&MnjS2pI=9s|UIlebpO#$jTDdz8hJfXUEj zL%4SM*0;XZp_%X5uuc?@+A=xN}XP$XR5u{|HaDehDv!0>v1k&qv=!XVJcM|wNw{G2X{_H$t zjAo26_!LolV=%#$MLGCzEUU2zO;8sXtKA&!$V0=bdZ*n{NLZNJf37bgl1rut_KH#C z|MN?|8X#9Ac%)g%BdaM@wQG_OoklJuHSL5ZOy3xu+WsnP4|hikl;DFhct)Rz%$Uv}O&Qg5(LGo+TQ18|23uB<`r z-IjKgqE;zcsc3`9mPeE;C5EOrg1TRgo}Q&d77kdVfnzl3!!9FKeCQ+yZgt(5M;1^z zIGUpli|Pjx+7doYb4^(_uxen{z&$n4G-8d}Uo>940IZaI zq;7t?s^n4=zYE%sGFdfWwePFcWL-XBR?S2kVF!@Dgw5gBQLd)rXy;Vk|MWr8k9_1K zPVIaZ#(6dSUXc_S&8GbWrM|G;J_KiyAD|*f#&CowTP^HMEy!(ILK1_;6hi;W?-ULP}#0QzI7| zfLjh~o<9U^AOeV!9{Iz(Q(k=(#6r9|i4tO<6b04dHl}t|szan`#+$Op9?*D!j&x9( zp`|QiDefbX6tWJ0jtln}b5h<`fk3u++ z63bEqu*`*njTs10^9W5GH3Wrl5@AR|Te5*vl}4xHV1TURvaU#c?p}0*A#H+bSyQEV zvF7nu;%Ho=6rr{R)Y$c4%`7G4E7)M8r4?8;uxjAc8ZeodNt&HZFX&h&JbF8^uV4D2 zZ{{Y<hbw8pXqWEVgje?S+mnji$ZgL zi$c?T$j3Fo;EZ}}S!}p~?JtGY=tE+PqZv+y0(j~ItHt34v~mYIYV6K#9_lKudChC! z>mJ+y7scJGjfb}OtK#Cst(7=TMlsQNHI5xPs68%aB%lCCkV_l4ZryU)?68h+<1;^C zZ~Li*ei8(Mntm z@hFHZj!$KUwoYnCMEp4uCtTGq;ds?qr8RM9S;KGyQTW)$KIXGJE*OL5#!0M#V?&IH zBGTPsv?akkhCc|Ef*=ILcV6uRJb))}XUAn}eFg;uX~{K9-HATA@kBQHL`^Ot;%Wp? zg6o=mKksJ8*x|TJ=|Ncq1zxl_+kM0Q+O=ybT&d6!$|FE*Y{FNOT3j*cFc2O45#Gk+ zaKe%3*eW^|kI868RwwakWjjqgJ?Y1Vh!neaPH@*p-6Ek?Y#>_`(-kdMONr9;J?Z4K zxr0LZ!-*QTqqoFy3z6{dFBH+BXJ1LXOruhmkRd*s% z)JyrrsS$56iOy275^JV%G6RRRaMkMQ}vGOSK$FZ6h67rKWau#o-1i^oM~B3O!Z|?D~(*I2>BF zk*!gpKa>$qw?k^F-rx;{!MqBJ|)UBCFAg;v+Ylz!GQHI>Xv8A1QV!p{&8Q*R;$CcK6KP zR39kv-4PxaAI!&)9ND=M?R_mp!Zev{4zS|lnx^GEn!7Z?l9WPDU4N$XRe69W8q6XpX^Xkarm(@bzKkuS4-ZUb8-|p zsNBoFy*)y)3)2!A1#Az#4G}KiJKym{DvPu)xl47@JDIPJJfs_)|EnsX3{;zSjb~r18N{Xo_E*P>k%g6 zn5>{niLMez$B!&HRWvj`^4}bva`ky%<;H68#3dHH(d{7JTLV72qqpNkrMd@X0Gzbs zk-|Co5S;MaQR23N>x2OBNV~YfA@oHwZ$os>thj*N3Gj)))t5po!_r|ONh^*Y_b}D# zLu)r~+)&mgg0>swOBo6h@#E3Hi58cI6fG$t5d+R_ee2%KnH7nMB8}5XsnLnL|Mc?7 z@!D?aZvZ18I!^T;d+agFw2xr+kQG_fv=>dn!GLsi0XXV-bFrN2B%++=!9D8UUgdxz z3%(e8F$@sk`&N@ibbw#_274F$kxe9EdzAS=W$02&;*!NWfU@J8a~-V>O5(J3G`iHD2he`Jx1RRLG^ z!0=H(>TuazQmWcO0927u=!-p8i!7=u{W!s+gEzOk1qDscu7U8Sm()U&8$mRWBRJ`& z77g)7G`z4qe}3F+Cu*HG0BaJlQ1=3;T@TO<%a$lT#-#5Tc(LbcS_^x_AeOTrev#8Qf=g^gnVILZYU51gqO1KG{J@||W6kQUVJhX; z`bHO1o{7x<{;u!(E`MR-XbX-eXeI{>m{EM_Y*&70HIstzz&YfubJX4F?giH+n(C&O z`hZ73I4xKyL<-~>01Ocx#hp8MNWt52B&$+Ekq|0-LE>dYU(Ga_zyGIn}CAjP#SX%@4Z$o^yePDf(tpt0#Kl_05R{;hpc&qP8wxN zsUpA>8RSwR@cP^#_en6tD+Om-K?*^n)OqXzNC88@B=$UNDO(0y_cy%Z4PIq;2wV}w zBN!XQ3`ZC2^?uAF6%K;2n&y51U3uM4=p~immYlCi|bn{$HKNA(3b@{ zfCp|Tq8gFnA1X@<0VzSHk#f53jR~5uQ3dC?Fgz=(pf*ye>*A(3DeWC3I86117BkUQ zO6_n6MWy`MPOdn{zD2}0j$6p#R0!6A55L|;Wjklsc>MWSz~z#VlhVqYl+QBZ0F=~mgYR<6U%Sx&>yU9E_Nt^H;?%lq9+s8uLtUi9uio)d3(gl)c&R^6=|l|9YMS(+UH)5&&=n_+qt4$<&U??4BX+u_Y!V zr7PQ`zW{N)+1ac^PN#Dc5xjs)62V75I3zehy!Owha#ZNh@7lF%NhDX03x^=Y2ha?E z>E_Lwd{M8(`nang-7Rk4SIaS0D#5FWL7YCd1rrTHE$+b3mxLHY%0Zcgtq&Z>XXywcCAb9SeR!UjYe705J|Uz-a4eN*8;e&zWYf0CnyE(= z@QkcPMB)UKkrMlMgV)hrlZoa~yZ8VBmth1y5$7ntFFqZGsj&}CleGkou#`I(>b*261a@d{luoZ1eohrm~nk5t|?F3VEO40lhr`ce76w8I9U1bFy*Ojkwi>|V-8dx>3iw2riOeS1t1}>YA-^GHo zelXw7ND!j4gm;HC4Tk@5nwvepX?ijxcu$Z_So%hg$lEkn8i3Su^p!1%U3 zKNbeGaR@Cvk>WeK+U>1NXDpb9toTK1`VE#mrd0y+QXDe-y07nS(;K;D(HI~LEKCwf zRFGxt$WEe*e_~onWAFiVA{MB(;$S$6yA|v_$~6Q{4^4_9(>FYVAp@#$pUMFpDbCE_ z_rCWz%Hn}Lny$Fq4Y?TZc1%i)TkxQ%P9oyk8iish@lajxpMCaOmm}EmloMCtAp)L& zAUa|+6*OJYq}jvit3z*S2`DQZ6~VEEgxU~{6F4Ka9wq2$Qc8?TI7-16JC^sVf`e$7 z(ubwP0OX_=V?$dwGxzqjeIMHd23nk`2q0jxO8K$&M-WdxDAO1ijzmF9lmXHaFL9sg z1E-e=DssDCAJb|{ahO9X3d-FldO#L6POr@fuYqU|voV}_3qU_iiPx@O^V0P^N`W&x z_c*zwt4n%J>ZO|7T%qUqe*tA5xj?!?oRjW!A|R5wCLT5JND#h{$$3{_^ZDYS%ltZ+ zvNoo@q#)NMtQVoLw@9xEFbt?JS$sd68s3a(b3_WpRxQ$-tK;f$j4?A(rIHbQN+D7eV7b1=Pingr#>inJ>Hl#0RZDpgUbKd(od(d! z3@zQ!bsBq?TC_2s{qz8BphXq&7i6a3y}dnlm7UbG5Yam$c-2~Km3P&^s)4i8fH}uR zWIl0?(>^*A)8C((Sejep&LYvGcvkgZN;;z}`UIy#l4d$c0jJV1UGsL}AXulJtvSc@ zCsHhL_bRztd|`6cR;?^@TXZ0} zSj&rWNbZn1e3Wwtp(Pr|(02strONlb=RE|mLD1TC9G?#>eMA@lC#2vx@W=Qn#H4K! z#XlJ#=<{&Ef~?vR1vpe8YX(IMX_o;qgeod#gmK$kzjO`QQjRhNak(gid#v^zCuUDS z`Q(#cZs$n9@r`d}L(5W&;>&P`x-ABDKDBXmDf=haM{%sp|4gFB=LRGk4U7D_JT+ zBp^(22#Fw8DJS3I{JY-uE?ol8=>+Bg;3|!vB7m5eHM~izr%4=H6qGJ#1=m?w9$`ew0Zy z3WIzkkcP`r+@YoY2rcf4iqq`UQxRr*1Pm-?DER*Jt%! zoOmfd{zgs z?DzRR$5T%|rA7+0>UqP6dd-vWN%>%h7CDkE7usfrWtWHi_~Va@V;KJI0%!~GxWRER zz&0oiEO`bWN%;yUJ_s**I-C~L!!(}zUA|XoWz|l)g0ZBBX*>wJf{s`VNiqBkLc!p1 zf?=`O{L_ACHBPQz!>=N*8o0_DFyXYoI7ock+ur6Z%RMm*b2=$^=9!kRtE{ej%H9%7 zV`&vWSmM(D9-RZ^S{DFc^hIC9WwlPTynWG^56r}O{K#Npg_a#T#**9!R;0(W6xaGOfH4Tt z$2*lCatM&|z&mBH+g6|!kI_M2t{4S$N{@j|YH*1zjr#_hKPUI{zb~;Z`yL7*t5l5w z;u6!F;$Xb>h#+KjNrWa>NVf{|JzSY#1@TTHl&;9(02xBDTtuqH9)W*ovww8s#tq-o zk~Q_JZs=4{sd$JPxzdwDN(E`AT+GNNxSc64$A0pYpM1+(-okPln#TdvJKFHb6QfM$ z*!)|6&yEOAruo1~RZ5Kl1_XfgfH((3oAhBoIw_oa+PUMX>r`oSi$169MFaNbf6<>A zC7gmuL=+d4Ej|$u-9Rv$ZI80*dAu|%#awD=XgjaiF!fP3<-YE9uj3>;KcjGg59~!M z-@4af_|Mu-E?3aJWSheu?3rVYO`f^&<=oY78g6+6j@c|0W*CcztvY^$2@P2vu+-1v zzkYHeS(eEA$~_pc=%@}^JG>??(k;;jCLsO^MRr}) zs|YDL#b@4H)9;6J6^)D|NGX#(_ye?>dQ3(6-g;Et)dxz^~&;i z-1tAt!0st&AmYKp!0tqj!(6Vf;izKS+y_E`%6yj#ZK>NOOQXpYbzG&=s|5g4Oroi1 zfQk=htX3p^ak*7DZ8`)~)KG|EaYe))vE3MfSqn~X6vB};JS<6FWq4YA8iF=-4}-#D z{{uhp12%Md5ldIC&NGU=%G%pqcIsMcY~UG*#{n>{;sT47^=x<5)&@V81?GYun~8zN zo#sTD|Cuu44X#kG+uNKKyyeK48=T>!6y2aP)uWACyC*0ZU%G^IY{Aty)(I~fOV*kt zexq*&tdmkFkWNw9;^R9_)ejv==Z7_)PMDjv68Kc^r5gzNmo9`)Mj@N5$wwB6 zQ7o%O$de^SE(_9W2HP5aqb!7BMtTLsLfV_mus92YM&tVU;vcBbC_?spq~h9RA> z2AO>ECXNnZ7>GA1fQ>Ez+0dR=fTP=ck-@+>SGap3B{4_9C+IqGfCbW=spFf zTNEg{D-sq~?PUUIy&JH`0$B5@%ZKrdV*SvR?jTxM(a`*7n>${4Fqb;DR>VG$kLPi@ zxr^>KxJJPnx1WNn1wwyNm&?qreeG*`gWmRcSgN2&+k5zqWNYhDNHXrOmcb;Hpg4m6 z>p%bJ=YQUR|Kk7Wi%J=sB_ON5G(GBn{*V9sFE81Dp(C{Enaffqh1H^nq2V;%9BW6I z^+I;KviZxG)|n})E)55Q&r;By(`hTChM+?m6Le_L>+apVh5(vUh-rC+Z!5$V02>*W zLMb$0UknkNSFc6WZDN#Fpv4mjLSC1!^EBwkXo9r+=De3ueMS~z~35R(&tTJ+&-E z)FNFig}4$Aef4^ji_Rnt+Wi1gQ@c;I__qlg9Cpejs_TBpF3V0|qFel8O{}n zxOk}58Khu9;;^*Dk)Iy?sHabEdGO|NY**C$(3(`spOSN2hP^-22=yYjXr0I_ScUSWJaIP&mvv2(rgjeWB7v3dcKLYIRyd?X46} zb=-<1i$EzkJrj zc`qLif;HXJAgeAK+b9H_RlJ2@Sz8e9p9ceq5|}O)L<$ki2{sXUykGJqUqYXh1BV7& zxG=`s&am~SEvV5yO&V5KJqP~ES_0hoP{gWdnApp(wZTcYv1rH5CWWtlxMJhVm7Nat zy20W2+IJ5OTe?cCS~?NJF)eu1-zWhv6z*U1M^ZR5 zFB*07%<7BprcR^Cwx55PbnhZzk~3Y5Y6cjbGy+X15g<`)q4G{Ox6S(i-S$znfQZ~U z5ua7aYr=zhycs;oQkpna%2v=F#d>zP(5<6Z5m|6FYV6Slco;)r;KM)#8w}`>U0D?L z)aZK=xmLf?U`kcI2=2;*XnSC!Nl>~+uM8TOJ8bH_gg=a8UUY`k8)=+Np`USA@P$am0BEI{pkvh?=~^cY=ZcVoMR0ia9i|+xR4m0UCgU>>lgK*djM3Fx1Jh0HuJ$Me zXNcdEw?R-T$G{x{e~G7QNc!#H{_QC+sgcDh`f(ywRz-!<%Zfd@Nu(F){kjV@6i(5$kg*lqEOs4sg<_u2@T4=|0s@Kt zCIBg0DKVX`jURs~;wv>Ss8|xD6DO{kBa-DvK4qaMiykV~BOVHPVVsEz(09nnzZBqQpq4nwGHPQSmeExT#2tCfN~JmkF0FhPOKow%JS{ z&K1?J6`0pJF|eIS*_P8cc%FiScq6_zU^|~FlhUB69Uzp56NyOajbp+5fEp@c7xPW6-T;K@YOg)b_XhM`F7rQ`}S>{2#z=T{5HHIf-L=j zYqe@QVDM8M%8g+h>NzY=^M-zIo%KIqULKLFI64s-Nq6US#Y_Wf63iN5_UJr(IUP(V zVTJmx0o|HfJxVvj=;3Ts4z}2rEYiPeIgi?)ZWT~Ua57{n20#H6ONv}u)2d_SbNlto{zNx&!Eycy0`G=2?`E=ExiUD2dbsR_)J_RF{-7D`(T z`~^m)14znokYL_3V0{@89Vyzy5VIBNFpR^M&Z$~;_A-neq)hKlG4I~J%l>qKM+>S2 zGjXNJ7S2zawQNCbEL&D}Lfv30jT2~7aI#KX_3rp*=0$5ceB&OVdg6(-t`((E!+V6F zY0YSSX~KI9ZOQJwVh+j{4=GbTA4xoGp-0`qc+-%ajY*$^OR}eiYYa32c-ADuG3@Qc z@ZSi_jd}d>$1NM|JT4prevZ8y`!`%W>yuy~$QH8ixZ0&NJLsw6+ItIQb()4mXhfz` zdrMq*ZX4fN?M~8oiDr=O2~!m(!BrW9>Z2e1sF7g&xc6cwsiP9L&jPun_8qgxn~He0 z4J42C^&Kf}M?+13Q?t?r(Y!6`JjxaZJ+o0*%;0BceGZ7{kpo=6|q3%^DC4 zG+v**RPTnF?u9A&77IEkgE{E&z|v5&MqvqW;cA&x->4$n*1S_*H1pKS54+Pl^UX6+jw?c;aKPQZbx~Op z5mM=#o$7Sgtz%1@y#x1P!>L}yt8~f6Jz*450-DZ|tW6dXGa`{(1xQiGBWl)Ao1T=Zz4T1VWa^-d83>ecWP2S{ z{zC1PZ_z}7KJ_2_5qeJgPlw_SNq1p##TgCMG0Y^UK`xnV9c}_sH3L;2(?GhkIRRk9 z&TMI~lX+&h&M8=&ucpT;*As`XN0u6MC;>_RLr-w83>(6QI+O=!$+OR4iP>aK!Iyvjq2%>ZAX=*fz zb00L8dB$!v`t&KCa?pgv`>-fDw{s$`E*7u*-qvDm(UPi2^wnNF-oIj_sR}@Y6wO*+ zErMBHmc(WxoJfr4sU27NpT{!?&dh3Dav99rwX$ph+qoPFD-8zC#$$^9t$ulN_RAa z5D?qV1;)SKZVs)h?DW8-@E(G_A9qf&1?zdoaYckW4Vr3)#y$2G-5m_I?01Y!}*q1uJ+PyA_bAA_p9zm>bul+c#j!aiIsRazvm2f25sS{C7Iw~c; zCD19f=H{CE;E;*f$Tw?CAsX3fz%=cknE0-{(15v>*<{n*_H%nNnAy(i3_R3?#wtLU zqfd*m8$>F_13OF~up#FWtMOo-;>)#7vxI2hR*cCz&r|x5L^rw{hv}HDfyZkmXX&l#1FeaXQDO5h}KHdPNpx zZj}>SXIyvg+_Cy2-l7((!)L`+RG*PsMdKE7{PQqG$uPy}i9| z4cI-gg7c#J>dySF#Y8|5a@C1rvbaZ=MC?#|tJAT^_3PK2r&%sTz}^%gsSb9EE{fC| zG?Q*4Xfj6{Oc5KJ9$9EqYS=Q~;Fu@*1=Pj+GVb&orfK8)ptI~xvs#34#ZO~aG5C#Z z6p)n;2a#oy@eIv5+Rn7V(pJ!jV;;A;R=ZU2GPRMRM<^qUp3U2i)@(3QET`ItpmxHF z>72D}8ZiVs8tHUSpNh-U7L?hlrxc(e(A{1XASflM$XH{JYAI70FIujZ(dm?SX@Db@ zhP9Ez;4_IElB&j@fD`V$vCP5Auf&O|Rj-Q&_y97-#sFu+%#lRSQrfgx7bl*BI99&a zlA=9SPZ2^JA*1xzqIy7a6u`p33hDu>kdj`+ilA@v+cBW|F?ClYviBe30TK0D&-6%6 zy9P6x+py8?^f2w3EXg=+reA7TW!)>bfyyXxZOlD4u9W59RTkn9DxMGXsou$@F)N(6 z5iG8bN36}dFEOVqI9-V)3TkKD8C3o!#v18xz|AP%6|k9PQRk!`uJP0!_`5NpOh`9?GY1t)MJ4j|A6PaHKE+$xCVcOjaEQvhz%`T7-(wJhH}( zL^L5wM8_QM?>G4H-q>_|&3}aEx@##2pP8)^q2I7-I0N-aw+7dVA>)lIkb-h?YX4pnR-s=BgkOas(q zGSxsdNr#$1H?aN0EVBYhNy9UEM7AIR06+jqL_t(+SEW644a^$c2yHlMLFopU5JGXe z=2Gbfg-O^9(1dWDAho#BY63?@5i^MnU|5MIvN@FHle>;gmf_R5R>*e7~J@D zdkAlky|C@*6;84vUXl9MiI{|3S+UTg-5idk+b&!_%2YMB?V(#c)axt(llm%TOfn5= z&l2NBExWFkd%L~RxZ;|F_{idOxQ*v5t`o6}R4PSEfA(lKw5Q@#ALa^M>pnXs%_qk~`SLL4cqgLWhh6M`HlU|$1Z!~wB-A|@fLE((dvImeqN z4}0#Qaf2PgK zQ?sHEhODL3sI6_{82SZ4?^Xd<^P7VElTPi-!wo(eD1hNYN+M{YC zk+)^28V=Iw8BAjiW>~zGPa)pm;CAwXo4{Kr8)9HgQZM3iJxT|}Ici`nW$dG1mO#)P z>x_`)={UOL>P=omnyk)Ha5VK0Z*Q4JIRf?zG%g-+qEb~mvNGSA6I?^E;b`uX7z3C& zLr#t)b!J|4?NJ*O%$Hyc5_;FtDsF%Qw1->`Q+hllr?_S)P77cGj56e!2Q`T(h^6pq zTvxC+X#+S?u@Uk6k5z~M(@#Imy5i^9aOLVqYzf4}R3R||V^u6ydrP#%YjNT)z4yKE zb$f~_@5oX5l-&SEKt=!`%u5Sa3p}8s-o&g(N&qhthZ@yc3vFieX2d3 z?gvmW9umCxNKQ^y1m3H@2^_>YN=iYnzR`spw>X|x5R-DMl$cV_uACZ~oR^81gF}bIJRt6eftYXK_ zXl#_Q_%^h<8mAK(DBNeUUKgk7UsYN+Clv{seZuI5LLehU0-vh%N#PT9=4)nzNu8^! zE5nqJ--M}B1B>wl(i+zcYr_H=mD$H?MjRzv(VHyhgtA6jaC~Miz}e$<8tZ&hWO>!q zLkF;gGJ(E&^~#K9huS`=rKFo#VmaS8kpVsJv@apu-f|~Sql-(;AVO$iSPV%*HiCK3 zt4`xWdOcsrD5u~!Fg&9P-URSsIfn{<#G9uvCQI7I>rPpTW{;qN=OJ%7?S*bSlsk!jRz6oPm?U-<{udi9MfWIAoJximrBq14=kea}J zYS~(gmtv0Xm^b8Ig+x!g{8OW2qDAbIxJRH@GG^c2>#&`Cx(^7Zi#4aup8L3iJ&pEu zg2Zx;5Ez^d(bUkYz>{rNG=6mtIiHKL0Nb{yA)sYdM*@6?5AY4;p?c>5`cZJh|B>;V~hoJq7f<;2L{ zA~9qQorgbW1JzYaAEMrR6aF4{7DZdh3zc2MGOB0=J6!5zC??er#4JWdt6$Awd(NwZ z2v|mU)(~g}P`VG!T1u)QfC2Hx2L{a4(mvd9N5J`b5{9tJjd)Z04w%V$YdSpV7n z(4l+>=sF4GU|2eC(CgE&%(qjLX@&7~4WtFVPS*OGhe%DUQcW!73`&)i8Lb1X(sH&K zhBp)2p)a1nUlBBZU`z~&iTQh2p_ePoVS?p~C?HKkBVL@Ja++;ZB(cZZ0IC_LEM9#S z>bwX}6>@)Rtish0ghU>64$ool~s3UMpOpzIrki^sC zOzLAOEp8UpcQiVww6*>sSYlO^GJJga%trD1$yO;1#BN#y+Zw&@mN6O1(%HE^Avvdz z%um%=Q0e1VS&V5m^v#a-k|i}Sr5d)3nGMOAsE`3w@je1Sa@kxr_hA2w0|>Jt43p;k z(bQ^6-J0a91;bA9Q(4AdH!g>#VZq}y^9rgRJdCNWPlR)pC?4`~r=iqduGE>_5o;`) zJHFRQ*+jL7vJMujE>NgNus6&WAxWR0 zr+~pDqv84*EFI0qd>Yszi%&QzG~DaAGfLjoH261?0vc$fI6IUOL7CMApEkW}jA&Gm zc=JjgND_L269Yk_a%J(beIwi9w#_)Sh#E06oTV!DimiuRSohl=_Dd?C*?R<`Dwf@cECDwr5)Q8zfVcw}iU^-6aD zZWfM&|fu(kg9{x<89?z6I)N=y|^8?ll-vb4%@_!fR{2sp}a0pgJ#sl$*RgwtXtnKvT;SisXF{Kv;Y09LcCSj*l zOQ#JmDVQCyK;1A5ed~AASPy4`s!*M(t>6W99_P%24@o?=M^-a=MVtzyh#vs8KuW(( z!r`28IHdCvD_56_ITi0BCjpF32y#Wn9Qy~rkIcjHA%Lo57R&B2CV7aLl}PI$59DgM z?3|7l6fD0wWJm_J>uZc@yTSQ+HcYmmCl5R(W4#naP}Wd>q=1%cb|b%`Ec??j$3Ci5 zrqF_HH3VD{%vNy-KeigO_XIXld9~A#&*Qww)iq?nld4>=t9b7z%=;JrfWl-eH(V@b zjm&JNBUr`@Xl>P*0nJ>Ng4TYl=Zd>Ej}@mF$9Q%g8N?i? zMXXD~mf33IUEIK?hRrD*&8rh{)0|7=f)T`yqkNI>5Ew%Q`WpILYSWU@CZ2YrV6jN5)2Cjw$gLCOyEW}A7oL=M24GEHC){UykT;VoJVOc z7DW>%v507!&{xD7xFL8WZj|X$I<^DI?E$a3y$%LVrC`)3b=u6MDZnLCMN6L~LKq;3Aorj3G zMMR{EGkn~n2~h3eCY~w{SrIVF!3BE`863lk-kpp3x=gQAqq3WMsIupzij&G7zl}pK zJCdAJc4*R?&%h+7rgV7DP-aS9$S#_!+Ba)d1d@V;x8yZ;48!a&G~vC{*Zw6+XUq2L zY+mYn5v$##BGAP!i~|jkHY?e8u(PG3%JSf*x`a`6Vo%j85HSo3=RfG}jDQV2#yDe> z3*IVKV~PV3TiJo*8D5%rkeR|OVtB)c&lCyFUG11us-8&NoG0WHNz;fH%tD3K$xx#s zQIUCIJXxDAim)m?0zlR)&2*5m3=1~D{rI_a9yi2bo}e8__5AExKyzzrEsKmBNQ1Rz zZUZoh+K_gi(~LXB+@RhHgC=}lgpaP5`$_Bm4&v-^DFS1;VB}Ge+N-77bFIczD;S$` z28Vt5KZ@MZ6p(g+lm##s>t%s}?3rPQa>yQ3<$8L;=E;)T$}0dSWacgFLDRKfqN-P;lVLSu^Bpl*UKaVK6;veg68lo34qFW4 ztkS87YzUexh*1{IDg!tS0!m3?0xl)w2jN2t4McZmE!~A7MmnC7N3JZxnz9~7@G5-D zfUM++rt}n_qj(ID;!hzPQsffjR-At~sw6-nm3vqIr|SLScuKvG3=Mjpe)_2$!)#&? z(Fs$X(ctEayRcRjDnek*BVdLXc-zSH{RM-25ZD?P2yh;c$xCmt(pIWm4dk)#u9v}! zNM)%=%4htqEDt_jRYb64==B~tYIMtTqIwK9v=FGjef!o`O=o^FlvOQ=QxHCxVcI$e zSO(ilu+Db~?|WEZ$IK`}yfh+n-0mUjrpU#j==jn{FSXT?ZZ-3!%ApL{(6G@;P?KPr z)c~FdWP#xsNZR*o4lOYpCQ+V~ZiW(^ExsKW^CZpS<`O30SS2$7YEj6fBF14|qadI@ z0C4|Jc*dt4bc;Xz+)*u>z6f0U5=FZ#=No3FR6SLoM6lKsW~!D8&OWkuB){=Gv!J-$ zi4EeQ2K z$z^1)J11J!S+p%ZSG(EYo}%k#_*6T|vtcUa7%{J*>4Fs+4?tEj5Q(d3QyX}^%k7t| ztE*H?{d7Df=Lf;39l???1=H@(u=GVHP30k|MY5iJcrWo82J!2I~RvDU^sTdMkD-+p1u2lnqc|WUU@i zLY9jX4d!HstrQZmRx3AdcTI7yr-O+~|K(r)<@3)!_wkFRvJZA-RTnYZ=_U-R5X0v! z^-A&zJ z@2PvO;Sgi)l`t0c1`eBWzEg7O4T(c!`AM9gNJ^v`7K!9_8n+hFvhE|z$2@d#Ht6~Q zXPa@5WwL(_7)q}*+Mt(5Ya=h&4vbxZLPvep-aKhwBzQ`4L zyQb^5Tf$V)N19S9%SfrfK7d>M-HbvZ;bFXvRht=E=FzlH64DYwLsxGCz<3<6z-vcY z(=IE3X5@c3v74|6whlW9%(j`=pgrmk38fUKB4iu0Kd7A9iomK%;Ot2ZPa=h3Mz3SQ z2r6|c39Be>H_dswZkg8%xFSa+$jn7T^!Th~P1ctZ@&odr2)*bi1QG}tsqC9iM>rIW zO=>17n;6ZEmVOJ+WLl}rRc@RQnOq7}_gd3yOYVk| zx+FQ9s=U^kEQx@_lqxmDU`k2DWO)Q!0#fmadzI_4cEzeHT63cD$dXPKx41hbh8@(M zgb_yIXO`%VNQ6njhN)XwZn}0IKkvl>224EopZ@8ec1n+fYrk&w>M4*22stLY zgNUa|FBU~-M5?l~V_~msooT>CPeW;x8<7x17UfDDeRy!s&}&Fm>+xGnYEhdV_%^F%(rL|6Gydw@JkeK{kp6{( zg}yr~LTGL3j2$fK)!QA9=Yi8wDR@a#t_mlPG$v_svRFe&fM?TDmP)LEgsu07Agib#pca_$r;MSrEC2eC|I?Tt$1PT z%GynKibR7I*n>%U$Qb(Ym_dKP46>6kyYA zQJX=Il4!s%1C%?Mn0W1};1q|fIAAygs8^+`whU@N<0}?t|G_z*&{XC&A+#~to!gdT z$&l+HpjwjDx+<9nd{rU;lUwt1l#v!pV0;8QUwrX}fZ4uaWi0|6A-ZX78HcRm2D@Yk zGkCrQP7E+&WYrsgn1GNdVZg|2Ly93CxeM9>Y&Zg=xzjUtPzvWHxf6$q)J56fA-MpF zP3ofMCZW30vF5183_JBsD}+yyVO6eI-%Hp>(AK)Eb#TS=A0eEJnttTd76ZJh*|~aG zW!Kt|>YGWGO?bD9Et2{=w>Gs+Lxw;5vp>@W)+H&WqQmBZQ8k|-&yZ#9=+#0sk5>oL zc)H2VhSs={see?+4~WdLDNF2I@&BU(hmp-W24u&21)-3R>$cmSjREx zI*<`8^$+d*ys+cw{Hi{vxU$lawl75jSaA#;$D@PD;#8c3vw3(IWIj_V8~{qy@5C5B z`p~2O*u)T=uhG+_q?(7J7}-BPvY-(~+uIdNxpCLq{Azc` zG$tE${mT+Pj)fKH67`gem=rgBRGKTsvzAqz>tlXT#82U{Bq6ms8%9Y64}r~kTHHlK zGwjvX6_>ybAEF|-h>#za33cdV#Y-JF(J{%Bj)#IVPQxG@a(e|eCE`lWgb3p~EPh#x zDyGImv1|Hi_g*h6!1>%p3`O2wlK1DJp+|TPieb&V8O<8m*fxTB4bb|UAU9APnWrqw z!SPhqGc|G;cn_D;zq}SP4Nq*t0FaHG=Kw0r@v!wFr!Ag0Z{Fy_YA=4l1OZp~YD7W? zu1FFR)hpOTfE2;US+uh&hlMX+z8r$MsTA=!;_cI1cotzh${1~_ktUn!so{YnJ<7=q zSqeE>W8CQB%PK{w*)*zxY-)BiU&tt;QD$8ww4R{pdkbMgL5*q_|-mllGy|@w^k5Pm&3~c7!X3cU5t!8@3hh(0fvxi z7u%8cka!1^f~5{o32c9%U-N<_>Zsr~0}4A$_N-(bOn9|ZjWwJ+Fuwm1Y1f=7lvPC4 zO2t1`h+#he{BvIc2-|#s-4H;2v$D0gC9-9Du^HmZrfjg(g5%Hs{LicUly-g!!bcj| z*0PSi9YM!|Y?dQ7$ppQQzMZ|Nnsp%ua9%+q&6-J#TzVFa6@w){`*1Lo#;StB8im*{ zqx$Yzw5fKO2u=z4q41=tIoOcC4DP1A;F*bDym(;&WIIWlGL$DF(Sw=7P6v}x@Uzc8 zV?92MUh5;k!D%Ez`K~4_)wt}yL|XGh>HA#o{Vbs295*=}^Mer@-M=>EIh@1~jf#sz zao9GZ@&N(1?Poi2JO^G`4wIXKwZ2s7dv$d+&H%Xauv;Ii6D6lw)>lZKF-jh*le#Ox z$HYI#D)OEkK7_=yC+c420$#UD;o zQN5}eQ>r=!wA~}LBdv2?9!n82m~n*JEa@5ry^QUy&)6C4|K&ckF{!Uo7ng*l)-xT6 zTRgbaBuF-gYH?kL!!sr`YIOhOm)je4bv-{aq#M%if@Yj{8Nj;Pj!6q*0$3Z^Zm=z4 z1Is!M+)VAX-+ct0$>5IDt;qedjH$#wBDTKLPuaWy;eygWJ}YKvD5DP8!;v)8DM=#W zNa)d^%&9Q(3eF~vW|?v60fKMe z+(lC>E0_<&Cl0azN-3Tf4QCuGYXv3OtA!{gEvRHEg;=Q;$zJcVz9IlQ4K?;{4cB5K zL&|VgX^Z@r6QkPIE34`t<$6u>QuCLQ!A~jc{{AmdiVz;L8WCUQIoa#($~_&(S1dsvBPC3NMNF75&N`fC+p;yjPuUgF{8-s_w&3#!801=+iR+ZjLG09gvI49|fpQrXgbG(jenS}4=Y zN~nLYLV$Fyt9WJGq%x6A8Sp>5n}^*%`FwTM$x6QB?i1wnG41@@c0O)ZJ)z40w=UOM42(81j{9) zBMXP*AyW$86I^Psh?`r@_JgV}nh%(cWAN>|Fu|xp5sNdM2o992+pNWDXJu>v(VD4~ z=cl7myxKU+wl+JQpBN&280K1my%mdoKXm5+4MU5(bk9~*_W><%kE+LLm8FO$n*bmw z1(n!>ojY%hYv2x^y$#)pZ@8e96(t;>lFU4fdE4* zzk2n`iho2>iZ8hn>lTk)FkWHog^62kw$@J5Q8s(VYK38IpFCm1a9-I8!G%o=NPUND&><%_B5f}k|3&ci>e+ARLfB@M#v`!uo%e+Msm;UR7a(q zVQtkHve)cCG)Fl+G;-qu4_)0k{B^eiHv3%v_doo<|MGYL^}qd(|E}OEQ8|@vqB%^j zjH!3q)A?Wj=YQMW$+og;IO%xcIg&)9R3k>s9Xzcj*Mo8};N%Y@cLvEYaX>ae74>?^ zzua-Qm~397xob)`L$p!Fi1g;o8?V`F_*54HCN=LHtVG@H?9kEb(OTDPP^ncff?;BG zviWNjffa8@0J+h3YPkn+u_(H_=|DIl5|p?AX<2|^DZHkoKYE_z>4pHEZE|a7n6mKU z$2b6tiI&bS{%}AbMTwzY6O||ka6juP7-w~f;v8d|5>%1!M^p6@7)=GGk&(Zt&W5P} zFf5#NJAa3je@1OCw-B-JH#v!*EKRg}?mh)6n|3OqBiQmqZep;5+B1b*0w93I1R!hp zBxEu}@CKKbMmw|T8r+0Z)PdRo_m#L75> zKeCE5f_5BM!~DqtjU;I;WwD;{V94nvUKz&&nT{(43>onh$v8O}D=B#K2Xj?>2sXg2 zm^b}br30%Pfi`O5*JbPh2_y^%HY@$YpZz9Bd7@}jrY=T!MPduU4aUM+6ekF=<~FW! z236#8XhxV+&PtPu;PAmevKf#wnq3vecO z1J4%70?kA@ur;CM7XGGRtp2vzO8+%~!E|7YvK5FGscy?BbJtuwcrE^IhV@6ok-^!l z?Z+%;7-2((VmihV9@>`_tr!e#kQwOcSUKbxX#nx5i=iIs}j$qZz&v~Z-p9c!r~X}2lM8r5DF%0!dQ_w=bo)SYx?x=(lrSX|}wxC2@)mv6;@o#h$vjE3q95GeuVe5<|MLmsn1v z+?7ZuIR*(eqF4L(igR@$IaMHM-k#kMGa7x}2%tMpAcICEm}LYp+)1;j@`@Eca^bBA z)p$xNc$5}8RGi7{dO9)U1R7S7a5eg0k?D zdSDn?pJiTm<6Vs8)j}!uXGx7R#p@dL`t*V9pkLIpC|gI%Ea71&B1@|8n6TX=H4wol z&InQ;2$^`ekcYWEi1{HtW1roHH|IISc%QOiX24v zP7dwC)kZ_G7JuR}gRmhTIgH!UenCLsA(}EAHI&tM`OGO@FtNDdW=16Auy1+=Dt-XM zo**kVb}3uyNKf%Og;#q*vb+div$_Q!E_LUbR}W`2(@hRpO)fbN4g|CO@FA7CL$q(K zz^b-h-Sv>qJ2BkAa@l8ie9v}|Z3TCol)}7p-ww$1N)CB_eQjoUjfi-f#`NL1xN`y{ z`LKGYJR1UbsH}>tK8=}-DbCk$R<2czfEH?rc*9|R)jchF#kZ!;u1z{6CNTN=4@+W5 z-yM^VKWJreuj(y?R+rEPPuCpWz!wIy3CT4yo*r=SF;d|G8J{|)anJN;D%4eZrsHT+ zt;+~pJz~`UN3vrEVL&th_fz z-7xufzA}YvGCyddZ?;xx{F&LA(Tv`rLS$0+d~JrJvD9(;=wZ^0J$sc}Lb$smro(}G zGybLQeBmgXaCGKyIS?r+;2CiTHo&=U+ox^}Vbq3U4oaFotWIogLW-8{AJ}Fv2wEU= zO3Yo#5*P?p4W=!Tu{Cu$f3Ox8JWMT9?>hm*ePgb3NW*J!Z@zx2Y$LB!b=Ga3=%q${ z-eBVjOvh6k;1Ni*vH7f<2_`ese9U9G7Kc%t2SE=jS*iHu=a6`&A{-DaHLSp`IT%o! z=@)LTS?>`=Cj)Lq3ifv>L6WKEd?4A_%9TP95qCdSXXQ2>hK^i<&+sB!Q$k{)6d!O* z!C~x)*tpUySKU`WYEeqtIXsy~m?euA)DTh9@tj`Q_qXIhT>ozkp*TMFQ?!)Ja@C^V zXiCXofTnvpK{%wo*0DCV^^PnVD56tPIku}Vhp?d3@GU0M#Bxs=;jrMvG1Hm>bYTs( zSjZX*9S7Nm(s?sAnzYL}$avm~42j)DLQQqi+Ot;5Cc+rkNBw63YhssK?1;g@E21y(WPM5>F|66IwGM!f59VXf z+(Xl>%-<7c_Sy@k_nj|8B1Fw@JDj17MPE-?wKBXtlxMYxTEmBiT@swg1oT0!5 z0o)uwaVqCml_JT|gFOoBkARIyN9$;c63L9S)UP2pBsA2BzU*h!qfc=dR!<7Z>{3#Z z{7?V%Po2uz4%TIa9JJOwIR<6Ho>Ri7`J9kvRbEtLwS_XK9T^|SMFf{+rRyr z?R!>bI>-zNmTV(<6L0{t` zN3w0?3QXR0)Cl^q;ZhB)rAiv3nI2*X^wG+2j)&z zK-@S>9=F=GkmdM3hq{4Ekx6UXsh9k=M#{CSNS&h$>vh^#>k70AWf_npvZ`eYhU}H% z_@m(*)vK1cAwUV4QoRn7h!Mlmb9yt&BJT*+_D&;)xrQ2~6Pa3_mAq6uvr5bjQs<2v* zVVO&6>q@`lV5Vud68m)>AkIhm>>xEIw&oX&$dj!Ed~0J2%-XePV$=#pSWG({8Cv1Qt+s#%(pC>Dl3lK^E=Tm=tVD zIDX;JHii(S{tlm`S(<4$yK|m2ROPOU!UEn?i-VpWthuC z-RQw+jT_SJhMR`^y9{*?~`7z8Hz45G=#GTH*H`LGp~f!Ew2dmmtL0dWt$ zB&MXv$)b%`DG;B05e(^}Hj{b4C=G>DqnK9;GY0|@g{j>^v}sr@ltJ0fO3My}`$#!x zMp4$>;2yQwO*8o1Lw>AGEov9-D84_c5;z($l4EDFisFy}i$WXcI+AU8TL5&~5r!5j zGK&{Paf?-WJUs|JmxfST6`QJuIksSr-*aMr;p>L- zoL9vo!%cgU$`j{vimxu_E0#o1x=Oo&E#R!5$e;SR&2_V;6b#q`7v5+liz@hAliwH( zPp?uK6>)W&?n0e7x5uO)d9-PRGD;e0EN9EY)iGzI+j+0CWBep_BWtitqL-zQ(-@8V7 zQA+BG2^+Gch{AB^?A>zHet{1ZeVA$=m!>QeC4GYd#w9;q?YjflO)Vnb_xbeGPuaf^ z5k1PGzqho91&K=X>@U}=<3wYfFE7Mzq|*ArQS$5fu3e<&DoL1WM6ZboK(-DzUUfQn zk50`v_6zK)IHI?7w!c6Cd@5DJFeBbZel!`M*v2;>9f%B#Eey!!WvP)3gEz&W_$xb@ zJH!&U@N^dQCM_}rfbd`svhk>mMrFxGFJ-O>T*=e#w1OzwH7os5(1O*b_&Z}-s>g|5e0cv$JSt{wh|tYqavWlh!E)b|AzdoBym8vm7y z`d$@LJUdjy(0CmTGHse8Au!bFyubRZzxq4B^E+mFmsSp?dd56kU@XANb3cFwKGzz8 z6_ABkPq!fCbsTlNKeDe98;)bf|e>`7Za^BC@ZIi@AK`V#+phPqh28>VG{ln6S;(! zI`J^pqo0OM5o0vGz-)(A^-3)}tQ9y!N1#*n0Exk9h#^rj1(lth+FmU;Vq(Y@mDzbM ziVnYu0n@w!=%SQ0;!1Ez>kS^0aoqe8LDg+2-}$OkUpQEQ#9>Ds1aj*?>a9|*beE+C zGb7pb9DZ`D_Nrh3L8;3QoYoRwmlJ;)2d6*Jw0(+?QufQ`5~jt6)T^5mj`}s3&tpUj z=|#>w2LVh-T5|xE%06+XPzxD`AqQjJR~G?<{lmKH~e9|4*C zWT-Bt{_L~QEL*L&G*(CovOj?-h|=re18S^UK1P!f5Hs2ov1wuvX2I=$+qhb3XAOrT zh)+D9eo83t98@9l}bUd7}AfQfAYyEwm5w)Z@v4) z7hf1E9l`NNgGp}2o(wyk`aSK#59^-zxZ>fak4kNT0<@7BM%-fG&=Dy4X_uN*P6onE zt0hv+9ogE6a`=q}RP8FPq1CS+nMQOa{})HSn8!A5;C+2r&+RIUZ!xEHazDtV_mM%R zI8=7yfpVYn(-`Icf~)DqCFil%*Voj{ARMe-7QkE^!;WgvE13FGN+YmMqY8UH?9bEC zOu;jO>J^0l!$15(|3<5V*<3{)qG|}tclaYyq(&#Lfz+_$6*rD&0u@b(DovW6lsZ$w zA>$zeGdmH|tE(%M&Wvmsc5Ik1Q*Z@x;}ye)8}|L)nB|QD&E09SG$!=DtEi;X@w+3f z>t&Fto2v07Fb|oLc9kc%dMlnf>ByHH>%umdZR2+6Qtp{@PIb?~H{Jq#DF@4`ZiblK zAEuEW)t#5ZBQ}|GTC=Jr$~p-6+0713$DYguuXh`xrVGO}7t;YCt$ypO8pT$iufTje zV*#V=6u|^sLrg^oT2Zg~6&}ia0LNY79*m|4_1q&h{^n;);3=2T9{R8pC*xjdJdjL7 zbEBu?Fj8a+y5nb>7ulLiyrMKSneQFYRVwCL4Xl(2+s{gkJZAzbjTNZ~Lx8na4w=*4Q)4~88U9}Fg7r6@>!6N3OAPe=+zmUdoA=&4>vF2#~)z&KO{nFkGS zWB|uxO>aqVY>u0{zNK43ZV2#L2fB3^6 zzIpS;D$tMT{l#DWh2L|s1tV+vUFK3S%M4)D)g4@j6@j~ciLI|9EhSAbve=D@41f%K zDa()wE5G;VEYaH9?-&u-sBU}FL9qqBuM>p_h0tpERJDSHUmFYT8P#$a#Pxzve{6-4 zFX8Oks>kWK6}fs{P8rXM7}<`#I-S6Pk%iDMMv1lB7*%BWRD6Wr;r2wb>Sb=kx#Xpr z(1^8rvRiVpst#Kt9+g~+z$@aRe)P-&mU`?h3RK)fb_5#nQ9e6Jp`&jWNa)L0J0LY# zHR5l?fKe~ucbK45dx|LAV4KWL;mR2Qv?rya9VRkplam#m;Zi|l zI9rN!V-wz-ik|iHl*Z79f_|yUNtBhPT&3dnP8*>l48Iq*D7a5Q!#6U+y-j!9uK9r@ z7e7zs7fJ>Hq6It!_G^o-oatCw(p1$nB|k~fWT+|FtE?%)Xpol0K5e?bzRm(MN8`BO z3^c_v1z}_{RAlkAZf5*mY?E@k0&={9HwB*h~Y=UF=l|Y2MtrZc;=M=Qf2W0yDe|^!&gbDiQx%}Uaqu8 zNoF-FmQ=g@syr=n8*RRRO4dan&TAlBj8h+f(AZ^OV0F!g4w*< zi5h?gV2MM1c3>ZxvK1Jho3J*UpviQZv9eM;v#rR-sf&LlZM5~JV)V7n5I=E%O=wp` zlic9o6vcYo6e5;(+r{8U1zD>Ryn0sEdSw;>N@Jtn4tVwIm2uL7RfK6x*_R#6t6-F+ z@tLwj0%MXV$GL_WO0I4gwAbm{wrk{X-@bJzMyw)c_A!nPj%n)=axeqPItq_!uVQpR6=y9{j1zI!0 z%acc3@M0OZY0sSkbq3H|4*MtfEo72U3b{$kKoO$A8oxU1s(H7q273Y8FM3s)9FM zzCM!5MM+48;VHLTLVA@YHI>+p@RNH|-fLc~h%A&+e56wsc=#uhwxBg*8Uf_01&30v z9_j>4y3xHFr&RSyQz1=_Ep}%Z(|^PAYop0iEfyPm08boZGSUK)UqL$>cG+~#$Ow}n zn2cZns)qES3#{%IFpOF51AOM&i-`SxwY_UXS;nUGmNy;dU}%3p3N`g#qr zj1#wk0}h#d+c3;B{z>;-X#DEX8krFR1A=?NIXwFC0nbJr12Pob8qiF~e(2XY;1x1M zu^y932dRT2_EnlNQ?!MwSxFIAt@z4BI3Osn0zn2}D_qL{7mK3vl7ur#nmb*=GVoD8 z#WII9(^%PqJ*f&Pu9hoH8X%Y2jfuhuS2W#A^dl%%*lH;@K##2DIDjO6<<);{{Ka4V z#gOY{d0Xd^q$*^XsBDE=zWZ(Pk?lx<+x}2@a$~TIyJQYSaZ4_H#tQnUl<-G6KynKy z0y`!6D6Z-u&TqVC*qE=}5IDOw{R_iM^5yO!$1m#5{bi%lT>(JA2o9s>SYXNykd@+)PwK{b zkrW34C002M$Nkl(_Iw~sHk+NfCk{gQ$d04QqxaO>Z)q<>w6f}9;QYDg+-7Q?) z4w;0>bZE?N)^H{R_>g!8z)+b@0NJO}&}-+MBdQu@DH!qKhbO>8PFYE-MwWEKKXpZO zPO8-yS&iy7ng_3yp2Gxofn~A}@zLRa_RDG|eC=Q%9B+u$dKro6ciHnG(G;1wT%FZf#0h9tR!56GC^C7puXYg|6UkyO-H+BwT9HhASx75V|4xn5u7S7pN5dbq0 zT?kC;oNcFx5p0MVlO1$?pK)StuyTdRFD;GV2H-EZ{s^NkMIhBxb;H)==U~TlWhm2w z^dr~Bg`m0>=O1o3C|)VR13hY~l@n4e^d z@YsN+xKb#qV$y0cpxFg;FN2TCB9ee#mLfJ`O;XMteD-WWQz?Q<(TKiY(^@Ixo}EFP zLH$$7gpW@$SEN#4WijNseoez1B)+vmLm6>(#iU9tG>M^WuwhK%kUaQM&{RbL|13IX zt1+I*siAG0`Eb!zT0a>mS1nansRT$hDJF8cC9m_l+zf(XD3eXf0@4I#Nqe&HIEcNi z`l>?bWlz^1+*$`GHa-E$dQeKWvimsp5dE}`->e-Y+>$)$BvEPP0edoRdL4>ReOZXt z24(OuudGT%cF5rw^K5~KvjA7*cs3&Kf9a1_txmrL6#SEKOAT3SH@|RTLl7j7HGbOq zG+6m}Jp4a@t|LT{dn@SES{+<*bBcm!ROcCj_fhR)QFNjcrH)EsYgVHnJ;@q=6%?5P z-Gl*PAY{}A(8}m(a5Q&<*~^Bva|1T*KbNoqKFopMD6d{+VZ1WBx)2BmP4GBFW~O9V z1=zrd!#FwdPX+x_$o$Wb4P~!2gQ~Thc5UsYE)NXh-829orj%{_qfA25(fn%aQnirS z`bG#xYiv^i8DMRA>aalkO)70bG`$f3Wm!t~c!jJwWg)$ySA|z6Gj`&|`S3e(9?fb> zQxG3jGd|!b8G!x%ADnLcpUoM~F zFxS`DkeFm2c*1C3nySd7Mr0W<2ZKS3Qm#~S2A84%Ff!ok_Hvq~iCuPWhb;aT!Cb^B zG%}8WIW_`pl|>BjV5o@Pgh4O>`0!CFo?67uo2?FTNclLJtf6O#Vf=D$mZa3t+U3$c ztJ;stdaSK|t(FWdx|oa2j(05Pvg9GFn!q?~RqbkbQMBr6wWIYuHKcae;-sm5PazH5rD;bPzp=e=1cK=(PpB zRk9GmvR;p~wzgunOm}!|3LsLll^UkBDL5HUiFy%y&PH1HiD9~c0q(;aZ2hD;Vf3{h z{pd#k(Y{>g(tuffk5%#UkRJ_T>=5&(oF?taT)R6b)Pp|xcqtm)-0H_cv`u-= zLm2hqucAuf42T=Rt6U#@8@-K4zms`2+MzR6V4E;<+sUe~ zQFE&9i!JxjrWS0G5e5f*aDZVzmL!{kl?^XtWc0TF^(M;?OUY_fBzwj!deOd}AjbUs z^Uv+?Kn}wIUW(qM_C^ofMDNa`-33rQy%0n%jY&mRY9mb7_L^-09%N~R7{iJ*2dR;Q zFrJvh3u0X!w1cU;DK4wxU~HvcM*sjMCYsL%+^biwR6%%14C{Bpyt44NS9}#|AW8)T zqq*KI-!`VHT7YfGwi?mkKb1mqeyt{McO32KAz)T{o-)i7#LEs$JWhPCM|eExl8p0XE(ZW|0>QMKlcizfcN^_LD zsK*>E$bkpb+~ek$aqy>p>Zg2@CaQ$D!n4+aw}~qrFm5s&4uA@xF>YG+u^^;j*Vldi zA*xZ>5Gi*A1Jq6{W`z}Jdee*pVJBuyU@O52W2MG~A*wq_l&v8Z7rj`f)Q~p&6Ll@V z!eq8dPgBD^4o#)jpwUoaOazlgL}e~Acx@GEg5(?_38reS?8v%HX-@%u$|@z-D>5lE zx4ayFTB+>Y2l3&PJoppXs`)D7yDV#BWQQEWs8@UW!66}Z24Mu>ZCdMC@wEMcCW}!sC&`}ZIRFVE&1AYg zsT9vEU{s-MD{__*U5GL4t#mzGR!qiL!b{deENg0<2{JnnLtQP5kPQIdJc;B?o=tS9 zIU| z_>JGN=oAkaJe?!O0h!0=&3=H&JyOf!@K)q3uPF^34l0dZ*8NuYf_&kJ*JLBiDx|*P z)$<7UpNguB^8nWF6CRoFZ!_CKA*6&vNo?k&DVVicAmUQ5hQ^(5a2A7HMy`1V&YL#F9T57mV`rT zLl(-Z4xfqxEUq+!n-rD`_GDqcQsDMaQUT#Ty#jF7YGxuB>NHk>J#vRb0|>!jq^4sw zA-spEy0C)iEv`&w(NtD$rLqs$O3d2B6&1!rzwr&FRIQX6Q%yk=7N>Ft#D?9B9^+1A z7|9hEKU*K0;J}6*6RSmtYh{Ld-wxnxj1nI60H;7$zdEIoDucu)3`^3{4SByin9Wn? z>8Gqmk(xtnU>|cwX2gtuzUF2e_te0%0U;}cU;;nz4$tSTXA4}=0{oNXnI?=IfBUz8 zYqi$TG(yVau`S~Pd9uFDX^k^50VtCv2R5o0_N^FwS7OX`g{KLtf(->1k^f>*baIm^ zz<6W>($pdvp<(z*1I%`Irn^9unGCgJ9<#NHM9j=;;+gB~Yac@E?KmS7Q8y#%=N^Ly zB!(W=6stIUG_|l=^Fi`NgFecmX*5??S7Lh$M57GgC}l{EIjH;d3n0hG4)nU^!xTbpH*9gjYO33h6Zu0I1Z_oERfzS;i`->TouP30G)= ze&q(9$K-1MW^;{IOHI}}0DY_47Jzvu_?&_p8ZvwAhUht_Mn5j%witOJHCwI60esk&xyEH-=Qh9o>%ZOsLXDDw{0#?Priq*#Xcvdb)Pgw}euSy)QPt46 zXXuuJcHvq_X&w`qsElK?$tdZ}bHDb?$lw4e`YfPBSuk-DA6trlEMeW)w8geDg(8Cy z)G;h4N6fHm*1il+A(ynopre7*Ek{=n^M`y@u2(*$x#`PRJ2GbwW>mxz<#@6I(*mmC9C-aTwF}`t;M0d_?U;)cLUPzyaWMgBe)D z&@|WbYHD_4*$-Kx^q8IPo)}$uf~naz8WuhNM-8E=13Hmo)$m7Ekj1u|fRo#L@M_0_-`1L5*~f!shsjaS&&X#Byr%^kW(}>nu!zb1 zLBH_tdWcv3Jr_k|^w4=5J^1QW+TfGl4!+UV2w<<@&s155R||%m+_-TmKi^w*jfm#} z1R~b-Kpj;)>?Rc*Xtj|zVrPaH#3m0hq@#AVnAcytcp)OPHHe12nk~%VW-pe?d{SH5 z1`Y%bsjRGOZ6Nfryf)=4-iRmNz;S`8_SRphHPp# z!8qOR%Rolhsh0{CB1U{4nAw3wX|+l9el#URb*U7=Op`~6caS5M<1E3yZ4|o+^^K#YNXy4$QOc6e z1IC0rI-Z6z{af=1gW>m8vyVe;M{tqhz=d3^GyPk0C_ZM1K#gH2?onxm1v6=4NbwA= zX)FhQsBg*c48gw|lI4k^Qo2bpr!sZ$R1g9F0C@b>3m7rRXmMLp#qGzNS^a7hNg7Zp zxRN~@oTxMvu{g95*pF04WgtIIvn@BKI|lgtLgvP?8tbqwV& z*%l;2SyO5wKBH^c8ngaJFSK@k0YV@kQ;puZaiAyFo$;=v>Eu>Dy4XCzOrUY&f}l%Z_eN%g5Z z7r2LC0UB)pxyl5P0wh7B59vSoEh>|^D4NBx4Elglc)21LA6EF>CM01zVDk7J zK&aFAEF`I=5W|R~Yey=?KT$)HZ2;4saoc7Yo)!`u*oXRZ?J~P-U>txaSPGWPB?DzW z07w_eMcqU)eS2jAY1Y#(>=qenOg#$Xrih@O@Tx=R8DXY#g^z<=uXwgd0PC>2BsJMb z6pcVZQy9*QFnC205`BEEi^Qdt4PFt1loCmE_^#W`Wd%Yh7^TFPmKlb@#z}@66_mmp zlWI&nFhELF;>nHA0CHEjvQkKuma;!Fj3=UK13nH-L(0<8773Nxsz?iX6Bd<)cHo3u zE5f<50JrWDtB81($W~d9*wUJsMlDFMW*J?ZuTrGqg!B+bnwx2HMj8y2VN>1a4DAI^<=tY_B7mCczOe_-4QcG1kT$E2fF{T&nXM|lxNE*3?T zhUg@tSpCrF&88MBU3f?Yr2#0-Jw{k(9S$^#E1Y%sksHG+Jq-=aCzJ&%$b$Ib>`8M- z57|YZB2y7Q${JN|ga|JU%^R|L#mc2DM>m92ka#ze-3~yQ zSX^2Y-~)i1QilNH%?E-3VKW)9wUBijWK0)KVrwQyJ7q^NcpDHdSgIX=X)b~|efbsx zno-PNqgs-9#R{eI*FL?KiY1XnvliL0&!OalQ82|}W}2Mb^MUMdCq;~88-?Gug?yBQ zN*PKhMP|B}Qp)1MwCZroW2FKk7x7UhkPPKEz8W2GqRd2QcS|U)I}1LPu>z#56#c7L zuS`Y5oER)X5xLq3plU0mIQuZe)kojmiSYFfrQ~8O2!zz2bce*mB|3L#4J+22UHpTO zNmiT38`}oj zY2Sc!tKM{Vb)`r1Pv^H%Q%N*q`OJk_pEZ;@bOnzM!RQ?z z+w5~jZ4$JVlO$vi>g(nT;^vh+v5lazRVO8<>pWt`)&q7$#hKz#S%Q4^I*TxpR4N5! zrAYEXdUaFA^)8DOaQITSJMg5ewThz>LrTT%UWrkS-d;T$sW5@W*`szaObZpYG+7wI ze4k=>Rjxj6CZh8289;6iR>ExYr*TiO(65)!vszbbk)4C=Q0O(|~d>>7<4Q^AbvYiF;RAaE>!l~-kxff!&} zQZ%M}@Y}as6a`YkOT+;uqIwb7Q5tvvLS3_qMp&vB^g_W6r&Xa4?WRPgW4uM`@6zs7KAs9!bBit3;!-lm=~;6 zSyj=HVU#zHuw&!CIYV6$tblqUcg6@DVn|L~p-x17b>j-9*`l)X909PhrZo45-$_S| zXllO(GMF#F{89vEpjV?;#O`vt$1jX`Iz83FgI89Deh;yCl)_MT(oAhu16M>TfX!@I z?A$SCLs|Q*5F9?F8o|_s!z$z<{VB}YpS!<){n}N3!L7c8KK`qw*^t<$xD9^VE+&%# zh$^*oHl5hFw!%<~@R*Cs_jAM6@4 z7*7PLj~=TEN^=#_l(1G5iU#MY%cPH9aZ{cl%h#=zJ|bRZw!Pfy($f)phE?(;WHn0V zy16Hqrwd0l?%6@M2onT~HjTQ?7gGv=PX>{WKeLRu)D8;|!86WaG@@nGrI_4KlPys{ zMMgZaoag%bI!Un2Xao)es8VYi0G{amQlNjU5EXSd1!gHEuYv_L+ut0{QiQQ7i3ID%q4G16aZ2R2&jbt?2_rqrngZ5Xf@b z(w5V_vU$ZvLa%bUhe?e*;Hn5uHSMCYT;Vnqy2EL{Gd>&4`3d4x$jVCRG2q)4iJ?~3 z+_Hwh#S97E{7M*RFL#OuunFB&#DJEOoFo-CWKZ*zYMxc#8GcU*jJ~WWdmYyToGSS3 z!Dmm-S-)X;WR#aWe93#sgyyu^u!?ZDS1v+q>UAc$=crd3#9#$zYSXdELRxmVgr2i zil^qL>gkF{tIko-6rrIZ19hlr#&YM`PKN`i4bP*jP9Za$+^K6Yr-~fnD`LVUC#~%s zxzz12-&O@o{ioci=#a?{hJv)7u9&`NVm-}qhxHHvm^V`c^jixEpE}zHav)smB!;q4 zhJ0sNj4aMP%2H3ImhA8JpVE8!*NtzDun?_j5nzgpJWG@oyuA|7mMRAi;o`E12*Y#$lD= z$--HWc>L#wKm1`qMbnc&?gu~k0aMFGMk%UoTJXv0wJ%t0R5MXcYjP4(XWG@2IPA2e zvA3OWtf~v3BYS$a)&X!T-Ze%G$lszz;5${l!>iE%Po>O&&JPhgJ@7a{76Lh!=8(EA z0)i!542M4^;VFf)8%*|+&Bm3*u>h&-`utznDYe3g!!wIYZEf4!ha?zV zRil**U7R5s!z~ZY(H41nC^@@Zq-swh1@}5NqNFq-j(WreJ4h!x36XoT_0SWcYGx$vf~TL#CIR5J>R z%oEjSkZsu{Q6>r1Tlv-uWFt>yQy*EnD@Y`{q#7p2>wd<5qby*!{|G_ z)CiLSmGI@FfMk=5IXKsB5_6Y_jxd%sF99>Pjf{TNUM;N2~ZoBI!=$v}PX$ zwD>m>m<4RHS&g_xCl;VPNjoJrG%C$SoZ(_hLQl^Vy|XghfyBGf&hKcePsbV8ZWla}`Qd z<0q!+h~qqedU-s8tAUps}&R{Kjy?sq`}AeooPyO43xz1U%}n@ zvc=$lg8aG-f(D?wa;|D7qMCH(S4(I2InCnEoUgC1(>*h)LTK#{t)N$kOPDNNLnJ_a z$VTx7-%~m&D@$2b2yYxjvpl`5CT02U7N-!_?%0kGoMLr|k9oo*q!HhZTt7766vDW} zZsAMsXT8IE?}uUD{Dc@D*2|=a+=!juZrYs|3i4jFnk)q!Re26Mgh33@K;|$fNRIst z5#m5S+UNxE7;OV!oLYOeLIv7 zSzC~455jBon|eQ%S2~iPvRp#H)>;1YFaOewCkKFBg1)j4OcQ)8dhN(bBdwNR!5pBG zRw-Gv`v6B-WssO;A52(J@XT&THv177b}Ssjkaz;v9HmnNGj#&!$Xt|X@={sI6vtE0 zW#s_&tQ^+YkrNUuu5)dTguK@otfu7uzCN&DDT?+ZEKY9c!dE<{F;NOYqq?oGA$khRnefAke%sYlD zbukXJ4D&H5hU7sYm}E@&L?u75VU!{UB)~-{N7Ge3GDIIzn#`-TFz`->eRGSLBwk5K zU}9U;A&$SSo{Enn5ynGEt?X6{feA(cobw#?VDw(?6|#w35B>_S!VIh;FrHF0D2bF7 zFxko~ON)>VCO1O{NJqqF$xT!>0+fmX{`vV9T7ZY-4^j_5X9S+}_U&7zT>VrN$Kxc@ zaiNW&@=wK)@vA%vu{c5px9MhS!2@Msf;dmE6yge=a{f(S-=tS2@~}pIAHYhk;JFaz zM9sFo3*Mq6KW|}P(9IERFJ@$fED3OWq?s&!Oz1{_^Shf(w~QZlqyP9&^`6bc8;G78 zF@(s$8j-4y+(p`87fqPpya${B1LTXb9ofpw?J&X9uCN84AC!uID9-^Jh;hrIt*2e* z=KA(}Z*ETiq4Xtha=^3Jj=L0Tj& zWqpyZ!{|JA6WpmrsUkE?w^p=rI0we0E@$esnDfH}j+$-%E6cX4*eLzKjlcfuzjp6V z48u@p#?(=IRm!tpb&Z~(_?6(qR}4OVciWJrK4*34H}`e-SsmuayxkdaE$in7j5V)c zziyNn2}k}zJ`asaeN%{vI<^9YJX$qT<@Ru0dVwkELGRVMD1d5oY)N;NPaefSa&1zY z$=Vf$!Rn^*{?pBGPL#p~-=c4hO~eM4v%056xo+6G2N>X7OLQvLYcy+anPc2Y`SnIy zDp03~7%)Qy3FFl@QCFC>nmt!vW=1C0eBd{4W}84+vdKO5$fdINXjMpIl!_k1{J+;= zNJWqVlFbZ69%E@!ejhg~A~(ul^gVI=h*FAZQ=iTn2mJnpIKfctitKnMU8wdEX>>|d znob*W25zaL`K@*oy2u?zE%y{3OxQ~9&~tcap%yMC4tU|#^nxngu)-gu4rO%GWpKj* zTk<&g6+QYCSzorL>nfICKI8Lt7{y(~rxwYjAy{4IszS zqUiB|LVBnZA23N2F+PyZnC#BBT$~XQjK$2zPDLP%0A?jOnEa%RJ5z3r@f>49gMcDy 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 literal 0 HcmV?d00001 diff --git a/docs/images/models/eges_2.png b/docs/images/models/eges_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a10de3c17da0e8f8e449a9c63c8cb06fccd44c39 GIT binary patch literal 145741 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

T{{oR?~XJ+FdW3e<}@BxAa3UnF}D!TC z<Rgcf4WV%ID&-SkD`lrLZD)o!lk{u&fR4JTg-%#4l+hCwx<2 zH7EU?_2&Eir}+B=p)%XkC2!+n6l|W!T!Fgf-j9=btwgqD9r;iSa6fBO{KT?~{BiJi z0kP6+dgcVI8PhAy%k*Sc{@bA#w|v+ir+|(Clk*f#V{{Un^IK+)y4hvln#^Pxli8&n z&t<5A9i!{4_51YV+Hzi__Z5E{{;djY_*w!gl9+!epYs=`j*{pFXJ>-@@sUYZLhfE^ z!=eQqvd2BY-?o(`Gj&u4kS1$Qx$Le^c+4nAmi>gtM?q|{yw~(6@yVF`k9BUQ4NGoI zx2Ar+6PP?$-(-!IAeaze<#nSR4M4dvPbEEcb|Cuub5=b&-%+YI=MYN@e#a4>DwU<$ zS_977X_!$e`bY*Q$t`(xPTtJJ?na4pcdw2zFF36A1Ccr^!nZm;0Xnh@xt;?hKZ;SX zTZE>5j-{1!7bCxcWo}BzR52w<1N=J0*cIKI@j7EEQ{MV&eaEj8%b?GT)T!J8Z5!~H z{q>3Ua{UB6w|M`F<)@;U79MOcPOnZl5U-Sb`Jr2NsnoskX$-6DJosm^e>z)GT6}*k zhu4puk#UX5-|r*{*AmPY`EG~gZdnNc`UT!#P^an;0d$g%eTnG+7pr(8*Ug9r;GDF{ zhML(kBCKg433U$>Eqs7@{2~7nr+C}t>RD>vtK0&GYI)^)qpN!oq2&GWWw`GGUk#1t zHoL}!&g+rZWcsEl$nkPD+SUCxNG;Jh`pn`JajJog(cP(R2j5vLTh;)RvNh(~M|9sW zziHp-m5(%|{fF_umX(y)^hH>$={C+&svgM;6tp6llRsH+N02bhkvG4Q@w>&c3WK0*q7Pt3pL%YVkG=^V+PBmZIbuf182XmJN_e>7XjJOA$#^XsYqU#(t{X!`z{>>JD( Q0pN#%tg1|{lxgt)0L|0rRR910 literal 0 HcmV?d00001 diff --git a/docs/source/models/eges.md b/docs/source/models/eges.md new file mode 100644 index 000000000..cbcc24bf3 --- /dev/null +++ b/docs/source/models/eges.md @@ -0,0 +1,168 @@ +# EGES + +### 简介 + +图i2i召回模型, 通过在图上随机游走生成随机路径,然后在路径上使用skip-gram算法进行训练. +![eges_1](../../images/models/eges_1.png) +![eges_2](../../images/models/eges_2.png) + +### 配置说明 +#### 输入配置 +```protobuf +graph_train_input { + node_inputs: 'data/test/graph/taobao_data/ad_feature_5k.csv' + edge_inputs: 'data/test/graph/taobao_data/graph_edges.txt' +} + +graph_eval_input { + node_inputs: 'data/test/graph/taobao_data/ad_feature_5k.csv' + edge_inputs: 'data/test/graph/taobao_data/graph_edges.txt' +} +``` +- node_inputs: 图中的节点为item, 这个输入给出了item的节点id, weight(采样时使用)和feature(side info)信息 + - 示例输入如下: + ``` + id:int64 weight:float feature:string + 521512 1 521512,4282,173332,237,NULL,298.0 + 476210 1 476210,4292,418411,515,377957,249.0 + 646682 1 646682,7205,365036,676,321803,9.9 + ... + ``` +- edge_inputs: 图中的边描述item在同一个session共现的频率 + - 示例输入如下: + ``` + src_id:int64 dst_id:int64 weight:float + 565248 565248 100 + 565248 786433 2 + 565248 638980 20 + ... + ``` +- node_inputs和edge_inputs在MaxCompute上的输入类似,每一列存放成一个column + - node表包含3列:id, weight, feature + - edge表包含3列:src_id, dst_id, weight + - int64对应的类型是bigint + - float对应的类型是double + - string对应的类型是string + +#### 特征配置 +data_config { + input_fields { + input_name: 'adgroup_id' + input_type: STRING + } + input_fields { + input_name: 'cate_id' + input_type: STRING + } + input_fields { + input_name: 'campaign_id' + input_type: STRING + } + input_fields { + input_name: 'customer' + input_type: STRING + } + input_fields { + input_name: 'brand' + input_type: STRING + } + input_fields { + input_name: 'price' + input_type: DOUBLE + } + + graph_config { + random_walk_len: 10 + window_size: 5 + negative_num: 10 + directed: true + } + + batch_size: 64 + num_epochs: 2 + prefetch_size: 32 + input_type: GraphInput +} + +- input_fields: + - input_name: 输入特征名, 对应odps表的字段名或者csv文件的header名(如果没有header,按照字段顺序一一对应) + - input_type: 数据类型, STRING, DOUBLE, INT32, INT64, 不设置默认为STRING +- graph_config: 图上随机游走相关的参数 + - walk_len: 随机游走的长度 + - window_size: skip-gram的窗口大小 + - negative_num: 负采样时每个正样本对应的负样本数目 + - directed: 是否是有向图, 默认是false +- batch_size: 随机游走起始节点的数量 +- num_epochs: 数据过多少遍 +- prefetch_size: 数据预取的batch_size数目 +- input_type: 输入数据格式,针对图类型的算法默认为GraphInput + +#### 特征配置 +```protobuf +feature_config: { + features: { + input_names: 'adgroup_id' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'cate_id' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 10000 + } + ... + features: { + input_names: 'brand' + feature_type: IdFeature + embedding_dim: 16 + hash_bucket_size: 100000 + } + features: { + input_names: 'price' + feature_type: RawFeature + } +} +``` +- features.input_names: 特征的输入,对应data_config.input_fields.input_name + +#### 模型配置 +```protobuf +model_config:{ + model_class: "EGES" + + feature_groups: { + group_name: "item" + feature_names: 'adgroup_id' + feature_names: 'cate_id' + feature_names: 'campaign_id' + feature_names: 'customer' + feature_names: 'brand' + feature_names: 'price' + wide_deep:DEEP + } + eges { + dnn { + hidden_units: [256, 128, 64, 32] + } + l2_regularization: 1e-6 + } + loss_type: SOFTMAX_CROSS_ENTROPY + embedding_regularization: 0.0 + + group_as_scope: true +} +``` +- model_class: 默认为EGES +- feature_groups: 特征组,需要配置一个特征组, group_name为item,不能变 + - feature_names: 对应data_config.features.input_names[0](或者feature_name, 如果有设置) +- eges: dnn为特征变换mlp +- loss_type: SOFTMAX_CROSS_ENTROPY,因为有负采样在 +- group_as_scope: 使用group_name作为embedding等variable的scope_name,建议设置成true + +### 示例Config +[EGES_demo.config](https://easyrec.oss-cn-beijing.aliyuncs.com/config/eges_on_taobao.config) + +### 参考论文 +[EGES.pdf](https://arxiv.org/pdf/1803.02349.pdf) diff --git a/docs/source/models/recall.rst b/docs/source/models/recall.rst index 2b0839471..7a9028004 100644 --- a/docs/source/models/recall.rst +++ b/docs/source/models/recall.rst @@ -8,6 +8,7 @@ dssm_neg_sampler mind co_metric_learning_i2i + eges 冷启动召回模型 ======== diff --git a/easy_rec/python/input/graph_input.py b/easy_rec/python/input/graph_input.py index 30c5b2513..758d508b1 100644 --- a/easy_rec/python/input/graph_input.py +++ b/easy_rec/python/input/graph_input.py @@ -41,9 +41,9 @@ def __init__(self, self._model = None self._build_field_types() - self._walk_len = self._data_config.graph_walk.walk_len - self._window_size = self._data_config.graph_walk.window_size - self._negative_num = self._data_config.graph_walk.negative_num + self._walk_len = self._data_config.graph_config.random_walk_len + self._window_size = self._data_config.graph_config.window_size + self._negative_num = self._data_config.graph_config.negative_num logging.info('walk_len=%d window_size=%d negative_num=%d' % (self._walk_len, self._window_size, self._negative_num)) @@ -61,7 +61,7 @@ def __init__(self, edge_type=(GraphInput.node_type, GraphInput.node_type, GraphInput.edge_type), decoder=gl.Decoder(weighted=True), - directed=False) + directed=data_config.graph_config.directed) graph_utils.graph_init(GraphInput.graph, os.environ.get('TF_CONFIG', None)) if GraphInput.graph is not None: diff --git a/easy_rec/python/protos/dataset.proto b/easy_rec/python/protos/dataset.proto index c17a80ca2..88432405c 100644 --- a/easy_rec/python/protos/dataset.proto +++ b/easy_rec/python/protos/dataset.proto @@ -1,6 +1,8 @@ syntax = "proto2"; package protos; +import "easy_rec/python/protos/graph.proto"; + // Weighted Random Sampling ItemID not in Batch message NegativeSampler { // sample data path @@ -100,12 +102,6 @@ message HardNegativeSamplerV2 { optional uint32 num_eval_sample = 11 [default=0]; } -message GraphWalkConfig { - optional uint32 walk_len = 1 [default=10]; - optional uint32 window_size = 2 [default=5]; - optional uint32 negative_num = 3 [default=10]; -}; - message DatasetConfig { // mini batch size to use for training and evaluation. optional uint32 batch_size = 1 [default = 32]; @@ -255,5 +251,5 @@ message DatasetConfig { HardNegativeSamplerV2 hard_negative_sampler_v2 = 104; } - optional GraphWalkConfig graph_walk = 26; + optional GraphConfig graph_config = 26; } diff --git a/easy_rec/python/protos/graph.proto b/easy_rec/python/protos/graph.proto new file mode 100644 index 000000000..6235c3a60 --- /dev/null +++ b/easy_rec/python/protos/graph.proto @@ -0,0 +1,17 @@ +syntax = "proto2"; +package protos; + +// for graph based algorithms: EGES, DeepWalk, etc. +message GraphConfig { + // graph edges are directed or directless, default to be directless + optional bool directed = 1 [default=false]; + + // for random walk, random walk length + optional uint32 random_walk_len = 2 [default=10]; + + // skip-gram window size + optional uint32 window_size = 3 [default=5]; + + // for negative sampling, number negatives sampled for each positive sample + optional uint32 negative_num = 4 [default=10]; +} diff --git a/samples/model_config/eges_on_taobao.config b/samples/model_config/eges_on_taobao.config index 777b4a5bd..76bb005c0 100644 --- a/samples/model_config/eges_on_taobao.config +++ b/samples/model_config/eges_on_taobao.config @@ -57,6 +57,13 @@ data_config { input_type: DOUBLE } + graph_config { + random_walk_len: 10 + window_size: 5 + negative_num: 10 + directed: true + } + batch_size: 64 num_epochs: 2 prefetch_size: 32 From c953ed62ed24d9777ce1ec2852b6e0331a4819be Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Tue, 8 Mar 2022 10:27:47 +0800 Subject: [PATCH 7/8] fix doc --- docs/source/models/eges.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/models/eges.md b/docs/source/models/eges.md index cbcc24bf3..05a324fe2 100644 --- a/docs/source/models/eges.md +++ b/docs/source/models/eges.md @@ -44,7 +44,8 @@ graph_eval_input { - float对应的类型是double - string对应的类型是string -#### 特征配置 +#### 数据配置 +```protobuf data_config { input_fields { input_name: 'adgroup_id' From 4c3c4a3ff8af73409288a89f5891c9f3c0bf951a Mon Sep 17 00:00:00 2001 From: chengmengli06 Date: Tue, 8 Mar 2022 11:13:21 +0800 Subject: [PATCH 8/8] fix doc --- docs/source/models/eges.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/models/eges.md b/docs/source/models/eges.md index 05a324fe2..455bb3adf 100644 --- a/docs/source/models/eges.md +++ b/docs/source/models/eges.md @@ -84,6 +84,7 @@ data_config { prefetch_size: 32 input_type: GraphInput } +``` - input_fields: - input_name: 输入特征名, 对应odps表的字段名或者csv文件的header名(如果没有header,按照字段顺序一一对应)

+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%0AgiM{K75y8(@f${| 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