diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 1bf2b7b4..ae32ba3b 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -8,7 +8,7 @@ ## Process to reproduce the issue -[ordered list the process to finding and recreating the issue, example below] +[ordered list the process to finding and recreating the issue, example below. A minimally reproducible example would be ideal. This refers to the minimum amount of code necessary to reproduce the issue.] 1. User creates TPOT instance 2. User calls TPOT `fit()` function with training data diff --git a/Tutorial/1_Estimators_Overview.ipynb b/Tutorial/1_Estimators_Overview.ipynb deleted file mode 100644 index 7da6be38..00000000 --- a/Tutorial/1_Estimators_Overview.ipynb +++ /dev/null @@ -1,1911 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Overview\n", - "\n", - "There are two evolutionary algorithms built into TPOT2, which corresponds to two different estimator classes.\n", - "\n", - "1. The `tpot2.TPOTEstimator` uses a standard evolutionary algorithm that evaluates exactly population_size individuals each generation. This is similar to the algorithm in TPOT1. The next generation does not start until the previous is completely finished evaluating. This leads to underutilized CPU time as the cores are waiting for the last individuals to finish training, but may preserve diversity in the population. \n", - "\n", - "2. The `tpot2.TPOTEstimatorSteadyState` differs in that it will generate and evaluate the next individual as soon as an individual finishes evaluation. The number of individuals being evaluated is determined by the n_jobs parameter. There is no longer a concept of generations. The population_size parameter now refers to the size of the list of evaluated parents. When an individual is evaluated, the selection method updates the list of parents. This allows more efficient utilization when using multiple cores.\n", - "\n", - "\n", - "Additionally, two other simplified estimators are provided. These have a simplified set of hyperparameters with default values set for classification and regression problems. Currently, both of these use the standard evolutionary algorithm in the `tpot2.TPOTEstimator` class.\n", - "\n", - "1. `tpot2.TPOTClassifier` for classification tasks\n", - "2. `tpot2.TPOTRegressor` for regression tasks" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Scorers, Objective Functions, and multi objective optimization.\n", - "\n", - "There are two ways of passing objectives into TPOT2. \n", - "\n", - "1. `scorers`: Scorers are functions that have the signature (estimator, X, y). These can be produced with the [sklearn.metrics.make_scorer](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html) function. This function is used to evaluate the test folds during cross validation. These are passed into TPOT2 via the scorers parameter. This can take in the scorer itself or the string corresponding to a scoring function ([as listed here](https://scikit-learn.org/stable/modules/model_evaluation.html)). TPOT2 also supports passing in a list of several scorers for multiobjective optimization. \n", - "\n", - "2. `other_objective_functions` : Other objective functions in TPOT2 have the signature (estimator) and returns a float or list of floats. These get passed an unfitted estimator (in the case of TPOT2, a `tpot2.GraphPipeline`). \n", - "\n", - "\n", - "Each scorer and objective function must be accompanied by a list of weights corresponding to the list of objectives. By default, TPOT2 maximizes objective functions (this can be changed by `bigger_is_better=False`). Positive weights means that TPOT2 will seek to maximize that objective, and negative weights correspond to minimization.\n", - "\n", - "Here is an example of using two scorers\n", - "\n", - " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", - " scorers_weights=[1,-1],\n", - "\n", - "\n", - "Here is an example with a scorer and a secondary objective function\n", - "\n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " other_objective_functions=[tpot2.objectives.number_of_leaves_objective],\n", - " other_objective_functions_weights=[-1]," - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 0%| | 0/1 [00:00 \n", - " Pipeline has none of the following attributes: predict_proba. \n", - " Traceback (most recent call last):\n", - " File \"/home/ribeirop/common/Projects/TPOT_Dev/tpot2/tpot2/utils/eval_utils.py\", line 53, in objective_nan_wrapper\n", - " value = func_timeout.func_timeout(timeout, objective_function, args=[individual], kwargs=objective_kwargs)\n", - " File \"/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/func_timeout/dafunc.py\", line 108, in func_timeout\n", - " raise_exception(exception)\n", - " File \"/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/func_timeout/py3_raise.py\", line 7, in raise_exception\n", - " raise exception[0] from None\n", - " File \"/home/ribeirop/common/Projects/TPOT_Dev/tpot2/tpot2/tpot_estimator/estimator.py\", line 620, in objective_function\n", - " return objective_function_generator(\n", - " File \"/home/ribeirop/common/Projects/TPOT_Dev/tpot2/tpot2/tpot_estimator/estimator_utils.py\", line 55, in objective_function_generator\n", - " cv_obj_scores = cross_val_score_objective(sklearn.base.clone(pipeline),x,y,scorers=scorers, cv=cv , fold=step)\n", - " File \"/home/ribeirop/common/Projects/TPOT_Dev/tpot2/tpot2/tpot_estimator/cross_val_utils.py\", line 31, in cross_val_score_objective\n", - " this_fold_scores = [sklearn.metrics.get_scorer(scorer)(this_fold_pipeline, X_test, y_test) for scorer in scorers]\n", - " File \"/home/ribeirop/common/Projects/TPOT_Dev/tpot2/tpot2/tpot_estimator/cross_val_utils.py\", line 31, in \n", - " this_fold_scores = [sklearn.metrics.get_scorer(scorer)(this_fold_pipeline, X_test, y_test) for scorer in scorers]\n", - " File \"/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/metrics/_scorer.py\", line 253, in __call__\n", - " return self._score(partial(_cached_call, None), estimator, X, y_true, **_kwargs)\n", - " File \"/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/metrics/_scorer.py\", line 344, in _score\n", - " response_method = _check_response_method(estimator, self._response_method)\n", - " File \"/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/utils/validation.py\", line 2106, in _check_response_method\n", - " raise AttributeError(\n", - "AttributeError: Pipeline has none of the following attributes: predict_proba.\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 1/1 [00:07<00:00, 7.82s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 1\n", - "Best roc_auc_score score: 0.9938492063492064\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "2024-06-28 17:22:24,449 - distributed.scheduler - ERROR - Removing worker 'tcp://127.0.0.1:33053' caused the cluster to lose scattered data, which can't be recovered: {'ndarray-71df36028cf839ff98696c18d6668a27', 'ndarray-809a54d2fd885201030a189763e7bd92'} (stimulus_id='handle-worker-cleanup-1719620544.4491522')\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "X, y = sklearn.datasets.load_iris(return_X_y=True)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "\n", - "est = tpot2.TPOTClassifier(n_jobs=40, max_time_seconds=30, verbose=5, generations=1, population_size=5)\n", - "est.fit(X_train, y_train)\n", - "\n", - "\n", - "print(scorer(est, X_test, y_test))" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Pipeline(steps=[('robustscaler',\n",
-       "                 RobustScaler(quantile_range=(0.16675428907107737,\n",
-       "                                              0.7012433303146526))),\n",
-       "                ('passthrough', Passthrough()),\n",
-       "                ('featureunion-1',\n",
-       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
-       "                                                 SkipTransformer()),\n",
-       "                                                ('passthrough',\n",
-       "                                                 Passthrough())])),\n",
-       "                ('featureunion-2',\n",
-       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
-       "                                                 SkipTransformer()),\n",
-       "                                                ('passthrough',\n",
-       "                                                 Passthrough())])),\n",
-       "                ('bernoullinb',\n",
-       "                 BernoulliNB(alpha=0.7637690262115946, fit_prior=False))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('robustscaler',\n", - " RobustScaler(quantile_range=(0.16675428907107737,\n", - " 0.7012433303146526))),\n", - " ('passthrough', Passthrough()),\n", - " ('featureunion-1',\n", - " FeatureUnion(transformer_list=[('skiptransformer',\n", - " SkipTransformer()),\n", - " ('passthrough',\n", - " Passthrough())])),\n", - " ('featureunion-2',\n", - " FeatureUnion(transformer_list=[('skiptransformer',\n", - " SkipTransformer()),\n", - " ('passthrough',\n", - " Passthrough())])),\n", - " ('bernoullinb',\n", - " BernoulliNB(alpha=0.7637690262115946, fit_prior=False))])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "est._evolver_instance.population.evaluated_individuals.iloc[0]['Individual'].export_pipeline()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: : 1it [00:35, 35.93s/it]\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/covariance/_empirical_covariance.py:102: UserWarning: Only one sample available. You may want to reshape your data array\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-5421.324324324324\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn\n", - "import sklearn.metrics\n", - "import sklearn.datasets\n", - "\n", - "scorer = sklearn.metrics.get_scorer('neg_mean_squared_error')\n", - "X, y = sklearn.datasets.load_diabetes(return_X_y=True)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "est = tpot2.tpot_estimator.templates.TPOTRegressor(n_jobs=4, max_time_seconds=30, verbose=2, cv=5)\n", - "est.fit(X_train, y_train)\n", - "\n", - "print(scorer(est, X_test, y_test))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Best Practices\n", - "\n", - "When running tpot from an .py script, it is important to protect code with `if __name__==\"__main__\":`" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: : 1it [01:05, 65.90s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9994639357871052\n" - ] - } - ], - "source": [ - "#my_analysis.py\n", - "\n", - "from dask.distributed import Client, LocalCluster\n", - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "import numpy as np\n", - "\n", - "if __name__==\"__main__\":\n", - " scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - " X, y = sklearn.datasets.load_digits(return_X_y=True)\n", - " X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "\n", - " est = tpot2.TPOTClassifier(n_jobs=4, max_time_seconds=60, verbose=2)\n", - " est.fit(X_train, y_train)\n", - "\n", - "\n", - " print(scorer(est, X_test, y_test))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Common parameters\n", - "\n", - " scorers : (list, scorer)\n", - " A scorer or list of scorers to be used in the cross-validation process. \n", - " see https://scikit-learn.org/stable/modules/model_evaluation.html\n", - " \n", - " scorers_weights : list\n", - " A list of weights to be applied to the scorers during the optimization process.\n", - " \n", - " classification : bool\n", - " If True, the problem is treated as a classification problem. If False, the problem is treated as a regression problem.\n", - " Used to determine the CV strategy.\n", - " \n", - " cv : int, cross-validator\n", - " - (int): Number of folds to use in the cross-validation process. By uses the sklearn.model_selection.KFold cross-validator for regression and StratifiedKFold for classification. In both cases, shuffled is set to True.\n", - " - (sklearn.model_selection.BaseCrossValidator): A cross-validator to use in the cross-validation process.\n", - " - max_depth (int): The maximum depth from any node to the root of the pipelines to be generated.\n", - " \n", - " other_objective_functions : list, default=[tpot2.objectives.estimator_objective_functions.average_path_length_objective]\n", - " A list of other objective functions to apply to the pipeline.\n", - " \n", - " other_objective_functions_weights : list, default=[-1]\n", - " A list of weights to be applied to the other objective functions.\n", - " \n", - " objective_function_names : list, default=None\n", - " A list of names to be applied to the objective functions. If None, will use the names of the objective functions.\n", - " \n", - " bigger_is_better : bool, default=True\n", - " If True, the objective function is maximized. If False, the objective function is minimized. Use negative weights to reverse the direction.\n", - " \n", - " generations : int, default=50\n", - " Number of generations to run\n", - " \n", - " max_time_seconds : float, default=float(\"inf\")\n", - " Maximum time to run the optimization. If none or inf, will run until the end of the generations.\n", - " \n", - " max_eval_time_seconds : float, default=60*5\n", - " Maximum time to evaluate a single individual. If none or inf, there will be no time limit per evaluation.\n", - "\n", - " n_jobs : int, default=1\n", - " Number of processes to run in parallel.\n", - " \n", - " memory_limit : str, default=\"4GB\"\n", - " Memory limit for each job. See Dask [LocalCluster documentation](https://distributed.dask.org/en/stable/api.html#distributed.Client) for more information.\n", - "\n", - " \n", - " verbose : int, default=1 \n", - " How much information to print during the optimization process. Higher values include the information from lower values.\n", - " 0. nothing\n", - " 1. progress bar\n", - " \n", - " 3. best individual\n", - " 4. warnings\n", - " >=5. full warnings trace\n", - " 6. evaluations progress bar. (Temporary: This used to be 2. Currently, using evaluation progress bar may prevent some instances were we terminate a generation early due to it reaching max_time_seconds in the middle of a generation OR a pipeline failed to be terminated normally and we need to manually terminate it.)\n", - " \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# TPOTEstimator and TPOTEstimatorSteadyState\n", - "\n", - "TPOTEstimator and TPOTEstimatorSteadyState expose more parameters for customizing search spaces and evolutionary algorithms. The next tutorial will cover customizing search spaces in more detail.\n", - "\n", - "The TPOTClassifier and TPOTRegressor set default parameters for the TPOTEstimator for Classification and Regression.\n", - "In the future, a metalearner will be used to predict the best values for a given dataset." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### tpot2.TPOTEstimatorSteadyState" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Evaluations: : 77it [00:30, 2.54it/s]\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:350: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "est = tpot2.TPOTEstimatorSteadyState( \n", - " search_space = graph_search_space,\n", - " scorers=['roc_auc_ovr'], #scorers can be a list of strings or a list of scorers. These get evaluated during cross validation. \n", - " scorers_weights=[1],\n", - "\n", - " classification=True,\n", - "\n", - " max_eval_time_seconds=15,\n", - " max_time_seconds=30,\n", - " verbose=2)\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "X, y = sklearn.datasets.load_iris(return_X_y=True)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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IyYmBq6urgZMR0RERI2FO3aPIDk5GS+99JJg1rNnT+zevRsSicTgeQ4ePIiEhATs2rVL5xonJyfExMTgnXfegbOzswHTERERUWNjsWugoqIiBAQEoLCwUDtzdHTEyZMnDf4p0v379yMhIQF79uzRucbZ2RlTpkzBpEmT4OTkZMB0REREZCg8im2giRMnCkodACxbtsxgpU6j0WDfvn1ISEjAb7/9pnOdq6srpk2bhrfeegsODg4GyUZERETi4I5dA2zbtg2vvfaaYPbiiy8iOTm50Y9gNRoN/ve//yEhIQEpKSk617m5ueHdd9/F+PHjYWdn16iZiIiIyDiw2D2kgoIC+Pv7o7i4WDtzdnZGVlZWo14mRKPR4KeffkJCQgIOHz6sc52npydmzJiBMWPGwNbWttHyEBERkfHhUexD0Gg0GDdunKDUAcDKlSsbrdRpNBokJycjMTERqampOtf5+Phg5syZGDVqFKytrRslCxERERk3Frt/oFarUVNTAxsbG2zevBnJycmCX3/llVcwePDgRnne7du3IzExEenp6TrXtWzZErNmzcKIESNgZWWl9xxERERkOngUex87d+7EG2+8gaqqKrz66qv44YcfUF5erv11Nzc3ZGZmokWLFnp7TpVKhW+++QaJiYnIysrSue7xxx/HnDlzMHToUFhYWOjt+YmIiMh0sdjdR9u2bfHnn3/q/PXt27ejf//+enkupVKJbdu2Yd68eThz5ozOdX5+foiNjcWQIUMgl3PDlYiIiP7WJIqdSqVCcXExCgsLUVhYiOsFBaipqoJapYJUJoOVjQ1aeHjA3d0d7u7ucHFxwc2bN+97Ad/XX38dX3zxxSNnq6urwxdffIGkpCRkZ2frXNehQwfExcVh8ODBRnH/WSIiIrE15PXd3F9DzXrLp6SkBOnp6TiZlobqykpolErYV1XBqbgYNkolpBoN1BIJ6uRynHVxQaqNDSRyOazt7NDCywtOTk4oKyur97GPHTuGvLw8eHt7NyhbbW0tPv/8c8yfPx8XLlzQuS4gIABxcXEYOHCg2f9lJCIiehCP8voeGBaG4OBgs737klnu2OXn5+PggQPIyc6GhUIB30uX4VlcDKfKSlioVDq/rk4mQ5mdHa66uOCClyeKVSpk5+TgwMGDKCgouGf9m2++ic8///yhstXU1GDDhg1YsGABLl26pHNdSEgI4uLi0L9/f0il0od6DiIiInOkj9f3S76Poc7WFq39/BDVrVujXqpMDGZV7JRKJVJSUnA0JQX2RUVom3sJPkVFkKnVD/1YZVUK5Dg64pKfH4rs7ZFy9CgOHjwI1R1/cV566SV8//33D/R41dXVWLt2Ld5//33k5eXpXNepUyfEx8fjxRdfFOV+s0RERMZGn6/vKqkUV1xdcb6lLypcXdE5KgpRUVFm8751syl2BQUF2JGcjJIreeiQnQ2/vDxIH+G3VlJSgqrqKqglEuS3a4fsDh2QV1yM5J07ce3aNTg5OWH37t3o0qXLfR9HoVDg008/xaJFi3D16lWd6yIiIjB37lz07t2bhY6IiOg2fb++/0UtkSDb2xtn/Pzg4uONPv36wcPDQw+JxWUWxS43Nxfbt22Dbf5VhJ8+DUeF4pEfs7CwECr137tzCkdHnA4Px1VbW1SpVIiNjYWHhwcKCgqwa9cuBAYGIiwsTLu+oqICq1evxuLFi3Ht2jWdzxMVFYW5c+eiZ8+eLHRERER3aIzX97uV29oitWNHKLy8MGDwq2jZsqXen8OQTL7Y5ebm4tsvv0Tz3EvocuoU5A3Ylq1PQWEh1Grheb3cxgZnI6NQ2roVBr7+Ompra9GtWzcUFhYCuHUP2eeffx4rVqzA0qVLUVRUpPPxo6OjER8fj+joaBY6IiKiuzTW63t9lFIpDvs/gWJfXwx8/XWTLncmXewKCgqwdfNmNMu5iKeysvSyNfsXhUKB0rIyABpIJFI0a9YMNtbWUEskOBTgj5KWrfDdj//FgQMHtF/j6OgIqVSK0tJSnY/bs2dPxMXFoXv37nrLSkREZE4a8/Vdl79e30tbtcZrw4aa7LGsyX7cUqlUYkdyMmzzryLi1Cm9/6Hb2trC3d0dzZu7wsPDAza3778q1WgQkXUKstyL6NC2reASJOXl5TpL3fPPP4+DBw/if//7H0sdERGRDo39+q7LX6/vNlfzsTM5GUql0iDPq28mW+xSUlJQciUP4adPN9r2rEwqhZWlJe4+KK2trETbP/6At4sLIiMj7/sYffv2xZEjR7Bz50489dRTjZKTiIjIXBji9V0XuVqN8FOnUZyXh4MHDxr0ufXFJItdfn4+jqakoEN2dqO8kfJ+auvqUFpaCrvycvidOYOozp3r3a4dMGAAUlNTkZycjM6dOxs0IxERkSkS8/X9L04KBdqfy8aRAwfuezULY2WSxe7ggQOwLyqC332uB9cYNABu3Lhx+58Ar3Pn4FpRgai7du28vb3xzTffCD4lS0RERPcn1uv73drl5cG+qAgpd7yP3lSYXLErKSlBTnY22uZeMti5+1+UdXXQaP7eFpZqNHjs/Hm0a90aTk5O2nleXh4uXrxo0GxERESmTMzX97tJNRq0yb2EnHPnUFJSImqWh2VyxS49PR0WCgV87nMpkcYit7AA7nrHnevly7BVKhEcHKydubm5wcfHx8DpiIiITJeYr+/1eayoCHKFAhkZGWJHeSgmdf8MlUqFk2lp8L10uUG3EXlUEgCuzZujrLwcGo0GMpkUEokEra7koWtEBOzt7eHp6Yn/9//+HywtLQ2ej4iIyBSJ/fpeH5lajZaXLyMjNRVdu3YVXAXDmDVox87V1fWRn3j06NH4888/df76smXLUFtbq/33Hj16oLi4GNWVlfAsLr5n/ZsZGXgu9Rj6pqXh5RPHcaqi4pEz1sfS0hItXF3h1qIFmrs0h4uzC9pUVaGZgwPeeOMNXLhwAa+//jq2bt0KADh27BimT5+ut+c/cuQIOnXqBAsLC/z44496e1wiIqLo6Gjs379fMJs0aRI++eSTf/zaR3m9u9/r+92mnz2LfsfT0PPYUYQfOoh+x9PQ73gazisq0eWPQw16fl08bxRjbmIiLl269MBfEx0djczMzHvm77333n2/jxMnToS7uzs6derUoKx/Ee0odu3atWjTpo3OX7+72O3btw+FhYXQKJVopqO0fdyhI/4bFobXPDyx6GLOI2dUPcAZvwaA1Y0bUNyswPz587Fv3z6cPHkSb7zxBgoLC9GpUycsXrz4kbP8xcvLC+vWrcPrr7+ut8ckIiICgMGDB+Orr77S/rtarcb27dvxyiuv3PfrVCrVI73e/dPr+50Wt2+P5NAwJLX1Q2SzZkgODUNyaBja2to90HM9yGv7X5wqKwGNBtevX3/gr2moIUOGYOfOnY/8OHo7ik1LS8P48eNRVVWF0NBQfPrpp7C2tsYPP/yA6dOnw8nJCUFBQXB2dsaSJUsQHR2NTz75BB07dsTw4cORlpYGmUyGKVOmQKFQID8/H5GRkWjVqhWSk5Ph6uqKbdu2wb6qCp/lXsSO69chAfCyuwdGensLsoQ7OmJ93hUAt/4AF+Xk4Gh5GerUGozx8UE/NzcoVCpMO3sWOVUKBDs44o+yUuwIC0fmzZtYcfkSLKVSlCmV2BQQiP/8eR7ZCgU0GmBaq1aIcnbGodJSJJ4/D41GDRmAf4eEwM7u779UarUa3377LZo1a4bPP/8cK1asQHFxMWbMmIG8vDw0a9YMixYtgo+PD6ZPnw4HBwekp6ejpKQECxYsQEREhM7vtYODAyorK1FQUIALFy7o64+QiIiauPDwcCQkJCAmJgZSqRR//PEHHnvsMQwYMAA3b96EWq3GrFmzEBUVhT/++AMff/wxrKysUFZWhunTp2tf744fP46kpCTU1tbCzs4OS5Ysgbe3Nz766CMUFBQgJycHBQUFmDp1Kvr27YuzZ8/i9z17sDbtOCQSYEALNwz38kJmRQUWXbyIKrUKbpZWWNiuHZpZWNz39/B+zgUcKCmBi4UFVj/hD1uZDG9mZKCjvR1Sy8vxpqcXWlha4uNLuahRq+Fna4v5fu0gk0gw49xZZFVUQCaRYKS3Nwa6e0Ci0eCTTz5BRkYGLCwskJycDE9PT1y4cAH//ve/UVxcjFatWmHjxo1wcXERZPn000+xePFitGjRAr6+vujatavO3FFRUXr54KXeit3w4cOxdu1aREREYMKECVi5ciUmTJiAyZMnIyUlBR4eHujZs+c9W4wnTpxATk4OTp06BQAoKyuDk5MTFi9ejIMHD8Le3l679npBAXLS03GotBTfhYTCUipFaV3dPVl+LS7GMy7NAQBfFxbAzdIS34WEolqlwqD0dHRzdsY3hQXwtrbCyieeQEppCb67Vqj9+syKCvwUFg53KyssvXgRPVxcsLBdexTX1eH1jHTsDA3DmpwLGO/cDJ1sbVGhUiGvvAwld20hT5w4UfvP9e1OPv300/V+L4cMGfJP324AwHffffdA64iIiB6Gn5+fzl8bNmxYvfM33ngDQP2vd7ruuBQTE4OYmBg83a0bCs6fxwpPD1hKJChXqZBfWICk/HwkenjASW6BvbW1WHPlMma0flxntlKlEt2cnTGz9eOYfvYsdt8oQn83dwCAXCLBdyGhKK6rw/87cwabAwJhLZPho9yL+KqgACGODrhSXYOfwm/1lJu37zwhVathbWmJEydOID4+HmvXrkVcXBwmT56Mt956C6+++ioWLlyI9957D8uXL9dmyc/Px6JFi3Ds2DHIZDKEhobet9jpi16KXWlpKWpqarS7TEOHDsXixYvxr3/9Cx06dNB+QnTgwIHIzc0VfO3jjz+O/Px8TJw4ES+99BKeffZZnc9TU1WF01euYKC7Byylt06R72zuk86cRq1ajQqVCsmht64hl1JSgnMKBX64fg0AUKFS4nJ1NdLKb2Ls7VxRzZzRTP73tyLM0RHuVla3vr60BL8W38DKy5cBAFUqFS6WlMDfygqf3riB3NpaRNvbQ15bC093d2SfP9/wbyQREVETVFRUhG6+vrC8vUHiKJPhQk0NztfW4v/l5wMAVBqgo5PjfR/HTiZDVDNnAECAvT3yqmu0v9bbtQUAIP1mOc4qKvFqRjoAoFatRrSLC/pat8C12hq89+d59HRpjq7Otx5HotEgJDAQwK0dzeTkZADA0aNH8d///hfArd7zwgsvCLIcOXIE//rXv9CsWTMAQL9+/Rr2zXlIjfqpWM0DnGM7Ozvj5MmT2LlzJz788EPs3r0bS5YsqXetWqUC7vOYH3foeGtLNecC5l34Eys6PgE1gMS2bdHFqdnd6XQ+jo3077ceqjUarH7CH9637xULAOU3b+INZ2dE2NrikEKBt/Ly8O4TT6B927bYn5Lyj79nIiIi+ptEIoHkrk/DagD4WVpi2e23W0kk0nrv9HQnC8nflySTSiSC99P99dqu1gDRzi54v127e77+v2Hh+K24GBvy83CgtAQzb+8O/vWoMpkMKpVKm/lBfl+GppcPTzRr1gxWVlY4evQoAGDLli3o3r07OnTogDNnziAvLw8qlareo8OioiKo1Wq8+uqreO+993DixAkAt95HdvPmTWFYmQyBXl74trAAtbf/Atx9FCuRSDClZSucKC/HBYUCXZs5Y8vVq9o/3HOVlVBpNAh1dMRPt6+Vc6i0FKU6bvYb5eyMzbd/WgCAUxUVcHBwQKFajbZWVhjq7IyWFha4rlCgpLT04b95RERETZyHhwd+v3QJtbdfq8tVKvhaWuKaUomzNTWQSWWwdXTEBT3cZizU0QGHy0qRV10NAKhQ3jrJK66rg0ajQZ8WLTDZ1xenKyq1XyOT37sP1qlTJ3z77bcA/u49d+rSpQv27t2LsrIyVFRUaHf3GluDduxKSkoEF+BdvHgxNm7ciAkTJqC6uhohISGYMGECrK2tsWzZMvTo0QNOTk7o0KEDHB2F26h5eXkYMWIE1Go15HI5li1bBgAYM2YMevTogXbt2mm3Pa1sbBDQqhWqss+j/4njkEskGOjmjuF3fXjCRibDv719sD4vD/9p2xZXqqvR/3ga1ABaWFpirX8A3vD0wrSzZ9AnLRXB9g5wt7SEtfTenjvxMV/Mu/An+qalQqnRwN/eHkvad0BydTX+KC0F1Gq0t7RESw8P7Lz9PsG/fP/997C2tsbq1avxxRdfoKioCGPHjsWVK1fg7OyMTz/9FC1btsTYsWPRv39/9OnTBxUVFejUqRPOnDlT7/f+5MmTGDBgAEpLS2FjY4M2bdrg119/fbg/QCIiovv4v//7P0ycOBEXL16ESqXCwIEDoVAo8NRTT2HXrl1ITU1FWlqa9vUNAPbv36/998OHD2PMmDGws7NDr169sGfPHqSkpGDevHlo3rw5JkyYAAB47LHHcPnyZXz39dfY/tFHeOv0GcilErzs5obhnl742MERSRcuoLK4BGpo8NZjvmhja/tIvzcXC0vMa+uHSWdOo06thkQiwZzWj8NRLsfM7HNQa269H2/247d26zQSCSzvOLX7y/LlyzFy5EgkJCSgZcuW2LRpk+DXvby8MH36dHTu3Bmurq4IDw+/b64RI0Zg165duHHjBnx8fPDhhx9i0KBBD/37k2ge5Lz0EVRUVMDe3h4qlQovv/wyxowZgxdffLFBj7Vnzx6c3bULvQ798ci5lBoN1BoNLKVSpN+8if/8eR7fhYQ26LFq62rxc6dO2Hn6NPbu3QsAsLKywtWrV+F8+4yeiIiI6qfP13d9+99TT6L9c8/hmWeeETvKA2n0O0+sWrUKW7ZsQU1NDXr27HnPmwsfhru7O1JtbFAnk8Hi9hl3QylUKgw/eRJKjQYWUgnea9O2wY8lsbaBqnlzTJw4EV5eXrh+/TqmTZvGUkdERPQA9Pn6rk91MhkqbGzg7u4udpQH1ujFbvr06Xq784K7uzskcjnK7OzgWl7+SI/lKJdje2jDdujuVmZnB4lcjm7duuHll1/Wy2Pu2rULM2bMEMyioqKwYsUKvTw+ERGRsdDn67s+/fX6rs9iN2DAAOTkCG+i8PnnnyPw9idvH5VJ3SvWxcUF1nZ2uOriYlR/8Feb38p194UJH8Vzzz2H5557Tm+PR0REZKya0uv79u3b9fZY9RHtlmINIZPJEBgWhku+j0FVzwcdxKCSSpH72GMICg83mRsEExERGRO+vuuPcXz3HkJwcDDqbG1xxdVV7CgAgMuurlDa2iIoKEjsKERERCaLr+/6YXLFztnZGa39/HC+pS/UIlz4705qiQR/tvRF63bt+EEJIiKiR8DXd/0wuWIHAFHduqHC1RXZd12/ztDOeXujwtUVUQa49xsREZG54+v7ozPJYufp6YnOUVE44+eH8ke8UGFDldna4mw7P3Tp2hWenp6iZCAiIjInfH1/dCZZ7IBbl/5w9vFGaseOUBr4jZZKqRSpT3SEi7c3IiMjDfrcRERE5oyv74/GZIudXC7HC/36QeHlhcP+TxjsPF4tkeCw/xOo8vRCn379IK/n/nFERETUMHx9fzQmW+yAWzcNHjD4VRT7+uJQgH+jN3ulVIpDAf4o9vXFgMGvwsPDo1Gfj4iIqCni63vDNfq9Yg0hNzcX27d9Bdv8fISfPg1HhULvz1Fma4vUJzqiytMLAwa/ipYtW+r9OYiIiOhvfH1/eGZR7ACgoKAAO5KTUXIlDx2ys+GXlwepHn5raokE57y9cbadH1y8vdGnXz+TbvJERESmhK/vD8dsih0AKJVKpKSk4GhKCuyLitAm9xIeKyqCTK1+6MdSSaW47OqKP1v6osLVFV26dkVkZKTJnrkTERGZKr6+PzizKnZ/yc/Px8GUFOScOwe5QoGWly/D80YxnCorYaFS6fy6OpkMZXZ2uNrcBbmPPQalrS1at2uHKBP9yDMREZE54ev7PzPLYveXkpISZGRkICM1FdWVldAolbCvqoJjcQkslUpINWqoJVLUyuUod3FGhY0NJHI5rO3sEBQejqCgIJO74jQREZG54+u7bmZd7P6iUqlQXFyMwsJCFBYW4npBAWqrq6FSKiGTy2FpbY0WHh5wd3eHu7s7XFxcTOqGv0RERE0RX9/v1SSKHREREVFTYNLXsSMiIiKiv7HYEREREZkJFjsiIiIiM8FiR0RERGQmWOyIiIiIzASLHREREZGZYLEjIiIiMhMsdkRERERmgsWOiIiIyEyw2BERERGZCRY7IiIiIjPBYkdERERkJljsiIiIiMwEix0RERGRmWCxIyIiIjITLHZEREREZoLFjoiIiMhMsNgRERERmQkWOyIiIiIzwWJHREREZCZY7IiIiIjMBIsdERERkZlgsSMiIiIyEyx2RERERGaCxY6IiIjITLDYEREREZkJFjsiIiIiM/H/AU8bU7pzixM+AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fitted_pipeline = est.fitted_pipeline_ # access best pipeline directly\n", - "fitted_pipeline.plot()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
roc_auc_scoreParentsVariation_FunctionIndividualSubmitted TimestampCompleted TimestampEval ErrorPareto_FrontInstance
00.914484NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('DecisionTreeClassifier_1', 'SelectFwe_1'), ...
10.966071NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('DecisionTreeClassifier_1', 'SelectPercentil...
20.735952NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('DecisionTreeClassifier_1', 'PassKBinsDiscre...
30.991534NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'SelectPercentile_1'...
40.997540NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'VarianceThreshold_1...
..............................
720.992910(19, 19)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('KNeighborsClassifier_1', 'ColumnOneHotEncod...
730.983743(8, 8)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('KNeighborsClassifier_1', 'VarianceThreshold...
740.997540(63, 63)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'VarianceThreshold_1...
750.978929(63, 63)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'SelectFwe_1'), ('Lo...
760.997540(65, 42)ind_crossover<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'VarianceThreshold_1...
\n", - "

77 rows × 9 columns

\n", - "
" - ], - "text/plain": [ - " roc_auc_score Parents Variation_Function \\\n", - "0 0.914484 NaN NaN \n", - "1 0.966071 NaN NaN \n", - "2 0.735952 NaN NaN \n", - "3 0.991534 NaN NaN \n", - "4 0.997540 NaN NaN \n", - ".. ... ... ... \n", - "72 0.992910 (19, 19) ind_mutate \n", - "73 0.983743 (8, 8) ind_mutate \n", - "74 0.997540 (63, 63) ind_mutate \n", - "75 0.978929 (63, 63) ind_mutate \n", - "76 0.997540 (65, 42) ind_crossover \n", - "\n", - " Individual Submitted Timestamp \\\n", - "0 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fitted_pipeline = est.fitted_pipeline_ # access best pipeline directly\n", - "fitted_pipeline.plot() #plot the best pipeline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "view the results of all evaluated individuals as a pandas dataframe" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
roc_auc_scorecomplexity_scorerParentsVariation_FunctionIndividualSubmitted TimestampCompleted TimestampEval ErrorPareto_FrontInstance
00.97674616.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'FastICA_1'), ('Fast...
1NaNNaNNaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09INVALIDNaN[('DecisionTreeClassifier_1', 'FeatureAgglomer...
20.99555615.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'VarianceThreshold_1')]
30.9856154.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('KNeighborsClassifier_1', 'SelectPercentile_...
40.65190590.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('KNeighborsClassifier_1', 'SelectFwe_1'), ('...
.................................
82NaNNaN(23, 23)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09INVALIDNaN[('KNeighborsClassifier_1', 'SelectPercentile_...
830.9667064.0(66, 26)ind_mutate , ind_mutate , ind_crossover<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('KNeighborsClassifier_1', 'SelectPercentile_...
84NaNNaN(44, 44)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09INVALIDNaN[('DecisionTreeClassifier_1', 'SelectPercentil...
850.998730308.8(63, 63)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'SelectPercentile_2'...
860.998889301.0(24, 24)ind_mutate<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09NoneNaN[('LogisticRegression_1', 'QuantileTransformer...
\n", - "

87 rows × 10 columns

\n", - "
" - ], - "text/plain": [ - " roc_auc_score complexity_scorer Parents \\\n", - "0 0.976746 16.0 NaN \n", - "1 NaN NaN NaN \n", - "2 0.995556 15.0 NaN \n", - "3 0.985615 4.0 NaN \n", - "4 0.651905 90.0 NaN \n", - ".. ... ... ... \n", - "82 NaN NaN (23, 23) \n", - "83 0.966706 4.0 (66, 26) \n", - "84 NaN NaN (44, 44) \n", - "85 0.998730 308.8 (63, 63) \n", - "86 0.998889 301.0 (24, 24) \n", - "\n", - " Variation_Function \\\n", - "0 NaN \n", - "1 NaN \n", - "2 NaN \n", - "3 NaN \n", - "4 NaN \n", - ".. ... \n", - "82 ind_mutate \n", - "83 ind_mutate , ind_mutate , ind_crossover \n", - "84 ind_mutate \n", - "85 ind_mutate \n", - "86 ind_mutate \n", - "\n", - " Individual Submitted Timestamp \\\n", - "0 \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
roc_auc_scorecomplexity_scorerParentsVariation_FunctionIndividualSubmitted TimestampCompleted TimestampEval ErrorPareto_FrontInstance
30.9856154.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('KNeighborsClassifier_1', 'SelectPercentile_...
140.9975408.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('KNeighborsClassifier_1', 'SelectPercentile_...
241.00000023.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('LogisticRegression_1', 'SelectFwe_1'), ('Lo...
250.99761917.4NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('LogisticRegression_1', 'FastICA_1'), ('Logi...
420.9905566.0NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('LogisticRegression_1', 'VarianceThreshold_1...
440.9933137.4NaNNaN<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('LogisticRegression_1', 'SelectPercentile_1'...
630.9656751.0(9, 42)ind_crossover<tpot2.search_spaces.pipelines.graph.GraphPipe...1.719621e+091.719621e+09None1.0[('KNeighborsClassifier_1', 'VarianceThreshold...
\n", - "" - ], - "text/plain": [ - " roc_auc_score complexity_scorer Parents Variation_Function \\\n", - "3 0.985615 4.0 NaN NaN \n", - "14 0.997540 8.0 NaN NaN \n", - "24 1.000000 23.0 NaN NaN \n", - "25 0.997619 17.4 NaN NaN \n", - "42 0.990556 6.0 NaN NaN \n", - "44 0.993313 7.4 NaN NaN \n", - "63 0.965675 1.0 (9, 42) ind_crossover \n", - "\n", - " Individual Submitted Timestamp \\\n", - "3 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pareto_front = est.pareto_front\n", - "\n", - "#plot the pareto front of number_of_leaves_objective vs roc_auc_score\n", - "\n", - "import matplotlib.pyplot as plt\n", - "plt.scatter(pareto_front['complexity_scorer'], pareto_front['roc_auc_score'])\n", - "plt.xlabel('complexity_scorer')\n", - "plt.ylabel('roc_auc_score')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### tpot2.TPOTEstimator" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [01:12<00:00, 14.45s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9971509971509972\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "\n", - "est = tpot2.TPOTEstimator( \n", - " search_space = graph_search_space,\n", - " population_size=30,\n", - " generations=5,\n", - " scorers=['roc_auc_ovr'], #scorers can be a list of strings or a list of scorers. These get evaluated during cross validation. \n", - " scorers_weights=[1],\n", - " classification=True,\n", - " n_jobs=1, \n", - " early_stop=5, #how many generations with no improvement to stop after\n", - " \n", - " #List of other objective functions. All objective functions take in an untrained GraphPipeline and return a score or a list of scores\n", - " other_objective_functions= [ ],\n", - " \n", - " #List of weights for the other objective functions. Must be the same length as other_objective_functions. By default, bigger is better is set to True. \n", - " other_objective_functions_weights=[],\n", - " verbose=2)\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "X, y = sklearn.datasets.load_iris(return_X_y=True)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tpot_dev", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Tutorial/1_Using_TPOT.ipynb b/Tutorial/1_Using_TPOT.ipynb new file mode 100644 index 00000000..92821ca1 --- /dev/null +++ b/Tutorial/1_Using_TPOT.ipynb @@ -0,0 +1,2442 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# What to expect from AutoML software\n", + "Automated machine learning (AutoML) takes a higher-level approach to machine learning than most practitioners are used to, so we've gathered a handful of guidelines on what to expect when running AutoML software such as TPOT.\n", + "\n", + "#### AUTOML ALGORITHMS AREN'T INTENDED TO RUN FOR ONLY A FEW MINUTES\n", + "Of course, you can run TPOT for only a few minutes, and it will find a reasonably good pipeline for your dataset. However, if you don't run TPOT for long enough, it may not find the best possible pipeline for your dataset. It may not even find any suitable pipeline at all, in which case a RuntimeError('A pipeline has not yet been optimized. Please call fit() first.') will be raised. Often it is worthwhile to run multiple instances of TPOT in parallel for a long time (hours to days) to allow TPOT to thoroughly search the pipeline space for your dataset.\n", + "\n", + "#### AUTOML ALGORITHMS CAN TAKE A LONG TIME TO FINISH THEIR SEARCH\n", + "AutoML algorithms aren't as simple as fitting one model on the dataset; they consider multiple machine learning algorithms (random forests, linear models, SVMs, etc.) in a pipeline with multiple preprocessing steps (missing value imputation, scaling, PCA, feature selection, etc.), the hyperparameters for all of the models and preprocessing steps, and multiple ways to ensemble or stack the algorithms within the pipeline.\n", + "\n", + "As such, TPOT will take a while to run on larger datasets, but it's important to realize why. With the default TPOT settings (100 generations with 100 population size), TPOT will evaluate 10,000 pipeline configurations before finishing. To put this number into context, think about a grid search of 10,000 hyperparameter combinations for a machine learning algorithm and how long that grid search will take. That is 10,000 model configurations to evaluate with 10-fold cross-validation, which means that roughly 100,000 models are fit and evaluated on the training data in one grid search. That's a time-consuming procedure, even for simpler models like decision trees.\n", + "\n", + "Typical TPOT runs will take hours to days to finish (unless it's a small dataset), but you can always interrupt the run partway through and see the best results so far. TPOT also provides a warm_start and a periodic_checkpoint_folder parameter that lets you restart a TPOT run from where it left off.\n", + "\n", + "#### AUTOML ALGORITHMS CAN RECOMMEND DIFFERENT SOLUTIONS FOR THE SAME DATASET\n", + "If you're working with a reasonably complex dataset or run TPOT for a short amount of time, different TPOT runs may result in different pipeline recommendations. TPOT's optimization algorithm is stochastic, which means that it uses randomness (in part) to search the possible pipeline space. When two TPOT runs recommend different pipelines, this means that the TPOT runs didn't converge due to lack of time or that multiple pipelines perform more-or-less the same on your dataset.\n", + "\n", + "This is actually an advantage over fixed grid search techniques: TPOT is meant to be an assistant that gives you ideas on how to solve a particular machine learning problem by exploring pipeline configurations that you might have never considered, then leaves the fine-tuning to more constrained parameter tuning techniques such as grid search or bayesian optimization." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# TPOT with code\n", + "\n", + "We've designed the TPOT interface to be as similar as possible to scikit-learn.\n", + "\n", + "TPOT can be imported just like any regular Python module. To import TPOT, type:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "from tpot2 import TPOTClassifier" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "then create an instance of TPOT as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "classification_optimizer = TPOTClassifier()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It's also possible to use TPOT for regression problems with the TPOTRegressor class. Other than the class name, a TPOTRegressor is used the same way as a TPOTClassifier. You can read more about the TPOTClassifier and TPOTRegressor classes in the API documentation." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from tpot2 import TPOTRegressor\n", + "regression_optimizer = TPOTRegressor()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fitting a TPOT model works exactly like any other sklearn estimator. Some example code with custom TPOT parameters might look like:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 6it [00:32, 5.39s/it]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:349: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "auroc_score: 0.9907407407407408\n" + ] + } + ], + "source": [ + "import sklearn\n", + "import sklearn.datasets\n", + "import sklearn.metrics\n", + "import tpot2\n", + "\n", + "classification_optimizer = TPOTClassifier(search_space=\"linear-light\", max_time_mins=30/60, n_jobs=30, cv=5)\n", + "\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, random_state=1, test_size=0.2)\n", + "\n", + "classification_optimizer.fit(X_train, y_train)\n", + "\n", + "auroc_score = sklearn.metrics.roc_auc_score(y_test, classification_optimizer.predict_proba(X_test)[:,1])\n", + "print(\"auroc_score: \", auroc_score)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Scorers, Objective Functions, and multi objective optimization.\n", + "\n", + "There are two ways of passing objectives into TPOT2. \n", + "\n", + "1. `scorers`: Scorers are functions that have the signature (estimator, X_test, y_test) and take in estimators that are expected to be fitted to training data. These can be produced with the [sklearn.metrics.make_scorer](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html) function. This function is used to evaluate the test folds during cross validation (defined in the `cv` parameter). These are passed into TPOT2 via the scorers parameter. This can take in the scorer itself or the string corresponding to a scoring function ([as listed here](https://scikit-learn.org/stable/modules/model_evaluation.html)). TPOT2 also supports passing in a list of several scorers for multi-objective optimization. For each fold of CV, TPOT only fits the estimator once, then evaluates all provided scorers in a loop.\n", + "\n", + "2. `other_objective_functions` : Other objective functions in TPOT2 have the signature (estimator) and returns a float or list of floats. These get passed a single unfitted estimator once, outside of cross validation. The user may choose to fit the pipeline within this objective function as well.\n", + "\n", + "\n", + "\n", + "Each scorer and objective function must be accompanied by a list of weights corresponding to the list of objectives, these are `scorers_weights` and `other_objective_function_weights`, respectively. By default, TPOT2 maximizes objective functions (this can be changed by `bigger_is_better=False`). Positive weights means that TPOT2 will seek to maximize that objective, and negative weights correspond to minimization. For most selectors (and the default), only the sign matters. The scale of the weight may matter if using a custom selection function for the optimization algorithm. A zero weight means that the score will not have an impact on the selection algorithm.\n", + "\n", + "Here is an example of using two scorers\n", + "\n", + " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1,-1],\n", + "\n", + "\n", + "Here is an example with a scorer and a secondary objective function\n", + "\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " other_objective_functions=[tpot2.objectives.number_of_leaves_objective],\n", + " other_objective_functions_weights=[-1],\n", + "\n", + "\n", + "TPOT will always automatically name the scorers based on the function name for the columns in the final results dataframe. TPOT will use the function name as the column name for `other_objective_functions`. However, if you would like to specify custom column names, you can set the `objective_function_names` to be a list of names (str) for each value returned by the function in `other_objective_functions`. This can be useful if your additional functions return more than one value per function.\n", + "\n", + "It is possible to have either the scorer or other_objective_function to return multiple values. In that case, just make sure that the `scorers_weights` and `other_objective_function_weights` are the same length as the number of returned scores.\n", + "\n", + "\n", + "TPOT comes with a few additional built in objective functions you can use. The first table are objectives applied to fitted pipelines, and thus are passee into the `scorers` parameter. The second table are objective functions for the `other_objective_functions` param.\n", + "\n", + "Scorers:\n", + "| Function | Description |\n", + "| :--- | :----: |\n", + "| tpot2.objectives.complexity_scorer | Estimates the number of learned parameters across all classifiers and regressors in the pipelines. Additionally, currently transformers add 1 point and selectors add 0 points (since they don't affect the complexity of the \"final\" predictive pipeline.) |\n", + "\n", + "Other Objective Functions.\n", + "\n", + "| Function | Description |\n", + "| :--- | :----: |\n", + "| tpot2.objectives.average_path_length | Computes the average shortest path from all nodes to the root/final estimator (only supported for GraphPipeline) |\n", + "| tpot2.objectives.number_of_leaves_objective | Calculates the number of leaves (input nodes) in a GraphPipeline |\n", + "| tpot2.objectives.number_of_nodes_objective | Calculates the number of nodes in a pipeline (whether it is an scikit-learn Pipeline, GraphPipeline, Feature Union, or the previous nested within each other) |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Measuring Model Complexity\n", + "\n", + "When running TPOT, including a secondary objective that measures model complexity can sometimes be beneficial. More complex models can yield higher performance, but this comes at the cost of interpretability. Simpler models may be more interpretable but often have lower predictive performance. Sometimes, however, vast increases in complexity only marginally improve predictive performance. There may be other simpler and more interpretable pipelines with marginal performance decreases that could be acceptable for the increased interpretability. However, these pipelines are often missed when optimizing purely for performance. By including both performance and complexity as objective functions, TPOT will attempt to optimize the best pipeline for all complexity levels simultaneously. After optimization, the user will be able to see the complexity vs performance tradeoff and decide which pipeline best suits their needs. \n", + "\n", + "Two methods of measuring complexity to consider would be `tpot2.objectives.number_of_nodes_objective` or `tpot2.objectives.complexity_scorer`. The number of nodes objective simply calculates the number of steps within a pipeline. This is a simple metric, however it does not differentiate between the complexity of different model types. For example, a simple LogisticRegression counts the same as the much more complex XGBoost. The complexity scorer tries to estimate the number of learned parameters included in the classifiers and regressors of the pipeline. It is challenging and potentially subjective how to exactly quantify and compare complexity between different classes of models. However, this function provides a reasonable heuristic for the evolutionary algorithm that at least separates out qualitatively more or less complex algorithms from one another. While it may be hard to compare the relative complexities of LogisticRegression and XGBoost exactly, for example, both will always be on opposite ends of the complexity values returned by this function. This allows for pareto fronts with LogisticRegression on one side, and XGBoost on the other.\n", + "\n", + "An example of this analysis is demonstrated in a following section." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Built In Configurations\n", + "TPOT can be used to optimize hyperparameters, select models, and optimize pipelines of models including determining the sequence of steps. **Tutorial 2** goes into more detail on how to customize search spaces with custom hyperparameter ranges, model types, and possible pipeline configurations. TPOT also comes with a handful of default operators and parameter configurations that we believe work well for optimizing machine learning pipelines. Below is a list of the current built-in configurations that come with TPOT. These can be passed in as strings to the `search space` parameter of any of the TPOT estimators.\n", + "\n", + "| String | Description |\n", + "| :--- | :----: |\n", + "| linear | A linear pipeline with the structure of \"Selector->(transformers+Passthrough)->(classifiers/regressors+Passthrough)->final classifier/regressor.\" For both the transformer and inner estimator layers, TPOT may choose one or more transformers/classifiers, or it may choose none. The inner classifier/regressor layer is optional. |\n", + "| linear-light | Same search space as linear, but without the inner classifier/regressor layer and with a reduced set of faster running estimators. |\n", + "| graph | TPOT will optimize a pipeline in the shape of a directed acyclic graph. The nodes of the graph can include selectors, scalers, transformers, or classifiers/regressors (inner classifiers/regressors can optionally be not included). This will return a custom GraphPipeline rather than an sklearn Pipeline. More details in Tutorial 6. |\n", + "| graph-light | Same as graph search space, but without the inner classifier/regressors and with a reduced set of faster running estimators. |\n", + "| mdr |TPOT will search over a series of feature selectors and Multifactor Dimensionality Reduction models to find a series of operators that maximize prediction accuracy. The TPOT MDR configuration is specialized for genome-wide association studies (GWAS), and is described in detail online here.\n", + "\n", + "Note that TPOT MDR may be slow to run because the feature selection routines are computationally expensive, especially on large datasets. |\n", + "\n", + "The `linear` and `graph` configurations by default allow for additional stacked classifiers/regressors within the pipeline in addition to the final classifier/regressor. If you would like to disable this, you can manually get the search space without inner classifier/regressors through the function `tpot2.config.template_search_spaces.get_template_search_spaces` with `inner_predictios=False`. You can pass the resulting search space into the `search space` param. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "from tpot2.search_spaces.pipelines import SequentialPipeline\n", + "from tpot2.config import get_search_space\n", + "\n", + "stc_search_space = SequentialPipeline([\n", + " get_search_space(\"selectors\"),\n", + " get_search_space(\"all_transformers\"),\n", + " get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "est = tpot2.TPOTEstimator(\n", + " search_space = stc_search_space,\n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " classification = True,\n", + " cv = 5,\n", + " max_eval_time_mins = 10,\n", + " early_stop = 2,\n", + " verbose = 2,\n", + " n_jobs=4,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using a built in method" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "est = tpot2.TPOTEstimator(\n", + " search_space = \"linear\",\n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " classification = True,\n", + " cv = 5,\n", + " max_eval_time_mins = 10,\n", + " early_stop = 2,\n", + " verbose = 2,\n", + " n_jobs=4,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The specific hyperparameter ranges used by TPOT can be found in files in the tpot2/config folder. The template search spaces listed above are defined in tpot2/config/template_search_spaces.py. Search spaces for individual models can be acquired in the tpot2/config/get_configspace.py file (`tpot2.config.get_search_space`). More details on customizing search spaces can be found in Tutorial 2.\n", + "\n", + "\n", + " `tpot2.config.template_search_spaces.get_template_search_spaces`\n", + " Returns a search space which can be optimized by TPOT.\n", + "\n", + " Parameters\n", + " ----------\n", + " search_space: str or SearchSpace\n", + " The default search space to use. If a string, it should be one of the following:\n", + " - 'linear': A search space for linear pipelines\n", + " - 'linear-light': A search space for linear pipelines with a smaller, faster search space\n", + " - 'graph': A search space for graph pipelines\n", + " - 'graph-light': A search space for graph pipelines with a smaller, faster search space\n", + " - 'mdr': A search space for MDR pipelines\n", + " If a SearchSpace object, it should be a valid search space object for TPOT.\n", + " \n", + " classification: bool, default=True\n", + " Whether the problem is a classification problem or a regression problem.\n", + "\n", + " inner_predictors: bool, default=None\n", + " Whether to include additional classifiers/regressors before the final classifier/regressor (allowing for ensembles). \n", + " Defaults to False for 'linear-light' and 'graph-light' search spaces, and True otherwise. (Not used for 'mdr' search space)\n", + " \n", + " cross_val_predict_cv: int, default=None\n", + " The number of folds to use for cross_val_predict. \n", + " Defaults to 0 for 'linear-light' and 'graph-light' search spaces, and 5 otherwise. (Not used for 'mdr' search space)\n", + "\n", + " get_search_space_params: dict\n", + " Additional parameters to pass to the get_search_space function.\n", + "\n", + "### cross_val_predict_cv\n", + "\n", + "Additionally, utilizing `cross_val_predict_cv` may increase performance when training models with inner classifiers/regressors. If this parameter is set, during model training any classifiers or regressors that is not the final predictor will use `sklearn.model_selection.cross_val_predict` to pass out of sample predictions into the following steps of the model. The model will still be fit to the full data which will be used for predictions after training. Training downstream models on out of sample predictions can often prevent overfitting and increase performance. The reason is that this gives downstream models a estimate of how upstream models compare on unseen data. Otherwise, if an upsteam model heavily overfits the data, downsteam models may simply learn to blindly trust the seemingly well-predicting model, propagating the over-fitting through to the end result.\n", + "\n", + "The downside is that cross_val_predict_cv is significantly more computationally demanding, and may not be necessary for your given dataset. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "linear_with_cross_val_predict_sp = tpot2.config.template_search_spaces.get_template_search_spaces(search_space=\"linear\", classification=True, inner_predictors=True, cross_val_predict_cv=5)\n", + "classification_optimizer = TPOTClassifier(search_space=linear_with_cross_val_predict_sp, max_time_mins=30/60, n_jobs=30, cv=5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Terminating Optimization (Early Stopping)\n", + "\n", + "Note that we use a short time duration for a quick example, but in practice, you may need to run TPOT for a longer duration. By default, TPOT sets a time limit of 1 hour with a max limit of 5 minutes per pipeline. In practice, you may want to increase these values.\n", + "\n", + "There are three methods of terminating a TPOT run and ending the optimization process. TPOT will terminate as soon as one of the conditions is met.\n", + "* `max_time_mins` : (Default, 60 minutes) After this many minutes, TPOT will terminate and return the best pipeline it found so far.\n", + "* `early_stop` : The number of generations without seeing an improvement in performance, after which TPOT terminates. Generally, a value of around 5 to 20 is sufficient to be reasonably sure that performance has converged.\n", + "* `generations`: The total number of generations of the evolutionary algorithm to run.\n", + "\n", + "By default, TPOT will run until the time limit is up, with no generation or early stop limits." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Best Practices and tips:\n", + "\n", + "* When running tpot from an .py script, it is important to protect code with `if __name__==\"__main__\":` . This is because of how TPOT handles parallelization with Python and Dask." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 15it [31:22, 125.48s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9999480161532774\n" + ] + } + ], + "source": [ + "#my_analysis.py\n", + "\n", + "from dask.distributed import Client, LocalCluster\n", + "import tpot2\n", + "import sklearn\n", + "import sklearn.datasets\n", + "import numpy as np\n", + "\n", + "if __name__==\"__main__\":\n", + " scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + " X, y = sklearn.datasets.load_digits(return_X_y=True)\n", + " X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "\n", + "\n", + " est = tpot2.TPOTClassifier(n_jobs=4, max_time_mins=3, verbose=2, early_stop=3)\n", + " est.fit(X_train, y_train)\n", + "\n", + "\n", + " print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example analysis and the Estimator class \n", + "\n", + "Here we use a toy example dataset included in scikit-learn. We will use the `light` configuration and the `complexity_scorer` to estimate complexity.\n", + "\n", + "Note, for this toy example, we set a relatively short run time. In practice, we would recommend running TPOT for a longer duration with an `early_stop` value of around 5 to 20 (more details below)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 6it [03:29, 34.94s/it]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/ensemble/_weight_boosting.py:527: FutureWarning: The SAMME.R algorithm (the default) is deprecated and will be removed in 1.6. Use the SAMME algorithm to circumvent this warning.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9985632183908046\n" + ] + } + ], + "source": [ + "#my_analysis.py\n", + "\n", + "from dask.distributed import Client, LocalCluster\n", + "import tpot2\n", + "import sklearn\n", + "import sklearn.datasets\n", + "import numpy as np\n", + "\n", + "import tpot2.objectives\n", + "\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovr')\n", + "\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "\n", + "\n", + "est = tpot2.TPOTClassifier(\n", + " scorers=[scorer, tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + "\n", + " search_space=\"linear\",\n", + " n_jobs=4, \n", + " max_time_mins=60, \n", + " max_eval_time_mins=10,\n", + " early_stop=2,\n", + " verbose=2,)\n", + "est.fit(X_train, y_train)\n", + "\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can access the best pipeline selected by TPOT with the `fitted_pipeline_` attribute. This is the pipeline with the highest cross validation score (on the first scorer, or first objective function if no scorer is provided.)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('passthrough', Passthrough()),\n",
+       "                ('selectfwe', SelectFwe(alpha=0.0012275167982)),\n",
+       "                ('featureunion-1',\n",
+       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                 SkipTransformer()),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('featureunion-2',\n",
+       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                 SkipTransformer()),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('adaboostclassifier',\n",
+       "                 AdaBoostClassifier(learning_rate=0.9052253032837,\n",
+       "                                    n_estimators=273))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('passthrough', Passthrough()),\n", + " ('selectfwe', SelectFwe(alpha=0.0012275167982)),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('adaboostclassifier',\n", + " AdaBoostClassifier(learning_rate=0.9052253032837,\n", + " n_estimators=273))])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "best_pipeline = est.fitted_pipeline_\n", + "best_pipeline" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1,\n", + " 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1,\n", + " 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0,\n", + " 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1,\n", + " 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "best_pipeline.predict(X_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Saving the Pipeline\n", + "\n", + "We recommend using dill or pickle to save the instance of the fitted_pipeline_. Note that we do not recommend pickling the TPOT object itself." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "import dill as pickle\n", + "with open(\"best_pipeline.pkl\", \"wb\") as f:\n", + " pickle.dump(best_pipeline, f)\n", + "\n", + "#load the pipeline\n", + "import dill as pickle\n", + "with open(\"best_pipeline.pkl\", \"rb\") as f:\n", + " my_loaded_best_pipeline = pickle.load(f)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The evaluated_individuals Dataframe - Further analysis of results\n", + "\n", + "The `evaluated_individuals` attribute of the tpot estimator object is a Pandas Dataframe containing information about a run. Each row corresponds to an individual pipeline explored by tpot. The dataframe contains the following columns:\n", + "\n", + "| Column | Description |\n", + "| :--- | :----: |\n", + "| \\ | The first set of columns will correspond to each objective function. These can either be automatically named by TPOT, or passed in by the user. |\n", + "| Parents | This contains a tuple that contains the indexes of the 'parents' of the current pipeline. For example, (29, 42) means that the pipelines in indexes 29 and 42 were utilized to generate that pipeline. |\n", + "| Variation_Function | The function applied to the parents to generate the new pipeline |\n", + "| Individual | The individual class that represents a specific pipeline and hyperparameter configuration. This class also contains functions for mutation and crossover. To get the sklearn estimator/pipeline object from the individual you can call the `export_pipeline()` function. (as in, `pipe = ind.export_pipeline()`) |\n", + "| Generation | The generation where the individual was created. (Note that the higher performing pipelines from previous generations may still be present in the current \"population\" of a given generation if selected.) |\n", + "| Submitted Timestamp | Timestamp, in seconds, at which the pipeline was sent to be evaluated. This is the output of time.time(), which is \"Return the time in seconds since the epoch as a floating-point number. \" |\n", + "| Completed Timestamp | Timestamp at which the pipeline evaluation completed in the same units as Submitted Timestamp |\n", + "| Pareto_Front\t | If you have multiple parameters, this column is True if the pipeline performance fall on the pareto front line. This is the set of pipelines with scores that are strictly better than pipelines not on the line, but not strictly better than one another. |\n", + "| Instance | This contains the unfitted pipeline evaluated for this row. (This is the pipeline returned by calling the export_pipeline() function of the individual class) |\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['roc_auc_score', 'complexity_scorer']" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#get the score/objective column names generated by TPOT\n", + "est.objective_names" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
roc_auc_scorecomplexity_scorerParentsVariation_FunctionIndividualGenerationSubmitted TimestampCompleted TimestampEval ErrorPareto_FrontInstance
00.9640121745.5NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.01.727568e+091.727568e+09NoneNaN(Normalizer(norm='l1'), SelectPercentile(perce...
1NaNNaNNaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.01.727568e+091.727568e+09INVALIDNaN(MaxAbsScaler(), SelectFromModel(estimator=Ext...
2NaNNaNNaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.01.727568e+091.727568e+09INVALIDNaN(MaxAbsScaler(), VarianceThreshold(threshold=0...
3NaNNaNNaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.01.727568e+091.727568e+09INVALIDNaN(Normalizer(norm='l1'), RFE(estimator=ExtraTre...
40.99166724030.0NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.01.727568e+091.727568e+09NoneNaN(RobustScaler(quantile_range=(0.1798922078332,...
....................................
3450.9927934374.0(237, 237)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09NoneNaN(Passthrough(), SelectFwe(alpha=0.022268001122...
3460.5209729.0(128, 128)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09NoneNaN(MaxAbsScaler(), RFE(estimator=ExtraTreesClass...
347NaNNaN(109, 85)ind_crossover<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09INVALIDNaN(StandardScaler(), SelectPercentile(percentile...
3480.97646621.0(296, 128)ind_crossover , ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09NoneNaN(Passthrough(), RFE(estimator=ExtraTreesClassi...
3490.99072514.0(297, 213)ind_crossover<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09NoneNaN(MinMaxScaler(), SelectFwe(alpha=0.00016890355...
\n", + "

350 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " roc_auc_score complexity_scorer Parents Variation_Function \\\n", + "0 0.964012 1745.5 NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 0.991667 24030.0 NaN NaN \n", + ".. ... ... ... ... \n", + "345 0.992793 4374.0 (237, 237) ind_mutate \n", + "346 0.520972 9.0 (128, 128) ind_mutate \n", + "347 NaN NaN (109, 85) ind_crossover \n", + "348 0.976466 21.0 (296, 128) ind_crossover , ind_mutate \n", + "349 0.990725 14.0 (297, 213) ind_crossover \n", + "\n", + " Individual Generation \\\n", + "0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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9dfGGGN++eUX8+qrrxpJZuLEiWbDhg1mx44dl93n7t27TVBQkKlatapZuHChWbVqlXnwwQeNJDNp0iRHv9z3vFKlSqZPnz5m1apV5t133zUVKlQw1atXN+fPn3f07du3r6lYsaLj+UcffWQkmTVr1jgde9WqVUaSWbVq1WXr27Ztm6lSpYpp1KiR4zzatm3bNdf09ttvG5vNZu6++26zfPly87///c90797deHh4mM8///yK7/u+ffuMJDNlyhSn9u+//95IMr179zbGGDNhwgQzffp0s2rVKrNu3Trz2muvmcqVK5t27do5va5v377Gy8vLVKpUycTHx5svvvjCfPbZZ/k+P670nhw+fNiUK1fOlClTxrz22msmISHBDB482EgyTzzxxBXHaczf53vdunVNVlaW0yM7O/uKtaenp5sGDRqYgIAA89///tesXr3ajB071nh6eppu3bo5HSP376xp06bmvffeM5988olp27at8fT0NHv37jXGGHPgwAEzZMgQI8ksX77cMc7U1NSrjgFA0UDYAlAs5YatjRs3mqysLHPq1CmzcuVKU6ZMGRMUFGQOHTpkNmzYYCSZqVOnOr32wIEDxs/Pz4wYMcLR1qZNGyPJfPHFF3mO1bdvXxMQEODUlpCQYCSZyZMnO7UvXbrUKewZ83fY8vDwMHv27HHqm/tL9l133eXUHhcXZySZoUOHOrXffffdpnTp0pd9T7Kzs01WVpZZuHCh8fDwMMePH88zvm+//dbpNXXq1DGdO3d2PH/uuecuGSgu9O677xpJZtmyZU7tmzdvNpLMrFmzrlhjZGSkqV+/vuMXX2OMOXXqlAkLCzMtWrRwtOW+P++///5l95frgQceMD4+Pmb//v1O7V27djX+/v7m5MmTTvu8+Bfn9957z0gyGzZscLRdHLays7NNlSpVTM+ePfMco2rVqiYnJ+eKNdatW9e0adMmT3t+azpz5owpXbp0nvMlOzvbNGzY0DRt2vSKx88NW5MmTTJZWVnm3LlzZuvWrea22267bFjMyckxWVlZJjEx0Ugy33//vWNb3759jSTz5ptvOr3mWs6Py70no0aNuuT5+sQTTxibzZbnZ+liuef7xY8+ffpcsfbXXnvNSDLvvfeeU/ukSZOMJLN69WpHmyQTHh5u0tLSHG2HDh0yJUqUMPHx8Y62KVOmGElm3759V6wZ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pJEjR2r69Olat26datWqpTJlykiSQkJCHLNoAAAAcL9gX68rbg+6yvbCRti6AeRnetSqsLVy5UoFBgbq/PnzysrKUs+ePTVjxgxJ0nfffafx48crOTlZx48fV05OjiRp//79qlOnjmMfTZo0cfx5586dOnfunCN85crMzFSjRo0uW8fevXuVlZWlli1bOtq8vLzUtGlT7dq164pj6NOnj8aMGeN4nhvgLq5Nknbt2qWePXs6tbVs2VIvvfSSsrOz5eHhIUlq0KCBY7vNZlNERITTJZQAAACwXmigt1pXD9VXl/hduXX1UIUG3tgrEhK2bgCFOT3arl07zZ49W15eXoqMjJSX19//O3DmzBl16tRJnTp10qJFi1SmTBnt379fnTt3zrPQREBAgOPPuYFs1apVKleunFM/Hx+fy9ZhjJH0d7C5uP3itovZ7XZVq1btktsurO1y+8s99oVy34dcNpvNMTYAAAAUDLu/t168t4FGLfvBKXC1rh6qSfc2uOGXfyds3QAKc3o0ICDgkkFl9+7dOnr0qF588UVFRUVJkrZs2XLV/dWpU0c+Pj7av3+/2rRpc8k+3t5//1BkZ2c72qpVqyZvb2+tX79evXv3liRlZWVpy5YtiouLu9ZhXbG+9evXO7UlJSWpRo0ajlmtq7lU/QAAALBGZEk/zXiwkY6eztSpc1kK8vVSaGDR+J4twtYN4EacHq1QoYK8vb01Y8YMPf7449q+fbsmTJhw1dcFBQVp+PDheuqpp5STk6NWrVopLS1NSUlJCgwMVN++fVWxYkXZbDatXLlS3bp1k5+fnwIDA/XEE0/oX//6l0qXLq0KFSpo8uTJOnv2rB555BG3jWvYsGG67bbbNGHCBPXq1UsbNmzQzJkzNWvWrHzvIywsTH5+fkpISFD58uXl6+sru93uthoBAADgzO5fNMLVxViN8AaQOz3aunqoU3thTo+WKVNGCxYs0Pvvv686deroxRdf1H//+998vXbChAl65plnFB8fr9q1a6tz58763//+51gyvVy5cnr22Wc1atQohYeHa/DgwZKkF198Uffee69iYmJ066236pdfftFnn32mUqVKuW1ct956q9577z0tWbJE9erV0zPPPKPnnnvukqssXo6np6deeeUVzZkzR5GRkXnuAQMAAAAkyWYudcMK8khLS5PdbldqaqqCg4Odtp07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mBilpKTIbrerQYMGSkhIUMeOHSVJI0aMUHp6ugYOHKgTJ06oWbNmWr16tYKCghz7mD59ujw9PXX//fcrPT1d7du314IFC+Th4eHos3jxYg0dOtSxamGPHj00c+bM664fAAAAAC7Hpe/Zuvvuu3X33XcrNjbWgpJuTHzPFgAAAAAp/9ngmme2JKlr164aPXq0tm/frsaNGysgIMBpe48ePVzZLQAAAAAUGy7NbJUocfl1NWw2m7Kzs6+rqBsRM1sAAAAAJItntnJyclwuDAAAAABuBte99Pu5c+fcUQcAAAAAFCsuha3s7GxNmDBB5cqVU2BgoH799VdJ0tixYzVv3jy3FggAAAAARZFLYeuFF17QggULNHnyZHl7ezva69evrzfeeMNtxQEAAABAUeVS2Fq4cKFef/119enTx+n7rBo0aKDdu3e7rTgAAAAAKKpcClt//vmnqlWrlqc9JydHWVlZ110UAAAAABR1LoWtunXr6uuvv87T/v7776tRo0bXXRQAAAAAFHUuLf0+btw4xcTE6M8//1ROTo6WL1+uPXv2aOHChVq5cqW7awQAAACAIselma277rpLS5cu1SeffCKbzaZnnnlGu3bt0v/+9z917NjR3TUCAAAAQJFzzTNb58+f1wsvvKCHH35YiYmJVtQEAAAAAEXeNc9seXp6asqUKcrOzraiHgAAAAAoFly6jLBDhw5at26dm0sBAAAAgOLDpQUyunbtqtGjR2v79u1q3LixAgICnLb36NHDLcUBAAAAQFFlM8aYa31RiRKXnxCz2WzF8hLDtLQ02e12paamKjg4uLDLAQAAAFBI8psNXJrZysnJcbkwAAAAALgZuHTPFgAAAADgylwOW4mJibrrrrtUrVo1Va9eXT169NDXX3/tztoAAAAAoMhyKWwtWrRIHTp0kL+/v4YOHarBgwfLz89P7du31zvvvOPuGgEAAACgyHFpgYzatWtrwIABeuqpp5zap02bprlz52rXrl1uK/BGwQIZAAAAAKT8ZwOXZrZ+/fVX3XXXXXnae/TooX379rmySwAAAAAoVlwKW1FRUfriiy/ytH/xxReKioq67qIAAAAAoKhzaen3YcOGaejQoUpOTlaLFi1ks9m0fv16LViwQC+//LK7awQAAACAIselsPXEE08oIiJCU6dO1XvvvSfp7/u4li5dqp49e7q1QAAAAAAoilxaIONmxAIZAAAAACSLF8jYvHmzvv322zzt3377rbZs2eLKLgEAAACgWHEpbA0aNEgHDhzI0/7nn39q0KBB110UAAAAABR1LoWtnTt36tZbb83T3qhRI+3cufO6iwIAAACAos6lsOXj46O//vorT3tKSoo8PV1acwMAAAAAihWXwlbHjh01evRopaamOtpOnjypf//73+rYsaPbigMAAACAosqlaaipU6eqdevWqlixoho1aiRJSk5OVnh4uN5++223FggAAAAARZFLYatcuXL64YcftHjxYn3//ffy8/NTv3799OCDD8rLy8vdNQIAAABAkePyDVYBAQEaMGCAO2sBAAAAgGLDpXu23nrrLa1atcrxfMSIESpZsqRatGih33//3W3FAQAAAEBR5VLYmjhxovz8/CRJGzZs0MyZMzV58mSFhobqqaeecmuBAAAAAFAUuXQZ4YEDB1StWjVJ0ooVK3TfffdpwIABatmypdq2bevO+gAAAACgSHJpZiswMFDHjh2TJK1evVodOnSQJPn6+io9Pd191QEAAABAEeXSzFbHjh316KOPqlGjRvrpp5905513SpJ27NihSpUqubM+AAAAACiSXJrZevXVVxUdHa0jR45o2bJlCgkJkSRt3bpVDz74oFsLBAAAAICiyGaMMVbtfODAgXruuecUGhpq1SEKTFpamux2u1JTUxUcHFzY5QAAAAAoJPnNBi7NbOXXokWLlJaWZuUhAAAAAOCGZGnYsnDSDAAAAABuaJaGLQAAAAC4WRG2AAAAAMAChC0AAAAAsABhCwAAAAAsYGnYeuihh1gmHQAAAMBNyaWwValSJT333HPav3//FfvNnj27WHzHFgAAAABcK5fC1rBhw/TRRx+pSpUq6tixo5YsWaKMjAx31wYAAAAARZZLYWvIkCHaunWrtm7dqjp16mjo0KEqW7asBg8erG3btrm7RgAAAAAocmzGDd88nJWVpVmzZmnkyJHKyspSvXr19OSTT6pfv36y2WzuqLPQpaWlyW63KzU1lfvQAAAAgJtYfrOB5/UcJCsrSx9++KHmz5+vNWvWqHnz5nrkkUd08OBBjRkzRp9//rneeeed6zkEAAAAABRJLoWtbdu2af78+Xr33Xfl4eGhmJgYTZ8+XbVq1XL06dSpk1q3bu22QgEAAACgKHEpbN12223q2LGjZs+e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/nnFxsbKbrerf//+kqSkpCS1bt1afn5+ioqK0tChQ3XmzJl8vV8AAPfwLOwCAAA3p7feektPPPGEvvnmGx09elSdOnVSbGysFi5cqN27d6t///7y9fXV+PHjJUmjR4/W3LlzNX36dLVq1UopKSnavXt3vo4VFBSkBQsWKDIyUj/++KP69++voKAgjRgxIt/1unr8V155RR9//LHee+89VahQQQcOHNCBAwck/R3gunbtqlOnTmnRokWqWrWqdu7cKQ8PD0nS1q1bdf/992v8+PHq1auXkpKSNHDgQIWEhCg2NtZxjClTpmjs2LH6z3/+I0n68ccf1blzZ02YMEHz5s3TkSNHNHjwYA0ePFjz58/P95gBANfHZowxhV0EAODm0rZtW6Wmpuq7776TJI0ZM0bLli3Trl27ZLPZJEmzZs3SyJEjlZqaqjNnzqhMmTKaOXOmHn300es+/pQpU7R06VJt2bJF0t8zWydPntSKFSscfeLi4pScnKx169bp1KlTLh9/6NCh2rFjhz7//HPH2HKtXr1aXbt21a5du1SjRo08r+3Tp4+OHDmi1atXO9pGjBihVatWaceOHZL+ntlq1KiRPvzwQ0eff/7zn/Lz89OcOXMcbevXr1ebNm105swZ+fr6XtMYAACu4TJCAEChaNKkiePPu3btUnR0tFMYadmypU6fPq0//vhDu3btUkZGhtq3b+/SsT744AO1atVKERERCgwM1NixY7V///58v/56jh8bG6vk5GTVrFlTQ4cOdQpOycnJKl++/CWDVu5xW7Zs6dTWsmVL/fzzz8rOzna0XfheSn/PiC1YsECBgYGOR+fOnZWTk6N9+/Zd8xgAAK4hbAEACkVAQIDjz8aYPLM+uRde2Gw2+fn5uXycjRs36oEHHlDXrl21cuVKfffddxozZozTQhIlSpTQxRd6XHhP1/Uc/9Zbb9W+ffs0YcIEpaen6/7779d9992Xr/1e6X250IXvpfT35YmPPfaYkpOTHY/vv/9eP//8s6pWreryWAAA14awBQAodHXq1FFSUpJTkEhKSlJQUJDKlSun6tWry8/PT1988cU17/ubb75RxYoVNWbMGDVp0kTVq1fX77//7tSnTJkySklJcWpLTk52/Pl6ji9JwcHB6tWrl+bOnaulS5dq2bJlOn78uBo0aKA//vhDP/300yVfV6dOHa1fv96pLSkpSTVq1HDc13Upt956q3bs2KFq1arleXh7e7s0BgDAtSNsAQAK3cCBA3XgwAENGTJEu3fv1kcffaRx48bp6aefVokSJeTr66uRI0dqxIgRWrhwofbu3auNGzdq3rx5V913tWrVtH//fi1ZskR79+7VK6+84nR/kyTdcccd2rJlixYuXKiff/5Z48aN0/bt2x3br+f406dP15IlS7R792799NNPev/99xUREaGSJUuqTZs2at26te69916tWbNG+/bt06effqqEhARJ0rBhw/TFF19owoQJ+umnn/TWW29p5syZGj58+BWPOXLkSG3YsEGDBg1ScnKyfv75Z3388ccaMmTIVesFALiRAQCggLVp08Y8+eSTTm3r1q0zt912m/H29jYRERFm5MiRJisry7E9OzvbPP/886ZixYrGy8vLVKhQwUycODFfx/vXv/5lQkJCTGBgoOnVq5eZPn26sdvtTn2eeeYZEx4ebux2u3nqqafM4MGDTZs2ba77+K+//rq55ZZbTEBAgAkODjbt27c327Ztc2w/duyY6devnwkJCTG+vr6mXr16ZuXKlY7tH3zwgalTp47jmFOmTHHaf8WKFc306dPzHHfTpk2mY8eOJjAw0AQEBJgGDRqYF154IV/vFwDAPViNEAAAAAAswGWEAAAAAGABwhYAoEibOHGi0xLnFz66du1a7I8PALhxcRkhAKBIO378uI4fP37JbX5+fipXrlyxPj4A4MZF2AIAAAAAC3AZIQAAAABYgLAFAAAAABYgbAEAAACABQhbAAAAAGABwhYAAAAAWICwBQAAAAAWIGwBAAAAgAX+L0tOnNeXC7TMAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(5,5))\n", + "sns.scatterplot(df[df['Pareto_Front']!=1], x='roc_auc_score', y='complexity_scorer', label='other', ax=ax)\n", + "sns.scatterplot(df[df['Pareto_Front']==1], x='roc_auc_score', y='complexity_scorer', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of all pipelines')\n", + "#log scale y\n", + "ax.set_yscale('log')\n", + "plt.show()\n", + "\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(10,5))\n", + "sns.scatterplot(df[df['Pareto_Front']==1], x='roc_auc_score', y='complexity_scorer', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of only the Pareto Front')\n", + "#log scale y\n", + "# ax.set_yscale('log')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
roc_auc_scorecomplexity_scorerParentsVariation_FunctionIndividualGenerationSubmitted TimestampCompleted TimestampEval ErrorPareto_FrontInstance
3300.9955564373.0(237, 52)ind_crossover<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09None1.0(Passthrough(), SelectFwe(alpha=0.001227516798...
1440.99500068.6(61, 61)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...2.01.727568e+091.727568e+09None1.0(RobustScaler(quantile_range=(0.2808423658106,...
3200.99405931.0(184, 184)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09None1.0(MaxAbsScaler(), SelectFwe(alpha=0.01352548659...
1610.99402823.2(123, 123)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...3.01.727568e+091.727568e+09None1.0(MaxAbsScaler(), SelectFromModel(estimator=Ext...
2970.99257713.0(193, 193)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...5.01.727568e+091.727568e+09None1.0(MaxAbsScaler(), SelectFwe(alpha=0.00098089598...
3060.9911658.0(167, 167)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...6.01.727568e+091.727568e+09None1.0(MaxAbsScaler(), SelectFwe(alpha=0.00057722163...
1060.9650157.0(11, 85)ind_crossover<tpot2.search_spaces.pipelines.sequential.Sequ...2.01.727568e+091.727568e+09None1.0(StandardScaler(), SelectPercentile(percentile...
1950.9454866.0(25, 25)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...3.01.727568e+091.727568e+09None1.0(MaxAbsScaler(), SelectFwe(alpha=0.00098089598...
\n", + "
" + ], + "text/plain": [ + " roc_auc_score complexity_scorer Parents Variation_Function \\\n", + "330 0.995556 4373.0 (237, 52) ind_crossover \n", + "144 0.995000 68.6 (61, 61) ind_mutate \n", + "320 0.994059 31.0 (184, 184) ind_mutate \n", + "161 0.994028 23.2 (123, 123) ind_mutate \n", + "297 0.992577 13.0 (193, 193) ind_mutate \n", + "306 0.991165 8.0 (167, 167) ind_mutate \n", + "106 0.965015 7.0 (11, 85) ind_crossover \n", + "195 0.945486 6.0 (25, 25) ind_mutate \n", + "\n", + " Individual Generation \\\n", + "330 #sk-container-id-2 {\n", + " /* Definition of color scheme common for light and dark mode */\n", + " --sklearn-color-text: black;\n", + " --sklearn-color-line: gray;\n", + " /* Definition of color scheme for unfitted estimators */\n", + " --sklearn-color-unfitted-level-0: #fff5e6;\n", + " --sklearn-color-unfitted-level-1: #f6e4d2;\n", + " --sklearn-color-unfitted-level-2: #ffe0b3;\n", + " --sklearn-color-unfitted-level-3: chocolate;\n", + " /* Definition of color scheme for fitted estimators */\n", + " --sklearn-color-fitted-level-0: #f0f8ff;\n", + " --sklearn-color-fitted-level-1: #d4ebff;\n", + " --sklearn-color-fitted-level-2: #b3dbfd;\n", + " --sklearn-color-fitted-level-3: cornflowerblue;\n", + "\n", + " /* Specific color for light theme */\n", + " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", + " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", + " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", + " --sklearn-color-icon: #696969;\n", + "\n", + " @media (prefers-color-scheme: dark) {\n", + " /* Redefinition of color scheme for dark theme */\n", + " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", + " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", + " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", + " --sklearn-color-icon: #878787;\n", + " }\n", + "}\n", + "\n", + "#sk-container-id-2 {\n", + " color: var(--sklearn-color-text);\n", + "}\n", + "\n", + "#sk-container-id-2 pre {\n", + " padding: 0;\n", + "}\n", + "\n", + "#sk-container-id-2 input.sk-hidden--visually {\n", + " border: 0;\n", + " clip: rect(1px 1px 1px 1px);\n", + " clip: rect(1px, 1px, 1px, 1px);\n", + " height: 1px;\n", + " margin: -1px;\n", + " overflow: hidden;\n", + " padding: 0;\n", + " position: absolute;\n", + " width: 1px;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-dashed-wrapped {\n", + " border: 1px dashed var(--sklearn-color-line);\n", + " margin: 0 0.4em 0.5em 0.4em;\n", + " box-sizing: border-box;\n", + " padding-bottom: 0.4em;\n", + " background-color: var(--sklearn-color-background);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-container {\n", + " /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", + " but bootstrap.min.css set `[hidden] { display: none !important; }`\n", + " so we also need the `!important` here to be able to override the\n", + " default hidden behavior on the sphinx rendered scikit-learn.org.\n", + " See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", + " display: inline-block !important;\n", + " position: relative;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-text-repr-fallback {\n", + " display: none;\n", + "}\n", + "\n", + "div.sk-parallel-item,\n", + "div.sk-serial,\n", + "div.sk-item {\n", + " /* draw centered vertical line to link estimators */\n", + " background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", + " background-size: 2px 100%;\n", + " background-repeat: no-repeat;\n", + " background-position: center center;\n", + "}\n", + "\n", + "/* Parallel-specific style estimator block */\n", + "\n", + "#sk-container-id-2 div.sk-parallel-item::after {\n", + " content: \"\";\n", + " width: 100%;\n", + " border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", + " flex-grow: 1;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-parallel {\n", + " display: flex;\n", + " align-items: stretch;\n", + " justify-content: center;\n", + " background-color: var(--sklearn-color-background);\n", + " position: relative;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-parallel-item {\n", + " display: flex;\n", + " flex-direction: column;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n", + " align-self: flex-end;\n", + " width: 50%;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n", + " align-self: flex-start;\n", + " width: 50%;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n", + " width: 0;\n", + "}\n", + "\n", + "/* Serial-specific style estimator block */\n", + "\n", + "#sk-container-id-2 div.sk-serial {\n", + " display: flex;\n", + " flex-direction: column;\n", + " align-items: center;\n", + " background-color: var(--sklearn-color-background);\n", + " padding-right: 1em;\n", + " padding-left: 1em;\n", + "}\n", + "\n", + "\n", + "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", + "clickable and can be expanded/collapsed.\n", + "- Pipeline and ColumnTransformer use this feature and define the default style\n", + "- Estimators will overwrite some part of the style using the `sk-estimator` class\n", + "*/\n", + "\n", + "/* Pipeline and ColumnTransformer style (default) */\n", + "\n", + "#sk-container-id-2 div.sk-toggleable {\n", + " /* Default theme specific background. It is overwritten whether we have a\n", + " specific estimator or a Pipeline/ColumnTransformer */\n", + " background-color: var(--sklearn-color-background);\n", + "}\n", + "\n", + "/* Toggleable label */\n", + "#sk-container-id-2 label.sk-toggleable__label {\n", + " cursor: pointer;\n", + " display: block;\n", + " width: 100%;\n", + " margin-bottom: 0;\n", + " padding: 0.5em;\n", + " box-sizing: border-box;\n", + " text-align: center;\n", + "}\n", + "\n", + "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n", + " /* Arrow on the left of the label */\n", + " content: \"▸\";\n", + " float: left;\n", + " margin-right: 0.25em;\n", + " color: var(--sklearn-color-icon);\n", + "}\n", + "\n", + "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n", + " color: var(--sklearn-color-text);\n", + "}\n", + "\n", + "/* Toggleable content - dropdown */\n", + "\n", + "#sk-container-id-2 div.sk-toggleable__content {\n", + " max-height: 0;\n", + " max-width: 0;\n", + " overflow: hidden;\n", + " text-align: left;\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-0);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-toggleable__content.fitted {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-0);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-toggleable__content pre {\n", + " margin: 0.2em;\n", + " border-radius: 0.25em;\n", + " color: var(--sklearn-color-text);\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-0);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-fitted-level-0);\n", + "}\n", + "\n", + "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", + " /* Expand drop-down */\n", + " max-height: 200px;\n", + " max-width: 100%;\n", + " overflow: auto;\n", + "}\n", + "\n", + "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", + " content: \"▾\";\n", + "}\n", + "\n", + "/* Pipeline/ColumnTransformer-specific style */\n", + "\n", + "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", + " color: var(--sklearn-color-text);\n", + " background-color: var(--sklearn-color-unfitted-level-2);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", + " background-color: var(--sklearn-color-fitted-level-2);\n", + "}\n", + "\n", + "/* Estimator-specific style */\n", + "\n", + "/* Colorize estimator box */\n", + "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-2);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-2);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n", + "#sk-container-id-2 div.sk-label label {\n", + " /* The background is the default theme color */\n", + " color: var(--sklearn-color-text-on-default-background);\n", + "}\n", + "\n", + "/* On hover, darken the color of the background */\n", + "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n", + " color: var(--sklearn-color-text);\n", + " background-color: var(--sklearn-color-unfitted-level-2);\n", + "}\n", + "\n", + "/* Label box, darken color on hover, fitted */\n", + "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", + " color: var(--sklearn-color-text);\n", + " background-color: var(--sklearn-color-fitted-level-2);\n", + "}\n", + "\n", + "/* Estimator label */\n", + "\n", + "#sk-container-id-2 div.sk-label label {\n", + " font-family: monospace;\n", + " font-weight: bold;\n", + " display: inline-block;\n", + " line-height: 1.2em;\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-label-container {\n", + " text-align: center;\n", + "}\n", + "\n", + "/* Estimator-specific */\n", + "#sk-container-id-2 div.sk-estimator {\n", + " font-family: monospace;\n", + " border: 1px dotted var(--sklearn-color-border-box);\n", + " border-radius: 0.25em;\n", + " box-sizing: border-box;\n", + " margin-bottom: 0.5em;\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-0);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-estimator.fitted {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-0);\n", + "}\n", + "\n", + "/* on hover */\n", + "#sk-container-id-2 div.sk-estimator:hover {\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-2);\n", + "}\n", + "\n", + "#sk-container-id-2 div.sk-estimator.fitted:hover {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-2);\n", + "}\n", + "\n", + "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", + "\n", + "/* Common style for \"i\" and \"?\" */\n", + "\n", + ".sk-estimator-doc-link,\n", + "a:link.sk-estimator-doc-link,\n", + "a:visited.sk-estimator-doc-link {\n", + " float: right;\n", + " font-size: smaller;\n", + " line-height: 1em;\n", + " font-family: monospace;\n", + " background-color: var(--sklearn-color-background);\n", + " border-radius: 1em;\n", + " height: 1em;\n", + " width: 1em;\n", + " text-decoration: none !important;\n", + " margin-left: 1ex;\n", + " /* unfitted */\n", + " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", + " color: var(--sklearn-color-unfitted-level-1);\n", + "}\n", + "\n", + ".sk-estimator-doc-link.fitted,\n", + "a:link.sk-estimator-doc-link.fitted,\n", + "a:visited.sk-estimator-doc-link.fitted {\n", + " /* fitted */\n", + " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", + " color: var(--sklearn-color-fitted-level-1);\n", + "}\n", + "\n", + "/* On hover */\n", + "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", + ".sk-estimator-doc-link:hover,\n", + "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", + ".sk-estimator-doc-link:hover {\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-3);\n", + " color: var(--sklearn-color-background);\n", + " text-decoration: none;\n", + "}\n", + "\n", + "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", + ".sk-estimator-doc-link.fitted:hover,\n", + "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", + ".sk-estimator-doc-link.fitted:hover {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-3);\n", + " color: var(--sklearn-color-background);\n", + " text-decoration: none;\n", + "}\n", + "\n", + "/* Span, style for the box shown on hovering the info icon */\n", + ".sk-estimator-doc-link span {\n", + " display: none;\n", + " z-index: 9999;\n", + " position: relative;\n", + " font-weight: normal;\n", + " right: .2ex;\n", + " padding: .5ex;\n", + " margin: .5ex;\n", + " width: min-content;\n", + " min-width: 20ex;\n", + " max-width: 50ex;\n", + " color: var(--sklearn-color-text);\n", + " box-shadow: 2pt 2pt 4pt #999;\n", + " /* unfitted */\n", + " background: var(--sklearn-color-unfitted-level-0);\n", + " border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", + "}\n", + "\n", + ".sk-estimator-doc-link.fitted span {\n", + " /* fitted */\n", + " background: var(--sklearn-color-fitted-level-0);\n", + " border: var(--sklearn-color-fitted-level-3);\n", + "}\n", + "\n", + ".sk-estimator-doc-link:hover span {\n", + " display: block;\n", + "}\n", + "\n", + "/* \"?\"-specific style due to the `` HTML tag */\n", + "\n", + "#sk-container-id-2 a.estimator_doc_link {\n", + " float: right;\n", + " font-size: 1rem;\n", + " line-height: 1em;\n", + " font-family: monospace;\n", + " background-color: var(--sklearn-color-background);\n", + " border-radius: 1rem;\n", + " height: 1rem;\n", + " width: 1rem;\n", + " text-decoration: none;\n", + " /* unfitted */\n", + " color: var(--sklearn-color-unfitted-level-1);\n", + " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", + "}\n", + "\n", + "#sk-container-id-2 a.estimator_doc_link.fitted {\n", + " /* fitted */\n", + " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", + " color: var(--sklearn-color-fitted-level-1);\n", + "}\n", + "\n", + "/* On hover */\n", + "#sk-container-id-2 a.estimator_doc_link:hover {\n", + " /* unfitted */\n", + " background-color: var(--sklearn-color-unfitted-level-3);\n", + " color: var(--sklearn-color-background);\n", + " text-decoration: none;\n", + "}\n", + "\n", + "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n", + " /* fitted */\n", + " background-color: var(--sklearn-color-fitted-level-3);\n", + "}\n", + "
Pipeline(steps=[('maxabsscaler', MaxAbsScaler()),\n",
+       "                ('selectfwe', SelectFwe(alpha=0.0009808959816)),\n",
+       "                ('featureunion-1',\n",
+       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                 SkipTransformer()),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('featureunion-2',\n",
+       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                 SkipTransformer()),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('kneighborsclassifier',\n",
+       "                 KNeighborsClassifier(n_jobs=1, n_neighbors=1, p=1,\n",
+       "                                      weights='distance'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('maxabsscaler', MaxAbsScaler()),\n", + " ('selectfwe', SelectFwe(alpha=0.0009808959816)),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('kneighborsclassifier',\n", + " KNeighborsClassifier(n_jobs=1, n_neighbors=1, p=1,\n", + " weights='distance'))])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#access the best performing pipeline with the lowest complexity\n", + "\n", + "best_pipeline_lowest_complexity = sorted_pareto_front.iloc[-1]['Instance']\n", + "best_pipeline_lowest_complexity" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot performance over time + Continuing a run from where it left off\n", + "\n", + "Plotting performance over time is a good way to assess whether or not the TPOT model has converged. If performance asymptotes over time, there may not be much more performance to be gained by running for a longer period. If the plot looks like it is still improving, it may be worth running TPOT for a longer duration. \n", + "\n", + "In this case, we can see that performance is near optimal and has slowed, so more time is likely unnecessary." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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MWPGVPg726dPH78+nKsItIyMDPXq1UsxMTFq0aKFhg0bpu3bt/v14e/qL0cAC0KvvPKKJk2apOnTp2vz5s269NJLNXDgQBUUFFg9NNRjXbp0UXFxsfn44osvzNcee+wxZWZm6plnntEnn3yili1b6uqrr9aRI0csHDHqg2PHjql79+565plnTvt6Vc7NSZMm6fXXX9eqVau0YcMGHT16VIMHD5bH46mtw0A9cLZzVZKuueYav7+zq1ev9nudcxWBtm7dOo0fP14ff/yxcnJyVFZWprS0NB07dszsw9/VGmAg6Fx88cVGenq6X1vnzp2NqVOnWjQi1HezZs0yunfvftrXvF6v0bJlS+ORRx4x206cOGHExsYazz33XC2NEDAMScbrr79uPq/Kufnjjz8aDofDWLVqldmnqKjICAsLM955551aGzvql/8+Vw3DMG699VZj6NChlb6HcxVW2LdvnyHJWLdunWEY/F2tKayABZnS0lLl5+crLS3Nrz0tLU25ubkWjQqQdu7cqdatWyspKUmjRo3Srl27JEnffvut9u7d63fORkZG6vLLL+echaWqcm7m5+fL7Xb79WndurW6du3K+Yta9/7776tFixY6//zzNW7cOO3bt898jXMVVjh8+LAkqWnTppL4u1pTCGBBZv/+/fJ4PIqPj/drj4+P1969ey0aFeq73r17a/ny5VqzZo0WLVqkvXv3ql+/fjpw4IB5XnLOIthU5dzcu3evIiIi1KRJk0r7ALVh4MCBeumll/Tee+9p/vz5+uSTT/TrX/9aLpdLEucqap9hGJo8ebIuueQSde3aVRJ/V2tKuNUDwOnZbDa/54ZhVGgDasvAgQPNn7t166a+ffuqQ4cOWrZsmXmROOcsgtW5nJucv6htI0eONH/u2rWrevbsqYSEBP3973/XiBEjKn0f5yoCZcKECfr888+1YcOGCq/xd/WXYQUsyMTFxclut1f4fwj27dtX4f9tAKzSsGFDdevWTTt37jR3Q+ScRbCpyrnZsmVLlZaW6tChQ5X2AazQqlUrJSQkaOfOnZI4V1G77r77br311ltau3at2rZta7bzd7VmEMCCTEREhFJSUpSTk+PXnpOTo379+lk0KsCfy+XStm3b1KpVKyUlJally5Z+52xpaanWrVvHOQtLVeXcTElJkcPh8OtTXFysrVu3cv7CUgcOHFBhYaFatWoliXMVtcMwDE2YMEGvvfaa3nvvPSUlJfm9zt/VmkEJYhCaPHmyRo8erZ49e6pv377Kzs5WQUGB0tPTrR4a6qn7779fQ4YMUfv27bVv3z499NBDKikp0a233iqbzaZJkyZp3rx56tixozp27Kh58+apQYMGuummm6weOkLc0aNH9fXXX5vPv/32W23ZskVNmzZV+/btz3puxsbG6rbbbtN9992nZs2aqWnTprr//vvVrVs3XXXVVVYdFkLQmc7Vpk2bavbs2frNb36jVq1aaffu3XrggQcUFxen4cOHS+JcRe0YP368Xn75Zb355puKiYkxV7piY2PldDqr9G8+52oVWLb/Is7o2WefNRISEoyIiAijR48e5vafgBVGjhxptGrVynA4HEbr1q2NESNGGF9++aX5utfrNWbNmmW0bNnSiIyMNC677DLjiy++sHDEqC/Wrl1rSKrwuPXWWw3DqNq5+dNPPxkTJkwwmjZtajidTmPw4MFGQUGBBUeDUHamc/X48eNGWlqa0bx5c8PhcBjt27c3br311grnIecqAu1056gkY+nSpWYf/q7+cjbDMIzaj30AAAAAUP9wDRgAAAAA1BICGAAAAADUEgIYAAAAANQSAhgAAAAA1BICGAAAAADUEgIYAAAAANQSAhgAAAAA1BICGAAAAADUEgIYACDozJ49WxdeeKFl3z9z5kzdcccdln1/TXj//fdls9n0448/nrXvF198obZt2+rYsWOBHxgA1HMEMABArbLZbGd8jBkzRvfff7/+9a9/WTK+//znP3rqqaf0wAMPWPL9VujWrZsuvvhiPfHEE1YPBQBCHgEMAFCriouLzceTTz6pRo0a+bU99dRTio6OVrNmzSwZ3/PPP6++ffsqMTHRku+3ytixY5WVlSWPx2P1UAAgpBHAAAC1qmXLluYjNjZWNputQtt/lyCOGTNGw4YN07x58xQfH6/GjRtrzpw5Kisr0x/+8Ac1bdpUbdu21ZIlS/y+q6ioSCNHjlSTJk3UrFkzDR06VLt37z7j+FatWqXrrrvOr+1vf/ubunXrJqfTqWbNmumqq67yK9dbunSpkpOTFRUVpc6dO2vBggV+7//uu+80atQoNW3aVA0bNlTPnj21ceNG8/WsrCx16NBBERER6tSpk1asWOH3fpvNpsWLF2v48OFq0KCBOnbsqLfeesuvz+rVq3X++efL6XSqf//+FY5zz549GjJkiJo0aaKGDRuqS5cuWr16tfn6gAEDdODAAa1bt+6M/30AAL8MAQwAUCe89957+v777/XBBx8oMzNTs2fP1uDBg9WkSRNt3LhR6enpSk9PV2FhoSTp+PHj6t+/v6Kjo/XBBx9ow4YNio6O1jXXXKPS0tLTfsehQ4e0detW9ezZ02wrLi7WjTfeqN/97nfatm2b3n//fY0YMUKGYUiSFi1apOnTp+vhhx/Wtm3bNG/ePM2cOVPLli2TJB09elSXX365vv/+e7311lv67LPPNGXKFHm9XknS66+/rokTJ+q+++7T1q1bdeedd2rs2LFau3at39jmzJmjG264QZ9//rkGDRqkm2++WQcPHpQkFRYWasSIERo0aJC2bNmi22+/XVOnTvV7//jx4+VyufTBBx/oiy++0KOPPqro6Gjz9YiICHXv3l3r16//Jb8mAMDZGAAAWGTp0qVGbGxshfZZs2YZ3bt3N5/feuutRkJCguHxeMy2Tp06GZdeeqn5vKyszGjYsKGxcuVKwzAM4/nnnzc6depkeL1es4/L5TKcTqexZs2a045n8+bNhiSjoKDAbMvPzzckGbt37z7te9q1a2e8/PLLfm0PPvig0bdvX8MwDGPhwoVGTEyMceDAgdO+v1+/fsa4ceP82q6//npj0KBB5nNJxowZM8znR48eNWw2m/GPf/zDMAzDmDZtmpGcnOx3rH/84x8NScahQ4cMwzCMbt26GbNnzz7tGHyGDx9ujBkz5ox9AAC/DCtgAIA6oUuXLgoLO/XPVnx8vLp162Y+t9vtatasmfbt2ydJys/P19dff62YmBhFR0crOjpaTZs21YkTJ/TNN9+c9jt++uknSVJUVJTZ1r17d1155ZXq1q2brr/+ei1atEiHDh2SJP3www8qLCzUbbfdZn5HdHS0HnroIfM7tmzZoosuukhNmzY97Xdu27ZNqampfm2pqanatm2bX9uvfvUr8+eGDRsqJibGPNZt27apT58+stlsZp++ffv6vf+ee+7RQw89pNTUVM2aNUuff/55hbE4nU4dP378tOMEANSMcKsHAABAVTgcDr/nNpvttG2+0j6v16uUlBS99NJLFT6refPmp/2OuLg4SeWliL4+drtdOTk5ys3N1bvvvqunn35a06dP18aNG9WgQQNJ5WWIvXv39vssu90uqTzUnM3Pg5MkGYZRoe1Mx2qcLIc8k9tvv10DBgzQ3//+d7377rvKyMjQ/Pnzdffdd5t9Dh48qA4dOpz1swAA544VMABASOrRo4d27typFi1a6H/+53/8HrGxsad9T4cOHdSoUSN99dVXfu02m02pqamaM2eONm/erIiICL3++uuKj49XmzZttGvXrgrfkZSUJKl85WrLli3m9Vr/LTk5WRs2bPBry83NVXJycpWP9YILLtDHH3/s1/bfzyWpXbt2Sk9P12uvvab77rtPixYt8nt969atuuiii6r8vQCA6iOAAQBC0s0336y4uDgNHTpU69ev17fffqt169Zp4sSJ+u677077nrCwMF111VV+gWjjxo2aN2+eNm3apIKCAr322mv64YcfzIA0e/ZsZWRk6KmnntKOHTv0xRdfaOnSpcrMzJQk3XjjjWrZsqWGDRumDz/8ULt27dKrr76qjz76SJL0hz/8QS+88IKee+457dy5U5mZmXrttdd0//33V/lY09PT9c0332jy5Mnavn27Xn75Zb3wwgt+fSZNmqQ1a9bo22+/1aeffqr33nvPL+Tt3r1bRUVFuuqqq6r8vQCA6iOAAQBCUoMGDfTBBx+offv2GjFihJKTk/W73/1OP/30kxo1alTp++644w6tWrXKLO9r1KiRPvjgAw0aNEjnn3++ZsyYofnz52vgwIGSykv7Fi9erBdeeEHdunXT5ZdfrhdeeMFcAYuIiNC7776rFi1aaNCgQerWrZseeeQRs0Rx2LBheuqpp/T444+rS5cuWrhwoZYuXaorrriiysfavn17vfrqq3r77bfVvXt3Pffcc5o3b55fH4/Ho/Hjxys5OVnXXHONOnXq5Ldd/sqVK5WWlqaEhIQqfy8AoPpsRlUKxwEAqCcMw1CfPn00adIk3XjjjVYPp1a4XC517NhRK1eurLAhCACgZrECBgDAz9hsNmVnZ6usrMzqodSaPXv2aPr06YQvAKgFrIABAAAAQC1hBQwAAAAAagkBDAAAAABqCQEMAAAAAGoJAQwAAAAAagkBDAAAAABqCQEMAAAAAGoJAQwAAAAAagkBDAAAAABqCQEMAAAAAGrJ/wd7rerqyZ4ueAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#get columns where roc_auc_score is not NaN\n", + "scores_and_times = df[df['roc_auc_score'].notna()][['roc_auc_score', 'Completed Timestamp']].sort_values('Completed Timestamp', ascending=True).to_numpy()\n", + "\n", + "#get best score at a given time\n", + "best_scores = np.maximum.accumulate(scores_and_times[:,0])\n", + "times = scores_and_times[:,1]\n", + "times = times - df['Submitted Timestamp'].min()\n", + "\n", + "fig, ax = plt.subplots(figsize=(10,5))\n", + "ax.plot(times, best_scores)\n", + "ax.set_xlabel('Time (seconds)')\n", + "ax.set_ylabel('Best Score')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Checkpointing\n", + "\n", + "There are two ways to resume TPOT. \n", + "* If the `warm_start` parameter is set to True, subsequent calls to `fit` will continue training where it left off (The conventional scikit-learn default is to retrain from scratch on subsequent calls to fit). \n", + "* If `periodic_checkpoint_folder` is set, TPOT will periodically save its current state to disk. If TPOT is interrupted (job canceled, PC shut off, crashes), you can resume training from where it left off. The checkpoint folder stores a data frame of all evaluated pipelines. This data frame can be loaded and inspected to help diagnose problems when debugging.\n", + "\n", + "\n", + "**Note: TPOT does not clean up the checkpoint files. If the `periodic_checkpoint_folder` parameter is set, training from the last saved point will always continue, even if the input data has changed. A common issue is forgetting to change this folder between experiments and TPOT continuing training from pipelines optimized for another dataset. If you intend to start a run from scratch, you must either remove the parameter, supply an empty folder, or delete the original checkpoint folder.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Common parameters\n", + "\n", + "Here is a subset of the most common parameters to customize and what they do. See the docs for `TPOTEstimator` or `TPOTEstimatorSteadyState` full documentation of all parameters. \n", + "\n", + "| Parameter | Type | Description |\n", + "|--------------------------------|-----------------------|-----------------------------------------------------------------------------|\n", + "| scorers | list, scorer | List of scorers for cross-validation; see |\n", + "| scorers_weights | list | Weights applied to scorers during optimization |\n", + "| classification | bool | Problem type: True for classification, False for regression |\n", + "| cv | int, cross-validator | Cross-validation strategy: int for folds or custom cross-validator |\n", + "| max_depth | int | Maximum pipeline depth |\n", + "| other_objective_functions | list | Additional objective functions; default: [average_path_length_objective] |\n", + "| other_objective_functions_weights | list | Weights for additional objective functions; default: [-1] |\n", + "| objective_function_names | list | Names for objective functions; default: None (uses function names) |\n", + "| bigger_is_better | bool | Optimization direction: True for maximize, False for minimize |\n", + "| generations | int | Number of optimization generations; default: 50 |\n", + "| max_time_mins | float | Maximum optimization time (minutes); default: infinite |\n", + "| max_eval_time_mins | float | Maximum evaluation time per individual (minutes); default: 300 |\n", + "| n_jobs | int | Number of parallel processes; default: 1 |\n", + "| memory_limit | str | Memory limit per job; default: \"4GB\" |\n", + "| verbose | int | Optimization process verbosity: 0 (none), 1 (progress), 3 (best individual), 4 (warnings), 5+ (full warnings) |\n", + "| memory | str, memory object | If supplied, pipeline will cache each transformer after calling fit with joblib.Memory. |\n", + "| periodic_checkpoint_folder | str | Folder to save the population to periodically. If None, no periodic saving will be done. If provided, training will resume from this checkpoint.|\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Preventing Overfitting\n", + "\n", + "On small datasets, it is not impossible for TPOT to overfit the cross-validation score itself. This can lead to lower-than-expected performance on held-out datasets. TPOT will always return the model with the highest CV score as its final fitted_pipeline. However, if the highest performing model, as evaluated by cross-validation, actually was just overfit to the CV score, it may actually be worse performing compared to other models on the Pareto front.\n", + "  * Using a secondary complexity objective and evaluating the entire pareto front may be beneficial. In some cases a lower performing pipeline with lower complexity can actually perform better on held out sets. These can either be evaluated and compared on a held out validation set, or sometimes, if very data limited, simply using a different seed of splitting the CV folds can work as well.\n", + "    * TPOT can do this automatically. The `validation_strategy` parameter can be set to re-test the final pareto front on either a held-out validation set (percent of data set by `validation_fraction`) or a different seed for splitting the CV folds. These can be selected by setting `validation_strategy` to \"split\" or \"reshuffled\", respectively.\n", + "  * Increasing the number of folds of cross-validation can mitigate this. \n", + "  * Nested cross-validation can also be used to estimate the performance of the TPOT optimization algorithm itself.\n", + "  * Removing more complex methods from the search space can reduce the chances of overfitting" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Tips and tricks for speeding up TPOT\n", + "\n", + "TPOT can be a computationally demanding algorithm as it fits thousands of complex machine learning pipelines on potentially large datasets. There are several strategies available for improving run time by reducing the compute needed. \n", + "\n", + "There are three main strategies implemented in TPOT to reduce redundant work and/or prevent wasting compute on poorly performing pipelines.\n", + "\n", + "1. TPOT pipelines will often have the exact same components doing the exact same computation (e.g. the first steps of the pipeline remain the same and only the parameters of the final classifier changed.) In these cases, that The first strategy is to simply cache these repeat computations so that they only happen once. More info in the next subsection.\n", + "2. Successive Halving. This idea was first tested with TPOT by Parmentier et al. in [\"TPOT-SH: a Faster Optimization Algorithm to Solve the AutoML Problem on Large Datasets\"](https://www.researchgate.net/profile/Laurent-Parmentier-4/publication/339263193_TPOT-SH_A_Faster_Optimization_Algorithm_to_Solve_the_AutoML_Problem_on_Large_Datasets/links/5e5fd8b8a6fdccbeba1c6a56/TPOT-SH-A-Faster-Optimization-Algorithm-to-Solve-the-AutoML-Problem-on-Large-Datasets.pdf). The algorithm operates in two stages. Initially, it trains early generations using a small data subset and a large population size. Later generations then evaluate a smaller set of promising pipelines on larger, or even full, data portions. This approach rapidly identifies top-performing pipeline configurations through initial rough evaluations, followed by more comprehensive assessments. More information on this strategy in Tutorial 8.\n", + "3. Most often, we will be evaluating pipelines using cross validation. However, we can often tell within the first few folds whether or not the pipeline is going have a reasonable change of outperforming the previous best pipelines. For example, if the best score so far is .92 AUROC and the average score of the first five folds of our current pipeline is only around .61, we can be reasonably confident that the next five folds are unlikely to this pipeline ahead of the others. We can save a significant amount of compute by not computing the rest of the folds. There are two strategies that TPOT can use to accomplish this (More information on these strategies in Tutorial 8).\n", + " 1. Threshold Pruning: Pipelines must achieve a score above a predefined percentile threshold (based on previous pipeline scores) to proceed in each cross-validation (CV) fold.\n", + " 2. Selection Pruning: Within each population, only the top N% of pipelines (ranked by performance in the previous CV fold) are selected to evaluate in the next fold.\"\n", + " \n", + "\n", + "## Pipeline caching in TPOT (joblib.Memory)\n", + "\n", + "With the memory parameter, pipelines can cache the results of each transformer after fitting them. This feature is used to avoid repeated computation by transformers within a pipeline if the parameters and input data are identical to another fitted pipeline during the optimization process. TPOT allows users to specify a custom directory path or joblib.Memory in case they want to re-use the memory cache in future TPOT runs (or a warm_start run).\n", + "\n", + "There are three methods for enabling memory caching in TPOT:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "from tpot2 import TPOTClassifier\n", + "from tempfile import mkdtemp\n", + "from joblib import Memory\n", + "from shutil import rmtree\n", + "\n", + "# Method 1, auto mode: TPOT uses memory caching with a temporary directory and cleans it up upon shutdown\n", + "est = TPOTClassifier(memory='auto')\n", + "\n", + "# Method 2, with a custom directory for memory caching\n", + "est = TPOTClassifier(memory='/to/your/path')\n", + "\n", + "# Method 3, with a Memory object\n", + "memory = Memory(location='./to/your/path', verbose=0)\n", + "est = TPOTClassifier(memory=memory)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note: TPOT does NOT clean up memory caches if users set a custom directory path or Memory object. We recommend that you clean up the memory caches when you don't need it anymore.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Advanced Parallelization (HPC and multi-node training)\n", + "\n", + "See Tutorial 7 for more details on parallelization with Dask, including information of using multiple nodes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# FAQ and Debugging\n", + "\n", + "If you are experiencing issues with TPOT, here are some common issues and how to address them.\n", + "\n", + "* Performance is lower than expected. What can I do?\n", + " * TPOT may have to be run for a longer duration, increase `max_time_mins`, `early_stop`, or `generations`.\n", + " * Individual pipelines may need more time to complete fitting; increase `max_eval_time_seconds.`\n", + " * The configuration may not include the optimal model types or hyperparameter ranges, explore other included templates, or customize your own search space (see Tutorial 2!)\n", + " * Check that `periodic_checkpoint_folder` is set correctly. A common issue is forgetting to change this folder between experiments and TPOT continuing training from pipelines optimized for another dataset.\n", + "* TPOT is too slow! It is running forever and never terminating\n", + " * Check that at least one of the three termination conditions is set to a reasonable level. These are `max_time_mins`, `early_stop`, or `generations`. Additionally, check that `max_eval_time_seconds` gives enough time for most models to train without being overly long. (Some estimators may take an unreasonably long time to fit; this parameter is intended to prevent them from slowing everything to a halt. In my experience, SVC and SVR tend to be the culprits, so removing them from the search space may also improve run time).\n", + " * Set the `memory` parameter to allow TPOT to prevent repeated work when using either scikit-learn pipelines or TPOT GraphPipelines.\n", + " * Increase n_jobs to use more processes/CPU power. See Tutorial 7 for advanced Dask usage, including parallelizing across multiple nodes on an HPC.\n", + " * Use feature selection, either the build in configuration of sklearn methods (see Tutorial 2), or genetic feature selection (see Tutorials 3 and 5 for two different strategies).\n", + " * Use successive halving to reduce computational load (See tutorial 8).\n", + "* Many pipelines in the evaluated_individuals data frame have crashed or turned up invalid!\n", + " * This is normal and is expected behavior for TPOT. In some cases, TPOT may attempt an invalid hyperparameter combination, resulting in the pipeline not working. Other times, the pipeline configuration itself may be invalid. For example, a selector may not select any features due to its hyperparameter. Another common example is `MultinomialNB` throwing an error because it expects positive values, but a prior transformation yielded a negative value. \n", + " * If you used custom search spaces, you can use `ConfigSpace` conditionals to prevent invalid hyperparameters (this may still occur due to how TPOT uses crossover).\n", + " * Setting `verbose=5` will print out the full error message for all failed pipelines. This can be useful for debugging whether or not there is something misconfigured in your pipeline, custom search space modules, or something else.\n", + "* TPOT is crashing due to memory issues\n", + " * Set the `memory_limit` parameter so that n_jobs*memorylimit is less than the available RAM on your machine, plus some wiggle room. This should prevent crashing due to memory concerns.\n", + " * Using feature selection may also improve memory usage, as described above.\n", + " * Remove modules that create high RAM usage (e.g. multiple PolynomialFeatures or one with high degree).\n", + "* Why are my TPOT runs not reproducible when random_state is set?\n", + " * Check that `periodic_checkpoint_folder` is set correctly. If this is set to a non-empty folder, TPOT will continue training from the checkpoint rather than start a new run from scratch. For TPOT runs to be reproducible, they have to have the same starting points.\n", + " * If using custom search spaces, pass in a fixed `random_state` value into the configspace of the scikit-learn modules that utilize them. TPOT does not check whether estimators do or do not take in a random state value (See Tutorial 2).\n", + " * If using the pre-built search spaces provided by TPOT, make sure to pass in `random_state` to `tpot2.config.get_configspace` or `tpot2.config.template_search_spaces.get_template_search_spaces`. This ensures all estimators that support it get a fixed random_state value. (See Tutorial 2).\n", + " * If using custom Node and Pipeline types, ensure all random decisions utilize the rng parameter passed into the mutation/crossover functions.\n", + " * If `max_eval_time_mins` is set, TPOT will terminate pipelines that exceed this time limit. If the pipeline evaluation happens to be very similar to the time limit, small random fluctuations in CPU allocation may cause a given pipeline to be evaluated in one run but not another. This slightly different result would throw off the random number generator throughout the rest of the run. Setting `max_eval_time_mins` to None or a higher value may prevent this edge case.\n", + " * If using `TPOTEstimatorSteadyState` with `n_jobs`>1, it is also possible that random fluctuations in CPU allocation slightly change the order in which pipelines are evaluated, which will affect the downstream results. `TPOTEstimatorSteadyState` is more reliably reproducible when `n_jobs=1` (This is not an issue for the default `TPOTEstimator`, `TPOTClassifier`, `TPOTRegressor` as they used a batched generational approach where execution order does not impact results).\n", + "* TPOT is not using all the CPU cores I expected, given my `n_jobs` setting.\n", + " * The default TPOT algorithm uses a generational approach. This means the TPOT will need to evaluate `population_size` (default 50) pipelines before starting the next batch. At the end of each generation, TPOT may leave threads unused while it waits for the last few pipelines to finish evaluating. Some estimators or pipelines can be significantly slower to evaluate than others. This can be addressed in a few ways:\n", + " * Decrease `max_eval_time_mins` to cut long-running pipeline evaluations early.\n", + " * Remove estimators or hyperparameter configurations that are prone to very slow convergence (which is very often `SVC` or `SVR`).\n", + " * Alternatively, `TPOTEstimatorSteadyState` uses a slightly different backend for the evolutionary algorithm that does not utilize the generational approach. Instead, new pipelines are generated and evaluated as soon as the previous one finishes. With this estimator, all cores should be utilized at all times. \n", + " * Sometimes, setting n_jobs to a multiple of the number of threads can help minimize the chances of threads being idle while waiting for others to finish" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# More Options\n", + "\n", + "`tpot2.TPOTClassifier` and `tpot2.TPOTRegressor` have a simplified set of hyperparameters with default values set for classification and regression problems. Currently, both of these use the standard evolutionary algorithm in the `tpot2.TPOTEstimator` class. If you want more control, you can look into either the `tpot2.TPOTEstimator` or `tpot2.TPOTEstimatorSteadyState` class.\n", + "\n", + "There are two evolutionary algorithms built into TPOT2, which corresponds to two different estimator classes.\n", + "\n", + "1. The `tpot2.TPOTEstimator` uses a standard evolutionary algorithm that evaluates exactly population_size individuals each generation. This is similar to the algorithm in TPOT1. The next generation does not start until the previous is completely finished evaluating. This leads to underutilized CPU time as the cores are waiting for the last individuals to finish training, but may preserve diversity in the population. \n", + "\n", + "2. The `tpot2.TPOTEstimatorSteadyState` differs in that it will generate and evaluate the next individual as soon as an individual finishes the evaluation. The number of individuals being evaluated is determined by the n_jobs parameter. There is no longer a concept of generations. The population_size parameter now refers to the size of the list of evaluated parents. When an individual is evaluated, the selection method updates the list of parents. This allows more efficient utilization when using multiple cores.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### tpot2.TPOTEstimatorSteadyState" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Evaluations: : 113it [00:21, 5.15it/s]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:349: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9957890070921986\n" + ] + } + ], + "source": [ + "import tpot2\n", + "import sklearn\n", + "import sklearn.datasets\n", + "\n", + "\n", + "graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", + " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", + " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", + " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", + " max_size = 10,\n", + ")\n", + "\n", + "est = tpot2.TPOTEstimatorSteadyState( \n", + " search_space = graph_search_space,\n", + " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1,-1],\n", + "\n", + "\n", + " classification=True,\n", + "\n", + " max_eval_time_mins=15,\n", + " max_time_mins=30,\n", + " early_stop=10, #In TPOTEstimatorSteadyState, since there are no generations, early_stop is the number of pipelines to evaluate before stopping.\n", + " n_jobs=30,\n", + " verbose=2)\n", + "\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fitted_pipeline = est.fitted_pipeline_ # access best pipeline directly\n", + "fitted_pipeline.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#view the summary of all evaluated individuals as a pandas dataframe\n", + "est.evaluated_individuals.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### tpot2.TPOTEstimator" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "import sklearn\n", + "import sklearn.datasets\n", + "\n", + "est = tpot2.TPOTEstimator( \n", + " search_space = graph_search_space,\n", + " max_time_mins=10,\n", + " scorers=['roc_auc_ovr'], #scorers can be a list of strings or a list of scorers. These get evaluated during cross validation. \n", + " scorers_weights=[1],\n", + " classification=True,\n", + " n_jobs=1, \n", + " early_stop=5, #how many generations with no improvement to stop after\n", + " \n", + " #List of other objective functions. All objective functions take in an untrained GraphPipeline and return a score or a list of scores\n", + " other_objective_functions= [ ],\n", + " \n", + " #List of weights for the other objective functions. Must be the same length as other_objective_functions. By default, bigger is better is set to True. \n", + " other_objective_functions_weights=[],\n", + " verbose=2)\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regression Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "import sklearn\n", + "import sklearn.metrics\n", + "import sklearn.datasets\n", + "\n", + "scorer = sklearn.metrics.get_scorer('neg_mean_squared_error')\n", + "X, y = sklearn.datasets.load_diabetes(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "\n", + "est = tpot2.tpot_estimator.templates.TPOTRegressor(n_jobs=4, max_time_mins=30, verbose=2, cv=5, early_stop=5)\n", + "est.fit(X_train, y_train)\n", + "\n", + "print(scorer(est, X_test, y_test))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tpot_dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tutorial/2_Search_Spaces.ipynb b/Tutorial/2_Search_Spaces.ipynb index 84a869af..782fbb19 100644 --- a/Tutorial/2_Search_Spaces.ipynb +++ b/Tutorial/2_Search_Spaces.ipynb @@ -4,151 +4,31 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Everything can be done with the TPOTEstimator class. All other classes (TPOTRegressor, TPOTClassifier, TPOTSymbolicClassifier, TPOTSymbolicRegression, TPOTGeneticFeatureSetSelector, etc.) are actually just different default settings for TPOTEstimator.\n", + "# Intro\n", "\n", - "\n", - "By Default, TPOT will generate pipelines with a default set of classifiers or regressors as roots (this depends on whether classification is set to true or false). All other nodes are selected from a default list of selectors and transformers. Note: This differs from the TPOT1 behavior where by default classifiers and regressors can appear in locations other than the root. You can modify the the search space for leaves, inner nodes, and roots (final classifiers) separately through built in options or custom configuration dictionaries.\n", - "\n", - "In this tutorial we will walk through using the built in configurations, creating custom configurations, and using nested configurations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ConfigSpace\n", - "\n", - "Hyperparameter search spaces are defined using the [ConfigSpace package found here](https://github.com/automl/ConfigSpace). More information on how to set up a hyperparameter space can be found in their [documentation here](https://automl.github.io/ConfigSpace/main/guide.html)." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled hyperparameters\n", - "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 10, 'p': 2, 'weights': 'distance'}\n" - ] - } - ], - "source": [ - "from ConfigSpace import ConfigurationSpace\n", - "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", - "from sklearn.neighbors import KNeighborsClassifier\n", - "\n", - "knn_configspace = ConfigurationSpace(\n", - " space = {\n", - "\n", - " 'n_neighbors': (1, 10),\n", - " 'weights': Categorical(\"weights\", ['uniform', 'distance']),\n", - " 'p': (1, 3),\n", - " 'metric': Categorical(\"metric\", ['euclidean', 'minkowski']),\n", - " 'n_jobs': 1,\n", - " }\n", - ")\n", - "\n", - "hyperparameters = dict(knn_configspace.sample_configuration())\n", - "print(\"sampled hyperparameters\")\n", - "print(hyperparameters)\n", - "\n", - "knn = KNeighborsClassifier(**hyperparameters)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# TPOT Search spaces\n", - "\n", - "TPOT allows you to both hyperparameter search spaces for individual methods as well as pipeline structure search spaces. For example, TPOT can create linear pipelines, trees, or graphs. \n", - "\n", - "TPOT search spaces are found in the `search_spaces` module. There are two primary kinds of search spaces, node and pipeline. Node search spaces specify the search space of a single sklearn `BaseEstimator`. Pipeline search spaces define the possible structures for a group of node search spaces. These take in node search spaces and produce a pipeline using nodes from that search space. Since sklearn Pipelines are also `BaseEstimator`, pipeline search spaces are also technically node search spaces. Meaning that pipeline search spaces can take in other pipeline search spaces in order to define more complex structures. The primary differentiating factor bewteen node and pipeline search spaces is that pipeline search spaces must take in another search space as input to feed its individual nodes. Therefore, all search spaces eventually end in a node search space at the lowest level. Note that parameters for pipeline search spaces can differ, some take in only a single search space, some take in a list, or some take in multiple defined parameters.\n", - "\n", - "search spaces can be found in tpot2.search_spaces.nodes and tpot2.search_spaces.pipelines\n", - "\n", - "### node search spaces\n", - "found in tpot2.search_spaces.nodes\n", - "\n", - "\n", - "EstimatorNode, GeneticFeatureSelector\n", - "| Name | Info |\n", - "| :--- | :----: |\n", - "| EstimatorNode | Takes in a ConfigSpace along with the class of the method. This node will optimize the hyperparameters for a single method. |\n", - "| GeneticFeatureSelectorNode | Uses evolution to optimize a set of features, exports a basic sklearn Selector that simply selects the features chosen by the node. |\n", - "\n", - "\n", - "\n", - "\n", - "### pipeline search spaces\n", - "\n", - "found in tpot2.search_spaces.pipelines\n", - "\n", - "WrapperPipeline - This search space is for wrapping a sklearn estimator with a method that takes another estimator and hyperparameters as arguments.\n", - " For example, this can be used with sklearn.ensemble.BaggingClassifier or sklearn.ensemble.AdaBoostClassifier.\n", - "\n", - "\n", - "| Name | Info |\n", - "| :--- | :----: |\n", - "| ChoicePipeline | Takes in a list of search spaces. Will select one node from the search space. |\n", - "| SequentialPipeline | Takes in a list of search spaces. will produce a pipeline of Sequential length. Each step in the pipeline will correspond to the the search space provided in the same index. |\n", - "| DynamicLinearPipeline | Takes in a single search space. Will produce a linear pipeline of variable length. Each step in the pipeline will be pulled from the search space provided. |\n", - "| TreePipeline |Generates a pipeline of variable length. Pipeline will have a tree structure similar to TPOT1. |\n", - "| GraphPipeline | Generates a directed acyclic graph of variable size. Search spaces for root, leaf, and inner nodes can be defined separately if desired. |\n", - "| WrapperPipeline | This search space is for wrapping a sklearn estimator with a method that takes another estimator and hyperparameters as arguments. For example, this can be used with sklearn.ensemble.BaggingClassifier or sklearn.ensemble.AdaBoostClassifier. |\n" + "TPOT gives the user a lot of options for customizing the search space, from hyperparameter ranges to model selection to pipeline configuration. TPOT is able to select models, optimize their hyperparameters, and build a complex pipeline structure. Each level of detail has multiple customization options. This tutorial will first explore how to set up a hyperparameter search space for a single method. Next, we will describe how to set up simultaneous model selection and hyperparameter tuning. Finally, we will cover how to utilize these steps to configure a search space for a fixed pipeline of multiple steps, as well as having TPOT optimize the pipeline structure itself.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Estimator node example" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "import tpot2\n", - "from ConfigSpace import ConfigurationSpace\n", - "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", - "from sklearn.neighbors import KNeighborsClassifier\n", + "# Hyperparameter Search Spaces with ConfigSpace\n", "\n", - "knn_configspace = ConfigurationSpace(\n", - " space = {\n", + "Hyperparameter search spaces are defined using the [ConfigSpace package found here](https://github.com/automl/ConfigSpace). More information on how to set up a hyperparameter space can be found in their [documentation here](https://automl.github.io/ConfigSpace/main/guide.html).\n", "\n", - " 'n_neighbors': Integer(\"n_neighbors\", bounds=(1, 10)),\n", - " 'weights': Categorical(\"weights\", ['uniform', 'distance']),\n", - " 'p': Integer(\"p\", bounds=(1, 3)),\n", - " 'metric': Categorical(\"metric\", ['euclidean', 'minkowski']),\n", - " 'n_jobs': 1,\n", - " }\n", - ")\n", + "TPOT uses `ConfigSpace.ConfigurationSpace` objects to define the hyperparameter search space for individual models. This object can be used to keep track of the desired hyperparameters as well as provide functions for random sampling from this space.\n", "\n", + "In short, you can use the `Integer`, `Float`, and `Categorical` functions of `ConfigSpace` to define a range of values used for each param. Alternatively, a tuple with (min,max) ints or floats can be used to specify an int/float search space and a list can be used to specify a categorical search space. A fixed value can also be provided for parameters that are not tunned. The space parameter of `ConfigurationSpace` takes in a dictionary of param names to these ranges.\n", "\n", - "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = KNeighborsClassifier,\n", - " space = knn_configspace,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can sample generate an individual with the generate() function. This individual samples from the search space as well as provides mutation and crossover functions to modify the current sample.\n", + "Note: If you want reproducible results, you need to set a fixed random_state in the search space.\n", "\n", - "Note that ConfigurationSpace does not support None as a parameter. Instead, use the special string \"\\\". TPOT will automatically replace instances of this string with the Python None." + "Here is an example of a hyperparameter range for RandomForest" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -156,86 +36,13 @@ "output_type": "stream", "text": [ "sampled hyperparameters\n", - "{'metric': 'minkowski', 'n_jobs': 1, 'n_neighbors': 6, 'p': 3, 'weights': 'distance'}\n", - "mutated hyperparameters\n", - "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 6, 'p': 1, 'weights': 'uniform'}\n" - ] - } - ], - "source": [ - "knn_individual = knn_node.generate()\n", - "\n", - "print(\"sampled hyperparameters\")\n", - "print(knn_individual.hyperparameters)\n", - "knn_individual.mutate() # mutate the individual\n", - "print(\"mutated hyperparameters\")\n", - "print(knn_individual.hyperparameters)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In TPOT2, crossover only modifies the individual calling the crossover function, the second individual remains the same" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "original hyperparameters for individual 1\n", - "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 7, 'p': 2, 'weights': 'uniform'}\n", - "original hyperparameters for individual 2\n", - "{'metric': 'minkowski', 'n_jobs': 1, 'n_neighbors': 1, 'p': 2, 'weights': 'uniform'}\n", - "\n", - "post crossover hyperparameters for individual 1\n", - "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 7, 'p': 2, 'weights': 'uniform'}\n", - "post crossover hyperparameters for individual 2\n", - "{'metric': 'minkowski', 'n_jobs': 1, 'n_neighbors': 1, 'p': 2, 'weights': 'uniform'}\n" + "{'bootstrap': False, 'criterion': 'entropy', 'max_features': 0.1574830347299, 'min_samples_leaf': 10, 'min_samples_split': 6, 'n_estimators': 128}\n" ] - } - ], - "source": [ - "knn_individual1 = knn_node.generate()\n", - "knn_individual2 = knn_node.generate()\n", - "\n", - "print(\"original hyperparameters for individual 1\")\n", - "print(knn_individual1.hyperparameters)\n", - "\n", - "print(\"original hyperparameters for individual 2\")\n", - "print(knn_individual2.hyperparameters)\n", - "\n", - "print()\n", - "\n", - "knn_individual1.crossover(knn_individual2) # crossover the individuals\n", - "print(\"post crossover hyperparameters for individual 1\")\n", - "print(knn_individual1.hyperparameters)\n", - "print(\"post crossover hyperparameters for individual 2\")\n", - "print(knn_individual2.hyperparameters)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "All search spaces have an export_pipeline function that returns an sklearn `BaseEstimator`" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ + }, { "data": { "text/html": [ - "
KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=7)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
RandomForestClassifier(bootstrap=False, criterion='entropy',\n",
+       "                       max_features=0.1574830347299, min_samples_leaf=10,\n",
+       "                       min_samples_split=6, n_estimators=128)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=7)" + "RandomForestClassifier(bootstrap=False, criterion='entropy',\n", + " max_features=0.1574830347299, min_samples_leaf=10,\n", + " min_samples_split=6, n_estimators=128)" ] }, - "execution_count": 19, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "knn_individual1.export_pipeline()" + "from ConfigSpace import ConfigurationSpace\n", + "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "import tpot2\n", + "import numpy as np\n", + "import sklearn\n", + "import sklearn.datasets\n", + "\n", + "rf_configspace = ConfigurationSpace(\n", + " space = {\n", + " 'n_estimators': 128, #as recommended by Oshiro et al. (2012\n", + " 'max_features': Float(\"max_features\", bounds=(0.01,1), log=True), #log scale like autosklearn?\n", + " 'criterion': Categorical(\"criterion\", ['gini', 'entropy']),\n", + " 'min_samples_split': Integer(\"min_samples_split\", bounds=(2, 20)),\n", + " 'min_samples_leaf': Integer(\"min_samples_leaf\", bounds=(1, 20)),\n", + " 'bootstrap': Categorical(\"bootstrap\", [True, False]),\n", + " #random_state = 1, # If you want results to be reproducible, you can set a fixed random_state.\n", + " }\n", + ")\n", + "\n", + "hyperparameters = dict(rf_configspace.sample_configuration())\n", + "print(\"sampled hyperparameters\")\n", + "print(hyperparameters)\n", + "\n", + "rf = RandomForestClassifier(**hyperparameters)\n", + "rf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "If a dictionary of parameters is passed instead of of a ConfigSpace, then the hyperparameters will be fixed and not learned." + "More simply:" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 2, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled hyperparameters\n", + "{'bootstrap': True, 'criterion': 'entropy', 'max_features': 0.2601475241557, 'min_samples_leaf': 17, 'min_samples_split': 3, 'n_estimators': 128}\n" + ] + }, { "data": { "text/html": [ - "
RandomForestClassifier(criterion='entropy', max_features=0.2601475241557,\n",
+       "                       min_samples_leaf=17, min_samples_split=3,\n",
+       "                       n_estimators=128)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestClassifier(criterion='entropy', max_features=0.2601475241557,\n", + " min_samples_leaf=17, min_samples_split=3,\n", + " n_estimators=128)" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rf_configspace = ConfigurationSpace(\n", + " space = {\n", + " 'n_estimators': 128, #as recommended by Oshiro et al. (2012\n", + " 'max_features':(0.01,1), #not log scaled\n", + " 'criterion': ['gini', 'entropy'],\n", + " 'min_samples_split': (2, 20),\n", + " 'min_samples_leaf': (1, 20),\n", + " 'bootstrap': [True, False],\n", + " #random_state = 1, # If you want results to be reproducible, you can set a fixed random_state.\n", + " }\n", + ")\n", + "\n", + "hyperparameters = dict(rf_configspace.sample_configuration())\n", + "print(\"sampled hyperparameters\")\n", + "print(hyperparameters)\n", + "\n", + "rf = RandomForestClassifier(**hyperparameters)\n", + "rf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# TPOT Search spaces\n", + "\n", + "TPOT allows you to create hyperparameter search spaces for individual methods and pipeline structure search spaces. For example, TPOT can create linear pipelines, trees, or graphs. \n", + "\n", + "TPOT search spaces are found in the `search_spaces` module. There are two primary kinds of search spaces, node and pipeline. Node search spaces specify a single sklearn `BaseEstimator` search space. Pipeline search spaces define the possible structures for a group of node search spaces. These take in node search spaces and produce a pipeline using nodes from that search space. Since sklearn Pipelines are also `BaseEstimator`, pipeline search spaces are also technically node search spaces. This means that pipeline search spaces can take in other pipeline search spaces in order to define more complex structures. The primary differentiating factor between node and pipeline search spaces is that pipeline search spaces must take in another search space as input to feed its individual nodes. Therefore, all search spaces eventually end in a node search space at the lowest level. Note that parameters for pipeline search spaces can differ, some take in only a single search space, some take in a list, or some take in multiple defined parameters.\n", + "\n", + "## node search spaces\n", + "\n", + "\n", + "| Name | Info |\n", + "| :--- | :----: |\n", + "| EstimatorNode | Takes in a ConfigSpace along with the class of the method. This node will optimize the hyperparameters for a single method. |\n", + "| GeneticFeatureSelectorNode | Uses evolution to optimize a set of features, exports a basic sklearn Selector that simply selects the features chosen by the node. |\n", + "| FSSNode | FSS stands for FeatureSetSelector. This node takes in a list of user-defined subsets of features and selects a single predefined subset. Note that TPOT will not create new subsets nor will it select multiple subsets per node. If using a linear pipeline, this node should be set as the first step. In linear pipelines it is recommended that you only use a small number of feature sets. I recommend exploring using FSSNodes in pipelines that allow TPOT to select more than one FSSNode at a time. For example, DynamicUnionPipeline and GraphPipeline are both excellent combos for FSSNode. Use FFSNode inside a DynamicUnionPipeline at the start of linear pipeline to explore optimal combinations of subsets in linear pipelines. Set the leaf_search_space of GraphSearchPipeline TPOT can use multiple feature sets in different ways, for example, with different transformers for different sets. |\n", + "\n", + "\n", + "\n", + "## pipeline search spaces\n", + "\n", + "found in tpot2.search_spaces.pipelines\n", + "\n", + "WrapperPipeline - This search space is for wrapping a sklearn estimator with a method that takes another estimator and hyperparameters as arguments.\n", + " For example, this can be used with sklearn.ensemble.BaggingClassifier or sklearn.ensemble.AdaBoostClassifier.\n", + "\n", + "\n", + "| Name | Info |\n", + "| :--- | :----: |\n", + "| ChoicePipeline | Takes in a list of search spaces. Will select one node from the search space. |\n", + "| SequentialPipeline | Takes in a list of search spaces. will produce a pipeline of Sequential length. Each step in the pipeline will correspond to the the search space provided in the same index. |\n", + "| DynamicLinearPipeline | Takes in a single search space. Will produce a linear pipeline of variable length. Each step in the pipeline will be pulled from the search space provided. |\n", + "| UnionPipeline | Takes in a list of search spaces. The returned pipeline will include one estimator per search space joined in an sklearn FeatureUnion. Useful for having many steps in one layer. |\n", + "| DynamicUnionPipeline | Takes in a single search space. It will pull anywhere from 1 to max_estimators number of estimators from the search space and concatenate them in a FeatureUnion. |\n", + "| TreePipeline |Generates a pipeline of variable length. Pipeline will have a tree structure similar to TPOT1. |\n", + "| GraphSearchPipeline | Generates a directed acyclic graph of variable size. Search spaces for root, leaf, and inner nodes can be defined separately if desired. |\n", + "| WrapperPipeline | This search space is for wrapping a sklearn estimator with a method that takes another estimator and hyperparameters as arguments. For example, this can be used with sklearn.ensemble.BaggingClassifier or sklearn.ensemble.AdaBoostClassifier. |\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Node Search Space Examples\n", + "\n", + "Node search spaces represent the smallest unit of an sklearn pipeline. All node search spaces create and optimize a single node which exports a single estimator object. For example this could be a KNeighborsClassifier or a FeatureSetSelector.\n", + "\n", + "### EstimatorNode\n", + "\n", + "The EstimatorNode represents the hyperparameter search space for a scikit-learn estimator. \n", + "\n", + "Note that `ConfigSpace` doesn't support `None` in its search space, and does not support the booleans True or False as fixed parameters (though booleans seem to be allowed in Categorical search spaces). To get around this, use the macros defined in:\n", + "\n", + "`from tpot2.search_spaces.nodes.estimator_node import NONE_SPECIAL_STRING, TRUE_SPECIAL_STRING, FALSE_SPECIAL_STRING`" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "from ConfigSpace import ConfigurationSpace\n", + "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "knn_configspace = ConfigurationSpace(\n", + " space = {\n", + "\n", + " 'n_neighbors': Integer(\"n_neighbors\", bounds=(1, 10)),\n", + " 'weights': Categorical(\"weights\", ['uniform', 'distance']),\n", + " 'p': Integer(\"p\", bounds=(1, 3)),\n", + " 'metric': Categorical(\"metric\", ['euclidean', 'minkowski']),\n", + " 'n_jobs': 1,\n", + " }\n", + ")\n", + "\n", + "\n", + "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = KNeighborsClassifier,\n", + " space = knn_configspace,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can sample generate an individual with the generate() function. This individual samples from the search space as well as provides mutation and crossover functions to modify the current sample." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "knn_individual = knn_node.generate()\n", + "knn_individual" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled hyperparameters\n", + "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 9, 'p': 1, 'weights': 'uniform'}\n" + ] + } + ], + "source": [ + "print(\"sampled hyperparameters\")\n", + "print(knn_individual.hyperparameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All Individual objects have mutation and crossover operators that TPOT uses to optimize the pipelines." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mutated hyperparameters\n", + "{'metric': 'minkowski', 'n_jobs': 1, 'n_neighbors': 3, 'p': 3, 'weights': 'distance'}\n" + ] + } + ], + "source": [ + "knn_individual.mutate() # mutate the individual\n", + "print(\"mutated hyperparameters\")\n", + "print(knn_individual.hyperparameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In TPOT2, crossover only modifies the individual calling the crossover function, the second individual remains the same" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "original hyperparameters for individual 1\n", + "{'metric': 'minkowski', 'n_jobs': 1, 'n_neighbors': 6, 'p': 2, 'weights': 'distance'}\n", + "original hyperparameters for individual 2\n", + "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 4, 'p': 2, 'weights': 'uniform'}\n", + "\n", + "post crossover hyperparameters for individual 1\n", + "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 6, 'p': 2, 'weights': 'uniform'}\n", + "post crossover hyperparameters for individual 2\n", + "{'metric': 'euclidean', 'n_jobs': 1, 'n_neighbors': 4, 'p': 2, 'weights': 'uniform'}\n" + ] + } + ], + "source": [ + "knn_individual1 = knn_node.generate()\n", + "knn_individual2 = knn_node.generate()\n", + "\n", + "print(\"original hyperparameters for individual 1\")\n", + "print(knn_individual1.hyperparameters)\n", + "\n", + "print(\"original hyperparameters for individual 2\")\n", + "print(knn_individual2.hyperparameters)\n", + "\n", + "print()\n", + "\n", + "knn_individual1.crossover(knn_individual2) # crossover the individuals\n", + "print(\"post crossover hyperparameters for individual 1\")\n", + "print(knn_individual1.hyperparameters)\n", + "print(\"post crossover hyperparameters for individual 2\")\n", + "print(knn_individual2.hyperparameters)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All search spaces have an export_pipeline function that returns an sklearn `BaseEstimator`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=6)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=6)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "est = knn_individual1.export_pipeline()\n", + "est" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If a dictionary of parameters is passed instead of of a ConfigSpace object, then the hyperparameters will always be fixed and not learned." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
KNeighborsClassifier(n_neighbors=10)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "KNeighborsClassifier(n_neighbors=10)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tpot2\n", + "from ConfigSpace import ConfigurationSpace\n", + "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "\n", + "space = {\n", + "\n", + " 'n_neighbors':10,\n", + "}\n", + "\n", + "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = KNeighborsClassifier,\n", + " space = space,\n", + ")\n", + "\n", + "knn_node.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### FSSNode and GeneticFeatureSelectorNode\n", + "\n", + "Both of these are given their own tutorials. See Tutorial 3 for FFSNode and Tutorial 5 for GeneticFeatureSelectorNode" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Pipeline Search Space Examples\n", + "\n", + "Pipeline search spaces are used to define the structure and restrictions of the pipelines TPOT can search. Unlike Node search spaces, all pipeline search spaces take in other search spaces as inputs. Rather than sample hyperparameters, pipeline search spaces can select models from the input search spaces and organize them within a linear sklearn Pipeline or a TPOT GraphPipeline." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ChoicePipeline\n", + "\n", + "The simplest pipeline search space is the ChoicePipeline. This takes in a list of search spaces and simply selects and samples from one. In this example, we will construct a search space that takes in several options for a classifier. The resulting search space will then first select a model from KNeighborsClassifier, LogisticRegression or DecisionTreeClassifier, and then select the hyperparameters for the given model." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tpot2\n", + "from ConfigSpace import ConfigurationSpace\n", + "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "\n", + "knn_configspace = ConfigurationSpace(\n", + " space = {\n", + "\n", + " 'n_neighbors': Integer(\"n_neighbors\", bounds=(1, 10)),\n", + " 'weights': Categorical(\"weights\", ['uniform', 'distance']),\n", + " 'p': Integer(\"p\", bounds=(1, 3)),\n", + " 'metric': Categorical(\"metric\", ['euclidean', 'minkowski']),\n", + " 'n_jobs': 1,\n", + " }\n", + ")\n", + "\n", + "lr_configspace = ConfigurationSpace(\n", + " space = {\n", + " 'solver': Categorical(\"solver\", ['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga']),\n", + " 'penalty': Categorical(\"penalty\", ['l1', 'l2']),\n", + " 'dual': Categorical(\"dual\", [True, False]),\n", + " 'C': Float(\"C\", bounds=(1e-4, 1e4), log=True),\n", + " 'class_weight': Categorical(\"class_weight\", ['balanced']),\n", + " 'n_jobs': 1,\n", + " 'max_iter': 1000,\n", + " }\n", + " )\n", + "\n", + "dt_configspace = ConfigurationSpace(\n", + " space = {\n", + " 'criterion': Categorical(\"criterion\", ['gini', 'entropy']),\n", + " 'max_depth': Integer(\"max_depth\", bounds=(1, 11)),\n", + " 'min_samples_split': Integer(\"min_samples_split\", bounds=(2, 21)),\n", + " 'min_samples_leaf': Integer(\"min_samples_leaf\", bounds=(1, 21)),\n", + " 'max_features': Categorical(\"max_features\", ['sqrt', 'log2']),\n", + " 'min_weight_fraction_leaf': 0.0,\n", + " }\n", + " )\n", + "\n", + "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = KNeighborsClassifier,\n", + " space = knn_configspace,\n", + ")\n", + "\n", + "lr_node = tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = LogisticRegression,\n", + " space = lr_configspace,\n", + ")\n", + "\n", + "dt_node = tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = DecisionTreeClassifier,\n", + " space = dt_configspace,\n", + ")\n", + "\n", + "classifier_node = tpot2.search_spaces.pipelines.ChoicePipeline(\n", + " search_spaces=[\n", + " knn_node,\n", + " lr_node,\n", + " dt_node,\n", + " ]\n", + ")\n", + "\n", + "\n", + "tpot2.search_spaces.pipelines.ChoicePipeline(\n", + " search_spaces = [\n", + " tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = KNeighborsClassifier,\n", + " space = knn_configspace,\n", + " ),\n", + " tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = LogisticRegression,\n", + " space = lr_configspace,\n", + " ),\n", + " tpot2.search_spaces.nodes.EstimatorNode(\n", + " method = DecisionTreeClassifier,\n", + " space = dt_configspace,\n", + " ),\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Search space objects provided by pipeline search spaces work the same as with node search spaces. Note that crossover only works when both individuals have sampled the same method. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
LogisticRegression(C=0.0008500633703, class_weight='balanced', max_iter=1000,\n",
+       "                   n_jobs=1, penalty='l1', solver='saga')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "LogisticRegression(C=0.0008500633703, class_weight='balanced', max_iter=1000,\n", + " n_jobs=1, penalty='l1', solver='saga')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifier_individual = classifier_node.generate()\n", + "\n", + "print(\"sampled pipeline\")\n", + "classifier_individual.export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mutated pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
LogisticRegression(C=0.1054489422979, class_weight='balanced', max_iter=1000,\n",
+       "                   n_jobs=1, penalty='l1', solver='liblinear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "LogisticRegression(C=0.1054489422979, class_weight='balanced', max_iter=1000,\n", + " n_jobs=1, penalty='l1', solver='liblinear')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"mutated pipeline\")\n", + "classifier_individual.mutate()\n", + "classifier_individual.export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Built in search spaces for EstimatorNode and ChoicePipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "TPOT2 also comes with predefined hyperparameter search spaces. The current search spaces were adapted from a combination of the original TPOT package as well as the search spaces used in [AutoSklearn](https://github.com/automl/auto-sklearn/tree/development/autosklearn/pipeline/components). The helper function `tpot2.config.get_search_space` takes in a string or a list of strings, and returns either a EstimatorNode or a ChoicePipeline (including all methods in the list), respectively. \n", + "\n", + "| String | Corresponding Method |\n", + "| --- | ----- |\n", + "| SGDClassifier | |\n", + "| RandomForestClassifier | |\n", + "| ExtraTreesClassifier | |\n", + "| GradientBoostingClassifier | |\n", + "| MLPClassifier | |\n", + "| DecisionTreeClassifier | |\n", + "| XGBClassifier | |\n", + "| KNeighborsClassifier | |\n", + "| SVC | |\n", + "| LogisticRegression | |\n", + "| LGBMClassifier | |\n", + "| LinearSVC | |\n", + "| GaussianNB | |\n", + "| BernoulliNB | |\n", + "| MultinomialNB | |\n", + "| ExtraTreesRegressor | |\n", + "| RandomForestRegressor | |\n", + "| GradientBoostingRegressor | |\n", + "| BaggingRegressor | |\n", + "| DecisionTreeRegressor | |\n", + "| KNeighborsRegressor | |\n", + "| XGBRegressor | |\n", + "| ZeroCount | |\n", + "| ColumnOneHotEncoder | |\n", + "| Binarizer | |\n", + "| FastICA | |\n", + "| FeatureAgglomeration | |\n", + "| MaxAbsScaler | |\n", + "| MinMaxScaler | |\n", + "| Normalizer | |\n", + "| Nystroem | |\n", + "| PCA | |\n", + "| PolynomialFeatures | |\n", + "| RBFSampler | |\n", + "| RobustScaler | |\n", + "| StandardScaler | |\n", + "| SelectFwe | |\n", + "| SelectPercentile | |\n", + "| VarianceThreshold | |\n", + "| SGDRegressor | |\n", + "| Ridge | |\n", + "| Lasso | |\n", + "| ElasticNet | |\n", + "| Lars | |\n", + "| LassoLars | |\n", + "| LassoLarsCV | |\n", + "| RidgeCV | |\n", + "| SVR | |\n", + "| LinearSVR | |\n", + "| AdaBoostRegressor | |\n", + "| ElasticNetCV | |\n", + "| AdaBoostClassifier | |\n", + "| MLPRegressor | |\n", + "| GaussianProcessRegressor | |\n", + "| HistGradientBoostingClassifier | |\n", + "| HistGradientBoostingRegressor | |\n", + "| AddTransformer | |\n", + "| mul_neg_1_Transformer | |\n", + "| MulTransformer | |\n", + "| SafeReciprocalTransformer | |\n", + "| EQTransformer | |\n", + "| NETransformer | |\n", + "| GETransformer | |\n", + "| GTTransformer | |\n", + "| LETransformer | |\n", + "| LTTransformer | |\n", + "| MinTransformer | |\n", + "| MaxTransformer | |\n", + "| ZeroTransformer | |\n", + "| OneTransformer | |\n", + "| NTransformer | |\n", + "| PowerTransformer | |\n", + "| QuantileTransformer | |\n", + "| ARDRegression | |\n", + "| QuadraticDiscriminantAnalysis | |\n", + "| PassiveAggressiveClassifier | |\n", + "| LinearDiscriminantAnalysis | |\n", + "| DominantEncoder | |\n", + "| RecessiveEncoder | |\n", + "| HeterosisEncoder | |\n", + "| UnderDominanceEncoder | |\n", + "| OverDominanceEncoder | |\n", + "| GaussianProcessClassifier | |\n", + "| BaggingClassifier | |\n", + "| LGBMRegressor | |\n", + "| Passthrough | |\n", + "| SkipTransformer | |\n", + "| PassKBinsDiscretizer | |\n", + "| SimpleImputer | |\n", + "| IterativeImputer | |\n", + "| KNNImputer | |\n", + "| MDR | |\n", + "| ContinuousMDR | |\n", + "| ReliefF | |\n", + "| SURF | |\n", + "| SURFstar | |\n", + "| MultiSURF | |\n", + "| LinearRegression_sklearnex | |\n", + "| Ridge_sklearnex | |\n", + "| Lasso_sklearnex | |\n", + "| ElasticNet_sklearnex | |\n", + "| SVR_sklearnex | |\n", + "| NuSVR_sklearnex | |\n", + "| RandomForestRegressor_sklearnex | |\n", + "| KNeighborsRegressor_sklearnex | |\n", + "| RandomForestClassifier_sklearnex | |\n", + "| KNeighborsClassifier_sklearnex | |\n", + "| SVC_sklearnex | |\n", + "| NuSVC_sklearnex | |\n", + "| LogisticRegression_sklearnex | |\n", + "\n", + "Some methods require a wrapped estimator. To account for both regression and classification, these have been grouped separately with their own special strings.\n", + "\n", + "| Wrapper Special String | Notes |\n", + "| :--- | :----: |\n", + "| RFE_classification | FRE with learned ExtraTreesClassifier |\n", + "| RFE_regression | RFE with learned ExtraTreesRegressor |\n", + "| SelectFromModel_classification | SelectFromModel with learned ExtraTreesClassifier |\n", + "| SelectFromModel_regression | SelectFromModel with learned ExtraTreesRegressor |\n", + "| IterativeImputer_learned_estimators | IterativeImputer with learned ExtraTreesRegressor |\n", + "\n", + "\n", + "There are also special strings that include a predefined lists of methods. These will return a ChoicePipeline of the included methods.\n", + "\n", + "| List Special String | Included methods |\n", + "| :--- | :----: |\n", + "| \"selectors\" | [\"SelectFwe\", \"SelectPercentile\", \"VarianceThreshold\",] |\n", + "| \"selectors_classification\" | [\"SelectFwe\", \"SelectPercentile\", \"VarianceThreshold\", \"RFE_classification\", \"SelectFromModel_classification\"] |\n", + "| \"selectors_regression\" | [\"SelectFwe\", \"SelectPercentile\", \"VarianceThreshold\", \"RFE_regression\", \"SelectFromModel_regression\"] |\n", + "| \"classifiers\" | [\"LGBMClassifier\", \"BaggingClassifier\", 'AdaBoostClassifier', 'BernoulliNB', 'DecisionTreeClassifier', 'ExtraTreesClassifier', 'GaussianNB', 'HistGradientBoostingClassifier', 'KNeighborsClassifier','LinearDiscriminantAnalysis', 'LogisticRegression', \"LinearSVC\", \"SVC\", 'MLPClassifier', 'MultinomialNB', \"QuadraticDiscriminantAnalysis\", 'RandomForestClassifier', 'SGDClassifier', 'XGBClassifier'] |\n", + "| \"regressors\" | [\"LGBMRegressor\", 'AdaBoostRegressor', \"ARDRegression\", 'DecisionTreeRegressor', 'ExtraTreesRegressor', 'HistGradientBoostingRegressor', 'KNeighborsRegressor', 'LinearSVR', \"MLPRegressor\", 'RandomForestRegressor', 'SGDRegressor', 'SVR', 'XGBRegressor'] |\n", + "| \"transformers\" | [\"PassKBinsDiscretizer\", \"Binarizer\", \"PCA\", \"ZeroCount\", \"ColumnOneHotEncoder\", \"FastICA\", \"FeatureAgglomeration\", \"Nystroem\", \"RBFSampler\", \"QuantileTransformer\", \"PowerTransformer\"] |\n", + "| \"scalers\" | [\"MinMaxScaler\", \"RobustScaler\", \"StandardScaler\", \"MaxAbsScaler\", \"Normalizer\", ] |\n", + "| \"all_transformers\" | [\"transformers\", \"scalers\"] |\n", + "| \"arithmatic\" | [\"AddTransformer\", \"mul_neg_1_Transformer\", \"MulTransformer\", \"SafeReciprocalTransformer\", \"EQTransformer\", \"NETransformer\", \"GETransformer\", \"GTTransformer\", \"LETransformer\", \"LTTransformer\", \"MinTransformer\", \"MaxTransformer\"] |\n", + "| \"imputers\" | [\"SimpleImputer\", \"IterativeImputer\", \"KNNImputer\"] |\n", + "| \"skrebate\" | [\"ReliefF\", \"SURF\", \"SURFstar\", \"MultiSURF\"] |\n", + "| \"genetic_encoders\" | [\"DominantEncoder\", \"RecessiveEncoder\", \"HeterosisEncoder\", \"UnderDominanceEncoder\", \"OverDominanceEncoder\"] |\n", + "| \"classifiers_sklearnex\" | [\"RandomForestClassifier_sklearnex\", \"LogisticRegression_sklearnex\", \"KNeighborsClassifier_sklearnex\", \"SVC_sklearnex\",\"NuSVC_sklearnex\"] |\n", + "| \"regressors_sklearnex\" | [\"LinearRegression_sklearnex\", \"Ridge_sklearnex\", \"Lasso_sklearnex\", \"ElasticNet_sklearnex\", \"SVR_sklearnex\", \"NuSVR_sklearnex\", \"RandomForestRegressor_sklearnex\", \"KNeighborsRegressor_sklearnex\"] |\n", + "| \"genetic encoders\" | [\"DominantEncoder\", \"RecessiveEncoder\", \"HeterosisEncoder\", \"UnderDominanceEncoder\", \"OverDominanceEncoder\"] |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here are some examples of how to get search spaces using the `get_search_space` function. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline 1\n" + ] + }, + { + "data": { + "text/html": [ + "
KNeighborsClassifier(n_jobs=1, n_neighbors=55, weights='distance')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "KNeighborsClassifier(n_jobs=1, n_neighbors=55, weights='distance')" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#same pipeline search space as before.\n", + "classifier_choice = tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"])\n", + "\n", + "print(\"sampled pipeline 1\")\n", + "classifier_choice.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline 2\n" + ] + }, + { + "data": { + "text/html": [ + "
LogisticRegression(C=0.012915602763, l1_ratio=0.2577823332886, max_iter=1000,\n",
+       "                   n_jobs=1, penalty='elasticnet', solver='saga')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "LogisticRegression(C=0.012915602763, l1_ratio=0.2577823332886, max_iter=1000,\n", + " n_jobs=1, penalty='elasticnet', solver='saga')" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"sampled pipeline 2\")\n", + "classifier_choice.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline 1\n" + ] + }, + { + "data": { + "text/html": [ + "
SGDClassifier(alpha=0.0038384092036, class_weight='balanced',\n",
+       "              eta0=0.7197535254246, l1_ratio=0.8816063677431,\n",
+       "              loss='modified_huber', n_jobs=1, penalty='elasticnet')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SGDClassifier(alpha=0.0038384092036, class_weight='balanced',\n", + " eta0=0.7197535254246, l1_ratio=0.8816063677431,\n", + " loss='modified_huber', n_jobs=1, penalty='elasticnet')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#search space for all classifiers\n", + "classifier_choice = tpot2.config.get_search_space(\"classifiers\")\n", + "\n", + "print(\"sampled pipeline 1\")\n", + "classifier_choice.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline 2\n" + ] + }, + { + "data": { + "text/html": [ + "
KNeighborsClassifier(n_jobs=1, n_neighbors=1, p=1, weights='distance')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "KNeighborsClassifier(n_jobs=1, n_neighbors=1, p=1, weights='distance')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"sampled pipeline 2\")\n", + "classifier_choice.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### A note on reproducibility \n", + "Many sklearn estimators, like RandomForestClassifier, are stochastic and require a random_state parameter in order to have deterministic results. If you want TPOT runs to be reproducible, it is important that the estimators used by TPOT have a random state set. TPOT will not automatically set this value. This can either be set manually in each search space, or by passing in the random state to the `get_search_space` function. For example: " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
RandomForestClassifier(bootstrap=False, criterion='entropy',\n",
+       "                       max_features=0.0121463021153, min_samples_leaf=10,\n",
+       "                       min_samples_split=14, n_estimators=128, random_state=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestClassifier(bootstrap=False, criterion='entropy',\n", + " max_features=0.0121463021153, min_samples_leaf=10,\n", + " min_samples_split=14, n_estimators=128, random_state=1)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reproducible_random_forest = tpot2.config.get_search_space(\"RandomForestClassifier\", random_state=1)\n", + "reproducible_random_forest.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SequentialPipeline\n", + "\n", + "SequentialPipelines are of fixed length and sample from a predefined distribution for each step. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('variancethreshold',\n",
+       "                 VarianceThreshold(threshold=0.0008293708451)),\n",
+       "                ('pca', PCA(n_components=0.5048643890372)),\n",
+       "                ('logisticregression',\n",
+       "                 LogisticRegression(C=7.7606337566295, class_weight='balanced',\n",
+       "                                    l1_ratio=0.123465163557, max_iter=1000,\n",
+       "                                    n_jobs=1, penalty='elasticnet',\n",
+       "                                    solver='saga'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('variancethreshold',\n", + " VarianceThreshold(threshold=0.0008293708451)),\n", + " ('pca', PCA(n_components=0.5048643890372)),\n", + " ('logisticregression',\n", + " LogisticRegression(C=7.7606337566295, class_weight='balanced',\n", + " l1_ratio=0.123465163557, max_iter=1000,\n", + " n_jobs=1, penalty='elasticnet',\n", + " solver='saga'))])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selector_choicepipeline = tpot2.config.get_search_space(\"VarianceThreshold\")\n", + "transformer_choicepipeline = tpot2.config.get_search_space(\"PCA\")\n", + "classifier_choicepipeline = tpot2.config.get_search_space(\"LogisticRegression\")\n", + "\n", + "stc_pipeline = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " selector_choicepipeline,\n", + " transformer_choicepipeline,\n", + " classifier_choicepipeline,\n", + "])\n", + "\n", + "print(\"sampled pipeline\")\n", + "stc_pipeline.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is an example of the form Selector-Transformer-Classifier.\n", + "\n", + "Note that each step in the sequence is a ChoicePipeline this time. Here, the SequentialPipeline can sample from search provided search space in order." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('variancethreshold',\n",
+       "                 VarianceThreshold(threshold=0.1215210592814)),\n",
+       "                ('fastica', FastICA(n_components=83)),\n",
+       "                ('baggingclassifier',\n",
+       "                 BaggingClassifier(bootstrap_features=True,\n",
+       "                                   max_features=0.9057563115025,\n",
+       "                                   max_samples=0.2313759070451, n_estimators=89,\n",
+       "                                   n_jobs=1))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('variancethreshold',\n", + " VarianceThreshold(threshold=0.1215210592814)),\n", + " ('fastica', FastICA(n_components=83)),\n", + " ('baggingclassifier',\n", + " BaggingClassifier(bootstrap_features=True,\n", + " max_features=0.9057563115025,\n", + " max_samples=0.2313759070451, n_estimators=89,\n", + " n_jobs=1))])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selector_choicepipeline = tpot2.config.get_search_space(\"selectors\")\n", + "transformer_choicepipeline = tpot2.config.get_search_space(\"transformers\")\n", + "classifier_choicepipeline = tpot2.config.get_search_space(\"classifiers\")\n", + "\n", + "stc_pipeline = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " selector_choicepipeline,\n", + " transformer_choicepipeline,\n", + " classifier_choicepipeline,\n", + "])\n", + "\n", + "print(\"sampled pipeline\")\n", + "stc_pipeline.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('selectpercentile',\n",
+       "                 SelectPercentile(percentile=25.1697450346144)),\n",
+       "                ('kbinsdiscretizer',\n",
+       "                 KBinsDiscretizer(encode='onehot-dense', n_bins=40,\n",
+       "                                  strategy='uniform')),\n",
+       "                ('lineardiscriminantanalysis',\n",
+       "                 LinearDiscriminantAnalysis(shrinkage=0.755769834898,\n",
+       "                                            solver='eigen'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('selectpercentile',\n", + " SelectPercentile(percentile=25.1697450346144)),\n", + " ('kbinsdiscretizer',\n", + " KBinsDiscretizer(encode='onehot-dense', n_bins=40,\n", + " strategy='uniform')),\n", + " ('lineardiscriminantanalysis',\n", + " LinearDiscriminantAnalysis(shrinkage=0.755769834898,\n", + " solver='eigen'))])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"sampled pipeline\")\n", + "stc_pipeline.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## DynamicLinearPipeline\n", + "\n", + "DynamicLinearPipeline takes in a single search space and randomly samples and places estimators in a list without a predefined sequence. DynamicLinearPipeline are most often used when paired with LinearPipeline. A common strategy is to use DynamicLinearPipeline to optimize a series of preprocessing or feature engineering steps, followed by a final classifier or regressor." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('rbfsampler',\n",
+       "                 RBFSampler(gamma=0.1991726671256, n_components=7)),\n",
+       "                ('zerocount', ZeroCount()),\n",
+       "                ('binarizer', Binarizer(threshold=0.5354245073766))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('rbfsampler',\n", + " RBFSampler(gamma=0.1991726671256, n_components=7)),\n", + " ('zerocount', ZeroCount()),\n", + " ('binarizer', Binarizer(threshold=0.5354245073766))])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tpot2.config\n", + "\n", + "\n", + "linear_feature_engineering = tpot2.search_spaces.pipelines.DynamicLinearPipeline(search_space = tpot2.config.get_search_space([\"all_transformers\",\"selectors_classification\"]), max_length=10)\n", + "print(\"sampled pipeline\")\n", + "linear_feature_engineering.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('selectfwe', SelectFwe(alpha=0.0014251225737)),\n",
+       "                ('powertransformer', PowerTransformer())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('selectfwe', SelectFwe(alpha=0.0014251225737)),\n", + " ('powertransformer', PowerTransformer())])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"sampled pipeline\")\n", + "linear_feature_engineering.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('pipeline',\n",
+       "                 Pipeline(steps=[('nystroem',\n",
+       "                                  Nystroem(gamma=0.3480554902065,\n",
+       "                                           kernel='sigmoid', n_components=20)),\n",
+       "                                 ('binarizer',\n",
+       "                                  Binarizer(threshold=0.6696149189758)),\n",
+       "                                 ('minmaxscaler', MinMaxScaler())])),\n",
+       "                ('multinomialnb', MultinomialNB(alpha=0.0016967794962))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('pipeline',\n", + " Pipeline(steps=[('nystroem',\n", + " Nystroem(gamma=0.3480554902065,\n", + " kernel='sigmoid', n_components=20)),\n", + " ('binarizer',\n", + " Binarizer(threshold=0.6696149189758)),\n", + " ('minmaxscaler', MinMaxScaler())])),\n", + " ('multinomialnb', MultinomialNB(alpha=0.0016967794962))])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "full_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " linear_feature_engineering,\n", + " tpot2.config.get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "print(\"sampled pipeline\")\n", + "full_search_space.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sampled pipeline\n" + ] + }, + { + "data": { + "text/html": [ + "
Pipeline(steps=[('pipeline',\n",
+       "                 Pipeline(steps=[('zerocount', ZeroCount()),\n",
+       "                                 ('variancethreshold',\n",
+       "                                  VarianceThreshold(threshold=0.0020422211173)),\n",
+       "                                 ('binarizer',\n",
+       "                                  Binarizer(threshold=0.9681763702))])),\n",
+       "                ('bernoullinb',\n",
+       "                 BernoulliNB(alpha=0.0816524714629, fit_prior=False))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('pipeline',\n", + " Pipeline(steps=[('zerocount', ZeroCount()),\n", + " ('variancethreshold',\n", + " VarianceThreshold(threshold=0.0020422211173)),\n", + " ('binarizer',\n", + " Binarizer(threshold=0.9681763702))])),\n", + " ('bernoullinb',\n", + " BernoulliNB(alpha=0.0816524714629, fit_prior=False))])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"sampled pipeline\")\n", + "full_search_space.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### UnionPipeline\n", + "\n", + "Union pipelines can be useful when you want to either do multiple transformations in a single layer. Another common strategy is to do a union with a transformer and a passthrough for when you want to keep the original data in addition to the transformation. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('fastica',\n",
+       "                                FastICA(algorithm='deflation',\n",
+       "                                        n_components=66)),\n",
+       "                               ('passthrough', Passthrough())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('fastica',\n", + " FastICA(algorithm='deflation',\n", + " n_components=66)),\n", + " ('passthrough', Passthrough())])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transform_and_passthrough = tpot2.search_spaces.pipelines.UnionPipeline([\n", + " tpot2.config.get_search_space(\"transformers\"),\n", + " tpot2.config.get_search_space(\"Passthrough\"),\n", + "])\n", + "\n", + "transform_and_passthrough.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "UnionPipelines are an excellent tool to expand the capabilities of the linear search spaces." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('variancethreshold',\n",
+       "                 VarianceThreshold(threshold=0.0009494718313)),\n",
+       "                ('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('binarizer',\n",
+       "                                                 Binarizer(threshold=0.8136655878085)),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('adaboostclassifier',\n",
+       "                 AdaBoostClassifier(learning_rate=0.1727096029044,\n",
+       "                                    n_estimators=446))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('variancethreshold',\n", + " VarianceThreshold(threshold=0.0009494718313)),\n", + " ('featureunion',\n", + " FeatureUnion(transformer_list=[('binarizer',\n", + " Binarizer(threshold=0.8136655878085)),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('adaboostclassifier',\n", + " AdaBoostClassifier(learning_rate=0.1727096029044,\n", + " n_estimators=446))])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stc_pipeline2 = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " tpot2.config.get_search_space(\"selectors\"),\n", + " transform_and_passthrough,\n", + " tpot2.config.get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "stc_pipeline2.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Union pipelines can also be used to create \"branches\" if you are trying to create a tree-like search space. This can be particularly useful when paired with the FeatureSetSelector node (FSSNode) as each branch can learn different feature engineering for different subsets of the features, for example." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('pipeline-1',\n",
+       "                                                 Pipeline(steps=[('variancethreshold',\n",
+       "                                                                  VarianceThreshold(threshold=0.1996640297479)),\n",
+       "                                                                 ('powertransformer',\n",
+       "                                                                  PowerTransformer())])),\n",
+       "                                                ('pipeline-2',\n",
+       "                                                 Pipeline(steps=[('selectfwe',\n",
+       "                                                                  SelectFwe(alpha=0.0045323854667)),\n",
+       "                                                                 ('fastica',\n",
+       "                                                                  FastICA(n_components=34))]))])),\n",
+       "                ('quadraticdiscriminantanalysis',\n",
+       "                 QuadraticDiscriminantAnalysis(reg_param=0.8833282196313))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featureunion',\n", + " FeatureUnion(transformer_list=[('pipeline-1',\n", + " Pipeline(steps=[('variancethreshold',\n", + " VarianceThreshold(threshold=0.1996640297479)),\n", + " ('powertransformer',\n", + " PowerTransformer())])),\n", + " ('pipeline-2',\n", + " Pipeline(steps=[('selectfwe',\n", + " SelectFwe(alpha=0.0045323854667)),\n", + " ('fastica',\n", + " FastICA(n_components=34))]))])),\n", + " ('quadraticdiscriminantanalysis',\n", + " QuadraticDiscriminantAnalysis(reg_param=0.8833282196313))])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "st_pipeline = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " tpot2.config.get_search_space(\"selectors\"),\n", + " tpot2.config.get_search_space(\"transformers\"),\n", + "])\n", + "\n", + "branched_pipeline = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " tpot2.search_spaces.pipelines.UnionPipeline([\n", + " st_pipeline,\n", + " st_pipeline,\n", + " ]),\n", + " tpot2.config.get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "branched_pipeline.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### DynamicUnionPipeline\n", + "\n", + "DynamicUnionPipeline works similarly as UnionPipeline. Whereas UnionPipeline is fixed length, with each index corresponding to the search space provided as a list, DynamicUnionPipeline takes in a single search space and will sample 1 or more estimators/pipelines and concatenate them with a FeatureUnion. \n", + "\n", + "Note that DynamicUnionPipeline will check for pipeline uniqueness, so it will never concatenate two completely identical pipelines. In other words, all steps within the feature union will be unique.\n", + "\n", + "This can be useful when you want multiple transformers (or in some cases, pipelines), but are not sure how many or which ones." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('zerocount', ZeroCount()),\n",
+       "                               ('powertransformer', PowerTransformer())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('zerocount', ZeroCount()),\n", + " ('powertransformer', PowerTransformer())])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dynamic_transformers = tpot2.search_spaces.pipelines.DynamicUnionPipeline(tpot2.config.get_search_space(\"transformers\"), max_estimators=4)\n", + "dynamic_transformers.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One good strategy could be to pair this with Passthrough in a feature union so that you output all the transformations along with the original data." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                FeatureUnion(transformer_list=[('powertransformer',\n",
+       "                                                                PowerTransformer())])),\n",
+       "                               ('passthrough', Passthrough())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('powertransformer',\n", + " PowerTransformer())])),\n", + " ('passthrough', Passthrough())])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dynamic_transformers_with_passthrough = tpot2.search_spaces.pipelines.UnionPipeline([\n", + " dynamic_transformers,\n", + " tpot2.config.get_search_space(\"Passthrough\")],\n", + " )\n", + "\n", + "dynamic_transformers_with_passthrough.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('selectpercentile',\n",
+       "                 SelectPercentile(percentile=3.5688237635159)),\n",
+       "                ('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                 FeatureUnion(transformer_list=[('featureagglomeration',\n",
+       "                                                                                 FeatureAgglomeration(n_clusters=28,\n",
+       "                                                                                                      pooling_func=<function max at 0x78ec455b4e30>))])),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('logisticregression',\n",
+       "                 LogisticRegression(C=9762.07332929782, max_iter=1000, n_jobs=1,\n",
+       "                                    solver='saga'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('selectpercentile',\n", + " SelectPercentile(percentile=3.5688237635159)),\n", + " ('featureunion',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('featureagglomeration',\n", + " FeatureAgglomeration(n_clusters=28,\n", + " pooling_func=))])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('logisticregression',\n", + " LogisticRegression(C=9762.07332929782, max_iter=1000, n_jobs=1,\n", + " solver='saga'))])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stc_pipeline3 = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " tpot2.config.get_search_space(\"selectors\"),\n", + " dynamic_transformers_with_passthrough,\n", + " tpot2.config.get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "stc_pipeline3.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### WrapperPipeline\n", + "\n", + "Some sklearn estimators take in other sklearn estimators as a parameter. The wrapper pipeline is used to tune both the original estimators hyperparameters simultaneously with the inner estimators hyperparameters. In fact, the inner estimator in WrapperPipeline can be any search space defined with any of the methods described in this Tutorial.\n", + "\n", + "The `get_search_space` will automatically create an inner search space for sklearn estimators that do use require an inner estimator. For example \"SelectFromModel_classification\" will return the following search space" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
ExtraTreesClassifier(class_weight='balanced', max_features=0.6642237575313,\n",
+       "                     min_samples_leaf=17, min_samples_split=3, n_jobs=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "ExtraTreesClassifier(class_weight='balanced', max_features=0.6642237575313,\n", + " min_samples_leaf=17, min_samples_split=3, n_jobs=1)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SelectFromModel_configspace_part = ConfigurationSpace(\n", + " space = {\n", + " 'threshold': Float('threshold', bounds=(1e-4, 1.0), log=True),\n", + " }\n", + " )\n", + "\n", + "extratrees_estimator_node = tpot2.config.get_search_space(\"ExtraTreesClassifier\") #this exports an ExtraTreesClassifier node\n", + "extratrees_estimator_node.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
SelectFromModel(estimator=ExtraTreesClassifier(bootstrap=True,\n",
+       "                                               class_weight='balanced',\n",
+       "                                               max_features=0.3007313724684,\n",
+       "                                               min_samples_leaf=12,\n",
+       "                                               min_samples_split=17, n_jobs=1),\n",
+       "                threshold=0.0048046738992)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SelectFromModel(estimator=ExtraTreesClassifier(bootstrap=True,\n", + " class_weight='balanced',\n", + " max_features=0.3007313724684,\n", + " min_samples_leaf=12,\n", + " min_samples_split=17, n_jobs=1),\n", + " threshold=0.0048046738992)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.ensemble import ExtraTreesClassifier\n", + "from sklearn.feature_selection import SelectFromModel\n", + "\n", + "select_from_model_wrapper_searchspace = tpot2.search_spaces.pipelines.WrapperPipeline(\n", + " method=SelectFromModel,\n", + " space = SelectFromModel_configspace_part,\n", + " estimator_search_space= extratrees_estimator_node,\n", + " )\n", + "\n", + "select_from_model_wrapper_searchspace.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### WrapperPipeline strategy for ensembles/inner classifiers and regressors (EstimatorTransformer)\n", + "\n", + "Sklearn Pipelines only allow classifiers/regressors as the final step. All other steps are expected to implement a transform function. We can get around this by wrapping it in another transformer class that returns the output of predict or predict_proba inside the transform() function.\n", + "\n", + "To wrap classifiers as transfomers, you can use the following class: `tpot2.builtin_modules.EstimatorTransformer`. You can specify whether to pass the outputs of predict, predict_proba, or decision function with the `method` parameter. \n", + "\n", + "#### cross_val_predict_cv\n", + "\n", + "An additional consideration is whether or not to use `cross_val_predict_cv`. If this parameter is set, during model training any classifiers or regressors that is not the final predictor will use `sklearn.model_selection.cross_val_predict` to pass out of sample predictions into the following steps of the model. The model will still be fit to the full data which will be used for predictions after training. Training downstream models on out of sample predictions can often prevent overfitting and increase performance. The reason is that this gives downstream models a estimate of how upstream models compare on unseen data. Otherwise, if an upsteam model heavily overfits the data, downsteam models may simply learn to blindly trust the seemingly well-predicting model, propagating the over-fitting through to the end result.\n", + "\n", + "The downside is that cross_val_predict_cv is significantly more computationally demanding, and may not be necessary for your given dataset. \n", + "\n", + "Note: This is not necessary for `GraphSearchPipeline` as the exported GraphPipeline estimator does have builtin support for inner/regressors. Instead of using a wrapper, you can set the `cross_val_predict_cv` param when initializing the `GraphSearchPipeline` object." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
EstimatorTransformer(estimator=SVC(C=140.9223338924506, gamma=0.0007253447995,\n",
+       "                                   max_iter=3000, probability=True,\n",
+       "                                   shrinking=False))
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "EstimatorTransformer(estimator=SVC(C=140.9223338924506, gamma=0.0007253447995,\n", + " max_iter=3000, probability=True,\n", + " shrinking=False))" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifiers = tpot2.config.get_search_space(\"classifiers\")\n", + "wrapped_estimators = tpot2.search_spaces.pipelines.WrapperPipeline(tpot2.builtin_modules.EstimatorTransformer, {}, classifiers)\n", + "\n", + "est = wrapped_estimators.generate().export_pipeline() #returns an estimator with a transform function\n", + "est" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.5 , 0.5 ],\n", + " [0.50964815, 0.49035185],\n", + " [0.50681558, 0.49318442],\n", + " [0.51565809, 0.48434191],\n", + " [0.52006004, 0.47993996]])" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "X, y = np.random.rand(100, 10), np.random.randint(0, 2, 100)\n", + "\n", + "est.fit_transform(X, y)[0:5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "you can manually set the settings for an estimator the same way you would do it for an EstimatorNode. Here's another example with cross_val_predict and method being used." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [1]])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifiers = tpot2.config.get_search_space(\"classifiers\")\n", + "wrapped_estimators_cv = tpot2.search_spaces.pipelines.WrapperPipeline(tpot2.builtin_modules.EstimatorTransformer, {'cross_val_predict_cv':10, 'method':'predict'}, classifiers)\n", + "est = wrapped_estimators_cv.generate().export_pipeline() #returns an estimator with a transform function\n", + "est.fit_transform(X, y)[0:5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These can now be used inside a linear pipeline. This is fairly similar to the default linear pipeline search space." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
KNeighborsClassifier(n_neighbors=10)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
Pipeline(steps=[('normalizer', Normalizer(norm='max')),\n",
+       "                ('featureunion-1',\n",
+       "                 FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                 FeatureUnion(transformer_list=[('rbfsampler',\n",
+       "                                                                                 RBFSampler(gamma=0.7809991844556,\n",
+       "                                                                                            n_components=50)),\n",
+       "                                                                                ('columnonehotencoder',\n",
+       "                                                                                 ColumnOneHotEncoder()),\n",
+       "                                                                                ('nystroem',\n",
+       "                                                                                 Nystroem(gamma=0.3179172515929,\n",
+       "                                                                                          kernel='additive_chi2',\n",
+       "                                                                                          n_components=80))])),\n",
+       "                                                ('...\n",
+       "                                                                                                                              class_weight='balanced',\n",
+       "                                                                                                                              eta0=0.4039854095517,\n",
+       "                                                                                                                              l1_ratio=0.0336982783886,\n",
+       "                                                                                                                              learning_rate='constant',\n",
+       "                                                                                                                              loss='modified_huber',\n",
+       "                                                                                                                              n_jobs=1,\n",
+       "                                                                                                                              penalty='elasticnet'),\n",
+       "                                                                                                      method='predict'))])),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('mlpclassifier',\n",
+       "                 MLPClassifier(alpha=0.0867902302825, hidden_layer_sizes=[35],\n",
+       "                               learning_rate='invscaling',\n",
+       "                               learning_rate_init=0.0152961651727,\n",
+       "                               n_iter_no_change=32))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "KNeighborsClassifier(n_neighbors=10)" + "Pipeline(steps=[('normalizer', Normalizer(norm='max')),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('rbfsampler',\n", + " RBFSampler(gamma=0.7809991844556,\n", + " n_components=50)),\n", + " ('columnonehotencoder',\n", + " ColumnOneHotEncoder()),\n", + " ('nystroem',\n", + " Nystroem(gamma=0.3179172515929,\n", + " kernel='additive_chi2',\n", + " n_components=80))])),\n", + " ('...\n", + " class_weight='balanced',\n", + " eta0=0.4039854095517,\n", + " l1_ratio=0.0336982783886,\n", + " learning_rate='constant',\n", + " loss='modified_huber',\n", + " n_jobs=1,\n", + " penalty='elasticnet'),\n", + " method='predict'))])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('mlpclassifier',\n", + " MLPClassifier(alpha=0.0867902302825, hidden_layer_sizes=[35],\n", + " learning_rate='invscaling',\n", + " learning_rate_init=0.0152961651727,\n", + " n_iter_no_change=32))])" ] }, - "execution_count": 20, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "import tpot2\n", - "from ConfigSpace import ConfigurationSpace\n", - "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", - "from sklearn.neighbors import KNeighborsClassifier\n", - "\n", - "space = {\n", - "\n", - " 'n_neighbors':10,\n", - "}\n", - "\n", - "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = KNeighborsClassifier,\n", - " space = space,\n", - ")\n", - "\n", - "knn_node.generate().export_pipeline()" + "dynamic_wrapped_classifiers_with_passthrough = tpot2.search_spaces.pipelines.UnionPipeline([\n", + " tpot2.search_spaces.pipelines.DynamicUnionPipeline(wrapped_estimators_cv, max_estimators=4),\n", + " tpot2.config.get_search_space(\"Passthrough\")\n", + " ])\n", + "\n", + "stc_pipeline4 = tpot2.search_spaces.pipelines.SequentialPipeline([\n", + " tpot2.config.get_search_space(\"scalers\"),\n", + " dynamic_transformers_with_passthrough,\n", + " dynamic_wrapped_classifiers_with_passthrough,\n", + " tpot2.config.get_search_space(\"classifiers\"),\n", + "])\n", + "\n", + "stc_pipeline4.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### GraphSearchPipeline\n", + "\n", + "The GraphSearchPipeline is a flexible search space without a prior restriction of pipeline structure. With GraphSearchPipeline, TPOT will create a pipeline in the shape of a directed acyclic graph. Throughout the optimization process, TPOT may add/remove nodes, add/remove edges, and performs model selection and hyperparameter tuning for each node.\n", + "\n", + "The primary parameters for the graph_search_space are the root_search_space, inner_search_space, and leaf_search_space.\n", + "\n", + "| Parameter | Type | Description |\n", + "|------------------------|-------------------------------------|-----------------------------------------------------------------------------------------------------------|\n", + "| root_search_space | SklearnIndividualGenerator | The search space for the root node of the graph. This node will be the final estimator in the pipeline. |\n", + "| inner_search_space | SklearnIndividualGenerator, optional| The search space for the inner nodes of the graph. If not defined, there will be no inner nodes. |\n", + "| leaf_search_space | SklearnIndividualGenerator, optional| The search space for the leaf nodes of the graph. If not defined, the leaf nodes will be drawn from the inner_search_space. |\n", + "| crossover_same_depth | bool, optional | If True, crossover will only occur between nodes at the same depth in the graph. If False, crossover will occur between nodes at any depth. |\n", + "| cross_val_predict_cv | int, cross-validation generator or an iterable, optional | Determines the cross-validation splitting strategy used in inner classifiers or regressors. |\n", + "| method | str, optional | The prediction method to use for the inner classifiers or regressors. If 'auto', it will try to use predict_proba, decision_function, or predict in that order. |\n", + "\n", + "This search space exports a `tpot2.GraphPipeline`. This is similar to a scikit-learn Pipeline, but for directed acyclic graph pipelines. You can learn more about using this module in Tutorial 6." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", + " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", + " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", + " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", + " max_size = 10,\n", + ")\n", + "\n", + "ind = graph_search_space.generate()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "est1 = ind.export_pipeline()\n", + "est1.plot() #GraphPipelines have a helpful plotting function to visualize the pipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets add a few more mutations and plot the final pipeline to get a sense of the diversity of pipelines that can be generated with this search space" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC8ZklEQVR4nOzdd1zU9R8H8NcN1oGMA2UKLvYGlRRNzVGpoVZqU21naZojS6zMRE3Nndkvs7LM1MxSc6c4wMmWjSJL7hjHvmPc+P2BXnw9UJSD7x28n48Hj9/v3ve97/d9X+x432dyVCqVCoQQQgghRO9x2U6AEEIIIYRoBxV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBBV2hBBCCCGdBJ/tBAghnYtCoYBEIoFYLIZYLEaxSIQ6mQxKhQJcHg9GJibobmcHW1tb2NraQigUgsfjsZ02IYR0ChyVSqViOwlCiP4rKytDQkICkmJjUVtTA5VcDjOZDBYSCQzkcnBVKig5HDTw+agQClFtYgIOnw9jU1P4BgXB398fVlZWbL8NQgjRa1TYEULa5Pbt24i+cAHZmZkwkErhnJsHe4kEFjU1MFAoWnxdA4+HClNTFAqFyHXuiQaBAL1dXRE6dCjs7e078B0QQkjnQYUdIeSRyOVyREVF4WpUFMxKStAvJxdOJSXgKZUPfS4Fl4t8GxtkuTij2sYGA0JDERoaCj6fRosQQsjDoMKOEPLQRCIR/jl4EGX5BfDIzIRrQQG4WvgoUXI4yHR0RJqrK4ROjhgbFgY7OzstZEwIIV0DFXaEkIeSk5ODA3v2QHC7EMGpqTCXSrV+jUqBADGenpA6OGDS1ClwcXHR+jUIIaQzosKOENJqOTk52L97N6xzcjEwJQX8R+h2bS05l4vL3l6QODvjuRdfpOKOEEJagdaxI4S0ikgkwoE9eyDMycVjycntWtQBAF+pxKDryRDm5uLAnr0QiUTtej1CCOkMqLAjhDyQXC7HPwcPQnC7ECEpKVoZT9caXJUKIckpMCm8jSMHD0Iul3fIdQkhRF9RYUcIeaCoqCiU5RcgODW13Vvq7sVXKhGckgpJQQGio6M79NqEEKJvqLAjhNzX7du3cTUqCh6Zme0yUaI1LKRSuGdk4sqFCygsLGQlB0II0QdU2BFC7iv6wgWYlZTAtaCA1TzcCgpgVlKCqAsXWM2DEEJ0GRV2hJAWlZWVITszE/1ycjtsXF1LuCoV+ubkIjsjA2VlZazmQgghuooKO0JIixISEmAglcKppITtVAAAPUtKwJdKkZiYyHYqhBCik6iwI4Q0S6FQICk2Fs65eY+0TVh74CmVcMnLQ2JMDBT32YeWEEK6KirsCCHNkkgkqK2pgb1EwnYqDPaljXlJdCwvQgjRBVTYEdLJ8fl8BAQEwNvbG8888wzKy8sBALdu3YJAIEBAQAD8/f3x+OOPIzc3FwDw008/wcPDA+u/+QavnY3EmlvZAIA9okI8Extz5ycW8ZWV7Zb35fJyzE5N0Yhb1NRAJZdDLBa36jyHDx+Gj48PuFwurl+/ru00CSFEp1BhR0gnZ2lpifj4eCQnJ8PS0hLffPON+jkvLy/Ex8cjISEBEyZMwIYNG9TPjRw5EkumTcOhwCAs7NUboro6/Hz7Nvb6B+BQUDB2+vrC3siow9+PgUIBM5lMo7BrqWvW3d0df/zxBx5//PGOSI8QQljFZzsBQkjHCQ0NRUJCQrPPVVVVwcLCQv1YWlMDiybdnaUNDTDhcmHEbfw+aGVgoH5uY04OzpVJIFMqMVJojfm9egEARly9grAePRBVVg4+h4MlfftgdXY28mvr8HHv3hhjY4M/xWL8KylFjUKBwro6THdwwEv2DozcahQKLM3Kwg1Z4zp6kywtIPT3x9KlSyESiZCVlQUvLy9s2rRJ4325uro+2s0ihBA9RIUdIV2EQqHAyZMn8frrr6tjKSkpCAgIQHl5OVQqFa5du6Z+7tz587jO58Okvh7zXHphqJUVTHk8jLx2FaGWVni6uw1CLa0AANMdHDDHxQVKlQpvJScjtboanmZmAABnY2N8GBCA8MxMRNy8iZ99fJFXW4u5aWkYY2MDALheXY3DgUEAgInxcXhCaM3IfWteLkZbW2ONjTtEdXV4JSoKX06cCABISkrCmTNnYGho2G73jhBC9AUVdoR0cuXl5QgICEB+fj68vb3x5JNPqp/z8vJSF3Nr167FJ598gu3btwMABoeE4E0HB/jfzFYf/7OPL2KrKhFVVo4F6emY59ILk+3scLGiHN/n56NBqURxQwNuyKTqwu5ukeZuKoCVAR+GXC76CgQoqq9Tn3eopRW68Rs/jgZZWCKpugrmvP8+nqLLynFOIsGWvMYxgNUqFepqawEAEyZMoKKOEELuoMKOkE7u7hg7qVSK0aNHY+vWrfjggw80jhs/fjx27NihfszhcqHkcBjHcDgcBJtbINjcAq6mAhwQFyGsRw9E3LyJ/f4BsDUywmdZmahX/reYseGdrlsOODDk/DesV8U4LzMXDpgBFVT4zssbDsbGAIC4vn1Re+f/CwSC1t8MQgjp5GjyBCFdhEAgwMaNG/H1119DLpdrPB8dHY0+ffqoH/P4fDTw//vuJ66rQ0p1tfpxRo0UDsZGqFMqwUHjmLvyhgacfYRdIc6XlaFaLke1XI5LFeXwudPad9dgSyvsarJHbGZFBQzvFHaEEEL+Qy12hHQh/fv3h6+vL/bv34+QkBD1GDuVSoVu3bqpu2EBQGBqigqhUP1YrlJhxc2bKGmohwGHA0djY6xwdYU5n4+wHj0wPjYWPY2NEdCt20PnFWRujjlpacirrcXrjo6wMzJCjkymfv59Z2d8eeMGxsfGQKFSwcnDA4/Z2SEtM/OB5z5+/DjeeOMNFBcXY9SoURgxYgR279790DkSQog+4KhULG8ASQjRSdevX8eRffsw/uw5GLTjLg9/isXIkNbg4959HnwwgAYeD4eHPY6xkyfDx8en3fIihBB9RF2xhJBm2dragsPno8LUlO1UGCpMTcHh82Fra8t2KoQQonOoK5YQ0iyhUAhjU1MUCoWwaccdJp59yAKt0LoxL2GTbmIA+PHHH7Fx40ZG7IUXXsDHH3/c5hwJIURfUFcsIaRFkZGRiD95Ek9diAJPqWQ7HSi4XBwdEoqgMWMwbNgwttMhhBCdQ12xhJAW+fv7o0EgQP6dhYQfpEYqRXlFBerr69slnzwbG8gFAvj5+bXL+QkhRN9RYUcIaZGVlRV6u7oiy8VZY027e1VWVaGiohxSaQ1KSksh1/KECyWHgxsuzujt5gYrKyutnpsQQjoLKuwIIfcVOnQoqm1skOno2OIxcrkc1U3WuANUaNByq12GoyOqbWwQOmSIVs9LCCGdCRV2hJD7sre3x4DQUKS5uqKyhV0eKiorcM9eElrd5qtCIEC6mysGDhkCe3t7rZ2XEEI6GyrsCCEPFBoaCisnR8R4ekLOZX5syGprUVdXx4iZmZmCx+O1+vwNcjmKS0pQXFKC+oYGxnNyLhcxXp4QOjpi8ODBj/4mCCGkC6DCjhDyQHw+H+PCwiB1cMBlby/1eDuVSoXKe5ZC4XJ5MDN7uN0nSkpK0NBQj4aGepSUlKCquhoqNI6ru+ztBZm9A8aGhYHPpxWaCCHkfqiwI4S0ip2dHSZNnQKJszMu+nhDzuWiuroaCgVz31kLc3NwHzDRoimlSgWVqulSKipUVVVCLJEgytMTEmdnTJo6BXZ2dlp6J4QQ0nlRYUcIaTUXFxc89+KLKO/VG2cD/CHmMgs4Q0MjmJiYPNQ5Oc0UgTXm5rg6eDBSjY1QVF6O7t27tylvQgjpKmiBYkLIQxOJRFi/Zg1MALimpcEhIwNcFdC9e3cYPEJ3aaFIBJVKCSWHg9tubsj08ECBRIKDR46gqKgIgwcPxpkzZ7Q6IYMQQjojKuwIIQ/t6NGjeOaZZzB48GCEDhgAm+pquOblw62m5pF2qLhdUgKxgz3y+vVDiZkZoq5eRXR0NBRN1sK7cOECQkNDtfk2CCGk06HCjhDyUOrq6uDr64vMzEwAjWPvRo4YAT8vLxjIZHDJy4N9qQQWNTUwuM8ixQ08HipMTVFoLUSajQ2quVxkZGcjKjoaIpGIcSyXy0V2djacnZ3b9b0RQoi+oylmhJCHsn79enVRBzR2y44cPRoTJ05EYmIiEmNicKOmBiq5HGYyGcwlZTCUy8FVKaHkcFHP56NSaIVqExNw+HwYm5oi6/p1/Pnnn6ioqNC4nrGxMX766Scq6gghpBWoxY4Q0mr5+flwd3eHVCpVx0JCQhAdHQ3unfXtFAoFJBIJxGIxxGIxikUi1NfWQiGXg8fnw9DYGN3t7GBrawtbW1sIhUJMnz4du3btavaaAoEAWVlZtDAxIYS0AhV2hJBWe/HFF/H777+rH3M4HFy5cgX9+/dv03l/++03vPzyyy0+/+qrr2Lnzp1tugYhhHQFVNgRQlolMjISI0aMYMTeeust/O9//2vzuVUqFXbu3InIyEiMHDkSp06dws8//8w45vz58xhC+8QSQsh9UWFHCHmghoYGBAUF4fr16+qYlZUVMjIyYGNjo/XricViuLm5MXa18Pf3R0xMzENtVUYIIV0NLVBMCHmgrVu3Moo6AFi+fHm7FHUAYGtri2XLljFiCQkJ+O6779rleoQQ0llQix0h5L6aaz0LCAjAtWvX2rX1TC6XIzAwsMNaCQkhpDOgFjtCyH198sknjKIOALZs2dLuXaJ8Ph+bN29mxMrKyrB48eJ2vS4hhOgzarEjhLTo0qVLGDRoECPW0TNUX3jhBezZs0f9WFszcQkhpDOiwo4Q0iyFQoGQkBDExMSoY926dUN6enqHrimXn58PDw8P1NTUqGP3rp1HCCGkEX0qEkKa9cMPPzCKOgD4/PPPO3yhYCcnJyxZsoQRu3z5ssZyKIQQQqjFjhDSjNLSUri5uUEikahjnp6eSEhIgIGBQYfnc+/+tADQvXt3ZGRkwNLSssPzIYQQXUUtdoQQDZ9++imjqAOATZs2sVLUAYCRkRE2bdrEiBUXF2Pp0qWs5EMIIbqKWuwIIQxxcXHo378/lEqlOvb8889j3759LGbVaMKECTh48KD6MY/HQ1xcHHx9fVnMihBCdAcVdoQQNZVKhSFDhiA6OlodMzExQVpaGpydnVnMrNHNmzfh5eWFuro6dWzYsGE4c+YMOBwOgMZJHxKJBGKxGGKxGMUiEepkMigVCnB5PBiZmKC7nR1sbW1ha2sLoVBIu1kQQjoNPtsJEEJ0x6+//soo6gBg8eLFOlHUAUCfPn2waNEixq4UZ8+exZ49e/Dkk08iISEBSbGxqK2pgUouh5lMBguJBCZyObgqFZQcDhr4fKQLhYgxMQGHz4exqSl8g4Lg7+8PKysrFt8dIYS0HbXYEUIAAJWVlXBzc4NYLFbH+vTpg+TkZBgbG7OYGZNUKoWXlxdycnIAAHZ2dhg9ciR8PDxgKJPBOTcP9hIJLGpqYKBQtHieBh4PFaamKBQKkevcEw0CAXq7uiJ06NAOn/lLCCHaQoUdIQQAMH/+fKxbt44RO3ToEMaPH89SRi07cOAAJk+ejMGDByN0wADYVFfDLS8PrjVS8JqMDWwtBZeLfBsbZLk4o9rGBgNCQxEaGgo+nzo1CCH6hQo7QghSUlLg7+8PuVyujo0bNw6HDx9mMauWiUQifP3VVzDlcuGalgaHjAxwVUCPHt3B5z16MabkcJDp6Ig0V1cInRwxNiwMdnZ2WsycEELaFxV2hHRxKpUKo0ePxr///quOGRoaIjk5Gf369WMxs+bl5OTgwJ49MC4ogMv58xA02cfWyMgY1kJhm69RKRAgxtMTUgcHTJo6BS4uLm0+JyGEdARax46QLm7//v2Mog4AFixYoLNF3f7du2GVfQvD4hPQQ8Hsdq2rq0VtbW2br2MulWJoXBwsb2Vj/+7d6vF8hBCi66jFjpAurKamBp6ensjLy1PHnJyckJaWBlNTUxYz0yQSifD7zp2wzL6FQcnJjbNcVSoUFRVBqfxvkgSPx0eP7t3Vy5+0hZLDwUUfb5T36o0Xpr1K3bKEEJ1HLXaEdGErV65kFHUAsG7dOp0r6uRyOf45eBCC24UISUkB9873US6HAwtzc8axCoUc1TU1WrkuV6VCSHIKTApv48jBg4wxiIQQoouosCOki8rKysKaNWsYsSeeeALPP/88Sxm1LCoqCmX5BQhOTQX/nlmvJiYmMDQ0YsRkMpnWrs1XKhGckgpJQYHGGn+EEKJrqLAjpIv68MMPUV9fr37M5/OxefNmrXRhatPt27dxNSoKHpmZMJdKmz3GwsICwH9587ja/WizkErhnpGJKxcuoLCwUKvnJoQQbaLCjpAu6PDhwxpLmcyePRteXl4sZdSy6AsXYFZSAteCghaPMeDzIRQKYWBgCCMj4zuFnna5FRTArKQEURcuaP3chBCiLbT6JiFdTG1tLebOncuI2dra4vPPP2cnofsoKytDdmYmAnNy1ePqWmJsZARjI6P7HtMWXJUKfXNyEW9tjbKyMtp+jBCik6jFjpAu5uuvv8aNGzcYsdWrV7dLK1dbJSQkwEAqhVNJCdupAAB6lpSAL5UiMTGR7VQIIaRZVNgR0oXk5uYiIiKCERs8eDBeeeUVljJqmUKhQFJsLJxz8x5pm7D2wFMq4ZKXh8SYGCjusw8tIYSwhQo7QrqQ+fPnM2aMcjgcbNmyBVwtTzbQBolEgtqaGthLJGynwmBf2piXRMfyIoQQgAo7QrqMf//9F3/88Qcj9u677yIwMPCRzmdjY6P+/zt37kRwcDAqKiowY8YM9OnTBwEBAfD09MS6devUx40YMaLV5xeLxVDJ5bCsrsYriYl4MuYaxsfG4KmYa1idnY3aOy1mSVVV+Cr75iO9hwdJqa7GhbIy9ePdhYWIzs6GSi6HWCzW6rWWL18OZ2dnxn0lhJCHRYUdIV1AQ0MDZs+ezYgJhUJ8+eWXbT73n3/+iTVr1uDYsWPqcXqbNm1CfHw8rl27hrVr16KiogIAcObMmVafVywWw0wmU69bt9nDE4eDgnEgIBDF9fVYnJUJAPDt1g2Levd55PwV95mUkVZTgwvl/xV2L9rbI8zaGmYy2SMXdi114T755JO4fPnyI52TEELuolmxhHQBmzdvRmpqKiO2YsUKWFtbt+m8x48fx+LFi/Hvv/+ie/fuGs9LpVIYGBjAwMAAQGMrX0lJCSIjIxEREQFTU1OkpKRg/PjxWLduHRQKBaZPn47Y2FhUV1Xhqd69Mfqec5rwePi8b188fvUKyhoakFFTg18Lb2OzpxculZdj+c0b4IADAy4HfwYEokGpxMrsm7hSUQEOOJjl7AxvMzPMTEmBX7duSKyqxP6AQKzOzkZcVSUaVCrMdnbGE0JrbMzNQZ1Siejycizs1RtxlZWwMjBA97x8vPH667C0soJSqURSUhJUKhUyMzPx3nvvQSKRwNraGj///DPs7e0xfPhwDB48GBcuXMCbb76JadOmadyrAQMGtOl3QQghABV2hHR6hYWFWLp0KSMWFBSEN998s03nraqqwiuvvIJLly7B0dGR8dwHH3yA8PBwZGZm4vPPP4dAINB4fVxcHFJTU2FhYQFvb2/MnTsXxcXFyM7ORkpKCn7evh2q06eBvHyN15rx+ehpbIzcWuYOEz8WFOCT3n0QamWFqjvbf/0uEqFKrsDBwCBwORxUyBtQJVcgS1qDNe7u8DB1xe7CQjgaG2NJ376olsvxfEI8hlkJMcfZBRnSGnx8p0UwrrISAGBrZIRln32GaW+8gU8//RSjRo0CALz33nvYvn07XFxcsG/fPnzxxRfYtm0bgMZW03PnzrXpnhNCyINQYUdIJ7do0SJUVVUxYlu2bAGPx2vTeQUCAfz8/PDbb7/h008/ZTy3adMmjB8/HqWlpRg0aBCmTJmC3r17M44ZNGiQupXPx8cHOTk58PHxwe3bt/H+++/DmM/HoDstfc1prgM1yNwca2/dwg2ZFE/ZdEc3AJcqyvGagyO4d3bUsOAboEquQC8TE3jc2RM3qrwMmVIpDhQ1dq/KlEqI6utavDZXpYRCLsexY8cQGRmJ06dPo6qqClFRUZgwYQKAxi7XXr16qV8zefLkFs9HCCHaQoUdIZ1YVFQUfvnlF0ZsxowZGDRoUJvPzePxcODAAQwdOhROTk547bXXNI6xtrZGUFAQrl69qlHYGTVZTJjH40GhUMDKygpJSUk4evQoli1digwA64Sa3cU1CgXya2vhYmyC9Joadfydnj3xuJUVIsskeC4+Dvv8A1rM36RJYasCsLyfKwbcs5bftYrKZl+r5HBRXlGB1R9+iFOnTsHAwAAymQx2dnaIj49v9jXNtVoSQoi20eQJQjophUKBWbNmMWLm5uZYtWqV1q5hbm6OI0eO4Msvv8SxY8c0npfJZIiPj0efPq2b3FBSUgKlUonJkyfj+eefR3Z5ucYxtQoFlt3IwhNCa1je06KXK5PB08wMM3s6o69AgPzaWgy2tMQekQjKO5MkKuQNGuccbGmJ3aJC9USKlOpqAIApj4eaZiY7SDkcfLt9OzZt2qTuhjY3N0f37t1x5MgRAI1dr/eOaySEkPZGhR0hndT//vc/jdajL774Ara2tlq9jqOjIw4ePIi33noLsbGxABrH2AUEBCAoKAgvvfQS+vfv36pzFRQUYNiwYfD398eu3bsxZtgw9XOz01IxPjYGE+PjYGNgiOX9+mm8/sfbBRgbG4NnYmPgYGSEQHNzTLWzhzmfj/FxsXgmNhaXyis0XveCnT16GBpiQlwsxsXG4Ju8XABAiIUFkqurMSEuFuebLHuSUCtDbm4uFi5ciICAAAQEBAAAdu3ahXXr1sHf3x8BAQEPNct16dKlcHJyQllZGZycnLBp06ZWv5YQQu7iqFQP2ICREKJ3SkpK4ObmhrImxYi3tzfi4uLUM1R13fXr13Fk3z6MP3sOBjq0y0MDj4fDwx7H2MmT4ePjw3Y6hBDCQC12hHRC4eHhjKIOaFzyRF+KOgCwtbUFh89HxZ0JDrqiwtQUHD5f6y2fhBCiDTR5gpBO5tq1a/j+++8ZsalTpz7Urg+6QCgUwtjUFIVCIWwqm5/EwIZC68a8hELhI73+/fffR1RUFCO2du1a9ZIphBDSFlTYEdKJKJVKzJ49G01HWAgEAqxdu5bFrB4Nj8eDb1AQ4ktL4ZWbC96dHSjYpOBykdOzJ4KCgx95uZhvvvlGy1kRQsh/qCuWkE5k586duHTpEiO2ZMkSODk5sZRR2/j7+6NBIEC+juyfmmdjA/md9fsIIUQXUWFHSCdRXl6ORYsWMWL9+vXDvHnzWMqo7aysrNDb1RVZLs5Q3llgmC1KDgc3XJzR280NVlZWrOZCCCEtocKOkE5i6dKlKCoqYsQ2bdrEWAhYH4UOHYpqGxtk3rNtWUfLcHREtY0NQocMYTUPQgi5HyrsCOkEkpKSsGXLFkYsLCwMTz/9NEsZaY+9vT0GhIYizdUVlSzt3lAhECDdzRUDhwyBvb09KzkQQkhrUGFHiJ5TqVSYPXs2FE3WejMyMsL69etZzEq7QkNDYeXkiBhPT8i52v/YkspkKJVIUCOVajwn53IR4+UJoaMjBg8erPVrE0KINlFhR4ie27t3L86ePcuILVq0qNXbeOkDPp+PcWFhkDo44LK3l1bH20llUpSXl6GurhYVFeUoKS2B4s4MXCWHg8veXpDZO2BsWBj4fFpIgBCi22jnCUL0WHV1NTw8PFBQUKCOOTs7IzU1tVNuOp+Tk4P9u3dDmJuLkOQU8LWwBEpJaSnq6+sYMS6HC1MrSyT27w+JszOee/FFuLi4tPlahBDS3qjFjhA9FhERwSjqAGD9+vWdsqgDABcXFzz34oso79Ub5wMDtTLmrrn16Kq6mSHSPwBZZmYYNGwYFXWEEL1BLXaE6KmMjAz4+PigoaFBHRs9ejSOHz8ODstLg7Q3kUiEfw4eRFl+ATwyM+FaUADuI36UVdfUoLKyAkBj1+ttNzdkenigQCLBwSNHUF1djRMnTiA0NFSbb4EQQtoFFXaE6CGVSoWnn34ax48fV8f4fD6SkpLg4eHBYmYdRy6XIyoqClejomBWUoK+ObnoWVLy0DtUSGUylFZWoKRnT+T164cSMzNEXb2K6Oho9YSUp556CkePHm2Pt0EIIVpFI4EJ0UMHDx5kFHUA8OGHH3aZog5oLGSHDRsGV1dXREdFId7aGtelUrjk5cG+VAKLmhoYNJkpfK8GHg8VpqbI69kT6T26Q8bnIyM7G1EHD0IkEjGONTc3b++3QwghWkEtdoToGZlMBm9vb2RnZ6tj9vb2SE9PR7du3VjMjF1lZWVITExEYkwMamtqoJLLYSaTwVxSBkO5HFyVEkoOF/V8PiqFVqg2MQGHzwd4PBw+fhwJCQmoqKjQOK+HhweOHz8OZ2dnFt4VIYQ8HGqxI0TPrFmzhlHU3Y115aIOaNx+bNiwYRgyZAgkEgnEYjHEYjGKRSLU1tZCIZeDx+fD0NgY7nZ2sLW1ha2tLUpLS/FReHiL533ppZeoqCOE6A1qsSNEj9y6dQuenp6ora1Vx4YMGYJz5851+gkT7UWhUKBnz54oLCxs9nmBQIC0tDT07NmzgzMjhJCHR8udEKJH5s2bxyjquFwutmzZQkVdG/B4PBw5cgRhYWF47rnn8P333zPup1QqxYIFC1jMkBBCWo9a7AjREydOnMCTTz7JiM2aNQubN29mKaPO691338V3333HiJ0+fRojRoxgKSNCCGkdKuwI0QP19fXw8/NDenq6OmZjY4OMjAxYWVmxmFnnVFpaCjc3N0gkEnXM29sbcXFxMDAwYDEzQgi5P+qKJUQPbNy4kVHUAcDKlSupqGsn1tbWiIiIYMSSk5PxzTffsJQRIYS0DrXYEaLjCgoK4OHhgerqanVswIABuHTpErhc+m7WXhQKBQYMGIC4uDh1zNzcHOnp6bCzs2MxM0IIaRn9VSBEx3300UeMog4AtmzZQkVdO+PxeBrjFysrK/Hxxx+zlBEhhDwY/WUgRIedO3cOv/32GyP2xhtvYODAgSxl1LWEhoZi2rRpjNjPP/+MixcvspQRIYTcH3XFEqKj5HI5goKCkJSUpI5ZWloiIyMD3bt3ZzGzrkUkEsHNzQ1VVVXqWFBQEK5cuQIej8diZoQQoola7AjRUdu2bWMUdQDw5ZdfUlHXwezs7PDFF18wYrGxsdi+fTtLGRFCSMuoxY4QHVRUVAR3d3eUl5erY76+voiNjQWfTzsBdrSGhgYEBAQgJSVFHRMKhcjIyIC1tTWLmRFCCBO12BGigxYvXswo6oDGCRNU1LHDwMBAYyKFRCLBkiVLWMqIEEKaRy12hOiYK1euICQkhBF76aWXsGvXLpYyIndNmTIF+/btUz/mcDi4du0agoKC1DGFQgGJRAKxWAyxWIxikQh1MhmUCgW4PB6MTEzQ3c4Otra2sLW1hVAopLF6hBCtocKOEB2iVCoREhKCa9euqWNmZmZIT0+Hg4MDi5kRAMjNzYWnpyekUqk6NmjQIFy4cAEVFRVISEhAUmwsamtqoJLLYSaTwUIigYFcDq5KBSWHgwY+HxVCIapNTMDh82FsagrfoCD4+/vTgtOEkDajfh1CdMiOHTsYRR0AfPbZZ1TU6QhnZ2eEh4cjPDxcHcvOzsa6tWuhamiAgVQK59w82EsksKipgYFC0eK5Gng8VJiaolAoRHxpKa5GRaG3qytChw6Fvb19R7wdQkgnRC12hOiIsrIyuLm5oaSkRB1zd3dHYmIiDA0NWcyMNFVXVwdvb2/cunULgwcPRuiAAeheUwPfomL0LC0FT6l86HMquFzk29ggy8UZ1TY2GBAaitDQUBpTSQh5aPSpQYiO+OyzzxhFHQBs2rSJijodY2RkhJUrV+LE0aNwtLKCa1oaHDIy0E1gCp65+SOdk6dUwqWoCD2Li5Hp6IirtXW4kZ6OsWFhtH0ZIeShUIsdITogISEBQUFBUDZp7Zk0aRL+/PNPFrMizcnJycGBPXvAuZkNtyuXIaisvPMMB927d4eBFlrZKgUCxHh6QurggElTp8DFxaXN5ySEdA1U2BHCMpVKhccffxwXLlxQx4yNjZGamopevXqxlxjRkJOTg/27d8M6JxdBSUmQiEQA/vsINTI00tq6dnIuF5e9vSBxdsZzL75IxR0hpFVoHTtCWPbbb78xijoA+OSTT6io0zEikQgH9uyBMCcXjyUnw5jDgZmZGeOYuvo6yGprtXI9vlKJQdeTIczNxYE9eyESibRyXkJI50YtdoSwqKqqCu7u7igsLFTHevfujeTkZJiYmLCYGWlKLpfj5x07oEhJxdC4OPDvdJmrVCoUFRVBofxv9iuPy0OPHj3A4XC0c20uF+eCAmHg6Ylpr79OEyoIIfdFLXaEsOjLL79kFHUAsH79eirqdExUVBTK8gsQnJqqLuqAxgWKzS0sGMcqlArU1ddr7dp8pRLBKamQFBQgOjpaa+clhHROVNgRwpK0tDSsX7+eEXvqqacQFhbGUkakObdv38bVqCh4ZGbCvMnCxHeZGBvDyNCoXXOwkErhnpGJKxcuaHwRIISQpqiwI4QFKpUKs2fPhlwuV8cMDAywceNGrXXhEe2IvnABZiUlcC0oaPEYSysrGBoagcPhQiAwhZGR9gs9t4ICmJWUIOqe8ZiEENIUDdYghAUHDhzAqVOnGLH58+fDzc2NpYxIc8rKypCdmYnAnFxw7zMcmcflwkZLs2FbwlWp0DcnF/HW1igrK6PtxwghzaIWO0I6mFQqxYcffsiIOTo6MrapIrohISEBBlIpnO5ZOJotPUtKwJdKkZiYyHYqhBAdRYUdIR3sq6++Qm5uLiP29ddfayydQdilUCiQFBsL59y8R9omrD3wlEq45OUhMSYGivvsQ0sI6bqosCOkA928eRNfffUVIzZ8+HBMmTKFpYxISyQSCWpramAvkbCdCoN9aWNeEh3LixCiG6iwI6QDffjhh6irq1M/5vF42LRpE02YaMGwYcNw7tw5RmzmzJnYtm3bA1977do1LFy48JGvLRaLoZLLYVldfd/jXr+ehLC4WAy7egWPXb6EsLhYhMXFIr2mBs/Gxz3y9Vsy9sRxqORyiMXiVh3fq1cvVDfzHmbMmIHDhw+3+LpJkybBysoKzz///CPnSgjpeFTYEdJBjhw5goMHDzJis2bNgq+vL0sZ6b4pU6Zg79696scKhQIHDx7Ec889d9/XKRQK9O/fH2vWrHnka4vFYpjJZIx165qzw8cXBwODMMfZBRN79MDBwCAcDAyCKY/XqusoHmGNeDOZrNWF3aP64IMPsHPnzna9BiFE+6iwI6QD1NXVYc6cOYxYjx49sHTpUnYS0hPPP/88/vrrLyjvFFdnz56Fm5sbpk6diqCgIAQGBqq3Y4uMjMSYMWMwZcoUjBgxApGRkerWpkuXLmHw4MEIDAzEE088oV4LbunSpXjzzTfx+OOPo0+fPvj999/V19727bdY+f33eCY2FjtvNy51EimRYHJCPMLiYrEkMxPKBxRlDUoVPspIx1Mx1zAnLRV3N/oZcfUKtuTmYGpCPC5XlGO/WITn4uPwTGwMNubcAgDUKBR44/p1jI+NwfjYGJwvK1Of9/DRY3htxgyMHDkSNTU1AIDY2FgMHDgQfn5+mDZtGmqb2drs008/haenJ8aNG4eioqL75j5ixAh069btvscQQnQPFXaEdID169cjKyuLEfvqq69gaWnJTkJ6wtbWFm5ubjh//jwAYO/evXjppZfw999/IzY2Fn///TdjhvHly5exYcMGje5bLy8vnD9/HnFxcXjzzTexevVq9XPZ2dk4ffo0Tp48iSVLlgAADh8+jOTkZKwaPx6HgoIQ1r0HJA0N+LGgAL/6+uFgYBAMuBwcKSm+b/43ZVK849QTR4OCUVrfgGuVlernLPkG2OMfgB6GhjgrKcNe/wD8HRiElOoaxFVW4kJZGSwN+DgcFIxDgUEIvFNklcvl6O/ggOVLl8LR0RF//vknAGD69OnYvHkzEhMTYWpqiq1btzJyuXLlCo4dO4aEhARs376ddrEgpJOiwo6Qdpafn48vv/ySEXvssccwbdo0ljLSL1OnTsW+ffugUChw6NAhhIWF4aOPPoKvry/CwsKQkpKiPjY0NBQODg4a5ygrK8OkSZPg4+ODZcuWMV4zduxY8Pl89O3bF+Xl5QCA06dPY8igQTDiNn5EWhoYIL6yEunSGnWLXXR5OfJr6zSu1VRvExP0FQjA4XDgZWaKgrr/WtGetrEBAESXlyOuqhKT4uMwMT4ON2RS5NbWws1UgGuVlVidnY34qiqY3dkj1pTHg5+dLRRyOYKDg3Hr1i1UVFSgrq4OISEhAIBXX31VXQzfFR0djUmTJsHQ0BD29vZ44oknWvsrIIToEVqgmJB2tmDBAkibbEXF4XCwZcsWcLn0vao1nnvuOSxfvhwTJkyAn58fjhw5gpqaGsTFxYHH40EgEKiPbfr/m/rss88wbtw4vPPOO7h06RI+/vhj9XMt7RLB4XLVXcAAoAIwwkqIlQ+xiLRhk98xl8OBsknPrXGTMXhT7ewwy9lF4/V/BQQiUiLB8ps3MLGHLV51cIABhwMlhwsenw8ejweFQqHu4lXnqlJpTMhpLkYI6XzoLwsh7ejMmTPYs2cPI/bWW28hODiYpYz0j42NDTw9PTF//nxMmTIFlZWVsLW1BZ/Pxx9//NHsWLJ7VVZWwsnJCQDw66+/PvD4UaNGIeriRUjvFELlDQ0I6NYNlyvKUXhnVnNZQwNEdfdvsWuNxywscaSkBBXyBgCAqK4OZQ0NENfVQcDjYZKtLaY7OCK15r+ZrfV8PgyNjdWPLS0tYWRkhKtXrwIAfvvtNwwdOpRxndDQUBw4cAD19fUQiUQ4c+ZMm3MnhOgearEjpJ00NDRg9uzZjJiVlRUiIiJYykh/TZ06FTNnzsTEiRMhl8sxbtw4DBw4EEOGDIF1K7byWrBgAWbMmIGVK1di8ODBDzx+7Nix2LdvHz45dAiWtbWYbGuHVx0csLRfP7yXkgK5Sgk+h4vlrq6wa+O+sG6mpnjL0QmvJCZBBRVMeTysd/fADZkMX2XfBJfDgTGXixWururXVAqt4G5nh5ImEyp++uknzJw5E7W1tQgICMDMmTMZ1xk4cCCefPJJ+Pn5wd3dHY8//vh983ryyScRGxuLmpoaODk54cCBAxgwYECb3ishpP1xVPe24RNCtGLDhg0aW4dt3bpV4w8u0U3Xr1/HkX37MP7sORjo0C4PDTweDg97HGMnT4aPjw/b6RBCdAx1xRLSDsRiMT7//HNGLCAgAG+//TZLGZGHZWtrCw6fjwpTU7ZTYagwNQWHz4etrS3bqRBCdBB1xRLSDj7++GNUNlnaAgC2bNkCXisXrSXsEwqFMDY1RaFQCJt7fpdsKrRuzEsoFGrlfCEhIYzdUIDGNQFpKR5C9BMVdoRo2cWLF/HTTz8xYq+++ipCQ0PZSYg8Eh6PB9+gIMSXlsIrNxe8B+xA0REUXC5yevZEUHCw1r4kXL58WSvnIYToBuqKJUSLFAoFZs2axYh169YNX331FUsZkbbw9/dHg0CA/DtrzmmTUqWCrFaGBrm81a/Js7GBXCCAn5+f1vMhhHQO1GJHiBZt374dsbGxjNjSpUthb2/PUkakLaysrNDb1RVZpaXoWVwMrpbmmilVKhQVFUGpVADgwMrKCiZNli9p9jUcDm64OKO3mxusrKy0kgchpPOhFjtCtKS0tBSLFy9mxDw9PTWWPCH6JXToUFTb2CDT0VFr56ytrb1T1AGAChUVFQ/cdzbD0RHVNjYIHTJEa3kQQjofKuwI0ZJPP/0UEomEEdu8eTMMDAxYyohog729PQaEhiLN1RWVLexs8bAMDJidJUqlAlVVLU/QqBAIkO7mioFDhlDrLyHkvqiwI0QLYmNjsW3bNkbs+eefx8iRI1nKiGhTaGgorJwcEePpCbkWtoIz4BvA+J6u15oaabPj7eRcLmK8PCF0dGzV4sqEkK6NCjtC2kipVGLWrFmM/TpNTEzw9ddfs5gV0SY+n49xYWGQOjjgsrcXlFrYc9Xc3AIcND1PY5dsU0oOB5e9vSCzd8DYsDDw+TQsmhByf1TYEdJGv/76Ky5evMiIhYeHw9nZmaWMSHuws7PDpKlTIHF2xkUf7za33PF5PJiZmTFi9fV1kMlkABpb6i76eEPi7IxJU6fAzs6uTdcjhHQNtKUYIW1QUVEBd3d3iMVidaxv3764fv26Rlcb6RxycnJwYM9eCG7fRnBqKsyl0kc+l0qlQlFxMRSK/7pguVwejHv1QuydlrpJU6fAxcVFG6kTQroAarEjpA2WLVvGKOoAYOPGjVTUdWIuLi54Ydqr4Hl54kxICNKdnB65a5bD4cDc3Fz9WMnhINe1H04GBcHA0xMvTHuVijpCyEOhFjtCHlFycjL8/f2haLJB/Lhx43D48GEWsyIdRS6XIyoqClejomBWUoK+ObnoWVLySDtUFJWXo6BHd+T164cSMzNcjInB1q1b4eXl1Q6ZE0I6MyrsCHkEKpUKo0aNwunTp9UxQ0NDJCcno1+/fixmRjra7du3ER0VheyMDPClUrjk5cG+VAKLmhoYNCn679XA46HC1BSF1kJkOzmhtL4eGdnZiIqOhkgkwpgxY3Ds2DFwtDBRgxDSdVBhR8gj2LdvH6ZMmcKIhYeHY/ny5SxlRNhWVlaGxMREJMbEoLamBiq5HGYyGcwlZTCUy8FVKaHkcFHP56NSaIVqExNw+HwYm5rCLzgYR48e1dh67sCBA5g4cSI7b4gQopeosCPkIdXU1MDDwwP5+fnqWM+ePZGamgpTU1MWMyO6QKFQQCKRQCwWQywWo1gkQn1tLRRyOXh8PgyNjdHdzg62trawtbWFUCgEj8dDVVUVPDw8cPv2bfW5XFxckJqaChMTExbfESFEn1BhR8hDCg8Px4oVKxixffv24fnnn2cpI9JZ/Pbbb3j55ZcZsc8//xxLly5lJyFCiN6hwo6Qh5CVlQVvb2/U19erYyNHjsTJkydpLBRpM5VKhWHDhuH8+fPqmJGREVJTU9G7d28WMyOE6Ata7oSQhzB37lxGUcfn87Fp0yYq6ohWcDgcbNmyBdwmix/X1dVh3rx5LGZFCNEnVNgR0kqHDx/GP//8w4h98MEHtCQF0So/Pz+8//77jNhff/2FY8eOsZQRIUSfUFcsIa1QW1sLb29v3Lx5Ux2ztbVFRkYGY4FZQrShvLwcbm5uKC4uVsdcXV2RlJQEIyMjFjMjhOg6arEjpBXWrl3LKOoAYM2aNVTUkXZhaWmJVatWMWKZmZnYsGEDOwkRQvQGtdgR8gA5OTnw9PRUb84OAKGhoTh//jyNrSPtRqlUYtCgQbhy5Yo6ZmpqivT0dDg6OrKYGSFEl1GLHSEPsGDBAkZRx+VysWXLFirqSLtq7t9ZTU0NFi5cyGJWhBBdR4UdIfdx6tQp/PHHH4zYO++8g4CAAHYSIl3KgAED8MYbbzBiu3fvxtmzZ1nKiBCi66grlpAW1NfXw9/fH2lpaeqYtbU1MjIyIBQKWcyMdCXFxcVwc3NDeXm5Oubj44O4uDjw+Xz2EiOE6CRqsSOkBZs3b2YUdQCwYsUKKupIh+revbvGHsTXr1/H1q1bWcqIEKLLqMWOkGYUFhbCzc0N1dXV6lhwcDAuX74MHo/HYmakK5LL5ejfvz8SEhLUMXNzc2RkZMDW1pbFzAghuoYKO0KaMW3aNPzyyy+M2MWLF/HYY4+xlBHRFwqFAhKJBGKxGGKxGMUiEepkMigVCnB5PBiZmKC7nR1sbW1ha2sLoVDYqi8L58+fx+OPP86Ivfbaa9ixY0d7vRW90l73nRB9Q4UdIfe4cOEChg4dyojNmDEDP/74I0sZEX1QVlaGhIQEJMXGoramBiq5HGYyGSwkEhjI5eCqVFByOGjg81EhFKLaxAQcPh/GpqbwDQqCv78/rKys7nuNV155Bbt27WLELl26hJCQkPZ8azqtI+47IfqECjtCmlAoFAgODqYuL9Jqt2/fRvSFC8jOzISBVArn3DzYSySwqKmBgULR4usaeDxUmJqiUChErnNPNAgE6O3qitChQ2Fvb9/itdzd3WmIADr2vhOiT6iwI6SJrVu3auzTuWHDBsyZM4eljIiuksvliIqKwtWoKJiVlKBfTi6cSkrAUyof+lwKLhf5NjbIcnFGtY0NBoSGIjQ0tNlZr2vXrtVYy+5///sf3nrrrUd+L/qErftOiL6gwo6QO2hZCdJaIpEI/xw8iLL8AnhkZsK1oABcLXyUKjkcZDo6Is3VFUInR4wNC4OdnR3jmK68DA+b950QfUGFHSF3vP322/j+++8ZsTNnzmD48OHsJER0Uk5ODg7s2QPB7UIEp6bCXCrV+jUqBQLEeHpC6uCASVOnwMXFhfH8yZMnMWbMGEbsvffewzfffKP1XHSFLtx3QvQBFXaEALh27RoGDhyIpv85vPDCC9i9ezeLWRFdk5OTg/27d8M6JxcDU1LAf4Tuv9aSc7m47O0FibMznnvxRY0i47nnnsOff/6pfszlchETE9Mpd0XRpftOiK6jwo50eUqlEoMHD8bly5fVMYFAgPT0dDg5ObGYGdElIpEIv+/cCcvsWxiUnKyVLsAHUXI4uOjjjfJevfHCtFcZ3YM5OTnw8PBAbW2tOhYaGorz5893qn2Mde2+E6LraOcJ0uX9/PPPjKIOAD799FMq6oiaXC7HPwcPQnC7ECEpKR1SXAAAV6VCSHIKTApv48jBg5DL5ernXFxcsHjxYsbxUVFRGsuh6DNdvO+E6Doq7EiXVl5ejkWLFjFirq6u+PDDD1nKiOiiqKgolOUXIDg1tV27AZvDVyoRnJIKSUEBoqOjGc8tXLgQffr00YhVVlZ2ZIrtRlfvOyG6jAo70qV9/vnnKC4uZsQ2bdoEIyMjljIiuub27du4GhUFj8zMdhmw3xoWUincMzJx5cIFFBYWquPGxsbYsGED41iRSIRly5Z1cIbap8v3nRBdRoUd6bKSkpI0ZhFOmDABTz31FEsZEV0UfeECzEpK4FpQwGoebgUFMCspQdSFC4z4+PHjMXbsWEZs48aNSE1N7cj0tE7X7zshuooKO9IlqVQqzJ49G4omK9QbGRlh/fr1LGZFdE1ZWRmyMzPRLye3w8Z3tYSrUqFvTi6yMzJQVlamjnM4HGzYsAGGhobqmFwuxwcffAB9nRunD/edEF1FhR3pkvbs2YOzZ88yYosWLULv3r1ZyojoooSEBBhIpXAqKWE7FQBAz5IS8KVSJCYmMuKurq6YP38+I3bq1CnGcij6RF/uOyG6iAo70uVUV1dr/BF0cXHRmERBujaFQoGk2Fg45+Y90nZV7YGnVMIlLw+JMTGM1mYACA8P15jJ/eGHH0LK0vi0R6Vv950QXUOFHelyli9fjtu3bzNi69evh0AgYCkjooskEglqa2pgL5GwnQqDfWljXpJ78jI1NcXXX3/NiOXl5WHlypUdmV6b6dt9J0TXUGFHupT09HSsW7eOERszZgwmTpzITkKEFcuWLYOPjw98fX3Rv39/ZGdnaxwjFouhkssx9sTxR7rG9/l5jMeeF84jLC5W/VP/iK1RFjU1UMnlEIvFjPjXX3+Nzz//HKampoz46tWrcePGjUe6Vktac//usrGxeahz373v+1NTGPG7929cbAw+SE2FrINbzqpLSxCfkKC+7wcPHlSPyZ0xYwYOHz780Od8//330aNHD/Tv31+ruZKujQo70mWoVCrMmTMHDQ0N6piBgQE2bdrUqVbqJ/cXHR2NyMhIxMfHIykpCX/99RcsLS01jhOLxTCTyR75Ot/n5zMed+PzcTAwSP1jyH20j18DhQJmMplGYRccHIy4uDhcvnyZ8e+5vr5eq+sytvb+Paq79/2HPGZhfPf+/RMUDAMuB7tFrVt+RKGlyRfiGilSkpLU9z0sLKzN9/Wll17C0aNHtZEeIWp8thMgpKMcPHgQx48zW1/mzp0Ld3d3ljIibBCJRLCysgKf3/jxd3dc2pEjR7Bs2TLU1tZi4MCBGD50KCzu6Xb7Ni8XJ0tL0aBU4iV7B7xobw8A2JKbg6MlJeCCg8l2tiipb0CVXI6wuFgEmZtjad9+zeYyNjYG+/0DAADBly5il68fAs3NERYXi12+fuByOFialYUbssZxcuF9+iDY3ALmkjIUi0SMcw0fPhwA4O3tjXHjxjFakA4dOoR//vkH48aNa9vNQ+vv37Zt28C9p3iNiIjAX3/9hbq6Orz33nt49913ATS2AO7duxc8Hg+BAQEoS0i47/3rb26B9Joa1CgUzd6fTTk5KGmoR46sFv0EArxkb4/Ps7JQIZfDkMvBzz6+4LRwbzfl5EBUX4dbMhlEdfWY18sF47v3wPqcHGTU1eKN11/H50uXgsPh4Pr161i7di0jtytXrmD+/PmoqalB79698fPPP8PMzKzZexkaGopbt2617RdCyD2oxY50CTKZDHPnzmXE7O3t8emnn7KTEGHN6NGjkZGRAU9PT8yZMwdXr15FSUkJ1q1bp26JMjQ0xPnz52HQZCupc2USlNY34M+AQOwPCMQfYhFEdXU4IynFlYoKHAgIxKGgIIR174F5vXqpW5juFiV3C5WwuFh8lpUJAPAz64aEqirEV1XBXWCKmMpKVN25Zjc+H1vzcjHa2hp/BgRiq6cXlmY1dqkayuWob7JH7L3kcjnMzc0ZsTlz5jD2lW3v+7d3717G644dO4aioiJcvXoV165dw44dO5Cfn4/Dhw/j7NmziImJQUJCAgYEBeHlgACN+6d+byoVzpVJ4GYqaPH+AEBGjRTfe3vj0759sTAjHTN79sShoCD87OMLYx7vvq/Nr63FTl8//OTjgw05OQCAD11c4Gtvj2WffYbXXnut2XtTX1+PBQsW4ODBg4iNjcVjjz2GLVu2tPmeE/IwqMWOdAmrV6/W+Ga8du1adOvWjZ2ECGu6deuGuLg4nDlzBqdOncLo0aPx888/IzExEY899hiAxi8Cvl5e4DYpjqLKynFaIsGVygoAQLVcjtxaGS6WV+A5Wzt116qlgUHz171TqDQVZG6OmMpKqKDCm05O+Ke4GP0EAgTe+XcZXVaOcxIJtuTlAgDK5Q2oVyrBVSmhaGH/0g0bNqiHGMyYMUMdv3HjBtatW6exv+zDau39c3R0ZLzu5MmTOHTokHqZoYqKCty4cQOnT5/Ga6+9pt7tRWBs3OzadXcLYwDob26O523tMDUhodn7AwAjrYUw5HJRLZejUi5HqJUVAMDsTktjS/cWAIZZCcHncOBsYoLKpvdZpWrxvgONY3gTExMxYsQIAI2F3t2WVEI6ChV2pNPLzs7GqlWrGLGhQ4fixRdfZCkjwjY+n4/Ro0dj9OjRsLGxwYcffojx48djx44d6mN+3r4dyia7DagAzHZ2xiRbW8a5TpU++izJIHNzrLx5ExwOMMPBEbsLCxFTWYlgc4s711ThOy9vOBgbM16n5HDB42t+fB86dAi//PILzp49C4FAgO+++w4XL15UPx8REYFXX30VPXv2fOScgdbdv3upVCosXboU06ZNY8T//vtvxmMujwdlM2NemyuMW7o/AGDM5an/f3MjaO/32hbHP3I4zd539TlVKgQFBeH06dMtHkNIe6OuWNLpzZs3j9EFxeVysWXLFpow0UWlp6erZ4mqVCokJyfjnXfewZkzZ5B3Z8B+aWkpqqVSNDT5Iz7Y0hJ/iEWovTMb86ZUijqlEoMtLbFfLFK39pTfmZzD43AeOHC/r4kJbtXKUKdUwozPR2+BCf4uEiPoTkvhYEsr7GqyR2lqdTUAoJ7Ph+E9BUlMTAwWLFiAv//+G2ZmZs3+O5dKpViwYMHD37QmWnv/8u+ZPDJq1Cj88MMPkN2ZkJKeno7a2lqMGjUKP/74I+rq6gAADQoFGvj8Vt2/lu5PU2Z8Psz5fETd2TWiWi6HXKVq1WubMuXzIJXLNe57Ux4eHsjJyUF8fDwAoKamBllZWfc9LyHaRoUd6dSOHz+Ov/76ixF7//334efnx05ChHXV1dV45ZVX4O3tDR8fHyiVSnzwwQf49ttvMXHiRPj5+WHMmDHgGRqiQihUv264UIjhQiGeT4jH2Jhr+DQzA7UNDRguFCLEwhIT4+MQFheLQ8XFAIBJPWwxPjYGS2+0/Iedw+HAVSCAm6BxiZKgbuZQAnC6Uzy87+yM0oYGjI+NwdMx17BP3DhholJohe52doxzLVq0CJWVlRg/fjwCAgLw/vvvIygoCG+//TbjuL1797apRam196+oqIjxurFjx2LcuHEYOHAgfHx8MHPmTCgUCowdOxbDhw9HUFAQAgICkHD9OiqEwlbdv5buz73WuLlja14unomNxYzr11GnVLb6tXe5C0xRx+Nhyeef48cff2z2GENDQ/z+++9477334Ofnh0GDBt23sHvzzTcxaNAgJCYmwsnJCQcOHLhvDoS0Bkelr5sJEvIA9fX18PX1RUZGhjpmY2ODjIwMWN0Zb0NIS65fv44j+/Zh/NlzMLjTSidXKFBdVQWpTIbGzlkOhEIrGBu13IqjbQ08Hg4PexxjJ0+Gj4/PA48vLS2Fm5sbY2FdLy8vxMfHw6CF8YBsau6+64KHve+EsIVa7EintWHDBkZRBwCrVq2ioo60iq2tLTh8PipMTdEgl6OsrAxFRUWQyqRoLOoAQAWp9NHXunsUFaam4PD5sL1nrF9LrK2tERERwYilpKTo7GzNpvddlzzsfSeELVTYkU6poKAAy5YtY8QGDBjQ4jIFhNxLKBSCw+fjpsAExcVFkNXebaVj6uhWr11lEmzctg2jR49GQEAAAgICNCYH3eutt95CYGAgI/b5559DJLp/9yMbhEIhjE1NUdikG1wXFFo35iV8hLwmTZqk/l3d/UlJSXnwCwl5BDQrlnRKCxcuRE1Njfoxh8PBN998o7FgKiHNOXfuHCIiIlBbW4vRAQGwT0jQ2JCeAw5MzcxaXHy2PSi4XPR9fAR2jRmDYcOGtfp1PB4PW7ZsQWhoqDpWVVWFRYsW4eeff26PVB8Zj8eDb1AQ4ktL4ZWbq3Hf2aDgcpHTsyeCgoPB4/Ee/IJ70Ng50pHorxzpdM6ePYvdu3czYm+88QYGDBjAUkZEH6hUKhw7dgxDhw7FsGHDcOLECSQkJEBqYIDSO7srAACHw4WZmRl62NrCvFu3ZpfSaC95NjaQCwSPNPln8ODBmD59OiO2c+dOREdHays9rfH390eDQID8h9xntrXkCgUa5PJm2l+b15b7TkhHo8KOdCpyuRyzZ89mxCwtLbFixQqWMiK6TqlU4sCBAxgwYACefvppXGiydl1FRQUys7OR6+oKcHno1q0bbG17wLybOXgd3Pqr5HBww8UZvd3cHnmc6KpVqzQW5Z41axYUOjRJAQCsrKzQ29UVWS7Oza5p1xZSmQxFRUUoLi5CWVnZA4s7bdx3QjoSFXakU/n222+RlJTEiH355Zfo3r07SxkRXSWXy/Hbb7/Bz88Pzz77LGJiYpo9LiUtDdIePVAZHIRuZt3A5bDzsZnh6IhqGxuEDhnyyOews7PDF198wYjFxcXh+++/b2t6Whc6dCiqbWyQec8OFm1VXV2Nu2Mla2tlkDYZstEcbdx3QjoSFXak0ygqKtLY+9XPz0+90TghQOMyONu3b4eHhwdefvllJCcnN3tcz549sXnzZly7dg2PjxqFdFc3VAoEHZxtowqBAOlurhg4ZAjs7e3bdK5Zs2bBy8uLEQsPD0dpaWmbzqtt9vb2GBAaijRXV63ed/49Y+Qqq6qgaGEcnzbvOyEdhQo70ml88sknqKioYMS2bNkC/n22ACJdh0wmw+bNm9GvXz+89dZb6t0T7tWvXz9s374dWVlZmDVrFkxMTBAaGgorJ0fEeHpC3sFdsHIuFzFenhA6OmLw4MFtPp+BgQE2b97MiEkkEoSHh7f53NrWHvfd9J7JLiqVElVVlRrHafu+E9JRqLAjncLly5c19ql8+eWXMXToUJYyIrqiqqoKq1evRu/evfHBBx+ot726l4+PD3777TekpqbijTfegKGhofo5Pp+PcWFhkDo44LK3l9bHfbVEyeHgsrcXZPYOGBsWprUvKU888QSmTJnCiP3vf/9DbGysVs6vLe1x340MDWFiwmwBlEqlqL+zFRzQfvedkI5AO08QvadUKhESEoJr166pY2ZmZkhPT4eDgwOLmRE2SSQSbN68GRs3bkTZnX1Cm9O/f3+Eh4cjLCzsgcvh5OTkYP/u3RDm5iIkOQX8dlyKQ87l4rK3FyTOznjuxRfh4uKi1fPn5eXBw8MDUqlUHRs0aBAuXLigc8sCafu+K5RKFBUVQaX67zwGBoawsbGBop3vOyHtTbf+6yXkEezYsYNR1AHAZ599RkVdFyUWi7Fo0SK4uLhg6dKlLRZ1Q4cOxbFjx3DlyhVMnDixVcWMi4sLnnvxRZT36o3zgYHtNuauQiDAuaBAlPfq3W7FRc+ePTW6Xy9evIhffvlF69dqK23fdx6Xi27dmF2yDQ31KOJy2v2+E9LeqMWO6DWJRAI3NzfGwG93d3ckJiYyutJI55eXl4c1a9bg+++/R21tbYvHPfnkkwgPD29TN71IJMI/Bw+iLL8AHpmZcC0oAFcLH6VKDgcZjo5Id3OF0NERY8PCYGdn1+bztqSurg4+Pj6Mjep79OiBjIwMWFhYtNt1H5U277sKQHFxEeRyOZQcDm67uSHL0xP2ffog7Nln2/W+E9KeqLAjem3WrFn45ptvGLHjx49jzJgxLGVEOlpWVhZWrVqFnTt3oqHJOKl7TZw4EYsXL9baQtVyuRxRUVG4GhUFs5IS9M3JRc+SkkfaKUHB5SLPxgY3XJxRbWODgUOGYPDgwR0ytuvIkSMYN24cIzZ37lysX7++3a/9KLR536UNDUg3FSCvXz+UmJkh6upV+Pv7a0wuIUSfUGFH9FZ8fDyCg4OhbPKB/uyzz2L//v0sZkU6SnJyMlasWIHff/+d8W+gKS6Xi6lTp+KTTz6Br69vu+Rx+/ZtREdFITsjA3ypFC55ebAvlcCipgYG91n4t4HHQ4WpKQqthcjp2RNygQC93dwQysLSGmFhYTh06JD6MY/HQ3x8PHx8fDo0j4ehrfterlQiOSMDUdHREIlE4HK5iI2Nhb+/fwe+G0K0hwo7opdUKhUef/xxxi4BxsbGSEtLo3ExnVxMTAwiIiLuu/8mn8/H9OnTsWjRIri6unZIXmVlZUhMTERiTAxqa2qgksthJpPBXFIGQ7kcXJUSSg4X9Xw+KoVWqDYxAYfPh7GpKfyCg+Hn58fazgY3btyAt7c36urq1LERI0bg33//BaeDZgA/qrbed6FQiIEDBzK674cOHYqzZ8/q/HsnpDlU2BG9tGvXLrzyyiuM2LJlyzQWKCadx4ULF7B8+XIcP368xWOMjY3x5ptvYuHChXB2du7A7P6jUCggkUggFoshFotRLBKhvrYWCrkcPD4fhsbG6G5nB1tbW9ja2kIoFD7SxvLa9umnn2L58uWM2J49ezSWRdFVbbnvy5Ytw+eff844365du/DSSy+x8VYIaRMq7IjeqayshLu7O0QikTrWu3dvpKSkwNjYmMXMiLapVCqcOnUKy5cvx7lz51o8zszMDDNnzsS8efNo0Psjkkql8PT0RG5urjrm5OSE1NRUmN2zqG9nI5PJ4O3tjezsbHXM3t4e6enpGnvrEqLraLkTone+/PJLRlEHABs2bKCirhNRKpX4+++/ERISgjFjxrRY1FlaWuKzzz7DrVu3sHr1airq2kAgEGDdunWMWH5+PlasWMFSRh3HxMQEGzZsYMQKCwvx5ZdfspMQIW1ALXZEr6SmpsLPzw9yuVwde/rpp/HPP//QeJhOQKFQYN++fVixYgWSkpJaPK5Hjx6YN28eZs6cCXNz8w7MsHNTqVQYM2YMTp06pY4ZGBggOTm5w8YqskWlUmHcuHE4evSoOsbn85GUlAQPDw8WMyPk4VBhR/RGc390DA0Ncf369U7/R6ezq6+vx6+//opVq1YhMzOzxeOcnJywcOFCvPnmmxC00+LAXV1X/vKUkZEBHx8fxrI5o0aNwokTJzr9eyedB3XFEr1x4MABRlEHAPPnz6eiTo/JZDJ88803cHV1xRtvvNFiUdenTx98//33yMrKwgcffEBFXTvy9PTE3LlzGbGjR4/i8OHD7CTUgdzc3DB//nxG7NSpU/edgU2IrqEWO6IXWhrYnZaWBlNTUxYzI4+iuroa27Ztw9dff60xXrIpLy8vLF68GFOnTqWN2DtQV56gVF1dDQ8PDxQUFKhjLi4uSElJoS8URC9Qix3RC6tWrWIUdQCwdu1aKur0TFlZGZYtWwYXFxcsXLiwxaIuKCgI+/fvR1JSEl5++WUq6jqYubk51qxZw4hlZ2drxDojMzMzfP3114xYTk4OvvrqK5YyIuThUIsd0XnNLZ46fPhwnD59msa96ImioiKsX78e33zzDaqqqlo8LjQ0FOHh4Xjqqafod8uylhYBT01NRa9evdhLrAOoVCo88cQTiIyMVMeMjIyQkpKCPn36sJcYIa1ALXZE53344YeMoo7H42Hz5s30h18P5OfnY+7cuejVqxdWrVrVYlE3evRoREZG4vz583j66afpd6sDOBwONm/eDC73vz8TtbW1GmPQOqO7773pwtF1dXX48MMPWcyKkNahwo7otCNHjjD2sASA2bNn6/QelgS4efMm3nnnHfTp0wcbN26ETCZr9riwsDBcvnwZJ06cwLBhw6ig0zEBAQGYOXMmI/bnn3/i5MmTAMCYPdrZ+Pj4YNasWYzYwYMHGcuhEKKLqCuW6Ky6ujr4+PggKytLHevRowcyMjJgYWHBYmakJSkpKVi5ciV2794NRQsbsXM4HEyZMgWLFy+Gn59fB2dIHpZEIoGbmxtKS0vVsV69eqFXr144d+4cHnvsMRw4cAA9evRgMcv2UV5eDnd3dxQVFaljrq6uSEpKgpGREYuZEdIyarEjOmvdunWMog4AvvrqKyrqdFBcXByef/55+Pj44Ndff222qOPz+XjttdeQlpaG33//nYo6PSEUCrFy5UpG7NatW4iMjIRSqUR0dDQ2btzIUnbty9LSUmPSRGZmJtavX89SRoQ8GLXYEZ2Ul5cHDw8PSKVSdeyxxx5DVFQUY8wPYVd0dDQiIiJw5MiRFo8xMjLCG2+8gY8++gguLi4dmB3Rlvr6eri5uSEnJ6fZ5ydMmIC//vqrY5PqIEqlEqGhobh06ZI6JhAIkJ6eDicnJxYzI6R5tIYA0UkLFixgFHUcDgdbtmyhok4HqFQqnD59GsuXL2fMGryXqakp3n33XcyfPx/29vYdlyDRKoVCgcmTJ7dY1AFQd9MqFApIJBKIxWKIxWIUi0Sok8mgVCjA5fFgZGKC7nZ2sLW1ha2tLYRCIWOCgi7icrnYsmULBgwYgLvtIFKpFAsWLMDvv//OcnaEaKIWO6JzTp8+jZEjRzJi77zzDrZt28ZSRgRoLOgOHz6MiIgIXL58ucXjLCws8MEHH2DOnDmwtrbuwAxJe4iJiUH//v3ve0z//v2xZs0aJMXGoramBiq5HGYyGSwkEhjI5eCqVFByOGjg81EhFKLaxAQcPh/GpqbwDQqCv78/rKysOugdPZp33nkH//vf/xix06dPY8SIESxlREjzqLAjOqWhoQEBAQFISUlRx4RCITIyMqhIYIlCocD+/fsRERGBxMTEFo+zsbHBvHnz8N5779E4yE7k1q1b6N27d7PP2dnZYcjgwXDv0wc2hoZwzs2DvUQCi5oaGLQweQYAGng8VJiaolAoRK5zTzQIBOjt6orQoUN1tnW3pKQEbm5uKCsrU8e8vb0RFxcHAwMDFjMjhIkKO6JTNmzYoLFW1Lfffot3332XpYy6roaGBvz2229YuXIl0tPTWzzOwcEBCxcuxFtvvUU7gXRS3377LebMmaNe3oTH42Hw4MEIHTAANtXVcM7Mgq9CAZ5S+dDnVnC5yLexQZaLM6ptbDAgNBShoaE6udvIt99+i/fee48R27BhA+bMmcNSRoRoosKO6AyRSAR3d3dUVlaqY4GBgbh69arOj8PpTGpra/Hjjz9i9erVuHXrVovH9e7dGx9//DGmT59OSz90AcnJyXjzzTdx8+ZNhI0bB0crK7impcEhIwNclQp2dvbgtmEdQiWHg0xHR6S5ukLo5IixYWGws7PT4jtoO4VCgf79+yM+Pl4dMzc3R0ZGBmxtbdlLjJAmqLAjOmPGjBn4+eefGbELFy4gNDSUpYy6lpqaGnz33XdYu3YtCgsLWzzOw8MDixcvxosvvqiTrSqk/WRnZ2PXTz/B9PZteMTEQNDkS1hbC7u7KgUCxHh6QurggElTp+jcTOqoqCgMGTKEEZsxYwZ+/PFHljIihIkKO6IToqOjNQq4adOmaRR6RPvKy8vxzTffYP369YxFaO8VEBCA8PBwPPvsszQ7uQvKycnB/t27YZ2Ti+CkJJQXF0OhkAMADA0MYWNjo7VryblcXPb2gsTZGc+9+KLOFXfTp0/Hzp07GbHo6GgMGjSIpYwI+Q8VdoR1CoUCAwYMQFxcnDrWrVs3ZGRk6FxXTGdSXFyMDRs2YMuWLYzu73sNGjQIS5YsoT1cuzCRSITfd+6EZfYtDEpOBvfOn43aO3s4G7dDV7ySw8FFH2+U9+qNF6a9qlOfBSKRCG5uboy9j4OCgnDlyhUaNkJYR1+7Ceu2b9/OKOoA4IsvvtCpD/LO5Pbt25g3bx569eqFFStWtFjUjRw5EqdPn0ZUVBTGjh1LRV0XJZfL8c/BgxDcLkRISoq6qAMaC7r2KOoAgKtSISQ5BSaFt3Hk4EHI5fJ2uc6jsLOzw9KlSxmx2NhY/PDDD+wkREgT1GJHWFVaWgo3NzdIJBJ1zMvLC/Hx8bSEgJbdunULX331FXbs2IH6+voWjxs/fjzCw8Px2GOPdWB2RFedPXsWV/89jRGXL8O8yaLhHaVCIEDkYyEYOHIkHn/88Q6/fksaGhrg7++P1NRUdYyWZiK6gFrsCKuWLFnCKOoAYPPmzVTUaVFaWhqmT5+Ofv36Ydu2bc0WdRwOB1OmTEF8fDwOHTpERR0B0Ni6ezUqCh6ZmawUdQBgIZXCPSMTVy5cuO+kno5mYGCAzZs3M2ISiQSffvopSxkR0ogKO8Ka2NhYfPfdd4zY5MmT8cQTT7CUUecSHx+PKVOmwMvLCzt37oSimQVjeTwepk+fjpSUFOzZswf+/v4sZEp0VfSFCzArKYFrQQGrebgVFMCspARRFy6wmse9Ro4cicmTJzNi27ZtQ2xsLEsZEUKFHWGJUqnErFmz0HQkgEAgwNq1a1nMqnO4dOkSnnnmGQQGBmLfvn1obrSFoaEh3n33XWRmZuKnn36Ch4cHC5kSXVZWVobszEz0y8lljKtjA1elQt+cXGRnZDB2ftAFa9euhYmJifqxSqXCrFmzoHyExZoJ0QYq7AgrfvnlF1y8eJERCw8Ph7OzM0sZ6TeVSoUzZ85g5MiRGDRoEA4fPtzscQKBAB9++CGys7Px7bfftrhVFCEJCQkwkErhVFLCdioAgJ4lJeBLpffd1o4Nzs7OCA8PZ8QuXryIX3/9laWMSFdHkydIh6uoqIC7uzvEYrE61q9fP1y/fp12MHhIKpUKR44cQUREhEah3JS5uTlmz56NOXPmoHv37h2YIdFHCoUCWzduhGNcPHzvs/tIR0vq3QsFAQF4b84cnVpWpLa2Fj4+Prhx44Y6Zmtri4yMDJibm7OYGemKqMWOdLgvvviCUdQBjfstUlHXekqlEn/88QeCg4Mxfvz4Fos6a2trLF++HDk5OVi+fDkVdTru1q1beOqpp+Dm5gZXV1etD00oLy/H//73P/Xja9euYeHChQCApUuXYsuWLQAaJwHU1tTAvsnEpnW3biEsLhZPx1yDX3QUwuJiERYXi0vl5VrNEQD+KS7GUzHX8F5KCiNuX9qY170TrjrCrVu3EBoaCmNjY/V9usvY2BgbN25kxMRiMb744ouOTJEQAFTYkQ6WnJyMTZs2MWLjx4/HuHHjWMpIv8jlcvzyyy/w9vbG5MmTNdb/u8ve3h5ff/01cnJyEB4eDktLy45NlDw0lUqFSZMm4fXXX0dGRgZiYmKwf/9+7NmzR2vXuLew69+/P9asWaNxnFgshkouh2V1tTo2r1cvHAwMwvfePugnEOBgYBAOBgbhsTv/thRa7Pz5UyzGKlc3bPXyYsQtamqgkss1vhg2NzHoUbV0LnNzc6xbtw7z589v9vlx48Zh/PjxjNjGjRuRnJystdwIaQ0q7EiHUalUmD17NuOD09DQEBs2bGAvKT1RV1eH//3vf3Bzc8O0adOQlpbW7HEuLi749ttvcfPmTcybNw+mpqYdnCl5VKdOnYKlpSWmTJkCoLGQWLlyJdavX48ZM2aox01WV1ejV69eAIAbN25g6NChCAoKwmOPPaZeU+2nn37ClClTMHr0aPTr1w9ff/01gMZxrCkpKQgICEBERAQiIyPx/PPPa+QSExODH3/+GZNjYvDa9SQUtbDu4eXycrx2PQlz0lLxalIiquVyTEtKxMS4WEyIi8W1igr1cTOuJ2FmSgrGXLuGFTdvAmgsBhekp+HpmGsYHxuD/WIRvsvLQ0xlBRZlZmBLbg4kDQ14JzkZz8TG4LW4ONSJRBCLxZgxYwbmz5+P4cOHY/Xq1Rg+fDgWLFiAIUOGwM/PD7GxsRg3bhz69evHaGGLiIjAgAED4Ofnh23btgEAIiMjMWbMGEyZMgUjRoxo9r0KhUKEhITcdymmDRs2wNDQUP1YoVDggw8+aHYCEyHthXbwJh1m3759OHPmDCP20UcfoW/fvixlpPtqamrw/fffY+3atSi4z5IT7u7u+OSTT/DSSy/RGoB6KiUlBYGBgYxYYGAg0tLSWpy1bG9vj1OnTsHIyAjR0dFYvHgxDhw4AAC4fv06rl69ioaGBri7u2P27NmIiIhAeno6rl27BqCxoGnO2rVr8W5ICMbeLsTRkmJsyc3Bsn6uzR6bUFWFo0HBsDUyQoNSia2eXjDj83G7thaz0lLxZ0Dje0qprsax4GCY8fgYFxuDGQ4OkMgbkF9bh6PB/QEAVXI5uvH5OF9Whs/69oWbqSm+uJGF/hbmeMvJG/8UF2PnsWNwvbNQcV5eHs6cOQMOh4Pjx4/D1NQUFy5cQEREBKZOnYqrV69CqVTC29sbs2bNwrFjx1BUVISrV6+ivr4eQ4YMUbeyXb58GampqXBwcHiI3xpT3759sXDhQkRERKhjp0+fxh9//KGxLAoh7YUKO9IhampqNLownJ2d8cknn7CUkW6rqKjA1q1bsW7dOpTcZ1ain58fwsPD8dxzz+nUYHKiHQ/axq2urg7vv/8+EhMTweVyUXdn71agcY21uy22Dg4OGt2XLamqqkJGRgbWFxRgW309lCoVHI2MATS2QDU0NDBaoILMzWF7Z3ysCsCaW9mIqawEl8NBjkymPi6wmzmEBo2tWa4CUxTU1cHNVICi+josvZGFUUJrDLGy0sgnprIS73p5AwDG2thgacw11NfWAgCef/55xj0KCwsDAPj6+qJ///7qIQjdunVDWVkZTp48iUOHDuHs2bMAGv87uzvhITQ0tE1F3V2ffPIJdu7ciby8PHVs/vz5GDt2LLWgkw5BXbGkQ6xYsQL5+fmM2Lp16yAQCFjKSDeVlpbis88+g4uLCxYvXtxiURcSEoJDhw6pFyGmok7/eXp6aixsGxsbi/79+4PP56vXRWtavG3YsAG9e/dGUlISTpw4wXiu6WQkHo/X6nFoKpUK5t26YfW4cfjdwxO7+rkiws4OhSIRxEViSMokkMvlqLvTPWvC/e/PyKHiIkgVSvwVGIS/AwLRdCU3Q+5/BRiPAyhVKljwDXAoKBghFhbYUZCPVdk3H5gfh8OB4s6+sfd+ftx9z1wul/H+uVwuFAoFVCoVli5divj4eMTHxyM7OxvDhg1r9lyPytTUFOvWrWPE8vLysHLlSq2cn5AHocKOtLvMzEyN2X0jR47Es88+y1JGuqewsBALFiyAi4sLvvzyS1TcGZt0rxEjRuDUqVO4ePEixo8f/8AWHaI/Ro0ahbKyMuzduxcAUFlZiSVLlmDJkiVwcXFBfHw8AODPP/9Uv6ayshIODg7gcDj45ZdfHniNbt26oaqqihFraGjA2bNncenSJfz6668YNmwYOBwOom/eRHl5GSqqq5BZXQWV6r8yTQVAWlOjcf5quQI2hgbgczg4VlqCugcs0iu50/r3tE13vO/sjNRqzXMGm5vjcHExAOBYaQn62diAx3+0zqZRo0bhhx9+gOxOS2J6ejpq77T+adNzzz2HkSNHMmJr1qxBVlaW1q9FyL2oK5a0K5VKhTlz5jD2J+Xz+di0aRMVJQBycnKwevVq/PDDD4zWlnuNHTsW4eHhGDx4cAdmRzoSl8vFgQMH8O677yI8PBwFBQXYunUrhg8fDnd3d0yYMAFHjhzBmDFj1K9599138dxzz2HXrl0YNWrUfc+vUqlQXV0NW1tb2NrawtraGhKJBGKxGAcPHmQcO/7pp3E8NhaHy8qgUKkw1dISLk0mBQAAl8cD7incnunRHW8lJ+O5+DgEm1vA8gEFmLiuDh9nZkCpAvgcDhb36aNxzGxnF3yckYG/isSw4BvgpaeegqGx8X3P25KxY8fi+vXrGDhwIFQqFXr06IFDhw616rWVlZXw8vJCZWUleDwe1q5di1strPHH4XCwadMm+Pv7Q36ndbG+vh5z585tcfFwQrSFFigm7erQoUPqcS93zZ8/v8tvHZaRkYGVK1fi119/VX/w34vD4eDZZ5/F4sWLERQU1MEZErbt3r0bK1aswLlz52DVzNiz+6mvr0dqaqq6y/HuT3kr15x74oknMMbVFY+dOqXxHIfDhYmJCczNu4HL6fhOn5ODHoP7k09qtIjpogULFqhnJN916NAhjWVRCNEmKuxIu6mtrYW3tzdu3vxv3IydnR3S09O77GrsiYmJWLFiBfbu3dviEgg8Hg8vvfQSPvnkE3h6enZwhkTflJeXIyEhgVHAJScno6Gh4ZHP6e3tjeeffhrDjxyFCYcDAwM+DPgGMDAwYHU8ZwOPh8PDHsfYyZPh4+PDWh6tVVlZCXd3d4hEInWsT58+SE5OhvEjtjoS8iDUFUvazdq1axlFHdA4zqQrFnVXrlxBRESERpdXUwYGBnjttdewaNEi9GmmS4p0bSqVCjk5OYiPj2cUci11Bz4MAwMDeHt7IyAgAAEBAXB1dcX1a9dg1KsXhJWVbU9eSypMTcHh82Fra9tu10hKSsKrr77KiPXr1w9//PHHQ5/L3Nwcq1evxrRp09Sxmzdv4uuvv9bYX5YQbaEWO9IucnJy4OnpqR6kDDQuJ3D+/PkuM7ZOpVLh3LlzWL58OU4106V1l4mJCd5++20sWLAATk5OHZgh0VX19fVISUlhtMIlJCS0uiv1fiwtLdUF3N0fT09PjYV1aa9Y7VCpVBg6dCiioqLUMRMTE6SlpcHZ2ZnFzEhnRS12pF3Mnz+fUdRxuVxs2bKlSxR1KpUKx44dQ0REBOPD/F7dunXDrFmzMHfuXPTo0aMDMyS6pKysTKMrNSUlpU1dqXf16tVLo4hzdnZ+4H+HPB4PvkFBiC8thVduLngPmN3aERRcLnJ69kRQcLDeFHVA41jZLVu2IDg4WL1kjUwmw/z587Fv3z6WsyOdERV2ROtOnjyJ/fv3M2LvvvsuAgIC2EmogyiVSvz111+IiIjQWI+sKaFQiLlz52LWrFkPPSie6K+mXalNf3Jyctp8bgMDA/j4+DAKOD8/vzbtEezv74+rUVHIt7GBS1FRm3NsqzwbG8gFAvj5+bGdykMLCAjAu+++i61bt6pjf/zxB06dOvXA2cyEPCzqiiVaVV9fD39/f8ZeptbW1sjIyIBQKGQxs/Yjl8uxZ88erFixAikpKS0eZ2dnh/nz5+Pdd9+FmZlZB2ZIOlpzXanx8fEtrk/4MKysrDRa4Tw8PBhdqdryx969KLl0CSOuxYDbzn8qVCoVysrLoZDLYSIwgUBgCu6dlkUlh4Mz/YNhM2gQntfTrbkkEgnc3NxQWlqqjnl4eCAhIaFdfnek66IWO6JVmzZt0tigfuXKlZ2yqKurq8POnTuxatUqjUkiTTk7O2PRokV4/fXXaSZcJ9SeXam9e/fWKOJ69uzZYUMaQocOxa6sLGQ6OsL9np1jtK1UUqpe77KhsgFVlVUwMjaGiYkJcvr1RbWNDSYMGdKuObQnoVCIFStW4J133lHH0tLSsHnzZo3tFglpC2qxI1pTWFgINzc3VFdXq2P9+/fHpUuX9GpMzINIpVJs374da9as0dgmrSlXV1d88sknePnll+kbeSegUqlw69YtxmQGbXWlGhoaMmalaqMrVVvOnj2Lq/+exojLl2EulbbbdQpFIsbuFnfVmJvj6hNPoLi2FvPmzdPrGeMKhQIhISGIiYlRx7p164b09HTY29uzmBnpTKiwI1rz6quv4tdff2XELl26hJCQEJYy0q7Kykp8++23WLduHYruM+bI19cXixcvxuTJkztVQduV1NXVNTsrVVtdqYGBgQgICIC/v3+7dqVqg1wux887dkCRkoqhcXHgt9NEipLSEsYONQCg4PEQ//gwpMob8OMvv8DW1hZZWVkwMTFplxw6wqVLlzBo0CBG7NVXX8XOnTtZyoh0NlTYEa04f/48Hn/8cUbstddew44dO1jKSHskEgk2btyITZs23Xe5iQEDBmDJkiUYP348uFzahllfSCSSZrtSW9oR5GH06dNHoyvVyclJ72aHi0Qi/L7zF1jeysag68ntMt6utq4OEsl/48+UHA5SBg1CtpUVfvn9d/WXqbS0NLi7u2v9+h3p9ddfx48//siInT9/HkP0uKuZ6A4q7EibyeVyBAcHIzExUR2zsLBAenp6uy4k2t5EIhHWrVuHb7/9ltG9fK/HH38cS5YswahRo/TuD3ZXcm9X6t2f3NzcNp/b0NCw2VmpFhYWWshcN+Tk5GD/7t0Q5uYiJDlF6y13KgBikQhKlRIKHg+pISHItbbG7v37kZeXB6BxR4y4uDgYGBho9dodTSwWw93dndEC7O/vj5iYGGrlJ21GkydIm3333XeMog4Ali1bprdFXW5uLtasWYPt27ejtra2xeOeeuophIeH07dsHdRcV2p8fDwqtbCLglAobHZWqr4XGw/i4uKC5158EQf27MV5QyMEp6ZqdcwdB4CxiTGK+XykBffHbYEJ9jYp6jgcDhYvXtwp7rOtrS2++OILzJ07Vx1LSEjAd999h/fee4+9xEinQC12pE2Ki4vh5ubG6KL08fFBXFwc+Hz9+t6QmZmJVatWYefOnffthps0aRLCw8MRHBzcgdmRlkgkEo0JDdSV2n5EIhH+OXgQZfkF8MjMhGtBgVa6ZpUcDlJsbZHg3BMFEgkOHjmiMZZVIBDg6NGjGsM+9JFcLkdgYCCuX7+ujllZWSEjIwM2NjYsZkb0HRV2pE3efvttfP/994xYZGQkhg0bxlJGD+/69etYsWIF9uzZo14Z/l5cLhcvvPACPvnkE73YfLwzUqlUyM7O1miFu9ui0xaGhobw9fXV6Ertivsat4ZcLkdUVBSuRkXBrKQEfXNy0bOk5JF2qFBwucizscENF2dUWVvjRGQkzpw5A4VC0ezxpqamOHbsWKdoKY+MjMSIESMYsbfffhvfffcdSxmRzoAKO/LIrl69ipCQEDT9J/TCCy9g9+7dLGbVeteuXUNERAT++uuvFo8xMDDA9OnTsWjRIvTr16/jkuvi6urqkJycrDErVVtdqXdnpd79cXd37xRdfB3t9u3biI6KQnZGBvhSKVzy8mBfKoFFTQ0MWijMAKCBx0OFqSkKrYXI6dkTcoEAvd3cEDpkCH799Vd89NFHABqXDOrbty+OHTvGeL2ZmRmOHz+OwYMHt+v76wgvvvgifv/9d/VjDoeDK1euoH///ixmRfQZFXbkkSiVSgwaNAhXrlxRx0xNTZGWlqbzG9mfP38eEREROH78eIvHGBsb46233sLChQvRs2fPDsyu6yktLdWYlZqamqqVrtS+fftqdKU6Ojp26a7U9lBWVobExEQkxsSgtqYGKrkcZjIZzCVlMJTLwVUpoeRwUc/no1JohWoTE3D4fBibmsIvOBh+fn6M7fWioqJQWFiIcePGgcfjYcqUKfj7778Z1+zWrRtOnDiBxx57rKPfrlbl5+fDw8MDNTU16lhISAiio6Npdj15JFTYkUeyY8cOvPHGG4zYqlWrsGjRIpYyuj+VSoUTJ04gIiIC58+fb/E4MzMzvPfee5g3b57eTv7QVUqlstlZqdroSjUyMmp2Vip1pXYshUIBiUQCsVgMsViMYpEI9bW1UMjl4PH5MDQ2Rnc7O9ja2sLW1hZCobBVs0Dr6+vx/PPP49ChQ4y4ubk5Tp48iYEDB7bXW+oQX331FT7++GNGbMeOHXjttddYyojoMyrsyEMrLy+Hm5sbiouL1TE3NzckJibCyMiIxcw0KZVKHDx4EBEREbh27VqLx1lZWWHOnDmYPXt2p9z+rKPV1tY2u8CvNrpSra2tERgYqF7cl7pSu4a6ujo899xz+OeffxhxCwsLnDp1Sq+7Luvq6uDr64vMzEx1rHv37sjIyNCJ3UeIfqHCjjy0OXPmYNOmTYzYsWPH8OSTT7KUkSaFQoG9e/dixYoVjFln9+rRowfmz5+PmTNnolu3bh2YYedRWlqqUcBpqyu1X79+Gl2pDg4O1JXaRdXV1WHSpEk4evQoI25paYl///0XQUFBLGXWdseOHcPTTz/NiM2ZMwcbNmxgJyGit6iwIw8lMTERgYGBjNmjEyZMuO8EhI5UX1+PX375BatWrUJWVlaLxzk5OeGjjz7Cm2++qdfbE3UkpVLZ7KzU++2X21pGRkYas1J9fX2pK5VoqK2txcSJEzXGyFpZWeH06dMICAhgJzEtmDhxImMsIY/HQ1xcHHx9fVnMiugbKuxIq6lUKgwfPhznzp1Tx4yMjJCamorevXuzmBkgk8nwww8/YPXq1fcds9W3b198/PHHmDZtms7uzakLamtrm52VWlVV1eZz3+1KvXdWqr6te0jYI5PJMGHCBJw8eZIRt7a2xunTp+Hn58dSZm2TnZ0NT09P1NXVqWPDhg3DmTNnqJWatBoVdqTVdu/ejZdeeokR+/zzz7F06VJ2EgJQVVWFbdu24euvv4ZYLG7xOG9vbyxevBhTpkyhAuIeJSUlzc5KbWkdsYdBXamkvUilUjzzzDM4ffo0I25jY4MzZ87o7XqTS5cuxRdffMGI7d69Gy+88AJLGRF9Q4UdaZWqqip4eHjg9u3b6livXr2QkpLCSldmWVkZNm/ejA0bNqCsrKzF44KDgxEeHo4JEyZ0+aUD2rMr1djYWN2VendSg5+fH41bJO1KKpVi3LhxiIyMZMS7d++OM2fOwNvbm53E2kAmk8HT0xM5OTnqmIODA9LT02FmZsZiZkRfUGFHWmXRokVYvXo1I3bgwAFMnDixQ/MoKirCunXrsHXr1vt2Cw4ZMgTh4eF48sknu2TrUHt2pdrY2Gh0pbq5uVFLKGFFTU0Nxo4dyxgiAjROjIqMjISnpydLmT26AwcO4Nlnn2XEPv74Y6xcuZKljIg+ocKOPFB6ejp8fX3R0NCgjj355JM4evRohxVN+fn5WLNmDb7//nvIZLIWjxszZgzCw8M7xV6SrVVSUqLRCpeWlqaVrlRXV1eNrlR7e/suWSwT3VVdXY2nn34aFy5cYMTt7OwQGRkJd3d3ljJ7NCqVCk899RROnDihjhkYGOD69etwc3NjMTOiD6iwI/fV0gdMUlJSh3xY3rhxA1999RV++uknRmF5rwkTJiA8PBwDBgxo95zYolQqcfPmTY0irqCgoM3nbtqV2nRWKnWlEn1RVVWFp556CtHR0Yy4vb09IiMj9a4g0oUv1EQ/UWFHNPz1118IDw9Ht27dMHToUKxdu5bx/EcffYSvvvqqXXNISUnBihUrsHv3bsbSKk1xuVxMmTIFixcv7nTLAchksma7Uqurq9t87u7du2u0wlFXKukMKisr8eSTT+LSpUuMuIODA86ePat3+z03NwTmr7/+woQJE1jKiOgDKuwIQ3V1NXr06NFid6eDgwPS0tLarSUnNjYWERER+PPPP1s8hs/nY9q0afj444/h6uraLnl0pOLiYo1ZqdroSuVwOOqu1Ka7NFBXKunMKioqMGbMGMY+1kDj2pWRkZHo27cvS5k9PF2btEb0AxV2hOHKlSsICQlp8fnt27dr7BGrDVFRUYiIiNBYUb4pIyMjvPnmm1i4cCFcXFy0nkN7a++uVD8/P42uVJpFR7qi8vJyjB49WmMbwZ49e+Ls2bOsr7v5MH777Te8/PLLjNjSpUvx+eefs5QR0XVU2HVyzW3KXSeTQalQgMvjwcjEhLEp97Vr1zB27NgWz+fo6Ih///1XK+PrVCoV/v33Xyxfvhxnz55t8ThTU1PMnDkT8+bNg729fZuv2xFkMhmuX7/OKOASExO11pV676xUV1dX6kolpImysjKMGjUKsbGxjLiLiwsiIyPRq1cvdhJ7SCqVCsOGDcP58+fVMWNjY6SmpurNeyAdiwq7TqqsrAwJCQlIio1FbU0NVHI5zGQyWEgkMJDLwVWpoORw0MDno0IoRLWJCTh8PuQqFY79+y8SEhJQUVHR7Llffvll/Prrr4+cm0qlwqFDhxAREaHRXdKUpaUlPvjgA3zwwQewtrZ+5Ou1t+Li4mZnpbY0NrC1mnalNv2xs7OjrlRCWkEikWDkyJGIj49nxHv16oWzZ8/C2dmZncQeUnNbOU6aNOm+Q1ZI10WFXSdz+/ZtRF+4gOzMTBhIpXDOzYO9RAKLmhoY3GfMVgOPhwpTU+R0M0OWrS2kBgbIzM7GhehoiEQixrGvvvoqdu7c+dC5KRQK/PHHH4iIiEBSUlKLx3Xv3h3z5s3De++9p1N7hSqVSty4cUOjiGs6/uVRUVcqIe2jtLQUTzzxBBITExnxPn36IDIyEj179mQps4fzwQcfYPPmzYzYsWPH8OSTT7KUEdFVVNh1EnK5HFFRUbgaFQWzkhL0y8mFU0kJeA/ZalRZVYUKaQ1KnZyQ6+qKEjMzRF29iujoaCgUCjg7OyMyMvKhxqg0NDRg165dWLlyJTIyMlo8ztHREQsXLsRbb70FgUDwUHlrW3NdqQkJCaipqWnzuXv06IHAwEDGhAbqSiWk/RQXF+OJJ57A9evXGfG+ffvi7NmzcHR0ZCmz1isvL4ebmxuKi4vVMTc3NyQlJdG+14SBCrtOQCQS4Z+DB1GWXwCPzEy4FhSA+4i/1tLSUtTVN25AreRwcNvNDZkeHiiQSGBqYYEvv/yy1TNia2trsWPHDqxevZqxPc69evfujY8//hjTp0+HkZHRI+XdFkVFRc3OStVGV6qbm1uzXamEkI5VVFSEESNGICUlhRF3dXVFZGQkHBwcWMqs9Xbs2KExee2rr77CRx99xFJGRBdRYafncnJycGDPHghuFyI4NRXmUmmbzldcUoKGhnpGrM5KiBuDHkOdU09MmjpFPSM1Pz8fv/32G5ycnDB16lTweDwAjUumfPfdd1i7dq1GN25Tnp6eWLx4MV544YUOaa1SKpXIyspSt75psyvVxMSk2a5UU1NTLWROCNEGsViMESNGIDU1lRF3d3fHmTNndH5yllKpxKBBgxhjk83MzJCWlqYXrY6kY1Bhp8dycnKwf/duWOfkYmBKCvhtbGECAKlMhvLyMvVjgcAUFhYWUHC5uOztBYmzM5578UWoVCqEhISgqKgIQOM+hosWLcKWLVuwYcMGlJaWtniNwMBAhIeHY9KkSeByuW3Oudn3IZU2OytVm12p985KvVvYEkJ0l0gkwvDhw5Gens6Ie3h4IDIyEra2tixl1jpXr15FSEgImv7pfumll7Br1y4WsyK6hAo7PSUSifD7zp2wzL6FQcnJj9z12py6+nrU1spgYiKAoYGBOq7kcHDRxxtlvXrh4NGjiIyMVD/H5XIhEAjuu5zH4MGDER4ejqefflqrszqLioo0JjSkp6dTVyohpFm3b9/G8OHDkZmZyYh7eXnhzJkz6NGjB0uZtc5bb72F7du3M2Jnz57tUntkk5ZRYaeH5HI5ft6xA4qUVAyNi9NKS12rr83l4pS3FxJlMvz4yy+t2h1h5MiRWLJkCYYNG9amgq5pV2rTn8LCwkc+510CgaDZvVKpK5WQzqmgoADDhw9HVlYWI+7j44PTp0+je/fuLGX2YMXFxXBzc0N5ebk65uvri9jYWJqERaiw00dnz57F1X9PY8Tly20eU/ewpDIZCpQKXBkxAqevXmUsmnmvZ555BosXL8Zjjz328Ndpx65UOzs7jVa4fv36UVcqIV1Mfn4+hg0bhps3bzLivr6+OH36NGxsbFjK7MG++eYbzJo1ixHbtGkTZs+ezVJGRFdQYadnbt++jd9++gkeSdfhnp/fodeuq6+/M3ZOhXx3d1z38MBPv/2mMUFiypQpWLx4Mfz9/Vt1XrFYrDErVVtdqe7u7owCzt/fn7pSCSFqubm5GD58OLKzsxlxf39//Pvvvzq7OLpcLkdwcDBjfT4LCwtkZGTofFcyaV9U2OmZP/buRcmlSxhxLUar4+pao1AkgkrVWGwpORzEPvEELpaUYH+T1c+5XC5KS0thaWmp8XqFQsHoSr1bzGmrK/XeWak+Pj7UlUoIeaCcnBwMGzZMY1mmwMBAnDp1CkKhkKXM7u/8+fMa4+reeOMNjfF3pGuhwk6PlJWVYfvWrQiMjYPLndmoHUWpUkEkYhZgYhcXxAcGYuv27Yztx1auXIkPPvgASUlJGl2pUi10HVNXKiFE27KzszF8+HDk5uYy4sHBwTh58iSsrKxYyuz+XnnlFY0ZsZcvX8bAgQNZyoiwjQo7PRIZGYn4kyfx1IWoh95RQhtEYjGUyv8mSyi4XESPHYuTcXE4d+6cOm5lZYWKigrqSiWE6JWbN29i2LBhyL9nmMuAAQNw4sSJZnsi2Hb79m24u7szViTo378/Ll++3G7LSRHdRoWdnlAoFNi6cSMc4+Lhe+sWKzkolUpUVFaiob4ecoUCgArZvr5IcHTExq1b0ZZ/SgKBQL3F1t3/pa5UQkhHy8rKwvDhw1FQUMCIh4SE4MSJEzq1f/Vda9euxcKFCxmx77//Hm+++SZLGRE2UWGnw/h8Pnx8fAA0DpR9+bnnMPxaDGwqKx/42vzaWiRWVWHsnSn7l8vL8WvhbWz29AIAnCgpwebcXCigAgfAS/b2eNm+cUudGoUCgy5fwqLevdWxuyqrqlBdXQUAkCqV+Li0FKkyGfh8PmQyWavel729vUZXat++fakrlRCiEzIzMzFs2DCN8b+DBg3C8ePHW72tYkepr6+Hv78/0tLS1DFra2tkZGTo7PhA0n5owRsdZmlpifj4eADA9evXcWTfPljeZwHgpgpqa3G0pFhd2DWVUl2Ntbdu4QcfH/Q0NkatQoEjJSXq50+XlsLL1AxHios1CjuZ7L8xcnwOBzMsLHBq4EBcjovTKOy4XG6zXam6vrI7IaRrc3V1xZkzZzB8+HDGrP+LFy/i6aefxtGjR3WquDM0NMSmTZswZswYday0tBSfffYZtmzZwmJmhA3UAa8nxGIxZLdv49X4OEyMi8XkhHhk3ZmIkF5Tg4lxsQi781NaX4/1OTmILi9HWFws9ouZy5HsKMjHuz17oqexMQDAmMfDs02KrSMlxZjr4oKShgaI6+oYrzXg/7cThSGHgyBDQwjkcggEAsZx69atQ1VVFVJSUvDbb7/ho48+wpgxY6ioI4Tohbv7x977mRUVFYVx48bdd5cdNowePRrPPvssI/btt98iISGBpYwIW6iw02Hl5eXqlq6VK1agZ0MDfvbxxV+BQfikdx+suzPWbo+oEC/a2+NgYBD2+vmjG5+PD11cMNjSEgcDg/CcLXOyQZZUCs8Wxq5Vy+VIq6nBQAsLjLG2wfHSEsbzVkIhjI1NwOH890/HVCaDqYkJ4zgnJyeNYo8QQvSJh4cHTp8+rbEu3Pnz5zF+/HitLJiuTevWrYPxnS/sQOO46FmzZrVp/DPRP1TY6bC7XbHx8fF49cUXgbo6fJyZgXGxMfg8KxM37nSLBnYzx46CAnyXl4eihnoYPmAmlApocWuvk6WlGC4Ugsvh4GkbG0YXLQBwAAitrGBvZwfbHrawsLCEgUoFgybb2Dg6OmLUqFFteu+EEKILvLy88O+//2rsQnH27Fk888wzWlnCSVtcXFywePFiRuzChQv47bffWMqIsIEKOz2hVChwNCUFTkbGOBwYhB0+vqi/s5zIMz164H9e3jDicjE9KQnJD+gi6CcQIKWFY46WlOB4SQlGXL2C91NTkFRVBdE93bF38Xg8mAoEMOTzYe/ggNOnT+P3339HcnKyzq75RAghD+vu/rH37kJx5swZTJgwodUTxzrCwoUL0adPH0ZswYIFqGzFpDvSOVBhpye4PB6kDQ3oYWgIDoeDv5ssUJxbK4OzsTFmODpisKUVsqRSmPJ5qFEomj3X645O+C4/D/m1tQCAOqUSuwsLUSmXI6WmGucHhuDMgIE4M2AgXnd0wtF7Wu3upeJwwOVyMWLECEydOhUWFhbae+OEEKIDfH198e+//2rMMj116hQmTpyI2jufp2wzNjbGhg0bGDGRSIQvv/ySnYRIh6PCTk8YmZhguJcXdosKMTUhHjUKufq5I8UlGHdn4oSkoR6jra3hLjCFXKVqdvKEt5kZ5rn0wsyUZDwdcw3Px8cBAE6WlmCIpRV4TbppR1tb40hJcYt5jY2Nwc6r1xB57hycnJw09o0lhJDOwt/fH6dOndLokThx4gQmTZqkM8Xd+PHj8fTTTzNiGzZsYCyHQjovWsdOT/z7779IP34coy9eYjsVDScHPQb3J5/EyJEj2U6FEELaXUxMDEaNGoXy8nJGfOzYsfjzzz9hZGTETmJNZGZmwsfHB/X19erYqFGjcOLEiRbHWJPOgVrs9IStrS2qTUzQoGOL+DbweKg2MaFlTAghXUZwcDBOnDihMezkyJEjmDx5MqOYYourqyvmz5/PiJ06dQoHDhxgKSPSUaiw0xO2trbg8PmoYGGLrbKGBvUaeXd/pibEAwAqTE3B4fOpsCOEdCkDBgzA8ePHNbYYO3ToEKZMmaITxV14eDicnJwYsQ8//FCnZvIS7aPCTk8IhUIYm5qikIXtYawMDHAwMIjxs8c/AABQaN2YF21bQwjpakJCQnDs2DGYmZkx4n///TdeeOEFNDQ0sJRZI1NTU3z99deMWG5uLlatWsVSRqQjUGGnJ3g8HnyDgpDr3BOKB6xT11EUXC5yevaEX3Aw7fNKCOmSBg0ahGPHjsH0nt6UAwcO4KWXXmK9uJs8eTJGjBjBiK1evRo3b95kKSPS3nSjQiCt4u/vjwaBAPn3LJTZnOqaGohEIhQVF7fbB0uejQ3kAgH8/Pza5fyEEKIPQkNDcfToUY3i7o8//sArr7wCuVzewivbH4fDwaZNmxhfvuvq6vDhhx+ylhNpX1TY6RErKyv0dnVFloszlPeZ1VRbV4fKygooVUrI5Q3tsjClksPBDRdn9HZzo8WICSFd3tChQ/HPP/9obKW4d+9eTJs2jdXizsfHB7Nnz2bEDh48iCNHjrCUEWlPVNjpmdChQ1FtY4NMR8dmn1dBhYqKinbPI8PREdU2NggdMqTdr0UIIfpg2LBhOHz4MEzu2Tt79+7dmDFjBhQtLBrfEZYuXaqx5+2cOXNQ18LOQkR/UWGnZ+zt7TEgNBRprq6ovOebIQBUV9dAoWB+MzRp5ri2qBAIkO7mioFDhsDe3l6r5yaEEH02YsQIHDp0CMbGxoz4rl278Prrr7NW3FlYWGD16tWMWFZWFtatW8dKPqT9UGGnh0JDQ2Hl5IgYT0/Im0ykUCgUqK6uYhxraGCo8e2xLeRcLmK8PCF0dMTgwYO1dl5CCOksRo4cib///ltjoeKdO3fizTffhPLOPt8d7dVXX8WgQYMYseXLlyMvL4+VfEj7oMJOD/H5fIwLC4PUwQGXvb3U4+0qKyvB3EiEAwsLC2hrjXElh4PL3l6Q2TtgbFgY+Hy+ls5MCCGdy5gxY/DXX3/B0NCQEf/pp5/w9ttvs1LccblcbNmyhbHzhFQqxcKFCzs8F9J+qLDTU3Z2dpg0dQokzs646OMNqVwOWa2McYxAIICBgYFWrifncnHRxxsSZ2dMmjoFdnZ2WjkvIYR0Vk899RQOHDigUdz98MMPmDlzJivFXVBQEN5++21GbM+ePThz5kyH50LaB+0Vq+dycnLw55494Ny4AferVyG4MwOWy+GiR48e4GphzbsKgQAxXp6Q2Ttg0tQpcHFxafM5CSGkqzh8+DCeffZZjaWnZs6ciW+++abD924tLS2Fm5sbJBKJOubt7Y24uDitNQYQ9lCLnZ5zcXGBgstFckMDLo8YgXx3dyg5HHQzN29zUafkcJDm5ITIx0Jg4OmJF6a9SkUdIYQ8pPHjx2Pfvn0aw1e+/fZbzJ49Gx3dvmJtbY2IiAhGLDk5Gd98802H5kHaB7XY6TmRSAQ3NzdIpVIMHjwYoQMGoIdUCp+iYvQsKQHvEZr6FVwu8mxscMPFGdU2Nhg4ZAgGDx5MY+oIIaQNDhw4gClTpmisaTd79mxs3LixQ1vuFAoFBgwYgLi4OHXM3Nwc6enpNNRGz1Fhp+emT5+OnTt3qh/b2dlh6WefoVIiAV8qhUteHuxLJbCoqYHBfabZN/B4qDA1RaG1EDk9e0IuEKC3mxtCaUkTQgjRmv3792Pq1Kkay57MnTsX69at69DiLjo6GqGhoYzY9OnT8dNPP3VYDkT7qLDTY/f7j7KsrAyJiYlIjIlBbU0NVHI5zGQymEvKYCiXg6tSQsnhop7PR6XQCtUmJuDw+TA2NYVfcDD8/PxoRwlCCGkHe/fuxUsvvaRR3M2fPx9r1qzp0OLu3sYBoPFvy73LohD9QYWdnmptM7pCoYBEIoFYLIZYLEaxSIT62loo5HLw+HwYGhuju50dbG1tYWtrC6FQyNhTkBBCiPb9/vvvePnllzVmxn700UdYtWpVhxV3d4fzVFX9twZqUFAQrly5Qn8L9BQVdnpq27ZtmDlzJiO2fv16zJ07l52ECCGEPJRdu3Zh2rRpGsXdJ598goiIiA4r7tavX4958+YxYtu2bcM777zTIdcn2kWFnR6iqeqEENI5/PLLL5g+fbrGzNglS5Zg2bJlHVLcNTQ0ICAgACkpKeqYUChERkYGrK2t2/36RLtouRM9FB4ezijqAGDz5s1U1BFCiJ559dVXsWPHDo0Cbvny5fjiiy86JAcDAwNs3ryZEZNIJFiyZEmHXJ9oF7XY6ZmYmBgMGDCA8e1uypQp2LNnD4tZEUIIaYsdO3bgjTfe0IgvW7YMn376aYfkMGXKFOzbt0/9mMPh4Nq1awgKCuqQ6xPtoMJOjyiVSgwZMgQXL15UxwQCAdLS0tCzZ08WMyOEENJW33//vcZ2XwAQERGBxYsXt/v1c3Nz4enpCalUqo4NGjQIFy5c0MouRqRj0G9Kj/zyyy+Mog5oHIdBRR0hhOi/t956C9u2bdOIh4eH46uvvmr36zs7OyM8PJwRu3jxIn799dd2vzbRHmqx0xMVFRVwc3NDUVGROtavXz9cv34dRkZGLGZGCCFEm7Zu3Yr3339fI75mzRosWLCgXa9dV1cHHx8fZGVlqWO2trZIT0+HhYVFu16baAe12OmJpUuXMoo6ANi0aRMVdYQQ0sm89957GpMZAGDhwoVYv359u17byMgIGzduZMTEYnGHTeQgbUctdnrg+vXrCAgIYKxSHhYWhr///pvFrAghhLSnjRs3Nrs26YYNGzBnzpx2vXZYWBgOHTqkfszj8ZCQkABvb+92vS5pOyrsdJxKpcITTzyByMhIdczIyAgpKSno06cPe4kRQghpd+vWrcP8+fM14ps3b8asWbPa7bo3btyAt7c36urq1LEnnngCp06d6tAtz8jDo65YHbd3715GUQc0bjlDRR0hhHR+8+bNw+rVqzXis2fPxrfffttu1+3bty8WLlzIiJ0+fRp//PFHu12TaAe12Omw6upqeHp6Ij8/Xx1zdnZGamoqBAIBi5kRQgjpSKtWrcInn3yiEf/uu++aXSJFG6RSKTw9PZGbm6uOOTk5IS0tDaampu1yTdJ2fLYTIC1bsWIFo6gDGvf0o6KOEPL/9u48Lupq/x/4azaWGWQZ9h3EAURBRHIDVNwqNRNb9ab3l7dHi2nWzbx9K69mWlmaLWa3zPZSb5peS9NcwAVzCVBBdoRhJ3CGdYZlZs7vD3XyI4yyzDAwvJ+PxzweztuZzzkM6HlzPue8D+HSarVQKBSoqqpCVVUVqisr0aJWQ6fVgi8QwNrWFq4eHnB3d4e7uzukUmm/OuT+5ZdfhlarbXcaxFNPPQU+n48nnnjC6G2KxWK89957ePDBB/Wx0tJSvPnmm1i3bp3R2yPGQTN2fVRubi6GDx+OtrY2fWzatGk4dOgQrW8ghJDrlEolLl68iPTUVDQ3NYFpNLBTq+GgUECk0YDPGHQ8HtqEQtRJpWi0tQVPKISNRILwqCiMGDECTk5O5v4yOm3NmjVYtWoVJ8bj8bBt2zY8/vjjRm+PMYbp06fjyJEj+piVlRUyMjIgk8mM3h7pOUrs+iDGGGbMmIGDBw/qY0KhEOnp6QgNDTVjzwghpG8oLy/H6VOnUJiXB5FKBb/iEngqFHBoaoLopgoCt2oTCFAnkaBCKkWxny/axGIEymSIiYuDp6dnL34F3bdq1SqsWbOGE+PxePjyyy/x97//3ejtZWVlISIiAhqNRh+bMWMG9u/fb/S2SM9RYtcH7du3D/fffz8ntnz5crz77rtm6hEhhPQNGo0GycnJOJ+cDLuaGgyRF8OnpgYCna7L19Ly+Sh1cUG+vx8aXVxwV0wMYmJiIBT27VVKjDGsXLmy3e1QHo+Hb775Bo899pjR21y+fDk2btzIif3888+YNWuW0dsiPUOJXR+jVqsxbNgwFBYW6mOenp7Izs6Gvb29GXtGCCHmVVlZif379kFZWobQvDzIysrAN8IQpuPxkOftjWyZDFIfb8yYPRseHh5G6LHpMMbwyiuv4O233+bE+Xw+vv32W8yfP9+o7dXX1yMkJASVlZX62ODBg3H58mXY2NgYtS3SM1TupI/ZsGEDJ6kDrh0jQ0kdIWQgk8vl2PHNN9BmZiH+7FmElJYaJakDAD5jCCktRfzZs9BkZmHHN99CLpcb5dqmwuPx8Oabb7YrSaLT6bBgwQLs3LnTqO3Z29u3u2t05coVbNiwwajtkJ6jGbs+pKioCEOHDkVzc7M+FhsbixMnTtCGCULIgCWXy7F7+3Y4y4sxOjMTwm7cdu0sDZ+Ps8PCoPDzwwPz5sHf399kbRkDYwzLly/He++9x4kLBAJs374dDz30kFHbmjBhAk6dOqWP2draIisrq89/TgMJzdj1IS+++CInqePz+di8eTMldYSQAauyshJ7du6EVF6MsZcvmzSpAwChTodxGZchLS7Gnp3/5dx67It4PB42bNjQ7ogxrVaLefPm4aeffjJqWx999BH4/L9SB7Va3eHJGMR8KLHrI3777bd2/wCfeeYZjBgxwkw9IoQQ89JoNNi/bx/E5RUYk5lptFuvd8JnDGMuZ8K2ohwH9u3j7Abti3g8HjZt2oSlS5dy4lqtFo888gj27t1rtLYiIyPx9NNPc2K7d+/mlEMh5kW3YvuA1tZWREREICcnRx9zcXFBTk4OpFKpGXtGCCHmc/z4cZw/egzxZ8/CXqXq9fbrxGIkjR2D0VOmYMKECb3eflcxxrBkyRJs2bKFExeJRNi9ezfuu+8+o7SjUCgQHByMq1ev6mOhoaG4ePEirKysjNIG6T6asesDPvjgA05SBwBvvfUWJXWEkAGrvLwc55OTEZqXZ5akDgAcVCqE5Obh3KlTqKioMEsfuuLGrdKnnnqKE29ra8MDDzxgtLpzUqkUb731FieWnZ2Njz76yCjXJz1DM3ZmVl5ejpCQEDQ2Nupjd911F86cOcNZx0AIIQPJrv/+FzVnziD+j5ReuwXbER2Ph8ToUXAZNw4PGnEjginpdDo89dRT+PzzzzlxKysr7N27F/fee2+P29BqtRg7diz++OMPfczOzg65ubn9ptCzpaLMwcxWrFjBSeoAYPPmzZTUEUIGLKVSicK8PAyRF5s1qQOurbcLkhejMDcXSqXSrH3pLD6fj08//RSLFi3ixFtbW5GQkIBDhw71uA2BQIDNmzdzYo2NjVixYkWPr016hrIHMzpx4gS+//57TmzRokUYPXq0mXpECCHmd/HiRYhUKvjU1Ji7KwAA35oaCFUqXLp0ydxd6TQ+n4+tW7e2O2KspaUF999/Pw4fPtzjNsaMGdMuefzuu+845VBI76PEzkw0Gk27HUwODg7t1i0QQshAotVqkZ6aCr/ikm4dE2YKAp0O/iUluJSSAu1tzqHta/h8PrZt24YFCxZw4i0tLZg9ezaOHj3a4zbeeustODg4cGJLlizpV5+TpaHEzkz+85//tPvt74033oCbm5uZekQIIaa1Zs0aDB8+HOHh4YiOjm53yg5wbcdlc1MTFu3c0a02tpaWcJ4PPXUSs9NS9Y/WbiaLnlev9UuhUHDiv/zyC4YPHw4+n4+MjIxuXduUBAIBvvzyy3ZHjDU3N+O+++5DYmJij67v5uaGNWvWcGIXL17Ep59+2qPrku6jxM4MqqursXLlSk4sPDwczzzzjJl6RAghpnX69GkkJSXhwoULSE9Px969e+Ho6NjudVVVVWAaDXjdXFu3tbSU83yQUIh9I6P0D6turl92aGoC02hQVVXFiYeEhGDXrl19uhyKQCDA119/jUcffZQTV6vVmDVrFo4fP96j6y9evBjDhw/nxF599VVUV1f36LqkeyixM4NXXnkFtbW1nNjmzZshFArN0yFCCDGxyspKODk56f+f8/HxgZOTEw4cOICxY8ciMjISTz75JCoqKmCnVnPe+0lJMeZeSMN9qSnYflPZkc3FcsxMTcF9qan4prwM7xUVoUGjwey0VKwuyDfYlxmpKVBrtVBrtQhLPoW0+noAwOy0VDRoNGjSavFSTg7mXkjD3AtpSKmvg0irhZ1a3S6xk8lkCA0NNdbHZDJCoRDffvttuyPGVCoVZs6ciZMnT/bo2rdupKitrcWrr77a7WuS7qPErpedO3cO27Zt48TmzZvXp3/bI4SQnpo2bRpyc3MxdOhQLFu2DOfPn0dNTQ3ee+89/UyelZUVfv7f/+Bw0+3OE0oFrra24afIkdgdORK7qipR2dKCRMVVnKurw57Ikfg5KgqzXd3wz4AA/Qzd6qAhAKBP9GanpeLf+XkAgAi7QbjY0IALDQ0IEUuQUl+PhuunSwwSCrGlpBjTnJ3xU+RIbBkahtX5BQAAe4US1X38iLHbEQqF+P777/HAAw9w4k1NTZgxYwaSk5O7fe2JEydi3rx5nNjnn3/OKYdCegdNEfUinU6HJUuW4ObSgRKJBO+++64Ze0UIIaY3aNAgpKWlITExEUeOHMG0adPw9ddf49KlSxg7diyAa7cGI4YNg8jeXv++Uwoljiqu4kytEmAMjTodClUq/F5bhwfcPfS3Vh1Foo7bvZ7o3SzK3h4p9fVgYHjCxwf7q6sxRCzGyEGDAACnlbU4oVBgc0kxAKBW04ZWnQ5WGg3nPO/+SCQSYfv27Xj44Yc5R401Njbi3nvvxW+//ab/fnTVu+++i3379qGpqQnAXydhnD59mkp49SJK7HrRl19+ifPnz3Ni//73v+Ht7W2mHhFCSO8RCoWYNm0apk2bBhcXF7zwwguYOXMmXn/9deTn5yM/Px/lRUVoyS8AYwwVlRVoUjVhoYMD7r6edAGAUKNBT5b8R9nb460rV8DjAf/PyxvbKyqQUl+PUfbXdncyMHwaNgxeNjac9/GZDto+fm5sZ4hEIuzcuRMPPfQQ9u3bp483NDTg7rvvxuHDh7tVdsvb2xsrV67Eyy+/rI+dPXsWX3/9NR5//HGj9J3cGaXQvUSpVHJ+2AEgODgYzz//vHk6RAghvUSj0eDIkSP46quvsGXLFrzwwgv48MMP0djYiK+++gr+/v6YMmUKnnrqKWTl5KBNpwVjDIwxjLK1xYH6erRc381a3NqKptYWjLW3x+6qSv0u19q2NgCAgMeD9g4bL4JsbVHUrEaLTgc7oRCBYlv8788qRF2fKRzv6ITvb1rLl3W9iLyOx4fAQtZCW1lZ4ccff8SsWbM48fr6ekyfPr3bt1Cff/55BAcHc2L/+te/2q0rJ6ZjGT+h/cCqVatQc0uxzY8++ogOTCaEWITW1lYUFRXpZ95ufhQWFkLTyZmuuoYGaFxc9M/HSiQobG3F02VlYIzBSSDAO75+iHdxQZZKhTkX0iDk8fCQuwcWeHkhwc0ds1JTMMbRUb/O7lY8Hg8ysRje1tdm5KIG2SNRoYDP9Rm6Z/388EZBAWalpkDLGMY5OuLfdkPQKhTC6pZZvEOHDuEf//gHqqurMXXqVMTHx2P79u3d+Qh7nZWVFXbt2oW5c+fiwIED+nhdXR2mTZuGo0ePIioq6jZXaM/a2hoffvgh7rnnHn2suroaq1atwgcffGC0vhPD6KzYXnDp0iWMHDkSupvqJyUkJOCnn34yY68IIaRr1Go1rly50mHyVlxczPk/rrsmT56M6TIZxh45oo/xwINAKIRQKIRIJIJELDbLmq3D48Yi5O67MWXKlF5v25Sam5uRkJCAgwcPcuJOTk44evQoRo4c2eVrJiQkcNbw8fl8pKWlISIioqfdJXdAiZ2JMcYwceJEzlZyGxsbZGVlISAgwHwdI4SQDjQ2NqKgoKDD5K30lhpxxmRnZ4chQ4YgKioKg93dcc+Ro7Dm8SAUCsHn88EzWcud0yYQ4JeJEzDjoYfa1WyzBM3NzZg9e3a7o8akUimOHTuGESNGdOl6hYWFCAsL42w2mTBhApKSksDjmfu7adkosTOxH374AX/72984sdWrV2PVqlVm6hEhZKCrq6vrMHHLz89HpQnLeTg4OEAmk2HIkCHtHm5ubuDxeKiursZX//kPYs+chcv1+nJ9wVd1dfiy+k9InZ31tfgeffTRdmun+zO1Wo377ruv3VFjzs7OSExMRHh4eJeut3r1arz++uuc2Pbt29sVSibGRYmdCTU0NCAkJAQVNy3CDQgIQGZmJmxtbc3YM0KIJWOMQaFQGEzebl3va0wuLi4dJm5DhgyBVCq942yNVqvFlg8+gHfaBYQXFZmsn12VHhiAsshILF62DAKBwNzdMRmVSoVZs2a1O2rM1dUViYmJGDZsWKevpVarERYWhqKbvo9eXl7IycmBnZ2dsbpMbkGbJ0xo7dq1nKQOAN5//31K6gghPcYYQ1VVFfLz8zu8dWrKXYgeHh4dJm5BQUEdHhPWFQKBAOFRUbhw9SrCioshMMK6vZ7S8vmQ+/oiatQoi07qAEAsFuPnn3/GzJkzOUeNVVdXY/LkyUhMTERYWFinrmVra4tNmzYhISFBHysvL8fatWvx9ttvG73v5BqasTOR7OxsREREoO36FnwAuOeee3DgwAFaX0AI6RSdTofy8nKDM283CsGagq+vb4fJ2+DBg00+26JUKvH5li0YmZoG/z//NGlbnVHk5oYLUSPxxOLFcHJyMnd3ekVjYyNmzJjR7qgxd3d3JCUldfoYNcYY7r33Xhw6dEgfE4lESE9PR0hIiFH7TK6hxM4EGGP6Io83iEQiZGRktKvvQwgZ2LRaLUpKSjpM3AoKCkx20gGfz4e/v3+HyVtgYKDZ7yzs+u9/UXPmDOL/SAHfjMOUjsdDYvQouIwbhwdvOWfV0jU0NODee+9td9SYp6cnkpKSOj2e5eTkIDw8nDPRMX36dBw8eJAmOkyAEjsT2LNnD+bOncuJ/etf/6KpZ0IGqLa2Nsjl8g6TtytXrnAGPGMSCoUIDAzsMHkLCAjo03U0Kyoq8P2XXyI0PQMhJtyNeyfZPj7ICR+Ovz3+ODw9Pc3WD3Opr6/HPffcg99//50T9/LyQlJSEmQyWaeu8/LLL2P9+vWc2J49ezBnzhxjdZVcR4mdkalUKoSFhUEul+tjtFiUEMvX0tKCwsLCDpO3oqIiaLVak7RrZWWFoKCgDpM3Pz8//Q7O/uj48eM4f/QY4s+ehb1K1evt14nFSBo7BqOnTMGECRN6vf2+oq6uDtOnT8e5c+c4cW9vbxw/fhxBQUF3vEZjYyNCQkJQXl6uj9FmQtPov//i+6h33nmHk9QBwMaNGympI8QCqFSqDjcqFBQUoLi4GKb6PdnW1tbgTlNvb2+LXdAfExOD/JwcpNQPRVxaGoS9uJFCw+cjJWwopN7eGD9+fK+12xc5ODjg0KFDmDZtGueosbKyMsTHxyMpKQmDBw++7TXs7OywYcMGzJ8/Xx8rKirCO++8Q+W/jIxm7IzoypUrCAsLQ0tLiz42ceJEJCYm0joCQvqJ+vp6gwV6b55tMLZBgwZBJpN1OPvm6ek5YP8PqaysxI5vvoVjUSHGZVzulfV2Oh4Pvw8fhtqAQDy6cAE8PDxM3mZ/oFQqMXXqVKSmpnLifn5+OH78+B2L7jPGMGnSJJw4cUIfs7GxQWZmJgIDA03R5QGJEjsjmjNnDv73v//pnwsEAqSlpXW5qCMhxLSUSqXBnaZ/mnAXplQqNTjz5uLiMmCTtzuRy+XYvX07pMXFGHM506Qzdxo+H2eHhUHh54cH5s2Dv7+/ydrqjxQKBaZMmYILFy5w4gEBAUhKSrrj53Xp0iVERUVxlibMmTMHe/bsMUV3ByRK7Izk119/xYwZMzix5557jg49JsQMGGOoqakxmLwpFAqTte3m5mawxptUKjVZu5ZOLpdjz87/QlxejlFZWSZZc1cnFiMlbCjUnl5IeORhSuoMuHr1KqZMmYKLFy9y4oGBgTh+/Dh8fX1v+/5ly5bhww8/5MQOHjyIu+++2+h9HYgosTOClpYWhIeHIy8vTx9zdXVFbm5uj4t1EkI6xhhDRUWFwdum9SY8jsrLy8tg8mZvb2+ydge6yspK7N+3D8rSMoTm5UFWVmaUW7M6Hg+53t7ICZZB6u2NGbNn0+3XO6ipqcHkyZORnp7OiQcFBSEpKQk+Pj4G31tbW4vg4GBUV1frY8HBwUhPT+/TO7X7C0rsjGD9+vXtzgv84osv8Pjjj5upR4RYBp1Oh9LSUoM13lQm2inJ4/FuW6BXIpGYpF1yZxqNBsnJyTifnAy7mhoEyYvhW1PTrRMqtHw+SlxcUODvh0YXF4yOjcX48eP79U7i3lRdXY34+HhcvnyZE5fJZEhKSoKXl5fB937xxRf4xz/+wYmtX78eK1asMElfBxJK7HqotLQUoaGhnArwY8aMwenTp8Hn883YM0L6B41Gg+LiYoM13m7ejGRMAoHgtgV6bWxsTNIuMY7y8nKcTk5GYW4uhCoV/EtK4HlVAYemJohuU1qmTSBAnUSCCmcp5L6+0IjFCAwORkxs7ICsU9dTVVVViI+PR1ZWFiceHByMpKQkg5+pTqfDuHHjOCVUJBIJcnJy4O3tbdI+WzpK7Hpo3rx52LFjh/45j8fDuXPnEB0dbcZeEdK3tLa2oqioqMPkrbCwEBqNxiTtikQiDB48uMPkzd/fHyKRyCTtkt6jVCpx6dIlXEpJQXNTE5hGAzu1GvYKJaw0GvCZDjoeH61CIeqlTmi0tQVPKISNRIKIUaMQERExYI4JM5XKykrEx8cjOzubEw8NDUViYqLB29rnz5/HmDFjOGWC5s2bhx9++MGk/bV0lNj1QFJSEuLj4zmxJ598Ep9++qmZekSI+TQ3N+PKlSsdJm9yuRw6E+1ktLGxMVig19fX12JrvBEurVYLhUKBqqoqVFVVobqyEq3NzdBqNBAIhbCysYGrhwfc3d3h7u4OqVRKPxtGVFFRgUmTJiE3N5cTDwsLw7Fjx+Du7t7h+5588kls3bqVE0tKSsLEiRNN1ldLR4ldN2k0GowcORIZGRn6mJOTE3Jzc+Hi4mLGnhFiOo2Nje02K9x4XlpaarICvRKJxGCZEC8vL1r2QEgfUFZWhkmTJiE/P58THzZsGI4dOwY3N7d276mpqUFwcDCUSqU+Fh4ejtTUVFrr2E2U2HXThx9+iGXLlnFiH3/8MRYvXmymHhFiHHV1dQbLhFRWVpqsXXt7e8hksg6TN3d3d6rxRkg/UFpaikmTJqGgoIATDw8Px7Fjxzqc+Pj444+xZMkSTuzDDz/E0qVLTdpXS0WJXTdUVVUhODiYU04hMjISf/zxB03tkz6PMQaFQmEweaupqTFZ287OzgZn3pydnSl5I8QClJSUYOLEiSgsLOTEIyIicOzYMTg7O3PiGo0G0dHRnLp4Dg4OyM3N7XCWj9weJXbdsGjRInz55Zec2KlTpxATE2OmHhHCxRjDn3/+aTB5q62tNVnbHh4eHdZ3CwoKokXqhAwQcrkckyZNQlFRESceGRmJo0ePtivWferUKcTFxXFiixYtwrZt20zdVYtDiV0XnTlzBuPGjePEFixYgG+++cZMPSIDlU6nQ0VFhcHkrbGx0WRt+/j4GKzxNmjQIJO1SwjpP4qKijBx4kQUFxdz4lFRUThy5Ei7X/QWLFiA7777jhM7c+YMxowZY/K+WhJK7LpAq9VizJgxSElJ0ccGDRqEnJwcqn9ETEKr1aKkpKTdRoUbf1ar1SZpl8/nw8/Pz2DyZmtra5J2CSGW5cqVK5g0aRJKSko48ejoaBw+fJhzOlNFRQWCg4M5v5RGR0fj7NmztEGqCyix64KtW7fiySef5MQ2bNiAF1980Uw9Ipagra0NcrncYI231tZWk7QrEAgQGBjYYfIWEBAAa2trk7RLCBlYCgoKMHHiRJSVlXHio0ePxm+//QYHBwd9bOPGjVi+fDnndVu3bsUTTzzRK321BJTYdZJCoUBwcDCuXr2qjw0dOhQXL16kIqfkjlpaWlBYWNhh8lZUVATtbSrl94SVlVW7Ar1BQUGQyWTw8/Ojn11CSK/Iy8vDpEmTUF5ezomPHTsWhw4d0p+x3NraihEjRnCKHTs7OyM3N7fdujzSMUrsOunZZ5/Fli1bOLHDhw9j6tSpZuoR6WtUKpXBAr3FxcUmq/Fma2vbLnG78WcfHx/aqU0I6RNycnIQHx+PiooKTnz8+PE4ePCgfn3u4cOHMX36dM5rnn32WWzevLnX+tqfUWJnQF5eHj744APY29tjwoQJmDlzJqdy/oMPPogff/zRjD0k5tDQ0NCuQO+Nx623GYzJzs7OYI03T09PKhNCCOkXsrOzMWnSJFRVVXHisbGx+PXXX2FnZwfg2hi7e/du/d/z+Xzs378fJ0+eRF1dHZYtWwaZTNarfe8vKLHrQFtbGwICAvRTxnw+n5PU2draIjs7G35+fubqIjEhpVLZbqPCjcet/xkZk6Ojo8HkzdXVlZI3QohFyMrKwqRJk/Dnn39y4hMmTMCBAwcgkUggl8sxdOhQzgaxm8dib29vFBUV0ekUHaDErgMpKSmIjo42+PdvvPEGXnvttV7sETEmxhhqamoMlglRKBQma9vV1dVggV5aP0IIGSguX76M+Ph4VFdXc+Lx8fH45ZdfIBaLsXbtWqxcudLgNVJSUhAVFWXqrvY7AyLV7ehw6Ba1GjqtFnyBANa2tpzDoW/9LeJW58+fR1NTEyQSSS99BaSrGGOorKw0mLzdfGqIsXl6enaYuAUFBXF2fxFCyEA1bNgwHD16FJMnT+acdpOYmIjZs2djx44dOH/+/G2vUV1d3eXxXSqVWvy6Y4uesVMqlbh48SLSU1PR3NQEptHATq2Gg0IBkUYDPmPQ8XhoEwpRJ5Wi0dYWPKEQGsZw8OhRXLx4EXV1dR1e+8UXX8SGDRt6+SsiN9PpdCgrKzOYvKlUKpO0y+Px4Ovra7DGGyX8hBDSORcvXsTkyZPb3Snx9/eHXC43+D4HBwe88cYbQFtbl8Z3G4kE4VFRGDFihMWehGORiV15eTlOnzqFwrw8iFQq+BWXwFOhgENTE0S3KSvRJhCgTiKBfJAd8t3doRKJkFdYiFOnT7c7/PyBBx7Arl27TP2lDHgajYZToPfmR0FBAVpaWkzSLp/PR0BAQIfJW2BgIGxsbEzSLiGEDDQXLlzA5MmToVQq7/haDw8PxI4fD1lgIJz4fARVVHZpfK+QSlHs54s2sRiBMhli4uIs7oABi0rsNBoNkpOTcT45GXY1NRgiL4ZPTQ0EN2186IyGhgbUqppw1ccHxTIZauzskHz+PE6fPg2tVguRSISDBw9i8uTJJvpKBpa2tjYUFRUZLNDb1tZmknZFIpHBAr3+/v6wsrIySbuEEEK4UlNTMWXKFIPnWAsEAowfPx4xd90Fl8ZG+OXlIaCuDo7irt8h0fL5KHVxQb6/HxpdXHBXTAxiYmIsZiOGxSR2lZWV2L9vH5SlZQjNy4OsrAz8bn5pCoUCzS3NAAAdj4fy4GDkhYaiTKFA7pUr2LRpEy3Y7KLm5mZ9jbdbd5vK5XKTFei1trbm1HW7+eHr62sx/5AJIaS/++OPPzB16tR2S6Dc3Nwwe+ZMeDs5QZadDa/cXPAZg42NDaRO3d90puPxkOftjWyZDFIfb8yYPRseHh49/TLMziISO7lcjj07d0JcXoFRWVmw7+Haqj+rq6HRcGeJVPb2KBg3Dm3+/pj7yCPw9/fvURuWqKmpyWCNt9LSUpMV6JVIJB0W5x0yZAi8vb3pjEFCCOknzp07h2nTpuk3uPn5+eHhOXPgqVJhaEoKxDdtfBMKRXBzde1xm/ViMVKGDoXKywsJjzzc78f3fp/YyeVy7N6+Hc7yYozOzISwi7ddO1JXX4+mpr8OIRYKRddKUYhEODssDAo/Pzwwb16//+Z3R319vcHNCrdWEzcme3t7gzXe3N3dqcYbIYRYiDNnzmD69OlwcnLCo3Pnwq/mKoaeOwuhjoGxv8Z4icQODtePIuspDZ9vMeN7v07sKisrseObb+BYWIRxly93+9ZrR+rq6tDS2goba2sMsrfHjbRBx+Ph9+HDUBsQiEcXLrCIadtbKRQKg8nbrTWHjMnZ2dlgjTdnZ2dK3gghZIA4dOgQjv76K/wVSoT9flo/vgsFQoDHg5WVFRyNXD7KUsb3fpvYaTQafP3FF9BmZiEuLc0oM3WdbpvPx4mokRANHYqFixb1u3VajDFUV1cbTN46szOpu9zd3Q3WeLPUreeEEEI678b43pqRgdDfDoN/y9IoGxtbODk5wRS/6vf38R3oxwWKk5OToSwtQ3xWVq8mdQAg1OkwKjMLSfb2OH36NCZMmNCr7XeGTqdDRUWFwTVvDQ0NJmvb29vbYPJ245BnQgghpCP68T0nF9YODlAornLWaDc3q1GrBBxNkNz1h/H9TvplYldeXo7zyckIzcvr8UaJ7nJQqRCSm4dz1taQyWRmqYOj1WpRWlpqsMbbzWfsGROPx4O/v7/BGm9isdgk7RJCCLFs7cZ3KytIpc5QXL0Khr+SO3WzGtZqa4htjT/e9IXxvSf6ZWJ3+tQp2NXUQFZWZtZ+BJeVoczTA8mnTuHBhx4ySRsajQZyubzD5O3KlStobW01SbsCgcBgjbeAgABYW1ubpF1CCCEDV0fju7WVFaTOUiiuKjjJXWtrG8S2pulHb4zvptLvEjulUonCvDyMlBcbdbNEd/AZQ5C8GBecnZGfn4833ngDv/76K2JjY/HFF1/A0dGxU9dpbW1FYWFhh8lbUVERNBqNSfpvZWWFwYMHd5i8+fn5QSQSmaRdQggh5Fa3G9+trawhlUqhUCqu35blmfQEoJvHd6VS2a/WgPe7xO7ixYsQqVTwuenQYHPyranBhYYGLF26FAcPHgQA7NmzB+Hh4Xj99df1r1Or1foCvbc+iouLoTPROkFbW1uDBXp9fHws/jBkQggh/cOdxndra2u4ubmjubkZIpEIViaefPCtqUGGSoVLly5h4sSJJm3LmPpVYqfVapGemgq/4pIuHxNmCjrGUK9QwDUnB6FBQTjE4+kXeP7www8oLy/nFOg1FTs7O4M13jw9PalMCCGEkD6ts+O7gM+HpJfWcQt0OviXlOBSSgpiY2P7zURItxI7FxcX1PRwxmzGjBnYvXs3bG07vkH+zjvvYMWKFQCuLaZ86aWX8P7776O5qQmeCkW71w89dRIyiQQaxuBrbYN3Q0Jgb8Jtymq1GrV1dWBMB2lFBSRBQXB2dtZ/LjcSOmNxdHSETCYDj8dDfn4+FAoFDh8+jIiICLi6ulLyRgghpEMlJSVYunQp0tPTYW1tjZEjR2Lz5s0d3l5cvXo1XFxcsGTJEpP1R6fTYeXKldi5cycAICoqCm+88YbB8f1O4s+fwy9RoyC5nnh9W14OZVsbnrtNkeGfqqow0ckJztfPBH/s0iVUt7XC+vpJRWMdHPDK4CB4XlWgoKkJCoUCrkY45QIAAgICkJGRATs7O6Nc71Zmm7E7cODAbf/+5sTOy8sL33//PTIyMsA0Gjg2NrZ7/SChEPtGXju/dXlODr6vKMczvn496qOWMQg6SJhUajVqa/+q9SaprYWQx4O7u3uPEl5XV1eDBXql0mvn4aWnp8POzg7x8fEYO3asyX4wCCGE9H+MMSQkJOC5557D3r17AQC//fabWdeNvf/++8jMzERmZiasrKzw7rvv4umnn8a9EyZ0OL6bwk9VVRhuZ6dP7ADgo9ChCJZIOK9zaGoC02hQVVVltMSuK7RabZdnCo2W2P32229YsWIFNBoNpk+fjo0bN4LH4+GTTz7Bpk2b4OvrC1dXV8TGxmLJkiX6jBUAHnzwQZRd3wGzYcMGnDhxArW1tYiMjERMTAxeeuklPPjgg1i/fj1sGxvxZl4uztXVgQcelvj54W4XF05fRtnbI/v6kWA1ra1YmZ+PqtYWWPH5WDdEhiCxGIVqFV7MyYGAx0PUIHucr6/DT5Ej8aFcjpq2VsjVzRgiFmOBlxdWF+Sjrk0DR5EQ64NDwGtqwo+1tdhXXw8Rj4fhNjYY39C5H0ahUAiRSARXV1ckJCQgKCgIa9euRUJCAk6ePInGxkYsXrwYbm5u+vfU1taitrYWwLVzURlj0Gg0KCwshOSWH0JCCCHkhuTkZAiFQsTGxuLKlSsAgCFDhqC5uRkJCQnIzMyEjY0N1q1bh7CwMH2B+itXrmD+/PlYtWoVQkJCkJOTg9dffx0//PADPvjgA5SXl6OiogJyuRxr1qzBkSNHcPbsWQwfPhzvvfceACA6Ohpz587FyZMn4ezsjM8++wxisRjvvPMOfvzxR/0SpYSEBGzcuBETBg/GuZoafFpWClu+AAVqFSY5OeFfAYEQ8Pk4rlTi45JitOh0iLAbhDVDhoB/h7tVxc1qvJKbhzpNG7xtbPC2LBjn6uqQ0diApdlZGCQQYldkpMH3P56WBge1Ctt27IBIJMLOnTsxbNgw1NfX45lnnkF6ejr4fD62bNmCcePG4YUXXsCRI0cgFAqxYcMGTJ06FU1NTXjsscdQWFiI0aNHc2ryrVu3Dnv37kVLSwsWL16Mp59+GklJSXjzzTfh6OiIyspKnDhxomvfdNYNzs7OnOcqlYr5+fmxwsJCptVq2cyZM9nu3btZaWkpCwoKYrW1tayxsZEFBwezjz76iDHGmL+/P2toaGC7du1i8+fPZ4wxptPpWF1dXbs2CgsL2ahRo9j2775jC8eNY/e7urHsmFiWGxvHzo8dy3Jj45ijUMhyY+NYVkwsm+7szD4NG8ZyY+PYTBdX9lNkJMuNjWO7RkSyOEcnlhsbxyY4ObGPhw5lubFx7GkfXzbczo7lxsaxJb5+LGqQPcsYH8NyY+PYeEdHlhh9F8uNjWMfhIayRz082LnwCDaIz2e/BgaypKAg9ktAAPt03jzm4ODAANCDHvSgBz3oQY8uPHy8vdniuDi2ycuL2fP5bG9AADs8eDDzFonYTj8/9r/AwWz0oEEs/frY/DdPT/ZeSAjLjY1j3tbWLEQsZqESCQuVSJi7lRVb4uvHcmPj2CQnKXs/JJTlxsax5QEBbIGnF8uNjWOj7R3YLyOjWG5snP55oK2t/hr/FzhYH58TOZJt/+47tm3bNrZo0SLGGGMvvvgie+WVVxhjjGk0GlZXV8d+/PFHNnPmTKbVallhYSHz9/dnarWarV+/ni1dupQxxtj+/fsZANbQ0MB+/fVX9txzzzHGGGtpaWF33XUXKykpYYmJicze3p6VlZV1J0VjRpmxy8nJQUhICAICAgAA8+fPx8mTJ8Hn8zFlyhQ4XD/PbdasWe3eGx4ejhdeeAErVqxAQkICxo0bZ7CdFrUaWWVleMHDQ5+lOwiv7Ypp0GgwOy0VlS0tkInFiLs+xXymrhYF6vZFjC83NmKq1BkAMNPVFaduurU6xVkKKz4fjRoNUuvr8UxWJoBrmyW8rW3A4/EQam2NdX/+iUkSCWIlEghbW+Hh5oa6urqufnyEEELIgMbn8yG4XtprmI0NHK/ffgy0skKVRoPG1lbkNqnw0MULAIAWnQ7uVn/VU90xIrLdGjsASG9swKdhYQCA+13d8GTmZYN96OhWLACM8fFGa3MzRkVH4/vvvwcAHDt2DPv27QNwre6rvb09Tp06hfnz54PP5yMgIADBwcHIycnB6dOn9UvLZsyYob8FfvjwYfz88884fvw4gGtn1BcUFAAAYmJi4OXl1dWPEYCJ1tgxxsC7aYfozfFbBQcHIy0tDfv378eyZcuwcOFCg4s2dVqtweNDbqyxU2u1eDwjAz9UlGOhlzcAYE/kyA7Xyun7dctzG/5f97NdRFb6tXs31Dc04G1PT1xQq3GyqQn/ravDyyNHIm7cOOTk5RlshxBCCCHtKZVKeIWGAgBEN43XfABaXBunx0kkeH/EiC4dI3bza9ktzzvLiseDVqOBQCCAVqvt9PtuzoU62uDIGMPq1auxcOFCTjwpKalHJzjxu/3Om4SEhCA3NxdyuRw6nQ47duxAXFwc7rrrLhw7dgz19fVQqVQdbpgoLy+HRCLBwoULsWzZMly4cAEAOvwA+QIBhnt6YmdlJXTXk8S6Ww4HthUI8OrgwfiirAwaxjDawQE7KisAXJtxy2lqAgCE2dnh2PXdNwdrqjv8uuyEQkhFIiRdf12bTod8lQoSOzsoAIwSi7HYxQWVbW3QAlDSbB0hhBDSZY4ODnCztzf49+G2YlxsaUZlSwsAQNnWpv/z7Qy3G4RDV69tavyluhrR9tfuIEoEAjR1MknT8fgQ3FJlY+rUqfjkk08AXNvgUF9fj9jYWOzYsQM6nU5/YlRwcDBiYmL0O4APHjyoX8c4depUbNu2TX/8Z05ODpqbmzvVp9vp1oydUqmEj4+P/vmmTZvw2Wef4f7779dvnpgzZw54PB6ef/55REdHw8/PDyNHjoT9Ld+49PR0LF++HAKBALa2tti2bRsA4O9//zvCw8MRHx+Pl156CQBgbWuLiWFhOFJcgllpqRAY2DwRPmgQgsUSHKqpwcrBQfh3fj52VFRAwxjmuLkjRCLBK4GDsTwnB/8pLcFd9g6wM7DrZGNICP6dn4+NRUXQguEJbx/429jgreoaNGjaoNXp8LhUCp21Nc7essDx4MGDOHHiBJydnfHMM88gNTUVy5YtQ0tLCyIiIrB582bY2NggNDQUf/zxB+zs7HDgwAHs3bsXn332WYf9+eqrr7B27VpUVVXBzc0Njz76KNatW9e1byAhhJABo6SkBC+88AKys7NhbW2NyMhIrF27Fq+++ioyMjJgbW2Njz76SB+/MWZlZmZi4cKFcHBwwJgxY5CSkoJDhw5xXtPY2Ijo6GhkZ2cDAJYuXYrJkycjISEBvr6+KCkpAQB88sknuHr1Kl577TVotVqsXr0aP/30E3g8HiIiInD31KmwSkuDs1QK25YWeHpcO5/VtrYWzlIpQh2dsEZsi8WZmdAwHYQ8PtbKZPC4w/GWrwUNxv/l5uLj4mJ4WdtgfXAwAGCuuztezsvlbJ5Ymp2lL3cSIpbg3ZAQAECbQACrW065WLlyJZ5++mmEh4dDIBDgk08+wdy5c3Hq1ClERERAKBRi69atsLGxwbPPPovHHnsMkZGRmDhxIvz8rlXsmDFjBjIyMvQbKtzc3PDzzz/3+PvNYx3dHzWipqYmSCQSqNVqTJgwAV988QXCw8O7da2jR48i59AhTPv9TI/7pdZqYcPng8fj4fPSUtS0teLlwMHdulZrWysORkfjQFYWjh07BuBaheyKiop+dQwJIYQQYg7GHN+N7fC4sQi5+25MmTLF3F3pFJPXsXvttdeQmJiI5uZmLFy4sNtJHQC4u7sjxdYWbQIBRF24z92RSw0NWFd4BTrG4G5tjXevZ/HdwbOxhdbZGc8++yy8vLxQXV2N5cuXU1JHCCGEdIIxx3djahMI0GhrC3d3d3N3pdNMntht2rTJaNdyd3cHTyhEnUQCl/r6Hl1rjKNju00R3VUnkYAnFCIuLg5z5841yjXXrVuHH3/8kRP75z//2W6RJSGEENLfGXN8N6Yb47u5Erv09HQsWLAAAPR7EO6kX50VK5VKYSORoEIq7VPf+Arna/26cTqEMbz66qt49dVXjXY9QgghpK8aSON7V4SHh3c6obvBKLtie4tAIEB4VBSK/Xyh5feNrmv5fMh9fRExalS/OSCYEEII6UtofDeevvHpdcGIESPQJhaj9JadsOZS4uICjViMiIgIc3eFEEII6bdofDeOfpfYOTk5IVAmQ76/H3R3OCPO1HQ8Hgr8/RAYHEwbJQghhJAeoPHdOPpdYgcAMXFxaHRxQZ63t1n7kevtjUYXF8TExpq1H4QQQogloPG95/plYufp6Ym7YmKQLZOhvgfHbvREnViMnGAZRsfGwtPT0yx9IIQQQiwJje891y8TO+DaAblOPt5IGToUml5eaKnh85ESNhRSb2+MHz++V9smhBBCLBmN7z3TbxM7oVCImbNnQ+XlhbPDwnrtfryOx8PZYWFQe3phxuzZEAr7VcUYQgghpE+j8b1n+m1iBwAeHh5IeORhKPz88PvwYSbP7DV8Pn4fPgwKPz8kPPIwPDw8TNoeIYQQMhDR+N59Jj8rtjfI5XLs2flfiMvLMSorC/YqldHbqBOLkRI2FGpPLyQ88jD8/f2N3gYhhBBC/kLje9dZRGIHAJWVldi/bx+UpWUIzcuDrKwMfCN8aToeD7ne3sgJlkHq7Y0Zs2f360yeEEII6U9ofO8ai0nsAECj0SA5ORnnk5NhV1ODIHkxfGtqINDpunwtLZ+PEhcXFPj7odHFBaNjYzF+/Ph+e8+dEEII6a9ofO88i0rsbigvL8fp5GQU5uZCqFLBv6QEnlcVcGhqgkirNfi+NoEAdRIJKpylkPv6QiMWIzA4GDH9dMszIYQQYklofL8zi0zsblAqlbh06RIupaSguakJTKOBnVoNe4USVhoN+EwHHY+PVqEQ9VInNNragicUwkYiQcSoUYiIiOh3FacJIYQQS0fju2EWndjdoNVqoVAoUFVVhaqqKlRXVqK1uRlajQYCoRBWNjZw9fCAu7s73N3dIZVK+9WBv4QQQshARON7ewMisSOEEEIIGQj6dR07QgghhBDyF0rsCCGEEEIsBCV2hBBCCCEWghI7QgghhBALQYkdIYQQQoiFoMSOEEIIIcRCUGJHCCGEEGIhKLEjhBBCCLEQlNgRQgghhFgISuwIIYQQQiwEJXaEEEIIIRaCEjtCCCGEEAtBiR0hhBBCiIWgxI4QQgghxEJQYkcIIYQQYiEosSOEEEIIsRCU2BFCCCGEWAhK7AghhBBCLAQldoQQQgghFoISO0IIIYQQC0GJHSGEEEKIhaDEjhBCCCHEQlBiRwghhBBiISixI4QQQgixEJTYEUIIIYRYCErsCCGEEEIsBCV2hBBCCCEW4v8DADVbMOUt1qQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+lUlEQVR4nOzdeVhV5fbA8e8ZQCZlEAVEcQQHZnBK1JyyrhZpmla/LAewbLrNZubYdJtHSy+oZZPaYGpqXW9qBjgyqqigMqgIikwyc4bfH+q5HkEEBc4B1+d5ep72u/c5ex1ehMXae69Xodfr9QghhBBCiGZPaeoAhBBCCCFEw5DETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihZDETgghhBCihVCbOgAhhBANQ6vVkpeXR05ODjk5OZzLzqairAydVotSpaKVtTXtXF1xcXHBxcUFJycnVCqVqcMWQjQghV6v15s6CCGEEDcuPz+fxMREDsTFUV5Sgl6jwa6sDPu8PCw0GpR6PTqFgiq1mkInJ4qtrVGo1VjZ2uIbFIS/vz+Ojo6m/hhCiAYgiZ0QQjRTWVlZxERFkZaaikVpKR6ZJ3HLy8O+pAQLrfaar6tSqSi0teWMkxOZHp2osrGhq6cnIUOG4Obm1oSfQAjR0CSxE0KIZkaj0RAdHc2+6GjscnPpkZFJx9xcVDpdvd9Lq1RyytmZY509KHZ2pl9ICCEhIajVcqeOEM2RJHZCCNGMZGdns2nDBvJPnaZXaiqep0+jbIAf4zqFglR3d454euLU0Z0xoaG4uro2QMRCiKYkiZ0QQjQTGRkZrFuzBpusMwQfPkyb0tIGP0eRjQ2xvXtT2qED4ydPonPnzg1+DiFE45HETgghmoGMjAx+/uEH2mZk0j85GfUNXHatK41SyR7vPuR5eDDhwQcl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2rZt28SRiYZWUFBA165dKSgoMIyNHz+eX375xXRBiSYhl2KFMCMbN2402s7JyUGj11Nib28Y02iqKCwqarQYbGrpG1dZWUFBQT4nKioo12gM987djPPnzxMQEGD036BBg276fUV1np6ebN++nSVLlmBrW/2y/TfffEOfPn34+eefTRCdaEgODg688MILRmPr1q0jLi7ORBGJpiKJnRBmxNPT02j7/PnzlJSXk9+hg9G4vhHXjbWzs8PR0QlLy2v3ljvv5kp+YSG33347/fr149///jdFN5hstm3b1ujp4ISEBGJiYm40fHEdSqWSJ554goMHD3LHHXdU23/27FkmTpzI/fff3yAriwjTeeaZZ3BycjIaW7hwoWmCEU1GEjshTEyv1xMVFcXUqVP59ttvq+2LO3CAkx4eaA3tSxS0btOmUWOytrLCuW1b2rdrj52tHcor2pxolUpOde5M3IED6PV69u/fz2OPPUaHDh2YMWMGu3fvRu7wMH9dunThjz/+YPny5dhfURG+7KeffqJPnz589913Mp/NVJs2bYxu7YCLVwUu99sULZPcYyeEieTm5rJq1SoiIyM5fPja/eTs7e15IiyMwLg4XE6ewtnZGYtanpRtDHqgvLyc0tJSMl1dSQgM4IvIyGs+Tenj40NYWBhTpkypVjEQ5icrK4vHH3+82q0Al919990sXboUd3f3Jo5M3Kzi4mK6du1K7qXlBgHuuusutmzZYsKoRGOSip0QTUin0/Hf//6XyZMn06FDB1544YVakzqAwsJCUtPSyPT0xLFt2yZP6gAUXKziObZtS66fL5Y2NkZNUK928OBBnn32WTp06MD//d//sX37dqn6mLEOHTqwfv16vv/++xofnPjtt9/o06cPkZGRMo/NjJ2dHbNnzzYa+/333+V2hxZMKnZCNIGsrCy++uorli9fzokTJ2o9VqVSodfr0V1xH12HDh14Mjwcv6Mp9Dx1qrHDvaYjHTty1NeH/5s2jXbt2vH7778TERHBpk2b0Gq1tb62R48ehIWFMXXqVFxcXJooYlFfZ8+e5emnn2bt2rU17h81ahQRERF06dKlaQMTN6y0tJRu3boZ3TM5atQotm7dasKoRGORip0QjUSj0fDbb79x77334uHhwdy5c2tN6jw9PXn33Xc5ffo0M2fONNq3cOFCQoYP54inJ0UmWoqr0MaGo16e9B88GDc3N9RqNXfffTfr168nMzOTN998k65dqzc8vuzYsWO88sordOzYkQkTJrBly5brJoOi6bVv3541a9bw888/15iA//e//8XHx4fPP//c6I8PYb5sbGx45ZVXjMb++9//XrPtjWjepGInRANLT09n+fLlrFy5ktOnT9d6bKtWrZg4cSLh4eEMHTrU0JuuuLiY1157jSNHjjBjxgzuv/9+NBoNX69YgTb5MEPi41E34S9VjVLJzqBALHr35pHp040aFV9Jp9Oxfft2IiIiWLduHZWVlbW+r4eHB9OnT2fatGl4eHg0RujiJuTl5fHcc8+xatWqGvcPGTKEyMhIvLxqXp1EmI+ysjJ69OhBVlaWYWzYsGFs377dhFGJxiCJnRANoLKykvXr1xMZGcnWrVuvex+Sr68v4eHhPPzwwzg6Otb5PNnZ2axe9Q0O6WncdvAQyib456tTKNjl401Bl6488MgUXF1d6/S6yw+HREREcOTIkVqPVSgU3HXXXYSHh3P33XdjYWHREKGLBrJlyxZmzpzJqRpuA7CysuL111/nueeeu+7awcK0lixZwlNPPWU0tm3bNoYPH26iiERjkMROiJtw9OhRIiMj+frrrzl37lytx9ra2vLggw8SHh5Ov379bnjliIyMDH7+4QecMjMZcCi5USt3GqWSPd59yPPwYMKDD9K5c+d6v4derycmJoaIiAjWrl1LWVlZrce7uLgwdepUwsLC6NGjx42GLhpYUVERL7/8MsuWLatxf//+/VmxYgXe3t5NHJmoq4qKCnr06GGUoIeEhPD333832ko2oulJYidEPZWVlfHTTz8RERHB33//fd3j+/XrR3h4OA888IDRwtw3IyMjg3Vr1mKTlUXw4cO0KS1tkPe9UqGNDbF9elPm1oHxkyfdUFJ3tYKCAn744QciIiKIj4+/7vHDhw8nLCyM++67Dysrq5s+v7h527ZtIywsjLS0tGr7LCwsmDdvHq+88opUXc3UsmXLePzxx43G/vjjD0aPHm2iiERDk8ROiDpKTEwkIiKCb7/99pr92y5zcHDg4YcfJiwsDH9//0aJJzs7m00bNpB/6jS9UlPxPH26QS7N6hQKUtzdOerliZO7O2NCQ+t8+bU+YmNjiYyM5LvvvuPChQu1Huvk5MSUKVMIDw+XipAZKCkpYe7cuXz66ac13nbg7+/P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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAADAzklEQVR4nOzdd1xV9RsH8M8drAuy5YIgiIqKbFBRwW1qDtyzBBw5smxpZY7MNHM0zPJn5gI1R6aGmjMnoIjsoYILkCV42fOO8/tDu3lkqhfOBZ736+XrFc/9nnOei0jP/U4ewzAMCCGEEEJIk8fnOgFCCCGEEKIaVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTVNgRQgghhDQTQq4TIIQQVZLL5ZBIJMjOzkZ2djZysrJQUVYGhVwOvkAALR0dtDY3h1gshlgshrGxMQQCAddpE0KISvAYhmG4ToIQQl5XXl4eYmJiEBcZifKSEjAyGfTKymAgkUBDJgOfYaDg8SAVClFgbIxiHR3whEJo6+rCyd0dLi4uMDIy4vptEELIa6HCjhDSpGVkZCA0OBgPkpOhUVoK69Q0WEgkMCgpgYZcXuN1UoEABbq6yDQ2Rqp1W0hFItja2cGrTx9YWFg04jsghBDVocKOENIkyWQyhISEIDwkBHq5ueiYkgqr3FwIFIqXvpecz8cjU1PctbFGsakpunt5wcvLC0IhzVYhhDQtVNgRQpqcrKwsnAwKQt6jdHRJToZdejr4KvhVpuDxkGxpidt2djC2ssRwHx+Ym5urIGNCCGkcVNgRQpqUlJQUHD14EKKMTHjcugX90lKVP6NQJEKEvT1K27TB2MmTYGNjo/JnEEJIQ6DCjhDSZKSkpODP/fthkpKKHomJEL7CsGt9yfh8hDl0hcTaGuOnTqXijhDSJNA+doSQJiErKwtHDx6EcUoqeiYkNGhRBwBChQK94hNgnJqKowcPISsrq0GfRwghqkCFHSFE7clkMpwMCoIoIxOeiYkqmU9XH3yGgWdCInQyM/B3UBBkMlmjPJcQQl4VFXaEELUXEhKCvEfp8Lh1q8F76l4kVCjgkXgLkvR0hIaGNuqzCSHkZVFhRwhRaxkZGQgPCUGX5OQGWShRHwalpeiclIwbwcHIzMzkJAdCCKkPKuwIIWotNDgYerm5sEtP5zSPTunp0MvNRUhwMKd5EEJIbaiwI4Sorby8PDxITkbHlNRGm1dXEz7DoENKKh4kJSEvL4/TXAghpCZU2BFC1FZMTAw0SkthlZvLdSoAgLa5uRCWliI2NpbrVAghpFpU2BFC1JJcLkdcZCSsU9Ne6ZiwhiBQKGCTlobYiAjIazmHlhBCuEKFHSFELUkkEpSXlMBCIuE6FRaLJ0/zkqhZXoQQAlBhRwh5wcOHDzFs2DB06tQJdnZ22Lhxo0rvn5+fj23btim/vnnzJhYvXgwAWLlyJX7++WcAQHZ2NhiZDIbFxcq23z98CJ+oSLwZcRPOoSHwiYqET1QkrufnqzRHADiZk4NhETfxbmIiK25QUgJGJkN2drbKn1mXc+fOwd3dHU5OTujduzfi4uIaPQdCiHoTcp0AIUR9MAyDsWPHYsmSJZg0aRIKCwsxdOhQtG3bFpMnT1bJM/4t7ObMmQMA6NatG7p161alXXZ2NvTKylj71n3crh0+btcOj8rLsfD2LRxxdWNdI2cYCHg8leR5JDsb39p1gqu+PiuuIZdDr6wM2dnZcHR0/O/ZcjkEAoFKnl3TvVq3bo2///4b5ubmOH/+PBYsWIArV66o5JmEkOaBCjtCiNL58+dhaGiISZMmAQD09fWxdu1afP755zh16hQmTJiAkSNHori4GI6Ojnj48CHu3bsHf39/lJSUQFNTE7t27YK9vT12796Nv//+++nK1gcPMH/+fHzyySdYunQpEhMT4erqiokTJ8LLyws///wzDh8+zMolNjoaO/ftw5aCQhhqCLGuU2eYaWpWyTksPx9bH6VBXyhETmUltnV1wLu3ElEok4EBsLx9B3QzMEBYfj7+9ygNOnwB7pWWor+xMb5o3x5yhsFnSXeQUFwMAY+HGZaWyK2UIqKwAJ8lJ2FU69aYZtEGS5KSkFFRDgOhBqa0aYOcrCz4+/vDxMQEERERGDp0KM6cOYNu3brh+vXrKCwsxO7du7F8+XLcuXMHH374Id577z0AwJo1a3Ds2DFUVFTg3Xffxbx583Dp0iV88803MDQ0RFZWVrUFm6urq/K/3d3dkc7xFjCEEPVDhR0hRCkxMRFubuxeMDc3N9y+fRtdunSp9hoLCwucP38eWlpaCA0NxRdffIGjR48CAOLj4xEeHg6pVIrOnTvj/fffx5o1a3Dnzh3cvHkTAHDp0qVq77tjxw7M79ULQ7If41RuDn5OTcGqjnbVto0pKsIpdw+ItbQgVSiwxb4r9IRCZJSX473nevYSi4tx2sMDegIhRkRGwL9NG0hkUjwqr8Apj6e9hkUyGVoJhbial4cVHTqgk64uvrp3F90M9PGOlQNO5uRgb2goFg55AwCQlpaGixcvgsfj4cyZM9DV1UVwcDDWrFmDyZMnIzw8HAqFAg4ODnjvvfdw+vRpPH78GOHh4aisrIS3tzdGjhwJAAgLC8OtW7fQpk2bOv+udu/ejSFDhtTZjhDSslBhRwipFa+Ooc2KigosWLAAsbGx4PP5qKioUL42aNAg6OrqAgDatGlT73lpRUVFSL57FxuysvBzZSUUDANLLe0a27vr60OspQUAYABsePgAEYWF4PN4SCkrU7Zza6UPY42nvX52Il2kV1Sgk64IjysrsPLeXQw2NoG3kVGV+0cUFmJeVwcAwHBTU6xMeQj5s3NjJ0yYwPoe+fj4AACcnJzQrVs3GBoaAgBatWqFvLw8nDt3DsePH8fly5cBAAUFBbh37x4AwMvLq15F3fXr17Ft2zaEhITU2ZYQ0rJQYUcIUbK3t1f2tv0rMjIS3bp1g1AohOLZfLfni7cff/wRtra22LdvH7Kzs9GzZ0/la1rPii0AEAgE9d4ihGEYGBgYYP2IEXC7d7/O9jr8/9aBHc95jFK5Asfc3CEA4Hztv/NdNfn/FWACHqBgGBgINXDc3QNX8iTYmf4Iwfl5+Ny2fa3P4/F4EAif/voUiUSs1/59z3w+n/X++Xw+5HI5GIbBypUr4evry7ru0qVLVe5VnQcPHsDX1xdHjx6FiYlJne0JIS0LrYolhCgNHjwYeXl5OHToEACgsLAQy5Ytw7Jly2BjY4Po6GgAwJEjR5TXFBYWok2bNuDxeNizZ0+dz2jVqhWKiopqbaOvrw99AwOEPzuXVapQ4G49z4ktlslhqqkBIY+H009yUVHHHngSqRQMw+BN09ZYYG2NW8UlVdp46OvjRE4OAOD0k1y0b90amto19yDWZvDgwdixYwfKnvUk3rlzB+Xl5fW6Nj8/H6NHj8Yvv/wCBweHV3o+IaR5o8KOEKLE5/Nx9OhRbN++HXZ2djA3N8fs2bPRv39/zJ49GydOnEDPnj2RlpamvGbevHn43//+h969e9dZsAGAiYmJcsuONWvW1NhuxYoVOH77NkZFRmJ0dBRi63FvABhl1ho3CgowPjoKUYVFMBTWPjCRXVGBt+JiMSoyEqvv3cd71tZV2rxvbYOwggKMiozAvoxMjBk2DK3NzeuVz4uGDx+OESNGoEePHnB0dMT8+fPr3ZP5888/48GDB1i8eDFcXV3h6en5SjkQQpovHsNwfAAjIURt7d+/H9988w2uXLkCo2rmnjWk+Ph4/P3HHxh5+Qo01OiUB6lAgBP9+mL4xIms7U4IIUQdUI8dIaRGU6dORVxcXKMXdQAgFovBEwpR8Gzxhboo0NUFTyiEWCzmOhVCCKmCFk8QQtSSsbExtHV1kWlsDNPCQq7TUco0eZqXsbFxgz0jLi4O06dPZ8U6duxYZa8/Qgh5ERV2hBC1JBAI4OTujugnT9A1NRWCOhZBNAY5n4+Utm3h7uGhslMmquPk5KRcqEIIIS+DhmIJIWrLxcUFUpEIj0xNG+T+hUVFyMjMxOOcHEif7UtXmzRTU8hEIjg7OzdIPoQQ8rqosCOEqC0jIyPY2tnhro01FCo6A/ZfUpkMxcVFABjIZFJIJBIoallLpuDxcM/GGradOnEy55AQQuqDCjtCiFrz6tMHxaamSLa0bNDnyOUyFNYyly/J0hLFpqbw8vZu0DwIIeR1UGFHCFFrFhYW6O7lhdt2dih84WQGBkBFZSUUzMvPv9MQCqGpqcWKlZaWoPy5UzX+VSAS4U4nO/Tw9oaFhcVLP4sQQhoLFXaEELXn5eUFIytLRNjbQ/bs+LDSsjJkZWbiyZNcZGVlo6yepzc8z9DQEDwe+9dgfn4+a0hWxucjoqs9jC0t0bt379d7I4QQ0sCosCOEqD2hUIgRPj4obdMG17p0xmPJE+Tn54HBvwUYg6Kil98SRSgQQF9fnxVTKOQoKCh4+t88HsIcuqLMog2G+/hAWMcpFoQQwjUq7AghTUJlZSXi7tzGHZEI0R4ekFfZbuTVFlfoikTQ0mKf+1pWVoqSykpcc3SAxNoaYydPgvkrHiFGCCGNiY4UI4SovX/++Qc+Pj4oLS2FtbU1Jo4ZgzalpbCPiIDo2YIHXZEuDAwMXun+coUcjx/ngHk2V69EXx93unUH094W46dOhY2NjcreCyGENCQq7Aghaq9v3764evWq8mszMzP4jBgBSyMj2N2+jTZJSTDWN4DohcUVL6O0rAySgnxkdOqE5C5dkC6RoEwqxZ49e8BT8VYrhBDSUGjCCCFE7bVq1Yr19ePHj7ErMBC9e/dGRffuyLKyQtesbNjm57/SCRVyPh+PbWyQIO6ObB0dhISHIzQ0FHK5HCNHjsSUKVNU9VYIIaRBUY8dIUTtJScnY8CAAUhPT6/ymrm5Obx690Z3V1dolpfDJi0NFk8kMCgpgYZcXuM9pQIBCnR1kWlijJS2bSETiWBhbY3Va9bgzp07ynZGRkZISEigbU4IIU0CFXaEELXHMAyGDRuGs2fPVvu6UChEVlYW4uPjERsRgfKSEjAyGfTKyqAvyYOmTAY+o4CCx0elUIhCYyMU6+iAJxRCW1cXzh4ecHZ2hpGREf744w9MmjSJdf+RI0ciKCiIhmQJIWqPCjtCiNrbtWsXZs6cWePr3bt3x40bNwAAcrkcEokE2dnZyM7ORk5WFirLyyGXySAQCqGprY3W5uYQi8UQi8UwNjaG4IUVtlOmTMHBgwdZsZ07d2LGjBmqf3OEEKJCVNgRQtRaamoqHB0dUVRUpIy1bt0agwYNwp9//glDQ0McPnwYffv2Vdkznzx5AgcHB2RnZytj+vr6iIuLg7W1tcqeQwghqkaFHSFEbSkUCgwdOhTnz59nxYOCgjBq1CiUlpZCR0enQYZIjx8/Dh8fH1Zs8ODBOHv2LA3JEkLUFm1QTAhRW1u3bq1S1Pn7+2PUqFEAAJFI1GBF1qhRo+Dv78+KnT9/Hlu3bm2Q5xFCiCpQjx0hRC3du3cPzs7OKC0tVcasrKwQHx//yhsRv6yCggI4Ojri0aNHyphIJEJsbCw6dOjQKDkQQsjLoB47Qojakcvl8Pf3ZxV1ALBjx45GK+oAwMDAADt27GDFSktLMWPGDMhr2UqFEEK4QoUdIUTtbNq0CcHBwazYvHnzMGTIkEbPZciQIZg3bx4rdvXqVWzatKnRcyGEkLrQUCwhRK3cunULbm5uqKioUMZsbW0RGxsLPT09TnIqLi6Gs7MzHjx4oIxpaWkhKioK9vb2nORECCHVoR47QojakMlk8PPzYxV1PB4Pu3fv5qyoAwA9PT3s3r2btVCjoqICfn5+kMlknOVFCCEvosKOEKI21q1bh/DwcFbsww8/VOkeda+qb9+++PDDD1mx8PBwrF+/npuECCGkGjQUSwhRCzExMejevTukUqky1rlzZ0RFRUFHR4fDzP5TVlYGNzc31lmyGhoaCA8Ph4uLC4eZEULIU9RjRwjhXGVlJXx9fVlFHZ/PR0BAgNoUdQCgo6ODgIAA8Pn//eqUSqXw8/NDZWUlh5kRQshTVNgRQjj39ddfIzY2lhX77LPP4OnpyVFGNfP09MRnn33GisXExODrr7/mKCNCCPkPDcUSQl6LXC6HRCJBdnY2srOzkZOVhYqyMijkcvAFAmjp6KC1uTnEYjHEYjGMjY0hEAiU19+4cQO9e/dm7Qvn5OSE8PBwaGlpcfGW6lRRUYHu3bsjLi5OGRMIBLh27Rq6d+/OYWaEkJaOCjtCyCvJy8tDTEwM4iIjUV5SAkYmg15ZGQwkEmjIZOAzDBQ8HqRCIQqMjVGsowOeUAhtXV04ubvDxcUF2tracHd3x+3bt5X3FQqFCA8Ph6urK3dvrh6io6PRvXt31qpYe3t7REZGQltbm8PMCCEtmZDrBAghTUtGRgZCg4PxIDkZGqWlsE5Ng4VEAoOSEmjUchqDVCBAga4uMo2NEf3kCcJDQlBQUoL8/HxWuxUrVqh9UQcArq6uWLFiBVasWKGM3bp1C8uXL8eGDRs4zIwQ0pJRjx0hpF5kMhlCQkIQHhICvdxcdExJhVVuLgQKxUvfS87n44GhIRLNxcjV00NIeDhCQ0Ph6uqKa9euQUNDowHegepJpVL06tULERERyhiPx8OVK1fg7e3NYWaEkJaKCjtCSJ2ysrJwMigIeY/S0SU5GXbp6eC/xq8OBcMgJycHUoUcGZ06IblLF2Tk58Nv5kx4eXmpMPOGl5CQAA8PD9amyh06dEBMTAx0dXU5zIwQ0hLRqlhCSK1SUlJwIDAQ8sRbGBAWhs6PHr1WUQcARYWFkMufzsOzunMHnhcvwllbG+EhoUhJSVFR5o3DwcGhyorYe/fuVVk5SwghjYF67AghNUpJScGf+/fDJCUVPRITIXyFYdcXVVRU4InkCSumqaEJAzMz3HDoCom1NcZPnQobG5vXflZjkcvl6Nu3L0JDQ1nx8+fPY9CgQRxlRQhpiaiwI4RUKysrCwcCA2H44CF6JSS8di8d8GwI9vFjyBX/LbLggYfWZmYQCgRQ8Hi45uiA/Ha2mOI7Hebm5q/9zMaSnJwMFxcXlJWVKWPW1taIi4uDvr4+h5kRQloSGoolhFQhk8lwMigIooxMeCYmqqSoA4DCggJWUQcA+vr6ED7b147PMPBMSIROZgb+DgpibSWi7uzs7KqcG5uamoqPP/6Yo4wIIS0RFXaEkCpCQkKQ9ygdHrduqWT4FXg6XFlaVsqKaWpqQfTCAgOhQgGPxFuQpKdXGdpUd++++y4GDBjAiu3YsQMnT57kKCNCSEtDhR0hhCUjIwPhISHokpwM/dLSui+oJ9kLe9zxeHwYGhqCV01bg9JSdE5Kxo3gYGRmZqosh4bG5/Oxc+dOtGrVihV/5513IJFIOMqKENKSUGFHCGEJDQ6GXm4u7NLTVXpfTU1NaGo+PSKMBx4MDQ2VQ7DV6ZSeDr3cXIQEB6s0j4bWrl07fP/996xYZmYm3n//fY4yIoS0JFTYEUKU8vLy8CA5GR1TUlU2r+5fPAAmJiYwNW0NM7EYOnUcu8VnGHRIScWDpCTk5eWpNJeGNmvWLLz55pus2O+//44///yTo4wIIS0FFXaEEKWYmBholJbCKje3Qe7PA6CpoQEBv36/etrm5kJYWorY2NgGyaeh8Hg8bN++HYaGhqz4vHnz8PjxY26SIoS0CFTYEUIAPF3cEBcZCevUtFc6JqwhCBQK2KSlITYiAvJazqFVR23atMHPP//MiuXm5mL+/PmgXaYIIQ2FCjtCCABAIpGgvKQEFmo2yd/iydO8muLig2nTpmHs2LGs2JEjR/D7779zlBEhpLmjwo4QNdOvXz9cuXKFFZs/fz62bt1a57U3b97E4sWLX+m52dnZYGQyGBYX19l2ZnwcfKIi0S/8BnqGXYdPVCR8oiJxp6QE46KjXun5NTEoKcHKtWuRnZ1d72vatWuH4mreh7+/P06cOFHjdWPHjoWRkREmTJjwSrm+iMfjYevWrTA1NWXF33vvPWRkZKjkGYQQ8jwq7AhRM5MmTcKhQ4eUX8vlcgQFBWH8+PG1XieXy9GtWzds2LDhlZ6bnZ0NvbKyeu1bt9PRCUFu7vjA2gZjzMwQ5OaOIDd36NayypWV60sMRWrI5eA9y6+hLVy4EIGBgSq9p5mZWZWiPD8/H7Nnz6YhWUKIylFhR4iamTBhAo4dOwbFswLr8uXL6NSpEyZPngx3d3e4ubkh+NkWIJcuXcKQIUMwadIkDBgwAJcuXVL2Nl2/fh29e/eGm5sbBg4cqNwPbuXKlZg9ezb69u2L9u3b48CBAwCAnKwsXPjnH4yIjMCoyEgEZjzd7uSSRIKJMdHwiYrEsuRkKOooRqQKBp8m3cGwiJv44PYtZfEyIPwGfk5NweSYaIQV5OPP7CyMj47CqMgIbEp5CAAokcsxKz4eIyMjMDIyAlefrYblKRT44fvv4eTkhEGDBqGkpAQAEBkZiR49esDZ2Rm+vr4oLy+vks/y5cthb2+PESNG1LlwYcCAAVX2oFOF8ePHY9q0aazYqVOnsGPHDpU/ixDSslFhR4iaEYvF6NSpE65evQoAOHToEKZNm4a//voLkZGR+Ouvv/DRRx8p24eFheHHH3+sMnzbtWtXXL16FVFRUZg9ezbruKsHDx7gwoULOHfuHJYtW/b0Ptev405GBo66uuG4uzt8WptBIpViV3o69jo5I8jNHRp8Hv7Ozak1//tlpZhr1Ran3D3wpFKKm4WFytcMhRo46OIKM01NXJbk4ZCLK/5yc0dicQmiCgsRnJcHQw0hTrh74LibO9yeFVnFFRVwtLdHXFwcLC0tceTIEQCAn58fNm/ejNjYWOjq6mLLli2sXG7cuIHTp08jJiYG27dv5/Qki82bN8PCwoIV++ijj/Dw4UNuEiKENEtU2BGihiZPnow//vgDcrkcx48fh4+PDz799FM4OTnBx8cHiYmJyrZeXl5o06ZNlXvk5eVh7NixcHR0xKpVq1jXDB8+HEKhEB06dEB+fj4AIPHWLQzo2BGaz7YiMdTQQHRhIe6Ulih77ELz8/GovKLW3G11dNBBJAKPx0NXPV2kV/zXi/bms7lmofn5iCoqxNjoKIyJjsK9slKklpejk64INwsLsf7BA0QXFUFPKAQAaAuF6GxnBwDw8PDAw4cPUVBQgIqKCnh6egIApk+friyG/xUaGoqxY8dCU1MTFhYWGDhwYL2+/w3B2NgYv/32GytWXFyMmTNnKntnCSHkdVFhR4gaGj9+PP766y9cuHABzs7O+Pvvv1FSUoKoqChERUWxCgGRSFTtPVasWIERI0YgPj4eu3fvRkXFfwWZlpZWlfY8Hg8vDrIyAAYYGSvn0J3x6IZ5bdvWmrvmc3vU8Xk8KJ67qfZzc/Amm5sr73u+W3eMNjODrY4Ix1zdYCcSYfX9e9jzbIGBhkAAwbMiTyAQQC6XV5mfxjAMeDxenTEujRgxAjNnzmTFLl68WKWnkRBCXhUVdoSoIVNTU9jb2+OTTz7BpEmTUFhYCLFYDKFQiMOHD1c7l+xFhYWFsLKyAgDs3bu3zvYurq64cO8eKp8VjflSKVxbtUJYQT4ynxWFeVIpsipq77Grj54Ghvg7NxcFMikAIKuiAnlSKbIrKiASCDBWLIZfG0vcKnm6spUBoPnCSRWGhobQ0tJCeHg4gKcnO/Tp04fVxsvLC0ePHkVlZSWysrJw8eLF1879df3www+wtrZmxT799FMkJydzlBEhpDkRcp0AIaR6kydPxvz58zFmzBjIZDKMGDECPXr0gLe3N0xMTOq8ftGiRfD398fatWvRu3fvOtsPGTYMideuYUxUFIQ8HiaKzTG9TRus7NgR7yYmQsYoIOTxsdrODubV9Pi9jE66unjH0gpvx8aBAQNdgQA/dO6Ce2VlWPfgPvg8HrT5fHzzbPiV4fPR2ty8yn12796N+fPno7y8HK6urpg/fz7r9R49emDo0KFwdnZG586d0bdv31rzGjp0KCIjI1FSUgIrKyscPXoU3bt3f633+iJ9fX3s3LkTgwcPVsbKysrg7++PK1euQFDPlcWEEFIdHkPr7QkhAOLj4/H3H39g5OUr0FCjUx6kAgFO9OuL4RMnwtHRket0VOa9997DL7/8woqtX7/+lfchJIQQgIZiCSHPiMVi8IRCFOjqcp0KS4GuLnhCIcRiMdepqNS6devQoUMHVmzZsmVISEjgKCNCSHNAhR0hBMDTVZvaurrINDbmOhWWTJOneRmrMC9PT0+4urqy/vy7Orix6OrqYvfu3azFHZWVlfDz84NUKm3UXAghzQcVdoQQAE9Xmzq5uyPVui3kfPX41SDn85HSti2cPTxUOvcsLCwM0dHRrD+GhoYqu399eXt74+OPP2bFIiIi8O233zZ6LoSQ5kE9fnsTQtSCi4sLpCIRHr1wtumL5Ao5nkgkePz4MUpKSxssnzRTU8hEIjg7OzfYM7i2evVq2Nvbs2KrVq1CVJRqz9wlhLQMVNgRQpSMjIxga2eHuzbWUNSw/xsD4MkTCSoqyiGTy1BQkI+S0lKUlpbWedzYy1DweLhnYw3bTp1gZGSksvuqG21tbQQEBLB6JGUyGfz8/Fh7DxJCSH1QYUcIYfHq0wfFpqZItrSs9vWioiLIZOw5YAUF+cgvyMeTJ0+qbHL8qpIsLVFsagovb28V3VF9de/eHUuWLGHF4uLi8NVXX3GUESGkqaLCjhDCYmFhge5eXrhtZ4fCF061qJRKUVxcXOO1UmklFIrX3yqlQCTCnU526OHtXeV81eZq+fLlcHFxYcXWrVuHsLAwjjIihDRFVNgRQqrw8vKCkZUlIuztIXu2kIJhGOTn5QGsPjn2cC0PPPB5r/drRcbnI6KrPYwtLeu1sXJzoampiYCAAGhoaChjCoUCfn5+KCsr4zAzQkhTQoUdIaQKoVCIET4+KG3TBmEOXaHg8VBYVASZXMZq9+JKVS1t7dc6m1XB4yHMoSvKLNpguI8PhMKWdTiOi4sLvvzyS1bszp07WLp0KUcZEUKaGjp5ghBSo5SUFPy5fz8MHzxAu0uXIXiusNPQ0IBUKsPzPXhGRsbQeeFM1/qS8fkIc+gKibU1xk+dChsbm9dNv0mSyWTo3bu38gxcAODxeLh06VKdR6IRQgj12BFCamRjY4PhY8YgSVcX0X37oFRfH8DTIVdtLW08X9TxeDxov+IZsgUiEa64uyG/nW2LLuqAp72lAQEB0Hrue8kwDPz9/Wud30gIIQAVdoSQOmzatAm79u3DLbkcYQMG4FHnztA1MEBFZSWrnbbWyw/DKng83LaywqWentCwt8cU3+ktuqj7l729Pb755htW7MGDB3SOLCGkTjQUSwip0dmzZzF06FAAT+fT9e7dG/179YZFZQVMYuNgmpYKgUIB4OWGYeV8PtJMTXHPxhrFpqbo4e2N3r17t7g5dbWRy+Xo378/goODWfEzZ85gyJAhHGVFCFF3VNgRQqqVn58PJycnPHr0SBkTiUS4ePEi/jl/HkUSCUQyGaxSUmCSmYX2WlrQfFbkVUcqEKBAVxeZJsZIadsWMpEItp06wasFbWnysu7duwdnZ2eUPne6h5WVFeLi4jg5Ao0Qov6osCOEVMvf3x8BAQGs2JYtWzB//nz06dMHcXFxcHFxgbuTEwz19aGjoQG9sjLoS/KgKZOBzyig4PFRKRSi0NgIxTo64AmF0NbVhbOHB5ydnZv1iRKqsmXLFixYsIAV8/f3x65duzjKiBCizqiwI4RUERQUhNGjR7NigwcPxtmzZ5GRkQErKytlnMfj4cCBA+jatSuys7ORk5WFyvJyyGUyCIRCaGpro7W5OcRiMcRiMYyNjatsk0JqplAoMHToUJw/f54V/+uvv+Dj48NRVoQQdUWFHSGE5cmTJ3BwcEB2drYypq+vj7i4OFhbW+PHH3/ERx99pHzNwMAA2dnZrFWcRLVSU1Ph5OSEwsJCZUwsFiMhIQEmJiYcZkYIUTe0KpYQwrJgwQJWUQcAP/74I6ytrQEABw8eZL02ZswYKuoa2L8F9fOys7OrDNESQggVdoQQpUOHDlUp3EaOHAl/f38ATzcsvn79Ouv1yZMnN1Z6LZq/vz9GjhzJih08eBCHDh3iKCNCiDqioVhCCAAgKysLjo6OePLkiTJmZGSEhIQE5arVDRs24NNPP1W+bmxsjKysLNb5pqThZGZmwsHBAXl5ecqYiYkJEhISIBaLOcyMEKIuqMeOEAKGYTB37lxWUQc8XZH5/FYkL/YOjRs3joq6RmRhYYFffvmFFXvy5AnmzJkD+oxOCAGosCOEANizZw+CgoJYsQkTJrCGWe/du4ebN2+y2kyaNKlR8iP/mTJlCiZMmMCKBQUFYc+ePRxlRAhRJzQUS0gL9+jRIzg6OqKgoEAZMzMzQ3x8PFq3bq2MrV27Fl988YXy69atWyMjI4NOi+BATk4OHBwckJOTo4wZGBggPj6etRUNIaTloR47QlowhmEwa9YsVlEHAL/++iurqAOqroYdP348FXUcad26NbZt28aKFRQUYNasWTQkS0gLR4UdIS3Ytm3bcPbsWVZs+vTpGDNmDCt2584dxMTEsGK0GpZbY8aMwdtvv82KnT17Fr/99htHGRFC1AENxRLSQt2/fx/Ozs4oKSlRxiwtLREXF1flqK+vv/4aK1asUH5tbm6OR48e0QkSHMvLy4OjoyMyMjKUMV1dXcTFxcHW1pbDzAghXKEeO0JaIIVCgZkzZ7KKOgDYvn17tee3vjgMO2HCBCrq1ICRkRF27NjBipWUlGDGjBlQKBQcZUUI4RIVdoS0QJs3b8bly5dZsTlz5mDYsGFV2iYkJCAhIYEVo2FY9TFs2DC88847rNjly5exefNmjjIihHCJhmIJaWHu3LkDV1dXlJeXK2Pt2rVDbGwsWrVqVaX9l19+iVWrVim/trS0RGpqKvj8p58L5XI5JBIJsrOzkZ2djZysLFSUlUEhl4MvEEBLRwetzc0hFoshFothbGxMvX0qVlRUBCcnJ6SkpChj2traiI6ORufOnTnMjBDS2GhJGyEtiEwmg7+/P6uoA4Bdu3ZVW9QxDFNlGHbixIng8/nIy8tDTEwM4iIjUV5SAkYmg15ZGQwkEujIZOAzDBQ8HqRCIe4YGyNCRwc8oRDaurpwcneHi4tLtcO+5OW1atUKu3btwsCBA5Wx8vJy+Pv7Izg4mAppQloQ6rEjpAX59ttvsWTJElZs4cKF2LRpU7XtY2Ji4OrqyoqdPn0aRQUFeJCcDI3SUlinpsFCIoFBSQk05PIany0VCFCgq4tMY2OkWreFVCSCrZ0dvPr0YZ1uQV7dwoULqwzBfvvtt/jss884yogQ0tiosCOkhYiLi4OHhwekUqkyZmdnh+joaIhEomqv+eKLL7B27VoAgEAgwPDhw9G3Z0/o5eaiY0oqrHJzIXiFSfpyPh+PTE1x18Yaxaam6O7lBS8vL9oX7zWVlpbC1dUVycnJypimpiYiIiLg6OjIYWaEkMZChR0hLUBlZSV69uyJqKgoZYzP5yM4OBi9evWq9hqGYWBnZ4d79+7BzMwMPiNGwNbMDM4pqbBLTwdfBb86FDweki0tcdvODsZWlhju4wNzc/PXvm9LFhoaij59+rBWxbq5uSEsLIzO9SWkBaBVsYS0AGvWrGEVdQCwePHiGos6AIiMjMS9e/dgbW0N3ylTYC8QYGB4ODo/eqSSog4A+AyDzo8eYUBYGGSJt3AgcA9rAQB5eb1798aiRYtYsaioKKxZs4ajjAghjYl67Ahp5iIiIuDp6Qn5c/PfHBwcEBERAS0trRqv+/TTT3Hw4EFMGTcO1rlP4BgRgTYmJg2Wp4zPR5hDV0isrTF+6lTY2Ng02LOau/Lycnh4eCAxMVEZEwqFuH79Ojw8PDjMjBDS0KiwI6QZe9X/wTMMA3d3dwzu2xft8vLR9Voo9HX1oF/NyllVUvB4uObogPx2tpjiO52GZV/Dqxb0hJCmjYZiCWnGvvzyS1ZRBwBLly6ts9fm2rVr6ObmBovSUtiHXQefYaCjo9OQqQJ4OjTrmZAIncwM/B0UBJlM1uDPbK48PDywdOlSViwhIQFffvklRxkRQhoD9dgR0kyFhobC29sbz/8Tr+8k+s8//xzaUik8L16EqLAQQoEQZmZmDZ2yUoFIhEs9PdFj0CD07du30Z7b3LzKohlCSNNGPXaENEMlJSXw8/NjFXWampoIDAyss6hLT0+HQC6H3e3bEBUWAgC0G6G37nkGpaXonJSMG8HByMzMbNRnNyeampoICAhg/Z0rFAr4+fmhtLSUw8wIIQ2FCjtCmqElS5bg7t27rNiqVavqtZdZ0F9/wbiwEG2SkpSxxhiGfVGn9HTo5eYiJDi40Z/dnDg5ObGOhAOA5OTkKhtVE0KaByrsCGlmLl68WOX0gZ49e1bZAqM6eXl5eJyeDuvkZOWWJkKhBjQ42DiYzzDokJKKB0lJyMvLa/TnNyeLFi2Cp6cnK/bTTz/h4sWLHGVECGkoVNgR0owUFhZixowZrJiOjg4CAgLqdV5odHQ0hCUlMHn0iHU9V9rm5kJYWorY2FjOcmgOhEIhAgICoK2tzYrPnDkTRUVFHGVFCGkIVNgR0owsWrSoyga/a9euRadOneq8Vi6XIzw0FFYpKaxjwnReKAYak0ChgE1aGmIjIljbdpCX17lzZ+XxcP96+PBhvXpyCSFNBxV2hDQTp06dwm+//caK9evXD++//369rpdIJCgvKYFRRoYypiHU4Pz8VosnT/OSSCSc5tEcLFy4EP369WPFtm3bhtOnT3OUESFE1aiwI0TN9OvXD1euXGHF5s+fj61bt9Z4TV5eHmbPns2K6enpYdeuXeDz6/fPPCMjA4xUBr38fGWsptWwM+Pj4BMViX7hN9Az7Dp8oiLhExWJOyUlGBcdVe01r8qgpAQr165FdnZ2va9p164diouLq8T9/f1x4sSJaq9JS0tD//790bVrVzg7O+OPP/545ZzVFZ/Px86dO6Grq8uKz549m+YxEtJMUGFHiJqZNGkSDh06pPxaLpcjKCgI48ePr/GahQsXIuO5njYA+O6772Bra1vv54aHh0O7qBCC54Y8a5pft9PRCUFu7vjA2gZjzMwQ5OaOIDd36NZjHh8AyF9i+0wNuRw84KUKu1chFArx448/IjExEefPn8dHH32EkpKSBn0mF9q3b4/vvvuOFUtPT8cHH3zAUUaEEFWiwo4QNTNhwgQcO3YMimfz3C5fvoxOnTph8uTJcHd3h5ubG4KfbQFy6dIluLq6Yu/evax7DB06FE5OTujduzfc3NwwcOBA5X5wK1euxOzZs9G3b1+0b98eBw4cAADcTUpCSGgo/FNTMSstDceKiiEUCHBJIsHEmGj4REViWXIyFHUUZVIFg0+T7mBYxE18cPuWci+9AeE38HNqCibHRCOsIB9/ZmdhfHQURkVGYFPKQwBAiVyOWfHxGBkZgZGREbj6rBeJp1Dgh++/h5OTEwYNGqQsuCIjI9GjRw84OzvD19cX5eXlVfJZvnw57O3tMWLECDx+/LjGvC0sLODq6goAMDMzg7GxcbMd/p0zZw6GDBnCiu3ZswfHjh3jJiFCiMpQYUeImhGLxejUqROuXr0KADh06BCmTZuGv/76C5GRkfjrr7/w0UcfAQDy8/OrrBgVCoXYvn07HBwccPXqVURFRWH27NlYv369ss2DBw9w4cIFnDt3DsuWLYNUKkV0VBSSs7KwrW1b7GjbFqPFZpBIpdiVno69Ts4IcnOHBp+Hv3Nzas3/flkp5lq1xSl3DzyplOLms02OAcBQqIGDLq4w09TEZUkeDrm44i83dyQWlyCqsBDBeXkw1BDihLsHjru5w+3Z2bTFFRVwtLdHXFwcLC0tceTIEQCAn58fNm/ejNjYWOjq6mLLli2sXG7cuIHTp08jJiYG27dvR2hoaL3+Dm7evAmFQoG2bdvWq31Tw+PxsH37dhgYGLDic+fORW5uLkdZEUJUgQo7QtTQ5MmT8ccff0Aul+P48ePw8fHBp59+CicnJ/j4+CAxMREMw+CHH37Ai6cCurq6wsrKCnl5eRg7diwcHR2xatUq1pmxw4cPh1AoRIcOHZCfn49//vkH6RkZ6GNtDU0eDwBgrtcK0YWFuFNaouyxC83Px6Pyilpzt9XRQQeRCDweD131dJFe8V8v2pumpgCA0Px8RBUVYmx0FMZER+FeWSlSy8vRSVeEm4WFWP/gAaKLiqD3bOGGtlCIznZ2AJ6egfrw4UMUFBSgoqJCuT/b9OnTlcXwv0JDQzF27FhoamrCwsICAwcOrPN7/+TJE/j6+mLbtm11tm3K2rZti02bNrFijx8/xvz586v8TBFCmg4q7AhRQ+PHj8dff/2FCxcuwNnZGX///TdKSkoQFRWFqKgoKBQKHDhwoMoiCy8vL9jY2AAAVqxYgREjRiA+Ph67d+9GRcV/BZmWlhbruoMHD4JhGDDPFlpoaGhCIBCAATDAyFg5h+6MRzfMq6MXS/O5xRp8Hg+K52oE7efm4E02N1fe93y37hhtZgZbHRGOubrBTiTC6vv3sOfZvEENgQCCZ0WeQCCAXC6vUnwwDAPes6K0tlhtKioqMHbsWCxZsgS9e/eu93VNla+vL3x8fFixw4cP4+DBgxxlRAh5XVTYEaKGTE1NYW9vj08++QSTJk1CYWEhxGIxhEIhDh8+jPLycixYsIB1jYmJCT7++GPl14WFhbCysgKAKnPwXnT06FGYmpriamoqKhkGOjo6yJdK4dqqFcIK8pH5rCjMk0qRVVF7j1199DQwxN+5uSiQSQEAWRUVyJNKkV1RAZFAgLFiMfzaWOJWydOVrQwAzRf20zM0NISWlhbCw8MBAL///jv69OnDauPl5YWjR4+isrISWVlZtZ60wDAM/P39MXDgQEyfPv2132NTwOPx8Ouvv8LExIQVX7BgAZ3RS0gTRYUdIWpq8uTJuH37NsaMGYNp06bh8uXL6NGjB0JDQ6GhoVFle4r//e9/MDY2Vn69aNEifPjhh/D29oZIJKrxOZWVlSgoKIBAQwPWbdtiTloapt25jeM5OTDR1MTKjh3xbmIiRkVGYGZ8PJ5Ipa/93jrp6uIdSyu8HRuHkZER+OD2LZTJ5UgqLcX46Cj4REVib2YGZlpaAgAYPh+tzc2r3Gf37t1YsGABnJ2dUVRUhPnz57Ne79GjB4YOHQpnZ2fMnTsXffv2rTGnkJAQHDx4EMeOHYOrqytcXV0RFxf32u9V3Zmbm1eZmyiRSDBnzhwakiWkCeIx9C+XkCZl165dmDlzJis2efJk5erWlzV9+nTs3bsXDg4OmPDmmxh05gzMDQxVkKlqSAUCnOjXF8MnToSjoyPX6TRbU6ZMqTIEu2vXLvj7+3OTECHklVCPHSFNSGpqapX9xsRiMX755ZdXul95eTn++usvAE/3iZMxDKSmrV87T1Uq0NUFTyiEWCzmOpVm7ZdffqnyPf7ggw+QlpbGUUaEkFdBhR0hTYRCocCsWbOqHNr+22+/VZkjVV+nTp1S3u/JkycoLa+ApE2b185VlTJNjKGtq8saZn5dnp6eyuHWf//kP3fiRktkYmJSZSVwYWEhZs6cSUOyhDQhVNgR0kRs3boV58+fZ8X8/f0xatSoV77n80NvDMNAUlyERzbWkNfzGLKGJufzkdK2LZw9PCCo56kW9REWFobo6GjWH0NDQ5Xdv6ny8fGBn58fK3b+/Plaj7MjhKgXmmNHSBNw7949ODs7o7S0VBmzsrJCfHx8lU1m66u0tBStW7dm3XPz5s0oKyiAW2QUbGo5peFVlVdUoKSkBEKBAK309cGvYyuSh2ZmiHZ3w+x334WRkZHK8yFV5efnw8nJCY8ePVLGdHV1ERMTgw4dOnCYGSGkPtTjYzkhpEZyuRz+/v6sAgwAduzY8cpFHQCcPHmSdU8+n49JkybB1s4Od22soXiJ/d/qQ65QQCKRoKKiHCWlJciTSFDbp0oFj4d7Ntaw7dSJirpGZGhoiB07drBiJSUlmDFjhvKYO0KI+qLCjhA1t2nTJuXZsP+aN29elbM+X9aLKyAHDhwIMzMzePXpg2JTUyQ/22pEVWQyGfBcKVdRWVGlWH1ekqUlik1N4eXtrdI8SN2GDBmCefPmsWJXr16tclIFIUT90FAsIWrs1q1bcHNzY50aYWtri9jYWOjp6b3yfYuKimBmZoby8v+O+/rtt98we/ZsAMDly5cR/s8FDAgLg34txdfLYAA8zs6GXCFXxng8Hlq3NoPwhflzBSIRLvX0RI9Bg2rde440nOLiYjg7O+PBgwfKmJaWFqKjo9GlSxcOMyOE1IZ67AhRUzKZDH5+fqyijsfjYffu3a9V1AHA8ePHWUWdUCjEuHHjlF97eXnByMoSEfb2kKloIQUPqLJAgWEY5Ofns4ZkZXw+Irraw9jSskUc66Wu9PT0sGvXLtaRbBUVFfDz83vW+0oIUUdU2BGiptatW6c8LutfH374oUp6sA4dOsT6+o033mBtJyIUCjHCxwelbdogzKGryubbaWlpQSTSZcUqK58uqACezqsLc+iKMos2GO7jA+Gz82EJN/r161dl38QbN25g/fr1HGVECKkLDcUSooZiYmLQvXt3SJ87vqtz586IioqCjo7Oa927oKAAZmZmqKysVMZqOmEgJSUFf+7fD+PUVHgmJEKogsnzCoZBTk4O5PL/en144MFILEaEizMk1tYYP3UqbGxsXvtZ5PWVlZXBzc0Nd+7cUcY0NDRw8+ZNODs7c5gZIaQ61GNHiJqprKyEr68vq6jj8/kICAh47aIOAP766y9WUaepqYkxY8ZU29bGxgbjp05FfjtbXHVzQ2EtZ87WF5/HezYk+18vYLF+K/zj5Ij8du2oqFMzOjo6CAgIAP+5IXmpVApfX1/WzxEhRD1QYUeImlm1ahViY2NZsc8++wyenp4quf+Lq2GHDh1a6+a8NjY2mOI7HYKu9rjo6Yk7VlavPTSrpakJXV1dKHg8POrcGTcGDEBCRQWKKyupqFNDnp6e+Oyzz1ixmJgYrF69mqOMCCE1oaFYQtTIjRs30Lt3b8jl/60cdXJyQnh4OLS0tF77/nl5eTAzM2NNft+7dy/eeuutOq+VyWQICQlBeEgI9HJz0SElFW1zcyF4heFZOZ+PNFMTxJmZIUckQkh4OEJDQ8Hn8xEeHg4XF5eXvidpWBUVFejevTvi4uKUMYFAgGvXrqF79+4cZkYIeR4VdoSoibKyMri7u+P27dvKmFAoRHh4OFxdXVXyjJ07d2LWrFnKr7W0tPD48WPo6+vX+x4ZGRkIDQnBg6QkCEtLYZOWBosnEhiUlEDjuYL0RVKBAAW6usg0MUZK27aQiUTQNzHBqq+/RkZGhrKds7MzwsPDoamp+WpvkjSYqKgo9OjRg/XBwN7eHpGRkdDW1uYwM0LIv2jJGSFqYvny5ayiDgBWrFihsqIOqDoMO3z48Jcq6gCgTZs2mDBxIvLy8hAbG4vYiAjcKykBI5NBr6wM+pI8aMpk4DMKKHh8VAqFKDQ2QrGODnhCIbR1deHu4QFnZ2cYGRkhNS0N33zzjfL+sbGxWLVqFQ3zqSE3NzcsX74cX375pTJ269YtLF++HBs2bOAwM0LIv6jHjhA1cPXqVfTr1w/P/3Ps1q0bQkNDoaGhoZJn5OTkwMLCgjXMe+DAAUyePPm17iuXyyGRSJCdnY3s7GzkZGWhsrwccpkMAqEQmtraaG1uDrFYDLFYDGNjYwie25C4piG+0NBQ9OjR47VyI6onlUrRq1cvREREKGM8Hg9Xr16Fl5cXh5kRQgAq7AjhXHFxMVxcXHD//n1lTEtLC5GRkejatavKnrNt2zbMnTtX+bWOjg5ycnKgq6tby1WNIzo6Gt27d2cN8XXp0gWRkZEqWQlMVCshIQHu7u6sVbEdOnRATEyMWvw8EdKS0apYQjj22WefsYo6AFi9erVKizqg6jDsyJEj1eZ/wq6urlixYgUrdvv2bSxfvpyjjEhtHBwcqgyV37t3D59//jlHGRFC/kU9doRw6Pz583jjjTdYMS8vL1y+fJk1XPm6srOz0aZNGyieW8F6+PBhjB8/XmXPeF1SqRS9e/fGzZs3lTEej4fLly+jT58+HGZGqiOXy9G3b1+Ehoay4ufPn8egQYM4yooQQoUdIRwpKCiAk5MT0tLSlDGRSISYmBh07NhRpc/65Zdf8N577ym/1tPTw+PHj9VumDMxMRHu7u6s83Hbt2+PmJiY1z4fl6hecnIyXFxcUFZWpoxZW1sjLi7upRflEEJUg4ZiCeHIxx9/zCrqgKfnw6q6qAOqng3r4+OjdkUdAHTt2rXKEN/9+/erbI5L1IOdnR3WrVvHiqWmpuLjjz/mKCNCCPXYEcKBEydOYNSoUazYwIEDce7cOdbRTaqQkZEBKysr1orbY8eOYfTo0Sp9jqrI5XL069cPISEhrPi5c+cwePBgjrIiNVEoFBg8eDAuXrzIip88eRLDhw/nKCtCWi4q7AhpZE+ePIGjoyOysrKUsVatWiEuLq5BjtPatGkTPvzwQ+XX+vr6ePz4sUpOsmgod+/ehYuLC0pLS5Wxtm3bIi4uDgYGBhxmRqrz8OFDODk5obi4WBmzsLBAfHw8jI2NOcyMkJaHhmIJaWTvv/8+q6gDgB9++KHBzkh9cTXsmDFj1LqoA4COHTtWGeJLS0vDRx99xFFGpDbt2rXDDz/8wIplZmZi4cKFHGVESMtFPXaENKLDhw9j4sSJrNjw4cNx4sQJ8Hg8lT3nzJkzOH/+PMRiMRYvXsx6rakMkSkUCrzxxhu4cOECK378+HGMHDmSo6xITRiGwYgRI3Dq1ClW/M8//8S4ceM4yoqQlocKO0IayePHj+Hg4IDc3FxlzMjICPHx8WjTpo3KnnP27FkMHTq02tcMDQ2RnZ3dZM5hTUlJgZOTE4qKipQxc3NzxMfHw8TEhMPMSHXS09Ph6OiI/Px8Zax169aIj4+HmZkZd4kR0oLQUCwhjYBhGMydO5dV1AHA5s2bVVrUAU/3EatJUVERZs+eXSUPdWVjY1NliC8rKwvvv/8+RxmR2lhaWmLz5s2sWE5ODubPnw/qQyCkcVBhR0gj2LdvH44dO8aKjRs3DtOmTVP5swwNDWt8TS6XY8+ePfj0009V/tyGMnPmzCpDx/v378fhw4c5yojU5q233sLYsWNZsSNHjmD//v0cZURIy0JDsYQ0sOqGp0xNTZGQkPBKw1NyuRwSiQTZ2dnIzs5GTlYWKsrKoJDLwRcIkCuR4O8zZ5SvP3nypEpvSZ8+fXDlypXXfWuNJiMjA46OjsjLy1PGTE1NER8fD7FYzGFmpDrVTTswNDREQkKCynuoCSFsVNgR0oAYhsHw4cNx+vRpVvxVJpTn5eUhJiYGcZGRKC8pASOTQa+sDAYSCTRkMvAZBgoeD+V8PjI1NVHWqhVkDIOS8nJExsUhJiYGBQUFAIDff/8dU6dOVdn7bAz79u3D22+/zYqNGTMGR44cUenCE6Ia1S0UevPNN3Hy5En6+yKkAVFhR0gD2r59O9555x1WbNq0adi3b1+975GRkYHQ4GA8SE6GRmkprFPTYCGRwKCkBBpyeZX2CoZBVlYmZEIhSgwMkNemDdKsrVGqoYHkBw/Q3dOzSQ3F/othGEyYMAFHjhxhxffs2VOl4CPqYdq0aVWGYLdv345Zs2ZxlBEhzR8VdoQ0kNfdtFUmkyEkJAThISHQy81Fx5RUWOXmQqBQ1HltZmYmGPz3T1vO5+OJlRWyHBxQYWGB7l5e8PLyglAofLU3x5HHjx/D0dEROTk5ypiBgQESEhJgaWnJYWakOhKJBA4ODo22GTchhBZPENIgFAoFZs6cySrqgKe9FfUp6rKyshCwcyfC/7mALnHxGHAzAjaPH9erqANQZahLoFCgY34BhsTEoktcPML/uYDAnTurbJSs7szMzLB161ZWrKCgALNnz6ZVl2rI2NgY27dvZ8WKioowc+ZMKOr5s0wIeTlU2BHSAH755ZcqZ2fOmjWrXhsDp6Sk4EBgIOSJtzAgLAydHz0C/yWLFo0X9qnT02sFPV1d8BkGnR89woCwMMgSb+FA4B6kpKS81L25Nm7cOLz11lus2OnTp6sUEEQ9jBgxAjNnzmTFLly4gC1btnCUESHNGw3FEqJiycnJcHFxQVlZmTJmbW2NuLg46Ovr13ptSkoK/ty/HyYpqeiRmAjhK/ZqMADyJBJIZTLoikTQ09Or0kbG5yPMoSsk1tYYP3Vqkxoay8vLg4ODAzIzM5UxPT09xMXFoV27dtwlRqpVUFAAJycnpKWlKWMikQjR0dGws7PjMDNCmh/qsSNEheRyOfz8/FhFHQDs3LmzzqIuKysLRw8ehHFKKnomJLxyUQcAPDwdBhObmVVb1AGAUKFAr/gEGKem4ujBQ01qWNbIyKhKD11xcTFmzJhBQ3xqyMDAADt37mTFSktL4e/vD3k1C4AIIa+OCjtCVOj777/HtWvXWLEFCxZg0KBBtV4nk8lwMigIooxMeCYmvvTQ66viMww8ExKhk5mBv4OCIJPJGuW5qjB8+PAqqysvXbqEX375haOMSG0GDx6Md999lxULDQ2tcrIIIeT10FAsISqSkJAAd3d3VFZWKmMdOnRATEwMdHV1a7328uXLCP/nAgaEhUG/tLShU62iQCTCpZ6e6DFoEPr27dvoz39VhYWFcHJyQmpqqjKmo6OD6OhodOrUicPMSHWKi4vh6uqKe/fuKWNaWlqIjIxE165dOcyMkOaDeuwIUQGpVAo/Pz9WUcfj8RAQEFBnUZeRkYHwkBB0SU7mpKgDAIPSUnROSsaN4GDWvDV1p6+vj127drFiZWVlNMSnpvT09LB7927Wqu2Kigr4+flBKpVymBkhzQcVdoSowNq1axEREcGKffLJJ/Dy8qrz2tDgYOjl5sIuPb2h0quXTunp0MvNRUhwMKd5vKyBAwfivffeY8WuXbuG7777jqOMSG28vb3x8ccfs2I3b97Et99+y1FGhDQvNBRLyGuKjIyEp6cna36avb09IiMjoa2tXeu1eXl52L5lC9wio2Dz+HFDp1qnh2ZmiHZ3w+x334WRkRHX6dRbSUkJXF1dcffuXWVMU1MTkZGRcHBw4DAzUp2ysjK4u7vj9u3byphQKER4eDhcXV25S4yQZoB67Ah5Df8OIz1f1AkEAgQEBNRZ1AFATEwMNEpLYfXcYelcapubC2FpKWJjY7lO5aXo6upWGeKrrKyEr68vDfGpIR0dHQQEBEAgEChjMpkMvr6+qKio4DAzQpo+KuwIeQ0rV65EfHw8K7ZkyRJ07969zmvlcjniIiNhnZpW7xMlGppAoYBNWhpiIyKa3Bw1Ly8vfPLJJ6xYZGQkvvnmG44yIrXp0aMHPv/8c1YsLi4Oq1at4igjQpoHGool5BVdv34dXl5erH3TXFxccOPGDWi+cPJDdXJycrB761Z4Xw+DaWFhQ6b6UnL19RHc0xP+8+ahdevWXKfzUsrLy+Hu7o5bt24pY0KhEGFhYXB3d+cwM1KdyspKdO/endVDzOfzERoaCk9PTw4zI6Tpoh47Ql5BaWkp/Pz8WEWdhoYGAgMD61XUAUB2djYYmQyGL5wnax98FT5RkRgRGYGFt26h7FnPWWZFBeYnJmLQzXC8GXETn9y5jQLZf8OMi+7cxvjoqDqfuyU1Ff3Cb6DH9WvVvm5QUgJGJkN2dna93oc60dbWRmBgIA3xNRGampoIDAyEhoaGMqZQKKrd5JsQUj9U2BHyCpYuXYqkpCRWbOXKlXB2dq73PbKzs6FXVlblhIlWQiGC3Nxx0t0DGnwe9mdlgmEYLLiViCEmJvinW3ec8uiGsWZiFDyb21ehUCC8sBDlCgXSystrfa63kRH+cHGt8XUNuRx6ZWVNsrADgG7duuGLL75gxRISErBy5UpuEiK1cnFxwZdffsmK3blzB0uXLuUoI0KaNirsCHlJly9fxo8//siK9ejRA59++ulL3ScnKwsGEkmtbbrpGyC1rByhBfnQFQgwVixWvuZtZARrbZ2nOUkk8DQwwMjWrXEqN6fWezq3agWzOnoV9SV5yGlCR4y9aNmyZVVWV65fvx7Xr1/nJiFSq88++6zKvNQff/wRV65c4SgjQpouKuwIeQlFRUWYMWMGK6atrY2AgAAIhcKXuldFWRk0ajnCS8YwuJInQSddEe6VlsK+lo2OT+XmYrhpawwzNcWpnNdfYaspk6Gyjp4/daapqYmAgIBqh/hKOdoEmtRMKBQiICAAWlpayhjDMPD390fxC1MVCCG1o8KOkJewePFiPHjwgBVbs2YNunTp8tL3Usjl1Z4JWySTwScqEuOio2ChpYUJYnM8bcar0hYAyuVyRBYVwsvQELY6IsjB4OFrzk/iMwrIm9C5sdVxdnauMvyalJRUZZiWqAd7e3usWbOGFXvw4MFL94QT0tJRYUdIPZ05cwa//vorK9anTx988MEHr3Q/vkAABa9qsfbvHLsgN3es6NARmnw+OopEuFVSfc/FpTwJCqRSDIm4iQHhN5BRXlHncGxdFDw+BC/ZA6mOPv30U/To0YMV27RpEy5dusRNQqRWH374Iby9vVmx//3vfzh37hxHGRHS9FBhR0g95OfnY9asWayYSCTCrl27WCswX4aWjg6k9Syeehsaokgmw1/PnU5x4ckTpJaX4e+cXGzs3AUXu/fAxe498IerC/5+zeHYSqEQmvXYYFnd/TvE9+Jm0TNmzEBRURFHWZGaCAQC7N69GyKRiBWfOXMmCgoKOMqKkKaFCjtC6uHDDz9E+gtnuW7cuBEdOnR45Xu2NjdHgbFxvdryeDxsse+KU7k5GHwzHMMjI/B3bi40eXyEFeTD29BQ2dZWRwQFGNyrZi4ZA+CH+/fR50YYCmUy9LkRhsCMqmfUFhobobW5+au+NbXSpUuXKpsUP3z4EIsXL+YoI1KbDh06YMOGDazYo0eP8OGHH3KTECFNDG1QTEgdgoKCMHr0aFZs8ODBOHv2LOsIq5cVHx+Pv//4AyMvX4FGI5zywAB48iQXlZWVAAAtTS3otWoFrRdWyEoFApzo1xfDJ06Eo6Njg+fVGBQKBfr374+rV6+y4qdPn8bQoUM5yorURKFQYMiQIfjnn39Y8aCgIIwaNYqjrAhpGqjHjpBa5ObmYs6cOayYvr4+duzY8VpFHQCIxWLwhEIU1LLaVZWkUqmyqAOAisoKPHmSi9wnT1DxXLxAVxc8oRDi57ZWaer4fD527doF3Re+17NmzUJ+fj43SZEa8fl87Ny5E61atWLF33nnHTx58oSjrAhpGqiwI6QWCxYsqLJR748//ghra+vXvrexsTG0dXWRWc/h2Je18t5d+ERFKv9MiIvDzdKqq2UrlQVeLioqKpBp8jQv4wbKiyvVDfGlp6e/8uIX0rCsra2r7BeZnZ2N9957j5uECGkiaCiWkBocPHgQU6ZMYcVGjhyJoKCg1+6t+9elS5cQfe4chgWHQPDCCRQNobyiAvn5+VAoqh/6lfP5uD5yJFrb22P27Nkqe5/qgmEYDB06tMoqy2PHjlUZbifcYxgGo0aNwsmTJ1nxQ4cOYeLEiRxlRYh6ox47QqqRlZWFd999lxUzMjLCtm3bVFrsuLi4QCoS4ZGpqcruWRttLS2IzcxgoG8AAb/qat7ctm1RzOdj8eLF6N69O4KCgtCcPvvxeDzs2LED+vr6rPicOXOQm/v6GzsT1eLxePjtt99gZGTEis+fP7/JHnlHSEOjwo6QFzAMg7lz50LywnFfW7ZsgYWFhUqfZWRkBFs7O9y1sa52T7uGwOPxoKurCzOxGAYGhsrtWhQ8HtI6dkTSgwcoKChAREQERo8eDTc3Nxw5cgSKRuhRbAxt27bFpk2bWLHHjx9jwYIFHGVEamNhYYFffvmFFXvy5Anmzp3brD50EKIqVNgR8oLAwEAEBQWxYhMnTsTkyZMb5Hleffqg2NQUyZaWDXL/mvAA6IpEMDMTw9DAEJlduiBXTw8hoaGsdjExMRg/fjxcXFxw8OBByBthBW9D8/Pzw8iRI1mxQ4cO4eDBgxxlRGozZcoUjB8/nhX766+/sHfvXo4yIkR90Rw7Qp6TlpYGJycn1maoZmZmSEhIgGkDDpdevnwZ4f9cwICwMOhzcJZpgUiES549IDQ2xi+//IK7d+/W2LZLly5YtmwZJk+e/NLn46qTzMxMODo6snpmjY2NkZCQAPNmsodfc5KTkwMHBwfk5Px3qoqBgQHi4+NhZWXFYWaEqBfqsSPkGYZhMHv27Co73P/6668NWtQBgJeXF4ysLBFhbw8Zv3H/Wcr4fER0tYexlRXee+893Lp1C3v37q3x/Nvbt2/j7bffRteuXREQEABZEz1TtrohPolEgjlz5tAQnxpq3bp1lSP9CgoKMHv2bPr7IuQ5VNgR8sy2bdtw9uxZVmz69OkYM2ZMgz9bKBRihI8PStu0QZhD10abb6fg8RDm0BVlFm0w3McHQqEQQqEQb731FuLj43HgwAE4ODhUe21ycjL8/f3RuXNn7Nixg7VHXlMxefLkKqsrjx8/jsDAQI4yIrUZO3Ys3n77bVbszJkz+O233zjKiBD1Q0OxhAC4f/8+nJ2dUVJSooxZWloiLi6uyoq8hpSSkoI/9++HcWoqPBMSIWzABQsyPh9hDl0hsbbG+KlTYWNjU207hUKBo0ePYtWqVYiNja3xfjY2NliyZAn8/f2hpaXVUGmrXG5uLhwcHPD4uXN49fX1ER8fj7Zt23KYGalOXl4eHB0dkZGRoYzp6ekhNjYWtra2HGZGiHqgHjvS4ikUCsyYMYNV1AHA9u3bG7WoA54WR+OnTkV+O1tcdXND4QuHoatKgUiEK+5uyG9nW2tRBzw9BWD8+PGIiorCsWPH4O7uXm27lJQUzJs3Dx07dsQvv/yC8vLyBsld1UxNTasM8RUWFmLWrFk0xKeGjIyMsH37dlasuLgYM2bMaDYrtwl5HVTYkRbvp59+wpUrV1ixOXPmYNiwYZzkY2Njgym+0yHoao+Lnp64Y2WlsqFZBY+H21ZWuNTTExr29pjiO73Wou55fD4fo0ePxs2bN3HixAn06NGj2naPHj3Ce++9h/bt22PTpk0o5WAxyMsaM2YMfH19WbFz585VKfiIenjzzTcxe/ZsVuzy5cv4+eefOcqIEPVBQ7GkRbtz5w5cXV1ZvUvt2rVDbGxslXMqG5tMJkNISAjCQ0Kgl5uLDimpaJub+0onVMj5fKSZmuKejTWKTU3Rw9sbvXv3fq1VrQzD4Ny5c/jqq68Q+sIWKc8Ti8VYtGgR5s+fX+WsVnWSn58PR0dHpKenK2O6urqIjY1F+/btOcyMVKewsBDOzs5ISUlRxnR0dBAdHY1OnTpxmBkh3KLCjrRYMpkM3t7eCAsLY8UvXryI/v37c5NUNTIyMhAaEoIHSUkQlpbCJi0NFk8kMCgpgUYte8pJBQIU6Ooi08QYKW3bQiYSwbZTJ3h5e6t0o2WGYXDx4kWsWrUKly9frrGdqakpPvnkEyxYsIDzorkmZ86cqdJT27dvX1y8eBH8Rl6tTOp28eJFDBw4kBXr2bMngoODlRtvE9LSUGFHWqxvv/0WS5YsYcUWLlxY5VQCdZGXl4fY2FjERkSgvKQEjEwGvbIy6EvyoCmTgc8ooODxUSkUotDYCMU6OuAJhdDW1YWzhwecnZ0bfM7g5cuX8fXXX+Off/6psY2xsTE++ugjvP/++zAwMGjQfF7F3LlzsW3bNlbshx9+wIcffshNQqRWCxcuxObNm1mxb7/9Fp999hlHGRHCLSrsSIsUFxcHDw8PSKVSZczOzg7R0dEQNdCCBVWRy+WQSCTIzs5GdnY2crKyUFleDrlMBoFQCE1tbbQ2N4dYLIZYLIaxsXGj916EhITg66+/xpkzZ2psY2BggA8//BAffPBBoy9SqU1RURGcnZ3x8OFDZUxbWxvR0dHo3Lkzd4mRapWUlMDV1ZW1qbampiYiIiLg6OjIYWaEcIMKO9LiVFZWomfPnoiKilLG+Hw+goOD0atXLw4za35u3LiBr7/+GidOnKixTatWrbBw4UJ89NFHMDExacTsanbp0iUMGDCAFfP09ERwcHCTPm2juQoNDUWfPn1Yq2Ld3NwQFhYGDQ0NDjMjpPHRpBHS4qxZs4ZV1AHA4sWLqahrAD169MDx48dx8+bNGjd6Lioqwpo1a9CuXTt8/vnnrP3kuNK/f3988MEHrFhYWBg2bNjAUUakNr1798Ynn3zCikVFRWHNmjUcZUQId6jHjrQoERER8PT0ZB1k7+DggIiIiCa1qW5TFRMTg9WrV+Pw4cM1thGJRJg/fz4WLVrE6ZmtpaWlcHV1RXJysjKmoaGBiIgIODk5cZYXqV55eTk8PDyQmJiojAmFQly/fh0eHh4cZkZI46LCjrQY9ItffcTHx2PNmjU4ePBgjZsAa2trY86cOfj0009haWnZyBk+de3aNXh7e7OG+FxdXREWFgZNTU1OciI1ow9uhNBQLGlBVqxYwSrqAGDp0qVU1HHA0dER+/fvR2JiIqZPn17tViLl5eX46aef0L59eyxYsACpqamNnmevXr2wePFiViw6OpqG+NSUh4cHli5dyoolJCTgyy+/5CgjQhof9diRFiE0NBTe3t6s3iGaXK0+kpOTsXbtWgQGBrJ6W56noaGBGTNmYMmSJWjXrl2j5VZRUQEPDw8kJCQoYwKBANevX0e3bt0aLQ9SP5WVlfD09ER0dLQyRoujSEtChR1p9mg7hKbj/v37+Pbbb7Fr1y7IZLJq2wiFQvj6+uKLL75Ahw4dGiWvyMhIeHp6snLq2rUrIiIioK2t3Sg5kPprytsZEfK6aCiWNHtLlixhFXUAsGrVKirq1FD79u2xbds23L17F/Pmzat2HptMJsPOnTvRuXNn+Pn54c6dOw2el7u7O5YtW8aKJSYmYsWKFQ3+bPLynJyc8NVXX7FiycnJVTYkJ6Q5oh470qxduHABgwYNYsXoyKGm49GjR1i/fj1+++031nm+z+Pz+Zg8eTKWLVuGrl27NlguUqkUPXv2RGRkpDLG4/EQHByM3r17N9hzyaup6cjACxcuVNmjkJDmhAo70mzRIeHNR2ZmJjZu3Ij//e9/KCsrq7YNj8fDhAkTsGzZMjg7OzdIHvHx8fDw8EBlZaUy1rFjR0RHR0NXV7dBnkle3Z07d+Dq6sr6UNCuXTvExsaq7XnFhLwuGoolzdYnn3zCKuoAYO3atVTUNUEWFhb47rvv8PDhQ3z66afVFlEMw+CPP/6Ai4sLxo0bV2UTalVwdHTEqlWrWLG7d+9iyZIlyM3NxW+//YagoKAat3Ahjatz585Yu3YtK/bw4UMsWrSIo4wIaXjUY0eapVOnTmH48OGsWL9+/XDhwoVqt9YgTUtubi5++OEHbN68GUVFRTW2GzVqFJYvX47u3bur7NlyuRze3t64fv06K96qVStlLsuWLcPXX3+tsmeSV6dQKDBgwABcuXKFFT916hSGDRvGUVaENBwq7Eizk5eXB0dHR2RkZChjenp6iI2Nha2tLYeZEVWTSCTYtGkTNm3ahIKCghrbvfnmm1i+fLnKtrtISkqCq6trjcPCYrEYWVlZKnkWeX3379+Hs7MzSkpKlDFLS0vExcXByMiIw8wIUT0q7EizM336dOzdu5cV+/XXXzFnzhyOMiINLT8/H5s3b8YPP/yAvLy8GtsNHjwYK1asQJ8+fV77mbNnz8aOHTtqfL2goAD6+vqQy+WQSCTIzs5GdnY2crKyUFFWBoVcDr5AAC0dHbQ2N4dYLIZYLIaxsTEt7GkAv/76K+bNm8eKTZ8+HYGBgRxlREjDoMKONCtHjx7FuHHjWLGhQ4fi1KlT4PF4HGVFGkthYSG2bNmCjRs34smTJzW269+/P1asWIH+/fu/0s/F7t27MWPGjFrbhISEoLKyEnGRkSgvKQEjk0GvrAwGEgk0ZDLwGQYKHg9SoRAFxsYo1tEBTyiEtq4unNzd4eLiQr1JKsQwDIYNG4azZ8+y4kePHsWYMWO4SYqQBkCFHWk2cnJy4ODggJycHGXMwMAA8fHxsLKy4jAz0tiKi4uxdetWbNiwAY8fP66xnbe3N1asWIHBgwe/VIHXq1evKnPs/mVubg7v3r3h5uQEkVQK69Q0WEgkMCgpgUYNp2oAgFQgQIGuLjKNjZFq3RZSkQi2dnbw6tMHFhYW9c6N1CwtLQ1OTk6sYXszMzMkJCTA1NSUw8wIUR0q7EizwDAMJk6ciD///JMVDwgIgK+vL0dZEa6VlpZi27ZtWLduXa1z3nr27IkVK1Zg2LBh9Srw/P39ERAQwIoJBAL07t0bXt27w7S4GJ3T09GxqBgCheKl85bz+Xhkaoq7NtYoNjVFdy8veHl5QSgUvvS9CFtAQAD8/f1ZsQkTJuDQoUPUq0+aBSrsSLOwf/9+TJs2jRUbPXo0jh49Sr+sCcrKyrBjxw58++23SE9Pr7Fdt27dsHz5cowaNarWn5uCggL4+/vj2LFjAJ72+viMGAFLIyPY3b6NNklJ0NHUgomx8WvlreDxkGxpidt2djC2ssRwHx+Ym5u/1j1bOoZhMGbMGAQFBbHi+/fvx5QpUzjKihDVocKONHkZGRlwdHRkTZo3MTFBQkICxGIxh5kRdVNRUYFdu3Zh7dq1SE1NrbGdq6srli9fjjFjxoDP56OwsBCffPIJkpOTMXfuXEydOhUAcPHiRaxevRrujo6wKC2FfUQERIWFAJ724InNVPPzVygSIcLeHqVt2mDs5EmwsbFRyX1bqqysLDg4OEAikShjxsbGiI+Pp2Fv0uRRYUeaNIZhMGrUKJw8eZIVP3ToECZOnMhRVkTdVVZWYs+ePVizZg0ePHhQYztHR0csX74cf/75Jw4dOqSM//nnnxg3bhxSUlJweP9+GNy7hw5Xg8GX/XfovKamFkxNTFSWs4zPR5hDV0isrTF+6lQq7l7ToUOHMHnyZFZs5MiRCAoKol5+0qRRYUeatJ07d2LWrFms2OTJk3HgwAGOMiJNiVQqxe+//47Vq1fj7t279b5OX18f58+fR8jFizB88BC9EhLAUyiQl5+PiooKCAUCmJiYqHwzbAWPh2uODshvZ4spvtNpWPY1TZ48mVWwA8CuXbuqzMEjpCmhwo40WSkpKXBycmKdPCAWi5GQkAATFfaUkOZPJpPh4MGDWL16NW7fvl1ne4FAgPfmzYO9UIi+UdEQvsICiVcl4/Nxxd0NGvb28J05kxZUvIbc3Fw4OjoiOztbGdPX10d8fDzatm3LYWaEvDo6W4k0SQqFArNmzapynNRvv/1GRR15aUKhEG+99Rbi4+Nx4MABODg41Nq+d+/eMNTSQqcbNxq1qAMAoUIBj8RbkKSnIzQ0tFGf3dyYmppi27ZtrFhhYSFmzpxJ5/2SJosKO9Ikbd26Ff/88w8r5u/vj1GjRnGUEWkOBAIBJk+ejNjYWBw+fBiGhoZV2pibm8Ore3fY3b4N/uPHKCoubvQ8DUpL0TkpGTeCg5GZmdnoz29OfHx84Ofnx4qdP38eW7du5SgjQl4PDcWSJufu3btwcXFBaWmpMmZlZYX4+HgYGBhwmBlpTnJycmBubg7FCz1yE8aNQ09TU7hfuAA+wwDgwcLCAo093V7B4+FiNw+Y9uqFCbRQ6LXk5+fD0dGRtRWOrq4uYmJi0KFDBw4zI+TlUY8daVLkcjlmzJjBKuoAYMeOHVTUEZXKysqqUtQZGBjAztYW1snJz4o6AGDANPJwLADwGQYdUlLxICmp1vNxSd0MDQ2xc+dOVqykpAQzZsyo8jNAiLqjwo40KT/++COCg4NZsXnz5mHIkCEcZUSaKwcHBwwaNIgVc3FxgUgqhcmjR8qYhoamyle/1lfb3FwIS0sRGxvLyfObkyFDhmDu3Lms2NWrV7Fp0yaOMiLk1dBQLGkybt26BTc3N1RUVChjtra2iI2NhZ6eHoeZkeZKKpUiLCwMjx8/Bo/Hw534eLS/dQv2d+9BoZCDzxdAW0uL0xzjbNsh3dUV737wAQQCAae5NHVFRUVwcXFh7W2opaWF6OhodOnShcPMCKk/6rEjTYJMJoOfnx+rqOPxeNi9ezcVdQQAWIe4BwYGwsPDQ3n0V/v27eHq6gp7e3t8//33ynYDBgyo9Z4aGhrw9vbGuHHj4O3tDQGAtgWFmH3nDsYmJmJCQjyGRdzE+gcPUC6XAwDiioqw7sH9BnmPicXFCH5u2HV/ZiYS4uJRXlLCOkVBFVavXg1ra2vW97W5a9WqFXbt2sWKVVRUwM/PDzKZjKOsCHk5VNiRJmHdunUIDw9nxT788EP07duXo4yIujpy5Ag2bNiA06dPK+dd/vTTT4iOjsbNmzexceNGFBQUAHh6JFh9ZWdng5HJYPhsFezmLvY44e6Bo65uyKmsxBd3kwEATq1a4TPb9q+cv7yWQZTbJSUIzv+vsJtqYYHxBgZgZDLWXmwv9bxnBemLhg4dirCwsFe6Z1PWr18/fPjhh6zYjRs3sH79em4SIuQl0c6WRO3FxMTgq6++YsU6d+6MNWvWcJQRUVdnzpzBF198gX/++QetW7eu8nppaSk0NDSgoaEB4GkvX25uLi5duoQ1a9ZAV1cXiYmJGDlyJL7//nvI5XL4+fkhMjISZWVl8O7SBWNfmEyvIxDgyw4d0Df8BvKkUiSVlGBvZgY223fF9fx8rL5/DzzwoMHn4YirG6QKBdY+uI8bBQXggYf3rK3hoKeH+YmJcG7VCrFFhfjT1Q3rHzxAVFEhpAyD962tMdDYBJtSU1ChUCA0Px+L29kiqrAQRhoa0M7JwZgxY6CnpweFQoG4uDgwDIPk5GS8++67kEgkMDExQUBAACwsLNC/f3/07t0bwcHBmD17Nnx9fat8r7p3794wf0lNwDfffIO///4bSUlJytjKlSsxcuRIODs7c5gZIXWjwo6otcrKSvj6+kIq/e8MTj6fj4CAAOjo6HCYGVE3RUVFePvtt3H9+nVYWlqyXlu4cCGWLl2K5ORkfPnllxCJRFWuj4qKwq1bt2BgYAAHBwd8+OGHyMnJwYMHD5CYmIgD+/ah6MwZoLikyrV6QiHaamsjtbyMFd+Vno4ltu3hZWSEomdDeQeyslAkkyPIzR18Hg8FMimKZHLcLS3Bhs6d0UXXDvszM2GprY1lHTqgWCbDhJho9DMyxgfWNkgqLcHnz3oEowoLAQDWlVKs/uorTHnrLSxfvhyDBw8GALz77rvYvn07bGxs8Mcff+Crr75S7s8mlUpx5cqV1/yuN086OjoICAiAl5eXclWsVCqFr68vbty4AU1NTY4zJKRmNBRL1NqqVauqrPj77LPP4OnpyVFGRF2JRCI4Ozvj999/r/LaTz/9hJiYGKSlpWHHjh2syfH/6tWrF1q3bg1NTU04OjoiJSUF7du3R0ZGBhYsWICImzdhUMvq1+oGUN319bHx4UMEZqSj7FmBcL0gH5PNzcF/dtC8gfBp72E7HR100dUFAITk5+FAViZ8oiIxLS4WZQoFsiorqnnCU5oyGSrLy3H69GlcunQJ69atQ1FREUJCQjB69Gi4urpi1apVrH3aJtLed7Xq2bMnPv30U1YsJiYGq1ev5igjQuqHeuyI2rpx4wa+/fZbVszJyQlffvklRxkRdSYQCHD06FH06dMHVlZWmDFjRpU2JiYmcHd3R3h4OGxtbVmvaT23ulUgEEAul8PIyAhxcXE4deoUvlq5EncAuBlXPbKuRC7Ho/Jy2Gjr4E7Jfz16c9u2RV8jI1zKk2B8dBT+cHGtMX+d51a0MgBWd7RD9xf2ZrxZUFjttXxGgcePH2Ptxo04f/48NDQ0UFZWBnNzc0RHR1d7TXW9loRt5cqVOHHiBOLj45Wxb775BqNGjWrRQ9VEvVGPHVFLZWVl8PPzY03sFgqFCAwMZP0PmJDn6evr4++//8bXX3+N06dPV3m9rKwM0dHRaN++fosbcnNzoVAoMHHiRIwZNQoPqtkIuFwux6p7dzHQ2ASGz+bu/Su1rAz2enqY39YaHUQiPCovR29DQxzMyoLi2SKJApm0yj17Gxpif1amciFF4rMFG7oCAUqqWexQqWDw644d+Omnn5TD0Pr6+mjdujX+/vtvAE+HEm/dulWv902e0tLSQmBgIITC//pA/p13WV5ezmFmhNSMCjuilpYvX47bt2+zYitWrICrqys3CZEmw9LSEkFBQXjnnXcQGRkJ4OkcO1dXV7i7u2PatGno1q1bve6Vnp6Ofv36wcXFBb8fPIgx7u7K196/fQsjIyMwJjoKphqaWN2xY5Xrd2WkY3hkBEZFRqCNlhbc9PUx2dwC+kIhRkZFYlRkJK7nF1S5boq5Bcw0NTE6KhIjIiPwS1oqAMDTwAAJxcUYHRWJq8+KTIZhEP8kFympqZg5cyY6duyo/Heyb98+fP/993BxcYGrq+tLrXJduXIlrKyskJeXBysrK/z000/1vrY5cXNzw/Lly1mxW7duVYkRoi5og2Kidq5evYp+/frh+R/Nbt26ITQ0VLmakZDG9s8//+DOmTN449r1Kq8xeLriVlpZCS1tbehoazdYHkXFRSgpKX3674NhwIDB9cFv4GxyEi5cuADg6XDhkiVLGiyHlkYqlaJXr16IiIhQxng8Hq5evQovLy8OMyOkKuqxI2qluLgY/v7+rKJOS0sLAQEBVNQRTonFYhTr6ED6wukOZWVlePz4MQoK8lFaVoq8PAkqKisbJIfyinIUFRVBoZCDYRRgwEAmFKKslR5rH7sXN9klr0dDQwMBAQGs1bAMw8DPzw8lJVVXSRPCJSrsiFr57LPPcP8+e9f+1atXo2vXrhxlRMhTYrEYPKEQBc9WrlZUViInNxd5+XmQy9mnEkgbqLCrqKh63xJDQ8gYhlXYtW3btt73XLBgAVxdXVl/zp8/r5J8mxMHBwd8/fXXrNi9e/fw+eefc5QRIdWjoViiNs6fP4833niDFfPy8sLly5fpDEzCOblcji2bNsEiMhJto2NQ/sKedf/i8fgwNTWFhlD1mw7I5HI8fvwYz2+u8sDJCTGWlti0ZYuyp1tTUxNTp06Fr68v+vfvD34t27SQ+pPL5ejTpw+uXbvGip8/fx6DBg3iKCtC2OhfO1ELBQUFmDlzJismEomwe/duKuqIWpBIJEjNzMRtExOU1LCnnKamFkxNTBqkqAMAoUAAY2NjAE/3wJPz+XhkY4PIZydN/KuyshIBAQEYNGgQ2rVrh6VLl+LOnTsNklNLIhAIqt0cfebMmSgsrH4rGkIaGxV2RC189NFHSEtLY8XWrVuHjtWsNCSkMZWVlWHt2rXo0KEDfvvtN5RqaOCJlRWrjVAghLGR8dOiroHngmpracHE5Glxl9u2LUqFQsTExNTYPi0tDd988w26dOmCnj174n//+x8kEkmD5tic2dnZYd26daxYamoqPv74Y44yIoSNhmIJ506cOIFRo0axYgMHDsS5c+doCIlwRqFQYN++fVi6dCnrQ8eEcePQ09QU7hcuQMjjoVWrVhCJdJ/1oTWe0ooKnHdzxbXcXPx55IgyzuPxUNevdU1NTYwcORJ+fn548803aWHSS1IoFBg8eDAuXrzIip88eRLDhw/nKCtCnqL/axJOPXnyBO+88w4r1qpVK+zcuZOKOsKZCxcuoFu3bvD19a3SkxwcGoonrVrhiZMTzMzE0OWgqAOA1A4dUG5ujpDQUGWsffv2SE1NxcaNG+Hk5FTjtZWVlThy5AhGjx6NNm3a4IMPPkBERESdBSF5is/nY+fOndDT02PFZ8+eTb2hhHP0f07Cqffffx9ZWVms2A8//AAbGxuOMiItWWJiIkaOHIlBgwYhKiqq2jZDhgxBz7598dDRCcXPVsg2tgKRCHc62aHPoEHYtGkTOnfuDA8PD+zfvx9WVlb45JNPEBsbi6ioKHz00UcwMzOr8V65ubn46aef0K1bNzg5OWH9+vWsM2VJ9dq1a4fvv/+eFcvMzMT777/PUUaEPEVDsYQzhw8frnIQ+fDhw3HixAnweFz0gZCWKisrC19++SW2b98OhUJRbZuBAwdiw4YNcHd3h0wmQ8DOnZAn3kKfqCgIa7imIcj4fFxxd4OGvT18Z85kHXdVE6lUirNnzyIwMBB//fUXKiqqX/zxLz6fj8GDB8PX1xdjx46lc2VrwDAMhg8fXuX4usOHD2P8+PEcZUVaOirsCCeys7Ph6OiI3NxcZczIyAjx8fFo06YNh5mRlqSkpATfffcd1q9fX+NGs127dsWGDRvw5ptvsj5wZGVl4UDgHhg+fIBe8QngN8KvUgWPh2uODshvZ4spvtNhbm7+0vfIy8vDH3/8gYCAAIQ+N4xbEz09PUycOBF+fn7o06cPTZF4QXp6OhwdHZGfn6+MmZqaIiEhodaeUkIaChV2pNExDINx48bh2LFjrPjevXvx1ltvcZMUaVHkcjl2796N5cuXIzMzs9o2YrEYq1atwsxaesVSUlLw5/79ME5NhWdCYoP23Mn4fIQ5dIXE2hrjp05VyXSFu3fvIjAwEHv27MHDhw/rbG9jY4Pp06fD19cXdnZ2r/385mLv3r2YPn06KzZu3DgcPnyYRh9Io6PCjjQ6+iVIuHTmzBksXrwYcXFx1b4uEomwaNEiLFq0CK1atarzfikpKTh68BBEGRnwuHUL+qWlqk4ZBSIRIrrao8yiDcZOnqTyOagKhQLBwcEICAjAH3/8gaKiojqv6dWrF/z8/DBp0iQYGRmpNJ+mhj6sEnVChR1pVOnp6XBwcEBBQYEyRsMWpDHExMRg8eLFOHfuXLWv83g8zJw5E6tWrXrp6QBZWVk4GRSEvEfp6JKcDLv0dJUMzSp4PCRZWuJOJzsYW1piuI/PKw2/vozS0lIcO3YMgYGBOHfuXI1zDv+lpaUFHx8f+Pr6YujQoS1265TqppcYGhoiISGBppeQRkWFHWk0NU00/vPPPzFu3DiOsiLNXXp6OpYvX47du3fXuJ3HsGHDsH79+lq3CKmLTCZDSEgIwkNCoJebiw4pqWibmwvBKwzPyvl8pJma4p6NNYpNTdHD2xu9e/eu10IJVcrIyMC+ffsQEBCAhISEOtubmZlh2rRp8PPzg4uLS4vrga9uQdibb76JkydPtrjvBeEOFXak0fz222+YM2cOKzZt2jTs27ePo4xIc1ZUVIT169fju+++Q1lZ9ee6Ojs7Y8OGDRgyZIjKnpuRkYHQkBA8SEqCsLQUNmlpsHgigUFJCTTk8hqvkwoEKNDVRaaJMVLatoVMJIJtp07w8vaGhYWFyvJ7FQzDICoqCoGBgfj999+Rk5NT5zVOTk7w8/PDtGnTOM+/MU2bNg379+9nxbZv345Zs2ZxlBFpaaiwI43i4cOHcHJyQnFxsTJmYWGB+Pj4Z2dfEqIaMpkM27dvx5dffonHjx9X26ZNmzZYs2YNpk+f3mBnEefl5SE2NhaxEREoLykBI5NBr6wM+pI8aMpk4DMKKHh8VAqFKDQ2QrGODnhCIbR1deHs4QFnZ2e1nLsmlUpx+vRpBAQE4Pjx46isrKy1PZ/Px5AhQ+Dn54fRo0dXOWe1uZFIJHBwcGDtz9mqVSvExcXR/pykUVBhRxqcQqHAoEGDcOnSJVacjt8hqsQwDE6ePInFixfj9u3b1bbR09PDZ599ho8//rjR9maTy+WQSCTIzs5GdnY2crKyUFleDrlMBoFQCE1tbbQ2N4dYLIZYLIaxsXGDFZuqJpFIcOjQIQQEBOD69et1ttfX18ekSZPg6+sLb2/vZjs8ScckEi5RYUca3ObNm7Fw4UJWbNasWdi+fTtHGZHmJiIiAosWLary4eFfAoEA77zzDlauXAmxWNy4ybUQSUlJ2LNnDwIDA5Gamlpne1tbW/j6+mL69Ono0KFDI2TYuGbOnIldu3axYps3b8Z7773HUUakpaDCjjSopKQkuLq6suY4WVtbIy4uDvr6+hxmRpqDlJQULF26tNZ5mqNGjcK6detgb2/fiJm1XAqFAleuXEFAQAAOHz7Mmn5RE29vb/j6+mLSpEkwMDBohCwbXkFBAZycnFhnDYtEIkRHR9MegKRBUWFHGoxcLkefPn1w7do1Vvz8+fMYNGgQR1mR5qCgoABr167Fjz/+WOPxWB4eHti4cSP69+/fuMkRpZKSEhw9ehSBgYE4f/58jauS/6WtrY3Ro0fDz88Pb7zxRqOvAla18+fP44033mDFevfujStXrjSZ4XbSBDGENJB169YxAFh/FixYwHVapAmrqKhgfvrpJ8bExKTKz9a/f6ytrZm9e/cycrmc63TJc9LS0phvv/2Wsbe3r/Hv7vk/YrGY+fjjj5mYmBiuU38t7777bpX3tmHDBq7TIs0Y9diRBpGQkAB3d3fWirkOHTogJiYGurq6HGZGmiKGYXD06FF89tlnuHv3brVt9PX18cUXX2DhwoXNfuVlU8YwDCIiIpRbpzx58qTOa1xcXJRbpzS1OZLFxcVwcXHB/fv3lTEtLS1ERkaia9euHGZGmisq7IjKSaVS9OzZE5GRkcoYj8fD1atX4eXlxWFmpCm6fv06Fi1ahJCQkGpfFwqFmD9/PlasWAFTU9NGzo68jsrKSpw6dQqBgYE4fvw4pFJpre0FAgGGDRsGX19f+Pj4QFtbu5EyfT1Xr15Fv379WEPR3bp1Q2hoaIs9qYM0IA57C0kz9dVXX1UZeli0aBHXaZEm5t69e8ykSZNqHa4bN24ck5SUxHWqRAVyc3OZX375henRo0e9hmoNDAyYOXPmMMHBwYxCoeA6/Tp9/PHHVd7DqlWruE6LNEPUY0dUKjIyEp6enpDJZMqYvb09IiMjm8yna8ItiUSC1atX4+eff66xB8fT0xPfffcd9QA3U7dv30ZgYCD27t3LWlVakw4dOii3TrG1tW2EDF9eWVkZ3N3dWXssCoVChIeHw9XVlbvESLNDhR1RmYqKCnTr1g3x8fHKmEAgwLVr19C9e3cOMyNNQUVFBX7++WesXr0a+fn51baxtbXFt99+i4kTJzbbzW3JfxQKBS5duoSAgAD8+eefKCkpqfOavn37wtfXFxMnTlS7LZVu3LiBXr16QfHc+cFOTk4IDw+HlpYWh5mRZoXbDkPSnHz++edVhhqWLVvGdVpEzSkUCubAgQOMra1tjcNuRkZGzPfff8+Ul5dznS7hSFFRERMQEMAMGjSI4fF4dQ7VamtrM1OnTmVOnTrFyGQyrtNXWrp0aZVcv/jiC6ayspI5d+4cc/PmTa5TJE0c9dgRlbh+/Tq8vLxYn0RdXFxw48YNaGpqcpgZUWfBwcFYtGgRwsLCqn1dU1MT77//PpYuXaqW56YSbqSmpmLfvn0ICAjAnTt36mxvYWGBt956C35+fnB0dGyEDGtWWVmJ7t27IzY2Vhnj8XiwtrZGSkoKAGDDhg1YtGgRVymSJo4KO/LaSktL4ebmhqSkJGVMQ0MDN2/ehLOzM4eZEXWVlJSEzz//HEePHq2xzeTJk/HNN9+gffv2jZgZaUoYhkF4eDgCAwOxf/9+SCSSOq9xc3ODn58fpk6dCjMzs0bIsqqYmBh07969xjmkZmZmyM7ObuSsSHNBhR15bR999BF+/PFHVmzNmjX44osvuEmIqK2cnBysWrUKW7duZS2weZ63tzc2btwIT0/PRs6ONGWVlZU4efIkAgMDceLEiRp/vv4lEAjw5ptvws/PDyNHjmz0xV0LFizAli1banxdIpHAyMgIcrkcEokE2dnZyM7ORk5WFirKyqCQy8EXCKClo4PW5uYQi8UQi8UwNjamUy1aOCrsyGu5fPlylSObevTogZCQkCZ/HBBRnbKyMmzatAlr165FYWFhtW3s7Oywfv16jB49mhZGkNeSm5uLAwcOICAgADdv3qyzvaGhIaZMmQJfX1/07NmzwX/+zp8/j+HDh9e6b9+VK1cgl8sRFxmJ8pISMDIZ9MrKYCCRQEMmA59hoODxIBUKUWBsjGIdHfCEQmjr6sLJ3R0uLi40faGFosKOvLKioiK4uLjgwYMHypi2tjaioqLQpUsXDjMj6kKhUGDfvn1YunRpjdtWmJiYYOXKlZg7dy5t1kpULjExEXv27MGePXuQnp5eZ3s7Ozvl1ik2NjYNktOQIUNw7ty5al8zNzeHd+/ecHV0hK5MBuvUNFhIJDAoKYGGXF7jPaUCAQp0dZFpbIxU67aQikSwtbODV58+sLCwaJD3QdQTFXbklc2bNw+//vorK/bdd9/h448/5igjok4uXLiAxYsXs04geZ6WlhY++ugjfP755zAwMGjk7EhLI5fLcfHiRQQEBODIkSMoLS2t85r+/fvD19cXEyZMQKtWrVSWy9tvv419+/axYgKBAL1794ZX9+4wLS5G50fp6FhcDMFzC9LqS87n45GpKe7aWKPY1BTdvbzg5eVFoygtBBV25JWcOXMGw4YNY8X69OmDixcv0vyOFi4xMRGffvopTp48WWOb6dOnY/Xq1bC2tm7EzAh5qqioCH/++ScCAwNx8eLFOtvr6Ohg3Lhx8PPzw8CBA1/7d1x2djZGjx6tXA1uZmYGnxEjYGlkBLvbt9EmKQkiTS0YGxu/1nMUPB6SLS1x284OxlaWGO7jA3Nz89e6J1F/VNiRl5afnw9HR0fWsIZIJEJsbCw6dOjAYWaES1lZWVi5ciV+++031rY3zxswYAA2btwId3f3Rs6OkOqlpKRg7969CAgIQHJycp3tLS0t8fbbb8PX1xddu3Z95ecqFArs378fP/74I/r37g2L0lLYR0RA9GwOKp8vgLlY/Mr3f16hSIQIe3uUtmmDsZMnNdgQM1EPVNiRl+bv74+AgABWbMuWLZg/fz5HGREulZSU4Pvvv8e6detqPBnA3t4eGzZswPDhw2lhBFFLDMMgLCwMgYGBOHDgAPLy8uq8xsPDA35+fpgyZQpat2790s9MSUnB4d9/h/69e+h4NRh8+X8reYVCDZi9wj1rIuPzEebQFRJra4yfOpWKu2aMCjvyUoKCgjB69GhWbPDgwTh79iz9D7uFkcvlCAgIwPLly5GRkVFtG7FYjK+++gqzZs2i+T2kyaioqMCJEycQEBCAU6dO1bl1ilAoxIgRI+Dr64sRI0bU63iwrKwsHAgMhOGDh+iVkABGLkeeRIJKqRR8Ph8mJibQUPG/GQWPh2uODshvZ4spvtNpWLaZosKO1Ftubi4cHR1ZG2fq6+sjLi6O5kq1MGfPnsWiRYsQFxdX7es6OjpYtGgRFi9erNJJ54Q0tsePHyu3TqlpIdDzjI2NlVun9OjRo9oPvDKZDAE7d0KeeAt9oqIgfIUFEq9KxufjirsbNOzt4TtzJn3gaoaosCP1NnnyZBw6dIgV27lzJ2bMmMFRRqSxxcbGYvHixTh79my1r/N4PMyYMQOrVq2CpaVlI2dHSMOKj49HYGAg9u7di8zMzDrbd+7cWbl1Stu2bZXxy5cvI/yfCxgQFgb9eqzOVbUCkQiXenqix6BB6Nu3b6M/nzQsKuxIvRw8eBBTpkxhxUaOHImgoCAagm0B0tPTsXz5cuzevRs1/coYOnQo1q9fT8fIkWZPLpfj/PnzCAwMxNGjR1FWVlZrex6PhwEDBsDPzw9eXl44evAgusTFo/OjR42UcVW3raxwx8kRb82YQfvcNTNU2JE6ZWVlwcHBgXUOo5GRERISEugXQjNXVFSEDRs2YOPGjTX+z8vJyQkbNmzA0KFDGzk7QrhXWFiIw4cPIzAwEJcvX66z/ZSJE9GzdWsMiIiAtoYmuPpYrODxcLGbB0x79cKEiRM5yoI0BD7XCRD1xjAM5s6dW+Vw7S1btlBR14zJZDL8+uuvsLOzw9dff11tUdemTRvs2LEDUVFRVNSRFktfXx8zZ87EpUuXcP/+faxatQodO3astq2BgQFsra3R5tYt5OXm4nF2NgqLiupcnNEQ+AyDDimpeJCUVK8VwKTpoMKO1CowMBBBQUGs2IQJEzB58mSOMiINiWEYnDhxAs7Ozpg3bx5rocy/dHV1sWrVKiQlJWHmzJm0ITUhz9ja2mL58uVISkpCSEgI5s6dyzpVxcXFBSKpFCbPhmDlCjmKi4vwOOcxcnJzUVrHkK6qtc3NhbC0FLGxsY36XNKwaCiW1CgtLQ1OTk4oKChQxszMzBAfH/9KezYR9RYZGYlFixbVuBM/n8/HO++8g5UrV9I2CYTUU3l5OY4fP46AgAB0srWFy6NHaFfDanIA0G+lDz09vUbLL862HdJdXfHuBx/Qh7RmgnrsSLUYhsHs2bNZRR0A/Prrr1TUNTOpqamYPn06PDw8aizqRo4cibi4OGzdupWKOtKkPHz4EMOGDUOnTp1gZ2eHjRs3qvT++fn52LZtm/LrmzdvYvHixQCAlStXYvv27Zg4cSJ27doFcevWsCoohIZQAwCw/ckTzEpLg19qKobev49ZaWmYfCsR1/PzVZojAJzMycGwiJt4NzGRFbd4IkF5SUmV6TaN4eHDh/Dy8oK2tjZ+/vnnRn9+c0Ub2JBqbdu2rcqWFtOnT8eYMWO4SYioXEFBAdauXYsff/wRFRUV1bZxc3PDxo0bMXDgwEbOjpDXxzAMxo4diyVLlmDSpEkoLCzE0KFD0bZtW5VNJ/m3sJszZw4AoFu3bujWrVuVdtnZ2eDJ5Wgjl0PYujWkMhk+0NXDnLIypFeU48vsbGyzskIrvVbKvR/lDAOBinYdOJKdjW/tOsFVX58VNygpASOTITs7m/WhXS6Xq6wHr6Z76evr4/vvv68y3Ye8HuqxI1Xcv38fn3zyCStmaWmJTZs2cZQRUSWpVIrNmzejY8eOWLduXbVFXdu2bbFnzx7cvHmTijrSZJ0/fx6GhoaYNGkSgKeFxNq1a/HDDz/A398fJ06cAAAUFxejXbt2AIB79+6hT58+cHd3R8+ePXHr1i0AwO7duzFp0iS88cYb6NixI7777jsAwNKlS5GYmAhXV1esWbMGly5dwoQJE6rkEhERgV0BAZgYEYEZ8XHIUyhgoK8PsVgMQ0MjCPh8GBoYIkEux4z4OHxw+xamx8WiWCaDb1wsxkRFYnRUJG4+G0UJy8+Hf3wc5icmYsjNm/jm/n0AT4vBRXdu482ImxgZGYE/s7Pwa1oaIgoL8FlyEn5OTYFEKsXchASMiozAjKgoVGRlITs7G/7+/vjkk0/Qv39/rF+/Hv3798eiRYvg7e0NZ2dnREZGYsSIEejYsSOrh23NmjXo3r07nJ2dsXXrVgDApUuXMGTIEEyaNAkDBgyo9u/H2NgYnp6e0NDQeN2/avIc6rEjLAqFAjNmzKhy5uf27dthZGTEUVZEFRiGwbFjx/DZZ5/VeNi5vr4+vvjiCyxcuBA6OjqNnCEhqpWYmAg3NzdWzM3NDbdv30aXLl2qvcbCwgLnz5+HlpYWQkND8cUXX+Do0aMAnm5QHB4eDqlUis6dO+P999/HmjVrcOfOHdy8eRPA04KmOhs3bsQ8T08Mz8jEqdwc/JyaglUd7cADoKWpCYFAAJFIBF5lJWKKinDK3QNiLS1IFQpsse8KPaEQGeXleO/2LRxxffqeEouLcdrDA3oCIUZERsC/TRtIZFI8Kq/AKY+nvYZFMhlaCYW4mpeHFR06oJOuLr66dxfdDPTxjpUDTubkIPD0adg926g4LS0NFy9eBI/Hw5kzZ6Crq4vg4GCsWbMGkydPRnh4OBQKBRwcHPDee+/h9OnTePz4McLDw1FZWQlvb2+MHDkSABAWFoZbt26hTZs2r/X3SF4OFXaE5aeffsKVK1dYsTlz5mDYsGEcZURUISwsDIsWLUJwcHC1rwuFQsybNw8rVqygOZSkWatrQ/WKigosWLAAsbGx4PP5rB7tQYMGQVdXF8DT7X6qWzVenaKiIiQlJeGH9HRsrayEgmFgqaVdY3t3fX2In503ywDY8PABIgoLwefxkPLcylm3Vvow1tAEANiJdJFeUYFOuiI8rqzAynt3MdjYBN7VfCCPKCzEvK4OAIDhpqZYGXETleXlAJ7uevD898jHxwfA0/0qu3XrBkNDQwBAq1atkJeXh3PnzuH48ePKPfwKCgpw7949AICXlxcVdRygwo4o3blzB0uWLGHF2rVrp/LJxqTx3L9/H1988QUOHjxYY5uxY8fi22+/RadOnRoxM0Ianr29vbK37V+RkZHo1q0bhEIhFM/OaH2+ePvxxx9ha2uLffv2ITs7Gz179lS+pvWs2AIAgUAAuVxerzwYhoG+vj42Dh8Ol/sP6myvw/9vltTxnMcolStwzM0dAgDO10KVr2ny/yvABDxAwTAwEGrguLsHruRJsDP9EYLz8/C5bftan8fj8SB/tpeeSCRivfbve+bz+az3z+fzIZfLwTAMVq5cCV9fX9Z1ly5dqnIv0jhojh0B8HRDWj8/P5Q/+9T2r127dtEh7k2QRCLBJ598gi5dutRY1PXo0QNXr17FkSNHqKgjzdLgwYORl5enPOO6sLAQy5Ytw7Jly2BjY4Po6GgAwJEjR5TXFBYWok2bNuDxeNizZ0+dz2jVqhWKiopqbaOvrw/9Vq0QkZ4OAJAqFLhbzzNii2VymGpqQMjj4fSTXFQ8K0ZrIpFKwTAM3jRtjQXW1rhVXFKljYe+Pk7k5AAATj/JRUdTUwiEr9bPM3jwYOzYsUO5ifmdO3eq/H+ENC7qsSMAns7/CAsLY8UWLlyI/v37c5MQeSUVFRX45ZdfsHr16hp3k2/Xrh2+/fZbTJo0ic75Jc0an8/H0aNHMW/ePCxduhTp6enYsmUL+vfvj86dO2P06NH4+++/MWTIEOU18+bNw/jx47Fv3z4MHjy4zmeYmJjA3d0dTk5OmDJlCry8vKpt9/6CBdj+/fc4ml8AORjMtrRCx3r0aI0ya413EhIwPjoKHvoGMKyjAMuuqMDnyUlQMICQx8MX7av21r1vbYPPk5Jw7HE2DIQamDZsGDS1ax4ars3w4cMRHx+PHj16gGEYmJmZ4fjx4/W6trCwEF27dkVhYSEEAgE2btyIhw8fvlIe5D+0QTFBXFwcPDw8IJVKlTE7OztER0dTV3oTwTAM/vjjD3z++ed48KD6oR5DQ0MsX74cCxYsYA2pENJS7N+/H9988w2uXLnS6IvB/vnnH9w5cwZvXLveqM+tj3O9eqLz0KEYNGgQ16kQFaCh2BausrISfn5+rKKOz+cjICCAiromIjg4GL169cLkyZOrLeo0NDTw8ccf4969e/j444+pqCMt1tSpUxEXF8fJCn+xWIxiHR1I1ex0B6lAgGIdHYjFYq5TISpCQ7Et3Jo1axAVFcWKLV68GL169eIoI1JfycnJ+Pzzz1nzg140adIkrF27Fu2rGY4hhDQesVgMnlCIAl1dmBYWcp2OUoGuLnhCYYMWdnFxcZg+fTor1rFjRxw+fLjBntmSUWHXgkVERGDNmjWsmIODA7766iuOMiL1kZubi1WrVuF///sfZM9Wsr3Iy8sLGzduZK3oI4Rwx9jYGNq6usg0Nlarwi7T5GlexsbGDfYMJycn5UIV0vBoKLaFKi8vh6+vL2u5vlAoREBAAA3VqamysjKsW7cOHTp0wObNm6st6jp27Ig//9/efcdVWfYPHP+cwUaQoYAgaspQEVDUUlwtLUszK1OzNJ8yzccyR5bbciVk05ZZar9H08c0SW2oZSVoIg4UUcCUIYIs2euM3x8aj0cOTuDA8ft+vXq94rqv+76/B9TryzW/+44///xTkjohGhCVSkWnLl1I8W6JVtkwml6tUklyy5YEhoTU2vFhwvQaxp8uUe/mzZvHiasOg541axYhISEmikjURKfT8Z///Ad/f3/eeOMNCoz8tu/i4sKHH35IXFwcQ4cOldWuQjRAQUFBVNrakubqaupQAEh1dUVja0tgYKCpQxG1SIZi70BRUVGEhYUZlHXu3JlZs2aZKCJRk99++41p06Zx6NAho9etrKyYPHkyb7zxRtWO8EKIhsnJyYk2Pj4k5eTQMisLpQk3pdApFJxu5U0bX185LtLMSI/dHaa4uJjRo0dz5S43lpaWrF27Vg5ibkDi4+MZNGgQ9913X41J3ahRozh16hRLly6VpE6IRiK0d2+KXF1J9PQ0aRwJnp4UuboS2quXSeMQtU967O4wb775JklJSQZlb731FgEBASaKSFwpMzOTefPm8eWXX9Z4XFG/fv0IDw+XYXMhGiEPDw+6hYYSXVaOR24uDjd4AsXNKiwqory8HFsbm2pbV+Xb2nLK14fuvXrh4eFRJ+8XpiMbFN9BfvvtN+677z6DsnvuuYe9e/fKxFkTKykpYfny5bzzzjsUFRUZrePv78+yZct49NFHZQ6dEI2YRqNhzVdfoT0RT+/Dh1Ff55iwm1VQUEBR8f/+HbGwsKRp06ZYqNVolEr+6NIZi/bteW7sWNS3eJSYaLhkKPYOUVBQwPPPP29QZmNjw5o1aySpMyGtVsvXX3+Nj48Pc+bMMZrUNW/enE8//ZRjx44xaNAgSeqEaOTUajWPDB5MSYsW/NWxA7pa/jtdVl5u8HVlZQVZWVnkFhSwv0N7Sj1aMHDwYEnqzJQkdneIadOmkZycbFC2ZMkSOfzdhH755Re6dOnC2LFjSU9Pr3bdxsaG2bNnk5SUxPjx4+UfYSHMiLu7O48/PYxcb2/2BXREU4tboBj7ZV2rUnIwKJBTNraUajU0b9681t4nGhYZir0D/PjjjwwcONCgrG/fvvz6668oG8h+SneSY8eOMX36dH7++Wej1xUKBWPGjOHtt9/G08QTrIUQdSs5OZktGzZim55OSHx8rcy5KyoupqAgv+rrYgcHToZ0Jd3Who1btpCamsr06dNZtmzZbb9LNDyS2Jm5vLw8AgICDHqE7O3tiY2NpU2bNiaM7M6Tnp7OnDlzWL16Nboa5tQ8+OCDhIWFERQUVM/RCSFMJSMjg+0REeSlncM/MRGfc+duayuUsvJycnNz0CkUpPv6kujvz7ncXCJ27ODChQsA+Pn5cfLkydr6CKIBkbEdM/fKK69UG+Z79913JamrR4WFhYSFhfHuu+9SUsNv4wEBAYSHhzNgwIB6jk4IYWru7u6MHjuWyMhIoq2tSPNwp21yCi2zs1HdysIKCwsyW7UitV07su3tiYyOJioqymClfd++fWvxE4iGRHrszNiWLVsYOnSoQdmAAQP48ccfZQJ+PdBoNHz11VfMnTuXzMxMo3U8PDxYuHAho0ePlkUsQgjS09OJiozkTEIC6pISWqWm4pGTi2NxMRY1bIEEUKlSkW9nx3kXZ5JbtiSrvJyEM2eIjIoiIyPDoO4DDzzADz/8gLW1dV1/HGECktiZqaysLDp27EhWVlZVmaOjI8ePH8fLy8uEkZk/vV7Pjh07mD59OvHx8Ubr2NnZ8frrrzN16lTs7OzqOUIhREOXl5dHbGwssTExlBUXo9dosC8txSE3D0uNBqVeh06hpEKtpsDZiSIbGxRqNdZ2dgSGhPDiiy+SmJho9NnNmzcnLi4O1wZytJmoXTIUa4b0ej0TJkwwSOoAPvzwQ0nq6tihQ4eYPn06v/76q9HrSqWSF154gQULFuDu7l7P0QkhGgsnJyf69u1Lr169yM3NJTMzk8zMTLIyMigrK0Or0aBSq7G0tsbP3R03Nzfc3NxwdnZGpVLRp0+fGhO7CxcuMGHCBDZu3CijN2ZIeuzM0Pr16xk5cqRB2WOPPcaWLVvkL3EdSUlJYfbs2XzzzTc11nnkkUd455136NixYz1GJoS4ExUVFbFgwQKSk5N57rnnWLlyJREREQZ11q9fz/Dhw00UoagrktiZmfPnz9OxY0fy8vKqylxcXIiLi8PNzc2EkZmn/Px8li5dynvvvUf5VZuC/iM4OJjw8HDuv//+eo5OCCEuycjIoGPHjuTm5laVOTk5ERcXJ8eKmRnZxMyM6PV6XnzxRYOkDuDTTz+VpK6WVVZWsmLFCtq1a8fSpUuNJnVeXl6sXbuWmJgYSeqEECbl7u7Op59+alCWl5fHuHHjkP4d8yKJnRlZvXo127dvNyh7+umneeqpp0wUkfnR6/V8//33BAQE8O9//5vs7OxqdZo0acKSJUtISEjg2WeflU2ghRANwrBhwxg2bJhB2bZt21i9erVpAhJ1QoZizURKSgoBAQEUFhZWlbm5uREXF4eLi4sJIzMfBw4cYOrUqezdu9fodZVKxfjx45k3bx7NmjWr5+iEEOL6srOzCQgIMNiCycHBgWPHjuHt7W3CyERtka4EM6DT6fjXv/5lkNQBrFy5UpK6WnDmzBlGjBjB3XffXWNSN2TIEOLi4vj4448lqRNCNFiurq588cUXBmUFBQX861//kiFZMyGJnRn47LPP2LVrl0HZmDFjGDRokIkiMg95eXlMmzYNf39/vv32W6N1unXrxu+//86WLVvw8/Or5wiFEOLmDR48mNGjRxuU7dq1i88++8xEEYnaJEOxjdzp06cJDAw0OKrKy8uL48eP4+joaMLIGq/y8nI++eQT3n777WoLUf7RunVrlixZwrBhw2QOnRCi0bl48SKdOnUiLS2tqszW1pbY2Fjatm1rwsjE7ZIWqRHTarWMGTOm2vmjq1atkqTuFuj1ev773//SoUMHpkyZYjSpa9q0KeHh4Zw8eZLhw4dLUieEaJSaNm3KqlWrDMpKSkp4/vnnDc6UFY2PtEqN2AcffFBtztf48ePp37+/iSJqvCIjI+nZsyfDhg3j77//rnbdwsKC1157jaSkJKZOnYqVlZUJohRCiNrTv39/XnrpJYOyP//8kw8++MBEEYnaIEOxjVR8fDydO3c22D+tTZs2xMbGYm9vb8LIGpfExETeeOMNNm/eXGOdp556iiVLlsjwhBDC7BQWFhIUFMSZM2eqyqysrDh8+DDt27c3YWTiVkmPXSOk0WgYPXq0QVKnUChYvXq1JHU3KDs7m1dffZUOHTrUmNT17NmTqKgoNm7cKEmdEMIsNWnShK+//tqgrLy8nNGjR6PRaEwUlbgdalMHIG7eO++8Q3R0tEHZ5MmT6dOnj4kiajzKysr48MMPWbx4Mfn5+Ubr/HOaxNChQ+VsXSGE2evbty+TJ0/m/fffryqLjo5m2bJlzJw506CuVqslNzeXzMxMMjMzycrIoLy0FJ1Wi1KlwsrGhmbu7ri5ueHm5oazszMqlaqeP9GdTYZiG5mjR4/SrVs3Kisrq8r8/Pw4fPgwNjY2JoysYdPpdKxfv56ZM2eSkpJitI6zszPz5s1j/PjxWFpa1nOEQghhOqWlpQQHB5OQkFBVZmFhQXR0NEFBQeTl5XH06FGOHTpEWXExeo0G+9JSHHNzsdBoUOr16BQKKtVq8p2dKbKxQaFWY21nR6cuXQgKCsLJycmEn/DOIYldI1JRUUG3bt2IjY2tKlMqlURFRXH33XebMLKGbc+ePUybNo2YmBij162srHj11Vd58803adq0af0GJ4QQDcT+/fsJDQ1Fp9NVlfXp04eJEyaQfPo0FiUleKek4pGbi2NxMRbXWD1bqVKRb2fHeWdnUrxbUmlrSxsfH0J798bDw6M+Ps4dSxK7RmTOnDksXLjQoOzNN99k8eLFJoqoYYuPj2fGjBn88MMPNdZ55plnWLRoEa1atarHyIQQomF68803Wbp0KSqVip49exLarRse5eV0OJ+BV3Y2qiuSvhulVSpJc3UlqZU3Ra6udAsNJTQ0FLVaZoPVBUnsGono6Gh69OhhsL9Qp06diI6Olq03rpKZmcn8+fNZuXJljfsx9e3bl/DwcLp27VrP0QkhRMNVXl7OfffdRwc/PzydnPA5eZIWCYk0d3HB0sLitp6tUyhI9PTkpI8Pzl6eDBw8GHd391qKXPxDErtGoLS0lJCQEOLj46vK1Go10dHRBAcHmy6wBqakpIT33nuPpUuXUlRUZLSOn58fYWFhPProo7IwQgghrpKcnMyG//s/1GfP0j4mBtuCAgDUaguaNXNFwe3/u1lga0tM+/aUtGjB408PkxGTWibbnTQCc+bMMUjqAObOnStJ3WVarZbVq1fj6+vL7NmzjSZ1zZo145NPPuHYsWMMGjRIkjohhLhKcnIy361fj1vaOXofOlyV1AFoNJUUFhTWynscSkroffgwTc+e4bv160lOTq6V54pLpMeugdu7dy99+vThyh9TSEgI+/btw+I2u8XNwc6dO5k+fTpHjx41et3GxoYpU6bw+uuv4+DgUM/RCSFE45CRkcG3a9fS9MxZesTFodDryc7OprKy4opaClxdXGpt1wCdQsG+gI5cbN2G4c89K8OytUR67Bqw4uJixowZY5DUWVlZsWbNmjs+qTt+/DgPP/ww/fv3N5rUKRQKxowZQ0JCAgsXLpSkTgghaqDRaNgeEYFt+nnuPnECpV6PAi7vEnDl6IaevIsXqa3eIKVez91xJ7A5n86OiAjZELmWSGLXgM2YMYPTp08blL399tt07NjRRBGZXnp6Oi+88AJBQUH89NNPRus88MADHDp0iK+//hovL696jlAIIRqXyMhI8tLOERIfj/qKVa8WajUODk0M6mq1GiquOPXodql1OkJOxJN77hxRUVG19tw7maw1bqB2797NihUrDMp69uzJlClTTBSRaRUVFREeHk5YWBglJSVG6wQEBBAWFsaAAQNkDp0QQtyA9PR0oiMj8U9MxMHIv612dvaUlZZRccWQrLKWT5JwLCnBLyGRA1ZW+Pj4yD53t0l67Bqg/Px8xo4da1BmY2PD6tWr77ijWTQaDStXrsTHx4cFCxYYTerc3d358ssvOXLkCA899JAkdUIIcYOi9u7FPjsbn3PnjF5XcOlUHmtra9QqNQ4OjljUwf5zvufOYZ+dTeTevbX+7DuN9Ng1QFOmTKl27NWyZcvw8fExUUT1T6/X8+OPP/L6668TFxdntI6dnR3Tp09n6tSp2Nvb13OEQgjRuOXl5XEmMZHOySkor7GOUqlU4uzkXKexKPV62iancMTFhby8PDl+7DZIj10Ds23bNr766iuDsnvvvZeXX37ZRBHVv8OHD/Pggw/yyCOPGE3qlEolL774IomJicybN0+SOiGEuAVHjx7FoqQEr+xsU4cCQMvsbNQlJQbHZoqbJ4ldA5KTk8OLL75oUNakSRO++uorlErz/1GlpqYyevRoQkJC2L17t9E6AwcOJDY2li+++ELmYQghxC3SarUcO3QI75TUWzomrC6odDpapaYSGxNT46lB4vrMP1toRCZNmkRGRoZB2XvvvUfr1q1NE1A9KSgoYNasWfj6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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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74fRaOTqBVa90cBAZ2cWeHkDl35uW12nd6v1FbPBSoUCwxU/Bmyv+Hmv8fDgCR9frvZdSCg7tFpeP32K+9u5M7V9e6xUKvQ6HXDpHVy9Xl/l54vRaKzyrmh1sWspLy9n3LhxvPzyy3Ke6k2StYAW4rnnniM1NdUstmzZMrp06WKhjERdS0hIYOLEiQQEBLB+/fpqizp7e3uee+45UlJSeO+996Sou0JZWRnfffcdDzzwAG3btkWj0fDtt99es6izs7NjwoQJbNy4kXPnzvHVV18xZswYKeqaATc3N/z9/XnuueeYNGkShYWFuLu7o1ar2bhxY62K/cLCQry9LxVk//3vf6873t/fnz9OnkR7sRBtXh7JWZm0Ly3lz/x8TufnUVR0kVM5OWTUcCzRjejr7MKPubkU6C69mpFdXk5eZSU55eXYq1SMc3dnensvjhb/byOH6qqC0sXFBRsbG2JiYgD4+uuvq7QUDA8PZ/PmzVRUVJCdnc327dtrzMloNDJjxgzuuusupk6desvfsaWSGbsW4KeffqoypT1o0CCefPJJC2Uk6lJcXBxLlizhu+++q3GMg4MDTzzxBHPnzpXm8FeoqKjg119/JSIigi1btlB4xbtINbG2tmbEiBFoNBruu+8+HB0dGyBTYQkajYY5c+Zw//33o9PpGDVqFL1796Z///60adPmutc///zzzJgxg2XLllWZfdLr9cTHx7N//36KiooIDAwksHt3OrVty+QjR1ApFIxycuJvzs4827YtC7Ky0HHpP9qL7ezwsrO7pe/WxcGBWV7ePJh4CCNGHFQq3u16B6dKS/lnymmUCgW2SiVv+PkBYASsr9oUAbB69WrmzJlj2jwxZ84cs8979+7NPffcQ1BQEF27djXtNK5OVFQUERERBAUFmX6e/ec//yEwMPCWvmtLozBea4uKaPLy8vIICAggMzPTFHN0dCQxMZGOHTtaMDNxq/bv38+SJUtqPBMKoFWrVjz11FM888wzuF1+t6al0+l0bN++nYiICL799lvy8vKue41arebuu+9Go9Fw//334+zs3ACZiubCaDRy+vRp9u/fb/q/uLi4KrN+d911F8P9/Oj722813kupUNLO3f2au2Lrw6939qXrPfcwdOjQBn2uuHEyY9fMPfXUU2ZFHcCKFSukqGvCoqOjWbx4Mdu2batxjLOzM8888wxP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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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VVd16llSU1MZO3asYlhyzpw5bNy4sVPtdbXZs2fzww8/mF9rNBqmTp1K9MSJeNbWMuTAAUbW1ODUid7RJqORdFtb8keOoMzRkfjdu3FycuL777/vdadxCCHOTgo7IfqgjRs3cuWVVypijzzyCK+++mqP51JYWEhCfDwHMzNpKS9ncF4e7kVFOFRW4uPiqlh5erIWjYYqBweKPNzJGzIEvb09w4KDiT5lW41ff/2VDz/8kNDQUB599FEOHz7M7NmzOXjwoKI9lUrFyy+/zKOPPtqpgmTx4sWt9rf74YcfmDVrVofb6mo33XQT69ataxX38fEheupUgocNw12rZXhhIb7lOlzq6rA65dSOk5363deoVKRkZBCfkEBxcTFw/P+xOXPmdNszCSG6hxR2QvQxDQ0NjB49WrGHm6+vL1lZWTi1o3esu6xatYqvvvqKqIgIHGxt0apUDFKpcNZVYK3XozYZMarUNGu1VLu7UWtnh0qrxdbBgcjx44mMjGz3qQbl5eVcc801xMbGtnrv9ttv59133z1tQXk6VVVVBAcHKzZ5HjlyJKmpqee8yfO5Onr0KJdeeinp6eltvu/i4sLKlSupKiujsa4Ok16PY0NDu7/74cOHM3nyZIqKisxtDhs2jPT0dGxtO94LKISwHCnshOhjXnjhBZ577jlFbO3atdx0000Wyui4WbNm8eOPP6JSqfDw8ODaa6/l+uuvp7S4mObGRgx6PRqtFmtbW7x8fPD29sbb2xt3d/cOT/wHaG5u5u677+ajjz5q9d706dP5+uuvO7RKFGDNmjXcfvvtithLL73U6nxZS3jppZd46qmnTvt+WloaISEh6HQ6SkpKKCkp6dB3v3btWv7yl78o2nzhhRd45plnuvW5hBBdSwo7IfqQ3NxcQkNDFXvFxcTEsHXrVovOh6qrq8PDw+PE5sTHff7559xwww3del+TycRrr73G448/3mpj4REjRvD99993aM6h0WgkOjqaHTt2mGP29vZkZmYyZMiQLsu7owoKCggJCaGurq7N9729vTl69Og57TVnMpmYPn06cXFx5pitrS2ZmZmyMlaIPkS2OxGiD3nwwQcVRZ1arWbVqlUWn+T++++/K4o6jUbDpZde2u33ValUPProo6xfv77VFi8HDx5kypQp/Prrr+1uT61Ws3r1asX3WV9fz8MPP9xlOXfGI488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Nw/76hrFey36FmpqarCy6tjK5VPLN2trG+xsT1/Mu9TXE5Kdw664uFb/ELCkuXPnctlllyliy5YtIzMz00IZCSGksBPCAkwmE/fddx96vd4cs7KyYvny5b168vkPP/ygeD179mwLZdJzEuLicCwrY3RpKR4eHqhVyh+bRqMBg16PtZU1KpUae3sHbGxsztimtY0NDvYOqFRqrK1t2rUHXHBBAY5lZcTHxZ3T83QllUrFihUrFBs4t7S0cN999yGzfISwDCnshLCAb775hl9++UURe+ihhwgODrZQRmeXm5tLamqqItafh2Hh+NYuh3NyGJl3BLXJhI21NZ5eXq3muRlNRhwdHfH18cHVxaVVj9ypVICLiwu+Pj54enigaceRXGqTiRF5RzicnU1FRUXnH6qLBQcH8+CDDypiv/zyC998841lEhJigJPCTogeVl9fz+LFixUxf39/nnrqKQtl1D6n9tZ5eHgwefJkC2XTM/bt24dVfT2DT9o4WqvR4OnphY31/3rlVCq1otequwwpK0NbX09KSkq336sjnn766VZnGS9evLjVXoBCiO4nhZ0QPeyf//wneXl5itgbb7zRauuM3ubU+XWzZs1Cc2Jrjv7IYDCwPymJgCP5rU6UUKtUuHt44OrqhqODIx4eHj3yXWiMRgLz80lJTGy1+MKSHB0deeONNxSxvLw8/vnPf1ooIyEGLinshOhBhw4davWX3QUXXMC8efMslFH71NbW8vvvvyti/X1+nU6no7GuDt9TVgH/SQXY29nh7OyMdQ/01v3Jt/x4XqeuTra0G264gfPPP18Re+WVVzh06JCFMhJiYJLCTogetHjxYpqa/rcprUajYdWqVb16wQTAb7/9RvNJW3hotVouueQSC2Z0bl544QXCw8OJiIhgwoQJHD58uNU1JSUlmPR6Zv28uVP3+PfRfMXr0LhtzE1OMv9q7sS5sgAudXWY9HpKSkoU8e+//57w8HDUanWruZA9QaVSsWrVKkXPZVNTU6v5d0KI7iWFnRA95Mcff2Tjxo2K2MKFCwkPD7dQRu136jBsTEwMrq6ulknmHCUkJLBlyxb27t3L/v37+eabb9p8lpKSEhzPYY7Yv48eVbx20mrZOC7K/Mu6HQsm2mJlMODY0NCqsAsJCeGrr75i+vTpnc75XEVERHDvvfcqYt9++y0//vijhTISYuCRwk6IHtDU1MT999+viA0aNIglS5ZYJqEOMBqN/Wqbk+LiYtzc3MwrWwcPHoybmxubNm1iypQpjB07lr/97W+UFBbicspw5zv5R7hmbzJzkhJZd9J+cquP5HFFUiJzkpL4pLCAN3NzqdHrmZucxJKDB06by6ykRBoMBhoMBsLi40iurgZgbnISNXo9dQYDj2Rlcc3eZK7Zm0xidRUAzroKSk85YiwoKIhRo0Z1yXd0Lp5//nm8vLwUsfvvv1/RUy2E6D5S2AnRA5YtW0ZOTo4i9s9//rNP9HolJye32hS3L29zMnPmTLKzswkNDeX+++9n9+7dlJWV8eabb5p78qytrdm2bRtWJ+0zGFuho7y5hfVjx/H12HF8VVJMcVMTf+jK2VVVxYax4/guKoq5XoN4cOhQcw/dkhEjAcyF3tzkJJ49cPz/hUhHJ/bV1LC3poYQewcSq6upOXFPJ62Wt/OPMNPDg/Vjx/F2aBhLDhwEwFqvp7mdZ9L2NFdX11bzSHNyclqdUiGE6B6949BBIfqxo0eP8uKLLypiU6ZMYcGCBRbKqGNOHYYNCgoiJCTEQtmcOycnJ5KTk/njjz/49ddfmTlzJh9//DEpKSlMmTIFOH4OakRYGGpnZ/Pn4isq+V2nY9eJXrNavZ4jjQ1sr6ziWm8f89Cq62kWUvxZ6J0sytmZxOpqTJi4c/BgfigtZaS9PeNOHFOWUFFJrE7H6vwjAFTqW2g2GlGbjBhOKjp7m1tvvZX33nuPnTt3mmMvvvgiN998M4MHD7ZgZkL0f1LYCdHNHn74Yerr682vVSoVq1evRt3JOVY97dTCri8Pw/5Jq9Uyc+ZMZs6ciaenJ4sXL2b27Nl8+OGH5ms+fv99jCed8mACFgUEcLW3t6KtX8s7vzo1ytmZlw8dQqWC2/z8WVdURGJ1NeOdXU7c08R7YaPxs7VVfM6oUqPR9t4f32q1mtWrVzNp0iTzCRR1dXU88sgjrFu3zsLZCdG/9Y2/WYToo/744w+++OILReyvf/0r48ePt1BGHVNcXMyePXsUsb5e2GVlZXHw4PEhTZPJRFpaGnfddRd//PEH+fnHV7KWl5dTW19Py0nF01RXV74qKabxxP5xh+rraTIamerqytclxeZVrpUtLQBoVCoMZzlWa4SdHbmNDTQZjThqtQyzt+PbYyVEnegpnOrqxtqThsEzamsBaNZqsT6l2OttJkyYwJ133qmIff7552zZssUyCQkxQEhhJ0Q3+fPMzJO5ubmxdOlSC2XUcZs2bVK8dnZ2Ztq0aRbKpmvU1tbyl7/8hdGjRxMeHo7RaOS+++7jnXfe4aqrriIyMpJLLrkEjbU1Ve7u5s9d4O7OBe7uXLdvL1ckJbLk4AEMJhMXuLsz2cWVq/YmMzc5ie9KSwG4epA3s09cdzoqlYoge3uC7R0AiHJyxggMPlG03RsQQHlLC7OTErk8cQ9flhxfMFHt7oaXj4+irc2bNzN48GC2b9/OxRdfzPz587vya+uUl156qdU5uIsWLaLlRPErhOh6KpOc1CxEt1ixYgUPPPCAIvb2229zzz33WCahTrjmmmvYsGGD+fV1113Hl19+acGMek5qaiqbvvyS2VtjsepFpzy0aDR8f/50Zl1/fZ/YKuftt99utQXK8uXLW60SF0J0DemxE6IblJSU8Oyzzypif26j0Vc0NTXx888/K2J9fRi2I7y9vVFptVQ5OFg6FYUqBwdUWi3ep8z1663uuusuxo4dq4g9++yzrfbhE0J0DSnshOgGjz/+ONUn9iT70+rVq/vU2apbt26lrq7O/FqlUnH55ZdbMKOe5e7ujq2DA0UnDcf2BmsrdKx4911mzpzJ2LFjGTt2LK+88oql0zotjUbD6tWrFbHq6mqeeOIJC2UkRP8mhZ0QXWz79u2sWbNGEVuwYAHR0dGWSaiTTl0NO3nyZAYNGmShbHqeRqMhIiqKIwFDMPSSFcwGtZoRF17I2v/8h71795p/Pf7445ZO7Yyio6O55ZZbFLGPPvqIHTt2WCgjIfqv3vHTSoh+wmAwsHDhQkXMycmp1YatvZ3JZOqX25x01JgxY2ixt+eop6elUwEg39MTvb09kZGRlk6lw/75z3/idGJ/vj8tXLgQQy+avyhEfyCFnRBd6IMPPiApKUkRW7JkCT6nrGDs7TIyMjh8+LAiNhALOzc3N4YFBXEgMACjSmXRXIwqFQcDAxgWHNxqpWlf4Ovry3PPPaeIJSYm8sEHH1goIyH6JynshOgi5eXlreYNhYaGsmjRIgtl1Hmn9tYNHjy4T/YSdYXomBhqPT3J8fe3aB7Z/v7UenoS3Ye3m7nvvvsIDQ1VxJ588kl0us5v8iyEUJLCTogu8swzz7T6C2rVqlVYneaIqd6srWFYlYV7rCzF19eXidHRZAYFUW1vb5EcquztyQoOYtK0afj6+lokh65gZWXFypUrFbHy8nKeeeYZC2UkRP8jhZ0QXSApKYl3331XEbv++uuZMWOGhTLqPJ1OR0JCgiI2EIdhTxYdHY3bYH8SQ0PR9/BCCr1aTWJYKO7+/kydOrVH790dLr74Yq677jpF7N133yU5OdlCGQnRv0hhJ8Q5MhqNLFy4kJP3+ra3t+f111+3YFadt3nzZsWEdjs7Oy666CILZmR5Wq2WK+bOpd7Pj52jw3psvp1RpWLn6DAafP2YNXcu2l58PmxHvPHGG9jZ2Zlft/VnSAjROVLYCXGOPvvsM7Zv366IPfnkkwQEBFgoo3Nz6jDsjBkzFH8JD1Q+Pj5cfcM8dAEBbA8f3e09d3q1mu3ho9EFBHD1DfP63AKcMwkICODJJ59UxBISEvjss88slJEQ/YccKSbEOaiuriY4OFixi/6IESNITU3Ftpcf0t4WvV7PoEGDqKioMMfeffdd7rrrLgtm1bvk5eWx4Yv/Yl9YyPiMDJzr67v8HlX29iSGhdLg68fVN8wjMDCwy+9haY2NjYwePZpDhw6ZY97e3mRnZ+Ps7GzBzITo26THTohz8Pzzz7c6GmnFihV9sqiD45srn1zUAVxxxRUWyqZ3CgwM5MYFt6AJC+WPyZPJGjy4y4ZmjSoVmYMHs2XKZKxCQ7lxwS39sqgDsLW1ZcWKFYpYSUkJzz//vIUyEqJ/kB47ITopLS2NMWPGKOajzZ49m++++86CWZ2bxx57jFdffdX8euzYsTKp/TT0ej3x8fHsjo/HsayMEXlHGFJWhsZo7HBbBrWafE9PDgYGUOvpyaRp05g6dWq/mVN3JrNnz+aHH34wv9Zqtezbt4+wsDALZiVE3yWFnRCdYDKZuPjii/n999/NMWtra9LT0xkxYoQFMzs3o0ePJj093fz6qaee4h//+IcFM+r9CgsLSYiP53B2Ntr6egLz8/Et1+FSV4fVGU5VaNFoqHJwoMjDnbwhQ9Db2zMsOJjoPr6lSUcdOHCA0aNH09zcbI7NmDGDX375ZcBusSPEuZDCTohO+PLLL5k3b54i1teLoEOHDrUqSrdv386UKVMslFHfUlFRQUpKCimJiTTW1WHS63FsaMBZV4G1Xo/aZMSoUtOs1VLt7katnR0qrRZbBwcix48nMjKyT54o0RWeeuopXnrpJUXsyy+/bLUtihDi7KSwE6KD6urqCA0NJT8/3xwbMmQIGRkZODg4WDCzc7Nq1Sruu+8+82svLy+KiorQaDQWzKrvMRgM6HQ6SkpKKCkpobS4mObGRgx6PRqtFmtbW7x8fPD29sbb2xt3d/cB/x3X1dUxatQojh49ao71hz9TQlhC/5/AIUQXe/nllxVFHcCbb77Z5/8COnWbk1mzZg34gqMzNBoNXl5eeHl5ER4ebul0+gQHBwfefPNNRS94fn4+L7/8cp/uBRfCEqTHTogO6K/zgWpra/Hw8FA8lwyFiZ50unmraWlpjBw50oKZCdG3yHYnQnTAAw88oCh+tFotK1eu7NNFHcCvv/7a6rkuueQSC2YkBhqVSsWqVasUK4Gbm5tZvHixBbMSou+Rwk6Idvr+++8V2zIA3H///f1iW4ZTh2HPP/982SRW9LiwsDDFPE84/v/mqf9/CiFOT4ZihWiHtnbJ9/HxISsrq88XQEajEX9/f4qLi82xZcuW8cADD1guKTFg9bfTXIToadJjJ0Q7vPHGG4qiDuDVV1/t80UdQFJSkqKog+ObxgphCc7OzopNsgEOHjzIG2+8YaGMhOhbpMdOiLM4cuQIo0aNoqGhwRyLjo5m27ZtfX5uHcCSJUsUxziFhISQmZlpwYzEQGc0GomJiSEhIcEcs7OzIzMzk4CAAAtmJkTvJz12QpzFQw89pCjq1Go1q1ev7hdFHbSeXye9dcLS2voz1tDQwEMPPWTBrIToG6SwE+IMfv31V7766itF7O6772bs2LGWSaiL/Pe//2Xu3LnccsstJCYmKt6Twk70BuPGjePuu+9WxL766it+++03C2UkRN8gQ7FCnEZLSwtjxowhIyPDHPPw8CA7Oxt3d3cLZnZu9uzZw8SJE9t8z9bWlvT0dIYNG9bDWQnRWnl5OcHBweh0OnMsNDSUffv2YWVlZcHMhOi9pMdOiNNYtWqVoqgDeOmll/p0UQeQkpJy2vcaGxsJCQnhnXfe6cGMhGibh4dHqzNkMzIyWLVqlYUyEqL3kx47IdpQVFRESEgINTU15tj48ePZuXNnnz9m69dff2XmzJlnvMbR0VHx7EJYisFgYNKkSSQlJZljTk5OZGVl4evra8HMhOidpLATog0LFizg008/VcS2b9/OlClTLJRRx7R1EH1TQwNGgwGD0cjvW7ZQUlZmfr+8vJyTfxT4+flRUFBgwScQ4n+2b9/O1KlTFbFbbrmFTz75xEIZCdF7SWEnxCni4uKIiYlRxG6//XY+/PBDC2XUfhUVFezbt4/9SUk01tVh0utxbGjARafDSq9HbTJhVKmoamlB5+REg5MTepOJusZGkvbvZ9++fVRXV/PVV19xzTXXWPpxhDC7/fbbWbNmjSIWFxdHdHS0ZRISopeSwk6IkxgMBsaPH8++ffvMMRcXF7KysvD29rZgZmdWWFhIQlwch3NysKqvJ+BIPr46HS51dVgZDK2uLy8vp6m5Cb1WS52LCxV+fuQHBFBvZYWLpycLbr1VhrlEr1JSUkJwcDDV1dXm2NixY9mzZ0+fnx4hRFeSwk6Ik7z99tvce++9itiKFStanV/ZW+j1euLj49kdH49jWRkj844wuKwMjdF4xs9VVFbS0FCviBnUauqDgzkaHEytpycTo6OJjo5WHMouhCUtX76cxYsXK2Jvv/0299xzj4UyEqL3kcJOiBPKysoIDg6moqLCHAsPDyc5OblXFjfFxcX8sHEjFUcLGJWTQ1BBAep2/nGurq6mtq5WEXN0dMLZyQmjSkWOvz+ZQUG4D/Zn1ty5+Pj4dMcjCNEhLS0tjBs3jrS0NHPMzc2N7OxsPD09LZiZEL2HbHcixAlPPfWUoqiD41ue9MaiLi8vj88/+QRDegYX7txJyNGj7S7qAOwdHID/7epvbW2Ds5MTAGqTiZCjR7lw50706Rl8/smn5OXldfUjCNFhVlZWrbY6qaio4KmnnrJQRkL0PtJjJwTHN+2dNGmSYmXojTfeyLp16yyYVdvy8vL4et06PPKOMCk9He1Zhl1Pp7mlhdraWqysrHB0dKStA9L0ajU7R4ehCwjg2vnzCQwMPLfkhegCN954I1988YX5tUqlYteuXUyYMMGCWQnRO0hhJwY8o9HI1KlT2blzpznm4OBAZmYmgwcPtmBmrRUXF/P5J5/gejiX89LSOtRL11lGlYrt4aOpHDqMGxfcIsOywuKOHj1KSEgI9fX/myc6ZcoU4uPjUatlIEoMbPInQAx4H3/8saKoA3jmmWd6XVGn1+v5YeNG7AuLmJye3iNFHRwfmp2clo5dUSGbNm5Er9f3yH2FOJ3BgwfzzDPPKGI7duyQfe2EQHrsxABXWVlJSEgIx44dM8eCgoLYv38/NjY2Fsysta1bt7L7t9+5cOdOnOvrz/6BLlZlb8+WKZOZNGMG06dP7/H7C3GypqYmIiIiyMnJMccGDRpEVlYWrq6ulktMCAuTHjsxoC1ZskRR1AGsXLmy1xV1hYWF7I6PZ1ROjkWKOgCX+npCsnPYFRdHUVGRRXIQ4k82NjasWLFCETt27BhLliyxTEJC9BJS2IkBa//+/axevVoRu/LKK7nssssslNHpJcTF4VhWRpCFj/kKLijAsayM+Lg4i+YhBMDll1/O3LlzFbHVq1eTmppqoYyEsDwp7MSAZDKZWLRoEYaTTmWwsbFh2bJlFsyqbRUVFRzOyWFk3pEem1d3OmqTiRF5Rzicnd1qaxghLGHZsmWKHnaDwcCiRYuQWUZioJLCTgxIX3zxBVu3blXEHn/8cYYNG2ahjE5v3759WNXXM7iszNKpADCkrAxtfT0pKSmWTkUIhg8fzmOPPaaIbdmyhf/+978WykgIy5LFE2LAqa2tJSQkhMLCQnNs6NChpKenY2dnZ8HMWjMYDLy9YgX+yXuJyM21dDpm+4cNpWDsWP5+//1yTqewuPr6esLCwhQbafv7+5OZmYmjo6MFMxOi50mPnRhwli5dqijqAN58881eV9QB6HQ6Guvq8NXpLJ2Kgm/58bx0vSwvMTDZ29vz5ptvKmIFBQUsXbrUQhkJYTnSYycGlOzsbMLDw2lpaTHHLrnkEn766SdUqrbOXuh5Wq2W8PBwABobG1lw3XVcvS2uXSdMHG1sJKWmhlleXgDsrKzks6JCVoWGAfBzWRmrjhzBgAkVcJOvLzf7+gFQZzBw3s4dPDZsmDnWljqDgbsz0kmuq2P+TTexZs2ac3tgIbqAyWTi0ksv5ZdffjHHrKysSE1NJTg42IKZCdGzpMdODBgmk4n77rtPUdRZWVmxcuXKXlPUAbi6urJ371727t3LW2+9hWtzc7uPDStobOTHstI230uvreX13FzeDgtjU9R4vh4zFjv1/4ZRfy8vJ8zBkU2lbX/+T1YqFfcNCeDq889X7PwvhCWpVCpWrlypONu5paWF+++/XxZSiAFFCjsxYGzcuJHNmzcrYosXLyYkJMRCGZ1daXExjbm5zE/Zx1XJSVy/by8HThRTWXV1XJWcxNwTv8qbm1mWl0dCZSVzk5P4uqRY0daHBUe5e8gQhtjaAmCr0XCNt7f5/U1lpTwQGEhZSwslTU2nzclarWaiiwvOTc3U19V1w1ML0TmjRo1i8eLFithPP/3Ed999Z6GMhOh5MhQrBoSGhgbCwsLIPWkBgp+fH5mZmTg5OVkusTacPBTr5uLCHUOGEHU4F2u1mqTqat4/epS3w8J44eABQhwcuMHHl0aDAbVKRXJ1tWLo9eSh2KuSk3g5KJjQNiaT1+r1zElO4rcJE1mWl4eXtRUL/PzPmOcyk5HDDg78eEqxLIQl1dTUEBISothEe9iwYaSlpfXKebRCdDXpsRMDwmuvvaYo6gBef/31XlfUgXIodsFNN2HQ63k8J5srkhJ57kAOBxuO99iNc3Lmw4IC3svP51hLM9ZnOfzcBKcdcv6lvJwL3N1Rq1Rc7unJpnZsraIymTC1c4hYiJ7i5OTE66+/rogdPnyY1157zUIZCdGzpLAT/V5ubi4vv/yyIjZ9+nRuvPFGC2XUfmqNhu8zMxlsY8v346L4MDyC5hPF1JxBg/hX2Ghs1Gpu3b+ftNraM7Y10t6e9NNc82NZGZvLyrhw9y7uzUhnf00NGSUl6HQ6auvqaG5p4dSufZNKheosxaQQljB//nxiYmIUsZdffrnVP+6E6I/kp7Lo9x588EEaGxvNr9VqNatWrepVCyZOx8bOjjq9nkHW1qhUKr496VzbI40NBNjacpu/P1Nd3ThQX4+DVkPdSadpnOwO/8G8dzSfoye+iyajkXVFRVTr9aTX1bJt0mT+mDiJn8dFMc/FhZ915TQ2NVJdXUVZWSnFxUWUl5dTU1tLU3MzerUazUkT1YXoLVQqFatWrUJ90j88GhsbefDBBy2YlRA9Qwo70a9t3ryZDRs2KGL33nsvkZGRFsqoY7x8fJg0ZQrriou4Yd9e6gx683ubSsu44sTCCV1LMzM9PAixd0BvMrW5eGK0oyMPBg7lnvQ0Lk/cw3V7kwH4pbyMaa5uaE4Uuga9nhgHB34/pXfPZDLR1NxETU01c5KT+GzXLjb//DPOzs6sXbuWqqqqbv42hGi/MWPG8Pe//10R27BhAz///LOFMhKiZ8jiCdFvNTc3ExERQXZ2tjnm5eVFdnY2rq6ulkusA1JTU9n05ZfM3hqL1Wl64rqaCROlpWXo9S2nvUav1bJtzhy++vFH0tLSgOM9oWPGjGH69OnExMQQExPDoEGDeiRnIdpSUVFBcHAwZSfNGQ0JCSElJQVra2sLZiZE95EeO9FvLV++XFHUAbzyyit9pqgD8Pb2RqXVUuXg0GP3VKHCy8sLN1c37O0d0GqtWl1T5+qK3mSipKTEHDMajSQnJ7NixQquu+46vL29CQ0N5W9/+xufffYZR44c6bFnEALAzc2NV155RRHLyspixYoVFspIiO4nPXaiXyooKGDUqFHUnjScOGnSJLZv366Yd9PbWfKs2IqWFm5N3X/8hQlMJiPWKhXvBgSSPSqEff7+rHj77Q5t/hoQEMD06dPNvXohISF9Yq6j6LuMRiNTpkxh9+7d5pijoyOZmZn4+595Sx8h+iIp7ES/dPPNN/Of//zH/FqlUrFz504mTpxowaw6Z8uWLez95Rcui4tH0wu2FzGo1fw4LRrn4cM5dOgQsbGx7Nq1i+bm5g635eXlZS7ypk+fTmRkJBqN5uwfFKIDdu3axeTJkxWxm266ibVr11ooIyG6jxR2ot+JjY3l/PPPV8TuvPNO/v3vf1soo3NTUVHB+2+/zbikZAJPWhVrKbmDBrE3ahx3/v3vuLm5AcdXHO7atYvY2Fi2bdtGfHw8dZ04lcLZ2Zno6Ghzr96ECRNkLpToEnfeeScffPCBIrZ161amT59uoYyE6B5S2Il+Ra/XExUVxf79+80xV1dXsrOz8fLysmBm5+ar//6Xsh07uHBPImoL/pE1qlT8MWE8nuedx3XXX3/a6/R6PcnJyWzbts1c7Ol0ug7fz9bWlilTppgLvSlTpuDQg/MNRf9RWlpKcHAwlZWV5lhkZCSJiYmK82WF6OuksBP9yqpVq7jvvvsUsdWrV3PvvfdaKKOuUVRUxNqPPmLU/lRCjh61WB6ZgweTFRHOzbffjq+vb7s/ZzQaycjIIDY21vyrsLCww/fXarWMHz/ePHw7bdo0c6+hEGezevVqFi1apIitWrWKhQsXWigjIbqeFHai3zh27BjBwcGK/dTGjBnDnj17+sW/yLdu3cru337nwp07ca6v7/H7V9nbs2XKZCbNmHHOw1cmk4nDhw+be/NiY2M5cOBAh9tRqVRERESY5+jFxMR0qOAUA4ter2f8+PGkpKSYY66urmRlZcnWPKLfkMJO9BttzaGJjY1tdbRQX6XX6/n4ww8xpGcQk5yMtgcXUujVamKjxmEVGsqCO+7olkK5qKjIXOTFxsYqhtM7YuTIkYqVt8OGDZOVt8Js27Ztrf5h8n//93+8//77FspIiK4lhZ3oF9pa9XbzzTfz2WefWSij7lFcXMznn3yKa+5hzktN65H5dkaViu3ho6kcOowbF9yCj49Pt98TQKfTER8fb+7V27NnD4ZObNLs7++vWHkbGhrap7a8EV3v1FXzADt37mTSpEkWykiIriOFnejzjEYjkydPZs+ePeaYo6MjWVlZ+Pn5WTCz7pGXl8fX69bhfuQIk9PSu7XnTq9Ws3N0GLqAAK6dP5/AwMBuu9fZ1NbWsmPHDnOv3o4dOxRnALeXh4cH06ZNM/fqjR07tl8M1Yv2KywsJCQkRLHP5cSJE9mxY4cU/aLPk8JO9Hnvv/8+f/3rXxWx1157jYcffthCGXW/vLw8NnzxX+wLCxmfkdEtc+6q7O1JDAulwdePq2+YZ9Giri1NTU0kJiaah27j4+Oprq7ucDuOjo5MnTrV3Ks3adIkbG1tuyFj0Zu89tprPProo4rY+++/z//93/9ZKCMhuoYUdqJPa+ssyFGjRrFv375+v/9ZcXExP2zcSMXRAkbl5BBUUNAlQ7NGlYpsf3+ygoNw9/dn1ty5PTb8ei4MBgMpKSmKBRmlpaUdbsfa2prJkyebh26nTp2Kk5NTN2QsLKm5uZnIyEiysrLMMU9PT7Kzs2WltejTpLATfdqiRYtYvXq1Ivbzzz8zc+ZMC2XUs/R6PfHx8eyOj8exrIwReUcYUlbWqRMqDGo1+Z6eHAwMoNbTk0nTpjF16tQ+O0xpMpnIyspSLMjozHm1arWacePGmYdup02bhqenZzdkLHrazz//zKWXXqqILVy4kFWrVlkoIyHOnRR2os/at28fUVFRGE8qYq655hq+/vprC2ZlGYWFhSTEx3M4OxttfT2B+fn4lutwqavD6gwLDlo0GqocHCjycCdvyBD09vYMCw4metq0frltSF5enmLT5MzMzE61ExYWpliQMXjw4C7OVPSUa6+9lvXr15tfq9VqkpKSGDNmjAWzEqLzpLATfZLJZGL69OnExcWZY7a2tmRmZva6uWA9qaKigpSUFFISE2msq8Ok1+PY0ICzrgJrvR61yYhRpaZZq6Xa3Y1aOztUWi22Dg5Ejh9PZGTkgBqGKikpIS4uzlzs7d27l878SBw2bJi5yJs+fTojR46ULVb6iNzcXEJDQxULcWJiYti6dav8Hoo+SQo70SetXbuWv/zlL4rYCy+8wDPPPGOhjHoXg8GATqejpKSEkpISSouLaW5sxKDXo9Fqsba1xcvHB29vb7y9vXF3d0ej0Vg6bYurqqoiISHBPHS7e/duWlpaOtyOt7e3ucibPn064eHhstqyF3vhhRd47rnnFLG1a9dy0003WSgjITpPCjvR51RXVxMSEkJxcbE5Nnz4cNLS0mQ1o+hSDQ0N7Ny50zx0m5CQQH0nViC7urqat1iJiYlh/PjxWFlZdUPGojMaGhoYPXo0hw8fNsd8fX3JysqShTOiz5HCTvQ5jzzyCK+//roitnHjRubMmWOhjMRA0dLSQlJSkmKe3smHyreXvb09U6ZMMffoTZ48GXt7+65PWLTbxo0bufLKKxWxRx55hFdffdVCGQnROVLYiT4lMzOTiIgI9Hq9OTZr1iy+//57mQ8jepzRaCQtLc08dBsbG6voSW4vKysrJkyYYC70oqOjcXFx6YaMxemYTCauuOIKfvzxR3NMq9Wyf/9+Ro0aZcHMhOgYKexEn2Eymbj00kv55ZdfzDFra2tSU1MJCgqyYGZCHGcymTh48KBiL71Dhw51uB2VSsWYMWPMCzJiYmLw9vbuhozFyXJycggPD6e5udkcmzlzJps3b5Z/OIo+Qwo70WesX7+ea6+9VhF74okneOmllyyUkRBnd/ToUbZt22Yu9NLS0jrVTkhIiGLl7UBe/d2dnnjiCV555RVFbP369Vx99dUWykiIjpHCTvQJ9fX1hIaGKjaYHTx4MJmZmTg4OFgwMyE6pry8nLi4OHOvXlJSEoYz7DV4OkOGDFHspTdq1CjpVeoCtbW1jBo1ioKCAnMsMDCQ9PR0mQcp+gQp7ESf8Oyzz/Liiy8qYp9//jk33HCDhTISomvU1NSwfft2c6G3c+dOmpqaOtyOl5cXMTEx5kJvzJgxsoVNJ33xxRfceOONitizzz7L888/b6GMhGg/KexEr3fo0CHCwsIUf9ldeOGF/Pbbb9JDIfqdxsZGdu/ebR66jY+Pp7a2tsPtODs7M3XqVPPQ7YQJE7CxsemGjPsfk8nERRddxJYtW8wxGxsb0tPTGT58uOUSE6IdpLATvd6VV17Jxo0bza81Gg379u1j9OjRFsxKiJ6h1+vZt2+fedXttm3bKC8v73A7tra2TJ482Tx8e9555+Ho6NgNGfcPqampjB07VjFMPnfuXL799lsLZiXE2UlhJ3q1TZs2ccUVVyhiDzzwAMuWLbNQRkJYltFoJDMz01zkbd26VTEfrL00Gg1RUVHmHr1p06bh7u7eDRn3XYsXL2b58uWK2KZNm7j88stpaWmRTaZFrySFnei1mpqaCA8P58CBA+bYoEGDyM7Olj2+hDjBZDKRm5trHrqNjY0lJyenU22Fh4ebC72YmBj8/Py6ONu+paqqiuDgYI4dO2aOBQQEEBQUxJYtW5g0aRLr16/Hx8fHglkKoSSFnei1Xn75ZZ588klFbM2aNdx6660WykiIvqG4uFhxOkZKSgqd+VE/YsQIxcrb4cOHD7h5rWvWrOH2228/7ftyOoXobaSwE71Sfn4+o0aNUpzLed555xEXFyeHqQvRQRUVFcTHx5uLvT179ihOb2kvPz8/xabJo0eP7vd/HltaWggJCVGcI3uyWbNm8cMPP/RwVkKcnhR2ole68cYb+eKLL8yvVSoVe/bsISoqyoJZCdE/1NXVsXPnTvPQ7Y4dO2hoaOhwO25ubootVsaNG9ev5p0ZjUauv/561q9ff9prJk+ezI4dOzAYDOh0OkpKSigpKaG0uJimhgaMBgNqjQYbOzu8fHzw9vbG29sbd3d32Y5GdAsp7ESv88cff3DRRRcpYnfddRfvvvuuhTISon9rbm4mMTHRPHQbFxdHVVVVh9txcHBg6tSp5kJv0qRJ2NnZdUPGPWPfvn2MHTv2jNeMHTuWZcuWsT8pica6Okx6PY4NDbjodFjp9ahNJowqFS1aLVXu7tTa2aHSarF1cCAiKooxY8bg5ubWMw8kBgQp7ESv0tLSwrhx4xTHLrm7u5OdnY2Hh4cFMxNi4DAYDOzfv1+xIOPkBQTtZW1tzcSJE80LMqZOnYqzs3M3ZNw98vPzCQwMbHN+oo+PD9OmTiV4+HC8rK0JOJKPr06HS10dVmc4SaRFo6HKwYEid3eOBAyhxd6eYUFBRMfE4Ovr252PIwYIKexEr7J8+XIWL16siL3zzjvcfffdFspICGEymcjJyVHspZebm9vhdtRqNWPHjjXP0YuJicHLy6vrE+5C//73v1m4cCHNzc3A8W1ipk6dSvTEiXjW1hKQc4BwgwGt0djhtg1qNUc9PTkQGECtpycTo6OJjo5Gq9V29WOIAUQKO9FrlJSUEBwcTHV1tTk2btw4du/eLXNRhOhljhw5wrZt28y9ehkZGZ1qZ9SoUYotVgICAro403OXkZHBnXfeyYEDB5h7xRX4u7kRlJmJX3Y2apMJHx8f1KrOLyIxqlTk+PuTGRSE+2B/Zs2dK1uoiE6Twk70Grfffjtr1qxRxOLj45k6daplEhJCtFtpaSlxcXHmXr29e/di7EQvVmBgoGKLleDg4F6xxcrhw4dZu2YNDoVFjErcg/1J/wD18fbpktXB1fb2JIaGUu/nx9U3zCMwMPCc2xQDjxR2olfYvn17qwLu1ltvbVXoCSH6hurqahISEsxDt7t27TIPZ3bEoEGDzEXe9OnTiYiI6PEe/Ly8PL5etw6PvCOM37+fqtJS9Ibj28VYWVnj5enZZffSq9XsHB2GLiCAa+fPl+JOdJgUdsLiDAYDkyZNIikpyRxzcnIiOztbhiOE6CcaGhrYtWuXeeg2ISGBurq6Drfj4uJCdHS0uVdvwoQJWFtbd0PGxxUXF/P5J5/gejiX89LSUJ/4K7OpqQkTYGtj0+X3NKpUbA8fTeXQYdy44Bb5OSg6RAo7YXHvvfdeq8URb775ZqtFFEKI/qOlpYW9e/eah27j4uLQ6XQdbsfOzo4pU6aYe/WmTJmCg4NDl+So1+v5+MMPMaRnEJOc3KkFEp2+t1pNbNQ4rEJDWXDHHbKgQrSbFHbCosrLywkODlb8QA8LC2Pv3r39aqNTIcSZGY1G0tPTzUO3sbGxFBYWdrgdrVbL+PHjzUO30dHRZ90n7ujRo/zxxx9MnjyZ4OBgc3zr1q3s/u13Lty5E+eTTsHpKVX29myZMplJM2Ywffr0Hr+/6JuksBMWdc8997TaePi3335rtUGxEGJgMZlMHDp0SLGX3sGDBzvcjkqlIiIiQrHy9uShzcOHDzNmzBhqampQq9W89tprLF68mKKiIv6zZg2j9qcScvRoVz5ah2QOHkxWRDg333677HMn2kUKO2ExSUlJTJgwQbH557x58xRHiQkhxJ8KCwvNhd62bdvYv39/p9oJCgoyF3kJCQn861//Urz/17/+lYsvugjdrl1cuCfRPK/OEowqFX9MGI/needx3fXXWywP0XdIYScswmg0Mm3aNLZv326O2dvbk5mZyZAhQyyYmRCir9DpdMTFxZmLvcTERAxnOPWhvVxcXLjv7ruJyc5maGlZF2R6bnIHDWJv1Dju/Pvf5fgxcVYyG1NYxGeffaYo6gCeeuopKeqEEO3m7u7O3LlzmTt3LgC1tbXs2LHDPHS7c+dOGhsbO9zumDFjsG5owCo9gxZXV4vP9x1SVkZqfT0pKSmcf/75Fs1F9H7SYyd6XFVVFSEhIZSUlJhjI0eOJDU1FZtu2DpACDEwNTU1sWfPHvPQbVxcHDU1NWf8jEql4v6//52xBQUM3b8fUOE9aJDFT7/ZP2woBWPH8vf777d4LqJ3O/etsoXooOeff15R1AGsWLFCijohRJeysbEhOjqaJ554gk2bNlFRUUFiYiJqtRoXF5c2T7Swt7fHwdYWN/OKXBN19R3fb++38nI+Kig4xyf4H99yHY11deh0Ot5//32CgoJQqVTU1tZ22T1E/yCFnehRaWlprFy5UhGbM2cOs2bNslBGQoiBQqPREBUVhZubG5WVlVxyySWtrhk6dChalQrHykpzzNq6Y//oNJhMzPDw4HZ//3PK13DSgJpLXR0mvZ6SkhImT57Mzz//LKdSiDbJHDvRY0wmE/fdd59icrONjQ3Lli2zYFZCiIGqrU1/q6ursaup4dWiIhw1GrKam6kpKGBpUBCTXFw50tDAYznZNBgMWKnVvBwUzEh7e9aXlLCtooJagx57jYbz3dzJrq/j8WHDmZv8v1N1curq+HXCRGzUap45cICS5ias1WqWjgxihL09j2Vn4aq1Iq22lmlubtx9Yt6xlcGAY0MDJSUlzJgxo8e+I9H3SGEnesxXX33F77//rog98sgjjBgxwkIZCSEGosrKSsaOHYtOp0OlUmEymRg0aBCDBw/GztYW3+Zm7O3sMADrwyPYXlnJ6iNH+CTCFS9raz4Oj8BarSapupo3c3N5OywMgJTaGr4dOw5HrZb1J0032TguCoAvi4vZWqHD39aWxZmZ3BswhHBHJ1Jqanjp0CE+CA8HoLi5iU8jIloNFTvrKigtLu6ZL0n0WVLYiR5RV1fHgw8+qIgFBATwxBNPWCgjIcRA5erqyt69ewH4/PPPeeedd9iyZQsff/wxX6xbh+2Jo8NmuHsAEO7oSEFTEwDNJiPPHzhIVl0daqD5pOHSGFc3HE9z9FdGbS2fFBawLnIMADuqKjnY0PZpFpd6eLY5/89ar+/UKl8xsEhhJ3rESy+9xNFTdm9/8803sbe3t1BGQggBV111FXfccYe5kDIZjeYNia3Vx2NqlQrjidiagkIG29jyRnAIZS0tzNu319yWrabtaes1ej2PZmfxanCIovDbMHYcmjYKOLvTtKM2GTHo9R1/SDGgyOIJ0e0OHDjA66+/rohdfPHFXHPNNRbKSAghjktISGD48OHm1yq1GmMbxdaf6gx6Bllbo1Kp+PbYsXbd44mcbG718yfU0dEcm+TiwufFRQAYTSay6s6+8taoUqM5TY+gEH+S/0NEt3vggQdobm42v9ZqtaxcubLNoQYhhOhuf86xM5lMaLVaxZFiGq2WljMUTzf6+LIoM4PvSo8x1dX1rPcqaGzkt/JyjjQ28knR8S1U/h02mmeGj+DZAwf4vKgIvcnEVYO8CXFwOGNbzVot1ra2fPDBBzz33HMUFxcTEhLCzTffzKuvvtq+hxf9nmxQLLrV999/z5w5cxSxhx56qFUPnhBC9Aa//fYbWZs3M3P7Dkun0sov500h5NJLZVWsOCMZihXdprGxkfvvv18R8/Hx4dlnn7VQRkIIcWbe3t7U2tnR0stOd2jRaKi1s8Pb29vSqYheToZiRbd5/fXXOXTokCL22muv4ezsbKGMhBDizLy9vVFptVQ5OOBZXW3RXN7JP8KPZWUAGNQaarMysffyIvzEtihCtEWGYkW3yMvLIzQ0lIaGBnNs2rRpxMbGytw6IUSvZTAYeHvFCvyT9xKRm2vpdMzkrFjRXjIUK7rFQw89pCjq1Go1q1atkqJOCNGraTQaIqKiOBIwBIO6e/6KNBqNdKRHxaBWkzdkCJHjx0tRJ85KCjvR5X799Ve+/vprReyee+5h7NixlklICCE6YMyYMbTY23PU07NL2zUBugodxSXFlJSU0NLOPenyPT3R29sTGRnZpfmI/kkKO9GlmpubWbRokSLm4eHBCy+8YKGMhBCiY9zc3BgWFMSBwIAz7mnXUU1NTeaTI4xGAxUVFWftuTOqVBwMDGBYcDBubm5dlovov6SwE11q1apVZGZmKmIvv/wy7u7uFspICCE6LjomhlpPT3L8/busTbVaWSTq9S3UnWVj4mx/f2o9PYmeNq3L8hD9mxR2ossUFRWxZMkSRWzChAnccccdlklICCE6ydfXl4nR0WQGBVHdRUcfWllZY2VlrYjV1NRgOHE27amq7O3JCg5i0rRp+Pr6dkkOov+Twk50mUcffZTa2lpFbPXq1TLZVwjRJ0VHR+M22J/E0FD0XbCQQgW4uLgoYiaTkeo2tlXRq9UkhoXi7u/P1KlTz/neYuCQwk50ibi4OD777DNF7I477mDy5MkWykgIIc6NVqvlirlzqffzY+fosC6Zb2dtZYW9nbIHsKGhXnHsolGlYufoMBp8/Zg1dy5aOR9WdIDsYyfOmcFgYPz48ezbt88cc3FxITs7m0GDBlkwMyGEOHd5eXl8vW4d7keOMDktHe1phk7by2A0cuzYMUym/7VjpbXC08sLg1rNztFh6AICuHb+fAIDA881fTHASI+dOGfvvfeeoqgDeOGFF6SoE0L0C4GBgVw7fz6VQ4exbdy4c55zp1GrcXZyUsRa9C2UqFXERo2jcugwKepEp0mPnTgnpaWlBAcHU1lZaY6Fh4eTnJwswwdCiH6luLiYHzZupOJoAaNycggqKEDdyb9CTRz/+anXt2BUqSgMDuZAaCi+w4cz95pr8PHx6drkxYAhhZ04J3/729/497//rYht2bKF888/30IZCSFE99Hr9cTHx7M7Ph7HsjJG5B1hSFkZmk4Mz9br9WTZ25E/ciRljo7E795NaGgo7733XjdkLgYKKexEp+3Zs4dJkyZx8v9C8+fP5z//+Y8FsxJCiO5XWFhIQnw8h7Oz0dbXE5ifj2+5Dpe6OqwMhtN+rkWjocrBgSIPd/KGDKHKZCI1K4v4hASKi4tRqVTs2rWLCRMm9ODTiP5ECjvRKUajkalTp7Jz505zzMHBgaysLPy7cENPIYTozSoqKkhJSSElMZHGujpMej2ODQ046yqw1utRm4wYVWqatVqq3d2otbNDpdVi6+BA5PjxDBo0iIkTJyo2Kp48eTIJCQmou+msWtG/SWEnOuWjjz5qtfHwK6+8wmOPPWahjIQQwnIMBgM6nY6SkhJKSkooLS6mubERg16PRqvF2tYWLx8fvL298fb2xt3d3bzH5z//+U8ef/xxRXsffvght99+uyUeRfRxUtiJDqusrCQ4OJjS0lJzLDg4mJSUFGxsbCyYmRBC9D1NTU1ERkaSnZ1tjnl5eZGdnY2rq6vlEhN9kvTzig577rnnFEUdwMqVK6WoE0KITrCxsWHlypWKWGlpaasjGoVoD+mxEx2SkpLCuHHjMJ60Auyqq65iw4YNFsxKCCH6vquuuopvv/3W/Fqj0ZCcnExERIQFsxJ9jRR2ot1MJhMXXHABsbGx5pitrS3p6ekMGzbMgpkJIUTfd/jwYUJDQ2lqajLHzj//fP744w9UXXCcmRgYZChWtNsXX3yhKOoAHn/8cSnqhBCiCwwbNqzVIoqtW7fyxRdfWCgj0RdJj51ol9raWkJCQigsLDTHhg4dSnp6OnZ2dhbMTAgh+o+GhgbCwsLIzc01x/z8/MjKysLR0dFyiYk+Q3rsRLv84x//UBR1AMuWLZOiTgghupCdnR3Lli1TxAoLC1m6dKmFMhJ9jfTYibPKysoiIiKClpYWc+zSSy/lxx9/lHkfQgjRxUwmE5dddhk///yzOWZlZUVqairBwcEWzEz0BdJjJ87IZDJx//33K4o6KysrVqxYIUWdEEJ0A5VKxcqVK7GysjLHWlpauO+++5C+GHE2UtiJM9q4cSObN29WxB588EFCQkIslJEQQvR/ISEhLF68WBHbvHkzjz76KJMmTSIsLEy2mRJtkqFYcVoyiVcIISynpqaGUaNGtZrf/Cc7OzuOHTsmP4+FgvTYidN69dVXFUUdwOuvvy4/RIQQogc4OTnxwgsvnPb9hoYGMjMzezAj0RdIj51o0+HDhwkLC6OxsdEcmz59Olu2bJG5dUII0QMyMjK4+OKLT9tjB8eHZ2fMmIFOp6OkpISSkhJKi4tpamjAaDCg1miwsbPDy8cHb29vvL29cXd3R6PR9OCTiJ6ktXQCond68MEHFUWdRqNh1apVUtQJIUQPefHFF89Y1Lm4uJCVlUVWaiqNdXWY9HocGxpw0emw0+tRm0wYVSpatFqy3N1JtLNDpdVi6+BARFQUY8aMwc3NrQefSPQEKexEK5s3b+abb75RxO69914iIyMtk5AQQgxAp+tV8/HxYdrUqQQNG0Zjfj4jiorx1elwqavDymA4bXstGg1VDg4Uubuzt7yc3fHxDAsKIjomBl9f3+56DNHDZChWKDQ3NxMREUF2drY55uXlRXZ2Nq6urpZLTAghBpjDhw9z4YUXkpeXBxwv9KZOnUr0xIl41tYSkJPD0MoqXB0cOty2Qa3mqKcnBwIDqPX0ZGJ0NNHR0Wi10t/T18nvoFBYvny5oqgDeOWVV6SoE0KIHjZs2DD279/Pk08+yZdffsmcWbPwd3MjKDMTv+xs1CYTBhtb6ERhpzEaCTx2jCGlpeT4+7O7sYmDWVnMmjsXHx+fbnga0VOkx06YFRQUEBISQl1dnTk2adIktm/fjlotC6iFEMIS8vLy+PzTT7HJzydk927sq6vN71lZWePl6XnO96i2tycxNJR6Pz+uvmEegYGB59ymsAz521qYPfLII4qiTqVSsXr1ainqhBDCQvLy8vh63Tp8Cgq5JDMLT71yDp1DJ3rr2uJcX09McjKuuYf5et068/Cv6Hukx04AsHXrVi644AJF7K9//Sv/+te/LJOQEEIMcMXFxXz+ySe4Hs7lvLQ01Cf+um5uaaGhoQE7W1usra279J5GlYrt4aOpHDqMGxfcIsOyfZAUdgK9Xk9UVBT79+83x9zc3MjOzsazC7r4hRBCdIxer+fjDz/EkJ5BTHIyWqOx5+6tVhMbNQ6r0FAW3HGHLKjoY2SMTfDOO+8oijqAf/zjH1LUCSGEhcTHx1NxtIDxGRk9WtQBaI1GxqdnoCsoICEhoUfvLc6dFHYD3LFjx3jmmWcUsTFjxnDXXXdZKCMhhBjYCgsL2R0fz6icHJzr6y2Sg0t9PSHZOeyKi6OoqMgiOYjOkcJugHviiSeoqqpSxFavXi3HzQghhIUkxMXhWFZGUEGBRfMILijAsayM+Lg4i+YhOkYKuwFs586dfPjhh4rYX/7yF6ZNm2ahjIQQYmCrqKjgcE4OI/OOmBdLWIraZGJE3hEOZ2dTUVFh0VxE+0lhN0AZjUYWLlyoiDk6OvLqq69aKCMhhBD79u3Dqr6ewWVllk4FgCFlZWjr60lJSbF0KqKdpLAboD788EP27NmjiC1ZskTOCxRCCAsxGAzsT0oi4Eg+mh5eMHE6GqORwPx8UhITMZzhHFrRe0hhNwDpdDoef/xxRWzUqFEsWrTIQhkJIYTl5ObmctlllxEcHExQUBCvv/56l7ZfWVmp2BN0z549PPLII8Dxf1CvXr0aOP6zubGuDl+dznztm7m5zE1O4vLEPUQmxDM3OYm5yUnsqKzs0hwBfigt5bLEPfw9PV0R9y0/npfupLx6yi+//EJUVBQRERFMnTq11Q4OojXZnGYAevbZZykvL1fEVq5c2eUbXQohRG9nMpm4+uqreeKJJ5g3bx7V1dVceumlDBkyhBtuuKFL7vFnYfe3v/0NgAkTJjBhwoRW15WUlGDS63GtrTXHHhw6lAeHDuVoYyP3ZWawfuw4xWcMJhMalapL8lxfUsIrQcGMdXZWxF3q6jDp9ZSUlODl5fW/exsMXbbQ7nRteXl5sWnTJnx8fPj111+59957iY2N7ZJ79ldS2A0we/fu5Z133lHErr32WmbOnGmhjIQQwnJ+/fVXXF1dmTdvHgDOzs68/PLLPP744/z4449cd911zJ49m9raWsLDw8nNzeXgwYPcdttt1NXVYW1tzUcffURoaChr1qxh06ZNxxdAHD7MPffcw0MPPcRTTz1Feno6Y8eO5frrryc6OprVq1fz1VdfKXJJTEzko48/5pOyclyttPwzOIRBbfyDe2dlJe8ezcdZq6W0uZl/hY3m7xnpVOv1mIBnho9ggosLOysreedoPnZqDQfr67nA3Z0nhw/HYDLxWHYWabW1aFQqbvf3p6y5hcTqKh7LyWaOlxc3+frxRHY2hU2NuGitmB0STElJCa+//joeHh4kJiZy6aWXsnnzZiZMmMCOHTuorq5mzZo1PPPMM2RlZfHAAw+Y53IvXbqUb775hqamJv7+979z9913s2XLFl566SVcXV0pLi5us2AbO3as+b+joqIosPBK4b5ACrsBxGQysXDhQownzd2ws7PjjTfesGBWQghhOenp6Ywbp+wFGzduHJmZmYwaNarNz/j6+vLrr79iY2NDQkICTz75JBs2bAAgNTWV3bt309LSQkhICIsWLWLp0qVkZWWZ5zVv2bKlzXZff/117p48mVmFRfxYVsrqI3m8MDKozWv31dTwY9R4vG1saDEaeTs0DEetlsLGRhae1LOXXlvLT+PH46jRckVSIrf5+aHTt3C0sYkfxx/vNazR63HSatlWUcGzI0YQ7ODA8wcPMMHFmb8OHs0PpaV88tNPBE2fDkB+fj5//PEHKpWKzZs34+DgQFxcHEuXLuWGG25g9+7dGI1GRo8ezcKFC/npp584duwYu3fvprm5mWnTpjF79mzg+O4MGRkZ+Pn5nfX3as2aNVxyySVnvW6gk8JuAFm7di3x8fGK2JNPPklgYKCFMhJCiN5HdZahzaamJu69915SUlJQq9U0NTWZ35sxYwYODg4A+Pn5UVJS0q571tTUkJ2dzbKCAt5tbsZoMuFvY3va66OcnfG2sQHABLyWe5jE6mrUKhV5DQ3m68Y5OeNudbzXL8jegYKmJoId7DnW3MSSgwe42N2DaW5urdpPrK7m7rDRAMzy9GRJ4h6aGxsBuO666xTf0dy5cwGIiIhgwoQJuLq6AuDk5ERFRQW//PIL3333HVu3bgWgqqqKgwcPAhAdHd2uom7Hjh3861//avV3mGhNCrsBorq62jxZ90/Dhw/n4YcftlBGQghheaGhoebetj8lJSUxYcIEtFqteYTj5OJt+fLlDBs2jLVr11JSUsKUKVPM79mcKLYANBpNu1eSmkwmnJ2deX3WLMYcOvy/OKDXt9BQX4/BYKBFrwfATv2/tY/flR6j3mDkm3FRaIDI7f87Bsxa/b8CTKMCo8mEi9aK76LGE1uh48OCo8RVVvD4sOFnzE+lUmE4cW97e3vFe38+s1qtVjy/Wq3GYDBgMplYsmQJCxYsUHxuy5Ytrdpqy+HDh1mwYAEbNmzAw8PjrNcPdLIqdoB48cUXKS4uVsSWL1+Ore3p/0UohBD93cUXX0xFRQX//e9/geP/CH766ad5+umnCQwMZO/evQCsX7/e/Jnq6mr8/PxQqVR8+umnZ72Hk5MTNTU1Z7zG2dkZZycnEgsKaG5upqKmhsSiIoqLiyktLaW6tgaD0UhZWRmGU7ZCqdUb8LS2QqtS8VN5GU1n2SpF19KCyWTick8v7g0IIKO2rtU1452d+b60FICfyssY6emJRtu5vqCLL76YDz74gIYTPYlZWVk0nuj9O5vKykquvPJK3nrrLUaPHt2p+w800mM3AGRkZLB8+XJFbNasWeY5DkIIMVCp1Wo2bNjA3XffzVNPPUVBQQFvv/02F1xwASEhIVx55ZVs2rRJMbfr7rvv5tprr2Xt2rVcfPHFZ72Hh4eHecuOG2+8kejoaPN7zc3NZGVl8dxzzxE9dSrf/PorX1ZUYDCZuMHVFd9TVqiaTEZa9C2K2JxBXvw1LY1r9yYz3tkF17MUYCVNTTyek43RBFqViieHt+6tWxQQyOPZ2XxzrAQXrRU3XXYZ1p3sCJg1axapqalMmjQJk8nEoEGD+O6779r12dWrV3P48GHziJONjQ07d+7sVB4DhcpksvCZJaJbmUwmLrnkEn799VdzzNramtTUVIKC2p6UK4QQA9W6det46aWXiI2Nxa2NuWfnqqKigri4OLZt20ZsbCyJiYnoTwxxXnTRRVwSFMSUk35et6bC23sQGnXPnuf9y3lTCLn0UmbMmNGj9xUdJz12/dz69esVRR3Aww8/LEWdEEK0Yf78+cyfP7/L2isqKmLbtm3mQm7//v2crj+lpKSEhqgo9Fot2hPF3p80Gi021tY4Ojr2eFHXotFQa2eHt7d3j95XdI4Udv1YfX09Dz74oCI2ePBgnnzySQtlJIQQ/ZfJZCI3N5fY2FhiY2PZtm0bOTk57f58SUkJepOJOhcXPKqqsbG2xtrGGmtrGzRqy02Jr3JwQKXVdmtht3//fm655RZFbOTIka32+hNnJ4VdP/bKK69w5MgRReyNN94wL8UXQgjReUajkYyMDHNvXGxsbKc20NVoNIwfP57p06fj5OxMS3Awg3LzuiHjzinycMfWwQF3d/duu0dERIR5oYo4N1LY9VMHDx7k1VdfVcQuvPBCrr/+egtlJIQQfZter2fv3r3mIi4uLq7V8YztYWtry5QpU4iJiWH69OlMmTIFR0dH4PgWIHsbGxl9JB/NWVa39gSDWk3ekCFEjR/fZceHie4lhV0/tXjxYsW+SxqNhlWrVp11400hhBDHNTY2snv3bnMhl5CQQO1J57i2l5OTE9OmTWP69OnExMQwYcIExX5vJxszZgy74+M56ulJ4LFj5/oI5yzf0xO9vT2RkZGWTkW0kxR2/dAPP/zQain5fffdJ3sACSHEGdTU1JCQkGAeWt25cyfNzc0dbsfLy8vcGzd9+nQiIyPb3dvl5ubGsKAgDpSXM6S0FLUFN64wqlQcDAxgWHBwt6wQFt1DtjvpZ5qamggPD+fAgQPmmLe3N1lZWbi4uFgwMyGE6F3KysqIi4szL3RISkpSnKXdXkOGDOH88883F3MhISHnNDpSVFTE2o8+YtT+VEKOHu10O+cqc/BgsiLCufn22/H19bVYHqJjpMeun3nzzTcVRR3Aq6++KkWdEGLAO3r0qLmIi42NJT09vVPthISEmHvjYmJiuvy8bV9fXyZGR7O7sQlfnQ7n+voubb89quztyQoOYtK0aVLU9THSY9eP5OfnM2rUKOpP+iFw3nnnERcXh9qCS+WFEKKnmUwmDhw4oCjkDh8+fPYPnkKlUjF27Fhzb9y0adN6ZD83vV7Pxx9+iCE9g5jkZLQ9uJBCr1YTGzUOq9BQFtxxB9pOHiUmLEN+t/qRhx9+WFHUqVQqVq9eLUWdEKLfMxqNpKamKvaQO/V87PawsrJi4sSJ5t64qVOn4urq2vUJn4VWq+WKuXP5vLKKnc1NnJea1iPz7YwqFTtHh9Hg68eVc+dKUdcHSY9dP/H777+3Ourl7rvv5p133rFQRkII0X1aWlpITEw098bFxcVRWVnZ4Xbs7e0577zzzEOrkyZNwt7evusT7qS8vDy+XrcO9yNHmJyW3q09d3q1mp2jw9AFBHDt/PldPsQseoYUdv1AS0sLY8eOVcwXcXd3Jzs7Gw8PDwtmJoQQXaO+vp6dO3eae+R27NihGKFoL1dXV2JiYsxDq1FRUVhZWXVDxl0nLy+PDV/8F/vCQsZnZHTLnLsqe3sSw0Jp8PXj6hvmSVHXh0kfaz/w1ltvtZoE/NJLL0lRJ4Tos6qqqoiPjzcXcnv27KGlpaXD7fj4+CgWOoSHh/e56SmBgYHcuOAWfti4kT+cnRmVk0NQQUGXDM0aVSqy/f3JCg7C3d+fK+fOxcfHpwuyFpYiPXZ9XHFxMSEhIVRXV5tjUVFR7Nq1S3YJF0L0GSUlJWzbts08tLpv3z4689fT8OHDFXvIjRgxot9szK7X64mPj2d3fDyOZWWMyDvCkLKyTp1QYVCryff05GBgALWenkyaNo2pU6fKnLp+QAq7Pu62227j448/VsTi4+OZOnWqhTISQoizy8vLUyx0yMrK6lQ7o0ePNvfGxcTEMHjw4C7OtPcpLCwkIT6ew9nZaOvrCczPx7dch0tdHVYGw2k/16LRUOXgQJGHO3lDhqC3t2dYcDDRsqVJvyKFXR+WkJBAdHS0InbrrbeyZs0ayyQkhBBtMJlMZGZmKrYeyc/P73A7Go2GcePGmXvjoqOj8fT07IaM+4aKigpSUlJISUyksa4Ok16PY0MDzroKrPV61CYjRpWaZq2Wanc3au3sUGm12Do4EDl+PJGRkXKiRD8khV0fZTAYmDhxIsnJyeaYs7MzWVlZMj9CCGFRBoOBffv2mQu5bdu2UVpa2uF2bGxsmDx5snlo9bzzzsPJyakbMu7bDAYDOp2OkpISSkpKKC0uprmxEYNej0arxdrWFi8fH7y9vfH29sbd3V2m6vRjMpjeR/373/9WFHUAzz//vBR1Qoge19TUxJ49e8xDqwkJCYp5v+3l6OhIdHS0eWh14sSJ2NradkPG/YtGo8HLywsvLy/Cw8MtnY6wMOmx64PKy8sJDg5Gp9OZY6NHjyY5ObnXL9sXQvR9tbW1bN++3TysunPnThobGzvcjoeHh2Khw5gxY2TyvhDnSP4E9UFPP/20oqgDWLVqlRR1QohuodPpiIuLM/fIJSUlYTjDJP3T8ff35/zzzzcXc6NGjepzW48I0dtJj10fk5SUxIQJExTbAMybN48vvvjCglkJIfqTwsJCc29cbGwsqampnWonKChIsYfc0KFD+83WI0L0VlLY9SFGo5Fp06axfft2c8ze3p7MzEyGDBliwcyEEH2VyWTi0KFDihWrBw8e7HA7KpWKyMhIc29cTEyMzPkVwgJkKLYP+fTTTxVFHRwflpWiTgjRXkajkbS0NHMRt23bNgoLCzvcjlarZcKECeYiLjo6WrbOEKIXkB67PqKqqorg4GCOHTtmjo0cOZLU1FRsbGwsmJkQojdraWkhOTlZsfVIRUVFh9uxs7NjypQp5qHVyZMn4+Dg0A0ZCyHOhfTY9RHPP/+8oqgDWLlypRR1QgiFhoYGdu3aZS7kEhISqKur63A7Li4uTJs2zTy0On78eKytrbshYyFEV5Ieuz4gLS2NMWPGKFahzZkzh40bN1owKyFEb1BdXU1CQoJ5ocPu3btpbm7ucDuDBg1SLHSIiIiQTWyF6IOksOvlTCYTM2bM4I8//jDHbGxsSEtLY8SIERbMTAhhCaWlpeYh1djYWPbu3YuxE4fADx06VLGHXFBQkKxYFaIfkKHYXu7LL79UFHUAjz76qBR1QgwQR44cUWw9kpmZ2al2Qv+/vTuPjrK+9wf+niXJZCbrZJKZyc6SDchCVpJMgkott+qlpcWtFuz1/LynVK5Qq9ZWrf0h1Fq0QGu1tdYf2qsiLrR4tGhVkGRCIAkhAQlJgDBZJjMkmck2M0lmeX5/QJ4y2WcyS2b4vM7xSB7IM58s8LzzXT7fjAx2NK6srAyJiYkurpQQshDQiN0CZjAYkJ6ejs7OTvZaYmIimpqaIBQKvVgZIcQdGIZBS0uLXZBTqVQO34fL5SInJ4cdjVMoFIiOjnZDxYSQhYZG7BawX//613ahDgB2795NoY4QP2G1WnHmzBm7HnITN0nNRWBgIAoLC9mp1ZKSEoSFhbmhYkIms1qt0Ol00Gq10Gq16NFoMGoywWa1gsvjISg4GNEyGaRSKaRSKcRiMa3fdCMasVugWltbsWLFCrtF0N/4xjfw2Wef0ToYQnzU2NgYamtr2RCnVCoxMDDg8H1EIhFKSkrYqdXCwkIEBwe7oWJCpqfX69HQ0IAzp05hxGAAY7EgxGRCuE6HAIsFXIaBjcOBmc/HgFiM4eBgcPh8CEQiZObmIjs7m3ofugEFuwWIYRjcfvvt+Oc//8le4/P5aGxsREZGhhcrI4Q4wmAwoLq6mh2Rq66uhslkcvg+YrEYCoWCnVrNycmhs6GJ16jValRVVqKttRUBRiMS2zsg1+kQbjAgYIYzhM08HgZEInSLxWhPTIBZKMSilBSUlpVBLpd78CPwbxTsFqCPPvoI69ats7v26KOPYteuXV6qiBAyF3q9Hkqlkl0fV1dXB4vF4vB9YmNj2dG48vJyLFu2DFwu1w0VEzJ3FosFSqUSNUolQnp7sVTVjvjeXvCc2JVt5XLRKZHgQlIihiUSFJSWorS0FHw+rRCbLwp2C8zIyAiWLVuGtrY29ppcLsf58+dpzQwhC4xGo7Hb6HDmzBk480/qkiVL7HrILV68mJZckAVFo9Hg40OHoO/sQnprK1K6usB1QXywcThojYvD+ZQUiOPjcNu6dXTG8DxRNF5gdu3aZRfqxq9RqCPEuxiGweXLl+02OrS2tjp1r8zMTHY0rqysDLGxsS6ulhDXUalUOPjuuxCqu3FzUxPCjEaX3ZvLMEjr7IRcp0PdYAb29w9g/d13ISkpyWWvcaOhEbsFRKVSISMjw24NjkKhwLFjx+ind0I8zGazoampyW5Erqury+H78Hg85OXlsSFOoVBALBa7oWJCXE+lUuGDd95BlKodhefOge/EtOtcWbhcnFi+DLrERHzv3nsp3DmJgt0CsmHDBnzwwQfs21wuF6dOnUJ2drYXqyLkxmCxWHD69Gk2yFVUVKCvr8/h+wgEAhQVFbFTq6tWrUJISIgbKibEvTQaDfa/+SYi2i6j+OuvXTL1Ohsbh4PjK5ajP3kR7tm0kaZlnUBTsQvEv/71L7tQBwCbN2+mUEeIm4yMjKCmpoYNcUqlEsPDww7fJzQ0FAqFgp1azc/PR1BQkBsqJsRzLBYLPj50CEJ1N4rOnfNIqAOuTs0WfX0Ox4KC8MmhQ9j0wAO0ocJBNGK3AIyNjSE7O9vuqCCJRILm5maasiHERYaGhlBVVcWOyJ08eRKjo6MO3yc6OtpufVx2djY1WyV+56uvvkLNF1/i5hMnXLqmbq4GhEIcXVWEwjVrUF5e7vHX92UUgxeA3//+95POf3zuueco1BEyD729vaisrGRH5Orr62GdocfWdBISErB69Wo2zKWlpdGaV+LX1Go1apRKpLe2eiXUAUC40Yi0llacDApCSkoK9blzAI3YeVl3dzdSU1PtpoAKCgpQXV1NfasIcUBnZ6fdRodz5845dZ+0tDS71iO0gJvcaN4/cAC91dW4ubbOY1OwU7FxODiSnwdJcTE23Hmn1+rwNTRi52WPP/74pHU9f/jDHyjUETIDhmFw4cIFuyA3sU3QXHA4HGRnZ7NBTqFQQCqVuqFiQnyDXq9HW2srVqravRrqgKvr7Zao2nE6Kgp6vZ6OH5sjCnZeVFFRgf/93/+1u/bAAw+gqKjISxURsjDZbDacPXvWroecRqNx+D4BAQEoKChgp1VLSkoQERHh+oIJ8VENDQ0IMBoR39vr7VIAAAm9vThrNKKxsRGrV6/2djk+gYKdl1gsFmzZssXuWnh4OJ577jkvVUTIwmE2m1FXV8eGuMrKSvT39zt8H6FQiOLiYnZErrCwEEKh0PUFE+IHrFYrzpw6hcT2DqeOCXMHns2GpI4ONNbVQaFQ0EalOaBg5yV//vOf0djYaHft2WefRUxMjJcqIsR7jEYjTpw4wQa548ePw+jEou2IiAgoFAo2yOXm5iIgIMANFRPiW7Zv344DBw6Aw+EgKCgI7733HhYtWmT3Z3Q6HUYMBjzw7n7UFK1y+DX+0tmBB+MT2LczKiuQIhKxb7+fnYNAJ5YZyft0uGgwQKfTITo6mr3+4osv4rXXXkNAQACWLFmCN954g05pAgU7r+jp6cFTTz1ldy0zMxObN2/2UkWEeNbAwACUSiU7tVpTUwOz2ezwfWQyGbvJoby8HCtWrKD1qYRMUFVVhaNHj+L06dPg8/no7OyE6LrANU6r1YKxWMBxcm3dXzo77YJdKJ+PQytzna57XLjBAMZigVartQt2eXl5eOihhyAQCPDUU0/hhRdewPbt2+f9er6Ogp0XPPnkk5OmlV566SVqwkj81pUrV+w2OjQ0NMCZDfmLFy+26yG3dOlSaj1CyCw0Gg0iIyPZZ0x8fDwA4JNPPsH27dsxMjKCwsJC3HnnnQi57khLAHilox3/6uuD2WbD9+WxuPda25GX2lX4Z28vuODgTpkUvWNmDFksWFd/CrlhYfjVkqVT1nLbqTp8kJ0DAMirPo63MrOwMiwM6+pP4a3MLHA5HPzqwgVcNF0dsX9y8WLkhYUjxGSCVqvFihUr2HvddNNN7K9zc3Px8ccfu+Tz5esoSXhYTU0NXnvtNbtr9957LzVgJH5FpVKxIa6iogLNzc1O3Wf58uVsiCsrK2MfSISQubv11lvxzDPPICMjA9/85jfxgx/8AIsWLcLvfvc7HD16FAKBAFu2bMFH//gHikZG2Pc7ptehb8yMD3NWYsxmw72NDbhZLEaTYRgnBwZwMGclArlc9JvNiAgIwH5Nt90I3XjQA4Cc0FBsX5qCrJBQNAwNgQGQJhShbnAQS6+tew3l87HrchtujYrCLkkaNKOjePDrr/FRbi7CdHr0zLBhat++fbjvvvvc8wn0MRTsPMhms2HLli12IxUikQi7du3yYlWEzA/DMDh//rzdiFxHR4fD9+FyucjNzWXXx5WWlkIikbihYkJuLKGhoaivr8eRI0fw+eef49Zbb8Ubb7yBxsZGrFp1dS2d0WjE8vR0FIdHAAwwNDyML7VaHB0YQJXu6pnJBpsNqhETjvcP4HtSGbteLmKadaxTTcXmhoWhbnAQDBj8n/h4fNzTg6VCIVaGhgIAqvT9OKbT4aWOdgBAv8WMMZsNgRYLRq4Lndfbs2cPAODuu++e1+fJX1Cw86B9+/bh5MmTdtd++ctfIi4uzksVEeI4q9WKhoYGdjSuoqICPT09Dt8nKCgIhYWFbJArLi5G6LV/3AkhrmM2m9HV1QWBQIDs7GyUlpZi06ZNiIiIAI/HQ0dHB3p6enBTSQlGBgdhY2wYGhqE2WzG/ZGRWHvd38tQHh9fzKOW3LAwPHfpEjgc4IexcXinuxt1g4PICwsHADBg8OdlyxErENi9H5exwWqxTLrfRx99hL/97W/46quv5lGVf6Fg5yF6vR5PPPGE3bXU1FRs27bNOwURMkejo6Oora1lg5xSqcTg4KDD9wkJCUFpaSm7Rq6goACCCf94E0IcY7FY0N3djY6ODnR0dKCzs5P99fh/0/V8HBwcRHt7O/v2wNAQmOs2H+UFB+Od/n7cJBIhiMtF+9gYFpvNKImIwOtdnfiWRGI3FcvjcGBlGPBmWPe6JDgYl0dMiA0KQgifj0XCYPzjihZvZ2UDAEoiIvFWdzceu7Zjt2l4GBkhIbBxuOBNWIdeV1eHRx99FF988QVCQkKc/hz6Gwp2HvLMM89MGtX4wx/+gMDAQC9VRMjUhoeHcfz4cXZq9cSJE9NOgcwkKiqKDXHl5eXIzs6mDUKEOMBqtUKr1c4Y2rq7u2FzUc+5gaEhWK5b/rBKJELb2Bh+1NUFhmEQyefjL3I5bgoMwtfDw/jO6XrwORzcKZVhY2ws1sdIccepOhRFREy7eYLD4SBFKERc0NUf6nJDw3BEp0P8tR/yHkpMxLMXL+KOU3WwMgyKIyLwy5ClGOPzETjhB8Gf/exnGBwcxB133AEAKC0txR//+EeXfC58GZ0V6wGNjY1YuXKl3V++9evX48MPP/RiVYRcpdPpUFlZyY7I1dXVwWq1OnyfuLg4rF69mg1z6enp1HqEkGnYbDb09PTMGNrUajUsU0w/usstt9yCtampKD1yFDweDzwe9+r/uTzweDwEBgWCA+/sQv9X8SqkrV2LNWvWeOX1fQn9+OxmDMPgf/7nf+xCnUAgwO9+9zsvVkVuZGq12m6jw9mzZ526T0pKCjsaV1ZWhuTkZGo9Qgiu/rvf19c3bWjr7OxEZ2cnxsbGPFqXUChEQkIC4uPjkZCQwP43/rbRaMTRjz9GpEyGACd+uHMXM4+H4eBgOsd5jijYudn+/ftx7Ngxu2tPPPEEkpOTvVMQuaEwDINLly7ZnbF68eJFh+/D4XCQlZVl10NOJpO5oWJCFjaGYdDf3z9raDNN6AfnbkFBQTOGtoSEBERGRs74w1dPTw++4vMxIBJB4sQ6Wnd5S6fD/3v1Vbz5wQfsco577rln0rp1chVNxbrR0NAQ0tPToVar2WvJyck4d+4cgoODvVgZ8Vc2mw3nzp2z6yF3/fffXPH5fOTn57MhrrS0FJGRkW6omJCFZXBwcNqp0fFrBoPBozUFBAQgPj5+xtAmkUjmPWJutVrx8t69iKs/jczLl11TvAucWZSMrpwc/HjrVjordg5oxM6NduzYMemhumfPHgp1xGXMZjPq6+vZ0bjKykrodDqH7xMcHIxVq1axU6tFRUVTHjlEiC8zGAyzhjZndnzPB4/HQ2xsrF1gmxjaYmJiPLJelcfjITM3F6f7+rCsvR08F23KmA8rlwtVQgJy8/Io1M0RBTs3aW5uxu7du+2u/cd//AfWrVvnpYqIPzCZTDh58iQ7GldVVeXU6EF4eDgUCgU7tZqXl0c7tIlPM5lM7DTodKFNr9d7tCYOhwO5XD5jaJPJZAsqsGRnZ6NGqUSnRIKkK1e8XQ46JBJYhEJkZWV5uxSfQcHODRiGwcMPP2x3qHlAQAD27t1Li8uJQwYHB1FVVcVOrdbU1Di14DomJsZuo0NmZuaCepgQMpPR0VF0dXXNGNp6e3s9XpdUKp0xtMnlcgRMcyrDQhUZGYlFKSm40NeHhJ4ecL24WsvG4eBiUiIWpabSUhAHULBzg3/84x/47LPP7K498sgjSE1N9VJFxFf09PSwpzkcO3YMp0+fdqpHVXJysl0PuZSUFPqhgixIZrMZarV6yk0I47/WarUer0sikUwb2BISEhAXF+e3o9ylZWV468IFtMbFIa2z02t1tMTFYVgiwbcVCq/V4Iso2LmYyWSadJpEbGwsnnrqKe8URBa0jo4Ou40OTU1NTt0nIyODHY0rKytDYmKiiyslxHFWqxXd3d0zhjaNRuOyBrtzFRkZOWNoi4+Pv6FPRZHL5SgoLUXNyCjkOh3CjEaP1zAgFKI5NQWFCgXkcrnHX9+XUbBzseeffx4qlcru2osvvkjHnRAwDIOWlha7HnITv1fmgsvlIicnhx2NUygUiI6OdkPFhEzPZrNBq9XOGNrUarVTza7nIywsbNbQRhuDZldaWooLzc2oG8xAWX09+B4M3xYuF3XLMiCOi0NJSYnHXtdfULsTF2pra0NGRgZGR0fZa6tXr8aRI0doGuwGZLVacebMGbseclecWIwcGBiIwsJCdmq1pKQEYWFhbqiYkKsYhkFvb++069k6OjrQ1dVlt47YE0Qi0ayhjf5uuI5Go8H+N/+GiMttKD77tUfW29k4HBxfsRz9yYtwz6aN1C/TCRTsXGj9+vX4+9//zr7N4/FQX1+PzMxM7xVFPGZsbAx1dXXsaJxSqcTAwIDD9xGJRCgpKWGnVgsLC6lFDnEZhmGg1+tnDG2dnZ12P6B6gkAgmDW0RURE0A/JHqZSqfDBO+9A3N6Ooq/PuXXkzsLl4sTyZdAlJuJ7996LpKQkt72WP6Ng5yKHDx/Gt771LbtrDz/8MPbu3eulioi7GQwGVFdXs6Nx1dXVTnWbF4vFUCgU7NRqTk6Oz+2kIwsDwzBsg92ZQpvRw2umAgMD7YLaVKEtKiqKQtsCpVKpcPDdAxCq1chranLLmrsBoRB1yzJgksdi/d13UaibBwp2LjA6OorMzEy0tray16Kjo9HS0oKIiAjvFUZcSq/XQ6lUslOrtbW1Th3QHRsby47GlZeXY9myZR5pPkp83/Dw8LSBbfy/4eFhj9bE5/MRFxc3ZWAbvxYdHU3f4z5Oo9Hg40OHoO/sQnprK1K6ulwyNWvjcNASF4fm1BSI4+Jw27p1NP06T7R5wgX27NljF+qAq5soKNT5No1GY7fR4cyZM3Dm56AlS5bY9ZBbvHgxjUyQSYxG46SRtYmhzZmp/fngcrnsqQjThTapVEo9EW8AMpkM9z/wAJRKJWoEQeiUy7BE1Y6E3l6nTqiwcrnokEhwMSkRwxIJChUKlJSUsGfBEufRiN08dXV1IS0tza77f1FREaqqqugnVB/CMAwuX75st9FhYlifq8zMTHY0rqysDLGxsS6ulvia0dHRWUObM0fBzQeHw4FMJpsxtMnlcnrQkknUajWqlEq0tbSAbzQiqaMD8j4dwg0GBMywC9rM42FAJEJ3lBiqhARYhEIsSk1FKbU0cSkKdvP0/e9/H++88w77NofDwcmTJ5Gfn+/FqshsGIZBU1OTXQ+5TicacfJ4POTl5bEhTqFQQCwWu6FislCZzWZ0dXXNGNp6eno8XldMTMyMoS02NtZvG+wSz9Dr9WhsbERjXR1GDAYwFgtCTCaE6fQItFjAZWywcbgY4/MxKI7EcHAwOHw+BCIRsvLykJWVRSdKuAEFu3n46quvcNNNN9lde/DBB/Hqq696pyAyLYvFgtOnT7OjcRUVFejr63P4PgKBAEVFRezU6qpVq6hHoR+zWCzo7u6eNrR1dnZCo9E4NUU/H1FRUdNuQhg/FeFGbrBLPMtqtUKn00Gr1UKr1aJHo8HYyAisFgt4fD4CBQJEy2SQSqWQSqUQi8U0fe9GFOycZLFYsHLlSpw9e5a9FhkZiZaWFkgkEi9WRgBgZGQENTU1bIhTKpVOLSoPDQ2FQqFgp1bz8/MRFBTkhoqJp1mtVmi12hlDm1qt9vipCBERETOGtvj4eAiFQo/WRAjxHbR4wkkvv/yyXagDgB07dlCo85KhoSFUVVWxI3InT550qg+XRCKx2+iQnZ1NP1n6IJvNhp6enhmnR9VqtVO7mucjJCRk0rToxBBHI8CEkPmgETsnaLVapKamYnBwkL2Wk5OD2tpaCgEe0tvbi8rKSnZErr6+3qmjixISEtggV15ejrS0NNqxusAxDIO+vr4ZR9o6OzsxNjbm0bqCg4NnDW3h4eEerYkQcuOhETsn/PznP7cLdQDw0ksvUahzo87OTrvWI+fOnXPqPmlpaXY95KgJ5sLCMAz6+/unHWUbD23ONIKej6CgoGk3IYz/OjIykn4oIIR4HY3YOejEiRNYtWqV3bWNGzfizTff9FJF/odhGFy4cMEuyLW1tTl8Hw6Hg+zsbHY0TqFQQCqVuqFiMlfXn4ow3eHx17cO8oSAgAC2we50oU0ikVBoI4T4BAp2DrBarSgqKkJdXR17LTQ0FM3NzdSDZx5sNhvOnj1r10NOo9E4fJ+AgAAUFBSwo3ElJSXUJNqDDAbDrKFt4ki3u/F4PLbB7nTHWcXExFDPSUKI36CpWAe8/vrrdqEOAJ555hkKdQ4ym82oq6tjQ1xlZSX6+/sdvo9QKERxcTE7tVpUVES7Bd3EZDKx4Wy60KbX6z1aE4fDgVwunzG0yWQyWiJBCLmh0IjdHOl0OqSmptr1PsvIyEBDQwMd2D4Lo9GIEydOsCNyx48fd+oQ8oiICCgUCnZqNTc3lz73LjA6Oso22J1uXVtvb6/H65JKpTOGNrlcTl9/QgiZgEbs5ujpp5+e1ND297//PT1YpjAwMAClUsmuj6utrYXZbHb4PjKZzG6jw4oVK2jKzEFmsxlqtXrG0KbVaj1el0QimTG0xcXF0akIhBDiBBqxm0Zrayv27t2LsLAwlJeX4/bbb7drVLphwwa89957Xqxw4dBqtaioqGCnVhsaGpzqxL9o0SK7HnJLly6lBeszsFqt7KkI04W27u5uj5+KEBkZOeNGhPj4eDoVgRBC3ISC3RTMZjOSk5OhVqsBAFwu1y7UBQcH4/z580hMTPRWiV6lUqnszlhtbm526j7Lly9nR+PKysoQHx/v4kp9l81mY09FmC60qdVqp3r3zUdYWNisoU0kEnm0JkIIIf9GU7FTaGxsZEMdgElHCv3iF7+4YUIdwzA4f/68XeuRjo4Oh+/D5XKRm5vLhjiFQnHDntLBMAx7KsJ0oa2rq8up6ev5EIlEs4a2sLAwj9ZECCHEMTdEsJvqgOJRkwk2qxVcHg9BwcF2BxRfuXJlxvudPHkSBoPBL0cmrFYrGhoa2NG4iooK9PT0OHyfoKAgFBYWslOrxcXFCA0NdUPFCwvDMNDpdLOeiuDMcWfzIRAIZgxt46ci0NQ3IcSXOPp8F4vFfr9T3q+nYvV6PRoaGnDm1CmMGAxgLBaEmEwI1+kQYLGAyzCwcTgw8/kYEIsxHBwMDp8PC8Pg8BdfoKGhAQMDA1Pe+6c//SleeOEFD39Erjc6Oora2lp2NK6qqsqpXmMhISEoLS1lR+QKCgr8bh0VwzAYGBiYtVebp09FCAwMnPbA+PH/xGIxhTZCiN9w9vkuEImQmZuL7OxsREZGevvDcAu/HLFTq9WoqqxEW2srAoxGJLZ3QK7TIdxgQMAMa5LMPB4GRCKoQkNwa04OSgsK0NrWhsqqqkkNcy9fvuzmj8I9hoeHcfz4cXZq9cSJExgZGXH4PlFRUez6uPLycmRnZ4PP9+1vp6GhoVlD2/DwsEdr4vP5k05FmBjaoqOjKbQRQm4I832+d4vFON3XhxqlEotSUlBaVuZ3vWj9asTOYrFAqVSiRqlESG8vlqraEd/bC96ENXKzGRoaQr/RgL74eLSnpKA3JATKmhpUVVXBarUiICAAhw8fxi233OKmj8R1dDodKisr2anVuro6pxbcx8XFsSGuvLwc6enpPtV6xGg0zhraphuddRculzunUxH8fdqAEEJm46rnOwBYuVx0SiS4kJSIYYkEBaWlKC0t9fnBiXF+E+w0Gg0+PnQI+s4upLe2IqWrC1wnPzSdToeR0aujWDYOB+rUVLSmp6NLp0PLpUvYvXs3cnNzXVm+y6jVaruNDmfPnnXqPikpKXY95JKTkxfsqNDIyMispyLodDqP1sThcCCTyWY9FcFf/iEhhBB3ceXz/Xo2DgetcXE4n5ICcXwcblu3DjKZzAUVe5dfBDuVSoWD774LobobeU1NCHPiVIPrXenpgcVivyPRGBaGi8XFMCcl4bt3342kpKR5vYYrMAyDS5cu2Z2xevHiRYfvw+FwkJWVZdd6ZKF8c4+Njc16KoIzmzvmKyYmZsbNCLGxsdS8mhBC5snVz/epDAqFqMvIgDE2FuvvvmtBPN/nw+eDnUqlwgfvvIMoVTsKz50D34lh2YkGBgdhMPx7LRWfHwCxWAwEBODE8mXQJSbie/fe6/Evvs1mw7lz5+x6yF3flmWu+Hw+8vPz2SBXWlrqlUWkFotlTqciePpbNCoqasbQFhcXh6CgII/WRAghNxp3PN+nY+Fyvfp8dyWfDnYajQb733wTEW2XUfz11y4Zmh03MDCA0bExCARBCA0Nw/gkpI3DwfEVy9GfvAj3bNro1pEts9mM+vp6djSusrLSqSlFgUCA4uJidjRu1apVbm/VYrVaodFoZj0VYWKPQHeLiIiYtVdbcHCwR2sihBBiz53P9+l48vnuTj4b7CwWC954/XVYzzWhrL7erUl+0mtzuTiWuxIBGRnY9MADLlsnZTKZcPLkSXY0rqqqCgaDweH7hIeHs61HysvLkZeX59JzN202G65cuTLjZgS1Wg2LxeKy15yL0NDQWUNbSEiIR2sihBDiGH98vnuS71V8jVKphL6zCzc3NXn0iw4AfJsNeeeacDQsDFVVVSgvLwdwdc2bIxsMBgcHUVVVxU6t1tTUYGxszOF6YmJi7M5YzczMdHonJcMw6O3tnbXBrqdPRRAKhbM22KVTEQghxPctxOe7L/HJYKdWq1GjVCK9tdUtCynnItxoRFpLK04GBWHp0qV488038Zvf/AahoaHYt28f1qxZM+l9enp62NMcjh07htOnTzs1FZmcnGzXQy4lJWVOgZJhGOj1+llDmzN97eZDIBDM2mA3IiJiwe7KJYQQ4hoL7fmekpLic33ufHIq9v0DB9BbXY2ba+s8Mu8+HRuHgyP5eWhhGOzes4e9npycjEuXLqGzs9Nuo0NTU5NTr5ORkcGOxpWVlU17Tu1cTkUwevgvSkBAwKyhLSoqikIbIYSQBfd8lxQXY8Odd3qtDmf43IidXq9HW2srVqravfpFBwDGakXM2a/RnpWJ8PBwtsHt5cuXER8f79SOVS6Xi5ycHDbIKRQKxMTEYHh4GB0dHTh//jw+//zzKUPb0NCQqz/EGfF4vDmdiuBLjYwJIYR4x0J6vnMZBktU7TgdFQW9Xu9Tx4/5XLBraGhAgNGI+N5er9ZhNpvRp9MhoucKhMsykJ2djWPHjrG/P9dQFxgYiPz8fGRmZiIpKQmRkZHsGrfXXnsNv/rVr9DR0YH+/n43fSRT43K5kMvlM4Y2qVRKpyIQQghxiYXyfB+X0NuLs0YjGhsbsXr1am+XM2c+FeysVivOnDqFxPYOp44RcRWj0Yj+gQEADHgA4lUq5GZmoqKiYtaea4GBgYiJiYFIJILFYoFer0dVVRWqqqo8UjtwtSGxVCqdMbTJ5XKf3A1ECCHE9yyU5/v1eDYbkjo60FhXB4VC4TMDGU49uSUSCXrnmahvu+02fPDBB9P2DPvtb3+Lxx9/HMDV0a/HHnsMe/bswYjBAPkUvdwyKiuQIhLBwjBICBJgV1oawtwUTAYGBwH8O8CJu7shWrIEUVFRs35exsbG0NnZ6Za6xkVHR88Y2mJjY13a/oQQQoh/WL16NZ599lm73aCbN29GdnY2fvSjH834vrW1tXj33Xexa9cuh19Xp9NN+3yf6IGzZ9BrNmPAYsGozYaYa8+zXalp+HlrCz7MWenw609H3qfDxqefxj0bNyI6OnpO75OcnIyzZ89Oaq/1wx/+EBs2bMAdd9wx5futX78eR48exZo1a/D+++87XbPXhmQ++eSTGX//+mAXGxuLt956C2fPngVjsSBieHjSnw/l83Fo5dXzWx9tbsZb3WpsTph6k8FcWRkGvCkX9duPyon6+8G/Ngo238A7m7CwMMTGxkKlUuG+++7D4sWLJ52KIBAI3FoDIYQQ/3TXXXfhwIEDbLCzWq04dOgQtm/fPuP7Wa1W5OfnIz8/36nX1Wq10z7fJ3p9RSYA4EOtFi1GA55YtBgA0DnHjg7TP9snCzcYAIaBVqudc7Bz1sMPP4wHHngAb7zxxrzu47Jg99lnn+Hxxx+HxWLBN7/5Tbz44ovgcDh45ZVXsHv3bnYhvUKhwJYtW9hECwAbNmxAV1cXAOCFF17AsWPH0N/fj5ycHJSWluKxxx7Dhg0b8PzzzyN4eBi/bm3ByYEBcMDBlsRErJVI7GrJCwvD+WtHgvWOjeHpCxegHRtFIJeLnUtTsEQoRJvJiJ82N4PH4SA3NAw1gwP4MGclfq9Sodc8BpVpBEuFQmyMjcWvLl7AgNmCiAA+nk9NA5/Px9s9PTg0OIgADgcrBAKUDM3+zTgbLpeLgIAArFy5EsnJyZDL5ZDJZJDL5YiNjYVMJmNHOMvLy/Hwww9POkHCmQ0bhBBCCAAUFBRgx44d2LZtG7hcLqqqqpCQkIB169ZhaGgIDMPgmWeeQX5+Pqqrq/HKK68gLCwMPT092LZtG/72t7/hj3/8I+rr67Fz506Mjo4iLCwMu3fvRkxMDPbu3QuNRoO2tjZoNBr89Kc/xX/+53+iubkZxz7/HH+prwePw8H3YqT4gVyOr/R6vNLZgTGGQVZIKLYvXQruDKHMbGPweEszGoeGkCYSYU9aOjgcDm6uOYnvSaWo0OuxNSkJ3aOjeLu7G2M2G74RFYWtSckwWK14uKkJ2rFRAMDPFi1GWWQkOAC2b9+OpqYmxMTE4NChQxCJRDh16hR+9KMfYWRkBDk5OXj11VcnDaw8/fTTeP/997F48eJZl2rdfPPNOHr06Hy/hK4JdiaTCQ8++CC++uorJCYmYt26dTh48CCKiorw4osvoq6uDnw+H7m5uVAoFHbv++mnnyIqKgqHDx8GwzAYGhrC2rVr8ec//xmnT58GcHWXKQD0aDSoPX4cQxYrDq3MBZfDwYDFvlGulWGg7Nfje9KrR4HsvHQJDyUmYEVIKBqHhvDrS5fw1xUrsPPSJWxOSMCtURL87tr9x7UYjHgzMxOBXC5+ePYMdi5NQZxAgH/29uCldhW2iqPwpl6PA0lJCOZyMWy1omtwYN5TrDabDaOjo6iurkZ1dfWsfz4rK2ter0cIIYRMJSUlZdrfu/vuu6e8ft999wEAlixZMun3iouLp3yfbdu2Ydu2bShXKKC9eBEvy+UI5HAwaLWipVuNv2i12CWTQcDj4+WBfnzS24M7omOmre2SyYg96elYHByMjWfOoHZwEAXh4QCACH4A3s3OwQWjAfu7NTiQnQMOgM3nzqF+cBBXxsYQEcDHX1esAMMwMFitAACDyYTUpUtx4MABbNq0CR9++CE2btyI+++/H6+99hqKioqwefNmvPzyy3jkkUfYWk6ePInDhw+joaEBfX19yMjIwI9//ONpa3cVlwS75uZmpKWlITk5GQDw/e9/HxUVFeByuVizZg3Cr31Sp5pXzszMxE9+8hM8/vjjWL9+/bRffAAYNZnQ1NWFn8hkbGIP5wcAAIYsFqyrPwXN6ChShEKUXduaXD3Qj4umyb3bvh4exjfEUQCA26OjUdmvZ39vTZQYgVwuhi0WnBocxOamcwAAG8MgLkgALpeL9KAg7LxyBTeJRFCIROCPjUEWE8O2PCGEEELI3PT19aEsMRGB19bYhfF4qDIYcGl0FD++NqM3xjCIE858zvmi4GAsEQoBAMtCROgaHUEBrmaQb12b3avq70f90CDWn64HABitVrSPjCArNAS/bhvEb9vacGtUFFZeO81IwOcj9VpYzcvLw+XLl6+eJz86iqKiIgDAxo0bsWvXLrtgV1VVhfXr1yMwMBByuRy33HKLSz5Xs3HLGrvxo7UmDjtONQyZmpqK+vp6fPzxx9i6dSs2bdqELVu2THlfm9WK6QZgx9fYmaxW/NfZs3i7W41NsXEAgIM5K2ecT59YlYD7750vkoBAdu3euMGhIfxGLsdpkwkVBgMODAzgiZUrUVZcjObW1mlfhxBCCCGTcTgccCbshmUAFItE+FlMzLU/w4VMJpvxPoHX9U3lcjiwXfeAF1y3q/VumQxbEpMmvf/fc1biqE6HHZcu4jsxUmyMjUUAjwfrtbPPeTwerFbrlPlmYqN9R48ZdRWXdI5NS0tDS0sLVCoVbDYb9u/fj7KyMhQUFODLL7/E4OAgjEbjlBsm1Go1RCIRNm3ahK1bt7LTr+OfPLtieTyskMvxrkYD27VP6sSp2GAeD08uXozXu7pgYRgUhodjv6YbwNURt2aDAQCwLCQEX177yeBwb8+UH1cInw9xQACOXvtzZpsNF4xGiEJCoAOQJxTixxIJNGYzrAD0NFpHCCGEOEwmk6GivR1j157tg1YrlgUFod5kwhWLBTwuDwgJgXZ0dN6vtSo8Ap/09rL5QTM6Cr3ZDO3oKIQ8HtZLpbg/Ng5Nhn+vnedN6LIRERGBoKAg1NTUAADefvttlJWV2f2Z0tJSHDx4EGNjY9BoNDhy5Mi8a58Lp0bs9Ho94uPj2bd3796NV199Fd/+9rfZzRPf+c53wOFwsG3bNuTn5yMxMRErV66cdFD7mTNn8Oijj4LH4yE4OBh//etfAQD3338/MjMzcfPNN+Oxxx4DAAQFB2P1smX4vL0Dd9SfAm+azROZoaFIFYrwaW8vnl68BL+8cAH7u7thYRh8J0aKNJEIv1i0GI82N+NPnR0oCAtHyDT9aV5MS8MvL1zAi5cvwwoG/ycuHkkCAZ7r6cWQxQyrzYb/EothCwrCiesaFAPA4cOHcezYMURFRWHz5s04deoUtm7ditHRUWRlZeGll16CQCBAeno6amtrERISgk8++QR///vf8eqrr05Zz759+7Bjxw5otVrExMTgnnvuwc6dOx37AhJCCCEz2LdvH7Zu3YrLly/DYrHgu9/9LgCgpKQEb7/9Njo6OnDs2DH86U9/wttvvw0Adm8fP34c//3f/42YmBisWrUKtbW1+PTTT7Fjxw72mQgACQkJ6OjowIfvvYeDe/fix03nwedycKdUih/IY/GsKAT/V3UZFoYBn8PFjpQUyIKC5vWxpYpEeDAuHj9oPAMGDEQ8HnanpeOiyYTn2y6By+FAwOXi19fWGTIAAqfoNrFv3z5s3ryZ3Twx/jGNKywsxNq1a5GVlYW0tDS7FjJTWbt2LU6dOgWDwYD4+HgcPHgQBQUFDn98bj8r1mAwQCQSwWQyoby8HK+//joyMzOdutcXX3yB5k8/xa3HZ99YMBuT1QoBlwsOh4PXOjvRax5jt0w7asw8hsP5+fikqQlffvklACAoKAjd3d0+dQwJIYQQ4g2ufL672r+KVyFt7VqsWbPG26XMidv72D311FM4cuQIRkZGsGnTJqdDHQBIpVLUBQfDzOMhYMI0raMah4aws+0SbAwDaVAQdqWmOn0vjiAY1qgoPPTQQ4iNjUVPTw8effRRCnWEEELIHLjy+e5KZh4Pw8HBkEql3i5lztwe7Hbv3u2ye0mlUnD4fAyIRJAMDs7rXkUREZM2RThrQCQCh89HWVkZO1w9Xzt37sR7771nd+2RRx7Bpk2bXHJ/QgghZKFw5fPdlcaf764MdkVFRRidsFbw6NGjiIiIcMn9feowULFYDIFIhG6xeEF94bujrtYlFotdds8nn3wSTz75pMvuRwghhCxUN9Lz/cSJEy6711RcsivWU3g8HjJzc9GemAArd2GUbuVyoUpIQFZens8cEEwIIYQsJPR8d52F8dlzQHZ2NsxCITon7IT1lg6JBBahkE6BIIQQQuaBnu+u4XPBLjIyEotSUnAhKRE2LzT+u56Nw8HFpEQsSk2ljRKEEELIPNDz3TV8LtgBQGlZGYYlErTGxXm1jpa4OAxLJCidcP4tIYQQQhxHz/f588lgJ5fLUVBaivMpKRi8diacpw0IhWhOTUGhQgG5XO6VGgghhBB/Qs/3+fPJYAdcPaojMj4OdRkZsHh4oaWFy0XdsgyI4+JQUlLi0dcmhBBC/Bk93+fHZ4Mdn8/H7evWwRgbixPLl3lsPt7G4eDE8mUwyWNx27p14PN9qmMMIYQQsqDR831+fDbYAVcPDV5/913QJSbi+Irlbk/2Fi4Xx1cshy4xEevvvgsymcytr0cIIYTciOj57jy3nxXrCSqVCgffPQChWo28piaEGY0uf40BoRB1yzJgksdi/d13ISkpyeWvQQghhJB/o+e74/wi2AGARqPBx4cOQd/ZhfTWVqR0dYHrgg/NxuGgJS4OzakpEMfF4bZ163w6yRNCCCG+hJ7vjvGbYAcAFosFSqUSNUolQnp7sUTVjoTeXvBsNofvZeVy0SGR4GJSIoYlEhQqFCgpKfHZOXdCCCHEV9Hzfe78KtiNU6vVqFIq0dbSAr7RiKSODsj7dAg3GBBgtU77fmYeDwMiEbqjxFAlJMAiFGJRaipKfXTLMyGEEOJP6Pk+O78MduP0ej0aGxvRWFeHEYMBjMWCEJMJYTo9Ai0WcBkbbBwuxvh8DIojMRwcDA6fD4FIhKy8PGRlZflcx2lCCCHE39HzfXp+HezGWa1W6HQ6aLVaaLVa9Gg0GBsZgdViAY/PR6BAgGiZDFKpFFKpFGKx2KcO/CWEEEJuRPR8n+yGCHaEEEIIITcCn+5jRwghhBBC/o2CHSGEEEKIn6BgRwghhBDiJyjYEUIIIYT4CQp2hBBCCCF+goIdIYQQQoifoGBHCCGEEOInKNgRQgghhPgJCnaEEEIIIX6Cgh0hhBBCiJ+gYEcIIYQQ4ico2BFCCCGE+AkKdoQQQgghfoKCHSGEEEKIn6BgRwghhBDiJyjYEUIIIYT4CQp2hBBCCCF+goIdIYQQQoifoGBHCCGEEOInKNgRQgghhPgJCnaEEEIIIX6Cgh0hhBBCiJ+gYEcIIYQQ4ico2BFCCCGE+AkKdoQQQgghfoKCHSGEEEKIn6BgRwghhBDiJ/4/r7ED6kTNfq8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(0,50):\n", + " ind.mutate()\n", + " if i%5==0:\n", + " est = ind.export_pipeline()\n", + " est.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Pipeline Search Spaces" + "### TreePipeline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## choice search space\n", + "TreePipelines work the same way as GraphPipelines, but they are limited to a tree structure. This is similar to the search space in the original TPOT.\n", "\n", - "The simplest pipeline search space is the ChoicePipeline. This takes in a list of search spaces and simply selects and samples from one. In this example, we will construct a search space that takes in several options for a classifier." + "(This search space is still experimental and currently built off GraphSearchPipeline. It may be rewritten with its own code in the future.)" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 40, "metadata": {}, "outputs": [ { "data": { + "image/png": "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IqIb5uHhgY8++kgwq6mpwX333cctWRGx2BEREdFNufPOO3HXXXcJZtu3b8cXX3whUiLiViwRERHdtKqqKgQFBaG8vNw469y5M7Kzs+Hn5ydiso6JK3ZERER001xdXbFmzRrBrL6+HvPnz4derxcpVcfFYkdERES3ZOLEiZg/f75gtmfPHnz44YciJeq4uBVLREREt6y2thYhISEoKioyzhQKBTIyMhAQECBiso6FK3ZERER0y5ycnFqdNKFSqTB37lzodDqRUnU8LHZERERkEmPGjMGDDz4omCUnJ+Odd94RKVHHw61YIiIiMpmGhgaEh4fj9OnTxpmtrS3S0tLQv39/EZN1DFyxIyIiIpNxcHDAunXrIJFIjLPm5mbEx8dDo9GImKxjYLEjIiIikxo6dCieeOIJwezIkSN47bXXRErUcXArloiIiExOrVYjMjISx48fN87kcjlSUlIQHh4uXjArxxU7IiIiMjl7e3usX78eMpnMONNqtZgzZw6am5tFTGbdWOyIiIioTQwcOBDPPvusYJadnY3ly5eLlMj6cSuWiIiI2kxLSwuio6ORlZVlnEmlUiQnJ2PQoEEiJrNOLHZERETUpjIzMxEdHS04K7Zv375IT0+Hvb29iMmsD7diiYiIqE2FhYXhxRdfFMxOnDiBpUuXipTIenHFjoiIiNqcVqtFTEwMUlJSjDOJRIK9e/di+PDhIiazLix2RERE1C6OHTuGiIgIwVmxPXv2RFZWFhwcHERMZj24FUtERETtIjAwECtXrhTM8vPz8fTTT4uUyPpwxY6IiIjajU6nw2233YbExETBfOfOnRg7dqxIqawHix0RERG1q9OnTyM0NBQqlco469atG3JycuDk5CRiMsvHrVgiIiJqV/7+/li1apVgVlxcjMcee0ycQFaEK3ZERETU7vR6PcaNG4fdu3cL5gkJCZg8ebJIqSwfix0RERGJorCwEMHBwaivrzfOPD09kZubCzc3NxGTWS5uxRIREZEofH198e677wpmFRUVePjhh8UJZAW4YkdERESiMRgMmDx5MrZu3SqYf//995gxY4ZIqSwXix0RERGJqqysDEFBQaiurjbO3NzckJubC09PTxGTWR5uxRIREZGovL298cEHHwhmFy5cwP333w+uP90YFjsiIiIS3ezZszF9+nTB7Oeff8ZXX30FAFCr1dDr9WJEsygsdkRERCQ6iUSCjz76CF26dBHMH374YcyZMwcuLi5wc3PDtm3bREpoGXiMHREREZmNzZs344477rjq13v37o28vLx2TGRZOkSx0+l0qKqqQkVFBSoqKnC+vBzNajX0Oh2kMhls7e3RxcsLnp6e8PT0hKurK2QymdixiYiIOqS77roL33333VW/XlNTAycnJ36+X4Fc7ABtqbq6GpmZmchOS0NTYyMMWi0c1Go4VVXBXquF1GCAXiKBRi7HCVdXpNrbQyKXw06pREhkJMLCwuDi4iL2t0FERNRhlJSUIDU19ZqPycnJgUaj4ef7FVjlil1paSmSExORn5cHG5UKvoVF8K6qglNjI2x0uqs+TyOToVapRJmrKwp9u0OjUKBnQABihw2Dt7d3O34HREREHdO9995rPGHir7y8vDA0JgbhwSFQajX8fL8Cqyp2Wq0WSUlJSElKgkNlJXoXFKJbZSVkN3EWjU4qRbG7O075+aLB3R3RsbGIjY2FXG7Vi5xERESimjJlChISEgQzmUyGmJgYxEZHw72hAX1LStC7voGf71dgNcWuvLwcWxMSUF1cgn55eQgoKYHUBN+aXiJBno8PjgcEwLWbDybExcHLy8sEiYmIiOivDh06hNtvvx21tbUAAA8PD8RNnAgfFxcEHD+OridPQmlrd8tbqdb6+W4Vxa6goACbN26EorQMUceOwVGlMvl71CkUSA0MhKprV0ybNRN+fn4mfw8iIiK6eCeKZcuWYdeuXZgxZQq8VSoEpqZCUVcHAJBJZSa7I4W1fb5bfLErKCjAj99+C7eCQgw8ehTyNrx4oVYqxaGg/qjy9cX0u+6y+D98IiIic1VQUIDvvvwSTqdPo09yMmSXHUMnlcrgZcJbjVnT57tFX6C4vLwcmzduhGtBIQbn5rZpqQMAuV6PITm5cC0sxOaN36O8vLxN34+IiKgj+uPz3bOkFCNPn4G7oxMkkj8qiwSOnTub9P2s6fPdYoudVqvF1oQEKErLMOjoUZMcT3c9pAYDBuUehX1ZKbYlJECr1bbL+xIREXUEV/p8t7ezg5eXF9zc3OHp6QmFQmHy97WWz3eLLXZJSUmoLi5B1LFjbb5S91dyvR5RR4+hqqQEycnJ7freRERE1uxqn+8SALadOkEmbbvqYg2f7xZZ7EpLS5GSlIR+eXltcqLE9XBSqdD3ZB4OJyairKxMlAxERETWhJ/vt84ii11yYiIcKisRUFIiao4+JSVwqKxEUmKiqDmIiIisAT/fb53FFbvq6mrk5+Whd0Fhux1XdzVSgwH+BYXIP3kS1dXVomYhIiKyZPx8Nw2LK3aZmZmwUanQrbJS7CgAgO6VlZCrVMjKyhI7ChERkcXi57tpWFSx0+l0yE5Lg29h0U3dRqQtyPR6+BUVISs1Fbpr3KeOiIiIroyf76ZzU8XO3d39lt94woQJUKvVV/36G2+8Yfzv0tJS3HPPPaiqqkJTYyO8q6paPT4wcT/i0tMwIS0V9+fmoq4dT1P2vnAx18aNGzFq1CiEhobiu+++AwB8/PHH2Lhxo8nea82aNQgICIBEIkFDQ4PJXpeIiOgPcrkc4eHhCA4OxowZM6Bq4xMZVq1ahVdXrcKzP/9s/DyPS09DwrlzJn+vw7U1mJCWijszMv72sX98vlddoXeYUkNDA0aPHg0HBwc89dRTt/RaN3XnCXd3d1S28VLpld4jJycH2374AZP37mt1iZOBBw/g8OAhAICnTpyAv8Iei7r73lIGncEAmURyzccYADRoNPjf8OH4YdtW5ObmAgCkUilKS0tNdsuTP2RnZ8PBwQEjR45ETk4OHBwcTPr6REREl38G33PPPYiKisITTzzRZu+XmZmJHT/9hMl79yEmOcn4ef6H6/k8vl4vnMrDQCcnTOri8beP1chkSBg2FJNmzUJwcPAtv7dOp4NMJms1b25uxqFDh5Cbm4vTp0/jzTffvOn3kN9KwMvt3LkTTz/9NLRaLcaNG4e33noLEokEH330Ed555x10794dXbp0wdChQ/Hwww+jR48eyMnJAQDceeedKLl0Bsybb76J33//HTU1NQgPD0dsbCyWLFmCO++8E6+//jrsGxrwSt5JHK6thQQSPOzri9v/soIY5eiI440XV7MqW1qw7NQpVLQ0o5NUipW9A+CvUCBfrcKTJ05AJpEgsrMjUupq8VN4BN4vKEClpgUF6ib0Vihwb9eueOn0KdRqtHC2keP1Pn3h0akT1paU4JvSEsgNQJCdLWLCwwUZ9Ho9du3ahcOHD8PFxQVz5sxBTk4Oli1bhubmZgQGBuKVV16Bra0thg8fjunTp2PXrl2QyWT49NNP4eFx5b9wSqUSBoMBWq0W+fn5UCqVpvojJCIiAnDxM+zMmTMAgMDAQKSlpeHIkSN45plnUFJSAmdnZ7zxxhvw9PTE+PHjsXv3buTn52PMmDE4cOAA3N3dMXr0aOzZswcXLlzA0qVLUV5eDltbW7z66qvw9/fHkiVL4OLigpycHPj7+yPG2xvQaAAAWp0OJU1NePjEcYQ4OCCroQE/hUfgkWPHcK6lBS0GPR719cPt7u4obmrCoqNHEeigRFZ9PfoqlXi3bz9IJBK8nn8Ge6qq0EkiwT/cu8Db1hbbKyuRWF2Dw7W1+L+evfD8qVM43tgAW6kU/+4dgP4ODoIu0Km+Dr8dPoyAgADk5OSgpKQEGzZswHvvvYe0tDRMnz4dr776KgBg7dq1+Oijj9DU1ISpU6di+fLlOHv2LKZMmYKBAwfi0KFDSElJga2treD3+48u8Mfv+a0wSbFTq9X417/+hX379sHX1xdxcXHYvHkzBg0ahLfeegupqamQy+WIjIzE0KFDBc/dsWMH3Nzc8Msvv8BgMKC+vh633347PvnkE2RcWiY9e/YsAOB8eTmOHDiAeq0OCRGRkEokqNVqBK+nMxiQVFON6Z5eAICVZ87gId/uCHbojKz6erxy5gw+Dw7GyjNnsKh7d4x1c8fbl17/DycbVdgQEoJOUinm5mRjZe8A+NjZYXvlefynsAAv+ffGfwrO4ns/P9hLpWjQ6VBSV4vi4mLB6/zzn/80/vfLL78s+NqJEyfw3//+1/jr999/3/jfQ4YIf1K5mtDQ0Ot6HBER0Y3y9/cX/Prrr78W/HrEiBFXfOzln2G9e/du9brjxo1rNevl5web0lKcO1cBvV6Pc+cqUKnRIE+lwtOurnikqw80TU14vU8fONvYoF6rxZ2ZGRjn5gYAOKNW4d1+/dDL3h73ZmfjSF0deisU2FZZid8GREMqkaBeq0VnuRwHa2sw3t0dI13d8HlxMRxkMmyJjEJGXR2eOXkS/4uMBPBnF0gPDMRnJ0+gvr4ee/fuxddff43JkycjNTUV3t7e6Nu3L5588kmcO3cO27Ztw4EDByCRSDBlyhQcOHAA3t7eyM3NxZdffonPPvvsJv4kboxJit2JEyfQt29f9OjRAwBw9913Y//+/ZBKpRg9ejScnJwAAJMmTWr13JCQEDz++ON4+umnMW3atGuWmma1GsdKSvC4lxekl5ZkneQ2AIB6rRZx6Wkob25GgEKBYS4uAICDtTU4rW59bEBuQwPGuF78CzGxSxck1vx5OvNoN1d0kkrRoNUira4Oi44dBQDoDQb42Nqhvr4e/WxtsfLcOdymVGKoUgl5Swu8PDxQW1t7o799REREHZqdrS3kVziOr7uNDfxtbWEw6FFbW4uNLc3Yc+Hi8W5lzc04f2mFr6e9Pfwv3Wasv4MSJc1NiHB0RGeZDM/lncQYNzeMvPSZf7kjdXX4V7duAIBwR0c06/Wov3SM/h9doJNWC71Oh7i4OAAXe0tAQAD8/PwAAAEBASgqKkJiYiIOHDiAqKgoABePmzt9+jS8vb3Rp0+fdluMMdlW7OUMBgMkEgn+evjelQ7n69OnD9LT07F161YsXrwYc+bMwcMPP3zF19XrdLjaDntnuRwJEZFQ63SYl5ODb8pKMaerDwBgc3jENffm/5rKTvrn/re7TSckREQKvl5XX4/XvL2RoVZjf2Mjvq+txbMRERg2ZAhO5OVd9X2IiIioNblUCskVzoa1vez2YelqNdIaG/BDWBjsZDLcnnoELZee0+myx0klEugNgFwiwU/hEUiqqcbP584h4dw5rA7sf80cBhiMPeOPLiA16GHQ643bp1KpVLCVKpVKodPpYDAYsHDhQrzwwguC1zx79myb3Nv2akxyuZO+ffvi5MmTKCgogF6vx3fffYdhw4YhOjoae/bsQV1dHVQqFbZt29bquaWlpVAqlZgzZw4WL15s3H6VyWStTi+WymQI9vbGxvJy6C+VxL9uxdrLZFjaqxe+KCmB1mDAQCcnfFd+8ZYgeoMBJxobAQD9HRyw59JZLr9Unr/i9+Ugl8PVxgZ7Lz1Oo9fjlEoFpYMDqgBEKRR40N0d5RoNdACquVpHRER0w7R6PQzXuAesTCqDxN4eLnIb2MlkyKyvx9lrXFkDABp1OtRrtRjp6oZne/bCsUuf/5cb4OiI/52/eOZtZn097GUyOMiFa156iRSS67g/7ahRo7Bx40bjBY2Li4tx4cKFv32eqd3Uil11dTW6XVq6BIB33nkHn376KaZMmWI8eWLq1KmQSCR47LHHMGDAAPj6+iIiIgKOjo6C18rOzsZTTz0FmUwGe3t7fP755wCA+Ph4hISEYOTIkViyZAkAwNbeHiP698euwiJMSk+D7ConT4R07ow+CiV2VFZiWS9/vHDqFL4rK4PWYMBUD0/0VSrxfz174akTJ/BxcRGiHZ3gcIWzVADgrb598cKpU3jr7FnoYMB9Pt3gZ2eHV89Xol6rgU6vxzxXV+htbXHo998Fz/3ll1/w+++/w83NDYsWLUJaWhoWL16M5uZmhIaG4j//+Q/s7OzQr18/HDlyBA4ODti2bRv++9//4tNPP71innXr1mHFihWoqKiAh4cHZs+ejZUrV97YHyAREdE1dO/eHUVFRYJZZWUlFi5ciOLiYri4uODTTz81bkcOHDgQ//znP/Hoo4/ilVdewa5du7Bnzx4AQEVFBR599FHk5+dDq9Xi7rvvxlNPPYWFCxdi6tSpmDBhAn764QcYfv8d3l7ekBYUwNvLG7qmJthcqIK3lzckEglG6/X44UIl4tLT0E+pRB/FtU8ebNTpsOhoLlr0FxeClvTo2eox93h74/lTeZiclopOUileC+jT6jEtcjmkV+kIlwsODsYzzzyD2267DXq9Hp07dzZe+ux6BAUFoaysDBqNBt999x2OHDkCLy+v637+H27qcic3orGxEUqlEmq1GsOHD8cXX3yBkJCQm3qt3bt348SOHRh74OAt51LrdLCTSiGRSLCmuBiVmhY827PXTb1Wi6YFvwwYgG3Hjhn/Itva2qKsrAwul471IyIioisz5ee7qf06ZDD63n47Ro8eLXaU69Imx9hd7vnnn8dvv/2GpqYmzJkz56ZLHQB4enoi1d4eGpkMNrd4Feis+nqszD8DvcEAT1tbrOrTuqVfL4mdPXRubnjooYfQtWtXnD9/Hk899RRLHRER0XUw5ee7KWlkMjTY25v8mrRtqc2L3TvvvGOy1/L09IRELketUgn3urpbeq1Bzs6tToq4WbVKJSRyOYYNG4Y77rjDJK+5cuVK/PDDD4LZE088gTlz5pjk9YmIiMyFKT/fTemPz3dTFbsLFy60WvlTKBRITk42yesD7VDsTMnV1RV2SiXKXF3N6g++zO1iLldXV5O95tKlS7F06VKTvR4REZG56iif725ubsaTRNuKSc6KbS8ymQwhkZEo9O0O3XWcodIedFIpCrp3R2hU1BVvE0JERETXxs930zGP370bEBYWBo1CgeK/nAkrliJ3d2gVCt4FgoiI6Bbw8900LK7Yubi4oGdAAE75+UJvohsC3yy9RILTfr7o2acPT5QgIiK6Bfx8Nw2LK3YAEDtsGBrc3ZHn4yNqjpM+Pmhwd0fsX+5/S0RERDeOn++3ziKLnbe3N6JjY3E8IAB17XibjsvVKhQ40ScAA4cOhbe3tygZiIiIrAk/32+dRRY7AIiNjYVLNx+kBgZC284HWmqlUqT2D4Srjw9iYmLa9b2JiIisGT/fb43FFju5XI6JcXFQde2KQ0H9220/Xi+R4FBQf6i9u2JCXBzkcou6YgwREZFZ4+f7rbHYYgcAXl5emDZrJqp8fXEgOKjNm71WKsWB4CBU+fpi2qyZN3UPNyIiIro2fr7fvDa/V2x7KCgowOaN30NRWoqoY8fgqFKZ/D1qFQqk9g+E2rsrps2aabzxMREREbUNfr7fOKsodgBQXl6OrQkJqC4uQb+8PASUlEBqgm9NL5HgpI8PTvQJgKuPDybExVl0kyciIrIk/Hy/MVZT7ABAq9UiKSkJKUlJcKishH9BIbpXVkKm19/wa+mkUhS5u+O0ny8a3N0xcOhQxMTEWOyeOxERkaXi5/v1s6pi94fS0lIkJyUh/+RJyFUq+BUVwftCFZwaG2Gj0131eRqZDLVKJcrcXFHQvTu0CgV69umDWAs95ZmIiMia8PP971llsftDdXU1srKykJWaiqbGRhi0Wjio1XCsqkYnrRZSgx56iRQtcjnqXF3QYG8PiVwOO6USoVFRCA0NtbgrThMREVk7fr5fnVUXuz/odDpUVVWhoqICFRUVOF9ejpamJui0WsjkcnSys0MXLy94enrC09MTrq6uFnXDXyIioo6In++tdYhiR0RERNQRWPR17IiIiIjoTyx2RERERFaCxY6IiIjISrDYEREREVkJFjsiIiIiK8FiR0RERGQlWOyIiIiIrASLHREREZGVYLEjIiIishIsdkRERERWgsWOiIiIyEqw2BERERFZCRY7IiIiIivBYkdERERkJVjsiIiIiKwEix0RERGRlWCxIyIiIrISLHZEREREVoLFjoiIiMhKsNgRERERWQkWOyIiIiIrwWJHREREZCVY7IiIiIisBIsdERERkZVgsSMiIiKyEix2RERERFaCxY6IiIjISvw/CyD0NlONxwwAAAAASUVORK5CYII=", "text/plain": [ - "" + "
" ] }, - "execution_count": 21, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "import tpot2\n", - "from ConfigSpace import ConfigurationSpace\n", - "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", - "from sklearn.neighbors import KNeighborsClassifier\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "\n", - "knn_configspace = ConfigurationSpace(\n", - " space = {\n", - "\n", - " 'n_neighbors': Integer(\"n_neighbors\", bounds=(1, 10)),\n", - " 'weights': Categorical(\"weights\", ['uniform', 'distance']),\n", - " 'p': Integer(\"p\", bounds=(1, 3)),\n", - " 'metric': Categorical(\"metric\", ['euclidean', 'minkowski']),\n", - " 'n_jobs': 1,\n", - " }\n", - ")\n", - "\n", - "lr_configspace = ConfigurationSpace(\n", - " space = {\n", - " 'solver': Categorical(\"solver\", ['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga']),\n", - " 'penalty': Categorical(\"penalty\", ['l1', 'l2']),\n", - " 'dual': Categorical(\"dual\", [True, False]),\n", - " 'C': Float(\"C\", bounds=(1e-4, 1e4), log=True),\n", - " 'class_weight': Categorical(\"class_weight\", ['balanced']),\n", - " 'n_jobs': 1,\n", - " 'max_iter': 1000,\n", - " }\n", - " )\n", - "\n", - "dt_configspace = ConfigurationSpace(\n", - " space = {\n", - " 'criterion': Categorical(\"criterion\", ['gini', 'entropy']),\n", - " 'max_depth': Integer(\"max_depth\", bounds=(1, 11)),\n", - " 'min_samples_split': Integer(\"min_samples_split\", bounds=(2, 21)),\n", - " 'min_samples_leaf': Integer(\"min_samples_leaf\", bounds=(1, 21)),\n", - " 'max_features': Categorical(\"max_features\", ['sqrt', 'log2']),\n", - " 'min_weight_fraction_leaf': 0.0,\n", - " }\n", - " )\n", - "\n", - "knn_node = tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = KNeighborsClassifier,\n", - " space = knn_configspace,\n", - ")\n", - "\n", - "lr_node = tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = LogisticRegression,\n", - " space = lr_configspace,\n", - ")\n", - "\n", - "dt_node = tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = DecisionTreeClassifier,\n", - " space = dt_configspace,\n", - ")\n", - "\n", - "classifier_node = tpot2.search_spaces.pipelines.ChoicePipeline(\n", - " search_spaces=[\n", - " knn_node,\n", - " lr_node,\n", - " dt_node,\n", - " ]\n", + "tree_search_space = tpot2.search_spaces.pipelines.TreePipeline(\n", + " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", + " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", + " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", + " max_size = 10,\n", ")\n", "\n", + "ind = graph_search_space.generate()\n", + "exp = ind.export_pipeline()\n", + "exp.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tips and Tricks\n", "\n", - "tpot2.search_spaces.pipelines.ChoicePipeline(\n", - " search_spaces = [\n", - " tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = KNeighborsClassifier,\n", - " space = knn_configspace,\n", - " ),\n", - " tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = LogisticRegression,\n", - " space = lr_configspace,\n", - " ),\n", - " tpot2.search_spaces.nodes.EstimatorNode(\n", - " method = DecisionTreeClassifier,\n", - " space = dt_configspace,\n", - " ),\n", - " ]\n", - ")" + "* Two very helpful transformers to use with search spaces are `tpot2.buildin_models.Passthrough` and `tpot2.builtin_models.SkipTransformer`. \n", + " Passthrough will simply pass through the exact inputs it receives into the next step. This is particularly useful inside UnionSearchSpace as it allows for both the transformed data as well as the original data to be passed into the next step.\n", + " SkipTransformer will always return nothing. This is helpful when inside a union with Passthrough and an optional second method. For example, if you are unsure of whether or not you will need a transformer, you can have SkipTransformer be one option that will skip the transformation step if selected." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Search space objects provided by pipeline search spaces work the same as with node search spaces. Note that crossover only works when both individuals have sampled the same method. " + "In this example, the FeatureUnion layer will always have at least one transformer selected and will always have one passthrough" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 41, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled pipeline\n" - ] - }, { "data": { "text/html": [ - "
LogisticRegression(C=174.83656421187536, class_weight='balanced', dual=True,\n",
-       "                   max_iter=1000, n_jobs=1, penalty='l1', solver='saga')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                FeatureUnion(transformer_list=[('kbinsdiscretizer',\n",
+       "                                                                KBinsDiscretizer(encode='onehot-dense',\n",
+       "                                                                                 n_bins=9,\n",
+       "                                                                                 strategy='uniform')),\n",
+       "                                                               ('quantiletransformer',\n",
+       "                                                                QuantileTransformer(n_quantiles=697))])),\n",
+       "                               ('passthrough', Passthrough())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "LogisticRegression(C=174.83656421187536, class_weight='balanced', dual=True,\n", - " max_iter=1000, n_jobs=1, penalty='l1', solver='saga')" + "FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('kbinsdiscretizer',\n", + " KBinsDiscretizer(encode='onehot-dense',\n", + " n_bins=9,\n", + " strategy='uniform')),\n", + " ('quantiletransformer',\n", + " QuantileTransformer(n_quantiles=697))])),\n", + " ('passthrough', Passthrough())])" ] }, - "execution_count": 22, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "classifier_individual = classifier_node.generate()\n", + "from tpot2.search_spaces.pipelines import *\n", + "from tpot2.config import get_search_space\n", "\n", - "print(\"sampled pipeline\")\n", - "classifier_individual.export_pipeline()" + "#This FeatureUnion layer will always have at least one transformer selected and will always have one passthrough\n", + "transformers_with_passthrough = UnionPipeline([\n", + " DynamicUnionPipeline(get_search_space([\"transformers\"])),\n", + " get_search_space(\"Passthrough\")\n", + " ]\n", + " )\n", + "\n", + "transformers_with_passthrough.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, the FeatureUnion layer will always one passthrough. In addition, it may select one or more transformer, but it may skip transformers altogether and only include a Passthrough. " ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 42, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "mutated pipeline\n" - ] - }, { "data": { "text/html": [ - "
KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=3,\n",
-       "                     weights='distance')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                FeatureUnion(transformer_list=[('quantiletransformer',\n",
+       "                                                                QuantileTransformer(n_quantiles=842))])),\n",
+       "                               ('passthrough', Passthrough())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "KNeighborsClassifier(metric='euclidean', n_jobs=1, n_neighbors=3,\n", - " weights='distance')" + "FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('quantiletransformer',\n", + " QuantileTransformer(n_quantiles=842))])),\n", + " ('passthrough', Passthrough())])" ] }, - "execution_count": 23, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "print(\"mutated pipeline\")\n", - "classifier_individual.mutate()\n", - "classifier_individual.export_pipeline()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TPOT2 also comes with predefined search spaces. The current search spaces were adapted from a combination of the original TPOT package as well as the search spaces used in [AutoSklearn](https://github.com/automl/auto-sklearn/tree/development/autosklearn/pipeline/components). The helper function `tpot2.config.get_search_space` takes in a string or a list of strings, and returns either a EstimatorNode or a ChoicePipeline,respectively. \n", - "\n", - "strings can correspond to individual methods. Tehre are also special strings that return predefined lists of methods. \n", - "\n", - "Special strings are \"selectors\", \"classifiers\", \"transformers\"\n", + "final_transformers_layer =UnionPipeline([\n", + " ChoicePipeline([\n", + " DynamicUnionPipeline(get_search_space([\"transformers\"])),\n", + " get_search_space(\"SkipTransformer\"),\n", + " ]),\n", + " get_search_space(\"Passthrough\")\n", + " ]\n", + " )\n", "\n", - "EstimatorNode, GeneticFeatureSelector\n", - "| Special String | Included methods |\n", - "| :--- | :----: |\n", - "| \"selectors\" | \"SelectFwe\", \"SelectPercentile\", \"VarianceThreshold\", \"RFE\", \"SelectFromModel\" |\n", - "| \"classifiers\" | \"LogisticRegression\", \"KNeighborsClassifier\", \"DecisionTreeClassifier\", \"SVC\", \"LinearSVC\", \"RandomForestClassifier\", \"GradientBoostingClassifier\", \"XGBClassifier\", \"LGBMClassifier\", \"ExtraTreesClassifier\", \"SGDClassifier\", \"MLPClassifier\", \"BernoulliNB\", \"MultinomialNB\" |\n", - "| \"transformers\" | \"Binarizer\", \"Normalizer\", \"PCA\", \"ZeroCount\", \"OneHotEncoder\", \"FastICA\", \"FeatureAgglomeration\", \"Nystroem\", \"RBFSampler\" |" + "final_transformers_layer.generate().export_pipeline()" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 43, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled pipeline 1\n" - ] - }, { "data": { "text/html": [ - "
LogisticRegression(C=0.09214193108798754, l1_ratio=0.6425731475282531,\n",
-       "                   max_iter=1000, n_jobs=1, penalty='elasticnet',\n",
-       "                   solver='saga')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                FeatureUnion(transformer_list=[('estimatortransformer-1',\n",
+       "                                                                EstimatorTransformer(estimator=LogisticRegression(C=3553.613707181859,\n",
+       "                                                                                                                  max_iter=1000,\n",
+       "                                                                                                                  n_jobs=1,\n",
+       "                                                                                                                  solver='saga'))),\n",
+       "                                                               ('estimatortransformer-2',\n",
+       "                                                                EstimatorTransformer(estimator=GaussianNB())),\n",
+       "                                                               ('estimatortransformer-3',\n",
+       "                                                                EstimatorTransformer(estimator=MultinomialNB(alpha=0.0128552259108,\n",
+       "                                                                                                             fit_prior=False)))])),\n",
+       "                               ('passthrough', Passthrough())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "LogisticRegression(C=0.09214193108798754, l1_ratio=0.6425731475282531,\n", - " max_iter=1000, n_jobs=1, penalty='elasticnet',\n", - " solver='saga')" + "FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('estimatortransformer-1',\n", + " EstimatorTransformer(estimator=LogisticRegression(C=3553.613707181859,\n", + " max_iter=1000,\n", + " n_jobs=1,\n", + " solver='saga'))),\n", + " ('estimatortransformer-2',\n", + " EstimatorTransformer(estimator=GaussianNB())),\n", + " ('estimatortransformer-3',\n", + " EstimatorTransformer(estimator=MultinomialNB(alpha=0.0128552259108,\n", + " fit_prior=False)))])),\n", + " ('passthrough', Passthrough())])" ] }, - "execution_count": 24, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "#same pipeline search space as before.\n", - "classifier_choice = tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"])\n", + "inner_estimators_layer = UnionPipeline([\n", + " ChoicePipeline([\n", + " DynamicUnionPipeline(wrapped_estimators, max_estimators=4),\n", + " get_search_space(\"SkipTransformer\"),\n", + " ]),\n", + " get_search_space(\"Passthrough\")]\n", + " )\n", "\n", - "print(\"sampled pipeline 1\")\n", - "classifier_choice.generate().export_pipeline()" + "inner_estimators_layer.generate().export_pipeline()" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 44, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled pipeline 2\n" - ] - }, { "data": { "text/html": [ - "
DecisionTreeClassifier(class_weight='balanced', max_depth=1, min_samples_leaf=8,\n",
-       "                       min_samples_split=9)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
Pipeline(steps=[('normalizer', Normalizer(norm='max')),\n",
+       "                ('featureunion-1',\n",
+       "                 FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                 FeatureUnion(transformer_list=[('columnonehotencoder',\n",
+       "                                                                                 ColumnOneHotEncoder())])),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('featureunion-2',\n",
+       "                 FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                 SkipTransformer()),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('baggingclassifier',\n",
+       "                 BaggingClassifier(bootstrap_features=True,\n",
+       "                                   max_features=0.6083887402217,\n",
+       "                                   max_samples=0.440010144908, n_estimators=24,\n",
+       "                                   n_jobs=1, oob_score=True))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "DecisionTreeClassifier(class_weight='balanced', max_depth=1, min_samples_leaf=8,\n", - " min_samples_split=9)" + "Pipeline(steps=[('normalizer', Normalizer(norm='max')),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('columnonehotencoder',\n", + " ColumnOneHotEncoder())])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('baggingclassifier',\n", + " BaggingClassifier(bootstrap_features=True,\n", + " max_features=0.6083887402217,\n", + " max_samples=0.440010144908, n_estimators=24,\n", + " n_jobs=1, oob_score=True))])" ] }, - "execution_count": 25, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "print(\"sampled pipeline 2\")\n", - "classifier_choice.generate().export_pipeline()" + "final_linear_pipeline = SequentialPipeline([\n", + " get_search_space(\"scalers\"),\n", + " final_transformers_layer,\n", + " inner_estimators_layer,\n", + " get_search_space(\"classifiers\"),\n", + " ])\n", + "\n", + "final_linear_pipeline.generate().export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Template Search Spaces\n", + "\n", + "As mentioned in Tutorial 1, TPOT has several buildin search spaces. Here is the same table:\n", + "\n", + "| String | Description |\n", + "| :--- | :----: |\n", + "| linear | A linear pipeline with the structure of \"Selector->(transformers+Passthrough)->(classifiers/regressors+Passthrough)->final classifier/regressor.\" For both the transformer and inner estimator layers, TPOT may choose one or more transformers/classifiers, or it may choose none. The inner classifier/regressor layer is optional. |\n", + "| linear-light | Same search space as linear, but without the inner classifier/regressor layer and with a reduced set of faster running estimators. |\n", + "| graph | TPOT will optimize a pipeline in the shape of a directed acyclic graph. The nodes of the graph can include selectors, scalers, transformers, or classifiers/regressors (inner classifiers/regressors can optionally be not included). This will return a custom GraphPipeline rather than an sklearn Pipeline. More details in Tutorial 6. |\n", + "| graph-light | Same as graph search space, but without the inner classifier/regressors and with a reduced set of faster running estimators. |\n", + "| mdr |TPOT will search over a series of feature selectors and Multifactor Dimensionality Reduction models to find a series of operators that maximize prediction accuracy. The TPOT MDR configuration is specialized for genome-wide association studies (GWAS), and is described in detail online here. |\n", + "\n", + "Rather than create your own search space, you can simply pass the string into the `search_space` param. Alternatively, you can access tpot2.config.`template_search_spaces.get_template_search_spaces` directly which offers a few more customizable options for each template including `cross_val_predict_cv` and whether or not stacked classifiers/regressors are allowed. Or you can copy the code and customize it manually!\n", + "\n", + " `tpot2.config.template_search_spaces.get_template_search_spaces`\n", + " Returns a search space which can be optimized by TPOT.\n", + "\n", + " Parameters\n", + " ----------\n", + " search_space: str or SearchSpace\n", + " The default search space to use. If a string, it should be one of the following:\n", + " - 'linear': A search space for linear pipelines\n", + " - 'linear-light': A search space for linear pipelines with a smaller, faster search space\n", + " - 'graph': A search space for graph pipelines\n", + " - 'graph-light': A search space for graph pipelines with a smaller, faster search space\n", + " - 'mdr': A search space for MDR pipelines\n", + " If a SearchSpace object, it should be a valid search space object for TPOT.\n", + " \n", + " classification: bool, default=True\n", + " Whether the problem is a classification problem or a regression problem.\n", + "\n", + " inner_predictors: bool, default=None\n", + " Whether to include additional classifiers/regressors before the final classifier/regressor (allowing for ensembles). \n", + " Defaults to False for 'linear-light' and 'graph-light' search spaces, and True otherwise. (Not used for 'mdr' search space)\n", + " \n", + " cross_val_predict_cv: int, default=None\n", + " The number of folds to use for cross_val_predict. \n", + " Defaults to 0 for 'linear-light' and 'graph-light' search spaces, and 5 otherwise. (Not used for 'mdr' search space)\n", + "\n", + " get_search_space_params: dict\n", + " Additional parameters to pass to the get_search_space function." ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 45, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled pipeline 1\n" - ] - }, { "data": { "text/html": [ - "
LinearDiscriminantAnalysis(shrinkage=0.6166902161314916, solver='eigen')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
Pipeline(steps=[('passthrough', Passthrough()),\n",
+       "                ('variancethreshold',\n",
+       "                 VarianceThreshold(threshold=0.0014368451974)),\n",
+       "                ('featureunion-1',\n",
+       "                 FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                 FeatureUnion(transformer_list=[('powertransformer',\n",
+       "                                                                                 PowerTransformer()),\n",
+       "                                                                                ('nystroem',\n",
+       "                                                                                 Nystroem(gamma=0.8842695866347,\n",
+       "                                                                                          kernel='sigmoid',\n",
+       "                                                                                          n_components=7))])),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passth...\n",
+       "                 FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                 FeatureUnion(transformer_list=[('estimatortransformer',\n",
+       "                                                                                 EstimatorTransformer(cross_val_predict_cv=5,\n",
+       "                                                                                                      estimator=BaggingClassifier(bootstrap=False,\n",
+       "                                                                                                                                  max_features=0.2031842311627,\n",
+       "                                                                                                                                  max_samples=0.4743985327407,\n",
+       "                                                                                                                                  n_estimators=89,\n",
+       "                                                                                                                                  n_jobs=1)))])),\n",
+       "                                                ('passthrough',\n",
+       "                                                 Passthrough())])),\n",
+       "                ('bernoullinb', BernoulliNB(alpha=4.2777686142181))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "LinearDiscriminantAnalysis(shrinkage=0.6166902161314916, solver='eigen')" + "Pipeline(steps=[('passthrough', Passthrough()),\n", + " ('variancethreshold',\n", + " VarianceThreshold(threshold=0.0014368451974)),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('powertransformer',\n", + " PowerTransformer()),\n", + " ('nystroem',\n", + " Nystroem(gamma=0.8842695866347,\n", + " kernel='sigmoid',\n", + " n_components=7))])),\n", + " ('passthrough',\n", + " Passth...\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('estimatortransformer',\n", + " EstimatorTransformer(cross_val_predict_cv=5,\n", + " estimator=BaggingClassifier(bootstrap=False,\n", + " max_features=0.2031842311627,\n", + " max_samples=0.4743985327407,\n", + " n_estimators=89,\n", + " n_jobs=1)))])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('bernoullinb', BernoulliNB(alpha=4.2777686142181))])" ] }, - "execution_count": 26, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "#search space for all classifiers\n", - "classifier_choice = tpot2.config.get_search_space(\"classifiers\")\n", + "linear_search_space = tpot2.config.template_search_spaces.get_template_search_spaces(\"linear\", inner_predictors=True, cross_val_predict_cv=5)\n", + "linear_search_space.generate().export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "linear_search_space = tpot2.config.template_search_spaces.get_template_search_spaces(\"linear\", inner_predictors=True, cross_val_predict_cv=5)\n", + "linear_est = tpot2.TPOTEstimator(\n", + " search_space = linear_search_space,\n", + " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1,-1],\n", + " classification=True,\n", + " verbose=1,\n", + " )\n", "\n", - "print(\"sampled pipeline 1\")\n", - "classifier_choice.generate().export_pipeline()" + "#alternatively, you can use the template search space to generate a pipeline\n", + "linear_est = tpot2.TPOTEstimator(\n", + " search_space = \"linear\",\n", + " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1,-1],\n", + " n_jobs=32,\n", + " classification=True,\n", + " verbose=1,\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimize Search Space with TPOTEstimator\n", + "\n", + "Once you have constructed a search space, you can use TPOTEstimator to optimize a pipeline within that space. Simply pass that search space into the `search_space` parameter. Here is a cell where you can select different search spaces that we created in this tutorial." ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "all_search_spaces ={\n", + " \"classifiers_only\" : classifier_choice,\n", + " \"stc_pipeline\" : stc_pipeline,\n", + " \"stc_pipeline2\": stc_pipeline2,\n", + " \"stc_pipeline3\": stc_pipeline3,\n", + " \"stc_pipeline4\": stc_pipeline4,\n", + " \"final_linear_pipeline\": final_linear_pipeline,\n", + " \"graph_pipeline\": graph_search_space,\n", + "}\n", + "\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, test_size=0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "sampled pipeline 2\n" + "Generation: : 8it [01:44, 13.07s/it]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/preprocessing/_data.py:2785: UserWarning: n_quantiles (911) is greater than the total number of samples (284). n_quantiles is set to n_samples.\n", + " warnings.warn(\n" ] }, { "data": { "text/html": [ - "
LogisticRegression(C=0.13397662986842293, max_iter=1000, n_jobs=1, penalty='l1',\n",
-       "                   solver='saga')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
TPOTEstimator(classification=True, cv=5, early_stop=2, max_time_mins=10,\n",
+       "              n_jobs=4,\n",
+       "              scorers=['roc_auc_ovr',\n",
+       "                       <function complexity_scorer at 0x78eb3afa4160>],\n",
+       "              scorers_weights=[1.0, -1.0],\n",
+       "              search_space=<tpot2.search_spaces.pipelines.sequential.SequentialPipeline object at 0x78eb39022d10>,\n",
+       "              verbose=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "LogisticRegression(C=0.13397662986842293, max_iter=1000, n_jobs=1, penalty='l1',\n", - " solver='saga')" + "TPOTEstimator(classification=True, cv=5, early_stop=2, max_time_mins=10,\n", + " n_jobs=4,\n", + " scorers=['roc_auc_ovr',\n", + " ],\n", + " scorers_weights=[1.0, -1.0],\n", + " search_space=,\n", + " verbose=2)" ] }, - "execution_count": 27, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "print(\"sampled pipeline 2\")\n", - "classifier_choice.generate().export_pipeline()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Sequential Example\n", + "selected_search_space = all_search_spaces[\"stc_pipeline\"] #change this to select a different search space\n", + "\n", + "\n", + "est = tpot2.TPOTEstimator(\n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " classification = True,\n", + " cv = 5,\n", + " search_space = selected_search_space,\n", + " max_time_mins=10,\n", + " max_eval_time_mins = 10,\n", + " early_stop = 2,\n", + " verbose = 2,\n", + " n_jobs=4,\n", + ")\n", "\n", - "SequentialPipelines are of fixed length and sample from a predefined distribution for each step. Here is an example of the form Selector-Transformer-Classifer" + "est.fit(X_train, y_train)" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "sampled pipeline\n" + "auroc score 0.9899335933382524\n" ] - }, + } + ], + "source": [ + "# score the model\n", + "auroc_scorer = sklearn.metrics.get_scorer(\"roc_auc\")\n", + "auroc_score = auroc_scorer(est, X_test, y_test)\n", + "\n", + "print(\"auroc score\", auroc_score)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "
Pipeline(steps=[('selectpercentile',\n",
-       "                 SelectPercentile(percentile=67.96672316882378)),\n",
-       "                ('columnonehotencoder', ColumnOneHotEncoder()),\n",
-       "                ('logisticregression',\n",
-       "                 LogisticRegression(C=5839.203596349427,\n",
-       "                                    class_weight='balanced', max_iter=1000,\n",
-       "                                    n_jobs=1, solver='saga'))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
Pipeline(steps=[('selectfwe', SelectFwe(alpha=0.0336222333869)),\n",
+       "                ('quantiletransformer',\n",
+       "                 QuantileTransformer(n_quantiles=911,\n",
+       "                                     output_distribution='normal')),\n",
+       "                ('quadraticdiscriminantanalysis',\n",
+       "                 QuadraticDiscriminantAnalysis(reg_param=0.3209042101754))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "Pipeline(steps=[('selectpercentile',\n", - " SelectPercentile(percentile=67.96672316882378)),\n", - " ('columnonehotencoder', ColumnOneHotEncoder()),\n", - " ('logisticregression',\n", - " LogisticRegression(C=5839.203596349427,\n", - " class_weight='balanced', max_iter=1000,\n", - " n_jobs=1, solver='saga'))])" + "Pipeline(steps=[('selectfwe', SelectFwe(alpha=0.0336222333869)),\n", + " ('quantiletransformer',\n", + " QuantileTransformer(n_quantiles=911,\n", + " output_distribution='normal')),\n", + " ('quadraticdiscriminantanalysis',\n", + " QuadraticDiscriminantAnalysis(reg_param=0.3209042101754))])" ] }, - "execution_count": 28, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "stc_pipeline = tpot2.search_spaces.pipelines.SequentialPipeline([\n", - " tpot2.config.get_search_space(\"selectors\"), \n", - " tpot2.config.get_search_space(\"transformers\"),\n", - " tpot2.config.get_search_space(\"classifiers\"),\n", + "#plot the best pipeline\n", + "if isinstance(est.fitted_pipeline_, tpot2.GraphPipeline):\n", + " est.fitted_pipeline_.plot()\n", " \n", - "])\n", + "est.fitted_pipeline_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Transformer-only pipelines - imputation optimization example\n", "\n", - "print(\"sampled pipeline\")\n", - "stc_pipeline.generate().export_pipeline()" + "Pipelines don't necessarily need to end in a classifier or regressor. Transformer only pipelines are possible as long as you have a custom objective function to match. " ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 51, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampled pipeline\n" - ] - }, + "data": { + "text/plain": [ + "0.04690299241236334" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import sklearn\n", + "import sklearn.datasets\n", + "import numpy as np\n", + "import tpot2\n", + "\n", + "#in practice, cross validation is likely better, but this simple example is fine for demonstration purposes\n", + "def rmse_obective(est, X, missing_add=.2, rng=1, fitted=False):\n", + " rng = np.random.default_rng(rng)\n", + " X_missing = X.copy()\n", + " missing_idx = rng.random(X.shape) < missing_add\n", + " X_missing[missing_idx] = np.nan\n", + " \n", + " if not fitted:\n", + " est.fit(X_missing)\n", + " \n", + " X_filled = est.transform(X_missing)\n", + " return np.sqrt(np.mean((X_filled[missing_idx] - X[missing_idx])**2))\n", + "\n", + "from sklearn.impute import SimpleImputer\n", + "\n", + "X, y = sklearn.datasets.load_diabetes(return_X_y=True)\n", + "\n", + "imp = SimpleImputer(strategy=\"mean\")\n", + "\n", + "rmse_obective(imp, X)" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ { "data": { "text/html": [ - "
Pipeline(steps=[('selectpercentile',\n",
-       "                 SelectPercentile(percentile=64.13487865074181)),\n",
-       "                ('rbfsampler',\n",
-       "                 RBFSampler(gamma=0.34856830184683274, n_components=74)),\n",
-       "                ('gaussiannb', GaussianNB())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
KNNImputer(n_neighbors=99, weights='distance')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "Pipeline(steps=[('selectpercentile',\n", - " SelectPercentile(percentile=64.13487865074181)),\n", - " ('rbfsampler',\n", - " RBFSampler(gamma=0.34856830184683274, n_components=74)),\n", - " ('gaussiannb', GaussianNB())])" + "KNNImputer(n_neighbors=99, weights='distance')" ] }, - "execution_count": 29, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "print(\"sampled pipeline\")\n", - "stc_pipeline.generate().export_pipeline()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimize Search Space with TPOTEstimator\n", + "import tpot2.search_spaces\n", + "from ConfigSpace import ConfigurationSpace, Integer, Float, Categorical, Normal\n", + "\n", + "#set up an imputation search space that includes simple imputer, knn imputer, and iterative imputer (with an optimized ExtraTreesRegressor)\n", + "\n", + "simple_imputer = tpot2.config.get_search_space(\"SimpleImputer\")\n", + "knn_imputer = tpot2.config.get_search_space(\"KNNImputer\")\n", + "\n", + "space = ConfigurationSpace({ 'initial_strategy' : Categorical('initial_strategy', \n", + " ['mean', 'median', \n", + " 'most_frequent', 'constant']),\n", + " 'n_nearest_features' : Integer('n_nearest_features', \n", + " bounds=(1, X.shape[1])),\n", + " 'imputation_order' : Categorical('imputation_order', \n", + " ['ascending', 'descending', \n", + " 'roman', 'arabic', 'random']),\n", + "})\n", + "\n", + "# This optimizes both the iterative imputer parameters and the ExtraTreesRegressor parameters\n", + "iterative_imputer_sp = tpot2.search_spaces.pipelines.WrapperPipeline(\n", + " method = sklearn.impute.IterativeImputer,\n", + " space = space,\n", + " estimator_search_space = tpot2.config.get_search_space(\"ExtraTreesRegressor\"),\n", + ")\n", + "#this is equivalent to\n", + "# iterative_imputer_sp = tpot2.config.get_search_space(\"IterativeImputer_learned_estimators\")\n", "\n", - "Once you have constructed a search space, you can use TPOTEstimator to optimize a pipeline within that space." + "imputation_search_space = tpot2.search_spaces.pipelines.ChoicePipeline(\n", + " search_spaces = [simple_imputer, knn_imputer, iterative_imputer_sp],\n", + ")\n", + "imputation_search_space.generate().export_pipeline()" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Generation: 100%|██████████| 5/5 [00:17<00:00, 3.52s/it]\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:595: UserWarning: n_components is too large: it will be set to 10\n", - " warnings.warn(\n" + "/home/perib/Projects/common/Projects/TPOT_Dev/tpot2/tpot2/tpot_estimator/estimator.py:504: UserWarning: Labels are not encoded as ints from 0 to N. For compatibility with some classifiers such as sklearn, TPOT has encoded y with the sklearn LabelEncoder. When using pipelines outside the main TPOT estimator class, you can encode the labels with est.label_encoder_\n", + " warnings.warn(\"Labels are not encoded as ints from 0 to N. For compatibility with some classifiers such as sklearn, TPOT has encoded y with the sklearn LabelEncoder. When using pipelines outside the main TPOT estimator class, you can encode the labels with est.label_encoder_\")\n", + "Generation: : 1it [00:24, 24.65s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 1\n", + "Best rmse score: 0.034633208054417206\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 2it [00:47, 23.42s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 2\n", + "Best rmse score: 0.034633208054417206\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 3it [01:12, 24.23s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 3\n", + "Best rmse score: 0.03429318271103084\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: : 3it [01:40, 33.47s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 4\n", + "Best rmse score: 0.03429318271103084\n", + "Early stop\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" ] }, { "data": { "text/html": [ - "
TPOTEstimator(classification=True, generations=5, max_eval_time_seconds=300,\n",
-       "              population_size=10, scorers=['roc_auc'], scorers_weights=[1],\n",
-       "              search_space=<tpot2.search_spaces.pipelines.graph.GraphPipeline object at 0x716246e21cf0>,\n",
-       "              verbose=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
TPOTEstimator(classification=True, early_stop=2, max_eval_time_mins=300,\n",
+       "              max_time_mins=10, n_jobs=20, objective_function_names=['rmse'],\n",
+       "              other_objective_functions=[functools.partial(<function rmse_obective at 0x78eb3890c700>, X=array([[ 0.03807591,  0.05068012,  0.06169621, ..., -0.00259226,\n",
+       "         0.01990749, -0.01764613],\n",
+       "       [-0.00188202, -0.04464164, -0.05147406, ..., -0.0394933...\n",
+       "        -0.04688253,  0.01549073],\n",
+       "       [-0.04547248, -0.04464164,  0.03906215, ...,  0.02655962,\n",
+       "         0.04452873, -0.02593034],\n",
+       "       [-0.04547248, -0.04464164, -0.0730303 , ..., -0.03949338,\n",
+       "        -0.00422151,  0.00306441]]), missing_add=0.2)],\n",
+       "              other_objective_functions_weights=[-1], scorers=[],\n",
+       "              scorers_weights=[],\n",
+       "              search_space=<tpot2.search_spaces.pipelines.choice.ChoicePipeline object at 0x78eb37c9f250>,\n",
+       "              verbose=3)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "TPOTEstimator(classification=True, generations=5, max_eval_time_seconds=300,\n", - " population_size=10, scorers=['roc_auc'], scorers_weights=[1],\n", - " search_space=,\n", - " verbose=2)" + "TPOTEstimator(classification=True, early_stop=2, max_eval_time_mins=300,\n", + " max_time_mins=10, n_jobs=20, objective_function_names=['rmse'],\n", + " other_objective_functions=[functools.partial(, X=array([[ 0.03807591, 0.05068012, 0.06169621, ..., -0.00259226,\n", + " 0.01990749, -0.01764613],\n", + " [-0.00188202, -0.04464164, -0.05147406, ..., -0.0394933...\n", + " -0.04688253, 0.01549073],\n", + " [-0.04547248, -0.04464164, 0.03906215, ..., 0.02655962,\n", + " 0.04452873, -0.02593034],\n", + " [-0.04547248, -0.04464164, -0.0730303 , ..., -0.03949338,\n", + " -0.00422151, 0.00306441]]), missing_add=0.2)],\n", + " other_objective_functions_weights=[-1], scorers=[],\n", + " scorers_weights=[],\n", + " search_space=,\n", + " verbose=3)" ] }, - "execution_count": 31, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "import tpot2\n", - "import numpy as np\n", - "import sklearn\n", - "import sklearn.datasets\n", - "\n", - "# create dummy dataset\n", - "X, y = sklearn.datasets.make_classification(n_samples=200, n_features=10, n_classes=2)\n", - "\n", - "# train test split\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, test_size=0.5)\n", - "\n", + "from functools import partial\n", "\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", + "final_objective = partial(rmse_obective, X=X, missing_add=.2)\n", "\n", "est = tpot2.TPOTEstimator(\n", - " scorers = [\"roc_auc\"],\n", - " scorers_weights = [1],\n", + " scorers = [],\n", + " scorers_weights = [],\n", + " other_objective_functions = [final_objective],\n", + " other_objective_functions_weights = [-1],\n", + " objective_function_names = [\"rmse\"],\n", " classification = True,\n", - " cv = 5,\n", - " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", - " verbose = 2,\n", + " search_space = imputation_search_space,\n", + " max_time_mins=10,\n", + " max_eval_time_mins = 60*5,\n", + " verbose = 3,\n", + " early_stop = 2,\n", + " n_jobs=20,\n", ")\n", "\n", - "est.fit(X_train, y_train)" + "est.fit(X, y=y)" ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "auroc score 0.9551820728291317\n" + "final rmse score 0.028453289651831883\n" ] } ], "source": [ "# score the model\n", - "\n", - "auroc_scorer = sklearn.metrics.get_scorer(\"roc_auc\")\n", - "auroc_score = auroc_scorer(est, X_test, y_test)\n", - "\n", - "print(\"auroc score\", auroc_score)" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+oklEQVR4nOzdd1zW5f748dc92IgyFBEEFy5AFNzgyoapWZZmWYojpXEav2yeTiePnb6tU6d9us1d5iizLFunnOBCQBAc4IgpKNzsfY/fH9p9/IiiKHAz3s/Ho8cj3vf1+VzvDxa+ua7PdV0qs9lsRgghhBBCtHhqaycghBBCCCEahhR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthBR2QgghhBCthNbaCQghREMyGo3o9Xpyc3PJzc3lXE4OVRUVmIxG1BoNdg4OdOzcGU9PTzw9PXFzc0Oj0Vg7bSGEaBAqs9lstnYSQghxowoKCkhISOBwXByVZWWYDQacKypor9djYzCgNpsxqVTUaLUUublR6uCASqvF3smJoJAQgoODcXV1tfZjCCHEDZHCTgjRomVnZ7MnKorTqanYlJfjm56Bl15P+7IybIzGK15Xo9FQ5OTEGTc30n27UuPoSHd/f8JGjcLLy6sJn0AIIRqOFHZCiBbJYDAQHR1NTHQ0znl59EpLxycvD43JVO97GdVqMj08OOHnS6mHB0PCwggLC0OrlbdVhBAtixR2QogWJycnh61btlCQmUXf1FT8s7JQN8CPMpNKRaq3N8f8/XHz8WbilCl07ty5ATIWQoimIYWdEKJFSUtLY/OGDThmnyH06FFcyssbvI9iR0di+/WjvEsXps64Fz8/vwbvQwghGoMUdkKIFiMtLY1N69bhnpbO0CNH0F7HtOu1MqjV7A/oj97Xl3vuv1+K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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#plot the best pipeline\n", - "est.fitted_pipeline_.plot()" + "rmse_score = final_objective(est, fitted=True)\n", + "print(\"final rmse score\", rmse_score)" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
TPOTEstimator(classification=True, generations=5, max_eval_time_seconds=300,\n",
-       "              population_size=10, scorers=['roc_auc'], scorers_weights=[1],\n",
-       "              search_space=<tpot2.search_spaces.pipelines.graph.GraphPipeline object at 0x716246e21cf0>,\n",
-       "              verbose=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
IterativeImputer(estimator=ExtraTreesRegressor(max_features=0.7116178998798,\n",
+       "                                               min_samples_split=16),\n",
+       "                 imputation_order='descending', initial_strategy='median',\n",
+       "                 n_nearest_features=10)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "TPOTEstimator(classification=True, generations=5, max_eval_time_seconds=300,\n", - " population_size=10, scorers=['roc_auc'], scorers_weights=[1],\n", - " search_space=,\n", - " verbose=2)" + "IterativeImputer(estimator=ExtraTreesRegressor(max_features=0.7116178998798,\n", + " min_samples_split=16),\n", + " imputation_order='descending', initial_strategy='median',\n", + " n_nearest_features=10)" ] }, - "execution_count": 34, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "est" + "est.fitted_pipeline_" ] }, { @@ -5772,20 +18619,24 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Generation: 100%|██████████| 5/5 [00:33<00:00, 6.70s/it]\n" + "Generation: : 3it [01:30, 30.21s/it]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/discriminant_analysis.py:947: UserWarning: Variables are collinear\n", + " warnings.warn(\"Variables are collinear\")\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/neural_network/_multilayer_perceptron.py:690: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n", + " warnings.warn(\n" ] }, { "data": { "text/html": [ - "
TPOTEstimator(classification=True, generations=5, max_eval_time_seconds=300,\n",
-       "              population_size=10, scorers=['roc_auc'], scorers_weights=[1],\n",
-       "              search_space=<tpot2.search_spaces.pipelines.sequential.SequentialPipeline object at 0x716238dc50f0>,\n",
-       "              verbose=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "Pipeline(steps=[('maxabsscaler', MaxAbsScaler()),\n", - " ('selectfwe', SelectFwe(alpha=0.035185091169059365)),\n", + "Pipeline(steps=[('standardscaler', StandardScaler()),\n", + " ('passthrough', Passthrough()),\n", " ('featureunion-1',\n", " FeatureUnion(transformer_list=[('featureunion',\n", " FeatureUnion(transformer_list=[('columnonehotencoder',\n", @@ -6742,21 +19604,23 @@ " Passthrough())])),\n", " ('featureunion-2',\n", " FeatureUnion(transformer_list=[('featureunion',\n", - " Feature...ortransformer-1',\n", - " EstimatorTransformer(estimator=KNeighborsClassifier(n_jobs=1,\n", - " n_neighbors=4,\n", - " p=1))),\n", + " FeatureUnion(transformer_...\n", " ('estimatortransformer-2',\n", - " EstimatorTransformer(estimator=BernoulliNB(alpha=0.38931927157292817,\n", - " fit_prior=False)))])),\n", + " EstimatorTransformer(estimator=DecisionTreeClassifier(max_depth=16,\n", + " max_features='log2',\n", + " min_samples_leaf=9,\n", + " min_samples_split=7)))])),\n", " ('passthrough',\n", " Passthrough())])),\n", - " ('logisticregression',\n", - " LogisticRegression(C=0.599616111675462, max_iter=1000,\n", - " n_jobs=1, solver='saga'))])" + " ('mlpclassifier',\n", + " MLPClassifier(activation='tanh', alpha=0.0015036151556,\n", + " hidden_layer_sizes=[435],\n", + " learning_rate='adaptive',\n", + " learning_rate_init=0.0002156053435,\n", + " n_iter_no_change=32))])" ] }, - "execution_count": 36, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } diff --git a/Tutorial/3_Feature_Set_Selector.ipynb b/Tutorial/3_Feature_Set_Selector.ipynb index 82bcf6c4..5b76ba4e 100644 --- a/Tutorial/3_Feature_Set_Selector.ipynb +++ b/Tutorial/3_Feature_Set_Selector.ipynb @@ -4,20 +4,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Special Feature Selection nodes in TPOT2\n", + "# Genetic Feature Selection nodes in TPOT2\n", "\n", - "TPOT2 can use evolutionary algorithms to optimize feature selection simultaneously with pipeline optimization. There are two node search spaces included.\n", + "TPOT2 can use evolutionary algorithms to optimize feature selection simultaneously with pipeline optimization. It includes two node search spaces with different feature selection strategies: FSSNode and GeneticFeatureSelectorNode. \n", "\n", - "1. FSSNode - (Feature Set Selector) This node is useful if you have predefined groups of features that you want to select from. For example, one group could include the first x columns, the next group could include the next y columns, etc. Each FeatureSetSelector Node will select a single group to be passed to the next step in the pipeline. This node is also useful if you want to select individual columns at a time, this will be used in tutorial 4 to create a symbolic regression search space. \n", + "1. FSSNode - (Feature Set Selector) This node is useful if you have a list of predefined feature sets you want to select from. Each FeatureSetSelector Node will select a single group of features to be passed to the next step in the pipeline. Note that FSSNode does not create its own subset of features and does not mix/match multiple predefined feature sets.\n", "\n", - "2. GeneticFeatureSelectorNode - Whereas FSSNode selects from a predefine list of subsets of features, this node instead uses evolutionary algorithms to optimize a novel subset from scratch. This is useful where there is no predefined grouping of features.\n", + "2. GeneticFeatureSelectorNode—Whereas the FSSNode selects from a predefined list of subsets of features, this node uses evolutionary algorithms to optimize a novel subset of features from scratch. This is useful where there is no predefined grouping of features. \n", "\n", + "This tutorial focuses on FSSNode. See Tutorial 5 for more information on GeneticFeatureSelectorNode.\n", "\n", "It may also be beneficial to pair these search spaces with a secondary objective function to minimize complexity. That would encourage TPOT to try to produce the simplest pipeline with the fewest number of features.\n", "\n", "tpot2.objectives.number_of_nodes_objective - This can be used as an other_objective_function that counts the number of nodes.\n", "\n", - "tpot2.objectives.complexity_scorer - This is a scorer that can be used in the scorers parameter that tries to count the total number of learned parameters (number of coefficients, number of nodes in decision trees, etc.).\n" + "tpot2.objectives.complexity_scorer - This is a scorer that tries to count the total number of learned parameters (number of coefficients, number of nodes in decision trees, etc.).\n" ] }, { @@ -30,10 +31,10 @@ "The FeatureSetSelector is a subclass of sklearn.feature_selection.SelectorMixin that simply returns the manually specified columns. The parameter sel_subset specifies the name or index of the column that it selects. The transform function then simply indexes and returns the selected columns. You can also optionally name the group with the name parameter, though this is only for note keeping and does is not used by the class.\n", "\n", "\n", - "sel_subset: list or int\n", - " If X is a dataframe, items in sel_subset list must correspond to column names\n", - " If X is a numpy array, items in sel_subset list must correspond to column indexes\n", - " int: index of a single column\n", + " sel_subset: list or int\n", + " If X is a dataframe, items in sel_subset list must correspond to column names\n", + " If X is a numpy array, items in sel_subset list must correspond to column indexes\n", + " int: index of a single column\n", "\n", "\n" ] @@ -95,19 +96,23 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "To use the FSS with TPOT2, you can simply pass it in to the configuration dictionary. Note that the FSS is only well defined when used in the leaf nodes of the graph. This is because downstream nodes will receive different transformations of the data such that the original indexes no longer correspond to the same columns in the raw data.\n", + "# FSSNode\n", "\n", - "TPOT2 includsing the string \"feature_set_selector\" in the leaf_config_dict parameter will include the FSS in the search space of the pipeline. By default, each FSS node will select a single column. You can also group columns into sets so that each node selects a set of features rather than a single feature.\n", + "The `FSSNode` is a node search space that simply selects one feature set from a list of feature sets. This works identically to the EstimatorNode, but provides a easier interface for defining the feature sets.\n", "\n", + "Note that the FSS is only well defined when used as the first step in a pipeline. This is because downstream nodes will receive different transformations of the data such that the original indexes no longer correspond to the same columns in the transformed data.\n", "\n", + "The `FSSNode` takes in a single parameter `subsets` which defines the groups of features. There are four ways of defining the subsets. \n", "\n", - "subsets : str or list, default=None\n", - " Sets the subsets that the FeatureSetSeletor will select from if set as an option in one of the configuration dictionaries.\n", - " - str : If a string, it is assumed to be a path to a csv file with the subsets. \n", - " The first column is assumed to be the name of the subset and the remaining columns are the features in the subset.\n", - " - list or np.ndarray : If a list or np.ndarray, it is assumed to be a list of subsets.\n", - " - None : If None, each column will be treated as a subset. One column will be selected per subset.\n", - " If subsets is None, each column will be treated as a subset. One column will be selected per subset.\n", + " subsets : str or list, default=None\n", + " Sets the subsets that the FeatureSetSeletor will select from if set as an option in one of the configuration dictionaries. \n", + " Features are defined by column names if using a Pandas data frame, or ints corresponding to indexes if using numpy arrays.\n", + " - str : If a string, it is assumed to be a path to a csv file with the subsets. \n", + " The first column is assumed to be the name of the subset and the remaining columns are the features in the subset.\n", + " - list or np.ndarray : If a list or np.ndarray, it is assumed to be a list of subsets (i.e a list of lists).\n", + " - dict : A dictionary where keys are the names of the subsets and the values are the list of features.\n", + " - int : If an int, it is assumed to be the number of subsets to generate. Each subset will contain one feature.\n", + " - None : If None, each column will be treated as a subset. One column will be selected per subset.\n", "\n", "\n", "Lets say you want to have three groups of features, each with three columns each. The following examples are equivalent:\n", @@ -117,13 +122,10 @@ "sel_subsets=simple_fss.csv\n", "\n", "\n", - "\\# simple_fss.csv\n", - "\n", - "group_one, 1,2,3\n", - "\n", - "group_two, 4,5,6\n", - "\n", - "group_three, 7,8,9\n", + " \\# simple_fss.csv\n", + " group_one, 1,2,3\n", + " group_two, 4,5,6\n", + " group_three, 7,8,9\n", "\n", "\n", "### dict\n", @@ -138,14 +140,18 @@ "### list\n", "\n", "\n", - "sel_subsets = [[1,2,3],[4,5,6],[7,8,9]]\n", - "\n", - "\n", - "\n", - "(As the FSS is just another transformer, you could also pass it in with the standard configuration dictionary format (described in tutorial 2), in which you would have to define your own function that returns a hyperparameter. Similar to the params_LogisticRegression function below. )\n", - "\n", + "sel_subsets = [[1,2,3],\n", + "[4,5,6],\n", + "[7,8,9]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Examples\n", "\n", - "(In the future, FSS will be treated as a special case node with its own mutation/crossover functions to make it more efficient when there are large numbers of features.)" + "For these examples, we create a dummy dataset where the first six columns are informative and the rest are uninformative." ] }, { @@ -183,68 +189,86 @@ " g\n", " h\n", " i\n", + " j\n", + " k\n", + " l\n", " \n", " \n", " \n", " \n", " 0\n", - " -2.170854\n", - " 1.245354\n", - " 2.139022\n", - " 0.335394\n", - " 0.459081\n", - " 0.700336\n", - " 0.578917\n", - " 0.092662\n", - " 0.161226\n", + " -0.988411\n", + " -3.270714\n", + " -1.816697\n", + " 0.384124\n", + " 1.258591\n", + " -1.577232\n", + " 0.101273\n", + " 0.657975\n", + " 0.770880\n", + " 0.882366\n", + " 0.637714\n", + " 0.002812\n", " \n", " \n", " 1\n", - " -1.249092\n", - " 0.278109\n", - " -0.498371\n", - " 0.381443\n", - " 0.551928\n", - " 0.478524\n", - " 0.656872\n", - " 0.975068\n", - " 0.497428\n", + " -0.531157\n", + " -1.298541\n", + " -2.630749\n", + " 0.036662\n", + " -2.097307\n", + " -1.711751\n", + " 0.894172\n", + " 0.727579\n", + " 0.211429\n", + " 0.223319\n", + " 0.496683\n", + " 0.840040\n", " \n", " \n", " 2\n", - " -0.997527\n", - " 1.527997\n", - " -1.360814\n", - " 0.438920\n", - " 0.257216\n", - " 0.995995\n", - " 0.411837\n", - " 0.044339\n", - " 0.073172\n", + " -0.896734\n", + " -1.805453\n", + " -2.736948\n", + " -0.310169\n", + " 1.802988\n", + " -0.269441\n", + " 0.765178\n", + " 0.341713\n", + " 0.847770\n", + " 0.696190\n", + " 0.824104\n", + " 0.297523\n", " \n", " \n", " 3\n", - " 1.511913\n", - " -1.374412\n", - " 2.422807\n", - " 0.805676\n", - " 0.051917\n", - " 0.640761\n", - " 0.094881\n", - " 0.753452\n", - " 0.214523\n", + " 1.637719\n", + " -0.930537\n", + " -0.229303\n", + " 0.198907\n", + " 1.184137\n", + " -0.411545\n", + " 0.870378\n", + " 0.811312\n", + " 0.142528\n", + " 0.707361\n", + " 0.201967\n", + " 0.867956\n", " \n", " \n", " 4\n", - " -1.120579\n", - " 1.033842\n", - " -1.099884\n", - " 0.059472\n", - " 0.682245\n", - " 0.605932\n", - " 0.745800\n", - " 0.824254\n", - " 0.903524\n", + " -1.709777\n", + " -2.701615\n", + " 0.297434\n", + " -0.909832\n", + " 1.436884\n", + " 0.120985\n", + " 0.866854\n", + " 0.352461\n", + " 0.690270\n", + " 0.172950\n", + " 0.056518\n", + " 0.806867\n", " \n", " \n", "\n", @@ -252,18 +276,18 @@ ], "text/plain": [ " a b c d e f g \\\n", - "0 -2.170854 1.245354 2.139022 0.335394 0.459081 0.700336 0.578917 \n", - "1 -1.249092 0.278109 -0.498371 0.381443 0.551928 0.478524 0.656872 \n", - "2 -0.997527 1.527997 -1.360814 0.438920 0.257216 0.995995 0.411837 \n", - "3 1.511913 -1.374412 2.422807 0.805676 0.051917 0.640761 0.094881 \n", - "4 -1.120579 1.033842 -1.099884 0.059472 0.682245 0.605932 0.745800 \n", - "\n", - " h i \n", - "0 0.092662 0.161226 \n", - "1 0.975068 0.497428 \n", - "2 0.044339 0.073172 \n", - "3 0.753452 0.214523 \n", - "4 0.824254 0.903524 " + "0 -0.988411 -3.270714 -1.816697 0.384124 1.258591 -1.577232 0.101273 \n", + "1 -0.531157 -1.298541 -2.630749 0.036662 -2.097307 -1.711751 0.894172 \n", + "2 -0.896734 -1.805453 -2.736948 -0.310169 1.802988 -0.269441 0.765178 \n", + "3 1.637719 -0.930537 -0.229303 0.198907 1.184137 -0.411545 0.870378 \n", + "4 -1.709777 -2.701615 0.297434 -0.909832 1.436884 0.120985 0.866854 \n", + "\n", + " h i j k l \n", + "0 0.657975 0.770880 0.882366 0.637714 0.002812 \n", + "1 0.727579 0.211429 0.223319 0.496683 0.840040 \n", + "2 0.341713 0.847770 0.696190 0.824104 0.297523 \n", + "3 0.811312 0.142528 0.707361 0.201967 0.867956 \n", + "4 0.352461 0.690270 0.172950 0.056518 0.806867 " ] }, "execution_count": 2, @@ -277,11 +301,18 @@ "from sklearn.linear_model import LogisticRegression\n", "import numpy as np\n", "import pandas as pd\n", + "import tpot2\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "from tpot2.search_spaces.nodes import *\n", + "from tpot2.search_spaces.pipelines import *\n", + "from tpot2.config import get_search_space\n", "\n", "\n", - "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=3, n_informative=3, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", + "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=6, n_informative=6, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", "X = np.hstack([X, np.random.rand(X.shape[0],6)]) #add six uninformative features\n", - "X = pd.DataFrame(X, columns=['a','b','c','d','e','f','g','h','i']) # a, b ,c the rest are uninformative\n", + "X = pd.DataFrame(X, columns=['a','b','c','d','e','f','g','h','i', 'j', 'k', 'l']) # a, b ,c the rest are uninformative\n", "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", "\n", "X.head()" @@ -291,83 +322,49 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Feature Set Selector\n", - "\n", - "In this configuration, each FSS node considers a single column.\n", - "\n", - "The root node is a logistic regression and there are no other intermediate transformers. An additional objective function is included that seeks to minimize the number of leave nodes (i.e the number of selected features)" + "Lets say that either based on prior knowledge or interest, we know that the features can be grouped as follows" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 39005 instead\n", - " warnings.warn(\n", - "Generation: 100%|██████████| 5/5 [04:09<00:00, 49.87s/it]\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/preprocessing/_data.py:2762: UserWarning: n_quantiles (842) is greater than the total number of samples (750). n_quantiles is set to n_samples.\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/preprocessing/_data.py:2762: UserWarning: n_quantiles (1803) is greater than the total number of samples (750). n_quantiles is set to n_samples.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9390338164251208\n" - ] - } - ], + "outputs": [], "source": [ - "import tpot2\n", - "import sklearn.datasets\n", - "from sklearn.linear_model import LogisticRegression\n", - "import numpy as np\n", - "\n", "subsets = { \"group_one\" : ['a','b','c',],\n", " \"group_two\" : ['d','e','f'],\n", " \"group_three\" : ['g','h','i'],\n", - " }\n", - "\n", - "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([fss_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" + " \"group_four\" : ['j','k','l'],\n", + " }" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can create an FSSNode that will select from this subset. Each node in a pipeline only selects one subset." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, + "outputs": [], + "source": [ + "fss_search_space = FSSNode(subsets=subsets)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we randomly sample from this search space, we can see that we get a single selector that selects one of the predefined sets. In this case, it selects groups two, which includes ['d', 'e', 'f']. (A random seed was set in the generate function so that the same group would be selected when rerunning the notebook.)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -776,98 +773,20 @@ " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-3);\n", "}\n", - "
Pipeline(steps=[('featuresetselector',\n",
-       "                 FeatureSetSelector(name='group_one',\n",
-       "                                    sel_subset=['a', 'b', 'c'])),\n",
-       "                ('graphpipeline',\n",
-       "                 GraphPipeline(graph=<networkx.classes.digraph.DiGraph object at 0x7c2c2831c100>))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
FeatureSetSelector(name='group_two', sel_subset=['d', 'e', 'f'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ - "Pipeline(steps=[('featuresetselector',\n", - " FeatureSetSelector(name='group_one',\n", - " sel_subset=['a', 'b', 'c'])),\n", - " ('graphpipeline',\n", - " GraphPipeline(graph=))])" + "FeatureSetSelector(name='group_two', sel_subset=['d', 'e', 'f'])" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "est.fitted_pipeline_" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that if you want to include multiple subsets, you can instead include the node as a leaf in the graph search space. This will produce a pipeline where all leaves as FSSNodes and all FSSNodes appear in the leaves (to prevent inner nodes from also being FSSNodes). Since the graph search space allows for multiple leaves, this pipeline can select multiple feature sets. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 42397 instead\n", - " warnings.warn(\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [00:22<00:00, 4.46s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.8384541062801932\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn.datasets\n", - "from sklearn.linear_model import LogisticRegression\n", - "import numpy as np\n", - "\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=X_train.columns.tolist()), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = graph_search_space ,\n", - " verbose=1,\n", - " )\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" + "fss_selector = fss_search_space.generate(rng=1).export_pipeline()\n", + "fss_selector" ] }, { @@ -877,31 +796,135 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHC0lEQVR4nO3deXxUhbn/8e8sISuEJEgISwAxCGYlFNAEUIpapSKKIJZbCRS3/qjWWxeutS5Xy3UptJSLK4Kg11pab7G54sIFVAxrSEJCAggIhJCYSEgI2Ugyy+8Pca5HAQMkOTOTz/v18o8+mTnnSWI93zzPzBmL2+12CwAAAD7PanYDAAAAaBsEOwAAAD9BsAMAAPATBDsAAAA/QbADAADwEwQ7AAAAP0GwAwAA8BMEOwAAAD9BsAMAAPATBDsAAAA/QbADAADwEwQ7AAAAP0GwAwAA8BMEOwAAAD9BsAMAAPATBDsAAAA/QbADAADwEwQ7AAAAP0GwAwAA8BMEOwAAAD9BsAMAAPATBDsAAAA/QbADAADwEwQ7AAAAP0GwAwAA8BMEOwAAAD9BsAMAAPATBDsAAAA/YTe7AQBoS06nU1VVVaqoqFBFRYWOlperqbFRLqdTVptNgcHBuqhXL0VHRys6OlqRkZGy2Wxmtw0AbcLidrvdZjcBABequrpa+fn52pmbq5P19XI7HAprbFR4VZUCHA5Z3W65LBa12O2qiYxUXXCwLHa7gkJDlZiaquTkZEVERJj9bQDABSHYAfBpZWVl2pSVpYP79imgoUGxh0sUU1Wl8Pp6BTidZ3xei82mmtBQfRkZqcOx/dQSEqKBcXFKHzNGMTExHfgdAEDbIdgB8EkOh0MbN25U9saNCqus1CXFh9W3slI2l+ucj+W0WnWkRw/t7x+ruh49NCI9Xenp6bLbebUKAN9CsAPgc8rLy7U6M1PVR0o1ZN8+xZWWytoG/ylzWSza16eP9sTFKbJvH0248Ub16tWrDToGgI5BsAPgU4qLi7Vq5UqFlH2p4bt3q1tDQ5uf40RIiHKGDlVD7966edqt6t+/f5ufAwDaA8EOgM8oLi7Wf7/9tqKKD2vkrl2yn8fatbUcVqu2xl+mqthY3fKznxHuAPgE7mMHwCeUl5dr1cqViiw+rMuLito11EmS3eXSFYVFijx8WKtW/k3l5eXtej4AaAsEOwBez+FwaHVmpkLKvtSoXbva5PV0rWF1uzWqaJeCvyzT+5mZcjgcHXJeADhfBDsAXm/jxo2qPlKq4bt3t/uk7rvsLpeG79qtqtJSbdq0qUPPDQDnimAHwKuVlZUpe+NGDdm3r13eKNEa4Q0NunTvPm3LytKXX35pSg8A0BoEOwBebVNWlsIqKxVXWmpqH4NLSxVWWamNWVmm9gEAZ0OwA+C1qqurdXDfPl1SfLjDXld3Jla3W4OKD+vg3r2qrq42tRcAOBOCHQCvlZ+fr4CGBvWtrDS7FUlSv8pK2RsaVFBQYHYrAHBaBDsAXsnpdGpnbq5iD5ec18eEtQeby6X+JSUqyMmR8yyfQwsAZiHYAfBKVVVVOllfr5iqKrNbMYg59nVfVV7WFwBIBDsAZ2G325WSkuL5p7Gx8ZyP8fzzz5/XuSsqKuR2ONS9rs5QX3y4WBNyc3RDbo4m78hTycmTZz3OkiMlF/T8kVs2G/53eH293A6HKioqzvq8hQsXqrm5+ayPaY0dO3bo8ssvV0JCglJTU/XJJ59c8DEB+C+72Q0A8F7du3fXjh07LugYzz//vB5++OFzeo7T6VRFRYXCGhsN963LPXFCW2tq9M+UYQqwWlXe1KRg29n/Pl1y5Iju7NvvvJ//XQFOp8IaG1VRUaGEhIQzPm7hwoW644471KVLl1Yd1+VyyWr9fi+hoaF66623NGjQIO3atUs33HCDDhw4cE49A+g8mNgBOCcfffSRrrjiCg0bNkw///nPPVOpu+66S8OHD1d8fLzmz58vSXr00Ud1/PhxpaSk6J577tGhQ4f0ox/9yHOsBx98UMuXL5ckDRgwQP/2b/+mYcOGaf369frHO+9o/uuva2Jurv7jVJA52tysCHuAAk4FoF6BgQq3B0iSPquu1q35OzQpL1cPfr5HzS6X/njokGodDt2Yl6vH9+875+d/16tHSjR5R56efe01vb50qac+b948JSYmKikpSX/605/0wgsvqKysTGlpabrxxhslSW+++aYSExOVkJCgP/zhD5KkQ4cOKTExUbfddpsuu+yy005E4+LiNGjQIEnS0KFDVVdXx+v7AJwREzsAZ/RNKJOkH/3oR3r22Wf1hz/8QevXr1dwcLAef/xxLVmyRHPmzNGzzz6ryMhIORwOjRkzRtOmTdO8efP0yiuveKZ+hw4dOuv5+vXrp7y8PO3evVvbtm3TvOuv148OHtJDn3+uj6uqlN69u/7zcLGuz9mu9O4RmtSzpxK7dlVVS4teO3JEbyQkKshm05+LD+lv5eX6zYAB+mv5l8oclipJqnM4zun5P+/d29NbVnW1ypua9N/JKcq9+GI9lb1NhYWFOnz4sNavX6/t27crMDBQVVVVioyM1B/+8Adt2rRJYWFhKi0t1ZNPPqns7GyFhIQoLS1NP/7xjxUVFaXdu3frrbfeUlJS0g/+Pt59910NHz5cNpvtvH6fAPwfwQ7AGX13Ffvee++poKBAV1xxhSSpqalJP/3pTyVJb7/9tl577TU5nU4dOXJEe/bsUb9+/c7pfFOnTpUkrVu3Tl8cOKBHDh5UcHOzTjpdSggL07jISL07LFVbjx/XpprjmlVYqD8PGaJmt0ufN9Tr1oJ8SVKzy6WrIiO/d/wwu/28n591vFqfVFVr+4k8Ne4qUoPNpr179yorK0uzZs1SYGCgJCnyNOfNzs7W+PHjPV+bMmWKsrKyNGnSJA0ePLhVoe7AgQN6+OGH9cEHH5zDTxRAZ0OwA9BqLpdLP/3pT/X6668b6gcOHNALL7ygzZs3Kzw8XFOmTFFTU9P3nm+32+X61orzu48JCQnxnOfKMWP0s8hIDfvC+Hoyu8Wi9IgIpUdEKNIeoLVVxzS6e4SuiojUs4MH/+D3cL7Pd7mlX8XGanJ0tPIGDdLJMaM1efJkZV3gJ1F88z2fTVVVlSZNmqRXXnlFl1xyyQWdD4B/4zV2AFrtiiuu0Mcff6zi4mJJ0okTJ3Tw4EHV1tYqLCxM3bp105EjR7R27VrPc2w2m+c1YT179lRZWZlqa2tVV1en//3f/z3tecaPH6/snBxVORySpGPNzfqquVkHGhp0+NTr0Nxut/Y21Kt3YKCGdeuqrTXHVXrqHa51Dofn3a42i0XOU59acT7P/8boiO76e0W5Gp1ONdvtqqmtVU1Nja6++mq9/vrrnpD6zW1QunbtqtraWknSyJEjtW7dOlVXV6upqUn/+Mc/NGbMmFb9zJubm3XzzTfrgQce0I9//ONWPQdA58XEDkCrXXTRRVqyZIluueUWNTc3y2q1auHChbrqqqs0dOhQDRkyRAMGDNDo0aM9z8nIyFBiYqLGjh2rl19+WQ8//LCGDRum2NhYJSYmnvY88fHxmpGRod+/9poW1tcrwGrVc3GD1eR26akvvlDdqaAYHxqm22N6K8hm0+8vidO9e3arxeWSxWLRowMvVr+gIN3cM1o35OZoRHi4bu3V65yf/42xEZHa39CgW/N36MS+vYrcslm3/uxnmjBhgnJycpSamqqAgADNmjVLv/71r3XnnXdq3LhxGjx4sDIzM/XEE09o7NixcrvdysjIUGpq6g++5lCS/va3v2nLli2qqanRwoULJX29qo6KijrP3yIAf2Zxu03+AEYAOI3CwkK9//e/64ZPNyjAi94F2mKz6b0rx2rC1Klnvd0JAJiBVSwArxQdHS2L3a6a0FCzWzGoCQ2VxW5XdHS02a0AwPewigXglSIjIxUUGqovIyPV48QJs9vx+DLq675O9+7XC3Hs2DGNHz/eUAsMDNTWrVvb9DwA/BvBDoBXstlsSkxN1Y5jx3TZ4cOyneaGwR3NabWquF8/pbbDveSioqIu+FM+AIBVLACvlZycrJaQEB3p0eOsj2txOPTV0a9U9uWXOlHbftO9kh495AgJadV95wDADAQ7AF4rIiJCA+PitL9/rFwWy2kf43K7VVVVJYfDIcmturo6tZy6TUpbclks+qJ/rAYOHqyIiIg2Pz4AtAWCHQCvlj5mjOp69NC+Pn1O+/UTJ07I6Wz7IPdde/v0UV2PHkr/1q1cAMDbEOwAeLWYmBiNSE/Xnrg4nfjOpzScbGpSQ0O9odalS6AC7G378uGakBB9PjhOI0ePVkxMTJseGwDaEsEOgNdLT09XRN8+yhk6VA7r1//ZcrndOn78uOFxFotV3bt3b9NzO6xW5Vw2VJF9+igtLa1Njw0AbY1gB8Dr2e12/fTGG9XQu7e2xl8ml8WimpoauVzGGxd369ZN9jZ8t6rLYtHW+MvUGNNbE268UfY2ngQCQFsj2AHwCb169dLN025VVWyssoZcqrrmJsPXAwODFPqdVe2FcFit2pwQr6rYWN087Vb16tWrzY4NAO2FYAfAZ/Tv31/jr79ee0NDtWPsWDV06ybpmxVseJudpyYkRBtSh+n4gIG65Wc/U//+/dvs2ADQnvisWAA+w+12a+rUqfrss890409/qj4REYrbs0eXfXVUYUFBF3x8l8WivX366PPBcYrs00cTbryRSR0An0KwA+Az3n77bU2fPl3S159MkZaWpnHp6YppatKg4sPqV1l5Xp9Q4bRaVdKjh77oH6u6Hj00cvRopaWl8Zo6AD6HYAfAJ5SVlSkhIUHV1dWeWlRUlD755BPt2b1bB/fulb2hQf1LShRzrErh9fUKcDrPeLwWm001oaH6MipSxf36yRESooGDByudW5oA8GH8OQrA67ndbt11112GUCdJL730khISEjyBr6CgQAU5Ofqivl5uh0NhjY3qVlWtLg6HrG6XXBarmu12nYiMUF1wsCx2u4JCQ5U6fLiSkpL4RAkAPo+JHQCvt2zZMs2ePdtQmzZtmv76179+77FOp1NVVVWqqKhQRUWFjpaXq/nkSTkdDtnsdnUJCtJFvXopOjpa0dHRioyMlK0Nb5ECAGYi2AHwasXFxUpMTFRtba2nFh0draKiIkVFRZnYGQB4H253AsBruVwuzZ492xDqJGnJkiWEOgA4DYIdAK/18ssva926dYbazJkzNXHiRJM6AgDvxioWgFfav3+/kpOT1dDQ4Kn17dtXhYWFCg9vu5sRA4A/YWIHwOs4nU7NmjXLEOokaenSpYQ6ADgLgh0Ar7Nw4UJlZWUZavfcc4+uvfZakzoCAN/AKhaAV9m9e7eGDRumpqYmT23gwIEqKChQWFiYiZ0BgPdjYgfAazgcDmVkZBhCncVi0fLlywl1ANAKBDsAXuO5555Tdna2oXb//fdr7NixJnUEAL6FVSwAr5Cfn68RI0aopaXFU7v00kuVl5en4OBgEzsDAN/BxA6A6ZqbmzVjxgxDqLNarVqxYgWhDgDOAcEOgOmeeuopFRQUGGpz587VqFGjTOoIAHwTq1gAptq2bZvS0tLkdDo9tcTERGVnZyswMNDEzgDA9xDsAJimsbFRqamp2rNnj6dmt9uVnZ2tlJQU8xoDAB/FKhaAaR577DFDqJOkxx9/nFAHAOeJiR0AU3z22We68sor9e3/BA0fPlybN29WQECAiZ0BgO8i2AHocHV1dUpOTtaBAwc8tcDAQOXk5Cg+Pt7EzgDAt7GKBdDh5s6dawh1kvT0008T6gDgAjGxA9Ch1q5dq2uuucZQS0tL04YNG2Sz2UzqCgD8A8EOQIepqalRYmKiSkpKPLXg4GDl5+crLi7OxM4AwD+wigXQYX7zm98YQp0kPf/884Q6AGgjTOwAdIj33ntPEydONNTGjRuntWvXymrlb0wAaAsEOwDt7tixY0pISFB5ebmn1rVrVxUUFGjAgAHmNQYAfoY/kwG0u3vvvdcQ6iTpj3/8I6EOANoYEzsA7eqdd97R1KlTDbXrr79eq1evlsViMakrAPBPBDsA7earr75SfHy8KisrPbXu3burqKhIvXv3NrEzAPBPrGIBtAu32627777bEOokafHixYQ6AGgnBDsA7eKtt97Su+++a6jdfPPNmj59ujkNAUAnwCoWQJsrLS1VQkKCjh8/7qn16NFDRUVF6tmzp3mNAYCfY2IHoE253W7dcccdhlAnSS+//DKhDgDaGcEOQJtaunSpPvzwQ0Nt+vTpuuWWW0zqCAA6D1axANrMoUOHlJiYqLq6Ok8tJiZGhYWFioyMNLEzAOgcmNgBaBMul0u/+MUvDKFOkpYsWUKoA4AOQrAD0CZeeOEFffzxx4ba7Nmz9dOf/tSkjgCg82EVC+CC7du3T8nJyWpsbPTUYmNjtXPnTnXr1s3EzgCgc2FiB+CCOJ1OZWRkGEKdJC1btoxQBwAdjGAH4IIsWLBAmzdvNtTmzJmj8ePHm9QRAHRerGIBnLeioiKlpqaqubnZUxs0aJDy8/MVGhpqYmcA0DkxsQNwXlpaWjRjxgxDqLNYLFqxYgWhDgBMQrADcF6eeeYZ5ebmGmoPPPCA0tPTTeoIAMAqFsA5y83N1ahRo+RwODy1oUOHKjc3V0FBQSZ2BgCdGxM7AOekqalJGRkZhlBns9m0YsUKQh0AmIxgB+CcPPnkkyosLDTUHnnkEY0YMcKkjgAA32AVC6DVtmzZovT0dLlcLk8tOTlZ27ZtU5cuXUzsDAAgEewAtFJDQ4OGDRumvXv3emoBAQHavn27kpKSTOwMAPANVrEAWuXRRx81hDrp67UsoQ4AvAcTOwA/6NNPP9VVV11lqI0cOVIbN26U3W43pykAwPcQ7ACcVW1trZKTk3Xw4EFPLSgoSHl5eRoyZIiJnQEAvotVLICzeuihhwyhTpLmzZtHqAMAL8TEDsAZffTRR7ruuusMtTFjxujjjz+WzWYzqSsAwJkQ7ACc1vHjx5WQkKDS0lJPLSQkRAUFBRo0aJCJnQEAzoRVLIDTuv/++w2hTpLmz59PqAMAL8bEDsD3ZGZmatKkSYba1VdfrTVr1shisZjUFQDghxDsABhUVlYqISFBFRUVnlq3bt20c+dOxcbGmtgZAOCHsIoFYDBnzhxDqJOkhQsXEuoAwAcwsQPgsXLlSt12222G2g033KDMzExWsADgAwh2ACRJ5eXlio+PV1VVlacWERGhoqIixcTEmNgZAKC1WMUCkNvt1t13320IdZL04osvEuoAwIcQ7ADojTfeUGZmpqE2ZcoUTZs2zaSOAADng1Us0MmVlJQoMTFRNTU1nlrPnj1VWFioiy66yMTOAADniokd0Im53W7dcccdhlAnSa+88gqhDgB8EMEO6MReffVVrVmzxlC7/fbbddNNN5nTEADggrCKBTqpAwcOKCkpSfX19Z5a7969VVhYqIiICBM7AwCcLyZ2QCfkcrk0a9YsQ6iTpKVLlxLqAMCHEeyATmjRokXasGGDoXbnnXfquuuuM6kjAEBbYBULdDKff/65UlJSdPLkSU9twIABKigoUNeuXU3sDABwoZjYAZ2Iw+FQRkaGIdRJ0rJlywh1AOAHCHZAJzJ//nxt3brVULvvvvs0btw4kzoCALQlVrFAJ7Fz504NHz5cLS0tnlpcXJx27NihkJAQEzsDALQVJnZAJ9Dc3KyMjAxDqLNarVq+fDmhDgD8CMEO6ATmzZunvLw8Q+3BBx9UWlqaSR0BANoDq1jAz+Xk5GjUqFFyOp2eWnx8vLZv366goCATOwMAtDUmdoAfO3nypGbMmGEIdTabTStWrCDUAYAfItgBfuyJJ57Qrl27DLXf/e53Gj58uEkdAQDaE6tYwE9t2rRJo0eP1rf/Lz5s2DBt3bpVAQEBJnYGAGgvBDvAD9XX1yslJUX79+/31Lp06aLt27crMTHRxM4AAO2JVSzghx555BFDqJOkf//3fyfUAYCfY2IH+JmPP/5YP/7xjw21yy+/XJ999pnsdrtJXQEAOgLBDvAjJ06cUFJSkoqLiz214OBg7dixQ4MHDzaxMwBAR2AVC/iRBx54wBDqJOmZZ54h1AFAJ8HEDvATH3zwgSZMmGCoXXnllVq/fr2sVv6GA4DOgGAH+IHq6molJCSorKzMUwsLC1NBQYEGDhxoYmcAgI7En/GAH7jvvvsMoU6SFixYQKgDgE6GiR3g41atWqXJkycbaj/5yU/0wQcfyGKxmNQVAMAMBDvAhx09elTx8fE6evSopxYeHq7CwkL17dvXxM4AAGZgFQv4KLfbrV/+8peGUCdJixYtItQBQCfFxA7wUW+//bamT59uqE2aNEmrVq1iBQsAnRTBDvBBZWVlSkhIUHV1tacWFRWloqIiRUdHm9gZAMBMrGIBH+N2u3XXXXcZQp0kvfTSS4Q6AOjkCHaAj3n99de1evVqQ23atGmaOnWqSR0BALwFq1jAhxQXFysxMVG1tbWeWnR0tIqKihQVFWViZwAAb8DEDvARLpdLs2fPNoQ6SVqyZAmhDgAgiWAH+IyXX35Z69atM9RmzpypiRMnmtQRAMDbsIoFfMD+/fuVnJyshoYGT61v374qLCxUeHi4iZ0BALwJEzvAyzmdTs2aNcsQ6iRp6dKlhDoAgAHBDvByCxcuVFZWlqF2zz336NprrzWpIwCAt2IVC3ix3bt3a9iwYWpqavLUBg4cqIKCAoWFhZnYGQDAGzGxA7yUw+FQRkaGIdRZLBYtX76cUAcAOC2CHeClnnvuOWVnZxtq999/v8aOHWtSRwAAb8cqFvBC+fn5GjFihFpaWjy1Sy+9VHl5eQoODjaxMwCAN2NiB3iZ5uZmzZgxwxDqrFarVqxYQagDAJwVwQ7wMk899ZQKCgoMtblz52rUqFEmdQQA8BWsYgEvsm3bNqWlpcnpdHpqiYmJys7OVmBgoImdAQB8AcEO8BKNjY1KTU3Vnj17PDW73a7s7GylpKSY1xgAwGewigW8xGOPPWYIdZL0+OOPE+oAAK3GxA7wAp999pmuvPJKffv/jsOHD9fmzZsVEBBgYmcAAF9CsANMVldXp+TkZB04cMBTCwwMVE5OjuLj403sDADga1jFAiabO3euIdRJ0tNPP02oAwCcMyZ2gInWrl2ra665xlBLS0vThg0bZLPZTOoKAOCrCHaASWpqapSYmKiSkhJPLTg4WPn5+YqLizOxMwCAr2IVC5jkN7/5jSHUSdLzzz9PqAMAnDcmdoAJ3nvvPU2cONFQGzdunNauXSurlb+3AADnh2AHdLBjx44pISFB5eXlnlrXrl1VUFCgAQMGmNcYAMDnMRoAOti9995rCHWS9Mc//pFQBwC4YEzsgA70zjvvaOrUqYba9ddfr9WrV8tisZjUFQDAXxDsgA7y1VdfKT4+XpWVlZ5a9+7dVVRUpN69e5vYGQDAX7CKBTqA2+3W3XffbQh1krR48WJCHQCgzRDsgA7w1ltv6d133zXUbr75Zk2fPt2chgAAfolVLNDOSktLlZCQoOPHj3tqPXr0UFFRkXr27GleYwAAv8PEDmhHbrdbd9xxhyHUSdLLL79MqAMAtDmCHdCOli5dqg8//NBQmz59um655RaTOgIA+DNWsUA7OXTokBITE1VXV+epxcTEqLCwUJGRkSZ2BgDwV0zsgHbgcrn0i1/8whDqJOm1114j1AEA2g3BDmgHL7zwgj7++GNDbfbs2ZowYYJJHQEAOgNWsUAb27t3r1JSUtTY2OipxcbGaufOnerWrZuJnQEA/B0TO6ANOZ1OzZw50xDqJGnZsmWEOgBAuyPYAW1owYIF2rx5s6E2Z84cjR8/3qSOAACdCatYoI0UFRUpNTVVzc3NntqgQYOUn5+v0NBQEzsDAHQWTOyANtDS0qIZM2YYQp3FYtGKFSsIdQCADkOwA9rAM888o9zcXEPtgQceUHp6ukkdAQA6I1axwAXKzc3VqFGj5HA4PLWhQ4cqNzdXQUFBJnYGAOhsmNgBF6CpqUkZGRmGUGez2bRixQpCHQCgwxHsgAvw5JNPqrCw0FB75JFHNGLECJM6AgB0ZqxigfO0ZcsWpaeny+VyeWrJycnatm2bunTpYmJnAIDOimAHnIeGhgYNGzZMe/fu9dQCAgK0fft2JSUlmdgZAKAzYxULnIdHH33UEOqkr9eyhDoAgJmY2AHn6NNPP9VVV11lqI0cOVIbN26U3W43pykAAESwA85JbW2tkpOTdfDgQU8tKChIeXl5GjJkiImdAQDAKhY4Jw899JAh1EnSvHnzCHUAAK/AxA5opY8++kjXXXedoTZmzBh9/PHHstlsJnUFAMD/IdgBrXD8+HElJCSotLTUUwsJCVFBQYEGDRpkYmcAAPwfVrFAK9x///2GUCdJ8+fPJ9QBALwKEzvgB2RmZmrSpEmG2tVXX601a9bIYrGY1BUAAN9HsAPOorKyUgkJCaqoqPDUunXrpp07dyo2NtbEzgAA+D5WscBZzJkzxxDqJGnhwoWEOgCAV2JiB5zBypUrddtttxlqN9xwgzIzM1nBAgC8EsEOOI3y8nLFx8erqqrKU4uIiFBRUZFiYmJM7AwAgDNjFQt8h9vt1t13320IdZL04osvEuoAAF6NYAd8xxtvvKHMzExDbcqUKZo2bZpJHQEA0DqsYoFvKSkpUWJiompqajy1nj17qrCwUBdddJGJnQEA8MOY2AGnuN1u3XHHHYZQJ0mvvPIKoQ4A4BMIdsApr776qtasWWOo3X777brpppvMaQgAgHPEKhaQdODAASUlJam+vt5T6927twoLCxUREWFiZwAAtB4TO3R6LpdLs2bNMoQ6SVq6dCmhDgDgUwh26PQWLVqkDRs2GGp33nmnrrvuOpM6AgDg/LCKRaf2+eefKyUlRSdPnvTUBgwYoIKCAnXt2tXEzgAAOHdM7NBpORwOZWRkGEKdJC1btoxQBwDwSQQ7dFrz58/X1q1bDbX77rtP48aNM6kjAAAuDKtYdEo7d+7U8OHD1dLS4qnFxcVpx44dCgkJMbEzAADOHxM7dDrNzc3KyMgwhDqr1arly5cT6gAAPo1gh05n3rx5ysvLM9QefPBBpaWlmdQRAABtg1UsOpWcnByNGjVKTqfTU4uPj9f27dsVFBRkYmcAAFw4JnboNE6ePKkZM2YYQp3NZtOKFSsIdQAAv0CwQ6fxxBNPaNeuXYba7373Ow0fPtykjgAAaFusYtEpbNq0SaNHj9a3/3UfNmyYtm7dqoCAABM7AwCg7RDs4Pfq6+uVkpKi/fv3e2pdunTR9u3blZiYaGJnAAC0LVax8HuPPPKIIdRJ0lNPPUWoAwD4HSZ28Gvr16/X+PHjDbXLL79cWVlZstlsJnUFAED7INjBb504cUJJSUkqLi721IKDg7Vjxw4NHjzYxM4AAGgfrGLhtx544AFDqJOkZ555hlAHAPBbTOzglz744ANNmDDBULvyyiu1fv16Wa38PQMA8E8EO/id6upqJSQkqKyszFMLCwtTQUGBBg4caGJnAAC0L0YX8Dv33XefIdRJ0oIFCwh1AAC/x8QOfmXVqlWaPHmyofaTn/xEH3zwgSwWi0ldAQDQMQh28BtHjx5VfHy8jh496qmFh4ersLBQffv2NbEzAAA6BqtY+AW3261f/vKXhlAnSYsWLSLUAQA6DSZ28Atvv/22pk+fbqhNmjRJq1atYgULAOg0CHbweWVlZUpISFB1dbWnFhUVpaKiIkVHR5vYGQAAHYtVLHya2+3WXXfdZQh1kvTSSy8R6gAAnQ7BDj7t9ddf1+rVqw21adOmaerUqSZ1BACAeVjFwmcVFxcrMTFRtbW1nlp0dLSKiooUFRVlYmcAAJiDiR18ksvl0uzZsw2hTpKWLFlCqAMAdFoEO/ikl19+WevWrTPUZs6cqYkTJ5rUEQAA5mMVC5+zf/9+JScnq6GhwVPr27evCgsLFR4ebmJnAACYi4kdfIrT6dSsWbMMoU6Sli5dSqgDAHR6BDv4lIULFyorK8tQu+eee3Tttdea1BEAAN6DVSx8xu7duzVs2DA1NTV5agMHDlRBQYHCwsJM7AwAAO/AxA4+weFwKCMjwxDqLBaLli9fTqgDAOAUgh18wnPPPafs7GxD7f7779fYsWNN6ggAAO/DKhZeLz8/XyNGjFBLS4undumllyovL0/BwcEmdgYAgHdhYgev1tzcrBkzZhhCndVq1YoVKwh1AAB8B8EOXu2pp55SQUGBoTZ37lyNGjXKpI4AAPBerGLhtbZt26a0tDQ5nU5PLTExUdnZ2QoMDDSxMwAAvBPBDl6psbFRqamp2rNnj6dmt9uVnZ2tlJQU8xoDAMCLsYqFV3rssccMoU6SHn/8cUIdAABnwcQOXuezzz7TlVdeqW//qzl8+HBt3rxZAQEBJnYGAIB3I9jBq9TV1Sk5OVkHDhzw1AIDA5WTk6P4+HgTOwMAwPuxioVXmTt3riHUSdLTTz9NqAMAoBWY2MFrrF27Vtdcc42hlpaWpg0bNshms5nUFQAAvoNgB69QU1OjxMRElZSUeGrBwcHKz89XXFyciZ0BAOA7WMXCK/zmN78xhDpJev755wl1AACcAyZ2MN17772niRMnGmrjxo3T2rVrZbXytwcAAK1FsIOpjh07poSEBJWXl3tqXbt2VUFBgQYMGGBeYwAA+CDGITDVvffeawh1kvTHP/6RUAcAwHlgYgfTvPPOO5o6daqhdv3112v16tWyWCwmdQUAgO8i2MEUX331leLj41VZWempde/eXUVFRerdu7eJnQEA4LtYxaLDud1u3X333YZQJ0mLFy8m1AEAcAEIduhwb731lt59911D7eabb9b06dPNaQgAAD/BKhYdqrS0VAkJCTp+/Lin1qNHDxUVFalnz57mNQYAgB9gYocO43a7dccddxhCnSS98sorhDoAANoAwQ4dZunSpfrwww8NtenTp2vy5MkmdQQAgH9hFYsOcejQISUmJqqurs5Ti4mJUWFhoSIjI03sDAAA/8HEDu3O5XJp1qxZhlAnSa+99hqhDgCANkSwQ7t74YUX9Mknnxhqs2fP1oQJE8xpCAAAP8UqFu1q7969SklJUWNjo6cWGxurnTt3qlu3biZ2BgCA/2Fih3bjdDo1c+ZMQ6iTpGXLlhHqAABoBwQ7tJsFCxZo8+bNhtqcOXM0fvx4kzoCAMC/sYpFuygqKlJqaqqam5s9tUGDBik/P1+hoaEmdgYAgP9iYoc219LSohkzZhhCncVi0YoVKwh1AAC0I4Id2twzzzyj3NxcQ+2BBx5Qenq6SR0BANA5sIpFm8rNzdWoUaPkcDg8taFDhyo3N1dBQUEmdgYAgP9jYoc209TUpIyMDEOos9lsWrFiBaEOAIAOQLBDm3nyySdVWFhoqD3yyCMaMWKESR0BANC5sIpFm9iyZYvS09Plcrk8teTkZG3btk1dunQxsTMAADoPgh0uWENDg4YNG6a9e/d6agEBAdq+fbuSkpJM7AwAgM6FVSwu2KOPPmoIddLXa1lCHQAAHYuJHS7Ip59+qquuuspQGzlypDZu3Ci73W5OUwAAdFIEO5y32tpaJScn6+DBg55aUFCQ8vLyNGTIEBM7AwCgc2IVi/P20EMPGUKdJM2bN49QBwCASZjY4bx89NFHuu666wy1MWPG6OOPP5bNZjOpKwAAOjeCHc7Z8ePHlZCQoNLSUk8tJCREBQUFGjRokImdAQDQubGKxTm7//77DaFOkubPn0+oAwDAZEzscE4yMzM1adIkQ+3qq6/WmjVrZLFYTOoKAABIBDucg8rKSiUkJKiiosJT69atm3bu3KnY2FgTOwMAABKrWJyDOXPmGEKdJC1cuJBQBwCAl2Bih1ZZuXKlbrvtNkPthhtuUGZmJitYAAC8BMEOP6i8vFzx8fGqqqry1CIiIlRUVKSYmBgTOwMAAN/GKhZn5Xa7dffddxtCnSS9+OKLhDoAALwMwQ5n9cYbbygzM9NQmzJliqZNm2ZSRwAA4ExYxeKMSkpKlJiYqJqaGk+tZ8+eKiws1EUXXWRiZwAA4HSY2OG03G637rjjDkOok6RXXnmFUAcAgJci2OG0Xn31Va1Zs8ZQu/3223XTTTeZ0xAAAPhBrGLxPQcOHFBSUpLq6+s9td69e6uwsFAREREmdgYAAM6GiR0MXC6XZs2aZQh1krR06VJCHQAAXo5gB4NFixZpw4YNhtqdd96p6667zqSOAABAa7GKhcfnn3+ulJQUnTx50lMbMGCACgoK1LVrVxM7AwAArcHEDpIkh8OhjIwMQ6iTpGXLlhHqAADwEQQ7SJLmz5+vrVu3Gmr33Xefxo0bZ1JHAADgXLGKhXbu3Knhw4erpaXFU4uLi9OOHTsUEhJiYmcAAOBcMLHr5Jqbm5WRkWEIdVarVcuXLyfUAQDgYwh2ndy8efOUl5dnqD344INKS0szqSMAAHC+WMV2Yjk5ORo1apScTqenFh8fr+3btysoKMjEzgAAwPlgYtdJnTx5UjNmzDCEOpvNphUrVhDqAADwUQS7TuqJJ57Qrl27DLXf/e53Gj58uEkdAQCAC8UqthPatGmTRo8erW//6ocNG6atW7cqICDAxM4AAMCFINh1MvX19UpJSdH+/fs9tS5duignJ0cJCQkmdgYAAC4Uq9hO5pFHHjGEOkl66qmnCHUAAPgBJnadyPr16zV+/HhD7fLLL1dWVpZsNptJXQEAgLZCsOskTpw4oaSkJBUXF3tqwcHB2rFjhwYPHmxiZwAAoK2wiu0kHnjgAUOok6RnnnmGUAcAgB9hYtcJfPDBB5owYYKhduWVV2r9+vWyWsn2AAD4C4Kdn6uurlZCQoLKyso8tbCwMBUUFGjgwIEmdgYAANoa4xo/d9999xlCnSQtWLCAUAcAgB9iYufHVq1apcmTJxtqP/nJT/TBBx/IYrGY1BUAAGgvBDs/dfToUcXHx+vo0aOeWnh4uAoLC9W3b18TOwMAAO2FVawfcrvd+uUvf2kIdZK0aNEiQh0AAH6MiZ0fevvttzV9+nRDbdKkSVq1ahUrWAAA/BjBzs+UlZUpISFB1dXVnlpUVJSKiooUHR1tYmcAAKC9sYr1I263W3fddZch1EnSSy+9RKgDAKATINj5kddff12rV6821KZNm6apU6ea1BEAAOhIrGL9RHFxsRITE1VbW+upRUdHq6ioSFFRUSZ2BgAAOgoTOz/gcrk0e/ZsQ6iTpCVLlhDqAADoRAh2fuDll1/WunXrDLWZM2dq4sSJJnUEAADMwCrWx+3fv1/JyclqaGjw1Pr27avCwkKFh4eb2BkAAOhoTOx8mNPp1KxZswyhTpKWLl1KqAMAoBMi2PmwhQsXKisry1C75557dO2115rUEQAAMBOrWB+1e/duDRs2TE1NTZ7awIEDVVBQoLCwMBM7AwAAZmFi54McDocyMjIMoc5isWj58uWEOgAAOjGCnQ967rnnlJ2dbajdf//9Gjt2rEkdAQAAb8Aq1sfk5+drxIgRamlp8dQuvfRS5eXlKTg42MTOAACA2ZjY+ZDm5mbNmDHDEOqsVqtWrFhBqAMAAAQ7X/LUU0+poKDAUJs7d65GjRplUkcAAMCbsIr1Edu2bVNaWpqcTqenlpiYqOzsbAUGBprYGQAA8BYEOx/Q2Nio1NRU7dmzx1Oz2+3Kzs5WSkqKeY0BAACvwirWBzz22GOGUCdJjz/+OKEOAAAYMLHzcp999pmuvPJKffvXNHz4cG3evFkBAQEmdgYAALwNwc6L1dXVKTk5WQcOHPDUAgMDlZOTo/j4eBM7AwAA3ohVrBebO3euIdRJ0tNPP02oAwAAp8XEzkutXbtW11xzjaGWlpamDRs2yGazmdQVAADwZgQ7L1RTU6PExESVlJR4asHBwcrPz1dcXJyJnQEAAG/GKtYL/eY3vzGEOkl6/vnnCXUAAOCsmNh5mffee08TJ0401MaNG6e1a9fKaiWHAwCAMyPYeZFjx44pISFB5eXlnlrXrl1VUFCgAQMGmNcYAADwCYyAvMi9995rCHWS9Mc//pFQBwAAWoWJnZd45513NHXqVEPt+uuv1+rVq2WxWEzqCgAA+BKCnRf46quvFB8fr8rKSk+te/fuKioqUu/evU3sDAAA+BJWsSZzu926++67DaFOkhYvXkyoAwAA54RgZ7K33npL7777rqE2efJkTZ8+3ZyGAACAz2IVa6LS0lIlJCTo+PHjnlqPHj1UVFSknj17mtcYAADwSUzsTOJ2u3XHHXcYQp0kvfLKK4Q6AABwXgh2Jnnttdf04YcfGmrTp0/X5MmTTeoIAAD4OlaxJjh06JASExNVV1fnqcXExKiwsFCRkZEmdgYAAHwZE7sO5nK5NGvWLEOok76e4BHqAADAhSDYdbAXXnhBn3zyiaE2e/ZsTZgwwZyGAACA32AV24H27t2rlJQUNTY2emqxsbHauXOnunXrZmJnAADAHzCx6yBOp1MzZ840hDpJWrZsGaEOAAC0CYJdB1mwYIE2b95sqM2ZM0fjx483qSMAAOBvWMV2gKKiIqWmpqq5udlTGzRokPLz8xUaGmpiZwAAwJ8wsWtnLS0tmjFjhiHUWSwWrVixglAHAADaFMGunT3zzDPKzc011B544AGlp6eb1BEAAPBXrGLbUW5urkaNGiWHw+GpDR06VLm5uQoKCjKxMwAA4I+Y2LWTpqYmZWRkGEKdzWbTihUrCHUAAKBdEOzayZNPPqnCwkJD7ZFHHtGIESNM6ggAAPg7VrHtYMuWLUpPT5fL5fLUkpOTtW3bNnXp0sXEzgAAgD8j2LWxhoYGDRs2THv37vXUAgICtH37diUlJZnYGQAA8HesYtvYo48+agh10tdrWUIdAABob0zs2tCnn36qq666ylAbOXKkNm7cKLvdbk5TAACg0yDYtZHa2lolJyfr4MGDnlpQUJDy8vI0ZMgQEzsDAACdBavYNvLQQw8ZQp0kzZs3j1AHAAA6DBO7NvDRRx/puuuuM9TGjBmjjz/+WDabzaSuAABAZ0Owu0DHjx9XQkKCSktLPbWQkBAVFBRo0KBBJnYGAAA6G1axF+j+++83hDpJmj9/PqEOAAB0OCZ2FyAzM1OTJk0y1K6++mqtWbNGFovFpK4AAEBnRbA7T5WVlUpISFBFRYWn1q1bN+3cuVOxsbEmdgYAADorVrHnac6cOYZQJ0kLFy4k1AEAANMwsTsPK1eu1G233Wao3XDDDcrMzGQFCwAATEOwO0fl5eWKj49XVVWVpxYREaGioiLFxMSY2BkAAOjsWMWeA7fbrbvvvtsQ6iTpxRdfJNQBAADTEex+gMvlUmNjoyTpjTfeUGZmpuHrU6ZM0bRp08xoDQAAwIBV7Fm8//77+pd/+Rc1Njbq1ltv1T//+U+dOHHC8/WePXuqsLBQF110kYldAgAAfI1gdxaXXHKJvvjiizN+fdWqVbrppps6riEAAICz6BTBzul0qqqqShUVFaqoqNDR8nI1NTbK5XTKarMpMDhYF/XqpejoaEVHRysyMlK1tbWKiIg44zF/9rOf6S9/+UsHfhcAAODbzuf67u+f4W43u4H2VF1drfz8fO3MzdXJ+nq5HQ6FNTYqvKpKwQ6HrG63XBaLWux2fR4ZqZzgYFnsdgWFhuqi3r0VHh6umpqa0x57+/btKi0tVZ8+fTr4uwIAoHO7kOt7YmqqkpOTzzq88WV+ObErKyvTpqwsHdy3TwENDYo9XKKYqiqF19crwOk84/NabDbVhIbqy8hIHegdoyqnU/sOHlTWpk0qLy//3uN//vOf680332zPbwUAAJzSFtf3w7H91BISooFxcUofM8bv7mrhV8HO4XBo48aNyt64UWGVlbqk+LD6VlbK5nKd87FqGht0sFs3HY6LU2VYmDZmZ2vTpk1yfutfnEmTJundd99tw+8AAAB8V1te351Wq4706KH9/WNV16OHRqSnKz09XXa7fywx/SbYlZeXa3VmpqqPlGrIvn2KKy2V9QK+terqajWebJTLYlHZ4MHaN2SISquqlPn++/rqq68UHh6uNWvWaOTIkW34XQAAgG9r6+v7N1wWi/b16aM9cXGK7NtHE268Ub169WqDjs3lF8GuuLhYq1auVEjZlxq+e7e6NTRc8DErKirkdP3fdK6hWzftHj5cX4aEqNHp1O9+9zu/+BcAAABv1R7X9+86ERKinKFD1dC7t26edqv69+/f5ufoSD5/g+Li4mL999tvK+LgIY3Jy2uzX/p3027IiRMatWWLhp5s0sV9+6qpqalNzgMAAL6vva7v39WtoUFj8vLU/dBB/ffbb6u4uLhdztNRfDrYlZeXa9XKlYosPqzLi4pkP49d+5l069pVkkWSZLFYFRERqZ7dI5S+e7ciDx/WqpV/O+0bKgAAwIVpz+v76dhdLl1RWOQX13efDXYOh0OrMzMVUvalRu3a1Sb79m8LCQlRdHS0oqJ6qFevXgoOCpIkWd1ujSrapeAvy/R+ZqYcDkebnhcAgM6sva/vZ+Iv13efDXYbN25U9ZFSDd+9u92SvM1qVWCXLqfmdv/H7nJp+K7dqiot1aZNm9rl3AAAdEYdcX0/E3+4vvtksCsrK1P2xo0asm9fu+3cf0h4Q4Mu3btP27Ky9OWXX5rSAwAA/oTr+4XzyWC3KStLYZWViistNbWPwaWlCqus1MasLFP7AADAH3B9v3A+F+yqq6t1cN8+XVJ8uMP27mdidbs1qPiwDu7dq+rqalN7AQDAl3F9bxs+F+zy8/MV0NCgvpWVZrciSepXWSl7Q4MKCgrMbgUAAJ/F9b1t+FSwczqd2pmbq9jDJef1MSLtweZyqX9JiQpycgwfNwYAAFqH63vbaddgV1ZWpn/5l38549e3b9+uhx56qNXHq6qq0sn6elV+sV835uXqxrxcpWzaqJ/kbNeNebl6+osvLqjf8qYmzdm9S+O3Z2vyjjzdt3u3Kpub9Y+KCj178MAZnxdz7Ou+Vq5cqR//+MdKSkrSX//619M+NjMzU3/6058kSXv27FFKSoqGDRumrVu3ntPP4kzee+89JSQkyGq1qrCw8IKPBwDoHOx2u1JSUjz/NDY2nvMxnn/++fM69zfX95iqKkN98eFiTcjN0Q25OZq8I08lJ0+e9ThLjpRc0PNHbtls+N/fXN+rvtPXdy1cuFDNzc1nfUxr1NXVafz48QoLC9ODDz54Xsdo9UeKvfrqq7rrrrvO6yRtpbCwUO///e+a+MmnnrdA/7ygQI8PGqTBoaGGxzrdbtks371RyZm53W5N3rFD02NiNPXUR4Vl19Qo3G5XYV2d9jbU698GXvz950mqa2nR/4wdq7+/v1pFRUWSJKvVqrKyMkVHR5/xnM8++6zsdvt5/fKcTqdsNtv36vv27ZPT6dQ999yjxYsXKyEh4ZyPDQDofHr06KHKC1yDns8xnE6ndu/e/b3re+6JE/pT8SEti09QgNWq8qYmBdusCrcHnPFYI7ds1rbLr2iT50tSi82m964cqwlTp571ejpgwAAVFhYqLCysVd+zy+WS1fr92VpTU5O2bt2qoqIiffHFF5o/f36rjvdt9tY+8MUXX9Rdd92l+vp6zZkzR0VFRXK5XHr22Wd1zTXXqLa2Vv/v//0/5efny2KxaPHixerXr5+mTJmi7du3a+fOncrIyJDr1C9szZo12rVrlxYvXqx33nlHlZWVmjVrloqLixUZGanly5drwIABmjlzpsLDw7V161YdOXJEU8eMOeN9bcZlb9OEiy5SVnW1Hh4wUEdbmvVGWZlaXG5d0b27fnvx18Hs3a8qvlffVHNcITarJ9RJ0ojwcElSYV2dp/a/xyr1ckmJHG63omx2Pdqzp4LdLn2em6uDBw96HudyubRo0SK98847slqtstvt+uc//6l33nlHe/fu1ejRo7VgwQLZ7XZ9+OGH+sUvfqE333xTL7zwghoaGvTEE09o3759crlcevjhhzV69Gj9+c9/VklJiQ4dOqT4+Hj9+7//+/d+BjabTTabTSdPnlRJSYlCQkJa+ysGAHRiLpdLBw4Yt1MbNmzQokWL1NTUpLi4OD377LPq0qWLfvvb36qwsFDNzc265ZZbdOedd2r+/Pk6fvy4LrvsMqWkpOiee+7RnDlz9M9//lOS9B//8R8aPHiwpkyZorFjx+qGG27QZ599prlz52r79u3659/+pmW1tbo8PFxzBwxUxcmTCrfZZXG75Xa71Ssw0NPXZ9XV+s/DxWpyuRQXEqL/iBusxYcPq9bh+Hqb17Wr0rtHKMIeoIBTAeqHnt/lO0Hr1SMl+rCyUlVFhfqivFyvvPKKJGnevHn661//KovFolmzZqlLly4qKytTWlqaBgwYoMzMTL355pt6/vnn5Xa7lZGRoYceekiHDh3SxIkTFR8frx07digvL0/BwcGGcwYGBmrs2LHf+z2ci1ZP7IKDg9XY2Kjf/va3Sk1N1ZQpU1RZWanRo0dr9+7dmjt3rgICAjRv3jy5XC7V1taqurraE+zuvfdeJSUl6c4771RjY6NsNps2bdrkCXa/+tWvFBsbq4cfflgrV67UW2+9pczMTM2cOVNOp1Nvvvmmfvfb32rV8uV6d9Alnr6+PbEbl71Ns/v01c9799b+hgb9ufiQ/jRkqOwWix76/HNNuOgi9QsKOm295GSjjpw8qd9ePOh73/s/Kio8E7saR4vCrDYdPXpUf686pga3W7dHRGh6ZaVS09L03gcfnPcvAwCAzqhf3756JD1dl23frv+oqNC4sDAlBwdrTmmpXG63fhQSqpt79dLIiy5SVUuL/nXPHr1y2WUKstn05+JDigroop/37m2YuNU5HLqtIF9Ot1vp3SM0qWdPJXbt2qrnZ1VXa33VMT128SBtGTxYz23dopUrV+rw4cNasGCB3n//fQUGBqqqqkqRkZGGiV1paanGjh2r7OxshYSEKC0tTUuWLFFUVJQuueQS5ebmKikp6aw/j+XLl6uwsLB9J3bfWLNmjd577z39/ve/lyTV19eroqJCa9euVWZmpqSv15Dh4eGGtwhfccUVeuqpp3Ts2DHdeuutuvhi41ozKytL77//viTp1ltv1a9//WvP12666SZJUp9evXSstvas/V3fo4ckafPx49pRW6vJO/IkSSedLiWEhenIyZOnrbd2a1t2skm/379Plc3NanK5dNmpjxqLi4zU9tzc1h0EAAB4HKuq0jMffqgujY1qcrs1ODBQV4SGaknfvtrR2Kicxkbds2+vFtntanG79HlDvW4tyJckNbtcuioy8nvHDLPb9e6wVG09flybao5rVmGh/jxkiJpb8fys49X6pKpa20/kqXFXkRrsdu3du1dZWVmaNWuWAk9N/yJPc97s7GyNHz/e87UpU6YoKytLkyZN0uDBg38w1F2oVge7IUOGSPp6VPs///M/6t+//zmdaPr06Ro5cqT+53/+R9dcc43+/ve/n/Xxlm8lrW9+gHK75fqBAWPQqdedueXWrb166d5YY59vlJWetr6xulprKo/94Pfx+wNfKKNnTyVYLNpUX68PTwXNGSkp+ufJk8pkYgcAwDkZEhenX118sS7+zq1F7BaLfhQSoh+FhKi7za51Vcc0unuEroqI1LODB//gce0Wi9IjIpQeEaFIe4DWtvL5Lrf0q9hYTY6OVv7FA1WblqbJkycr6wJvWNwRL49q9btif/WrX0mSrr32Wi1atMhT37FjhyTp6quv1ksvvSTp6/BXU1NjeP6BAwc0aNAg/eu//quuvfZa7dq1y/D10aNH6y9/+Ysk6Z133tHIkSO/3+xp3ixwJleEd9f7R4+quqVFknSsuVlfNTefsZ7WvbvqnA79o6LCc4ztNTXaW19vOG6d06kB4d1ls9m05lvTw68aGhQVFdXq/gAAwNe+OHRItaeuy9UOh445HDrc3KzSUzWrxapSudU7MFDDunXV1prjKj31Dtc6h8PzblebxSLnqQHQgYYGHT71zl632629DfU/+PxvjI7orr9XlKvR6ZTLYlXV8eOqqanR1Vdfrddff11NTU2S5Hm3bNeuXVV7KhOMHDlS69atU3V1tZqamvSPf/xDY8aMabef3Xe1emI3e/ZsSdJjjz2mX//610pKSpLD4VBqaqr+67/+S4899pjuueceJSYmymazafHixerbt6/n+StXrtR//dd/KSAgQP3799fNN9+s7Oxsz9effPJJzZw5U2+88YbnzRPfFRgcLHcrd6ZxoaH6Zb9YZRTulNvtVoDVqufiBp+x3rNLF7049DI9feCAXig5rECrVXEhIXrsO6+5+1VsrO7ZtUvdA+xK7dpVJaeC38qiIh38zpp44sSJ2r9/v2w2m1JTU/XCCy/oL3/5i3bt2qVnnnlGv//97xUVFaVf/vKX2rBhg15++WX95S9/UX19vR588EHl5OTI4XAoJSVFy5YtMzz+TD788EP96le/UmVlpbp376709HS99dZbrfqZAQA6r379+qmkxHi7kHXr1unxxx9XS0uLLBaL/vCHP2js2LG68847tW3bNvXv3192u1133HGHJkyYoEcffVQffPCB0tPT9Z//+Z9atGiRXn31VfXr10+RkZG67rrrdPvtt2vIkCHavn27512kD/zrv2rB3/+uoJMn1cVq1bNxcZLLracPfKE6h1OySPGhYbo9preCbDb9/pI43btnt1pcLlksFj068GL1CwrSzT2jdUNujkaEh+vWXr301BdfqO7UPeha8/xvjI2I1P6GBt2av0N1u3crbPMm/XzmTE2YMEE5OTlKTU1VQECAZs2apV//+te68847NW7cOA0ePFiZmZl64oknNHbsWM+bJ1JTU3Xo0KFW/R4uvfRSHT16VC0tLfrrX/+qLVu2GPLUD2n1mye8wbp16/T5Rx/pms1bzG7FoLmlWR/+6Ed6f/durV+/XtLX6+Mvv/xSERERJncHAIB389bruyT97xWX69Kf/ETjx483u5VWOec3T5gpOjpaOcHBarHZFOBFd4G2BAXLGRWlOXPmqHfv3jp69KgefPBBQh0AAK3grdf3FptNdcHBZ70nrbfxuWBnsdtVExqqHidOmN2OR01oqCx2u8aMGaPJkyd3yDlff/11/fnPfzbUpk6dqkcffbRDzg8AQFvx9ut7Wwe7Y8eOfW8CGBgYqK1bt17wsX0q2EVGRiooNFRfRkZ61S/+y6iv+zrd257by6xZszRr1qwOOx8AAO2ls13fo6KiPG8+bWvt+lmxbc1msykxNVWHY/vJeZqP4jCD02pVcb9+Sho+/LQf8QUAAM6O63vb8Y6f3jlITk5WS0iIjpy6EbHZSnr0kCMkpN1vOAgAgD/j+t42fC7YRUREaGBcnPb3j5WrtR8X0U5cFou+6B+rgYMH80YJAAAuANf3tuFzwU6S0seMUV2PHtrXp4+pfezt00d1PXooffRoU/sAAMAfcH2/cD4Z7GJiYjQiPV174uJ0ogM+nuN0akJC9PngOI0cPVoxMTGm9AAAgD/h+n7hfDLYSVJ6eroi+vZRztChcnTwCy0dVqtyLhuqyD59lJaW1qHnBgDAn3F9vzA+G+zsdrt+euONaujdW1vjL+uwfbzLYtHW+MvUGNNbE268UXa7T90xBgAAr8b1/cL4bLCTpF69eunmabeqKjZWmxPi2z3ZO6xWbU6IV1VsrG6edqt69erVrucDAKAz4vp+/nzqs2LPpLi4WKtW/k0hZWUavnu3ujU0tPk5akJClHPZUDXG9NbN025V//792/wcAADg/3B9P3d+Eewkqby8XKszM1V9pFRD9u1TXGmprG3wrbksFu3t00efD45TZJ8+mnDjjT6d5AEA8CVc38+N3wQ7SXI4HNq4caOyN25UWGWlBhUfVr/KStlcrnM+ltNqVUmPHvqif6zqevTQyNGjlZaW5rM7dwAAfBXX99bzq2D3jbKyMm3auFEH9+6VvaFB/UtKFHOsSuH19QpwOs/4vBabTTWhofoyKlLF/frJERKigYMHK91H3/IMAIA/4fr+w/wy2H2jurpaBQUFKsjJ0cn6erkdDoU1NqpbVbW6OByyul1yWaxqttt1IjJCdcHBstjtCgoNVdLw4UpKSvK5O04DAODvuL6fmV8Hu284nU5VVVWpoqJCFRUVOlperuaTJ+V0OGSz29UlKEgX9eql6OhoRUdHKzIy0qc+8BcAgM6I6/v3dYpgBwAA0Bn49H3sAAAA8H8IdgAAAH6CYAcAAOAnCHYAAAB+gmAHAADgJwh2AAAAfoJgBwAA4CcIdgAAAH6CYAcAAOAnCHYAAAB+gmAHAADgJwh2AAAAfoJgBwAA4CcIdgAAAH6CYAcAAOAnCHYAAAB+gmAHAADgJwh2AAAAfoJgBwAA4CcIdgAAAH6CYAcAAOAnCHYAAAB+gmAHAADgJwh2AAAAfoJgBwAA4CcIdgAAAH6CYAcAAOAn/j81OISqJ1MLGAAAAABJRU5ErkJggg==", + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
def
28-2.3936712.6534941.336840
540-1.598037-2.639941-1.787062
980-1.5622491.573867-0.135207
8120.0848351.809188-1.525609
1170.6474141.4371391.873279
............
6300.1027210.463829-0.220689
963-0.5307090.3536860.621369
9433.8501930.948248-2.042764
9301.0516341.240570-1.477092
116-0.126476-1.599799-0.610169
\n", + "

750 rows × 3 columns

\n", + "
" + ], "text/plain": [ - "
" + " d e f\n", + "28 -2.393671 2.653494 1.336840\n", + "540 -1.598037 -2.639941 -1.787062\n", + "980 -1.562249 1.573867 -0.135207\n", + "812 0.084835 1.809188 -1.525609\n", + "117 0.647414 1.437139 1.873279\n", + ".. ... ... ...\n", + "630 0.102721 0.463829 -0.220689\n", + "963 -0.530709 0.353686 0.621369\n", + "943 3.850193 0.948248 -2.042764\n", + "930 1.051634 1.240570 -1.477092\n", + "116 -0.126476 -1.599799 -0.610169\n", + "\n", + "[750 rows x 3 columns]" ] }, + "execution_count": 6, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "est.fitted_pipeline_.plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Other examples" + "fss_selector.set_output(transform=\"pandas\") #by default sklearn selectors return numpy arrays. this will make it return pandas dataframes\n", + "fss_selector.fit(X_train)\n", + "fss_selector.transform(X_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## dictionary" + "Under the hood, mutation will randomly select another feature set and crossover will swap the feature sets selected by two individuals" ] }, { @@ -910,92 +933,4753 @@ "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [00:44<00:00, 8.81s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9549114331723028\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.linear_model import LogisticRegression\n", - "import sklearn\n", - "\n", - "subsets = { \"group_one\" : ['a','b','c'],\n", - " \"group_two\" : ['d','e','f'],\n", - " \"group_three\" : ['g','h','i'],\n", - " }\n", - "\n", - "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([fss_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## list" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, + "data": { + "text/html": [ + "
FeatureSetSelector(name='group_two', sel_subset=['d', 'e', 'f'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureSetSelector(name='group_two', sel_subset=['d', 'e', 'f'])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind1 = fss_search_space.generate(rng=1)\n", + "ind1.export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureSetSelector(name='group_three', sel_subset=['g', 'h', 'i'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureSetSelector(name='group_three', sel_subset=['g', 'h', 'i'])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind1.mutate()\n", + "ind1.export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now use this when defining our pipelines. \n", + "For this first example, we will construct a simple linear pipeline where the first step is a feature set selector, and the second is a classifier" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 5/5 [00:30<00:00, 6.11s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.90263107355483\n" + ] + } + ], + "source": [ + "\n", + "classification_search_space = get_search_space([\"RandomForestClassifier\"])\n", + "fss_and_classifier_search_space = SequentialPipeline([fss_search_space, classification_search_space])\n", + "\n", + "\n", + "est = tpot2.TPOTEstimator(generations=5, \n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " n_jobs=32,\n", + " classification=True,\n", + " search_space = fss_and_classifier_search_space,\n", + " verbose=1,\n", + " )\n", + "\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovr')\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featuresetselector',\n",
+       "                 FeatureSetSelector(name='group_one',\n",
+       "                                    sel_subset=['a', 'b', 'c'])),\n",
+       "                ('randomforestclassifier',\n",
+       "                 RandomForestClassifier(criterion='entropy',\n",
+       "                                        max_features=0.4070021568844,\n",
+       "                                        min_samples_leaf=4, min_samples_split=3,\n",
+       "                                        n_estimators=128))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featuresetselector',\n", + " FeatureSetSelector(name='group_one',\n", + " sel_subset=['a', 'b', 'c'])),\n", + " ('randomforestclassifier',\n", + " RandomForestClassifier(criterion='entropy',\n", + " max_features=0.4070021568844,\n", + " min_samples_leaf=4, min_samples_split=3,\n", + " n_estimators=128))])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "est.fitted_pipeline_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this setup TPOT is able to identify one of the subsets used, but the performance is not optimal. In this case we happen to know that multiple feature sets are required. If we want to include multiple features in our pipelines, we will have to modify our search space. There are three options for this.\n", + "\n", + "1. UnionPipeline - This allows you to have a fixed number of feature sets selected. If you use a UnionPipeline with two FSSNodes, you will always select two feature sets that are simply concatenated together.\n", + "2. DynamicUnionPipeline - This space allows multiple FSSNodes to be selected. Unlike UnionPipeline you don't have to specify the number of selected sets, TPOT will identify the number of sets that are optimal. Additionally, with DynamicUnionPipeline, the same feature set cannot be selected twice. Note that while DynamicUnionPipeline can select multiple feature sets, it never mixes two feature sets together.\n", + "3. GraphSearchPipeline - When set as the leave_search_space, GraphSearchPipeline can also select multiple FSSNodes which act as an input to the rest of the pipeline." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### UnionPipeline + FSSNode example" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "union_fss_space = UnionPipeline([fss_search_space, fss_search_space])" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('featuresetselector-1',\n",
+       "                                FeatureSetSelector(name='group_two',\n",
+       "                                                   sel_subset=['d', 'e', 'f'])),\n",
+       "                               ('featuresetselector-2',\n",
+       "                                FeatureSetSelector(name='group_three',\n",
+       "                                                   sel_subset=['g', 'h',\n",
+       "                                                               'i']))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('featuresetselector-1',\n", + " FeatureSetSelector(name='group_two',\n", + " sel_subset=['d', 'e', 'f'])),\n", + " ('featuresetselector-2',\n", + " FeatureSetSelector(name='group_three',\n", + " sel_subset=['g', 'h',\n", + " 'i']))])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# this union search space will always select exactly two fss_search_space\n", + "selector1 = union_fss_space.generate(rng=1).export_pipeline()\n", + "selector1" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
defghi
28-2.3936712.6534941.3368400.6712290.4317120.090788
540-1.598037-2.639941-1.7870620.5206480.4363370.576560
980-1.5622491.573867-0.1352070.3236760.0525580.892457
8120.0848351.809188-1.5256090.7778590.3274590.626609
1170.6474141.4371391.8732790.3836760.4480430.908426
.....................
6300.1027210.463829-0.2206890.1559220.0572840.581789
963-0.5307090.3536860.6213690.7014100.2050800.189494
9433.8501930.948248-2.0427640.7373120.0825130.886070
9301.0516341.240570-1.4770920.2070930.3491210.027916
116-0.126476-1.599799-0.6101690.1853230.0245210.685559
\n", + "

750 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " d e f g h i\n", + "28 -2.393671 2.653494 1.336840 0.671229 0.431712 0.090788\n", + "540 -1.598037 -2.639941 -1.787062 0.520648 0.436337 0.576560\n", + "980 -1.562249 1.573867 -0.135207 0.323676 0.052558 0.892457\n", + "812 0.084835 1.809188 -1.525609 0.777859 0.327459 0.626609\n", + "117 0.647414 1.437139 1.873279 0.383676 0.448043 0.908426\n", + ".. ... ... ... ... ... ...\n", + "630 0.102721 0.463829 -0.220689 0.155922 0.057284 0.581789\n", + "963 -0.530709 0.353686 0.621369 0.701410 0.205080 0.189494\n", + "943 3.850193 0.948248 -2.042764 0.737312 0.082513 0.886070\n", + "930 1.051634 1.240570 -1.477092 0.207093 0.349121 0.027916\n", + "116 -0.126476 -1.599799 -0.610169 0.185323 0.024521 0.685559\n", + "\n", + "[750 rows x 6 columns]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selector1.set_output(transform=\"pandas\") \n", + "selector1.fit(X_train)\n", + "selector1.transform(X_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### DynamicUnionPipeline + FSSNode example\n", + "The dynamic union pipeline may select a variable number of feature sets." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('featuresetselector',\n",
+       "                                FeatureSetSelector(name='group_three',\n",
+       "                                                   sel_subset=['g', 'h',\n",
+       "                                                               'i']))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('featuresetselector',\n", + " FeatureSetSelector(name='group_three',\n", + " sel_subset=['g', 'h',\n", + " 'i']))])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dynamic_fss_space = DynamicUnionPipeline(fss_search_space)\n", + "dynamic_fss_space.generate(rng=1).export_pipeline()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
FeatureUnion(transformer_list=[('featuresetselector-1',\n",
+       "                                FeatureSetSelector(name='group_one',\n",
+       "                                                   sel_subset=['a', 'b', 'c'])),\n",
+       "                               ('featuresetselector-2',\n",
+       "                                FeatureSetSelector(name='group_four',\n",
+       "                                                   sel_subset=['j', 'k',\n",
+       "                                                               'l']))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "FeatureUnion(transformer_list=[('featuresetselector-1',\n", + " FeatureSetSelector(name='group_one',\n", + " sel_subset=['a', 'b', 'c'])),\n", + " ('featuresetselector-2',\n", + " FeatureSetSelector(name='group_four',\n", + " sel_subset=['j', 'k',\n", + " 'l']))])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dynamic_fss_space.generate(rng=3).export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### GraphSearchPipeline + FSSNode example\n", + "\n", + "FSSNodes must be set as the leaf search space as they act as the inputs to the pipeline.\n", + "\n", + "Here is an example pipeline from this search space that utilizes two feature sets." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", + " leaf_search_space = fss_search_space,\n", + " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", + " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", + " max_size = 10,\n", + ")\n", + "\n", + "graph_search_space.generate(rng=4).export_pipeline().plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Optimize with TPOT\n", + "\n", + "For this example, we will optimize the DynamicUnion search space" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 5/5 [00:34<00:00, 6.88s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9482747583381345\n" + ] + } + ], + "source": [ + "import tpot2\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "\n", + "\n", + "final_classification_search_space = SequentialPipeline([dynamic_fss_space, classification_search_space])\n", + "\n", + "est = tpot2.TPOTEstimator(generations=5, \n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " n_jobs=32,\n", + " classification=True,\n", + " search_space = final_classification_search_space,\n", + " verbose=1,\n", + " )\n", + "\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovr')\n", + "\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that this pipeline performed slightly better and correctly identified group one and group two as the feature sets used in the generative equation." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('featuresetselector-1',\n",
+       "                                                 FeatureSetSelector(name='group_one',\n",
+       "                                                                    sel_subset=['a',\n",
+       "                                                                                'b',\n",
+       "                                                                                'c'])),\n",
+       "                                                ('featuresetselector-2',\n",
+       "                                                 FeatureSetSelector(name='group_two',\n",
+       "                                                                    sel_subset=['d',\n",
+       "                                                                                'e',\n",
+       "                                                                                'f']))])),\n",
+       "                ('randomforestclassifier',\n",
+       "                 RandomForestClassifier(bootstrap=False,\n",
+       "                                        class_weight='balanced',\n",
+       "                                        max_features=0.4909664847192,\n",
+       "                                        min_samples_leaf=2, min_samples_split=4,\n",
+       "                                        n_estimators=128))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featureunion',\n", + " FeatureUnion(transformer_list=[('featuresetselector-1',\n", + " FeatureSetSelector(name='group_one',\n", + " sel_subset=['a',\n", + " 'b',\n", + " 'c'])),\n", + " ('featuresetselector-2',\n", + " FeatureSetSelector(name='group_two',\n", + " sel_subset=['d',\n", + " 'e',\n", + " 'f']))])),\n", + " ('randomforestclassifier',\n", + " RandomForestClassifier(bootstrap=False,\n", + " class_weight='balanced',\n", + " max_features=0.4909664847192,\n", + " min_samples_leaf=2, min_samples_split=4,\n", + " n_estimators=128))])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "est.fitted_pipeline_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Combining with existing search spaces\n", + "\n", + "As with all search spaces, FSSNode can be combined with any other search space. \n", + "\n", + "You can also pair this with the existing prebuilt templates, for example:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featuresetselector',\n",
+       "                 FeatureSetSelector(name='group_two', sel_subset=[3, 4, 5])),\n",
+       "                ('pipeline',\n",
+       "                 Pipeline(steps=[('maxabsscaler', MaxAbsScaler()),\n",
+       "                                 ('rfe',\n",
+       "                                  RFE(estimator=ExtraTreesClassifier(max_features=0.0390676831531,\n",
+       "                                                                     min_samples_leaf=8,\n",
+       "                                                                     min_samples_split=14,\n",
+       "                                                                     n_jobs=1),\n",
+       "                                      step=0.753983388654)),\n",
+       "                                 ('featureunion-1',\n",
+       "                                  FeatureUnion(transformer_list=[('f...\n",
+       "                                                                  FeatureUnion(transformer_list=[('powertransformer',\n",
+       "                                                                                                  PowerTransformer()),\n",
+       "                                                                                                 ('pca',\n",
+       "                                                                                                  PCA(n_components=0.9286371732844))])),\n",
+       "                                                                 ('passthrough',\n",
+       "                                                                  Passthrough())])),\n",
+       "                                 ('featureunion-2',\n",
+       "                                  FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                                  SkipTransformer()),\n",
+       "                                                                 ('passthrough',\n",
+       "                                                                  Passthrough())])),\n",
+       "                                 ('kneighborsclassifier',\n",
+       "                                  KNeighborsClassifier(n_jobs=1, n_neighbors=21,\n",
+       "                                                       weights='distance'))]))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featuresetselector',\n", + " FeatureSetSelector(name='group_two', sel_subset=[3, 4, 5])),\n", + " ('pipeline',\n", + " Pipeline(steps=[('maxabsscaler', MaxAbsScaler()),\n", + " ('rfe',\n", + " RFE(estimator=ExtraTreesClassifier(max_features=0.0390676831531,\n", + " min_samples_leaf=8,\n", + " min_samples_split=14,\n", + " n_jobs=1),\n", + " step=0.753983388654)),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('f...\n", + " FeatureUnion(transformer_list=[('powertransformer',\n", + " PowerTransformer()),\n", + " ('pca',\n", + " PCA(n_components=0.9286371732844))])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('kneighborsclassifier',\n", + " KNeighborsClassifier(n_jobs=1, n_neighbors=21,\n", + " weights='distance'))]))])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "linear_search_space = tpot2.config.template_search_spaces.get_template_search_spaces(\"linear\", classification=True)\n", + "fss_and_linear_search_space = SequentialPipeline([fss_search_space, linear_search_space])\n", + "\n", + "# est = tpot2.TPOTEstimator( \n", + "# population_size=32,\n", + "# generations=10, \n", + "# scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + "# scorers_weights=[1.0, -1.0],\n", + "# other_objective_functions=[number_of_selected_features],\n", + "# other_objective_functions_weights = [-1],\n", + "# objective_function_names = [\"Number of selected features\"],\n", + "\n", + "# n_jobs=32,\n", + "# classification=True,\n", + "# search_space = fss_and_linear_search_space,\n", + "# verbose=2,\n", + "# )\n", + "\n", + "fss_and_linear_search_space.generate(rng=1).export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting Fancy\n", + "\n", + "If you want to get fancy, you can combine more search spaces in order to set up unique preprocessing pipelines per feature set. Here's an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "dynamic_transformers = DynamicUnionPipeline(get_search_space(\"all_transformers\"), max_estimators=4)\n", + "dynamic_transformers_with_passthrough = tpot2.search_spaces.pipelines.UnionPipeline([\n", + " dynamic_transformers,\n", + " tpot2.config.get_search_space(\"Passthrough\")],\n", + " )\n", + "multi_step_engineering = DynamicLinearPipeline(dynamic_transformers_with_passthrough, max_length=4)\n", + "fss_engineering_search_space = SequentialPipeline([fss_search_space, multi_step_engineering])\n", + "union_fss_engineering_search_space = DynamicUnionPipeline(fss_engineering_search_space)\n", + "\n", + "final_fancy_search_space = SequentialPipeline([union_fss_engineering_search_space, classification_search_space])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('pipeline-1',\n",
+       "                                                 Pipeline(steps=[('featuresetselector',\n",
+       "                                                                  FeatureSetSelector(name='group_one',\n",
+       "                                                                                     sel_subset=['a',\n",
+       "                                                                                                 'b',\n",
+       "                                                                                                 'c'])),\n",
+       "                                                                 ('pipeline',\n",
+       "                                                                  Pipeline(steps=[('featureunion',\n",
+       "                                                                                   FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                                                                                   FeatureUnion(transformer_list=[('pca',\n",
+       "                                                                                                                                                   PCA(n_components=0.93113403057))])),\n",
+       "                                                                                                                  ('passt...\n",
+       "                                                                                   FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                                                                                   FeatureUnion(transformer_list=[('quantiletransformer',\n",
+       "                                                                                                                                                   QuantileTransformer(n_quantiles=87)),\n",
+       "                                                                                                                                                  ('columnonehotencoder',\n",
+       "                                                                                                                                                   ColumnOneHotEncoder())])),\n",
+       "                                                                                                                  ('passthrough',\n",
+       "                                                                                                                   Passthrough())]))]))]))])),\n",
+       "                ('randomforestclassifier',\n",
+       "                 RandomForestClassifier(class_weight='balanced',\n",
+       "                                        criterion='entropy',\n",
+       "                                        max_features=0.021545996678,\n",
+       "                                        min_samples_leaf=11,\n",
+       "                                        n_estimators=128))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featureunion',\n", + " FeatureUnion(transformer_list=[('pipeline-1',\n", + " Pipeline(steps=[('featuresetselector',\n", + " FeatureSetSelector(name='group_one',\n", + " sel_subset=['a',\n", + " 'b',\n", + " 'c'])),\n", + " ('pipeline',\n", + " Pipeline(steps=[('featureunion',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('pca',\n", + " PCA(n_components=0.93113403057))])),\n", + " ('passt...\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('quantiletransformer',\n", + " QuantileTransformer(n_quantiles=87)),\n", + " ('columnonehotencoder',\n", + " ColumnOneHotEncoder())])),\n", + " ('passthrough',\n", + " Passthrough())]))]))]))])),\n", + " ('randomforestclassifier',\n", + " RandomForestClassifier(class_weight='balanced',\n", + " criterion='entropy',\n", + " max_features=0.021545996678,\n", + " min_samples_leaf=11,\n", + " n_estimators=128))])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_fancy_search_space.generate(rng=3).export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Other examples" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## dictionary" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [09:02<00:00, 108.52s/it]\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:595: UserWarning: n_components is too large: it will be set to 3\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:128: ConvergenceWarning: FastICA did not converge. Consider increasing tolerance or the maximum number of iterations.\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:595: UserWarning: n_components is too large: it will be set to 24\n", - " warnings.warn(\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:350: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9765539452495974\n" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
def
28-2.3936712.6534941.336840
540-1.598037-2.639941-1.787062
980-1.5622491.573867-0.135207
8120.0848351.809188-1.525609
1170.6474141.4371391.873279
............
6300.1027210.463829-0.220689
963-0.5307090.3536860.621369
9433.8501930.948248-2.042764
9301.0516341.240570-1.477092
116-0.126476-1.599799-0.610169
\n", + "

750 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " d e f\n", + "28 -2.393671 2.653494 1.336840\n", + "540 -1.598037 -2.639941 -1.787062\n", + "980 -1.562249 1.573867 -0.135207\n", + "812 0.084835 1.809188 -1.525609\n", + "117 0.647414 1.437139 1.873279\n", + ".. ... ... ...\n", + "630 0.102721 0.463829 -0.220689\n", + "963 -0.530709 0.353686 0.621369\n", + "943 3.850193 0.948248 -2.042764\n", + "930 1.051634 1.240570 -1.477092\n", + "116 -0.126476 -1.599799 -0.610169\n", + "\n", + "[750 rows x 3 columns]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1005,33 +5689,166 @@ "from sklearn.linear_model import LogisticRegression\n", "import sklearn\n", "\n", - "subsets = [['a','b','c'],['d','e','f'],['g','h','i']]\n", + "subsets = { \"group_one\" : ['a','b','c'],\n", + " \"group_two\" : ['d','e','f'],\n", + " \"group_three\" : ['g','h','i'],\n", + " }\n", "\n", "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([fss_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", + "selector = fss_search_space.generate(rng=1).export_pipeline()\n", + "selector.set_output(transform=\"pandas\")\n", + "selector.fit(X_train)\n", + "selector.transform(X_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## list" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
def
28-2.3936712.6534941.336840
540-1.598037-2.639941-1.787062
980-1.5622491.573867-0.135207
8120.0848351.809188-1.525609
1170.6474141.4371391.873279
............
6300.1027210.463829-0.220689
963-0.5307090.3536860.621369
9433.8501930.948248-2.042764
9301.0516341.240570-1.477092
116-0.126476-1.599799-0.610169
\n", + "

750 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " d e f\n", + "28 -2.393671 2.653494 1.336840\n", + "540 -1.598037 -2.639941 -1.787062\n", + "980 -1.562249 1.573867 -0.135207\n", + "812 0.084835 1.809188 -1.525609\n", + "117 0.647414 1.437139 1.873279\n", + ".. ... ... ...\n", + "630 0.102721 0.463829 -0.220689\n", + "963 -0.530709 0.353686 0.621369\n", + "943 3.850193 0.948248 -2.042764\n", + "930 1.051634 1.240570 -1.477092\n", + "116 -0.126476 -1.599799 -0.610169\n", + "\n", + "[750 rows x 3 columns]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tpot2\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.linear_model import LogisticRegression\n", + "import sklearn\n", "\n", + "subsets = [['a','b','c'],['d','e','f'],['g','h','i']]\n", "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" + "selector = fss_search_space.generate(rng=1).export_pipeline()\n", + "selector.set_output(transform=\"pandas\")\n", + "selector.fit(X_train)\n", + "selector.transform(X_train)" ] }, { @@ -1045,22 +5862,127 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 23, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [00:41<00:00, 8.27s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9754589371980676\n" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
def
28-2.3936712.6534941.336840
540-1.598037-2.639941-1.787062
980-1.5622491.573867-0.135207
8120.0848351.809188-1.525609
1170.6474141.4371391.873279
............
6300.1027210.463829-0.220689
963-0.5307090.3536860.621369
9433.8501930.948248-2.042764
9301.0516341.240570-1.477092
116-0.126476-1.599799-0.610169
\n", + "

750 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " d e f\n", + "28 -2.393671 2.653494 1.336840\n", + "540 -1.598037 -2.639941 -1.787062\n", + "980 -1.562249 1.573867 -0.135207\n", + "812 0.084835 1.809188 -1.525609\n", + "117 0.647414 1.437139 1.873279\n", + ".. ... ... ...\n", + "630 0.102721 0.463829 -0.220689\n", + "963 -0.530709 0.353686 0.621369\n", + "943 3.850193 0.948248 -2.042764\n", + "930 1.051634 1.240570 -1.477092\n", + "116 -0.126476 -1.599799 -0.610169\n", + "\n", + "[750 rows x 3 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1079,61 +6001,42 @@ "'''\n", "\n", "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([fss_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" + "selector = fss_search_space.generate(rng=1).export_pipeline()\n", + "selector.set_output(transform=\"pandas\")\n", + "selector.fit(X_train)\n", + "selector.transform(X_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "note that all of the above is the same when using numpy X, but the column names are now int indeces" + "All of the above is the same when using numpy data, but the column names are replaced int indexes." ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[[-0.51289317 -2.65333383 -0.68124034 ... 0.66358004 0.25051107\n", - " 0.23444287]\n", - " [-2.51236119 -2.04422708 -0.40301026 ... 0.19208918 0.18041725\n", - " 0.33265205]\n", - " [ 1.49065721 -3.24328369 1.58423463 ... 0.678225 0.27643945\n", - " 0.78710293]\n", + "[[-0.43714166 -0.50887207 -3.17945595 ... 0.07671291 0.47607558\n", + " 0.89683945]\n", + " [-2.83836404 -0.22115893 -0.07445108 ... 0.03073931 0.2766683\n", + " 0.36285899]\n", + " [-2.28029617 -1.38851427 -3.22134569 ... 0.92830528 0.59176052\n", + " 0.18041296]\n", " ...\n", - " [ 0.07953312 -1.10920624 1.0985733 ... 0.68578896 0.87562184\n", - " 0.28616797]\n", - " [-2.43045085 0.42769074 2.57608083 ... 0.0447371 0.31649605\n", - " 0.52711618]\n", - " [-2.50001651 -0.46482725 2.0546322 ... 0.34574358 0.96130892\n", - " 0.93289141]]\n" + " [ 0.61359823 -0.41893724 -2.9625971 ... 0.75602013 0.52478388\n", + " 0.69249969]\n", + " [-2.27709727 2.99680411 0.70411587 ... 0.02910316 0.93519319\n", + " 0.0034257 ]\n", + " [-1.59654364 -0.53352175 -0.50919438 ... 0.63719765 0.47591644\n", + " 0.84288743]]\n" ] } ], @@ -1155,22 +6058,24 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 25, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [00:34<00:00, 6.92s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.8762676829662166\n" - ] + "data": { + "text/plain": [ + "array([[-2.15063999, -0.84591563, -0.66736542],\n", + " [-0.95324351, 2.00496434, 1.22398102],\n", + " [-0.08542414, -0.26901573, -3.67530636],\n", + " ...,\n", + " [ 0.48872267, -0.87071824, 1.60102349],\n", + " [-4.45746257, -2.41209776, 0.42331464],\n", + " [-0.72541871, -0.02783289, -1.98627911]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1186,30 +6091,9 @@ " }\n", "\n", "fss_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=subsets)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([fss_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", - "\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" + "selector = fss_search_space.generate(rng=1).export_pipeline()\n", + "selector.fit(X_train)\n", + "selector.transform(X_train)" ] } ], diff --git a/Tutorial/4_Genetic_Feature_Selection.ipynb b/Tutorial/4_Genetic_Feature_Selection.ipynb new file mode 100644 index 00000000..7f3f0254 --- /dev/null +++ b/Tutorial/4_Genetic_Feature_Selection.ipynb @@ -0,0 +1,2330 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GeneticFeatureSelectorNode\n", + "\n", + "Whereas the `FSSNode` selects from a predefined list of subsets of features, the `GeneticFeatureSelectorNode` uses evolutionary algorithms to optimize a novel subset of features from scratch. This is useful where there is no predefined grouping of features. \n", + "\n", + "To initalize the `GeneticFeatureSelectorNode` you simply need to pass in the total number of features (i.e number of columns) in your dataset." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For these examples, we create a dummy dataset where the first six columns are informative and the rest are uninformative." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
abcdefghijkl
00.5570331.079369-0.652366-2.3451723.5796081.7200500.5008990.1255970.2621170.7263950.7663070.546374
1-0.7751963.1580420.571959-0.7835062.4206391.3644030.3181090.6314520.7841860.1057120.2947820.101737
20.243071-3.041308-0.3971622.7811822.4073960.1361030.2900920.7409300.6733980.2671610.7107020.175107
31.389506-0.9939580.6553301.8313260.0806630.0235810.9629730.2354560.8594800.2567270.8995990.831491
4-0.0241791.717804-1.5999071.917392-0.8080551.2989120.5902220.7223500.3857970.1307790.6972110.872331
\n", + "
" + ], + "text/plain": [ + " a b c d e f g \\\n", + "0 0.557033 1.079369 -0.652366 -2.345172 3.579608 1.720050 0.500899 \n", + "1 -0.775196 3.158042 0.571959 -0.783506 2.420639 1.364403 0.318109 \n", + "2 0.243071 -3.041308 -0.397162 2.781182 2.407396 0.136103 0.290092 \n", + "3 1.389506 -0.993958 0.655330 1.831326 0.080663 0.023581 0.962973 \n", + "4 -0.024179 1.717804 -1.599907 1.917392 -0.808055 1.298912 0.590222 \n", + "\n", + " h i j k l \n", + "0 0.125597 0.262117 0.726395 0.766307 0.546374 \n", + "1 0.631452 0.784186 0.105712 0.294782 0.101737 \n", + "2 0.740930 0.673398 0.267161 0.710702 0.175107 \n", + "3 0.235456 0.859480 0.256727 0.899599 0.831491 \n", + "4 0.722350 0.385797 0.130779 0.697211 0.872331 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tpot2\n", + "from tpot2.search_spaces.nodes import *\n", + "from tpot2.search_spaces.pipelines import *\n", + "import tpot2\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "import pandas as pd\n", + "import tpot2\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "from tpot2.search_spaces.nodes import *\n", + "from tpot2.search_spaces.pipelines import *\n", + "from tpot2.config import get_search_space\n", + "\n", + "\n", + "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=6, n_informative=6, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", + "X = np.hstack([X, np.random.rand(X.shape[0],6)]) #add six uninformative features\n", + "X = pd.DataFrame(X, columns=['a','b','c','d','e','f','g','h','i', 'j', 'k', 'l']) # a, b ,c the rest are uninformative\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "\n", + "X.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "gfs_sp = GeneticFeatureSelectorNode(n_features=X.shape[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each GeneticFeatureSelectorNode will select a new subset of features" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
g
3040.143646
8670.442287
5960.140160
4100.195534
8800.443872
......
1160.542799
2980.301036
8110.444366
2600.992575
4220.373356
\n", + "

750 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " g\n", + "304 0.143646\n", + "867 0.442287\n", + "596 0.140160\n", + "410 0.195534\n", + "880 0.443872\n", + ".. ...\n", + "116 0.542799\n", + "298 0.301036\n", + "811 0.444366\n", + "260 0.992575\n", + "422 0.373356\n", + "\n", + "[750 rows x 1 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selector = gfs_sp.generate().export_pipeline()\n", + "selector.set_output(transform=\"pandas\") #by default sklearn selectors return numpy arrays. this will make it return pandas dataframes\n", + "selector.fit(X_train, y_train)\n", + "selector.transform(X_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
aegijkl
3040.3866073.0210030.1436460.8269570.9603450.9894690.142616
8672.508161-0.8776860.4422870.3399370.9467610.1861160.407115
5960.8766751.1852180.1401600.1508790.5128640.3786440.970835
4102.201060-1.7915960.1955340.0891650.3943130.9459950.396801
8805.5061380.3264710.4438720.0622520.9448650.5259410.934821
........................
1160.0319303.0261180.5427990.6243320.5657430.8477920.720977
298-0.512784-2.6979130.3010360.8386650.4805910.8038920.359138
8112.5985253.2166800.4443660.1311560.4991240.6664060.716766
2601.777059-4.6182200.9925750.5478630.1801110.0655750.322207
422-3.3364872.8831060.3733560.7774470.0106160.8890320.576796
\n", + "

750 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " a e g i j k l\n", + "304 0.386607 3.021003 0.143646 0.826957 0.960345 0.989469 0.142616\n", + "867 2.508161 -0.877686 0.442287 0.339937 0.946761 0.186116 0.407115\n", + "596 0.876675 1.185218 0.140160 0.150879 0.512864 0.378644 0.970835\n", + "410 2.201060 -1.791596 0.195534 0.089165 0.394313 0.945995 0.396801\n", + "880 5.506138 0.326471 0.443872 0.062252 0.944865 0.525941 0.934821\n", + ".. ... ... ... ... ... ... ...\n", + "116 0.031930 3.026118 0.542799 0.624332 0.565743 0.847792 0.720977\n", + "298 -0.512784 -2.697913 0.301036 0.838665 0.480591 0.803892 0.359138\n", + "811 2.598525 3.216680 0.444366 0.131156 0.499124 0.666406 0.716766\n", + "260 1.777059 -4.618220 0.992575 0.547863 0.180111 0.065575 0.322207\n", + "422 -3.336487 2.883106 0.373356 0.777447 0.010616 0.889032 0.576796\n", + "\n", + "[750 rows x 7 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selector = gfs_sp.generate().export_pipeline()\n", + "selector.set_output(transform=\"pandas\") #by default sklearn selectors return numpy arrays. this will make it return pandas dataframes\n", + "selector.fit(X_train, y_train)\n", + "selector.transform(X_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Mutation and crossover can add or remove subsets from the learned feature set." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected features: Index(['g', 'i'], dtype='object')\n" + ] + } + ], + "source": [ + "selector_ind = gfs_sp.generate()\n", + "selector = selector_ind.export_pipeline()\n", + "selected_features = X.columns[selector.mask]\n", + "\n", + "print(\"selected features: \", selected_features)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected features: Index(['g', 'i'], dtype='object')\n" + ] + } + ], + "source": [ + "selector_ind.mutate()\n", + "selector = selector_ind.export_pipeline()\n", + "selected_features = X.columns[selector.mask]\n", + "print(\"selected features: \", selected_features)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Training" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 10/10 [00:45<00:00, 4.59s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9023717948717949\n" + ] + } + ], + "source": [ + "import tpot2\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "from tpot2.search_spaces.nodes import *\n", + "from tpot2.search_spaces.pipelines import *\n", + "\n", + "gfs_sp = GeneticFeatureSelectorNode(n_features=X.shape[1])\n", + "classifiers_sp = get_search_space('RandomForestClassifier')\n", + "final_classification_search_space = SequentialPipeline([gfs_sp, classifiers_sp])\n", + "\n", + "est = tpot2.TPOTEstimator( population_size=32,\n", + " generations=10, \n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " n_jobs=32,\n", + " classification=True,\n", + " search_space = final_classification_search_space,\n", + " verbose=1,\n", + " )\n", + "\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('maskselector',\n",
+       "                 MaskSelector(mask=array([ True,  True,  True,  True,  True,  True,  True,  True, False,\n",
+       "        True, False, False]))),\n",
+       "                ('randomforestclassifier',\n",
+       "                 RandomForestClassifier(criterion='entropy',\n",
+       "                                        max_features=0.2579898849876,\n",
+       "                                        min_samples_leaf=5, min_samples_split=8,\n",
+       "                                        n_estimators=128))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('maskselector',\n", + " MaskSelector(mask=array([ True, True, True, True, True, True, True, True, False,\n", + " True, False, False]))),\n", + " ('randomforestclassifier',\n", + " RandomForestClassifier(criterion='entropy',\n", + " max_features=0.2579898849876,\n", + " min_samples_leaf=5, min_samples_split=8,\n", + " n_estimators=128))])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "est.fitted_pipeline_" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected features: Index(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j'], dtype='object')\n" + ] + } + ], + "source": [ + "selected_features = X.columns[est.fitted_pipeline_.steps[0][1].mask]\n", + "print(\"selected features: \", selected_features)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Custom objective function to minimize number of selected features\n", + "We can create a custom objective function that returns the number of features selected per pipeline. The `other_objective_functions` parameter is for objective functions that do not require fitted pipelines and do not require cross validation. Since we know that the selector instance gets its features from its parameters, not through fitting, we can create an objective for the `other_objective_functions` parameter. \n", + "We set the weights to -1 because we would like to minimize the number of features selected. We also give it a name so that we can more easily access it in the `evaluated_individuals` dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", + "Perhaps you already have a cluster running?\n", + "Hosting the HTTP server on port 33543 instead\n", + " warnings.warn(\n", + "Generation: 100%|██████████| 10/10 [00:50<00:00, 5.04s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.926923076923077\n" + ] + } + ], + "source": [ + "def number_of_selected_features(est):\n", + " return sum(est.steps[0][1].mask)\n", + "\n", + "gfs_sp = GeneticFeatureSelectorNode(n_features=X.shape[1])\n", + "classifiers_sp = get_search_space('RandomForestClassifier')\n", + "final_classification_search_space = SequentialPipeline([gfs_sp, classifiers_sp])\n", + "\n", + "est = tpot2.TPOTEstimator( \n", + " population_size=32,\n", + " generations=10, \n", + " scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + " scorers_weights=[1.0, -1.0],\n", + " other_objective_functions=[number_of_selected_features],\n", + " other_objective_functions_weights = [-1],\n", + " objective_function_names = [\"Number of selected features\"],\n", + "\n", + " n_jobs=32,\n", + " classification=True,\n", + " search_space = final_classification_search_space,\n", + " verbose=2,\n", + " )\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected features: Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')\n" + ] + } + ], + "source": [ + "selected_features = X.columns[est.fitted_pipeline_.steps[0][1].mask]\n", + "print(\"selected features: \", selected_features)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe0AAAHUCAYAAAAXwXCeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3UUlEQVR4nO3deViU5foH8O/L7MzAAIOAKCAI7htqlg6iiGnumadFLbesU2FmWi6lueXanqlpudUpsxNpHdPMXFLRcsPMXEEMU1RAGBgGGJh5fn/wY3KcYQZZZt53uD/X5XU178O8cw8Q9zzb/XCMMQZCCCGE8J6XuwMghBBCSPVQ0iaEEEIEgpI2IYQQIhCUtAkhhBCBoKRNCCGECAQlbUIIIUQgKGkTQgghAkFJmxBCCBEIStqEEEKIQFDSJoK1ceNGcBxn+ScWi9G0aVOMHz8e165dq9PXMhqNeO6559C4cWOIRCJ06tSpTu9PqrZlyxa0bdsWCoUCHMfh1KlTtb4nx3GYN2+e5fH+/fvBcRz2799f63tXGjduHJo1a1Zn96uKK94L4Q+xuwMgpLY2bNiAVq1aobi4GAcOHMCSJUvwyy+/4I8//oBSqayT11i9ejXWrFmDFStWoEuXLlCpVHVyX+JYdnY2nnrqKTz00ENYtWoVZDIZWrRo4e6wqmXOnDl46aWXXP66nTt3xpEjR9CmTRuXvzapf5S0ieC1a9cOXbt2BQAkJCTAZDJh4cKF2LZtG0aPHl2rexsMBnh7e+PMmTNQKBSYNGlSXYQMACguLoZCoaiz+3miixcvoqysDE8++SR69erl7nDuSfPmzd3yur6+vnjggQfc8tqk/tHwOPE4lX+w/vrrLwAAYwyrVq1Cp06doFAo4O/vj3/961+4fPmy1fN69+6Ndu3a4cCBA+jRowe8vb0xYcIEcByHTz/9FMXFxZah+I0bNwIASkpKMGvWLERGRkIqlaJJkyZISkpCfn6+1b2bNWuGwYMH49tvv0VsbCzkcjnmz59vGcr88ssvMWPGDDRu3BgqlQpDhgzBzZs3UVhYiGeffRaBgYEIDAzE+PHjodfrre69cuVKxMfHIygoCEqlEu3bt8fy5ctRVlZm9/0dO3YMPXv2hLe3N6KiorB06VKYzWarr83Pz8e0adMQFRUFmUyGoKAgDBw4EOfPn7d8jdFoxJtvvolWrVpBJpOhUaNGGD9+PLKzs6v1c/r+++/RvXt3eHt7w8fHBw8++CCOHDliaR83bhzi4uIAAI8//jg4jkPv3r2rvF92djZeeOEFtGnTBiqVCkFBQejTpw8OHjxYrXiqo3JKZvfu3Rg/fjwCAgKgVCoxZMgQm98ne8PjHMdh0qRJWLNmDVq0aAGZTIY2bdrgq6++snmtGzdu4N///jeaNm0KqVSKyMhIzJ8/H+Xl5Q5jtDc8Pm7cOKhUKqSlpWHgwIFQqVQICwvDtGnTUFpaavX86v5c9+7di969e0Oj0UChUCA8PBwjRoyAwWCoxneS1BT1tInHSUtLAwA0atQIAPDvf/8bGzduxOTJk7Fs2TLcvn0bCxYsQI8ePfD7778jODjY8tysrCw8+eSTmD59OhYvXgwvLy9MmTIFCxcuxL59+7B3714AFb0oxhgefvhh7NmzB7NmzULPnj1x+vRpzJ07F0eOHMGRI0cgk8ks9z558iTOnTuH2bNnIzIyEkqlEkVFRQCA1157DQkJCdi4cSOuXLmCV155BSNHjoRYLEbHjh2xefNmpKam4rXXXoOPjw8+/PBDy33T09MxatQoyweH33//HYsWLcL58+exfv16q+/NjRs3MHr0aEybNg1z587F1q1bMWvWLISGhmLMmDEAgMLCQsTFxeHKlSuYMWMG7r//fuj1ehw4cABZWVlo1aoVzGYzhg0bhoMHD2L69Ono0aMH/vrrL8ydOxe9e/fG8ePHHY4ifPnllxg9ejT69euHzZs3o7S0FMuXL0fv3r2xZ88exMXFYc6cOejWrRuSkpKwePFiJCQkwNfXt8p73r59GwAwd+5chISEQK/XY+vWrZZ7Okr49+rpp5/Ggw8+iC+//BJXr17F7Nmz0bt3b5w+fRp+fn4On/v9999j3759WLBgAZRKJVatWmX5Wf/rX/8CUPFz6tatG7y8vPDGG2+gefPmOHLkCN58801cuXIFGzZsuOeYy8rKMHToUDz99NOYNm0aDhw4gIULF0KtVuONN94AgGr/XK9cuYJBgwahZ8+eWL9+Pfz8/HDt2jX8+OOPMBqN8Pb2vuf4SDUxQgRqw4YNDAD79ddfWVlZGSssLGTbt29njRo1Yj4+PuzGjRvsyJEjDAB75513rJ579epVplAo2PTp0y3XevXqxQCwPXv22LzW2LFjmVKptLr2448/MgBs+fLlVte3bNnCALC1a9darkVERDCRSMQuXLhg9bX79u1jANiQIUOsrk+ZMoUBYJMnT7a6/vDDD7OAgIAqvycmk4mVlZWxzz77jIlEInb79m2b9/fbb79ZPadNmzasf//+lscLFixgANju3burfJ3NmzczACw5Odnq+rFjxxgAtmrVKocxhoaGsvbt2zOTyWS5XlhYyIKCgliPHj0s1yq/P//973+rvF9VysvLWVlZGUtMTGTDhw+3agPA5s6da/M6+/btc3jPyt+5u++XkpLCALA333zTcm3s2LEsIiLC5nUVCgW7ceOGVZytWrVi0dHRlmv//ve/mUqlYn/99ZfV899++20GgP3555/39F7Gjh3LALCvv/7a6n4DBw5kLVu2tDyu7s/1m2++YQDYqVOn7H2bSD2i4XEieA888AAkEgl8fHwwePBghISEYOfOnQgODsb27dvBcRyefPJJlJeXW/6FhISgY8eONits/f390adPn2q9bmWve9y4cVbXH330USiVSuzZs8fqeocOHapcRDV48GCrx61btwYADBo0yOb67du3rYbIU1NTMXToUGg0GohEIkgkEowZMwYmkwkXL160en5ISAi6detmE1flVAIA7Ny5Ey1atEDfvn2reuvYvn07/Pz8MGTIEKvva6dOnRASEuJw5fKFCxdw/fp1PPXUU/Dy+udPkEqlwogRI/Drr7/WeIj1448/RufOnSGXyyEWiyGRSLBnzx6cO3euRveryt1rJXr06IGIiAjs27fP6XMTExOtRndEIhEef/xxpKWl4e+//wZQ8f1NSEhAaGio1fd3wIABAIBffvnlnmPmOA5Dhgyxunb3z766P9dOnTpBKpXi2WefxaZNm2ymBkj9oeFxInifffYZWrduDbFYjODgYDRu3NjSdvPmTTDGrP5I3ikqKsrq8Z3PdSY3NxdisdgyDF+J4ziEhIQgNze32vcOCAiweiyVSh1eLykpgUqlQmZmJnr27ImWLVvigw8+QLNmzSCXy3H06FEkJSWhuLjY6vkajcbmtWUymdXXZWdnIzw8vMpYgYrva35+viWeu+Xk5FT53Mrvi73vR2hoKMxmM/Ly8u55iPXdd9/FtGnT8Nxzz2HhwoUIDAyESCTCnDlz6jxph4SE2L1298/8Xp4LVHxvmjZtips3b+J///sfJBKJ3Xs4+v5WxdvbG3K53OqaTCZD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cjlatWqFVatWVfGdrd77M5vNWLZsGaKjoyGTyRAeHo5FixYBgOWY19jYWHAch969e1c7jqNHjyI2NhZyuRxdu3ZFamqqwzh79+6Nd955BwcOHLB6LaPRiOnTp6NJkyZQKpW4//77rX6Gubm5GDlyJJo2bQpvb2+0b98emzdvtrSPGzcOv/zyCz744ANwHAeO43DlyhVs3LgRfn5+VjHcPQpU+bu5fv16REVFQSaTgTEGnU6HZ599FkFBQfD19UWfPn3w+++/W573+++/IyEhAT4+PvD19UWXLl1w/Phxh++f8EC9H0lCCI+NHTuWDRs2jH377bdMLpezq1evMsYY27p1K7vzf4+5c+eyjh07Wj33vffeYxEREVb38vHxYUlJSez8+fNs3bp1DADr378/W7RoEbt48SJbuHAhk0gkLDMzkzHGWEZGBgPAmjZtyr755ht29uxZNnHiRObj48NycnIYY4xdv36dBQYGslmzZrFz586xkydPsgcffJAlJCRYXrtXr15MpVKxV199lZ0/f56dO3fO7vt99913ma+vL9u8eTM7f/48mz59OpNIJOzixYuMMcaysrJY27Zt2bRp01hWVhYrLCy0ucf169eZWCxm7777LsvIyGCnT59mK1eutHzt2rVrWePGjVlycjK7fPkyS05OZgEBAWzjxo1W7zk1NbXa72/69OnM39+fbdy4kaWlpbGDBw+yTz75hDHG2NGjRxkA9vPPP7OsrCyWm5tbrTj0ej1r1KgRe/zxx9mZM2fY//73PxYVFWUV291yc3PZM888w7p37271WqNGjWI9evRgBw4cYGlpaeytt95iMpnM8n39+++/2VtvvcVSU1NZeno6+/DDD5lIJGK//vorY4yx/Px81r17d/bMM8+wrKwslpWVxcrLy9mGDRuYWq22isHe76ZSqWT9+/dnJ0+eZL///jszm81Mq9WyIUOGsGPHjrGLFy+yadOmMY1GY4m5bdu27Mknn2Tnzp1jFy9eZF9//TU7deqU3fdN+IOSNmnQKpM2Y4w98MADbMKECYyxmiftiIgIZjKZLNdatmzJevbsaXlcXl7OlEol27x5M2PsnwS2dOlSy9eUlZWxpk2bsmXLljHGGJszZw7r16+f1WtfvXrV6sjFXr16sU6dOjl9v6GhoWzRokVW1+677z72wgsvWB537NiRzZ07t8p7nDhx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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHUCAYAAAANwniNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABXmklEQVR4nO3deVxVdf7H8fdl30FBURQRAxX3rVxwzdI0y8rK1FxbxszK1FJzLLUSl7IcS3PJrWmxGc2ZyaUc961UMq00c/1hiSmaICJchO/vjx7c8QpyAdEL8no+Hvfx6H6/95zzOZfDDG+/3/M9FmOMEQAAAADgmlycXQAAAAAAlHQEJwAAAABwgOAEAAAAAA4QnAAAAADAAYITAAAAADhAcAIAAAAABwhOAAAAAOAAwQkAAAAAHCA4AQAAAIADBCcAJdqiRYtksVhsLzc3N1WtWlUDBw7Ub7/9VqzHslqtGjx4sCpXrixXV1c1atSoWPePa1u6dKnq1q0rb29vWSwWff/99zft2AMGDFD16tWLbX+zZs3SokWLcrVv3LhRFotF//znP4vtWHk5fvy43e+Mi4uLgoOD1bVrV+3YseOGHvtarvWdXK/27dvbneuVrx9//LHYj5ef7du3a/z48Tp//vxNPS6Am8fN2QUAQEEsXLhQtWvX1qVLl7R582bFxcVp06ZN+uGHH+Tr61ssx5g9e7bmzJmjmTNnqmnTpvLz8yuW/SJ/Z86cUd++fXXPPfdo1qxZ8vT0VM2aNZ1dVpHNmjVLISEhGjBggFPreO6559S7d29lZWXpp59+0oQJE9ShQwft2LFDjRs3vqm13MjvpEaNGvr4449ztd92223Ffqz8bN++XRMmTNCAAQMUFBR0U48N4OYgOAEoFerVq6dmzZpJkjp06KCsrCy9/vrrWrFihfr06XNd+05LS5OPj49+/PFHeXt7a+jQocVRsiTp0qVL8vb2Lrb93Yp++eUXZWZm6vHHH1e7du2cXc4to1q1amrRooUkKTY2VlFRUerYsaNmzZqlefPmXde+c35nSgJvb2/beRZESaodQOnCVD0ApVLOH0r/93//J0kyxmjWrFlq1KiRvL29Va5cOT388MM6evSo3Xbt27dXvXr1tHnzZrVq1Uo+Pj4aNGiQLBaL5s+fr0uXLtmm+uRMLUpPT9eYMWMUGRkpDw8PValSRc8++2yuKTnVq1dXt27dtHz5cjVu3FheXl6aMGGCbYrWJ598olGjRqly5cry8/PTfffdp99//10XLlzQ008/rZCQEIWEhGjgwIFKTU212/f777+vtm3bqmLFivL19VX9+vU1depUZWZm5nl+u3btUps2beTj46MaNWpo8uTJys7Otvvs+fPnNWLECNWoUUOenp6qWLGiunbtqp9//tn2GavVqjfeeEO1a9eWp6enKlSooIEDB+rMmTMF+jn9+9//VsuWLeXj4yN/f3/dfffddtPFBgwYoNatW0uSevbsKYvFovbt2+e7zx9//FHdu3dXuXLl5OXlpUaNGmnx4sV2n8n5zj/99FONHTtWYWFhCggI0F133aWDBw/mu/+OHTuqdu3aMsbYtRtjFBUVpXvvvfea21avXl0//fSTNm3aZLuOrp4GmJmZWaCa/vvf/6pjx44KCAiQj4+PYmNjtW7dunxrz8/VvzNLly5Vp06dVLlyZXl7eysmJkajR4/WxYsX7bYbMGCA/Pz89MMPP6hTp07y9/dXx44dJRXs+nD0nSQkJOjxxx9XxYoV5enpqZiYGL399tu5rteiyK/2c+fOaciQIapSpYo8PDxUo0YNjR07VhkZGXb7sFgsGjp0qD766CPFxMTIx8dHDRs21Jdffmn7zPjx4/XSSy9JkiIjI23nuXHjxus+BwAliAGAEmzhwoVGktm1a5dd+4wZM4wkM3fuXGOMMU899ZRxd3c3I0aMMGvWrDGffPKJqV27tgkNDTWnTp2ybdeuXTtTvnx5Ex4ebmbOnGk2bNhgNm3aZHbs2GG6du1qvL29zY4dO8yOHTvM6dOnTXZ2tuncubNxc3Mz48aNM19//bV56623jK+vr2ncuLFJT0+37TsiIsJUrlzZ1KhRwyxYsMBs2LDB7Ny502zYsMFIMhEREWbAgAFmzZo15oMPPjB+fn6mQ4cO5u677zYjR440X3/9tZkyZYpxdXU1zz33nN35vvjii2b27NlmzZo1Zv369eadd94xISEhZuDAgXafa9eunQkODjbR0dHmgw8+MGvXrjVDhgwxkszixYttn0tJSTF169Y1vr6+ZuLEiearr74yy5YtMy+88IJZv369McaYrKwsc8899xhfX18zYcIEs3btWjN//nxTpUoVU6dOHZOWlpbvz+7jjz82kkynTp3MihUrzNKlS03Tpk2Nh4eH2bJlizHGmMOHD5v333/fSDKTJk0yO3bsMD/99NM19/nzzz8bf39/c9ttt5klS5aYlStXml69ehlJZsqUKbbP5Xzn1atXN3369DErV640n376qalWrZqJjo42ly9ftn22f//+JiIiwvb+X//6l5Fk1q5da3fslStXGklm5cqV16zvu+++MzVq1DCNGze2XUffffddoWv66KOPjMViMQ888IBZvny5+c9//mO6detmXF1dzX//+998v/djx44ZSWbatGl27Xv37jWSTO/evY0xxrz++uvmnXfeMStXrjQbN240H3zwgYmMjDQdOnSw265///7G3d3dVK9e3cTFxZl169aZr776qsDXR37fyenTp02VKlVMhQoVzAcffGDWrFljhg4daiSZZ555Jt/zNObP671u3bomMzPT7pWVlZVv7ZcuXTINGjQwvr6+5q233jJff/21GTdunHFzczNdu3a1O0bOz+yOO+4wn3/+uVm1apVp3769cXNzM0eOHDHGGHPixAnz3HPPGUlm+fLltvNMTk52eA4ASg+CE4ASLSc4ffPNNyYzM9NcuHDBfPnll6ZChQrG39/fnDp1yuzYscNIMm+//bbdtidOnDDe3t7m5ZdftrW1a9fOSDLr1q3Ldaz+/fsbX19fu7Y1a9YYSWbq1Kl27UuXLrULbsb8GZxcXV3NwYMH7T6b8wfzfffdZ9c+bNgwI8k8//zzdu0PPPCAKV++/DW/k6ysLJOZmWmWLFliXF1dzblz53Kd37fffmu3TZ06dUznzp1t7ydOnJhnOLjSp59+aiSZZcuW2bXv2rXLSDKzZs3Kt8awsDBTv3592x+xxhhz4cIFU7FiRdOqVStbW873849//OOa+8vx2GOPGU9PT5OQkGDX3qVLF+Pj42POnz9vt8+r/wj+/PPPjSSzY8cOW9vVwSkrK8vUqFHDdO/ePdcxbrvtNpOdnZ1vjXXr1jXt2rXL1V7Qmi5evGjKly+f63rJysoyDRs2NHfccUe+x88JTlOmTDGZmZkmPT3dxMfHm9tvv/2awS87O9tkZmaaTZs2GUlm7969tr7+/fsbSWbBggV22xTm+rjWdzJ69Og8r9dnnnnGWCyWXL9LV8u53q9+9enTJ9/aP/jgAyPJfP7553btU6ZMMZLM119/bWuTZEJDQ01KSoqt7dSpU8bFxcXExcXZ2qZNm2YkmWPHjuVbM4DSi6l6AEqFFi1ayN3dXf7+/urWrZsqVaqk1atXKzQ0VF9++aUsFosef/xxXb582faqVKmSGjZsmGu6TLly5XTnnXcW6Ljr16+XpFw3tT/yyCPy9fXNNXWqQYMG11zYoFu3bnbvY2JiJCnX1K+YmBidO3fObrrenj17dP/99ys4OFiurq5yd3dXv379lJWVpV9++cVu+0qVKumOO+7IVVfOFC1JWr16tWrWrKm77rrrWqeuL7/8UkFBQbrvvvvsvtdGjRqpUqVK+U5DOnjwoE6ePKm+ffvKxeV//1fj5+enHj166JtvvlFaWto1t7+W9evXq2PHjgoPD7drHzBggNLS0nKtGnf//ffbvW/QoIEk2X0XV3NxcdHQoUP15ZdfKiEhQZJ05MgRrVmzRkOGDJHFYil03YWpafv27Tp37pz69+9v971nZ2frnnvu0a5du3JNp8vLqFGj5O7uLi8vLzVt2lQJCQmaM2eOunbtKkk6evSoevfurUqVKtmuqZx7zA4cOJBrfz169LB7fz3XR47169erTp06ua7XAQMGyBhj+/3Lz2233aZdu3bZvV5//fV8a1+/fr18fX318MMP5zqupFy/1x06dJC/v7/tfWhoqCpWrJjvdQTg1sPiEABKhSVLligmJkZubm4KDQ1V5cqVbX2///67jDEKDQ3Nc9saNWrYvb9yW0fOnj0rNzc3VahQwa7dYrGoUqVKOnv2bIH3Xb58ebv3Hh4e+banp6fLz89PCQkJatOmjWrVqqUZM2aoevXq8vLy0s6dO/Xss8/q0qVLdtsHBwfnOranp6fd586cOaNq1apds1bpz+/1/PnztnqulpSUdM1tc76XvL6PsLAwZWdn648//ij0Tfpnz5695j6vPG6Oq78LT09PScr1nV1t0KBBevXVV/XBBx9o0qRJev/99+Xt7a1BgwYVqt68OKrp999/l6Rcf9Rf6dy5cw5Xk3zhhRf0+OOPy8XFRUFBQbZ7byQpNTVVbdq0kZeXl9544w3VrFlTPj4+OnHihB566KFc34+Pj48CAgLs2q7n+shx9uzZPJeCv9bPMy9eXl62hWPyklftZ8+eVaVKlXKF4IoVK8rNzc3hdSTl/p0CcOsjOAEoFWJiYq75x1FISIgsFou2bNli+yP0Sle3FWbEIDg4WJcvX9aZM2fswpMxRqdOndLtt99e5H0X1IoVK3Tx4kUtX75cERERtvbredZRhQoV9Ouvv+b7mZCQEAUHB2vNmjV59l/5L/BXy/lDMzExMVffyZMn5eLionLlyhWi4v/t91r7zKm5OAQGBqp///6aP3++Ro4cqYULF6p37943ZZnpnHOYOXPmNVeLu9Y/ElypatWq1/ydWb9+vU6ePKmNGzfarWR4rWcQ5XVdX8/1keNm/Dzzqj04OFjffvutjDF2/adPn9bly5eL7ToCcGthqh6AUq9bt24yxui3335Ts2bNcr3q169f5H3nrMD197//3a592bJlunjxoq3/Rsr5w+7KAGiMua4lpbt06aJffvkl36lQ3bp109mzZ5WVlZXn91qrVq1rblurVi1VqVJFn3zyid3qdBcvXtSyZctsK+0VVseOHW1/9F9pyZIl8vHxKdSy1I48//zzSkpK0sMPP6zz588XeJn66x2JiI2NVVBQkPbv35/n996sWbNrjvIUVF7XlCTNmTOnwPsozPVxre+kY8eO2r9/v7777ju79iVLlshisahDhw6FOa0C69ixo1JTU7VixYpcx83pL6yCjmYCKL0YcQJQ6sXGxurpp5/WwIEDtXv3brVt21a+vr5KTEzU1q1bVb9+fT3zzDNF2vfdd9+tzp07a9SoUUpJSVFsbKz27dun1157TY0bN1bfvn2L+WzyrsHDw0O9evXSyy+/rPT0dM2ePVt//PFHkfc5bNgwLV26VN27d9fo0aN1xx136NKlS9q0aZO6deumDh066LHHHtPHH3+srl276oUXXtAdd9whd3d3/frrr9qwYYO6d++uBx98MM/9u7i4aOrUqerTp4+6deumv/zlL8rIyNC0adN0/vx5TZ48uUh1v/baa/ryyy/VoUMHvfrqqypfvrw+/vhjrVy5UlOnTlVgYGCRv5Or1axZU/fcc49Wr16t1q1bq2HDhgXarn79+vrss8+0dOlS1ahRQ15eXoUK735+fpo5c6b69++vc+fO6eGHH1bFihV15swZ7d27V2fOnNHs2bOLelqSpFatWqlcuXIaPHiwXnvtNbm7u+vjjz/W3r17C7yPwlwf1/pOXnzxRS1ZskT33nuvJk6cqIiICK1cuVKzZs3SM888c8MehNyvXz+9//776t+/v44fP6769etr69atmjRpkrp27ZrvvX/XkvMznjFjhvr37y93d3fVqlWrQCNvAEoHghOAW8KcOXPUokULzZkzR7NmzVJ2drbCwsIUGxub68bzwrBYLFqxYoXGjx+vhQsX6s0331RISIj69u2rSZMm5Tk1sLjVrl1by5Yt01//+lc99NBDCg4OVu/evTV8+HB16dKlSPv09/fX1q1bNX78eM2dO1cTJkxQuXLldPvtt+vpp5+WJLm6uurf//63ZsyYoY8++khxcXFyc3NT1apV1a5dO4dhoHfv3vL19VVcXJx69uwpV1dXtWjRQhs2bFCrVq2KVHetWrW0fft2vfLKK7b7u2JiYrRw4cJcC3gUh549e2r16tWFeijyhAkTlJiYqKeeekoXLlxQRESEjh8/XqjjPv7446pWrZqmTp2qv/zlL7pw4YIqVqyoRo0aFct5BgcHa+XKlRoxYoQef/xx+fr6qnv37lq6dKmaNGlSoH0U5vq41ndSoUIFbd++XWPGjNGYMWOUkpKiGjVqaOrUqRo+fPh1n+e1eHl5acOGDRo7dqymTZumM2fOqEqVKho5cqRee+21Iu2zffv2GjNmjBYvXqx58+YpOztbGzZscPhcMgClh8WYq57wBwAAJMm2AuDx48fl7u7u7HIAAE7EiBMAAFfIyMjQd999p507d+qLL77Q9OnTCU0AAEacAAC40vHjxxUZGamAgAD17t1b7733nlxdXZ1dFgDAyQhOAAAAAOAAy5EDAAAAgAMEJwAAAABwgOAEAAAAAA6UuVX1srOzdfLkSfn7+9uenA4AAACg7DHG6MKFCwoLC5OLS/5jSmUuOJ08eVLh4eHOLgMAAABACXHixAlVrVo138+UueDk7+8v6c8vJyAgwMnVAAAAAHCWlJQUhYeH2zJCfspccMqZnhcQEEBwAgAAAFCgW3hYHAIAAAAAHCA4AQAAAIADBCcAAAAAcKDM3eNUEMYYXb58WVlZWc4uBSWAu7u7XF1dnV0GAAAAnIjgdBWr1arExESlpaU5uxSUEBaLRVWrVpWfn5+zSwEAAICTEJyukJ2drWPHjsnV1VVhYWHy8PDgIbllnDFGZ86c0a+//qro6GhGngAAAMoogtMVrFarsrOzFR4eLh8fH2eXgxKiQoUKOn78uDIzMwlOAAAAZRSLQ+TBxYWvBf/DqCMAAABICAAAAADgAMEJAAAAABzgHicAAAAAN0VymlVJqValpGcqwNtdIb4eCvTxcHZZBcKI0y1iwIABslgsslgscnd3V40aNTRy5EhdvHjxhh5348aNslgsOn/+/HXvq3379rZzuPJ1+fLl6y/0Go4fPy6LxaLvv//+hh0DAAAA0snzlzT00z3qOH2THpy1XR3f3qTnPt2jk+cvObu0AiE43ULuueceJSYm6ujRo3rjjTc0a9YsjRw5skj7ynkI8M321FNPKTEx0e7l5pZ7YNRqtd702gAAAFA0yWlWjVq2T1sOJdm1bz6UpNHL9ik5reT/bUdwukGS06w6cjpVexL+0JEzqTflYvD09FSlSpUUHh6u3r17q0+fPlqxYoUk6e9//7uaNWsmf39/VapUSb1799bp06dt2+aMHH311Vdq1qyZPD09tWXLFhljNHXqVNWoUUPe3t5q2LCh/vnPf0r6c7SmQ4cOkqRy5crJYrFowIABkqSMjAw9//zzqlixory8vNS6dWvt2rXL4Tn4+PioUqVKdi9Jql69ut544w0NGDBAgYGBeuqppyRJy5YtU926deXp6anq1avr7bfftttf9erVNWnSJA0aNEj+/v6qVq2a5s6da+uPjIyUJDVu3FgWi0Xt27cv/BcPAACAfCWlWnOFphybDyUpKZXgVCaVlGFIb29vZWZmSvpzhOb111/X3r17tWLFCh07dswWcq708ssvKy4uTgcOHFCDBg3017/+VQsXLtTs2bP1008/6cUXX9Tjjz+uTZs2KTw8XMuWLZMkHTx4UImJiZoxY4ZtP8uWLdPixYv13XffKSoqSp07d9a5c+eKfD7Tpk1TvXr1FB8fr3Hjxik+Pl6PPvqoHnvsMf3www8aP368xo0bp0WLFtlt9/bbb6tZs2bas2ePhgwZomeeeUY///yzJGnnzp2SpP/+979KTEzU8uXLi1wfAAAA8paSnplv/wUH/SUBi0MUM0fDkDN7Nb4pN8Dt3LlTn3zyiTp27ChJGjRokK2vRo0a+tvf/qY77rhDqamp8vPzs/VNnDhRd999tyTp4sWLmj59utavX6+WLVvatt26davmzJmjdu3aqXz58pKkihUrKigoyLbd7NmztWjRInXp0kWSNG/ePK1du1YffvihXnrppWvWPWvWLM2fP9/2/i9/+YttFOnOO++0m3rYp08fdezYUePGjZMk1axZU/v379e0adPsQmHXrl01ZMgQSdKoUaP0zjvvaOPGjapdu7YqVKggSQoODraNbgEA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rPbs2aM2bdqoS5cuSkhIyPPzM2bMUGJiou114sQJlS9fXo888shNrhwAAABAWWIxxpjCbpSVlaV33nlHn3/+uRISEmS1Wu36z507V6D9NG/eXE2aNNHs2bNtbTExMXrggQcUFxfncPsVK1booYce0rFjxxQREVGgY6akpCgwMFDJyckKCAgo0DYAAAAAbj2FyQZFGnGaMGGCpk+frkcffVTJyckaPny4HnroIbm4uGj8+PEF2ofValV8fHyue6I6deqk7du3F2gfH374oe666658Q1NGRoZSUlLsXgAAAABQGEUKTh9//LHmzZunkSNHys3NTb169dL8+fP16quv6ptvvinQPpKSkpSVlaXQ0FC79tDQUJ06dcrh9omJiVq9erWefPLJfD8XFxenwMBA2ys8PLxA9QEAAABAjiIFp1OnTql+/fqSJD8/PyUnJ0uSunXrppUrVxZqXxaLxe69MSZXW14WLVqkoKAgPfDAA/l+bsyYMUpOTra9Tpw4Uaj6AAAAAKBIwalq1apKTEyUJEVFRenrr7+WJO3atUuenp4F2kdISIhcXV1zjS6dPn061yjU1YwxWrBggfr27SsPD498P+vp6amAgAC7FwAAAAAURpGC04MPPqh169ZJkl544QWNGzdO0dHR6tevnwYNGlSgfXh4eKhp06Zau3atXfvatWvVqlWrfLfdtGmTDh8+rCeeeKIo5QMAAABAoRRpVb2rffvtt9q2bZuioqJ0//33F3i7pUuXqm/fvvrggw/UsmVLzZ07V/PmzdNPP/2kiIgIjRkzRr/99puWLFlit13fvn116NChAt9PdSVW1QMAAAAgFS4bFOkBuFdr3ry5mjdvnqv93nvv1fz581W5cuU8t+vZs6fOnj2riRMnKjExUfXq1dOqVatsq+QlJibmeqZTcnKyli1bphkzZhRH6QAAAADgULGMOF2Lv7+/9u7dqxo1atyoQxQaI04AAAAApJvwHCcAAAAAKEsITgAAAADgAMEJAAAAABwgOAEAAACAAwQnAAAAAHDghganV155ReXLl7+RhwAAAACAG65IwSkuLk4LFizI1b5gwQJNmTLF9n7MmDEKCgoqcnEAAAAAUBIUKTjNmTNHtWvXztVet25dffDBB9ddFAAAAACUJEUKTqdOnVLlypVztVeoUEGJiYnXXRQAAAAAlCRFCk7h4eHatm1b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zZppz549+dbZvn17vf3229q8ebPdsaxWq15++WVVqVJFvr6+at68ud3P8OzZs+rVq5eqVq0qHx8f1a9fX59++qmtf8CAAdq0aZNmzJghi8Uii8Wi48ePa9GiRQoKCrKr4erR0Jxrc8GCBapRo4Y8PT1ljFFycrKefvppVaxYUQEBAbrzzju1d+9e23Z79+5Vhw4d5O/vr4CAADVt2lS7d+/O9/wBoCQgOAGAk7i6umrSpEmaOXOmfv311+va1/r163Xy5Elt3rxZ06dP1/jx49WtWzeVK1dO3377rQYPHqzBgwfrxIkTdtu99NJLGjFihPbs2aNWrVrp/vvv19mzZyVJiYmJateunRo1aqTdu3drzZo1+v333/Xoo4/a7WPx4sVyc3PTtm3bNGfOnDzrmzFjht5++2299dZb2rdvnzp37qz7779fhw4dsh2rbt26GjFihBITEzVy5Mhc+0hMTFSvXr00aNAgHThwQBs3btRDDz0kY4wkad68eRo7dqzefPNNHThwQJMmTdK4ceO0ePHiPGsqyPmNGTNGU6ZM0bhx47R//3598sknCg0NlfRn+JGk//73v0pMTNTy5csLVMfFixfVrVs31apVS/Hx8Ro/fnye53ul5cuX66mnnlLLli3tjjVw4EBt27ZNn332mfbt26dHHnlE99xzj+17TU9PV9OmTfXll1/qxx9/1NNPP62+ffvq22+/tf1cWrZsqaeeekqJiYlKTExUeHh4vrVc6fDhw/r888+1bNky25TFe++9V6dOndKqVasUHx+vJk2aqGPHjjp37pwkqU+fPqpatap27dql+Ph4jR49Wu7u7gU+JgA4jQEA3HT9+/c33bt3N8YY06JFCzNo0CBjjDFffPGFufJ/ml977TXTsGFDu23feecdExERYbeviIgIk5WVZWurVauWadOmje395cuXja+vr/n000+NMcYcO3bMSDKTJ0+2fSYzM9NUrVrVTJkyxRhjzLhx40ynTp3sjn3ixAkjyRw8eNAYY0y7du1Mo0aNHJ5vWFiYefPNN+3abr/9djNkyBDb+4YNG5rXXnvtmvuIj483kszx48fz7A8PDzeffPKJXdvrr79uWrZsaYz53znv2bOnQOeXkpJiPD09zbx58/I83tX7K2gdc+bMMeXLlzcXL1609c+ePTvPfV3phRdeMO3atbO9P3z4sLFYLOa3336z+1zHjh3NmDFjrrmfrl27mhEjRtjet2vXzrzwwgt2n1m4cKEJDAy0a8vr2nR3dzenT5+2ta1bt84EBASY9PR0u21vu+02M2fOHGOMMf7+/mbRokXXrA8ASio3pyU2AIAkacqUKbrzzjs1YsSIIu+jbt26cnH53ySC0NBQ1atXz/be1dVVwcHBOn36tN12LVu2tP23m5ubmjVrpgMHDkiS4uPjtWHDBvn5+eU63pEjR1SzZk1JUrNmzfKtLSUlRSdPnlRsbKxde2xsrN0ULkcaNmyojh07qn79+urcubM6deqkhx9+WOXKldOZM2d04sQJPfHEE3rqqads21y+fPmaiyg4Or/z588rIyNDHTt2LHCNBanjwIEDatiwoXx8fGz9V/4cCuq7776TMcb2c8iRkZFhu0csKytLkydP1tKlS/Xbb78pIyNDGRkZ8vX1LfTx8hIREaEKFSrY3sfHxys1NTXXPWqXLl3SkSNHJEnDhw/Xk08+qY8++kh33XWXHnnkEd12223FUg8A3EgEJwBwsrZt26pz58565ZVXNGDAALs+FxcX21S0HHndhH/1VCeLxZJnW3Z2tsN6cu5jyc7O1n333acpU6bk+kzlypVt/13QP8KvXszAGFOoBQ5cXV21du1abd++XV9//bVmzpypsWPH6ttvv7WFkHnz5ql58+a5tsuLo/M7evRogWu7cp+O6rj651lU2dnZcnV1VXx8fK5zzAmDb7/9tt555x29++67ql+/vnx9fTVs2DCHi3gU9Lq7+mefnZ2typUr57pXTpLtnqnx48erd+/eWrlypVavXq3XXntNn332mR588EFHpwwATkVwAoASYPLkyWrUqFGu0YMKFSro1KlTdiGjOJe//uabb9S2bVtJf46KxMfHa+jQoZKkJk2aaNmyZapevbrc3Ir+fxcBAQEKCwvT1q1bbceSpO3bt+uOO+4o1L4sFotiY2MVGxurV199VREREfriiy80fPhwValSRUePHlWfPn0KtC9H5xcdHS1vb2+tW7dOTz75ZK5+Dw8PSX+O6uQIDQ11WEedOnX00Ucf6dKlS/L29pb058+hsBo3bqysrCydPn1abdq0yfMzW7ZsUffu3fX4449L+jPYHDp0SDExMXbnceU5SH9edxcuXNDFixdt4agg112TJk106tQpubm52S1gcrWaNWuqZs2aevHFF9WrVy8tXLiQ4ASgxGNxCAAoAerXr68+ffpo5syZdu3t27fXmTNnNHXqVB05ckTvv/++Vq9eXWzHff/99/XFF1/o559/1rPPPqs//vhDgwYNkiQ9++yzOnfunHr16qWdO3fq6NGj+vrrrzVo0KBcf2g78tJLL2nKlClaunSpDh48qNGjR+v777/XCy+8UOB9fPvtt5o0aZJ2796thIQELV++XGfOnLGFgPHjxysuLk4zZszQL7/8oh9++EELFy7U9OnT89yfo/Pz8vLSqFGj9PLLL2vJkiU6cuSIvvnmG3344YeSpIoVK8rb29u2qERycnKB6ujdu7dcXFz0xBNPaP/+/Vq1apXeeuutQn2f0p/ho0+fPurXr5+WL1+uY8eOadeuXZoyZYpWrVolSYqKirKN0h04cEB/+ctfdOrUKbv9VK9eXd9++62OHz+upKQkZWdnq3nz5vLx8dErr7yiw4cP65NPPtGiRYsc1nTXXXepZcuWeuCBB/TVV1/p+PHj2r59u/76179q9+7dunTpkoYOHaqNGzfq//7v/7Rt2zbt2rXLLsgBQInlzBusAKCsunJxiBzHjx83np6e5ur/aZ49e7YJDw83vr6+pl+/fubNN9/MtTjE1fvK64b/iIgI88477xhj/rewwSeffGKaN29uPDw8TExMjFm3bp3dNr/88ot58MEHTVBQkPH29ja1a9c2w4YNM9nZ2dc8Tl6ysrLMhAkTTJUqVYy7u7tp2LChWb16td1nHC0OsX//ftO5c2dToUIF4+npaWrWrGlmzpxp95mPP/7YNGrUyHh4eJhy5cqZtm3bmuXLl9ud85ULMDg6v6ysLPPGG2+YiIgI4+7ubqpVq2YmTZpk237evHkmPDzcuLi42C3ckF8dxhizY8cO07BhQ+Ph4WEaNWpkli1bVujFIYwxxmq1mldffdVUr17duLu7m0qVKpkHH3zQ7Nu3zxhjzNmzZ0337t2Nn5+fqVixovnrX/9q+vXrZ3e9HDx40LRo0cJ4e3sbSebYsWPGmD8Xg4iKijJeXl6mW7duZu7cuQ4XLjHGmJSUFPPcc8+ZsLAw4+7ubsLDw02fPn1MQkKCycjIMI899pgJDw83Hh4eJiwszAwdOtRcunTpmucNACWFxZhimmwNAAAAALcopuoBAAAAgAMEJwAAAABwgOAEAAAAAA4QnAAAAADAAYITAAAAADhAcAIAAAAABwhOAAAAAOAAwQkAAAAAHCA4AQAAAIADBCcAAAAAcIDgBAAAAAAO/D+eK8N3PVi3vAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "df = est.evaluated_individuals\n", + "col1 = \"Number of selected features\"\n", + "col2 = \"roc_auc_score\"\n", + "\n", + "# Multiple orange dots show because the pareto front in this case is actually 3D along the auroc score, number of features, and complexity.\n", + "\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(5,5))\n", + "sns.scatterplot(df[df['Pareto_Front']!=1], x=col1, y=col2, label='other', ax=ax)\n", + "sns.scatterplot(df[df['Pareto_Front']==1], x=col1, y=col2, label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of all pipelines')\n", + "#log scale y\n", + "ax.set_yscale('log')\n", + "plt.show()\n", + "\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(10,5))\n", + "sns.scatterplot(df[df['Pareto_Front']==1], x=col1, y=col2, label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of only the Pareto Front')\n", + "#log scale y\n", + "# ax.set_yscale('log')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Other Examples\n", + "\n", + "As with all search spaces, GeneticFeatureSelectorNode can be combined with any other search space. \n", + "\n", + "You can also pair this with the existing prebuilt templates, for example:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('maskselector',\n",
+       "                 MaskSelector(mask=array([False, False,  True, False, False, False, False, False, False,\n",
+       "        True, False, False]))),\n",
+       "                ('pipeline',\n",
+       "                 Pipeline(steps=[('normalizer', Normalizer(norm='l1')),\n",
+       "                                 ('selectpercentile',\n",
+       "                                  SelectPercentile(percentile=74.2561844719571)),\n",
+       "                                 ('featureunion-1',\n",
+       "                                  FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                                  FeatureUnion(transformer_list=[('binarizer',\n",
+       "                                                                                                  Binarizer(threshold=0.0935770250992))])),\n",
+       "                                                                 ('passthrough',\n",
+       "                                                                  Passthrough())])),\n",
+       "                                 ('featureunion-2',\n",
+       "                                  FeatureUnion(transformer_list=[('skiptransformer',\n",
+       "                                                                  SkipTransformer()),\n",
+       "                                                                 ('passthrough',\n",
+       "                                                                  Passthrough())])),\n",
+       "                                 ('adaboostclassifier',\n",
+       "                                  AdaBoostClassifier(algorithm='SAMME',\n",
+       "                                                     learning_rate=0.9665397922726,\n",
+       "                                                     n_estimators=320))]))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('maskselector',\n", + " MaskSelector(mask=array([False, False, True, False, False, False, False, False, False,\n", + " True, False, False]))),\n", + " ('pipeline',\n", + " Pipeline(steps=[('normalizer', Normalizer(norm='l1')),\n", + " ('selectpercentile',\n", + " SelectPercentile(percentile=74.2561844719571)),\n", + " ('featureunion-1',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('binarizer',\n", + " Binarizer(threshold=0.0935770250992))])),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('skiptransformer',\n", + " SkipTransformer()),\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('adaboostclassifier',\n", + " AdaBoostClassifier(algorithm='SAMME',\n", + " learning_rate=0.9665397922726,\n", + " n_estimators=320))]))])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "linear_search_space = tpot2.config.template_search_spaces.get_template_search_spaces(\"linear\", classification=True)\n", + "gfs_and_linear_search_space = SequentialPipeline([gfs_sp, linear_search_space])\n", + "\n", + "# est = tpot2.TPOTEstimator( \n", + "# population_size=32,\n", + "# generations=10, \n", + "# scorers=[\"roc_auc_ovr\", tpot2.objectives.complexity_scorer],\n", + "# scorers_weights=[1.0, -1.0],\n", + "# other_objective_functions=[number_of_selected_features],\n", + "# other_objective_functions_weights = [-1],\n", + "# objective_function_names = [\"Number of selected features\"],\n", + "\n", + "# n_jobs=32,\n", + "# classification=True,\n", + "# search_space = gfs_and_linear_search_space,\n", + "# verbose=2,\n", + "# )\n", + "\n", + "gfs_and_linear_search_space.generate(rng=1).export_pipeline()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting Fancy\n", + "\n", + "If you want to get fancy, you can combine more search spaces in order to set up unique preprocessing pipelines per feature set. Here's an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Pipeline(steps=[('featureunion',\n",
+       "                 FeatureUnion(transformer_list=[('pipeline',\n",
+       "                                                 Pipeline(steps=[('maskselector',\n",
+       "                                                                  MaskSelector(mask=array([False,  True, False, False, False, False, False, False,  True,\n",
+       "       False, False, False]))),\n",
+       "                                                                 ('pipeline',\n",
+       "                                                                  Pipeline(steps=[('featureunion-1',\n",
+       "                                                                                   FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                                                                                   FeatureUnion(transformer_list=[('robustscaler',\n",
+       "                                                                                                                                                   Robu...\n",
+       "                                                                                                                  ('passthrough',\n",
+       "                                                                                                                   Passthrough())])),\n",
+       "                                                                                  ('featureunion-2',\n",
+       "                                                                                   FeatureUnion(transformer_list=[('featureunion',\n",
+       "                                                                                                                   FeatureUnion(transformer_list=[('nystroem',\n",
+       "                                                                                                                                                   Nystroem(gamma=0.3428025665559,\n",
+       "                                                                                                                                                            kernel='linear',\n",
+       "                                                                                                                                                            n_components=88))])),\n",
+       "                                                                                                                  ('passthrough',\n",
+       "                                                                                                                   Passthrough())]))]))]))])),\n",
+       "                ('adaboostclassifier',\n",
+       "                 AdaBoostClassifier(algorithm='SAMME',\n",
+       "                                    learning_rate=0.9665397922726,\n",
+       "                                    n_estimators=320))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "Pipeline(steps=[('featureunion',\n", + " FeatureUnion(transformer_list=[('pipeline',\n", + " Pipeline(steps=[('maskselector',\n", + " MaskSelector(mask=array([False, True, False, False, False, False, False, False, True,\n", + " False, False, False]))),\n", + " ('pipeline',\n", + " Pipeline(steps=[('featureunion-1',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('robustscaler',\n", + " Robu...\n", + " ('passthrough',\n", + " Passthrough())])),\n", + " ('featureunion-2',\n", + " FeatureUnion(transformer_list=[('featureunion',\n", + " FeatureUnion(transformer_list=[('nystroem',\n", + " Nystroem(gamma=0.3428025665559,\n", + " kernel='linear',\n", + " n_components=88))])),\n", + " ('passthrough',\n", + " Passthrough())]))]))]))])),\n", + " ('adaboostclassifier',\n", + " AdaBoostClassifier(algorithm='SAMME',\n", + " learning_rate=0.9665397922726,\n", + " n_estimators=320))])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dynamic_transformers = DynamicUnionPipeline(get_search_space(\"all_transformers\"), max_estimators=4)\n", + "dynamic_transformers_with_passthrough = tpot2.search_spaces.pipelines.UnionPipeline([\n", + " dynamic_transformers,\n", + " tpot2.config.get_search_space(\"Passthrough\")],\n", + " )\n", + "multi_step_engineering = DynamicLinearPipeline(dynamic_transformers_with_passthrough, max_length=4)\n", + "gfs_engineering_search_space = SequentialPipeline([gfs_sp, multi_step_engineering])\n", + "union_fss_engineering_search_space = DynamicUnionPipeline(gfs_engineering_search_space)\n", + "classification_search_space = get_search_space('classifiers')\n", + "\n", + "final_fancy_search_space = SequentialPipeline([union_fss_engineering_search_space, classification_search_space])\n", + "\n", + "final_fancy_search_space.generate(rng=1).export_pipeline()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tpot2env", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tutorial/4_Symbolic_Regression_and_Classification.ipynb b/Tutorial/4_Symbolic_Regression_and_Classification.ipynb deleted file mode 100644 index 3c5661e4..00000000 --- a/Tutorial/4_Symbolic_Regression_and_Classification.ipynb +++ /dev/null @@ -1,296 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The following configurations allow TPOT2 to learn a symbolic classification or regression model.\n", - "\n", - "\n", - "Leafs: Leaves can either select individual columns or output 1's or 0's.\n", - "\n", - "Inner nodes: arithmetic operators\n", - "\n", - "Root: logistic regression" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Symbolic Classification" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 20/20 [00:12<00:00, 1.57it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.8500096024582293\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import tpot2\n", - "import sklearn.datasets\n", - "from sklearn.linear_model import LogisticRegression\n", - "import numpy as np\n", - "\n", - "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=100, n_informative=6, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "n_features = X_train.shape[1]\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space(\"LogisticRegression\"),\n", - " leaf_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=n_features), \n", - " inner_search_space = tpot2.config.get_search_space([\"arithmatic\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=20, \n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " other_objective_functions=[tpot2.objectives.number_of_nodes_objective],\n", - " other_objective_functions_weights=[-1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = graph_search_space ,\n", - " verbose=1,\n", - " )\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))\n", - "est.fitted_pipeline_.plot()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression_1 : LogisticRegression(C=1.7363936958422204, class_weight='balanced', max_iter=1000,\n", - " n_jobs=1, solver='saga')\n", - "AddTransformer_1 : AddTransformer()\n", - "FeatureSetSelector_1 : FeatureSetSelector(name='84', sel_subset=[84])\n" - ] - } - ], - "source": [ - "# print all hyperparameters\n", - "for n in est.fitted_pipeline_.graph.nodes:\n", - " print(n, \" : \", est.fitted_pipeline_.graph.nodes[n]['instance'])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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NXHiRD355JOlzjNjxgxNnz5dX331lYKDgxUeHq4ff/xR0i8Bon///urevbu+/PJLJSUl6fTp0xo6dKjDMd566y3Vq1dPu3bt0ooVK8qs75VXXtFLL72kF198Uf/9738VGhqqBx98UN99950k6dSpU+rYsaOmT5+uU6dO6ZlnnrnqtZZn3lJTUzV06FD96U9/0oEDBzRv3jxFR0frzTfftPcZO3asMjMz9emnn2rjxo1avny5cnJyHI7zxz/+UTk5Ofr444+VmpqqHj16aMCAATp79qwkaeTIkWrRooVSUlKUmpqqqKgo1a1b96q1A79ZBgBUkDFjxhgPPfSQYRiG0bt3b+Oxxx4zDMMwNm3aZPzf/9zExMQYXbt2dRj78ssvG61atXI4VqtWrYzi4mJ7W7t27Yy77rrL/r6oqMioX7++8Y9//MMwDMM4duyYIcmIi4uz97l8+bLRokUL4/nnnzcMwzAWLlxoDBw40OHcmZmZhiTjyJEjhmEYxj333GN07979utfbrFkzY9GiRQ5td955p/HUU0/Z33ft2tWIiYm55nHKO28jRowwfv/73zuMnTFjhhEQEGAYhmEcOXLEkGTs27fP/vmhQ4cMScbLL79sGIZh/Oc//zE8PT2NixcvOhyndevWxsqVKw3DMAwPDw/jzTffvM7VA2AlCkCleP755/XWW2/p0KFDpo/RsWNHubj873+mfH191blzZ/t7q9WqRo0alVppCQ4Otv/fderUUWBgoL2O/fv369NPP9Wtt95qf7Vv317SL/uXrujZs+c1a7PZbMrKylLfvn0d2vv27XtT13yteTt06FCZ5/vuu+9UXFysQ4cOqU6dOg61t2/fXrfddpv9/f79+3XhwgU1atTIYQ6OHTtmv/7IyEiNHz9eISEhiouLc5gXAP+LEAWgUtx9990KDQ3VzJkzS33m4uIiwzAc2i5fvlyq369vIVksljLbSkpKyl3XhQsXFB4ervT0dIfXd999p7vvvtver379+uU+ZkW61rxVhAsXLqhp06alrv/IkSOaMWOGpF/2rH399dcKCwvT9u3bFRAQoE2bNlVKPUBNVsfZBQCoveLi4tStWze1a9fOod3b21vZ2dkyDMP+J/wV+WynL774wh6IioqKlJqaqkmTJkmSevTooffee0/+/v6qU8f8fwI9PT3VrFkz7dq1S/fcc4+9fdeuXerVq9dN1X+1eevQoYN27drl0LZr1y61bdtWVqtV7du3t1/vnXfeKUk6cuSIzp07Z+/fo0cPZWdnq06dOg4b+X+tbdu2atu2raZNm6bhw4drzZo1evjhh2/quoDahpUoAJWmc+fOGjlypP761786tN977706c+aMXnjhBX3//fdatmyZPv744wo777Jly7Rp0yYdPnxYERER+umnn/TYY49JkiIiInT27FkNHz5cKSkp+v777/Wvf/1L48aNU3Fx8Q2dZ8aMGXr++eeVmJioI0eOKCoqSunp6ZoyZcpN1X+1eZs+fbqSk5O1cOFCffvtt3rrrbe0dOlS+4b1du3aadCgQXryySe1d+9epaamavz48XJ3d7cfIyQkRMHBwRoyZIg++eQTHT9+XLt379bs2bP15Zdf6ueff9akSZO0Y8cO/fDDD9q1a5dSUlLUoUOHm7omoDYiRAGoVAsWLCh1u61Dhw5avny5li1bpq5du2rfvn3X/Mu1GxUXF6e4uDh17dpVn3/+uTZv3qzGjRtLkn31qLi4WAMHDlTnzp01depU3XbbbQ77r8rj6aefVmRkpKZPn67OnTsrKSlJmzdvVps2bW76Gsqatx49euidd97Rhg0b1KlTJ82dO1cLFizQ2LFj7X3WrFmjZs2a6Z577tEjjzyiCRMmyMfHx/65xWLR1q1bdffdd2vcuHFq27at/vSnP+mHH36Qr6+vrFarfvzxR40ePVpt27bV0KFDdf/992v+/Pk3fU1AbWMxfr0xAQAAANfFShQAAIAJhCgAAAATCFEAAAAmEKIAAABMIEQBAACYQIgCAAAwgRAFAABgAiEKAADABEIUAACACYQoAAAAEwhRAAAAJvw/WnYg5rhg4zYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pareto_front = est.evaluated_individuals[est.evaluated_individuals['Pareto_Front'] == 1]\n", - "\n", - "#plot the pareto front of number_of_leaves_objective vs roc_auc_score\n", - "import matplotlib.pyplot as plt\n", - "plt.scatter(pareto_front['number_of_nodes_objective'], pareto_front['roc_auc_score'])\n", - "plt.xlabel('Number of Nodes')\n", - "plt.ylabel('roc_auc_score')\n", - "plt.show()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Symbolic Regression" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 20/20 [00:09<00:00, 2.09it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-4348.811587281301\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import tpot2\n", - "import sklearn.datasets\n", - "\n", - "scorer = sklearn.metrics.get_scorer('neg_mean_squared_error')\n", - "X, y = sklearn.datasets.load_diabetes(return_X_y=True)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space(\"SGDRegressor\"),\n", - " leaf_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=X_train.shape[1]), \n", - " inner_search_space = tpot2.config.get_search_space([\"arithmatic\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=20, \n", - " scorers=['neg_mean_squared_error'],\n", - " scorers_weights=[1],\n", - " other_objective_functions=[tpot2.objectives.number_of_nodes_objective],\n", - " other_objective_functions_weights=[-1],\n", - " n_jobs=32,\n", - " classification=False,\n", - " search_space = graph_search_space ,\n", - " verbose=2,\n", - " )\n", - "\n", - "\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))\n", - "est.fitted_pipeline_.plot()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "SGDRegressor_1 : SGDRegressor(alpha=6.014583593220849e-05, epsilon=2.109266488257155e-05,\n", - " eta0=0.06363149574923024, l1_ratio=2.519434640584705e-06,\n", - " learning_rate='constant', loss='squared_epsilon_insensitive',\n", - " penalty='elasticnet')\n", - "FeatureSetSelector_1 : FeatureSetSelector(name='8', sel_subset=[8])\n", - "FeatureSetSelector_2 : FeatureSetSelector(name='2', sel_subset=[2])\n", - "FeatureSetSelector_3 : FeatureSetSelector(name='9', sel_subset=[9])\n", - "GTTransformer_1 : GTTransformer()\n", - "LTTransformer_1 : LTTransformer()\n", - "LTTransformer_2 : LTTransformer()\n", - "FeatureSetSelector_4 : FeatureSetSelector(name='1', sel_subset=[1])\n", - "MaxTransformer_1 : MaxTransformer()\n" - ] - } - ], - "source": [ - "# print all hyperparameters\n", - "for n in est.fitted_pipeline_.graph.nodes:\n", - " print(n, \" : \", est.fitted_pipeline_.graph.nodes[n]['instance'])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAGwCAYAAABmTltaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+GUlEQVR4nO3deXSU5f3//9ckgUwIYWTJKluAQIAEQwAhkIrUaFgK5Nu6IdQiWJCibJElyA6yFlRERepRUESQghEVEYyWVojsi5FFRLZCAlogIQiRJPfvD37Mx2mA5h4mmRnyfJwzB+7ruuae9zUemde572uusRiGYQgAAACl5uPuAgAAALwNAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACY5OfuAm5HxcXFOnXqlIKCgmSxWNxdDgAAKAXDMHThwgVFRETIx+fm15gIUGXg1KlTqlOnjrvLAAAATjhx4oRq16590zEEqDIQFBQk6ep/gGrVqrm5GgAAUBp5eXmqU6eO/XP8ZghQZeDabbtq1aoRoAAA8DKlWX7DInIAAACTCFAAAAAmeU2A6tGjh+rWrSur1arw8HD98Y9/1KlTp+z9R48elcViKfH4+uuvHc6zcuVKRUdHy2q1KjY2VmvXrnXoNwxDEyZMUHh4uAICApSUlKRDhw6VyxwBAIB38JoA1alTJ73//vs6ePCgVq1apcOHD+vBBx8sMe7zzz9Xdna2/dGqVSt73+bNm9WrVy/1799fu3btUkpKilJSUpSVlWUfM3v2bM2fP18LFy7Uli1bFBgYqOTkZF2+fLlc5gkAADyfxTAMw91FOGPNmjVKSUlRQUGBKlWqpKNHjyoyMlK7du1SXFzcdZ/zyCOP6OLFi/r444/tbe3atVNcXJwWLlwowzAUERGh1NRUPfvss5Kk3NxchYaGavHixXr00Ueve96CggIVFBTYj6+t4s/NzWUROQAAXiIvL082m61Un99ecwXq186ePat3331X7du3V6VKlRz6evTooZCQECUmJmrNmjUOfZmZmUpKSnJoS05OVmZmpiTpyJEjysnJcRhjs9nUtm1b+5jrmTFjhmw2m/3BHlAAANzevCpAjR49WoGBgapZs6aOHz+uDz/80N5XtWpVzZ07VytXrtQnn3yixMREpaSkOISonJwchYaGOpwzNDRUOTk59v5rbTcacz1paWnKzc21P06cOHHLcwUAAJ7LrQFqzJgx1134/evHgQMH7ONHjhypXbt2af369fL19dXjjz+ua3cga9WqpREjRqht27Zq06aNZs6cqT59+mjOnDllPg9/f3/7nk/s/QQAwO3PrRtppqamqm/fvjcd06BBA/vfa9WqpVq1aqlx48Zq2rSp6tSpo6+//loJCQnXfW7btm21YcMG+3FYWJhOnz7tMOb06dMKCwuz919rCw8Pdxhzo3VVAACg4nFrgAoODlZwcLBTzy0uLpYkh8Xb/2337t0OQSghIUEZGRkaNmyYvW3Dhg32ABYZGamwsDBlZGTYA1NeXp62bNmiQYMGOVUnAABwjaJiQ1uPnNWZC5cVEmTV3ZE15Ovzv3cNLwte8VMuW7Zs0bZt25SYmKjq1avr8OHDGj9+vBo2bGgPP0uWLFHlypXVsmVLSdLq1av15ptv6o033rCfZ+jQoerYsaPmzp2rbt26afny5dq+fbsWLVok6erW7cOGDdO0adMUFRWlyMhIjR8/XhEREUpJSSn3eQMAgKvWZWVr8kf7lJ37f9sKhdusmti9mTrHhN/kmWXDKwJUlSpVtHr1ak2cOFEXL15UeHi4OnfurHHjxsnf398+burUqTp27Jj8/PwUHR2tFStWOOwV1b59ey1btkzjxo3T2LFjFRUVpfT0dMXExNjHjBo1ShcvXtSAAQN0/vx5JSYmat26dbJareU6ZwAAcNW6rGwNWrpT/73vUk7uZQ1aulOv9Ykv9xDltftAeTIz+0gAAIAbKyo2lDjrC4crT79mkRRms+qr0b+95dt5t/0+UAAAoGLYeuTsDcOTJBmSsnMva+uRs+VXlAhQAADAg525ULqfUivtOFchQAEAAI8VElS6NcilHecqBCgAAOCx7o6soXCbVTda3WTR1W/j3R1ZozzLIkABAADP5etj0cTuzSSpRIi6djyxe7Ny3w+KAAUAADxa55hwvdYnXmE2x9t0YTarW7YwkLxkHygAAFCxdY4J1/3NwtiJHAAAwAxfH4sSGtZ0dxmSuIUHAABgGgEKAADAJAIUAACASQQoAAAAkwhQAAAAJhGgAAAATCJAAQAAmESAAgAAMIkABQAAYBIBCgAAwCQCFAAAgEkEKAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQAAAAJvm5uwAAAEqrqNjQ1iNndebCZYUEWXV3ZA35+ljcXRYqIAIUAMArrMvK1uSP9ik797K9Ldxm1cTuzdQ5JtyNlaEi4hYeAMDjrcvK1qClOx3CkyTl5F7WoKU7tS4r202VoaIiQAEAPFpRsaHJH+2TcZ2+a22TP9qnouLrjQDKBgEKALxEUbGhzMP/0Ye7Tyrz8H8qTGDYeuRsiStPv2ZIys69rK1HzpZfUajwWAMFAF6gIq//OXPhxuHJmXGAK3AFCgA8XEVf/xMSZHXpOMAVCFAA4MFY/yPdHVlD4TarbrRZgUVXr8bdHVmjPMtCBUeAAgAPxvofydfHoondm0lSiRB17Xhi92bsB4VyRYACAA/G+p+rOseE67U+8QqzOd6mC7NZ9Vqf+Nt+HRg8D4vIAcCDsf7n/3SOCdf9zcLYiRwegQAFAB7s2vqfnNzL110HZdHVqzAVZf2Pr49FCQ1rursMgFt4AODJWP8DeCYCFAB4ONb/AJ6HW3gA4AVY/wN4FgIUAHgJ1v8AnoNbeAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTvC5AFRQUKC4uThaLRbt373bo27t3r37zm9/IarWqTp06mj17donnr1y5UtHR0bJarYqNjdXatWsd+g3D0IQJExQeHq6AgAAlJSXp0KFDZTklAADgZbwuQI0aNUoREREl2vPy8vTAAw+oXr162rFjh+bMmaNJkyZp0aJF9jGbN29Wr1691L9/f+3atUspKSlKSUlRVlaWfczs2bM1f/58LVy4UFu2bFFgYKCSk5N1+fLlcpkfAADwfBbDMAx3F1Fan376qUaMGKFVq1apefPm2rVrl+Li4iRJr732mp577jnl5OSocuXKkqQxY8YoPT1dBw4ckCQ98sgjunjxoj7++GP7Odu1a6e4uDgtXLhQhmEoIiJCqampevbZZyVJubm5Cg0N1eLFi/Xoo4+Wqs68vDzZbDbl5uaqWrVqLnwHUJEVFRv8DhoAlCEzn99e81t4p0+f1p///Gelp6erSpUqJfozMzN1zz332MOTJCUnJ2vWrFk6d+6cqlevrszMTI0YMcLhecnJyUpPT5ckHTlyRDk5OUpKSrL322w2tW3bVpmZmTcMUAUFBSooKLAf5+Xl3cpUgRLWZWVr8kf7lJ37f1dCw21WTezeTJ1jwt1YGQBUTF5xC88wDPXt21dPPfWUWrdufd0xOTk5Cg0NdWi7dpyTk3PTMb/u//XzrjfmembMmCGbzWZ/1KlTx8TsgJtbl5WtQUt3OoQnScrJvaxBS3dqXVa2myoDgIrLrQFqzJgxslgsN30cOHBAL7/8si5cuKC0tDR3lntDaWlpys3NtT9OnDjh7pJwmygqNjT5o3263n32a22TP9qnomKvuRMPALcFt97CS01NVd++fW86pkGDBvriiy+UmZkpf39/h77WrVurd+/eWrJkicLCwnT69GmH/mvHYWFh9j+vN+bX/dfawsPDHcZcW2t1Pf7+/iVqA1xh65GzJa48/ZohKTv3srYeOauEhjXLrzAAqODcGqCCg4MVHBz8P8fNnz9f06ZNsx+fOnVKycnJWrFihdq2bStJSkhI0HPPPacrV66oUqVKkqQNGzaoSZMmql69un1MRkaGhg0bZj/Xhg0blJCQIEmKjIxUWFiYMjIy7IEpLy9PW7Zs0aBBg1wxZcCUMxdK9+3P0o4DALiGVywir1u3rsNx1apVJUkNGzZU7dq1JUmPPfaYJk+erP79+2v06NHKysrSSy+9pBdeeMH+vKFDh6pjx46aO3euunXrpuXLl2v79u32rQ4sFouGDRumadOmKSoqSpGRkRo/frwiIiKUkpJSPpMFfiUkyOrScQAA1/CKAFUaNptN69ev1+DBg9WqVSvVqlVLEyZM0IABA+xj2rdvr2XLlmncuHEaO3asoqKilJ6erpiYGPuYUaNG6eLFixowYIDOnz+vxMRErVu3TlYrH1Aof3dH1lC4zaqc3MvXXQdlkRRmu7qlAQCg/HjVPlDegn2g4ErXvoUnySFEXdsB6rU+8WxlAAAuYObz2yu2MQAqss4x4XqtT7zCbI5XQcNsVsITALjJbXMLD7iddY4J1/3NwtiJHAA8BAEK8BK+Pha2KgAAD8EtPAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJbKQJr1FUbLATNwDAI5gOUIWFhZo+fbr69eun2rVrl0VNQAnrsrI1+aN9ys69bG8Lt1k1sXszfgsOAFDuTN/C8/Pz05w5c1RYWFgW9QAlrMvK1qClOx3CkyTl5F7WoKU7tS4r202VAQAqKqfWQP32t7/Vxo0bXV0LUEJRsaHJH+2TcZ2+a22TP9qnouLrjQAAoGw4tQaqS5cuGjNmjL755hu1atVKgYGBDv09evRwSXHA1iNnS1x5+jVDUnbuZW09cpYf2gUAlBunAtRf/vIXSdK8efNK9FksFhUVFd1aVcD/78yFG4cnZ8YBAOAKTgWo4uJiV9cBXFdIkNWl4wAAcAX2gYJHuzuyhsJtVt1oswKLrn4b7+7IGuVZFgCggnM6QG3cuFHdu3dXo0aN1KhRI/Xo0UP/+te/XFkbIF8fiyZ2byZJJULUteOJ3ZuxHxQAoFw5FaCWLl2qpKQkValSRUOGDNGQIUMUEBCg++67T8uWLXN1jajgOseE67U+8QqzOd6mC7NZ9VqfePaBAgCUO4thGKa//920aVMNGDBAw4cPd2ifN2+e/va3v2n//v0uK9Ab5eXlyWazKTc3V9WqVXN3ObcNdiIHAJQlM5/fTgUof39/ffvtt2rUqJFD+/fff6+YmBhdvlyxvxFFgAIAwPuY+fx26hZenTp1lJGRUaL9888/V506dZw5JQAAgNdwahuD1NRUDRkyRLt371b79u0lSZs2bdLixYv10ksvubRAAAAAT+NUgBo0aJDCwsI0d+5cvf/++5KurotasWKFevbs6dICAQAAPI3pAFVYWKjp06erX79++uqrr8qiJgAAAI9meg2Un5+fZs+ercLCwrKoBwAAwOM5tYj8vvvu08aNG11dCwAAgFdwag1Uly5dNGbMGH3zzTdq1aqVAgMDHfp79OjhkuIAAAA8kVP7QPn43PjClcViUVFR0S0V5e3YBwoAAO9j5vPbqStQxcXFThUGAABwOzC9BurKlSvy8/NTVlZWWdQDAADg8UwHqEqVKqlu3boV/jYdAACouJz6Ft5zzz2nsWPH6uzZs66uBwAAwOM5tQZqwYIF+v777xUREaF69eqV+Bbezp07XVIcAACAJ3IqQKWkpLi4DAAAAO/h1DYGuDm2MQAAwPuY+fx2ag2UJJ0/f15vvPGG0tLS7Guhdu7cqZMnTzp7SgAAAK/g1C28vXv3KikpSTabTUePHtWf//xn1ahRQ6tXr9bx48f19ttvu7pOAAAAj+HUFagRI0aob9++OnTokKxWq729a9eu+uc//+my4gAAADyRUwFq27ZtGjhwYIn2O++8Uzk5ObdcFAAAgCdzKkD5+/srLy+vRPt3332n4ODgWy4KAADAkzkVoHr06KEpU6boypUrkq7+gPDx48c1evRo/eEPf3BpgQAAAJ7GqQA1d+5c5efnKyQkRJcuXVLHjh3VqFEjBQUF6fnnn3d1jQAAAB7FqW/h2Ww2bdiwQZs2bdKePXuUn5+v+Ph4JSUlubo+AAAAj1OmG2nGxsZq7dq1qlOnTlm9hEdiI00AALxPuWykWRpHjx61r5MCAAC4XZRpgAIAALgdEaAAAABMIkABAACYRIACAAAwiQAFAABgUpkGqNdff12hoaFl+RIAAADlrtQbac6fP7/UJx0yZIgk6bHHHjNfEQAAgIcr9UaakZGRDsc//vijfv75Z91xxx2SpPPnz6tKlSoKCQnRDz/84PJCvQkbaQIA4H3KZCPNI0eO2B/PP/+84uLitH//fp09e1Znz57V/v37FR8fr6lTp97yBAAAADyZUz/l0rBhQ/39739Xy5YtHdp37NihBx98UEeOHHFZgd6IK1AAAHifMv8pl+zsbBUWFpZoLyoq0unTp505JQAAgNdwKkDdd999GjhwoHbu3Glv27FjhwYNGqSkpCSXFQcAAOCJnApQb775psLCwtS6dWv5+/vL399fd999t0JDQ/XGG2+4ukYAAACPUuptDH4tODhYa9eu1XfffacDBw5IkqKjo9W4cWOXFgcAAOCJbmkjzfr166tJkybq2rVruYWngoICxcXFyWKxaPfu3fb2o0ePymKxlHh8/fXXDs9fuXKloqOjZbVaFRsbq7Vr1zr0G4ahCRMmKDw8XAEBAUpKStKhQ4fKY2oAAMBLOBWgfv75Z/Xv319VqlRR8+bNdfz4cUnSM888o5kzZ7q0wP82atQoRURE3LD/888/V3Z2tv3RqlUre9/mzZvVq1cv9e/fX7t27VJKSopSUlKUlZVlHzN79mzNnz9fCxcu1JYtWxQYGKjk5GRdvny5TOcFAAC8h1MBKi0tTXv27NE//vEPWa1We3tSUpJWrFjhsuL+26effqr169frr3/96w3H1KxZU2FhYfZHpUqV7H0vvfSSOnfurJEjR6pp06aaOnWq4uPjtWDBAklXrz69+OKLGjdunHr27KkWLVro7bff1qlTp5Senn7D1ywoKFBeXp7DAwAA3L6cClDp6elasGCBEhMTZbFY7O3NmzfX4cOHXVbcr50+fVp//vOf9c4776hKlSo3HNejRw+FhIQoMTFRa9ascejLzMws8S3B5ORkZWZmSrq6WWhOTo7DGJvNprZt29rHXM+MGTNks9nsjzp16jgzRQAA4CWcClA//vijQkJCSrRfvHjRIVC5imEY6tu3r5566im1bt36umOqVq2quXPnauXKlfrkk0+UmJiolJQUhxCVk5NT4seNQ0NDlZOTY++/1najMdeTlpam3Nxc++PEiRNOzRMAAHgHp76F17p1a33yySd65plnJMkemt544w0lJCSU+jxjxozRrFmzbjpm//79Wr9+vS5cuKC0tLQbjqtVq5ZGjBhhP27Tpo1OnTqlOXPmqEePHqWuyRnXtnIAAAAVg1MBavr06erSpYv27dunwsJCvfTSS9q3b582b96sjRs3lvo8qamp6tu3703HNGjQQF988YUyMzNLhJTWrVurd+/eWrJkyXWf27ZtW23YsMF+HBYWVmKn9NOnTyssLMzef60tPDzcYUxcXFxppwUAAG5zTgWoxMRE7dmzRzNmzFBsbKzWr1+v+Ph4ZWZmKjY2ttTnCQ4OVnBw8P8cN3/+fE2bNs1+fOrUKSUnJ2vFihVq27btDZ+3e/duhyCUkJCgjIwMDRs2zN62YcMG+1WzyMhIhYWFKSMjwx6Y8vLytGXLFg0aNKjU8wIAALc30wHqypUrGjhwoMaPH6+//e1vZVFTCXXr1nU4rlq1qqSrP2pcu3ZtSdKSJUtUuXJl+w8cr169Wm+++abDzuhDhw5Vx44dNXfuXHXr1k3Lly/X9u3btWjRIklXb0UOGzZM06ZNU1RUlCIjIzV+/HhFREQoJSWlHGYKAAC8gekAValSJa1atUrjx48vi3puydSpU3Xs2DH5+fkpOjpaK1as0IMPPmjvb9++vZYtW6Zx48Zp7NixioqKUnp6umJiYuxjRo0apYsXL2rAgAE6f/68EhMTtW7dOoftGgAAQMVmMQzDMPukP/3pT4qLi9Pw4cPLoiavl5eXJ5vNptzcXFWrVs3d5QAAgFIw8/nt1BqoqKgoTZkyRZs2bVKrVq0UGBjo0D9kyBBnTgsAAOAVnLoCFRkZeeMTWiz64Ycfbqkob8cVKAAAvE+ZX4E6cuSIU4UBAADcDpzaiRwAAKAic+oKlCT9+9//1po1a3T8+HH98ssvDn3z5s275cIAAAA8lVMBKiMjQz169FCDBg104MABxcTE6OjRozIMQ/Hx8a6uEQAAwKM4dQsvLS1Nzz77rL755htZrVatWrVKJ06cUMeOHfXQQw+5ukYAAACP4lSA2r9/vx5//HFJkp+fny5duqSqVatqypQp//PHgQEAALydUwEqMDDQvu4pPDxchw8ftvf99NNPrqkMAADAQzm1Bqpdu3b66quv1LRpU3Xt2lWpqan65ptvtHr1arVr187VNQIAAHgUpwLUvHnzlJ+fL0maPHmy8vPztWLFCkVFRfENPAAAcNtzaidy3Bw7kQMA4H3MfH6zkSYAAIBJTt3C8/HxkcViuWF/UVGR0wUBAAB4OqcC1AcffOBwfOXKFe3atUtLlizR5MmTXVIYAACAp3LpGqhly5ZpxYoV+vDDD111Sq/EGigAALyP29ZAtWvXThkZGa48JQAAgMdxWYC6dOmS5s+frzvvvNNVpwQAAPBITq2Bql69usMicsMwdOHCBVWpUkVLly51WXEAAACeyKkA9cILLzgEKB8fHwUHB6tt27aqXr26y4oDAADwRE4FqL59+7q4DAAAAO/hVIDau3dvqce2aNHCmZcAAADwWE4FqLi4uJtupCldXRdlsVjYVBMAANx2nPoW3urVqxUZGalXX31Vu3bt0q5du/Tqq6+qYcOGWrVqlX744QcdOXJEP/zwg6vrBQAAcDunrkBNnz5d8+fPV9euXe1tLVq0UJ06dTR+/Hjt2LHDZQUCAAB4GqeuQH3zzTeKjIws0R4ZGal9+/bdclEAAACezKkA1bRpU82YMUO//PKLve2XX37RjBkz1LRpU5cVBwAA4ImcuoW3cOFCde/eXbVr17Z/y27v3r2yWCz66KOPXFogAACAp3H6x4QvXryod999VwcOHJB09arUY489psDAQJcW6I34MWEAALyPmc9vp65ASVJgYKAGDBjg7NMBAAC8llNroJYsWaJPPvnEfjxq1Cjdcccdat++vY4dO+ay4gAAADyRUwFq+vTpCggIkCRlZmZqwYIFmj17tmrVqqXhw4e7tEAAAABP49QtvBMnTqhRo0aSpPT0dD344IMaMGCAOnTooHvvvdeV9QEAAHgcp65AVa1aVf/5z38kSevXr9f9998vSbJarbp06ZLrqgMAAPBATl2Buv/++/Xkk0+qZcuW+u677+w7kn/77beqX7++K+sDAADwOE5dgXrllVeUkJCgH3/8UatWrVLNmjUlSTt27FCvXr1cWiAAAICncXofqNL4y1/+oilTpqhWrVpl9RIeiX2gAADwPmY+v526AlVaS5cuVV5eXlm+BAAAQLkr0wBVhhe3AAAA3KZMAxQAAMDtiAAFAABgEgEKAADAJAIUAACASWUaoPr06cPX+AEAwG3HqZ3IJen8+fPaunWrzpw5o+LiYoe+xx9/XJL02muv3Vp1AAAAHsipAPXRRx+pd+/eys/PV7Vq1WSxWOx9FovFHqAAAABuR07dwktNTVW/fv2Un5+v8+fP69y5c/bH2bNnXV0jAACAR3EqQJ08eVJDhgxRlSpVXF0PAACAx3MqQCUnJ2v79u2urgUAAMArOLUGqlu3bho5cqT27dun2NhYVapUyaG/R48eLikOAADAE1kMJ36wzsfnxheuLBaLioqKbqkob2fm15wBAIBnMPP57dQVqP/etgAAAKAiYSdyAAAAk5zeSPPixYvauHGjjh8/rl9++cWhb8iQIbdcGAAAgKdyKkDt2rVLXbt21c8//6yLFy+qRo0a+umnn1SlShWFhIQQoAAAwG3NqVt4w4cPV/fu3XXu3DkFBATo66+/1rFjx9SqVSv99a9/dXWNAAAAHsWpALV7926lpqbKx8dHvr6+KigoUJ06dTR79myNHTvW1TUCAAB4FKcCVKVKlexbGYSEhOj48eOSJJvNphMnTriuOgAAAA/k1Bqoli1batu2bYqKilLHjh01YcIE/fTTT3rnnXcUExPj6hoBAAA8ilNXoKZPn67w8HBJ0vPPP6/q1atr0KBB+vHHH7Vo0SKXFggAAOBpnNqJHDfHTuQAAHgfM5/fTm+kWVhYqM8//1yvv/66Lly4IEk6deqU8vPznT3lTdWvX18Wi8XhMXPmTIcxe/fu1W9+8xtZrVb7ovb/tnLlSkVHR8tqtSo2NlZr16516DcMQxMmTFB4eLgCAgKUlJSkQ4cOlcmcAACAd3IqQB07dkyxsbHq2bOnBg8erB9//FGSNGvWLD377LMuLfDXpkyZouzsbPvjmWeesffl5eXpgQceUL169bRjxw7NmTNHkyZNcriluHnzZvXq1Uv9+/fXrl27lJKSopSUFGVlZdnHzJ49W/Pnz9fChQu1ZcsWBQYGKjk5WZcvXy6zeQEAAC9jOKFnz55Gnz59jIKCAqNq1arG4cOHDcMwjC+//NJo1KiRM6f8n+rVq2e88MILN+x/9dVXjerVqxsFBQX2ttGjRxtNmjSxHz/88MNGt27dHJ7Xtm1bY+DAgYZhGEZxcbERFhZmzJkzx95//vx5w9/f33jvvfdKXWtubq4hycjNzS31cwAAgHuZ+fx26grUv/71L40bN06VK1d2aK9fv75Onjzpglh3fTNnzlTNmjXVsmVLzZkzR4WFhfa+zMxM3XPPPQ41JScn6+DBgzp37px9TFJSksM5k5OTlZmZKUk6cuSIcnJyHMbYbDa1bdvWPuZ6CgoKlJeX5/AAAAC3L6e2MSguLlZRUVGJ9n//+98KCgq65aKuZ8iQIYqPj1eNGjW0efNmpaWlKTs7W/PmzZMk5eTkKDIy0uE5oaGh9r7q1asrJyfH3vbrMTk5OfZxv37e9cZcz4wZMzR58uRbmyAAAPAaTl2BeuCBB/Tiiy/ajy0Wi/Lz8zVx4kR17dq11OcZM2ZMiYXh//04cOCAJGnEiBG699571aJFCz311FOaO3euXn75ZRUUFDgzBZdKS0tTbm6u/cFmogAA3N6cugI1d+5cJScnq1mzZrp8+bIee+wxHTp0SLVq1dJ7771X6vOkpqaqb9++Nx3ToEGD67a3bdtWhYWFOnr0qJo0aaKwsDCdPn3aYcy147CwMPuf1xvz6/5rbdf2ubp2HBcXd8Ma/f395e/vf9N5AACA24dTAap27dras2ePli9frr179yo/P1/9+/dX7969FRAQUOrzBAcHKzg42JkStHv3bvn4+CgkJESSlJCQoOeee05XrlxRpUqVJEkbNmxQkyZNVL16dfuYjIwMDRs2zH6eDRs2KCEhQZIUGRmpsLAwZWRk2ANTXl6etmzZokGDBjlVJwAAuP04FaAkyc/PT3369HFlLTeUmZmpLVu2qFOnTgoKClJmZqaGDx+uPn362MPRY489psmTJ6t///4aPXq0srKy9NJLL+mFF16wn2fo0KHq2LGj5s6dq27dumn58uXavn27fasDi8WiYcOGadq0aYqKilJkZKTGjx+viIgIpaSklMtcAQCA53M6QJ06dUpfffWVzpw5o+LiYoe+IUOG3HJhv+bv76/ly5dr0qRJKigoUGRkpIYPH64RI0bYx9hsNq1fv16DBw9Wq1atVKtWLU2YMEEDBgywj2nfvr2WLVumcePGaezYsYqKilJ6errD7/eNGjVKFy9e1IABA3T+/HklJiZq3bp1slqtLp0TAADwXk79lMvixYs1cOBAVa5cWTVr1pTFYvm/E1os+uGHH1xapLfhp1wAAPA+Zj6/nQpQderU0VNPPaW0tDT5+Dj9azC3LQIUAADep8x/C+/nn3/Wo48+SngCAAAVklMJqH///lq5cqWrawEAAPAKTt3CKyoq0u9+9ztdunRJsbGx9m0Drrm2O3hFxS08AAC8j5nPb6e+hTdjxgx99tlnatKkiSSVWEQOAABwO3N6J/I333zzf+4iDgAAcDtyag2Uv7+/OnTo4OpaAAAAvIJTAWro0KF6+eWXXV0LAACAV3DqFt7WrVv1xRdf6OOPP1bz5s1LLCJfvXq1S4oDAADwRE4FqDvuuEO///3vXV0LAACAV3AqQL311lulGrdp0ya1bt1a/v7+zrwMAACARyrTrcS7dOmikydPluVLAAAAlLsyDVBO7NEJAADg8fgxOwAAAJMIUAAAACYRoAAAAEwq0wDF7+IBAIDbEYvIAQAATHJqH6jSunDhQlmeHgAAwC2cClAtW7a87u05i8Uiq9WqRo0aqW/fvurUqdMtFwgAAOBpnLqF17lzZ/3www8KDAxUp06d1KlTJ1WtWlWHDx9WmzZtlJ2draSkJH344YeurhcAAMDtnLoC9dNPPyk1NVXjx493aJ82bZqOHTum9evXa+LEiZo6dap69uzpkkIBAAA8hcVwYqW3zWbTjh071KhRI4f277//Xq1atVJubq4OHDigNm3aVMh1UHl5ebLZbMrNzVW1atXcXQ4AACgFM5/fTt3Cs1qt2rx5c4n2zZs3y2q1SpKKi4vtfwcAALidOHUL75lnntFTTz2lHTt2qE2bNpKkbdu26Y033tDYsWMlSZ999pni4uJcVigAAICncOoWniS9++67WrBggQ4ePChJatKkiZ555hk99thjkqRLly7Zv5VX0XALDwAA72Pm89vpAIUbI0ABAOB9ynwNlCSdP3/efsvu7NmzkqSdO3fq5MmTzp4SAADAKzi1Bmrv3r1KSkqSzWbT0aNH9eSTT6pGjRpavXq1jh8/rrffftvVdQIAAHgMp65AjRgxQn379tWhQ4cc1jh17dpV//znP11WHAAAgCdyKkBt27ZNAwcOLNF+5513Kicn55aLAgAA8GROBSh/f3/l5eWVaP/uu+8UHBx8y0UBAAB4MqcCVI8ePTRlyhRduXJF0tUfET5+/LhGjx6tP/zhDy4tEAAAwNM4FaDmzp2r/Px8hYSE6NKlS+rYsaMaNWqkqlWr6vnnn3d1jQAAAB7FqW/h2Ww2bdiwQZs2bdKePXuUn5+v+Ph4JSUlubo+AAAAj+P0RpoZGRnKyMjQmTNnVFxc7ND35ptvuqQ4b8VGmgAAeB8zn99OXYGaPHmypkyZotatWys8PFwWi8WpQgEAALyRUwFq4cKFWrx4sf74xz+6uh4AAACP59Qi8l9++UXt27d3dS0AAABewakA9eSTT2rZsmWurgUAAMArOHUL7/Lly1q0aJE+//xztWjRQpUqVXLonzdvnkuKAwAA8ERO/5hwXFycJCkrK8uhjwXlAADgdudUgPryyy9dXQcAAIDXcGoNFAAAQEVGgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQAAAAJhGgAAAATCJAAQAAmESAAgAAMIkABQAAYJLXBKj69evLYrE4PGbOnGnvP3r0aIl+i8Wir7/+2uE8K1euVHR0tKxWq2JjY7V27VqHfsMwNGHCBIWHhysgIEBJSUk6dOhQucwRAAB4B68JUJI0ZcoUZWdn2x/PPPNMiTGff/65w5hWrVrZ+zZv3qxevXqpf//+2rVrl1JSUpSSkqKsrCz7mNmzZ2v+/PlauHChtmzZosDAQCUnJ+vy5cvlMkcAAOD5/NxdgBlBQUEKCwu76ZiaNWvecMxLL72kzp07a+TIkZKkqVOnasOGDVqwYIEWLlwowzD04osvaty4cerZs6ck6e2331ZoaKjS09P16KOPXve8BQUFKigosB/n5eU5Mz0AAOAlvOoK1MyZM1WzZk21bNlSc+bMUWFhYYkxPXr0UEhIiBITE7VmzRqHvszMTCUlJTm0JScnKzMzU5J05MgR5eTkOIyx2Wxq27atfcz1zJgxQzabzf6oU6fOrUwTAAB4OK+5AjVkyBDFx8erRo0a2rx5s9LS0pSdna158+ZJkqpWraq5c+eqQ4cO8vHx0apVq5SSkqL09HT16NFDkpSTk6PQ0FCH84aGhionJ8fef63tRmOuJy0tTSNGjLAf5+XlEaIAALiNuTVAjRkzRrNmzbrpmP379ys6OtohoLRo0UKVK1fWwIEDNWPGDPn7+6tWrVoOY9q0aaNTp05pzpw59gBVVvz9/eXv71+mrwEAADyHWwNUamqq+vbte9MxDRo0uG5727ZtVVhYqKNHj6pJkyY3HLNhwwb7cVhYmE6fPu0w5vTp0/Y1U9f+PH36tMLDwx3GxMXF/a/pAACACsKtASo4OFjBwcFOPXf37t3y8fFRSEjITcf8OgglJCQoIyNDw4YNs7dt2LBBCQkJkqTIyEiFhYUpIyPDHpjy8vK0ZcsWDRo0yKk6AQDA7ccr1kBlZmZqy5Yt6tSpk4KCgpSZmanhw4erT58+ql69uiRpyZIlqly5slq2bClJWr16td5880298cYb9vMMHTpUHTt21Ny5c9WtWzctX75c27dv16JFiyRJFotFw4YN07Rp0xQVFaXIyEiNHz9eERERSklJKfd5AwAAz+QVAcrf31/Lly/XpEmTVFBQoMjISA0fPtxhzZN0dVuCY8eOyc/PT9HR0VqxYoUefPBBe3/79u21bNkyjRs3TmPHjlVUVJTS09MVExNjHzNq1ChdvHhRAwYM0Pnz55WYmKh169bJarWW23wBAIBnsxiGYbi7iNtNXl6ebDabcnNzVa1aNXeXAwAASsHM57dX7QMFAADgCQhQAAAAJhGgAAAATCJAAQAAmESAAgAAMIkABQAAYBIBCgAAwCQCFAAAgEkEKAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQAAAAJhGgAAAATCJAAQAAmESAAgAAMIkABQAAYBIBCgAAwCQCFAAAgEkEKAAAAJMIUAAAACYRoAAAAEwiQAEAAJhEgAIAADCJAAUAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAm+bm7AJReUbGhrUfO6syFywoJsuruyBry9bG4uywAACocApSXWJeVrckf7VN27mV7W7jNqondm6lzTLgbKwMAoOLhFp4XWJeVrUFLdzqEJ0nKyb2sQUt3al1WtpsqAwCgYiJAebiiYkOTP9on4zp919omf7RPRcXXGwEAAMoCAcrDbT1ytsSVp18zJGXnXtbWI2fLrygAACo4ApSHO3PhxuHJmXEAAODWEaA8XEiQ1aXjAADArSNAebi7I2so3GbVjTYrsOjqt/HujqxRnmUBAFChEaA8nK+PRRO7N5OkEiHq2vHE7s3YDwoAgHJEgPICnWPC9VqfeIXZHG/Thdmseq1PPPtAAQBQzthI00t0jgnX/c3C2IkcAAAPQIDyIr4+FiU0rOnuMgAAqPC4hQcAAGASAQoAAMAkAhQAAIBJBCgAAACTCFAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEjuRlwHDMCRJeXl5bq4EAACU1rXP7Wuf4zdDgCoDFy5ckCTVqVPHzZUAAACzLly4IJvNdtMxFqM0MQumFBcX69SpUwoKCpLF4tof+83Ly1OdOnV04sQJVatWzaXn9gbMv2LPX+I9qOjzl3gPmH/Zzd8wDF24cEERERHy8bn5KieuQJUBHx8f1a5du0xfo1q1ahXyf5xrmH/Fnr/Ee1DR5y/xHjD/spn//7rydA2LyAEAAEwiQAEAAJhEgPIy/v7+mjhxovz9/d1dilsw/4o9f4n3oKLPX+I9YP6eMX8WkQMAAJjEFSgAAACTCFAAAAAmEaAAAABMIkABAACYRIDyAjNmzFCbNm0UFBSkkJAQpaSk6ODBg+4uq1y99tpratGihX3jtISEBH366afuLsttZs6cKYvFomHDhrm7lHIzadIkWSwWh0d0dLS7yypXJ0+eVJ8+fVSzZk0FBAQoNjZW27dvd3dZ5aJ+/fol/vtbLBYNHjzY3aWVm6KiIo0fP16RkZEKCAhQw4YNNXXq1FL9btvt4sKFCxo2bJjq1aungIAAtW/fXtu2bXNLLexE7gU2btyowYMHq02bNiosLNTYsWP1wAMPaN++fQoMDHR3eeWidu3amjlzpqKiomQYhpYsWaKePXtq165dat68ubvLK1fbtm3T66+/rhYtWri7lHLXvHlzff755/ZjP7+K80/YuXPn1KFDB3Xq1EmffvqpgoODdejQIVWvXt3dpZWLbdu2qaioyH6clZWl+++/Xw899JAbqypfs2bN0muvvaYlS5aoefPm2r59u5544gnZbDYNGTLE3eWViyeffFJZWVl65513FBERoaVLlyopKUn79u3TnXfeWb7FGPA6Z86cMSQZGzdudHcpblW9enXjjTfecHcZ5erChQtGVFSUsWHDBqNjx47G0KFD3V1SuZk4caJx1113ubsMtxk9erSRmJjo7jI8xtChQ42GDRsaxcXF7i6l3HTr1s3o16+fQ9vvf/97o3fv3m6qqHz9/PPPhq+vr/Hxxx87tMfHxxvPPfdcudfDLTwvlJubK0mqUaOGmytxj6KiIi1fvlwXL15UQkKCu8spV4MHD1a3bt2UlJTk7lLc4tChQ4qIiFCDBg3Uu3dvHT9+3N0llZs1a9aodevWeuihhxQSEqKWLVvqb3/7m7vLcotffvlFS5cuVb9+/Vz+g+2erH379srIyNB3330nSdqzZ4+++uordenSxc2VlY/CwkIVFRXJarU6tAcEBOirr74q/4LKPbLhlhQVFRndunUzOnTo4O5Syt3evXuNwMBAw9fX17DZbMYnn3zi7pLK1XvvvWfExMQYly5dMgzDqHBXoNauXWu8//77xp49e4x169YZCQkJRt26dY28vDx3l1Yu/P39DX9/fyMtLc3YuXOn8frrrxtWq9VYvHixu0srdytWrDB8fX2NkydPuruUclVUVGSMHj3asFgshp+fn2GxWIzp06e7u6xylZCQYHTs2NE4efKkUVhYaLzzzjuGj4+P0bhx43KvhQDlZZ566imjXr16xokTJ9xdSrkrKCgwDh06ZGzfvt0YM2aMUatWLePbb791d1nl4vjx40ZISIixZ88ee1tFC1D/7dy5c0a1atUqzG3cSpUqGQkJCQ5tzzzzjNGuXTs3VeQ+DzzwgPG73/3O3WWUu/fee8+oXbu28d577xl79+413n77baNGjRoVKkR///33xj333GNIMnx9fY02bdoYvXv3NqKjo8u9FgKUFxk8eLBRu3Zt44cffnB3KR7hvvvuMwYMGODuMsrFBx98YP8H49pDkmGxWAxfX1+jsLDQ3SW6RevWrY0xY8a4u4xyUbduXaN///4Oba+++qoRERHhporc4+jRo4aPj4+Rnp7u7lLKXe3atY0FCxY4tE2dOtVo0qSJmypyn/z8fOPUqVOGYRjGww8/bHTt2rXca2ANlBcwDENPP/20PvjgA33xxReKjIx0d0keobi4WAUFBe4uo1zcd999+uabb7R79277o3Xr1urdu7d2794tX19fd5dY7vLz83X48GGFh4e7u5Ry0aFDhxLbl3z33XeqV6+emypyj7feekshISHq1q2bu0spdz///LN8fBw/tn19fVVcXOymitwnMDBQ4eHhOnfunD777DP17Nmz3GuoON8B9mKDBw/WsmXL9OGHHyooKEg5OTmSJJvNpoCAADdXVz7S0tLUpUsX1a1bVxcuXNCyZcv0j3/8Q5999pm7SysXQUFBiomJcWgLDAxUzZo1S7Tfrp599ll1795d9erV06lTpzRx4kT5+vqqV69e7i6tXAwfPlzt27fX9OnT9fDDD2vr1q1atGiRFi1a5O7Syk1xcbHeeust/elPf6pQW1hc0717dz3//POqW7eumjdvrl27dmnevHnq16+fu0srN5999pkMw1CTJk30/fffa+TIkYqOjtYTTzxR/sWU+zUvmCbpuo+33nrL3aWVm379+hn16tUzKleubAQHBxv33XefsX79eneX5VYVbQ3UI488YoSHhxuVK1c27rzzTuORRx4xvv/+e3eXVa4++ugjIyYmxvD39zeio6ONRYsWubukcvXZZ58ZkoyDBw+6uxS3yMvLM4YOHWrUrVvXsFqtRoMGDYznnnvOKCgocHdp5WbFihVGgwYNjMqVKxthYWHG4MGDjfPnz7ulFothVKAtTAEAAFyANVAAAAAmEaAAAABMIkABAACYRIACAAAwiQAFAABgEgEKAADAJAIUAACASQQoAAAAkwhQALze0aNHZbFYtHv3bneXYnfgwAG1a9dOVqtVcXFxbqmhfv36evHFF93y2sDtjgAF4Jb17dtXFotFM2fOdGhPT0+XxWJxU1XuNXHiRAUGBurgwYPKyMi47hjeN8B7EaAAuITVatWsWbN07tw5d5fiMr/88ovTzz18+LASExNVr1491axZ84bjbsf3DagICFAAXCIpKUlhYWGaMWPGDcdMmjSpxO2sF198UfXr17cf9+3bVykpKZo+fbpCQ0N1xx13aMqUKSosLNTIkSNVo0YN1a5dW2+99VaJ8x84cEDt27eX1WpVTEyMNm7c6NCflZWlLl26qGrVqgoNDdUf//hH/fTTT/b+e++9V08//bSGDRumWrVqKTk5+brzKC4u1pQpU1S7dm35+/srLi5O69ats/dbLBbt2LFDU6ZMkcVi0aRJk27pfZOkVatWqXnz5vL391f9+vU1d+5ch/4zZ86oe/fuCggIUGRkpN59990S5zh//ryefPJJBQcHq1q1avrtb3+rPXv22Pv37NmjTp06KSgoSNWqVVOr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pareto_front = est.evaluated_individuals[est.evaluated_individuals['Pareto_Front'] == 1]\n", - "\n", - "#plot the pareto front of number_of_leaves_objective vs roc_auc_score\n", - "import matplotlib.pyplot as plt\n", - "plt.scatter(pareto_front['number_of_nodes_objective'], pareto_front['mean_squared_error'])\n", - "plt.xlabel('Number of Nodes')\n", - "plt.ylabel('neg_mean_squared_error')\n", - "plt.show()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tpot_dev", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Tutorial/5_Genetic_Feature_Selection.ipynb b/Tutorial/5_Genetic_Feature_Selection.ipynb deleted file mode 100644 index d062c5b4..00000000 --- a/Tutorial/5_Genetic_Feature_Selection.ipynb +++ /dev/null @@ -1,626 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Genetic Feature Selection\n", - "\n", - "This example creates a pipeline where the first step selects a subset of features, and the following step is a graph pipeline" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 35727 instead\n", - " warnings.warn(\n", - "Generation: 100%|██████████| 5/5 [04:07<00:00, 49.49s/it]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9554814292129066\n" - ] - } - ], - "source": [ - "import tpot2\n", - "import sklearn.datasets\n", - "from sklearn.linear_model import LogisticRegression\n", - "import numpy as np\n", - "\n", - "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=100, n_informative=6, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", - "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - "\n", - "n_features = X_train.shape[1]\n", - "genetic_feature_selection_search_space = tpot2.search_spaces.nodes.GeneticFeatureSelectorNode(n_features=n_features)\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = None, \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - ")\n", - "\n", - "combined_search_space = tpot2.search_spaces.pipelines.SequentialPipeline([genetic_feature_selection_search_space, graph_search_space])\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator(population_size=10,generations=5, \n", - " scorers=['roc_auc_ovr',tpot2.objectives.complexity_scorer],\n", - " scorers_weights=[1,-1],\n", - " n_jobs=32,\n", - " classification=True,\n", - " search_space = combined_search_space,\n", - " verbose=1,\n", - " )\n", - "\n", - "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(scorer(est, X_test, y_test))" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Pipeline(steps=[('maskselector',\n",
-       "                 MaskSelector(mask=array([ True,  True, False,  True,  True,  True,  True,  True,  True,\n",
-       "        True, False,  True,  True,  True,  True,  True,  True,  True,\n",
-       "        True,  True, False,  True,  True,  True,  True,  True,  True,\n",
-       "        True,  True,  True, False, False, False,  True, False,  True,\n",
-       "        True,  True, False, False, False, False,  True, False,  True,\n",
-       "       False,  True, False,  True,  True,  True,  True,  True,  True,\n",
-       "       False,  True,  True,  True,  True, False, False,  True,  True,\n",
-       "        True, False, False,  True,  True, False, False, False, False,\n",
-       "        True,  True, False,  True,  True,  True, False,  True,  True,\n",
-       "        True, False,  True,  True,  True, False,  True,  True,  True,\n",
-       "        True,  True,  True,  True,  True, False, False, False,  True,\n",
-       "        True]))),\n",
-       "                ('graphpipeline',\n",
-       "                 GraphPipeline(graph=<networkx.classes.digraph.DiGraph object at 0x73a335f391e0>))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('maskselector',\n", - " MaskSelector(mask=array([ True, True, False, True, True, True, True, True, True,\n", - " True, False, True, True, True, True, True, True, True,\n", - " True, True, False, True, True, True, True, True, True,\n", - " True, True, True, False, False, False, True, False, True,\n", - " True, True, False, False, False, False, True, False, True,\n", - " False, True, False, True, True, True, True, True, True,\n", - " False, True, True, True, True, False, False, True, True,\n", - " True, False, False, True, True, False, False, False, False,\n", - " True, True, False, True, True, True, False, True, True,\n", - " True, False, True, True, True, False, True, True, True,\n", - " True, True, True, True, True, False, False, False, True,\n", - " True]))),\n", - " ('graphpipeline',\n", - " GraphPipeline(graph=))])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "est.fitted_pipeline_" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "plt.imshow([est.fitted_pipeline_.steps[0][1].mask])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "est.fitted_pipeline_.steps[1][1].plot()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tpot2env", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Tutorial/5_GraphPipeline.ipynb b/Tutorial/5_GraphPipeline.ipynb new file mode 100644 index 00000000..59c24969 --- /dev/null +++ b/Tutorial/5_GraphPipeline.ipynb @@ -0,0 +1,604 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GraphPipeline\n", + "\n", + "GraphPipelines (`tpot2.GraphPipeline`) work similarly to the scikit-learn Pipeline class. Rather than provide a list of steps, in GraphPipeline you provide a directed acyclic graph (`networkx.DiGraph`) of steps using networkx. In GraphPipeline, parents get their inputs from their children (i.e the leafs get the raw inputs (X,y), and the roots are the final classifiers/regressors). \n", + "\n", + "The label of the nodes can be anything, but must unique per instance of an sklearn estimator. Each node has an attribute called \"instance\" for the instance of the scikit-learn estimator.\n", + "\n", + "GraphPipeline allows for classifiers and regressors in the middle of the pipeline. In this case, GraphPipeline will will try to use the outputs of predict_proba, decision_function, or predict in that order. If cross_val_predict_cv is set, the downstream models are trained with the output of `sklearn.model_selection.cross_val_predict` (final results are predicted using the models trained on the full data).\n", + "\n", + "\n", + " Parameters\n", + " ----------\n", + "\n", + " graph: networkx.DiGraph\n", + " A directed graph where the nodes are sklearn estimators and the edges are the inputs to those estimators.\n", + " \n", + " cross_val_predict_cv: int, cross-validation generator or an iterable, optional\n", + " Determines the cross-validation splitting strategy used in inner classifiers or regressors\n", + "\n", + " method: str, optional\n", + " The prediction method to use for the inner classifiers or regressors. If 'auto', it will try to use predict_proba, decision_function, or predict in that order.\n", + "\n", + " memory: str or object with the joblib.Memory interface, optional\n", + " Used to cache the input and outputs of nodes to prevent refitting or computationally heavy transformations. By default, no caching is performed. If a string is given, it is the path to the caching directory.\n", + "\n", + " use_label_encoder: bool, optional\n", + " If True, the label encoder is used to encode the labels to be 0 to N. If False, the label encoder is not used.\n", + " Mainly useful for classifiers (XGBoost) that require labels to be ints from 0 to N.\n", + "\n", + " Can also be a sklearn.preprocessing.LabelEncoder object. If so, that label encoder is used." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "score\n", + "0.8974358974358974\n" + ] + } + ], + "source": [ + "from sklearn.svm import SVC\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.datasets import make_classification\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.pipeline import Pipeline\n", + "import networkx as nx\n", + "from tpot2 import GraphPipeline\n", + "import sklearn.metrics\n", + "\n", + "X, y = make_classification(random_state=0)\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y,\n", + " random_state=0)\n", + "\n", + "\n", + "g = nx.DiGraph()\n", + "\n", + "g.add_node(\"scaler\", instance=StandardScaler())\n", + "g.add_node(\"svc\", instance=SVC())\n", + "g.add_node(\"LogisticRegression\", instance=LogisticRegression())\n", + "g.add_node(\"LogisticRegression2\", instance=LogisticRegression())\n", + "\n", + "g.add_edge(\"svc\",\"scaler\")\n", + "g.add_edge(\"LogisticRegression\", \"scaler\")\n", + "g.add_edge(\"LogisticRegression2\", \"LogisticRegression\")\n", + "g.add_edge(\"LogisticRegression2\", \"svc\")\n", + "\n", + "\n", + "est = GraphPipeline(g)\n", + "est.plot()\n", + "est.fit(X_train, y_train)\n", + "print(\"score\")\n", + "print(sklearn.metrics.roc_auc_score(y_test, est.predict_proba(X_test)[:,1]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cross val predict\n", + "\n", + "Using cross_val_predict_cv can improve performance in some cases. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "score\n", + "0.9166666666666666\n" + ] + } + ], + "source": [ + "est = GraphPipeline(g, cross_val_predict_cv=10)\n", + "est.plot()\n", + "est.fit(X_train, y_train)\n", + "print(\"score\")\n", + "print(sklearn.metrics.roc_auc_score(y_test, est.predict_proba(X_test)[:,1]))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can access individual steps of a GraphPipeline using the label of each node." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
SVC()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "SVC()" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "svc = est.graph.nodes[\"svc\"][\"instance\"]\n", + "svc" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tpot_dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tutorial/6_GraphPipeline.ipynb b/Tutorial/6_GraphPipeline.ipynb deleted file mode 100644 index 810c6890..00000000 --- a/Tutorial/6_GraphPipeline.ipynb +++ /dev/null @@ -1,121 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "GraphPipelines work similarly to the sklearn Pipeline class. Rather than provide a list of steps, in GraphPipeline you provide a graph of steps using networkx. In GraphPipeline, parents get their inputs from their children. Leafs get the raw inputs (X,y). \n", - "\n", - "The label of the nodes can be anything, but is unique per instance of an sklearn estimator. Each node has an attribute \"instance\" for the instance of the step.\n", - "\n", - "By default, the root of the resulting tree will become the final estimator/classifier/transformer." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "score\n", - "0.8974358974358974\n" - ] - } - ], - "source": [ - "from sklearn.svm import SVC\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.datasets import make_classification\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.pipeline import Pipeline\n", - "import networkx as nx\n", - "from tpot2 import GraphPipeline\n", - "import sklearn.metrics\n", - "\n", - "X, y = make_classification(random_state=0)\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y,\n", - " random_state=0)\n", - "\n", - "\n", - "g = nx.DiGraph()\n", - "\n", - "g.add_node(\"scaler\", instance=StandardScaler())\n", - "g.add_node(\"svc\", instance=SVC())\n", - "g.add_node(\"LogisticRegression\", instance=LogisticRegression())\n", - "g.add_node(\"LogisticRegression2\", instance=LogisticRegression())\n", - "\n", - "g.add_edge(\"svc\",\"scaler\")\n", - "g.add_edge(\"LogisticRegression\", \"scaler\")\n", - "g.add_edge(\"LogisticRegression2\", \"LogisticRegression\")\n", - "g.add_edge(\"LogisticRegression2\", \"svc\")\n", - "\n", - "\n", - "est = GraphPipeline(g)\n", - "est.plot()\n", - "\n", - "est.fit(X_train, y_train)\n", - "print(\"score\")\n", - "print(sklearn.metrics.roc_auc_score(y_test, est.predict_proba(X_test)[:,1]))" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "access nodes through their labels" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "svc = est.graph.nodes[\"svc\"][\"instance\"]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tpot_dev", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Tutorial/6_Symbolic_Regression_and_Classification.ipynb b/Tutorial/6_Symbolic_Regression_and_Classification.ipynb new file mode 100644 index 00000000..a5e04777 --- /dev/null +++ b/Tutorial/6_Symbolic_Regression_and_Classification.ipynb @@ -0,0 +1,332 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Symbolic Regression and Classification\n", + "\n", + "Symbolic Regression and Classification seek to optimize an interpretable algebraic equation. TPOT allows you to combine this approach with classical machine learning operations.\n", + "\n", + "We can construct a search space for symbolic equations using either the TreePipeline or GraphSearchPipeline as neither have a fixed pipeline structure and instead optimize their own sequences and structure.\n", + "\n", + "The strategy is to set the leaves to select a single feature (Using FSSNode), have all inner nodes be arithmetic operators, and have the root node be a classifier or regressor.\n", + "\n", + "Note: This is still experimental. There are lots of opportunities to optimize the optimization process. In the future, symbolic regression/classification may have their own dedicated search space class." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "from tpot2.search_spaces.pipelines import GraphSearchPipeline\n", + "from tpot2.search_spaces.nodes import FSSNode\n", + "from tpot2.config import get_search_space\n", + "import sklearn.datasets\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.model_selection import train_test_split\n", + "import numpy as np" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Symbolic Classification" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "X, y = sklearn.datasets.make_classification(n_samples=1000, n_features=100, n_informative=6, n_redundant=0, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "symbolic_classification_search_space = GraphSearchPipeline(\n", + " root_search_space= get_search_space(\"LogisticRegression\"),\n", + " leaf_search_space = FSSNode(subsets=X_train.shape[1]), \n", + " inner_search_space = get_search_space([\"arithmatic\"]),\n", + " max_size = 20,\n", + ")\n", + "\n", + "#example pipelines randomly sampled\n", + "ind = symbolic_classification_search_space.generate(rng=5)\n", + "for i in range(3):\n", + " ind.mutate(rng=1)\n", + "est_example = ind.export_pipeline()\n", + "est_example.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 20/20 [00:40<00:00, 2.00s/it]\n", + "/home/perib/miniconda3/envs/myenv/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:349: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.7341062801932366\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAD+rElEQVR4nOzdd1zU9R8H8NcN1rGHIIqIKSCywQk4cOaI3JoluC0tMxtWVpplZZmpmSMXUGpuMzXNhQo4kL0UVPYUjn2su/v+/kDv55cDZBwc4Pv5ePT4ee+77+f7vi/+9O1nchiGYUAIIYQQQjo8rrITIIQQQgghikGFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ0GFHSGEEEJIJ8FXdgKEEKJIEokEQqEQOTk5yMnJwZPsbFSWl0MqkYDL40FNQwNdunaFiYkJTExMYGBgAB6Pp+y0CSFEITgMwzDKToIQQlqqoKAAkZGRiA4LQ0VZGRixGFrl5dAVCqEiFoPLMJByOKjm81FkYIBSDQ1w+Hyoa2rC3sUFjo6O0NfXV/bXIISQFqHCjhDSoWVmZiI4MBBJiYlQEYlgnpoGU6EQumVlUJFI6r2umsdDkaYmsgwMkGreA9UCAXpZWsJ96FCYmpq24TcghBDFocKOENIhicViBAUFISQoCFp5eeiTkgqzvDzwpNImtyXhcpFuZISHPc1RamSEAe7ucHd3B59Ps1UIIR0LFXaEkA4nOzsb586cQUF6BvomJsIyIwNcBfxRJuVwkNi9O+5bWsLArDsmeHmha9euCsiYEELaBhV2hJAOJSUlBaeOHIEgMwuu8fHQEYkUfo9igQChNjYQdeuGKbNmomfPngq/ByGEtAYq7AghHUZKSgpOHD4Mw5RUDIyLA78Zw66NJeZycce2H4Tm5pj2xhtU3BFCOgTax44Q0iFkZ2fj1JEjMEhJxeDY2FYt6gCAL5ViSEwsDFJTcerIUWRnZ7fq/QghRBGosCOEtHtisRjnzpyBIDMLg+LiFDKfrjG4DINBsXHQyMrE+TNnIBaL2+S+hBDSXFTYEULavaCgIBSkZ8A1Pr7Ve+pq40ulcI2LhzAjA8HBwW16b0IIaSoq7Agh7VpmZiZCgoLQNzGxVRZKNIauSATrhETcDQxEVlaWUnIghJDGoMKOENKuBQcGQisvD5YZGUrNwyojA1p5eQgKDFRqHoQQ0hAq7Agh7VZBQQGSEhPRJyW1zebV1YfLMOidkoqkhAQUFBQoNRdCCKkPFXaEkHYrMjISKiIRzPLylJ0KAKBHXh74IhGioqKUnQohhNSJCjtCSLskkUgQHRYG89S0Zh0T1hp4Uil6pqUhKjQUkgbOoSWEEGWhwo4Q0i4JhUJUlJXBVChUdiospvk1eQnbWV6EEAJQYUdIp7R+/XrY2dnB3t4e/fv3R1JSUr2f/eWXX2BjY4Ply5fX+5l169bBzMwMTk5OsLGxweHDh5uV14QJE1BeXt6oz+bk5IARi6FXWtqsez2TXlGBqRHhiCwphld4GLzCw+AUHIRxoffgFR6G7x4/alJ7umVlYMRi5OTk1PuZ3NxcDBgwAM7OzoiOjm5R/oq0fPlyGBsbo3///spOhRDSSvjKToAQoljBwcEICAhAREQE+Hw+0tPToampWe/nd+/ejYCAgBcedv/pp5/i3XffxYMHD9C/f39Mnz4dKioqTcrt/Pnzjf5sdnY2BCKRwvatc9TWwRlnFwDAW1FR+Kp3b1jVei4ShgGPw2mwHRWJBFrl5cjJyYGdnV2dn7l69SpcXV2xa9euRuUmkUjA4/Ea9dmWtDdnzhwsWLAAS5cuVdi9CCHtC/XYEdLJZGdnQ19fH3x+zb/bzMzMoK+vjyVLlsDV1RW2trb47bffAAArVqzA48ePMXbsWOzduxc5OTmYPHky+vfvDw8PD9y/f1+ufWtra2hqasqGIg8cOICBAwfCwcEBX331lexze/bsgb29PRwdHfHpp58CACwsLFBaWork5GQ4ODhgzpw5sLOzw6JFi2Rz1oyMjPDpp59i6ZIlKE9KwobHjzAxLBRe4WEIKqxZjVotlWL9o4eYFBaK18LCcPHp4oqlsbGYEh6OiWGhstiLeIbcxfbUFMyKjMCdokJsTUnBtIhwTAgLxc/JyazPbUtJwevhYdh04AAS4uMBAH/99RdsbGzg6OiI119/HXFxcfjkk09w8uRJWc/Yxo0bZT2oBw8eBAAEBARg7NixmDlzJjw9PeHr64vp06dj4sSJ6NWrF/z8/LBu3To4ODhg7NixqKysBADcvXsXQ4cOhYuLC6ZNm4bSpz2aFhYWWL9+Pdzc3BAQEFDnd3V3d4ehoWGjngshpGOiHjtCOpkxY8Zg7dq1sLGxwdixY/HWW29hwIAB+OGHH2BgYICqqioMHjwYs2bNwrZt23DmzBkEBwdDS0sLb7zxBr788ku4uroiJCQEK1euxIULF1jth4SEoFevXjAxMUFcXBzOnz+PW7dugcPh4PXXX8etW7egqamJbdu2ITAwELq6unXOR4uJicGBAwfg4uKCyZMn48SJE5g5cyby8/MxdOhQ2PTpg8g//0RKeQX+cXZBZmUl5kZH4YJrfxzNzkaJWIIzzi7gcjgoElcDADZaWUFPRQUlYjGmR0ZgbCOLGD2+Co44OgEA+mlq4f2ePSFlGCyOjUV8aSlstLQAAN3U1PC3sws+Ky7G5cuX8c6772LDhg04c+YMLC0tUVRUBF1dXaxfvx4xMTHYtGkT7t27h6NHj+LevXsQiUQYMGAAPD09AQB37txBfHw8unXrBl9fX8TFxeHevXvIz8+HjY0NDhw4gHXr1mH27Nk4f/48Jk6ciI8++ghnzpyBvr4+fvrpJ2zfvl1WOBsaGtLpGIS85KiwI6ST0dbWRnh4OK5du4bLly9jzJgxOHr0KBISErBv3z5IJBKkpqYiMTERRkZGrGuvXr2K+Kc9UbX98MMP2LFjBxISEnD27FkAwJUrV3Dr1i24uroCAEpLS/Ho0SMIhULMmjULurq6AAADAwO59vr06SO7btasWQgODsbMmTOhoaGBiRMn4sDu3XiQm4vXunQBl8OBmbo6LDQ08Fgkwu2iQszv1h3cp8OmuvyaIWHfzAxcya8pIrMqK/GkurpRz2z8c8/hVlEh9qSno1oqxZPqajwqF8kKu1FPC8XeBvoIfvIEQE0v2NKlSzFnzhxMnz5dru3AwEBMmzYN6urqUFdXx6hRoxASEgJdXV24u7ujW7duss+OGjUKAoEAAoEAqqqq8PLyAgA4ODggOTkZDx48QFRUlKwwrKqqwogRI2TXz5gxo1HflxDSeVFhR0gnxOfzMWbMGIwZMwZGRkbYsmULkpOTcevWLejq6uLVV1+VDe3VFhoaWuf8rGdz7P7++28sXLgQjx49AsMwWLJkCWsIFgC2bdv2whw5teayPXstEAgAAFweD7W3JGbquO6Z24WFCCsuxjFHR6jzeBgXeg9VjZyfp/70+1ZKpdjw+DFOODrBRE0NXz1MRJX0/1mocp/OXuH+//ns3LkTt2/fxj///ANnZ2fExcU1eC+GYeS+6zNqamqyX3O5XNlrLpcLiUQChmHg4uKCq1ev1tl27fYIIS8fmmNHSCfz4MEDPHpUs9KTYRjExsZi0KBB0NLSgo6ODpKTkxFYz7FYw4cPx+7duwEAUqm0zhWdr7/+OpydnfHHH39g5MiROHLkiOwkhvT0dOTn58viRUVFAFDnUGxiYiLCwsLAMAyOHTsGNzc31vtqGhqwNDXFubwnkDIMMioqkFpejl4aGnDT08OR7GxIn55GUSSuRqlEAj2+CtR5PESWlCC5katvn1cplYIDQF9FBYXV1bhezwkTYh4P3KfF4OPHjzFkyBBs2LABqqqqyM/PZ33Ww8MDJ0+eRGVlJQoKCnDt2jUMGDCgybkBQN++fZGSkoKIiAgAQFlZGR4+fNistgghnRMVdoR0MqWlpXjrrbdga2sLOzs7SKVSfPLJJ7C2toadnR0++OADDBkypM5rf/31V1y6dAkODg6ws7PDuXPn6vzc2rVrsWXLFtja2mL16tUYMWIE7O3tMXPmTJSVlcHOzg7vv/8+3N3d4eTkhJ9++kmuDQcHB2zfvh329vYwMDDA1KlTWe936doVli4u6KGujtfCw/BOfBy+sbSEGpeLWV1NocPnY1J4GF4LC8PtwiIM1ddHiUQMr/AwHMzKhJWg/pXA9dHh8+FlbIxJYWH48MEDOGlr1/k5kbYW1DU0AAAfffQR7O3tYW9vj+nTp8PMzIz12f79+2PGjBlwdXXFsGHD8PXXX8PU1LTJuQGAqqoq/vrrLyxbtgwODg4YMmRIkwq7RYsWYciQIYiKioKZmRlOnTrVrDwIIe0Xh2GUfAAjIeSlk5ycjOnTp+PevXv1fiYmJgbnjx3DpOs3oNKOTnmo5vFwdvgwTJgxo97tTgghRFmox44Q0i6ZmJiAw+ejqIE9+JShSFMTHD4fJiYmyk6FEELk0OIJQkibs7CwaLC3DqhZSauuqYksAwMYFRe3UWYvlmVYk1ddK33biylTpsidNnLo0CH069dPSRkRQtoKFXaEkHaJx+PB3sUFEfn56JeaCp6CTqBoCQmXi5QePeDi6qrQkyIUjebOEfLyoqFYQki75ejoiGqBAOm19turrVosRu6TXGRmZaG4pPV699KMjCAWCODg4NBq9yCEkJagwo4Q0m7p6+ujl6UlHvY0h7Se/eukDAOhUAixWAyAQWlpKarFYoXnIuVw8KinOXpZWUFfX1/h7RNCiCJQYUcIadfchw5FqZERErt3r/P94uJiSCSKL+RqS+jeHaVGRnD38Gj1exFCSHNRYUcIaddMTU0xwN0d9y0tUVzrZIWKykqIRGWsmKqqGlT4TZ8+LGWkqKyqkjvtAgCKBAI8sLLEQA+PZu9BRwghbYEKO0JIu+fu7g59s+4ItbGB+OmxXlKGQWFhIetzHA4Xenp6TW6/vKIC2dk5yM/PQ3ZWFkTPnVoh5nIR2s8GBt27y52OQQgh7Q0VdoSQdo/P52OilxdE3brhjm0/SDkcFBUVQSplb1yso6MDfiNXq0qlUlRWVoIBUFJcDDztq2PAoLCwAHn5eagQi3HHth/KTbthgpcX+M3oCSSEkLZEhR0hpEPo2rUrpsyaCaG5OQL7WqO0qpL1vpqaOjRrDdXWp7yiAtk5OcgX5iM7O7vO4ddyiQQ3LPsgSVcXbiOGo2vXrgr4FoQQ0rqosCOEdBg9e/bEqPHjkaCpiYhhwyDS0QHwbAhWt9HtFD/fQ8dIIa11ZFmZjg4ihg1Hkr4+Dhw8CE9PT1y9elVh34MQQloLnRVLCOkwGIbBjBkzcPPmTXhNnIju+vqwvH8f/XKfQEtdvdHtZGVng2HkNzyWcjjItLJCYt++yBAKceb8eeTm5gIAhg4dihs3bijsuxBCSGugCSOEkA7jr7/+wokTJwAAB/z94ebmBsbdHSWVleidkooeeXkvPKGCQU2B+DwJl4u8Hj2Q1qcP8rS0EBQSguDgYEie68nT1tZW+PchhBBFox47QkiHkJmZCTs7OxQUFMhihoaGCAgIwP34eCQlJIAvEqFnWhpM84XQLSuDSq0hVgCQSCTIyc2BmM9HmZ4ehKamSOvZE+V8PhKSkhAUHIzs7GzWNd27d8e1a9dgaWnZ6t+TEEJagnrsCCHtHsMwWLJkCauoA4CdO3fCzs5OVvBFRUUhKjQUj8rKwIjF0Covh46wAKpiMbiMFFIOFxVcDrIcHFCurQUxw6CsogJh4eGIjIxEUVFRnfe3s7NDnz592uKrEkJIi1CPHSGk3du/fz8WLlzIis2aNQt//fWX3GclEgmEQiFycnKQk5ODJ9nZqKqogEQsBo/PR1ZuLv67fFn2fn5+vtzQbH05zJ8/X2HfiRBCWgMVdoSQdi0lJQX29vYoKSmRxUxMTBAbGwtDQ8Mmt/fFF19gw4YNDX7Gzc0NiYmJePLkiSymo6OD6OhomJubN/mehBDSVmi7E0JIuyWVSrFw4UJWUQcAe/bsaVZRBwD6+vr1vmdsbIzw8HAEBQVh7969rPeKi4uxcOHCRvXuEUKIslBhRwhpt3bt2oUrV66wYvPmzcNrr73W7DaXLFmC4cOHA4DcpsO5ubnQ1NQEAHh5ecHHx4f1/uXLl7Fr165m35sQQlobDcUSQtqlhw8fwtHRESKRSBYzMzNDTEwMdHUbvxlxfSoqKqCiooLu3bsjJydHFv/mm2/wxRdfAAAKCwthZ2eHjIwM2fsCgQBRUVHo3bt3i3MghBBFox47Qki7I5FIMH/+fFZRBwD79u1TSFEHAOrq6uDxeJg+fTorfuTIEdmv9fT0sH//ftb7IpEI8+fPZ+1xRwgh7QUVdoSQdmfLli0IDAxkxd5++22MHTtW4feaNWsW63VMTAzi4uJkr8eOHYulS5eyPnPz5k1s3bpV4bkQQkhL0VAsIaRdiY+Ph7OzMyorK2WxXr16ISoqClpaWgq/n1QqRY8ePZCZmSmLrV27FuvWrZO9LikpgaOjI5KSkmQxNTU1hIeHw8bGRuE5EUJIc1GPHSGk3RCLxfDx8WEVdRwOB76+vq1S1AEAl8vFjBkzWLEjR46wVr9qa2vjwIEDrM9UVlbCx8cHYrG4VfIihJDmoMKOENJubNy4ESEhIazYypUrMWzYsFa9b+3h2Pv37yM6OpoVGz58OFauXMmKhYSE4Mcff2zV3AghpCloKJYQ0i5ERkZiwIABqK6ulsWsra0RHh4ODQ2NVr03wzCwsLBAamqqLLZmzRp8++23rM+Vl5fDyckJCQkJspiKigpCQkLg6OjYqjkSQkhjUI8dIUTpqqqq4O3tzSrquFwu/Pz8Wr2oA2qGe2fOnMmK1R6OBQANDQ34+fmBy/3/H53V1dXw8fFBVVVVq+dJCCEvQoUdIUTp1q9fj6ioKFZs9erVGDRoUJvlULuwe/jwIcLDw+U+N3jwYHzyySesWGRkJL755ptWzY8QQhqDhmIJIUp19+5duLm5sfaFs7e3R0hICNTU1NosD4Zh0KdPHzx+/FgW++STT7Bx40a5z1ZWVqJ///6IiYmRxXg8Hm7duoUBAwa0Sb6EEFIX6rEjhChNeXk5fHx8WEUdn8+Hv79/mxZ1QN3DsUePHq3zbFg1NTX4+/uDz+fLYhKJBD4+PqioqGj1XAkhpD5U2BFClObLL7/E/fv3WbGvvvoKTk5OSsmn9urY5ORkuVW6zzg7O+PLL79kxeLj4+VihBDSlmgolhCiFDdv3sTw4cNZPWKurq64desWVFRUlJITwzCwtrZGYmKiLLZq1Sr8/PPPdX6+uroaQ4YMQWhoqCzG4XBw48YNeHh4tHq+hBBSG/XYEULaXGlpKebNm8cq6tTU1ODn56e0og6oKcpq99odPXoUUqm0zs+rqKjAz88PqqqqshjDMJg3bx7KyspaNVdCCKkLFXaEkDa3evVq1iIFAPjmm29ga2urpIz+r3Zhl56ejtu3b9f7eVtbW7n97h49eoTVq1e3Sn6EENIQGoolhLSpy5cvY8yYMayYm5sbbty4AR6Pp6Ss2GxtbREXFyd7vWLFCmzdurXez0skEgwbNgzBwcGs+OXLlzFq1KhWy5MQQmqjHjtCSJspKirCggULWDENDQ34+vq2m6IOkN/T7tixY6yVu7XxeDz4+vrKbaa8YMECFBcXt0qOhBBSFyrsCCFtZtWqVUhLS2PFfvzxR1haWiopo7rVHo7NyspCYGBgg9dYWlrK7XmXmpqKVatWKTw/QgipDxV2hJA2cfbsWezfv58V8/T0xLJly5SUUf369u0LBwcHVuzIkSMvvG758uXw9PRkxfbt24dz584pND9CCKkPFXaEkFaXn5+PxYsXs2La2trYv38/69zV9qR2r92JEycgFosbvIbL5WL//v3Q0tJixRcvXgyhUKjwHAkhpLb2+ScqIaRTee+995Cdnc2Kbd68GRYWFspJqBFqz7PLzc3F9evXX3idhYUFfvnlF1YsKysL7733nkLzI4SQulBhRwhpVcePH8fhw4dZsfHjx2PhwoVKyqhx+vTpAxcXF1asMcOxALBw4UKMHz+eFTt06BBOnDihsPwIIaQutN0JIaTV5ObmwtbWFnl5ebKYnp4eYmNj0a1bNyVm1jg//vgjaz86AwMDZGdnN2oT5YyMDNjZ2aGwsFAWMzIyQmxsLIyNjVsjXUIIoR47QkjrYBgGS5cuZRV1ALB9+/YOUdQB8sOxQqEQV69ebdS13bt3x6+//sqK5eXl4Z133gH9e5oQ0lqosCOEtIqDBw/i9OnTrNiUKVMwZ84c5STUDBYWFhg4cCAr1tjhWAB48803MWXKFFbs5MmTOHTokELyI4SQ2mgolhCicJ1pGHLz5s348MMPZa/19PSQk5PDOh+2IR19OJoQ0rFQjx0hRKEYhsGiRYtYRR0A7Nq1q8MVdQAwY8YM1uvCwkL8999/jb7e2NgYO3fulGtj0aJFNCRLCFE4KuwIIQq1b98+XLhwgRWbM2cOpk2bpqSMWqZHjx5wd3dnxY4ePdqkNqZPn4433niDFfv333/lNmwmhJCWoqFYQojCJCcnw97eHqWlpbKYqakpYmJiYGBgoMTMWmbbtm14//33Za+1tbWRm5sLdXX1RrchFApha2vL2s9PW1sb0dHR6Nmzp0LzJYS8vKjHjhCiEFKpFAsWLGAVdQCwZ8+eDl3UATU9bhwOR/a6pKRErlfyRQwMDLB3715WrKSkBAsWLIBUKlVInoQQQoUdIUQhfvvtN1y7do0VW7hwISZOnKikjBSnW7duGDZsGCvWlNWxz0ycOBELFixgxa5evYodO3a0KD9CCHmGhmIJIS2WkJAAJycnlJeXy2Lm5uaIjo6Gjo6OEjNTnJ07d2LZsmWy15qamsjNzYVAIGhSO0VFRbC3t0daWposJhAIEBERAUtLS4XlSwh5OVGPHSGkRSQSCebNm8cq6gBg//79naaoA4Bp06aBy/3/H5llZWU4f/58k9vR1dWVWzQhEokwb948SCSSFudJCHm5UWFHCGmRn3/+Gbdu3WLFli9fjlGjRikpo9ZhbGwMT09PVqw5w7EAMHr0aFbvHwAEBwfjl19+aXZ+hBAC0FAsIaQFYmNj4eLigqqqKlmsd+/eiIyMhKamphIzax179uzBkiVLZK81NDSQm5sLLS2tJrdVWloKJycnPHr0SBZTU1NDWFgY+vXrp5B8CSEvH+qxI4Q0S3V1Nby9vVlFHYfDgZ+fX6cs6gBg6tSp4PP5stfl5eU4e/Zss9rS0tKCr68va7VtZWUlfHx8UF1d3eJcCSEvJyrsCCHN8v333yMsLIwV+/DDD+U28+1MDA0NMXr0aFasucOxAODh4YFVq1axYvfu3cMPP/zQ7DYJIS83GoolhDRZWFgYBg0aBLFYLIvZ2NggLCysSZv2dkQHDhxgbVmipqaG3NzcZi8UKS8vh4uLC+7fvy+L8fl8hISEwMnJqaXpEkJeMtRjRwhpkmfDhc8XdTweD35+fp2+qAOAyZMnQ0VFRfa6srISf//9d7Pb09DQgJ+fH3g8niwmFovh7e2NysrKFuVKCHn58F/8EUII+b9169YhJiaGFfvss88wYMCAOj8vkUggFAqRk5ODnJwcPMnORmV5OaQSCbg8HtQ0NNCla1eYmJjAxMQEBgYGrCKnvdHX18e4ceNYc+uOHDmCuXPnNrvNgQMH4tNPP8WGDRtksejoaKxfv54VI4SQF6GhWEJIo92+fRvu7u6sI7AcHR1x9+5dqKqqsj5bUFCAyMhIRIeFoaKsDIxYDK3ycugKhVARi8FlGEg5HFTz+SgyMECphgY4fD7UNTVh7+ICR0dH6Ovrt/VXbJQ///yTVcipqKggJyenRflWVVVhwIABiIqKksW4XC6Cg4MxaNCgFuVLCHl5UGFHCGkUkUgEZ2dnJCQkyGIqKiq4d+8eHBwcZLHMzEwEBwYiKTERKiIRzFPTYCoUQresDCoNbMBbzeOhSFMTWQYGSDXvgWqBAL0sLeE+dChMTU1b9bs1VXFxMYyNjVlDpfv378f8+fNb1G5kZCQGDBjAWhVrbW2N8PBwaGhotKhtQsjLgebYEUIaZc2aNayiDqgZln1W1InFYly/fh2HfH2Rd/s2nMPC8WpgEOyTk2FUXNxgUQcAKhIJjIqLYZ+cjFcDg+AcFo6827dx8MABXL9+nTWnT9l0dHQwfvx4Vqwlq2OfcXR0xNq1a1mxBw8eYM2aNS1umxDycqAeO0LIC12/fh0jRoxgxQYOHIigoCDw+XxkZ2fj3JkzKEjPQN/ERFhmZICrgD9apBwOErt3x31LSxiYdccELy907dq1xe0qwl9//YU33nhD9prH4yE7OxtGRkYtalcsFsPNzQ0hISGyGIfDQUBAAIYNG9aitgkhnR8VdoSQBpWUlMDR0RFJSUmymLq6OsLDw9G3b1+kpKTg1JEjEGRmwTU+HjoikcJzKBYIEGpjA1G3bpgyayZ69uyp8Hs0VWlpKYyNjVln5P7+++9YvHhxi9uOj4+Hs7Mza6i3V69eiIqKatYpF4SQlwcNxRJCGvTxxx+zijoA2LBhg6yoO3H4MPSTkjE0PLxVijoA0BGJMDQ8HHrJSThx+DBSUlJa5T5NoaWlhYkTJ7JiihiOBWr2BKy9GjYpKQmffPKJQtonhHRe1GNHCKnXxYsX8eqrr7JiQ4cOxbVr1/DkyRP85e8PvaRkDImNVcjQ64tIORzcsrNFoUUvzPaeq/Rh2ePHj2PGjBmy11wuF5mZmTAxMWlx2xKJBCNGjEBgYCAr/t9//2HMmDEtbp8Q0jlRjx0hpE6FhYVYuHAhKyYQCHDgwAEwDINzZ85AkJmFQXFxbVLUAQCXYTAoNg4aWZk4f+aM0hdUTJgwgXUurlQqxYkTJxTSNo/Hg6+vLwQCASu+YMECFBUVKeQehJDOhwo7QkidVq5ciYyMDFZs06ZN6N27N4KCglCQngHX+Hjwn9vTri3wpVK4xsVDmJGB4ODgNr13bQKBAF5eXqzY0aNHFdZ+79698dNPP7Fi6enpWLlypcLuQQjpXKiwI4TIOXPmDPz8/Fix0aNH4+2330ZmZiZCgoLQNzGx1ebUvYiuSATrhETcDQxEVlaWUnJ4ZubMmazXN27cQGZmpsLaf/vttzFq1ChWzNfXF//884/C7kEI6TyosCOEsOTl5WHJkiWsmI6ODvbt2wcOh4PgwEBo5eXBslZvXluzysiAVl4egmrNQWtrr776KnR0dGSvGYbB8ePHFdY+l8vF/v37oa2tzYovXrwY+fn5CrsPIaRzoMKOEMKyfPly5OTksGJbtmyBubk5CgoKkJSYiD4pqW02r64+XIZB75RUJCUkoKCgQGl5qKur4/XXX2fFFLU69hlzc3Ns2bKFFcvJycG7776r0PsQQjo+KuwIITJHjhyRmyM2adIkzJs3D0DNkVcqIhHM8vKUkJ28Hnl54ItErPNVlWHWrFms18HBwUhLS1PoPebPny+3vcpff/2FY8eOKfQ+hJCOjQo7QggAIDs7G8uWLWPF9PX18fvvv4PD4UAikSA6LAzmqWngtfGCifrwpFL0TEtDVGgoJC84sqw1jRkzBnp6eqyYogsuDoeDPXv2QF9fnxV/55135HpYCSEvLyrsCOmgfH198dFHHymkLYZhsHTpUgiFQlZ8x44dMDU1BQAIhUJUlJXBVChEZEkJpkaEo19QIK4J65/n9V9eHrzCw+AVHgbboEC8FhYKr/Aw7E1PV0jeAGCaX5PX7du34ejoCCcnpzafe6aqqoopU6awYs+GY6dMmQJ9fX1Mnz69xfcxNTXFb7/9xorl5+dj6dKloC1JCSEAFXaEEAD+/v44c+YMKzZ9+nTWEGNOTg4YsRh6paUwUVXFt30sMdGoS4PtjjUywhlnF5xxdoGxqir+cnTCGWcXLDIzA1BTUEpbWJDolpWBEYtx7NgxvPHGG4iIiIChoeELr1NkDx/DMKyNigHg7t27SEpKwooVK+Dv76+we82ePRvTpk1jxf7++2/8+eefCrsHIaTjosKOECVKTk6Go6Mj5s2bh379+uGdd97B6dOnMWjQINja2iIxMRHz5s3D2bNnAdScT2phYdGotkeMGIHVq1djwIABsLOzQ2xsrKwNb29vDBgwAP3798fJkyfx/vvvs64VCAS4evUqOByOLJaTkwOt8nLwpVJ0VVNDPy0tcDloloG3b+Gn5CRMi4xASkU5vkhMxJTwcEwIC8Wfz20VMvD2LfyQ9BiTwkLhHR0F0dNizDcjA+NC7+G1sFB8++A+0uPj4e/vj+3bt8PLywsMw2DlypWws7ODk5MTLl++XHOdry/eeOMNTJw4EW+88QbWrVuHBQsWYMyYMejVqxcuXLiAd955BzY2NnjrrbdkeZw/fx6DBw+Gk5MTlixZAunToWgjIyN8+umnGDhwIMzNzeUKymPHjsHT01NuRWtLcDgc7Ny5E126sIvq9957D+kK7AklhHRMVNgRomTx8fH47LPPEB0djYCAAAQFBeHOnTt47733sH379ha1raamhpCQEKxatQqbN28GAHz77beYMmUKQkJCcOrUKfj4+MidZODj48Mq6gDgSXY2dGsN1TZXoViM/jq6OOnkjF4aAnxkYYFTzs447eSM4znZEFZXyz43XN8AZ11cYaKqhv/yaxZt/JaWilNOzvjHxRUfWfTCQB1djBwxAp9++inOnDmDEydO4OHDh4iKisLp06exaNEiVFRUAKjpSTt8+LBskUhKSgouXLiAP//8E9OnT8f8+fMRFxeHR48eITw8HHl5edi8eTMCAgIQEREBVVVV2bX5+fkYOnQoQkJCYGtrK9eTpujVsc906dIFu3fvZsWKioqwaNEiGpIl5CVHhR0hSmZtbQ1ra2vweDzY2Nhg9OjRAAAHBwckJye3qO1n23C4urrK2rp06RLWrl0LJycnuLm5obS0lHXN3LlzsXHjRrm2KsvLoaKgI7zUuVx4GhjIXv/z5AleDw/DtIhwpFVUIKW8HACgyeNhyNNFCXZaWsioqAQAOGhp46MHD/BPbi74HA5UxWJInsstMDAQc+bMAZfLhYWFBaysrPDgwQMAwLhx41j7zk2YMAE8Hg/29vbQ1tbGwIEDweFwYG9vj+TkZNy6dQtRUVGyHrtLly4hKSkJAKChocFaqVp7s+KwsDA8fPhQIc+stilTprB6FYGas3337NnTKvcjhHQMVNgRomRqamqyX3O5XNlrLpcLiUQCPp8vG/qrrKxsVts8Hk82p4xhGJw9exYnT56U2//NxMQEW7durbMtqUSisL3r1Ln//6MntaIch7Iy8ae9A/5xcYWTtg6qnn5fled6DbkcDiRP7/+7rS3e6maK0JJivBkdBS4jlT2jujAMI+uBrH326vPPu/bPQiKRgGEYTJo0CREREYiIiMCDBw/w2Wef1dnW8OHDYWxszIq1Vq8dAGzbtg3dunVjxT788ENZ4UkIeflQYUdIO9ezZ09EREQAAE6ePNni9kaPHo3t27dj/vz5KCsrY733bAVnXeedcnk8SDnNnFTXgDKxBAIeD1o8HtIrKhBa3PAB91KGQVZlJdz09PF5r1eQXlEBMVNTiD3j4eGBv/76C1KpFCkpKXj48CGsrKyald/gwYNx7do12b50+fn59c5l4/P5cqtfW7Ow09fXx969e1mx0tJSzJ8/v8FClxDSeVFhR0g7t2jRIpw9exaDBw9WyKa3X331Fa5fv44bN26w4m+++Sbi4uLQv39/pKSksIYrAUBNQwPVfD4A4KGoDEPv3sGFvDysTkjAG1GRzc7HRksLvTQEmBgehu8eP4ZTrfvWJmEYfPTgAV4LC8XUiHCsMO8JsaoqeE9zA4CpU6filVdegYODA15//XXs2bMH6urqzcrP2NgYO3fuxOTJk+Hg4ICxY8ciNze33s/X3qw4OjoaU6dOxfnz52FmZoaQkJBm5VGf8ePHY9GiRazY9evXWzw/kxDSMXEYmmlLyEvlwYMHcHJyki0mAAALCwvcvXsXBgYG4PF4OHbsGI4cOcI68/TKlSt4cPEixty6rYy0G3RpyGBYjxuHUaNGKTsVSCQS9OjRA1lZWbLYunXrsHbt2la7Z3FxMRwcHJCSkiKLaWhoICIiotk9lYSQjol67Ah5iYjFYvj4+LCKOgDYv38/8vPz0b9/fzg4OGDbtm344YcfWJ8xMTFBqYYGqnm8tkz5hap5PJRqaMDExETZqQComc9Ye0+7I0eOtOpqVR0dHRw4cIAVKy8vh4+Pj1JP5CCEtD3+iz9CCGnPNmzYIHd81apVq+Dt7S332U2bNuHOnTus2IoVK+Dp6QkACA8PZ7138eJFrF69GkBNUSjMz0eImjq+69FDru2bBQX4KZk9aX+Aji6+7N276V+qCYo0NcHh85Ve2A0aNEi2uKX23MX4+HjExMTA3t6+1e7v6emJ9957D7/++qssdvv2bWzatEn2MySEdH40FEvISyI6Ohqurq6ofrpHHABYWloiIiJCbnVnXSQSCXZs3Yru4RGwb+E2LIoU3csCGU5OWPb+++C1k95EqVQKCwsL1pzIL774At98802r3resrAxOTk6sLVZUVVURGhoKOzu7Vr03IaR9oKFYQl4CVVVV8PHxYRV1XC4Xvr6+jSrqgJohRnsXF6Sa94CE2/AfHWVlZXiSl4fCoqJWHYKUcLlI6dEDDq6u7aaoA2qebVsPxwKApqYm/Pz8WCuEq6qq4O3tzfrZE0I6LyrsCHkJbNiwQW6Y9aOPPoKbm1uT2nF0dES1QIB0I6N6P1NaWoqi4iJUV1dBJCpDaa1hSUVKMzKCWCCAg4NDq92juWqvjk1MTJRtW9Oa3Nzc8OGHH7Ji4eHh+O6771r93oQQ5aPCjpBOLjQ0FBs2bGDFbG1t8fXXXze5LX19ffSytMTDnuZ17mlXWVWF4pISVqy1Ju9LORw86mmOXlZW0NfXb5V7tMSAAQPQq1cvVqw197R73vr169GvXz9W7Ntvv0VYWFib3J8QojxU2BHSiVVUVMDb25tVXPF4PPj5+TV7Xzf3oUNRamSExO7dWXGJVPr0JIvnhxs5EAg0mnWfF0no3h2lRkZw9/BolfZbisPhyB0xdvTo0TY5y1VdXR3+/v6s4WmxWAxvb+8mn15CCOlYqLAjpBNbu3Yt4uLiWLEvvvgCrq6uzW7T1NQUA9zdcd/SEsVP5+cxAAqEQkil7N45bW1tqKqoNus+xSUlyMvPR/nTc2OfVyQQ4IGVJQZ6eMDU1LRZ7beF2oVdUlIS7t271yb3dnV1xZo1a1ix2NjYVt1PjxCifLQqlpBOKjg4GB4eHqweImdnZ9y5cwcqKiotalssFsNv/35I4uIxNDwcZYWFKCsrZX1GTU0dBgYGaM4hZIVFhRCJRLLXqqpq0NPTA5/Hg5jLxQ0XZ6jY2MB7wQLw+e131yaGYWBlZcVapfrhhx9i06ZNbXL/qqoqDBo0iDW3j8vlIjAwEEOGDGmTHAghbYt67AjphMrKyuDj48Mq6lRVVeHv79/iog6oORN1opcXRN26IdjaCiUi9gIJHo8PfX39ZhV1AFBZwR4urKqqRG5uLgpKSnC7nw3KTbthgpdXuy7qgJrh2NqLKI4ePdpm57jW9TOXSqXw8fFhFc6EkM6DCjtCOqHPPvuM1UsE1EyoV+ReZl27doXzoIFI1NJC3JAhkDydz8UBBwb6+uDWsbiiseraukTC4yLEwR4JAgGkfJ7SNyRurNqFXVpamtwm0a3J3t5ebqFMYmIiPv/88zbLgRDSdmgolpBO5urVq3Jnpg4ePBiBgYEK3eutpKQEAwcOhEgkwozJk9FNJIJNaCi6cbiN3huv3rZLS1Dy3OraMh0d3Hftj0yBBo6eOoW0tDR88803+OKLL1r6NVodwzDo168f7t+/L4u9//772LJlS5vlIBaL4eHhIVdQXrt2DSNGjGizPAghrY967AjpRIqLi7FgwQJWTENDA35+fgot6hiGwaJFi3D//n2kpqbij7/+QrxEgrCxY5FmZVXnVihNwefVDLFKORykW1vjrqcn4sXV+OOvv2SnOZw5c6bF36Mt1DUce+zYsTYbjgVqhs7rWgk9f/58VgFNCOn4qLAjpBP58MMPkZKSwop9//33sLKyUuh9tm3bhqNHj8pe5+bmIjwqCoPHjMF9eztc6++KZGPjF55QUS9VVeT07ImwkSMR07cvroaE4MAffyA3N1f2kWfn23YEtQu7zMxMBAYGtmkO1tbW+P7771mx5ORkfPTRR22aByGkddFQLCGdxL///osJEyawYsOHD8fVq1dZR0y1VFBQEEaMGAGxWCyL6enpISwsDL169UJmZiaCg4KQlJAAvkiEnmlpMM0XQresDCoNbFZczeOhSFMTWYYGSDYzQ15VFRKSkhAUHIzs7GzWZ6dMmYIjR44oZCFIW3FwcEB0dLTs9fLly7F9+/Y2zUEqlcLT0xM3btxgxS9cuIBx48a1aS6EkNZBhR0hnUBBQQHs7OyQmZkpi2lpaSEqKkru9IOWyMnJgbOzM7Kysljxs2fPYuLEiXI5RUVFISo0FBVlZWDEYmiVl0NHWABVsRhcRgoph4sqPh/FBvoo1dAAh8+HuqYm7F1cMGfOHLn7PGNubo7o6Gjo6Ogo7Lu1tg0bNrDmBJqYmCAjI6PNz7h9/PgxHBwcUPbcUW/du3dHTEwM9PT02jQXQojiUWFHSCcwd+5c/Pnnn6zY7t27sWTJEoXdQywWY8yYMQgICGDFv/jiC3zzzTf1XieRSCAUCpGTk4OcnBw8yc5GVUUFJGIxeHw+VNXV0aVrV5iYmMDExAQGBgbg8XiYOXMmjh07Vm+7CxcuxN69exX19VpdYmKi3JD4lStXMHLkyDbPZdeuXXjnnXdYsblz58Lf37/NcyGEKBbNsSOkgzt16pRcUTdu3DgsXrxYofdZs2aNXFE3ZswYrFu3rsltPfv3ZEP/rtyzZw/ef/99zJ49G//995/cnLp9+/bh3LlzTb63slhaWsLZ2ZkVa6uzY2tbunQpxowZw4r98ccf+Pvvv5WSDyFEcajHjpAO7MmTJ7C1tcWTJ09kMV1dXcTExMDMzExh9zl16hSmTp3KivXo0QNhYWEwMjKq85qCggJERkYiOiyMNRSrKxRCRSwGl2Eg5XBQzeejyMBAbijW0dER+vr6svaSk5Nhb2+P0tL/n3BhamqKmJgYGBgYKOy7tqaNGzfi008/lb02NDREdna2UjZaTktLg729PYqKimQxY2NjxMbG1vszJYS0f1TYEdJBMQyDGTNm4MSJE6y4n58fvL29FXafxMRE9O/fH8XFxbKYiooKbt68iUGDBsl9PjMzE8GBgUhKTISKSATz1DSYCpuweMLAAKnmPVAtEKCXpSXchw6VnQe7Z88eueHlOXPm4ODBgwr6tq0rKSkJr7zyCit28eJFjB07Vin5+Pn5Yd68eazYjBkzWCueCSEdCxV2hHRQhw8fxpw5c1ix119/HadOnQKnhfvIPVNWVoYhQ4awVnMCwG+//YZly5axYmKxGEFBQQgJCoJWXh76pKTCLC8PvGbs1ybhcpFuZISHPc1RamSEAe7ucHd3B4/Hw4QJE3DhwgXW548fP45p06Y1/QsqwcCBAxESEiJ7vWDBAuzbt08puTAMg9dffx3//PMPK/7XX3/JbdFCCOkYqLAjpAPKzMyEnZ0dCgoKZDFDQ0PExsYq7KgthmHg7e0tN3/vrbfegr+/P6t4zM7OxrkzZ1CQnoG+iYmwzMgAVwF/tEg5HCR27477lpYwMOuOCV5ekEgksLOzQ2FhoexzRkZGiI2NhbGxcYvv2dp+/vln1t5xenp6yMnJgaqqqlLyyc7Ohq2tLYRCoSxmYGCA2NhYdO3aVSk5EUKajxZPENLBMAyDJUuWsIo6ANi5c6dCz0/dvXu3XFFnZ2eHXbt2sYq6lJQU/OXvD0lcPDzv3IF1erpCijoA4DIMrNPT4XnnDsRx8fjL/w+IxWL8+uuvrM/l5eXhnXfeaXAxRnsxc+ZM1uvCwkJcunRJSdnUnPm7Y8cOVkwoFGLx4sUd4nkSQtiosCOkgzlw4IDcatBZs2ZhxowZCrvH3bt38f7777NiOjo6OHHiBDQ1NWWxlJQUnDh8GPpJyRgaHg4dkUhhObDuLRJhaHg49JKTcOLwYXh4eGDy5Mmsz5w8eRKHDh1qlfsrUo8ePeDm5saKKXtO26xZs+QKzrNnz8LPz09JGRFCmouGYgnpQFJSUmBvb88639PExASxsbEwNDRUyD3y8vLg4uIiO5P1mZMnT2LKlCmy19nZ2fjL3x96SckYEhursF66hkg5HNyys0WhRS+MnTQRw4cPR15enux9PT09xMbGolu3bq2eS0ts3boVK1eulL3W0dFBTk6O3FmubSkvLw+2trasY9t0dHQQExODHj16KC0vQkjTUI8dIR2EVCrFwoUL5Q5t37Nnj8KKOolEgjfffFOuqPv4449ZRZ1YLMa5M2cgyMzCoLi4NinqgJqh2UGxcdDIysTtwED89ttvrPcLCwuxaNGidj+EOGPGDNZwdnFxMS5evKjEjGrmKe7Zs4cVKy4uxsKFC9v98ySE/B8VdoR0ELt27cKVK1dYsXnz5uG1115T2D3Wr1+P//77jxUbPnw4vvvuO1YsKCgIBekZcI2PB78Zq15bgi+VwjUuHsKMDHTt2hVvvPEG6/1///0X+/fvb9Ocmqpbt24YOnQoK6aszYqf5+XlJbdVzqVLl7B7924lZUQIaSoaiiWkA3j48CEcHR0hem4Om5mZGWJiYqCrq6uQe5w/f17uvFdTU1OEhYWxVkdmZmbikK8v+kbHwDo9XSH3bo77ZmZ4YG+HSVOnwtPTE9nZ2bL3tLS0EB0dDQsLC6Xl9yI7duzA8uXLZa81NTXx5MkTaGhoKDGrml5POzs7ZGRkyGKampqIioqS24OPENL+UI8dIe2cRCLB/PnzWUUdUHOklqKKuqSkJLz11lusGI/Hw9GjR+W2vAgODIRWXh4sn/uLXxmsMjKglZeHmOhouTNjS0tLsWDBAkjbuDexKaZNmwYu9/9/BJeVleH8+fNKzKiGnp6e3L56ZWVlmDdvXrt+noSQGlTYEdLObdmyBYGBgazY22+/rbDTCioqKjB9+nS57VN++ukneHh4sGIFBQVISkxEn5TUNptXVx8uw6B3SiqSEhLg5uaGBQsWsN6/du2a3DYe7YmJiQlGjBjBirWH4Vig5qzhpUuXsmI3b97E1q1blZQRIaSxaCiWkHYsPj4ezs7OqKyslMV69eqFqKgoaGlpKeQeixcvluvxmj59Oo4ePSp3gkVAQAAiLl3Cq4FBzTpRQtEkXC7+9XCHy9ixcHJygr29PWvhh4aGBiIjI2FpaanELOv3+++/swooDQ0N5ObmKuxn2xIlJSVwcHBAcnKyLKauro7w8HD07dtXeYkRQhpEPXaEtFNisRg+Pj6soo7D4cDX11dhf/Hv379frqiztrbG/v375Yo6iUSC6LAwmKemtYuiDgB4Uil6pqUhKjQUWlpacosmysvLMW/ePEgaOKNWmaZOnQoejyd7XV5eLrdHobJoa2vD19eXFauoqICPjw/EYrFykiKEvBAVdoS0Uxs3bmSdKfrMihUr4OTkBCcnJ1RVVTW53R9//BEAEB4ezpq8D9RMkj958iS0tbXlrhMKhagoK4Ppc0dPAcD21BRMDAvFpLBQTI0IR1pFRYP335PO3kqlqdcPvH2L9do0vyYvoVCI0aNHy51hGxwcjM2bN8u+t6JERkaCz+fj7NmzzW7DyMgIo0aNYsXay3AsULMi+vn99oCazat/+ukn5SRECHkhGoolpB2KjIzEgAEDUF1dLYtZW1sjLy+PtSFvcxgZGSExMRH9+/fH48ePWe8dPnwYs2fPlrtGIpEgPj4e548dw2sB12VbnIQVF2NLSjL229mDz+Egu7ISGjwudPkq9d5/4O1buDt4iEKuB4BqHg9nhw/DhBkzYGdnh9LSUjg5OeHRo0eyz6iqqkIgEMjNI2yIRCJh9aY9j2EYTJw4EQzDYPny5Zg0aVKj261t//79WLhwoey1mpoacnNzoaOj0+w2Fam8vBxOTk5ISEiQxVRUVHDv3j04ODgoMTNCSF2ox46Qdqaqqgre3t6soo7L5dZ7vNP58+cxePBgODk5YcmSJbKVi0uWLIGrqytsbW1lG/muWbMGhYWFsLCwkCvqVqxYgXv37smG3ywsLLB+/Xq4ubkhICAAfn5+2PH775hyLwRbU5IBAE+qqqDD54P/dNi2q5qarCgLEAoxIzICXuFh+CIxEVKGwebkZJSIxfAKD8O6Rw+bfH1tO9NSMSv0Hrbu2CEbUtbS0sLw4cPlnmlhYSEcHR1lvZQbN26EnZ0d7O3tcfDgwZp7BgRg7NixmDlzJjw9Pev9Gf3xxx8YOXKkQs7mnTJlClRU/l/IVlZW4syZMy1uV1E0NDTg5+fHWsFbXV0Nb2/vZvUYE0JaFxV2hLQz69evR1RUFCu2evVqDBo0CIWFhbJh2Lfffht5eXnYvHlzzaKGiAioqqrKzh394YcfEBoaivDwcOzbtw95eXnYsGED1NTUUFxczGp/yJAhdQ6vGRoaIjg4GKamprh54wa+GT8efzu7IK60DOHFxXDX00NyeTleDb2Hbx89QtTTUzGE1dU4kJGBP+0dcMbZBSpcDs7nPcEqCwto8/k44+yCdb37NPn6590oECK/qhonnZyxYdJrOPvPP0hPT8fZs2eRnJwsd9YtULMo5LfffsO9e/dw9OhR3Lt3D9evX8dXX32FzMxMAMCdO3ewZcsW3Lhxo86fT3FxMfbu3YsVK1Y05sf5Qvr6+nIrnJV9dmxtgwcPxieffMKKRUZG4ttvv1VSRoSQ+vCVnQAh5P/u3r2LH374gRWzt7fH2rVrAdTsMRYRESF7759//kFUVBQGDx4MoGbYrHv37gCAQ4cOYd++fZBIJEhNTUViYiIiIiLk9sPj8/k4evQoVFVV5fKZMWMGAODKlStISEjAl4mJ0KiqgkgiQWpFBZx1dHDa2QV3CgsRXFiI+THR2NrXBlVSKR6IyjAjsibXSqkUJqpqcu1r8fnNvj6ooBBXhULcLS5CeWwMyng8PHr0CFevXsX8+fMxbdo0XLx4Effv35dds379ekyaNAmBgYGYNm0a1NXVoa6ujlGjRiEkJAS6urpwd3dv8KzZtWvXYvXq1XU+r+aaNWsWa9HEhQsXUFhYCD09PYXdo6XWrVuHs2fPIiYmRhb77rvv8Nprr2HAgAFKzIwQ8jwq7AhpJ8rLy+Hj48Nawcnn8+Hv7w81NfmiCKiZ6zVp0iS51aCPHz/Gjh07cOvWLejq6uLVV19FWlqa3GIJDocDCwsLmJmZAQBrBS4ACAQC2X2GDx2KN/X14fg4ifUZPocDd319uOvrQ19FBVeE+fDQ04envgG+t7J64fdu7vUMgPfMzTHFxASRr/RCiZsbhg8fjr///hvA/4cQ3dzcZM/02Urj2sdmMQwjWwX87DvXJzQ0FKdOncLy5cuRl5eHf//9F3/88UeL9hX08vKCqqqqbGizuroap0+fxrx585rdpqKpqanB398fAwcOlK2KlUgk8PHxQVhYGNTV1ZWcISEEoKFYQtqNL7/8ktW7BABfffUVnJyc6r1m8ODBuHbtmmzvtvz8fKSnp6OkpARaWlrQ0dFBcnIyAgMDsW7dOrmFF+vXr0dJSQlKSkpQWlqKS5cu1XmfkSNH4u69eyh+WnhkV1aioLoaj0UipJaXA6gpjhJFZeiupg4nbW3cKSpE1tNCsaC6GtlPf83jcCB5Ol+uOdc/46anh+M52aiQSCDlcJGbl4eKigqMHj0aBw4cQGVlJQYOHCg3JBsdHY3Y2FicPHkSlZWVKCgowLVr1xrd63Tjxg0kJycjOTkZ06dPx759+1q8WbSuri7Gjx/PirWn1bHPODs748svv2TF4uPj5WKEEOWhHjtC2oGbN29i8+bNrJirqys+/fTTBq8zNjbGzp07MXnyZFRXV0NFRQV79uyBi4sLrK2tYWdnBysrKxgYGCA+Pp51rYWFBT7//HMIBAK4uLjA0tIS9vb2dd7Hzs4Or3t54etjx6BeUQFNHg+/WPeFSCrB+kePUPq0R8xWUwtvmZpCncfDuj59sCwuDmJGCj6Hi28tLdFVTQ1TjE0wKSwUg/T0MN3EpMnXPzPCwACJojJMj4xAWXw8dLuZ4t2VKzFhwgSEhobCxcUFKioqmDdvHhwcHFjzFv39/fH222/D1dUVHA4HX3/9NUxNTfHgwYPG/9AUbNasWbLeRgC4fPky8vPzYWhoqLSc6vLZZ5/hzJkzCA0NlcV+/vlnTJ48Ge7u7krMjBAC0HYnhChdaWkpHB0dWatU1dTUEBoaCltb2xa3f/DgQblzYHv37o179+41aQ7XlStX8ODiRYy5dbvFOSnapSGDYT1unNyecM/Ut31MeHg4NDQ02irNBpWWlqJLly6oeG4fvz179mDRokVKzKpusbGxcHFxYa2K7d27NyIjI6GpqanEzAghNBRLiJKtXr1abuuRb775RiFFXUxMDJYsWcKKqaur48SJE02emG9iYoJSDQ1U17O3m7JU83go1dBocOsRR0dH2QKUZx48eIA1a9a0dnqNpqWlhYkTJ7Ji7XE4FgBsbW3xzTffsGKPHj16YQ8zIaT1UWFHiBJdvnxZ7qB6Nzc3rFq1qsVtFxcXY9q0aXKrYHft2gVHR8cmt2diYgIOn4+idtYjU6SpCQ6f/8I95VavXi03j66hbU2io6NlW8s8+2/69OkKy7sus2bNYr2+evUqcnNzW/WezfXhhx9iyJAhrNj27dtx5coVJWVECAFoKJYQpSkqKmq1Q+sZhsGMGTNw4sQJVnzJkiXYvXt3s9qUSCTYsXUruodHwP65g+FbQ2VVFSorKqCqpgb1elYEPxPdywIZTk5Y9v779Z4U8Ux8fDycnZ1Zq3979eqFqKgohZ2/2xIikQjGxsYoKyuTxXbs2IF33nlHiVnVLzExEY6Ojih/ugAGAMzNzREdHd1uTs4g5GVDPXaEKMmqVatYRR1Qc45rS4s6ANi8ebNcUde/f39s3bq12W3yeDzYu7gg1bwHJNzW+6Ojqroa+fn5KC0rhVCYj6Liono/K+FykdKjBxxcXV9Y1AGAjY0NNmzYwIolJSXh448/bnHeiiAQCPDaa6+xYu1ts+LnWVpaYuPGjaxYamqqQnqcCSHNQ4UdIUpw9uxZub3nPD095Q6wb44bN25g9erVrJiBgQGOHTvW4r3GHB0dUS0QIN3IqEXtNKS6qgo1u9TVKCsrQ2FREeoaWkgzMoJYIGjSmaUrV66Eh4cHK7Zr1y78999/zcxYsWbOnMl6ff36dWRlZSkpmxdbvny53PFr+/btw/nz55WUESEvNyrsCGlj+fn5WLx4MSumra2N/fv3s87jbI6srCzMmjWLtckxh8PBwYMHYWFh0aK2gZrjr3pZWuJhT3NIn27oq2hq6uoA2G2LRGUoqlXcSTkcPOppjl5WVtDX1290+zweD76+vnIbES9cuBCFhYXNT1xBxo8fD21tbdlrhmFw/PhxJWbUMC6Xi/3798sNZS9atAhCoVBJWRHy8qLCjpA29t577yE7O5sV27x5c4sLr+rqasyaNUuu7bVr1+LVV19tUdvPcx86FKVGRkh8enSZovF5POjr66HO4q6wUFbcJXTvjlIjI7jX6n1rjN69e8udjZueno4PPvigeUkrkLq6Ol5//XVWrL2ujn3GwsJCbh/GrKwshZ2nSwhpPCrsCGlDx48fx+HDh1mx8ePHY+HChS1u+7PPPsPNmzdZsVdffVXhpwKYmppigLs77ltaovgFx281l4a6xtNeuFrFXbkIhYWFKBQI8MDKEgM9PGBqatqse7z99tty+975+vrizJkzzU1bYWqvjg0KCkJ6erqSsmmcRYsWyf0D4uDBgzh58qSSMiLk5USrYglpI7m5ubC1tWUd66Wnp4fY2NgGD51vjOPHj2PGjBmsmLm5OcLCwlrl5AKxWAy//fshiYvH0PBw8KVShd8DACoqKiAsKMDzc+4kPB5iRo6CppMjfBYuBJ/f/AN0UlNTYWdnh5KSElnMxMQEsbGxSj3xobKyEiYmJigq+v/Ckc2bN7eLHsWGZGRkwM7OjjWk3aVLF8TExMDY2Fh5iRHyEqEeO0LaAMMwWLp0qdxZrdu3b29xUffgwQMsWLCAFVNVVcXx48dbrTjh8/mY6OUFUbduuGPbr9Xm26mrq8PA4P89d1IOB/GDBiFVVQU3goNb3L65uTm2bNnCiuXk5GD58uUtbrsl1NTUMGXKFFasvQ/HAkD37t3x66+/smJPnjzBO++8A+pDIKRtUGFHSBs4ePAgTp8+zYpNnToVc+bMaVG7paWlmDp1KqvHCQB+/fXXRh9q31xdu3bFlFkzITQ3xy07W4hbaQsUdTV1GBgYQMrjI27IEKQaGuLoqVPw9/fH7NmzWceENcf8+fPrPPFB2duM1B6OvXPnDpJbef9ARXjzzTcxefJkVuzkyZNyUxAIIa2DhmIJaWUZGRmwtbVlDasZGRkhNja2RcNTDMPgzTfflPsL08fHBwcOHACnlXrRaktJScGpI0chyMyEa3w8dGqddKEIRQIB7lpbIYnLxZGTJ1n7/02ePBlHjhyBqqpqs9vPysqCra0tCgoKZDFDQ0PExsa+8ESL1lJdXY2uXbuyVpb++OOP7WbPvYbk5OTAzs6uVaYdEEIaRj12hLQihmGwaNEiVlEHALt3727xnKMdO3bIFXUODg7YsWNHmxV1ANCzZ0/M9p4LXj8bXBs0CA/MzBQ2NCvlcHDfzAwBgwdB3c4OHp6ecsPZp0+fxvTp01mnSTSVqakpfvvtN1YsPz8fS5YsUdoQooqKCqZOncqKdYThWKBmnuLOnTtZscLCQixevJiGZAlpZdRjR0gr2rNnD5YsWcKKzZkzBwcPHmxRu7dv38awYcNYw5C6urq4d+8e+vTp06K2m0ssFiMoKAghQUHQystD75RU9MjLA68ZCyskXC7SjIzwqKc5So2MMNDDA25ubuDz+QgICMDEiRPlzsCdMGECTpw40exNmOs7hs3Pzw/e3t7NarOlLl++jDFjxrBiiYmJSvsZN9WcOXPk/vGxd+9ehawCJ4TUjQo7QlpJcnIy7O3tUVpaKouZmpoiJiYGBgYGzW73yZMncHZ2RkZGBit++vRpuf3PlCEzMxPBQUFISkgAXyRCz7Q0mOYLoVtWBpXnNk6urZrHQ5GmJrIMDZDSowfEAgF6WVnBvY4tTW7evInx48ezzlQFgLFjx+L06dPQ0NBoVu5PnjyBra0tnjx5Iovp6uoiJiYGZmZmzWqzJcRiMbp168bKZ8OGDfj888/bPJfmEAqFsLW1Ze2tqK2tjejoaPTs2VOJmRHSeVFhR0grkEqlGDVqFAICAljxc+fOYcKECc1uVyKRYNy4cbhy5Qor/umnn+L7779vdrutoaCgAFFRUYgKDUVFWRkYsRha5eXQERZAVSwGl5FCyuGiis9HsYE+SjU0wOHzoa6pCQdXVzg4ODR4okRQUBDGjx8vt3Bk1KhROHPmjNzJEo116tQpuSHQsWPH4sKFC206xP3MsmXLWMOajo6OiIiIaPM8muvs2bNy59+OHDkSly5davFJK4QQeVTYEdIKfv31V7ld9xcuXIi9e/e2qN01a9bgu+++Y8VGjhyJixcvtmg/t9YkkUggFAqRk5ODnJwcPMnORlVFBSRiMXh8PlTV1dGla1eYmJjAxMQEBgYG4PF4jWr79u3bGDduHIqLi1nxESNG4OzZs9DU1GxWznPnzsWff/7Jiu3atQtLly5tVnstERAQIHcW6/3792Ftbd3muTTXggULcODAAVbs119/xbvvvqukjAjpvKiwI0TBEhIS4OTkhPLyclnM3Nwc0dHR0NHRaXa7//zzD7y8vFixbt26ITw8vEkLMeoqtCrLyyGVSMDl8aCmodHsQksZQkJCMHbsWLlzXocOHYpz586xzl1trIKCAtjZ2SEzM1MW09TURHR0NHr16tXSlJtEIpHAzMyMNZz59ddf46uvvmrTPFqiqKgI9vb2rNXMAoEAERERsLS0VGJmhHQ+VNgRokASiQRDhw7FrVu3WPHLly/LHV/VFI8fP4aLiwtrdS2fz8f169fh5ubWqDYKCgoQGRmJ6LAw1tCorlAIFbEYXIaBlMNBNZ+PIgMD1tCovYsLHB0dGxwaVaawsDCMHj2atV0JALi7u+P8+fPNKqgvXLiA8ePHs2LDhw/H1atX23wIccWKFayNf/v164fY2Ng2zaGl6loI4ubmhhs3brTrfzgQ0tFQYUeIAv34449YvXo1K7Z8+XJs37692W2Wl5fDzc1Nbl7V1q1bG3XIemZmJoIDA5GUmAgVkQjmqWkwFTZhMYOBAVLNe6BaIEAvS0u4Dx3a7PNZW1NERARGjx6N/Px8Vnzw4MG4cOECdHV1m9zmkiVLsGfPHlZsy5YteP/991uUa1MFBQXBw8ODFYuJiYGtrW2b5tFSy5cvx44dO1ixn376CR999JGSMiKk86HCjhAFiY2NhYuLC6qqqmSx3r17IzIystlzvRiGwYIFC+Dr68uKz549G4cOHWpwMn/t7Uf6pKTCrAXbj6QbGeHh0+1HBri7w93dvd3N64uOjsaoUaNYq0gBYMCAAbh48WKTexxLSkpgb2+PlJQUWUxdXR0RERFtOsdNKpXC3NyctRL6yy+/xPr169ssB0UoLS2Fk5MTHj16JIupqakhLCwM/fr1U2JmhHQeVNgRogDV1dUYPHgwwsLCZDEOh4ObN2/C3d292e3u3bsXixcvZsVsbGxw9+5daGlp1XtddnY2zp05g4L0DPRNTIRlRga4Cvi/upTDQWL37rhvaQkDs+6Y4OWFrl27trhdRYqNjcWoUaOQk5PDiru4uODSpUtN3mrm2rVrGDlyJCs2ePBgBAYGtukQ4qpVq/DLL7/IXltZWeH+/ftKWanbEoGBgRg2bBhro+L+/fsjODgYKioqSsyMkM6B1poTogDff/89q6gDgA8//LBFRV1oaKjcqkEtLS2cPHmywaIuJSUFf/n7QxIXD887d2Cdnq6Qog4AuAwD6/R0eN65A3FcPP7y/4PVm9Ue2NraIiAgQG64OCwsDKNGjZI7ueJFPD098d5777Fit2/fxqZNm1qca1PUPjs2ISEBkZGRbZqDInh4eGDVqlWs2L179/DDDz8oKSNCOhfqsSOkhcLCwjBo0CCIxWJZzMbGBmFhYc0+BUEoFMLV1VXu0PejR49ixowZ9V6XkpKCE4cPwzAlFQPj4sBvxrBrY4m5XNyx7QehuTmmvfFGu9twNiEhAZ6enqyVrQBgb2+Py5cvN2klsUgkgpOTExITE2UxVVVVhIaGws7OTmE5N4RhGPTq1YtVSH/22Wdy2990BOXl5XBxccH9+/dlMT6fj5CQEDg5OSkvMUI6AeqxI6QFKisr4ePjwyrqeDwe/Pz8ml3USaVSvPXWW3JF3QcffNBgUZednY1TR47AICUVg2NjW7WoAwC+VIohMbEwSE3FqSNHWdtxtAdWVla4fv263IkR0dHR8PT0lBuqbYhAIICvry9rNWxVVRW8vb1Zx7q1Jg6Hg5kzZ7JiR44c6ZBnr2poaMDPz481lC0Wi+Ht7d2iM38JIVTYEdIi69atQ0xMDCv22WefYcCAAc1uc8OGDfj3339ZMQ8PD2zcuLHea8RiMc6dOQNBZhYGxcUpbOj1RbgMg0GxcdDIysT5M2dYBW570KdPH1y/fh3m5uaseFxcHEaMGIGsrKxGt+Xm5ia3ejM8PBwbNmxQSK6NUXs49vHjxwgNDW2z+yvSwIED8emnn7Ji0dHRHW5BCCHtDQ3FEtJMt2/fhru7O6TP9Yw5Ojri7t27UFVVbVabFy9exPjx41m9MCYmJggLC0O3bt3qve769esIuXIVnnfuQEckata9W6JIIEDA4EEYOGoUhg0b1ub3f5Hk5GSMHDkSSUlJrLiVlRWuXr2K7t27N6qdiooKuLq6Ii4uThbj8/m4ffs2XF1dFZpzXRiGgaWlJWtV6UcffYSffvqp1e/dGqqqqjBgwABERUXJYlwuF8HBwRg0aJASMyOk46IeO0KaQSQSwcfHh1XUqaiowN/fv9lFXUpKCubMmcMq6ng8Ho4cOdJgUZeZmYmQoCD0TUxUSlEHALoiEawTEnE3MLBJvWBtxcLCAgEBAejduzcrnpCQgOHDh7NORGiIuro6/P395YYQfXx82mQIsa7h2KNHj3bI4VigZp6iv78/azWsVCqFj48P6+QWQkjjUWFHSDOsWbMGCQkJrNi6devg4ODQrPYqKysxY8YMCIVCVvz777/H8OHDG7w2ODAQWnl5sHxujzNlsMrIgFZeHoICA5WaR33Mzc0REBAgd4TVo0ePMHz48Eav7nV1dcWaNWtYsdjYWKxdu1ZhuTak9nBsamoq7ty50yb3bg2Ojo5yz+7Bgwdyz5gQ0jhU2BHSRNevX8eWLVtYsYEDB+KTTz5pdpsrV65ESEgIKzZlypQX7shfUFCApMRE9ElJbbN5dfXhMgx6p6QiKSFB7miv9sLMzAwBAQHo27cvK56UlIThw4fLDdXWZ82aNXB2dmbFfvrpJ7mj5FqDg4OD3ObIR44cafX7tqbVq1fLzUvdsmULbty4oaSMCOm4qLAjpAlKSkowf/58VkxdXR1+fn7NPoXB398fu3btYsUsLS1x4MCBF24+GxkZCRWRCGZN3JuttfTIywNfJGLNmWpvunXrhmvXrsmddJCSkoLhw4ez5q/VR1VVFX5+fnUOIYpaeTicw+HI9dodO3aMNS2go+Hz+fDz84OamposxjAM5s2bh9LSUiVmRkjHQ4UdIU3w8ccfy/XqbNiwQa4HqLGioqLw9ttvs2IaGho4ceLEC882lUgkiA4Lg3lqWrOOCWsNPKkUPdPSEBUaCkkD59AqW9euXXHt2jW5PejS0tIwfPhwuWH2utjb28ut4ExMTMRnn32m0FzrUnueXUZGBoKCglr9vq3JxsZGboVxUlJSi3rCCXkZUWFHSCNdvHgRu3fvZsWGDh3a7APhi4qKMG3aNLlJ4r///jvs7e1feL1QKERFWRlMa83LUzbT/Jq8as8XbG+MjY1x7do1ODo6suIZGRkYMWIEa/Pc+nz00Udyqze3bduGa9euKTTX2mxtbWFra8uKHT16tFXv2RZWrlwJDw8PVmznzp24dOmSkjIipOOhwo6QRigsLMTChQtZMYFAgODgYLi6usLJyQlOTk6oqqpqVHvPhpkePnzIii9btgxvvfVWo9rIyckBIxZDr9ZQ1fbUFEwMC8WksFBMjQhHWkVFg+3sSWevCG3q9QNvs+eV6ZaVgRGLX7gB8I8//tjg+40VGBgIR0dHODk5YcCAAQgODm70tUZGRrhy5YrcfLmsrCyMGDGCta1JXZ4NIdbejHrBggUoKSlp/JdohtrDscePH2/XvaSNwePx4OvrC4FAwIovWLAARUVFSsqKkI6FCjtCGmHlypXIqLXqdNOmTdDT00NERITsv8ZudfLTTz/h9OnTrNjAgQOxefPmRl0vkUiQk5MDrfJy1gkTYcXFuFtUhL+dXXDWxRU7bPpBh9/wQfV70tNbdH1tKhIJtMrLFV7Y1Ve0uLi4ICwsDBEREfDz88M777zTpHYNDQ1x5coV9O/fnxXPycnBiBEj5Dagrs3a2hrff/89K5acnPzChS8tVXs4Njs7u1MsNujdu7fcvnzp6elYuXKlchIipIOhwo6QFzhz5gz8/PxYsdGjR8vNjXvm/PnzGDx4MJycnLBkyRLZpPYlS5bA1dUVFhYWcjvu83g8WFtbIysri1VgfPTRR/D19QVQsxfb+vXr4ebmhoCAABw7cgQ/HziA18JCsTUlGQDwpKoKOnw++E8XXXRVU4Muv2aCf4BQiBmREfAKD8MXiYmQMgw2JyejRCyGV3gY1j162OTra9uZloqpEeH4Ye9eHDp4UBZfv3497Ozs4OjoiF9//RVr1qxBYWEhnJycsHz5cgDAxo0bYWdnB3t7exx8em1AQADGjh2LmTNnwtPTs87nLRAIZPvKlZSUvHDBSV309fVx6dIluWHVJ0+eYMSIEYiMjGzw+hUrVshtS/P777/jwoULTc6lsaytreWGkTv66thn3n77bYwaNYoV8/X1xZkzZ5SUESEdCEMIqdeTJ08YExMTBoDsPx0dHSYlJYVhGIbh8XiMo6Mj4+joyCxdupR58uQJM2rUKKa8vJxhGIZZvnw5c/jwYYZhGCY/P59JT09nunTpwmoPAPPff/8xDMMwSUlJjKurq+z+H374IXPgwAGGYRimZ8+ezPbt2xmGYZjY2Fimv6src3juXOa+uwfjqW/AHHFwZMIGD2GsBALmFQ0Nxtu0G3Pc0YlJ8BjK3B40mBmiq8dEu7kzCR5DmTdNTZnN1tZMgsdQRo/PZxI8hjIJHkNbdP1eW1vG27Qbk+AxlDn41lyml4UFk5aWxvzzzz/MyJEjmYqKCtlzYBiGMTQ0lH3PkJAQxsXFhSkvL2fy8/OZV155hcnIyGCuXbvG6OjoMBkZGQ3+nC5dusT07duX0dfXZ27dutXsn3dRURHj5uYm9/MxMDBgQkNDG7z20aNHjKamJuu67t27M0KhsNn5vMh3333Hup+RkRFTXV3davdrSykpKYy2tjbr+5mYmDB5eXnKTo2Qdo167AhpwPLly+WGFLds2SI7e/T5odhdu3bh1q1biIqKkvXYXbp0SbaK9o8//oC1tTWePHnCak8gEGDMmDGNymfGjBkAgCtXruDRo0f49OxZTI4Ix6NyEVIrKqDF5+O0swu+fKU31LhczI+JRmBBASKKi/FAVCbrcQsuLER6hfxJCS25PqigEFeFQniFh+Hzc2dRUlKCR48e4erVq5g/f75sKwsDAwO5+wYGBmLatGlQV1eHgYEBRo0aJdvXz93dvcGTN4CaHtT4+HicP38eX331VaOeZV10dHRw4cIFuQn8QqEQo0aNwr179+q99pVXXsHPP//MimVkZDR7cU1j1J5nl5eX1+oLN9qKubm53H6ROTk5sh5eQkjdmrfxFiEvgSNHjsitNJw0aRLmzZtX7zUMw2DSpEnYv38/K/748WOsX78eZWVlrPiECRNYpwbw+XzWfmS1j6l6NqmcYRiMGDYMs/X14fzoMeszfA4H7vr6cNfXh76KCq4I8+Ghpw9PfQN8b2X1wu/d3OsZAO+Zm2OKiQnCe/dGxVAPDB8+HH///fcL7ynXFsPIhlRrT6RvyODBg5GWloYnT56gS5cuTb4vAGhra+PChQuYNGkSAgICZPHCwkKMHj0aFy9erPcc0yVLluDkyZP477//ZLE//vgDU6dOxeTJk5uVT0NeeeUV9O/fn1VwHjlypNH/UGjv5s+fj5MnT+LcuXOy2JEjRzB16lS5OYaEkBrUY0dIHbKzs7Fs2TJWTF9fH7///nuDc7gGDx6Ma9euyc4ezc/PR3p6Oo4fPy63/YeJiQn++OMP8Hg82cIAY2NjZGZmoqSkBKWlpfVu8zBy5EjcDQ1F4dPrsisrUVBdjcciEVKfbp/CMAwSRWXorqYOJ21t3CkqRNbTQrGguhrZT3/N43AgeTpfrjHXl1eUI62wECklJXh+lp2bnh6O52SjQiJBFZ+PPKEQFRUVGD16NA4cOCArUp89h+e/t4eHB06ePInKykoUFBTg2rVrcicR1CcpKUnWTkxMDEpLS2FoaNioa+ujqamJc+fOyc3zKioqwpgxY+pdecvhcLB37165PQiXLl2KvFbaRLp2gXPy5MlGr85u7zgcDvbs2QN9fX1WfNmyZS9cnEPIS0upA8GEtENSqZTx8vKSm2f1bK7c856fJ/bMv//+y7i4uDD29vaMi4sLc/z4cbm5VxwOh9m9ezfDMAzz8ccfMzY2NsyyZcsYhmGYn3/+menTpw8zfvx4Zvr06aw5diUlJbL7fPLJJ0z3Ll0YK4GAcdbWZgL6D2BOOjkxTtraTB+BgOkjEDCvdzFmooa4yebA2WpqMdYCAWOrqcWccnJmEjyGMou6mzG9NTSYOaamL7y+r4YG84qqKmOlqsr8bmbG3LS0YnR5PCZu8BAmwWMo87GFBWMlEDCmRkaMk5MTU1payjAMw6xfv57p168f4+joyPz66691fu8ffviBsbW1Zezs7Jg///yTYRiGuXbtGjNt2rQGf1579uyRtT1o0CAmICCgKT/uBolEImbs2LFyvxe0tLSYGzdu1Hudr6+v3DXTp09npFKpwnJ7Jjk5We5e58+fV/h9lOnQoUNy39HLy6tVnichHR2HYZR8wCQh7Yyfn5/ccOv06dNx9OjRJq+4LCkpwcCBA+U2u927d6/cvnhNFRMTg/PHjmHS9RtQaaP9y/Lz81FZJT83DwBUVFQh0NAAX0sL5z1HYMKMGXInO3REFRUVmDp1Kv79919WXCAQ4Ny5cxgxYoTcNQzDYPLkyXKrOA8fPozZs2crPMchQ4bg9u3bstc+Pj6y1dSdAcMwmDFjBk6cOMGK+/n5wdvbW0lZEdI+0VAsIc9JS0uTm+xubGyMHTt2NLmoYxgGixYtkivqFixY0OKiDqgZyuXw+SjS1GxxW42lVmsj3udVV1ehqLgIj6sqIaqqQnR0dKcYElRXV8epU6cwadIkVlwkEmHChAm4cuWK3DUcDge7d++WWyiyfPlyZGVlKTzH2osoTp8+LTc/syPjcDjYuXOn3LzJFStWIP25fRgJIVTYESLzrBCrvcP97t27mzURf9u2bXKLL5ydnbF9+/YW5fmMgYEB1DU1kVXHKtPWoqWpCT09fag83duuLkJTUxSVlODNN9+Eqakp3n33Xdy9exctHRyIjo6WnfDx7L/p06e3qM3GUlNTw4kTJ/D666+z4uXl5Zg0aRJrscQzXbt2xc6dO1kxoVCIJUuWtPhZ1Fb7ORQVFeHixYsKvYeydenSRe5Iv6KiIixcuFDhz5OQjoyGYgl5avfu3XKbDs+dOxf+/v5NbisoKAgjRoyAWCyWxfT09BAaGopXXnmlxbk+ExAQgIhLl/BqYBB4z62mbQvVYjHKRSKIysshldYMBUu4XARPmIBL4eFypyD07dsX3t7eeOutt9CjR482zVVRqqur8cYbb8gNCaqpqeHUqVMYP3683DWzZs2SK/APHDjQ4Orq5hg6dCgCAwNlr9988038+eefCr1HezB37ly577V7924sWbJESRkR0r5QYUcIarYjcXBwYG1H0q1bN8TExMityHuRnJwcuLi4IDMzkxX/559/5IbzWqqgoAB7d+yAc1g4eubmKrTtxmJQsy1LebkIKcYmCHd2wo69e+s925PD4WDkyJHw9vbG1KlToaWl1bYJt1B1dTXeeustuWJNVVUVx48fx2uvvcaK5+Xlwc7OjrWKU0dHBzExMQotcLdv34733ntP9lpLSwu5ubnQ0NBQ2D3ag4KCAtjZ2bH+/6WpqYno6Gj06tVLiZkR0j7QUCx56UmlUsyfP19uj7l9+/Y1uagTi8WYPXu2XFH3xRdfKLyoA2q2YOllaYmHPc0hbcZRWorAAaCupgZdfQPkOThAz8gIDg4O9X6eYRhcuXIFPj4+6Nq1K3x8fHDlyhXW/n3tmYqKCg4ePIg5c+aw4lVVVZg2bZrcGcBGRkb4/fffWbHi4mIsWLBAoUOI06dPZ80DLS0tlVvw0Rno6+tj7969rFhZWRnmz5/fYX4PEdKaqLAjL71t27bJDRsuXrwYr776apPb+uKLL1ib2gI1pyKsW7euBRk2zH3oUJQaGSGxe/dWu0djJHTvjrIuRpjr44MbN27g0aNHWLduXYNDz2VlZfD398fo0aNhYWGBzz//XG6xSXvE5/Ph7++PuXPnsuLV1dV1rt708vKCj48PK3b58mXs2rVLYTl17dpV7rzaznJ2bG3jx4/HokWLWLHr16/j119/VVJGhLQfNBRLXmoPHjyAk5MTKioqZDELCwtERUVBW1u7SW2dPn0aU6ZMYcXMzMwQFhbW7FMQGuv69esIuXIVnnfuQEckatV71aVIIEDA4EEYOGoUhg0bxnqPYRgEBwfDz88PR44cQXFx8QvbGzhwILy9vTF79uwWbzbcmiQSCRYvXowDBw6w4jweDwcPHmStVi0sLISdnR0yMjJkMU1NTURGRqJ3794KyWfXrl145513ZK8FAgFyc3Oh2YYrp9tKcXExHBwckJKSIoupq6sjIiIC1tbWSsyMEOWiHjvy0hKLxfDx8WEVdQCwf//+Jhd1iYmJcj0yKioqOH78eKsXdUDNear6Zt0RamMDMbdt/28t5nIR2s8GBt27w83NTe59DocDd3d3/P7778jOzsZff/2FCRMmgMfj1dvm3bt38e6778LU1BRTp07F33//3S63TuHxeNi7dy8WL17MikskEsyZMweHDh2SxfT09OSOmlP0EOK0adNYz1UkErGO4+pMdHR05ArqiooKzJs3T3YSCSEvIyrsyEtr06ZNrHNagZp9sTw9PZvUjkgkwrRp0+R6orZs2VLvmaKKxufzMdHLC6Ju3XDHtl+bzbeTcji4Y9sP5abdMMHLC3x+w8dPa2hoYNasWTh37hzS09Px888/Nzgfr7q6GqdOncLkyZPRvXt3rFixAvfu3WtX21twuVy5njKgZu5m7VXVY8eOxdKlS1mfu3nzJrZu3aqQXLp06YKRI0eyYp11OBYAPD09WQtGAOD27dvYtGmTkjIiRPloKJa8lKKjo+Hq6orq6mpZzNLSEhEREU06dJ5hGPj4+OCPP/5gxd9880388ccfTd7UuKVSUlJw4vBhGKSmYlBsHPitOJlczOXijm0/CM3NMe2NN9CzZ89mtxUZGQl/f38cPHiwUWeA9uvXD97e3njzzTdhZmbW7PsqEsMweP/99+XmeT07P3bBggUAak4jcXR0RFJSkuwzampqiIiIQN++fVucR+0eRHV1deTm5ja5F7qjEIlEcHJyQmJioiymqqqK0NDQTnHyCSFNRYUdeelUVVVh8ODBCA8Pl8W4XC4CAwMxZMiQJrVVV0+NnZ0dbt++rbR5TSkpKTh15CgEmZlwjY9vlTl3RQIBQvvZoNy0G6bMmtmiou55YrEY//33H/z8/PD333+/8PQEDoeD0aNHw9vbG1OmTFH6XDKGYfDhhx/il19+kXvv+b3Wrl+/LncU2cCBAxEUFPTCXs8XEQqFMDExYe2hWNcq3s4kODgYQ4cOZQ1pOzs7486dO1BRqX8zbUI6IxqKJS+dDRs2sIo6APj444+bXNTdvXtX7vgxbW1tnDhxQqkFRs+ePTHbey54/WxwbdAgPDAzU9jQrJTDwX0zMwQMHgQVGxvM9p6rsKIOqBlSnjBhAo4cOYLs7Gz8/vvvcHd3r/fzDMPg0qVLmDt3Lrp27Yr58+fj2rVrStv2gsPh4Oeff8bHH38s997SpUtlJ1EMHz4cK1euZL1/9+5d/Pjjjy3OwcDAAGPGjGHFOvNwLAC4ubnho48+YsXCw8OxYcMGJWVEiPJQjx15qdy7dw+DBw9mTa62tbVFaGgo1NTUGt1OXl4eXF1dkZqayoqfOHECU6dOVVi+LSEWixEUFISQoCBo5eWhd0oqeuTlNeuECgmXizQjIzzqaY5SIyMM9PCAm5tbi3uXGuvRo0f4448/4O/vzxrCrI+5uTnmzp0Lb29vWFlZtUGGbAzDYM2aNfj+++/l3tu2bRvee+89lJeXw8nJCQkJCbL3VFRUcO/evQbnHTaGn58f62QLVVVV5OTkQE9Pr0XttmcVFRVwdXVFXFycLMbn83H79m24uroqMTNC2hYVduSloag/+CUSCSZMmCB3PuhHH32En376SWH5KkpmZiaCg4KQlJAAvkiEnmlpMM0XQresDCoNrB6s5vFQpKmJLEMDpPToAbFAgF5WVnD38ICpqWkbfoP/k0qlCAoKgp+fH44ePYqSkpIXXjN48GB4e3tj1qxZMGjDc3UZhsHatWvxzTffyL23efNmfPDBB7h9+zbc3d1ZPYyOjo64e/cuVFVVm33vwsJCmJiYsFYS+/r6yq3c7mxCQ0MxaNAguX+43bt3D+rq6krMjJC2Q4UdeWl88skncoXX2rVrm7x58Nq1a7F+/XpWbNiwYbhy5Uqb9WA1R0FBAaKiohAVGoqKsjIwYjG0ysuhIyyAqlgMLiOFlMNFFZ+PYgN9lGpogMPnQ11TEw6urnBwcGjySRytSSQS4e+//4a/vz/++++/Fw6/qqqq4rXXXoOPjw9effXVNpt7tX79eqxdu1Yu/uOPP+Ljjz/G559/Ltez9+WXX8r9HmsqLy8v/PPPP7LX48ePx/nz51vUZkdQ1/8/P/nkE2zcuFFJGRHStqiwIy+F4OBgeHh4sLbJaM7k6vPnz2PixImsWNeuXREeHo6uXbsqLN/WJJFIIBQKkZOTg5ycHDzJzkZVRQUkYjF4fD5U1dXRpWtXmJiYwMTEBAYGBg3uOdceZGVl4eDBg/Dz80NMTMwLP9+lSxe88cYb8PHxgbOzc6uvXv7uu++wZs2aOuOrVq3CgAEDEB0dLYvzeDzcunULAwYMaPY9Dx48iLfeekv2ms/nIycnp017LZWhvsVRN2/erHOfRUI6HYaQTq60tJTp06cPg5rz6hkAjKqqKhMVFdWkdpKSkhh9fX1WOzwej7lx40YrZU6aSiqVMmFhYczKlSuZLl26sH5W9f1na2vL/Pjjj0xGRkar5rZx48Y67//1118zYWFhDJ/PZ8VtbGyY8vLyZt+vuLiYUVNTY7W5d+9eBX6j9isqKopRUVFhfXdLS0umrKxM2akR0uqox450eitWrJDbW+yHH37A6tWrG91GRUUFPDw8EBoayor//PPPWLVqlULyJIpVXV2Nixcvws/PD2fOnHnhyRVcLhdjxoyBt7c3Jk+e3KT9DBtr8+bN+PDDD+XiX375JVJSUlibGQN1z9usq8e1srwcUokEXB4Pahoash7XDRs24MiRI7Ke6jFjxsjNDe2sfvjhB3z22Wes2IoVK+Q2g27K8+woPdjk5UaFHenUrl69ilGjRrFigwcPRmBgYJP+cF6yZAn27NnDik2fPh1Hjx5t802ISdMVFBTg6NGj8PPzw61bt174eW1tbcyYMQPe3t4YOnQouAo8pm3btm1y2+QANcOvtY/C4nA4uHnzJtzd3VFQUIDIyEhEh4Wx5kjqCoVQEYvBZRhIORxU8/koMjBAqYYGxAyDJ0IhwqKjERkZidLSUmRlZbXJMXfKJhaL4eHhIXe6zNWrV+Hp6dms5/lszqm9iwscHR3b1ZxTQp6hwo50WnUdEq6hoYGIiIgmbYFx4MAB2akBz1hbW+Pu3bvQ0dFRWL6kbSQmJsLf3x9//PEH6/dGfSwsLGRbp/Tp00chOezYsQPLly9v1GcHDBiAVStXIi0pCSoiEcxT02AqbNyq5kKBAIlqqkgzN4dIRQWJSUkY7umJd999VyHfo7178OABnJycWOdBOzs74+MPP0R6cnKTn2eRpiayDAyQat4D1QIBellawn3oUKWtEiekLlTYkU5r8eLF2Lt3Lyu2ZcuWOntL6hMREYEhQ4aw/mIQCAS4e/cubG1tFZYraXtSqRQ3btyAv78/jh07htLS0hde4+bmJts6paV7wv3+++9y58Y+j8fjwc3NDe4DBqBrRSVss7Nh1ox9CAsKClBaVYl8MzOkWlqiSF8fo8aPh7u7e7texa0oW7ZswQcffFDreVbANjunWc8TqNnXMd3ICA+f7us4wN39pXmepP2jwo50Sv/++y8mTJjAig0fPhxXr15t9LBaQUEB+vfvj8ePH7Pihw4dwhtvvKGwXInyiUQinDp1Cv7+/rh06RJe9MeimpoavLy84OPjg7FjxzZr65SQkBB4eHjUOffP2NgYXhMnoru+Pizv30e3hAR0MTCAmmrjN9F+pryiAgUFQgA1J4dkWlkh08UFhj16YIKXV4dZzd1cUqkUr732GrqZmLCep5G+AdSbsCl5nW1zOEjs3h33LS1hYNb9pXiepP2jwo50OgUFBbCzs0NmZqYspqWlhaioKPTq1atRbUilUkyePJm1DxgAvPfee9i2bZtC8yXtS0ZGhmzrlOc3s66PsbEx3nzzTXh7e8PJyanR9xk9ejSuXLkiFzc3N8fMyZNhKhLBJjQUguJiADU9eF26GIPbxDmdDMMgOycHDPP/nimuaTfEu7pC1E2xZ/22RykpKTh26BB4j5PQN/Se7HlyuTwYGzf9edalWCBAqI3NS/E8SftHhR3pdObOnYs///yTFXv+APbG+P777/H555+zYkOGDEFAQECLTgQgHQfDMAgLC4O/vz8OHTqEvLy8F17j4OAAb29vzJkz54XzroYNG4abN2+yYubm5pg9dSrM8/Jhc/cOeLXmfAkEAujp6jX5uxQUFqK8XCR7raqqBr0uXXDHth+E5uaY9sYbnbIYSUlJwYnDh2GYkgq7e/dQ+rTn8hkNDQH0FXTMmpjL7fTPk3QMVNiRTuXUqVNyZ7WOGzcO//77b6NXr165cgVjx45lnWTQpUsXhIWFwczMTKH5ko6hqqoKFy5cgJ+fH/755x9UV1c3+Hkul4tx48bB29sbr7/+OjQ0NGTv5eTk4LvvvkNCQgLu3r0LobCm2DA2Nob37NmwKChEv1vB4NbzR7OBgWGThxArKiogZBU1HJiYmIDD4+GWnS0KLXphtvfcTjWMmJ2djb/8/aGXlIwhsbHgMgzyhUJUVlawPmegb6Cw48akHE6nfZ6k46DCjnQaT548ga2tLZ48eSKL6erqIiYmptEFWXp6OpydnVm9M1wuF//995/ctink5ZSfn48jR47A399fbiuNuujo6GDmzJnw8fGBu7s7xowZIxuC1dTUxJo1axAdHQ0dgQBWHA6cbtxg9dRxOBzWnD8ul1dTlDUhZwY1hc7zw7E6OrrQ0tSEmMvFDRdnqNjYwHvBgk6xAEAsFsNv/35I4uIxNDwc/Kf/SJNIJMh98oQ9LM3lwcTYWGHbFnXG50k6FsVtzkSIEjEMg3feeYdV1AE1e4Y1tqirqqrCjBkz5Ibcvv32WyrqiIyhoSGWLVuG27dv4/79+/j888/Ro0ePej9fXFyMvXv3YujQoTA3N2fNqysrK8NPP/2EKVOmoHe3bhj88CEEPD4ADgAONDQE0NXRZbUnlUpeuNlybRxArleqorwcAMCXSuEaFw9hRgaCg4Ob1G57FRQUhIL0DLjGx8uKOqBmnqKubsufZ0M64/MkHQsVdqRT+Ouvv3DixAlW7PXXX8fcuXMb3caHH36I27dvs2JeXl5NOqGCvFysra2xYcMGJCcn48qVK/Dx8YGmpma9n09PT5eLqampIeLuXVg9SEAXsQSGhoboZmqKbqam0NfTg0AggJra80UZp1m9QM8PBwNAVXWVbENkXZEI1gmJuBsYiKysrCa33Z5kZmYiJCgIfRMToSMSyb0v0NCoVeQ273k2pDM9T9LxUGFHOrzMzEy5zV4NDQ2xe/fuRg+vHDp0CNu3b2fFXnnlFfj5+Sn01AHSOXG5XIwcORK+vr7IycmBv78/Ro8e3ajffx5ubjAoLoZeRITcyRPPGOjrQ1NTC+rq6jA0MACvGb8n1dTUwOWwryt/bn9Gq4wMaOXlISgwsMlttyfBgYHQysuDZUZGvZ/R19eHlqYW1NU1Wu2IsM7yPEnHQ39jkQ6NYRgsWbIEBQUFrPjOnTthYmLSqDZiY2OxePFiVkxdXR0nTpxo8Sa05OWjqamJuXPn4tKlS0hJScH333+Pvn371vlZXV1dWPbqBfPEREAiRu6TJ5DWMe2Zw+FAV0cHBvoGUGvm3mt1DceWPx2OBQAuw6B3SiqSEhLk/v/UURQUFCApMRF9UlLrXXwCABxwoKOjAwN9/RbvZVefzvA8ScdEhR3p0A4cOIBz586xYrNmzcKMGTMadX1xcTGmTp0KUa0hm507dzZpTzJC6tKjRw98+umniIuLw6uvvir3vqOjIwTV1TB8OkTLMFKUlpS0Wj61h2Orq6sgfq6XsEdeHvgiEaKioloth9YUGRkJFZEIZo3YmqYtdPTnSTomKuxIh5WSkoKVK1eyYiYmJvjtt98adT3DMFiwYAESEhJY8SVLlmDevHkKypKQmh632ufScjgcuNjbo0dqKutYK24rDAs+o6qmJje1oOK5XjueVIqeaWmICg2td1i4vZJIJIgOC4N5alqzjglrDR35eZKOiwo70iFJpVIsXLgQJbV6N/bs2QNDQ8NGtfHLL7/ILbhwdXXF1q1bFZYn6TzS09Mxbdo0vPLKK3B1dcXo0aPh6ekJJycnmJubw9jYGE5OTujduzd69+4NJycnGBgY4JVXXoGTkxMqKytZ7RkaGkJTXR36shNSOFBVVW1w8UVtlVIpvKOj4BUehpuNGO6rGY5l99o9PxwLAKb5QlSUlcn212uOb7/9Fubm5jAyMqrzfT6fDycnJ9l/Bw8eBFCzlczMmTPRp08f9O7dG5988gkkEglOnTol+6yqqiocHBzg5OSEn376SdamUFiTt2kL8gaAhyIRXgsLg1d4GApesF9hYyjieQLAlClToK+vj+nTp7c4J9K50QY7pEPatWuX3HFM8+bNw2uvvdao62/evIlPPvmEFTMwMMDx48cVtlkp6TwYhsHkyZOxbNky2T8GIiIicP/+fcyePRu+vr6IiYnBpk2bWNfNmzcP06dPx6RJk1BZWYktW7YgMTERXbp0gbGxMSry82GhogI1k67NWqQTX1oKFQ4XZ5xdGvV5CcNAQ0MDIlGZLFYtroZYIgafV/PXgW5ZGRixGDk5OejSpUvD7UkkdS48GDduHBYuXAh7e/s6r9PT00NERIRcfP78+Rg6dCiOHj2KqqoqzJo1C5s2bcLq1asxZcoUAICFhQWCg4OhpaUlu45hGGRlZYERi6FXWvrC59CQK/n5mNSlC5Y2sIXN8yQMA14Di2Sa8jwZhgHDMHX+XlixYgUWLFgAPz+/RuVFXl5U2JEO5+HDh/j4449ZMTMzM2zZsqVR12dlZWHmzJmsoREOh4ODBw/CwsJCgZmSzuLy5cvQ1tbGggULZLFnPUiNNW7cOLi5uSEhIQHDhg1DWFgYTh85At/iYthpaeM7S0twORy8FRUFR21t3CoqRKVUii3WfWGpqYnbhYX49vEjcMCBCpcDXzt7fJTwAAXV1fAKD8MBWzvcLCzA3qfz9SYbm2CRmRnSKyrwTlwcHLS1EVVSjI97vYKdmVnQ5HLwsLISE3R00KWyCn8XCMHjcLDH1g5a5eUIDQ3FBx98AKFQCENDQ/j5+cHU1BQjRoyAm5sbAgMDsWjRInh7e8t91wEDBjT5GScmJiI2NhZ///03AEBVVRW//PILBg8eXO+WQ0ZGRli0aBGuXLmCd999F2dOn4b/o8eoZKSY09UUb3XrBgAYePsWppqYILCgAAYqKtjVzxYCHg++GRk4nJ0FVQ4HLjo6GGtkBL/MDPA4HISXFGOnTT98l/QYwYWF4HE4WN2rF9z19HEyJwc3CwpQKhFDwOOht4YAWZWVyKqqRGp5Odb16YMr+fm4U1QEOy0tjBs4ADk5OUhNTcX69etRUVGBgQMHYteuXeByuazvcfDgQVhZWcl9V09PTwQEBDT5uZKXDw3Fkg5FIpFg/vz5cosd9u3bJ7fxaF2qq6sxa9YsZGdns+JfffVVnZPbCQGA+Ph4hSymqa6uxo0bN+Dt7Q07GxtsmDgRZ11cwedwcPW5oTpVLgcnnZwxv1t3HMis2bbjQEYGPuv1Cv5xcYGfnT10+Hxs6GMJNz09nHF2QTXD4NfUVPxp74ATTs44+yQXMaU1UxUeisowt1s3/OPiCjUOBw+rKrGqSxfs69EDxwsLUVZZidPOLhisp4e/c3OhIyzApk2bsHfvXoSGhmLx4sX4+uuv6/wezVFYWMgair158ybi4uLg6OjI2iLGwsICVVVV9a4qzc/Px9ChQxESEgI1Ph9zHRxwytkZp52ccTwnG8KnQ6mFYjGG6xvgrIsrTFTV8F9+zeKK39JSccrJGf+4uOIji5qibXZXUywx64Fd/WxxMT8PKeUV+MfZBTts+uGLxERUPp2/F1Vagl+s+2JrXxsAQEZlBfbZ2uEna2usiI/HVJOu+NfFFakVFRAmJOJRYiI2b96MgIAAREREQFVVFUePHpX7HnUVdYQ0BfXYkQ5ly5YtCKy1L9Tbb7+NsWPHNur6zz//XO7g9XHjxuHLL79UWI6k82EYhlVwTJ8+HXFxcXB3d8eePXsa3c7zq7UfJibi1JkzQFkZisRimKmrY/TT+aGjnv6vrZYWzjzJBQC46OhgU3IyHpWL8KpRF2jXaju6tARDdPWgp6ICABhnZITQomKMMjSEhYYG+j43d89JWxt6T4dQu/D56K+uhmqxGH0FmogsKYF1eTkSEhLw+uuvA6j5B9XzvdmNXXVen7qGYp/11NVW+9k/T0NDAxMnTgQAVJaX405CArbGxkLKMMisrERKeTkMVFSgyeNhyNOti+y0tJBRUTPf0UFLGx89eIDxRkayZ/+80OJivNalC7gcDszU1WGhoYHHT/9ROVRPH1rPbWw8XN8APA4H1gJNaPJ4cNSu+QlZCTRRWFSE/NhYREVFYfDgwQBq5jZ2795d7nsQ0lJU2JEOIz4+HmvWrGHFevXqxZpA3ZATJ07IzYEyNzfHwYMHW2WDUtJ59OvXj1V4HD9+HAEBAXKbWr+IQCCQ/Xqfnx8+d3PDJGEBdqelyXqCAED16UbCPA4H0qfbsS3t0QPD9PURUCDEtIhwHHN0euH9ntVDGrV+f6vzeOByeZBKJeBwOFDhcFBRXg4OB5CAAUcqgY6OTp3z4Gp/D0WxsbFBZGQkpFKpbI5ZcnIyDA0N691P8vk8srOz8d+DBzhj7wBtPh8LY2JQ9fSZqjxXGHI5HEie7nH3u60t7hQV4r/8fBzIzMBJJ+cGc2QAWZGpzmMPeKk+zZnD4ch+XXO/mm1sJBIJJk2ahP379zf4PQhpKRqKJR2CWCyGj48Pa2Uhh8OBr68vaxJ1fR48eID58+ezYqqqqjh+/HijV9GSl9fo0aNRVFTEmrheezVpU1VVVkJXIEClVIqL+S/edy21vBw2Wlp4p4c5egsESH/u1AigpvfpVlEhisTVqJJKcSk/H6469U9PqL2nXXnF/7+Pupo6dLS1cf78eQA1Q6/x8fFN+XpNZmVlBRsbG/z888+ye37wwQdYu3Zto66vqq6GOp8PLR4P6RUVCC0uavDzUoZBVmUl3PT08XmvV5BeUSEr+J5x1dHBubyaTaMzKiqQWl6OXrWeW2Mw4MDK0hLXrl1DWloagJrh17qOmCOkpaiwIx3Cxo0bERISwoqtXLkSw4YNe+G1ZWVlmDZtmtzWKNu2bWvWJG/y8uFwODh9+jROnz6NXr16YciQIdi2bRs++OCDZrc5dcoUfHruHBbHxrCGSetzIDMDE8JC8VpYKLqpqcFZR4f1vomaGt7tYY43o6IwJSIcE4y6wLaBf/RoaLBXf4vFYkgkNT1cVXw+3lu+HJs3b4ajoyOcnJxw586dRn+3devWwczMDAUFBTAzM8O2bdtY79eeY/fsfV9fX9y5cwd9+vSBkZERHB0dG33es6WVFbrq6WFieBi+e/wYTrWeT20ShsFHDx7gtbBQTI0IxwrznnKrW8caGqGHujpeCw/DO/Fx+MbSEmrNWL0s5vFgZGyMnTt3YvLkyXBwcMDYsWORm5vb6DbGjRuHGTNm4Pz58zAzM5P785CQZzgM08C5K4S0A5GRkRgwYACqn9tTytraGuHh4XK9DrUxDIO33noLhw4dYsW9vb3h6+vb6LNkCVG0K1eu4MHFixhz67bce1KGQVlZGcTV1VDX0IBGK23Bk5Obw1odrqWlDR1tbVwaMhjW48Zh1KhRrXLfxggICMCiRYtw+fLlRq1Wb+h5Klt7eJ7k5UFz7Ei7VlVVBW9vb1ZRx+Vy4efn98KiDgB27NghV9Q5ODhg586dVNQRpTIxMUGohgaqeTyoPC2uGIZBmagMpSWlkDI1vWflFeXgGXWB6tNFEYqkrq6BsrL/7/tWXl4ODT09lGpoNPqs5dYyYsQIPHz4sNGfr+t5tgfVPF67eJ7k5UGFHWnX1q9fL3fO4urVqzFo0KAXXnv79m25oTIdHR2cOHGCJisTpTMxMQGHz0eRpiYMi4tRLhKhpKQEEql8UVJdXd0qhZ2GBruwk0jEyFNTA4fPb1Qhsnz5cgQFBbFimzZtwujRoxWe64s8/zyNiovb/P71KdLUbPTzBIBBgwbJnVISEBBQ7wISQmqjwo60W3fv3sUPP/zAitnb2zdqMvWTJ08wY8YMVk8fAPj7+6NPnz4KzZOQ5jAwMICaQIA0HR1IHz2CWFz38VVcLg9qamqtkoOqigp4PD4kErEslqGrC3VNTRgYGLzw+saey9wWDAwMoK6piSwDg3ZV2GUZGjT6eQJo0lxGQupCiydIu1ReXg4fHx/W/B8+nw9/f/8X/iUnkUgwZ84cuRVnn376qWxfLkKULTg4GHfDw5Fg3AWVdfTSATVDpUZGRuC34nY8z09pkHC5eNy9G+xdXDrcFkA8Hg/2Li5INe8BSTMWOLQGCZeLlB494ODq2uGeJ+m42sfvfkJq+fLLL3H//n1W7KuvvmrU7v9r167F5cuXWTFPT0988803ikyRkGaJjo7GpEmTMGzYMJw9exYiFRXkm5mxPqOqqgYjoy4w0Ndv1aIOAGthRl6PHijj8dBR19Q5OjqiWiBAupGRslMBAKQZGUEsEMDBwUHZqZCXCBV2pN25efMmNm/ezIq5urri008/feG1Z8+exYYNG1ixbt264fDhw+DzaeYBUZ6UlBT4+PjA0dER586dAwAUFRUhMSkJqZaWkHI4UOGrwMDAEEaGhq0yp64uKioq4PP4kHI4SOvTBwlJSfjnn3/a5N6Kpq+vj16WlnjY0xxSJS+OknI4eNTTHL2srKCvr6/UXMjLhQo70q6UlpZi3rx5rB4DNTU1+Pn5QeUFf9E9fvxYbs8rPp+PY8eO0Yo0ojR5eXlYtWoVrKys4O/vL9cbFhgcjAIdHRQ6OsGoSxeot9J8uoaoa2gg08oKeVpaCAoOxtGjRyF97iSMjsR96FCUGhkh8elxXcqS0L07So2M4O7hodQ8yMuHCjvSrqxevRqPHz9mxb755hvY2to2eF15eTmmTZuGwsJCVvznn3+Gm5ubotMk5IXKysrw7bffonfv3vjll19QVVUl9xljY2OsWbMGI8ePx6N+/VCipNXa1UaGSOzbF0EhIcjOzkZGRgZu3bqllFxaytTUFAPc3XHf0hLFrfg8i0tKkJeXh7KyMrn3igQCPLCyxEAPD5iamrZaDoTUhQo70m5cvnwZO3bsYMXc3NywatWqF1777rvvyp1rOWvWLLz33nuKTJGQF6qursbOnTvRp08ffPnllyiuY4WmlpYWvv76azx8+BDvvvsuhg0bBn2z7gi1sYG4jSf+i7lcRNrbQ1hejuDgYFn8yJEjbZqHIrm7u7fq8ywqKkJpaQmqqqtQVFyEJ3l5qBbXrCwWc7kI7WcDg+7d6R+VRCmosCPtQlFRERYsWMCKaWhowNfX94Wryfbu3St3sLaNjQ327t1LmxCTNiOVSnH06FH069cPy5YtQ3Z2ttxnVFRUsGLFCjx69AhfffUVtLW1AdRMGZjo5QVRt264Y9uvzeaHSTkc3LHth3LTbjAwNmatQj927BjrdUfS2s+z9j5z1dVVePLkCYRFRbjdzwblpt0wwcuL5vUSpaDCjrQLq1atkh2O/cyPP/4IS0vLBq8LDQ3Fu+++y4ppaWnh5MmT0GrgnExCFOnKlSsYOHAgZs2aVedpCRwOB2+++Sbu37+PrVu3wtjYWO4zXbt2xZRZMyE0N8ctO9tW77kTc7m4ZWcLobk5psyaidmzZ7Pez87Oxs2bN1s1h9bUms+TV0fBJuFxcc/JEQ80NFBSWYEuXboo7H6ENAUVdkTpzp49K9fj5unpiWXLljV4nVAoxPTp0+X+9bxv3z707dtX4XkSUltYWBjGjh2L0aNHIzQ0tM7PvPrqqwgLC8Off/6JV155pcH2evbsiWlvvIFCi1646ezcanPEigQC3HBxRqFFL0x74w307NkTffv2lduW4+jRo61y/7bSWs+z9l6aZTo6iBg2HEn6+jh0/Di++uorrF69WiH3IqSpOExH3bCIdAr5+fmws7NjDVtpa2sjKiqqwYO/pVIpXnvtNZw/f54VX7lyJX755ZfWSpcQAMDDhw/xxRdfNDgPbeDAgdi4cSNGjBjR5Pazs7Nx7swZFKRnoG9iIiwzMsBVwB/VUg4HCd2744GVJQy6d8cELy907dpV9v6GDRvwxRdfyF536dIFmZmZHX5IUdHPs6KyAkKhEFIOB5lWVkjs2xcZQiHOnD+P3NxcADXTQeLi4hT1FQhpNCrsiFLNmTMHhw8fZsX27t2LhQsXNnjdN998g6+++ooVc3d3x7Vr1164LQohzZWdnY1vvvkGv//+O8RicZ2fsbKywvfff48pU6a0aI6nWCxGUFAQQoKCoJWXh94pqeiRlwdeM7YhkXC5SDMywqOe5ig1MsJADw+4ubnJFWwPHz6Um/5w6dIlpZz9qmiKfJ4VUini1dWQ1qdPzRYxISEIDg5mzUlcsWIFtm7dqsivQEijUGFHlOb48eOYMWMGKzZhwgScPXu2wb8Q//vvP7z66qus/cCMjY0RHh6Obt26tVq+5OVVXFyMTZs2YfPmzXVubwHUbLPx9ddfY/78+Qrt4crMzERwUBCSEhLAF4nQMy0NpvlC6JaVQaWBxQ3VPB6KNDWRZWiAlB49IBYI0MvKCu4v2ILD1dUVYWFhsteLFi3Cnj17FPZ9lE1Rz/NJZSUSkpIQFBwst1BmwoQJOHXqFFRVVVv76xAihwo7ohQ5OTmws7NDXl6eLKavr4+YmJgGi7PU1FS4/K+9+45q8nrjAP7NYCVskCHDxd6Ck6G1WrVaJ25ronbYX7V2WIu7btHWaqdttdrEPah7tFo3OHEgQ0FlL4Gww0pyf3+oqTGJrBCG93MO58jNzfs+Acz75L33PtffHwUFBfI2FouFM2fONGjIi6JepaqqCr/++itWrlyp8Lf6IhMTE8ybNw+zZ88GpwnrphUWFiImJgYx0dGoLC8HkUhgWFEBY1EhdCUSMIkMMgYT1Ww2SszNUGZgAAabDX0uFz4BAfDx8anTDgjr1q1TmB9mbm6OnJycNncnvLE/z/fff1/lQhkAsLS0RFxcnMpFMhTV1GhiR2kdIQSjR4/GoUOHFNp37NiByZMnq31eVVUVQkJCcOPGDYX2devWYe7cuU0RKvWakkql2LVrF5YsWYKUlBSVffT09PDJJ59g/vz5MDc312psIpEIubm5yM3NRV5ODqorKyGVSMBis6Grr492NjawtraGtbU1zM3N67UBfXJystIij5MnT2Lw4MGafiktQkN/nh988AG2bNmi9rijR4/GgQMHaMklSutoYkdp3Y4dO5S2/qrLm+DHH3+MTZs2KbSNHDkSf/31F33zpDSCEIKTJ09i/vz5iImJUdmHyWSCz+dj2bJlcHBw0HKE2tGzZ09cv34dwNNSLe+99x4+/fRTeeJTVVEBmVQKJosFPQODRiWSrZVYLMbq1auRlpYGPp+Pn3/+GQcPHlToU9uHVYpqCjSxo7QqMzMTnp6eKC4ulrfVZdhi+/bt4PF4Cm1OTk64efMmTExMmixe6vVx9epVhIWF4eLFi2r7jBgxAqtWrap1i7vW7rvvvsPy5cvh6+sLf29vGBoYwIjDgWFFBUxEIuhIJGASAhmDgRo2G8Xm5gpDld7+/vD19a3T0G9b8eTJE3h6eioM2ZuamiIuLo7O/aW0iiZ2lNYQQjBkyBCcOnVKoT0iIgKjR49W+7yYmBj06tULFRUV8jYDAwNcvXpVqe4WRdXX/fv3sWDBAqW7LS8KDg7G2rVrX4storKysnDmn39wPzYWnJoaOKSlwSwrCw5MFgxfsShEvrjA3Bxpjg6o4XDQydkZQSEhr81+qaoWhL399ts4fvw4HVWgtIYmdpTWbN68GR9++KFC26RJk7Bz5061zykuLka3bt2UJilv374d7777bpPESb0eMjMzsXTpUmzduhUyNSUvvLy8sGbNGgwdOrTNX5hfLgdiHRsLk5QUeTkQAwMOzExN63QsKZOJDEtLPHxWXqV7UBCCgoJafT28umhoCSeK0hSa2FFakZKSAm9vb5SVlcnbbG1tERsbq3biubpFFv/73//wyy+/NGW4VBtWWFiI8PBw/PDDD6isrFTZx9HREcuXL8e77777WswXU1XAt6KsDMUl/02ZYDCYsLGxBgN1T3BlDAaS7Oxw39kZ5vbKBZHbIpFIBE9PT6Wi6/fu3UOHDh2aMTLqdUETO6rJyWQy9O/fH+fPn1doP378OIYMGaL2ed988w2++uorhbYePXrg4sWLSlv6UFRtKioq8OOPP2LNmjUoKipS2cfc3BwLFy7Exx9/DH19fe0G2ExSU1NxcO9ecLKyEZCQAGOxGAAglcmQm5sL4L9LhJmZOQwa8HMp4XAQ7e4Ocfv2GDV+XJtPcI4fP4533nlHoe3NN9/E6dOnwWziPYApiv6FUU3u559/Vkrq3nvvvVcmdefPn8e8efMU2iwsLLB//36a1FH1IpFI8Mcff8DZ2RlhYWEqkzoOh4OFCxfi8ePH+OKLL16rpC5i926YJacg5PZteVIHACwmU6nAbuUL81zrw1gsRsjt2zBNSUbE7t1ITU1tVNwt3dChQzF9+nSFtrNnz9KRBkor6B07qkklJibCz89PYeGDo6Mj7t27B2NjY5XPycrKQteuXeV7LgJPSy6cOnUKAwcObPKYqbaBEILDhw9jwYIFSEhIUNnneT2yJUuWvDYT/J/LycnBHqEQpskp6B0Xp3Lv1HKxGMXFRfLvGQwGbKxtGjzfUMZg4IqXJ4o6dsIE3pQ2PSxbXFwMb29vpKeny9s4HA7u3LmjtG0bRWkSvWNHNRmpVIqpU6cqJHUAsHXrVrVJXU1NDcaNG6eQ1AHAsmXLaFJH1dnFixcRFBSEUaNGqU3qxo0bh4SEBGzatOm1S+okEgmOHzkCTlY2esbHq0zqADy7c/lfEkcIgbQBe6s+xyQEPePiYZCdhRNHjqjdb7ctMDExwdatWxXaxGIxpk6dqrCnLEVpGk3sqCazfv16XLlyRaFt5syZ6N+/v9rnfPXVV4iMjFRoGzJkCBYuXNgkMVJtS0xMDIYOHYq+ffsq/e099+abb+LGjRvYu3fva3vnJDIyEoUZmQhISAD7FYkai8kEx8Dghe9ZjZ4jxpbJEBCfAFFmJqKiohp1rJZuwIAB+PjjjxXaoqKisGHDhmaKiHod0KFYqknExcXB398f1dXV8rYuXbrg7t274HK5Kp+zb98+jB8/XqGtY8eOiI6O1uqWTVTrk5KSgiVLlmDHjh1Q95bWtWtXhIeH46233mrzpUteJSsrC7v+/BNu92LhmpFRa38ZIRCXl0Mqk4HL4WisZMl9e3s88PbC5GnT2vQd07KyMvj5+eHRo0fyNj09Pdy6dQseHh7NGBnVVtE7dpTG1dTUgMfjKSR1DAYDAoFAbVKXkJCgVOdJT08PBw4coEkdpVZ+fj4+//xzuLq6Yvv27SqTus6dO2P37t24efMmBg4c+FondQAQdfkyDPPz4ZyZWaf+TAYDhoaGMDE21mgdOpfMTBjm5yPy8mWNHbMlMjQ0xJ9//qnwd1dVVQU+n4+amppmjIxqq2hiR2ncmjVrcOvWLYW2OXPmICgoSGX/srIyhIaGKtS4A4CffvoJAQEBTRYn1XqVl5dj5cqV6Ny5MzZu3KjwIeI5Kysr/PTTT0hISMCECRNomQk8reGXnJQEp9Q0tfPqtIVJCLqkpiE5MRGFhYXNGktTCw4OxhdffKHQdvPmTYSHhzdTRFRbRodiKY26desWevbsqTAp2t3dHbdu3VJZQoIQgokTJ2Lv3r0K7dOnT8cff/zR5PFSrUtNTQ22bNmCZcuWPauxpszQ0BBfffUVPv/8cxgaGmo5wpbt/PnzuHP6NAZfjpTvKNGcpEwmTgYHwX/gQPTt27e5w2lSFRUV8Pf3x/379+VtbDYbN27cgJ+fX/MFRrU59CMspTHPhxdeTOpYLBYEAoHaumA//vijUlLn5+eHn376qUljpVoXmUyGvXv3wsPDAx9//LHKpE5HRweffvopHj9+jMWLF9Ok7iVSqRT3bt2CY1p6i0jqAIAlk6FDejpioqPb/EpRAwMDCAQChZ1MJBIJeDweqqqqmjEyqq2hiR2lMUuXLkVsbKxC2/z589G9e3eV/aOiojBnzhyFNlNTU0RERMDghZV41OvtzJkz6N69OyZMmKC0ZzDwdP7mu+++iwcPHmDjxo1o165dM0RZN2w2G35+fvIvVUPItVm3bl2Dzi0SiVBZXg5bkUih/ae0VAy9FY13bkVj9J3bSFezzdpzmzPSFb6v7/N7XFVcrWxb8DQu0Utxvayhr/tlKSkpCAoKgr6+vtY/QPbo0UOp8Pq9e/ewfPlyrcZBtW10KJbSiKtXryIoKEhhM3VfX19cv35dqXo9AOTm5sLf3x9ZWVkK7UePHlXaiod6PUVHR2PevHk4c+aM2j5vv/021qxZA19fXy1G1nCWlpbIz8/X+jGkUikSEhJwYv9+DDt/QV7i5FZJCTampmCrlzfYDAZyqqpgwGLChK2j9lg9rl7B9V69NfJ8AKhhsXCsbx8MGTsWXl5eGnvdUqlU5T6/IpEISUlJOHLkCGxtbTFr1qw6H1MTqqur0b17d8TExMjbmEwmoqKi0LNnT63GQrVN9I4d1WhisRh8Pl8hqdPR0YFQKFSZ1EkkEkycOFEpqVu4cCFN6ig8fPgQEyZMQLdu3dQmdT169MC5c+dw4sSJVpPUqXPixAn06tULfn5++PDDD+X/jz788EMEBATA09MTP//8M4Cn/0eKiorg5+eHmTNnIiUlBd26dZMf68svv8Sff/4J4GmpoOXLlyMwMBDnz5+HQCDAL7//jlE3b+D71BQAQF51NYzZbLCfrdi00dOTJ2XnRSKMvXsHw2/fwqKkJMgIwXcpKSiVSDD89i0sffSw3s9/2ab0NIyPvonvf/kFW7ZskbcvX74cXl5e8PX1xY8//qj0ugFg7dq18PLygre3N3bu3Pn0nOfPY+DAgRg3bhz69eun8udtbm6Onj17QkdHffLZlHR1dSEUChXOL5PJwOfzlYq5U1SDEIpqpM8++4zg6U7h8q9Vq1ap7T9v3jyl/gMGDCASiUSLUVMtTXZ2Nvn4448Jm81W+vt4/uXq6koiIiKITCZr7nAbhMViEV9fX+Lr60tmzJhB8vLySP/+/UlFRQUhhJCZM2eS3bt3E0IIKSgoIIQQUlVVRbp27Ury8vIIIYRYWFjIj5ecnEwCAgLk38+ZM4ds27aNEEJIhw4dyE8//UQIISQuLo707NGDCKdNI/eDgkk/M3Oy18eX3OrVm7hwOKSzgQHh2bYnB3z9SGJwCLnasxfpbWJK7gUGkcTgEDLZ1pZ85+pKEoNDiCmbTRKDQ0hicEijnr/F05PwbNuTxOAQsm3qNNKlc2eSnp5Ojh49St58801SWVmp8HN48XXfuHGD+Pv7k4qKClJQUEA6d+5MMjMzyblz54ixsTHJzMys9Xfx9ddfkx9//LFBv0dNWLlypdLf9xdffNFs8VBth+aKElGvpQsXLmDjxo0KbT169MBXX32lsv/hw4eVlvjb29tj165dKodNqLavpKQE33zzDb777juIX9iE/kXt27fHsmXLMHXqVI3WUtM2U1NT3LlzR/790aNHERMTg169egF4unLSzs4OALBr1y788ccfkEqlSEtLQ1JSEiwtLet1vrFjxwIA/v33XyQmJmJxUhIMqqshlkqRVlmJrsbGONTVH9eKihBVVIRpsffwvZs7qmUyPBCXY+zdp7FWyWSw1tVTOr4hm93g50cWFuGsSITrJcWoiItFOYuFR48e4ezZs5g2bRr09J72V1XH8vLlywgNDYW+vj709fXRv39/3LhxAyYmJggKCkL79u3r9XNqDmFhYTh8+DBu3Lghb9uwYQNGjBiBPn36NGNkVGvXet8hqWZXWlqKadOmKbTp6+tDIBCovPg+fPgQPB5PoU1HRwf79+9v0RPeqaZRVVWFTZs2YdWqVWrnTpmammLevHn45JNPwOFwtBxh0yOE4J133lHaU/Tx48f45ZdfcOXKFZiYmGDw4MEqV06y2WyFKRAv93n+MyOEoG9ICCabmcH3cbLiMRgMBJmZIcjMDGY6OvhXVIBgUzP0MzPHGheXWl9DQ59PAHzi6IhR1ta427kTSgMD0bdvXxw+fLjWcyodixB5AeDW8nfCZrMhEAjQtWtX+e+NEIJp06bh7t27dFU31WB0jh3VYHPnzkVysuJFYtWqVXBzc1PqKxaLERoaipKSEoX2DRs2yO9WUK8HqVQKoVAIV1dXfP755yqTOj09PcydOxePHj1CWFhYq7lY11evXr1w7tw5pKc/XWlaUFCAjIwMlJaWwtDQEMbGxkhJScHlF3ZnYLFY8tIgVlZWyMrKQmlpKcrKynD69GmV53nzzTdx/eZNlDxbhZtTVYXCmho8FouR9mxeFyEESeJy2Onpw8/ICNeKi5D9LOEorKlBzrN/sxgMSJ/Nl2vI858LNDXFgdwcVEqlkDGYeJKfj8rKSgwYMADbtm2TJzvPV8u++LqDg4Px119/oaqqCoWFhTh37pza1fctmbu7O1atWqXQ9vjxY7UjHhRVJ805Dky1XqdOnVKaHxISEqJynpxMJiM8Hk+p/6RJk1rtXCmq/mQyGTl27Bjx9vZWO4eOyWSS6dOnk7S0tOYOt0m8OE/suZMnTxJ/f3/i7e1N/P39SXR0NCGEkHfffZd4eHiQkSNHkgEDBpBz584RQgiZO3cucXd3Jx9//DEhhJD169cTJycn8vbbb5MxY8YozLErLS2Vn+d/M2YQR3Nz4sLhkK5GRuR8t+4kws+P+HANSSc9PdJRV5e8bWJCbvfsKZ8D58k1JK4cDvHkGpKDfl1JYnAIed/OnnQxMCCTbG3JX35+xM/IiDhxOMSJwyEj2lmRmN6Br3z+i3P05nbsSFw4HGJnakY8PDxIWVkZIYSQ5cuXEw8PD+Lr6yufB/fy6w4PDyeenp7Ey8uL7NixgxBCyLlz50hoaOgrfwfFxcXEzs6OGBkZEVNTU9KhQ4eG/TI1RCKRkODgYKX/C//880+zxkW1XrTcCVVvRUVF8PLyQuYLe01yOBzExMSgS5cuSv1/++03fPTRRwptnp6euHbtmtq9Y6m25erVqwgLC8PFixfV9hk5ciRWrVpFN0ZvIv/++y8e/P033rpyFRKpBGJxBSoqxEqFgTkGHJiammo1ttO9e8F10CD0799fq+dtKR49egQfHx+FOab29vaIjY2FiYlJM0ZGtUZ0KJaqt88++0whqQOAb7/9VmVSd+PGDcyePVuhzcjICBERETSpew0kJCRg1KhR6N27t9qkLiQkBJGRkTh48CBN6poQl8tFkY4OcoqK8OTJE5SVlarc7UGm5V0palgslBkYwNraWqvnbUm6dOmCb775RqEtIyMDn3/+eTNFRLVmNLGj6uXIkSMQCAQKbQMGDFC6Iwc8nS80ZswYper627Ztg6ura5PGSTWvjIwMvP/++/Dy8sKhQ4dU9vH29saxY8dw4cIFBAYGajfA10RNTQ2OHj2KMWPGYPTo0RBXVaGQo35XFwaDCa6WJ+0Xc7lgsNkaT+zu3bunsMuHn58fxowZo9FzaNJHH32kdMdy27ZtOHbsWDNFRLVWdFUsVWf5+fn48MMPFdqMjY3xxx9/yFekPSeVSjF58mSkpaUptH/55ZcIDQ1t8lip5iESiRAeHo4ff/wRlWq2lnJ0dMSKFSswefJkWuKmCRBCcPv2bQgEAuzevRt5eXkAnm69Vl5ZicL27WFSUKDwHDZbBxwOBwYGBmAxtft5P9vCHPpcrsqyJo3h7e2tUFqmpWMymdi6dSu8vLxQWloqb//ggw8QGxsLCwuLZoyOak3oHTuqzmbOnKm0+frGjRvh6Oio1HfFihX4+++/Fdr69OmDNWvWNGmMVPOoqKjA2rVr5UNKqpI6CwsLfPfdd3jw4AF4PB5N6jQsKysL33zzDby9vREQEIAffvhBntQBTxO+W/fuId3REVImE0wmC1yuIdpZtoNVu3Yw5HK1ntRJmUykOjjAJyCA/j3g6Yeel+uC5uTkaH3bM6p1o4snqDrZu3cvJkyYoND2zjvv4MiRI0p3606ePImhQ4fixT8tGxsb3Lp1C7a2tlqJl9IOiUSCP//8E0uXLlWad/kch8PBF198gS+//JJOBNcwsViMQ4cOQSgU4vTp07XOj2vXrh0+fv999IyNQ5fCQjBe2bvppVhZ4Y5/V7z/8ccwMzNr5mhaBkIIhg0bhuPHjyu079u3T15wmqJehSZ2VK1ycnLg6ekprycFAGZmZoiLi1NK1FJSUuDv74/CwkJ5G4vFwrlz5xASEqK1mKmmRQjBoUOHsGDBAty/f19lHzabjQ8++ACLFy+mCb0GyWQyXLp0CUKhEPv371cYtlOnd+/e4PP5GDduHP49fRr5V6+i381oMJvx7V/GYOBctwBY9u6NMTRhUZCdnQ1PT0+F91ELCwvExcW91otMqLqhc+yoVyKEYMaMGQpJHQD88ssvShfryspKjBkzRuHNCADWrVtHk7o25MKFC5g3bx6uXr2qts/48eOxcuVKODk5aTGytu3hw4cQCoXYvn07UlJSau3foUMHTJkyBTweD87OzvL2oJAQ7Hz4EEl2dnDNyGjCiF8t0c4OZZaWGBEc3GwxtFS2trb4+eefMWnSJHlbQUEBZsyYgYMHDyqNklDUi+gdO+qVBAIBpk6dqtA2ZswY7Nu3T+nNZcaMGfj9998V2kJDQ7F//376RtQGxMTEYP78+Thx4oTaPgMGDEB4eDgCAgK0GFnbVVRUhL1790IoFCIqKqrW/oaGhhg7dix4PB769OkDppo5cxcuXMCNf8+i37VrMFazP29TKuZwcL5XT/To35/ui6oGIQRjx45FRESEQrtQKMSUKVOaKSqqNaCJHaVWeno6vL29UVxcLG+zsrJCbGys0t6uf/75p9K+sa6urrh+/TqMjY21Ei/VNFJSUrBkyRLs2LED6t4u/P39ER4ejrfeekvL0bU9NTU1+OeffyAQCHDkyBGVe8S+iMFg4K233gKPx8OoUaPqtP2aRCKBYOtWSOMTEHL7NtharF0nYTJx0b8rdNzdwZs+XeW+0tRTeXl58PT0VFgEY2JigtjYWNjb2zdjZFRLRhM7SiVCCAYPHox//vlHof3gwYMYOXKkQtudO3fQu3dvhZWQHA4H169fh6enpzbCpZpAXl4eVq1ahU2bNinVInyuS5cuWLVqFcaOHav27hBVN3fu3IFQKMTOnTvx5MmTWvt7eHiAz+dj8uTJsLOzq/f5cnJysEe4HaYpyegdG6eV+XYyBgNXvDxR1LETJvCmwMbGpsnP2dodPHgQo0ePVmgbNGgQTp48SUdCKJVoYkeppGobsClTpkAoFCq0FRUVISAgAI8fP1Zo37lzp8L8EKr1KCsrw4YNG/DNN9+onZhvbW2NJUuW4P3334eurq6WI2w7srOzsWvXLgiFQsTExNTa39LSEpMmTQKPx4O/v3+jL+ypqamI2L0b5mlp6BkX36R37iRMJq55ekDk6IjQiRPRoUOHJjtXWzNlyhTs2LFDoe23335TqitKUQBN7CgVHj9+DB8fH5SXl8vb2rdvj9jYWIWSBDKZDCNHjsTRo0cVnj9r1iz8+OOPWouX0ozq6mps3rwZK1asUKpX+JyRkRHmzp2Lzz//HIZa3qGgraioqMDhw4chFArx999/11qiRFdXF8OGDQOPx8PgwYM1nkinpqbi4N594GRlISAhoUnm3BVzOIj2cEeFbXuMGj+OJnX1VFhYCC8vL2RlZcnbDA0NERMTg06dOjVjZFRLRBM7SoFMJkO/fv2U9vU8efIkBg8erNC2Zs0aLFiwQKGtV69euHDhAr2L04rIZDLs27cPixYtwqNHj1T20dXVxccff4wFCxYoza+kakcIQWRkJAQCAfbt24eSkpJan9OzZ0/w+XyMHz9e47syvCwnJwfHjxxBYUYm3JKS4JyZqZGhWRmDgUQ7OzxwcYa5nR2GDB9Oh18b6OTJkxgyZIhCW9++fXH27Fk6DYJSQBM7SsHGjRuVNp7+4IMPlFa7/vvvvxg4cKDC3QZLS0vcvn2bTuptRU6fPo158+bh1q1bKh9nMBh49913sXz5cnTs2FG7wbUBjx8/lpcoeXm6gioODg7yEiXa3k9ZIpEgMjISNyIjYZifjy6paXDIzwerAcOzUiYT6ZaWeNTBEWWWlugRHIzAwEC6UKKRPvjgA2zZskWh7fvvv8fs2bObKSKqJaKJHSX34MED+Pn5KSyC6NixI2JiYmBkZCRvy8jIgL+/v8JKLSaTiX/++UdpE2uqZbp58ybmzZuHf//9V22fIUOGYM2aNfDx8dFiZK1fcXEx9u/fD4FAgMuXL9fan8vlYsyYMeDz+ejbt2+z333JyspCVGQkkhMTwRaL0SE9HbYFIpiUl0NHKlX7vBoWC8VcLrItzJHq4AAJh4NOLi4ICg6mBao1pKSkBD4+PkhNTZW3GRgY4M6dO3BxcWnGyKiWhCZ2FICnn9aDg4Nx7do1hfazZ8+iX79+8u+rq6vRt29fpeK0q1evxvz587USK9VwSUlJWLRoEfbt26e2T69evbB27VpaX6weJBIJTp8+DYFAgMOHD6vcK/dFDAYD/fv3B4/Hw+jRo8HlcrUUad0VFhYiJiYGMdHRqCwvB5FIYFhRAWNRIXQlEjCJDDIGE9VsNkrMzVBmYAAGmw19Lhc+AQHw8fGh24Q1gXPnzuHNN99UaOvVqxcuX75M99ulANDEjnomPDxcKTGbPXs2vv/+e6W2lxdGDBs2DIcOHWr2Ow2UetnZ2Vi+fDm2bNkCiUSiso+bmxtWr16NkSNH0jIKdRQTEwOBQICdO3eqXXDyIjc3N3mJEgcHBy1E2HhSqRQikQi5ubnIzc1FXk4OqisrIZVIwGKzoauvj3Y2NrC2toa1tTXMzc1pgtHEVL0Ph4eHIywsrJkioloSmthRuHfvHgICAlBTUyNvc3Z2xp07dxSKne7evVuphEnnzp1x8+ZN+sm8hSouLsY333yDDRs2QKxmtaOdnR2WLl2KqVOn0jlQdZCbm4tdu3ZBIBDg7t27tfa3sLDAxIkTwePx0K1bN5o0U41WXl4OPz8/PHz4UN6mq6uL6OhoeHl5KfRVlZhXVVRAJpWCyWJBz8CAJuZtDE3sXnPV1dXo1asXbt++LW9jMpm4dOkSAgMD5W1xcXHo0aOHQnKgr6+PK1euwM/PT5shU3VQVVWFX375BatWrUJBQYHKPqamppg/fz4++eQTGBgYaDnC1qWyshJHjhyBUCjEqVOnIH3FXDMA0NHRwdChQ8Hn8zFkyBC6SpzSuKioKISEhCgsYOvatSuuXbsGHR0dFBYW4u7du7h365bCULqJSAQdiQRMQiBjMFDDZqPY3FxhKN3b3x++vr70A3srRT+ev+ZWrVqlkNQBwNy5cxWSupKSEowePVrpjs+mTZtoUtfCSKVS7Ny5E4sXL0ZaWprKPvr6+pg9ezbmzZtH37hfgRCCqKgoCIVC7N27V2FrPXW6d+8uL1FiaWmphSip11VgYCDmzJmDb775Rt52+/ZtrFq1Cl4eHkhOSoKOWAzHtHTYiuqx+MXcHHcKCnAjMhKdnJ0RFBJCF7+0MvSO3WssOjoaPXv2VLj74OnpiejoaOjp6QF4enEbN24cDhw4oPBcVSVQqOZDCMGJEycwb948xMbGquzDZDIxffp0fP3117QkzSskJydj+/btEAqFauv6vcjOzk5eosTd3V0LEVLUU5WVlQgICEB8fDxYLBYCAwMR3L077KVSuKRnwL4R5WoyLC3x8Fm5mu5BQQgKCqJTNVoJmti9pl58Q3iOzWbj6tWrCAgIkLdt2LABX3zxhcJzAwICcPnyZejr62stXkq9K1euICwsDJcuXVLbZ9SoUVi1ahVNPNQoKSnBgQMHIBAIlIpzq8LhcBAaGgoej4d+/frROUlUs4mOjsawYcMwdPBg2JmZwfn+fTg+Toa1pSUaO5tTxmAgyc4O952dYW5PC0y3FjT9fk0tWbJEIakDgIULFyokdZcuXcLcuXMV+piZmeHAgQM0qWsB4uPjsWDBAhw+fFhtnz59+iA8PBy9e/fWYmStg1QqxZkzZyAQCHDw4ME6lSjp168feDweQkND6ZZqVItgaWmJj957D4Y5OXA/dw6ckhLIAJSWlsDYyLhRx2YSAteMDNiKRIgucceeomK6JVwrQO/YvYaioqIQHByMF3/1L066BZ5uMdS1a1fk5OTI+zAYDBw/fhxvv/221mOm/pOeno6lS5fizz//VLvPqLe3N8LDw/H222/TVZgviY2NhVAoxI4dO5CdnV1rfxcXF/D5fLz77rtwdHTUQoQUVTepqamI2L0b5qmp6HLxEmRVL344YcDS0gK6OppZuCNhMnHN0wMiR0eETpxIk7sWjCZ2r5m6LJOXSCTo37+/0pDUkiVLsGzZMq3GS/1HJBIhPDwcP/zwA6qqqlT26dChA1asWIFJkybR4cEXPHnyBLt374ZQKFS7fdqLzMzM5CVKevToQZNjqsXJycnBHqEQpskp6B0XB2lNzbPdgP67pLNZbLRr105jf78yBgNXvDxR1LETJvCm0GHZFooOxb5m5s+fr5DUAcDy5csVah/Nnz9fKakbNGgQlixZopUYKUVisRg//vgjwsPDUVRUpLKPhYUFFi9ejI8++ki+8OV1V1VVhaNHj0IoFOLkyZNqCzM/x2azMWTIEPD5fAwdOpT+HKkWSyKR4PiRI+BkZaNnfDyYhIDJZsPIyAilpSX/9ZNKUFJaChPjxg3JPsckBD3j4nFRTw8njhwBb/p0uqCiBaJ37F4jZ8+eVdrL9eWtaP766y+EhoYq9HF0dER0dDQt36BlEokE27Ztw9KlS5GVlaWyD4fDwZw5c/Dll1/CWENv3q0ZIQTXrl2DQCDA3r17UVhYWOtzAgICwOPxMHHiRLRr104LUVJU41y4cAE3/j2LfteuwfiFMlQEQH5+PmpqqhX6W1tZa/QOfjGHg/O9eqJH//5068EWiKbar4mSkhJMnz5doc3AwAACgUD+Hz4xMRFTp05V6KOrq4sDBw7QpE6LCCE4ePAgFixYgAcPHqjsw2az8eGHH2Lx4sV0OARP5xo9L1GSlJRUa//27dvj3XffBY/Hg6enpxYipCjNyMrKwo3ISLglJSkkdQDAAGBmaoq8vDyQF4ZkayQ1Gk3sTMRiuCYm4bqeHpydnWmduxaGJnaviTlz5iA1NVWhbc2aNXBxcQHwdO5daGgoSktLFfp8//336N69u9bifN2dP38e8+bNw7Vr19T2GT9+PFauXAknJyctRtbylJaWIiIiAgKBAOfPn6+1v4GBAUaPHg0ej4f+/fvTOYhUqxR1+TIM8/PhnJmp8nE2mw0TExMUFRcDIGCxWNDT1fy0ApfMTGTa2iDy8mWMGTtW48enGo4mdq+BkydPYsuWLQptffv2xSeffALg6R2iDz/8UKmwLY/Hw4wZM7QW5+vs7t27mD9/Pk6ePKm2z1tvvYU1a9YolKR53UilUpw9exZCoRB//fWX2v1vX9S3b1/w+XyEhobS4WqqVSssLERyUhK6pqaB+YpZVBwOBzo6OpBIpdDT02uSxT9MQtAlNQ13LCxQWFhId7FpQWhi18YVFhbi/fffV2gzNDTEtm3bwGQyATzdGmzXrl0Kfby9vbFp0ya6GrCJJScnY8mSJdi5cyfUTXcNCAhAeHg4BgwYoOXoWo74+Hh5iZJMNXcqXuTk5CQvUdKxY8emD5CitODu3bvQEYthn59fa18dHR15+aqm4pCfj1ixGDExMejbt2+TnouqO5rYtXGzZ89Wmni/fv16dOrUCQBw7do1fPbZZwqPGxsbIyIiAhwOR1thvnby8vKwcuVKbNq0CTU1NSr7ODk5YdWqVRgzZow8CX+d5Ofny0uU3Lx5s9b+pqammDBhAng8Hnr16kU/lFBtilQqxb1bt+CYlt6gbcKaAksmQ4f0dMRERyM4OJhOb2ghaGLXhh08eBA7duxQaBs0aBA++OADAE+TizFjxiglFkKhEM7OzlqL83VSVlaG7777Dt9++63SfMbnrK2t8fXXX+P9999v8k/cLU1VVRVOnDgBgUCA48eP11qihMVi4e233wafz8c777xDd0Sh2iyRSITK8nLYikTNHYoC2wIRHpWXQyQS0VXlLQRN7NqovLw8pflxJiYm2LJlCxgMBqRSKSZNmoSMjAyFPmFhYRgxYoQ2Q30tVFdXY/PmzVi+fDmePHmiso+RkRG++uorfPbZZ6/VdlWEENy4cQMCgQB79uyBqA4Xrq5du4LP52PixImwsrLSQpQUVX+WlpbIf2nYdOrUqbh48aJ8vqerqyv69OmDzZs3A3i6M8rzuqJz587F5MmTAQC5ubkgEglMy8oaFdP14iIsffQIHCYLB/z8GnUsADApLweRSJCbm9vgxK6srAwjRozAtWvX8NFHH+Hbb79tdFyvM5rYtUGEEPzvf/97VoX8Pz/88APs7e0BAEuXLsWZM2cUHu/Xrx9WrlyptThfBzKZDPv27cPChQvx+PFjlX10dXUxc+ZMLFiw4LUqK5Oeno4dO3ZAKBTi/v37tfa3sbGRlyjx9vbWQoQU1TR++OEHvPPOOwptM2fOBPA0Gbxz547CY1KpFLm5uTCsqAC7kcOwx/Ly8LGDA95pV7cPRFJCwHrFtAYdqRSGFRXIzc1VKHSv8lhSqcrhWh0dHXz99deIi4vDo0eP6hQXpR5N7NqgPXv2ICIiQqFtxIgRmDJlCgDg2LFjSglc+/btsXv3blpFXEMIITh9+jTmzZuH27dvq+zDYDAwZcoULF++/LXZd7GsrAx//fUXBAIBzp07p3bByHP6+voYNWoUeDweBgwYQP8+qddGSkoKRowYgR49euDatWuY+8UX2LJnD34RFaKayDDbsQMGWVoio7IS/4uPh7shFzGlpXDlcrHR1Q0MBgNrkx/jrEgEXQYDb1u2g62eHk7m5+NyYRGuFxdjQafOWPTwIe6Xl0GPycQKJ2d4GBrih9RU5NdUI7WiEk4cDsqkEnBYLCSVi5FbXYV1Lq4QZGUivqwcAy0tEOLqirycHGzbtg2bNm1CZWUlRo4cieXLlyu9jhs3bijt6qKnp4c+ffqo/fBL1Q99l2xjsrKy5J/8nrOwsMBvv/0GBoOBx48fyxO859hsNvbt2wdra2tthtpm3bhxA/PmzcPZs2fV9hk6dCjWrFnzWtx5kkqlOH/+PAQCASIiIupUoqRPnz7g8XgYM2YMTExMtBAlRWnP7NmzsWjRIgBPyxh98803KvvFxcVh+/bt2Lx5MwRbtmBWUBBCMjJRKpFgzN07GGhhAQB4XCHGRjc3dDYwwJR793CzpAROHA5O5OfjXLfuYDIYKJVIYMRm42pxEQZbWqKfuQX+yMiAIYuFY/4BuFNSgrDERBz19wcAJJaLIfT2hi6TibDEByiXSrHDxwdHnjzBjPg4HPTrina6uhgcfRPdy8qQ9/gxbsXE4MqVK2AwGBgxYgSuXLkCW1tbhddBNT2a2LUhz+vRvbyN0qZNm2BtbY2KigqMGTNGab/Rb7/9FkFBQVqMtG1KSkrCwoULsX//frV9evfujbVr1yIkJESLkTWP+/fvQygUYvv27UpzOVXp0qULeDwe3n33XXTu3FkLEVJU81A1FKuKi4sLfHx8AAAyqRQn4uKw7tHTu1rZVVXIqaxEZXU1HPX0YCWTQSqTwcOQi8yqSnQ1NoYRi4X5SYkYYGGBfuYWSse/WVKCD55Nz/EzNkaVTIbSZwuW+luYQ/eF1fj9nz3fhctFRwMD2D1bqNTBwACFZaWIjYvDlStX5HU2y8rK8OjRI9ja2iq8Dqrp0cSuDdm2bRuOHz+u0DZ+/HiMfVYVfNasWUrDguPHj8fs2bO1FmNblJ2djeXLl2Pz5s2QSqUq+7i5uWHNmjUYMWJEmy7DUVBQgD179kAoFOL69eu19jcxMcG4cePA5/MRGBjYpn82FFVfz0tOicVi3L57FwlPnmBLp05gyaSY8PAhsvKeLsRiEYLS0hKUl5eDAQZkBGAzGPjLrysiiwpx+MkTHHnyBD+6e7zyfAQEz/8H6jMV58LpMp8+wgSgy/gv4WOCAQkYYDAY+PDDD7FkyRKF56WkpNDSWVpGE7s2IjU1VakenbW1NX7++WcAwB9//IGtW7cqPO7u7i5fJUvVX3FxMb755hts2LBB7fCinZ0dli1bBj6f32bnh1VXV+PEiRMQCoU4duyY2rp8z7FYLAwaNAh8Ph/Dhg2DgYGBliKlqJaNEAKZTIYTJ07g/PnzePz4Mdzc3JCUlISg3r2hr6sLaWUFYisrka7i/5lMJoVM9vTDZblUikqpFP3MLeDONcS792KU+nczNsbRvCfwNzbG3dJSGLBYMGzA+1QNiwVfX1/8uX07PvnkE5iZmSEjI4P+324mbfNK85qRyWR47733lOqibd68GRYWFrh165bSvDsul4uIiIjXqqyGplRWVuKXX37B6tWrUVBQoLKPqakpFixYgFmzZrXJNzdCCKKjoyEQCLB79261P4cX+fr6gsfjYdKkSbCxsdFClBTVvAoLC+WVCABgw4YNAJ7OsVu4cCEqKyvBZrMxePBg3L17F3fu3EFhYSGGDh2qcAwAYLLZKCUE76Wnw0lXF511dZXOx2Sy5KtOy6VS/C8+DtWypwuU5nbspNR/sq0tFj1MwrBb0dBlMhHu7NKg11luYoyg7t1h3b493njjDchkMhgZGWHPnj11Poanpyeys7NRU1ODPXv24ObNm/R9ooEYpLZlaVSL98svvyglblOnTsW2bdsgEokQEBCAlJQUhcf37t2LcePGaTHK1k8qlWLHjh1YsmQJ0tLSVPbR19fHp59+irCwsDa5d2JGRgZ27twJgUCAhISEWvtbW1tj8uTJ4PF48PX11UKEFNXy5Ofn4+7duwpf8fHxtd7dfpGnpyfGvP02Qo4eBfuFwt1MBvPp9mG6uuByuWBpeZeaGhYLx/r2wZCxY2std0JpB71j18o9fPgQc+fOVWizt7fHxo0bIZPJMGXKFKWk7rPPPqNJXT0QQnD8+HHMnz8fsbGxKvswmUy89957+Prrr2FnZ6flCJtWeXk5Dh48CIFAgH///bfWEiV6enoYOXIkeDweBg4c2GaHoCnqZVKpFA8fPsSdO3cUkri67G9cmydPnkDGZEJqZQWz0jL5XrDaTuReVszlgsFm06oKLQh9x23FpFIppk2bpjS/648//oCJiQlWrlyJEydOKDwWFBSEdevWaTPMVi0qKgphYWG4fPmy2j6jR4/GqlWr4ObmpsXImpZMJsOFCxcgFApx4MABlNWh2n1QUBD4fD7Gjh0LU1PTpg+SoppRaWkpYmJiFJK4e/fuoaKiotHHNjIygo+PD3x9feHr6ws/Pz94eHhg2++/o6xDR3R66cN6c8q2MIc+lwtzc/Na+xYUFKB///4KbRwOB1FRUU0V3muJJnat2MaNG5USjo8++ggDBw7E6dOnlVYnWVlZYe/eva/d/qMNER8fjwULFuDw4cNq+/Tt2xfh4eHo1auXFiNrWomJifISJeqGm1/UqVMn8Hg8TJkyBV26dNFChBSlXYQQpKamypO354mcporpduzYUZ7APf/q1KkTmCruxHn7++NOQQE80tLAauQOFJogZTKR6uAA/4AAlTtKvMzCwkJpVw1K82hi10olJCRg4cKFCm2dOnXCN998g7S0NEycOFFhyIzJZGLv3r1tbphQ09LT0/H1119DIBBApuaN08fHB+Hh4Rg8eHCbWFEsEomwd+9eCIVCXL16tdb+RkZG8hIlQUFBKi9AFNUaVVRUIC4uTiGJi4mJQXFxcaOPraenBy8vL/j5+ckTOB8fn3rd3fb19cWNyEhkWFqig5o9p7Up3dISEg6H1qhrYWhi1wpJJBLw+XxUVVXJ2xgMBv7880/o6Ohg7NixSqsU16xZgzfeeEPLkbYeIpEIa9aswY8//qjwc31Rhw4dsHLlSkyaNKnVJzM1NTU4deoUBAIBjh49iurq6lf2ZzKZGDhwIHg8HkaMGEHrUlGtGiEEOTk5CvPg7ty5gwcPHqj9QFcfNjY28iHU50mci4tLo+ebmpmZoZOzMx4WFMAhLw/MZlz7KGMw8KiDIzq5uLTJhWKtGU3sWqG1a9fixo0bCm2fffYZ+vTpg5kzZyoVhh05cqTSAgvqKbFYjB9++AHh4eFqP5VbWlpi0aJF+Oijj5T2OGxNCCG4ffu2vERJXl5erc/x8vICn8/H5MmTYWtrq4UoKUqzampqcP/+faVVqU80cMeLxWLB3d1dKYmzsrLSQOSqBYWEYOfDh0iys4NrHXZ0aSqJdnYos7TEiODgZouBUo2WO2ll7t69i+7duyssk3d1dcXt27cRERGhtA+sk5MTbt68SffbfIlEIsHWrVuxbNkyZGVlqezD5XLxxRdf4Msvv4SxsbGWI9ScrKwseYmSuLi4Wvu3a9dOXqLEz8+vTQw3U68HkUiklMDFxcXVeke6LszMzBTmwT1f0NAcH/YuXLiAG/+eRb9r12Bch72XNa2Yw8H5Xj3Ro39/9OnTR+vnp16NJnatSHV1Nbp3746YmP8qiDOZTERFRYHD4aBnz54KK7IMDAxw9epVOv/hBYQQ/PXXX1i4cCEePHigsg+bzcaMGTOwePHiVruEXywW49ChQxAKhTh9+nStw0u6uroYPnw4+Hw+Bg0aRBfYUC2aTCbDo0ePFBYz3L17F+np6Y0+NoPBgJOTk1ISZ29v32I+5EgkEgi2boU0PgEht2+DreGFFFKZDPn5eZBKZWCz2TA3Nwf72eIICZOJi/5doePuDt706bScUQtEfyOtyPLlyxWSOgAICwuDm5sbunfvrrTM/rfffqNJ3QvOnz+PsLCwV+5hOmHCBKxYsQJOTk5ajEwzZDIZLl26BKFQiP379yvtRKJKYGAgeDwexo0bR+fJUC1SWVkZ7t27p5DE3bt3D+Xl5Y0+NpfLVSgr4uvrC29v7xa/Iw+bzcbQ4cOxp6gY16qr0Ds2TqPz7YoKC+X7XkskNXjy5AkMuVxwjI1xzdMDFbbtMWL4cJrUtVD0jl0rcf36dQQGBipsMu/t7Y3r169j0qRJOHjwoEL/jz76CJs2bdJ2mC3S3bt3MW/ePJw6dUptn4EDB2LNmjXw9/fXYmSa8fDhQ3mJkpeLUavSoUMHeYkSZ2fnpg+QouqAEIL09HSlsiKPHj2qtSh2XTg6OiqVFenSpUurXgiVmpqKiN27YZ6Whp5x8Rq7c/ckLw8SieKuGFIWC/d79YKoQ0dMmspH586dNXIuSvNoYtcKVFRUwN/fH/fv35e3sdls3LhxA6dPn8ZXX32l0L979+64dOlSq57orwnJyclYvHgxdu3apfbCEBAQgLVr1yoVzWzpioqK5CVK6lLc09DQEGPHjgWfz0dISEirvphRrV9lZSXi4+OVyoo83xe1MXR1deHp6alUVqQuBXRbo9TUVBzcuw+crCwEJCRoZM5dUXExxOL/7oiWGxvjfkA3ZHEMsO/gQRgaGuLIkSOtcmTjdUATu1bgyy+/xPr16xXali9fjpCQEPTv319h/pSFhQVu3boFR0dHbYfZYuTl5WHlypXYtGmT2r0YnZycsGrVKowZM6bVJDk1NTX4559/IBAIcOTIEbVlWZ5jMpkYMGAA+Hw+Ro4cSUuUUM0iNzdXqazI/fv3FUYfGsrKykppRaqrq+trN0c0JycHx48cQWFGJtySkuCcmdmooVlxRQWKigohYzCQ5eKCJDc3ZIpEOHLihHw18Ztvvol///1XUy+B0iCa2LVwly5dQt++fRXuOAUEBCAiIgI9e/ZEbm6uvJ3BYODUqVMYOHBgc4Ta7EpLS/Hdd9/h22+/VbsFlrW1NZYuXYr33nuvVbz5E0Jw9+5dCAQC7Nq1q04lGjw8POQlSmhBakpbJBIJHjx4oLQqNScnp9HHZrFYcHV1VUribGxsNBB52yCRSBAZGYkbkZEwzM9Hl9Q0OOTnN2iHCrFEggccA6Q7OSHf0BCRN24gKipKaSrQy3O+qZaBznxswcrKyjB16lSFpE5PTw9btmzB5MmTFZI6AFi2bNlrmdRVV1fj999/x/Lly9XWZjM2NsZXX32Fzz77DFwuV8sR1l92djZ27doFgUCAe/fu1drf0tISkyZNAo/Hg7+/f4tZvUe1TUVFRUr7pMbGxtZ6F7kuTExMlFakenp6Ql9fXwORt11sNht9+/aFs7MzoiIjccfCArFiMTqkp8O2QAST8nLovOIuaQ2LhWIuF9kW5kixt0d+dTUSk5MReeSIUnLOYDCwYMGCpn5JVAPRO3Yt2MyZM/HLL78otK1btw7Z2dnYsGGDQvvbb7+NY8eOtZphRU2QyWTYu3cvFi1apHbfRl1dXcyaNQvz58+HpaWlliOsn4qKChw+fBgCgQD//PNPnUqUDBs2DDweD2+//XaruANJtS4ymQzJyclKZUVSU1M1cvwuXbooJXGOjo70g4kGFBYWIiYmBjHR0agsLweRSGBYUQFjUSF0JRIwiQwyBhPVbDZKzM1QZmAABpsNfS4X3v7+GD9+vNoRgtGjRyMiIkLLr4iqK5rYtVBnzpzBW2+9pdAWGBiI2bNnY8KECQrtHTp0wK1bt9rs5OCXEULwzz//YP78+bh9+7bKPgwGAzweD8uWLUOHDh20HGHdEUJw+fJlCIVC7Nu3DyUlJbU+p2fPnuDz+Rg/fvxr8zunml55eTliY2MVkriYmBi10xrqw8DAQGVZkdZc+Lu1kEqlEIlEyM3NRW5uLvJyclBdWQmpRAIWmw1dfX20s7GBtbU1rK2tYW5uDhaLBV9f31cOtZ45c6bVLTp7XdDErgUqLi6Gt7e3QrFNAwMDREREYNy4cQpvtHp6eoiMjERAQEBzhKp1N27cwLx583D27Fm1fd555x2sXr0a3t7eWoysfh49eoTt27dDKBQiOTm51v4ODg6YMmUKeDweXF1dtRAh1VYRQpCZmam0oCEpKUkjZUXs7OwU5sH5+vrCyckJrGcFbqnWYfv27eDz+SCEwNbWFgUFBQo7eDg6OuLevXs0OW+BaGLXAr333nvYunWrQtu3336LP/74AwkJCQrtmzdvxvvvv6/N8JpFYmIiFi1ahP3796vt07t3b6xduxYhISFajKzuiouLsW/fPgiFQly+fLnW/lwuF6GhoeDz+XjjjTdeq2F2SjOqq6sVyoo8T+JEIlGjj62jowMPDw+lBQ0WFhYaiJxqCeLi4pCeno433ngDmzdvxuzZsxUef++997BlyxaFNlV3CKsqKiCTSsFksaBnYKDyDiGlOTSxa2GOHTuGYcOGKbT169cPVlZW2Lt3r0L7tGnT8Mcff7Tp+SjZ2dlYtmwZtmzZorY8gru7O9asWYPhw4e3uJ+FRCLB6dOnIRAIcPjwYVRWVr6yP4PBQP/+/cHj8TB69OhWsdCDahny8vKUVqTGx8dDIpE0+tiWlpYK8+B8fX3h5uYGXV1dDUROtQYymQwDBgzAuXPnFNqPHz+OIUOGoLCw8OmuILduKczpMxGJoCORgEkIZAwGathsFJubK83p8/X1pbvfaAhN7FqQgoICeHl5KaxAMjIywueff47ly5cr9PXz80NUVBQMDAy0HaZWFBcXY926ddi4cSPEagpu2tvbY9myZeDxeC1ua5uYmBgIBALs3LlTafWyKm5ubvISJQ4ODlqIkGqtpFIpEhMTlZK4rKysRh+byWTCxcVFKYmztbVtcR+aKO1LSUmBt7e3wnQgLy8vzA8LQ2ZqKnTEYjimpcNWVI9VuObmSHN0QA2Hg07OzggKCYGtra02Xk6bRRO7FmTSpEnYvXu3QltYWBjWr1+v8Knb1NQU0dHRbXJLl8rKSvz8889YvXq12uEiMzMzLFiwADNnzmxRiW1ubq68RMndu3dr7W9hYYGJEyeCx+OhW7du9MJJKSkpKVFZVuTlfaEbwsjISGVZEVrImnqVzZs348MPPwSLxUJgYCCCuneHdWUlvHJyYd/AunlSJhMZlpZ42MERZZaW6B4UhKCgoBb3gb21oIldC3HgwAGMHTtWoa1///6Ij49Hdna2QvuRI0eUhmtbO6lUiu3bt2PJkiUKi0ZeZGBggE8//RRhYWEwNTXVboBqVFZW4siRIxAKhTh16lSt1fR1dHQwdOhQ8Pl8DBkyhA5lUQCeLmhISUlRKitSl4U1ddGpUyelJK5jx470wwRVb4QQhIaGwsLUFHZmZnC+fx/tExNhYWoGg0bWGpQxGEiys8N9Z2eY29thyPDhtAh1A9B0uAV48uQJ/ve//ym0mZqaoqKiQimpW7BgQZtK6gghOHbsGObPn4+4uDiVfVgsFqZPn46vv/66ReykQAhBVFQUhEIh9u7di+Li4lqf0717d3mJkpZeT49qWhUVFSrLitSl1E1t9PX14e3trZDE+fj4wMTERAORUxSQlpaGoO7dwUxOhtu5c+A8+7stLi6Grq4uWI1Y5MUkBK4ZGbAViRBd4o49RcUYNX5ciy5Z1RLRO3bNjBCC0aNH49ChQwrtw4YNw9GjRxXa+vfvj7///rvNrCCKjIxEWFgYIiMj1fYZPXo0Vq1aBTc3Ny1GplpycrK8RMmjR49q7W9nZycvUeLu7q6FCKmWhBCC7OxspRWpiYmJtRafrgtbW1ulsiLOzs50+IpqMqmpqYjYvRsWqWnwjo5GqahA4XF9fQOYa2gBhITJxDVPD4gcHRE6cSJN7uqBJnbNbMeOHZgyZYpCW69evXD16lWFNnt7e9y6dQvt2rXTZnhNIi4uDgsWLMCRI0fU9unbty/Wrl2Lnj17ajEyZSUlJThw4AAEAgEuXrxYa38Oh4PQ0FDweDz069evzSTh1KvV1NQgISFBKYnLz89v9LHZbDbc3d2Vyoq0hfcCqvXIycnBHqEQpskp6B0XByYhEBUWorJScb6nqakZOBqa+yxjMHDFyxNFHTthAm8KHZatI5rYNaPMzEx4enoqDOWZmZlBIpGgtLRU3qajo4OLFy+iV69ezRGmxqSnp+Prr7+GQCBQe8fCx8cH4eHhGDx4cLPN/5FKpThz5gwEAgEOHjxYpxIl/fr1A4/HQ2hoKAwNDbUUKdUcCgoKVJYVebF4a0OZm5srrUh1d3eHnp6eBiKnqIaRSCQQbN0KaXwCQm7fBvvZ+7dUJkNe3hOF93MGgwlra2swNfT+LWEycdG/K3Tc3cGbPp3eka4D+hNqJoQQvP/++0rzs4yNjZX2Yfzuu+9adVJXUFCANWvW4KefflK7SXjHjh2xYsUKTJo0qdkK8cbGxkIoFGLHjh1KcxtVcXFxAZ/Px7vvvgtHR0ctREhpk1QqxaNHjxQWM9y9excZGRmNPjaDwYCzs7PSggY7Ozu6oIFqcSIjI1GYkYl+CQnypA4AWEwmTExMUVj4XwUDQmSorqqCfiMXUjzHlskQEJ+A88bGiIqKQp8+fTRy3LaMJnbNZMuWLTh16pRCW6dOnZRWwU2aNAkzZ87UZmgaIxaL8f3332Pt2rVqFxhYWlpi8eLFmDFjRrPclXjy5Al2794NoVCIW7du1drfzMxMXqKkR48e9CLcRpSWluLevXsKCxru3buntoZifRgaGqrcJ5UWn6Zag6ysLNyIjIRbUhKMVfx/MNDXR6UBBxUV/z3G1tHRaAwmYjFcE5NwXU8Pzs7OtM5dLehQbDNQVeTRxMREKfnx9PTEtWvXWt0FQCKRYOvWrVi6dKnaO19cLhdz5szBnDlztL7XYFVVFY4ePQqhUIiTJ0/WWpmfzWZjyJAh4PP5GDp0KB0Wa8UIIUhLS1OYB3f37t06LYapC0dHR6UFDZ07d6bbwVGt1oF9+5B/9Sr63YwGU026QACUlZVCUiMBh8NpkvdIGYOBc90CYNm7N8a8VBqMUkTv2GmZTCbDtGnTFJI6ACgvL1f43sjICBEREa0qqSOE4K+//sKCBQuQmJiosg+bzcZHH32ERYsWwdraWquxXbt2DQKBAHv37kVhYWGtzwkICACPx8PEiRPpRPVWqLKyEnFxcQpJXExMDIqKihp9bD09PXh5eSmVFaFbIlFtSWFhIZKTktA1NU1tUgcADABGhkZNGguTEHRJTcMdCwsUFhbS/2uvQBM7Lfv5559x/vx5hTYul6uU2G3btg2urq5ajKxxzp07h3nz5uH69etq+0ycOBErVqxAly5dtBZXamqqvERJUlJSrf3bt2+Pd999FzweD56enlqIkNKEnJwcpQUN9+/fr7VgdF1YW1srrUh1dXWlk7ipNu/u3bvQEYthr4HV3ZrgkJ+PWLEYMTEx6Nu3b3OH02LRdyYtSkxMRFhYmEKbvr6+UlI3Z84chIaGajO0Brtz5w7mz5+vNF/wRQMHDsSaNWvg7++vlZhKS0sREREBgUCglESrYmBggNGjR4PH46F///60REkLVlNTgwcPHiiVFXny5Emjj81iseDm5qaUxGnzzjJFtRRSqRT3bt2CY1p6g7YJawosmQwd0tMREx2N4OBg+l6tBk3stEQqlWLq1KlKezy+XEojJCQEa9as0WZoDZKcnIzFixdj586davt069YN4eHh6N+/f5PHI5VKcfbsWQiFQvz11191mvTet29f8Pl8hIaGan2eH1W7wsJCpbtwcXFxaldW14epqalSWREPDw+NreSjKE1gs9nw8vKSf3/9+vV6b0O4bt06fPXVV/U+t0gkQmV5OWxf2rP7p7RUnMzPBwOALpOJ793c4fCK/zebM9Lxgb1Dg5/f4+oVXO/VW/69bYEIj8rLIRKJXjlFpqGv+2WnT59GWFgYampqYGRkhN9++w3e3t6NPm5Toomdlqxfvx5Xrlx5ZR8bGxvs3bsXOhpeUaRJT548wcqVK/Hrr7+ipqZGZR9nZ2esWrUKY8aMafJVo/Hx8fISJZmZmbX2d3Jykpco6dixY5PGRtWNTCbD48ePlcqKpKWlaeT4Tk5OSmVFHBwc6IpmqsUzNTXFnTt3GnWMhiQ4UqkUubm5IBIJTF+YD36rpATXi4txuKs/2AwGcqqqYMB69cKgzRkZ8sSuIc9/mUl5OYhEgtzcXI0mdlKpVOUdwHbt2uHEiROwsbHBmTNnMHPmzDoVq29ONLHTgri4OCxevFihjclkKhR1ZLFY2Lt3b4tdxl1aWorvvvsO3377rdLCj+dsbGywdOlSTJ8+vUmT0/z8fHmJkps3b9ba39TUFOPHjwefz0evXr3oBb0ZlZeXqywrou5vqj44HI7KsiJGRk07qZuitOnEiRNYvnw5Kisr0aNHD/z6669gMpn48MMPER0djcrKSnz88ceYOXMmFi5ciKKiIvj5+SEoKAhz587FmDFj5O+bX375Jby8vDB16lR07NgR06dPx6lTp7BixQqcOnUK+3fswNaSEgywsMCnHToir7oaxmw22M/eQ21eWP16XiTCz+lpqJLJ4GNohOVOTtiYmopSiQTDb9+Cv7ExepuY1uv5Lxc53pSehtMFBRDFxSKruBgbN24EACxfvhz79u0Di8XC+++/j5ycHIXX/fPPP2Pt2rXYvn07GAwG5s2bh8mTJ+P8+fNYvXo1TE1NkZOTozJh8/Pzk//b39+/TjcQmhtN7JpYTU0NeDyeUlX6l3deWLt2bYssvFhdXY3ffvsNK1asQF5enso+xsbGCAsLw6efftpkq3irqqpw4sQJCAQCHD9+vNYSJSwWC2+//TZ4PB6GDRtGh9i0jBCCjIwMpbIiDx8+hCYqLNnb2yuVFenSpQudc0O1Kc+TE+DpVpMrV67Ed999h/Pnz0NfXx+zZs3Cvn37MGHCBISHh8Pc3BzV1dXo1asXxo8fj1WrVuG3336T3/VLSUl55fksLCwQFRWF+Ph4XLp4ESvefhs9EpPwv/h43C4pQZCpKX5MS8Xg6JsINjXDcCsr+BgZQVRTg22Zmdjh7QM9JhPLHj3Eifw8fNGxI/bkZONI16fzq8skkno9/512VvLYLhaKUFBdg7/8uiLSyQkrjx7Fl19+iTt37uDChQuIjo6Gnp4eRCIRzM3NFV73zZs3sW/fPty8eRNisRjdu3dHv379AADXrl1DQkIC2rdvX+vv488//8TAgQPr90tsBjSxa2Jr1qyptfBtaGgovvjiCy1FVDcymQx79uzB4sWL8fjxY5V9dHV1MWvWLCxYsAAWFhYaj4EQghs3bkAgEGDPnj0QvTTXQ5WuXbuCx+Nh0qRJsLKyqrU/1XhVVVWIj49Xmg9Xl99XbXR1deHh4aGQxPn4+DTJ3xtFtTQvD8UePXoUMTEx8p2IKioqYGdnBwDYtWsX/vjjD0ilUqSlpSEpKQmWlpb1Ot/YZ/Xh/v33XyQmJmJxUhIMqqshlkqRVlmJrsbGONTVH9eKihBVVIRpsffwvZs7qmUyPBCXY+zdp7FWyWSw1lWuZWfIZjf4+ZGFRTgrEuF6STEq4mJRzmLh0aNHOHv2LKZNmyavnWdubq503suXLyM0NBT6+vrQ19dH//79cePGDZiYmCAoKKhOSd3Vq1fx+++/IzIysj4/0mZBE7smdOvWLaxYseKVfVxcXLB169YWMzxICME///yDefPmqZ3bwWAwwOPxsGzZMnTo0EHjMaSnp2PHjh0QCoW4f/9+rf1tbGzkJUpa+qTW1u7JkydKCVxCQkKtd1Drol27dkoLGtzc3Fr0nFOK0iZCCN555x1s3bpVof3x48f45ZdfcOXKFZiYmGDw4MEqFxmx2WyF0aKX+3A4HPl5+oaEYLKZGXwfK+6GxGYwEGRmhiAzM5jp6OBfUQGCTc3Qz8wca1xcan0NDX0+AfCJoyNGWVvjbudOKA0MRN++fXH48OFaz6l0LELk19znr/lVkpOTwePxcPDgwVbxoZImdk2kqqoKfD7/lRc8DoeDiIiIFrMi88aNGwgLC8O5c+fU9nnnnXewevVqjSdQZWVl+OuvvyAUCnH27Nlah+v09fUxatQo8Hg8DBgwgNYU0zCJRIKkpCSlBQ112UO3NkwmE66urkpJnI2NTYv5gENRLVGvXr3w6aefIj09HQ4ODigoKEBFRQVKS0thaGgIY2NjpKSk4PLly/LnsFgs+cIAKysrZGVlobS0FAwGA6dPn0ZAQIDSed58802sDQ/HsGe14nKqqqDHZKKwpgZsBgOOBgYghCBJXA5nDhd+RkZY9fgRsquqYKunh8KaGlTJZLDR0wOLwYCUELAYDDwWi+v9/OcCTU2xOSMdb1taQsZg4kl+PiorKzFgwACsX78eY8eOVRiKffF1BwcH46OPPsKcOXMgFotx7tw5LF++HA8ePKj1Z15UVIQRI0bg559/bjW1TenVsIksXboUsbGxr+yzefNmhaXszSUxMRELFy7EgQMH1PYJDAzE2rVrERwcrLHzymQynDt3DkKhEBEREUr1/FQJCQkBn8/HmDFjYGJiorFYXmfFxcWIiYlRSOJiY2OVSvE0hLGxsdKKVE9PTxgYGGggcop6vVhZWWHTpk0YOXIkampqoKOjg82bN8Pf3x+urq7w8vKCi4sLevf+rzwIn8+Ht7c3+vXrh59//hlfffUV/P394ezsrPYDupeXF0YMH45l+/dDv7ISXBYLG1zdIJZJsfzRI5Q9K/ztyTXEu7a20GexsNTJCR/Hx0NCZGAzmFjp7AwbPT2MsrLGO7ei0dPUFGOsrev9/OfeMDdHkrgcY+7eQXlCAkza22LWZ59hyJAhiI6Ohr+/P3R0dPD+++9j1qxZSq977NixCAgIAIPBwLJly2Bra1unxO6nn35CcnIy5s6dC+DprjPXrl1r8O9QG+hesU3g6tWrCAoKUlog8aJZs2bhxx9/1GJUyrKysrBs2TL5vAxVPDw8sHr1agwfPlxjd1Pu378vL1GSnp5ea/8uXbqAx+Ph3XffRefOnTUSw+tIJpMhJSVFYTHD3bt3a51QXVedO3dWSOJ8fX3RsWNHeheOolqhf//9Fw/+/htvXbna3KEoOd27F1wHDdJKjdTWiN6x0zCxWAw+n//KpK5nz55Yv369FqNSVFRUhHXr1mHjxo1KBZOfs7e3x/Lly8Hj8TSy0rCgoAB79uyBUCh85bZjz5mYmGDcuHHg8/kIDAykyUE9icVixMbGKu2TWlpa2uhjGxgYwNvbW2mf1JYypYCiqMaztrZGtIEBalgs6Ghgaz5NqWGxUGZgQHeEeQWa2GnYwoULkZiYqPZxS0tL7N+/v97VwzWhsrISP//8M1avXq12xaKZmRkWLFiAmTNnNnq4rLq6GidPnoRAIMCxY8fUFjR+jsViYdCgQeDz+Rg2bBgdrqsDQgiysrKUtthKSkp65YeLumrfvr1SWRFnZ2daVoSi2jhra2sw2GwUc7mwLClp7nDkirlcMNhsjSd29+7dw5QpUxTanJycXjlFqaWiiZ0GXbhwQV4wURUmk4k9e/bAwcFBbZ+mIJVKsX37dixZskTt0KeBgQE+/fRThIWFwdTUtMHnIoQgOjoaQqEQu3fvRn4dNo/29fWVlyixsbFp8LnbuurqaiQkJCglcQUFBY0+to6ODtzd3ZWSuPqWS6Aoqm0wNzeHPpeLbHPzFpXYZVs8jUtVWZPG8Pb2bvQuHy0FTew0pLS0FNOmTXtlnxUrVmh1TgAhBEePHsWCBQsQFxensg+LxcJ7772Hr7/+uk61fNTJyMjAzp07IRQKER8fX2t/a2trTJ48GTweD76+vg0+b1uVn5+vVFYkPj6+1ruedWFhYaG0ItXd3b1Z7iJTFNUysVgsePv7405BATzS0sDSwAjAy2SEoKKiAiwWC/p6ynXvXiZlMpHq4AD/gAA6avAKNLHTkLlz5yI5OVnt48OGDcO8efO0Fk9kZCTCwsJeWUwxNDQUq1atgqura4POUV5ejoMHD0IoFOLMmTO1lijR09PDyJEjwePxMHDgQFqiBE/vpj58+FCprIgmtq1hMBhwcXFRSuLat29P5yxSFFUrX19f3IiMRIalJTo8eaLRYxMA+Xl5kEiflgQz5BrWOk833dISkmdbB1Lq0SurBvz999/47bff1D7euXNnCAQCMJn12+y4IeLi4rBgwQIcOXJEbZ833ngD4eHh6NmzZ72PL5PJcOHCBQiFQhw4cKBOe3wGBQWBz+dj7NixjRrmbe1KS0uVyorcu3dP7QKW+jAyMlLYJ9XPzw9eXl51Kr5JURSlipmZGTo5O+NhQQEc8vLA1GARjZqaGnlSBwBl5WXQ09OT7yDxMhmDgUcdHNHJxQVmZmYai6MtooldIxUVFeG9995T+7i+vj4iIiKa/A8xLS0NX3/9NYRCodpJ876+vggPD8egQYPqfccmMTERQqEQ27dvR1paWq39O3XqBB6PhylTpqBLly71OldrRwhBamqq0j6p6rZmq6+OHTsqlRXp1KmTVj44UBT1egkKCcHOhw+RZGcH14wMjR1Xh80Gg8EEIf9dr4qKitDOygpMFdenRDs7lFlaYoQGa6m2VTSxa6TPPvvslcNmv/zyi3wT56ZQUFCANWvW4KefflK5hQzwNMlasWIFJk6cWK+Lv0gkwr59+yAQCHD1au21jIyMjOQlSoKCgl6LRKOiogJxcXFKZUWKi4sbfWw9PT14eXkp7ZP6Ot/1pChKu2xtbdE9KAg3KqtgKxLBWCzWyHEZDAaMjY1RXFwkb5PKpCgpLlZ6jyvmcPDAxRk9goNha2urkfO3ZTSxa4QjR45AIBCoffz999+vdUFFQ5WXl+P777/H2rVrUaJmxVK7du2wePFizJgxo84T42tqanDq1CkIBAIcPXoU1dXVr+zPZDIxcOBA8Hg8jBgxos0O/RFCkJOTo7Qi9cGDBxopK2JjY6MwD87X1xcuLi50HiJFUc0uKCgIDx88QHSJO0Ju3wZbQwspOBwOKisqUFX9300JcYUY+vr60NfXBwBImExEe7jD3M4OgYGBGjlvW0d3nmig/Px8eHl5ITc3V+Xj/v7+iIyMlP9xakpNTQ22bt2KZcuWqd23k8vl4ssvv8ScOXNgZGRU6zEJIbh9+zaEQiF27dqFvLy8Wp/j5eUFPp+PyZMnt7lPUDU1Nbh//77SqtQnGpg8zGKx4O7urpTEWVlZaSByiqKoppGTk4M9wu0wTUlG79g4jc23k0qleJKXpzAky2SyYNWuHcBi4YqXJ4o6dsIE3hRaDquOaGLXQOPHj8e+fftUPmZmZobo6Gh06tRJY+cjhCAiIuKVBZB1dHQwY8YMLFq0qE7FG7OysrBz504IBAK15VBe1K5dO3mJEj8/vzaxslIkEiklcHFxcbXeqawLMzMzpX1SPTw81E4OpiiKaslSU1MRsXs3zNPS0DMuXmN37sQVYhQVFSm06XK4eBAcBJGjI0InTkSHDh00cq7XAU3sGmDv3r2YMGGCyscYDAaOHTuGIUOGaOx8586dQ1hYGG7cuKG2z8SJE7FixYpaFyqIxWIcOnQIQqEQp0+frnUYUVdXF8OHDwefz8egQYOgo6PToNfQ3GQyGR49eqS0T2pd9qqtDYPBgJOTk1ISZ29v3yaSX4qiqOdSU1NxcO8+cLKyEJCQoLE5dyKRCJVVlQCAcmNj3A/ohip7O0yaOpUmdfVEE7t6ysnJgaenp9otuZYsWYJly5Zp5Fx37tzBvHnz8Pfff6vtM2jQIKxZswZdu3ZV20cmk+HSpUsQCoXYv39/nfYL7d27N/h8PsaNG9fqlpaXlZXh3r17CkncvXv3UF5e3uhjc7lchbIivr6+8Pb2hqGhoQYipyiKavlycnJw/MgRFGZkwi0pCc6ZmY0empXKZMjNy0OGsxOS3NyQKRLhYlQULly4QIdg64kmdvVACMHIkSPV1ogbOHAgTpw40eiK2I8fP8bixYuxa9cutX26d++O8PBwvPnmm2r7PHz4UF6iJCUlpdbzdujQAVOmTAGPx4Ozs3NDQtcqQgjS09OVyoo8evSo1mLJdeHo6KhUVqRLly6vxWpfiqKoV5FIJIiMjMSNyEgY5uejS2oaHPLzG7RDhZTJRLqlJR7YtUemjg4ib9xAVFQUpFIphg8fjkOHDtHRj3qgiV0tZDIZqqqqYGBgAIFAgKlTp6rs5+joiOjo6EbtrfnkyROsWLECv/32m9qto1xcXLBq1SqEhoaq/EMvKirC3r17IRQKERUVVes5DQ0NMXbsWPB4PPTp06fFJi2VlZWIj49XKitSWFjY6GPr6urC09NTqayIpvcipCiKamuysrIQFRmJ5MREsMVidEhPh22BCCbl5dCRStU+r4bFQjGXi2wLc6Q6OEDC4aCTszMOHz2KHTt2KPT9888/wefzIRY/XTHbUq9TLQVN7F7hxIkTmDx5MsRiMXr06IG7d++qHMbU1dXF5cuX0b179wadp7S0FOvXr8f69evV7uRga2uLr7/+GtOnT1ea51ZTU4N//vkHAoEAR44cUVvP7jkGg4G33noLPB4Po0aNanElSnJzc5XKity/fx/SV7xJ1JWVlZXSilRXV9dWO3eQoiiqJSgsLERMTAxioqNRWV4OIpHAsKICxqJC6EokYBIZZAwmqtlslJiboczAAAw2G/pcLnwCAuDj4wMzMzPk5eXB09NToTqDsbExhg8fjv3790NfXx+7du3S6Dz2toYmdq/g5OSER48e1dpv06ZN+Oijj+p9/Orqavz2229YsWKF2hIjxsbGCAsLw6effgoul6vw2J07dyAUCrFz5846leLw8PCQlyixs7Ord7yaJpFI8ODBA6VVqTk5OY0+NovFgqurq1ISR+dqUBRFNR2pVAqRSITc3Fzk5uYiLycH1ZWVkEokYLHZ0NXXRzsbG1hbW8Pa2hrm5uZK05cOHTqEUaNGqT2Hk5MTkpKSmvqltFqvRWKn6g+tqqICMqkUTBYLegYGSn9opaWldVo0MGXKFAgEgnqN/8tkMuzZsweLFi1CcnKyyj66urr45JNPMH/+fFhYWMjbs7OzsWvXLgiFQsTExNR6LktLS0yaNAk8Hg/+/v7NNk+hqKhIaZ/U2NjYWu8u1oWJiYnSilRPT0+N1xCkKIqitGPixInYs2eP2seLiopgYmLSoOt7Y+fBt3Rtuqx9YWHh0xWRt24p3Bo2EYlgIJGASQhkDAZq2Gw8MDdH9Au3htu1bw8TE5NXbg3VpUsX/Prrr3VOlggh+PvvvzF//nzcuXNHZR8GgwE+n49ly5bB0dERwNNtqw4fPgyhUIi///671hIlOjo6GDZsGPh8PgYPHlznXSc0QSaTITk5WamsSGpqqkaO36VLF6UkztHRkU6spSiKaiMyMjJw8+bNV/aJjY1FTU1Ng67v3v7+8PX1bXUVH+qqTd6xy8rKQtTly0hOSoKOWAzHtHTYiuoxmdPcHI/b20IklSIpORmXo6JUDg/q6ekhJiYGLi4utcZ0/fp1zJs3D+fOnVPbZ9iwYVi9ejW8vLxACEFkZCQEAgH27dundtuwF/Xs2RM8Hg/jx49XuMvXVMrLyxEbG6uQxMXExKidJ1gfBgYGKsuKGBsbayByiqIoqqWaPHmy2qoQNjY2CA4MRFdvb3Bqahp0fU9zdEDNs8UaQSEhbW73pDaV2L28/NopNQ32DVx+XVwhRrKxMdKcnZFvaKiw/PpFI0aMwKFDh9Qe58GDB1i4cCEiIiLU9gkMDMTatWsRHByMx48fy0uUPH78uNY4HRwc5CVKXF1d6/z66oMQgszMTKUFDUlJSRopK2JnZ6cwD87X1xdOTk5t/nY5RVEUpWzEiBFKZcVYLBYCAwMR1L07LMvK4JqZCafSsgaXV8mwtMTDDo4os7RE96AgBAUFtZm9udtMYqfpgomFhYWoqKyAjMFAlouLvGDikRMnFBYqDBw4EIcOHYKBgYHC87OysrBs2TL88ccfaldzenh4YM2aNejTpw8OHDgAgUCAy5cv1xobl8vFmDFjwOPx8MYbb2h06Xd1dbVCWZHnSZy6gsz1oaOjAw8PD6UFDdq4u0hRFEW1DtevX8fAgQPlU6GsrKwwfOhQ2JmZwfn+fbRPTARX3wBmpqaNOo+MwUCSnR3uOzvD3N4OQ4YPbxML7NpEYvd0i5O94GRla2yLk9zcXEhl/yVkYmNjJAQEIIvDwf5Dh5CWlgYjIyPo6emhqKgIs2fPxrfffovi4mKsW7cOGzduREVFhcpjOzg44Ouvv4a1tTV27tyJQ4cOobKy8pXxMBgM9O/fX16iRBM7HeTl5SmtSI2Pj4dEImn0sS0tLRXmwfn6+sLNzU2r8/0oiqKo1iknJweLFy/G6dOnMXbECNiKxXCPjgbn2bQkFosFa6va90SvixIOB9Hu7hC3b49R48e1+i3MWn1i93xTYovUNPSI19ymxDm5uZDJFO+0SVksJPTsiYx27SBjs7Ft2zaFMiU8Hg9Hjx5VWzTXzMwM06ZNg1Qqxd69e+tU1sPNzU1eosTBwaFBr0UqlSIpKUlhMcPdu3eRlZXVoOO9iMlkwsXFRSmJs7W1pQsaKIqiqAZLTU3F3u3bYfzoEVyiosB6YfSLxWTB2loziR0ASJhMXPP0gMjREaETJ7bq5K5VJ3Y5OTnYIxTCNDkFvePiGr1X3YvEYjGKiosU2hgMJrhGRrjXswceGRvj9z//rFP9OAMDAwQGBiI3NxexsbG19jc3N8fEiRPB5/PRrVu3eiVIJSUliImJUVjQEBsbq/buYX0YGRkpbbHl5eXV4gocUxRFUa3by9f3qooKFBUVgRAZAAZMTUw0fu2RMRi44uWJoo6dMIE3pdUOy7baxE4ikUCwdSuk8QkIuX1bY3fqXlRZVfXsD4mAw+HA2MgIDAYDJZWVuODnhwRJDbZt3652Dh2TyYS9vT0yMjLqVKJk6NCh4PF4GDp0aK1DloQQpKSkKJUVUVcXr746deqkVFakY8eO9C4cRVEU1aTUXd8JgJrqarDYbLCaaFsxCZOJi/5doePuDt706a1yQUXri/iZyMhIFGZkol9CQpMkdQCgr6cHm5du9UokEpQXFsIt+iZK+vVDYGAgLl26pPRcNpsNiUSCtLS0V56je/fu4PF4mDBhgtp9ZisqKlSWFalLCZTa6Ovrw9vbWyGJ8/HxgYmJSaOPTVEURVH1pe76zgCafJ42WyZDQHwCzhsbIyoqCn369GnS8zWFVpnYZWVl4UZkJNySkjSyUKKuCID8ggIQEHBLSuB8/z6qundHUlKS0ny5Vy1AsLOzw5QpUzBlyhR4eHj8d3xCkJ2drbQiNTExsdY7fnVha2urVFbE2dm5VX4ioSiKotqe5rq+v8hELIZrYhKu6+nB2dm51dW5a5VX9KjLl2GYnw/nzEytnresrExhQUX7xETk2NsjKDAQEX/99crncjgchIaGgsfjoV+/fpDJZEhISMD27dsVkrj8/PxGx8lms+Hu7q5UVqRdu3aNPjZFURRFNZXmur6/zCUzE5m2Noi8fBljxo5t1ljqq9UldoWFhUhOSkLX1DSNLpaoC/LSXTMmIXB4+BAFXbuq3X6sX79+CA0NRYcOHZCUlIQdO3Zg7ty5iI+PR3V1daNjMjc3V1qR6u7uDj09vUYfm6IoiqK0pTmv7y9jEoIuqWm4Y2GBwsLCVrX9WKtL7O7evQsdsRj2GrizVV9GRkYoF4ufrcp5yjI9HZxnc9QuXrwobzc1NYW/vz8SExMxa9asRp+bwWDA2dlZaUGDnZ0dXdBAURRFtXrNeX1XxSE/H7FiMWJiYtC3b9/mDqfOWlViJ5VKce/WLTimpTdoG5HGYjAY0NfXR0XFf+P+LJkM9qmp8Pf2xqVLl+RbbBUVFeHs2bMNOo+hoaHKfVK5XK5GXgdFURRFtSTNfX1XhSWToUN6OmKioxEcHNxqtrls0Hphdas362PIkCGvrK22bt06+b+zsrIwefJkiEQiVJaXw1bF9lbuly9h+O1bGHIrGjPi4lCigd0TVDE2MsLTtTn/Mc/OBldfv0FbYzk6OmL48OFYvHgxDhw4gKSkJBQXFyMyMhK//PILZsyYgV69esmTui1btsDZ2RkMBgNlZWWaeEkURVEU9UoMBgMff/yx/Pvs7GywWCwsXbq03seaNm0a/Pz84OTkBFNTU/k0orTUVJXX98bYlpmJwdE3sfTRwwY937bgad6hiW01n7t+/Tq6desGHR0dHDt2TGPHfa7Z7tidOHHilY+vW7cOX331FQCgffv22LlzJ2JjY0EkEpiqSGiM2Gwc6eoPAPjywQPszM7C/xwcGxWjlBCwXhrmZLFYYLFYkEr/Sxy5RUVgMxiwtrZWu/hBT08Pnp6eCosZfHx86j1u37NnT/zzzz/o169f/V8QRVEURTWAubk5rl69CqlUChaLhQMHDsDT07NBx9q2bRsA4Pz58/jpp59w4MABxMbG4sT+/TAtK1N57W2oPTnZ2OHtg3Z1LJPy8rlNystBJBLk5ubWewHi85/Vy9q3b48tW7bgu+++q9fx6kpjid0///yDr776ChKJBAMHDsT69evBYDCwadMmbNiwAQ4ODmjXrh2Cg4Mxa9YsdOzYUb4Lw5gxY5D5bAXMt99+i4sXL6KoqAh+fn4ICgrC3LlzMWbMGKxduxYGZWVYnZSI68XFYICBWY6OGPTSHcQAY2PcL3+a/OVXV2Pxw4fIra6CLpOJVU7O6MLhILlCjDkPHoDFYMDfyBg3Sorxl19X/JCaivyaaqRWVMKJw8GU9u2x9NFDFNdIYKrDxloXVzAYDOwvKsKRkhLoMBjw0tdHYKlyshkUFARDQ0N07twZn332Ge7fv4/FixcjMjIS7u7uWL16NQoLC9GnTx+EhobizJkzYLFY+P3332FlZaXy58zlckEIgUQiQXJyMh2epSiKopocIQQ+Pj7YvXs3AgMDsWvXLvTr1w+FhYV4/PgxTp8+jU2bNqG6uhp2dnb47rvvwOVyMW3aNEyaNAlvvfUWvv32WzCZTHzxxRcAno7GlZeX4/Hjx/j1119x9cwZHM/NhQGLhc8dO2DBwyRUyGTQYTAQ7uwCJy4Xf+Xm4kKhCMUSCTIqKzHRxhbv2dujXCrF7IQE5FZXAQDCOnXGeZEIGZWVmB57D1Pa26GXqQkWJCahWFIDO319hDu7wFRHB+/GxKCrsTGiS4ox1toGP6SlYriVFSILn960ecvRAVOmTEFxcTHWr1+PUaNGQSKRYM6cObhy5Qqqq6uxdOlSjBw5En/++Sf+/vtvlJSUgMvlYt++fUo/S3t7e9jb24PZREWWQRrAwsJC4XuxWEwcHR1JcnIykUqlZOjQoSQiIoJkZGSQLl26kKKiIlJWVkZcXFzIjz/+SAghpEOHDqS0tJQcOHCATJo0iRBCiEwmI8XFxUrnSE5OJgEBAWT3jh2E17s3GdHOitwPCiaJwSHkRq9eJDE4hJiy2SQxOIQkBAWTgRYW5DcPT5IYHEKGWrYjf/n5kcTgEHLA14+EmJqRxOAQ0sfMjPzs7k4Sg0PIR/YOxMvQkCQGh5BZDo7E38iYxAYGkcTgEBJoakrOdetOEoNDyPdubmSCjQ2J7dmTGDGZ5GSnTuR8ly7kWMeO5LeJE4mJiQnB03J39It+0S/6Rb/oF/2q41fP7t2JpaEhOf7sunqqUyfyT+fO5HyXLuQnOzsSzOWS2/4BJNzZhXQxMCB3egeSm716EwsdHRIbGER+dHMnw9q1I4nBIeRBUDC51as3SQwOIXZ6euR270CSGBxC3jAzJxtd3UhicAj5smNHMsW2PUkMDiE9jE3Ie3Z2JDE4RP6cNc7OJDE4hIy1tiEu1tZEuG0bSUhIID4+PoQQQjZt2kS+++47QgghxcXFxM3NjVRWVpJt27aRzp07y3OZV+Hz+eTo0aMNScNeSSN37B48eABXV1d07NgRADBp0iRcunQJTCYT/fv3l+9i8M477yg919vbG59//jm++uorjBo1Cr1791Z7nqqKCiRkZuJzGxswn90qNWHrAABKJRIMv30LOVVVcOZwEPJsiPNqcREeVSgXOYwrK8MA86dz4oa2a4fLRYXyx/pbmEOXyUSZRIJbJSX4X0I8AEBGCOz09FFRUQk3PT2sevIEb3C5COZywa6uho2VlcqSJxRFURRFqaejowMvKytwn13bawjBxrw8PKqqApPBQA0hKC4uBmEy0dvUFJxnQ5xWurooqKmBC5eD1cklWJecjLcsLNDV2FjpHPfKSvHbs00BRrSzwofxcfLHBlsqDrO++Sw/cOVyUM3hgkilcHNzQ1ZWFgDg9OnTiIuLg0AgAACUl5fLRx4HDRoEYxXn15YmmWNHCAGDwZCvEH2x/WUuLi64ffs2jh8/jk8//RQ8Hk9teRCZVAp1o+7P59hVSKWYFhuLXdlZ4LW3AwAc9Ov6yvH6l6PSZ/43Jm6poyufu/dcSWkpwm1tcaeiApfKy7GvuBjzunZFSO/eeJCUpPY8FEVRFEUpYzEY0GMygWd5woHiYtiy2VhkZQWRVIqPMzPlpb10XxjCZDEYkBKCTgYcHPLrivMiEVY+foSRVtaY0r69wjlezALIS98bvDQs+vwcDDCgy2RA+mxB5vM8hhCC33//XWnLsYsXL4LD4TT0x6ARGhngdXV1RWJiIlJTUyGTybBnzx6EhISge/fuOHv2LEpKSiAWi1UumMjKygKXywWPx8Onn36KO3fuAMCzBQpShb5MFgtetrbYm5MD2bMfbrGkRqGPAYuFhZ07Y2tmJiSEoIeJCfbkZAN4esftQXk5AMDD0BBnn61yOZWfp/J1GbLZMNfRwfln/WpkMjwUi8E1NIQIQACHg48tLZFTUwMpgEJ6t46iKIqi6k1KCMgLN2DKZTJYsNlgMBg4XVoKBp7Wh1V3iya3qgocFgujrK3Bb2+HhHLlee9ehkb4u+DpAsdjeXnoZmxSp9gIgwHWS1tvDhgwAL/++qs8T3meu7QEDbpjV1hYCHt7e/n3GzZswO+//44RI0bIF0+MHDkSDAYDn332Gbp16wZHR0d07dpV6fbkvXv38OWXX4LFYsHAwAB//PEHAIDP58Pb2xv9+vXD3LlzAQB6Bgbo6+GBM2npeOf2LbDULJ7wNjKCC4eLv/PzsbhzFyx5+BB7srMhIQQjrazhyuViQafO+PLBA/yakY7uxiYwVFOfZr2rK5Y8fIj1KSmQguB9O3t00NfHmrx8lEpqIJXJMM3cHDI9PVx7oUAxAJw6dQoXL16EhYUF/ve//+HWrVv49NNPUVVVBR8fH/z000/Q19eHm5sbbt68CUNDQ5w4cQKHDh3C77//rjKeP//8EytXrkRubi6srKwwYcIErFq1qn6/QIqiKIqqBwcHB6Snpyu0bdq0CQUFBVi0aBEOHTqEBQsWwN7eHt7e3igtLcX333+PPn36QCgUwt3dHZs2bUJMTAw2bdoE4OndrV9//RW7du3CZ7NnI/3qVdiamAIA3jM2wewH93Gxqgq9TUzBKi+Hgb4+oOYGSqJYjLXJj8FkMKDPZGK1s7NSn0VdOmN+YiJ+TktDez19rHVxqdNrlzKZ0NXXV2ibMWMGHj9+DD8/PxBC4OLigr9q2Vr0ufj4eAwcOBCFhYU4duwY3N3dcenSpTo9ty4YRNX4qAaVl5eDy+WioqICffr0wdatW+Ht7d2gY/3777948PffeOvK1UbHVSGVQp/JBIPBwJaMDOTXVGNep84NOlZ1TTVOdeuGEwkJ8qLEenp6yM7OblXbkFAURVFUc9Dk9V3TTvfuBddBg9C/f//mDqVOmryO3aJFi3Du3DlUVlaCx+M1OKkDAGtra0QbGKCGxYLOS8O09RVTWopVyY8hIwTWenr4po6ZuyoMfQNILSwwc+ZMtG/fHnl5efjyyy9pUkdRFEVRdaDJ67sm1bBYKDMwgLW1dXOHUmdNntht2LBBY8eytrYGg81GMZcLy5KSRh2rp6mp0qKIhirmcsFgsxESEoLRo0dr5JirVq3C/v37Fdq++OIL8Hg8jRyfoiiKoloKTV7fNen59b0hid3ff/+NsLAwhbY+ffrghx9+0FR4KrWqvWLNzc2hz+Ui29y8Rf3isy2exmVubq6xYy5cuBALFy7U2PEoiqIoqqVqi9f3QYMGYdCgQU0Q1as1UdnjpsFiseDt7480RwdIm6picz1JmUykOjjAJyCg1WwQTFEURVEtCb2+a07L+OnVg6+vL2o4HGS8tBK2uaRbWkLC4cDHx6e5Q6EoiqKoVote3zWj1SV2ZmZm6OTsjIcdHCHT0CbBDSVjMPCogyM6ubjQhRIURVEU1Qj0+q4ZrS6xA4CgkBCUWVoiyc6uWeNItLNDmaUlgoKDmzUOiqIoimoL6PW98VplYmdra4vuQUG47+yMkmbauqOYw8EDF2f0CA6Gra1ts8RAURRFUW0Jvb43XqtM7AAgKCgIZvZ2iHZ3h0TLEy0lTCaiPdxhbmeHwMBArZ6boiiKotoyen1vnFab2LHZbAwdPhzi9u1xzdNDa+PxMgYD1zw9UGHbHkOGDweb3aoqxlAURVFUi0av743TahM7ALCxscGo8eMgcnTEFS/PJs/sJUwmrnh5QuToiFHjx8HGxqZJz0dRFEVRryN6fW+4Jt8rVhtSU1NxcO8+cLKyEJCQAGOxWOPnKOZwEO3hjgrb9hg1fhw6dOig8XNQFEVRFPUfen2vvzaR2AFATk4Ojh85gsKMTLglJcE5MxNMDbw0GYOBRDs7PHBxhrmdHYYMH96qM3mKoiiKak3o9b1+2kxiBwASiQSRkZG4ERkJw/x8dElNg0N+PlgyWb2PJWUykW5piUcdHFFmaYkewcEIDAxstWPuFEVRFNVa0et73bWpxO65rKwsREVGIjkxEWyxGB3S02FbIIJJeTl0pFK1z6thsVDM5SLbwhypDg6QcDjo5OKCoFa65JmiKIqi2hJ6fa9dm0zsnissLERMTAxioqNRWV4OIpHAsKICxqJC6EokYBIZZAwmqtlslJiboczAAAw2G/pcLnwCAuDj49PqKk5TFEVRVFtHr+/qtenE7jmpVAqRSITc3Fzk5uYiLycH1ZWVkEokYLHZ0NXXRzsbG1hbW8Pa2hrm5uatasNfiqIoinod0eu7stcisaMoiqIoinodtOo6dhRFURRFUdR/aGJHURRFURTVRtDEjqIoiqIoqo2giR1FURRFUVQbQRM7iqIoiqKoNoImdhRFURRFUW0ETewoiqIoiqLaCJrYURRFURRFtRE0saMoiqIoimojaGJHURRFURTVRtDEjqIoiqIoqo2giR1FURRFUVQbQRM7iqIoiqKoNoImdhRFURRFUW0ETewoiqIoiqLaCJrYURRFURRFtRE0saMoiqIoimojaGJHURRFURTVRtDEjqIoiqIoqo2giR1FURRFUVQbQRM7iqIoiqKoNoImdhRFURRFUW0ETewoiqIoiqLaCJrYURRFURRFtRE0saMoiqIoimojaGJHURRFURTVRtDEjqIoiqIoqo34Pwb+n5XfXiSjAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "est = tpot2.TPOTEstimator( generations=20, \n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " other_objective_functions=[tpot2.objectives.number_of_nodes_objective],\n", + " other_objective_functions_weights=[-1],\n", + " n_jobs=32,\n", + " classification=True,\n", + " search_space = symbolic_classification_search_space,\n", + " verbose=1,\n", + " )\n", + "\n", + "scorer = sklearn.metrics.get_scorer('roc_auc_ovo')\n", + "\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))\n", + "est.fitted_pipeline_.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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t5588kkhJCTEats333wjABCWL19utX3r1q0CAOG9996zbEtMTBQkEolw7tw5q/fu27dPACA8+OCDVtunTJkiABAmT55stX3YsGFCgwYNHH4mJpNJMBqNwocffihIJBLh5s2bNuf3448/Wh3TunVr4b777rO8nj9/vgBAyM7Odvh3tmzZIgAQsrKyrLb//PPPAgBh7dq1TufYqFEjoW3btoLJZLJsv337thATEyP07NnTsq3q8/n3v//tcDxHVFRUCEajUejfv78wfPhwq30AhDlz5tj8nX379jkds+o7V328w4cPCwCEhQsXWrY9+eSTQmJios3fVSqVQkFBgdU8W7ZsKaSkpFi2/eMf/xBCQ0OFy5cvWx3/+uuvCwCE33//nelcnnzySQGA8Nlnn1mNN2jQIKFFixaW1+5e188//1wAIBw/ftzex0R4EQrzEl6je/fukEqlCAsLw+DBgxEXF4evv/4asbGx2LlzJ0QiEf7+97+joqLC8i8uLg7t2rWzyXiMjIxEv3793Pq7VV7q2LFjrbY/+uijCAkJwZ49e6y233333Q6TZwYPHmz1ulWrVgCABx54wGb7zZs3rUK9OTk5GDJkCKKioiCRSCCVSvHEE0/AZDLh/PnzVsfHxcWha9euNvOqCokDwNdff4277roLf/vb3xydOnbu3ImIiAg8+OCDVp9r+/btERcX5zST9Ny5c7h27RrGjBkDsfh/t4bQ0FA8/PDD+OGHHzwOFb777rvo2LEjFAoFgoKCIJVKsWfPHpw5c8aj8RxRfS2+Z8+eSExMxL59+1we279/f6toiEQiwciRI5Gbm4v//ve/ACo/3759+6JRo0ZWn+/AgQMBAN9//z3znEUiER588EGrbdWvvbvXtX379pDJZHj66aexefNmmxA34T0ozEt4jQ8//BCtWrVCUFAQYmNjER8fb9l3/fp1CIJgdfO6k+bNm1u9vvNYVxQXFyMoKMgSTq5CJBIhLi4OxcXFbo/doEEDq9cymczpdp1Oh9DQUOTl5aFXr15o0aIF3n77bTRr1gwKhQI//fQTnn32WZSXl1sdHxUVZfO35XK51ftu3LiBhIQEh3MFKj/XkpISy3yqU1RU5PDYqs/F3ufRqFEjmM1m3Lp1izlUuHLlSrz44ot45plnsGDBAkRHR0MikWD27NncjWlcXJzdbdWvOcuxQOVn06RJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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n6uMXN1G+vTpI5vNJpvNJnd3d1WvXl0jRozQhQsXbupxN2zYIJvNprNnz95wX23atHGcw18/V69evfFCc3D48GHZbDbt2rXrph0DRdexs5c06NOdajdtox6NS1S7tzfqxU936tjZS64uDQCAIqeo/1wlXLlQ8sVUHTxxXjuT/tDBk+eVfDH1ph/zgQcekN1u12+//aY333xTcXFxGjFiRIH6ynyR8q327LPPym63O31Klsw6CJuaevOvJ25vyRdTNTL+B23+9ZRT+6ZfT2lU/A+35O80AADFRXH4uUq4chFXpXJPT0+VK1dOYWFh6tGjh3r27Klly5ZJkv7xj38oMjJS/v7+KleunHr06KETJ0449s0cgfryyy8VGRkpT09Pbd68WcYYTZkyRdWrV5e3t7caNGigf/3rX5L+HPVp27atJKlUqVKy2Wzq06ePJOnKlSt66aWXFBISIi8vL917773avn37dc/Bx8dH5cqVc/pIUtWqVfXmm2+qT58+CgwM1LPPPitJio+PV926deXp6amqVavq7bffduqvatWqmjhxop5++mn5+/urcuXKmjNnjmN9tWrVJEmNGjWSzWZTmzZt8n/hUSydOp+a5QdApk2/ntKp84X/hwAAAIVFcfi56vJwFRcXp2rVqsnLy0sRERHavHlzjtv+9ba2v37q1q3rtN3Zs2c1cOBAlS9fXl5eXgoPD9fKlStv9qnkWWFK5d7e3kpLS5P050jPhAkTtHv3bi1btkyHDh1yBKG/euWVVxQbG6t9+/apfv36ev3117VgwQLNmjVLe/bs0dChQ/XUU09p48aNCgsLU3x8vCRp//79stvtmj59uqOf+Ph4ffTRR/r+++9Vo0YNdejQQWfOnCnw+UydOlX16tXTjh07NGbMGO3YsUNPPPGEnnzySf34448aN26cxowZo4ULFzrt9/bbbysyMlI7d+7UgAED9MILL+jnn3+WJH377beSpK+++kp2u11Lly4tcH0oXlIup+W6/tx11gMAgP9THH6uunRCiyVLlmjIkCGKi4tTixYtNHv2bHXs2FF79+5V5cqVs2w/ffp0TZo0ybF89epVNWjQQI8//rijLTU1Vffff79CQkL0r3/9S5UqVdKRI0fk7+9/S84pL/KSym/FQ3vffvutFi9erHbt2kmSnn76ace66tWr67333tM999yj8+fPy8/P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FwcAAAAARUWBwtXs2bNVu3btLO1169bVBx98cMNFAQAAAEBRU6Bwdfz4cZUvXz5Le9myZWW322+4KAAAAAAoagoUrsLCwrR169Ys7Vu3blWFChVuuCgAAAAAKGpKFmSnZ555RkOGDFFaWpruu+8+SdLatWv1yiuvaPjw4ZYWCAAAAABFQYFGrl555RX169dPAwYMUPXq1VW9enW9+OKLeumllzR69Oh89RUXF6dq1arJy8tLERER2rx5c47b9unTRzabLcunbt26jm0+/PBDtWzZUqVKlVKpUqXUvn17ffvttwU5TQAAAADIM5sxxhR05/Pnz2vfvn3y9vZWzZo15enpma/9lyxZoujoaMXFxalFixaaPXu25s6dq71796py5cpZtk9OTtalS5ccy1evXlWDBg304osvaty4cZKknj17qkWLFmrevLm8vLw0ZcoULV26VHv27FHFihXzVFdKSooCAwOVnJysgICAfJ0TAAAAgOIjP9nghsKVJP33v/+VzWbLc3D5qyZNmqhx48aaNWuWoy08PFxdunRRbGzsdfdftmyZunbtqkOHDqlKlSrZbpOenq5SpUpp5syZ6tWrV7bbXLlyRVeuXHEsp6SkKCwsjHAFAAAA3ObyE64KdFtgRkaGYmJiFBgYqCpVqqhy5coKCgrShAkTlJGRkac+UlNTtWPHDkVFRTm1R0VFKTExMU99zJs3T+3bt88xWEnSxYsXlZaWluvLjGNjYxUYGOj4hIWF5en4AAAAAJCpQBNavPbaa5o3b54mTZqkFi1ayBijrVu3aty4cbp8+bL+/ve/X7ePU6dOKT09XaGhoU7toaGhOn78+HX3t9vtWrVqlRYvXpzrdqNGjVLFihXVvn37HLcZPXq0hg0b5ljOHLkCAAAAgLwqULj66KOPNHfuXD388MOOtgYNGqhixYoaMGBAnsJVJpvN5rRsjMnSlp2FCxcqKChIXbp0yXGbKVOm6NNPP9WGDRvk5eWV43aenp75fl4MAAAAAP6qQOHqzJkzql27dpb22rVr68yZM3nqIzg4WG5ubllGqU6cOJFlNOtaxhjNnz9f0dHR8vDwyHabt956SxMnTtRXX32l+vXr56kmAAAAACioAj1z1aBBA82cOTNL+8yZM9WgQYM89eHh4aGIiAglJCQ4tSckJKh58+a57rtx40YdOHBA/fr1y3b91KlT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AOEKAAAAACxAuAIAAAAACxCuAAAAAMAChCsAAAAAsADhCgAAAAAsQLgCAAAAAAsQrgAAAADAAoQrAEC22rRpoyFDhri6jGz9/PPPatq0qby8vNSwYUOX1VG1alW9++67Ljv+X+WllltR78KFCxUUFHRTjwEAhRXhCgBQ5IwdO1a+vr7av3+/1q5d6+pyiozt27frueees6y/7MJat27d9Msvv1h2DAAoSkq6ugAAwO0jPT1dNptNJUrc2L/tHTx4UA8++KCqVKliUWW3h7Jly970Y3h7e8vb2/umHwcACiNGrgCgkGvTpo1eeuklvfLKKypdurTKlSuncePGSZIOHz4sm82mXbt2ObY/e/asbDabNmzYIEnasGGDbDabvvzySzVq1Eje3t667777dOLECa1atUrh4eEKCAhQ9+7ddfHiRadjX716VYMGDVJQUJDKlCmj119/XcYYx/rU1FS98sorqlixonx9fdWkSRPHcaX/u0Vs+fLlqlOnjjw9PfX777/ner4ZGRmKiYlRpUqV5OnpqYYNG2r16tWO9TabTTt27FBMTIxsNpvjWuQk8xotXbpUbdu2lY+Pjxo0aKBt27Y5bRcfH6+6devK09NTVatW1dtvv+20/sSJE3rooYfk7e2tatWq6ZNPPslyrOTkZD333HMKCQlRQECA7rvvPu3evduxfvfu3Wrbtq38/f0VEBCgiIgIfffdd7nWn9f6JOncuXPq0aOH/Pz8VKFCBc2YMcNp/bUjTderV5K++OILRUZGysvLS8HBwerataukP7+Xv//+u4YOHSqbzSabzSbJ+bbA/fv3y2az6eeff3bqc9q0aapatarju7R371516tRJfn5+Cg0NVXR0tE6dOpWn6wIAhQnhCgCKgI8++ki+vr765ptvNGXKFMXExCghISFffYwbN04zZ85UYmKijhw5oieeeELvvvuuFi9erBUrVighISHLL+MfffSRSpYsqW+++Ubvvfee3nnnHc2dO9exvm/fvtq6das+++wz/fDDD3r88cf1wAMP6Ndff3Vsc/HiRcXGxmru3Lnas2ePQkJCcq1z+vTpevvtt/XWW2/phx9+UIcOHfTwww87+rTb7apbt66GDx8uu92uESNG5On8X3vtNY0YMUK7du1SrVq11L17d129elWStGPHDj3xxBN68skn9eOPP2rcuHEaM2aMFi5c6Ni/T58+Onz4sNatW6d//etfiouL04kTJxzrjTF68MEHdfz4ca1cuVI7duxQ48aN1a5dO505c0aS1LNnT1WqVEnbt2/Xjh07NGrUKLm7u1+39rzUJ0lTp05V/fr19f3332v06NEaOnRojt+TvNS7YsUKde3aVQ8++KB27typtWvXKjIyUpK0dOlSVapUSTExMbLb7bLb7VmOceeddyoiIiJLEF28eLF69Oghm80mu92u1q1bq2HDhvruu++0evVq/e9//9MTTzxx3esCAIWOAQAUaq1btzb33nuvU9vdd99tRo4caQ4dOmQkmZ07dzrW/fHHH0aSWb9+vTHGmPXr1xtJ5quvvnJsExsbaySZgwcPOtqef/5506FDB6fjhoeHm4yMDEfbyJEjTXh4uDHGmAMHDhibzWaOHj3qVFu7du3M6NGjjTHGLFiwwEgyu3btyvP5VqhQwfz973/Pcr4DBgxwLDdo0MCMHTs2T/1lXqO5c+c62vbs2WMkmX379hljjOnRo4e5//77nfZ7+eWXTZ06dYwxxuzfv99IMl9//bVj/b59+4wk88477xhjjFm7dq0JCAgwly9fdurnjjvuMLNnzzbGGOPv728WLlyYp7r/6nr1GWNMlSpVzAMPPOC0Tbdu3UzHjh2dtslPvc2aNTM9e/bMsa6/9pdpwYIFJjAw0LE8bdo0U716dcdy5rXcs2ePMcaYMWPGmKioKKc+jhw5YiSZ/fv353hsACiMGLkCgCKgfv36Tsvly5d3GjXJbx+hoaHy8fFR9erVndqu7bNp06aO270kqVmzZvr111+Vnp6u77//XsYY1apVS35+fo7Pxo0bdfDgQcc+Hh4eWerPSUpKio4dO6YWLVo4tbdo0UL79u3L1/le6681lC9fXpIc57tv375sj5l5rvv27VPJkiUdozaSVLt2badZ8Xbs2KHz58+rTJkyTtfj0KFDjusxbNgwPfPMM2rfvr0mTZrkdJ1yc736MjVr1sxpm2bNmuV43fJS765du9SuXbs81ZiTJ598Ur///ru+/vprSdInn3yihg0bqk6dOo461q9f71RD7dq1JSnP1wcACgsmtACAIuDaW8dsNpsyMjIcE0OYvzwHlZaWdt0+bDZbjn3mVUZGhtzc3LRjxw65ubk5rfPz83P8t7e3t1NAy4trtzfG5LuPa117/pIc55td/3+9ppn/nVsNGRkZKl++vNMzZ5kyQ9i4cePUo0cPrVixQqtWrdLYsWP12Wef6dFHH8219uvVl5ucas5LvVZMTFG+fHm1bdtWixcvVtOmTfXpp5/q+eefd6rjoYce0uTJk7PdFwCKEsIVABRhmbO/2e12NWrUSJKcJre4UZmjDX9drlmzptzc3NSoUSOlp6frxIkTatmypSXHCwgIUIUKFbRlyxa1atXK0Z6YmKh77rnHkmNkp06dOtqyZYtTW2JiomrVqiU3NzeFh4fr6tWr+u677xx17N+/X2fPnnVs37hxYx0/flwlS5ZU1apVczxWrVq1VKtWLQ0dOlTdu3fXggULrhuurldfpuz+vDJHga6Vl3rr16+vtWvXqm/fvtmu9/DwcBo5y0nPnj01cuRIde/eXQcPHtSTTz7pVEd8fLyqVq2qkiX5tQRA0cZtgQBQhHl7e6tp06aaNGmS9u7dq02bNun111+3rP8jR45o2LBh2r9/vz799FPNmDFDgwcPlvRnSOjZs6d69eqlpUuX6tChQ9q+fbsmT56slStXFviYL7/8siZPnqwlS5Zo//79GjVqlHbt2uU47s0wfPhwrV27VhMmTNAvv/yijz76SDNnznRMlnHnnXfqgQce0LPPPqtvvvlGO3bs0DPPPOM0stO+fXs1a9ZMXbp00ZdffqnDhw8rMTFRr7/+ur777jtdunRJgwYN0oYNG/T7779r69at2r59u8LDw2+4vkxbt27VlClT9Msvv+j999/XP//5zxyv2/Xqlf58n9inn36qsWPHat++ffrxxx81ZcoURx9Vq1bVpk2bdPTo0Vxn9+vatatSUlL0wgsvqG3btqpYsaJj3cCBA3XmzBl1795d3377rX777TetWbNGTz/9dJ6CGwAUJoQrACji5s+fr7S0NEVGRmrw4MF68803Leu7V69eunTpku655x4NHDhQL774otNLaBcsWKBevXpp+PDhuvPOO/Xwww/rm2++UVhYWIGP+dJLL2n48OEaPny47rrrLq1evVpffPGFatasacUpZatx48b6/PPP9dlnn6levXp64403FBMToz59+ji2WbBggcLCwtS6dWt17drVMYV5JpvNppUrV6pVq1Z6+umnVatWLT355JM6fPiwQkND5ebmptOnT6tXr16qVauWnnjiCXXs2FHjx4+3pD7pzxC2Y8cONWrUSBMmTNDbb7+tDh06ZNvn9eqV/pxu/Z///Ke++OILNWzYUPfdd5+++eYbRx8xMTE6fPiw7rjjjlzfoRUQEKCHHnpIu3fvVs+ePZ3WVahQQVu3blV6ero6dOigevXqafDgwQoMDLzh96EBwK1mM3m9aRsAABRp5cuX14QJE/TMM8+4uhQAKJa4uRkAgGLu4sWL2rp1q/73v/+pbt26ri4HAIotxtsBALfUX6fcvvazefPmfPc3ceLEHPvr2LHjTTgD63Xs2DHHc5g4ceIN9z9nzhw9+eSTGjJkSJbp2gEA1uG2QADALXXgwIEc11WsWDHf03+fOXNGZ86cyXadt7e30+QJhdXRo0d16dKlbNeVLl1apUuXvsUVAQAKgnAFAAAAABbgtkAAAAAAsADhCgAAAAAsQLgCAAAAAAsQrgAAAADAAoQrAAAAALAA4QoAAAAALEC4AgAAAAAL/H8wveDu9yXkTwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "df = est.evaluated_individuals\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(5,5))\n", + "sns.scatterplot(df[df['Pareto_Front']!=1], y='roc_auc_score', x='number_of_nodes_objective', label='other', ax=ax)\n", + "sns.scatterplot(df[df['Pareto_Front']==1], y='roc_auc_score', x='number_of_nodes_objective', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of all pipelines')\n", + "#log scale y\n", + "plt.show()\n", + "\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(10,5))\n", + "sns.scatterplot(df[df['Pareto_Front']==1], y='roc_auc_score', x='number_of_nodes_objective', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of only the Pareto Front')\n", + "#log scale y\n", + "# ax.set_yscale('log')\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Symbolic Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 20/20 [00:32<00:00, 1.63s/it]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-3452.5150085210244\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAADDf0lEQVR4nOzdd1gU5/YH8O8WOlJWZAEpghSRDlawojHGGI0RY0y95qbcGG9yk5iY2LHdFH+5yTWaokZjmgW70RijYkGCSFW69N6WuiywZX5/qHsdOgjMLpzP8/g8zmFn5gy6y+HMO+/LYxiGASGEEEII0Xp8rhMghBBCCCG9gwo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABggo7QgghhJABQsh1AoSQ3qdUKiGRSFBaWorS0lKUl5SgSSaDSqkEXyCAnoEBhllZQSwWQywWQyQSQSAQcJ02IYSQh8RjGIbhOglCSO+oqqpCQkICbsXGolEqBaNQwFgmg6lEAh2FAnyGgYrHg1woRI1IhHoDA/CEQugbGcHL3x8+Pj4wNzfn+jIIIYT0EBV2hAwARUVFuH7tGrIzMqDT0AD7vHxYSyQwlUqho1S2u59cIECNkRGKRSLk2dtBbmgIRxcXBE2eDGtr6368AkIIIb2BCjtCtJhCoUBERASiIyJgXFEB59w82FZUQKBSdftYSj4fBRYWuONgj3oLC4wNCkJQUBCEQhqxQQgh2oIKO0K0VElJCX47eRJVBYUYlZEBl8JC8Hvh7azi8ZAxfDhSXVwgsh2OOfPmwcrKqhcyJoQQ0teosCNEC+Xm5uLYwYMwLCpGQEoKTBoaev0ctYaGiHF3R4ONDRYsfhoODg69fg5CCCG9iwo7QrRMbm4ujvz6K4bm5mFccjKEPbjt2lUKPh9RHqMhsbfHwiVLqLgj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import tpot2\n", + "import sklearn.datasets\n", + "\n", + "scorer = sklearn.metrics.get_scorer('neg_mean_squared_error')\n", + "X, y = sklearn.datasets.load_diabetes(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", + "\n", + "graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", + " root_search_space= tpot2.config.get_search_space(\"SGDRegressor\"),\n", + " leaf_search_space = tpot2.search_spaces.nodes.FSSNode(subsets=X_train.shape[1]), \n", + " inner_search_space = tpot2.config.get_search_space([\"arithmatic\"]),\n", + " max_size = 10,\n", + ")\n", + "\n", + "est = tpot2.TPOTEstimator( generations=20, \n", + " max_time_mins=None,\n", + " scorers=['neg_mean_squared_error'],\n", + " scorers_weights=[1],\n", + " other_objective_functions=[tpot2.objectives.number_of_nodes_objective],\n", + " other_objective_functions_weights=[-1],\n", + " n_jobs=32,\n", + " classification=False,\n", + " search_space = graph_search_space ,\n", + " verbose=2,\n", + " )\n", + "\n", + "\n", + "\n", + "est.fit(X_train, y_train)\n", + "print(scorer(est, X_test, y_test))\n", + "est.fitted_pipeline_.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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mv67Nm/eHL/99htWr16NGTNmoKioCM2aNcOsWbN46dnc0FBCJRbTpk0bbS/fJ3l4eIDjOBw/flynPVPjyW0cx9X4c93d3VFRUYEHDx7oJFXGGDIzMxEREWHysWtq3759KCoqwk8//YSAgADt9qcZq9moUSNtSckYDw8PuLu74+DBgwb3Ozo6Gn2vJqlnZGTo7bt//z6srKzg6upai4grffPNN+jVqxc2b96ss72goKDWx6pOZmamwW1BQUEmvxf459x4eHggJCQEK1asMHgMHx+f2oRbY7X5d+3evTu6d+8OlUqFxMREbNiwAXPmzIGXlxdefPFFi8RHKlGVL+HFoEGDwBjDvXv3EB4ervdo3769ycfu06cPgMoL+eP27NmDoqIi7X5L0iTpx28MGGP44osvTD5mTEwMrl27pq3SNmTQoEHIycmBSqUyeF5btWpl9L2tWrVCkyZN8N1334Expt1eVFSEPXv2aHv+1hbHcXo3SBcvXtTpOWwu3377rc7zU6dO4fbt2zXq+HT48GFkZWVpn6tUKuzatQvNmzeHr68vgMrz+9dff6F58+YGz6+lEqop/64SiQTPPvssPvvsMwCVne+IZVEJlfAiMjISr776KiZNmoTExET06NED9vb2yMjIwIkTJ9C+fXu8/vrrJh27b9++6NevH+bPnw+FQoHIyEhtL9+wsDCMHz/ezN/GcAwymQxjxozBvHnzUFpais2bNyM3N9fkY86ZMwe7du3C0KFDsWDBAjzzzDMoKSnBsWPHMGjQIERFReHFF1/Et99+iwEDBmD27Nl45plnIJVKcffuXRw5cgRDhw7F8OHDDR7fysoKq1evxrhx4zBo0CC89tprKCsrw5o1a5CXl4dVq1aZFPegQYOwbNkyLF68GD179sTVq1exdOlSBAYGVjvUpLYSExMxdepUjBo1Cnfu3MG7776LJk2aYPr06dW+18PDA71798Z7772n7eV75coVnaEzS5cuRXx8PLp27YpZs2ahVatWKC0txa1bt3DgwAF8/vnn2uRrTjX9d/3888/x+++/Y+DAgfD390dpaam2R3lVbe/EPCihEt5s2bIFnTt3xpYtW7Bp0yao1Wr4+PggMjJSr4NObXAch3379mHJkiXYtm0bVqxYAQ8PD4wfPx4rV640WMVsbq1bt8aePXuwaNEijBgxAu7u7hg7dixiY2O1HVhqy9HRESdOnMCSJUuwdetWfPDBB3B1dUVERAReffVVAJWlkp9//hmffPIJ/v3vfyMuLk479WPPnj2rLfmPHTsW9vb2iIuLw+jRoyGRSNC5c2ccOXIEXbt2NSnud999F8XFxfjXv/6F1atXIzg4GJ9//jn27t1r9mn4/vWvf+Hf//43XnzxRZSVlSEqKgqffPKJXpu3IUOGDEHbtm2xaNEipKeno3nz5vj2228xevRo7Wu8vb2RmJiIZcuWYc2aNbh79y4cHR0RGBiI/v37m1QlXhM1/Xft0KEDfv31VyxevBiZmZlwcHBAu3bt8PPPPyM6OtoisZF/cOzxuh1CCBGh7du3Y9KkSTh79qzRdvuqcByHGTNmYOPGjRaIjjQU1IZKCCGEmAElVEIIIcQMqMqXEEIIMQMqoRJCCCFmQAmVEEIIMQNKqIQQQogZ0DhUI9RqNe7fvw9HR0eLTE1HCCFE+BhjKCgogI+Pj86iEYZQQjXi/v378PPz4zsMQgghAnDnzp1qZ8GihGqEZrLpO3fuVLl4MiGEkPpLoVDAz8+vyoUlNCihGqGp5nVycqKESgghDVxNmv6oUxIhhBBiBpRQCSGEEDOghEoIIYSYAbWhEkIaHMYYKioqoFKp+A6FCIBUKoVEInnq41BCJYQ0KEqlEhkZGSguLuY7FCIQHMfB19cXDg4OT3UcSqiEkAZDrVYjLS0NEokEPj4+kMlkNHFLA8cYw4MHD3D37l20aNHiqUqqlFAJIQ2GUqmEWq2Gn58f7Ozs+A6HCESjRo1w69YtlJeXP1VCpU5JhJAGp7op5EjDYq5aCvpVEUIIIWZACZUQQggxA0qoRLTyi5W4kV2IpPRc3HhQiPxiJd8hESI4vXr1wpw5c/gOo0GgTklElO7nlWD+nos4fv2hdluPFh5YNTIEPi62PEZGCD+OHj2KqKgo5ObmwsXFhe9wGiQqoRLRyS9W6iVTAEi4/hAL9lykkiqpEw25hqS8vJzvEASJEioRnYeFSr1kqpFw/SEeFjacCxvhx/28EszcmYQ+645h+KZT6LP2GN7YmYT7eSUW/dyysjLMmjULnp6esLGxQbdu3XD27FncunULUVFRAABXV1dwHIeJEydq36dWqzFv3jy4ubmhcePGWLJkic5x8/Pz8eqrr8LT0xNOTk7o3bs3Lly4oN2/ZMkSdOjQAV999RWaNWsGuVwOxphFv6sYUUIloqMorfruuKCa/YQ8DT5rSObNm4c9e/Zgx44dOH/+PIKCgtCvXz84Ojpiz549AICrV68iIyMDn3zyifZ9O3bsgL29Pf7880+sXr0aS5cuRXx8PIDKiQ0GDhyIzMxMHDhwAOfOnUPHjh3Rp08fPHr0SHuM1NRU/PDDD9izZw+Sk5Mt9h3FjNpQieg42Uir3O9YzX5CnkZNakic7WRm/9yioiJs3rwZ27dvR0xMDADgiy++QHx8PL766itEREQAADw9PfXaUENCQrB48WIAQIsWLbBx40YcPnwYffv2xZEjR3Dp0iVkZ2dDLpcDAD766CPs27cPu3fvxquvvgqgclKMf//732jUqJHZv1t9QSVUIjoeDjL0aOFhcF+PFh7wcDD/xYwQDb5qSG7cuIHy8nJERkZqt0mlUjzzzDNISUmp8r0hISE6z729vZGdnQ0AOHfuHAoLC+Hu7g4HBwftIy0tDTdu3NC+JyAggJJpNURfQi0oKEDv3r1RXl4OlUqFWbNm4ZVXXgEApKWlYfLkycjKyoJEIsEff/wBe3t7niMmT8vZToZVI0OwYM9FJDzRy/fDkSEWKR0QosFXDYmmzfLJWX0YY9XO9COV6sbEcRzUajWAyvZVb29vHD16VO99j5d06dpZPdEnVDs7Oxw7dgx2dnYoLi5Gu3btMGLECLi7u2PixIlYvnw5unfvjkePHmmrM4j4+bjYYsOYMDwsVKKgtByONlJ4OMgomRKL09SQJBio9rVkDUlQUBBkMhlOnDiBsWPHAqjsbZuYmIg5c+ZAJqv83NouSdexY0dkZmbC2toaTZs2NXfYDYroq3wlEol2kuvS0lKoVCowxvD3339DKpWie/fuAAA3NzdYW4v+/oE8xtlOhuaeDujg74rmng6UTEmd0NSQPNnsYOkaEnt7e7z++ut4++23cfDgQVy+fBmvvPIKiouLMWXKFAQEBIDjOOzfvx8PHjxAYWFhjY773HPPoUuXLhg2bBgOHTqEW7du4dSpU1i0aBESExMt8l3qK94TakJCAgYPHgwfHx9wHId9+/bpvWbTpk0IDAyEjY0NOnXqhOPHj+vsz8vLQ2hoKHx9fTFv3jx4eHjg+vXrcHBwwJAhQ9CxY0esXLmyjr4RIaS+09SQHI7tiX3Tu+JwbE9sGBMGbwtPKrJq1SqMHDkS48ePR8eOHZGamopDhw7B1dUVTZo0wQcffIAFCxbAy8sLM2fOrNExOY7DgQMH0KNHD0yePBktW7bEiy++iFu3bsHLy8ui36feYTw7cOAAe/fdd9mePXsYALZ3716d/d9//z2TSqXsiy++YJcvX2azZ89m9vb27Pbt23rHyszMZF27dmWZmZnshx9+YG5ubiw9PZ2VlpayXr16sV9//dVoHKWlpSw/P1/7uHPnDgPA8vPzzf2VCSE8KSkpYZcvX2YlJSV8h0IEpKrfRX5+fo1zAe8l1JiYGCxfvhwjRowwuH/dunWYMmUKpk6dijZt2mD9+vXw8/PD5s2b9V7r5eWFkJAQJCQkwNfXFxEREfDz84NcLseAAQOqHDsVFxcHZ2dn7cPPz89cX5EQQkgDwHtCrYpSqcS5c+cQHR2tsz06OhqnTp0CAGRlZUGhUAAAFAoFEhIS0KpVK0RERCArKwu5ublQq9VISEhAmzZtjH7WwoULkZ+fr33cuXPHcl+MEEJIvSPoXjoPHz6ESqXSq8f38vJCZmYmAODu3buYMmUKGGNgjGHmzJnaMVcrV65Ejx49wBhDdHQ0Bg0aZPSz5HI59QImhBBiMkEnVI2qxl116tTJaFVuTEyMdkYRQgghxJIEnVA9PDwgkUi0pVGN7Oxs6n1GRCe/WImHhUooSsvhZCuFhz2NmyWkPhF0QpXJZOjUqRPi4+MxfPhw7fb4+HgMHTqUx8gIqR1av5WQ+o/3hFpYWIjU1FTt87S0NCQnJ8PNzQ3+/v6IjY3F+PHjER4eji5dumDr1q1IT0/HtGnTeIyakJqrbnWSDWPCqKRKSD3Ae0JNTEzUruMHALGxsQCACRMmYPv27Rg9ejRycnKwdOlSZGRkoF27djhw4AACAgL4CpmQWuFrdRJCSN3iPaH26tWr2oVqp0+fjunTp9dRRISYF63fSkjDIOhxqITUB7R+KyENAyVUQiyM1m8l5jBx4kRwHAeO4yCVStGsWTO89dZbKCoqsujnHj16FBzHIS8v76mP1atXL+13ePxRUVHx9IEacevWLXAcV+VMeeZCCZUQC+NrdRJiYSW5wMNrwN1E4OH1yucW1r9/f2RkZODmzZtYvnw5Nm3ahLfeesukYzHGLJrIjHnllVeQkZGh8zC0EphSqazz2J4WJVRC6oCPiy3WjArFwdnd8cNrXXBwTnesGRVq8dVJiIXk3wN+nAxsjAC+7ANsDAd2T6ncbkFyuRyNGzeGn58fxo4di3HjxmlX6Prmm28QHh4OR0dHNG7cGGPHjkV2drb2vZqS5qFDhxAeHg65XI7jx4+DMYbVq1ejWbNmsLW1RWhoKHbv3g2gsnSn6TTq6uoKjuMwceJEAEBZWRlmzZoFT09P2NjYoFu3bjh79my138HOzg6NGzfWeQBA06ZNsXz5ckycOBHOzs545ZVXAAB79uxB27ZtIZfL0bRpU6xdu1bneE2bNsXKlSsxefJkODo6wt/fH1u3btXuDwwMBACEhYWB4zj06tWr9ie+hiihElIH7ueV4K0fL6D/J8fxwpbT6L/+ON7+8QLu55XwHRqprZJc4D8zgZu/626/cRj4+Y06Kalq2Nraory8slObUqnEsmXLcOHCBezbtw9paWna5Pe4efPmIS4uDikpKQgJCcGiRYuwbds2bN68GX///TfefPNNvPTSSzh27Bj8/PywZ88eAMDVq1eRkZGBTz75RHucPXv2YMeOHTh//jyCgoLQr18/PHr0yOTvs2bNGrRr1w7nzp3De++9h3PnzuGFF17Aiy++iEuXLmHJkiV47733sH37dp33rV27FuHh4UhKSsL06dPx+uuv48qVKwCAM2fOAAB+++03ZGRk4KeffjI5vmqZdQ2ceqQ2S/YQUpW8ojL20pd/sID5+/Ue47/8g+UVlfEdYoNhluXbHlxlbLGT8ceDq+YL+DETJkxgQ4cO1T7/888/mbu7O3vhhRcMvv7MmTMMACsoKGCMMXbkyBEGgO3bt0/7msLCQmZjY8NOnTql894pU6awMWPG6LwvNzdX531SqZR9++232m1KpZL5+Piw1atXG/0OPXv2ZFKplNnb22sfsbGxjDHGAgIC2LBhw3ReP3bsWNa3b1+dbW+//TYLDg7WPg8ICGAvvfSS9rlarWaenp5s8+bNjDHG0tLSGACWlJRkNC5zLd/G+7AZQuo7Godaz5Qqnm7/U9i/fz8cHBxQUVGB8vJyDB06FBs2bAAAJCUlYcmSJUhOTsajR4+gVqsBAOnp6QgODtYeIzw8XPv/ly9fRmlpKfr27avzOUqlEmFhYTrbKlRqlJaroFYzXL5yDeXl5YiMjNTul0qleOaZZ5CSklLldxg3bhzeffdd7XMXFxeDsQFASkqK3qx4kZGRWL9+PVQqFSQSCQBoF0QBKud+b9y4sU51d12hhEqIhdE41HrGxunp9j+FqKgobN68GVKpFD4+PpBKK4dcFRUVITo6GtHR0fjmm2/QqFEjpKeno1+/fnqde+zt7bX/r0m6//vf/9CkSROd1z25+tbd3GJYlVS2Et7KKQQAlKt05xBgjy1cYoyzszOCgoIM7ns8NmPHYwbmLdCcBw2O47TfrS5RGyohFkbjUOsZ+0ZA8z6G9zXvU7nfUh9tb4+goCAEBAToJJErV67g4cOHWLVqFbp3747WrVvXqIQWHBwMuVyO9PR0BAUF6Tz8/PwAAFaSynKXouSfxOzXtBmkMhn2//o7KlSViau8vByJiYlVrjtdW8HBwThx4oTOtlOnTqFly5ba0ml1ZLLK2h+VSmW2uIyhhEqIhdE41HrG1hUYskE/qTbvU7nd1rXOQ/L394dMJsOGDRtw8+ZN/Pzzz1i2bFm173N0dMRbb72FN998Ezt27MCNGzeQlJSEzz77DDt27AAANPHzB8dxSPjtEB7lPERxUSHs7OzxwvjJWLlkEQ788gsuX76MV155BcXFxZgyZYrZvtfcuXNx+PBhLFu2DNeuXcOOHTuwcePGWg0V8vT0hK2tLQ4ePIisrCzk5+ebLb4nUUIlxMJoHGo95NwEeP5fwMyzwNTDlf99/l+V23nQqFEjbN++HT/++COCg4OxatUqfPTRRzV677Jly/D+++8jLi4Obdq0Qb9+/fDf//5XO9zE29sHr8cuxCerPkDvsJaIWzQPADB7wWI8N2AwpkyaiI4dOyI1NRWHDh2Cq6v5big6duyIH374Ad9//z3atWuH999/H0uXLjXYe9kYa2trfPrpp9iyZQt8fHwsulIZxwxVSBMoFAo4OzsjPz8fTk6WaxMhDYdmPdSC0nI42kjh4UDroda10tJSpKWlITAwEDY2NnyHIwql5Spcyyowur+llyNspDWrfhWqqn4XtckF1CmJkDribEcJlIiPtRUHR7k1Csr0Z1VylFvD2qrqTkgNCVX5EkIIMcpaYoUmrnZwlOuWvxzl1mjiagdrCaURDSqhEkIIqZLM2gp+bnaoUDOo1QxWVhysrThKpk+ghEoIIaRa1hIrWIu7qdTi6PaCENLgUF9M8jhz/R4ooRJCGgzNZAjFxcU8R0KERDObVE0nizCGqnwJIQ2GRCKBi4uLdhYhOzu7aqfKI/WbWq3GgwcPYGdnZ3Bd1tqghEpESzOuU1FaDidbKTzsaVgKqZ5m/U0+Jk8nwmRlZQV/f/+nvrmihEpE6X5eCebvuaizikuPFh5YNTIEPrRoN6kCx3Hw9vaGp6endi1R0rDJZDJYWT19CyglVCI6+cVKvWQKVC6FtmDPRWwYE0YlVVItiUTy1G1mhDyOOiUR0anJ+qKEEFLXKKES0aH1RQkhQkQJlYgOrS9KCBEiSqhEdGh9UUKIEFFCJaJD64sSQoSIevkSUfJxscWGMWG0vighRDAooRLRovVFCSFCQlW+hBBCiBlQQiWEEELMgBIqIYQQYgbUhkoIqRdosQTCN0qohBDRo8USiBBQlS8hRNSqWywhv5jmdiZ1gxIqIUTUaLEEIhSUUAkhokaLJRChoDZUIlrUCYUAtFgCEQ7Rl1ALCgoQERGBDh06oH379vjiiy+0+4YPHw5XV1c8//zzPEZILOF+Xglm7kxCn3XHMHzTKfRZewxv7EzC/bwSvkMjdYwWSyBCwTHGGN9BPA2VSoWysjLY2dmhuLgY7dq1w9mzZ+Hu7o4jR46gsLAQO3bswO7du2t1XIVCAWdnZ+Tn58PJyclC0RNT5BcrMXNnksF2sx4tPLBhTBiVVBuY+3klWLDnIhKe6OX74cgQeFMvX7NoqDVCtckFoq/ylUgksLOzAwCUlpZCpVJBc48QFRWFo0eP8hgdsYSadEJpCH/o5B8+LrZYMyoUuUVKKEor4GRrDVc7GbycbPgOrV6gYUk1w3uVb0JCAgYPHgwfHx9wHId9+/bpvWbTpk0IDAyEjY0NOnXqhOPHj+vsz8vLQ2hoKHx9fTFv3jx4eBiu/iH1A3VCIU+6n1eCt368gP6fHMcLW06j//rjePvHC9QEYAY0LKnmeE+oRUVFCA0NxcaNGw3u37VrF+bMmYN3330XSUlJ6N69O2JiYpCenq59jYuLCy5cuIC0tDR89913yMrKqqvwCQ+oEwp5HF3wLYuGJdUc7wk1JiYGy5cvx4gRIwzuX7duHaZMmYKpU6eiTZs2WL9+Pfz8/LB582a913p5eSEkJAQJCQm1jqOsrAwKhULnQYSJOqGQx9EF37KoRqjmeE+oVVEqlTh37hyio6N1tkdHR+PUqVMAgKysLG3yUygUSEhIQKtWrWr9WXFxcXB2dtY+/Pz8nv4LEItwtpNh1cgQvaSq6YRC7acNC13wLYtqhGpO0J2SHj58CJVKBS8vL53tXl5eyMzMBADcvXsXU6ZMAWMMjDHMnDkTISEhAIB+/frh/PnzKCoqgq+vL/bu3YuIiAiDn7Vw4ULExsZqnysUCkqqAubjYosNY8LwsFCJgtJyONpI4eHQMHodEl10wbcsTY1QgpFe9VQj9A9BJ1QNjuN0njPGtNs6deqE5ORkg+87dOhQjT9DLpdDLpebHCOpe852lEAJXfAtTVMjZGxYEv0N/kPQCdXDwwMSiURbGtXIzs7WK7USInQNdRyfpdEF3/KoRqhmBJ1QZTIZOnXqhPj4eAwfPly7PT4+HkOHDuUxMkJqh8bxWRZd8C2PaoSqx3tCLSwsRGpqqvZ5WloakpOT4ebmBn9/f8TGxmL8+PEIDw9Hly5dsHXrVqSnp2PatGk8Rk1IzVU3rINmdjIPuuBbFtWwVI/3hJqYmIioqCjtc03HoAkTJmD79u0YPXo0cnJysHTpUmRkZKBdu3Y4cOAAAgIC+AqZkFqhmZ2I2FENS82Ifi5fS6G5fIm5nL/9CCM2nza6/6fXu6JjgGsdRkRIzTX0ubNrkwsEPQ6VkPrATlZ1RZCdTFJHkRBSezRxRs1RQiXEwqysOEQGuRvcFxnkDokVZ3AfIUJAE2fUHCVUQizM2orDpMhAvaQaGeSOSZGBlFCJoNHEGTXHe6ckQuo7d3sZ4g6kIMzfFZMjA1FWoYbc2gpJd/Kw60w6PhoVyneIhBhFE2fUHHVKMoI6JRFzogWwyZOyFKWiWb+1If9+G9QC44SIAQcgpr03JnRtqi2hZheU8R0W4Ul6ThEW7r2Ek6k52m3dgtyxcnh7+Lvb8xiZYTRxRs1QQiXEwvKLlZhnYGIHoGEMOyC6shSleskUAE6k5uCdvZew9oUOgiyp0sQZ1aOESkRLLFVmNLEDeVxukVIvmWqcSM1BbpFSkL9jUj1KqESUxFRlRsMOyOMUpRVPtZ8IFw2bIaJTXZVZlqKUp8gMo2EH5HFONlWXY6rbT4SLEioRnZpUmQmJZtiBITTsoOFxtZehm5GJProFucPVnn4PYkUJlYiO2KrMNOt1PplUab3OhsnLyQYrh7fXS6qaJgtqPxUvqlsgoiPGKjMadmB5YlpezN/dHmtf6PBPpzoba7jaC7NTHak54V15CKmGpsrshIFqXyFXmdGwA8sR4/JiXk42lEDrGaryJaLj5WSDFUaqzFZQlVmDU90C7vnFwmpTJ/UXlVCJ6OQXK7H64BVMigzE/JjWKCxVwcFGgmxFGdYcvIIVw9tTSdAMxFKFSuN8iVBQQiWi87BQif9dysT/LmUa3P9m31Z0AX1K9/NKMH/3RRxPFX4VKo3zJUJBVb5EdOgCaln5xUq9ZApUlvbmC7AKlcb5EqGgEioRHbqAWlZ2QRnOpediZu8ghPm5oKxCDRupBOfTc/HViTRkF5QJqgaAlhcjQkEJlYgOXUAtS1Fajk/HhGHbyTRs/D1Vuz0yyB2fjgkTXA2AZpyvseXFhJT8Sf1GCZWIDl1ALcvVVoZ18df0ZqPSPF82pB0fYVWJxvmSJ/HRqY4SKhEluoBajlKtNjq148nUHCjV6jqOqHYYULkALWmw+BqXTAmViBZNlGAZxWVVT91YXKaqo0hqTowTO4iNWIZRVTcu2ZLrD1NCJYTocLat+mLjbCusTl98XkAbCjHdsPA5LpmGzRBCdIhtdZyaXECJ6cQ2ExWfw+oooRJCdIhtdRwal2xZYrth4XNYHVX5EkL0+LjYYs2o0H9WQ7G1hqudMFdDoXHJliW2GxY+h9VRQiWkjoilUwcgrjYzGpdsWWK7YeFzWB3HGGMWO7qIKRQKODs7Iz8/H05OTnyHQwygBGUZ+cVKzNyZZLCar0cLD0F28rmfV2L0AuotsPMrNvnFSryxM8noDYsQfw/AP9eHpx1WV5tcQAnVCEqowkYJynJuZBeiz7pjRvcfju2J5p4OdRhRzZjrAkr0NeQbltrkAqryJaIjtmESYlteLL+k6k4m+SXCajPToHHJlkMTqdQMJVQiOmJLUGLr1GEnq/qyYCeT1FEkREjohqV6NGyGiI7YEpTYOnVYWXGIDHI3uC8yyB0SK5rXjxBDKKES0RFbgnKwsUY3IwmqW5A7HGyEVVFkbcVhUmSgXlKNDHLHpMhASqiEGCGsv2RCakBswySKyiowMTIQDNCZdD4yyB0TIwNRVM3cuXXN3V6GuAMpCPN3xeTIQJRVqCG3tkLSnTzsOpOOj0aF8h0i4YGYetUD/MRLvXyNoF6+wiamXodJ6bkY9+WfmNwtULtgtyZBfXUiDd9NfRYd/F35DlOHmM4vsbz7eSWYv/sijqcKv1c9YN5RANTLl9R7Yup1aKiKmuP+qTYVWhU1IK7zSywrv1ipl0yByg6A8/dcxEaB9aqn1WYIeQpCX//Sw0GGryZGYMPv17Hx91Tt9sggd3w1MUJwVdQa1KuTAEB2QZleMtU4fv0hsgvKBPU74XMUQK0TakVFBb799lv069cPjRs3tkRMhFRLTBM7AMBnv6fqLdp9MjUHVhyHjWPCeIqKkOrlVTPuWGjjkkW12oy1tTVef/11lJWVWSKeWrtz5w569eqF4OBghISE4Mcff9TuS0tLQ1RUFIKDg9G+fXsUFRXxGCkxF7EtJ/WwUFnlHb7QVuvQyC9W4kZ2IZLSc3HjQaHgziupG/bVjDsW2rhk0a028+yzzyI5ORkBAQHmjqfWrK2tsX79enTo0AHZ2dno2LEjBgwYAHt7e0ycOBHLly9H9+7d8ejRI8jlcr7DJWZAEztYnthqAIjl2MusERnkrlfDAlQ2W9hXMxFIXRPdajPTp09HbGws7ty5g06dOsHe3l5nf0hIiFmCqwlvb294e3sDADw9PeHm5oZHjx7h1q1bkEql6N69OwDAzc2tzmIiliW2BCW2cbNim9qRWJaLnRRv9G4BQH/Y1xu9W8DFTli/Xz5XmzEpoY4ePRoAMGvWLO02juPAGAPHcVCpVDU+VkJCAtasWYNz584hIyMDe/fuxbBhw3Res2nTJqxZswYZGRlo27Yt1q9fr02Uj0tMTIRarYafnx/27dsHBwcHDBkyBHfv3sXzzz+Pd955x5SvSwRGbAnKw0GGvm080crbSTtsxkYqwfn0XFzNUAiuU5LYagA0xDZOUiyc7WQIcLPDoBAfnXHJ2QVlaOpmJ8hzzAGIae+NCV2b6sRraSYl1LS0NLMFUFRUhNDQUEyaNAkjR47U279r1y7MmTMHmzZtQmRkJLZs2YKYmBhcvnwZ/v7+2tfl5OTg5ZdfxpdffgkAKC8vx/Hjx5GcnAxPT0/0798fERER6Nu3r8E4ysrKdNqFFQqF2b4jMS/NzEMnDFRBCXHmIWc7Gd4bFIyFey/p9PLtFuSOlcPbC+6CJLYaAICqqC3N28UWA9o11hlGFR7gKrjfLlB5YzXPQA0LYPnVnUy68piz7TQmJgYxMTFG969btw5TpkzB1KlTAQDr16/HoUOHsHnzZsTFxQGoTIbDhw/HwoUL0bVrVwCAr68vIiIi4OfnBwAYMGAAkpOTjSbUuLg4fPDBB2b7XsRyxDbzUH6xEu/u+0uvDepEag4W7ftLcFWoTjZS2MkkOhNRaErUX51IE1wNQH6xEu//5y+E+rlg4v+XSDTxLv7PX/hoVKigzq9GlqIUuUVKKEor4GRrDVc7GbycbPgOyyixDKMS1bAZjRs3bmD9+vVISUkBx3Fo06YNZs+ejebNm5stOKVSiXPnzmHBggU626Ojo3Hq1CkAAGMMEydORO/evTF+/HjtayIiIpCVlYXc3Fw4OzsjISEBr732mtHPWrhwIWJjY7XPFQqFNhkTYckvKceCPRfx4cgQLIhpjcJSFRxtrJGlKMX8PRfx5cvhfIeoQ2xVqGIbN5tTpMSLz/hj28k0vXgnRQYip0hY5xcA0nOKsHDvJZ2bLE2Nhb+7fRXvJNUR1bAZADh06BCCg4Nx5swZhISEoF27dvjzzz/Rtm1bxMfHmy24hw8fQqVSwcvLS2e7l5cXMjMzAQAnT57Erl27sG/fPnTo0AEdOnTApUuXYG1tjZUrV6JHjx4ICQlBixYtMGjQIKOfJZfL4eTkpPMgwuRsK8Wa50ORpShFtqIMucVKZBeUIUtRijXPh8LJVlglKDFWoRobN/vZkVQj7+BPhZph28k0g/FuO5kGlVpYs6tmKUr1kilQWWPxzt5LyFKU8hRZ/SC6YTMLFizAm2++iVWrVultnz9/vtFqVVM9Pk0bAG3nJwDo1q0b1Gq1wfdVV51MxMlBbg0bqRX+dylDr8p3ZlQQHOTCakMVWyeqmoybFVKJT61mSErPw8zeQQarqIWWUHOLlAaHoACVSTW3SCnoql+h43PYjEkl1JSUFEyZMkVv++TJk3H58uWnDkrDw8MDEolEWxrVyM7O1iu1kqcnloH8JUoVNh4xXILaeCQVJcqa9zKvC2Jbvk1sJerS8gp8OiYMSem5mLIjEdO/PY/J288iKT0Xn44JQ2m5sH4PitKq2/ir20+qphk206OFh852wQ6badSoEZKTk9GiRQud7ZoeteYik8nQqVMnxMfHY/jw4drt8fHxGDp0qNk+h4irl2SRsqLKEkmRUlgXJLF1ohJbidrVTo41v14zeIMFACuHtecjLKOcqrmBqm4/qR5fizuY9C/3yiuv4NVXX8XNmzfRtWtXcByHEydO4MMPP8TcuXNrdazCwkKkpv7TLpOWlobk5GS4ubnB398fsbGxGD9+PMLDw9GlSxds3boV6enpmDZtmimhEwPENpC/pFyFT8eEGeyEIsQSSX5JOWbtTMLkboF664vO2pmE76Y+y3eIOjwcZOjewsNgR6ruAlxvVqlSG61CPZmaA6XKcJMQX+xlkiqHfVU31R+pGT56JZuUUN977z04Ojpi7dq1WLhwIQDAx8cHS5Ys0ZnsoSYSExMRFRWlfa7paTthwgRs374do0ePRk5ODpYuXYqMjAy0a9cOBw4cEMS0h/WF2HqhutvLsC7eeIlkxbB2fIRllJONFMVKlU7yf5zQSnwAMCMqCGrG9ErUM6KCeIzKsMKyiiqH+QitBiCvRIn3BrXFsv1/6yTVbkHueH9wW+SXKOEH6ukrRiavNjNmzBi8+eabKCgoAAA4OjqaFECvXr1Q3Rrn06dPx/Tp0006Pp/EMnOL2NrMylWsyhJJuUpYnVDEOFPS5O1nDZaoJ28/i//O7Cao37GzrbTKGguh9fq2k0kxeutpfDgyBPP/f9iXg40E2YoyjP3iD+x6tQvfIdYLfFx/a51QNavNpKSkADA9kdZ3YmqTFFubWWE1JQ6hlUjEOFNSVSVqod1g2cutjQ6b4QCsfaEDL3EZ4+EgQ7C3E6bsSNTbZ+leqA0FX9dfk3r5Pvvss0hKSjJ3LPWG2JYX03QzN0SIf+DVDYuxF9iwmepmShLa70F0N1ilFVUOQykUWK9ZPnuhNgR8Xn9NXm1m7ty5uHv3Lu+rzQiR2Nok+VydwRQyiVWVy0nJJCbdJ1qM2H4PfI7jM4XYmiwA/nqhNgSim3rQnKvN1Ef0B25ZeSVKTIoMBKA/DGVSZCDyS5SAgDp1iO334Gwnw4cjQ3D02gN4Osq1bb5ZilJEtWwkuN+E2ErUGmKZG1ds+Px74321mfqI/sAty0EuxZgv/jQ6DOW/M7vxHaIOMf4eGIADFzN0Zkzq0cIDPVs24i8oI8RWohYrsXSyFNXUg+Xl5YiKisL+/fsRHBxsiZhEj/7ALcvDQYbwAFeDnWaEeH7F9nvQtkGlimNcstiaLMRITJ0sRTX1oFQqRVlZmd78uuQf1OnAssR2fsUWb03aoIRG02RxOLYn9k3visOxPbFhTBi8BXaxFyOxdbIU3dSDb7zxBj788EN8+eWXsLYWVo9KoRBTm6QYie38iilesbX5PokBAN3vm43YOtUBIpt68M8//8Thw4fx66+/on379nq9fH/66SezBCd2YmmTFCuxnl+hX/DF2OYrpipJsRHrDZZoph50cXHByJEjzR0LIfXW/bwSzN99Ua+TjxAv+KJt8xXJXNRiI8YbLL6YlFC3bdtm7jgIqTWx9DrML1bqJVOg8oI/f89FbBTYBV9snXzEWCUpJmK7weKTyQ2gFRUVOHr0KG7cuIGxY8fC0dER9+/fh5OTExwcHMwZIyF6xFTFl11QVuWC3dkFZYK74FObL9EQ2w0Wn0xKqLdv30b//v2Rnp6OsrIy9O3bF46Ojli9ejVKS0vx+eefmztOQrTEVsWXV1L1BT2/mv18EUsbtVirJMVSwwKI6waLTyYl1NmzZyM8PBwXLlyAu7u7dvvw4cMxdepUswVHiCFiq+Krbn1LO1r/8qmIsUpSTDUsTxJ6pzo+mZRQT5w4gZMnT0Im0/2hBgQE4N69e2YJjBBjxFbF5yC3rnJB6eom+ydVE1uVpNhqWABx3gCIYvk2AFCr1Qbn67179y4t50YsTmxVfCXlKkyMDASD/tzDEyMDUVLesOe+NgcxVUmKrYaFbgBqzqRlOfr27Yv169drn3Mch8LCQixevBgDBgwwV2yEGORgU1niM6RbkDscbIRV4isorcCsnUkI83fFvyaEY9O4jvjXhHCE+bti1s4kFAhseTGxcraTobmnAzr4u6K5p4PgLvIaYqthEdvMWaJbvu3jjz9GVFQUgoODUVpairFjx+L69evw8PDAzp07zR0jITqKyiqqLPEJbYFxB7l1lQt2U5WveYilk4/Yaljq4w2AoJZv8/HxQXJyMr7//nucO3cOarUaU6ZMwbhx42BrK8z6dFJ/5JeUY9bOJKOrzXw39Vm+Q9RhZcVVuX6rxIp6eDwtMbXxia0TFd0A1JzJKzHb2tpi0qRJ2LhxIzZt2oSpU6fqJdOBAwciIyPjqYMk5HGG/sAfX6xBaH/g1lYcJkUGIvKJamrN+q2UUJ8OTd5uWZobAEPoBkCXReuaEhISUFJSYsmPIA2Qh4MMX02MwIbfr+tUo0YGueOriRGC+wN3t5ch7kAKwvxd9UrUu86k46NRoXyHKGpi6+QDiKsTldh6UfNZA0CNN0SUPvs9Va8K9WRqDqw4DhvHhPEUlWHOdjJ8MLQdFuy5qHMDINQLktgoSsthJ5NgcrdAhPm5oKxCDRupBOfTc/HViTTBtfFpiGXiDIBuAGqKEioRnYeFyiqn8qMSScPibCvFp2PCsO1kml6NxadjwuBkK6wmALGiG4DqUUIloiO2XocaYrogiYm93BrbTqYZrLHgAKx9oQMvcRF+iWb5NkL4VN0wE3uBDkMRy7AOsSksrTDYgxoATqTmoLC0Al5OdRwUaZCEeeUhpAoyayt0D/IwWO3bPcgDMmuTO69bjJiGdYiNWGssSP1j0SvPO++8Azc3N0t+BGmAlCo1pkc1NzgMZXpUEMpVap4iM0xswzrERmzjJEn9VeMS6s8//1zjgw4ZMgQAsHDhwtpHREg1VCqGKTsSDU7sMGXHWfz0ele+Q9QhxmEdYiK2iRJI/VXjhDps2DCd5xzHgTGm81zD0MT5hJhLsbKiyqn8ipXC+v2JtUpSLG2+YhsnSeqvGidUtfqfarTffvsN8+fPx8qVK9GlSxdwHIdTp05h0aJFWLlypUUCJUTD2bbqC6SzwIZJiLFKUmxtvjQsiQiBSZ2S5syZg88//xzdunXTbuvXrx/s7Ozw6quvIiUlxWwBEvIksVXxiS1eMS7XBdCwJMI/kxLqjRs34OzsrLfd2dkZt27detqYCKmS2Kr4nO1k+HBkCI5eewBPR7l2Jp8sRSmiWjYSXLzU5kuIaUxKqBEREZgzZw6++eYbeHt7AwAyMzMxd+5cPPPMM2YNkBBDxFbFxwAcuJihM9SnRwsP9GzZiL+gjBBrmy8hfDNp2MxXX32F7OxsBAQEICgoCEFBQfD390dGRgb+9a9/mTtGQgwSy4LS2irUVHEMmxFjmy8hQmBSCTUoKAgXL15EfHw8rly5AsYYgoOD8dxzz+n09iWEiK8KVWxtvoQIhckzJXEch+joaPTo0QNyuZwSKSFGiK0KVWxt1IQIhUkJVa1WY8WKFfj888+RlZWFa9euoVmzZnjvvffQtGlTTJkyxdxxEiJaYqxCFVsbNSFCYFIb6vLly7F9+3asXr0aMtk/f2Dt27fHl19+abbgCKkPNFWohgi5ClUsbdSECIVJCfXrr7/G1q1bMW7cOEgkEu32kJAQXLlyxWzBEVIfaKpQn0yqVIVKiOXkFytxI7sQSem5uPGgsE46/5lU5Xvv3j0EBQXpbVer1Sgvr9v2oDt37mD8+PHIzs6GtbU13nvvPYwaNQoAMHz4cBw9ehR9+vTB7t276zQuQh5HVaiE1B2+ZvoyqYTatm1bHD9+XG/7jz/+iLCwsKcOqjasra2xfv16XL58Gb/99hvefPNNFBUVAQBmzZqFr7/+uk7jIcQYqkIlxPL4XN3JpBLq4sWLMX78eNy7dw9qtRo//fQTrl69iq+//hr79+83d4xV8vb21k4u4enpCTc3Nzx69Aj29vaIiorC0aNH6zQeQggh/OFzmJpJJdTBgwdj165dOHDgADiOw/vvv4+UlBT897//Rd++fWt1rISEBAwePBg+Pj7gOA779u3Te82mTZsQGBgIGxsbdOrUyWDpGAASExOhVqvh5+dnytcihBAicnwOU6t1CbWiogIrVqzA5MmTcezYsacOoKioCKGhoZg0aRJGjhypt3/Xrl2YM2cONm3ahMjISGzZsgUxMTG4fPky/P39ta/LycnByy+/bHIv47KyMpSVlWmfKxQKk47zOLEsf0UIIdURy/WMz2FqtU6o1tbWWLNmDSZMmGCWAGJiYhATE2N0/7p16zBlyhRMnToVALB+/XocOnQImzdvRlxcHIDKZDh8+HAsXLgQXbuatrh0XFwcPvjgA5Pea4jYlr8ihBBjxHQ943OmL5OqfJ977rk6aZtUKpU4d+4coqOjdbZHR0fj1KlTAADGGCZOnIjevXtj/PjxJn/WwoULkZ+fr33cuXPH5GPx2ShOCCHmJLbrGZ/D1EzqlBQTE4OFCxfir7/+QqdOnWBvb6+zf8iQIWYJ7uHDh1CpVPDy8tLZ7uXlhczMTADAyZMnsWvXLoSEhGjbX//973+jffv26NevH86fP4+ioiL4+vpi7969iIiIMPhZcrkccrncPHGLbO5WQggxRozXM76GqZmUUF9//XUAldWxT+I4DiqV6umiMnDMxzHGtNu6desGtVpt8H2HDh0yaxw1Jba5WwkhxBixXs/4WHDe5Ll864KHhwckEom2NKqRnZ2tV2oVEjHO3UoIIYbQ9azmTGpDrSsymQydOnVCfHy8zvb4+HiTOx/VBbHO3UoIIU+i61nNmbx8W1FREY4dO4b09HQolbqN0rNmzarxcQoLC5Gamqp9npaWhuTkZLi5ucHf3x+xsbEYP348wsPD0aVLF2zduhXp6emYNm2aqaFbHC1/RQipL+h6VnMcY4zV9k1JSUkYMGAAiouLUVRUBDc3Nzx8+BB2dnbw9PTEzZs3a3yso0ePIioqSm/7hAkTsH37dgCVEzusXr0aGRkZaNeuHT7++GP06NGjtmHXikKhgLOzM/Lz8+Hk5GTSMbIUpcgtUkJRWgEnW2u42sng5WRj5kgJsQyxjDskdUPze2hoc1HXJheYlFB79eqFli1bYvPmzXBxccGFCxcglUrx0ksvYfbs2RgxYoTJwQvF0yZUMY3bInVDTAmKfr+EVLJ4QnVxccGff/6JVq1awcXFBadPn0abNm3w559/YsKECfViCbenSaj5xUrM3JlksKt5jxYe2DAmTLAXUmIZYkpQ9Psl5B+1yQUmdUqSSqXaYSteXl5IT08HADg7O2v/vyGrybgt0nCIbWA8/X4JMY1JnZLCwsKQmJiIli1bIioqCu+//z4ePnyonVChoRPruC1iGWIbGE+/37ohpiYAUjMmJdSVK1eioKAAALBs2TJMmDABr7/+OoKCgrBt2zazBihGNG6LPE5sCYp+v5YnpiYAUnMmJdTw8HDt/zdq1AgHDhwwW0D1AZ+TMxPhEVuCot+vZeUXK/H+f/5CqJ8LJnZtirIKNWykEpxPz8Xi//yFj0aFUklVpAQ9sYNY8Tk5MxEesQ2Mp9+vZeUUKfHiM/5ISs/FlB2JmP7teUzefhZJ6bkY/Yw/coqojVqsTOrlGxgYqDe/7uNqMw5VqMwxDrWhjtsi+u7nlRgdGO8t0Co+sf1+xdImeS2rAB/892+cTM3R2xcZ5I4lg9uihZcjD5ERQ2qTC0yq8p0zZ47O8/LyciQlJeHgwYN4++23TTlkvcTH5MxEmPha/eJpiOn3K6Y2SbWaGUymAHAyNQcqda3LOEQgTEqos2fPNrj9s88+Q2Ji4lMFREh9JaYEJSbVDUsS2rjZYmVFNfvNu1oXqTtmbUONiYnBnj17zHlIQuqN/GIlbmQXIik9FzceFApu/KlYiW3crLNt1cnd2VZYndRIzZk8Ob4hu3fvhpubmzkPSUi9IKYqSbER27Ak6kVdf5k8scPjnZIYY8jMzMSDBw+wadMmswVHSH0gtipJsRHbsCSxrt4ilk5ffDIpoQ4bNkznuZWVFRo1aoRevXqhdevW5oiLkHpDbDMliY0YS3xi66RGNSw1Y1JCXbx4sbnjIKTeEluVpNiItcQnlk5qYq1h4aNEbVJCVSgUNX6tqWM4CakvxFYlKUZiK/GJiRhrWPgqUZuUUF1cXKqc2AGobFflOA4qFXUBFwtqI7EMMVZJipFYSnxiI7YaFj5L1CYl1G3btmHBggWYOHEiunTpAgA4ffo0duzYgbi4ODRt2tScMZI6QG0kliPWKklCAPHVsPBZojYpoX799ddYt24dxowZo902ZMgQtG/fHlu3bsXRo0fNFR+pA2JtIxETqpIkYiW2GhY+S9QmTexw+vRpnRVnNMLDw3HmzJmnDorULbENjBcrZzsZmns6oIO/K5p7OlAyJaIgtsUS+CxRm1RC9fPzw+eff461a9fqbN+yZQv8/PzMEhipO2JrIxEraqMmYiWmGhY+S9QmJdSPP/4YI0eOxKFDh9C5c2cAwB9//IEbN27Q1IMiJLY2EjGiNmoidmLp9MVnnwWTlm8DgDt37uDzzz9HSkoKGGMIDg7GtGnT6k0J1RzLt4lFfrESb+xMMnpHR22oTye/WImZO5MMVqvT+SXEMrIUpcgtUkJRWgEnW2u42sng5WRT6+NYfPk2oLLad8WKFaa+vUEQSxUf9UK1rIeFSpy7nYuZvYMQ5ueCsgo1bKQSnE/PxVcn0gQ5jo8QMeOrRsikEurBgwfh4OCAbt26Aahctu2LL75AcHAwPvvsM7i6upo90Lr2tCVUsVXxZeSV4Oi1B/B0lKOsQg25tRWyC8rQq2UjwS6ALRYX7uTiQaES206m6ayDGRnkjkmRgfB0kCHET/x/M4QIgblrhGqTC0zq5fv2229rZ0u6dOkSYmNjMWDAANy8eROxsbGmHLJeqW4YitCW7covVmLenotY+NMlTNmRiOnfnseUHYlY+NMlzBdgvGLjYivTS6ZA5WLS206mVbucFyGk5vgctWBSlW9aWhqCg4MBAHv27MHgwYOxcuVKnD9/HgMGDDBrgGIktqm6xBav2ChVar1kqnEyNQdKlbqOIyKk/hLdOFSZTIbi4mIAwG+//Ybo6GgAgJubW63m+a2vxDYMRWzxik1hWUWV+4uq2U8IqTnRjUPt1q0bYmNjERkZiTNnzmDXrl0AgGvXrsHX19esAYqR2IahiC1eDbF0+hLr+SVEjPgch2pSCXXjxo2wtrbG7t27sXnzZjRp0gQA8Msvv6B///5mDVCMNP+ghghxqi6xxQtUdvqauTMJfdYdw/BNp9Bn7TG8sTMJ9/NK+A5NjxjPLyFixefMTiaPQ62JVatWYdq0aXBxcbHUR1iMOXr5GhuGIsRes2KKV4zjOsV0fgmpDzQ1WE87s1NtcoFFE6qTkxOSk5PRrFkzS32ExZhjYgdz/YPWFbHEeyO7EH3WHTO6/3BsTzT3dKjDiGpGLOeXEPKPOpnYoSYsmKtFQSxTdWmIJV6xdqISy/klhJjGpDZUQvhEnXwIIUJECZWIDnXyIYbkFytxI7sQSem5uPGgkCYkIXXOolW+hFgCzT1MniS2qT5J/UQJlYiSmNZnJJZV3VSfQuz1TeoniybU7t27w9aW7g6JZYitk49YJqIQG5o6kwiFyQlVrVYjNTUV2dnZUKt15yLt0aMHAODAgQNPFx0h9QRVSVqOWHt9k/rHpIT6xx9/YOzYsbh9+7be0BiO46BSqcwSXE0NHz4cR48eRZ8+fbB7927t9rS0NEyePBlZWVmQSCT4448/YG9vX6exEUJVkpZFvb6JUJjUy3fatGkIDw/HX3/9hUePHiE3N1f7ePTokbljrNasWbPw9ddf622fOHEili5disuXL+PYsWOQy+V1HhshfC4n1RBQr28iFCaVUK9fv47du3cjKCjI3PGYJCoqCkePHtXZ9vfff0MqlaJ79+4AKlfCIYQPitJy2MkkmNwtEGF+LiirUMNGKsH59Fx8dSKNqiSfEvX6rhvUB6B6JiXUZ599FqmpqWZJqAkJCVizZg3OnTuHjIwM7N27F8OGDdN5zaZNm7BmzRpkZGSgbdu2WL9+vTZRGnP9+nU4ODhgyJAhuHv3Lp5//nm88847Tx0vIbXlbCvFp2PCsO1kGjb+nqrdHhnkjk/HhMHJVphVkmK6gFKvb8uiPgA1Y1JCfeONNzB37lxkZmaiffv2kEp1LwghISE1PlZRURFCQ0MxadIkjBw5Um//rl27MGfOHGzatAmRkZHYsmULYmJicPnyZfj7+xs9bnl5OY4fP47k5GR4enqif//+iIiIQN++fWv+RQkxA3u5NbadTNNbZPxkag44AGtf6MBLXFUR4wVUbL2+xYL6ANScSQlVk/gmT56s3cZxHBhjte6UFBMTg5iYGKP7161bhylTpmDq1KkAgPXr1+PQoUPYvHkz4uLijL7P19cXERER8PPzAwAMGDAAycnJRhNqWVkZysrKtM9poXRiLoWlFXrJVONEag4KSyvgZdr6CxZBF1DyOBqWVHMmJdS0tDRzx2GQUqnEuXPnsGDBAp3t0dHROHXqVJXvjYiIQFZWFnJzc+Hs7IyEhAS89tprRl8fFxeHDz74wCxxE/I4sQ3roAsoeZzYfr98MimhBgQEmDsOgx4+fAiVSgUvLy+d7V5eXsjMzNQ+79evH86fP4+ioiL4+vpi7969iIiIwMqVK9GjRw8wxhAdHY1BgwYZ/ayFCxciNjZW+1yhUGhLt4Q8DbEN66ALKHmc2H6/fHqqmZIuX76M9PR0KJW63f6HDBnyVEE9ieM4neeaqmWNQ4cOGXxfddXJj5PL5TSshliEZlhHgpEF0YU2rIMuoORxYvv98smkhHrz5k0MHz4cly5d0radAv8kPnNN7ODh4QGJRKJTGgWA7OxsvVIrIUIltmEddAEljxPb75dPJiXU2bNnIzAwEL/99huaNWuGM2fOICcnB3PnzsVHH31ktuBkMhk6deqE+Ph4DB8+XLs9Pj4eQ4cONdvnEGJpYhrWQRdQ8iQx/X75ZFJCPX36NH7//Xc0atQIVlZWsLKyQrdu3RAXF4dZs2YhKSmpxscqLCxEauo/Y/PS0tKQnJwMNzc3+Pv7IzY2FuPHj0d4eDi6dOmCrVu3Ij09HdOmTTMldEJ4I6ZhHXQBJU8S0++XLyYlVJVKBQcHBwCV1bL3799Hq1atEBAQgKtXr9bqWImJiYiKitI+13QMmjBhArZv347Ro0cjJycHS5cuRUZGBtq1a4cDBw7UWccoQhoquoASUjsmJdR27drh4sWLaNasGZ599lmsXr0aMpkMW7duRbNmzWp1rF69eulNsP+k6dOnY/r06aaESuoxMc3kQwipW3xcH0xKqIsWLUJRUREAYPny5Rg0aBC6d+8Od3d37Nq1y6wBEmKIGGfyIYTUDb6uDxyrrnhYQ48ePYKrq6veEBexUigUcHZ2Rn5+PpycBDSNDUF+sRIzdyYZnHygRwsPmsmHkAbM3NeH2uQCk5Zv00hNTcWhQ4dQUlJCq7mQOkPLoRFCjOHz+mBSQs3JyUGfPn3QsmVLDBgwABkZGQCAqVOnYu7cuWYNkJAn0Uw+hBBj+Lw+mJRQ33zzTUilUqSnp8POzk67ffTo0Th48KDZgiPEEJrJhxBiDJ/XB5M6Jf366684dOgQfH19dba3aNECt2/fNktghBhDM/mQ+oB6qVsGn9cHk0qoRUVFOiVTjYcPH9J8uMTiNDP59GjhobOdZvIhYnE/rwQzdyahz7pjGL7pFPqsPYY3dibhfl4J36GJHp/XB5N6+Q4cOBAdO3bEsmXL4OjoiIsXLyIgIAAvvvgi1Go1du/ebYlY6xT18hU+zR0+zeRDxIR6qdcNc10fapMLTKryXbNmDXr16oXExEQolUrMmzcPf//9Nx49eoSTJ0+ackhCao1m8iFiROvN1g0+rg8mVfkGBwfjwoULeOaZZ9C3b18UFRVhxIgRSEpKQvPmzc0dIyGE1BvUS73+Mnk9VFdXVwwcOBARERFQq9UAgLNnzwIw/3qohBBSX4i1lzp1oqqeSQn14MGDePnll5GTk6M3Dy/HcWZbD5UQQuobMfZSp6k+a8akKt+ZM2di1KhRuH//PtRqtc6DkikhhBgntl7q+cVKvWQKVLb3LthzEfnFNDOZhkkl1OzsbMTGxsLLy8vc8RBCSL0npvVmqRNVzZmUUJ9//nkcPXqUOiARQoiJxNJLnTpR1ZxJCXXjxo0YNWoUjh8/jvbt20Mq1W1EnzVrllmCI6Q+oU4dRIzE2omKDyYl1O+++w6HDh2Cra0tjh49qrNkG8dxlFAJeYIYO3XQDQABxNmJii8mzZTUuHFjzJo1CwsWLICV1VOtACdYDXGmJLqAWoYYZ8YR4w0AsZz7eSVYsOeiTlLVdKLyrue/B4vPlKRUKjF69Oh6m0wbIrqAWo7YOnVU16tTiDcAxLLE1ImKTyZlxAkTJmDXrl3mjoXwhLrFW5bYOnXQAu7EEGc7GZp7OqCDvyuaezpQMjXApBKqSqXC6tWrcejQIYSEhOh1Slq3bp1ZgiN1Q2wlKLERW6cOsd0AECIUJiXUS5cuISwsDADw119/6ex7vIMSEQe6gFqW2Dp1iO0GgBChMCmhHjlyxNxxEB7RBdSyNDPjGOvUIbTSv9huAAgxhI9OliZPjk/qD7qAWp6YOnWI7QaAkCfx1cnSpGEzDUFDGzbTkLvFE8NoAXciRuYepmbxYTOk/hFTCYrUDbFMjUfI4/jsZEkJlWjRBZQQInb5JVUP68ovsVwnS5qZgRBCSL1hJ6u6nGgnk1jssymhEkLqhfxiJW5kFyIpPRc3HhTShCQNlJUVh8ggd4P7IoPcIbGy3NBOqvIlhIgeTZ1JNKytOEyKDAQAnEzN0W6PDHLHpMhAiyZU6uVrREPr5UuIWIlx8QFiOfnFSrz14wW08nZCmJ8LyirUkFtbIelOHq5mKPDRqFDq5UsIIYbQ1Jnkcc52MnwwtB0W7LmIjb+narfXxThqSqiE1BFaHs8yaOpM8iS+hgFSQiWkDlAbn+XQ1JnEED6GAVIvX0IsjJbHsyzN1JmG0NSZpC5RQiXEwmh9UcvSzD38ZFKluYdJXaMqX0IsjNr4LI+mziRCQAmVEAujNr66QVNnEr5RlS8hFkZtfIQ0DPUioQ4fPhyurq54/vnna7SdkLpEbXyENAz1YqakI0eOoLCwEDt27MDu3bur3V4TNFMSMTdaX5QQ8alNLqgXJdSoqCg4OjrWeDshfHC2k6G5pwM6+LuiuacDJVNC6hneE2pCQgIGDx4MHx8fcByHffv26b1m06ZNCAwMhI2NDTp16oTjx4/XfaCEEEJIFXhPqEVFRQgNDcXGjRsN7t+1axfmzJmDd999F0lJSejevTtiYmKQnp5u1jjKysqgUCh0HoQQQkhN8Z5QY2JisHz5cowYMcLg/nXr1mHKlCmYOnUq2rRpg/Xr18PPzw+bN282axxxcXFwdnbWPvz8/Mx6fEIIIfUb7wm1KkqlEufOnUN0dLTO9ujoaJw6dcqsn7Vw4ULk5+drH3fu3DHr8QkhhNRvgp7Y4eHDh1CpVPDy8tLZ7uXlhczMTO3zfv364fz58ygqKoKvry/27t2LiIgIo9sNkcvlkMvlFv0+xLxo9RZCiJAIOqFqcJzuCuuMMZ1thw4dMvg+Y9uJ+NHqLZZHNyyE1I6gE6qHhwckEolOaRQAsrOz9UqtpOHIL1bi/f/8hVA/F0zs2hRlFWrYSCU4n56Lxf/5Cx+NCqUL/1OiGxZCak/QbagymQydOnVCfHy8zvb4+Hh07dqVp6gI33KKlBj3bAB8nG10tvs422DsswHIKaLVW54GLTdHiGl4L6EWFhYiNTVV+zwtLQ3Jyclwc3ODv78/YmNjMX78eISHh6NLly7YunUr0tPTMW3aNB6jJnxSMQYbqRX+dykDJ1NztNsjg9wxMyoIavFP/sWrmiw3RzUAhOjjPaEmJiYiKipK+zw2NhYAMGHCBGzfvh2jR49GTk4Oli5dioyMDLRr1w4HDhxAQEAAXyETnllzHDYeSdVJpgC0z5cPbcdHWPUGLTdHiGl4T6i9evVCddMJT58+HdOnT6+jiIjQlZSr9JKpxsnUHJSUq+o4ovqFlpsjxDSCbkMlxJAiZdUJs7ia/aRqtNwcIaahhEpEx8W26hKSczX7SdXEutxcfrESN7ILkZSeixsPCqnzFKlzvFf5ElJbno5ydG/hYbDjTPcWHvB0pAk6npaPiy02jAkTzXJzNMyHCAGVUInoONvJ8KGREtRqAZegxEYsy83RMB8iFFRCJaIkthIUsRwa5lM3aOas6lFCJaLlbEd/0ISG+dQFqlKvGaryJYSIGg3zsSyqUq85SqiEEFET6zCfLEUprmQocCbtEa5kKpClKOU7JINqUqVOKlGVLyFE1DTDfBbsuYiEJ6okhTrMJz2nCAv3XtKZoKRbkDtWDm8Pf3d7HiPTR1XqNUcJlRAiemLqpJalKNVLpgBwIjUH7+y9hLUvdICXk42Rd9c9qlKvOUqohNQR6iVpWWLppJZbpDQ6deaJ1BzkFikFlVA1VeoJBqp9hVylzgdKqITUAeolSTQUpRVPtb+uibFKHeDnBpYSKiEWVl0vyQ1jwgR7USLm52RT9WW3uv18EFOVOsDfDSz18iXEwqiXJHmcq70M3YLcDe7rFuQOV3thJimaOat6lFAJsTDqJUke5+Vkg5XD2+slVU0vXyG1n4oRnzewwqtbIKSeoV6S5En+7vZY+0IH5BYpoSitgJONNVztZZRMzYDPG1hKqIRYGPWSJIZ4OdlQArUAPm9gqcqXEAsT6/qihIgRnzNncYwxZrGji5hCoYCzszPy8/Ph5OTEdzikHtB04xdDL0lCxOx+XonRYT7etezlW5tcQFW+hNQRsUw8QIjY8TXMhxIqIYSQeoePG1hqQyWEEELMgBIqIYQQYgaUUAkhhBAzoIRKCCGEmAElVEIIIcQMKKESQgghZkAJlRBCCDEDSqiEEEKIGdDEDoQQQqqlmTpTUVoOJ1spPOxp5q8nUUIlhBBSpft5JXqLdvdo4YFVI0PgU8u5ceszqvIlhBBiVH6xUi+ZApWLdS/YcxH5xZZbsFtsKKESQggx6mGhUi+ZaiRcf4iHhZRQNSihEkIIMUpRWl7l/oJq9jcklFAJIYQY5WQjrXK/YzX7GxJKqIQQQozycJChRwsPg/t6tPCAhwP19NWghEoIIcQoZzsZVo0M0UuqPVp44MORITR05jE0bIYQQkiVfFxssWFMGB4WKlFQWg5HGyk8HGgc6pPqdUJNS0vD5MmTkZWVBYlEgj/++AP29vZ8h0UIsQCaeMCynO3ofFanXifUiRMnYvny5ejevTsePXoEuVzOd0iEEAugiQeIENTbNtS///4bUqkU3bt3BwC4ubnB2rpe3z8Q0iDRxANEKASbUBMSEjB48GD4+PiA4zjs27dP7zWbNm1CYGAgbGxs0KlTJxw/fly77/r163BwcMCQIUPQsWNHrFy5sg6jJ4TUFbFOPJBfrMSN7EIkpefixoNCSvz1gGCLbEVFRQgNDcWkSZMwcuRIvf27du3CnDlzsGnTJkRGRmLLli2IiYnB5cuX4e/vj/Lychw/fhzJycnw9PRE//79ERERgb59+/LwbQghlqIoLYedTILJ3QIR5ueCsgo1bKQSnE/PxVcn0gQ58QBVUVseH23qHGOMWfQTzIDjOOzduxfDhg3Tbnv22WfRsWNHbN68WbutTZs2GDZsGOLi4nD69Gl88MEHOHjwIABgzZo1AIC3337b4GeUlZWhrKxM+1yhUMDPzw/5+flwcnKywLcihJjDzQeFuPmwCNtOpuFkao52e2SQOyZFBqKZhz2aNXLgMUJd+cVKzNyZZLBU3aOFBzaMCaPOP0/JnDcsCoUCzs7ONcoFgq3yrYpSqcS5c+cQHR2tsz06OhqnTp0CAERERCArKwu5ublQq9VISEhAmzZtjB4zLi4Ozs7O2oefn59FvwMhxDzs5dZ6yRQATqbmYPvJNNjLhVURJ9YqarHgs01dlAn14cOHUKlU8PLy0tnu5eWFzMxMAIC1tTVWrlyJHj16ICQkBC1atMCgQYOMHnPhwoXIz8/XPu7cuWPR70AIMY/C0gq9ZKpxIjUHhaUVdRxR1WhuXMvi84ZFWLdutcRxnM5zxpjOtpiYGMTExNToWHK5nIbVECJCYktQNDeuZfH5exBlCdXDwwMSiURbGtXIzs7WK7USQuo3sSUomhvXsvj8PYgyocpkMnTq1Anx8fE62+Pj49G1a1eeoiKE8EFsCYrmxrUsPn8Pgq3yLSwsRGpqqvZ5WloakpOT4ebmBn9/f8TGxmL8+PEIDw9Hly5dsHXrVqSnp2PatGk8Rk3qUpaiFLlFSihKK+Bkaw1XOxm8nGz4DovUMU2CWrDnIhKe6NUp1ARFc+NaDp+/B8EOmzl69CiioqL0tk+YMAHbt28HUDmxw+rVq5GRkYF27drh448/Ro8ePczy+bXpKk3qXnpOERbuvaTTGaVbkDtWDm8Pf3ear7kh0ow7pARFAPP9HmqTCwSbUPlGCVW4shSliP0h2WDPzm5B7lj7QgcqqRJCzKLej0MlDVtukbLKYRK5RTSOjxBS9yihEtFRVDOusLr9hBBiCZRQieg42VTdl666/YQQYgmUUInouNrL0C3I3eC+bkHucLWnjiiEkLpHt/IWdDe3GAWlFVCUlMPZVgoHG2v4utrxHZZRYonXy8kGHw9vj1IAhUoVFCWVq0k4yCSwAdBIoB2SxHJ+NShey6J4LYuPeCmhWsjtnCK8Y2BYx4rh7REgwGEdYou3BMCJ1IfwcrJBWYUaRUoVsvJLEBlkeEA338R2filey6J4LYuveGnYjBFPM2zmbm4x5u+5aHRYx6qRIYK6sxNbvPdyi5H+qBgbj6TqLdc1MyoI/m52aCKgeMV2filey7qbW4wFey7iBMVrEeb+PdCwGZ4VVLP6RYHAeqGKLd6yCrVeMgUql+vaeCQVZRVqniIzTGznl+K1rILSCoPJCaB4zYHP3wNV+VqAokRcq1+ILd4SpQpJ6XmY2TsIYX4uKKtQw0Yqwfn0XHx1Ig0l5Sq+Q9QhtvNbILJ4xXZ+q1tOTmjLzYktXj5/D5RQLcDJVlyrX4gt3tJyFT4dE4ZtJ9Ow8fd/5nuODHLHp2PCUKoUVkIV2/l1FFm8Yju/DtUM66puf10TW7x8/h6EdSbqCQeZBH1aN0IbH2e9ElTK/Xw4yCR8h6jDQSZBtyB3o20kQovXzV6Gdb9dM1jlCwDLh7bjIyyjxHZ+7aRVx2snFVa8Yju/VlzlzZ+hasnIIHdYcQbexCOxxcvn74ESqgU42Urx/qC2WLTvkk4JqnuQO5YPb1/tHVRdswIQN6w9CssrwMCh4P+HoQAMDlJrwTW0l6nURttITqbmoEwlrDZUKRhWDGuPd/dd0vkj1/Q6lEJg/QIZw5Ih7bDk57/04l0ypB0gsH6MxRUVWDasHd7f9xeOPxZv9yB3LBvWHsUVwqqS5DhgUmQgAOh1qpsUGQhOYAkK1cQLgcXLqdVYMaw9Fu27pPd7WD68PTi15a4PlFAtZPXBFEyMDMS8mNYoLFXB0cYaWYpSrD54BSuHt+c7PB2l6gpYc9ZY+b8U/R/gsPZQqoV1QaquzaZIYG06HDjIAKwY3h7Fj42btZNJIPv//ULCWQESNfDuwDZ6N1gSrnK/kBSWqKBi5ZjRO0jn762wrALZBSWQCCxgW2sJdv55G2H+rpgcGYiyCjXk1lZIupOHnX/expLBbfkOUYedtQTfn0k3GO/3Z9KxeFAw3yHqyFdWwEku1fk9ONhYo6isAlaMQaGkTkmikl1Yitl9W+H67Ttw5JRwVxVAWeGI9AIZZj/XEtmFpYJaVkpuZY0l//0bPfxlWNatCWSqAiitHRF/W41l+y9jyWBh/cE42ljDTibBm9080dffSifej09kC65NhwEoVjMs+Vm/BLVkSDvYS4SVUCXgkFlYig2Hrz8Rrwfe6NMCTZzkPEanz8NRhpxCJa5mFsDz/8cll5SrkKUoRSsvB7gLbIHx4goVFg1sAysrK50brCBPB6jDfFBcIaw+ADIA7w0Mxqkb/6wtynEcmjjb4IVOvhDW2QVcbGRIzysxPqzOxdZiny2sK089IeWsgML76J/yDiRpR7TbfQN7457Hh2COPjxGp6+oQoU3n3VA6zPvQHLqn3gnBfZG12dXoEhgf+D2Ugl+mdgMvsfn6cUbPfFDSATWxlcOIO7AZYM3LHEHUrBYYDcsSsb0kikAHE99CHDA0qHCKkEBQIVKDSeuCM25XMisCqDkHFECGSrUwpt0QGoFSDgrwxOTNPeA1EpYf2/lALILy3DgUobuDVYLDwR5OcLbUVg3WGVqhq9P38KbkZ74YoAzuDIFmNwZl/Nl+NfpW3i7X2uLfTYlVAtwRBFcjs/TSaYAYJ32O5pgPvIHfA7AgZ/gDHBiRfA8847BeFvhXTzotwmAcNaEtWWFcD0xH1YG4vXjFiB3wGYAwrmQFldzwyK0EklZhVovmWocv/5QcON8mRrwxCN0MnADe9fjQzC1sG5g5VYSpOeV4H+XMvRKUE097C1agjJFOWP49Ldr+jdY1ytLrEK7wVJWqLC6rwfsDs2B5OY/v4ewZr2xut/HuKey3N+bsBoX6gn7ily95KRhnfY77Cty6ziiqrkhv8p43ZBfxxFVzb48F1Y3fze4z+rmYdiXC+v8OrGiymRq6IblzLtwYkU8RWZYQUnVbUzV7a9rDiiEn5EbWN/j8+GAQp4iM6xMzaqemEQtrE5fYrvBamRdqpdMAUBy83fYHXoTjSSlFvtsSqgWIFEqnmp/Xas+3oI6iqRmxHZ+xXbDYievusq8uv11zaEir8rz61CRV7cBVaNEqaqyl7rQJiYR2w2WoypXL5lqSG7+DkeV5W64KaFago3z0+2vY0xedXUukzvWUSQ1JLLzK7YbFlupBJFGlseLDHKHrcDaqMV2g1VczcQjxWXCSqh21YzbFNoNFiut+t+7uv1PgxKqBahs3cGa9zG4jzXvA5Wt4YsVX8rk7lA3MxyvulkflMkFFq/MrcrzWyZzq+OIqsbkVSf46m5o6prUisPMqCC9pFrZS7IFpEIbyS+yGywn26q7rlS3v67ZysR1g8XZVP33VN3+p0EJ1QJsnDxQMfATvSSlbtYHFQM/gY2TsJYYc3BphIpB6w3HO+gTOLg04ikywxxcG6F84Hq9pMqa90H5wE/g4CqseMV2g2VtxcHTyQaD2nvjXxPCsWlcR/xrQjgGtfeGp5Mc1gJLqMpqbrCUArvBcpRbo3sLw9eA7i084CgXVkKVW1tVeYMltxZWGimTu0PVrLfBfapmvS1aQKDl24x4muXbNEoVD2FV/BAoUwByJ6jtPASXTB9XmPcAstIcsFIFOBsnKG3cBZdMH1eQ+wDysn/iLZO7w1FgyVSj/NEdWP9vNrgbh7XbWPPKGyypmx+PkRl2J6cI9/JLYC+3/v+B8RIUlVWgibMt/AS4/qXyUTqk/5ujd37LB34CmQDP7+2cIiza+1flUKT/1z3IA8uHtxPk+qLpOUU4mfpQO85Xbm2FbEUpIoM84C/AeJWP0iHZPxuSxzovqpr1hmrQp7X+PdQmF1BCNcIcCZWQx4ntButubjEKSitQUFoORxspHG2sBbXu5ZPEdIMFiO/8ii1ec/0eKKGaASVUQgghtMA4IYQQUscooRJCCCFmQAmVEEIIMQNKqIQQQogZUEIlhBBCzIASKiGEEGIGlFAJIYQQM6CESgghhJgBJVRCCCHEDCihEkIIIWZACZUQQggxA2GtEyQgmimOFQphLU5MCCGk7mhyQE2mvaeEakRBQQEAwM9PeEs/EUIIqVsFBQVwdq56sXpabcYItVqN+/fvw9HRERxn+oLKCoUCfn5+uHPnjihWraF4LYvitSyK17IaYryMMRQUFMDHxwdWVlW3klIJ1QgrKyv4+vqa7XhOTk6i+AFqULyWRfFaFsVrWQ0t3upKphrUKYkQQggxA0qohBBCiBlQQrUwuVyOxYsXQy6X8x1KjVC8lkXxWhbFa1kUb9WoUxIhhBBiBlRCJYQQQsyAEiohhBBiBpRQCSGEEDOghEoIIYSYASVUC4iLi0NERAQcHR3h6emJYcOG4erVq3yHZdTmzZsREhKiHfzcpUsX/PLLL3yHVWNxcXHgOA5z5szhOxSDlixZAo7jdB6NGzfmO6wq3bt3Dy+99BLc3d1hZ2eHDh064Ny5c3yHZVDTpk31zi/HcZgxYwbfoRlUUVGBRYsWITAwELa2tmjWrBmWLl0KtVrNd2hGFRQUYM6cOQgICICtrS26du2Ks2fP8h0WACAhIQGDBw+Gj48POI7Dvn37dPYzxrBkyRL4+PjA1tYWvXr1wt9//22RWCihWsCxY8cwY8YM/PHHH4iPj0dFRQWio6NRVFTEd2gG+fr6YtWqVUhMTERiYiJ69+6NoUOHWuxHZ05nz57F1q1bERISwncoVWrbti0yMjK0j0uXLvEdklG5ubmIjIyEVCrFL7/8gsuXL2Pt2rVwcXHhOzSDzp49q3Nu4+PjAQCjRo3iOTLDPvzwQ3z++efYuHEjUlJSsHr1aqxZswYbNmzgOzSjpk6divj4ePz73//GpUuXEB0djeeeew737t3jOzQUFRUhNDQUGzduNLh/9erVWLduHTZu3IizZ8+icePG6Nu3r3a+drNixOKys7MZAHbs2DG+Q6kxV1dX9uWXX/IdRpUKCgpYixYtWHx8POvZsyebPXs23yEZtHjxYhYaGsp3GDU2f/581q1bN77DMNns2bNZ8+bNmVqt5jsUgwYOHMgmT56ss23EiBHspZde4imiqhUXFzOJRML279+vsz00NJS9++67PEVlGAC2d+9e7XO1Ws0aN27MVq1apd1WWlrKnJ2d2eeff272z6cSah3Iz88HALi5ufEcSfVUKhW+//57FBUVoUuXLnyHU6UZM2Zg4MCBeO655/gOpVrXr1+Hj48PAgMD8eKLL+LmzZt8h2TUzz//jPDwcIwaNQqenp4ICwvDF198wXdYNaJUKvHNN99g8uTJT7WohSV169YNhw8fxrVr1wAAFy5cwIkTJzBgwACeIzOsoqICKpUKNjY2OtttbW1x4sQJnqKqmbS0NGRmZiI6Olq7TS6Xo2fPnjh16pTZP48mx7cwxhhiY2PRrVs3tGvXju9wjLp06RK6dOmC0tJSODg4YO/evQgODuY7LKO+//57nD9/XjDtOFV59tln8fXXX6Nly5bIysrC8uXL0bVrV/z9999wd3fnOzw9N2/exObNmxEbG4t33nkHZ86cwaxZsyCXy/Hyyy/zHV6V9u3bh7y8PEycOJHvUIyaP38+8vPz0bp1a0gkEqhUKqxYsQJjxozhOzSDHB0d0aVLFyxbtgxt2rSBl5cXdu7ciT///BMtWrTgO7wqZWZmAgC8vLx0tnt5eeH27dvm/0Czl3mJjunTp7OAgAB2584dvkOpUllZGbt+/To7e/YsW7BgAfPw8GB///0332EZlJ6ezjw9PVlycrJ2m5CrfJ9UWFjIvLy82Nq1a/kOxSCpVMq6dOmis+2NN95gnTt35imimouOjmaDBg3iO4wq7dy5k/n6+rKdO3eyixcvsq+//pq5ubmx7du38x2aUampqaxHjx4MAJNIJCwiIoKNGzeOtWnThu/QdOCJKt+TJ08yAOz+/fs6r5s6dSrr16+f+T/f7EckWjNnzmS+vr7s5s2bfIdSa3369GGvvvoq32EYtHfvXu0ftuYBgHEcxyQSCauoqOA7xGo999xzbNq0aXyHYZC/vz+bMmWKzrZNmzYxHx8fniKqmVu3bjErKyu2b98+vkOpkq+vL9u4caPOtmXLlrFWrVrxFFHNFRYWapPTCy+8wAYMGMBzRLqeTKg3btxgANj58+d1XjdkyBD28ssvm/3zqQ3VAhhjmDlzJn766Sf8/vvvCAwM5DukWmOMoaysjO8wDOrTpw8uXbqE5ORk7SM8PBzjxo1DcnIyJBIJ3yFWqaysDCkpKfD29uY7FIMiIyP1hnldu3YNAQEBPEVUM9u2bYOnpycGDhzIdyhVKi4u1luoWiKRCHrYjIa9vT28vb2Rm5uLQ4cOYejQoXyHVKXAwEA0btxY2/MbqGxnP3bsGLp27Wr2z6M2VAuYMWMGvvvuO/znP/+Bo6Ojth7f2dkZtra2PEen75133kFMTAz8/PxQUFCA77//HkePHsXBgwf5Ds0gR0dHvfZoe3t7uLu7C7Kd+q233sLgwYPh7++P7OxsLF++HAqFAhMmTOA7NIPefPNNdO3aFStXrsQLL7yAM2fOYOvWrdi6dSvfoRmlVquxbds2TJgwAdbWwr6sDR48GCtWrIC/vz/atm2LpKQkrFu3DpMnT+Y7NKMOHToExhhatWqF1NRUvP3222jVqhUmTZrEd2goLCxEamqq9nlaWhqSk5Ph5uYGf39/zJkzBytXrkSLFi3QokULrFy5EnZ2dhg7dqz5gzF7mZcwAAYf27Zt4zs0gyZPnswCAgKYTCZjjRo1Yn369GG//vor32HVipDbUEePHs28vb2ZVCplPj4+bMSIEYJtn9b473//y9q1a8fkcjlr3bo127p1K98hVenQoUMMALt69SrfoVRLoVCw2bNnM39/f2ZjY8OaNWvG3n33XVZWVsZ3aEbt2rWLNWvWjMlkMta4cWM2Y8YMlpeXx3dYjDHGjhw5YvB6O2HCBMZY5dCZxYsXs8aNGzO5XM569OjBLl26ZJFYaPk2QgghxAyoDZUQQggxA0qohBBCiBlQQiWEEELMgBIqIYQQYgaUUAkhhBAzoIRKCCGEmAElVEIIIcQMKKESQgghZkAJlRAjevXqhTlz5vAdhkFXrlxB586dYWNjgw4dOvAWR9OmTbF+/XrePv9xNYmlLuLdvn07XFxcLPoZRJgooRIiQosXL4a9vT2uXr2Kw4cP8x2OaJw9exavvvqq2Y5nKEGPHj1au3g4aViEPYs0IfWMSqUCx3F6q43U1o0bNzBw4EDBrwAjNI0aNbL4Z9ja2gpyEQxieVRCJYLXq1cvzJo1C/PmzYObmxsaN26MJUuWAABu3boFjuOQnJysfX1eXh44jsPRo0cBAEePHgXHcTh06BDCwsJga2uL3r17Izs7G7/88gvatGkDJycnjBkzBsXFxTqfXVFRgZkzZ8LFxQXu7u5YtGgRHp/+WqlUYt68eWjSpAns7e3x7LPPaj8X+Kf6b//+/QgODoZcLsft27er/L5qtRpLly6Fr68v5HI5OnTooLPyD8dxOHfuHJYuXQqO47TnwhjNOfrpp58QFRUFOzs7hIaG4vTp0zqv27NnD9q2bQu5XI6mTZti7dq1Ovuzs7MxePBg2NraIjAwEN9++63eZ+Xn5+PVV1+Fp6cnnJyc0Lt3b1y4cEG7/8KFC4iKioKjoyOcnJzQqVMnJCYmVhl/TeMDgIKCAowdOxYODg7w8fHBhg0bdPY/WaKsLl4A+PnnnxEeHg4bGxt4eHhgxIgRACp/l7dv38abb74JjuPAcRwA3Srfq1evguM4XLlyReeY69atQ9OmTbW/pcuXL2PAgAFwcHCAl5cXxo8fj4cPH9bovBABsciU+4SYUc+ePZmTkxNbsmQJu3btGtuxYwfjOI79+uuvLC0tjQFgSUlJ2tfn5uYyAOzIkSOMsX9Wo+jcuTM7ceIEO3/+PAsKCmI9e/Zk0dHR7Pz58ywhIYG5u7uzVatW6Xyug4MDmz17Nrty5Qr75ptvmJ2dnc7KK2PHjmVdu3ZlCQkJLDU1la1Zs4bJ5XJ27do1xhhj27ZtY1KplHXt2pWdPHmSXblyhRUWFlb5fdetW8ecnJzYzp072ZUrV9i8efOYVCrVHjMjI4O1bduWzZ07l2VkZLCCgoIqj6c5R61bt2b79+9nV69eZc8//zwLCAhg5eXljDHGEhMTmZWVFVu6dCm7evUq27ZtG7O1tdVZISkmJoa1a9eOnTp1iiUmJrKuXbsyW1tb9vHHHzPGKlf1iIyMZIMHD2Znz55l165dY3PnzmXu7u4sJyeHMcZY27Zt2UsvvcRSUlLYtWvX2A8//MCSk5OrjL+m8QUEBDBHR0cWFxfHrl69yj799FMmkUh0Vk4KCAioVbz79+9nEomEvf/+++zy5cssOTmZrVixgjHGWE5ODvP19WVLly5lGRkZLCMjgzFW+W/u7Oys/cxOnTqxRYsW6XyfTp06sYULFzLGGLt//z7z8PBgCxcuZCkpKez8+fOsb9++LCoqqtrzQoSFEioRvJ49e7Ju3brpbIuIiGDz58+vVUL97bfftK+Ji4tjANiNGze021577TXWr18/nc9t06YNU6vV2m3z589nbdq0YYwxlpqayjiOY/fu3dOJrU+fPtqL5bZt2xiAGiUNDR8fH+1F+/HvO336dO3z0NBQtnjx4hodT3OOvvzyS+22v//+mwFgKSkpjLHKG4O+ffvqvO/tt99mwcHBjDHGrl69ygCwP/74Q7s/JSWFAdAmqMOHDzMnJydWWlqqc5zmzZuzLVu2MMYYc3R0ZNu3b69R3I+rLj7GKpNl//79dV4zevRoFhMTo/Oa2sTbpUsXNm7cOKNxPX48jScT6rp161izZs20zzXnUrOE33vvvceio6N1jnHnzh3RLEdH/kFVvkQUQkJCdJ57e3sjOzvb5GN4eXnBzs4OzZo109n25DE7d+6srcoDgC5duuD69etQqVQ4f/48GGNo2bIlHBwctI9jx47hxo0b2vfIZDK9+I1RKBS4f/8+IiMjdbZHRkYiJSWlVt/3SY/H4O3tDQDa75uSkmLwMzXfNSUlBdbW1ggPD9fub926tU5v1nPnzqGwsBDu7u465yMtLU17PmJjYzF16lQ899xzWLVqlc55qkp18Wl06dJF5zVdunQxet5qEm9ycjL69OlToxiNefHFF3H79m388ccfAIBvv/0WHTp0QHBwsDaOI0eO6MTQunVrAKjx+SHCQJ2SiChIpVKd5xzHQa1Wazv3sMfaNcvLy6s9BsdxRo9ZU2q1GhKJBOfOnYNEItHZ5+DgoP1/W1tbnaRcE0++njFW62M86cnvD0D7fQ0d//Fzqvn/qmJQq9Xw9vbWaUPW0CTeJUuWYOzYsfjf//6HX375BYsXL8b333+P4cOHVxl7dfFVxVjMNYnXHJ2LvL29ERUVhe+++w6dO3fGzp078dprr+nEMXjwYHz44YcG30vEgxIqETVNr82MjAyEhYUBgE4HpaelKVU8/rxFixaQSCQICwuDSqVCdnY2unfvbpbPc3Jygo+PD06cOIEePXpot586dQrPPPOMWT7DkODgYJw4cUJn26lTp9CyZUtIJBK0adMGFRUVSExM1MZx9epV5OXlaV/fsWNHZGZmwtraGk2bNjX6WS1btkTLli3x5ptvYsyYMdi2bVu1CbW6+DQM/XtpSntPqkm8ISEhOHz4MCZNmmRwv0wm0ykhGzNu3DjMnz8fY8aMwY0bN/Diiy/qxLFnzx40bdoU1tZ0SRYzqvIlomZra4vOnTtj1apVuHz5MhISErBo0SKzHf/OnTuIjY3F1atXsXPnTmzYsAGzZ88GUJkYxo0bh5dffhk//fQT0tLScPbsWXz44Yc4cOCAyZ/59ttv48MPP8SuXbtw9epVLFiwAMnJydrPtYS5c+fi8OHDWLZsGa5du4YdO3Zg48aNeOuttwAArVq1Qv/+/fHKK6/gzz//xLlz5zB16lSdEtxzzz2HLl26YNiwYTh06BBu3bqFU6dOYdGiRUhMTERJSQlmzpyJo0eP4vbt2zh58iTOnj2LNm3aPHV8GidPnsTq1atx7do1fPbZZ/jxxx+Nnrfq4gUqx/vu3LkTixcvRkpKCi5duoTVq1drj9G0aVMkJCTg3r17VfbKHTFiBBQKBV5//XVERUWhSZMm2n0zZszAo0ePMGbMGJw5cwY3b97Er7/+ismTJ9coWRMB4a/5lpCa6dmzJ5s9e7bOtqFDh7IJEyYwxhi7fPky69y5M7O1tWUdOnRgv/76q8FOSbm5udr3P9lxhDHGFi9ezEJDQ3U+d/r06WzatGnMycmJubq6sgULFuh0UlIqlez9999nTZs2ZVKplDVu3JgNHz6cXbx40ejnVEelUrEPPviANWnShEmlUhYaGsp++eUXndeY0impqo5bjDG2e/duFhwczKRSKfP392dr1qzROU5GRgYbOHAgk8vlzN/fn3399dd6nXIUCgV74403mI+PD5NKpczPz4+NGzeOpaens7KyMvbiiy8yPz8/JpPJmI+PD5s5cyYrKSmp0feoLr6AgAD2wQcfsBdeeIHZ2dkxLy8vtn79er3X1DRejT179rAOHTowmUzGPDw82IgRI7T7Tp8+zUJCQphcLmeay6mxf/NRo0YxAOyrr77S23ft2jU2fPhw5uLiwmxtbVnr1q3ZnDlzdH5rRPg4xmrYEEEIISLn7e2NZcuWYerUqXyHQuohqrAnhNR7xcXFOHnyJLKystC2bVu+wyH1FLWhElLHHh8e8eTj+PHjtT7eypUrjR4vJibGAt/A/GJiYox+h5UrVz718bdu3YoXX3wRc+bM0RtaQ4i5UJUvIXUsNTXV6L4mTZrUeqjGo0eP8OjRI4P7bG1tdTrACNW9e/dQUlJicJ+bmxvc3NzqOCJCao8SKiGEEGIGVOVLCCGEmAElVEIIIcQMKKESQgghZkAJlRBCCDEDSqiEEEKIGVBCJYQQQsyAEiohhBBiBv8HcNWiUXV9ZAsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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bXcyM+Hn56cbN27o/PnzVoHLMAwlJCTooYcesnns/Prmm2905coVLV68WOXLl7e0382zqEqVKqXffvvtln38/f3l5+enuLi4XLf/9X/6b5b9y+nZs2dzbDtz5oyKFSumkiVL3kHF/zduXmNm11wQzGazevTooU8//VRDhgzR3LlzFRUV9bcs6Z19DNOnT89zlb28/mPhr8qWLZvnz8zatWt15swZrV+/3moFyLyeEZXb9/puvh/Z/o6/z9xq9/Pz07Zt22QYhtX2xMRE3bhxo8C+RwCKDi4jBHDf6tixowzD0O+//6769evneNWqVcvmsbNXLvviiy+s2hctWqQrV65YtttT9i+Dfw2NhmHc1fLd7du319GjR295mVbHjh31xx9/KDMzM9fzWq1atTw/W61aNZUpU0Zffvml1ap+V65c0aJFiywrFN6pyMhIS1D4q88//1weHh53tAT47fTv318XLlzQU089pcuXL+f7kQB3O+PRpEkTlShRQj/99FOu571+/fp5ziblV27fKUmaPXt2vse4k+9HXuckMjJSP/30k3bv3m3V/vnnn8tkMqlly5Z3clj5FhkZqdTUVH3zzTc59pu9/U7ld9YUQOHEzBaA+1aTJk3Ut29fPf/889q5c6eaNWsmT09PnT17Vps2bVKtWrX08ssv2zR269at1bZtWw0bNkzJyclq0qSJ9u3bp1GjRqlOnTqKjo4u4KPJvQZXV1d169ZNr7/+uq5fv65Zs2bp0qVLNo8ZExOjhQsXqnPnzho+fLgaNGiga9euacOGDerYsaNatmypZ555RgsWLFCHDh00YMAANWjQQC4uLvrtt9+0bt06de7cWf/4xz9yHb9YsWKaPHmyunfvro4dO+rFF19UWlqapkyZosuXL2vixIk21T1q1CgtW7ZMLVu21Ntvvy1fX18tWLBAy5cv1+TJk2U2m20+JzerWrWq2rVrp5UrV6pp06Z68MEH8/W5WrVqKTY2VgsXLlSlSpVUvHjxOwr8Xl5emj59unr06KGLFy/qqaeeUkBAgM6fP6+9e/fq/PnzmjVrlq2HJUlq3LixSpYsqZdeekmjRo2Si4uLFixYoL179+Z7jDv5fuR1TgYOHKjPP/9cjz76qMaMGaPy5ctr+fLlmjlzpl5++WW7Pdz6ueee08cff6wePXroxIkTqlWrljZt2qTx48erQ4cO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+vrK1dVVZrNZvXv31uDBg+Xn5ydfX18NGTJEtWrVsiy4ERoaqnbt2qlPnz6aPXu2pD+Xfu/YsWO+VyK8FyRdTdewRfv0w7ELVu0bj13Q8EX7NL1bHWa4AAAAHMgRVyC1a9dOc+fOVUZGhn744Qe98MILunLlimbNmnXHYxmGoczMTDk7/70RoU+fPhozZoxVW241pKen39Uzrxzhnl1y5bffftPSpUv122+/qXbt2ipdurTl9ddVBKdOnarHH39cXbp0UZMmTeTh4aFvv/3W8owtSVqwYIFq1aqlNm3aqE2bNgoPD9f8+fMdcVg2u5CaniNoZdt47IIupKb/zRUBAAAgm6OuQHJzc1NQUJBCQkIUFRWl7t2765tvvpEkffHFF6pfv768vb0VFBSkqKgoJSYmWj6bPUO1atUq1a9fX25ubvrhhx9kGIYmT56sSpUqyd3dXQ8++KC+/vprSX/OCrVs2VKSVLJkSZlMJvXs2VPSn6t59+/fXwEBASpevLiaNm2ar4XwPDw8FBQUZPWSpAoVKmjcuHHq2bOnzGaz+vTpI0latGiRatSoITc3N1WoUEHvv/++1XgVKlTQ+PHj1atXL3l7e6tcuXKaM2eOZXvFihUlSXXq1JHJZFKLFi3u/MTn0z3xUONs69evt/y5QoUKys8jwIoXL67p06dr+vTpefbx9fXVF198URAlOkzy9Yxbbk+5zXYAAADYx710BZK7u7syMv78vTA9PV1jx45VtWrVlJiYqIEDB6pnz55asWKF1Wdef/11vffee6pUqZJKlCihN998U4sXL9asWbNUpUoVbdy4Uc8++6xKlSqlpk2batGiRXryySd15MgR+fj4yN3d3TLOokWL9Nlnn6l8+fKaPHmy2rZtq59//lm+vr42Hc+UKVP01ltv6c0335T057oPXbp00ejRo9W1a1dt3rxZr7zyivz8/CyhT5Lef/99jR07ViNHjtTXX3+tl19+Wc2aNVP16tW1fft2NWjQQN99951q1Khh19myeypsIW8+xV1uud37NtsBAABgH/m5AunvCFvbt2/Xl19+qcjISElSr169LNsqVaqkjz76SA0aNFBqaqq8vLws28aMGaPWrVtLkq5cuaIPPvhAa9euVUREhOWzmzZt0uzZs9W8eXNLcAoICLA8/zb70sV58+apffv2kqR//vOfWrNmjf71r39p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JibG6n1GRob27NmjuLg4DR06tCDqAgAAAIBCzaawNWDAgFzbP/74Y+3cufOuCgIAAACAoqBA79lq3769Fi1aVJBDAgAAAEChVKBh6+uvv5avr29BDgkAAAAAhZLNDzX+6wIZhmEoISFB58+f18yZMwusOAAAAAAorGwKW48//rjV+2LFiqlUqVJq0aKFqlevXhB1AQAAAEChxkON84mHGgMAAACQ8p8NbJrZSk5OzndfggkAAACA+5FNYatEiRK3fKix9Od9XCaTSZmZmTYVBgAAAACFmU1ha+7cuRo+fLh69uypiIgISdKWLVv02WefacKECapQoUJB1ggAAAAAhY5NYevzzz/XBx98oG7dulnaOnXqpFq1amnOnDlav359QdUHAAAAAIWSTc/Z2rJli+rXr5+jvX79+tq+fftdFwUAAAAAhZ1NYSskJESffPJJjvbZs2crJCTkrosCAAAAgMLOpssIp06dqieffFKrVq1So0aNJElbt27VL7/8okWLFhVogQAAAABQGNk0s9WhQwcdPXpUnTt31sWLF/XHH3+oc+fOOnr0qDp06FDQNQIAAABAocNDjfOJhxoDAAAAkPKfDWya2YqLi9OmTZss7z/++GPVrl1bUVFRunTpki1DAgAAAECRYlPYGjp0qJKTkyVJ+/fv16BBg9ShQwf9+uuvGjRoUIEWCAAAAACFkU0LZBw/flxhYWGSpEWLFumxxx7T+PHjtXv3bu7ZAgAAAADZOLPl6uqqq1evSpK+++47tWnTRpLk6+trmfECAAAAgPuZTTNbTZs21aBBg9SkSRNt375dCxculCQdPXpUZcuWLdACAQAAAKAwsmlma8aMGXJ2dtbXX3+tWbNmqUyZMpKklStXql27dgVaIAAAAAAURnZd+n3ixIl66aWXVKJECXvt4m/D0u8AAAAAJDsv/Z5f48eP18WLF/PcPmvWLIWHh8vHx0c+Pj6KiIjQypUrrfocOnRInTp1ktlslre3txo1aqRTp05Ztqelpalfv37y9/eXp6enOnXqpN9++81qjEuXLik6Olpms1lms1nR0dG6fPlygR4rAAAAAPyVXcPW7SbNypYtq4kTJ2rnzp3auXOnHnnkEXXu3FkHDx6UJP3yyy9q2rSpqlevrvXr12vv3r166623VLx4ccsYMTExWrJkiWJjY7Vp0yalpqaqY8eOyszMtPSJiopSfHy84uLiFBcXp/j4eEVHR9vnoAEAAABAdr6M0NvbW3v37lWlSpXy/RlfX19NmTJFvXv31jPPPCMXFxfNnz8/175JSUkqVaqU5s+fr65du0qSzpw5o5CQEK1YsUJt27bVoUOHFBYWpq1bt6phw4aSpK1btyoiIkKHDx9WtWrV8lUXlxECAAAAkO6RywjvRGZmpmJjY3XlyhVFREQoKytLy5cvV9WqVdW2bVsFBASoYcOG+uabbyyf2bVrlzIyMixLz0tScHCwatasqc2bN0uStmzZIrPZbAlaktSoUSOZzWZLn9ykpaUpOTnZ6gUAAAAA+eXwsLV//355eXnJzc1NL730kpYsWaKwsDAlJiYqNTVVEydOVLt27bR69Wr94x//0BNPPKENGzZIkhISEuTq6qqSJUtajRkYGKiEhARLn4CAgBz7DQgIsPTJzYQJEyz3eJnNZoWEhBTgUQMAAAAo6mx6zlZBqlatmuLj43X58mUtWrRIPXr00IYNGywrGHbu3FkDBw6UJNWuXVubN2/WJ598oubNm+c5pmEYMplMlvd//XNefW42YsQIDRo0yPI+OTmZwAUAAAAg3+w6s/Xwww/L3d39ln1cXV1VuXJl1a9fXxMmTNCDDz6oDz/8UP7+/nJ2dlZYWJhV/9DQUMtqhEFBQUpPT9elS5es+iQmJiowMNDS59y5czn2e/78eUuf3Li5uVlWScx+AQAAAEB+2TyzlZWVpZ9//lmJiYnKysqy2tasWTNJ0ooVK+54XMMwlJaWJldXVz300EM6cuSI1fajR4+qfPnykqR69erJxcVFa9asUZcuXSRJZ8+e1YEDBzR58mRJUkREhJKSkrR9+3Y1aNBAkrRt2zYlJSWpcePGd1wfAAAAAOSHTWFr69atioqK0smTJ3Ms724ymayWXb+VkSNHqn379goJCVFKSopiY2O1fv16xcXFSZKGDh2qrl27qlmzZmrZsqXi4uL07bffav369ZIks9ms3r17a/DgwfLz85Ovr6+GDBmiWrVqqVWrVpL+nAlr166d+vTpo9mzZ0uS+vbtq44dO+Z7JUIAAAAAuFM2ha2XXnpJ9evX1/Lly1W6dOlb3vt0K+fOnVN0dLTOnj0rs9ms8PBwxcXFqXXr1pKkf/zjH/rkk080YcIE9e/fX9WqVdOiRYvUtGlTyxhTp06Vs7OzunTpomvXrikyMlLz5s2Tk5OTpc+CBQvUv39/y6qFnTp10owZM2yqGQAAAADyw6bnbHl6emrv3r2qXLmyPWq6J/GcLQAAAACSnZ+z1bBhQ/388882FwcAAAAARZ1NlxH269dPgwcPVkJCgmrVqiUXFxer7eHh4QVSHAAAAAAUVjZdRlisWM4JMZPJZHl2VX4XyChMuIwQAAAAgJT/bGDTzNbx48dtLgwAAAAA7gc2ha3s51wBAAAAAHJn80ONJemnn37SqVOnlJ6ebtXeqVOnuyoKAAAAAAo7m8LWr7/+qn/84x/av3+/5V4tSZbnbRXFe7YAAAAA4E7YtPT7gAEDVLFiRZ07d04eHh46ePCgNm7cqPr162v9+vUFXCIAAAAAFD42zWxt2bJFa9euValSpVSsWDEVK1ZMTZs21YQJE9S/f3/t2bOnoOsEAAAAgELFppmtzMxMeXl5SZL8/f115swZSX8unHHkyJGCqw4AAAAACimbZrZq1qypffv2qVKlSmrYsKEmT54sV1dXzZkzR5UqVSroGgEAAACg0LEpbL355pu6cuWKJGncuHHq2LGjHn74Yfn5+WnhwoUFWiAAAAAAFEYmI3spwbt08eJFlSxZ0rIiYVGT36dEAwAAACja8psNbLpnK9vPP/+sVatW6dq1a/L19b2boQAAAACgSLEpbP3xxx+KjIxU1apV1aFDB509e1aS9MILL2jw4MEFWiAAAAAAFEY2ha2BAwfKxcVFp06dkoeHh6W9a9euiouLK7DiAAAAAKCwsmmBjNWrV2vVqlUqW7asVXuVKlV08uTJAikMAAAAAAozm2a2rly5YjWjle3ChQtyc3O766IAAAAAoLCzKWw1a9ZMn3/+ueW9yWRSVlaWpkyZopYtWxZYcQAAAABQWNl0GeGUKVPUokUL7dy5U+np6Xr99dd18OBBXbx4UT/++GNB1wgAAAAAhY5NM1thYWHau3evGjRooNatW+vKlSt64okntGfPHj3wwAMFXSMAAAAAFDo2P9T4+vXr2rdvnxITE5WVlWW1rVOnTgVS3L2EhxoDAAAAkPKfDWy6jDAuLk7PPfec/vjjD92c1UwmkzIzM20ZFgAAAACKDJsuI3zttdf09NNP68yZM8rKyrJ6EbQAAAAAwMawlZiYqEGDBikwMLCg6wEAAACAIsGmsPXUU09p/fr1BVwKAAAAABQdNi2QcfXqVT399NMqVaqUatWqJRcXF6vt/fv3L7AC7xUskAEAAABAsvMCGV9++aVWrVold3d3rV+/XiaTybLNZDIVybAFAAAAAHfCprD15ptvasyYMRo+fLiKFbPpSkQAAAAAKNJsSkrp6enq2rUrQQsAAAAA8mBTWurRo4cWLlxY0LUAAAAAQJFh02WEmZmZmjx5slatWqXw8PAcC2R88MEHBVIcAAAAABRWNoWt/fv3q06dOpKkAwcOWG3762IZAAAAAHC/silsrVu3rqDrAAAAAIAihRUuAAAAAMAOCFsAAAAAYAeELQAAAACwA8IWAAAAANgBYQsAAAAA7ICwBQAAAAB2QNgCAAAAADsgbAEAAACAHRC2AAAAAMAOCFsAAAAAYAeELQAAAACwA8IWAAAAANgBYQsAAAAA7ICwBQAAAAB2QNgCAAAAADsgbAEAAACAHRC2AAAAAMAOCFsAAAAAYAeELQAAAACwA8IWAAAAANgBYQsAAAAA7ICwBQAAAAB2QNgCAAAAADsgbAEAAACAHRC2AAAAAMAOCFsAAAAAYAcODVuzZs1SeHi4fHx85OPjo4iICK1cuTLXvi+++KJMJpOmTZtm1Z6WlqZ+/frJ399fnp6e6tSpk3777TerPpcuXVJ0dLTMZrPMZrOio6N1+fJlOx0VAAAAADg4bJUtW1YTJ07Uzp07tXPnTj3yyCPq3LmzDh48aNXvm2++0bZt2xQcHJxjjJiYGC1ZskSxsbHatGmTUlNT1bFjR2VmZlr6REVFKT4+XnFxcYqLi1N8fLyio6PtfnwAAAAA7l8mwzAMRxfxV76+vpoyZYp69+4tSfr999/VsGFDrVq1So8++qhiYmIUExMjSUpKSlKpUqU0f/58de3aVZJ05swZhYSEaMWKFWrbtq0OHTqksLAwbd26VQ0bNpQkbd26VRERETp8+LCqVauWr7qSk5NlNpuVlJQkHx+fgj9wAAAAAIVCfrPBPXPPVmZmpmJjY3XlyhVFRERIkrKyshQdHa2hQ4eqRo0aOT6za9cuZWRkqE2bNpa24OBg1axZU5s3b5YkbdmyRWaz2RK0JKlRo0Yym82WPrlJS0tTcnKy1QsAAAAA8svhYWv//v3y8vKSm5ubXnrpJS1ZskRhYWGSpEmTJsnZ2Vn9+/fP9bMJCQlydXVVyZIlrdoDAwOVkJBg6RMQEJDjswEBAZY+uZkwYYLlHi+z2ayQkBBbDxEAAADAfcjZ0QVUq1ZN8fHxunz5shYtWqQePXpow4YNunbtmj788EPt3r1bJpPpjsY0DMPqM7l9/uY+NxsxYoQGDRpkeZ+cnEzgAgAAAJBvDg9brq6uqly5siSpfv362rFjhz788EOFhoYqMTFR5cqVs/TNzMzU4MGDNW3aNJ04cUJBQUFKT0/XpUuXrGa3EhMT1bhxY0lSUFCQzp07l2O/58+fV2BgYJ51ubm5yc3NraAOEwAAAMB9xuGXEd7MMAylpaUpOjpa+/btU3x8vOUVHBysoUOHatWqVZKkevXqycXFRWvWrLF8/uzZszpw4IAlbEVERCgpKUnbt2+39Nm2bZuSkpIsfQAAAACgoDl0ZmvkyJFq3769QkJClJKSotjYWK1fv15xcXHy8/OTn5+fVX8XFxcFBQVZVhA0m83q3bu3Bg8eLD8/P/n6+mrIkCGqVauWWrVqJUkKDQ1Vu3bt1KdPH82ePVuS1LdvX3Xs2DHfKxECAAAAwJ1yaNg6d+6coqOjdfbsWZnNZoWHhysuLk6tW7fO9xhTp06Vs7OzunTpomvXrikyMlLz5s2Tk5OTpc+CBQvUv39/y6qFnTp10owZMwr8eAAAAAAg2z33nK17Fc/ZAgAAACAVwudsAQAAAEBRQtgCAAAAADsgbAEAAACAHRC2AAAAAMAOCFsAAAAAYAeELQAAAACwA8IWAAAAANgBYQsAAAAA7ICwBQAAAAB2QNgCAAAAADsgbAEAAACAHRC2AAAAAMAOCFsAAAAAYAeELQAAAACwA8IWAAAAANgBYQsAAAAA7MDZ0QUAAApG0tV0XUhNV/L1DPm4u8jf01VmD1dHlwUAwH2LsAUARcCZy9c0bNE+/XDsgqWtWRV/TXwyXMEl3B1YGQAA9y8uIwSAQi7panqOoCVJG49d0PBF+5R0Nd1BlQEAcH8jbAFAIXchNT1H0Mq28dgFXUglbAEA4AiELQAo5JKvZ9xye8pttgMAAPsgbAFAIedT3OWW271vsx0AANgHYQsACjl/L1c1q+Kf67ZmVfzl78WKhAAAOAJhCwAKObOHqyY+GZ4jcDWr4q9JT4az/DsAAA7C0u8AUAQEl3DX9G51dCE1XSnXM+Rd3EX+XjxnCwAARyJsAUARYfYgXAEAcC/hMkIAAAAAsAPCFgAAAADYAWELAAAAAOyAsAUAAAAAdkDYAgAAAAA7IGwBAAAAgB0QtgAAAADADghbAAAAAGAHhC0AAAAAsAPCFgAAAADYAWELAAAAAOyAsAUAAAAAdkDYAgAAAAA7cHZ0AQAAAElX03UhNV3J1zPk4+4if09XmT1cHV0WANwVwhYAAHCoM5evadiiffrh2AVLW7Mq/pr4ZLiCS7g7sDIAuDtcRggAABwm6Wp6jqAlSRuPXdDwRfuUdDXdQZUBwN0jbAEAAIe5kJqeI2hl23jsgi6kErYAFF6ELQAA4DDJ1zNuuT3lNtsB4F5G2AIAAA7jU9zlltu9b7MdAO5lhC0AAOAw/l6ualbFP9dtzar4y9+LFQkBFF6ELQAA4DBmD1dNfDI8R+BqVsVfk54MZ/l3AIUaS78DAACHCi7hrund6uhCarpSrmfIu7iL/L14zhaAwo+wBQAAHM7sQbgCUPRwGSEAAAAA2AFhCwAAAADsgLAFAAAAAHZA2AIAAAAAOyBsAQAAAIAdELYAAAAAwA4IWwAAAABgB4QtAAAAALADwhYAAAAA2AFhCwAAAADswNnRBQAAAADArSRdTdeF1HQlX8+Qj7uL/D1dZfZwdXRZt0XYAgAAAHDPOnP5moYt2qcfjl2wtDWr4q+JT4YruIS7Ayu7PYdeRjhr1iyFh4fLx8dHPj4+ioiI0MqVKyVJGRkZGjZsmGrVqiVPT08FBwfrueee05kzZ6zGSEtLU79+/eTv7y9PT0916tRJv/32m1WfS5cuKTo6WmazWWazWdHR0bp8+fLfdZgAAAAAbJB0NT1H0JKkjccuaPiifUq6mu6gyvLHoWGrbNmymjhxonbu3KmdO3fqkUceUefOnXXw4EFdvXpVu3fv1ltvvaXdu3dr8eLFOnr0qDp16mQ1RkxMjJYsWaLY2Fht2rRJqamp6tixozIzMy19oqKiFB8fr7i4OMXFxSk+Pl7R0dF/9+ECAAAAuAMXUtNzBK1sG49d0IXUeztsmQzDMBxdxF/5+vpqypQp6t27d45tO3bsUIMGDXTy5EmVK1dOSUlJKlWqlObPn6+uXbtKks6cOaOQkBCtWLFCbdu21aFDhxQWFqatW7eqYcOGkqStW7cqIiJChw8fVrVq1fJVV3Jyssxms5KSkuTj41NwBwwAAAAgV3tOXdI/Zm7Oc/s3rzRW7XIl/8aK/pTfbHDPrEaYmZmp2NhYXblyRREREbn2SUpKkslkUokSJSRJu3btUkZGhtq0aWPpExwcrJo1a2rz5j//UrZs2SKz2WwJWpLUqFEjmc1mS5/cpKWlKTk52eoFAAAA4O/jU9zlltu9b7Pd0Rwetvbv3y8vLy+5ubnppZde0pIlSxQWFpaj3/Xr1zV8+HBFRUVZ0mNCQoJcXV1VsqR1mg0MDFRCQoKlT0BAQI7xAgICLH1yM2HCBMs9XmazWSEhIXdzmAAAAADukL+Xq5pV8c91W7Mq/vL3urdXJHR42KpWrZri4+O1detWvfzyy+rRo4d++uknqz4ZGRl65plnlJWVpZkzZ952TMMwZDKZLO//+ue8+txsxIgRSkpKsrxOnz59B0cFAAAA4G6ZPVw18cnwHIGrWRV/TXoy/J5f/t3hS7+7urqqcuXKkqT69etrx44d+vDDDzV79mxJfwatLl266Pjx41q7dq3VNZFBQUFKT0/XpUuXrGa3EhMT1bhxY0ufc+fO5djv+fPnFRgYmGddbm5ucnNzK5BjBAAAAGCb4BLumt6tji6kpivleoa8i7vI36twPGfL4TNbNzMMQ2lpaZL+L2gdO3ZM3333nfz8/Kz61qtXTy4uLlqzZo2l7ezZszpw4IAlbEVERCgpKUnbt2+39Nm2bZuSkpIsfQAAAADcu8wernogwEu1y5XUAwFehSJoSQ6e2Ro5cqTat2+vkJAQpaSkKDY2VuvXr1dcXJxu3Lihp556Srt379ayZcuUmZlpucfK19dXrq6uMpvN6t27twYPHiw/Pz/5+vpqyJAhqlWrllq1aiVJCg0NVbt27dSnTx/LbFnfvn3VsWPHfK9ECAAAAAB3yqFh69y5c4qOjtbZs2dlNpsVHh6uuLg4tW7dWidOnNDSpUslSbVr17b63Lp169SiRQtJ0tSpU+Xs7KwuXbro2rVrioyM1Lx58+Tk5GTpv2DBAvXv39+yamGnTp00Y8aMv+UYAQAAANyf7rnnbN2reM4WAAAAAKkQPmcLAAAAAIoSwhYAAAAA2AFhCwAAAADsgLAFAAAAAHZA2AIAAAAAOyBsAQAAAIAdELYAAAAAwA4IWwAAAABgB86OLqCwyH72c3JysoMrAQAAAOBI2ZkgOyPkhbCVTykpKZKkkJAQB1cCAAAA4F6QkpIis9mc53aTcbs4BklSVlaWzpw5I29vb5lMJofWkpycrJCQEJ0+fVo+Pj4OraUo4vzaF+fXvji/9sX5tS/Or/1xju2L82tf99L5NQxDKSkpCg4OVrFied+ZxcxWPhUrVkxly5Z1dBlWfHx8HP5FK8o4v/bF+bUvzq99cX7ti/Nrf5xj++L82te9cn5vNaOVjQUyAAAAAMAOCFsAAAAAYAeErULIzc1No0aNkpubm6NLKZI4v/bF+bUvzq99cX7ti/Nrf5xj++L82ldhPL8skAEAAAAAdsDMFgAAAADYAWELAAAAAOyAsAUAAAAAdkDYAgAAAAA7IGwVIhMmTNBDDz0kb29vBQQE6PHHH9eRI0ccXVaRMWvWLIWHh1selBcREaGVK1c6uqwia8KECTKZTIqJiXF0KUXC6NGjZTKZrF5BQUGOLqtI+f333/Xss8/Kz89PHh4eql27tnbt2uXosoqEChUq5Pj+mkwmvfrqq44urUi4ceOG3nzzTVWsWFHu7u6qVKmSxowZo6ysLEeXVmSkpKQoJiZG5cuXl7u7uxo3bqwdO3Y4uqxCaePGjXrssccUHBwsk8mkb775xmq7YRgaPXq0goOD5e7urhYtWujgwYOOKTYfCFuFyIYNG/Tqq69q69atWrNmjW7cuKE2bdroypUrji6tSChbtqwmTpyonTt3aufOnXrkkUfUuXPne/oHuLDasWOH5syZo/DwcEeXUqTUqFFDZ8+etbz279/v6JKKjEuXLqlJkyZycXHRypUr9dNPP+n9999XiRIlHF1akbBjxw6r7+6aNWskSU8//bSDKysaJk2apE8++UQzZszQoUOHNHnyZE2ZMkXTp093dGlFxgsvvKA1a9Zo/vz52r9/v9q0aaNWrVrp999/d3Rphc6VK1f04IMPasaMGblunzx5sj744APNmDFDO3bsUFBQkFq3bq2UlJS/udL8Yen3Quz8+fMKCAjQhg0b1KxZM0eXUyT5+vpqypQp6t27t6NLKTJSU1NVt25dzZw5U+PGjVPt2rU1bdo0R5dV6I0ePVrffPON4uPjHV1KkTR8+HD9+OOP+uGHHxxdyn0hJiZGy5Yt07Fjx2QymRxdTqHXsWNHBQYG6l//+pel7cknn5SHh4fmz5/vwMqKhmvXrsnb21v/+9//9Oijj1raa9eurY4dO2rcuHEOrK5wM5lMWrJkiR5//HFJf85qBQcHKyYmRsOGDZMkpaWlKTAwUJMmTdKLL77owGpzx8xWIZaUlCTpz0CAgpWZmanY2FhduXJFERERji6nSHn11Vf16KOPqlWrVo4upcg5duyYgoODVbFiRT3zzDP69ddfHV1SkbF06VLVr19fTz/9tAICAlSnTh3985//dHRZRVJ6erq++OIL9erVi6BVQJo2barvv/9eR48elSTt3btXmzZtUocOHRxcWdFw48YNZWZmqnjx4lbt7u7u2rRpk4OqKpqOHz+uhIQEtWnTxtLm5uam5s2ba/PmzQ6sLG/Oji4AtjEMQ4MGDVLTpk1Vs2ZNR5dTZOzfv18RERG6fv26vLy8tGTJEoWFhTm6rCIjNjZWu3fv5jp2O2jYsKE+//xzVa1aVefOndO4cePUuHFjHTx4UH5+fo4ur9D79ddfNWvWLA0aNEgjR47U9u3b1b9/f7m5uem5555zdHlFyjfffKPLly+rZ8+eji6lyBg2bJiSkpJUvXp1OTk5KTMzU++++666devm6NKKBG9vb0VERGjs2LEKDQ1VYGCgvvrqK23btk1VqlRxdHlFSkJCgiQpMDDQqj0wMFAnT550REm3RdgqpF577TXt27eP/zEpYNWqVVN8fLwuX76sRYsWqUePHtqwYQOBqwCcPn1aAwYM0OrVq3P87x/uXvv27S1/rlWrliIiIvTAAw/os88+06BBgxxYWdGQlZWl+vXra/z48ZKkOnXq6ODBg5o1axZhq4D961//Uvv27RUcHOzoUoqMhQsX6osvvtCXX36pGjVqKD4+XjExMQoODlaPHj0cXV6RMH/+fPXq1UtlypSRk5OT6tatq6ioKO3evdvRpRVJN896G4Zxz86EE7YKoX79+mnp0qXauHGjypYt6+hyihRXV1dVrlxZklS/fn3t2LFDH374oWbPnu3gygq/Xbt2KTExUfXq1bO0ZWZmauPGjZoxY4bS0tLk5OTkwAqLFk9PT9WqVUvHjh1zdClFQunSpXP8p0toaKgWLVrkoIqKppMnT+q7777T4sWLHV1KkTJ06FANHz5czzzzjKQ//0Pm5MmTmjBhAmGrgDzwwAPasGGDrly5ouTkZJUuXVpdu3ZVxYoVHV1akZK9ym5CQoJKly5taU9MTMwx23Wv4J6tQsQwDL322mtavHix1q5dyw/w38AwDKWlpTm6jCIhMjJS+/fvV3x8vOVVv359de/eXfHx8QStApaWlqZDhw5Z/WME2zVp0iTHozaOHj2q8uXLO6iiomnu3LkKCAiwWmQAd+/q1asqVsz6Vz4nJyeWfrcDT09PlS5dWpcuXdKqVavUuXNnR5dUpFSsWFFBQUGWFUulP+/z3LBhgxo3buzAyvLGzFYh8uqrr+rLL7/U//73P3l7e1uuWzWbzXJ3d3dwdYXfyJEj1b59e4WEhCglJUWxsbFav3694uLiHF1akeDt7Z3j/kJPT0/5+flx32EBGDJkiB577DGVK1dOiYmJGjdunJKTk/lf6wIycOBANW7cWOPHj1eXLl20fft2zZkzR3PmzHF0aUVGVlaW5s6dqx49esjZmV9PCtJjjz2md999V+XKlVONGjW0Z88effDBB+rVq5ejSysyVq1aJcMwVK1aNf38888aOnSoqlWrpueff97RpRU6qamp+vnnny3vjx8/rvj4ePn6+qpcuXKKiYnR+PHjVaVKFVWpUkXjx4+Xh4eHoqKiHFj1LRgoNCTl+po7d66jSysSevXqZZQvX95wdXU1SpUqZURGRhqrV692dFlFWvPmzY0BAwY4uowioWvXrkbp0qUNFxcXIzg42HjiiSeMgwcPOrqsIuXbb781atasabi5uRnVq1c35syZ4+iSipRVq1YZkowjR444upQiJzk52RgwYIBRrlw5o3jx4kalSpWMN954w0hLS3N0aUXGwoULjUqVKhmurq5GUFCQ8eqrrxqXL192dFmF0rp163L9fbdHjx6GYRhGVlaWMWrUKCMoKMhwc3MzmjVrZuzfv9+xRd8Cz9kCAAAAADvgni0AAAAAsAPCFgAAAADYAWELAAAAAOyAsAUAAAAAdkDYAgAAAAA7IGwBAAAAgB0QtgAAAADADghbAAAAAGAHhC0AQL61aNFCMTExji4jV4cPH1ajRo1UvHhx1a5d22F1VKhQQdOmTXPY/v8qP7X8HfXOmzdPJUqUsOs+AOBeRNgCABQJo0aNkqenp44cOaLvv//e0eUUGjt27FDfvn0LbLzcwlvXrl119OjRAtsHABQWzo4uAABwf8vMzJTJZFKxYnf3/3+//PKLHn30UZUvX76AKrs/lCpVyu77cHd3l7u7u933AwD3Gma2AKAQatGihfr376/XX39dvr6+CgoK0ujRoyVJJ06ckMlkUnx8vKX/5cuXZTKZtH79eknS+vXrZTKZtGrVKtWpU0fu7u565JFHlJiYqJUrVyo0NFQ+Pj7q1q2brl69arXvGzdu6LXXXlOJEiXk5+enN998U4ZhWLanp6fr9ddfV5kyZeTp6amGDRta9iv93yVly5YtU1hYmNzc3HTy5MlbHm9WVpbGjBmjsmXLys3NTbVr11ZcXJxlu8lk0q5duzRmzBiZTCbLuchL9jlavHixWrZsKQ8PDz344IPasmWLVb9FixapRo0acnNzU4UKFfT+++9bbU9MTNRjjz0md3d3VaxYUQsWLMixr6SkJPXt21cBAQHy8fHRI488or1791q27927Vy1btpS3t7d8fHxUr1497dy585b157c+SUpJSVFUVJS8vLwUHBys6dOnW22/eSbqdvVK0tKlS1W/fn0VL15c/v7+euKJJyT9+b08efKkBg4cKJPJJJPJJMn6MsIjR47IZDLp8OHDVmN+8MEHqlChguW79NNPP6lDhw7y8vJSYGCgoqOjdeHChXydFwC4VxC2AKCQ+uyzz+Tp6alt27Zp8uTJGjNmjNasWXNHY4wePVozZszQ5s2bdfr0aXXp0kXTpk3Tl19+qeXLl2vNmjU5fjn/7LPP5OzsrG3btumjjz7S1KlT9emnn1q2P//88/rxxx8VGxurffv26emnn1a7du107NgxS5+rV69qwoQJ+vTTT3Xw4EEFBATcss4PP/xQ77//vt577z3t27dPbdu2VadOnSxjnj17VjVq1NDgwYN19uxZDRkyJF/H/8Ybb2jIkCGKj49X1apV1a1bN924cUOStGvXLnXp0kXPPPOM9u/fr9GjR+utt97SvHnzLJ/v2bOnTpw4obVr1+rrr7/WzJkzlZiYaNluGIYeffRRJSQkaMWKFdq1a5fq1q2ryMhIXbx4UZLUvXt3lS1bVjt27NCuXbs0fPhwubi43Lb2/NQnSVOmTFF4eLh2796tESNGaODAgXl+T/JT7/Lly/XEE0/o0Ucf1Z49e/T999+rfv36kqTFixerbNmyGjNmjM6ePauzZ8/m2Ee1atVUr169HMH0yy+/VFRUlEwmk86ePavmzZurdu3a2rlzp+Li4nTu3Dl16dLltucFAO4pBgCg0GnevLnRtGlTq7aHHnrIGDZsmHH8+HFDkrFnzx7LtkuXLhmSjHXr1hmGYRjr1q0zJBnfffedpc+ECRMMScYvv/xiaXvxxReNtm3bWu03NDTUyMrKsrQNGzbMCA0NNQzDMH7++WfDZDIZv//+u1VtkZGRxogRIwzDMIy5c+cakoz4+Ph8H29wcLDx7rvv5jjeV155xfL+wQcfNEaNGpWv8bLP0aeffmppO3jwoCHJOHTokGEYhhEVFWW0bt3a6nNDhw41wsLCDMMwjCNHjhiSjK1bt1q2Hzp0yJBkTJ061TAMw/j+++8NHx8f4/r161bjPPDAA8bs2bMNwzAMb29vY968efmq+69uV59hGEb58uWNdu3aWfXp2rWr0b59e6s+d1JvRESE0b179zzr+ut42ebOnWuYzWbL+w8++MCoVKmS5X32uTx48KBhGIbx1ltvGW3atLEa4/Tp04Yk48iRI3nuGwDuNcxsAUAhFR4ebvW+dOnSVrMqdzpGYGCgPDw8VKlSJau2m8ds1KiR5fIwSYqIiNCxY8eUmZmp3bt3yzAMVa1aVV5eXpbXhg0b9Msvv1g+4+rqmqP+vCQnJ+vMmTNq0qSJVXuTJk106NChOzrem/21htKlS0uS5XgPHTqU6z6zj/XQoUNydna2zOpIUvXq1a1W3du1a5dSU1Pl5+dndT6OHz9uOR+DBg3SCy+8oFatWmnixIlW5+lWbldftoiICKs+EREReZ63/NQbHx+vyMjIfNWYl2eeeUYnT57U1q1bJUkLFixQ7dq1FRYWZqlj3bp1VjVUr15dkvJ9fgDgXsACGQBQSN18qZnJZFJWVpZloQnjL/dRZWRk3HYMk8mU55j5lZWVJScnJ+3atUtOTk5W27y8vCx/dnd3twps+XFzf8Mw7niMm918/JIsx5vb+H89p9l/vlUNWVlZKl26tNU9a9myQ9no0aMVFRWl5cuXa+XKlRo1apRiY2P1j3/845a1366+W8mr5vzUWxALXZQuXVotW7bUl19+qUaNGumrr77Siy++aFXHY489pkmTJuX6WQAoLAhbAFDEZK8ud/bsWdWpU0eSrBbLuFvZsxF/fV+lShU5OTmpTp06yszMVGJioh5++OEC2Z+Pj4+Cg4O1adMmNWvWzNK+efNmNWjQoED2kZuwsDBt2rTJqm3z5s2qWrWqnJycFBoaqhs3bmjnzp2WOo4cOaLLly9b+tetW1cJCQlydnZWhQoV8txX1apVVbVqVQ0cOFDdunXT3Llzbxu2bldfttz+vrJniW6Wn3rDw8P1/fff6/nnn891u6urq9XMWl66d++uYcOGqVu3bvrll1/0zDPPWNWxaNEiVahQQc7O/KoCoPDiMkIAKGLc3d3VqFEjTZw4UT/99JM2btyoN998s8DGP336tAYNGqQjR47oq6++0vTp0zVgwABJf4aG7t2767nnntPixYt1/Phx7dixQ5MmTdKKFSts3ufQoUM1adIkLVy4UEeOHNHw4cMVHx9v2a89DB48WN9//73Gjh2ro0eP6rPPPtOMGTMsi29Uq1ZN7dq1U58+fbRt2zbt2rVLL7zwgtXMT6tWrRQREaHHH39cq1at0okTJ7R582a9+eab2rlzp65du6bXXntN69ev18mTJ/Xjjz9qx44dCg0Nvev6sv3444+aPHmyjh49qo8//lj//e9/8zxvt6tX+vN5Zl999ZVGjRqlQ4cOaf/+/Zo8ebJljAoVKmjjxo36/fffb7l64BNPPKHk5GS9/PLLatmypcqUKWPZ9uqrr+rixYvq1q2btm/frl9//VWrV69Wr1698hXkAOBeQdgCgCLo3//+tzIyMlS/fn0NGDBA48aNK7Cxn3vuOV27dk0NGjTQq6++qn79+lk9FHfu3Ll67rnnNHjwYFWrVk2dOnXStm3bFBISYvM++/fvr8GDB2vw4MGqVauW4uLitHTpUlWpUqUgDilXdevW1X/+8x/FxsaqZs2aevvttzVmzBj17NnT0mfu3LkKCQlR8+bN9cQTT1iWTM9mMpm0YsUKNWvWTL169VLVqlX1zDPP6MSJEwoMDJSTk5P++OMPPffcc6pataq6dOmi9u3b65133imQ+qQ/Q9muXbtUp04djR07Vu+//77atm2b65i3q1f6c3n3//73v1q6dKlq166tRx55RNu2bbOMMWbMGJ04cUIPPPDALZ/h5ePjo8cee0x79+5V9+7drbYFBwfrxx9/VGZmptq2bauaNWtqwIABMpvNd/08NgD4O5mM/F7gDQAAipzSpUtr7NixeuGFFxxdCgAUOVwIDQDAfejq1av68ccfde7cOdWoUcPR5QBAkcRcPADA4f66xPfNrx9++OGOxxs/fnye47Vv394OR1Dw2rdvn+cxjB8//q7HnzNnjp555hnFxMTkWB4eAFAwuIwQAOBwP//8c57bypQpc8fLjV+8eFEXL17MdZu7u7vVYgz3qt9//13Xrl3LdZuvr698fX3/5ooAAHeKsAUAAAAAdsBlhAAAAABgB4QtAAAAALADwhYAAAAA2AFhCwAAAADsgLAFAAAAAHZA2AIAAAAAOyBsAQAAAIAd/D9JyJnRTxI3QAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "df = est.evaluated_individuals\n", + "df['mean_squared_error'] = -df['mean_squared_error']\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(5,5))\n", + "sns.scatterplot(df[df['Pareto_Front']!=1], y='mean_squared_error', x='number_of_nodes_objective', label='other', ax=ax)\n", + "sns.scatterplot(df[df['Pareto_Front']==1], y='mean_squared_error', x='number_of_nodes_objective', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of all pipelines')\n", + "#log scale y\n", + "ax.set_yscale('log')\n", + "plt.show()\n", + "\n", + "#replace nans in pareto front with 0\n", + "fig, ax = plt.subplots(figsize=(10,5))\n", + "sns.scatterplot(df[df['Pareto_Front']==1], y='mean_squared_error', x='number_of_nodes_objective', label='Pareto Front', ax=ax)\n", + "ax.title.set_text('Performance of only the Pareto Front')\n", + "#log scale y\n", + "# ax.set_yscale('log')\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tpot_dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tutorial/7_dask_parallelization.ipynb b/Tutorial/7_dask_parallelization.ipynb index 0a68448f..1004245d 100644 --- a/Tutorial/7_dask_parallelization.ipynb +++ b/Tutorial/7_dask_parallelization.ipynb @@ -9,154 +9,14 @@ "\n", "This tutorial covers advanced setups for parallelizing TPOT2 with Dask. If you just want to parallelize TPOT2 within a single computer with multiple processes, set the n_jobs parameter to the number of threads you want to use and skip this tutorial. \n", "\n", - "TPOT2 uses Dask for parallelization and defaults to using a dask.distributed.LocalCluster for local parallelization. A user can pass in a custom Dask client or cluster for advanced usage. For example, a multi-node parallelization is possible using the dask-jobqueue package." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### TPOT2 with Python Scripts\n", + "TPOT2 uses Dask for parallelization and defaults to using a dask.distributed.LocalCluster for local parallelization. A user can pass in a custom Dask client or cluster for advanced usage. For example, a multi-node parallelization is possible using the dask-jobqueue package.\n", "\n", - "When running tpot from an .py script, it is important to protect code with `if __name__==\"__main__\":`\n", - "\n", - "This is due to how parallelization is handled in Python. In short, when Python spawns new processes, each new process reimports code from the relevant .py files, including rerunning code. The context under `if __name__==\"__main__\":` ensures the code under it only executed by the main process and only once. More info [here](https://docs.dask.org/en/stable/scheduling.html#standalone-python-scripts)." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 20%|██ | 1/5 [00:01<00:07, 1.93s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 1\n", - "Best roc_auc_score score: 0.9976190476190476\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 40%|████ | 2/5 [00:04<00:06, 2.12s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 2\n", - "Best roc_auc_score score: 0.9976984126984128\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 60%|██████ | 3/5 [00:09<00:07, 3.80s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 3\n", - "Best roc_auc_score score: 1.0\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 80%|████████ | 4/5 [00:15<00:04, 4.46s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 4\n", - "Best roc_auc_score score: 1.0\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generation: 100%|██████████| 5/5 [00:24<00:00, 4.99s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Generation: 5\n", - "Best roc_auc_score score: 1.0\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "/home/ribeirop/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/linear_model/_sag.py:350: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0\n" - ] - } - ], - "source": [ - "#my_analysis.py\n", "\n", - "from dask.distributed import Client, LocalCluster\n", - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "import numpy as np\n", + "TPOT2 can be easily parallelized on a local computer by setting the n_jobs and memory_limit parameters.\n", "\n", - "if __name__==\"__main__\":\n", - " scorer = sklearn.metrics.get_scorer('roc_auc_ovr')\n", - " X, y = sklearn.datasets.load_iris(return_X_y=True)\n", - " X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, train_size=0.75, test_size=0.25)\n", - " \n", - " graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - " )\n", + "`n_jobs` dictates how many dask workers to launch. In TPOT2 this corresponds to the number of pipelines to evaluate in parallel.\n", "\n", - " est = tpot2.TPOTEstimator(\n", - " scorers = [\"roc_auc_ovr\"],\n", - " scorers_weights = [1],\n", - " classification = True,\n", - " cv = 5,\n", - " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", - " verbose = 3,\n", - " )\n", - " \n", - " \n", - " est.fit(X_train, y_train)\n", - " print(scorer(est, X_test, y_test))" + "`memory_limit` is the amount of RAM to use per worker. " ] }, { @@ -164,13 +24,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Local Machine Parallelization\n", - "\n", - "TPOT2 can be easily parallelized on a local computer by setting the n_jobs and memory_limit parameters.\n", + "### TPOT2 with Python Scripts\n", "\n", - "`n_jobs` dictates how many dask workers to launch. In TPOT2 this corresponds to the number of pipelines to evaluate in parallel.\n", + "When running tpot from an .py script, it is important to protect code with `if __name__==\"__main__\":`\n", "\n", - "`memory_limit` is the amount of RAM to use per worker. " + "This is due to how parallelization is handled in Python. In short, when Python spawns new processes, each new process reimports code from the relevant .py files, including rerunning code. The context under `if __name__==\"__main__\":` ensures the code under it only executed by the main process and only once. More info [here](https://docs.dask.org/en/stable/scheduling.html#standalone-python-scripts)." ] }, { @@ -220,13 +78,11 @@ " scorers = [\"roc_auc_ovr\"],\n", " scorers_weights = [1],\n", " classification = True,\n", - " cv = 5,\n", + " cv = 10,\n", " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", + " max_time_mins = 60,\n", " verbose = 2,\n", - " n_jobs=10,\n", + " n_jobs=16,\n", " memory_limit=\"4GB\"\n", ")\n", "\n", @@ -330,7 +186,7 @@ } ], "source": [ - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", + "graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", @@ -342,11 +198,10 @@ " scorers = [\"roc_auc_ovr\"],\n", " scorers_weights = [1],\n", " classification = True,\n", - " cv = 5,\n", + " cv = 10,\n", " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", + " max_time_mins = 60,\n", + " early_stop=10,\n", " verbose = 2,\n", ")\n", "\n", @@ -413,7 +268,7 @@ " threads_per_worker=1,\n", " memory_limit='4GB',\n", ") as cluster, Client(cluster) as client:\n", - " graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", + " graph_search_space = tpot2.search_spaces.pipelines.GraphSearchPipeline(\n", " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", @@ -427,9 +282,8 @@ " classification = True,\n", " cv = 5,\n", " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", + " max_time_mins = 60,\n", + " early_stop=10,\n", " verbose = 2,\n", " )\n", " est.fit(X_train, y_train)\n", @@ -501,11 +355,10 @@ " scorers = [\"roc_auc\"],\n", " scorers_weights = [1],\n", " classification = True,\n", - " cv = 5,\n", + " cv = 10,\n", " search_space = graph_search_space,\n", - " population_size= 10,\n", - " generations = 5,\n", - " max_eval_time_seconds = 60*5,\n", + " max_time_mins = 60,\n", + " early_stop=10,\n", " verbose = 2,\n", " )\n", " est.fit(X_train, y_train)\n", diff --git a/Tutorial/8_SH_and_cv_early_pruning.ipynb b/Tutorial/8_SH_and_cv_early_pruning.ipynb new file mode 100644 index 00000000..df8cbd0c --- /dev/null +++ b/Tutorial/8_SH_and_cv_early_pruning.ipynb @@ -0,0 +1,1432 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Strategies for reducing computational load\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tutorial covers two strategies for pruning the computational load of TPOT to decrease run time." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Successive Halving\n", + "\n", + "This idea was first tested with TPOT by Parmentier et al. in [\"TPOT-SH: a Faster Optimization Algorithm to Solve the AutoML Problem on Large Datasets\"](https://www.researchgate.net/profile/Laurent-Parmentier-4/publication/339263193_TPOT-SH_A_Faster_Optimization_Algorithm_to_Solve_the_AutoML_Problem_on_Large_Datasets/links/5e5fd8b8a6fdccbeba1c6a56/TPOT-SH-A-Faster-Optimization-Algorithm-to-Solve-the-AutoML-Problem-on-Large-Datasets.pdf). The algorithm operates in two stages. Initially, it trains early generations using a small data subset and a large population size. Later generations then evaluate a smaller set of promising pipelines on larger, or even full, data portions. This approach rapidly identifies top-performing pipeline configurations through initial rough evaluations, followed by more comprehensive assessments. More information on this strategy in Tutorial 8.\n", + "\n", + "In this tutorial, we will cover the following parameters:\n", + "\n", + "`population_size`\n", + "\n", + "`initial_population_size`\n", + "\n", + "`population_scaling`\n", + "\n", + "`generations_until_end_population`\n", + "\n", + "`budget_range`\n", + "\n", + "`generations_until_end_budget`\n", + "\n", + "`budget_scaling`\n", + "\n", + "`stepwise_steps`\n", + "\n", + "Population size is the number of individuals evaluated each generation. Budget refers to the proportion of data to sample. By manipulating these parameters, we can control how quickly the budget increases and how population size changes over time. Most often, this will be used to start the algorithm by evaluating a large number of pipelines on small subsets of the data to quickly narrow now best models, before later getting a better estimate with larger samples on fewer datasets. This can reduce overall computational cost by not spending as much time evaluating poor performing pipelines.\n", + "\n", + "`population_size` determines the number of individuals to evalaute each generation. Sometimes we may want to evaluate more or fewer individuals in the earlier generations. The `initial_population_size` parameter specifies the starting size of the population. The population size will gradually move from `initial_population_size` to `population_size` over the course of `generations_until_end_population` generations. `population_scaling` dictates how fast that scaling takes place. The interpolation over `generations_until_end_population` is done stepwise with the number of steps specified by `stepwise_steps`.\n", + "\n", + "The same process goes for the budget scaling. \n", + "\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following cell illustrates how the population size and budget change over time with the given settings. (Note that tpot happens to converge on this dataset fairly quickly, but we turn off early stop to get the full run. )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import tpot2\n", + "\n", + "population_size=30\n", + "initial_population_size=100\n", + "population_scaling = .5\n", + "generations_until_end_population = 50\n", + "\n", + "budget_range = [.3,1]\n", + "generations_until_end_budget=50\n", + "budget_scaling = .5\n", + "stepwise_steps = 5\n", + "\n", + "#Population and budget use stepwise\n", + "fig, ax1 = plt.subplots()\n", + "ax2 = ax1.twinx()\n", + "\n", + "interpolated_values_population = tpot2.utils.beta_interpolation(start=initial_population_size, end=population_size, n=generations_until_end_population, n_steps=stepwise_steps, scale=population_scaling)\n", + "interpolated_values_budget = tpot2.utils.beta_interpolation(start=budget_range[0], end=budget_range[1], n=generations_until_end_budget, n_steps=stepwise_steps, scale=budget_scaling)\n", + "ax1.step(list(range(len(interpolated_values_population))), interpolated_values_population, label=f\"population size\")\n", + "ax2.step(list(range(len(interpolated_values_budget))), interpolated_values_budget, label=f\"budget\", color='r')\n", + "ax1.set_xlabel(\"generation\")\n", + "ax1.set_ylabel(\"population size\")\n", + "ax2.set_ylabel(\"bugdet\")\n", + "\n", + "ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", + "ax2.legend(loc='center left', bbox_to_anchor=(1.1, 0.3))\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# A Graph pipeline starting with at least one selector as a leaf, potentially followed by a series\n", + "# of stacking classifiers or transformers, and ending with a classifier. The graph will have at most 15 nodes and a max depth of 6.\n", + "\n", + "import tpot2\n", + "import sklearn\n", + "import sklearn.datasets\n", + "import numpy as np\n", + "import time\n", + "import tpot2\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.linear_model import LogisticRegression\n", + "import sklearn\n", + "\n", + "X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, random_state=1)\n", + "scorer = sklearn.metrics.make_scorer(sklearn.metrics.roc_auc_score, needs_proba=True, multi_class='ovr')\n", + "\n", + "\n", + "est = tpot2.TPOTEstimator(\n", + " generations=50,\n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " classification=True,\n", + " search_space = 'linear',\n", + " n_jobs=32,\n", + " cv=10,\n", + " verbose=3,\n", + "\n", + " population_size=population_size,\n", + " initial_population_size=initial_population_size,\n", + " population_scaling = population_scaling,\n", + " generations_until_end_population = generations_until_end_population,\n", + " \n", + " budget_range = budget_range,\n", + " generations_until_end_budget=generations_until_end_budget,\n", + " )\n", + "\n", + "\n", + "\n", + "start = time.time()\n", + "est.fit(X_train, y_train)\n", + "print(f\"total time: {time.time()-start}\")\n", + "\n", + "print(\"test score: \", scorer(est, X_test, y_test))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## CV early pruning\n", + "\n", + "Most often, we will be evaluating pipelines using cross validation. However, we can often tell within the first few folds whether or not the pipeline is going have a reasonable change of outperforming the previous best pipelines. For example, if the best score so far is .92 AUROC and the average score of the first five folds of our current pipeline is only around .61, we can be reasonably confident that the next five folds are unlikely to this pipeline ahead of the others. We can save a significant amount of compute by not computing the rest of the folds. There are two strategies that TPOT can use to accomplish this (More information on these strategies in Tutorial 8).\n", + " 1. Threshold Pruning: Pipelines must achieve a score above a predefined percentile threshold (based on previous pipeline scores) to proceed in each cross-validation (CV) fold.\n", + " 2. Selection Pruning: Within each population, only the top N% of pipelines (ranked by performance in the previous CV fold) are selected to evaluate in the next fold.\"\n", + "\n", + "\n", + "We can further reduce computational load by terminating the evaluation of individual pipelines early if the first few CV scores are not promising. Note that this is different than early stopping of the full algorithm. In this section we will cover:\n", + "\n", + "`threshold_evaluation_pruning`\n", + "\n", + "`threshold_evaluation_scaling`\n", + "\n", + "`min_history_threshold`\n", + "\n", + "`selection_evaluation_pruning`\n", + "\n", + "`selection_evaluation_scaling`\n", + "\n", + "Threshold early stopping uses previous scores to identify and terminate the cross validation evaluation of poorly performing pipelines. We calculate the percentile scores from the previously evaluated pipelines. A pipeline must reach the given percentile each fold for the next to be evaluated, otherwise the pipeline is discarded.\n", + "\n", + "The `threshold_evaluation_pruning` parameter is a list that specifies the starting and ending percentiles to use as a threshold for the evaluation early stopping. W The `threshold_evaluation_scaling` parameter is a float that controls the rate at which the threshold moves from the start to end percentile. The `min_history_threshold` parameter specifies the minimum number of previous scores needed before using threshold early stopping. This ensures that the algorithm has enough historical data to make an informed decision about when to stop evaluating pipelines.\n", + "\n", + "Selection early stopping uses a selection algorithm after each fold to select which algorithms will be evaluated for the next fold. For example, after evaluating 100 individuals on fold 1, we may want to only evaluate the best 50 for the remaining folds.\n", + "\n", + "The `selection_evaluation_pruning` parameter is a list that specifies the lower and upper percentage of the population size to select each round of CV. This is used to determine which individuals to evaluate in the next generation. The `selection_evaluation_scaling` parameter is a float that controls the rate at which the selection threshold moves from the start to end percentile.\n", + "\n", + "By manipulating these parameters, we can control how the algorithm selects individuals to evaluate in the next generation and when to stop evaluating pipelines that are not performing well.\n", + "\n", + "In practice, the values of these parameters will depend on the specific problem and the available computational resources. \n", + "\n", + "In the following sections, we will show you how to set and manipulate these parameters using Python code in a Jupyter Notebook. We will also provide examples of how these parameters can affect the performance of the algorithm.\n", + "\n", + "(Note that in these small test cases, you may not notice much or any performance improvements, these are more likely to be more beneficial in real world scenarios with larger datasets and slower evaluating pipelines.)\n", + "\n", + "**Considerations:**\n", + "It is important to be aware of how CV pruning interacts with the evolutionary algorithm. When pipelines are pruned with one of these methods, they are removed from the live population and thus are no longer used to inform the TPOT algorithm. If too many pipelines are pruned, this could reduce the diversity of pipelines per generation, and limit TPOT's ability to learn. Additionally, the pruning methods may interact with how long it takes TPOT to run. If the pruning algorithm removes the slightly less performant but faster running pipelines, TPOT will most likely fill the next generation with only slower running pipelines, thus technically increasing the total runtime. This may be acceptable since more compute is dedicated to the higher performing pipelines." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import tpot2\n", + "import time\n", + "import sklearn\n", + "import sklearn.datasets\n", + "\n", + "threshold_evaluation_pruning = [30, 90]\n", + "threshold_evaluation_scaling = .2 #.5\n", + "cv = 10\n", + "\n", + "#Population and budget use stepwise\n", + "fig, ax1 = plt.subplots()\n", + "\n", + "interpolated_values = tpot2.utils.beta_interpolation(start=threshold_evaluation_pruning[0], end=threshold_evaluation_pruning[-1], n=cv, n_steps=cv, scale=threshold_evaluation_scaling)\n", + "ax1.step(list(range(len(interpolated_values))), interpolated_values, label=f\"threshold\")\n", + "ax1.set_xlabel(\"fold\")\n", + "ax1.set_ylabel(\"percentile\")\n", + "#ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import tpot2\n", + "from tpot2.search_spaces.pipelines import *\n", + "from tpot2.search_spaces.nodes import *\n", + "from tpot2.config.get_configspace import get_search_space\n", + "import sklearn.model_selection\n", + "import sklearn\n", + "\n", + "\n", + "selectors = get_search_space([\"selectors\",\"selectors_classification\", \"Passthrough\"], random_state=42,)\n", + "estimators = get_search_space(['XGBClassifier'],random_state=42,)\n", + "\n", + "scalers = get_search_space([\"scalers\",\"Passthrough\"],random_state=42,)\n", + "\n", + "transformers_layer =UnionPipeline([\n", + " ChoicePipeline([\n", + " DynamicUnionPipeline(get_search_space([\"transformers\"], random_state=42,)),\n", + " get_search_space(\"SkipTransformer\"),\n", + " ]),\n", + " get_search_space(\"Passthrough\")\n", + " ]\n", + " )\n", + " \n", + "search_space = SequentialPipeline(search_spaces=[\n", + " scalers,\n", + " selectors, \n", + " transformers_layer,\n", + " estimators,\n", + " ])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ribeirop/common/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/metrics/_scorer.py:548: FutureWarning: The `needs_threshold` and `needs_proba` parameter are deprecated in version 1.4 and will be removed in 1.6. You can either let `response_method` be `None` or set it to `predict` to preserve the same behaviour.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import tpot2\n", + "import time\n", + "import sklearn\n", + "import sklearn.datasets\n", + "\n", + "scorer = sklearn.metrics.make_scorer(sklearn.metrics.roc_auc_score, needs_proba=True, multi_class='ovr')\n", + "\n", + "X, y = sklearn.datasets.make_classification(n_samples=5000, n_features=20, n_classes=5, random_state=1, n_informative=15, n_redundant=5, n_repeated=0, n_clusters_per_class=3, class_sep=.8)\n", + "X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, random_state=1)\n", + "\n", + "# search_space = tpot2.config.template_search_spaces.get_template_search_spaces(\"linear\",inner_predictors=False, random_state=42)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 10%|█ | 1/10 [03:02<27:26, 182.98s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 1\n", + "Best roc_auc_score score: 0.915278983783422\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 20%|██ | 2/10 [06:11<24:51, 186.47s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 2\n", + "Best roc_auc_score score: 0.9253965903409787\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 30%|███ | 3/10 [10:33<25:46, 220.92s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 3\n", + "Best roc_auc_score score: 0.9340480147661712\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 40%|████ | 4/10 [15:07<24:10, 241.71s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 4\n", + "Best roc_auc_score score: 0.9340480147661712\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 50%|█████ | 5/10 [21:46<24:52, 298.58s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 5\n", + "Best roc_auc_score score: 0.9340480147661712\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 60%|██████ | 6/10 [25:45<18:32, 278.19s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 6\n", + "Best roc_auc_score score: 0.9340480147661712\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 70%|███████ | 7/10 [29:00<12:32, 250.97s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 7\n", + "Best roc_auc_score score: 0.9340480147661712\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 80%|████████ | 8/10 [34:14<09:02, 271.09s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 8\n", + "Best roc_auc_score score: 0.9349103682633716\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 90%|█████████ | 9/10 [37:44<04:12, 252.09s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 9\n", + "Best roc_auc_score score: 0.9372520424560744\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 10/10 [43:09<00:00, 258.96s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 10\n", + "Best roc_auc_score score: 0.9398288783489072\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total time: 2602.0502972602844\n", + "test score: 0.9426160568071598\n" + ] + } + ], + "source": [ + "# no pruning\n", + "est = tpot2.TPOTEstimator( \n", + " generations=10,\n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " classification=True,\n", + " search_space = search_space,\n", + " population_size=100,\n", + " n_jobs=32,\n", + " cv=cv,\n", + " verbose=3,\n", + " random_state=42,\n", + " )\n", + "\n", + "\n", + "start = time.time()\n", + "est.fit(X_train, y_train)\n", + "print(f\"total time: {time.time()-start}\")\n", + "print(\"test score: \", scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 10%|█ | 1/10 [03:37<32:37, 217.51s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 1\n", + "Best roc_auc_score score: 0.915278983783422\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 20%|██ | 2/10 [05:38<21:26, 160.86s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 2\n", + "Best roc_auc_score score: 0.915278983783422\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 30%|███ | 3/10 [08:28<19:14, 164.99s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 3\n", + "Best roc_auc_score score: 0.9212056169353746\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 40%|████ | 4/10 [10:14<14:09, 141.53s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 4\n", + "Best roc_auc_score score: 0.9212056169353746\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 50%|█████ | 5/10 [13:23<13:13, 158.71s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 5\n", + "Best roc_auc_score score: 0.9212056169353746\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 60%|██████ | 6/10 [16:59<11:52, 178.22s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 6\n", + "Best roc_auc_score score: 0.9212056169353746\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 70%|███████ | 7/10 [19:54<08:51, 177.14s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 7\n", + "Best roc_auc_score score: 0.9212056169353746\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 80%|████████ | 8/10 [23:15<06:09, 184.68s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 8\n", + "Best roc_auc_score score: 0.9277731650225494\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 90%|█████████ | 9/10 [26:06<03:00, 180.55s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 9\n", + "Best roc_auc_score score: 0.930278306286007\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 10/10 [28:29<00:00, 170.96s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 10\n", + "Best roc_auc_score score: 0.9336783524637781\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "/home/ribeirop/common/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:595: UserWarning: n_components is too large: it will be set to 16\n", + " warnings.warn(\n", + "/home/ribeirop/common/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:128: ConvergenceWarning: FastICA did not converge. Consider increasing tolerance or the maximum number of iterations.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total time: 1717.3964531421661\n", + "test score: 0.9449535389019192\n" + ] + } + ], + "source": [ + "import tpot2.config\n", + "import tpot2.config.template_search_spaces\n", + "import tpot2.search_spaces\n", + "\n", + "\n", + "\n", + "# search_space = tpot2.config.get_search_space([\"RandomForestClassifier\"])\n", + "\n", + "est = tpot2.TPOTEstimator( \n", + " generations=10,\n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " classification=True,\n", + " search_space = search_space,\n", + " population_size=100,\n", + " n_jobs=32,\n", + " cv=cv,\n", + " verbose=3,\n", + " random_state=42,\n", + "\n", + " threshold_evaluation_pruning = threshold_evaluation_pruning,\n", + " threshold_evaluation_scaling = threshold_evaluation_scaling,\n", + " )\n", + "\n", + "\n", + "start = time.time()\n", + "est.fit(X_train, y_train)\n", + "print(f\"total time: {time.time()-start}\")\n", + "print(\"test score: \", scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtSUlEQVR4nO3df1hUdaLH8c8wMfxoAS0EFEnUbIv8gUEQaveppLhrt9XqdrXccMnssfyVs6WwKqxmUnbjoU3TcnXtx+3mdWu3nmpBm35smYlpbJmmq5mYCfgjGQUFnZn7R7fZywMaBwcOHN6v55nniS/nzHzGqebj93zPOTafz+cTAACARQSZHQAAACCQKDcAAMBSKDcAAMBSKDcAAMBSKDcAAMBSKDcAAMBSKDcAAMBSLjA7QHvzer367rvvFBERIZvNZnYcAADQAj6fT8ePH1evXr0UFHTuuZkuV26+++47JSQkmB0DAAC0wv79+9W7d+9zbtPlyk1ERISkH/5wIiMjTU4DAABawu12KyEhwf89fi5drtz8eCgqMjKScgMAQCfTkiUlLCgGAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWYnq5Wbp0qRITExUaGqr09HSVlZWdddvTp09rwYIF6t+/v0JDQzVkyBCVlJS0Y1oAANDRmVpu1qxZI6fTqYKCAm3dulVDhgxRVlaWqqurm91+7ty5evbZZ/X0009r+/btmjx5sm699VZ99tln7ZwcAAB0VDafz+cz68XT09N19dVXa8mSJZIkr9erhIQETZs2Tbm5uU2279Wrl+bMmaMpU6b4x26//XaFhYXppZdeatFrut1uRUVFqaamJqA3zvT5fDp52iNJCgu2t+jGXgAAoGWMfH+bNnPT0NCgLVu2KDMz859hgoKUmZmpjRs3NrtPfX29QkNDG42FhYXpo48+Ouvr1NfXy+12N3q0hZOnPUrKL1VSfqm/5AAAgPZnWrk5fPiwPB6PYmNjG43HxsaqsrKy2X2ysrJUVFSkf/zjH/J6vVq/fr1ee+01HTx48KyvU1hYqKioKP8jISEhoO8DAAB0LKYvKDbiqaee0oABA3T55ZfL4XBo6tSpysnJUVDQ2d9GXl6eampq/I/9+/e3Y2IAANDeTCs30dHRstvtqqqqajReVVWluLi4Zvfp0aOH/vKXv6i2tlb79u3TV199pZ/97Gfq16/fWV8nJCREkZGRjR4AAMC6TCs3DodDKSkpcrlc/jGv1yuXy6WMjIxz7hsaGqr4+HidOXNGr776qkaPHt3WcQEAQCdxgZkv7nQ6NWHCBKWmpiotLU3FxcWqra1VTk6OJCk7O1vx8fEqLCyUJG3atEkHDhxQcnKyDhw4oN/97nfyer2aNWuWmW8DAAB0IKaWm7Fjx+rQoUPKz89XZWWlkpOTVVJS4l9kXFFR0Wg9zalTpzR37lx9/fXX+tnPfqZRo0bpxRdfVLdu3Ux6BwAAoKMx9To3Zmir69zUNZxRUn6pJGn7giyFO0ztjQAAWEqnuM4NAABAW6DcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAAS6HcAAAASzG93CxdulSJiYkKDQ1Venq6ysrKzrl9cXGxfv7znyssLEwJCQmaOXOmTp061U5pAQBAR2dquVmzZo2cTqcKCgq0detWDRkyRFlZWaqurm52+5dfflm5ubkqKCjQjh07tHLlSq1Zs0a//e1v2zk5AADoqEwtN0VFRZo0aZJycnKUlJSk5cuXKzw8XKtWrWp2+48//ljDhw/XXXfdpcTERN1000268847f3K2BwAAdB2mlZuGhgZt2bJFmZmZ/wwTFKTMzExt3Lix2X2GDRumLVu2+MvM119/rbffflujRo066+vU19fL7XY3egAAAOu6wKwXPnz4sDwej2JjYxuNx8bG6quvvmp2n7vuukuHDx/WiBEj5PP5dObMGU2ePPmch6UKCws1f/78gGYHAAAdl+kLio14//33tWjRIj3zzDPaunWrXnvtNb311lt65JFHzrpPXl6eampq/I/9+/e3Y2IAANDeTJu5iY6Olt1uV1VVVaPxqqoqxcXFNbvPvHnzdPfdd+vee++VJA0aNEi1tbW67777NGfOHAUFNe1qISEhCgkJCfwbAAAAHZJpMzcOh0MpKSlyuVz+Ma/XK5fLpYyMjGb3qaura1Jg7Ha7JMnn87VdWAAA0GmYNnMjSU6nUxMmTFBqaqrS0tJUXFys2tpa5eTkSJKys7MVHx+vwsJCSdItt9yioqIiDR06VOnp6dq9e7fmzZunW265xV9yAABA12ZquRk7dqwOHTqk/Px8VVZWKjk5WSUlJf5FxhUVFY1maubOnSubzaa5c+fqwIED6tGjh2655RY9+uijZr0FAADQwdh8Xex4jtvtVlRUlGpqahQZGRmw561rOKOk/FJJ0vYFWQp3mNobAQCwFCPf353qbCkAAICfQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACWQrkBAACW0iHKzdKlS5WYmKjQ0FClp6errKzsrNted911stlsTR4333xzOyYGAAAdlenlZs2aNXI6nSooKNDWrVs1ZMgQZWVlqbq6utntX3vtNR08eND/2LZtm+x2u+644452Tg4AADoi08tNUVGRJk2apJycHCUlJWn58uUKDw/XqlWrmt3+oosuUlxcnP+xfv16hYeHU24AAICkVpSbG264QceOHWsy7na7dcMNNxh6roaGBm3ZskWZmZn/DBQUpMzMTG3cuLFFz7Fy5UqNGzdOF154YbO/r6+vl9vtbvQAAADWZbjcvP/++2poaGgyfurUKX344YeGnuvw4cPyeDyKjY1tNB4bG6vKysqf3L+srEzbtm3Tvffee9ZtCgsLFRUV5X8kJCQYyggAADqXC1q64eeff+7/5+3btzcqHx6PRyUlJYqPjw9sup+w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yy/r9ddfV0REhCorKyVJUVFRCgsLMzld1xMREdFkvdOFF16oiy++mHVQJpg5c6aGDRumRYsW6T/+4z9UVlam5557Ts8995zZ0bqkW265RY8++qguueQSXXnllfrss89UVFSke+65x+xonRqnggfIkiVL9MQTT6iyslLJycn6/e9/r/T0dLNjdUk2m63Z8T/+8Y/69a9/3b5h0KzrrruOU8FN9OabbyovL0//+Mc/1LdvXzmdTk2aNMnsWF3S8ePHNW/ePP35z39WdXW1evXqpTvvvFP5+flyOBxmx+u0KDcAAMBSWHMDAAAshXIDAAAshXIDAAAshXIDAAAshXIDAAAshXIDAAAshXIDAAAshXIDAAAshXIDoMPz+Xy67777dNFFF8lms6m8vPyc27///vuy2Ww6duzYWbdZvXq1unXrFtCcADoG7i0FoMMrKSnR6tWr9f7776tfv36Kjo42OxKADoxyA6DD27Nnj3r27Klhw4aZHQVAJ8BhKQAd2q9//WtNmzZNFRUVstlsSkxMVH19vaZPn66YmBiFhoZqxIgR2rx58zmfZ/Xq1brkkksUHh6uW2+9VUeOHGmndwCgvVFuAHRoTz31lBYsWKDevXvr4MGD2rx5s2bNmqVXX31Vzz//vLZu3apLL71UWVlZOnr0aLPPsWnTJk2cOFFTp05VeXm5rr/+ei1cuLCd3wmA9kK5AdChRUVFKSIiQna7XXFxcQoPD9eyZcv0xBNP6Be/+IWSkpK0YsUKhYWFaeXKlc0+x1NPPaV//dd/1axZs3TZZZdp+vTpysrKaud3AqC9UG4AdCp79uzR6dOnNXz4cP9YcHCw0tLStGPHjmb32bFjh9LT0xuNZWRktGlOAOah3AAAAEuh3ADoVPr37y+Hw6ENGzb4x06fPq3NmzcrKSmp2X2uuOIKbdq0qdHYJ5980qY5AZiHU8EBdCoXXnih7r//fj388MO66KKLdMkll2jx4sWqq6vTxIkTm91n+vTpGj58uP7zP/9To0ePVmlpqUpKSto5OYD2wswNgE7nscce0+233667775bV111lXbv3q3S0lJ179692e2vueYarVixQk899ZSGDBmidevWae7cue2cGkB7sfl8Pp/ZIQAAAAKFmRsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAplBsAAGAp/wuh8aB6nPEr0QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import tpot2\n", + "\n", + "selection_evaluation_pruning = [.9, .3]\n", + "selection_evaluation_scaling = .2\n", + "\n", + "#Population and budget use stepwise\n", + "fig, ax1 = plt.subplots()\n", + "\n", + "interpolated_values = tpot2.utils.beta_interpolation(start=selection_evaluation_pruning[0], end=selection_evaluation_pruning[-1], n=cv, n_steps=cv, scale=selection_evaluation_scaling)\n", + "ax1.step(list(range(len(interpolated_values))), interpolated_values, label=f\"threshold\")\n", + "ax1.set_xlabel(\"fold\")\n", + "ax1.set_ylabel(\"percent to select\")\n", + "#ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 10%|█ | 1/10 [03:28<31:13, 208.18s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 1\n", + "Best roc_auc_score score: 0.915278983783422\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 20%|██ | 2/10 [05:29<20:54, 156.85s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 2\n", + "Best roc_auc_score score: 0.9169454884359916\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 30%|███ | 3/10 [08:32<19:42, 168.98s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 3\n", + "Best roc_auc_score score: 0.9176524001433647\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 40%|████ | 4/10 [11:08<16:22, 163.77s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 4\n", + "Best roc_auc_score score: 0.9176524001433647\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 50%|█████ | 5/10 [15:05<15:51, 190.38s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 5\n", + "Best roc_auc_score score: 0.9176524001433647\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 60%|██████ | 6/10 [18:02<12:23, 185.84s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 6\n", + "Best roc_auc_score score: 0.9206270411396777\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 70%|███████ | 7/10 [21:12<09:20, 186.94s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 7\n", + "Best roc_auc_score score: 0.9224227652034017\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 80%|████████ | 8/10 [23:53<05:57, 178.80s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 8\n", + "Best roc_auc_score score: 0.9224227652034017\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 90%|█████████ | 9/10 [26:37<02:54, 174.24s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 9\n", + "Best roc_auc_score score: 0.9224227652034017\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generation: 100%|██████████| 10/10 [29:21<00:00, 176.14s/it]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generation: 10\n", + "Best roc_auc_score score: 0.9224227652034017\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "/home/ribeirop/common/miniconda3/envs/tpot2env/lib/python3.10/site-packages/sklearn/decomposition/_fastica.py:595: UserWarning: n_components is too large: it will be set to 20\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total time: 1777.245548248291\n", + "test score: 0.9253163988063096\n" + ] + } + ], + "source": [ + "est = tpot2.TPOTEstimator( \n", + " generations=10,\n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " classification=True,\n", + " search_space = search_space,\n", + " population_size=100,\n", + " n_jobs=32,\n", + " cv=cv,\n", + " verbose=3,\n", + " random_state=42,\n", + "\n", + " selection_evaluation_pruning = selection_evaluation_pruning,\n", + " selection_evaluation_scaling = selection_evaluation_scaling,\n", + " )\n", + "\n", + "\n", + "start = time.time()\n", + "est.fit(X_train, y_train)\n", + "print(f\"total time: {time.time()-start}\")\n", + "print(\"test score: \", scorer(est, X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
roc_auc_scoreParentsVariation_FunctionIndividualGenerationroc_auc_score_step_0Submitted TimestampCompleted TimestampEval Errorroc_auc_score_step_1roc_auc_score_step_2roc_auc_score_step_3roc_auc_score_step_4roc_auc_score_step_5roc_auc_score_step_6roc_auc_score_step_7roc_auc_score_step_8roc_auc_score_step_9Pareto_FrontInstance
10.848068NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.00.8464781.727821e+091.727821e+09None0.8398940.8446190.8483210.8469150.8579020.8558750.8276550.8509380.862081NaN(Passthrough(), RFE(estimator=ExtraTreesClassi...
40.831502NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.00.8172191.727822e+091.727822e+09None0.8278880.8219110.8255580.8300200.8315290.8369550.8446340.8324990.846805NaN(StandardScaler(), VarianceThreshold(threshold...
50.830374NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.00.8171501.727822e+091.727822e+09None0.8318850.8206940.8248990.8244090.8278610.8339230.8443080.8327980.845818NaN(MinMaxScaler(), SelectFromModel(estimator=Ext...
60.850091NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.00.8435241.727821e+091.727821e+09None0.8411760.8406190.8462090.8495610.8543670.8580350.8601650.8451790.862077NaN(Normalizer(norm='max'), SelectFwe(alpha=0.000...
90.855569NaNNaN<tpot2.search_spaces.pipelines.sequential.Sequ...0.00.8478281.727821e+091.727821e+09None0.8469770.8499370.8532010.8574010.8591190.8577830.8633000.8515260.868619NaN(Normalizer(norm='l1'), Passthrough(), Feature...
...............................................................
9900.821990(742, 742)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...9.00.8134081.727823e+091.727823e+09None0.8150700.8302300.8233770.8231190.8316680.8273580.8172930.8142070.824168NaN(MinMaxScaler(), SelectPercentile(percentile=5...
9910.899339(100, 100)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...9.00.8932471.727823e+091.727823e+09None0.9032680.8943180.8909920.9029560.9029850.8980200.9041240.8981410.905341NaN(Normalizer(norm='l1'), SelectFwe(alpha=0.0034...
9920.870868(179, 14)ind_crossover<tpot2.search_spaces.pipelines.sequential.Sequ...9.00.8712261.727823e+091.727823e+09None0.8547420.8651970.8724270.8693120.8807440.8722650.8775240.8663650.878881NaN(Normalizer(norm='l1'), SelectFromModel(estima...
9940.815212(362, 362)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...9.00.8308021.727823e+091.727823e+09None0.8075730.8171240.8001610.8196110.8188110.8330610.8036790.7940940.827200NaN(Normalizer(norm='l1'), SelectPercentile(perce...
9950.865588(670, 670)ind_mutate<tpot2.search_spaces.pipelines.sequential.Sequ...9.00.8679001.727823e+091.727823e+09None0.8708240.8760600.8714680.8538270.8640800.8677490.8535530.8496200.880796NaN(Normalizer(), SelectPercentile(percentile=71....
\n", + "

324 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " roc_auc_score Parents Variation_Function \\\n", + "1 0.848068 NaN NaN \n", + "4 0.831502 NaN NaN \n", + "5 0.830374 NaN NaN \n", + "6 0.850091 NaN NaN \n", + "9 0.855569 NaN NaN \n", + ".. ... ... ... \n", + "990 0.821990 (742, 742) ind_mutate \n", + "991 0.899339 (100, 100) ind_mutate \n", + "992 0.870868 (179, 14) ind_crossover \n", + "994 0.815212 (362, 362) ind_mutate \n", + "995 0.865588 (670, 670) ind_mutate \n", + "\n", + " Individual Generation \\\n", + "1 0]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All of the above methods can be used independently or simultaneously as done below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "est = tpot2.TPOTEstimator( \n", + " generations=10,\n", + " max_time_mins=None,\n", + " scorers=['roc_auc_ovr'],\n", + " scorers_weights=[1],\n", + " classification=True,\n", + " search_space = search_space,\n", + " population_size=30,\n", + " n_jobs=3,\n", + " cv=cv,\n", + " verbose=3,\n", + "\n", + " population_size=population_size,\n", + " initial_population_size=initial_population_size,\n", + " population_scaling = population_scaling,\n", + " generations_until_end_population = generations_until_end_population,\n", + " \n", + " budget_range = budget_range,\n", + " generations_until_end_budget=generations_until_end_budget,\n", + " \n", + " threshold_evaluation_pruning = threshold_evaluation_pruning,\n", + " threshold_evaluation_scaling = threshold_evaluation_scaling,\n", + "\n", + " selection_evaluation_pruning = selection_evaluation_pruning,\n", + " selection_evaluation_scaling = selection_evaluation_scaling,\n", + " )\n", + "\n", + "\n", + "start = time.time()\n", + "est.fit(X_train, y_train)\n", + "print(f\"total time: {time.time()-start}\")\n", + "print(\"test score: \", scorer(est, X_test, y_test))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tpot_dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Tutorial/8_SH_and_early_termination.ipynb b/Tutorial/8_SH_and_early_termination.ipynb deleted file mode 100644 index 26f08e49..00000000 --- a/Tutorial/8_SH_and_early_termination.ipynb +++ /dev/null @@ -1,365 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Welcome to this Jupyter Notebook tutorial parameters relating to computational resources. In this tutorial, we will cover the following parameters:\n", - "\n", - "`population_size`\n", - "\n", - "`initial_population_size`\n", - "\n", - "`population_scaling`\n", - "\n", - "`generations_until_end_population`\n", - "\n", - "`budget_range`\n", - "\n", - "`generations_until_end_budget`\n", - "\n", - "`budget_scaling`\n", - "\n", - "`stepwise_steps`\n", - "\n", - "Population size is the number of individuals evaluated each generation. Budget refers to the proportion of data to sample. By manipulating these parameters, we can control how quickly the budget increases and how population size changes over time. Most often, this will be used to start the algorithm by evaluating a large number of pipelines on small subsets of the data to quickly narrow now best models, before later getting a better estimate with larger samples on fewer datasets. This can reduce overall computational cost by not spending as much time evaluating poor performing pipelines.\n", - "\n", - "`population_size` determines the number of individuals to evalaute each generation. Sometimes we may want to evaluate more or fewer individuals in the earlier generations. The `initial_population_size` parameter specifies the starting size of the population. The population size will gradually move from `initial_population_size` to `population_size` over the course of `generations_until_end_population` generations. `population_scaling` dictates how fast that scaling takes place. The interpolation over `generations_until_end_population` is done stepwise with the number of steps specified by `stepwise_steps`.\n", - "\n", - "The same process goes for the budget scaling. \n", - "\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The following cell illustrates how the population size and budget change over time with the given settings." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import tpot2\n", - "\n", - "population_size=60\n", - "initial_population_size=100\n", - "population_scaling = .5\n", - "generations_until_end_population = 50\n", - "\n", - "budget_range = [.3,1]\n", - "generations_until_end_budget=50\n", - "budget_scaling = .5\n", - "stepwise_steps = 5\n", - "\n", - "#Population and budget use stepwise\n", - "fig, ax1 = plt.subplots()\n", - "ax2 = ax1.twinx()\n", - "\n", - "interpolated_values_population = tpot2.utils.beta_interpolation(start=initial_population_size, end=population_size, n=generations_until_end_population, n_steps=stepwise_steps, scale=population_scaling)\n", - "interpolated_values_budget = tpot2.utils.beta_interpolation(start=budget_range[0], end=budget_range[1], n=generations_until_end_budget, n_steps=stepwise_steps, scale=budget_scaling)\n", - "ax1.step(list(range(len(interpolated_values_population))), interpolated_values_population, label=f\"population size\")\n", - "ax2.step(list(range(len(interpolated_values_budget))), interpolated_values_budget, label=f\"budget\", color='r')\n", - "ax1.set_xlabel(\"generation\")\n", - "ax1.set_ylabel(\"population size\")\n", - "ax2.set_ylabel(\"bugdet\")\n", - "\n", - "ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", - "ax2.legend(loc='center left', bbox_to_anchor=(1.1, 0.3))\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# A Graph pipeline starting with at least one selector as a leaf, potentially followed by a series\n", - "# of stacking classifiers or transformers, and ending with a classifier. The graph will have at most 15 nodes and a max depth of 6.\n", - "\n", - "import tpot2\n", - "import sklearn\n", - "import sklearn.datasets\n", - "import numpy as np\n", - "import time\n", - "import tpot2\n", - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.linear_model import LogisticRegression\n", - "import sklearn\n", - "\n", - "X, y = sklearn.datasets.load_iris(return_X_y=True)\n", - "\n", - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - " )\n", - "\n", - "est = tpot2.TPOTEstimator(\n", - " scorers = [\"roc_auc_ovr\"],\n", - " scorers_weights = [1],\n", - " classification = True,\n", - " cv = 5,\n", - " search_space = graph_search_space,\n", - " generations = 50,\n", - " max_eval_time_seconds = 60*5,\n", - " verbose = 3,\n", - "\n", - "\n", - " population_size=population_size,\n", - " initial_population_size=initial_population_size,\n", - " population_scaling = population_scaling,\n", - " generations_until_end_population = generations_until_end_population,\n", - " \n", - " budget_range = budget_range,\n", - " generations_until_end_budget=generations_until_end_budget,\n", - " n_jobs=30,\n", - " )\n", - "\n", - "\n", - "\n", - "start = time.time()\n", - "est.fit(X, y)\n", - "print(f\"total time: {time.time()-start}\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Tutorial on early termination of evaluating CV scores.\n", - "\n", - "We can further reduce computational load by terminating the evaluation of individual pipelines early if the first few CV scores are not promising. Note that this is different than early stopping of the full algorithm. In this section we will cover:\n", - "\n", - "`threshold_evaluation_early_stop`\n", - "\n", - "`threshold_evaluation_scaling`\n", - "\n", - "`min_history_threshold`\n", - "\n", - "`selection_evaluation_early_stop`\n", - "\n", - "`selection_evaluation_scaling`\n", - "\n", - "Threshold early stopping uses previous scores to identify and terminate the cross validation evaluation of poorly performing pipelines. We calculate the percentile scores from the previously evaluated pipelines. A pipeline must reach the given percentile each fold for the next to be evaluated, otherwise the pipeline is discarded.\n", - "\n", - "The `threshold_evaluation_early_stop` parameter is a list that specifies the starting and ending percentiles to use as a threshold for the evaluation early stopping. W The `threshold_evaluation_scaling` parameter is a float that controls the rate at which the threshold moves from the start to end percentile. The `min_history_threshold` parameter specifies the minimum number of previous scores needed before using threshold early stopping. This ensures that the algorithm has enough historical data to make an informed decision about when to stop evaluating pipelines.\n", - "\n", - "Selection early stopping uses a selection algorithm after each fold to select which algorithms will be evaluated for the next fold. For example, after evaluating 100 individuals on fold 1, we may want to only evaluate the best 50 for the remaining folds.\n", - "\n", - "The `selection_evaluation_early_stop` parameter is a list that specifies the lower and upper percentage of the population size to select each round of CV. This is used to determine which individuals to evaluate in the next generation. The `selection_evaluation_scaling` parameter is a float that controls the rate at which the selection threshold moves from the start to end percentile.\n", - "\n", - "By manipulating these parameters, we can control how the algorithm selects individuals to evaluate in the next generation and when to stop evaluating pipelines that are not performing well.\n", - "\n", - "In practice, the values of these parameters will depend on the specific problem and the available computational resources. \n", - "\n", - "In the following sections, we will show you how to set and manipulate these parameters using Python code in a Jupyter Notebook. We will also provide examples of how these parameters can affect the performance of the algorithm." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import tpot2\n", - "\n", - "threshold_evaluation_early_stop = [30, 90]\n", - "threshold_evaluation_scaling = .5\n", - "cv = 5\n", - "\n", - "#Population and budget use stepwise\n", - "fig, ax1 = plt.subplots()\n", - "\n", - "interpolated_values = tpot2.utils.beta_interpolation(start=threshold_evaluation_early_stop[0], end=threshold_evaluation_early_stop[-1], n=cv, n_steps=cv, scale=threshold_evaluation_scaling)\n", - "ax1.step(list(range(len(interpolated_values))), interpolated_values, label=f\"threshold\")\n", - "ax1.set_xlabel(\"fold\")\n", - "ax1.set_ylabel(\"percentile\")\n", - "#ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "graph_search_space = tpot2.search_spaces.pipelines.GraphPipeline(\n", - " root_search_space= tpot2.config.get_search_space([\"KNeighborsClassifier\", \"LogisticRegression\", \"DecisionTreeClassifier\"]),\n", - " leaf_search_space = tpot2.config.get_search_space(\"selectors\"), \n", - " inner_search_space = tpot2.config.get_search_space([\"transformers\"]),\n", - " max_size = 10,\n", - " )\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator( \n", - " generations=5,\n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " classification=True,\n", - " search_space = graph_search_space,\n", - " n_jobs=32,\n", - " cv=cv,\n", - " \n", - " # budget_range = [.3,1],\n", - " # generations_until_end_budget=4,\n", - "\n", - " threshold_evaluation_early_stop = threshold_evaluation_early_stop,\n", - " threshold_evaluation_scaling = threshold_evaluation_scaling,\n", - " verbose=0)\n", - "\n", - "\n", - "start = time.time()\n", - "est.fit(X, y)\n", - "print(f\"total time: {time.time()-start}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import tpot2\n", - "\n", - "selection_evaluation_early_stop = [.1, 1]\n", - "selection_evaluation_scaling = .5\n", - "cv = 5\n", - "\n", - "#Population and budget use stepwise\n", - "fig, ax1 = plt.subplots()\n", - "\n", - "interpolated_values = tpot2.utils.beta_interpolation(start=selection_evaluation_early_stop[0], end=selection_evaluation_early_stop[-1], n=cv, n_steps=cv, scale=selection_evaluation_scaling)\n", - "ax1.step(list(range(len(interpolated_values))), interpolated_values, label=f\"threshold\")\n", - "ax1.set_xlabel(\"fold\")\n", - "ax1.set_ylabel(\"percent to select\")\n", - "#ax1.legend(loc='center left', bbox_to_anchor=(1.1, 0.4))\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "\n", - "\n", - "est = tpot2.TPOTEstimator( \n", - " generations=5,\n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " classification=True,\n", - " search_space = graph_search_space,\n", - " n_jobs=32,\n", - " cv=cv,\n", - "\n", - " selection_evaluation_early_stop = selection_evaluation_early_stop,\n", - " selection_evaluation_scaling = selection_evaluation_scaling,\n", - "\n", - " verbose=0)\n", - "\n", - "\n", - "start = time.time()\n", - "est.fit(X, y)\n", - "print(f\"total time: {time.time()-start}\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "All of the above methods can be used independently or simultaneously as done below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import math\n", - "np.array([1.2,3.4,1])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "est = tpot2.TPOTEstimator( \n", - " generations=5,\n", - " scorers=['roc_auc_ovr'],\n", - " scorers_weights=[1],\n", - " classification=True,\n", - " search_space = graph_search_space,\n", - " n_jobs=32,\n", - " cv=cv,\n", - "\n", - " population_size=population_size,\n", - " initial_population_size=initial_population_size,\n", - " population_scaling = population_scaling,\n", - " generations_until_end_population = generations_until_end_population,\n", - " \n", - " budget_range = budget_range,\n", - " generations_until_end_budget=generations_until_end_budget,\n", - " \n", - " threshold_evaluation_early_stop = threshold_evaluation_early_stop,\n", - " threshold_evaluation_scaling = threshold_evaluation_scaling,\n", - "\n", - " selection_evaluation_early_stop = selection_evaluation_early_stop,\n", - " selection_evaluation_scaling = selection_evaluation_scaling,\n", - "\n", - " verbose=0)\n", - "\n", - "\n", - "start = time.time()\n", - "est.fit(X, y)\n", - "print(f\"total time: {time.time()-start}\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tpot_dev", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "7fe1fe9ef32cd5efd76326a08046147513534f0dd2318301a1a96ae9071c1c4e" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Tutorial/9_Genetic_Algorithm_Overview.ipynb b/Tutorial/9_Genetic_Algorithm_Overview.ipynb index 9c931057..a7b4a462 100644 --- a/Tutorial/9_Genetic_Algorithm_Overview.ipynb +++ b/Tutorial/9_Genetic_Algorithm_Overview.ipynb @@ -16,14 +16,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Generation: 100%|██████████| 100/100 [03:43<00:00, 2.23s/it]\n" + "Generation: 100%|██████████| 100/100 [02:15<00:00, 1.35s/it]\n" ] } ], @@ -136,7 +136,7 @@ " population_size= 100,\n", " objective_names = objective_names,\n", " generations= 100,\n", - " n_jobs=1,\n", + " n_jobs=32,\n", " verbose = 1,\n", "\n", ")\n", @@ -146,15 +146,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "best subset {6, 10, 11, 17, 24, 25, 29, 30, 32, 37, 43, 45, 49, 50, 53, 57, 59, 66, 67, 76, 82, 91, 99}\n", - "Best value 2891.0, weight 49.1782782587545\n", + "best subset {3, 7, 8, 10, 13, 22, 31, 42, 43, 51, 57, 60, 64, 67, 68, 76, 80, 83, 97, 98}\n", + "Best value 2925.0, weight 49.597868834152706\n", "\n", "All results\n" ] @@ -196,71 +196,71 @@ " \n", " \n", " 0\n", - " (24,)\n", - " 145.0\n", - " 2.946778\n", + " (70,)\n", + " 44.0\n", + " 0.834758\n", " NaN\n", " NaN\n", - " <__main__.SubsetSelector object at 0x735f11b77...\n", + " <__main__.SubsetSelector object at 0x7b8da0987...\n", " 0.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 1\n", - " (99,)\n", - " 4.0\n", - " 3.345873\n", + " (42,)\n", + " 147.0\n", + " 3.091616\n", " NaN\n", " NaN\n", - " <__main__.SubsetSelector object at 0x735f11b77...\n", + " <__main__.SubsetSelector object at 0x7b8da0987...\n", " 0.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 2\n", - " (28,)\n", - " 62.0\n", - " 6.965614\n", + " (90,)\n", + " 95.0\n", + " 6.653284\n", " NaN\n", " NaN\n", - " <__main__.SubsetSelector object at 0x735f11b77...\n", + " <__main__.SubsetSelector object at 0x7b8da0985...\n", " 0.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 3\n", - " (86,)\n", - " 108.0\n", - " 4.322944\n", + " (94,)\n", + " 159.0\n", + " 7.523552\n", " NaN\n", " NaN\n", - " <__main__.SubsetSelector object at 0x735f12734...\n", + " <__main__.SubsetSelector object at 0x7b8da0985...\n", " 0.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 4\n", - " (36,)\n", - " 148.0\n", - " 1.660910\n", + " (97,)\n", + " 184.0\n", + " 2.483618\n", " NaN\n", " NaN\n", - " <__main__.SubsetSelector object at 0x735f12734...\n", + " <__main__.SubsetSelector object at 0x7b8da0987...\n", " 0.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", @@ -280,71 +280,71 @@ " \n", " \n", " 9995\n", - " (0, 10, 11, 17, 24, 30, 32, 37, 43, 45, 49, 53...\n", - " 0.0\n", - " 58.255546\n", - " ((0, 10, 11, 17, 24, 30, 32, 37, 43, 45, 49, 5...\n", + " (61, 71, 99)\n", + " 307.0\n", + " 17.213843\n", + " ((61,), (61,))\n", " ind_mutate\n", - " <__main__.SubsetSelector object at 0x735f04c5d...\n", + " <__main__.SubsetSelector object at 0x7b8cd5553...\n", " 99.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 9996\n", - " (10, 29, 48, 76)\n", - " 516.0\n", - " 10.002974\n", - " ((10, 17, 29, 76), (10, 17, 29, 76))\n", + " (7, 8, 22, 36, 43, 51, 61, 67, 68, 75, 80, 98)\n", + " 1457.0\n", + " 20.259947\n", + " ((7, 8, 22, 36, 43, 51, 61, 67, 68, 80, 98), (...\n", " ind_mutate\n", - " <__main__.SubsetSelector object at 0x735f04c5e...\n", + " <__main__.SubsetSelector object at 0x7b8cd5553...\n", " 99.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 9997\n", - " (2, 10, 17, 25, 29, 43, 50, 53, 68, 76)\n", - " 1101.0\n", - " 5.322915\n", - " ((2, 10, 17, 25, 29, 43, 50, 53, 76), (2, 10, ...\n", + " (7, 8, 20, 22, 43, 61, 67, 98)\n", + " 997.0\n", + " 14.617154\n", + " ((7, 8, 22, 43, 61, 98), (7, 8, 22, 43, 61, 98))\n", " ind_mutate\n", - " <__main__.SubsetSelector object at 0x735f04c5e...\n", + " <__main__.SubsetSelector object at 0x7b8cd5553...\n", " 99.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 9998\n", - " (2, 10, 17, 20, 25, 29, 43, 76)\n", - " 910.0\n", - " 11.552131\n", - " ((2, 10, 17, 25, 29, 43, 76), (2, 10, 17, 25, ...\n", + " (7, 8, 22, 25, 36, 43, 51, 67, 78, 98)\n", + " 1167.0\n", + " 10.815193\n", + " ((7, 8, 22, 36, 43, 51, 67, 78, 98), (7, 8, 22...\n", " ind_mutate\n", - " <__main__.SubsetSelector object at 0x735f04c5e...\n", + " <__main__.SubsetSelector object at 0x7b8cd5553...\n", " 99.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", " \n", " 9999\n", - " (0, 10, 11, 17, 25, 29, 43, 49, 50, 53, 57, 59...\n", - " 1967.0\n", - " 19.677724\n", - " ((0, 10, 11, 17, 25, 29, 30, 43, 49, 50, 53, 5...\n", + " (0, 7, 8, 22, 36, 43, 51, 67, 68, 98)\n", + " 1318.0\n", + " 15.988821\n", + " ((7, 8, 22, 36, 43, 51, 67, 68, 98), (7, 8, 22...\n", " ind_mutate\n", - " <__main__.SubsetSelector object at 0x735f04c5e...\n", + " <__main__.SubsetSelector object at 0x7b8cd5553...\n", " 99.0\n", - " 1.719625e+09\n", - " 1.719625e+09\n", + " 1.727561e+09\n", + " 1.727561e+09\n", " None\n", " NaN\n", " \n", @@ -354,18 +354,18 @@ "" ], "text/plain": [ - " Selected Index Value Weight \\\n", - "0 (24,) 145.0 2.946778 \n", - "1 (99,) 4.0 3.345873 \n", - "2 (28,) 62.0 6.965614 \n", - "3 (86,) 108.0 4.322944 \n", - "4 (36,) 148.0 1.660910 \n", - "... ... ... ... \n", - "9995 (0, 10, 11, 17, 24, 30, 32, 37, 43, 45, 49, 53... 0.0 58.255546 \n", - "9996 (10, 29, 48, 76) 516.0 10.002974 \n", - "9997 (2, 10, 17, 25, 29, 43, 50, 53, 68, 76) 1101.0 5.322915 \n", - "9998 (2, 10, 17, 20, 25, 29, 43, 76) 910.0 11.552131 \n", - "9999 (0, 10, 11, 17, 25, 29, 43, 49, 50, 53, 57, 59... 1967.0 19.677724 \n", + " Selected Index Value Weight \\\n", + "0 (70,) 44.0 0.834758 \n", + "1 (42,) 147.0 3.091616 \n", + "2 (90,) 95.0 6.653284 \n", + "3 (94,) 159.0 7.523552 \n", + "4 (97,) 184.0 2.483618 \n", + "... ... ... ... \n", + "9995 (61, 71, 99) 307.0 17.213843 \n", + "9996 (7, 8, 22, 36, 43, 51, 61, 67, 68, 75, 80, 98) 1457.0 20.259947 \n", + "9997 (7, 8, 20, 22, 43, 61, 67, 98) 997.0 14.617154 \n", + "9998 (7, 8, 22, 25, 36, 43, 51, 67, 78, 98) 1167.0 10.815193 \n", + "9999 (0, 7, 8, 22, 36, 43, 51, 67, 68, 98) 1318.0 15.988821 \n", "\n", " Parents Variation_Function \\\n", "0 NaN NaN \n", @@ -374,42 +374,42 @@ "3 NaN NaN \n", "4 NaN NaN \n", "... ... ... \n", - "9995 ((0, 10, 11, 17, 24, 30, 32, 37, 43, 45, 49, 5... ind_mutate \n", - "9996 ((10, 17, 29, 76), (10, 17, 29, 76)) ind_mutate \n", - "9997 ((2, 10, 17, 25, 29, 43, 50, 53, 76), (2, 10, ... ind_mutate \n", - "9998 ((2, 10, 17, 25, 29, 43, 76), (2, 10, 17, 25, ... ind_mutate \n", - "9999 ((0, 10, 11, 17, 25, 29, 30, 43, 49, 50, 53, 5... ind_mutate \n", + "9995 ((61,), (61,)) ind_mutate \n", + "9996 ((7, 8, 22, 36, 43, 51, 61, 67, 68, 80, 98), (... ind_mutate \n", + "9997 ((7, 8, 22, 43, 61, 98), (7, 8, 22, 43, 61, 98)) ind_mutate \n", + "9998 ((7, 8, 22, 36, 43, 51, 67, 78, 98), (7, 8, 22... ind_mutate \n", + "9999 ((7, 8, 22, 36, 43, 51, 67, 68, 98), (7, 8, 22... ind_mutate \n", "\n", " Individual Generation \\\n", - "0 <__main__.SubsetSelector object at 0x735f11b77... 0.0 \n", - "1 <__main__.SubsetSelector object at 0x735f11b77... 0.0 \n", - "2 <__main__.SubsetSelector object at 0x735f11b77... 0.0 \n", - "3 <__main__.SubsetSelector object at 0x735f12734... 0.0 \n", - "4 <__main__.SubsetSelector object at 0x735f12734... 0.0 \n", + "0 <__main__.SubsetSelector object at 0x7b8da0987... 0.0 \n", + "1 <__main__.SubsetSelector object at 0x7b8da0987... 0.0 \n", + "2 <__main__.SubsetSelector object at 0x7b8da0985... 0.0 \n", + "3 <__main__.SubsetSelector object at 0x7b8da0985... 0.0 \n", + "4 <__main__.SubsetSelector object at 0x7b8da0987... 0.0 \n", "... ... ... \n", - "9995 <__main__.SubsetSelector object at 0x735f04c5d... 99.0 \n", - "9996 <__main__.SubsetSelector object at 0x735f04c5e... 99.0 \n", - "9997 <__main__.SubsetSelector object at 0x735f04c5e... 99.0 \n", - "9998 <__main__.SubsetSelector object at 0x735f04c5e... 99.0 \n", - "9999 <__main__.SubsetSelector object at 0x735f04c5e... 99.0 \n", + "9995 <__main__.SubsetSelector object at 0x7b8cd5553... 99.0 \n", + "9996 <__main__.SubsetSelector object at 0x7b8cd5553... 99.0 \n", + "9997 <__main__.SubsetSelector object at 0x7b8cd5553... 99.0 \n", + "9998 <__main__.SubsetSelector object at 0x7b8cd5553... 99.0 \n", + "9999 <__main__.SubsetSelector object at 0x7b8cd5553... 99.0 \n", "\n", " Submitted Timestamp Completed Timestamp Eval Error Pareto_Front \n", - "0 1.719625e+09 1.719625e+09 None NaN \n", - "1 1.719625e+09 1.719625e+09 None NaN \n", - "2 1.719625e+09 1.719625e+09 None NaN \n", - "3 1.719625e+09 1.719625e+09 None NaN \n", - "4 1.719625e+09 1.719625e+09 None NaN \n", + "0 1.727561e+09 1.727561e+09 None NaN \n", + "1 1.727561e+09 1.727561e+09 None NaN \n", + "2 1.727561e+09 1.727561e+09 None NaN \n", + "3 1.727561e+09 1.727561e+09 None NaN \n", + "4 1.727561e+09 1.727561e+09 None NaN \n", "... ... ... ... ... \n", - "9995 1.719625e+09 1.719625e+09 None NaN \n", - "9996 1.719625e+09 1.719625e+09 None NaN \n", - "9997 1.719625e+09 1.719625e+09 None NaN \n", - "9998 1.719625e+09 1.719625e+09 None NaN \n", - "9999 1.719625e+09 1.719625e+09 None NaN \n", + "9995 1.727561e+09 1.727561e+09 None NaN \n", + "9996 1.727561e+09 1.727561e+09 None NaN \n", + "9997 1.727561e+09 1.727561e+09 None NaN \n", + "9998 1.727561e+09 1.727561e+09 None NaN \n", + "9999 1.727561e+09 1.727561e+09 None NaN \n", "\n", "[10000 rows x 11 columns]" ] }, - "execution_count": 4, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -431,12 +431,12 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAicAAAGGCAYAAACg+CELAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8A0lEQVR4nO3dd3RUxd8G8GdTdtMTAqRBCIEgEJoYWkTpEroo6g9FpIktIEVAQOkiiNIUBLEAKoig2EBKpJdIk1Al0oNAAhKSkF523j94c+/OJht2l2wSkudzzp4z987c2dmbJRnud4pGCCFAREREVEbYlXYDiIiIiAyxc0JERERlCjsnREREVKawc0JERERlCjsnREREVKawc0JERERlCjsnREREVKawc0JERERlCjsnREREVKawc0JW0Wg0mDp1amk3o0g7d+6ERqPBzp07S7spVM5MnToVGo2mtJtBVG6xc0IAgBUrVkCj0UgvHx8ftG/fHps2bSrt5pWYTz/9FBqNBi1btiztppRJer0eX3/9NZ544glUqVIFjo6O8PHxQefOnbFs2TJkZWWVdhOLTXp6OqZOncrOLVEpcCjtBlDZMn36dAQHB0MIgYSEBKxYsQLdunXDb7/9hh49eijlMjIy4OBQ/r4+q1atQs2aNXHw4EGcO3cOISEhpd2kMiMjIwNPPfUUtmzZgkcffRRjxoyBr68vEhMTsWvXLrzxxhs4cOAAvvzyy9JuarFIT0/HtGnTAADt2rWT8t59912MHz++FFpFVDGUv78udF+6du2KZs2aKcdDhgyBr68vvvvuO6lz4uTkVBrNs6mLFy9i//79WL9+PV599VWsWrUKU6ZMKdE26PV6ZGdnl8n7O2rUKGzZsgULFizAiBEjpLy33noLZ8+eRVRUVCm17t5yc3Oh1+uh1Wrvuy4HB4dy2TknKisY1qEieXl5wdnZucAvYuMxJ/kx+HPnzmHgwIHw8vKCp6cnBg0ahPT09ALXDhs2DD///DMaNmwInU6HBg0aYPPmzQXe/+rVqxg8eDB8fX2Vcl999VWBcv/++y969+4NV1dX+Pj4YNSoURaHGFatWoVKlSqhe/fueOaZZ7Bq1SolLycnB97e3hg0aFCB61JSUuDk5IQxY8Yo57KysjBlyhSEhIRAp9MhMDAQ48aNK9Cm/HuxatUqNGjQADqdTrkPH330ER599FFUrlwZzs7OCAsLww8//FDg/TMyMvDmm2+iSpUqcHd3R69evXD16tVCxwWZez+NXblyBV988QW6dOlSoGOSr06dOnjjjTekc3q9HgsWLECDBg3g5OQEX19fvPrqq7h9+7ZUrmbNmujRowf27t2LFi1awMnJCbVq1cLXX39d4H2SkpIwcuRIBAYGQqfTISQkBB988AH0er1S5tKlS9BoNPjoo4+wYMEC1K5dGzqdDqdPn0Z2djYmT56MsLAweHp6wtXVFY8//jh27NghXV+1alUAwLRp05RQZ/79LGzMSW5uLmbMmKG8V82aNTFx4sQCP3NLPitRhSWIhBDLly8XAMQff/whbt68KW7cuCFOnjwpXn31VWFnZye2bt0qlQcgpkyZohxPmTJFABBNmzYVTz/9tPj000/Fyy+/LACIcePGFbi2SZMmwt/fX8yYMUMsWLBA1KpVS7i4uIj//vtPKRcfHy+qV68uAgMDxfTp08WSJUtEr169BAAxf/58pVx6erp46KGHhJOTkxg3bpxYsGCBCAsLE40bNxYAxI4dO8y6B/Xq1RNDhgwRQgixe/duAUAcPHhQyR88eLDw8vISWVlZ0nUrV64UAMShQ4eEEELk5eWJzp07CxcXFzFy5Ejx2WefiWHDhgkHBwfx5JNPFrgX9evXF1WrVhXTpk0TixcvFkePHhVCCFG9enXxxhtviEWLFol58+aJFi1aCABiw4YNUh3PPfecACD69+8vFi9eLJ577jnRpEmTAj8jc+9nYT777DMBQHz77bdm3ct8L7/8snBwcBBDhw4VS5cuFW+//bZwdXUVzZs3F9nZ2Uq5oKAgUbduXeHr6ysmTpwoFi1aJB555BGh0WjEyZMnlXJpaWmicePGonLlymLixIli6dKl4qWXXhIajUaMGDFCKXfx4kUBQISGhopatWqJ2bNni/nz54vLly+LmzdvCn9/fzF69GixZMkSMWfOHFG3bl3h6Oio3PvU1FSxZMkSAUA89dRT4ptvvhHffPONOHbsmBBC/b4bGjBggAAgnnnmGbF48WLx0ksvCQCid+/eUjlzPytRRcbOCQkh1M6J8Uun04kVK1YUKG+qczJ48GCp3FNPPSUqV65c4FqtVivOnTunnDt27JgAID755BPl3JAhQ4S/v7/UYRFCiL59+wpPT0+Rnp4uhBBiwYIFAoBYu3atUiYtLU2EhISY3Tk5fPiwACCioqKEEELo9XpRvXp16Q/eli1bBADx22+/Sdd269ZN1KpVSzn+5ptvhJ2dndizZ49UbunSpQKA2Ldvn3Qv7OzsxKlTpwq0Kf/z5cvOzhYNGzYUHTp0UM4dOXJEABAjR46Uyg4cOLDAz8jc+1mYUaNGCQAiJiZGOp+VlSVu3rypvAzr3rNnjwAgVq1aJV2zefPmAueDgoIEALF7927l3I0bN4ROpxNvvfWWcm7GjBnC1dVV/PPPP1Kd48ePF/b29iIuLk4IoXZOPDw8xI0bN6Syubm5BTqYt2/fFr6+vtL39+bNmwXuYT7jzklMTIwAIF5++WWp3JgxYwQAsX37dos/K1FFxrAOSRYvXoyoqChERUXh22+/Rfv27fHyyy9j/fr1Zl3/2muvScePP/44bt26hZSUFOl8p06dULt2beW4cePG8PDwwIULFwAAQgj8+OOP6NmzJ4QQ+O+//5RXREQEkpOT8ddffwEAfv/9d/j7++OZZ55R6nNxccErr7xi9udetWoVfH190b59ewB3wy3/+9//sGbNGuTl5QEAOnTogCpVquD7779Xrrt9+zaioqLwv//9Tzm3bt061K9fH/Xq1ZPa3aFDBwCQwgcA0LZtW4SGhhZok7Ozs/Q+ycnJePzxx5XPDUAJARmHU4YPHy4dW3I/C5P/83Nzc5PO//7776hataryCgoKku6Dp6cnnnjiCen9wsLC4ObmVuA+hIaG4vHHH1eOq1atirp16yrfifw6H3/8cVSqVEmqs1OnTsjLy8Pu3bulOvv06aOEZ/LZ29sr4070ej0SExORm5uLZs2aFXkPivL7778DAEaPHi2df+uttwAAGzdutPizElVkHNFFkhYtWkgDYp9//nk0bdoUw4YNQ48ePe45mLBGjRrScaVKlQDc/ePq4eFhslx+2fyxCDdv3kRSUhKWLVuGZcuWFfpeN27cAABcvnwZISEhBcYA1K1bt8i25svLy8OaNWvQvn17XLx4UTnfsmVLzJ07F9u2bUPnzp3h4OCAPn36YPXq1cjKyoJOp8P69euRk5MjdU7Onj2Lv//+u8AfReN25wsODi603IYNG/Dee+8hJiZGGrdg+DkvX74MOzu7AnUYzzKy5H4Wxt3dHQCQmpoqnW/durUyCPbDDz/Evn37lLyzZ88iOTkZPj4+Zr3fvb4T+XUeP378vu/typUrMXfuXJw5cwY5OTn3LH8v+T8H4/vu5+cHLy8vXL58WTpvzmclqsjYOaEi2dnZoX379li4cCHOnj2LBg0aFFne3t6+0PNCCIvK5Q9ufPHFFzFgwIBCyzZu3LjItphr+/btuH79OtasWYM1a9YUyF+1ahU6d+4MAOjbty8+++wzbNq0Cb1798batWtRr149NGnSRCmv1+vRqFEjzJs3r9D3CwwMlI4Nn5Dk27NnD3r16oU2bdrg008/hb+/PxwdHbF8+XKsXr3a4s94v/ezXr16AICTJ09Kn7Vq1aro1KkTAODbb78t8J4+Pj7SwGJDhT3RKIzhd0ev1+OJJ57AuHHjCi370EMPSceF3dtvv/0WAwcORO/evTF27Fj4+PjA3t4es2bNwvnz5wut11zmLsxm7r8TooqKnRO6p9zcXAAF/9dsS1WrVoW7uzvy8vKUP36mBAUF4eTJkxBCSH8cYmNjzXqvVatWwcfHB4sXLy6Qt379evz0009YunQpnJ2d0aZNG/j7++P777/HY489hu3bt+Odd96RrqlduzaOHTuGjh07Wr2K6I8//ggnJyds2bIFOp1OOb98+XKpXFBQEPR6PS5evIg6deoo58+dOyeVs+R+FqZr166wt7fHqlWr0K9fP7OuqV27Nv744w+0bt260E6CNWrXro3U1FSrPkO+H374AbVq1cL69euln4/xtHFLfnb5P4ezZ8+ifv36yvmEhAQkJSVJ4S4iujeOOaEi5eTkYOvWrdBqtdIvXVuzt7dHnz598OOPP+LkyZMF8m/evKmku3XrhmvXrknTbNPT002GLwxlZGRg/fr16NGjB5555pkCr2HDhuHOnTv49ddfAdx9kvTMM8/gt99+wzfffIPc3FwppAMAzz33HK5evYrPP/+80PdLS0sz6/NrNBplvAtwd3rrzz//LJWLiIgAcHdlW0OffPJJgfrMvZ+FqVGjBgYPHoxNmzZh0aJFhZYx/l//c889h7y8PMyYMaNA2dzcXCQlJRX5noV57rnnEB0djS1bthTIS0pKUjrSRcl/amHY3gMHDiA6Oloq5+LiotR7L926dQMALFiwQDqf//Sse/fu96yDiFR8ckKSTZs24cyZMwDuxu9Xr16Ns2fPYvz48dKYkZIwe/Zs7NixAy1btsTQoUMRGhqKxMRE/PXXX/jjjz+QmJgIABg6dCgWLVqEl156CUeOHIG/vz+++eYb5Y9LUX799VfcuXMHvXr1KjS/VatWqFq1KlatWqV0Qv73v//hk08+wZQpU9CoUaMCnbb+/ftj7dq1eO2117Bjxw60bt0aeXl5OHPmDNauXYstW7ZI43oK0717d8ybNw9dunTBCy+8gBs3bmDx4sUICQnB8ePHlXJhYWHo06cPFixYgFu3bqFVq1bYtWsX/vnnHwDy//7NvZ+mLFiwABcvXsTw4cOxZs0a9OzZEz4+Pvjvv/+wb98+/Pbbb9I4n7Zt2+LVV1/FrFmzEBMTg86dO8PR0RFnz57FunXrsHDhQmkQsznGjh2LX3/9FT169MDAgQMRFhaGtLQ0nDhxAj/88AMuXbqEKlWqFFlHjx49sH79ejz11FPo3r07Ll68iKVLlyI0NFR6Oujs7IzQ0FB8//33eOihh+Dt7Y2GDRuiYcOGBeps0qQJBgwYgGXLliEpKQlt27bFwYMHsXLlSvTu3VsZaE1EZiqlWUJUxhQ2ldjJyUk8/PDDYsmSJUKv10vlYWIq8c2bNwut9+LFi9K1kZGRBdoQFBQkBgwYIJ1LSEgQkZGRIjAwUDg6Ogo/Pz/RsWNHsWzZMqnc5cuXRa9evYSLi4uoUqWKGDFihDJltaipxD179hROTk4iLS3NZJmBAwcKR0dHZZqsXq8XgYGBAoB47733Cr0mOztbfPDBB6JBgwZCp9OJSpUqibCwMDFt2jSRnJx8z3shhBBffvmlqFOnjtDpdKJevXpi+fLlha6vkZaWJiIjI4W3t7dwc3MTvXv3FrGxsQKAmD17tlX305Tc3FyxfPly0aFDB+Ht7S0cHBxElSpVRMeOHcXSpUtFRkZGgWuWLVsmwsLChLOzs3B3dxeNGjUS48aNE9euXVPKBAUFie7duxe4tm3btqJt27bSuTt37ogJEyaIkJAQodVqRZUqVcSjjz4qPvroI2XtlPypxB9++GGBOvV6vXj//fdFUFCQ0Ol0omnTpmLDhg1iwIABIigoSCq7f/9+ERYWJrRarfSdL+znkJOTI6ZNmyaCg4OFo6OjCAwMFBMmTBCZmZlSOUs+K1FFpRGCI7CIypuYmBg0bdoU3377rdljRIiIygqOOSF6wGVkZBQ4t2DBAtjZ2aFNmzal0CIiovvDMSdED7g5c+bgyJEjaN++PRwcHLBp0yZs2rQJr7zySoFpy0REDwKGdYgecFFRUZg2bRpOnz6N1NRU1KhRA/3798c777zDnXOJ6IFUqmGdJUuWKMuWe3h4IDw8HJs2bVLyMzMzERkZicqVK8PNzQ19+vRBQkKCVEdcXBy6d+8OFxcX+Pj4YOzYsQWmE+7cuROPPPKIsoPpihUrSuLjEZWIJ554Anv37kViYiKys7Nx7tw5TJkyhR0Togpi9+7d6NmzJwICAqDRaAosOSCEwOTJk+Hv7w9nZ2d06tQJZ8+elcokJiaiX79+8PDwgJeXF4YMGVKia1sZK9XOSfXq1TF79mwcOXIEhw8fRocOHfDkk0/i1KlTAIBRo0bht99+w7p167Br1y5cu3YNTz/9tHJ9Xl4eunfvjuzsbOzfvx8rV67EihUrMHnyZKXMxYsX0b17d7Rv3x4xMTEYOXIkXn755ULXSSAiInrQpKWloUmTJoUuJAncDf1+/PHHWLp0KQ4cOABXV1dEREQgMzNTKdOvXz+cOnUKUVFR2LBhA3bv3m3R/mTFrlTnChWiUqVK4osvvhBJSUnC0dFRrFu3Tsn7+++/BQARHR0thBDi999/F3Z2diI+Pl4ps2TJEuHh4aHsOjpu3DjRoEED6T3+97//iYiIiBL4NERERCUHgPjpp5+UY71eL/z8/KRp9UlJSUKn04nvvvtOCCHE6dOnBQBx6NAhpcymTZuERqMRV69eLbG2Gyozz33z8vKwbt06pKWlITw8HEeOHEFOTo60THW9evVQo0YNREdHo1WrVoiOjkajRo3g6+urlImIiMDrr7+OU6dOoWnTpoiOji6w1HVERARGjhxpsi1ZWVnSRmv5O5dWrlzZ6uXIiYgqOiEE7ty5g4CAANjZle/JopmZmcjOzrbqWmG0FQcA6HQ6aSsLc128eBHx8fHS30FPT0+0bNkS0dHR6Nu3L6Kjo+Hl5SUtDtmpUyfY2dnhwIEDeOqpp6z6HPej1DsnJ06cQHh4ODIzM+Hm5oaffvoJoaGhiImJgVarhZeXl1Te19cX8fHxAID4+HipY5Kfn59XVJmUlBRkZGQUuufHrFmzMG3atOL6iEREZODKlSuoXr16aTfDZjIzMxEc5Ib4G3n3LlwINze3AuM9pkyZgqlTp1pcV/7fwsL+Dhr+nTTePdzBwQHe3t5KmZJW6p2TunXrIiYmBsnJyfjhhx8wYMAA7Nq1q1TbNGHCBIwePVo5Tk5ORo0aNXDlypUSX8KdiKi8SElJQWBgINzd3Uu7KTaVnZ2N+Bt5uHykJjzcLXtClHJHj6CwSwX+3ljz1ORBVuqdE61Wi5CQEAB39wk5dOgQFi5ciP/973/Izs5GUlKS9PQkISEBfn5+AAA/Pz8cPHhQqi9/No9hGeMZPgkJCfDw8DC5U6qpx2f5s4qIiMh6FSU87uaugZu7ZZ9Vj7vli+vvTf7fwoSEBPj7+yvnExIS8PDDDytlbty4IV2Xm5uLxMRE5fqSVuaCfnq9HllZWQgLC4OjoyO2bdum5MXGxiIuLg7h4eEAgPDwcJw4cUK6qVFRUfDw8EBoaKhSxrCO/DL5dRAREdlCntBb9SpOwcHB8PPzk/4OpqSk4MCBA9Lf0qSkJBw5ckQps337duj1erRs2bJY22OuUn1yMmHCBHTt2hU1atTAnTt3sHr1auzcuRNbtmyBp6cnhgwZgtGjR8Pb2xseHh4YPnw4wsPD0apVKwBA586dERoaiv79+2POnDmIj4/Hu+++i8jISOXJx2uvvYZFixZh3LhxGDx4MLZv3461a9di48aNpfnRiYionNNDQA/L1jm1tDwApKam4ty5c8rxxYsXERMTA29vb9SoUQMjR47Ee++9hzp16iA4OBiTJk1CQEAAevfuDQCoX78+unTpgqFDh2Lp0qXIycnBsGHD0LdvXwQEBFjcnmJRKnOE/t/gwYNFUFCQ0Gq1omrVqqJjx45i69atSn5GRoZ44403RKVKlYSLi4t46qmnxPXr16U6Ll26JLp27SqcnZ1FlSpVxFtvvSVycnKkMjt27BAPP/yw0Gq1olatWmL58uUWtTM5OVkAkHaTJSIiy1SU36X5n/NabHWReq2GRa9rsdUtvkc7duwosKs8AGWXd71eLyZNmiR8fX2FTqcTHTt2FLGxsVIdt27dEs8//7xwc3MTHh4eYtCgQeLOnTvFeVsswuXrzZCSkgJPT08kJydzzAkRkZUqyu/S/M955Uw1qwbEBta7Wu7v0b2U+oBYIiKi8qikwjrlUZkbEEtEREQVG5+cED2ALv3rLx3XrH69lFpCRKboIZDHJydWYeeEiIjIBhjWsR47J0RERDaQJwTyLJxzYmn58oqdE6IHEMM4RGWf/v9fll5D7JwQERHZRJ4VY04sLV9ecbYOERERlSl8ckJERGQDeeLuy9JriJ0TIiIim+CYE+uxc0JERGQDemiQB43F1xA7J0QPjM9jH1fStbU3pLwOwbEl3Rwiuge9uPuy9Bpi54SIiMgm8qx4cmJp+fKKs3WIiIioTOGTEyIiIhvgkxPrsXNCZANXjTbmq1YMK7oOrbtHSRuOPwGADvddOxEVN73QQC8sHBBrYfnyip0TIiIiG+CTE+uxc0JERGQDebBDnoVDO/Ns1JYHDTsnRDZQHGGcohiGeIiobBJWhHUEwzoA2DkhIiKyCYZ1rMepxERERFSm8MkJkQUOXQ6SjpsHXS6llhBRWZcn7JAnLBxzwhViAbBzQkREZBN6aKC3MEChB3snADsnRERENsExJ9Zj54TIArYI45y5EqCk6wVes/gaAOh3YpCSPtJtZvE0jIjui3VhHT45Adg5ISIisom7YR0LV4jlkxMAnK1DREREZQyfnFCFVGfWPOn47ITRJfbe2y/WlY47BJsXyjE08sKz0nFmDv8pE5U1eitWiOWA2Lv4G42IiMgGOObEeuycEBER2YAedpxKbCV2TqhCKskwjrEOwbH3Xcfmtgul4zozDcJUT9539URUDPKEBnkW7pVjafnyip0TIiIiG7BuV2I+OQE4W4eIiIjKGD45oQoj63otJa3zv1CKLTHt0zPtpOM36u1U0mEvq6Gbfm9tkso90cXXls0iIivohR30Fg6I1XNALAB2ToiIiGyCYR3rsXNCRERkA3pYPsBVb5umPHDYOaEKozRDOWvONVPSfUMOmyz3osd56bhv9CtK+sgXywxySm+2ERGZx7qpxBwKCrBzQkREZBPWLcLGzgnA2TpERERUxvDJCVExabF5gpI+2GWWlFdUKMeQR8AV6XhNgHnvXWveXCV9YfRb5l1ERDbFXYmtV6pPTmbNmoXmzZvD3d0dPj4+6N27N2Jj5dUz27VrB41GI71ee+01qUxcXBy6d+8OFxcX+Pj4YOzYscjNzZXK7Ny5E4888gh0Oh1CQkKwYsUKW388IiKqwPLDOpa+qJQ7J7t27UJkZCT+/PNPREVFIScnB507d0ZaWppUbujQobh+/brymjNnjpKXl5eH7t27Izs7G/v378fKlSuxYsUKTJ48WSlz8eJFdO/eHe3bt0dMTAxGjhyJl19+GVu2bCmxz0pERBVL/lRiS19UymGdzZs3S8crVqyAj48Pjhw5gjZt2ijnXVxc4OfnV2gdW7duxenTp/HHH3/A19cXDz/8MGbMmIG3334bU6dOhVarxdKlSxEcHIy5c+8++q5fvz727t2L+fPnIyIiwnYfkB5I2y/WlY7N3QvHOJRjjZqffiQdP9v6gJLesPZRJa1Nka+78AlDOURljV5ooLd0KjH31gFQxgbEJicnAwC8vb2l86tWrUKVKlXQsGFDTJgwAenp6UpedHQ0GjVqBF9fdYXMiIgIpKSk4NSpU0qZTp06SXVGREQgOjq60HZkZWUhJSVFehEREVlCb8VTE04lvqvMDIjV6/UYOXIkWrdujYYNGyrnX3jhBQQFBSEgIADHjx/H22+/jdjYWKxfvx4AEB8fL3VMACjH8fHxRZZJSUlBRkYGnJ2dpbxZs2Zh2rRpxf4ZiYio4rBu+Xp2ToAy1DmJjIzEyZMnsXfvXun8K6+oi1A1atQI/v7+6NixI86fP4/atWvbpC0TJkzA6NHqIlcpKSkIDAy0yXtR2WNuGMdY6M9TlfTp3lNNlhtwcLB0vLLFV0r60htjTF73YROrmkVE9MApE52TYcOGYcOGDdi9ezeqV69eZNmWLVsCAM6dO4fatWvDz88PBw8elMokJCQAgDJOxc/PTzlnWMbDw6PAUxMA0Ol00Ol0Vn8eIiKiPGiQZ+HUYEvLl1el+vxICIFhw4bhp59+wvbt2xEcHHzPa2JiYgAA/v7+AIDw8HCcOHECN27cUMpERUXBw8MDoaGhSplt27ZJ9URFRSE8PLyYPgkREZEsP6xj6YtK+clJZGQkVq9ejV9++QXu7u7KGBFPT084Ozvj/PnzWL16Nbp164bKlSvj+PHjGDVqFNq0aYPGjRsDADp37ozQ0FD0798fc+bMQXx8PN59911ERkYqTz9ee+01LFq0COPGjcPgwYOxfft2rF27Fhs3biy1z15RXf3XXzquVv16sdZ/62o16bhytav3Xeehy0FKunnQZZPligrlGDIM4xBR+ZUHy5+E5NmmKQ+cUu2iLVmyBMnJyWjXrh38/f2V1/fffw8A0Gq1+OOPP9C5c2fUq1cPb731Fvr06YPffvtNqcPe3h4bNmyAvb09wsPD8eKLL+Kll17C9OnTlTLBwcHYuHEjoqKi0KRJE8ydOxdffPEFpxETEZHN8MmJ9Ur1yYkQosj8wMBA7Nq16571BAUF4ffffy+yTLt27XD06FGL2kdERGStktj4Ly8vD1OnTsW3336L+Ph4BAQEYODAgXj33Xeh0dx9aiOEwJQpU/D5558jKSkJrVu3xpIlS1CnTh2L3qsksYtGRET0gPrggw+wZMkSLFq0CH///Tc++OADzJkzB5988olSZs6cOfj444+xdOlSHDhwAK6uroiIiEBmZmYptrxoZWK2DlUcxT3GBAAuGYxjqWlU//STPZX05IZqOPD3Cw2lct1qnTRZ/zNRkUr68svWtbHxiPlK+vjCUWZfV/MTdUM/z1j1/xJ5TnK5kx+ZXycRlQxhxcZ/wsLy+/fvx5NPPonu3bsDAGrWrInvvvtOmcUqhMCCBQvw7rvv4sknnwQAfP311/D19cXPP/+Mvn37WvR+JYVPToiIiGzgfjb+M16lPCsrq9D3ePTRR7Ft2zb8888/AIBjx45h79696Nq1K4C7e8vFx8dLq6R7enqiZcuWJldJLwv45ISIiMgG7mdvHeOFP6dMmYKpU6cWKD9+/HikpKSgXr16sLe3R15eHmbOnIl+/foBUFdKL2yV9Py8soidE3rgGYdyDBmGcgwVFcYxtqHzx0q67nRHKS92shpOqf+OGrr5e6YcZrEklGPo0vDCN/QLnTC/0PNEVHZYs8twfvkrV67Aw8NDOW9qYdC1a9di1apVWL16NRo0aICYmBiMHDkSAQEBGDBggPWNL2XsnBAREdnA/Tw58fDwkDonpowdOxbjx49Xxo40atQIly9fxqxZszBgwABlpfSEhARl8dL844cfftiitpUkjjkhIiJ6QKWnp8POTv5Tbm9vD71eD+DuOl9+fn7SKukpKSk4cOBAmV4lnU9O6IF3Ik7djylJLz/6fLzmebPqGHJooJL+svkKKW97Wj0lbRjGMWYcyjFUZ90MJX322Uly3sx5at47o2GO07M4O4eorNPDDnoLnwFYWr5nz56YOXMmatSogQYNGuDo0aOYN28eBg++u8GoRqPByJEj8d5776FOnToIDg7GpEmTEBAQgN69e1v0XiWJnRMiIiIbyBMa5FkY1rG0/CeffIJJkybhjTfewI0bNxAQEIBXX30VkydPVsqMGzcOaWlpeOWVV5CUlITHHnsMmzdvhpOTUxE1ly52ToiIiGzgfsacmMvd3R0LFizAggULTJbRaDSYPn26tK1LWcfOCT3wltxsp6Q/DfvWZLk9l2or6b1pdaW8L5ub3v5gRP0/rG/c/zMO5Uh5RYRyGoxTZ+WcmsNQDtGDRFixV47g3joA2DkhIiKyiTxorNiV2LLy5RU7J0RERDagF5aHafRF74dbYbBzQmXS9oty2KVDcKzJskWFcvpGv6Kk14SrM3fOxD4ulcu6XktJ6/wvmN1OQ0WFYCYef1pJv994vZRnuH+O8aJrhvU8HKnO6olZbN6sHiKiBxE7J0RERDagt2LMiaXlyyt2ToiIiGxAb8WuxJaWL680QghGuO4hJSUFnp6eSE5ONms5Ybp/XXaNkI43t12opFOuyRtieQRcMavOb862UtL96/xpdltqr5mppM/3fcfs60xp0X+udKx3VH8ZZXnKv5hOzOcMHSo/Ksrv0vzP+cL2F6B101p0bXZqNlZ3WF3u79G98MkJERGRDTCsYz12ToiIiGxADysWYWNYBwA7J1TCLv3rLx3/mVlNSfcNOaykDcM4gBySmb5WDnV80Lepko7P8ZTzDnRR0u3qhyrp/kbtWnOuWaHtAIAqle7AHA9veFdJx/R4z2S5g9+8ZTKv2eB5ZuWl+8q/wLjXDhGVJ+ycEBER2YCwYkCs4JMTAOycEBER2URJ7K1TXrFzQiWqZvXr8rGJclNOPCkdf3uqp5KOfHqTlBebqYaKzqT5SXkP1UhQ0itbfKWkDcM4QMFQjqEDEbNN5hkqKpRjrsNfmV5cTZOnphnGISr7OCDWeuycEBER2QCfnFiPnRMiIiIb4CJs1mPnhIqd8Ywc41COoUEHBynphdX/UM9XypXKNWkep6Sfrn1UyguZo85iadX2lJS3os4agyN175vV11tJ5fqGqOk6M+UZM2ffUUMtdX+cLuXF9pmMknJoJffTIaKKgZ0TIiIiG2BYx3rsnBAREdkAOyfWY+eEisXP55so6d61TYdxan4i7yvzeke1bKJeDeUYh4JmHBqopL+Nf13Ke/vJk0p6aN09Ul7wqveV9MV+6vmrK2vJDXtcTRqGcQBg3t9PKOnYPlEw5ZFX1XDQX58Vfwjm4TfU+mM+ZYiHqKxj58R67JwQERHZADsn1mPnhIiIyAYELJ99I2zTlAcOOydULHrXPqakU64FSnkeAVeU9KXh8r4y9X9S963xDk1T0kON6v+y+QolbRhmAeRQjnHexX5qGOaxqHFK+sgXc4w/gqLmpx9Jx5feMB3KMWQYyjHeI6eoxdWK0qK/GgaLKWJPHiKi8oSdEyIiIhtgWMd67JwQERHZADsn1mPnhIrFunNhSvrZkCsmy00/2VM6dnduqKSrOd5W0mOPPSuV23VdXSXNz7WulGcYMNn5n+m8vU+YDuUYuvTGGOk4dIK6eFtRe9o0HqGWc8qxLnIc9rIcDjrCUA7RA4udE+uxc0JERGQD7JxYj50TIiIiGxBCA2FhZ8PS8uUVOydEREQ2wI3/rMfOCVllwMHB0nFLD3ezrvsy+nHpWOOcp6S7dVFXeh22ZqZU7kLfd0y+t6HYHbWl48Y/quNAji9Qx4usPttCKvdCnYMm6yxqnImh4wvNK2es0Si1jSe+sG7K8aPPqtOf968bU0RJIqKyz64033zWrFlo3rw53N3d4ePjg969eyM2NlYqk5mZicjISFSuXBlubm7o06cPEhISpDJxcXHo3r07XFxc4OPjg7FjxyI3V97VdufOnXjkkUeg0+kQEhKCFStW2PrjERFRBZY/5sTSF5Vy52TXrl2IjIzEn3/+iaioKOTk5KBz585IS1MX4xo1ahR+++03rFu3Drt27cK1a9fw9NNPK/l5eXno3r07srOzsX//fqxcuRIrVqzA5MnqVvYXL15E9+7d0b59e8TExGDkyJF4+eWXsWXLlhL9vEREVHHkjzmx9EWARghRZlbLvXnzJnx8fLBr1y60adMGycnJqFq1KlavXo1nnnkGAHDmzBnUr18f0dHRaNWqFTZt2oQePXrg2rVr8PX1BQAsXboUb7/9Nm7evAmtVou3334bGzduxMmTatigb9++SEpKwubNm+/ZrpSUFHh6eiI5ORkeHh62+fBlxKV//aVjww34xh/ro6RnN/lRKjfrVDcl/cXvnaS8ak3VOjr5nZHyVn/fQUmvG6quhtqoxr8m29jglynS8aknpylpw1VgAdPThx/6Ybp0/M8zamfWeJXZVXO7KukjVoZdisPjT36opPf8MrbU2kFkrYryuzT/czZbPxIOrjqLrs1Ny8LhpxeU+3t0L6X65MRYcnIyAMDb2xsAcOTIEeTk5KBTJ/WPXb169VCjRg1ER0cDAKKjo9GoUSOlYwIAERERSElJwalTp5QyhnXkl8mvg4iIqLjxyYn1ysyAWL1ej5EjR6J169Zo2PDuwlzx8fHQarXw8vKSyvr6+iI+Pl4pY9gxyc/PzyuqTEpKCjIyMuDs7CzlZWVlISsrSzlOSUm5/w9IREQVirBiDAk7J3eVmc5JZGQkTp48ib1795Z2UzBr1ixMmzbt3gXLiYnH1TE87ze+LuUZbuI3u4m68uuhy0FSuc+OvqakL42VQx81P1HDNZk+56W8jKAcJW0Yymm68R2p3Ksh6vfi1JO7CvkUdz1d/ah0HPrzVCV9ureaNgzjGBtdX97ob/QXajpo2YdS3uVX1PCKNOtmvnUzd4piGMox3BAQAA5yJVkiKkfKRFhn2LBh2LBhA3bs2IHq1asr5/38/JCdnY2kpCSpfEJCAvz8/JQyxrN38o/vVcbDw6PAUxMAmDBhApKTk5XXlSuml2MnIiIqjAAghIWv0m50GVGqnRMhBIYNG4affvoJ27dvR3BwsJQfFhYGR0dHbNu2TTkXGxuLuLg4hIeHAwDCw8Nx4sQJ3LhxQykTFRUFDw8PhIaGKmUM68gvk1+HMZ1OBw8PD+lFRERkifxF2Cx9USmHdSIjI7F69Wr88ssvcHd3V8aIeHp6wtnZGZ6enhgyZAhGjx4Nb29veHh4YPjw4QgPD0erVq0AAJ07d0ZoaCj69++POXPmID4+Hu+++y4iIyOh090dJf3aa69h0aJFGDduHAYPHozt27dj7dq12LhxY6l99pJwIk59ClXU7Jf3G69X0reuVpPyKle7qqSHHBqopL9sflkqZ/ejGmZ4LvpVKe/S8M8MjuTww/Ne1Q2O1Jk2See8pXKvdVdDOcabB05u+JuSNg7JLDk5A4VpMH6+dHxqtnlhGMMwjjH7rJL7P49jOv9/RVTWcfl665Vq52TJkiUAgHbt2knnly9fjoEDBwIA5s+fDzs7O/Tp0wdZWVmIiIjAp59+qpS1t7fHhg0b8PrrryM8PByurq4YMGAApk9Xp4oGBwdj48aNGDVqFBYuXIjq1avjiy++QEREhM0/IxERVUx6oYGGG/9ZpVQ7J+YsseLk5ITFixdj8eLFJssEBQXh999/L7Kedu3a4ejRo0WWISIiKi7540gsvYbK0Gwdsk5RoRvDY8NwjWGoxtj61FrScSuD+rfvV0MfYTfl2TTTeqpjevrX+dNk/S02T5COk/9Uwzy5rvOU9JfPLJPKbb+oHjtq5P1ziroHZ5+dpKTrzFLrPzu7+BdTi/nUtgu0tes8W0nv2zrepu9FRFSa2DkhIiKyAY45sR47J0RERDbAzon12Dl5wAU5qF/k3y40kvJ61jqhpI9luynpqnHVpXJP7ntDSV94fo+Ut+ZcMyWt8c1U0oln5dk0/bupoZwBBwdLeStbfKWkW/tekPI25/goabfL6mfpECzvTm1omMHCagAwobc63shwRhEAfNl8hZL+rK/hrKHS2yOnKOF95cXVoteoYS+9Y5lYloiIzMQBsdZj54SIiMgGOCDWeuycEBER2cDdzomlYR0bNeYBw87JA84jQF1a/+Md8kJiPQ0m3hiGSQz3ugGA2GfUadqhP2dLee83Uve+6VLnbyX9ad9vpXJ1p6qLmmny5PDSKMf/Kenff2kl5WVVy1PSf88co6RrzZPbWKleopI+3XumlPfwG+osnKRGDaW80PVqu07PUu+B4cwXANhZxOyXeX8/oaSNF3kz1Q5rZ+4YhnEAoE2POUpaw19aRA8UjjmxHoPYREREVKbwyQkREZENCFi+kd+D/IA0KSkJBw8exI0bN6DX66W8l156yaK6NMKcZVoruJSUFHh6eiI5ObnUNwE8cyVAOq4XeE1Jb79YV8ozDOUsjW2rpB/Sxpus31GTKx0P+FOdeVPJI11JP+Ij79RcVZuqpA336rFW0LIPpeOi9rQxV6NRaojnxHw5BFZ3uprndEPKwrFF5u27Y61Hn/1ISesd5Ue62hQ17KW9rYbcMvycpHL7fhwDorKuLP0utaX8z1nr64mwd3G69wUG8tIzceGl9x+4e/Tbb7+hX79+SE1NhYeHBzQa9XeZRqNBYmJiEVcXxLAOERGRLQgrXxa6evUqXnzxRVSuXBnOzs5o1KgRDh8+rDZDCEyePBn+/v5wdnZGp06dcPbs2fv7bEbeeustDB48GKmpqUhKSsLt27eVl6UdE4CdEyIiItv4/wGxlrxg4YDY27dvo3Xr1nB0dMSmTZtw+vRpzJ07F5UqVVLKzJkzBx9//DGWLl2KAwcOwNXVFREREcjMzCyiZstcvXoVb775JlxcXIqlPo45ecAE2NtLx9+cVWe/VDP6af58vomSfq3uMSXdeedIqVw9zwQlnauX67/QV91Dp/YadZbMH2ebSOX0Tmp88f3GcjsMZwe1b3lSytvxz0PqQYqjkrz8hukwTvMB86TjQyvNmxljGMp58+jzUl7s5O/MqsNwRg5QPPvp7F9nOiRjOFtHaNX/SzCMQ1T2lcQ6Jx988AECAwOxfPly5VxwcLBBfQILFizAu+++iyeffBIA8PXXX8PX1xc///wz+vbta9kbmhAREYHDhw+jVq1a9y5sBnZOiIiIypiUlBTpWKfTQafTFSj366+/IiIiAs8++yx27dqFatWq4Y033sDQoUMBABcvXkR8fDw6deqkXOPp6YmWLVsiOjq62Don3bt3x9ixY3H69Gk0atQIjo6OUn6vXr0sqo+dEyIiIhu4n3VOAgMDpfNTpkzB1KlTC5S/cOEClixZgtGjR2PixIk4dOgQ3nzzTWi1WgwYMADx8XcnQPj6+krX+fr6KnnFIb8zNH369AJ5Go0GeXl5Bc4XhZ2TB0ySXp5NU9PxppI+kSl/mbu5qbN11p9vqqRjL8g95c6tDBZX2xQh5YUlqGEdO3t11PnPT82XyvXYPMJkmy8NVxcWazBevm7fMDVsUa36dSVdZ90MqZzugLo30EmjME7DMWqdJz8yPbPmkVfVkMxfn5kO4zQbLIdutHfUkFVMESEYc7Xu85F0XFSIZveGcYWe79hGXohu2+53Ci1HRKXIijEk+eWvXLkizdYp7KkJAOj1ejRr1gzvv/8+AKBp06Y4efIkli5digEDBljXbisYTx2+XxwQS0REZAP5Y04sfQGAh4eH9DLVOfH390doaKh0rn79+oiLiwMA+Pn5AQASEhKkMgkJCUpeWcTOCRERkS2UwFTi1q1bIzZW3sX9n3/+QVBQEIC7g2P9/Pywbds2JT8lJQUHDhxAeHi4NZ/KpF27dqFnz54ICQlBSEgIevXqhT179tz7wkIwrPMAMFxcralOnk3zc1KYkj6fWkXK23xT3Wfm773qCOoqTW5J5Vq6nFPSPzZ6WMq7dkGtM6zRBSXdqMa/Urn93fyV9MMbkqW83F2VlfSpD43DLoWHYc4+O0k+8WyhxQAUHcoJe9kglPOFeTNrDn9lulzQVx9Ix5cHv62kDcNGTonyI07DGTmWzLSJaDpZSWf6q6GtXQzjEJV5JbG3zqhRo/Doo4/i/fffx3PPPYeDBw9i2bJlWLZsGYC74z1GjhyJ9957D3Xq1EFwcDAmTZqEgIAA9O7d26L3Ksq3336LQYMG4emnn8abb74JANi3bx86duyIFStW4IUXXrCoPnZOiIiIHlDNmzfHTz/9hAkTJmD69OkIDg7GggUL0K9fP6XMuHHjkJaWhldeeQVJSUl47LHHsHnzZjg5WbZ6bVFmzpyJOXPmYNQogyUb3nwT8+bNw4wZM9g5ISIiKjNKYIOYHj16oEePHibzNRoNpk+fXuhMmuJy4cIF9OzZs8D5Xr16YeLEiRbXx85JGZRyTZ510yFY3cfm89jHpTw7jfrNj6y2XcpL06sDqD4NV3/UIe7/SeWmX1Tnn+fkyWGjhU98q6TfWm8w8ru13GbDmTaZy+QZOblV1DYazqwBig7JFIcjJkI5NT+VZ8xcesO8UIthGAeQF4T7y8zF4Cyx5Wjhv0yMZ+vYZ6nT9LYemGxcnIhKQUmEdcqKwMBAbNu2DSEhIdL5P/74o8C0aHOwc0JERGQLFWhb4rfeegtvvvkmYmJi8OijjwK4O+ZkxYoVWLhwocX1sXNCRERkE5r/f1l6zYPn9ddfh5+fH+bOnYu1a9cCuDul+fvvv1eWzbeERghLV/KveEp6m2/jsM4PqTWU9DNucVLeF8n1lHRz5wtS3oSzfZR0TQ91hs4An31SOS+7DCX97O7XpDyRofZf3c6p6dTQbKnc5YFquKP+O3LoJstb/Yq5xMv/8AyfYOpuq+X++tx0iKTWd+9LxxeeV+OZNb+dJeVdenGCyXpMadttjnS86/fCF0IjIsuU9O/S0pL/OQOXTIWds2WDTvUZmbjy+tRyf4/uheucEBERUZnCsA4REZEtlPMxJ97e3vjnn39QpUoVVKpUCRqN6ZBUYmKiRXWzc0JERGQL97G3zoNg/vz5cHd3V9JFdU4sZVXnJDc3Fzt37sT58+fxwgsvwN3dHdeuXYOHhwfc3NzuXQEVaVeml3ScqVe3nn7/Zgsp73qWp5JOzZNjmxNr/66kb+WpP5dtKQ2kcp09TirpFiGXpLzp1X9T0t33RSpp753OUrlD7YOUdPun5enOn4Z9C1OCln2opE+9MlZJG2++Z5ej/nfCsbe8+aEha8aYGDMeY/LwG2pbYj41b7pwx7byuJhtuyyf5w8AnZtPVdJ5blolbZ8u3wNOHyYqewz3yrHkmgeF4caCAwcOLNa6Le6cXL58GV26dEFcXByysrLwxBNPwN3dHR988AGysrKwdOnSYm0gERHRA6mch3UM2dvb4/r16/Dx8ZHO37p1Cz4+PsjLyzNxZeEsHhA7YsQINGvWDLdv34azs/q/56eeekraWIiIiKhCyw/rWPp6AJma+JuVlQWtVltoXlEsfnKyZ88e7N+/v8Cb1axZE1evXrW4AXTXm0efV9JnkjtKeYYrutZ3vSblHUpUwyk5enl1Vzf7TCV97I46Pbmea7xUbll8WyWdki2HhsZf7q2kc1PUn3niI3Iv+LXpI5R0up/RP64wmORyWf0KNh6hTkE+XsTmeyXN3FCOIWvDOMa2HpqqpA1XhWUYh6js04i7L0uveZB8/PHHAO4ukf/FF19IQzvy8vKwe/du1KtXz9TlJlncOdHr9YU+nvn333+VgTFERERU/s2ff/c/lUIILF26FPb26n+StVotatasadVwD4s7J507d8aCBQuk7ZhTU1MxZcoUdOvWzeIGEBERlUsVYMzJxYsXAQDt27fH+vXrUalSpWKp1+LOydy5cxEREYHQ0FBkZmbihRdewNmzZ1GlShV89913xdKoishRoz6N6l/tTynPzyFJSa/5r5WU17LyJSXtZJcj5dXTqZvxfXNBneWTkCE/4fr7QoCStneWZ4HoE9XNAz3Oqj3ijFZpUrnMXup7O273kvIeedVgc7zP5BCJQ7qa1iWp/yrDXpZn6xhu4Nep9XtS3h/73lXSrV6YK+X9ufotFKZ1H3njv30/mrfxX3Fo00NegVZ7W11tV9jLIbFtu98pNE1ED4ByPpXY0I4dO4q1Pos7J9WrV8exY8ewZs0aHD9+HKmpqRgyZAj69esnDZAlIiKq0CrAkxND//77L3799VfExcUhO1ve4mTevHkmriqcVeucODg44MUXX7TmUiIiooqhAnVOtm3bhl69eqFWrVo4c+YMGjZsiEuXLkEIgUceecTi+izunHz99ddF5r/00ksWN4IAnZ0aTnlY96+UtyLxUSWdK+TZ31cNFmwznq3T1f24kg73u6ykK2tTpXKp2WroJjHNRcqzq56lpE+8MV1J1/5I7gVrDDb00+ilLDw9fLuSbjRKfmR55xF1RtGJ/uoCauF95fBMk2HqTJ5jBmEcY6bCOMaKCuO06zxbOt65dbxZdRrq3HK6dGyXrMavdp+ZbVxc0aWBebN8igptEVEZUYE6JxMmTMCYMWMwbdo0uLu748cff4SPjw/69euHLl26WFyfxZ2TESNGSMc5OTlIT0+HVquFi4sLOydEREQVzN9//62MO3VwcEBGRgbc3Nwwffp0PPnkk3j99dctqs/iRdhu374tvVJTUxEbG4vHHnuMA2KJiIjyVaBF2FxdXZVxJv7+/jh//ryS999//5m6zKRi2fivTp06mD17Nl588UWcOXPG7Ot2796NDz/8EEeOHMH169fx008/oXfv3kr+wIEDsXLlSumaiIgIbN68WTlOTEzE8OHD8dtvv8HOzg59+vTBwoULpYVgjh8/jsjISBw6dAhVq1bF8OHDMW6cvH9KaVhzrpnBUQ0ldSXXSyp3NUM9blPpHynveo6aF5fhLeVNufykkg6rFKek/82Qp3rtfUKdPXL1X38pr9MS9T7VTlcXAfM8Kw9+1turzyILLlo2Skm9O1/OMQzfNPpLzTyxxnR4xnCvGwDwiFNDYrs3yD/XN46oY6NOTmlsspyhPGd7k3nmMl4kzXh2kCmbT8l78hguvOZwRw2x3X8LicjWKsIibPlatWqFvXv3on79+ujWrRveeustnDhxAuvXr0erVq3uXYGRYtuV2MHBAdeuXbt3QQNpaWlo0qQJBg8ejKeffrrQMl26dMHy5cuVY51OJ+X369cP169fR1RUFHJycjBo0CC88sorWL16NQAgJSUFnTt3RqdOnbB06VKcOHECgwcPhpeXF1555RULPyUREZGZKtCYk3nz5iE19e54xmnTpiE1NRXff/896tSpY/FMHcCKzsmvv/4qHQshcP36dSxatAitW7e2qK6uXbuia9euRZbR6XTw8/MrNO/vv//G5s2bcejQITRrdvcpxCeffIJu3brho48+QkBAAFatWoXs7Gx89dVX0Gq1aNCgAWJiYjBv3jx2ToiIiO5TXl4e/v33XzRufPfptKur631vAmxx58Qw7ALcXSG2atWq6NChA+bOnVv4Rfdh586d8PHxQaVKldChQwe89957qFy5MgAgOjoaXl5eSscEADp16gQ7OzscOHAATz31FKKjo9GmTRtpL6CIiAh88MEHuH37drGtZmeNxFw19BTilKCk517uLJVLylBDKHF35PYadrJ7VTsh5dVxUYcUpeapT5yqO9+WyvXYM1xJO2iekvIq/aMuDnfNX63jVit5wbeaa9W08UJouU6mY6guqWr9eke1vU1fk3vavs+rs40c04KkvKJCNJ+Gfauk5334hEGO6Wv2/DLWZF7Ew5PkEwYzk7Ycn2HyOsPZQeYuFAdw4TWiB5kGVoR1bNIS27K3t0fnzp3x999/w8vLq1jqtGpvnZLSpUsXPP300wgODsb58+cxceJEdO3a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", + "image/png": "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VlaIjo6WggoAcHJyMvoe+fuUCCEKtLGxsSlwjF6vN/djERGVOD5RISojwcHBOHDgAA4cOICgoCBlf2BgIHbv3o2jR48iODgYrVq1Qm5uLpKSklCvXj3pZSwd07BhQxw7dkzaZzjKqLhsbW2Rm5tr8nFERCWFgQpRGQkODsbhw4cRExOjPFEBHgYqq1atwoMHDxAcHIwGDRrg1VdfxbBhw7B9+3bExcUhKioKCxcuxK5duwo997hx47B69WqsW7cO58+fx7x583Dy5EmTR+7Url0bBw8exPXr1/HPP/881uclIjIHAxWiMhIcHIyMjAzUq1cPnp6eyv7AwECkp6ejbt268PX1BQCsWbMGw4YNw5QpU9CwYUMMGDAAv//+u1Kf36uvvooZM2Zg6tSpeOqppxAXF4cRI0bAzs7OpGucO3cuLl++jLp166J69ermf1giIjNpRGGJayKqcLp37w4vLy988803ZX0pRETFxs60RBXQ/fv38eWXX6Jnz56wsrLC5s2bsXfvXoSHh5f1pRERmYRPVIgqoIyMDPTv3x9//PEHMjMz0bBhQ7z//vsYNGhQWV8aEZFJGKgQERFRucXOtERERFRuMVAhIiKicouBChEREZVbDFSIiIio3GKgQkREROUWAxUiIiIqtxioEBERUbnFQIWIiIjKLQYqREREVG79f21YUrQFY2pnAAAAAElFTkSuQmCC", "text/plain": [ "
" ] diff --git a/Tutorial/amltk_search_space_parser_example.ipynb b/Tutorial/amltk_search_space_parser_example.ipynb index fe2038df..9a61c4b3 100644 --- a/Tutorial/amltk_search_space_parser_example.ipynb +++ b/Tutorial/amltk_search_space_parser_example.ipynb @@ -1285,18 +1285,18 @@ " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-3);\n", "}\n", - "
TPOTEstimator(classification=True, generations=2, max_eval_time_seconds=300,\n",
+       "
TPOTEstimator(classification=True, generations=2, max_eval_time_mins=300,\n",
        "              n_jobs=10, population_size=10, scorers=['roc_auc'],\n",
        "              scorers_weights=[1],\n",
        "              search_space=<tpot2.search_spaces.pipelines.sequential.SequentialPipeline object at 0x7d34ec1efbb0>,\n",
-       "              verbose=5)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.